diff --git a/software/firmware/project_oracle_test_firmware/d21/oracle_test_d21/.vs/oracle_test_d21/v14/.atsuo b/software/firmware/project_oracle_test_firmware/d21/oracle_test_d21/.vs/oracle_test_d21/v14/.atsuo index 8078cf30..241585c8 100644 Binary files a/software/firmware/project_oracle_test_firmware/d21/oracle_test_d21/.vs/oracle_test_d21/v14/.atsuo and b/software/firmware/project_oracle_test_firmware/d21/oracle_test_d21/.vs/oracle_test_d21/v14/.atsuo differ diff --git a/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/.vs/e54_gfx_learning/v14/.atsuo b/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/.vs/e54_gfx_learning/v14/.atsuo index a10afb02..5cdb4dad 100644 Binary files a/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/.vs/e54_gfx_learning/v14/.atsuo and b/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/.vs/e54_gfx_learning/v14/.atsuo differ diff --git a/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Config/pc_board.h b/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Config/pc_board.h index 7e78f833..50f6f46f 100644 --- a/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Config/pc_board.h +++ b/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Config/pc_board.h @@ -56,7 +56,7 @@ #define SSD1963_TFT_nRST_PORT GPIO_PORTA #define SSD1963_TFT_nRST_FUNCTION GPIO_PIN_FUNCTION_OFF #define SSD1963_TFT_nRST_DIRECTION GPIO_DIRECTION_OUT -#define SSD1963_TFT_nRST_PULL_MODE GPIO_PULL_DOWN +#define SSD1963_TFT_nRST_PULL_MODE GPIO_PULL_UP #define SSD1963_TFT_nRST GPIO(SSD1963_TFT_nRST_PORT, SSD1963_TFT_nRST_PORT_PIN) #define SSD1963_TFT_RSDC_PIN PIN_PA05 @@ -65,7 +65,7 @@ #define SSD1963_TFT_RSDC_FUNCTION GPIO_PIN_FUNCTION_OFF #define SSD1963_TFT_RSDC_DIRECTION GPIO_DIRECTION_OUT #define SSD1963_TFT_RSDC_PULL_MODE GPIO_PULL_DOWN -#define SSD1963_TFT_RSDC GPIO(SSD1963_TFT_RSDC_PORT, SSD1963_TFT_CS_PORT_PIN) +#define SSD1963_TFT_RSDC GPIO(SSD1963_TFT_RSDC_PORT, SSD1963_TFT_RSDC_PORT_PIN) #define SSD1963_TFT_CS_PIN PIN_PA06 #define SSD1963_TFT_CS_PORT_PIN 6 diff --git a/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/devices/display/p_ssd1963.o b/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/devices/display/p_ssd1963.o index 2f0e5666..0ffc204d 100644 Binary files a/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/devices/display/p_ssd1963.o and b/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/devices/display/p_ssd1963.o differ diff --git a/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/drivers/p_gpio.o b/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/drivers/p_gpio.o index 5cb3a716..4ae0b2c6 100644 Binary files a/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/drivers/p_gpio.o and b/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/drivers/p_gpio.o differ diff --git a/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/drivers/p_i2c.o b/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/drivers/p_i2c.o index acaa1ec2..db399e5b 100644 Binary files a/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/drivers/p_i2c.o and b/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/drivers/p_i2c.o differ diff --git a/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/drivers/p_tcc.o b/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/drivers/p_tcc.o index 251708c3..65b2daa5 100644 Binary files a/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/drivers/p_tcc.o and b/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/drivers/p_tcc.o differ diff --git a/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/drivers/p_usart.o b/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/drivers/p_usart.o index 4ce8d38b..47293889 100644 Binary files a/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/drivers/p_usart.o and b/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/drivers/p_usart.o differ diff --git a/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/e54_gfx_learning.bin b/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/e54_gfx_learning.bin index 18621545..743108b3 100644 Binary files a/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/e54_gfx_learning.bin and b/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/e54_gfx_learning.bin differ diff --git a/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/e54_gfx_learning.elf b/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/e54_gfx_learning.elf index b40d323a..106f376e 100644 Binary files a/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/e54_gfx_learning.elf and b/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/e54_gfx_learning.elf differ diff --git a/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/e54_gfx_learning.hex b/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/e54_gfx_learning.hex index 4722127a..7edaa734 100644 --- a/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/e54_gfx_learning.hex +++ b/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/e54_gfx_learning.hex @@ -1,8416 +1,10672 @@ -:10000000206E0120F50E0000F10E0000F10E000040 -:10001000F10E0000F10E0000F10E000000000000E3 -:10002000000000000000000000000000F10E0000D1 -:10003000F10E000000000000F10E0000F10E0000C3 -:10004000F10E0000F10E0000F10E0000F10E0000B4 -:10005000F10E0000F10E0000F10E0000F10E0000A4 -:10006000F10E0000F10E0000F10E0000F10E000094 -:10007000F10E0000F10E0000F10E0000F10E000084 -:10008000F10E0000F10E0000F10E0000F10E000074 -:10009000F10E0000F10E0000F10E0000F10E000064 -:1000A000F10E0000F10E0000F10E0000F10E000054 -:1000B000F10E0000F10E0000F10E0000F10E000044 -:1000C000F10E0000F10E0000F10E0000F10E000034 -:1000D000F10E0000F10E0000F10E0000F10E000024 -:1000E000F10E0000F10E0000000000000000000012 -:1000F00000000000211D0000F10E0000F10E0000C4 -:10010000F10E0000F10E0000F10E0000F10E0000F3 -:10011000F10E0000F10E0000D1250000E5250000E1 -:10012000F92500000D260000F10E0000F10E000080 -:10013000F10E0000F10E0000F10E0000F10E0000C3 -:10014000F10E0000F10E0000F10E0000F10E0000B3 -:10015000F10E0000F10E0000F10E0000F10E0000A3 -:10016000F10E0000F10E0000F10E0000F10E000093 -:10017000F10E0000F10E0000F10E0000F10E000083 -:10018000F10E0000F10E0000F10E0000F10E000073 -:10019000F10E0000F10E0000F10E0000F10E000063 -:1001A000F10E0000F10E0000F10E0000F10E000053 -:1001B000F10E0000F10E0000F10E0000F10E000043 -:1001C000F10E0000F10E0000F10E0000F10E000033 -:1001D000F10E0000F10E0000F10E0000F10E000023 -:1001E000F10E0000F10E0000F10E00009528000055 -:1001F000F10E0000F10E0000F10E0000F10E000003 -:10020000F10E0000F10E0000F10E0000F10E0000F2 -:10021000F10E0000F10E0000F10E0000F10E0000E2 -:10022000F10E0000F10E0000F10E0000F10E0000D2 -:10023000F10E0000F10E0000F10E0000F10E0000C2 -:10024000F10E0000F10E0000F10E0000F10E0000B2 -:10025000F10E0000F10E0000F10E0000F10E0000A2 -:10026000F10E000010B5054C237833B9044B13B1DF +:10000000086E0120790F0000750F0000750F0000C9 +:10001000750F0000750F0000750F00000000000054 +:10002000000000000000000000000000750F00004C +:10003000750F000000000000750F0000750F000034 +:10004000750F0000750F0000750F0000750F0000A0 +:10005000750F0000750F0000750F0000750F000090 +:10006000750F0000750F0000750F0000750F000080 +:10007000750F0000750F0000750F0000750F000070 +:10008000750F0000750F0000750F0000750F000060 +:10009000750F0000750F0000750F0000750F000050 +:1000A000750F0000750F0000750F0000750F000040 +:1000B000750F0000750F0000750F0000750F000030 +:1000C000750F0000750F0000750F0000750F000020 +:1000D000750F0000750F0000750F0000750F000010 +:1000E000750F0000750F0000000000000000000008 +:1000F00000000000711C0000750F0000750F00006B +:10010000750F0000750F0000750F0000750F0000DF +:10011000750F0000750F0000CD1E0000E11E0000ED +:10012000F51E0000091F0000750F0000750F00008C +:10013000750F0000750F0000750F0000750F0000AF +:10014000750F0000750F0000750F0000750F00009F +:10015000750F0000750F0000750F0000750F00008F +:10016000750F0000750F0000750F0000750F00007F +:10017000750F0000750F0000750F0000750F00006F +:10018000750F0000750F0000750F0000750F00005F +:10019000750F0000750F0000750F0000750F00004F +:1001A000750F0000750F0000750F0000750F00003F +:1001B000750F0000750F0000750F0000750F00002F +:1001C000750F0000750F0000750F0000750F00001F +:1001D000750F0000750F0000750F0000750F00000F +:1001E000750F0000750F0000750F000091210000D1 +:1001F000750F0000750F0000750F0000750F0000EF +:10020000750F0000750F0000750F0000750F0000DE +:10021000750F0000750F0000750F0000750F0000CE +:10022000750F0000750F0000750F0000750F0000BE +:10023000750F0000750F0000750F0000750F0000AE +:10024000750F0000750F0000750F0000750F00009E +:10025000750F0000750F0000750F0000750F00008E +:10026000750F000010B5054C237833B9044B13B15A :100270000448AFF300800123237010BD78000020F4 -:10028000000000003C0D02000C4B43B10C480D492E +:10028000000000003C9A02000C4B43B10C480D49A1 :1002900010B5AFF300800C48036823B910BD0A48BD :1002A000036833B97047094B002BF7D0BDE8104005 :1002B0001847064B002BF5D0184700BF0000000080 -:1002C0003C0D02007C0000203C0D020000000000FC -:1002D00070B58B4C1026A66132208A4DA847666106 -:1002E0003220A847A6613220A84700BF4026666199 -:1002F0000A20A847A6610520A8476661824B1B78A3 -:1003000023B923465E6101227F4B1A7001227F4987 -:100310007F48804B98477A4C4025A5611420794B43 -:1003200098476561784B1B7823B923465D610122AC -:10033000754B1A70012275497548764B9847704C79 -:100340004025A56114206F4B984765616E4B1B7863 -:1003500023B923465D6101226B4B1A7001226B4960 -:100360006B486C4B9847664C4025A5611420654B43 -:1003700098476561644B1B7823B923465D61012270 -:10038000614B1A70E22261496148624B98475C4BAD -:1003900040229A615A615C4B1B7823B1584B9A6199 -:1003A0000022594B1A70232258495948594B9847F3 -:1003B000534B40229A615A61534B1B7823B1504BE7 -:1003C0009A610022504B1A70022250495048514BFA -:1003D00098474B4B40229A615A614B4B1B7823B193 -:1003E000474B9A610022484B1A70542247494848AB -:1003F000484B9847424B40229A615A61424B1B78C6 -:1004000023B93F4B5A6101223F4B1A70E0223F490A -:100410003F48404B98473A4B40229A615A613A4BC9 -:100420001B7823B1364B9A610022374B1A70012298 -:1004300036493748374B9847314C4025A5616420F1 -:10044000354B98476561304B1B7823B923465D6176 -:1004500001222D4B1A70E0222C492D482D4B984734 -:10046000274B40229A615A61274B1B7823B1244BBA -:100470009A610022244B1A70032224492448254BF8 -:1004800098471F4C4025A56101201E4B9847656188 -:100490001D4B1B7823B923465D6101221A4B1A704C -:1004A00001221A491A481B4B9847154C4025A56153 -:1004B0000120144B98476561134B1B7823B92346E1 -:1004C0005D610122104B1A70E62210491048114B51 -:1004D00098470B4B40229A615A610B4B1B7823B112 -:1004E000074B9A610022084B1A70042207490848FA -:1004F000084B9847024B40229A615A610EE000BFB8 -:10050000008000413515000000000020F7C3031CE7 -:1005100080800041BD0F000015150000874B1B783F -:1005200023B1874B9A610022844B1A703A22854985 -:100530008548864B9847824B40229A615A617F4B8F -:100540001B7823B17E4B9A6100227C4B1A70B62235 -:100550007C497D487D4B9847794B40229A615A618E -:10056000764B1B7823B9764B5A610122734B1A7074 -:10057000B02274497448754B9847714B40229A6178 -:100580005A616E4B1B7823B16D4B9A6100226B4B05 -:100590001A7028226B496C486C4B9847684B402274 -:1005A0009A615A61654B1B7823B1654B9A610022B1 -:1005B000624B1A70802263496348644B9847604CD1 -:1005C0004025A561624B9847624B9847421E121224 -:1005D00065615A4B1B7823B123469D610021574B1F -:1005E0001970D2B257495848584B9847544C402537 -:1005F000A561574B9847574B9847421ED2B2656149 -:100600004E4B1B7823B123469D6100214B4B197043 -:100610004C494D484D4B9847494C4025A5614C4BA2 -:1006200098474D4B9847421E12126561434B1B7809 -:1006300023B123469D610021404B1970D2B241493C -:100640004148424B98473E4C4025A561404B984756 -:10065000414B9847421ED2B26561384B1B7823B19B -:1006600023469D610021354B197036493648374B7A -:100670009847334B40229A615A61304B1B7823B123 -:100680002F4B9A6100222D4B1A7000222D492E48C3 -:100690002E4B98472A4B40229A615A61274B1B7870 -:1006A00023B9274B5A610122244B1A70F0222549A5 -:1006B0002548264B9847224B40229A615A611F4B8E -:1006C0001B7823B11E4B9A6100221C4B1A70032227 -:1006D0001C491D481D4B9847194B40229A615A618D -:1006E000164B1B7823B9164B5A610122134B1A7013 -:1006F0003A2214491448154B9847114B40229A61ED -:100700005A610E4B1B7823B10D4B9A6100220B4BA3 -:100710001A7055220B490C480C4B9847084B402245 -:100720009A615A61054B1B7823B9054B5A61012226 -:10073000024B1A70B422034910E000BF00000020F1 -:1007400000800041F7C3031C80800041BD0F000002 -:100750008914010095140100BD1401008648874BDF -:100760009847874B40229A615A61864B1B7823B188 -:10077000834B9A610022834B1A70022282497E4881 -:100780007E4B98477E4B40229A615A617D4B1B7885 -:1007900023B17B4B9A6100227A4B1A700D227A4961 -:1007A0007548764B9847764B40229A615A61754B53 -:1007B0001B7823B1724B9A610022724B1A7000228F -:1007C00071496D486D4B98476D4B40229A615A6153 -:1007D0006C4B1B7823B16A4B9A610022694B1A70EB -:1007E0002B2269496448654B9847654B40229A61C2 -:1007F0005A61644B1B7823B1614B9A610022614BB3 -:100800001A70282260495C485C4B98475C4B402238 -:100810009A615A615B4B1B7823B1594B9A61002254 -:10082000584B1A70002258495348544B9847544B20 -:1008300040229A615A61534B1B7823B1504B9A6105 -:100840000022504B1A7000224F494B484B4B98479F -:100850004B4B40229A615A614A4B1B7823B1484B5B -:100860009A610022474B1A70002247494248434B85 -:100870009847434B40229A615A61424B1B7823B9F7 -:100880003F4B5A6101223F4B1A70B6223E493A480B -:100890003A4B98473A4B40229A615A61394B1B7840 -:1008A00023B1374B9A610022364B1A700122364928 -:1008B0003148324B9847324B40229A615A61314B52 -:1008C0001B7823B12E4B9A6100222E4B1A701D22E9 -:1008D0002D492948294B9847294B40229A615A6152 -:1008E000284B1B7823B1264B9A610022254B1A70A6 -:1008F000002225492048214B9847214B40229A61EC -:100900005A61204B1B7823B11D4B9A6100221D4B6D -:100910001A700C221C491848184B9847184B402253 -:100920009A615A61174B1B7823B1154B9A610022CB -:10093000144B1A70092214490F48104B9847104B5A -:1009400040229A615A610F4B1B7823B10C4B9A617C -:1009500000220C4B1A7000220B490748074B98479E -:10096000074B40229A615A61064B1B7883B1044BB6 -:100970009A6100220AE000BF80800041BD0F0000A4 -:100980000080004100000020F7C3031C864B1A7052 -:10099000002286498648874B9847874B40229A61B8 -:1009A0005A61814B1B7823B9834B5A6101227E4BDC -:1009B0001A702A227D497E487E4B98477E4B402202 -:1009C0009A615A61784B1B7823B17B4B9A61002264 -:1009D000754B1A70002275497548764B9847764BCF -:1009E00040229A615A61704B1B7823B1724B9A6115 -:1009F00000226D4B1A7000226C496D486D4B984770 -:100A00006D4B40229A615A61674B1B7823B16A4B48 -:100A10009A610022644B1A70012264496448654B54 -:100A20009847654B40229A615A615F4B1B7823B10E -:100A3000614B9A6100225C4B1A70DF225B495C4873 -:100A40005C4B98475C4B40229A615A61564B1B782D -:100A500023B9594B5A610122534B1A702B22534927 -:100A60005348544B9847544B40229A615A614E4B1D -:100A70001B7823B1504B9A6100224B4B1A70002215 -:100A80004A494B484B4B98474B4B40229A615A611D -:100A9000454B1B7823B1484B9A610022424B1A7098 -:100AA000002242494248434B9847434B40229A61B7 -:100AB0005A613D4B1B7823B13F4B9A6100223A4B60 -:100AC0001A70012239493A483A4B98473A4B40222A -:100AD0009A615A61344B1B7823B1374B9A610022DB -:100AE000314B1A700F2231493148324B9847324B03 -:100AF00040229A615A612C4B1B7823B92E4B5A61C4 -:100B00000122294B1A70292228492948294B984744 -:100B1000294B40229A615A61234B1B7823B9264BFB -:100B20005A610122204B1A70BE2220492048214BD5 -:100B30009847214B40229A615A611B4B1B7823B185 -:100B40001D4B9A610022184B1A700622174918484B -:100B5000184B9847184B40229A615A61124B1B78E8 -:100B600023B1154B9A6100220F4B1A70FF220F49D7 -:100B70000F48104B9847104B40229A615A610A4B1C -:100B80001B7823B10C4B9A610022074B1A7001228B -:100B900006490748074B9847074B40229A615A611C -:100BA000014B1B787BB109E000000020F7C3031C58 -:100BB00080800041BD0F000000800041184B9A6109 -:100BC0000022184B1A70FF2217491848184B9847F3 -:100BD000134B40229A615A61124B1B7823B1104B80 -:100BE0009A6100220F4B1A7000220F490F48104BD8 -:100BF00098470B4B40229A615A610A4B1B7823B1EC -:100C0000074B9A610022074B1A70012206490748D8 -:100C1000074B9847024B40229A619A6170BD00BF12 -:100C20000080004100000020F7C3031C80800041C9 -:100C3000BD0F00002DE9F84FB1F90430002B0FDB98 -:100C400081468A461546B1F90630002B08DBB1F91A -:100C50000040934B9847934B98470138844201DDFD -:100C6000BDE8F88FBAF902408D4B98478E4B9847F4 -:100C700001388442F4DCBAF9006026EAE676BAF973 -:100C8000024024EAE474A346BAF90470844B9847FE -:100C9000844B98470138874200F31681BAF90470F3 -:100CA000BAF906807E4B98477F4B984701388045BC -:100CB00000F31081BAF9068040227C4B5A617C4BCC -:100CC0001B7823B9794B5A610122794B1A702A2279 -:100CD00078497948794B9847744B40219961321291 -:100CE0005961734B1B7823B1704B99610021704B94 -:100CF0001970D2B26F497048704B98476B4B4021C6 -:100D00009961F2B259616A4B1B7823B1674B9961C3 -:100D10000021674B197067496748684B9847634BD8 -:100D2000402199613A125961614B1B7823B15F4BA5 -:100D3000996100215E4B1970D2B25E495E485F4BEB -:100D400098475A4B40229A615A61594B1B7823B1FC -:100D5000564B9A610022564B1A70FAB255495648C2 -:100D6000564B9847514B40229A615A61504B1B7821 -:100D700023B94E4B5A6101224D4B1A702B224D491B -:100D80004D484E4B9847494B402199614FEA2B22E1 -:100D90005961474B1B7823B1444B99610021444B67 -:100DA0001970D2B243494448444B98473F4B4021C5 -:100DB0009961E2B259613E4B1B7823B13B4B99617B -:100DC00000213B4B19703B493B483C4B9847374B04 -:100DD000402199614FEA28225961354B1B7823B194 -:100DE000324B99610021324B1970D2B231493248ED -:100DF000324B98472D4B40229A615A612C4B1B78FD -:100E000023B12A4B9A610022294B1A705FFA88F2AB -:100E100028492948294B9847244B40229A615A6116 -:100E2000234B1B7823B9214B5A610122204B1A70A6 -:100E30002C2220492048214B984740221B4B9A6185 -:100E4000BAF804300133BAF800209B1A9BB2184A52 -:100E500012782AB14021154A91610021144A11707B -:100E60004021124A5161C6F101063E44B6B2D8454E -:100E70000EDB5F00DFF83CB0DFF848A033462A46BF -:100E800059460D48D0473D44013424B2A045F5DA17 -:100E90004022064B9A614846094B9847E0E600BF5E -:100EA0008914010095140100BD1401000080004167 -:100EB00000000020F7C3031C80800041BD0F00002C -:100EC00055150100E90F0000064B9847064B98475F -:100ED000471EE5E6034B9847044B984700F1FF385F -:100EE000EAE600BF8914010095140100BD14010059 -:100EF000FEE7000008B51C4B1C4A9A4210D01C4B60 -:100F0000194A9A420CD2013B9B1A23F00303043383 -:100F10001344164951F8040B42F8040B9A42F9D1D4 -:100F2000144B154A9A420AD2013B9B1A23F0030341 -:100F300004331344002142F8041B9342FBD10F4BAE -:100F40000F4A22F07F029A60D3F8882042F47002A0 -:100F5000C3F88820BFF34F8FBFF36F8F094B9847BB -:100F6000094B9847FEE700BF000000203C0D02003F -:100F700074000020206E00207800002000ED00E0CA -:100F800000000000C5AE0100B528000010B45300F9 -:100F900003F47C73540104F47034234302F0070417 -:100FA0002343520302F0E0521A4302EA0103836131 -:100FB00021EA020141615DF8044B7047F8B5074C26 -:100FC00040256561064B9847802767610120054EE3 -:100FD000B047A7610120B047A561F8BD008000417E -:100FE0008D0F0000151500008BB12DE9F8431D464B -:100FF00090460F4606460024DFF8149042463946D4 -:101000003046C8470134AC42F8D1BDE8F883704798 -:10101000BD0F00002DE9F04F83B08B4600924001D8 -:10102000C3B201930026DFF8949165E009EBC71382 -:101030005D60AAB242F080429A622A0C42F04042BD -:101040009A62009B1B78012B77D023B3022B00F010 -:101050008480892257490020574B984724E009EBA8 -:10106000C7125560ABB243F0804343F40033936240 -:101070002B0C43F0404343F400339362E1E709EB68 -:10108000C7139D60AAB242F080429A622A0C42F0D5 -:1010900040429A62D5E709EBC713434493F84020D6 -:1010A00002F0FB0283F84020009B5A686409B2F109 -:1010B000FF3F62D0E4B209EBC411414491F84030E3 -:1010C00003F0FE0343F0010381F840301AF0010FF2 -:1010D0005ED109EBC41404EB580898F8303003F0E3 -:1010E000F00302F00F021A4388F8302009EBC7170B -:1010F0007D610136202E59D0F4B22BFA06F313F09D -:10110000010FF6D004F01F04019B1C445FFA84FA1F -:101110004FEA5A170AF01F08012505FA08F5009B47 -:101120005B78012B9BD0002B80D0022BA7D04622CE -:1011300020490020204B984783E7012303FA08F356 -:1011400009EBC712536002EB080090F8401041F021 -:10115000040180F840109361A6E7012303FA08F325 -:1011600009EBC712536002EB080090F8401041F001 -:10117000040180F84010536196E7E4B209EBC4140F -:10118000A04498F8403003F0FE0388F84030ADE703 -:1011900009EBC41404EB580898F8303003F00F033F -:1011A00043EA0212D2B288F830209FE703B0BDE8CC -:1011B000F08F00BF60AF0100891A0000008000417D -:1011C00070B582B00023009302238DF801308DF8B2 -:1011D00000304FF0FF3301936A4643490120434BEF -:1011E0009847434B40229A60424E9E624FF04041E6 -:1011F00099625A6093F8460040F0040083F8460074 -:101200005A6193F8460000F0FE0083F8460010256E -:101210009D603948986299625D6093F8440040F09F -:10122000040083F844005D6193F8440000F0FE0080 -:1012300083F8440008249C603048986299625C609E -:1012400093F8430040F0040083F843005C6193F896 -:10125000430000F0FE0083F843009A609E629962AA -:101260005A6093F8460040F0040083F846005A6143 -:1012700093F8460000F0FE0083F846008020986056 -:1012800040369E629962586093F8471041F004011D -:1012900083F84710586193F8471001F0FE0183F876 -:1012A00047104FF48071C3F8841106F5003680367C -:1012B000C3F8A861124EC3F8A861C3F8841193F86B -:1012C000C86146F0040683F8C861C3F8941193F826 -:1012D000C81101F0FE0183F8C8119A619D619C61FB -:1012E000986102B070BD00BFF7C3031C1510000069 -:1012F0000080004140000040100000400800004015 -:10130000000002C008B51F4B4022C3F8E020432272 -:10131000C3F88C201C4A936943F4806393611B4992 -:101320001B481C4B98471C4B93F8562002F0FB02BD -:1013300083F8562093F8562002F0FE0242F0010294 -:1013400083F8562093F83B2002F0F00242F00202AC -:1013500083F83B2093F8572002F0FB0283F85720D4 -:1013600093F8572002F0FE0242F0010283F8572062 -:1013700093F83B2002F00F0242F0200283F83B205A -:1013800008BD00BF001C00400008004000400141B3 -:10139000006C0020B51500000080004108B506492A -:1013A000D1E90023013243F10003C1E90023012008 -:1013B000024B984708BD00BF98000020ED150100C2 -:1013C00010B51148114B9847114A536943F48043B3 -:1013D000536140220F4BC3F8A4200F4B98470F4C8A -:1013E00002460F4920460F4B98470F4901230B61D6 -:1013F0000E4A4A610B76083120460D4B984720462D -:101400000C4B984710BD00BF10E000E00115000034 -:1014100000080040001C00404F280000206C002005 -:1014200000380040FD160000980000209D130000C9 -:10143000751700003917000030B583B01F4B4022EC -:10144000C3F8DC204322C3F88C201D4A936943F47F -:10145000007393611B4C0023009310231A4A1B490D -:1014600020461B4DA8471B4B93F8D82002F0FE02E4 -:1014700042F0010283F8D82093F8BC2002F0F00279 -:1014800042F0030283F8BC2093F8D92002F0FE0258 -:1014900042F0010283F8D92093F8BC2002F00F0239 -:1014A00042F0300283F8BC2020460B4B98470C22B8 -:1014B0000A4920460A4B984703B030BD001C004043 -:1014C000000800403C6C0020B400002000200141D6 -:1014D000CD190000008000415D1A000004000020CA -:1014E000F5150000EFF31083036072B6BFF35F8F52 -:1014F0007047BFF35F8F036883F310887047000065 -:1015000008B5024B1860024B984708BDC400002084 -:101510003D1C000010B5044B1C68044B9847014665 -:101520002046034B984710BDC4000020051C000056 -:10153000411C000010B5044B1C68044B9847014641 -:101540002046034B984710BDC40000201D1C00001E -:10155000411C000010B584B014460389ADF8043076 -:1015600002924FF40043ADF80630039101A91438FC -:10157000034B9847002808BF204604B010BD00BFA9 -:10158000B520000010B584B014460389ADF80430CE -:10159000029248F20103ADF80630039101A9143814 -:1015A000034B9847002808BF204604B010BD00BF79 -:1015B000B520000038B50D4604465E2208490030CB -:1015C00018BF0120074B984729462046064B9847ED -:1015D000034618B9054AA261054A6261184638BD3A -:1015E0007CAF0100891A00008520000085150000ED -:1015F0005515000070B50D461646044660B1081C2E -:1016000018BF012034220549054B9847236832460C -:1016100029462046984770BD0020F3E798AF0100A7 -:10162000891A0000F8B5844607682FB18D683C46DA -:101630000026C2F1010E0BE00E4B9847F8BD734433 -:10164000A0680344AB420AD22368264653B11C4625 -:1016500063689342F3D8A06803449B1AF2E7A74259 -:1016600004D034462046044B9847F8BD6046014BF1 -:101670009847F8BDB11A0000DD1A00002DE9F047C7 -:101680004469076901370761037E13F0010F13D125 -:10169000037E13F0020F0FD154B36368FB1AA268E4 -:1016A000934207D3064600F11408DFF84890DFF8AC -:1016B00048A012E0BDE8F087037E43F00203037602 -:1016C000BDE8F0877569E3682046984785B12C46E8 -:1016D0006B68FB1AAA6893420AD34046C847237C2A -:1016E000012BEFD167603A4621464046D047E9E7F3 -:1016F000BDE8F087E51A00002516000038B50D4654 -:10170000044678B1081C18BF01203B220649074B4C -:10171000984729462046064B984700202061054BF4 -:10172000236038BD0020F0E7ACAF0100891A00004B -:10173000812600007D16000010B504465322094999 -:10174000003018BF0120084B98472046074B9847A8 -:1017500020B92046064B9847002010BD6FF01000BE -:1017600010BD00BFACAF0100891A00003D28000089 -:101770002928000070B582B00D46044618B3081C35 -:1017800018BF01207A221E491E4B9847237E43F042 -:101790000103237604F11406294630461A4B984774 -:1017A00098B923696B60226929463046174B9847E0 -:1017B000237E03F0FE032376237E13F0020F10D165 -:1017C000002002B070BD0020DCE7237E03F0FE03A2 -:1017D00023767F220A4900200A4B98476FF01100B8 -:1017E000EFE701A80A4B9847237E03F0FD03237619 -:1017F0002046084B984701A8074B98470020E0E790 -:10180000ACAF0100891A00008F1A000025160000F5 -:10181000E514000055280000F314000008B500236B -:101820008362C3691BB1A0F108021046984708BD46 -:1018300008B500238362436A1BB1A0F10802104679 -:10184000984708BD38B50446A0F108052C30034B75 -:101850009847236A0BB12846984738BD851B00007E -:1018600070B50E4615460446E0B1E9B1101C18BF2C -:10187000012040F23B120F490F4B9847B4F8442027 -:10188000B4F84C309A4211D1A664A4F84C5000230D -:10189000A4F844300123236304F10800074B984760 -:1018A000284670BD0020E4E70020E2E76FF01B004F -:1018B00070BD00BFC4AF0100891A00007320000092 -:1018C00010B50446838FB0F844209A4209D0026CC8 -:1018D000591C8187D15C044B98472046034B98479D -:1018E00010BD034B984710BD6D2000007320000011 -:1018F0007B2000002DE9F04782B00F469046064657 -:10190000A0B199B1002A2DD14FF4AC722949002021 -:10191000294B984701A8294B984706F13400284BDA -:10192000984701A8274B984700253EE04FF4AC723A -:1019300020490020204B984701A8204B984706F1EA -:10194000340A50461E4B9847814601A81D4B9847C4 -:10195000B9F1000F04D0B8F1000F19D1002524E02F -:10196000002522E04FF4AC7212490120124B984737 -:1019700001A8124B984706F1340A5046104B98477D -:10198000814601A80F4B98470025B9F1000F0CD0F4 -:1019900000240D4E601C85B239195046B047013401 -:1019A0004C4502D2A3B29845F4D8284602B0BDE80F -:1019B000F08700BFC4AF0100891A0000E5140000E1 -:1019C000C51B0000F3140000411B0000F8B50D46D4 -:1019D00016461F46044620B329B332B3181C18BF5D -:1019E00001203A221349144B98473A46314604F1F4 -:1019F0003400124B9847D0B9294604F10800104B27 -:101A00009847034658B90F4A62600F4A22600F4A4E -:101A1000A2600F4AE2600F4A22610F4A62611846D3 -:101A2000F8BD0020DDE70020DBE70020D9E76FF0FC -:101A30000C03F4E7C4AF0100891A0000F11A00009A -:101A4000D51F0000F518000061180000C118000043 -:101A5000451800001D1800003118000010B504469C -:101A600061220649003018BF0120054B984704F158 -:101A70000800044B9847002010BD00BFC4AF010010 -:101A8000891A00005920000000B900BE70470368A1 -:101A90004BB18B4209D01B681BB19942FBD101208D -:101AA00070470020704700207047012070470000F9 -:101AB00038B504460D46064B984780F001003922A0 -:101AC0000449C0B2044B984723682B60256038BD99 -:101AD0008F1A0000E4AF0100891A000003680B6050 -:101AE0000160704703680BB11A68026018467047BE -:101AF00070B50E461546044678B181B1A2B10120F9 -:101B000028220D490D4B98476B1E1D4209D1636079 -:101B10000020A060E060266070BD0020F0E700209B -:101B2000EEE76FF00C0070BD282203490020034B44 -:101B300098476B1EEBE700BF04B00100891A000054 -:101B400038B50D460446A0B1081C18BF012040223C -:101B50000A490B4B9847A368E2689A420BD0626827 -:101B600013402268D35C2B70A3680133A36000206C -:101B700038BD0020EBE76FF0090038BD04B001006C -:101B8000891A000038B50D46044651220B49003031 -:101B900018BF01200A4B9847E36862681340226827 -:101BA000D554E3686168A2689A1A8A4284BF591AB8 -:101BB000A1600133E360002038BD00BF04B0010024 -:101BC000891A000010B5044667220549003018BF85 -:101BD0000120044B9847E068A368C01A10BD00BFFD -:101BE00004B00100891A0000430900F01F0001221F -:101BF00002FA00F04033024A42F82300704700BF67 -:101C000000E100E0C0EBC00000EB00100230024B2E -:101C1000A3FB003040087047ABAAAAAAC0EBC000E3 -:101C200000EB00100230044BA3FB003040084FF4DF -:101C30007A7303FB00F07047ABAAAAAA70470000B2 -:101C40000139FDD8704700BF08B5094A13889BB217 -:101C500043F4A0631380074B9847074B9847074B03 -:101C60009847074B984740F6FF70064B984708BDCA -:101C700000400041B91C0000D91C0000AD1C000050 -:101C8000DD1C0000891C000010F0010F08D0054A7F -:101C9000054B1A62194643F6FD724B681342FCD19C -:101CA000704700BF07010100001C00400122014BEA -:101CB0005A71704700080040064B42F28E329A82F9 -:101CC00000229A75DA75DA6902F47C52DA6101222F -:101CD0001A74704700140040704700000E4A0F4B02 -:101CE0005A631A46D36B13F0060FFBD10B4B4FF41C -:101CF00002629A63022283F830201A46D36B13F0F3 -:101D0000020FFBD1054B1A6C12F0010F03D11A6CB4 -:101D100012F0020FF7D070474D0E01000010004086 -:101D200000B583B00D4B9B78DBB20193019B13F0A0 -:101D3000020F06D00A4B1B681BB1084A506898472F -:101D400009E0019B13F0010F05D0054B5B6813B14F -:101D5000024A5068984703B05DF804FB0000024156 -:101D60008C6C002070B489B006466C460D4D0FCDCA -:101D70000FC495E80F0084E80F00009BB3420DD01C -:101D8000314601AB012053F8042B8A4207D00130C1 -:101D90000828F8D1002009B070BC70470020C0B2FC -:101DA000F9E700BF28B0010010B58469237E13F065 -:101DB000010F03D0A37D13F0010F12D1237E13F086 -:101DC000020F03D0A37D13F0020F0FD1237E13F077 -:101DD000040F15D0638B03F0370363B1FF236383D4 -:101DE00010BD012323750368984710BD0223237596 -:101DF0008368984710BDA16A4368C9B2984710BD6F -:101E0000237EDB0900D110BD80232376C368984769 -:101E1000638B9BB26383F6E708B5034B984780005A -:101E20002E3000F0FE0008BD651D000010B5044610 -:101E3000214B9847022805D040F26B221F49002011 -:101E40001F4B9847E36913F0010F19D1E36913F0B1 -:101E5000030FFBD1236813F0020F0BD0236823F08C -:101E600002032360E36913F0030FFBD1E36913F06E -:101E7000020FFBD105232360E36913F0030FFBD1AD -:101E8000E36913F0010FFBD10E4B2360E36913F0FC -:101E9000030FFBD14FF440336360E36913F01F0F6E -:101EA000FBD1094BA3604FF61143A3810020A0731F -:101EB00084F8300010BD00BF651D000060B0010057 -:101EC000891A0000040010400200700008B5074B9A -:101ED0009847032808D040F2CE3205490020054B30 -:101EE00098474FF0FF3008BD002008BD651D000079 -:101EF00060B00100891A000038B505460C46084656 -:101F0000324B9847C0B2E36913F0010F22D100EBC6 -:101F100040032F4A02EBC3035A6A02F01C02E36932 -:101F200013F0030FFBD1236813F0020F0BD02368CB -:101F300023F002032360E36913F0030FFBD1E3698D -:101F400013F0020FFBD142F001022260E36913F0AB -:101F5000030FFBD1E36913F0010FFBD100EB40034A -:101F60001B4A02EBC3035A6A2260E36913F0030FB2 -:101F7000FBD100EB4003164901EBC3039B6A63608E -:101F8000E36913F0040FFBD100EB4003104901EBB0 -:101F9000C303DB6AE360C2F30163AB81626A22F4CC -:101FA0008042012B94BF0023012342EA8333636202 -:101FB000E36913F0040FFBD100EB4000044B03EB8B -:101FC000C000438EEB81002038BD00BFCD1E000055 -:101FD00028B0010070B50D460646CB2218490030E6 -:101FE00018BF0120174B98472846174B98470446BF -:101FF00008B1204670BDB561144B9D4204BF144B1F -:102000001E602846134B9847011DC9B2012500F0F8 -:102010001F0205FA02F243099B0003F1604303F536 -:102020006143C3F88020BFF34F8FBFF36F8FC3F8B6 -:1020300080211A600130C0B28142E8D1D9E700BFE7 -:1020400060B00100891A00002D1E0000002001412F -:10205000C8000020191E00008269136843F00203C3 -:102060001360D36913F0030FFBD170478369996242 -:102070007047836901229A757047836902229A75B5 -:102080007047000038B50D4604464FF4A862064973 -:10209000003018BF0120054B98472561294620468E -:1020A000034B984738BD00BF60B00100891A00009B -:1020B000F91E00002DE9F84305460E46046910F1AB -:1020C000000818BF4FF00108DFF8C4924FF4BF6258 -:1020D00049464046AD4FB847286940F2F952494653 -:1020E000003018BF0120B84740F2FA524946301C70 -:1020F00018BF0120B8476B8813F4807F40F0188226 -:1021000073889BB243F48073738096E8070085E878 -:102110000700636843F480736360E36913F0040F9E -:10212000FBD12F69D7F8009040F2CD529849404634 -:10213000964B98476B68012B5ED07B6823F4802315 -:102140007B60FB6913F0040FFBD12B8813F4806FC5 -:102150005ED06A8812F0010F04D06A8892B242F40D -:1021600080626A8040F2FE7202EA4302FB6913F069 -:10217000040FFBD17B6A03F4804343F40043134311 -:102180007B62FB6913F0040FFBD129690B7EDBB284 -:102190004FF6FF7213F0030F03D10B7EDBB2013A4F -:1021A000F8D13968FA6912F0040FFBD17A8B92B238 -:1021B00013F0010F00F0A38012F0020F3CD00123B6 -:1021C0003B766B889BB243F480536B806B8823F41F -:1021D00080731B041B0C6B8002F00102002A14BFE9 -:1021E0006FF004006FF003006B8823F480731B040E -:1021F0001B0C6B80BDE8F88319F0006F9DD07B68E5 -:1022000043F480237B60FB6913F0040FFBD19CE750 -:1022100069885A00D2B201F001031A43FB6913F036 -:10222000040FFBD17B6A03F480431A437A62FB6993 -:1022300013F0040FFBD1A8E712F0040F1DD16B8837 -:1022400013F4806F37D02B88DB0903F00602FB699B -:1022500013F0040FFBD17B6A03F4804343F0F103D6 -:1022600013437B62FB6913F0040FFBD16B8823F4EB -:1022700080631B041B0C6B8069E06B68002B04DD22 -:102280006B889BB243F480536B806B8813F4004FD0 -:1022900008D16B8823F480731B041B0C6B806FF0D8 -:1022A0000100A1E77B6843F440337B60FB6913F0D6 -:1022B000040FFBD1EDE76B689BB96B8813F4004FFB -:1022C00006D16B8823F480731B041B0C6B803EE0EB -:1022D0007B6843F440337B60FB6913F0040FFBD150 -:1022E000EFE7AB681B78BB62FB6913F0040FFBD10F -:1022F000AB680133AB606B68013B6B6027E013F0A8 -:10230000020F24D06B68002B3AD012F0040F37D1A3 -:10231000C1F3C061013B6B60002B40F00D810029CF -:1023200000F010816B8813F4004F18D16B8823F4F0 -:1023300080731B041B0C6B80AA68531CAB60FB6989 -:1023400013F0040FFBD1BB6A137002233B7600220B -:10235000104602276FF0010C4FF0010EB0E07B68D1 -:1023600023F480737B60FB6913F0040FFBD17B685F -:1023700043F440337B60FB6913F0040FFBD1D5E7D6 -:1023800002233B766FF001002EE700BF891A0000A0 -:1023900060B00100636843F440336360E36913F0A5 -:1023A000040FFBD1A1E012F0040F1ED16B8813F4CF -:1023B000806F37D02B88DB0903F00602E36913F046 -:1023C000040FFBD1636A03F4804343F0F10313432A -:1023D0006362E36913F0040FFBD16B8823F480631D -:1023E0001B041B0C6B8002466AE06B68002B04DD4B -:1023F0006B889BB243F480536B806B8813F4004F5F -:1024000007D16B8823F480731B041B0C6B8062461E -:1024100056E0636843F440336360E36913F0040FEC -:10242000FBD1EEE76B68A3B96B8813F4004F07D1BB -:102430006B8823F480731B041B0C6B8002463FE007 -:10244000636843F440336360E36913F0040FFBD126 -:10245000EEE7AB681B78A362E36913F0040FFBD1CE -:10246000AB680133AB606B68013B6B60024627E0F1 -:1024700013F0020F57D06B68002B51D012F0040FED -:102480004ED1C1F3C061013B6B60002B40F08C80EA -:10249000002900F08F806B8813F4004F2FD16B88D8 -:1024A00023F480731B041B0C6B80AA68531CAB6065 -:1024B000E36913F0040FFBD1A36A13702776024679 -:1024C0006B8813F4807F30D029690B7EDBB24FF626 -:1024D000FF7213F0030F42D10B7EDBB2013AF8D149 -:1024E000738813F4004F7FF455AF6B8823F4807327 -:1024F0001B041B0C6B806FF00400BDE8F88363685D -:1025000023F480736360E36913F0040FFBD1636805 -:1025100043F440336360E36913F0040FFBD1BEE77B -:1025200027766246CCE70246CAE71046BDE8F88344 -:102530006FF00500BDE8F883012B7FF4FDAE0029A4 -:102540003FF4FAAE7B6843F480237B60FB6913F0B1 -:10255000040FFBD16B68002B3FF4E4AEECE621687E -:10256000E26912F0040FFBD1628B92B213F0010FFB -:102570003FF47EAF12F0020F3FF415AF84F818E07D -:102580006B889BB243F480536B806B8823F4807319 -:102590001B041B0C6B8002F00102002A14BF6FF0B9 -:1025A00004026FF003028BE7012B7FF47EAF00295A -:1025B0003FF47BAF636843F480236360E36913F007 -:1025C000040FFBD16B68002B3FF465AF6DE700BFD4 -:1025D00008B5024B1868024B984708BDC800002098 -:1025E000A91D000008B5024B1868024B984708BDAA -:1025F000C8000020A91D000008B5024B1868024B56 -:10260000984708BDC8000020A91D000008B5024B6E -:102610001868024B984708BDC8000020A91D00009B -:1026200070B588B006466C46124D0FCD0FC495E8C4 -:102630000F0084E80F00009BB3420BD0304601AA84 -:10264000012352F8041B814205D00133082BF8D135 -:1026500000200BE0002313F0FF0F09D04FF49E720F -:1026600005490020054B98474FF0FF3008B070BD7A -:102670000020FBE77CB00100B0B00100891A000027 -:1026800070B506460C460846604B98470546F46010 -:102690008D225F4901205F4B9847236913F0010F9A -:1026A00019D1236913F0030FFBD1236813F0020F34 -:1026B0000BD0236823F002032360236913F0030F78 -:1026C000FBD1236913F0020FFBD10123236023699F -:1026D00013F0030FFBD1236913F0010FFBD105EBBE -:1026E00085034D4A02EB83035A6A2260236913F083 -:1026F000030FFBD105EB8503474901EB830393F8F7 -:102700002A10E1731B8DE3800123237302F00C0276 -:10271000082A48D0002A58D105EB85033E4A02EB2F -:1027200083039B8DA383236913F0C00FFBD1002388 -:10273000E383236913F0C00FFBD101236372374B8E -:102740009C4204BF364B1E6005EB8503324A02EB08 -:102750008303B3F92230002B23DB5A0903F01F0354 -:10276000012101FA03F320322E4941F82230BFF350 -:102770004F8FBFF36F8F05EB8505274B03EB850567 -:10278000B5F92230002B0CDB590903F01F0301229D -:1027900002FA03F3234A01F1600042F8203042F8C4 -:1027A0002130002070BD05EB85031B4A02EB83033B -:1027B000DB6AE361236913F0C00FFBD100232362BE -:1027C000236913F0C00FFBD1B7E7042AB5D105EB9D -:1027D0008503114A02EB830393F82C302377236996 -:1027E00013F0C00FFBD100236377236913F0C00FF0 -:1027F000FBD105EB8503084A02EB830393F82B30EA -:10280000E376236913F0200FFBD196E72126000021 -:10281000B0B00100891A00007CB00100003800400F -:10282000CC00002000E100E0C268136843F002031E -:102830001360136913F0030FFBD17047C26813696B -:1028400013F0030FFBD11068C0F340007047002065 -:102850007047000010B5C068094B9847044640F225 -:102860000F1208490120084B984704EB8404074BDA -:1028700003EB840494F82200054B984710BD00BF79 -:1028800021260000B0B00100891A00007CB00100D0 -:10289000E91B000008B5064B1868C3689A7A12F065 -:1028A000010F00D108BD01229A7203689847F9E729 -:1028B000CC00002008B5024B9847024CA047FDE72A -:1028C000C92800007529000030B58DB0174B984716 -:1028D000174B9847174B9847174B9847174B9847F4 -:1028E000174B9847174B9847174C4FF496530022B5 -:1028F00016492046164DA84701A8164B9847164B77 -:102900000493029401A8154B98470020144B984754 -:102910000021144B9847044623225A21124B984712 -:1029200012492046124B98470DB030BD491C00009B -:102930003914000005130000C1110000C11300008C -:10294000452F0000D102000050260020D0000020BA -:1029500019130100B9120100350C000039130100F0 -:10296000292A000035A50100C53A0000C4B00100C5 -:1029700035A2010008B50120024B9847024B984749 -:1029800008BD00BF35150000753D0100003018BFBF -:1029900001207047F0B5C3B0054614461C4B98475C -:1029A000E5282CD8064602AF024629463846194B80 -:1029B0009847BD192023BB5528236B703023AB707B -:1029C0007823EB70291D1C22134824FA02F303F02C -:1029D0000F0303441B7D01F8013B043A12F1040F7D -:1029E000F3D129232B7300236B7302AB00930B4BA2 -:1029F000BC220B4903200B4CA04743B0F0BD00950F -:102A0000064BBF2206490320064CA047F5E700BF4E -:102A10004FAF0100FD2B0100D0B00100F8B0010064 -:102A20000CB101000528010008B1C06B704710B55A -:102A300082B0084B984710B1C06B02B010BD064B76 -:102A40000093064B2E2206490220064CA047002088 -:102A5000F3E700BF89140100E8B2010014B20100DD -:102A6000BCB201000528010008B1006C704710B528 -:102A700082B0084B984710B1006C02B010BD064BF5 -:102A80000093064B4B2206490220064CA04700202B -:102A9000F3E700BF8914010024B3010028B201004C -:102AA000BCB201000528010008B1406C704710B5A8 -:102AB00082B0084B984710B1406C02B010BD064B75 -:102AC0000093064B5C2206490220064CA0470020DA -:102AD000F3E700BF8914010060B3010040B20100B8 -:102AE000BCB2010005280100A0B138B5034600249E -:102AF000094D93F8342002F02002002A18BF1C462A -:102B00001846A84703460028F3D114B12046034BCA -:102B1000984738BD704700BF053300003D3A0000BC -:102B20002DE9F84F037D13F0010F2AD117468A468D -:102B30000646C4684FF001090025DFF8C480AB46A3 -:102B40004AE0337D13F0100F00D1D5B9B9F1000F71 -:102B500017D03046D0470446002D35D0D94646E040 -:102B6000F368A3420DD093B11868C36900221721FE -:102B70009847F36800220E2118681E4B98470128D9 -:102B800001D0BDE8F88FF36818681B4B9847F460D4 -:102B90002068C369002216219847F36800220D219E -:102BA0001868144B98470128EBD1F3681868134B49 -:102BB0009847F3681868104B98473369002BE0D0AA -:102BC00030469847BDE8F88F0028DAD00546D94648 -:102BD0002068C0470028C3D0002CB2D0002D08BF09 -:102BE000254621463046B8470446A842C9D0002CA5 -:102BF000EED1F1E755310000A9390000E92A0000C3 -:102C00002D38000008B518210148024B984708BD2F -:102C1000086E0020A124010008B5024A0249034BB6 -:102C2000984708BD6525010051250100212B0000B2 -:102C300008B5024A0249034B984708BD9125010097 -:102C40005B250100212B000038B50446037DC3F34A -:102C5000001543F01003037513F0080F0CBF044B6D -:102C6000044B9847237D65F30413237538BD00BFDB -:102C7000192C0000312C000000284FD0F0B583B093 -:102C800005460C460746264B98470146A0B1036807 -:102C90009C4207D0234E3846B047014660B10B68CE -:102CA000A342F8D1204B0093204B752220490120EC -:102CB000204CA04703B0F0BDA36B73B120461E4B60 -:102CC000984750B1A06B1D4B98471D4B0093174B75 -:102CD0007F2217490120174EB047A5632846194B9C -:102CE00098470646184B984758B1002EE2D03460FA -:102CF00028460B4B98478642DCD128460F4B984715 -:102D0000D8E70A4B0093852209490320094CA047C4 -:102D1000324600230D480E498847FEE7704700BF42 -:102D20005125010065250100CCB401007CB40100EF -:102D300090B401000528010081560000492C0000D4 -:102D400008B50100052501008D290000BCB4010073 -:102D5000952900002DE9F041D0F83880B8F1000F36 -:102D600051D0D8F80C30002B4DD005461B68984246 -:102D70001ED046464046254B98470446002842D080 -:102D800003689D4209D0224F21463046B847044689 -:102D9000002838D023689D42F6D1214640461D4B7D -:102DA000984720461C4B98470023AB63BDE8F08151 -:102DB00098F8143013F0010F05D098F814306FF321 -:102DC000000388F814304046104B9847D8F80C3070 -:102DD00083420BD04046114B9847D8F80C301B6803 -:102DE0009D4204BF0023C8F80C30C2E740460C4B9C -:102DF0009847D8F80C309842ECD10068C36900229B -:102E000017219847E9E7BDE8F08100BF512501008F -:102E1000652501003D2601006D2A0100492C0000B6 -:102E20005B25010018B1C3681BB11868704700200A -:102E300070470020704718B1007DC0F34000704714 -:102E400000207047014B5868704700BF742600206F -:102E5000F8B5B0B1034690F8502042F0020280F875 -:102E60005020184A5268904204D039B1DA6B91422E -:102E700004D0F8BD0020134A1060F6E70022DA63A0 -:102E8000F8BD0C460020104B984703460028F0D0B0 -:102E90000C4D00270C4E05E0DF631846B047034693 -:102EA0000028E6D093F8502042F0020283F8502028 -:102EB0006A689A4208BF2F60002CEDD0DA6B94420A -:102EC000EBD1E9E774260020C915010008B50021FF -:102ED0000846014B984708BD512E0000014B186869 -:102EE000704700BF742600202DE9F04789469046C0 -:102EF00000F1040A5046114B9847E0B104461FFA0E -:102F000089F61FFA88F50E4F238A33442382638A99 -:102F10002B446382A38A3344A382E38A2B44E38253 -:102F2000424649462046FFF7DFFF21465046B84754 -:102F300004460028E8D1BDE8F08700BF5125010014 -:102F40006525010030B585B0214B1B78002B36D1AB -:102F5000204B9847204B9847204B9847204B984749 -:102F6000204B984710212048204CA047204B02932B -:102F70000193009302224FF01F014FF600001D4DF8 -:102F8000A8471D4B98471D4B98474FF4B8711C48F4 -:102F9000A04760211B48A0471B4B98471B4B9847F5 -:102FA00001201B4B98470120094B1870194B0093C7 -:102FB000194BA22219491A4CA04705B030BD194B34 -:102FC0000093154B782215490220154CA047F4E7D1 -:102FD0007C26002065290100953B0100212201008B -:102FE00045180100052C0000586D0020A1240100A7 -:102FF00010000020F170010079470100FD6300001E -:10300000B46C0020A86C0020CD2E000069050100E2 -:10301000D5F9000000BD01003CB50100C0BC0100B5 -:1030200005280100E8BC010030B583B004460D4618 -:103030000C4B984738B194F8343065F3000384F8AA -:10304000343003B030BD084B00934FF4B4620749ED -:103050000320074DA8472246002306480649884713 -:10306000FEE700BF8D290000B0B50100C0BC010023 -:103070000528010020BD0100952900002DE9F0413F -:1030800086B0074615461E460C4621B10846284B19 -:103090009847002833D0039400238DF8103005930F -:1030A000244B5B6803B10593224B03AA5A60D3F803 -:1030B00008809E60204B984718B183680BB1294661 -:1030C000984717B129462046B8471A4BC3F80880DD -:1030D0005A6892685A609DF81030F3B90CB394F8AE -:1030E000343013F0400F1ED02068F0B1324629462C -:1030F000124B9847012814BF002001200EE0104B0E -:1031000000934FF4DB620F4903200F4DA84722467E -:1031100000230E480E498847FEE7002006B0BDE8B0 -:10312000F0810120FAE70120F8E70120F6E700BF6F -:103130008D2900007C260020452E0000553100001E -:1031400080B60100C0BC01000528010020BD0100BF -:1031500095290000E8B170B582B0044616460D46C8 -:103160000D4B984768B90D4B009340F2C4620C496F -:1031700003200C4DA847224600230B480B498847E3 -:10318000FEE733462A462146A069094CA04702B013 -:1031900070BD0120704700BF8D29000094B601006A -:1031A000C0BC01000528010020BD010095290000D8 -:1031B0007D30000030B583B004460D46094B98477A -:1031C00010B1E56103B030BD074B009340F21B72B4 -:1031D00006490320064DA847224600230548064914 -:1031E0008847FEE78D290000A4B60100C0BC01009D -:1031F0000528010020BD01009529000020B110B56F -:10320000C4691CB1A04710BD01207047012010BD4A -:1032100030B583B004460D46094B984710B125627E -:1032200003B030BD074B009340F2377206490320CC -:10323000064DA84722460023054806498847FEE771 -:103240008D290000BCB60100C0BC010005280100AA -:1032500020BD01009529000030B583B004460D461D -:103260000D4B984768B90D4B009340F249720C49D9 -:1032700003200C4DA847224600230B480B498847E2 -:10328000FEE72946606A0A4B9847034600B1606230 -:10329000184603B030BD00BF8D290000D4B6010030 -:1032A000C0BC01000528010020BD010095290000D7 -:1032B000412E010030B583B004460C4B984768B9E5 -:1032C0000B4B009340F259720A4903200A4DA8475C -:1032D0002246002309480A498847FEE70022628601 -:1032E000E36906212046984703B030BD8D290000D0 -:1032F000F0B60100C0BC01000528010020BD01009E -:103300009529000030B583B004460A4B984710B1A8 -:10331000206803B030BD084B009340F29F7207490C -:103320000320074DA8472246002306480649884740 -:10333000FEE700BF8D2900000CB70100C0BC0100F2 -:103340000528010020BD01009529000030B583B09B -:1033500004460E4B984708B10D4D0EE00D4B0093FF -:1033600040F26B720C4903200C4DA8472246002303 -:103370000B480C498847FEE71C462046A8470346F1 -:103380000028F9D1204603B030BD00BF8D290000D0 -:103390000533000020B70100C0BC01000528010072 -:1033A00020BD0100952900002DE9F04383B00446BB -:1033B000224B984780B123681BB12046204B984789 -:1033C00004462048204B9847054660B3DFF87890C4 -:1033D0001E4EDFF8708012E01D4B009340F27F72AA -:1033E0001C4903201C4DA847224600231B481C49AA -:1033F0008847FEE729464046B047054698B105F1A3 -:1034000030073846C84701460028F3D0844206D02A -:103410003846B04701460028ECD08C42F8D1284607 -:1034200003B0BDE8F0830F4B0093094B4FF4F262F9 -:1034300008490220084CA0470025F0E78D2900002C -:103440004D330000B46C00205125010065250100BA -:1034500034B70100C0BC01000528010020BD0100F7 -:103460009529000030BD010030B583B004460D46FB -:103470000D4B984730B19DB12946201D0B4B984705 -:1034800003B030BD0A4B009340F2AD7209490320EE -:10349000094DA84722460023084809498847FEE706 -:1034A000201D084B9847EBE78D290000652501009A -:1034B00044B70100C0BC01000528010020BD010087 -:1034C000952900005125010030B583B005460C4612 -:1034D0000E4B984760B105F10F0204F10800234636 -:1034E00012F8011F03F8011B8342F9D103B030BD6C -:1034F000074B009340F6010206490320064CA04703 -:103500002A460023054806498847FEE78D29000022 -:10351000BCB70100C0BC01000528010020BD0100AE -:103520009529000030B583B004460F4B984768B921 -:103530000E4B009340F622020D4903200D4DA84783 -:10354000224600230C480D498847FEE720460C4BD5 -:103550009847034628B1208A1B8AC01A00B203B0DC -:1035600030BDB4F91000FAE78D290000D0B7010092 -:10357000C0BC01000528010020BD01009529000004 -:103580000533000030B583B004460F4B984768B947 -:103590000E4B009340F636020D4903200D4DA8470F -:1035A000224600230C480D498847FEE720460C4B75 -:1035B0009847034628B1608A5B8AC01A00B203B0FC -:1035C00030BDB4F91200FAE78D290000E0B7010020 -:1035D000C0BC01000528010020BD010095290000A4 -:1035E0000533000030B583B004460C4B984730B12A -:1035F000A08A0130238AC01A00B203B030BD084B44 -:10360000009340F64A0207490320074DA847224687 -:103610000023064806498847FEE700BF8D290000C1 -:10362000F0B70100C0BC01000528010020BD010069 -:103630009529000030B583B004460C4B984730B153 -:10364000E08A0130638AC01A00B203B030BD084B73 -:10365000009340F6560207490320074DA84722462B -:103660000023064806498847FEE700BF8D29000071 -:1036700004B80100C0BC01000528010020BD010004 -:103680009529000009B92830704700B583B08DF83E -:103690000010002301936A460821044B9847012833 -:1036A0000CBF0198002003B05DF804FBFD31000061 -:1036B0002DE9F84F80468A4693461E461C481D4B0E -:1036C0009847002831D00546B0422ED0DFF86090F0 -:1036D000194F09E0AB885B4514D0BBF1FF0F11D047 -:1036E0001CB32546A64220D029464846B847044682 -:1036F00028684045F4D1A9795145EBD0BAF1FF0FC4 -:10370000EED1E7E70D4B98470D4B9847A9880D4B35 -:103710009847002128460C4B9847294648460B4BB2 -:10372000984728460A4B9847DAE7BDE8F88F00BF6C -:10373000586D00205B2501009125010085360000B1 -:103740008F760000956D0000D11801003D26010024 -:103750006D2A010030B583B004460D460B4B9847E7 -:1037600048B10B4B98470023FF2229462046094CBD -:10377000A04703B030BD084B0093084B40F2924283 -:1037800007490220074CA047F3E700BF8536000039 -:10379000A1760000B13600007CBD0100C8B8010070 -:1037A000C0BC010005280100F8B504681748184B93 -:1037B000984708B301460027144E164D03E03046E3 -:1037C000A847014678B18C42F9D00A6823689A422A -:1037D000F5D14B6823F07F42636823F07F439A4220 -:1037E00008BF0127EBE73FB1214608480A4B98473D -:1037F00020460A4B9847F8BDA1792068084B9847A6 -:10380000084B9847A188084B9847EDE7586D002072 -:1038100051250100652501003D2601006D2A0100AA -:10382000853600008F760000956D000030B583B0BE -:1038300004460B4B984728B194F83400C0F30010AD -:1038400003B030BD074B009340F6412206490320E8 -:10385000064DA84722460023054806498847FEE74B -:103860008D29000018B90100C0BC01000528010025 -:1038700020BD0100952900002DE9F04186B00446E5 -:103880000E463A4B984768B9394B00934FF4F072A3 -:1038900038490320384DA847224600233748384985 -:1038A0008847FEE72046374B984710B106B0BDE881 -:1038B000F0812046344B98470746344B98470546DD -:1038C000334B9847874209D02846324B9847874266 -:1038D00004D02846304B98478742E7D1B4F93230BC -:1038E00004F10F0204F1170002A912F8017F01F898 -:1038F000017B8242F9D19BB2BDF80820D21AADF803 -:103900000820BDF80A20D21AADF80A20BDF80C2014 -:103910001A44ADF80C20BDF80E201344ADF80E305B -:1039200002AA314604A81D4B98470028BED0204665 -:103930001B4B9847044698B1DFF86080114F184E32 -:1039400004F1100204A90846C0470028AED0204662 -:10395000B8470028AAD12046B04704460028EFD136 -:1039600004A928460F4B9847A0E700BF8D29000007 -:103970002CB90100C0BC01000528010020BD0100D8 -:10398000952900002D3800004D330000A9330000B8 -:10399000292A0000692A0000A92A0000C11A010092 -:1039A000053300000164000030B585B004461C4BAF -:1039B000984738B3B4F9323004F10F0204F1170517 -:1039C00002A912F8010F01F8010BAA42F9D19BB22A -:1039D000BDF80820D21AADF80820BDF80A20D21A86 -:1039E000ADF80A20BDF80C201A44ADF80C20BDF843 -:1039F0000E201344ADF80E3002A92046094B98471B -:103A000005B030BD084B009340F20D22074903205A -:103A1000074DA84722460023064807498847FEE786 -:103A20008D2900007938000044B90100C0BC0100B4 -:103A30000528010020BD010095290000F0B583B0E4 -:103A40000546164B984768B9154B009340F2622221 -:103A500014490320144CA0472A4600231348144954 -:103A60008847FEE72846134B98470446061D304614 -:103A7000114B984785420FD02046104FB84701237D -:103A80002A46314630460E4EB047E3692A460121A8 -:103A9000204698472046B84703B0F0BD8D29000066 -:103AA00058B90100C0BC01000528010020BD01007B -:103AB000952900000533000051250100A9390000B7 -:103AC000C92601002DE9F04784B004468A4617460E -:103AD0002D4B984700283ED02668002E49D0338AC7 -:103AE000228A9B1A53441FFA83FA0FFA8AF8758ABE -:103AF000638AED1A3D44ADB20FFA85F9B8F1000FB3 -:103B000002D1B9F1000F23D02046204FB84702A9B7 -:103B100020461F4B9847238A53442382638A2B44B1 -:103B20006382A38A5344A382E38A1D44E5824A4602 -:103B300041462046174B9847E36902AA02212046D6 -:103B40009847F36922460121304698472046B847F6 -:103B500004B0BDE8F087104B009340F296220F4965 -:103B600003200F4DA847224600230E480E498847E0 -:103B7000FEE70E4B0093084B4FF4277207490220D3 -:103B8000074CA047E4E700BF8D290000A9390000D9 -:103B9000C9340000E92E000088B90100C0BC010052 -:103BA0000528010020BD010095290000B4BD0100D9 -:103BB00030B583B004460D460D4B984768B90D4BA0 -:103BC00000934FF433720C4903200C4DA847224652 -:103BD00000230B480B498847FEE720460A4B9847CD -:103BE000024629462046094B984703B030BD00BF26 -:103BF0008D29000098B90100C0BC01000528010012 -:103C000020BD01009529000085350000C53A00005F -:103C100030B583B004460D460D4B984768B90D4B3F -:103C200000934FF436720C4903200C4DA8472246EE -:103C300000230B480B498847FEE720460A4B98476C -:103C40002A4601462046094B984703B030BD00BFC5 -:103C50008D290000A8B90100C0BC010005280100A1 -:103C600020BD01009529000025350000C53A00005F -:103C70002DE9F04385B004460D4690461F46BDF938 -:103C800030602C4B984768B92B4B009340F26D3253 -:103C90002A4903202A4DA8472246002329482A49B9 -:103CA0008847FEE78DB12846224B984790B9224BB2 -:103CB000009340F2713221490320214CA0472A464B -:103CC0000023204820498847FEE720461F4B98479D -:103CD0000546E8E703AB424604F1100105F1100088 -:103CE000DFF87090C8472046184B9847B0F912305B -:103CF000BDF80E203244BDF80C103944008A091A70 -:103D000009B2ADF80C10D21A12B2ADF80E2020464E -:103D10000F4B984784F84880A4F84470A4F8466094 -:103D2000256494F849306FF3410384F8493005B0B5 -:103D3000BDE8F0838D290000B8B90100C0BC0100C6 -:103D40000528010020BD0100952900000533000071 -:103D5000C53A0000CD1D01002DE9F04F85B0814628 -:103D60000E4692460393BDF938B0A34B984768B905 -:103D7000A24B009340F29532A1490320A14CA047E9 -:103D80004A460023A048A1498847FEE74846A04B81 -:103D90009847054648469F4B9847044648469E4BE1 -:103DA000984700EBD07040F34F0848469B4B98472C -:103DB00000EBD07040F34F07EEB130468E4B984782 -:103DC000F0B1BAF1140F39D8DFE81AF028005C001E -:103DD00062006D0076007F008D009900A500B400A0 -:103DE000BA00C500CE00D700E500F100F7000301DE -:103DF0000C012E013D014846894B98470646DCE7F9 -:103E00007E4B009340F2A1327D4903207D4CA047B8 -:103E1000324600237C487D498847FEE730467E4B8A -:103E2000984700EBD070C8EB60052DB230467B4B55 -:103E3000984700EBD070C7EB600424B24846784B3B -:103E40009847318A039F39442944038AC91A728AE0 -:103E50005A442244438AD21A12B209B24846714BDC -:103E6000984789F848A0A9F84470A9F846B0C9F85D -:103E7000406099F8493043F0020389F8493005B0B1 -:103E8000BDE8F08FC8F100052DB27C4224B2D5E721 -:103E90003046614B984700EBD070C8EB60052DB2FF -:103EA0007C4224B2CAE730465B4B9847A0EB08003F -:103EB00005B27C4224B2C1E7C8F100052DB23046FC -:103EC000564B9847C01B04B2B8E73046524B984750 -:103ED00000EBD070C8EB60052DB230464F4B9847D1 -:103EE000C01B04B2AAE730464B4B9847A0EB080032 -:103EF00005B23046494B9847C01B04B29EE7C8F153 -:103F000000052DB23046454B984700EBD070C7EB0B -:103F1000600424B292E730463F4B9847A0EB08007C -:103F200005B230463D4B984700EBD070C7EB6004BC -:103F300024B283E7C8F100052DB27C4224B27DE7AC -:103F40003046354B984700EBD070C8EB60052DB27A -:103F50007C4224B272E730462F4B9847A0EB080012 -:103F600005B27C4224B269E7C8F100052DB23046A3 -:103F70002A4B9847C01B04B260E73046264B98474F -:103F800000EBD070C8EB60052DB23046234B98474C -:103F9000C01B04B252E730461F4B9847A0EB080005 -:103FA00005B230461D4B9847C01B04B246E7C8F126 -:103FB00000052DB27C4224B240E7C8F100052DB2C5 -:103FC0003046164B984700EBD070C7EB600424B224 -:103FD00034E7C8F100052DB23046104B9847C01B9E -:103FE00004B22BE730460C4B9847A0EB080005B213 -:103FF0007C4224B222E700BF8D290000C8B901002D -:10400000C0BC01000528010020BD01009529000069 -:104010002535000085350000E53500003536000007 -:1040200005330000C53A000030460D4B9847A0EB21 -:10403000080005B230460B4B984700EBD070C7EB39 -:10404000600424B2FAE63046054B9847A0EB08001E -:1040500005B23046034B9847C01B04B2EEE600BFE2 -:10406000E53500003536000030B583B00446124B0C -:10407000984790B194F8493013F0020FB4F94430E6 -:1040800094F84820B4F946100091216C204614BFE2 -:104090000A4C0B4CA04703B030BD0A4B009340F2D2 -:1040A0002A4209490320094DA8472246002308480F -:1040B00008498847FEE700BF8D290000593D0000F0 -:1040C000713C0000DCB90100C0BC01000528010002 -:1040D00020BD0100952900002DE9F0410646002190 -:1040E0000D4B9847B0B104460C4D4FF000080A4FF5 -:1040F0002046A847E36942460421204698472046C7 -:10410000A8472046FFF7E8FF21463046B847044657 -:104110000028EDD1BDE8F08169340000A939000024 -:1041200030B583B005460C46364B984798B1712C94 -:1041300046D8702C23D2412C1BD8402C1FD2022CE5 -:1041400005D3072C1BD9A4F11003082B17D9284637 -:104150002D4B98472FE02D4B009340F21D522C49D8 -:1041600003202C4CA0472A4600232B482B49884784 -:10417000FEE7532C21D8502C01D24C2CE7D12846F5 -:10418000214B9847EB690022042128469847152CBB -:1041900009D3182C01D9FF2C05D1286818B1C3699F -:1041A0000022012198472846174B9847FF2C24D01E -:1041B00014F4004F21D103B030BD5C2CC7D1DEE731 -:1041C0007F2C0CD948F281039C4211D848F280031D -:1041D0009C42D4D2902CD2D0FF2CB8D1CFE77E2CE9 -:1041E000CDD2732CB3D3752CC9D97C2CAFD1C6E7F3 -:1041F00048F28E039C42AAD1C1E72846084B984753 -:10420000D9E700BF8D290000A9390000ECB90100F1 -:10421000C0BC01000528010020BD01009529000057 -:10422000D940000010B50446034B9847FF212046B3 -:10423000024B984710BD00BF5537000021410000D8 -:104240002DE9F84304460F460026DFF888803546FE -:10425000DFF8849005E0FF213846C8470136402E3C -:1042600022D0F1B23846C0478646E8B1017900292C -:10427000F4D090F805C00CF0060C0023DAB2BCF1C3 -:10428000060F04BF0132D2B28A423ABFDEF8000004 -:1042900050F822202A469442DDD0002CDBD0013396 -:1042A000DAB28A42EAD3D9E700213846084B984768 -:1042B000054650B1064E29462046FFF7C1FF294664 -:1042C0003846B04705460028F5D1BDE8F88300BF61 -:1042D0006934000085360000214100002DE9F047D7 -:1042E000804600200F4B9847C8B18146DFF840A0B8 -:1042F0000D4F0E4E09F130052846D047044640B117 -:1043000021464046B84721462846B0470446002883 -:10431000F6D14846034B984781460028EAD1BDE8CC -:10432000F08700BF611501004142000065250100D2 -:1043300051250100F8B504460D4681790068424BCD -:104340009847424B9847A18801F00F03082B19DCCE -:1043500045B9B4F908203E4B9847A18820683D4BE9 -:104360009847F8BDFF2D0AD0B4F90820B4F90C30F5 -:104370009B1A05FB03F502EB252212B2EBE7B4F919 -:104380000C20E8E70B2B43DC002D05DDFE2D05DDC1 -:10439000A289314B9847E0E72289FAE7EDB2C5F1EF -:1043A000FF02637BDB08667AF60802FB06F605FB74 -:1043B000036303EB032703EBC713C3F3C457A389BA -:1043C000C3F345132689C6F3451602FB06F605FB23 -:1043D000036303EB032603EBC613C3F3C556237B2A -:1043E00003F01F0394F808E00EF01F0E02FB0EF21C -:1043F00005FB032505EB052305EBC315ED0D4FF07C -:10440000000265F3040266F34A1267F3CF22C0E7A5 -:104410000D2B12DC002D05DDFE2D05DD227B0F4B63 -:1044200098479AE7227AFAE7227A237B9B1A05FBC0 -:1044300003F502EB2522D2B2F1E77F2DD4BFA268AB -:10444000E268074B984788E7853600008F760000C2 -:10445000896E000021410000CD6F00001171000045 -:104460004172000030B583B004460A4B984710B142 -:10447000002003B030BD084B009340F6B12207493D -:104480000320074DA84722460023064806498847CF -:10449000FEE700BF8D290000BCBA0100C0BC0100CE -:1044A0000528010020BD010095290000F0B583B06A -:1044B0000D46064688B19D4B9847002840F0648120 -:1044C0009B4B0093ED229B4903209B4CA047324617 -:1044D00000239A489A498847FEE79A4B984748B97B -:1044E000994B0093924BCF2292490220924CA047C5 -:1044F0003446F5E13030954B984704468B4B98474E -:1045000060B98B4B0093D4228A4903208A4DA84777 -:10451000224600238E488A498847FEE7002C00F097 -:10452000DF814C2120468B4B984794F835306FF350 -:10453000051384F83530884BE361884B23620027EC -:10454000A761278267823846854B98470138A08249 -:104550003846844B98470138E0824C21201D824B1D -:1045600098470023638684F8303084F8313084F82B -:104570004830A4F84430A4F84630236494F8492025 -:1045800063F3000284F84920A36394F8342002F016 -:104590007F0242F0010294F83510032060F34301DA -:1045A00084F83C3002F0C10263F3861284F83420B0 -:1045B00041F0010184F8351084F83D30636204F164 -:1045C00028073846694B9847002D00F06C8105F1AB -:1045D00028013846664B984705F10F0204F118018F -:1045E00004F1100312F8010F03F8010B8B42F9D10B -:1045F000B5F93230638695F8303084F8303095F86C -:10460000313084F8313095F8483084F84830B5F9C5 -:104610004430A4F84430B5F94630A4F846302B6C49 -:10462000236495F8492094F8493062F3000384F834 -:104630004930AB69A36195F83430DB0994F8342034 -:1046400063F3C71284F8342095F8342094F834309A -:1046500062F3000384F8343095F83430C3F3400338 -:1046600094F8342063F3410284F8342095F835300F -:10467000C3F3420394F8352063F3430284F83520F2 -:1046800095F83430C3F3800394F8342063F3820246 -:1046900084F8342095F83430C3F3C003D2B263F306 -:1046A000C30284F8342095F83430C3F30013D2B237 -:1046B00063F3041284F8342095F83430C3F34013C4 -:1046C000D2B263F3451284F8342095F83430C3F342 -:1046D0008013D2B263F3861284F8342095F83C300C -:1046E00084F83C3095F8352094F8353062F30003B7 -:1046F00084F83530A86B10B121461E4B98472846E8 -:104700001D4B9847002800F0D980002E00F0DF8074 -:1047100028461A4B984707462846194B98470246A1 -:1047200039462046174B9847C9E000BF8D29000045 -:10473000D0BA0100C0BC01000528010020BD010065 -:1047400095290000891401001CBE0100B924010054 -:10475000BCB40100DF300100AD5F0000715A000001 -:1047600095140100BD140100A1240100916A00000C -:1047700011770000792C000005330000253500007A -:1047800085350000C53A0000301D574B9847044658 -:10479000564B9847002847D0002C00F0A1804C21B0 -:1047A0002046534B9847266094F835306FF3051335 -:1047B00084F835304F4BE3614F4B23620020A061FA -:1047C000B6F912306382778A4C4B9847322303FB49 -:1047D00000F35033B3F5A07F33DA01233B44E38287 -:1047E0002046474B984701283AD0B6F9103023822B -:1047F000378A0020414B9847642303FB00F3503372 -:10480000B3F5A07F4DDB00203C4B9847642303FBAE -:1048100000F350333B4A82FB0312DB17C3EBA213B6 -:104820009BB23B44A38298E6374B0093F022374972 -:104830000320374DA847224600233648364988478B -:10484000FEE700202D4B9847322303FB00F3503343 -:104850002C4A82FB0312DB17C3EBA2139BB2BDE70A -:10486000B6F91430A382B78A0020244B98476423FA -:1048700003FB00F35033B3F5A07F10DB00201F4B88 -:104880009847642303FB00F350331E4A82FB031254 -:10489000DB17C3EBA2139BB2FB1A23825DE6012355 -:1048A000FAE70123BDE726B1022120461B4B9847BA -:1048B00005E001212046194B984708E03EB1F36915 -:1048C00022460121304698472046154B9847154B04 -:1048D00000930D4B40F287120C4901200C4DA84764 -:1048E000204603B0F0BD00BFB92401008D290000AF -:1048F000DF300100AD5F0000715A0000E5140100D7 -:104900006544000067666666D0BA0100C0BC01005D -:1049100005280100BCB40100952900009147010061 -:10492000A93900006CBE01002DE9F04184B00446B5 -:104930000D461646324B984768B9324B009340F209 -:10494000E52231490320314DA84722460023304853 -:1049500030498847FEE720462F4B9847A8423FD072 -:1049600020462E4B984702A920462D4B9847731E90 -:10497000628A1344E38220462A4B9847012835D0A7 -:104980006B1E228A1344A382E36902AA02212046F5 -:1049900098472046244B984718B1C5692246012103 -:1049A000A847261D3046214B9847054668B14FF071 -:1049B00003081F4FEB6902AA41462846984729463B -:1049C0003046B84705460028F4D12046134B984797 -:1049D00094F8493013F0010F0ED104B0BDE8F08116 -:1049E0002046144B9847B042BAD1F6E7C5F101030F -:1049F000A28A13442382C7E720460F4B9847ECE76F -:104A00008D290000F4BA0100C0BC01000528010096 -:104A100020BD010095290000E5350000A9390000FE -:104A2000C934000065440000053300005125010031 -:104A300065250100353600006940000030B583B0BF -:104A400004460D460D4B984768B90D4B009340F254 -:104A500027320C4903200C4DA847224600230B485F -:104A60000B498847FEE720460A4B98472A460146ED -:104A70002046094B984703B030BD00BF8D29000088 -:104A800018BB0100C0BC01000528010020BD0100C9 -:104A900095290000E53500002949000030B583B0B4 -:104AA00004460D460C4B984738B194F83C301D42F3 -:104AB00014BF0120002003B030BD084B009340F626 -:104AC000D72207490320074DA8472246002306485E -:104AD00006498847FEE700BF8D29000040BB010062 -:104AE000C0BC01000528010020BD0100952900007F -:104AF00030B585B004460D46114B984728B13F2D7F -:104B000011D894F83D0005B030BD0E4B009340F62F -:104B1000DE220D4903200D4DA847224600230C48F4 -:104B20000C498847FEE78DF80C5000238DF80D30B6 -:104B300003AA09212046084B98479DF80D00E2E79B -:104B40008D29000054BB0100C0BC010005280100F4 -:104B500020BD010095290000FD3100002DE9F04F36 -:104B600085B0174660B30D464FEA122B0646DFF8B4 -:104B70008CA0DFF88C90DFF88C8006E0BDF90E0089 -:104B800005B0BDE8F08F0025DEB129463046D0479C -:104B9000019029463046C84707EB002084B20DF14A -:104BA0000E0221460198C0470128E7D01BF0800F74 -:104BB00007D0002DE7D130460F4B98470646E2E775 -:104BC000144624F4FE44A4B2222C0FD006D8032CA1 -:104BD0000AD0072C0CD14FF48070D1E7312C09D0CA -:104BE000C02C05D11020CBE70620C9E7FF20C7E77E -:104BF0000020C5E70F20C3E705330000853600001D -:104C0000F14A00008D7800002DE9F04F85B017467D -:104C100048B30D464FEA122B0646DFF86CA0DFF8CA -:104C20006C90DFF86C8004E0BDF80C0025E00025F6 -:104C3000D6B129463046D047019029463046C8476C -:104C400007EB002084B203AA21460198C04701283F -:104C5000EAD01BF0800F07D0002DE8D13046084B7A -:104C600098470646E3E7144624F4FE44293C012C09 -:104C70009ABF044BB3F87406002005B0BDE8F08F6E -:104C8000053300003CB5010085360000F14A000004 -:104C9000517900002DE9F04F85B0174650B30D460D -:104CA0004FEA122B0646DFF874A0DFF87490DFF8A5 -:104CB000748004E09DF80F0029E00025DEB129464C -:104CC0003046D047019029463046C84707EB0020C0 -:104CD00084B20DF10F0221460198C0470128E9D0A6 -:104CE0001BF0800F07D0002DE7D130460A4B9847C4 -:104CF0000646E2E7144624F4FE44A4B26D2C09D023 -:104D000048F2AD039C4205D02C2C03D0FF2005B007 -:104D1000BDE8F08F0020FAE705330000853600007B -:104D2000F14A0000157A00002DE9F04F85B01746D2 -:104D300050B30D464FEA122B0646DFF880A0DFF88D -:104D40008090DFF8808005E0039805B0BDE8F08F23 -:104D50000025D6B129463046D04701902946304635 -:104D6000C84707EB002084B203AA21460198C04738 -:104D70000128E9D01BF0800F07D0002DE8D1304684 -:104D80000B4B98470646E3E7144624F4FE44A4B2CE -:104D9000BE2C0AD048F28E039C4203D07E2C01D058 -:104DA0000020D2E7034B9847CFE70348CDE700BF89 -:104DB0000533000085470100E40602008536000047 -:104DC000F14A0000D97A000070B50468A58805F0A2 -:104DD0000F03082B13DD0B2B18DD0D2B1DDD2A46D1 -:104DE000A1792068104B9847A0600023A380234638 -:104DF0002A46A17920680D4EB047A58070BD2A468D -:104E0000A17920680A4B98472081EEE72A46A179CC -:104E10002068084B98472081E7E72A46A179206857 -:104E2000054B98472072E0E7294D0000B13600009D -:104E30005D4B0000094C0000954C000090F83D309F -:104E40008B4200F052822DE9F04FA1B08946824694 -:104E5000AB4B984740B19AF83DB08AF83D9000239B -:104E60000693A84DD846D2E1A74B009340F2376293 -:104E7000A6490320A64CA04752460023A548A649B0 -:104E80008847FEE7737943F0040373718AF83D8025 -:104E90002246DDF80CB059465046A84707468AF826 -:104EA0003D902246CDF80CB059465046A84783465F -:104EB00073796FF38203737187424AD08AF83D8019 -:104EC000224603995046A84706468AF83D90024676 -:104ED00021460498914B9847012C00F0948090480B -:104EE000904B98470746864B9847002800F0A280D1 -:104EF000002F2ED03E81A7F80CB0C7F800A0BC80D0 -:104F00009DF80C30BB7110A8874B98471097874BC2 -:104F10001193874B1293874B139300231693FF2310 -:104F200017930A9B1893099B5B421993089A531E87 -:104F3000D01D14AA13F8011F02F8011B8342F9D1F6 -:104F40009DF876306FF300038DF8763010A87A4B19 -:104F50009847059B10AA934200F05481059B33F8B3 -:104F6000024B0593002CF4D00798744B9847039993 -:104F70005046734B98470646724B9847049004F08E -:104F80000F03082B7FF77EAF0B2B61DD0D2B00F39A -:104F9000E980737943F0040373718AF83D802246F7 -:104FA000DDF80CB059465046674FB8470B908AF869 -:104FB0003D902246CDF80CB059465046B84783463E -:104FC00073796FF3820373710B9B8342C1D08AF8AC -:104FD0003D80224603995046B84706468AF83D90E0 -:104FE000024621460498594B98474D484D4B9847E7 -:104FF0000746434B9847002874D0002FA9D03E7233 -:1050000087F80CB079E747F6FF739E4200F04C81B9 -:105010009B457FF464AF5046DFF844B1D84700EBBE -:10502000D07040F34F075046D84700EBD07040F3A4 -:105030004F0351E1464B009340F6B26233490320DF -:10504000334CA0473A460023424833498847FEE79D -:10505000737943F0040373718AF83D802246039903 -:1050600050463D4FB84783468AF83D902246039903 -:105070005046B847ADF82C0073796FF38203737113 -:105080001FFA8BFB83B29B453FF463AF8AF83D80E8 -:10509000224603995046B84783468AF83D90024617 -:1050A000214604982D4B98471D481E4B98470746AC -:1050B000134B984740B1002F3FF44BAFA7F808B00F -:1050C000BDF82C30BB8118E7214B009340F6C66237 -:1050D0000E4903200E4CA0473A4600231D480E49B6 -:1050E0008847FEE71A4B009340F6DB62074903202E -:1050F000074CA0473A460023164807498847FEE771 -:105100008D2900005D4B0000B4BB0100C0BC010054 -:105110000528010020BD010095290000896E0000CE -:10512000586D0020B92401008D180100354300009E -:10513000C94D0000A937000049190100DD770000C2 -:10514000853600008F760000954C0000117100003C -:10515000C8BB0100BCB40100094C0000CD6F0000C9 -:10516000E53500008AF83D80737943F004037371DC -:105170002246DDF80CB0594650465C4FB8470C90BB -:105180008AF83D902246CDF80CB059465046B847B3 -:10519000834620A941F8400D73796FF38203737140 -:1051A00004220CA8524B984700283FF4D2AE8AF84C -:1051B0003D80224603995046B84706460C908AF82F -:1051C0003D900246214604984A4B98474A484B4B2B -:1051D000984707464A4B984730B1002F3FF4B9AE85 -:1051E000BE60C7F80CB088E6464B009340F6EF620D -:1051F00045490320454CA0473A46002344484549C9 -:105200008847FEE7069B01330693402B45D09DF867 -:1052100018300393194650463F4B98470790002893 -:105220003BD0437913F0080FECD1B022039C214608 -:105230005046A8470A90B12221465046A8470990F7 -:10524000BE2221465046294B98470890B22221465B -:105250005046A847ADF83400B32221465046A8472F -:10526000ADF83600B42221465046A847ADF83800C4 -:10527000B52221465046A847ADF83A00B62221464D -:105280005046A847ADF83C00B72221465046A847F3 -:10529000ADF83E000DAB059360E6FF2150461F4B75 -:1052A000984721B0BDE8F08F50461D4EB04700EB47 -:1052B000D07040F34F075046B04700EBD07040F33A -:1052C0004F035E1C7A1C9642A8BF164636B247F6BC -:1052D000FF7293457FF403AE03F1010B0137BB4529 -:1052E000A8BFBB460FFA8BFBF9E57047294D0000BC -:1052F0000DAF010041720000586D0020B92401007B -:105300008D290000C8BB0100C0BC010005280100B8 -:10531000BCB4010095290000853600002141000041 -:10532000E535000030B583B005460C460D4B984777 -:1053300050B195F83D3043EA04018B4202D0284633 -:10534000094B984703B030BD084B009340F27E6292 -:1053500007490320074CA0472A460023064807496F -:105360008847FEE78D2900003D4E0000D8BB0100B4 -:10537000C0BC01000528010020BD010095290000E6 -:1053800030B583B005460C460D4B984750B195F8A3 -:105390003D3023EA04018B4202D02846094B98474E -:1053A00003B030BD084B009340F28F6207490320E1 -:1053B000074CA0472A460023064807498847FEE7CE -:1053C0008D2900003D4E0000ECBB0100C0BC010077 -:1053D0000528010020BD01009529000030B583B0EB -:1053E00004460A4B984710B1E06903B030BD084B42 -:1053F000009340F6F52207490320074DA8472246AF -:105400000023064806498847FEE700BF8D290000B3 -:1054100000BC0100C0BC01000528010020BD010046 -:105420009529000030B583B004460A4B984710B167 -:10543000606A03B030BD084B009340F61E32074946 -:105440000320074DA84722460023064806498847FF -:10545000FEE700BF8D29000044BC0100C0BC010074 -:105460000528010020BD01009529000030B583B05A -:1054700004460A4B984710B1A06B03B030BD084BEF -:10548000009340F66F3207490320074DA847224694 -:105490000023064806498847FEE700BF8D29000023 -:1054A00068BC0100C0BC01000528010020BD01004E -:1054B000952900002DE9F8430546002215213C4BB3 -:1054C000984728463B4B9847074610B128463A4B29 -:1054D000984700212846394B98470023FF22114660 -:1054E0002846374CA04705F104084046354B9847FD -:1054F000044658B1DFF8E89021464046C8470646C2 -:105500002046FFF7D7FF3446002EF5D12E4B5B68BF -:105510003BB101211A68954208BF19719B68002BA5 -:10552000F8D10020294B9847044610B3DFF8B48027 -:10553000DFF8B490254E0EE029462046C047E36BC5 -:105540009D4204BF0023E363A36D9F420AD020461F -:10555000B047044668B1636B9D42EDD0A36B9D429A -:10556000EDD1E9E7C8478542F1D129462046C04739 -:10557000EDE7EB6900221146284698472846144B70 -:10558000984760B129460430124B9847686A08B1C1 -:10559000114B98472846104B9847BDE8F88328469A -:1055A0000E4B9847294630300A4B9847EEE700BF2C -:1055B000553100006D540000552D0000D118010038 -:1055C000B1360000512501007C260020C9150100DC -:1055D000053300003D2601006D2A0100A9330000BB -:1055E00065250100512E0000DD2E000070B582B04F -:1055F0000446194B984768B9184B009340F2931230 -:1056000017490320174DA84722460023164817497B -:105610008847FEE72046164B98472046154B98478B -:10562000054640B12046144B9847EB690022012102 -:10563000284698470CE02046104B9847054638B15D -:10564000C66B20460C4B9847B44201D10023EB6354 -:10565000002002B070BD00BF8D2900007CBC01009D -:10566000C0BC01000528010020BD010095290000F3 -:10567000A939000005330000B5540000A93300002B -:1056800030B583B004460E4B984748B1A06BA8B123 -:105690000C4B9847844214BF0020012003B030BD5A -:1056A000094B00934FF4386208490320084DA8477E -:1056B00022460023074808498847FEE70020EDE717 -:1056C0008D290000252E0000ACBC0100C0BC0100EB -:1056D0000528010020BD01009529000003687BB169 -:1056E00010B4021D012352F8044B1CB10133DBB28C -:1056F000072BF8D140F8231001205DF8044B7047C8 -:10570000002340F823100120704700002DE9F041EC -:1057100005460E4614460122A84B9847208048F2C1 -:105720000C0231462846A64B9847052842D9074621 -:10573000237B002B49D1237D002B76D1237F002BA7 -:1057400040F0988094F83630002B40F0B88094F800 -:105750002830052B00F2018194F84430052B00F22B -:105760003781F92F24D8BFB2237B13FB07F3C3F390 -:1057700007232373237D13FB07F3C3F30723237549 -:1057800094F8283013FB07F3C3F3072384F8283079 -:1057900094F8363013FB07F3C3F3072384F836304D -:1057A00094F8443013FB07F7C7F3072784F84470D5 -:1057B000BDE8F08100232373237584F8283084F832 -:1057C000363084F84430BDE8F0812C22314628463A -:1057D0007B4B984720730528ADD9292231462846AE -:1057E000784B98476080232231462846734B984770 -:1057F000C0B2A07130B92022314628466F4B98477D -:10580000607398E72A22314628466E4B9847A0805D -:10581000212231462846DFF8A481C0472081222278 -:1058200031462846C0476081E5E7302231462846A8 -:10583000624B98472082002880D03C22314628467F -:105840005F4B98472075052806D8322231462846F6 -:105850005A4B9847607571E7312231462846574BBD -:105860009847C0B26082392231462846554B984746 -:10587000E081EAE7402231462846504B9847208392 -:1058800000283FF45FAF4C22314628464C4B9847E6 -:105890002077052806D8422231462846474B9847AC -:1058A00060774FE7412231462846444B9847608352 -:1058B000492231462846434B9847E082EBE76E2267 -:1058C00031462846404B9847E06200283FF43FAFFE -:1058D0006C22314628463A4B984784F83600052812 -:1058E0007FF635AF6D2231462846354B984784F810 -:1058F0003700612231462846304B9847003018BFA8 -:10590000012094F8383060F3000384F83830E06AFE -:105910002E4B984702280BD094F83730052B15D81A -:10592000602231462846254B984784F839000EE717 -:10593000692231462846234B9847A08648F28E02BA -:1059400031462846204B98472063E9E769223146D3 -:1059500028461C4B9847A086E2E75022314628464D -:10596000164B9847208400283FF4F6AE5C2231465F -:105970002846134B984784F8280005287FF6ECAE9C -:10598000512231462846DFF83480C04760845222D5 -:1059900031462846C047A084532231462846C04796 -:1059A000E084592231462846064B9847E08354222A -:1059B00031462846C04784F82900CDE65D4B0000FB -:1059C000954C0000094C0000294D0000119F00007B -:1059D0007F2231462846224B9847E06300283FF457 -:1059E000C0AE7C22314628461E4B984784F84400BE -:1059F00005287FF6B6AE732231462846DFF86C8064 -:105A0000C047A4F84800742231462846C047A4F88D -:105A10004A00792231462846134B9847A4F846009D -:105A20007E22314628460E4B98472064702231462C -:105A30002846C047A4F84C00712231462846C0478A -:105A4000A4F84E00752231462846C04784F850001D -:105A5000722231462846C04784F8510081E600BFD3 -:105A6000294D0000954C0000094C00005D4B0000E2 -:105A70002DE9F04198B004460E46022A08D0002ACB -:105A80006CD0012A00F0CC80002018B0BDE8F08175 -:105A900000218E4B984708B10320F6E70122002130 -:105AA00020468A4DA8470746042200212046A847E1 -:105AB0008046052200212046A84704F10F0304F187 -:105AC000170503AA13F8011F02F8011B9D42F9D123 -:105AD0001FFA88F8BDF80C30A3EB0803ADF80C30C2 -:105AE000BDF810309844ADF8108080B2BDF80E308B -:105AF0001B1AADF80E30BDF812301844ADF8120084 -:105B00003A4603A93046724B984708B90220BCE7D1 -:105B10002C22002120466F4B9847F92801D80220FB -:105B2000B3E7202200212046684B9847C0B208B155 -:105B30000220AAE7322200212046644B9847C0B2D7 -:105B400008B10220A1E748F20C0200212046614B77 -:105B50009847FA2834BF0220012096E703A85E4B3D -:105B60009847332200212046584B984710B1002314 -:105B70008DF8203003AA00212046584B9847042274 -:105B800000212046514DA84780460522002120468D -:105B9000A84704F1100704F10F0304F1170501AA47 -:105BA00013F8011F02F8011BAB42F9D11FFA88F864 -:105BB000BDF80430A3EB0803ADF80430BDF808309D -:105BC0009844ADF8088080B2BDF806301B1AADF8D5 -:105BD0000630BDF80A301844ADF80A0003AA314671 -:105BE00001A83F4B9847022200212046374B984797 -:105BF00008B9002049E71C203A4B98470546012286 -:105C000000212046314B984700230246394628465A -:105C1000354EB04704F518712846344B9847E8E7ED -:105C200002220021294B984738B93322002120460F -:105C3000264B984740B9002027E704F518702C4BF5 -:105C400098472C4B9847F0E703A8234B9847002729 -:105C50008DF818708DF842708DF8347003AA3946AB -:105C600020461E4B9847042239462046174DA84728 -:105C70008046052239462046A84704F10F03173411 -:105C800001AA13F8011F02F8011BA342F9D11FFA60 -:105C900088F3BDF80420D21AADF80420BDF808201E -:105CA0001344ADF8083080B2BDF806301B1AADF8C9 -:105CB0000630BDF80A301844ADF80A0003AA314690 -:105CC00001A8074B98470020DFE600BF5D4B0000AE -:105CD000151D0100954C000011C800000D57000073 -:105CE000D9C80000E52E0100D5C5000069C3000039 -:105CF00039C40000192B0100F8B505460E461446BC -:105D000048F28C02264B98472072052800D8F8BD2F -:105D100048F20C0231462846214B9847F92805D80D -:105D2000237A13FB00F0C0F307202072237A052B9F -:105D3000EDD948F28902314628461A4B984720800F -:105D400048F2800231462846174FB847A08148F2F2 -:105D5000810231462846B847608148F282023146C6 -:105D60002846B847207648F2830231462846B8478D -:105D7000607648F28E02314628460C4B98476060A8 -:105D8000E2894FF6FF739A42C1D0228A9A42BED06E -:105D900048F28A0231462846024B98472080B6E7EF -:105DA000954C0000094C00005D4B0000294D00009F -:105DB0002DE9F04F89B004460E465022764B9847A5 -:105DC000074668BB7F2231462046744B9847804681 -:105DD00030B17C2231462046714B984705284CD87B -:105DE0004022314620466C4B98470546002840F03B -:105DF000BF80042231462046DFF89C81C04705461B -:105E0000052231462046C047A842B8BF284600B206 -:105E10000028C4BFC01907B2384609B0BDE8F08FEA -:105E20005C22314620465E4B9847052801D8002762 -:105E3000C8E7532231462046574DA84707EBD7778E -:105E400000EB67070137BFB2512231462046A84711 -:105E50008046522231462046A8470028B8BF40421B -:105E6000B8F1000FB8BFC8F100084045ACBF3F18FB -:105E7000474438B220EAE077A4E770223146204652 -:105E8000454DA8478246702231462046A8478346A2 -:105E90007E2231462046414B98474FF00009CDF80D -:105EA000089047F618430193CDF800B053460246D8 -:105EB000414604A8DFF8EC80C047ADF81890ADF873 -:105EC0001A90BDF81030013BADF81C30BDF812300F -:105ED000013BADF81E30752231462046A847814669 -:105EE000732231462046A847804674223146204618 -:105EF000A847054605AB5FFA89F206A904F1100030 -:105F0000DFF8A490C847BDF8143043449BB2BDF8F5 -:105F100016202A4492B2B4F91000BDF818101944A2 -:105F200009B2401AB842B8BF3846B4F91210BDF8E9 -:105F30001A7017443FB2CF1B00B28742B8BF074662 -:105F4000BDF81C0003441BB2B4F91400181A3BB28C -:105F50008342B8BF0346BDF81E00104400B2B4F936 -:105F60001670C71B18B2B842B8BF384607B237E739 -:105F70004C22314620460A4B984705287FF639AF18 -:105F8000412231462046044B98472844B842B8BFC6 -:105F9000384607B22DE700BF5D4B0000294D0000D9 -:105FA000954C000025460100CD1D010008291AD09E -:105FB00010B50446072920D0012923D0062927D06F -:105FC000032930D0042939D00B293BD0A1F10D038E -:105FD000DBB2012B3BD916293ED0172951D000291D -:105FE00054D0012010BD13781BB928305060012017 -:105FF0007047002353600120704726491046264B06 -:10600000984710BD254B984780F00100C0B210BDE5 -:106010000021234B9847B4F932309842B8BF184654 -:106020006086012010BD90F8493013F0010F01D1B6 -:10603000012010BD1B4B9847012010BD1A4B9847FB -:10604000012010BD1021194B9847012010BD1021CF -:10605000174B9847012010BD164B9847164B984791 -:1060600028B106212046114B9847012010BD02217E -:1060700020460E4B9847042120460D4B984701209F -:1060800010BD06210A4B9847012010BD0B4B9847C5 -:10609000012010BDCCBE0100DD5600009D4A00006D -:1060A000B15D000069400000B532000025530000DA -:1060B000815300006D540000372E0000553700005A -:1060C0002DE9F84305468846002210311F4B9847BA -:1060D00050B398F8343013F0100F27D1D8F820308F -:1060E00043B30222294640469847814603281FD0E1 -:1060F00008F104063046164B9847044660B1154F28 -:1061000021462846FFF7DCFF034650B921463046BA -:10611000B84704460028F3D1B9F1010F0CBF43463C -:1061200000231846BDE8F8830023FAE70023F8E7C8 -:106130000023F6E708F104063046054B984704466D -:106140004FF002090028DAD10346EAE7151D0100E5 -:10615000512501006525010090F8343013F0100F2F -:1061600000D070472DE9F0438BB00E460546B0F9DC -:10617000324004A9354B9847A3B2BDF81020D21A7B -:10618000ADF81020BDF81220D21AADF81220BDF8DB -:1061900014201A44ADF81420BDF816201344ADF8AD -:1061A000163004AA314606A8294B9847A8B12B6A95 -:1061B0001BB1002206A92846984704A92846234B6C -:1061C000984704AA314608A8214B984740B92B6A42 -:1061D0001BB1012206A9284698470BB0BDE8F08301 -:1061E00005F1040840461B4B984704460028EED0B2 -:1061F000DFF85890164E184F05E021464046B84744 -:1062000004460028E3D002A92046C847638EBDF8A3 -:106210000820D21AADF80820BDF80A20D21AADF82D -:106220000A20BDF80C201A44ADF80C20BDF80E2051 -:106230001344ADF80E3002AA08A96846B0470028FA -:10624000DBD069462046FFF787FFD6E7C934000058 -:10625000C11A01005B250100912501002DE9F047DD -:106260000F46044670B1394620461A4B98472046DF -:10627000194B9847814660B1184EDFF85880DFF817 -:1062800058A00EE0164B1868164B98470446002895 -:10629000E9D1BDE8F0874846D0474C468146002802 -:1062A000F7D009F1040521462846B047044640B11D -:1062B00039462046C04721462846B04704460028B4 -:1062C000F6D1D9F82030002BE5D0012239464846D6 -:1062D0009847E0E75961000005330000912501006F -:1062E00088260020292A000038B51A4D28681A4B44 -:1062F000984704462868194B984778B90123A36149 -:10630000144B186843681A6A12F0010F10D01B6A08 -:1063100013F0020F0CD00123E3610BE00D4D286850 -:10632000A369002BEAD0C369002BF9D09847F6E7A0 -:106330000023E361C3681BB1A26804F11001984710 -:10634000236833B1626822B1A1688B4208BF13464B -:10635000A36038BD8826002085150100891501003D -:1063600070B582B006461A4D28681A4B9847044605 -:106370002868194B984738B92868A36923B1C369BD -:10638000002BFAD09847F7E704F11002314668462F -:10639000124B98470E4C2068114B984701466846AF -:1063A000104B98476946104DA84720680F4B9847F7 -:1063B0006946A84720680E4B98476946A847206859 -:1063C0000C4B984708B102B070BD0B4B9847FAE7E9 -:1063D000882600208515010089150100C11A0100D9 -:1063E000292A0000C16000005D620000692A0000E7 -:1063F000A92A00009D150100E96200007047000015 -:10640000F0B585B00C460546002854D0002C57D076 -:106410000023ADF80830ADF80A302846364B9847CF -:106420000138ADF80C002846344B98470138ADF8D8 -:106430000E0002AA21466846314B9847002845D0F5 -:106440002B6913B1694628469847B5F86831C3F3FC -:1064500009039BB100210C460F462A4E09313A46EA -:1064600005EBC1016846B04780BB0134A4B22146A8 -:10647000B5F86831C3F309039C42EFDB1F2B27DC1F -:10648000093305EBC3030DF1FF3203F1080012F8E5 -:10649000011F03F8011B8342F9D1B5F86831C3F33A -:1064A0000902013262F30903A5F868310321E86AA1 -:1064B000154B98470AE0154B9847054630B1A5E7BC -:1064C000B5F868316FF30903A5F8683105B0F0BD80 -:1064D000B5F868316FF30903A5F868310DF10702CB -:1064E00005F1500005F1480312F8011F03F8011BE4 -:1064F0008342F9D1D1E700BF95140100BD1401001A -:10650000C11A0100151D0100013F0100891401009D -:10651000014B1868704700BF882600202DE9F04F16 -:106520008DB00546B74B98470990B74CEB68236090 -:1065300000212846B54B98472068C36B7BB1B0F863 -:106540006831C3F30903002B00F078824FF048084C -:106550000027AD4DDFF8E4A2DFF8C8B24DE0B0F897 -:1065600068316FF30903A0F8683162E22644012321 -:1065700086F8483101342868B0F86831C3F309035C -:106580009C4230D2031993F84831002BF2D1A74234 -:10659000F0D004F10906F60081194044D0470028E4 -:1065A000E8D029688A1941440AA8994B98470AA853 -:1065B000D847039028684044D8478146286830442B -:1065C000D8474844039B8342D4D22E6806EB080385 -:1065D0000DF1270203F1080012F8011F03F8011B57 -:1065E0008342F9D1C2E701372868B0F86831C3F3B4 -:1065F000090308F108089F420ED2384490F8483148 -:10660000002BF0D12868B0F86831C3F30903002BE0 -:1066100000F0FA810024B5E700217B4A5160002B8D -:1066200000F0FA815A1E1146079232D4821892F86D -:1066300048217AB103F2471303440A46013AB2F102 -:10664000FF3F05D013F8011D0029F7D1079201E0A3 -:1066500000230793426892F820306FF3000382F81A -:106660002030426892F820306FF3410382F82030E6 -:10667000654B1C68B4F86831C3F30903002B00F0C4 -:10668000CB81482306934FF0000ADFF87CB1274600 -:1066900045E000230793DDE77A6892F8203043F065 -:1066A000010382F8203043E0DBF80000594B9847A3 -:1066B000044600250582DBF80000574B9847013857 -:1066C000A0826582DBF80000544B98470138E082D5 -:1066D000DBF800305A6892F8203043F0020382F869 -:1066E000203003984E4B9847DBF80000836943B194 -:1066F000069B18444B4B9847DBF804300344CBF817 -:1067000004300AF1010ADBF80070069B0833069397 -:10671000B7F86831C3F309039A4580F27D8107EB2E -:106720000A0393F84831002BEBD1079B5345B3D0B4 -:106730007A6892F820306FF3410382F82030069B8C -:10674000FB1803933846384B98470028ACD1DBF848 -:106750000000304B9847064607EBCA07B7F84C4095 -:106760000134B7F84830E41A24B2B7F94E5005F1B5 -:106770000108B7F84A30A8EB03080FFA88F8DBF8ED -:106780000000264B9847854234DAB7F94E90F368FB -:10679000B3FBF4F39845A8BF9846DBF800301B69BB -:1067A000002B52D00023ADF82830ADF82C30ADF8D6 -:1067B0002A300FFA88F56C1E24B2ADF82E40DBF8B3 -:1067C000000003690AA99847BDF92E104B1CBDF8BB -:1067D0002A209B1A1BB2984532DA2546002CEADCA7 -:1067E000124B0093124B40F29F1212490220124C9E -:1067F000A04779E7DBF80000084B984701380FFA0B -:1068000080F9C4E70116010088260020013F01003D -:10681000171B01008515010095140100BD1401002E -:1068200061630000A51A01009D15010010BF010061 -:10683000D4BE0100E4BE010005280100D11C010006 -:10684000002DC8BF01F10108CADDB7F94A40CDF8F3 -:10685000109004EB0803013B4B454BDC1FFA88F317 -:106860000593013BCDF820A09A460DE0A9451CD028 -:106870000398784B9847059B1C4424B204EB08030B -:10688000013B049A93421ADCB7F948303382B7F9D6 -:106890004C30B3827482A4B204EB0A052DB2F582A7 -:1068A000A945E3DAA6F816904D46DBF800305A68A1 -:1068B00092F8203043F0020382F82030D8E7DDF868 -:1068C00020A0A9453FF410AFB7F948303382B7F99B -:1068D0004C30B3827482A6F81690DBF800305A6808 -:1068E00092F8203043F0020382F820300398594B8D -:1068F0009847F9E60025E4E7574B984718B1574BFE -:1069000018684369EBB1554C20684FF480714830EA -:10691000534DA8472068202100F5A470A84723689C -:10692000B3F868216FF30902A3F8682109984D4B69 -:106930009847014620688369002B76D062689847A3 -:1069400073E0494B98470446484B9847A369002B8E -:10695000FCD1A3680393D4F800A0534508BFD4F832 -:1069600004A03E4C2068424B984704902368B3F83B -:106970006821C2F30902002AC5D0450000229046D2 -:10698000A1460CE008F101081FFA88F84246D9F840 -:106990000030B3F86811C1F309018845B3DA9918DA -:1069A00091F848110029EDD103EBC203B3F94A7005 -:1069B000B3F94810049807FB00167600B3F84C3082 -:1069C00001335B1A1BB25B000593D9F8003003EB6F -:1069D000C203B3F94E30BB42D4DB039B03EB060B7F -:1069E00056440932D400059A31465846214B9847FF -:1069F00001373FB2AB442E44D9F800302344B3F9F9 -:106A00000630BB42EFDABDE70022144B5A60B0F803 -:106A10006831C3F309037BB9104B1868B0F86831CB -:106A2000C3F30903002B7FF467AF134B9847134B55 -:106A300098470DB0BDE8F08F07920BE60022074B98 -:106A40005A60B0F86831C3F30903002BEDD0079208 -:106A500000E600BF616300009D150100882600204C -:106A6000DF3001001916010085150100E962000000 -:106A700095140100FD2B0100A12B01009D120100C6 -:106A800008B50421014B984708BD00BFDF30010065 -:106A900008B50821014B984708BD00BFDF30010051 -:106AA00070B582B00679002E55D0044600680368A0 -:106AB00099420AD00346751EEDB200EB85059D4252 -:106AC00049D053F8042F8A42F9D10D46012E0ED039 -:106AD000711E8900214B98470646214B984780B18B -:106AE000EEB12179002933D00022134626E01D4B58 -:106AF0009847002323602371627963F30002627177 -:106B000029E0194B00934FF4827218490320184C66 -:106B1000A04732460023174817498847FEE7174B1E -:106B20000093114B4FF4837210490220104CA04780 -:106B300011E00133DBB22179994209D9216851F87A -:106B400023108D42F5D046F822100132D2B2F0E780 -:106B500001392171266002B070BD00BF412E0100D5 -:106B60008D2900006D2A010060BF010020C00100D6 -:106B700005280100BCB40100952900004CC00100AB -:106B8000002851D070B582B004460E46274B984776 -:106B9000237963BB0420264B984705462846254B9E -:106BA000984758B3002D36D06379C3F3400013F0F3 -:106BB000010F18BF01302379984210D205EB8301F1 -:106BC00003F18042013A013B1B1ADBB2D31A05EBF9 -:106BD000830351F8042C41F804299942F9D145F86E -:106BE0002060237901332371256002B070BD013329 -:106BF00099002068104B98470546CFE70F4B00934C -:106C0000D0220F4903200F4CA0472A4600230E48EC -:106C10000E498847FEE70E4B0093084BD2220849E5 -:106C20000220084CA047E0E7704700BFA16A0000BF -:106C3000852901008D290000412E01007CBF010043 -:106C400020C0010005280100BCB401009529000006 -:106C500088C0010030B583B0437913F0010F10D024 -:106C600003F00603062B14BF002301230279002A38 -:106C700034D09A4234D9026852F82340204603B0F7 -:106C800030BD05460420174B98470446164B9847DD -:106C900060B1CCB12046154B984721462846144B8D -:106CA00098476B7943F001036B71E7E7114B009351 -:106CB00040F2354210490320104DA84722460023D8 -:106CC0000F4810498847FEE70F4B0093094B40F2ED -:106CD000374209490220094DA847CFE70024CDE7F4 -:106CE0000024CBE7852901008D290000816A00007E -:106CF000816B000098BF010020C001000528010041 -:106D0000BCB4010095290000B8C0010010B50446CC -:106D10000068024B98470023236010BD6D2A0100D4 -:106D20000268D2B11378FF2B13D0002006E00B2BA2 -:106D30000ADC02300230135CFF2B0BD003F00F0390 -:106D4000082BF4DC0230F5E70D2BD4BF0130043002 -:106D5000F0E70020023080B270470020704700004A -:106D600081B170B50C460A685AB105460846064B13 -:106D700098470646054B9847286032462168044BE1 -:106D8000984770BD704700BF216D00008529010044 -:106D9000FD2B010000286BD02DE9F8430746006861 -:106DA00000286AD0CDB20E0AB4460378FF2B3BD040 -:106DB0004FF0FF3EF0460022CCF3060C27E084188B -:106DC000647886EA040919F07F0F0BD004F07F0481 -:106DD00034EA0C091DD14445C4BF0FFA84F80FFAF8 -:106DE00082FE16E09646BEF1000F43DB7446704407 -:106DF00043785E4016F07F0F19D00020BDE8F8837D -:106E00000B2B0CDC02320232835CFF2BEBD09D4259 -:106E1000D5D003F00F03082BF2DC0232F3E70D2B81 -:106E2000D4BF01320432EEE74FF0FF3EDBE70D4600 -:106E30003846134B984705F00F010B2904DD0E2946 -:106E4000B4BF0321062100E004210D46411A8C4203 -:106E500007D223463A685419E45CD45401338B4278 -:106E6000F8D13868074B984738600120BDE8F883AF -:106E7000002070470020BDE8F8830020BDE8F883BB -:106E8000216D0000412E01002DE9F04186B0ADF8E2 -:106E90000E10ADF80C200468002C48D0CFB20D0ABB -:106EA000AE462378FF2B2CD04FF0FF3188460022CE -:106EB000CEF3060E18E0A618767885EA060C1CF0CC -:106EC0007F0F21D006F07F0636EA0E0C0ED1464524 -:106ED000C4BF0FFA86F811B208E00B2B0CDC0232AB -:106EE0000232A35CFF2B0ED09F42E4D003F00F03CD -:106EF000082BF2DC0232F3E70D2BD4BF013204324F -:106F0000EEE74FF0FF310A46002A10DBA3185B784A -:106F10005D4015F07F0F0AD10232A3189DF80C10C6 -:106F2000A1549DF80D205A7006B0BDE8F0810646C8 -:106F3000FF23ADF816301D4B9847002808BF0220EC -:106F4000051DADB229462046194B98473060194BB4 -:106F50009847E8B1002EE7D0AB1F3268D1189DF8F2 -:106F60000E00D0549DF80F304B702B1F3268D11893 -:106F70009DF80C00D0549DF80D304B70023D3368E5 -:106F80005A199DF8161059559DF817305370CBE7D4 -:106F9000094B00934FF4C37208490320084CA047E3 -:106FA00032680023074808498847FEE7216D000042 -:106FB000412E01008D290000B0BF010020C001005A -:106FC00005280100BCB40100952900002DE9F0411D -:106FD00086B0ADF80C20ADF80E100468002C48D037 -:106FE000CFB20D0AAE462378FF2B2CD04FF0FF31E5 -:106FF00088460022CEF3060E18E0A618767885EAB9 -:10700000060C1CF07F0F21D006F07F0636EA0E0C2E -:107010000ED14645C4BF0FFA86F811B208E00B2B1B -:107020000CDC02320232A35CFF2B0ED09F42E4D074 -:1070300003F00F03082BF2DC0232F3E70D2BD4BF71 -:1070400001320432EEE74FF0FF310A46002A10DB2E -:10705000A3185B785D4015F07F0F0AD10232A318A8 -:107060009DF80C10A1549DF80D205A7006B0BDE893 -:10707000F0810646FF23ADF816301D4B98470028D7 -:1070800008BF0220051DADB229462046194B98477E -:107090003060194B9847E8B1002EE7D0AB1F32683B -:1070A000D1189DF80E00D0549DF80F304B702B1F57 -:1070B0003268D1189DF80C00D0549DF80D304B70FB -:1070C000023D33685A199DF8161059559DF817302E -:1070D0005370CBE7094B009340F2B51208490320E7 -:1070E000084CA04732680023074808498847FEE754 -:1070F000216D0000412E01008D290000C4BF010058 -:1071000020C0010005280100BCB401009529000041 -:107110002DE9F04387B0ADF80E100468002C43D081 -:107120005FFA81FE0D0AAC462378FF2B2CD04FF07E -:10713000FF37B8460021CCF3060C18E066187678C5 -:1071400085EA060919F07F0F21D006F07F0636EA9E -:107150000C090ED14645C4BF0FFA86F80FB208E0FD -:107160000B2B0CDC02310231635CFF2B0ED09E45F1 -:10717000E4D003F00F03082BF2DC0231F3E70D2B10 -:10718000D4BF01310431EEE74FF0FF373946002913 -:107190000ADB63185B785D4015F07F0F04D1214452 -:1071A0008A7007B0BDE8F08317460646FF23ADF8A6 -:1071B00016301B4B9847002808BF0220C51CADB2F3 -:1071C00029462046174B98473060174B9847C0B167 -:1071D000002EE6D06B1F3268D1189DF80E00D054F7 -:1071E0009DF80F304B7033682B4403F8037C023D4D -:1071F00033685A199DF8161059559DF81730537079 -:10720000CFE70A4B00934FF4F27209490320094C6F -:10721000A04732680023084808498847FEE700BFB6 -:10722000216D0000412E01008D290000D8BF010012 -:1072300020C0010005280100BCB401009529000010 -:107240002DE9F04186B00292ADF80E100468002CD2 -:107250004ED0CFB20D0AAE462378FF2B2CD04FF084 -:10726000FF3188460022CEF3060E18E0A618767885 -:1072700085EA060C1CF07F0F21D006F07F0636EA67 -:107280000E0C0ED14645C4BF0FFA86F811B208E0C5 -:107290000B2B0CDC02320232A35CFF2B0ED09F4280 -:1072A000E4D003F00F03082BF2DC0232F3E70D2BDE -:1072B000D4BF01320432EEE74FF0FF310A46002A14 -:1072C00016DBA3185B785D4015F07F0F10D10232FA -:1072D000A3189DF80810A1549DF809205A709DF834 -:1072E0000A209A709DF80B20DA7006B0BDE8F08194 -:1072F0000646FF23ADF81630204B9847002808BFFC -:107300000220851DADB2294620461D4B98473060AE -:107310001C4B984720B3002EE7D0A5F10803326834 -:10732000D1189DF80E00D0549DF80F304B70AA1F55 -:1073300031688B189DF8080088549DF809205A7010 -:107340009DF80A209A709DF80B20DA70023D336890 -:107350005A199DF8161059559DF817305370C4E707 -:10736000094B009340F2132208490320084CA04720 -:1073700032680023074808498847FEE7216D00006E -:10738000412E01008D290000ECBF010020C001004A -:1073900005280100BCB401009529000000284DD04B -:1073A0002DE9F04384460468002C4AD0CEB2090A85 -:1073B0008E462378FF2B3ED04FF0FF37B846002093 -:1073C000CEF3060E2AE025186D7881EA050919F03A -:1073D0007F0F0AD005F07F0535EA0E0920D145451B -:1073E000C4BF0FFA85F807B21AE00746002F2CDB5E -:1073F000BB1CE018E35C137043785370DCF80000AA -:1074000007447878C1F306010840BDE8F0830B2BF0 -:107410000CDC02300230235CFF2BE7D09E42D2D03E -:1074200003F00F03082BF2DC0230F3E70D2BD4BF7F -:1074300001300430EEE74FF0FF37D7E74FF0FF3071 -:1074400070474FF0FF30BDE8F0834FF0FF30BDE8EC -:10745000F08300284AD02DE9F04386460468002CCA -:1074600047D0CEB2090A8C462378FF2B3BD04FF091 -:10747000FF37B8460020CCF3060C27E025186D78BE -:1074800081EA050919F07F0F0AD005F07F0535EA7A -:107490000C091DD14545C4BF0FFA85F807B217E0A6 -:1074A0000746002F29DB3C44A3781370DEF8000068 -:1074B00007447878C1F306010840BDE8F0830B2B40 -:1074C0000CDC02300230235CFF2BEAD09E42D5D088 -:1074D00003F00F03082BF2DC0230F3E70D2BD4BFCF -:1074E00001300430EEE74FF0FF37DAE74FF0FF30BE -:1074F00070474FF0FF30BDE8F0834FF0FF30BDE83C -:10750000F08300284DD02DE9F04384460468002C18 -:107510004AD0CEB2090A8E462378FF2B3ED04FF0D8 -:10752000FF37B8460020CEF3060E2AE025186D7806 -:1075300081EA050919F07F0F0AD005F07F0535EAC9 -:107540000E0920D14545C4BF0FFA85F807B21AE0ED -:107550000746002F2CDBBB1CE018E35C137043785C -:107560005370DCF8000007447878C1F30601084046 -:10757000BDE8F0830B2B0CDC02300230235CFF2BC8 -:10758000E7D09E42D2D003F00F03082BF2DC02308A -:10759000F3E70D2BD4BF01300430EEE74FF0FF3797 -:1075A000D7E74FF0FF3070474FF0FF30BDE8F08372 -:1075B0004FF0FF30BDE8F083002850D02DE9F043B4 -:1075C00007460468002C4DD0CEB2090A8C462378B9 -:1075D000FF2B2DD04FF0FF3EF0460020CCF3060CE1 -:1075E00019E025186D7881EA050919F07F0F22D07E -:1075F00005F07F0535EA0C090FD14545C4BF0FFAE8 -:1076000085F80FFA80FE08E00B2B0CDC023002300C -:10761000235CFF2B0ED09E42E3D003F00F03082B18 -:10762000F2DC0230F3E70D2BD4BF01300430EEE77B -:107630004FF0FF3E7046002818DB05460130231846 -:10764000141D13F8010F02F8010B9442F9D13B68A5 -:107650002B445878C1F306010840BDE8F0834FF091 -:10766000FF3070474FF0FF30BDE8F0834FF0FF3040 -:10767000BDE8F083437913F0010F06D013F0020F39 -:10768000036814BF58681868704700207047437932 -:1076900013F0020F1ABF036818680020704700003B -:1076A00000282CD038B50446437913F0010F08D0D8 -:1076B000134B9847054620B1124B98472846124B6A -:1076C0009847637913F0020F09D020460F4B984773 -:1076D000054620B10B4B984728460B4B984723791A -:1076E0004BB9002222602271637903F0FC0362F33C -:1076F0008203637138BD2068034B9847F1E77047F8 -:10770000757600000D6D00006D2A01008F76000077 -:1077100070B505460C462C4B98472368002B41D08A -:10772000637913F0010F20D113F0020F10D02079EC -:1077300001388000254B984728602279013A21685A -:1077400092000431224B98472379013B2B7170BD85 -:10775000207980001D4B984728602279920021688B -:107760001B4B984723792B7170BD13F0020F1AD071 -:10777000207902388000154B984728602279023A18 -:10778000216892000831124B98472379023B2B71F4 -:107790002846104DA84706462046A84701463046D1 -:1077A0000D4B984770BD207901388000074B9847F2 -:1077B00028602279013A216892000431044B9847ED -:1077C0002379013B2B71E3E7A176000085290100B5 -:1077D000FD2B0100556C0000616D000030B583B0D9 -:1077E0000446437913F0020F05D01D4B9847054618 -:1077F000284603B030BD04201A4B984705461A4B63 -:107800009847A8B115B32846184B984729462046F3 -:10781000174B9847637943F00203637113F0010F2C -:10782000E6D023681A685968196023685A60DFE750 -:10783000104B009340F2CD220F4903200F4CA0477C -:107840002A4600230E480F498847FEE70E4B009357 -:10785000084B40F2CF2208490220084CA047C7E756 -:107860008F760000852901008D290000816A0000C3 -:10787000816B000000C0010020C00100052801004C -:10788000BCB4010095290000E8C00100002859D0CF -:107890002DE9F04F83B005460368002B54D04FEA22 -:1078A00011280023ADF806300079002842D0934615 -:1078B00089461C464FF0FF369A46244F1CE050463E -:1078C0000DF106024946B847804527D06B7913F081 -:1078D000020F05D0002803DB14B913F0040F23D0E6 -:1078E000B04204DDBDF80630ABF800300646013486 -:1078F00024B2287984421FDAE2B26B7903F00603DE -:10790000062B04BF0132D2B20028D8D0824203D263 -:107910002B6853F82200D3E75046D1E7BDF8063074 -:10792000ABF8003001200AE0BDF80630ABF80030BB -:10793000012004E04FF0FF36F043C0F3C03003B045 -:10794000BDE8F08F002070470020F8E79D7300002D -:10795000002858D02DE9F04F83B005460368002B6E -:1079600053D04FEA11280023ADF8043000790028E5 -:1079700041D0934689461C464FF0FF369A46244F25 -:107980001BE0504601AA4946B847804527D06B798D -:1079900013F0020F05D0002803DB14B913F0040F15 -:1079A00023D0B04204DDBDF80430ABF80030064609 -:1079B000013424B2287984421FDAE2B26B7903F0F1 -:1079C0000603062B04BF0132D2B20028D9D082426E -:1079D00003D22B6853F82200D4E75046D2E7BDF813 -:1079E0000430ABF8003001200AE0BDF80430ABF8F9 -:1079F0000030012004E04FF0FF36F043C0F3C03008 -:107A000003B0BDE8F08F002070470020F8E700BF0A -:107A100003750000002859D02DE9F04F83B00546CA -:107A20000368002B54D04FEA112800238DF807304B -:107A30000079002842D0934689461C464FF0FF3615 -:107A40009A46244F1CE050460DF107024946B847BC -:107A5000804527D06B7913F0020F05D0002803DB97 -:107A600014B913F0040F23D0B04204DD9DF80730A1 -:107A70008BF800300646013424B2287984421FDA9C -:107A8000E2B26B7903F00603062B04BF0132D2B2D7 -:107A90000028D8D0824203D22B6853F82200D3E7C3 -:107AA0005046D1E79DF807308BF8003001200AE0FE -:107AB0009DF807308BF80030012004E04FF0FF36CE -:107AC000F043C0F3C03003B0BDE8F08F0020704732 -:107AD0000020F8E753740000002852D02DE9F04F41 -:107AE00083B005460368002B4DD04FEA112800797A -:107AF00000283ED09346894600244FF0FF36A24628 -:107B0000224F1AE0504601AA4946B847804526D080 -:107B10006B7913F0020F05D0002803DB14B913F0C2 -:107B2000040F21D0B04203DD019BCBF800300646A4 -:107B3000013424B2287984421DDAE2B26B7903F071 -:107B40000603062B04BF0132D2B20028DAD08242EB -:107B500003D22B6853F82200D5E75046D3E7019BA8 -:107B6000CBF80030012009E0019BCBF80030012068 -:107B700004E04FF0FF36F043C0F3C03003B0BDE87F -:107B8000F08F002070470020F8E700BFB9750000B3 -:107B9000F0B501F01F0EC1F34516C1F3C421052A4B -:107BA0003FD9C0F3C4240C441F2C28BF1F2404F069 -:107BB0001F04C0F3451333443F2B28BF3F2303F07A -:107BC0003F0500F01F0070441F2828BF1F2000F051 -:107BD0001F03FF2A2ED0C2F1FF0707FB0EF002FBA6 -:107BE000030000EB002300EBC310C30D4FF00000B7 -:107BF00063F3040007FB06F302FB053303EB0325E5 -:107C000003EBC513DB0D63F34A1007FB01F102FB25 -:107C1000041202EB022302EBC312D20D62F3CF2057 -:107C2000F0BD4FF000006EF3040066F34A1061F3FC -:107C3000CF20F0BD4FF0000063F3040065F34A105D -:107C400064F3CF20F0BDF0B501F01F0EC1F345166F -:107C5000C1F3C421052A3DD9C0F3C4240C1B24EA76 -:107C6000E47404F01F04C0F34513F31A23EAE3732A -:107C700003F03F0500F01F00AEEB000020EAE070CB -:107C800000F01F03FF2A2ED0C2F1FF0707FB0EF002 -:107C900002FB030000EB002300EBC310C30D4FF009 -:107CA000000063F3040007FB06F302FB053303EB5C -:107CB000032503EBC513DB0D63F34A1007FB01F14A -:107CC00002FB041202EB022302EBC312D20D62F399 -:107CD000CF20F0BD4FF000006EF3040066F34A10B1 -:107CE00061F3CF20F0BD4FF0000063F3040065F3B3 -:107CF0004A1064F3CF20F0BD2DE9F04F93B09DF80A -:107D000070409DF874B09DF87890BBF1040F00D9D5 -:107D100014B913B0BDE8F08F0893ADF824200E46D7 -:107D20000546BA4B98478046B94B98470746826844 -:107D300006923246294610A8B64B98470028E8D04C -:107D40003A8ABDF840309B1A99B20D460A9108B2A2 -:107D50000B90ADF840007B8ABDF84210C91A0FFAAB -:107D600081FCADF842C0BDF84400801A80B2ADF885 -:107D70004400BDF846E0AEEB030E0FFA8EFEADF800 -:107D800046E0089AAAB198F8083013F0010F10D114 -:107D9000411C491B09B200290BDD134611441A7816 -:107DA000802A4FF0FF3298BF002203F8012B8B424C -:107DB000F5D1D8F81430002B77D0BDF82480934B40 -:107DC00098470546BB8A01333A8A9B1A1BB2079330 -:107DD000012C3ED0BDF94020089B9F1ABDF84430CD -:107DE00001339B1A1BB20893BDF942A0BDF946307E -:107DF0009A458EDCBDF940603446BDF944309E4260 -:107E00001EDC3E440FFA8AF905964B46B9461F46DA -:107E1000059A12F8013B059203FB0BF3C3F307230A -:107E20000293ADF80480009723B2079A069928467A -:107E30006E69B0470134BDF944309C42E8DD4F46DD -:107E4000089B1F440AF1010ABDF946309A45D1DD6D -:107E50005FE7BDF94290BDF9463099453FF759AF0C -:107E6000DDF81CA05E46DDF818B0BDF94040BDF954 -:107E700044309C4212DC0FFA89F705970296ADF860 -:107E80000480059B009323B25246594628466F69E9 -:107E9000B8470134BDF944309C42EFDD09F10109D6 -:107EA000BDF946309945E0DD33E7B9F1000F40F008 -:107EB000A083BDF82430ADF81C30544B98470646DB -:107EC000BB8A01333F8ADF1B3FB2BDF94020BDF8BA -:107ED000443001339B1A1BB20B931D46BDF946007B -:107EE000BDF94230411CC91A09B20C910A9303FB37 -:107EF0000722069901EB42010591012C29D0BBF123 -:107F0000FA0F00F2088183423FF703AF069B33F874 -:107F10001230BDF82460C6F3C42CC6F345121046D7 -:107F200006F01F0214467A000C920B9A0899013948 -:107F3000069152000E9219464FF0000E7246B6B2EC -:107F40000896CDF824B00D95A146CDF81CB0834617 -:107F500045E3BBF1FA0F25D9736A23B110A82E4B64 -:107F60009847F02813D80C9B002B7FF7D2AE7F00E8 -:107F700000242A4DDDF83080059E0B9ABDF81C10B8 -:107F80003046A8473E440134A045F6D1C1E6BDF8CD -:107F90002430ADF80030746A10AB3A46069930468A -:107FA000A047B6E6336A002B3CD010A81A4B98477E -:107FB000F02837D90B9900290CDDBDF82480184A28 -:107FC000931E01F10041013902EB410223F8028FB7 -:107FD0009A42FBD1BDF94250BDF946309D423FF770 -:107FE00098AE4FEA4708DFF838A0DDF814905C46F9 -:107FF00000940B9B524649463046376AB847C14405 -:108000000135BDF946309D42F2DD82E61165000082 -:1080100085150100C11A0100A51A0100E320010025 -:10802000902600204FF0000EBDF8242002F01F091A -:10803000C2F34518C2F3C42C0BFB0CF303EB032172 -:1080400003EBC113C3F3C4510BFB08F303EB03248D -:1080500003EBC413C3F3C5540BFB09F303EB032277 -:1080600003EBC213C3F3C4521FFA8BF30CFB03FCE4 -:1080700008FB03F809FB03F96FEA0B03DBB20C986A -:1080800000287FF746AE780007900B9840000890D4 -:10809000002006909FB236E0307862F30400307022 -:1080A000308864F34A103080000A61F3C7007070B2 -:1080B00002339B451CD01E461FFA8EF0B3F800A079 -:1080C0005045E9D0B3F800E05978C90801FB07C171 -:1080D000C1F30421CEF3451404FB0784C4F3052443 -:1080E0001A7802F01F0202FB0792C2F30422D3E7C0 -:1080F000059B079803440593069B013306930C9850 -:1081000098423FF406AE002DF2DD05980346089E26 -:1081100000EB060BCFE70C9B002B7FF7FAAD0B9B18 -:10812000043B0D937B000F9300230A93BDF81C20A2 -:10813000C2F3C42CC2F3451EC2F304030693DEE16E -:10814000BDF81C303B80434601318D4200F04C832A -:10815000023718F0030F00F0558318F8013B002B8D -:10816000F1D0FF2BECD0C3F1FF097A78D20809FBDC -:1081700002F203FB0C2202EB022002EBC012C2F35C -:10818000C4523888C0F3451009FB00F003FB0E0011 -:1081900000EB002600EBC610C0F3C5503E7806F099 -:1081A0001F0A09FB0AF903FB049303EB032903EB02 -:1081B000C913DB0D63F304063E703B8860F34A137A -:1081C0003B801B0A62F3C7037B70BCE7BDF81C4011 -:1081D00020F8064C20F8044C20F8024C04800431AE -:1081E000043308308F42C0F229811A4653F8044CF8 -:1081F000002CF4D0B4F1FF3FE8D013F8048CB8F1B0 -:10820000000F3FD0B8F1FF0F00F00581C8F1FF0665 -:1082100010F8054CE40806FB04F408FB0C4404EBDE -:10822000042504EBC514C4F3C454099430F8065C67 -:10823000C5F3451506FB05F508FB0E5505EB0529AD -:1082400005EBC915C5F3C55510F8069C09F01F0BC1 -:1082500006FB0BF6069C08FB046808EB082608EBF7 -:10826000C616F60D66F3040900F8069C30F8066C95 -:1082700065F34A1620F8066C360A099C64F3C706B3 -:1082800000F8056C12F8038CB8F1000F3FD0B8F17C -:10829000FF0F00F0C580C8F1FF0610F8034CE4089A -:1082A00006FB04F408FB0C4404EB042504EBC514A2 -:1082B000C4F3C454099430F8045CC5F3451506FBB7 -:1082C00005F508FB0E5505EB052905EBC915C5F3AA -:1082D000C55510F8049C09F01F0B06FB0BF6069C15 -:1082E00008FB046808EB082608EBC616F60D66F3D3 -:1082F000040900F8049C30F8046C65F34A1620F871 -:10830000046C360A099C64F3C70600F8036C12F883 -:10831000028CB8F1000F3FD0B8F1FF0F00F085805C -:10832000C8F1FF0610F8014CE40806FB04F408FB52 -:108330000C4404EB042504EBC514C4F3C4540994A1 -:1083400030F8025CC5F3451506FB05F508FB0E5534 -:1083500005EB052905EBC915C5F3C55510F8029CB9 -:1083600009F01F0B06FB0BF6069C08FB046808EBE4 -:10837000082608EBC616F60D66F3040900F8029C01 -:1083800030F8026C65F34A1620F8026C360A099C34 -:1083900064F3C70600F8016C12F8018CB8F1000F05 -:1083A0003FF41DAFB8F1FF0F44D0C8F1FF06447889 -:1083B000E40806FB04F408FB0C4404EB042504EB7E -:1083C000C514C4F3C45B0588C5F3451506FB05F564 -:1083D00008FB0E5505EB052905EBC915C5F3C55579 -:1083E00090F8009009F01F0A06FB0AF6069C08FBAD -:1083F000046808EB082608EBC616F60D66F30409B8 -:1084000080F80090068865F34A160680360A6BF3FA -:10841000C7064670E3E6BDF81C4020F8064C31E77D -:10842000BDF81C4020F8044C71E7BDF81C4020F852 -:10843000024CB1E7BDF81C400480D0E60E9D8D4291 -:108440004EDD541E059B03EB4108069E08E0BDF877 -:108450001C30A8F80030013108F102088D423FDDE0 -:1084600014F8013F002BF6D0FF2BF0D0C3F1FF0929 -:1084700098F80120D20809FB02F203FB0C2202EB60 -:10848000022002EBC012C2F3C452B8F80000C0F3DD -:10849000451009FB00F003FB0E0000EB002700EB8A -:1084A000C710C0F3C55098F8007007F01F0A09FB09 -:1084B0000AF903FB069303EB032903EBC913DB0D56 -:1084C00063F3040788F80070B8F8003060F34A13CB -:1084D000A8F800301B0A62F3C70388F80130BAE736 -:1084E000059B0F9A13440593089B0B9A134408931A -:1084F0000A9B01330A930C9A9A423FF40AAC002D6E -:1085000040F37081089A12F0030F00F07981059F03 -:1085100090460021069C20E6FF2A02D0DDF824E0E8 -:1085200004E0DDF824E02A889A4232D0BEF1FF0F41 -:1085300042D0CEF1FF046B78DB080EFB0CF204FB9B -:10854000032303EB032203EBC213C3F3C4532A88B0 -:10855000C2F345120BFB0EF104FB021202EB0221E7 -:1085600002EBC112C2F3C552297801F01F0109FBC9 -:108570000EF604FB016101EB012601EBC611C90DEA -:1085800061F3040A62F34A1A63F3CF2A1FFA8AF1ED -:108590002B88298002460235A8450FD017F8010F15 -:1085A0000028F8D09042BED0FF28B5D0079B03FB2F -:1085B00000FECEF3072EB9E70899E9E705980C9C71 -:1085C000204405900A98013004460A9006980B9DB5 -:1085D00028440690BDF9460084423FF79AAB0D98B7 -:1085E0000028EBDD059805460E9C00EB0408069F6D -:1085F000D4E7BDF82450B9F1010F40D0B9F1020F12 -:1086000032D1834B0593BDF8242002F01F08C2F33A -:108610004516C2F3C4239946BA8A01323B8AD31A5B -:108620001FB2CDF824C00CFB07F3069A02EB4302FD -:108630000792012C26D001300A9A801A02B20C92BD -:10864000089A0B99521A0892069A32F81320F445A8 -:108650003FF75FAB7B000B9310460021CDF818B0BD -:10866000CDF828B0CB46B0E06A4B00936A4B4FF48C -:1086700004726A4902206A4CA047FFF74ABB694B63 -:108680000593C0E74FF0000A0BFB09F303EB03204F -:1086900003EBC013C3F3C4500BFB06F303EB03223D -:1086A00003EBC213C3F3C5520BFB08F303EB032127 -:1086B00003EBC113C3F3C453F4453FF72AAB79006E -:1086C0000891CDF818B0CB463AE0217863F3040165 -:1086D0002170218862F34A112180090A60F3C701E1 -:1086E000617009F101090237BDF9441089451ADCAE -:1086F0003C461FFA8AF1B7F800E07145E5D0B7F8BB -:1087000000A068F3040566F34A156BF3CF25069ABB -:1087100051462846059B984700F01F03C0F34512B9 -:10872000C0F3C420D1E70799089C21440791099917 -:1087300001310C460991BDF946108C423FF7E9AA78 -:10874000BDF94070B946BDF944108F42EBDC079982 -:1087500001EB4707CCE7F92B9DBF0A9A5343C3F3BC -:108760000722069A68F3040566F34A156BF3CF25D2 -:1087700021882846059B984780B29AF800102288E5 -:10878000208009F1010901370234BDF944309945CF -:108790000ADCBA463B78002BF3D08B42DBD1B4F82D -:1087A00000E09645D7D1EBE7079B0B9C234407934A -:1087B000089B0C9C23440893099B01331C46099396 -:1087C000BDF946309C423FF7A4AABDF94040A146FE -:1087D000BDF944309C42E7DC089B1F19079B03EB63 -:1087E0004404D6E7089B00210D9A8A42FFF678AE32 -:1087F0000433C81C059A02EB40000E950D9FF4E46B -:10880000089B00210D9A8A42F2DA1A4619E600BF47 -:10881000477C000074C1010028C1010044C101006F -:1088200005280100917B00002DE9F04F91B09DF8E3 -:1088300068409DF86CA09DF87050BAF1040F00D903 -:1088400014B911B0BDE8F08F049307920F460146AA -:108850003A460EA8BC4B98470028F2D0BB4B98472D -:108860008046BB4B9847064683680593028ABDF84D -:1088700038309B1A9BB20693BDF918C0ADF838C0CA -:10888000438ABDF83AB0ABEB030B1FFA8BFB0FFA30 -:108890008BFEADF83AE0BDF83C10891A89B2ADF80C -:1088A0003C10BDF83E00C01A80B202B20892ADF88A -:1088B0003E20049AD2B198F8083013F0010F15D178 -:1088C00001F10109069BA9EB03090FFA89F9B9F136 -:1088D000000F0BDD134691441A78802A4FF0FF32C7 -:1088E00098BF002203F8012B4B45F5D1D8F814307E -:1088F000002B00F0A980954B98470546B6F910006B -:10890000B38A01331B1A1BB20693BDF93810B7F9AD -:108910000020B7F8049009F10109A9EB02090FFA48 -:1089200089F9BDF93AE0B7F90230B6F912609B1B3C -:10893000AEEB0303121A8A1A09FB03234FEA410B19 -:10894000CBEB430B079B5B449B46012C46D0049B1F -:108950005B1A0793BDF93E309E453FF772AFBDF9F4 -:108960003C304FEA490208920133591A0BB209937D -:10897000F146BDF938603446BDF93C309E4220DCFA -:10898000079B03EB06080BEB46060FFA89F70496E4 -:1089900018F8013B03FB0AF3C3F307230293049A7D -:1089A00032F8023B0492ADF80430009723B2069AE5 -:1089B000059928466E69B0470134BDF93C309C42A8 -:1089C000E6DD079B099A13440793089B9B4409F132 -:1089D0000109BDF93E309945CBDD32E7BDF93E30A6 -:1089E0007345FFF62EAF4FEA4909F046BDF93870DE -:1089F0003C46BDF93C309F421EDC0BEB47070FFAAB -:108A000088F6049733465646CA4699460296049A13 -:108A100032F8023B0492ADF80430CDF8009023B256 -:108A2000069A059928466F69B8470134BDF93C306C -:108A30009C42EBDDD146B246CB4408F10108BDF9BA -:108A40003E309845D2DDFCE6002D40F09983B6F922 -:108A50001030B6F8148008F10108A8EB03080FFAEB -:108A600088F80131069A891A0AB20992154601302E -:108A7000A0EB0B0B0FFA8BF20892B7F90010B7F8C6 -:108A8000049009F10109A9EB01090FFA89F90EFB1C -:108A900008C2059800EB42020592B7F90220B6F928 -:108AA0001200121AAEEB020ECB1AACEB030309FB59 -:108AB0000E33079A02EB43030693244B984706466E -:108AC000012C1BD0BAF1FA0F00F2C580089B002BD5 -:108AD0007FF7B7AE4FEA48030A934FEA49030B9377 -:108AE000099B049A013A04925B000D934FF0000B2E -:108AF000CDF81CA00C95DDF8189036E3036A5BB343 -:108B00000EA8144B9847F02826D9BDF93A50BDF964 -:108B10003E309D423FF795AE4FEA48084FEA49097B -:108B2000DDF814B0069FCDF800A0099B3A465946DF -:108B30003046346AA047C3444F440135BDF93E3046 -:108B40009D42F0DD7DE600BFC11A01001165000005 -:108B500085150100A51A0100BAF1FA0F10D8089B7B -:108B6000002B7FF76EAE4FEA480304934FEA4909A2 -:108B7000099B4FEA430B4FF00008CAF1FF0E26E0B5 -:108B8000089B002B7FF75DAE099A56004FEA480814 -:108B90004FEA49090024664D9B46059FDDF818A061 -:108BA000324651463846A8474744CA440134A34593 -:108BB000F6D146E6059B049A13440593069B4B4465 -:108BC000069308F10108089B43453FF43AAE002D97 -:108BD000F0DD069B1F46059C03EB0B0C7B78DB0846 -:108BE0006278D2080EFB02F20AFB032303EB032296 -:108BF00003EBC213C3F3C4533A88C2F3451221886E -:108C0000C1F345110EFB01F10AFB021202EB022136 -:108C100002EBC112C2F3C55217F8021B01F01F018B -:108C2000207800F01F060EFB06F60AFB016101EB3F -:108C3000012601EBC611C90D61F3040020702188E3 -:108C400062F34A112180090A63F3C701617002349B -:108C5000BC45C3D1AEE7099B043B0A93089B002B9C -:108C60007FF7EFAD4FEA48030C934FEA49030D93AA -:108C70000023079365E3B8F80030AEF80030634690 -:108C800001318D4200F0478308F102080EF1020E17 -:108C90001CF0030F00F02D831CF8014B002CEED0CC -:108CA000FF2CE8D0C4F1FF0698F80130DB089EF8ED -:108CB0000120D20806FB02F204FB032303EB03228C -:108CC00003EBC213C3F3C453B8F80000C0F345105C -:108CD000BEF80020C2F3451206FB02F204FB00209E -:108CE00000EB002200EBC210C0F3C55098F8002042 -:108CF00002F01F029EF8007007F01F0906FB09F63C -:108D000004FB026202EB022402EBC412D20D3C46C9 -:108D100062F304048EF80040BEF8002060F34A12AB -:108D2000AEF80020120A63F3C7028EF80120A6E70E -:108D3000FD2B010034F8065C20F8065C34F8045C76 -:108D400020F8045C34F8025C20F8025C2588058079 -:108D500004310433083408308E4540F347811A4605 -:108D600053F8045C002DF3D0B5F1FF3FE2D013F8C7 -:108D700004CCBCF1000F47D0BCF1FF0F00F0248100 -:108D8000CCF1FF0914F8055CED0810F8056CF60845 -:108D900009FB06F60CFB056505EB052605EBC6157C -:108DA000C5F3C45534F8066CC6F3451630F8067C96 -:108DB000C7F3451709FB07F70CFB067606EB0627FA -:108DC00006EBC716C6F3C55614F8067C07F01F0756 -:108DD00010F8068C08F01F0B09FB0BF90CFB07972A -:108DE00007EB072C07EBCC17FF0D67F3040800F81F -:108DF000068C30F8067C66F34A1720F8067C3F0A9A -:108E000065F3C70700F8057C12F803CCBCF1000F2E -:108E100047D0BCF1FF0F00F0DC80CCF1FF0914F863 -:108E2000035CED0810F8036CF60809FB06F60CFB72 -:108E3000056505EB052605EBC615C5F3C45534F8E5 -:108E4000046CC6F3451630F8047CC7F3451709FBDC -:108E500007F70CFB067606EB062706EBC716C6F3EC -:108E6000C55614F8047C07F01F0710F8048C08F0AE -:108E70001F0B09FB0BF90CFB079707EB072C07EB04 -:108E8000CC17FF0D67F3040800F8048C30F8047C5D -:108E900066F34A1720F8047C3F0A65F3C70700F819 -:108EA000037C12F802CCBCF1000F47D0BCF1FF0FDD -:108EB00000F09480CCF1FF0914F8015CED0810F883 -:108EC000016CF60809FB06F60CFB056505EB0526AB -:108ED00005EBC615C5F3C45534F8026CC6F3451648 -:108EE00030F8027CC7F3451709FB07F70CFB067641 -:108EF00006EB062706EBC716C6F3C55614F8027C28 -:108F000007F01F0710F8028C08F01F0B09FB0BF984 -:108F10000CFB079707EB072C07EBCC17FF0D67F34C -:108F2000040800F8028C30F8027C66F34A1720F837 -:108F3000027C3F0A65F3C70700F8017C12F8018C38 -:108F4000B8F1000F3FF404AFB8F1FF0F4BD0C8F1F8 -:108F5000FF096578ED084678F60809FB06F608FB78 -:108F6000056505EB052605EBC615C5F3C455268832 -:108F7000C6F345160788C7F3451709FB07F708FB33 -:108F8000067606EB062706EBC716C6F3C556277806 -:108F900007F01F0790F800C00CF01F0A09FB0AF940 -:108FA00008FB079707EB072807EBC817FF0D67F3C8 -:108FB000040C80F800C0078866F34A1707803F0A50 -:108FC00065F3C7074770C3E634F8065C20F8065C13 -:108FD0001AE734F8045C20F8045C62E734F8025CB9 -:108FE00020F8025CAAE725880580B1E60B9D8D423A -:108FF00040F39481561E4FEA410C069B03EB0C088C -:10900000059B9C440BE0B8F80030ACF8003001310F -:1090100008F102080CF1020C8D4240F37F8116F832 -:10902000014F002CF3D0FF2CEDD0C4F1FF0798F8CE -:109030000130DB089CF80120D20807FB02F204FB98 -:10904000032303EB032203EBC213C3F3C453B8F8A7 -:109050000000C0F34510BCF80020C2F3451207FB26 -:1090600002F204FB002000EB002200EBC210C0F370 -:10907000C55098F8002002F01F029CF800E00EF0A6 -:109080001F0907FB09F704FB027202EB022402EB43 -:10909000C412D20D744662F304048CF80040BCF88C -:1090A000002060F34A12ACF80020120A63F3C702F2 -:1090B0008CF80120ABE702370236474545D01CF853 -:1090C000011F0029F7D0F9299ABF01FB0AF1C1F36A -:1090D0000724079CC4F1FF057B78DB087278D2086F -:1090E00005FB02F204FB032303EB032203EBC21391 -:1090F000C3F3C4533A88C2F345123188C1F3451112 -:1091000005FB01F104FB021202EB022102EBC1128A -:10911000C2F3C552397801F01F01307800F01F0EFC -:1091200005FB0EF504FB015101EB012401EBC41119 -:10913000C90D61F304003070318862F34A11318047 -:10914000090A63F3C7017170B5E7059B0A9A1344D6 -:1091500005930B9B99440BF1010B049B099A134453 -:109160000493089B5B453FF46CAB0C9B002BECDD40 -:109170004F46059E0D9B09EB0308DDF810C09EE7E6 -:10918000012D49D0022D3CD1DFF8E081B6F9103035 -:109190000993B08A0130C01A00B2B7F90020BB8829 -:1091A00001339B1A1DB2F1460EFB00FB059B03EB3E -:1091B0004B0BB7F90230B6F912609F1BAEEB0707F5 -:1091C00005FB07F7079B03EB4707012C27D0049B00 -:1091D000A3EB0C031A46A7EB4C030493089B9E4594 -:1091E0003FF72FAB430007936B000893CDF814A013 -:1091F0004B1C06995B1A1BB20993CDF818A0924636 -:1092000066E0564B0093564B40F2533255490220CC -:10921000554CA047FFF715BBDFF85481B6E7099B13 -:109220009B1A07EB4307089B9E453FF70AAB430099 -:1092300004936B0005933B4647469846BDF938308A -:109240001C46BDF93C20934210DC5B000BEB030590 -:1092500008EB03065246298836F8020BB84725F872 -:10926000020B0134BDF93C309C42F3DD049B9B446E -:10927000059B984409F10109BDF93E309945DDDDB2 -:10928000FFF7DFBA013502360234BDF93C309D42AA -:109290000FDC17F8013B002BF4D0F92B9DBF069A89 -:1092A0005343C3F30722059A31882088C047308092 -:1092B000E8E7079B9B44099B9A44049B089A134444 -:1092C000049309F10109BDF93E3099453FF7B9AA68 -:1092D000BDF938301D46BDF93C209342E9DC0AEB6C -:1092E00003075B000BEB0306049AD418D1E7049B39 -:1092F00000210A9A8A420ADD0433C81C4000069AFB -:109300001418059A10440B95DDF828E027E51A4655 -:1093100070E6049B00210A9A9142EDDB059B0C9AB2 -:1093200013440593049B099A13440493069B0D9AD6 -:1093300013440693079B01330793089A9A423FF41C -:1093400080AA002DE5DD049A12F0030FCFD0DDF8DE -:109350001880DDF814E0944600219DE474C10100FA -:1093600038C1010044C1010005280100477C00000C -:10937000917B00002DE9F04FBDB01B902391174663 -:1093800008939DF818310A939DF81C3106934B1EE3 -:10939000C81D3AAA13F8011F02F8011B8342F9D134 -:1093A000A34B9847A34B98471890018ABDF8E83023 -:1093B0005B1AADF8E830428ABDF8EA309B1AADF886 -:1093C000EA30BDF8EC305B1AADF8EC30BDF8EE30A9 -:1093D0009B1AADF8EE30984B9847199030B9089A1F -:1093E00053881BB91389B3F5807F71D0069B002B7E -:1093F00014BF4FF0030B4FF0020B1B990B46B1F952 -:1094000000208D880135AD1A2DB2BDF9EA00189EF5 -:10941000B6F91210D846BDF9E840B6F91060B3F9B4 -:1094200002305B1AC31A921BA21A05FB032303FB2B -:109430000B731493A4B2A21992B2ADF89820BDF8A0 -:10944000EC3001331B1B9BB21CB21694013B13443E -:10945000ADF89C3080B243181BB2ADF89A30ADF82D -:109460009E30BDF8EE600136361A36B208994B8848 -:10947000002B40F053830B89B3F5807218BF012293 -:109480000592199A002A40F07083B3F5807F40F06E -:1094900049830A9B23B98B7A13B9069B002B31D1E0 -:1094A0003AA8664B9847B0F5F07F40F2AC804FF495 -:1094B0007070634CA0471A904FF4F070A04717905B -:1094C000482128A85F4B98474FF4F0731C93E4E0C1 -:1094D0000A9B002B8AD1069B8BB9937A13B14FF06C -:1094E000020B8AE7937B0293137801930123009385 -:1094F00000233A461B992398534CA0470BE34FF0A7 -:10950000030B7AE73AA84D4B9847B0F5F07F14D893 -:109510003AA84A4B984781464FEA4900484CA04731 -:1095200082464846A04704460596002E4FDD08FBBC -:1095300005F80025AC46149E25E04FF4F079EBE7E2 -:109540005B44023796450AD0997802F8011B00293E -:10955000F6D05878197801EB00213980F0E74644BD -:10956000BDF8EC300133BDF8E8209B1A0CFA83F308 -:10957000994514D9BDF89E300133ADF89E300135C0 -:10958000059B9D4223D0169B002BE8DD04EB0C02CB -:109590000AEB4C079C4404EB0C0E3346D4E7089AC4 -:1095A000937B029313780193022300932346524640 -:1095B00026A92398244FB847BDF89E3001331BB22B -:1095C000ADF89A30ADF89E304FF0000CD7E7BDF9FA -:1095D0009E30BDF99A209A420FD0013BADF89E30E3 -:1095E000089A937B029313780193022300932346F6 -:1095F000524626A92398144DA8472046134CA0474D -:109600005046A04787E23AA80C4B98471C901C9BF9 -:1096100058000B4CA0471A901C98A047179048215F -:1096200028A8084B9847059B002B36D091E200BF35 -:1096300011650000851501006DC40000A51A010028 -:10964000E52E0100DF30010029880000192B010000 -:10965000052208984388ADF8AC300389ADF8AE30E8 -:109660002897ADF8A4501B99CB88013349885B1A21 -:10967000ADF8A6308DF8B2208388ADF8A830C38845 -:10968000ADF8AA308389ADF8B030C37BC3F30003D3 -:109690008DF8B33028A8934B98470898837ADA431B -:1096A000D2B2129203B39BB2427BD20802FB03F206 -:1096B00010928289C2F3451202FB03F21192027BDF -:1096C00002F01F0202FB03F31393069B8BB90A9B64 -:1096D00053BB089A538853BB1389B3F5807F14BFDB -:1096E000022301231D9306E000231393119310938B -:1096F000EBE702231D93199BE3B9189BB3F91230D2 -:10970000BDF9EA2013441B9AB2F902209B1A229356 -:109710001F96002E40F3E48108FB05F31E930023FF -:109720000E930F93D14654E102231D93E3E70223E6 -:109730001D93E0E71C9917986B4B9847DDE70C9B4E -:109740002B441BB2BDF9A8209B1ABDF9AA200D9984 -:109750008A1ABDF8AE10B1F5807F56D0BDF9AC10B5 -:10976000002965D1BDF8D610319C01FB0343099354 -:10977000329B01FB02330B93099B1F12BDF9A430EE -:109780009F4280F2AB80002FC0F2A8800B9A121289 -:1097900010461592BDF9A620904280F29F800028C5 -:1097A000C0F29C809DF8D42012F0040F6AD0289952 -:1097B00012F0020F55D103FB00735A00881811F8FC -:1097C00013308DF8B43043788DF8B53002219DF810 -:1097D000D43013F0010F0DD0209B6FF3040343F43A -:1097E000FC636FF3CF23ADF88030BDF8B4009BB2BB -:1097F000984273D09DF8B330002B59D19DF8B63004 -:109800008AF80030BDF8B43086E03498339900FB14 -:1098100003F401FB1247319C04EBE714099400FBAD -:1098200002F201FB0323329A02EBE3130B93A3E74B -:10983000BDF8D61001FB03F301FB02F23499339813 -:1098400001FB03F400FB1247319C04EBE73409945D -:1098500001FB02F200FB0323329A02EBE3330B938A -:109860008AE7159A03FB027303EB43028B18895CAA -:109870008DF8B41059788DF8B5109B788DF8B63006 -:109880000321A4E739B2BDF95420BDF8B0302592C8 -:1098900024912EA8154CA047ADF8B400259A249920 -:1098A0002EA8134B98478DF8B600002211468EE77C -:1098B000BDF82430ADF8D830BDF82C30ADF8DA3032 -:1098C000ADF8DC70BDF85430ADF8DE3038928DF86C -:1098D000E41028A8074B984700288FD100238AF866 -:1098E00000303DE0F5F0000095310100C1EE0000D0 -:1098F000F1EF0000A5F30000E0070000FF238AF865 -:1099000000307278337803EB02239BB20A9A1AB1C3 -:109910003FF81C209A4236D0089A927AEAB1BDF8F4 -:109920004820D90A109801FB0201C1F30421C3F3B6 -:109930004510119C00FB0240C0F3052003F01F03FB -:10994000139C03FB0243C3F3072363F3040960F38F -:109950004A1961F3CF291FFA89F3079A22F81530C3 -:1099600001355E440AF1010A454510D0059B002BE4 -:109970007FF4E5AE069B002BC0D0B3788AF80030A8 -:10998000002BEDD0BDE700238AF80030E8E7169BF6 -:109990000F9A9C18199B002B3ED1149B1E9A1344BE -:1099A0001493BDF8EC300133BDF8E8209B1A04FA9B -:1099B00083F31C9A9A425CD9BDF89E300133ADF80E -:1099C0009E300F940E9B01330E931F9A934200F02A -:1099D0008780189BB3F91030BDF9E82013441B9A17 -:1099E000B2F900209B1A0C93169B9846002B11DDB0 -:1099F000179B19460F9A01EB020A1A9B194601EBB5 -:109A000042030793149E0025229B0E9A13441BB217 -:109A10000D93ABE70F9CBDE70F9B179A13441E46AF -:109A2000BDF8E810BDF8EC3001335B1ABDF8EA2050 -:109A3000189D688A02440E980244288A01441BB289 -:109A400012B209B230464E4DA84728B102281D9ADD -:109A500008BF02461D92A0E7BDF8EC100131BDF829 -:109A6000E830C91A09B23046464B984702231D9385 -:109A700093E7089DAB7B02932B7801931D9B00938A -:109A8000179B1A9A26A923983F4CA047BDF89E30F1 -:109A900001331BB2ADF89A30ADF89E30069B5BB92E -:109AA0000A9B83B96B888BB92B89B3F5807F14BF70 -:109AB000022301231D9301E002231D93199B43B947 -:109AC00000230F937EE702231D93F7E702231D93E4 -:109AD000F4E71C9917982D4B984700230F9371E7D3 -:109AE000BDF99E30BDF99A209A420FD0013BADF8E6 -:109AF0009E30089A937B0293137801931D9B0093E9 -:109B0000179B1A9A26A923981F4CA0471798204CF8 -:109B1000A0471A98A0473DB0BDE8F08F199B13BB32 -:109B2000012305933AA81B4B9847B0F5F07F7FF6C9 -:109B30006AAD4FF47070184CA0471A904FF4F07053 -:109B4000A0471790482128A80E4B98474FF4F07370 -:109B50001C93069B002B7FF47BAD0A9B002B0CBF54 -:109B60000422062275E5012305933AA8094B98477C -:109B7000B0F5F07F7FF647AD4FF4F0731C9346E5E8 -:109B8000C5C30000DF3001002988000095310100C5 -:109B9000192B0100A51A0100E52E010070B59EB039 -:109BA00004460D46164609A80B4B98470B4B1B88DD -:109BB000ADF8263009AA29462046094B984702A845 -:109BC000084B984700230093334602AA29462046B3 -:109BD000054CA0471EB070BD11C800009CC101001B -:109BE000D9C80000759F0000CD9F000010B5044645 -:109BF00010210C4B9847237B6FF304032373A38935 -:109C00006FF34A13A3811B0A6FF3C7036373FF2328 -:109C100023704FF480732381E37B43F00103E373EC -:109C200010BD00BFDF30010004380A2813D8DFE878 -:109C300000F00608060A0C0E100A0C0E1000102088 -:109C40007047182070470120704702207047042099 -:109C500070470820704700207047032805D002D3C2 -:109C60000638042801D900207047012070470238C7 -:109C70000C2808D8DFE800F00907070907090909D7 -:109C800009090909090000207047012070470000F8 -:109C90002DE9F04F8FB005460E463AB11C461046EE -:109CA0001B78052B10D80FB0BDE8F08F844B0093C4 -:109CB000844B4D2284490220844CA047844A31467B -:109CC0002846844B9847EEE7A189834B984707467F -:109CD000002800F0B58090F80C9009F01F09484664 -:109CE0007E4B9847804648467D4B98478146BB69E6 -:109CF0006BB17C4B00937C4BF72273490220734C71 -:109D0000A047BA6931462846724B9847CBE73B6972 -:109D1000002B49D06B1EE81D0AAA13F8011F02F898 -:109D2000011B9842F9D163881BB92289B2F5807F63 -:109D300028D0EA8801326988521AA9880131288816 -:109D4000091A201D0190208900901BB212B209B29D -:109D50000AA8DFF8B8A1D0472A88BDF828301344F4 -:109D6000ADF828306B88BDF82A101944ADF82A10D8 -:109D7000BDF82C100A44ADF82C20BDF82E20134459 -:109D8000ADF82E300AAA31460CA8584B9847002847 -:109D900089D03A69CDF80490CDF8008023460CA90B -:109DA0002846534CA0477EE72A46314608A84F4B29 -:109DB000984700283FF477AFBDF824300133BDF851 -:109DC00020209B1A1BB2039303EB4300494B984797 -:109DD00002900DF11F020AAB0CA812F8011F03F844 -:109DE000011B8342F9D101210AA8434B9847BDF9D1 -:109DF0002030B5F90020BDF922A0B5F90210AAEB78 -:109E000001010846BDF926108A4555DCDFF8DCB0B3 -:109E10009B1A1BB20593079506944446804623E09F -:109E2000079D0498354B9847354B00932E4B4FF4C4 -:109E30009A7225490220254CA0470298314B984739 -:109E4000284B00931F4B58221F4902201F4CA0474C -:109E50001F4A314628461F4B984724E70AF1010A5A -:109E6000BDF926309A4527DC0AAA31460CA8D84706 -:109E70000028F3D00497029B0093039B0FFA88F20B -:109E800005993846204DA8470128C9D1CDF804903E -:109E90000094069B029A0CA90AA8154DA847BDF884 -:109EA0002A300133ADF82A30BDF82E300133ADF839 -:109EB0002E3008F10108D1E70298124B9847F2E6DC -:109EC000F0C10100A0C10100C0C1010005280100CE -:109ED00008C201009D9B0000A9F700005B9C0000E8 -:109EE0006F9C000010C20100ACC10100C11A01004A -:109EF00075930000E52E01009B1A0100DD040100AE -:109F000024C20100192B0100B90401000DF2000068 -:109F100058B10278A2F12003DBB25F2B07D952B20D -:109F2000002AB4BF022000207047032070470120A0 -:109F30007047A0F13003DBB2092B17D9602884BF2A -:109F40002038C0B2413805280ED8DFE800F01103F0 -:109F50000507090B0B2070470C2070470D20704738 -:109F60000E2070470F20704700207047184670473A -:109F70000A20704710B504461C21124B9847FF2356 -:109F8000237223786FF30403237023886FF34A133B -:109F900023801B0A6FF3C70363700B4B63604FF69C -:109FA000FF73E3812382A37843F01F03A3706388C8 -:109FB0006FF34A1363801B0A6FF3C703E370002338 -:109FC000A37510BDDF300100100000202DE9F04F17 -:109FD000D9B0629C157A052D01D91D7815B959B0F3 -:109FE000BDE8F08F0A9393460A460D9105461390FB -:109FF000DBF804300593014656A8AA4B9847002881 -:10A00000EDD09BF8172012F0020F21D1AB8801335D -:10A010002A889B1A1BB2059AB2F908A0BBF90A90CC -:10A02000D1441399B1F900201F92B1F90200BBF994 -:10A0300012201A92BBF91410421892B215B2002CD9 -:10A040004AD000294BD1002814DB0E95002629E0C8 -:10A05000BBF90C30029247F618420192BBF90A2074 -:10A060000092DBF804200A993AA88F4DA847BDF961 -:10A07000E830D0E7A168081A80EAE071A1EBE0714E -:10A08000C9F50070B1EB400F05DD4FF0FF322260E3 -:10A090000E95002606E02668002E23DB61680A4440 -:10A0A00012B20E921BB219461093BBF90C209BF80A -:10A0B000173000930B4605990A9830447B4DA8470A -:10A0C00083192F46DFF8F8813146CDF81890D14634 -:10A0D0000E9D26461C460FE00E950026E2E70E95E3 -:10A0E0000026DFE70E950026DCE721469AF80030CF -:10A0F000002B3FF474AF044605EB09030D9AB2F947 -:10A100000220934220DA0A9B03EB040ABBF90C20DD -:10A110009BF817300093109B05995046B847204490 -:10A12000069B1D442DB2002EDFD04545DDDB336894 -:10A13000002BDADA3460139AB2F90230EB1A73604A -:10A14000B2F90230B360D0E70E460794DDF81890FC -:10A150000E959BF8172012F0040F2FD112F0080F64 -:10A1600045D19BF808300B93BBF80E70BBF810304C -:10A17000194608939F4202D93B460F4608939BF825 -:10A18000183013F0030F49D13DA8494B9847BBF84D -:10A190000230ADF8F6300B9BFA2B88BFFF231693E5 -:10A1A0001FFA89F31793BDF8383011931F9D0023D0 -:10A1B0001993BA46D846B34600F0D3BDBBF90C306C -:10A1C000A11B0092059A89B20A983044394CA047E5 -:10A1D000139A9388013312889B1A1BB2181A00EB4A -:10A1E000D0701F9B03EB60031BB21F93B9E7BBF951 -:10A1F0000C300799891B0092059A89B20A9830445D -:10A200002C4CA047139A9388013312889B1A1BB2D7 -:10A210001B1A1F9A13441BB21F93A2E753A8264B85 -:10A220009847BBF80030ADF84C31DBF80430B3F997 -:10A2300008300533214A82FB0312DB17C3EBA2036C -:10A24000ADF84E319BF808308DF854319DF85531FA -:10A250009BF8192062F301038DF8553194E700252E -:10A26000AAE00025A8E0069B2BB9BDF84831199358 -:10A27000012306938AE0069B012B00F0F185022B57 -:10A2800000F03385B8F80060B5E0202C7ED1529BF9 -:10A29000199A9B1A072B15D0B8F800300C9302239B -:10A2A000069373E0C11A01002546010059430100DD -:10A2B00011C800008545010089AE0000676666662A -:10A2C00000FCFFFF099B9818431E05303AAA13F8BB -:10A2D000011F02F8011B8342F9D19DF8E8008C4C64 -:10A2E000A04705469DF8E900A04700EB05159DF83D -:10A2F000EA00A04706469DF8EB00A04700EB0616D3 -:10A300009DF8EC00A04707469DF8ED00A04700EB44 -:10A310000713C3F3C4032E9A63F304021346C6F370 -:10A32000850666F34A13C5F3C40565F3CF23ADF87C -:10A33000B8309BB20C930223069327E0ADF8E8A057 -:10A340000E9AADF8EA20B8F80C30013B53440344B0 -:10A35000ADF8EC30179B013B1344ADF8EE303DAA4D -:10A360000D993AA86B4B984756E06B4B00936B4B9B -:10A3700040F297126A4902206A4CA047002F05DD7F -:10A38000B8F80C3053443B440FFA83FA5299079BB8 -:10A39000A3EB0B038B4240F2AC844FF6FF7399455D -:10A3A0003FF45DAF089A9A423FF45BAF59440A9874 -:10A3B0005D4B1B68984785B25C4E336852A9099F74 -:10A3C00038469847044633680021529838449847E5 -:10A3D00098F8173013F0010F06D0232C3FF443AF49 -:10A3E000069B012B3FF451AFB8F800600C9B069A16 -:10A3F000022A08BF1E460246214605984C4B984744 -:10A4000007464FF6FF73994506D00899994203D045 -:10A41000A94501D8A94291D80B9B042BAED9059B25 -:10A42000002BA2D098F819300F93002322463AA9A6 -:10A430000598404DA84758B91F2C9FD93E4B009313 -:10A44000364B40F2A11236490220364CA04795E720 -:10A45000BDF8EC201AB9BDF8EA30002B8ED0BDF95A -:10A46000EE505544BDF8EA302B440D98B0F9001079 -:10A470008B4283DBB0F904309D423FF77FAF059BF1 -:10A48000B3F90810B3F90A30CB1A0E990B44991A94 -:10A49000BDF9F030CB1A15931A44B0F902309A4244 -:10A4A000FFF66CAFB0F90630159999423FF766AFE9 -:10A4B00021460598214B98478646F0B1059B1B7BAA -:10A4C00013F0030F00F05E822BB21893BDF95430E5 -:10A4D0001D939DF8F2301293032B00F0FF80013B97 -:10A4E000072B00F20281DFE813F00A012D000001C2 -:10A4F000FB000001000100011101114B0093074B0B -:10A5000040F2B71206490220064CA04736E700BFCA -:10A51000339F0000D9C80000CCC301005CC3010018 -:10A520009CC30100052801006400002058000020A1 -:10A530000906010001060100ECC30100F905010054 -:10A5400014C40100C0231B93AC4B2093BDF8EA3028 -:10A550001E93BDF8EC10129A02FB03F20D9BB3F9A7 -:10A560000030189C9C42BABF1B1B03EB4303002323 -:10A5700027930D9BB3F904301E980446A04880FB36 -:10A580000440189C20449842C3BF1B1B013303EBBB -:10A5900043031E9B14930D9BB3F902301D9C9C42F8 -:10A5A000B4BF1B1B002325930D9BB3F906301D9CE4 -:10A5B0000819984240F3B1801B1B0133289306F021 -:10A5C0001F032293C6F345132493C6F3C423239396 -:10A5D000129B1846279B00FB03F3259800FB0232D1 -:10A5E0000EEBE206319602F007061E9801FB00F121 -:10A5F000B1F5F07FA8BF4FF4F07129910846814C66 -:10A60000A047219029994800A04730907E4B984759 -:10A610007E4B9847B0F91040838A01331B1B19B257 -:10A6200026918168279B764A82FB03E2A2EBE372C4 -:10A63000B0F912301D98C31A2698864618980EFB5A -:10A6400003031B1B259C0EFB0420034401EB430169 -:10A650001891ADB22A44ADF8E020149A96466849A4 -:10A6600081FB0EE3A3EBE273013D2B44ADF8E43034 -:10A67000159D25442BB2ADF8E230ADF8E630644BC1 -:10A6800098472A90289DAC4280F261811499279ABC -:10A690008C1A2B941E9D6B1A1344129901FB03F321 -:10A6A0002C93574A82FB0423C3EBE473269803449C -:10A6B0005B002D93002326931593CDF8C8B0CDF8F9 -:10A6C000CC903497DDF86090DDF8C4B0CDF8C4A02C -:10A6D000DDF8C0A0CDF8D4808846EAE004231293C8 -:10A6E000F0231B934B4B209330E74B4B00934B4B8A -:10A6F00040F27A224A4902204A4CA0473EE6012312 -:10A70000129380231B93484B20931FE70823129337 -:10A71000FF231B93454B209318E728914FE7B8F18F -:10A72000080F04D0DBB2209AD25C00E0159A58AB37 -:10A730000B4403F8842C0131032928D0B44540F39D -:10A740009480129B43441E462EFA08FE0135149B4A -:10A75000AB4200F0908012969BF8003003EA0E02A4 -:10A76000ACEB060322FA03F313F0FF02DED01698D7 -:10A77000FF28D4D0B8F1080F0FBFDAB2DBB2209AAD -:10A78000D25C169B03FB02F2C2F30722CFE79DF8CF -:10A79000DC109AF80130DB08C1F1FF00239A01FBBD -:10A7A00002F200FB0323C3F304231D939DF8DE3064 -:10A7B00018939AF8002002F01F02C3F1FF00229BB9 -:10A7C000189C04FB03F300FB0232C2F304231E9324 -:10A7D0009DF8DD00BAF80030C3F34514C0F1FF0363 -:10A7E000249A00FB02F203FB0423C3F30523F9B907 -:10A7F000F0B9189AE2B9219AD1551DE048C201007A -:10A8000056555555E52E01001165000085150100CE -:10A810006DC400004CC2010044C401006CC30100BF -:10A820009CC301000528010044C201005CC2010074 -:10A83000219A4FF0FF31D15509EB470019F8171055 -:10A840001E9A62F3040109F8171039F8172063F310 -:10A850004A1229F81720120A1D9B63F3C70242709F -:10A8600001370AF1020A002168E70BF1010BDDF85C -:10A870006CE0159E6AE75346CA4699462A9B4BBB35 -:10A880002B9B3B44299A9A4241DDBDF8E6300133C7 -:10A89000ADF8E63026972C9B1E440BEBE60B06F03A -:10A8A00007062D9B9944259B01332593289A9342B3 -:10A8B00044DA1B9B23FA06FE279D149A954207DA79 -:10A8C000269F0021C8F1080C4B46D1469A4642E724 -:10A8D000269FD3E7269B219A13441C46BDF9E0101E -:10A8E000BDF8E43001335B1A1BB2BDF9E620204607 -:10A8F000AB4DA8470028C3D1BDF8E4100131BDF825 -:10A90000E030C91A09B22046A64B9847B8E70F9B1A -:10A910000293169B019302230093219B524638A970 -:10A920000D98A14CA047BDF8E63001331BB2ADF83D -:10A93000E230ADF8E63000232693ACE7DDF8C8B08E -:10A94000DDF8CC90349FDDF8C4A0DDF8D480BDF9EB -:10A95000E630BDF9E2209A420ED0013BADF8E63078 -:10A960000F9B0293169B019302230093219B309A25 -:10A9700038A90D988C4CA04721988C4CA047309852 -:10A98000A047FBE42CB2BDF95400ADF88C609DF8F3 -:10A99000F2302093032B00F0C180013B072B00F223 -:10A9A000C580DFE813F0CD000800C300BD00C30080 -:10A9B000C300C300D5000423C02212927C4A229215 -:10A9C0001699F9292BD87B4A92F800218A4200F087 -:10A9D000C880D3B1229E721E76490139013B06EB35 -:10A9E000030C169B1E46CDF850B09B4612F8013F53 -:10A9F000FF2B1ABF0BFB03F3C3F30723334601F806 -:10AA0000013F9445F2D1DDF850B06A4B9DF85820D3 -:10AA100083F80021209AC3F804211C9B2293BDF8DF -:10AA2000EA302493BDF8EC20209901FB03FC0D9B38 -:10AA3000B3F900309C42B4BF1B1B002314930D9B41 -:10AA4000B3F90430249921449942C6BF1B1B01333A -:10AA5000249B25930D9BB3F902309842B4BF1B1A77 -:10AA6000002326930D9BB3F9063011189942C3BFFA -:10AA70001B1A01331B931B92149B2193209903FBF8 -:10AA800001F4269800FB0C440EEBD40604F00704F6 -:10AA9000249902FB01FE7246BEF5F07FA8BF4FF479 -:10AAA000F0721D921046444B98471890ADB2149B1B -:10AAB000EB18ADF8E030013D259AAB18ADF8E43065 -:10AAC000159D269805442BB2ADF8E230ADF8E6307E -:10AAD0003A4B98471E902099C1F10805249A149B7F -:10AAE000D318259A9B1A01FB03F3209326981B9BEE -:10AAF000984280F2DF804FF0000ECDF890B0CDF894 -:10AB0000989027970F461595CDF8A0A0DDF894A052 -:10AB10008146CDF89480DDF888807AE00423209384 -:10AB20001023F0221292264A229249E7254B0093E5 -:10AB3000254B40F2E51225490220254CA0471DE493 -:10AB400001232093022380221292224A229237E785 -:10AB5000082320934FF48073FF2212921E4A229200 -:10AB60002EE7144AD2F80421209991427FF431AFA4 -:10AB70004BE701361298002401318C452ED03378F2 -:10AB800003402A1BD34013F0FF0F1ABFDBB218F8A3 -:10AB9000033000230B70A542EBD93C44F840EBE7AF -:10ABA000C5C30000DF30010029880000192B010017 -:10ABB00048C20100502A0020E52E01006DC40000AB -:10ABC0004CC201006CC4010080C301009CC30100A1 -:10ABD0000528010044C201005CC2010015951E9BBE -:10ABE00053BB149BAAEB03035B441D9A9A423FD9C3 -:10ABF000BDF8E6300133ADF8E630DE46209B1C445C -:10AC000006EBD40604F0070409F101091B9B9945E2 -:10AC100047DA129B23FA04F0149B53450ADA189A78 -:10AC200002EB0E01219BAAEB030BF34402EB0B0C8E -:10AC3000159DA4E7F346D2E7189B73441846229368 -:10AC4000BDF9E010BDF8E43001335B1A1BB2BDF969 -:10AC5000E620854DA8470028C3D1BDF8E410013196 -:10AC6000BDF8E030C91A09B22298804B9847B8E77E -:10AC70000F9B0293FF23019302230093189BBDF8BF -:10AC80008C2038A90D98DFF8E8B1D847BDF8E63038 -:10AC900001331BB2ADF8E230ADF8E6304FF0000EF4 -:10ACA000ACE7DDF890B0DDF89890279FDDF8A0A024 -:10ACB000DDF89480BDF9E630BDF9E2209A420FD06C -:10ACC000013BADF8E6300F9B0293FF230193022373 -:10ACD0000093189BBDF88C2038A90D98644CA047B0 -:10ACE0001898644B9847FFF749BB00230693FFF77A -:10ACF0004DBB5346CA46994698F8183013F0020FD8 -:10AD000046D198F8183013F0010F62D10A9A079DC6 -:10AD10005619B8F90C2098F817300093109B059934 -:10AD20003046554CA0474419139BB3F9005098F88E -:10AD3000172012F0040F6CD112F0080F7ED10E9B79 -:10AD400017990B441BB2119A0A4492B21192DDF882 -:10AD50001CB00E930D9AB2F906209A42FFF63FA955 -:10AD600007940A9A13465B44099312F80B30002BA0 -:10AD70003FF435A91A9B1D440FFA85F9002352931D -:10AD800006933E4B1C934B46D1469A46FFF7FEBABC -:10AD9000BDF87C30ADF8E030D8F80430B3F90830B5 -:10ADA00003EBD372BDF94E3103EBD3735B1003EBAE -:10ADB0006203119A13441BB2ADF8E230ADF8E8908B -:10ADC000ADF8EA3053AB0D9A3AA938A82C4CA047FD -:10ADD00097E7BDF87C30ADF8E030D8F80420BDF935 -:10ADE0004E3103EBD3735B10013311890B4452894D -:10ADF0009B1A119A13441BB2ADF8E230ADF8E890FB -:10AE0000ADF8EA3053AB0D9A3AA938A81C4CA047CC -:10AE10007CE7B8F90C300092059A01463046194E8D -:10AE2000B047139A9388013312889B1A1BB2181AE1 -:10AE300000EBD07005EB60052DB280E7B8F90C305F -:10AE40000092059A014630460E4EB047139A9388F9 -:10AE5000013312889B1A1BB2181A05442DB26EE7F3 -:10AE600000230693FFF70EBAC5C30000DF300100D0 -:10AE7000F97C0000192B010059430100502A0020E1 -:10AE8000B9AE00008545010010B504460A21094B02 -:10AE9000984701236380FF23237223786FF3040311 -:10AEA000237023886FF34A1323801B0A6FF3C703B1 -:10AEB000637010BDDF3001002DE9F04FCBB0B3F966 -:10AEC0000250002D00F018841C7A052C40F21484E6 -:10AED000B0F90060B1F90070BE4200F030811C464C -:10AEE000964608920791069005EBD575C5F34F0578 -:10AEF000BE42D4BFC5EB0603C5EB0703ADF8203156 -:10AF0000BE42ACBFAB19EB19ADF824310F46B1F915 -:10AF100002200646B0F902309A42D4BFC5EB0201C6 -:10AF2000C5EB0301ADF822119A42ACBFAD18ED1884 -:10AF3000ADF82651724648A90846AB4B9847002801 -:10AF400000F0DA83B6F90260B7F90250AE4200F0C1 -:10AF5000FE80069BB3F900301A460593079BB3F9B0 -:10AF600000A0524500F00182AE4206DB33462E4679 -:10AF70001D46059BCDF814A09A46059BAAEB03033A -:10AF80000993AA1B0A92002BB8BF5B429B46002A7A -:10AF9000B8BF52429046B4F902909342C7BF5301E2 -:10AFA00093FBFBF34FEA4B1393FBF2F38F4AD35C13 -:10AFB00009FB03F909F13F094FEAE9131F469BB268 -:10AFC00005988245D4BFC3EB0A02C3EB0002ADF87B -:10AFD00038208245ACBF03EB0A021A18ADF83C20BA -:10AFE000B542D4BFC3EB0502C3EB0602ADF83A206D -:10AFF000B542ACBF5B199B19ADF83E3048AA0EA90B -:10B000000846794B9847002800F072834FEA2929B7 -:10B0100007F001034B440B93C34540F3B682099AF2 -:10B02000002A40F38E821FFA86FB1FFA89F31FFA6B -:10B0300085F9ABEB030200210191A9EB03031BB2DD -:10B040000093534612B2059912A8694FB847BDF84C -:10B050002C800BEB080201230193C1440FFA89F302 -:10B060000093534612B205991DA8B847002112A8B3 -:10B07000DFF89C81C0470B9000211DA8C0470C90B1 -:10B08000637A13F0100F00F0A4824FF0FF330D939A -:10B090000A93584B9847584B98478246068ABDF802 -:10B0A0003850AD1BAAB2ADF83820408ABDF83A102E -:10B0B000091AADF83A10BDF83C309B1B9BB2ADF8B5 -:10B0C0003C30BDF83E10091AADF83E105D1CAD1ABB -:10B0D0002DB20EA8494B9847B0F5F07FC0F0A28280 -:10B0E0004FF4F07B5846464B98478146BAF81030EB -:10B0F000BDF838201A4412B20592ADF84020BDF8D0 -:10B100003C201344ADF84430BDF83A30BAF8122070 -:10B1100013441BB2ADF84230ADF846305946394BB6 -:10B120009847BAF91220BDF93A601644BDF93E308D -:10B1300013449E4200F3B98200270994A0E2B0F9BB -:10B1400002E0B1F90240A6457FF4C9AED4E294F81A -:10B150000890284B9847284B98470746B4F9023087 -:10B16000013B5E1003F001039D19B4F90630002B7A -:10B1700035D0B4F9048018F1000818BF4FF0010869 -:10B18000214B984770BB88F00102079BB3F9003050 -:10B190000699B1F9001018468B42A8BF0846ADF8D1 -:10B1A000A0008B42B8BF0B46013BADF8A430069916 -:10B1B0004B885D1BADF8A2503344ADF8A6304AB3BE -:10B1C000637A03F003030293CDF804900123009304 -:10B1D0000023228828A948A80C4DA84788E24FF0F0 -:10B1E0000008CDE70022D0E7C11A010088C40100A1 -:10B1F00091C400001165000085150100A51A010029 -:10B20000E52E0100953101006DC40000F97C0000BD -:10B2100069C3000028AA48A91046A14B98470028F6 -:10B2200000F06682BDF9A0E0B7F910108BB2AEEB6A -:10B23000030292B20FFA82FCADF8A0C0BDF9A200E1 -:10B24000B7F81290A0EB0905ADF8A250BDF9A460C3 -:10B25000F31A9BB2ADF8A430BDF8A650A5EB0905D2 -:10B26000ADF8A65001339A1A15B2ADF8CCE0ADF89E -:10B27000D060ADF8CE00ADF8D200B8F1000F1CD010 -:10B280006144B4F90620B4F904301A4491FBF2F396 -:10B2900002FB13110BB20A9309952846814B98477C -:10B2A0008246BDF9A260BDF9A630B34259DBDFF892 -:10B2B0001092DFF808B2059535E00021EAE7B4F90D -:10B2C00006E073449A42BABF0AF8001013460B46D0 -:10B2D000013000B201331AB2854207DDB4F90430FF -:10B2E0009342ECDB1844801A00B2F1E70595022086 -:10B2F000637A03F003030293237A01930090534689 -:10B30000228833A948A8D847BDF8CE300133ADF81C -:10B31000CE30BDF8D2300133ADF8D2300136BDF9B0 -:10B32000A6309E421DDC09995046C8477A8A3244AD -:10B33000398ABDF8A0301944059B12B209B25046B3 -:10B34000594DA847B8F1000FD2D00028D0D0059BA6 -:10B35000002B04DD0A9A002001461D46BEE70220AC -:10B36000C6E75046514B9847C2E194F80890504BBD -:10B370009847504B98478046B4F90250013D6F10F2 -:10B3800005F001053D44B4F906302BB1B4F9046071 -:10B39000003618BF012600E00026474B984710B939 -:10B3A00086F0010200E0002206990B885D1BADF8D3 -:10B3B000A0501F44ADF8A470079BB3F90230B1F957 -:10B3C000021018468B42A8BF0846ADF8A2008B4277 -:10B3D000B8BF0B46013BADF8A63072B1637A03F0FB -:10B3E00003030293CDF804900123009300232288E5 -:10B3F00028A948A8314DA8477AE128AA48A91046AB -:10B40000274B9847002800F07381BDF9A000B8F8D9 -:10B410001030C51AADB2ADF8A050BDF9A220B8F8F1 -:10B420001270D11BADF8A210BDF9A410CB1A9BB2BB -:10B43000ADF8A430BDF8A6E0AEEB0707ADF8A670F6 -:10B4400001335B1B1BB20993ADF8CC00ADF8D010F3 -:10B45000ADF8CE20ADF8D2200A931846114B98478C -:10B46000059076B1B8F91020BDF9A0703A44B4F94E -:10B470000630B4F904703B4492FBF3F703FB172743 -:10B4800000E000273FB2BDF9A250BDF9A6309D42B1 -:10B4900053DCDFF82C90DFF810A0DFF820B02CE0B0 -:10B4A000C11A0100E52E0100C5C30000192B0100DF -:10B4B00011650000851501006DC40000F97C0000D5 -:10B4C0009531010001373FB200230293237A0193A3 -:10B4D0000090059B228833A948A8D847BDF8CE30F4 -:10B4E0000133ADF8CE30BDF8D2300133ADF8D230F3 -:10B4F0000135BDF9A6309D421FDC0A990598C84761 -:10B50000B8F812202A44B8F81010BDF8A030194439 -:10B51000099B12B209B20598D047002ED4D000285A -:10B52000D0D0B4F90420BA42B8BF0020B4F9063034 -:10B5300013449F42A8BF0027C4E70598974B98473C -:10B54000D6E01FFA86FBBDF82C80A9B20BEB0802EF -:10B55000002301930F4688440FFA88F30093534663 -:10B5600012B2059912A8DFF83882C0471FFA89F392 -:10B57000ABEB030201210191FB1A1BB2009353466E -:10B5800012B205991DA8C04770E5BDF814B0BDF80A -:10B590002C801FFA8AF31F464344D84400220192AC -:10B5A00000951BB232460FFA88F112A8DFF8F0813D -:10B5B000C0471FFA89F9A7EB0903ABEB0909012280 -:10B5C000019200951BB232460FFA89F11DA8C047BF -:10B5D0004CE5BDF82880BDF824900599A1EB08033F -:10B5E0000322019209EB060212B200921BB232460C -:10B5F00028A86B4EB047AAEB08030222019209EB80 -:10B60000050212B200921BB22A46514633A8B04737 -:10B61000002128A8634DA8470A90002133A8A84715 -:10B620000D9036E50EA8604B984783465AE52946AB -:10B6300040465E4B98472DE0099A537A03F0030386 -:10B640000293137A0193022300934B46128848A970 -:10B6500010A8574CA047BDF8463001331BB2ADF8D7 -:10B660004230ADF8463059464846524B984700277D -:10B670000136BDF93E30BAF9122013449E4213DC64 -:10B6800009EB07082B4632B2059940464A4CA047C1 -:10B690000028CCD02F44EB199B45CDD9BDF84630BE -:10B6A0000133ADF84630E3E7099CBDF94630BDF9FA -:10B6B00042209A4210D0013BADF84630637A03F045 -:10B6C00003030293237A0193022300934B462288BB -:10B6D00048A910A8364DA8474846304B98470B98C4 -:10B6E000364DA8470C98A8470A98A8470D98A84730 -:10B6F000637A13F00C0F02D14BB0BDE8F08F33A882 -:10B700002F4B98472388ADF8CE3047F6FF73ADF83E -:10B71000CC30237A8DF8D830B4F902305E1083F043 -:10B72000010303F00105637A13F0040F1CD1637A5F -:10B7300013F0080FE0D007990A88B6B2931BADF852 -:10B74000A03049888B1BADF8A230ABB23244D21A7C -:10B75000ADF8A4200E44F31AADF8A63033AA089928 -:10B7600028A8184B9847C7E706980288B3B2D11AA1 -:10B77000ADF8A0104088C11AADF8A210A9B21A44C1 -:10B78000521AADF8A42003445B1AADF8A63033AAD0 -:10B79000089928A80B4B9847C9E700BF192B01004F -:10B7A00091C4000069C30000A51A0100DF30010048 -:10B7B000F97C000095310100C5C3000015C40000EC -:10B7C00011C80000D9C800002DE9F041069CA58AE7 -:10B7D000521B12B2658A4D1B2DB2216A00294BD132 -:10B7E00094F8281011F0010F16D0237C03F0030306 -:10B7F000012B40F2DB81022B04D0032B06D000206A -:10B80000BDE8F0810132D00FBDE8F081002AD4BF3D -:10B8100000200120BDE8F081227C02F00302911E8D -:10B82000C9B2012940F2C581012A0CD0B2B9E91888 -:10B8300000F1C2816D42002DC0F2C181AB4207DC34 -:10B840000220BDE8F081002D08DD0120BDE8F08177 -:10B850002844CD4B98470220BDE8F081DD4200F13D -:10B86000B181694221EAE1718B4240F3AE81C64B5E -:10B8700098470220BDE8F08194F8286016F0010F87 -:10B880000FD1A76902FB07F18912002FCCBF01F18C -:10B89000010E8E46754540F39880C6F34000BDE822 -:10B8A000F081E16905FB01F7BF12002906DD97422F -:10B8B00040F3B881C6F34000BDE8F081974280F2C2 -:10B8C000ED81C6F34000BDE8F08186F00200C0F3D0 -:10B8D0004000BDE8F08186F00200C0F34000BDE802 -:10B8E000F0810025D4E1F44688F800C0636AD21ADA -:10B8F00001350136BD4249DA636A9A421DDD002DE9 -:10B90000F4DBBD42F2DAA2EB6303DBB294F828C0A9 -:10B910001CF0020F1CBFDB43DBB2B04696F800C040 -:10B92000F92BE1D8052BDED903FB0CF303EB032C39 -:10B9300003EBCC13C3F3C75CD6E7BD4226DA002D78 -:10B9400024DBA36903FB02F39B1202FB03F2C2F3A5 -:10B950004722E369002BBCBFD243D2B294F828300F -:10B9600013F0020F1CBFD243D2B24619435DF92A2D -:10B970000BD8052A08D902FB03F202EB022302EBE3 -:10B98000C312C2F3C75300E00023337094F8283089 -:10B9900013F0020F0AD08F42C0F21A810029C0F2C0 -:10B9A0001A81794B98470220BDE8F081013500F1FA -:10B9B0001581BD4202DD0220BDE8F081791B2844DB -:10B9C000714B98470220BDE8F08105EB030E7145ED -:10B9D00005DD86F00200C0F34000BDE8F0811102F1 -:10B9E00007FB01F14FEAA148C1F38721013212029E -:10B9F00007FB02F24FEAA24CA8EB050EE04563D02C -:10BA0000002F5BDBC1F1FF01E26902FB01F295123D -:10BA1000BEF1000F1CDB73451ADD05FB01F1C1F31C -:10BA2000472216F0020F04BFD243D2B200EB0E063B -:10BA300010F80E10F92A0AD8052A40F2A18002FB5C -:10BA400001F202EB022102EBC112C2F3C7513170C5 -:10BA50001EF1010120D48B421EDDC5F1FF02A56954 -:10BA600005FB02F5AD1202FB05F2C2F3472294F882 -:10BA7000285015F0020F1CBFD243D2B2455CF92A00 -:10BA800009D8052A7ED902FB05F202EB022502EB5A -:10BA9000C512C2F3C755455494F8282012F0020F7E -:10BAA00074D07345C0F2B280BEF1000FC0F2B18015 -:10BAB0007146354B98470220BDE8F081002940F0DF -:10BAC00000810EF1FF3EFF21BEF1000F1EDB73452A -:10BAD0001CDDC2F387220A44C2F3470216F0020FAC -:10BAE0001CBFD243D2B200EB0E0610F80E10F92A9A -:10BAF0000BD8052A08D902FB01F202EB022102EB66 -:10BB0000C112C2F3C75100E00021317094F828201F -:10BB100012F0020F0AD0ACEB05018B4261DD002967 -:10BB200062DB194B98470220BDE8F0810EF101025B -:10BB30009A42A8BF1A46002A59D0002A5ADD991AFB -:10BB40001044114B98470220BDE8F0810025DCE04D -:10BB5000002500E1002950DD0B4B98470220BDE88D -:10BB6000F0810EF1010E73454ADBBEF1000F4ADB96 -:10BB7000A3EB0E017044044B98470220BDE8F0810E -:10BB8000002164E7002586E7DF3001000EF10202A4 -:10BB90009A42A8BF1A46002A3ED0002A3FDD991AD1 -:10BBA0001044734B98470220BDE8F0810120BDE8A6 -:10BBB000F0810120BDE8F0810120BDE8F081002086 -:10BBC000BDE8F0810020BDE8F0810020BDE8F081F3 -:10BBD0000020BDE8F0810220BDE8F0810020BDE832 -:10BBE000F0810020BDE8F0810220BDE8F081002056 -:10BBF000BDE8F0810220BDE8F0810220BDE8F081BF -:10BC00000120BDE8F0810220BDE8F0810020BDE800 -:10BC1000F0810220BDE8F0810020BDE8F081022023 -:10BC2000BDE8F0811F462B4401FB03F1B2EBA12FCD -:10BC30003FF74BAE1202A36903FB02F39B121912EA -:10BC400013F0FF0339D0C3F1FF03626A02FB03F272 -:10BC50004FEA222ECEF1FF02491B1AD4B94218DA5C -:10BC60000EFB03F3C3F3472316F0020F04BFDB43BD -:10BC7000DBB24618455CF92B0AD8052B7FF631AEAE -:10BC800003FB05F303EB032503EBC513C3F3C75510 -:10BC900035704D1C46194FF0000E2DE61F462B4403 -:10BCA00001FB03F1B2EBA12FFFF615AE0132120238 -:10BCB000A36903FB02F39B12C1E74D1B2946FF2238 -:10BCC000E8E7E269524201FB02F29212BEF1000F74 -:10BCD0001CDB73451ADD02FB01F1C1F3472116F0AD -:10BCE000020F1CBFC943C9B200EB0E0610F80E507C -:10BCF000F9290AD805297FF629AF01FB05F101EBE7 -:10BD0000012501EBC511C1F3C7553570BEF1010125 -:10BD100022D48B4220DDC2F1FF02A5696D4202FBF5 -:10BD200005F5AD1202FB05F2C2F3472294F8285044 -:10BD300015F0020F04BFD243D2B2455CF92A0AD8EB -:10BD4000052A7FF605AF02FB05F202EB022502EBA6 -:10BD5000C512C2F3C755455494F8282012F0020FBB -:10BD60003FF4FFAE8B42BFF6F5AE0220BDE8F08196 -:10BD7000DF3001002DE9F04F8DB0169DAE7C06F04E -:10BD80000106B5F91080EC1D05F10F090DF1280E23 -:10BD900014F8017F0EF8017B4C45F9D1002E3DD1FE -:10BDA000BDF92A40944200F32B82BDF92E40944203 -:10BDB000C0F22A829B460F460290BDF9289008EBFC -:10BDC0000903994206DB5944BDF92C30A3EB080363 -:10BDD00099420BDDBDF92A3003EB08018A4253DB9F -:10BDE000BDF92E10A1EB08018A424DDC86BBA9EB00 -:10BDF00007045C4500F30C82002C03DB214602980B -:10BE00009F4B9847BDF92C00C01B0130002840F320 -:10BE1000018283450DDCBCB10220F2E1BDF92A406C -:10BE2000944200F3F381BDF92E409442C2DA01201E -:10BE3000E7E1ABEB0001029B03441846904B9847A7 -:10BE4000002CE9D10220DCE18345E5D10120D8E1D5 -:10BE5000A9EB070020EAE070584501DD0220D0E19F -:10BE6000BDF92C10C91B091A013143189B45B8BFF5 -:10BE7000ABEB00010029C0F2CF81029B03441846BE -:10BE80007F4B98470220BCE1BDF92CA09BB2BDF8C6 -:10BE90002E100131C91A09B2D21A08FB08F3019316 -:10BEA00012B2904500F3D181A1EB0803013B9A4205 -:10BEB00000F3B4810220A4E16B8BADF81A302B8B18 -:10BEC000ADF81830D6E1049A07A9019B00FB1030A9 -:10BED0006C4B9847049A06A9019B04FB1430694BEC -:10BEE00098476C61BDF81A306B83BDF818302B830E -:10BEF000D1E1BDF81E10002940F0D581013AADF81E -:10BF00001C20FF22ADF81E20CDE1BDF81A20BDF89F -:10BF10001E100A44C2F347020EB1D243D2B2A8EBBC -:10BF20000303013BF91811D459450FDA0298405C1C -:10BF3000F92A09D8052A35D902FB00F000EB0024C4 -:10BF400000EBC410C0F3C750029C6054A9EB03037C -:10BF5000013BDF1911D45F450FDA029BDB5DF92A43 -:10BF600009D8052A20D902FB03F202EB022302EBD7 -:10BF7000C312C2F3C753029AD355BEB1481C20EA7C -:10BF8000E0705F45D4BF391AABEB0001584580F231 -:10BF900019810029C0F21681029B03441846384BD0 -:10BFA00098470FE10020CFE70023E4E7594500F36D -:10BFB0002581002902DB0298314B9847013700F1B7 -:10BFC0001D815F4500F3FE80ABEB0701029B3B4404 -:10BFD00018462B4B9847F5E0049A09A9019B08FBEA -:10BFE0001830284B9847BDF82610BDF81A30C3F119 -:10BFF000FF02C1F1FF0303FB02F3C3F347230EB9B2 -:10C00000DB43DBB203980246002811DB58450FDA08 -:10C01000029C2018A25CF92B09D8052B29D903FB17 -:10C0200002F202EB022402EBC412C2F3C752027006 -:10C03000BAF1000F13DBDA4511DA029C04EB0A00B7 -:10C0400014F80A20F92B09D8052B14D903FB02F3A5 -:10C0500003EB032203EBC213C3F3C7520270039B2B -:10C06000013B03930AF1010AADF8221008F101081F -:10C070005EE10022DBE70022F0E7002739E000BFA5 -:10C08000DF300100C528010000270EF808700138D4 -:10C09000013401311A46019DA94240D809EB12171B -:10C0A00001FB11A307FB07FCCCEB03234FEA470C72 -:10C0B00093FBFCF31F44C7F30F1C3F0107F0F00391 -:10C0C0001A44C2F347020EB1D243D2B2002812DBA7 -:10C0D000834510DD80461EF80070F92A09D8052A2C -:10C0E000CBD902FB07F505EB052705EBC717C7F30F -:10C0F000C7570EF80870002CC9DBA345C7DDA04662 -:10C100001EF80470F92AC0D8052ABDD902FB07F22F -:10C1100002EB022702EBC717C7F3C757B5E7DDF8F5 -:10C120001080DDF814A0EA434244039911440391BE -:10C130000135AA44AAEB080AADF82230ADF824C0B4 -:10C14000ADF82630BDF82230002B3AD0BDF81E20C5 -:10C1500003FB02F3C3F347230EB1DB43DBB2039AC5 -:10C16000002A12DB934510DD029801461144825CDF -:10C17000F92B09D8052B27D903FB02F202EB022089 -:10C1800002EBC012C2F3C7520A70BAF1000F13DB00 -:10C19000D34511DD029800EB0A0110F80A20F92BB3 -:10C1A00009D8052B12D903FB02F303EB032203EB9F -:10C1B000C213C3F3C7520A70039B013B03930AF1F6 -:10C1C000010A2EB102201CE00022DDE70022F2E786 -:10C1D00003990131594511DC002902DB0298604BBB -:10C1E0009847BAF1000F09DBDA45EBDAABEB0A014D -:10C1F000029B534418465A4B9847E3E7002000E05F -:10C2000000200DB0BDE8F08F0020FAE70120F8E72C -:10C210000020F6E70020F4E70220F2E7B8F5807F7F -:10C22000D4BF4FF400634FF400430493891AA8EB82 -:10C230000100441C6B6998427FF445AE6B8BADF8EE -:10C240001E302B8BADF81C3044E6B8F5807FD4BF90 -:10C250004FF400634FF400430493A8EB02046B69AE -:10C260009C423FF429AE049A06A9019B04FB1430BA -:10C270003C4B9847631E049A07A90393019803FB5C -:10C280001300384B9847039B6B61BDF81E306B83DE -:10C29000BDF81C302B83BDF81830BDF81C20511E92 -:10C2A0008B423FF426AEA9EB07070AF1010AAAEB7D -:10C2B00009090FFA89F9BDF81C209A423FF425AE0E -:10C2C0000133A8EB030807EB08030393A9EB080865 -:10C2D00008F1FF3ABA4486B1581C20EAE070DA450A -:10C2E000D4BFAAEB0001ABEB0001584505DA0029E9 -:10C2F00003DB029B18441A4B9847BDF8180000F165 -:10C300000108049A08A9019B00FB1030154B9847BF -:10C31000BDF822303BB9BDF82030013BADF82030EC -:10C32000FF23ADF82230BDF820309C427FF754AE99 -:10C33000BDF81C50A8453FF605AFBDF820904FEA68 -:10C340000919BDF82220414654460398CDF81080C3 -:10C35000CDF814A0DDF804A00195DDF808E09DE615 -:10C36000DF300100C528010010B582B0104B1B68FA -:10C370009BB10F4A0123946884B10133DBB20832C8 -:10C38000102BF8D10B4B00930B4B57220B4902207B -:10C390000B4CA0474FF0FF3007E00023044A42F85F -:10C3A000330002EBC302516018B202B010BD00BFEF -:10C3B000886D002008C50100ACC40100D8C401008C -:10C3C000052801002DE9F04782B0114C2468ECB13A -:10C3D0009A469146884607460D4E002500942468EB -:10C3E00053464A4641463846A047044650B10228C3 -:10C3F00008BF012556F8084F002CEFD1002D14BFBF -:10C4000002240124204602B0BDE8F0870124F9E7A8 -:10C41000886D0020B0F1FF3F0AD0064B53F8301072 -:10C42000002243F8302003EBC0035A6008467047EF -:10C430000021FBE7886D002070B40B4B1A1D03F13F -:10C4400080040026354603E008330832A34208D0B2 -:10C4500059688142F8D152F8046C42F8045C5D607E -:10C46000F2E7304670BC7047886D00200023184604 -:10C47000064902E00133102B06D051F83320002A80 -:10C48000F8D00130C0B2F5E7704700BF886D0020DA -:10C490002DE9F04104460F4615469846BDF918604F -:10C4A0002C214A4B9847B54205DD2B4635461E46A2 -:10C4B0003B464746984627816581A4F80C80E68173 -:10C4C000237C9DF81C2062F3010323746782A582FC -:10C4D000A8EB0707751B87EAE771A1EBE77185EA0F -:10C4E000E573A3EBE5739942D4BF0021012194F8D1 -:10C4F000282061F3000284F828200021E161A16175 -:10C50000334B2360217112F0010F25D03FB14FF45E -:10C51000801393FBF7F305FB03F39B12E3613DB13B -:10C520004FF4801696FBF5F507FB05F7BF12A761E0 -:10C53000E3692362237C13F0030322D194F82830AB -:10C540006FF3410384F82830236A9A10002BB8BF98 -:10C5500052426262BDE8F0813DB14FF4801393FB1B -:10C56000F5F307FB03F39B12A3613FB14FF480186F -:10C5700098FBF7F705FB07F5AD12E561A3692362A8 -:10C58000D8E7012B0FD0022B14D0032BDCD1236A68 -:10C59000002B94F82830CCBF6FF3410343F0020323 -:10C5A00084F82830D0E794F8283043F0020384F868 -:10C5B0002830C9E7236A002B94F82830CCBF43F019 -:10C5C00002036FF3410384F82830BDE7DF30010038 -:10C5D000C9B7000070B4CC8801344D88641B8D88C5 -:10C5E00001350E88AD1B24B22DB2AC42A8BF2C463B -:10C5F0006410A242C8BF22B2013900F1100600F156 -:10C60000080411F8015F04F8015BB442F9D1028219 -:10C61000827C63F300028274054B03600223037182 -:10C620004FF00043436100234383038370BC704792 -:10C6300075BD00002DE9F04F8BB00690894607923A -:10C640004FEA610BCDF808B011F0010F06BF0BF1F6 -:10C65000FF330893CDF820B0069C67003846694B3D -:10C6600098470590002C40F3BE80BA1EC119039173 -:10C67000079D4FF0000804F1FF3A0899AAEB010169 -:10C6800004910646CDF824B09346CDF8049035F8D1 -:10C690000B3009FB03F3BAF1000F1BDB029A02EB2C -:10C6A0000A01049A013A03984FF0000E20F8023D67 -:10C6B0008C42CCBF35F811C0F446A3EB0C03002A22 -:10C6C000B4BFB5F800C035F812C063440139013A6F -:10C6D000B042EBD13A46314628464B4B98473D4451 -:10C6E00008F10108A045D0D1DDF824B0079A1388DD -:10C6F000019993FBF1F31380069B03FB03F5012DD6 -:10C7000011D9079A0121019E104632F8023F008894 -:10C7100098421CBF93FBF6F313800131A942F3D377 -:10C72000069B002B59DD079E0296089901FB0772B4 -:10C730006FEA0B035B1A069D05FB03F306936B1E62 -:10C7400005FB03F306EB430307934FF0000A931E28 -:10C75000089301F10109029B1E4602331A46029317 -:10C760003388019901FB03F308998D18059AA2F10A -:10C77000020CE046B6460022CDF80CC00496069E98 -:10C78000DDF81CC0002BACBF9911002128F8021F56 -:10C790001146A2EB0B000028D4BFBEF8000035F80C -:10C7A00016001B1A49448C42CCBF29883CF81A1049 -:10C7B0000B440132BE443D44A242E3DBDDF80CC031 -:10C7C000049E00233CF8022F328001333E44A342F2 -:10C7D000F8DB0AF1010AA245BDDB05980B4B98472F -:10C7E0000BB0BDE8F08FCDF80490079A138893FB47 -:10C7F000F9F9A2F80090069B03FB03F5012D80D800 -:10C80000EBE700BFE52E0100FD2B0100192B010015 -:10C8100010B5044654212D4B98472D4B1B8863803F -:10C8200023796FF304032371A3886FF34A13A38062 -:10C830001B0A6FF3C7036371A37B6FF30403A37336 -:10C84000E3896FF34A13E3811B0A6FF3C703E373B2 -:10C8500094F834306FF3040384F83430A38E6FF30C -:10C860004A13A3861B0A6FF3C70384F8353094F884 -:10C8700046306FF3040384F84630B4F846306FF363 -:10C880004A13A4F846301B0A6FF3C70384F84730F5 -:10C89000A37F6FF30403A377E38B6FF34A13E38360 -:10C8A0001B0A6FF3C703E377FF23638123732377A7 -:10C8B000237584F83630074A226384F844302264B2 -:10C8C00084F828300F23638210BD00BFDF300100E1 -:10C8D00060C50100100000202DE9F04FB1B0C48800 -:10C8E0004588631C5B1B1BB2002B41F30F808688BD -:10C8F000B0F80080731CA3EB08031BB2002B41F3BC -:10C900000580924604910690B2F92070002F00F045 -:10C91000198792F828300993052B40F21387136A80 -:10C92000012B00F0F680BAF82220BAF82630D11A8E -:10C9300088441FFA88F8ADF850801A441644B6B2FD -:10C94000ADF85460BAF82420D11A0D44ADB2ADF858 -:10C95000525013441C44A4B2ADF8564007EBD773B1 -:10C960006FEA630292B208EB0201ADF858105B1057 -:10C9700001339BB2F118ADF85C102A44ADF85A208F -:10C980002344ADF85E30099BFB2B28BFFF2309939E -:10C99000BE4B9847BE4B98478146049A16A918A8E3 -:10C9A000BC4B9847002800F0CD86B9F81010BDF8B0 -:10C9B00060305B1AADF86030B9F81220BDF8623013 -:10C9C0009B1AADF86230BDF864305B1AADF8643084 -:10C9D000BDF866309B1AADF86630069A531ED01D1E -:10C9E0001AAA13F8011F02F8011B9842F9D1BDF8E9 -:10C9F000683001331FFA83FEADF868E0BDF86A10B5 -:10CA0000013188B2ADF86A00BDF86C305A1EADF83D -:10CA10006C20BDF86E104A1EADF86E20BAF90020E9 -:10CA2000A3EB0E031BB2091A09B28B42A8BF0B4637 -:10CA30005B109342A8BF13460E930136A6EB08067F -:10CA4000B6B233B20134641BA4B225B29D42A8BF72 -:10CA50001D466D109542A8BF154607EB050909FB59 -:10CA600009F040008C4B98470A90BAF920B02AB2DE -:10CA700002EB0B070DF14F0122AB0DF1900E11F8F7 -:10CA8000010F03F8010B7345F9D10BEBDB71C1F317 -:10CA90004F014B1E1BF0010010900CBF0120002025 -:10CAA0001B1A2B449BB2ADF88C30013189B2ADF822 -:10CAB0008A109B1BADF888302144ADF88E100023FE -:10CAC00022A929A8754CA047BBF1010F02F0D8811B -:10CAD0004FEA6B030B93079738466F4B98470C90C0 -:10CAE000002F5CDD079B4FEA430B07F10043013B3E -:10CAF0005B000A9C0025DFF8B8813AB20892CDF8B5 -:10CB0000349005970C9E9946CDF83CA0DDF82CA0FA -:10CB100014E0B2F92430002B7FF405AFB2F92630CF -:10CB2000002B3FF700AF00F00DBE594620465C4B8E -:10CB300098475C440135059BAB422BDD0799304695 -:10CB4000C04729AB0093089B2AB200213046299F99 -:10CB5000B8470028E9D0D64633789B0193FBFAF317 -:10CB60002380059B012BE4DD3146224604EB0900BE -:10CB70001F468C4611F8013F9CF800C09C450EBF33 -:10CB800013889B0193FBFEF3538002329042F0D155 -:10CB90000597CEE7DDF834901F46DDF83CA00C98F1 -:10CBA000404B98470B9B012B02F04D813CB20A9EF3 -:10CBB00032460B9D294620463B4B9847109A2A4403 -:10CBC00011B2012922DD0D4633889B0193FBF1F35D -:10CBD00032463380079800FB00F0012812D900F19B -:10CBE0000040013806EB400001E082420AD01646C0 -:10CBF00032F8023F36889E42F7D09B0193FBF5F353 -:10CC00001380F2E70A9A2046274B984707FB07F75D -:10CC100057B10A990B464A1E01EB470033F8021B35 -:10CC200002F8011F8342F9D1BDF85A20BDF85E30E9 -:10CC300001339B1A1BB203EBD37302EB63039BB26A -:10CC40000F931BB20C93BDF85820BDF85C30013334 -:10CC50009B1A1BB203EBD37302EB63039BB21093DB -:10CC60001BB20D93114B984720BBBAF92230002B11 -:10CC700040F0BC81BAF92430002B40F0BA81BAF9F7 -:10CC80002630B3FA83F35B09079315E011650000C2 -:10CC900085150100C11A0100E52E0100D5C500006F -:10CCA000DF300100192B010035C600006DC4000003 -:10CCB0009531010000230793BDF85C000130BDF8F9 -:10CCC0005830C01A00B2C24B9847059001230E9A03 -:10CCD0001AA929A8BF4CA047002129A8BE4B9847F4 -:10CCE0000E90BDF95C30ADF874301FFA89FB01334A -:10CCF000A3EB0B03ADF87030BDF95A30ADF87230CC -:10CD0000013B5B44ADF87630049A1CA91EA8B34BD6 -:10CD10009847002872D0BDF97E300C998B42C4BF71 -:10CD20000B46ADF87E30BDF978300D9A934203DCA6 -:10CD3000109B0133ADF87830BDF97820BDF87C3018 -:10CD400001339B1A1BB20893002B57DDBDF97E708F -:10CD5000BDF97A40BDF97250651BBDF97030D21A29 -:10CD600009FB05250A9B1D440DF1770222AB24A87F -:10CD700012F8011F03F8011B8342F9D1BDF88A3074 -:10CD8000ADF88E3001373F1B3FB2002F36DD002655 -:10CD9000DFF85482CDF844B0BB46099B0B93089A48 -:10CDA0002946059F38468E4CA04730AC089BBDF9FC -:10CDB0008A2034F9381D059738468A4FB84701282C -:10CDC00008BF02209AF8293002930B9A0192009032 -:10CDD000059BBAF81E2021460498C047BDF88A304A -:10CDE0000133ADF88A30BDF88E300133ADF88E30A6 -:10CDF0004D4401365E45D2D1DDF844B0BDF95C301A -:10CE0000ADF874300133A3EB0B03ADF87030BDF90E -:10CE10005E20531CA3EB0B03ADF87230ADF8762007 -:10CE2000049A1CA91EA86D4B9847002873D0BDF921 -:10CE30007A300C9A934203DC0F9B0133ADF87A30C1 -:10CE4000BDF978300D9A934203DC109B0133ADF8A5 -:10CE50007830BDF97820BDF87C3001339B1A1BB2C5 -:10CE60000893002B57DDBDF97E40BDF97A60BDF90E -:10CE700076502D1BBDF97030D21A09FB05250A9B8F -:10CE80001D440DF1770222AB24A812F8011F03F80C -:10CE9000011B8342F9D1BDF88E30ADF88A30671C92 -:10CEA000BF1B3FB2002F36DD0026DFF83C81CDF8F6 -:10CEB00040B0BB46099B0B93089A2946059F38460C -:10CEC000474CA04730AC089BBDF98A2034F9381D87 -:10CED00005973846434FB847012808BF02209AF803 -:10CEE000293002930B9A01920090059BBAF81E20FC -:10CEF00021460498C047BDF88A30013BADF88A301E -:10CF0000BDF88E30013BADF88E304D4401365E45A4 -:10CF1000D2D1DDF840B0BDF95C30ADF874300133EA -:10CF2000A3EB0B03ADF87030BDF85A305B44ADF89D -:10CF30007230BDF85E30A3EB0B03ADF87630049A87 -:10CF40001CA91EA8254B9847002800F08580079B48 -:10CF50004BB1069BB3F90430BDF978209342B8BFBA -:10CF60001346ADF87830BDF97830BDF87C20013239 -:10CF7000D21A0FFA82F8B8F1000F6DDDBDF87E40CD -:10CF80000134BDF87A20A41A24B209F1FF31BDF9A9 -:10CF900070209B1A09FB01330A9AD31808930DF1EC -:10CFA000770222AB24A812F8011F03F8011B834269 -:10CFB000F9D1BDF88A30ADF88E302546002C4BDD16 -:10CFC0000024074FCDF82C90A946079D3AE000BFFA -:10CFD000E52E0100D5C5000069C30000C11A01009B -:10CFE000FD2B0100C5C30000F97C0000002307935E -:10CFF00062E6002307935FE64346BDF98A20BDF948 -:10D0000088100598234EB047012808BF02209AF8DF -:10D01000293002939AF8283001930090059BBAF8C2 -:10D020001E2022A904981C4EB047BDF88A30013357 -:10D03000ADF88A30BDF88E300133ADF88E30013452 -:10D040004C4507D0424608990598B847002DD3D0E3 -:10D050000220DCE7DDF82C90B9F1000F1EDD09EBB2 -:10D06000D9777F100A9D00260CE0197812F8010C80 -:10D0700003F8010B02F8011DA342F6D14D4401361D -:10D08000B1450BD0002FF9DD2B4605EB0902EC1959 -:10D09000EBE700BFC5C30000F97C0000BDF95830C4 -:10D0A000ADF87030013B5B44ADF87430BDF95A30D7 -:10D0B000ADF87230013B5B44ADF87630049A1CA9A0 -:10D0C0001EA8AE4B9847002871D0BDF97E300C9950 -:10D0D0008B42C4BF0B46ADF87E30BDF97C300D9954 -:10D0E0008B42C4BF0B46ADF87C30BDF97820BDF84B -:10D0F0007C3001339B1A1BB20893002B57DDBDF91E -:10D100007E70BDF97A40BDF97250651BBDF9703073 -:10D11000D21A09FB05250A9B1D440DF1770222ABAB -:10D1200024A812F8011F03F8011B8342F9D1BDF8AE -:10D130008A30ADF88E3001373F1B3FB2002F36DD0D -:10D140000026DFF84482CDF840B0BB46099B0B9324 -:10D15000089A2946059F3846894CA04730AC089B61 -:10D16000BDF98A2034F9381D05973846854FB847F0 -:10D17000012808BF02209AF8293002930B9A0192E5 -:10D180000090059BBAF81E2021460498C047BDF8C0 -:10D190008A300133ADF88A30BDF88E300133ADF8F6 -:10D1A0008E304D4401365E45D2D1DDF840B0BDF938 -:10D1B0005830ADF87030013B5B44ADF87430BDF9C8 -:10D1C0005E20531CA3EB0B03ADF87230ADF8762054 -:10D1D000049A1CA91EA8694B9847002872D0BDF973 -:10D1E0007A300C9A934203DC0F9B0133ADF87A300E -:10D1F000BDF97C300D998B42C4BF0B46ADF87C3035 -:10D20000BDF97820BDF87C3001339B1A1BB208931E -:10D21000002B57DDBDF97E40BDF97A60BDF976502F -:10D220002D1BBDF97030D21A09FB05250A9B1D4440 -:10D230000DF1770222AB24A812F8011F03F8011B9D -:10D240008342F9D1BDF88E30ADF88A30671CBF1B20 -:10D250003FB2002F36DD0026DFF82C81CDF830B04C -:10D26000BB46099B0B93089A2946059F3846444CB8 -:10D27000A04730AC089BBDF98A2034F9381D0597CA -:10D280003846404FB847012808BF02209AF8293095 -:10D2900002930B9A01920090059BBAF81E2021463A -:10D2A0000498C047BDF88A30013BADF88A30BDF81C -:10D2B0008E30013BADF88E304D4401365E45D2D103 -:10D2C000DDF830B0BDF95830ADF87030013B5B444B -:10D2D000ADF87430BDF85A305B44ADF87230BDF82B -:10D2E0005E30A3EB0B03ADF87630049A1CA91EA8A0 -:10D2F000224B9847002879D0079B4BB1BDF97C3071 -:10D30000069AB2F900209342A8BF1346ADF87C30CC -:10D31000BDF97830BDF87C8008F10108A8EB03085E -:10D320000FFA88F8B8F1000F60DDBDF87E400134D7 -:10D33000BDF87A20A41A24B209F1FF31BDF970209A -:10D340009B1A09FB01330A9AD31808930DF177024F -:10D3500022AB24A812F8011F03F8011B8342F9D164 -:10D36000BDF88A30ADF88E302546002C3EDD002415 -:10D37000034FCDF82C90A946079D2DE0C11A01005E -:10D38000FD2B0100C5C30000F97C00004346BDF938 -:10D390008A20BDF988100598AA4EB047012808BF19 -:10D3A00002209AF8293002939AF8283001930090CD -:10D3B000059BBAF81E2022A90498A34EB047BDF8D9 -:10D3C0008A300133ADF88A30BDF88E300133ADF8C4 -:10D3D0008E3001344C4507D0424608990598B8472D -:10D3E000002DD3D00220DCE7DDF82C90BDF85830BA -:10D3F0005B44ADF87030BDF85C30A3EB0B03ADF8C7 -:10D400007430BDF95A30ADF87230013B5B44ADF871 -:10D410007630049A1CA91EA88C4B984700287DD012 -:10D42000079B4BB1069BB3F90230BDF97E209342B6 -:10D43000A8BF1346ADF87E30BDF87C300133BDF88F -:10D4400078209B1A1BB20893BDF97A30BDF87E5044 -:10D450000135ED1A2DB2C846BDF972401C1B09F109 -:10D46000FF3309FB04340A9B1C440DF1770222AB05 -:10D4700024A812F8011F03F8011B8342F9D1BDF85B -:10D480008A30ADF88E302B46002D47DD0025704FD9 -:10D49000CDF82C90DDF82490CDF830B09B462AE0F2 -:10D4A000B9F1FF0F2AD149462CE0089BBDF98A202B -:10D4B000BDF988100598634EB047012808BF0220C7 -:10D4C0009AF829300293FF2301930090059BBAF844 -:10D4D0001E2022A904985C4EB047BDF88A30013363 -:10D4E000ADF88A30BDF88E300133ADF88E3044444B -:10D4F00001355D450ED02378FF2BD1D003FB09F316 -:10D50000C3F30721089A0598B847079B002BCCD096 -:10D510000220D5E7DDF82C90DDF830B0BDF85830AA -:10D520005B44ADF87030BDF85C30A3EB0B03ADF895 -:10D530007430BDF95E20531CA3EB0B03ADF87230C1 -:10D54000ADF87620049A1CA91EA8404B98470028E5 -:10D5500000F08280079B4BB1069BB3F90630BDF902 -:10D560007A209342B8BF1346ADF87A30BDF87C30CC -:10D570000133BDF878209B1A1BB20893BDF97E30A9 -:10D580005D1CBDF87A20AD1A2DB2C846BDF97640B3 -:10D59000E41A09F1FF3309FB04340A9B1C440DF122 -:10D5A000770222AB24A812F8011F03F8011B834263 -:10D5B000F9D1BDF88E30ADF88A30A946002D4BDD8B -:10D5C0000025234FCDF82CB0DDF824B02AE0BBF1C4 -:10D5D000FF0F2AD159462CE0089BBDF98A20BDF9DE -:10D5E00088100598174EB047012808BF02209AF806 -:10D5F00029300293FF2301930090059BBAF81E2067 -:10D6000022A90498104EB047BDF88A30013BADF80E -:10D610008A30BDF88E30013BADF88E304444013580 -:10D620004D4517D02378FF2BD1D003FB0BF3C3F369 -:10D630000721089A0598B847079B002BCCD00220F9 -:10D64000D5E700BFC5C30000F97C0000C11A010086 -:10D6500029300100DDF82CB0BDF858305B44ADF83E -:10D660007030BDF85C30A3EB0B03ADF87430BDF83F -:10D670005A305B44ADF87230BDF85E30A3EB0B0B53 -:10D68000ADF876B0049A1CA91EA8A24B98470028B2 -:10D6900050D0079B002B4DD1BDF87C600136BDF802 -:10D6A0007830F61A36B2BDF87E400134BDF87A30D3 -:10D6B000E41A24B20DF1770222AB24A812F8011F5C -:10D6C00003F8011B8342F9D1BDF88A30ADF88E30E2 -:10D6D000A346002C2EDD0025DFF85492DFF854829B -:10D6E0008D4F32469AF828100598C84730AC33461B -:10D6F000BDF98A2034F9381D0598C047012808BFB4 -:10D7000002209AF829300293FF2301930090059B91 -:10D71000BAF81E2021460498B847BDF88A30013374 -:10D72000ADF88A30BDF88E300133ADF88E3001355A -:10D730005D45D6D10E98794B98470598784CA0470F -:10D740000A98A0479AF80C70052F42D9069A531EE2 -:10D75000D01D1AAA13F8011F02F8011B9842F9D133 -:10D76000BAF91030012B24DD9AF81430F92B20D9A6 -:10D77000BAF90030EBB1BAF81230C3F38002BDF849 -:10D7800068100A44ADF86820C3F34002BDF86A107F -:10D790000A44ADF86A20C3F3C001BDF86C20521AE8 -:10D7A000ADF86C2003F00103BDF86E20D31AADF87C -:10D7B0006E30FB2F28BFFF275A4B98475A4B98478C -:10D7C0008046049A1AA91CA8524B9847002840F09A -:10D7D000B380DAF82C0020B19AF83630052B00F22D -:10D7E000EB839AF81440052C15D9BAF9103093B18F -:10D7F000BAF912307BB1FB2C28BFFF24494B984764 -:10D80000494B98470546049A069918A8414B9847F2 -:10D81000002840F04685DAF83C1021B19AF84430EF -:10D82000052B01F253809AF81CB0BBF1050F6DD99E -:10D83000BAF91830002B69D0BBF1FB0F28BF4FF0AD -:10D84000FF0B3A4B98470990069A531ED01D16AA13 -:10D8500013F8011F02F8011B8342F9D1BAF81A50DC -:10D86000BDF858305B1B9BB20693ADF85830BDF83D -:10D870005A305B1B9BB20793ADF85A30BDF85C6021 -:10D880002E44B6B2ADF85C60BDF85E301D44ADB25A -:10D89000ADF85E50BAF900300893BAF91830059324 -:10D8A0000DF1570218AB1AA812F8011F03F8011B5B -:10D8B0008342F9D1BDF81440BDF86090A9EB04098A -:10D8C0001FFA89F30A93ADF86030BDF864702744FD -:10D8D000BFB2ADF86470BDF86280A8EB04081FFA0F -:10D8E00088F8ADF86280BDF866301C44A4B2ADF88B -:10D8F00066400C4B98470C4B98478146049A18A9F0 -:10D900001AA8044B9847002841F0448031B0BDE884 -:10D91000F08F00BFC11A0100F97C000015C400009F -:10D92000192B010011650000851501006DC4000070 -:10D9300029300100C5C30000B8F81010BDF87030E0 -:10D940005B1A9AB2ADF87020B8F81200BDF87230C8 -:10D950001B1AADF87230BDF874305B1A9BB2ADF88B -:10D960007430BDF87610091AADF8761001339B1AA1 -:10D970001BB209930A931846934B98470590934B13 -:10D98000984783B20B9343BB9AF80630023B18BF0B -:10D9900001230793BDF86C500135BDF86830ED1ACE -:10D9A0002DB22C46BAF90020BDF86E300133BDF817 -:10D9B0006A609B1B1EB23346AE42A8BF2B465E1068 -:10D9C0009642A8BF1646079BDBB1D6B99AF8063037 -:10D9D00033B14FF0FF330E9321E000230793D9E7D3 -:10D9E0009AF80D3002930197012300930023BAF8AF -:10D9F00002201AA90498764CA0474FF0FF330E93EB -:10DA000076E2002E32DD002332461AA929A8DFF87B -:10DA1000D091C847002129A86E4B98470E90BAF8BC -:10DA200002B09AF80630022B24D000230D93BDF9E2 -:10DA30006C20BDF96810531C5B1A1BB2A3EB46099E -:10DA4000ADF87810ADF87C20BDF97220B8F812302E -:10DA500013441BB2ADF87A30ADF87E301546BDF9EF -:10DA600076309A4200F337820897FAE04FF0FF339E -:10DA70000E93D4E7BAF804309B4500F08980680023 -:10DA8000514B98470D90002DD1DD4FF000090896BD -:10DA900006461BE09AF8023003F01F03BAF80210A2 -:10DAA000C1F345119AF80320D208287863F30400E3 -:10DAB00028702B8861F34A132B801B0A62F3C7037B -:10DAC0006B7009F1010902364C455FD03546BAF951 -:10DAD000080000FB04F31B120FFA89F18B42D9DA1C -:10DAE000BAF90A2002FB04FEB1EB2E2F42DA121A19 -:10DAF00004FB02F2A9EB03031BB2C3EB03231212D4 -:10DB000093FBF2F3DBB2C3F1FF0E9AF80520D208C3 -:10DB10009AF80310C9080EFB01F103FB021202EB95 -:10DB2000022102EBC112C2F3C452BAF80410C1F3CD -:10DB30004511BAF80200C0F345100EFB00F003FBDC -:10DB4000010101EB012001EBC011C1F3C5519AF8AD -:10DB5000040000F01F009AF802C00CF01F0C0EFB2E -:10DB60000CFE03FB00E303EB032003EBC013C3F342 -:10DB7000C4539AE79AF8043003F01F03BAF804106C -:10DB8000C1F345119AF80520D2088EE7089E4EE7AA -:10DB900000230D934BE70A99059F38460E4B984793 -:10DBA000B8F812202A44B8F81010BDF870301944A3 -:10DBB000099B12B209B23846084FB84707469AF88F -:10DBC0000630012B29D17AE0E52E01006DC400005A -:10DBD000F97C000069C3000095310100C5C3000055 -:10DBE000D5C500000A99059F3846B64B9847B8F846 -:10DBF00012202A44B8F81010BDF870301944099B5F -:10DC000012B209B23846B04FB84707469AF8063004 -:10DC1000012B54D0079A002A3AD1022B00F04481FC -:10DC20000B9B13B9B9F1320F0BDC9AF80D3002934C -:10DC3000089B01930097059B5A461EA90498A34C84 -:10DC4000A047BDF87A300133ADF87A30BDF87E30A8 -:10DC50000133ADF87E300135BDF976309D4200F3D9 -:10DC60003981B8F912402C44BDF96A30334401338C -:10DC70009C42B7DDBDF96E309B1B013B9C42B1DA83 -:10DC8000079B002B87D09AF80630012B16D001276E -:10DC9000B9F1320F00F39380022B00F00581012BC4 -:10DCA000BED19AF80D300293089B01930097059B13 -:10DCB0005A461EA90498854CA047C2E70127BAF826 -:10DCC0000220BAF804309A426FD0BDF86A10621A86 -:10DCD00093B21A460C93BAF908E0BDF86E300133DE -:10DCE0005B1A1BB203FB0EF1091210B281424BDA30 -:10DCF000BAF90AC00CFB03F2B0EB222F80F2B0801D -:10DD0000ACEB0E0E03FB0EF30C9A521A12B2C2EBDE -:10DD100002221B1292FBF3F3DBB2C3F1FF019AF86C -:10DD20000520D2089AF80300C00801FB00F003FBAD -:10DD3000020202EB022002EBC012C2F3C452BAF894 -:10DD40000400C0F34510BAF802E0CEF3451E01FB13 -:10DD50000EFE03FB00E000EB002E00EBCE10C0F344 -:10DD6000C5509AF804E00EF01F0E9AF802C00CF0AD -:10DD70001F0C01FB0CF103FB0E1303EB032103EB60 -:10DD8000C113C3F3C4530AE09AF8023003F01F032F -:10DD9000BAF80200C0F345109AF80320D20863F3E2 -:10DDA000040B60F34A1B62F3CF2B079B002B3FF45D -:10DDB00078AFB9F1320FC8BF01237FF772AFBDF959 -:10DDC0006A2032440132944206DBBDF96E20921B78 -:10DDD000013A94427FF760AFBDF96830ADF8883002 -:10DDE000B2B20C92013B1344ADF88C30BDF87A30DE -:10DDF000ADF88A30BDF87E30ADF88E309AF80D302F -:10DE00000293089B01930097059B5A4622A9049808 -:10DE10002E4CA0479AF80630012B2DD0BDF96C305E -:10DE20005A1C0C99541AADF88840ADF88C309B1BE5 -:10DE30000133B8F91020BDF970100A449B1A9AF802 -:10DE40000D200292089A01920097059A002BA8BF14 -:10DE5000D21813465A4622A904981C4CA047F0E653 -:10DE60009AF8043003F01F03BAF80400C0F3451019 -:10DE70009AF80520D20892E7BDF868300C9A13444E -:10DE8000ADF88830BDF86C309B1AADF88C309AF83C -:10DE90000D300293089B01930123009300235A46FF -:10DEA00022A90498A047B9E79AF80D300293089B7D -:10DEB00001930097059B0D9A1EA90498044CA04756 -:10DEC000BFE600BF95310100C5C30000F97C00002A -:10DED00029880000089F9AF8063023B90B9B13B9D4 -:10DEE000B9F1320F0BDC0D9B13B11846B34B9847B9 -:10DEF0000E98B34B98470598B04B984769E4B6B273 -:10DF0000BDF868303344ADF87830BDF86C309B1BF9 -:10DF1000ADF87C30BDF96A30ADF87A303344ADF8F5 -:10DF20007E309AF80D30029301970123009300236D -:10DF3000BAF802201EA90498A24CA047BDF96E10A1 -:10DF40008A1B12B2ADF87A20BDF97E309A42DCBF4E -:10DF50000133ADF87A30ADF87E109AF80D300293A7 -:10DF60000197012500950023BAF802201EA9DDF8CB -:10DF700010804046934CA047BDF86830ADF878302B -:10DF8000BDF86C30ADF87C30BDF86A302B443344BA -:10DF9000ADF87A30BDF86E30013B9E1BADF87E6067 -:10DFA0009AF80D300293019700950023BAF80220E9 -:10DFB0001EA94046A04796E7834B9847054601288F -:10DFC00012D9022839D0814B0093814B40F2AE52D6 -:10DFD00080490220804CA04700231A4604990698E5 -:10DFE0007E4CA047FFF7FDBB29A9DAF82C007C4B3B -:10DFF000984701280AD07B4B0093754B40F294520E -:10E0000074490220744CA047FFF7EBBB299BC3F374 -:10E010008A29BDF8A670C7F34A171EA8724B984705 -:10E020009AF836308DF878309AF837308DF882309B -:10E03000BAF83430ADF8843020E022A86B4B984712 -:10E04000BAF83430ADF88830DAF8302023929AF8F4 -:10E0500036308DF89030BDF994300021029147F6AA -:10E0600018410191BDF992100091DAF82C1029A8FD -:10E070005F4CA047BDF9A490BDF9A6709AF838305E -:10E0800013F0010F3FD1069C21886088E28801329D -:10E09000121A12B2A38801335B1A1BB2A3EB090355 -:10E0A00003EBD37301EB63039BB2ADF87030D21B6B -:10E0B00002EBD27100EB610189B2ADF8721009F187 -:10E0C000FF399944ADF874907B1E0B449BB2ADF8B8 -:10E0D0007630022D00F0BD80BAF9002006991CA808 -:10E0E000444B98474FF0FF34002800F0D4861EAB15 -:10E0F000DAF82C2004991CA8384DA8472046304B4C -:10E100009847FFF76EBB0023BAF90020069E314600 -:10E1100029A8394CA047002129A8384B98470790D7 -:10E12000B3880133344632889B1A1BB293FBF9F251 -:10E1300009FB123303EBD3734FEA630BB6F90610F6 -:10E1400073884A1CD21A10B290FBF7F207FB120236 -:10E1500002EBD272A3EB62039BB21AB2ADF872204B -:10E16000BFB2781E0344ADF8763091426CDBDFF825 -:10E1700090801A4ECDF81490A14652E000230093EF -:10E18000DAF82C3022AA04991CA8C047BDF87030D8 -:10E1900023441BB2ADF87030BDF874202244ADF8B2 -:10E1A0007420B9F904209A422CDB022DE6D01EAB74 -:10E1B000DAF82C2004991CA8B047E7E7192B0100D6 -:10E1C00015C40000F97C0000119F0000C4C50100C7 -:10E1D00064C5010074C5010005280100919C000080 -:10E1E00095030100A4C50100ED9B0000759F000090 -:10E1F00025460100151D0100D5C5000069C30000BA -:10E20000CD9F0000BDF872303B441BB2ADF87230B8 -:10E21000BDF876203A44ADF87620B9F906209A4246 -:10E2200012DBB9F80030A3EB0B039BB21AB2ADF8C6 -:10E230007020BDF81440611E0B44ADF87430B9F97C -:10E2400004309342B1DADDE707988A4B9847FFF72D -:10E25000C8BA02F001021144ADF872101344ADF8CF -:10E260007630BAF9002021461CA8834B9847A8B9FC -:10E270000023BAF90020069929A8804CA047002164 -:10E2800029A87F4B9847044600230093DAF82C30E6 -:10E2900022AA04991CA87B4DA8472FE74FF0FF3412 -:10E2A000F2E7298ABDF860305B1A9AB2ADF86020B7 -:10E2B000688ABDF862301B1AADF86230BDF8643070 -:10E2C0005B1A9BB2ADF86430BDF86610091AADF860 -:10E2D000661001339B1A1BB20893099318466A4BC8 -:10E2E00098478346694B984748B9BAF91280B8F104 -:10E2F0000F0F14BF4FF000084FF0010801E04FF07E -:10E300000008BAF90020069EB388013331885B1AF1 -:10E3100019B2F388013370881B1A1BB28B42A8BF55 -:10E320000B465B109342A8BF13461A460A93002B74 -:10E3300040F388800023314622A8504EB047002188 -:10E3400022A84F4B98470E90BAF91060069A531EB8 -:10E35000D01D1AAA13F8011F02F8011B8342F9D13C -:10E36000BDF86820BAF8123013F0040F6ED0B1B2C5 -:10E370000A44ADF86820BDF86C2013F0080F6AD08D -:10E38000B1B2521AADF86C20BDF86A2013F0020F3A -:10E3900066D0B1B20A44ADF86A20BDF86E2013F021 -:10E3A000010F62D0B3B2D31AADF86E30DDF8289009 -:10E3B0001FFA89F7BA1B012312B21AA929A82F4EF6 -:10E3C000B047002129A82E4B98470F90BAF910307A -:10E3D000013B4B45B8BF4B4619460D93BAF80E307A -:10E3E000ADF814309AF81560B8F1000F00F0BF8155 -:10E3F000B5F912300698B0F90220D21A0A44BDF9D4 -:10E4000066109142A8BF11460B910288ADF87020AA -:10E410008288ADF87420BDF9622013441BB2ADF8B8 -:10E420007230ADF8763090460B9B9342C0F2B380C9 -:10E43000DFF85C90CDF81CB0B3462646CDF830A08E -:10E44000824655E04FF0FF330E937DE70A9971182D -:10E45000494289B28CE70A997118494289B290E71A -:10E460000A997118494289B294E70A9BF3185B42F2 -:10E470009BB298E715C40000151D0100D5C500002A -:10E4800069C30000CD9F0000E52E01006DC40000AF -:10E49000F97C0000BAF904305A1CD21BADF8782080 -:10E4A000ADF87C300A9A9B1A0133B5F91020BDF9FA -:10E4B00060100A449B1ACDF808B001960094079AA0 -:10E4C000002BA8BFD2181346BDF814201EA904982B -:10E4D000C847BDF872300133ADF87230BDF8763000 -:10E4E0000133ADF8763008F101080B9B43454CDB56 -:10E4F0000999079C2046C74B98476A8A4244298A53 -:10E50000BDF860301944089B12B209B20794204646 -:10E51000C14CA0470446BDF87230ADF87A30BDF862 -:10E520007630ADF87E30BAF90030ADF87830013B86 -:10E530003B44ADF87C30CDF808B001960090079BC5 -:10E54000BDF814201EA90498C847BDF97E20BAF969 -:10E5500002300C99B1F910100B449A429ADABAF8C9 -:10E5600000303B44ADF87830BAF80430DB1BADF82E -:10E570007C30CDF808B00196012300930023BDF84C -:10E5800014201EA90498C84784E734465E46DDF887 -:10E590001CB0DDF830A0B5F91230069AB2F90620A9 -:10E5A000D21A0D99521ABDF962809045B8BF9046B3 -:10E5B0000B994145A8BF01F1010843441BB2ADF8D6 -:10E5C0007230ADF87630BDF96630984500F38D8035 -:10E5D000DFF84892CDF81CB0B3462646CDF82CA003 -:10E5E000DDF818A02EE0BAF904305A1CD21BADF8A1 -:10E5F0007820ADF87C300A9A9B1A0133B5F91020C7 -:10E60000BDF960100A449B1ACDF808B00196009439 -:10E61000079A002BA8BFD2181346BDF814201EA9D4 -:10E620000498C847BDF872300133ADF87230BDF8B8 -:10E6300076300133ADF8763008F10108BDF9663067 -:10E6400098454CDC0999079C2046724B98476A8A8A -:10E650004244298ABDF860301944089B12B209B2BD -:10E66000079420466C4CA0470446BAF90030ADF838 -:10E670007830013B3B44ADF87C30BDF87230ADF8EA -:10E680007A30BDF87630ADF87E30CDF808B001961E -:10E690000090079BBDF814201EA90498C847BDF937 -:10E6A0007E20BAF906300B99B1F910105B1A9A4224 -:10E6B00099DDBAF800303B44ADF87830BAF8043050 -:10E6C000DB1BADF87C30CDF808B001960123009338 -:10E6D0000023BDF814201EA90498C84783E73446D8 -:10E6E0005E46DDF81CB0DDF82CA0BDF8342006999C -:10E6F0004B8801331344ADF87230CB88013B9B1A31 -:10E70000ADF87630B1F90030ADF87030BAF81020BD -:10E71000013A1344ADF87430029601940127009732 -:10E720000023BDF814904A461CA9DDF8108040462D -:10E730003A4DA847069BB3F90420BAF81030FB1AEB -:10E740001344ADF87030ADF8742002960194009730 -:10E7500000234A461CA94046A8470F98304CA047C2 -:10E760000E98A04758462F4B9847FFF754B8069A83 -:10E77000B2F90010ADF87010B2F90420ADF87420B1 -:10E78000BDF962006B8A03441BB2ADF87230ADF87C -:10E790007630BAF91230042B29D0082B44D000224D -:10E7A0008DF84E208DF84F20022B29D101238DF8B2 -:10E7B0004E309DF84E301BB99DF84F8088F001080F -:10E7C00008F001088DF850800746BDF96630984280 -:10E7D000C3DCDFF84080DFF844900A94CDF81CB029 -:10E7E000DDF818B0CDF82CA0DDF834A04EE00D9A7D -:10E7F0001144ADF8741000228DF84E208DF84F2092 -:10E80000012B16D0032BD4D101238DF84E308DF877 -:10E810004F30CEE795310100C5C30000F97C000000 -:10E8200015C40000192B01000D99521AADF8702083 -:10E83000E1E78DF84F30BCE70999079C2046C047B7 -:10E840006A8A3A44298ABDF860301944089B12B29A -:10E8500009B207942046984CA04702960A9A019262 -:10E860000090079BBDF814201CA90498C847BDF868 -:10E8700072300133ADF87230BDF876300133ADF847 -:10E8800076300137BDF966309F421ADC9DF8503072 -:10E89000002BD1D19DF84E3033B1BDF97220BBF9B8 -:10E8A000023053449A42C7DD9DF84F30002BDED032 -:10E8B000BDF97220BBF90630A3EB0A039A42D6DBFE -:10E8C000BAE7DDF81CB0DDF82CA046E7BAF94C3009 -:10E8D0000024029447F618420192BAF94E200092A1 -:10E8E000DAF840201CA8754DA847ADF88840ADF86F -:10E8F0008A40BDF87030013BADF88C30BDF8723005 -:10E90000013BADF88E301EAB9AF8502022A9069834 -:10E910006B4DA847BDF87820BAF848301A4492B237 -:10E92000BDF888301344ADF88830BDF87A30BAF8B5 -:10E930004A100B449BB2BDF88A101944ADF88A10F6 -:10E94000BDF88C100A44ADF88C20BDF88E2013441D -:10E95000ADF88E3029A85B4B9847DAF840302A93FF -:10E96000BAF84C30ADF8B030BAF84E30ADF8AE3041 -:10E97000BAF84630ADF8A4309AF844308DF8AC308F -:10E980000094DAF83C3029AA049922A84E4CA047FA -:10E99000FEF749BF721C069BD21A12B26B1C079974 -:10E9A0005B1A1BB29A42A8BF1A465210089B9A42A1 -:10E9B000A8BF1A46059B134401370A99791A08B271 -:10E9C000611CA1EB080109B28142A8BF01464910B0 -:10E9D0009942A8BF19460F460691B9F81000BDF834 -:10E9E00068301B1A99B2ADF86810B9F81240BDF83A -:10E9F0006A301B1BADF86A30BDF86C301B1A9BB235 -:10EA0000ADF86C30BDF86E00001BADF86E00013340 -:10EA10005B1A1BB21E460793012316A922A82B4D91 -:10EA2000A847002122A82A4CA0470C9000233AB204 -:10EA300018A929A8A847002129A8A0470D90089641 -:10EA40003046244B98470B90BAF91830BAF8162084 -:10EA5000ADF814209AF81D50099A002A40F0A681BA -:10EA6000013BBB42B8BF3B4619460E93B9F9123081 -:10EA7000BDF96220D21A0A4411460992BDF86020FD -:10EA8000ADF87020BDF86420ADF87420BDF96A209F -:10EA900013441BB2ADF87230ADF876301646914291 -:10EAA000C0F29D80DFF830802B465D46CDF828A06F -:10EAB00082469B463FE000BFC5C3000025460100DB -:10EAC000CD1D0100759F0000CD9F0000D5C5000041 -:10EAD00069C30000E52E0100F97C0000BDF9643037 -:10EAE0005A1C141BADF87840ADF87C30069A9B1A7E -:10EAF0000133B9F91020BDF968100A449B1ACDF80A -:10EB000008B001950097002BACBF53440AF10003F5 -:10EB1000BDF814201EA90498C047BDF87230013317 -:10EB2000ADF87230BDF876300133ADF8763001368D -:10EB3000099BB3424EDB08995046CC4B9847B9F835 -:10EB400012203244B9F81010BDF868301944079B00 -:10EB500012B209B25046C64CA0470746BDF8723003 -:10EB6000ADF87A30BDF87630ADF87E30BDF9603062 -:10EB7000ADF87830BDF81840013B2344ADF87C3047 -:10EB8000CDF808B0019500905346BDF814201EA999 -:10EB90000498C047BDF97E20BDF962300A99B1F9E9 -:10EBA00018100B449A4299DABDF860302344ADF84E -:10EBB0007830BDF864301B1BADF87C30CDF808B060 -:10EBC0000195012300930023BDF814201EA9049889 -:10EBD000C04783E75B46AB46DDF828A01D46B9F980 -:10EBE0001230BDF96660F61A0E9AB61A09990A46ED -:10EBF000B142A4BF0132164633441BB2ADF87230A5 -:10EC0000ADF87630BDF96E309E4200F38C80DFF8AF -:10EC100064822B465D46CDF824A0DDF82CA09B46EF -:10EC20002DE0BDF964305A1C141BADF87840ADF8E6 -:10EC30007C30069A9B1A0133B9F91020BDF968108F -:10EC40000A449B1ACDF808B001950097002BACBF81 -:10EC500053440AF10003BDF814201EA90498C047CC -:10EC6000BDF872300133ADF87230BDF87630013343 -:10EC7000ADF876300136BDF96E309E424EDC089913 -:10EC800050467A4B9847B9F812203244B9F8101020 -:10EC9000BDF868301944079B12B209B25046744C53 -:10ECA000A0470746BDF96030ADF87830BDF8184090 -:10ECB000013B2344ADF87C30BDF87230ADF87A30BA -:10ECC000BDF87630ADF87E30CDF808B001950090F3 -:10ECD0005346BDF814201EA90498C047BDF97E20F4 -:10ECE000BDF966300999B1F918105B1A9A4298DD9E -:10ECF000BDF860302344ADF87830BDF864301B1B9C -:10ED0000ADF87C30CDF808B00195012300930023C5 -:10ED1000BDF814201EA90498C04782E75B46AB46A5 -:10ED2000DDF824A01D46BDF83830BDF86220013260 -:10ED30001A44ADF87220BDF86620013AD31AADF836 -:10ED40007630BDF96030ADF87030013BBAF818206C -:10ED50001344ADF874300295CDF804B00126009646 -:10ED60000023BDF8148042461CA9049F3846414C3C -:10ED7000A047BDF964209319BAF818105B1AADF8D2 -:10ED80007030ADF874200295CDF804B000960023E1 -:10ED900042461CA93846A0470C98374CA0470D980E -:10EDA000A0470B98354B9847FEF7B0BDBDF86030D3 -:10EDB000ADF87030BDF86430ADF87430BDF96A203C -:10EDC000B9F8123013441BB2ADF87230ADF876309A -:10EDD0001446BDF96E309A42DEDCDFF89080244F95 -:10EDE000244EDDF82CA02B465D469B4608995046E4 -:10EDF000C047B9F812202244B9F81010BDF86830A5 -:10EE00001944079B12B209B25046B847CDF808B072 -:10EE1000019500905346BDF814201CA90498B047F2 -:10EE2000BDF872300133ADF87230BDF87630013381 -:10EE3000ADF876300134BDF96E309C42D6DDABE7DB -:10EE40000C980E4B984707FB07F7002F3DF4ECAEEC -:10EE50000A980246411E00EB470032F8023B9B092C -:10EE600001F8013F9042F8D1FDF7DEBE9531010077 -:10EE7000C5C30000F97C000015C40000192B010077 -:10EE8000079738460B4B98470C90002FD8DD01238D -:10EE90000B93FDF727BE0023BAF90020069929A895 -:10EEA000054CA047002129A8044B98470446FFF7CA -:10EEB0001EB900BFE52E0100D5C5000069C30000E2 -:10EEC000F0B583B09DF804406FF304048DF804405E -:10EED000BDF804406FF34A14ADF80440240A6FF300 -:10EEE000C7048DF805408668047804F01F04251FC8 -:10EEF000EDB2022D0ED9072C28D0082C3BD0092CBE -:10EF000050D00A2C66D00B3CE4B2032C98BFADF86D -:10EF1000043017E014460F460546007800F01F0045 -:10EF2000324B98472B68C3F38A2304FB0372C0F368 -:10EF3000C70000FB02F2B318B25C8DF804205B78C6 -:10EF40008DF80530BDF8040003B0F0BD01F00703F3 -:10EF5000C3F107040368C3F38A230733DB1002FB02 -:10EF6000036606EBE1010B7A0122A2401340234124 -:10EF7000ADF80430E6E701F003046400C4F10604D0 -:10EF80000368C3F38A2303339B1002FB036606EB7B -:10EF9000A1010B7C0322A240134043FA04F4ADF814 -:10EFA0000440CFE701F00104A400C4F104040368A5 -:10EFB000C3F38A2301335B1002FB036606EB610196 -:10EFC00091F840300F22A240134043FA04F4ADF808 -:10EFD0000440B7E70368C3F38A23314402FB0311FB -:10EFE00091F80034ADF80430ACE700BF299C000074 -:10EFF000F0B585B004460D4617468668037803F0E1 -:10F000001F03052B0AD00B2B12D00C2B27D00D2B56 -:10F0100049D00E2B64D0FF2005B0F0BD0268C2F3CA -:10F020008A2207FB021505EB45053544A878F3E76E -:10F0300001F00703C3F107010268C2F38A22073215 -:10F04000D210ED1007FB0262535D01228A4013408B -:10F050000B4113F0FF0F0CBFFF200020DCE7002363 -:10F060008DF8003055238DF80130AA238DF8023039 -:10F07000FF238DF8033001F003035B00C3F10601A9 -:10F080000268C2F38A2203329210AD1007FB0262BB -:10F09000535D03228A4013400B4104AA52FA83F3C2 -:10F0A00013F8100CB8E7124B0FCB0DF1100E0EE950 -:10F0B0000F0005F001039B00C3F104012268C2F3B5 -:10F0C0008A22013252106D1007FB0262535D0F223B -:10F0D0008A4013400B415EFA83F313F8100C9BE750 -:10F0E0000268C2F38A2207FB0262505C94E700BF09 -:10F0F000F0C501002DE9F84F0446B0F908301B02B5 -:10F100004362B0F90A301B028362B0F90C00DFF8E9 -:10F11000F48088FB0023C517C5EBA3052DB26FF063 -:10F12000090707FB05071FFA85FACAF1000000B2BC -:10F13000DFF8D490C84706460135ADB2684200B248 -:10F14000C8478346CAF15A0000B2C8478246C5F193 -:10F150005A0528B2C847C7F10A0307FB0BFB03FB9C -:10F1600006B688FB062BF617C6EBAB06E66207FB76 -:10F1700000F003FB0A0088FB0038C017C0EBA800B2 -:10F180002063A07C1D4B984794F8343060F3000353 -:10F1900084F83430A07C1A4B984794F8343060F3EC -:10F1A000410384F83430A27C131FDBB2022B94F8A5 -:10F1B000343094BF43F004036FF3820384F8343097 -:10F1C00023682362237E03F01F0362F30403237684 -:10F1D000A369A28862F39423A3611B0CE28862F303 -:10F1E0004F136383E2894FF4803393FBF2F3E3869A -:10F1F000FF23A375238AA382BDE8F88F5B9C0000E0 -:10F200006F9C0000676666664D2801002DE9F04F8F -:10F2100087B0039004910592BDF840400194DDF859 -:10F2200044B05E4F87FB0360DD17C5EBA0052DB230 -:10F2300005F101096FF0090606FB05362846DFF8DF -:10F240006081C04704460FFA89F0C047824605F145 -:10F250005A0000B2C047054609F15A0000B2C04743 -:10F26000C6F10A0306FB0AFA03FB04A487FB04EABF -:10F27000E417C4EBAA0406FB00F003FB050587FBBB -:10F280000537ED17C5EBA707BBF900C0BBF9028036 -:10F29000CCF10003019D05FB03F343F30F2303FBB4 -:10F2A00007FAC8F1000205FB02F242F30F2202FB4B -:10F2B00004FE1FFA8CF6AAEB0E0B06EBEB3B0FFAE3 -:10F2C0008BFB03FB04F302FB07F21FFA88F099188B -:10F2D00000EBE13109B202910499A1EB0C0C05FBA2 -:10F2E0000CFC4CF30F2C0CFB07F9A9EB0E0E06EBF4 -:10F2F000EE3E0FFA8EFE0CFB04FC624400EBE232A1 -:10F3000012B20599A1EB080805FB08F848F30F288D -:10F3100008FB04F4AAEB040506EBE5352DB208FB67 -:10F3200007F73B4400EBE3331BB2A9EB040406EB05 -:10F33000E43636B2BC4400EBEC3000B25C46F34538 -:10F34000A8BF7446AC42A8BF2C46B442A8BF3446FE -:10F3500003990F460C80DE45B8BFDE467545B8BF41 -:10F360007546AE42B8BF2E468E8002990C46914239 -:10F37000A8BF14469C42A8BF1C468442A8BF0446AE -:10F380007C809142B8BF11468B42B8BF0B46984271 -:10F39000B8BF1846F88007B0BDE8F08F67666666AC -:10F3A0004D2801002DE9F04F89B00446B0F93850DE -:10F3B000EAB2B0F93A60F3B26F2A74DCB0F93C10EB -:10F3C0004942C917803DEDB26F2B7EDCB4F93EB0E7 -:10F3D000CBF1000B4FEAEB7B803EF6B294F8149031 -:10F3E00009F01F09B4F81480C8F34518677DFF08B9 -:10F3F000A37D009394F834C01CF0040F7BD02368E5 -:10F40000206C94F844E00EFB01015A1813F801A097 -:10F410008DF81CA052788DF81D20B4F904200EFB45 -:10F4200002F20BFB02FB58441A1813F800A08DF8E7 -:10F4300018A052788DF8192001EB0B0203EB020A99 -:10F4400013F802B08DF814B09AF801A08DF815A049 -:10F450001CF0020F00F081800EF1FF3E734413F8A0 -:10F4600001B013F800A0985CC5F1FF0303FB0BF19A -:10F47000009A05FB021103FB00F305FB0A33C3F3FB -:10F480000723C6F1FF02C1F3072106FB01FE02FBC1 -:10F4900003E21212A275052900F2DC80052B40F26E -:10F4A0007D810026D9E0902A0CDDB0F93C100131B5 -:10F4B000B0F904209142ACBF00210121C5F17F05C4 -:10F4C000EDB281E7FF2500217EE7902B0FDDB4F937 -:10F4D0003EB00BF1010BB4F906209345ACBF4FF0E1 -:10F4E000000B4FF0010BC6F17F06F6B276E7FF2660 -:10F4F0004FF0000B72E704F1180318468BB2A18F8E -:10F5000002931944238AB4F93E2009B20190DFF82E -:10F5100094A2D047ADF81C001FFA8BF1E28F039143 -:10F520000A44238A12B2B4F93C10DDF804B05846FC -:10F53000D047ADF81800E28F03990A44A18F029BCF -:10F540001944238A12B209B25846D047ADF81400C4 -:10F5500094F8343013F0020F52D1FF23A3752B46D9 -:10F56000002B40F08B809DF81C9009F01F09BDF81E -:10F570001C80C8F345189DF81D70FF08002D40F051 -:10F58000AC809DF8145005F01F05BDF81430C3F38E -:10F5900045139DF81510C908002E00F0E380FF2EDA -:10F5A00000F0EE80C6F1FF0202FB05F506FB0955EF -:10F5B00005EB052905EBC915ED0D207D65F304006C -:10F5C000207502FB03F306FB083808EB082308EB61 -:10F5D000C3184FEAD858A38A68F34A13A38202FBE0 -:10F5E00001F106FB071606EB062706EBC716F60D1C -:10F5F0001B0A66F3C7036375012009B0BDE8F08FED -:10F60000A18F029B1944B4F93E2009B2DDF804A091 -:10F610005046634B98478346E28F03990A4412B2DF -:10F62000B4F93C10CDF804A050465D4B9847824693 -:10F63000E28F03990A44A18F029B194412B209B2C6 -:10F640000198574B984794F8343013F0020F7FF429 -:10F650000BAF82E7052B98BFFF26009B052B8CBFC5 -:10F660002B460023BBF1050F98BFFF23BAF1050F0E -:10F6700098BF0025052898BFFF2571E7FF2B3FF4B1 -:10F680007DAFC3F1FF019DF81D20D20803FB07F7F2 -:10F6900001FB027707EB072207EBC217C7F3C4573A -:10F6A000BDF81C20C2F3451203FB08F801FB0288D9 -:10F6B00008EB082208EBC218C8F3C5589DF81C20B7 -:10F6C00002F01F0203FB09F901FB029909EB092370 -:10F6D00009EBC319C9F3C45950E7FF2D36D0C5F162 -:10F6E000FF009DF81910C9089DF81530DB0800FBD4 -:10F6F00003F305FB013101EB012301EBC311C1F35E -:10F70000C451BDF81830C3F34513BDF81420C2F33B -:10F71000451200FB02F205FB032303EB032203EB7C -:10F72000C213C3F3C5539DF8182002F01F029DF8C1 -:10F7300014E00EF01F0E00FB0EF005FB020505EBBA -:10F74000052205EBC215C5F3C45525E79DF81850F1 -:10F7500005F01F05BDF81830C3F345139DF81910C7 -:10F76000C90819E7227D65F304022275A28A63F3B2 -:10F770004A12A282120A61F3C702627501203CE7B5 -:10F78000237D69F304032375A38A68F34A13A382D4 -:10F790001B0A67F3C703637501202EE700202CE7DF -:10F7A000F1EF0000C1EE00002DE9F04F83B0884674 -:10F7B0005D4B1988E1B107465C4B1E683346013941 -:10F7C00089B2013101EBC10106EB810158481A6A87 -:10F7D0008242A4BF02F1FF321A6224338B42F6D177 -:10F7E0000024DFF88091DFF880B1DFF83CA111E060 -:10F7F000504B0093504B442250490220504CA0479C -:10F80000002525E0012827D00134A4B2BAF8003041 -:10F81000A3422AD904EBC40506EB85056868C847EE -:10F820000028EFD16B68BB42EED128891FFA88F31C -:10F83000984214BF002001200028E5D02B6A6A6995 -:10F840001344B3F57A7F0EDD4FF47A732B6265B102 -:10F85000284603B0BDE8F08F39466868D847B0FA4B -:10F8600080F04009E8E72B62F1E72F4B1A88012A64 -:10F8700037D906F12403023A92B202EBC20206EB38 -:10F88000820248323546186A296A8842B8BF1D4646 -:10F8900024339342F7D16B682BB32846294B984702 -:10F8A000294B0093244B772224490120244CA04764 -:10F8B000264B9847044600236B614246394628464A -:10F8C000234B9847C0B100232B626B69002BBFD13B -:10F8D0002046204B984768610028B9D101236B610D -:10F8E000B6E73546D7E71C4B0093134B7A221349F2 -:10F8F0000120134CA047DBE7184B00930E4B8322EB -:10F900000E4902200E4CA04728460E4B9847202156 -:10F910002846134CA04724212846A0474FF0004317 -:10F920002B62002594E700BF582B0020746D002047 -:10F930000200008074C6010018C6010044C6010020 -:10F9400005280100DD0401009CC60100011601002C -:10F95000F103010019160100D0C6010004C701001F -:10F96000DF300100119F00002BAF01002DE9F047AF -:10F97000144B1F68144B1B880BB306460024DFF89A -:10F980004C90DFF84CA0DFF840800EE00BB1284629 -:10F99000D04720212846C84724212846C84701349B -:10F9A000A4B2B8F80030A34209D904EBC40507EBB0 -:10F9B00085056B68B342E9D0002EF0D1E6E7BDE8DB -:10F9C000F08700BF746D0020582B0020DF3001004D -:10F9D000DD0401002DE9F04182B00446214B1B6893 -:10F9E00033B10020204B98471E4B18681F4B984797 -:10F9F00004EBC40080001E4B98471A4B18601D4B47 -:10FA00009847E8B1174B1B6843B31B4B1C80A4B14C -:10FA10000024144F194E984604EBC405AD00386815 -:10FA200020212844B047386824212844B0470134B5 -:10FA3000A4B2B8F80030A342EED802B0BDE8F0811D -:10FA40000F4B0093A8220F4903200F4CA047054BF2 -:10FA50001A6800230D480E498847FEE70022064B2E -:10FA60001A80EAE7746D00206DF900006D2A01002C -:10FA7000852901008D290000582B0020DF3001006E -:10FA80002CC6010044C6010005280100BCB40100D9 -:10FA90009529000030B587B00C4615460846334B13 -:10FAA0009847D8B92378C3F30403043BDBB20A2B8D -:10FAB00059D82368C3F38A232A6863F394222A60FF -:10FAC0006388C3F34A136A8863F34F126A8022780B -:10FAD0002B7862F304032B7001200DE001280DD078 -:10FAE000022832D0224B0093224B4FF49A722249C3 -:10FAF0000220224CA047002007B030BD0222214640 -:10FB000004A81F4B984738B12B781C3303F01F0310 -:10FB10000A2B18D80120EFE703AB0422294604A8DA -:10FB2000184CA047044604A8174B984714B9039BE8 -:10FB3000042BE9D0154B00930E4B40F221120E49D5 -:10FB400002200E4CA0470020D6E72B68012060F36E -:10FB500094232B601A0C60F34F126A800B2262F31D -:10FB600004032B70C8E70020C6E700BF119F000008 -:10FB700050C8010030C70100FCC701000528010082 -:10FB8000F522010065220100352201002CC8010088 -:10FB900038B5CC69A4B10D46206820B1094B98470F -:10FBA0002068094B9847606808B1074B9847A068E0 -:10FBB00008B1054B98472046034B98470023EB615B -:10FBC00038BD00BF352201006D2A01002DE9F04348 -:10FBD00085B005460C468B7A012B16D0002B40F0E1 -:10FBE000AA814B689B68002B00F0A381087B00F082 -:10FBF0001F00031FDBB2022B00F2858063689B6845 -:10FC00002361012005B0BDE8F0834868964B984712 -:10FC10009649974B984700282AD10222616802A88A -:10FC2000944B9847D8B9E36923B3E6690820924B0F -:10FC300098473060914B9847002840D03368002B9C -:10FC40004BD18F4B00938F4B40F25F128E490320B4 -:10FC50008E4EB047214628468D4B984708E08D4B85 -:10FC60000093884B4FF4A67287490220874CA04727 -:10FC70000020C7E70C20804B9847E0617F4B9847F6 -:10FC800068B9804B009340F253127F4903207F4DA7 -:10FC9000A847E2690023804880498847FEE7E06979 -:10FCA00048B9774B0093774B40F2551276490320C1 -:10FCB000764CA047DCE70C21794B9847B5E7714BB0 -:10FCC000009340F25D1270490320704CA0473268E7 -:10FCD0000023714871498847FEE70DF1070203F1DF -:10FCE000080112F8010F03F8010B8B42F9D1207BB8 -:10FCF00000F01F00031FDBB2022B04D8A37A002BF5 -:10FD00003FF47CAF1FE1C31FDBB2032B09D9A0F185 -:10FD10000B03DBB2032B00F2FD80002323610120E3 -:10FD200070E7604B98470746E369BBB1E66902207C -:10FD3000B840514B98477060504B9847002837D1D6 -:10FD4000504B009340F297124F4903204F4CA0476D -:10FD500072680023504851498847FEE70C20464B03 -:10FD60009847E061454B984768B9464B00934FF47C -:10FD7000C67245490320454DA847E269002346481D -:10FD800046498847FEE7E06970B93D4B00933D4B1B -:10FD90004FF4C7723C4903203C4EB04721462846E9 -:10FDA0003B4B984700202DE70C213D4B9847BDE782 -:10FDB000012303FA07F738462F4B9847B0602F4BC3 -:10FDC0009847002832D07368002B3DD0B368002BD1 -:10FDD0003AD0A37A012B67D063689A68002F00F0AD -:10FDE00095800023706800EB430C92F801E04FEA25 -:10FDF0009E0E9578ED081178C90810F8138061F30C -:10FE0000040800F8138030F813106EF34A1120F83C -:10FE10001310090A65F3C7018CF80110D078B16896 -:10FE2000C854013304329F42DCD16FE0154B00937C -:10FE300040F2991214490320144CA047B2680023E1 -:10FE4000154816498847FEE70D4B00930D4B40F2CD -:10FE50009B120D4903200D4EB047214628460C4BFE -:10FE600098470020CEE600BFC923010078C80100F2 -:10FE70002BAF0100F5220100852901008D2900002A -:10FE8000A8C8010050C70100FCC7010005280100F7 -:10FE900091FB00007CC80100BCB401009529000062 -:10FEA000DF300100299C000004213068284B98476E -:10FEB00067B30025A946DFF8B0804B46042202A9AB -:10FEC0003068C047726802EB450E9DF80900800853 -:10FED0009DF80A10C9089DF80830DB0812F815C013 -:10FEE00063F3040C02F815C032F8153060F34A13BE -:10FEF00022F815301B0A61F3C7038EF801309DF814 -:10FF00000B20B3685A550135AF42D6D10023236187 -:10FF1000012077E6214628460E4B98470E4B00936A -:10FF20000E4B40F2D3120E4902200E4CA047002087 -:10FF300068E6002066E6087B00F01F00031FDBB2C6 -:10FF4000022B3FF6E0AE0023236101205AE600BFFA -:10FF5000A122010091FB0000D4C8010050C701009C -:10FF6000FCC7010005280100652201002DE9F04FC2 -:10FF70008BB00D4614469A46BDF950600B7B03F0DA -:10FF80001F031A1FD2B2022A45D88B7A012B03D045 -:10FF900000200BB0BDE8F08FD1F81C80087B00F08A -:10FFA0001F009E4B98470746E968C1F38A210AFB68 -:10FFB000014100FB01F1C9100431D8F80000984B51 -:10FFC0009847D8B9C7F3C70706FB07F60AAB002264 -:10FFD00043F8102D32461599D8F80000914CA047EF -:10FFE000069B9E4215D0904B0093904B40F23522D9 -:10FFF0008F4902208F4CA0470020CAE78E4B009308 +:1002C0003C9A02007C0000203C9A020000000000E2 +:1002D00070B500BF8C4C1026A66132208B4DA8470C +:1002E000666100BF3220A847A6613220A84700BF40 +:1002F000402666610A20A847A6610520A8476661D6 +:10030000834B1B7823B9202262610122804B1A7033 +:10031000012280498048814B98477B4C4025A5614C +:1003200014207A4B98476561794B1B7823B92022BA +:1003300062610122764B1A70012276497648774B2A +:100340009847714C4025A5611420704B9847656112 +:100350006F4B1B7823B92022626101226C4B1A700B +:1003600001226C496C486D4B9847674C4025A5614C +:100370001420664B984765616561654B1B7823B90E +:10038000202262610122624B1A70E22261496248B6 +:10039000624B98475C4B40229A615A615C4B1B78D8 +:1003A0002BB12022584B9A610022594B1A702322FC +:1003B00058495948594B9847534B40229A615A61C2 +:1003C000534B1B782BB120224F4B9A610022504B8C +:1003D0001A7002224F495048504B98474A4B4022CE +:1003E0009A615A614A4B1B782BB12022464B9A6185 +:1003F0000022474B1A70542246494748474B9847BA +:10040000414B40229A615A61414B1B782BB9202203 +:100410003D4B5A6101223E4B1A70E0223D493E4855 +:100420003E4B9847384B40229A615A61384B1B78B3 +:100430002BB12022344B9A610022354B1A700122D5 +:1004400034493548354B98472F4C4025A5616420E9 +:10045000334B984765612E4B1B7823B9202262618C +:1004600001222B4B1A70E0222A492B482B4B98472C +:10047000254B40229A615A61254B1B782BB12022D3 +:10048000214B9A610022224B1A70032221492248F3 +:10049000224B98471C4C4025A56101201B4B9847D7 +:1004A00065611B4B1B7823B9202262610122184B26 +:1004B0001A70012217491848184B9847124C4025CA +:1004C000A5610120114B98476561114B1B7823B939 +:1004D0002022626101220E4B1A70E6220D490E485D +:1004E0000E4B9847084B40229A615A61084B1B7883 +:1004F0002BB12022044B9A610022054B1A70042272 +:10050000044905480EE000BF0080004121150000AD +:1005100000000020F7C3031C808000414110000050 +:10052000011500008A4B98478A4B40229A615A6114 +:10053000894B1B782BB12022864B9A610022864B77 +:100540001A703A2285498648814B9847814B402250 +:100550009A615A61804B1B782BB120227D4B9A61A6 +:1005600000227D4B1A70B6227C497D48784B984713 +:10057000784B40229A615A61774B1B782BB9202225 +:10058000744B5A610122744B1A70B022734974483B +:100590006F4B98476F4B40229A615A616E4B1B78A4 +:1005A0002BB120226B4B9A6100226B4B1A702822D0 +:1005B0006A496B48664B9847664B40229A615A617C +:1005C000654B1B782BB12022624B9A610022624B53 +:1005D0001A708022614962485D4B98475D4C402506 +:1005E000A561604B9847604B9847421EC2F30722B3 +:1005F0006561594B1B7823B12021A1610021564B25 +:10060000197056495648524B9847524C4025A5619F +:10061000544B9847544B9847421ED2B265614E4B9B +:100620001B7823B12021A16100214B4B19704B494C +:100630004B48474B9847474C4025A561494B984745 +:100640004A4B9847421EC2F307226561424B1B7812 +:1006500023B12021A16100213F4B19703F4940483F +:100660003B4B98473B4C4025A5613E4B98473F4B41 +:100670009847421ED2B26561374B1B7823B12021C7 +:10068000A1610021344B197034493548304B9847EB +:10069000304B40229A615A612F4B1B782BB120229C +:1006A0002C4B9A6100222C4B1A7000222B492C48AB +:1006B000274B9847274B40229A615A61264B1B785B +:1006C0002BB92022234B5A610122234B1A70F022AE +:1006D000224923481E4B98471E4B40229A615A617B +:1006E0001D4B1B782BB120221A4B9A6100221A4B0A +:1006F0001A70032219491A48154B9847154B402286 +:100700009A615A61144B1B782BB92022114B5A6104 +:100710000122114B1A703A22104911480C4B98478C +:100720000C4B40229A615A610B4B1B782BB1202253 +:10073000084B9A610022084B1A7055220749084855 +:10074000034B9847034B40229A615A6110E000BF67 +:10075000411000000080004100000020F7C3031C8E +:1007600080800041E10E0100ED0E0100150F010037 +:100770008A4B1B782BB92022894B5A610122874B67 +:100780001A70B42287498848884B9847844B402286 +:100790009A615A61814B1B782BB12022804B9A6160 +:1007A00000227E4B1A7002227E497F487F4B984779 +:1007B0007B4B40229A615A61784B1B782BB12022E7 +:1007C000774B9A610022754B1A700D227549764855 +:1007D000764B9847724B40229A615A616F4B1B7857 +:1007E0002BB120226E4B9A6100226C4B1A700022B2 +:1007F0006C496D486D4B9847694B40229A615A612C +:10080000664B1B782BB12022654B9A610022634B0B +:100810001A702B2263496448644B9847604B40220E +:100820009A615A615D4B1B782BB120225C4B9A6117 +:1008300000225A4B1A7028225A495B485B4B984752 +:10084000574B40229A615A61544B1B782BB120229E +:10085000534B9A610022514B1A7000225149524861 +:10086000524B98474E4B40229A615A614B4B1B7832 +:100870002BB120224A4B9A610022484B1A70002269 +:1008800048494948494B9847454B40229A615A612B +:10089000424B1B782BB12022414B9A6100223F4BE7 +:1008A0001A7000223F494048404B98473C4B402239 +:1008B0009A615A61394B1B782BB92022384B5A6107 +:1008C0000122364B1A70B62236493748374B9847C3 +:1008D000334B40229A615A61304B1B782BB1202256 +:1008E0002F4B9A6100222D4B1A7001222D492E4860 +:1008F0002E4B98472A4B40229A615A61274B1B780E +:100900002BB12022264B9A610022244B1A701D2203 +:1009100024492548254B9847214B40229A615A612A +:100920001E4B1B782BB120221D4B9A6100221B4BC2 +:100930001A7000221B491C481C4B9847184B402238 +:100940009A615A61154B1B782BB12022144B9A6186 +:100950000022124B1A700C2212491348134B98476D +:100960000F4B40229A615A610C4B1B782BB120220D +:100970000B4B9A610022094B1A70092209490A4857 +:100980000A4B9847064B40229A615A61034B1B78E9 +:100990008BB12022024B9A610AE000BF00000020C8 +:1009A00000800041F7C3031C80800041411000001B +:1009B00000228B4B1A7000228A498B488B4B984738 +:1009C0008B4B40229A615A61854B1B782BB12022B8 +:1009D000874B9A610022824B1A700022814982481B +:1009E000824B9847824B40229A615A617C4B1B781C +:1009F0002BB920227E4B5A610122794B1A702A2290 +:100A000078497948794B9847794B40229A615A61E5 +:100A1000734B1B782BB12022754B9A610022704BCF +:100A20001A7000226F497048704B9847704B4022F3 +:100A30009A615A616A4B1B782BB120226C4B9A61E8 +:100A40000022674B1A70002266496748674B984737 +:100A5000674B40229A615A61614B1B782BB120226F +:100A6000634B9A6100225E4B1A7001225D495E4819 +:100A70005E4B98475E4B40229A615A61584B1B78F7 +:100A80002BB120225A4B9A610022554B1A70DF225B +:100A900054495548554B9847554B40229A615A61E5 +:100AA0004F4B1B782BB92022514B5A6101224C4BE2 +:100AB0001A702B224B494C484C4B98474C4B4022C8 +:100AC0009A615A61464B1B782BB12022484B9A61A0 +:100AD0000022434B1A70002242494348434B984737 +:100AE000434B40229A615A613D4B1B782BB1202227 +:100AF0003F4B9A6100223A4B1A70002239493A481A +:100B00003A4B98473A4B40229A615A61344B1B78D2 +:100B10002BB12022364B9A610022314B1A700122F0 +:100B200030493148314B9847314B40229A615A61E4 +:100B30002B4B1B782BB120222D4B9A610022284B86 +:100B40001A700F2227492848284B9847284B4022E3 +:100B50009A615A61224B1B782BB92022244B5A618F +:100B600001221F4B1A7029221E491F481F4B98470C +:100B70001F4B40229A615A61194B1B782BB92022D6 +:100B80001B4B5A610122164B1A70BE22154916489A +:100B9000164B9847164B40229A615A61104B1B78AE +:100BA0002BB12022124B9A6100220D4B1A700622A3 +:100BB0000C490D480D4B98470D4B40229A615A61E4 +:100BC000074B1B782BB12022094B9A610022044B62 +:100BD0001A70FF2203490448044B98470AE000BFFB +:100BE00000000020F7C3031C80800041411000007A +:100BF00000800041264B40229A615A61254B1B78A8 +:100C00002BB12022224B9A610022224B1A70012222 +:100C100021492248224B98471D4B40229A615A6134 +:100C20001C4B1B782BB12022194B9A610022194BC7 +:100C30001A70FF2218491948194B9847144B402243 +:100C40009A615A61134B1B782BB12022104B9A6189 +:100C50000022104B1A7000220F491048104B984781 +:100C60000B4B40229A615A610A4B1B782BB1202210 +:100C7000074B9A610022074B1A7001220649074868 +:100C8000074B9847024B40229A619A6170BD00BFA2 +:100C90000080004100000020F7C3031C8080004159 +:100CA000411000002DE9F84FB1F90430002B0FDBA3 +:100CB00081468A461546B1F90630002B08DBB1F9AA +:100CC0000040044B9847044B98470138844205DDA7 +:100CD000BDE8F88FE10E0100ED0E0100BAF9024007 +:100CE000944B9847944B984701388442F0DCBAF90A +:100CF000006026EAE676BAF9024024EAE474A346E4 +:100D0000BAF904708B4B98478C4B9847013887424F +:100D100000F30A81BAF90470BAF90680854B984746 +:100D2000854B98470138804500F31881BAF9068051 +:100D30004022834B5A61834B1B782BB92022804B76 +:100D40005A6101227F4B1A702A227F497F48804BCB +:100D500098477B4B40219961C6F307225961794B33 +:100D60001B782BB12021764B99610021754B1970AE +:100D700075497648764B9847714B40229A615A6183 +:100D8000704B1B782BB120226D4B9A6100226D4B6A +:100D90001A70F2B26C496D486D4B9847684B402110 +:100DA0009961C7F307225961664B1B782BB120214B +:100DB000634B99610021634B197063496348644B2D +:100DC00098475F4B40219961FAB259615D4B1B789E +:100DD0002BB120215A4B996100215A4B19705A4965 +:100DE0005A485B4B9847564B40229A615A61554B83 +:100DF0001B782BB92022524B5A610122514B1A7099 +:100E00002B2251495148524B98474D4B40219961F3 +:100E1000CBF3072259614B4B1B782BB12021484B58 +:100E200099610021474B197047494848484B9847FA +:100E3000434B40229A615A61424B1B782BB12022CE +:100E40003F4B9A6100223F4B1A70E2B23E493F4845 +:100E50003F4B98473A4B40219961C8F307225961AB +:100E6000384B1B782BB12021354B99610021354B34 +:100E7000197035493548364B9847314B40219961B7 +:100E80005FFA88F259612F4B1B782BB120212C4B34 +:100E9000996100212B4B19702B492C482C4B9847FA +:100EA000274B40229A615A61264B1B782BB920228E +:100EB000234B5A610122234B1A702C2222492348CA +:100EC000234B984740221E4B9A61BAF804300133F5 +:100ED000BAF800209B1A9BB21A4A12782AB1202134 +:100EE000174A91610021174A11704021144A51613B +:100EF000C6F101063E44B6B2D8450EDB5F00DFF80E +:100F000048B0DFF854A033462A4659460F48D04728 +:100F10003D44013424B2A045F5DA4022084B9A61E1 +:100F200048460C4B9847D3E6024B9847034B9847EB +:100F3000471EF1E6E10E0100150F0100ED0E010064 +:100F40000080004100000020F7C3031C80800041A6 +:100F500041100000AD0F010079100000034B9847CD +:100F6000034B984700F1FF38E2E600BFE10E0100B5 +:100F7000150F0100FEE7000008B51C4B1C4A9A4201 +:100F800010D01C4B194A9A420CD2013B9B1A23F0F9 +:100F9000030304331344164951F8040B42F8040BBD +:100FA0009A42F9D1144B154A9A420AD2013B9B1A34 +:100FB00023F0030304331344002142F8041B93423B +:100FC000FBD10F4B0F4A22F07F029A60D3F88820A2 +:100FD00042F47002C3F88820BFF34F8FBFF36F8FC6 +:100FE000094B9847094B9847FEE700BF00000020D7 +:100FF0003C9A020074000020046E0020780000205B +:1010000000ED00E00000000095B40100B1210000F7 +:1010100010B4530003F47C73540104F4703423437C +:1010200002F007042343520302F0E0521A4302EA9B +:101030000103836121EA020141615DF8044B7047BD +:1010400010B540240A4B5C610A4B9847082300BF47 +:10105000013BFCD18022064B5A61082300BF013BB3 +:10106000FCD1034B80229A6140229A6110BD00BFDF +:1010700000800041111000008BB12DE9F0410F46B6 +:101080000646144602EB4305DFF8148034F8022BC1 +:1010900039463046C047AC42F8D1BDE8F0817047D0 +:1010A000411000002DE9F04F83B08B4600924001C3 +:1010B000C3B201930026DFF8949165E009EBC713F2 +:1010C0005D60AAB242F080429A622A0C42F040422D +:1010D0009A62009B1B78012B77D023B3022B00F080 +:1010E0008480892257490020574B984724E009EB18 +:1010F000C7125560ABB243F0804343F400339362B0 +:101100002B0C43F0404343F400339362E1E709EBD7 +:10111000C7139D60AAB242F080429A622A0C42F044 +:1011200040429A62D5E709EBC713434493F8402045 +:1011300002F0FB0283F84020009B5A686409B2F178 +:10114000FF3F62D0E4B209EBC411414491F8403052 +:1011500003F0FE0343F0010381F840301AF0010F61 +:101160005ED109EBC41404EB580898F8303003F052 +:10117000F00302F00F021A4388F8302009EBC7177A +:101180007D610136202E59D0F4B22BFA06F313F00C +:10119000010FF6D004F01F04019B1C445FFA84FA8F +:1011A0004FEA5A170AF01F08012505FA08F5009BB7 +:1011B0005B78012B9BD0002B80D0022BA7D046223E +:1011C00020490020204B984783E7012303FA08F3C6 +:1011D00009EBC712536002EB080090F8401041F091 +:1011E000040180F840109361A6E7012303FA08F395 +:1011F00009EBC712536002EB080090F8401041F071 +:10120000040180F84010536196E7E4B209EBC4147E +:10121000A04498F8403003F0FE0388F84030ADE772 +:1012200009EBC41404EB580898F8303003F00F03AE +:1012300043EA0212D2B288F830209FE703B0BDE83B +:10124000F08F00BF30B50100D519000000800041CB +:1012500070B582B00023009302238DF801304FF067 +:10126000FF3301936A463F4901203F4B98473F4B6C +:1012700040269E603E4A9A624FF040429A6293F83E +:10128000461001F0FB0183F8461093F8461001F078 +:10129000FE0183F8461010259D60364999629A62D6 +:1012A00093F8441001F0FB0183F8441093F84410C4 +:1012B00001F0FE0183F8441008249C602E499962D5 +:1012C0009A6293F8431001F0FB0183F8431093F8FE +:1012D000431001F0FE0183F843102021996001F1D1 +:1012E000804199629A6293F8451001F0FB0183F8FE +:1012F000451093F8451001F0FE0183F84510802059 +:1013000098601E4999629A6293F8472002F0FB02A6 +:1013100083F8472093F8472002F0FE0283F8472025 +:101320004FF48072C3F8842101F500318031C3F895 +:10133000A8111349C3F8A811C3F8842193F8C81160 +:1013400041F0040183F8C811C3F8942193F8C8212F +:1013500002F0FE0283F8C8219E619D619C61986144 +:1013600002B070BDF7C3031CA5100000008000414F +:101370004000004010000040080000408000004095 +:10138000000002C07047000008B50649D1E90023FB +:10139000013243F10003C1E900230120024B9847C9 +:1013A00008BD00BF980000204510010010B511488D +:1013B000114B9847114A536943F4804353614022CB +:1013C0000F4BC3F8A4200F4B98470F4C02460F4910 +:1013D00020460F4B98470F4901230B610E4A4A6183 +:1013E0000B76083120460D4B984720460C4B98470A +:1013F00010BD00BF10E000E0ED1400000008004048 +:10140000001C00404B210000046C0020003800400C +:10141000491600009800002089130000C116000042 +:101420008516000030B583B01F4B4022C3F8DC2086 +:101430004322C3F88C201D4A936943F400739361DF +:101440001B4C0023009310231A4A1B4920461B4DB6 +:10145000A8471B4B93F8D82002F0FE0242F001028D +:1014600083F8D82093F8BC2002F0F00242F0030287 +:1014700083F8BC2093F8D92002F0FE0242F001026A +:1014800083F8D92093F8BC2002F00F0242F030021A +:1014900083F8BC2020460B4B98470C220A49204673 +:1014A0000A4B984703B030BD001C004000080040C4 +:1014B000206C0020B4000020002001411919000018 +:1014C00000800041A919000004000020411500001F +:1014D000EFF31083036072B6BFF35F8F7047BFF303 +:1014E0005F8F036883F310887047000008B5024BD4 +:1014F0001860024B984708BDC4000020891B0000FB +:1015000010B5044B1C68044B984701462046034B1A +:10151000984710BDC4000020511B0000911B000023 +:1015200010B5044B1C68044B984701462046034BFA +:10153000984710BDC4000020691B0000911B0000EB +:1015400070B50D461646044660B1081C18BF012050 +:1015500034220549054B98472368324629462046E0 +:10156000984770BD0020F3E74CB50100D519000085 +:10157000F8B5844607682FB18D683C460026C2F155 +:10158000010E0BE00E4B9847F8BD7344A06803446E +:10159000AB420AD22368264653B11C466368934285 +:1015A000F3D8A06803449B1AF2E7A74204D034465C +:1015B0002046044B9847F8BD6046014B9847F8BD5C +:1015C000FD190000291A00002DE9F0474469076958 +:1015D00001370761037E13F0010F13D1037E13F06F +:1015E000020F0FD154B36368FB1AA268934207D36A +:1015F000064600F11408DFF84890DFF848A012E032 +:10160000BDE8F087037E43F002030376BDE8F08770 +:101610007569E3682046984785B12C466B68FB1ACC +:10162000AA6893420AD34046C847237C012BEFD1D6 +:1016300067603A4621464046D047E9E7BDE8F08773 +:10164000311A00007115000038B50D46044678B116 +:10165000081C18BF01203B220649074B9847294622 +:101660002046064B984700202061054B236038BD7B +:101670000020F0E760B50100D51900007D1F0000D3 +:10168000C915000010B5044653220949003018BF9F +:101690000120084B98472046074B984720B9204621 +:1016A000064B9847002010BD6FF0100010BD00BF22 +:1016B00060B50100D5190000392100002521000086 +:1016C00070B582B00D46044618B3081C18BF01203F +:1016D0007A221E491E4B9847237E43F0010323764E +:1016E00004F11406294630461A4B984798B92369E5 +:1016F0006B60226929463046174B9847237E03F0DA +:10170000FE032376237E13F0020F10D1002002B0D7 +:1017100070BD0020DCE7237E03F0FE0323767F22EA +:101720000A4900200A4B98476FF01100EFE701A823 +:101730000A4B9847237E03F0FD0323762046084B8F +:10174000984701A8074B98470020E0E760B50100E3 +:10175000D5190000DB19000071150000D11400003C +:1017600051210000DF14000008B500238362C36923 +:101770001BB1A0F108021046984708BD08B5002328 +:101780008362436A1BB1A0F108021046984708BD66 +:1017900038B50446A0F108052C30034B9847236A5E +:1017A0000BB12846984738BDD11A000070B50E46D7 +:1017B00015460446E0B1E9B1101C18BF012040F203 +:1017C0003B120F490F4B9847B4F84420B4F84C3003 +:1017D0009A4211D1A664A4F84C500023A4F84430D6 +:1017E0000123236304F10800074B9847284670BD86 +:1017F0000020E4E70020E2E76FF01B0070BD00BFAF +:1018000078B50100D5190000BB1E000010B50446D4 +:10181000838FB0F844209A4209D0026C591C81870A +:10182000D15C044B98472046034B984710BD034BAF +:10183000984710BDB51E0000BB1E0000C31E00006F +:101840002DE9F04782B00F4690460646A0B199B107 +:10185000002A2DD14FF4AC7229490020294B98471A +:1018600001A8294B984706F13400284B984701A856 +:10187000274B984700253EE04FF4AC7220490020EA +:10188000204B984701A8204B984706F1340A504650 +:101890001E4B9847814601A81D4B9847B9F1000F90 +:1018A00004D0B8F1000F19D1002524E0002522E072 +:1018B0004FF4AC7212490120124B984701A8124B09 +:1018C000984706F1340A5046104B9847814601A8C4 +:1018D0000F4B98470025B9F1000F0CD000240D4E96 +:1018E000601C85B239195046B04701344C4502D2CC +:1018F000A3B29845F4D8284602B0BDE8F08700BFEF +:1019000078B50100D5190000D1140000111B0000AA +:10191000DF1400008D1A0000F8B50D4616461F466C +:10192000044620B329B332B3181C18BF01203A2251 +:101930001349144B98473A46314604F13400124B90 +:101940009847D0B9294604F10800104B9847034640 +:1019500058B90F4A62600F4A22600F4AA2600F4ACC +:10196000E2600F4A22610F4A62611846F8BD00200A +:10197000DDE70020DBE70020D9E76FF00C03F4E798 +:1019800078B50100D51900003D1A00001D1E0000A9 +:1019900041180000AD1700000D180000911700005D +:1019A000691700007D17000010B504466122064942 +:1019B000003018BF0120054B984704F10800044B84 +:1019C0009847002010BD00BF78B50100D519000070 +:1019D000A11E000000B900BE704703684BB18B42E6 +:1019E00009D01B681BB19942FBD101207047002030 +:1019F00070470020704701207047000038B504464A +:101A00000D46064B984780F0010039220449C0B2C8 +:101A1000044B984723682B60256038BDDB19000014 +:101A200098B50100D519000003680B60016070478C +:101A300003680BB11A6802601846704770B50E460D +:101A40001546044678B181B1A2B1012028220D4982 +:101A50000D4B98476B1E1D4209D163600020A060AA +:101A6000E060266070BD0020F0E70020EEE76FF038 +:101A70000C0070BD282203490020034B98476B1EC1 +:101A8000EBE700BFB8B50100D519000038B50D4629 +:101A90000446A0B1081C18BF012040220A490B4B84 +:101AA0009847A368E2689A420BD0626813402268A4 +:101AB000D35C2B70A3680133A360002038BD0020E5 +:101AC000EBE76FF0090038BDB8B50100D51900008B +:101AD00038B50D46044651220B49003018BF01208D +:101AE0000A4B9847E368626813402268D554E3685C +:101AF0006168A2689A1A8A4284BF591AA1600133A8 +:101B0000E360002038BD00BFB8B50100D519000062 +:101B100010B5044667220549003018BF0120044B68 +:101B20009847E068A368C01A10BD00BFB8B50100AF +:101B3000D5190000430900F01F00012202FA00F04D +:101B40004033024A42F82300704700BF00E100E042 +:101B5000C0EBC00000EB00100230024BA3FB0030D2 +:101B600040087047ABAAAAAAC0EBC00000EB001067 +:101B70000230044BA3FB003040084FF47A7303FBA0 +:101B800000F07047ABAAAAAA70470000000000004E +:101B90000139FDD8704700BF08B5094A13889BB2C8 +:101BA00043F4A0631380074B9847074B9847074BB4 +:101BB0009847074B984740F6FF70064B984708BD7B +:101BC00000400041091C0000291C0000FD1B000012 +:101BD0002D1C0000D91B000010F0010F08D0054A91 +:101BE000054B1A62194643F6FD724B681342FCD14D +:101BF000704700BF07010100001C00400122014B9B +:101C00005A71704700080040064B42F28E329A82A9 +:101C100000229A75DA75DA6902F47C52DA610122DF +:101C20001A74704700140040704700000E4A0F4BB2 +:101C30005A631A46D36B13F0060FFBD10B4B4FF4CC +:101C400002629A63022283F830201A46D36B13F0A3 +:101C5000020FFBD1054B1A6C12F0010F03D11A6C65 +:101C600012F0020FF7D070474D0E01000010004037 +:101C700000B583B00D4B9B78DBB20193019B13F051 +:101C8000020F06D00A4B1B681BB1084A50689847E0 +:101C900009E0019B13F0010F05D0054B5B6813B100 +:101CA000024A5068984703B05DF804FB0000024107 +:101CB000706C002070B489B006466C460D4D0FCD97 +:101CC0000FC495E80F0084E80F00009BB3420DD0CD +:101CD000314601AB012053F8042B8A4207D0013072 +:101CE0000828F8D1002009B070BC70470020C0B2AD +:101CF000F9E700BFDCB5010010B58469237E13F05D +:101D0000010F03D0A37D13F0010F12D1237E13F036 +:101D1000020F03D0A37D13F0020F0FD1237E13F027 +:101D2000040F15D0638B03F0370363B1FF23638384 +:101D300010BD012323750368984710BD0223237546 +:101D40008368984710BDA16A4368C9B2984710BD1F +:101D5000237EDB0900D110BD80232376C36898471A +:101D6000638B9BB26383F6E708B5034B984780000B +:101D70002E3000F0FE0008BDB51C000010B5044672 +:101D8000214B9847022805D040F26B221F490020C2 +:101D90001F4B9847E36913F0010F19D1E36913F062 +:101DA000030FFBD1236813F0020F0BD0236823F03D +:101DB00002032360E36913F0030FFBD1E36913F01F +:101DC000020FFBD105232360E36913F0030FFBD15E +:101DD000E36913F0010FFBD10E4B2360E36913F0AD +:101DE000030FFBD14FF440336360E36913F01F0F1F +:101DF000FBD1094BA3604FF61143A3810020A073D0 +:101E000084F8300010BD00BFB51C000014B60100FE +:101E1000D5190000040010400200700070B50D4696 +:101E20000646CB221849003018BF0120174B9847AF +:101E30002846174B9847044608B1204670BDB56147 +:101E4000144B9D4204BF144B1E602846134B984709 +:101E5000011DC9B2012500F01F0205FA02F2430973 +:101E60009B0003F1604303F56143C3F88020BFF397 +:101E70004F8FBFF36F8FC3F880211A600130C0B25B +:101E80008142E8D1D9E700BF14B60100D51900009E +:101E90007D1D000000200141C8000020691D0000D8 +:101EA0008269136843F002031360D36913F0030FD0 +:101EB000FBD17047836999627047836901229A75E3 +:101EC0007047836902229A757047000008B5024B7B +:101ED0001868024B984708BDC8000020F91C000094 +:101EE00008B5024B1868024B984708BDC80000208F +:101EF000F91C000008B5024B1868024B984708BD52 +:101F0000C8000020F91C000008B5024B1868024BFD +:101F1000984708BDC8000020F91C000070B588B0C3 +:101F200006466C46124D0FCD0FC495E80F0084E8AD +:101F30000F00009BB3420BD0304601AA012352F898 +:101F4000041B814205D00133082BF8D100200BE09F +:101F5000002313F0FF0F09D04FF49E7205490020B3 +:101F6000054B98474FF0FF3008B070BD0020FBE7ED +:101F700030B6010064B60100D519000070B5064600 +:101F80000C460846604B98470546F4608D225F4931 +:101F900001205F4B9847236913F0010F19D1236982 +:101FA00013F0030FFBD1236813F0020F0BD023684B +:101FB00023F002032360236913F0030FFBD123698D +:101FC00013F0020FFBD101232360236913F0030FE9 +:101FD000FBD1236913F0010FFBD105EB85034D4ABB +:101FE00002EB83035A6A2260236913F0030FFBD1CB +:101FF00005EB8503474901EB830393F82A10E1734E +:102000001B8DE3800123237302F00C02082A48D0C1 +:10201000002A58D105EB85033E4A02EB83039B8DD2 +:10202000A383236913F0C00FFBD10023E38323694B +:1020300013F0C00FFBD101236372374B9C4204BFE6 +:10204000364B1E6005EB8503324A02EB8303B3F97E +:102050002230002B23DB5A0903F01F03012101FA70 +:1020600003F320322E4941F82230BFF34F8FBFF3E4 +:102070006F8F05EB8505274B03EB8505B5F92230FE +:10208000002B0CDB590903F01F03012202FA03F3B2 +:10209000234A01F1600042F8203042F8213000204C +:1020A00070BD05EB85031B4A02EB8303DB6AE3612A +:1020B000236913F0C00FFBD100232362236913F0BF +:1020C000C00FFBD1B7E7042AB5D105EB8503114A50 +:1020D00002EB830393F82C302377236913F0C00FAE +:1020E000FBD100236377236913F0C00FFBD105EB0D +:1020F0008503084A02EB830393F82B30E3762369C8 +:1021000013F0200FFBD196E71D1F000064B60100FD +:10211000D519000030B6010000380040CC00002086 +:1021200000E100E0C268136843F002031360136922 +:1021300013F0030FFBD17047C268136913F0030F4C +:10214000FBD11068C0F340007047002070470000CA +:1021500010B5C068094B9847044640F20F12084971 +:102160000120084B984704EB8404074B03EB8404DD +:1021700094F82200054B984710BD00BF1D1F0000BA +:1021800064B60100D519000030B60100351B00000F +:1021900008B5064B1868C3689A7A12F0010F00D18F +:1021A00008BD01229A7203689847F9E7CC00002025 +:1021B00008B5024B9847024CA047FDE7C521000037 +:1021C0009922000030B58DB01E4B98471E4B9847A2 +:1021D0001E4B98471E4B98471E4B98471E4B9847DF +:1021E0001E4B98471E4C4FF4965300221D49204623 +:1021F0001D4DA84701A81D4B98471D4B0493029401 +:1022000001A81C4B984700201B4B9847054600210E +:102210001A4B984704461A491A4B98470022114610 +:102220002046194CA04700212846184B98470546E0 +:1022300023225A21A04716492846164B98470DB02D +:1022400030BD00BF991B000025140000851300005D +:1022500051120000AD13000069280000D1020000F7 +:1022600050260020D0000020710D0100110D01004A +:10227000A50C0000910D01004D2300006D98010098 +:1022800078B60100119601003D34000005AB010055 +:10229000E03B020005A8010008B50120024B984769 +:1022A000024B984708BD00BF21150000CD37010043 +:1022B000003018BF01207047F0B5C3B00546144682 +:1022C0001C4B9847E5282CD8064602AF0246294603 +:1022D0003846194B9847BD192023BB5528236B70EE +:1022E0003023AB707823EB70291D1C22134824FA8D +:1022F00002F303F00F0303441B7D01F8013B043A92 +:1023000012F1040FF3D129232B7300236B7302AB5B +:1023100000930B4BBC220B4903200B4CA04743B04E +:10232000F0BD0095064BBF2206490320064CA0478E +:10233000F5E700BF1FB5010055260100EC3B020088 +:10234000143C0200283C02005D22010008B1C06B71 +:10235000704710B582B0084B984710B1C06B02B0FF +:1023600010BD064B0093064B2E2206490220064C58 +:10237000A0470020F3E700BFE10E0100043E020089 +:10238000303D0200D83D02005D22010008B1006C22 +:10239000704710B582B0084B984710B1006C02B07E +:1023A00010BD064B0093064B4B2206490220064CFB +:1023B000A0470020F3E700BFE10E0100403E02000D +:1023C000443D0200D83D02005D22010008B1406C8E +:1023D000704710B582B0084B984710B1406C02B0FE +:1023E00010BD064B0093064B5C2206490220064CAA +:1023F000A0470020F3E700BFE10E01007C3E020091 +:102400005C3D0200D83D02005D220100A0B138B55C +:1024100003460024094D93F8342002F02002002ADC +:1024200018BF1C461846A84703460028F3D114B12C +:102430002046034B984738BD704700BF7D2C0000F5 +:10244000B53300002DE9F84F037D13F0010F2AD1B9 +:1024500017468A460646C4684FF001090025DFF892 +:10246000C480AB464AE0337D13F0100F00D1D5B9DC +:10247000B9F1000F17D03046D0470446002D35D0B3 +:10248000D94646E0F368A3420DD093B11868C369FA +:10249000002217219847F36800220E2118681E4B6E +:1024A0009847012801D0BDE8F88FF36818681B4BE6 +:1024B0009847F4602068C369002216219847F368A2 +:1024C00000220D211868144B98470128EBD1F368BE +:1024D0001868134B9847F3681868104B984733698E +:1024E000002BE0D030469847BDE8F88F0028DAD0BE +:1024F0000546D9462068C0470028C3D0002CB2D07A +:10250000002D08BF254621463046B8470446A8425C +:10251000C9D0002CEED1F1E7CD2A00002133000014 +:102520000D240000A531000008B518210148024B18 +:10253000984708BDEC6D0020F91E010008B5024A5D +:102540000249034B984708BDBD1F0100A91F0100A8 +:102550004524000008B5024A0249034B984708BDCC +:10256000E91F0100B31F01004524000038B50446EF +:10257000037DC3F3001543F01003037513F0080F38 +:102580000CBF044B044B9847237D65F3041323755C +:1025900038BD00BF3D2500005525000000284FD064 +:1025A000F0B583B005460C460746264B98470146D2 +:1025B000A0B103689C4207D0234E3846B04701467D +:1025C00060B10B68A342F8D1204B0093204B7522D9 +:1025D00020490120204CA04703B0F0BDA36B73B18C +:1025E00020461E4B984750B1A06B1D4B98471D4B82 +:1025F0000093174B7F2217490120174EB047A56360 +:102600002846194B98470646184B984758B1002E54 +:10261000E2D0346028460B4B98478642DCD12846EE +:102620000F4B9847D8E70A4B0093852209490320AE +:10263000094CA047324600230D480E498847FEE763 +:10264000704700BFA91F0100BD1F0100E83F020045 +:10265000983F0200AC3F02005D220100F94F0000EC +:102660006D250000244002005D1F0100B122000022 +:10267000D83F0200B92200002DE9F041D0F838809F +:10268000B8F1000F51D0D8F80C30002B4DD00546D2 +:102690001B6898421ED046464046254B9847044644 +:1026A000002842D003689D4209D0224F214630467F +:1026B000B8470446002838D023689D42F6D1214609 +:1026C00040461D4B984720461C4B98470023AB6360 +:1026D000BDE8F08198F8143013F0010F05D098F898 +:1026E00014306FF3000388F814304046104B9847BD +:1026F000D8F80C3083420BD04046114B9847D8F89D +:102700000C301B689D4204BF0023C8F80C30C2E7A0 +:1027100040460C4B9847D8F80C309842ECD10068F2 +:10272000C369002217219847E9E7BDE8F08100BF9F +:10273000A91F0100BD1F010095200100C524010053 +:102740006D250000B31F010018B1C3681BB11868E4 +:102750007047002070470020704718B1007DC0F31B +:102760004000704700207047014B5868704700BF19 +:1027700074260020F8B5B0B1034690F8502042F01E +:10278000020280F85020184A5268904204D039B1B1 +:10279000DA6B914204D0F8BD0020134A1060F6E7CE +:1027A0000022DA63F8BD0C460020104B9847034620 +:1027B0000028F0D00C4D00270C4E05E0DF631846D2 +:1027C000B04703460028E6D093F8502042F00202BA +:1027D00083F850206A689A4208BF2F60002CEDD021 +:1027E000DA6B9442EBD1E9E7742600202110010056 +:1027F00008B500210846014B984708BD7527000021 +:10280000014B1868704700BF742600202DE9F0477F +:102810008946904600F1040A5046114B9847E0B1B2 +:1028200004461FFA89F61FFA88F50E4F238A3344AF +:102830002382638A2B446382A38A3344A382E38A7C +:102840002B44E382424649462046FFF7DFFF2146FC +:102850005046B84704460028E8D1BDE8F08700BFDD +:10286000A91F0100BD1F010030B585B0214B1B78A9 +:10287000002B36D1204B9847204B9847204B984748 +:10288000204B9847204B984710212048204CA047C8 +:10289000204B02930193009302224FF01F014FF649 +:1028A00000001D4DA8471D4B98471D4B98474FF4FE +:1028B000B8711C48A04760211B48A0471B4B984794 +:1028C0001B4B984701201B4B98470120094B187060 +:1028D000194B0093194BA22219491A4CA04705B075 +:1028E00030BD194B0093154B782215490220154C29 +:1028F000A047F4E77C260020BD230100ED35010050 +:10290000791C01009D120100292500003C6D00206A +:10291000F91E010010000020496B0100D1410100A7 +:10292000555E0000986C00208C6C0020F1270000A0 +:10293000C1FF00002DF400001C48020058400200B6 +:10294000DC4702005D2201000448020030B583B07C +:1029500004460D460C4B984738B194F8343065F373 +:10296000C71384F8343003B030BD084B009340F2F5 +:10297000945207490320074DA847224600230648E2 +:1029800006498847FEE700BFB1220000B4400200BC +:10299000DC4702005D2201003C480200B922000031 +:1029A00030B583B004460D460C4B984738B194F8C7 +:1029B000343065F3000384F8343003B030BD084B85 +:1029C00000934FF4B46207490320074DA8472246FD +:1029D0000023064806498847FEE700BFB1220000F1 +:1029E000CC400200DC4702005D2201003C480200AE +:1029F000B92200002DE9F04186B0074615461E4673 +:102A00000C4621B10846284B9847002833D0039440 +:102A100000238DF810300593244B5B6803B10593B8 +:102A2000224B03AA5A60D3F808809E60204B984737 +:102A300018B183680BB12946984717B1294620463B +:102A4000B8471A4BC3F808805A6892685A609DF8D4 +:102A50001030F3B90CB394F8343013F0400F1ED09B +:102A60002068F0B132462946124B9847012814BF1E +:102A7000002001200EE0104B00934FF4DB620F4961 +:102A800003200F4DA847224600230E480E498847D1 +:102A9000FEE7002006B0BDE8F0810120FAE7012042 +:102AA000F8E70120F6E700BFB12200007C260020F5 +:102AB00069270000CD2A00009C410200DC4702008B +:102AC0005D2201003C480200B9220000E8B170B567 +:102AD00082B0044616460D460D4B984768B90D4B1B +:102AE000009340F2C4620C4903200C4DA8472246D3 +:102AF00000230B480B498847FEE733462A46214608 +:102B0000A069094CA04702B070BD0120704700BF0A +:102B1000B1220000B0410200DC4702005D2201004A +:102B20003C480200B9220000F529000030B583B00E +:102B300004460D46094B984710B1E56103B030BD1E +:102B4000074B009340F21B7206490320064DA8472D +:102B500022460023054806498847FEE7B1220000C7 +:102B6000C0410200DC4702005D2201003C48020037 +:102B7000B922000020B110B5C4691CB1A04710BD36 +:102B800001207047012010BD30B583B004460D46CA +:102B9000094B984710B1256203B030BD074B009335 +:102BA00040F2377206490320064DA847224600230B +:102BB000054806498847FEE7B1220000D8410200D7 +:102BC000DC4702005D2201003C480200B9220000FF +:102BD00030B583B004460D460D4B984768B90D4B90 +:102BE000009340F249720C4903200C4DA84722463D +:102BF00000230B480B498847FEE72946606A0A4BC9 +:102C00009847034600B16062184603B030BD00BF6C +:102C1000B1220000F0410200DC4702005D22010009 +:102C20003C480200B92200009928010030B583B069 +:102C300004460C4B984768B90B4B009340F259720D +:102C40000A4903200A4DA8472246002309480A4999 +:102C50008847FEE700226286E369062120469847FE +:102C600003B030BDB12200000C420200DC4702007C +:102C70005D2201003C480200B922000030B583B05B +:102C800004460A4B984710B1206803B030BD084B8A +:102C9000009340F29F7207490320074DA847224640 +:102CA0000023064806498847FEE700BFB12200001E +:102CB00028420200DC4702005D2201003C4802007D +:102CC000B922000030B583B004460E4B984708B1D6 +:102CD0000D4D0EE00D4B009340F26B720C4903203A +:102CE0000C4DA847224600230B480C498847FEE7B5 +:102CF0001C462046A84703460028F9D1204603B0C9 +:102D000030BD00BFB12200007D2C00003C4202001B +:102D1000DC4702005D2201003C480200B9220000AD +:102D20002DE9F04383B00446224B984780B12368D5 +:102D30001BB12046204B984704462048204B98471B +:102D4000054660B3DFF878901E4EDFF8708012E021 +:102D50001D4B009340F27F721C4903201C4DA84775 +:102D6000224600231B481C498847FEE72946404667 +:102D7000B047054698B105F130073846C8470146C7 +:102D80000028F3D0844206D03846B04701460028D8 +:102D9000ECD08C42F8D1284603B0BDE8F0830F4B4D +:102DA0000093094B4FF4F26208490220084CA047F7 +:102DB0000025F0E7B1220000C52C0000986C00202F +:102DC000A91F0100BD1F010050420200DC470200A4 +:102DD0005D2201003C480200B92200004C4802007C +:102DE00030B583B004460D460D4B984730B19DB1C8 +:102DF0002946201D0B4B984703B030BD0A4B00936A +:102E000040F2AD7209490320094DA847224600232C +:102E1000084809498847FEE7201D084B9847EBE71B +:102E2000B1220000BD1F010060420200DC47020029 +:102E30005D2201003C480200B9220000A91F0100E8 +:102E400030B583B005460C460E4B984760B105F18E +:102E50000F0204F10800234612F8011F03F8011BBA +:102E60008342F9D103B030BD074B009340F6010215 +:102E700006490320064CA0472A4600230548064978 +:102E80008847FEE7B1220000D8420200DC4702007A +:102E90005D2201003C480200B922000030B583B039 +:102EA00004460F4B984768B90E4B009340F6220238 +:102EB0000D4903200D4DA847224600230C480D491B +:102EC0008847FEE720460C4B9847034628B1208AE6 +:102ED0001B8AC01A00B203B030BDB4F91000FAE783 +:102EE000B1220000EC420200DC4702005D2201003A +:102EF0003C480200B92200007D2C000030B583B0B0 +:102F000004460F4B984768B90E4B009340F63602C3 +:102F10000D4903200D4DA847224600230C480D49BA +:102F20008847FEE720460C4B9847034628B1608A45 +:102F30005B8AC01A00B203B030BDB4F91200FAE7E0 +:102F4000B1220000FC420200DC4702005D220100C9 +:102F50003C480200B92200007D2C000030B583B04F +:102F600004460C4B984730B1A08A0130238AC01A1E +:102F700000B203B030BD084B009340F64A02074947 +:102F80000320074DA84722460023064806498847E4 +:102F9000FEE700BFB12200000C430200DC47020044 +:102FA0005D2201003C480200B922000030B583B028 +:102FB00004460C4B984730B1E08A0130638AC01A4E +:102FC00000B203B030BD084B009340F656020749EB +:102FD0000320074DA8472246002306480649884794 +:102FE000FEE700BFB122000020430200DC470200E0 +:102FF0005D2201003C480200B922000009B92830D6 +:10300000704700B583B08DF80010002301936A4625 +:103010000821044B984701280CBF0198002003B0F9 +:103020005DF804FB752B00002DE9F84F80468A46B9 +:1030300093461E461C481D4B9847002831D0054634 +:10304000B0422ED0DFF86090194F09E0AB885B45A5 +:1030500014D0BBF1FF0F11D01CB32546A64220D0DF +:1030600029464846B847044628684045F4D1A9791E +:103070005145EBD0BAF1FF0FEED1E7E70D4B984782 +:103080000D4B9847A9880D4B9847002128460C4BBB +:103090009847294648460B4B984728460A4B98477D +:1030A000DAE7BDE8F88F00BF3C6D0020B31F0100D8 +:1030B000E91F0100FD2F0000E7700000ED67000030 +:1030C0002913010095200100C524010030B583B00B +:1030D00004460D460B4B984748B10B4B98470023CD +:1030E000FF2229462046094CA04703B030BD084BBB +:1030F0000093084B40F2924207490220074CA04738 +:10310000F3E700BFFD2F0000F97000002930000038 +:1031100098480200E4430200DC4702005D220100FF +:10312000F8B504681748184B984708B301460027BC +:10313000144E164D03E03046A847014678B18C4244 +:10314000F9D00A6823689A42F5D14B6823F07F4290 +:10315000636823F07F439A4208BF0127EBE73FB142 +:10316000214608480A4B984720460A4B9847F8BD25 +:10317000A1792068084B9847084B9847A188084BCD +:103180009847EDE73C6D0020A91F0100BD1F01001D +:1031900095200100C5240100FD2F0000E77000000C +:1031A000ED67000030B583B004460B4B984728B15B +:1031B00094F83400C0F3001003B030BD074B009307 +:1031C00040F6412206490320064DA8472246002327 +:1031D000054806498847FEE7B12200003444020052 +:1031E000DC4702005D2201003C480200B9220000D9 +:1031F0002DE9F04186B004460E463A4B984768B92F +:10320000394B00934FF4F07238490320384DA847EA +:1032100022460023374838498847FEE72046374B87 +:10322000984710B106B0BDE8F0812046344B98476E +:103230000746344B98470546334B9847874209D099 +:103240002846324B9847874204D02846304B98474F +:103250008742E7D1B4F9323004F10F0204F11700CC +:1032600002A912F8017F01F8017B8242F9D19BB2D9 +:10327000BDF80820D21AADF80820BDF80A20D21AED +:10328000ADF80A20BDF80C201A44ADF80C20BDF8AA +:103290000E201344ADF80E3002AA314604A81D4B8F +:1032A00098470028BED020461B4B9847044698B14B +:1032B000DFF86080114F184E04F1100204A908468F +:1032C000C0470028AED02046B8470028AAD12046E3 +:1032D000B04704460028EFD104A928460F4B984771 +:1032E000A0E700BFB122000048440200DC47020012 +:1032F0005D2201003C480200B9220000A531000017 +:10330000C52C0000212D00004D2300008D2300005E +:10331000CD230000191501007D2C0000595E00002E +:1033200030B585B004461C4B984738B3B4F93230F9 +:1033300004F10F0204F1170502A912F8010F01F8B8 +:10334000010BAA42F9D19BB2BDF80820D21AADF800 +:103350000820BDF80A20D21AADF80A20BDF80C20CA +:103360001A44ADF80C20BDF80E201344ADF80E3011 +:1033700002A92046094B984705B030BD084B009381 +:1033800040F20D2207490320074DA847224600239B +:10339000064807498847FEE7B1220000F1310000E6 +:1033A00060440200DC4702005D2201003C4802004C +:1033B000B9220000F0B583B00546164B984768B9AE +:1033C000154B009340F2622214490320144CA0478D +:1033D0002A460023134814498847FEE72846134B22 +:1033E00098470446061D3046114B984785420FD03A +:1033F0002046104FB84701232A46314630460E4E2C +:10340000B047E3692A460121204698472046B8473D +:1034100003B0F0BDB122000074440200DC4702009A +:103420005D2201003C480200B92200007D2C000012 +:10343000A91F010021330000212101002DE9F047DF +:1034400084B004468A4617462D4B984700283ED044 +:103450002668002E49D0338A228A9B1A53441FFAC9 +:1034600083FA0FFA8AF8758A638AED1A3D44ADB281 +:103470000FFA85F9B8F1000F02D1B9F1000F23D08E +:103480002046204FB84702A920461F4B9847238A61 +:1034900053442382638A2B446382A38A5344A382C6 +:1034A000E38A1D44E5824A4641462046174B984729 +:1034B000E36902AA022120469847F36922460121C6 +:1034C000304698472046B84704B0BDE8F087104B17 +:1034D000009340F296220F4903200F4DA847224641 +:1034E00000230E480E498847FEE70E4B0093084B19 +:1034F0004FF4277207490220074CA047E4E700BFBA +:10350000B122000021330000412E00000D280000F0 +:10351000A4440200DC4702005D2201003C48020096 +:10352000B9220000D048020030B583B004460D46F1 +:103530000D4B984768B90D4B00934FF433720C490B +:1035400003200C4DA847224600230B480B4988470F +:10355000FEE720460A4B9847024629462046094B7B +:10356000984703B030BD00BFB1220000B444020050 +:10357000DC4702005D2201003C480200B922000045 +:10358000FD2E00003D34000030B583B004460D46EA +:103590000D4B984768B90D4B00934FF436720C49A8 +:1035A00003200C4DA847224600230B480B498847AF +:1035B000FEE720460A4B98472A4601462046094B1B +:1035C000984703B030BD00BFB1220000C4440200E0 +:1035D000DC4702005D2201003C480200B9220000E5 +:1035E0009D2E00003D3400002DE9F04385B00446D7 +:1035F0000D4690461F46BDF930602C4B984768B980 +:103600002B4B009340F26D322A4903202A4DA847E4 +:103610002246002329482A498847FEE78DB12846DB +:10362000224B984790B9224B009340F271322149C6 +:103630000320214CA0472A460023204820498847E0 +:10364000FEE720461F4B98470546E8E703AB424696 +:1036500004F1100105F11000DFF87090C847204612 +:10366000184B9847B0F91230BDF80E203244BDF81F +:103670000C103944008A091A09B2ADF80C10D21A9C +:1036800012B2ADF80E2020460F4B984784F84880C0 +:10369000A4F84470A4F84660256494F849306FF3A8 +:1036A000410384F8493005B0BDE8F083B122000041 +:1036B000D4440200DC4702005D2201003C480200C5 +:1036C000B92200007D2C00003D34000025180100C7 +:1036D0002DE9F04F85B081460E4692460393BDF921 +:1036E00038B0A34B984768B9A24B009340F295328B +:1036F000A1490320A14CA0474A460023A048A14964 +:103700008847FEE74846A04B9847054648469F4BEA +:103710009847044648469E4B984700EBD07040F3CC +:103720004F0848469B4B984700EBD07040F34F073B +:10373000EEB130468E4B9847F0B1BAF1140F39D83C +:10374000DFE81AF028005C0062006D0076007F0060 +:103750008D009900A500B400BA00C500CE00D700C6 +:10376000E500F100F70003010C012E013D01484680 +:10377000894B98470646DCE77E4B009340F2A13226 +:103780007D4903207D4CA047324600237C487D497B +:103790008847FEE730467E4B984700EBD070C8EB79 +:1037A00060052DB230467B4B984700EBD070C7EBDD +:1037B000600424B24846784B9847318A039F3944C5 +:1037C0002944038AC91A728A5A442244438AD21A63 +:1037D00012B209B24846714B984789F848A0A9F837 +:1037E0004470A9F846B0C9F8406099F8493043F0F0 +:1037F000020389F8493005B0BDE8F08FC8F1000533 +:103800002DB27C4224B2D5E73046614B984700EB9D +:10381000D070C8EB60052DB27C4224B2CAE73046B6 +:103820005B4B9847A0EB080005B27C4224B2C1E78D +:10383000C8F100052DB23046564B9847C01B04B264 +:10384000B8E73046524B984700EBD070C8EB6005A4 +:103850002DB230464F4B9847C01B04B2AAE7304602 +:103860004B4B9847A0EB080005B23046494B9847B0 +:10387000C01B04B29EE7C8F100052DB23046454B8F +:10388000984700EBD070C7EB600424B292E7304653 +:103890003F4B9847A0EB080005B230463D4B984798 +:1038A00000EBD070C7EB600424B283E7C8F10005D9 +:1038B0002DB27C4224B27DE73046354B984700EB71 +:1038C000D070C8EB60052DB27C4224B272E730465E +:1038D0002F4B9847A0EB080005B27C4224B269E761 +:1038E000C8F100052DB230462A4B9847C01B04B2E0 +:1038F00060E73046264B984700EBD070C8EB600578 +:103900002DB23046234B9847C01B04B252E73046D5 +:103910001F4B9847A0EB080005B230461D4B984757 +:10392000C01B04B246E7C8F100052DB27C4224B2A8 +:1039300040E7C8F100052DB23046164B984700EB22 +:10394000D070C7EB600424B234E7C8F100052DB293 +:103950003046104B9847C01B04B22BE730460C4B47 +:103960009847A0EB080005B27C4224B222E700BFD2 +:10397000B1220000E4440200DC4702005D220100A5 +:103980003C480200B92200009D2E0000FD2E0000E0 +:103990005D2F0000AD2F00007D2C00003D340000A5 +:1039A00030460D4B9847A0EB080005B230460B4B54 +:1039B000984700EBD070C7EB600424B2FAE63046BB +:1039C000054B9847A0EB080005B23046034B9847DB +:1039D000C01B04B2EEE600BF5D2F0000AD2F00005B +:1039E00030B583B00446124B984790B194F84930F3 +:1039F00013F0020FB4F9443094F84820B4F946109B +:103A00000091216C204614BF0A4C0B4CA04703B018 +:103A100030BD0A4B009340F22A4209490320094D68 +:103A2000A84722460023084808498847FEE700BF08 +:103A3000B1220000D1360000E9350000F844020050 +:103A4000DC4702005D2201003C480200B922000070 +:103A50002DE9F041064600210D4B9847B0B10446D0 +:103A60000C4D4FF000080A4F2046A847E369424634 +:103A70000421204698472046A8472046FFF7E8FF44 +:103A800021463046B84704460028EDD1BDE8F08114 +:103A9000E12D00002133000030B583B005460C460F +:103AA000364B984798B1712C46D8702C23D2412CB4 +:103AB0001BD8402C1FD2022C05D3072C1BD9A4F1F4 +:103AC0001003082B17D928462D4B98472FE02D4B74 +:103AD000009340F21D522C4903202C4CA0472A464B +:103AE00000232B482B498847FEE7532C21D8502C24 +:103AF00001D24C2CE7D12846214B9847EB69002294 +:103B0000042128469847152C09D3182C01D9FF2CDD +:103B100005D1286818B1C3690022012198472846B9 +:103B2000174B9847FF2C24D014F4004F21D103B039 +:103B300030BD5C2CC7D1DEE77F2C0CD948F2810365 +:103B40009C4211D848F280039C42D4D2902CD2D00F +:103B5000FF2CB8D1CFE77E2CCDD2732CB3D3752CEC +:103B6000C9D97C2CAFD1C6E748F28E039C42AAD1BA +:103B7000C1E72846084B9847D9E700BFB1220000AB +:103B80002133000008450200DC4702005D220100ED +:103B90003C480200B9220000513A000010B504462A +:103BA000034B9847FF212046024B984710BD00BFAA +:103BB000CD300000993A00002DE9F84304460F4645 +:103BC0000026DFF888803546DFF8849005E0FF2185 +:103BD0003846C8470136402E22D0F1B23846C04799 +:103BE0008646E8B101790029F4D090F805C00CF0C0 +:103BF000060C0023DAB2BCF1060F04BF0132D2B2C8 +:103C00008A423ABFDEF8000050F822202A46944249 +:103C1000DDD0002CDBD00133DAB28A42EAD3D9E717 +:103C200000213846084B9847054650B1064E2946B4 +:103C30002046FFF7C1FF29463846B0470546002811 +:103C4000F5D1BDE8F88300BFE12D0000FD2F000095 +:103C5000993A00002DE9F047804600200F4B984725 +:103C6000C8B18146DFF840A00D4F0E4E09F1300576 +:103C70002846D047044640B121464046B847214631 +:103C80002846B04704460028F6D14846034B9847DB +:103C900081460028EAD1BDE8F08700BFB90F0100D6 +:103CA000B93B0000BD1F0100A91F0100F8B5044683 +:103CB0000D4681790068424B9847424B9847A1884E +:103CC00001F00F03082B19DC45B9B4F908203E4B6D +:103CD0009847A18820683D4B9847F8BDFF2D0AD032 +:103CE000B4F90820B4F90C309B1A05FB03F502EB7C +:103CF000252212B2EBE7B4F90C20E8E70B2B43DCEA +:103D0000002D05DDFE2D05DDA289314B9847E0E74A +:103D10002289FAE7EDB2C5F1FF02637BDB08667A20 +:103D2000F60802FB06F605FB036303EB032703EB30 +:103D3000C713C3F3C457A389C3F345132689C6F336 +:103D4000451602FB06F605FB036303EB032603EBB4 +:103D5000C613C3F3C556237B03F01F0394F808E092 +:103D60000EF01F0E02FB0EF205FB032505EB0523EB +:103D700005EBC315ED0D4FF0000265F3040266F389 +:103D80004A1267F3CF22C0E70D2B12DC002D05DDB0 +:103D9000FE2D05DD227B0F4B98479AE7227AFAE742 +:103DA000227A237B9B1A05FB03F502EB2522D2B274 +:103DB000F1E77F2DD4BFA268E268074B984788E7F8 +:103DC000FD2F0000E7700000E1680000993A000054 +:103DD000256A0000696B0000996C000030B583B063 +:103DE00004460A4B984710B1002003B030BD084B81 +:103DF000009340F6B12207490320074DA847224609 +:103E00000023064806498847FEE700BFB1220000AC +:103E1000D8450200DC4702005D2201003C48020058 +:103E2000B9220000F0B583B00D46064688B19D4B1F +:103E30009847002840F064819B4B0093ED229B49FA +:103E400003209B4CA047324600239A489A49884752 +:103E5000FEE79A4B984748B9994B0093924BCF2273 +:103E600092490220924CA0473446F5E13030954B00 +:103E7000984704468B4B984760B98B4B0093D422EC +:103E80008A4903208A4DA847224600238E488A4942 +:103E90008847FEE7002C00F0DF814C2120468B4B49 +:103EA000984794F835306FF3051384F83530884B14 +:103EB000E361884B23620027A76127826782384627 +:103EC000854B98470138A0823846844B9847013883 +:103ED000E0824C21201D824B98470023638684F8A2 +:103EE000303084F8313084F84830A4F84430A4F8F5 +:103EF0004630236494F8492063F3000284F8492093 +:103F0000A36394F8342002F07F0242F0010294F897 +:103F10003510032060F3430184F83C3002F0C10205 +:103F200063F3861284F8342041F0010184F83510DF +:103F300084F83D30636204F128073846694B98479E +:103F4000002D00F06C8105F128013846664B98473A +:103F500005F10F0204F1180104F1100312F8010F2A +:103F600003F8010B8B42F9D1B5F93230638695F82D +:103F7000303084F8303095F8313084F8313095F8AD +:103F8000483084F84830B5F94430A4F84430B5F9E5 +:103F90004630A4F846302B6C236495F8492094F8F9 +:103FA000493062F3000384F84930AB69A36195F8A6 +:103FB0003430DB0994F8342063F3C71284F83420DA +:103FC00095F8342094F8343062F3000384F83430E8 +:103FD00095F83430C3F3400394F8342063F341027E +:103FE00084F8342095F83530C3F3420394F8352033 +:103FF00063F3430284F8352095F83430C3F380032B +:1040000094F8342063F3820284F8342095F8343035 +:10401000C3F3C003D2B263F3C30284F8342095F82B +:104020003430C3F30013D2B263F3041284F83420A3 +:1040300095F83430C3F34013D2B263F3451284F8D9 +:10404000342095F83430C3F38013D2B263F3861270 +:1040500084F8342095F83C3084F83C3095F83520CD +:1040600094F8353062F3000384F83530A86B10B152 +:1040700021461E4B984728461D4B9847002800F0C4 +:10408000D980002E00F0DF8028461A4B984707465B +:104090002846194B9847024639462046174B984701 +:1040A000C9E000BFB1220000EC450200DC4702007D +:1040B0005D2201003C480200B9220000E10E01002F +:1040C00038490200111F0100D83F0200372B0100C0 +:1040D000055A000029540000ED0E0100150F0100E3 +:1040E000F91E0100E9640000697100009D250000CF +:1040F0007D2C00009D2E0000FD2E00003D340000B0 +:10410000301D574B98470446564B9847002847D0D8 +:10411000002C00F0A1804C212046534B984726608C +:1041200094F835306FF3051384F835304F4BE36165 +:104130004F4B23620020A061B6F912306382778A68 +:104140004C4B9847322303FB00F35033B3F5A07F69 +:1041500033DA01233B44E3822046474B984701284A +:104160003AD0B6F910302382378A0020414B984765 +:10417000642303FB00F35033B3F5A07F4DDB002035 +:104180003C4B9847642303FB00F350333B4A82FBCC +:104190000312DB17C3EBA2139BB23B44A38298E646 +:1041A000374B0093F02237490320374DA84722466A +:1041B0000023364836498847FEE700202D4B9847B4 +:1041C000322303FB00F350332C4A82FB0312DB172C +:1041D000C3EBA2139BB2BDE7B6F91430A382B78A32 +:1041E0000020244B9847642303FB00F35033B3F5BE +:1041F000A07F10DB00201F4B9847642303FB00F3D4 +:1042000050331E4A82FB0312DB17C3EBA2139BB28F +:10421000FB1A23825DE60123FAE70123BDE726B1FD +:10422000022120461B4B984705E001212046194BEF +:10423000984708E03EB1F36922460121304698478D +:104240002046154B9847154B00930D4B40F28712B3 +:104250000C4901200C4DA847204603B0F0BD00BF1B +:10426000111F0100B1220000372B0100055A000088 +:10427000295400003D0F0100DD3D000067666666C1 +:10428000EC450200DC4702005D220100D83F02003D +:10429000B9220000E94101002133000088490200F1 +:1042A0002DE9F04184B004460D461646324B98473E +:1042B00068B9324B009340F2E52231490320314D79 +:1042C000A84722460023304830498847FEE7204669 +:1042D0002F4B9847A8423FD020462E4B984702A923 +:1042E00020462D4B9847731E628A1344E382204672 +:1042F0002A4B9847012835D06B1E228A1344A3828B +:10430000E36902AA0221204698472046244B984799 +:1043100018B1C56922460121A847261D3046214B08 +:104320009847054668B14FF003081F4FEB6902AA92 +:1043300041462846984729463046B8470546002852 +:10434000F4D12046134B984794F8493013F0010FED +:104350000ED104B0BDE8F0812046144B9847B0421E +:10436000BAD1F6E7C5F10103A28A13442382C7E755 +:1043700020460F4B9847ECE7B122000010460200A0 +:10438000DC4702005D2201003C480200B922000027 +:104390005D2F000021330000412E0000DD3D0000B4 +:1043A0007D2C0000A91F0100BD1F0100AD2F0000E2 +:1043B000E139000030B583B004460D460D4B9847F7 +:1043C00068B90D4B009340F227320C4903200C4D85 +:1043D000A847224600230B480B498847FEE72046A2 +:1043E0000A4B98472A4601462046094B984703B096 +:1043F00030BD00BFB122000034460200DC4702009D +:104400005D2201003C480200B92200005D2F00003F +:10441000A142000030B583B004460D460C4B9847CE +:1044200038B194F83C301D4214BF0120002003B085 +:1044300030BD084B009340F6D72207490320074DB3 +:10444000A84722460023064806498847FEE700BFE2 +:10445000B12200005C460200DC4702005D22010040 +:104460003C480200B922000030B585B004460D4634 +:10447000114B984728B13F2D11D894F83D0005B055 +:1044800030BD0E4B009340F6DE220D4903200D4D4A +:10449000A847224600230C480C498847FEE78DF8C0 +:1044A0000C5000238DF80D3003AA09212046084B3B +:1044B00098479DF80D00E2E7B12200007046020027 +:1044C000DC4702005D2201003C480200B9220000E6 +:1044D000752B00002DE9F04F85B0174660B30D46EF +:1044E0004FEA122B0646DFF88CA0DFF88C90DFF83D +:1044F0008C8006E0BDF90E0005B0BDE8F08F002508 +:10450000DEB129463046D047019029463046C8479B +:1045100007EB002084B20DF10E0221460198C0473E +:104520000128E7D01BF0800F07D0002DE7D13046DF +:104530000F4B98470646E2E7144624F4FE44A4B223 +:10454000222C0FD006D8032C0AD0072C0CD14FF404 +:104550008070D1E7312C09D0C02C05D11020CBE7D9 +:104560000620C9E7FF20C7E70020C5E70F20C3E703 +:104570007D2C0000FD2F000069440000E572000062 +:104580002DE9F04F85B0174648B30D464FEA122B80 +:104590000646DFF86CA0DFF86C90DFF86C8004E072 +:1045A000BDF80C0025E00025D6B129463046D0479D +:1045B000019029463046C84707EB002084B203AA81 +:1045C00021460198C0470128EAD01BF0800F07D090 +:1045D000002DE8D13046084B98470646E3E71446DD +:1045E00024F4FE44293C012C9ABF044BB3F8740612 +:1045F000002005B0BDE8F08F7D2C0000584002007F +:10460000FD2F000069440000A97300002DE9F04F60 +:1046100085B0174650B30D464FEA122B0646DFF819 +:1046200074A0DFF87490DFF8748004E09DF80F0048 +:1046300029E00025DEB129463046D04701902946C1 +:104640003046C84707EB002084B20DF10F02214627 +:104650000198C0470128E9D01BF0800F07D0002D3A +:10466000E7D130460A4B98470646E2E7144624F461 +:10467000FE44A4B26D2C09D048F2AD039C4205D093 +:104680002C2C03D0FF2005B0BDE8F08F0020FAE706 +:104690007D2C0000FD2F0000694400006D740000B7 +:1046A0002DE9F04F85B0174650B30D464FEA122B57 +:1046B0000646DFF880A0DFF88090DFF8808005E014 +:1046C000039805B0BDE8F08F0025D6B129463046E5 +:1046D000D047019029463046C84707EB002084B2F6 +:1046E00003AA21460198C0470128E9D01BF0800F9A +:1046F00007D0002DE8D130460B4B98470646E3E73C +:10470000144624F4FE44A4B2BE2C0AD048F28E0310 +:104710009C4203D07E2C01D00020D2E7034B984767 +:10472000CFE70348CDE700BF7D2C0000DD4101004D +:1047300000920200FD2F0000694400003175000066 +:1047400070B50468A58805F00F03082B13DD0B2B4B +:1047500018DD0D2B1DDD2A46A1792068104B9847E6 +:10476000A0600023A38023462A46A17920680D4E2D +:10477000B047A58070BD2A46A17920680A4B9847AA +:104780002081EEE72A46A1792068084B98472081CE +:10479000E7E72A46A1792068054B98472072E0E7B1 +:1047A000A146000029300000D544000081450000EA +:1047B0000D46000090F83D308B4200F052822DE90A +:1047C000F04FA1B089468246AB4B984740B19AF86A +:1047D0003DB08AF83D9000230693A84DD846D2E11B +:1047E000A74B009340F23762A6490320A64CA0478E +:1047F00052460023A548A6498847FEE7737943F04F +:10480000040373718AF83D802246DDF80CB05946E6 +:104810005046A84707468AF83D902246CDF80CB08E +:1048200059465046A847834673796FF382037371E4 +:1048300087424AD08AF83D80224603995046A847CD +:1048400006468AF83D90024621460498914B9847C7 +:10485000012C00F094809048904B98470746864B77 +:104860009847002800F0A280002F2ED03E81A7F8A4 +:104870000CB0C7F800A0BC809DF80C30BB7110A82C +:10488000874B98471097874B1193874B1293874B11 +:10489000139300231693FF2317930A9B1893099BE6 +:1048A0005B421993089A531ED01D14AA13F8011FD6 +:1048B00002F8011B8342F9D19DF876306FF30003B3 +:1048C0008DF8763010A87A4B9847059B10AA934232 +:1048D00000F05481059B33F8024B0593002CF4D073 +:1048E0000798744B984703995046734B9847064670 +:1048F000724B9847049004F00F03082B7FF77EAFAC +:104900000B2B61DD0D2B00F3E980737943F0040379 +:1049100073718AF83D802246DDF80CB05946504646 +:10492000674FB8470B908AF83D902246CDF80CB0FF +:1049300059465046B847834673796FF382037371C3 +:104940000B9B8342C1D08AF83D8022460399504692 +:10495000B84706468AF83D90024621460498594BCE +:1049600098474D484D4B98470746434B984700287A +:1049700074D0002FA9D03E7287F80CB079E747F6C3 +:10498000FF739E4200F04C819B457FF464AF50461C +:10499000DFF844B1D84700EBD07040F34F075046E2 +:1049A000D84700EBD07040F34F0351E1464B0093E2 +:1049B00040F6B26233490320334CA0473A46002305 +:1049C000424833498847FEE7737943F00403737123 +:1049D0008AF83D802246039950463D4FB8478346AA +:1049E0008AF83D90224603995046B847ADF82C000E +:1049F00073796FF3820373711FFA8BFB83B29B454C +:104A00003FF463AF8AF83D80224603995046B84789 +:104A100083468AF83D900246214604982D4B9847DC +:104A20001D481E4B98470746134B984740B1002F2F +:104A30003FF44BAFA7F808B0BDF82C30BB8118E7A6 +:104A4000214B009340F6C6620E4903200E4CA0474E +:104A50003A4600231D480E498847FEE71A4B00934B +:104A600040F6DB6207490320074CA0473A46002383 +:104A7000164807498847FEE7B1220000D5440000E8 +:104A8000D0460200DC4702005D2201003C480200E3 +:104A9000B9220000E16800003C6D0020111F0100F8 +:104AA000E5120100AD3C000041470000213100004B +:104AB000A113010035720000FD2F0000E770000017 +:104AC0000D460000696B0000E4460200D83F02007A +:104AD00081450000256A00005D2F00008AF83D80B6 +:104AE000737943F0040373712246DDF80CB0594624 +:104AF00050465C4FB8470C908AF83D902246CDF85E +:104B00000CB059465046B847834620A941F8400D9D +:104B100073796FF38203737104220CA8524B984788 +:104B200000283FF4D2AE8AF83D80224603995046D1 +:104B3000B84706460C908AF83D90024621460498F4 +:104B40004A4B98474A484B4B984707464A4B984729 +:104B500030B1002F3FF4B9AEBE60C7F80CB088E6A4 +:104B6000464B009340F6EF6245490320454CA04771 +:104B70003A460023444845498847FEE7069B0133EF +:104B80000693402B45D09DF81830039319465046A4 +:104B90003F4B9847079000283BD0437913F0080F0C +:104BA000ECD1B022039C21465046A8470A90B1227E +:104BB00021465046A8470990BE2221465046294B1F +:104BC00098470890B22221465046A847ADF83400D5 +:104BD000B32221465046A847ADF83600B4222146FC +:104BE0005046A847ADF83800B52221465046A847A0 +:104BF000ADF83A00B62221465046A847ADF83C0031 +:104C0000B72221465046A847ADF83E000DAB0593AC +:104C100060E6FF2150461F4B984721B0BDE8F08F5A +:104C200050461D4EB04700EBD07040F34F07504642 +:104C3000B04700EBD07040F34F035E1C7A1C9642E5 +:104C4000A8BF164636B247F6FF7293457FF403AE0F +:104C500003F1010B0137BB45A8BFBB460FFA8BFB25 +:104C6000F9E57047A1460000DDB40100996C000031 +:104C70003C6D0020111F0100B1220000E44602003B +:104C8000DC4702005D220100D83F0200B92200008B +:104C9000FD2F0000993A00005D2F000030B583B071 +:104CA00005460C460D4B984750B195F83D3043EA08 +:104CB00004018B4202D02846094B984703B030BD0F +:104CC000084B009340F27E6207490320074CA0473F +:104CD0002A460023064807498847FEE7B12200001C +:104CE000B5470000F4460200DC4702005D220100E7 +:104CF0003C480200B922000030B583B005460C469E +:104D00000D4B984750B195F83D3023EA04018B4292 +:104D100002D02846094B984703B030BD084B00939A +:104D200040F28F6207490320074CA0472A46002320 +:104D3000064807498847FEE7B1220000B547000052 +:104D400008470200DC4702005D2201003C480200E7 +:104D5000B922000030B583B004460A4B984710B121 +:104D6000E06903B030BD084B009340F6F5220749D7 +:104D70000320074DA84722460023064806498847D6 +:104D8000FEE700BFB12200001C470200DC47020022 +:104D90005D2201003C480200B922000030B583B01A +:104DA00004460A4B984710B1606A03B030BD084B07 +:104DB000009340F61E3207490320074DA8472246BC +:104DC0000023064806498847FEE700BFB1220000DD +:104DD00060470200DC4702005D2201003C480200FF +:104DE000B922000030B583B004460A4B984710B191 +:104DF000A06B03B030BD084B009340F66F320749FB +:104E00000320074DA8472246002306480649884745 +:104E1000FEE700BFB122000084470200DC47020029 +:104E20005D2201003C480200B92200002DE9F84350 +:104E30000546002215213C4B984728463B4B984796 +:104E4000074610B128463A4B984700212846394B6F +:104E500098470023FF2211462846374CA04705F10A +:104E600004084046354B9847044658B1DFF8E890AF +:104E700021464046C84706462046FFF7D7FF34463E +:104E8000002EF5D12E4B5B683BB101211A6895428B +:104E900008BF19719B68002BF8D10020294B984757 +:104EA000044610B3DFF8B480DFF8B490254E0EE06E +:104EB00029462046C047E36B9D4204BF0023E363BD +:104EC000A36D9F420AD02046B047044668B1636B89 +:104ED0009D42EDD0A36B9D42EDD1E9E7C8478542E5 +:104EE000F1D129462046C047EDE7EB690022114683 +:104EF000284698472846144B984760B12946043005 +:104F0000124B9847686A08B1114B98472846104BD6 +:104F10009847BDE8F88328460E4B9847294630301D +:104F20000A4B9847EEE700BFCD2A0000E54D000090 +:104F3000792600002913010029300000A91F010073 +:104F40007C260020211001007D2C0000952001000E +:104F5000C5240100212D0000BD1F010075270000A0 +:104F60000128000070B582B00446194B984768B913 +:104F7000184B009340F2931217490320174DA8478E +:104F800022460023164817498847FEE72046164B5D +:104F900098472046154B9847054640B12046144B8C +:104FA0009847EB6900220121284698470CE02046EB +:104FB000104B9847054638B1C66B20460C4B9847B6 +:104FC000B44201D10023EB63002002B070BD00BFEA +:104FD000B122000098470200DC4702005D22010078 +:104FE0003C480200B9220000213300007D2C000063 +:104FF0002D4E0000212D000030B583B004460E4B2D +:10500000984748B1A06BA8B10C4B9847844214BF95 +:105010000020012003B030BD094B00934FF43862EB +:1050200008490320084DA84722460023074808499D +:105030008847FEE70020EDE7B12200004927000085 +:10504000C8470200DC4702005D2201003C48020024 +:10505000B922000000B583B090F83030028AD21A2D +:10506000ADF80020828A1344ADF8043090F8313056 +:10507000428AD21AADF80220C28A1344ADF8063033 +:1050800000226846024B984703B05DF804FB00BF5E +:10509000B915010003687BB110B4021D012352F859 +:1050A000044B1CB10133DBB2072BF8D140F82310BD +:1050B00001205DF8044B7047002340F823100120C5 +:1050C000704700002DE9F04105460E4614460122C6 +:1050D000A84B9847208048F20C0231462846A64B40 +:1050E0009847052842D90746237B002B49D1237DC9 +:1050F000002B76D1237F002B40F0988094F8363037 +:10510000002B40F0B88094F82830052B00F2018184 +:1051100094F84430052B00F23781F92F24D8BFB220 +:10512000237B13FB07F3C3F307232373237D13FBB5 +:1051300007F3C3F30723237594F8283013FB07F311 +:10514000C3F3072384F8283094F8363013FB07F3B1 +:10515000C3F3072384F8363094F8443013FB07F781 +:10516000C7F3072784F84470BDE8F0810023237358 +:10517000237584F8283084F8363084F84430BDE84C +:10518000F0812C22314628467B4B98472073052816 +:10519000ADD9292231462846784B98476080232292 +:1051A00031462846734B9847C0B2A07130B92022CF +:1051B000314628466F4B9847607398E72A2231465C +:1051C00028466E4B9847A080212231462846DFF8BA +:1051D000A481C0472081222231462846C0476081F1 +:1051E000E5E7302231462846624B98472082002866 +:1051F00080D03C22314628465F4B984720750528D1 +:1052000006D83222314628465A4B9847607571E7D6 +:10521000312231462846574B9847C0B26082392226 +:1052200031462846554B9847E081EAE7402231460F +:105230002846504B9847208300283FF45FAF4C220C +:10524000314628464C4B98472077052806D84222FD +:1052500031462846474B984760774FE74122314611 +:105260002846444B98476083492231462846434BA1 +:105270009847E082EBE76E2231462846404B98473C +:10528000E06200283FF43FAF6C22314628463A4B9B +:10529000984784F8360005287FF635AF6D223146F1 +:1052A0002846354B984784F8370061223146284616 +:1052B000304B9847003018BF012094F8383060F325 +:1052C000000384F83830E06A2E4B984702280BD050 +:1052D00094F83730052B15D8602231462846254BE7 +:1052E000984784F839000EE7692231462846234B57 +:1052F0009847A08648F28E0231462846204B9847B0 +:105300002063E9E76922314628461C4B9847A0866E +:10531000E2E7502231462846164B98472084002861 +:105320003FF4F6AE5C2231462846134B984784F88A +:10533000280005287FF6ECAE512231462846DFF8DA +:105340003480C0476084522231462846C047A0843A +:10535000532231462846C047E08459223146284628 +:10536000064B9847E083542231462846C04784F8CC +:105370002900CDE6D54400000D460000814500001F +:10538000A1460000699900007F2231462846224B41 +:105390009847E06300283FF4C0AE7C22314628469F +:1053A0001E4B984784F8440005287FF6B6AE73225A +:1053B00031462846DFF86C80C047A4F848007422C4 +:1053C00031462846C047A4F84A007922314628468B +:1053D000134B9847A4F846007E22314628460E4BD0 +:1053E00098472064702231462846C047A4F84C00F4 +:1053F000712231462846C047A4F84E007522314636 +:105400002846C04784F85000722231462846C047DB +:1054100084F8510081E600BFA14600000D4600005F +:1054200081450000D54400002DE9F04198B00446C4 +:105430000E46022A08D0002A6CD0012A00F0CC8047 +:10544000002018B0BDE8F08100218E4B984708B1CC +:105450000320F6E70122002120468A4DA84707468F +:10546000042200212046A84780460522002120462C +:10547000A84704F10F0304F1170503AA13F8011F4D +:1054800002F8011B9D42F9D11FFA88F8BDF80C30D3 +:10549000A3EB0803ADF80C30BDF810309844ADF81C +:1054A000108080B2BDF80E301B1AADF80E30BDF87A +:1054B00012301844ADF812003A4603A93046724B38 +:1054C000984708B90220BCE72C22002120466F4BE8 +:1054D0009847F92801D80220B3E72022002120466E +:1054E000684B9847C0B208B10220AAE732220021D7 +:1054F0002046644B9847C0B208B10220A1E748F2A9 +:105500000C0200212046614B9847FA2834BF022044 +:10551000012096E703A85E4B9847332200212046DE +:10552000584B984710B100238DF8203003AA002172 +:105530002046584B9847042200212046514DA84749 +:105540008046052200212046A84704F1100704F1F7 +:105550000F0304F1170501AA13F8011F02F8011B3C +:10556000AB42F9D11FFA88F8BDF80430A3EB080369 +:10557000ADF80430BDF808309844ADF8088080B22A +:10558000BDF806301B1AADF80630BDF80A301844D5 +:10559000ADF80A0003AA314601A83F4B9847022202 +:1055A00000212046374B984708B9002049E71C20C6 +:1055B0003A4B98470546012200212046314B984737 +:1055C0000023024639462846354EB04704F5187187 +:1055D0002846344B9847E8E702220021294B984798 +:1055E00038B9332200212046264B984740B9002085 +:1055F00027E704F518702C4B98472C4B9847F0E799 +:1056000003A8234B984700278DF818708DF8427037 +:105610008DF8347003AA394620461E4B9847042261 +:1056200039462046174DA847804605223946204670 +:10563000A84704F10F03173401AA13F8011F02F859 +:10564000011BA342F9D11FFA88F3BDF80420D21A36 +:10565000ADF80420BDF808201344ADF8083080B23E +:10566000BDF806301B1AADF80630BDF80A301844F4 +:10567000ADF80A0003AA314601A8074B984700205D +:10568000DFE600BFD54400006D1701000D460000A5 +:1056900069C20000C550000031C300003D2901006F +:1056A0002DC00000C1BD000091BE000071250100A9 +:1056B000F8B505460E46144648F28C02264B98472C +:1056C0002072052800D8F8BD48F20C023146284661 +:1056D000214B9847F92805D8237A13FB00F0C0F333 +:1056E00007202072237A052BEDD948F28902314632 +:1056F00028461A4B9847208048F2800231462846B7 +:10570000174FB847A08148F2810231462846B84772 +:10571000608148F2820231462846B847207648F236 +:10572000830231462846B847607648F28E023146F9 +:1057300028460C4B98476060E2894FF6FF739A4207 +:10574000C1D0228A9A42BED048F28A023146284607 +:10575000024B98472080B6E70D46000081450000C7 +:10576000D5440000A146000070B505460E4614461B +:1057700048F2AC02214B98472070052800D870BD34 +:1057800048F20C02314628461C4B9847F92805D8A8 +:10579000237813FB00F0C0F3072020702378052B3B +:1057A000EDD9002363804FF480732381AB8A0133EA +:1057B0002A8A9B1A1BB203EBD3735B10A380EB8A7C +:1057C00001336A8A9B1A1BB203EBD3735B10E3802D +:1057D00048F2AD0231462846084B9847A07248F27D +:1057E000A90231462846064B9847A08148F2A002FC +:1057F00031462846034B9847A073C0E70D4600008A +:1058000081450000D54400002DE9F04F89B00446E1 +:105810000E465022764B9847074668BB7F2231469A +:105820002046744B9847804630B17C223146204652 +:10583000714B984705284CD84022314620466C4B86 +:1058400098470546002840F0BF8004223146204694 +:10585000DFF89C81C0470546052231462046C047F7 +:10586000A842B8BF284600B20028C4BFC01907B27A +:10587000384609B0BDE8F08F5C22314620465E4BC9 +:105880009847052801D80027C8E75322314620460B +:10589000574DA84707EBD77700EB67070137BFB233 +:1058A000512231462046A8478046522231462046A2 +:1058B000A8470028B8BF4042B8F1000FB8BFC8F1F0 +:1058C00000084045ACBF3F18474438B220EAE077B3 +:1058D000A4E7702231462046454DA84782467022F3 +:1058E00031462046A84783467E2231462046414B1A +:1058F00098474FF00009CDF8089047F618430193F8 +:10590000CDF800B053460246414604A8DFF8EC80CB +:10591000C047ADF81890ADF81A90BDF81030013BB3 +:10592000ADF81C30BDF81230013BADF81E307522C9 +:1059300031462046A8478146732231462046A84773 +:105940008046742231462046A847054605AB5FFADB +:1059500089F206A904F11000DFF8A490C847BDF849 +:10596000143043449BB2BDF816202A4492B2B4F9D5 +:105970001000BDF81810194409B2401AB842B8BF57 +:105980003846B4F91210BDF81A7017443FB2CF1B55 +:1059900000B28742B8BF0746BDF81C0003441BB2E3 +:1059A000B4F91400181A3BB28342B8BF0346BDF8DD +:1059B0001E00104400B2B4F91670C71B18B2B842EA +:1059C000B8BF384607B237E74C22314620460A4B6B +:1059D000984705287FF639AF412231462046044BCF +:1059E00098472844B842B8BF384607B22DE700BFF1 +:1059F000D5440000A14600000D4600007D40010096 +:105A00002518010008291AD010B50446072920D00E +:105A1000012923D0062927D0032930D0042939D0E1 +:105A20000B293BD0A1F10D03DBB2012B3BD9162989 +:105A30003ED0172951D0002954D0012010BD137831 +:105A40001BB92830506001207047002353600120AB +:105A5000704726491046264B984710BD254B98475E +:105A600080F00100C0B210BD0021234B9847B4F96B +:105A700032309842B8BF18466086012010BD90F8B9 +:105A8000493013F0010F01D1012010BD1B4B984785 +:105A9000012010BD1A4B9847012010BD1021194B51 +:105AA0009847012010BD1021174B9847012010BDC9 +:105AB000164B9847164B984728B106212046114BA4 +:105AC0009847012010BD022120460E4B9847042123 +:105AD00020460D4B9847012010BD06210A4B9847E0 +:105AE000012010BD0B4B9847012010BDE849020072 +:105AF000955000001544000009580000E1390000ED +:105B00002D2C00009D4C0000F94C0000E54D0000DC +:105B10005B270000CD3000002DE9F843054688469C +:105B2000002210311F4B984750B398F8343013F0CF +:105B3000100F27D1D8F8203043B30222294640461F +:105B40009847814603281FD008F104063046164BBB +:105B50009847044660B1154F21462846FFF7DCFF01 +:105B6000034650B921463046B84704460028F3D1D1 +:105B7000B9F1010F0CBF434600231846BDE8F88376 +:105B80000023FAE70023F8E70023F6E708F104060C +:105B90003046054B984704464FF002090028DAD1F9 +:105BA0000346EAE76D170100A91F0100BD1F0100B0 +:105BB00090F8343013F0100F00D070472DE9F04307 +:105BC0008BB00E460546B0F9324004A9354B9847D4 +:105BD000A3B2BDF81020D21AADF81020BDF81220E3 +:105BE000D21AADF81220BDF814201A44ADF81420D2 +:105BF000BDF816201344ADF8163004AA314606A8A5 +:105C0000294B9847A8B12B6A1BB1002206A9284648 +:105C1000984704A92846234B984704AA314608A868 +:105C2000214B984740B92B6A1BB1012206A928468F +:105C300098470BB0BDE8F08305F1040840461B4BC4 +:105C4000984704460028EED0DFF85890164E184FBB +:105C500005E021464046B84704460028E3D002A9A3 +:105C60002046C847638EBDF80820D21AADF8082038 +:105C7000BDF80A20D21AADF80A20BDF80C201A444B +:105C8000ADF80C20BDF80E201344ADF80E3002AA7A +:105C900008A96846B0470028DBD069462046FFF7D0 +:105CA00087FFD6E7412E000019150100B31F010040 +:105CB000E91F01002DE9F0470F46044670B139464F +:105CC00020461A4B98472046194B9847814660B1A9 +:105CD000184EDFF85880DFF858A00EE0164B186811 +:105CE000164B984704460028E9D1BDE8F08748469E +:105CF000D0474C4681460028F7D009F104052146DB +:105D00002846B047044640B139462046C0472146A0 +:105D10002846B04704460028F6D1D9F82030002B99 +:105D2000E5D00122394648469847E0E7B15B0000DC +:105D30007D2C0000E91F0100882600204D23000073 +:105D400038B51A4D28681A4B984704462868194BED +:105D5000984778B90123A361144B186843681A6AFD +:105D600012F0010F10D01B6A13F0020F0CD00123A8 +:105D7000E3610BE00D4D2868A369002BEAD0C369ED +:105D8000002BF9D09847F6E70023E361C3681BB105 +:105D9000A26804F110019847236833B1626822B108 +:105DA000A1688B4208BF1346A36038BD8826002037 +:105DB000DD0F0100E10F010070B582B006461A4DFB +:105DC00028681A4B984704462868194B984738B9F1 +:105DD0002868A36923B1C369002BFAD09847F7E775 +:105DE00004F1100231466846124B98470E4C206869 +:105DF000114B984701466846104B98476946104D2D +:105E0000A84720680F4B98476946A84720680E4B63 +:105E100098476946A84720680C4B984708B102B0DC +:105E200070BD0B4B9847FAE788260020DD0F010074 +:105E3000E10F0100191501004D230000195B00005E +:105E4000B55C00008D230000CD230000F50F01009C +:105E5000415D000070470000F0B585B00C46054676 +:105E6000002854D0002C57D00023ADF80830ADF8EE +:105E70000A302846364B98470138ADF80C002846C2 +:105E8000344B98470138ADF80E0002AA2146684607 +:105E9000314B9847002845D02B6913B169462846F5 +:105EA0009847B5F86831C3F309039BB100210C464C +:105EB0000F462A4E09313A4605EBC1016846B04704 +:105EC00080BB0134A4B22146B5F86831C3F309039D +:105ED0009C42EFDB1F2B27DC093305EBC3030DF1DD +:105EE000FF3203F1080012F8011F03F8011B83427F +:105EF000F9D1B5F86831C3F30902013262F309033D +:105F0000A5F868310321E86A154B98470AE0154B5C +:105F10009847054630B1A5E7B5F868316FF3090336 +:105F2000A5F8683105B0F0BDB5F868316FF3090325 +:105F3000A5F868310DF1070205F1500005F148039D +:105F400012F8011F03F8011B8342F9D1D1E700BF0A +:105F5000ED0E0100150F0100191501006D1701006C +:105F600059390100E10E0100014B1868704700BF6C +:105F7000882600202DE9F04F8DB00546B74B984795 +:105F80000990B74CEB68236000212846B54B984731 +:105F90002068C36B7BB1B0F86831C3F30903002BF1 +:105FA00000F078824FF048080027AD4DDFF8E4A2FA +:105FB000DFF8C8B24DE0B0F868316FF30903A0F81C +:105FC000683162E22644012386F8483101342868AA +:105FD000B0F86831C3F309039C4230D2031993F837 +:105FE0004831002BF2D1A742F0D004F10906F600A7 +:105FF00081194044D0470028E8D029688A194144D3 +:106000000AA8994B98470AA8D847039028684044A3 +:10601000D847814628683044D8474844039B834288 +:10602000D4D22E6806EB08030DF1270203F1080015 +:1060300012F8011F03F8011B8342F9D1C2E70137AF +:106040002868B0F86831C3F3090308F108089F42D3 +:106050000ED2384490F84831002BF0D12868B0F8BF +:106060006831C3F30903002B00F0FA810024B5E77F +:1060700000217B4A5160002B00F0FA815A1E114624 +:10608000079232D4821892F848217AB103F247136A +:1060900003440A46013AB2F1FF3F05D013F8011D4F +:1060A0000029F7D1079201E000230793426892F894 +:1060B00020306FF3000382F82030426892F82030DD +:1060C0006FF3410382F82030654B1C68B4F86831E7 +:1060D000C3F30903002B00F0CB81482306934FF054 +:1060E000000ADFF87CB1274645E000230793DDE78F +:1060F0007A6892F8203043F0010382F8203043E0C0 +:10610000DBF80000594B9847044600250582DBF870 +:106110000000574B98470138A0826582DBF80000E9 +:10612000544B98470138E082DBF800305A6892F807 +:10613000203043F0020382F8203003984E4B9847FA +:10614000DBF80000836943B1069B18444B4B98472A +:10615000DBF804300344CBF804300AF1010ADBF821 +:106160000070069B08330693B7F86831C3F3090340 +:106170009A4580F27D8107EB0A0393F84831002BA2 +:10618000EBD1079B5345B3D07A6892F820306FF378 +:10619000410382F82030069BFB1803933846384BA6 +:1061A00098470028ACD1DBF80000304B98470646F2 +:1061B00007EBCA07B7F84C400134B7F84830E41A87 +:1061C00024B2B7F94E5005F10108B7F84A30A8EBF0 +:1061D00003080FFA88F8DBF80000264B9847854241 +:1061E00034DAB7F94E90F368B3FBF4F39845A8BFDF +:1061F0009846DBF800301B69002B52D00023ADF825 +:106200002830ADF82C30ADF82A300FFA88F56C1E26 +:1062100024B2ADF82E40DBF8000003690AA99847C4 +:10622000BDF92E104B1CBDF82A209B1A1BB29845B5 +:1062300032DA2546002CEADC124B0093124B40F276 +:106240009F1212490220124CA04779E7DBF80000A8 +:10625000084B984701380FFA80F9C4E7591001003C +:1062600088260020593901006F150100DD0F01005B +:10627000ED0E0100150F0100B95D0000FD140100D5 +:10628000F50F01002C4A0200F0490200004A02000A +:106290005D22010029170100002DC8BF01F101088E +:1062A000CADDB7F94A40CDF8109004EB0803013B72 +:1062B0004B454BDC1FFA88F30593013BCDF820A03A +:1062C0009A460DE0A9451CD00398784B9847059B4A +:1062D0001C4424B204EB0803013B049A93421ADCE9 +:1062E000B7F948303382B7F94C30B3827482A4B224 +:1062F00004EB0A052DB2F582A945E3DAA6F816905B +:106300004D46DBF800305A6892F8203043F0020323 +:1063100082F82030D8E7DDF820A0A9453FF410AF7F +:10632000B7F948303382B7F94C30B3827482A6F89B +:106330001690DBF800305A6892F8203043F00203E0 +:1063400082F820300398594B9847F9E60025E4E796 +:10635000574B984718B1574B18684369EBB1554CE8 +:1063600020684FF480714830534DA84720682021A1 +:1063700000F5A470A8472368B3F868216FF30902F9 +:10638000A3F8682109984D4B984701462068836916 +:10639000002B76D06268984773E0494B98470446D3 +:1063A000484B9847A369002BFCD1A3680393D4F80A +:1063B00000A0534508BFD4F804A03E4C2068424BCF +:1063C000984704902368B3F86821C2F30902002AB1 +:1063D000C5D0450000229046A1460CE008F1010816 +:1063E0001FFA88F84246D9F80030B3F86811C1F3B3 +:1063F00009018845B3DA991891F848110029EDD1BF +:1064000003EBC203B3F94A70B3F94810049807FBD1 +:1064100000167600B3F84C3001335B1A1BB25B00F8 +:106420000593D9F8003003EBC203B3F94E30BB42F9 +:10643000D4DB039B03EB060B56440932D400059AC8 +:1064400031465846214B984701373FB2AB442E4462 +:10645000D9F800302344B3F90630BB42EFDABDE788 +:106460000022144B5A60B0F86831C3F309037BB9BA +:10647000104B1868B0F86831C3F30903002B7FF4A0 +:1064800067AF134B9847134B98470DB0BDE8F08F9B +:1064900007920BE60022074B5A60B0F86831C3F34D +:1064A0000903002BEDD0079200E600BFB95D0000A4 +:1064B000F50F010088260020372B01007110010024 +:1064C000DD0F0100415D0000ED0E010055260100C9 +:1064D000F9250100F50C010008B50421014B98478E +:1064E00008BD00BF372B010008B50821014B9847B4 +:1064F00008BD00BF372B010070B582B00679002EB1 +:1065000055D004460068036899420AD00346751EB8 +:10651000EDB200EB85059D4249D053F8042F8A4225 +:10652000F9D10D46012E0ED0711E8900214B9847DE +:106530000646214B984780B1EEB12179002933D02E +:106540000022134626E01D4B984700232360237149 +:10655000627963F30002627129E0194B00934FF4F2 +:10656000827218490320184CA0473246002317486E +:1065700017498847FEE7174B0093114B4FF483727E +:1065800010490220104CA04711E00133DBB2217901 +:10659000994209D9216851F823108D42F5D046F867 +:1065A00022100132D2B2F0E701392171266002B027 +:1065B00070BD00BF99280100B1220000C524010070 +:1065C0007C4A02003C4B02005D220100D83F0200E1 +:1065D000B9220000684B0200002851D070B582B08B +:1065E00004460E46274B9847237963BB0420264B6D +:1065F000984705462846254B984758B3002D36D076 +:106600006379C3F3400013F0010F18BF0130237901 +:10661000984210D205EB830103F18042013A013B1D +:106620001B1ADBB2D31A05EB830351F8042C41F893 +:1066300004299942F9D145F8206023790133237167 +:10664000256002B070BD013399002068104B984757 +:106650000546CFE70F4B0093D0220F4903200F4C84 +:10666000A0472A4600230E480E498847FEE70E4BF6 +:106670000093084BD22208490220084CA047E0E7CB +:10668000704700BFF9640000DD230100B122000063 +:1066900099280100984A02003C4B02005D2201004B +:1066A000D83F0200B9220000A44B020030B583B0ED +:1066B000437913F0010F10D003F00603062B14BF2B +:1066C000002301230279002A34D09A4234D9026887 +:1066D00052F82340204603B030BD05460420174B36 +:1066E00098470446164B984760B1CCB12046154BED +:1066F000984721462846144B98476B7943F001038D +:106700006B71E7E7114B009340F2354210490320CB +:10671000104DA847224600230F4810498847FEE73E +:106720000F4B0093094B40F2374209490220094DB3 +:10673000A847CFE70024CDE70024CBE7DD23010005 +:10674000B1220000D9640000D9650000B44A0200FB +:106750003C4B02005D220100D83F0200B92200003C +:10676000D44B020010B504460068024B9847002342 +:10677000236010BDC52401000268D2B11378FF2B3D +:1067800013D0002006E00B2B0ADC02300230135C31 +:10679000FF2B0BD003F00F03082BF4DC0230F5E7DE +:1067A0000D2BD4BF01300430F0E70020023080B25E +:1067B000704700207047000081B170B50C460A6830 +:1067C0005AB105460846064B98470646054B98477A +:1067D000286032462168044B984770BD704700BF5F +:1067E00079670000DD2301005526010000286BD0E9 +:1067F0002DE9F8430746006800286AD0CDB20E0A9A +:10680000B4460378FF2B3BD04FF0FF3EF04600220A +:10681000CCF3060C27E08418647886EA040919F0A2 +:106820007F0F0BD004F07F0434EA0C091DD14445DE +:10683000C4BF0FFA84F80FFA82FE16E09646BEF146 +:10684000000F43DB7446704443785E4016F07F0FC0 +:1068500019D00020BDE8F8830B2B0CDC0232023289 +:10686000835CFF2BEBD09D42D5D003F00F03082BA8 +:10687000F2DC0232F3E70D2BD4BF01320432EEE733 +:106880004FF0FF3EDBE70D463846134B984705F0C7 +:106890000F010B2904DD0E29B4BF0321062100E0FE +:1068A00004210D46411A8C4207D223463A685419F6 +:1068B000E45CD45401338B42F8D13868074B9847D5 +:1068C00038600120BDE8F883002070470020BDE853 +:1068D000F8830020BDE8F88379670000992801005B +:1068E0002DE9F04186B0ADF80E10ADF80C2004682B +:1068F000002C48D0CFB20D0AAE462378FF2B2CD007 +:106900004FF0FF3188460022CEF3060E18E0A6189D +:10691000767885EA060C1CF07F0F21D006F07F0602 +:1069200036EA0E0C0ED14645C4BF0FFA86F811B2F6 +:1069300008E00B2B0CDC02320232A35CFF2B0ED0E2 +:106940009F42E4D003F00F03082BF2DC0232F3E79E +:106950000D2BD4BF01320432EEE74FF0FF310A466F +:10696000002A10DBA3185B785D4015F07F0F0AD179 +:106970000232A3189DF80C10A1549DF80D205A70F6 +:1069800006B0BDE8F0810646FF23ADF816301D4B7A +:106990009847002808BF0220051DADB229462046B1 +:1069A000194B98473060194B9847E8B1002EE7D053 +:1069B000AB1F3268D1189DF80E00D0549DF80F30EF +:1069C0004B702B1F3268D1189DF80C00D0549DF8E5 +:1069D0000D304B70023D33685A199DF81610595509 +:1069E0009DF817305370CBE7094B00934FF4C372F7 +:1069F00008490320084CA04732680023074808498B +:106A00008847FEE77967000099280100B12200005D +:106A1000CC4A02003C4B02005D220100D83F02003C +:106A2000B92200002DE9F04186B0ADF80C20ADF898 +:106A30000E100468002C48D0CFB20D0AAE46237861 +:106A4000FF2B2CD04FF0FF3188460022CEF3060EEC +:106A500018E0A618767885EA060C1CF07F0F21D086 +:106A600006F07F0636EA0E0C0ED14645C4BF0FFA7B +:106A700086F811B208E00B2B0CDC02320232A35C68 +:106A8000FF2B0ED09F42E4D003F00F03082BF2DC63 +:106A90000232F3E70D2BD4BF01320432EEE74FF0A0 +:106AA000FF310A46002A10DBA3185B785D4015F021 +:106AB0007F0F0AD10232A3189DF80C10A1549DF843 +:106AC0000D205A7006B0BDE8F0810646FF23ADF8F0 +:106AD00016301D4B9847002808BF0220051DADB297 +:106AE00029462046194B98473060194B9847E8B122 +:106AF000002EE7D0AB1F3268D1189DF80E00D0549D +:106B00009DF80F304B702B1F3268D1189DF80C0088 +:106B1000D0549DF80D304B70023D33685A199DF8E2 +:106B2000161059559DF817305370CBE7094B009359 +:106B300040F2B51208490320084CA04732680023F0 +:106B4000074808498847FEE779670000992801004F +:106B5000B1220000E04A02003C4B02005D2201002D +:106B6000D83F0200B92200002DE9F04387B0ADF80C +:106B70000E100468002C43D05FFA81FE0D0AAC466B +:106B80002378FF2B2CD04FF0FF37B8460021CCF3F1 +:106B9000060C18E06618767885EA060919F07F0F6A +:106BA00021D006F07F0636EA0C090ED14645C4BF57 +:106BB0000FFA86F80FB208E00B2B0CDC0231023121 +:106BC000635CFF2B0ED09E45E4D003F00F03082B2F +:106BD000F2DC0231F3E70D2BD4BF01310431EEE7D3 +:106BE0004FF0FF37394600290ADB63185B785D40B8 +:106BF00015F07F0F04D121448A7007B0BDE8F083FF +:106C000017460646FF23ADF816301B4B9847002861 +:106C100008BF0220C51CADB229462046174B984735 +:106C20003060174B9847C0B1002EE6D06B1F32681A +:106C3000D1189DF80E00D0549DF80F304B7033687A +:106C40002B4403F8037C023D33685A199DF8161053 +:106C500059559DF817305370CFE70A4B00934FF406 +:106C6000F27209490320094CA04732680023084802 +:106C700008498847FEE700BF7967000099280100AE +:106C8000B1220000F44A02003C4B02005D220100E8 +:106C9000D83F0200B92200002DE9F04186B00292EF +:106CA000ADF80E100468002C4ED0CFB20D0AAE46DF +:106CB0002378FF2B2CD04FF0FF3188460022CEF3F3 +:106CC000060E18E0A618767885EA060C1CF07F0FF1 +:106CD00021D006F07F0636EA0E0C0ED14645C4BF21 +:106CE0000FFA86F811B208E00B2B0CDC02320232EC +:106CF000A35CFF2B0ED09F42E4D003F00F03082BC0 +:106D0000F2DC0232F3E70D2BD4BF01320432EEE79E +:106D10004FF0FF310A46002A16DBA3185B785D406E +:106D200015F07F0F10D10232A3189DF80810A1545E +:106D30009DF809205A709DF80A209A709DF80B2042 +:106D4000DA7006B0BDE8F0810646FF23ADF81630D4 +:106D5000204B9847002808BF0220851DADB2294668 +:106D600020461D4B984730601C4B984720B3002E9F +:106D7000E7D0A5F108033268D1189DF80E00D05471 +:106D80009DF80F304B70AA1F31688B189DF80800D2 +:106D900088549DF809205A709DF80A209A709DF831 +:106DA0000B20DA70023D33685A199DF816105955B8 +:106DB0009DF817305370C4E7094B009340F213223B +:106DC00008490320084CA0473268002307480849B7 +:106DD0008847FEE77967000099280100B12200008A +:106DE000084B02003C4B02005D220100D83F02002C +:106DF000B922000000284DD02DE9F04384460468F4 +:106E0000002C4AD0CEB2090A8E462378FF2B3ED002 +:106E10004FF0FF37B8460020CEF3060E2AE02518C3 +:106E20006D7881EA050919F07F0F0AD005F07F051A +:106E300035EA0E0920D14545C4BF0FFA85F807B2DF +:106E40001AE00746002F2CDBBB1CE018E35C137034 +:106E500043785370DCF8000007447878C1F30601EA +:106E60000840BDE8F0830B2B0CDC02300230235CC1 +:106E7000FF2BE7D09E42D2D003F00F03082BF2DCA9 +:106E80000230F3E70D2BD4BF01300430EEE74FF0B2 +:106E9000FF37D7E74FF0FF3070474FF0FF30BDE8C6 +:106EA000F0834FF0FF30BDE8F08300284AD02DE991 +:106EB000F04386460468002C47D0CEB2090A8C46BF +:106EC0002378FF2B3BD04FF0FF37B8460020CCF3A0 +:106ED000060C27E025186D7881EA050919F07F0F67 +:106EE0000AD005F07F0535EA0C091DD14545C4BF20 +:106EF0000FFA85F807B217E00746002F29DB3C445C +:106F0000A3781370DEF8000007447878C1F3060117 +:106F10000840BDE8F0830B2B0CDC02300230235C10 +:106F2000FF2BEAD09E42D5D003F00F03082BF2DCF2 +:106F30000230F3E70D2BD4BF01300430EEE74FF001 +:106F4000FF37DAE74FF0FF3070474FF0FF30BDE812 +:106F5000F0834FF0FF30BDE8F08300284DD02DE9DD +:106F6000F04384460468002C4AD0CEB2090A8E460B +:106F70002378FF2B3ED04FF0FF37B8460020CEF3EA +:106F8000060E2AE025186D7881EA050919F07F0FB1 +:106F90000AD005F07F0535EA0E0920D14545C4BF6A +:106FA0000FFA85F807B21AE00746002F2CDBBB1C4E +:106FB000E018E35C137043785370DCF8000007447A +:106FC0007878C1F306010840BDE8F0830B2B0CDC98 +:106FD00002300230235CFF2BE7D09E42D2D003F078 +:106FE0000F03082BF2DC0230F3E70D2BD4BF013086 +:106FF0000430EEE74FF0FF37D7E74FF0FF30704730 +:107000004FF0FF30BDE8F0834FF0FF30BDE8F08374 +:10701000002850D02DE9F04307460468002C4DD0DD +:10702000CEB2090A8C462378FF2B2DD04FF0FF3EBD +:10703000F0460020CCF3060C19E025186D7881EAA3 +:10704000050919F07F0F22D005F07F0535EA0C09FC +:107050000FD14545C4BF0FFA85F80FFA80FE08E04E +:107060000B2B0CDC02300230235CFF2B0ED09E4237 +:10707000E3D003F00F03082BF2DC0230F3E70D2B13 +:10708000D4BF01300430EEE74FF0FF3E70460028D9 +:1070900018DB054601302318141D13F8010F02F800 +:1070A000010B9442F9D13B682B445878C1F3060197 +:1070B0000840BDE8F0834FF0FF3070474FF0FF30DD +:1070C000BDE8F0834FF0FF30BDE8F083437913F063 +:1070D000010F06D013F0020F036814BF5868186838 +:1070E000704700207047437913F0020F1ABF0368FE +:1070F000186800207047000000282CD038B50446DE +:10710000437913F0010F08D0134B9847054620B17F +:10711000124B98472846124B9847637913F0020F99 +:1071200009D020460F4B9847054620B10B4B984796 +:1071300028460B4B984723794BB9002222602271D5 +:10714000637903F0FC0362F38203637138BD206846 +:10715000034B9847F1E77047CD700000656700006A +:10716000C5240100E770000070B505460C462C4BA5 +:1071700098472368002B41D0637913F0010F20D189 +:1071800013F0020F10D0207901388000254B98476A +:1071900028602279013A216892000431224B9847F5 +:1071A0002379013B2B7170BD207980001D4B9847DE +:1071B00028602279920021681B4B984723792B7114 +:1071C00070BD13F0020F1AD0207902388000154BE1 +:1071D000984728602279023A216892000831124BC0 +:1071E00098472379023B2B712846104DA847064645 +:1071F0002046A847014630460D4B984770BD207980 +:1072000001388000074B984728602279013A2168AD +:1072100092000431044B98472379013B2B71E3E73B +:10722000F9700000DD23010055260100AD66000065 +:10723000B967000030B583B00446437913F0020FFC +:1072400005D01D4B98470546284603B030BD0420A5 +:107250001A4B984705461A4B9847A8B115B32846CC +:10726000184B984729462046174B9847637943F0B7 +:107270000203637113F0010FE6D023681A6859689E +:10728000196023685A60DFE7104B009340F2CD226B +:107290000F4903200F4CA0472A4600230E480F49F0 +:1072A0008847FEE70E4B0093084B40F2CF22084977 +:1072B0000220084CA047C7E7E7700000DD2301006B +:1072C000B1220000D9640000D96500001C4B020007 +:1072D0003C4B02005D220100D83F0200B9220000B1 +:1072E000044C0200002859D02DE9F04F83B0054628 +:1072F0000368002B54D04FEA11280023ADF8063064 +:107300000079002842D0934689461C464FF0FF364C +:107310009A46244F1CE050460DF106024946B847F4 +:10732000804527D06B7913F0020F05D0002803DBCE +:1073300014B913F0040F23D0B04204DDBDF80630B9 +:10734000ABF800300646013424B2287984421FDAB3 +:10735000E2B26B7903F00603062B04BF0132D2B20E +:107360000028D8D0824203D22B6853F82200D3E7FA +:107370005046D1E7BDF80630ABF8003001200AE0F6 +:10738000BDF80630ABF80030012004E04FF0FF36C6 +:10739000F043C0F3C03003B0BDE8F08F0020704769 +:1073A0000020F8E7F56D0000002858D02DE9F04FD7 +:1073B00083B005460368002B53D04FEA1128002301 +:1073C000ADF804300079002841D0934689461C4628 +:1073D0004FF0FF369A46244F1BE0504601AA49461B +:1073E000B847804527D06B7913F0020F05D00028ED +:1073F00003DB14B913F0040F23D0B04204DDBDF851 +:107400000430ABF800300646013424B228798442B7 +:107410001FDAE2B26B7903F00603062B04BF0132D8 +:10742000D2B20028D9D0824203D22B6853F822006E +:10743000D4E75046D2E7BDF80430ABF80030012065 +:107440000AE0BDF80430ABF80030012004E04FF052 +:10745000FF36F043C0F3C03003B0BDE8F08F00202A +:1074600070470020F8E700BF5B6F0000002859D08C +:107470002DE9F04F83B005460368002B54D04FEA46 +:10748000112800238DF807300079002842D0934658 +:1074900089461C464FF0FF369A46244F1CE0504662 +:1074A0000DF107024946B847804527D06B7913F0A4 +:1074B000020F05D0002803DB14B913F0040F23D00A +:1074C000B04204DD9DF807308BF8003006460134E9 +:1074D00024B2287984421FDAE2B26B7903F0060302 +:1074E000062B04BF0132D2B20028D8D0824203D288 +:1074F0002B6853F82200D3E75046D1E79DF80730B8 +:107500008BF8003001200AE09DF807308BF800303E +:10751000012004E04FF0FF36F043C0F3C03003B069 +:10752000BDE8F08F002070470020F8E7AB6E000048 +:10753000002852D02DE9F04F83B005460368002B98 +:107540004DD04FEA1128007900283ED09346894655 +:1075500000244FF0FF36A246224F1AE0504601AAFF +:107560004946B847804526D06B7913F0020F05D005 +:10757000002803DB14B913F0040F21D0B04203DD5F +:10758000019BCBF800300646013424B228798442AE +:107590001DDAE2B26B7903F00603062B04BF013259 +:1075A000D2B20028DAD0824203D22B6853F82200EC +:1075B000D5E75046D3E7019BCBF80030012009E026 +:1075C000019BCBF80030012004E04FF0FF36F04380 +:1075D000C0F3C03003B0BDE8F08F0020704700203A +:1075E000F8E700BF11700000F0B501F01F0EC1F305 +:1075F0004516C1F3C421052A3FD9C0F3C4240C4465 +:107600001F2C28BF1F2404F01F04C0F3451333446C +:107610003F2B28BF3F2303F03F0500F01F007044BD +:107620001F2828BF1F2000F01F03FF2A2ED0C2F101 +:10763000FF0707FB0EF002FB030000EB002300EB4B +:10764000C310C30D4FF0000063F3040007FB06F303 +:1076500002FB053303EB032503EBC513DB0D63F3DB +:107660004A1007FB01F102FB041202EB022302EBBA +:10767000C312D20D62F3CF20F0BD4FF000006EF3C5 +:10768000040066F34A1061F3CF20F0BD4FF0000014 +:1076900063F3040065F34A1064F3CF20F0BDF0B546 +:1076A00001F01F0EC1F34516C1F3C421052A3DD9CF +:1076B000C0F3C4240C1B24EAE47404F01F04C0F3D8 +:1076C0004513F31A23EAE37303F03F0500F01F00AC +:1076D000AEEB000020EAE07000F01F03FF2A2ED07E +:1076E000C2F1FF0707FB0EF002FB030000EB0023D3 +:1076F00000EBC310C30D4FF0000063F3040007FB61 +:1077000006F302FB053303EB032503EBC513DB0D87 +:1077100063F34A1007FB01F102FB041202EB0223A0 +:1077200002EBC312D20D62F3CF20F0BD4FF0000088 +:107730006EF3040066F34A1061F3CF20F0BD4FF002 +:10774000000063F3040065F34A1064F3CF20F0BD3A +:107750002DE9F04F93B09DF870409DF874B09DF8FE +:107760007890BBF1040F00D914B913B0BDE8F08FC5 +:107770000893ADF824200E460546BA4B984780463C +:10778000B94B98470746826806923246294610A8A8 +:10779000B64B98470028E8D03A8ABDF840309B1A8B +:1077A00099B20D460A9108B20B90ADF840007B8A61 +:1077B000BDF84210C91A0FFA81FCADF842C0BDF8FD +:1077C0004400801A80B2ADF84400BDF846E0AEEB4C +:1077D000030E0FFA8EFEADF846E0089AAAB198F8AB +:1077E000083013F0010F10D1411C491B09B20029C8 +:1077F0000BDD134611441A78802A4FF0FF3298BFF0 +:10780000002203F8012B8B42F5D1D8F81430002B5D +:1078100077D0BDF82480934B98470546BB8A013347 +:107820003A8A9B1A1BB20793012C3ED0BDF9402027 +:10783000089B9F1ABDF8443001339B1A1BB2089372 +:10784000BDF942A0BDF946309A458EDCBDF94060D5 +:107850003446BDF944309E421EDC3E440FFA8AF99C +:1078600005964B46B9461F46059A12F8013B05920C +:1078700003FB0BF3C3F307230293ADF804800097D7 +:1078800023B2079A069928466E69B0470134BDF9BC +:1078900044309C42E8DD4F46089B1F440AF1010A30 +:1078A000BDF946309A45D1DD5FE7BDF94290BDF99B +:1078B000463099453FF759AFDDF81CA05E46DDF82C +:1078C00018B0BDF94040BDF944309C4212DC0FFABB +:1078D00089F705970296ADF80480059B009323B2C3 +:1078E0005246594628466F69B8470134BDF94430BD +:1078F0009C42EFDD09F10109BDF946309945E0DD13 +:1079000033E7B9F1000F40F0A083BDF82430ADF8A3 +:107910001C30544B98470646BB8A01333F8ADF1B15 +:107920003FB2BDF94020BDF8443001339B1A1BB271 +:107930000B931D46BDF94600BDF94230411CC91AE2 +:1079400009B20C910A9303FB0722069901EB42014D +:107950000591012C29D0BBF1FA0F00F20881834276 +:107960003FF703AF069B33F81230BDF82460C6F32F +:10797000C42CC6F34512104606F01F0214467A00C6 +:107980000C920B9A08990139069152000E921946F1 +:107990004FF0000E7246B6B20896CDF824B00D95A1 +:1079A000A146CDF81CB0834645E3BBF1FA0F25D9BB +:1079B000736A23B110A82E4B9847F02813D80C9B5C +:1079C000002B7FF7D2AE7F0000242A4DDDF83080F7 +:1079D000059E0B9ABDF81C103046A8473E44013462 +:1079E000A045F6D1C1E6BDF82430ADF80030746A88 +:1079F00010AB3A4606993046A047B6E6336A002BEC +:107A00003CD010A81A4B9847F02837D90B99002979 +:107A10000CDDBDF82480184A931E01F100410139A4 +:107A200002EB410223F8028F9A42FBD1BDF942508A +:107A3000BDF946309D423FF798AE4FEA4708DFF860 +:107A400038A0DDF814905C4600940B9B52464946E2 +:107A50003046376AB847C1440135BDF946309D42CA +:107A6000F2DD82E6695F0000DD0F010019150100FB +:107A7000FD1401003B1B0100902600204FF0000E7A +:107A8000BDF8242002F01F09C2F34518C2F3C42C2C +:107A90000BFB0CF303EB032103EBC113C3F3C45142 +:107AA0000BFB08F303EB032403EBC413C3F3C5542C +:107AB0000BFB09F303EB032203EBC213C3F3C45222 +:107AC0001FFA8BF30CFB03FC08FB03F809FB03F91B +:107AD0006FEA0B03DBB20C9800287FF746AE780004 +:107AE00007900B9840000890002006909FB236E067 +:107AF000307862F304003070308864F34A103080CC +:107B0000000A61F3C700707002339B451CD01E460B +:107B10001FFA8EF0B3F800A05045E9D0B3F800E0AA +:107B20005978C90801FB07C1C1F30421CEF34514FC +:107B300004FB0784C4F305241A7802F01F0202FB39 +:107B40000792C2F30422D3E7059B079803440593E9 +:107B5000069B013306930C9898423FF406AE002D25 +:107B6000F2DD05980346089E00EB060BCFE70C9B61 +:107B7000002B7FF7FAAD0B9B043B0D937B000F931B +:107B800000230A93BDF81C20C2F3C42CC2F3451E87 +:107B9000C2F304030693DEE1BDF81C303B8043468C +:107BA00001318D4200F04C83023718F0030F00F0D2 +:107BB000558318F8013B002BF1D0FF2BECD0C3F11B +:107BC000FF097A78D20809FB02F203FB0C2202EBD0 +:107BD000022002EBC012C2F3C4523888C0F3451031 +:107BE00009FB00F003FB0E0000EB002600EBC610C3 +:107BF000C0F3C5503E7806F01F0A09FB0AF903FBE3 +:107C0000049303EB032903EBC913DB0D63F30406B1 +:107C10003E703B8860F34A133B801B0A62F3C70344 +:107C20007B70BCE7BDF81C4020F8064C20F8044CE3 +:107C300020F8024C04800431043308308F42C0F233 +:107C400029811A4653F8044C002CF4D0B4F1FF3FBC +:107C5000E8D013F8048CB8F1000F3FD0B8F1FF0F53 +:107C600000F00581C8F1FF0610F8054CE40806FB9A +:107C700004F408FB0C4404EB042504EBC514C4F322 +:107C8000C454099430F8065CC5F3451506FB05F5A8 +:107C900008FB0E5505EB052905EBC915C5F3C555C0 +:107CA00010F8069C09F01F0B06FB0BF6069C08FB60 +:107CB000046808EB082608EBC616F60D66F30409FF +:107CC00000F8069C30F8066C65F34A1620F8066C3E +:107CD000360A099C64F3C70600F8056C12F8038C99 +:107CE000B8F1000F3FD0B8F1FF0F00F0C580C8F128 +:107CF000FF0610F8034CE40806FB04F408FB0C44F0 +:107D000004EB042504EBC514C4F3C454099430F8FF +:107D1000045CC5F3451506FB05F508FB0E5505EBA0 +:107D2000052905EBC915C5F3C55510F8049C09F0E4 +:107D30001F0B06FB0BF6069C08FB046808EB0826E5 +:107D400008EBC616F60D66F3040900F8049C30F83B +:107D5000046C65F34A1620F8046C360A099C64F337 +:107D6000C70600F8036C12F8028CB8F1000F3FD080 +:107D7000B8F1FF0F00F08580C8F1FF0610F8014C44 +:107D8000E40806FB04F408FB0C4404EB042504EBB4 +:107D9000C514C4F3C454099430F8025CC5F3451506 +:107DA00006FB05F508FB0E5505EB052905EBC91586 +:107DB000C5F3C55510F8029C09F01F0B06FB0BF626 +:107DC000069C08FB046808EB082608EBC616F60DAF +:107DD00066F3040900F8029C30F8026C65F34A1659 +:107DE00020F8026C360A099C64F3C70600F8016C9F +:107DF00012F8018CB8F1000F3FF41DAFB8F1FF0F7E +:107E000044D0C8F1FF064478E40806FB04F408FBFC +:107E10000C4404EB042504EBC514C4F3C45B0588CF +:107E2000C5F3451506FB05F508FB0E5505EB0529C1 +:107E300005EBC915C5F3C55590F8009009F01F0A68 +:107E400006FB0AF6069C08FB046808EB082608EB0C +:107E5000C616F60D66F3040980F80090068865F3EF +:107E60004A160680360A6BF3C7064670E3E6BDF88D +:107E70001C4020F8064C31E7BDF81C4020F8044CAB +:107E800071E7BDF81C4020F8024CB1E7BDF81C407A +:107E90000480D0E60E9D8D424EDD541E059B03EB03 +:107EA0004108069E08E0BDF81C30A8F800300131FA +:107EB00008F102088D423FDD14F8013F002BF6D097 +:107EC000FF2BF0D0C3F1FF0998F80120D20809FB7D +:107ED00002F203FB0C2202EB022002EBC012C2F3FF +:107EE000C452B8F80000C0F3451009FB00F003FBD2 +:107EF0000E0000EB002700EBC710C0F3C55098F848 +:107F0000007007F01F0A09FB0AF903FB069303EB55 +:107F1000032903EBC913DB0D63F3040788F8007032 +:107F2000B8F8003060F34A13A8F800301B0A62F377 +:107F3000C70388F80130BAE7059B0F9A13440593ED +:107F4000089B0B9A134408930A9B01330A930C9ADB +:107F50009A423FF40AAC002D40F37081089A12F067 +:107F6000030F00F07981059F90460021069C20E6D2 +:107F7000FF2A02D0DDF824E004E0DDF824E02A88BE +:107F80009A4232D0BEF1FF0F42D0CEF1FF046B789F +:107F9000DB080EFB0CF204FB032303EB032203EBD1 +:107FA000C213C3F3C4532A88C2F345120BFB0EF16C +:107FB00004FB021202EB022102EBC112C2F3C55212 +:107FC000297801F01F0109FB0EF604FB016101EBAA +:107FD000012601EBC611C90D61F3040A62F34A1AC6 +:107FE00063F3CF2A1FFA8AF12B88298002460235D3 +:107FF000A8450FD017F8010F0028F8D09042BED046 +:10800000FF28B5D0079B03FB00FECEF3072EB9E790 +:108010000899E9E705980C9C204405900A980130DE +:1080200004460A9006980B9D28440690BDF9460028 +:1080300084423FF79AAB0D980028EBDD0598054682 +:108040000E9C00EB0408069FD4E7BDF82450B9F15C +:10805000010F40D0B9F1020F32D1834B0593BDF827 +:10806000242002F01F08C2F34516C2F3C423994628 +:10807000BA8A01323B8AD31A1FB2CDF824C00CFB56 +:1080800007F3069A02EB43020792012C26D0013037 +:108090000A9A801A02B20C92089A0B99521A089204 +:1080A000069A32F81320F4453FF75FAB7B000B9341 +:1080B00010460021CDF818B0CDF828B0CB46B0E07E +:1080C0006A4B00936A4B4FF404726A4902206A4C6F +:1080D000A047FFF74ABB694B0593C0E74FF0000A82 +:1080E0000BFB09F303EB032003EBC013C3F3C450F2 +:1080F0000BFB06F303EB032203EBC213C3F3C552DE +:108100000BFB08F303EB032103EBC113C3F3C453CD +:10811000F4453FF72AAB79000891CDF818B0CB466B +:108120003AE0217863F304012170218862F34A1157 +:108130002180090A60F3C701617009F10109023762 +:10814000BDF9441089451ADC3C461FFA8AF1B7F89C +:1081500000E07145E5D0B7F800A068F3040566F3C8 +:108160004A156BF3CF25069A51462846059B98473A +:1081700000F01F03C0F34512C0F3C420D1E70799F4 +:10818000089C21440791099901310C460991BDF9D8 +:1081900046108C423FF7E9AABDF94070B946BDF9D7 +:1081A00044108F42EBDC079901EB4707CCE7F92B32 +:1081B0009DBF0A9A5343C3F30722069A68F3040546 +:1081C00066F34A156BF3CF2521882846059B98470F +:1081D00080B29AF800102288208009F10109013745 +:1081E0000234BDF9443099450ADCBA463B78002B8D +:1081F000F3D08B42DBD1B4F800E09645D7D1EBE762 +:10820000079B0B9C23440793089B0C9C23440893D7 +:10821000099B01331C460993BDF946309C423FF748 +:10822000A4AABDF94040A146BDF944309C42E7DC18 +:10823000089B1F19079B03EB4404D6E7089B00210A +:108240000D9A8A42FFF678AE0433C81C059A02EBF9 +:1082500040000E950D9FF4E4089B00210D9A8A4280 +:10826000F2DA1A4619E600BF9F760000904C020031 +:10827000444C0200604C02005D220100E9750000E0 +:108280002DE9F04F91B09DF868409DF86CA09DF8E5 +:108290007050BAF1040F00D914B911B0BDE8F08FD5 +:1082A000049307920F4601463A460EA8BC4B9847E6 +:1082B0000028F2D0BB4B98478046BB4B98470646F8 +:1082C00083680593028ABDF838309B1A9BB20693E7 +:1082D000BDF918C0ADF838C0438ABDF83AB0ABEB71 +:1082E000030B1FFA8BFB0FFA8BFEADF83AE0BDF8DB +:1082F0003C10891A89B2ADF83C10BDF83E00C01A96 +:1083000080B202B20892ADF83E20049AD2B198F839 +:10831000083013F0010F15D101F10109069BA9EBFB +:1083200003090FFA89F9B9F1000F0BDD13469144E7 +:108330001A78802A4FF0FF3298BF002203F8012BF1 +:108340004B45F5D1D8F81430002B00F0A980954B9F +:1083500098470546B6F91000B38A01331B1A1BB2C1 +:108360000693BDF93810B7F90020B7F8049009F169 +:108370000109A9EB02090FFA89F9BDF93AE0B7F949 +:108380000230B6F912609B1BAEEB0303121A8A1A75 +:1083900009FB03234FEA410BCBEB430B079B5B44E9 +:1083A0009B46012C46D0049B5B1A0793BDF93E30D7 +:1083B0009E453FF772AFBDF93C304FEA4902089243 +:1083C0000133591A0BB20993F146BDF938603446AE +:1083D000BDF93C309E4220DC079B03EB06080BEB0B +:1083E00046060FFA89F7049618F8013B03FB0AF3D7 +:1083F000C3F307230293049A32F8023B0492ADF8C8 +:108400000430009723B2069A059928466E69B04752 +:108410000134BDF93C309C42E6DD079B099A1344C8 +:108420000793089B9B4409F10109BDF93E3099452A +:10843000CBDD32E7BDF93E307345FFF62EAF4FEA94 +:108440004909F046BDF938703C46BDF93C309F42C1 +:108450001EDC0BEB47070FFA88F6049733465646A7 +:10846000CA4699460296049A32F8023B0492ADF845 +:108470000430CDF8009023B2069A059928466F691A +:10848000B8470134BDF93C309C42EBDDD146B246E1 +:10849000CB4408F10108BDF93E309845D2DDFCE639 +:1084A000002D40F09983B6F91030B6F8148008F129 +:1084B0000108A8EB03080FFA88F80131069A891A17 +:1084C0000AB2099215460130A0EB0B0B0FFA8BF2A2 +:1084D0000892B7F90010B7F8049009F10109A9EB67 +:1084E00001090FFA89F90EFB08C2059800EB420258 +:1084F0000592B7F90220B6F91200121AAEEB020E7D +:10850000CB1AACEB030309FB0E33079A02EB4303D0 +:108510000693244B98470646012C1BD0BAF1FA0F5C +:1085200000F2C580089B002B7FF7B7AE4FEA4803E7 +:108530000A934FEA49030B93099B049A013A049268 +:108540005B000D934FF0000BCDF81CA00C95DDF8EF +:10855000189036E3036A5BB30EA8144B9847F028D3 +:1085600026D9BDF93A50BDF93E309D423FF795AE50 +:108570004FEA48084FEA4909DDF814B0069FCDF8E4 +:1085800000A0099B3A4659463046346AA047C34486 +:108590004F440135BDF93E309D42F0DD7DE600BF20 +:1085A00019150100695F0000DD0F0100FD140100D5 +:1085B000BAF1FA0F10D8089B002B7FF76EAE4FEA86 +:1085C000480304934FEA4909099B4FEA430B4FF0D4 +:1085D0000008CAF1FF0E26E0089B002B7FF75DAE76 +:1085E000099A56004FEA48084FEA49090024664DA7 +:1085F0009B46059FDDF818A0324651463846A847ED +:108600004744CA440134A345F6D146E6059B049A83 +:1086100013440593069B4B44069308F10108089BFD +:1086200043453FF43AAE002DF0DD069B1F46059C06 +:1086300003EB0B0C7B78DB086278D2080EFB02F2AE +:108640000AFB032303EB032203EBC213C3F3C4535C +:108650003A88C2F345122188C1F345110EFB01F19E +:108660000AFB021202EB022102EBC112C2F3C55255 +:1086700017F8021B01F01F01207800F01F060EFB07 +:1086800006F60AFB016101EB012601EBC611C90DDB +:1086900061F304002070218862F34A112180090AE5 +:1086A00063F3C70161700234BC45C3D1AEE7099BD7 +:1086B000043B0A93089B002B7FF7EFAD4FEA48037A +:1086C0000C934FEA49030D930023079365E3B8F831 +:1086D0000030AEF80030634601318D4200F0478330 +:1086E00008F102080EF1020E1CF0030F00F02D83BA +:1086F0001CF8014B002CEED0FF2CE8D0C4F1FF0693 +:1087000098F80130DB089EF80120D20806FB02F23F +:1087100004FB032303EB032203EBC213C3F3C45391 +:10872000B8F80000C0F34510BEF80020C2F34512AF +:1087300006FB02F204FB002000EB002200EBC2105B +:10874000C0F3C55098F8002002F01F029EF8007098 +:1087500007F01F0906FB09F604FB026202EB022484 +:1087600002EBC412D20D3C4662F304048EF80040C2 +:10877000BEF8002060F34A12AEF80020120A63F33C +:10878000C7028EF80120A6E75526010034F8065CE2 +:1087900020F8065C34F8045C20F8045C34F8025CD1 +:1087A00020F8025C25880580043104330834083041 +:1087B0008E4540F347811A4653F8045C002DF3D0F0 +:1087C000B5F1FF3FE2D013F804CCBCF1000F47D065 +:1087D000BCF1FF0F00F02481CCF1FF0914F8055C17 +:1087E000ED0810F8056CF60809FB06F60CFB0565AC +:1087F00005EB052605EBC615C5F3C45534F8066C24 +:10880000C6F3451630F8067CC7F3451709FB07F792 +:108810000CFB067606EB062706EBC716C6F3C55615 +:1088200014F8067C07F01F0710F8068C08F01F0BE1 +:1088300009FB0BF90CFB079707EB072C07EBCC1791 +:10884000FF0D67F3040800F8068C30F8067C66F329 +:108850004A1720F8067C3F0A65F3C70700F8057C35 +:1088600012F803CCBCF1000F47D0BCF1FF0F00F0B1 +:10887000DC80CCF1FF0914F8035CED0810F8036C00 +:10888000F60809FB06F60CFB056505EB052605EB6E +:10889000C615C5F3C45534F8046CC6F3451630F854 +:1088A000047CC7F3451709FB07F70CFB067606EBBC +:1088B000062706EBC716C6F3C55614F8047C07F066 +:1088C0001F0710F8048C08F01F0B09FB0BF90CFBB9 +:1088D000079707EB072C07EBCC17FF0D67F304088E +:1088E00000F8048C30F8047C66F34A1720F8047C06 +:1088F0003F0A65F3C70700F8037C12F802CCBCF10D +:10890000000F47D0BCF1FF0F00F09480CCF1FF09BD +:1089100014F8015CED0810F8016CF60809FB06F686 +:108920000CFB056505EB052605EBC615C5F3C4551F +:1089300034F8026CC6F3451630F8027CC7F34517CD +:1089400009FB07F70CFB067606EB062706EBC716B6 +:10895000C6F3C55614F8027C07F01F0710F8028C06 +:1089600008F01F0B09FB0BF90CFB079707EB072C13 +:1089700007EBCC17FF0D67F3040800F8028C30F802 +:10898000027C66F34A1720F8027C3F0A65F3C707AA +:1089900000F8017C12F8018CB8F1000F3FF404AF2D +:1089A000B8F1FF0F4BD0C8F1FF096578ED084678A4 +:1089B000F60809FB06F608FB056505EB052605EB41 +:1089C000C615C5F3C4552688C6F345160788C7F3F0 +:1089D000451709FB07F708FB067606EB062706EBAB +:1089E000C716C6F3C556277807F01F0790F800C0D2 +:1089F0000CF01F0A09FB0AF908FB079707EB072889 +:108A000007EBC817FF0D67F3040C80F800C0078858 +:108A100066F34A1707803F0A65F3C7074770C3E646 +:108A200034F8065C20F8065C1AE734F8045C20F899 +:108A3000045C62E734F8025C20F8025CAAE725884F +:108A40000580B1E60B9D8D4240F39481561E4FEA9E +:108A5000410C069B03EB0C08059B9C440BE0B8F80B +:108A60000030ACF80030013108F102080CF1020CC2 +:108A70008D4240F37F8116F8014F002CF3D0FF2C7C +:108A8000EDD0C4F1FF0798F80130DB089CF8012015 +:108A9000D20807FB02F204FB032303EB032203EBE0 +:108AA000C213C3F3C453B8F80000C0F34510BCF8B8 +:108AB0000020C2F3451207FB02F204FB002000EB8A +:108AC000002200EBC210C0F3C55098F8002002F05D +:108AD0001F029CF800E00EF01F0907FB09F704FBDA +:108AE000027202EB022402EBC412D20D744662F34E +:108AF00004048CF80040BCF8002060F34A12ACF883 +:108B00000020120A63F3C7028CF80120ABE702379A +:108B10000236474545D01CF8011F0029F7D0F92936 +:108B20009ABF01FB0AF1C1F30724079CC4F1FF05BA +:108B30007B78DB087278D20805FB02F204FB032382 +:108B400003EB032203EBC213C3F3C4533A88C2F30B +:108B500045123188C1F3451105FB01F104FB0212F6 +:108B600002EB022102EBC112C2F3C552397801F0C7 +:108B70001F01307800F01F0E05FB0EF504FB0151BC +:108B800001EB012401EBC411C90D61F30400307045 +:108B9000318862F34A113180090A63F3C7017170A9 +:108BA000B5E7059B0A9A134405930B9B99440BF177 +:108BB000010B049B099A13440493089B5B453FF403 +:108BC0006CAB0C9B002BECDD4F46059E0D9B09EB1F +:108BD0000308DDF810C09EE7012D49D0022D3CD1DD +:108BE000DFF8E081B6F910300993B08A0130C01A7D +:108BF00000B2B7F90020BB8801339B1A1DB2F146C1 +:108C00000EFB00FB059B03EB4B0BB7F90230B6F9EB +:108C100012609F1BAEEB070705FB07F7079B03EBF3 +:108C20004707012C27D0049BA3EB0C031A46A7EBA4 +:108C30004C030493089B9E453FF72FAB43000793DB +:108C40006B000893CDF814A04B1C06995B1A1BB25D +:108C50000993CDF818A0924666E0564B0093564B08 +:108C600040F2533255490220554CA047FFF715BB3F +:108C7000DFF85481B6E7099B9B1A07EB4307089B73 +:108C80009E453FF70AAB430004936B0005933B46B8 +:108C900047469846BDF938301C46BDF93C20934202 +:108CA00010DC5B000BEB030508EB0306524629883A +:108CB00036F8020BB84725F8020B0134BDF93C30F9 +:108CC0009C42F3DD049B9B44059B984409F10109F8 +:108CD000BDF93E309945DDDDFFF7DFBA01350236DB +:108CE0000234BDF93C309D420FDC17F8013B002BEC +:108CF000F4D0F92B9DBF069A5343C3F30722059A7C +:108D000031882088C0473080E8E7079B9B44099B57 +:108D10009A44049B089A1344049309F10109BDF98C +:108D20003E3099453FF7B9AABDF938301D46BDF927 +:108D30003C209342E9DC0AEB03075B000BEB0306E4 +:108D4000049AD418D1E7049B00210A9A8A420ADDCA +:108D50000433C81C4000069A1418059A10440B9559 +:108D6000DDF828E027E51A4670E6049B00210A9A00 +:108D70009142EDDB059B0C9A13440593049B099AE1 +:108D800013440493069B0D9A13440693079B0133E7 +:108D90000793089A9A423FF480AA002DE5DD049AD1 +:108DA00012F0030FCFD0DDF81880DDF814E0944600 +:108DB00000219DE4904C0200544C0200604C0200E3 +:108DC0005D2201009F760000E97500002DE9F04F5B +:108DD000BDB01B902391174608939DF818310A9354 +:108DE0009DF81C3106934B1EC81D3AAA13F8011FAB +:108DF00002F8011B8342F9D1A34B9847A34B984734 +:108E00001890018ABDF8E8305B1AADF8E830428A64 +:108E1000BDF8EA309B1AADF8EA30BDF8EC305B1AC9 +:108E2000ADF8EC30BDF8EE309B1AADF8EE30984B53 +:108E30009847199030B9089A53881BB91389B3F52C +:108E4000807F71D0069B002B14BF4FF0030B4FF0B7 +:108E5000020B1B990B46B1F900208D880135AD1A24 +:108E60002DB2BDF9EA00189EB6F91210D846BDF928 +:108E7000E840B6F91060B3F902305B1AC31A921BCE +:108E8000A21A05FB032303FB0B731493A4B2A219CC +:108E900092B2ADF89820BDF8EC3001331B1B9BB2A9 +:108EA0001CB21694013B1344ADF89C3080B24318B9 +:108EB0001BB2ADF89A30ADF89E30BDF8EE600136C9 +:108EC000361A36B208994B88002B40F053830B8931 +:108ED000B3F5807218BF01220592199A002A40F05A +:108EE0007083B3F5807F40F049830A9B23B98B7A66 +:108EF00013B9069B002B31D13AA8664B9847B0F5C1 +:108F0000F07F40F2AC804FF47070634CA0471A9031 +:108F10004FF4F070A0471790482128A85F4B98475E +:108F20004FF4F0731C93E4E00A9B002B8AD1069B5C +:108F30008BB9937A13B14FF0020B8AE7937B0293BC +:108F4000137801930123009300233A461B99239839 +:108F5000534CA0470BE34FF0030B7AE73AA84D4B75 +:108F60009847B0F5F07F14D83AA84A4B9847814605 +:108F70004FEA4900484CA04782464846A04704466D +:108F80000596002E4FDD08FB05F80025AC46149E23 +:108F900025E04FF4F079EBE75B44023796450AD0C1 +:108FA000997802F8011B0029F6D05878197801EB5E +:108FB00000213980F0E74644BDF8EC300133BDF8BC +:108FC000E8209B1A0CFA83F3994514D9BDF89E301A +:108FD0000133ADF89E300135059B9D4223D0169B91 +:108FE000002BE8DD04EB0C020AEB4C079C4404EB7D +:108FF0000C0E3346D4E7089A937B029313780193BF +:10900000022300932346524626A92398244FB847AB +:10901000BDF89E3001331BB2ADF89A30ADF89E30EA +:109020004FF0000CD7E7BDF99E30BDF99A209A4267 +:109030000FD0013BADF89E30089A937B02931378D2 +:109040000193022300932346524626A92398144DE8 +:10905000A8472046134CA0475046A04787E23AA8AD +:109060000C4B98471C901C9B58000B4CA0471A9027 +:109070001C98A0471790482128A8084B9847059BA3 +:10908000002B36D091E200BF695F0000DD0F0100C8 +:10909000C5BE0000FD1401003D290100372B010071 +:1090A0008182000071250100052208984388ADF8EF +:1090B000AC300389ADF8AE302897ADF8A4501B99B9 +:1090C000CB88013349885B1AADF8A6308DF8B22001 +:1090D0008388ADF8A830C388ADF8AA308389ADF88D +:1090E000B030C37BC3F300038DF8B33028A8934B93 +:1090F00098470898837ADA43D2B2129203B39BB2AC +:10910000427BD20802FB03F210928289C2F345121D +:1091100002FB03F21192027B02F01F0202FB03F337 +:109120001393069B8BB90A9B53BB089A538853BB76 +:109130001389B3F5807F14BF022301231D9306E03A +:109140000023139311931093EBE702231D93199BB4 +:10915000E3B9189BB3F91230BDF9EA2013441B9A06 +:10916000B2F902209B1A22931F96002E40F3E4814D +:1091700008FB05F31E9300230E930F93D14654E191 +:1091800002231D93E3E702231D93E0E71C99179840 +:109190006B4B9847DDE70C9B2B441BB2BDF9A82015 +:1091A0009B1ABDF9AA200D998A1ABDF8AE10B1F527 +:1091B000807F56D0BDF9AC10002965D1BDF8D6101E +:1091C000319C01FB03430993329B01FB02330B9358 +:1091D000099B1F12BDF9A4309F4280F2AB80002F83 +:1091E000C0F2A8800B9A121210461592BDF9A62063 +:1091F000904280F29F800028C0F29C809DF8D4208D +:1092000012F0040F6AD0289912F0020F55D103FB17 +:1092100000735A00881811F813308DF8B430437871 +:109220008DF8B53002219DF8D43013F0010F0DD028 +:10923000209B6FF3040343F4FC636FF3CF23ADF87B +:109240008030BDF8B4009BB2984273D09DF8B33023 +:10925000002B59D19DF8B6308AF80030BDF8B430F3 +:1092600086E03498339900FB03F401FB1247319CEC +:1092700004EBE714099400FB02F201FB0323329A8A +:1092800002EBE3130B93A3E7BDF8D61001FB03F346 +:1092900001FB02F23499339801FB03F400FB1247FF +:1092A000319C04EBE734099401FB02F200FB032339 +:1092B000329A02EBE3330B938AE7159A03FB0273AE +:1092C00003EB43028B18895C8DF8B41059788DF844 +:1092D000B5109B788DF8B6300321A4E739B2BDF9FB +:1092E0005420BDF8B030259224912EA8154CA047EB +:1092F000ADF8B400259A24992EA8134B98478DF801 +:10930000B600002211468EE7BDF82430ADF8D83003 +:10931000BDF82C30ADF8DA30ADF8DC70BDF8543063 +:10932000ADF8DE3038928DF8E41028A8074B984746 +:1093300000288FD100238AF800303DE04DEB00007B +:10934000ED2B010019E9000049EA0000FDED0000E5 +:10935000E0070000FF238AF800307278337803EBCF +:1093600002239BB20A9A1AB13FF81C209A4236D0C7 +:10937000089A927AEAB1BDF84820D90A109801FB00 +:109380000201C1F30421C3F34510119C00FB02400C +:10939000C0F3052003F01F03139C03FB0243C3F338 +:1093A000072363F3040960F34A1961F3CF291FFA15 +:1093B00089F3079A22F8153001355E440AF1010A53 +:1093C000454510D0059B002B7FF4E5AE069B002B96 +:1093D000C0D0B3788AF80030002BEDD0BDE7002371 +:1093E0008AF80030E8E7169B0F9A9C18199B002B0F +:1093F0003ED1149B1E9A13441493BDF8EC300133F4 +:10940000BDF8E8209B1A04FA83F31C9A9A425CD9AF +:10941000BDF89E300133ADF89E300F940E9B0133A2 +:109420000E931F9A934200F08780189BB3F9103077 +:10943000BDF9E82013441B9AB2F900209B1A0C9343 +:10944000169B9846002B11DD179B19460F9A01EBCE +:10945000020A1A9B194601EB42030793149E00254A +:10946000229B0E9A13441BB20D93ABE70F9CBDE7F2 +:109470000F9B179A13441E46BDF8E810BDF8EC3058 +:1094800001335B1ABDF8EA20189D688A02440E98E1 +:109490000244288A01441BB212B209B230464E4D32 +:1094A000A84728B102281D9A08BF02461D92A0E7CE +:1094B000BDF8EC100131BDF8E830C91A09B23046E8 +:1094C000464B984702231D9393E7089DAB7B02937D +:1094D0002B7801931D9B0093179B1A9A26A923981A +:1094E0003F4CA047BDF89E3001331BB2ADF89A3017 +:1094F000ADF89E30069B5BB90A9B83B96B888BB92C +:109500002B89B3F5807F14BF022301231D9301E053 +:1095100002231D93199B43B900230F937EE7022377 +:109520001D93F7E702231D93F4E71C9917982D4B21 +:10953000984700230F9371E7BDF99E30BDF99A203B +:109540009A420FD0013BADF89E30089A937B02936C +:10955000137801931D9B0093179B1A9A26A92398B1 +:109560001F4CA0471798204CA0471A98A0473DB021 +:10957000BDE8F08F199B13BB012305933AA81B4B41 +:109580009847B0F5F07F7FF66AAD4FF47070184CD5 +:10959000A0471A904FF4F070A0471790482128A8D0 +:1095A0000E4B98474FF4F0731C93069B002B7FF4EF +:1095B0007BAD0A9B002B0CBF0422062275E501231C +:1095C00005933AA8094B9847B0F5F07F7FF647AD71 +:1095D0004FF4F0731C9346E51DBE0000372B0100CD +:1095E00081820000ED2B010071250100FD140100B6 +:1095F0003D29010070B59EB004460D46164609A8E7 +:109600000B4B98470B4B1B88ADF8263009AA29460F +:109610002046094B984702A8084B9847002300931F +:10962000334602AA29462046054CA0471EB070BD0D +:1096300069C20000B84C020031C30000CD9900009F +:10964000259A000010B5044610210C4B9847237B47 +:109650006FF304032373A3896FF34A13A3811B0AD7 +:109660006FF3C7036373FF2323704FF48073238169 +:10967000E37B43F00103E37310BD00BF372B010010 +:1096800004380A2813D8DFE800F00608060A0C0E92 +:10969000100A0C0E1000102070471820704701208F +:1096A0007047022070470420704708207047002050 +:1096B0007047032805D002D30638042801D90020BA +:1096C00070470120704702380C2808D8DFE800F006 +:1096D00009070709070909090909090909000020FB +:1096E00070470120704700002DE9F04F8FB005460C +:1096F0000E463AB11C4610461B78052B10D80FB009 +:10970000BDE8F08F844B0093844B4D2284490220A6 +:10971000844CA047844A31462846844B9847EEE75C +:10972000A189834B98470746002800F0B58090F840 +:109730000C9009F01F0948467E4B984780464846E2 +:109740007D4B98478146BB696BB17C4B00937C4B4A +:10975000F72273490220734CA047BA693146284664 +:10976000724B9847CBE73B69002B49D06B1EE81D35 +:109770000AAA13F8011F02F8011B9842F9D1638865 +:109780001BB92289B2F5807F28D0EA880132698826 +:10979000521AA98801312888091A201D01902089B0 +:1097A00000901BB212B209B20AA8DFF8B8A1D047E4 +:1097B0002A88BDF828301344ADF828306B88BDF8EE +:1097C0002A101944ADF82A10BDF82C100A44ADF83F +:1097D0002C20BDF82E201344ADF82E300AAA3146B5 +:1097E0000CA8584B9847002889D03A69CDF80490C6 +:1097F000CDF8008023460CA92846534CA0477EE7AD +:109800002A46314608A84F4B984700283FF477AFC7 +:10981000BDF824300133BDF820209B1A1BB20393FE +:1098200003EB4300494B984702900DF11F020AAB2E +:109830000CA812F8011F03F8011B8342F9D1012182 +:109840000AA8434B9847BDF92030B5F90020BDF96F +:1098500022A0B5F90210AAEB01010846BDF92610B5 +:109860008A4555DCDFF8DCB09B1A1BB205930795DF +:1098700006944446804623E0079D0498354B98475C +:10988000354B00932E4B4FF49A7225490220254CFC +:10989000A0470298314B9847284B00931F4B582202 +:1098A0001F4902201F4CA0471F4A314628461F4B24 +:1098B000984724E70AF1010ABDF926309A4527DCCA +:1098C0000AAA31460CA8D8470028F3D00497029B77 +:1098D0000093039B0FFA88F205993846204DA8475C +:1098E0000128C9D1CDF804900094069B029A0CA9D6 +:1098F0000AA8154DA847BDF82A300133ADF82A3023 +:10990000BDF82E300133ADF82E3008F10108D1E753 +:109910000298124B9847F2E60C4D0200BC4C020034 +:10992000DC4C02005D220100244D0200F595000090 +:1099300001F20000B3960000C79600002C4D020013 +:10994000C84C020019150100CD8D00003D29010011 +:10995000F314010035FF0000404D020071250100A5 +:1099600011FF000065EC000058B10278A2F120035D +:10997000DBB25F2B07D952B2002AB4BF022000200D +:1099800070470320704701207047A0F13003DBB21D +:10999000092B17D9602884BF2038C0B24138052868 +:1099A0000ED8DFE800F011030507090B0B20704704 +:1099B0000C2070470D2070470E2070470F20704715 +:1099C00000207047184670470A20704710B50446BB +:1099D0001C21124B9847FF23237223786FF3040353 +:1099E000237023886FF34A1323801B0A6FF3C70386 +:1099F00063700B4B63604FF6FF73E3812382A378A0 +:109A000043F01F03A37063886FF34A1363801B0A3C +:109A10006FF3C703E3700023A37510BD372B01005C +:109A2000100000202DE9F04FD9B0629C157A052D69 +:109A300001D91D7815B959B0BDE8F08F0A93934646 +:109A40000A460D9105461390DBF804300593014654 +:109A500056A8AA4B98470028EDD09BF8172012F083 +:109A6000020F21D1AB8801332A889B1A1BB2059AB9 +:109A7000B2F908A0BBF90A90D1441399B1F90020BA +:109A80001F92B1F90200BBF912201A92BBF914100F +:109A9000421892B215B2002C4AD000294BD10028AE +:109AA00014DB0E95002629E0BBF90C30029247F634 +:109AB00018420192BBF90A200092DBF804200A99AF +:109AC0003AA88F4DA847BDF9E830D0E7A168081A39 +:109AD00080EAE071A1EBE071C9F50070B1EB400FD5 +:109AE00005DD4FF0FF3222600E95002606E0266865 +:109AF000002E23DB61680A4412B20E921BB2194693 +:109B00001093BBF90C209BF8173000930B46059976 +:109B10000A9830447B4DA84783192F46DFF8F88117 +:109B20003146CDF81890D1460E9D26461C460FE0D2 +:109B30000E950026E2E70E950026DFE70E9500263B +:109B4000DCE721469AF80030002B3FF474AF04465E +:109B500005EB09030D9AB2F90220934220DA0A9B21 +:109B600003EB040ABBF90C209BF817300093109B01 +:109B700005995046B8472044069B1D442DB2002E3F +:109B8000DFD04545DDDB3368002BDADA3460139A29 +:109B9000B2F90230EB1A7360B2F90230B360D0E769 +:109BA0000E460794DDF818900E959BF8172012F0DA +:109BB000040F2FD112F0080F45D19BF808300B93FA +:109BC000BBF80E70BBF81030194608939F4202D9BB +:109BD0003B460F4608939BF8183013F0030F49D10A +:109BE0003DA8494B9847BBF80230ADF8F6300B9BC7 +:109BF000FA2B88BFFF2316931FFA89F31793BDF83A +:109C0000383011931F9D00231993BA46D846B346A6 +:109C100000F0D3BDBBF90C30A11B0092059A89B2AC +:109C20000A983044394CA047139A9388013312881C +:109C30009B1A1BB2181A00EBD0701F9B03EB60033A +:109C40001BB21F93B9E7BBF90C300799891B00922F +:109C5000059A89B20A9830442C4CA047139A9388ED +:109C6000013312889B1A1BB21B1A1F9A13441BB292 +:109C70001F93A2E753A8264B9847BBF80030ADF8D6 +:109C80004C31DBF80430B3F908300533214A82FB4C +:109C90000312DB17C3EBA203ADF84E319BF808307B +:109CA0008DF854319DF855319BF8192062F301036A +:109CB0008DF8553194E70025AAE00025A8E0069B21 +:109CC0002BB9BDF848311993012306938AE0069B0E +:109CD000012B00F0F185022B00F03385B8F800600D +:109CE000B5E0202C7ED1529B199A9B1A072B15D0D8 +:109CF000B8F800300C930223069373E019150100A5 +:109D00007D400100B13D010069C20000DD3F01005E +:109D1000E1A800006766666600FCFFFF099B9818D3 +:109D2000431E05303AAA13F8011F02F8011B8342B3 +:109D3000F9D19DF8E8008C4CA04705469DF8E90054 +:109D4000A04700EB05159DF8EA00A04706469DF8E0 +:109D5000EB00A04700EB06169DF8EC00A047074675 +:109D60009DF8ED00A04700EB0713C3F3C4032E9A40 +:109D700063F304021346C6F3850666F34A13C5F37C +:109D8000C40565F3CF23ADF8B8309BB20C93022322 +:109D9000069327E0ADF8E8A00E9AADF8EA20B8F8EF +:109DA0000C30013B53440344ADF8EC30179B013BAE +:109DB0001344ADF8EE303DAA0D993AA86B4B984785 +:109DC00056E06B4B00936B4B40F297126A490220AE +:109DD0006A4CA047002F05DDB8F80C3053443B44D3 +:109DE0000FFA83FA5299079BA3EB0B038B4240F2C5 +:109DF000AC844FF6FF7399453FF45DAF089A9A42E1 +:109E00003FF45BAF59440A985D4B1B68984785B295 +:109E10005C4E336852A9099F384698470446336818 +:109E2000002152983844984798F8173013F0010FE2 +:109E300006D0232C3FF443AF069B012B3FF451AFD8 +:109E4000B8F800600C9B069A022A08BF1E4602461C +:109E5000214605984C4B984707464FF6FF739945A6 +:109E600006D00899994203D0A94501D8A94291D8B2 +:109E70000B9B042BAED9059B002BA2D098F8193070 +:109E80000F93002322463AA90598404DA84758B998 +:109E90001F2C9FD93E4B0093364B40F2A1123649FE +:109EA0000220364CA04795E7BDF8EC201AB9BDF862 +:109EB000EA30002B8ED0BDF9EE505544BDF8EA30A3 +:109EC0002B440D98B0F900108B4283DBB0F90430BD +:109ED0009D423FF77FAF059BB3F90810B3F90A30F5 +:109EE000CB1A0E990B44991ABDF9F030CB1A159381 +:109EF0001A44B0F902309A42FFF66CAFB0F906305E +:109F0000159999423FF766AF21460598214B98472E +:109F10008646F0B1059B1B7B13F0030F00F05E82B9 +:109F20002BB21893BDF954301D939DF8F230129363 +:109F3000032B00F0FF80013B072B00F20281DFE8DA +:109F400013F00A012D000001FB00000100010001D7 +:109F50001101114B0093074B40F2B7120649022042 +:109F6000064CA04736E700BF8B99000031C30000C4 +:109F7000E84E0200784E0200B84E02005D22010059 +:109F80006400002058000020610001005900010019 +:109F9000084F020051000100304F0200C0231B9304 +:109FA000AC4B2093BDF8EA301E93BDF8EC10129A2A +:109FB00002FB03F20D9BB3F90030189C9C42BABF20 +:109FC0001B1B03EB4303002327930D9BB3F90430C2 +:109FD0001E980446A04880FB0440189C20449842E8 +:109FE000C3BF1B1B013303EB43031E9B14930D9B49 +:109FF000B3F902301D9C9C42B4BF1B1B0023259368 +:10A000000D9BB3F906301D9C0819984240F3B180AE +:10A010001B1B0133289306F01F032293C6F345133D +:10A020002493C6F3C4232393129B1846279B00FB5B +:10A0300003F3259800FB02320EEBE206319602F0A4 +:10A0400007061E9801FB00F1B1F5F07FA8BF4FF4A1 +:10A05000F07129910846814CA04721902999480028 +:10A06000A04730907E4B98477E4B9847B0F9104000 +:10A07000838A01331B1B19B226918168279B764A7C +:10A0800082FB03E2A2EBE372B0F912301D98C31A0F +:10A090002698864618980EFB03031B1B259C0EFB77 +:10A0A0000420034401EB43011891ADB22A44ADF8FA +:10A0B000E020149A9646684981FB0EE3A3EBE27315 +:10A0C000013D2B44ADF8E430159D25442BB2ADF88D +:10A0D000E230ADF8E630644B98472A90289DAC42B8 +:10A0E00080F261811499279A8C1A2B941E9D6B1A09 +:10A0F0001344129901FB03F32C93574A82FB042368 +:10A10000C3EBE473269803445B002D93002326934E +:10A110001593CDF8C8B0CDF8CC903497DDF86090A9 +:10A12000DDF8C4B0CDF8C4A0DDF8C0A0CDF8D4806F +:10A130008846EAE004231293F0231B934B4B2093B1 +:10A1400030E74B4B00934B4B40F27A224A490220B6 +:10A150004A4CA0473EE60123129380231B93484BB1 +:10A1600020931FE708231293FF231B93454B209353 +:10A1700018E728914FE7B8F1080F04D0DBB2209A16 +:10A18000D25C00E0159A58AB0B4403F8842C0131E3 +:10A19000032928D0B44540F39480129B43441E46C3 +:10A1A0002EFA08FE0135149BAB4200F09080129607 +:10A1B0009BF8003003EA0E02ACEB060322FA03F32D +:10A1C00013F0FF02DED01698FF28D4D0B8F1080FA4 +:10A1D0000FBFDAB2DBB2209AD25C169B03FB02F20D +:10A1E000C2F30722CFE79DF8DC109AF80130DB08B4 +:10A1F000C1F1FF00239A01FB02F200FB0323C3F32A +:10A2000004231D939DF8DE3018939AF8002002F085 +:10A210001F02C3F1FF00229B189C04FB03F300FB09 +:10A220000232C2F304231E939DF8DD00BAF8003019 +:10A23000C3F34514C0F1FF03249A00FB02F203FBB1 +:10A240000423C3F30523F9B9F0B9189AE2B9219AA6 +:10A25000D1551DE0644D0200565555553D2901006C +:10A26000695F0000DD0F0100C5BE0000684D0200FF +:10A27000604F0200884E0200B84E02005D220100CD +:10A28000604D0200784D0200219A4FF0FF31D15508 +:10A2900009EB470019F817101E9A62F3040109F838 +:10A2A000171039F8172063F34A1229F81720120AF9 +:10A2B0001D9B63F3C702427001370AF1020A0021B5 +:10A2C00068E70BF1010BDDF86CE0159E6AE7534679 +:10A2D000CA4699462A9B4BBB2B9B3B44299A9A42E0 +:10A2E00041DDBDF8E6300133ADF8E63026972C9B12 +:10A2F0001E440BEBE60B06F007062D9B9944259BAD +:10A3000001332593289A934244DA1B9B23FA06FED5 +:10A31000279D149A954207DA269F0021C8F1080C60 +:10A320004B46D1469A4642E7269FD3E7269B219A81 +:10A3300013441C46BDF9E010BDF8E43001335B1A4C +:10A340001BB2BDF9E6202046AB4DA8470028C3D17B +:10A35000BDF8E4100131BDF8E030C91A09B2204659 +:10A36000A64B9847B8E70F9B0293169B01930223D5 +:10A370000093219B524638A90D98A14CA047BDF8E7 +:10A38000E63001331BB2ADF8E230ADF8E630002321 +:10A390002693ACE7DDF8C8B0DDF8CC90349FDDF84B +:10A3A000C4A0DDF8D480BDF9E630BDF9E2209A42C0 +:10A3B0000ED0013BADF8E6300F9B0293169B019344 +:10A3C00002230093219B309A38A90D988C4CA0470A +:10A3D00021988C4CA0473098A047FBE42CB2BDF9E3 +:10A3E0005400ADF88C609DF8F2302093032B00F000 +:10A3F000C180013B072B00F2C580DFE813F0CD00E0 +:10A400000800C300BD00C300C300C300D50004237F +:10A41000C02212927C4A22921699F9292BD87B4AA3 +:10A4200092F800218A4200F0C880D3B1229E721EA9 +:10A4300076490139013B06EB030C169B1E46CDF80D +:10A4400050B09B4612F8013FFF2B1ABF0BFB03F3E2 +:10A45000C3F30723334601F8013F9445F2D1DDF8F9 +:10A4600050B06A4B9DF8582083F80021209AC3F819 +:10A4700004211C9B2293BDF8EA302493BDF8EC2004 +:10A48000209901FB03FC0D9BB3F900309C42B4BF43 +:10A490001B1B002314930D9BB3F904302499214412 +:10A4A0009942C6BF1B1B0133249B25930D9BB3F917 +:10A4B00002309842B4BF1B1A002326930D9BB3F9B8 +:10A4C000063011189942C3BF1B1A01331B931B920C +:10A4D000149B2193209903FB01F4269800FB0C4464 +:10A4E0000EEBD40604F00704249902FB01FE724629 +:10A4F000BEF5F07FA8BF4FF4F0721D921046444B9A +:10A5000098471890ADB2149BEB18ADF8E030013DC0 +:10A51000259AAB18ADF8E430159D269805442BB26A +:10A52000ADF8E230ADF8E6303A4B98471E902099EE +:10A53000C1F10805249A149BD318259A9B1A01FB94 +:10A5400003F3209326981B9B984280F2DF804FF004 +:10A55000000ECDF890B0CDF8989027970F4615953E +:10A56000CDF8A0A0DDF894A08146CDF89480DDF868 +:10A5700088807AE0042320931023F0221292264A46 +:10A58000229249E7254B0093254B40F2E5122549DD +:10A590000220254CA0471DE40123209302238022A2 +:10A5A0001292224A229237E7082320934FF48073B5 +:10A5B000FF2212921E4A22922EE7144AD2F8042158 +:10A5C000209991427FF431AF4BE701361298002475 +:10A5D00001318C452ED0337803402A1BD34013F031 +:10A5E000FF0F1ABFDBB218F8033000230B70A5422F +:10A5F000EBD93C44F840EBE71DBE0000372B0100CF +:10A600008182000071250100644D0200502A002063 +:10A610003D290100C5BE0000684D0200884F0200C0 +:10A620009C4E0200B84E02005D220100604D020007 +:10A63000784D020015951E9B53BB149BAAEB030398 +:10A640005B441D9A9A423FD9BDF8E6300133ADF81C +:10A65000E630DE46209B1C4406EBD40604F00704DB +:10A6600009F101091B9B994547DA129B23FA04F073 +:10A67000149B53450ADA189A02EB0E01219BAAEBB0 +:10A68000030BF34402EB0B0C159DA4E7F346D2E752 +:10A69000189B734418462293BDF9E010BDF8E430CE +:10A6A00001335B1A1BB2BDF9E620854DA84700288F +:10A6B000C3D1BDF8E4100131BDF8E030C91A09B2C8 +:10A6C0002298804B9847B8E70F9B0293FF23019392 +:10A6D00002230093189BBDF88C2038A90D98DFF851 +:10A6E000E8B1D847BDF8E63001331BB2ADF8E2302F +:10A6F000ADF8E6304FF0000EACE7DDF890B0DDF8D5 +:10A700009890279FDDF8A0A0DDF89480BDF9E63091 +:10A71000BDF9E2209A420FD0013BADF8E6300F9B25 +:10A720000293FF23019302230093189BBDF88C2012 +:10A7300038A90D98644CA0471898644B9847FFF7C8 +:10A7400049BB00230693FFF74DBB5346CA469946C3 +:10A7500098F8183013F0020F46D198F8183013F01B +:10A76000010F62D10A9A079D5619B8F90C2098F882 +:10A7700017300093109B05993046554CA04744195B +:10A78000139BB3F9005098F8172012F0040F6CD106 +:10A7900012F0080F7ED10E9B17990B441BB2119A31 +:10A7A0000A4492B21192DDF81CB00E930D9AB2F9E0 +:10A7B00006209A42FFF63FA907940A9A13465B4483 +:10A7C000099312F80B30002B3FF435A91A9B1D4456 +:10A7D0000FFA85F90023529306933E4B1C934B4688 +:10A7E000D1469A46FFF7FEBABDF87C30ADF8E030AE +:10A7F000D8F80430B3F9083003EBD372BDF94E3109 +:10A8000003EBD3735B1003EB6203119A13441BB287 +:10A81000ADF8E230ADF8E890ADF8EA3053AB0D9A00 +:10A820003AA938A82C4CA04797E7BDF87C30ADF882 +:10A83000E030D8F80420BDF94E3103EBD3735B1040 +:10A84000013311890B4452899B1A119A13441BB28C +:10A85000ADF8E230ADF8E890ADF8EA3053AB0D9AC0 +:10A860003AA938A81C4CA0477CE7B8F90C300092F4 +:10A87000059A01463046194EB047139A9388013322 +:10A8800012889B1A1BB2181A00EBD07005EB6005FA +:10A890002DB280E7B8F90C300092059A0146304697 +:10A8A0000E4EB047139A9388013312889B1A1BB23D +:10A8B000181A05442DB26EE700230693FFF70EBA6F +:10A8C0001DBE0000372B01005177000071250100EB +:10A8D000B13D0100502A002011A90000DD3F010018 +:10A8E00010B504460A21094B984701236380FF23D2 +:10A8F000237223786FF30403237023886FF34A13C2 +:10A9000023801B0A6FF3C703637010BD372B010050 +:10A910002DE9F04FCBB0B3F90250002D00F01884B0 +:10A920001C7A052C40F21484B0F90060B1F9007073 +:10A93000BE4200F030811C46964608920791069070 +:10A9400005EBD575C5F34F05BE42D4BFC5EB060375 +:10A95000C5EB0703ADF82031BE42ACBFAB19EB1914 +:10A96000ADF824310F46B1F902200646B0F90230A5 +:10A970009A42D4BFC5EB0201C5EB0301ADF8221129 +:10A980009A42ACBFAD18ED18ADF82651724648A9F1 +:10A990000846AB4B9847002800F0DA83B6F902600E +:10A9A000B7F90250AE4200F0FE80069BB3F90030CA +:10A9B0001A460593079BB3F900A0524500F00182A7 +:10A9C000AE4206DB33462E461D46059BCDF814A04D +:10A9D0009A46059BAAEB03030993AA1B0A92002B34 +:10A9E000B8BF5B429B46002AB8BF52429046B4F9BA +:10A9F00002909342C7BF530193FBFBF34FEA4B1303 +:10AA000093FBF2F38F4AD35C09FB03F909F13F0989 +:10AA10004FEAE9131F469BB205988245D4BFC3EBAA +:10AA20000A02C3EB0002ADF838208245ACBF03EB4D +:10AA30000A021A18ADF83C20B542D4BFC3EB050298 +:10AA4000C3EB0602ADF83A20B542ACBF5B199B19C7 +:10AA5000ADF83E3048AA0EA90846794B9847002821 +:10AA600000F072834FEA292907F001034B440B934E +:10AA7000C34540F3B682099A002A40F38E821FFA3A +:10AA800086FB1FFA89F31FFA85F9ABEB030200215D +:10AA90000191A9EB03031BB20093534612B205992F +:10AAA00012A8694FB847BDF82C800BEB08020123B0 +:10AAB0000193C1440FFA89F30093534612B20599EA +:10AAC0001DA8B847002112A8DFF89C81C0470B9051 +:10AAD00000211DA8C0470C90637A13F0100F00F0FE +:10AAE000A4824FF0FF330D930A93584B9847584B6D +:10AAF00098478246068ABDF83850AD1BAAB2ADF819 +:10AB00003820408ABDF83A10091AADF83A10BDF85D +:10AB10003C309B1B9BB2ADF83C30BDF83E10091A8F +:10AB2000ADF83E105D1CAD1A2DB20EA8494B9847EA +:10AB3000B0F5F07FC0F0A2824FF4F07B5846464B50 +:10AB400098478146BAF81030BDF838201A4412B23E +:10AB50000592ADF84020BDF83C201344ADF84430D8 +:10AB6000BDF83A30BAF8122013441BB2ADF84230A7 +:10AB7000ADF846305946394B9847BAF91220BDF91D +:10AB80003A601644BDF93E3013449E4200F3B98248 +:10AB900000270994A0E2B0F902E0B1F90240A6450D +:10ABA0007FF4C9AED4E294F80890284B9847284B1C +:10ABB00098470746B4F90230013B5E1003F00103E9 +:10ABC0009D19B4F90630002B35D0B4F9048018F182 +:10ABD000000818BF4FF00108214B984770BB88F060 +:10ABE0000102079BB3F900300699B1F9001018462D +:10ABF0008B42A8BF0846ADF8A0008B42B8BF0B46F9 +:10AC0000013BADF8A43006994B885D1BADF8A2500E +:10AC10003344ADF8A6304AB3637A03F003030293DA +:10AC2000CDF80490012300930023228828A948A886 +:10AC30000C4DA84788E24FF00008CDE70022D0E78E +:10AC400019150100A44F0200E9BE0000695F000071 +:10AC5000DD0F0100FD1401003D290100ED2B010075 +:10AC6000C5BE000051770000C1BD000028AA48A958 +:10AC70001046A14B9847002800F06682BDF9A0E07D +:10AC8000B7F910108BB2AEEB030292B20FFA82FC4E +:10AC9000ADF8A0C0BDF9A200B7F81290A0EB09056D +:10ACA000ADF8A250BDF9A460F31A9BB2ADF8A43080 +:10ACB000BDF8A650A5EB0905ADF8A65001339A1AC8 +:10ACC00015B2ADF8CCE0ADF8D060ADF8CE00ADF87F +:10ACD000D200B8F1000F1CD06144B4F90620B4F9D9 +:10ACE00004301A4491FBF2F302FB13110BB20A93E6 +:10ACF00009952846814B98478246BDF9A260BDF967 +:10AD0000A630B34259DBDFF81092DFF808B20595A0 +:10AD100035E00021EAE7B4F906E073449A42BABF8D +:10AD20000AF8001013460B46013000B201331AB284 +:10AD3000854207DDB4F904309342ECDB1844801AF5 +:10AD400000B2F1E705950220637A03F00303029352 +:10AD5000237A019300905346228833A948A8D84704 +:10AD6000BDF8CE300133ADF8CE30BDF8D23001336E +:10AD7000ADF8D2300136BDF9A6309E421DDC0999EE +:10AD80005046C8477A8A3244398ABDF8A0301944FF +:10AD9000059B12B209B25046594DA847B8F1000FB1 +:10ADA000D2D00028D0D0059B002B04DD0A9A0020C9 +:10ADB00001461D46BEE70220C6E75046514B984764 +:10ADC000C2E194F80890504B9847504B9847804602 +:10ADD000B4F90250013D6F1005F001053D44B4F98E +:10ADE00006302BB1B4F90460003618BF012600E02C +:10ADF0000026474B984710B986F0010200E0002278 +:10AE000006990B885D1BADF8A0501F44ADF8A470E7 +:10AE1000079BB3F90230B1F9021018468B42A8BF64 +:10AE20000846ADF8A2008B42B8BF0B46013BADF817 +:10AE3000A63072B1637A03F003030293CDF8049055 +:10AE4000012300930023228828A948A8314DA84750 +:10AE50007AE128AA48A91046274B9847002800F015 +:10AE60007381BDF9A000B8F81030C51AADB2ADF8C5 +:10AE7000A050BDF9A220B8F81270D11BADF8A210F5 +:10AE8000BDF9A410CB1A9BB2ADF8A430BDF8A6E072 +:10AE9000AEEB0707ADF8A67001335B1B1BB209933D +:10AEA000ADF8CC00ADF8D010ADF8CE20ADF8D22082 +:10AEB0000A931846114B9847059076B1B8F91020BF +:10AEC000BDF9A0703A44B4F90630B4F904703B44BB +:10AED00092FBF3F703FB172700E000273FB2BDF911 +:10AEE000A250BDF9A6309D4253DCDFF82C90DFF86C +:10AEF00010A0DFF820B02CE0191501003D29010059 +:10AF00001DBE000071250100695F0000DD0F01001A +:10AF1000C5BE000051770000ED2B010001373FB2A4 +:10AF200000230293237A01930090059B228833A982 +:10AF300048A8D847BDF8CE300133ADF8CE30BDF8C3 +:10AF4000D2300133ADF8D2300135BDF9A6309D4283 +:10AF50001FDC0A990598C847B8F812202A44B8F8A7 +:10AF60001010BDF8A0301944099B12B209B205981F +:10AF7000D047002ED4D00028D0D0B4F90420BA4253 +:10AF8000B8BF0020B4F9063013449F42A8BF002781 +:10AF9000C4E70598974B9847D6E01FFA86FBBDF8A3 +:10AFA0002C80A9B20BEB0802002301930F468844C2 +:10AFB0000FFA88F30093534612B2059912A8DFF8EE +:10AFC0003882C0471FFA89F3ABEB030201210191DC +:10AFD000FB1A1BB20093534612B205991DA8C04735 +:10AFE00070E5BDF814B0BDF82C801FFA8AF31F4637 +:10AFF0004344D8440022019200951BB232460FFA16 +:10B0000088F112A8DFF8F081C0471FFA89F9A7EB91 +:10B010000903ABEB09090122019200951BB23246EC +:10B020000FFA89F11DA8C0474CE5BDF82880BDF88E +:10B0300024900599A1EB08030322019209EB060273 +:10B0400012B200921BB2324628A86B4EB047AAEB50 +:10B0500008030222019209EB050212B200921BB210 +:10B060002A46514633A8B047002128A8634DA84777 +:10B070000A90002133A8A8470D9036E50EA8604B32 +:10B08000984783465AE5294640465E4B98472DE04F +:10B09000099A537A03F003030293137A019302236C +:10B0A00000934B46128848A910A8574CA047BDF8FA +:10B0B000463001331BB2ADF84230ADF84630594648 +:10B0C0004846524B984700270136BDF93E30BAF941 +:10B0D000122013449E4213DC09EB07082B4632B2C0 +:10B0E000059940464A4CA0470028CCD02F44EB1984 +:10B0F0009B45CDD9BDF846300133ADF84630E3E786 +:10B10000099CBDF94630BDF942209A4210D0013B5E +:10B11000ADF84630637A03F003030293237A019378 +:10B12000022300934B46228848A910A8364DA84711 +:10B130004846304B98470B98364DA8470C98A8477F +:10B140000A98A8470D98A847637A13F00C0F02D10C +:10B150004BB0BDE8F08F33A82F4B98472388ADF84C +:10B16000CE3047F6FF73ADF8CC30237A8DF8D83067 +:10B17000B4F902305E1083F0010303F00105637A35 +:10B1800013F0040F1CD1637A13F0080FE0D0079975 +:10B190000A88B6B2931BADF8A03049888B1BADF876 +:10B1A000A230ABB23244D21AADF8A4200E44F31A46 +:10B1B000ADF8A63033AA089928A8184B9847C7E7D6 +:10B1C00006980288B3B2D11AADF8A0104088C11A0F +:10B1D000ADF8A210A9B21A44521AADF8A420034443 +:10B1E0005B1AADF8A63033AA089928A80B4B9847EC +:10B1F000C9E700BF71250100E9BE0000C1BD000024 +:10B20000FD140100372B010051770000ED2B0100E8 +:10B210001DBE00006DBE000069C2000031C3000009 +:10B220002DE9F041069CA58A521B12B2658A4D1B7E +:10B230002DB2216A00294BD194F8281011F0010F8A +:10B2400016D0237C03F00303012B40F2DB81022B99 +:10B2500004D0032B06D00020BDE8F0810132D00FCE +:10B26000BDE8F081002AD4BF00200120BDE8F081B4 +:10B27000227C02F00302911EC9B2012940F2C5816D +:10B28000012A0CD0B2B9E91800F1C2816D42002D3B +:10B29000C0F2C181AB4207DC0220BDE8F081002D85 +:10B2A00008DD0120BDE8F0812844CD4B98470220FD +:10B2B000BDE8F081DD4200F1B181694221EAE1712E +:10B2C0008B4240F3AE81C64B98470220BDE8F08127 +:10B2D00094F8286016F0010F0FD1A76902FB07F15F +:10B2E0008912002FCCBF01F1010E8E46754540F347 +:10B2F0009880C6F34000BDE8F081E16905FB01F7E5 +:10B30000BF12002906DD974240F3B881C6F3400022 +:10B31000BDE8F081974280F2ED81C6F34000BDE8C0 +:10B32000F08186F00200C0F34000BDE8F08186F0B5 +:10B330000200C0F34000BDE8F0810025D4E1F446EE +:10B3400088F800C0636AD21A01350136BD4249DA75 +:10B35000636A9A421DDD002DF4DBBD42F2DAA2EBF6 +:10B360006303DBB294F828C01CF0020F1CBFDB4360 +:10B37000DBB2B04696F800C0F92BE1D8052BDED938 +:10B3800003FB0CF303EB032C03EBCC13C3F3C75CFD +:10B39000D6E7BD4226DA002D24DBA36903FB02F3C6 +:10B3A0009B1202FB03F2C2F34722E369002BBCBFEE +:10B3B000D243D2B294F8283013F0020F1CBFD2430C +:10B3C000D2B24619435DF92A0BD8052A08D902FBE7 +:10B3D00003F202EB022302EBC312C2F3C75300E0F5 +:10B3E0000023337094F8283013F0020F0AD08F42F4 +:10B3F000C0F21A810029C0F21A81794B98470220C5 +:10B40000BDE8F081013500F11581BD4202DD022069 +:10B41000BDE8F081791B2844714B98470220BDE8B4 +:10B42000F08105EB030E714505DD86F00200C0F3E7 +:10B430004000BDE8F081110207FB01F14FEAA1488D +:10B44000C1F387210132120207FB02F24FEAA24C3C +:10B45000A8EB050EE04563D0002F5BDBC1F1FF01D7 +:10B46000E26902FB01F29512BEF1000F1CDB73458D +:10B470001ADD05FB01F1C1F3472216F0020F04BFEC +:10B48000D243D2B200EB0E0610F80E10F92A0AD8F9 +:10B49000052A40F2A18002FB01F202EB022102EB3D +:10B4A000C112C2F3C75131701EF1010120D48B4289 +:10B4B0001EDDC5F1FF02A56905FB02F5AD1202FB19 +:10B4C00005F2C2F3472294F8285015F0020F1CBF72 +:10B4D000D243D2B2455CF92A09D8052A7ED902FBAB +:10B4E00005F202EB022502EBC512C2F3C755455423 +:10B4F00094F8282012F0020F74D07345C0F2B28085 +:10B50000BEF1000FC0F2B1807146354B9847022062 +:10B51000BDE8F081002940F000810EF1FF3EFF21DF +:10B52000BEF1000F1EDB73451CDDC2F387220A4407 +:10B53000C2F3470216F0020F1CBFD243D2B200EB97 +:10B540000E0610F80E10F92A0BD8052A08D902FBAE +:10B5500001F202EB022102EBC112C2F3C75100E07B +:10B560000021317094F8282012F0020F0AD0ACEBC1 +:10B5700005018B4261DD002962DB194B98470220EF +:10B58000BDE8F0810EF101029A42A8BF1A46002AD6 +:10B5900059D0002A5ADD991A1044114B98470220BD +:10B5A000BDE8F0810025DCE0002500E1002950DD48 +:10B5B0000B4B98470220BDE8F0810EF1010E734558 +:10B5C0004ADBBEF1000F4ADBA3EB0E017044044BD3 +:10B5D00098470220BDE8F081002164E7002586E756 +:10B5E000372B01000EF102029A42A8BF1A46002A28 +:10B5F0003ED0002A3FDD991A1044734B9847022031 +:10B60000BDE8F0810120BDE8F0810120BDE8F081B6 +:10B610000120BDE8F0810020BDE8F0810020BDE8F8 +:10B62000F0810020BDE8F0810020BDE8F08102201B +:10B63000BDE8F0810020BDE8F0810020BDE8F08188 +:10B640000220BDE8F0810020BDE8F0810220BDE8C5 +:10B65000F0810220BDE8F0810120BDE8F0810220E8 +:10B66000BDE8F0810020BDE8F0810220BDE8F08156 +:10B670000020BDE8F0810220BDE8F0811F462B4488 +:10B6800001FB03F1B2EBA12F3FF74BAE1202A3690E +:10B6900003FB02F39B12191213F0FF0339D0C3F11D +:10B6A000FF03626A02FB03F24FEA222ECEF1FF0291 +:10B6B000491B1AD4B94218DA0EFB03F3C3F347232C +:10B6C00016F0020F04BFDB43DBB24618455CF92BD2 +:10B6D0000AD8052B7FF631AE03FB05F303EB0325F8 +:10B6E00003EBC513C3F3C75535704D1C46194FF016 +:10B6F000000E2DE61F462B4401FB03F1B2EBA12FF8 +:10B70000FFF615AE01321202A36903FB02F39B128E +:10B71000C1E74D1B2946FF22E8E7E269524201FBDF +:10B7200002F29212BEF1000F1CDB73451ADD02FB20 +:10B7300001F1C1F3472116F0020F1CBFC943C9B282 +:10B7400000EB0E0610F80E50F9290AD805297FF6ED +:10B7500029AF01FB05F101EB012501EBC511C1F397 +:10B76000C7553570BEF1010122D48B4220DDC2F1F4 +:10B77000FF02A5696D4202FB05F5AD1202FB05F261 +:10B78000C2F3472294F8285015F0020F04BFD243A9 +:10B79000D2B2455CF92A0AD8052A7FF605AF02FB2A +:10B7A00005F202EB022502EBC512C2F3C755455460 +:10B7B00094F8282012F0020F3FF4FFAE8B42BFF640 +:10B7C000F5AE0220BDE8F081372B01002DE9F04FE6 +:10B7D0008DB0169DAE7C06F00106B5F91080EC1D0B +:10B7E00005F10F090DF1280E14F8017F0EF8017B09 +:10B7F0004C45F9D1002E3DD1BDF92A40944200F3C9 +:10B800002B82BDF92E409442C0F22A829B460F46FD +:10B810000290BDF9289008EB0903994206DB5944D0 +:10B82000BDF92C30A3EB080399420BDDBDF92A309A +:10B8300003EB08018A4253DBBDF92E10A1EB08018E +:10B840008A424DDC86BBA9EB07045C4500F30C8201 +:10B85000002C03DB214602989F4B9847BDF92C0032 +:10B86000C01B0130002840F3018283450DDCBCB1D0 +:10B870000220F2E1BDF92A40944200F3F381BDF9C0 +:10B880002E409442C2DA0120E7E1ABEB0001029BBB +:10B8900003441846904B9847002CE9D10220DCE184 +:10B8A0008345E5D10120D8E1A9EB070020EAE0704B +:10B8B000584501DD0220D0E1BDF92C10C91B091A41 +:10B8C000013143189B45B8BFABEB00010029C0F222 +:10B8D000CF81029B034418467F4B98470220BCE16E +:10B8E000BDF92CA09BB2BDF82E100131C91A09B2C6 +:10B8F000D21A08FB08F3019312B2904500F3D181EC +:10B90000A1EB0803013B9A4200F3B4810220A4E1B9 +:10B910006B8BADF81A302B8BADF81830D6E1049A4A +:10B9200007A9019B00FB10306C4B9847049A06A9AD +:10B93000019B04FB1430694B98476C61BDF81A30C9 +:10B940006B83BDF818302B83D1E1BDF81E100029A0 +:10B9500040F0D581013AADF81C20FF22ADF81E2041 +:10B96000CDE1BDF81A20BDF81E100A44C2F347020B +:10B970000EB1D243D2B2A8EB0303013BF91811D4A4 +:10B9800059450FDA0298405CF92A09D8052A35D9B9 +:10B9900002FB00F000EB002400EBC410C0F3C75022 +:10B9A000029C6054A9EB0303013BDF1911D45F45EE +:10B9B0000FDA029BDB5DF92A09D8052A20D902FBA0 +:10B9C00003F202EB022302EBC312C2F3C753029A43 +:10B9D000D355BEB1481C20EAE0705F45D4BF391A88 +:10B9E000ABEB0001584580F219810029C0F21681A5 +:10B9F000029B03441846384B98470FE10020CFE7DD +:10BA00000023E4E7594500F32581002902DB029871 +:10BA1000314B9847013700F11D815F4500F3FE80EF +:10BA2000ABEB0701029B3B4418462B4B9847F5E0D4 +:10BA3000049A09A9019B08FB1830284B9847BDF8C8 +:10BA40002610BDF81A30C3F1FF02C1F1FF0303FB5A +:10BA500002F3C3F347230EB9DB43DBB2039802467C +:10BA6000002811DB58450FDA029C2018A25CF92B44 +:10BA700009D8052B29D903FB02F202EB022402EBC1 +:10BA8000C412C2F3C7520270BAF1000F13DBDA45D9 +:10BA900011DA029C04EB0A0014F80A20F92B09D8E9 +:10BAA000052B14D903FB02F303EB032203EBC213B0 +:10BAB000C3F3C7520270039B013B03930AF1010ACF +:10BAC000ADF8221008F101085EE10022DBE7002258 +:10BAD000F0E7002739E000BF372B01001D230100EC +:10BAE00000270EF808700138013401311A46019D13 +:10BAF000A94240D809EB121701FB11A307FB07FC71 +:10BB0000CCEB03234FEA470C93FBFCF31F44C7F332 +:10BB10000F1C3F0107F0F0031A44C2F347020EB1B5 +:10BB2000D243D2B2002812DB834510DD80461EF8D6 +:10BB30000070F92A09D8052ACBD902FB07F505EBD5 +:10BB4000052705EBC717C7F3C7570EF80870002C79 +:10BB5000C9DBA345C7DDA0461EF80470F92AC0D88A +:10BB6000052ABDD902FB07F202EB022702EBC71739 +:10BB7000C7F3C757B5E7DDF81080DDF814A0EA4336 +:10BB800042440399114403910135AA44AAEB080ADF +:10BB9000ADF82230ADF824C0ADF82630BDF8223023 +:10BBA000002B3AD0BDF81E2003FB02F3C3F347235A +:10BBB0000EB1DB43DBB2039A002A12DB934510DDA2 +:10BBC000029801461144825CF92B09D8052B27D92C +:10BBD00003FB02F202EB022002EBC012C2F3C752D7 +:10BBE0000A70BAF1000F13DBD34511DD029800EBA8 +:10BBF0000A0110F80A20F92B09D8052B12D903FBEA +:10BC000002F303EB032203EBC213C3F3C7520A7020 +:10BC1000039B013B03930AF1010A2EB102201CE0B1 +:10BC20000022DDE70022F2E703990131594511DCDA +:10BC3000002902DB0298604B9847BAF1000F09DB3C +:10BC4000DA45EBDAABEB0A01029B534418465A4B38 +:10BC50009847E3E7002000E000200DB0BDE8F08F3A +:10BC60000020FAE70120F8E70020F6E70020F4E7DB +:10BC70000220F2E7B8F5807FD4BF4FF400634FF4A1 +:10BC800000430493891AA8EB0100441C6B69984295 +:10BC90007FF445AE6B8BADF81E302B8BADF81C30AE +:10BCA00044E6B8F5807FD4BF4FF400634FF40043FF +:10BCB0000493A8EB02046B699C423FF429AE049AFA +:10BCC00006A9019B04FB14303C4B9847631E049A61 +:10BCD00007A90393019803FB1300384B9847039B74 +:10BCE0006B61BDF81E306B83BDF81C302B83BDF833 +:10BCF0001830BDF81C20511E8B423FF426AEA9EB34 +:10BD000007070AF1010AAAEB09090FFA89F9BDF838 +:10BD10001C209A423FF425AE0133A8EB030807EB41 +:10BD200008030393A9EB080808F1FF3ABA4486B167 +:10BD3000581C20EAE070DA45D4BFAAEB0001ABEB57 +:10BD40000001584505DA002903DB029B18441A4B11 +:10BD50009847BDF8180000F10108049A08A9019B52 +:10BD600000FB1030154B9847BDF822303BB9BDF8A9 +:10BD70002030013BADF82030FF23ADF82230BDF874 +:10BD800020309C427FF754AEBDF81C50A8453FF6CA +:10BD900005AFBDF820904FEA0919BDF822204146B1 +:10BDA00054460398CDF81080CDF814A0DDF804A017 +:10BDB0000195DDF808E09DE6372B01001D23010009 +:10BDC00010B582B0104B1B689BB10F4A01239468D9 +:10BDD00084B10133DBB20832102BF8D10B4B009346 +:10BDE0000B4B57220B4902200B4CA0474FF0FF3062 +:10BDF00007E00023044A42F8330002EBC30251601B +:10BE000018B202B010BD00BF6C6D002024500200BB +:10BE1000C84F0200F44F02005D2201002DE9F047F7 +:10BE200082B0114C2468ECB19A4691468846074688 +:10BE30000D4E00250094246853464A464146384634 +:10BE4000A047044650B1022808BF012556F8084F04 +:10BE5000002CEFD1002D14BF02240124204602B093 +:10BE6000BDE8F0870124F9E76C6D0020B0F1FF3FD9 +:10BE70000AD0064B53F83010002243F8302003EB71 +:10BE8000C0035A60084670470021FBE76C6D002034 +:10BE900070B40B4B1A1D03F180040026354603E0F5 +:10BEA00008330832A34208D059688142F8D152F8C9 +:10BEB000046C42F8045C5D60F2E7304670BC704789 +:10BEC0006C6D002000231846064902E00133102B58 +:10BED00006D051F83320002AF8D00130C0B2F5E77F +:10BEE000704700BF6C6D00202DE9F04104460F46FD +:10BEF00015469846BDF918602C214A4B9847B54223 +:10BF000005DD2B4635461E463B464746984627816B +:10BF10006581A4F80C80E681237C9DF81C2062F3E7 +:10BF2000010323746782A582A8EB0707751B87EAC4 +:10BF3000E771A1EBE77185EAE573A3EBE57399423D +:10BF4000D4BF0021012194F8282061F3000284F875 +:10BF500028200021E161A161334B2360217112F09F +:10BF6000010F25D03FB14FF4801393FBF7F305FB8E +:10BF700003F39B12E3613DB14FF4801696FBF5F598 +:10BF800007FB05F7BF12A761E3692362237C13F067 +:10BF9000030322D194F828306FF3410384F828304A +:10BFA000236A9A10002BB8BF52426262BDE8F0814A +:10BFB0003DB14FF4801393FBF5F307FB03F39B12A2 +:10BFC000A3613FB14FF4801898FBF7F705FB07F525 +:10BFD000AD12E561A3692362D8E7012B0FD0022BD4 +:10BFE00014D0032BDCD1236A002B94F82830CCBF6B +:10BFF0006FF3410343F0020384F82830D0E794F84C +:10C00000283043F0020384F82830C9E7236A002B64 +:10C0100094F82830CCBF43F002036FF3410384F857 +:10C020002830BDE7372B010021B2000070B4CC8866 +:10C0300001344D88641B8D8801350E88AD1B24B2F8 +:10C040002DB2AC42A8BF2C466410A242C8BF22B297 +:10C05000013900F1100600F1080411F8015F04F83D +:10C06000015BB442F9D10282827C63F300028274E4 +:10C07000054B0360022303714FF00043436100232B +:10C080004383038370BC7047CDB700002DE9F04FA8 +:10C090008BB00690894607924FEA610BCDF808B045 +:10C0A00011F0010F06BF0BF1FF330893CDF820B05C +:10C0B000069C67003846694B98470590002C40F372 +:10C0C000BE80BA1EC1190391079D4FF0000804F10C +:10C0D000FF3A0899AAEB010104910646CDF824B075 +:10C0E0009346CDF8049035F80B3009FB03F3BAF111 +:10C0F000000F1BDB029A02EB0A01049A013A039833 +:10C100004FF0000E20F8023D8C42CCBF35F811C034 +:10C11000F446A3EB0C03002AB4BFB5F800C035F811 +:10C1200012C063440139013AB042EBD13A4631467C +:10C1300028464B4B98473D4408F10108A045D0D113 +:10C14000DDF824B0079A1388019993FBF1F313806B +:10C15000069B03FB03F5012D11D9079A0121019ECE +:10C16000104632F8023F008898421CBF93FBF6F35A +:10C1700013800131A942F3D3069B002B59DD079EA2 +:10C180000296089901FB07726FEA0B035B1A069D82 +:10C1900005FB03F306936B1E05FB03F306EB43035A +:10C1A00007934FF0000A931E089301F10109029BC7 +:10C1B0001E4602331A4602933388019901FB03F3AA +:10C1C00008998D18059AA2F1020CE046B6460022A5 +:10C1D000CDF80CC00496069EDDF81CC0002BACBF49 +:10C1E0009911002128F8021F1146A2EB0B0000282C +:10C1F000D4BFBEF8000035F816001B1A49448C4223 +:10C20000CCBF29883CF81A100B440132BE443D448F +:10C21000A242E3DBDDF80CC0049E00233CF8022FB1 +:10C22000328001333E44A342F8DB0AF1010AA24501 +:10C23000BDDB05980B4B98470BB0BDE8F08FCDF8F0 +:10C240000490079A138893FBF9F9A2F80090069BD3 +:10C2500003FB03F5012D80D8EBE700BF3D2901006A +:10C26000552601007125010010B5044654212D4BBF +:10C2700098472D4B1B88638023796FF30403237148 +:10C28000A3886FF34A13A3801B0A6FF3C70363717C +:10C29000A37B6FF30403A373E3896FF34A13E38172 +:10C2A0001B0A6FF3C703E37394F834306FF304038E +:10C2B00084F83430A38E6FF34A13A3861B0A6FF3FE +:10C2C000C70384F8353094F846306FF3040384F8DC +:10C2D0004630B4F846306FF34A13A4F846301B0AD0 +:10C2E0006FF3C70384F84730A37F6FF30403A3778A +:10C2F000E38B6FF34A13E3831B0A6FF3C703E37700 +:10C30000FF23638123732377237584F83630074A2C +:10C31000226384F84430226484F828300F23638237 +:10C3200010BD00BF372B01007C5002001000002020 +:10C330002DE9F04FB1B0C4884588631C5B1B1BB26C +:10C34000002B41F30F808688B0F80080731CA3EBAC +:10C3500008031BB2002B41F305809246049106901E +:10C36000B2F92070002F00F0198792F82830099355 +:10C37000052B40F21387136A012B00F0F680BAF800 +:10C380002220BAF82630D11A88441FFA88F8ADF86E +:10C3900050801A441644B6B2ADF85460BAF824205E +:10C3A000D11A0D44ADB2ADF8525013441C44A4B29E +:10C3B000ADF8564007EBD7736FEA630292B208EB11 +:10C3C0000201ADF858105B1001339BB2F118ADF8C3 +:10C3D0005C102A44ADF85A202344ADF85E30099B26 +:10C3E000FB2B28BFFF230993BE4B9847BE4B9847B2 +:10C3F0008146049A16A918A8BC4B9847002800F05B +:10C40000CD86B9F81010BDF860305B1AADF8603019 +:10C41000B9F81220BDF862309B1AADF86230BDF851 +:10C4200064305B1AADF86430BDF866309B1AADF825 +:10C430006630069A531ED01D1AAA13F8011F02F87F +:10C44000011B9842F9D1BDF8683001331FFA83FE11 +:10C45000ADF868E0BDF86A10013188B2ADF86A0045 +:10C46000BDF86C305A1EADF86C20BDF86E104A1E37 +:10C47000ADF86E20BAF90020A3EB0E031BB2091A27 +:10C4800009B28B42A8BF0B465B109342A8BF13466C +:10C490000E930136A6EB0806B6B233B20134641B24 +:10C4A000A4B225B29D42A8BF1D466D109542A8BFFB +:10C4B000154607EB050909FB09F040008C4B98472E +:10C4C0000A90BAF920B02AB202EB0B070DF14F0126 +:10C4D00022AB0DF1900E11F8010F03F8010B73451B +:10C4E000F9D10BEBDB71C1F34F014B1E1BF00100C7 +:10C4F00010900CBF012000201B1A2B449BB2ADF8FA +:10C500008C30013189B2ADF88A109B1BADF88830B0 +:10C510002144ADF88E10002322A929A8754CA0470C +:10C52000BBF1010F02F0D8814FEA6B030B93079721 +:10C5300038466F4B98470C90002F5CDD079B4FEA05 +:10C54000430B07F10043013B5B000A9C0025DFF829 +:10C55000B8813AB20892CDF8349005970C9E99466E +:10C56000CDF83CA0DDF82CA014E0B2F92430002B6B +:10C570007FF405AFB2F92630002B3FF700AF00F093 +:10C580000DBE594620465C4B98475C440135059BDF +:10C59000AB422BDD07993046C04729AB0093089B7F +:10C5A0002AB200213046299FB8470028E9D0D64654 +:10C5B00033789B0193FBFAF32380059B012BE4DD89 +:10C5C0003146224604EB09001F468C4611F8013F14 +:10C5D0009CF800C09C450EBF13889B0193FBFEF3A3 +:10C5E000538002329042F0D10597CEE7DDF83490C7 +:10C5F0001F46DDF83CA00C98404B98470B9B012B45 +:10C6000002F04D813CB20A9E32460B9D29462046DF +:10C610003B4B9847109A2A4411B2012922DD0D465E +:10C6200033889B0193FBF1F332463380079800FB7C +:10C6300000F0012812D900F10040013806EB40005B +:10C6400001E082420AD0164632F8023F36889E4206 +:10C65000F7D09B0193FBF5F31380F2E70A9A20468B +:10C66000274B984707FB07F757B10A990B464A1E15 +:10C6700001EB470033F8021B02F8011F8342F9D196 +:10C68000BDF85A20BDF85E3001339B1A1BB203EB94 +:10C69000D37302EB63039BB20F931BB20C93BDF8F1 +:10C6A0005820BDF85C3001339B1A1BB203EBD373E7 +:10C6B00002EB63039BB210931BB20D93114B98478F +:10C6C00020BBBAF92230002B40F0BC81BAF92430EB +:10C6D000002B40F0BA81BAF92630B3FA83F35B0934 +:10C6E000079315E0695F0000DD0F010019150100D7 +:10C6F0003D2901002DC00000372B010071250100EC +:10C700008DC00000C5BE0000ED2B01000023079383 +:10C71000BDF85C000130BDF85830C01A00B2C24B01 +:10C720009847059001230E9A1AA929A8BF4CA04743 +:10C73000002129A8BE4B98470E90BDF95C30ADF89A +:10C7400074301FFA89FB0133A3EB0B03ADF8703093 +:10C75000BDF95A30ADF87230013B5B44ADF876302C +:10C76000049A1CA91EA8B34B9847002872D0BDF9A3 +:10C770007E300C998B42C4BF0B46ADF87E30BDF9BC +:10C7800078300D9A934203DC109B0133ADF878307A +:10C79000BDF97820BDF87C3001339B1A1BB2089399 +:10C7A000002B57DDBDF97E70BDF97A40BDF972509E +:10C7B000651BBDF97030D21A09FB05250A9B1D4483 +:10C7C0000DF1770222AB24A812F8011F03F8011B18 +:10C7D0008342F9D1BDF88A30ADF88E3001373F1B66 +:10C7E0003FB2002F36DD0026DFF85482CDF844B08A +:10C7F000BB46099B0B93089A2946059F38468E4CE9 +:10C80000A04730AC089BBDF98A2034F9381D059744 +:10C8100038468A4FB847012808BF02209AF82930C5 +:10C8200002930B9A01920090059BBAF81E202146B4 +:10C830000498C047BDF88A300133ADF88A30BDF89E +:10C840008E300133ADF88E304D4401365E45D2D185 +:10C85000DDF844B0BDF95C30ADF874300133A3EBC2 +:10C860000B03ADF87030BDF95E20531CA3EB0B0336 +:10C87000ADF87230ADF87620049A1CA91EA86D4B55 +:10C880009847002873D0BDF97A300C9A934203DCA4 +:10C890000F9B0133ADF87A30BDF978300D9A934291 +:10C8A00003DC109B0133ADF87830BDF97820BDF87A +:10C8B0007C3001339B1A1BB20893002B57DDBDF966 +:10C8C0007E40BDF97A60BDF976502D1BBDF9703000 +:10C8D000D21A09FB05250A9B1D440DF1770222ABF4 +:10C8E00024A812F8011F03F8011B8342F9D1BDF8F7 +:10C8F0008E30ADF88A30671CBF1B3FB2002F36DD8B +:10C900000026DFF83C81CDF840B0BB46099B0B9375 +:10C91000089A2946059F3846474CA04730AC089BEB +:10C92000BDF98A2034F9381D05973846434FB8477A +:10C93000012808BF02209AF8293002930B9A01922D +:10C940000090059BBAF81E2021460498C047BDF808 +:10C950008A30013BADF88A30BDF88E30013BADF82E +:10C960008E304D4401365E45D2D1DDF840B0BDF980 +:10C970005C30ADF874300133A3EB0B03ADF87030CD +:10C98000BDF85A305B44ADF87230BDF85E30A3EBB1 +:10C990000B03ADF87630049A1CA91EA8254B9847C6 +:10C9A000002800F08580079B4BB1069BB3F904304B +:10C9B000BDF978209342B8BF1346ADF87830BDF981 +:10C9C0007830BDF87C200132D21A0FFA82F8B8F123 +:10C9D000000F6DDDBDF87E400134BDF87A20A41A49 +:10C9E00024B209F1FF31BDF970209B1A09FB013314 +:10C9F0000A9AD31808930DF1770222AB24A812F8F3 +:10CA0000011F03F8011B8342F9D1BDF88A30ADF84C +:10CA10008E302546002C4BDD0024074FCDF82C909E +:10CA2000A946079D3AE000BF3D2901002DC0000046 +:10CA3000C1BD000019150100552601001DBE0000F2 +:10CA4000517700000023079362E6002307935FE617 +:10CA50004346BDF98A20BDF988100598234EB0479A +:10CA6000012808BF02209AF8293002939AF828304A +:10CA700001930090059BBAF81E2022A904981C4E31 +:10CA8000B047BDF88A300133ADF88A30BDF88E303A +:10CA90000133ADF88E3001344C4507D04246089939 +:10CAA0000598B847002DD3D00220DCE7DDF82C90A4 +:10CAB000B9F1000F1EDD09EBD9777F100A9D002622 +:10CAC0000CE0197812F8010C03F8010B02F8011DB3 +:10CAD000A342F6D14D440136B1450BD0002FF9DD0C +:10CAE0002B4605EB0902EC19EBE700BF1DBE000069 +:10CAF00051770000BDF95830ADF87030013B5B4410 +:10CB0000ADF87430BDF95A30ADF87230013B5B447A +:10CB1000ADF87630049A1CA91EA8AE4B98470028A1 +:10CB200071D0BDF97E300C998B42C4BF0B46ADF875 +:10CB30007E30BDF97C300D998B42C4BF0B46ADF8F9 +:10CB40007C30BDF97820BDF87C3001339B1A1BB2D4 +:10CB50000893002B57DDBDF97E70BDF97A40BDF911 +:10CB60007250651BBDF97030D21A09FB05250A9B6E +:10CB70001D440DF1770222AB24A812F8011F03F81F +:10CB8000011B8342F9D1BDF88A30ADF88E300137F0 +:10CB90003F1B3FB2002F36DD0026DFF84482CDF880 +:10CBA00040B0BB46099B0B93089A2946059F38461F +:10CBB000894CA04730AC089BBDF98A2034F9381D58 +:10CBC00005973846854FB847012808BF02209AF8D4 +:10CBD000293002930B9A01920090059BBAF81E200F +:10CBE00021460498C047BDF88A300133ADF88A3039 +:10CBF000BDF88E300133ADF88E304D4401365E45C0 +:10CC0000D2D1DDF840B0BDF95830ADF87030013BFD +:10CC10005B44ADF87430BDF95E20531CA3EB0B03ED +:10CC2000ADF87230ADF87620049A1CA91EA8694BA5 +:10CC30009847002872D0BDF97A300C9A934203DCF1 +:10CC40000F9B0133ADF87A30BDF97C300D998B42E2 +:10CC5000C4BF0B46ADF87C30BDF97820BDF87C3000 +:10CC600001339B1A1BB20893002B57DDBDF97E40A0 +:10CC7000BDF97A60BDF976502D1BBDF97030D21A1E +:10CC800009FB05250A9B1D440DF1770222AB24A860 +:10CC900012F8011F03F8011B8342F9D1BDF88E3051 +:10CCA000ADF88A30671CBF1B3FB2002F36DD00266F +:10CCB000DFF82C81CDF830B0BB46099B0B93089A66 +:10CCC0002946059F3846444CA04730AC089BBDF927 +:10CCD0008A2034F9381D05973846404FB847012857 +:10CCE00008BF02209AF8293002930B9A0192009013 +:10CCF000059BBAF81E2021460498C047BDF88A302B +:10CD0000013BADF88A30BDF88E30013BADF88E3076 +:10CD10004D4401365E45D2D1DDF830B0BDF9583012 +:10CD2000ADF87030013B5B44ADF87430BDF85A305B +:10CD30005B44ADF87230BDF85E30A3EB0B03ADF889 +:10CD40007630049A1CA91EA8224B9847002879D057 +:10CD5000079B4BB1BDF97C30069AB2F90020934293 +:10CD6000A8BF1346ADF87C30BDF97830BDF87C80A3 +:10CD700008F10108A8EB03080FFA88F8B8F1000FD2 +:10CD800060DDBDF87E400134BDF87A20A41A24B2DB +:10CD900009F1FF31BDF970209B1A09FB01330A9A92 +:10CDA000D31808930DF1770222AB24A812F8011FC3 +:10CDB00003F8011B8342F9D1BDF88A30ADF88E30FB +:10CDC0002546002C3EDD0024034FCDF82C90A946CB +:10CDD000079D2DE019150100552601001DBE00001C +:10CDE000517700004346BDF98A20BDF988100598A7 +:10CDF000AA4EB047012808BF02209AF829300293B2 +:10CE00009AF8283001930090059BBAF81E2022A9B9 +:10CE10000498A34EB047BDF88A300133ADF88A308C +:10CE2000BDF88E300133ADF88E3001344C4507D05B +:10CE3000424608990598B847002DD3D00220DCE778 +:10CE4000DDF82C90BDF858305B44ADF87030BDF87B +:10CE50005C30A3EB0B03ADF87430BDF95A30ADF87C +:10CE60007230013B5B44ADF87630049A1CA91EA8D1 +:10CE70008C4B984700287DD0079B4BB1069BB3F99C +:10CE80000230BDF97E209342A8BF1346ADF87E3034 +:10CE9000BDF87C300133BDF878209B1A1BB2089393 +:10CEA000BDF97A30BDF87E500135ED1A2DB2C84675 +:10CEB000BDF972401C1B09F1FF3309FB04340A9BC6 +:10CEC0001C440DF1770222AB24A812F8011F03F8CD +:10CED000011B8342F9D1BDF88A30ADF88E302B4664 +:10CEE000002D47DD0025704FCDF82C90DDF8249003 +:10CEF000CDF830B09B462AE0B9F1FF0F2AD1494660 +:10CF00002CE0089BBDF98A20BDF988100598634E76 +:10CF1000B047012808BF02209AF829300293FF2366 +:10CF200001930090059BBAF81E2022A904985C4E3C +:10CF3000B047BDF88A300133ADF88A30BDF88E3085 +:10CF40000133ADF88E30444401355D450ED0237871 +:10CF5000FF2BD1D003FB09F3C3F30721089A0598EF +:10CF6000B847079B002BCCD00220D5E7DDF82C90EA +:10CF7000DDF830B0BDF858305B44ADF87030BDF826 +:10CF80005C30A3EB0B03ADF87430BDF95E20531C8D +:10CF9000A3EB0B03ADF87230ADF87620049A1CA910 +:10CFA0001EA8404B9847002800F08280079B4BB199 +:10CFB000069BB3F90630BDF97A209342B8BF1346F9 +:10CFC000ADF87A30BDF87C300133BDF878209B1A7B +:10CFD0001BB20893BDF97E305D1CBDF87A20AD1AF6 +:10CFE0002DB2C846BDF97640E41A09F1FF3309FBBA +:10CFF00004340A9B1C440DF1770222AB24A812F8DA +:10D00000011F03F8011B8342F9D1BDF88E30ADF842 +:10D010008A30A946002D4BDD0025234FCDF82CB0DA +:10D02000DDF824B02AE0BBF1FF0F2AD159462CE0ED +:10D03000089BBDF98A20BDF988100598174EB047A6 +:10D04000012808BF02209AF829300293FF23019398 +:10D050000090059BBAF81E2022A90498104EB047F4 +:10D06000BDF88A30013BADF88A30BDF88E30013B07 +:10D07000ADF88E30444401354D4517D02378FF2B51 +:10D08000D1D003FB0BF3C3F30721089A0598B847E7 +:10D09000079B002BCCD00220D5E700BF1DBE0000AF +:10D0A0005177000019150100812A0100DDF82CB02C +:10D0B000BDF858305B44ADF87030BDF85C30A3EB80 +:10D0C0000B03ADF87430BDF85A305B44ADF87230E4 +:10D0D000BDF85E30A3EB0B0BADF876B0049A1CA93B +:10D0E0001EA8A24B9847002850D0079B002B4DD17B +:10D0F000BDF87C600136BDF87830F61A36B2BDF85E +:10D100007E400134BDF87A30E41A24B20DF1770282 +:10D1100022AB24A812F8011F03F8011B8342F9D1A6 +:10D12000BDF88A30ADF88E30A346002C2EDD0025E8 +:10D13000DFF85492DFF854828D4F32469AF8281067 +:10D140000598C84730AC3346BDF98A2034F9381DFC +:10D150000598C047012808BF02209AF82930029399 +:10D16000FF2301930090059BBAF81E2021460498E6 +:10D17000B847BDF88A300133ADF88A30BDF88E303B +:10D180000133ADF88E3001355D45D6D10E98794B1F +:10D1900098470598784CA0470A98A0479AF80C70D1 +:10D1A000052F42D9069A531ED01D1AAA13F8011F43 +:10D1B00002F8011B9842F9D1BAF91030012B24DD95 +:10D1C0009AF81430F92B20D9BAF90030EBB1BAF83B +:10D1D0001230C3F38002BDF868100A44ADF868202D +:10D1E000C3F34002BDF86A100A44ADF86A20C3F3E5 +:10D1F000C001BDF86C20521AADF86C2003F0010399 +:10D20000BDF86E20D31AADF86E30FB2F28BFFF2774 +:10D210005A4B98475A4B98478046049A1AA91CA81B +:10D22000524B9847002840F0B380DAF82C0020B128 +:10D230009AF83630052B00F2EB839AF81440052C4F +:10D2400015D9BAF9103093B1BAF912307BB1FB2C71 +:10D2500028BFFF24494B9847494B98470546049AF5 +:10D26000069918A8414B9847002840F04685DAF8FF +:10D270003C1021B19AF84430052B01F253809AF802 +:10D280001CB0BBF1050F6DD9BAF91830002B69D06D +:10D29000BBF1FB0F28BF4FF0FF0B3A4B98470990AB +:10D2A000069A531ED01D16AA13F8011F02F8011B7F +:10D2B0008342F9D1BAF81A50BDF858305B1B9BB2C3 +:10D2C0000693ADF85830BDF85A305B1B9BB20793FC +:10D2D000ADF85A30BDF85C602E44B6B2ADF85C6073 +:10D2E000BDF85E301D44ADB2ADF85E50BAF9003005 +:10D2F0000893BAF9183005930DF1570218AB1AA824 +:10D3000012F8011F03F8011B8342F9D1BDF8144044 +:10D31000BDF86090A9EB04091FFA89F30A93ADF8F0 +:10D320006030BDF864702744BFB2ADF86470BDF8DA +:10D330006280A8EB04081FFA88F8ADF86280BDF897 +:10D3400066301C44A4B2ADF866400C4B98470C4BB9 +:10D3500098478146049A18A91AA8044B98470028B0 +:10D3600041F0448031B0BDE8F08F00BF19150100D5 +:10D37000517700006DBE000071250100695F00005B +:10D38000DD0F0100C5BE0000812A01001DBE0000A6 +:10D39000B8F81010BDF870305B1A9AB2ADF8702072 +:10D3A000B8F81200BDF872301B1AADF87230BDF833 +:10D3B00074305B1A9BB2ADF87430BDF87610091A60 +:10D3C000ADF8761001339B1A1BB209930A931846E5 +:10D3D000934B98470590934B984783B20B9343BB6D +:10D3E0009AF80630023B18BF01230793BDF86C5032 +:10D3F0000135BDF86830ED1A2DB22C46BAF900207F +:10D40000BDF86E300133BDF86A609B1B1EB2334617 +:10D41000AE42A8BF2B465E109642A8BF1646079B99 +:10D42000DBB1D6B99AF8063033B14FF0FF330E9323 +:10D4300021E000230793D9E79AF80D300293019772 +:10D44000012300930023BAF802201AA90498764C0D +:10D45000A0474FF0FF330E9376E2002E32DD00231B +:10D4600032461AA929A8DFF8D091C847002129A877 +:10D470006E4B98470E90BAF802B09AF80630022B1D +:10D4800024D000230D93BDF96C20BDF96810531C06 +:10D490005B1A1BB2A3EB4609ADF87810ADF87C20FF +:10D4A000BDF97220B8F8123013441BB2ADF87A30CF +:10D4B000ADF87E301546BDF976309A4200F33782DA +:10D4C0000897FAE04FF0FF330E93D4E7BAF8043030 +:10D4D0009B4500F089806800514B98470D90002DC6 +:10D4E000D1DD4FF00009089606461BE09AF802309D +:10D4F00003F01F03BAF80210C1F345119AF8032094 +:10D50000D208287863F3040028702B8861F34A134B +:10D510002B801B0A62F3C7036B7009F10109023605 +:10D520004C455FD03546BAF9080000FB04F31B12E6 +:10D530000FFA89F18B42D9DABAF90A2002FB04FE0C +:10D54000B1EB2E2F42DA121A04FB02F2A9EB03030D +:10D550001BB2C3EB0323121293FBF2F3DBB2C3F152 +:10D56000FF0E9AF80520D2089AF80310C9080EFB9E +:10D5700001F103FB021202EB022102EBC112C2F322 +:10D58000C452BAF80410C1F34511BAF80200C0F34E +:10D5900045100EFB00F003FB010101EB012001EB44 +:10D5A000C011C1F3C5519AF8040000F01F009AF8A9 +:10D5B00002C00CF01F0C0EFB0CFE03FB00E303EBA0 +:10D5C000032003EBC013C3F3C4539AE79AF8043063 +:10D5D00003F01F03BAF80410C1F345119AF80520AF +:10D5E000D2088EE7089E4EE700230D934BE70A9979 +:10D5F000059F38460E4B9847B8F812202A44B8F8D1 +:10D600001010BDF870301944099B12B209B23846A7 +:10D61000084FB84707469AF80630012B29D17AE01F +:10D620003D290100C5BE000051770000C1BD0000CA +:10D63000ED2B01001DBE00002DC000000A99059FC2 +:10D640003846B64B9847B8F812202A44B8F810105C +:10D65000BDF870301944099B12B209B23846B04F78 +:10D66000B84707469AF80630012B54D0079A002A8B +:10D670003AD1022B00F044810B9B13B9B9F1320F60 +:10D680000BDC9AF80D300293089B01930097059BE1 +:10D690005A461EA90498A34CA047BDF87A3001331E +:10D6A000ADF87A30BDF87E300133ADF87E3001350B +:10D6B000BDF976309D4200F33981B8F912402C440F +:10D6C000BDF96A30334401339C42B7DDBDF96E3099 +:10D6D0009B1B013B9C42B1DA079B002B87D09AF839 +:10D6E0000630012B16D00127B9F1320F00F39380D9 +:10D6F000022B00F00581012BBED19AF80D30029368 +:10D70000089B01930097059B5A461EA90498854CD7 +:10D71000A047C2E70127BAF80220BAF804309A42BB +:10D720006FD0BDF86A10621A93B21A460C93BAF918 +:10D7300008E0BDF86E3001335B1A1BB203FB0EF13B +:10D74000091210B281424BDABAF90AC00CFB03F29B +:10D75000B0EB222F80F2B080ACEB0E0E03FB0EF389 +:10D760000C9A521A12B2C2EB02221B1292FBF3F372 +:10D77000DBB2C3F1FF019AF80520D2089AF8030042 +:10D78000C00801FB00F003FB020202EB022002EBE7 +:10D79000C012C2F3C452BAF80400C0F34510BAF87C +:10D7A00002E0CEF3451E01FB0EFE03FB00E000EBA2 +:10D7B000002E00EBCE10C0F3C5509AF804E00EF036 +:10D7C0001F0E9AF802C00CF01F0C01FB0CF103FBBA +:10D7D0000E1303EB032103EBC113C3F3C4530AE09D +:10D7E0009AF8023003F01F03BAF80200C0F34510A4 +:10D7F0009AF80320D20863F3040B60F34A1B62F328 +:10D80000CF2B079B002B3FF478AFB9F1320FC8BF85 +:10D8100001237FF772AFBDF96A203244013294428E +:10D8200006DBBDF96E20921B013A94427FF760AF90 +:10D83000BDF96830ADF88830B2B20C92013B1344A8 +:10D84000ADF88C30BDF87A30ADF88A30BDF87E3056 +:10D85000ADF88E309AF80D300293089B0193009733 +:10D86000059B5A4622A904982E4CA0479AF80630E8 +:10D87000012B2DD0BDF96C305A1C0C99541AADF8FF +:10D880008840ADF88C309B1B0133B8F91020BDF9EE +:10D8900070100A449B1A9AF80D200292089A01927D +:10D8A0000097059A002BA8BFD21813465A4622A902 +:10D8B00004981C4CA047F0E69AF8043003F01F03CC +:10D8C000BAF80400C0F345109AF80520D20892E790 +:10D8D000BDF868300C9A1344ADF88830BDF86C3050 +:10D8E0009B1AADF88C309AF80D300293089B019387 +:10D8F0000123009300235A4622A90498A047B9E7C0 +:10D900009AF80D300293089B01930097059B0D9A9E +:10D910001EA90498044CA047BFE600BFED2B0100F0 +:10D920001DBE00005177000081820000089F9AF818 +:10D93000063023B90B9B13B9B9F1320F0BDC0D9BE9 +:10D9400013B11846B34B98470E98B34B98470598B8 +:10D95000B04B984769E4B6B2BDF868303344ADF8CF +:10D960007830BDF86C309B1BADF87C30BDF96A3067 +:10D97000ADF87A303344ADF87E309AF80D3002932A +:10D980000197012300930023BAF802201EA90498EE +:10D99000A24CA047BDF96E108A1B12B2ADF87A20D6 +:10D9A000BDF97E309A42DCBF0133ADF87A30ADF874 +:10D9B0007E109AF80D3002930197012500950023FF +:10D9C000BAF802201EA9DDF810804046934CA0470B +:10D9D000BDF86830ADF87830BDF86C30ADF87C300B +:10D9E000BDF86A302B443344ADF87A30BDF86E3060 +:10D9F000013B9E1BADF87E609AF80D3002930197B3 +:10DA000000950023BAF802201EA94046A04796E7D9 +:10DA1000834B98470546012812D9022839D0814BFB +:10DA20000093814B40F2AE5280490220804CA047C7 +:10DA300000231A46049906987E4CA047FFF7FDBBC9 +:10DA400029A9DAF82C007C4B984701280AD07B4B97 +:10DA50000093754B40F2945274490220744CA047D5 +:10DA6000FFF7EBBB299BC3F38A29BDF8A670C7F368 +:10DA70004A171EA8724B98479AF836308DF87830BE +:10DA80009AF837308DF88230BAF83430ADF88430F7 +:10DA900020E022A86B4B9847BAF83430ADF88830B4 +:10DAA000DAF8302023929AF836308DF89030BDF9AC +:10DAB00094300021029147F618410191BDF992106E +:10DAC0000091DAF82C1029A85F4CA047BDF9A4906A +:10DAD000BDF9A6709AF8383013F0010F3FD1069CBB +:10DAE00021886088E2880132121A12B2A3880133B9 +:10DAF0005B1A1BB2A3EB090303EBD37301EB6303C4 +:10DB00009BB2ADF87030D21B02EBD27100EB610119 +:10DB100089B2ADF8721009F1FF399944ADF87490EB +:10DB20007B1E0B449BB2ADF87630022D00F0BD8019 +:10DB3000BAF9002006991CA8444B98474FF0FF34CF +:10DB4000002800F0D4861EABDAF82C2004991CA81B +:10DB5000384DA8472046304B9847FFF76EBB00234F +:10DB6000BAF90020069E314629A8394CA047002169 +:10DB700029A8384B98470790B38801333446328838 +:10DB80009B1A1BB293FBF9F209FB123303EBD3731D +:10DB90004FEA630BB6F9061073884A1CD21A10B20A +:10DBA00090FBF7F207FB120202EBD272A3EB6203C7 +:10DBB0009BB21AB2ADF87220BFB2781E0344ADF822 +:10DBC000763091426CDBDFF890801A4ECDF81490DD +:10DBD000A14652E000230093DAF82C3022AA0499DF +:10DBE0001CA8C047BDF8703023441BB2ADF870309C +:10DBF000BDF874202244ADF87420B9F904209A428B +:10DC00002CDB022DE6D01EABDAF82C2004991CA8E0 +:10DC1000B047E7E7712501006DBE000051770000B5 +:10DC200069990000E050020080500200905002000C +:10DC30005D220100E9960000EDFD0000C0500200E9 +:10DC400045960000CD9900007D4001006D17010050 +:10DC50002DC00000C1BD0000259A0000BDF8723043 +:10DC60003B441BB2ADF87230BDF876203A44ADF8B3 +:10DC70007620B9F906209A4212DBB9F80030A3EBFE +:10DC80000B039BB21AB2ADF87020BDF81440611EB0 +:10DC90000B44ADF87430B9F904309342B1DADDE7E2 +:10DCA00007988A4B9847FFF7C8BA02F0010211445F +:10DCB000ADF872101344ADF87630BAF90020214661 +:10DCC0001CA8834B9847A8B90023BAF900200699ED +:10DCD00029A8804CA047002129A87F4B98470446DB +:10DCE00000230093DAF82C3022AA04991CA87B4D5B +:10DCF000A8472FE74FF0FF34F2E7298ABDF86030DC +:10DD00005B1A9AB2ADF86020688ABDF862301B1ABF +:10DD1000ADF86230BDF864305B1A9BB2ADF8643088 +:10DD2000BDF86610091AADF8661001339B1A1BB2D4 +:10DD30000893099318466A4B98478346694B98475E +:10DD400048B9BAF91280B8F10F0F14BF4FF00008AC +:10DD50004FF0010801E04FF00008BAF90020069EDC +:10DD6000B388013331885B1A19B2F38801337088A4 +:10DD70001B1A1BB28B42A8BF0B465B109342A8BF75 +:10DD800013461A460A93002B40F38880002331463D +:10DD900022A8504EB047002122A84F4B98470E9022 +:10DDA000BAF91060069A531ED01D1AAA13F8011F63 +:10DDB00002F8011B8342F9D1BDF86820BAF812308D +:10DDC00013F0040F6ED0B1B20A44ADF86820BDF86C +:10DDD0006C2013F0080F6AD0B1B2521AADF86C2063 +:10DDE000BDF86A2013F0020F66D0B1B20A44ADF854 +:10DDF0006A20BDF86E2013F0010F62D0B3B2D31ABF +:10DE0000ADF86E30DDF828901FFA89F7BA1B0123B0 +:10DE100012B21AA929A82F4EB047002129A82E4BCB +:10DE200098470F90BAF91030013B4B45B8BF4B46AD +:10DE300019460D93BAF80E30ADF814309AF8156003 +:10DE4000B8F1000F00F0BF81B5F912300698B0F9B3 +:10DE50000220D21A0A44BDF966109142A8BF1146A9 +:10DE60000B910288ADF870208288ADF87420BDF95E +:10DE7000622013441BB2ADF87230ADF87630904694 +:10DE80000B9B9342C0F2B380DFF85C90CDF81CB0DE +:10DE9000B3462646CDF830A0824655E04FF0FF331A +:10DEA0000E937DE70A997118494289B28CE70A9965 +:10DEB0007118494289B290E70A997118494289B2AA +:10DEC00094E70A9BF3185B429BB298E76DBE000093 +:10DED0006D1701002DC00000C1BD0000259A000093 +:10DEE0003D290100C5BE000051770000BAF9043099 +:10DEF0005A1CD21BADF87820ADF87C300A9A9B1AD8 +:10DF00000133B5F91020BDF960100A449B1ACDF811 +:10DF100008B001960094079A002BA8BFD2181346A8 +:10DF2000BDF814201EA90498C847BDF8723001330B +:10DF3000ADF87230BDF876300133ADF8763008F1C7 +:10DF400001080B9B43454CDB0999079C2046C74BB6 +:10DF500098476A8A4244298ABDF860301944089B70 +:10DF600012B209B207942046C14CA0470446BDF83E +:10DF70007230ADF87A30BDF87630ADF87E30BAF94F +:10DF80000030ADF87830013B3B44ADF87C30CDF843 +:10DF900008B001960090079BBDF814201EA90498B4 +:10DFA000C847BDF97E20BAF902300C99B1F91010BA +:10DFB0000B449A429ADABAF800303B44ADF8783014 +:10DFC000BAF80430DB1BADF87C30CDF808B0019610 +:10DFD000012300930023BDF814201EA90498C8470C +:10DFE00084E734465E46DDF81CB0DDF830A0B5F9B4 +:10DFF0001230069AB2F90620D21A0D99521ABDF9BA +:10E0000062809045B8BF90460B994145A8BF01F189 +:10E01000010843441BB2ADF87230ADF87630BDF95B +:10E020006630984500F38D80DFF84892CDF81CB03B +:10E03000B3462646CDF82CA0DDF818A02EE0BAF99C +:10E0400004305A1CD21BADF87820ADF87C300A9A07 +:10E050009B1A0133B5F91020BDF960100A449B1AD0 +:10E06000CDF808B001960094079A002BA8BFD218EB +:10E070001346BDF814201EA90498C847BDF8723095 +:10E080000133ADF87230BDF876300133ADF876303B +:10E0900008F10108BDF9663098454CDC0999079CE8 +:10E0A0002046724B98476A8A4244298ABDF86030FC +:10E0B0001944089B12B209B2079420466C4CA04741 +:10E0C0000446BAF90030ADF87830013B3B44ADF876 +:10E0D0007C30BDF87230ADF87A30BDF87630ADF8EE +:10E0E0007E30CDF808B001960090079BBDF8142053 +:10E0F0001EA90498C847BDF97E20BAF906300B99CD +:10E10000B1F910105B1A9A4299DDBAF800303B441D +:10E11000ADF87830BAF80430DB1BADF87C30CDF8C0 +:10E1200008B00196012300930023BDF814201EA916 +:10E130000498C84783E734465E46DDF81CB0DDF836 +:10E140002CA0BDF8342006994B8801331344ADF858 +:10E150007230CB88013B9B1AADF87630B1F90030B4 +:10E16000ADF87030BAF81020013A1344ADF87430AD +:10E1700002960194012700970023BDF814904A46A7 +:10E180001CA9DDF8108040463A4DA847069BB3F91C +:10E190000420BAF81030FB1A1344ADF87030ADF813 +:10E1A000742002960194009700234A461CA9404619 +:10E1B000A8470F98304CA0470E98A04758462F4BC1 +:10E1C0009847FFF754B8069AB2F90010ADF87010EE +:10E1D000B2F90420ADF87420BDF962006B8A0344E3 +:10E1E0001BB2ADF87230ADF87630BAF91230042BAC +:10E1F00029D0082B44D000228DF84E208DF84F20D6 +:10E20000022B29D101238DF84E309DF84E301BB9D9 +:10E210009DF84F8088F0010808F001088DF85080C3 +:10E220000746BDF966309842C3DCDFF84080DFF86E +:10E2300044900A94CDF81CB0DDF818B0CDF82CA0AD +:10E24000DDF834A04EE00D9A1144ADF874100022B0 +:10E250008DF84E208DF84F20012B16D0032BD4D1F2 +:10E2600001238DF84E308DF84F30CEE7ED2B0100B5 +:10E270001DBE0000517700006DBE00007125010039 +:10E280000D99521AADF87020E1E78DF84F30BCE7D8 +:10E290000999079C2046C0476A8A3A44298ABDF8F2 +:10E2A00060301944089B12B209B207942046984C7A +:10E2B000A04702960A9A01920090079BBDF814208D +:10E2C0001CA90498C847BDF872300133ADF872300C +:10E2D000BDF876300133ADF876300137BDF96630E0 +:10E2E0009F421ADC9DF85030002BD1D19DF84E3062 +:10E2F00033B1BDF97220BBF9023053449A42C7DDF5 +:10E300009DF84F30002BDED0BDF97220BBF90630EE +:10E31000A3EB0A039A42D6DBBAE7DDF81CB0DDF8BE +:10E320002CA046E7BAF94C300024029447F6184274 +:10E330000192BAF94E200092DAF840201CA8754DDF +:10E34000A847ADF88840ADF88A40BDF87030013B71 +:10E35000ADF88C30BDF87230013BADF88E301EAB9D +:10E360009AF8502022A906986B4DA847BDF878204E +:10E37000BAF848301A4492B2BDF888301344ADF868 +:10E380008830BDF87A30BAF84A100B449BB2BDF819 +:10E390008A101944ADF88A10BDF88C100A44ADF803 +:10E3A0008C20BDF88E201344ADF88E3029A85B4B2D +:10E3B0009847DAF840302A93BAF84C30ADF8B030CC +:10E3C000BAF84E30ADF8AE30BAF84630ADF8A430F9 +:10E3D0009AF844308DF8AC300094DAF83C3029AA31 +:10E3E000049922A84E4CA047FEF749BF721C069B19 +:10E3F000D21A12B26B1C07995B1A1BB29A42A8BFC1 +:10E400001A465210089B9A42A8BF1A46059B13440D +:10E4100001370A99791A08B2611CA1EB080109B207 +:10E420008142A8BF014649109942A8BF19460F462C +:10E430000691B9F81000BDF868301B1A99B2ADF812 +:10E440006810B9F81240BDF86A301B1BADF86A308D +:10E45000BDF86C301B1A9BB2ADF86C30BDF86E0085 +:10E46000001BADF86E0001335B1A1BB21E4607930A +:10E47000012316A922A82B4DA847002122A82A4C27 +:10E48000A0470C9000233AB218A929A8A847002158 +:10E4900029A8A0470D9008963046244B98470B902A +:10E4A000BAF91830BAF81620ADF814209AF81D50B1 +:10E4B000099A002A40F0A681013BBB42B8BF3B4607 +:10E4C00019460E93B9F91230BDF96220D21A0A44E6 +:10E4D00011460992BDF86020ADF87020BDF86420A7 +:10E4E000ADF87420BDF96A2013441BB2ADF8723048 +:10E4F000ADF8763016469142C0F29D80DFF830804C +:10E500002B465D46CDF828A082469B463FE000BFE3 +:10E510001DBE00007D40010025180100CD990000BE +:10E52000259A00002DC00000C1BD00003D2901005A +:10E5300051770000BDF964305A1C141BADF87840C7 +:10E54000ADF87C30069A9B1A0133B9F91020BDF959 +:10E5500068100A449B1ACDF808B001950097002B6B +:10E56000ACBF53440AF10003BDF814201EA904985F +:10E57000C047BDF872300133ADF87230BDF8763067 +:10E580000133ADF876300136099BB3424EDB089972 +:10E590005046CC4B9847B9F812203244B9F81010C5 +:10E5A000BDF868301944079B12B209B25046C64CF8 +:10E5B000A0470746BDF87230ADF87A30BDF8763026 +:10E5C000ADF87E30BDF96030ADF87830BDF8184058 +:10E5D000013B2344ADF87C30CDF808B001950090A4 +:10E5E0005346BDF814201EA90498C047BDF97E20EB +:10E5F000BDF962300A99B1F918100B449A4299DAC0 +:10E60000BDF860302344ADF87830BDF864301B1B92 +:10E61000ADF87C30CDF808B00195012300930023BC +:10E62000BDF814201EA90498C04783E75B46AB469B +:10E63000DDF828A01D46B9F91230BDF96660F61A5A +:10E640000E9AB61A09990A46B142A4BF013216467B +:10E6500033441BB2ADF87230ADF87630BDF96E3090 +:10E660009E4200F38C80DFF864822B465D46CDF835 +:10E6700024A0DDF82CA09B462DE0BDF964305A1C87 +:10E68000141BADF87840ADF87C30069A9B1A013324 +:10E69000B9F91020BDF968100A449B1ACDF808B0EA +:10E6A00001950097002BACBF53440AF10003BDF85D +:10E6B00014201EA90498C047BDF872300133ADF88C +:10E6C0007230BDF876300133ADF876300136BDF9E1 +:10E6D0006E309E424EDC089950467A4B9847B9F806 +:10E6E00012203244B9F81010BDF868301944079B65 +:10E6F00012B209B25046744CA0470746BDF96030CB +:10E70000ADF87830BDF81840013B2344ADF87C30BB +:10E71000BDF87230ADF87A30BDF87630ADF87E30A5 +:10E72000CDF808B0019500905346BDF814201EA9FD +:10E730000498C047BDF97E20BDF966300999B1F94A +:10E7400018105B1A9A4298DDBDF860302344ADF88A +:10E750007830BDF864301B1BADF87C30CDF808B0C4 +:10E760000195012300930023BDF814201EA90498ED +:10E77000C04782E75B46AB46DDF824A01D46BDF8E6 +:10E780003830BDF8622001321A44ADF87220BDF86D +:10E790006620013AD31AADF87630BDF96030ADF895 +:10E7A0007030013BBAF818201344ADF8743002956C +:10E7B000CDF804B0012600960023BDF8148042462F +:10E7C0001CA9049F3846414CA047BDF96420931909 +:10E7D000BAF818105B1AADF87030ADF874200295D5 +:10E7E000CDF804B00096002342461CA93846A04745 +:10E7F0000C98374CA0470D98A0470B98354B98477D +:10E80000FEF7B0BDBDF86030ADF87030BDF86430D3 +:10E81000ADF87430BDF96A20B9F8123013441BB258 +:10E82000ADF87230ADF876301446BDF96E309A42CC +:10E83000DEDCDFF89080244F244EDDF82CA02B4640 +:10E840005D469B4608995046C047B9F812202244BD +:10E85000B9F81010BDF868301944079B12B209B21C +:10E860005046B847CDF808B0019500905346BDF822 +:10E8700014201CA90498B047BDF872300133ADF8DC +:10E880007230BDF876300133ADF876300134BDF921 +:10E890006E309C42D6DDABE70C980E4B984707FBD9 +:10E8A00007F7002F3DF4ECAE0A980246411E00EB3C +:10E8B000470032F8023B9B0901F8013F9042F8D132 +:10E8C000FDF7DEBEED2B01001DBE000051770000FC +:10E8D0006DBE000071250100079738460B4B984725 +:10E8E0000C90002FD8DD01230B93FDF727BE0023EA +:10E8F000BAF90020069929A8054CA047002129A8AB +:10E90000044B98470446FFF71EB900BF3D2901009C +:10E910002DC00000C1BD0000F0B583B09DF80440DB +:10E920006FF304048DF80440BDF804406FF34A14FB +:10E93000ADF80440240A6FF3C7048DF805408668DB +:10E94000047804F01F04251FEDB2022D0ED9072C08 +:10E9500028D0082C3BD0092C50D00A2C66D00B3C78 +:10E96000E4B2032C98BFADF8043017E014460F460C +:10E970000546007800F01F00324B98472B68C3F320 +:10E980008A2304FB0372C0F3C70000FB02F2B31832 +:10E99000B25C8DF804205B788DF80530BDF804007A +:10E9A00003B0F0BD01F00703C3F107040368C3F32C +:10E9B0008A230733DB1002FB036606EBE1010B7AC7 +:10E9C0000122A24013402341ADF80430E6E701F0F4 +:10E9D00003046400C4F106040368C3F38A23033309 +:10E9E0009B1002FB036606EBA1010B7C0322A240F5 +:10E9F000134043FA04F4ADF80440CFE701F00104FA +:10EA0000A400C4F104040368C3F38A2301335B1038 +:10EA100002FB036606EB610191F840300F22A24031 +:10EA2000134043FA04F4ADF80440B7E70368C3F3B6 +:10EA30008A23314402FB031191F80034ADF804300D +:10EA4000ACE700BF81960000F0B585B004460D46E6 +:10EA500017468668037803F01F03052B0AD00B2B9B +:10EA600012D00C2B27D00D2B49D00E2B64D0FF20B9 +:10EA700005B0F0BD0268C2F38A2207FB021505EB60 +:10EA800045053544A878F3E701F00703C3F1070112 +:10EA90000268C2F38A220732D210ED1007FB02622D +:10EAA000535D01228A4013400B4113F0FF0F0CBF4E +:10EAB000FF200020DCE700238DF8003055238DF87F +:10EAC0000130AA238DF80230FF238DF8033001F0C6 +:10EAD00003035B00C3F106010268C2F38A2203321A +:10EAE0009210AD1007FB0262535D03228A4013406F +:10EAF0000B4104AA52FA83F313F8100CB8E7124B37 +:10EB00000FCB0DF1100E0EE90F0005F001039B0075 +:10EB1000C3F104012268C2F38A22013252106D103F +:10EB200007FB0262535D0F228A4013400B415EFADD +:10EB300083F313F8100C9BE70268C2F38A2207FBE9 +:10EB40000262505C94E700BF0C5102002DE9F84FBF +:10EB50000446B0F908301B024362B0F90A301B02C8 +:10EB60008362B0F90C00DFF8F48088FB0023C5173E +:10EB7000C5EBA3052DB26FF0090707FB05071FFAC8 +:10EB800085FACAF1000000B2DFF8D490C847064603 +:10EB90000135ADB2684200B2C8478346CAF15A0097 +:10EBA00000B2C8478246C5F15A0528B2C847C7F126 +:10EBB0000A0307FB0BFB03FB06B688FB062BF617C5 +:10EBC000C6EBAB06E66207FB00F003FB0A0088FB1E +:10EBD0000038C017C0EBA8002063A07C1D4B9847ED +:10EBE00094F8343060F3000384F83430A07C1A4B7E +:10EBF000984794F8343060F3410384F83430A27CB1 +:10EC0000131FDBB2022B94F8343094BF43F004039B +:10EC10006FF3820384F8343023682362237E03F089 +:10EC20001F0362F304032376A369A28862F394238B +:10EC3000A3611B0CE28862F34F136383E2894FF4F4 +:10EC4000803393FBF2F3E386FF23A375238AA38229 +:10EC5000BDE8F88FB3960000C79600006766666649 +:10EC6000A52201002DE9F04F87B003900491059291 +:10EC7000BDF840400194DDF844B05E4F87FB03606F +:10EC8000DD17C5EBA0052DB205F101096FF00906EE +:10EC900006FB05362846DFF86081C04704460FFAB8 +:10ECA00089F0C047824605F15A0000B2C0470546C8 +:10ECB00009F15A0000B2C047C6F10A0306FB0AFA7E +:10ECC00003FB04A487FB04EAE417C4EBAA0406FBD5 +:10ECD00000F003FB050587FB0537ED17C5EBA7071C +:10ECE000BBF900C0BBF90280CCF10003019D05FB1C +:10ECF00003F343F30F2303FB07FAC8F1000205FBFC +:10ED000002F242F30F2202FB04FE1FFA8CF6AAEB7A +:10ED10000E0B06EBEB3B0FFA8BFB03FB04F302FB42 +:10ED200007F21FFA88F0991800EBE13109B202915D +:10ED30000499A1EB0C0C05FB0CFC4CF30F2C0CFB09 +:10ED400007F9A9EB0E0E06EBEE3E0FFA8EFE0CFB5A +:10ED500004FC624400EBE23212B20599A1EB080810 +:10ED600005FB08F848F30F2808FB04F4AAEB040598 +:10ED700006EBE5352DB208FB07F73B4400EBE33328 +:10ED80001BB2A9EB040406EBE43636B2BC4400EB3C +:10ED9000EC3000B25C46F345A8BF7446AC42A8BF55 +:10EDA0002C46B442A8BF344603990F460C80DE457A +:10EDB000B8BFDE467545B8BF7546AE42B8BF2E46F1 +:10EDC0008E8002990C469142A8BF14469C42A8BF6F +:10EDD0001C468442A8BF04467C809142B8BF1146BD +:10EDE0008B42B8BF0B469842B8BF1846F88007B0B0 +:10EDF000BDE8F08F67666666A52201002DE9F04F39 +:10EE000089B00446B0F93850EAB2B0F93A60F3B2CA +:10EE10006F2A74DCB0F93C104942C917803DEDB24D +:10EE20006F2B7EDCB4F93EB0CBF1000B4FEAEB7BED +:10EE3000803EF6B294F8149009F01F09B4F81480DB +:10EE4000C8F34518677DFF08A37D009394F834C08C +:10EE50001CF0040F7BD02368206C94F844E00EFB78 +:10EE600001015A1813F801A08DF81CA052788DF8F2 +:10EE70001D20B4F904200EFB02F20BFB02FB5844E8 +:10EE80001A1813F800A08DF818A052788DF81920E0 +:10EE900001EB0B0203EB020A13F802B08DF814B079 +:10EEA0009AF801A08DF815A01CF0020F00F08180E7 +:10EEB0000EF1FF3E734413F801B013F800A0985C04 +:10EEC000C5F1FF0303FB0BF1009A05FB021103FBE5 +:10EED00000F305FB0A33C3F30723C6F1FF02C1F3B6 +:10EEE000072106FB01FE02FB03E21212A2750529AF +:10EEF00000F2DC80052B40F27D810026D9E0902ACB +:10EF00000CDDB0F93C100131B0F904209142ACBFE6 +:10EF100000210121C5F17F05EDB281E7FF25002128 +:10EF20007EE7902B0FDDB4F93EB00BF1010BB4F985 +:10EF300006209345ACBF4FF0000B4FF0010BC6F11C +:10EF40007F06F6B276E7FF264FF0000B72E704F17A +:10EF5000180318468BB2A18F02931944238AB4F97F +:10EF60003E2009B20190DFF894A2D047ADF81C0012 +:10EF70001FFA8BF1E28F03910A44238A12B2B4F98B +:10EF80003C10DDF804B05846D047ADF81800E28FC9 +:10EF900003990A44A18F029B1944238A12B209B231 +:10EFA0005846D047ADF8140094F8343013F0020FEF +:10EFB00052D1FF23A3752B46002B40F08B809DF888 +:10EFC0001C9009F01F09BDF81C80C8F345189DF876 +:10EFD0001D70FF08002D40F0AC809DF8145005F026 +:10EFE0001F05BDF81430C3F345139DF81510C9086B +:10EFF000002E00F0E380FF2E00F0EE80C6F1FF024D +:10F0000002FB05F506FB095505EB052905EBC915BE +:10F01000ED0D207D65F30400207502FB03F306FB74 +:10F02000083808EB082308EBC3184FEAD858A38A1E +:10F0300068F34A13A38202FB01F106FB071606EBF5 +:10F04000062706EBC716F60D1B0A66F3C7036375A2 +:10F05000012009B0BDE8F08FA18F029B1944B4F9DB +:10F060003E2009B2DDF804A05046634B9847834622 +:10F07000E28F03990A4412B2B4F93C10CDF804A00F +:10F0800050465D4B98478246E28F03990A44A18F10 +:10F09000029B194412B209B20198574B984794F851 +:10F0A000343013F0020F7FF40BAF82E7052B98BFCB +:10F0B000FF26009B052B8CBF2B460023BBF1050FC1 +:10F0C00098BFFF23BAF1050F98BF0025052898BF08 +:10F0D000FF2571E7FF2B3FF47DAFC3F1FF019DF8E2 +:10F0E0001D20D20803FB07F701FB027707EB07227D +:10F0F00007EBC217C7F3C457BDF81C20C2F3451273 +:10F1000003FB08F801FB028808EB082208EBC21891 +:10F11000C8F3C5589DF81C2002F01F0203FB09F933 +:10F1200001FB029909EB092309EBC319C9F3C4597F +:10F1300050E7FF2D36D0C5F1FF009DF81910C90822 +:10F140009DF81530DB0800FB03F305FB013101EBF3 +:10F15000012301EBC311C1F3C451BDF81830C3F34F +:10F160004513BDF81420C2F3451200FB02F205FB63 +:10F17000032303EB032203EBC213C3F3C5539DF830 +:10F18000182002F01F029DF814E00EF01F0E00FB85 +:10F190000EF005FB020505EB052205EBC215C5F3D4 +:10F1A000C45525E79DF8185005F01F05BDF8183027 +:10F1B000C3F345139DF81910C90819E7227D65F3BB +:10F1C00004022275A28A63F34A12A282120A61F330 +:10F1D000C702627501203CE7237D69F304032375B0 +:10F1E000A38A68F34A13A3821B0A67F3C7036375F4 +:10F1F00001202EE700202CE749EA000019E9000071 +:10F200002DE9F04F83B088465D4B1988E1B1074680 +:10F210005C4B1E683346013989B2013101EBC101F3 +:10F2200006EB810158481A6A8242A4BF02F1FF32FC +:10F230001A6224338B42F6D10024DFF88091DFF884 +:10F2400080B1DFF83CA111E0504B0093504B4422B9 +:10F2500050490220504CA047002525E0012827D026 +:10F260000134A4B2BAF80030A3422AD904EBC40591 +:10F2700006EB85056868C8470028EFD16B68BB427C +:10F28000EED128891FFA88F3984214BF002001208C +:10F290000028E5D02B6A6A691344B3F57A7F0EDD46 +:10F2A0004FF47A732B6265B1284603B0BDE8F08F46 +:10F2B00039466868D847B0FA80F04009E8E72B6221 +:10F2C000F1E72F4B1A88012A37D906F12403023AB5 +:10F2D00092B202EBC20206EB820248323546186A4D +:10F2E000296A8842B8BF1D4624339342F7D16B6820 +:10F2F0002BB32846294B9847294B0093244B772260 +:10F3000024490120244CA047264B9847044600235B +:10F310006B61424639462846234B9847C0B10023CB +:10F320002B626B69002BBFD12046204B9847686148 +:10F330000028B9D101236B61B6E73546D7E71C4BEE +:10F340000093134B7A2213490120134CA047DBE7AB +:10F35000184B00930E4B83220E4902200E4CA047FF +:10F3600028460E4B984720212846134CA0472421BD +:10F370002846A0474FF000432B62002594E700BFCA +:10F38000582B0020586D0020020000809051020090 +:10F3900034510200605102005D22010035FF00007F +:10F3A000B85102005910010049FE0000711001001F +:10F3B000EC51020020520200372B01006999000035 +:10F3C000FBB401002DE9F047144B1F68144B1B8858 +:10F3D0000BB306460024DFF84C90DFF84CA0DFF8B2 +:10F3E00040800EE00BB12846D04720212846C84770 +:10F3F00024212846C8470134A4B2B8F80030A342FB +:10F4000009D904EBC40507EB85056B68B342E9D065 +:10F41000002EF0D1E6E7BDE8F08700BF586D002070 +:10F42000582B0020372B010035FF00002DE9F0415B +:10F4300082B00446214B1B6833B10020204B984713 +:10F440001E4B18681F4B984704EBC40080001E4BEE +:10F4500098471A4B18601D4B9847E8B1174B1B682B +:10F4600043B31B4B1C80A4B10024144F194E984683 +:10F4700004EBC405AD00386820212844B047386843 +:10F4800024212844B0470134A4B2B8F80030A34284 +:10F49000EED802B0BDE8F0810F4B0093A8220F49CF +:10F4A00003200F4CA047054B1A6800230D480E4956 +:10F4B0008847FEE70022064B1A80EAE7586D0020D5 +:10F4C000C5F30000C5240100DD230100B1220000C6 +:10F4D000582B0020372B01004851020060510200D8 +:10F4E0005D220100D83F0200B922000030B587B08C +:10F4F0000C4615460846334B9847D8B92378C3F3D2 +:10F500000403043BDBB20A2B59D82368C3F38A23D4 +:10F510002A6863F394222A606388C3F34A136A88D3 +:10F5200063F34F126A8022782B7862F304032B7006 +:10F5300001200DE001280DD0022832D0224B00938B +:10F54000224B4FF49A7222490220224CA0470020FD +:10F5500007B030BD0222214604A81F4B984738B19E +:10F560002B781C3303F01F030A2B18D80120EFE778 +:10F5700003AB0422294604A8184CA047044604A85B +:10F58000174B984714B9039B042BE9D0154B0093F4 +:10F590000E4B40F221120E4902200E4CA0470020D3 +:10F5A000D6E72B68012060F394232B601A0C60F3DC +:10F5B0004F126A800B2262F304032B70C8E700200D +:10F5C000C6E700BF699900006C5302004C5202006C +:10F5D000185302005D2201004D1D0100BD1C0100F9 +:10F5E0008D1C01004853020038B5CC69A4B10D460A +:10F5F000206820B1094B98472068094B98476068FC +:10F6000008B1074B9847A06808B1054B98472046BA +:10F61000034B98470023EB6138BD00BF8D1C0100F0 +:10F62000C52401002DE9F04385B005460C468B7AD0 +:10F63000012B16D0002B40F0AA814B689B68002B51 +:10F6400000F0A381087B00F01F00031FDBB2022B38 +:10F6500000F2858063689B682361012005B0BDE8E6 +:10F66000F0834868964B98479649974B98470028EF +:10F670002AD10222616802A8944B9847D8B9E3695D +:10F6800023B3E6690820924B98473060914B984726 +:10F69000002840D03368002B4BD18F4B00938F4B09 +:10F6A00040F25F128E4903208E4EB0472146284615 +:10F6B0008D4B984708E08D4B0093884B4FF4A67212 +:10F6C00087490220874CA0470020C7E70C20804BC9 +:10F6D0009847E0617F4B984768B9804B009340F2B0 +:10F6E00053127F4903207F4DA847E26900238048D9 +:10F6F00080498847FEE7E06948B9774B0093774B2C +:10F7000040F2551276490320764CA047DCE70C21E5 +:10F71000794B9847B5E7714B009340F25D12704901 +:10F720000320704CA0473268002371487149884714 +:10F73000FEE70DF1070203F1080112F8010F03F8CB +:10F74000010B8B42F9D1207B00F01F00031FDBB2BD +:10F75000022B04D8A37A002B3FF47CAF1FE1C31F18 +:10F76000DBB2032B09D9A0F10B03DBB2032B00F2B0 +:10F77000FD8000232361012070E7604B9847074616 +:10F78000E369BBB1E6690220B840514B984770600D +:10F79000504B9847002837D1504B009340F29712B6 +:10F7A0004F4903204F4CA0477268002350485149ED +:10F7B0008847FEE70C20464B9847E061454B984749 +:10F7C00068B9464B00934FF4C67245490320454D36 +:10F7D000A847E2690023464846498847FEE7E069B2 +:10F7E00070B93D4B00933D4B4FF4C7723C49032029 +:10F7F0003C4EB047214628463B4B984700202DE71A +:10F800000C213D4B9847BDE7012303FA07F7384623 +:10F810002F4B9847B0602F4B9847002832D0736821 +:10F82000002B3DD0B368002B3AD0A37A012B67D0D0 +:10F8300063689A68002F00F095800023706800EBE1 +:10F84000430C92F801E04FEA9E0E9578ED0811788E +:10F85000C90810F8138061F3040800F8138030F829 +:10F8600013106EF34A1120F81310090A65F3C7014B +:10F870008CF80110D078B168C854013304329F422B +:10F88000DCD16FE0154B009340F29912144903202C +:10F89000144CA047B2680023154816498847FEE774 +:10F8A0000D4B00930D4B40F29B120D4903200D4E62 +:10F8B000B047214628460C4B98470020CEE600BFB3 +:10F8C000211E010094530200FBB401004D1D0100F4 +:10F8D000DD230100B1220000C45302006C5202007B +:10F8E000185302005D220100E9F500009853020060 +:10F8F000D83F0200B9220000372B0100819600009A +:10F9000004213068284B984767B30025A946DFF8E3 +:10F91000B0804B46042202A93068C047726802EBEF +:10F92000450E9DF8090080089DF80A10C9089DF849 +:10F930000830DB0812F815C063F3040C02F815C098 +:10F9400032F8153060F34A1322F815301B0A61F3C0 +:10F95000C7038EF801309DF80B20B3685A55013566 +:10F96000AF42D6D100232361012077E62146284605 +:10F970000E4B98470E4B00930E4B40F2D3120E499C +:10F9800002200E4CA047002068E6002066E6087BB7 +:10F9900000F01F00031FDBB2022B3FF6E0AE002396 +:10F9A000236101205AE600BFF91C0100E9F50000BF +:10F9B000F05302006C520200185302005D22010055 +:10F9C000BD1C01002DE9F04F8BB00D4614469A4640 +:10F9D000BDF950600B7B03F01F031A1FD2B2022A3D +:10F9E00045D88B7A012B03D000200BB0BDE8F08FF7 +:10F9F000D1F81C80087B00F01F009E4B98470746FB +:10FA0000E968C1F38A210AFB014100FB01F1C91039 +:10FA10000431D8F80000984B9847D8B9C7F3C70706 +:10FA200006FB07F60AAB002243F8102D3246159963 +:10FA3000D8F80000914CA047069B9E4215D0904BF1 +:10FA40000093904B40F235228F4902208F4CA04703 +:10FA50000020CAE78E4B00938A4B40F22E228A493F +:10FA600002208A4CA0470020BFE70120BDE7A3F198 +:10FA70000B02D2B2032A0FD9073BDBB2032B40F2B1 +:10FA8000DF80844B0093844B4FF4FE727E4902204A +:10FA90007E4CA0470020A8E700228DF81020FF230D +:10FAA0008DF811308DF8142055228DF81520AA22DA +:10FAB0008DF816208DF81730784B0FCB0AAF07E979 +:10FAC0000F002989002E0CDD080A159B721E92B2C8 +:10FAD000013202EB42021A441970587003339A4201 +:10FAE000FAD1287B00F01F00624B9847804601271F +:10FAF0008740013FBFB22B7B03F01F030B3B032B5F +:10FB000000F28380DFE803F0024C6176EB68C3F318 +:10FB10008A23DA1013F0070F0CBF0FFA82FB02F1F1 +:10FB2000010BE3100AFB0B3AE44304F007040DF168 +:10FB30001009EB6903935846594B98470290AB7AEA +:10FB4000002B6BD16B689B689A44002E23DD159ABD +:10FB5000711E89B2013101EB41011144C8F1080065 +:10FB600040B29AF8003007FA04F6334023412E7B66 +:10FB700006F01F060E2EDBB218BF19F80330937083 +:10FB8000A4EB080464B2002CBCBF04460AF1010ACD +:10FB900003328A42E5D10298424B9847012024E77C +:10FBA000EB68C3F38A239A1013F0030F0CBF0FFA0C +:10FBB00082FB02F1010BA3100AFB0B3AE44304F0B1 +:10FBC000030464000DF11409B3E7EB68C3F38A235F +:10FBD0005A1013F0010F0CBF0FFA82FB02F1010B58 +:10FBE00063100AFB0B3A14F0010F13D000240DF13F +:10FBF00018099EE7EB68C3F38A239AB20FFA83FBD6 +:10FC00000AFB024A0024A14693E70024A246A34629 +:10FC1000A1468EE704240DF118098AE70AF10401D0 +:10FC2000039B1868144B984700235A46DDF808B028 +:10FC3000594603980068DFF844A0D047DA4684E7C5 +:10FC4000087B00F01F000B4B984781464FF00108DE +:10FC500008FA00F808F1FF381FFA88F82B7B03F048 +:10FC60001F03073B032B00F2A580DFE803F01D68AC +:10FC70007E9600BF81960000F91C0100BD1C0100AA +:10FC8000405402008C520200185302005D22010011 +:10FC90001C54020064540200C4520200B452020018 +:10FCA0003D29010071250100EB68C3F38A234FEA67 +:10FCB000E30B13F0070F0CBF0FFA8BFB0BF1010BDB +:10FCC000E3100AFB0B3A0AF1080AE44304F00704C4 +:10FCD000EF695846414B98470290AB7A002B6ED1A2 +:10FCE0006B689B689A44002E24DD159A711E89B2B8 +:10FCF000013101EB41011144C9F108056DB29AF8D7 +:10FD0000003008FA04F003402341DBB2786830F891 +:10FD100013001070000A5070B868C35C9370A4EBB5 +:10FD2000090464B2002CBCBF2C460AF1010A03325C +:10FD30008A42E4D102982A4B9847012055E6EB68A5 +:10FD4000C3F38A234FEAA30B13F0030F0CBF0FFA80 +:10FD50008BFB0BF1010BA3100AFB0B3A0AF1100A03 +:10FD6000E44304F003046400B2E7EB68C3F38A23BE +:10FD70004FEA630B13F0010F0CBF0FFA8BFB0BF173 +:10FD8000010B63100AFB0B3A0AF1400A04F001046C +:10FD9000002C0CBF042400249AE7EB68C3F38A2BE1 +:10FDA0001FFA8BF30FFA8BFB0AFB034A0AF5806AF2 +:10FDB00000248DE74FF0000A5446D34688E70AF145 +:10FDC00004013868074B984700235A46DDF808A01D +:10FDD00051463868044DA84785E700BF3D2901001A +:10FDE00071250100F91C0100BD1C01002DE9F0473F +:10FDF00081460E460B786FF347130B700F48104B7C +:10FE00009847C8B104464FF0000ADFF830800D4F24 +:10FE100005E0554621464046B847044648B12368A8 +:10FE2000002BF6D032464946204698470546012821 +:10FE3000F0D12846BDE8F0870025FAE7A46C002041 +:10FE4000A91F0100BD1F01002DE9F0478246884629 +:10FE500002810846264B98478AF80A000023CAF810 +:10FE60001C3001280DD0CAF804802248224B984744 +:10FE70000446002836D000250AF10C091D4F1F4EFC +:10FE800010E040461E4B984701301E4B9847CAF879 +:10FE9000040041461C4B9847E7E721463846B047E7 +:10FEA0000446D8B12368002BF7D06268002AF4D04A +:10FEB0004A4641462046984705460128EDD1002391 +:10FEC000CAF81830CAF81030CAF8004063685146C2 +:10FED0002046984705460128DFD100E01DB128469D +:10FEE000BDE8F087002520215046084B9847F6E7EB +:10FEF00069990000A46C0020A91F0100BD1F01002A +:10FF00001FB50100DD2301000FB50100372B0100F3 +:10FF100070B582B00668B46854B11D4613460A46EF +:10FF200001460698019000953046A04702B070BD8A +:10FF30000020FBE7036883B110B50446DA6812B10C +:10FF4000014618469047A37A012B00D010BD606887 +:10FF5000024B984700236360F8E77047C52401000F +:10FF600030B583B00D480E4B984704460D4B98476B +:10FF700038B11CB1102120460B4B9847204603B0E6 +:10FF800030BD0A4B0093C92209490320094DA847F7 +:10FF900022460023084809498847FEE7A46C002050 +:10FFA000111F0100B1220000372B0100E8520200AE +:10FFB000185302005D220100D83F0200B922000060 +:10FFC00010B582B010211448144B9847144B984731 +:10FFD00048B1144A0260144A4260144A8260144ACA +:10FFE000C26002B010BD134B0093134B472213495C +:10FFF0000220134CA0470020124B98470028F0D154 :020000021000EC -:100000008A4B40F22E228A4902208A4CA0470020C7 -:10001000BFE70120BDE7A3F10B02D2B2032A0FD93B -:10002000073BDBB2032B40F2DF80844B0093844B11 -:100030004FF4FE727E4902207E4CA0470020A8E7C4 -:1000400000228DF81020FF238DF811308DF8142038 -:1000500055228DF81520AA228DF816208DF817301C -:10006000784B0FCB0AAF07E90F002989002E0CDD72 -:10007000080A159B721E92B2013202EB42021A4428 -:100080001970587003339A42FAD1287B00F01F0090 -:10009000624B9847804601278740013FBFB22B7BC8 -:1000A00003F01F030B3B032B00F28380DFE803F018 -:1000B000024C6176EB68C3F38A23DA1013F0070F62 -:1000C0000CBF0FFA82FB02F1010BE3100AFB0B3AA3 -:1000D000E44304F007040DF11009EB69039358465B -:1000E000594B98470290AB7A002B6BD16B689B6899 -:1000F0009A44002E23DD159A711E89B2013101EB5D -:1001000041011144C8F1080040B29AF8003007FAE2 -:1001100004F6334023412E7B06F01F060E2EDBB281 -:1001200018BF19F803309370A4EB080464B2002CD4 -:10013000BCBF04460AF1010A03328A42E5D10298A3 -:10014000424B9847012024E7EB68C3F38A239A10B7 -:1001500013F0030F0CBF0FFA82FB02F1010BA31087 -:100160000AFB0B3AE44304F0030464000DF11409A4 -:10017000B3E7EB68C3F38A235A1013F0010F0CBFE7 -:100180000FFA82FB02F1010B63100AFB0B3A14F029 -:10019000010F13D000240DF118099EE7EB68C3F39B -:1001A0008A239AB20FFA83FB0AFB024A0024A14673 -:1001B00093E70024A246A346A1468EE704240DF14E -:1001C00018098AE70AF10401039B1868144B984741 -:1001D00000235A46DDF808B0594603980068DFF856 -:1001E00044A0D047DA4684E7087B00F01F000B4BA1 -:1001F000984781464FF0010808FA00F808F1FF38E7 -:100200001FFA88F82B7B03F01F03073B032B00F238 -:10021000A580DFE803F01D687E9600BF299C0000E2 -:10022000A12201006522010024C9010070C701005C -:10023000FCC701000528010000C9010048C90100F0 -:10024000A8C7010098C70100E52E0100192B010085 -:10025000EB68C3F38A234FEAE30B13F0070F0CBFDD -:100260000FFA8BFB0BF1010BE3100AFB0B3A0AF1BF -:10027000080AE44304F00704EF695846414B9847E5 -:100280000290AB7A002B6ED16B689B689A44002E6B -:1002900024DD159A711E89B2013101EB410111442F -:1002A000C9F108056DB29AF8003008FA04F003406D -:1002B0002341DBB2786830F813001070000A5070E8 -:1002C000B868C35C9370A4EB090464B2002CBCBF93 -:1002D0002C460AF1010A03328A42E4D102982A4BE1 -:1002E0009847012055E6EB68C3F38A234FEAA30B36 -:1002F00013F0030F0CBF0FFA8BFB0BF1010BA310D4 -:100300000AFB0B3A0AF1100AE44304F00304640008 -:10031000B2E7EB68C3F38A234FEA630B13F0010FD4 -:100320000CBF0FFA8BFB0BF1010B63100AFB0B3AAE -:100330000AF1400A04F00104002C0CBF042400243C -:100340009AE7EB68C3F38A2B1FFA8BF30FFA8BFB48 -:100350000AFB034A0AF5806A00248DE74FF0000A81 -:100360005446D34688E70AF104013868074B98479A -:1003700000235A46DDF808A051463868044DA847C6 -:1003800085E700BFE52E0100192B0100A122010025 -:10039000652201002DE9F04781460E460B786FF388 -:1003A00047130B700F48104B9847C8B104464FF0E5 -:1003B000000ADFF830800D4F05E0554621464046E3 -:1003C000B847044648B12368002BF6D03246494668 -:1003D0002046984705460128F0D12846BDE8F08719 -:1003E0000025FAE7C06C00205125010065250100B9 -:1003F0002DE9F0478246884602810846264B9847F9 -:100400008AF80A000023CAF81C3001280DD0CAF867 -:1004100004802248224B98470446002836D0002505 -:100420000AF10C091D4F1F4E10E040461E4B984725 -:1004300001301E4B9847CAF8040041461C4B9847B0 -:10044000E7E721463846B0470446D8B12368002B79 -:10045000F7D06268002AF4D04A46414620469847C1 -:1004600005460128EDD10023CAF81830CAF810302B -:10047000CAF800406368514620469847054601285F -:10048000DFD100E01DB12846BDE8F087002520211E -:100490005046084B9847F6E7119F0000C06C0020BB -:1004A00051250100652501004FAF0100852901009C -:1004B0003FAF0100DF30010070B582B00668B4685C -:1004C00054B11D4613460A46014606980190009510 -:1004D0003046A04702B070BD0020FBE7036883B13F -:1004E00010B50446DA6812B1014618469047A37A5F -:1004F000012B00D010BD6068024B98470023636059 -:10050000F8E770476D2A010030B583B00D480E4BF7 -:10051000984704460D4B984738B11CB1102120462E -:100520000B4B9847204603B030BD0A4B0093C922BD -:1005300009490320094DA8472246002308480949D4 -:100540008847FEE7C06C0020B92401008D29000017 -:10055000DF300100CCC70100FCC701000528010005 -:10056000BCB401009529000010B582B010211448D8 -:10057000144B9847144B984748B1144A0260144AE8 -:100580004260144A8260144AC26002B010BD134B2C -:100590000093134B472213490220134CA04700201D -:1005A000124B98470028F0D10D4B009348220D497B -:1005B0000320A047002200230D480E498847FEE78C -:1005C000C06C0020A12401000905010095FA00007B -:1005D000CDFB00006DFF000091FB000084C901000D -:1005E000E4C70100FCC70100052801008D290000B7 -:1005F000BCB401009529000008B54368984708BDC0 -:1006000010B50468A04710BD10B584B013460A4663 -:1006100001A9044CA04718B1BDF8040004B010BDF6 -:100620000020FBE70106010003780A78934211BF1E -:10063000981A40784B78C01A704703880A8893420A -:1006400011BF981A40884B88C01A704700880B88E1 -:10065000C01A70470B4600296CD0F0B585B004690C -:10066000A269914215D0678AC7F30907002F5DD0B0 -:10067000A16808681A1A0392888882420BD800265B -:100680001D468B7CE3B9C8881044A561E06105B0C4 -:10069000F0BDE069FBE700250135ADB2BD4245DAAA -:1006A00005EB85008200164601EB020E51F8202072 -:1006B0009A1A0392BEF804008242EDD87146DFE731 -:1006C000012B05D0022B08D0032B18D00020DCE72B -:1006D000CB689B5CC8881844D7E70A8A8968164BA0 -:1006E0000093022303A8154FB8470346D0B1A26870 -:1006F0001644B068181AF38803EB5000C5E70A8A5D -:1007000089680D4B0093022303A80C4FB84758B1DA -:10071000A2681644B268831A5B08F268D35CF0885A -:100720001844B2E70020B0E70020AEE7A361002044 -:10073000E061ACE7084670474D0601002D47010017 -:100740002DE9F04F9FB00929056908BF2021A04B72 -:100750009847002800F0EA8480466F6807EBC006DF -:100760002B7D13F0030F0BD1002E00F0E28457F81D -:100770003030C3F31303286818441FB0BDE8F08F6E -:100780003379747904FB03F4002C00F0D584EB7CFE -:10079000C3F38303013B032B05D8DFE803F00275A5 -:1007A000787B0734E4088B4B18688B4B984784425E -:1007B00011D9DFF820922146D9F80000874B9847DD -:1007C000C9F80000864B9847002866D0814B1B680B -:1007D000002B00F0B48457F83810C1F313012B68D4 -:1007E00019447C4BD3F8009033790C939B461AB292 -:1007F0001746189272791592EA7CC2F38302D3B23B -:100800000F93032B14BF184604200890714B5960B6 -:100810001A7200225A72DA601A745A745846714C6D -:10082000A04716905846A0471790002F00F051821D -:10083000684B197C03915C7C5F68DD6893F808A0C5 -:10084000012202FA0AF2511ED046CAF108060A969F -:10085000CAF11006099693F809C0169800F1FF3EF8 -:100860000BF1FF339BB20D9300EB030B7646002395 -:10087000059307931A460AF1FF3A01230493CBB27A -:100880000B930692614634E00334A4088BE70134ED -:10089000640888E70134640885E7534B00937222AB -:1008A00052490320524CA047D9F800200023514858 -:1008B00051498847FEE70320EB0805F0070202EBE9 -:1008C000080CBCF1070F35D817F803C00A9B9A1A19 -:1008D0004CFA02F3034015B1039A934238D04544D1 -:1008E000039301220498069006F8013F5E4500F04C -:1008F0004E81A1BBBAF1070F18D801A353F82AF013 -:1009000031090100B7080100210901002509010092 -:100910002D0901002D0901002D09010029090100FF -:100920000720C9E70F20C7E7FF20C5E70B98C3E7FB -:100930000120C1E717F803C03B445B7803EB0C23AD -:100940001FFA83FC099B9A1A4CFA02F30340C2E790 -:10095000012205920024049A07921146BFE701295B -:1009600004D0022900F0CD800023BDE7EB0805F09C -:10097000070202F1010CBCF1070F13D8FB5CD24354 -:100980000832134103F001030134E4B26A1CB3B925 -:10099000BAF1070F00F2A580DFE80AF0A5849D9F59 -:1009A000A3A3A3A117F803C03B445B7803EB0C237C -:1009B0009BB2D2431032134103F00103E4E70B2C46 -:1009C0001CD01546039B01220592049A8CE700BFB8 -:1009D000550601005C2B0020F92A0100412E010080 -:1009E0008D290000E52E0100A8C90100C4C901003D -:1009F00005280100BCB4010095290000D30802F0CD -:100A00000702911D072913D8FC5CC2F1020244FAC7 -:100A100002F202F03F040735002C40F0AD80BAF13D -:100A2000070F26D8DFE80AF027101F2125252523E8 -:100A3000F95C3B445C7804EB0124A4B2C2F10A02E5 -:100A4000144104F03F04E6E70320EA0805F0070339 -:100A500003EB0801072910D8BA5C0A99CB1A42FAAD -:100A600003F3034014E00720EFE70F20EDE7FF203A -:100A7000EBE70B98E9E70120E7E7B95C3A445278E5 -:100A800002EB012292B20999CB1A42FA03F3034016 -:100A900045440393012205920498024607900021E1 -:100AA000069021E70320D10802F0070303EB0805B5 -:100AB000072D1AD8795C0A9DEB1A41FA03F303401B -:100AC00002EB080503930122059204980246079061 -:100AD0000021069008E70720E5E70F20E3E7FF2065 -:100AE000E1E70B98DFE70120DDE77D5C39444978D9 -:100AF00001EB052189B2099DEB1A41FA03F303408A -:100B0000DEE7013C14F0FF043DD1BAF1070F23D812 -:100B1000DFE80AF024041C1E222222200320EA0817 -:100B200005F0070303EB0801072919D8BA5C0A99F5 -:100B3000CB1A42FA03F30340454403930122059282 -:100B400004980246079000210690CDE60720E6E7CC -:100B50000F20E4E7FF20E2E70B98E0E70120DEE763 -:100B6000B95C3A44527802EB012292B20999CB1A4D -:100B700042FA03F30340DFE7039B01220592049A44 -:100B800007920221B0E6039B01200590ACE606988F -:100B90008C46C8B90AB19F4BDD60079B13B19D4BD2 -:100BA00083F809C0059B0BB19A4B5C7400200F9B26 -:100BB000039304274FF00F0C4FF00D084FF00B0A72 -:100BC0004FF0090B049728E0924B9DF80C10197414 -:100BD000E0E707293DD8DFE801F004272A2D30336C -:100BE00036393D46002100F00702C2F10802521BCF -:100BF000C0F3CF044FF0FF33AB4063F0FF039340EB -:100C000019F804502B4001FA02F2134309F804309A -:100C1000089A13461044B6451DD01EF8011F0F9BBD -:100C2000032BD6D0039DDEE73D460221DBE73D46A0 -:100C30000499D8E73D460621D5E73D465946D2E717 -:100C40003D465146CFE73D464146CCE73D466146ED -:100C5000C9E73D46C7E70D9A02FB03330E93159B88 -:100C6000012B40F355826B4BD3F804801A7A10465F -:100C70001992012202FA00F10139C9B21B91014611 -:100C80008246587C0790C1F108010B91CAF110010E -:100C90000D91197C0391D3F80CC093F809B0089911 -:100CA00012910C9B013B9BB201FB03F11A910021B5 -:100CB0000A910C91069108911092179AD3181C93DF -:100CC000012304930F9A099204221D92059366460C -:100CD000F5E100230E93C2E74FF003090CE04FF05B -:100CE000070909E04FF00F0906E0E14604E0DDF8EE -:100CF000449001E0DDF81090F30806F0070202EBE3 -:100D00000A0BBBF1070F31D818F803300B9DAA1A54 -:100D100043FA02F202EA09095FFA89F916B1039B64 -:100D20004B4533D05644CDF80C90049B0693059B5D -:100D3000089304F8019FA04200F05D8169BB079B06 -:100D40001A46072AD3D801A353F822F0F50C010064 -:100D5000D90C0100DF0C0100E50C0100EF0C0100D3 -:100D6000EF0C0100EF0C0100EB0C010018F803B0D0 -:100D700043445B7803EB0B239BB20D9DAA1A43FA05 -:100D800002F202EA09025FFA82F9C7E7049B0A93BA -:100D90007746059B0C931946C4E7012904D0022924 -:100DA00000F0D780F146C4E7F30806F0070202F12D -:100DB0000109B9F1070F15D818F80330D2430832EA -:100DC000134103F001037A1CD7B2721CBBB9079B15 -:100DD0001946072900F28E80DFE801F08E848688AC -:100DE0008C8C8C8A18F8039043445B7803EB0923BE -:100DF0009BB2D2431032134103F00103E3E70B2F00 -:100E00000AD01646DDF80C90049B0A93059B0693C6 -:100E10008FE700BF5C2B0020D30802F00702911D72 -:100E2000072915D818F80330C2F1020243FA02F27A -:100E300002F03F070736002F40F0CF80079B1A468D -:100E4000072A39D8DFE802F03B1230333838383619 -:100E500018F8031043445B7803EB01239BB2C2F103 -:100E60000A0243FA02F202F03F07E3E74FF00309F8 -:100E7000F30806F0070202EB0A01072922D818F846 -:100E800003300B998A1A43FA02F202EA09025FFA66 -:100E900082F95644CDF80C90049B0A93059B0C9361 -:100EA00071460693089344E74FF00709E0E74FF0D7 -:100EB0000F09DDE7E146DBE7DDF84490D8E7DDF830 -:100EC0001090D5E718F8031043445B7803EB012337 -:100ED0009BB20D998A1A43FA02F202EA09025FFAFA -:100EE00082F9D6E7032608E0072606E00F2604E08D -:100EF000664602E0119E00E0049ED30802F007015E -:100F000001EB0A09B9F1070F14D818F803300B9D4B -:100F1000691A43FA01F131405FFA81F902EB0A06DE -:100F2000CDF80C90049B0A93059B0C937146069395 -:100F30000893FEE618F8039043445B7803EB09231B -:100F40009BB20D9D691A43FA01F131405FFA81F9B4 -:100F5000E4E77B1E13F0FF0748D1079B1A46072AD8 -:100F60000DD8DFE802F00E0406080C0C0C0A032171 -:100F700008E0072106E00F2104E0614602E0119934 -:100F800000E00499F30806F0070202EB0A09B9F140 -:100F9000070F13D818F803300B9DAA1A43FA02F270 -:100FA0000A405FFA82F95644CDF80C90049B0A93EC -:100FB000059B0C93714606930893BAE618F80390C4 -:100FC00043445B7803EB09239BB20D9DAA1A43FAB5 -:100FD00002F20A405FFA82F9E5E7DDF80C90049B23 -:100FE0000A93059B0C9302210693A2E6DDF80C9070 -:100FF000049B0A939DE6DDF84C900797149F169B7F -:1010000003F1FF3E0E9DDDF83CC011961391DDF813 -:1010100048B021E0072A40D8DFE802F0042A2D304A -:101020003336393C0423002205F00701C1F10801E1 -:10103000C91AC5F3CF00012606FA03F35B4263F039 -:10104000FF038B4019F8006033408A40134309F8CE -:1010500000305D44BC4222D017F8012F9EF80130C9 -:101060005A400EF8012FBCF1030FD3D0099BDBE7E8 -:1010700004230222D8E704231D9AD5E7042306227D -:10108000D2E704230922CFE704230B22CCE7042371 -:101090000D22C9E704230F22C6E70423C4E7119EEB -:1010A000DDF84CB01A9B129A13440E9A1A440E9211 -:1010B000109B01331BB21093159A9A4215D0189BBE -:1010C000002BF5D0179B5F1E3C464FF0000E199B7E -:1010D0005D1E1B9B11934FF0FF0CCDF84C905946B1 -:1010E0001497079F07951C9828E6B446089BC3B938 -:1010F000069B13B1134BC3F80CC00C9B13B1114BDF -:1011000083F809B00A9B1BB10E4B9DF81C205A7442 -:1011100016980D4CA0471798A0470A4B1868FFF780 -:101120002CBB084B9DF80C201A74E1E70020FFF758 -:1011300024BB0020FFF721BB0020FFF71EBB0020CF -:10114000FFF71BBB5C2B0020192B01002DE9F0479A -:1011500084B007460C469946092A06BF012520227D -:10116000002506691146494B98478046002800F043 -:101170008680F368002B7CD049463846434B98471D -:10118000034618BB0023706800EBC800328A03FBDB -:1011900002F31B114288C2F30B1205B1520008334F -:1011A00013441B0923804379A3800279628090F95C -:1011B0000630E38090F907302381F37CC3F3830387 -:1011C000A372002D60D05200628059E03A69D17C50 -:1011D00011F0400F3CD1D768FA7A12F0030203D025 -:1011E000012A1BD00023CEE7D7F8009008EB00239C -:1011F00004A820F8043DBA68254B0093022322F08E -:101200007F424946DFF890A0D04728B1A0EB090300 -:101210005B087A68D356B6E70023B4E7D7F80090A6 -:1012200008EB002304A840F8043DBA68194B00936A -:10123000042322F07F424946DFF85CA0D04728B162 -:10124000A0EB09031B097A68D3569CE700239AE7B1 -:10125000D1684A6812F808206AB18868C35C63B133 -:10126000013A487B09680B4400FB023212F9013C49 -:1012700089E7002387E7002385E7002383E700252C -:10128000284604B0BDE8F0870125F9E755060100BE -:10129000290601003B0601002D47010008B5044B5B -:1012A000186820B1034B98470022014B1A6008BD13 -:1012B0005C2B00206D2A010010B504462C21154B33 -:1012C00098470023E3604FF4F07222804FF4887255 -:1012D00062806360227A63F34102227294F82820CC -:1012E00063F3040284F82820228D42F4FC622285F4 -:1012F000120A63F3C70284F829202289822161F34C -:101300008B02228142F001022272236263626361D6 -:1013100010BD00BFDF300100F8B504460D4617468A -:101320001E462421034B984725606760A560E66050 -:10133000F8BD00BFDF300100F0B583B005463F487F -:101340003F4B98470446002854D04FF4B8713D4BAA -:1013500098472C22294620463B4B98474C2104F1C4 -:1013600030003A4B98470023C4F86C31384B1B6867 -:10137000002B50D0364B1F681C60234603221E21D1 -:101380003448354DA847E062344B9847002845D093 -:10139000E36A002B4FD0B4F868316FF30903A4F867 -:1013A00068310025C4F86C51294628462C4EB047B8 -:1013B000E06329462846B047206429462846B047BE -:1013C00060642946206C274EB0472946606CB047C0 -:1013D0002946206C244EB0472946606CB047E06B2C -:1013E000224B98471A4B1F60E06A214B98472046D2 -:1013F00003B0F0BD194B98470028F8D11D4B00935E -:101400007C221D4903201D4CA047002200231C48BC -:101410001C498847FEE70E4B1C60ABE7154B009359 -:101420008D2215490320154DA847E26A0023144870 -:1014300014498847FEE70024D9E700BFB46C0020B8 -:10144000B9240100DF300100FD2B0100A1240100BF -:10145000702B00201D6500008D3F01008D290000CC -:10146000AD4400002542000029300000A9390000E9 -:10147000FD3F0100A0060200B80602000528010099 -:10148000BCB4010095290000014B1868704700BFEB -:10149000702B0020034640B11A7A12F0020F0CBFE5 -:1014A000B3F90000B3F902007047034B1B68002B2F -:1014B000F2D14FF4F0707047702B0020034640B11A -:1014C0001A7A12F0020F0CBFB3F90200B3F9000050 -:1014D0007047034B1B68002BF2D14FF488707047A4 -:1014E000702B0020034618B11889C0F3890070479B -:1014F000024B1B68002BF7D182207047702B002015 -:1015000038B50546A0B128460F4B984704462846F3 -:101510000E4B984704EB84046400B4FBF0F01D28E4 -:101520000DD931280DD9462834BF0220032038BDFB -:10153000074B1D684FF4F074002DE8D0E3E700205E -:1015400038BD012038BD00BF95140100E51401002D -:10155000702B00204268002393614268D36170477A -:1015600008B520B101460448044B984708BD02481D -:10157000034B984708BD00BFB46C002065250100EF -:10158000512501004068704743681A6822B15868C5 -:10159000003018BF012070470020704710B5044686 -:1015A000084B9847034658B1B4F90020B4F902300B -:1015B00003FB02F36268D268934214BF0023012345 -:1015C000184610BD8915010008B520B10146044830 -:1015D000044B984708BD0248034B984708BD00BF1D -:1015E000A86C00206525010051250100034B002255 -:1015F0001A705A6810445860704700BF742B00205E -:10160000044B4FF0010119701A78002AFBD0014BEE -:1016100058687047742B002010B50446014B98475A -:10162000001B10BD011601000A6A486A82421ABFF7 -:10163000800290FBF2F04FF480608A69CB699B1ABC -:1016400000FB03F002EBA02000B2704708B50122B6 -:10165000084B1A700848094B984728B10421054BDC -:101660005868074B984708BD0021024B5868044B47 -:10167000984708BD7C2B0020786D00205125010083 -:10168000013F01002DE9F04391B06348634B984757 -:1016900068B10146604D624C91F83C306FF34103F4 -:1016A00081F83C302846A04701460028F4D15D4B24 -:1016B00098685D4B984780465748584B9847044672 -:1016C000002800F08980574D4FF00007524EDFF898 -:1016D0004C911CE013EB080300F18580A268002AFE -:1016E00000F08880204690471EE0214604F110005B -:1016F0004E4B984728E0626A236A9A422BDA2B788D -:10170000002B71D03046C8470446002C64D02F709F -:1017100094F83C3013F0020F66D143F0020384F8D2 -:101720003C30636A002BD5DD636A43446362002B5F -:10173000E5DB226A9A42B8BF62622369002BD4D0EB -:10174000214604F1100098476368002BD3D001B202 -:1017500020689847CFE794F83C3013F0010308D194 -:10176000A28E002A48D04FF6FF718A424BD0013A30 -:10177000A286A28ECAB1226B52426262E26A002A3B -:10178000BDD0002B3BD083F0010394F83C1063F3F1 -:10179000000184F83C10A369E069A061E36111F0E5 -:1017A000010F08BFA26B2262A9E7E26A02B133B35C -:1017B0004022214668461E4B9847214630461D4B25 -:1017C000984720461C4B98471C4B9847039B002B7F -:1017D00095D06846984792E7194B9847114B986007 -:1017E00011B0BDE8F0836362214630460C4B984748 -:1017F00004468AE763629CE7E26A002AD8D0A16ABD -:1018000049426162BFE7226B52426262E26A002A89 -:101810003FF475AFF3E700BF786D0020512501005C -:10182000652501007C2B00201916010029160100F6 -:10183000FD2B01003D2601006D2A01004D1601001F -:101840000116010038B5402109480A4B98470A4B58 -:1018500098470A4CA060002304221E210848094D25 -:10186000A8476060084B98470023237038BD00BF2D -:10187000786D0020A1240100011601007C2B0020BE -:10188000851601008D3F01004D16010010B504467C -:1018900040210D4B98474FF4FA7323620023A36154 -:1018A0006423E361094B1A7822745A7862749A7837 -:1018B000A274DB78E3740123A38694F8363043F0F6 -:1018C000010384F8363010BDDF300100E406020069 -:1018D0002DE9F84F074689461548164B984710B32F -:1018E00004464FF0000ADFF84880134EDFF854B08A -:1018F0000BE021464046D8472046104B9847104BF6 -:1019000098474FF0010A2C467DB121464046B0472A -:1019100005462368BB42F6D163684B45E9D0B9F16F -:10192000000FF0D1E5E74FF0000A5046BDE8F88F10 -:10193000786D002051250100652501006D2A010008 -:101940004D1601003D26010030B583B005464168C3 -:1019500011B100681B4B98471B481C4B9847F0B9C6 -:1019600019481B4B984704461A4B9847E8B1A4B155 -:101970002B6AAB63402229462046174B984794F8C0 -:10198000363013F0010F06D0636823B1206810B120 -:10199000B4F918109847114B984703B030BD104B5D -:1019A000984701380F4B9860DAE70F4B00936A2293 -:1019B0000E4903200E4DA847224600230D480E492C -:1019C0008847FEE7D1180100786D0020ED2701005F -:1019D000B92401008D290000FD2B01004D160100E6 -:1019E000011601007C2B0020EC060200FC06020020 -:1019F00005280100BCB4010095290000F8B5044693 -:101A00000F460A480A4B9847014660B1074E094DF8 -:101A100003E03046A847014628B10B68A342F8D13D -:101A20004B68BB42F5D10846F8BD00BF786D002079 -:101A30005125010065250100891A0029B8BF4942D6 -:101A40004FF47A7202FB01F292FBF0F04FF6FF7254 -:101A5000904228BF1046002808BF012080B270477E -:101A600030B4B0F90050B0F904305B1B03EBD37312 -:101A70005B109CB20A88521B121B49884088081AC6 -:101A8000001B13FB03F310FB00F012FB0202934256 -:101A9000B4BF0020012030BC70470139438819448D -:101AA000C1807047B0F90420B0F90030D21AB0F903 -:101AB0000630B0F90200181A013002FB000070472E -:101AC00070B4B2F90050B1F900309D42B8BF1D4664 -:101AD0000580B2F90230B1F90240A342B8BF2346F3 -:101AE0004380B2F90440B1F90460B442A8BF34465F -:101AF0008480B2F90620B1F906108A42A8BF0A46CE -:101B0000C280A54205DC9342CCBF0020012070BCFE -:101B100070470020FBE710B4B2F90030B1F9004083 -:101B2000A342A8BF23460380B2F90230B1F90240B4 -:101B3000A342A8BF23464380B2F90430B1F9044060 -:101B4000A342B8BF23468380B2F90630B1F906201C -:101B50009342B8BF1346C3805DF8044B7047000042 -:101B60002DE9F04F85B0B1F90050B0F900E07545AE -:101B7000C0F29D80B0F90480454500F39C80B1F926 -:101B80000230B0F902A05345C0F29780B0F90600C8 -:101B90000190834200F39380002A40F392808C46A8 -:101BA0001FFA88F91FFA8EF687B21FFA8AF5ADF888 -:101BB00008E009F101039B1B1BB203EBD3747B1CF0 -:101BC0005B1B1BB203EBD37164104B10A342A8BF85 -:101BD00023469342A8BF13469CB22644B6B2ADF842 -:101BE0000C60ADF80AA02544ADB20FFA85FBADF844 -:101BF0000EB00022CDF800C0614602A8FFF7B0FF8A -:101C000050B12644ADF80C602C44ADF80E4000995C -:101C100002A82E4B98474BE03F1BBFB2ADF80A70AD -:101C2000BDF80430ADF80E300022009902A8FFF78D -:101C300097FF50B12644ADF80C603C1BADF80A404C -:101C4000009902A8214B984732E0A9EB04091FFA3A -:101C500089F9ADF80890ADF80C800022009E31465D -:101C600002A8FFF77DFF58B1A9EB0409ADF8089071 -:101C70003C1BADF80A40314602A8144B984717E0C8 -:101C8000ADF80AA0ADF80EB00022009E314602A8C1 -:101C9000FFF766FFB8B1A9EB0409ADF808902C4432 -:101CA000ADF80E40314602A8084B984700E00020EE -:101CB00005B0BDE8F08F0020FAE70020F8E700202B -:101CC000F6E70120F4E70120F2E700BF611A010006 -:101CD000B0F90020B1F904309A4214DCB0F90420C4 -:101CE000B1F900309A4210DBB0F90220B1F90630A8 -:101CF0009A420CDCB0F90600B1F902309842B4BF48 -:101D0000002001207047002070470020704700200D -:101D1000704700002DE9F04182B0B0F90050B1F9F0 -:101D20000030AB4214DCB0F90240B1F902309C4201 -:101D300014DBB0F90440B1F904309C4210DCB0F976 -:101D40000630B1F90640A342CCBF0023012300E0D6 -:101D500000233AB9184602B0BDE8F0810023F8E745 -:101D60000023F6E717460C460646ADF804504388B4 -:101D7000ADF8063001A92046134B984703460028CA -:101D8000E8D0B6F9048002A921F8048D3A4620462D -:101D90000D4B984703460028DCD0ADF80450F3887B -:101DA000ADF806303A4601A92046074B984703464E -:101DB0000028CFD002A921F8048D3A462046024BD4 -:101DC00098470346C6E700BF611B010030B4142AE0 -:101DD0003AD8DFE812F01500430047005C006700C6 -:101DE00072008D009E00B300CE00D600EE00FC0015 -:101DF00004011C012A0132014A01580160017801E5 -:101E0000828801320488121B12B202EBD2748A88D3 -:101E100001320D88521B12B202EBD2725210C2EB89 -:101E200064021A80C28801324488121B12B202EB8B -:101E3000D274CA8801324988521A12B202EBD272A5 -:101E40005210C2EB64025A801A8801880A441A8030 -:101E50005A8841880A445A8030BC704700221A8050 -:101E60005A80F1E7828801320488121B12B202EB19 -:101E7000D2748A8801320988521A12B202EBD272E5 -:101E80005210C2EB64021A8000225A80DCE782887A -:101E90008C88121B0488121B09880A441A800022AD -:101EA0005A80D1E700221A80C288CC88121B44884D -:101EB000121B49880A445A80C6E782880132048886 -:101EC000121B12B202EBD2748A8801320D88521BA7 -:101ED00012B202EBD2725210C2EB64021A80C288B4 -:101EE000CC88121B4488121B49880A445A80ABE7ED -:101EF00082888C88121B0488121B0C8822441A804A -:101F0000C288CC88121B4488121B49880A445A8014 -:101F10009AE700221A80C28801324488121B12B24A -:101F200002EBD274CA8801324988521A12B202EB0B -:101F3000D2725210C2EB64025A8085E782888C8884 -:101F4000121B0488121B0C8822441A80C28801329A -:101F50004488121B12B202EBD274CA88013249883B -:101F6000521A12B202EBD2725210C2EB64025A80C1 -:101F70006AE700221A80CA884988521AD2435A80D6 -:101F800062E7828801320488121B12B202EBD2741B -:101F90008A8801320D88521B12B202EBD2725210A3 -:101FA000C2EB64021A80CA884988521AD2435A8006 -:101FB0004AE782888C88121B0488121B0C882244F2 -:101FC0001A80CA884988521AD2435A803CE70022B4 -:101FD0001A80C28801324188521A5A8034E78288B6 -:101FE00001320488121B12B202EBD2748A880132C9 -:101FF0000988521A12B202EBD2725210C2EB64027A -:102000001A80C28801324188521A5A801CE782889D -:102010008C88121B0488121B09880A441A80C28803 -:1020200001324188521A5A800EE78A880988521A6A -:10203000D2431A8000225A8006E78A880C88121B35 -:10204000D2431A80C28801324488121B12B202EBBA -:10205000D274CA8801324988521A12B202EBD27283 -:102060005210C2EB64025A80EEE68A880C88121B7A -:10207000D2431A80C288CC88121B4488121B49881C -:102080000A445A80E0E6828801320188521A1A8096 -:1020900000225A80D8E6828801320488121B1A80F6 -:1020A000C28801324488121B12B202EBD274CA8871 -:1020B00001324988521A12B202EBD2725210C2EBAC -:1020C00064025A80C0E6828801320488121B1A809A -:1020D000C288CC88121B4488121B49880A445A8043 -:1020E000B2E630B48DB210F0030F1CBF20F8021B13 -:1020F00002F1FF3205EB0541102A21D900F120033E -:10210000144643F8201C43F81C1C43F8181C43F8E1 -:10211000141C43F8101C43F80C1C43F8081C43F82B -:10212000041C103C2033102CEBD8A2F111031B0926 -:10213000591C103AC3EB037302EB031200EB41107E -:102140001AB120F8025B013AFBD130BC704730B4C1 -:10215000C1EB4115C1F1FF04C0F3C42304FB0353D9 -:1021600003EB032203EBC213C3F3C452C0F34513C2 -:10217000C1EB811104FB031101EB012301EBC3113E -:10218000C1F3C55100F01F0004FB005000EB002319 -:1021900000EBC310C30D4FF0000063F3040061F3C4 -:1021A0004A1062F3CF2030BC704710B4C1F1FF0178 -:1021B000C0F3C42301FB03F303EB032203EBC213BD -:1021C000C3F3C453C0F3451201FB02F202EB022435 -:1021D00002EBC412C2F3C55200F01F0001FB00F174 -:1021E00001EB012001EBC011C90D4FF0000061F3BC -:1021F000040062F34A1063F3CF205DF8044B70478C -:10220000421C43781BB908E012F8013F2BB13A2B6E -:10221000FAD05C2BF8D02F2BF6D010467047000078 -:1022200008B544210148024B984708BD4C6D002079 -:10223000A124010038B5436873B11A6972B104462C -:1022400001681846904705462068054B98470023CB -:1022500023606360284638BD0B25FBE70925F9E7B5 -:102260006D2A0100F0B585B01E460BB10023336026 -:1022700045688DB1AF698FB113460A46044604A87C -:10228000002140F8041D216800902846B8470EB18F -:10229000039B336005B0F0BD0B20FBE70920F9E795 -:1022A00038B5446834B1256A35B10A46016820461C -:1022B000A84738BD0B2038BD092038BD70B504468D -:1022C00009480A4B9847014658B10378A34208D001 -:1022D000054E074D3046A847014610B10B78A34282 -:1022E000F8D1084670BD00BF4C6D0020512501009B -:1022F000652501002DE9F04383B0002343600360AE -:10230000002945D00D46914604460878244B98474D -:10231000606040B1836853B1984740B9002363605F -:102320002360012535E000232360032531E0636845 -:1023300058881C4B984720601B4B984728B126684B -:1023400086B9002363600A2523E0184B00936F22AF -:1023500017490320174DA84722680023164817493C -:102360008847FEE7D4F80480D8F80C70AFB128464F -:10237000134B98474B46024631464046B847054600 -:1023800038B120680F4B984700232360636000E05A -:102390000B25284603B0BDE8F0830925F9E700BF07 -:1023A000BD220100852901008D2900003C070200A3 -:1023B0005807020005280100BCB40100952900005F -:1023C000012201006D2A010010B50446124B984706 -:1023D000C8B102462118235C2E2B0FD02F2B14D00E -:1023E0005C2B14D0013A0CD011F8013D2E2B05D0F6 -:1023F0002F2B0ED05C2BF5D1084810BD0132A01850 -:1024000010BD064810BD054810BD044810BD034866 -:1024100010BD024810BD00BF4FAF0100E8C301006E -:1024200010B582B0019281B10C4682B103680433C9 -:10243000CA189DF80410E1549DF8053053709DF8BA -:10244000063093709DF80730D37002B010BD00685D -:10245000043004212044014B9847F6E7DF300100A7 -:1024600000B583B0019281B10A46019B83B1016836 -:1024700053189DF8040050549DF805205A709DF89B -:1024800006209A709DF80720DA7003B05DF804FB0F -:10249000006804211044014B9847F6E7DF30010043 -:1024A00000234360836011F0030F1CBF21F0030180 -:1024B000043101607047000038B5044600680830F8 -:1024C0000D4B9847054690B10022014620460B4B24 -:1024D0009847626829462046094B9847616819B1B8 -:1024E0002A462046054B98476560A3680BB12846ED -:1024F00038BDA560FBE700BF85290100612401000C -:102500002124010038B50446006808300D4B984777 -:10251000054690B10022014620460B4B9847A26821 -:1025200029462046094B9847A16819B12A462046FA -:10253000054B9847A56063680BB1284638BD6560B8 -:10254000FBE700BF8529010021240100612401006F -:1025500008B1406870470020704708B18068704734 -:102560000020704782B00023019370B103680433E8 -:10257000CA18CB5C8DF8043053788DF80530937809 -:102580008DF80630D3788DF80730019802B0704787 -:1025900082B00023019368B102688B188A5C8DF8C1 -:1025A00004205A788DF805209A788DF80620DB787B -:1025B0008DF80730019802B07047000060B32DE934 -:1025C000F041044651B30D464368994220D000685B -:1025D0000830154B9847064618B329462046134B3A -:1025E00098478046324601462046114FB84742463A -:1025F00031462046DFF84080C04732462946204613 -:10260000C0472A4631462046B8473046BDE8F081EB -:10261000084B9847BDE8F081002070470846BDE8A8 -:10262000F081BDE8F08100BF8529010091250100FE -:1026300021240100B92401006124010070B50D4678 -:10264000044650B34368994229D08368994217D011 -:1026500029462046184B9847064629462046174BE0 -:1026600098470546024631462046154B9847324664 -:1026700029462046134B984770BD0023A36070BDC8 -:102680000D4B9847A06028B10022014620460C4B14 -:10269000984770BD0023636070BD0029D8D12946DA -:1026A0002046064B984760600028E6D0002201468D -:1026B0002046044B984770BD912501006525010017 -:1026C000212401006124010070B50C4615461E4608 -:1026D0001146174B9847AEB1002229462046154BAC -:1026E0009847626829462046134B9847616819B19C -:1026F0002A4620460F4B98476560A36803B170BD1A -:10270000A56070BDA268294620460A4B9847002262 -:1027100029462046084B9847A16819B12A46204609 -:10272000054B9847A5606368002BE8D16560E6E734 -:102730003D260100612401002124010091424CD07A -:102740002DE9F84317460C46054612B31146234BB4 -:102750009847064684421AD021462846204B98477F -:10276000224631462846DFF87C80C0473246214663 -:102770002846DFF87490C847224639462846C8479D -:102780003A4621462846C04706B3BDE8F883BDE86F -:10279000F883F0B18668B4421DD021462846104B1C -:1027A00098472246314628460E4FB84732462146C2 -:1027B0002846DFF83480C047224600212846C0471B -:1027C000002221462846B847AC60DDE76C60BDE8D2 -:1027D000F8831646DFE7BDE8F883704791250100CE -:1027E0003D260100212401006124010040B142681E -:1027F0000AB1002070478068B0FA80F04009704745 -:10280000012070472DE9F041C4B0441EE4B2042C0D -:1028100015D81F4616460D4680464BAB03934A9A81 -:102820004FF4807104A8074CA047074B1C6834B1D3 -:1028300004AB00933B46324629464046A04744B08D -:10284000BDE8F081753B0100882B00201B4B83FB0A -:1028500000231A18C317C3EB22234FF4B47202FBF0 -:10286000130000B20028BCBF801800B2592813DD45 -:1028700080B2A0F15A039BB2592B11D9A0F1B40335 -:102880009BB2592B13D9C0F5B47000B20C4B33F87E -:102890001000404200B27047094B33F910007047F6 -:1028A000C0F1B40000B2064B33F9100070471BB200 -:1028B000034A32F81300404200B27047B7600BB6CB -:1028C0008007020030B400020024131903FB03F553 -:1028D000A84228BF1C465208F7D123090B802401C7 -:1028E000E4B24C8030BC7047034660B104301B68D2 -:1028F00000EB5300021D054B1B6803F580439A4211 -:1029000028BF00207047014B186870478C2B0020AF -:1029100011F0030F1CBF21F0030104310368C3F35E -:102920005E030A1D934217D0994216D010B4021DBF -:10293000535C6FF3000353540368C3F35E03043B1B -:102940005B1A545863F35F045450036861F35F03E8 -:1029500003605DF8044B70471146036861F35F0341 -:1029600003607047064B1A1D1A601A796FF3000254 -:102970001A715A6843F6FC7161F35F025A6070473E -:102980008C2B002000282ED0F0B583B0054610F027 -:10299000030F1CBF20F0030504350024134E144F11 -:1029A00008E02946B847237843F00103204600F8A1 -:1029B000043BB0B92046B047044648B1037813F051 -:1029C000010FF7D10368C3F35E039D42E9D9F1E734 -:1029D000084B0093084BD12208490220084CA0471D -:1029E000002003B0F0BD0748704700BFE928010090 -:1029F00011290100A4080200380802007C08020026 -:102A000005280100906B002038B50020164B984730 -:102A10000446154D1BE038BD2046A847014608B3C3 -:102A2000037813F0010F11D12368C3F35E0204325F -:102A3000086802EB500262F35F0323600846A84770 -:102A4000014670B10B7813F0010FEDD00C46002C4D -:102A5000E1D0237813F0010FDED02046A8470446CA -:102A6000F5E738BD38BD00BFE928010038B51E4B79 -:102A7000984238D0002836D0044610F8043C6FF352 -:102A8000000300F8043C194AB2F8203D01339BB220 -:102A9000A2F8203D0F2B20D80438154B984701464B -:102AA00008B3037813F0010F15D1114D54F8043C0D -:102AB000C3F35E020432086802EB500262F35F0364 -:102AC00044F8043C0846A847014628B10B7813F0A7 -:102AD000010FEBD038BD38BD38BD0022034BA3F841 -:102AE000202D044B984738BD906B0020745E002069 -:102AF000E9280100092A010038B1064A904206D0AF -:102B000050F8040CC0F35E007047002070470020AE -:102B1000704700BF906B00201B4B1B68984220D071 -:102B2000194B9B68834208BF01221BD010B582B0AD -:102B3000164B1B6898421DD0012314491C4651F8BE -:102B40003320904217D00133102BF7D1104B009354 -:102B5000104B40F2322210490320104CA04702B023 -:102B600010BD0022084B03EBC2039A796FF30002F9 -:102B70009A7170470024054B03EBC404A3796FF3EB -:102B80000003A371EBE700BF44000020CC6C0020E1 -:102B9000C0080200480802007C0802000528010065 -:102BA0002DE9F041124B9A796FF300029A719A7BEA -:102BB0006FF300029A730F4C0025DFF83C802E461D -:102BC000271F03E001350834102D0ED054F8040CF3 -:102BD0000028F7D0C04744F8046C07EBC5039A7986 -:102BE00066F300029A712680ECE7BDE8F08100BF31 -:102BF00044000020D06C00206D2A0100F0B400F0E9 -:102C0000030301F00304A34200F0A680202A40F24F -:102C1000A18000F1200401F12003154613F8206C77 -:102C200004F8206C13F81F6C04F81F6C13F81E6C6A -:102C300004F81E6C13F81D6C04F81D6C13F81C6C62 -:102C400004F81C6C13F81B6C04F81B6C13F81A6C5A -:102C500004F81A6C13F8196C04F8196C13F8186C52 -:102C600004F8186C13F8176C04F8176C13F8166C4A -:102C700004F8166C13F8156C04F8156C13F8146C42 -:102C800004F8146C13F8136C04F8136C13F8126C3A -:102C900004F8126C13F8116C04F8116C13F8106C32 -:102CA00004F8106C13F80F6C04F80F6C13F80E6C2A -:102CB00004F80E6C13F80D6C04F80D6C13F80C6C22 -:102CC00004F80C6C13F80B6C04F80B6C13F80A6C1A -:102CD00004F80A6C13F8096C04F8096C13F8086C12 -:102CE00004F8086C13F8076C04F8076C13F8066C0A -:102CF00004F8066C13F8056C04F8056C13F8046C02 -:102D000004F8046C13F8036C04F8036C13F8026CF9 -:102D100004F8026C13F8016C04F8016C203D2034B7 -:102D20002033202D3FF67AAFA2F1210525F01F04B4 -:102D3000203403192144203A25F01F05521B3AB1D3 -:102D400001391A4411F8014F03F8014B9A42F9D1A5 -:102D5000F0BC70470346F2E7002B5BD10546202A02 -:102D600034D905F1200401F12003164653F8207CE4 -:102D700044F8207C53F81C7C44F81C7C53F8187CE5 -:102D800044F8187C53F8147C44F8147C53F8107CF5 -:102D900044F8107C53F80C7C44F80C7C53F8087C05 -:102DA00044F8087C53F8047C44F8047C203E20342A -:102DB0002033202EDAD8A2F1210323F01F0420347F -:102DC00025442144203A23F01F03D21A042A32D981 -:102DD0000E1F2C46134656F8047F44F8047B043B30 -:102DE000042BF8D8541F24F003030433043A24F0CE -:102DF0000304121B19442B44002AA9D001391A4498 -:102E000011F8014F03F8014B9342F9D1A0E729468D -:102E10001D46A4E7C3F104037AB1C418034611F8B0 -:102E2000015B03F8015B0D46013AA342EFD0002A93 -:102E3000F5D10022E0E72B46DEE70346F9E7000084 -:102E4000F0B583B004460D4611F0030F1CBF21F00E -:102E50000305043538B110F8043C03F00103002BDE -:102E600014BF044600242046154B98470646854269 -:102E700024D011D32846134B98470746A0B184B1FC -:102E80007EB12A46B54228BF324621460E4B9847AE -:102E900020460E4B984704E02946201F0C4B9847CC -:102EA0002746384603B0F0BD0A4B00930A4B40F268 -:102EB0003F120A4902200A4CA047F2E72746F0E7F2 -:102EC000F92A010085290100FD2B01006D2A01006E -:102ED00011290100A40802005C0802007C0802001D -:102EE00005280100002800F08D80014610280BD82D -:102EF000454B9B7913F0010F0ED0434B9B7B13F096 -:102F0000010F08BF012008D070B582B03F4A0023EE -:102F10004FF0FF36144619E000203B4A02EBC00197 -:102F20008B7943F001038B7152F830007047374AB8 -:102F300002EBC3018B7943F001038B7152F835002A -:102F400023E05EB201330832102B13D01D4604EB90 -:102F5000C300807910F0010FF4D190888142F1D83C -:102F6000E5D0002EEDDB04EBC605AD88854288BFB9 -:102F70005EB2E7E7002E0ADB244A02EBC6018B793A -:102F800043F001038B7152F8360002B070BD1F4B45 -:102F90009B7913F0010F08BF002416D001231B48B2 -:102FA0001C4600EBC302927912F0010F0DD00133E1 -:102FB000102BF5D1164B0093164B40F216221649F2 -:102FC0000320164CA0470020DFE7104D05EBC4039B -:102FD0009A7942F001029A71998055F83400104BA9 -:102FE000984745F8340018B1084B53F83400CCE743 -:102FF0000C4B0093074B4FF4047207490320074D15 -:10300000A847F1E70020704744000020CC6C002066 -:10301000500902006C0802007C080200052801002B -:10302000412E0100EC08020010F0030313D0C3F19D -:1030300004033AB1034400F8011B013A98420AD054 -:10304000002AF8D10022002A48D0024400F8011BCF -:103050009042FBD1704730B401EB012404EB0144F2 -:1030600004EB0164202A20D900F12003154643F81F -:10307000204C43F81C4C43F8184C43F8144C43F8CC -:10308000104C43F80C4C43F8084C43F8044C203DDA -:103090002033202DEBD8A2F1210323F01F0520358A -:1030A0002844203A23F01F03D21A042A0FD90546D8 -:1030B000134645F8044B043B042BFAD8531F23F066 -:1030C00003040434043A23F00303D21A204422B147 -:1030D000024400F8011B9042FBD130BC704710F055 -:1030E000030341D110B4202921D900F120030C465B -:1030F000002243F8202C43F81C2C43F8182C43F8EA -:10310000142C43F8102C43F80C2C43F8082C43F8EB -:10311000042C203C2033202CEBD8A1F1210323F0F8 -:103120001F0220321044203923F01F03C91A04293A -:1031300010D902460B46002442F8044B043B042BF2 -:10314000FAD84B1F23F003020432043923F003039F -:10315000C91A104429B10144002300F8013B8842F8 -:10316000FBD15DF8044B7047C3F1040341B1034444 -:10317000002200F8012B01399842B3D00029F8D180 -:1031800000210029EFD00144002300F8013B8842D0 -:10319000FBD1704710F0030343D110B4202922D98A -:1031A00000F120030C464FF0FF3243F8202C43F887 -:1031B0001C2C43F8182C43F8142C43F8102C43F81B -:1031C0000C2C43F8082C43F8042C203C2033202CF2 -:1031D000EBD8A1F1210323F01F0220321044203943 -:1031E00023F01F03C91A042911D902460B464FF0D8 -:1031F000FF3442F8044B043B042BFAD84B1F23F056 -:1032000003020432043923F00303C91A104429B11C -:103210000144FF2300F8013B8842FBD15DF8044BD9 -:103220007047C3F1040341B10344FF2200F8012BAE -:1032300001399842B1D00029F8D100210029EFD0FE -:103240000144FF2300F8013B8842FBD170479A42BA -:1032500038BF8854704770472DE9F04F83B0074658 -:10326000009193469846DDF830900D9C9DF83850BB -:103270001099DDF844A0129A12F00203019335D19F -:10328000BAF1000F0ED012F0010F00F0B68015B9A0 -:1032900012F00C0F01D00AF1FF3A8C4213D21F2C0E -:1032A00004D910E08C420BD21F2C09D809EB04037F -:1032B0003020013403F8010BA14201D9202CF8D1B0 -:1032C00012F0010F12D0A24510D91F2C09D809EB1A -:1032D00004033020013403F8010B544505D0202CA1 -:1032E000F8D112F0100F04D144E0A24612F0100FF2 -:1032F00013D012F4806F04D11CB1A1421BD05445ED -:1033000019D00F9B102B1ED00F9B022B27D01F2CE8 -:1033100030D8302309F8043001341F2C2AD82DBBB3 -:1033200012F0040F3AD112F0080F23D0202309F82D -:10333000043001341EE0631E0FD00F99102901D014 -:103340001C46E1E7023C12F0200F5DD11F2CDED8B5 -:10335000782309F804300134D9E71C46D1E71F2C43 -:1033600008D8622309F804300134D0E72D2309F886 -:103370000430013412F0030F15D1544528BF5E46C6 -:1033800012D20BEB0A052D1B5A46561C43460099D8 -:103390002020B8473246AE42F7D105E02B2309F88A -:1033A00004300134E6E75E4635465CB1A14434445E -:1033B0003246551C4346009919F8010DB8472A4674 -:1033C000AC42F6D1019BA3B1A5EB0B03534512D23E -:1033D00020262A46009D541C434629463046B847BD -:1033E0002246A4EB0B035345F5D3204603B0BDE8BA -:1033F000F08F2C46F9E72C46F7E78C42BFF476AF06 -:103400001F2C7FF653AF71E71F2CB3D8582309F850 -:10341000043001347BE700002DE9F04190B0169DA7 -:10342000189EDDF86C802DB928F0100418F4806F18 -:103430002FD1A04618F0200F0DF11F0E4FF00007FE -:1034400014BF4FF0370C4FF0570CB5FBF6F406FBEA -:103450001454E4B20137092C94BF30346444E4B20C -:103460000EF8014FB5FBF6F50DB1202FEDD1CDF8DB -:1034700018801A9C0594199C049403969DF85C404E -:103480000294019708AC0094034CA04710B0BDE82B -:10349000F081A0460027EAE7593201002DE9F04FFC -:1034A00095B0089009910A920B93DDE91E45DDF86D -:1034B0008890DDF88C8054EA050307D1269B23F021 -:1034C0001003269A12F4806F3ED12693269B13F0A8 -:1034D000200F0DF12F0A4FF000061D4F14BF4FF0C3 -:1034E000370B4FF0570B4A46434620462946B8470C -:1034F000D2B20136092A94BF30325A44D2B20AF805 -:10350000012F4A46434620462946B84704460D4601 -:1035100054EA050301D0202EE5D1269B0693259B76 -:103520000593249B0493CDF80C909DF88030029372 -:1035300001960CAB00930B9B0A9A09990898054CCD -:10354000A04715B0BDE8F08F26930026E5E700BF41 -:10355000B5AB0100593201002DE9F04F91B00A924C -:103560001C461A9E0B91934B002914BF8146994625 -:103570004FF0000B2078002800F06A82252808D040 -:103580000BF101050A9B5A460B99C8470134AB461B -:10359000F0E7621C002101E041F001011446013214 -:1035A0002378203B102B31D801A050F823F000BF26 -:1035B000013601000D3601000D360100073601000D -:1035C0000D3601000D3601000D3601000D360100EB -:1035D0000D3601000D3601000D360100FB350100EE -:1035E0000D360100F53501000D3601000D360100E4 -:1035F0009935010041F00201D0E741F00401CDE727 -:1036000041F00801CAE741F01001C7E72378A3F1B0 -:103610003002D2B2092A16D92A2B22D000252378CB -:103620002E2B28D000272378683B122B4FD8DFE8B9 -:1036300003F0AA4EB84E454E4E4E4E4E4E4EB44E30 -:103640004E4E4E4EBC00002505EB850503EB4505AF -:10365000303D14F8013FA3F13002D2B2092AF3D968 -:10366000DDE7331D3568002DBCBF41F002016D421E -:1036700001341E46D3E741F48061601C6378A3F1F6 -:103680003002D2B2092A04D92A2B11D004460027CD -:10369000C9E7002707EB870703EB4707303F10F820 -:1036A000013FA3F13002D2B2092AF3D90446BAE7A6 -:1036B000376827EAE77702340436B4E763786C2B7F -:1036C00019BF41F48071013441F440710234207813 -:1036D000A0F12503532B00F2B281DFE813F0A6011D -:1036E000B001B001B001B001B001B001B001B00152 -:1036F000B001B001B001B001B001B001B001B00142 -:10370000B001B001B001B001B001B001B001B00131 -:10371000B001B001B001B001B001B001B001B00121 -:10372000B001B001B001B001B001B001B001B00111 -:10373000B001B001B001B001B001B001B001B00101 -:10374000B001B0016D00B001B001B001B001B00135 -:10375000B001B001B001B0016D0014016D00B00105 -:10376000B001B001B0016D00B001B001B001B00115 -:10377000B0016D008F01B001B0013701B0016D00E3 -:10378000B001B0016D006378682B19BF41F0800172 -:10379000013441F0C001023499E741F480710134F1 -:1037A00095E741F40071013491E741F480710134EF -:1037B0008DE700BF57320100782800F0D5815828E6 -:1037C00000F054816F2800F0D181622800F0D08190 -:1037D00021F01003692826D111F4806F40F0C081D8 -:1037E0000A2213F4007F24D113F4807F44D113F014 -:1037F000400F57D113F0800F14BFB6F90010316895 -:1038000004360593049503970292CB0F0193002988 -:10381000B8BF494200910A9B5A460B994846AC4DA5 -:10382000A847834652E1642800F0568119460A22CF -:103830001FE1F11D21F0070101F108060868496840 -:10384000089307950697049200230593CB0F0293E4 -:1038500002460B46002873F1000109DBCDE9002385 -:103860000A9B5A460B9948469A4DA84783462DE134 -:10387000424263EB4303F1E706F104083168059324 -:10388000049503970292CB0F01930029B8BF4942D8 -:1038900000910A9B5A460B9948468D4DA84783468E -:1038A000464613E131780436ABE7F11D21F00701FC -:1038B00001F10806089307950697002304920593E3 -:1038C0000293D1E90023CDE900230A9B5A460B99C4 -:1038D0004846804DA8478346F8E006F10408059362 -:1038E00004950397029200230193336800930A9B87 -:1038F0005A460B994846764DA84783464646E5E02A -:1039000031780436D4E011F0020F40F0EA80012D46 -:1039100040F203810BF1FF372F444FF020085A4645 -:10392000551C0A9B0B994046C8472A46BD42F7D111 -:10393000371D05F1010B0A9B2A460B993078C847C1 -:103940003E46013416E60C9EBB46FAE7331D0E9345 -:1039500033681A460C93002F14BF3B464FF0FF33D9 -:103960001078002800F0DB8012F8016F0EB1013BE7 -:10397000FAD10C9BD31A0D9311F4806A03D0BB4289 -:1039800028BF3B460D9311F002030F9340F0CE8009 -:103990000D990B4601338D4240F2C38005EB0B08B5 -:1039A000A8EB01085A46561C0A9B0B992020C847D1 -:1039B00032464645F7D16B1C0D930C9B18780028B6 -:1039C00000F0B280DDF830803246564609E01F46EE -:1039D00002F1010B0A9B0B99C84718F8010F30B18F -:1039E0005A46002EF4D07B1E002FF0D193460F9B39 -:1039F000002B40F09F8001340E9EBBE5351D41F049 -:103A000021010591082304930397102302930023B7 -:103A10000193336800930A9B5A460B9948462C4EF3 -:103A2000B047834601342E46A4E50BF101050A9BFD -:103A30005A460B992520C8470134AB469AE50BF14D -:103A400001050A9B5A460B99C8470134AB4691E5DC -:103A50000A9A93452CBF02F1FF325A460A9B0B99F2 -:103A60000020C847584611B0BDE8F08F41F0200152 -:103A7000102221F00C0311F4806F07D021F00D0308 -:103A800069283FF4AEAE64283FF4ABAE13F4007F78 -:103A90007FF40BAF13F4807F7FF41FAF13F0400F60 -:103AA0007FF42EAF13F0800F14BF318831680436D5 -:103AB00005930495039702920023019300910A9BBA -:103AC0005A460B994846024DA8478346013451E5B2 -:103AD000193401009D34010011F4806F3CD10A2299 -:103AE0007FE6331D0C930BF101070A9B5A460B9995 -:103AF0003078C847012D7FF626AF05EB0B0A4FF053 -:103B000020083A46561C0A9B0B994046C847324645 -:103B1000B245F7D1AB440C9E13E75D4608E70C9A1B -:103B200027E70D935E4648E7B34664E75E46002804 -:103B30007FF448AF0D9A95427FF65DAF5D44AD1AB4 -:103B40005A46202602F1010B0A9B0B993046C847C2 -:103B50005A46AB45F6D14EE721F011030A2240E662 -:103B600021F011030A223CE6102282E7082280E7B6 -:103B700002227EE710B582B0009313460A46014642 -:103B80000248034CA04702B010BD00BF4F320100F5 -:103B90005935010008B518210448054B9847054BD5 -:103BA00000221A7001225A7008BD00BF9C6C0020D0 -:103BB000A1240100B86B0020F0B583B03748384B22 -:103BC000984710B30446354E364D237D03F0070366 -:103BD000032B30DD21463046A84704460028F4D1A7 -:103BE0002E48314B98470546304B9847002852D114 -:103BF0002F4B0093E5222F4903202F4CA0472A4644 -:103C000000232E482E498847FEE724482D4B98472D -:103C10000546264B984760B9254B0093D32225498A -:103C20000320254CA0472A460023244824498847DE -:103C3000FEE75DB91FE021461848234B984705462B -:103C40001A4B9847D0B1B5B1002CC9D01F4C0126F2 -:103C500026704FF4FA732B600027AF602B7D032290 -:103C600062F302032B754FF0FF332B61184B98471B -:103C70006860EF60A670284603B0F0BD0C4B00935F -:103C8000DB220C4903200C4CA0472A4600230B489A -:103C90000B498847FEE7002DD8D1ECE79C6C00204B -:103CA0005125010065250100052501008D29000031 -:103CB00090090200B809020005280100BCB4010007 -:103CC00095290000B9240100BD250100B86B002032 -:103CD0000116010010B5044601460948094B9847F2 -:103CE0000122094B1A702046084B9847084B1B6865 -:103CF0009C4200D010BD0122034BDA70FAE700BFEE -:103D00009C6C00203D260100B86B00206D2A01004C -:103D1000686D002010B504464068124B9847236830 -:103D2000984201D2002010BD0F4B984760600F4BA6 -:103D30000022DA709A70A3682BB1204698470B4B8B -:103D4000D87800B110BD2369002BC4BF03F1FF3345 -:103D5000236123690BB10120F4E72046044B984707 -:103D6000012010BD1916010001160100B86B0020DA -:103D7000D53C01002DE9F843584B1B79002B40F04E -:103D8000A980564B01221A715B782BB90022534B44 -:103D90001A710120BDE8F883514B98474F4B98604A -:103DA00000261D46DFF84C814E4CDFF850916DE047 -:103DB0002760002609E04C4B9847AB7833BBEB7883 -:103DC00023BB2B78002B5FD127602168F1B14046DF -:103DD000C84707462068037D13F0070316D08642C4 -:103DE000E6D0052BE7D0002E42D0027D02F007027C -:103DF000337D03F007039A42DFDD3B4B98470028F1 -:103E0000DBD0AB7813B9EB78002B2FD0334CA06804 -:103E1000364DA847E3680344E3602069A847B0F53E -:103E2000FA7F15D3E268642303FB02F3304AA2FB56 -:103E30000323C3F34713642B9ABFC3F16403DBB2BC -:103E40000023264C23750023E360254B984720610F -:103E50004FF0FF32214B9A612648274B9847044682 -:103E6000002831D0214F1D4E224D1DE026680DE067 -:103E70001D4B98470028A0D0AB78002BC6D1EB781B -:103E8000002BC3D1266801E000262E700023EB70C2 -:103E9000AB704046184B9847206096E7214628466D -:103EA000164B9847044678B1237D13F0070FF5D0E1 -:103EB0006068B8472368984234BF1B1A0023B26970 -:103EC0009A4288BFB361E9E7044B00221A719869EE -:103ED000BDE8F8830120BDE8F88300BFB86B00207F -:103EE00001160100686D0020153D01001916010042 -:103EF000D34D62109C6C0020512501006525010006 -:103F00002DE9F843037D03F007038B4231D00D46C2 -:103F1000884681461848194B9847044618B3037DD4 -:103F200003F007039D420BDA134F154E2146384626 -:103F3000B0470446B8B1237D03F007039D42F5DB8B -:103F4000A14505D0224649460B480E4B984754B12F -:103F500001220D4B1A7099F8143068F3020389F8A6 -:103F60001430BDE8F883002249460348054B9847C2 -:103F7000EEE7BDE8F88300BF9C6C002051250100EE -:103F8000652501003D270100B86B00202DE9F041B7 -:103F900082B080460F4616461D46104B9847044691 -:103FA0000F4B984760B13CB1C4F808802760314698 -:103FB00020460C4B9847E560204602B0BDE8F081F2 -:103FC000094B00934FF4837208490320084DA8471A -:103FD00022460023074808498847FEE7B93B01000D -:103FE0008D290000013F0100A8090200B809020064 -:103FF00005280100BCB401009529000010B5044655 -:10400000034B98472368DB430344636010BD00BF44 -:1040100001160100037813F0800F01D101207047D1 -:1040200003F0E002C02A0AD003F0F002E02A08D030 -:1040300003F0F803F02B0CBF04200020704702208F -:104040007047032070477F2816D982B0B0F5006F03 -:1040500013D2C0F3841363F03F038DF8043000F0F3 -:104060003F0060F07F008DF8050000238DF80630DA -:104070008DF80730019802B07047B0F5803F15D237 -:10408000C0F3033363F01F038DF80430C0F38513CE -:1040900063F07F038DF8053000F03F0060F07F0093 -:1040A0008DF8060000238DF80730E3E7B0F5881F90 -:1040B000E0D2C0F3824363F00F038DF80430C0F305 -:1040C000053363F07F038DF80530C0F3851363F08B -:1040D0007F038DF8063000F03F0060F07F008DF820 -:1040E0000700C7E782B0019010F0800F17D09DF84D -:1040F00004309DF80520120402EB03629DF806309F -:1041000002EB03229DF807301A44042312F0FF0F3C -:1041100008BF120A013B13F0FF03F7D10192019887 -:1041200002B0704770B483B0002301930C4651B1C4 -:104130002268835C13F0800F07D118460132226099 -:1041400003B070BC704701ACF2E703F0E001C02996 -:104150000BD003F0F001E02919D003F0F801F029A9 -:1041600033D0013222600020EAE7511C2160405C1C -:1041700000F0C001802901D00020E1E79B0103F499 -:10418000F86300F03F00184402322260D8E7511C67 -:104190002160415C01F0C005802D01D00020CFE7F7 -:1041A000951C2560405D00F0C005802D01D00020E9 -:1041B000C6E71B039BB200F03F000344880100F4F4 -:1041C0007C60184403322260BAE7511C2160415CD4 -:1041D00001F0C005802D01D00020B1E7951C2560BD -:1041E000455D05F0C006802E01D00020A8E7D61C52 -:1041F0002660865D06F0C000802801D000209FE781 -:104200009B0403F4E013090301F47C300343A80189 -:1042100000F47C6006F03F0630441844043222600B -:104220008EE70000F0B583B006460D460B68013BF3 -:104230000B6004240E4F05E001382860631E13F064 -:10424000FF0408D0286830443B68984728B928689C -:104250000028F1D109E0002007E02B6802A941F80D -:10426000043D034B5B683046984703B0F0BD00BF88 -:10427000540000202DE9F0410E4691B1074600247C -:104280002546DFF824803819D8F8003098470028F0 -:1042900008BF012004440135AE42F4D12046BDE8F8 -:1042A000F0810C46FAE700BF54000020F0B583B05F -:1042B000002301930D4669B106461C46064F01A92D -:1042C00030467B6898470134019BAB42F7D32046C8 -:1042D00003B0F0BD0C46FAE75400002070B582B080 -:1042E00000230193037873B104460025074E01A90A -:1042F0002046736898470135019BE35C002BF6D19B -:10430000284602B070BD0025FAE700BF5400002027 -:10431000232904D00378012B15D00020704703789F -:104320001BB90123037018467047012B03D0022BE1 -:1043300005D0002070470023037018467047002303 -:10434000037001207047202903D10223037001204C -:1043500070470120704700002DE9F04F91B00591A2 -:10436000069207939DF8683004930890002800F0A7 -:10437000F080002900F0EF8013F0120F17D00378BF -:104380000A2B00F0EA800D2B00F0ED80002B00F0EE -:10439000EC8001460022013211F8013F0A2B00F0A7 -:1043A000DD800D2B00F0DA80002BF4D1D7E0049BE8 -:1043B00003F002031A460B9347F618430799002AA5 -:1043C00018BF1946079100238DF83F300E93DFF890 -:1043D000AC91DFF8ACA178E0019A21460598644BD6 -:1043E00098470544ADB200B2002802DD069B1D448B -:1043F000ADB22DB2B7F1FF3F38D0A4F10A02162AB0 -:104400003BD85C4BD34013F0010F39D101232C2250 -:10441000944235D00133DBB21AF80320002AF7D1D9 -:10442000B7F1FF3F08BFAB460C9E0D9B0C93039B5F -:104430000293019C18F80630002B6ED0D9F8043096 -:104440000DA9404698470190029B01330393049BBA -:1044500013F0010FC0D021460DF13F00464B9847A5 -:104460000028B9D00C9E0D9B0C93E0E7069BEB1A3D -:10447000099A9342C8BF3746BFE701232C22C7E7FA -:10448000002E4AD1B7F1FF3F4AD1AB46029B23B180 -:104490000D2C03D1019B0A2B00D10C9EB6B2079BB9 -:1044A000A3EB0B0B0FFA8BF30793002E3AD00E9F62 -:1044B0003E440E96089A13780A2B3FD00D2B3DD020 -:1044C000935D0A2B38D00D2B36D00E9B0A9308999A -:1044D00001EB0308CB5C002B30D0079B002B2DDDBC -:1044E000B8F1000F1ED047F61843079A0B99002920 -:1044F00008BF1346099300260C960D96D9F8043090 -:104500000CA94046984704460C9B0D93B3464FF0C8 -:10451000FF370296354601968CE7B7F1FF3FB5D0DD -:104520000A9B3BB10E9B5BB9144B5B680EA90898C4 -:10453000984703E0BEB2B2E701360E960E9B13B168 -:10454000BDF838000CE00D4B5B680EA90898984741 -:10455000F6E7002004E0002002E00022013290B2E1 -:1045600011B0BDE8F08F0022F8E70022F7E700BFA6 -:104570000906010009004000114301005400002019 -:10458000F80902002DE9F04F85B0002840D005461B -:10459000002A3FD0002003908DF80B0049B19B46C4 -:1045A0000192894600241C4F9DF838A00AF0010AA8 -:1045B0000CE0044628E0424631460198174B9847E4 -:1045C00003B2002B02DD5C44044424B2039B9945F2 -:1045D00015D97B6803A92846984706467B680021C1 -:1045E0000398284498478046BAF1000FE3D031463B -:1045F0000DF10B000A4B98470028E7D1DBE7002CB0 -:1046000002DDA4EB0B0424B2204605B0BDE8F08F18 -:104610000024F9E70024F7E7540000200906010010 -:10462000114301002DE9F04F89B0BDF948400694CF -:10463000BDF94C509DF8508000240480448000292E -:104640005BD00F46002A58D00393114602920446CD -:1046500008F0020347F61842002B18BF15460495D0 -:10466000B1F9082007921FFA82FA3B78002B4CD050 -:104670003E460025DFF8B0B0069B9A441FFA8AF93F -:104680004746B0460097049B039A02993046D847A4 -:104690000544B4F902300AEB0302B2F5004F24D20C -:1046A000CDF814904B4463800097039B029A014617 -:1046B0003046184EB047B4F900309842B8BF18469B -:1046C000208008EB050618F80530002BDAD12DB153 -:1046D00016F8013C0A2B13D00D2B11D0B4F902307F -:1046E0009BB1069A9B1A638007E00B4B00930B4B20 -:1046F00071220B4902200B4CA04709B0BDE8F08F96 -:104700006388059A1A446280E8E7BDF81C3063802C -:10471000F3E700BF85450100280A0200E409020012 -:10472000000A020005280100594301002DE9F04765 -:1047300081468A461F46DDF82080144632B90020A3 -:10474000BDE8F087002814DA2C467CB1650807FB29 -:1047500005A631464846C0470028F3DD84F0010431 -:1047600004F001042C1B06EB070AEEE70020BDE86D -:10477000F0873046BDE8F087014B1860704700BFF6 -:10478000D46B0020014B1B68D8687047D46B0020A5 -:1047900008B5024B1B681B68984708BDD46B002006 -:1047A0002DE9F84304460139272934D8DFE811F010 -:1047B00028003900EC00A10053006000A303D800DA -:1047C0004401B2024600CC037302FE03DC00E000A9 -:1047D0008100E4009301E80047026602E3036A01F6 -:1047E0007C013F02A00123021F0175039103080110 -:1047F000B800E002C901F4014703040212033A03BE -:1048000000219B4B9847002120469A4B98479A4B92 -:1048100019689A4B9847FF212046994B9847BDE865 -:10482000F8830021924B984700212046914B9847EE -:10483000914B19680431914B9847ECE700218C4B60 -:104840009847002120468B4B98478B4B19680431C1 -:104850008A4B9847DFE70021854B98470021204687 -:10486000844B9847844B19681031844B9847D2E7A2 -:104870000021DFF8FC81C047002120467D4FB8476A -:1048800081467D4E316804317C4DA847316818312E -:104890004846A84701212046C04701212046B84785 -:1048A000074631680431A847316808313846A847BF -:1048B000B1E70021DFF8B881C047002120466D4FE5 -:1048C000B84781466C4E31686C4DA84731686831F5 -:1048D0004846A84701212046C04701212046B84745 -:1048E000074631680431A847316808313846A8477F -:1048F00091E70021DFF87881C047002120465D4F15 -:10490000B8475D4E316824315C4DA84701212046EF -:10491000C04701212046B84731682831A8477AE7C7 -:104920000021DFF84C81C04700212046514FB84795 -:10493000514E31682431514DA84701212046C047CE -:1049400001212046B84731682831A8470221204676 -:10495000C04702212046B84731689C31A8475AE732 -:104960000021434B984756E70021414B984752E7B7 -:1049700000213F4B98474EE700213D4B98474AE7BF -:1049800000213B4B984746E70021DFF8E480C04711 -:1049900000212046374FB8478146374E31680431F1 -:1049A000364DA847316820314846A84701212046A6 -:1049B000C04701212046B84731681C31A8472AE783 -:1049C0000021DFF8AC80C04700212046294FB847BE -:1049D000294E31682031294DA84701212046C04782 -:1049E00001212046B84731681C31A84713E7002150 -:1049F000DFF87C80C047002120461E4FB847814623 -:104A00001D4E316824311D4DA84731689431484608 -:104A1000A84701212046C04701212046B8473168F8 -:104A20002831A84702212046C04702212046B84726 -:104A300031689031A847EEE60021DFF83480C047A6 -:104A4000002120460B4FB8470B4E31684C310B4DBF -:104A5000A84740212046C04740212046B847074686 -:104A600031681031A847316850313846A847D2E63E -:104A70005537000085360000D86B0020816B0000A0 -:104A80002141000000219F4B9847002120469E4B6A -:104A9000984707469D4E316804319D4DA8473168BF -:104AA0007C313846A847B6E64021DFF85882C04737 -:104AB00040212046944FB847944E31681831944DA8 -:104AC000A84741212046C04741212046B8473168C8 -:104AD0001031A8479FE600218A4B984700212046C5 -:104AE000894B9847894B19686C31894B984792E6F6 -:104AF0000021DFF81082C04700212046824FB847CE -:104B0000824E31680431824DA84740212046C0477B -:104B100040212046B84731681431A847012120467A -:104B2000C04701212046B84731688031A84702219B -:104B30002046C04702212046B84731688431A84743 -:104B400069E600216F4DA84700212046DFF8B881B3 -:104B5000C0476E4F39686E4EB04740212046A84787 -:104B600041212046A84741212046C0473968A83145 -:104B7000B04743212046A84743212046C047396813 -:104B8000AC31B04742212046A84742212046C047C9 -:104B90003968A431B0473EE600215A4DA84740216C -:104BA0002046A84740212046574B9847574B196845 -:104BB000B031574B98472EE60021DFF84881C047B7 -:104BC00000212046504FB847504E3168504DA847FD -:104BD00001212046C04701212046B8473168803175 -:104BE000A84702212046C04702212046B847316825 -:104BF0008431A8470FE60021DFF80881C047002173 -:104C00002046414FB8478146404E31680431404DFF -:104C1000A847316888314846A84703212046C04745 -:104C200003212046B84731688C31A847F3E50021BD -:104C3000344B984700212046334B9847EBE5002141 -:104C4000304FB84700212046DFF8BC80C04781467E -:104C50002E4E316804312E4DA847316874314846D4 -:104C6000A84740212046B84701212046B8470121E6 -:104C70002046C04731688031A847CCE50021214B50 -:104C8000984700212046204B9847204B19687831DF -:104C90001F4B9847BFE50021DFF86880C04700211F -:104CA0002046194FB8478146184E31680431184DD7 -:104CB000A847316808314846A84731681831484646 -:104CC000A84740212046C04740212046B84781469A -:104CD00031680431A847316854314846A84741211A -:104CE0002046C04741212046B84731688031A84757 -:104CF00042212046C04742212046B84731685831FA -:104D0000A84788E55537000085360000D86B00209D -:104D1000816B00000021DFF89082C047002120460F -:104D20009E4FB84781469E4E316804319D4DA8473D -:104D3000316840314846A847316818314846A8478D -:104D400001212046C04701212046B84781463168ED -:104D50001831A847316844314846A8470221204607 -:104D6000C04702212046B84731684831A84752E57C -:104D70000021DFF83482C04700212046874FB84722 -:104D8000874E31680431874DA84701212046C0472E -:104D900001212046B8473168A031A84702212046AA -:104DA000C04702212046B8473168A031A8470321F7 -:104DB0002046C04703212046B8473168A031A847A4 -:104DC00004212046C04704212046B8473168A0315D -:104DD000A84720E50021DFF8D081C0470021204608 -:104DE0006E4FB8476E4E31686E4DA847422120463F -:104DF000C04742212046B84731688031A847412149 -:104E00002046C04741212046B8473168B031A84705 -:104E100040212046C04740212046B8473168A8318C -:104E2000A847F8E40021604B9847002120465B4BDF -:104E300098475B4B1968A4315A4B9847EBE4002123 -:104E4000DFF86481C04700212046544FB8478146AF -:104E5000534E31680431534DA847316818314846E4 -:104E6000A84704212046C04704212046B84731689E -:104E7000B831A84703212046C04703212046B84740 -:104E80003168B431A84701212046C047012120469E -:104E9000B84731688031A847BDE40021DFF80881B8 -:104EA000C047002120463D4FB84781463C4E3168FF -:104EB00004313C4DA847316818314846A8470321C2 -:104EC0002046C04703212046B84731689831A8479B -:104ED000A1E40021344B9847002120462F4B9847EE -:104EE00007462F4E316804312E4DA84731680831EE -:104EF0003846A8478FE40021DFF8AC80C047002186 -:104F00002046264FB847264E31680431254DA84724 -:104F100003212046C04703212046B84731682C3181 -:104F2000A84701212046C04701212046B8473168E3 -:104F30003031A84702212046C04702212046B84709 -:104F400031683431A84766E40021DFF85C80C0474F -:104F500000212046114FB847114E31683831114DAC -:104F6000A84701212046C04701212046B8473168A3 -:104F70003C31A8474FE400210B4B984700212046C5 -:104F8000064B98470746064E31680431054DA84741 -:104F9000316870313846A8473DE400BF85360000CF -:104FA000D86B0020816B0000553700000021DFF82E -:104FB0005480C047002120460F4FB84781460F4E0E -:104FC000316804310E4DA84731685C314846A84726 -:104FD00001212046C04701212046B8473168603191 -:104FE000A84702212046C04702212046B847316821 -:104FF0006431A8470FE400BF85360000D86B00205D -:10500000816B00005537000008B5044B1B7913B9BC -:10501000034B984708BD034B984708BDD86B002049 -:10502000816A00000D6D000070B5B34C2068B34B71 -:105030009847FF222C212068B14B9847236A13F030 -:10504000020314BF1D210821002B15BF3B20122095 -:105050001E230B234FF0000263F3040260F34A1295 -:1050600061F3CF2229212068A64B98472046236A66 -:1050700013F0020314BF07211C21002B15BF0F24BE -:105080003A2408231D234FF0000263F3040264F363 -:105090004A1261F3CF2248F289010068994B984780 -:1050A0009548036A13F0020314BF07211C21002B4B -:1050B00015BF0F243A2408231D234FF0000263F389 -:1050C000040264F34A1261F3CF22792100688D4B08 -:1050D0009847894C626948F28E0120688A4DA8473A -:1050E00062697E212068A84720680430834B984776 -:1050F000246804340020854B98470A30C000B0F57E -:10510000A07F80F24686012201212046804B9847ED -:10511000794C2068FF222C210430794B9847206875 -:105120000430236A13F0020F40F041860B2318214C -:105130000E244FF0000264F3040261F34A1263F399 -:10514000CF2229216F4B98476B4B18681B6A13F0CD -:10515000020314BF1A211021002B15BF372422246B -:105160001C2312234FF0000263F3040264F34A127B -:1051700061F3CF2239210430624DA8475E4C20688C -:10518000A28940F239210430A8472068E28940F220 -:1051900039410430A8472468043400205B4B984709 -:1051A00028304000B0F5A07F80F206860122302131 -:1051B0002046574DA847504C206801223321043027 -:1051C000A8472068626948F28E0104304E4B984728 -:1051D00020680430236A13F0020F40F0FB851F2380 -:1051E0003F211C464FF0000264F3040261F34A12AF -:1051F00063F3CF2248F28901424B98473E4C206826 -:1052000062697E210430404B984720680430236A4D -:1052100013F0020F40F0E3851F233F211C464FF09F -:10522000000264F3040261F34A1263F3CF2279218E -:10523000344B9847304B186804301B6A13F0020F48 -:1052400040F0D2851F233F211C464FF0000264F33B -:10525000040261F34A1263F3CF2248F2A901294BF9 -:105260009847254B186804301B6A13F0020F40F072 -:10527000C0851F233F211C464FF0000264F3040247 -:1052800061F34A1263F3CF2299211E4B98471A4CBF -:1052900020680122902104301D4B98472568043571 -:1052A00000201C4B9847012840F2A8850020174B8E -:1052B0009847C0EB001040005030B0F5A07F80F25E -:1052C000B88501240020114B984728304000B0F5E4 -:1052D000A07F80F2BE850122224412B2122128460C -:1052E0000B4B9847044B1D6804350020094B984729 -:1052F000012840F2BC850FE0D86B00200950010066 -:1053000011710000CD6F000041720000E514010032 -:10531000896E0000011501000020B14B9847C0EBD9 -:10532000001040005030B0F5A07F80F2BB85012412 -:105330000020AB4B984728304000B0F5A07F80F2AA -:10534000C1850122224412B213212846A54B984759 -:10535000A54B1D6804350020A44B9847012840F256 -:10536000BF8500209E4B9847C0EB00104000503096 -:10537000B0F5A07F80F2CF8501240020984B98479C -:1053800028304000B0F5A07F80F2D585012222446C -:1053900012B210212846934B9847934B1D68043551 -:1053A0000020924B9847012840F2D38500208C4B77 -:1053B0009847C0EB001040005030B0F5A07F80F25D -:1053C000F48501240020864B984728304000B0F532 -:1053D000A07F80F2FA850122224412B211212846D0 -:1053E000804B9847804B1C68043400207F4B9847C3 -:1053F000012840F2F8850020794B9847C0EB001057 -:1054000040005030B0F5A07F80F2088601221421C0 -:105410002046744DA847744C20689622B021043071 -:10542000A84720683922B7210430A84720680C30EB -:105430006F4B98472068011D0C306E4B98472068D1 -:10544000236A13F0020314BF1A210821002B15BF91 -:10545000352412241B2309234FF0000263F30402B6 -:1054600064F34A1261F3CF2229210C30624B984732 -:105470005D4B18680C301B6A13F0020F40F0DE859C -:10548000082310211C464FF0000264F3040261F36C -:105490004A1263F3CF223921574B9847524B186871 -:1054A0001B6A13F0020314BF06211421002B15BF41 -:1054B00010242A24092315234FF0000263F3040269 -:1054C00064F34A1261F3CF2248F289010C304A4B4F -:1054D0009847454B18681B6A13F0020314BF062156 -:1054E0001421002B15BF10242A24092315234FF063 -:1054F000000263F3040264F34A1261F3CF227921BC -:105500000C303D4B9847384B18681B6A13F0020368 -:1055100014BF06211421002B15BF10242A240923AF -:1055200015234FF0000263F3040264F34A1261F39F -:10553000CF2248F2A9010C302F4B98472A4B18680C -:105540001B6A13F0020314BF06211421002B15BFA0 -:1055500010242A24092315234FF0000263F30402C8 -:1055600064F34A1261F3CF2299210C30224B984701 -:105570001D4C206808301E4B984720680830236A6D -:1055800013F0020F40F05F85092313210A244FF026 -:10559000000264F3040261F34A1263F3CF2241F282 -:1055A0002901154DA847104C2068A28940F2291105 -:1055B0000830A847266808363321A0890F4B984742 -:1055C000024641F229113046A84720680830236A74 -:1055D00013F0020F40F03C850B2318210E240FE03E -:1055E000E5140100896E0000D86B00200115010050 -:1055F00009500100616D0000CD6F0000AB2101007A -:105600004FF0000264F3040261F34A1263F3CF2205 -:1056100042F22901BB4EB047BB4C206800224FF438 -:1056200098710830B94B9847256808353321A0890F -:10563000B74B9847024641F239212846B0472068C7 -:105640000830236A13F0020F40F007850B2319215D -:105650000D244FF0000264F3040261F34A1263F375 -:10566000CF2241F23901A74B9847A74B18681B6A14 -:1056700013F0020314BF07210B21002B15BF0F24C9 -:10568000192408230D234FF0000263F3040264F38E -:105690004A1261F3CF2240F239110830994B9847F2 -:1056A000994B18681B6A13F0020314BF07210B21E2 -:1056B000002B15BF0F24192408230D234FF00002DF -:1056C00063F3040264F34A1261F3CF2241F2391109 -:1056D00008308C4B98478C4B18681B6A13F00203F8 -:1056E00014BF1A210B21002B15BF372419241C23AA -:1056F0000D234FF0000263F3040264F34A1261F3D6 -:10570000CF2242F2390108307E4B98477E4B186811 -:1057100008301B6A13F0020F40F0A4841F233F21BE -:105720001C464FF0000264F3040261F34A1263F373 -:10573000CF2249F28901734DA847734C20684FF07E -:10574000FF3248F289110830A84720684FF0FF3235 -:1057500049F289110830A8472068236A13F0020330 -:1057600014BF2A212621002B14BF152313234FF029 -:10577000000263F3040261F34A1263F3CF224AF298 -:1057800089010830A84720680830236A13F0020F07 -:1057900040F06D841F233F211C464FF0000264F34C -:1057A000040261F34A1263F3CF2249F2A901554D75 -:1057B000A847554C20684FF0FF3248F2A911083035 -:1057C000A84720684FF0FF3249F2A9110830A847D6 -:1057D0002068236A13F0020314BF2A212621002B1C -:1057E00014BF152313234FF0000263F3040261F387 -:1057F0004A1263F3CF224AF2A9010830A847206871 -:105800002922B6210830414DA84720681030414B6D -:105810009847206847F6FF7201211030A84720689A -:10582000FF222C2110303C4B984720681030236A0F -:1058300013F0020F40F020840B2318210E244FF0A8 -:10584000000264F3040261F34A1263F3CF222921B8 -:105850002C4B98472C4B186810301B6A13F0020F22 -:1058600000F00F8428494B7BDB0803EB830303EB39 -:10587000830341F6DA352B4403EB032203EBC21317 -:10588000C3F3C4538A89C2F3451202EB820202EBCE -:10589000820202F562521A3202EB022402EBC412B7 -:1058A000C2F3C554097B01F01F0101EB810101EB3B -:1058B0008101294401EB012201EBC211C1F3C45162 -:1058C0004FF0000261F3040264F34A1263F3CF2243 -:1058D00041F229010B4DA8470B4C2068A28940F2E8 -:1058E00029111030A847266810364C21A089084B92 -:1058F0009847024641F229113046A84720681030E7 -:10590000236A0BE0CD6F0000D86B0020896E000089 -:10591000AB210100095001001171000013F0020FCA -:1059200040F0D9830B2318210E244FF0000264F3BA -:10593000040261F34A1263F3CF2242F22901C64BFB -:105940009847C64B18681B6A13F0020314BF332133 -:105950002221002B14BF192311234FF0000263F3FF -:10596000040261F34A1263F3CF2242F2291110308C -:10597000B94DA847B94C2068A28939211030A847F1 -:105980002068A28941F239011030A8472068236AB3 -:1059900013F0020314BF22211021002B14BF112386 -:1059A00008234FF0000263F3040261F34A1263F329 -:1059B000CF2242F239011030A84724681034002069 -:1059C000A74B984728304000B0F5A07F80F287832E -:1059D000012230212046A34B9847A04C206800228A -:1059E0004FF49E711030A04B984720681030236A06 -:1059F00013F0020F40F080831F233F211C464FF01D -:105A0000000264F3040261F34A1263F3CF2248F206 -:105A10008901914B9847914B186810301B6A13F01D -:105A2000020F40F06D831F233F211C464FF0000200 -:105A300064F3040261F34A1263F3CF2249F289014D -:105A4000854DA847854C20684FF0FF3248F28911F8 -:105A50001030A84720684FF0FF3249F2891110300A -:105A6000A847206811234FF0000263F304022221AB -:105A700061F34A1263F3CF224AF289011030A8473A -:105A800020681030236A13F0020F40F03D831F237B -:105A90003F211C464FF0000264F3040261F34A12F6 -:105AA00063F3CF2248F2A9016B4B98476B4B186800 -:105AB00010301B6A13F0020F40F02A831F233F218E -:105AC0001C464FF0000264F3040261F34A1263F3D0 -:105AD000CF2249F2A901604DA847604C20684FF0E1 -:105AE000FF3249F2A9011030A84720684FF0FF3279 -:105AF00049F2A9111030A847206811234FF0000285 -:105B000063F30402222161F34A1263F3CF224AF2C3 -:105B1000A9011030A84720681030236A13F0020F43 -:105B200040F0FA821F233F211C464FF0000264F32D -:105B3000040261F34A1263F3CF227921464B98475E -:105B4000464B186810301B6A13F0020F40F0E882D1 -:105B50001F233F211C464FF0000264F3040261F34F -:105B60004A1263F3CF2241F279013B4DA8473B4CE7 -:105B700020684FF0FF3240F279111030A8472068BA -:105B80004FF0FF3241F279111030A84720681123FD -:105B90004FF0000263F30402222161F34A1263F31F -:105BA000CF2242F279011030A84724681034002037 -:105BB0002B4B984700EB8000C0005030B0F5A07F21 -:105BC00080F2B282012212212046264B9847234BB5 -:105BD0001C6810340020224B984700EB8000C00066 -:105BE0005030B0F5A07F80F2AE8201221321204612 -:105BF0001C4B9847194B1C6810340020184B9847D1 -:105C0000C0EB00105030B0F5A07F80F2AB820122D3 -:105C100010212046134B9847104B1C68103400206D -:105C20000F4B9847C0EB00105030B0F5A07F80F2CA -:105C3000A7820122112120460A4B9847074B1C6876 -:105C400010340020064B984700EB80008000503055 -:105C5000B0F5A07F0AE000BFCD6F0000D86B002038 -:105C6000E5140100896E00001171000080F2968237 -:105C7000012214212046BD4DA847BD4C20680322B7 -:105C800040211030A847206800224C211030B94E26 -:105C9000B04720687F224FF413711030B04720685E -:105CA000A28949211030B44EB0472068E28940F201 -:105CB00049411030B04720689622B0211030A847E3 -:105CC00020683C22B5211030A84720682922B6213F -:105CD0001030A84720684C22B7211030A847206810 -:105CE0009622B1211030A8472068002241F2B1016C -:105CF0001030A84720681430A04B9847246814340B -:105D000000209F4B9847322800F2668200209D4B6E -:105D1000984700EB800080005030B0F5A07F80F203 -:105D20004C82012214212046904B9847904B1868D2 -:105D30001830924B98470020914B9847322800F238 -:105D4000758200208F4B984700EB80004000503058 -:105D5000B0F5A07F80F25B820124854E3068224638 -:105D600012211830814DA84730682246132118307F -:105D7000A8473068224610211830A84730682246CC -:105D800011211830A8473068224614211830A8473E -:105D900070BD00207B4B98470A30C0007A4B83FBD4 -:105DA0000023C217C2EBA31212B2FFF7ADB91F2333 -:105DB0003F211C46FFF7BDB90020724B98472830A1 -:105DC0004000714B83FB0023C217C2EBA31212B237 -:105DD000FFF7EDB907230F210824FFF703BA0723C4 -:105DE0000F210824FFF71BBA07230F210824FFF710 -:105DF0002CBA07230F210824FFF73EBA0020614B7D -:105E00009847C0EB00105030B0F5A07F02DA0124B3 -:105E1000FFF758BA00205B4B9847C0EB001050309A -:105E2000594A82FB0032C417C4EBA214A4B2FFF794 -:105E300049BA0020534B9847C0EB00104000503047 -:105E4000514A82FB0032C417C4EBA214A4B2FFF77C -:105E500039BA00204B4B9847283040004A4B83FB0F -:105E60000023C217C2EBA31292B2FFF735BA00208B -:105E7000444B9847C0EB00105030B0F5A07F02DAD9 -:105E80000124FFF755BA00203E4B9847C0EB0010A5 -:105E900050303D4A82FB0032C417C4EBA214A4B2B6 -:105EA000FFF746BA0020374B9847C0EB0010400080 -:105EB0005030354A82FB0032C417C4EBA214A4B29E -:105EC000FFF736BA00202F4B9847283040002E4B62 -:105ED00083FB0023C217C2EBA31292B2FFF732BAC0 -:105EE0000020284B9847C0EB00105030B0F5A07F41 -:105EF00002DA0124FFF741BA0020224B9847C0EB99 -:105F000000105030204A82FB0032C417C4EBA214A8 -:105F1000A4B2FFF732BA00201A4B9847C0EB00102A -:105F200040005030184A82FB0032C417C4EBA21460 -:105F3000A4B2FFF722BA0020124B98472830400045 -:105F4000114B83FB0023C217C2EBA31292B2FFF7DF -:105F50001EBA00200B4B9847C0EB00105030B0F534 -:105F6000A07F13DA0124FFF72DBA00BF896E00006D -:105F7000D86B002011710000CD6F000009500100A6 -:105F800001150100E5140100676666660020B54B47 -:105F90009847C0EB00105030B34A82FB0032C41760 -:105FA000C4EBA214A4B2FFF70DBA0020AD4B984782 -:105FB000C0EB001040005030AB4A82FB0032C417E7 -:105FC000C4EBA214A4B2FFF7FDB90020A54B98477B -:105FD00028304000A44B83FB0023C217C2EBA3125E -:105FE00092B2FFF7F9B900209E4B9847C0EB001022 -:105FF0005030B0F5A07F02DA0122FFF708BA002086 -:10600000984B9847C0EB00105030974B83FB002310 -:10601000C217C2EBA31212B2FFF7F9B90020914BDD -:106020009847C0EB0010400050308F4B83FB00239B -:10603000C217C2EBA31212B2FFF7E9B91B23392131 -:106040001D24FFF720BA1D233B211C46FFF79FBAF2 -:106050001F233F211C46FFF7D3BA192333211C46C7 -:10606000FFF7F7BA07230F210824FFF75ABB0723CE -:106070000F210824FFF791BB1F233F211C46FFF788 -:10608000DEBB7A4D6B7BDB084C2101FB03F303F293 -:10609000B17303EB032203EBC213C3F3C453AC8904 -:1060A000C4F3451441F2C80201FB042404EB0422AA -:1060B00004EBC214C4F3C5542A7B02F01F0201FB97 -:1060C00002F101F6CA1101EB012201EBC211C1F389 -:1060D000C451FFF7F5BB1F233F211C4625E40020D8 -:1060E000604B9847283040005F4B83FB0023C2176A -:1060F000C2EBA31212B26CE40623102109247EE441 -:1061000006231021092491E4062310210924C1E467 -:10611000062310210924D4E406231021092404E5D0 -:1061200006231021092416E500204E4B984700EB6A -:106130008000C00050304C4B83FB0023C217C2EBE1 -:10614000A31212B23FE50020464B984700EB8000B7 -:10615000C0005030444B83FB0023C217C2EBA31294 -:1061600012B243E500203F4B9847C0EB001050307F -:106170003D4B83FB0023C217C2EBA31212B247E5CB -:106180000020384B9847C0EB00105030364B83FB53 -:106190000023C217C2EBA31212B24BE50020314B11 -:1061A000984700EB8000800050302F4B83FB00238A -:1061B000C217C2EBA31212B25BE50020294B98472D -:1061C00000EB800080005030274B83FB0023C21778 -:1061D000C2EBA31212B2A5E50020224B984700EBB8 -:1061E0008000C0005030B0F5A07F01DA012299E5AF -:1061F00000201C4B984700EB8000C00050301A4B29 -:1062000083FB0023C217C2EBA31212B28AE500205F -:10621000144B984700EB800040005030124B83FB3A -:106220000023C417C4EBA31424B296E500200D4B41 -:10623000984700EB800080005030B0F5A07F01DA75 -:1062400001248AE50020074B984700EB800080007E -:106250005030054B83FB0023C417C4EBA31424B2B6 -:106260007BE500BFE514010067666666D86B002019 -:10627000F8B5544C20682430534B9847206847F6B3 -:10628000FF7201212430514B98472068FF222C21B6 -:1062900024304F4B98472068236A13F0020314BF41 -:1062A0001A210821002B15BF352412241B23092392 -:1062B0004FF0000263F3040264F34A1261F3CF2249 -:1062C00029212430434B98473E4B186824301B6AE1 -:1062D00013F0020F6DD11F233F211C464FF0000227 -:1062E00064F3040261F34A1263F3CF227921394D3A -:1062F000A847344C2068A28949212430A847206847 -:10630000E28940F249412430A847206800224C210C -:1063100024302F4FB84720687F224FF41371243068 -:10632000B8472068032240212430284EB047206817 -:106330009622B0212430B04720684C22B721243067 -:10634000B04720682830204B98472068FF222C2136 -:106350002830B847206847F6FF7201212830B0473F -:106360002068A28929212830A847206811234FF0EE -:10637000000263F30402222161F34A1263F3CF2285 -:1063800042F229012830A84720682830236A13F0F8 -:10639000020F12D11F233F211C464FF0000264F36D -:1063A000040261F34A1263F3CF227921094B984723 -:1063B000F8BD06231021092490E7082310210924A1 -:1063C000EBE700BFD86B002009500100896E000088 -:1063D00011710000CD6F000010B5A04C2068903006 -:1063E0009F4B98472068FF222C2190309D4B984767 -:1063F00020689030236A13F0020F19BF23469A8950 -:10640000994B1A882921994B9847944B18689030DA -:106410001B6A13F0020F40F0A9801F233F211C4686 -:106420004FF0000264F3040261F34A1263F3CF22D7 -:1064300079218E4B9847894C206847F6FF720121DD -:1064400090308B4B9847246890340020894B9847B4 -:10645000C0EBC0005030B0F5A07F80F28B800122ED -:1064600012212046824B98477C4B1C6890340020B8 -:10647000804B9847C0EBC0005030B0F5A07F80F251 -:106480008780012213212046794B9847734B1C6863 -:1064900090340020774B9847C0EBC0005030B0F5E7 -:1064A000A07F80F28380012210212046704B984704 -:1064B0006A4B1C68903400206E4B9847C0EBC000BC -:1064C0005030B0F5A07F7FDA012211212046684BC1 -:1064D0009847624C20689430614B98472468943404 -:1064E0000020644B984700EB800040005030B0F52E -:1064F000A07F77DA0122172120465D4B9847574B42 -:106500001C68943400205B4B984700EB80004000EF -:106510005030B0F5A07F74DA012218212046544B88 -:1065200098474E4B1C6894340020524B984700EB20 -:10653000800040005030B0F5A07F71DA01221521B3 -:1065400020464B4B9847454B1C6894340020494BE0 -:10655000984700EB800040005030B0F5A07F6EDA25 -:10656000012216212046424B984710BD06231021D8 -:10657000092455E700203F4B9847C0EBC00050303E -:106580003D4B83FB0023C217C2EBA31212B267E795 -:106590000020384B9847C0EBC0005030364B83FB8F -:1065A0000023C217C2EBA31212B26BE70020314BDB -:1065B0009847C0EBC00050302F4B83FB0023C2171D -:1065C000C2EBA31212B26FE700202A4B9847C0EB30 -:1065D000C0005030284B83FB0023C217C2EBA3122C -:1065E00012B272E70020234B984700EB8000400076 -:1065F0005030214B83FB0023C217C2EBA31212B20F -:1066000079E700201B4B984700EB8000400050309A -:10661000194B83FB0023C217C2EBA31212B27CE713 -:106620000020144B984700EB800040005030124B84 -:1066300083FB0023C217C2EBA31212B27FE7002034 -:106640000C4B984700EB8000400050300A4B83FB16 -:106650000023C217C2EBA31212B282E7D86B00204C -:106660000950010011710000680A0200CD6F00009E -:10667000896E0000E51401006766666610B5484C37 -:1066800020689C30474B98472068FF222C219C3083 -:10669000454B98472068454B1A8829219C30444B2C -:1066A0009847206847F6FF7201219C30414B98477C -:1066B00024689C340020404B984714308000B0F58B -:1066C000A07F39DA4FF0FF3210212046394B98472E -:1066D000334B1C689C340020374B984714308000A3 -:1066E000B0F5A07F35DA4FF0FF3211212046314B53 -:1066F00098472B4B1C689C3400202F4B9847143034 -:106700008000B0F5A07F31DA4FF0FF321221204631 -:10671000284B9847224B1C689C340020264B9847F6 -:1067200014308000B0F5A07F2DDA4FF0FF32132136 -:106730002046204B984710BD00201F4B984714302F -:1067400080001E4B83FB0023C217A2EBA31212B2E0 -:10675000BAE70020184B984714308000174B83FB92 -:106760000023C217A2EBA31212B2BEE70020124B05 -:10677000984714308000114B83FB0023C217A2EB13 -:10678000A31212B2C2E700200B4B984714308000CE -:106790000A4B83FB0023C217A2EBA31212B2C6E777 -:1067A000D86B00200950010011710000680A020036 -:1067B000CD6F0000896E0000E51401006766666613 -:1067C00038B5884C20687030874B9847206847F66A -:1067D000FF7201217030854B984724687034002087 -:1067E000834B984700EB800080005030B0F5A07FCD -:1067F00080F28E800122122120467C4B9847794BF3 -:106800001C68703400207A4B984700EB80008000B1 -:106810005030B0F5A07F80F28A80012213212046FB -:10682000724B98476F4B1C6870340020704B984730 -:1068300000EB800080005030B0F5A07F80F28680B1 -:10684000012210212046694B9847664B1C68703422 -:106850000020674B9847C0EB001040005030B0F567 -:10686000A07F80F282800122142120465F4B98474E -:106870005C4B1C68703400205D4B984700EB800037 -:1068800000EB80005030B0F5A07F7DDA0122C021FE -:106890002046564B9847534C2068A2899921703066 -:1068A000544DA8472068A289C9217030A8472068A4 -:1068B00011234FF0000263F30402222161F34A1214 -:1068C00063F3CF22CA217030A847246870340020B7 -:1068D000474B984700EB800040005030B0F5A07F58 -:1068E00062DA012290212046404B98473D4B1C68BC -:1068F000703400203E4B9847C0EBC0005030B0F5DC -:10690000A07F60DA0122C3212046384B984738BD6A -:106910000020374B984700EB800080005030364B0A -:1069200083FB0023C217C2EBA31212B263E700205D -:106930002F4B984700EB8000800050302E4B83FB9C -:106940000023C217C2EBA31212B267E70020284B44 -:10695000984700EB800080005030274B83FB0023DA -:10696000C217C2EBA31212B26BE70020204B98476C -:10697000C0EB0010400050301F4B83FB0023C217B8 -:10698000C2EBA31212B26FE70020194B984700EB3D -:10699000800000EB80005030174B83FB0023C217B0 -:1069A000C2EBA31212B272E70020114B984700EB22 -:1069B000800040005030104B83FB0023C217C2EB15 -:1069C000A31212B28EE70020094B9847C0EBC0001B -:1069D0005030094B83FB0023C217C2EBA31212B243 -:1069E00091E700BFD86B002009500100896E0000BC -:1069F000E5140100CD6F000067666666F8B5C04C0F -:106A000020685C30BF4B9847206811254FF000028A -:106A100065F30402222767F34A1265F3CF22992116 -:106A20005C30B94EB04720684FF0000265F30402B5 -:106A300067F34A1265F3CF22C9215C30B047206862 -:106A4000A289CA215C30B04724685C340020AF4B77 -:106A5000984700EB80005030B0F5A07F80F268814D -:106A6000012290212046AA4B9847A54B1C685C3414 -:106A70000020A64B984714308000B0F5A07F80F22C -:106A800065810122C3212046A14B98479C4B1C687D -:106A90005C3400209D4B98470A30C000B0F5A07FC1 -:106AA00080F261810122C2212046994B9847944B84 -:106AB0001C685C340020954B984700EB80008000F8 -:106AC0005030B0F5A07F80F25B8101221221204678 -:106AD0008F4B98478A4B1C685C3400208B4B98473F -:106AE00000EB800080005030B0F5A07F80F257812D -:106AF000012213212046864B9847814B1C685C3449 -:106B00000020824B984700EB800080005030B0F5A9 -:106B1000A07F80F253810122102120467C4B9847B0 -:106B2000774B1C685C340020784B984700EB800062 -:106B300080005030B0F5A07F80F24F8101221421F7 -:106B40002046734B98476E4B1C685C3400206F4B9B -:106B50009847C0EB00105030B0F5A07F80F24C8118 -:106B60000122C02120466A4DA847654C206847F69F -:106B7000FF7201215C30A84720686030614B984764 -:106B8000206811254FF0000265F30402222767F305 -:106B90004A1265F3CF22992160305B4EB0472068DE -:106BA0004FF0000265F3040267F34A1265F3CF2247 -:106BB000C9216030B0472068A289CA216030B0473F -:106BC000246860340020514B98470A30C000B0F56B -:106BD000A07F80F21F810122902120464C4B9847D4 -:106BE000474B1C6860340020484B98470A30C0006F -:106BF000B0F5A07F80F21B810122C3212046444BC7 -:106C000098473F4B1C6860340020404B984700EB8E -:106C1000800000EB80005030B0F5A07F80F214813E -:106C20000122C02120463A4B9847354C20686430F9 -:106C3000344B984720686430236A13F0020F40F009 -:106C400013811F233F211C464FF0000264F304020E -:106C500061F34A1263F3CF2299212B4B9847284BBB -:106C60001C6864340020294B98470A30C000B0F5F6 -:106C7000A07F80F2FD80012290212046244B98477E -:106C80001F4C2068FF222C216430224B984720683B -:106C90006430236A13F0020F40F0F7801F233F2176 -:106CA0001C464FF0000264F3040261F34A1263F3DE -:106CB000CF222921144B9847114C206847F6FF72C8 -:106CC00001216430124B98472468643400200F4B34 -:106CD0009847C0EB001040005030B0F5A07F80F224 -:106CE000D880012203212046094B9847044B1C6899 -:106CF00064340020054B984700EB80000CE000BF97 -:106D0000D86B002009500100CD6F0000E514010090 -:106D1000896E00001171000040005030B0F5A07F76 -:106D200080F2C680012214212046694B9847F8BDA5 -:106D30000020684B984700EB80005030664B83FB87 -:106D40000023C217C2EBA31212B28AE60020614BE5 -:106D5000984714308000604B83FB0023C217C2EBBE -:106D6000A31212B28EE600205A4B98470A30C00098 -:106D7000594B83FB0023C217C2EBA31212B292E657 -:106D80000020544B984700EB800080005030524B5D -:106D900083FB0023C217C2EBA31212B296E60020B7 -:106DA0004C4B984700EB8000800050304A4B83FBEF -:106DB0000023C217C2EBA31212B29AE60020454B81 -:106DC000984700EB800080005030434B83FB00234A -:106DD000C217C2EBA31212B29EE600203D4B9847A9 -:106DE00000EB8000800050303B4B83FB0023C21738 -:106DF000C2EBA31212B2A2E60020364B9847C0EBBA -:106E000000105030344B83FB0023C217C2EBA31297 -:106E100012B2A6E600202F4B98470A30C0002E4B36 -:106E200083FB0023C217C2EBA31212B2D4E60020E8 -:106E3000284B98470A30C000274B83FB0023C2171A -:106E4000C2EBA31212B2D8E60020224B984700EB07 -:106E5000800000EB800050301F4B83FB0023C217E3 -:106E6000C2EBA31212B2DCE6082312210B24EBE6DC -:106E70000020184B98470A30C000174B83FB0023B3 -:106E8000C217C2EBA31212B2F6E6082312210B249A -:106E900007E700200F4B9847C0EB00104000503030 -:106EA0000D4B83FB0023C217C2EBA31212B219E7EA -:106EB0000020084B984700EB800040005030064B04 -:106EC00083FB0023C217C2EBA31212B22BE700BF51 -:106ED000896E0000E51401006766666638B53D4CB2 -:106EE00020681C303C4B98472068A28999211C30AF -:106EF0003A4B984724681C340020394B984700EBE4 -:106F0000800000EB80005030B0F5A07F41DA012214 -:106F100090212046334DA8472E4C20680122942111 -:106F20001C30A847206820302B4B98472068236AE4 -:106F300013F0020314BF1A210821002B15BF3524BA -:106F400012241B2309234FF0000263F3040264F3AD -:106F50004A1261F3CF2299212030204B98471D4BD4 -:106F60001C68203400201E4B984700EB800000EB8B -:106F700080005030B0F5A07F1BDA0122902120461E -:106F8000184CA047134B1868012294212030A047C9 -:106F900038BD0020124B984700EB800000EB8000CA -:106FA0005030114B83FB0023C217C2EBA31212B265 -:106FB000AEE700200A4B984700EB800000EB800012 -:106FC0005030094B83FB0023C217C2EBA31212B24D -:106FD000D4E700BFD86B002009500100CD6F00003E -:106FE000E5140100896E000067666666F8B5384CE6 -:106FF00020686C30374B98472068FF222C216C307A -:10700000354DA8472068A28929216C30334FB847F5 -:107010002068022230216C30314EB04720687F2238 -:107020003C216C30A84725686C354C21A0892D4B3C -:107030009847024639212846B847206847F6FF722C -:1070400001216C30B04724686C340020264B9847EF -:10705000C0EB00105030B0F5A07F1CDA01225021A7 -:1070600020461F4B98471A4C2068A28959216C3042 -:107070001A4B984724686C3400201B4B984700EB50 -:1070800080005030B0F5A07F13DA01225321204652 -:10709000134B9847F8BD0020134B9847C0EB0010E6 -:1070A0005030124B83FB0023C217C2EBA31212B263 -:1070B000D5E700200C4B984700EB800050300B4B7D -:1070C00083FB0023C217C2EBA31212B2DEE700BF9C -:1070D000D86B00200950010011710000CD6F000035 -:1070E000896E00004F210100E514010067666666A5 -:1070F0002DE9F04180460F4615461E46B24B1B79DE -:10710000002B01F06983B04CA4F80C80E781266164 -:10711000069B6361079BA361089BE3612562AB4B00 -:107120009847AB4B9847AB4B9847AB4B9847AB4B0B -:107130009847AB4B9847AB4B9847AB4B9847206869 -:107140004030AA4B984720684030236A13F0020F62 -:1071500041F04B8314232B2117244FF0000264F3DA -:10716000040261F34A1263F3CF2248F28901A04B73 -:107170009847954C206844309C4B98472468443489 -:1071800000209C4B98475030B0F5A07F81F23283AD -:10719000012290212046984B98478B4B1C68443421 -:1071A0000020944B984700EB800040005030B0F531 -:1071B000A07F81F22C830122922120468E4B98479A -:1071C000814B1C68443400208A4B984700EB8000B8 -:1071D00040005030B0F5A07F81F229830122932135 -:1071E0002046854B9847784B18681B6A13F00203BA -:1071F00014BF1A211021002B15BF372422241C2371 -:1072000012234FF0000263F3040264F34A1261F3A5 -:10721000CF2299214430764B98476B4C20684830F8 -:10722000724B9847246848340020724B984700EB13 -:1072300040005030B0F5A07F81F2098301229021F7 -:1072400020466D4B9847604B1C6848340020694BC2 -:10725000984714308000B0F5A07F81F207830122A7 -:1072600003212046644B9847574B1C684834002044 -:10727000604B984728304000B0F5A07F81F204832E -:107280000122142120465C4B98474F4B1C68483420 -:107290000020584B98475030B0F5A07F81F2028310 -:1072A000012201212046544B9847474C206830303A -:1072B0004E4B9847246830340020504B98470128A3 -:1072C00041F2FD8200204B4B9847C0EB001040007C -:1072D0005030B0F5A07F81F20D83012210212046AD -:1072E000454B9847384B1C6830340020434B984737 -:1072F000012841F20F8300203E4B9847C0EB00105D -:1073000040005030B0F5A07F81F236830122122177 -:107310002046394B98472C4B1C6830340020374BA3 -:107320009847012841F238830020324B9847C0EB40 -:10733000001040005030B0F5A07F81F24883012258 -:10734000132120462C4B98471F4B1C6830340020DB -:107350002A4B9847012841F24A830020254B984741 -:10736000C0EB001040005030B0F5A07F81F25A838E -:10737000012211212046204B9847134B18681B6AA5 -:1073800013F0020314BF22213F21002B14BF11234D -:107390001F234FF0000263F3040261F34A1263F308 -:1073A000CF2249F289013030114B9847064C2068B2 -:1073B00034300E4B984720683430236A13F0020FA4 -:1073C00041F040831CE000BFD86B00202950010031 -:1073D00071620100ED6F0100D96301007D6601005B -:1073E000C1670100FD690100DD6E01000950010067 -:1073F000CD6F0000E5140100896E00000115010049 -:107400001D233B211C464FF0000264F3040261F38C -:107410004A1263F3CF2248F28901B84B9847B84B20 -:107420001C6834340020B74B9847012841F20F8381 -:107430000020B54B9847C0EB001040005030B0F52D -:10744000A07F81F21F83012212212046AF4B984773 -:10745000AB4B1C6834340020AA4B9847012841F2FA -:1074600021830020A84B9847C0EB0010400050300B -:10747000B0F5A07F81F23183012213212046A34B76 -:1074800098479F4B1C68343400209E4B9847012836 -:1074900041F2338300209C4B9847C0EB0010400022 -:1074A0005030B0F5A07F81F24383012211212046A4 -:1074B000964B9847924C20682C30954B98472468FF -:1074C0002C340020904B984714308000B0F5A07FFA -:1074D00081F23E830122012120468C4B9847884B44 -:1074E00018682C301B6A13F0020F41F03F831F23F2 -:1074F0003F211C464FF0000264F3040261F34A127C -:1075000063F3CF2248F289117C4B98477C4B186873 -:107510001B6A13F0020F14BF332266224FF49671D8 -:107520002C307C4DA847764C2068332241F22C0148 -:107530002C30A8472068FF224FF40B712C30A8474D -:107540002068754B1A8848F289212C306B4DA8476A -:107550002068A28940F229212C30A8472068236A9C -:1075600013F0020314BF19213F21002B14BF0C2379 -:107570001F234FF0000263F3040261F34A1263F326 -:10758000CF2229212C30A8472068A28940F2291156 -:107590002C30A847206802224FF498712C305B4EA3 -:1075A000B0472068042240F231112C30B0472068E7 -:1075B000A28940F239112C30A84724682C340020CD -:1075C000514B984700EB40005030B0F5A07F81F25E -:1075D000D2820122142120464C4B9847484B1C680C -:1075E0002C340020474B9847012841F2D3820020D9 -:1075F000454B9847C0EB001040005030B0F5A07FDD -:1076000081F2E382012212212046404B98473C4BF5 -:107610001C682C3400203B4B9847012841F2E5823E -:107620000020394B9847C0EB001040005030B0F5B7 -:10763000A07F81F2F582012213212046334B984727 -:107640002F4B1C682C3400202E4B9847012841F208 -:10765000F78200202C4B9847C0EB001040005030C0 -:10766000B0F5A07F81F20783012211212046274B2C -:107670009847234C20683830254B98472468383485 -:107680000020214B9847C0EB001040005030B0F56F -:10769000A07F81F205830122C02120461B4B984721 -:1076A000174C2068FF222C2138301A4B984720684D -:1076B000236A13F0020314BF1D210821002B15BFFC -:1076C0003B2412241E230B234FF0000263F3040219 -:1076D00064F34A1261F3CF2229213830074B9847CF -:1076E000074B1C6838340020074B984700EB80009C -:1076F00080005030B0F5A07F10E000BFCD6F0000DB -:10770000D86B002001150100E5140100896E00000E -:107710000950010011710000680A020081F2D08254 -:10772000012214212046B64EB047B64C206847F6D9 -:10773000FF7201213830B04720683C30B24B984787 -:10774000206847F6FF7201213C30B0472068AF4FF8 -:107750003A8829213C30AE4DA8472068FF222C21D1 -:107760003C30AC4B98472068022230213C30B04777 -:107770002068BA8839213C30A8472068A28940F2A5 -:1077800039213C30A8472068E28940F239413C3039 -:10779000A84724683C3400209F4B984700EB4003E7 -:1077A00000EB83005030B0F5A07F81F29982012276 -:1077B00012212046924B9847924B1C683C34002083 -:1077C000954B984700EB400300EB83005030B0F539 -:1077D000A07F81F29682012213212046884B984790 -:1077E000884B1C683C3400208B4B984700EB4003CF -:1077F00000EB83005030B0F5A07F81F2938201222C -:10780000102120467E4B98477E4B1C683C3400205C -:10781000814B984700EB400300EB83005030B0F5FC -:10782000A07F81F29082012211212046744B98475B -:10783000744C20684C30744B984724684C340020BA -:10784000754B984714308000B0F5A07F81F28C8290 -:107850000122012120466A4B98476A4B1C684C3430 -:1078600000206D4B984700EB800040005030B0F591 -:10787000A07F81F28782012214212046604B984725 -:10788000604C2068A28949214C30614B98472068A0 -:1078900000224C2108445F4DA84720687F224FF406 -:1078A00013714C30A84724684C3400205A4B984739 -:1078B00000EB40005030B0F5A07F81F273820122CE -:1078C000402120464E4B98474E4B1C684C340020BC -:1078D000514B984700EB800040005030B0F5A07F3E -:1078E00081F26F82012241212046454DA847454C37 -:1078F00020689622B0214C30A84720684C22B7213E -:107900001044A847206850303F4B98472068002219 -:107910004FF4137150303F4B984724685034002087 -:107920003D4B984714308000B0F5A07F81F259821A -:10793000012201212046324B9847324C2068374AB9 -:107940004FF4B7715030364DA84720682F4B1A8836 -:1079500040F2691150302E4B98472068226948F256 -:107960008E115030A8472468503400202A4B984785 -:1079700000EB40005030B0F5A07F81F24082012240 -:10798000122120461E4B98471E4B1C685034002085 -:10799000214B984700EB40005030B0F5A07F81F2BA -:1079A0003D82012213212046154B9847154B1C6838 -:1079B00050340020184B984700EB40005030B0F591 -:1079C000A07F81F23A820122102120460C4B984779 -:1079D0000C4B1C68503400200F4B984700EB4000C4 -:1079E0005030B0F5A07F81F237820122112120466C -:1079F000034DA847034C20686830034B984711E0BB -:107A0000896E0000D86B002009500100680A02004E -:107A1000CD6F000011710000E5140100700A020032 -:107A2000417200002068002201216830A8472468C4 -:107A300068340020B54B984714308000B0F5A07F23 -:107A400081F21982012230212046B14DA847B14C64 -:107A50002068022231216830A84720686830236AF4 -:107A600013F0020F41F01582002319461C464FF017 -:107A7000000264F3040261F34A1263F3CF22392156 -:107A8000A54DA847A34C2068E28940F239416830EF -:107A9000A8472468683400209C4B984700EB80007E -:107AA0005030B0F5A07F81F2F981012212212046E9 -:107AB000974B9847974B1C6868340020934B984726 -:107AC00000EB80005030B0F5A07F81F2F6810122FA -:107AD000132120468E4B98478E4B1C68683400203B -:107AE0008A4B984700EB80005030B0F5A07F81F2C0 -:107AF000F381012210212046854B9847854B1C6855 -:107B000068340020814B984700EB80005030B0F57E -:107B1000A07F81F2F0810122112120467C4B984701 -:107B20007C4B1C6868340020784B984700EB400081 -:107B30005030B0F5A07F81F2ED8101221421204662 -:107B4000734B9847734C20687C30744B984724687B -:107B50007C3400206D4B9847322303FB00F05030FB -:107B6000B0F5A07F81F2E581012250212046684BCB -:107B70009847684B18681B6A13F002030CBF262154 -:107B80003021002B0CBF132318234FF0000263F3A6 -:107B9000040261F34A1263F3CF2259217C305E4B19 -:107BA00098475C4C206880305C4B98472068FF22E7 -:107BB0002C2180305A4B98472068236A13F0020327 -:107BC00014BF19210E21002B15BF33241F241A23A3 -:107BD00010234FF0000263F3040264F34A1261F3CE -:107BE000CF22292180304C4B98474A4C206847F6D9 -:107BF000FF7201218030464B984724688034002072 -:107C0000424B9847C0EBC0005030B0F5A07F81F2E6 -:107C1000A0810122032120463D4B98473D4B1C6823 -:107C200080340020394B9847C0EBC0005030B0F58D -:107C3000A07F81F29D81012213212046344B984779 -:107C4000344B1C6880340020304B9847C0EBC00098 -:107C50005030B0F5A07F81F29A8101221121204697 -:107C60002B4B98472B4C206884302C4DA84720681C -:107C7000FF222C2184302A4B9847206811234FF093 -:107C8000000263F30402222161F34A1263F3CF225C -:107C900029218430204B98472068B430A8472068B9 -:107CA000236A13F0020314BF06211421002B15BF11 -:107CB00010242A24092315234FF0000263F3040241 -:107CC00064F34A1261F3CF223921B430124B984742 -:107CD000104B1C68B43400200C4B984728304000EF -:107CE000B0F5A07F81F26281012230212046084B4D -:107CF0009847084B1C68B4340020044B9847503018 -:107D0000B0F5A07F81F2648101220BE0E51401004F -:107D1000896E0000D86B0020CD6F00000950010073 -:107D20001171000012212046BA4DA847BA4C2068B4 -:107D300004223121B430A8472068B830B74B9847A7 -:107D40002068B830236A13F0020F41F04E811423EB -:107D50002B2117244FF0000264F3040261F34A124E -:107D600063F3CF2248F28901AD4DA847AA4C2068A1 -:107D70009830AA4B98472068FF222C219830A94BB5 -:107D800098472068A28929219830A8472068A64BE7 -:107D90001A8848F289019830A8472468983400204E -:107DA000A24B9847642303FB00F05030B0F5A07F4E -:107DB00081F22081012210212046964B9847964B54 -:107DC0001C6898340020994B9847642303FB00F00B -:107DD0005030B0F5A07F81F21D8101221121204693 -:107DE0008C4DA8478C4C206874308C4EB04720686E -:107DF000012202217430A847206800221221743029 -:107E0000A8472068002213217430A8472068002268 -:107E100010217430A8472068002211217430A8472F -:107E20002068002214217430A84720687830B047B9 -:107E30002068FF222C2178307A4B984720687830D0 -:107E4000236A13F0020F41F0F5800B2318210E2452 -:107E50004FF0000264F3040261F34A1263F3CF228D -:107E600029216F4B98476C4B186878301B6A13F0C8 -:107E7000020F41F0E480092313210A244FF000028D -:107E800064F3040261F34A1263F3CF2241F2290141 -:107E9000634B9847604B186878301B6A13F0020FE9 -:107EA00041F0D2800B2318210E244FF0000264F31E -:107EB000040261F34A1263F3CF2242F22901584DC2 -:107EC000A847554C2068A28940F229117830A8476C -:107ED000266878363321A089554B9847024641F2EF -:107EE00029113046A84720687830236A13F0020F22 -:107EF00041F0AF801F233F211C464FF0000264F386 -:107F0000040261F34A1263F3CF2248F28901444D1F -:107F1000A847414C20684FF0FF3248F28911783071 -:107F2000A8472068236A13F0020314BF2A212621E0 -:107F3000002B14BF152313234FF0000263F3040238 -:107F400061F34A1263F3CF224AF289017830A847DD -:107F500020687830236A13F0020F41F07F801F23DE -:107F60003F211C464FF0000264F3040261F34A1201 -:107F700063F3CF2248F2A901294DA847264C206877 -:107F80004FF0FF3248F2A9117830A8472068236AE1 -:107F900013F0020314BF2A212621002B14BF15233E -:107FA00013234FF0000263F3040261F34A1263F3F8 -:107FB000CF224AF2A9017830A84720680122312156 -:107FC0007830144B98472068236A13F0020314BFDB -:107FD0001A211021002B15BF372422241C23122321 -:107FE0004FF0000263F3040264F34A1261F3CF22FC -:107FF00039217830A847084C2068A28940F23921FD -:108000007830A8472068012230217830014B98470A -:1080100010E000BF896E0000D86B002009500100FD -:10802000CD6F000011710000680A0200E514010024 -:10803000AB210100246878340020BA4B984701280E -:1080400041F211800020B84B9847C0EB001040006F -:108050005030B0F5A07F81F221800122122120460C -:10806000B24B9847B24B1C6878340020AD4B984710 -:10807000012841F223800020AB4B9847C0EB001051 -:1080800040005030B0F5A07F81F2338001221321EF -:108090002046A64B9847A64B1C6878340020A14B7D -:1080A0009847012841F2358000209F4B9847C0EB4C -:1080B000001040005030B0F5A07F81F245800122D1 -:1080C00010212046994B9847994B1C687834002022 -:1080D000944B9847012841F247800020924B9847E3 -:1080E000C0EB001040005030B0F5A07F81F2578007 -:1080F0000122112120468D4B98478D4B1C68783406 -:108100000020884B9847012841F259800020864B77 -:108110009847C0EB001040005030B0F5A07F81F2CE -:108120006980012214212046804B9847804B1C68AF -:10813000783400207B4B9847012841F26B80002067 -:10814000794B9847C0EB001040005030B0F5A07F4D -:1081500081F27C804FF0FF3204212046734DA84706 -:10816000734C2068002241F204017830A84720684F -:1081700000224FF482717830A8472068002242F232 -:1081800004017830A84720689622B0217830A847AB -:1081900020682922B7217830A84720680422B62118 -:1081A0007830A84720685430624B9847246854348C -:1081B00000205D4B984700EB800080005030B0F508 -:1081C000A07F81F25380012248F281012046574D61 -:1081D000A847574C2068012202215430A847206844 -:1081E0005830544B98472068FF222C215830524B6E -:1081F00098472068A28929215830504DA847206807 -:108200004FF0FF3248F289015830A84720685830B3 -:10821000236A13F0020F41F03980092313210A2445 -:108220004FF0000264F3040261F34A1263F3CF22B9 -:1082300041F22901414B98473D4B186858301B6A61 -:1082400013F0020F41F027801F233F211C464FF0FF -:10825000000264F3040261F34A1263F3CF2249F28D -:108260008901364B9847324C20688830314B98470B -:108270002468883400202C4B984700EB800000EBEA -:1082800080005030B0F5A07F81F20A80012248F2D0 -:1082900081012046254B9847254C20688C30254E7F -:1082A000B0472068FF222C218C30234DA84720683E -:1082B000A28929218C30214FB8472068204B1A8889 -:1082C00048F289018C30B8472068A830B047206850 -:1082D000FF222C21A830A8472068A830236A13F079 -:1082E000020F40F0EE870B2318210E244FF00002FE -:1082F00064F3040261F34A1263F3CF2229210F4B86 -:1083000098470B4B18681B6A13F0020314BF1C211B -:108310000721002B15BF3A240F241E2308234FF0FA -:1083200000020FE001150100E5140100896E000054 -:10833000D86B00200950010011710000CD6F0000C2 -:10834000680A020063F3040264F34A1261F3CF2265 -:108350003921A830B64B9847B64B1C68A83400208A -:10836000B54B984700EB80005030B0F5A07F80F20D -:10837000AD87012230212046B04DA847AD4C206882 -:1083800001223121A830A8472068236A13F0020394 -:1083900014BF07211C21002B15BF0F243A240823EA -:1083A0001D234FF0000263F3040264F34A1261F3E9 -:1083B000CF2248F28901A8309D4DA8479D4C2068E6 -:1083C000626948F28E01A8309D4B984720684FF0B3 -:1083D0000002132363F30402262363F34A121223D9 -:1083E00063F3CF2248F2A901A830A8472468A83433 -:1083F0000020914B9847C0EBC0005030B0F5A07FF3 -:1084000080F273870122102120468C4B9847894BBC -:108410001C68A8340020884B9847C0EBC00050303F -:10842000B0F5A07F80F27487012212212046834B91 -:108430009847804B1C68A83400207F4B9847C0EBBE -:10844000C0005030B0F5A07F80F271870122132167 -:1084500020467A4B9847774C2068A430794B984750 -:1084600020687F2241F22C01A430774B9847206886 -:1084700011234FF0000263F30402222161F34A1238 -:1084800063F3CF2241F22901A430694B9847206859 -:10849000236A13F0020314BF07211C21002B15BF10 -:1084A0000F243A2408231D234FF0000263F3040233 -:1084B00064F34A1261F3CF2248F28911A4305C4B75 -:1084C00098475C4B1C68A43400205B4B984700EB3A -:1084D000800080005030B0F5A07F80F23787012205 -:1084E00010212046554B9847524B1C68A43400205D -:1084F000514B984700EB800080005030B0F5A07FD2 -:1085000080F234870122112120464C4B9847494C78 -:108510002068A28948F28921A430454DA8472068E7 -:10852000E28948F28941A430A8472068AC30454B25 -:1085300098472068FF222C21AC30434B9847206895 -:10854000A2892921AC30A8472068E28940F229415C -:10855000AC30A8472468AC340020374B984700EB78 -:1085600080005030B0F5A07F80F2108701220321F7 -:108570002046324DA8472F4C206847F6FF72012154 -:10858000AC30A8472068B0302E4B98472468B034F0 -:1085900000202E4B9847012840F207870020264BE9 -:1085A0009847C0EB001040005030B0F5A07F80F23B -:1085B0001787012210212046204B98471D4B1C682D -:1085C000B0340020214B9847012840F21987002041 -:1085D000194B9847C0EB001040005030B0F5A07F19 -:1085E00080F22987012211212046144B9847114B14 -:1085F0001C68B0340020154B9847012840F22B87A7 -:1086000000200D4B9847C0EB001040005030B0F5F3 -:10861000A07F80F23B87012212212046074B98471A -:10862000044B1C68B0340020084B984701280FE029 -:10863000CD6F0000D86B0020E5140100896E0000AA -:108640004172000009500100117100000115010084 -:1086500040F22C870020BD4B9847C0EB0010400033 -:108660005030B0F5A07F80F23C87012213212046D4 -:10867000B74B9847B74B1C68B0340020B64B9847AF -:10868000012840F23E870020B04B9847C0EB001015 -:1086900040005030B0F5A07F80F24E8701221421B7 -:1086A0002046AB4B9847AB4C2068A030AB4B98476B -:1086B0002068236A13F0020314BF1A211021002B33 -:1086C00015BF372422241C2312234FF0000263F32A -:1086D000040264F34A1261F3CF223921A030A04B87 -:1086E00098479C4C206801223021A030984DA84723 -:1086F000206803223121A030A8472468A03400203C -:10870000954B9847012840F2278700208F4B9847C8 -:10871000C0EB001040005030B0F5A07F80F23787EA -:108720000122122120468A4B98478A4B1C68A034AC -:108730000020894B9847012840F239870020834B5D -:108740009847C0EB001040005030B0F5A07F80F299 -:1087500049870122132120467D4B98477D4B1C6899 -:10876000A03400207C4B9847012840F24B87002022 -:10877000764B9847C0EB001040005030B0F5A07F1A -:1087800080F26087012210212046714B9847714B7F -:108790001C68A0340020704B9847012840F2628783 -:1087A00000206A4B9847C0EB001040005030B0F5F5 -:1087B000A07F80F27287012211212046644B9847E6 -:1087C000644C684BA360012323710020664B9847DB -:1087D00004F10800BDE8F081BC20644B9847644B6D -:1087E00018605C4B1860FEF78EBC15232A211C46CE -:1087F000FEF7B3BC0020554B984750305D4B83FBD0 -:108800000023C217C2EBA31212B2FEF7C2BC0020B3 -:108810004E4B984700EB800040005030554B83FB97 -:108820000023C217C2EBA31212B2FEF7C5BC002090 -:10883000464B984700EB8000400050304D4B83FB87 -:108840000023C217C2EBA31212B2FEF7C8BC00206D -:108850003E4B984700EB40005030464B83FB0023D3 -:10886000C217C2EBA31212B2FEF7E9BC0020374BCD -:108870009847143080003F4B83FB0023C217C2EBA4 -:10888000A31212B2FEF7ECBC0020304B9847283000 -:108890004000384B83FB0023C217C2EBA31212B275 -:1088A000FEF7EFBC0020294B98475030314B83FB3B -:1088B0000023C217C2EBA31212B2FEF7F2BC0020D3 -:1088C000224B9847C0EB00105030B0F5A07F02DA81 -:1088D0000122FEF703BD00201C4B9847C0EB00109F -:1088E0005030244B83FB0023C217C2EBA31212B2F9 -:1088F000FEF7F4BC0020154B9847C0EB0010400079 -:1089000050301C4B83FB0023C217C2EBA31212B2E0 -:10891000FEF7E4BC00200D4B9847C0EB0010503030 -:10892000B0F5A07F02DA0122FEF7F1BC0020074B70 -:108930009847C0EB001050300E4B83FB0023C2174A -:10894000C2EBA31212B2FEF7E2BC00BFE5140100B5 -:10895000896E0000D86B002001150100095001004C -:10896000CD6F0000A1470100DD4200008529010014 -:10897000646D0020676666660020C74B9847C0EBB1 -:10898000001040005030C54B83FB0023C217C2EBE0 -:10899000A31212B2FEF7BBBC0020BF4B9847C0EB3E -:1089A00000105030B0F5A07F02DA0122FEF7C8BCFB -:1089B0000020B94B9847C0EB00105030B74B83FBF9 -:1089C0000023C217C2EBA31212B2FEF7B9BC0020FB -:1089D000B14B9847C0EB001040005030AF4B83FBC9 -:1089E0000023C217C2EBA31212B2FEF7A9BC0020EB -:1089F000A94B9847C0EB00105030B0F5A07F02DAC9 -:108A00000122FEF7B6BC0020A34B9847C0EB001034 -:108A10005030A24B83FB0023C217C2EBA31212B249 -:108A2000FEF7A7BC00209C4B9847C0EB001040000D -:108A300050309A4B83FB0023C217C2EBA31212B231 -:108A4000FEF797BC062310210924FEF7DCBC0020AA -:108A5000914B9847C0EB00105030B0F5A07F02DA80 -:108A60000122FEF7F1BC00208B4B9847C0EB0010B1 -:108A700050308A4B83FB0023C217C2EBA31212B201 -:108A8000FEF7E2BC0020844B9847C0EB001040008A -:108A90005030824B83FB0023C217C2EBA31212B2E9 -:108AA000FEF7D2BC00207C4B9847C0EB0010503042 -:108AB000B0F5A07F02DA0122FEF7DFBC0020764B82 -:108AC0009847C0EB00105030744B83FB0023C21753 -:108AD000C2EBA31212B2FEF7D0BC00206E4B984737 -:108AE000C0EB0010400050306C4B83FB0023C217DA -:108AF000C2EBA31212B2FEF7C0BC0020664B98472F -:108B0000C0EB00105030B0F5A07F02DA0122FEF772 -:108B1000CDBC0020604B9847C0EB001050305F4B3D -:108B200083FB0023C217C2EBA31212B2FEF7BEBC36 -:108B30000020594B9847C0EB001040005030574B75 -:108B400083FB0023C217C2EBA31212B2FEF7AEBC26 -:108B50000020514B984714308000504B83FB00237A -:108B6000C217C2EBA31212B2FEF7B5BC0623102146 -:108B70000924FEF7BFBC0020474B984700EB40009C -:108B80005030464B83FB0023C217C2EBA31212B234 -:108B9000FEF720BD0020404B9847C0EB001050303E -:108BA000B0F5A07F02DA0122FEF72DBD00203A4B7E -:108BB0009847C0EB00105030384B83FB0023C2179E -:108BC000C2EBA31212B2FEF71EBD0020324B984733 -:108BD000C0EB001040005030304B83FB0023C21725 -:108BE000C2EBA31212B2FEF70EBD00202A4B98472B -:108BF000C0EB00105030B0F5A07F02DA0122FEF782 -:108C00001BBD0020244B9847C0EB00105030234B75 -:108C100083FB0023C217C2EBA31212B2FEF70CBDF6 -:108C200000201D4B9847C0EB0010400050301B4BFC -:108C300083FB0023C217C2EBA31212B2FEF7FCBCE7 -:108C40000020154B9847C0EB00105030B0F5A07FC6 -:108C500002DA0122FEF709BD00200F4B9847C0EB56 -:108C6000001050300D4B83FB0023C217C2EBA31240 -:108C700012B2FEF7FABC0020074B9847C0EB001079 -:108C800040005030054B83FB0023C217C2EBA312F8 -:108C900012B2FEF7EABC00BFE51401006766666623 -:108CA0000020C94B9847C0EB001040005030C74B24 -:108CB00083FB0023C217C2EBA31212B2FEF7ECBC77 -:108CC0000020C14B984700EB800080005030BF4B24 -:108CD00083FB0023C217C2EBA31212B2FEF721BD21 -:108CE0000020B94B984700EB400200EB8200503067 -:108CF000B64B83FB0023C217C2EBA31212B2FEF7DE -:108D000057BD0020B04B984700EB400200EB8200BB -:108D10005030AE4B83FB0023C217C2EBA31212B23A -:108D2000FEF75ABD0020A84B984700EB400200EB2D -:108D300082005030A54B83FB0023C217C2EBA31265 -:108D400012B2FEF75DBD00209F4B984700EB40023A -:108D500000EB820050309D4B83FB0023C217C2EB17 -:108D6000A31212B2FEF760BD0020974B9847143053 -:108D70008000964B83FB0023C217C2EBA31212B2F2 -:108D8000FEF767BD0020904B984700EB8000400045 -:108D900050308E4B83FB0023C217C2EBA31212B2DA -:108DA000FEF76ABD0020884B984700EB400050302A -:108DB000864B83FB0023C217C2EBA31212B2FEF74D -:108DC0007FBD0020804B984700EB80004000503072 -:108DD0007E4B83FB0023C217C2EBA31212B2FEF735 -:108DE00082BD0020784B984714308000774B83FB7E -:108DF0000023C217C2EBA31212B2FEF79ABD0020E5 -:108E0000714B984700EB40005030704B83FB0023C0 -:108E1000C217C2EBA31212B2FEF7B2BD00206A4B1A -:108E2000984700EB40005030684B83FB0023C2178B -:108E3000C2EBA31212B2FEF7B5BD0020624B9847F9 -:108E400000EB40005030614B83FB0023C217C2EBA4 -:108E5000A31212B2FEF7B8BD00205B4B984700EB9F -:108E600040005030594B83FB0023C217C2EBA312C2 -:108E700012B2FEF7BBBD0020534B98471430800060 -:108E8000524B83FB0023C217C2EBA31212B2FEF7B0 -:108E9000DABD07230F210824FEF7E9BD00204A4B65 -:108EA000984700EB80005030484B83FB0023C217EB -:108EB000C2EBA31212B2FEF7F9BD0020424B984755 -:108EC00000EB80005030414B83FB0023C217C2EB04 -:108ED000A31212B2FEF7FCBD00203B4B984700EBFB -:108EE00080005030394B83FB0023C217C2EBA31222 -:108EF00012B2FEF7FFBD0020334B984700EB800015 -:108F00005030324B83FB0023C217C2EBA31212B2C4 -:108F1000FEF702BE00202C4B984700EB400050307B -:108F20002A4B83FB0023C217C2EBA31212B2FEF737 -:108F300005BE0020244B9847322202FB00F050303F -:108F4000224B83FB0023C217C2EBA31212B2FEF71F -:108F50000CBE00201C4B9847C0EBC00050301B4B90 -:108F600083FB0023C217C2EBA31212B2FEF752BE5C -:108F70000020154B9847C0EBC0005030134B83FBCB -:108F80000023C217C2EBA31212B2FEF755BE002097 -:108F90000D4B9847C0EBC00050300C4B83FB0023B7 -:108FA000C217C2EBA31212B2FEF758BE0020064B46 -:108FB000984728304000054B83FB0023C217C2EBC3 -:108FC000A31212B2FEF791BEE51401006766666651 -:108FD0000020CD4B98475030CC4B83FB0023C21769 -:108FE000C2EBA31212B2FEF79DBE15232A211C4626 -:108FF000FEF7B0BE0020C44B9847642202FB00F08D -:109000005030C24B83FB0023C217C2EBA31212B233 -:10901000FEF7D1BE0020BC4B9847642202FB00F053 -:109020005030BA4B83FB0023C217C2EBA31212B21B -:10903000FEF7D4BE1F233F211C46FEF709BF1D23A8 -:109040003B211C46FEF71ABF1F233F211C46FEF79B -:109050002CBF07230F210824FEF74FBF07230F2142 -:109060000824FEF77FBF0020A74B9847C0EB0010F5 -:109070005030B0F5A07F02DA0122FEF7EFBF0020EA -:10908000A14B9847C0EB00105030A04B83FB00234E -:10909000C217C2EBA31212B2FEF7E0BF00209A4B38 -:1090A0009847C0EB001040005030984B83FB0023E2 -:1090B000C217C2EBA31212B2FEF7D0BF0020924B30 +:100000000D4B009348220D490320A04700220023F6 +:100010000D480E498847FEE7A46C0020F91E010038 +:1000200061FF0000EDF4000025F60000C5F90000B6 +:10003000E9F50000A054020000530200185302002A +:100040005D220100B1220000D83F0200B922000069 +:1000500008B54368984708BD10B50468A04710BDAF +:1000600010B584B013460A4601A9044CA04718B144 +:10007000BDF8040004B010BD0020FBE759000100EA +:1000800003780A78934211BF981A40784B78C01AC7 +:10009000704703880A88934211BF981A40884B889A +:1000A000C01A704700880B88C01A70470B46002999 +:1000B0006CD0F0B585B00469A269914215D0678A09 +:1000C000C7F30907002F5DD0A16808681A1A0392C8 +:1000D000888882420BD800261D468B7CE3B9C888ED +:1000E0001044A561E06105B0F0BDE069FBE70025C3 +:1000F0000135ADB2BD4245DA05EB850082001646FA +:1001000001EB020E51F820209A1A0392BEF8040067 +:100110008242EDD87146DFE7012B05D0022B08D0D3 +:10012000032B18D00020DCE7CB689B5CC888184400 +:10013000D7E70A8A8968164B0093022303A8154F54 +:10014000B8470346D0B1A2681644B068181AF388BD +:1001500003EB5000C5E70A8A89680D4B0093022320 +:1001600003A80C4FB84758B1A2681644B268831A66 +:100170005B08F268D35CF0881844B2E70020B0E76F +:100180000020AEE7A3610020E061ACE708467047BD +:10019000A5000100854101002DE9F04F9FB009291C +:1001A000056908BF2021A04B9847002800F0EA8489 +:1001B00080466F6807EBC0062B7D13F0030F0BD151 +:1001C000002E00F0E28457F83030C3F313032868A0 +:1001D00018441FB0BDE8F08F3379747904FB03F441 +:1001E000002C00F0D584EB7CC3F38303013B032B8D +:1001F00005D8DFE803F00275787B0734E4088B4B01 +:1002000018688B4B9847844211D9DFF82092214619 +:10021000D9F80000874B9847C9F80000864B9847EB +:10022000002866D0814B1B68002B00F0B48457F87F +:100230003810C1F313012B6819447C4BD3F800909C +:1002400033790C939B461AB217461892727915921D +:10025000EA7CC2F38302D3B20F93032B14BF184678 +:1002600004200890714B59601A7200225A72DA60A9 +:100270001A745A745846714CA04716905846A047B5 +:100280001790002F00F05182684B197C03915C7C21 +:100290005F68DD6893F808A0012202FA0AF2511E95 +:1002A000D046CAF108060A96CAF11006099693F8D4 +:1002B00009C0169800F1FF3E0BF1FF339BB20D937E +:1002C00000EB030B76460023059307931A460AF1C9 +:1002D000FF3A01230493CBB20B930692614634E0BC +:1002E0000334A4088BE70134640888E70134640808 +:1002F00085E7534B0093722252490320524CA0478A +:10030000D9F800200023514851498847FEE70320CF +:10031000EB0805F0070202EB080CBCF1070F35D81B +:1003200017F803C00A9B9A1A4CFA02F3034015B15E +:10033000039A934238D045440393012204980690CF +:1003400006F8013F5E4500F04E81A1BBBAF1070FF0 +:1003500018D801A353F82AF0890301000F03010004 +:10036000790301007D03010085030100850301007D +:1003700085030100810301000720C9E70F20C7E7BB +:10038000FF20C5E70B98C3E70120C1E717F803C0BA +:100390003B445B7803EB0C231FFA83FC099B9A1AFE +:1003A0004CFA02F30340C2E7012205920024049AAA +:1003B00007921146BFE7012904D0022900F0CD8041 +:1003C0000023BDE7EB0805F0070202F1010CBCF1C8 +:1003D000070F13D8FB5CD2430832134103F001032B +:1003E0000134E4B26A1CB3B9BAF1070F00F2A58078 +:1003F000DFE80AF0A5849D9FA3A3A3A117F803C07B +:100400003B445B7803EB0C239BB2D2431032134185 +:1004100003F00103E4E70B2C1CD01546039B0122DB +:100420000592049A8CE700BFAD0001005C2B002010 +:100430005125010099280100B12200003D29010049 +:10044000C4540200E05402005D220100D83F0200C3 +:10045000B9220000D30802F00702911D072913D822 +:10046000FC5CC2F1020244FA02F202F03F040735DA +:10047000002C40F0AD80BAF1070F26D8DFE80AF073 +:1004800027101F2125252523F95C3B445C7804EBCC +:100490000124A4B2C2F10A02144104F03F04E6E7C9 +:1004A0000320EA0805F0070303EB0801072910D829 +:1004B000BA5C0A99CB1A42FA03F3034014E007200E +:1004C000EFE70F20EDE7FF20EBE70B98E9E70120CE +:1004D000E7E7B95C3A44527802EB012292B20999FB +:1004E000CB1A42FA03F303404544039301220592D9 +:1004F0000498024607900021069021E70320D108C6 +:1005000002F0070303EB0805072D1AD8795C0A9D52 +:10051000EB1A41FA03F3034002EB080503930122AF +:1005200005920498024607900021069008E70720EC +:10053000E5E70F20E3E7FF20E1E70B98DFE7012085 +:10054000DDE77D5C3944497801EB052189B2099DDD +:10055000EB1A41FA03F30340DEE7013C14F0FF0419 +:100560003DD1BAF1070F23D8DFE80AF024041C1E9E +:10057000222222200320EA0805F0070303EB0801EA +:10058000072919D8BA5C0A99CB1A42FA03F3034037 +:1005900045440393012205920498024607900021E6 +:1005A0000690CDE60720E6E70F20E4E7FF20E2E72C +:1005B0000B98E0E70120DEE7B95C3A44527802EBA1 +:1005C000012292B20999CB1A42FA03F30340DFE702 +:1005D000039B01220592049A07920221B0E6039B35 +:1005E00001200590ACE606988C46C8B90AB19F4B2D +:1005F000DD60079B13B19D4B83F809C0059B0BB1D0 +:100600009A4B5C7400200F9B039304274FF00F0C50 +:100610004FF00D084FF00B0A4FF0090B049728E03C +:10062000924B9DF80C101974E0E707293DD8DFE8DC +:1006300001F004272A2D303336393D46002100F0E1 +:100640000702C2F10802521BC0F3CF044FF0FF3380 +:10065000AB4063F0FF03934019F804502B4001FABC +:1006600002F2134309F80430089A13461044B645C1 +:100670001DD01EF8011F0F9B032BD6D0039DDEE774 +:100680003D460221DBE73D460499D8E73D46062179 +:10069000D5E73D465946D2E73D465146CFE73D4670 +:1006A0004146CCE73D466146C9E73D46C7E70D9A5E +:1006B00002FB03330E93159B012B40F355826B4BCA +:1006C000D3F804801A7A10461992012202FA00F136 +:1006D0000139C9B21B9101468246587C0790C1F18D +:1006E00008010B91CAF110010D91197C0391D3F807 +:1006F0000CC093F809B0089912910C9B013B9BB276 +:1007000001FB03F11A9100210A910C9106910891C5 +:100710001092179AD3181C93012304930F9A0992ED +:1007200004221D9205936646F5E100230E93C2E76D +:100730004FF003090CE04FF0070909E04FF00F09F3 +:1007400006E0E14604E0DDF8449001E0DDF81090B9 +:10075000F30806F0070202EB0A0BBBF1070F31D8D2 +:1007600018F803300B9DAA1A43FA02F202EA0909AB +:100770005FFA89F916B1039B4B4533D05644CDF847 +:100780000C90049B0693059B089304F8019FA042DC +:1007900000F05D8169BB079B1A46072AD3D801A3E5 +:1007A00053F822F04D07010031070100370701001F +:1007B0003D07010047070100470701004707010007 +:1007C0004307010018F803B043445B7803EB0B23A5 +:1007D0009BB20D9DAA1A43FA02F202EA09025FFADD +:1007E00082F9C7E7049B0A937746059B0C93194649 +:1007F000C4E7012904D0022900F0D780F146C4E7FC +:10080000F30806F0070202F10109B9F1070F15D844 +:1008100018F80330D2430832134103F001037A1C65 +:10082000D7B2721CBBB9079B1946072900F28E800C +:10083000DFE801F08E8486888C8C8C8A18F803900F +:1008400043445B7803EB09239BB2D243103213413C +:1008500003F00103E3E70B2F0AD01646DDF80C90F6 +:10086000049B0A93059B06938FE700BF5C2B002037 +:10087000D30802F00702911D072915D818F8033094 +:10088000C2F1020243FA02F202F03F070736002FDC +:1008900040F0CF80079B1A46072A39D8DFE802F0DC +:1008A0003B1230333838383618F8031043445B783D +:1008B00003EB01239BB2C2F10A0243FA02F202F0F7 +:1008C0003F07E3E74FF00309F30806F0070202EBE6 +:1008D0000A01072922D818F803300B998A1A43FA1B +:1008E00002F202EA09025FFA82F95644CDF80C904E +:1008F000049B0A93059B0C9371460693089344E767 +:100900004FF00709E0E74FF00F09DDE7E146DBE7CD +:10091000DDF84490D8E7DDF81090D5E718F803101B +:1009200043445B7803EB01239BB20D998A1A43FA87 +:1009300002F202EA09025FFA82F9D6E7032608E02A +:10094000072606E00F2604E0664602E0119E00E05E +:10095000049ED30802F0070101EB0A09B9F1070F61 +:1009600014D818F803300B9D691A43FA01F131408D +:100970005FFA81F902EB0A06CDF80C90049B0A930A +:10098000059B0C93714606930893FEE618F80390B6 +:1009900043445B7803EB09239BB20D9D691A43FA2C +:1009A00001F131405FFA81F9E4E77B1E13F0FF07A4 +:1009B00048D1079B1A46072A0DD8DFE802F00E043B +:1009C00006080C0C0C0A032108E0072106E00F21A1 +:1009D00004E0614602E0119900E00499F30806F092 +:1009E000070202EB0A09B9F1070F13D818F8033010 +:1009F0000B9DAA1A43FA02F20A405FFA82F95644A2 +:100A0000CDF80C90049B0A93059B0C9371460693BA +:100A10000893BAE618F8039043445B7803EB092384 +:100A20009BB20D9DAA1A43FA02F20A405FFA82F9BC +:100A3000E5E7DDF80C90049B0A93059B0C930221DB +:100A40000693A2E6DDF80C90049B0A939DE6DDF880 +:100A50004C900797149F169B03F1FF3E0E9DDDF807 +:100A60003CC011961391DDF848B021E0072A40D828 +:100A7000DFE802F0042A2D303336393C042300220B +:100A800005F00701C1F10801C91AC5F3CF0001261D +:100A900006FA03F35B4263F0FF038B4019F8006032 +:100AA00033408A40134309F800305D44BC4222D0F1 +:100AB00017F8012F9EF801305A400EF8012FBCF1B3 +:100AC000030FD3D0099BDBE704230222D8E70423DA +:100AD0001D9AD5E704230622D2E704230922CFE793 +:100AE00004230B22CCE704230D22C9E704230F22A1 +:100AF000C6E70423C4E7119EDDF84CB01A9B129A96 +:100B000013440E9A1A440E92109B01331BB2109399 +:100B1000159A9A4215D0189B002BF5D0179B5F1E93 +:100B20003C464FF0000E199B5D1E1B9B11934FF02E +:100B3000FF0CCDF84C9059461497079F07951C98C9 +:100B400028E6B446089BC3B9069B13B1134BC3F800 +:100B50000CC00C9B13B1114B83F809B00A9B1BB15D +:100B60000E4B9DF81C205A7416980D4CA0471798F0 +:100B7000A0470A4B1868FFF72CBB084B9DF80C20C8 +:100B80001A74E1E70020FFF724BB0020FFF721BB28 +:100B90000020FFF71EBB0020FFF71BBB5C2B0020D3 +:100BA000712501002DE9F04784B007460C469946AF +:100BB000092A06BF01252022002506691146494B56 +:100BC00098478046002800F08680F368002B7CD090 +:100BD00049463846434B9847034618BB0023706884 +:100BE00000EBC800328A03FB02F31B114288C2F3F8 +:100BF0000B1205B15200083313441B0923804379BB +:100C0000A3800279628090F90630E38090F9073082 +:100C10002381F37CC3F38303A372002D60D05200C1 +:100C2000628059E03A69D17C11F0400F3CD1D7681D +:100C3000FA7A12F0030203D0012A1BD00023CEE778 +:100C4000D7F8009008EB002304A820F8043DBA6808 +:100C5000254B0093022322F07F424946DFF890A003 +:100C6000D04728B1A0EB09035B087A68D356B6E7F2 +:100C70000023B4E7D7F8009008EB002304A840F85D +:100C8000043DBA68194B0093042322F07F42494681 +:100C9000DFF85CA0D04728B1A0EB09031B097A68F4 +:100CA000D3569CE700239AE7D1684A6812F80820D7 +:100CB0006AB18868C35C63B1013A487B09680B4438 +:100CC00000FB023212F9013C89E7002387E7002389 +:100CD00085E7002383E70025284604B0BDE8F087B8 +:100CE0000125F9E7AD00010081000100930001003A +:100CF0008541010008B5044B186820B1034B9847A3 +:100D00000022014B1A6008BD5C2B0020C5240100A5 +:100D100010B504462C21154B98470023E3604FF48F +:100D2000F07222804FF4887262806360227A63F3EB +:100D30004102227294F8282063F3040284F82820E8 +:100D4000228D42F4FC622285120A63F3C70284F802 +:100D500029202289822161F38B02228142F0010243 +:100D6000227223626362636110BD00BF372B0100F2 +:100D7000F8B504460D4617461E462421034B9847F6 +:100D800025606760A560E660F8BD00BF372B0100F5 +:100D9000F0B583B005463F483F4B984704460028CE +:100DA00054D04FF4B8713D4B98472C222946204629 +:100DB0003B4B98474C2104F130003A4B98470023B5 +:100DC000C4F86C31384B1B68002B50D0364B1F6871 +:100DD0001C60234603221E213448354DA847E0629B +:100DE000344B9847002845D0E36A002B4FD0B4F825 +:100DF00068316FF30903A4F868310025C4F86C5119 +:100E0000294628462C4EB047E06329462846B0477D +:100E1000206429462846B04760642946206C274E46 +:100E2000B0472946606CB0472946206C244EB04735 +:100E30002946606CB047E06B224B98471A4B1F6005 +:100E4000E06A214B9847204603B0F0BD194B984704 +:100E50000028F8D11D4B00937C221D4903201D4C16 +:100E6000A047002200231C481C498847FEE70E4B80 +:100E70001C60ABE7154B00938D2215490320154DDF +:100E8000A847E26A0023144814498847FEE7002473 +:100E9000D9E700BF986C0020111F0100372B01001B +:100EA00055260100F91E0100702B0020755F00001F +:100EB000E5390100B1220000253E00009D3B000005 +:100EC000A129000021330000553A0100BC91020025 +:100ED000D49102005D220100D83F0200B922000037 +:100EE000014B1868704700BF702B0020034640B1CB +:100EF0001A7A12F0020F0CBFB3F90000B3F9020026 +:100F00007047034B1B68002BF2D14FF4F070704711 +:100F1000702B0020034640B11A7A12F0020F0CBF6A +:100F2000B3F90200B3F900007047034B1B68002BB4 +:100F3000F2D14FF488707047702B0020034618B12F +:100F40001889C0F389007047024B1B68002BF7D14A +:100F500082207047702B002038B50546A0B1284686 +:100F60000F4B9847044628460E4B984704EB8404E1 +:100F70006400B4FBF0F01D280DD931280DD94628A6 +:100F800034BF0220032038BD074B1D684FF4F074B6 +:100F9000002DE8D0E3E7002038BD012038BD00BFB8 +:100FA000ED0E01003D0F0100702B00204268002370 +:100FB00093614268D361704708B520B10146044887 +:100FC000044B984708BD0248034B984708BD00BF33 +:100FD000986C0020BD1F0100A91F010040687047E8 +:100FE00043681A6822B15868003018BF0120704762 +:100FF0000020704710B50446084B9847034658B187 +:10100000B4F90020B4F9023003FB02F36268D2683D +:10101000934214BF00230123184610BDE10F0100C5 +:1010200008B520B101460448044B984708BD024862 +:10103000034B984708BD00BF8C6C0020BD1F01000A +:10104000A91F0100034B00221A705A68104458600F +:10105000704700BF742B0020044B4FF00101197042 +:101060001A78002AFBD0014B58687047742B002077 +:1010700010B50446014B9847001B10BD59100100E4 +:101080000A6A486A82421ABF800290FBF2F04FF46B +:1010900080608A69CB699B1A00FB03F002EBA020F9 +:1010A00000B2704708B50122084B1A700848094B76 +:1010B000984728B10421054B5868074B984708BD4D +:1010C0000021024B5868044B984708BD7C2B002038 +:1010D0005C6D0020A91F0100593901002DE9F04382 +:1010E00091B06348634B984768B10146604D624CCC +:1010F00091F83C306FF3410381F83C302846A0471B +:1011000001460028F4D15D4B98685D4B98478046B6 +:101110005748584B98470446002800F08980574D9F +:101120004FF00007524EDFF84C911CE013EB080320 +:1011300000F18580A268002A00F088802046904750 +:101140001EE0214604F110004E4B984728E0626AE9 +:10115000236A9A422BDA2B78002B71D03046C8478D +:101160000446002C64D02F7094F83C3013F0020F2A +:1011700066D143F0020384F83C30636A002BD5DD6E +:10118000636A43446362002BE5DB226A9A42B8BF7C +:1011900062622369002BD4D0214604F110009847E5 +:1011A0006368002BD3D001B220689847CFE794F84A +:1011B0003C3013F0010308D1A28E002A48D04FF62C +:1011C000FF718A424BD0013AA286A28ECAB1226B2D +:1011D00052426262E26A002ABDD0002B3BD083F00B +:1011E000010394F83C1063F3000184F83C10A369F8 +:1011F000E069A061E36111F0010F08BFA26B2262F8 +:10120000A9E7E26A02B133B34022214668461E4B89 +:101210009847214630461D4B984720461C4B98471F +:101220001C4B9847039B002B95D06846984792E744 +:10123000194B9847114B986011B0BDE8F083636279 +:10124000214630460C4B984704468AE763629CE788 +:10125000E26A002AD8D0A16A49426162BFE7226BE4 +:1012600052426262E26A002A3FF475AFF3E700BFC0 +:101270005C6D0020A91F0100BD1F01007C2B002018 +:101280007110010081100100552601009520010018 +:10129000C5240100A51001005910010038B54021F6 +:1012A00009480A4B98470A4B98470A4CA06000230C +:1012B00004221E210848094DA8476060084B984742 +:1012C0000023237038BD00BF5C6D0020F91E0100B3 +:1012D000591001007C2B0020DD100100E5390100D0 +:1012E000A510010010B5044640210D4B98474FF45E +:1012F000FA7323620023A3616423E361094B1A7824 +:1013000022745A7862749A78A274DB78E3740123A9 +:10131000A38694F8363043F0010384F8363010BDCC +:10132000372B0100009202002DE9F84F074689464D +:101330001548164B984710B304464FF0000ADFF8E3 +:101340004880134EDFF854B00BE021464046D847A2 +:101350002046104B9847104B98474FF0010A2C46F7 +:101360007DB121464046B04705462368BB42F6D1D1 +:1013700063684B45E9D0B9F1000FF0D1E5E74FF0D4 +:10138000000A5046BDE8F88F5C6D0020A91F0100DF +:10139000BD1F0100C5240100A5100100952001001A +:1013A00030B583B00546416811B100681B4B9847C2 +:1013B0001B481C4B9847F0B919481B4B98470446EB +:1013C0001A4B9847E8B1A4B12B6AAB634022294677 +:1013D0002046174B984794F8363013F0010F06D08B +:1013E000636823B1206810B1B4F918109847114B05 +:1013F000984703B030BD104B984701380F4B9860A9 +:10140000DAE70F4B00936A220E4903200E4DA847DE +:10141000224600230D480E498847FEE729130100A4 +:101420005C6D002045220100111F0100B122000067 +:1014300055260100A5100100591001007C2B002049 +:1014400008920200189202005D220100D83F0200BB +:10145000B9220000F8B504460F460A480A4B9847DF +:10146000014660B1074E094D03E03046A8470146EA +:1014700028B10B68A342F8D14B68BB42F5D10846AE +:10148000F8BD00BF5C6D0020A91F0100BD1F010059 +:10149000891A0029B8BF49424FF47A7202FB01F25F +:1014A00092FBF0F04FF6FF72904228BF10460028E2 +:1014B00008BF012080B2704730B4B0F90050B0F9D5 +:1014C00004305B1B03EBD3735B109CB20A88521B86 +:1014D000121B49884088081A001B13FB03F310FBFA +:1014E00000F012FB02029342B4BF0020012030BC86 +:1014F0007047013943881944C1807047B0F904200E +:10150000B0F90030D21AB0F90630B0F90200181A5A +:10151000013002FB0000704770B4B2F90050B1F91D +:1015200000309D42B8BF1D460580B2F90230B1F9C6 +:101530000240A342B8BF23464380B2F90440B1F948 +:101540000460B442A8BF34468480B2F90620B1F9E1 +:1015500006108A42A8BF0A46C280A54205DC934213 +:10156000CCBF0020012070BC70470020FBE710B406 +:10157000B2F90030B1F90040A342A8BF234603806E +:10158000B2F90230B1F90240A342A8BF234643801A +:10159000B2F90430B1F90440A342B8BF23468380B6 +:1015A000B2F90630B1F906209342B8BF1346C380A2 +:1015B0005DF8044B704700002DE9F04F85B0B1F99C +:1015C0000050B0F900E07545C0F29D80B0F904808C +:1015D000454500F39C80B1F90230B0F902A05345B3 +:1015E000C0F29780B0F906000190834200F3938027 +:1015F000002A40F392808C461FFA88F91FFA8EF673 +:1016000087B21FFA8AF5ADF808E009F101039B1BC8 +:101610001BB203EBD3747B1C5B1B1BB203EBD371BC +:1016200064104B10A342A8BF23469342A8BF1346A1 +:101630009CB22644B6B2ADF80C60ADF80AA02544C1 +:10164000ADB20FFA85FBADF80EB00022CDF800C0A8 +:10165000614602A8FFF7B0FF50B12644ADF80C6018 +:101660002C44ADF80E40009902A82E4B98474BE051 +:101670003F1BBFB2ADF80A70BDF80430ADF80E30B4 +:101680000022009902A8FFF797FF50B12644ADF859 +:101690000C603C1BADF80A40009902A8214B98470A +:1016A00032E0A9EB04091FFA89F9ADF80890ADF80A +:1016B0000C800022009E314602A8FFF77DFF58B142 +:1016C000A9EB0409ADF808903C1BADF80A4031467F +:1016D00002A8144B984717E0ADF80AA0ADF80EB079 +:1016E0000022009E314602A8FFF766FFB8B1A9EBC1 +:1016F0000409ADF808902C44ADF80E40314602A81C +:10170000084B984700E0002005B0BDE8F08F0020AE +:10171000FAE70020F8E70020F6E70120F4E70120CF +:10172000F2E700BFB9140100B0F90020B1F90430AC +:101730009A4214DCB0F90420B1F900309A4210DB6F +:10174000B0F90220B1F906309A420CDCB0F906007B +:10175000B1F902309842B4BF002001207047002048 +:101760007047002070470020704700002DE9F041CD +:1017700082B0B0F90050B1F90030AB4214DCB0F9DE +:101780000240B1F902309C4214DBB0F90440B1F9D7 +:1017900004309C4210DCB0F90630B1F90640A34297 +:1017A000CCBF0023012300E000233AB9184602B061 +:1017B000BDE8F0810023F8E70023F6E717460C4662 +:1017C0000646ADF804504388ADF8063001A920461E +:1017D000134B984703460028E8D0B6F9048002A9C5 +:1017E00021F8048D3A4620460D4B984703460028C1 +:1017F000DCD0ADF80450F388ADF806303A4601A9C4 +:101800002046074B984703460028CFD002A921F86D +:10181000048D3A462046024B98470346C6E700BF70 +:10182000B915010030B4142A3AD8DFE812F01500D7 +:10183000430047005C00670072008D009E00B3000B +:10184000CE00D600EE00FC0004011C012A0132018A +:101850004A01580160017801828801320488121B14 +:1018600012B202EBD2748A8801320D88521B12B276 +:1018700002EBD2725210C2EB64021A80C2880132AB +:101880004488121B12B202EBD274CA880132498812 +:10189000521A12B202EBD2725210C2EB64025A8098 +:1018A0001A8801880A441A805A8841880A445A8052 +:1018B00030BC704700221A805A80F1E782880132DA +:1018C0000488121B12B202EBD2748A880132098892 +:1018D000521A12B202EBD2725210C2EB64021A8098 +:1018E00000225A80DCE782888C88121B0488121B35 +:1018F00009880A441A8000225A80D1E700221A80FF +:10190000C288CC88121B4488121B49880A445A801A +:10191000C6E7828801320488121B12B202EBD2742D +:101920008A8801320D88521B12B202EBD272521019 +:10193000C2EB64021A80C288CC88121B4488121B36 +:1019400049880A445A80ABE782888C88121B048835 +:10195000121B0C8822441A80C288CC88121B44882F +:10196000121B49880A445A809AE700221A80C288CA +:1019700001324488121B12B202EBD274CA880132BF +:101980004988521A12B202EBD2725210C2EB6402B0 +:101990005A8085E782888C88121B0488121B0C8869 +:1019A00022441A80C28801324488121B12B202EB10 +:1019B000D274CA8801324988521A12B202EBD2722A +:1019C0005210C2EB64025A806AE700221A80CA8869 +:1019D0004988521AD2435A8062E7828801320488C9 +:1019E000121B12B202EBD2748A8801320D88521B8C +:1019F00012B202EBD2725210C2EB64021A80CA8891 +:101A00004988521AD2435A804AE782888C88121B2E +:101A10000488121B0C8822441A80CA884988521AEA +:101A2000D2435A803CE700221A80C28801324188A2 +:101A3000521A5A8034E7828801320488121B12B28B +:101A400002EBD2748A8801320988521A12B202EB70 +:101A5000D2725210C2EB64021A80C28801324188ED +:101A6000521A5A801CE782888C88121B0488121B29 +:101A700009880A441A80C28801324188521A5A8061 +:101A80000EE78A880988521AD2431A8000225A80A7 +:101A900006E78A880C88121BD2431A80C28801325A +:101AA0004488121B12B202EBD274CA8801324988F0 +:101AB000521A12B202EBD2725210C2EB64025A8076 +:101AC000EEE68A880C88121BD2431A80C288CC8822 +:101AD000121B4488121B49880A445A80E0E6828817 +:101AE00001320188521A1A8000225A80D8E6828870 +:101AF00001320488121B1A80C28801324488121BEA +:101B000012B202EBD274CA8801324988521A12B258 +:101B100002EBD2725210C2EB64025A80C0E6828895 +:101B200001320488121B1A80C288CC88121B448898 +:101B3000121B49880A445A80B2E630B48DB210F0C4 +:101B4000030F1CBF20F8021B02F1FF3205EB054119 +:101B5000102A21D900F12003144643F8201C43F831 +:101B60001C1C43F8181C43F8141C43F8101C43F8C1 +:101B70000C1C43F8081C43F8041C103C2033102CA8 +:101B8000EBD8A2F111031B09591C103AC3EB0373E4 +:101B900002EB031200EB41101AB120F8025B013A8C +:101BA000FBD130BC704730B4C1EB4115C1F1FF042B +:101BB000C0F3C42304FB035303EB032203EBC21360 +:101BC000C3F3C452C0F34513C1EB811104FB0311ED +:101BD00001EB012301EBC311C1F3C55100F01F005C +:101BE00004FB005000EB002300EBC310C30D4FF0CB +:101BF000000063F3040061F34A1062F3CF2030BCAD +:101C0000704710B4C1F1FF01C0F3C42301FB03F31B +:101C100003EB032203EBC213C3F3C453C0F3451217 +:101C200001FB02F202EB022402EBC412C2F3C55222 +:101C300000F01F0001FB00F101EB012001EBC011DE +:101C4000C90D4FF0000061F3040062F34A1063F322 +:101C5000CF205DF8044B7047421C43781BB908E065 +:101C600012F8013F2BB13A2BFAD05C2BF8D02F2B76 +:101C7000F6D010467047000008B544210148024BD9 +:101C8000984708BD306D0020F91E010038B5436843 +:101C900073B11A6972B10446016818469047054647 +:101CA0002068054B9847002323606360284638BDB1 +:101CB0000B25FBE70925F9E7C5240100F0B585B040 +:101CC0001E460BB10023336045688DB1AF698FB1FB +:101CD00013460A46044604A8002140F8041D216862 +:101CE00000902846B8470EB1039B336005B0F0BDA5 +:101CF0000B20FBE70920F9E738B5446834B1256AC1 +:101D000035B10A4601682046A84738BD0B2038BDCA +:101D1000092038BD70B5044609480A4B984701466A +:101D200058B10378A34208D0054E074D3046A84766 +:101D3000014610B10B78A342F8D1084670BD00BF30 +:101D4000306D0020A91F0100BD1F01002DE9F043E7 +:101D500083B0002343600360002945D00D469146BF +:101D600004460878244B9847606040B1836853B1BB +:101D7000984740B9002363602360012535E00023C4 +:101D80002360032531E0636858881C4B9847206026 +:101D90001B4B984728B1266886B9002363600A2543 +:101DA00023E0184B00936F2217490320174DA847D3 +:101DB00022680023164817498847FEE7D4F80480B4 +:101DC000D8F80C70AFB12846134B98474B460246E3 +:101DD00031464046B847054638B120680F4B984712 +:101DE00000232360636000E00B25284603B0BDE8B4 +:101DF000F0830925F9E700BF151D0100DD2301006F +:101E0000B122000058920200749202005D2201008B +:101E1000D83F0200B9220000591C0100C52401006E +:101E200010B50446124B9847C8B102462118235CEE +:101E30002E2B0FD02F2B14D05C2B14D0013A0CD0AA +:101E400011F8013D2E2B05D02F2B0ED05C2BF5D198 +:101E5000084810BD0132A01810BD064810BD054845 +:101E600010BD044810BD034810BD024810BD00BF9E +:101E70001FB50100044F020010B582B0019281B17C +:101E80000C4682B103680433CA189DF80410E1546B +:101E90009DF8053053709DF8063093709DF807301B +:101EA000D37002B010BD0068043004212044014BFF +:101EB0009847F6E7372B010000B583B0019281B156 +:101EC0000A46019B83B1016853189DF804005054E1 +:101ED0009DF805205A709DF806209A709DF80720FD +:101EE000DA7003B05DF804FB006804211044014B74 +:101EF0009847F6E7372B010000234360836011F019 +:101F0000030F1CBF21F00301043101607047000082 +:101F100038B50446006808300D4B9847054690B127 +:101F20000022014620460B4B98476268294620460E +:101F3000094B9847616819B12A462046054B9847D6 +:101F40006560A3680BB1284638BDA560FBE700BFFC +:101F5000DD230100B91E0100791E010038B50446D9 +:101F6000006808300D4B9847054690B100220146A5 +:101F700020460B4B9847A26829462046094B9847B4 +:101F8000A16819B12A462046054B9847A5606368A9 +:101F90000BB1284638BD6560FBE700BFDD230100BB +:101FA000791E0100B91E010008B140687047002089 +:101FB000704708B1806870470020704782B00023E6 +:101FC000019370B103680433CA18CB5C8DF80430F8 +:101FD00053788DF8053093788DF80630D3788DF8E6 +:101FE0000730019802B0704782B00023019368B1B6 +:101FF00002688B188A5C8DF804205A788DF80520C9 +:102000009A788DF80620DB788DF80730019802B0B9 +:102010007047000060B32DE9F041044651B30D460E +:102020004368994220D000680830154B984706460F +:1020300018B329462046134B98478046324601463E +:102040002046114FB847424631462046DFF84080CF +:10205000C047324629462046C0472A4631462046D8 +:10206000B8473046BDE8F081084B9847BDE8F0819D +:10207000002070470846BDE8F081BDE8F08100BF50 +:10208000DD230100E91F0100791E0100111F01007D +:10209000B91E010070B50D46044650B3436899421D +:1020A00029D08368994217D029462046184B984773 +:1020B000064629462046174B9847054602463146B4 +:1020C0002046154B9847324629462046134B9847E1 +:1020D00070BD0023A36070BD0D4B9847A06028B170 +:1020E0000022014620460C4B984770BD00236360D8 +:1020F00070BD0029D8D129462046064B984760601C +:102100000028E6D0002201462046044B984770BDC7 +:10211000E91F0100BD1F0100791E0100B91E010069 +:1021200070B50C4615461E461146174B9847AEB182 +:10213000002229462046154B9847626829462046CA +:10214000134B9847616819B12A4620460F4B9847B0 +:102150006560A36803B170BDA56070BDA268294623 +:1021600020460A4B9847002229462046084B9847AC +:10217000A16819B12A462046054B9847A5606368B7 +:10218000002BE8D16560E6E795200100B91E01004B +:10219000791E010091424CD02DE9F84317460C46B8 +:1021A000054612B31146234B9847064684421AD07F +:1021B00021462846204B9847224631462846DFF8DC +:1021C0007C80C047324621462846DFF87490C847D5 +:1021D000224639462846C8473A4621462846C0473F +:1021E00006B3BDE8F883BDE8F883F0B18668B44271 +:1021F0001DD021462846104B984722463146284696 +:102200000E4FB847324621462846DFF83480C04793 +:10221000224600212846C047002221462846B847CA +:10222000AC60DDE76C60BDE8F8831646DFE7BDE82B +:10223000F8837047E91F010095200100791E010015 +:10224000B91E010040B142680AB1002070478068A1 +:10225000B0FA80F040097047012070472DE9F04145 +:10226000C4B0441EE4B2042C15D81F4616460D46D1 +:1022700080464BAB03934A9A4FF4807104A8074CF5 +:10228000A047074B1C6834B104AB00933B46324671 +:1022900029464046A04744B0BDE8F081CD35010055 +:1022A000882B00201B4B83FB00231A18C317C3EB9A +:1022B00022234FF4B47202FB130000B20028BCBF0B +:1022C000801800B2592813DD80B2A0F15A039BB2E6 +:1022D000592B11D9A0F1B4039BB2592B13D9C0F5D6 +:1022E000B47000B20C4B33F81000404200B270479B +:1022F000094B33F910007047C0F1B40000B2064B2F +:1023000033F9100070471BB2034A32F81300404201 +:1023100000B27047B7600BB69C92020030B4000266 +:102320000024131903FB03F5A84228BF1C465208DA +:10233000F7D123090B802401E4B24C8030BC7047F4 +:10234000034660B104301B6800EB5300021D054BCF +:102350001B6803F580439A4228BF00207047014B59 +:10236000186870478C2B002011F0030F1CBF21F060 +:10237000030104310368C3F35E030A1D934217D0BF +:10238000994216D010B4021D535C6FF300035354EE +:102390000368C3F35E03043B5B1A545863F35F04A2 +:1023A0005450036861F35F0303605DF8044B7047AA +:1023B0001146036861F35F0303607047064B1A1D03 +:1023C0001A601A796FF300021A715A6843F6FC71A9 +:1023D00061F35F025A6070478C2B002000282ED0DA +:1023E000F0B583B0054610F0030F1CBF20F00305C5 +:1023F00004350024134E144F08E02946B8472378CB +:1024000043F00103204600F8043BB0B92046B04732 +:10241000044648B1037813F0010FF7D10368C3F302 +:102420005E039D42E9D9F1E7084B0093084BD122A6 +:1024300008490220084CA047002003B0F0BD07481F +:10244000704700BF4123010069230100C0930200CF +:1024500054930200989302005D220100906B0020CB +:1024600038B50020164B98470446154D1BE038BD83 +:102470002046A847014608B3037813F0010F11D195 +:102480002368C3F35E020432086802EB500262F371 +:102490005F0323600846A847014670B10B7813F02C +:1024A000010FEDD00C46002CE1D0237813F0010F82 +:1024B000DED02046A8470446F5E738BD38BD00BF4A +:1024C0004123010038B51E4B984238D0002836D041 +:1024D000044610F8043C6FF3000300F8043C194A6A +:1024E000B2F8203D01339BB2A2F8203D0F2B20D83B +:1024F0000438154B9847014608B3037813F0010FD1 +:1025000015D1114D54F8043CC3F35E02043208683F +:1025100002EB500262F35F0344F8043C0846A8470C +:10252000014628B10B7813F0010FEBD038BD38BD50 +:1025300038BD0022034BA3F8202D044B984738BD2B +:10254000906B0020745E0020412301006124010093 +:1025500038B1064A904206D050F8040CC0F35E0031 +:102560007047002070470020704700BF906B00202C +:102570001B4B1B68984220D0194B9B68834208BFB5 +:1025800001221BD010B582B0164B1B6898421DD09B +:10259000012314491C4651F83320904217D00133CF +:1025A000102BF7D1104B0093104B40F23222104900 +:1025B0000320104CA04702B010BD0022084B03EBD3 +:1025C000C2039A796FF300029A7170470024054B99 +:1025D00003EBC404A3796FF30003A371EBE700BF1F +:1025E00044000020B06C0020DC93020064930200E1 +:1025F000989302005D2201002DE9F041124B9A7977 +:102600006FF300029A719A7B6FF300029A730F4C7A +:102610000025DFF83C802E46271F03E001350834F3 +:10262000102D0ED054F8040C0028F7D0C04744F801 +:10263000046C07EBC5039A7966F300029A71268051 +:10264000ECE7BDE8F08100BF44000020B46C00203E +:10265000C5240100F0B400F0030301F00304A34219 +:1026600000F0A680202A40F2A18000F1200401F1B0 +:102670002003154613F8206C04F8206C13F81F6C27 +:1026800004F81F6C13F81E6C04F81E6C13F81D6C14 +:1026900004F81D6C13F81C6C04F81C6C13F81B6C0C +:1026A00004F81B6C13F81A6C04F81A6C13F8196C04 +:1026B00004F8196C13F8186C04F8186C13F8176CFC +:1026C00004F8176C13F8166C04F8166C13F8156CF4 +:1026D00004F8156C13F8146C04F8146C13F8136CEC +:1026E00004F8136C13F8126C04F8126C13F8116CE4 +:1026F00004F8116C13F8106C04F8106C13F80F6CDC +:1027000004F80F6C13F80E6C04F80E6C13F80D6CD3 +:1027100004F80D6C13F80C6C04F80C6C13F80B6CCB +:1027200004F80B6C13F80A6C04F80A6C13F8096CC3 +:1027300004F8096C13F8086C04F8086C13F8076CBB +:1027400004F8076C13F8066C04F8066C13F8056CB3 +:1027500004F8056C13F8046C04F8046C13F8036CAB +:1027600004F8036C13F8026C04F8026C13F8016CA3 +:1027700004F8016C203D20342033202D3FF67AAF41 +:10278000A2F1210525F01F04203403192144203A29 +:1027900025F01F05521B3AB101391A4411F8014FB7 +:1027A00003F8014B9A42F9D1F0BC70470346F2E7B7 +:1027B000002B5BD10546202A34D905F1200401F114 +:1027C0002003164653F8207C44F8207C53F81C7CE8 +:1027D00044F81C7C53F8187C44F8187C53F8147C9B +:1027E00044F8147C53F8107C44F8107C53F80C7CAB +:1027F00044F80C7C53F8087C44F8087C53F8047CBB +:1028000044F8047C203E20342033202EDAD8A2F174 +:10281000210323F01F04203425442144203A23F0CF +:102820001F03D21A042A32D90E1F2C46134656F81B +:10283000047F44F8047B043B042BF8D8541F24F095 +:1028400003030433043A24F00304121B19442B44F9 +:10285000002AA9D001391A4411F8014F03F8014B9D +:102860009342F9D1A0E729461D46A4E7C3F104032A +:102870007AB1C418034611F8015B03F8015B0D46F9 +:10288000013AA342EFD0002AF5D10022E0E72B461F +:10289000DEE70346F9E70000F0B583B004460D46D5 +:1028A00011F0030F1CBF21F00305043538B110F8F7 +:1028B000043C03F00103002B14BF0446002420460F +:1028C000154B98470646854224D011D32846134B12 +:1028D00098470746A0B184B17EB12A46B54228BFC9 +:1028E000324621460E4B984720460E4B984704E04F +:1028F0002946201F0C4B98472746384603B0F0BDA9 +:102900000A4B00930A4B40F23F120A4902200A4C3C +:10291000A047F2E72746F0E751250100DD2301003B +:1029200055260100C524010069230100C09302005F +:1029300078930200989302005D220100002800F0C5 +:102940008D80014610280BD8454B9B7913F0010F61 +:102950000ED0434B9B7B13F0010F08BF012008D022 +:1029600070B582B03F4A00234FF0FF36144619E09D +:1029700000203B4A02EBC0018B7943F001038B71CD +:1029800052F830007047374A02EBC3018B7943F0AD +:1029900001038B7152F8350023E05EB20133083237 +:1029A000102B13D01D4604EBC300807910F0010FEB +:1029B000F4D190888142F1D8E5D0002EEDDB04EB14 +:1029C000C605AD88854288BF5EB2E7E7002E0ADB08 +:1029D000244A02EBC6018B7943F001038B7152F854 +:1029E000360002B070BD1F4B9B7913F0010F08BF7A +:1029F000002416D001231B481C4600EBC302927929 +:102A000012F0010F0DD00133102BF5D1164B0093AE +:102A1000164B40F2162216490320164CA047002000 +:102A2000DFE7104D05EBC4039A7942F001029A7179 +:102A3000998055F83400104B984745F8340018B188 +:102A4000084B53F83400CCE70C4B0093074B4FF482 +:102A5000047207490320074DA847F1E7002070479B +:102A600044000020B06C00206C94020088930200A7 +:102A7000989302005D220100992801000894020049 +:102A800010F0030313D0C3F104033AB1034400F878 +:102A9000011B013A98420AD0002AF8D10022002AEC +:102AA00048D0024400F8011B9042FBD1704730B47B +:102AB00001EB012404EB014404EB0164202A20D93A +:102AC00000F12003154643F8204C43F81C4C43F812 +:102AD000184C43F8144C43F8104C43F80C4C43F892 +:102AE000084C43F8044C203D2033202DEBD8A2F1B4 +:102AF000210323F01F0520352844203A23F01F032B +:102B0000D21A042A0FD90546134645F8044B043B54 +:102B1000042BFAD8531F23F003040434043A23F09F +:102B20000303D21A204422B1024400F8011B904250 +:102B3000FBD130BC704710F0030341D110B4202901 +:102B400021D900F120030C46002243F8202C43F841 +:102B50001C2C43F8182C43F8142C43F8102C43F881 +:102B60000C2C43F8082C43F8042C203C2033202C58 +:102B7000EBD8A1F1210323F01F02203210442039A9 +:102B800023F01F03C91A042910D902460B4600245A +:102B900042F8044B043B042BFAD84B1F23F00302EA +:102BA0000432043923F00303C91A104429B1014443 +:102BB000002300F8013B8842FBD15DF8044B7047CD +:102BC000C3F1040341B10344002200F8012B013991 +:102BD0009842B3D00029F8D100210029EFD0014458 +:102BE000002300F8013B8842FBD1704710F003033B +:102BF00043D110B4202922D900F120030C464FF014 +:102C0000FF3243F8202C43F81C2C43F8182C43F8CF +:102C1000142C43F8102C43F80C2C43F8082C43F8E0 +:102C2000042C203C2033202CEBD8A1F1210323F0ED +:102C30001F0220321044203923F01F03C91A04292F +:102C400011D902460B464FF0FF3442F8044B043BC7 +:102C5000042BFAD84B1F23F003020432043923F06B +:102C60000303C91A104429B10144FF2300F8013BB2 +:102C70008842FBD15DF8044B7047C3F1040341B1B6 +:102C80000344FF2200F8012B01399842B1D00029FA +:102C9000F8D100210029EFD00144FF2300F8013BC7 +:102CA0008842FBD170479A4238BF885470477047BA +:102CB0002DE9F04F83B00746009193469846DDF822 +:102CC00030900D9C9DF838501099DDF844A0129A70 +:102CD00012F00203019335D1BAF1000F0ED012F0B9 +:102CE000010F00F0B68015B912F00C0F01D00AF1F7 +:102CF000FF3A8C4213D21F2C04D910E08C420BD225 +:102D00001F2C09D809EB04033020013403F8010B10 +:102D1000A14201D9202CF8D112F0010F12D0A24506 +:102D200010D91F2C09D809EB04033020013403F813 +:102D3000010B544505D0202CF8D112F0100F04D10E +:102D400044E0A24612F0100F13D012F4806F04D1A9 +:102D50001CB1A1421BD0544519D00F9B102B1ED083 +:102D60000F9B022B27D01F2C30D8302309F80430BA +:102D700001341F2C2AD82DBB12F0040F3AD112F0C7 +:102D8000080F23D0202309F8043001341EE0631E0D +:102D90000FD00F99102901D01C46E1E7023C12F038 +:102DA000200F5DD11F2CDED8782309F804300134C0 +:102DB000D9E71C46D1E71F2C08D8622309F8043054 +:102DC0000134D0E72D2309F80430013412F0030F49 +:102DD00015D1544528BF5E4612D20BEB0A052D1BB8 +:102DE0005A46561C434600992020B8473246AE4208 +:102DF000F7D105E02B2309F804300134E6E75E46FD +:102E000035465CB1A14434443246551C43460099D2 +:102E100019F8010DB8472A46AC42F6D1019BA3B17F +:102E2000A5EB0B03534512D220262A46009D541CC5 +:102E3000434629463046B8472246A4EB0B03534588 +:102E4000F5D3204603B0BDE8F08F2C46F9E72C46B9 +:102E5000F7E78C42BFF476AF1F2C7FF653AF71E7D4 +:102E60001F2CB3D8582309F8043001347BE7000045 +:102E70002DE9F04190B0169D189EDDF86C802DB9BB +:102E800028F0100418F4806F2FD1A04618F0200FFE +:102E90000DF11F0E4FF0000714BF4FF0370C4FF02D +:102EA000570CB5FBF6F406FB1454E4B20137092CB9 +:102EB00094BF30346444E4B20EF8014FB5FBF6F52C +:102EC0000DB1202FEDD1CDF818801A9C0594199CD6 +:102ED000049403969DF85C400294019708AC00941A +:102EE000034CA04710B0BDE8F081A0460027EAE7F8 +:102EF000B12C01002DE9F04F95B0089009910A928C +:102F00000B93DDE91E45DDF88890DDF88C8054EAEE +:102F1000050307D1269B23F01003269A12F4806F35 +:102F20003ED12693269B13F0200F0DF12F0A4FF070 +:102F300000061D4F14BF4FF0370B4FF0570B4A469A +:102F4000434620462946B847D2B20136092A94BFE3 +:102F500030325A44D2B20AF8012F4A46434620463C +:102F60002946B84704460D4654EA050301D0202EF1 +:102F7000E5D1269B0693259B0593249B0493CDF8CE +:102F80000C909DF88030029301960CAB00930B9B44 +:102F90000A9A09990898054CA04715B0BDE8F08F2A +:102FA00026930026E5E700BF85B10100B12C0100A2 +:102FB0002DE9F04F91B00A921C461A9E0B91934B4B +:102FC000002914BF814699464FF0000B2078002855 +:102FD00000F06A82252808D00BF101050A9B5A46A9 +:102FE0000B99C8470134AB46F0E7621C002101E0B1 +:102FF00041F00101144601322378203B102B31D8D7 +:1030000001A050F823F000BF5930010065300100E5 +:10301000653001005F30010065300100653001005E +:103020006530010065300100653001006530010048 +:103030006530010053300100653001004D30010062 +:103040006530010065300100F12F010041F00201FF +:10305000D0E741F00401CDE741F00801CAE741F0B3 +:103060001001C7E72378A3F13002D2B2092A16D99A +:103070002A2B22D0002523782E2B28D00027237836 +:10308000683B122B4FD8DFE803F0AA4EB84E454EEE +:103090004E4E4E4E4E4EB44E4E4E4E4EBC00002541 +:1030A00005EB850503EB4505303D14F8013FA3F121 +:1030B0003002D2B2092AF3D9DDE7331D3568002D7D +:1030C000BCBF41F002016D4201341E46D3E741F41A +:1030D0008061601C6378A3F13002D2B2092A04D95E +:1030E0002A2B11D004460027C9E7002707EB8707E2 +:1030F00003EB4707303F10F8013FA3F13002D2B293 +:10310000092AF3D90446BAE7376827EAE777023491 +:103110000436B4E763786C2B19BF41F48071013435 +:1031200041F4407102342078A0F12503532B00F2C2 +:10313000B281DFE813F0A601B001B001B001B00127 +:10314000B001B001B001B001B001B001B001B001F7 +:10315000B001B001B001B001B001B001B001B001E7 +:10316000B001B001B001B001B001B001B001B001D7 +:10317000B001B001B001B001B001B001B001B001C7 +:10318000B001B001B001B001B001B001B001B001B7 +:10319000B001B001B001B001B001B0016D00B001EB +:1031A000B001B001B001B001B001B001B001B00197 +:1031B0006D0014016D00B001B001B001B0016D00EF +:1031C000B001B001B001B001B0016D008F01B001DC +:1031D000B0013701B0016D00B001B0016D0063783E +:1031E000682B19BF41F08001013441F0C001023465 +:1031F00099E741F48071013495E741F4007101349D +:1032000091E741F4807101348DE700BFAF2C0100DC +:10321000782800F0D581582800F054816F2800F0FC +:10322000D181622800F0D08121F01003692826D1D5 +:1032300011F4806F40F0C0810A2213F4007F24D182 +:1032400013F4807F44D113F0400F57D113F0800F57 +:1032500014BFB6F90010316804360593049503973E +:103260000292CB0F01930029B8BF494200910A9BFB +:103270005A460B994846AC4DA847834652E164280C +:1032800000F0568119460A221FE1F11D21F00701C5 +:1032900001F10806086849680893079506970492A3 +:1032A00000230593CB0F029302460B46002873F1CF +:1032B000000109DBCDE900230A9B5A460B994846D9 +:1032C0009A4DA84783462DE1424263EB4303F1E761 +:1032D00006F1040831680593049503970292CB0F19 +:1032E00001930029B8BF494200910A9B5A460B99A5 +:1032F00048468D4DA8478346464613E1317804364B +:10330000ABE7F11D21F0070101F1080608930795CD +:1033100006970023049205930293D1E90023CDE997 +:1033200000230A9B5A460B994846804DA84783467E +:10333000F8E006F104080593049503970292002330 +:103340000193336800930A9B5A460B994846764D81 +:10335000A84783464646E5E031780436D4E011F0CC +:10336000020F40F0EA80012D40F203810BF1FF379C +:103370002F444FF020085A46551C0A9B0B99404693 +:10338000C8472A46BD42F7D1371D05F1010B0A9BFC +:103390002A460B993078C8473E46013416E60C9E03 +:1033A000BB46FAE7331D0E9333681A460C93002F81 +:1033B00014BF3B464FF0FF331078002800F0DB804D +:1033C00012F8016F0EB1013BFAD10C9BD31A0D9389 +:1033D00011F4806A03D0BB4228BF3B460D9311F025 +:1033E00002030F9340F0CE800D990B4601338D42BE +:1033F00040F2C38005EB0B08A8EB01085A46561CA7 +:103400000A9B0B992020C84732464645F7D16B1CD2 +:103410000D930C9B1878002800F0B280DDF8308006 +:103420003246564609E01F4602F1010B0A9B0B99F2 +:10343000C84718F8010F30B15A46002EF4D07B1E51 +:10344000002FF0D193460F9B002B40F09F8001345A +:103450000E9EBBE5351D41F0210105910823049323 +:1034600003971023029300230193336800930A9B70 +:103470005A460B9948462C4EB047834601342E4697 +:10348000A4E50BF101050A9B5A460B992520C84774 +:103490000134AB469AE50BF101050A9B5A460B999C +:1034A000C8470134AB4691E50A9A93452CBF02F117 +:1034B000FF325A460A9B0B990020C847584611B064 +:1034C000BDE8F08F41F02001102221F00C0311F42F +:1034D000806F07D021F00D0369283FF4AEAE642859 +:1034E0003FF4ABAE13F4007F7FF40BAF13F4807F97 +:1034F0007FF41FAF13F0400F7FF42EAF13F0800F57 +:1035000014BF3188316804360593049503970292FD +:103510000023019300910A9B5A460B994846024D9D +:10352000A8478346013451E5712E0100F52E0100B4 +:1035300011F4806F3CD10A227FE6331D0C930BF10E +:1035400001070A9B5A460B993078C847012D7FF630 +:1035500026AF05EB0B0A4FF020083A46561C0A9B93 +:103560000B994046C8473246B245F7D1AB440C9E52 +:1035700013E75D4608E70C9A27E70D935E4648E798 +:10358000B34664E75E4600287FF448AF0D9A954243 +:103590007FF65DAF5D44AD1A5A46202602F1010B5D +:1035A0000A9B0B993046C8475A46AB45F6D14EE7C1 +:1035B00021F011030A2240E621F011030A223CE621 +:1035C000102282E7082280E702227EE710B582B04F +:1035D000009313460A4601460248034CA04702B036 +:1035E00010BD00BFA72C0100B12F010008B51821A4 +:1035F0000448054B9847054B00221A7001225A7067 +:1036000008BD00BF806C0020F91E0100B86B0020CF +:10361000F0B583B03748384B984710B30446354E61 +:10362000364D237D03F00703032B30DD2146304662 +:10363000A84704460028F4D12E48314B9847054648 +:10364000304B9847002852D12F4B0093E5222F4949 +:1036500003202F4CA0472A4600232E482E49884796 +:10366000FEE724482D4B98470546264B984760B9FE +:10367000254B0093D32225490320254CA0472A46F9 +:103680000023244824498847FEE75DB91FE021460E +:103690001848234B984705461A4B9847D0B1B5B107 +:1036A000002CC9D01F4C012626704FF4FA732B60F2 +:1036B0000027AF602B7D032262F302032B754FF0CE +:1036C000FF332B61184B98476860EF60A67028465F +:1036D00003B0F0BD0C4B0093DB220C4903200C4CD3 +:1036E000A0472A4600230B480B498847FEE7002DD8 +:1036F000D8D1ECE7806C0020A91F0100BD1F01009C +:103700005D1F0100B1220000AC940200D4940200BD +:103710005D220100D83F0200B9220000111F010004 +:1037200015200100B86B00205910010010B50446A7 +:1037300001460948094B98470122094B1A70204657 +:10374000084B9847084B1B689C4200D010BD0122D3 +:10375000034BDA70FAE700BF806C0020952001006F +:10376000B86B0020C52401004C6D002010B5044644 +:103770004068124B98472368984201D2002010BD40 +:103780000F4B984760600F4B0022DA709A70A36865 +:103790002BB1204698470B4BD87800B110BD236958 +:1037A000002BC4BF03F1FF33236123690BB1012058 +:1037B000F4E72046044B9847012010BD711001002A +:1037C00059100100B86B00202D3701002DE9F84396 +:1037D000584B1B79002B40F0A980564B01221A71DF +:1037E0005B782BB90022534B1A710120BDE8F88396 +:1037F000514B98474F4B986000261D46DFF84C818F +:103800004E4CDFF850916DE02760002609E04C4BEC +:103810009847AB7833BBEB7823BB2B78002B5FD179 +:1038200027602168F1B14046C84707462068037DFC +:1038300013F0070316D08642E6D0052BE7D0002E02 +:1038400042D0027D02F00702337D03F007039A4263 +:10385000DFDD3B4B98470028DBD0AB7813B9EB7822 +:10386000002B2FD0334CA068364DA847E3680344A3 +:10387000E3602069A847B0F5FA7F15D3E2686423B6 +:1038800003FB02F3304AA2FB0323C3F34713642B69 +:103890009ABFC3F16403DBB20023264C23750023D7 +:1038A000E360254B984720614FF0FF32214B9A612E +:1038B0002648274B98470446002831D0214F1D4EFB +:1038C000224D1DE026680DE01D4B98470028A0D032 +:1038D000AB78002BC6D1EB78002BC3D1266801E072 +:1038E00000262E700023EB70AB704046184B9847B3 +:1038F000206096E721462846164B9847044678B143 +:10390000237D13F0070FF5D06068B847236898420D +:1039100034BF1B1A0023B2699A4288BFB361E9E73A +:10392000044B00221A719869BDE8F8830120BDE8B4 +:10393000F88300BFB86B0020591001004C6D0020C7 +:103940006D37010071100100D34D6210806C0020B2 +:10395000A91F0100BD1F01002DE9F843037D03F0FD +:1039600007038B4231D00D46884681461848194BD3 +:103970009847044618B3037D03F007039D420BDA12 +:10398000134F154E21463846B0470446B8B1237D43 +:1039900003F007039D42F5DBA14505D022464946C9 +:1039A0000B480E4B984754B101220D4B1A7099F8F1 +:1039B000143068F3020389F81430BDE8F88300225C +:1039C00049460348054B9847EEE7BDE8F88300BF3A +:1039D000806C0020A91F0100BD1F0100952101007E +:1039E000B86B00202DE9F04182B080460F461646A4 +:1039F0001D46104B984704460F4B984760B13CB1A9 +:103A0000C4F808802760314620460C4B9847E56093 +:103A1000204602B0BDE8F081094B00934FF4837259 +:103A200008490320084DA8472246002307480849B3 +:103A30008847FEE711360100B12200005939010024 +:103A4000C4940200D49402005D220100D83F020019 +:103A5000B922000010B50446034B98472368DB43A6 +:103A60000344636010BD00BF59100100037813F0D8 +:103A7000800F01D10120704703F0E002C02A0AD074 +:103A800003F0F002E02A08D003F0F803F02B0CBF9B +:103A900004200020704702207047032070477F28D1 +:103AA00016D982B0B0F5006F13D2C0F3841363F05F +:103AB0003F038DF8043000F03F0060F07F008DF888 +:103AC000050000238DF806308DF80730019802B00C +:103AD0007047B0F5803F15D2C0F3033363F01F0386 +:103AE0008DF80430C0F3851363F07F038DF8053043 +:103AF00000F03F0060F07F008DF8060000238DF895 +:103B00000730E3E7B0F5881FE0D2C0F3824363F0EB +:103B10000F038DF80430C0F3053363F07F038DF895 +:103B20000530C0F3851363F07F038DF8063000F095 +:103B30003F0060F07F008DF80700C7E782B001907A +:103B400010F0800F17D09DF804309DF80520120466 +:103B500002EB03629DF8063002EB03229DF807306A +:103B60001A44042312F0FF0F08BF120A013B13F09E +:103B7000FF03F7D10192019802B0704770B483B08F +:103B8000002301930C4651B12268835C13F0800F2F +:103B900007D118460132226003B070BC704701ACF7 +:103BA000F2E703F0E001C0290BD003F0F001E029B7 +:103BB00019D003F0F801F02933D00132226000203F +:103BC000EAE7511C2160405C00F0C001802901D06F +:103BD0000020E1E79B0103F4F86300F03F00184484 +:103BE00002322260D8E7511C2160415C01F0C0051F +:103BF000802D01D00020CFE7951C2560405D00F0AE +:103C0000C005802D01D00020C6E71B039BB200F049 +:103C10003F000344880100F47C60184403322260B2 +:103C2000BAE7511C2160415C01F0C005802D01D034 +:103C30000020B1E7951C2560455D05F0C006802E8B +:103C400001D00020A8E7D61C2660865D06F0C000E3 +:103C5000802801D000209FE79B0403F4E0130903B0 +:103C600001F47C300343A80100F47C6006F03F06B9 +:103C700030441844043222608EE70000F0B583B06F +:103C800006460D460B68013B0B6004240E4F05E011 +:103C900001382860631E13F0FF0408D02868304400 +:103CA0003B68984728B928680028F1D109E000202E +:103CB00007E02B6802A941F8043D034B5B683046DE +:103CC000984703B0F0BD00BF540000202DE9F0413B +:103CD0000E4691B1074600242546DFF824803819A6 +:103CE000D8F800309847002808BF01200444013567 +:103CF000AE42F4D12046BDE8F0810C46FAE700BFA1 +:103D000054000020F0B583B0002301930D4669B143 +:103D100006461C46064F01A930467B689847013489 +:103D2000019BAB42F7D3204603B0F0BD0C46FAE747 +:103D30005400002070B582B000230193037873B162 +:103D400004460025074E01A92046736898470135AF +:103D5000019BE35C002BF6D1284602B070BD002524 +:103D6000FAE700BF54000020232904D00378012B78 +:103D700015D00020704703781BB901230370184643 +:103D80007047012B03D0022B05D000207047002381 +:103D900003701846704700230370012070472029E4 +:103DA00003D10223037001207047012070470000F7 +:103DB0002DE9F04F91B00591069207939DF8683078 +:103DC00004930890002800F0F080002900F0EF80B4 +:103DD00013F0120F17D003780A2B00F0EA800D2B96 +:103DE00000F0ED80002B00F0EC8001460022013253 +:103DF00011F8013F0A2B00F0DD800D2B00F0DA8076 +:103E0000002BF4D1D7E0049B03F002031A460B9376 +:103E100047F618430799002A18BF1946079100234F +:103E20008DF83F300E93DFF8AC91DFF8ACA178E06D +:103E3000019A21460598644B98470544ADB200B2FB +:103E4000002802DD069B1D44ADB22DB2B7F1FF3F45 +:103E500038D0A4F10A02162A3BD85C4BD34013F0A9 +:103E6000010F39D101232C22944235D00133DBB22A +:103E70001AF80320002AF7D1B7F1FF3F08BFAB467D +:103E80000C9E0D9B0C93039B0293019C18F806302B +:103E9000002B6ED0D9F804300DA940469847019008 +:103EA000029B01330393049B13F0010FC0D0214602 +:103EB0000DF13F00464B98470028B9D00C9E0D9B52 +:103EC0000C93E0E7069BEB1A099A9342C8BF37466A +:103ED000BFE701232C22C7E7002E4AD1B7F1FF3FED +:103EE0004AD1AB46029B23B10D2C03D1019B0A2B77 +:103EF00000D10C9EB6B2079BA3EB0B0B0FFA8BF312 +:103F00000793002E3AD00E9F3E440E96089A1378DF +:103F10000A2B3FD00D2B3DD0935D0A2B38D00D2BB3 +:103F200036D00E9B0A93089901EB0308CB5C002B5B +:103F300030D0079B002B2DDDB8F1000F1ED047F6C7 +:103F40001843079A0B99002908BF134609930026C6 +:103F50000C960D96D9F804300CA9404698470446B3 +:103F60000C9B0D93B3464FF0FF37029635460196F2 +:103F70008CE7B7F1FF3FB5D00A9B3BB10E9B5BB915 +:103F8000144B5B680EA90898984703E0BEB2B2E7ED +:103F900001360E960E9B13B1BDF838000CE00D4BA8 +:103FA0005B680EA908989847F6E7002004E0002017 +:103FB00002E00022013290B211B0BDE8F08F002281 +:103FC000F8E70022F7E700BF6100010009004000A8 +:103FD000693D010054000020149502002DE9F04FC6 +:103FE00085B0002840D00546002A3FD0002003902D +:103FF0008DF80B0049B19B460192894600241C4F65 +:104000009DF838A00AF0010A0CE0044628E0424678 +:1040100031460198174B984703B2002B02DD5C44F0 +:10402000044424B2039B994515D97B6803A928460B +:10403000984706467B6800210398284498478046A5 +:10404000BAF1000FE3D031460DF10B000A4B98474F +:104050000028E7D1DBE7002C02DDA4EB0B0424B23F +:10406000204605B0BDE8F08F0024F9E70024F7E70B +:104070005400002061000100693D01002DE9F04F6E +:1040800089B0BDF948400694BDF94C509DF8508068 +:1040900000240480448000295BD00F46002A58D0B9 +:1040A000039311460292044608F0020347F61842B1 +:1040B000002B18BF15460495B1F9082007921FFA86 +:1040C00082FA3B78002B4CD03E460025DFF8B0B09A +:1040D000069B9A441FFA8AF94746B0460097049B0C +:1040E000039A02993046D8470544B4F902300AEBE6 +:1040F0000302B2F5004F24D2CDF814904B446380F4 +:104100000097039B029A01463046184EB047B4F917 +:1041100000309842B8BF1846208008EB050618F812 +:104120000530002BDAD12DB116F8013C0A2B13D043 +:104130000D2B11D0B4F902309BB1069A9B1A638003 +:1041400007E00B4B00930B4B71220B4902200B4CE9 +:10415000A04709B0BDE8F08F6388059A1A446280D1 +:10416000E8E7BDF81C306380F3E700BFDD3F0100E6 +:1041700044950200009502001C9502005D2201009A +:10418000B13D01002DE9F04781468A461F46DDF822 +:104190002080144632B90020BDE8F087002814DAE8 +:1041A0002C467CB1650807FB05A631464846C0474A +:1041B0000028F3DD84F0010404F001042C1B06EB5D +:1041C000070AEEE70020BDE8F0873046BDE8F0873B +:1041D000014B1860704700BFD46B0020014B1B6877 +:1041E000D8687047D46B002008B5024B1B681B6869 +:1041F000984708BDD46B00202DE9F84304460139E7 +:10420000272934D8DFE811F028003900EC00A1009C +:1042100053006000A303D8004401B2024600CC035F +:104220007302FE03DC00E0008100E4009301E8007B +:1042300047026602E3036A017C013F02A0012302F8 +:104240001F01750391030801B800E002C901F401E0 +:104250004703040212033A0300219B4B98470021B5 +:1042600020469A4B98479A4B19689A4B9847FF21DA +:104270002046994B9847BDE8F8830021924B984718 +:1042800000212046914B9847914B19680431914B7E +:104290009847ECE700218C4B9847002120468B4B38 +:1042A00098478B4B196804318A4B9847DFE7002108 +:1042B000854B984700212046844B9847844B1968CA +:1042C0001031844B9847D2E70021DFF8FC81C047CA +:1042D000002120467D4FB84781467D4E316804312C +:1042E0007C4DA847316818314846A847012120462F +:1042F000C04701212046B847074631680431A84726 +:10430000316808313846A847B1E70021DFF8B881A5 +:10431000C047002120466D4FB84781466C4E31683A +:104320006C4DA847316868314846A84701212046AE +:10433000C04701212046B847074631680431A847E5 +:10434000316808313846A84791E70021DFF87881C5 +:10435000C047002120465D4FB8475D4E316824318B +:104360005C4DA84701212046C04701212046B8479F +:1043700031682831A8477AE70021DFF84C81C0472F +:1043800000212046514FB847514E31682431514DDC +:10439000A84701212046C04701212046B84731687F +:1043A0002831A84702212046C04702212046B847AD +:1043B00031689C31A8475AE70021434B984756E79C +:1043C0000021414B984752E700213F4B98474EE769 +:1043D00000213D4B98474AE700213B4B984746E771 +:1043E0000021DFF8E480C04700212046374FB8475E +:1043F0008146374E31680431364DA8473168203147 +:104400004846A84701212046C04701212046B84719 +:1044100031681C31A8472AE70021DFF8AC80C0478B +:1044200000212046294FB847294E31682031294DB7 +:10443000A84701212046C04701212046B8473168DE +:104440001C31A84713E70021DFF87C80C04700211A +:1044500020461E4FB84781461D4E316824311D4D00 +:10446000A847316894314846A84701212046C047F3 +:1044700001212046B84731682831A847022120464B +:10448000C04702212046B84731689031A847EEE680 +:104490000021DFF83480C047002120460B4FB84789 +:1044A0000B4E31684C310B4DA84740212046C04788 +:1044B00040212046B847074631681031A847316887 +:1044C00050313846A847D2E6CD300000FD2F00001D +:1044D000D86B0020D9650000993A000000219F4B5D +:1044E0009847002120469E4B984707469D4E3168CD +:1044F00004319D4DA84731687C313846A847B6E65F +:104500004021DFF85882C04740212046944FB847E9 +:10451000944E31681831944DA84741212046C04738 +:1045200041212046B84731681031A8479FE6002155 +:104530008A4B984700212046894B9847894B196838 +:104540006C31894B984792E60021DFF81082C04712 +:1045500000212046824FB847824E31680431824D97 +:10456000A84740212046C04740212046B84731682F +:104570001431A84701212046C04701212046B847F1 +:1045800031688031A84702212046C04702212046D9 +:10459000B84731688431A84769E600216F4DA847C4 +:1045A00000212046DFF8B881C0476E4F39686E4E53 +:1045B000B04740212046A84741212046A847412135 +:1045C0002046C0473968A831B04743212046A84754 +:1045D00043212046C0473968AC31B04742212046CC +:1045E000A84742212046C0473968A431B0473EE67B +:1045F00000215A4DA84740212046A8474021204687 +:10460000574B9847574B1968B031574B98472EE690 +:104610000021DFF84881C04700212046504FB847AD +:10462000504E3168504DA84701212046C047012116 +:104630002046B84731688031A84702212046C0474C +:1046400002212046B84731688431A8470FE600218F +:10465000DFF80881C04700212046414FB847814616 +:10466000404E31680431404DA84731688831484692 +:10467000A84703212046C04703212046B847316898 +:104680008C31A847F3E50021344B984700212046A0 +:10469000334B9847EBE50021304FB84700212046C7 +:1046A000DFF8BC80C04781462E4E316804312E4D64 +:1046B000A847316874314846A84740212046B8478A +:1046C00001212046B84701212046C047316880318A +:1046D000A847CCE50021214B984700212046204BDC +:1046E0009847204B196878311F4B9847BFE5002148 +:1046F000DFF86880C04700212046194FB84781463F +:10470000184E31680431184DA847316808314846C1 +:10471000A847316818314846A84740212046C0477D +:1047200040212046B847814631680431A8473168A6 +:1047300054314846A84741212046C04741212046E0 +:10474000B84731688031A84742212046C0474221FE +:104750002046B84731685831A84788E5CD30000079 +:10476000FD2F0000D86B0020D96500000021DFF884 +:104770009082C047002120469E4FB84781469E4EFA +:10478000316804319D4DA847316840314846A847FB +:10479000316818314846A84701212046C047012109 +:1047A0002046B847814631681831A84731684431FE +:1047B0004846A84702212046C04702212046B84764 +:1047C00031684831A84752E50021DFF83482C047FC +:1047D00000212046874FB847874E31680431874D06 +:1047E000A84701212046C04701212046B84731682B +:1047F000A031A84702212046C04702212046B847E1 +:104800003168A031A84703212046C0470321204634 +:10481000B8473168A031A84704212046C047042189 +:104820002046B8473168A031A84720E50021DFF8CD +:10483000D081C047002120466E4FB8476E4E316888 +:104840006E4DA84742212046C04742212046B84726 +:1048500031688031A84741212046C0474121204688 +:10486000B8473168B031A84740212046C0474021B1 +:104870002046B8473168A831A847F8E40021604BCA +:104880009847002120465B4B98475B4B1968A43141 +:104890005A4B9847EBE40021DFF86481C0470021C0 +:1048A0002046544FB8478146534E31680431534D2A +:1048B000A847316818314846A84704212046C04718 +:1048C00004212046B8473168B831A8470321204663 +:1048D000C04703212046B8473168B431A8470121B9 +:1048E0002046C04701212046B84731688031A8479B +:1048F000BDE40021DFF80881C047002120463D4F7C +:10490000B84781463C4E316804313C4DA847316878 +:1049100018314846A84703212046C04703212046B6 +:10492000B84731689831A847A1E40021344B984733 +:10493000002120462F4B984707462F4E31680431FF +:104940002E4DA847316808313846A8478FE400212A +:10495000DFF8AC80C04700212046264FB847264EDE +:1049600031680431254DA84703212046C047032163 +:104970002046B84731682C31A84701212046C0475E +:1049800001212046B84731683031A847022120462E +:10499000C04702212046B84731683431A84766E451 +:1049A0000021DFF85C80C04700212046114FB84746 +:1049B000114E31683831114DA84701212046C047BA +:1049C00001212046B84731683C31A8474FE4002117 +:1049D0000B4B984700212046064B98470746064E4A +:1049E00031680431054DA847316870313846A84711 +:1049F0003DE400BFFD2F0000D86B0020D96500000A +:104A0000CD3000000021DFF85480C047002120464F +:104A10000F4FB84781460F4E316804310E4DA847FD +:104A200031685C314846A84701212046C047012132 +:104A30002046B84731686031A84702212046C04768 +:104A400002212046B84731686431A8470FE400BF0F +:104A5000FD2F0000D86B0020D9650000CD3000008C +:104A600008B5044B1B7913B9034B984708BD034B9A +:104A7000984708BDD86B0020D96400006567000026 +:104A800070B5B34C2068B34B9847FF222C212068A7 +:104A9000B14B9847236A13F0020314BF1D2108216C +:104AA000002B15BF3B2012201E230B234FF00002CA +:104AB00063F3040260F34A1261F3CF2229212068D4 +:104AC000A64B98472046236A13F0020314BF072120 +:104AD0001C21002B15BF0F243A2408231D234FF05F +:104AE000000263F3040264F34A1261F3CF2248F236 +:104AF00089010068994B98479548036A13F00203AF +:104B000014BF07211C21002B15BF0F243A240823B2 +:104B10001D234FF0000263F3040264F34A1261F3B1 +:104B2000CF22792100688D4B9847894C626948F201 +:104B30008E0120688A4DA84762697E212068A847B7 +:104B400020680430834B9847246804340020854B48 +:104B500098470A30C000B0F5A07F80F24686012257 +:104B600001212046804B9847794C2068FF222C2158 +:104B70000430794B984720680430236A13F0020F01 +:104B800040F041860B2318210E244FF0000264F3FD +:104B9000040261F34A1263F3CF2229216F4B984735 +:104BA0006B4B18681B6A13F0020314BF1A21102103 +:104BB000002B15BF372422241C2312234FF00002A0 +:104BC00063F3040264F34A1261F3CF223921043003 +:104BD000624DA8475E4C2068A28940F2392104301A +:104BE000A8472068E28940F239410430A847246888 +:104BF000043400205B4B984728304000B0F5A07F7C +:104C000080F20686012230212046574DA847504C9D +:104C10002068012233210430A8472068626948F2E5 +:104C20008E0104304E4B984720680430236A13F0FD +:104C3000020F40F0FB851F233F211C464FF000026E +:104C400064F3040261F34A1263F3CF2248F289014C +:104C5000424B98473E4C206862697E210430404BAD +:104C6000984720680430236A13F0020F40F0E38570 +:104C70001F233F211C464FF0000264F3040261F33E +:104C80004A1263F3CF227921344B9847304B18688E +:104C900004301B6A13F0020F40F0D2851F233F211E +:104CA0001C464FF0000264F3040261F34A1263F3FE +:104CB000CF2248F2A901294B9847254B18680430A8 +:104CC0001B6A13F0020F40F0C0851F233F211C46D2 +:104CD0004FF0000264F3040261F34A1263F3CF223F +:104CE00099211E4B98471A4C2068012290210430CC +:104CF0001D4B98472568043500201C4B9847012818 +:104D000040F2A8850020174B9847C0EB00104000E8 +:104D10005030B0F5A07F80F2B88501240020114BFF +:104D2000984728304000B0F5A07F80F2BE85012270 +:104D3000224412B2122128460B4B9847044B1D689F +:104D400004350020094B9847012840F2BC850FE04C +:104D5000D86B0020614A0100696B0000256A0000E1 +:104D6000996C00003D0F0100E1680000590F01003F +:104D70000020B14B9847C0EB001040005030B0F518 +:104D8000A07F80F2BB8501240020AB4B98472830E0 +:104D90004000B0F5A07F80F2C1850122224412B20A +:104DA00013212846A54B9847A54B1D6804350020C4 +:104DB000A44B9847012840F2BF8500209E4B98479E +:104DC000C0EB001040005030B0F5A07F80F2CF85DE +:104DD00001240020984B984728304000B0F5A07F70 +:104DE00080F2D5850122224412B210212846934B2D +:104DF0009847934B1D6804350020924B9847012833 +:104E000040F2D38500208C4B9847C0EB0010400047 +:104E10005030B0F5A07F80F2F48501240020864B4D +:104E2000984728304000B0F5A07F80F2FA85012233 +:104E3000224412B211212846804B9847804B1C68AF +:104E4000043400207F4B9847012840F2F885002069 +:104E5000794B9847C0EB001040005030B0F5A07F70 +:104E600080F20886012214212046744DA847744C14 +:104E700020689622B0210430A84720683922B72143 +:104E80000430A84720680C306F4B98472068011DFC +:104E90000C306E4B98472068236A13F0020314BF4E +:104EA0001A210821002B15BF352412241B230923A6 +:104EB0004FF0000263F3040264F34A1261F3CF225D +:104EC00029210C30624B98475D4B18680C301B6AE7 +:104ED00013F0020F40F0DE85082310211C464FF02E +:104EE000000264F3040261F34A1263F3CF22392112 +:104EF000574B9847524B18681B6A13F0020314BFB4 +:104F000006211421002B15BF10242A240923152360 +:104F10004FF0000263F3040264F34A1261F3CF22FC +:104F200048F289010C304A4B9847454B18681B6A78 +:104F300013F0020314BF06211421002B15BF102407 +:104F40002A24092315234FF0000263F3040264F3BB +:104F50004A1261F3CF2279210C303D4B9847384BF0 +:104F600018681B6A13F0020314BF06211421002BDA +:104F700015BF10242A24092315234FF0000263F3E0 +:104F8000040264F34A1261F3CF2248F2A9010C3003 +:104F90002F4B98472A4B18681B6A13F0020314BF63 +:104FA00006211421002B15BF10242A2409231523C0 +:104FB0004FF0000263F3040264F34A1261F3CF225C +:104FC00099210C30224B98471D4C206808301E4B0D +:104FD000984720680830236A13F0020F40F05F857D +:104FE000092313210A244FF0000264F3040261F341 +:104FF0004A1263F3CF2241F22901154DA847104C04 +:105000002068A28940F229110830A847266808368E +:105010003321A0890F4B9847024641F229113046AF +:10502000A84720680830236A13F0020F40F03C853F +:105030000B2318210E240FE03D0F0100E168000052 +:10504000D86B0020590F0100614A0100B9670000C8 +:10505000256A0000031C01004FF0000264F3040203 +:1050600061F34A1263F3CF2242F22901BB4EB047EB +:10507000BB4C206800224FF498710830B94B984718 +:10508000256808353321A089B74B9847024641F27D +:1050900039212846B04720680830236A13F0020FF0 +:1050A00040F007850B2319210D244FF0000264F313 +:1050B000040261F34A1263F3CF2241F23901A74B94 +:1050C0009847A74B18681B6A13F0020314BF072107 +:1050D0000B21002B15BF0F24192408230D234FF09B +:1050E000000263F3040264F34A1261F3CF2240F238 +:1050F00039110830994B9847994B18681B6A13F07F +:10510000020314BF07210B21002B15BF0F24192404 +:1051100008230D234FF0000263F3040264F34A12E4 +:1051200061F3CF2241F2391108308C4B98478C4BF8 +:1051300018681B6A13F0020314BF1A210B21002BFD +:1051400015BF372419241C230D234FF0000263F3ED +:10515000040264F34A1261F3CF2242F239010830AB +:105160007E4B98477E4B186808301B6A13F0020F7D +:1051700040F0A4841F233F211C464FF0000264F33B +:10518000040261F34A1263F3CF2249F28901734D9D +:10519000A847734C20684FF0FF3248F2891108305D +:1051A000A84720684FF0FF3249F289110830A8471C +:1051B0002068236A13F0020314BF2A212621002B42 +:1051C00014BF152313234FF0000263F3040261F3AD +:1051D0004A1263F3CF224AF289010830A8472068B7 +:1051E0000830236A13F0020F40F06D841F233F2123 +:1051F0001C464FF0000264F3040261F34A1263F3A9 +:10520000CF2249F2A901554DA847554C20684FF0CF +:10521000FF3248F2A9110830A84720684FF0FF324A +:1052200049F2A9110830A8472068236A13F0020345 +:1052300014BF2A212621002B14BF152313234FF05E +:10524000000263F3040261F34A1263F3CF224AF2CD +:10525000A9010830A84720682922B6210830414D0D +:10526000A84720681030414B9847206847F6FF72E6 +:1052700001211030A8472068FF222C2110303C4B20 +:10528000984720681030236A13F0020F40F0208402 +:105290000B2318210E244FF0000264F3040261F383 +:1052A0004A1263F3CF2229212C4B98472C4B1868C4 +:1052B00010301B6A13F0020F00F00F8428494B7B5B +:1052C000DB0803EB830303EB830341F6DA352B445E +:1052D00003EB032203EBC213C3F3C4538A89C2F363 +:1052E000451202EB820202EB820202F562521A328E +:1052F00002EB022402EBC412C2F3C554097B01F095 +:105300001F0101EB810101EB8101294401EB012225 +:1053100001EBC211C1F3C4514FF0000261F304026A +:1053200064F34A1263F3CF2241F229010B4DA847DF +:105330000B4C2068A28940F229111030A84726683A +:1053400010364C21A089084B9847024641F229119A +:105350003046A84720681030236A0BE0256A000019 +:10536000D86B0020E1680000031C0100614A0100C5 +:10537000696B000013F0020F40F0D9830B23182152 +:105380000E244FF0000264F3040261F34A1263F347 +:10539000CF2242F22901C64B9847C64B18681B6AB8 +:1053A00013F0020314BF33212221002B14BF192351 +:1053B00011234FF0000263F3040261F34A1263F316 +:1053C000CF2242F229111030B94DA847B94C2068BC +:1053D000A28939211030A8472068A28941F23901F9 +:1053E0001030A8472068236A13F0020314BF22215B +:1053F0001021002B14BF112308234FF0000263F388 +:10540000040261F34A1263F3CF2242F239011030F1 +:10541000A847246810340020A74B98472830400044 +:10542000B0F5A07F80F28783012230212046A34B74 +:105430009847A04C206800224FF49E711030A04B7A +:10544000984720681030236A13F0020F40F08083E1 +:105450001F233F211C464FF0000264F3040261F356 +:105460004A1263F3CF2248F28901914B9847914B3E +:10547000186810301B6A13F0020F40F06D831F2371 +:105480003F211C464FF0000264F3040261F34A120C +:1054900063F3CF2249F28901854DA847854C2068E6 +:1054A0004FF0FF3248F289111030A84720684FF0C2 +:1054B000FF3249F289111030A847206811234FF0BC +:1054C000000263F30402222161F34A1263F3CF2244 +:1054D0004AF289011030A84720681030236A13F07F +:1054E000020F40F03D831F233F211C464FF0000276 +:1054F00064F3040261F34A1263F3CF2248F2A90174 +:105500006B4B98476B4B186810301B6A13F0020FF7 +:1055100040F02A831F233F211C464FF0000264F312 +:10552000040261F34A1263F3CF2249F2A901604DEC +:10553000A847604C20684FF0FF3249F2A9011030B3 +:10554000A84720684FF0FF3249F2A9111030A84750 +:10555000206811234FF0000263F30402222161F35B +:105560004A1263F3CF224AF2A9011030A8472068FB +:105570001030236A13F0020F40F0FA821F233F21FC +:105580001C464FF0000264F3040261F34A1263F315 +:10559000CF227921464B9847464B186810301B6A3A +:1055A00013F0020F40F0E8821F233F211C464FF00A +:1055B000000264F3040261F34A1263F3CF2241F262 +:1055C00079013B4DA8473B4C20684FF0FF3240F239 +:1055D00079111030A84720684FF0FF3241F279115D +:1055E0001030A847206811234FF0000263F3040233 +:1055F000222161F34A1263F3CF2242F27901103083 +:10560000A8472468103400202B4B984700EB8000FB +:10561000C0005030B0F5A07F80F2B282012212218A +:105620002046264B9847234B1C6810340020224B01 +:10563000984700EB8000C0005030B0F5A07F80F2AA +:10564000AE820122132120461C4B9847194B1C683F +:1056500010340020184B9847C0EB00105030B0F5C4 +:10566000A07F80F2AB82012210212046134B984785 +:10567000104B1C68103400200F4B9847C0EB0010F3 +:105680005030B0F5A07F80F2A78201221121204680 +:105690000A4B9847074B1C6810340020064B98476C +:1056A00000EB800080005030B0F5A07F0AE000BF22 +:1056B000256A0000D86B00203D0F0100E168000062 +:1056C000696B000080F29682012214212046BD4DB4 +:1056D000A847BD4C2068032240211030A84720680D +:1056E00000224C211030B94EB04720687F224FF481 +:1056F00013711030B0472068A28949211030B44E90 +:10570000B0472068E28940F249411030B047206834 +:105710009622B0211030A84720683C22B5211030D5 +:10572000A84720682922B6211030A84720684C22BB +:10573000B7211030A84720689622B1211030A84721 +:105740002068002241F2B1011030A84720681430CF +:10575000A04B98472468143400209F4B9847322868 +:1057600000F2668200209D4B984700EB800080008D +:105770005030B0F5A07F80F24C82012214212046E7 +:10578000904B9847904B18681830924B98470020E0 +:10579000914B9847322800F2758200208F4B984732 +:1057A00000EB800040005030B0F5A07F80F25B82BB +:1057B0000124854E3068224612211830814DA847B9 +:1057C0003068224613211830A8473068224610213D +:1057D0001830A8473068224611211830A847306891 +:1057E000224614211830A84770BD00207B4B9847F3 +:1057F0000A30C0007A4B83FB0023C217C2EBA3120E +:1058000012B2FFF7ADB91F233F211C46FFF7BDB908 +:105810000020724B984728304000714B83FB0023D7 +:10582000C217C2EBA31212B2FFF7EDB907230F2183 +:105830000824FFF703BA07230F210824FFF71BBA38 +:1058400007230F210824FFF72CBA07230F21082470 +:10585000FFF73EBA0020614B9847C0EB0010503074 +:10586000B0F5A07F02DA0124FFF758BA00205B4BA5 +:105870009847C0EB00105030594A82FB0032C417E1 +:10588000C4EBA214A4B2FFF749BA0020534B9847C7 +:10589000C0EB001040005030514A82FB0032C41768 +:1058A000C4EBA214A4B2FFF739BA00204B4B9847BF +:1058B000283040004A4B83FB0023C217C2EBA312DF +:1058C00092B2FFF735BA0020444B9847C0EB001066 +:1058D0005030B0F5A07F02DA0124FFF755BA00205E +:1058E0003E4B9847C0EB001050303D4A82FB0032DF +:1058F000C417C4EBA214A4B2FFF746BA0020374B7A +:105900009847C0EB001040005030354A82FB00320F +:10591000C417C4EBA214A4B2FFF736BA00202F4B71 +:105920009847283040002E4B83FB0023C217C2EB60 +:10593000A31292B2FFF732BA0020284B9847C0EB6F +:1059400000105030B0F5A07F02DA0124FFF741BA11 +:105950000020224B9847C0EB00105030204A82FBB9 +:105960000032C417C4EBA214A4B2FFF732BA00206D +:105970001A4B9847C0EB001040005030184A82FB89 +:105980000032C417C4EBA214A4B2FFF722BA00205D +:10599000124B984728304000114B83FB0023C2175D +:1059A000C2EBA31292B2FFF71EBA00200B4B98472E +:1059B000C0EB00105030B0F5A07F13DA0124FFF7E0 +:1059C0002DBA00BFE1680000D86B0020696B0000B1 +:1059D000256A0000614A0100590F01003D0F0100D6 +:1059E000676666660020B54B9847C0EB00105030E4 +:1059F000B34A82FB0032C417C4EBA214A4B2FFF76F +:105A00000DBA0020AD4B9847C0EB0010400050305D +:105A1000AB4A82FB0032C417C4EBA214A4B2FFF756 +:105A2000FDB90020A54B984728304000A44B83FBCC +:105A30000023C217C2EBA31292B2FFF7F9B90020FC +:105A40009E4B9847C0EB00105030B0F5A07F02DAB3 +:105A50000122FFF708BA0020984B9847C0EB0010CE +:105A60005030974B83FB0023C217C2EBA31212B234 +:105A7000FFF7F9B90020914B9847C0EB00104000A8 +:105A800050308F4B83FB0023C217C2EBA31212B21C +:105A9000FFF7E9B91B2339211D24FFF720BA1D2385 +:105AA0003B211C46FFF79FBA1F233F211C46FFF7EF +:105AB000D3BA192333211C46FFF7F7BA07230F2166 +:105AC0000824FFF75ABB07230F210824FFF791BBD7 +:105AD0001F233F211C46FFF7DEBB7A4D6B7BDB08A3 +:105AE0004C2101FB03F303F2B17303EB032203EB3D +:105AF000C213C3F3C453AC89C4F3451441F2C802C2 +:105B000001FB042404EB042204EBC214C4F3C554C7 +:105B10002A7B02F01F0201FB02F101F6CA1101EB20 +:105B2000012201EBC211C1F3C451FFF7F5BB1F23E2 +:105B30003F211C4625E40020604B98472830400058 +:105B40005F4B83FB0023C217C2EBA31212B26CE4BB +:105B50000623102109247EE406231021092491E460 +:105B6000062310210924C1E4062310210924D4E4CA +:105B700006231021092404E506231021092416E533 +:105B800000204E4B984700EB8000C00050304C4B3B +:105B900083FB0023C217C2EBA31212B23FE5002021 +:105BA000464B984700EB8000C0005030444B83FBCD +:105BB0000023C217C2EBA31212B243E500203F4BF1 +:105BC0009847C0EB001050303D4B83FB0023C217B9 +:105BD000C2EBA31212B247E50020384B9847C0EB46 +:105BE00000105030364B83FB0023C217C2EBA312C8 +:105BF00012B24BE50020314B984700EB800080004B +:105C000050302F4B83FB0023C217C2EBA31212B2FA +:105C10005BE50020294B984700EB80008000503066 +:105C2000274B83FB0023C217C2EBA31212B2A5E5D8 +:105C30000020224B984700EB8000C0005030B0F5A8 +:105C4000A07F01DA012299E500201C4B984700EB68 +:105C50008000C00050301A4B83FB0023C217C2EBF8 +:105C6000A31212B28AE50020144B984700EB800083 +:105C700040005030124B83FB0023C417C4EBA31425 +:105C800024B296E500200D4B984700EB8000800081 +:105C90005030B0F5A07F01DA01248AE50020074BDF +:105CA000984700EB800080005030054B83FB0023B9 +:105CB000C417C4EBA31424B27BE500BF3D0F010061 +:105CC00067666666D86B0020F8B5544C20682430AF +:105CD000534B9847206847F6FF7201212430514BFF +:105CE00098472068FF222C2124304F4B984720688A +:105CF000236A13F0020314BF1A210821002B15BFD9 +:105D0000352412241B2309234FF0000263F30402FD +:105D100064F34A1261F3CF2229212430434B984780 +:105D20003E4B186824301B6A13F0020F6DD11F23FD +:105D30003F211C464FF0000264F3040261F34A1253 +:105D400063F3CF227921394DA847344C2068A289CA +:105D500049212430A8472068E28940F24941243093 +:105D6000A847206800224C2124302F4FB8472068D4 +:105D70007F224FF413712430B8472068032240215A +:105D80002430284EB04720689622B0212430B047F6 +:105D900020684C22B7212430B04720682830204B9F +:105DA00098472068FF222C212830B847206847F602 +:105DB000FF7201212830B0472068A28929212830AC +:105DC000A847206811234FF0000263F30402222148 +:105DD00061F34A1263F3CF2242F229012830A84727 +:105DE00020682830236A13F0020F12D11F233F21AD +:105DF0001C464FF0000264F3040261F34A1263F39D +:105E0000CF227921094B9847F8BD06231021092498 +:105E100090E7082310210924EBE700BFD86B00208E +:105E2000614A0100E1680000696B0000256A00001A +:105E300010B5A04C206890309F4B98472068FF22F7 +:105E40002C2190309D4B984720689030236A13F0A6 +:105E5000020F19BF23469A89994B1A882921994B19 +:105E60009847944B186890301B6A13F0020F40F06B +:105E7000A9801F233F211C464FF0000264F3040257 +:105E800061F34A1263F3CF2279218E4B9847894CF4 +:105E9000206847F6FF72012190308B4B98472468A9 +:105EA00090340020894B9847C0EBC0005030B0F5CB +:105EB000A07F80F28B80012212212046824B9847DE +:105EC0007C4B1C6890340020804B9847C0EBC0008E +:105ED0005030B0F5A07F80F2878001221321204648 +:105EE000794B9847734B1C6890340020774B984748 +:105EF000C0EBC0005030B0F5A07F80F2838001225B +:105F000010212046704B98476A4B1C689034002043 +:105F10006E4B9847C0EBC0005030B0F5A07F7FDAE1 +:105F2000012211212046684B9847624C206894302A +:105F3000614B9847246894340020644B984700EBE9 +:105F4000800040005030B0F5A07F77DA01221721A1 +:105F500020465D4B9847574B1C68943400205B4BA0 +:105F6000984700EB800040005030B0F5A07F74DA15 +:105F7000012218212046544B98474E4B1C689434FC +:105F80000020524B984700EB800040005030B0F5A5 +:105F9000A07F71DA0122152120464B4B9847454BD3 +:105FA0001C6894340020494B984700EB8000400067 +:105FB0005030B0F5A07F6EDA012216212046424B08 +:105FC000984710BD06231021092455E700203F4BB8 +:105FD0009847C0EBC00050303D4B83FB0023C217F5 +:105FE000C2EBA31212B267E70020384B9847C0EB10 +:105FF000C0005030364B83FB0023C217C2EBA31204 +:1060000012B26BE70020314B9847C0EBC000503014 +:106010002F4B83FB0023C217C2EBA31212B26FE710 +:1060200000202A4B9847C0EBC0005030284B83FB20 +:106030000023C217C2EBA31212B272E70020234B57 +:10604000984700EB800040005030214B83FB002339 +:10605000C217C2EBA31212B279E700201B4B98477C +:1060600000EB800040005030194B83FB0023C21727 +:10607000C2EBA31212B27CE70020144B984700EB4E +:10608000800040005030124B83FB0023C217C2EB4C +:10609000A31212B27FE700200C4B984700EB800060 +:1060A000400050300A4B83FB0023C217C2EBA312FF +:1060B00012B282E7D86B0020614A0100696B0000D0 +:1060C00084950200256A0000E16800003D0F010090 +:1060D0006766666610B5484C20689C30474B984709 +:1060E0002068FF222C219C30454B98472068454B67 +:1060F0001A8829219C30444B9847206847F6FF7244 +:1061000001219C30414B984724689C340020404B2F +:10611000984714308000B0F5A07F39DA4FF0FF3295 +:1061200010212046394B9847334B1C689C34002083 +:10613000374B984714308000B0F5A07F35DA4FF028 +:10614000FF3211212046314B98472B4B1C689C3461 +:1061500000202F4B984714308000B0F5A07F31DA33 +:106160004FF0FF3212212046284B9847224B1C68E3 +:106170009C340020264B984714308000B0F5A07F57 +:106180002DDA4FF0FF3213212046204B984710BDE7 +:1061900000201F4B9847143080001E4B83FB0023C8 +:1061A000C217A2EBA31212B2BAE70020184B98470D +:1061B00014308000174B83FB0023C217A2EBA312FD +:1061C00012B2BEE70020124B984714308000114BEA +:1061D00083FB0023C217A2EBA31212B2C2E7002076 +:1061E0000B4B9847143080000A4B83FB0023C217E7 +:1061F000A2EBA31212B2C6E7D86B0020614A0100DD +:10620000696B000084950200256A0000E1680000C7 +:106210003D0F01006766666638B5884C20687030AF +:10622000874B9847206847F6FF7201217030854BF5 +:106230009847246870340020834B984700EB800017 +:1062400080005030B0F5A07F80F28E8001221221B4 +:1062500020467C4B9847794B1C68703400207A4B61 +:10626000984700EB800080005030B0F5A07F80F2AE +:106270008A80012213212046724B98476F4B1C687D +:1062800070340020704B984700EB80008000503045 +:10629000B0F5A07F80F28680012210212046694B54 +:1062A0009847664B1C6870340020674B9847C0EBDA +:1062B000001040005030B0F5A07F80F282800122B3 +:1062C000142120465F4B98475C4B1C6870340020BB +:1062D0005D4B984700EB800000EB80005030B0F53C +:1062E000A07F7DDA0122C0212046564B9847534CAF +:1062F0002068A28999217030544DA8472068A2894E +:10630000C9217030A847206811234FF0000263F3C1 +:106310000402222161F34A1263F3CF22CA217030B2 +:10632000A847246870340020474B984700EB800052 +:1063300040005030B0F5A07F62DA01229021204663 +:10634000404B98473D4B1C68703400203E4B9847AB +:10635000C0EBC0005030B0F5A07F60DA0122C3214D +:106360002046384B984738BD0020374B984700EB04 +:10637000800080005030364B83FB0023C217C2EBF5 +:10638000A31212B263E700202F4B984700EB800066 +:10639000800050302E4B83FB0023C217C2EBA312A8 +:1063A00012B267E70020284B984700EB800080007E +:1063B0005030274B83FB0023C217C2EBA31212B24B +:1063C0006BE70020204B9847C0EB00104000503096 +:1063D0001F4B83FB0023C217C2EBA31212B26FE75D +:1063E0000020194B984700EB800000EB80005030F4 +:1063F000174B83FB0023C217C2EBA31212B272E742 +:106400000020114B984700EB800040005030104BAB +:1064100083FB0023C217C2EBA31212B28EE7002047 +:10642000094B9847C0EBC0005030094B83FB002359 +:10643000C217C2EBA31212B291E700BFD86B0020C3 +:10644000614A0100E16800003D0F0100256A00007B +:1064500067666666F8B5C04C20685C30BF4B9847ED +:10646000206811254FF0000265F30402222767F32C +:106470004A1265F3CF2299215C30B94EB0472068AB +:106480004FF0000265F3040267F34A1265F3CF226E +:10649000C9215C30B0472068A289CA215C30B0476E +:1064A00024685C340020AF4B984700EB80005030EC +:1064B000B0F5A07F80F26881012290212046AA4B8E +:1064C0009847A54B1C685C340020A64B98471430B5 +:1064D0008000B0F5A07F80F265810122C3212046B3 +:1064E000A14B98479C4B1C685C3400209D4B9847FF +:1064F0000A30C000B0F5A07F80F261810122C22184 +:106500002046994B9847944B1C685C340020954B6F +:10651000984700EB800080005030B0F5A07F80F2FB +:106520005B810122122120468F4B98478A4B1C68C1 +:106530005C3400208B4B984700EB8000800050308B +:10654000B0F5A07F80F25781012213212046864BAF +:106550009847814B1C685C340020824B984700EBC5 +:10656000800080005030B0F5A07F80F2538101227E +:10657000102120467C4B9847774B1C685C340020E8 +:10658000784B984700EB800080005030B0F5A07F3A +:1065900080F24F81012214212046734B98476E4BA5 +:1065A0001C685C3400206F4B9847C0EB00105030E3 +:1065B000B0F5A07F80F24C810122C02120466A4DB7 +:1065C000A847654C206847F6FF7201215C30A84758 +:1065D00020686030614B9847206811254FF0000219 +:1065E00065F30402222767F34A1265F3CF2299214B +:1065F00060305B4EB04720684FF0000265F3040244 +:1066000067F34A1265F3CF22C9216030B047206892 +:10661000A289CA216030B047246860340020514B01 +:1066200098470A30C000B0F5A07F80F21F81012298 +:10663000902120464C4B9847474B1C686034002003 +:10664000484B98470A30C000B0F5A07F80F21B810C +:106650000122C3212046444B98473F4B1C686034BD +:106660000020404B984700EB800000EB800050304A +:10667000B0F5A07F80F214810122C02120463A4B60 +:106680009847354C20686430344B98472068643014 +:10669000236A13F0020F40F013811F233F211C4691 +:1066A0004FF0000264F3040261F34A1263F3CF2255 +:1066B00099212B4B9847284B1C6864340020294BA8 +:1066C00098470A30C000B0F5A07F80F2FD8001221B +:1066D00090212046244B98471F4C2068FF222C21F4 +:1066E0006430224B984720686430236A13F0020F0D +:1066F00040F0F7801F233F211C464FF0000264F357 +:10670000040261F34A1263F3CF222921144B984704 +:10671000114C206847F6FF7201216430124B9847F4 +:106720002468643400200F4B9847C0EB00104000F1 +:106730005030B0F5A07F80F2D8800122032120469E +:10674000094B9847044B1C6864340020054B98475C +:1067500000EB80000CE000BFD86B0020614A010014 +:10676000256A00003D0F0100E1680000696B000030 +:1067700040005030B0F5A07F80F2C6800122142185 +:106780002046694B9847F8BD0020684B984700EBBE +:1067900080005030664B83FB0023C217C2EBA3126C +:1067A00012B28AE60020614B984714308000604B9B +:1067B00083FB0023C217C2EBA31212B28EE60020A5 +:1067C0005A4B98470A30C000594B83FB0023C2172D +:1067D000C2EBA31212B292E60020544B984700EB92 +:1067E000800080005030524B83FB0023C217C2EB65 +:1067F000A31212B296E600204C4B984700EB8000A3 +:10680000800050304A4B83FB0023C217C2EBA31217 +:1068100012B29AE60020454B984700EB80008000BA +:106820005030434B83FB0023C217C2EBA31212B2BA +:106830009EE600203D4B984700EB800080005030E2 +:106840003B4B83FB0023C217C2EBA31212B2A2E69A +:106850000020364B9847C0EB00105030344B83FB80 +:106860000023C217C2EBA31212B2A6E600202F4BE0 +:1068700098470A30C0002E4B83FB0023C217C2EB9F +:10688000A31212B2D4E60020284B98470A30C00069 +:10689000274B83FB0023C217C2EBA31212B2D8E628 +:1068A0000020224B984700EB800000EB8000503026 +:1068B0001F4B83FB0023C217C2EBA31212B2DCE60C +:1068C000082312210B24EBE60020184B98470A30CE +:1068D000C000174B83FB0023C217C2EBA31212B2F6 +:1068E000F6E6082312210B2407E700200F4B9847F8 +:1068F000C0EB0010400050300D4B83FB0023C2174B +:10690000C2EBA31212B219E70020084B984700EB24 +:10691000800040005030064B83FB0023C217C2EBBF +:10692000A31212B22BE700BFE16800003D0F010087 +:106930006766666638B53D4C20681C303C4B98470E +:106940002068A28999211C303A4B984724681C344E +:106950000020394B984700EB800000EB800050305E +:10696000B0F5A07F41DA012290212046334DA8479F +:106970002E4C2068012294211C30A847206820302A +:106980002B4B98472068236A13F0020314BF1A2187 +:106990000821002B15BF352412241B2309234FF097 +:1069A000000263F3040264F34A1261F3CF229921D7 +:1069B0002030204B98471D4B1C68203400201E4B74 +:1069C000984700EB800000EB80005030B0F5A07FCE +:1069D0001BDA012290212046184CA047134B18685F +:1069E000012294212030A04738BD0020124B984747 +:1069F00000EB800000EB80005030114B83FB002344 +:106A0000C217C2EBA31212B2AEE700200A4B98479E +:106A100000EB800000EB80005030094B83FB00232B +:106A2000C217C2EBA31212B2D4E700BFD86B00208A +:106A3000614A0100256A00003D0F0100E168000085 +:106A400067666666F8B5384C20686C30374B9847F7 +:106A50002068FF222C216C30354DA8472068A28980 +:106A600029216C30334FB8472068022230216C3026 +:106A7000314EB04720687F223C216C30A847256802 +:106A80006C354C21A0892D4B984702463921284668 +:106A9000B847206847F6FF7201216C30B047246880 +:106AA0006C340020264B9847C0EB00105030B0F5F6 +:106AB000A07F1CDA0122502120461F4B98471A4C18 +:106AC0002068A28959216C301A4B984724686C348D +:106AD00000201B4B984700EB80005030B0F5A07FA2 +:106AE00013DA012253212046134B9847F8BD0020AA +:106AF000134B9847C0EB00105030124B83FB002320 +:106B0000C217C2EBA31212B2D5E700200C4B984774 +:106B100000EB800050300B4B83FB0023C217C2EB0D +:106B2000A31212B2DEE700BFD86B0020614A010059 +:106B3000696B0000256A0000E1680000A71B0100E6 +:106B40003D0F0100676666662DE9F04180460F46FD +:106B500015461E46B24B1B79002B01F06983B04CE1 +:106B6000A4F80C80E7812661069B6361079BA36103 +:106B7000089BE3612562AB4B9847AB4B9847AB4B07 +:106B80009847AB4B9847AB4B9847AB4B9847AB4BB1 +:106B90009847AB4B984720684030AA4B98472068ED +:106BA0004030236A13F0020F41F04B8314232B2152 +:106BB00017244FF0000264F3040261F34A1263F3F6 +:106BC000CF2248F28901A04B9847954C2068443069 +:106BD0009C4B98472468443400209C4B9847503085 +:106BE000B0F5A07F81F23283012290212046984B9C +:106BF00098478B4B1C6844340020944B984700EB1B +:106C0000800040005030B0F5A07F81F22C8301223B +:106C1000922120468E4B9847814B1C6844340020BB +:106C20008A4B984700EB800040005030B0F5A07FC1 +:106C300081F22983012293212046854B9847784B86 +:106C400018681B6A13F0020314BF1A211021002BCD +:106C500015BF372422241C2312234FF0000263F3B4 +:106C6000040264F34A1261F3CF2299214430764B37 +:106C700098476B4C20684830724B984724684834DA +:106C80000020724B984700EB40005030B0F5A07FD9 +:106C900081F209830122902120466D4B9847604B79 +:106CA0001C6848340020694B984714308000B0F5C8 +:106CB000A07F81F20783012203212046644B98477D +:106CC000574B1C6848340020604B984728304000E0 +:106CD000B0F5A07F81F204830122142120465C4B91 +:106CE00098474F4B1C6848340020584B9847503009 +:106CF000B0F5A07F81F20283012201212046544B8E +:106D00009847474C206830304E4B984724683034C1 +:106D10000020504B9847012841F2FD8200204B4B48 +:106D20009847C0EB001040005030B0F5A07F81F2D2 +:106D30000D83012210212046454B9847384B1C6893 +:106D400030340020434B9847012841F20F83002044 +:106D50003E4B9847C0EB001040005030B0F5A07F8C +:106D600081F23683012212212046394B98472C4B61 +:106D70001C6830340020374B9847012841F2388393 +:106D80000020324B9847C0EB001040005030B0F567 +:106D9000A07F81F248830122132120462C4B984783 +:106DA0001F4B1C68303400202A4B9847012841F2C1 +:106DB0004A830020254B9847C0EB0010400050301C +:106DC000B0F5A07F81F25A83012211212046204B89 +:106DD0009847134B18681B6A13F0020314BF222153 +:106DE0003F21002B14BF11231F234FF0000263F338 +:106DF000040261F34A1263F3CF2249F28901303071 +:106E0000114B9847064C206834300E4B9847206849 +:106E10003430236A13F0020F41F040831CE000BFBE +:106E2000D86B0020814A0100C95C0100456A01005D +:106E3000315E0100D5600100196201005564010056 +:106E400035690100614A0100256A00003D0F01001B +:106E5000E1680000590F01001D233B211C464FF043 +:106E6000000264F3040261F34A1263F3CF2248F292 +:106E70008901B84B9847B84B1C6834340020B74B95 +:106E80009847012841F20F830020B54B9847C0EB8B +:106E9000001040005030B0F5A07F81F21F83012226 +:106EA00012212046AF4B9847AB4B1C68343400206E +:106EB000AA4B9847012841F221830020A84B98470C +:106EC000C0EB001040005030B0F5A07F81F231835C +:106ED000012213212046A34B98479F4B1C68343452 +:106EE00000209E4B9847012841F2338300209C4BA1 +:106EF0009847C0EB001040005030B0F5A07F81F201 +:106F00004383012211212046964B9847924C2068DA +:106F10002C30954B984724682C340020904B984790 +:106F200014308000B0F5A07F81F23E830122012160 +:106F300020468C4B9847884B18682C301B6A13F0FE +:106F4000020F41F03F831F233F211C464FF00002F8 +:106F500064F3040261F34A1263F3CF2248F2891109 +:106F60007C4B98477C4B18681B6A13F0020F14BFC8 +:106F7000332266224FF496712C307C4DA847764C14 +:106F80002068332241F22C012C30A8472068FF22D0 +:106F90004FF40B712C30A8472068754B1A8848F2C3 +:106FA00089212C306B4DA8472068A28940F2292105 +:106FB0002C30A8472068236A13F0020314BF19215C +:106FC0003F21002B14BF0C231F234FF0000263F35B +:106FD000040261F34A1263F3CF2229212C30A8471F +:106FE0002068A28940F229112C30A847206802228B +:106FF0004FF498712C305B4EB0472068042240F269 +:1070000031112C30B0472068A28940F239112C3060 +:10701000A84724682C340020514B984700EB4000CF +:107020005030B0F5A07F81F2D28201221421204697 +:107030004C4B9847484B1C682C340020474B9847D2 +:10704000012841F2D3820020454B9847C0EB001045 +:1070500040005030B0F5A07F81F2E382012212217E +:107060002046404B98473C4B1C682C3400203B4B3F +:107070009847012841F2E5820020394B9847C0EB40 +:10708000001040005030B0F5A07F81F2F58201225F +:1070900013212046334B98472F4B1C682C3400207B +:1070A0002E4B9847012841F2F78200202C4B98473D +:1070B000C0EB001040005030B0F5A07F81F2078394 +:1070C000012211212046274B9847234C2068383055 +:1070D000254B9847246838340020214B9847C0EB53 +:1070E000001040005030B0F5A07F81F205830122EE +:1070F000C02120461B4B9847174C2068FF222C21AB +:1071000038301A4B98472068236A13F0020314BFE3 +:107110001D210821002B15BF3B2412241E230B2305 +:107120004FF0000263F3040264F34A1261F3CF22CA +:1071300029213830074B9847074B1C68383400200A +:10714000074B984700EB800080005030B0F5A07FDF +:1071500010E000BF256A0000D86B0020590F010025 +:107160003D0F0100E1680000614A0100696B000009 +:107170008495020081F2D082012214212046B64E6D +:10718000B047B64C206847F6FF7201213830B0474F +:1071900020683C30B24B9847206847F6FF720121C7 +:1071A0003C30B0472068AF4F3A8829213C30AE4D83 +:1071B000A8472068FF222C213C30AC4B9847206820 +:1071C000022230213C30B0472068BA8839213C3057 +:1071D000A8472068A28940F239213C30A84720689E +:1071E000E28940F239413C30A84724683C34002011 +:1071F0009F4B984700EB400300EB83005030B0F505 +:10720000A07F81F29982012212212046924B984759 +:10721000924B1C683C340020954B984700EB400390 +:1072200000EB83005030B0F5A07F81F296820122FE +:1072300013212046884B9847884B1C683C3400201B +:107240008B4B984700EB400300EB83005030B0F5C8 +:10725000A07F81F293820122102120467E4B984725 +:107260007E4B1C683C340020814B984700EB400368 +:1072700000EB83005030B0F5A07F81F290820122B4 +:1072800011212046744B9847744C20684C30744B45 +:10729000984724684C340020754B98471430800080 +:1072A000B0F5A07F81F28C820122012120466A4B39 +:1072B00098476A4B1C684C3400206D4B984700EB94 +:1072C000800040005030B0F5A07F81F2878201221B +:1072D00014212046604B9847604C2068A2894921C0 +:1072E0004C30614B9847206800224C2108445F4D88 +:1072F000A84720687F224FF413714C30A8472468B8 +:107300004C3400205A4B984700EB40005030B0F509 +:10731000A07F81F273820122402120464E4B984784 +:107320004E4B1C684C340020514B984700EB8000BA +:1073300040005030B0F5A07F81F26F8201224121E0 +:107340002046454DA847454C20689622B0214C3038 +:10735000A84720684C22B7211044A8472068503025 +:107360003F4B9847206800224FF4137150303F4B39 +:1073700098472468503400203D4B984714308000D3 +:10738000B0F5A07F81F25982012201212046324BC3 +:107390009847324C2068374A4FF4B7715030364D19 +:1073A000A84720682F4B1A8840F2691150302E4BA5 +:1073B00098472068226948F28E115030A847246807 +:1073C000503400202A4B984700EB40005030B0F575 +:1073D000A07F81F240820122122120461E4B984755 +:1073E0001E4B1C6850340020214B984700EB400096 +:1073F0005030B0F5A07F81F23D820122132120465A +:10740000154B9847154B1C6850340020184B984773 +:1074100000EB40005030B0F5A07F81F23A820122AB +:10742000102120460C4B98470C4B1C685034002010 +:107430000F4B984700EB40005030B0F5A07F81F231 +:107440003782012211212046034DA847034C2068B2 +:107450006830034B984711E0E1680000D86B0020CA +:10746000614A010084950200256A0000696B0000F2 +:107470003D0F01008C950200996C000020680022ED +:1074800001216830A847246868340020B54B98472C +:1074900014308000B0F5A07F81F2198201223021E2 +:1074A0002046B14DA847B14C2068022231216830F6 +:1074B000A84720686830236A13F0020F41F0158254 +:1074C000002319461C464FF0000264F3040261F3E6 +:1074D0004A1263F3CF223921A54DA847A34C206857 +:1074E000E28940F239416830A847246868340020B6 +:1074F0009C4B984700EB80005030B0F5A07F81F2A4 +:10750000F981012212212046974B9847974B1C681E +:1075100068340020934B984700EB80005030B0F562 +:10752000A07F81F2F6810122132120468E4B9847DD +:107530008E4B1C68683400208A4B984700EB800013 +:107540005030B0F5A07F81F2F38101221021204656 +:10755000854B9847854B1C6868340020814B9847C1 +:1075600000EB80005030B0F5A07F81F2F081012265 +:10757000112120467C4B98477C4B1C6868340020C6 +:10758000784B984700EB40005030B0F5A07F81F277 +:10759000ED81012214212046734B9847734C2068DB +:1075A0007C30744B984724687C3400206D4B98479E +:1075B000322303FB00F05030B0F5A07F81F2E5816B +:1075C000012250212046684B9847684B18681B6A77 +:1075D00013F002030CBF26213021002B0CBF132314 +:1075E00018234FF0000263F3040261F34A1263F3BD +:1075F000CF2259217C305E4B98475C4C206880300C +:107600005C4B98472068FF222C2180305A4B9847CA +:107610002068236A13F0020314BF19210E21002BE6 +:1076200015BF33241F241A2310234FF0000263F3E5 +:10763000040264F34A1261F3CF22292180304C4BBB +:1076400098474A4C206847F6FF7201218030464B2C +:107650009847246880340020424B9847C0EBC00014 +:107660005030B0F5A07F81F2A08101220321204695 +:107670003D4B98473D4B1C6880340020394B984760 +:10768000C0EBC0005030B0F5A07F81F29D81012297 +:1076900013212046344B9847344B1C68803400201B +:1076A000304B9847C0EBC0005030B0F5A07F81F25E +:1076B0009A810122112120462B4B98472B4C2068A0 +:1076C00084302C4DA8472068FF222C2184302A4B7F +:1076D0009847206811234FF0000263F3040222212F +:1076E00061F34A1263F3CF2229218430204B98475B +:1076F0002068B430A8472068236A13F0020314BF3F +:1077000006211421002B15BF10242A240923152338 +:107710004FF0000263F3040264F34A1261F3CF22D4 +:107720003921B430124B9847104B1C68B4340020F8 +:107730000C4B984728304000B0F5A07F81F2628161 +:10774000012230212046084B9847084B1C68B4346E +:107750000020044B98475030B0F5A07F81F264813F +:1077600001220BE03D0F0100E1680000D86B002012 +:10777000256A0000614A0100696B00001221204661 +:10778000BA4DA847BA4C206804223121B430A8472A +:107790002068B830B74B98472068B830236A13F098 +:1077A000020F41F04E8114232B2117244FF00002C9 +:1077B00064F3040261F34A1263F3CF2248F28901B1 +:1077C000AD4DA847AA4C20689830AA4B984720682E +:1077D000FF222C219830A94B98472068A2892921A3 +:1077E0009830A8472068A64B1A8848F2890198303B +:1077F000A847246898340020A24B9847642303FBD1 +:1078000000F05030B0F5A07F81F2208101221021DC +:107810002046964B9847964B1C6898340020994B0D +:107820009847642303FB00F05030B0F5A07F81F24D +:107830001D810122112120468C4DA8478C4C2068C7 +:1078400074308C4EB0472068012202217430A84762 +:107850002068002212217430A847206800221321DA +:107860007430A8472068002210217430A84720688F +:10787000002211217430A84720680022142174309E +:10788000A84720687830B0472068FF222C21783044 +:107890007A4B984720687830236A13F0020F41F042 +:1078A000F5800B2318210E244FF0000264F304022C +:1078B00061F34A1263F3CF2229216F4B98476C4B37 +:1078C000186878301B6A13F0020F41F0E480092336 +:1078D00013210A244FF0000264F3040261F34A12F8 +:1078E00063F3CF2241F22901634B9847604B18683C +:1078F00078301B6A13F0020F41F0D2800B2318215D +:107900000E244FF0000264F3040261F34A1263F3A1 +:10791000CF2242F22901584DA847554C2068A28930 +:1079200040F229117830A847266878363321A0899B +:10793000554B9847024641F229113046A847206826 +:107940007830236A13F0020F41F0AF801F233F21EC +:107950001C464FF0000264F3040261F34A1263F321 +:10796000CF2248F28901444DA847414C20684FF08E +:10797000FF3248F289117830A8472068236A13F053 +:10798000020314BF2A212621002B14BF1523132321 +:107990004FF0000263F3040261F34A1263F3CF2253 +:1079A0004AF289017830A84720687830236A13F0BA +:1079B000020F41F07F801F233F211C464FF0000241 +:1079C00064F3040261F34A1263F3CF2248F2A9017F +:1079D000294DA847264C20684FF0FF3248F2A911E4 +:1079E0007830A8472068236A13F0020314BF2A21C5 +:1079F0002621002B14BF152313234FF0000263F33D +:107A0000040261F34A1263F3CF224AF2A9017830EB +:107A1000A8472068012231217830144B984720680C +:107A2000236A13F0020314BF1A211021002B15BF83 +:107A3000372422241C2312234FF0000263F3040294 +:107A400064F34A1261F3CF2239217830A847084CF9 +:107A50002068A28940F239217830A84720680122A5 +:107A600030217830014B984710E000BFE1680000FA +:107A7000D86B0020614A0100256A0000696B000094 +:107A8000849502003D0F0100031C01002468783436 +:107A90000020BA4B9847012841F211800020B84BD2 +:107AA0009847C0EB001040005030B0F5A07F81F245 +:107AB0002180012212212046B24B9847B24B1C680C +:107AC00078340020AD4B9847012841F223800020F4 +:107AD000AB4B9847C0EB001040005030B0F5A07F92 +:107AE00081F23380012213212046A64B9847A64BF2 +:107AF0001C6878340020A14B9847012841F235805A +:107B000000209F4B9847C0EB001040005030B0F56C +:107B1000A07F81F24580012210212046994B984791 +:107B2000994B1C6878340020944B9847012841F207 +:107B300047800020924B9847C0EB00104000503027 +:107B4000B0F5A07F81F257800122112120468D4B94 +:107B500098478D4B1C6878340020884B9847012843 +:107B600041F259800020864B9847C0EB001040003E +:107B70005030B0F5A07F81F26980012214212046A7 +:107B8000804B9847804B1C68783400207B4B98478B +:107B9000012841F26B800020794B9847C0EB001020 +:107BA00040005030B0F5A07F81F27C804FF0FF3272 +:107BB00004212046734DA847734C2068002241F2EF +:107BC00004017830A847206800224FF48271783091 +:107BD000A8472068002242F204017830A8472068B4 +:107BE0009622B0217830A84720682922B721783022 +:107BF000A84720680422B6217830A847206854306E +:107C0000624B98472468543400205D4B984700EB42 +:107C1000800080005030B0F5A07F81F253800122B7 +:107C200048F281012046574DA847574C2068012251 +:107C300002215430A84720685830544B9847206898 +:107C4000FF222C215830524B98472068A2892921C5 +:107C50005830504DA84720684FF0FF3248F2890154 +:107C60005830A84720685830236A13F0020F41F0BB +:107C70003980092313210A244FF0000264F304021F +:107C800061F34A1263F3CF2241F22901414B984735 +:107C90003D4B186858301B6A13F0020F41F02780E3 +:107CA0001F233F211C464FF0000264F3040261F3DE +:107CB0004A1263F3CF2249F28901364B9847324C7E +:107CC00020688830314B98472468883400202C4B3A +:107CD000984700EB800000EB80005030B0F5A07FAB +:107CE00081F20A80012248F281012046254B984703 +:107CF000254C20688C30254EB0472068FF222C216F +:107D00008C30234DA8472068A28929218C30214F2F +:107D1000B8472068204B1A8848F289018C30B84750 +:107D20002068A830B0472068FF222C21A830A8473F +:107D30002068A830236A13F0020F40F0EE870B236F +:107D400018210E244FF0000264F3040261F34A127A +:107D500063F3CF2229210F4B98470B4B18681B6AFE +:107D600013F0020314BF1C210721002B15BF3A2476 +:107D70000F241E2308234FF000020FE0590F0100CB +:107D80003D0F0100E1680000D86B0020614A01004E +:107D9000696B0000256A00008495020063F3040209 +:107DA00064F34A1261F3CF223921A830B64B9847C9 +:107DB000B64B1C68A8340020B54B984700EB8000F8 +:107DC0005030B0F5A07F80F2AD87012230212046EF +:107DD000B04DA847AD4C206801223121A830A847FA +:107DE0002068236A13F0020314BF07211C21002B13 +:107DF00015BF0F243A2408231D234FF0000263F31C +:107E0000040264F34A1261F3CF2248F28901A830D8 +:107E10009D4DA8479D4C2068626948F28E01A830AC +:107E20009D4B984720684FF00002132363F3040230 +:107E3000262363F34A12122363F3CF2248F2A901E7 +:107E4000A830A8472468A8340020914B9847C0EB7D +:107E5000C0005030B0F5A07F80F27387012210215E +:107E600020468C4B9847894B1C68A8340020884BCF +:107E70009847C0EBC0005030B0F5A07F80F2748707 +:107E8000012212212046834B9847804B1C68A8345E +:107E900000207F4B9847C0EBC0005030B0F5A07F6A +:107EA00080F271870122132120467A4B9847774C44 +:107EB0002068A430794B984720687F2241F22C013A +:107EC000A430774B9847206811234FF0000263F3EA +:107ED0000402222161F34A1263F3CF2241F2290105 +:107EE000A430694B98472068236A13F0020314BF3B +:107EF00007211C21002B15BF0F243A2408231D2322 +:107F00004FF0000263F3040264F34A1261F3CF22DC +:107F100048F28911A4305C4B98475C4B1C68A43430 +:107F200000205B4B984700EB800080005030B0F59C +:107F3000A07F80F23787012210212046554B9847B9 +:107F4000524B1C68A4340020514B984700EB800032 +:107F500080005030B0F5A07F80F2348701221121DB +:107F600020464C4B9847494C2068A28948F2892109 +:107F7000A430454DA8472068E28948F28941A430E1 +:107F8000A8472068AC30454B98472068FF222C2139 +:107F9000AC30434B98472068A2892921AC30A847D0 +:107FA0002068E28940F22941AC30A8472468AC340B +:107FB0000020374B984700EB80005030B0F5A07F91 +:107FC00080F21087012203212046324DA8472F4C12 +:107FD000206847F6FF720121AC30A8472068B03016 +:107FE0002E4B98472468B03400202E4B9847012828 +:107FF00040F207870020264B9847C0EB0010400056 +:108000005030B0F5A07F80F2178701221021204662 +:10801000204B98471D4B1C68B0340020214B9847DB +:10802000012840F219870020194B9847C0EB001037 +:1080300040005030B0F5A07F80F229870122112145 +:108040002046144B9847114B1C68B0340020154B48 +:108050009847012840F22B8700200D4B9847C0EB32 +:10806000001040005030B0F5A07F80F23B87012225 +:1080700012212046074B9847044B1C68B03400205F +:10808000084B984701280FE0256A0000D86B0020B4 +:108090003D0F0100E1680000996C0000614A010099 +:1080A000696B0000590F010040F22C870020BD4B86 +:1080B0009847C0EB001040005030B0F5A07F80F230 +:1080C0003C87012213212046B74B9847B74B1C68C9 +:1080D000B0340020B64B9847012840F23E8700207C +:1080E000B04B9847C0EB001040005030B0F5A07F77 +:1080F00080F24E87012214212046AB4B9847AB4CAF +:108100002068A030AB4B98472068236A13F0020325 +:1081100014BF1A211021002B15BF372422241C2341 +:1081200012234FF0000263F3040264F34A1261F376 +:10813000CF223921A030A04B98479C4C20680122C7 +:108140003021A030984DA847206803223121A0306B +:10815000A8472468A0340020954B9847012840F296 +:10816000278700208F4B9847C0EB0010400050300D +:10817000B0F5A07F80F237870122122120468A4B7A +:1081800098478A4B1C68A0340020894B98470128E7 +:1081900040F239870020834B9847C0EB0010400025 +:1081A0005030B0F5A07F80F249870122132120468C +:1081B0007D4B98477D4B1C68A03400207C4B984732 +:1081C000012840F24B870020764B9847C0EB001007 +:1081D00040005030B0F5A07F80F26087012210216E +:1081E0002046714B9847714B1C68A0340020704B9F +:1081F0009847012840F2628700206A4B9847C0EBFD +:10820000001040005030B0F5A07F80F2728701224C +:1082100011212046644B9847644C684BA3600123AE +:1082200023710020664B984704F10800BDE8F081F7 +:10823000BC20644B9847644B18605C4B1860FEF799 +:108240008EBC15232A211C46FEF7B3BC0020554BDB +:10825000984750305D4B83FB0023C217C2EBA3123B +:1082600012B2FEF7C2BC00204E4B984700EB8000D4 +:1082700040005030554B83FB0023C217C2EBA312C2 +:1082800012B2FEF7C5BC0020464B984700EB8000B9 +:10829000400050304D4B83FB0023C217C2EBA312AA +:1082A00012B2FEF7C8BC00203E4B984700EB4000DE +:1082B0005030464B83FB0023C217C2EBA31212B20D +:1082C000FEF7E9BC0020374B9847143080003F4B45 +:1082D00083FB0023C217C2EBA31212B2FEF7ECBC61 +:1082E0000020304B984728304000384B83FB002358 +:1082F000C217C2EBA31212B2FEF7EFBC0020294B4B +:1083000098475030314B83FB0023C217C2EBA312B6 +:1083100012B2FEF7F2BC0020224B9847C0EB0010CF +:108320005030B0F5A07F02DA0122FEF703BD002035 +:108330001C4B9847C0EB00105030244B83FB0023AC +:10834000C217C2EBA31212B2FEF7F4BC0020154B09 +:108350009847C0EB0010400050301C4B83FB0023BB +:10836000C217C2EBA31212B2FEF7E4BC00200D4B01 +:108370009847C0EB00105030B0F5A07F02DA012220 +:10838000FEF7F1BC0020074B9847C0EB00105030BF +:108390000E4B83FB0023C217C2EBA31212B2FEF7EF +:1083A000E2BC00BF3D0F0100E1680000D86B002077 +:1083B000590F0100614A0100256A0000F9410100DE +:1083C000553C0000DD230100486D002067666666AD +:1083D0000020C74B9847C0EB001040005030C54B01 +:1083E00083FB0023C217C2EBA31212B2FEF7BBBC81 +:1083F0000020BF4B9847C0EB00105030B0F5A07F75 +:1084000002DA0122FEF7C8BC0020B94B9847C0EB46 +:1084100000105030B74B83FB0023C217C2EBA312EE +:1084200012B2FEF7B9BC0020B14B9847C0EB001068 +:1084300040005030AF4B83FB0023C217C2EBA312A6 +:1084400012B2FEF7A9BC0020A94B9847C0EB001060 +:108450005030B0F5A07F02DA0122FEF7B6BC002052 +:10846000A34B9847C0EB00105030A24B83FB002376 +:10847000C217C2EBA31212B2FEF7A7BC00209C4B9E +:108480009847C0EB0010400050309A4B83FB00230C +:10849000C217C2EBA31212B2FEF797BC062310213B +:1084A0000924FEF7DCBC0020914B9847C0EB00107C +:1084B0005030B0F5A07F02DA0122FEF7F1BC0020B7 +:1084C0008B4B9847C0EB001050308A4B83FB002346 +:1084D000C217C2EBA31212B2FEF7E2BC0020844B1B +:1084E0009847C0EB001040005030824B83FB0023C4 +:1084F000C217C2EBA31212B2FEF7D2BC00207C4B13 +:108500009847C0EB00105030B0F5A07F02DA01228E +:10851000FEF7DFBC0020764B9847C0EB00105030D0 +:10852000744B83FB0023C217C2EBA31212B2FEF7F7 +:10853000D0BC00206E4B9847C0EB0010400050307C +:108540006C4B83FB0023C217C2EBA31212B2FEF7DF +:10855000C0BC0020664B9847C0EB00105030B0F50F +:10856000A07F02DA0122FEF7CDBC0020604B9847C5 +:10857000C0EB001050305F4B83FB0023C217C2EBEF +:10858000A31212B2FEF7BEBC0020594B9847C0EBB5 +:10859000001040005030574B83FB0023C217C2EB42 +:1085A000A31212B2FEF7AEBC0020514B9847143014 +:1085B0008000504B83FB0023C217C2EBA31212B200 +:1085C000FEF7B5BC062310210924FEF7BFBC00202E +:1085D000474B984700EB40005030464B83FB00234D +:1085E000C217C2EBA31212B2FEF720BD0020404B0F +:1085F0009847C0EB00105030B0F5A07F02DA01229E +:10860000FEF72DBD00203A4B9847C0EB00105030CC +:10861000384B83FB0023C217C2EBA31212B2FEF742 +:108620001EBD0020324B9847C0EB00104000503078 +:10863000304B83FB0023C217C2EBA31212B2FEF72A +:108640000EBD00202A4B9847C0EB00105030B0F50B +:10865000A07F02DA0122FEF71BBD0020244B9847C1 +:10866000C0EB00105030234B83FB0023C217C2EB3A +:10867000A31212B2FEF70CBD00201D4B9847C0EBB1 +:108680000010400050301B4B83FB0023C217C2EB8D +:10869000A31212B2FEF7FCBC0020154B9847C0EBAA +:1086A00000105030B0F5A07F02DA0122FEF709BDBC +:1086B00000200F4B9847C0EB001050300D4B83FB50 +:1086C0000023C217C2EBA31212B2FEF7FABC0020BD +:1086D000074B9847C0EB001040005030054B83FB20 +:1086E0000023C217C2EBA31212B2FEF7EABC00BF0E +:1086F0003D0F0100676666660020C94B9847C0EBD6 +:10870000001040005030C74B83FB0023C217C2EB60 +:10871000A31212B2FEF7ECBC0020C14B984700EB4D +:10872000800080005030BF4B83FB0023C217C2EB98 +:10873000A31212B2FEF721BD0020B94B984700EBFF +:10874000400200EB82005030B64B83FB0023C2177F +:10875000C2EBA31212B2FEF757BD0020B04B9847F0 +:1087600000EB400200EB82005030AE4B83FB002355 +:10877000C217C2EBA31212B2FEF75ABD0020A84BDB +:10878000984700EB400200EB82005030A54B83FB82 +:108790000023C217C2EBA31212B2FEF75DBD002088 +:1087A0009F4B984700EB400200EB820050309D4BFE +:1087B00083FB0023C217C2EBA31212B2FEF760BD07 +:1087C0000020974B984714308000964B83FB002382 +:1087D000C217C2EBA31212B2FEF767BD0020904B86 +:1087E000984700EB8000400050308E4B83FB002305 +:1087F000C217C2EBA31212B2FEF76ABD0020884B6B +:10880000984700EB40005030864B83FB0023C21793 +:10881000C2EBA31212B2FEF77FBD0020804B984737 +:1088200000EB8000400050307E4B83FB0023C217DA +:10883000C2EBA31212B2FEF782BD0020784B98471C +:1088400014308000774B83FB0023C217C2EBA312C6 +:1088500012B2FEF79ABD0020714B984700EB400022 +:108860005030704B83FB0023C217C2EBA31212B22D +:10887000FEF7B2BD00206A4B984700EB4000503035 +:10888000684B83FB0023C217C2EBA31212B2FEF7A0 +:10889000B5BD0020624B984700EB40005030614B63 +:1088A00083FB0023C217C2EBA31212B2FEF7B8BDBE +:1088B00000205B4B984700EB40005030594B83FB46 +:1088C0000023C217C2EBA31212B2FEF7BBBD0020F9 +:1088D000534B984714308000524B83FB0023C21740 +:1088E000C2EBA31212B2FEF7DABD07230F21082450 +:1088F000FEF7E9BD00204A4B984700EB800050305E +:10890000484B83FB0023C217C2EBA31212B2FEF73F +:10891000F9BD0020424B984700EB80005030414B9E +:1089200083FB0023C217C2EBA31212B2FEF7FCBDF9 +:1089300000203B4B984700EB80005030394B83FBC5 +:108940000023C217C2EBA31212B2FEF7FFBD002034 +:10895000334B984700EB80005030324B83FB0023B1 +:10896000C217C2EBA31212B2FEF702BE00202C4BBC +:10897000984700EB400050302A4B83FB0023C2177E +:10898000C2EBA31212B2FEF705BE0020244B98479B +:10899000322202FB00F05030224B83FB0023C2172F +:1089A000C2EBA31212B2FEF70CBE00201C4B98477C +:1089B000C0EBC00050301B4B83FB0023C217C2EB3F +:1089C000A31212B2FEF752BE0020154B9847C0EB1F +:1089D000C0005030134B83FB0023C217C2EBA3121D +:1089E00012B2FEF755BE00200D4B9847C0EBC000F9 +:1089F00050300C4B83FB0023C217C2EBA31212B200 +:108A0000FEF758BE0020064B984728304000054B23 +:108A100083FB0023C217C2EBA31212B2FEF791BE72 +:108A20003D0F0100676666660020CD4B98475030C9 +:108A3000CC4B83FB0023C217C2EBA31212B2FEF78A +:108A40009DBE15232A211C46FEF7B0BE0020C44B54 +:108A50009847642202FB00F05030C24B83FB002396 +:108A6000C217C2EBA31212B2FEF7D1BE0020BC4B5C +:108A70009847642202FB00F05030BA4B83FB00237E +:108A8000C217C2EBA31212B2FEF7D4BE1F233F21BE +:108A90001C46FEF709BF1D233B211C46FEF71ABFEB +:108AA0001F233F211C46FEF72CBF07230F2108245C +:108AB000FEF74FBF07230F210824FEF77FBF0020DA +:108AC000A74B9847C0EB00105030B0F5A07F02DAFA +:108AD0000122FEF7EFBF0020A14B9847C0EB00102A +:108AE0005030A04B83FB0023C217C2EBA31212B27B +:108AF000FEF7E0BF00209A4B9847C0EB0010400003 +:108B00005030984B83FB0023C217C2EBA31212B262 +:108B1000FEF7D0BF0020924B9847C0EB00105030BA +:108B2000B0F5A07F02DA0122FEF7DDBF00208C4BFA +:108B30009847C0EB001050308A4B83FB0023C217CC +:108B4000C2EBA31212B2FEF7CEBF0020844B9847AF +:108B5000C0EB001040005030824B83FB0023C21753 +:108B6000C2EBA31212B2FEF7BEBF00207C4B9847A7 +:108B7000C0EB00105030B0F5A07F02DA0122FEF702 +:108B8000CBBF0020764B9847C0EB00105030754BA0 +:108B900083FB0023C217C2EBA31212B2FEF7BCBFC5 +:108BA00000206F4B9847C0EB0010400050306D4BD9 +:108BB00083FB0023C217C2EBA31212B2FEF7ACBFB5 +:108BC0000020674B9847C0EB00105030B0F5A07FF5 +:108BD00002DA0122FEF7B9BF0020614B9847C0EBD3 +:108BE000001050305F4B83FB0023C217C2EBA3126F +:108BF00012B2FEF7AABF0020594B9847C0EB0010F5 +:108C000040005030574B83FB0023C217C2EBA31226 +:108C100012B2FEF79ABF0020514B9847C0EB0010EC +:108C20005030B0F5A07F02DA0122FEF7A7BF002086 +:108C30004B4B9847C0EB001050304A4B83FB00234E +:108C4000C217C2EBA31212B2FEF798BF0020444B2A +:108C50009847C0EB001040005030424B83FB00238C +:108C6000C217C2EBA31212B2FEF788BF00203C4B22 +:108C70009847C0EB00105030B0F5A07F03DA4FF0FA +:108C8000FF32FEF795BF0020354B9847C0EB001030 +:108C90005030344B83FB0023C217A2EBA31212B255 +:108CA000FEF786BF00202E4B9847C0EB0010400017 +:108CB00050302C4B83FB0023C217A2EBA31212B23D +:108CC000FEF776BF0020264B984700EB800080001F +:108CD0005030244B83FB0023C217C2EBA31212B205 +:108CE000FEF79EBF1D233B211C46FEF7C5BF072391 +:108CF0000F210824FEF7D7BF0020194B984700EB3F +:108D0000800000EB80005030164B83FB0023C2171D +:108D1000C2EBA31212B2FEF7E6BF1F233F211C468F +:108D2000FFF710B800200E4B984700EB8000503042 +:108D30000C4B83FB0023C217C2EBA31212B2FFF746 +:108D400045B80020064B9847C0EBC0005030054B9B +:108D500083FB0023C217C2EBA31212B2FFF77FB846 +:108D60003D0F0100676666660020CA4B9847C0EB5E +:108D7000C0005030C84B83FB0023C217C2EBA312C4 +:108D800012B2FFF77EB80020C24B9847C0EBC0007C +:108D90005030C14B83FB0023C217C2EBA31212B2A7 +:108DA000FFF781B80020BB4B984700EB80008000A4 +:108DB0005030B94B83FB0023C217C2EBA31212B28F +:108DC000FFF7BAB80020B34B984700EB8000800053 +:108DD0005030B14B83FB0023C217C2EBA31212B277 +:108DE000FFF7BDB80020AB4B984700EB8000503038 +:108DF000A94B83FB0023C217C2EBA31212B2FFF7E9 +:108E0000E2B80020A34B9847C0EB00105030B0F5FB +:108E1000A07F02DA0122FFF7F9B800209D4B9847A6 +:108E2000C0EB001050309C4B83FB0023C217C2EBF9 +:108E3000A31212B2FFF7EAB80020964B9847C0EB96 +:108E4000001040005030944B83FB0023C217C2EB4C +:108E5000A31212B2FFF7DAB800208E4B9847C0EB8E +:108E600000105030B0F5A07F02DA0122FFF7E7B81A +:108E70000020884B9847C0EB00105030864B83FB96 +:108E80000023C217C2EBA31212B2FFF7D8B800201A +:108E9000804B9847C0EB0010400050307E4B83FB66 +:108EA0000023C217C2EBA31212B2FFF7C8B800200A +:108EB000784B9847C0EB00105030B0F5A07F02DA35 +:108EC0000122FFF7D5B80020724B9847C0EB001085 +:108ED0005030714B83FB0023C217C2EBA31212B2B6 +:108EE000FFF7C6B800206B4B9847C0EB001040005E +:108EF0005030694B83FB0023C217C2EBA31212B29E +:108F0000FFF7B6B80020634B9847C0EB0010503015 +:108F1000B0F5A07F02DA0122FFF7D4B800205D4B44 +:108F20009847C0EB001050305B4B83FB0023C21707 +:108F3000C2EBA31212B2FFF7C5B80020554B9847F9 +:108F4000C0EB001040005030534B83FB0023C2178E +:108F5000C2EBA31212B2FFF7B5B800204D4B9847F1 +:108F6000C0EB00105030B0F5A07F02DA0122FFF70D +:108F7000C2B80020474B9847C0EB00105030464B1A +:108F800083FB0023C217C2EBA31212B2FFF7B3B8E0 +:108F90000020404B9847C0EB0010400050303E4B43 +:108FA00083FB0023C217C2EBA31212B2FFF7A3B8D0 +:108FB0000020384B9847C0EB00105030B0F5A07F30 +:108FC00002DA0122FFF7D9B80020324B9847C0EBF4 +:108FD00000105030304B83FB0023C217C2EBA312AA +:108FE00012B2FFF7CAB800202A4B9847C0EB001016 +:108FF00040005030284B83FB0023C217C2EBA31262 +:1090000012B2FFF7BAB80020224B9847C0EB00100D +:109010005030B0F5A07F02DA0122FFF7C7B8002078 +:109020001C4B9847C0EB001050301B4B83FB0023B8 +:10903000C217C2EBA31212B2FFF7B8B80020154B4B +:109040009847C0EB001040005030134B83FB0023C7 +:10905000C217C2EBA31212B2FFF7A8B800200D4B43 +:109060009847C0EB00105030B0F5A07F02DA012223 +:10907000FFF7B5B80020074B9847C0EB0010503001 +:10908000054B83FB0023C217C2EBA31212B2FFF7FA +:10909000A6B800BF3D0F01006766666600201D4B45 +:1090A0009847C0EB0010400050301B4B83FB00235F +:1090B000C217C2EBA31212B2FFF791B80020154BF2 :1090C0009847C0EB00105030B0F5A07F02DA0122C3 -:1090D000FEF7DDBF00208C4B9847C0EB00105030EE -:1090E0008A4B83FB0023C217C2EBA31212B2FEF716 -:1090F000CEBF0020844B9847C0EB0010400050309A -:10910000824B83FB0023C217C2EBA31212B2FEF7FD -:10911000BEBF00207C4B9847C0EB00105030B0F52C -:10912000A07F02DA0122FEF7CBBF0020764B9847E2 -:10913000C0EB00105030754B83FB0023C217C2EB0D -:10914000A31212B2FEF7BCBF00206F4B9847C0EBD2 -:109150000010400050306D4B83FB0023C217C2EB60 -:10916000A31212B2FEF7ACBF0020674B9847C0EBCA -:1091700000105030B0F5A07F02DA0122FEF7B9BF2F -:109180000020614B9847C0EB001050305F4B83FBD1 -:109190000023C217C2EBA31212B2FEF7AABF00202F -:1091A000594B9847C0EB001040005030574B83FBA1 -:1091B0000023C217C2EBA31212B2FEF79ABF00201F -:1091C000514B9847C0EB00105030B0F5A07F02DA49 -:1091D0000122FEF7A7BF00204B4B9847C0EB0010C1 -:1091E00050304A4B83FB0023C217C2EBA31212B2CA -:1091F000FEF798BF0020444B9847C0EB001040009A -:109200005030424B83FB0023C217C2EBA31212B2B1 -:10921000FEF788BF00203C4B9847C0EB0010503051 -:10922000B0F5A07F03DA4FF0FF32FEF795BF0020C4 -:10923000354B9847C0EB00105030344B83FB002374 -:10924000C217A2EBA31212B2FEF786BF00202E4B6C -:109250009847C0EB0010400050302C4B83FB00239C -:10926000C217A2EBA31212B2FEF776BF0020264B64 -:10927000984700EB800080005030244B83FB002394 -:10928000C217C2EBA31212B2FEF79EBF1D233B21F1 -:109290001C46FEF7C5BF07230F210824FEF7D7BFE2 -:1092A0000020194B984700EB800000EB8000503005 -:1092B000164B83FB0023C217C2EBA31212B2FEF7B8 -:1092C000E6BF1F233F211C46FFF710B800200E4BBE -:1092D000984700EB800050300C4B83FB0023C217F3 -:1092E000C2EBA31212B2FFF745B80020064B984715 -:1092F000C0EBC0005030054B83FB0023C217C2EB0C -:10930000A31212B2FFF77FB8E51401006766666624 -:109310000020CA4B9847C0EBC0005030C84B83FBBD -:109320000023C217C2EBA31212B2FFF77EB80020CF -:10933000C24B9847C0EBC0005030C14B83FB0023A9 -:10934000C217C2EBA31212B2FFF781B80020BB4BC9 -:10935000984700EB800080005030B94B83FB00231E -:10936000C217C2EBA31212B2FFF7BAB80020B34B78 -:10937000984700EB800080005030B14B83FB002306 -:10938000C217C2EBA31212B2FFF7BDB80020AB4B5D -:10939000984700EB80005030A94B83FB0023C21795 -:1093A000C2EBA31212B2FFF7E2B80020A34B98471A -:1093B000C0EB00105030B0F5A07F02DA0122FFF7B9 -:1093C000F9B800209D4B9847C0EB001050309C4BE3 -:1093D00083FB0023C217C2EBA31212B2FFF7EAB855 -:1093E0000020964B9847C0EB001040005030944B43 -:1093F00083FB0023C217C2EBA31212B2FFF7DAB845 -:1094000000208E4B9847C0EB00105030B0F5A07F85 -:1094100002DA0122FFF7E7B80020884B9847C0EB3B -:1094200000105030864B83FB0023C217C2EBA312FF -:1094300012B2FFF7D8B80020804B9847C0EB00105D -:10944000400050307E4B83FB0023C217C2EBA312B7 -:1094500012B2FFF7C8B80020784B9847C0EB001055 -:109460005030B0F5A07F02DA0122FFF7D5B8002016 -:10947000724B9847C0EB00105030714B83FB0023B8 -:10948000C217C2EBA31212B2FFF7C6B800206B4B93 -:109490009847C0EB001040005030694B83FB00231D -:1094A000C217C2EBA31212B2FFF7B6B80020634B8B -:1094B0009847C0EB00105030B0F5A07F02DA0122CF -:1094C000FFF7D4B800205D4B9847C0EB0010503038 -:1094D0005B4B83FB0023C217C2EBA31212B2FFF750 -:1094E000C5B80020554B9847C0EB001040005030E5 -:1094F000534B83FB0023C217C2EBA31212B2FFF738 -:10950000B5B800204D4B9847C0EB00105030B0F577 -:10951000A07F02DA0122FFF7C2B80020474B98472C -:10952000C0EB00105030464B83FB0023C217C2EB48 -:10953000A31212B2FFF7B3B80020404B9847C0EB1C -:109540000010400050303E4B83FB0023C217C2EB9B -:10955000A31212B2FFF7A3B80020384B9847C0EB14 -:1095600000105030B0F5A07F02DA0122FFF7D9B821 -:109570000020324B9847C0EB00105030304B83FB3B -:109580000023C217C2EBA31212B2FFF7CAB8002021 -:109590002A4B9847C0EB001040005030284B83FB0B -:1095A0000023C217C2EBA31212B2FFF7BAB8002011 -:1095B000224B9847C0EB00105030B0F5A07F02DA84 -:1095C0000122FFF7C7B800201C4B9847C0EB0010E2 -:1095D00050301B4B83FB0023C217C2EBA31212B205 -:1095E000FFF7B8B80020154B9847C0EB00104000BB -:1095F0005030134B83FB0023C217C2EBA31212B2ED -:10960000FFF7A8B800200D4B9847C0EB0010503072 -:10961000B0F5A07F02DA0122FFF7B5B80020074BB2 -:109620009847C0EB00105030054B83FB0023C21756 -:10963000C2EBA31212B2FFF7A6B800BFE5140100F7 -:109640006766666600201D4B9847C0EB001040001F -:1096500050301B4B83FB0023C217C2EBA31212B284 -:10966000FFF791B80020154B9847C0EB0010503021 -:10967000B0F5A07F02DA0122FFF79EB800200F4B61 -:109680009847C0EB001050300D4B83FB0023C217EE -:10969000C2EBA31212B2FFF78FB80020074B984716 -:1096A000C0EB001040005030054B83FB0023C21775 -:1096B000C2EBA31212B2FFF77FB800BFE51401009E -:1096C0006766666610B5094B98470446437C13F0FD -:1096D000010F03D0406808B1054B9847637C6FF3D6 -:1096E000000363740023636010BD00BF25540000B5 -:1096F0006D2A0100F8B507461E4B9847037C03F01E -:109700000703022B00D0F8BD044601894FF6FF7312 -:109710009942F8D0184B1B680339006898470646F1 -:109720003846144B9847437C13F0010F14BF406830 -:109730000430236803EB060E9B5DC3B100252B4666 -:10974000425D8EF800200133DBB21D46F21821681D -:1097500001EB020E8A5C002AF2D1435D8EF80030E4 -:109760003846064B98474FF6FF732381CBE7002519 -:10977000F3E700BF255400005C000020C5960100FF -:1097800038B504460D46034B9847C5812046024B29 -:10979000984738BD25540000A939000038B5044663 -:1097A0000D46034B984785812046024B984738BDAC -:1097B00025540000A93900002DE9F84306460C465F -:1097C000124B9847122200213046114DA84780467F -:1097D000132200213046A84781461022002130463E -:1097E000A8470746112200213046A84723889844FD -:1097F000A4F80080A388A3EB0903A38063881F4417 -:109800006780E388181AE080BDE8F883C934000057 -:109810005D4B0000F0B583B006460F461546184B69 -:10982000984704463046174B9847042D1CD9681CAE -:10983000154B9847606060B12A463946134B9847EC -:10984000636800225A55637C43F00103637401206E -:1098500014E00F4B00930F4B40F2B5520E4903201A -:109860000E4CA047002009E0637C6FF30003637493 -:109870002A463946201D054B9847012003B0F0BD0C -:1098800025540000C596010085290100FD2B01002B -:10989000C40C0200740A0200940C020005280100A6 -:1098A00030B583B004460D46104B984768B9104B4D -:1098B00000934FF4C4720F4903200F4DA84722466E -:1098C00000230E480E498847FEE720460D4B984777 -:1098D000037CC3F30113AB4206D0037C65F305138D -:1098E00003742046084B984703B030BD8D29000013 -:1098F0008C0A0200940C02000528010020BD010022 -:109900009529000025540000A939000030B583B026 -:1099100004460B4B984768B90A4B00934FF4F27218 -:1099200009490320094DA847224600230848094950 -:109930008847FEE72046084B9847006803B030BDD3 -:109940008D290000D80A0200940C020005280100AD -:1099500020BD0100952900002554000030B583B0DA -:1099600004460C4B984768B90B4B00934FF4F972BF -:109970000A4903200A4DA8472246002309480A49FC -:109980008847FEE72046094B9847007C00F0070017 -:1099900003B030BD8D290000EC0A0200940C0200D7 -:1099A0000528010020BD0100952900002554000074 -:1099B00030B583B004460E4B984768B90D4B009301 -:1099C00040F2FF120C4903200C4DA8472246002309 -:1099D0000B480C498847FEE720460B4B9847007C14 -:1099E000C0F30110032808BF002003B030BD00BF42 -:1099F0008D290000040B0200940C020005280100D0 -:109A000020BD0100952900002554000030B583B029 -:109A100004460C4B984768B90B4B009340F21B224D -:109A20000A4903200A4DA8472246002309480A494B -:109A30008847FEE72046094B9847007CC0F380101A -:109A400003B030BD8D290000180B0200940C0200F9 -:109A50000528010020BD01009529000025540000C3 -:109A60002DE9F04F8FB0054605919E4B984768B998 -:109A70009D4B009340F2A5229C4903209C4CA0479B -:109A80002A4600239B489C498847FEE7059E3046AE -:109A9000944B984768B9944B009340F2A62293499F -:109AA0000320934CA04732460023924892498847AE -:109AB000FEE70CA92846914B98472846904B9847BB -:109AC000074628468F4B98470646BDF83430013389 -:109AD000BDF830209B1A1BB2069348F28E0200217B -:109AE0002846894B98478146039048F2810200211D -:109AF0002846DFF83082C047044648F28002002141 -:109B00002846C0470490B9F908B0337CC3F38016E7 -:109B100013F0800F18BF46F0020613F0070F08BFBE -:109B200046F010062846794B98478246012837D1DF -:109B300046F004063B78002B3AD1B84600252C4667 -:109B4000611B0096049B039A89B24046DFF8D891C6 -:109B5000C847BDF834300133BDF830209B1A1BB222 -:109B600003EBD37300EBD0704FEA6009C9EB6303DA -:109B70000FFA83F900238DF82F300A93002C40F060 -:109B8000A180634E33680A9940469847044633687B -:109B9000294638469847204480B20FB0BDE8F08F80 -:109BA000022840F0968046F008063B78002B48D00B -:109BB000B8464FF000094D460BEB0403079309E04C -:109BC000079B99440FFA89F907EB000805463B5CAF -:109BD000002B34D00096069B049A039940464D4CC6 -:109BE000A0472844059BB3F9022009EB0B039A42D6 -:109BF000E6DC04460EA941F8140D474B1B683846B5 -:109C000098470A2802D03B5D03B90134BAF1010F2D -:109C100096D0BAF1020F18D1611B0096049B039AEB -:109C200089B24046DFF80091C847BDF834300133AF -:109C3000BDF830209B1A1B1A0FFA83F99AE70446E5 -:109C4000E4E7B84600252C46E6E74FF0000991E727 -:109C5000079A06990398314B984700EB09039BB28A -:109C6000059AB2F900101AB2914228DB0A9A5119EA -:109C7000A14224D0795C11B304990B440FFA83F903 -:109C800093460A9B2B44A342BFF47BAFDAF8003023 -:109C90000AA9404698470690DAF8003000210A9851 -:109CA000404498470790002ED2D00A9B18F8031022 -:109CB0000DF12F001A4B98470028E2D1C8E7CDF8E4 -:109CC00028B05EE74FF0000BDFF860A006F0010659 -:109CD000D7E73B78002B7FF46BAFB84600252C46C6 -:109CE000A94647E78D290000600B0200940C020092 -:109CF0000528010020BD010095290000B997010049 -:109D00000D99010025540000294D0000B199010072 -:109D1000640000205943010068000020090601008A -:109D2000114301005D4B00008545010058000020F3 -:109D30002DE9F04F99B00446AF4B98470368002BCC -:109D400048D0054616A92046AC4B9847BDF85C6044 -:109D50000136BDF85830F61A36B248F28E020021AC -:109D60002046A74B9847804648F2810200212046B2 -:109D7000A44FB847814648F2800200212046B847E8 -:109D800007462B7CC3F3801213F0800F18BF42F0FC -:109D9000020213F0070F08BF42F010022968029276 -:109DA0000196CDF800900346424615A8964EB0475E -:109DB0002B7C13F0070310D0032B34D0042B00F0BE -:109DC000D780022B00F06D81012B00F0FE81204630 -:109DD0008E4B984719B0BDE8F08F12220021204623 -:109DE000884EB0470546132200212046B04728443C -:109DF000BDF854502844ADF85400102200212046EC -:109E0000B0470546112200212046B0472A18BDF868 -:109E10005600024412B2ADF85620BDF95410204647 -:109E20007B4B9847D3E705A87A4B984705944FF6A4 -:109E3000FF73ADF84830202211464046764B9847D4 -:109E400038444FF47A7303FB00F3688993FBF0F313 -:109E500003EB43039BB20F931193BDF95420BDF85C -:109E60005C300133BDF858105B1A9BB219B28A42BC -:109E700037DD9B1A1AB200210B910C92674E0696A1 -:109E80006889674B98470D90109031462046654B86 -:109E9000984718B3426A90F83C3003F001030D99DB -:109EA0008A4211DA0E929DF84A206FF300028DF873 -:109EB0004A204BB19DF8503043F001038DF85030EB -:109EC0000B9B0C9A0B920C9305A8574B984757493C -:109ED0002046574B98470023EB8178E700231A462A -:109EE000DDE74E492046524B98470023AB81BDF930 -:109EF0005620BDF85E300133BDF85A105B1A9BB294 -:109F000019B28A42E3DD9A1AB8F80830D21A12B2AE -:109F100000210B910C92454E06966889404B98475C -:109F20000D901090314620463E4B9847E8B1426A6A -:109F300090F83C3003F001030D998A4211DA0E9239 -:109F40009DF84A206FF300028DF84A204BB19DF82E -:109F5000503043F001038DF850300B9B0C9A0B925C -:109F60000C9305A8304B984731E700231A46E3E7E6 -:109F700005A8284B984705944FF6FF73ADF8483075 -:109F8000BDF85C300133BDF858209B1ABDF9542050 -:109F90001BB29A4250DD2022114640461E4B984784 -:109FA000C0EB803300EB8302BDF85430D21A12B2FA -:109FB00000210B910C92194E06966889184B984710 -:109FC0000D9031462046174B9847002832D0436AFF -:109FD0000D9A934206DA0E939DF84A306FF3000310 -:109FE0008DF84A3005A8104B984710492046104B71 -:109FF00098470023EB81EAE625540000B997010059 -:10A00000294D00005D4B000025460100A9390000E4 -:10A01000294900008D180100090601009D970100E3 -:10A02000391A0100FD190100491901008197010049 -:10A03000D11801000023CBE76E4920466E4B9847AC -:10A040000023AB81BDF95620BDF85E300133BDF869 -:10A050005A105B1A1BB29A42C7DDB8F808301A448E -:10A06000524212B200210B910C92644E06966889FE -:10A07000634B98470D9031462046624B984770B12C -:10A08000436A0D9A934206DA0E939DF84A306FF3B5 -:10A0900000038DF84A3005A85B4B984797E60023EC -:10A0A000EFE7BDF85E300133BDF85A209B1ABDF9C9 -:10A0B00056201BB29A4203DC4FF6FF732B8186E6D3 -:10A0C000524B1B6828689847032803D84FF6FF7344 -:10A0D0002B817CE6BDF85C600136BDF85830F61A7D -:10A0E000B6B22E2211464046494B98473844C0EB41 -:10A0F000803300EB83003044ADF81000BDF85E30D3 -:10A100000133BDF85A209B1A9BB218B2B8F9082047 -:10A110004A4490FBF2F102FB11029B1AA3EB0909DE -:10A12000ADF8129004A920463A4B9847804607465E -:10A130002E683046384B98478146384B1B6841465D -:10A14000304698470646059000F10308C1450ED2F7 -:10A15000DFF8DCA028683044DAF800309847059E24 -:10A16000361A0596013F06F10308C145F2D34FF0B8 -:10A17000040A4FF00009DFF8B8B02868059B1844BE -:10A18000DBF80030984781445FFA89F905A928680F -:10A19000234B1B689847BAF1010AEED129684A4659 -:10A1A000314420461F4B984700283FF410AEF11C65 -:10A1B0002E222B689A5501368E42FAD12B68002246 -:10A1C00003F8082003372F8101E6102200212046E2 -:10A1D000154EB0470546112200212046B0472918E8 -:10A1E000BDF85600014409B2ADF8561020460F4B99 -:10A1F0009847ECE59D970100D11801008197010077 -:10A20000391A0100FD190100491901006000002000 -:10A2100009060100619A01004FAF01005C000020B7 -:10A2200058000020159801005D4B00003D4A0000D9 -:10A2300054000020F0B583B006460D46404B9847C9 -:10A2400060B9404B0093B8223F4903203F4CA047E0 -:10A25000324600233E483F498847FEE730463E4BA2 -:10A26000984730463D4B9847044605B32846344B43 -:10A27000984708B32768BD422BD01FB1237C13F049 -:10A28000080F49D02846364B98470130354B984740 -:10A2900020602B4B9847002844D0206850B12946B5 -:10A2A000314B9847237C6FF3C303237430E030466F -:10A2B0002E4B984703B0F0BD224B0093C422224995 -:10A2C0000320224CA0472A460023214821498847E1 -:10A2D000FEE7237C13F0080FD4D13846204B984773 -:10A2E000411C3846224B98472060154B984760B96F -:10A2F000144B0093D52214490320144DA84722681B -:10A3000000231C4813498847FEE72368002BD1D05F -:10A310003046164B9847CDE73846174B98470023F1 -:10A320002360AFE7074B0093EE2207490320074D58 -:10A33000A847226800230F4806498847FEE700BF68 -:10A340008D290000780B0200940C02000528010002 -:10A3500020BD010095290000A93900002554000006 -:10A360004FAF0100852901003FAF0100319D010081 -:10A37000412E0100BCB401006D2A010070B582B00D -:10A3800005460E46144B984768B9144B00934FF49A -:10A39000A67213490320134CA0472A4600231248F3 -:10A3A00012498847FEE72846114B98470446037C2C -:10A3B00013F0080F05D1006818B10E4B9847002321 -:10A3C000236026B1237C43F00803237426602846CB -:10A3D000094B984702B070BD8D290000A40B020004 -:10A3E000940C02000528010020BD01009529000001 -:10A3F000255400006D2A0100319D0100F0B583B0A5 -:10A4000005460F46224B984768B9224B009340F20D -:10A41000651221490320214CA0472A4600232048E9 -:10A4200020498847FEE728461F4B984704461F49A6 -:10A4300028461F4EB0471F492846B0471E492846A8 -:10A44000B0471E492846B0470023A381E381FB1E85 -:10A45000DBB2022B237C94BF43F080036FF3C7135E -:10A460002374237C03F00703022B08D0237C67F3BB -:10A47000020323742846124B984703B0F0BD22898B -:10A480004FF6FF739A42F1D028460E4B9847EDE7FE -:10A490008D290000C00B0200940C02000528010069 -:10A4A00020BD01009529000025540000B13B0000AB -:10A4B000D1180100113C00009D9701008197010017 -:10A4C000319D0100F596010030B583B004460D467C -:10A4D000104B984768B9104B00934FF4CD720F4959 -:10A4E00003200F4DA847224600230E480E498847F7 -:10A4F000FEE720460D4B9847037CC3F38013AB4225 -:10A5000006D0037C65F3861303742046084B9847F6 -:10A5100003B030BD8D290000D80B0200940C02005E -:10A520000528010020BD01009529000025540000E8 -:10A53000319D01002DE9F04182B00F46794B9847DB -:10A540000446794B9847E8B1002C00F09A80774B8D -:10A550001B6823B314212046754B98472046754B42 -:10A5600098470546704B9847F8B9734B00935D22A6 -:10A5700072490320724CA0472A4600237148724951 -:10A580008847FEE76C4B009354226C4903206C4DC6 -:10A59000A847224600236B486B498847FEE72046C0 -:10A5A0006A4B9847614B1860D4E7002D6DD00023AB -:10A5B0002B602A7C02F0B7024FF6FF71298142F02E -:10A5C000300263F302022A7419226A81AB81EB81A3 -:10A5D0006B606A7C63F300026A745D4920465D4BE0 -:10A5E00098475D4920465D4B9847002F52D038462A -:10A5F000504B984706463846594B984701462046E7 -:10A60000584B98473846584B984701462046574B79 -:10A6100098473846564B984701462046554B984731 -:10A62000337C13F0080F46D13846534B9847014608 -:10A630002046524B9847337C03F00703022B42D04D -:10A64000737C13F0010F64D07068002861D04C4B0C -:10A65000984782B2696820464A4B9847727C6B7C67 -:10A6600062F300036B7433892B81FF212046464B34 -:10A670009847464B0093304BA82230490120304D7B -:10A68000A847204602B0BDE8F0812046404B9847DD -:10A690000024F6E7122120463E4B98470021204631 -:10A6A0003D4B9847002120462E4B98473B4920467A -:10A6B000324B9847DDE738462F4B984701462046F6 -:10A6C000374B9847B7E72F683068364B98470146B5 -:10A6D0003846354B98472860134B984760B9164B5E -:10A6E0000093952215490320154CA0472A680023A2 -:10A6F000144815498847FEE72F6887B1D6F80080CF -:10A700004046284B9847024641463846274B9847D3 -:10A7100096E70422B118A818244B98479EE7002416 -:10A72000AFE700BFAD4400008D290000FC6B0020A6 -:10A730005932000025540000F00B0200940C020076 -:10A7400005280100BCB4010095290000DD5300007C -:10A7500031A9010011320000B1A70100B53100009C -:10A760005D990100FDA301000D9A0100C9A401003B -:10A77000B1990100A19801000D99010035A20100D5 -:10A780004FAF01001598010021410000F80C0200B4 -:10A79000ED5500009147010029300000F00C020047 -:10A7A0007DA30100F92A0100412E0100FD2B0100CB -:10A7B0002DE9F04107461546082915D00C46304BC7 -:10A7C0001B6898470646012815D1072C20D038462B -:10A7D0002C4B9847804644BB037C13F0080F1DD0D8 -:10A7E0003846294B984706E013783BB900F1280317 -:10A7F0006B60012623B13046BDE8F0810023F7E706 -:10A800001F4B1B682A460821384698470646F2E740 -:10A810001E4928461E4B98470646ECE700681D4B2C -:10A8200098470023C8F80030DAE7042C14D0022C33 -:10A83000E1D1AA8801322B88D21ABB8A0133398A26 -:10A840005B1A92B29BB29A420DD03846124B98478F -:10A850003846124B9847CEE738460F4B9847384654 -:10A860000E4B9847C7E7EA8801326B88D21AFB8AF9 -:10A870000133798A5B1A92B29BB29A42E5D1BAE768 -:10A88000FC6B002025540000C5960100080D020055 -:10A89000DD5600006D2A0100F5960100319D010092 -:10A8A00030B583B004460A4B984718B14FF6FF7095 -:10A8B00003B030BD074B009340F21D320649032020 -:10A8C000064DA84722460023054806498847FEE76B -:10A8D0008D290000180C0200940C020005280100CC -:10A8E00020BD01009529000030B583B004460A4B15 -:10A8F000984718B14FF6FF7003B030BD074B009377 -:10A900004FF44C7206490320064DA8472246002307 -:10A91000054806498847FEE78D290000340C0200EF -:10A92000940C02000528010020BD010095290000BB -:10A93000022A00F01E810AB1002070472DE9F04381 -:10A94000A9B00F4605468C4B98478046042200214B -:10A9500028468A4CA0478146052200212846A04768 -:10A9600005F10F0305F1170606AA13F8014F02F8C7 -:10A97000014BB342F9D11FFA89F9BDF81830A3EBA6 -:10A980000903ADF81830BDF81C309944ADF81C909F -:10A9900080B2BDF81A301B1AADF81A30BDF81E305F -:10A9A0001844ADF81E0013A8754B984713AA002150 -:10A9B0002846744B984713AA394606A8724B984705 -:10A9C00008A92846714B984708AA39460AA8704B2F -:10A9D000984710B929B0BDE8F08328466D4B9847D9 -:10A9E00098F81030C3F3801413F0800F18BF44F0B0 -:10A9F000020413F0070F08BF44F01004012838D0F8 -:10AA0000022808BF44F008040CA8634B9847284666 -:10AA1000624B9847ADF83E002846614B9847ADF829 -:10AA20004000B8F90C30ADF84230B8F90E30ADF84E -:10AA300044308DF847400CAA00212846594B9847CE -:10AA400098F8102002F00703033BDBB2012B13D967 -:10AA5000D8F80030002200920CAA0AA908A8524D8A -:10AA6000A84798F8103003F00703042B2BD00020E0 -:10AA7000B0E744F00404C7E702F03002102A01D026 -:10AA8000202AE5D1BDF93C30D8F80010029447F6F1 -:10AA900018420192BDF93A2000920D9A05A8434D43 -:10AAA000A847BDF824300133BDF820209B1ABDF91A -:10AAB00014201BB29A42CBDD9DF8473023F00C03E3 -:10AAC0008DF84730C4E7BDF93C30D8F80010029447 -:10AAD00047F618420192BDF93A2000920D9A05A856 -:10AAE000324CA047BDF91420BDF824300133BDF825 -:10AAF00020105B1A1BB29A4220DCBDF91620BDF86B -:10AB000026300133BDF822105B1A1BB29A42AEDD2B -:10AB1000B8F90C30ADF842300D9B1B891344B8F8DE -:10AB20000E201344ADF84430D8F8003000220092D3 -:10AB30000CAA0AA908A81C4CA04798E7B8F80C4032 -:10AB4000224494B2202211460D98194B984700EBED -:10AB500040000444ADF84240B8F90E30ADF844303E -:10AB6000D8F80030002200920CAA0AA908A8A84729 -:10AB7000C3E70220704700BF255400005D4B000072 -:10AB800011C800000D570000D9C80000B997010096 -:10AB9000C11A0100B1990100759F0000A1A8010030 -:10ABA000E9A80100F95C0000CD9F000025460100E6 -:10ABB0000906010053B94AB9002908BF00281CBF83 -:10ABC0004FF0FF314FF0FF3000F07AB9ADF1080CD3 -:10ABD0006DE904CE00F006F8DDF804E0DDE90223BB -:10ABE00004B070472DE9F0478C460D460446089E98 -:10ABF000002B51D18A4217466DD9B2FA82FEBEF1BE -:10AC0000000F0BD0CEF1200C01FA0EF520FA0CFC4F -:10AC100002FA0EF74CEA050C00FA0EF44FEA174A56 -:10AC2000250CBCFBFAF81FFA87F90AFB18CC45EA99 -:10AC30000C4508FB09F3AB420AD9ED1908F1FF32C4 -:10AC400080F02381AB4240F22081A8F102083D440C -:10AC5000ED1AA4B2B5FBFAF00AFB105544EA05441C -:10AC600000FB09F9A14509D9E41900F1FF3380F08F -:10AC70000A81A14540F2078102383C44A4EB090453 -:10AC800040EA08400021002E61D024FA0EF400238F -:10AC900034607360BDE8F0878B4207D9002E54D032 -:10ACA000002186E821000846BDE8F087B3FA83F169 -:10ACB000002940F08E80AB4202D3824200F2FA803B -:10ACC000841A65EB03050120AC46002E3FD086E8D0 -:10ACD0001010BDE8F08712B90127B7FBF2F7B7FAF9 -:10ACE00087FEBEF1000F34D1EB1B3A0C1FFA87FC34 -:10ACF0000121B3FBF2F8250C02FB183345EA0345AA -:10AD00000CFB08F3AB4207D9ED1908F1FF3002D272 -:10AD1000AB4200F2D1808046ED1AA3B2B5FBF2F04F -:10AD200002FB105543EA05440CFB00FCA44507D97F -:10AD3000E41900F1FF3302D2A44500F2B8801846AE -:10AD4000A4EB0C0440EA08409DE731463046BDE8DC -:10AD5000F087CEF1200405FA0EF307FA0EF720FA79 -:10AD600004F83A0C25FA04F448EA0308B4FBF2F1BB -:10AD70004FEA184502FB11441FFA87FC45EA0445D7 -:10AD800001FB0CF3AB4200FA0EF409D9ED1901F105 -:10AD9000FF3080F08A80AB4240F2878002393D4428 -:10ADA000EB1A1FFA88F5B3FBF2F002FB103345EA09 -:10ADB000034500FB0CF3AB4207D9ED1900F1FF3856 -:10ADC0006FD2AB426DD902383D44EB1A40EA0141E3 -:10ADD0008FE7C1F1200722FA07F88B4005FA01F44A -:10ADE00048EA030320FA07FE4FEA134CFD404EEAFF -:10ADF000040EB5FBFCF94FEA1E440CFB19551FFA73 -:10AE000083F844EA054509FB08F4AC4202FA01F272 -:10AE100000FA01FA08D9ED1809F1FF3043D2AC422B -:10AE200041D9A9F102091D442D1B1FFA8EFEB5FB65 -:10AE3000FCF00CFB10554EEA054400FB08F8A04559 -:10AE400007D9E41800F1FF3529D2A04527D90238E7 -:10AE50001C4440EA0940A4EB0804A0FB02894C45CD -:10AE6000C6464D4615D312D056B1BAEB0E0364EB6D -:10AE7000050404FA07F7CB401F43CC4037607460E9 -:10AE80000021BDE8F0871846F8E69046E0E6C245A6 -:10AE9000EAD2B8EB020E69EB03050138E4E7284675 -:10AEA000D7E7404691E78146BEE7014678E702389A -:10AEB0003C4445E7084608E7A8F102083D442BE773 -:10AEC000704700BF70B50D4E0D4CA41BA41000259B -:10AED000A54209D10B4E0C4C05F01CFFA41BA4107D -:10AEE0000025A54205D170BD56F82530984701359B -:10AEF000EEE756F8253098470135F2E7200D0200BD -:10AF0000200D0200200D0200240D020010B50139B1 -:10AF10000244904201D1002010BD10F8013B11F80D -:10AF2000014FA342F5D0181B10BD10F8012B11F8EA -:10AF3000013B012A28BF9A42F7D0D01A7047034636 -:10AF400011F8012B03F8012B002AF9D170470346B1 -:10AF500013F8012B002AFBD1181A013870470000A2 -:10AF60002E2E2F68706C2F706F72742F68706C5F4C -:10AF70006770696F5F626173652E68002E2E2F689F -:10AF8000616C2F7372632F68616C5F6932635F6DF0 -:10AF90005F73796E632E63002E2E2F68616C2F73A2 -:10AFA00072632F68616C5F696F2E63002E2E2F68AD -:10AFB000616C2F7372632F68616C5F74696D657269 -:10AFC0002E6300002E2E2F68616C2F7372632F6822 -:10AFD000616C5F75736172745F6173796E632E6308 -:10AFE000000000002E2E2F68616C2F7574696C7341 -:10AFF0002F7372632F7574696C735F6C6973742E31 -:10B00000630000002E2E2F68616C2F7574696C73BD -:10B010002F7372632F7574696C735F72696E6762E8 -:10B0200075666665722E6300003000400034004093 -:10B0300000200141004001410000004300040043A2 -:10B0400000080043000C004303000000140020002F -:10B0500000010000FF0000000000D70000042707E7 -:10B060002E2E2F68706C2F736572636F6D2F687052 -:10B070006C5F736572636F6D2E6300000038004073 -:10B08000003C004000A0014100C00141001400420A -:10B0900000180042001400430018004300006B0039 -:10B0A0000803000000000000973A000000000000C4 -:10B0B0002E2E2F68706C2F74632F68706C5F746312 -:10B0C0002E63000048656C6C6F20576F726C6400D3 -:10B0D0006C765F64656275675F636865636B5F73F9 -:10B0E00074720000303132333435363738394142EA -:10B0F00043444546000000006C765F6465627567F6 -:10B100005F6C6F675F6572726F7200002E2E2F7416 -:10B110006869726470617274792F6C76676C2F73D2 -:10B1200072632F6C765F636F72652F6C765F6465F8 -:10B130006275672E630000006C765F6465627567F8 -:10B140005F636865636B5F7374723A2061206E6F32 -:10B150006E2D4153434949206368617220686173D1 -:10B16000207265706561746564206D6F726520740E -:10B1700068616E204C565F44454255475F535452B8 -:10B180005F4D41585F5245504541542074696D658B -:10B19000732900006C765F64656275675F6368653C -:10B1A000636B5F7374723A20696E76616C696420B8 -:10B1B0006368617220696E207468652073747269B7 -:10B1C0006E6720283C2031302076616C756529003F -:10B1D0006C765F64656275675F636865636B5F73F8 -:10B1E00074723A20737472696E67206973206C6F91 -:10B1F0006E676572207468616E204C565F444542EC -:10B2000055475F5354525F4D41585F4C454E47542C -:10B21000480000006C765F646973705F6765745FF7 -:10B220007363725F616374006C765F646973705FEF -:10B230006765745F6C617965725F746F70000000A0 -:10B240006C765F646973705F6765745F6C61796564 -:10B25000725F7379730000006C765F646973705F6E -:10B2600061737369676E5F73637265656E0000007A -:10B270006C765F646973705F6765745F696E616344 -:10B28000746976655F74696D650000006C765F6453 -:10B290006973705F747269675F61637469766974FA -:10B2A000790000005F6C765F646973705F67657436 -:10B2B0005F726566725F7461736B00002E2E2F746F -:10B2C0006869726470617274792F6C76676C2F7321 -:10B2D00072632F6C765F636F72652F6C765F646943 -:10B2E00073702E63000000006C765F7363725F61A1 -:10B2F00063743A206E6F20646973706C6179207298 -:10B3000065676973746572656420746F206765741E -:10B3100020697473206163742E2073637265656E97 -:10B32000000000006C765F6C617965725F746F700D -:10B330003A206E6F20646973706C61792072656762 -:10B340006973746572656420746F20676574206921 -:10B35000747320746F70206C617965720000000056 -:10B360006C765F6C617965725F7379733A206E6F8A -:10B3700020646973706C61792072656769737465A4 -:10B3800072656420746F206765742069747320731C -:10B3900079732E206C617965720000006C765F64B1 -:10B3A0006973705F61737369676E5F7363726565FC -:10B3B0006E3A2074727920746F2061737369676EBE -:10B3C0002061206E6F6E2D73637265656E206F62F3 -:10B3D0006A656374000000006C765F646973705F77 -:10B3E0006765745F696E6163746976655F74696DC2 -:10B3F000653A206E6F20646973706C6179207265A4 -:10B400006769737465726564000000006C765F6440 -:10B410006973705F747269675F6163746976697478 -:10B42000793A206E6F20646973706C61792072655F -:10B430006769737465726564000000006C765F6410 -:10B440006973705F6765745F726566725F7461735C -:10B450006B3A206E6F20646973706C61792072653D -:10B460006769737465726564000000006C765F67DD -:10B47000726F75705F637265617465006C765F678B -:10B48000726F75705F6164645F6F626A00000000D4 -:10B490002E2E2F746869726470617274792F6C76C5 -:10B4A000676C2F7372632F6C765F636F72652F6C9E -:10B4B000765F67726F75702E630000004F757420A1 -:10B4C0006F66206D656D6F72790000006C765F6746 -:10B4D000726F75705F6164645F6F626A3A2074684E -:10B4E00065206F626A65637420697320616C7265A0 -:10B4F00061647920616464656420746F2074686994 -:10B50000732067726F7570006C765F67726F75700D -:10B510005F6164645F6F626A3A2061737369676E2A -:10B52000206F626A65637420746F20616E206F748F -:10B530006865722067726F75700000006C765F69D5 -:10B540006E6974006C765F6465696E6974000000F2 -:10B550006C765F6F626A5F64656C5F6173796E635E -:10B56000000000006C765F6F626A5F7365745F61F4 -:10B5700075746F5F7265616C69676E006C765F6F82 -:10B58000626A5F7365745F6578745F636C69636B2F -:10B590005F617265610000006C765F6F626A5F7365 -:10B5A00065745F6164765F686974746573740000C4 -:10B5B0006C765F6F626A5F7365745F636C69636BFF -:10B5C000000000006C765F6F626A5F7365745F7481 -:10B5D0006F7000006C765F6F626A5F7365745F64A2 -:10B5E000726167006C765F6F626A5F7365745F6437 -:10B5F0007261675F646972006C765F6F626A5F7325 -:10B6000065745F647261675F7468726F77000000D1 -:10B610006C765F6F626A5F7365745F647261675FA7 -:10B62000706172656E7400006C765F6F626A5F7342 -:10B6300065745F706172656E745F6576656E7400C7 -:10B640006C765F6F626A5F6164645F70726F74656D -:10B65000637400006C765F6F626A5F636C65617231 -:10B660005F70726F74656374000000006C765F6FCA -:10B67000626A5F7365745F6576656E745F636200AE -:10B680006C765F6576656E745F73656E645F667514 -:10B690006E6300006C765F6576656E745F73656ED1 -:10B6A000640000006C765F6F626A5F7365745F733D -:10B6B00069676E616C5F6362000000006C765F6FAB -:10B6C000626A5F7365745F64657369676E5F636206 -:10B6D000000000006C765F6F626A5F616C6C6F6384 -:10B6E0006174655F6578745F617474720000000056 -:10B6F0006C765F6F626A5F726566726573685F65BC -:10B7000078745F647261775F706164006C765F6FFC -:10B71000626A5F6765745F706172656E74000000D5 -:10B720006C765F6F626A5F6765745F73637265658D -:10B730006E0000006C765F6F626A5F6765745F64BD -:10B74000697370006C765F6F626A5F6765745F63D0 -:10B7500068696C64000000006C765F6F626A5F73FA -:10B7600065745F626173655F646972006C765F6FB8 -:10B77000626A5F6765745F6368696C645F62616376 -:10B780006B0000006C765F6F626A5F636F756E744A -:10B790005F6368696C6472656E0000006C765F6F51 -:10B7A000626A5F636F756E745F6368696C6472650B -:10B7B0006E5F726563757273697665006C765F6F34 -:10B7C000626A5F6765745F636F6F72647300000025 -:10B7D0006C765F6F626A5F6765745F780000000077 -:10B7E0006C765F6F626A5F6765745F790000000066 -:10B7F0006C765F6F626A5F6765745F7769647468AF -:10B80000000000006C765F6F626A5F6765745F6856 -:10B8100065696768740000006C765F6F626A5F67D5 -:10B8200065745F6175746F5F7265616C69676E00E6 -:10B830006C765F6F626A5F6765745F6578745F637B -:10B840006C69636B5F7061645F6C656674000000B7 -:10B850006C765F6F626A5F6765745F6578745F635B -:10B860006C69636B5F7061645F7269676874000024 -:10B870006C765F6F626A5F6765745F6578745F633B -:10B880006C69636B5F7061645F746F7000000000CF -:10B890006C765F6F626A5F6765745F6578745F631B -:10B8A0006C69636B5F7061645F626F74746F6D006D -:10B8B0006C765F6F626A5F6765745F6578745F64FA -:10B8C0007261775F706164006C765F6F626A5F635C -:10B8D0006C65616E5F7374796C655F6C697374001D -:10B8E0006C765F6F626A5F6765745F6C6F63616CD3 -:10B8F0005F7374796C6500006C765F6F626A5F726B -:10B90000656D6F76655F7374796C655F6C6F63618D -:10B910006C5F70726F7000006C765F6F626A5F6759 -:10B9200065745F68696464656E0000006C765F6FC3 -:10B93000626A5F696E76616C69646174655F617289 -:10B94000656100006C765F6F626A5F696E76616C3C -:10B9500069646174650000006C765F6F626A5F6D98 -:10B960006F76655F666F726567726F756E640000F3 -:10B970006C765F6F626A5F6D6F76655F6261636B45 -:10B9800067726F756E6400006C765F6F626A5F73DA -:10B9900065745F706F7300006C765F6F626A5F73CF -:10B9A00065745F78000000006C765F6F626A5F7399 -:10B9B00065745F79000000006C765F6F626A5F619A -:10B9C0006C69676E000000006C765F6F626A5F6191 -:10B9D0006C69676E5F6F7269676F00006C765F6F8E -:10B9E000626A5F7265616C69676E00006C765F6F9A -:10B9F000626A5F726566726573685F7374796C659D -:10BA0000000000006C765F6F626A5F6164645F7360 -:10BA100074796C65000000006C765F6F626A5F731A -:10BA200065745F68696464656E0000006C765F6FC2 -:10BA3000626A5F6765745F6164765F686974746584 -:10BA4000737400006C765F6F626A5F6765745F6332 -:10BA50006C69636B000000006C765F6F626A5F6701 -:10BA600065745F746F7000006C765F6F626A5F6709 -:10BA700065745F64726167006C765F6F626A5F67AE -:10BA800065745F647261675F646972006C765F6F92 -:10BA9000626A5F6765745F647261675F7468726F22 -:10BAA000770000006C765F6F626A5F6765745F7035 -:10BAB0006172656E745F6576656E74006C765F6F3B -:10BAC000626A5F6765745F626173655F6469720073 -:10BAD0006C765F6F626A5F63726561746500000017 -:10BAE0006C765F6F626A5F7365745F706172656EBA -:10BAF000740000006C765F6F626A5F7365745F73D9 -:10BB0000697A65006C765F6F626A5F7365745F77F0 -:10BB100069647468000000006C765F6F626A5F732E -:10BB200065745F6865696768740000006C765F6FB4 -:10BB3000626A5F6765745F70726F7465637400003A -:10BB40006C765F6F626A5F69735F70726F74656352 -:10BB5000746564006C765F6F626A5F6765745F73BB -:10BB600074617465000000006C765F6F626A5F67E5 -:10BB700065745F77696474685F66697400000000CB -:10BB80006C765F6F626A5F6765745F686569676836 -:10BB9000745F6669740000006C765F6F626A5F674D -:10BBA00065745F696E6E65725F636F6F7264730058 -:10BBB000FFFF00006C765F6F626A5F7365745F738E -:10BBC00074617465000000007472616E735F63726B -:10BBD00065617465000000006C765F6F626A5F618A -:10BBE00064645F7374617465000000006C765F6F5D -:10BBF000626A5F636C6561725F7374617465000093 -:10BC00006C765F6F626A5F6765745F7369676E61A8 -:10BC10006C5F6362000000006C765F6F626A5F6752 -:10BC200065745F64657369676E5F6362000000003E -:10BC30006C765F6F626A5F6765745F6576656E7468 -:10BC40005F6362006C765F6F626A5F6765745F65F1 -:10BC500078745F61747472006C765F6F626A5F679C -:10BC600065745F74797065006C765F6F626A5F6798 -:10BC700065745F67726F7570000000006C765F6FAF -:10BC8000626A5F64656C00006C765F6F626A5F6415 -:10BC9000656C5F6173796E635F6362006C765F6F82 -:10BCA000626A5F636C65616E000000006C765F6FB6 -:10BCB000626A5F69735F666F637573656400000035 -:10BCC0002E2E2F746869726470617274792F6C768D -:10BCD000676C2F7372632F6C765F636F72652F6C66 -:10BCE000765F6F626A2E63006C765F696E69743A84 -:10BCF00020616C726561647920696E6974656400A5 -:10BD00006C765F696E697420726561647900000009 -:10BD10006C765F6465696E697420646F6E6500009F -:10BD20004E554C4C20706F696E74657200000000B7 -:10BD30006C765F7363725F6765745F646973703A92 -:10BD40002073637265656E206E6F7420666F756E0A -:10BD5000640000006C765F6F626A5F7365745F6297 -:10BD60006173655F6469723A20696E76616C6964BB -:10BD70002062617365206469720000006C765F6FF9 -:10BD8000626A5F636C65616E5F7374796C655F6C2A -:10BD90006973743A2063616E27742066696E64204B -:10BDA0007374796C6520776974682060706172744F -:10BDB000600000006C765F6F626A5F7365745F702D -:10BDC0006F733A206E6F74206368616E67696E6787 -:10BDD00020706F736974696F6E206F662073637271 -:10BDE00065656E206F626A65637400006C765F6FD4 -:10BDF000626A5F6164645F7374796C653A20636141 -:10BE00006E27742066696E64207374796C65207780 -:10BE10006974682060747970656000006C765F6F8B -:10BE2000626A5F6372656174653A206E6F74206444 -:10BE30006973706C617920637265617465642074E4 -:10BE40006F20736F206661722E204E6F20706C61C0 -:10BE5000636520746F2061737369676E2074686511 -:10BE6000206E65772073637265656E004F626A6548 -:10BE70006374206372656174652072656164790022 -:10BE800043616E2774207365742074686520706147 -:10BE900072656E74206F6620612073637265656ED3 -:10BEA0000000000043616E27742073657420706188 -:10BEB00072656E74203D3D204E554C4C20746F20B1 -:10BEC000616E206F626A6563740000006C765F6F5C -:10BED000626A00006C765F726566725F61726561AE -:10BEE000000000002E2E2F746869726470617274F5 -:10BEF000792F6C76676C2F7372632F6C765F636F2C -:10BF000072652F6C765F726566722E6300000000AA -:10BF100043616E277420736574205644422068651F -:10BF200069676874207573696E672074686520722C -:10BF30006F756E642066756E6374696F6E2E20284F -:10BF400057726F6E6720726F756E645F6362206FE9 -:10BF50007220746F20736D616C6C2056444229000E -:10BF60005F6C765F7374796C655F6C6973745F7214 -:10BF7000656D6F76655F7374796C65005F6C765F75 -:10BF80007374796C655F6C6973745F6164645F730B -:10BF900074796C65000000006765745F616C6C6F9C -:10BFA000635F6C6F63616C5F7374796C6500000034 -:10BFB0005F6C765F7374796C655F7365745F696ECF -:10BFC000740000005F6C765F7374796C655F7365F5 -:10BFD000745F636F6C6F72005F6C765F7374796C03 -:10BFE000655F7365745F6F70610000005F6C765F02 -:10BFF0007374796C655F7365745F707472000000B0 -:10C000005F6C765F7374796C655F6C6973745F6184 -:10C0100064645F7472616E735F7374796C65000041 -:10C020002E2E2F746869726470617274792F6C7629 -:10C03000676C2F7372632F6C765F636F72652F6C02 -:10C04000765F7374796C652E630000006C765F73A5 -:10C0500074796C655F6C6973745F72656D6F76651A -:10C060005F7374796C653A20636F756C646E2774C6 -:10C07000207265616C6C6F6361746520636C6173C1 -:10C0800073206C69737400006C765F7374796C65EF -:10C090005F6C6973745F6164645F7374796C653A33 -:10C0A00020636F756C646E2774206164642074680B -:10C0B0006520636C617373006765745F6C6F6361A7 -:10C0C0006C5F7374796C653A20636F756C646E276E -:10C0D0007420637265617465206C6F63616C20739A -:10C0E00074796C65000000006C765F7374796C6520 -:10C0F0005F6C6973745F6164645F7472616E735FB7 -:10C100007374796C653A20636F756C646E27742064 -:10C11000637265617465207472616E736974696FAE -:10C120006E207374796C650066696C6C5F626C6517 -:10C130006E646564000000006D61705F626C656E26 -:10C14000646564002E2E2F74686972647061727465 -:10C15000792F6C76676C2F7372632F6C765F6472C5 -:10C1600061772F6C765F647261775F626C656E6475 -:10C170002E63000066696C6C5F626C656E6465645A -:10C180003A20756E737570706F7274656420626C9E -:10C19000656E64206D6F646500000000FFFF0000A5 -:10C1A0006C765F647261775F696D67006C765F695A -:10C1B0006D675F647261775F636F72650000000096 -:10C1C0002E2E2F746869726470617274792F6C7688 -:10C1D000676C2F7372632F6C765F647261772F6C5C -:10C1E000765F647261775F696D672E63000000009F -:10C1F000496D61676520647261773A2073726320CC -:10C200006973204E554C4C004E6F0A646174610096 -:10C21000496D6167652064726177206572726F7223 -:10C2200000000000496D61676520647261772063DA -:10C23000616E2774207265616420746865206C6982 -:10C240006E65000000FF00000055AAFF00112233B8 -:10C25000445566778899AABBCCDDEEFF0001020346 -:10C260000405060708090A0B0C0D0E0F1011121316 -:10C270001415161718191A1B1C1D1E1F2021222306 -:10C280002425262728292A2B2C2D2E2F30313233F6 -:10C290003435363738393A3B3C3D3E3F40414243E6 -:10C2A0004445464748494A4B4C4D4E4F50515253D6 -:10C2B0005455565758595A5B5C5D5E5F60616263C6 -:10C2C0006465666768696A6B6C6D6E6F70717273B6 -:10C2D0007475767778797A7B7C7D7E7F80818283A6 -:10C2E0008485868788898A8B8C8D8E8F9091929396 -:10C2F0009495969798999A9B9C9D9E9FA0A1A2A386 -:10C30000A4A5A6A7A8A9AAABACADAEAFB0B1B2B375 -:10C31000B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C365 -:10C32000C4C5C6C7C8C9CACBCCCDCECFD0D1D2D355 -:10C33000D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E345 -:10C34000E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F335 -:10C35000F4F5F6F7F8F9FAFBFCFDFEFF6C765F6486 -:10C360007261775F6C6574746572000064726177E6 -:10C370005F6C65747465725F73756270780000003D -:10C38000647261775F6C65747465725F6E6F726DF5 -:10C39000616C00000024496D92B6DBFF2E2E2F74D5 -:10C3A0006869726470617274792F6C76676C2F7330 -:10C3B00072632F6C765F647261772F6C765F647244 -:10C3C00061775F6C6162656C2E6300006C765F6400 -:10C3D0007261775F6C65747465723A20666F6E7413 -:10C3E000206973204E554C4C000000006C765F6451 -:10C3F0007261775F6C65747465723A20676C7970EE -:10C4000068206473632E206E6F7420666F756E648F -:10C41000000000006C765F647261775F6C65747415 -:10C4200065723A2063686172616374657227732074 -:10C430006269746D6170206E6F7420666F756E64D2 -:10C44000000000006C765F647261775F6C657474E5 -:10C4500065723A20696E76616C6964206270702042 -:10C460006E6F7420666F756E640000006C765F649A -:10C470007261775F6C65747465723A20696E76617B -:10C480006C69642062707000808080818182828308 -:10C4900084858687898A8C8D8F91939597999B9EA9 -:10C4A000A0A2A5A7AAADAFB2B50000006C765F64EC -:10C4B0007261775F6D61736B5F616464000000009F -:10C4C0006C765F647261775F6D61736B5F616E67DD -:10C4D0006C655F696E6974002E2E2F7468697264D2 -:10C4E00070617274792F6C76676C2F7372632F6C26 -:10C4F000765F647261772F6C765F647261775F6DCF -:10C5000061736B2E630000006C765F6D61736B5F0F -:10C510006164643A206E6F20706C61636520746F93 -:10C520002061646420746865206D61736B00000095 -:10C53000556E657870656374656420737461727498 -:10C540005F616E676C650000556E65787065637439 -:10C55000656420656E645F616E676C650000000055 -:10C56000FFFF0000647261775F7061747465726EC2 -:10C57000000000002E2E2F7468697264706172745E -:10C58000792F6C76676C2F7372632F6C765F647291 -:10C5900061772F6C765F647261775F726563742E6A -:10C5A00063000000647261775F696D673A206361C0 -:10C5B0006E27742067657420696D61676520696EF8 -:10C5C000666F00006C765F696D675F6465736967AD -:10C5D0006E3A20696D61676520736F7572636520BF -:10C5E0007479706520697320756E6B6E6F776E005D -:10C5F00000112233445566778899AABBCCDDEEFF43 -:10C600006C765F696D675F6275665F7365745F7096 -:10C61000616C6574746500005F6C765F696D675F5F -:10C6200063616368655F6F70656E00006C765F695B -:10C630006D675F63616368655F7365745F73697A73 -:10C64000650000002E2E2F74686972647061727428 -:10C65000792F6C76676C2F7372632F6C765F6472C0 -:10C6600061772F6C765F696D675F63616368652EC4 -:10C67000630000006C765F696D675F636163686586 -:10C680005F6F70656E3A20746865206361636865EA -:10C690002073697A6520697320300000696D6167D5 -:10C6A0006520647261773A206361636865206D6913 -:10C6B00073732C20636C6F736520616E64207265E8 -:10C6C00075736520616E20656E74727900000000DC -:10C6D000696D61676520647261773A2063616368A0 -:10C6E00065206D6973732C206361636865642074D1 -:10C6F0006F20616E20656D70747920656E7472793B -:10C7000000000000496D61676520647261772063F5 -:10C71000616E6E6F74206F70656E2074686520693D -:10C720006D616765207265736F75726365000000E7 -:10C730006C765F696D675F6465636F6465725F6285 -:10C7400075696C745F696E5F696E666F00000000EA -:10C750006C765F696D675F6465636F6465725F6265 -:10C7600075696C745F696E5F6F70656E00000000C4 -:10C770006C765F696D675F6465636F6465725F6245 -:10C7800075696C745F696E5F6C696E655F747275F4 -:10C79000655F636F6C6F72000011223344556677DA -:10C7A0008899AABBCCDDEEFF6C765F696D675F642C -:10C7B00065636F6465725F6275696C745F696E5FF3 -:10C7C000726561645F6C696E650000006C765F691C -:10C7D0006D675F6465636F6465725F6372656174E2 -:10C7E000650000005F6C765F696D675F6465636F0D -:10C7F0006465725F696E6974000000002E2E2F74EC -:10C800006869726470617274792F6C76676C2F73CB -:10C8100072632F6C765F647261772F6C765F696DDF -:10C82000675F6465636F6465722E6300496D61675D -:10C83000652067657420696E666F20676574207275 -:10C840006561642066696C65206865616465720075 -:10C85000496D6167652067657420696E666F206643 -:10C860006F756E6420756E6B6E6F776E207372637A -:10C87000207479706500000062696E004275696C11 -:10C88000742D696E20696D616765206465636F64EE -:10C8900065722063616E2774206F70656E20746806 -:10C8A000652066696C650000696D675F6465636F2C -:10C8B0006465725F6275696C745F696E5F6F7065E5 -:10C8C0006E3A206F7574206F66206D656D6F72799A -:10C8D00000000000496D616765206465636F6465F1 -:10C8E00072206F70656E3A20756E6B6E6F776E207A -:10C8F000636F6C6F7220666F726D61740000000070 -:10C900004275696C742D696E20696D61676520647C -:10C9100065636F646572207365656B206661696C21 -:10C92000656400004275696C742D696E20696D61E3 -:10C930006765206465636F64657220726561642059 -:10C940006661696C656400004275696C742D696E7E -:10C9500020696D616765206465636F64657220722C -:10C96000656164206E6F7420737570706F7274737C -:10C970002074686520636F6C6F7220666F726D61E2 -:10C98000740000006C765F696D675F6465636F6457 -:10C9900065725F696E69743A206F7574206F6620E6 -:10C9A0006D656D6F727900006C765F666F6E745F97 -:10C9B0006765745F6269746D61705F666D745F74E2 -:10C9C000787400002E2E2F7468697264706172741E -:10C9D000792F6C76676C2F7372632F6C765F666F3E -:10C9E0006E742F6C765F666F6E745F666D745F74C5 -:10C9F00078742E630000000008CA010054D60100BC -:10CA0000B8D501003D310000000100000000000029 -:10CA10000001000003000000000200000000000010 -:10CA20000000000000000000000001000000000005 -:10CA3000000000000000000000010C0007FA0000E8 -:10CA40000000F2F1020C0604F6020D010B030800CF -:10CA5000000000000000000000000F02FE000000C7 -:10CA60000000000000000000000500F800000000C9 -:10CA700000FB04050000FD00FE0300FD00FDFFFBC0 -:10CA800000000000FD0000FDFC0000FD00FB0000B8 -:10CA900000000000000000FDFD00FC00F900E100C6 -:10CAA00000FB0005080000FB03030805FC0500006F -:10CAB000F10000000000000000000000F70000008E -:10CAC0000000000000000000000000F9FDF300F687 -:10CAD000FE00000000010A00F8FEFF0100FC00005B -:10CAE000FEED0000000000000000000000ECFE0A67 -:10CAF000000000000000000000000000F600000040 -:10CB0000000000000000000800030000FB0000001F -:10CB100000000000000000000000000000000A0209 -:10CB20000100000000000000000000000000000004 -:10CB300000000000000000000000000000000000F5 -:10CB40000000000000000000F700000000000000EE -:10CB500000000000000000000000000000000002D3 -:10CB6000050308FD000005FDF8DD02070501FD00D5 -:10CB7000090008000800E800FD080008FD050300A2 -:10CB80000001FD0000FC1400140008000B03040861 -:10CB9000000000F70000000001FE0002FBFDFB02A8 -:10CBA00000FD000000F60000000000000000000092 -:10CBB00000EF000000000000000000000000000086 -:10CBC0000001F200F000000000FE0019FDFD03036B -:10CBD000FE00FD030000F200000000000000000065 -:10CBE0000000E7000300000000000000000000005B -:10CBF00000F0000F0000F7000800EFE7EFFB08006F -:10CC000000EF0003FA00FC0000000000000000003C -:10CC10000000000708E10000000000000000000024 -:10CC200000000C000200000000000202FDFB00FFFB -:10CC3000FFFD0000FE000000FB00FE00FAFB00FA12 -:10CC4000F8F8FB00FB00FB00000000FE0000030002 -:10CC500002FD000100000003FE000000FE0303FFD0 -:10CC6000000000FB00FF0000000000010003FE00C8 -:10CC7000FD00FC0000FE00080000FD0000000000B8 -:10CC8000FF01FEFE0000FD00FD00000000000000AE -:10CC90000000FFFF00FDFD0000000000010000FE9D -:10CCA00000FDFDFD000000000000000000FE00008F -:10CCB0000000FEFD00FC00F8FEF8050000FB030587 -:10CCC0000700FAFFFD00FFF403FE02F2030000017B -:10CCD000F300F2FEEAFE00F3000507000300000087 -:10CCE000000100FBFD00F8000000FD000000FD0059 -:10CCF00000000000FFFF00FFFD000000000000003A -:10CD0000FDFD00FEFDFE0000FD0000000000000033 -:10CD100000000000FEFE00FD00FE00FB030000FD21 -:10CD2000010303000000000000FE000000000002FC -:10CD30000000FD00FDFEFD000000000000000200FC -:10CD4000FE00000000FDFC00FB0008FE01F80000F2 -:10CD500007F3F3F5FB0300FEEFFB00FB00FB04FB16 -:10CD6000F000F9000001FF02FE000300F8F600F3F6 -:10CD7000FAFBFAF8FDF9FFFBF902000100FD0000E3 -:10CD8000000200030000000000000000000000FDA1 -:10CD900000FF00FFFD00FCFAFAFF00F800000000B1 -:10CDA0000000FE0000000001FE0000000300000083 -:10CDB00000000000000C0000000000000200000065 -:10CDC000FD0000000000000000000000FB00030068 -:10CDD000000000000000000000000000FE00000055 -:10CDE000FB00000000F3F8000000FCF30000FD036E -:10CDF00000F900000000000000000000FC0000FB43 -:10CE00000000000000000000000000000300FB0024 -:10CE1000000000030002FBFB00FDFDFD0000000020 -:10CE20000000F800FD00FCFD00FAFAF8FE00FB002F -:10CE3000F800000000140000010000FD000300F5F0 -:10CE40000000000000E8FB0808FEF50003FC00F30A -:10CE5000FFFD03EEFD030004F7FCF7F8F50000F119 -:10CE6000000F0000FF000000FFFFFDF9F8FFE800E1 -:10CE700000000000000000000100000000000000B1 -:10CE8000000000000000000000FD00FFFDFC0000AD -:10CE9000FB00FD000000000000000000000000009A -:10CEA0000000FF00FB000005FF0300FA03FEFFF98E -:10CEB000FD00FDFDFE00FCFC0000FEFFFEFCFD0091 -:10CEC00000FD0003FE00FA000000FB00FC00FCFC7B -:10CED000030000000000000000FB0300FC00FEFD5A -:10CEE000F8FEFEFEFFFEFDFF0000000000FDFEFE5E -:10CEF0000000000003FE00FE000000FEFDFEFEFD3F -:10CF0000FE00020AFF00F900FE0500FDF5FD040029 -:10CF100000F4FC03FC0200FEFEF800FC010000FC33 -:10CF20000000000303FBFB00FCFDFCFDFD00FC0119 -:10CF3000FBFC0800000000000000000003000000EF -:10CF400000000000000000000000000000000000E1 -:10CF500000000000FC0000000000000000000000D5 -:10CF600000000000000000000000000000000000C1 -:10CF700000000000000000000000000000000000B1 -:10CF8000FE000000000000000000000000000000A3 -:10CF90000000000000000000000000000000FEFD96 -:10CFA000000000000000000000000000FC0000FD88 -:10CFB0000000FDFD00000000FD00000000FF00007B -:10CFC000000000FE00000000FC00FB000000F80074 -:10CFD00002FA0501FEF40000FAFD00F6FAF900007D -:10CFE000F5FDF6F6F400F9000211FD00FAFDFFFD73 -:10CFF000FCF9FBF7F6FAFD0000FE00010000EEFE72 -:10D000000806FAF70001F800F3FEFD05E8FD01004F -:10D0100000EFFDF3FDED0000EE000F0100FE00004B -:10D020000000FFFEF6FE00EF00000000F800FE002A -:10D03000FFF9F40000FFFCF8FD00FE00000000F422 -:10D04000FDF8F8FEFCFAFDFC00FBFEF8FC00FDFB21 -:10D05000FDFB000100FEF8000500FB0000000003DE -:10D060000002FB0A00FDFDFD000000000000F800CA -:10D07000FD00FCFD00FAFAF8FE00FB020A000000C9 -:10D0800000140000010000FD00030000000000008B -:10D090000000FF0000000000FEFB0000000000FF99 -:10D0A000000000FDFD0000FBFD0000FB0004FF0090 -:10D0B00000000000000100000000040502FE00F86E -:10D0C000FC0008F8F8FBFB0A0503EAFE05FD00FD7D -:10D0D00003FDF700FD03FDFEF8FE0000080500F962 -:10D0E00000F2FD07FDF601FDF8F8FD0A0300FC0063 -:10D0F000F9000208FAF7F6FA080001EDFE03FCFE5B -:10D10000FA00FAF7FCFCFE0000FAFBFD000806FD41 -:10D11000F200F2FC00F7F1FFF8FCF8F9070000FD5F -:10D1200000FBFE00FDFB0004F8030000F200FDFA26 -:10D13000FCFEF8FAF8FA00F8FDFAFBF8FD00000131 -:10D140000CFC00F8FD00FDFBFAF9F9F6FDFB05000B -:10D15000FC00F3FD0205F8F7FBF808FD01E8FB050C -:10D16000FAFCF700F8F5FDFDFEFDFBF8FF000008F6 -:10D1700007FEEF00F1FA06F6EFFBF7F5F3F805000E -:10D18000000000FD000003FD0502FB050000F8FFA4 -:10D1900000FF000101FE000000000000FD00000093 -:10D1A0000002080100FD00000000FEFEFD0000007E -:10D1B0000102000000000200FE000A00050101FD5E -:10D1C0000005000000020000000000000000000058 -:10D1D0000008000700000000000000000000000040 -:10D1E0000000F100FD04000800001903FBFB03032D -:10D1F000FE01F300000CF100000000000000000040 -:10D200000000EF0A24000000000000000000000001 -:10D2100000F100000000000000000000000000001D -:10D22000000000000000000000000000FC0000FB07 -:10D23000FE000000000000000000000000000000F0 -:10D2400000000000FE00F900000100000321FBFEC9 -:10D250000807F90300000303FD00000000000000C0 -:10D2600000000000DF0700000000000000000000D8 -:10D2700000000000000000F9000000F900000000BC -:10D28000FAFF000000FA00FD00F4000000000000BA -:10D290000000000000EF000000000100000000009E -:10D2A00000FD0000FB00FC00F9000000FC03FD0095 -:10D2B00000F9FDFA0000F900FD00F400FD0000EBAC -:10D2C000FBF6FDF70000EF00F9FF00000000000092 -:10D2D0000000FCFBFEFC00000000FA00FA03FD0564 -:10D2E00000FEFAFEFCFB00FDFFFE02F9FF0000005D -:10D2F000E9FEFC00FA00FEF4FE0000FEFE00000065 -:10D30000000200FEFCFE040000000000000000001F -:10D31000000000000000000000000000000000000D -:10D3200000000000000000000000000000000000FD -:10D33000000003000000000000FA00FE000000FBF7 -:10D3400003000000F9FDFB0000F900FD00F40000FF -:10D350000000E700FBF7F30000EF00FEFC00000018 -:10D360000000000000FDFCFFFC01000004FD0008BF -:10D370000DFDFDF8030D0406F9030B030706070076 -:10D3800000000000000000000000100CFBFD00FE8B -:10D39000140B14000000030000090000FC00000052 -:10D3A000000000000000FE0000000000000000047B -:10D3B00000000000EAFDFEF6F30000EF00000000B0 -:10D3C00000000000000000000000000000FC000061 -:10D3D00000000000000000FE00000000000000004F -:10D3E0000400000000EAFDFEF6F30000F600000075 -:10D3F000000000000000000000000000000000002D -:10D40000FE000000FA0300FD020503F800FFFE0322 -:10D41000000200000000FA00FEFEFB00FEF6001015 -:10D42000FD00FAFE00FEFC00FDF9FBFD000000FC23 -:10D43000000000000000000000FE000000000000EE -:10D4400000000400000000EAFDFEF6F30000EF001B -:10D4500000000000000D00000000000000000000BF -:10D46000FC00F8FDFE08FEFDF601FE01FEF90106D6 -:10D4700001020102FAF6FD00F6FBF9F5F600FCFBED -:10D48000FDFDFEFEFDFE00FEFF040004FE000800A0 -:10D490000000000000000000000000FEFDFD000094 -:10D4A000F900FF00FC000000000000000000000088 -:10D4B000F10000000000000000000000FDFD00FD84 -:10D4C00000000000FE0000FCFD0300FCFBFE00F974 -:10D4D000FEFAFEFD00FC000000000000000000005D -:10D4E00000EF00080000FB00000000FD00FD000050 -:10D4F000FF0000FE00FA00000BFDF8F8020303FF36 -:10D50000F9020402080208FEF90000F60000F8F92A -:10D510000000FB00FDFC00FC00FC00FE0400FEF827 -:10D52000FD090000FE00FB000003FA0003FD0200FD -:10D5300000F800FEFF00FD03FE000000F6FDFA000B -:10D54000F80000F40009FD00FB000200FD00FDF8FA -:10D5500000FD0300000000FE000003FD010000FDCF -:10D56000FE00FD00000000000000000000000000C0 -:10D5700000000000F000060000FE000000000100B6 -:10D58000FDFD0000000500060000000000F0F101B4 -:10D590000B0804F6020B0009000500000000000063 -:10D5A00000000000000E000000000000000000006D -:10D5B000000000000000000000000102000304055C -:10D5C00002060708090A090A0B0C0D0E0F10110CB0 -:10D5D0001213141515000000161718191719191928 -:10D5E0001719191A1919191917191719031B1C1DBD -:10D5F0001D1E1F2021222300240025262727270067 -:10D600002726282926262A2A272A272A2B2C2D2E88 -:10D610002E2F2E30000023093109000000000000E9 -:10D6200000000000000000000000000000000000FA -:10D6300000000000000000000000000000000000EA -:10D6400000000000000000000000000000000000DA -:10D6500000000000000001020003040502060708A4 -:10D66000090A090A0B0C000D0E0F101112130C14ED -:10D67000140000001516171819161A1B1C1D1D1E64 -:10D680001F201D1D1621222303241E2525262728A1 -:10D69000292A2B002C002D2E2F303132332D3434FB -:10D6A00035302D2D2E2E36373839333A3A3B3A3C29 -:10D6B000290000093D0900000000000000000000F2 -:10D6C000000000000000000000000000000000005A -:10D6D000000000000000000000000000000000004A -:10D6E000000000000000000000000000000000003A -:10D6F000200000005F0001000000000000000000AA -:10D7000000000000B0000000F3F7600018D701002F -:10D71000000000003B0002000000721F51EF58EFB4 -:10D720005BEF5CEF5DEF61EF63EF65EF69EF6CEF6F -:10D7300071EF76EF77EF78EF8EEF98EF9BEF9CEF3E -:10D740009DEFA1EFA2EFA3EFA4EFB7EFB8EFBEEF0D -:10D75000C0EFC1EFC4EFC7EFC8EFC9EFCBEFE3EF06 -:10D76000E5EF14F015F017F037F03AF043F06CF0F5 -:10D7700074F0ABF03BF190F191F192F193F194F1EF -:10D78000D7F1E3F13DF254F2AAF412F7F2F70000F8 -:10D790000000000000000000000050040000000035 -:10D7A00000005004030C01001200400605050107AB -:10D7B0001F00400B0B0C00006100F0090A1000FE76 -:10D7C000B100800D0D0C0000FF00000B0B0D00FFE1 -:10D7D00047016003020501074C016005040F01FDCC -:10D7E0006A017005040F00FD880160060707000547 -:10D7F000A101500908080102C101A003030500FEB0 -:10D80000C901200606030003D201A00303030000A0 -:10D81000D701A0050810FFFE1702B00A0A0C00008D -:10D820005302F005050C000071023009090C0000DC -:10D83000A7022009090C0000DD02B00A0B0C000051 -:10D840001F033009090C00005503E0090A0C000011 -:10D8500091039009090C0000C703500A0A0C00004C -:10D860000304E0090A0C00003F04A00303090000C0 -:10D870004D04A003030C00FD5F04500908080102D9 -:10D880007F045009080601039704500908080102A3 -:10D89000B7043009090C0000ED049010100F00FDD2 -:10D8A0006505B00B0D0CFF00B305200C0B0C01003F -:10D8B000F505900B0B0C00003706300D0C0C010029 -:10D8C0007F06C00A090C0100B506300A090C0100E8 -:10D8D000EB06600C0C0C00003307000D0B0C010074 -:10D8E0007507F004030C010087073008080CFF00DF -:10D8F000B707800B0B0C0100F9078009090C010028 -:10D900002F08400F0D0C01007D08000D0B0C0100CD -:10D91000BF08700D0D0C00000D09900B0A0C0100E2 -:10D920004909700D0E0F00FDB209A00B0A0C010091 -:10D93000EE09F0090A0C00002A0A60090A0C00002E -:10D94000660AA00C0B0C0100A80A600B0D0CFF006E -:10D95000F60A0012120C0000620BC00A0B0C000049 -:10D96000A40B600A0C0CFF00EC0B800A0B0C0000EF -:10D970002E0C5005050F01FD540CA0050810FFFEEC -:10D98000940C5005040F00FDB20C50090807010269 -:10D99000CE0C0008080200FED60CA0090502010A00 -:10D9A000DB0C900909090000040DF00A0A0C0100C3 -:10D9B000400D200909090000690DF00A0A0C000059 -:10D9C000A50DD0090A090000D20DA005070C000022 -:10D9D000FC0D100B0A0C00FD380EE00A090C0100CA -:10D9E0006E0E7004030C0100800E9004060FFEFD05 -:10D9F000AD0EE009090C0100E30E7004020C0100F9 -:10DA0000EF0EF0100F090100330FE00A09090100C1 -:10DA10005C0F300A0A090000890FF00A0A0C01FDA8 -:10DA2000C50FF00A0A0C00FD01109006060901005E -:10DA30001C100008080900004010A006070B000099 -:10DA40006710D00A090901009010F0080A09FF00C8 -:10DA5000BD10600E0F0900000111D0080909000077 -:10DA60002A11F0080A0CFFFD661150080809000091 -:10DA70008A11A005060F00FDB711D004030F01FDA8 -:10DA8000CE11A005050F00FDF41150090905000491 -:10DA90000B12B006060600061D1200050304010362 -:10DAA00023120010101100FEAB120010100C000029 -:10DAB0000B130010100E00FF7B130010100C000061 -:10DAC000DB13000B0B0C00001D140010101000FEE7 -:10DAD0009D140010101000FE1D150012120E00FF04 -:10DAE0009B150010101000FE1B160012120C0000F7 -:10DAF00087160010101000FE07170008080E00FF20 -:10DB00003F17000C0C0E00FF93170012121000FEBE -:10DB100023180010100C00008318000E0A1002FEDB -:10DB2000D318000E0E1200FD5119000E0E0F00FF4B -:10DB3000BA19000E0E0E00FF1C1A000E0A1002FE8B -:10DB40006C1A000E100EFFFFDC1A000A0A0E00FF0E -:10DB5000221B000A0A0E00FF681B000E0E0E00FFBB -:10DB6000CA1B000E0E040004E61B0012120C00007B -:10DB7000521C0014141000FEF21C00121410FFFEC0 -:10DB8000921D0010101000FE121E000E0E0A000161 -:10DB9000581E000E0E0A00019E1E0014140E00FFF7 -:10DBA0002A1F0010100C00008A1F0010101000FE29 -:10DBB0000A2000101111FFFE9B20000E0F0E00FF27 -:10DBC0000421000E0E1000FE7421000E0E0E00FF48 -:10DBD000D621000A0C10FFFE3622000E0E1000FEA9 -:10DBE000A622000E0E1000FE16230012120C0000DA -:10DBF000822300101212FFFD2424000C0C1000FEE2 -:10DC000084240014140F00FF1A250014140A0001C4 -:10DC10007E250014140A0001E2250014140A0001F4 -:10DC200046260014140A0001AA260014140A000152 -:10DC30000E270014150E00FFA127000E0C1001FE88 -:10DC40000128000E0E1000FE712800101111FFFDBA -:10DC500002290014140C00007A29000C0C1000FE9C -:10DC6000DA292010110B0001BF0BF0AF0AE09E086B -:10DC7000D08C07C0000010BF1AE0F51F3F51F3E43D -:10DC80000F3E40F27208100005C003E000007A0069 -:10DC90005C0000098007A001FFFFFFFFFD033E734A -:10DCA0003C833000F200C500000F100E300002F07F -:10DCB00000F2009FFFFFFFFF4138C336E3300089C9 -:10DCC000005C00000A7007A000000079000000005E -:10DCD000790000005CFFE92006FCBC9E900EB07944 -:10DCE00000100F807900000DF579000003EFFD5062 -:10DCF000000006CFFE400000795EF100007905F3D8 -:10DD000007007907F12FE9BCAFA003AEFFD70000F1 -:10DD100000790000000079000003DE800005D000DB -:10DD2000E40C5001E3004C005A00A90006A004C016 -:10DD30004E00004C005A0D500000E41C58A000009A -:10DD400003CE73E13CE9000000D60E40A800007C41 -:10DD500003C003D0002E203C003D000B7000E20900 -:10DD60008006D00004DDA00009EFB1000009E43C0A -:10DD7000A00000D9007D00000CC01CA000003FAE38 -:10DD8000C1000001DFC0000003EB8F701800DB0052 -:10DD90007F65F03F40008FEA03F70000CF700BF97A -:10DDA00066CFBF4008DFEA30A5000000000000F5A4 -:10DDB000F5E4E47200DA05F20BC00F703F405F201B -:10DDC0006F107F006F105F203F400F700BC005F297 -:10DDD00000DA3F300CB006F101F600E900BC00ADFE -:10DDE00000AE00AD00BC00E901F606F10CB03F301A -:10DDF000004A000674A4A02BFFE5007FFB207B6B8C -:10DE00008D0004A0000013000000051000000F505A -:10DE100000000F5000011F5110EFFFFFF3344F744B -:10DE200040000F5000000F50000952FD0BA0C50F1D -:10DE3000000111101FFFF30444400312FC1E900068 -:10DE40000005F100000AB000000F6000005F100044 -:10DE500000AB000000F6000005F100000AB0000071 -:10DE60000F6000004F100000AC000000F60000043E -:10DE7000F100000AC000000E6000004F100000001A -:10DE800008EFC50000CFA8CF7007F5000AF20DC05B -:10DE90000001F81F800000DC3F600000BD3F600013 -:10DEA00000BD1F800000DC0DC00001F807F5000A6E -:10DEB000F200CFA8CF700008EFC500EFFF367AF36D -:10DEC000005F3005F3005F3005F3005F3005F300BD -:10DED0005F3005F3005F3005F304BEFD7007FD9869 -:10DEE000CF90280000BF00000007F2000000AF0044 -:10DEF00000004F8000003FC000003EC100002EC166 -:10DF000000002ED100002EF8777746FFFFFFFA6F52 -:10DF1000FFFFFF0277779FB000000CE1000009F3DC -:10DF2000000005F6000000DFE910000459FD0000C4 -:10DF30000006F40000003F64400008F3BFC98CFBFA -:10DF4000007CFFD700000001EB00000000BE1000C5 -:10DF500000006F500000002F900000000CD0000067 -:10DF60000008F301D50003F8002F6000ED2223F72D -:10DF7000216FFFFFFFFF81555556F9520000002F1A -:10DF80006000000002F60005FFFFFF007F7777705A -:10DF900008E0000000AD0000000BC2100000DFFF31 -:10DFA000FB30045568FF20000004F80000000F92C9 -:10DFB000500005F68FD98AFD105BEFE9100005CE01 -:10DFC000FC60009FC88B7005F80000000CD00000BA -:10DFD000001F800000002F68EFFA103FEE648FD022 -:10DFE0002FF10006F40EC00002F609F10006F3015D -:10DFF000DE869FB00019EFD8008FFFFFFFE8F777AC -:10E0000077FC8F00004F5590000BE0000002F800F5 -:10E0100000009F1000000FB0000006F4000000DDBB -:10E020000000003F7000000AF1000001F90000004C -:10E030005CFFD70006FC76AFA00CD00009F10DC044 -:10E040000007F207F7115EC000BFFFFE1009F95488 -:10E050007ED02F800004F64F500000F81FA000056E -:10E06000F609FB76AFD0006CFFD810008EFD800063 -:10E070000CF868FC005F50003F708F00000EC07FFE -:10E0800030001FF01FD413CFF104EFFFA9F00002FE -:10E09000310AF00000000EA00000009F3009A78D9B -:10E0A000F70007DFEB40001E92FC031000000000A9 -:10E0B0000312FC1E901E92FC0310000000000001E1 -:10E0C000E91FD0A80E30A00000004200017DF3033C -:10E0D0009FE810BFB50000EE81000017DFB400001C -:10E0E00004AFD200000182EFFFFFF3455555510008 -:10E0F00000000001111110EFFFFFF33444444050C1 -:10E10000000000EF92000006CFB50000039FE20080 -:10E11000006CF3029EE920BFC600009300000004DB -:10E12000BEFD7007FC77BFA0270000CF00000009EC -:10E13000F0000001EA000001DD100000CE10000038 -:10E140003F60000001300000000100000006F50003 -:10E1500000005F4000000017CEFDB500000005FB89 -:10E1600053237DC200006E400000008E1002F401B7 -:10E17000AEFA3F49B00A901EE65BEF40E30F308FE6 -:10E180001000AF40981F00D900003F406A3F00E8F0 -:10E1900000001F405C1F00D900003F406A0F308F15 -:10E1A0001000AF40980A901ED65ADEA6F203F30183 -:10E1B000AFFA16EE50006E4000000000000006FBB3 -:10E1C0005323750000000017CEFDA30000000002DD -:10E1D000FD00000000009FF4000000000F9EB00052 -:10E1E000000006F27F20000000DC01F80000004F74 -:10E1F000600BE000000BF0004F600001FA1111ED20 -:10E2000000008FFFFFFFF3000EC444444FA006F44C -:10E21000000000AF10CD00000002F85FFFFFEB40F0 -:10E2200005F85557DF405F400001FA05F400000F84 -:10E23000A05F51113AF405FFFFFFFA005F744459E3 -:10E24000FA05F4000008F25F4000005F45F40000AA -:10E2500009F25F85556AFB05FFFFFFD70000028DBD -:10E26000FEB40004FFB89DF902FD20000850BF2055 -:10E270000000000FA000000002F6000000002F6068 -:10E2800000000000FA000000000BF2000000002F68 -:10E29000D2000085005FFB89DF800029DFEB405F53 -:10E2A000FFFFEA30005F97779EF8005F400000AF05 -:10E2B000605F4000000DE05F40000006F45F40003A -:10E2C0000003F65F40000003F65F40000006F45FC5 -:10E2D0004000000DE05F400000AF605F97779EF860 -:10E2E000005FFFFFEA30005FFFFFFF95F97777746B -:10E2F0005F40000005F40000005F51111105FFFFB1 -:10E30000FFE05F74444405F40000005F4000000536 -:10E31000F40000005F97777765FFFFFFFD5FFFFF69 -:10E32000FF95F97777745F40000005F40000005F07 -:10E3300040000005F52222105FFFFFFE05F855554D -:10E34000405F40000005F40000005F40000005F45D -:10E3500000000000018DFEB500004FFB89DFB00218 -:10E36000FD200006600BF2000000000FA00000007E -:10E37000002F60000000002F60000009F00FA000D7 -:10E380000009F00BF2000009F002FD20000AF00085 -:10E390004FFB89DFC000028DFEC6005F4000004FCA -:10E3A00055F4000004F55F4000004F55F4000004F0 -:10E3B000F55F5222225F55FFFFFFFFF55F85555540 -:10E3C0008F55F4000004F55F4000004F55F4000045 -:10E3D00004F55F4000004F55F4000004F55F45F47C -:10E3E0005F45F45F45F45F45F45F45F45F45F40035 -:10E3F000FFFFFA007777FA000000FA000000FA0049 -:10E400000000FA000000FA000000FA000000FA0024 -:10E410000000F9072003F60DE98EF101AEFB305F35 -:10E42000400002EB05F40001EC005F4001DE100546 -:10E43000F400CE20005F40BF300005F49F90000044 -:10E440005FCFEF400005FF91EE10005FA003FC00DE -:10E4500005F40006F8005F400009F505F400000C23 -:10E46000F25F40000005F40000005F40000005F48A -:10E470000000005F40000005F40000005F40000065 -:10E4800005F40000005F40000005F40000005F9705 -:10E49000777725FFFFFFF55F400000001E95FC0029 -:10E4A000000008F95FF5000002FF95FDE00000AEF6 -:10E4B000F95F5F70003F5F95F38F100BC0F95F311C -:10E4C000E904F30F95F307F2DB00F95F300DEF205D -:10E4D0000F95F3005F9000F95F300071000F95F326 -:10E4E00000000000F95F5000004F55FF200004F5C8 -:10E4F0005FFD00004F55FAF90004F55F4AF5004F43 -:10E5000055F40DF204F55F402FD04F55F4006F9491 -:10E51000F55F4000AFAF55F40000DFF55F4000024B -:10E52000FF55F4000006F500018DFEB5000004FF64 -:10E53000B89EFA0002FD200008F900BF2000000A82 -:10E54000F20FA00000003F72F600000000F92F60FB -:10E550000000000F90FA00000003F70BF20000002B -:10E56000AF202FD200008F90004FFB89EFA000005A -:10E5700028DFEB50005FFFFFD7005F9778BFC05FD9 -:10E58000400007F65F400000FA5F400000FA5F407D -:10E590000003F85F62236EF15FFFFFFD305F85547B -:10E5A00020005F400000005F400000005F4000006E -:10E5B0000000018DFEB50000004EFB89EFA00002B7 -:10E5C000FD200008F9000AF2000000AF200FA000B3 -:10E5D00000003F702F600000000F902F60000000CF -:10E5E0000F901F900000002F700BF1000000AF2073 -:10E5F00003FC100007F900006FFA78DFB000000399 -:10E60000AEFFC500000000003ED415B000000002BF -:10E61000BFFF80000000000131005FFFFFD7005FF7 -:10E620009778BFC05F400007F65F400000FA5F4088 -:10E630000000FA5F400003F85F52236EE15FFFFFC6 -:10E64000FC305F8555F9005F40007F405F40000C63 -:10E65000E05F400002F9005CEFD92007FC87AF9033 -:10E660000EC00001100F800000000DF50000000337 -:10E67000EFEA50000005AEFE400000004EF1000041 -:10E680000005F308000008F22FFA77BFA0029DFFF3 -:10E69000C700FFFFFFFFF56778FB77720001F70007 -:10E6A000000001F700000001F700000001F7000082 -:10E6B0000001F700000001F700000001F700000072 -:10E6C00001F700000001F700000001F700006F30C3 -:10E6D00000008F16F3000008F16F3000008F16F372 -:10E6E000000008F16F3000008F16F3000008F16F92 -:10E6F0003000008F05F4000009F03F700000CD00ED -:10E70000DE20005F8004FFA8BFD00003BEFD8100B3 -:10E710000CE00000006F306F5000000CC000FB00E8 -:10E720000003F60009F20000AE00002F80001F90E9 -:10E730000000CE0007F2000005F600DB0000000E2E -:10E74000C04F500000008F3BE000000002FBF800CB -:10E750000000000BFF10000000004FB000005F4001 -:10E760000000DF000002F50F900002FF400007F0FC -:10E770000BE00007FE90000CB006F3000CAAE000CE -:10E780001F6001F8001F54F3006F1000CD007F10D0 -:10E79000F800CC00007F20CB00AD01F700002F7106 -:10E7A000F6005F26F200000DC6F1000F7BD00000DE -:10E7B00008FDC0000BDF80000003FF700006FF3083 -:10E7C000000000EF200001FE00003F900000CD009F -:10E7D0008F40007F3000DE102F800003FA0CD00045 -:10E7E0000007FBF30000000CF800000001EFC00080 -:10E7F0000000BF7F7000006F60AF20002FB001ED00 -:10E80000000CF10004F807F6000009F30CE000002A -:10E8100007F203F700001F9000AF10009E10001FCA -:10E82000A002F6000008F30BD0000000EC4F4000FF -:10E8300000005FFB000000000CF20000000009F087 -:10E840000000000009F00000000009F000000000D6 -:10E8500009F000003FFFFFFFFD01777777BF9000D1 -:10E8600000001EC00000000CF200000008F50000CF -:10E870000004F900000001EC00000000CF200000BF -:10E88000008F500000004F900000001EF87777774F -:10E8900005FFFFFFFFF05FFF05F7505F3005F30056 -:10E8A0005F3005F3005F3005F3005F3005F3005F74 -:10E8B0003005F3005F3005F7505FFF007E00000079 -:10E8C0001F4000000C90000007E0000002F4000070 -:10E8D00000C90000007E0000002F4000000C9000E6 -:10E8E0000007E0000002F3000000D90000007E00F5 -:10E8F00000002F3000000D90000007E0BFFA35EA5D -:10E9000000EA00EA00EA00EA00EA00EA00EA00EAB7 -:10E9100000EA00EA00EA35EABFFA002F8000009D15 -:10E92000E00000F3D50006D07B000C601F203F10F4 -:10E930000B809A0004E0FFFFFFFF1111111107F691 -:10E940000003E7019EFD8000CE87AF90020000AF7C -:10E9500000000006F202BEFFFF20EC4227F22F501B -:10E96000007F20EC427FF202BFFB6F208F0000008F -:10E97000008F000000008F000000008F2BFEB3000E -:10E980008FEC78EF308FA0001EC08F200007F18F32 -:10E99000000005F38F200007F18FA0001ED08FEC40 -:10E9A00078EF308E2BFEB300003AEFC4004FD87CD6 -:10E9B000F40DD0000713F60000004F30000003F6FE -:10E9C0000000000DD00006104FD77CF4003AEFC4D1 -:10E9D0000000000001F700000001F700000001F74F -:10E9E000003BFFA3F704FD87CEF70ED0000BF73FE7 -:10E9F000600003F74F300001F73F500003F70EC0EF -:10EA0000000AF704FC65BEF7003BFFB2F7003BFECF -:10EA1000A20004FC67EE200EC0001EA03F500007BD -:10EA2000F04FFFFFFFF13F722222200EC0000200D4 -:10EA300004FD87AF50003AEFD600005DFC002FB513 -:10EA40007004F3000CFFFFA048F753005F3000058F -:10EA5000F300005F300005F300005F300005F300B5 -:10EA6000005F3000003BFFB2E904FE87CFF90ED112 -:10EA7000000AF93F600001F94F400000F93F6000D3 -:10EA800001F90ED00009F904FD87CFF8003BFFB370 -:10EA9000F700000005F409E977AFB0017CFFD8006A -:10EAA0008F00000008F00000008F00000008F2BF97 -:10EAB000EA108FFB89FD08F80006F48F10001F781C -:10EAC000F00000F88F00000F88F00000F88F0000C1 -:10EAD0000F88F00000F89E1AF20008F08F08F08FFF -:10EAE00008F08F08F08F08F00007E20009F300003B -:10EAF000000007F10007F10007F10007F10007F13E -:10EB00000007F10007F10007F10007F10008F01815 -:10EB10006EC03EFC208F00000008F00000008F0057 -:10EB2000000008F0001DD18F001DE208F01DE2007A -:10EB30008F2DF30008FEFF70008FE2BF3008F20156 -:10EB4000EE108F0003FB08F00007F78F8F8F8F8F79 -:10EB50008F8F8F8F8F8F8F8E3CFE913BFEA208FF91 -:10EB6000969FCFC68FD08F70009FC0005F58F10076 -:10EB700005F60001F78F00004F40000F88F00004F9 -:10EB8000F40000F88F00004F40000F88F00004F4FC -:10EB90000000F88F00004F40000F808E3BFEA10860 -:10EBA000FFA68FD08F80006F48F10001F78F000023 -:10EBB0000F88F00000F88F00000F88F00000F88F39 -:10EBC00000000F80003BEFC40004FD87CF600ED033 -:10EBD000000BF13F600003F54F300001F73F60008C -:10EBE00003F50ED0000BF104FD77CF60003BEFC4BE -:10EBF000008E3BFEB3008FFB57DF308F90000DC0BF -:10EC00008F100007F18F000005F38F200007F18FB0 -:10EC1000A0001ED08FEC78EF308F2BFEB3008F005A -:10EC20000000008F000000008F00000000003BFF8C -:10EC3000A2F704FD87DEF70ED0000BF73F6000035C -:10EC4000F74F300001F73F600003F70ED0000BF7DD -:10EC500004FD77CEF7003BFFA3F700000001F700AB -:10EC6000000001F700000001F78E2BF08FED908F70 -:10EC7000A0008F20008F00008F00008F00008F0009 -:10EC8000008F000002AEFD911ED769D04F3000000A -:10EC90002FB4100006EFFD6000015BF5010000F7E6 -:10ECA0005FA76BF319DFEC4005F300005F3000CF86 -:10ECB000FFFA048F753005F300005F300005F300A4 -:10ECC000005F300004F400001FC680005DFC10AE41 -:10ECD00000002F5AE00002F5AE00002F5AE00002BB -:10ECE000F5AE00002F59F00004F56F3000AF51EE83 -:10ECF00076BFF502BEFB3F500DC00000CB06F20010 -:10ED000002F500F90009E0009E000F80002F606FFF -:10ED100010000CC0CB000005F6F4000000EFD0009E -:10ED200000008F7000BB00009F10004F16F1000E16 -:10ED3000F60009C00F6005FCB000F600AC00AB5F48 -:10ED4000105F1005F10F50F70AB0000F76F009C000 -:10ED5000F50000ACBA004F8F000004FF4000EFA0A8 -:10ED600000000EE00008F400004F70009F208F307C -:10ED70005F5000CD2E900002FFD000000AF6000088 -:10ED800004FDE10001EB0DC000BE103F806F4000AC -:10ED90007F400DC00000CB06F30002F400EA00093A -:10EDA000D0008F101F70001F707F10000AE0D90084 -:10EDB0000003F9F2000000CFB00000006F40000037 -:10EDC00000AD00001C79F500001AEE7000004FFF46 -:10EDD000FFF915555BF400004F800001EC00000BBB -:10EDE000E100008F400004F700001EE555535FFF6F -:10EDF000FFFC002CF500AF6100CC0000DB0000DB65 -:10EE00000000DB0002EA001FF40005FA0000DB004E -:10EE100000DB0000DB0000CC0000AF61002CF55FE0 -:10EE200015F15F15F15F15F15F15F15F15F15F15D4 -:10EE3000F15F15F15F10BE8003AF4001F6001F7057 -:10EE400001F7001F7000F9000AFB00FB201F700192 -:10EE5000F7001F7001F603AF40BE900000000000F5 -:10EE6000003DE400B50C86F51E20F003EF90020093 -:10EE700000100002CE900D40893B000E3B000E0DAD -:10EE8000408902CE900008F8EFE7F700000000008C -:10EE900000000000000000000049DC000000001637 -:10EEA000BFFFFF0000038DFFFFFFFF0000CFFFFF4C -:10EEB000FFFFFF0000FFFFFFFFC7FF0000FFFFEAAB -:10EEC0005100FF0000FF83000000FF0000FF000072 -:10EED0000000FF0000FF00000000FF0000FF000036 -:10EEE0000000FF0000FF00002BFFFF0000FF0000FC -:10EEF000DFFFFF2BFFFF0000DFFFFDDFFFFF000054 -:10EF00002BFFB2DFFFFD00000000002BFFB200006E -:10EF1000000000D00FFFFFFFFFF00DFFFFC8888843 -:10EF20008CFFFFF00F80000008F00FF00F80000052 -:10EF300008F00FFFFF80000008FFFFF00FECCCCCC3 -:10EF4000CEF00FF00FECCCCCCEF00FFFFF80000026 -:10EF500008FFFFF00F80000008F00FF00F800000A6 -:10EF600008F00FFFFFC888888CFFFFD00FFFFFFF5E -:10EF7000FFF00DDFFF73FFFFFFFFFDFFFFA5FFFFAA -:10EF8000FFFFFFFFFFA5FFFFFFFFFFDFFF73FFFF97 -:10EF9000FFFFFD0000000000000000DFFF73FFFF27 -:10EFA000FFFFFDFFFFA5FFFFFFFFFFFFFFA5FFFF27 -:10EFB000FFFFFFDFFF73FFFFFFFFFD00000000000A -:10EFC000000000DFFF73FFFFFFFFFDFFFFA5FFFF56 -:10EFD000FFFFFFFFFFA5FFFFFFFFFFDFFF73FFFF47 -:10EFE000FFFFFD0000000000000AB100000000006B -:10EFF00000BFFC00000000000BFFFB000000000051 -:10F00000BFFFC01BA000000BFFFC00CFFB0000BF38 -:10F01000FFC000BFFFB00BFFFC00000CFFFBBFFFF9 -:10F02000C0000000CFFFFFFB000000000CFFFFB09E -:10F030000000000000BFFB0000000000000BB0005B -:10F04000000000030000000308FC10001CF8FFFC97 -:10F05000101CFFF5FFFC2CFFF505FFFFFFF5000579 -:10F06000FFFFF500001DFFFD10001CFFFFFC101C42 -:10F07000FFF9FFFC1CFFF505FFFCDFF50005FFD1E4 -:10F08000A4000004A10000004FE0000000000210F6 -:10F090006FF1031000005FD06FF13FD10003FFF16B -:10F0A0006FF15FFD000DFF406FF109FF704FF7003A -:10F0B0006FF100CFE09FF0006FF1005FF3BFC00081 -:10F0C0006FF1002FF5BFC0004FE0001FF6AFE0006A -:10F0D0000000004FF46FF400000000AFF00FFE10CE -:10F0E000000005FFA006FFD300007FFF20009FFF68 -:10F0F000DABEFFF4000006FFFFFFFD30000000173E -:10F10000BDCA5000000000008BB8000000000000E5 -:10F11000FFFF000000003006FFFF60030004FDDF7A -:10F12000FFFFFDEF400DFFFFFFFFFFFFD04FFFFF91 -:10F13000F99FFFFFF408FFFF2002FFFF8000FFF9A7 -:10F1400000009FFF0000FFF900009FFF0008FFFF85 -:10F150002002FFFF804FFFFFF99FFFFFF40DFFFF2D -:10F16000FFFFFFFFD004FEDFFFFFFDDF40003006A2 -:10F17000FFFF600300000000FFFF00000000000030 -:10F180008BB800000000000003DD303FF3000000FA -:10F19000006FFFF54FF400000009FF99FFBFF40076 -:10F1A0000001BFF6226FFFF400002DFE35FF53EF84 -:10F1B000F40004FFC18FFFF82DFE407FFA1AFFFF15 -:10F1C000FFA1AFF7CF82DFFFFFFFFD28FC140EFF8A -:10F1D000FFFFFFFFE041000FFFFFFFFFFFF0000018 -:10F1E0000FFFF9008FFFF000000FFFF8008FFFF016 -:10F1F00000000FFFF8008FFFF000000EFFF6006F19 -:10F20000FFE000000000DFFD000000000000FFFF45 -:10F21000000000000000FFFF000000000000FFFFF2 -:10F22000000000000000FFFF000000000000FFFFE2 -:10F23000000000004FFFFFFFFFF400000BFFFFFF87 -:10F24000FFB0000000BFFFFFFB000000000BFFFF4E -:10F25000B00000000000BFFB000000DFFFFC1BB19E -:10F26000CFFFFDFFFFFFC22CFFFFFFFFFFFFFFFFF0 -:10F27000FFFFFFFFFFFFFFFFF0E0FFDFFFFFFFFFEC -:10F28000FFFFFD0004EFFFFFFFFE4000001EFFFF39 -:10F29000FFFFFFE10000AFB00000000BFA0005FF28 -:10F2A0001000000001FF501EF600000000006FE19A -:10F2B000AFB000000000000BFAFFFFFF800008FF66 -:10F2C000FFFFFFFFFFF1001FFFFFFFFFFFFFFFFF3B -:10F2D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E -:10F2E000FFFFFFFFFFFF8FFFFFFFFFFFFFFFF800A4 -:10F2F0000006BDDA5002FF0005EFFFFFFE42FF00EF -:10F300007FFFA77BFFF9FF05FFC100002CFFFF0E69 -:10F31000FC00000222DFFF5FF200000FFFFFFF8F03 -:10F32000B000000FFFFFFF00000000000000000021 -:10F3300000000000000000FFFFFFF000000BF8FFDE -:10F34000FFFFF000002FF4FFFD22200000CFE0FFC0 -:10F35000FFC200002CFF40FF9FFFB76AFFF700FFCE -:10F3600024DFFFFFFE5000FF2005ACDB6000000043 -:10F370000000000000008D000008FF00008FFFDF8C -:10F38000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D -:10F39000FFFFFFDFFFFFFF00008FFF000008FF00FF -:10F3A00000008D00000000000000000000000000D0 -:10F3B0008D0000000008FF000000008FFF0000CF5C -:10F3C000FFFFFF0150FFFFFFFF06F7FFFFFFFF00FA -:10F3D000BEFFFFFFFF00AEFFFFFFFF05F8DFFFFFEF -:10F3E000FF026000009FFF0000000009FF00000016 -:10F3F00000009E000000000000000000000000006F -:10F40000000610000000000000001FD200000000F5 -:10F410008D000003EE10000008FF000AB12FB000BD -:10F42000008FFF0005FC07F4DFFFFFFF02505F6065 -:10F43000F9FFFFFFFF06F70DC0BDFFFFFFFF00AEA6 -:10F4400009F09FFFFFFFFF00AE09F08FFFFFFFFFF6 -:10F4500006F70DC0ADDFFFFFFF02505F60E900005F -:10F460008FFF0005FC06F4000008FF000AB12FB072 -:10F470000000008D000002EE100000000000001FE0 -:10F48000D2000000000000000610008FFFFFFFFF09 -:10F49000FFFFF8FFFCFFFFFFFFFFFFFF202FFFFF35 -:10F4A000FFFFFFFC000CFFFFEEFFFFFF202FFFFE22 -:10F4B00022EFFFFFFCFFFFE2002EFFFFFE4EFE20CB -:10F4C0000002FFFFE202C2000000FFFF2000000078 -:10F4D0000000FFFF000000000000FFFFFFFFFFFF34 -:10F4E000FFFFFF8FFFFFFFFFFFFFF800000000009E -:10F4F000FF300001CCFF40002DFFFF4003EFFFFF76 -:10F50000403FFFFFFF44FFFFFFFF9FFFFFFFFFFFA5 -:10F51000FFFFFFFFFFFFFFFFFFAFFFFFFFFF45FF05 -:10F52000FFFFFF404FFFFFFF4003EFFFFF40002EB4 -:10F53000FFFF300001CC00000000000000000000D0 -:10F5400000008F910000000000FFFF70000000002D -:10F55000FFFFFD40000000FFFFFFFA100000FFFF6B -:10F56000FFFFF70000FFFFFFFFFFD500FFFFFFFFDA -:10F57000FFFFB2FFFFFFFFFFFFFDFFFFFFFFFFFFEA -:10F58000FDFFFFFFFFFFFFB2FFFFFFFFFFD500FF03 -:10F59000FFFFFFF70000FFFFFFFA100000FFFFFD75 -:10F5A00040000000FFFF70000000008EA10000007E -:10F5B000000000000000000000000000000000004B -:10F5C0008FFFF8008FFFF8FFFFFF00FFFFFFFFFF37 -:10F5D000FF00FFFFFFFFFFFF00FFFFFFFFFFFF0038 -:10F5E000FFFFFFFFFFFF00FFFFFFFFFFFF00FFFF29 -:10F5F000FFFFFFFF00FFFFFFFFFFFF00FFFFFFFF19 -:10F60000FFFF00FFFFFFFFFFFF00FFFFFFFFFFFF08 -:10F6100000FFFFFFFFFFFF00FFFFFF7FFFF7007FFF -:10F62000FFF78FFFFFFFFFFFF8FFFFFFFFFFFFFF69 -:10F63000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA -:10F64000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA -:10F65000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA -:10F66000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA -:10F67000FFFFFFFFFFFFFFFFFFFFFFFFFF8FFFFF0A -:10F68000FFFFFFF80000000000CC100003FFFFD2D6 -:10F690000004FFFFFE3004FFFFFFF404FFFFFFFF45 -:10F6A00054FFFFFFFFF9FFFFFFFFFFFFFFFFFFFF1B -:10F6B000FFFFFFFFF9FFFFFFFF44FFFFFFF304FF22 -:10F6C000FFFE3004FFFFD20004FFCC100003FF0058 -:10F6D000000000000000002DD2000000000001EF3B -:10F6E000FE10000000001DFFFFD100000000CFFF52 -:10F6F000FFFC0000000BFFFFFFFFB00000AFFFFFAB -:10F70000FFFFFA0009FFFFFFFFFFFF900FFFFFFF62 -:10F71000FFFFFFF008FFFFFFFFFFFF80000000007A -:10F72000000000000CFFFFFFFFFFFFC00FFFFFFF07 -:10F73000FFFFFFF00FFFFFFFFFFFFFF00CFFFFFFDA -:10F74000FFFFFFC00000001A40000001DFF00000D2 -:10F750001DFFA00001DFFA00001DFFA00001DFFA7D -:10F7600000000CFFA000000DFF80000001DFF8008A -:10F7700000001DFF80000001DFF80000001DFF8079 -:10F78000000001DFF00000001B5004A10000000F8A -:10F79000FD1000000AFFD1000000AFFD1000000ABC -:10F7A000FFD1000000AFFD1000000AFFC0000008FC -:10F7B000FFD000008FFD100008FFD100008FFD106A -:10F7C0000008FFD100000FFD10000005B10000008F -:10F7D000000004FF400000000008FF80000000005F -:10F7E00008FF800000000008FF800000000008FF04 -:10F7F00080000048888CFFC88884FFFFFFFFFFFF60 -:10F80000FFFFFFFFFFFFFFFF48888CFFC8888400D1 -:10F810000008FF800000000008FF800000000008D2 -:10F82000FF800000000008FF800000000004FF408F -:10F83000000014444444444441EFFFFFFFFFFFFE37 -:10F84000FFFFFFFFFFFFFF7BBBBBBBBBBBB70000E6 -:10F8500005ADFFDA5000000004DFFC88CFFD40005A -:10F86000007FFE400004EFF70007FFF4009E804F8A -:10F87000FF704FFFC000AFF80CFFF4DFFF809AFF6E -:10F88000FE08FFFDDFFF80EFFFFE08FFFD4FFFC01A -:10F890008FFFF80CFFF407FFF408EE804FFF7000B5 -:10F8A0007FFE400004EFF8000004DFFC88CFFD403D -:10F8B00000000005ADFFDA5000008C2000000000C1 -:10F8C00000000000DFE400000000000000001BFF5B -:10F8D0008049DFFDA5000000007FFFFFD88CFFD42A -:10F8E00000000004EFF800004EFF700000001CFF55 -:10F8F00069E804FFF70004E3009FFEFF80CFFF40AC -:10F900000DFF7005FFFFE08FFFD00DFFF7002DFF0B -:10F91000E08FFFD004FFFC0000AFF8CFFF30007F86 -:10F92000FF400006FFFFF7000008FFF400003EFF65 -:10F93000A00000004DFFC88201BFF7000000005A80 -:10F94000DFFC1008FFA000000000000000004EFDDA -:10F95000000000000000000002C8000000002DD2DE -:10F960000000000000000000BFFB000000000000DD -:10F970000005FFFF500000000000000DFFFFD00059 -:10F9800000000000007FFFFFF7000000000001FF03 -:10F99000D88DFF10000000000AFFA00AFFA00000A1 -:10F9A00000003FFFB00BFFF300000000CFFFC00CD2 -:10F9B000FFFC00000005FFFFD00DFFFF5000000E10 -:10F9C000FFFFF99FFFFFE000008FFFFFE22EFFFF28 -:10F9D000F80002FFFFFF9009FFFFFF100AFFFFFF83 -:10F9E000E33EFFFFFFA00FFFFFFFFFFFFFFFFFF062 -:10F9F00008FFFFFFFFFFFFFFFF8000000000000087 -:10FA00000000000000000000D8000000000000001E -:10FA1000FF80FFFF700007FFFFF8FFFFF6006FFF9A -:10FA2000FFFD788EFF15FFE8FFE20002E54FFE20A4 -:10FA3000FE20000013FFF300520000003FFF3100E2 -:10FA400052000002EFF45E20FE20788EFF51FFE8A6 -:10FA5000FFE2FFFFF6006FFFFFFDFFFF700007FFF3 -:10FA6000FFF8000000000000FF8000000000000020 -:10FA7000D8000000000000000000000000000000AE -:10FA800000000001DD10000000001DFFD10000009B -:10FA900001DFFFFD1000001DFF99FFD10001DFF91C -:10FAA000009FFD101DFF900009FFD1BFF90000006D -:10FAB0009FFB5F9000000009F500000000000000BF -:10FAC000000000000000005F9000000009F5BFF991 -:10FAD0000000009FFB1DFF900009FFD101DFF9002E -:10FAE0009FFD10001DFF99FFD1000001DFFFFD10F9 -:10FAF0000000001DFFD10000000001DD100000002B -:10FB000000000000000000000000000000000000F5 -:10FB1000001DD10000000000000001DFFD10EFFF1C -:10FB2000FFFFD0001DFFFFD1AFFFFFFFF000CFCFE1 -:10FB3000FCFC0000000FF0006B1FF1B60000000F8E -:10FB4000F000000FF0000000000FF000000FF000C8 -:10FB50000000000FF000000FF00000006B1FF1B676 -:10FB6000000FF0000000CFCFFCFC000FFFFFFFFAFA -:10FB70001DFFFFD1000DFFFFFFFE01DFFD100000A4 -:10FB800000000000001DD100000000000000000087 -:10FB900000008FFFFFE200000000FFFFFFFE2000DB -:10FBA0000000FFFFFFFFFFFFFFF8FFFFFFFFFFFF6A -:10FBB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55 -:10FBC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45 -:10FBD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35 -:10FBE000FFFFFFFFFFFFFFFFFFFF8FFFFFFFFFFF95 -:10FBF000FFF80000000BB0000000000000BFFB0099 -:10FC0000000000000BFFFFB000000000BFFFFFFB83 -:10FC10000000000BFFFFFFFFB000004FFFFFFFFFE2 -:10FC2000F400000000FFFF000000000000FFFF00E4 -:10FC30000000000000FFFF000000000000FFFF00C8 -:10FC40000000000000FFFF000000DFFFF0DFFD0FFD -:10FC5000FFFDFFFFF900009FFFFFFFFFFFFFFFFF1A -:10FC6000FFFFFFFFFFFFFFF0E0FFDFFFFFFFFFFFF2 -:10FC7000FFFD000000000000000000000000000088 -:10FC80000AEA62000000000002FFFFF0000000002E -:10FC9000009FFFFF00000000000FFFFFD0000000EA -:10FCA0000002FFFFFB000000000003EFFF700000F8 -:10FCB00000000004FFF2000000000000BFFB000095 -:10FCC000000000006FFF3000000200004FFF9000B6 -:10FCD000028FF3006FFFD0000AFFFFE4BFFFD100E7 -:10FCE00000EFFFFFFFFFD100000AFFFFFFFF9000C2 -:10FCF00000006FFFFFFB3000000002FFDB7200001E -:10FD000000000008EE800000066108FFFF80002D63 -:10FD1000FFD0EF33FE002EFFF30EF33FE02EFFF394 -:10FD2000008FFFFF6EFFF300008EFFFFFFF3000068 -:10FD30000002EFFFF3000000002EFFFF300000087C -:10FD4000EFFFFFFF300008FFFFF6EFFF3000EF335B -:10FD5000FE02EFFF300EF33FE002EFFF308FFFF8BF -:10FD60000002DFFD008EE800000066100000DFFFEB -:10FD7000FF0D200000FFFFFF0FE20000FFFFFF0F5D -:10FD8000FDDFF0FFFFFF2000FFF0FFFFFFFFFFFFA1 -:10FD9000F0FFFFFFFFFFFFF0FFFFFFFFFFFFF0FFA0 -:10FDA000FFFFFFFFFFF0FFFFFFFFFFFFF0FFFFFF81 -:10FDB000FFFFFFF0FFFFFFFFFFFFF0FFFFFFFFFF71 -:10FDC000FFF0DFFFFFFFFDFFF90000000000FFFF75 -:10FDD000FFFFFF0000DFFFFFFFFD00008FFFFFFFC1 -:10FDE000FFC200FFFFFFFFFFFE20FF00000001FF3A -:10FDF000E2FF00000000FFFCFF00000000FFFFFF2B -:10FE000000000000FFFFFFFFFFFFFFFFFFFFFFFFFE -:10FE1000FFFFFFFFFFFFFB11BFFFFFFFFFF1001F11 -:10FE2000FFFFFFFFF1001FFFFFFFFFFB11BFFFFF01 -:10FE3000FFFFFFFFFFFFFF8FFFFFFFFFFFF800DF68 -:10FE4000FFFD000001FFFFFC000003FFFFF70000C3 -:10FE500006FFFFF2000008FFFFD000000AFFFFFFCF -:10FE6000FFD00CFFFFFFFFA00EFFFFFFFF200DFFE5 -:10FE7000FFFFF80000000AFFE00000000EFF500046 -:10FE800000002FFC000000005FF3000000009FA0B6 -:10FE900000000000DF1000000000D7000000000498 -:10FEA000EE40000000DFFF99FFFD0000FFFF99FF1B -:10FEB000FF0000FFFFFFFFFF0000FFFF90000000BA -:10FEC00000FFFF0DFFFF0D20FFFF0FFFFF0FE2FF01 -:10FED000FF0FFFFF0FFDFFFF0FFFFF2000FFFF0FD2 -:10FEE000FFFFFFFFFFFF0FFFFFFFFFFFFF0FFFFF02 -:10FEF000FFFFDFFF0FFFFFFFFF00000FFFFFFFFF10 -:10FF000000000FFFFFFFFF00000DFFFFFFFD0000DF -:10FF100000CC000000000002FF3000000001BFFF25 -:10FF2000FC2000001EFFFFFFE100009FFFFFFFF825 -:10FF30000000EFFFFFFFFD0000FFFFFFFFFF0001DC -:10FF4000FFFFFFFFFF0003FFFFFFFFFF3008FFFF82 -:10FF5000FFFFFF801EFFFFFFFFFFE1CFFFFFFFFF5F -:10FF6000FFFCCFFFFFFFFFFFFC00000000000000D0 -:10FF700000000EFFE00000000004EE4000008FFFD4 -:10FF8000FFFFFFFFFFFFF8FFFFFFFFFFFFFFFFFF88 -:10FF9000FF00F00F00F00F00FFFF00F00F00F00F68 -:10FFA00000FFFFFFFFFFFFFFFFFFFFFFF808808854 -:10FFB00008808FFFFFF808808808808FFFFFFFFF11 -:10FFC000FFFFFFFFFFFFFF00F00000000F00FFFF3B -:10FFD00000F00000000F00FFFFFFFFFFFFFFFFFF2B -:10FFE000FF8FFFFFFFFFFFFFFFF800000000000092 -:10FFF00000000000000000000003AF7000000000DF +:1090D000FFF79EB800200F4B9847C0EB00105030B0 +:1090E0000D4B83FB0023C217C2EBA31212B2FFF792 +:1090F0008FB80020074B9847C0EB0010400050305D +:10910000054B83FB0023C217C2EBA31212B2FFF779 +:109110007FB800BF3D0F0100676666662DE9F04726 +:10912000A4B007460E461446B54B98470546022C98 +:109130000DD0002C40F0FA81B0F90A30002B00F07D +:10914000F381B0F90830002B73D10120F1E1022244 +:1091500000213846AB4B984708B10320E9E12A7D4E +:1091600002F00303023BDBB2012B40F20F8202F05C +:10917000F802202A03D0082A01D00220D9E10622D1 +:10918000002138469F4B9847AB89C34201D102204A +:10919000CFE10722002138469A4B98476B8A00FBA3 +:1091A00003F31B12B3F5807F08D0002207F11001F2 +:1091B0003046954B984788BB0220BAE13846934B1E +:1091C000984704463846924B98470E3501954FF420 +:1091D000807300930023024621460FA88D4CA047C0 +:1091E0003A8ABDF83C301344ADF83C307B8ABDF878 +:1091F0003E101944ADF83E10BDF840100A44ADF8D9 +:109200004020BDF842201344ADF8423000220FA99F +:1092100030467D4B984708B902208AE148F2AC02FB +:10922000002138467C4B9847FF2814BF02200120BC +:109230007FE102A93846794B98470FA8784B9847A9 +:109240000FAA00213846774B984733220021384631 +:109250006C4B984710B100238DF850300722002145 +:109260003846684B98476B8A00FB03F0041201D123 +:1092700000205EE1062200213846DFF88881C047E1 +:10928000B5F80C908144A4B2BDF80E200132BDF8AF +:109290000A30D21ABDF80C100131BDF80830C91AD5 +:1092A00005F10E03019300940FFA89F312B209B28B +:1092B00004A8DFF860A1D047BDF80820BDF8103041 +:1092C0001344ADF81030BDF80A30BDF8121019443F +:1092D000ADF81210BDF814100A44ADF81420BDF812 +:1092E00016201344ADF81630122200213846C0472C +:1092F000BDF81030181AADF81000132200213846BE +:10930000C047BDF814301844ADF8140010220021F5 +:109310003846C047BDF81230181AADF812001122B5 +:1093200000213846C047BDF816301844ADF8160085 +:109330000FAA314604A83C4B984702220021384628 +:10934000C047C8B92B7D03F00303012B2AD9022B98 +:1093500000F0D180354B0093354B40F2BB223549AC +:109360000220354CA04700231A46314607F1100071 +:10937000324CA0470020DCE01C20314B984780464F +:109380000122002138461F4B98470023024604A9BA +:109390004046DFF8BCA0D04707F518714046294B7E +:1093A0009847CFE7BDF80820AB881A4492B210B2B4 +:1093B000ADF80800BDF80A30E9880B449BB219B239 +:1093C000ADF80A10B7F910E0864503DA2889121AB9 +:1093D000ADF80820B7F912208A4203DA6A899B1A8D +:1093E000ADF80A3008A8184B984708AA002138465B +:1093F000164B9847ADF8284064BB002099E000BFA9 +:109400009D4D0000D54400006D1701005D2F000048 +:10941000AD2F000065EC00000D460000412E00005D +:1094200069C20000C550000031C30000E0500200D6 +:1094300090950200B89602005D220100E9960000B6 +:109440003D290100C1BD000045960000695700009C +:109450002DC00000ADF82290EB89ADF824302B8AA6 +:10946000ADF826306A7D9DF82F3062F300038DF849 +:109470002F30BDF90A30ADF81A305A1E69890A44F6 +:10948000ADF81E20BDF90E209A42FFF673AF404C96 +:10949000BDF90830ADF818305A1E29890A44ADF8D4 +:1094A0001C20BDF90C209A4214DB08AB2A68314617 +:1094B00006A8A0472A89BDF8183013441BB2ADF89E +:1094C0001830BDF81C100A44ADF81C20BDF90C2062 +:1094D0009A42EADA6A89BDF81A3013441BB2ADF831 +:1094E0001A30BDF81E100A44ADF81E20BDF90E203A +:1094F0009A42CDDA3EE708A8264B984708AA0021F1 +:109500003846254B984748F2A90200213846234B9C +:109510009847ADF820002B680022009208AA314637 +:1095200002A81F4CA04725E7012002E0012C03D030 +:10953000002024B0BDE8F087022200213846194BF4 +:10954000984750B90FA8184B984733220021384646 +:10955000144B984740B90020EBE707F51870134B00 +:109560009847134B9847EDE700218DF848108DF888 +:1095700072108DF864100FAA38460E4B98470FAA48 +:10958000314607F110000C4B9847E4E70220D0E782 +:10959000E9960000CD990000B15600008145000019 +:1095A000259A0000D544000069C2000091BE000069 +:1095B00071250100C550000031C3000030B583B0F3 +:1095C00004460C4B984768B90B4B00934FF4E77275 +:1095D0000A4903200A4DA8472246002309480A49A0 +:1095E0008847FEE72046094B9847007DC0F380007E +:1095F00003B030BDB122000008960200B896020008 +:109600005D2201003C480200B92200009D4D00008F +:109610002DE9F04786B005460E467C4B984760B969 +:109620007B4B00938F227B4903207B4CA0472A462B +:1096300000237A487A498847FEE73046794B9847B5 +:1096400007462846784B98470446022F3AD8032FFE +:1096500042D005A93046754B9847002F55D07B1E48 +:10966000DBB2012B66D9022F00F09980217D67F3D0 +:109670000101059AC2F38A222281BDF81630C3F394 +:109680004A1363819DF8140060F3C7012175C2F38A +:109690004902E281C3F3490323822846644B984779 +:1096A000002840F0AA80A3891BB9638AB3F5807FA4 +:1096B00002D028465F4B984728465F4B984706B034 +:1096C000BDE8F0875D4B0093514BA0225149022029 +:1096D000DFF84481C047BAE7594B00934C4BA622B0 +:1096E0004C4902204C4DA847237D03F00303013B66 +:1096F000DBB2012B02D82068524B9847002323602D +:10970000237D43F003032375D9E74F4B0093404B70 +:10971000B42240490120DFF80081C047237D03F0D7 +:109720000303013BDBB2012B02D82068454B98476D +:1097300026609BE7D4F80080464594D0237D03F053 +:109740000303013BDBB2022B28BF4FF00008304679 +:109750003E4B984701303E4B984781462B4B9847EC +:1097600060B92B4B0093C7222A4903202A4CA047FB +:109770004A46002337482A498847FEE7B9F1000FD7 +:109780009DD031464846344B9847C4F80090B8F114 +:10979000000F3FF468AF40462A4B984763E748F212 +:1097A0008E02002128462D4B9847814648F28002C0 +:1097B00000212846DFF8B080C047824648F2810287 +:1097C00000212846C0470023029347F6184301931F +:1097D000009053464A46314604A8214EB047059BA7 +:1097E000BDF8102062F3942305931B0CBDF81220E2 +:1097F00062F34F13ADF8163038E7B4F90A20B4F924 +:1098000008102846174B98474DE700BFB1220000CB +:1098100020960200B89602005D2201003C4802003A +:10982000B9220000699900009D4D0000EDFD000087 +:10983000BD9501002D2C000021330000E4960200AC +:1098400004970200C5240100289702001FB50100FB +:10985000DD230100D83F02000FB50100A146000042 +:109860007D400100A1420000D54400002DE9F041F7 +:1098700082B080460F46584B98470546574B98474D +:10988000D0B1002D00F08680554B1B680BB318211A +:109890002846544B98470446504B9847F8B9524BCA +:1098A0000093492251490320514DA84722460023E5 +:1098B000504851498847FEE74B4B009342224B49A1 +:1098C00003204B4CA0472A4600234A484A49884770 +:1098D000FEE72846494B9847414B1860D7E7002CD4 +:1098E0005CD000262660237D43F0030366F3C703A4 +:1098F00023752846424B984720812846414B98477C +:109900006081A6814FF480736382637D43F001031D +:109910006375237D43F004032375A680E680E6810A +:10992000268239492846394B984739492846394BC8 +:109930009847002F37D03846374B9847037DC3F3FD +:109940008003227D63F382022275438A63828389C6 +:10995000A381427D637D62F300036375B0F9043037 +:10996000A380B0F90630E380B0F90E30E381B0F99E +:109970001030238201682846284B9847FF2128464B +:10998000274B9847274B0093174B7F2217490120FD +:10999000174CA047284602B0BDE8F0812846224B6C +:1099A00098470025F6E70F212846204B9847314677 +:1099B00028461F4B9847012128461E4B9847B8F16F +:1099C000000F04D0237D43F004032375DAE7237DE1 +:1099D0006FF382032375D5E7253E0000B122000016 +:1099E000FC6B0020D12B000030960200B8960200DC +:1099F0005D220100D83F0200B9220000554D000051 +:109A00005D2F0000AD2F0000399A01002D2B0000C2 +:109A10001D910100892B00009D4D00001196010051 +:109A2000993A00005C970200654F0000E94101008F +:109A3000A12900004D2900002DE9F04385B007461B +:109A40001546082921D00C46884B1B6898470646C6 +:109A5000012821D1072C2DD03846854B98478046C8 +:109A600074BB037D03F00303013BDBB2012B13D86E +:109A70000068804B98470023C8F8003098F81430ED +:109A800043F0030388F8143006E0137843B900F17B +:109A900028036B6001262BB1304605B0BDE8F0838A +:109AA0000023F6E7714B1B682A4608213846984781 +:109AB0000646F1E770492846704B98470646EBE7A3 +:109AC000042C53D0062C5BD00A2CE5D1438AB3F585 +:109AD000807F00F0C5808289002A40F0C180BA8A68 +:109AE0000132398A521A12B2F98A0131788A091A76 +:109AF00009B203FB02F0FF3048BFFF3040F30F20F4 +:109B0000121A02EBD272541001FB03F3FF3348BF69 +:109B1000FF3343F30F23CB1A03EBD373581007F132 +:109B20000F03173702AA13F8011F02F8011BBB42EB +:109B3000F9D1A2B2BDF808301344ADF80830BDF831 +:109B40000C309A1AADF80C2083B2BDF80A201A44E2 +:109B5000ADF80A20BDF80E20D31AADF80E30002261 +:109B6000296802A8464B9847287195E7037D03F0C2 +:109B70000303022B90D101683846424B98478BE78C +:109B8000072200213846404DA847B8F8123000FBA4 +:109B900003F31C12062200213846A847B8F80C30FF +:109BA00003441BB21BB922B2B2F5807F31D0B8F9A1 +:109BB0000A20B8F9081008F10E000190A4B2009430 +:109BC00002A8324CA047B7F93210BDF90830CB1AC1 +:109BD0008B42B8BF0B461BB2BDF90A208A1A9342CA +:109BE000B8BF13461BB27B86BDF90C200A44B8F9F6 +:109BF0000800121A9342B8BF13461BB27B86BDF908 +:109C00000E200A44B8F90A10521A9342B8BF1346FC +:109C10007B86122200213846DFF86C80C0478146DF +:109C2000132200213846C04704461022002138463E +:109C3000C0470546112200213846C0474C45B8BFF1 +:109C40004C46B7F9323022B29342B8BF1346AB420A +:109C5000B8BF2B461BB29842B8BF184678861BE7A0 +:109C6000296838460A4B9847287115E7FC6B002095 +:109C70009D4D0000C52401006C9702009550000026 +:109C8000B915010011960100D544000065EC0000F3 +:109C90005550000010B5094B98470446437C13F01B +:109CA000010F03D0406808B1054B9847637C6FF300 +:109CB000000363740023636010BD00BF9D4D00006E +:109CC000C5240100F8B507461E4B9847037C03F0F6 +:109CD0000703022B00D0F8BD044601894FF6FF733D +:109CE0009942F8D0184B1B6803390068984706461C +:109CF0003846144B9847437C13F0010F14BF40685B +:109D00000430236803EB060E9B5DC3B100252B4690 +:109D1000425D8EF800200133DBB21D46F218216847 +:109D200001EB020E8A5C002AF2D1435D8EF800300E +:109D30003846064B98474FF6FF732381CBE7002543 +:109D4000F3E700BF9D4D00005C000020959C0100E2 +:109D500038B504460D46034B9847C5812046024B53 +:109D6000984738BD9D4D00002133000038B50446AA +:109D70000D46034B984785812046024B984738BDD6 +:109D80009D4D0000213300002DE9F84306460C46A6 +:109D9000124B9847122200213046114DA8478046A9 +:109DA000132200213046A847814610220021304668 +:109DB000A8470746112200213046A8472388984427 +:109DC000A4F80080A388A3EB0903A38063881F4441 +:109DD0006780E388181AE080BDE8F883412E000010 +:109DE000D5440000F0B583B006460F461546184B23 +:109DF000984704463046174B9847042D1CD9681CD9 +:109E0000154B9847606060B12A463946134B984716 +:109E1000636800225A55637C43F001036374012098 +:109E200014E00F4B00930F4B40F2B5520E49032044 +:109E30000E4CA047002009E0637C6FF300036374BD +:109E40002A463946201D054B9847012003B0F0BD36 +:109E50009D4D0000959C0100DD2301005526010069 +:109E6000C499020074970200949902005D220100D7 +:109E700030B583B004460D46104B984768B9104B77 +:109E800000934FF4C4720F4903200F4DA847224698 +:109E900000230E480E498847FEE720460D4B9847A1 +:109EA000037CC3F30113AB4206D0037C65F30513B7 +:109EB00003742046084B984703B030BDB122000020 +:109EC0008C970200949902005D2201003C48020038 +:109ED000B92200009D4D00002133000030B583B051 +:109EE00004460B4B984768B90A4B00934FF4F27243 +:109EF00009490320094DA84722460023084809497B +:109F00008847FEE72046084B9847006803B030BDFD +:109F1000B1220000D8970200949902005D2201004E +:109F20003C480200B92200009D4D000030B583B0CE +:109F300004460C4B984768B90B4B00934FF4F972E9 +:109F40000A4903200A4DA8472246002309480A4926 +:109F50008847FEE72046094B9847007C00F0070041 +:109F600003B030BDB1220000EC97020094990200CA +:109F70005D2201003C480200B92200009D4D000016 +:109F800030B583B004460E4B984768B90D4B00932B +:109F900040F2FF120C4903200C4DA8472246002333 +:109FA0000B480C498847FEE720460B4B9847007C3E +:109FB000C0F30110032808BF002003B030BD00BF6C +:109FC000B122000004980200949902005D22010071 +:109FD0003C480200B92200009D4D000030B583B01E +:109FE00004460C4B984768B90B4B009340F21B2278 +:109FF0000A4903200A4DA8472246002309480A4976 +:10A000008847FEE72046094B9847007CC0F3801044 +:10A0100003B030BDB12200001898020094990200EC +:10A020005D2201003C480200B92200009D4D000065 +:10A030002DE9F04F8FB0054605919E4B984768B9C2 +:10A040009D4B009340F2A5229C4903209C4CA047C5 +:10A050002A4600239B489C498847FEE7059E3046D8 +:10A06000944B984768B9944B009340F2A6229349C9 +:10A070000320934CA04732460023924892498847D8 +:10A08000FEE70CA92846914B98472846904B9847E5 +:10A09000074628468F4B98470646BDF834300133B3 +:10A0A000BDF830209B1A1BB2069348F28E020021A5 +:10A0B0002846894B98478146039048F28102002147 +:10A0C0002846DFF83082C047044648F2800200216B +:10A0D0002846C0470490B9F908B0337CC3F3801612 +:10A0E00013F0800F18BF46F0020613F0070F08BFE9 +:10A0F00046F010062846794B98478246012837D10A +:10A1000046F004063B78002B3AD1B84600252C4691 +:10A11000611B0096049B039A89B24046DFF8D891F0 +:10A12000C847BDF834300133BDF830209B1A1BB24C +:10A1300003EBD37300EBD0704FEA6009C9EB630304 +:10A140000FFA83F900238DF82F300A93002C40F08A +:10A15000A180634E33680A994046984704463368A5 +:10A16000294638469847204480B20FB0BDE8F08FAA +:10A17000022840F0968046F008063B78002B48D035 +:10A18000B8464FF000094D460BEB0403079309E076 +:10A19000079B99440FFA89F907EB000805463B5CD9 +:10A1A000002B34D00096069B049A039940464D4CF0 +:10A1B000A0472844059BB3F9022009EB0B039A4200 +:10A1C000E6DC04460EA941F8140D474B1B683846DF +:10A1D00098470A2802D03B5D03B90134BAF1010F58 +:10A1E00096D0BAF1020F18D1611B0096049B039A16 +:10A1F00089B24046DFF80091C847BDF834300133DA +:10A20000BDF830209B1A1B1A0FFA83F99AE704460F +:10A21000E4E7B84600252C46E6E74FF0000991E751 +:10A22000079A06990398314B984700EB09039BB2B4 +:10A23000059AB2F900101AB2914228DB0A9A511914 +:10A24000A14224D0795C11B304990B440FFA83F92D +:10A2500093460A9B2B44A342BFF47BAFDAF800304D +:10A260000AA9404698470690DAF8003000210A987B +:10A27000404498470790002ED2D00A9B18F803104C +:10A280000DF12F001A4B98470028E2D1C8E7CDF80E +:10A2900028B05EE74FF0000BDFF860A006F0010683 +:10A2A000D7E73B78002B7FF46BAFB84600252C46F0 +:10A2B000A94647E7B1220000609802009499020085 +:10A2C0005D2201003C480200B9220000899D010086 +:10A2D000DD9E01009D4D0000A1460000819F010010 +:10A2E00064000020B13D0100680000206100010011 +:10A2F000693D0100D5440000DD3F01005800002009 +:10A300002DE9F04F99B00446AF4B98470368002BF6 +:10A3100048D0054616A92046AC4B9847BDF85C606E +:10A320000136BDF85830F61A36B248F28E020021D6 +:10A330002046A74B9847804648F2810200212046DC +:10A34000A44FB847814648F2800200212046B84712 +:10A3500007462B7CC3F3801213F0800F18BF42F026 +:10A36000020213F0070F08BF42F0100229680292A0 +:10A370000196CDF800900346424615A8964EB04788 +:10A380002B7C13F0070310D0032B34D0042B00F0E8 +:10A39000D780022B00F06D81012B00F0FE8120465A +:10A3A0008E4B984719B0BDE8F08F1222002120464D +:10A3B000884EB0470546132200212046B047284466 +:10A3C000BDF854502844ADF8540010220021204616 +:10A3D000B0470546112200212046B0472A18BDF893 +:10A3E0005600024412B2ADF85620BDF95410204672 +:10A3F0007B4B9847D3E705A87A4B984705944FF6CF +:10A40000FF73ADF84830202211464046764B9847FE +:10A4100038444FF47A7303FB00F3688993FBF0F33D +:10A4200003EB43039BB20F931193BDF95420BDF886 +:10A430005C300133BDF858105B1A9BB219B28A42E6 +:10A4400037DD9B1A1AB200210B910C92674E0696CB +:10A450006889674B98470D90109031462046654BB0 +:10A46000984718B3426A90F83C3003F001030D9905 +:10A470008A4211DA0E929DF84A206FF300028DF89D +:10A480004A204BB19DF8503043F001038DF8503015 +:10A490000B9B0C9A0B920C9305A8574B9847574966 +:10A4A0002046574B98470023EB8178E700231A4654 +:10A4B000DDE74E492046524B98470023AB81BDF95A +:10A4C0005620BDF85E300133BDF85A105B1A9BB2BE +:10A4D00019B28A42E3DD9A1AB8F80830D21A12B2D9 +:10A4E00000210B910C92454E06966889404B984787 +:10A4F0000D901090314620463E4B9847E8B1426A95 +:10A5000090F83C3003F001030D998A4211DA0E9263 +:10A510009DF84A206FF300028DF84A204BB19DF858 +:10A52000503043F001038DF850300B9B0C9A0B9286 +:10A530000C9305A8304B984731E700231A46E3E710 +:10A5400005A8284B984705944FF6FF73ADF848309F +:10A55000BDF85C300133BDF858209B1ABDF954207A +:10A560001BB29A4250DD2022114640461E4B9847AE +:10A57000C0EB803300EB8302BDF85430D21A12B224 +:10A5800000210B910C92194E06966889184B98473A +:10A590000D9031462046174B9847002832D0436A29 +:10A5A0000D9A934206DA0E939DF84A306FF300033A +:10A5B0008DF84A3005A8104B984710492046104B9B +:10A5C00098470023EB81EAE69D4D0000899D01003C +:10A5D000A1460000D54400007D4001002133000069 +:10A5E000A1420000E5120100610001006D9D010023 +:10A5F0009114010055140100A1130100519D0100A7 +:10A60000291301000023CBE76E4920466E4B984783 +:10A610000023AB81BDF95620BDF85E300133BDF893 +:10A620005A105B1A1BB29A42C7DDB8F808301A44B8 +:10A63000524212B200210B910C92644E0696688928 +:10A64000634B98470D9031462046624B984770B156 +:10A65000436A0D9A934206DA0E939DF84A306FF3DF +:10A6600000038DF84A3005A85B4B984797E6002316 +:10A67000EFE7BDF85E300133BDF85A209B1ABDF9F3 +:10A6800056201BB29A4203DC4FF6FF732B8186E6FD +:10A69000524B1B6828689847032803D84FF6FF736E +:10A6A0002B817CE6BDF85C600136BDF85830F61AA7 +:10A6B000B6B22E2211464046494B98473844C0EB6B +:10A6C000803300EB83003044ADF81000BDF85E30FD +:10A6D0000133BDF85A209B1A9BB218B2B8F9082072 +:10A6E0004A4490FBF2F102FB11029B1AA3EB090909 +:10A6F000ADF8129004A920463A4B98478046074689 +:10A700002E683046384B98478146384B1B68414687 +:10A71000304698470646059000F10308C1450ED221 +:10A72000DFF8DCA028683044DAF800309847059E4E +:10A73000361A0596013F06F10308C145F2D34FF0E2 +:10A74000040A4FF00009DFF8B8B02868059B1844E8 +:10A75000DBF80030984781445FFA89F905A9286839 +:10A76000234B1B689847BAF1010AEED129684A4683 +:10A77000314420461F4B984700283FF410AEF11C8F +:10A780002E222B689A5501368E42FAD12B68002270 +:10A7900003F8082003372F8101E61022002120460C +:10A7A000154EB0470546112200212046B047291812 +:10A7B000BDF85600014409B2ADF8561020460F4BC3 +:10A7C0009847ECE56D9D010029130100519D0100A2 +:10A7D0009114010055140100A11301006000002034 +:10A7E0006100010031A001001FB501005C000020E4 +:10A7F00058000020E59D0100D5440000B54300004D +:10A8000054000020F0B583B006460D46404B9847F3 +:10A8100060B9404B0093B8223F4903203F4CA0470A +:10A82000324600233E483F498847FEE730463E4BCC +:10A83000984730463D4B9847044605B32846344B6D +:10A84000984708B32768BD422BD01FB1237C13F073 +:10A85000080F49D02846364B98470130354B98476A +:10A8600020602B4B9847002844D0206850B12946DF +:10A87000314B9847237C6FF3C303237430E0304699 +:10A880002E4B984703B0F0BD224B0093C4222249BF +:10A890000320224CA0472A4600232148214988470B +:10A8A000FEE7237C13F0080FD4D13846204B98479D +:10A8B000411C3846224B98472060154B984760B999 +:10A8C000144B0093D52214490320144DA847226845 +:10A8D00000231C4813498847FEE72368002BD1D08A +:10A8E0003046164B9847CDE73846174B984700231C +:10A8F0002360AFE7074B0093EE2207490320074D83 +:10A90000A847226800230F4806498847FEE700BF92 +:10A91000B122000078980200949902005D220100A3 +:10A920003C480200B9220000213300009D4D000088 +:10A930001FB50100DD2301000FB5010001A30100D7 +:10A9400099280100D83F0200C524010070B582B0EB +:10A9500005460E46144B984768B9144B00934FF4C4 +:10A96000A67213490320134CA0472A46002312481D +:10A9700012498847FEE72846114B98470446037C56 +:10A9800013F0080F05D1006818B10E4B984700234B +:10A99000236026B1237C43F00803237426602846F5 +:10A9A000094B984702B070BDB1220000A498020084 +:10A9B000949902005D2201003C480200B922000087 +:10A9C0009D4D0000C524010001A30100F0B583B036 +:10A9D00005460F46224B984768B9224B009340F238 +:10A9E000651221490320214CA0472A460023204814 +:10A9F00020498847FEE728461F4B984704461F49D1 +:10AA000028461F4EB0471F492846B0471E492846D2 +:10AA1000B0471E492846B0470023A381E381FB1EAF +:10AA2000DBB2022B237C94BF43F080036FF3C71388 +:10AA30002374237C03F00703022B08D0237C67F3E5 +:10AA4000020323742846124B984703B0F0BD2289B5 +:10AA50004FF6FF739A42F1D028460E4B9847EDE728 +:10AA6000B1220000C0980200949902005D2201000A +:10AA70003C480200B92200009D4D0000293500002D +:10AA800029130100893500006D9D0100519D0100D1 +:10AA900001A30100C59C010030B583B004460D46FA +:10AAA000104B984768B9104B00934FF4CD720F4983 +:10AAB00003200F4DA847224600230E480E49884721 +:10AAC000FEE720460D4B9847037CC3F38013AB424F +:10AAD00006D0037C65F3861303742046084B984721 +:10AAE00003B030BDB1220000D89802009499020052 +:10AAF0005D2201003C480200B92200009D4D00008B +:10AB000001A301002DE9F04182B00F46794B98472F +:10AB10000446794B9847E8B1002C00F09A80774BB7 +:10AB20001B6823B314212046754B98472046754B6C +:10AB300098470546704B9847F8B9734B00935D22D0 +:10AB400072490320724CA0472A460023714872497B +:10AB50008847FEE76C4B009354226C4903206C4DF0 +:10AB6000A847224600236B486B498847FEE72046EA +:10AB70006A4B9847614B1860D4E7002D6DD00023D5 +:10AB80002B602A7C02F0B7024FF6FF71298142F058 +:10AB9000300263F302022A7419226A81AB81EB81CD +:10ABA0006B606A7C63F300026A745D4920465D4B0A +:10ABB00098475D4920465D4B9847002F52D0384654 +:10ABC000504B984706463846594B98470146204611 +:10ABD000584B98473846584B984701462046574BA4 +:10ABE00098473846564B984701462046554B98475C +:10ABF000337C13F0080F46D13846534B9847014633 +:10AC00002046524B9847337C03F00703022B42D077 +:10AC1000737C13F0010F64D07068002861D04C4B36 +:10AC2000984782B2696820464A4B9847727C6B7C91 +:10AC300062F300036B7433892B81FF212046464B5E +:10AC40009847464B0093304BA82230490120304DA5 +:10AC5000A847204602B0BDE8F0812046404B984707 +:10AC60000024F6E7122120463E4B9847002120465B +:10AC70003D4B9847002120462E4B98473B492046A4 +:10AC8000324B9847DDE738462F4B98470146204620 +:10AC9000374B9847B7E72F683068364B98470146DF +:10ACA0003846354B98472860134B984760B9164B88 +:10ACB0000093952215490320154CA0472A680023CC +:10ACC000144815498847FEE72F6887B1D6F80080F9 +:10ACD0004046284B9847024641463846274B9847FE +:10ACE00096E70422B118A818244B98479EE7002441 +:10ACF000AFE700BF253E0000B1220000006C00203D +:10AD0000D12B00009D4D0000F098020094990200A4 +:10AD10005D220100D83F0200B9220000554D00001D +:10AD200001AF0100892B000081AD01002D2B000037 +:10AD30002D9F0100CDA90100DD9F010099AA01000E +:10AD4000819F0100719E0100DD9E010005A80100A8 +:10AD50001FB50100E59D0100993A0000F899020035 +:10AD6000654F0000E9410100A1290000F0990200AF +:10AD70004DA9010051250100992801005526010027 +:10AD80002DE9F04107461546082915D00C46304BF1 +:10AD90001B6898470646012815D1072C20D0384655 +:10ADA0002C4B9847804644BB037C13F0080F1DD002 +:10ADB0003846294B984706E013783BB900F1280341 +:10ADC0006B60012623B13046BDE8F0810023F7E730 +:10ADD0001F4B1B682A460821384698470646F2E76B +:10ADE0001E4928461E4B98470646ECE700681D4B57 +:10ADF00098470023C8F80030DAE7042C14D0022C5E +:10AE0000E1D1AA8801322B88D21ABB8A0133398A50 +:10AE10005B1A92B29BB29A420DD03846124B9847B9 +:10AE20003846124B9847CEE738460F4B984738467E +:10AE30000E4B9847C7E7EA8801326B88D21AFB8A23 +:10AE40000133798A5B1A92B29BB29A42E5D1BAE792 +:10AE5000006C00209D4D0000959C0100089A0200A6 +:10AE600095500000C5240100C59C010001A301000C +:10AE700030B583B004460A4B984718B14FF6FF70BF +:10AE800003B030BD074B009340F21D32064903204A +:10AE9000064DA84722460023054806498847FEE795 +:10AEA000B122000018990200949902005D2201006D +:10AEB0003C480200B922000030B583B004460A4B7A +:10AEC000984718B14FF6FF7003B030BD074B0093A1 +:10AED0004FF44C7206490320064DA8472246002332 +:10AEE000054806498847FEE7B12200003499020070 +:10AEF000949902005D2201003C480200B922000042 +:10AF0000022A00F01E810AB1002070472DE9F043AB +:10AF1000A9B00F4605468C4B984780460422002175 +:10AF200028468A4CA0478146052200212846A04792 +:10AF300005F10F0305F1170606AA13F8014F02F8F1 +:10AF4000014BB342F9D11FFA89F9BDF81830A3EBD0 +:10AF50000903ADF81830BDF81C309944ADF81C90C9 +:10AF600080B2BDF81A301B1AADF81A30BDF81E3089 +:10AF70001844ADF81E0013A8754B984713AA00217A +:10AF80002846744B984713AA394606A8724B98472F +:10AF900008A92846714B984708AA39460AA8704B59 +:10AFA000984710B929B0BDE8F08328466D4B984703 +:10AFB00098F81030C3F3801413F0800F18BF44F0DA +:10AFC000020413F0070F08BF44F01004012838D022 +:10AFD000022808BF44F008040CA8634B9847284691 +:10AFE000624B9847ADF83E002846614B9847ADF854 +:10AFF0004000B8F90C30ADF84230B8F90E30ADF879 +:10B0000044308DF847400CAA00212846594B9847F8 +:10B0100098F8102002F00703033BDBB2012B13D991 +:10B02000D8F80030002200920CAA0AA908A8524DB4 +:10B03000A84798F8103003F00703042B2BD000200A +:10B04000B0E744F00404C7E702F03002102A01D050 +:10B05000202AE5D1BDF93C30D8F80010029447F61B +:10B0600018420192BDF93A2000920D9A05A8434D6D +:10B07000A847BDF824300133BDF820209B1ABDF944 +:10B0800014201BB29A42CBDD9DF8473023F00C030D +:10B090008DF84730C4E7BDF93C30D8F80010029471 +:10B0A00047F618420192BDF93A2000920D9A05A880 +:10B0B000324CA047BDF91420BDF824300133BDF84F +:10B0C00020105B1A1BB29A4220DCBDF91620BDF895 +:10B0D00026300133BDF822105B1A1BB29A42AEDD56 +:10B0E000B8F90C30ADF842300D9B1B891344B8F809 +:10B0F0000E201344ADF84430D8F8003000220092FE +:10B100000CAA0AA908A81C4CA04798E7B8F80C405C +:10B11000224494B2202211460D98194B984700EB17 +:10B1200040000444ADF84240B8F90E30ADF8443068 +:10B13000D8F80030002200920CAA0AA908A8A84753 +:10B14000C3E70220704700BF9D4D0000D5440000BA +:10B1500069C20000C550000031C30000899D010094 +:10B1600019150100819F0100CD99000071AE010009 +:10B17000B9AE0100B1560000259A00007D400100E3 +:10B180006100010053B94AB9002908BF00281CBF5B +:10B190004FF0FF314FF0FF3000F07AB9ADF1080CFD +:10B1A0006DE904CE00F006F8DDF804E0DDE90223E5 +:10B1B00004B070472DE9F0478C460D460446089EC2 +:10B1C000002B51D18A4217466DD9B2FA82FEBEF1E8 +:10B1D000000F0BD0CEF1200C01FA0EF520FA0CFC7A +:10B1E00002FA0EF74CEA050C00FA0EF44FEA174A81 +:10B1F000250CBCFBFAF81FFA87F90AFB18CC45EAC4 +:10B200000C4508FB09F3AB420AD9ED1908F1FF32EE +:10B2100080F02381AB4240F22081A8F102083D4436 +:10B22000ED1AA4B2B5FBFAF00AFB105544EA054446 +:10B2300000FB09F9A14509D9E41900F1FF3380F0B9 +:10B240000A81A14540F2078102383C44A4EB09047D +:10B2500040EA08400021002E61D024FA0EF40023B9 +:10B2600034607360BDE8F0878B4207D9002E54D05C +:10B27000002186E821000846BDE8F087B3FA83F193 +:10B28000002940F08E80AB4202D3824200F2FA8065 +:10B29000841A65EB03050120AC46002E3FD086E8FA +:10B2A0001010BDE8F08712B90127B7FBF2F7B7FA23 +:10B2B00087FEBEF1000F34D1EB1B3A0C1FFA87FC5E +:10B2C0000121B3FBF2F8250C02FB183345EA0345D4 +:10B2D0000CFB08F3AB4207D9ED1908F1FF3002D29D +:10B2E000AB4200F2D1808046ED1AA3B2B5FBF2F07A +:10B2F00002FB105543EA05440CFB00FCA44507D9AA +:10B30000E41900F1FF3302D2A44500F2B8801846D8 +:10B31000A4EB0C0440EA08409DE731463046BDE806 +:10B32000F087CEF1200405FA0EF307FA0EF720FAA3 +:10B3300004F83A0C25FA04F448EA0308B4FBF2F1E5 +:10B340004FEA184502FB11441FFA87FC45EA044501 +:10B3500001FB0CF3AB4200FA0EF409D9ED1901F12F +:10B36000FF3080F08A80AB4240F2878002393D4452 +:10B37000EB1A1FFA88F5B3FBF2F002FB103345EA33 +:10B38000034500FB0CF3AB4207D9ED1900F1FF3880 +:10B390006FD2AB426DD902383D44EB1A40EA01410D +:10B3A0008FE7C1F1200722FA07F88B4005FA01F474 +:10B3B00048EA030320FA07FE4FEA134CFD404EEA29 +:10B3C000040EB5FBFCF94FEA1E440CFB19551FFA9D +:10B3D00083F844EA054509FB08F4AC4202FA01F29D +:10B3E00000FA01FA08D9ED1809F1FF3043D2AC4256 +:10B3F00041D9A9F102091D442D1B1FFA8EFEB5FB90 +:10B40000FCF00CFB10554EEA054400FB08F8A04583 +:10B4100007D9E41800F1FF3529D2A04527D9023811 +:10B420001C4440EA0940A4EB0804A0FB02894C45F7 +:10B43000C6464D4615D312D056B1BAEB0E0364EB97 +:10B44000050404FA07F7CB401F43CC403760746013 +:10B450000021BDE8F0871846F8E69046E0E6C245D0 +:10B46000EAD2B8EB020E69EB03050138E4E728469F +:10B47000D7E7404691E78146BEE7014678E70238C4 +:10B480003C4445E7084608E7A8F102083D442BE79D +:10B49000704700BF70B50D4E0D4CA41BA4100025C5 +:10B4A000A54209D10B4E0C4C0EF0B4FAA41BA4100B +:10B4B0000025A54205D170BD56F8253098470135C5 +:10B4C000EEE756F8253098470135F2E7209A02005A +:10B4D000209A0200209A0200249A020010B5013935 +:10B4E0000244904201D1002010BD10F8013B11F838 +:10B4F000014FA342F5D0181B10BD10F8012B11F815 +:10B50000013B012A28BF9A42F7D0D01A7047034660 +:10B5100011F8012B03F8012B002AF9D170470346DB +:10B5200013F8012B002AFBD1181A013870470000CC +:10B530002E2E2F68706C2F706F72742F68706C5F76 +:10B540006770696F5F626173652E68002E2E2F68C9 +:10B55000616C2F7372632F68616C5F696F2E63007B +:10B560002E2E2F68616C2F7372632F68616C5F746D +:10B57000696D65722E6300002E2E2F68616C2F732B +:10B5800072632F68616C5F75736172745F61737948 +:10B590006E632E63000000002E2E2F68616C2F75E5 +:10B5A00074696C732F7372632F7574696C735F6C3D +:10B5B0006973742E630000002E2E2F68616C2F7546 +:10B5C00074696C732F7372632F7574696C735F7217 +:10B5D000696E676275666665722E630000300040B2 +:10B5E00000340040002001410040014100000043C0 +:10B5F0000004004300080043000C00430300000067 +:10B600001400200000010000FF0000000000D7002F +:10B61000000427072E2E2F68706C2F736572636FDE +:10B620006D2F68706C5F736572636F6D2E630000C1 +:10B6300000380040003C004000A0014100C0014132 +:10B640000014004200180042001400430018004398 +:10B6500000006B000803000000000000973A0000A3 +:10B66000000000002E2E2F68706C2F74632F6870FE +:10B670006C5F74632E6300000AE462165B85000051 +:10B6800084B601000B0607FF2C88ACFF251F87FF3F +:10B69000395189FF6DC4DCFF4883C8FF3256C6FFAD +:10B6A0004D4346FF160A48FF5CA2BCFF382DC2FF7F +:10B6B000676C8BFF2D2748FF223689FF416DC7FF3E +:10B6C0007685C3FF9AA4C6FF2035A5FF212669FF12 +:10B6D0003951A9FFA9E2E8FF2E2426FF406EE9FFB9 +:10B6E0004388E9FF4BA6AEFF483887FFC9C4C5FFB2 +:10B6F000336EA8FF6A6469FF4056E4FF2E3469FF89 +:10B70000170928FF4E55A8FF96A9E7FF838383FFFB +:10B710001B1067FF80889EFF606EC7FF5FA6E7FF74 +:10B720004796E9FF7987E6FF2E20A9FF274569FFA5 +:10B7300035438AFF646FA7FF293349FFAFB5C0FFC8 +:10B740005F5789FF4355C7FF2D46A9FF89979FFF84 +:10B750003F60ABFF1D2C88FF4879C9FF1B1527FFF1 +:10B760008294C6FF2F2869FF69B6E6FF84D4DFFF05 +:10B770001B1548FF6493C8FF5B6EE6FF1547C1FFCA +:10B78000BCC4E4FF1E3798FF4363C6FFE8E4E1FF53 +:10B790002A5473FF3E3A67FF2B53B7FF322B87FFC4 +:10B7A000608AE6FF1E1419FF4884D6FF3F3738FF32 +:10B7B0006499EAFF8198D6FF475F87FF212659FFEA +:10B7C0001A1637FF5055E6FF776E88FF94A8D8FF0A +:10B7D000737AA9FF221957FF72A8EBFFDEF3F6FF79 +:10B7E0009EA5A3FF493DE0FF241C67FF948CA2FFA8 +:10B7F0005462A8FF83C4ECFF486ED7FF3F47A9FF00 +:10B80000383AA9FFD6D4D5FF3779A7FF5462E7FFAE +:10B81000615859FF484688FFA7B4D6FF9A99B0FFF0 +:10B8200036509BFF202678FF282339FFB4B5B3FF9D +:10B83000457AE7FF96B5E8FF313359FF467AD8FFDE +:10B84000A29AC1FF160C16FF7E88B1FF636288FFC3 +:10B85000797679FF302976FF433DC1FF303C97FF71 +:10B860002D3679FF4C4767FF304599FF60B5BFFF24 +:10B870005F97F7FF4B62D7FF5C87C9FF182D95FFD5 +:10B880005979E8FF4549C0FF8F9694FF29979CFF9F +:10B89000AEDDEBFF64AAC0FF789AE9FFD1EAF3FFBF +:10B8A0003262C5FF3E34D8FF615A68FF4298DAFF22 +:10B8B0003E64F1FF788692FF59B8D8FF627AC6FFDE +:10B8C000DDDCE4FF7C7C86FF544A57FF4FA9DAFF9A +:10B8D0007B8AD5FFA4A9AFFF7BA5D9FFCDCDD6FF2D +:10B8E0006F6B76FF7CD2ECFF94B8F7FF3199A9FF1C +:10B8F0006C7684FF82CBE1FF1950D8FF7BB5F5FF52 +:10B90000496DB9FF4779BBFF342BACFF5E89D7FF88 +:10B910005486A4FF292197FF180C57FFAFAAC3FF35 +:10B92000BFE6EDFF64ACACFF150837FF5CA5F9FF7F +:10B9300032447BFFBFBCC1FF7E9BF6FF5A5778FFA6 +:10B940005F6EB7FF4B6199FF647AB9FF221A77FFE8 +:10B95000474799FF666298FF4587F6FF96A9F6FF6D +:10B960001C1277FF4C96F7FF4A54D8FFB6C7FBFF6F +:10B97000403A78FF5F87FAFF7AA6F5FF978BAEFF14 +:10B980004A4878FFBBD7F8FFF8FAFBFF9AC8F2FFE6 +:10B99000EBEBEEFF496EFBFF4F62B7FF5964FBFF15 +:10B9A0006579D9FF303988FF473797FF423948FF1B +:10B9B000251829FF9BDAE4FF251748FF999DD7FF3B +:10B9C000251838FF5256F7FF495299FFB4BCE5FFDE +:10B9D0003E375AFF4C9498FF6695D9FFD4D2FCFFAE +:10B9E0004E58B7FF5D5997FF3F34C3FF4B49DCFF0B +:10B9F0006B7895FF3B61B9FF312998FF437AF9FFD6 +:10BA0000463CD0FF5B78FBFF7B7B99FF233CA6FF86 +:10BA10008B9DC7FFDFDBDAFF505388FF969B9FFFAC +:10BA20007AB9EAFF3A55B7FF2F2A57FFA7ABD7FFDE +:10BA3000BBBAD9FF382938FF898B8EFF69BBDBFF82 +:10BA4000A1D7ECFFABB8F8FF686F96FF516CABFF66 +:10BA50005D6FD8FF5B6EFBFF777099FF3163D5FF99 +:10BA60004848D1FF445AFCFF73CCDCFF544B4BFFDA +:10BA70007A8CC3FF9FACC6FF372C2BFFCFCBCBFFFD +:10BA80006F6B6BFF70707070707070707070707032 +:10BA9000704870707070484848363636CB690CE98B +:10BAA0002D444477E9121277C8793113133176C8DF +:10BAB000C87931133131E2E2E2407E40E2E2E24015 +:10BAC000E231C525A285C7305EB3760D46464646AF +:10BAD000DD4040405F5E13D1B32B765F5F7676C862 +:10BAE000C840A29C56C114E7BD3904BDE73A269C64 +:10BAF000A7040414E7BCE07BEFEF4780803DBCF374 +:10BB000033479C56C1C1565CEE9CE79CF939EF5611 +:10BB10003AF9869C85C70E0EC755CC9C4BE756C19B +:10BB2000C2A2359F9F9F9F9F9F9F9F333320676730 +:10BB300079796720202013DC1767121E4E70707011 +:10BB4000707070707070707070704870707048486D +:10BB500048483636360C4E69692D2B2B2B1E4E74F9 +:10BB600077C879315E313176C8C87931133131E225 +:10BB7000E2E24034403131E231D79F9FC52528C7EA +:10BB8000305EB3760D343446467E40404076B31383 +:10BB9000D1B32B2B5F5F76407676406E9C86C18654 +:10BBA0000439E7F955399C559C869CEE145CBCF42D +:10BBB0007BEF8347805E62BCF320470486C1C1C12E +:10BBC000F90483C2E7F9399CC1CCF9A79C4B353500 +:10BBD00035D55CA7EF555C56C1EFD53C7D7D7D7DAD +:10BBE00005050505A09F9FC533333333333333DC5D +:10BBF000176E13770D747070707070707070707055 +:10BC00007070483648707048484836CB36CB4E4E38 +:10BC10000C1E1EBBB32BC84E7777C82B7979797968 +:10BC200076C8C8793113133131E2E24040E2311372 +:10BC300033AFC51331E8F328F3E85EB3760D34343F +:10BC400046467E7E404076B313D1B32B2B5F3176D0 +:10BC5000407676406E9CA786563A39E73A5555F9B4 +:10BC600026E7869CEE839CB5E0BCEF834B5EB37CFD +:10BC7000E0F3136EE786C1C1C13A3AA7E755045510 +:10BC80009CC183043AE7A267A0A2555CA7149E5CFE +:10BC900056C18326D53C3C3C3C3C7D7D0505359F0B +:10BCA0009FDCDC9FC5C513310E6E3333340D0D7030 +:10BCB000707070707070707070707048364870700E +:10BCC00048484836CB36691E0C0C79BBBBBB2BC829 +:10BCD0004E7477C8C8C82B2BC8C8C87679311313DF +:10BCE00031313131E27631C5AFC513767631E82591 +:10BCF000F341E8B3B3760D34343434344040115F4B +:10BD0000B3D1D1B32B7631317676767640F3E7C274 +:10BD1000C0C1A704043A55550426E7863A8DCC9C49 +:10BD2000B8E0BCC2CC4B5EB37CE03DD16E39A7C15C +:10BD3000C1C18383A7392604559CC114E79E4B9F3C +:10BD4000643585995CA7149EE786C18326D53C7D22 +:10BD50003C3C3C7D7D0505A09F9FDC33DCC5DC13AE +:10BD60007945790D0D68740D707070707070707019 +:10BD7000707070703648707070484836CBCBCBCF3F +:10BD800012691E2BBBBB6D2B2B127477C82B2B7625 +:10BD900076C8C8C876793113133131133131139F06 +:10BDA000AF33794076760D79E8E8E85EB3B3760D87 +:10BDB00034343434347E40115FB3131367797631F1 +:10BDC0003176767676760E39EF56C1C13A04CC39A3 +:10BDD0002604263986EF8DCC9CB8E0BC5CCC4B5E4B +:10BDE000647CBC3DD10E55A7C1C1C1A7CCA7E72635 +:10BDF000EE559C5683554735B0F149219C3A1414B1 +:10BE00009EE786C18326D53C7D7D7D7D7D050535FC +:10BE100035A09FDC333313137979760D793374129F +:10BE2000687070707070707070707070484870706A +:10BE30007048483636CBCBCB36360CC82BBB44D3F8 +:10BE400079BB127477C82B7979797976C8C879313A +:10BE50001313131331139FAFDC133176404034E6D4 +:10BE60002CE231315EB379760D0D343434344040F8 +:10BE7000115FB3131313B3765F317976C8767641C9 +:10BE80003914C1C1C1CC0414E74BEE2655A7838DEC +:10BE90003A9CB8F4BCE7CC4B5EB37CBC3D130E2699 +:10BEA00083C1C1C1839CA7E726E755E7A7EF4B0EE7 +:10BEB000DCF5F2A25CCC3A1414E755EFC18326D529 +:10BEC0003C7D7DA27D7D0505356E359FDC331331CC +:10BED0007979764034337DC86812707070707070F4 +:10BEE00070487070707070707070484836CBCBCBF3 +:10BEF000CB363677762BBB44BB1EE91E7477C82B36 +:10BF00007979313179C8C8793113E8E8E89FB1C54A +:10BF100031313131400D7E64C16F405E5E5E5EB393 +:10BF2000760D34343434344040405FB31313135E21 +:10BF300076313131317676764139EF56C1C114F917 +:10BF4000A75C7B392626A7838D9C3A27F4E0393AF3 +:10BF50004B80B3B9BC3D13C55583C1C1C1839C8619 +:10BF60009C26E755E73A5CC7DC33E633D55C143AE8 +:10BF7000CC14E7BD5C86EF263C3C7D7D7D7D0505D0 +:10BF8000351749359FDC331379790D0D0D6813C5CD +:10BF90000D6874707070484870483670703648701C +:10BFA0007070704848CBCBCBCBCBCBCB77762BBB51 +:10BFB000446D1E77771277772B7979313179C8C83C +:10BFC000791313E8C58E8ED731E2E231E2404002A8 +:10BFD000BEC1A6405E5E5E5EB3760D343468340D3D +:10BFE0004040405F5E1313135E5E313131315E7944 +:10BFF0007641265C86C1C1A7F9A79C7B554B268359 +:10C00000A78D043A4BF4F4BD3A7B805E30E03D5B93 +:10C01000AF9986C1C1C1149C869C4B555555E74BC1 +:10C020009FE82C66334B5C143ACC14E7BD9ECCEFF2 +:10C03000857D3C7D7D7D7D05056E176E359FDC33EE +:10C040001379760D0D0D68791374687470707070C3 +:10C050007070364870703636487070484836CBCBB2 +:10C06000CBCBCB6936691EBB44D344BBC87777774B +:10C07000772B2B797979C8C8797913E88E7D25E8F3 +:10C0800013314040E2E2404068FEC16076315E5EBE +:10C090005EB3760D0D6872BBB27EE2115F5E131364 +:10C0A00013E85E31315EE85E317987AA9E86C1C1B0 +:10C0B000A7F9A73A7B264B4B83A726EE3A4BF4F41D +:10C0C000AD9C7B305EE8E017B110C28356C1C1A7BA +:10C0D0009C869C4B55557B470EDC136624DC4B5CE1 +:10C0E000CC9C3ACCE7ADBD5C5CD57D7D7D7D7D7D16 +:10C0F00005351749359F9FDC137979760D0D0D3481 +:10C1000068746868687070707070707070367048AD +:10C11000364848704848CBCBCBCBCBCBCBCBCB69CD +:10C120002DD3442BABC80D7777772B2B2B79C8C831 +:10C130007979139F8E8E41D7E83140347EE2E24018 +:10C1400034E5425656D15F5E5E5EB3760D0DB22E7B +:10C15000C166777EE2315E131313E85E313113134B +:10C160001313316EAAE756C1C1863A86CC7B4B4B7E +:10C170004BCCA73939F94BE0C67BE77B305EDC2737 +:10C1800085FC10559C56C1C1A7F9869C4B4BADBC94 +:10C190000EE8DC67ACB40ED55C3A9C9CCCE7AD8570 +:10C1A0009E9ED57D7D7D7D7D7D05354935359FDC28 +:10C1B0003313797976400D0D0D346868747470709E +:10C1C000707070707070487048CF3648704848CBB7 +:10C1D000CBCB15CBCBCBCB0C0C2DD3442BAB797964 +:10C1E00040C8772B2B7931797979DC8E8E254141C6 +:10C1F000D731117E347E11114002E1C3C3C15340D7 +:10C200005E5E5EB3760D0D34BB42C142F134315EE9 +:10C21000131313135E5E1313E835C5DC274B9C56CE +:10C22000C1C1863AA7CC7B7B4B4B3AA73926EE4B54 +:10C23000E0C6BCE77BB9C58A5552715B47EE56C173 +:10C24000C1A7F9863A4B7BBC5DE81313B41AD10E33 +:10C25000D5E73A9C9CCC5CAD855555A27D7D7D7D16 +:10C260007D7D050505359F9FDC13317979797676DB +:10C27000767676760D0D12707070704870707070F2 +:10C2800070CFCF3636704836CBCBCB696969CBE9F6 +:10C29000C877446D44D32B135E790DC82B7913DC1A +:10C2A0001313AF8E25C5412541E8E2117E347E117E +:10C2B00011406894C3C3C110405E5E5EB3760D4604 +:10C2C00040B272C1C1C194C8E21313135E5E5E1323 +:10C2D000E83939DCDCDC479C56C1C156F9A7CC27CC +:10C2E000B87B279CA7394B397BE0C6BC557BF3D57F +:10C2F0005537B120D16E3986C1C1A7F9A7EF27BC48 +:10C300007FE813E87966AC136E85E7F95C5C3A5C0C +:10C31000BD85D5D5D57D7D7D05050505050535355D +:10C3200035DC13137979797979797979797979C8DB +:10C3300070707070487070700036CFCB36364848D9 +:10C3400036CBCBCB696969CB77C877BBBBB3ABAB1B +:10C350001331760DC82B7913C59FB19F13E8D741D0 +:10C3600041E845E2117E347E111140682EC3C3C1FD +:10C3700096C8315E5EB3760D0D46405994C1C1C179 +:10C3800060D17920D1B3B35EE895989F13313147DE +:10C390009C86C1C1563AA7CC27BCB8179CA739B810 +:10C3A000AAB8F4D0BC9EB62195B15B20D1D15D393D +:10C3B000A7C1C1A7F9A73A273DDC1313E8791ABE34 +:10C3C000E847ADE79CE75C3A5CBD85A2D54BA27D12 +:10C3D0007D0505A0A00505356E0E131379797679D4 +:10C3E000797979315E315E5E79707070484870702D +:10C3F00070480036CF36CB4848CBCBCB156969693E +:10C40000CB69C8C81E2BB3B32BB37640407979797A +:10C41000138E8E137979313131453131E2E2403476 +:10C420007E11E240C860C3C3C1C3D13113B3797672 +:10C430000D0D46463477E4C1C1C1C3537913B3B37C +:10C440005E9FD59F131331314704A7C1C1563AA748 +:10C45000CC4BE0B8B5E7A755E0BCB5E0F4ADBABA4F +:10C460004CC520B3B3D1B35D2683C1C1860483CC50 +:10C47000274113131313D8E4B45DADAD9E9CE7E7D9 +:10C480003A5CBD85A2D585A27D7D05A0A0A0A0A017 +:10C490009F9F331313792B0D7679793131315E7982 +:10C4A000797970704836487069E90C48703636CB37 +:10C4B0003648CBCBCB15696969CB4E79776DABAB81 +:10C4C000672B314076131313338EAF137979797953 +:10C4D000797931E2E2E21140347E11E27EE5428F69 +:10C4E00042C3C153E21379B3760D0D463440A472B2 +:10C4F000C156C1C1C17179B3B35ED7135E135E7902 +:10C50000766E04A7C1C156F914144BE0B5B8E71410 +:10C510002662E0BCBCADBABAAD7C805E64B3D1B378 +:10C520005D26CCC1C18604CC3A27E8313113792489 +:10C5300060D847AD859E9CE7E79C5CBD85A2D5850C +:10C54000A27D7D7D7D05A0A0A0A09F9F33331379A0 +:10C550000D0D0D767931795E5E79797070483636D9 +:10C5600000700C0CCB707036364848CBCBCB696969 +:10C570006969CB4EC8E91EBB642BB3797613D7C566 +:10C580008E7DC513797676767979797640E2E211F7 +:10C590007E347E11E27EE5C3E4E4C3C110761379F4 +:10C5A00079760D0D3434405F0266C1C3C1C1C13715 +:10C5B000C8B35E5E5E5E5E3176766EEE14C1C156C5 +:10C5C000F9CC144BE0B5B5393A4B41BCBDBAF0AD2E +:10C5D000BDBCDA805E64B320B341263A56C18604FE +:10C5E0009C9C1713795E13C8AC6AC5AD8585399CD0 +:10C5F000E7E79C5CBD85D54BADD57D3C3C3C7D7D66 +:10C600007D7DA0A09F33333333672B0D0D0D7979DA +:10C61000795EB3B370703636700000360C364870F1 +:10C6200070704848CBCBCB69696969CBCBCBE9ABA0 +:10C630002B646413793113C50F7DC5131379767696 +:10C640007679797976404011407E347E11E27EF130 +:10C65000C16060C3C19676137979760D4634401176 +:10C6600011E27760C3425656C16F0D5E5E5E795E21 +:10C670005E76405D39CCC1C156F9CC1426E0BCB51C +:10C68000269CD58E99D6F0E0E07BE0DA805E64B33C +:10C6900020B34127F986C186040404491379133174 +:10C6A000E5E45AF3BD5585555CE79E9C9CBDBDD520 +:10C6B00085B6959521216C215252525295E33CB199 +:10C6C000A09F331379C8340D767679B3B3360070F2 +:10C6D00048704870703636367070704848CBCB154D +:10C6E00069696969CB690CE9BB136420207913C5BA +:10C6F0000F8EC5D71313317676767979794040114C +:10C7000011407E343411E2025AC160FEC3C156D8D2 +:10C71000317979760D0D3440115F31112FC1E48FDD +:10C72000C356C1660D5E5E765E5E760D4139CC56AF +:10C73000C156F93ACC26F4E0B5BD9E2165BA9EBC3F +:10C74000C6C6BCE0DA755E196420B3D7270486C17B +:10C75000868D04EE6E13791379E142F547555585C0 +:10C7600055E79E9E3A3A99996CF0BAD221954C3C85 +:10C770003C3C7D7D7D7D3C4C5252CEFB9F1379C865 +:10C780000D34340D76796948000048440C00483671 +:10C79000364870704848CBCB696969691569124E93 +:10C7A000E92B64D1412013AF0FC5D741C5E8133140 +:10C7B00079767679797976E2E211117E343411E274 +:10C7C0000266C1961AC3C1C171761379760D0D3414 +:10C7D000405F5F3180342E5660608F56C16F405E7F +:10C7E000767676760D41553A86C156F9F9CC26E033 +:10C7F000BC7B99BA650FBC7BE0C6C6BCE0DA755E4F +:10C80000196420B3D72704A7C1868D8D260E6779BA +:10C8100013C894605B4B39554B555CE79983A7C0AF +:10C82000BAF02121D53C7D7D05A0A0A0A09F9F331B +:10C8300033F27D4C52527D3376C8C8746874C87028 +:10C84000487000481EE9487036364870704848CB3A +:10C85000CBCB6969690C696969E91EB3C5C5C5B106 +:10C8600093C513D74141C5E813317676797979E2DA +:10C87000E2E2E2117E343411E23494C1FE1A42C184 +:10C88000C1AC76137979C80D34401131315EE26460 +:10C89000428F9660C3C1C17134767676760DE855C5 +:10C8A0003AA7C156F904CC55BCADBABAB6AF20E030 +:10C8B000B8DEC6C6BCF450755F196420B3E8178DA6 +:10C8C0008356A78D924B0E13673164606AC5BD39DC +:10C8D00055559EC2BAC0A7A7C2B685A2A27D05358E +:10C8E000359F9F9F9F9FC5DC333333339FB13C52AD +:10C8F000E3F22BC8777459747000000000CB6936DE +:10C900007048367070704848CB691EE969690C69D7 +:10C91000690C1E79D7C525938EC5D7E8D7C541C503 +:10C92000D7E831317979797976E2E2E2117E3434EF +:10C9300040E2342E56FE1A60C1C1C3D1797979C85C +:10C940000D3440E231315E5E40E1C1966060C3C1AA +:10C95000C171347676C8C8E826F9A7C156F904CC67 +:10C96000C2F0BAB67B7F205EF4B8DEC6C6BCF4D097 +:10C97000805F1964B3B313178DCC56A78D274B7DF9 +:10C98000331376F542E641BD39E7F0C0C0C299984D +:10C99000145CADD5A2A2053535A09FDC9F35A09FC4 +:10C9A000DC131379671333C5A03752B12B0D77749D +:10C9B00012007070700C703636480000707070484D +:10C9C000486977E90C0C0C69690CE9771320254C50 +:10C9D0008E13D7C5E8D7C5C5DCE8E8411379797966 +:10C9E000797640E2E2E27E343440E268ACC3FE1A7B +:10C9F000FE56C1C153797979C80D0D40E23131E855 +:10CA00005E310DACC3966060C3C1C1534676C8C8E1 +:10CA10005E4BF91456563A9CA7C0B6BCBCE062B354 +:10CA2000B362B5B5F4C6BCF4D0F75F1919B3B3134C +:10CA30006B923A86A78D2726A06713C894E4E1F38A +:10CA40009EEFC0BA995C9E559C149C85A2A2A2053B +:10CA500035A09F9F9F9F358EA09FDC1379797679B3 +:10CA60001333AFFB520F2B46774636704448364897 +:10CA7000703670700070707070697769691EE9694E +:10CA80000CE94EE92B67AF4C8EC51313E8D7D7D707 +:10CA9000DCE8DC0EDC79797979797640E2E2E24013 +:10CAA0000D7E40E268ACC3FE1A1A42C1C16576B37E +:10CAB00079C80D0D40E231315E5E31E2E5C3606060 +:10CAC000606056C1C1B4462BC8314B04CC5656A742 +:10CAD000C0CCE7E0F4DEE062B3B362B8B5F4C6E020 +:10CAE000F4D0F75F19196464B31692F986A78D27FD +:10CAF0004BC5675E64FEFEF1BDC0C05C5555E75591 +:10CB00005504149C4BA2D58549359F9F9F9F9FA09C +:10CB1000358EA0C51379797940C86733AF0F52B10C +:10CB20002B4676E948CB36003670707070707036E0 +:10CB30003670E9E9156DBB2D2DE90C4EC879AF9320 +:10CB400025C5C53179131313D7D7E8DCE8317979D6 +:10CB500079797976E2E2E2E2407E7EE2E2341AC35B +:10CB6000FE1A1A60C1C1C3D179790D0D0D40E231B1 +:10CB7000315E5E315E0D5AC3966060E456C1426418 +:10CB80000DC85E4B9C1456C183E70426F4F4DEE026 +:10CB9000B9B3B36B7BDEC6C6E0F4D0F7C91919B3DD +:10CBA00064B35D92F986868D276B136776F5E46A28 +:10CBB00071BA99E7554B55395555E7143A85A28511 +:10CBC000ADA2350E359F9FDC9F9F8E359FC5137993 +:10CBD00031790D0D79C5B1FBEAAF2B2BCBCB0036EC +:10CBE000703670707070707048364869CB0C1E6D6E +:10CBF0000CE9E9772BC85B93C533D7137679131308 +:10CC000013D7D7E8133179797979797976E2E2E245 +:10CC100031407931E2E277FEC3FE1A1A1AC3C1C16C +:10CC2000BE4079400D3440E23131805E5E315EBB02 +:10CC3000608F966060E456C160770D13BD838656A1 +:10CC4000569C268D27F4F4C4E0B9B32017B5DEC690 +:10CC5000F8E0F4C6F719BB64B3B3B3F62704A786AC +:10CC6000EE171631B379666066B1AD4B39394B5565 +:10CC7000E75555E714CC554B85ADA2353505A0DCFD +:10CC8000DCDC358E8E359FDC13131376343479C596 +:10CC9000B14C525BC8003670363670707070707070 +:10CCA0004870704848CBE96D2D1E77C8B379F20FF4 +:10CCB000D167201379C8765E131313131331797972 +:10CCC000797913797979E2313131DC6E45E2E20D1F +:10CCD000FEC3FE1A1A1AE4C1C18F7931760D347E73 +:10CCE0001131315E5E5E31137951C3966060608FA1 +:10CCF000C1C12E7737BAEFCC8656F9279226F4F4C5 +:10CD0000C4E0B9B32030C4DEC6D0E0F4C6DA19BB43 +:10CD1000B313B3B3412704868604176213F2B4AC8D +:10CD2000FE5A41BC4B39394B55E7555539CCCC559A +:10CD30005555AD47358E7D8E9FDCDC358E8E353575 +:10CD4000C53131201376346879C50FEAFBB37069B9 +:10CD50003600707070707070CF3670704836690C25 +:10CD60000C1E77772B79AF0F67796779792BC80D10 +:10CD700076797979797979797913DC13317979E26E +:10CD800031310EB84140E2E20DFEC3FE1A1A1AFE1E +:10CD9000C1C1C153407640343440E2315E5E31312E +:10CDA0005EE8BBAC8F9660606042C1C1E62C8539FD +:10CDB0003AA756F9272627E0F4C4E062B3B3B3508C +:10CDC000F4C6D0F4F4F45019BBB3D7D7D13017045C +:10CDD000A78604173D0FE324601AF541BC4B2626B5 +:10CDE0004B4B39555539CC14399E55854735057D02 +:10CDF0000535DCDC9F35358E35C5797913C513765D +:10CE00006874B3AF37EAF2703636007070707070C5 +:10CE100048CFCB70704869CB0C1E1E772BC8F20F21 +:10CE2000672B7979131379C8770D0DC879797979DA +:10CE30007967DCE813313179313135B8877640E2F2 +:10CE4000E268ACC3FE1A1AFE1A42C1C1964076408F +:10CE50000D3440E2315E3131315E13B30BC3966065 +:10CE600060E4E4C3C1C1AE5D39F9A756F9272727AD +:10CE7000E0F4DEE062B3191980F4C650F4F4C6D0D1 +:10CE8000C919136E0ED1E81704A786F9AAB6525B2A +:10CE90006660ACD85D474B26264B4B55555539CC73 +:10CEA000A70404E785A205057D0535DCDC9F8E8E91 +:10CEB0008E9F13797613C5C5137668C820B152FBCF +:10CEC000700070707070007036384870704848E9B3 +:10CED0000CE977772BAB5BFB03C82B2B79202079F0 +:10CEE000C8770D0D76793131797967133131313168 +:10CEF00079E2E86E45314040E2E2342EC3FE1AFE8C +:10CF0000FE1AFEC1C1C12C7E400D343440E25E31B8 +:10CF100031315E13132B2E8F966060E460C3C142E3 +:10CF2000D826F9A756F9172727E0E0BCBCC6B319E5 +:10CF30001976D0C650F4F4C6C65EB35D17E8D113B7 +:10CF40006B8DA78683BA85DC2BFEFE6A676E4B4B22 +:10CF500026264B4B55555539CCA79CF90485A2057F +:10CF60007D7D0535DCDC9F8E8EA0DC1379C879D7FA +:10CF7000C5C5130D742B5B37E3000000700048CF6C +:10CF800036360C69707036360CE9E9772B2BB037E2 +:10CF9000D1C8C877C879132079C8770D0D793113B6 +:10CFA00031797979791313313179E2313131314085 +:10CFB00040E2E2342EC3FE1AFE1AFE1A42C1C196A6 +:10CFC0000D404034344011313131315E1320137241 +:10CFD0004296606060E4E456C1FE6198A7563A1735 +:10CFE0001727DEB8B8E0C65EBBBB1975D0F7C6F42C +:10CFF000C6C6F7416B7CD7D12049EEA756144B1615 +:10D00000E2B4E41A66316E4B4B26264B4B55555510 +:10D01000393A863AF9044B057D7D7D050EDCE8C57D +:10D020009FA0C59F0567C87613C5C5D77974777962 +:10D030002C100000007070000C1E3636707070CB23 +:10D040000CCB0CE9792BD8375B2B2B0D772B791375 +:10D050001379C80D0D0D79793131797931E81313D0 +:10D06000313179E2E2314545767E11E2346AC3FE20 +:10D070001A1A1A1A1AFE56C1C12C344034347E11C1 +:10D080005FE25F3113C5AF4CB42EE4FE6060E46034 +:10D09000E4C1C1570986863A271727B8AADEE0C639 +:10D0A000B3BBBBBBC9758062F4C6C6F8DEC4B9D7D2 +:10D0B00020F2929C86563A178B76BE601AE1316E4A +:10D0C0004B4B2626264B555555393A863AF9E7D526 +:10D0D000057D7D7D059FE8E8E8DCC5C58D3C79C808 +:10D0E000C831135E7976747419D1E300007000CFF3 +:10D0F000E9706D1E7070707036E9690C2B64D8375A +:10D100005B2B2B0DC8C8C879B31379C80D0D0DC89A +:10D1100079797979130E0E1331313179E2E231E800 +:10D1200031404011E23494C3FE1A1A1A1AFE1A8FC3 +:10D13000C1C1E44640403434405F315EE8AF374C13 +:10D140000F1372C31A606060E46042C1C181CC56A3 +:10D150003A27B5B8AAE0F4E0C65EBBBB7474C95EFA +:10D16000B9C6C6C6C427B550D75B849C9CA756F9E0 +:10D17000278B76ACFEACB4455D4B4B4B26264B550E +:10D180005555559CA73AE755497DA27D7D359FE8C9 +:10D19000DC331313058D3379C80D76760D74744620 +:10D1A0007446646F7070700000691ECF0C70704818 +:10D1B0007036E969ABB3D137B12B2B770D76C879CF +:10D1C00079202079C80D0D0DC8797979799F3513AB +:10D1D0003131317976E2E23131407E7E115F349433 +:10D1E000C3FE1A1A1AFEFEFEFEC3C1C12402403459 +:10D1F000344031E8AF4C4C0FC5135E77FE60FE60E3 +:10D2000060E4E460C3C14257563A27B5B8B5F4F4B8 +:10D21000F4C65EBBBB7438741930F8C6C6DE92B56E +:10D22000B9D73C0495921456F9271DB4E4AC2ED11D +:10D23000DC5D4B4B4B26264B555555559CA79C55B5 +:10D24000A2057D7D7D7D8EDCE8DC336767A0F27909 +:10D2500079C80D40760D6868747446D810707000F7 +:10D2600048360048E9367070480C36CF0C2BD13761 +:10D270009313B37777770DC87913D7C5310D0D0D9B +:10D280000D7679317913DC1379317979797640E249 +:10D29000E2E2400D7E11E234E6C3FE1A1A1A1A1AAF +:10D2A000FE1A60C1C1C3BB7E404031C5934C8EC5E0 +:10D2B000332013B30DE1C3AC606060E4E4E4C1C1AA +:10D2C000FE941417DE17DEC6C6C4C65EBB7474387F +:10D2D00038BB80F8C6C6DE8D277CFB6571418A1499 +:10D2E00056F927B9BEE4AC9431415D4B4B4B262631 +:10D2F0004B4B55555504CC9C4B49497D7D05050E3E +:10D30000E813DC13676767797979C8C83113137636 +:10D3100046B25974B4FC70700036BB4470703670FD +:10D320007070E9690CAB640F4C5B202B77777777D3 +:10D33000C87913410E13760D0D0D79313179797954 +:10D340007979797931797640E2E2E2407E7E115F47 +:10D35000025AC360AC1A1A1A1AFEFE1A42C1C194CC +:10D36000B231330F37B1E81313131313B376ABE4B1 +:10D370001AFE606060E46042C1C1E67A27DE17DE13 +:10D38000C6C6C4F480BB74743838BB5ED0C6C6DE73 +:10D390008D262152AFD1E88ACC563A2730AC60AC0A +:10D3A000BE31DC5D4B4B4B26264B4B555555E7F9B3 +:10D3B000E7D5A2497D05358EDC1313131379676712 +:10D3C000677979C879C5AFAFD776685974B4FC70FE +:10D3D00070700070E938367070487036691E2BAF77 +:10D3E000CEC520B3C877777777C879130EC5137683 +:10D3F0000D0D40793131797979797679793179768C +:10D4000040E2E2E2407E7E11E27EE1C360AC1A1AA5 +:10D410001A1A1A1A1AFE56C1C172C537AF13313122 +:10D42000315E13135EB35E4694E4AC606060E4E486 +:10D4300060C3C1C18C17DE17DEC6C6C4F4B9197447 +:10D44000743838745E1DC6C6DEEEC2B6415EB35E89 +:10D4500049CC863A27C5E4AC1A2C45DC5D4B4B4BD6 +:10D4600026264B4B4B5555E7E755A249490535351F +:10D4700035DC13131379797979797979C85E257D4B +:10D480008EAF13465959D8FC70000036BB6936CFB1 +:10D49000707036E936E9ABD1CEAF20B377777777C6 +:10D4A00077C8767913D7D713760D0D40793179790E +:10D4B0007679C876797979797640E2E2E2407E7EC3 +:10D4C00040E27E724260AC1A1A1A1A1A1A1A1AE448 +:10D4D000C1C142E5315FE211115F5E13135EB3B368 +:10D4E00040B4422EFE606060E46060C1C160B0DEA6 +:10D4F00017DEC6C6C4F450197474383874B3F7C64E +:10D50000F4ADC29E16805EB35E493A863A05BE42CD +:10D510006AACD8E8415D4B4B4B26264B4B4B4B55E9 +:10D5200055554BA2490535358E9FE813133179794E +:10D53000797979792BC833A27D8E8E13465959D8C3 +:10D54000A670707000691E3670707070CD0C1EABC6 +:10D5500037B12013C877C87777C8B3B37979131375 +:10D5600031C80D0D0D797979797976767679797971 +:10D57000797940E2E2E2407E7E11E27EE542E41A01 +:10D58000AC1A1A1A1A1A1AFE1AE4C1C12E34114022 +:10D5900011115F5E5E13B379793119601AAC606066 +:10D5A0006060E46042C1C13206B5DEC6C6C6F45052 +:10D5B000767474383874B380C6AD999E278BF75E45 +:10D5C000B35E6EF9A73AA0A6E46A2E13DC0E5D4B9B +:10D5D0004B4B26264B4B4B4B55558547490535350F +:10D5E00035359F13131379767679797979767905BC +:10D5F000D58E8EAF5E685474B4A670E9BB443670A5 +:10D60000367070CF36486DBB53FB64D12B77ABC8F7 +:10D61000C8C879B3792B795E5E79C8770D0D762B02 +:10D62000797979797976767979797940E2E2E240A7 +:10D630007E7E11E211AB60E41AACACAC1A1A1A1A75 +:10D640001A1A1AE4C1C15A025F11115F31B313B340 +:10D6500079765E4666E42EFE60606060606056C16A +:10D66000C14DB5B5C6C6C6F4C65EBB743838BB641A +:10D67000D7AD997B26268BF75EB35E5D04A7F9A331 +:10D68000601A6A6631410E0E474B4B26264B4B4BB8 +:10D690004B55554BA24935350E3535DC13133179D1 +:10D6A0007676797979797633D58E8E2513745959B2 +:10D6B00074F56500480CBBBBCF707070CF0C0C2AA2 +:10D6C0004D104DABAB77ABC8C8C8797979C8C82BBA +:10D6D00079792BC877770DC8C82B797979797676DF +:10D6E000797979764040E2E2407E7E115F1177AC35 +:10D6F00042FEACACACACACAC1A1A1A1AFE42C1C1B8 +:10D70000F5A4E25F5F315E13B37976794072E46A23 +:10D710001A6060606060FE60C1C1AC33B5C6C6C649 +:10D72000F4F480BB74383877D8E3BDBCC427268BAB +:10D73000805EB35E5DEEA78D71426A1A5345410E5D +:10D740000E474B4B26264B4B4B4B558547493535A2 +:10D750000E0E0E0EDC1331797676792B2B2B2B2BBC +:10D7600020C59F8EC50D59745938F5654800007065 +:10D7700069E93670707036D3AB3753ABAB77AB2BF0 +:10D78000792BC8C8C80D77772B792BC8C80D770DB2 +:10D79000C8C879797979797679797979764040400C +:10D7A000E2407E7E115FE2349442FEACACACACACA5 +:10D7B000ACACAC1A1A1AFE42C1C1E57E5F5F315EA5 +:10D7C0005EB37976765FBBFEAC2E9660606060607B +:10D7D000FE42C1C18C16F4C6C6F4C4B919743838F7 +:10D7E000E5E3266BC4C427278B805EB35EF68D14F9 +:10D7F00009A642941A5BE80E0E35474B4B262626A7 +:10D800004B4B4B55854735350E0E0E9F9FDCE8314F +:10D810007976797979C8C8C8C8C8C813DC797474AE +:10D8200059A938F56F44440C700070487036690C83 +:10D83000AB2CE303AB77772B33332BC80D7777779C +:10D84000AB2B79792BC80D0D0DC87679767979795E +:10D85000767979797976404040E2407E7E11E21116 +:10D8600034E142FEACACACACACACACAC1A1A1A1A9B +:10D87000FEC3C1426411315E5E5EB37976765E4668 +:10D88000571A941A6060606060FE60C1C14233F450 +:10D89000C6C6F4C48BC974382F10D5351DC6C4272D +:10D8A000278B5EB3B35EF692CC71FEFE57AC138746 +:10D8B0000E0E35494B4B2626264B4B5555554B0ED8 +:10D8C0000E41DCDCDCDCDC331376767913792BC893 +:10D8D000C8C877770DC8741259543BBBBEBE360C0E +:10D8E00044E936707070706944D1CE2CAB771E2B32 +:10D8F000A00567C8C877121E77AB2B79792BC80DA6 +:10D900000D0DC87979797679767676797979764058 +:10D910004040E2407E7E11E2E240724260ACACAC3C +:10D92000ACACACACACACAC1A1AACFEC3C18FB3118E +:10D930005E5E5EB37976765E46E11A94ACFE606018 +:10D94000FEFEFEFE42C1C15AB9C6C6C6C4C45E745C +:10D95000B4A653C51380C6C417278B5EB3B35EF657 +:10D9600092F9BE42AC94A613410E35356E474B2654 +:10D9700026264B4B4B55554B0EE8E84545131313E4 +:10D98000133176767913792BC8C8C87774745954D3 +:10D9900054083B54646FB400007036367070707079 +:10D9A00069BFFBCED1AB1E77330567ABAB77771280 +:10D9B0001E77772B797979C80D0D0D76797979797C +:10D9C00076767676797979764040E2E2407E7EE23C +:10D9D0003131D77260E4ACACACACACACACACACACA0 +:10D9E000AC1A1AACFEC3C18FB3E25E5EB379767631 +:10D9F0005E402FFE946A1AFEFEFEFEFEFEFEC1C1D0 +:10DA0000E45EC6C6C6DEDE80B4A6B4BB64195EC6DC +:10DA1000C417278B5EB3B35E302684A64294AC66EF +:10DA2000450E0E35356E474B2626264B4B55555524 +:10DA30004B6EE8454513311313137976767913311C +:10DA4000792BC877747459747459591259B46F6426 +:10DA500036700000007070706944BFD2B1641E1E41 +:10DA6000AB672BABAB777777121E77C82B797979B9 +:10DA700076400D0D7679797979767676767679793C +:10DA8000764040E211407E4031C58E4C4D6AE4AC98 +:10DA90002EACACACACACACACACACACACACACFEC3DB +:10DAA000C18FB35F13B379765F5E76BF1A9494AC7F +:10DAB000FE1AFEFEFEFE1A42C1C1E150C6C6DEB528 +:10DAC00047A6B438381919C950C61727165EB35E71 +:10DAD0005E3026A3FE60E61A53870E35353549A21F +:10DAE0004B2626264B4B5555554B0EDCE845313120 +:10DAF00079793179767679131313792B777712C880 +:10DB0000791259741274BEBEBBE9E9CB70707070A3 +:10DB10007069D353EAD1AB1E1E777777ABAB7777BB +:10DB200077127777C82B7913133176400DC879793E +:10DB300079797976C87676797976404011E2E2761D +:10DB4000137D4C8EE80DE642AC2E2E2E2EACACACE6 +:10DB5000ACACACACACACACACFEC3C142D8765E797C +:10DB6000765F5E5FBB2E9494AC1A1AFEFEFEFEFE3C +:10DB7000FE56C1FE5EC6C6DE9EBA5B743838191901 +:10DB800019F7C61727165EB35E5E301771E4ACE670 +:10DB90001AAF0E0E3535054949474B26264B4B85A6 +:10DBA000555547350E0EDC451331797979C8C8765D +:10DBB0007979131379C8747479747454A93B191062 +:10DBC000F5387069CD367036E90CE944102CAB1E7F +:10DBD000127777777777777777771E7777C82B798C +:10DBE00013D7E8317640C8797979797976C876762D +:10DBF00079767640E23113D78E3C8EDC31E27E0BB3 +:10DC0000421A2E2E2E2E2E2E2E2EACACACACACAC40 +:10DC1000ACAC1AC3C1C32C76B3765F5E5F749494C8 +:10DC2000576A1A1A1A1A1A1AFE1AE4C1C153D0C432 +:10DC3000ADC07B5E7438381919195FF8B527165EC8 +:10DC40005E5E5E415D94429457940E6E0E353505CE +:10DC50004949474B26264B4B4B554BA26E35350E4B +:10DC60000EDC13137979C80D0DC879131331C874FC +:10DC700074747412545438B41064540000707000FA +:10DC800069E90CD3F510BF441E777777777777C8AB +:10DC90002BC877777777C82B7913C5D75E797676D7 +:10DCA000797979797976C876767676793131DC0F3B +:10DCB0004CB113313140407EBFFEFE2E2E2E2E2E53 +:10DCC0002E2E2E2EACACACACACACACACACE4C1C12A +:10DCD000530D795E5E5F466A6A576A1A1A1A1A1AF3 +:10DCE0001A1A1A1AC1C1FE80ADBA55278074383885 +:10DCF000191919C9DADE27165E5E805E4141FE60A1 +:10DD0000E694665D6E0E3535054949494B26264B2E +:10DD10004B4B4BA26E353535350E0EDCE81379765C +:10DD20000DC8C8C82B7979C8C82B1274547476648E +:10DD300066BE74A9000000707000366DBF10E1442B +:10DD4000E91E77C8C8C8C8C87913B3C8777777C839 +:10DD5000797913D7C5137976767979797979767661 +:10DD60007679793113338E4C0F33E24040E24040F4 +:10DD700040746A602E2E2E2E2E2E2E2E2E6A6A2E85 +:10DD8000AC6AACACAC2EAC96C3C1370D315E31463B +:10DD9000946A576A1A1A1A1A1A1A1A1AACE4C1C1E2 +:10DDA00071B6BC2726B9463838461919465FC427CC +:10DDB000C4808080E806B1E41A326A716B0E353592 +:10DDC000054949496EA24B4B4B4747490E0E0E0E73 +:10DDD0000E0E0E0E0E9FE81379C80DC877C8C8C87E +:10DDE0007479C8745959C8B3B4A6B454A9690070F9 +:10DDF000363670CF44E16FBFD34E772BB3B379B3D0 +:10DE0000B313D713C877770DC879B3B3E8C5E879EA +:10DE1000407679797979797676767913338E4C7D77 +:10DE2000C531E27E7E40E240404034EDE42E94A6CF +:10DE30002E2E2E2E2E6A6A6A6A6A6A6A6A2E2E2E22 +:10DE40002EAC8FC165B3115F191A945794ACAC1AFC +:10DE50001A1A1A1A1A1A1AC1C11A41C48A9216C970 +:10DE6000383846C91946C91DDEC4308030E84566D9 +:10DE7000422E32ACB1170E353505054949356E498C +:10DE800049496E0E41E845454545E8E8DCDC0EDCD5 +:10DE9000E81379C8C8C8C877777767772B5974C8EB +:10DEA000D1BE6FBB084F0C70CB0CCB700C786FE100 +:10DEB000D32D1E2BB3B3B3D1D1D120D713C8770D37 +:10DEC000C8765E131313D7E8794076797979767935 +:10DED00076767913AF37FBC51331E2400D0D40E282 +:10DEE0004040407E7260AC949494A6A62E2E6A6A3E +:10DEF0006A6A6A6A6A6A6A6A2E2E2E2E96C18F53E1 +:10DF000046516A325794ACACACACACACAC1A1A6AA1 +:10DF100042C1C320C427926BC9747446C919191928 +:10DF20005F1DC47C303030131AE49466A635170E9A +:10DF300035050505494935353535350E41DCE845AA +:10DF400031313131313113E8E8E8133179762BC8BA +:10DF5000C877742BC8C859741971EBB454A94F36DB +:10DF60007069E96D360CAEA6AE2D0C772BB3B3D12C +:10DF7000201320D7D713C877C8C8C813D7E813E829 +:10DF8000E87640767979797679797933FB37B11308 +:10DF900031E24040400D0D40E240404040AB1A1A93 +:10DFA00094949494A69494949494946A6A6A6A94C7 +:10DFB0006A2E2E2E2E2EACE4C3FEFE9457946A6A6F +:10DFC000ACACACACACACACAC6A1AC1C15A1D278DC0 +:10DFD000175F747446C9C94619765FB962B9B9301A +:10DFE0005BE4FE3294946E490E35050505494935CA +:10DFF000350E0E0E0E41DCDCE84531313131793120 +:10E0000031311313313113137979C87438125954DB +:10E0100074D1EA10BBA94FA97070CF0CE9690C2428 +:10E02000EB2FE9691EC82BB3D113132020C513773A +:10E0300077792BC8B3D7C5D7D7E876407679797684 +:10E04000796713B14C0F3313794040E2E2400D7E03 +:10E0500040E24040404034E6609494949494949418 +:10E060009494949494949494949494A62E2E2EA67E +:10E070006AAC60606060FEAC6A6A6A6A6A6A6A6A10 +:10E080006A6A6A42C1FEE8B592175E747446C9C9ED +:10E0900046197676807C7C7C06BEE4AC5A6A7117A1 +:10E0A0006E0E350505050549350E0E0E0E0EDC0EFD +:10E0B0000E41DCE84531317679797979793113DCB3 +:10E0C000DC0E872B74C8745954592CEBB4CDA93B82 +:10E0D0003B707036CF0CCBD310D2B46DCF0C1EC8B2 +:10E0E0002BB3D1132020D713C87779792B7913C597 +:10E0F0004141E879407679797913AF37FBC513311F +:10E1000079767640E2E2407E7E40E2404040407ECA +:10E110000B602E94949494949494949494949494E2 +:10E120009494949494A6A6A6A69494946AACAC2EC7 +:10E130006A6A6A6A6A6A6A6A6A6A6A941AC3C15BC4 +:10E140006B921775467446C9C9191976765E3041C7 +:10E150007CE82E609424ACB11735353505050535BE +:10E1600005350E0E0E8787DC0E0E41414141E8E871 +:10E170003131797676767613DC6EB5DC7977797421 +:10E180005954BBA66F38A93B3B3B707036CFCB6967 +:10E1900078A66F2FE9690CE977C82BB3D1D120207D +:10E1A00013C87779B3797913D74141D731407631A4 +:10E1B0001333FB4CB1137979797976404040E240D2 +:10E1C0007E40E2E24040404040AB1AAC94949494CC +:10E1D00094949494949494949494949494949494FF +:10E1E0009494949494949494946A6A6A6A6A6A6A15 +:10E1F0006A6A6A6A946AE4C16641261780194646CB +:10E20000C9C9C9C976765E5E067CC596FE66322EA1 +:10E210008E170E0E350505353535350E0E87DCDCCF +:10E22000DC0E0E0E41410E35350E9FDC13797676ED +:10E2300079E8B56E337977C812543871EB2F3B54B7 +:10E24000CD3B3B0C0CCB70002D89A651D30C690C37 +:10E25000E91EC82B2BB3B3132020790DC8B37979ED +:10E26000B3E8D741305E796733B14C0F3313797619 +:10E2700079797976404040E2404040E2E2E2404035 +:10E2800040E234E6FE9494949494949457575757EC +:10E2900057575794949494949494949494949494F5 +:10E2A00094949494949494946A6A6A6A6A6A57FEFD +:10E2B000C196332627F7C9C946C9C9C976767631CA +:10E2C00031E88071E4AC3257A60E6E0E0E350505AE +:10E2D000353535350E87DCDCDCDC0E0E41415D6BFF +:10E2E0006EA2A2A2A235DC1379795D6B13792B742F +:10E2F000385459B4EBE3B33B54CD3B3B440C70482A +:10E3000048EC0BA6AEEC36CF690C1E77C82B2B2B36 +:10E31000B31320B30D0D7979797913E83041C52015 +:10E32000AF3737AF13797676767679797640E240F3 +:10E33000E24011E23131E240404040400B609494B1 +:10E3400094949494575757575757575757579494EF +:10E3500094949494949494949494949494945794BA +:10E360009494949494949457ACC3C3F12727B95FC1 +:10E370005FC9C9C9C97676315EE8E831A6E494245C +:10E380006A6F0E0E0E0E3535353535350E0EDCDC6A +:10E39000DCDCDC0E0E410EDE6B49A2D58585D5A2F4 +:10E3A00035E8E85D792BC8C8747459BB1065F279FB +:10E3B000540808080869707036702DE1A6AED30CB9 +:10E3C000CFCB691E7777C8C8C8B3B313B3C877C8B3 +:10E3D0007979797913C5258E934CB120677979764F +:10E3E000767676797976404040E240E2E23131E279 +:10E3F000404040E2E2641AAC57949457575757573D +:10E4000057575757575757579494949494949494B4 +:10E4100057575757575757575757575757949494D5 +:10E420005794E4C15A354BB975755F5F5FC9765E25 +:10E43000DC35DC315B969657242E710E0E0E0E35B0 +:10E440003535353535350EDCDCDCDCDC0E0E416B6C +:10E450006B0E49A2D5858585D5A235DC137976C8A2 +:10E4600077C8C87753EB71B346A908080808CB36BC +:10E470004870702D51A672D8640CCB69E91E77BB29 +:10E48000C8C82BB3B379C87777C879797913C5939E +:10E49000B685C51379797979764040767979764071 +:10E4A000404040E2E2E23131404040E2E23140E6C9 +:10E4B000FE57575757575757E657575757575757B6 +:10E4C00057575757575757575757575757575757DC +:10E4D000575757575757575757575796C1AC1B4B16 +:10E4E000B975B9805E5E5F5E33D57DE83171E41A3F +:10E4F0003232ACAF350E0E0E0E3535353535350EA4 +:10E50000DCDCDCDCDC4141415D0E0E49A2D58585B9 +:10E51000D57D8E9FDCC5135E79C82077E565E3D194 +:10E520007659125408083B6969004848699065AEFD +:10E53000E5D1E969690C1E1E77BBC8C82B2BC8C87A +:10E540007777C82BB320339321852513797979798F +:10E55000797640407679797640404040E2E2E23197 +:10E5600031404040E23131E2D8FE94575757E657E8 +:10E57000E6E6E6E6E6E6E6E6E6E6E657E6E6E65759 +:10E58000575757575757575757575757575757571B +:10E59000575757571AC38FB04B7C756262805E5EC7 +:10E5A000133C92DCE831A6E42E2466A6C5350E0E97 +:10E5B0000E0E3535353535350EDCDCDCE8E841410D +:10E5C00087410E0E49A2D5D5D5A225DCD7DC9F9F69 +:10E5D000335EC813646FEBB4B37754791908083B02 +:10E5E00069690C694869F5FCAE0C440C69690C0C4E +:10E5F0001E7777BBABC82BC8777777C8B3D1AF4C42 +:10E600003725F3415E797976767676407676797934 +:10E610007640404040E24040E2E2404040E231315A +:10E6200031C82EACE657E6E6E6E6E6E6E6E6E6E6DE +:10E63000E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E67A +:10E64000E65757575757575757575757E66A42C1D4 +:10E6500024493D7562E07C5E31DC05DC1331D1FE7E +:10E660009694249466DC350E0E0E0E353535353510 +:10E67000350EDCDCDCE8E841DCDCDC410E49A2A242 +:10E68000A2A28EDC1313DC9F9FC513C82071EB532D +:10E6900077B33838B3C808083BCB44694836694D6E +:10E6A00052712D696969E9446DE91E777777ABC8C6 +:10E6B000C87777C879D1B14CB120133041E8797966 +:10E6C00079767676407676797976E2E24040404017 +:10E6D00040E2E2404040E231313140E1FE57E6E6BF +:10E6E000E6E6E6E6E6E6E6E6E6E68132323232E6FF +:10E6F000E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6BA +:10E700005757575757E657E4C110353D80627F7F12 +:10E7100030E8133131313153E4FE32249471870EE5 +:10E720000E0E0E0E3535353535350EDCDCE8E8E8F5 +:10E73000DCDCE8E8410E49A2A2A2359FE81313DC15 +:10E740009F9FC513C8B1EB10BB59745477B33808F9 +:10E7500054A56969CB69CB0C1B5266CA0C0C69E9DC +:10E76000BFBF6D6D77BB777777C877C82B5BFB4CE6 +:10E77000AF677976E87C303179797676764076764F +:10E7800079797640E2E240404040E2E2E24040E215 +:10E79000E23131E22BAC2E32E6E6E6E6E6E6E6E6EC +:10E7A000E6818157575757E63232323232E6E6E693 +:10E7B000E6E6E6E6E6E6E6E6E6E6E6575757E6E6A6 +:10E7C00096C1AC357F80627F6B6EE831313131E2CA +:10E7D0009460AC32246AB10E0E0E0E0E0E35353535 +:10E7E0003535350EDCDCE845E8DCDCE8E8DC0E49F4 +:10E7F000A2A2359FDC331313DC9F9F2079D165657E +:10E800005B7754A55477795908A554000CE936CBA9 +:10E81000431B71A6780C0C690C44E544E977BB777F +:10E820007777772B642CE30F5BD179C80D5E41417C +:10E8300013797976767640767979797640E2E2E2F4 +:10E84000407E4040E240404040403131317EE1FE78 +:10E85000E6323232323232818181E6E61C787897B4 +:10E860008CE6E681818181818181818181818181C3 +:10E8700081E6E6E6E6575757E61AC3969F7F807C07 +:10E880006B27174531313131B3FEFE9424322EC54A +:10E890000E0E870E0E0E0E353535350E0EDCDCE80D +:10E8A00045E8DCE845E8DC0E49A27D0EDCE8131300 +:10E8B00013DC9FC5B3D1E3EB2C77745438745454F4 +:10E8C000543BA53B704870696D2A0CAE65E1440C61 +:10E8D000CB69E9BF44E91EBBBB77772B03B1E35398 +:10E8E000D1677979C80D793041137976767676409B +:10E8F0007676797979764076E2407E7E40E2E24033 +:10E90000114040E23131E264AC2E323232818181F9 +:10E91000818181E691001FA93B547890E681818135 +:10E9200081818181818181818181818181E6E6E6A8 +:10E93000E6E62EC3E4AF7F807C17276E4531313188 +:10E94000E2F1E41A66246694E80E0E870E0E0E0EAF +:10E95000353535350E0EDCE84545E8DCE845E8DCC4 +:10E960000E35A235DCE833131313339FC513373F3D +:10E970005374595474D1203808543B545400003611 +:10E98000446DCB482D10A62F0C69690C4444E91E38 +:10E990001E1EAB64D1FBE35B6779797979C80D40C2 +:10E9A000E841137976767976767676797979764054 +:10E9B00076E2407E7E40E2E240404040E231E23199 +:10E9C0004024FEE63232818181818181ED367036CC +:10E9D0004FCD3BA94F7881E6818181818181818101 +:10E9E00081818181818181E6E6E6E6944242B16BD4 +:10E9F000305DB8175D803131317E6660AC32249471 +:10EA000071E80E0E87870E0E0E0E350E0E0E0EDC02 +:10EA1000E8454545E8E84545DC0E353535DCDC1391 +:10EA2000133113339FC5FB3F37BB5974772BD1B3D9 +:10EA30005438543B083870707070366936690BEB87 +:10EA4000BE0C69690C6D0C0C1E1E4464B037FBD102 +:10EA50002B2B2B79792BC80D0D5ED7137976767910 +:10EA600076767676797976404076E2404040E2E20A +:10EA7000E240404040E2E2E231E203AC9481328184 +:10EA800081818181812236701F364F4F4F4F1FEC9D +:10EA9000ED81ED81EDEDEDED8181818181818181DE +:10EAA00081E6E6E657E4C3716E411717177F8031A0 +:10EAB0003131791AFE6A2424942CDC0E0E0E414169 +:10EAC0000E0E0E0E0E0E0E41DC45454545E8454541 +:10EAD00045E8410E0E0E9FDC13131313339FFB3FCB +:10EAE000E32B38385B2B2B20121219543B0877701C +:10EAF0007000CB6D0C36CB69243F72CF690C0C696A +:10EB00000CE964D82CE3B1032BC8C82B79792BC846 +:10EB10000D0D791331797676767676767679767606 +:10EB20007640E2E2E24040E23131E2404040E2E25F +:10EB3000E2E2317E8C1AE68181818181ED819070E3 +:10EB400070701F36363636367069ED81EDEDEDEDBD +:10EB5000EDEDEDEDED818181818181E6E65760C3C8 +:10EB6000375D5D6E6E477F063131E2B4601A662410 +:10EB7000329433870E0E8741410E0E0E0E0E0E0E8E +:10EB8000DCE845E84545E8453145E8410E0E0EDC38 +:10EB9000DC1313131333FB3FFC037474B3D1772BD3 +:10EBA00074547774543B3B777070000C6D36363676 +:10EBB000702D6F2E78CD0C69690CD3D80FE32C0320 +:10EBC000C877C8C87979792BC80D0D0D7979797610 +:10EBD00076767676767679797676E2313131E2E25A +:10EBE000456E45E2E24040E23131E231E2AB6A9407 +:10EBF000ED81EDEDEDED81737070701F1F1F1F1F14 +:10EC0000707000EC81EDEDEDEDEDEDEDEDEDEDED88 +:10EC100081818181E632E696C3100E5D065D476E06 +:10EC20000631317EBEE4AC248C3266E80E0E41879C +:10EC30008741410E0E0E0E0E0EDCDCE8E845E8E8DA +:10EC4000453145E8410E0E0E5DDC13131313B13F41 +:10EC500065B077742BF2D12B77385938123B54CDED +:10EC60003870707070487070703669D3A6A6786975 +:10EC7000690CD3BFFBE3D864C877C8C8C879797971 +:10EC80002BC8C80D0D0D76797679767676767679FD +:10EC9000317931313131313145276B453131E2E262 +:10ECA00031313131313134901A81EDEDEDEDEDED51 +:10ECB0007370007070701F7070707070009181EDD3 +:10ECC000EDEDEDEDEDEDEDEDEDED81818181E6E632 +:10ECD00060C3FC8730315D476E80313176ACFE6AAF +:10ECE000248C57BE450E0E41878741410E0E0E0EF5 +:10ECF0000E0E0E41E845454545133131E8DC0E5D09 +:10ED0000DE5D13131379F2EBD22C2B19742B5BD12C +:10ED10007777D17454545454CD547070700000708F +:10ED200070706944E9D3A6A67869D3BFBE66E5BF13 +:10ED3000BB1E7777C82B79797979C80D0D0D0D76C3 +:10ED4000797679797640407679313131313145457E +:10ED50004517270645313131E23131313131E2E2B7 +:10ED600077576AEDEDEDEDEDED22480070707070B3 +:10ED70007070707070707097ED2222222222EDED7B +:10ED8000EDEDED818181E697E972C3A63145313021 +:10ED90006E418031E2D8601A5724249453E80E0E55 +:10EDA00041414141410E0E0E0E0E0E0EDCE84513A0 +:10EDB000134513313145E8416BDEDC13317933EA19 +:10EDC000D20FB32BC87774B32BBB772B7454545426 +:10EDD000CDCD4E7070706970707048692DE90C2D42 +:10EDE0005A2EE1AEBE24BF78BB1E1E1E77C87979AD +:10EDF000797979C8C80D0D0D767676767676407677 +:10EE00007679313131454187454117874545313163 +:10EE100031313131313131E2E240AE1A32EDEDEDD6 +:10EE2000EDEDEDCB007070707070707070707000F0 +:10EE3000ECED90909022222222EDEDEDED8181CA41 +:10EE40001F0859602E403131458706313140BE6080 +:10EE50001A32E124945B87410E41878787410E0E69 +:10EE60000E410E0E0EDC451313131331313145459F +:10EE700041DE5DE813313352D20F33B32B1977746F +:10EE800038BB2B3838385454CD3B541E4870000CD6 +:10EE90004469363636CFCB69CFE9E1A6EB6FAE4495 +:10EEA000E9BB1E1E1E77C82B79B37979C80D0D0DED +:10EEB0000D767976767676407631131313E8176EF1 +:10EEC000E845064545E845313131E23131E2E2E2DB +:10EED000E2E230B3EDACEDEDEDEDEDED4A0070703A +:10EEE00070707070000070707070FF229090909041 +:10EEF00090222222EDED819100A95459962E4031A5 +:10EF000031313131313176ACFEAC24E132571387E7 +:10EF1000414141878787410E0E4141410E41E845FD +:10EF2000131313133131313145410EDCDC1333E35C +:10EF3000D20F3333B32B2B77777777B3BB121254BF +:10EF400054CDCD54CD4870700069440C69CB363631 +:10EF500036694472106610A6BEF572BFBB2B77C827 +:10EF60002B797979C8C80D0D0D0D7913136713200E +:10EF70005B9FAFAF9FDC17AA8745453131F606315D +:10EF800031E2E2E2E231E2E2E2E2E2E8F3E55757BF +:10EF900022EDED22ED630070000000000000000093 +:10EFA0000070000722737373739090222222ED7316 +:10EFB0007070A93B5996A640313131313145E2D8C4 +:10EFC000FE1A94E1E132BE454141414187878741C4 +:10EFD000410E41414141DCE8131313131331313128 +:10EFE0003131E8DCDCE8C552D2B1133333B32B2B1B +:10EFF0007777C8C87479E8125454CDCDCDE969004B +:10F0000070700036D30C6DCB3669D3AEA653AEE527 +:10F01000722410A610E3E30FB1B1B1AFAFF2F25B0F +:10F02000F2F2AF0F930F0F0F0FB1AFC533E86EAA17 +:10F030000E45453145F606313131404040E2E2E2CD +:10F04000E2E2E2E2313041AEAC8122ED2222904890 +:10F0500000000000000000007070700015737373F2 +:10F0600073737390902222EDEC00701F3B59606621 +:10F07000403131313145451124FE1A32E1245753D4 +:10F08000458741414187878741414187414141DC73 +:10F09000E84545131313133131313113E8DC9F5226 +:10F0A000D20F79B33333B32BC877772B2BC86B7957 +:10F0B0005454CDCDCD4EE9360070707000362D2DF4 +:10F0C0002DCBD3AEA624AEE5ABE9E944BF725371B4 +:10F0D00037E3CECECECEE33737FBFB0F0F938E9FB9 +:10F0E000336779797979E8275D131313314531E274 +:10F0F000313140404040E2E2E2E2E2E24040E25DA3 +:10F100002C222E8C222290EDCA000000000000006C +:10F110000000000000701C7373737373737390EDC1 +:10F12000890070701F3B12E471403131313131453B +:10F13000406AFEAC24E124945B4587414141870647 +:10F14000878787DCE887DCDCDCE845454545458783 +:10F15000453131313113C552D20F1379B32020B369 +:10F160002BBB7777B3B3DCDC124E54CDCDCDE9CFDA +:10F1700048707070707000CB692D2D78662478BF50 +:10F18000E5BBD36DE92DE91E1E1E2BD1202020D119 +:10F19000677979797913C5E879767640767979E86F +:10F1A000E813313131314040E231E240404040E249 +:10F1B00031E2E2E2E240E29F4C85BFE6949090901B +:10F1C0009073700000000000000000000000006369 +:10F1D0007397737373737373EDEC0070701F08BBD8 +:10F1E000422CE2313131314531D11A1A94E1E12416 +:10F1F000571306E887414187060687E8E8E8DCDC24 +:10F2000041DC45454545455D16453176767613E347 +:10F21000D20F137979B3131379BB7777BBB37979AD +:10F220001E4E4E54CDCD0CCD69704848707070485C +:10F2300048362D78716678D3444444BB442D6D6DB7 +:10F24000E9E91EBBC879B37979C80D0D0D7613DCD9 +:10F2500013317979767979797931313131314040A9 +:10F260004040E2E240E2E2E23131E240E231DC3CC5 +:10F270004C350E877894E673907390FA0000000086 +:10F2800000000000000000000773979797737373E6 +:10F290009073707070701F080B42673131313131DB +:10F2A00045E2E1FE1AE6DBE1325A3106E8DC878707 +:10F2B00006060606E8E8E8E84141DCE8454545F68B +:10F2C000DEF63176767679E3EBB179797979B3B395 +:10F2D000B3C8777777772B771E4E387754CDCDCF5D +:10F2E000690C7048487070702D69CBD3DBE3AED3E6 +:10F2F0000C44446464D36DD36DE9E9772B2B2BB3B5 +:10F30000792BC80DC80D79E8D7E8E8797676767656 +:10F31000797979797976E240404040E2E2314531CD +:10F320003131E24040333C957DDC870E457E896A71 +:10F33000ED73737373EC0000000000000000000028 +:10F34000004A97FF97979773739063007070701FD0 +:10F3500008941A4031313131314576941AAC24E1A8 +:10F36000E157E13106E8E887DC06E8E830E8E8E85C +:10F37000E8DC4141E845E841DEDE4579764079E365 +:10F38000EBB17976762B2B792BC8777477777777F3 +:10F390007738E91E64E9CFCFCF0C0C70484870482D +:10F3A000700C6DEC89100B78696944BFBF446DBB6C +:10F3B000AB6DE9E9BB642B2B79792BC8C8C80D79F3 +:10F3C000E8418713797976767676767679767676E9 +:10F3D000407E7E40E231458731E2E2E2137D524CCD +:10F3E0009F13870E13E21168FF6A227373737315FC +:10F3F00000000000000000000000EC971CFF979741 +:10F400007373904A007070701F4EE453E2133131F1 +:10F41000311331D16A1A6A8CE12494B431E8E8E8F6 +:10F42000DC8706E8E8E8E8E84545E8DCDCE845454F +:10F4300016DE4131790D79E3EB2C7676C8C8777703 +:10F44000777777747477777774BB1EE9E9640CCFAC +:10F45000CFCF0C69483648484848360CCA2424782F +:10F460002D6969D3BFD3E944D1641EE9E9772B2B19 +:10F470002BB32B2BC8C80D0D31414113797976760A +:10F48000764076767676797979407E7E40E245459B +:10F4900031E231137D52953513E2458731E2404028 +:10F4A000116873947397739797150000000000001C +:10F4B000000000EC971C1C9797977373CB0070703B +:10F4C0007070E1E476313131313145E2F51AACE664 +:10F4D000DBE12494D13E45E8E8DC87E8E845E8062E +:10F4E000E8E84545E8DCE84587DEF61379767937C4 +:10F4F000FCB00D0D0D74747777777774747477772B +:10F50000BB77BBBB380CE969CFCFCF0CCF483648AF +:10F51000CB48CBCB699157892D0C696944BF44E92D +:10F520004464BB1E1E1E1E77772B79792BC8C80D2D +:10F5300076E841411379797640404076767679795C +:10F54000313176404040E2E24031337D5295A013A4 +:10F550003131E231E240404011401112225773FF35 +:10F560009797974A0000000000000000EC971C1CD1 +:10F57000FF979773974870707070CF606640133133 +:10F580003131314540E6ACAC24DBE132E6E24545C1 +:10F59000E8E8DC8706E84545E8E8E84545E8E8E8C6 +:10F5A0004506E813317667E3FCB0747777747474BA +:10F5B0007777777774747438772B77BBABBBE9CDEB +:10F5C00069CFCFCFCF696936CBCB696D69691CE64E +:10F5D00091EC69690C78E5D1AB6D6D1E64641E1EFB +:10F5E0001E772B792B2BC8C80D79305D41137976A6 +:10F5F00076404040767676797931317940404031B5 +:10F60000139F3C524C9F31E231313140404040E247 +:10F610003111404011122257731CFF1C97631500D3 +:10F6200000000070004A1C1C1C1CFF977397487058 +:10F6300070700090422B31313131313131B36AACCD +:10F640006AE1DBE1572411454545E8DC8706E845DA +:10F650004545E8E84513E8E8E81331315E7667E3AD +:10F66000FC5B0DC8C8C80D777777777777777477A5 +:10F6700077772BBB7764BB1E0CCDCFCFCFCF69CBB9 +:10F680004869EC432ACBEC97ED78D3696969BFE50B +:10F690005BC5BBE9BBD1641EE91E772B797979C8BC +:10F6A0000DC85E41F3411376764040404040767984 +:10F6B00031317979404079C57D95957DDC7940403F +:10F6C000E2313131404040E24545114040401112A5 +:10F6D0007357971C1C1C1C1C91EC48000000911CCB +:10F6E000891C1C1C1C971C7070700091425A7E3142 +:10F6F0003131313131E2F51AAC57DBDB8C94F1E278 +:10F70000314545E8E84187E845314545E84531134D +:10F7100013133131317620E3FCB046C8C8C8C8C8DD +:10F72000C8C8C87777777738772BBB777774BBBB38 +:10F7300013E969CFCF4F69D3480C0C434D69CBEC2B +:10F7400097902D0C0C782DD3E5D825201EBBD1AB7E +:10F75000E94EE97779797979C80D765E7CF34113C2 +:10F7600076764040404040767979767913330F952C +:10F77000524C8E87457E7E404040E231E2407E40E2 +:10F78000E231404040404040E212FFE6731C1C89D9 +:10F79000891C1C63FA4A07898989891C1C1C971CCF +:10F7A000700070071A1A74313131313131314066CD +:10F7B000ACAC24DBDB246AD131313145E8E8D7E851 +:10F7C000E845453131E845315E5E5E7976765BFC31 +:10F7D00052D846747446C8C8C8C8C8C877777777FF +:10F7E00074BB2B7777777477DCDC1ECFCFCF4F6974 +:10F7F000D30C692D4D2DCBCBEC97E1D3690CAEBF6B +:10F800002D642FAF25641EBB1EE9E91E777979139D +:10F8100013790D765E7CF37C137976400D0D0D40E7 +:10F820004076135B0F526CCEB133138787E27E7E36 +:10F8300040404076E240407E4040407E4040404074 +:10F840004040E268918173891C1C89636363636330 +:10F850006389891C1C1C1C1C97CBCB89E660781122 +:10F8600031313131313131B36A6A6A8CDBDB329448 +:10F870007931313145E8E8D7E84545453131315EE8 +:10F88000315E5E5E79765B65E320C846747474779A +:10F89000C8C8C877777474BBBB7477BB771E77749E +:10F8A000790EBB640CCFCF36696948362AD3CB4872 +:10F8B00048691C2478696D78D30CBFE55B25D86D49 +:10F8C000E9E90CE91E7779DC5DE8790DC85E413D18 +:10F8D0005DE87640400D0D4079F2FB526552935B36 +:10F8E000797E40E8873140407E4040404040407E45 +:10F8F0007E7E40407E404040404040401134D373C3 +:10F900007363FA07CACA2D2D2D2D2DCACAFA636357 +:10F91000FF73977322FE973431313131313131E247 +:10F92000B4AC6A94DBDBDB57E6113131313145E8A9 +:10F93000E8E8E845453131313131315E7979F265B8 +:10F9400037B37676C874747474747474383838380D +:10F95000BBBB38747774C8C8772B1E0C44BBCFCFA1 +:10F96000360C0C48690CCB484848CB89E691690CA9 +:10F9700078690C44E55B5BC5BB0C0CE9E91EAB3355 +:10F980006B4179797976E87C3DF3E879797933AF21 +:10F99000FBCE52CE0F5B3176407E7EE213E24040DA +:10F9A000407E7E40404040407E7E7E407E7E7E7E29 +:10F9B00040404040E2117E5969D338744646686839 +:10F9C00002020202DD464674E9CAFAFF221A906872 +:10F9D000E2E2313131313145405AACAC32F1DBE158 +:10F9E00094E1113131313145E8E8E8E85E313131F7 +:10F9F0003131315EB379B1657176C8C8C8C8467413 +:10FA00007474743838387777387777381E77C887C2 +:10FA10002B1EE90C0C69440CCBCB692D0C484869B2 +:10FA200048487070CA5A5AAE0C78690C44E55B5B62 +:10FA3000C5D16D1E1E7777136B5D13797931E8415F +:10FA40003D7F28930FFBE3E3E3FBF213797640401D +:10FA500076407E347E40407E7E7E7E7E40407E408C +:10FA6000407E7E7E407E7E7E7E7E4040E20D121293 +:10FA700046DD461254CDCDCFCFCF4F4F4FCD545949 +:10FA800046DD5FC938891C34E240E2313131313121 +:10FA900031766A6A6A24F1DB8C6AB4E23131313141 +:10FAA000E8E8E8E85E313131313131797913FB65CD +:10FAB0002CC8C8C8C8C8C846464677747438387752 +:10FAC0001E381E38381E770E0E1EE90C0C69696947 +:10FAD00069CBCBCBBB690C48CB0C70707069CAED9D +:10FAE0006590CA690C44D1D1D825C5BBBB2BB313D3 +:10FAF0001616136767202528ADB6F0F0214C7DAFB0 +:10FB0000D1790D0D0D7679797676400D340D404022 +:10FB10007E7E7E7E7E4040404040407E7E7E7E7E79 +:10FB20007E7E7E40E26874DDDD744ECFCFCFCFCFD6 +:10FB3000CFCF363636A9A9A9A9A94F5474C95F7485 +:10FB40001234E2E23131313131E2D8AC6A94DBF186 +:10FB5000DB2494B3313131313131E8E8E85E3131C1 +:10FB600031313179761337FCF276C8C8C8C8C87706 +:10FB70007477467774383838383838383838381326 +:10FB8000B52B6DE90C0C6969CFCBCBCBCB44CB69E2 +:10FB9000E9BB1E70707069366DF15A5AE12CA0B045 +:10FBA000E5B4C7285BE5B45B6E6B8E8E934C4C213D +:10FBB000B6B6AD287FF34113400D0D0D0D0D7676D1 +:10FBC000797676400D340D40407E7E7E7E4040400A +:10FBD0004040404040407E7E7E7E7E7E7E114E7460 +:10FBE00012CD5454CDCDCFCFCF4F4F4F1FA9A9A980 +:10FBF000A9A93B3B3B3B5412765E1934E2E231311A +:10FC00003131405A6A6AE6F1DBDB32667631315FC8 +:10FC10003131315EE85E3131315F76767620E31046 +:10FC20005B76C8C8C8C8C8777474747474743812A2 +:10FC30004E38384E4E3838776E331E44E90C0C443B +:10FC4000E9CBCBCBCB36E9484869E94470707036D4 +:10FC500048D3D3CB78533C4C71BEE3F0F0213771DD +:10FC60008E6E8E8E0F0F93C725417C7C7CF3F34103 +:10FC700013760D0D0D0D0D4076797676407E340DA0 +:10FC800040407E7E7E7E7E4040404040404040403E +:10FC90007E7E7E7E7E7E40404FCFCD544ECDCDCDFC +:10FCA000CFCF4F4FA9A9A9A9A9A9A908083B545486 +:10FCB0005912465E767E3131313131766A6A6A2474 +:10FCC000F1DBDB942411315F5F5F31315E135E5EE7 +:10FCD000315F7676765B1037D1762BC8C8C8C8C836 +:10FCE000777474383874383812545454544E383841 +:10FCF0002B13E9BB6D0C0CD3446DCFCBCBCB360CA7 +:10FD0000707069CB384870707070363648CBAB0372 +:10FD1000BFAEBF5B8EAFAFAFD12B2BABB320D74104 +:10FD2000D75E315EE8417CF341D731400D0D0D0DBA +:10FD30004076767676400D343440407E40407E7E7C +:10FD400040404040404040E2407E7E7E7E7E7E409D +:10FD5000400D4FCD541254CDCDCFCF4FA9A9A9A955 +:10FD6000A9A9A9A908083B5454596874C974403119 +:10FD7000313131E2D8AC946ADBF1DBE16AB41131A4 +:10FD80005F5F5F5F315E135E3176767676AFFC0F34 +:10FD9000797676C8C8C8C81977747474747474385E +:10FDA00012545454545454381E1EE90C6D0C696995 +:10FDB0000C0C69CBCBCBCB360C707048CBE9CB00AD +:10FDC0007070696948690C2D2D6DBF1EB3641EBB30 +:10FDD0006464C87777C85E2013B3C80D0D7631D739 +:10FDE0007C7C41E876400D0D0D4040767676400DE6 +:10FDF000343440404040407E7E40407E7E7E7E40A7 +:10FE00004040407E7E7E7E7E407E1134CF4E4E1E30 +:10FE10004ECDCDCF4FA9A9A9A9A9A9A9A90808087C +:10FE200054545968DD3868E2E231313140E16A6AA0 +:10FE300057F1F1DB246AB35F315F5F5F5F315E5E74 +:10FE40005E31767676B1FCB179767976C819464618 +:10FE50007474743838747438125454545454545458 +:10FE60004EE90C0C0C69696969690CCFCBCBCBCB23 +:10FE70003644707070700C360070702D0CCBD30C43 +:10FE800069CB0C78BBD16D6D441E77C8C8C8C82B30 +:10FE90002BC8777468340D7631417C41D731760DAB +:10FEA0000D0D0D40404040400D343440407E4040F8 +:10FEB0007E7E40407E7E7E7E404040407E7E7E7ED6 +:10FEC0007E4040E2310D4E676738CDCDCF4FA9A9B6 +:10FED000A9A9A9A9A9A9080808545468465468E220 +:10FEE000E2313131314094946A24F1F1DB3294767D +:10FEF0005F5F5F5F5F5F315E5E5E5E765EFB105BE5 +:10FF000076795E7979C846747474747438123838A6 +:10FF10001254545454CD54544E4E0C0C69690C690F +:10FF200069690C440C36CBCBCBCBBB000000000C7A +:10FF3000367070702D0CCBD32D69690C0CBB41440D +:10FF4000E96D1E1E1E2BC877C82B7712121268345B +:10FF50000D76E8414141E831760D0D0D40404040BD +:10FF6000403434347E7E7E7E7E7E7E7E7E7E7E7ECD +:10FF70007E7E40407E7E347E347E4031454531DC9D +:10FF8000172B4E54CDCD4FA9A9A9A9A9A9A9A90854 +:10FF9000080854B2B25434E2E2E2E23131E2D16A0A +:10FFA000576ADBF1F1DB325ADD5F5F5F5F5F5F5FF6 +:10FFB000315E5E5F13E3E320767679797976C8C89F +:10FFC00046747474383812125954541254CDCDCD2D +:10FFD000CD544E0C6969E90C696969CBCBCBCBCBAD +:10FFE000CB366944700000000C367048702D0C361A +:10FFF0006DE96969690C20F3D1E90CE91E1EBB6447 :020000022000DC -:100000000004CFFFF00000000006DFFFFFA00000AB -:100010000017EFFFFFFF30000018FFFFFFFFFC009D -:10002000002AFFFFFFFFFFF40008FFFFFFFFFFFFB5 -:10003000D0000FFFFFFFFFFFFF600008FFFFFFFF83 -:10004000FFFE000000000000FFFFF70000000000BE -:1000500000FFFFF1000000000000FFFF8000000033 -:10006000000000FFFF10000000000000FFFA000089 -:100070000000000000FFF2000000000000008F8080 -:10008000000000000000000000000000DFFFFFF0A3 -:10009000D200FFFFFFF0FE20FFFFFFF0FFE2FFFFB7 -:1000A000FFF0FFFDFFFFFFF20000FFFFFFFFFFFF7C -:1000B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50 -:1000C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40 -:1000D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30 -:1000E000FFFFFFFFFFFFDFFFFFFFFFFD000000003E -:1000F0000000000000000000049CEFFEC94000006A -:100100000007EFFFFFFFFFFE700004DFFFFCA88A7F -:10011000CFFFFD406FFFD5000000005DFFF6CFF67A -:100120000000000000006FFC1A30005ADFFDA5003F -:1001300003A100004DFFFFFFFFD400000005FFFEFC -:10014000A88AEFFF50000001DF70000007FD1000DB -:1001500000001200000000210000000000004EE43A -:100160000000000000000000EFFE000000000000A2 -:100170000000EFFE00000000000000004EE4000060 -:1001800000008FFFFFFFFFFFFFFFFF80FFFFFFFF6C -:10019000FFFFFFFFFFF0FF000000000000000FFD69 -:1001A000FF0FFFFFFFFFFFFF0FFFFF0FFFFFFFFF2F -:1001B000FFFF00FFFF0FFFFFFFFFFFFF00FFFF0F2D -:1001C000FFFFFFFFFFFF0FFFFF0000000000000028 -:1001D0000FFDFFFFFFFFFFFFFFFFFFF08FFFFFFFA0 -:1001E000FFFFFFFFFF808FFFFFFFFFFFFFFFFF808D -:1001F000FFFFFFFFFFFFFFFFFFF0FF000000000019 -:1002000000000FFDFF0FFFFFFFFFF0000FFFFF0FCC -:10021000FFFFFFFFF00000FFFF0FFFFFFFFFF000F9 -:1002200000FFFF0FFFFFFFFFF0000FFFFF000000C8 -:10023000000000000FFDFFFFFFFFFFFFFFFFFFF0CB -:100240008FFFFFFFFFFFFFFFFF808FFFFFFFFFFF1D -:10025000FFFFFF80FFFFFFFFFFFFFFFFFFF0FF003B -:100260000000000000000FFDFF0FFFFFFF00000077 -:100270000FFFFF0FFFFFFF00000000FFFF0FFFFF5A -:10028000FF00000000FFFF0FFFFFFF0000000FFF57 -:10029000FF000000000000000FFDFFFFFFFFFFFF59 -:1002A000FFFFFFF08FFFFFFFFFFFFFFFFF808FFFCC -:1002B000FFFFFFFFFFFFFF80FFFFFFFFFFFFFFFFCD -:1002C000FFF0FF000000000000000FFDFF0FFFF037 -:1002D000000000000FFFFF0FFFF00000000000FF14 -:1002E000FF0FFFF00000000000FFFF0FFFF0000015 -:1002F00000000FFFFF000000000000000FFDFFFFE7 -:10030000FFFFFFFFFFFFFFF08FFFFFFFFFFFFFFF7C -:10031000FF808FFFFFFFFFFFFFFFFF80FFFFFFFF5B -:10032000FFFFFFFFFFF0FF000000000000000FFDD7 -:10033000FF000000000000000FFFFF0000000000B1 -:10034000000000FFFF0000000000000000FFFF00B1 -:100350000000000000000FFFFF0000000000000090 -:100360000FFDFFFFFFFFFFFFFFFFFFF08FFFFFFF0E -:10037000FFFFFFFFFF800000000000010000000001 -:10038000000000000007FD1000000000000001CF89 -:10039000FFF500000000000000B929FE1000000079 -:1003A0000000003F10020000000003DF800A900000 -:1003B0000000037000DFFF77F7555555558FD30FB9 -:1003C000FFFDCCDFDCCCCCCDFFB08FFE1000AA004F -:1003D00000004D400046100001F202331000000002 -:1003E00000000009B1CFF9000000000000000AFF82 -:1003F000FF900000000000000000BFF900000000B6 -:100400000000000001220000000018DFFD92000241 -:10041000EFFBEFFF300DFFFA2EFFE04FFFFA03FF77 -:10042000F59FFAFA354FFACFC08A3D0BFDEFFB037B -:10043000128FFEFFFFB006FFFFFFFFD108FFFFEFA7 -:10044000FD11109FFFDFD1593B0BFDAFD7FA381DCF -:10045000FB5FFFFA01DFF70DFFFA1DFFF103EFFC71 -:10046000DFFF500018DFFEA30000007FFFF7000051 -:10047000EFFFFFFFFFFFFEEFFFFFFFFFFFFE0000AC -:1004800000000000000FFFFFFFFFFFF00FFFFFFF66 -:10049000FFFFF00FF99F99F99FF00FF88F88F88F01 -:1004A000F00FF88F88F88FF00FF88F88F88FF00F23 -:1004B000F88F88F88FF00FF88F88F88FF00FF88F8B -:1004C00088F88FF00FF99F99F99FF00FFFFFFFFF5A -:1004D000FFF008FFFFFFFFFF800000000000007F2B -:1004E000A00000000000008FFFB000000000000D21 -:1004F000FFFFA0000000008A1DFFFF000000008F2A -:10050000FA1DFF700000008FFFFA1D800000008FB1 -:10051000FFFFFA000000008FFFFFFF800000008F48 -:10052000FFFFFF800000008FFFFFFF800000008FB3 -:10053000FFFFFF800000006FFFFFFF800000000B47 -:10054000FFFFFF8000000000DFFFFF8000000000D1 -:100550000EFFFF800000000000DEDB6000000000F6 -:100560000000000000000000000000001BFFFFFF73 -:10057000FFFFFFE40001DFFFFFFFFFFFFFFE001DA5 -:10058000FFFFFAEFFEAFFFFF01DFFFFFA02EE20A41 -:10059000FFFF1DFFFFFFE202202EFFFFCFFFFFFF47 -:1005A000FE2002EFFFFFCFFFFFFFFE2002EFFFFF65 -:1005B0001DFFFFFFE202202EFFFF01DFFFFFA02E45 -:1005C000E20AFFFF001DFFFFFAEFFEAFFFFF000191 -:1005D000DFFFFFFFFFFFFFFE00001BFFFFFFFFFF2E -:1005E000FFE40008FFFFFFE4008FFFFFFFFE08F8B5 -:1005F0000F0B40FF8FF80F0B40FFFFF80F0B40FF72 -:10060000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA -:10061000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEA -:10062000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA -:10063000FFFFFFFFFFFFEFFFFFFFFFFE4EFFFFFF8C -:10064000FFE40000000000000001000000000000C6 -:100650000003E000001000000002EF1000BF0000E7 -:1006600000007FF100CFF100000007FF11CFFF77FE -:10067000777777BFF1CFFFFFFFFFFFFFFF17FFFF88 -:10068000FFFFFFFFFFE007FFF10000000000000692 -:10069000FF1000000000000005A0000000000000A6 -:1006A0006C765F646973705F6472765F72656769A8 -:1006B00073746572000000002E2E2F7468697264D6 -:1006C00070617274792F6C76676C2F7372632F6C04 -:1006D000765F68616C2F6C765F68616C5F646973CC -:1006E000702E630029160100000000006C765F6127 -:1006F0006E696D5F73746172740000002E2E2F742A -:100700006869726470617274792F6C76676C2F738C -:1007100072632F6C765F6D6973632F6C765F616EA9 -:10072000696D2E63000000006C765F66735F647213 -:10073000765F726567697374657200006C765F66D8 -:10074000735F6F70656E00006C765F66735F6469DF -:10075000725F6F70656E00002E2E2F746869726470 -:1007600070617274792F6C76676C2F7372632F6C63 -:10077000765F6D6973632F6C765F66732E6300001E -:1007800000003C027804B306EE08280B610D990FB7 -:10079000D01106143A166C189D1ACB1CF71E212195 -:1007A00048236C258E27AC29C72BDF2DF32F03326E -:1007B000103418361C381C3A173C0E3EFF3FEC41F3 -:1007C000D443B64593476A493C4B084DCD4E8D50B6 -:1007D0004652F953A5554B57EA58825A135C9C5D13 -:1007E0001F5F9A600D627963DD6439668D67D96831 -:1007F0001D6A596B8C6CB76DD96EF36F04710C72F6 -:100800000B730174EE74D275AD767F7747780679F5 -:10081000BB79677A0A7BA27B327CB77C337DA57D6E -:100820000D7E6C7EC07E0B7F4B7F827FAF7FD27F41 -:10083000EB7FFA7FFF7F00006C765F6D656D5F6117 -:100840006C6C6F63000000005F6C765F6D656D5FC0 -:100850006275665F72656C65617365006C765F6D6D -:10086000656D5F7265616C6C6F6300005F6C765FD5 -:100870006D656D5F6275665F676574002E2E2F74FF -:100880006869726470617274792F6C76676C2F730B -:1008900072632F6C765F6D6973632F6C765F6D6525 -:1008A0006D2E6300436F756C646E277420616C6CF1 -:1008B0006F63617465206D656D6F72790000000073 -:1008C0006C765F6D656D5F6275665F72656C6561A4 -:1008D00073653A2070206973206E6F742061206BFD -:1008E0006E6F776E20627566666572006C765F6DFE -:1008F000656D5F6275665F6765743A204F75742039 -:100900006F66206D656D6F72792C2063616E277440 -:1009100020616C6C6F636174652061206E65772067 -:10092000206275666665722028696E637265617300 -:100930006520796F7572204C565F4D454D5F534968 -:100940005A452F686561702073697A652900000037 -:100950006C765F6D656D5F6275665F6765743A2082 -:100960006E6F2066726565206275666665722E2000 -:10097000496E637265617365204C565F44524157FE -:100980005F4255465F4D41585F4E554D2E00000069 -:100990006C765F7461736B5F6372656174655F62CF -:1009A00061736963000000006C765F7461736B5F54 -:1009B00063726561746500002E2E2F74686972641D -:1009C00070617274792F6C76676C2F7372632F6C01 -:1009D000765F6D6973632F6C765F7461736B2E63E2 -:1009E000000000005F6C765F7478745F6765745F09 -:1009F00073697A6500000000202C2E3B3A2D5F00C1 -:100A00002E2E2F746869726470617274792F6C76FF -:100A1000676C2F7372632F6C765F6D6973632F6CD5 -:100A2000765F7478742E63006C765F7478745F6799 -:100A300065745F73697A653A20696E74656765727B -:100A4000206F766572666C6F77207768696C6520B9 -:100A500063616C63756C6174696E6720746578742A -:100A60002068656967687400FFFF0000108400005B -:100A7000EF808C006C765F6C6162656C5F7365748F -:100A80005F646F745F746D70000000006C765F6C63 -:100A90006162656C5F7365745F616C69676E0000AD -:100AA0006C765F6C6162656C5F7365745F746578AA -:100AB000745F73656C5F7374617274006C765F6CE5 -:100AC0006162656C5F7365745F746578745F73658C -:100AD0006C5F656E640000006C765F6C6162656CD3 -:100AE0005F6765745F746578740000006C765F6C96 -:100AF0006162656C5F6765745F6C6F6E675F6D6F79 -:100B0000646500006C765F6C6162656C5F6765743C -:100B10005F616C69676E00006C765F6C6162656C2A -:100B20005F6765745F7265636F6C6F7200000000D1 -:100B30006C765F6C6162656C5F6765745F616E693E -:100B40006D5F7370656564006C765F6C6162656C87 -:100B50005F6765745F6C65747465725F706F730056 -:100B60006C765F6C6162656C5F6765745F6C657401 -:100B70007465725F6F6E00006C765F6C6162656CAD -:100B80005F7365745F746578740000006C765F6CE9 -:100B90006162656C5F7365745F746578745F666DC0 -:100BA000740000006C765F6C6162656C5F736574E5 -:100BB0005F746578745F737461746963000000002A -:100BC0006C765F6C6162656C5F7365745F6C6F6E91 -:100BD000675F6D6F646500006C765F6C6162656C69 -:100BE0005F7365745F7265636F6C6F720000000005 -:100BF0006C765F6C6162656C5F63726561746500E1 -:100C00006C765F6C6162656C5F7365745F616E6961 -:100C10006D5F7370656564006C765F6C6162656CB6 -:100C20005F6765745F746578745F73656C5F737418 -:100C3000617274006C765F6C6162656C5F6765748D -:100C40005F746578745F73656C5F656E6400000047 -:100C50006C765F6C6162656C5F69735F636861721B -:100C60005F756E6465725F706F7300006C765F6CA9 -:100C70006162656C5F696E735F7465787400000013 -:100C80006C765F6C6162656C5F6375745F746578C8 -:100C9000740000002E2E2F74686972647061727483 -:100CA000792F6C76676C2F7372632F6C765F776920 -:100CB00064676574732F6C765F6C6162656C2E631C -:100CC000000000004661696C656420746F20616CEF -:100CD0006C6F63617465206D656D6F727920666FEE -:100CE0007220646F745F746D705F707472000000C6 -:100CF00054657874000000006C6162656C2063725A -:100D000065617465640000006C765F6C6162656C9F -:100D100000000000F8B500BFF8BC08BC9E46704754 -:100D200089020000F8B500BFF8BC08BC9E467047B9 -:040D30006502000058 -:080D3400B09EFF7F01000000EA -:100D3C000100000048656C6C6F20576F726C642169 -:100D4C004D110100410701001200030000000000DA -:100D5C002400002068DC010090D70100F0D60100CF -:100D6C00F8C9010010000250000000000000000053 -:100D7C0000000000A86B002010000000986B002001 -:100D8C0010000000154001002541010075420100D2 -:100D9C00DD420100AD42010025420100E5400100A9 -:040DAC0047400100BB +:100000001E77B3C812121212340D0D31414141D77F +:100010001379400D0D0D0D40400D3434347E7E3487 +:10002000347E34347E7E7E407E7E34347E3434347E +:100030007E347EE24541E887B533E91254CDCD4F99 +:10004000A9A9A9A9A9A9A9A9080854235412111159 +:100050001111E2E2313140E16A9457F1F1DBDB94B6 +:10006000F57E315F5F5F5F5F5F315E31C5FC375E9C +:10007000767676767676C819C877747438383859B3 +:100080005959543854CDCDCDCDCD54CD6969690C75 +:100090006969696969690C69CBCB480C444870008F +:1000A000000C36484848CBCBCBD36D6969366944E0 +:1000B00020C564E9E91EE91E2BABAB2BB374121209 +:1000C0001268770D79E84141D7E83176400D0D0D82 +:1000D0000D400D3434340D0D34343434347E0D7E03 +:1000E0007E407E3434343434347E7E40E2065D0E0D +:1000F000B55DE24E5454CDCD4F4FA9A9A9A9A9A9E8 +:100100000808A5A56D67E21111111111E2E2314055 +:1001100057576A240BF1DBDB6AD8115F5F5F5F76AC +:10012000765F5F31B1EA0F79767676767619C819FF +:1001300019747474383812595959545454CDCDCD5A +:10014000CDCDCDCDCD6969CFCF6969696969690CBC +:100150006936CB480C4470487070CB4848CBCB48CC +:1001600070CB44440C69366D2D6DD1D7BB6D1EE943 +:100170001E67DC2BBBC87712121212740D7679E859 +:10018000D7D7E813794040407E7E407E34347E40AD +:100190007E343434347E7E407E34681268347E345B +:1001A00034347E4031E8415DB56B31E234CD54CD1D +:1001B000CD4F4F4FA9A9A9A9A908080843180513AD +:1001C000111111111111E2E2646AE694DB0BF1DB0B +:1001D0008C94195F5F5F5F7676767631FB65AF76DC +:1001E0007676767676C819191919747438383812F3 +:1001F00054545454CDCDCDCDCDCDCDCDCD0C0C0C56 +:10020000CB690C69CFCBCB690C0CCBCB480CD300A2 +:1002100070484848CB696DCB4848CB6D0C69CBCB57 +:100220006DD3694420D11E1EE92B6E337777771E7C +:1002300012121212680D0D0D7913E8E8E831790DEC +:1002400068125412595454546834347E7E344040F9 +:10025000126846DD466854687E3434403141F35DAF +:100260006B6BE8E24040CDCDCDCD4F4F3B4FA9A9C0 +:10027000080808086D7A189AA0311111111111E2BD +:100280007EF56AE6570B0BF1DB2466345F5F5F5F38 +:100290007676405EE3FC33767676767676C80DC861 +:1002A00076C8197438383812545454CD3B3B3BCD82 +:1002B000CDCDCDCDCDCD0CE90CCBCBCBCBCB690C03 +:1002C0002D2D693636480C2D70704848CB2DB02A3C +:1002D000CB36367048363636690C0C690CABD1BB60 +:1002E000E91EDC33771E771E124E4E121212340DA9 +:1002F0000D0D7913E813C86846DDA1A1D9D9D9A19C +:10030000A1DD026812687E405959A175DF5858D99D +:1003100059127E7EE206F3F35D5DE83140407E5483 +:10032000CDCDCD4F4F3B3B4F3BA5083B543BD47A03 +:10033000189ADCE211111111E27EE69457327272C2 +:10034000F10BE6E1A45F5F767676402010E313764A +:1003500076760D0D76760D0D7676C87774121212BC +:10036000545454CDCD3B4F4F3BCDCDCD0CCDCDE9ED +:100370006D2DCBCF6969CBCBCBCB6969363648695C +:100380006948484836691B012DCB363648704836D7 +:1003900036CB690C0C0C6D64774E772BAB1E1E1E92 +:1003A0001E124E4E121212680D0D0D400D1268A154 +:1003B000DF5858DFDFDFDFDF5858585858D9025967 +:1003C000A9A52323A4A175DFDFD968681145F3F33C +:1003D00041E83131407E40125954CDCD4F3B543B22 +:1003E0003B3BA5543B54A5437A189A6131E2111165 +:1003F00011112B6A3257DB7272F10B94D8DD5F76E4 +:10040000767640AF650F76767676760D4646460D63 +:100410000D76C8467438125954545454CD3B4F4F3E +:100420004F4F4FCDCD0CCDCD0C0C6DCF0C0CCBCB9D +:10043000CB696969CB3636483669484848CB438A28 +:100440004369CB36487070690C0C69D3D3440CE90E +:10045000BB774E4E1E2B1E1E1E1E12124E4E121229 +:100460007434340D1254A1F7DAF7DFDF757575D9DE +:10047000D9A1A1A10AD9DF58D90208A923B702A19D +:10048000DFDFD9A15931416E4131E240407E406801 +:10049000596854CDCD4F5454CDCDCD5454CDCD59B4 +:1004A00059D47A1801DCE21111117E726A32577246 +:1004B0002F72F1DB6AC811767640760F65F24076CE +:1004C000767676760D464646460D190D74743812CA +:1004D00054545454CDCD4F4FA94F4FCFCDCD0CCD0B +:1004E000CDCFCB69CB69CBCB6969CBCB69364848DB +:1004F00048CBCB4848CB0C056169CBCB484870CB87 +:10050000D3E90C0CD36D440CE91E774E0CBB641E72 +:100510001E1E1E38124E54127477770D4E74DFDA99 +:10052000DF75755FA1A1A1A1A1A402020202A42905 +:10053000A1D958DFB2A9A5B202A1DFD9A1B2133D5A +:100540000E3140407E7E400D54025954CDCDA95904 +:100550005954CDCD545954CD54B277A818821BE2CA +:1005600011111102ED943232E52F720B24944611D1 +:1005700040DD5EE31013DD764076767676464646BD +:100580004646460D4674381254545454CDCDCD4F82 +:10059000A9A94F4FCFCDCDCFCFCFCFCB36CB696928 +:1005A000CBCBCBCB696969CB4848CB484848CB43D8 +:1005B000A06DCBCB3648487069D3E9E9690C6D442E +:1005C0000C0CE9774E4E2BAB1E1E77771E1E125475 +:1005D000121277C8CD46DAD9DD46B25959A5A5A57C +:1005E000A5A5A5A5A5A5A52323B7A4A1D9DFA1A548 +:1005F00008B2A4A1D9A1B2795D45407E3434400D42 +:100600005402B25454CD4FA9B25954CD54545954F4 +:10061000CD545902E5A8821B31E2111177573232CD +:10062000DBE52F0B0B325AA440405B653776DD408B +:100630000D767676760D46467474747474747438D8 +:1006400059545454CDCDCD4F4FA91F4F4FCFCF4FFD +:100650004F4FCBCB36CBCB69CBCBCBCB690C0C0C78 +:100660003670364870484869436D36CB4848487004 +:100670007070691EE9690CE9E90C0CE9774E1E2BD4 +:10068000BB7777AB771E1E124E1212774E46F7DD00 +:10069000B25959540808A9A9A9A9A9A9A90808A53E +:1006A000A5A5A523B70229D9DF46A52329D9A102EB +:1006B0001231407E347E40683BDD02235454CD1F0E +:1006C00054B259545454545959545459B2DD4D826A +:1006D0001B31E2E27EAE6AED3272E52F0B7294B40A +:1006E00002760F65AF40DDDD46C9C90D464668B2EA +:1006F000B27474686868121212545454CDCDCDCFC0 +:100700004FA91F1F4F4FCFCF1FCFCB363636CB69E8 +:10071000CB696969CB6969693648484848480070BF +:1007200036CB484848484870707070CF440C0CE98C +:10073000D30CCD0C3877381E771E1E776477777709 +:1007400012124E741E127546595408A9A908A559CB +:10075000B2020202B259A508A9A9A908A5A5A52314 +:10076000B729D9D9B25902A1A4B2687E3434684FEE +:100770003BA10223A554543B1FB2B25954545454C4 +:1007800059B2545454B702A143613111E26822575F +:10079000ED8CE5E572727294D125EAFC137E40DDA2 +:1007A000DD46464676E8D7805E5F68B2685959599B +:1007B00059545454CDCDCDCF4F4FA91F1F1F4FCFEC +:1007C000CF1FCFCB3636363636CB6969CBCB3636F4 +:1007D0004848484848484800007070484848707089 +:1007E00070701F1F360CCF0C6DBFE9CD0C4E1E383C +:1007F0004E4E4E1E2B2B77AB77121254684E5F462F +:1008000054A91F08B2A1DF5858585858585858587A +:1008100058D9A102A5A9A9A523232302A4D9A1B22D +:10082000595423A95454A91F59D90223A5A5A55445 +:10083000A93BB25954543B545459B2593B5423B771 +:10084000DD5F7779E2111E57EDED51BFE572725110 +:10085000E6AFD6F02534DD404668465E62E0E0E073 +:10086000F4C6C6B96859595959545454CDCDCDCF51 +:10087000CF4F4F4F1F1F1F4FCFCB1FCB3636CBCB8A +:1008800036CBCB6969CBCB364848484848484848BE +:1008900000000000007070707070701F363636CF28 +:1008A0000CD344CDCD0C4E4E124E544E1EABBBBBA2 +:1008B0002B741E1254545468A9A954DD75F7F7DF40 +:1008C00075D9A1A1A1A1A1A10A0AD9885858D90214 +:1008D00008A908A52323B7A4A129A402B22354B2CE +:1008E000D9D9B223A5A5A5A5541FB2B259A55408BC +:1008F000A5A55959B254A5A5B7B7DD7546347E787C +:10090000578C8C2FBFE5724D8C5A6F217C3D5E3425 +:1009100034025E62F4F43D3D3D62625050DA595952 +:1009200059545454CDCDCD4F4F4F4FCF4F361F1F3D +:100930001FCF3670483636CBCBCB36CB6969CB363A +:1009400036364848487070704870000000000070EB +:10095000707070701F1F36CF0C0C6D0CCD5454CDC1 +:10096000544E4E5412777777C87712777459543BA8 +:10097000A9545FDFDF75D9A1A1A1A1292929A1A1CE +:10098000A1A1292929A1A1D958DFDDB223A5A5A5B7 +:10099000080808A559B2DDA1D9A423A5A5A5A5A538 +:1009A000A5A9A502B223A55408A5A523B2B7B208EC +:1009B000A523B7B7DDF7DD0873328C90BFBFBF72D8 +:1009C000E532E120D7805E46B75F62F4C6623D3D06 +:1009D0006262625050DA50C954545454CDCDCDCFD8 +:1009E0004F4F4FCFCF4F361F1F1F1F7070363636F9 +:1009F000CB363636CBCBCBCB36363648484870482C +:100A0000FDFA707000000000007070701F1F1F4F13 +:100A10000C0CCDCDCD54544E54CD545454742B2B7A +:100A20007777127477127412A946DF75D9A1A1DD08 +:100A3000DDA1DD020202020202B702A4A42929A15B +:100A4000A1A10AD9D9D9D9A1A1DDDDDDA1A1A1A199 +:100A50000223A5A5A5A5A5A5A5A5A9020223A5A52F +:100A6000230854A5A5B259B259082323B7B7DDDA34 +:100A700074228C900BABBFBF2FAEE6E5407602230D +:100A80000230F4F4626262626250B9505050F7DF93 +:100A9000A1545454CDCDCD4F4F4F4F4F4F363636D6 +:100AA0001F1F1F1F701FCB363636363636CBCB3660 +:100AB00036CBCB3648484848FDFA6300700000004A +:100AC00000007070701F1F1F4FCFCDCDCDCD54547F +:100AD0005454543B3B54122BB3B3C8747712127462 +:100AE00074A175755FA1A1A1DD02B223A508080854 +:100AF0000808A5A5A523B7B7B7B702A4A4DDA1A18F +:100B0000A1A1A1A129A4B7B723A5A5A5A5A5A5A580 +:100B1000A5A51F02A42323A5A52308A5A5A523B247 +:100B200023A4B2A92323B7B7A4D381909BAEBBBFA4 +:100B3000BFAEAEE674B223028062F462625050B976 +:100B4000B9B9626250F775A1DDB23B54CDCDCD3B52 +:100B50004F4F4F3636363636361F1F1F70703636BB +:100B600048483669693636363636CBCB364848483B +:100B70001507FAFD007070707000007070701F1F14 +:100B8000A9CFCDCDE94ECD54545454CD3B3B3B126F +:100B900077C8D1B379C8741246D9755FA1DD5FA15A +:100BA000B2A5080808080808080808A5A5A5A5A56D +:100BB000A52323232323B7B7B7B7B72323A5A5A519 +:100BC000A5A5A5A5A5A5A5A5A5A5A9B2A1B22323BF +:100BD000A5A52308A5A5A5A5B2B223A1680823232E +:100BE000B7A563ED9797BFBBBFBFBF7232685F30D9 +:100BF00062627CB9B9B9F7F7F7B950B9805FDD0225 +:100C0000B2B2233B3B3BCDCD4F4F4F4F36363636FE +:100C1000361F701F1F7070484836484836364836B1 +:100C20003636CBCBCBCBCBCB150763FD1500707025 +:100C3000007000007070701F1FA9CF4FCDE9CDCD9F +:100C4000544E545454545454541E772BB379137740 +:100C500046755FA1A1DDA1DD230808080808080882 +:100C600008080808080808080808080808A5A5A52D +:100C7000A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A524 +:100C8000A5A5A902D9022323A508A559A9A5A5A50B +:100C9000A523B2B223A1A1A5A5233B7373979744C3 +:100CA00044BFBF789090F7F462B9B9F7F7F7F7DA75 +:100CB000DADAF775C934B2B2B2B2B2A5083B3B3B3F +:100CC0004F4F4F4F4F36363636361F70703648709E +:100CD000707048484848484836CBCBCBCBCB0C1E2D +:100CE000ECFA634A480000007000007000707070F9 +:100CF000CF4F4F4F4F4EE9CD54544E4E5454545451 +:100D00005454121277BB2B2B4675D9A1A1A1A1A1D6 +:100D1000B2A5080808A9A90808A908080808080829 +:100D20000808080808A508A5A5A5A5A5A5A5A5A521 +:100D3000A5A5A5A5A5A5A5A5A5A908DDDFA423238F +:100D400023A5A523B208A5A5A5A5A5B702B7B7A158 +:100D5000D902A52D22971C891E44447844ED72F7D0 +:100D6000B9F7F7F7F7B9DADADFD9A1A468686859F3 +:100D700059592323083B3B3B3B4F4F4F36363636C2 +:100D800036363670707036707070707070484848C3 +:100D90004836CB6969690C3EAB91634A4800000054 +:100DA0000000000000007070CFCF4FCF4FCD4ECD70 +:100DB000CD5454544E5454CD3B54544E12127712C9 +:100DC00068DFA146595454CDCD542323A5A9A9A920 +:100DD000A9A9A9A9A908080808080808080808086E +:100DE00008A5A5A5A5A5A5A5A5A5A5A5A5A5A508ED +:100DF000A9A9B2D9DFA423232323A5A52302A9A54A +:100E0000A5A5A5A5A5B702B2B7DDD9A49173898917 +:100E100078E944444444ED4475B9F7F7F7DF755F6A +:100E2000A1A402B7B7B2B2595954A5543BA93B3B50 +:100E3000CDCD4F4F36364F1F3636361F701F1F70C1 +:100E40007070704870707070484836CB690C697962 +:100E5000F6AE89EC480000000000000000000070C1 +:100E60001FCD1FCDCDCDCD4ECDCD54545454545463 +:100E7000543B5454544E121259D968A91F1F1F1FB6 +:100E80001F1F1F70A9A5A5A9A9A9A9A9A9A9A9A9B1 +:100E900008A9080808080808080808A5A5A5A5A520 +:100EA000A508A9A9A9A9A9085402D9DFD9A423236F +:100EB0002323A5A5A523A40808A5A5A5A5A5A5B791 +:100EC000B2B2B702591C9789896DE96D44D3782273 +:100ED00074DD02DDA1A1A1A1A1DDA4A4020202B2E0 +:100EE0005954A5545408A93B3BCD3B4F4F1F3636B0 +:100EF0001F363636701F1F36367070707070707007 +:100F00007036CB36CB690C778B3391EC4800000000 +:100F1000007000000000007070CF4F36CDCD4F4EF6 +:100F2000383BCD54544E4E5454545454545454128B +:100F300054DD3B1F1F1F1F1F1F1F1F1F1F70700827 +:100F4000A5A9A9A9A9A9A9A9A9A9A9A90808080899 +:100F5000080808080808A508A9A9A5B2DDA1A1D913 +:100F6000D95858D9A1A42323232323A5A5A5A5A4F3 +:100F700059A9A5A5A5A5A5A5A523B2B2B70C978982 +:100F80008978E9E96DD3E9891C02DADFA1B223236C +:100F9000B7B7B723232323545454543B3B3BA93BBB +:100FA0003B3B3B4F4F1F1F1F361F1F361F707036B6 +:100FB0003670704870707070487070CB69CF696D12 +:100FC00006F6446936700000000070000000000062 +:100FD0000070CD361FCDCDCDE94ECD4ECD545454FD +:100FE000545454545454545454593B1FA91F1F1F54 +:100FF0001F1F1F1F1F1F1F1F70A9A5A9A9A9A9A9EE +:10100000A9A9A9A9A9A9080808080808080808A9F9 +:101010000802A1D958585858DFDFD9D9A1A42323F1 +:10102000232323A5A5A508A502021FA5A5A5A5A55F +:10103000A5A5A52346E5FA97898978E9E9E96DE947 +:101040001C91082302A1D9A1A4B223A5A5080808D0 +:101050003B5454CD3B3B3BA93B3B4F1F1F1FA94F6C +:101060004F70701F7070707036707070707070702C +:101070007036367036690CD3678B7969CB4870004F +:1010800000000000000000000000704F1F4FCDCD99 +:101090001ECD3B54E93854544E5454545454545473 +:1010A000595454A9A91F1F1F1F1F1F1F1F1F1F1F98 +:1010B0001F1F70A9A5A9A9A9A9A9A9A9A9A9A9A9F1 +:1010C000A9A908080808A908DDD9D9D9DFDFDFD91F +:1010D000D9D9D9A1A102B723232323A5A5A5A50862 +:1010E0002302A1A908A5A5A5A5A5A5A544E68963F0 +:1010F0008989892D0C0CE96DE9FF1E0AA1DDB2B7C3 +:10110000B202020202A4A402B259A53B08A9A93B5B +:10111000A9A93B54B2DDA1D98888294F701F7070EE +:101120007070704870707070707048CB3636697827 +:10113000E5063E0C69CB487000000000000000008E +:101140000000707070704F4F4E1ECDCD4E4EBBBB29 +:10115000544E54545454545454545408A91F1F1FEB +:101160001F1F1F1F1F1F1F1F1F1F1F1F1FA908A992 +:10117000A9A9A9A9A9A9A9A9A9A9A9A9A9081F595A +:10118000D9A1A1D9DFDFDFDFD9D9D9A12902B723BE +:10119000232323A5A5A5A5A50823B2A1B2A9A50827 +:1011A000A5A5A55451E6BF69FF9189910C0C0C2DA2 +:1011B0002D6D1C748858585858880A0AA1DD02B24F +:1011C000B2DDD988D9D90AD9D9D9D9888888888867 +:1011D0008888888829701F70707070707070707047 +:1011E0007070487036692D8989C8E20C69CB48480F +:1011F0007000000000000000000000707070703689 +:10120000CD1E383B1EAB1E386438545454545454CD +:10121000545454CDA9A91F1F1F1F1F1F1F1F1F1F7D +:101220001F1F1F1F1F1F1F08081FA9A9A9A9A9A9C0 +:10123000A9A9A9A9A9081F5958D9D9DF58DFD9D90F +:10124000D9D9A1A1A4022323232323A5A5A5A5A51C +:10125000A50823B2DDA1A908A508A544ED8C38088E +:10126000CA1C9189910C0C0C2D0CD3632329A1D994 +:10127000D988888858585858D929B25902A1D9D93B +:10128000D90A0A88D90A0A0A0A0A0A0A0A0A4F70F7 +:1012900070707070707070707070704848CBCA89D0 +:1012A000912D0D4ECBCB3648707000000000000031 +:1012B00000000000007070361FCD38CD77791EBB5E +:1012C0001EBBAB54545454545454543B3B08A9A92A +:1012D0001F1F1F1F1F1FA9A91F1F1F1F1F1F1F1F0A +:1012E0000008A9A9A9A9A9A9A9A9A9A9A9A9A90859 +:1012F00088DD5408085946D9D9A1A1A1A4B723B7BC +:10130000232323A5A5A5A5A5A5A50823B202D9B287 +:101310001F085451EDBF08A5A963899163CACD0C7C +:101320000C2D0C9191B7A4A4A1A10A0A0AD9D9DF66 +:10133000DFDF5858D9DD596829A1A1A10A0A0A0A94 +:101340000A0AA1A1A1A1DDCF703670707070707013 +:101350007070707048EC9163CA69CDCDCBCB3648C4 +:1013600048700000000000000000000000007070E5 +:101370004FCD4F4F4E0EC8541E1E1E643854545449 +:10138000545454543B3B08A9A91F1F1F1F1F1F1F64 +:10139000A9A91F1F1F1F1F1F1FCDA908A9A9A9A900 +:1013A000A9A9A9A9A9A9A91F02A5001F1F1F1F1F3D +:1013B000A9DDD9A102B7232323A5A5A5A5A5A5A588 +:1013C000A5A5A50823B2B2A10A54D3E6904E0808F9 +:1013D00008CBFF9191630C690C0C2D0C632DB7A405 +:1013E0002929A1A1A1A1A1A1D9D9D988D9DF58D9E9 +:1013F000B25929A4A429A1A1A1A1A1DDDDDD4668DE +:101400003B70367070707070707070706907910703 +:1014100015484836483648484870700000000000BB +:1014200000000000007000707070CDCDCD33DC1274 +:10143000124E4E4EABBB545454545454543B540867 +:10144000A9A91F1F1F1F1F1FA91FA91F1F1F1F1F84 +:101450001F1E1312A9A9A9A9A9A9A9A9A9A9A91FC8 +:10146000080800A9A9A9A9A9A91F1F02A1B223239D +:1014700023A5A5A5A5A5A5A5A5A5A5080823B2B240 +:10148000A48093E67808080808084A1C91639169CB +:10149000690C0C0C2D63CFA5A52302A42929A12931 +:1014A000A1A1A1A1D988DFD9DF5802CD6859545430 +:1014B000545459595959595954CD701F70707070FE +:1014C000707070CB4AFA91EC4870704848484848B0 +:1014D000484870700000000000000000000000009C +:1014E000007036364F1E7977774EE954541EAB5450 +:1014F000545454545454545408A9A91F1F1F1F1F57 +:101500001FA9A9A91F1F1F1F1F1E3367794F08A9F5 +:10151000A9A9A91FA9A9A9A91FA91F1F1F1F1F1F8B +:101520001FA9A9A91FDDDD232323A5A5A508A508BB +:10153000A5A5A5A5080823B2B25BEACE5EA9A908B5 +:101540000808A963639163CA69690C0C0CCA63A992 +:10155000A508A5A5A5B2A4A4DDDDA1DDDDA1D9DF87 +:10156000DFD9D9DF68CD12B2B25959595454CDCD13 +:10157000CDCDCF70707070707070CB4A0707ECCB18 +:1015800048707070704848484848484870000000EB +:101590000000000000001F000000704F4FCD1E54DF +:1015A0004E774E4E4E543838545454545454595423 +:1015B0005408A9A91F1F1F1F1F1FA9A9A91F1F1F6B +:1015C0001F127913133112A9A9A9A9A91F1FA9A92B +:1015D000A91FA91F1F1F1F1F1F1F1FA9A91FA9A1E7 +:1015E000B2A5A5A5080808080808080808080823DF +:1015F0001966A65BA10A29081FA90836FF91916305 +:101600000C69EC0C2DEC91FA08A5A5A5080808A515 +:10161000B2020202DDDD4646A1D9DFD9D9D954CFC5 +:10162000CD54545959595959595954CD70707070F5 +:10163000704815CA074ACB70000070707070484837 +:10164000484848487070000000000000000000702A +:1016500070000070363BCF4E3B541E384E4E541E29 +:101660005454545454545459593BA508A91F1FA904 +:101670001F1FA9A9A9A9A91F1F12340D7913137936 +:10168000A908A9A9A91F1F1FA9A91FA91F1F1F1FBB +:101690001F1F1F1F1F1FA91F54A4A5A50808080866 +:1016A0000808080808A508CDF1A653740229A10A64 +:1016B000A1231F1F4AFF9163916969EC0C2DEC6314 +:1016C000CA08A5A5A5A5A53B3B3B54B2026846DDCB +:1016D0006859DDD9DFD9D9A1CFCFCFCDCDCDCDCDF3 +:1016E000CD5454544F7070704815CA074A15707025 +:1016F000700070707070707048484848707070006A +:1017000000000000000000000000000000701F4FFB +:101710004E3BCD3838544E5454544E545454545473 +:10172000595959A908A9A91F1F1F1FA9A9A9A91F6C +:10173000A9686868340D791379120808A9A9A91F46 +:101740001F1F1F1FA91F1F1F1F1F1F1F1F1F1F1F1F +:10175000A91FB2B7A508080808080808080808441F +:10176000E66664592302A4A10A0A29A4A9FAFF6320 +:1017700063076969ECEC0C0C636908080808080841 +:101780003B3B3B3B3B59686868DD685446D9D9A16F +:10179000D968CBCDCDCDCDCD54CDCDCD544F703638 +:1017A000ECCA074A154870707070007070707070E5 +:1017B0004848707070707070000000000000007089 +:1017C0001F700000007070704F543BCD38384E4E83 +:1017D00054544E4E595454545959591259A91F1F13 +:1017E0001F1FA9A91F1F1FA9546868686834347691 +:1017F0007979790808A9A9A91F1F1F1F1FA91F1FF1 +:101800001F1F1F1F1F1F1F1F1FA91F3B02A5080807 +:10181000080808083B08545194725923B223B202B5 +:10182000A4A1A1A12902ECFF1C63EC6969ECECEC1A +:10183000CA63A9A5083B3B3B3B3B3B3B3BCDCD545F +:1018400068686846685474D9A1A1A1CFCFCDCDCD29 +:10185000CDCDCDCDCDCD3615CA4AECCB70707070E4 +:101860007070707000707070707070707048707010 +:10187000700000000000000000701F00000070A950 +:1018800070701F1FCD381E384E5454381E54545497 +:10189000595959121212593BA91F1F1F1FA93B5911 +:1018A0006868B268686834340D0D0D3112A9A9A9B1 +:1018B000A9A91F1F1F1F081F1F1F1F1F1F1F1F1F3B +:1018C0001F1FA9A91F0223080808083B3B3B78E615 +:1018D000EDE908A559B22323B202A1A1292929A51E +:1018E000EC63916969ECECECEC07FA1F08083B3BF0 +:1018F0004F3B3B3B3B3BCDCDCD546868B26868CD98 +:1019000068A1A1D954CFCFCFCDCDCDCDCDCDCD36C2 +:10191000EC154870707070707070707070707070CE +:101920007070707070484870700000000000000017 +:1019300000707000000000001F70701F1FCD381E67 +:101940001E38545412BB125459595959591212592C +:10195000595959595912740D0D68686868683434BA +:101960003434340D3179A9A9A9A9A91F1F1F1FA9B2 +:10197000A91F1F1F1F1F1F1F1F1FA9A94F3659B2C5 +:101980000808080808E9E194AE3B083BA523B22308 +:10199000A559B2A429292929027069CA6969ECEC00 +:1019A000ECEC914AA94FA9083B3B4F4F4F4FCF3B1F +:1019B000CDCDCD54B2B2686854CDDDA1D946CBCFE0 +:1019C000CFCFCDCFCFCFCDCF707070707070707023 +:1019D00048483670707070707070707070484870E1 +:1019E0007070000000000000000000000000000017 +:1019F000707070701F1F3B3838384E545412771275 +:101A00005959595959126859595959B2B2683468D3 +:101A1000C82BC80D68686834343434344013133B21 +:101A2000A9A9A9A91F1F1F1F1F081F1F1F1F1F1FB5 +:101A30001F1F1FA94F4F1E0DB23B3B0808AEE6907B +:101A4000E9083B083BA5A55923A523B7B2A429293A +:101A50002929A9CBCF6969ECECECEC63ECA94FA97F +:101A60004F4F4F4F4F4F4FCFCFCFCDCDCD59B25915 +:101A7000B26868545446A1CFCFCFCFCFCFCFCFCD10 +:101A80001F00707070707070363636364870700097 +:101A9000700070707070487070700000000000007E +:101AA000000000000000000000701F7070701FA98F +:101AB0003B54545454121238595912121268126875 +:101AC0005959683468680D0D6874C8C8C80D346801 +:101AD00034343434344031E812A9A9A9A91F1F1F96 +:101AE0001F70081F1F1F1F1F1FA9A94F4F4F1E1632 +:101AF00045B254086DEDE6783B3B3B08A93BA5A5F4 +:101B0000592308A523B7022929B7A51FCB691515A5 +:101B1000ECECECECFA36A9A9A94F4F4F4F4F4F4FC1 +:101B2000CFCFCFCF4FCDCD5459025436484848542B +:101B3000CDCFCFCFCFCFCFCFCF7070707070704878 +:101B400036364F4E4F70700000000000007070700D +:101B500000000000000000000000000070700000A5 +:101B6000000000007070703BA9A93B5454545459B4 +:101B7000591259596868686868B2B20D763468C8F5 +:101B80000D6868680D0DC834340234343434403183 +:101B900013C8A9A91FA91F1F1F1F1FA9A91F1F1F06 +:101BA000A9A9A9A9A94F7706B5E8234E97E6510C34 +:101BB00008CD3B3B3BA93BA5A52323A5A5B202B776 +:101BC00008000000000036156915ECECFAFA1F4F0A +:101BD000A9A9A9A94F4F4F4F4F4FCFCFCFCF4FCF2D +:101BE000CD59364836CBCB48364FCBCFCFCFCFCFE2 +:101BF000CF3600707070703636364F404036707099 +:101C000000000000000000707000000000000000F4 +:101C10000000000000000000000000707000707004 +:101C2000A9A9083B545412591238127712687468E3 +:101C30006868B2B20D13763476C868B26868340D3D +:101C400034340234343434407979793BA91F1F1F6E +:101C50001F1F1F70A9A91FA9A9A9A91F1FCDC8319E +:101C600087F679BFBEEDD3A93BCDCD3B3B08A93B61 +:101C7000A5A5A5230823020800000000000000001D +:101C80000000707070CB151FA9A9A9A9A9A9A94F17 +:101C90004F4F4F4F4FCFCFCFCF591F4836364848C1 +:101CA00048364FCFCFCF4F4F4FCF7070707070709E +:101CB000364F4F349D123670700000000000000057 +:101CC0007000000070700070707000000000707094 +:101CD0000000000070700070701F1F4F3B593838B3 +:101CE000121277127774127468686868B2680D34DB +:101CF00034767668B2B2680D0D343434343434340A +:101D00000D4079AFB4081F1F1F1F1F1F1F1FA91FE2 +:101D1000A9A91F704F1E317976795BE35ABF4FA98D +:101D20003B3BCDCDCD3B3B4F3BA508A5A5B223000A +:101D30000000000000000000000000701FA91F70DC +:101D40004F1F4FA9A9A9A9A94F4F4F4F4F4F36CBAE +:101D50004F591F483636484848483B36CFCF4F3654 +:101D600036CB48007070707036CF4F129DE24F3600 +:101D7000700000000000007000000000007070485B +:101D8000487070707000000000000000000000004B +:101D900070701F1FA954383838381277127474596C +:101DA000681268686868B259B2B2683434686868A2 +:101DB000C8C80D343402023479F237FC653754A9AF +:101DC0001FA91F1FA91F1FA9A91F1F4F1E79137924 +:101DD00076D1FB650F1E083BA94F3BCDCDCD4F4FB4 +:101DE0004F3B3BA5A559A5000000000000000000E6 +:101DF000000000001F1F1F4F1F1F361F1F363636E3 +:101E000036364F4F36364F363654A948364848484E +:101E10004848CF1F364F363636CB3600707070705C +:101E20007036CF4E3E9D12363670007000000000B6 +:101E300070000070707048484848484848480000A2 +:101E400000000000000000000070701F1FA9547403 +:101E500074383812741274745959B26868686868B2 +:101E6000686868B2B2686868680D79C834342B2C29 +:101E7000E32EFCFB5B7931C8A91F1FA9A91F1FA96D +:101E80001F1F4F1E13453179677165E3D10D744FE4 +:101E900008A94F3BCDCDCF4F4F4F4F3B3B23A90020 +:101EA000000000000000000000000000701F1F7014 +:101EB0001FA970361F1F1F3636363636364F4F363F +:101EC000363B0870484848484848361F364F363633 +:101ED00036363600707070701F364F3B409DE2CD35 +:101EE0003648000000700070007070704848484824 +:101EF000484848151515FD0070700000000000707E +:101F0000707070701F36A9541274747412121268B3 +:101F10007459596868686868686868686868B26809 +:101F20006834340D792CE3FCE353D1764040767964 +:101F30004577A91F1F1F1F1FA94EC813E813311390 +:101F4000AFFCFCF2C80D0D0D3BA9A9A94FCDCDCF1B +:101F50004F4FA9A93B54A900000000000000000059 +:101F6000001515487070001F1F70A91F1F1F3636FF +:101F70001F1F363636363636363B3B7048484848A3 +:101F8000484836A91F4F36363636367000707070A6 +:101F90007036364F123E3E1236367000000000009A +:101FA0007070484848484815151515FD4A4A0707F6 +:101FB00000000000000000000000701F1F1F364FCF +:101FC0003B541274741268120D34595968680D74B8 +:101FD00034746868686868B2686834C853FCFC7117 +:101FE000D10D343476767676313145317712544ED0 +:101FF0007767E8E8133131AF106571790D0D0D0D7C +:102000000D4EA9A9A94FCFCFCF4F4FA9A9A51F000A +:102010000000000000000000000015CB4870707048 +:1020200000701F1FA9701F1F1F36361F3636363629 +:10203000364F3B70704848484848361F4836363659 +:102040003636487070707070707036363B403E3473 +:102050004F36487000000000704848484815151574 +:10206000FD4A070707074A4AFD000000000000007C +:10207000000070701F1F1F364F3B5412747412689B +:102080000D1368B2B2B2680D746834346868686859 +:1020900068682B71FC6FB4790D0D0D343476797648 +:1020A0007631313113E8E81345E813131331333730 +:1020B0006537D17676C80D0D0D77744FA9A94FCF2E +:1020C000CFCF4FA9A9087000000000000000000059 +:1020D0000000481515707070707000701FA9701F97 +:1020E0001F1F1F363636363636363B70707000701E +:1020F00048484836704848483648700070707070DC +:102100007070703636123EE2CD364870707070488E +:10211000484848481515FD4A0707074A4AFD15155E +:102120004848000000000000000000007036361F24 +:10213000364F3B5459747412740DC8685959B268BB +:102140006868686834686868B2C853FC105B3468B3 +:1021500034C8C80D343476797631313131131313E4 +:102160001313131331130F65105B797676C80DC8FE +:102170000D7774744E1F3B4FCFCF4F4F3BA970006C +:10218000000000000000000000000015CB150070EA +:102190007070707070001FA970363636363636365D +:1021A00048364F70701F70707070484870483636EF +:1021B00048707070707070707070703636CF40E21A +:1021C000CD3636487048484848484815FD4A070704 +:1021D0004A4AFD15151548484848480000000000C7 +:1021E000000000000000701F703636CD545459595D +:1021F000597412741259686868686868683468B2FB +:10220000C85310716476763468340D0D0D34340D76 +:1022100076761313313113131313133113AFFCEA12 +:10222000B179797976C8C8C8C80D77747474CF1F2E +:102230003BCDCD3B3B1F0000000000000000000034 +:10224000000000001515480070707070707070000C +:102250001F1F703636363648364FA970701F7070A3 +:102260007070707070707048707000707070707006 +:10227000707070703636CD34CD3636484848484890 +:102280004815FD4A4A074AFD15151548484848486B +:102290004870700000000000000000700000007036 +:1022A0007070364FCDCD5454595912127459686814 +:1022B0006868680D6868B2775310242B6868340D1D +:1022C00034346834343434343440403113313131AF +:1022D000131313135BE3650F677979792BC8C8C8AB +:1022E000C87777777438387470704F4F1F7000005C +:1022F0000000000000000000000000004815154824 +:1023000000707070707070707070700070701F3638 +:1023100036A91F707070707070707070707070700F +:10232000707070707070707070707070704836CFB0 +:10233000CFCBCB484848481515FD4A074AFD15152F +:1023400015484848484848707000000000000000E8 +:1023500000000000700000707070484FCF541212DF +:10236000595912127459596834343468686874F1D0 +:102370001053C8B268686868683434346868683470 +:1023800034340D403113313131313133FB65E333B6 +:102390007979797676C8C8C8C87779797774383802 +:1023A00038000000000000000000000000000000F5 +:1023B000000000000048151500007070707070700B +:1023C00070707070700000707070707070707070ED +:1023D00070707070707070707070707070707070FD +:1023E000707070707070483636CBCBCB151515FDFC +:1023F0004A074AFD15154848484848484870700043 +:10240000000000000000000000000000000000705C +:1024100070707036CDCD120D6859595959595959A6 +:10242000686868346868E566BE2B68346868686800 +:10243000686868343468683434343434347631311C +:10244000313113B1FC10F27979797676C8C8C8C8F1 +:10245000C877C845C8741E383869000070707000AD +:102460000000000000000000000000000000151542 +:102470001500007070707070707070707070707097 +:10248000707070707070707070707070707070704C +:10249000707070707070707070707070707048488C +:1024A000CBCBCBCB15EC4A07074AFD15484848482B +:1024B000484870000000000000000000000000001C +:1024C0000000000000000000707070704FCD544597 +:1024D000765959595959595959596868682BBE66DE +:1024E000E568680D343468686868686868686834E6 +:1024F000340D4634343476764079F2E3FCB16779B2 +:10250000797676C8C8C8C8C877777777771E1E38B7 +:1025100038384800007070700000000000000000B3 +:102520000000000000007015154800007070707009 +:10253000707070707070707070701F7070707070EC +:10254000707070707070707070707070707070708B +:1025500070707070484848484848CB154A0791CA7F +:102560004A69154848484870000000000000000013 +:10257000000000000000000000000000000000005B +:102580000000707036364FAB876812595959595947 +:102590005959686874F1A6DB74B268680D0D346827 +:1025A000686868686868683434340D0D46343440AF +:1025B000792C37E3B167407676C8C8C8C8C8C877F1 +:1025C000777777771E1E1E1E38380C0000000070CB +:1025D00000000000000000000000000000000048B3 +:1025E0001515700000707070707070707070707081 +:1025F00070707070707070707070707070707070DB +:10260000707070707070707070707070484848486A +:10261000CBCB15CA91FACAEC69E9154848480000C5 +:1026200000000000000000000000000000000000AA +:102630000000000000000070707000703636360C2C +:10264000DC7712125959595959595968D16666643B +:1026500068686868680D6868686868686868683489 +:10266000346834460D46342BF17171F27976767602 +:1026700076C8C8C8C8C87777777777771E1E1E38A0 +:10268000384E38CB00000000700000000000000051 +:10269000000000000000000015151500000070701B +:1026A000707070707070707070707070707070702A +:1026B0007070707070707070707070707070364F75 +:1026C000707070484848CB4848FD0763914A15151B +:1026D000CBE9E9484870000000000000000000005D +:1026E000000000000000000000000000007000007A +:1026F000707070701FCFCF36AB79694E54545454FC +:10270000595959125365F17468686868686868684F +:1027100068686868686868340D34686834462BB047 +:1027200053F1670D0D4076400D0D0DC8C8C8777781 +:1027300077771E1E1E1E1E3838E94EE9480000003D +:102740000070000000000000000000000000000019 +:1027500000FD48150000007070707070707070702F +:102760007070707070707070707070707070707069 +:102770007070707070704F593B70484848CBCB48B0 +:10278000ECFA63914A15CB15CB691E6948700000BD +:102790000000000000000000000000000000000039 +:1027A0000000000000707000000070707070364F04 +:1027B0000C1E69CFCFCDCD54545954BB665A2B68EB +:1027C0006868686834686868686868343468686825 +:1027D000680D0D34680D64B0B02B4634340D0D0D0A +:1027E0000D0D0D0DC8C87777771E1E1E1E1E1E38D4 +:1027F000E9E9E94E0C000000000070000000000054 +:1028000000000000000000000048FD1548000070B6 +:1028100070707070707070707070707070707070B8 +:1028200070707070707070707070707070703659F9 +:1028300059364848CB4848EC631C634A1515CBCB46 +:10284000CBCB4E12367000000000000000000000EC +:102850000000000000000000000000000000707098 +:10286000707070707070363636CFCFCFCFCFCD59F5 +:102870005954542F947259591268686868683468BA +:10288000686868340D4674686868460D0DC82B2B5F +:10289000464646464634340D0D0D0D0D0DC877776E +:1028A00077771E1E38381EE9E9E9E94E4ECB000065 +:1028B00000000070000000000000000000000000A8 +:1028C00000001515157000007070707070707070D9 +:1028D0007070707070707070707070707070704820 +:1028E00048707070707048CF543648CBCB48156331 +:1028F00097634A15CB154848483669123B707000FB +:1029000000000000000000000000000000000000C7 +:102910000000000000007070707070707070704F78 +:102920004F3636364FCF4F546859540B94BFA55984 +:1029300059126874686868340D406868680D467498 +:10294000686868740D0D46746868744674687446E7 +:1029500034340D0D0DC80DC879771E1E1E38E9E9F7 +:10296000E9E9E94E0C0C480000000000700000008E +:102970000000000000000000000000FD48150000FD +:1029800000707070707070707070707070707070B7 +:102990007070707070701F363636367070707036AA +:1029A000CF36CB15481507731C4A15484848484888 +:1029B0004848484E12367000000000000000000039 +:1029C0000000000000000000000000000000707027 +:1029D00070707070707070704F4F36363636CFCF63 +:1029E00054743824941E5454595959127474686894 +:1029F00040F63168686868687468687474747468EC +:102A000068746868686868744646460D0D0DC87934 +:102A1000F631773838E9E9E9E9E90C0CCDCD690000 +:102A20000000000000700000000000000000000036 +:102A300000000000FD48150000007070707070709C +:102A400070707070707070707070707070703636FA +:102A50003636544F707070483636CB15CB4AFF73FC +:102A60000715484848484848484848CB124F7070B6 +:102A70000000000000000000000000000000000056 +:102A8000000000000000007070707070701F1F70F8 +:102A9000701F3636363636CFCFCD4E5AE6383BCD60 +:102AA0003B5959591274746834F68734346868682D +:102AB0006874747474747474747468686868747412 +:102AC000687446460DC8C83116F6C81E1EE9E9E905 +:102AD000E9E90CCDCDCDCDCB000000000000000019 +:102AE00000000000000070707000000048FD4848C1 +:102AF000000000487070707070707070707070704E +:102B00007070707070703636364F68593648484865 +:102B100036CB15CB156373631548154848484848AC +:102B200048484848CDCD707000000000000000000B +:102B30000000000000000000000000000000000095 +:102B4000701F1F361F1F36361F1F1F1F363636CF0A +:102B5000CFCFE93232E954CD3B3B545959687474B4 +:102B600068798734686868686868747468686868D1 +:102B7000746868686868747468747474740DC8796B +:102B80005D1679741EE9E9E90C0C0CCDCDCDCDCDE7 +:102B900048000000000000000000007036363636A5 +:102BA0003636360000151548000000004870707079 +:102BB000707070707070707070707070704848369F +:102BC000364F68344F48484848151515CA73FF4AB0 +:102BD00048154848484870707070484836CD4800DD +:102BE00000000000000000000000000000000000E5 +:102BF0000000000000000000001F1F363636363689 +:102C00003636363636363636CBCF6DE65A4E5459D2 +:102C1000543B3B545959127474684034686868686E +:102C20006868686868686868681212681212747464 +:102C30007468687474740DC8F616E8771EE9E90CB8 +:102C40000C0C0CCDCDCDCDCF697000000000000084 +:102C5000000000CBCFCFCB36363670487000FD4831 +:102C600015000000004870707070707070707070A7 +:102C700070707070707048363636597E54363648EB +:102C80004815CBFD1C90FA1515154848484870703A +:102C900070707070483636000000000000000000C0 +:102CA0000000000000000000000000000000000024 +:102CB00000001F1F1F363636363636363636363665 +:102CC000364F6D57244ECF5474593B3B54595912CB +:102CD000747474686868686812686812747474122E +:102CE000741212121212127474741212127474C8C2 +:102CF000061687C81E38E90C0CCDCDCDCDCFCFCF71 +:102D0000CFCB00000000000000000036CFCFCB3654 +:102D100036363648487070FD484800000000707034 +:102D2000707070707070487070707048487048486B +:102D30003636547E68CF36CBCB15150773FF4A481D +:102D4000154848484870707070707070707070707E +:102D50000000000000000000000000000000000073 +:102D600000000000000000000000001F1F1F1F36B1 +:102D700036363636363636363636E9578C54CDCF7B +:102D8000CF5454CD4F3B54595974747468686812C9 +:102D900012686812123874381212121212121212B9 +:102DA00012383812121274741316F6C81E38E90C51 +:102DB000CDCDCDCFCFCFCFCFCFCF480000000000BB +:102DC00000000070CFCFCBCBCB3636484848704898 +:102DD000FD4870000000007070707070707070704E +:102DE000707070707048484836363B3468CDCBCB35 +:102DF0001548FD1C22FA1515154848484870707092 +:102E000070707070707070000000000000000000B2 +:102E100000000000000000000000000000000000B2 +:102E2000000000001F36361F1F363636363636365F +:102E300036360CE6EDCDCFCDCFCFCFCFCF4F4F3BFA +:102E40005412123838121212126868121212121228 +:102E500012121212121212125959121212121212C4 +:102E60000DF6F6C83838E90CCDCDCFCFCFCFCFCFC8 +:102E7000CFCFCF700000000000000000CBCFCBCB45 +:102E8000CB36363648484870FD1548000000000033 +:102E90007070707070707070707070707070484882 +:102EA0004836CF680254CBCBCBCB0773FFFD481518 +:102EB00048484870707070707070707070707000FA +:102EC0000000000000000000000000000000000002 +:102ED0000000000000000000000000000036363650 +:102EE0001F36361F1F1F36363636CDED320C4FCF0C +:102EF000CFCFCFCFCF544F3B3B3B591212121212C0 +:102F00001212681259121212383812121212125971 +:102F10001259595959595959120D3177124EE90C14 +:102F2000CDCFCFCFCFCFCFCFCFCFCF360000000088 +:102F30000000000070CFCFCB3636363648484848C0 +:102F400070FD48480000000000707070707070489C +:102F500070707070707070484848365902546969D2 +:102F6000CB156322FA1515154848487070707070BB +:102F700070707070707070700000000000000000D1 +:102F80000000000000000000000000000000000041 +:102F90000000000000001F1F1F1F361F361F1F1FCD +:102FA0003636CF9B576D36CFCFCFCFCFCFCF36363C +:102FB000364F3B5912121259595912591212121204 +:102FC000121212121212125959595954545454547B +:102FD0005454124E4E4E0CCDCFCFCFCFCFCFCFCFFC +:102FE000CB3636CB480000000000000000CBCFCB32 +:102FF000CB363648484848487048FD4848000000ED +:1030000000007070707070704870707070707070C8 +:10301000484848CD68596969CBEC97734A481548C8 +:1030200048487070707070707070707070707070F0 +:103030007000000000000000000000000000000020 +:103040000000000000000000000000000000001F61 +:103050001F1F1F1F1F1F1F361F361F8957781FCBAB +:10306000CFCBCFCDCFCFCF54CD4F3B3B5912125901 +:103070005959595912681259595959595959595444 +:1030800054545454545454545454545454CDCDCD95 +:10309000CFCFCFCFCFCBCBCBCB36363636700000B1 +:1030A000000000000070CFCBCB36367070704848FF +:1030B0004870151548700000000000707070707046 +:1030C0007070707070707070704848365454691524 +:1030D000CBCA736315484848484848707070707090 +:1030E00070707070700000000000000000000000B0 +:1030F00000000000000000000000000000000000D0 +:103100000000000000000000707070707070701F90 +:103110001F361F2D81974F3636364FCDCDCF69CF15 +:10312000CD4F4F4FCD59591259595959591212591A +:103130005959545454545454545454545454545445 +:103140005454CDCDCDCDCDCFCFCF4F4F36363636F3 +:10315000363636363636000000000000000036CB2A +:10316000CB36364848707048484870FD48480000E3 +:10317000000000007070707070707070707070700F +:103180007070484836CFCBCB156373CA4815484892 +:1031900048707070707070707070707070000000A7 +:1031A000000000000000000000000000000000001F +:1031B000000000000000000000000000000000000F +:1031C0000070707070707070701F1FCF7322691F55 +:1031D000363636364FCF69CD0C4ECF3636CF5459B2 +:1031E000595959545954545454545454544E545491 +:1031F00054545454545454543BCDCD3B3B3B4F4F0B +:103200004F4F4F363636363636363636363670000F +:103210000000000000000036CB36364848484848D9 +:10322000484848484A484800000000000070707054 +:1032300070707070707070707070704848CBCBCBCD +:10324000EC1C1CFD481548487070707070707070F0 +:1032500070707000700000000000000000000000AE +:10326000000000000000000000000000000000005E +:1032700000000000000000000000707070707070AE +:103280007070701F91ED9170701F363636CFCD0C77 +:103290000C2B2BCDCF4FCFCD5454545454545454A5 +:1032A00054545454545454545454545454CD543B7E +:1032B000A9A9A94F1FA91F1F1F701F1F1F1F1F365E +:1032C0001F1F3636361F700000000000000000701F +:1032D00036363648484870484848487048FD48489F +:1032E00000000000000048704870707070707070CE +:1032F000707070484848CBCB4A1C63154848484812 +:10330000707070707070707000000000007000705D +:1033100000000000000000000000000000000000AD +:10332000000000000000000000000000000000009D +:1033300000000070707070707070707069FF1C36E3 +:10334000707070363636CDCD0CAB6E1ECF36364F24 +:10335000CF545454545454545454545454545454B2 +:103360003B3B3B3B3B3B3BA91F1F1F70707070708A +:1033700070707070701F1F707070707070707070EF +:1033800000000000000000007070363670484848A9 +:103390007070484870FD1548700000000000007013 +:1033A0007070707070707070707070484848CB4862 +:1033B0004A1C074848484870700000000070000030 +:1033C000000000000070000000000000000000008D +:1033D00000000000000000000000000000000000ED +:1033E000000000000000000000000000707070701D +:1033F0007070707070CAFF4A70707070363636CF59 +:10340000CDE96E0E0CCF3636364F545454CDCD3BED +:10341000CDCDCDCD3BCD543B3B3B3B3B3B3B3B1F25 +:103420001F7070707070707000700000000070701D +:10343000707070707070700000000000000000007C +:103440000070704848484870484848484800FD485F +:1034500048000000000000707070707070007070A4 +:1034600070707048484848484A634A4848487070F5 +:1034700070000000707000007000000000707000AC +:10348000000000000000000000000000000000003C +:10349000000000000000000000000000000000002C +:1034A0000000000000707070707070707036639172 +:1034B0003670707070703636CF0C67B5ABCDCD36C8 +:1034C00036364F3BCD3B3B3B3B3B3B3B3B3B3B4F9C +:1034D0004FA91F1FA9A91F707070707070707000C5 +:1034E000000000000000000000707000000070008C +:1034F0000000000000000000000070707048707054 +:10350000707048704870704A484800000000000021 +:10351000007070000000000000707070484848485B +:103520004A63FD4848487070707000000000000059 +:10353000000000000000707070000000000000003B +:10354000000000000000000000000000000000007B +:10355000000000000000000000000000000070708B +:10356000707070700070EC63EC707070707070361A +:10357000364F4E6E870C69CF36701F4F3B3B3B3B3F +:10358000080808A91FA9A9707070701F1F707070BB +:10359000707070007000000000000000000000006B +:1035A000000000000000000000000000000000001B +:1035B00000000070707070707070707070700048F3 +:1035C000FD707000000000000000700000000000AE +:1035D00000007070484848484AFA1548484870004A +:1035E000007000000000000000000000000070708B +:1035F0003670000000000000000000000000000025 +:1036000000000000000000000000000000000000BA +:103610000000000000000070707070000000704A30 +:10362000FA360000000070707036362A6E1E4F4F5A +:10363000367070701F4F4F1F1FA91F1F70007070D2 +:1036400070707070707070707070700000000000AA +:1036500000000000000000000070000000000000FA +:10366000000000000000000000000000007070700A +:1036700070707070707070001515700000000000A0 +:10368000000000000000000000007070484848483A +:103690004A4A154848487000000000000000000039 +:1036A0000000000000007070364F70000000000045 +:1036B000000000000000000000000000000000000A +:1036C00000000000000000000000000000000000FA +:1036D00070700000000000704A4A70000000007026 +:1036E0007070363667AB4F4F3636707070701F1F74 +:1036F00070707000007070707070707070707070AA +:1037000070707070000000000000000000000000F9 +:103710000000700000000000000000000000000039 +:103720000000000000000070707000000000000049 +:1037300000154870000000000000000000000000BC +:103740000000007048484848FD4A4848487000005A +:1037500000000000000000000000000000000070F9 +:10376000703B360000000000000000000000000078 +:103770000000000000000000000000000000000049 +:103780000000000000000000007070000000000059 +:10379000704A157000000000007070704F4E363691 +:1037A00036367070707070707070707070000000DD +:1037B00000707070707070707070700000000000A9 +:1037C00000000000000000000000000000000000F9 +:1037D00000000000000000000000000000000000E9 +:1037E00000000000000000000000150000000000C4 +:1037F0000000000000000000000000707048484811 +:10380000FDFD484848700000000000000000000076 +:103810000000000000000070704F3B7000000000CE +:103820000000000000000000000000000000000098 +:103830000000000000000000000000000000000088 +:10384000000000000000000000484ACB000000001B +:1038500000007070707070361F70707070707070D3 +:103860007070707070700000000000000000007048 +:103870000000000000000000000000000000000048 +:103880000000000000000000000000000000000038 +:103890000000000000000000000000000000000028 +:1038A0000000704800000000000000000000000060 +:1038B0000000000070484848FDFD4848487000007E +:1038C00000000000000000000000000000000000F8 +:1038D000701F4F3670000000000000000000000064 +:1038E00000000000000000000000000000000000D8 +:1038F00000000000000000000000000000000000C8 +:10390000000048FD4800000000000000707070706A +:1039100070707070700000707070707070707000F7 +:103920000000000000000000000000000000000097 +:103930000000000000000000000000000000000087 +:103940000000000000000000000000000000000077 +:103950000000000000000000000000000000000067 +:1039600000000000000000000000000070704848E7 +:10397000151548487000000000000000000000001D +:10398000000000000000000000704F4F70000000B9 +:103990000000000000000000000000000000000027 +:1039A0000000000000000000000000000000000017 +:1039B000000000000000000000000048484800002F +:1039C0000000000000000070707070707000000057 +:1039D0000070707070000000000000000000000027 +:1039E00000000000000000000000000000000000D7 +:1039F00000000000000000000000000000000000C7 +:103A000000000000000000000000000000000000B6 +:103A100000000000000000000000000000000000A6 +:103A2000000000000070484815154848700000006C +:103A30000000000000000000000000000000000086 +:103A400000001F4F1F0000000000000000000000E9 +:103A50000000000000000000000000000000000066 +:103A60000000000000000000000000000000000056 +:103A7000000000704848487000000000000000008E +:103A800000000070000000000000007070000000E6 +:103A90000000000000000000000000000000000026 +:103AA0000000000000000000000000000000000016 +:103AB0000000000000000000000000000000000006 +:103AC00000000000000000000000000000000000F6 +:103AD000000000000000000000000000000070482E +:103AE00015154848700000000000000000000000AC +:103AF000000000000000000000007036367000007A +:103B000000000000000000000000000000000000B5 +:103B100000000000000000000000000000000000A5 +:103B2000000000000000000000000000704848484D +:103B30000000000000000000000000000000000085 +:103B40000000000000000000000000000000000075 +:103B50000000000000000000000000000000000065 +:103B60000000000000000000000000000000000055 +:103B70000000000000000000000000000000000045 +:103B80000000000000000000000000000000000035 +:103B90000000000000000070481548707000000030 +:103BA0000000000000000000000000000000000015 +:103BB00000000070367000000000000000000000EF +:103BC00000000000000000000000000000000000F5 +:103BD00000000000000000000000000000000000E5 +:103BE00048656C6C6F20576F726C64006C765F6414 +:103BF000656275675F636865636B5F73747200000D +:103C00003031323334353637383941424344454612 +:103C1000000000006C765F64656275675F6C6F67BB +:103C20005F6572726F7200002E2E2F746869726465 +:103C300070617274792F6C76676C2F7372632F6C5E +:103C4000765F636F72652F6C765F64656275672E51 +:103C5000630000006C765F64656275675F6368652A +:103C6000636B5F7374723A2061206E6F6E2D4153E7 +:103C700043494920636861722068617320726570EE +:103C80006561746564206D6F7265207468616E2073 +:103C90004C565F44454255475F5354525F4D41581F +:103CA0005F5245504541542074696D657329000089 +:103CB0006C765F64656275675F636865636B5F738D +:103CC00074723A20696E76616C696420636861720F +:103CD00020696E2074686520737472696E6720288D +:103CE0003C2031302076616C756529006C765F640C +:103CF000656275675F636865636B5F7374723A20B2 +:103D0000737472696E67206973206C6F6E67657279 +:103D1000207468616E204C565F44454255475F539E +:103D200054525F4D41585F4C454E47544800000087 +:103D30006C765F646973705F6765745F7363725FED +:103D4000616374006C765F646973705F6765745F4C +:103D50006C617965725F746F700000006C765F64EF +:103D60006973705F6765745F6C617965725F7379A1 +:103D7000730000006C765F646973705F61737369D0 +:103D8000676E5F73637265656E0000006C765F64DA +:103D90006973705F6765745F696E61637469766586 +:103DA0005F74696D650000006C765F646973705FB5 +:103DB000747269675F616374697669747900000081 +:103DC0005F6C765F646973705F6765745F72656668 +:103DD000725F7461736B00002E2E2F7468697264B9 +:103DE00070617274792F6C76676C2F7372632F6CAD +:103DF000765F636F72652F6C765F646973702E6394 +:103E0000000000006C765F7363725F6163743A2038 +:103E10006E6F20646973706C617920726567697375 +:103E2000746572656420746F2067657420697473AB +:103E3000206163742E2073637265656E000000005C +:103E40006C765F6C617965725F746F703A206E6F2B +:103E500020646973706C6179207265676973746539 +:103E600072656420746F20676574206974732074B0 +:103E70006F70206C61796572000000006C765F6C79 +:103E8000617965725F7379733A206E6F206469732C +:103E9000706C6179207265676973746572656420FE +:103EA000746F2067657420697473207379732E2092 +:103EB0006C617965720000006C765F646973705F95 +:103EC00061737369676E5F73637265656E3A2074C0 +:103ED000727920746F2061737369676E2061206E40 +:103EE0006F6E2D73637265656E206F626A656374B1 +:103EF000000000006C765F646973705F6765745FD3 +:103F0000696E6163746976655F74696D653A206E88 +:103F10006F20646973706C6179207265676973746E +:103F200065726564000000006C765F646973705FA1 +:103F3000747269675F61637469766974793A206E37 +:103F40006F20646973706C6179207265676973743E +:103F500065726564000000006C765F646973705F71 +:103F60006765745F726566725F7461736B3A206E29 +:103F70006F20646973706C6179207265676973740E +:103F800065726564000000006C765F67726F757023 +:103F90005F637265617465006C765F67726F7570E0 +:103FA0005F6164645F6F626A000000002E2E2F74F0 +:103FB0006869726470617274792F6C76676C2F73A4 +:103FC00072632F6C765F636F72652F6C765F6772BA +:103FD0006F75702E630000004F7574206F66206D42 +:103FE000656D6F72790000006C765F67726F757037 +:103FF0005F6164645F6F626A3A20746865206F6213 +:104000006A65637420697320616C726561647920EC +:10401000616464656420746F2074686973206772DA +:104020006F7570006C765F67726F75705F61646446 +:104030005F6F626A3A2061737369676E206F626AAC +:1040400065637420746F20616E206F7468657220E0 +:1040500067726F75700000006C765F696E6974003E +:104060006C765F6465696E69740000006C765F6FE2 +:10407000626A5F64656C5F6173796E630000000063 +:104080006C765F6F626A5F7365745F6175746F5F92 +:104090007265616C69676E006C765F6F626A5F73F0 +:1040A00065745F6578745F636C69636B5F6172658B +:1040B000610000006C765F6F626A5F7365745F61B8 +:1040C00064765F6869747465737400006C765F6F02 +:1040D000626A5F7365745F636C69636B0000000004 +:1040E0006C765F6F626A5F7365745F746F700000F7 +:1040F0006C765F6F626A5F7365745F64726167009C +:104100006C765F6F626A5F7365745F647261675F2C +:10411000646972006C765F6F626A5F7365745F6476 +:104120007261675F7468726F770000006C765F6F12 +:10413000626A5F7365745F647261675F7061726504 +:104140006E7400006C765F6F626A5F7365745F7097 +:104150006172656E745F6576656E74006C765F6F14 +:10416000626A5F6164645F70726F7465637400009B +:104170006C765F6F626A5F636C6561725F70726FAD +:1041800074656374000000006C765F6F626A5F7331 +:1041900065745F6576656E745F6362006C765F65FB +:1041A00076656E745F73656E645F66756E6300003E +:1041B0006C765F6576656E745F73656E6400000093 +:1041C0006C765F6F626A5F7365745F7369676E6157 +:1041D0006C5F6362000000006C765F6F626A5F7301 +:1041E00065745F64657369676E5F636200000000F9 +:1041F0006C765F6F626A5F616C6C6F636174655F40 +:104200006578745F61747472000000006C765F6F93 +:10421000626A5F726566726573685F6578745F6411 +:104220007261775F706164006C765F6F626A5F676E +:1042300065745F706172656E740000006C765F6F0C +:10424000626A5F6765745F73637265656E00000024 +:104250006C765F6F626A5F6765745F646973700034 +:104260006C765F6F626A5F6765745F6368696C64D0 +:10427000000000006C765F6F626A5F7365745F6256 +:104280006173655F646972006C765F6F626A5F6715 +:1042900065745F6368696C645F6261636B000000F2 +:1042A0006C765F6F626A5F636F756E745F63686977 +:1042B0006C6472656E0000006C765F6F626A5F63AB +:1042C0006F756E745F6368696C6472656E5F72654A +:1042D00063757273697665006C765F6F626A5F679B +:1042E00065745F636F6F7264730000006C765F6F5C +:1042F000626A5F6765745F78000000006C765F6FCC +:10430000626A5F6765745F79000000006C765F6FBA +:10431000626A5F6765745F776964746800000000B3 +:104320006C765F6F626A5F6765745F68656967680E +:10433000740000006C765F6F626A5F6765745F612E +:1043400075746F5F7265616C69676E006C765F6F24 +:10435000626A5F6765745F6578745F636C69636BDD +:104360005F7061645F6C6566740000006C765F6FFF +:10437000626A5F6765745F6578745F636C69636BBD +:104380005F7061645F726967687400006C765F6F6C +:10439000626A5F6765745F6578745F636C69636B9D +:1043A0005F7061645F746F70000000006C765F6F17 +:1043B000626A5F6765745F6578745F636C69636B7D +:1043C0005F7061645F626F74746F6D006C765F6FB5 +:1043D000626A5F6765745F6578745F647261775F56 +:1043E000706164006C765F6F626A5F636C65616EBA +:1043F0005F7374796C655F6C697374006C765F6F62 +:10440000626A5F6765745F6C6F63616C5F73747918 +:104410006C6500006C765F6F626A5F72656D6F76C7 +:10442000655F7374796C655F6C6F63616C5F7072EC +:104430006F7000006C765F6F626A5F6765745F68BB +:10444000696464656E0000006C765F6F626A5F6924 +:104450006E76616C69646174655F617265610000AC +:104460006C765F6F626A5F696E76616C69646174B5 +:10447000650000006C765F6F626A5F6D6F76655FE6 +:10448000666F726567726F756E6400006C765F6F41 +:10449000626A5F6D6F76655F6261636B67726F758D +:1044A0006E6400006C765F6F626A5F7365745F7044 +:1044B0006F7300006C765F6F626A5F7365745F781C +:1044C000000000006C765F6F626A5F7365745F79ED +:1044D000000000006C765F6F626A5F616C69676EF6 +:1044E000000000006C765F6F626A5F616C69676EE6 +:1044F0005F6F7269676F00006C765F6F626A5F72F0 +:1045000065616C69676E00006C765F6F626A5F72EE +:104510006566726573685F7374796C65000000008E +:104520006C765F6F626A5F6164645F7374796C65F7 +:10453000000000006C765F6F626A5F7365745F688D +:10454000696464656E0000006C765F6F626A5F6725 +:1045500065745F6164765F68697474657374000084 +:104560006C765F6F626A5F6765745F636C69636BCB +:10457000000000006C765F6F626A5F6765745F744D +:104580006F7000006C765F6F626A5F6765745F646E +:10459000726167006C765F6F626A5F6765745F6403 +:1045A0007261675F646972006C765F6F626A5F67F1 +:1045B00065745F647261675F7468726F7700000092 +:1045C0006C765F6F626A5F6765745F706172656E5B +:1045D000745F6576656E74006C765F6F626A5F67A4 +:1045E00065745F626173655F646972006C765F6FAA +:1045F000626A5F6372656174650000006C765F6F6C +:10460000626A5F7365745F706172656E740000004A +:104610006C765F6F626A5F7365745F73697A650059 +:104620006C765F6F626A5F7365745F7769647468E4 +:10463000000000006C765F6F626A5F7365745F688C +:1046400065696768740000006C765F6F626A5F6717 +:1046500065745F70726F7465637400006C765F6F71 +:10466000626A5F69735F70726F746563746564001A +:104670006C765F6F626A5F6765745F73746174659F +:10468000000000006C765F6F626A5F6765745F7739 +:10469000696474685F666974000000006C765F6F1F +:1046A000626A5F6765745F6865696768745F666999 +:1046B000740000006C765F6F626A5F6765745F69A3 +:1046C0006E6E65725F636F6F72647300FFFF000050 +:1046D0006C765F6F626A5F7365745F737461746533 +:1046E000000000007472616E735F637265617465CF +:1046F000000000006C765F6F626A5F6164645F73E4 +:1047000074617465000000006C765F6F626A5F63BD +:104710006C6561725F737461746500006C765F6FC5 +:10472000626A5F6765745F7369676E616C5F63621D +:10473000000000006C765F6F626A5F6765745F649B +:10474000657369676E5F6362000000006C765F6F7F +:10475000626A5F6765745F6576656E745F63620049 +:104760006C765F6F626A5F6765745F6578745F61BE +:10477000747472006C765F6F626A5F6765745F74F1 +:10478000797065006C765F6F626A5F6765745F67FA +:10479000726F7570000000006C765F6F626A5F6414 +:1047A000656C00006C765F6F626A5F64656C5F6168 +:1047B00073796E635F6362006C765F6F626A5F63DA +:1047C0006C65616E000000006C765F6F626A5F6905 +:1047D000735F666F63757365640000002E2E2F741F +:1047E0006869726470617274792F6C76676C2F736C +:1047F00072632F6C765F636F72652F6C765F6F628A +:104800006A2E63006C765F696E69743A20616C721F +:104810006561647920696E69746564006C765F69AE +:104820006E69742072656164790000006C765F6463 +:1048300065696E697420646F6E6500004E554C4C5E +:1048400020706F696E746572000000006C765F7393 +:1048500063725F6765745F646973703A2073637233 +:1048600065656E206E6F7420666F756E6400000063 +:104870006C765F6F626A5F7365745F626173655FB8 +:104880006469723A20696E76616C69642062617352 +:1048900065206469720000006C765F6F626A5F6316 +:1048A0006C65616E5F7374796C655F6C6973743A83 +:1048B0002063616E27742066696E64207374796C5E +:1048C0006520776974682060706172746000000010 +:1048D0006C765F6F626A5F7365745F706F733A20A6 +:1048E0006E6F74206368616E67696E6720706F73A6 +:1048F0006974696F6E206F662073637265656E20E0 +:104900006F626A65637400006C765F6F626A5F61F4 +:1049100064645F7374796C653A2063616E277420F8 +:1049200066696E64207374796C6520776974682099 +:1049300060747970656000006C765F6F626A5F63B7 +:1049400072656174653A206E6F7420646973706C6F +:104950006179206372656174656420746F20736F80 +:10496000206661722E204E6F20706C61636520742A +:104970006F2061737369676E20746865206E657758 +:104980002073637265656E004F626A6563742063AD +:1049900072656174652072656164790043616E2798 +:1049A00074207365742074686520706172656E741C +:1049B000206F6620612073637265656E00000000E1 +:1049C00043616E27742073657420706172656E7424 +:1049D000203D3D204E554C4C20746F20616E206F61 +:1049E000626A6563740000006C765F6F626A000043 +:1049F0006C765F726566725F6172656100000000CF +:104A00002E2E2F746869726470617274792F6C76BF +:104A1000676C2F7372632F6C765F636F72652F6C98 +:104A2000765F726566722E630000000043616E2738 +:104A30007420736574205644422068656967687401 +:104A4000207573696E672074686520726F756E6477 +:104A50002066756E6374696F6E2E202857726F6EB4 +:104A60006720726F756E645F6362206F7220746F6F +:104A700020736D616C6C2056444229005F6C765F38 +:104A80007374796C655F6C6973745F72656D6F7652 +:104A9000655F7374796C65005F6C765F7374796CB5 +:104AA000655F6C6973745F6164645F7374796C656E +:104AB000000000006765745F616C6C6F635F6C6F12 +:104AC00063616C5F7374796C650000005F6C765F86 +:104AD0007374796C655F7365745F696E7400000050 +:104AE0005F6C765F7374796C655F7365745F636F19 +:104AF0006C6F72005F6C765F7374796C655F736561 +:104B0000745F6F70610000005F6C765F7374796C26 +:104B1000655F7365745F7074720000005F6C765F30 +:104B20007374796C655F6C6973745F6164645F74DE +:104B300072616E735F7374796C6500002E2E2F7432 +:104B40006869726470617274792F6C76676C2F7308 +:104B500072632F6C765F636F72652F6C765F737410 +:104B6000796C652E630000006C765F7374796C65F8 +:104B70005F6C6973745F72656D6F76655F7374796E +:104B80006C653A20636F756C646E27742072656182 +:104B90006C6C6F6361746520636C617373206C6906 +:104BA000737400006C765F7374796C655F6C697305 +:104BB000745F6164645F7374796C653A20636F75C8 +:104BC0006C646E2774206164642074686520636C73 +:104BD000617373006765745F6C6F63616C5F73749E +:104BE000796C653A20636F756C646E27742063720C +:104BF00065617465206C6F63616C207374796C659A +:104C0000000000006C765F7374796C655F6C69738B +:104C1000745F6164645F7472616E735F7374796CE6 +:104C2000653A20636F756C646E27742063726561EA +:104C30007465207472616E736974696F6E20737429 +:104C4000796C650066696C6C5F626C656E64656446 +:104C5000000000006D61705F626C656E64656400E9 +:104C60002E2E2F746869726470617274792F6C765D +:104C7000676C2F7372632F6C765F647261772F6C31 +:104C8000765F647261775F626C656E642E630000AC +:104C900066696C6C5F626C656E6465643A20756E03 +:104CA000737570706F7274656420626C656E6420D9 +:104CB0006D6F646500000000FFFF00006C765F64AC +:104CC0007261775F696D67006C765F696D675F64BD +:104CD0007261775F636F7265000000002E2E2F7483 +:104CE0006869726470617274792F6C76676C2F7367 +:104CF00072632F6C765F647261772F6C765F64727B +:104D000061775F696D672E6300000000496D616720 +:104D10006520647261773A20737263206973204E54 +:104D2000554C4C004E6F0A6461746100496D6167B7 +:104D3000652064726177206572726F7200000000F6 +:104D4000496D61676520647261772063616E2774C5 +:104D5000207265616420746865206C696E6500006E +:104D600000FF00000055AAFF00112233445566776A +:104D70008899AABBCCDDEEFF0001020304050607FB +:104D800008090A0B0C0D0E0F10111213141516172B +:104D900018191A1B1C1D1E1F20212223242526271B +:104DA00028292A2B2C2D2E2F30313233343536370B +:104DB00038393A3B3C3D3E3F4041424344454647FB +:104DC00048494A4B4C4D4E4F5051525354555657EB +:104DD00058595A5B5C5D5E5F6061626364656667DB +:104DE00068696A6B6C6D6E6F7071727374757677CB +:104DF00078797A7B7C7D7E7F8081828384858687BB +:104E000088898A8B8C8D8E8F9091929394959697AA +:104E100098999A9B9C9D9E9FA0A1A2A3A4A5A6A79A +:104E2000A8A9AAABACADAEAFB0B1B2B3B4B5B6B78A +:104E3000B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C77A +:104E4000C8C9CACBCCCDCECFD0D1D2D3D4D5D6D76A +:104E5000D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E75A +:104E6000E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F74A +:104E7000F8F9FAFBFCFDFEFF6C765F647261775F08 +:104E80006C65747465720000647261775F6C657440 +:104E90007465725F73756270780000006472617788 +:104EA0005F6C65747465725F6E6F726D616C00002B +:104EB0000024496D92B6DBFF2E2E2F746869726450 +:104EC00070617274792F6C76676C2F7372632F6CBC +:104ED000765F647261772F6C765F647261775F6C66 +:104EE0006162656C2E6300006C765F647261775F4F +:104EF0006C65747465723A20666F6E7420697320F5 +:104F00004E554C4C000000006C765F647261775F18 +:104F10006C65747465723A20676C7970682064738C +:104F2000632E206E6F7420666F756E640000000043 +:104F30006C765F647261775F6C65747465723A2039 +:104F40006368617261637465722773206269746D4E +:104F50006170206E6F7420666F756E6400000000D3 +:104F60006C765F647261775F6C65747465723A2009 +:104F7000696E76616C696420627070206E6F742057 +:104F8000666F756E640000006C765F647261775FB7 +:104F90006C65747465723A20696E76616C69642020 +:104FA00062707000808080818182828384858687A0 +:104FB000898A8C8D8F91939597999B9EA0A2A5A786 +:104FC000AAADAFB2B50000006C765F647261775F26 +:104FD0006D61736B5F616464000000006C765F64F8 +:104FE0007261775F6D61736B5F616E676C655F693E +:104FF0006E6974002E2E2F74686972647061727409 +:10500000792F6C76676C2F7372632F6C765F647286 +:1050100061772F6C765F647261775F6D61736B2E61 +:10502000630000006C765F6D61736B5F6164643A6E +:10503000206E6F20706C61636520746F2061646402 +:1050400020746865206D61736B000000556E657893 +:105050007065637465642073746172745F616E67F8 +:105060006C650000556E65787065637465642065D5 +:105070006E645F616E676C6500000000FFFF0000FA +:10508000647261775F7061747465726E0000000015 +:105090002E2E2F746869726470617274792F6C7629 +:1050A000676C2F7372632F6C765F647261772F6CFD +:1050B000765F647261775F726563742E63000000CF +:1050C000647261775F696D673A2063616E2774204F +:1050D00067657420696D61676520696E666F0000A1 +:1050E0006C765F696D675F64657369676E3A2069A6 +:1050F0006D61676520736F75726365207479706583 +:1051000020697320756E6B6E6F776E00001122330D +:10511000445566778899AABBCCDDEEFF6C765F6953 +:105120006D675F6275665F7365745F70616C6574EF +:10513000746500005F6C765F696D675F63616368CB +:10514000655F6F70656E00006C765F696D675F63A9 +:10515000616368655F7365745F73697A65000000F9 +:105160002E2E2F746869726470617274792F6C7658 +:10517000676C2F7372632F6C765F647261772F6C2C +:10518000765F696D675F63616368652E6300000029 +:105190006C765F696D675F63616368655F6F70659B +:1051A0006E3A207468652063616368652073697A6C +:1051B0006520697320300000696D61676520647245 +:1051C00061773A206361636865206D6973732C2091 +:1051D000636C6F736520616E642072657573652002 +:1051E000616E20656E74727900000000696D616700 +:1051F0006520647261773A206361636865206D6938 +:1052000073732C2063616368656420746F20616E22 +:1052100020656D70747920656E74727900000000ED +:10522000496D61676520647261772063616E6E6F9E +:1052300074206F70656E2074686520696D616765A4 +:10524000207265736F757263650000006C765F692C +:105250006D675F6465636F6465725F6275696C74C6 +:105260005F696E5F696E666F000000006C765F6953 +:105270006D675F6465636F6465725F6275696C74A6 +:105280005F696E5F6F70656E000000006C765F692D +:105290006D675F6465636F6465725F6275696C7486 +:1052A0005F696E5F6C696E655F747275655F636F71 +:1052B0006C6F720000112233445566778899AABB3F +:1052C000CCDDEEFF6C765F696D675F6465636F646C +:1052D00065725F6275696C745F696E5F7265616447 +:1052E0005F6C696E650000006C765F696D675F6476 +:1052F00065636F6465725F63726561746500000069 +:105300005F6C765F696D675F6465636F6465725F2C +:10531000696E6974000000002E2E2F746869726433 +:1053200070617274792F6C76676C2F7372632F6C57 +:10533000765F647261772F6C765F696D675F646515 +:10534000636F6465722E6300496D616765206765F0 +:105350007420696E666F20676574207265616420D1 +:1053600066696C652068656164657200496D616796 +:10537000652067657420696E666F20666F756E6460 +:1053800020756E6B6E6F776E207372632074797008 +:105390006500000062696E004275696C742D696E6B +:1053A00020696D616765206465636F646572206361 +:1053B000616E2774206F70656E2074686520666961 +:1053C0006C650000696D675F6465636F6465725F3B +:1053D0006275696C745F696E5F6F70656E3A206F9D +:1053E0007574206F66206D656D6F72790000000026 +:1053F000496D616765206465636F646572206F70D5 +:10540000656E3A20756E6B6E6F776E20636F6C6F92 +:105410007220666F726D6174000000004275696CE5 +:10542000742D696E20696D616765206465636F64C2 +:105430006572207365656B206661696C6564000048 +:105440004275696C742D696E20696D6167652064B1 +:1054500065636F6465722072656164206661696C62 +:10546000656400004275696C742D696E20696D6118 +:105470006765206465636F6465722072656164208E +:105480006E6F7420737570706F72747320746865BA +:1054900020636F6C6F7220666F726D617400000024 +:1054A0006C765F696D675F6465636F6465725F6981 +:1054B0006E69743A206F7574206F66206D656D6F2C +:1054C000727900006C765F666F6E745F6765745FFB +:1054D0006269746D61705F666D745F7478740000EA +:1054E0002E2E2F746869726470617274792F6C76D5 +:1054F000676C2F7372632F6C765F666F6E742F6CA0 +:10550000765F666F6E745F666D745F7478742E6319 +:10551000000000002455020070610200D460020007 +:105520003D3100000001000000000000000100000B +:105530000300000000020000000000000000000066 +:10554000000000000000010000000000000000005A +:105550000000000000010C0007FA00000000F2F15A +:10556000020C0604F6020D010B0308000000000007 +:105570000000000000000F02FE000000000000001C +:1055800000000000000500F80000000000FB04051A +:105590000000FD00FE0300FD00FDFFFB0000000019 +:1055A000FD0000FDFC0000FD00FB0000000000000D +:1055B000000000FDFD00FC00F900E10000FB00051B +:1055C000080000FB03030805FC050000F1000000D3 +:1055D0000000000000000000F700000000000000D4 +:1055E00000000000000000F9FDF300F6FE000000DE +:1055F00000010A00F8FEFF0100FC0000FEED0000C3 +:10560000000000000000000000ECFE0A00000000A6 +:105610000000000000000000F60000000000000094 +:105620000000000800030000FB0000000000000074 +:10563000000000000000000000000A02010000005D +:10564000000000000000000000000000000000005A +:10565000000000000000000000000000000000004A +:1056600000000000F7000000000000000000000043 +:10567000000000000000000000000002050308FD1B +:10568000000005FDF8DD02070501FD000900080026 +:105690000800E800FD080008FD0503000001FD000A +:1056A00000FC1400140008000B030408000000F7BD +:1056B0000000000001FE0002FBFDFB0200FD0000F7 +:1056C00000F60000000000000000000000EF0000F5 +:1056D0000000000000000000000000000001F200D7 +:1056E000F000000000FE0019FDFD0303FE00FD03B5 +:1056F0000000F20000000000000000000000E700D1 +:1057000003000000000000000000000000F0000F97 +:105710000000F7000800EFE7EFFB080000EF0003D0 +:10572000FA00FC000000000000000000000000077C +:1057300008E10000000000000000000000000C0074 +:105740000200000000000202FDFB00FFFFFD000060 +:10575000FE000000FB00FE00FAFB00FAF8F8FB0078 +:10576000FB00FB00000000FE0000030002FD000142 +:1057700000000003FE000000FE0303FF000000FB2A +:1057800000FF0000000000010003FE00FD00FC001F +:1057900000FE00080000FD0000000000FF01FEFE0A +:1057A0000000FD00FD000000000000000000FFFF01 +:1057B00000FDFD0000000000010000FE00FDFDFDF9 +:1057C000000000000000000000FE00000000FEFDE0 +:1057D00000FC00F8FEF8050000FB03050700FAFFD7 +:1057E000FD00FFF403FE02F203000001F300F2FEED +:1057F000EAFE00F30005070003000000000100FBC3 +:10580000FD00F8000000FD000000FD0000000000A9 +:10581000FFFF00FFFD00000000000000FDFD00FE96 +:10582000FDFE0000FD000000000000000000000080 +:10583000FEFE00FD00FE00FB030000FD010303006F +:105840000000000000FE0000000000020000FD005B +:10585000FDFEFD000000000000000200FE00000050 +:1058600000FDFC00FB0008FE01F8000007F3F3F563 +:10587000FB0300FEEFFB00FB00FB04FBF000F90064 +:105880000001FF02FE000300F8F600F3FAFBFAF84D +:10589000FDF9FFFBF902000100FD0000000200031A +:1058A0000000000000000000000000FD00FF00FFFD +:1058B000FD00FCFAFAFF00F8000000000000FE0006 +:1058C00000000001FE0000000300000000000000D6 +:1058D000000C00000000000002000000FD000000BD +:1058E0000000000000000000FB00030000000000BA +:1058F0000000000000000000FE000000FB000000AF +:1059000000F3F8000000FCF30000FD0300F90000C4 +:105910000000000000000000FC0000FB0000000090 +:1059200000000000000000000300FB000000000376 +:105930000002FBFB00FDFDFD000000000000F80080 +:10594000FD00FCFD00FAFAF8FE00FB00F800000084 +:1059500000140000010000FD000300F5000000003D +:1059600000E8FB0808FEF50003FC00F3FFFD03EE72 +:10597000FD030004F7FCF7F8F50000F1000F00004C +:10598000FF000000FFFFFDF9F8FFE8000000000045 +:105990000000000001000000000000000000000006 +:1059A0000000000000FD00FFFDFC0000FB00FD000A +:1059B0000000000000000000000000000000FF00E8 +:1059C000FB000005FF0300FA03FEFFF9FD00FDFDEB +:1059D000FE00FCFC0000FEFFFEFCFD0000FD0003DD +:1059E000FE00FA000000FB00FC00FCFC03000000CD +:1059F0000000000000FB0300FC00FEFDF8FEFEFEC0 +:105A0000FFFEFDFF0000000000FDFEFE00000000A4 +:105A100003FE00FE000000FEFDFEFEFDFE00020A89 +:105A2000FF00F900FE0500FDF5FD040000F4FC0395 +:105A3000FC0200FEFEF800FC010000FC0000000378 +:105A400003FBFB00FCFDFCFDFD00FC01FBFC080072 +:105A50000000000000000000030000000000000043 +:105A60000000000000000000000000000000000036 +:105A7000FC0000000000000000000000000000002A +:105A80000000000000000000000000000000000016 +:105A9000000000000000000000000000FE00000008 +:105AA00000000000000000000000000000000000F6 +:105AB00000000000000000000000FEFD00000000EB +:105AC0000000000000000000FC0000FD0000FDFDE3 +:105AD00000000000FD00000000FF0000000000FECC +:105AE00000000000FC00FB000000F80002FA0501C5 +:105AF000FEF40000FAFD00F6FAF90000F5FDF6F6F6 +:105B0000F400F9000211FD00FAFDFFFDFCF9FBF7BE +:105B1000F6FAFD0000FE00010000EEFE0806FAF7AE +:105B20000001F800F3FEFD05E8FD010000EFFDF3C4 +:105B3000FDED0000EE000F0100FE00000000FFFE82 +:105B4000F6FE00EF00000000F800FE00FFF9F40090 +:105B500000FFFCF8FD00FE00000000F4FDF8F8FE78 +:105B6000FCFAFDFC00FBFEF8FC00FDFBFDFB000168 +:105B700000FEF8000500FB00000000030002FB0A25 +:105B800000FDFDFD000000000000F800FD00FCFD30 +:105B900000FAFAF8FE00FB020A0000000014000000 +:105BA000010000FD00030000000000000000FF00F5 +:105BB00000000000FEFB0000000000FF000000FDF0 +:105BC000FD0000FBFD0000FB0004FF0000000000E2 +:105BD000000100000000040502FE00F8FC0008F8C7 +:105BE000F8FBFB0A0503EAFE05FD00FD03FDF700D7 +:105BF000FD03FDFEF8FE0000080500F900F2FD07B8 +:105C0000FDF601FDF8F8FD0A0300FC00F9000208AA +:105C1000FAF7F6FA080001EDFE03FCFEFA00FAF7C7 +:105C2000FCFCFE0000FAFBFD000806FDF200F2FCA1 +:105C300000F7F1FFF8FCF8F9070000FD00FBFE009B +:105C4000FDFB0004F8030000F200FDFAFCFEF8FA88 +:105C5000F8FA00F8FDFAFBF8FD0000010CFC00F872 +:105C6000FD00FDFBFAF9F9F6FDFB0500FC00F3FD74 +:105C70000205F8F7FBF808FD01E8FB05FAFCF70060 +:105C8000F8F5FDFDFEFDFBF8FF00000807FEEF0044 +:105C9000F1FA06F6EFFBF7F5F3F80500000000FD5A +:105CA000000003FD0502FB050000F8FF00FF0001F6 +:105CB00001FE000000000000FD00000000020801DD +:105CC00000FD00000000FEFEFD00000001020000DB +:105CD00000000200FE000A00050101FD00050000B1 +:105CE00000020000000000000000000000080007A3 +:105CF0000000000000000000000000000000F100B3 +:105D0000FD04000800001903FBFB0303FE01F30080 +:105D1000000CF10000000000000000000000EF0A8D +:105D200024000000000000000000000000F100005E +:105D30000000000000000000000000000000000063 +:105D40000000000000000000FC0000FBFE0000005E +:105D50000000000000000000000000000000000043 +:105D6000FE00F900000100000321FBFE0807F90313 +:105D700000000303FD000000000000000000000020 +:105D8000DF0700000000000000000000000000002D +:105D9000000000F9000000F900000000FAFF000018 +:105DA00000FA00FD00F40000000000000000000008 +:105DB00000EF0000000001000000000000FD0000F6 +:105DC000FB00FC00F9000000FC03FD0000F9FDFAF7 +:105DD0000000F900FD00F400FD0000EBFBF6FDF70C +:105DE0000000EF00F9FF0000000000000000FCFBD5 +:105DF000FEFC00000000FA00FA03FD0500FEFAFEBA +:105E0000FCFB00FDFFFE02F9FF000000E9FEFC00C4 +:105E1000FA00FEF4FE0000FEFE000000000200FE9C +:105E2000FCFE040000000000000000000000000074 +:105E30000000000000000000000000000000000062 +:105E4000000000000000000000000000000003004F +:105E50000000000000FA00FE000000FB030000004C +:105E6000F9FDFB0000F900FD00F400000000E70070 +:105E7000FBF7F30000EF00FEFC0000000000000054 +:105E800000FDFCFFFC01000004FD00080DFDFDF815 +:105E9000030D0406F9030B030706070000000000CA +:105EA000000000000000100CFBFD00FE140B1400AD +:105EB0000000030000090000FC00000000000000DA +:105EC0000000FE00000000000000000400000000D0 +:105ED000EAFDFEF6F30000EF000000000000000005 +:105EE000000000000000000000FC000000000000B6 +:105EF000000000FE000000000000000004000000A0 +:105F000000EAFDFEF6F30000F600000000000000CD +:105F1000000000000000000000000000FE00000083 +:105F2000FA0300FD020503F800FFFE030002000073 +:105F30000000FA00FEFEFB00FEF60010FD00FAFE77 +:105F400000FEFC00FDF9FBFD000000FC000000006D +:105F50000000000000FE000000000000000004003F +:105F6000000000EAFDFEF6F30000EF000000000074 +:105F7000000D00000000000000000000FC00F8FD23 +:105F8000FE08FEFDF601FE01FEF901060102010216 +:105F9000FAF6FD00F6FBF9F5F600FCFBFDFDFEFE52 +:105FA000FDFE00FEFF040004FE00080000000000EB +:105FB00000000000000000FEFDFD0000F900FF00F1 +:105FC000FC0000000000000000000000F1000000E4 +:105FD0000000000000000000FDFD00FD00000000CA +:105FE000FE0000FCFD0300FCFBFE00F9FEFAFEFDD6 +:105FF00000FC0000000000000000000000EF0008AE +:106000000000FB00000000FD00FD0000FF0000FE9E +:1060100000FA00000BFDF8F8020303FFF902040286 +:10602000080208FEF90000F60000F8F90000FB0085 +:10603000FDFC00FC00FC00FE0400FEF8FD09000071 +:10604000FE00FB000003FA0003FD020000F800FE62 +:10605000FF00FD03FE000000F6FDFA00F80000F46A +:106060000009FD00FB000200FD00FDF800FD03003B +:10607000000000FE000003FD010000FDFE00FD0029 +:106080000000000000000000000000000000000010 +:10609000F000060000FE000000000100FDFD000011 +:1060A000000500060000000000F0F1010B0804F6F6 +:1060B000020B0009000500000000000000000000C5 +:1060C000000E0000000000000000000000000000C2 +:1060D000000000000000010200030405020607089A +:1060E000090A090A0B0C0D0E0F10110C12131415CE +:1060F0001500000016171819171919191719191A68 +:106100001919191917191719031B1C1D1D1E1F20FA +:106110002122230024002526272727002726282997 +:1061200026262A2A272A272A2B2C2D2E2E2F2E30C0 +:1061300000002309310900000000000000000000F9 +:10614000000000000000000000000000000000004F +:10615000000000000000000000000000000000003F +:10616000000000000000000000000000000000002F +:10617000000001020003040502060708090A090AD3 +:106180000B0C000D0E0F101112130C141400000054 +:106190001516171819161A1B1C1D1D1E1F201D1D54 +:1061A0001621222303241E2525262728292A2B00F1 +:1061B0002C002D2E2F303132332D343435302D2D0F +:1061C0002E2E36373839333A3A3B3A3C290000090B +:1061D0003D09000000000000000000000000000079 +:1061E00000000000000000000000000000000000AF +:1061F000000000000000000000000000000000009F +:10620000000000000000000000000000200000006E +:106210005F0001000000000000000000000000001E +:10622000B0000000F3F760003462020000000000DC +:106230003B0002000000721F51EF58EF5BEF5CEF74 +:106240005DEF61EF63EF65EF69EF6CEF71EF76EF94 +:1062500077EF78EF8EEF98EF9BEF9CEF9DEFA1EF3C +:10626000A2EFA3EFA4EFB7EFB8EFBEEFC0EFC1EF1F +:10627000C4EFC7EFC8EFC9EFCBEFE3EFE5EF14F0E2 +:1062800015F017F037F03AF043F06CF074F0ABF023 +:106290003BF190F191F192F193F194F1D7F1E3F1A7 +:1062A0003DF254F2AAF412F7F2F7000000000000E9 +:1062B0000000000000005004000000000000500436 +:1062C000030C010012004006050501071F00400BEA +:1062D0000B0C00006100F0090A1000FEB100800DF7 +:1062E0000D0C0000FF00000B0B0D00FF47016003C9 +:1062F000020501074C016005040F01FD6A017005EC +:10630000040F00FD8801600607070005A101500980 +:1063100008080102C101A003030500FEC90120060F +:1063200006030003D201A00303030000D701A00568 +:106330000810FFFE1702B00A0A0C00005302F00515 +:10634000050C000071023009090C0000A7022009A9 +:10635000090C0000DD02B00A0B0C00001F0330091D +:10636000090C00005503E0090A0C00009103900994 +:10637000090C0000C703500A0A0C00000304E009DE +:106380000A0C00003F04A003030900004D04A00311 +:10639000030C00FD5F045009080801027F04500946 +:1063A000080601039704500908080102B7043009E0 +:1063B000090C0000ED049010100F00FD6505B00BF6 +:1063C0000D0CFF00B305200C0B0C0100F505900B24 +:1063D0000B0C00003706300D0C0C01007F06C00AC4 +:1063E000090C0100B506300A090C0100EB06600C2F +:1063F0000C0C00003307000D0B0C01007507F004B6 +:10640000030C010087073008080CFF00B707800B5A +:106410000B0C0100F9078009090C01002F08400F3F +:106420000D0C01007D08000D0B0C0100BF08700D64 +:106430000D0C00000D09900B0A0C01004909700DAC +:106440000E0F00FDB209A00B0A0C0100EE09F009C5 +:106450000A0C00002A0A60090A0C0000660AA00C57 +:106460000B0C0100A80A600B0D0CFF00F60A0012CD +:10647000120C0000620BC00A0B0C0000A40B600A97 +:106480000C0CFF00EC0B800A0B0C00002E0C5005CE +:10649000050F01FD540CA0050810FFFE940C5005DB +:1064A000040F00FDB20C500908070102CE0C0008D1 +:1064B000080200FED60CA0090502010ADB0C9009B7 +:1064C00009090000040DF00A0A0C0100400D200922 +:1064D00009090000690DF00A0A0C0000A50DD00999 +:1064E0000A090000D20DA005070C0000FC0D100BDE +:1064F0000A0C00FD380EE00A090C01006E0E700453 +:10650000030C0100800E9004060FFEFDAD0EE009A5 +:10651000090C0100E30E7004020C0100EF0EF010F4 +:106520000F090100330FE00A090901005C0F300A6E +:106530000A090000890FF00A0A0C01FDC50FF00AD4 +:106540000A0C00FD01109006060901001C1000084D +:10655000080900004010A006070B00006710D00AD1 +:10656000090901009010F0080A09FF00BD10600E33 +:106570000F0900000111D008090900002A11F008D4 +:106580000A0CFFFD66115008080900008A11A005D9 +:10659000060F00FDB711D004030F01FDCE11A005B9 +:1065A000050F00FDF4115009090500040B12B00697 +:1065B000060600061D120005030401032312001045 +:1065C000101100FEAB120010100C00000B13001095 +:1065D000100E00FF7B130010100C0000DB13000BEB +:1065E0000B0C00001D140010101000FE9D14001074 +:1065F000101000FE1D150012120E00FF9B1500105A +:10660000101000FE1B160012120C0000871600105E +:10661000101000FE07170008080E00FF3F17000CBF +:106620000C0E00FF93170012121000FE231800102A +:10663000100C00008318000E0A1002FED318000E82 +:106640000E1200FD5119000E0E0F00FFBA19000EB8 +:106650000E0E00FF1C1A000E0A1002FE6C1A000E2D +:10666000100EFFFFDC1A000A0A0E00FF221B000AB0 +:106670000A0E00FF681B000E0E0E00FFCA1B000E64 +:106680000E040004E61B0012120C0000521C001441 +:10669000141000FEF21C00121410FFFE921D0010D8 +:1066A000101000FE121E000E0E0A0001581E000EF1 +:1066B0000E0A00019E1E0014140E00FF2A1F001077 +:1066C000100C00008A1F0010101000FE0A2000109D +:1066D0001111FFFE9B20000E0F0E00FF0421000E83 +:1066E0000E1000FE7421000E0E0E00FFD621000ACF +:1066F0000C10FFFE3622000E0E1000FEA622000E29 +:106700000E1000FE16230012120C0000822300104F +:106710001212FFFD2424000C0C1000FE842400142F +:10672000140F00FF1A250014140A00017E2500141E +:10673000140A0001E2250014140A00014626001480 +:10674000140A0001AA260014140A00010E270014DE +:10675000150E00FFA127000E0C1001FE0128000EEF +:106760000E1000FE712800101111FFFD0229001407 +:10677000140C00007A29000C0C1000FEDA292010FD +:10678000110B0001BF0BF0AF0AE09E08D08C07C0D0 +:10679000000010BF1AE0F51F3F51F3E40F3E40F236 +:1067A0007208100005C003E000007A005C000009D8 +:1067B0008007A001FFFFFFFFFD033E733C83300015 +:1067C000F200C500000F100E300002F000F2009F32 +:1067D000FFFFFFFF4138C336E3300089005C000053 +:1067E0000A7007A000000079000000007900000096 +:1067F0005CFFE92006FCBC9E900EB07900100F8073 +:106800007900000DF579000003EFFD50000006CF80 +:10681000FE400000795EF100007905F3070079077A +:10682000F12FE9BCAFA003AEFFD700000079000054 +:10683000000079000003DE800005D000E40C500168 +:10684000E3004C005A00A90006A004C04E00004C12 +:10685000005A0D500000E41C58A0000003CE73E164 +:106860003CE9000000D60E40A800007C03C003D025 +:10687000002E203C003D000B7000E2098006D00095 +:1068800004DDA00009EFB1000009E43CA00000D93C +:10689000007D00000CC01CA000003FAEC100000144 +:1068A000DFC0000003EB8F701800DB007F65F03F56 +:1068B00040008FEA03F70000CF700BF966CFBF40AE +:1068C00008DFEA30A5000000000000F5F5E4E472FE +:1068D00000DA05F20BC00F703F405F206F107F00A1 +:1068E0006F105F203F400F700BC005F200DA3F30A1 +:1068F0000CB006F101F600E900BC00AD00AE00AD41 +:1069000000BC00E901F606F10CB03F30004A000679 +:1069100074A4A02BFFE5007FFB207B6B8D0004A0FF +:10692000000013000000051000000F5000000F5081 +:1069300000011F5110EFFFFFF3344F7440000F5060 +:1069400000000F50000952FD0BA0C50F00011110EF +:106950001FFFF30444400312FC1E90000005F100E9 +:10696000000AB000000F6000005F100000AB0000E4 +:1069700000F6000005F100000AB000000F60000002 +:106980004F100000AC000000F6000004F100000A07 +:10699000C000000E6000004F1000000008EFC500AE +:1069A00000CFA8CF7007F5000AF20DC00001F81F54 +:1069B000800000DC3F600000BD3F600000BD1F8024 +:1069C0000000DC0DC00001F807F5000AF200CFA8B6 +:1069D000CF700008EFC500EFFF367AF3005F300597 +:1069E000F3005F3005F3005F3005F3005F3005F31F +:1069F000005F3005F304BEFD7007FD98CF902800BE +:106A000000BF00000007F2000000AF0000004F8050 +:106A100000003FC000003EC100002EC100002ED18A +:106A200000002EF8777746FFFFFFFA6FFFFFFF02A7 +:106A300077779FB000000CE1000009F3000005F635 +:106A4000000000DFE910000459FD00000006F4001A +:106A500000003F64400008F3BFC98CFB007CFFD7F7 +:106A600000000001EB00000000BE100000006F50AD +:106A70000000002F900000000CD000000008F3017F +:106A8000D50003F8002F6000ED2223F7216FFFFFF0 +:106A9000FFFF81555556F9520000002F600000009D +:106AA00002F60005FFFFFF007F77777008E0000027 +:106AB00000AD0000000BC2100000DFFFFB300455EA +:106AC00068FF20000004F80000000F92500005F657 +:106AD0008FD98AFD105BEFE9100005CEFC60009FA6 +:106AE000C88B7005F80000000CD00000001F80006B +:106AF00000002F68EFFA103FEE648FD02FF10006F0 +:106B0000F40EC00002F609F10006F301DE869FB024 +:106B10000019EFD8008FFFFFFFE8F77777FC8F00B1 +:106B2000004F5590000BE0000002F80000009F109D +:106B300000000FB0000006F4000000DD0000003F80 +:106B40007000000AF1000001F90000005CFFD700AE +:106B500006FC76AFA00CD00009F10DC00007F207CB +:106B6000F7115EC000BFFFFE1009F9547ED02F80E0 +:106B70000004F64F500000F81FA00005F609FB7650 +:106B8000AFD0006CFFD810008EFD80000CF868FCC0 +:106B9000005F50003F708F00000EC07F30001FF07C +:106BA0001FD413CFF104EFFFA9F00002310AF00067 +:106BB00000000EA00000009F3009A78DF70007DF3E +:106BC000EB40001E92FC0310000000000312FC1EAC +:106BD000901E92FC0310000000000001E91FD0A8E5 +:106BE0000E30A00000004200017DF3039FE810BFBB +:106BF000B50000EE81000017DFB4000004AFD20042 +:106C0000000182EFFFFFF3455555510000000001E0 +:106C1000111110EFFFFFF33444444050000000EF27 +:106C200092000006CFB50000039FE200006CF30263 +:106C30009EE920BFC600009300000004BEFD70075F +:106C4000FC77BFA0270000CF00000009F000000182 +:106C5000EA000001DD100000CE1000003F600000DF +:106C600001300000000100000006F50000005F4058 +:106C700000000017CEFDB500000005FB53237DC2C8 +:106C800000006E400000008E1002F401AEFA3F4991 +:106C9000B00A901EE65BEF40E30F308F1000AF406C +:106CA000981F00D900003F406A3F00E800001F40E5 +:106CB0005C1F00D900003F406A0F308F1000AF40CA +:106CC000980A901ED65ADEA6F203F301AFFA16EE2A +:106CD00050006E4000000000000006FB53237500CA +:106CE00000000017CEFDA30000000002FD00000020 +:106CF00000009FF4000000000F9EB000000006F2AC +:106D00007F20000000DC01F80000004F600BE00075 +:106D1000000BF0004F600001FA1111ED00008FFF31 +:106D2000FFFFF3000EC444444FA006F4000000AF80 +:106D300010CD00000002F85FFFFFEB4005F855574B +:106D4000DF405F400001FA05F400000FA05F511121 +:106D50003AF405FFFFFFFA005F744459FA05F400A6 +:106D60000008F25F4000005F45F4000009F25F8513 +:106D7000556AFB05FFFFFFD70000028DFEB400043B +:106D8000FFB89DF902FD20000850BF200000000F51 +:106D9000A000000002F6000000002F6000000000CC +:106DA000FA000000000BF2000000002FD200008566 +:106DB000005FFB89DF800029DFEB405FFFFFEA30E7 +:106DC000005F97779EF8005F400000AF605F400073 +:106DD000000DE05F40000006F45F40000003F65F36 +:106DE00040000003F65F40000006F45F4000000D25 +:106DF000E05F400000AF605F97779EF8005FFFFFA5 +:106E0000EA30005FFFFFFF95F97777745F4000007D +:106E100005F40000005F51111105FFFFFFE05F74F2 +:106E2000444405F40000005F40000005F400000049 +:106E30005F97777765FFFFFFFD5FFFFFFF95F977AE +:106E400077745F40000005F40000005F400000051B +:106E5000F52222105FFFFFFE05F85555405F400008 +:106E60000005F40000005F40000005F40000000091 +:106E7000018DFEB500004FFB89DFB002FD2000064A +:106E8000600BF2000000000FA0000000002F600067 +:106E90000000002F60000009F00FA0000009F00BB7 +:106EA000F2000009F002FD20000AF0004FFB89DF2C +:106EB000C000028DFEC6005F4000004F55F4000088 +:106EC00004F55F4000004F55F4000004F55F5222C6 +:106ED000225F55FFFFFFFFF55F8555558F55F40085 +:106EE0000004F55F4000004F55F4000004F55F40DA +:106EF00000004F55F4000004F55F45F45F45F45F72 +:106F000045F45F45F45F45F45F45F400FFFFFA0088 +:106F10007777FA000000FA000000FA000000FA009B +:106F20000000FA000000FA000000FA000000F90773 +:106F30002003F60DE98EF101AEFB305F400002EB5D +:106F400005F40001EC005F4001DE1005F400CE20E6 +:106F5000005F40BF300005F49F9000005FCFEF401E +:106F60000005FF91EE10005FA003FC0005F4000691 +:106F7000F8005F400009F505F400000CF25F4000E6 +:106F80000005F40000005F40000005F40000005F11 +:106F900040000005F40000005F40000005F4000020 +:106FA000005F40000005F40000005F97777725FF41 +:106FB000FFFFF55F400000001E95FC00000008F98F +:106FC0005FF5000002FF95FDE00000AEF95F5F7025 +:106FD000003F5F95F38F100BC0F95F31E904F30FA9 +:106FE00095F307F2DB00F95F300DEF200F95F3000A +:106FF0005F9000F95F300071000F95F30000000012 +:10700000F95F5000004F55FF200004F55FFD0000C0 +:107010004F55FAF90004F55F4AF5004F55F40DF2AB +:1070200004F55F402FD04F55F4006F94F55F40009A +:10703000AFAF55F40000DFF55F400002FF55F400EC +:107040000006F500018DFEB5000004FFB89EFA00B1 +:1070500002FD200008F900BF2000000AF20FA00086 +:1070600000003F72F600000000F92F600000000FE2 +:1070700090FA00000003F70BF2000000AF202FD2BF +:1070800000008F90004FFB89EFA0000028DFEB503D +:10709000005FFFFFD7005F9778BFC05F400007F633 +:1070A0005F400000FA5F400000FA5F400003F85FB5 +:1070B00062236EF15FFFFFFD305F855420005F406B +:1070C0000000005F400000005F4000000000018DF4 +:1070D000FEB50000004EFB89EFA00002FD20000875 +:1070E000F9000AF2000000AF200FA00000003F707E +:1070F0002F600000000F902F600000000F901F9085 +:107100000000002F700BF1000000AF2003FC100006 +:1071100007F900006FFA78DFB0000003AEFFC5008A +:10712000000000003ED415B000000002BFFF800048 +:107130000000000131005FFFFFD7005F9778BFC0FC +:107140005F400007F65F400000FA5F400000FA5F12 +:10715000400003F85F52236EE15FFFFFFC305F8564 +:1071600055F9005F40007F405F40000CE05F400049 +:1071700002F9005CEFD92007FC87AF900EC0000138 +:10718000100F800000000DF500000003EFEA500032 +:107190000005AEFE400000004EF100000005F308BF +:1071A000000008F22FFA77BFA0029DFFC700FFFF83 +:1071B000FFFFF56778FB77720001F700000001F729 +:1071C00000000001F700000001F700000001F700D7 +:1071D000000001F700000001F700000001F70000C7 +:1071E0000001F700000001F700006F3000008F166B +:1071F000F3000008F16F3000008F16F3000008F173 +:107200006F3000008F16F3000008F16F3000008F20 +:1072100005F4000009F03F700000CD00DE20005FA3 +:107220008004FFA8BFD00003BEFD81000CE0000079 +:10723000006F306F5000000CC000FB000003F60030 +:1072400009F20000AE00002F80001F900000CE0069 +:1072500007F2000005F600DB0000000EC04F5000F2 +:1072600000008F3BE000000002FBF8000000000B74 +:10727000FF10000000004FB000005F400000DF0082 +:107280000002F50F900002FF400007F00BE000073E +:10729000FE90000CB006F3000CAAE0001F6001F89D +:1072A000001F54F3006F1000CD007F10F800CC00D9 +:1072B000007F20CB00AD01F700002F71F6005F26A4 +:1072C000F200000DC6F1000F7BD0000008FDC000E9 +:1072D0000BDF80000003FF700006FF30000000EFAE +:1072E000200001FE00003F900000CD008F40007F95 +:1072F0003000DE102F800003FA0CD0000007FBF3F3 +:107300000000000CF800000001EFC0000000BF7F8B +:107310007000006F60AF20002FB001ED000CF10095 +:1073200004F807F6000009F30CE0000007F203F789 +:1073300000001F9000AF10009E10001FA002F6007A +:107340000008F30BD0000000EC4F400000005FFB92 +:10735000000000000CF20000000009F00000000036 +:1073600009F00000000009F00000000009F0000032 +:107370003FFFFFFFFD01777777BF900000001EC041 +:107380000000000CF200000008F500000004F90005 +:10739000000001EC00000000CF200000008F500032 +:1073A00000004F900000001EF877777705FFFFFF81 +:1073B000FFF05FFF05F7505F3005F3005F3005F326 +:1073C000005F3005F3005F3005F3005F3005F30028 +:1073D0005F3005F7505FFF007E0000001F40000097 +:1073E0000C90000007E0000002F4000000C900005B +:1073F000007E0000002F4000000C90000007E0001D +:107400000002F3000000D90000007E0000002F30D1 +:1074100000000D90000007E0BFFA35EA00EA00EA3C +:1074200000EA00EA00EA00EA00EA00EA00EA00EA0C +:1074300000EA35EABFFA002F8000009DE00000F36B +:10744000D50006D07B000C601F203F100B809A00F7 +:1074500004E0FFFFFFFF1111111107F60003E70120 +:107460009EFD8000CE87AF90020000AF00000006B6 +:10747000F202BEFFFF20EC4227F22F50007F20ECEB +:10748000427FF202BFFB6F208F000000008F0000E0 +:1074900000008F000000008F2BFEB3008FEC78EF10 +:1074A000308FA0001EC08F200007F18F000005F371 +:1074B0008F200007F18FA0001ED08FEC78EF308E68 +:1074C0002BFEB300003AEFC4004FD87CF40DD0007F +:1074D0000713F60000004F30000003F60000000D17 +:1074E000D00006104FD77CF4003AEFC40000000033 +:1074F00001F700000001F700000001F7003BFFA3C7 +:10750000F704FD87CEF70ED0000BF73F600003F7BE +:107510004F300001F73F500003F70EC0000AF70498 +:10752000FC65BEF7003BFFB2F7003BFEA20004FC87 +:1075300067EE200EC0001EA03F500007F04FFFFF77 +:10754000FFF13F722222200EC000020004FD87AF2F +:1075500050003AEFD600005DFC002FB57004F30038 +:107560000CFFFFA048F753005F300005F300005FF9 +:10757000300005F300005F300005F300005F3000CD +:10758000003BFFB2E904FE87CFF90ED1000AF93FB4 +:10759000600001F94F400000F93F600001F90ED092 +:1075A0000009F904FD87CFF8003BFFB3F7000000A6 +:1075B00005F409E977AFB0017CFFD8008F00000027 +:1075C00008F00000008F00000008F2BFEA108FFBF7 +:1075D00089FD08F80006F48F10001F78F00000F80D +:1075E0008F00000F88F00000F88F00000F88F00077 +:1075F00000F89E1AF20008F08F08F08F08F08F084C +:10760000F08F08F00007E20009F30000000007F126 +:107610000007F10007F10007F10007F10007F10092 +:1076200007F10007F10007F10008F0186EC03EFCFA +:10763000208F00000008F00000008F00000008F01C +:10764000001DD18F001DE208F01DE2008F2DF30018 +:1076500008FEFF70008FE2BF3008F201EE108F00CD +:1076600003FB08F00007F78F8F8F8F8F8F8F8F8F1F +:107670008F8F8F8E3CFE913BFEA208FF969FCFC658 +:107680008FD08F70009FC0005F58F10005F6000199 +:10769000F78F00004F40000F88F00004F40000F85E +:1076A0008F00004F40000F88F00004F40000F88FB6 +:1076B00000004F40000F808E3BFEA108FFA68FD038 +:1076C0008F80006F48F10001F78F00000F88F000F5 +:1076D00000F88F00000F88F00000F88F00000F8086 +:1076E000003BEFC40004FD87CF600ED0000BF13FDC +:1076F000600003F54F300001F73F600003F50ED046 +:10770000000BF104FD77CF60003BEFC4008E3BFE21 +:10771000B3008FFB57DF308F90000DC08F10000734 +:10772000F18F000005F38F200007F18FA0001ED01D +:107730008FEC78EF308F2BFEB3008F000000008FAE +:10774000000000008F00000000003BFFA2F704FDD6 +:1077500087DEF70ED0000BF73F600003F74F3000D5 +:1077600001F73F600003F70ED0000BF704FD77CE62 +:10777000F7003BFFA3F700000001F700000001F74E +:1077800000000001F78E2BF08FED908FA0008F206E +:10779000008F00008F00008F00008F00008F00001E +:1077A00002AEFD911ED769D04F3000002FB41000FB +:1077B00006EFFD6000015BF5010000F75FA76BF3CA +:1077C00019DFEC4005F300005F3000CFFFFA048FB3 +:1077D000753005F300005F300005F300005F3000F6 +:1077E00004F400001FC680005DFC10AE00002F5A9C +:1077F000E00002F5AE00002F5AE00002F5AE0000F6 +:107800002F59F00004F56F3000AF51EE76BFF5024E +:10781000BEFB3F500DC00000CB06F20002F500F9A0 +:107820000009E0009E000F80002F606F10000CC068 +:10783000CB000005F6F4000000EFD00000008F70D0 +:1078400000BB00009F10004F16F1000EF60009C0AB +:107850000F6005FCB000F600AC00AB5F105F1005D8 +:10786000F10F50F70AB0000F76F009C0F50000AC38 +:10787000BA004F8F000004FF4000EFA000000EE0B0 +:107880000008F400004F70009F208F305F5000CD43 +:107890002E900002FFD000000AF6000004FDE10077 +:1078A00001EB0DC000BE103F806F40007F400DC057 +:1078B0000000CB06F30002F400EA0009D0008F10AC +:1078C0001F70001F707F10000AE0D9000003F9F25A +:1078D000000000CFB00000006F40000000AD0000CD +:1078E0001C79F500001AEE7000004FFFFFF91555E6 +:1078F0005BF400004F800001EC00000BE100008F02 +:10790000400004F700001EE555535FFFFFFC002C0C +:10791000F500AF6100CC0000DB0000DB0000DB0005 +:1079200002EA001FF40005FA0000DB0000DB0000A3 +:10793000DB0000CC0000AF61002CF55F15F15F1596 +:10794000F15F15F15F15F15F15F15F15F15F15F14D +:107950005F10BE8003AF4001F6001F7001F7001FEB +:107960007000F9000AFB00FB201F7001F7001F7078 +:1079700001F603AF40BE900000000000003DE400AF +:10798000B50C86F51E20F003EF90020000100002F7 +:10799000CE900D40893B000E3B000E0D408902CE7B +:1079A000900008F8EFE7F70000000000000000007A +:1079B000000000000049DC0000000016BFFFFF00CF +:1079C00000038DFFFFFFFF0000CFFFFFFFFFFF0061 +:1079D00000FFFFFFFFC7FF0000FFFFEA5100FF00AD +:1079E00000FF83000000FF0000FF00000000FF0018 +:1079F00000FF00000000FF0000FF00000000FF008B +:107A000000FF00002BFFFF0000FF0000DFFFFF2B47 +:107A1000FFFF0000DFFFFDDFFFFF00002BFFB2DFF5 +:107A2000FFFD00000000002BFFB20000000000D0AE +:107A30000FFFFFFFFFF00DFFFFC888888CFFFFF0EE +:107A40000F80000008F00FF00F80000008F00FFF1B +:107A5000FF80000008FFFFF00FECCCCCCEF00FF061 +:107A60000FECCCCCCEF00FFFFF80000008FFFFF042 +:107A70000F80000008F00FF00F80000008F00FFFEB +:107A8000FFC888888CFFFFD00FFFFFFFFFF00DDFDE +:107A9000FF73FFFFFFFFFDFFFFA5FFFFFFFFFFFFDE +:107AA000FFA5FFFFFFFFFFDFFF73FFFFFFFFFD00ED +:107AB00000000000000000DFFF73FFFFFFFFFDFF7D +:107AC000FFA5FFFFFFFFFFFFFFA5FFFFFFFFFFDF9A +:107AD000FF73FFFFFFFFFD0000000000000000DF5C +:107AE000FF73FFFFFFFFFDFFFFA5FFFFFFFFFFFF8E +:107AF000FFA5FFFFFFFFFFDFFF73FFFFFFFFFD009D +:107B000000000000000AB1000000000000BFFC00FF +:107B1000000000000BFFFB0000000000BFFFC01BC7 +:107B2000A000000BFFFC00CFFB0000BFFFC000BFA8 +:107B3000FFB00BFFFC00000CFFFBBFFFC00000000C +:107B4000CFFFFFFB000000000CFFFFB000000000B3 +:107B500000BFFB0000000000000BB00000000003AD +:107B60000000000308FC10001CF8FFFC101CFFF5CF +:107B7000FFFC2CFFF505FFFFFFF50005FFFFF500FB +:107B8000001DFFFD10001CFFFFFC101CFFF9FFFC97 +:107B90001CFFF505FFFCDFF50005FFD1A400000484 +:107BA000A10000004FE00000000002106FF1031080 +:107BB00000005FD06FF13FD10003FFF16FF15FFD77 +:107BC000000DFF406FF109FF704FF7006FF100CF1C +:107BD000E09FF0006FF1005FF3BFC0006FF1002F76 +:107BE000F5BFC0004FE0001FF6AFE0000000004FFF +:107BF000F46FF400000000AFF00FFE10000005FF6E +:107C0000A006FFD300007FFF20009FFFDABEFFF435 +:107C1000000006FFFFFFFD3000000017BDCA500046 +:107C2000000000008BB8000000000000FFFF000013 +:107C300000003006FFFF60030004FDDFFFFFFDEFE3 +:107C4000400DFFFFFFFFFFFFD04FFFFFF99FFFFF3A +:107C5000F408FFFF2002FFFF8000FFF900009FFFF4 +:107C60000000FFF900009FFF0008FFFF2002FFFF58 +:107C7000804FFFFFF99FFFFFF40DFFFFFFFFFFFFA6 +:107C8000D004FEDFFFFFFDDF40003006FFFF600392 +:107C900000000000FFFF0000000000008BB80000A3 +:107CA0000000000003DD303FF3000000006FFFF52F +:107CB0004FF400000009FF99FFBFF4000001BFF678 +:107CC000226FFFF400002DFE35FF53EFF40004FF98 +:107CD000C18FFFF82DFE407FFA1AFFFFFFA1AFF71B +:107CE000CF82DFFFFFFFFD28FC140EFFFFFFFFFF29 +:107CF000E041000FFFFFFFFFFFF000000FFFF90062 +:107D00008FFFF000000FFFF8008FFFF000000FFF63 +:107D1000F8008FFFF000000EFFF6006FFFE000009C +:107D20000000DFFD000000000000FFFF0000000079 +:107D30000000FFFF000000000000FFFF0000000047 +:107D40000000FFFF000000000000FFFF0000000037 +:107D50004FFFFFFFFFF400000BFFFFFFFFB000002D +:107D600000BFFFFFFB000000000BFFFFB0000000A2 +:107D70000000BFFB000000DFFFFC1BB1CFFFFDFFD9 +:107D8000FFFFC22CFFFFFFFFFFFFFFFFFFFFFFFF13 +:107D9000FFFFFFFFF0E0FFDFFFFFFFFFFFFFFD0042 +:107DA00004EFFFFFFFFE4000001EFFFFFFFFFFE1AB +:107DB0000000AFB00000000BFA0005FF100000004B +:107DC00001FF501EF600000000006FE1AFB00000A0 +:107DD0000000000BFAFFFFFF800008FFFFFFFFFF1E +:107DE000FFF1001FFFFFFFFFFFFFFFFFFFFFFFFF90 +:107DF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93 +:107E0000FFFF8FFFFFFFFFFFFFFFF8000006BDDA57 +:107E10005002FF0005EFFFFFFE42FF007FFFA77B40 +:107E2000FFF9FF05FFC100002CFFFF0EFC00000260 +:107E300022DFFF5FF200000FFFFFFF8FB000000F97 +:107E4000FFFFFF0000000000000000000000000035 +:107E5000000000FFFFFFF000000BF8FFFFFFF00045 +:107E6000002FF4FFFD22200000CFE0FFFFC2000042 +:107E70002CFF40FF9FFFB76AFFF700FF24DFFFFFE3 +:107E8000FE5000FF2005ACDB600000000000000099 +:107E900000008D000008FF00008FFFDFFFFFFFFFE5 +:107EA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF02 +:107EB000FFFFFF00008FFF000008FF0000008D00A3 +:107EC0000000000000000000000000008D00000025 +:107ED0000008FF000000008FFF0000CFFFFFFF0140 +:107EE00050FFFFFFFF06F7FFFFFFFF00BEFFFFFF92 +:107EF000FF00AEFFFFFFFF05F8DFFFFFFF0260009E +:107F0000009FFF0000000009FF00000000009E002D +:107F1000000000000000000000000000000610004B +:107F20000000000000001FD2000000008D000003D0 +:107F3000EE10000008FF000AB12FB000008FFF0014 +:107F400005FC07F4DFFFFFFF02505F60F9FFFFFF52 +:107F5000FF06F70DC0BDFFFFFFFF00AE09F09FFF5A +:107F6000FFFFFF00AE09F08FFFFFFFFF06F70DC018 +:107F7000ADDFFFFFFF02505F60E900008FFF0005EB +:107F8000FC06F4000008FF000AB12FB00000008DCD +:107F9000000002EE100000000000001FD2000000F0 +:107FA000000000000610008FFFFFFFFFFFFFF8FF3B +:107FB000FCFFFFFFFFFFFFFF202FFFFFFFFFFFFC86 +:107FC000000CFFFFEEFFFFFF202FFFFE22EFFFFF61 +:107FD000FCFFFFE2002EFFFFFE4EFE200002FFFF2F +:107FE000E202C2000000FFFF200000000000FFFFCF +:107FF000000000000000FFFFFFFFFFFFFFFFFF8FFB +:10800000FFFFFFFFFFFFF80000000000FF3000014E +:10801000CCFF40002DFFFF4003EFFFFF403FFFFF7D +:10802000FF44FFFFFFFF9FFFFFFFFFFFFFFFFFFF7B +:10803000FFFFFFFFFFAFFFFFFFFF45FFFFFFFF4019 +:108040004FFFFFFF4003EFFFFF40002EFFFF300018 +:1080500001CC0000000000000000000000008F9133 +:108060000000000000FFFF7000000000FFFFFD4067 +:10807000000000FFFFFFFA100000FFFFFFFFF70006 +:1080800000FFFFFFFFFFD500FFFFFFFFFFFFB2FF75 +:10809000FFFFFFFFFFFDFFFFFFFFFFFFFDFFFFFFF4 +:1080A000FFFFFFB2FFFFFFFFFFD500FFFFFFFFF75E +:1080B0000000FFFFFFFA100000FFFFFD400000007E +:1080C000FFFF70000000008EA10000000000000013 +:1080D0000000000000000000000000008FFFF8001A +:1080E0008FFFF8FFFFFF00FFFFFFFFFFFF00FFFF15 +:1080F000FFFFFFFF00FFFFFFFFFFFF00FFFFFFFF8E +:10810000FFFF00FFFFFFFFFFFF00FFFFFFFFFFFF7D +:1081100000FFFFFFFFFFFF00FFFFFFFFFFFF00FF6C +:10812000FFFFFFFFFF00FFFFFFFFFFFF00FFFFFF5D +:10813000FFFFFF00FFFFFF7FFFF7007FFFF78FFFCD +:10814000FFFFFFFFF8FFFFFFFFFFFFFFFFFFFFFF46 +:10815000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F +:10816000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F +:10817000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F +:10818000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +:10819000FFFFFFFFFFFFFFFFFF8FFFFFFFFFFFF866 +:1081A0000000000000CC100003FFFFD20004FFFF1E +:1081B000FE3004FFFFFFF404FFFFFFFF54FFFFFF4B +:1081C000FFF9FFFFFFFFFFFFFFFFFFFFFFFFFFFFC5 +:1081D000F9FFFFFFFF44FFFFFFF304FFFFFE300442 +:1081E000FFFFD20004FFCC100003FF0000000000DE +:1081F0000000002DD2000000000001EFFE10000082 +:1082000000001DFFFFD100000000CFFFFFFC0000B9 +:10821000000BFFFFFFFFB00000AFFFFFFFFFFA0002 +:1082200009FFFFFFFFFFFF900FFFFFFFFFFFFFF0C2 +:1082300008FFFFFFFFFFFF800000000000000000BC +:108240000CFFFFFFFFFFFFC00FFFFFFFFFFFFFF06F +:108250000FFFFFFFFFFFFFF00CFFFFFFFFFFFFC05F +:108260000000001A40000001DFF000001DFFA00028 +:1082700001DFFA00001DFFA00001DFFA00000CFF83 +:10828000A000000DFF80000001DFF80000001DFFCE +:1082900080000001DFF80000001DFF80000001DF0A +:1082A000F00000001B5004A10000000FFD100000B2 +:1082B0000AFFD1000000AFFD1000000AFFD100004E +:1082C00000AFFD1000000AFFC0000008FFD0000052 +:1082D0008FFD100008FFD100008FFD100008FFD1B6 +:1082E00000000FFD10000005B1000000000004FFB9 +:1082F000400000000008FF800000000008FF800030 +:1083000000000008FF800000000008FF8000004817 +:10831000888CFFC88884FFFFFFFFFFFFFFFFFFFF80 +:10832000FFFFFFFF48888CFFC88884000008FF809B +:108330000000000008FF800000000008FF8000002F +:10834000000008FF800000000004FF40000014440B +:108350004444444441EFFFFFFFFFFFFEFFFFFFFFE8 +:10836000FFFFFF7BBBBBBBBBBBB7000005ADFFDAAC +:108370005000000004DFFC88CFFD4000007FFE407D +:108380000004EFF70007FFF4009E804FFF704FFFDF +:10839000C000AFF80CFFF4DFFF809AFFFE08FFFD7E +:1083A000DFFF80EFFFFE08FFFD4FFFC08FFFF80CDF +:1083B000FFF407FFF408EE804FFF70007FFE4000DF +:1083C00004EFF8000004DFFC88CFFD40000000054A +:1083D000ADFFDA5000008C2000000000000000001B +:1083E000DFE400000000000000001BFF8049DFFD0B +:1083F000A5000000007FFFFFD88CFFD40000000420 +:10840000EFF800004EFF700000001CFF69E804FF59 +:10841000F70004E3009FFEFF80CFFF400DFF7005D3 +:10842000FFFFE08FFFD00DFFF7002DFFE08FFFD0A3 +:1084300004FFFC0000AFF8CFFF30007FFF400006D4 +:10844000FFFFF7000008FFF400003EFFA00000005F +:108450004DFFC88201BFF7000000005ADFFC100882 +:10846000FFA000000000000000004EFD0000000022 +:108470000000000002C8000000002DD20000000033 +:1084800000000000BFFB0000000000000005FFFF2F +:10849000500000000000000DFFFFD00000000000B1 +:1084A000007FFFFFF7000000000001FFD88DFF10E4 +:1084B000000000000AFFA00AFFA0000000003FFF2C +:1084C000B00BFFF300000000CFFFC00CFFFC00006A +:1084D0000005FFFFD00DFFFF5000000EFFFFF99FCA +:1084E000FFFFE000008FFFFFE22EFFFFF80002FF1A +:1084F000FFFF9009FFFFFF100AFFFFFFE33EFFFFB2 +:10850000FFA00FFFFFFFFFFFFFFFFFF008FFFFFFD0 +:10851000FFFFFFFFFF8000000000000000000000E0 +:1085200000000000D800000000000000FF80FFFFF6 +:10853000700007FFFFF8FFFFF6006FFFFFFD788E6A +:10854000FF15FFE8FFE20002E54FFE20FE200000DD +:1085500013FFF300520000003FFF31005200000201 +:10856000EFF45E20FE20788EFF51FFE8FFE2FFFF70 +:10857000F6006FFFFFFDFFFF700007FFFFF8000030 +:1085800000000000FF80000000000000D800000094 +:1085900000000000000000000000000000000001DA +:1085A000DD10000000001DFFD100000001DFFFFD15 +:1085B0001000001DFF99FFD10001DFF9009FFD10A1 +:1085C0001DFF900009FFD1BFF90000009FFB5F90E5 +:1085D00000000009F500000000000000000000009D +:1085E0000000005F9000000009F5BFF90000009F47 +:1085F000FB1DFF900009FFD101DFF9009FFD100076 +:108600001DFF99FFD1000001DFFFFD100000001DDC +:10861000FFD10000000001DD10000000000000009C +:10862000000000000000000000000000001DD1005C +:1086300000000000000001DFFD10EFFFFFFFD00091 +:108640001DFFFFD1AFFFFFFFF000CFCFFCFC00000C +:10865000000FF0006B1FF1B60000000FF000000FDC +:10866000F0000000000FF000000FF0000000000F0D +:10867000F000000FF00000006B1FF1B6000FF000DB +:108680000000CFCFFCFC000FFFFFFFFA1DFFFFD162 +:10869000000DFFFFFFFE01DFFD10000000000000E5 +:1086A000001DD100000000000000000000008FFF4E +:1086B000FFE200000000FFFFFFFE20000000FFFFC0 +:1086C000FFFFFFFFFFF8FFFFFFFFFFFFFFFFFFFFC1 +:1086D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA +:1086E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9A +:1086F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A +:10870000FFFFFFFFFFFF8FFFFFFFFFFFFFF80000EE +:10871000000BB0000000000000BFFB0000000000E4 +:108720000BFFFFB000000000BFFFFFFB0000000BCD +:10873000FFFFFFFFB000004FFFFFFFFFF40000004E +:1087400000FFFF000000000000FFFF00000000002D +:1087500000FFFF000000000000FFFF00000000001D +:1087600000FFFF000000DFFFF0DFFD0FFFFDFFFF58 +:10877000F900009FFFFFFFFFFFFFFFFFFFFFFFFF6D +:10878000FFFFFFF0E0FFDFFFFFFFFFFFFFFD000047 +:108790000000000000000000000000000AEA620083 +:1087A0000000000002FFFFF000000000009FFFFF3C +:1087B00000000000000FFFFFD00000000002FFFFDC +:1087C000FB000000000003EFFF7000000000000449 +:1087D000FFF2000000000000BFFB000000000000EE +:1087E0006FFF3000000200004FFF9000028FF30087 +:1087F0006FFFD0000AFFFFE4BFFFD10000EFFFFFD3 +:10880000FFFFD100000AFFFFFFFF900000006FFF95 +:10881000FFFB3000000002FFDB72000000000008D8 +:10882000EE800000066108FFFF80002DFFD0EF33CF +:10883000FE002EFFF30EF33FE02EFFF3008FFFFF4D +:108840006EFFF300008EFFFFFFF300000002EFFF5A +:10885000F3000000002EFFFF30000008EFFFFFFFD5 +:10886000300008FFFFF6EFFF3000EF33FE02EFFFAE +:10887000300EF33FE002EFFF308FFFF80002DFFD24 +:10888000008EE800000066100000DFFFFF0D2000F2 +:1088900000FFFFFF0FE20000FFFFFF0FFDDFF0FF13 +:1088A000FFFF2000FFF0FFFFFFFFFFFFF0FFFFFFD4 +:1088B000FFFFFFF0FFFFFFFFFFFFF0FFFFFFFFFFE6 +:1088C000FFF0FFFFFFFFFFFFF0FFFFFFFFFFFFF0E5 +:1088D000FFFFFFFFFFFFF0FFFFFFFFFFFFF0DFFFE6 +:1088E000FFFFFDFFF90000000000FFFFFFFFFF009A +:1088F00000DFFFFFFFFD00008FFFFFFFFFC200FF53 +:10890000FFFFFFFFFE20FF00000001FFE2FF00006D +:108910000000FFFCFF00000000FFFFFF0000000060 +:10892000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF57 +:10893000FFFFFB11BFFFFFFFFFF1001FFFFFFFFF66 +:10894000F1001FFFFFFFFFFB11BFFFFFFFFFFFFF56 +:10895000FFFFFF8FFFFFFFFFFFF800DFFFFD0000BD +:1089600001FFFFFC000003FFFFF7000006FFFFF21E +:10897000000008FFFFD000000AFFFFFFFFD00CFF40 +:10898000FFFFFFA00EFFFFFFFF200DFFFFFFF8001E +:1089900000000AFFE00000000EFF500000002FFC66 +:1089A000000000005FF3000000009FA00000000036 +:1089B000DF1000000000D70000000004EE400000BF +:1089C00000DFFF99FFFD0000FFFF99FFFF0000FFA0 +:1089D000FFFFFFFF0000FFFF9000000000FFFF0D02 +:1089E000FFFF0D20FFFF0FFFFF0FE2FFFF0FFFFF55 +:1089F0000FFDFFFF0FFFFF2000FFFF0FFFFFFFFF37 +:108A0000FFFF0FFFFFFFFFFFFF0FFFFFFFFFDFFF76 +:108A10000FFFFFFFFF00000FFFFFFFFF00000FFF32 +:108A2000FFFFFF00000DFFFFFFFD000000CC000076 +:108A300000000002FF3000000001BFFFFC2000002A +:108A40001EFFFFFFE100009FFFFFFFF80000EFFFA8 +:108A5000FFFFFD0000FFFFFFFFFF0001FFFFFFFF23 +:108A6000FF0003FFFFFFFFFF3008FFFFFFFFFF8056 +:108A70001EFFFFFFFFFFE1CFFFFFFFFFFFFCCFFF68 +:108A8000FFFFFFFFFC0000000000000000000EFFE1 +:108A9000E00000000004EE4000008FFFFFFFFFFF3A +:108AA000FFFFF8FFFFFFFFFFFFFFFFFFFF00F00FDB +:108AB00000F00F00FFFF00F00F00F00F00FFFFFFBE +:108AC000FFFFFFFFFFFFFFFFF808808808808FFF90 +:108AD000FFF808808808808FFFFFFFFFFFFFFFFF80 +:108AE000FFFFFF00F00000000F00FFFF00F000009C +:108AF000000F00FFFFFFFFFFFFFFFFFFFF8FFFFFE4 +:108B0000FFFFFFFFFFF80000000000000000000072 +:108B1000000000000003AF70000000000004CFFF61 +:108B2000F00000000006DFFFFFA000000017EFFFCD +:108B3000FFFF30000018FFFFFFFFFC00002AFFFFCF +:108B4000FFFFFFF40008FFFFFFFFFFFFD0000FFF54 +:108B5000FFFFFFFFFF600008FFFFFFFFFFFE0000B9 +:108B600000000000FFFFF7000000000000FFFFF121 +:108B7000000000000000FFFF80000000000000FF78 +:108B8000FF10000000000000FFFA000000000000DD +:108B900000FFF2000000000000008F8000000000D5 +:108BA0000000000000000000DFFFFFF0D200FFFF28 +:108BB000FFF0FE20FFFFFFF0FFE2FFFFFFF0FFFDF1 +:108BC000FFFFFFF20000FFFFFFFFFFFFFFFFFFFFC0 +:108BD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5 +:108BE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95 +:108BF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85 +:108C0000FFFFDFFFFFFFFFFD00000000000000008E +:108C100000000000049CEFFEC94000000007EFFFC9 +:108C2000FFFFFFFE700004DFFFFCA88ACFFFFD40BE +:108C30006FFFD5000000005DFFF6CFF600000000DA +:108C400000006FFC1A30005ADFFDA50003A10000F0 +:108C50004DFFFFFFFFD400000005FFFEA88AEFFFD5 +:108C600050000001DF70000007FD1000000012003E +:108C7000000000210000000000004EE400000000A1 +:108C800000000000EFFE0000000000000000EFFE0A +:108C900000000000000000004EE4000000008FFF14 +:108CA000FFFFFFFFFFFFFF80FFFFFFFFFFFFFFFF53 +:108CB000FFF0FF000000000000000FFDFF0FFFFFAE +:108CC000FFFFFFFF0FFFFF0FFFFFFFFFFFFF00FF93 +:108CD000FF0FFFFFFFFFFFFF00FFFF0FFFFFFFFF83 +:108CE000FFFF0FFFFF000000000000000FFDFFFF6F +:108CF000FFFFFFFFFFFFFFF08FFFFFFFFFFFFFFF03 +:108D0000FF808FFFFFFFFFFFFFFFFF80FFFFFFFFE1 +:108D1000FFFFFFFFFFF0FF000000000000000FFD5D +:108D2000FF0FFFFFFFFFF0000FFFFF0FFFFFFFFF31 +:108D3000F00000FFFF0FFFFFFFFFF00000FFFF0F3D +:108D4000FFFFFFFFF0000FFFFF000000000000002A +:108D50000FFDFFFFFFFFFFFFFFFFFFF08FFFFFFF94 +:108D6000FFFFFFFFFF808FFFFFFFFFFFFFFFFF8081 +:108D7000FFFFFFFFFFFFFFFFFFF0FF00000000000D +:108D800000000FFDFF0FFFFFFF0000000FFFFF0FB0 +:108D9000FFFFFF00000000FFFF0FFFFFFF000000CC +:108DA00000FFFF0FFFFFFF0000000FFFFF000000AC +:108DB000000000000FFDFFFFFFFFFFFFFFFFFFF0C0 +:108DC0008FFFFFFFFFFFFFFFFF808FFFFFFFFFFF12 +:108DD000FFFFFF80FFFFFFFFFFFFFFFFFFF0FF0030 +:108DE0000000000000000FFDFF0FFFF0000000007A +:108DF0000FFFFF0FFFF00000000000FFFF0FFFF06C +:108E00000000000000FFFF0FFFF0000000000FFF58 +:108E1000FF000000000000000FFDFFFFFFFFFFFF4D +:108E2000FFFFFFF08FFFFFFFFFFFFFFFFF808FFFC0 +:108E3000FFFFFFFFFFFFFF80FFFFFFFFFFFFFFFFC1 +:108E4000FFF0FF000000000000000FFDFF00000029 +:108E5000000000000FFFFF0000000000000000FF06 +:108E6000FF0000000000000000FFFF000000000005 +:108E700000000FFFFF000000000000000FFDFFFFDB +:108E8000FFFFFFFFFFFFFFF08FFFFFFFFFFFFFFF71 +:108E9000FF80000000000001000000000000000052 +:108EA0000007FD1000000000000001CFFFF50000EA +:108EB0000000000000B929FE100000000000003F83 +:108EC00010020000000003DF800A90000000037021 +:108ED00000DFFF77F7555555558FD30FFFFDCCDFDA +:108EE000DCCCCCCDFFB08FFE1000AA0000004D40BE +:108EF0000046100001F202331000000000000009DB +:108F0000B1CFF9000000000000000AFFFF90000050 +:108F1000000000000000BFF9000000000000000099 +:108F200001220000000018DFFD920002EFFBEFFFBE +:108F3000300DFFFA2EFFE04FFFFA03FFF59FFAFA1C +:108F4000354FFACFC08A3D0BFDEFFB03128FFEFFBA +:108F5000FFB006FFFFFFFFD108FFFFEFFD11109FDD +:108F6000FFDFD1593B0BFDAFD7FA381DFB5FFFFA8E +:108F700001DFF70DFFFA1DFFF103EFFCDFFF5000EB +:108F800018DFFEA30000007FFFF70000EFFFFFFFE8 +:108F9000FFFFFEEFFFFFFFFFFFFE000000000000ED +:108FA000000FFFFFFFFFFFF00FFFFFFFFFFFF00FBE +:108FB000F99F99F99FF00FF88F88F88FF00FF88FCD +:108FC00088F88FF00FF88F88F88FF00FF88F88F8F7 +:108FD0008FF00FF88F88F88FF00FF88F88F88FF0E8 +:108FE0000FF99F99F99FF00FFFFFFFFFFFF008FFB8 +:108FF000FFFFFFFF800000000000007FA0000000D6 +:109000000000008FFFB000000000000DFFFFA00077 +:109010000000008A1DFFFF000000008FFA1DFF7096 +:109020000000008FFFFA1D800000008FFFFFFA0094 +:109030000000008FFFFFFF800000008FFFFFFF8018 +:109040000000008FFFFFFF800000008FFFFFFF8008 +:109050000000006FFFFFFF800000000BFFFFFF809C +:1090600000000000DFFFFF80000000000EFFFF8017 +:109070000000000000DEDB600000000000000000D7 +:1090800000000000000000001BFFFFFFFFFFFFE4E7 +:109090000001DFFFFFFFFFFFFFFE001DFFFFFAEFF4 +:1090A000FEAFFFFF01DFFFFFA02EE20AFFFF1DFF63 +:1090B000FFFFE202202EFFFFCFFFFFFFFE2002EFA7 +:1090C000FFFFCFFFFFFFFE2002EFFFFF1DFFFFFFAF +:1090D000E202202EFFFF01DFFFFFA02EE20AFFFFCA +:1090E000001DFFFFFAEFFEAFFFFF0001DFFFFFFFF4 +:1090F000FFFFFFFE00001BFFFFFFFFFFFFE4000874 +:10910000FFFFFFE4008FFFFFFFFE08F80F0B40FF9B +:109110008FF80F0B40FFFFF80F0B40FFFFFFFFFF23 +:10912000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F +:10913000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F +:10914000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F +:10915000FFFFEFFFFFFFFFFE4EFFFFFFFFE40000FA +:109160000000000000010000000000000003E0001B +:10917000001000000002EF1000BF000000007FF1AF +:1091800000CFF100000007FF11CFFF77777777BF9F +:10919000F1CFFFFFFFFFFFFFFF17FFFFFFFFFFFF05 +:1091A000FFE007FFF100000000000006FF100000D4 +:1091B0000000000005A00000000000006C765F6465 +:1091C0006973705F6472765F7265676973746572E4 +:1091D000000000002E2E2F74686972647061727432 +:1091E000792F6C76676C2F7372632F6C765F686172 +:1091F0006C2F6C765F68616C5F646973702E6300BE +:1092000081100100000000006C765F616E696D5F87 +:1092100073746172740000002E2E2F74686972647A +:1092200070617274792F6C76676C2F7372632F6C18 +:10923000765F6D6973632F6C765F616E696D2E6307 +:10924000000000006C765F66735F6472765F726523 +:1092500067697374657200006C765F66735F6F7028 +:10926000656E00006C765F66735F6469725F6F7035 +:10927000656E00002E2E2F746869726470617274BE +:10928000792F6C76676C2F7372632F6C765F6D69C4 +:1092900073632F6C765F66732E63000000003C02E0 +:1092A0007804B306EE08280B610D990FD01106144F +:1092B0003A166C189D1ACB1CF71E212148236C25E9 +:1092C0008E27AC29C72BDF2DF32F0332103418362D +:1092D0001C381C3A173C0E3EFF3FEC41D443B645C8 +:1092E00093476A493C4B084DCD4E8D504652F95339 +:1092F000A5554B57EA58825A135C9C5D1F5F9A60D4 +:109300000D627963DD6439668D67D9681D6A596BB2 +:109310008C6CB76DD96EF36F04710C720B730174A2 +:10932000EE74D275AD767F7747780679BB79677A28 +:109330000A7BA27B327CB77C337DA57D0D7E6C7E63 +:10934000C07E0B7F4B7F827FAF7FD27FEB7FFA7F28 +:10935000FF7F00006C765F6D656D5F616C6C6F63A5 +:10936000000000005F6C765F6D656D5F6275665F23 +:1093700072656C65617365006C765F6D656D5F72BB +:1093800065616C6C6F6300005F6C765F6D656D5F2F +:109390006275665F676574002E2E2F74686972644B +:1093A00070617274792F6C76676C2F7372632F6C97 +:1093B000765F6D6973632F6C765F6D656D2E6300EC +:1093C000436F756C646E277420616C6C6F6361749D +:1093D00065206D656D6F7279000000006C765F6DC1 +:1093E000656D5F6275665F72656C656173653A2075 +:1093F00070206973206E6F742061206B6E6F776EC2 +:1094000020627566666572006C765F6D656D5F6281 +:1094100075665F6765743A204F7574206F66206DBE +:10942000656D6F72792C2063616E277420616C6C9E +:109430006F636174652061206E65772020627566B8 +:109440006665722028696E63726561736520796F45 +:109450007572204C565F4D454D5F53495A452F68F4 +:109460006561702073697A65290000006C765F6D14 +:10947000656D5F6275665F6765743A206E6F206622 +:10948000726565206275666665722E20496E63722C +:1094900065617365204C565F445241575F425546A3 +:1094A0005F4D41585F4E554D2E0000006C765F7445 +:1094B00061736B5F6372656174655F626173696339 +:1094C000000000006C765F7461736B5F63726561AE +:1094D000746500002E2E2F74686972647061727456 +:1094E000792F6C76676C2F7372632F6C765F6D6962 +:1094F00073632F6C765F7461736B2E6300000000E2 +:109500005F6C765F7478745F6765745F73697A65A2 +:1095100000000000202C2E3B3A2D5F002E2E2F74D1 +:109520006869726470617274792F6C76676C2F73DE +:1095300072632F6C765F6D6973632F6C765F7478DE +:10954000742E63006C765F7478745F6765745F7304 +:10955000697A653A20696E7465676572206F766511 +:1095600072666C6F77207768696C652063616C63E5 +:10957000756C6174696E67207465787420686569BC +:1095800067687400FFFF000010840000EF808C000B +:109590006C765F696D675F64657369676E00000074 +:1095A0006C765F696D675F7365745F6175746F5F1B +:1095B00073697A65000000006C765F696D675F73A0 +:1095C00065745F6F66667365745F78006C765F695B +:1095D0006D675F7365745F6F66667365745F79004E +:1095E0006C765F696D675F6765745F7372630000B7 +:1095F0006C765F696D675F6765745F66696C655FF0 +:109600006E616D65000000006C765F696D675F6775 +:1096100065745F6175746F5F73697A65000000003F +:109620006C765F696D675F7365745F73726300006A +:109630006C765F696D675F637265617465000000D9 +:109640006C765F696D675F6765745F6F666673658B +:10965000745F78006C765F696D675F6765745F6FD4 +:1096600066667365745F79006C765F696D675F67C6 +:1096700065745F7069766F74000000006C765F69D6 +:109680006D675F6765745F616E676C650000000001 +:109690006C765F696D675F6765745F7A6F6F6D0089 +:1096A0006C765F696D675F6765745F616E74696131 +:1096B0006C696173000000002E2E2F74686972645B +:1096C00070617274792F6C76676C2F7372632F6C74 +:1096D000765F776964676574732F6C765F696D6711 +:1096E0002E6300006C765F696D675F7365745F73EE +:1096F00072633A20756E6B6E6F776E207479706549 +:10970000000000006C765F696D675F7365745F735E +:1097100072633A20756E6B6E6F776E20696D61674C +:1097200065207479706500006C765F696D675F73A2 +:1097300065745F7372633A2020604C565F494D47F1 +:109740005F5352435F5641524941424C4560207439 +:1097500079706520666F756E64000000696D6167E1 +:109760006520637265617465640000006C765F69F2 +:109770006D6700006C765F6C6162656C5F73657429 +:109780005F646F745F746D70000000006C765F6CD6 +:109790006162656C5F7365745F616C69676E000020 +:1097A0006C765F6C6162656C5F7365745F7465781D +:1097B000745F73656C5F7374617274006C765F6C58 +:1097C0006162656C5F7365745F746578745F7365FF +:1097D0006C5F656E640000006C765F6C6162656C46 +:1097E0005F6765745F746578740000006C765F6C09 +:1097F0006162656C5F6765745F6C6F6E675F6D6FEC +:10980000646500006C765F6C6162656C5F676574AF +:109810005F616C69676E00006C765F6C6162656C9D +:109820005F6765745F7265636F6C6F720000000044 +:109830006C765F6C6162656C5F6765745F616E69B1 +:109840006D5F7370656564006C765F6C6162656CFA +:109850005F6765745F6C65747465725F706F7300C9 +:109860006C765F6C6162656C5F6765745F6C657474 +:109870007465725F6F6E00006C765F6C6162656C20 +:109880005F7365745F746578740000006C765F6C5C +:109890006162656C5F7365745F746578745F666D33 +:1098A000740000006C765F6C6162656C5F73657458 +:1098B0005F746578745F737461746963000000009D +:1098C0006C765F6C6162656C5F7365745F6C6F6E04 +:1098D000675F6D6F646500006C765F6C6162656CDC +:1098E0005F7365745F7265636F6C6F720000000078 +:1098F0006C765F6C6162656C5F6372656174650054 +:109900006C765F6C6162656C5F7365745F616E69D4 +:109910006D5F7370656564006C765F6C6162656C29 +:109920005F6765745F746578745F73656C5F73748B +:10993000617274006C765F6C6162656C5F67657400 +:109940005F746578745F73656C5F656E64000000BA +:109950006C765F6C6162656C5F69735F636861728E +:109960005F756E6465725F706F7300006C765F6C1C +:109970006162656C5F696E735F7465787400000086 +:109980006C765F6C6162656C5F6375745F7465783B +:10999000740000002E2E2F746869726470617274F6 +:1099A000792F6C76676C2F7372632F6C765F776993 +:1099B00064676574732F6C765F6C6162656C2E638F +:1099C000000000004661696C656420746F20616C62 +:1099D0006C6F63617465206D656D6F727920666F61 +:1099E0007220646F745F746D705F70747200000039 +:1099F00054657874000000006C6162656C206372CD +:109A000065617465640000006C765F6C6162656C12 +:109A100000000000F8B500BFF8BC08BC9E467047C7 +:109A200089020000F8B500BFF8BC08BC9E4670472C +:049A300065020000CB +:089A34008017FF7F0100000014 +:109A3C000100000048656C6C6F20576F726C6421DC +:109A4C00A50B0100990101001200030000000000A9 +:109A5C002400002084670200AC6202000C62020049 +:109A6C00145502001000025000000000000000001D +:109A7C0000000000A86B002010000000986B002074 +:109A8C00100000006D3A01007D3B0100CD3C01004F +:109A9C00353D0100053D01007D3C01003D3B0100D1 +:049AAC009F3A0100DC :00000001FF diff --git a/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/e54_gfx_learning.lss b/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/e54_gfx_learning.lss index 1ed51a8f..89c4a027 100644 --- a/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/e54_gfx_learning.lss +++ b/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/e54_gfx_learning.lss @@ -3,41 +3,41 @@ e54_gfx_learning.elf: file format elf32-littlearm Sections: Idx Name Size VMA LMA File off Algn - 0 .text 00020d34 00000000 00000000 00010000 2**3 + 0 .text 00029a34 00000000 00000000 00010000 2**3 CONTENTS, ALLOC, LOAD, READONLY, CODE - 1 .ARM.exidx 00000008 00020d34 00020d34 00030d34 2**2 + 1 .ARM.exidx 00000008 00029a34 00029a34 00039a34 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA - 2 .relocate 00000074 20000000 00020d3c 00040000 2**2 + 2 .relocate 00000074 20000000 00029a3c 00040000 2**2 CONTENTS, ALLOC, LOAD, DATA 3 .bkupram 00000000 47000000 47000000 00040074 2**0 CONTENTS 4 .qspi 00000000 04000000 04000000 00040074 2**0 CONTENTS - 5 .bss 00006da8 20000078 00020db8 00040078 2**3 + 5 .bss 00006d8c 20000078 00029ab8 00040078 2**3 ALLOC - 6 .stack 00010000 20006e20 00027b60 00040078 2**0 + 6 .stack 00010004 20006e04 00030844 00040078 2**0 ALLOC 7 .ARM.attributes 0000002e 00000000 00000000 00040074 2**0 CONTENTS, READONLY 8 .comment 00000059 00000000 00000000 000400a2 2**0 CONTENTS, READONLY - 9 .debug_info 0009cf6b 00000000 00000000 000400fb 2**0 + 9 .debug_info 0009d63d 00000000 00000000 000400fb 2**0 CONTENTS, READONLY, DEBUGGING - 10 .debug_abbrev 0000c72f 00000000 00000000 000dd066 2**0 + 10 .debug_abbrev 0000c8ba 00000000 00000000 000dd738 2**0 CONTENTS, READONLY, DEBUGGING - 11 .debug_loc 0004cd3b 00000000 00000000 000e9795 2**0 + 11 .debug_loc 0004d923 00000000 00000000 000e9ff2 2**0 CONTENTS, READONLY, DEBUGGING - 12 .debug_aranges 00001fd0 00000000 00000000 001364d0 2**0 + 12 .debug_aranges 00002000 00000000 00000000 00137915 2**0 CONTENTS, READONLY, DEBUGGING - 13 .debug_ranges 00003e50 00000000 00000000 001384a0 2**0 + 13 .debug_ranges 00003f18 00000000 00000000 00139915 2**0 CONTENTS, READONLY, DEBUGGING - 14 .debug_macro 0003fcb4 00000000 00000000 0013c2f0 2**0 + 14 .debug_macro 0003f994 00000000 00000000 0013d82d 2**0 CONTENTS, READONLY, DEBUGGING - 15 .debug_line 0003a73b 00000000 00000000 0017bfa4 2**0 + 15 .debug_line 0003ad4e 00000000 00000000 0017d1c1 2**0 CONTENTS, READONLY, DEBUGGING - 16 .debug_str 0012adf3 00000000 00000000 001b66df 2**0 + 16 .debug_str 0012b007 00000000 00000000 001b7f0f 2**0 CONTENTS, READONLY, DEBUGGING - 17 .debug_frame 00006374 00000000 00000000 002e14d4 2**2 + 17 .debug_frame 000064d4 00000000 00000000 002e2f18 2**2 CONTENTS, READONLY, DEBUGGING Disassembly of section .text: @@ -49,47 +49,47 @@ Disassembly of section .text: void _lv_gc_clear_roots(void) { - 0: 20 6e 01 20 f5 0e 00 00 f1 0e 00 00 f1 0e 00 00 n. ............ + 0: 08 6e 01 20 79 0f 00 00 75 0f 00 00 75 0f 00 00 .n. y...u...u... #define LV_CLEAR_ROOT(root_type, root_name) _lv_memset_00(&LV_GC_ROOT(root_name), sizeof(LV_GC_ROOT(root_name))); LV_ITERATE_ROOTS(LV_CLEAR_ROOT) - 10: f1 0e 00 00 f1 0e 00 00 f1 0e 00 00 00 00 00 00 ................ + 10: 75 0f 00 00 75 0f 00 00 75 0f 00 00 00 00 00 00 u...u...u....... ... - 2c: f1 0e 00 00 f1 0e 00 00 00 00 00 00 f1 0e 00 00 ................ - 3c: f1 0e 00 00 f1 0e 00 00 f1 0e 00 00 f1 0e 00 00 ................ - 4c: f1 0e 00 00 f1 0e 00 00 f1 0e 00 00 f1 0e 00 00 ................ - 5c: f1 0e 00 00 f1 0e 00 00 f1 0e 00 00 f1 0e 00 00 ................ - 6c: f1 0e 00 00 f1 0e 00 00 f1 0e 00 00 f1 0e 00 00 ................ - 7c: f1 0e 00 00 f1 0e 00 00 f1 0e 00 00 f1 0e 00 00 ................ - 8c: f1 0e 00 00 f1 0e 00 00 f1 0e 00 00 f1 0e 00 00 ................ - 9c: f1 0e 00 00 f1 0e 00 00 f1 0e 00 00 f1 0e 00 00 ................ - ac: f1 0e 00 00 f1 0e 00 00 f1 0e 00 00 f1 0e 00 00 ................ - bc: f1 0e 00 00 f1 0e 00 00 f1 0e 00 00 f1 0e 00 00 ................ - cc: f1 0e 00 00 f1 0e 00 00 f1 0e 00 00 f1 0e 00 00 ................ - dc: f1 0e 00 00 f1 0e 00 00 f1 0e 00 00 00 00 00 00 ................ + 2c: 75 0f 00 00 75 0f 00 00 00 00 00 00 75 0f 00 00 u...u.......u... + 3c: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u... + 4c: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u... + 5c: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u... + 6c: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u... + 7c: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u... + 8c: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u... + 9c: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u... + ac: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u... + bc: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u... + cc: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u... + dc: 75 0f 00 00 75 0f 00 00 75 0f 00 00 00 00 00 00 u...u...u....... ... - f4: 21 1d 00 00 f1 0e 00 00 f1 0e 00 00 f1 0e 00 00 !............... - 104: f1 0e 00 00 f1 0e 00 00 f1 0e 00 00 f1 0e 00 00 ................ - 114: f1 0e 00 00 d1 25 00 00 e5 25 00 00 f9 25 00 00 .....%...%...%.. - 124: 0d 26 00 00 f1 0e 00 00 f1 0e 00 00 f1 0e 00 00 .&.............. - 134: f1 0e 00 00 f1 0e 00 00 f1 0e 00 00 f1 0e 00 00 ................ - 144: f1 0e 00 00 f1 0e 00 00 f1 0e 00 00 f1 0e 00 00 ................ - 154: f1 0e 00 00 f1 0e 00 00 f1 0e 00 00 f1 0e 00 00 ................ - 164: f1 0e 00 00 f1 0e 00 00 f1 0e 00 00 f1 0e 00 00 ................ - 174: f1 0e 00 00 f1 0e 00 00 f1 0e 00 00 f1 0e 00 00 ................ - 184: f1 0e 00 00 f1 0e 00 00 f1 0e 00 00 f1 0e 00 00 ................ - 194: f1 0e 00 00 f1 0e 00 00 f1 0e 00 00 f1 0e 00 00 ................ - 1a4: f1 0e 00 00 f1 0e 00 00 f1 0e 00 00 f1 0e 00 00 ................ - 1b4: f1 0e 00 00 f1 0e 00 00 f1 0e 00 00 f1 0e 00 00 ................ - 1c4: f1 0e 00 00 f1 0e 00 00 f1 0e 00 00 f1 0e 00 00 ................ - 1d4: f1 0e 00 00 f1 0e 00 00 f1 0e 00 00 f1 0e 00 00 ................ - 1e4: f1 0e 00 00 f1 0e 00 00 95 28 00 00 f1 0e 00 00 .........(...... - 1f4: f1 0e 00 00 f1 0e 00 00 f1 0e 00 00 f1 0e 00 00 ................ - 204: f1 0e 00 00 f1 0e 00 00 f1 0e 00 00 f1 0e 00 00 ................ - 214: f1 0e 00 00 f1 0e 00 00 f1 0e 00 00 f1 0e 00 00 ................ - 224: f1 0e 00 00 f1 0e 00 00 f1 0e 00 00 f1 0e 00 00 ................ - 234: f1 0e 00 00 f1 0e 00 00 f1 0e 00 00 f1 0e 00 00 ................ - 244: f1 0e 00 00 f1 0e 00 00 f1 0e 00 00 f1 0e 00 00 ................ - 254: f1 0e 00 00 f1 0e 00 00 f1 0e 00 00 f1 0e 00 00 ................ + f4: 71 1c 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 q...u...u...u... + 104: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u... + 114: 75 0f 00 00 cd 1e 00 00 e1 1e 00 00 f5 1e 00 00 u............... + 124: 09 1f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 ....u...u...u... + 134: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u... + 144: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u... + 154: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u... + 164: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u... + 174: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u... + 184: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u... + 194: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u... + 1a4: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u... + 1b4: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u... + 1c4: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u... + 1d4: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u... + 1e4: 75 0f 00 00 75 0f 00 00 91 21 00 00 75 0f 00 00 u...u....!..u... + 1f4: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u... + 204: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u... + 214: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u... + 224: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u... + 234: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u... + 244: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u... + 254: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u... 00000264 <__do_global_dtors_aux>: 264: b510 push {r4, lr} @@ -105,7 +105,7 @@ void _lv_gc_clear_roots(void) 27a: bd10 pop {r4, pc} 27c: 20000078 .word 0x20000078 280: 00000000 .word 0x00000000 - 284: 00020d3c .word 0x00020d3c + 284: 00029a3c .word 0x00029a3c 00000288 : 288: 4b0c ldr r3, [pc, #48] ; (2bc ) @@ -133,9 +133,9 @@ void _lv_gc_clear_roots(void) 2b8: 4718 bx r3 2ba: bf00 nop 2bc: 00000000 .word 0x00000000 - 2c0: 00020d3c .word 0x00020d3c + 2c0: 00029a3c .word 0x00029a3c 2c4: 2000007c .word 0x2000007c - 2c8: 00020d3c .word 0x00020d3c + 2c8: 00029a3c .word 0x00029a3c 2cc: 00000000 .word 0x00000000 000002d0 : @@ -146,59382 +146,62256 @@ void _lv_gc_clear_roots(void) void ssd1963_init(void) { 2d0: b570 push {r4, r5, r6, lr} +} + +static void ssd1963_reset(void) +{ + /*Hardware reset*/ + asm volatile("nop"); + 2d2: bf00 nop ((Port *)hw)->Group[submodule_index].OUTTGL.reg = PORT_OUT_OUT(mask); } static inline void hri_port_set_OUT_reg(const void *const hw, uint8_t submodule_index, hri_port_out_reg_t mask) { ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - 2d2: 4c8b ldr r4, [pc, #556] ; (500 ) - 2d4: 2610 movs r6, #16 - 2d6: 61a6 str r6, [r4, #24] - -static void ssd1963_reset(void) -{ - /*Hardware reset*/ + 2d4: 4c8c ldr r4, [pc, #560] ; (508 ) + 2d6: 2610 movs r6, #16 + 2d8: 61a6 str r6, [r4, #24] LV_DRV_DISP_RST(1); LV_DRV_DELAY_MS(50); - 2d8: 2032 movs r0, #50 ; 0x32 - 2da: 4d8a ldr r5, [pc, #552] ; (504 ) - 2dc: 47a8 blx r5 + 2da: 2032 movs r0, #50 ; 0x32 + 2dc: 4d8b ldr r5, [pc, #556] ; (50c ) + 2de: 47a8 blx r5 ((Port *)hw)->Group[submodule_index].OUTCLR.reg = ~data; } static inline void hri_port_clear_OUT_reg(const void *const hw, uint8_t submodule_index, hri_port_out_reg_t mask) { ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 2de: 6166 str r6, [r4, #20] + 2e0: 6166 str r6, [r4, #20] LV_DRV_DISP_RST(0); + asm volatile("nop"); + 2e2: bf00 nop LV_DRV_DELAY_MS(50); - 2e0: 2032 movs r0, #50 ; 0x32 - 2e2: 47a8 blx r5 + 2e4: 2032 movs r0, #50 ; 0x32 + 2e6: 47a8 blx r5 ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - 2e4: 61a6 str r6, [r4, #24] + 2e8: 61a6 str r6, [r4, #24] LV_DRV_DISP_RST(1); LV_DRV_DELAY_MS(50); - 2e6: 2032 movs r0, #50 ; 0x32 - 2e8: 47a8 blx r5 + 2ea: 2032 movs r0, #50 ; 0x32 + 2ec: 47a8 blx r5 asm volatile("nop"); - 2ea: bf00 nop + 2ee: bf00 nop ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 2ec: 2640 movs r6, #64 ; 0x40 - 2ee: 6166 str r6, [r4, #20] + 2f0: 2640 movs r6, #64 ; 0x40 + 2f2: 6166 str r6, [r4, #20] /*Chip enable*/ LV_DRV_DISP_PAR_CS(0); LV_DRV_DELAY_MS(10); - 2f0: 200a movs r0, #10 - 2f2: 47a8 blx r5 + 2f4: 200a movs r0, #10 + 2f6: 47a8 blx r5 ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - 2f4: 61a6 str r6, [r4, #24] + 2f8: 61a6 str r6, [r4, #24] LV_DRV_DISP_PAR_CS(1); LV_DRV_DELAY_MS(5); - 2f6: 2005 movs r0, #5 - 2f8: 47a8 blx r5 + 2fa: 2005 movs r0, #5 + 2fc: 47a8 blx r5 ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 2fa: 6166 str r6, [r4, #20] + 2fe: 6166 str r6, [r4, #20] /** * Command mode */ static inline void ssd1963_cmd_mode(void) { if(cmd_mode == false) { - 2fc: 4b82 ldr r3, [pc, #520] ; (508 ) - 2fe: 781b ldrb r3, [r3, #0] - 300: b923 cbnz r3, 30c - 302: 4623 mov r3, r4 - 304: 615e str r6, [r3, #20] + 300: 4b83 ldr r3, [pc, #524] ; (510 ) + 302: 781b ldrb r3, [r3, #0] + 304: b923 cbnz r3, 310 + 306: 2220 movs r2, #32 + 308: 6162 str r2, [r4, #20] LV_DRV_DISP_CMD_DATA(SSD1963_CMD_MODE); cmd_mode = true; - 306: 2201 movs r2, #1 - 308: 4b7f ldr r3, [pc, #508] ; (508 ) - 30a: 701a strb r2, [r3, #0] + 30a: 2201 movs r2, #1 + 30c: 4b80 ldr r3, [pc, #512] ; (510 ) + 30e: 701a strb r2, [r3, #0] static inline void ssd1963_cmd(uint8_t cmd) { LV_DRV_DISP_PAR_CS(0); ssd1963_cmd_mode(); LV_DRV_DISP_PAR_WR_WORD(cmd); - 30c: 2201 movs r2, #1 - 30e: 497f ldr r1, [pc, #508] ; (50c ) - 310: 487f ldr r0, [pc, #508] ; (510 ) - 312: 4b80 ldr r3, [pc, #512] ; (514 ) - 314: 4798 blx r3 + 310: 2201 movs r2, #1 + 312: 4980 ldr r1, [pc, #512] ; (514 ) + 314: 4880 ldr r0, [pc, #512] ; (518 ) + 316: 4b81 ldr r3, [pc, #516] ; (51c ) + 318: 4798 blx r3 ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - 316: 4c7a ldr r4, [pc, #488] ; (500 ) - 318: 2540 movs r5, #64 ; 0x40 - 31a: 61a5 str r5, [r4, #24] + 31a: 4c7b ldr r4, [pc, #492] ; (508 ) + 31c: 2540 movs r5, #64 ; 0x40 + 31e: 61a5 str r5, [r4, #24] LV_DRV_DELAY_MS(20); - 31c: 2014 movs r0, #20 - 31e: 4b79 ldr r3, [pc, #484] ; (504 ) - 320: 4798 blx r3 + 320: 2014 movs r0, #20 + 322: 4b7a ldr r3, [pc, #488] ; (50c ) + 324: 4798 blx r3 ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 322: 6165 str r5, [r4, #20] + 326: 6165 str r5, [r4, #20] if(cmd_mode == false) { - 324: 4b78 ldr r3, [pc, #480] ; (508 ) - 326: 781b ldrb r3, [r3, #0] - 328: b923 cbnz r3, 334 - 32a: 4623 mov r3, r4 - 32c: 615d str r5, [r3, #20] + 328: 4b79 ldr r3, [pc, #484] ; (510 ) + 32a: 781b ldrb r3, [r3, #0] + 32c: b923 cbnz r3, 338 + 32e: 2220 movs r2, #32 + 330: 6162 str r2, [r4, #20] cmd_mode = true; - 32e: 2201 movs r2, #1 - 330: 4b75 ldr r3, [pc, #468] ; (508 ) - 332: 701a strb r2, [r3, #0] + 332: 2201 movs r2, #1 + 334: 4b76 ldr r3, [pc, #472] ; (510 ) + 336: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(cmd); - 334: 2201 movs r2, #1 - 336: 4975 ldr r1, [pc, #468] ; (50c ) - 338: 4875 ldr r0, [pc, #468] ; (510 ) - 33a: 4b76 ldr r3, [pc, #472] ; (514 ) - 33c: 4798 blx r3 + 338: 2201 movs r2, #1 + 33a: 4976 ldr r1, [pc, #472] ; (514 ) + 33c: 4876 ldr r0, [pc, #472] ; (518 ) + 33e: 4b77 ldr r3, [pc, #476] ; (51c ) + 340: 4798 blx r3 ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - 33e: 4c70 ldr r4, [pc, #448] ; (500 ) - 340: 2540 movs r5, #64 ; 0x40 - 342: 61a5 str r5, [r4, #24] + 342: 4c71 ldr r4, [pc, #452] ; (508 ) + 344: 2540 movs r5, #64 ; 0x40 + 346: 61a5 str r5, [r4, #24] LV_DRV_DELAY_MS(20); - 344: 2014 movs r0, #20 - 346: 4b6f ldr r3, [pc, #444] ; (504 ) - 348: 4798 blx r3 + 348: 2014 movs r0, #20 + 34a: 4b70 ldr r3, [pc, #448] ; (50c ) + 34c: 4798 blx r3 ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 34a: 6165 str r5, [r4, #20] + 34e: 6165 str r5, [r4, #20] if(cmd_mode == false) { - 34c: 4b6e ldr r3, [pc, #440] ; (508 ) - 34e: 781b ldrb r3, [r3, #0] - 350: b923 cbnz r3, 35c - 352: 4623 mov r3, r4 - 354: 615d str r5, [r3, #20] + 350: 4b6f ldr r3, [pc, #444] ; (510 ) + 352: 781b ldrb r3, [r3, #0] + 354: b923 cbnz r3, 360 + 356: 2220 movs r2, #32 + 358: 6162 str r2, [r4, #20] cmd_mode = true; - 356: 2201 movs r2, #1 - 358: 4b6b ldr r3, [pc, #428] ; (508 ) - 35a: 701a strb r2, [r3, #0] + 35a: 2201 movs r2, #1 + 35c: 4b6c ldr r3, [pc, #432] ; (510 ) + 35e: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(cmd); - 35c: 2201 movs r2, #1 - 35e: 496b ldr r1, [pc, #428] ; (50c ) - 360: 486b ldr r0, [pc, #428] ; (510 ) - 362: 4b6c ldr r3, [pc, #432] ; (514 ) - 364: 4798 blx r3 + 360: 2201 movs r2, #1 + 362: 496c ldr r1, [pc, #432] ; (514 ) + 364: 486c ldr r0, [pc, #432] ; (518 ) + 366: 4b6d ldr r3, [pc, #436] ; (51c ) + 368: 4798 blx r3 ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - 366: 4c66 ldr r4, [pc, #408] ; (500 ) - 368: 2540 movs r5, #64 ; 0x40 - 36a: 61a5 str r5, [r4, #24] + 36a: 4c67 ldr r4, [pc, #412] ; (508 ) + 36c: 2540 movs r5, #64 ; 0x40 + 36e: 61a5 str r5, [r4, #24] LV_DRV_DELAY_MS(20); - 36c: 2014 movs r0, #20 - 36e: 4b65 ldr r3, [pc, #404] ; (504 ) - 370: 4798 blx r3 + 370: 2014 movs r0, #20 + 372: 4b66 ldr r3, [pc, #408] ; (50c ) + 374: 4798 blx r3 ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 372: 6165 str r5, [r4, #20] + 376: 6165 str r5, [r4, #20] + 378: 6165 str r5, [r4, #20] if(cmd_mode == false) { - 374: 4b64 ldr r3, [pc, #400] ; (508 ) - 376: 781b ldrb r3, [r3, #0] - 378: b923 cbnz r3, 384 - 37a: 4623 mov r3, r4 - 37c: 615d str r5, [r3, #20] + 37a: 4b65 ldr r3, [pc, #404] ; (510 ) + 37c: 781b ldrb r3, [r3, #0] + 37e: b923 cbnz r3, 38a + 380: 2220 movs r2, #32 + 382: 6162 str r2, [r4, #20] cmd_mode = true; - 37e: 2201 movs r2, #1 - 380: 4b61 ldr r3, [pc, #388] ; (508 ) - 382: 701a strb r2, [r3, #0] + 384: 2201 movs r2, #1 + 386: 4b62 ldr r3, [pc, #392] ; (510 ) + 388: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(cmd); - 384: 22e2 movs r2, #226 ; 0xe2 - 386: 4961 ldr r1, [pc, #388] ; (50c ) - 388: 4861 ldr r0, [pc, #388] ; (510 ) - 38a: 4b62 ldr r3, [pc, #392] ; (514 ) - 38c: 4798 blx r3 + 38a: 22e2 movs r2, #226 ; 0xe2 + 38c: 4961 ldr r1, [pc, #388] ; (514 ) + 38e: 4862 ldr r0, [pc, #392] ; (518 ) + 390: 4b62 ldr r3, [pc, #392] ; (51c ) + 392: 4798 blx r3 ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - 38e: 4b5c ldr r3, [pc, #368] ; (500 ) - 390: 2240 movs r2, #64 ; 0x40 - 392: 619a str r2, [r3, #24] + 394: 4b5c ldr r3, [pc, #368] ; (508 ) + 396: 2240 movs r2, #64 ; 0x40 + 398: 619a str r2, [r3, #24] ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 394: 615a str r2, [r3, #20] + 39a: 615a str r2, [r3, #20] if(cmd_mode != false) { - 396: 4b5c ldr r3, [pc, #368] ; (508 ) - 398: 781b ldrb r3, [r3, #0] - 39a: b123 cbz r3, 3a6 + 39c: 4b5c ldr r3, [pc, #368] ; (510 ) + 39e: 781b ldrb r3, [r3, #0] + 3a0: b12b cbz r3, 3ae ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - 39c: 4b58 ldr r3, [pc, #352] ; (500 ) - 39e: 619a str r2, [r3, #24] + 3a2: 2220 movs r2, #32 + 3a4: 4b58 ldr r3, [pc, #352] ; (508 ) + 3a6: 619a str r2, [r3, #24] cmd_mode = false; - 3a0: 2200 movs r2, #0 - 3a2: 4b59 ldr r3, [pc, #356] ; (508 ) - 3a4: 701a strb r2, [r3, #0] + 3a8: 2200 movs r2, #0 + 3aa: 4b59 ldr r3, [pc, #356] ; (510 ) + 3ac: 701a strb r2, [r3, #0] static inline void ssd1963_data(uint8_t data) { LV_DRV_DISP_PAR_CS(0); ssd1963_data_mode(); LV_DRV_DISP_PAR_WR_WORD(data); - 3a6: 2223 movs r2, #35 ; 0x23 - 3a8: 4958 ldr r1, [pc, #352] ; (50c ) - 3aa: 4859 ldr r0, [pc, #356] ; (510 ) - 3ac: 4b59 ldr r3, [pc, #356] ; (514 ) - 3ae: 4798 blx r3 - 3b0: 4b53 ldr r3, [pc, #332] ; (500 ) - 3b2: 2240 movs r2, #64 ; 0x40 - 3b4: 619a str r2, [r3, #24] + 3ae: 2223 movs r2, #35 ; 0x23 + 3b0: 4958 ldr r1, [pc, #352] ; (514 ) + 3b2: 4859 ldr r0, [pc, #356] ; (518 ) + 3b4: 4b59 ldr r3, [pc, #356] ; (51c ) + 3b6: 4798 blx r3 + 3b8: 4b53 ldr r3, [pc, #332] ; (508 ) + 3ba: 2240 movs r2, #64 ; 0x40 + 3bc: 619a str r2, [r3, #24] ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 3b6: 615a str r2, [r3, #20] + 3be: 615a str r2, [r3, #20] if(cmd_mode != false) { - 3b8: 4b53 ldr r3, [pc, #332] ; (508 ) - 3ba: 781b ldrb r3, [r3, #0] - 3bc: b123 cbz r3, 3c8 + 3c0: 4b53 ldr r3, [pc, #332] ; (510 ) + 3c2: 781b ldrb r3, [r3, #0] + 3c4: b12b cbz r3, 3d2 ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - 3be: 4b50 ldr r3, [pc, #320] ; (500 ) - 3c0: 619a str r2, [r3, #24] + 3c6: 2220 movs r2, #32 + 3c8: 4b4f ldr r3, [pc, #316] ; (508 ) + 3ca: 619a str r2, [r3, #24] cmd_mode = false; - 3c2: 2200 movs r2, #0 - 3c4: 4b50 ldr r3, [pc, #320] ; (508 ) - 3c6: 701a strb r2, [r3, #0] + 3cc: 2200 movs r2, #0 + 3ce: 4b50 ldr r3, [pc, #320] ; (510 ) + 3d0: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 3c8: 2202 movs r2, #2 - 3ca: 4950 ldr r1, [pc, #320] ; (50c ) - 3cc: 4850 ldr r0, [pc, #320] ; (510 ) - 3ce: 4b51 ldr r3, [pc, #324] ; (514 ) - 3d0: 4798 blx r3 - 3d2: 4b4b ldr r3, [pc, #300] ; (500 ) - 3d4: 2240 movs r2, #64 ; 0x40 - 3d6: 619a str r2, [r3, #24] + 3d2: 2202 movs r2, #2 + 3d4: 494f ldr r1, [pc, #316] ; (514 ) + 3d6: 4850 ldr r0, [pc, #320] ; (518 ) + 3d8: 4b50 ldr r3, [pc, #320] ; (51c ) + 3da: 4798 blx r3 + 3dc: 4b4a ldr r3, [pc, #296] ; (508 ) + 3de: 2240 movs r2, #64 ; 0x40 + 3e0: 619a str r2, [r3, #24] ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 3d8: 615a str r2, [r3, #20] + 3e2: 615a str r2, [r3, #20] if(cmd_mode != false) { - 3da: 4b4b ldr r3, [pc, #300] ; (508 ) - 3dc: 781b ldrb r3, [r3, #0] - 3de: b123 cbz r3, 3ea + 3e4: 4b4a ldr r3, [pc, #296] ; (510 ) + 3e6: 781b ldrb r3, [r3, #0] + 3e8: b12b cbz r3, 3f6 ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - 3e0: 4b47 ldr r3, [pc, #284] ; (500 ) - 3e2: 619a str r2, [r3, #24] + 3ea: 2220 movs r2, #32 + 3ec: 4b46 ldr r3, [pc, #280] ; (508 ) + 3ee: 619a str r2, [r3, #24] cmd_mode = false; - 3e4: 2200 movs r2, #0 - 3e6: 4b48 ldr r3, [pc, #288] ; (508 ) - 3e8: 701a strb r2, [r3, #0] + 3f0: 2200 movs r2, #0 + 3f2: 4b47 ldr r3, [pc, #284] ; (510 ) + 3f4: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 3ea: 2254 movs r2, #84 ; 0x54 - 3ec: 4947 ldr r1, [pc, #284] ; (50c ) - 3ee: 4848 ldr r0, [pc, #288] ; (510 ) - 3f0: 4b48 ldr r3, [pc, #288] ; (514 ) - 3f2: 4798 blx r3 - 3f4: 4b42 ldr r3, [pc, #264] ; (500 ) - 3f6: 2240 movs r2, #64 ; 0x40 - 3f8: 619a str r2, [r3, #24] + 3f6: 2254 movs r2, #84 ; 0x54 + 3f8: 4946 ldr r1, [pc, #280] ; (514 ) + 3fa: 4847 ldr r0, [pc, #284] ; (518 ) + 3fc: 4b47 ldr r3, [pc, #284] ; (51c ) + 3fe: 4798 blx r3 + 400: 4b41 ldr r3, [pc, #260] ; (508 ) + 402: 2240 movs r2, #64 ; 0x40 + 404: 619a str r2, [r3, #24] ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 3fa: 615a str r2, [r3, #20] + 406: 615a str r2, [r3, #20] if(cmd_mode == false) { - 3fc: 4b42 ldr r3, [pc, #264] ; (508 ) - 3fe: 781b ldrb r3, [r3, #0] - 400: b923 cbnz r3, 40c - 402: 4b3f ldr r3, [pc, #252] ; (500 ) - 404: 615a str r2, [r3, #20] + 408: 4b41 ldr r3, [pc, #260] ; (510 ) + 40a: 781b ldrb r3, [r3, #0] + 40c: b92b cbnz r3, 41a + 40e: 2220 movs r2, #32 + 410: 4b3d ldr r3, [pc, #244] ; (508 ) + 412: 615a str r2, [r3, #20] cmd_mode = true; - 406: 2201 movs r2, #1 - 408: 4b3f ldr r3, [pc, #252] ; (508 ) - 40a: 701a strb r2, [r3, #0] + 414: 2201 movs r2, #1 + 416: 4b3e ldr r3, [pc, #248] ; (510 ) + 418: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(cmd); - 40c: 22e0 movs r2, #224 ; 0xe0 - 40e: 493f ldr r1, [pc, #252] ; (50c ) - 410: 483f ldr r0, [pc, #252] ; (510 ) - 412: 4b40 ldr r3, [pc, #256] ; (514 ) - 414: 4798 blx r3 + 41a: 22e0 movs r2, #224 ; 0xe0 + 41c: 493d ldr r1, [pc, #244] ; (514 ) + 41e: 483e ldr r0, [pc, #248] ; (518 ) + 420: 4b3e ldr r3, [pc, #248] ; (51c ) + 422: 4798 blx r3 ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - 416: 4b3a ldr r3, [pc, #232] ; (500 ) - 418: 2240 movs r2, #64 ; 0x40 - 41a: 619a str r2, [r3, #24] + 424: 4b38 ldr r3, [pc, #224] ; (508 ) + 426: 2240 movs r2, #64 ; 0x40 + 428: 619a str r2, [r3, #24] ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 41c: 615a str r2, [r3, #20] + 42a: 615a str r2, [r3, #20] if(cmd_mode != false) { - 41e: 4b3a ldr r3, [pc, #232] ; (508 ) - 420: 781b ldrb r3, [r3, #0] - 422: b123 cbz r3, 42e + 42c: 4b38 ldr r3, [pc, #224] ; (510 ) + 42e: 781b ldrb r3, [r3, #0] + 430: b12b cbz r3, 43e ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - 424: 4b36 ldr r3, [pc, #216] ; (500 ) - 426: 619a str r2, [r3, #24] + 432: 2220 movs r2, #32 + 434: 4b34 ldr r3, [pc, #208] ; (508 ) + 436: 619a str r2, [r3, #24] cmd_mode = false; - 428: 2200 movs r2, #0 - 42a: 4b37 ldr r3, [pc, #220] ; (508 ) - 42c: 701a strb r2, [r3, #0] + 438: 2200 movs r2, #0 + 43a: 4b35 ldr r3, [pc, #212] ; (510 ) + 43c: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 42e: 2201 movs r2, #1 - 430: 4936 ldr r1, [pc, #216] ; (50c ) - 432: 4837 ldr r0, [pc, #220] ; (510 ) - 434: 4b37 ldr r3, [pc, #220] ; (514 ) - 436: 4798 blx r3 - 438: 4c31 ldr r4, [pc, #196] ; (500 ) - 43a: 2540 movs r5, #64 ; 0x40 - 43c: 61a5 str r5, [r4, #24] + 43e: 2201 movs r2, #1 + 440: 4934 ldr r1, [pc, #208] ; (514 ) + 442: 4835 ldr r0, [pc, #212] ; (518 ) + 444: 4b35 ldr r3, [pc, #212] ; (51c ) + 446: 4798 blx r3 + 448: 4c2f ldr r4, [pc, #188] ; (508 ) + 44a: 2540 movs r5, #64 ; 0x40 + 44c: 61a5 str r5, [r4, #24] delay_us(100); - 43e: 2064 movs r0, #100 ; 0x64 - 440: 4b35 ldr r3, [pc, #212] ; (518 ) - 442: 4798 blx r3 + 44e: 2064 movs r0, #100 ; 0x64 + 450: 4b33 ldr r3, [pc, #204] ; (520 ) + 452: 4798 blx r3 ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 444: 6165 str r5, [r4, #20] + 454: 6165 str r5, [r4, #20] if(cmd_mode == false) { - 446: 4b30 ldr r3, [pc, #192] ; (508 ) - 448: 781b ldrb r3, [r3, #0] - 44a: b923 cbnz r3, 456 - 44c: 4623 mov r3, r4 - 44e: 615d str r5, [r3, #20] + 456: 4b2e ldr r3, [pc, #184] ; (510 ) + 458: 781b ldrb r3, [r3, #0] + 45a: b923 cbnz r3, 466 + 45c: 2220 movs r2, #32 + 45e: 6162 str r2, [r4, #20] cmd_mode = true; - 450: 2201 movs r2, #1 - 452: 4b2d ldr r3, [pc, #180] ; (508 ) - 454: 701a strb r2, [r3, #0] + 460: 2201 movs r2, #1 + 462: 4b2b ldr r3, [pc, #172] ; (510 ) + 464: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(cmd); - 456: 22e0 movs r2, #224 ; 0xe0 - 458: 492c ldr r1, [pc, #176] ; (50c ) - 45a: 482d ldr r0, [pc, #180] ; (510 ) - 45c: 4b2d ldr r3, [pc, #180] ; (514 ) - 45e: 4798 blx r3 + 466: 22e0 movs r2, #224 ; 0xe0 + 468: 492a ldr r1, [pc, #168] ; (514 ) + 46a: 482b ldr r0, [pc, #172] ; (518 ) + 46c: 4b2b ldr r3, [pc, #172] ; (51c ) + 46e: 4798 blx r3 ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - 460: 4b27 ldr r3, [pc, #156] ; (500 ) - 462: 2240 movs r2, #64 ; 0x40 - 464: 619a str r2, [r3, #24] + 470: 4b25 ldr r3, [pc, #148] ; (508 ) + 472: 2240 movs r2, #64 ; 0x40 + 474: 619a str r2, [r3, #24] ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 466: 615a str r2, [r3, #20] + 476: 615a str r2, [r3, #20] if(cmd_mode != false) { - 468: 4b27 ldr r3, [pc, #156] ; (508 ) - 46a: 781b ldrb r3, [r3, #0] - 46c: b123 cbz r3, 478 + 478: 4b25 ldr r3, [pc, #148] ; (510 ) + 47a: 781b ldrb r3, [r3, #0] + 47c: b12b cbz r3, 48a ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - 46e: 4b24 ldr r3, [pc, #144] ; (500 ) - 470: 619a str r2, [r3, #24] + 47e: 2220 movs r2, #32 + 480: 4b21 ldr r3, [pc, #132] ; (508 ) + 482: 619a str r2, [r3, #24] cmd_mode = false; - 472: 2200 movs r2, #0 - 474: 4b24 ldr r3, [pc, #144] ; (508 ) - 476: 701a strb r2, [r3, #0] + 484: 2200 movs r2, #0 + 486: 4b22 ldr r3, [pc, #136] ; (510 ) + 488: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 478: 2203 movs r2, #3 - 47a: 4924 ldr r1, [pc, #144] ; (50c ) - 47c: 4824 ldr r0, [pc, #144] ; (510 ) - 47e: 4b25 ldr r3, [pc, #148] ; (514 ) - 480: 4798 blx r3 - 482: 4c1f ldr r4, [pc, #124] ; (500 ) - 484: 2540 movs r5, #64 ; 0x40 - 486: 61a5 str r5, [r4, #24] + 48a: 2203 movs r2, #3 + 48c: 4921 ldr r1, [pc, #132] ; (514 ) + 48e: 4822 ldr r0, [pc, #136] ; (518 ) + 490: 4b22 ldr r3, [pc, #136] ; (51c ) + 492: 4798 blx r3 + 494: 4c1c ldr r4, [pc, #112] ; (508 ) + 496: 2540 movs r5, #64 ; 0x40 + 498: 61a5 str r5, [r4, #24] delay_ms(1); - 488: 2001 movs r0, #1 - 48a: 4b1e ldr r3, [pc, #120] ; (504 ) - 48c: 4798 blx r3 + 49a: 2001 movs r0, #1 + 49c: 4b1b ldr r3, [pc, #108] ; (50c ) + 49e: 4798 blx r3 ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 48e: 6165 str r5, [r4, #20] + 4a0: 6165 str r5, [r4, #20] if(cmd_mode == false) { - 490: 4b1d ldr r3, [pc, #116] ; (508 ) - 492: 781b ldrb r3, [r3, #0] - 494: b923 cbnz r3, 4a0 - 496: 4623 mov r3, r4 - 498: 615d str r5, [r3, #20] + 4a2: 4b1b ldr r3, [pc, #108] ; (510 ) + 4a4: 781b ldrb r3, [r3, #0] + 4a6: b923 cbnz r3, 4b2 + 4a8: 2220 movs r2, #32 + 4aa: 6162 str r2, [r4, #20] cmd_mode = true; - 49a: 2201 movs r2, #1 - 49c: 4b1a ldr r3, [pc, #104] ; (508 ) - 49e: 701a strb r2, [r3, #0] + 4ac: 2201 movs r2, #1 + 4ae: 4b18 ldr r3, [pc, #96] ; (510 ) + 4b0: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(cmd); - 4a0: 2201 movs r2, #1 - 4a2: 491a ldr r1, [pc, #104] ; (50c ) - 4a4: 481a ldr r0, [pc, #104] ; (510 ) - 4a6: 4b1b ldr r3, [pc, #108] ; (514 ) - 4a8: 4798 blx r3 + 4b2: 2201 movs r2, #1 + 4b4: 4917 ldr r1, [pc, #92] ; (514 ) + 4b6: 4818 ldr r0, [pc, #96] ; (518 ) + 4b8: 4b18 ldr r3, [pc, #96] ; (51c ) + 4ba: 4798 blx r3 ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - 4aa: 4c15 ldr r4, [pc, #84] ; (500 ) - 4ac: 2540 movs r5, #64 ; 0x40 - 4ae: 61a5 str r5, [r4, #24] + 4bc: 4c12 ldr r4, [pc, #72] ; (508 ) + 4be: 2540 movs r5, #64 ; 0x40 + 4c0: 61a5 str r5, [r4, #24] delay_ms(1); - 4b0: 2001 movs r0, #1 - 4b2: 4b14 ldr r3, [pc, #80] ; (504 ) - 4b4: 4798 blx r3 + 4c2: 2001 movs r0, #1 + 4c4: 4b11 ldr r3, [pc, #68] ; (50c ) + 4c6: 4798 blx r3 ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 4b6: 6165 str r5, [r4, #20] + 4c8: 6165 str r5, [r4, #20] if(cmd_mode == false) { - 4b8: 4b13 ldr r3, [pc, #76] ; (508 ) - 4ba: 781b ldrb r3, [r3, #0] - 4bc: b923 cbnz r3, 4c8 - 4be: 4623 mov r3, r4 - 4c0: 615d str r5, [r3, #20] + 4ca: 4b11 ldr r3, [pc, #68] ; (510 ) + 4cc: 781b ldrb r3, [r3, #0] + 4ce: b923 cbnz r3, 4da + 4d0: 2220 movs r2, #32 + 4d2: 6162 str r2, [r4, #20] cmd_mode = true; - 4c2: 2201 movs r2, #1 - 4c4: 4b10 ldr r3, [pc, #64] ; (508 ) - 4c6: 701a strb r2, [r3, #0] + 4d4: 2201 movs r2, #1 + 4d6: 4b0e ldr r3, [pc, #56] ; (510 ) + 4d8: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(cmd); - 4c8: 22e6 movs r2, #230 ; 0xe6 - 4ca: 4910 ldr r1, [pc, #64] ; (50c ) - 4cc: 4810 ldr r0, [pc, #64] ; (510 ) - 4ce: 4b11 ldr r3, [pc, #68] ; (514 ) - 4d0: 4798 blx r3 + 4da: 22e6 movs r2, #230 ; 0xe6 + 4dc: 490d ldr r1, [pc, #52] ; (514 ) + 4de: 480e ldr r0, [pc, #56] ; (518 ) + 4e0: 4b0e ldr r3, [pc, #56] ; (51c ) + 4e2: 4798 blx r3 ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - 4d2: 4b0b ldr r3, [pc, #44] ; (500 ) - 4d4: 2240 movs r2, #64 ; 0x40 - 4d6: 619a str r2, [r3, #24] + 4e4: 4b08 ldr r3, [pc, #32] ; (508 ) + 4e6: 2240 movs r2, #64 ; 0x40 + 4e8: 619a str r2, [r3, #24] ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 4d8: 615a str r2, [r3, #20] + 4ea: 615a str r2, [r3, #20] if(cmd_mode != false) { - 4da: 4b0b ldr r3, [pc, #44] ; (508 ) - 4dc: 781b ldrb r3, [r3, #0] - 4de: b123 cbz r3, 4ea + 4ec: 4b08 ldr r3, [pc, #32] ; (510 ) + 4ee: 781b ldrb r3, [r3, #0] + 4f0: b12b cbz r3, 4fe ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - 4e0: 4b07 ldr r3, [pc, #28] ; (500 ) - 4e2: 619a str r2, [r3, #24] + 4f2: 2220 movs r2, #32 + 4f4: 4b04 ldr r3, [pc, #16] ; (508 ) + 4f6: 619a str r2, [r3, #24] cmd_mode = false; - 4e4: 2200 movs r2, #0 - 4e6: 4b08 ldr r3, [pc, #32] ; (508 ) - 4e8: 701a strb r2, [r3, #0] + 4f8: 2200 movs r2, #0 + 4fa: 4b05 ldr r3, [pc, #20] ; (510 ) + 4fc: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 4ea: 2204 movs r2, #4 - 4ec: 4907 ldr r1, [pc, #28] ; (50c ) - 4ee: 4808 ldr r0, [pc, #32] ; (510 ) - 4f0: 4b08 ldr r3, [pc, #32] ; (514 ) - 4f2: 4798 blx r3 - 4f4: 4b02 ldr r3, [pc, #8] ; (500 ) - 4f6: 2240 movs r2, #64 ; 0x40 - 4f8: 619a str r2, [r3, #24] + 4fe: 2204 movs r2, #4 + 500: 4904 ldr r1, [pc, #16] ; (514 ) + 502: 4805 ldr r0, [pc, #20] ; (518 ) + 504: e00e b.n 524 + 506: bf00 nop + 508: 41008000 .word 0x41008000 + 50c: 00001521 .word 0x00001521 + 510: 20000000 .word 0x20000000 + 514: 1c03c3f7 .word 0x1c03c3f7 + 518: 41008080 .word 0x41008080 + 51c: 00001041 .word 0x00001041 + 520: 00001501 .word 0x00001501 + 524: 4b8a ldr r3, [pc, #552] ; (750 ) + 526: 4798 blx r3 + 528: 4b8a ldr r3, [pc, #552] ; (754 ) + 52a: 2240 movs r2, #64 ; 0x40 + 52c: 619a str r2, [r3, #24] ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 4fa: 615a str r2, [r3, #20] - 4fc: e00e b.n 51c - 4fe: bf00 nop - 500: 41008000 .word 0x41008000 - 504: 00001535 .word 0x00001535 - 508: 20000000 .word 0x20000000 - 50c: 1c03c3f7 .word 0x1c03c3f7 - 510: 41008080 .word 0x41008080 - 514: 00000fbd .word 0x00000fbd - 518: 00001515 .word 0x00001515 + 52e: 615a str r2, [r3, #20] if(cmd_mode != false) { - 51c: 4b87 ldr r3, [pc, #540] ; (73c ) - 51e: 781b ldrb r3, [r3, #0] - 520: b123 cbz r3, 52c + 530: 4b89 ldr r3, [pc, #548] ; (758 ) + 532: 781b ldrb r3, [r3, #0] + 534: b12b cbz r3, 542 ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - 522: 4b87 ldr r3, [pc, #540] ; (740 ) - 524: 619a str r2, [r3, #24] + 536: 2220 movs r2, #32 + 538: 4b86 ldr r3, [pc, #536] ; (754 ) + 53a: 619a str r2, [r3, #24] cmd_mode = false; - 526: 2200 movs r2, #0 - 528: 4b84 ldr r3, [pc, #528] ; (73c ) - 52a: 701a strb r2, [r3, #0] + 53c: 2200 movs r2, #0 + 53e: 4b86 ldr r3, [pc, #536] ; (758 ) + 540: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 52c: 223a movs r2, #58 ; 0x3a - 52e: 4985 ldr r1, [pc, #532] ; (744 ) - 530: 4885 ldr r0, [pc, #532] ; (748 ) - 532: 4b86 ldr r3, [pc, #536] ; (74c ) - 534: 4798 blx r3 - 536: 4b82 ldr r3, [pc, #520] ; (740 ) - 538: 2240 movs r2, #64 ; 0x40 - 53a: 619a str r2, [r3, #24] + 542: 223a movs r2, #58 ; 0x3a + 544: 4985 ldr r1, [pc, #532] ; (75c ) + 546: 4886 ldr r0, [pc, #536] ; (760 ) + 548: 4b81 ldr r3, [pc, #516] ; (750 ) + 54a: 4798 blx r3 + 54c: 4b81 ldr r3, [pc, #516] ; (754 ) + 54e: 2240 movs r2, #64 ; 0x40 + 550: 619a str r2, [r3, #24] ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 53c: 615a str r2, [r3, #20] + 552: 615a str r2, [r3, #20] if(cmd_mode != false) { - 53e: 4b7f ldr r3, [pc, #508] ; (73c ) - 540: 781b ldrb r3, [r3, #0] - 542: b123 cbz r3, 54e + 554: 4b80 ldr r3, [pc, #512] ; (758 ) + 556: 781b ldrb r3, [r3, #0] + 558: b12b cbz r3, 566 ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - 544: 4b7e ldr r3, [pc, #504] ; (740 ) - 546: 619a str r2, [r3, #24] + 55a: 2220 movs r2, #32 + 55c: 4b7d ldr r3, [pc, #500] ; (754 ) + 55e: 619a str r2, [r3, #24] cmd_mode = false; - 548: 2200 movs r2, #0 - 54a: 4b7c ldr r3, [pc, #496] ; (73c ) - 54c: 701a strb r2, [r3, #0] + 560: 2200 movs r2, #0 + 562: 4b7d ldr r3, [pc, #500] ; (758 ) + 564: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 54e: 22b6 movs r2, #182 ; 0xb6 - 550: 497c ldr r1, [pc, #496] ; (744 ) - 552: 487d ldr r0, [pc, #500] ; (748 ) - 554: 4b7d ldr r3, [pc, #500] ; (74c ) - 556: 4798 blx r3 - 558: 4b79 ldr r3, [pc, #484] ; (740 ) - 55a: 2240 movs r2, #64 ; 0x40 - 55c: 619a str r2, [r3, #24] + 566: 22b6 movs r2, #182 ; 0xb6 + 568: 497c ldr r1, [pc, #496] ; (75c ) + 56a: 487d ldr r0, [pc, #500] ; (760 ) + 56c: 4b78 ldr r3, [pc, #480] ; (750 ) + 56e: 4798 blx r3 + 570: 4b78 ldr r3, [pc, #480] ; (754 ) + 572: 2240 movs r2, #64 ; 0x40 + 574: 619a str r2, [r3, #24] ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 55e: 615a str r2, [r3, #20] + 576: 615a str r2, [r3, #20] if(cmd_mode == false) { - 560: 4b76 ldr r3, [pc, #472] ; (73c ) - 562: 781b ldrb r3, [r3, #0] - 564: b923 cbnz r3, 570 - 566: 4b76 ldr r3, [pc, #472] ; (740 ) - 568: 615a str r2, [r3, #20] + 578: 4b77 ldr r3, [pc, #476] ; (758 ) + 57a: 781b ldrb r3, [r3, #0] + 57c: b92b cbnz r3, 58a + 57e: 2220 movs r2, #32 + 580: 4b74 ldr r3, [pc, #464] ; (754 ) + 582: 615a str r2, [r3, #20] cmd_mode = true; - 56a: 2201 movs r2, #1 - 56c: 4b73 ldr r3, [pc, #460] ; (73c ) - 56e: 701a strb r2, [r3, #0] + 584: 2201 movs r2, #1 + 586: 4b74 ldr r3, [pc, #464] ; (758 ) + 588: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(cmd); - 570: 22b0 movs r2, #176 ; 0xb0 - 572: 4974 ldr r1, [pc, #464] ; (744 ) - 574: 4874 ldr r0, [pc, #464] ; (748 ) - 576: 4b75 ldr r3, [pc, #468] ; (74c ) - 578: 4798 blx r3 + 58a: 22b0 movs r2, #176 ; 0xb0 + 58c: 4973 ldr r1, [pc, #460] ; (75c ) + 58e: 4874 ldr r0, [pc, #464] ; (760 ) + 590: 4b6f ldr r3, [pc, #444] ; (750 ) + 592: 4798 blx r3 ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - 57a: 4b71 ldr r3, [pc, #452] ; (740 ) - 57c: 2240 movs r2, #64 ; 0x40 - 57e: 619a str r2, [r3, #24] + 594: 4b6f ldr r3, [pc, #444] ; (754 ) + 596: 2240 movs r2, #64 ; 0x40 + 598: 619a str r2, [r3, #24] ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 580: 615a str r2, [r3, #20] + 59a: 615a str r2, [r3, #20] if(cmd_mode != false) { - 582: 4b6e ldr r3, [pc, #440] ; (73c ) - 584: 781b ldrb r3, [r3, #0] - 586: b123 cbz r3, 592 + 59c: 4b6e ldr r3, [pc, #440] ; (758 ) + 59e: 781b ldrb r3, [r3, #0] + 5a0: b12b cbz r3, 5ae ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - 588: 4b6d ldr r3, [pc, #436] ; (740 ) - 58a: 619a str r2, [r3, #24] + 5a2: 2220 movs r2, #32 + 5a4: 4b6b ldr r3, [pc, #428] ; (754 ) + 5a6: 619a str r2, [r3, #24] cmd_mode = false; - 58c: 2200 movs r2, #0 - 58e: 4b6b ldr r3, [pc, #428] ; (73c ) - 590: 701a strb r2, [r3, #0] + 5a8: 2200 movs r2, #0 + 5aa: 4b6b ldr r3, [pc, #428] ; (758 ) + 5ac: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 592: 2228 movs r2, #40 ; 0x28 - 594: 496b ldr r1, [pc, #428] ; (744 ) - 596: 486c ldr r0, [pc, #432] ; (748 ) - 598: 4b6c ldr r3, [pc, #432] ; (74c ) - 59a: 4798 blx r3 - 59c: 4b68 ldr r3, [pc, #416] ; (740 ) - 59e: 2240 movs r2, #64 ; 0x40 - 5a0: 619a str r2, [r3, #24] + 5ae: 2228 movs r2, #40 ; 0x28 + 5b0: 496a ldr r1, [pc, #424] ; (75c ) + 5b2: 486b ldr r0, [pc, #428] ; (760 ) + 5b4: 4b66 ldr r3, [pc, #408] ; (750 ) + 5b6: 4798 blx r3 + 5b8: 4b66 ldr r3, [pc, #408] ; (754 ) + 5ba: 2240 movs r2, #64 ; 0x40 + 5bc: 619a str r2, [r3, #24] ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 5a2: 615a str r2, [r3, #20] + 5be: 615a str r2, [r3, #20] if(cmd_mode != false) { - 5a4: 4b65 ldr r3, [pc, #404] ; (73c ) - 5a6: 781b ldrb r3, [r3, #0] - 5a8: b123 cbz r3, 5b4 + 5c0: 4b65 ldr r3, [pc, #404] ; (758 ) + 5c2: 781b ldrb r3, [r3, #0] + 5c4: b12b cbz r3, 5d2 ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - 5aa: 4b65 ldr r3, [pc, #404] ; (740 ) - 5ac: 619a str r2, [r3, #24] + 5c6: 2220 movs r2, #32 + 5c8: 4b62 ldr r3, [pc, #392] ; (754 ) + 5ca: 619a str r2, [r3, #24] cmd_mode = false; - 5ae: 2200 movs r2, #0 - 5b0: 4b62 ldr r3, [pc, #392] ; (73c ) - 5b2: 701a strb r2, [r3, #0] + 5cc: 2200 movs r2, #0 + 5ce: 4b62 ldr r3, [pc, #392] ; (758 ) + 5d0: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 5b4: 2280 movs r2, #128 ; 0x80 - 5b6: 4963 ldr r1, [pc, #396] ; (744 ) - 5b8: 4863 ldr r0, [pc, #396] ; (748 ) - 5ba: 4b64 ldr r3, [pc, #400] ; (74c ) - 5bc: 4798 blx r3 - 5be: 4c60 ldr r4, [pc, #384] ; (740 ) - 5c0: 2540 movs r5, #64 ; 0x40 - 5c2: 61a5 str r5, [r4, #24] + 5d2: 2280 movs r2, #128 ; 0x80 + 5d4: 4961 ldr r1, [pc, #388] ; (75c ) + 5d6: 4862 ldr r0, [pc, #392] ; (760 ) + 5d8: 4b5d ldr r3, [pc, #372] ; (750 ) + 5da: 4798 blx r3 + 5dc: 4c5d ldr r4, [pc, #372] ; (754 ) + 5de: 2540 movs r5, #64 ; 0x40 + 5e0: 61a5 str r5, [r4, #24] ssd1963_data((SSD1963_HOR_RES-1)>>8); //Set panel size - 5c4: 4b62 ldr r3, [pc, #392] ; (750 ) - 5c6: 4798 blx r3 - 5c8: 4b62 ldr r3, [pc, #392] ; (754 ) - 5ca: 4798 blx r3 - 5cc: 1e42 subs r2, r0, #1 - 5ce: 1212 asrs r2, r2, #8 + 5e2: 4b60 ldr r3, [pc, #384] ; (764 ) + 5e4: 4798 blx r3 + 5e6: 4b60 ldr r3, [pc, #384] ; (768 ) + 5e8: 4798 blx r3 + 5ea: 1e42 subs r2, r0, #1 + 5ec: f3c2 2207 ubfx r2, r2, #8, #8 ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 5d0: 6165 str r5, [r4, #20] + 5f0: 6165 str r5, [r4, #20] if(cmd_mode != false) { - 5d2: 4b5a ldr r3, [pc, #360] ; (73c ) - 5d4: 781b ldrb r3, [r3, #0] - 5d6: b123 cbz r3, 5e2 + 5f2: 4b59 ldr r3, [pc, #356] ; (758 ) + 5f4: 781b ldrb r3, [r3, #0] + 5f6: b123 cbz r3, 602 ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - 5d8: 4623 mov r3, r4 - 5da: 619d str r5, [r3, #24] + 5f8: 2120 movs r1, #32 + 5fa: 61a1 str r1, [r4, #24] cmd_mode = false; - 5dc: 2100 movs r1, #0 - 5de: 4b57 ldr r3, [pc, #348] ; (73c ) - 5e0: 7019 strb r1, [r3, #0] + 5fc: 2100 movs r1, #0 + 5fe: 4b56 ldr r3, [pc, #344] ; (758 ) + 600: 7019 strb r1, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 5e2: b2d2 uxtb r2, r2 - 5e4: 4957 ldr r1, [pc, #348] ; (744 ) - 5e6: 4858 ldr r0, [pc, #352] ; (748 ) - 5e8: 4b58 ldr r3, [pc, #352] ; (74c ) - 5ea: 4798 blx r3 - 5ec: 4c54 ldr r4, [pc, #336] ; (740 ) - 5ee: 2540 movs r5, #64 ; 0x40 - 5f0: 61a5 str r5, [r4, #24] + 602: 4956 ldr r1, [pc, #344] ; (75c ) + 604: 4856 ldr r0, [pc, #344] ; (760 ) + 606: 4b52 ldr r3, [pc, #328] ; (750 ) + 608: 4798 blx r3 + 60a: 4c52 ldr r4, [pc, #328] ; (754 ) + 60c: 2540 movs r5, #64 ; 0x40 + 60e: 61a5 str r5, [r4, #24] ssd1963_data(SSD1963_HOR_RES-1); - 5f2: 4b57 ldr r3, [pc, #348] ; (750 ) - 5f4: 4798 blx r3 - 5f6: 4b57 ldr r3, [pc, #348] ; (754 ) - 5f8: 4798 blx r3 - 5fa: 1e42 subs r2, r0, #1 - 5fc: b2d2 uxtb r2, r2 + 610: 4b54 ldr r3, [pc, #336] ; (764 ) + 612: 4798 blx r3 + 614: 4b54 ldr r3, [pc, #336] ; (768 ) + 616: 4798 blx r3 + 618: 1e42 subs r2, r0, #1 + 61a: b2d2 uxtb r2, r2 ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 5fe: 6165 str r5, [r4, #20] + 61c: 6165 str r5, [r4, #20] if(cmd_mode != false) { - 600: 4b4e ldr r3, [pc, #312] ; (73c ) - 602: 781b ldrb r3, [r3, #0] - 604: b123 cbz r3, 610 + 61e: 4b4e ldr r3, [pc, #312] ; (758 ) + 620: 781b ldrb r3, [r3, #0] + 622: b123 cbz r3, 62e ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - 606: 4623 mov r3, r4 - 608: 619d str r5, [r3, #24] + 624: 2120 movs r1, #32 + 626: 61a1 str r1, [r4, #24] cmd_mode = false; - 60a: 2100 movs r1, #0 - 60c: 4b4b ldr r3, [pc, #300] ; (73c ) - 60e: 7019 strb r1, [r3, #0] + 628: 2100 movs r1, #0 + 62a: 4b4b ldr r3, [pc, #300] ; (758 ) + 62c: 7019 strb r1, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 610: 494c ldr r1, [pc, #304] ; (744 ) - 612: 484d ldr r0, [pc, #308] ; (748 ) - 614: 4b4d ldr r3, [pc, #308] ; (74c ) - 616: 4798 blx r3 - 618: 4c49 ldr r4, [pc, #292] ; (740 ) - 61a: 2540 movs r5, #64 ; 0x40 - 61c: 61a5 str r5, [r4, #24] + 62e: 494b ldr r1, [pc, #300] ; (75c ) + 630: 484b ldr r0, [pc, #300] ; (760 ) + 632: 4b47 ldr r3, [pc, #284] ; (750 ) + 634: 4798 blx r3 + 636: 4c47 ldr r4, [pc, #284] ; (754 ) + 638: 2540 movs r5, #64 ; 0x40 + 63a: 61a5 str r5, [r4, #24] ssd1963_data((SSD1963_VER_RES-1)>>8); - 61e: 4b4c ldr r3, [pc, #304] ; (750 ) - 620: 4798 blx r3 - 622: 4b4d ldr r3, [pc, #308] ; (758 ) - 624: 4798 blx r3 - 626: 1e42 subs r2, r0, #1 - 628: 1212 asrs r2, r2, #8 + 63c: 4b49 ldr r3, [pc, #292] ; (764 ) + 63e: 4798 blx r3 + 640: 4b4a ldr r3, [pc, #296] ; (76c ) + 642: 4798 blx r3 + 644: 1e42 subs r2, r0, #1 + 646: f3c2 2207 ubfx r2, r2, #8, #8 ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 62a: 6165 str r5, [r4, #20] + 64a: 6165 str r5, [r4, #20] if(cmd_mode != false) { - 62c: 4b43 ldr r3, [pc, #268] ; (73c ) - 62e: 781b ldrb r3, [r3, #0] - 630: b123 cbz r3, 63c + 64c: 4b42 ldr r3, [pc, #264] ; (758 ) + 64e: 781b ldrb r3, [r3, #0] + 650: b123 cbz r3, 65c ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - 632: 4623 mov r3, r4 - 634: 619d str r5, [r3, #24] + 652: 2120 movs r1, #32 + 654: 61a1 str r1, [r4, #24] cmd_mode = false; - 636: 2100 movs r1, #0 - 638: 4b40 ldr r3, [pc, #256] ; (73c ) - 63a: 7019 strb r1, [r3, #0] + 656: 2100 movs r1, #0 + 658: 4b3f ldr r3, [pc, #252] ; (758 ) + 65a: 7019 strb r1, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 63c: b2d2 uxtb r2, r2 - 63e: 4941 ldr r1, [pc, #260] ; (744 ) - 640: 4841 ldr r0, [pc, #260] ; (748 ) - 642: 4b42 ldr r3, [pc, #264] ; (74c ) - 644: 4798 blx r3 - 646: 4c3e ldr r4, [pc, #248] ; (740 ) - 648: 2540 movs r5, #64 ; 0x40 - 64a: 61a5 str r5, [r4, #24] + 65c: 493f ldr r1, [pc, #252] ; (75c ) + 65e: 4840 ldr r0, [pc, #256] ; (760 ) + 660: 4b3b ldr r3, [pc, #236] ; (750 ) + 662: 4798 blx r3 + 664: 4c3b ldr r4, [pc, #236] ; (754 ) + 666: 2540 movs r5, #64 ; 0x40 + 668: 61a5 str r5, [r4, #24] ssd1963_data(SSD1963_VER_RES-1); - 64c: 4b40 ldr r3, [pc, #256] ; (750 ) - 64e: 4798 blx r3 - 650: 4b41 ldr r3, [pc, #260] ; (758 ) - 652: 4798 blx r3 - 654: 1e42 subs r2, r0, #1 - 656: b2d2 uxtb r2, r2 + 66a: 4b3e ldr r3, [pc, #248] ; (764 ) + 66c: 4798 blx r3 + 66e: 4b3f ldr r3, [pc, #252] ; (76c ) + 670: 4798 blx r3 + 672: 1e42 subs r2, r0, #1 + 674: b2d2 uxtb r2, r2 ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 658: 6165 str r5, [r4, #20] + 676: 6165 str r5, [r4, #20] if(cmd_mode != false) { - 65a: 4b38 ldr r3, [pc, #224] ; (73c ) - 65c: 781b ldrb r3, [r3, #0] - 65e: b123 cbz r3, 66a + 678: 4b37 ldr r3, [pc, #220] ; (758 ) + 67a: 781b ldrb r3, [r3, #0] + 67c: b123 cbz r3, 688 ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - 660: 4623 mov r3, r4 - 662: 619d str r5, [r3, #24] + 67e: 2120 movs r1, #32 + 680: 61a1 str r1, [r4, #24] cmd_mode = false; - 664: 2100 movs r1, #0 - 666: 4b35 ldr r3, [pc, #212] ; (73c ) - 668: 7019 strb r1, [r3, #0] + 682: 2100 movs r1, #0 + 684: 4b34 ldr r3, [pc, #208] ; (758 ) + 686: 7019 strb r1, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 66a: 4936 ldr r1, [pc, #216] ; (744 ) - 66c: 4836 ldr r0, [pc, #216] ; (748 ) - 66e: 4b37 ldr r3, [pc, #220] ; (74c ) - 670: 4798 blx r3 - 672: 4b33 ldr r3, [pc, #204] ; (740 ) - 674: 2240 movs r2, #64 ; 0x40 - 676: 619a str r2, [r3, #24] + 688: 4934 ldr r1, [pc, #208] ; (75c ) + 68a: 4835 ldr r0, [pc, #212] ; (760 ) + 68c: 4b30 ldr r3, [pc, #192] ; (750 ) + 68e: 4798 blx r3 + 690: 4b30 ldr r3, [pc, #192] ; (754 ) + 692: 2240 movs r2, #64 ; 0x40 + 694: 619a str r2, [r3, #24] ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 678: 615a str r2, [r3, #20] + 696: 615a str r2, [r3, #20] if(cmd_mode != false) { - 67a: 4b30 ldr r3, [pc, #192] ; (73c ) - 67c: 781b ldrb r3, [r3, #0] - 67e: b123 cbz r3, 68a + 698: 4b2f ldr r3, [pc, #188] ; (758 ) + 69a: 781b ldrb r3, [r3, #0] + 69c: b12b cbz r3, 6aa ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - 680: 4b2f ldr r3, [pc, #188] ; (740 ) - 682: 619a str r2, [r3, #24] + 69e: 2220 movs r2, #32 + 6a0: 4b2c ldr r3, [pc, #176] ; (754 ) + 6a2: 619a str r2, [r3, #24] cmd_mode = false; - 684: 2200 movs r2, #0 - 686: 4b2d ldr r3, [pc, #180] ; (73c ) - 688: 701a strb r2, [r3, #0] + 6a4: 2200 movs r2, #0 + 6a6: 4b2c ldr r3, [pc, #176] ; (758 ) + 6a8: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 68a: 2200 movs r2, #0 - 68c: 492d ldr r1, [pc, #180] ; (744 ) - 68e: 482e ldr r0, [pc, #184] ; (748 ) - 690: 4b2e ldr r3, [pc, #184] ; (74c ) - 692: 4798 blx r3 - 694: 4b2a ldr r3, [pc, #168] ; (740 ) - 696: 2240 movs r2, #64 ; 0x40 - 698: 619a str r2, [r3, #24] + 6aa: 2200 movs r2, #0 + 6ac: 492b ldr r1, [pc, #172] ; (75c ) + 6ae: 482c ldr r0, [pc, #176] ; (760 ) + 6b0: 4b27 ldr r3, [pc, #156] ; (750 ) + 6b2: 4798 blx r3 + 6b4: 4b27 ldr r3, [pc, #156] ; (754 ) + 6b6: 2240 movs r2, #64 ; 0x40 + 6b8: 619a str r2, [r3, #24] ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 69a: 615a str r2, [r3, #20] + 6ba: 615a str r2, [r3, #20] if(cmd_mode == false) { - 69c: 4b27 ldr r3, [pc, #156] ; (73c ) - 69e: 781b ldrb r3, [r3, #0] - 6a0: b923 cbnz r3, 6ac - 6a2: 4b27 ldr r3, [pc, #156] ; (740 ) - 6a4: 615a str r2, [r3, #20] + 6bc: 4b26 ldr r3, [pc, #152] ; (758 ) + 6be: 781b ldrb r3, [r3, #0] + 6c0: b92b cbnz r3, 6ce + 6c2: 2220 movs r2, #32 + 6c4: 4b23 ldr r3, [pc, #140] ; (754 ) + 6c6: 615a str r2, [r3, #20] cmd_mode = true; - 6a6: 2201 movs r2, #1 - 6a8: 4b24 ldr r3, [pc, #144] ; (73c ) - 6aa: 701a strb r2, [r3, #0] + 6c8: 2201 movs r2, #1 + 6ca: 4b23 ldr r3, [pc, #140] ; (758 ) + 6cc: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(cmd); - 6ac: 22f0 movs r2, #240 ; 0xf0 - 6ae: 4925 ldr r1, [pc, #148] ; (744 ) - 6b0: 4825 ldr r0, [pc, #148] ; (748 ) - 6b2: 4b26 ldr r3, [pc, #152] ; (74c ) - 6b4: 4798 blx r3 + 6ce: 22f0 movs r2, #240 ; 0xf0 + 6d0: 4922 ldr r1, [pc, #136] ; (75c ) + 6d2: 4823 ldr r0, [pc, #140] ; (760 ) + 6d4: 4b1e ldr r3, [pc, #120] ; (750 ) + 6d6: 4798 blx r3 ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - 6b6: 4b22 ldr r3, [pc, #136] ; (740 ) - 6b8: 2240 movs r2, #64 ; 0x40 - 6ba: 619a str r2, [r3, #24] + 6d8: 4b1e ldr r3, [pc, #120] ; (754 ) + 6da: 2240 movs r2, #64 ; 0x40 + 6dc: 619a str r2, [r3, #24] ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 6bc: 615a str r2, [r3, #20] + 6de: 615a str r2, [r3, #20] if(cmd_mode != false) { - 6be: 4b1f ldr r3, [pc, #124] ; (73c ) - 6c0: 781b ldrb r3, [r3, #0] - 6c2: b123 cbz r3, 6ce + 6e0: 4b1d ldr r3, [pc, #116] ; (758 ) + 6e2: 781b ldrb r3, [r3, #0] + 6e4: b12b cbz r3, 6f2 ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - 6c4: 4b1e ldr r3, [pc, #120] ; (740 ) - 6c6: 619a str r2, [r3, #24] + 6e6: 2220 movs r2, #32 + 6e8: 4b1a ldr r3, [pc, #104] ; (754 ) + 6ea: 619a str r2, [r3, #24] cmd_mode = false; - 6c8: 2200 movs r2, #0 - 6ca: 4b1c ldr r3, [pc, #112] ; (73c ) - 6cc: 701a strb r2, [r3, #0] + 6ec: 2200 movs r2, #0 + 6ee: 4b1a ldr r3, [pc, #104] ; (758 ) + 6f0: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 6ce: 2203 movs r2, #3 - 6d0: 491c ldr r1, [pc, #112] ; (744 ) - 6d2: 481d ldr r0, [pc, #116] ; (748 ) - 6d4: 4b1d ldr r3, [pc, #116] ; (74c ) - 6d6: 4798 blx r3 - 6d8: 4b19 ldr r3, [pc, #100] ; (740 ) - 6da: 2240 movs r2, #64 ; 0x40 - 6dc: 619a str r2, [r3, #24] + 6f2: 2203 movs r2, #3 + 6f4: 4919 ldr r1, [pc, #100] ; (75c ) + 6f6: 481a ldr r0, [pc, #104] ; (760 ) + 6f8: 4b15 ldr r3, [pc, #84] ; (750 ) + 6fa: 4798 blx r3 + 6fc: 4b15 ldr r3, [pc, #84] ; (754 ) + 6fe: 2240 movs r2, #64 ; 0x40 + 700: 619a str r2, [r3, #24] ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 6de: 615a str r2, [r3, #20] + 702: 615a str r2, [r3, #20] if(cmd_mode == false) { - 6e0: 4b16 ldr r3, [pc, #88] ; (73c ) - 6e2: 781b ldrb r3, [r3, #0] - 6e4: b923 cbnz r3, 6f0 - 6e6: 4b16 ldr r3, [pc, #88] ; (740 ) - 6e8: 615a str r2, [r3, #20] + 704: 4b14 ldr r3, [pc, #80] ; (758 ) + 706: 781b ldrb r3, [r3, #0] + 708: b92b cbnz r3, 716 + 70a: 2220 movs r2, #32 + 70c: 4b11 ldr r3, [pc, #68] ; (754 ) + 70e: 615a str r2, [r3, #20] cmd_mode = true; - 6ea: 2201 movs r2, #1 - 6ec: 4b13 ldr r3, [pc, #76] ; (73c ) - 6ee: 701a strb r2, [r3, #0] + 710: 2201 movs r2, #1 + 712: 4b11 ldr r3, [pc, #68] ; (758 ) + 714: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(cmd); - 6f0: 223a movs r2, #58 ; 0x3a - 6f2: 4914 ldr r1, [pc, #80] ; (744 ) - 6f4: 4814 ldr r0, [pc, #80] ; (748 ) - 6f6: 4b15 ldr r3, [pc, #84] ; (74c ) - 6f8: 4798 blx r3 + 716: 223a movs r2, #58 ; 0x3a + 718: 4910 ldr r1, [pc, #64] ; (75c ) + 71a: 4811 ldr r0, [pc, #68] ; (760 ) + 71c: 4b0c ldr r3, [pc, #48] ; (750 ) + 71e: 4798 blx r3 ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - 6fa: 4b11 ldr r3, [pc, #68] ; (740 ) - 6fc: 2240 movs r2, #64 ; 0x40 - 6fe: 619a str r2, [r3, #24] + 720: 4b0c ldr r3, [pc, #48] ; (754 ) + 722: 2240 movs r2, #64 ; 0x40 + 724: 619a str r2, [r3, #24] ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 700: 615a str r2, [r3, #20] + 726: 615a str r2, [r3, #20] if(cmd_mode != false) { - 702: 4b0e ldr r3, [pc, #56] ; (73c ) - 704: 781b ldrb r3, [r3, #0] - 706: b123 cbz r3, 712 + 728: 4b0b ldr r3, [pc, #44] ; (758 ) + 72a: 781b ldrb r3, [r3, #0] + 72c: b12b cbz r3, 73a ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - 708: 4b0d ldr r3, [pc, #52] ; (740 ) - 70a: 619a str r2, [r3, #24] + 72e: 2220 movs r2, #32 + 730: 4b08 ldr r3, [pc, #32] ; (754 ) + 732: 619a str r2, [r3, #24] cmd_mode = false; - 70c: 2200 movs r2, #0 - 70e: 4b0b ldr r3, [pc, #44] ; (73c ) - 710: 701a strb r2, [r3, #0] + 734: 2200 movs r2, #0 + 736: 4b08 ldr r3, [pc, #32] ; (758 ) + 738: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 712: 2255 movs r2, #85 ; 0x55 - 714: 490b ldr r1, [pc, #44] ; (744 ) - 716: 480c ldr r0, [pc, #48] ; (748 ) - 718: 4b0c ldr r3, [pc, #48] ; (74c ) - 71a: 4798 blx r3 - 71c: 4b08 ldr r3, [pc, #32] ; (740 ) - 71e: 2240 movs r2, #64 ; 0x40 - 720: 619a str r2, [r3, #24] + 73a: 2255 movs r2, #85 ; 0x55 + 73c: 4907 ldr r1, [pc, #28] ; (75c ) + 73e: 4808 ldr r0, [pc, #32] ; (760 ) + 740: 4b03 ldr r3, [pc, #12] ; (750 ) + 742: 4798 blx r3 + 744: 4b03 ldr r3, [pc, #12] ; (754 ) + 746: 2240 movs r2, #64 ; 0x40 + 748: 619a str r2, [r3, #24] ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 722: 615a str r2, [r3, #20] + 74a: 615a str r2, [r3, #20] + 74c: e010 b.n 770 + 74e: bf00 nop + 750: 00001041 .word 0x00001041 + 754: 41008000 .word 0x41008000 + 758: 20000000 .word 0x20000000 + 75c: 1c03c3f7 .word 0x1c03c3f7 + 760: 41008080 .word 0x41008080 + 764: 00010ee1 .word 0x00010ee1 + 768: 00010eed .word 0x00010eed + 76c: 00010f15 .word 0x00010f15 if(cmd_mode == false) { - 724: 4b05 ldr r3, [pc, #20] ; (73c ) - 726: 781b ldrb r3, [r3, #0] - 728: b923 cbnz r3, 734 - 72a: 4b05 ldr r3, [pc, #20] ; (740 ) - 72c: 615a str r2, [r3, #20] + 770: 4b8a ldr r3, [pc, #552] ; (99c ) + 772: 781b ldrb r3, [r3, #0] + 774: b92b cbnz r3, 782 + 776: 2220 movs r2, #32 + 778: 4b89 ldr r3, [pc, #548] ; (9a0 ) + 77a: 615a str r2, [r3, #20] cmd_mode = true; - 72e: 2201 movs r2, #1 - 730: 4b02 ldr r3, [pc, #8] ; (73c ) - 732: 701a strb r2, [r3, #0] + 77c: 2201 movs r2, #1 + 77e: 4b87 ldr r3, [pc, #540] ; (99c ) + 780: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(cmd); - 734: 22b4 movs r2, #180 ; 0xb4 - 736: 4903 ldr r1, [pc, #12] ; (744 ) - 738: e010 b.n 75c - 73a: bf00 nop - 73c: 20000000 .word 0x20000000 - 740: 41008000 .word 0x41008000 - 744: 1c03c3f7 .word 0x1c03c3f7 - 748: 41008080 .word 0x41008080 - 74c: 00000fbd .word 0x00000fbd - 750: 00011489 .word 0x00011489 - 754: 00011495 .word 0x00011495 - 758: 000114bd .word 0x000114bd - 75c: 4886 ldr r0, [pc, #536] ; (978 ) - 75e: 4b87 ldr r3, [pc, #540] ; (97c ) - 760: 4798 blx r3 + 782: 22b4 movs r2, #180 ; 0xb4 + 784: 4987 ldr r1, [pc, #540] ; (9a4 ) + 786: 4888 ldr r0, [pc, #544] ; (9a8 ) + 788: 4b88 ldr r3, [pc, #544] ; (9ac ) + 78a: 4798 blx r3 ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - 762: 4b87 ldr r3, [pc, #540] ; (980 ) - 764: 2240 movs r2, #64 ; 0x40 - 766: 619a str r2, [r3, #24] + 78c: 4b84 ldr r3, [pc, #528] ; (9a0 ) + 78e: 2240 movs r2, #64 ; 0x40 + 790: 619a str r2, [r3, #24] ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 768: 615a str r2, [r3, #20] + 792: 615a str r2, [r3, #20] if(cmd_mode != false) { - 76a: 4b86 ldr r3, [pc, #536] ; (984 ) - 76c: 781b ldrb r3, [r3, #0] - 76e: b123 cbz r3, 77a + 794: 4b81 ldr r3, [pc, #516] ; (99c ) + 796: 781b ldrb r3, [r3, #0] + 798: b12b cbz r3, 7a6 ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - 770: 4b83 ldr r3, [pc, #524] ; (980 ) - 772: 619a str r2, [r3, #24] + 79a: 2220 movs r2, #32 + 79c: 4b80 ldr r3, [pc, #512] ; (9a0 ) + 79e: 619a str r2, [r3, #24] cmd_mode = false; - 774: 2200 movs r2, #0 - 776: 4b83 ldr r3, [pc, #524] ; (984 ) - 778: 701a strb r2, [r3, #0] + 7a0: 2200 movs r2, #0 + 7a2: 4b7e ldr r3, [pc, #504] ; (99c ) + 7a4: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 77a: 2202 movs r2, #2 - 77c: 4982 ldr r1, [pc, #520] ; (988 ) - 77e: 487e ldr r0, [pc, #504] ; (978 ) - 780: 4b7e ldr r3, [pc, #504] ; (97c ) - 782: 4798 blx r3 - 784: 4b7e ldr r3, [pc, #504] ; (980 ) - 786: 2240 movs r2, #64 ; 0x40 - 788: 619a str r2, [r3, #24] + 7a6: 2202 movs r2, #2 + 7a8: 497e ldr r1, [pc, #504] ; (9a4 ) + 7aa: 487f ldr r0, [pc, #508] ; (9a8 ) + 7ac: 4b7f ldr r3, [pc, #508] ; (9ac ) + 7ae: 4798 blx r3 + 7b0: 4b7b ldr r3, [pc, #492] ; (9a0 ) + 7b2: 2240 movs r2, #64 ; 0x40 + 7b4: 619a str r2, [r3, #24] ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 78a: 615a str r2, [r3, #20] + 7b6: 615a str r2, [r3, #20] if(cmd_mode != false) { - 78c: 4b7d ldr r3, [pc, #500] ; (984 ) - 78e: 781b ldrb r3, [r3, #0] - 790: b123 cbz r3, 79c + 7b8: 4b78 ldr r3, [pc, #480] ; (99c ) + 7ba: 781b ldrb r3, [r3, #0] + 7bc: b12b cbz r3, 7ca ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - 792: 4b7b ldr r3, [pc, #492] ; (980 ) - 794: 619a str r2, [r3, #24] + 7be: 2220 movs r2, #32 + 7c0: 4b77 ldr r3, [pc, #476] ; (9a0 ) + 7c2: 619a str r2, [r3, #24] cmd_mode = false; - 796: 2200 movs r2, #0 - 798: 4b7a ldr r3, [pc, #488] ; (984 ) - 79a: 701a strb r2, [r3, #0] + 7c4: 2200 movs r2, #0 + 7c6: 4b75 ldr r3, [pc, #468] ; (99c ) + 7c8: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 79c: 220d movs r2, #13 - 79e: 497a ldr r1, [pc, #488] ; (988 ) - 7a0: 4875 ldr r0, [pc, #468] ; (978 ) - 7a2: 4b76 ldr r3, [pc, #472] ; (97c ) - 7a4: 4798 blx r3 - 7a6: 4b76 ldr r3, [pc, #472] ; (980 ) - 7a8: 2240 movs r2, #64 ; 0x40 - 7aa: 619a str r2, [r3, #24] + 7ca: 220d movs r2, #13 + 7cc: 4975 ldr r1, [pc, #468] ; (9a4 ) + 7ce: 4876 ldr r0, [pc, #472] ; (9a8 ) + 7d0: 4b76 ldr r3, [pc, #472] ; (9ac ) + 7d2: 4798 blx r3 + 7d4: 4b72 ldr r3, [pc, #456] ; (9a0 ) + 7d6: 2240 movs r2, #64 ; 0x40 + 7d8: 619a str r2, [r3, #24] ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 7ac: 615a str r2, [r3, #20] + 7da: 615a str r2, [r3, #20] if(cmd_mode != false) { - 7ae: 4b75 ldr r3, [pc, #468] ; (984 ) - 7b0: 781b ldrb r3, [r3, #0] - 7b2: b123 cbz r3, 7be + 7dc: 4b6f ldr r3, [pc, #444] ; (99c ) + 7de: 781b ldrb r3, [r3, #0] + 7e0: b12b cbz r3, 7ee ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - 7b4: 4b72 ldr r3, [pc, #456] ; (980 ) - 7b6: 619a str r2, [r3, #24] + 7e2: 2220 movs r2, #32 + 7e4: 4b6e ldr r3, [pc, #440] ; (9a0 ) + 7e6: 619a str r2, [r3, #24] cmd_mode = false; - 7b8: 2200 movs r2, #0 - 7ba: 4b72 ldr r3, [pc, #456] ; (984 ) - 7bc: 701a strb r2, [r3, #0] + 7e8: 2200 movs r2, #0 + 7ea: 4b6c ldr r3, [pc, #432] ; (99c ) + 7ec: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 7be: 2200 movs r2, #0 - 7c0: 4971 ldr r1, [pc, #452] ; (988 ) - 7c2: 486d ldr r0, [pc, #436] ; (978 ) - 7c4: 4b6d ldr r3, [pc, #436] ; (97c ) - 7c6: 4798 blx r3 - 7c8: 4b6d ldr r3, [pc, #436] ; (980 ) - 7ca: 2240 movs r2, #64 ; 0x40 - 7cc: 619a str r2, [r3, #24] + 7ee: 2200 movs r2, #0 + 7f0: 496c ldr r1, [pc, #432] ; (9a4 ) + 7f2: 486d ldr r0, [pc, #436] ; (9a8 ) + 7f4: 4b6d ldr r3, [pc, #436] ; (9ac ) + 7f6: 4798 blx r3 + 7f8: 4b69 ldr r3, [pc, #420] ; (9a0 ) + 7fa: 2240 movs r2, #64 ; 0x40 + 7fc: 619a str r2, [r3, #24] ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 7ce: 615a str r2, [r3, #20] + 7fe: 615a str r2, [r3, #20] if(cmd_mode != false) { - 7d0: 4b6c ldr r3, [pc, #432] ; (984 ) - 7d2: 781b ldrb r3, [r3, #0] - 7d4: b123 cbz r3, 7e0 + 800: 4b66 ldr r3, [pc, #408] ; (99c ) + 802: 781b ldrb r3, [r3, #0] + 804: b12b cbz r3, 812 ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - 7d6: 4b6a ldr r3, [pc, #424] ; (980 ) - 7d8: 619a str r2, [r3, #24] + 806: 2220 movs r2, #32 + 808: 4b65 ldr r3, [pc, #404] ; (9a0 ) + 80a: 619a str r2, [r3, #24] cmd_mode = false; - 7da: 2200 movs r2, #0 - 7dc: 4b69 ldr r3, [pc, #420] ; (984 ) - 7de: 701a strb r2, [r3, #0] + 80c: 2200 movs r2, #0 + 80e: 4b63 ldr r3, [pc, #396] ; (99c ) + 810: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 7e0: 222b movs r2, #43 ; 0x2b - 7e2: 4969 ldr r1, [pc, #420] ; (988 ) - 7e4: 4864 ldr r0, [pc, #400] ; (978 ) - 7e6: 4b65 ldr r3, [pc, #404] ; (97c ) - 7e8: 4798 blx r3 - 7ea: 4b65 ldr r3, [pc, #404] ; (980 ) - 7ec: 2240 movs r2, #64 ; 0x40 - 7ee: 619a str r2, [r3, #24] + 812: 222b movs r2, #43 ; 0x2b + 814: 4963 ldr r1, [pc, #396] ; (9a4 ) + 816: 4864 ldr r0, [pc, #400] ; (9a8 ) + 818: 4b64 ldr r3, [pc, #400] ; (9ac ) + 81a: 4798 blx r3 + 81c: 4b60 ldr r3, [pc, #384] ; (9a0 ) + 81e: 2240 movs r2, #64 ; 0x40 + 820: 619a str r2, [r3, #24] ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 7f0: 615a str r2, [r3, #20] + 822: 615a str r2, [r3, #20] if(cmd_mode != false) { - 7f2: 4b64 ldr r3, [pc, #400] ; (984 ) - 7f4: 781b ldrb r3, [r3, #0] - 7f6: b123 cbz r3, 802 + 824: 4b5d ldr r3, [pc, #372] ; (99c ) + 826: 781b ldrb r3, [r3, #0] + 828: b12b cbz r3, 836 ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - 7f8: 4b61 ldr r3, [pc, #388] ; (980 ) - 7fa: 619a str r2, [r3, #24] + 82a: 2220 movs r2, #32 + 82c: 4b5c ldr r3, [pc, #368] ; (9a0 ) + 82e: 619a str r2, [r3, #24] cmd_mode = false; - 7fc: 2200 movs r2, #0 - 7fe: 4b61 ldr r3, [pc, #388] ; (984 ) - 800: 701a strb r2, [r3, #0] + 830: 2200 movs r2, #0 + 832: 4b5a ldr r3, [pc, #360] ; (99c ) + 834: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 802: 2228 movs r2, #40 ; 0x28 - 804: 4960 ldr r1, [pc, #384] ; (988 ) - 806: 485c ldr r0, [pc, #368] ; (978 ) - 808: 4b5c ldr r3, [pc, #368] ; (97c ) - 80a: 4798 blx r3 - 80c: 4b5c ldr r3, [pc, #368] ; (980 ) - 80e: 2240 movs r2, #64 ; 0x40 - 810: 619a str r2, [r3, #24] + 836: 2228 movs r2, #40 ; 0x28 + 838: 495a ldr r1, [pc, #360] ; (9a4 ) + 83a: 485b ldr r0, [pc, #364] ; (9a8 ) + 83c: 4b5b ldr r3, [pc, #364] ; (9ac ) + 83e: 4798 blx r3 + 840: 4b57 ldr r3, [pc, #348] ; (9a0 ) + 842: 2240 movs r2, #64 ; 0x40 + 844: 619a str r2, [r3, #24] ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 812: 615a str r2, [r3, #20] + 846: 615a str r2, [r3, #20] if(cmd_mode != false) { - 814: 4b5b ldr r3, [pc, #364] ; (984 ) - 816: 781b ldrb r3, [r3, #0] - 818: b123 cbz r3, 824 + 848: 4b54 ldr r3, [pc, #336] ; (99c ) + 84a: 781b ldrb r3, [r3, #0] + 84c: b12b cbz r3, 85a ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - 81a: 4b59 ldr r3, [pc, #356] ; (980 ) - 81c: 619a str r2, [r3, #24] + 84e: 2220 movs r2, #32 + 850: 4b53 ldr r3, [pc, #332] ; (9a0 ) + 852: 619a str r2, [r3, #24] cmd_mode = false; - 81e: 2200 movs r2, #0 - 820: 4b58 ldr r3, [pc, #352] ; (984 ) - 822: 701a strb r2, [r3, #0] + 854: 2200 movs r2, #0 + 856: 4b51 ldr r3, [pc, #324] ; (99c ) + 858: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 824: 2200 movs r2, #0 - 826: 4958 ldr r1, [pc, #352] ; (988 ) - 828: 4853 ldr r0, [pc, #332] ; (978 ) - 82a: 4b54 ldr r3, [pc, #336] ; (97c ) - 82c: 4798 blx r3 - 82e: 4b54 ldr r3, [pc, #336] ; (980 ) - 830: 2240 movs r2, #64 ; 0x40 - 832: 619a str r2, [r3, #24] + 85a: 2200 movs r2, #0 + 85c: 4951 ldr r1, [pc, #324] ; (9a4 ) + 85e: 4852 ldr r0, [pc, #328] ; (9a8 ) + 860: 4b52 ldr r3, [pc, #328] ; (9ac ) + 862: 4798 blx r3 + 864: 4b4e ldr r3, [pc, #312] ; (9a0 ) + 866: 2240 movs r2, #64 ; 0x40 + 868: 619a str r2, [r3, #24] ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 834: 615a str r2, [r3, #20] + 86a: 615a str r2, [r3, #20] if(cmd_mode != false) { - 836: 4b53 ldr r3, [pc, #332] ; (984 ) - 838: 781b ldrb r3, [r3, #0] - 83a: b123 cbz r3, 846 + 86c: 4b4b ldr r3, [pc, #300] ; (99c ) + 86e: 781b ldrb r3, [r3, #0] + 870: b12b cbz r3, 87e ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - 83c: 4b50 ldr r3, [pc, #320] ; (980 ) - 83e: 619a str r2, [r3, #24] + 872: 2220 movs r2, #32 + 874: 4b4a ldr r3, [pc, #296] ; (9a0 ) + 876: 619a str r2, [r3, #24] cmd_mode = false; - 840: 2200 movs r2, #0 - 842: 4b50 ldr r3, [pc, #320] ; (984 ) - 844: 701a strb r2, [r3, #0] + 878: 2200 movs r2, #0 + 87a: 4b48 ldr r3, [pc, #288] ; (99c ) + 87c: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 846: 2200 movs r2, #0 - 848: 494f ldr r1, [pc, #316] ; (988 ) - 84a: 484b ldr r0, [pc, #300] ; (978 ) - 84c: 4b4b ldr r3, [pc, #300] ; (97c ) - 84e: 4798 blx r3 - 850: 4b4b ldr r3, [pc, #300] ; (980 ) - 852: 2240 movs r2, #64 ; 0x40 - 854: 619a str r2, [r3, #24] + 87e: 2200 movs r2, #0 + 880: 4948 ldr r1, [pc, #288] ; (9a4 ) + 882: 4849 ldr r0, [pc, #292] ; (9a8 ) + 884: 4b49 ldr r3, [pc, #292] ; (9ac ) + 886: 4798 blx r3 + 888: 4b45 ldr r3, [pc, #276] ; (9a0 ) + 88a: 2240 movs r2, #64 ; 0x40 + 88c: 619a str r2, [r3, #24] ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 856: 615a str r2, [r3, #20] + 88e: 615a str r2, [r3, #20] if(cmd_mode != false) { - 858: 4b4a ldr r3, [pc, #296] ; (984 ) - 85a: 781b ldrb r3, [r3, #0] - 85c: b123 cbz r3, 868 + 890: 4b42 ldr r3, [pc, #264] ; (99c ) + 892: 781b ldrb r3, [r3, #0] + 894: b12b cbz r3, 8a2 ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - 85e: 4b48 ldr r3, [pc, #288] ; (980 ) - 860: 619a str r2, [r3, #24] + 896: 2220 movs r2, #32 + 898: 4b41 ldr r3, [pc, #260] ; (9a0 ) + 89a: 619a str r2, [r3, #24] cmd_mode = false; - 862: 2200 movs r2, #0 - 864: 4b47 ldr r3, [pc, #284] ; (984 ) - 866: 701a strb r2, [r3, #0] + 89c: 2200 movs r2, #0 + 89e: 4b3f ldr r3, [pc, #252] ; (99c ) + 8a0: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 868: 2200 movs r2, #0 - 86a: 4947 ldr r1, [pc, #284] ; (988 ) - 86c: 4842 ldr r0, [pc, #264] ; (978 ) - 86e: 4b43 ldr r3, [pc, #268] ; (97c ) - 870: 4798 blx r3 - 872: 4b43 ldr r3, [pc, #268] ; (980 ) - 874: 2240 movs r2, #64 ; 0x40 - 876: 619a str r2, [r3, #24] + 8a2: 2200 movs r2, #0 + 8a4: 493f ldr r1, [pc, #252] ; (9a4 ) + 8a6: 4840 ldr r0, [pc, #256] ; (9a8 ) + 8a8: 4b40 ldr r3, [pc, #256] ; (9ac ) + 8aa: 4798 blx r3 + 8ac: 4b3c ldr r3, [pc, #240] ; (9a0 ) + 8ae: 2240 movs r2, #64 ; 0x40 + 8b0: 619a str r2, [r3, #24] ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 878: 615a str r2, [r3, #20] + 8b2: 615a str r2, [r3, #20] if(cmd_mode == false) { - 87a: 4b42 ldr r3, [pc, #264] ; (984 ) - 87c: 781b ldrb r3, [r3, #0] - 87e: b923 cbnz r3, 88a - 880: 4b3f ldr r3, [pc, #252] ; (980 ) - 882: 615a str r2, [r3, #20] + 8b4: 4b39 ldr r3, [pc, #228] ; (99c ) + 8b6: 781b ldrb r3, [r3, #0] + 8b8: b92b cbnz r3, 8c6 + 8ba: 2220 movs r2, #32 + 8bc: 4b38 ldr r3, [pc, #224] ; (9a0 ) + 8be: 615a str r2, [r3, #20] cmd_mode = true; - 884: 2201 movs r2, #1 - 886: 4b3f ldr r3, [pc, #252] ; (984 ) - 888: 701a strb r2, [r3, #0] + 8c0: 2201 movs r2, #1 + 8c2: 4b36 ldr r3, [pc, #216] ; (99c ) + 8c4: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(cmd); - 88a: 22b6 movs r2, #182 ; 0xb6 - 88c: 493e ldr r1, [pc, #248] ; (988 ) - 88e: 483a ldr r0, [pc, #232] ; (978 ) - 890: 4b3a ldr r3, [pc, #232] ; (97c ) - 892: 4798 blx r3 + 8c6: 22b6 movs r2, #182 ; 0xb6 + 8c8: 4936 ldr r1, [pc, #216] ; (9a4 ) + 8ca: 4837 ldr r0, [pc, #220] ; (9a8 ) + 8cc: 4b37 ldr r3, [pc, #220] ; (9ac ) + 8ce: 4798 blx r3 ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - 894: 4b3a ldr r3, [pc, #232] ; (980 ) - 896: 2240 movs r2, #64 ; 0x40 - 898: 619a str r2, [r3, #24] + 8d0: 4b33 ldr r3, [pc, #204] ; (9a0 ) + 8d2: 2240 movs r2, #64 ; 0x40 + 8d4: 619a str r2, [r3, #24] ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 89a: 615a str r2, [r3, #20] + 8d6: 615a str r2, [r3, #20] if(cmd_mode != false) { - 89c: 4b39 ldr r3, [pc, #228] ; (984 ) - 89e: 781b ldrb r3, [r3, #0] - 8a0: b123 cbz r3, 8ac + 8d8: 4b30 ldr r3, [pc, #192] ; (99c ) + 8da: 781b ldrb r3, [r3, #0] + 8dc: b12b cbz r3, 8ea ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - 8a2: 4b37 ldr r3, [pc, #220] ; (980 ) - 8a4: 619a str r2, [r3, #24] + 8de: 2220 movs r2, #32 + 8e0: 4b2f ldr r3, [pc, #188] ; (9a0 ) + 8e2: 619a str r2, [r3, #24] cmd_mode = false; - 8a6: 2200 movs r2, #0 - 8a8: 4b36 ldr r3, [pc, #216] ; (984 ) - 8aa: 701a strb r2, [r3, #0] + 8e4: 2200 movs r2, #0 + 8e6: 4b2d ldr r3, [pc, #180] ; (99c ) + 8e8: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 8ac: 2201 movs r2, #1 - 8ae: 4936 ldr r1, [pc, #216] ; (988 ) - 8b0: 4831 ldr r0, [pc, #196] ; (978 ) - 8b2: 4b32 ldr r3, [pc, #200] ; (97c ) - 8b4: 4798 blx r3 - 8b6: 4b32 ldr r3, [pc, #200] ; (980 ) - 8b8: 2240 movs r2, #64 ; 0x40 - 8ba: 619a str r2, [r3, #24] + 8ea: 2201 movs r2, #1 + 8ec: 492d ldr r1, [pc, #180] ; (9a4 ) + 8ee: 482e ldr r0, [pc, #184] ; (9a8 ) + 8f0: 4b2e ldr r3, [pc, #184] ; (9ac ) + 8f2: 4798 blx r3 + 8f4: 4b2a ldr r3, [pc, #168] ; (9a0 ) + 8f6: 2240 movs r2, #64 ; 0x40 + 8f8: 619a str r2, [r3, #24] ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 8bc: 615a str r2, [r3, #20] + 8fa: 615a str r2, [r3, #20] if(cmd_mode != false) { - 8be: 4b31 ldr r3, [pc, #196] ; (984 ) - 8c0: 781b ldrb r3, [r3, #0] - 8c2: b123 cbz r3, 8ce + 8fc: 4b27 ldr r3, [pc, #156] ; (99c ) + 8fe: 781b ldrb r3, [r3, #0] + 900: b12b cbz r3, 90e ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - 8c4: 4b2e ldr r3, [pc, #184] ; (980 ) - 8c6: 619a str r2, [r3, #24] + 902: 2220 movs r2, #32 + 904: 4b26 ldr r3, [pc, #152] ; (9a0 ) + 906: 619a str r2, [r3, #24] cmd_mode = false; - 8c8: 2200 movs r2, #0 - 8ca: 4b2e ldr r3, [pc, #184] ; (984 ) - 8cc: 701a strb r2, [r3, #0] + 908: 2200 movs r2, #0 + 90a: 4b24 ldr r3, [pc, #144] ; (99c ) + 90c: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 8ce: 221d movs r2, #29 - 8d0: 492d ldr r1, [pc, #180] ; (988 ) - 8d2: 4829 ldr r0, [pc, #164] ; (978 ) - 8d4: 4b29 ldr r3, [pc, #164] ; (97c ) - 8d6: 4798 blx r3 - 8d8: 4b29 ldr r3, [pc, #164] ; (980 ) - 8da: 2240 movs r2, #64 ; 0x40 - 8dc: 619a str r2, [r3, #24] + 90e: 221d movs r2, #29 + 910: 4924 ldr r1, [pc, #144] ; (9a4 ) + 912: 4825 ldr r0, [pc, #148] ; (9a8 ) + 914: 4b25 ldr r3, [pc, #148] ; (9ac ) + 916: 4798 blx r3 + 918: 4b21 ldr r3, [pc, #132] ; (9a0 ) + 91a: 2240 movs r2, #64 ; 0x40 + 91c: 619a str r2, [r3, #24] ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 8de: 615a str r2, [r3, #20] + 91e: 615a str r2, [r3, #20] if(cmd_mode != false) { - 8e0: 4b28 ldr r3, [pc, #160] ; (984 ) - 8e2: 781b ldrb r3, [r3, #0] - 8e4: b123 cbz r3, 8f0 + 920: 4b1e ldr r3, [pc, #120] ; (99c ) + 922: 781b ldrb r3, [r3, #0] + 924: b12b cbz r3, 932 ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - 8e6: 4b26 ldr r3, [pc, #152] ; (980 ) - 8e8: 619a str r2, [r3, #24] + 926: 2220 movs r2, #32 + 928: 4b1d ldr r3, [pc, #116] ; (9a0 ) + 92a: 619a str r2, [r3, #24] cmd_mode = false; - 8ea: 2200 movs r2, #0 - 8ec: 4b25 ldr r3, [pc, #148] ; (984 ) - 8ee: 701a strb r2, [r3, #0] + 92c: 2200 movs r2, #0 + 92e: 4b1b ldr r3, [pc, #108] ; (99c ) + 930: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 8f0: 2200 movs r2, #0 - 8f2: 4925 ldr r1, [pc, #148] ; (988 ) - 8f4: 4820 ldr r0, [pc, #128] ; (978 ) - 8f6: 4b21 ldr r3, [pc, #132] ; (97c ) - 8f8: 4798 blx r3 - 8fa: 4b21 ldr r3, [pc, #132] ; (980 ) - 8fc: 2240 movs r2, #64 ; 0x40 - 8fe: 619a str r2, [r3, #24] + 932: 2200 movs r2, #0 + 934: 491b ldr r1, [pc, #108] ; (9a4 ) + 936: 481c ldr r0, [pc, #112] ; (9a8 ) + 938: 4b1c ldr r3, [pc, #112] ; (9ac ) + 93a: 4798 blx r3 + 93c: 4b18 ldr r3, [pc, #96] ; (9a0 ) + 93e: 2240 movs r2, #64 ; 0x40 + 940: 619a str r2, [r3, #24] ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 900: 615a str r2, [r3, #20] + 942: 615a str r2, [r3, #20] if(cmd_mode != false) { - 902: 4b20 ldr r3, [pc, #128] ; (984 ) - 904: 781b ldrb r3, [r3, #0] - 906: b123 cbz r3, 912 + 944: 4b15 ldr r3, [pc, #84] ; (99c ) + 946: 781b ldrb r3, [r3, #0] + 948: b12b cbz r3, 956 ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - 908: 4b1d ldr r3, [pc, #116] ; (980 ) - 90a: 619a str r2, [r3, #24] + 94a: 2220 movs r2, #32 + 94c: 4b14 ldr r3, [pc, #80] ; (9a0 ) + 94e: 619a str r2, [r3, #24] cmd_mode = false; - 90c: 2200 movs r2, #0 - 90e: 4b1d ldr r3, [pc, #116] ; (984 ) - 910: 701a strb r2, [r3, #0] + 950: 2200 movs r2, #0 + 952: 4b12 ldr r3, [pc, #72] ; (99c ) + 954: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 912: 220c movs r2, #12 - 914: 491c ldr r1, [pc, #112] ; (988 ) - 916: 4818 ldr r0, [pc, #96] ; (978 ) - 918: 4b18 ldr r3, [pc, #96] ; (97c ) - 91a: 4798 blx r3 - 91c: 4b18 ldr r3, [pc, #96] ; (980 ) - 91e: 2240 movs r2, #64 ; 0x40 - 920: 619a str r2, [r3, #24] + 956: 220c movs r2, #12 + 958: 4912 ldr r1, [pc, #72] ; (9a4 ) + 95a: 4813 ldr r0, [pc, #76] ; (9a8 ) + 95c: 4b13 ldr r3, [pc, #76] ; (9ac ) + 95e: 4798 blx r3 + 960: 4b0f ldr r3, [pc, #60] ; (9a0 ) + 962: 2240 movs r2, #64 ; 0x40 + 964: 619a str r2, [r3, #24] ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 922: 615a str r2, [r3, #20] + 966: 615a str r2, [r3, #20] if(cmd_mode != false) { - 924: 4b17 ldr r3, [pc, #92] ; (984 ) - 926: 781b ldrb r3, [r3, #0] - 928: b123 cbz r3, 934 + 968: 4b0c ldr r3, [pc, #48] ; (99c ) + 96a: 781b ldrb r3, [r3, #0] + 96c: b12b cbz r3, 97a ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - 92a: 4b15 ldr r3, [pc, #84] ; (980 ) - 92c: 619a str r2, [r3, #24] + 96e: 2220 movs r2, #32 + 970: 4b0b ldr r3, [pc, #44] ; (9a0 ) + 972: 619a str r2, [r3, #24] cmd_mode = false; - 92e: 2200 movs r2, #0 - 930: 4b14 ldr r3, [pc, #80] ; (984 ) - 932: 701a strb r2, [r3, #0] + 974: 2200 movs r2, #0 + 976: 4b09 ldr r3, [pc, #36] ; (99c ) + 978: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 934: 2209 movs r2, #9 - 936: 4914 ldr r1, [pc, #80] ; (988 ) - 938: 480f ldr r0, [pc, #60] ; (978 ) - 93a: 4b10 ldr r3, [pc, #64] ; (97c ) - 93c: 4798 blx r3 - 93e: 4b10 ldr r3, [pc, #64] ; (980 ) - 940: 2240 movs r2, #64 ; 0x40 - 942: 619a str r2, [r3, #24] + 97a: 2209 movs r2, #9 + 97c: 4909 ldr r1, [pc, #36] ; (9a4 ) + 97e: 480a ldr r0, [pc, #40] ; (9a8 ) + 980: 4b0a ldr r3, [pc, #40] ; (9ac ) + 982: 4798 blx r3 + 984: 4b06 ldr r3, [pc, #24] ; (9a0 ) + 986: 2240 movs r2, #64 ; 0x40 + 988: 619a str r2, [r3, #24] ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 944: 615a str r2, [r3, #20] + 98a: 615a str r2, [r3, #20] if(cmd_mode != false) { - 946: 4b0f ldr r3, [pc, #60] ; (984 ) - 948: 781b ldrb r3, [r3, #0] - 94a: b123 cbz r3, 956 + 98c: 4b03 ldr r3, [pc, #12] ; (99c ) + 98e: 781b ldrb r3, [r3, #0] + 990: b18b cbz r3, 9b6 ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - 94c: 4b0c ldr r3, [pc, #48] ; (980 ) - 94e: 619a str r2, [r3, #24] + 992: 2220 movs r2, #32 + 994: 4b02 ldr r3, [pc, #8] ; (9a0 ) + 996: 619a str r2, [r3, #24] + 998: e00a b.n 9b0 + 99a: bf00 nop + 99c: 20000000 .word 0x20000000 + 9a0: 41008000 .word 0x41008000 + 9a4: 1c03c3f7 .word 0x1c03c3f7 + 9a8: 41008080 .word 0x41008080 + 9ac: 00001041 .word 0x00001041 cmd_mode = false; - 950: 2200 movs r2, #0 - 952: 4b0c ldr r3, [pc, #48] ; (984 ) - 954: 701a strb r2, [r3, #0] + 9b0: 2200 movs r2, #0 + 9b2: 4b8b ldr r3, [pc, #556] ; (be0 ) + 9b4: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 956: 2200 movs r2, #0 - 958: 490b ldr r1, [pc, #44] ; (988 ) - 95a: 4807 ldr r0, [pc, #28] ; (978 ) - 95c: 4b07 ldr r3, [pc, #28] ; (97c ) - 95e: 4798 blx r3 - 960: 4b07 ldr r3, [pc, #28] ; (980 ) - 962: 2240 movs r2, #64 ; 0x40 - 964: 619a str r2, [r3, #24] + 9b6: 2200 movs r2, #0 + 9b8: 498a ldr r1, [pc, #552] ; (be4 ) + 9ba: 488b ldr r0, [pc, #556] ; (be8 ) + 9bc: 4b8b ldr r3, [pc, #556] ; (bec ) + 9be: 4798 blx r3 + 9c0: 4b8b ldr r3, [pc, #556] ; (bf0 ) + 9c2: 2240 movs r2, #64 ; 0x40 + 9c4: 619a str r2, [r3, #24] ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 966: 615a str r2, [r3, #20] + 9c6: 615a str r2, [r3, #20] if(cmd_mode != false) { - 968: 4b06 ldr r3, [pc, #24] ; (984 ) - 96a: 781b ldrb r3, [r3, #0] - 96c: b183 cbz r3, 990 + 9c8: 4b85 ldr r3, [pc, #532] ; (be0 ) + 9ca: 781b ldrb r3, [r3, #0] + 9cc: b12b cbz r3, 9da ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - 96e: 4b04 ldr r3, [pc, #16] ; (980 ) - 970: 619a str r2, [r3, #24] + 9ce: 2220 movs r2, #32 + 9d0: 4b87 ldr r3, [pc, #540] ; (bf0 ) + 9d2: 619a str r2, [r3, #24] cmd_mode = false; - 972: 2200 movs r2, #0 - 974: e00a b.n 98c - 976: bf00 nop - 978: 41008080 .word 0x41008080 - 97c: 00000fbd .word 0x00000fbd - 980: 41008000 .word 0x41008000 - 984: 20000000 .word 0x20000000 - 988: 1c03c3f7 .word 0x1c03c3f7 - 98c: 4b86 ldr r3, [pc, #536] ; (ba8 ) - 98e: 701a strb r2, [r3, #0] + 9d4: 2200 movs r2, #0 + 9d6: 4b82 ldr r3, [pc, #520] ; (be0 ) + 9d8: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 990: 2200 movs r2, #0 - 992: 4986 ldr r1, [pc, #536] ; (bac ) - 994: 4886 ldr r0, [pc, #536] ; (bb0 ) - 996: 4b87 ldr r3, [pc, #540] ; (bb4 ) - 998: 4798 blx r3 - 99a: 4b87 ldr r3, [pc, #540] ; (bb8 ) - 99c: 2240 movs r2, #64 ; 0x40 - 99e: 619a str r2, [r3, #24] + 9da: 2200 movs r2, #0 + 9dc: 4981 ldr r1, [pc, #516] ; (be4 ) + 9de: 4882 ldr r0, [pc, #520] ; (be8 ) + 9e0: 4b82 ldr r3, [pc, #520] ; (bec ) + 9e2: 4798 blx r3 + 9e4: 4b82 ldr r3, [pc, #520] ; (bf0 ) + 9e6: 2240 movs r2, #64 ; 0x40 + 9e8: 619a str r2, [r3, #24] ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 9a0: 615a str r2, [r3, #20] + 9ea: 615a str r2, [r3, #20] if(cmd_mode == false) { - 9a2: 4b81 ldr r3, [pc, #516] ; (ba8 ) - 9a4: 781b ldrb r3, [r3, #0] - 9a6: b923 cbnz r3, 9b2 - 9a8: 4b83 ldr r3, [pc, #524] ; (bb8 ) - 9aa: 615a str r2, [r3, #20] + 9ec: 4b7c ldr r3, [pc, #496] ; (be0 ) + 9ee: 781b ldrb r3, [r3, #0] + 9f0: b92b cbnz r3, 9fe + 9f2: 2220 movs r2, #32 + 9f4: 4b7e ldr r3, [pc, #504] ; (bf0 ) + 9f6: 615a str r2, [r3, #20] cmd_mode = true; - 9ac: 2201 movs r2, #1 - 9ae: 4b7e ldr r3, [pc, #504] ; (ba8 ) - 9b0: 701a strb r2, [r3, #0] + 9f8: 2201 movs r2, #1 + 9fa: 4b79 ldr r3, [pc, #484] ; (be0 ) + 9fc: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(cmd); - 9b2: 222a movs r2, #42 ; 0x2a - 9b4: 497d ldr r1, [pc, #500] ; (bac ) - 9b6: 487e ldr r0, [pc, #504] ; (bb0 ) - 9b8: 4b7e ldr r3, [pc, #504] ; (bb4 ) - 9ba: 4798 blx r3 + 9fe: 222a movs r2, #42 ; 0x2a + a00: 4978 ldr r1, [pc, #480] ; (be4 ) + a02: 4879 ldr r0, [pc, #484] ; (be8 ) + a04: 4b79 ldr r3, [pc, #484] ; (bec ) + a06: 4798 blx r3 ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - 9bc: 4b7e ldr r3, [pc, #504] ; (bb8 ) - 9be: 2240 movs r2, #64 ; 0x40 - 9c0: 619a str r2, [r3, #24] + a08: 4b79 ldr r3, [pc, #484] ; (bf0 ) + a0a: 2240 movs r2, #64 ; 0x40 + a0c: 619a str r2, [r3, #24] ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 9c2: 615a str r2, [r3, #20] + a0e: 615a str r2, [r3, #20] if(cmd_mode != false) { - 9c4: 4b78 ldr r3, [pc, #480] ; (ba8 ) - 9c6: 781b ldrb r3, [r3, #0] - 9c8: b123 cbz r3, 9d4 + a10: 4b73 ldr r3, [pc, #460] ; (be0 ) + a12: 781b ldrb r3, [r3, #0] + a14: b12b cbz r3, a22 ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - 9ca: 4b7b ldr r3, [pc, #492] ; (bb8 ) - 9cc: 619a str r2, [r3, #24] + a16: 2220 movs r2, #32 + a18: 4b75 ldr r3, [pc, #468] ; (bf0 ) + a1a: 619a str r2, [r3, #24] cmd_mode = false; - 9ce: 2200 movs r2, #0 - 9d0: 4b75 ldr r3, [pc, #468] ; (ba8 ) - 9d2: 701a strb r2, [r3, #0] + a1c: 2200 movs r2, #0 + a1e: 4b70 ldr r3, [pc, #448] ; (be0 ) + a20: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 9d4: 2200 movs r2, #0 - 9d6: 4975 ldr r1, [pc, #468] ; (bac ) - 9d8: 4875 ldr r0, [pc, #468] ; (bb0 ) - 9da: 4b76 ldr r3, [pc, #472] ; (bb4 ) - 9dc: 4798 blx r3 - 9de: 4b76 ldr r3, [pc, #472] ; (bb8 ) - 9e0: 2240 movs r2, #64 ; 0x40 - 9e2: 619a str r2, [r3, #24] + a22: 2200 movs r2, #0 + a24: 496f ldr r1, [pc, #444] ; (be4 ) + a26: 4870 ldr r0, [pc, #448] ; (be8 ) + a28: 4b70 ldr r3, [pc, #448] ; (bec ) + a2a: 4798 blx r3 + a2c: 4b70 ldr r3, [pc, #448] ; (bf0 ) + a2e: 2240 movs r2, #64 ; 0x40 + a30: 619a str r2, [r3, #24] ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 9e4: 615a str r2, [r3, #20] + a32: 615a str r2, [r3, #20] if(cmd_mode != false) { - 9e6: 4b70 ldr r3, [pc, #448] ; (ba8 ) - 9e8: 781b ldrb r3, [r3, #0] - 9ea: b123 cbz r3, 9f6 + a34: 4b6a ldr r3, [pc, #424] ; (be0 ) + a36: 781b ldrb r3, [r3, #0] + a38: b12b cbz r3, a46 ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - 9ec: 4b72 ldr r3, [pc, #456] ; (bb8 ) - 9ee: 619a str r2, [r3, #24] + a3a: 2220 movs r2, #32 + a3c: 4b6c ldr r3, [pc, #432] ; (bf0 ) + a3e: 619a str r2, [r3, #24] cmd_mode = false; - 9f0: 2200 movs r2, #0 - 9f2: 4b6d ldr r3, [pc, #436] ; (ba8 ) - 9f4: 701a strb r2, [r3, #0] + a40: 2200 movs r2, #0 + a42: 4b67 ldr r3, [pc, #412] ; (be0 ) + a44: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 9f6: 2200 movs r2, #0 - 9f8: 496c ldr r1, [pc, #432] ; (bac ) - 9fa: 486d ldr r0, [pc, #436] ; (bb0 ) - 9fc: 4b6d ldr r3, [pc, #436] ; (bb4 ) - 9fe: 4798 blx r3 - a00: 4b6d ldr r3, [pc, #436] ; (bb8 ) - a02: 2240 movs r2, #64 ; 0x40 - a04: 619a str r2, [r3, #24] + a46: 2200 movs r2, #0 + a48: 4966 ldr r1, [pc, #408] ; (be4 ) + a4a: 4867 ldr r0, [pc, #412] ; (be8 ) + a4c: 4b67 ldr r3, [pc, #412] ; (bec ) + a4e: 4798 blx r3 + a50: 4b67 ldr r3, [pc, #412] ; (bf0 ) + a52: 2240 movs r2, #64 ; 0x40 + a54: 619a str r2, [r3, #24] ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - a06: 615a str r2, [r3, #20] + a56: 615a str r2, [r3, #20] if(cmd_mode != false) { - a08: 4b67 ldr r3, [pc, #412] ; (ba8 ) - a0a: 781b ldrb r3, [r3, #0] - a0c: b123 cbz r3, a18 + a58: 4b61 ldr r3, [pc, #388] ; (be0 ) + a5a: 781b ldrb r3, [r3, #0] + a5c: b12b cbz r3, a6a ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - a0e: 4b6a ldr r3, [pc, #424] ; (bb8 ) - a10: 619a str r2, [r3, #24] + a5e: 2220 movs r2, #32 + a60: 4b63 ldr r3, [pc, #396] ; (bf0 ) + a62: 619a str r2, [r3, #24] cmd_mode = false; - a12: 2200 movs r2, #0 - a14: 4b64 ldr r3, [pc, #400] ; (ba8 ) - a16: 701a strb r2, [r3, #0] + a64: 2200 movs r2, #0 + a66: 4b5e ldr r3, [pc, #376] ; (be0 ) + a68: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - a18: 2201 movs r2, #1 - a1a: 4964 ldr r1, [pc, #400] ; (bac ) - a1c: 4864 ldr r0, [pc, #400] ; (bb0 ) - a1e: 4b65 ldr r3, [pc, #404] ; (bb4 ) - a20: 4798 blx r3 - a22: 4b65 ldr r3, [pc, #404] ; (bb8 ) - a24: 2240 movs r2, #64 ; 0x40 - a26: 619a str r2, [r3, #24] + a6a: 2201 movs r2, #1 + a6c: 495d ldr r1, [pc, #372] ; (be4 ) + a6e: 485e ldr r0, [pc, #376] ; (be8 ) + a70: 4b5e ldr r3, [pc, #376] ; (bec ) + a72: 4798 blx r3 + a74: 4b5e ldr r3, [pc, #376] ; (bf0 ) + a76: 2240 movs r2, #64 ; 0x40 + a78: 619a str r2, [r3, #24] ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - a28: 615a str r2, [r3, #20] + a7a: 615a str r2, [r3, #20] if(cmd_mode != false) { - a2a: 4b5f ldr r3, [pc, #380] ; (ba8 ) - a2c: 781b ldrb r3, [r3, #0] - a2e: b123 cbz r3, a3a + a7c: 4b58 ldr r3, [pc, #352] ; (be0 ) + a7e: 781b ldrb r3, [r3, #0] + a80: b12b cbz r3, a8e ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - a30: 4b61 ldr r3, [pc, #388] ; (bb8 ) - a32: 619a str r2, [r3, #24] + a82: 2220 movs r2, #32 + a84: 4b5a ldr r3, [pc, #360] ; (bf0 ) + a86: 619a str r2, [r3, #24] cmd_mode = false; - a34: 2200 movs r2, #0 - a36: 4b5c ldr r3, [pc, #368] ; (ba8 ) - a38: 701a strb r2, [r3, #0] + a88: 2200 movs r2, #0 + a8a: 4b55 ldr r3, [pc, #340] ; (be0 ) + a8c: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - a3a: 22df movs r2, #223 ; 0xdf - a3c: 495b ldr r1, [pc, #364] ; (bac ) - a3e: 485c ldr r0, [pc, #368] ; (bb0 ) - a40: 4b5c ldr r3, [pc, #368] ; (bb4 ) - a42: 4798 blx r3 - a44: 4b5c ldr r3, [pc, #368] ; (bb8 ) - a46: 2240 movs r2, #64 ; 0x40 - a48: 619a str r2, [r3, #24] + a8e: 22df movs r2, #223 ; 0xdf + a90: 4954 ldr r1, [pc, #336] ; (be4 ) + a92: 4855 ldr r0, [pc, #340] ; (be8 ) + a94: 4b55 ldr r3, [pc, #340] ; (bec ) + a96: 4798 blx r3 + a98: 4b55 ldr r3, [pc, #340] ; (bf0 ) + a9a: 2240 movs r2, #64 ; 0x40 + a9c: 619a str r2, [r3, #24] ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - a4a: 615a str r2, [r3, #20] + a9e: 615a str r2, [r3, #20] if(cmd_mode == false) { - a4c: 4b56 ldr r3, [pc, #344] ; (ba8 ) - a4e: 781b ldrb r3, [r3, #0] - a50: b923 cbnz r3, a5c - a52: 4b59 ldr r3, [pc, #356] ; (bb8 ) - a54: 615a str r2, [r3, #20] + aa0: 4b4f ldr r3, [pc, #316] ; (be0 ) + aa2: 781b ldrb r3, [r3, #0] + aa4: b92b cbnz r3, ab2 + aa6: 2220 movs r2, #32 + aa8: 4b51 ldr r3, [pc, #324] ; (bf0 ) + aaa: 615a str r2, [r3, #20] cmd_mode = true; - a56: 2201 movs r2, #1 - a58: 4b53 ldr r3, [pc, #332] ; (ba8 ) - a5a: 701a strb r2, [r3, #0] + aac: 2201 movs r2, #1 + aae: 4b4c ldr r3, [pc, #304] ; (be0 ) + ab0: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(cmd); - a5c: 222b movs r2, #43 ; 0x2b - a5e: 4953 ldr r1, [pc, #332] ; (bac ) - a60: 4853 ldr r0, [pc, #332] ; (bb0 ) - a62: 4b54 ldr r3, [pc, #336] ; (bb4 ) - a64: 4798 blx r3 + ab2: 222b movs r2, #43 ; 0x2b + ab4: 494b ldr r1, [pc, #300] ; (be4 ) + ab6: 484c ldr r0, [pc, #304] ; (be8 ) + ab8: 4b4c ldr r3, [pc, #304] ; (bec ) + aba: 4798 blx r3 ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - a66: 4b54 ldr r3, [pc, #336] ; (bb8 ) - a68: 2240 movs r2, #64 ; 0x40 - a6a: 619a str r2, [r3, #24] + abc: 4b4c ldr r3, [pc, #304] ; (bf0 ) + abe: 2240 movs r2, #64 ; 0x40 + ac0: 619a str r2, [r3, #24] ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - a6c: 615a str r2, [r3, #20] + ac2: 615a str r2, [r3, #20] if(cmd_mode != false) { - a6e: 4b4e ldr r3, [pc, #312] ; (ba8 ) - a70: 781b ldrb r3, [r3, #0] - a72: b123 cbz r3, a7e + ac4: 4b46 ldr r3, [pc, #280] ; (be0 ) + ac6: 781b ldrb r3, [r3, #0] + ac8: b12b cbz r3, ad6 ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - a74: 4b50 ldr r3, [pc, #320] ; (bb8 ) - a76: 619a str r2, [r3, #24] + aca: 2220 movs r2, #32 + acc: 4b48 ldr r3, [pc, #288] ; (bf0 ) + ace: 619a str r2, [r3, #24] cmd_mode = false; - a78: 2200 movs r2, #0 - a7a: 4b4b ldr r3, [pc, #300] ; (ba8 ) - a7c: 701a strb r2, [r3, #0] + ad0: 2200 movs r2, #0 + ad2: 4b43 ldr r3, [pc, #268] ; (be0 ) + ad4: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - a7e: 2200 movs r2, #0 - a80: 494a ldr r1, [pc, #296] ; (bac ) - a82: 484b ldr r0, [pc, #300] ; (bb0 ) - a84: 4b4b ldr r3, [pc, #300] ; (bb4 ) - a86: 4798 blx r3 - a88: 4b4b ldr r3, [pc, #300] ; (bb8 ) - a8a: 2240 movs r2, #64 ; 0x40 - a8c: 619a str r2, [r3, #24] + ad6: 2200 movs r2, #0 + ad8: 4942 ldr r1, [pc, #264] ; (be4 ) + ada: 4843 ldr r0, [pc, #268] ; (be8 ) + adc: 4b43 ldr r3, [pc, #268] ; (bec ) + ade: 4798 blx r3 + ae0: 4b43 ldr r3, [pc, #268] ; (bf0 ) + ae2: 2240 movs r2, #64 ; 0x40 + ae4: 619a str r2, [r3, #24] ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - a8e: 615a str r2, [r3, #20] + ae6: 615a str r2, [r3, #20] if(cmd_mode != false) { - a90: 4b45 ldr r3, [pc, #276] ; (ba8 ) - a92: 781b ldrb r3, [r3, #0] - a94: b123 cbz r3, aa0 + ae8: 4b3d ldr r3, [pc, #244] ; (be0 ) + aea: 781b ldrb r3, [r3, #0] + aec: b12b cbz r3, afa ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - a96: 4b48 ldr r3, [pc, #288] ; (bb8 ) - a98: 619a str r2, [r3, #24] + aee: 2220 movs r2, #32 + af0: 4b3f ldr r3, [pc, #252] ; (bf0 ) + af2: 619a str r2, [r3, #24] cmd_mode = false; - a9a: 2200 movs r2, #0 - a9c: 4b42 ldr r3, [pc, #264] ; (ba8 ) - a9e: 701a strb r2, [r3, #0] + af4: 2200 movs r2, #0 + af6: 4b3a ldr r3, [pc, #232] ; (be0 ) + af8: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - aa0: 2200 movs r2, #0 - aa2: 4942 ldr r1, [pc, #264] ; (bac ) - aa4: 4842 ldr r0, [pc, #264] ; (bb0 ) - aa6: 4b43 ldr r3, [pc, #268] ; (bb4 ) - aa8: 4798 blx r3 - aaa: 4b43 ldr r3, [pc, #268] ; (bb8 ) - aac: 2240 movs r2, #64 ; 0x40 - aae: 619a str r2, [r3, #24] + afa: 2200 movs r2, #0 + afc: 4939 ldr r1, [pc, #228] ; (be4 ) + afe: 483a ldr r0, [pc, #232] ; (be8 ) + b00: 4b3a ldr r3, [pc, #232] ; (bec ) + b02: 4798 blx r3 + b04: 4b3a ldr r3, [pc, #232] ; (bf0 ) + b06: 2240 movs r2, #64 ; 0x40 + b08: 619a str r2, [r3, #24] ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - ab0: 615a str r2, [r3, #20] + b0a: 615a str r2, [r3, #20] if(cmd_mode != false) { - ab2: 4b3d ldr r3, [pc, #244] ; (ba8 ) - ab4: 781b ldrb r3, [r3, #0] - ab6: b123 cbz r3, ac2 + b0c: 4b34 ldr r3, [pc, #208] ; (be0 ) + b0e: 781b ldrb r3, [r3, #0] + b10: b12b cbz r3, b1e ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - ab8: 4b3f ldr r3, [pc, #252] ; (bb8 ) - aba: 619a str r2, [r3, #24] + b12: 2220 movs r2, #32 + b14: 4b36 ldr r3, [pc, #216] ; (bf0 ) + b16: 619a str r2, [r3, #24] cmd_mode = false; - abc: 2200 movs r2, #0 - abe: 4b3a ldr r3, [pc, #232] ; (ba8 ) - ac0: 701a strb r2, [r3, #0] + b18: 2200 movs r2, #0 + b1a: 4b31 ldr r3, [pc, #196] ; (be0 ) + b1c: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - ac2: 2201 movs r2, #1 - ac4: 4939 ldr r1, [pc, #228] ; (bac ) - ac6: 483a ldr r0, [pc, #232] ; (bb0 ) - ac8: 4b3a ldr r3, [pc, #232] ; (bb4 ) - aca: 4798 blx r3 - acc: 4b3a ldr r3, [pc, #232] ; (bb8 ) - ace: 2240 movs r2, #64 ; 0x40 - ad0: 619a str r2, [r3, #24] + b1e: 2201 movs r2, #1 + b20: 4930 ldr r1, [pc, #192] ; (be4 ) + b22: 4831 ldr r0, [pc, #196] ; (be8 ) + b24: 4b31 ldr r3, [pc, #196] ; (bec ) + b26: 4798 blx r3 + b28: 4b31 ldr r3, [pc, #196] ; (bf0 ) + b2a: 2240 movs r2, #64 ; 0x40 + b2c: 619a str r2, [r3, #24] ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - ad2: 615a str r2, [r3, #20] + b2e: 615a str r2, [r3, #20] if(cmd_mode != false) { - ad4: 4b34 ldr r3, [pc, #208] ; (ba8 ) - ad6: 781b ldrb r3, [r3, #0] - ad8: b123 cbz r3, ae4 + b30: 4b2b ldr r3, [pc, #172] ; (be0 ) + b32: 781b ldrb r3, [r3, #0] + b34: b12b cbz r3, b42 ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - ada: 4b37 ldr r3, [pc, #220] ; (bb8 ) - adc: 619a str r2, [r3, #24] + b36: 2220 movs r2, #32 + b38: 4b2d ldr r3, [pc, #180] ; (bf0 ) + b3a: 619a str r2, [r3, #24] cmd_mode = false; - ade: 2200 movs r2, #0 - ae0: 4b31 ldr r3, [pc, #196] ; (ba8 ) - ae2: 701a strb r2, [r3, #0] + b3c: 2200 movs r2, #0 + b3e: 4b28 ldr r3, [pc, #160] ; (be0 ) + b40: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - ae4: 220f movs r2, #15 - ae6: 4931 ldr r1, [pc, #196] ; (bac ) - ae8: 4831 ldr r0, [pc, #196] ; (bb0 ) - aea: 4b32 ldr r3, [pc, #200] ; (bb4 ) - aec: 4798 blx r3 - aee: 4b32 ldr r3, [pc, #200] ; (bb8 ) - af0: 2240 movs r2, #64 ; 0x40 - af2: 619a str r2, [r3, #24] + b42: 220f movs r2, #15 + b44: 4927 ldr r1, [pc, #156] ; (be4 ) + b46: 4828 ldr r0, [pc, #160] ; (be8 ) + b48: 4b28 ldr r3, [pc, #160] ; (bec ) + b4a: 4798 blx r3 + b4c: 4b28 ldr r3, [pc, #160] ; (bf0 ) + b4e: 2240 movs r2, #64 ; 0x40 + b50: 619a str r2, [r3, #24] ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - af4: 615a str r2, [r3, #20] + b52: 615a str r2, [r3, #20] if(cmd_mode == false) { - af6: 4b2c ldr r3, [pc, #176] ; (ba8 ) - af8: 781b ldrb r3, [r3, #0] - afa: b923 cbnz r3, b06 - afc: 4b2e ldr r3, [pc, #184] ; (bb8 ) - afe: 615a str r2, [r3, #20] + b54: 4b22 ldr r3, [pc, #136] ; (be0 ) + b56: 781b ldrb r3, [r3, #0] + b58: b92b cbnz r3, b66 + b5a: 2220 movs r2, #32 + b5c: 4b24 ldr r3, [pc, #144] ; (bf0 ) + b5e: 615a str r2, [r3, #20] cmd_mode = true; - b00: 2201 movs r2, #1 - b02: 4b29 ldr r3, [pc, #164] ; (ba8 ) - b04: 701a strb r2, [r3, #0] + b60: 2201 movs r2, #1 + b62: 4b1f ldr r3, [pc, #124] ; (be0 ) + b64: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(cmd); - b06: 2229 movs r2, #41 ; 0x29 - b08: 4928 ldr r1, [pc, #160] ; (bac ) - b0a: 4829 ldr r0, [pc, #164] ; (bb0 ) - b0c: 4b29 ldr r3, [pc, #164] ; (bb4 ) - b0e: 4798 blx r3 + b66: 2229 movs r2, #41 ; 0x29 + b68: 491e ldr r1, [pc, #120] ; (be4 ) + b6a: 481f ldr r0, [pc, #124] ; (be8 ) + b6c: 4b1f ldr r3, [pc, #124] ; (bec ) + b6e: 4798 blx r3 ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - b10: 4b29 ldr r3, [pc, #164] ; (bb8 ) - b12: 2240 movs r2, #64 ; 0x40 - b14: 619a str r2, [r3, #24] + b70: 4b1f ldr r3, [pc, #124] ; (bf0 ) + b72: 2240 movs r2, #64 ; 0x40 + b74: 619a str r2, [r3, #24] ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - b16: 615a str r2, [r3, #20] + b76: 615a str r2, [r3, #20] if(cmd_mode == false) { - b18: 4b23 ldr r3, [pc, #140] ; (ba8 ) - b1a: 781b ldrb r3, [r3, #0] - b1c: b923 cbnz r3, b28 - b1e: 4b26 ldr r3, [pc, #152] ; (bb8 ) - b20: 615a str r2, [r3, #20] + b78: 4b19 ldr r3, [pc, #100] ; (be0 ) + b7a: 781b ldrb r3, [r3, #0] + b7c: b92b cbnz r3, b8a + b7e: 2220 movs r2, #32 + b80: 4b1b ldr r3, [pc, #108] ; (bf0 ) + b82: 615a str r2, [r3, #20] cmd_mode = true; - b22: 2201 movs r2, #1 - b24: 4b20 ldr r3, [pc, #128] ; (ba8 ) - b26: 701a strb r2, [r3, #0] + b84: 2201 movs r2, #1 + b86: 4b16 ldr r3, [pc, #88] ; (be0 ) + b88: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(cmd); - b28: 22be movs r2, #190 ; 0xbe - b2a: 4920 ldr r1, [pc, #128] ; (bac ) - b2c: 4820 ldr r0, [pc, #128] ; (bb0 ) - b2e: 4b21 ldr r3, [pc, #132] ; (bb4 ) - b30: 4798 blx r3 + b8a: 22be movs r2, #190 ; 0xbe + b8c: 4915 ldr r1, [pc, #84] ; (be4 ) + b8e: 4816 ldr r0, [pc, #88] ; (be8 ) + b90: 4b16 ldr r3, [pc, #88] ; (bec ) + b92: 4798 blx r3 ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - b32: 4b21 ldr r3, [pc, #132] ; (bb8 ) - b34: 2240 movs r2, #64 ; 0x40 - b36: 619a str r2, [r3, #24] + b94: 4b16 ldr r3, [pc, #88] ; (bf0 ) + b96: 2240 movs r2, #64 ; 0x40 + b98: 619a str r2, [r3, #24] ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - b38: 615a str r2, [r3, #20] + b9a: 615a str r2, [r3, #20] if(cmd_mode != false) { - b3a: 4b1b ldr r3, [pc, #108] ; (ba8 ) - b3c: 781b ldrb r3, [r3, #0] - b3e: b123 cbz r3, b4a + b9c: 4b10 ldr r3, [pc, #64] ; (be0 ) + b9e: 781b ldrb r3, [r3, #0] + ba0: b12b cbz r3, bae ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - b40: 4b1d ldr r3, [pc, #116] ; (bb8 ) - b42: 619a str r2, [r3, #24] + ba2: 2220 movs r2, #32 + ba4: 4b12 ldr r3, [pc, #72] ; (bf0 ) + ba6: 619a str r2, [r3, #24] cmd_mode = false; - b44: 2200 movs r2, #0 - b46: 4b18 ldr r3, [pc, #96] ; (ba8 ) - b48: 701a strb r2, [r3, #0] + ba8: 2200 movs r2, #0 + baa: 4b0d ldr r3, [pc, #52] ; (be0 ) + bac: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - b4a: 2206 movs r2, #6 - b4c: 4917 ldr r1, [pc, #92] ; (bac ) - b4e: 4818 ldr r0, [pc, #96] ; (bb0 ) - b50: 4b18 ldr r3, [pc, #96] ; (bb4 ) - b52: 4798 blx r3 - b54: 4b18 ldr r3, [pc, #96] ; (bb8 ) - b56: 2240 movs r2, #64 ; 0x40 - b58: 619a str r2, [r3, #24] + bae: 2206 movs r2, #6 + bb0: 490c ldr r1, [pc, #48] ; (be4 ) + bb2: 480d ldr r0, [pc, #52] ; (be8 ) + bb4: 4b0d ldr r3, [pc, #52] ; (bec ) + bb6: 4798 blx r3 + bb8: 4b0d ldr r3, [pc, #52] ; (bf0 ) + bba: 2240 movs r2, #64 ; 0x40 + bbc: 619a str r2, [r3, #24] ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - b5a: 615a str r2, [r3, #20] + bbe: 615a str r2, [r3, #20] if(cmd_mode != false) { - b5c: 4b12 ldr r3, [pc, #72] ; (ba8 ) - b5e: 781b ldrb r3, [r3, #0] - b60: b123 cbz r3, b6c + bc0: 4b07 ldr r3, [pc, #28] ; (be0 ) + bc2: 781b ldrb r3, [r3, #0] + bc4: b12b cbz r3, bd2 ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - b62: 4b15 ldr r3, [pc, #84] ; (bb8 ) - b64: 619a str r2, [r3, #24] + bc6: 2220 movs r2, #32 + bc8: 4b09 ldr r3, [pc, #36] ; (bf0 ) + bca: 619a str r2, [r3, #24] cmd_mode = false; - b66: 2200 movs r2, #0 - b68: 4b0f ldr r3, [pc, #60] ; (ba8 ) - b6a: 701a strb r2, [r3, #0] + bcc: 2200 movs r2, #0 + bce: 4b04 ldr r3, [pc, #16] ; (be0 ) + bd0: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - b6c: 22ff movs r2, #255 ; 0xff - b6e: 490f ldr r1, [pc, #60] ; (bac ) - b70: 480f ldr r0, [pc, #60] ; (bb0 ) - b72: 4b10 ldr r3, [pc, #64] ; (bb4 ) - b74: 4798 blx r3 - b76: 4b10 ldr r3, [pc, #64] ; (bb8 ) - b78: 2240 movs r2, #64 ; 0x40 - b7a: 619a str r2, [r3, #24] + bd2: 22ff movs r2, #255 ; 0xff + bd4: 4903 ldr r1, [pc, #12] ; (be4 ) + bd6: 4804 ldr r0, [pc, #16] ; (be8 ) + bd8: 4b04 ldr r3, [pc, #16] ; (bec ) + bda: 4798 blx r3 + bdc: e00a b.n bf4 + bde: bf00 nop + be0: 20000000 .word 0x20000000 + be4: 1c03c3f7 .word 0x1c03c3f7 + be8: 41008080 .word 0x41008080 + bec: 00001041 .word 0x00001041 + bf0: 41008000 .word 0x41008000 + bf4: 4b26 ldr r3, [pc, #152] ; (c90 ) + bf6: 2240 movs r2, #64 ; 0x40 + bf8: 619a str r2, [r3, #24] ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - b7c: 615a str r2, [r3, #20] + bfa: 615a str r2, [r3, #20] if(cmd_mode != false) { - b7e: 4b0a ldr r3, [pc, #40] ; (ba8 ) - b80: 781b ldrb r3, [r3, #0] - b82: b123 cbz r3, b8e + bfc: 4b25 ldr r3, [pc, #148] ; (c94 ) + bfe: 781b ldrb r3, [r3, #0] + c00: b12b cbz r3, c0e ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - b84: 4b0c ldr r3, [pc, #48] ; (bb8 ) - b86: 619a str r2, [r3, #24] + c02: 2220 movs r2, #32 + c04: 4b22 ldr r3, [pc, #136] ; (c90 ) + c06: 619a str r2, [r3, #24] cmd_mode = false; - b88: 2200 movs r2, #0 - b8a: 4b07 ldr r3, [pc, #28] ; (ba8 ) - b8c: 701a strb r2, [r3, #0] + c08: 2200 movs r2, #0 + c0a: 4b22 ldr r3, [pc, #136] ; (c94 ) + c0c: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - b8e: 2201 movs r2, #1 - b90: 4906 ldr r1, [pc, #24] ; (bac ) - b92: 4807 ldr r0, [pc, #28] ; (bb0 ) - b94: 4b07 ldr r3, [pc, #28] ; (bb4 ) - b96: 4798 blx r3 - b98: 4b07 ldr r3, [pc, #28] ; (bb8 ) - b9a: 2240 movs r2, #64 ; 0x40 - b9c: 619a str r2, [r3, #24] + c0e: 2201 movs r2, #1 + c10: 4921 ldr r1, [pc, #132] ; (c98 ) + c12: 4822 ldr r0, [pc, #136] ; (c9c ) + c14: 4b22 ldr r3, [pc, #136] ; (ca0 ) + c16: 4798 blx r3 + c18: 4b1d ldr r3, [pc, #116] ; (c90 ) + c1a: 2240 movs r2, #64 ; 0x40 + c1c: 619a str r2, [r3, #24] ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - b9e: 615a str r2, [r3, #20] + c1e: 615a str r2, [r3, #20] if(cmd_mode != false) { - ba0: 4b01 ldr r3, [pc, #4] ; (ba8 ) - ba2: 781b ldrb r3, [r3, #0] - ba4: b17b cbz r3, bc6 - ba6: e009 b.n bbc - ba8: 20000000 .word 0x20000000 - bac: 1c03c3f7 .word 0x1c03c3f7 - bb0: 41008080 .word 0x41008080 - bb4: 00000fbd .word 0x00000fbd - bb8: 41008000 .word 0x41008000 + c20: 4b1c ldr r3, [pc, #112] ; (c94 ) + c22: 781b ldrb r3, [r3, #0] + c24: b12b cbz r3, c32 ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - bbc: 4b18 ldr r3, [pc, #96] ; (c20 ) - bbe: 619a str r2, [r3, #24] + c26: 2220 movs r2, #32 + c28: 4b19 ldr r3, [pc, #100] ; (c90 ) + c2a: 619a str r2, [r3, #24] cmd_mode = false; - bc0: 2200 movs r2, #0 - bc2: 4b18 ldr r3, [pc, #96] ; (c24 ) - bc4: 701a strb r2, [r3, #0] + c2c: 2200 movs r2, #0 + c2e: 4b19 ldr r3, [pc, #100] ; (c94 ) + c30: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - bc6: 22ff movs r2, #255 ; 0xff - bc8: 4917 ldr r1, [pc, #92] ; (c28 ) - bca: 4818 ldr r0, [pc, #96] ; (c2c ) - bcc: 4b18 ldr r3, [pc, #96] ; (c30 ) - bce: 4798 blx r3 - bd0: 4b13 ldr r3, [pc, #76] ; (c20 ) - bd2: 2240 movs r2, #64 ; 0x40 - bd4: 619a str r2, [r3, #24] + c32: 22ff movs r2, #255 ; 0xff + c34: 4918 ldr r1, [pc, #96] ; (c98 ) + c36: 4819 ldr r0, [pc, #100] ; (c9c ) + c38: 4b19 ldr r3, [pc, #100] ; (ca0 ) + c3a: 4798 blx r3 + c3c: 4b14 ldr r3, [pc, #80] ; (c90 ) + c3e: 2240 movs r2, #64 ; 0x40 + c40: 619a str r2, [r3, #24] ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - bd6: 615a str r2, [r3, #20] + c42: 615a str r2, [r3, #20] if(cmd_mode != false) { - bd8: 4b12 ldr r3, [pc, #72] ; (c24 ) - bda: 781b ldrb r3, [r3, #0] - bdc: b123 cbz r3, be8 + c44: 4b13 ldr r3, [pc, #76] ; (c94 ) + c46: 781b ldrb r3, [r3, #0] + c48: b12b cbz r3, c56 ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - bde: 4b10 ldr r3, [pc, #64] ; (c20 ) - be0: 619a str r2, [r3, #24] + c4a: 2220 movs r2, #32 + c4c: 4b10 ldr r3, [pc, #64] ; (c90 ) + c4e: 619a str r2, [r3, #24] cmd_mode = false; - be2: 2200 movs r2, #0 - be4: 4b0f ldr r3, [pc, #60] ; (c24 ) - be6: 701a strb r2, [r3, #0] + c50: 2200 movs r2, #0 + c52: 4b10 ldr r3, [pc, #64] ; (c94 ) + c54: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - be8: 2200 movs r2, #0 - bea: 490f ldr r1, [pc, #60] ; (c28 ) - bec: 480f ldr r0, [pc, #60] ; (c2c ) - bee: 4b10 ldr r3, [pc, #64] ; (c30 ) - bf0: 4798 blx r3 - bf2: 4b0b ldr r3, [pc, #44] ; (c20 ) - bf4: 2240 movs r2, #64 ; 0x40 - bf6: 619a str r2, [r3, #24] + c56: 2200 movs r2, #0 + c58: 490f ldr r1, [pc, #60] ; (c98 ) + c5a: 4810 ldr r0, [pc, #64] ; (c9c ) + c5c: 4b10 ldr r3, [pc, #64] ; (ca0 ) + c5e: 4798 blx r3 + c60: 4b0b ldr r3, [pc, #44] ; (c90 ) + c62: 2240 movs r2, #64 ; 0x40 + c64: 619a str r2, [r3, #24] ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - bf8: 615a str r2, [r3, #20] + c66: 615a str r2, [r3, #20] if(cmd_mode != false) { - bfa: 4b0a ldr r3, [pc, #40] ; (c24 ) - bfc: 781b ldrb r3, [r3, #0] - bfe: b123 cbz r3, c0a + c68: 4b0a ldr r3, [pc, #40] ; (c94 ) + c6a: 781b ldrb r3, [r3, #0] + c6c: b12b cbz r3, c7a ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - c00: 4b07 ldr r3, [pc, #28] ; (c20 ) - c02: 619a str r2, [r3, #24] + c6e: 2220 movs r2, #32 + c70: 4b07 ldr r3, [pc, #28] ; (c90 ) + c72: 619a str r2, [r3, #24] cmd_mode = false; - c04: 2200 movs r2, #0 - c06: 4b07 ldr r3, [pc, #28] ; (c24 ) - c08: 701a strb r2, [r3, #0] + c74: 2200 movs r2, #0 + c76: 4b07 ldr r3, [pc, #28] ; (c94 ) + c78: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - c0a: 2201 movs r2, #1 - c0c: 4906 ldr r1, [pc, #24] ; (c28 ) - c0e: 4807 ldr r0, [pc, #28] ; (c2c ) - c10: 4b07 ldr r3, [pc, #28] ; (c30 ) - c12: 4798 blx r3 - c14: 4b02 ldr r3, [pc, #8] ; (c20 ) - c16: 2240 movs r2, #64 ; 0x40 - c18: 619a str r2, [r3, #24] - c1a: 619a str r2, [r3, #24] - c1c: bd70 pop {r4, r5, r6, pc} - c1e: bf00 nop - c20: 41008000 .word 0x41008000 - c24: 20000000 .word 0x20000000 - c28: 1c03c3f7 .word 0x1c03c3f7 - c2c: 41008080 .word 0x41008080 - c30: 00000fbd .word 0x00000fbd - -00000c34 : -{ - c34: e92d 4ff8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr} + c7a: 2201 movs r2, #1 + c7c: 4906 ldr r1, [pc, #24] ; (c98 ) + c7e: 4807 ldr r0, [pc, #28] ; (c9c ) + c80: 4b07 ldr r3, [pc, #28] ; (ca0 ) + c82: 4798 blx r3 + c84: 4b02 ldr r3, [pc, #8] ; (c90 ) + c86: 2240 movs r2, #64 ; 0x40 + c88: 619a str r2, [r3, #24] + c8a: 619a str r2, [r3, #24] + c8c: bd70 pop {r4, r5, r6, pc} + c8e: bf00 nop + c90: 41008000 .word 0x41008000 + c94: 20000000 .word 0x20000000 + c98: 1c03c3f7 .word 0x1c03c3f7 + c9c: 41008080 .word 0x41008080 + ca0: 00001041 .word 0x00001041 + +00000ca4 : +{ + ca4: e92d 4ff8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr} if(area->x2 < 0) return; - c38: f9b1 3004 ldrsh.w r3, [r1, #4] - c3c: 2b00 cmp r3, #0 - c3e: db0f blt.n c60 - c40: 4681 mov r9, r0 - c42: 468a mov sl, r1 - c44: 4615 mov r5, r2 + ca8: f9b1 3004 ldrsh.w r3, [r1, #4] + cac: 2b00 cmp r3, #0 + cae: db0f blt.n cd0 + cb0: 4681 mov r9, r0 + cb2: 468a mov sl, r1 + cb4: 4615 mov r5, r2 if(area->y2 < 0) return; - c46: f9b1 3006 ldrsh.w r3, [r1, #6] - c4a: 2b00 cmp r3, #0 - c4c: db08 blt.n c60 + cb6: f9b1 3006 ldrsh.w r3, [r1, #6] + cba: 2b00 cmp r3, #0 + cbc: db08 blt.n cd0 if(area->x1 > SSD1963_HOR_RES - 1) return; - c4e: f9b1 4000 ldrsh.w r4, [r1] - c52: 4b93 ldr r3, [pc, #588] ; (ea0 ) - c54: 4798 blx r3 - c56: 4b93 ldr r3, [pc, #588] ; (ea4 ) - c58: 4798 blx r3 - c5a: 3801 subs r0, #1 - c5c: 4284 cmp r4, r0 - c5e: dd01 ble.n c64 - c60: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} + cbe: f9b1 4000 ldrsh.w r4, [r1] + cc2: 4b04 ldr r3, [pc, #16] ; (cd4 ) + cc4: 4798 blx r3 + cc6: 4b04 ldr r3, [pc, #16] ; (cd8 ) + cc8: 4798 blx r3 + cca: 3801 subs r0, #1 + ccc: 4284 cmp r4, r0 + cce: dd05 ble.n cdc + cd0: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} + cd4: 00010ee1 .word 0x00010ee1 + cd8: 00010eed .word 0x00010eed if(area->y1 > SSD1963_VER_RES - 1) return; - c64: f9ba 4002 ldrsh.w r4, [sl, #2] - c68: 4b8d ldr r3, [pc, #564] ; (ea0 ) - c6a: 4798 blx r3 - c6c: 4b8e ldr r3, [pc, #568] ; (ea8 ) - c6e: 4798 blx r3 - c70: 3801 subs r0, #1 - c72: 4284 cmp r4, r0 - c74: dcf4 bgt.n c60 + cdc: f9ba 4002 ldrsh.w r4, [sl, #2] + ce0: 4b94 ldr r3, [pc, #592] ; (f34 ) + ce2: 4798 blx r3 + ce4: 4b94 ldr r3, [pc, #592] ; (f38 ) + ce6: 4798 blx r3 + ce8: 3801 subs r0, #1 + cea: 4284 cmp r4, r0 + cec: dcf0 bgt.n cd0 int32_t act_x1 = area->x1 < 0 ? 0 : area->x1; - c76: f9ba 6000 ldrsh.w r6, [sl] - c7a: ea26 76e6 bic.w r6, r6, r6, asr #31 + cee: f9ba 6000 ldrsh.w r6, [sl] + cf2: ea26 76e6 bic.w r6, r6, r6, asr #31 int32_t act_y1 = area->y1 < 0 ? 0 : area->y1; - c7e: f9ba 4002 ldrsh.w r4, [sl, #2] - c82: ea24 74e4 bic.w r4, r4, r4, asr #31 - c86: 46a3 mov fp, r4 + cf6: f9ba 4002 ldrsh.w r4, [sl, #2] + cfa: ea24 74e4 bic.w r4, r4, r4, asr #31 + cfe: 46a3 mov fp, r4 int32_t act_x2 = area->x2 > SSD1963_HOR_RES - 1 ? SSD1963_HOR_RES - 1 : area->x2; - c88: f9ba 7004 ldrsh.w r7, [sl, #4] - c8c: 4b84 ldr r3, [pc, #528] ; (ea0 ) - c8e: 4798 blx r3 - c90: 4b84 ldr r3, [pc, #528] ; (ea4 ) - c92: 4798 blx r3 - c94: 3801 subs r0, #1 - c96: 4287 cmp r7, r0 - c98: f300 8116 bgt.w ec8 - c9c: f9ba 7004 ldrsh.w r7, [sl, #4] + d00: f9ba 7004 ldrsh.w r7, [sl, #4] + d04: 4b8b ldr r3, [pc, #556] ; (f34 ) + d06: 4798 blx r3 + d08: 4b8c ldr r3, [pc, #560] ; (f3c ) + d0a: 4798 blx r3 + d0c: 3801 subs r0, #1 + d0e: 4287 cmp r7, r0 + d10: f300 810a bgt.w f28 + d14: f9ba 7004 ldrsh.w r7, [sl, #4] int32_t act_y2 = area->y2 > SSD1963_VER_RES - 1 ? SSD1963_VER_RES - 1 : area->y2; - ca0: f9ba 8006 ldrsh.w r8, [sl, #6] - ca4: 4b7e ldr r3, [pc, #504] ; (ea0 ) - ca6: 4798 blx r3 - ca8: 4b7f ldr r3, [pc, #508] ; (ea8 ) - caa: 4798 blx r3 - cac: 3801 subs r0, #1 - cae: 4580 cmp r8, r0 - cb0: f300 8110 bgt.w ed4 - cb4: f9ba 8006 ldrsh.w r8, [sl, #6] + d18: f9ba 8006 ldrsh.w r8, [sl, #6] + d1c: 4b85 ldr r3, [pc, #532] ; (f34 ) + d1e: 4798 blx r3 + d20: 4b85 ldr r3, [pc, #532] ; (f38 ) + d22: 4798 blx r3 + d24: 3801 subs r0, #1 + d26: 4580 cmp r8, r0 + d28: f300 8118 bgt.w f5c + d2c: f9ba 8006 ldrsh.w r8, [sl, #6] ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - cb8: 2240 movs r2, #64 ; 0x40 - cba: 4b7c ldr r3, [pc, #496] ; (eac ) - cbc: 615a str r2, [r3, #20] + d30: 2240 movs r2, #64 ; 0x40 + d32: 4b83 ldr r3, [pc, #524] ; (f40 ) + d34: 615a str r2, [r3, #20] if(cmd_mode == false) { - cbe: 4b7c ldr r3, [pc, #496] ; (eb0 ) - cc0: 781b ldrb r3, [r3, #0] - cc2: b923 cbnz r3, cce - cc4: 4b79 ldr r3, [pc, #484] ; (eac ) - cc6: 615a str r2, [r3, #20] + d36: 4b83 ldr r3, [pc, #524] ; (f44 ) + d38: 781b ldrb r3, [r3, #0] + d3a: b92b cbnz r3, d48 + d3c: 2220 movs r2, #32 + d3e: 4b80 ldr r3, [pc, #512] ; (f40 ) + d40: 615a str r2, [r3, #20] cmd_mode = true; - cc8: 2201 movs r2, #1 - cca: 4b79 ldr r3, [pc, #484] ; (eb0 ) - ccc: 701a strb r2, [r3, #0] + d42: 2201 movs r2, #1 + d44: 4b7f ldr r3, [pc, #508] ; (f44 ) + d46: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(cmd); - cce: 222a movs r2, #42 ; 0x2a - cd0: 4978 ldr r1, [pc, #480] ; (eb4 ) - cd2: 4879 ldr r0, [pc, #484] ; (eb8 ) - cd4: 4b79 ldr r3, [pc, #484] ; (ebc ) - cd6: 4798 blx r3 + d48: 222a movs r2, #42 ; 0x2a + d4a: 497f ldr r1, [pc, #508] ; (f48 ) + d4c: 487f ldr r0, [pc, #508] ; (f4c ) + d4e: 4b80 ldr r3, [pc, #512] ; (f50 ) + d50: 4798 blx r3 ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - cd8: 4b74 ldr r3, [pc, #464] ; (eac ) - cda: 2140 movs r1, #64 ; 0x40 - cdc: 6199 str r1, [r3, #24] + d52: 4b7b ldr r3, [pc, #492] ; (f40 ) + d54: 2140 movs r1, #64 ; 0x40 + d56: 6199 str r1, [r3, #24] ssd1963_data(act_x1 >> 8); - cde: 1232 asrs r2, r6, #8 + d58: f3c6 2207 ubfx r2, r6, #8, #8 ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - ce0: 6159 str r1, [r3, #20] + d5c: 6159 str r1, [r3, #20] if(cmd_mode != false) { - ce2: 4b73 ldr r3, [pc, #460] ; (eb0 ) - ce4: 781b ldrb r3, [r3, #0] - ce6: b123 cbz r3, cf2 + d5e: 4b79 ldr r3, [pc, #484] ; (f44 ) + d60: 781b ldrb r3, [r3, #0] + d62: b12b cbz r3, d70 ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - ce8: 4b70 ldr r3, [pc, #448] ; (eac ) - cea: 6199 str r1, [r3, #24] + d64: 2120 movs r1, #32 + d66: 4b76 ldr r3, [pc, #472] ; (f40 ) + d68: 6199 str r1, [r3, #24] cmd_mode = false; - cec: 2100 movs r1, #0 - cee: 4b70 ldr r3, [pc, #448] ; (eb0 ) - cf0: 7019 strb r1, [r3, #0] + d6a: 2100 movs r1, #0 + d6c: 4b75 ldr r3, [pc, #468] ; (f44 ) + d6e: 7019 strb r1, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - cf2: b2d2 uxtb r2, r2 - cf4: 496f ldr r1, [pc, #444] ; (eb4 ) - cf6: 4870 ldr r0, [pc, #448] ; (eb8 ) - cf8: 4b70 ldr r3, [pc, #448] ; (ebc ) - cfa: 4798 blx r3 - cfc: 4b6b ldr r3, [pc, #428] ; (eac ) - cfe: 2140 movs r1, #64 ; 0x40 - d00: 6199 str r1, [r3, #24] - ssd1963_data(0x00FF & act_x1); - d02: b2f2 uxtb r2, r6 + d70: 4975 ldr r1, [pc, #468] ; (f48 ) + d72: 4876 ldr r0, [pc, #472] ; (f4c ) + d74: 4b76 ldr r3, [pc, #472] ; (f50 ) + d76: 4798 blx r3 + d78: 4b71 ldr r3, [pc, #452] ; (f40 ) + d7a: 2240 movs r2, #64 ; 0x40 + d7c: 619a str r2, [r3, #24] ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - d04: 6159 str r1, [r3, #20] + d7e: 615a str r2, [r3, #20] if(cmd_mode != false) { - d06: 4b6a ldr r3, [pc, #424] ; (eb0 ) - d08: 781b ldrb r3, [r3, #0] - d0a: b123 cbz r3, d16 + d80: 4b70 ldr r3, [pc, #448] ; (f44 ) + d82: 781b ldrb r3, [r3, #0] + d84: b12b cbz r3, d92 ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - d0c: 4b67 ldr r3, [pc, #412] ; (eac ) - d0e: 6199 str r1, [r3, #24] + d86: 2220 movs r2, #32 + d88: 4b6d ldr r3, [pc, #436] ; (f40 ) + d8a: 619a str r2, [r3, #24] cmd_mode = false; - d10: 2100 movs r1, #0 - d12: 4b67 ldr r3, [pc, #412] ; (eb0 ) - d14: 7019 strb r1, [r3, #0] + d8c: 2200 movs r2, #0 + d8e: 4b6d ldr r3, [pc, #436] ; (f44 ) + d90: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - d16: 4967 ldr r1, [pc, #412] ; (eb4 ) - d18: 4867 ldr r0, [pc, #412] ; (eb8 ) - d1a: 4b68 ldr r3, [pc, #416] ; (ebc ) - d1c: 4798 blx r3 - d1e: 4b63 ldr r3, [pc, #396] ; (eac ) - d20: 2140 movs r1, #64 ; 0x40 - d22: 6199 str r1, [r3, #24] + d92: b2f2 uxtb r2, r6 + d94: 496c ldr r1, [pc, #432] ; (f48 ) + d96: 486d ldr r0, [pc, #436] ; (f4c ) + d98: 4b6d ldr r3, [pc, #436] ; (f50 ) + d9a: 4798 blx r3 + d9c: 4b68 ldr r3, [pc, #416] ; (f40 ) + d9e: 2140 movs r1, #64 ; 0x40 + da0: 6199 str r1, [r3, #24] ssd1963_data(act_x2 >> 8); - d24: 123a asrs r2, r7, #8 + da2: f3c7 2207 ubfx r2, r7, #8, #8 ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - d26: 6159 str r1, [r3, #20] + da6: 6159 str r1, [r3, #20] if(cmd_mode != false) { - d28: 4b61 ldr r3, [pc, #388] ; (eb0 ) - d2a: 781b ldrb r3, [r3, #0] - d2c: b123 cbz r3, d38 + da8: 4b66 ldr r3, [pc, #408] ; (f44 ) + daa: 781b ldrb r3, [r3, #0] + dac: b12b cbz r3, dba ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - d2e: 4b5f ldr r3, [pc, #380] ; (eac ) - d30: 6199 str r1, [r3, #24] + dae: 2120 movs r1, #32 + db0: 4b63 ldr r3, [pc, #396] ; (f40 ) + db2: 6199 str r1, [r3, #24] cmd_mode = false; - d32: 2100 movs r1, #0 - d34: 4b5e ldr r3, [pc, #376] ; (eb0 ) - d36: 7019 strb r1, [r3, #0] + db4: 2100 movs r1, #0 + db6: 4b63 ldr r3, [pc, #396] ; (f44 ) + db8: 7019 strb r1, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - d38: b2d2 uxtb r2, r2 - d3a: 495e ldr r1, [pc, #376] ; (eb4 ) - d3c: 485e ldr r0, [pc, #376] ; (eb8 ) - d3e: 4b5f ldr r3, [pc, #380] ; (ebc ) - d40: 4798 blx r3 - d42: 4b5a ldr r3, [pc, #360] ; (eac ) - d44: 2240 movs r2, #64 ; 0x40 - d46: 619a str r2, [r3, #24] + dba: 4963 ldr r1, [pc, #396] ; (f48 ) + dbc: 4863 ldr r0, [pc, #396] ; (f4c ) + dbe: 4b64 ldr r3, [pc, #400] ; (f50 ) + dc0: 4798 blx r3 + dc2: 4b5f ldr r3, [pc, #380] ; (f40 ) + dc4: 2140 movs r1, #64 ; 0x40 + dc6: 6199 str r1, [r3, #24] + ssd1963_data(0x00FF & act_x2); + dc8: b2fa uxtb r2, r7 ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - d48: 615a str r2, [r3, #20] + dca: 6159 str r1, [r3, #20] if(cmd_mode != false) { - d4a: 4b59 ldr r3, [pc, #356] ; (eb0 ) - d4c: 781b ldrb r3, [r3, #0] - d4e: b123 cbz r3, d5a + dcc: 4b5d ldr r3, [pc, #372] ; (f44 ) + dce: 781b ldrb r3, [r3, #0] + dd0: b12b cbz r3, dde ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - d50: 4b56 ldr r3, [pc, #344] ; (eac ) - d52: 619a str r2, [r3, #24] + dd2: 2120 movs r1, #32 + dd4: 4b5a ldr r3, [pc, #360] ; (f40 ) + dd6: 6199 str r1, [r3, #24] cmd_mode = false; - d54: 2200 movs r2, #0 - d56: 4b56 ldr r3, [pc, #344] ; (eb0 ) - d58: 701a strb r2, [r3, #0] + dd8: 2100 movs r1, #0 + dda: 4b5a ldr r3, [pc, #360] ; (f44 ) + ddc: 7019 strb r1, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - d5a: b2fa uxtb r2, r7 - d5c: 4955 ldr r1, [pc, #340] ; (eb4 ) - d5e: 4856 ldr r0, [pc, #344] ; (eb8 ) - d60: 4b56 ldr r3, [pc, #344] ; (ebc ) - d62: 4798 blx r3 - d64: 4b51 ldr r3, [pc, #324] ; (eac ) - d66: 2240 movs r2, #64 ; 0x40 - d68: 619a str r2, [r3, #24] + dde: 495a ldr r1, [pc, #360] ; (f48 ) + de0: 485a ldr r0, [pc, #360] ; (f4c ) + de2: 4b5b ldr r3, [pc, #364] ; (f50 ) + de4: 4798 blx r3 + de6: 4b56 ldr r3, [pc, #344] ; (f40 ) + de8: 2240 movs r2, #64 ; 0x40 + dea: 619a str r2, [r3, #24] ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - d6a: 615a str r2, [r3, #20] + dec: 615a str r2, [r3, #20] if(cmd_mode == false) { - d6c: 4b50 ldr r3, [pc, #320] ; (eb0 ) - d6e: 781b ldrb r3, [r3, #0] - d70: b923 cbnz r3, d7c - d72: 4b4e ldr r3, [pc, #312] ; (eac ) - d74: 615a str r2, [r3, #20] + dee: 4b55 ldr r3, [pc, #340] ; (f44 ) + df0: 781b ldrb r3, [r3, #0] + df2: b92b cbnz r3, e00 + df4: 2220 movs r2, #32 + df6: 4b52 ldr r3, [pc, #328] ; (f40 ) + df8: 615a str r2, [r3, #20] cmd_mode = true; - d76: 2201 movs r2, #1 - d78: 4b4d ldr r3, [pc, #308] ; (eb0 ) - d7a: 701a strb r2, [r3, #0] + dfa: 2201 movs r2, #1 + dfc: 4b51 ldr r3, [pc, #324] ; (f44 ) + dfe: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(cmd); - d7c: 222b movs r2, #43 ; 0x2b - d7e: 494d ldr r1, [pc, #308] ; (eb4 ) - d80: 484d ldr r0, [pc, #308] ; (eb8 ) - d82: 4b4e ldr r3, [pc, #312] ; (ebc ) - d84: 4798 blx r3 + e00: 222b movs r2, #43 ; 0x2b + e02: 4951 ldr r1, [pc, #324] ; (f48 ) + e04: 4851 ldr r0, [pc, #324] ; (f4c ) + e06: 4b52 ldr r3, [pc, #328] ; (f50 ) + e08: 4798 blx r3 ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - d86: 4b49 ldr r3, [pc, #292] ; (eac ) - d88: 2140 movs r1, #64 ; 0x40 - d8a: 6199 str r1, [r3, #24] + e0a: 4b4d ldr r3, [pc, #308] ; (f40 ) + e0c: 2140 movs r1, #64 ; 0x40 + e0e: 6199 str r1, [r3, #24] ssd1963_data(act_y1 >> 8); - d8c: ea4f 222b mov.w r2, fp, asr #8 + e10: f3cb 2207 ubfx r2, fp, #8, #8 ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - d90: 6159 str r1, [r3, #20] + e14: 6159 str r1, [r3, #20] if(cmd_mode != false) { - d92: 4b47 ldr r3, [pc, #284] ; (eb0 ) - d94: 781b ldrb r3, [r3, #0] - d96: b123 cbz r3, da2 + e16: 4b4b ldr r3, [pc, #300] ; (f44 ) + e18: 781b ldrb r3, [r3, #0] + e1a: b12b cbz r3, e28 ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - d98: 4b44 ldr r3, [pc, #272] ; (eac ) - d9a: 6199 str r1, [r3, #24] + e1c: 2120 movs r1, #32 + e1e: 4b48 ldr r3, [pc, #288] ; (f40 ) + e20: 6199 str r1, [r3, #24] cmd_mode = false; - d9c: 2100 movs r1, #0 - d9e: 4b44 ldr r3, [pc, #272] ; (eb0 ) - da0: 7019 strb r1, [r3, #0] + e22: 2100 movs r1, #0 + e24: 4b47 ldr r3, [pc, #284] ; (f44 ) + e26: 7019 strb r1, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - da2: b2d2 uxtb r2, r2 - da4: 4943 ldr r1, [pc, #268] ; (eb4 ) - da6: 4844 ldr r0, [pc, #272] ; (eb8 ) - da8: 4b44 ldr r3, [pc, #272] ; (ebc ) - daa: 4798 blx r3 - dac: 4b3f ldr r3, [pc, #252] ; (eac ) - dae: 2140 movs r1, #64 ; 0x40 - db0: 6199 str r1, [r3, #24] - ssd1963_data(0x00FF & act_y1); - db2: b2e2 uxtb r2, r4 + e28: 4947 ldr r1, [pc, #284] ; (f48 ) + e2a: 4848 ldr r0, [pc, #288] ; (f4c ) + e2c: 4b48 ldr r3, [pc, #288] ; (f50 ) + e2e: 4798 blx r3 + e30: 4b43 ldr r3, [pc, #268] ; (f40 ) + e32: 2240 movs r2, #64 ; 0x40 + e34: 619a str r2, [r3, #24] ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - db4: 6159 str r1, [r3, #20] + e36: 615a str r2, [r3, #20] if(cmd_mode != false) { - db6: 4b3e ldr r3, [pc, #248] ; (eb0 ) - db8: 781b ldrb r3, [r3, #0] - dba: b123 cbz r3, dc6 + e38: 4b42 ldr r3, [pc, #264] ; (f44 ) + e3a: 781b ldrb r3, [r3, #0] + e3c: b12b cbz r3, e4a ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - dbc: 4b3b ldr r3, [pc, #236] ; (eac ) - dbe: 6199 str r1, [r3, #24] + e3e: 2220 movs r2, #32 + e40: 4b3f ldr r3, [pc, #252] ; (f40 ) + e42: 619a str r2, [r3, #24] cmd_mode = false; - dc0: 2100 movs r1, #0 - dc2: 4b3b ldr r3, [pc, #236] ; (eb0 ) - dc4: 7019 strb r1, [r3, #0] + e44: 2200 movs r2, #0 + e46: 4b3f ldr r3, [pc, #252] ; (f44 ) + e48: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - dc6: 493b ldr r1, [pc, #236] ; (eb4 ) - dc8: 483b ldr r0, [pc, #236] ; (eb8 ) - dca: 4b3c ldr r3, [pc, #240] ; (ebc ) - dcc: 4798 blx r3 - dce: 4b37 ldr r3, [pc, #220] ; (eac ) - dd0: 2140 movs r1, #64 ; 0x40 - dd2: 6199 str r1, [r3, #24] + e4a: b2e2 uxtb r2, r4 + e4c: 493e ldr r1, [pc, #248] ; (f48 ) + e4e: 483f ldr r0, [pc, #252] ; (f4c ) + e50: 4b3f ldr r3, [pc, #252] ; (f50 ) + e52: 4798 blx r3 + e54: 4b3a ldr r3, [pc, #232] ; (f40 ) + e56: 2140 movs r1, #64 ; 0x40 + e58: 6199 str r1, [r3, #24] ssd1963_data(act_y2 >> 8); - dd4: ea4f 2228 mov.w r2, r8, asr #8 + e5a: f3c8 2207 ubfx r2, r8, #8, #8 ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - dd8: 6159 str r1, [r3, #20] + e5e: 6159 str r1, [r3, #20] if(cmd_mode != false) { - dda: 4b35 ldr r3, [pc, #212] ; (eb0 ) - ddc: 781b ldrb r3, [r3, #0] - dde: b123 cbz r3, dea + e60: 4b38 ldr r3, [pc, #224] ; (f44 ) + e62: 781b ldrb r3, [r3, #0] + e64: b12b cbz r3, e72 ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - de0: 4b32 ldr r3, [pc, #200] ; (eac ) - de2: 6199 str r1, [r3, #24] + e66: 2120 movs r1, #32 + e68: 4b35 ldr r3, [pc, #212] ; (f40 ) + e6a: 6199 str r1, [r3, #24] cmd_mode = false; - de4: 2100 movs r1, #0 - de6: 4b32 ldr r3, [pc, #200] ; (eb0 ) - de8: 7019 strb r1, [r3, #0] + e6c: 2100 movs r1, #0 + e6e: 4b35 ldr r3, [pc, #212] ; (f44 ) + e70: 7019 strb r1, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - dea: b2d2 uxtb r2, r2 - dec: 4931 ldr r1, [pc, #196] ; (eb4 ) - dee: 4832 ldr r0, [pc, #200] ; (eb8 ) - df0: 4b32 ldr r3, [pc, #200] ; (ebc ) - df2: 4798 blx r3 - df4: 4b2d ldr r3, [pc, #180] ; (eac ) - df6: 2240 movs r2, #64 ; 0x40 - df8: 619a str r2, [r3, #24] + e72: 4935 ldr r1, [pc, #212] ; (f48 ) + e74: 4835 ldr r0, [pc, #212] ; (f4c ) + e76: 4b36 ldr r3, [pc, #216] ; (f50 ) + e78: 4798 blx r3 + e7a: 4b31 ldr r3, [pc, #196] ; (f40 ) + e7c: 2140 movs r1, #64 ; 0x40 + e7e: 6199 str r1, [r3, #24] + ssd1963_data(0x00FF & act_y2); + e80: fa5f f288 uxtb.w r2, r8 ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - dfa: 615a str r2, [r3, #20] + e84: 6159 str r1, [r3, #20] if(cmd_mode != false) { - dfc: 4b2c ldr r3, [pc, #176] ; (eb0 ) - dfe: 781b ldrb r3, [r3, #0] - e00: b123 cbz r3, e0c + e86: 4b2f ldr r3, [pc, #188] ; (f44 ) + e88: 781b ldrb r3, [r3, #0] + e8a: b12b cbz r3, e98 ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - e02: 4b2a ldr r3, [pc, #168] ; (eac ) - e04: 619a str r2, [r3, #24] + e8c: 2120 movs r1, #32 + e8e: 4b2c ldr r3, [pc, #176] ; (f40 ) + e90: 6199 str r1, [r3, #24] cmd_mode = false; - e06: 2200 movs r2, #0 - e08: 4b29 ldr r3, [pc, #164] ; (eb0 ) - e0a: 701a strb r2, [r3, #0] + e92: 2100 movs r1, #0 + e94: 4b2b ldr r3, [pc, #172] ; (f44 ) + e96: 7019 strb r1, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - e0c: fa5f f288 uxtb.w r2, r8 - e10: 4928 ldr r1, [pc, #160] ; (eb4 ) - e12: 4829 ldr r0, [pc, #164] ; (eb8 ) - e14: 4b29 ldr r3, [pc, #164] ; (ebc ) - e16: 4798 blx r3 - e18: 4b24 ldr r3, [pc, #144] ; (eac ) - e1a: 2240 movs r2, #64 ; 0x40 - e1c: 619a str r2, [r3, #24] + e98: 492b ldr r1, [pc, #172] ; (f48 ) + e9a: 482c ldr r0, [pc, #176] ; (f4c ) + e9c: 4b2c ldr r3, [pc, #176] ; (f50 ) + e9e: 4798 blx r3 + ea0: 4b27 ldr r3, [pc, #156] ; (f40 ) + ea2: 2240 movs r2, #64 ; 0x40 + ea4: 619a str r2, [r3, #24] ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - e1e: 615a str r2, [r3, #20] + ea6: 615a str r2, [r3, #20] if(cmd_mode == false) { - e20: 4b23 ldr r3, [pc, #140] ; (eb0 ) - e22: 781b ldrb r3, [r3, #0] - e24: b923 cbnz r3, e30 - e26: 4b21 ldr r3, [pc, #132] ; (eac ) - e28: 615a str r2, [r3, #20] + ea8: 4b26 ldr r3, [pc, #152] ; (f44 ) + eaa: 781b ldrb r3, [r3, #0] + eac: b92b cbnz r3, eba + eae: 2220 movs r2, #32 + eb0: 4b23 ldr r3, [pc, #140] ; (f40 ) + eb2: 615a str r2, [r3, #20] cmd_mode = true; - e2a: 2201 movs r2, #1 - e2c: 4b20 ldr r3, [pc, #128] ; (eb0 ) - e2e: 701a strb r2, [r3, #0] + eb4: 2201 movs r2, #1 + eb6: 4b23 ldr r3, [pc, #140] ; (f44 ) + eb8: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(cmd); - e30: 222c movs r2, #44 ; 0x2c - e32: 4920 ldr r1, [pc, #128] ; (eb4 ) - e34: 4820 ldr r0, [pc, #128] ; (eb8 ) - e36: 4b21 ldr r3, [pc, #132] ; (ebc ) - e38: 4798 blx r3 + eba: 222c movs r2, #44 ; 0x2c + ebc: 4922 ldr r1, [pc, #136] ; (f48 ) + ebe: 4823 ldr r0, [pc, #140] ; (f4c ) + ec0: 4b23 ldr r3, [pc, #140] ; (f50 ) + ec2: 4798 blx r3 ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - e3a: 2240 movs r2, #64 ; 0x40 - e3c: 4b1b ldr r3, [pc, #108] ; (eac ) - e3e: 619a str r2, [r3, #24] + ec4: 2240 movs r2, #64 ; 0x40 + ec6: 4b1e ldr r3, [pc, #120] ; (f40 ) + ec8: 619a str r2, [r3, #24] uint16_t full_w = area->x2 - area->x1 + 1; - e40: f8ba 3004 ldrh.w r3, [sl, #4] - e44: 3301 adds r3, #1 - e46: f8ba 2000 ldrh.w r2, [sl] - e4a: 1a9b subs r3, r3, r2 - e4c: b29b uxth r3, r3 + eca: f8ba 3004 ldrh.w r3, [sl, #4] + ece: 3301 adds r3, #1 + ed0: f8ba 2000 ldrh.w r2, [sl] + ed4: 1a9b subs r3, r3, r2 + ed6: b29b uxth r3, r3 if(cmd_mode != false) { - e4e: 4a18 ldr r2, [pc, #96] ; (eb0 ) - e50: 7812 ldrb r2, [r2, #0] - e52: b12a cbz r2, e60 - e54: 2140 movs r1, #64 ; 0x40 - e56: 4a15 ldr r2, [pc, #84] ; (eac ) - e58: 6191 str r1, [r2, #24] + ed8: 4a1a ldr r2, [pc, #104] ; (f44 ) + eda: 7812 ldrb r2, [r2, #0] + edc: b12a cbz r2, eea + ede: 2120 movs r1, #32 + ee0: 4a17 ldr r2, [pc, #92] ; (f40 ) + ee2: 6191 str r1, [r2, #24] cmd_mode = false; - e5a: 2100 movs r1, #0 - e5c: 4a14 ldr r2, [pc, #80] ; (eb0 ) - e5e: 7011 strb r1, [r2, #0] + ee4: 2100 movs r1, #0 + ee6: 4a17 ldr r2, [pc, #92] ; (f44 ) + ee8: 7011 strb r1, [r2, #0] ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - e60: 2140 movs r1, #64 ; 0x40 - e62: 4a12 ldr r2, [pc, #72] ; (eac ) - e64: 6151 str r1, [r2, #20] + eea: 2140 movs r1, #64 ; 0x40 + eec: 4a14 ldr r2, [pc, #80] ; (f40 ) + eee: 6151 str r1, [r2, #20] uint16_t act_w = act_x2 - act_x1 + 1; - e66: f1c6 0601 rsb r6, r6, #1 - e6a: 443e add r6, r7 - e6c: b2b6 uxth r6, r6 + ef0: f1c6 0601 rsb r6, r6, #1 + ef4: 443e add r6, r7 + ef6: b2b6 uxth r6, r6 for(i = act_y1; i <= act_y2; i++) { - e6e: 45d8 cmp r8, fp - e70: db0e blt.n e90 + ef8: 45d8 cmp r8, fp + efa: db0e blt.n f1a color_p += full_w; - e72: 005f lsls r7, r3, #1 + efc: 005f lsls r7, r3, #1 LV_DRV_DISP_PAR_WR_ARRAY((uint16_t *)color_p, act_w); - e74: f8df b03c ldr.w fp, [pc, #60] ; eb4 - e78: f8df a048 ldr.w sl, [pc, #72] ; ec4 - e7c: 4633 mov r3, r6 - e7e: 462a mov r2, r5 - e80: 4659 mov r1, fp - e82: 480d ldr r0, [pc, #52] ; (eb8 ) - e84: 47d0 blx sl + efe: f8df b048 ldr.w fp, [pc, #72] ; f48 + f02: f8df a054 ldr.w sl, [pc, #84] ; f58 + f06: 4633 mov r3, r6 + f08: 462a mov r2, r5 + f0a: 4659 mov r1, fp + f0c: 480f ldr r0, [pc, #60] ; (f4c ) + f0e: 47d0 blx sl color_p += full_w; - e86: 443d add r5, r7 - e88: 3401 adds r4, #1 - e8a: b224 sxth r4, r4 + f10: 443d add r5, r7 + f12: 3401 adds r4, #1 + f14: b224 sxth r4, r4 for(i = act_y1; i <= act_y2; i++) { - e8c: 45a0 cmp r8, r4 - e8e: daf5 bge.n e7c + f16: 45a0 cmp r8, r4 + f18: daf5 bge.n f06 ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - e90: 2240 movs r2, #64 ; 0x40 - e92: 4b06 ldr r3, [pc, #24] ; (eac ) - e94: 619a str r2, [r3, #24] + f1a: 2240 movs r2, #64 ; 0x40 + f1c: 4b08 ldr r3, [pc, #32] ; (f40 ) + f1e: 619a str r2, [r3, #24] lv_disp_flush_ready(disp_drv); - e96: 4648 mov r0, r9 - e98: 4b09 ldr r3, [pc, #36] ; (ec0 ) - e9a: 4798 blx r3 - e9c: e6e0 b.n c60 - e9e: bf00 nop - ea0: 00011489 .word 0x00011489 - ea4: 00011495 .word 0x00011495 - ea8: 000114bd .word 0x000114bd - eac: 41008000 .word 0x41008000 - eb0: 20000000 .word 0x20000000 - eb4: 1c03c3f7 .word 0x1c03c3f7 - eb8: 41008080 .word 0x41008080 - ebc: 00000fbd .word 0x00000fbd - ec0: 00011555 .word 0x00011555 - ec4: 00000fe9 .word 0x00000fe9 + f20: 4648 mov r0, r9 + f22: 4b0c ldr r3, [pc, #48] ; (f54 ) + f24: 4798 blx r3 + f26: e6d3 b.n cd0 int32_t act_x2 = area->x2 > SSD1963_HOR_RES - 1 ? SSD1963_HOR_RES - 1 : area->x2; - ec8: 4b06 ldr r3, [pc, #24] ; (ee4 ) - eca: 4798 blx r3 - ecc: 4b06 ldr r3, [pc, #24] ; (ee8 ) - ece: 4798 blx r3 - ed0: 1e47 subs r7, r0, #1 - ed2: e6e5 b.n ca0 + f28: 4b02 ldr r3, [pc, #8] ; (f34 ) + f2a: 4798 blx r3 + f2c: 4b03 ldr r3, [pc, #12] ; (f3c ) + f2e: 4798 blx r3 + f30: 1e47 subs r7, r0, #1 + f32: e6f1 b.n d18 + f34: 00010ee1 .word 0x00010ee1 + f38: 00010f15 .word 0x00010f15 + f3c: 00010eed .word 0x00010eed + f40: 41008000 .word 0x41008000 + f44: 20000000 .word 0x20000000 + f48: 1c03c3f7 .word 0x1c03c3f7 + f4c: 41008080 .word 0x41008080 + f50: 00001041 .word 0x00001041 + f54: 00010fad .word 0x00010fad + f58: 00001079 .word 0x00001079 int32_t act_y2 = area->y2 > SSD1963_VER_RES - 1 ? SSD1963_VER_RES - 1 : area->y2; - ed4: 4b03 ldr r3, [pc, #12] ; (ee4 ) - ed6: 4798 blx r3 - ed8: 4b04 ldr r3, [pc, #16] ; (eec ) - eda: 4798 blx r3 - edc: f100 38ff add.w r8, r0, #4294967295 - ee0: e6ea b.n cb8 - ee2: bf00 nop - ee4: 00011489 .word 0x00011489 - ee8: 00011495 .word 0x00011495 - eec: 000114bd .word 0x000114bd - -00000ef0 : + f5c: 4b03 ldr r3, [pc, #12] ; (f6c ) + f5e: 4798 blx r3 + f60: 4b03 ldr r3, [pc, #12] ; (f70 ) + f62: 4798 blx r3 + f64: f100 38ff add.w r8, r0, #4294967295 + f68: e6e2 b.n d30 + f6a: bf00 nop + f6c: 00010ee1 .word 0x00010ee1 + f70: 00010f15 .word 0x00010f15 + +00000f74 : /** * \brief Default interrupt handler for unused IRQs. */ void Dummy_Handler(void) { - ef0: e7fe b.n ef0 + f74: e7fe b.n f74 ... -00000ef4 : +00000f78 : { - ef4: b508 push {r3, lr} + f78: b508 push {r3, lr} if (pSrc != pDest) { - ef6: 4b1c ldr r3, [pc, #112] ; (f68 ) - ef8: 4a1c ldr r2, [pc, #112] ; (f6c ) - efa: 429a cmp r2, r3 - efc: d010 beq.n f20 + f7a: 4b1c ldr r3, [pc, #112] ; (fec ) + f7c: 4a1c ldr r2, [pc, #112] ; (ff0 ) + f7e: 429a cmp r2, r3 + f80: d010 beq.n fa4 for (; pDest < &_erelocate;) { - efe: 4b1c ldr r3, [pc, #112] ; (f70 ) - f00: 4a19 ldr r2, [pc, #100] ; (f68 ) - f02: 429a cmp r2, r3 - f04: d20c bcs.n f20 - f06: 3b01 subs r3, #1 - f08: 1a9b subs r3, r3, r2 - f0a: f023 0303 bic.w r3, r3, #3 - f0e: 3304 adds r3, #4 - f10: 4413 add r3, r2 - f12: 4916 ldr r1, [pc, #88] ; (f6c ) + f82: 4b1c ldr r3, [pc, #112] ; (ff4 ) + f84: 4a19 ldr r2, [pc, #100] ; (fec ) + f86: 429a cmp r2, r3 + f88: d20c bcs.n fa4 + f8a: 3b01 subs r3, #1 + f8c: 1a9b subs r3, r3, r2 + f8e: f023 0303 bic.w r3, r3, #3 + f92: 3304 adds r3, #4 + f94: 4413 add r3, r2 + f96: 4916 ldr r1, [pc, #88] ; (ff0 ) *pDest++ = *pSrc++; - f14: f851 0b04 ldr.w r0, [r1], #4 - f18: f842 0b04 str.w r0, [r2], #4 + f98: f851 0b04 ldr.w r0, [r1], #4 + f9c: f842 0b04 str.w r0, [r2], #4 for (; pDest < &_erelocate;) { - f1c: 429a cmp r2, r3 - f1e: d1f9 bne.n f14 + fa0: 429a cmp r2, r3 + fa2: d1f9 bne.n f98 for (pDest = &_szero; pDest < &_ezero;) { - f20: 4b14 ldr r3, [pc, #80] ; (f74 ) - f22: 4a15 ldr r2, [pc, #84] ; (f78 ) - f24: 429a cmp r2, r3 - f26: d20a bcs.n f3e - f28: 3b01 subs r3, #1 - f2a: 1a9b subs r3, r3, r2 - f2c: f023 0303 bic.w r3, r3, #3 - f30: 3304 adds r3, #4 - f32: 4413 add r3, r2 + fa4: 4b14 ldr r3, [pc, #80] ; (ff8 ) + fa6: 4a15 ldr r2, [pc, #84] ; (ffc ) + fa8: 429a cmp r2, r3 + faa: d20a bcs.n fc2 + fac: 3b01 subs r3, #1 + fae: 1a9b subs r3, r3, r2 + fb0: f023 0303 bic.w r3, r3, #3 + fb4: 3304 adds r3, #4 + fb6: 4413 add r3, r2 *pDest++ = 0; - f34: 2100 movs r1, #0 - f36: f842 1b04 str.w r1, [r2], #4 + fb8: 2100 movs r1, #0 + fba: f842 1b04 str.w r1, [r2], #4 for (pDest = &_szero; pDest < &_ezero;) { - f3a: 4293 cmp r3, r2 - f3c: d1fb bne.n f36 + fbe: 4293 cmp r3, r2 + fc0: d1fb bne.n fba SCB->VTOR = ((uint32_t) pSrc & SCB_VTOR_TBLOFF_Msk); - f3e: 4b0f ldr r3, [pc, #60] ; (f7c ) - f40: 4a0f ldr r2, [pc, #60] ; (f80 ) - f42: f022 027f bic.w r2, r2, #127 ; 0x7f - f46: 609a str r2, [r3, #8] + fc2: 4b0f ldr r3, [pc, #60] ; (1000 ) + fc4: 4a0f ldr r2, [pc, #60] ; (1004 ) + fc6: f022 027f bic.w r2, r2, #127 ; 0x7f + fca: 609a str r2, [r3, #8] SCB->CPACR |= (0xFu << 20); - f48: f8d3 2088 ldr.w r2, [r3, #136] ; 0x88 - f4c: f442 0270 orr.w r2, r2, #15728640 ; 0xf00000 - f50: f8c3 2088 str.w r2, [r3, #136] ; 0x88 + fcc: f8d3 2088 ldr.w r2, [r3, #136] ; 0x88 + fd0: f442 0270 orr.w r2, r2, #15728640 ; 0xf00000 + fd4: f8c3 2088 str.w r2, [r3, #136] ; 0x88 \details Acts as a special kind of Data Memory Barrier. It completes when all explicit memory accesses before this instruction complete. */ __STATIC_FORCEINLINE void __DSB(void) { __ASM volatile ("dsb 0xF":::"memory"); - f54: f3bf 8f4f dsb sy + fd8: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); - f58: f3bf 8f6f isb sy + fdc: f3bf 8f6f isb sy __libc_init_array(); - f5c: 4b09 ldr r3, [pc, #36] ; (f84 ) - f5e: 4798 blx r3 + fe0: 4b09 ldr r3, [pc, #36] ; (1008 ) + fe2: 4798 blx r3 main(); - f60: 4b09 ldr r3, [pc, #36] ; (f88 ) - f62: 4798 blx r3 - f64: e7fe b.n f64 - f66: bf00 nop - f68: 20000000 .word 0x20000000 - f6c: 00020d3c .word 0x00020d3c - f70: 20000074 .word 0x20000074 - f74: 20006e20 .word 0x20006e20 - f78: 20000078 .word 0x20000078 - f7c: e000ed00 .word 0xe000ed00 - f80: 00000000 .word 0x00000000 - f84: 0001aec5 .word 0x0001aec5 - f88: 000028b5 .word 0x000028b5 - -00000f8c : - p_gpio_parallel_write(group, mask, data); + fe4: 4b09 ldr r3, [pc, #36] ; (100c ) + fe6: 4798 blx r3 + fe8: e7fe b.n fe8 + fea: bf00 nop + fec: 20000000 .word 0x20000000 + ff0: 00029a3c .word 0x00029a3c + ff4: 20000074 .word 0x20000074 + ff8: 20006e04 .word 0x20006e04 + ffc: 20000078 .word 0x20000078 + 1000: e000ed00 .word 0xe000ed00 + 1004: 00000000 .word 0x00000000 + 1008: 0001b495 .word 0x0001b495 + 100c: 000021b1 .word 0x000021b1 + +00001010 : + p_gpio_parallel_write(group, mask, data[ind]); } } void p_gpio_set_port_data(PortGroup* const port, const uint32_t mask, const uint32_t data) { - f8c: b410 push {r4} + 1010: b410 push {r4} uint32_t dword = (uint32_t)(SSD1963_TFT_DATA_FIX(data)); - f8e: 0053 lsls r3, r2, #1 - f90: f403 737c and.w r3, r3, #1008 ; 0x3f0 - f94: 0154 lsls r4, r2, #5 - f96: f404 3470 and.w r4, r4, #245760 ; 0x3c000 - f9a: 4323 orrs r3, r4 - f9c: f002 0407 and.w r4, r2, #7 - fa0: 4323 orrs r3, r4 - fa2: 0352 lsls r2, r2, #13 - fa4: f002 52e0 and.w r2, r2, #469762048 ; 0x1c000000 - fa8: 431a orrs r2, r3 + 1012: 0053 lsls r3, r2, #1 + 1014: f403 737c and.w r3, r3, #1008 ; 0x3f0 + 1018: 0154 lsls r4, r2, #5 + 101a: f404 3470 and.w r4, r4, #245760 ; 0x3c000 + 101e: 4323 orrs r3, r4 + 1020: f002 0407 and.w r4, r2, #7 + 1024: 4323 orrs r3, r4 + 1026: 0352 lsls r2, r2, #13 + 1028: f002 52e0 and.w r2, r2, #469762048 ; 0x1c000000 + 102c: 431a orrs r2, r3 port->OUTSET.reg = (mask & dword); - faa: ea02 0301 and.w r3, r2, r1 - fae: 6183 str r3, [r0, #24] + 102e: ea02 0301 and.w r3, r2, r1 + 1032: 6183 str r3, [r0, #24] port->OUTCLR.reg = (mask & ~dword); - fb0: ea21 0102 bic.w r1, r1, r2 - fb4: 6141 str r1, [r0, #20] + 1034: ea21 0102 bic.w r1, r1, r2 + 1038: 6141 str r1, [r0, #20] } - fb6: f85d 4b04 ldr.w r4, [sp], #4 - fba: 4770 bx lr + 103a: f85d 4b04 ldr.w r4, [sp], #4 + 103e: 4770 bx lr -00000fbc : +00001040 : { - fbc: b5f8 push {r3, r4, r5, r6, r7, lr} + 1040: b510 push {r4, lr} ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - fbe: 4c07 ldr r4, [pc, #28] ; (fdc ) - fc0: 2540 movs r5, #64 ; 0x40 - fc2: 6165 str r5, [r4, #20] - p_gpio_set_port_data(group, mask, data); - fc4: 4b06 ldr r3, [pc, #24] ; (fe0 ) - fc6: 4798 blx r3 - fc8: 2780 movs r7, #128 ; 0x80 - fca: 6167 str r7, [r4, #20] - delay_us(1); - fcc: 2001 movs r0, #1 - fce: 4e05 ldr r6, [pc, #20] ; (fe4 ) - fd0: 47b0 blx r6 + 1042: 2440 movs r4, #64 ; 0x40 + 1044: 4b0a ldr r3, [pc, #40] ; (1070 ) + 1046: 615c str r4, [r3, #20] + p_gpio_set_port_data(group, mask, (uint32_t)data); + 1048: 4b0a ldr r3, [pc, #40] ; (1074 ) + 104a: 4798 blx r3 + 104c: 2308 movs r3, #8 + asm volatile("nop"); + 104e: bf00 nop + for(int x = 0; x < 8; x++) + 1050: 3b01 subs r3, #1 + 1052: d1fc bne.n 104e + 1054: 2280 movs r2, #128 ; 0x80 + 1056: 4b06 ldr r3, [pc, #24] ; (1070 ) + 1058: 615a str r2, [r3, #20] + 105a: 2308 movs r3, #8 + asm volatile("nop"); + 105c: bf00 nop + for(int x = 0; x < 8; x++) + 105e: 3b01 subs r3, #1 + 1060: d1fc bne.n 105c ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - fd2: 61a7 str r7, [r4, #24] - delay_us(1); - fd4: 2001 movs r0, #1 - fd6: 47b0 blx r6 - fd8: 61a5 str r5, [r4, #24] - fda: bdf8 pop {r3, r4, r5, r6, r7, pc} - fdc: 41008000 .word 0x41008000 - fe0: 00000f8d .word 0x00000f8d - fe4: 00001515 .word 0x00001515 - -00000fe8 : - for(int ind = 0; ind < len; ind++) - fe8: b18b cbz r3, 100e -{ - fea: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} - fee: 461d mov r5, r3 - ff0: 4690 mov r8, r2 - ff2: 460f mov r7, r1 - ff4: 4606 mov r6, r0 + 1062: 4b03 ldr r3, [pc, #12] ; (1070 ) + 1064: 2280 movs r2, #128 ; 0x80 + 1066: 619a str r2, [r3, #24] + 1068: 2240 movs r2, #64 ; 0x40 + 106a: 619a str r2, [r3, #24] + 106c: bd10 pop {r4, pc} + 106e: bf00 nop + 1070: 41008000 .word 0x41008000 + 1074: 00001011 .word 0x00001011 + +00001078 : for(int ind = 0; ind < len; ind++) - ff6: 2400 movs r4, #0 - p_gpio_parallel_write(group, mask, data); - ff8: f8df 9014 ldr.w r9, [pc, #20] ; 1010 - ffc: 4642 mov r2, r8 - ffe: 4639 mov r1, r7 - 1000: 4630 mov r0, r6 - 1002: 47c8 blx r9 + 1078: b18b cbz r3, 109e +{ + 107a: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} + 107e: 460f mov r7, r1 + 1080: 4606 mov r6, r0 + 1082: 4614 mov r4, r2 + 1084: eb02 0543 add.w r5, r2, r3, lsl #1 + p_gpio_parallel_write(group, mask, data[ind]); + 1088: f8df 8014 ldr.w r8, [pc, #20] ; 10a0 + 108c: f834 2b02 ldrh.w r2, [r4], #2 + 1090: 4639 mov r1, r7 + 1092: 4630 mov r0, r6 + 1094: 47c0 blx r8 for(int ind = 0; ind < len; ind++) - 1004: 3401 adds r4, #1 - 1006: 42ac cmp r4, r5 - 1008: d1f8 bne.n ffc - 100a: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} - 100e: 4770 bx lr - 1010: 00000fbd .word 0x00000fbd + 1096: 42ac cmp r4, r5 + 1098: d1f8 bne.n 108c + 109a: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + 109e: 4770 bx lr + 10a0: 00001041 .word 0x00001041 -00001014 : +000010a4 : void p_gpio_set_port_group_config(enum gpio_port port, const uint32_t mask, p_port_config* config) { - 1014: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 1018: b083 sub sp, #12 - 101a: 468b mov fp, r1 - 101c: 9200 str r2, [sp, #0] + 10a4: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 10a8: b083 sub sp, #12 + 10aa: 468b mov fp, r1 + 10ac: 9200 str r2, [sp, #0] for(uint8_t i = 0; i < 32; i++) { if(mask & (1UL << i)) { uint32_t _gpio_pin = GPIO(port, i); - 101e: 0140 lsls r0, r0, #5 - 1020: b2c3 uxtb r3, r0 - 1022: 9301 str r3, [sp, #4] - 1024: 2600 movs r6, #0 + 10ae: 0140 lsls r0, r0, #5 + 10b0: b2c3 uxtb r3, r0 + 10b2: 9301 str r3, [sp, #4] + 10b4: 2600 movs r6, #0 ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 1026: f8df 9194 ldr.w r9, [pc, #404] ; 11bc - 102a: e065 b.n 10f8 + 10b6: f8df 9194 ldr.w r9, [pc, #404] ; 124c + 10ba: e065 b.n 1188 ((Port *)hw)->Group[submodule_index].DIRCLR.reg = mask; - 102c: eb09 13c7 add.w r3, r9, r7, lsl #7 - 1030: 605d str r5, [r3, #4] + 10bc: eb09 13c7 add.w r3, r9, r7, lsl #7 + 10c0: 605d str r5, [r3, #4] const enum gpio_direction direction) { switch (direction) { case GPIO_DIRECTION_OFF: hri_port_clear_DIR_reg(PORT, port, mask); hri_port_write_WRCONFIG_reg(PORT, port, PORT_WRCONFIG_WRPINCFG | (mask & 0xffff)); - 1032: b2aa uxth r2, r5 - 1034: f042 4280 orr.w r2, r2, #1073741824 ; 0x40000000 + 10c2: b2aa uxth r2, r5 + 10c4: f042 4280 orr.w r2, r2, #1073741824 ; 0x40000000 static inline void hri_port_write_WRCONFIG_reg(const void *const hw, uint8_t submodule_index, hri_port_wrconfig_reg_t data) { PORT_CRITICAL_SECTION_ENTER(); ((Port *)hw)->Group[submodule_index].WRCONFIG.reg = data; - 1038: 629a str r2, [r3, #40] ; 0x28 + 10c8: 629a str r2, [r3, #40] ; 0x28 hri_port_write_WRCONFIG_reg( PORT, port, PORT_WRCONFIG_HWSEL | PORT_WRCONFIG_WRPINCFG | ((mask & 0xffff0000) >> 16)); - 103a: 0c2a lsrs r2, r5, #16 + 10ca: 0c2a lsrs r2, r5, #16 hri_port_write_WRCONFIG_reg( - 103c: f042 4240 orr.w r2, r2, #3221225472 ; 0xc0000000 - 1040: 629a str r2, [r3, #40] ; 0x28 + 10cc: f042 4240 orr.w r2, r2, #3221225472 ; 0xc0000000 + 10d0: 629a str r2, [r3, #40] ; 0x28 * \brief Set pin pull mode */ static inline void _gpio_set_pin_pull_mode(const enum gpio_port port, const uint8_t pin, const enum gpio_pull_mode pull_mode) { switch (pull_mode) { - 1042: 9b00 ldr r3, [sp, #0] - 1044: 781b ldrb r3, [r3, #0] - 1046: 2b01 cmp r3, #1 - 1048: d077 beq.n 113a - 104a: b323 cbz r3, 1096 - 104c: 2b02 cmp r3, #2 - 104e: f000 8084 beq.w 115a + 10d2: 9b00 ldr r3, [sp, #0] + 10d4: 781b ldrb r3, [r3, #0] + 10d6: 2b01 cmp r3, #1 + 10d8: d077 beq.n 11ca + 10da: b323 cbz r3, 1126 + 10dc: 2b02 cmp r3, #2 + 10de: f000 8084 beq.w 11ea hri_port_set_PINCFG_PULLEN_bit(PORT, port, pin); hri_port_clear_OUT_reg(PORT, port, 1U << pin); break; default: ASSERT(false); - 1052: 2289 movs r2, #137 ; 0x89 - 1054: 4957 ldr r1, [pc, #348] ; (11b4 ) - 1056: 2000 movs r0, #0 - 1058: 4b57 ldr r3, [pc, #348] ; (11b8 ) - 105a: 4798 blx r3 - 105c: e024 b.n 10a8 + 10e2: 2289 movs r2, #137 ; 0x89 + 10e4: 4957 ldr r1, [pc, #348] ; (1244 ) + 10e6: 2000 movs r0, #0 + 10e8: 4b57 ldr r3, [pc, #348] ; (1248 ) + 10ea: 4798 blx r3 + 10ec: e024 b.n 1138 ((Port *)hw)->Group[submodule_index].DIRCLR.reg = mask; - 105e: eb09 12c7 add.w r2, r9, r7, lsl #7 - 1062: 6055 str r5, [r2, #4] + 10ee: eb09 12c7 add.w r2, r9, r7, lsl #7 + 10f2: 6055 str r5, [r2, #4] hri_port_write_WRCONFIG_reg(PORT, port, PORT_WRCONFIG_WRPINCFG | PORT_WRCONFIG_INEN | (mask & 0xffff)); - 1064: b2ab uxth r3, r5 - 1066: f043 4380 orr.w r3, r3, #1073741824 ; 0x40000000 - 106a: f443 3300 orr.w r3, r3, #131072 ; 0x20000 + 10f4: b2ab uxth r3, r5 + 10f6: f043 4380 orr.w r3, r3, #1073741824 ; 0x40000000 + 10fa: f443 3300 orr.w r3, r3, #131072 ; 0x20000 ((Port *)hw)->Group[submodule_index].WRCONFIG.reg = data; - 106e: 6293 str r3, [r2, #40] ; 0x28 + 10fe: 6293 str r3, [r2, #40] ; 0x28 | ((mask & 0xffff0000) >> 16)); - 1070: 0c2b lsrs r3, r5, #16 + 1100: 0c2b lsrs r3, r5, #16 hri_port_write_WRCONFIG_reg(PORT, - 1072: f043 4340 orr.w r3, r3, #3221225472 ; 0xc0000000 - 1076: f443 3300 orr.w r3, r3, #131072 ; 0x20000 - 107a: 6293 str r3, [r2, #40] ; 0x28 - 107c: e7e1 b.n 1042 + 1102: f043 4340 orr.w r3, r3, #3221225472 ; 0xc0000000 + 1106: f443 3300 orr.w r3, r3, #131072 ; 0x20000 + 110a: 6293 str r3, [r2, #40] ; 0x28 + 110c: e7e1 b.n 10d2 ((Port *)hw)->Group[submodule_index].DIRSET.reg = mask; - 107e: eb09 13c7 add.w r3, r9, r7, lsl #7 - 1082: 609d str r5, [r3, #8] + 110e: eb09 13c7 add.w r3, r9, r7, lsl #7 + 1112: 609d str r5, [r3, #8] hri_port_write_WRCONFIG_reg(PORT, port, PORT_WRCONFIG_WRPINCFG | (mask & 0xffff)); - 1084: b2aa uxth r2, r5 - 1086: f042 4280 orr.w r2, r2, #1073741824 ; 0x40000000 + 1114: b2aa uxth r2, r5 + 1116: f042 4280 orr.w r2, r2, #1073741824 ; 0x40000000 ((Port *)hw)->Group[submodule_index].WRCONFIG.reg = data; - 108a: 629a str r2, [r3, #40] ; 0x28 + 111a: 629a str r2, [r3, #40] ; 0x28 PORT, port, PORT_WRCONFIG_HWSEL | PORT_WRCONFIG_WRPINCFG | ((mask & 0xffff0000) >> 16)); - 108c: 0c2a lsrs r2, r5, #16 + 111c: 0c2a lsrs r2, r5, #16 hri_port_write_WRCONFIG_reg( - 108e: f042 4240 orr.w r2, r2, #3221225472 ; 0xc0000000 - 1092: 629a str r2, [r3, #40] ; 0x28 - 1094: e7d5 b.n 1042 + 111e: f042 4240 orr.w r2, r2, #3221225472 ; 0xc0000000 + 1122: 629a str r2, [r3, #40] ; 0x28 + 1124: e7d5 b.n 10d2 ((Port *)hw)->Group[submodule_index].PINCFG[index].reg &= ~PORT_PINCFG_PULLEN; - 1096: eb09 13c7 add.w r3, r9, r7, lsl #7 - 109a: 4443 add r3, r8 - 109c: f893 2040 ldrb.w r2, [r3, #64] ; 0x40 - 10a0: f002 02fb and.w r2, r2, #251 ; 0xfb - 10a4: f883 2040 strb.w r2, [r3, #64] ; 0x40 + 1126: eb09 13c7 add.w r3, r9, r7, lsl #7 + 112a: 4443 add r3, r8 + 112c: f893 2040 ldrb.w r2, [r3, #64] ; 0x40 + 1130: f002 02fb and.w r2, r2, #251 ; 0xfb + 1134: f883 2040 strb.w r2, [r3, #64] ; 0x40 gpio_set_pin_direction(_gpio_pin, config->direction); gpio_set_pin_pull_mode(_gpio_pin, config->pull_mode); gpio_set_pin_function(_gpio_pin, config->function); - 10a8: 9b00 ldr r3, [sp, #0] - 10aa: 685a ldr r2, [r3, #4] + 1138: 9b00 ldr r3, [sp, #0] + 113a: 685a ldr r2, [r3, #4] /** * \brief Set gpio pin function */ static inline void _gpio_set_pin_function(const uint32_t gpio, const uint32_t function) { uint8_t port = GPIO_PORT(gpio); - 10ac: 0964 lsrs r4, r4, #5 + 113c: 0964 lsrs r4, r4, #5 uint8_t pin = GPIO_PIN(gpio); if (function == GPIO_PIN_FUNCTION_OFF) { - 10ae: f1b2 3fff cmp.w r2, #4294967295 - 10b2: d062 beq.n 117a + 113e: f1b2 3fff cmp.w r2, #4294967295 + 1142: d062 beq.n 120a tmp = ((Port *)hw)->Group[submodule_index].PINCFG[index].reg; - 10b4: b2e4 uxtb r4, r4 - 10b6: eb09 11c4 add.w r1, r9, r4, lsl #7 - 10ba: 4441 add r1, r8 - 10bc: f891 3040 ldrb.w r3, [r1, #64] ; 0x40 + 1144: b2e4 uxtb r4, r4 + 1146: eb09 11c4 add.w r1, r9, r4, lsl #7 + 114a: 4441 add r1, r8 + 114c: f891 3040 ldrb.w r3, [r1, #64] ; 0x40 tmp &= ~PORT_PINCFG_PMUXEN; - 10c0: f003 03fe and.w r3, r3, #254 ; 0xfe + 1150: f003 03fe and.w r3, r3, #254 ; 0xfe tmp |= value << PORT_PINCFG_PMUXEN_Pos; - 10c4: f043 0301 orr.w r3, r3, #1 + 1154: f043 0301 orr.w r3, r3, #1 ((Port *)hw)->Group[submodule_index].PINCFG[index].reg = tmp; - 10c8: f881 3040 strb.w r3, [r1, #64] ; 0x40 + 1158: f881 3040 strb.w r3, [r1, #64] ; 0x40 hri_port_write_PINCFG_PMUXEN_bit(PORT, port, pin, false); } else { hri_port_write_PINCFG_PMUXEN_bit(PORT, port, pin, true); if (pin & 1) { - 10cc: f01a 0f01 tst.w sl, #1 - 10d0: d15e bne.n 1190 + 115c: f01a 0f01 tst.w sl, #1 + 1160: d15e bne.n 1220 tmp = ((Port *)hw)->Group[submodule_index].PMUX[index].reg; - 10d2: eb09 14c4 add.w r4, r9, r4, lsl #7 - 10d6: eb04 0858 add.w r8, r4, r8, lsr #1 - 10da: f898 3030 ldrb.w r3, [r8, #48] ; 0x30 + 1162: eb09 14c4 add.w r4, r9, r4, lsl #7 + 1166: eb04 0858 add.w r8, r4, r8, lsr #1 + 116a: f898 3030 ldrb.w r3, [r8, #48] ; 0x30 tmp &= ~PORT_PMUX_PMUXE_Msk; - 10de: f003 03f0 and.w r3, r3, #240 ; 0xf0 + 116e: f003 03f0 and.w r3, r3, #240 ; 0xf0 tmp |= PORT_PMUX_PMUXE(data); - 10e2: f002 020f and.w r2, r2, #15 - 10e6: 431a orrs r2, r3 + 1172: f002 020f and.w r2, r2, #15 + 1176: 431a orrs r2, r3 ((Port *)hw)->Group[submodule_index].PMUX[index].reg = tmp; - 10e8: f888 2030 strb.w r2, [r8, #48] ; 0x30 + 1178: f888 2030 strb.w r2, [r8, #48] ; 0x30 ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 10ec: eb09 17c7 add.w r7, r9, r7, lsl #7 - 10f0: 617d str r5, [r7, #20] - 10f2: 3601 adds r6, #1 + 117c: eb09 17c7 add.w r7, r9, r7, lsl #7 + 1180: 617d str r5, [r7, #20] + 1182: 3601 adds r6, #1 for(uint8_t i = 0; i < 32; i++) - 10f4: 2e20 cmp r6, #32 - 10f6: d059 beq.n 11ac - 10f8: b2f4 uxtb r4, r6 + 1184: 2e20 cmp r6, #32 + 1186: d059 beq.n 123c + 1188: b2f4 uxtb r4, r6 if(mask & (1UL << i)) - 10fa: fa2b f306 lsr.w r3, fp, r6 - 10fe: f013 0f01 tst.w r3, #1 - 1102: d0f6 beq.n 10f2 + 118a: fa2b f306 lsr.w r3, fp, r6 + 118e: f013 0f01 tst.w r3, #1 + 1192: d0f6 beq.n 1182 uint32_t _gpio_pin = GPIO(port, i); - 1104: f004 041f and.w r4, r4, #31 - 1108: 9b01 ldr r3, [sp, #4] - 110a: 441c add r4, r3 + 1194: f004 041f and.w r4, r4, #31 + 1198: 9b01 ldr r3, [sp, #4] + 119a: 441c add r4, r3 gpio_set_pin_direction(_gpio_pin, config->direction); - 110c: fa5f fa84 uxtb.w sl, r4 + 119c: fa5f fa84 uxtb.w sl, r4 * GPIO_DIRECTION_OFF = Disables the pin * (low power state) */ static inline void gpio_set_pin_direction(const uint8_t pin, const enum gpio_direction direction) { _gpio_set_direction((enum gpio_port)GPIO_PORT(pin), 1U << GPIO_PIN(pin), direction); - 1110: ea4f 175a mov.w r7, sl, lsr #5 - 1114: f00a 081f and.w r8, sl, #31 - 1118: 2501 movs r5, #1 - 111a: fa05 f508 lsl.w r5, r5, r8 + 11a0: ea4f 175a mov.w r7, sl, lsr #5 + 11a4: f00a 081f and.w r8, sl, #31 + 11a8: 2501 movs r5, #1 + 11aa: fa05 f508 lsl.w r5, r5, r8 switch (direction) { - 111e: 9b00 ldr r3, [sp, #0] - 1120: 785b ldrb r3, [r3, #1] - 1122: 2b01 cmp r3, #1 - 1124: d09b beq.n 105e - 1126: 2b00 cmp r3, #0 - 1128: d080 beq.n 102c - 112a: 2b02 cmp r3, #2 - 112c: d0a7 beq.n 107e + 11ae: 9b00 ldr r3, [sp, #0] + 11b0: 785b ldrb r3, [r3, #1] + 11b2: 2b01 cmp r3, #1 + 11b4: d09b beq.n 10ee + 11b6: 2b00 cmp r3, #0 + 11b8: d080 beq.n 10bc + 11ba: 2b02 cmp r3, #2 + 11bc: d0a7 beq.n 110e ASSERT(false); - 112e: 2246 movs r2, #70 ; 0x46 - 1130: 4920 ldr r1, [pc, #128] ; (11b4 ) - 1132: 2000 movs r0, #0 - 1134: 4b20 ldr r3, [pc, #128] ; (11b8 ) - 1136: 4798 blx r3 - 1138: e783 b.n 1042 + 11be: 2246 movs r2, #70 ; 0x46 + 11c0: 4920 ldr r1, [pc, #128] ; (1244 ) + 11c2: 2000 movs r0, #0 + 11c4: 4b20 ldr r3, [pc, #128] ; (1248 ) + 11c6: 4798 blx r3 + 11c8: e783 b.n 10d2 hri_port_clear_DIR_reg(PORT, port, 1U << pin); - 113a: 2301 movs r3, #1 - 113c: fa03 f308 lsl.w r3, r3, r8 + 11ca: 2301 movs r3, #1 + 11cc: fa03 f308 lsl.w r3, r3, r8 ((Port *)hw)->Group[submodule_index].DIRCLR.reg = mask; - 1140: eb09 12c7 add.w r2, r9, r7, lsl #7 - 1144: 6053 str r3, [r2, #4] + 11d0: eb09 12c7 add.w r2, r9, r7, lsl #7 + 11d4: 6053 str r3, [r2, #4] ((Port *)hw)->Group[submodule_index].PINCFG[index].reg |= PORT_PINCFG_PULLEN; - 1146: eb02 0008 add.w r0, r2, r8 - 114a: f890 1040 ldrb.w r1, [r0, #64] ; 0x40 - 114e: f041 0104 orr.w r1, r1, #4 - 1152: f880 1040 strb.w r1, [r0, #64] ; 0x40 + 11d6: eb02 0008 add.w r0, r2, r8 + 11da: f890 1040 ldrb.w r1, [r0, #64] ; 0x40 + 11de: f041 0104 orr.w r1, r1, #4 + 11e2: f880 1040 strb.w r1, [r0, #64] ; 0x40 ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - 1156: 6193 str r3, [r2, #24] - 1158: e7a6 b.n 10a8 + 11e6: 6193 str r3, [r2, #24] + 11e8: e7a6 b.n 1138 hri_port_clear_DIR_reg(PORT, port, 1U << pin); - 115a: 2301 movs r3, #1 - 115c: fa03 f308 lsl.w r3, r3, r8 + 11ea: 2301 movs r3, #1 + 11ec: fa03 f308 lsl.w r3, r3, r8 ((Port *)hw)->Group[submodule_index].DIRCLR.reg = mask; - 1160: eb09 12c7 add.w r2, r9, r7, lsl #7 - 1164: 6053 str r3, [r2, #4] + 11f0: eb09 12c7 add.w r2, r9, r7, lsl #7 + 11f4: 6053 str r3, [r2, #4] ((Port *)hw)->Group[submodule_index].PINCFG[index].reg |= PORT_PINCFG_PULLEN; - 1166: eb02 0008 add.w r0, r2, r8 - 116a: f890 1040 ldrb.w r1, [r0, #64] ; 0x40 - 116e: f041 0104 orr.w r1, r1, #4 - 1172: f880 1040 strb.w r1, [r0, #64] ; 0x40 + 11f6: eb02 0008 add.w r0, r2, r8 + 11fa: f890 1040 ldrb.w r1, [r0, #64] ; 0x40 + 11fe: f041 0104 orr.w r1, r1, #4 + 1202: f880 1040 strb.w r1, [r0, #64] ; 0x40 ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 1176: 6153 str r3, [r2, #20] - 1178: e796 b.n 10a8 + 1206: 6153 str r3, [r2, #20] + 1208: e796 b.n 1138 tmp = ((Port *)hw)->Group[submodule_index].PINCFG[index].reg; - 117a: b2e4 uxtb r4, r4 - 117c: eb09 14c4 add.w r4, r9, r4, lsl #7 - 1180: 44a0 add r8, r4 - 1182: f898 3040 ldrb.w r3, [r8, #64] ; 0x40 + 120a: b2e4 uxtb r4, r4 + 120c: eb09 14c4 add.w r4, r9, r4, lsl #7 + 1210: 44a0 add r8, r4 + 1212: f898 3040 ldrb.w r3, [r8, #64] ; 0x40 tmp &= ~PORT_PINCFG_PMUXEN; - 1186: f003 03fe and.w r3, r3, #254 ; 0xfe + 1216: f003 03fe and.w r3, r3, #254 ; 0xfe ((Port *)hw)->Group[submodule_index].PINCFG[index].reg = tmp; - 118a: f888 3040 strb.w r3, [r8, #64] ; 0x40 - 118e: e7ad b.n 10ec + 121a: f888 3040 strb.w r3, [r8, #64] ; 0x40 + 121e: e7ad b.n 117c tmp = ((Port *)hw)->Group[submodule_index].PMUX[index].reg; - 1190: eb09 14c4 add.w r4, r9, r4, lsl #7 - 1194: eb04 0858 add.w r8, r4, r8, lsr #1 - 1198: f898 3030 ldrb.w r3, [r8, #48] ; 0x30 + 1220: eb09 14c4 add.w r4, r9, r4, lsl #7 + 1224: eb04 0858 add.w r8, r4, r8, lsr #1 + 1228: f898 3030 ldrb.w r3, [r8, #48] ; 0x30 tmp &= ~PORT_PMUX_PMUXO_Msk; - 119c: f003 030f and.w r3, r3, #15 + 122c: f003 030f and.w r3, r3, #15 tmp |= PORT_PMUX_PMUXO(data); - 11a0: ea43 1202 orr.w r2, r3, r2, lsl #4 - 11a4: b2d2 uxtb r2, r2 + 1230: ea43 1202 orr.w r2, r3, r2, lsl #4 + 1234: b2d2 uxtb r2, r2 ((Port *)hw)->Group[submodule_index].PMUX[index].reg = tmp; - 11a6: f888 2030 strb.w r2, [r8, #48] ; 0x30 - 11aa: e79f b.n 10ec + 1236: f888 2030 strb.w r2, [r8, #48] ; 0x30 + 123a: e79f b.n 117c gpio_set_pin_level(_gpio_pin, 0); } } } - 11ac: b003 add sp, #12 - 11ae: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} - 11b2: bf00 nop - 11b4: 0001af60 .word 0x0001af60 - 11b8: 00001a89 .word 0x00001a89 - 11bc: 41008000 .word 0x41008000 + 123c: b003 add sp, #12 + 123e: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 1242: bf00 nop + 1244: 0001b530 .word 0x0001b530 + 1248: 000019d5 .word 0x000019d5 + 124c: 41008000 .word 0x41008000 -000011c0 : +00001250 : { - 11c0: b570 push {r4, r5, r6, lr} - 11c2: b082 sub sp, #8 + 1250: b570 push {r4, r5, r6, lr} + 1252: b082 sub sp, #8 memset(&data_config, 0, sizeof(data_config)); - 11c4: 2300 movs r3, #0 - 11c6: 9300 str r3, [sp, #0] + 1254: 2300 movs r3, #0 + 1256: 9300 str r3, [sp, #0] data_config.direction = GPIO_DIRECTION_OUT; - 11c8: 2302 movs r3, #2 - 11ca: f88d 3001 strb.w r3, [sp, #1] - data_config.pull_mode = GPIO_PULL_DOWN; - 11ce: f88d 3000 strb.w r3, [sp] + 1258: 2302 movs r3, #2 + 125a: f88d 3001 strb.w r3, [sp, #1] data_config.function = GPIO_PIN_FUNCTION_OFF; - 11d2: f04f 33ff mov.w r3, #4294967295 - 11d6: 9301 str r3, [sp, #4] + 125e: f04f 33ff mov.w r3, #4294967295 + 1262: 9301 str r3, [sp, #4] p_gpio_set_port_group_config(SSD1963_TFT_DATA_PORT, SSD1963_TFT_DATA_MASK, &data_config); - 11d8: 466a mov r2, sp - 11da: 4943 ldr r1, [pc, #268] ; (12e8 ) - 11dc: 2001 movs r0, #1 - 11de: 4b43 ldr r3, [pc, #268] ; (12ec ) - 11e0: 4798 blx r3 + 1264: 466a mov r2, sp + 1266: 493f ldr r1, [pc, #252] ; (1364 ) + 1268: 2001 movs r0, #1 + 126a: 4b3f ldr r3, [pc, #252] ; (1368 ) + 126c: 4798 blx r3 ((Port *)hw)->Group[submodule_index].DIRSET.reg = mask; - 11e2: 4b43 ldr r3, [pc, #268] ; (12f0 ) - 11e4: 2240 movs r2, #64 ; 0x40 - 11e6: 609a str r2, [r3, #8] + 126e: 4b3f ldr r3, [pc, #252] ; (136c ) + 1270: 2640 movs r6, #64 ; 0x40 + 1272: 609e str r6, [r3, #8] ((Port *)hw)->Group[submodule_index].WRCONFIG.reg = data; - 11e8: 4e42 ldr r6, [pc, #264] ; (12f4 ) - 11ea: 629e str r6, [r3, #40] ; 0x28 - 11ec: f04f 4140 mov.w r1, #3221225472 ; 0xc0000000 - 11f0: 6299 str r1, [r3, #40] ; 0x28 - ((Port *)hw)->Group[submodule_index].DIRCLR.reg = mask; - 11f2: 605a str r2, [r3, #4] - ((Port *)hw)->Group[submodule_index].PINCFG[index].reg |= PORT_PINCFG_PULLEN; - 11f4: f893 0046 ldrb.w r0, [r3, #70] ; 0x46 - 11f8: f040 0004 orr.w r0, r0, #4 - 11fc: f883 0046 strb.w r0, [r3, #70] ; 0x46 - ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 1200: 615a str r2, [r3, #20] + 1274: 4a3e ldr r2, [pc, #248] ; (1370 ) + 1276: 629a str r2, [r3, #40] ; 0x28 + 1278: f04f 4240 mov.w r2, #3221225472 ; 0xc0000000 + 127c: 629a str r2, [r3, #40] ; 0x28 + ((Port *)hw)->Group[submodule_index].PINCFG[index].reg &= ~PORT_PINCFG_PULLEN; + 127e: f893 1046 ldrb.w r1, [r3, #70] ; 0x46 + 1282: f001 01fb and.w r1, r1, #251 ; 0xfb + 1286: f883 1046 strb.w r1, [r3, #70] ; 0x46 tmp = ((Port *)hw)->Group[submodule_index].PINCFG[index].reg; - 1202: f893 0046 ldrb.w r0, [r3, #70] ; 0x46 + 128a: f893 1046 ldrb.w r1, [r3, #70] ; 0x46 tmp &= ~PORT_PINCFG_PMUXEN; - 1206: f000 00fe and.w r0, r0, #254 ; 0xfe + 128e: f001 01fe and.w r1, r1, #254 ; 0xfe ((Port *)hw)->Group[submodule_index].PINCFG[index].reg = tmp; - 120a: f883 0046 strb.w r0, [r3, #70] ; 0x46 + 1292: f883 1046 strb.w r1, [r3, #70] ; 0x46 ((Port *)hw)->Group[submodule_index].DIRSET.reg = mask; - 120e: 2510 movs r5, #16 - 1210: 609d str r5, [r3, #8] + 1296: 2510 movs r5, #16 + 1298: 609d str r5, [r3, #8] ((Port *)hw)->Group[submodule_index].WRCONFIG.reg = data; - 1212: 4839 ldr r0, [pc, #228] ; (12f8 ) - 1214: 6298 str r0, [r3, #40] ; 0x28 - 1216: 6299 str r1, [r3, #40] ; 0x28 - ((Port *)hw)->Group[submodule_index].DIRCLR.reg = mask; - 1218: 605d str r5, [r3, #4] - ((Port *)hw)->Group[submodule_index].PINCFG[index].reg |= PORT_PINCFG_PULLEN; - 121a: f893 0044 ldrb.w r0, [r3, #68] ; 0x44 - 121e: f040 0004 orr.w r0, r0, #4 - 1222: f883 0044 strb.w r0, [r3, #68] ; 0x44 - ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 1226: 615d str r5, [r3, #20] + 129a: 4936 ldr r1, [pc, #216] ; (1374 ) + 129c: 6299 str r1, [r3, #40] ; 0x28 + 129e: 629a str r2, [r3, #40] ; 0x28 + ((Port *)hw)->Group[submodule_index].PINCFG[index].reg &= ~PORT_PINCFG_PULLEN; + 12a0: f893 1044 ldrb.w r1, [r3, #68] ; 0x44 + 12a4: f001 01fb and.w r1, r1, #251 ; 0xfb + 12a8: f883 1044 strb.w r1, [r3, #68] ; 0x44 tmp = ((Port *)hw)->Group[submodule_index].PINCFG[index].reg; - 1228: f893 0044 ldrb.w r0, [r3, #68] ; 0x44 + 12ac: f893 1044 ldrb.w r1, [r3, #68] ; 0x44 tmp &= ~PORT_PINCFG_PMUXEN; - 122c: f000 00fe and.w r0, r0, #254 ; 0xfe + 12b0: f001 01fe and.w r1, r1, #254 ; 0xfe ((Port *)hw)->Group[submodule_index].PINCFG[index].reg = tmp; - 1230: f883 0044 strb.w r0, [r3, #68] ; 0x44 + 12b4: f883 1044 strb.w r1, [r3, #68] ; 0x44 ((Port *)hw)->Group[submodule_index].DIRSET.reg = mask; - 1234: 2408 movs r4, #8 - 1236: 609c str r4, [r3, #8] + 12b8: 2408 movs r4, #8 + 12ba: 609c str r4, [r3, #8] ((Port *)hw)->Group[submodule_index].WRCONFIG.reg = data; - 1238: 4830 ldr r0, [pc, #192] ; (12fc ) - 123a: 6298 str r0, [r3, #40] ; 0x28 - 123c: 6299 str r1, [r3, #40] ; 0x28 - ((Port *)hw)->Group[submodule_index].DIRCLR.reg = mask; - 123e: 605c str r4, [r3, #4] - ((Port *)hw)->Group[submodule_index].PINCFG[index].reg |= PORT_PINCFG_PULLEN; - 1240: f893 0043 ldrb.w r0, [r3, #67] ; 0x43 - 1244: f040 0004 orr.w r0, r0, #4 - 1248: f883 0043 strb.w r0, [r3, #67] ; 0x43 - ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 124c: 615c str r4, [r3, #20] + 12bc: 492e ldr r1, [pc, #184] ; (1378 ) + 12be: 6299 str r1, [r3, #40] ; 0x28 + 12c0: 629a str r2, [r3, #40] ; 0x28 + ((Port *)hw)->Group[submodule_index].PINCFG[index].reg &= ~PORT_PINCFG_PULLEN; + 12c2: f893 1043 ldrb.w r1, [r3, #67] ; 0x43 + 12c6: f001 01fb and.w r1, r1, #251 ; 0xfb + 12ca: f883 1043 strb.w r1, [r3, #67] ; 0x43 tmp = ((Port *)hw)->Group[submodule_index].PINCFG[index].reg; - 124e: f893 0043 ldrb.w r0, [r3, #67] ; 0x43 + 12ce: f893 1043 ldrb.w r1, [r3, #67] ; 0x43 tmp &= ~PORT_PINCFG_PMUXEN; - 1252: f000 00fe and.w r0, r0, #254 ; 0xfe + 12d2: f001 01fe and.w r1, r1, #254 ; 0xfe ((Port *)hw)->Group[submodule_index].PINCFG[index].reg = tmp; - 1256: f883 0043 strb.w r0, [r3, #67] ; 0x43 + 12d6: f883 1043 strb.w r1, [r3, #67] ; 0x43 ((Port *)hw)->Group[submodule_index].DIRSET.reg = mask; - 125a: 609a str r2, [r3, #8] + 12da: 2120 movs r1, #32 + 12dc: 6099 str r1, [r3, #8] ((Port *)hw)->Group[submodule_index].WRCONFIG.reg = data; - 125c: 629e str r6, [r3, #40] ; 0x28 - 125e: 6299 str r1, [r3, #40] ; 0x28 - ((Port *)hw)->Group[submodule_index].DIRCLR.reg = mask; - 1260: 605a str r2, [r3, #4] - ((Port *)hw)->Group[submodule_index].PINCFG[index].reg |= PORT_PINCFG_PULLEN; - 1262: f893 0046 ldrb.w r0, [r3, #70] ; 0x46 - 1266: f040 0004 orr.w r0, r0, #4 - 126a: f883 0046 strb.w r0, [r3, #70] ; 0x46 - ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 126e: 615a str r2, [r3, #20] + 12de: f101 4180 add.w r1, r1, #1073741824 ; 0x40000000 + 12e2: 6299 str r1, [r3, #40] ; 0x28 + 12e4: 629a str r2, [r3, #40] ; 0x28 + ((Port *)hw)->Group[submodule_index].PINCFG[index].reg &= ~PORT_PINCFG_PULLEN; + 12e6: f893 1045 ldrb.w r1, [r3, #69] ; 0x45 + 12ea: f001 01fb and.w r1, r1, #251 ; 0xfb + 12ee: f883 1045 strb.w r1, [r3, #69] ; 0x45 tmp = ((Port *)hw)->Group[submodule_index].PINCFG[index].reg; - 1270: f893 0046 ldrb.w r0, [r3, #70] ; 0x46 + 12f2: f893 1045 ldrb.w r1, [r3, #69] ; 0x45 tmp &= ~PORT_PINCFG_PMUXEN; - 1274: f000 00fe and.w r0, r0, #254 ; 0xfe + 12f6: f001 01fe and.w r1, r1, #254 ; 0xfe ((Port *)hw)->Group[submodule_index].PINCFG[index].reg = tmp; - 1278: f883 0046 strb.w r0, [r3, #70] ; 0x46 + 12fa: f883 1045 strb.w r1, [r3, #69] ; 0x45 ((Port *)hw)->Group[submodule_index].DIRSET.reg = mask; - 127c: 2080 movs r0, #128 ; 0x80 - 127e: 6098 str r0, [r3, #8] + 12fe: 2080 movs r0, #128 ; 0x80 + 1300: 6098 str r0, [r3, #8] ((Port *)hw)->Group[submodule_index].WRCONFIG.reg = data; - 1280: 3640 adds r6, #64 ; 0x40 - 1282: 629e str r6, [r3, #40] ; 0x28 - 1284: 6299 str r1, [r3, #40] ; 0x28 - ((Port *)hw)->Group[submodule_index].DIRCLR.reg = mask; - 1286: 6058 str r0, [r3, #4] - ((Port *)hw)->Group[submodule_index].PINCFG[index].reg |= PORT_PINCFG_PULLEN; - 1288: f893 1047 ldrb.w r1, [r3, #71] ; 0x47 - 128c: f041 0104 orr.w r1, r1, #4 - 1290: f883 1047 strb.w r1, [r3, #71] ; 0x47 - ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 1294: 6158 str r0, [r3, #20] + 1302: 491e ldr r1, [pc, #120] ; (137c ) + 1304: 6299 str r1, [r3, #40] ; 0x28 + 1306: 629a str r2, [r3, #40] ; 0x28 + ((Port *)hw)->Group[submodule_index].PINCFG[index].reg &= ~PORT_PINCFG_PULLEN; + 1308: f893 2047 ldrb.w r2, [r3, #71] ; 0x47 + 130c: f002 02fb and.w r2, r2, #251 ; 0xfb + 1310: f883 2047 strb.w r2, [r3, #71] ; 0x47 tmp = ((Port *)hw)->Group[submodule_index].PINCFG[index].reg; - 1296: f893 1047 ldrb.w r1, [r3, #71] ; 0x47 + 1314: f893 2047 ldrb.w r2, [r3, #71] ; 0x47 tmp &= ~PORT_PINCFG_PMUXEN; - 129a: f001 01fe and.w r1, r1, #254 ; 0xfe + 1318: f002 02fe and.w r2, r2, #254 ; 0xfe ((Port *)hw)->Group[submodule_index].PINCFG[index].reg = tmp; - 129e: f883 1047 strb.w r1, [r3, #71] ; 0x47 + 131c: f883 2047 strb.w r2, [r3, #71] ; 0x47 ((Port *)hw)->Group[submodule_index].DIRCLR.reg = mask; - 12a2: f44f 7180 mov.w r1, #256 ; 0x100 - 12a6: f8c3 1184 str.w r1, [r3, #388] ; 0x184 + 1320: f44f 7280 mov.w r2, #256 ; 0x100 + 1324: f8c3 2184 str.w r2, [r3, #388] ; 0x184 ((Port *)hw)->Group[submodule_index].WRCONFIG.reg = data; - 12aa: f506 3600 add.w r6, r6, #131072 ; 0x20000 - 12ae: 3680 adds r6, #128 ; 0x80 - 12b0: f8c3 61a8 str.w r6, [r3, #424] ; 0x1a8 - 12b4: 4e12 ldr r6, [pc, #72] ; (1300 ) - 12b6: f8c3 61a8 str.w r6, [r3, #424] ; 0x1a8 + 1328: f501 3100 add.w r1, r1, #131072 ; 0x20000 + 132c: 3180 adds r1, #128 ; 0x80 + 132e: f8c3 11a8 str.w r1, [r3, #424] ; 0x1a8 + 1332: 4913 ldr r1, [pc, #76] ; (1380 ) + 1334: f8c3 11a8 str.w r1, [r3, #424] ; 0x1a8 ((Port *)hw)->Group[submodule_index].DIRCLR.reg = mask; - 12ba: f8c3 1184 str.w r1, [r3, #388] ; 0x184 + 1338: f8c3 2184 str.w r2, [r3, #388] ; 0x184 ((Port *)hw)->Group[submodule_index].PINCFG[index].reg |= PORT_PINCFG_PULLEN; - 12be: f893 61c8 ldrb.w r6, [r3, #456] ; 0x1c8 - 12c2: f046 0604 orr.w r6, r6, #4 - 12c6: f883 61c8 strb.w r6, [r3, #456] ; 0x1c8 + 133c: f893 11c8 ldrb.w r1, [r3, #456] ; 0x1c8 + 1340: f041 0104 orr.w r1, r1, #4 + 1344: f883 11c8 strb.w r1, [r3, #456] ; 0x1c8 ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 12ca: f8c3 1194 str.w r1, [r3, #404] ; 0x194 + 1348: f8c3 2194 str.w r2, [r3, #404] ; 0x194 tmp = ((Port *)hw)->Group[submodule_index].PINCFG[index].reg; - 12ce: f893 11c8 ldrb.w r1, [r3, #456] ; 0x1c8 + 134c: f893 21c8 ldrb.w r2, [r3, #456] ; 0x1c8 tmp &= ~PORT_PINCFG_PMUXEN; - 12d2: f001 01fe and.w r1, r1, #254 ; 0xfe + 1350: f002 02fe and.w r2, r2, #254 ; 0xfe ((Port *)hw)->Group[submodule_index].PINCFG[index].reg = tmp; - 12d6: f883 11c8 strb.w r1, [r3, #456] ; 0x1c8 + 1354: f883 21c8 strb.w r2, [r3, #456] ; 0x1c8 ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - 12da: 619a str r2, [r3, #24] - 12dc: 619d str r5, [r3, #24] - 12de: 619c str r4, [r3, #24] - 12e0: 6198 str r0, [r3, #24] -} - 12e2: b002 add sp, #8 - 12e4: bd70 pop {r4, r5, r6, pc} - 12e6: bf00 nop - 12e8: 1c03c3f7 .word 0x1c03c3f7 - 12ec: 00001015 .word 0x00001015 - 12f0: 41008000 .word 0x41008000 - 12f4: 40000040 .word 0x40000040 - 12f8: 40000010 .word 0x40000010 - 12fc: 40000008 .word 0x40000008 - 1300: c0020000 .word 0xc0020000 - -00001304 : + 1358: 619e str r6, [r3, #24] + 135a: 619d str r5, [r3, #24] + 135c: 619c str r4, [r3, #24] + 135e: 6198 str r0, [r3, #24] +} + 1360: b002 add sp, #8 + 1362: bd70 pop {r4, r5, r6, pc} + 1364: 1c03c3f7 .word 0x1c03c3f7 + 1368: 000010a5 .word 0x000010a5 + 136c: 41008000 .word 0x41008000 + 1370: 40000040 .word 0x40000040 + 1374: 40000010 .word 0x40000010 + 1378: 40000008 .word 0x40000008 + 137c: 40000080 .word 0x40000080 + 1380: c0020000 .word 0xc0020000 + +00001384 : #include "p_i2c.h" struct i2c_m_sync_desc p_i2c_master; void p_i2c_init(void) { - 1304: b508 push {r3, lr} -} - -static inline void hri_gclk_write_PCHCTRL_reg(const void *const hw, uint8_t index, hri_gclk_pchctrl_reg_t data) -{ - GCLK_CRITICAL_SECTION_ENTER(); - ((Gclk *)hw)->PCHCTRL[index].reg = data; - 1306: 4b1f ldr r3, [pc, #124] ; (1384 ) - 1308: 2240 movs r2, #64 ; 0x40 - 130a: f8c3 20e0 str.w r2, [r3, #224] ; 0xe0 - 130e: 2243 movs r2, #67 ; 0x43 - 1310: f8c3 208c str.w r2, [r3, #140] ; 0x8c -} + 1384: 4770 bx lr + ... -static inline void hri_mclk_set_APBBMASK_SERCOM3_bit(const void *const hw) -{ - MCLK_CRITICAL_SECTION_ENTER(); - ((Mclk *)hw)->APBBMASK.reg |= MCLK_APBBMASK_SERCOM3; - 1314: 4a1c ldr r2, [pc, #112] ; (1388 ) - 1316: 6993 ldr r3, [r2, #24] - 1318: f443 6380 orr.w r3, r3, #1024 ; 0x400 - 131c: 6193 str r3, [r2, #24] - hri_gclk_write_PCHCTRL_reg(GCLK, SERCOM3_GCLK_ID_CORE, CONF_GCLK_SERCOM3_CORE_SRC | (1 << GCLK_PCHCTRL_CHEN_Pos)); - hri_gclk_write_PCHCTRL_reg(GCLK, SERCOM3_GCLK_ID_SLOW, CONF_GCLK_SERCOM3_SLOW_SRC | (1 << GCLK_PCHCTRL_CHEN_Pos)); - - hri_mclk_set_APBBMASK_SERCOM3_bit(MCLK); - - i2c_m_sync_init(&p_i2c_master, I2C_MASTER_SERCOM); - 131e: 491b ldr r1, [pc, #108] ; (138c ) - 1320: 481b ldr r0, [pc, #108] ; (1390 ) - 1322: 4b1c ldr r3, [pc, #112] ; (1394 ) - 1324: 4798 blx r3 - ((Port *)hw)->Group[submodule_index].PINCFG[index].reg &= ~PORT_PINCFG_PULLEN; - 1326: 4b1c ldr r3, [pc, #112] ; (1398 ) - 1328: f893 2056 ldrb.w r2, [r3, #86] ; 0x56 - 132c: f002 02fb and.w r2, r2, #251 ; 0xfb - 1330: f883 2056 strb.w r2, [r3, #86] ; 0x56 - tmp = ((Port *)hw)->Group[submodule_index].PINCFG[index].reg; - 1334: f893 2056 ldrb.w r2, [r3, #86] ; 0x56 - tmp &= ~PORT_PINCFG_PMUXEN; - 1338: f002 02fe and.w r2, r2, #254 ; 0xfe - tmp |= value << PORT_PINCFG_PMUXEN_Pos; - 133c: f042 0201 orr.w r2, r2, #1 - ((Port *)hw)->Group[submodule_index].PINCFG[index].reg = tmp; - 1340: f883 2056 strb.w r2, [r3, #86] ; 0x56 - tmp = ((Port *)hw)->Group[submodule_index].PMUX[index].reg; - 1344: f893 203b ldrb.w r2, [r3, #59] ; 0x3b - tmp &= ~PORT_PMUX_PMUXE_Msk; - 1348: f002 02f0 and.w r2, r2, #240 ; 0xf0 - tmp |= PORT_PMUX_PMUXE(data); - 134c: f042 0202 orr.w r2, r2, #2 - ((Port *)hw)->Group[submodule_index].PMUX[index].reg = tmp; - 1350: f883 203b strb.w r2, [r3, #59] ; 0x3b - ((Port *)hw)->Group[submodule_index].PINCFG[index].reg &= ~PORT_PINCFG_PULLEN; - 1354: f893 2057 ldrb.w r2, [r3, #87] ; 0x57 - 1358: f002 02fb and.w r2, r2, #251 ; 0xfb - 135c: f883 2057 strb.w r2, [r3, #87] ; 0x57 - tmp = ((Port *)hw)->Group[submodule_index].PINCFG[index].reg; - 1360: f893 2057 ldrb.w r2, [r3, #87] ; 0x57 - tmp &= ~PORT_PINCFG_PMUXEN; - 1364: f002 02fe and.w r2, r2, #254 ; 0xfe - tmp |= value << PORT_PINCFG_PMUXEN_Pos; - 1368: f042 0201 orr.w r2, r2, #1 - ((Port *)hw)->Group[submodule_index].PINCFG[index].reg = tmp; - 136c: f883 2057 strb.w r2, [r3, #87] ; 0x57 - tmp = ((Port *)hw)->Group[submodule_index].PMUX[index].reg; - 1370: f893 203b ldrb.w r2, [r3, #59] ; 0x3b - tmp &= ~PORT_PMUX_PMUXO_Msk; - 1374: f002 020f and.w r2, r2, #15 - tmp |= PORT_PMUX_PMUXO(data); - 1378: f042 0220 orr.w r2, r2, #32 - ((Port *)hw)->Group[submodule_index].PMUX[index].reg = tmp; - 137c: f883 203b strb.w r2, [r3, #59] ; 0x3b - 1380: bd08 pop {r3, pc} - 1382: bf00 nop - 1384: 40001c00 .word 0x40001c00 - 1388: 40000800 .word 0x40000800 - 138c: 41014000 .word 0x41014000 - 1390: 20006c00 .word 0x20006c00 - 1394: 000015b5 .word 0x000015b5 - 1398: 41008000 .word 0x41008000 - -0000139c : +00001388 : static volatile uint64_t sys_time = 0; /** * Example of using TIMER_0. */ static void TIMER_0_task1_cb(const struct timer_task *const timer_task) { - 139c: b508 push {r3, lr} + 1388: b508 push {r3, lr} sys_time++; - 139e: 4906 ldr r1, [pc, #24] ; (13b8 ) - 13a0: e9d1 2300 ldrd r2, r3, [r1] - 13a4: 3201 adds r2, #1 - 13a6: f143 0300 adc.w r3, r3, #0 - 13aa: e9c1 2300 strd r2, r3, [r1] + 138a: 4906 ldr r1, [pc, #24] ; (13a4 ) + 138c: e9d1 2300 ldrd r2, r3, [r1] + 1390: 3201 adds r2, #1 + 1392: f143 0300 adc.w r3, r3, #0 + 1396: e9c1 2300 strd r2, r3, [r1] lv_tick_inc(1); - 13ae: 2001 movs r0, #1 - 13b0: 4b02 ldr r3, [pc, #8] ; (13bc ) - 13b2: 4798 blx r3 - 13b4: bd08 pop {r3, pc} - 13b6: bf00 nop - 13b8: 20000098 .word 0x20000098 - 13bc: 000115ed .word 0x000115ed - -000013c0 : + 139a: 2001 movs r0, #1 + 139c: 4b02 ldr r3, [pc, #8] ; (13a8 ) + 139e: 4798 blx r3 + 13a0: bd08 pop {r3, pc} + 13a2: bf00 nop + 13a4: 20000098 .word 0x20000098 + 13a8: 00011045 .word 0x00011045 + +000013ac : //timer_add_task(&p_tcc_inst, &TIMER_0_task2); timer_start(&p_tcc_inst); } void p_tcc_init(void) { - 13c0: b510 push {r4, lr} + 13ac: b510 push {r4, lr} delay_init(SysTick); - 13c2: 4811 ldr r0, [pc, #68] ; (1408 ) - 13c4: 4b11 ldr r3, [pc, #68] ; (140c ) - 13c6: 4798 blx r3 + 13ae: 4811 ldr r0, [pc, #68] ; (13f4 ) + 13b0: 4b11 ldr r3, [pc, #68] ; (13f8 ) + 13b2: 4798 blx r3 +} + +static inline void hri_mclk_set_APBAMASK_TC0_bit(const void *const hw) +{ + MCLK_CRITICAL_SECTION_ENTER(); ((Mclk *)hw)->APBAMASK.reg |= MCLK_APBAMASK_TC0; - 13c8: 4a11 ldr r2, [pc, #68] ; (1410 ) - 13ca: 6953 ldr r3, [r2, #20] - 13cc: f443 4380 orr.w r3, r3, #16384 ; 0x4000 - 13d0: 6153 str r3, [r2, #20] - 13d2: 2240 movs r2, #64 ; 0x40 - 13d4: 4b0f ldr r3, [pc, #60] ; (1414 ) - 13d6: f8c3 20a4 str.w r2, [r3, #164] ; 0xa4 + 13b4: 4a11 ldr r2, [pc, #68] ; (13fc ) + 13b6: 6953 ldr r3, [r2, #20] + 13b8: f443 4380 orr.w r3, r3, #16384 ; 0x4000 + 13bc: 6153 str r3, [r2, #20] +} + +static inline void hri_gclk_write_PCHCTRL_reg(const void *const hw, uint8_t index, hri_gclk_pchctrl_reg_t data) +{ + GCLK_CRITICAL_SECTION_ENTER(); + ((Gclk *)hw)->PCHCTRL[index].reg = data; + 13be: 2240 movs r2, #64 ; 0x40 + 13c0: 4b0f ldr r3, [pc, #60] ; (1400 ) + 13c2: f8c3 20a4 str.w r2, [r3, #164] ; 0xa4 hri_mclk_set_APBAMASK_TC0_bit(MCLK); hri_gclk_write_PCHCTRL_reg(GCLK, TC0_GCLK_ID, CONF_GCLK_TC0_SRC | (1 << GCLK_PCHCTRL_CHEN_Pos)); timer_init(&p_tcc_inst, TC0, _tc_get_timer()); - 13da: 4b0f ldr r3, [pc, #60] ; (1418 ) - 13dc: 4798 blx r3 - 13de: 4c0f ldr r4, [pc, #60] ; (141c ) - 13e0: 4602 mov r2, r0 - 13e2: 490f ldr r1, [pc, #60] ; (1420 ) - 13e4: 4620 mov r0, r4 - 13e6: 4b0f ldr r3, [pc, #60] ; (1424 ) - 13e8: 4798 blx r3 + 13c6: 4b0f ldr r3, [pc, #60] ; (1404 ) + 13c8: 4798 blx r3 + 13ca: 4c0f ldr r4, [pc, #60] ; (1408 ) + 13cc: 4602 mov r2, r0 + 13ce: 490f ldr r1, [pc, #60] ; (140c ) + 13d0: 4620 mov r0, r4 + 13d2: 4b0f ldr r3, [pc, #60] ; (1410 ) + 13d4: 4798 blx r3 TIMER_0_task1.interval = 1; - 13ea: 490f ldr r1, [pc, #60] ; (1428 ) - 13ec: 2301 movs r3, #1 - 13ee: 610b str r3, [r1, #16] + 13d6: 490f ldr r1, [pc, #60] ; (1414 ) + 13d8: 2301 movs r3, #1 + 13da: 610b str r3, [r1, #16] TIMER_0_task1.cb = TIMER_0_task1_cb; - 13f0: 4a0e ldr r2, [pc, #56] ; (142c ) - 13f2: 614a str r2, [r1, #20] + 13dc: 4a0e ldr r2, [pc, #56] ; (1418 ) + 13de: 614a str r2, [r1, #20] TIMER_0_task1.mode = TIMER_TASK_REPEAT; - 13f4: 760b strb r3, [r1, #24] + 13e0: 760b strb r3, [r1, #24] //TIMER_0_task2.interval = 200; //TIMER_0_task2.cb = TIMER_0_task2_cb; //TIMER_0_task2.mode = TIMER_TASK_REPEAT; - + timer_add_task(&p_tcc_inst, &TIMER_0_task1); - 13f6: 3108 adds r1, #8 - 13f8: 4620 mov r0, r4 - 13fa: 4b0d ldr r3, [pc, #52] ; (1430 ) - 13fc: 4798 blx r3 + 13e2: 3108 adds r1, #8 + 13e4: 4620 mov r0, r4 + 13e6: 4b0d ldr r3, [pc, #52] ; (141c ) + 13e8: 4798 blx r3 //timer_add_task(&p_tcc_inst, &TIMER_0_task2); timer_start(&p_tcc_inst); - 13fe: 4620 mov r0, r4 - 1400: 4b0c ldr r3, [pc, #48] ; (1434 ) - 1402: 4798 blx r3 - 1404: bd10 pop {r4, pc} - 1406: bf00 nop - 1408: e000e010 .word 0xe000e010 - 140c: 00001501 .word 0x00001501 - 1410: 40000800 .word 0x40000800 - 1414: 40001c00 .word 0x40001c00 - 1418: 0000284f .word 0x0000284f - 141c: 20006c20 .word 0x20006c20 - 1420: 40003800 .word 0x40003800 - 1424: 000016fd .word 0x000016fd - 1428: 20000098 .word 0x20000098 - 142c: 0000139d .word 0x0000139d - 1430: 00001775 .word 0x00001775 - 1434: 00001739 .word 0x00001739 - -00001438 : + 13ea: 4620 mov r0, r4 + 13ec: 4b0c ldr r3, [pc, #48] ; (1420 ) + 13ee: 4798 blx r3 + 13f0: bd10 pop {r4, pc} + 13f2: bf00 nop + 13f4: e000e010 .word 0xe000e010 + 13f8: 000014ed .word 0x000014ed + 13fc: 40000800 .word 0x40000800 + 1400: 40001c00 .word 0x40001c00 + 1404: 0000214b .word 0x0000214b + 1408: 20006c04 .word 0x20006c04 + 140c: 40003800 .word 0x40003800 + 1410: 00001649 .word 0x00001649 + 1414: 20000098 .word 0x20000098 + 1418: 00001389 .word 0x00001389 + 141c: 000016c1 .word 0x000016c1 + 1420: 00001685 .word 0x00001685 + +00001424 : static uint8_t example_USART_0[12] = "Hello World!"; static uint8_t debug_buffer[DEBUG_MAX_BUFFER_SIZE]; static uint8_t debug_rx_buff[DEBUG_USART_EX_BUFF_SIZE]; void p_usart_init(void) { - 1438: b530 push {r4, r5, lr} - 143a: b083 sub sp, #12 - 143c: 4b1f ldr r3, [pc, #124] ; (14bc ) - 143e: 2240 movs r2, #64 ; 0x40 - 1440: f8c3 20dc str.w r2, [r3, #220] ; 0xdc - 1444: 2243 movs r2, #67 ; 0x43 - 1446: f8c3 208c str.w r2, [r3, #140] ; 0x8c + 1424: b530 push {r4, r5, lr} + 1426: b083 sub sp, #12 + 1428: 4b1f ldr r3, [pc, #124] ; (14a8 ) + 142a: 2240 movs r2, #64 ; 0x40 + 142c: f8c3 20dc str.w r2, [r3, #220] ; 0xdc + 1430: 2243 movs r2, #67 ; 0x43 + 1432: f8c3 208c str.w r2, [r3, #140] ; 0x8c +} + +static inline void hri_mclk_set_APBBMASK_SERCOM2_bit(const void *const hw) +{ + MCLK_CRITICAL_SECTION_ENTER(); ((Mclk *)hw)->APBBMASK.reg |= MCLK_APBBMASK_SERCOM2; - 144a: 4a1d ldr r2, [pc, #116] ; (14c0 ) - 144c: 6993 ldr r3, [r2, #24] - 144e: f443 7300 orr.w r3, r3, #512 ; 0x200 - 1452: 6193 str r3, [r2, #24] + 1436: 4a1d ldr r2, [pc, #116] ; (14ac ) + 1438: 6993 ldr r3, [r2, #24] + 143a: f443 7300 orr.w r3, r3, #512 ; 0x200 + 143e: 6193 str r3, [r2, #24] hri_gclk_write_PCHCTRL_reg(GCLK, SERCOM2_GCLK_ID_CORE, CONF_GCLK_SERCOM2_CORE_SRC | (1 << GCLK_PCHCTRL_CHEN_Pos)); hri_gclk_write_PCHCTRL_reg(GCLK, SERCOM2_GCLK_ID_SLOW, CONF_GCLK_SERCOM2_SLOW_SRC | (1 << GCLK_PCHCTRL_CHEN_Pos)); hri_mclk_set_APBBMASK_SERCOM2_bit(MCLK); usart_async_init(&p_usart_debug_inst, USART_DEBUG_SERCOM, debug_rx_buff, DEBUG_USART_EX_BUFF_SIZE, (void*)NULL); - 1454: 4c1b ldr r4, [pc, #108] ; (14c4 ) - 1456: 2300 movs r3, #0 - 1458: 9300 str r3, [sp, #0] - 145a: 2310 movs r3, #16 - 145c: 4a1a ldr r2, [pc, #104] ; (14c8 ) - 145e: 491b ldr r1, [pc, #108] ; (14cc ) - 1460: 4620 mov r0, r4 - 1462: 4d1b ldr r5, [pc, #108] ; (14d0 ) - 1464: 47a8 blx r5 + 1440: 4c1b ldr r4, [pc, #108] ; (14b0 ) + 1442: 2300 movs r3, #0 + 1444: 9300 str r3, [sp, #0] + 1446: 2310 movs r3, #16 + 1448: 4a1a ldr r2, [pc, #104] ; (14b4 ) + 144a: 491b ldr r1, [pc, #108] ; (14b8 ) + 144c: 4620 mov r0, r4 + 144e: 4d1b ldr r5, [pc, #108] ; (14bc ) + 1450: 47a8 blx r5 tmp = ((Port *)hw)->Group[submodule_index].PINCFG[index].reg; - 1466: 4b1b ldr r3, [pc, #108] ; (14d4 ) - 1468: f893 20d8 ldrb.w r2, [r3, #216] ; 0xd8 + 1452: 4b1b ldr r3, [pc, #108] ; (14c0 ) + 1454: f893 20d8 ldrb.w r2, [r3, #216] ; 0xd8 tmp &= ~PORT_PINCFG_PMUXEN; - 146c: f002 02fe and.w r2, r2, #254 ; 0xfe + 1458: f002 02fe and.w r2, r2, #254 ; 0xfe tmp |= value << PORT_PINCFG_PMUXEN_Pos; - 1470: f042 0201 orr.w r2, r2, #1 + 145c: f042 0201 orr.w r2, r2, #1 ((Port *)hw)->Group[submodule_index].PINCFG[index].reg = tmp; - 1474: f883 20d8 strb.w r2, [r3, #216] ; 0xd8 + 1460: f883 20d8 strb.w r2, [r3, #216] ; 0xd8 tmp = ((Port *)hw)->Group[submodule_index].PMUX[index].reg; - 1478: f893 20bc ldrb.w r2, [r3, #188] ; 0xbc + 1464: f893 20bc ldrb.w r2, [r3, #188] ; 0xbc tmp &= ~PORT_PMUX_PMUXE_Msk; - 147c: f002 02f0 and.w r2, r2, #240 ; 0xf0 + 1468: f002 02f0 and.w r2, r2, #240 ; 0xf0 tmp |= PORT_PMUX_PMUXE(data); - 1480: f042 0203 orr.w r2, r2, #3 + 146c: f042 0203 orr.w r2, r2, #3 ((Port *)hw)->Group[submodule_index].PMUX[index].reg = tmp; - 1484: f883 20bc strb.w r2, [r3, #188] ; 0xbc + 1470: f883 20bc strb.w r2, [r3, #188] ; 0xbc tmp = ((Port *)hw)->Group[submodule_index].PINCFG[index].reg; - 1488: f893 20d9 ldrb.w r2, [r3, #217] ; 0xd9 + 1474: f893 20d9 ldrb.w r2, [r3, #217] ; 0xd9 tmp &= ~PORT_PINCFG_PMUXEN; - 148c: f002 02fe and.w r2, r2, #254 ; 0xfe + 1478: f002 02fe and.w r2, r2, #254 ; 0xfe tmp |= value << PORT_PINCFG_PMUXEN_Pos; - 1490: f042 0201 orr.w r2, r2, #1 + 147c: f042 0201 orr.w r2, r2, #1 ((Port *)hw)->Group[submodule_index].PINCFG[index].reg = tmp; - 1494: f883 20d9 strb.w r2, [r3, #217] ; 0xd9 + 1480: f883 20d9 strb.w r2, [r3, #217] ; 0xd9 tmp = ((Port *)hw)->Group[submodule_index].PMUX[index].reg; - 1498: f893 20bc ldrb.w r2, [r3, #188] ; 0xbc + 1484: f893 20bc ldrb.w r2, [r3, #188] ; 0xbc tmp &= ~PORT_PMUX_PMUXO_Msk; - 149c: f002 020f and.w r2, r2, #15 + 1488: f002 020f and.w r2, r2, #15 tmp |= PORT_PMUX_PMUXO(data); - 14a0: f042 0230 orr.w r2, r2, #48 ; 0x30 + 148c: f042 0230 orr.w r2, r2, #48 ; 0x30 ((Port *)hw)->Group[submodule_index].PMUX[index].reg = tmp; - 14a4: f883 20bc strb.w r2, [r3, #188] ; 0xbc + 1490: f883 20bc strb.w r2, [r3, #188] ; 0xbc // port init gpio_set_pin_function(USART_DEBUG_RX, USART_DEBUG_RX_MUX); gpio_set_pin_function(USART_DEBUG_TX, USART_DEBUG_TX_MUX); usart_async_enable(&p_usart_debug_inst); - 14a8: 4620 mov r0, r4 - 14aa: 4b0b ldr r3, [pc, #44] ; (14d8 ) - 14ac: 4798 blx r3 + 1494: 4620 mov r0, r4 + 1496: 4b0b ldr r3, [pc, #44] ; (14c4 ) + 1498: 4798 blx r3 io_write(&p_usart_debug_inst.io, example_USART_0, 12); - 14ae: 220c movs r2, #12 - 14b0: 490a ldr r1, [pc, #40] ; (14dc ) - 14b2: 4620 mov r0, r4 - 14b4: 4b0a ldr r3, [pc, #40] ; (14e0 ) - 14b6: 4798 blx r3 + 149a: 220c movs r2, #12 + 149c: 490a ldr r1, [pc, #40] ; (14c8 ) + 149e: 4620 mov r0, r4 + 14a0: 4b0a ldr r3, [pc, #40] ; (14cc ) + 14a2: 4798 blx r3 } - 14b8: b003 add sp, #12 - 14ba: bd30 pop {r4, r5, pc} - 14bc: 40001c00 .word 0x40001c00 - 14c0: 40000800 .word 0x40000800 - 14c4: 20006c3c .word 0x20006c3c - 14c8: 200000b4 .word 0x200000b4 - 14cc: 41012000 .word 0x41012000 - 14d0: 000019cd .word 0x000019cd - 14d4: 41008000 .word 0x41008000 - 14d8: 00001a5d .word 0x00001a5d - 14dc: 20000004 .word 0x20000004 - 14e0: 000015f5 .word 0x000015f5 - -000014e4 : + 14a4: b003 add sp, #12 + 14a6: bd30 pop {r4, r5, pc} + 14a8: 40001c00 .word 0x40001c00 + 14ac: 40000800 .word 0x40000800 + 14b0: 20006c20 .word 0x20006c20 + 14b4: 200000b4 .word 0x200000b4 + 14b8: 41012000 .word 0x41012000 + 14bc: 00001919 .word 0x00001919 + 14c0: 41008000 .word 0x41008000 + 14c4: 000019a9 .word 0x000019a9 + 14c8: 20000004 .word 0x20000004 + 14cc: 00001541 .word 0x00001541 + +000014d0 : __ASM volatile ("MRS %0, primask" : "=r" (result) :: "memory"); - 14e4: f3ef 8310 mrs r3, PRIMASK + 14d0: f3ef 8310 mrs r3, PRIMASK /** * \brief Disable interrupts, enter critical section */ void atomic_enter_critical(hal_atomic_t volatile *atomic) { *atomic = __get_PRIMASK(); - 14e8: 6003 str r3, [r0, #0] + 14d4: 6003 str r3, [r0, #0] __ASM volatile ("cpsid i" : : : "memory"); - 14ea: b672 cpsid i + 14d6: b672 cpsid i \details Ensures the apparent order of the explicit memory operations before and after the instruction, without ensuring their completion. */ __STATIC_FORCEINLINE void __DMB(void) { __ASM volatile ("dmb 0xF":::"memory"); - 14ec: f3bf 8f5f dmb sy - 14f0: 4770 bx lr + 14d8: f3bf 8f5f dmb sy + 14dc: 4770 bx lr -000014f2 : - 14f2: f3bf 8f5f dmb sy +000014de : + 14de: f3bf 8f5f dmb sy * \brief Exit atomic section */ void atomic_leave_critical(hal_atomic_t volatile *atomic) { __DMB(); __set_PRIMASK(*atomic); - 14f6: 6803 ldr r3, [r0, #0] + 14e2: 6803 ldr r3, [r0, #0] __ASM volatile ("MSR primask, %0" : : "r" (priMask) : "memory"); - 14f8: f383 8810 msr PRIMASK, r3 - 14fc: 4770 bx lr + 14e4: f383 8810 msr PRIMASK, r3 + 14e8: 4770 bx lr ... -00001500 : +000014ec : /** * \brief Initialize Delay driver */ void delay_init(void *const hw) { - 1500: b508 push {r3, lr} + 14ec: b508 push {r3, lr} _delay_init(hardware = hw); - 1502: 4b02 ldr r3, [pc, #8] ; (150c ) - 1504: 6018 str r0, [r3, #0] - 1506: 4b02 ldr r3, [pc, #8] ; (1510 ) - 1508: 4798 blx r3 - 150a: bd08 pop {r3, pc} - 150c: 200000c4 .word 0x200000c4 - 1510: 00001c3d .word 0x00001c3d + 14ee: 4b02 ldr r3, [pc, #8] ; (14f8 ) + 14f0: 6018 str r0, [r3, #0] + 14f2: 4b02 ldr r3, [pc, #8] ; (14fc ) + 14f4: 4798 blx r3 + 14f6: bd08 pop {r3, pc} + 14f8: 200000c4 .word 0x200000c4 + 14fc: 00001b89 .word 0x00001b89 -00001514 : +00001500 : /** * \brief Perform delay in us */ void delay_us(const uint16_t us) { - 1514: b510 push {r4, lr} + 1500: b510 push {r4, lr} _delay_cycles(hardware, _get_cycles_for_us(us)); - 1516: 4b04 ldr r3, [pc, #16] ; (1528 ) - 1518: 681c ldr r4, [r3, #0] - 151a: 4b04 ldr r3, [pc, #16] ; (152c ) - 151c: 4798 blx r3 - 151e: 4601 mov r1, r0 - 1520: 4620 mov r0, r4 - 1522: 4b03 ldr r3, [pc, #12] ; (1530 ) - 1524: 4798 blx r3 - 1526: bd10 pop {r4, pc} - 1528: 200000c4 .word 0x200000c4 - 152c: 00001c05 .word 0x00001c05 - 1530: 00001c41 .word 0x00001c41 - -00001534 : + 1502: 4b04 ldr r3, [pc, #16] ; (1514 ) + 1504: 681c ldr r4, [r3, #0] + 1506: 4b04 ldr r3, [pc, #16] ; (1518 ) + 1508: 4798 blx r3 + 150a: 4601 mov r1, r0 + 150c: 4620 mov r0, r4 + 150e: 4b03 ldr r3, [pc, #12] ; (151c ) + 1510: 4798 blx r3 + 1512: bd10 pop {r4, pc} + 1514: 200000c4 .word 0x200000c4 + 1518: 00001b51 .word 0x00001b51 + 151c: 00001b91 .word 0x00001b91 + +00001520 : /** * \brief Perform delay in ms */ void delay_ms(const uint16_t ms) { - 1534: b510 push {r4, lr} + 1520: b510 push {r4, lr} _delay_cycles(hardware, _get_cycles_for_ms(ms)); - 1536: 4b04 ldr r3, [pc, #16] ; (1548 ) - 1538: 681c ldr r4, [r3, #0] - 153a: 4b04 ldr r3, [pc, #16] ; (154c ) - 153c: 4798 blx r3 - 153e: 4601 mov r1, r0 - 1540: 4620 mov r0, r4 - 1542: 4b03 ldr r3, [pc, #12] ; (1550 ) - 1544: 4798 blx r3 - 1546: bd10 pop {r4, pc} - 1548: 200000c4 .word 0x200000c4 - 154c: 00001c1d .word 0x00001c1d - 1550: 00001c41 .word 0x00001c41 - -00001554 : - -/** - * \brief Sync version of I2C I/O write - */ -static int32_t i2c_m_sync_write(struct io_descriptor *io, const uint8_t *buf, const uint16_t n) -{ - 1554: b510 push {r4, lr} - 1556: b084 sub sp, #16 - 1558: 4614 mov r4, r2 - struct i2c_m_sync_desc *i2c = CONTAINER_OF(io, struct i2c_m_sync_desc, io); - struct _i2c_m_msg msg; - int32_t ret; - - msg.addr = i2c->slave_addr; - 155a: 8903 ldrh r3, [r0, #8] - 155c: f8ad 3004 strh.w r3, [sp, #4] - msg.len = n; - 1560: 9202 str r2, [sp, #8] - msg.flags = I2C_M_STOP; - 1562: f44f 4300 mov.w r3, #32768 ; 0x8000 - 1566: f8ad 3006 strh.w r3, [sp, #6] - msg.buffer = (uint8_t *)buf; - 156a: 9103 str r1, [sp, #12] - - ret = _i2c_m_sync_transfer(&i2c->device, &msg); - 156c: a901 add r1, sp, #4 - 156e: 3814 subs r0, #20 - 1570: 4b03 ldr r3, [pc, #12] ; (1580 ) - 1572: 4798 blx r3 - if (ret) { - return ret; - } - - return n; -} - 1574: 2800 cmp r0, #0 - 1576: bf08 it eq - 1578: 4620 moveq r0, r4 - 157a: b004 add sp, #16 - 157c: bd10 pop {r4, pc} - 157e: bf00 nop - 1580: 000020b5 .word 0x000020b5 - -00001584 : -{ - 1584: b510 push {r4, lr} - 1586: b084 sub sp, #16 - 1588: 4614 mov r4, r2 - msg.addr = i2c->slave_addr; - 158a: 8903 ldrh r3, [r0, #8] - 158c: f8ad 3004 strh.w r3, [sp, #4] - msg.len = n; - 1590: 9202 str r2, [sp, #8] - msg.flags = I2C_M_STOP | I2C_M_RD; - 1592: f248 0301 movw r3, #32769 ; 0x8001 - 1596: f8ad 3006 strh.w r3, [sp, #6] - msg.buffer = buf; - 159a: 9103 str r1, [sp, #12] - ret = _i2c_m_sync_transfer(&i2c->device, &msg); - 159c: a901 add r1, sp, #4 - 159e: 3814 subs r0, #20 - 15a0: 4b03 ldr r3, [pc, #12] ; (15b0 ) - 15a2: 4798 blx r3 -} - 15a4: 2800 cmp r0, #0 - 15a6: bf08 it eq - 15a8: 4620 moveq r0, r4 - 15aa: b004 add sp, #16 - 15ac: bd10 pop {r4, pc} - 15ae: bf00 nop - 15b0: 000020b5 .word 0x000020b5 - -000015b4 : - -/** - * \brief Sync version of i2c initialize - */ -int32_t i2c_m_sync_init(struct i2c_m_sync_desc *i2c, void *hw) -{ - 15b4: b538 push {r3, r4, r5, lr} - 15b6: 460d mov r5, r1 - int32_t init_status; - ASSERT(i2c); - 15b8: 4604 mov r4, r0 - 15ba: 225e movs r2, #94 ; 0x5e - 15bc: 4908 ldr r1, [pc, #32] ; (15e0 ) - 15be: 3000 adds r0, #0 - 15c0: bf18 it ne - 15c2: 2001 movne r0, #1 - 15c4: 4b07 ldr r3, [pc, #28] ; (15e4 ) - 15c6: 4798 blx r3 - - init_status = _i2c_m_sync_init(&i2c->device, hw); - 15c8: 4629 mov r1, r5 - 15ca: 4620 mov r0, r4 - 15cc: 4b06 ldr r3, [pc, #24] ; (15e8 ) - 15ce: 4798 blx r3 - if (init_status) { - 15d0: 4603 mov r3, r0 - 15d2: b918 cbnz r0, 15dc - return init_status; - } - - /* Init I/O */ - i2c->io.read = i2c_m_sync_read; - 15d4: 4a05 ldr r2, [pc, #20] ; (15ec ) - 15d6: 61a2 str r2, [r4, #24] - i2c->io.write = i2c_m_sync_write; - 15d8: 4a05 ldr r2, [pc, #20] ; (15f0 ) - 15da: 6162 str r2, [r4, #20] - - return ERR_NONE; -} - 15dc: 4618 mov r0, r3 - 15de: bd38 pop {r3, r4, r5, pc} - 15e0: 0001af7c .word 0x0001af7c - 15e4: 00001a89 .word 0x00001a89 - 15e8: 00002085 .word 0x00002085 - 15ec: 00001585 .word 0x00001585 - 15f0: 00001555 .word 0x00001555 - -000015f4 : + 1522: 4b04 ldr r3, [pc, #16] ; (1534 ) + 1524: 681c ldr r4, [r3, #0] + 1526: 4b04 ldr r3, [pc, #16] ; (1538 ) + 1528: 4798 blx r3 + 152a: 4601 mov r1, r0 + 152c: 4620 mov r0, r4 + 152e: 4b03 ldr r3, [pc, #12] ; (153c ) + 1530: 4798 blx r3 + 1532: bd10 pop {r4, pc} + 1534: 200000c4 .word 0x200000c4 + 1538: 00001b69 .word 0x00001b69 + 153c: 00001b91 .word 0x00001b91 + +00001540 : /** * \brief I/O write interface */ int32_t io_write(struct io_descriptor *const io_descr, const uint8_t *const buf, const uint16_t length) { - 15f4: b570 push {r4, r5, r6, lr} - 15f6: 460d mov r5, r1 - 15f8: 4616 mov r6, r2 + 1540: b570 push {r4, r5, r6, lr} + 1542: 460d mov r5, r1 + 1544: 4616 mov r6, r2 ASSERT(io_descr && buf); - 15fa: 4604 mov r4, r0 - 15fc: b160 cbz r0, 1618 - 15fe: 1c08 adds r0, r1, #0 - 1600: bf18 it ne - 1602: 2001 movne r0, #1 - 1604: 2234 movs r2, #52 ; 0x34 - 1606: 4905 ldr r1, [pc, #20] ; (161c ) - 1608: 4b05 ldr r3, [pc, #20] ; (1620 ) - 160a: 4798 blx r3 + 1546: 4604 mov r4, r0 + 1548: b160 cbz r0, 1564 + 154a: 1c08 adds r0, r1, #0 + 154c: bf18 it ne + 154e: 2001 movne r0, #1 + 1550: 2234 movs r2, #52 ; 0x34 + 1552: 4905 ldr r1, [pc, #20] ; (1568 ) + 1554: 4b05 ldr r3, [pc, #20] ; (156c ) + 1556: 4798 blx r3 return io_descr->write(io_descr, buf, length); - 160c: 6823 ldr r3, [r4, #0] - 160e: 4632 mov r2, r6 - 1610: 4629 mov r1, r5 - 1612: 4620 mov r0, r4 - 1614: 4798 blx r3 -} - 1616: bd70 pop {r4, r5, r6, pc} - 1618: 2000 movs r0, #0 - 161a: e7f3 b.n 1604 - 161c: 0001af98 .word 0x0001af98 - 1620: 00001a89 .word 0x00001a89 - -00001624 : + 1558: 6823 ldr r3, [r4, #0] + 155a: 4632 mov r2, r6 + 155c: 4629 mov r1, r5 + 155e: 4620 mov r0, r4 + 1560: 4798 blx r3 +} + 1562: bd70 pop {r4, r5, r6, pc} + 1564: 2000 movs r0, #0 + 1566: e7f3 b.n 1550 + 1568: 0001b54c .word 0x0001b54c + 156c: 000019d5 .word 0x000019d5 + +00001570 : * \param[in] head The pointer to the head of timer task list * \param[in] task The pointer to task to add * \param[in] time Current timer time */ static void timer_add_timer_task(struct list_descriptor *list, struct timer_task *const new_task, const uint32_t time) { - 1624: b5f8 push {r3, r4, r5, r6, r7, lr} - 1626: 4684 mov ip, r0 + 1570: b5f8 push {r3, r4, r5, r6, r7, lr} + 1572: 4684 mov ip, r0 * \return A pointer to the head of the given list or NULL if the list is * empty */ static inline void *list_get_head(const struct list_descriptor *const list) { return (void *)list->head; - 1628: 6807 ldr r7, [r0, #0] + 1574: 6807 ldr r7, [r0, #0] struct timer_task *it, *prev = NULL, *head = (struct timer_task *)list_get_head(list); if (!head) { - 162a: b12f cbz r7, 1638 + 1576: b12f cbz r7, 1584 if (it->time_label <= time) { time_left = it->interval - (time - it->time_label); } else { time_left = it->interval - (0xFFFFFFFF - it->time_label) - time; } if (time_left >= new_task->interval) - 162c: 688d ldr r5, [r1, #8] - 162e: 463c mov r4, r7 - 1630: 2600 movs r6, #0 + 1578: 688d ldr r5, [r1, #8] + 157a: 463c mov r4, r7 + 157c: 2600 movs r6, #0 time_left = it->interval - (0xFFFFFFFF - it->time_label) - time; - 1632: f1c2 0e01 rsb lr, r2, #1 - 1636: e00b b.n 1650 + 157e: f1c2 0e01 rsb lr, r2, #1 + 1582: e00b b.n 159c list_insert_as_head(list, new_task); - 1638: 4b0e ldr r3, [pc, #56] ; (1674 ) - 163a: 4798 blx r3 + 1584: 4b0e ldr r3, [pc, #56] ; (15c0 ) + 1586: 4798 blx r3 return; - 163c: bdf8 pop {r3, r4, r5, r6, r7, pc} + 1588: bdf8 pop {r3, r4, r5, r6, r7, pc} time_left = it->interval - (0xFFFFFFFF - it->time_label) - time; - 163e: 4473 add r3, lr - 1640: 68a0 ldr r0, [r4, #8] - 1642: 4403 add r3, r0 + 158a: 4473 add r3, lr + 158c: 68a0 ldr r0, [r4, #8] + 158e: 4403 add r3, r0 if (time_left >= new_task->interval) - 1644: 42ab cmp r3, r5 - 1646: d20a bcs.n 165e + 1590: 42ab cmp r3, r5 + 1592: d20a bcs.n 15aa * \return A pointer to the next list element or NULL if there is not next * element */ static inline void *list_get_next_element(const void *const element) { return element ? ((struct list_element *)element)->next : NULL; - 1648: 6823 ldr r3, [r4, #0] - 164a: 4626 mov r6, r4 + 1594: 6823 ldr r3, [r4, #0] + 1596: 4626 mov r6, r4 for (it = head; it; it = (struct timer_task *)list_get_next_element(it)) { - 164c: b153 cbz r3, 1664 - 164e: 461c mov r4, r3 + 1598: b153 cbz r3, 15b0 + 159a: 461c mov r4, r3 if (it->time_label <= time) { - 1650: 6863 ldr r3, [r4, #4] - 1652: 4293 cmp r3, r2 - 1654: d8f3 bhi.n 163e + 159c: 6863 ldr r3, [r4, #4] + 159e: 4293 cmp r3, r2 + 15a0: d8f3 bhi.n 158a time_left = it->interval - (time - it->time_label); - 1656: 68a0 ldr r0, [r4, #8] - 1658: 4403 add r3, r0 - 165a: 1a9b subs r3, r3, r2 - 165c: e7f2 b.n 1644 + 15a2: 68a0 ldr r0, [r4, #8] + 15a4: 4403 add r3, r0 + 15a6: 1a9b subs r3, r3, r2 + 15a8: e7f2 b.n 1590 break; prev = it; } if (it == head) { - 165e: 42a7 cmp r7, r4 - 1660: d004 beq.n 166c - 1662: 4634 mov r4, r6 + 15aa: 42a7 cmp r7, r4 + 15ac: d004 beq.n 15b8 + 15ae: 4634 mov r4, r6 list_insert_as_head(list, new_task); } else { list_insert_after(prev, new_task); - 1664: 4620 mov r0, r4 - 1666: 4b04 ldr r3, [pc, #16] ; (1678 ) - 1668: 4798 blx r3 - 166a: bdf8 pop {r3, r4, r5, r6, r7, pc} + 15b0: 4620 mov r0, r4 + 15b2: 4b04 ldr r3, [pc, #16] ; (15c4 ) + 15b4: 4798 blx r3 + 15b6: bdf8 pop {r3, r4, r5, r6, r7, pc} list_insert_as_head(list, new_task); - 166c: 4660 mov r0, ip - 166e: 4b01 ldr r3, [pc, #4] ; (1674 ) - 1670: 4798 blx r3 - 1672: bdf8 pop {r3, r4, r5, r6, r7, pc} - 1674: 00001ab1 .word 0x00001ab1 - 1678: 00001add .word 0x00001add + 15b8: 4660 mov r0, ip + 15ba: 4b01 ldr r3, [pc, #4] ; (15c0 ) + 15bc: 4798 blx r3 + 15be: bdf8 pop {r3, r4, r5, r6, r7, pc} + 15c0: 000019fd .word 0x000019fd + 15c4: 00001a29 .word 0x00001a29 -0000167c : +000015c8 : /** * \internal Process interrupts */ static void timer_process_counted(struct _timer_device *device) { - 167c: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} + 15c8: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} return (void *)list->head; - 1680: 6944 ldr r4, [r0, #20] + 15cc: 6944 ldr r4, [r0, #20] struct timer_descriptor *timer = CONTAINER_OF(device, struct timer_descriptor, device); struct timer_task * it = (struct timer_task *)list_get_head(&timer->tasks); uint32_t time = ++timer->time; - 1682: 6907 ldr r7, [r0, #16] - 1684: 3701 adds r7, #1 - 1686: 6107 str r7, [r0, #16] + 15ce: 6907 ldr r7, [r0, #16] + 15d0: 3701 adds r7, #1 + 15d2: 6107 str r7, [r0, #16] if ((timer->flags & TIMER_FLAG_QUEUE_IS_TAKEN) || (timer->flags & TIMER_FLAG_INTERRUPT_TRIGERRED)) { - 1688: 7e03 ldrb r3, [r0, #24] - 168a: f013 0f01 tst.w r3, #1 - 168e: d113 bne.n 16b8 - 1690: 7e03 ldrb r3, [r0, #24] - 1692: f013 0f02 tst.w r3, #2 - 1696: d10f bne.n 16b8 + 15d4: 7e03 ldrb r3, [r0, #24] + 15d6: f013 0f01 tst.w r3, #1 + 15da: d113 bne.n 1604 + 15dc: 7e03 ldrb r3, [r0, #24] + 15de: f013 0f02 tst.w r3, #2 + 15e2: d10f bne.n 1604 timer->flags |= TIMER_FLAG_INTERRUPT_TRIGERRED; return; } while (it && ((time - it->time_label) >= it->interval)) { - 1698: b354 cbz r4, 16f0 - 169a: 6863 ldr r3, [r4, #4] - 169c: 1afb subs r3, r7, r3 - 169e: 68a2 ldr r2, [r4, #8] - 16a0: 4293 cmp r3, r2 - 16a2: d307 bcc.n 16b4 - 16a4: 4606 mov r6, r0 + 15e4: b354 cbz r4, 163c + 15e6: 6863 ldr r3, [r4, #4] + 15e8: 1afb subs r3, r7, r3 + 15ea: 68a2 ldr r2, [r4, #8] + 15ec: 4293 cmp r3, r2 + 15ee: d307 bcc.n 1600 + 15f0: 4606 mov r6, r0 struct timer_task *tmp = it; list_remove_head(&timer->tasks); - 16a6: f100 0814 add.w r8, r0, #20 - 16aa: f8df 9048 ldr.w r9, [pc, #72] ; 16f4 + 15f2: f100 0814 add.w r8, r0, #20 + 15f6: f8df 9048 ldr.w r9, [pc, #72] ; 1640 if (TIMER_TASK_REPEAT == tmp->mode) { tmp->time_label = time; timer_add_timer_task(&timer->tasks, tmp, time); - 16ae: f8df a048 ldr.w sl, [pc, #72] ; 16f8 - 16b2: e012 b.n 16da - 16b4: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + 15fa: f8df a048 ldr.w sl, [pc, #72] ; 1644 + 15fe: e012 b.n 1626 + 1600: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} timer->flags |= TIMER_FLAG_INTERRUPT_TRIGERRED; - 16b8: 7e03 ldrb r3, [r0, #24] - 16ba: f043 0302 orr.w r3, r3, #2 - 16be: 7603 strb r3, [r0, #24] + 1604: 7e03 ldrb r3, [r0, #24] + 1606: f043 0302 orr.w r3, r3, #2 + 160a: 7603 strb r3, [r0, #24] return; - 16c0: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} - 16c4: 6975 ldr r5, [r6, #20] + 160c: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + 1610: 6975 ldr r5, [r6, #20] } it = (struct timer_task *)list_get_head(&timer->tasks); tmp->cb(tmp); - 16c6: 68e3 ldr r3, [r4, #12] - 16c8: 4620 mov r0, r4 - 16ca: 4798 blx r3 + 1612: 68e3 ldr r3, [r4, #12] + 1614: 4620 mov r0, r4 + 1616: 4798 blx r3 while (it && ((time - it->time_label) >= it->interval)) { - 16cc: b185 cbz r5, 16f0 + 1618: b185 cbz r5, 163c it = (struct timer_task *)list_get_head(&timer->tasks); - 16ce: 462c mov r4, r5 + 161a: 462c mov r4, r5 while (it && ((time - it->time_label) >= it->interval)) { - 16d0: 686b ldr r3, [r5, #4] - 16d2: 1afb subs r3, r7, r3 - 16d4: 68aa ldr r2, [r5, #8] - 16d6: 4293 cmp r3, r2 - 16d8: d30a bcc.n 16f0 + 161c: 686b ldr r3, [r5, #4] + 161e: 1afb subs r3, r7, r3 + 1620: 68aa ldr r2, [r5, #8] + 1622: 4293 cmp r3, r2 + 1624: d30a bcc.n 163c list_remove_head(&timer->tasks); - 16da: 4640 mov r0, r8 - 16dc: 47c8 blx r9 + 1626: 4640 mov r0, r8 + 1628: 47c8 blx r9 if (TIMER_TASK_REPEAT == tmp->mode) { - 16de: 7c23 ldrb r3, [r4, #16] - 16e0: 2b01 cmp r3, #1 - 16e2: d1ef bne.n 16c4 + 162a: 7c23 ldrb r3, [r4, #16] + 162c: 2b01 cmp r3, #1 + 162e: d1ef bne.n 1610 tmp->time_label = time; - 16e4: 6067 str r7, [r4, #4] + 1630: 6067 str r7, [r4, #4] timer_add_timer_task(&timer->tasks, tmp, time); - 16e6: 463a mov r2, r7 - 16e8: 4621 mov r1, r4 - 16ea: 4640 mov r0, r8 - 16ec: 47d0 blx sl - 16ee: e7e9 b.n 16c4 - 16f0: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} - 16f4: 00001ae5 .word 0x00001ae5 - 16f8: 00001625 .word 0x00001625 - -000016fc : -{ - 16fc: b538 push {r3, r4, r5, lr} - 16fe: 460d mov r5, r1 + 1632: 463a mov r2, r7 + 1634: 4621 mov r1, r4 + 1636: 4640 mov r0, r8 + 1638: 47d0 blx sl + 163a: e7e9 b.n 1610 + 163c: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + 1640: 00001a31 .word 0x00001a31 + 1644: 00001571 .word 0x00001571 + +00001648 : +{ + 1648: b538 push {r3, r4, r5, lr} + 164a: 460d mov r5, r1 ASSERT(descr && hw); - 1700: 4604 mov r4, r0 - 1702: b178 cbz r0, 1724 - 1704: 1c08 adds r0, r1, #0 - 1706: bf18 it ne - 1708: 2001 movne r0, #1 - 170a: 223b movs r2, #59 ; 0x3b - 170c: 4906 ldr r1, [pc, #24] ; (1728 ) - 170e: 4b07 ldr r3, [pc, #28] ; (172c ) - 1710: 4798 blx r3 + 164c: 4604 mov r4, r0 + 164e: b178 cbz r0, 1670 + 1650: 1c08 adds r0, r1, #0 + 1652: bf18 it ne + 1654: 2001 movne r0, #1 + 1656: 223b movs r2, #59 ; 0x3b + 1658: 4906 ldr r1, [pc, #24] ; (1674 ) + 165a: 4b07 ldr r3, [pc, #28] ; (1678 ) + 165c: 4798 blx r3 _timer_init(&descr->device, hw); - 1712: 4629 mov r1, r5 - 1714: 4620 mov r0, r4 - 1716: 4b06 ldr r3, [pc, #24] ; (1730 ) - 1718: 4798 blx r3 + 165e: 4629 mov r1, r5 + 1660: 4620 mov r0, r4 + 1662: 4b06 ldr r3, [pc, #24] ; (167c ) + 1664: 4798 blx r3 descr->time = 0; - 171a: 2000 movs r0, #0 - 171c: 6120 str r0, [r4, #16] + 1666: 2000 movs r0, #0 + 1668: 6120 str r0, [r4, #16] descr->device.timer_cb.period_expired = timer_process_counted; - 171e: 4b05 ldr r3, [pc, #20] ; (1734 ) - 1720: 6023 str r3, [r4, #0] + 166a: 4b05 ldr r3, [pc, #20] ; (1680 ) + 166c: 6023 str r3, [r4, #0] } - 1722: bd38 pop {r3, r4, r5, pc} - 1724: 2000 movs r0, #0 - 1726: e7f0 b.n 170a - 1728: 0001afac .word 0x0001afac - 172c: 00001a89 .word 0x00001a89 - 1730: 00002681 .word 0x00002681 - 1734: 0000167d .word 0x0000167d + 166e: bd38 pop {r3, r4, r5, pc} + 1670: 2000 movs r0, #0 + 1672: e7f0 b.n 1656 + 1674: 0001b560 .word 0x0001b560 + 1678: 000019d5 .word 0x000019d5 + 167c: 00001f7d .word 0x00001f7d + 1680: 000015c9 .word 0x000015c9 -00001738 : +00001684 : { - 1738: b510 push {r4, lr} + 1684: b510 push {r4, lr} ASSERT(descr); - 173a: 4604 mov r4, r0 - 173c: 2253 movs r2, #83 ; 0x53 - 173e: 4909 ldr r1, [pc, #36] ; (1764 ) - 1740: 3000 adds r0, #0 - 1742: bf18 it ne - 1744: 2001 movne r0, #1 - 1746: 4b08 ldr r3, [pc, #32] ; (1768 ) - 1748: 4798 blx r3 + 1686: 4604 mov r4, r0 + 1688: 2253 movs r2, #83 ; 0x53 + 168a: 4909 ldr r1, [pc, #36] ; (16b0 ) + 168c: 3000 adds r0, #0 + 168e: bf18 it ne + 1690: 2001 movne r0, #1 + 1692: 4b08 ldr r3, [pc, #32] ; (16b4 ) + 1694: 4798 blx r3 if (_timer_is_started(&descr->device)) { - 174a: 4620 mov r0, r4 - 174c: 4b07 ldr r3, [pc, #28] ; (176c ) - 174e: 4798 blx r3 - 1750: b920 cbnz r0, 175c + 1696: 4620 mov r0, r4 + 1698: 4b07 ldr r3, [pc, #28] ; (16b8 ) + 169a: 4798 blx r3 + 169c: b920 cbnz r0, 16a8 _timer_start(&descr->device); - 1752: 4620 mov r0, r4 - 1754: 4b06 ldr r3, [pc, #24] ; (1770 ) - 1756: 4798 blx r3 + 169e: 4620 mov r0, r4 + 16a0: 4b06 ldr r3, [pc, #24] ; (16bc ) + 16a2: 4798 blx r3 return ERR_NONE; - 1758: 2000 movs r0, #0 - 175a: bd10 pop {r4, pc} + 16a4: 2000 movs r0, #0 + 16a6: bd10 pop {r4, pc} return ERR_DENIED; - 175c: f06f 0010 mvn.w r0, #16 + 16a8: f06f 0010 mvn.w r0, #16 } - 1760: bd10 pop {r4, pc} - 1762: bf00 nop - 1764: 0001afac .word 0x0001afac - 1768: 00001a89 .word 0x00001a89 - 176c: 0000283d .word 0x0000283d - 1770: 00002829 .word 0x00002829 + 16ac: bd10 pop {r4, pc} + 16ae: bf00 nop + 16b0: 0001b560 .word 0x0001b560 + 16b4: 000019d5 .word 0x000019d5 + 16b8: 00002139 .word 0x00002139 + 16bc: 00002125 .word 0x00002125 -00001774 : +000016c0 : { - 1774: b570 push {r4, r5, r6, lr} - 1776: b082 sub sp, #8 - 1778: 460d mov r5, r1 + 16c0: b570 push {r4, r5, r6, lr} + 16c2: b082 sub sp, #8 + 16c4: 460d mov r5, r1 ASSERT(descr && task); - 177a: 4604 mov r4, r0 - 177c: b318 cbz r0, 17c6 - 177e: 1c08 adds r0, r1, #0 - 1780: bf18 it ne - 1782: 2001 movne r0, #1 - 1784: 227a movs r2, #122 ; 0x7a - 1786: 491e ldr r1, [pc, #120] ; (1800 ) - 1788: 4b1e ldr r3, [pc, #120] ; (1804 ) - 178a: 4798 blx r3 + 16c6: 4604 mov r4, r0 + 16c8: b318 cbz r0, 1712 + 16ca: 1c08 adds r0, r1, #0 + 16cc: bf18 it ne + 16ce: 2001 movne r0, #1 + 16d0: 227a movs r2, #122 ; 0x7a + 16d2: 491e ldr r1, [pc, #120] ; (174c ) + 16d4: 4b1e ldr r3, [pc, #120] ; (1750 ) + 16d6: 4798 blx r3 descr->flags |= TIMER_FLAG_QUEUE_IS_TAKEN; - 178c: 7e23 ldrb r3, [r4, #24] - 178e: f043 0301 orr.w r3, r3, #1 - 1792: 7623 strb r3, [r4, #24] + 16d8: 7e23 ldrb r3, [r4, #24] + 16da: f043 0301 orr.w r3, r3, #1 + 16de: 7623 strb r3, [r4, #24] if (is_list_element(&descr->tasks, task)) { - 1794: f104 0614 add.w r6, r4, #20 - 1798: 4629 mov r1, r5 - 179a: 4630 mov r0, r6 - 179c: 4b1a ldr r3, [pc, #104] ; (1808 ) - 179e: 4798 blx r3 - 17a0: b998 cbnz r0, 17ca + 16e0: f104 0614 add.w r6, r4, #20 + 16e4: 4629 mov r1, r5 + 16e6: 4630 mov r0, r6 + 16e8: 4b1a ldr r3, [pc, #104] ; (1754 ) + 16ea: 4798 blx r3 + 16ec: b998 cbnz r0, 1716 task->time_label = descr->time; - 17a2: 6923 ldr r3, [r4, #16] - 17a4: 606b str r3, [r5, #4] + 16ee: 6923 ldr r3, [r4, #16] + 16f0: 606b str r3, [r5, #4] timer_add_timer_task(&descr->tasks, task, descr->time); - 17a6: 6922 ldr r2, [r4, #16] - 17a8: 4629 mov r1, r5 - 17aa: 4630 mov r0, r6 - 17ac: 4b17 ldr r3, [pc, #92] ; (180c ) - 17ae: 4798 blx r3 + 16f2: 6922 ldr r2, [r4, #16] + 16f4: 4629 mov r1, r5 + 16f6: 4630 mov r0, r6 + 16f8: 4b17 ldr r3, [pc, #92] ; (1758 ) + 16fa: 4798 blx r3 descr->flags &= ~TIMER_FLAG_QUEUE_IS_TAKEN; - 17b0: 7e23 ldrb r3, [r4, #24] - 17b2: f003 03fe and.w r3, r3, #254 ; 0xfe - 17b6: 7623 strb r3, [r4, #24] + 16fc: 7e23 ldrb r3, [r4, #24] + 16fe: f003 03fe and.w r3, r3, #254 ; 0xfe + 1702: 7623 strb r3, [r4, #24] if (descr->flags & TIMER_FLAG_INTERRUPT_TRIGERRED) { - 17b8: 7e23 ldrb r3, [r4, #24] - 17ba: f013 0f02 tst.w r3, #2 - 17be: d110 bne.n 17e2 + 1704: 7e23 ldrb r3, [r4, #24] + 1706: f013 0f02 tst.w r3, #2 + 170a: d110 bne.n 172e return ERR_NONE; - 17c0: 2000 movs r0, #0 + 170c: 2000 movs r0, #0 } - 17c2: b002 add sp, #8 - 17c4: bd70 pop {r4, r5, r6, pc} - 17c6: 2000 movs r0, #0 - 17c8: e7dc b.n 1784 + 170e: b002 add sp, #8 + 1710: bd70 pop {r4, r5, r6, pc} + 1712: 2000 movs r0, #0 + 1714: e7dc b.n 16d0 descr->flags &= ~TIMER_FLAG_QUEUE_IS_TAKEN; - 17ca: 7e23 ldrb r3, [r4, #24] - 17cc: f003 03fe and.w r3, r3, #254 ; 0xfe - 17d0: 7623 strb r3, [r4, #24] + 1716: 7e23 ldrb r3, [r4, #24] + 1718: f003 03fe and.w r3, r3, #254 ; 0xfe + 171c: 7623 strb r3, [r4, #24] ASSERT(false); - 17d2: 227f movs r2, #127 ; 0x7f - 17d4: 490a ldr r1, [pc, #40] ; (1800 ) - 17d6: 2000 movs r0, #0 - 17d8: 4b0a ldr r3, [pc, #40] ; (1804 ) - 17da: 4798 blx r3 + 171e: 227f movs r2, #127 ; 0x7f + 1720: 490a ldr r1, [pc, #40] ; (174c ) + 1722: 2000 movs r0, #0 + 1724: 4b0a ldr r3, [pc, #40] ; (1750 ) + 1726: 4798 blx r3 return ERR_ALREADY_INITIALIZED; - 17dc: f06f 0011 mvn.w r0, #17 - 17e0: e7ef b.n 17c2 + 1728: f06f 0011 mvn.w r0, #17 + 172c: e7ef b.n 170e CRITICAL_SECTION_ENTER() - 17e2: a801 add r0, sp, #4 - 17e4: 4b0a ldr r3, [pc, #40] ; (1810 ) - 17e6: 4798 blx r3 + 172e: a801 add r0, sp, #4 + 1730: 4b0a ldr r3, [pc, #40] ; (175c ) + 1732: 4798 blx r3 descr->flags &= ~TIMER_FLAG_INTERRUPT_TRIGERRED; - 17e8: 7e23 ldrb r3, [r4, #24] - 17ea: f003 03fd and.w r3, r3, #253 ; 0xfd - 17ee: 7623 strb r3, [r4, #24] + 1734: 7e23 ldrb r3, [r4, #24] + 1736: f003 03fd and.w r3, r3, #253 ; 0xfd + 173a: 7623 strb r3, [r4, #24] _timer_set_irq(&descr->device); - 17f0: 4620 mov r0, r4 - 17f2: 4b08 ldr r3, [pc, #32] ; (1814 ) - 17f4: 4798 blx r3 + 173c: 4620 mov r0, r4 + 173e: 4b08 ldr r3, [pc, #32] ; (1760 ) + 1740: 4798 blx r3 CRITICAL_SECTION_LEAVE() - 17f6: a801 add r0, sp, #4 - 17f8: 4b07 ldr r3, [pc, #28] ; (1818 ) - 17fa: 4798 blx r3 + 1742: a801 add r0, sp, #4 + 1744: 4b07 ldr r3, [pc, #28] ; (1764 ) + 1746: 4798 blx r3 return ERR_NONE; - 17fc: 2000 movs r0, #0 - 17fe: e7e0 b.n 17c2 - 1800: 0001afac .word 0x0001afac - 1804: 00001a89 .word 0x00001a89 - 1808: 00001a8f .word 0x00001a8f - 180c: 00001625 .word 0x00001625 - 1810: 000014e5 .word 0x000014e5 - 1814: 00002855 .word 0x00002855 - 1818: 000014f3 .word 0x000014f3 - -0000181c : + 1748: 2000 movs r0, #0 + 174a: e7e0 b.n 170e + 174c: 0001b560 .word 0x0001b560 + 1750: 000019d5 .word 0x000019d5 + 1754: 000019db .word 0x000019db + 1758: 00001571 .word 0x00001571 + 175c: 000014d1 .word 0x000014d1 + 1760: 00002151 .word 0x00002151 + 1764: 000014df .word 0x000014df + +00001768 : * \brief Process completion of data sending * * \param[in] device The pointer to device structure */ static void usart_transmission_complete(struct _usart_async_device *device) { - 181c: b508 push {r3, lr} + 1768: b508 push {r3, lr} struct usart_async_descriptor *descr = CONTAINER_OF(device, struct usart_async_descriptor, device); descr->stat = 0; - 181e: 2300 movs r3, #0 - 1820: 6283 str r3, [r0, #40] ; 0x28 + 176a: 2300 movs r3, #0 + 176c: 6283 str r3, [r0, #40] ; 0x28 if (descr->usart_cb.tx_done) { - 1822: 69c3 ldr r3, [r0, #28] - 1824: b11b cbz r3, 182e - 1826: f1a0 0208 sub.w r2, r0, #8 + 176e: 69c3 ldr r3, [r0, #28] + 1770: b11b cbz r3, 177a + 1772: f1a0 0208 sub.w r2, r0, #8 descr->usart_cb.tx_done(descr); - 182a: 4610 mov r0, r2 - 182c: 4798 blx r3 - 182e: bd08 pop {r3, pc} + 1776: 4610 mov r0, r2 + 1778: 4798 blx r3 + 177a: bd08 pop {r3, pc} -00001830 : +0000177c : * \brief Process error interrupt * * \param[in] device The pointer to device structure */ static void usart_error(struct _usart_async_device *device) { - 1830: b508 push {r3, lr} + 177c: b508 push {r3, lr} struct usart_async_descriptor *descr = CONTAINER_OF(device, struct usart_async_descriptor, device); descr->stat = 0; - 1832: 2300 movs r3, #0 - 1834: 6283 str r3, [r0, #40] ; 0x28 + 177e: 2300 movs r3, #0 + 1780: 6283 str r3, [r0, #40] ; 0x28 if (descr->usart_cb.error) { - 1836: 6a43 ldr r3, [r0, #36] ; 0x24 - 1838: b11b cbz r3, 1842 - 183a: f1a0 0208 sub.w r2, r0, #8 + 1782: 6a43 ldr r3, [r0, #36] ; 0x24 + 1784: b11b cbz r3, 178e + 1786: f1a0 0208 sub.w r2, r0, #8 descr->usart_cb.error(descr); - 183e: 4610 mov r0, r2 - 1840: 4798 blx r3 - 1842: bd08 pop {r3, pc} + 178a: 4610 mov r0, r2 + 178c: 4798 blx r3 + 178e: bd08 pop {r3, pc} -00001844 : +00001790 : { - 1844: b538 push {r3, r4, r5, lr} - 1846: 4604 mov r4, r0 + 1790: b538 push {r3, r4, r5, lr} + 1792: 4604 mov r4, r0 struct usart_async_descriptor *descr = CONTAINER_OF(device, struct usart_async_descriptor, device); - 1848: f1a0 0508 sub.w r5, r0, #8 + 1794: f1a0 0508 sub.w r5, r0, #8 ringbuffer_put(&descr->rx, data); - 184c: 302c adds r0, #44 ; 0x2c - 184e: 4b03 ldr r3, [pc, #12] ; (185c ) - 1850: 4798 blx r3 + 1798: 302c adds r0, #44 ; 0x2c + 179a: 4b03 ldr r3, [pc, #12] ; (17a8 ) + 179c: 4798 blx r3 if (descr->usart_cb.rx_done) { - 1852: 6a23 ldr r3, [r4, #32] - 1854: b10b cbz r3, 185a + 179e: 6a23 ldr r3, [r4, #32] + 17a0: b10b cbz r3, 17a6 descr->usart_cb.rx_done(descr); - 1856: 4628 mov r0, r5 - 1858: 4798 blx r3 - 185a: bd38 pop {r3, r4, r5, pc} - 185c: 00001b85 .word 0x00001b85 + 17a2: 4628 mov r0, r5 + 17a4: 4798 blx r3 + 17a6: bd38 pop {r3, r4, r5, pc} + 17a8: 00001ad1 .word 0x00001ad1 -00001860 : +000017ac : { - 1860: b570 push {r4, r5, r6, lr} - 1862: 460e mov r6, r1 - 1864: 4615 mov r5, r2 + 17ac: b570 push {r4, r5, r6, lr} + 17ae: 460e mov r6, r1 + 17b0: 4615 mov r5, r2 ASSERT(descr && buf && length); - 1866: 4604 mov r4, r0 - 1868: b1e0 cbz r0, 18a4 - 186a: b1e9 cbz r1, 18a8 - 186c: 1c10 adds r0, r2, #0 - 186e: bf18 it ne - 1870: 2001 movne r0, #1 - 1872: f240 123b movw r2, #315 ; 0x13b - 1876: 490f ldr r1, [pc, #60] ; (18b4 ) - 1878: 4b0f ldr r3, [pc, #60] ; (18b8 ) - 187a: 4798 blx r3 + 17b2: 4604 mov r4, r0 + 17b4: b1e0 cbz r0, 17f0 + 17b6: b1e9 cbz r1, 17f4 + 17b8: 1c10 adds r0, r2, #0 + 17ba: bf18 it ne + 17bc: 2001 movne r0, #1 + 17be: f240 123b movw r2, #315 ; 0x13b + 17c2: 490f ldr r1, [pc, #60] ; (1800 ) + 17c4: 4b0f ldr r3, [pc, #60] ; (1804 ) + 17c6: 4798 blx r3 if (descr->tx_por != descr->tx_buffer_length) { - 187c: f8b4 2044 ldrh.w r2, [r4, #68] ; 0x44 - 1880: f8b4 304c ldrh.w r3, [r4, #76] ; 0x4c - 1884: 429a cmp r2, r3 - 1886: d111 bne.n 18ac + 17c8: f8b4 2044 ldrh.w r2, [r4, #68] ; 0x44 + 17cc: f8b4 304c ldrh.w r3, [r4, #76] ; 0x4c + 17d0: 429a cmp r2, r3 + 17d2: d111 bne.n 17f8 descr->tx_buffer = (uint8_t *)buf; - 1888: 64a6 str r6, [r4, #72] ; 0x48 + 17d4: 64a6 str r6, [r4, #72] ; 0x48 descr->tx_buffer_length = length; - 188a: f8a4 504c strh.w r5, [r4, #76] ; 0x4c + 17d6: f8a4 504c strh.w r5, [r4, #76] ; 0x4c descr->tx_por = 0; - 188e: 2300 movs r3, #0 - 1890: f8a4 3044 strh.w r3, [r4, #68] ; 0x44 + 17da: 2300 movs r3, #0 + 17dc: f8a4 3044 strh.w r3, [r4, #68] ; 0x44 descr->stat = USART_ASYNC_STATUS_BUSY; - 1894: 2301 movs r3, #1 - 1896: 6323 str r3, [r4, #48] ; 0x30 + 17e0: 2301 movs r3, #1 + 17e2: 6323 str r3, [r4, #48] ; 0x30 _usart_async_enable_byte_sent_irq(&descr->device); - 1898: f104 0008 add.w r0, r4, #8 - 189c: 4b07 ldr r3, [pc, #28] ; (18bc ) - 189e: 4798 blx r3 + 17e4: f104 0008 add.w r0, r4, #8 + 17e8: 4b07 ldr r3, [pc, #28] ; (1808 ) + 17ea: 4798 blx r3 return (int32_t)length; - 18a0: 4628 mov r0, r5 - 18a2: bd70 pop {r4, r5, r6, pc} + 17ec: 4628 mov r0, r5 + 17ee: bd70 pop {r4, r5, r6, pc} ASSERT(descr && buf && length); - 18a4: 2000 movs r0, #0 - 18a6: e7e4 b.n 1872 - 18a8: 2000 movs r0, #0 - 18aa: e7e2 b.n 1872 + 17f0: 2000 movs r0, #0 + 17f2: e7e4 b.n 17be + 17f4: 2000 movs r0, #0 + 17f6: e7e2 b.n 17be return ERR_NO_RESOURCE; - 18ac: f06f 001b mvn.w r0, #27 + 17f8: f06f 001b mvn.w r0, #27 } - 18b0: bd70 pop {r4, r5, r6, pc} - 18b2: bf00 nop - 18b4: 0001afc4 .word 0x0001afc4 - 18b8: 00001a89 .word 0x00001a89 - 18bc: 00002073 .word 0x00002073 + 17fc: bd70 pop {r4, r5, r6, pc} + 17fe: bf00 nop + 1800: 0001b578 .word 0x0001b578 + 1804: 000019d5 .word 0x000019d5 + 1808: 00001ebb .word 0x00001ebb -000018c0 : +0000180c : { - 18c0: b510 push {r4, lr} - 18c2: 4604 mov r4, r0 + 180c: b510 push {r4, lr} + 180e: 4604 mov r4, r0 if (descr->tx_por != descr->tx_buffer_length) { - 18c4: 8f83 ldrh r3, [r0, #60] ; 0x3c - 18c6: f8b0 2044 ldrh.w r2, [r0, #68] ; 0x44 - 18ca: 429a cmp r2, r3 - 18cc: d009 beq.n 18e2 + 1810: 8f83 ldrh r3, [r0, #60] ; 0x3c + 1812: f8b0 2044 ldrh.w r2, [r0, #68] ; 0x44 + 1816: 429a cmp r2, r3 + 1818: d009 beq.n 182e _usart_async_write_byte(&descr->device, descr->tx_buffer[descr->tx_por++]); - 18ce: 6c02 ldr r2, [r0, #64] ; 0x40 - 18d0: 1c59 adds r1, r3, #1 - 18d2: 8781 strh r1, [r0, #60] ; 0x3c - 18d4: 5cd1 ldrb r1, [r2, r3] - 18d6: 4b04 ldr r3, [pc, #16] ; (18e8 ) - 18d8: 4798 blx r3 + 181a: 6c02 ldr r2, [r0, #64] ; 0x40 + 181c: 1c59 adds r1, r3, #1 + 181e: 8781 strh r1, [r0, #60] ; 0x3c + 1820: 5cd1 ldrb r1, [r2, r3] + 1822: 4b04 ldr r3, [pc, #16] ; (1834 ) + 1824: 4798 blx r3 _usart_async_enable_byte_sent_irq(&descr->device); - 18da: 4620 mov r0, r4 - 18dc: 4b03 ldr r3, [pc, #12] ; (18ec ) - 18de: 4798 blx r3 - 18e0: bd10 pop {r4, pc} + 1826: 4620 mov r0, r4 + 1828: 4b03 ldr r3, [pc, #12] ; (1838 ) + 182a: 4798 blx r3 + 182c: bd10 pop {r4, pc} _usart_async_enable_tx_done_irq(&descr->device); - 18e2: 4b03 ldr r3, [pc, #12] ; (18f0 ) - 18e4: 4798 blx r3 - 18e6: bd10 pop {r4, pc} - 18e8: 0000206d .word 0x0000206d - 18ec: 00002073 .word 0x00002073 - 18f0: 0000207b .word 0x0000207b - -000018f4 : -{ - 18f4: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} - 18f8: b082 sub sp, #8 - 18fa: 460f mov r7, r1 - 18fc: 4690 mov r8, r2 + 182e: 4b03 ldr r3, [pc, #12] ; (183c ) + 1830: 4798 blx r3 + 1832: bd10 pop {r4, pc} + 1834: 00001eb5 .word 0x00001eb5 + 1838: 00001ebb .word 0x00001ebb + 183c: 00001ec3 .word 0x00001ec3 + +00001840 : +{ + 1840: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} + 1844: b082 sub sp, #8 + 1846: 460f mov r7, r1 + 1848: 4690 mov r8, r2 ASSERT(descr && buf && length); - 18fe: 4606 mov r6, r0 - 1900: b1a0 cbz r0, 192c - 1902: b199 cbz r1, 192c - 1904: 2a00 cmp r2, #0 - 1906: d12d bne.n 1964 - 1908: f44f 72ac mov.w r2, #344 ; 0x158 - 190c: 4929 ldr r1, [pc, #164] ; (19b4 ) - 190e: 2000 movs r0, #0 - 1910: 4b29 ldr r3, [pc, #164] ; (19b8 ) - 1912: 4798 blx r3 + 184a: 4606 mov r6, r0 + 184c: b1a0 cbz r0, 1878 + 184e: b199 cbz r1, 1878 + 1850: 2a00 cmp r2, #0 + 1852: d12d bne.n 18b0 + 1854: f44f 72ac mov.w r2, #344 ; 0x158 + 1858: 4929 ldr r1, [pc, #164] ; (1900 ) + 185a: 2000 movs r0, #0 + 185c: 4b29 ldr r3, [pc, #164] ; (1904 ) + 185e: 4798 blx r3 CRITICAL_SECTION_ENTER() - 1914: a801 add r0, sp, #4 - 1916: 4b29 ldr r3, [pc, #164] ; (19bc ) - 1918: 4798 blx r3 + 1860: a801 add r0, sp, #4 + 1862: 4b29 ldr r3, [pc, #164] ; (1908 ) + 1864: 4798 blx r3 num = ringbuffer_num(&descr->rx); - 191a: f106 0034 add.w r0, r6, #52 ; 0x34 - 191e: 4b28 ldr r3, [pc, #160] ; (19c0 ) - 1920: 4798 blx r3 + 1866: f106 0034 add.w r0, r6, #52 ; 0x34 + 186a: 4b28 ldr r3, [pc, #160] ; (190c ) + 186c: 4798 blx r3 CRITICAL_SECTION_LEAVE() - 1922: a801 add r0, sp, #4 - 1924: 4b27 ldr r3, [pc, #156] ; (19c4 ) - 1926: 4798 blx r3 + 186e: a801 add r0, sp, #4 + 1870: 4b27 ldr r3, [pc, #156] ; (1910 ) + 1872: 4798 blx r3 uint16_t was_read = 0; - 1928: 2500 movs r5, #0 + 1874: 2500 movs r5, #0 return (int32_t)was_read; - 192a: e03e b.n 19aa + 1876: e03e b.n 18f6 ASSERT(descr && buf && length); - 192c: f44f 72ac mov.w r2, #344 ; 0x158 - 1930: 4920 ldr r1, [pc, #128] ; (19b4 ) - 1932: 2000 movs r0, #0 - 1934: 4b20 ldr r3, [pc, #128] ; (19b8 ) - 1936: 4798 blx r3 + 1878: f44f 72ac mov.w r2, #344 ; 0x158 + 187c: 4920 ldr r1, [pc, #128] ; (1900 ) + 187e: 2000 movs r0, #0 + 1880: 4b20 ldr r3, [pc, #128] ; (1904 ) + 1882: 4798 blx r3 CRITICAL_SECTION_ENTER() - 1938: a801 add r0, sp, #4 - 193a: 4b20 ldr r3, [pc, #128] ; (19bc ) - 193c: 4798 blx r3 + 1884: a801 add r0, sp, #4 + 1886: 4b20 ldr r3, [pc, #128] ; (1908 ) + 1888: 4798 blx r3 num = ringbuffer_num(&descr->rx); - 193e: f106 0a34 add.w sl, r6, #52 ; 0x34 - 1942: 4650 mov r0, sl - 1944: 4b1e ldr r3, [pc, #120] ; (19c0 ) - 1946: 4798 blx r3 - 1948: 4681 mov r9, r0 + 188a: f106 0a34 add.w sl, r6, #52 ; 0x34 + 188e: 4650 mov r0, sl + 1890: 4b1e ldr r3, [pc, #120] ; (190c ) + 1892: 4798 blx r3 + 1894: 4681 mov r9, r0 CRITICAL_SECTION_LEAVE() - 194a: a801 add r0, sp, #4 - 194c: 4b1d ldr r3, [pc, #116] ; (19c4 ) - 194e: 4798 blx r3 + 1896: a801 add r0, sp, #4 + 1898: 4b1d ldr r3, [pc, #116] ; (1910 ) + 189a: 4798 blx r3 while ((was_read < num) && (was_read < length)) { - 1950: f1b9 0f00 cmp.w r9, #0 - 1954: d004 beq.n 1960 - 1956: f1b8 0f00 cmp.w r8, #0 - 195a: d119 bne.n 1990 + 189c: f1b9 0f00 cmp.w r9, #0 + 18a0: d004 beq.n 18ac + 18a2: f1b8 0f00 cmp.w r8, #0 + 18a6: d119 bne.n 18dc uint16_t was_read = 0; - 195c: 2500 movs r5, #0 - 195e: e024 b.n 19aa - 1960: 2500 movs r5, #0 - 1962: e022 b.n 19aa + 18a8: 2500 movs r5, #0 + 18aa: e024 b.n 18f6 + 18ac: 2500 movs r5, #0 + 18ae: e022 b.n 18f6 ASSERT(descr && buf && length); - 1964: f44f 72ac mov.w r2, #344 ; 0x158 - 1968: 4912 ldr r1, [pc, #72] ; (19b4 ) - 196a: 2001 movs r0, #1 - 196c: 4b12 ldr r3, [pc, #72] ; (19b8 ) - 196e: 4798 blx r3 + 18b0: f44f 72ac mov.w r2, #344 ; 0x158 + 18b4: 4912 ldr r1, [pc, #72] ; (1900 ) + 18b6: 2001 movs r0, #1 + 18b8: 4b12 ldr r3, [pc, #72] ; (1904 ) + 18ba: 4798 blx r3 CRITICAL_SECTION_ENTER() - 1970: a801 add r0, sp, #4 - 1972: 4b12 ldr r3, [pc, #72] ; (19bc ) - 1974: 4798 blx r3 + 18bc: a801 add r0, sp, #4 + 18be: 4b12 ldr r3, [pc, #72] ; (1908 ) + 18c0: 4798 blx r3 num = ringbuffer_num(&descr->rx); - 1976: f106 0a34 add.w sl, r6, #52 ; 0x34 - 197a: 4650 mov r0, sl - 197c: 4b10 ldr r3, [pc, #64] ; (19c0 ) - 197e: 4798 blx r3 - 1980: 4681 mov r9, r0 + 18c2: f106 0a34 add.w sl, r6, #52 ; 0x34 + 18c6: 4650 mov r0, sl + 18c8: 4b10 ldr r3, [pc, #64] ; (190c ) + 18ca: 4798 blx r3 + 18cc: 4681 mov r9, r0 CRITICAL_SECTION_LEAVE() - 1982: a801 add r0, sp, #4 - 1984: 4b0f ldr r3, [pc, #60] ; (19c4 ) - 1986: 4798 blx r3 + 18ce: a801 add r0, sp, #4 + 18d0: 4b0f ldr r3, [pc, #60] ; (1910 ) + 18d2: 4798 blx r3 uint16_t was_read = 0; - 1988: 2500 movs r5, #0 + 18d4: 2500 movs r5, #0 while ((was_read < num) && (was_read < length)) { - 198a: f1b9 0f00 cmp.w r9, #0 - 198e: d00c beq.n 19aa + 18d6: f1b9 0f00 cmp.w r9, #0 + 18da: d00c beq.n 18f6 { - 1990: 2400 movs r4, #0 + 18dc: 2400 movs r4, #0 ringbuffer_get(&descr->rx, &buf[was_read++]); - 1992: 4e0d ldr r6, [pc, #52] ; (19c8 ) - 1994: 1c60 adds r0, r4, #1 - 1996: b285 uxth r5, r0 - 1998: 1939 adds r1, r7, r4 - 199a: 4650 mov r0, sl - 199c: 47b0 blx r6 - 199e: 3401 adds r4, #1 + 18de: 4e0d ldr r6, [pc, #52] ; (1914 ) + 18e0: 1c60 adds r0, r4, #1 + 18e2: b285 uxth r5, r0 + 18e4: 1939 adds r1, r7, r4 + 18e6: 4650 mov r0, sl + 18e8: 47b0 blx r6 + 18ea: 3401 adds r4, #1 while ((was_read < num) && (was_read < length)) { - 19a0: 454c cmp r4, r9 - 19a2: d202 bcs.n 19aa - 19a4: b2a3 uxth r3, r4 - 19a6: 4598 cmp r8, r3 - 19a8: d8f4 bhi.n 1994 -} - 19aa: 4628 mov r0, r5 - 19ac: b002 add sp, #8 - 19ae: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} - 19b2: bf00 nop - 19b4: 0001afc4 .word 0x0001afc4 - 19b8: 00001a89 .word 0x00001a89 - 19bc: 000014e5 .word 0x000014e5 - 19c0: 00001bc5 .word 0x00001bc5 - 19c4: 000014f3 .word 0x000014f3 - 19c8: 00001b41 .word 0x00001b41 - -000019cc : -{ - 19cc: b5f8 push {r3, r4, r5, r6, r7, lr} - 19ce: 460d mov r5, r1 - 19d0: 4616 mov r6, r2 - 19d2: 461f mov r7, r3 + 18ec: 454c cmp r4, r9 + 18ee: d202 bcs.n 18f6 + 18f0: b2a3 uxth r3, r4 + 18f2: 4598 cmp r8, r3 + 18f4: d8f4 bhi.n 18e0 +} + 18f6: 4628 mov r0, r5 + 18f8: b002 add sp, #8 + 18fa: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + 18fe: bf00 nop + 1900: 0001b578 .word 0x0001b578 + 1904: 000019d5 .word 0x000019d5 + 1908: 000014d1 .word 0x000014d1 + 190c: 00001b11 .word 0x00001b11 + 1910: 000014df .word 0x000014df + 1914: 00001a8d .word 0x00001a8d + +00001918 : +{ + 1918: b5f8 push {r3, r4, r5, r6, r7, lr} + 191a: 460d mov r5, r1 + 191c: 4616 mov r6, r2 + 191e: 461f mov r7, r3 ASSERT(descr && hw && rx_buffer && rx_buffer_length); - 19d4: 4604 mov r4, r0 - 19d6: b320 cbz r0, 1a22 - 19d8: b329 cbz r1, 1a26 - 19da: b332 cbz r2, 1a2a - 19dc: 1c18 adds r0, r3, #0 - 19de: bf18 it ne - 19e0: 2001 movne r0, #1 - 19e2: 223a movs r2, #58 ; 0x3a - 19e4: 4913 ldr r1, [pc, #76] ; (1a34 ) - 19e6: 4b14 ldr r3, [pc, #80] ; (1a38 ) - 19e8: 4798 blx r3 + 1920: 4604 mov r4, r0 + 1922: b320 cbz r0, 196e + 1924: b329 cbz r1, 1972 + 1926: b332 cbz r2, 1976 + 1928: 1c18 adds r0, r3, #0 + 192a: bf18 it ne + 192c: 2001 movne r0, #1 + 192e: 223a movs r2, #58 ; 0x3a + 1930: 4913 ldr r1, [pc, #76] ; (1980 ) + 1932: 4b14 ldr r3, [pc, #80] ; (1984 ) + 1934: 4798 blx r3 if (ERR_NONE != ringbuffer_init(&descr->rx, rx_buffer, rx_buffer_length)) { - 19ea: 463a mov r2, r7 - 19ec: 4631 mov r1, r6 - 19ee: f104 0034 add.w r0, r4, #52 ; 0x34 - 19f2: 4b12 ldr r3, [pc, #72] ; (1a3c ) - 19f4: 4798 blx r3 - 19f6: b9d0 cbnz r0, 1a2e + 1936: 463a mov r2, r7 + 1938: 4631 mov r1, r6 + 193a: f104 0034 add.w r0, r4, #52 ; 0x34 + 193e: 4b12 ldr r3, [pc, #72] ; (1988 ) + 1940: 4798 blx r3 + 1942: b9d0 cbnz r0, 197a init_status = _usart_async_init(&descr->device, hw); - 19f8: 4629 mov r1, r5 - 19fa: f104 0008 add.w r0, r4, #8 - 19fe: 4b10 ldr r3, [pc, #64] ; (1a40 ) - 1a00: 4798 blx r3 + 1944: 4629 mov r1, r5 + 1946: f104 0008 add.w r0, r4, #8 + 194a: 4b10 ldr r3, [pc, #64] ; (198c ) + 194c: 4798 blx r3 if (init_status) { - 1a02: 4603 mov r3, r0 - 1a04: b958 cbnz r0, 1a1e + 194e: 4603 mov r3, r0 + 1950: b958 cbnz r0, 196a descr->io.read = usart_async_read; - 1a06: 4a0f ldr r2, [pc, #60] ; (1a44 ) - 1a08: 6062 str r2, [r4, #4] + 1952: 4a0f ldr r2, [pc, #60] ; (1990 ) + 1954: 6062 str r2, [r4, #4] descr->io.write = usart_async_write; - 1a0a: 4a0f ldr r2, [pc, #60] ; (1a48 ) - 1a0c: 6022 str r2, [r4, #0] + 1956: 4a0f ldr r2, [pc, #60] ; (1994 ) + 1958: 6022 str r2, [r4, #0] descr->device.usart_cb.tx_byte_sent = usart_process_byte_sent; - 1a0e: 4a0f ldr r2, [pc, #60] ; (1a4c ) - 1a10: 60a2 str r2, [r4, #8] + 195a: 4a0f ldr r2, [pc, #60] ; (1998 ) + 195c: 60a2 str r2, [r4, #8] descr->device.usart_cb.rx_done_cb = usart_fill_rx_buffer; - 1a12: 4a0f ldr r2, [pc, #60] ; (1a50 ) - 1a14: 60e2 str r2, [r4, #12] + 195e: 4a0f ldr r2, [pc, #60] ; (199c ) + 1960: 60e2 str r2, [r4, #12] descr->device.usart_cb.tx_done_cb = usart_transmission_complete; - 1a16: 4a0f ldr r2, [pc, #60] ; (1a54 ) - 1a18: 6122 str r2, [r4, #16] + 1962: 4a0f ldr r2, [pc, #60] ; (19a0 ) + 1964: 6122 str r2, [r4, #16] descr->device.usart_cb.error_cb = usart_error; - 1a1a: 4a0f ldr r2, [pc, #60] ; (1a58 ) - 1a1c: 6162 str r2, [r4, #20] + 1966: 4a0f ldr r2, [pc, #60] ; (19a4 ) + 1968: 6162 str r2, [r4, #20] } - 1a1e: 4618 mov r0, r3 - 1a20: bdf8 pop {r3, r4, r5, r6, r7, pc} + 196a: 4618 mov r0, r3 + 196c: bdf8 pop {r3, r4, r5, r6, r7, pc} ASSERT(descr && hw && rx_buffer && rx_buffer_length); - 1a22: 2000 movs r0, #0 - 1a24: e7dd b.n 19e2 - 1a26: 2000 movs r0, #0 - 1a28: e7db b.n 19e2 - 1a2a: 2000 movs r0, #0 - 1a2c: e7d9 b.n 19e2 + 196e: 2000 movs r0, #0 + 1970: e7dd b.n 192e + 1972: 2000 movs r0, #0 + 1974: e7db b.n 192e + 1976: 2000 movs r0, #0 + 1978: e7d9 b.n 192e return ERR_INVALID_ARG; - 1a2e: f06f 030c mvn.w r3, #12 - 1a32: e7f4 b.n 1a1e - 1a34: 0001afc4 .word 0x0001afc4 - 1a38: 00001a89 .word 0x00001a89 - 1a3c: 00001af1 .word 0x00001af1 - 1a40: 00001fd5 .word 0x00001fd5 - 1a44: 000018f5 .word 0x000018f5 - 1a48: 00001861 .word 0x00001861 - 1a4c: 000018c1 .word 0x000018c1 - 1a50: 00001845 .word 0x00001845 - 1a54: 0000181d .word 0x0000181d - 1a58: 00001831 .word 0x00001831 - -00001a5c : -{ - 1a5c: b510 push {r4, lr} + 197a: f06f 030c mvn.w r3, #12 + 197e: e7f4 b.n 196a + 1980: 0001b578 .word 0x0001b578 + 1984: 000019d5 .word 0x000019d5 + 1988: 00001a3d .word 0x00001a3d + 198c: 00001e1d .word 0x00001e1d + 1990: 00001841 .word 0x00001841 + 1994: 000017ad .word 0x000017ad + 1998: 0000180d .word 0x0000180d + 199c: 00001791 .word 0x00001791 + 19a0: 00001769 .word 0x00001769 + 19a4: 0000177d .word 0x0000177d + +000019a8 : +{ + 19a8: b510 push {r4, lr} ASSERT(descr); - 1a5e: 4604 mov r4, r0 - 1a60: 2261 movs r2, #97 ; 0x61 - 1a62: 4906 ldr r1, [pc, #24] ; (1a7c ) - 1a64: 3000 adds r0, #0 - 1a66: bf18 it ne - 1a68: 2001 movne r0, #1 - 1a6a: 4b05 ldr r3, [pc, #20] ; (1a80 ) - 1a6c: 4798 blx r3 + 19aa: 4604 mov r4, r0 + 19ac: 2261 movs r2, #97 ; 0x61 + 19ae: 4906 ldr r1, [pc, #24] ; (19c8 ) + 19b0: 3000 adds r0, #0 + 19b2: bf18 it ne + 19b4: 2001 movne r0, #1 + 19b6: 4b05 ldr r3, [pc, #20] ; (19cc ) + 19b8: 4798 blx r3 _usart_async_enable(&descr->device); - 1a6e: f104 0008 add.w r0, r4, #8 - 1a72: 4b04 ldr r3, [pc, #16] ; (1a84 ) - 1a74: 4798 blx r3 -} - 1a76: 2000 movs r0, #0 - 1a78: bd10 pop {r4, pc} - 1a7a: bf00 nop - 1a7c: 0001afc4 .word 0x0001afc4 - 1a80: 00001a89 .word 0x00001a89 - 1a84: 00002059 .word 0x00002059 - -00001a88 : + 19ba: f104 0008 add.w r0, r4, #8 + 19be: 4b04 ldr r3, [pc, #16] ; (19d0 ) + 19c0: 4798 blx r3 +} + 19c2: 2000 movs r0, #0 + 19c4: bd10 pop {r4, pc} + 19c6: bf00 nop + 19c8: 0001b578 .word 0x0001b578 + 19cc: 000019d5 .word 0x000019d5 + 19d0: 00001ea1 .word 0x00001ea1 + +000019d4 : /** * \brief Assert function */ void assert(const bool condition, const char *const file, const int line) { if (!(condition)) { - 1a88: b900 cbnz r0, 1a8c + 19d4: b900 cbnz r0, 19d8 __asm("BKPT #0"); - 1a8a: be00 bkpt 0x0000 - 1a8c: 4770 bx lr + 19d6: be00 bkpt 0x0000 + 19d8: 4770 bx lr -00001a8e : +000019da : * \brief Check whether element belongs to list */ bool is_list_element(const struct list_descriptor *const list, const void *const element) { struct list_element *it; for (it = list->head; it; it = it->next) { - 1a8e: 6803 ldr r3, [r0, #0] - 1a90: b14b cbz r3, 1aa6 + 19da: 6803 ldr r3, [r0, #0] + 19dc: b14b cbz r3, 19f2 if (it == element) { - 1a92: 428b cmp r3, r1 - 1a94: d009 beq.n 1aaa + 19de: 428b cmp r3, r1 + 19e0: d009 beq.n 19f6 for (it = list->head; it; it = it->next) { - 1a96: 681b ldr r3, [r3, #0] - 1a98: b11b cbz r3, 1aa2 + 19e2: 681b ldr r3, [r3, #0] + 19e4: b11b cbz r3, 19ee if (it == element) { - 1a9a: 4299 cmp r1, r3 - 1a9c: d1fb bne.n 1a96 + 19e6: 4299 cmp r1, r3 + 19e8: d1fb bne.n 19e2 return true; - 1a9e: 2001 movs r0, #1 + 19ea: 2001 movs r0, #1 } } return false; } - 1aa0: 4770 bx lr + 19ec: 4770 bx lr return false; - 1aa2: 2000 movs r0, #0 - 1aa4: 4770 bx lr - 1aa6: 2000 movs r0, #0 - 1aa8: 4770 bx lr + 19ee: 2000 movs r0, #0 + 19f0: 4770 bx lr + 19f2: 2000 movs r0, #0 + 19f4: 4770 bx lr return true; - 1aaa: 2001 movs r0, #1 - 1aac: 4770 bx lr + 19f6: 2001 movs r0, #1 + 19f8: 4770 bx lr ... -00001ab0 : +000019fc : /** * \brief Insert an element as list head */ void list_insert_as_head(struct list_descriptor *const list, void *const element) { - 1ab0: b538 push {r3, r4, r5, lr} - 1ab2: 4604 mov r4, r0 - 1ab4: 460d mov r5, r1 + 19fc: b538 push {r3, r4, r5, lr} + 19fe: 4604 mov r4, r0 + 1a00: 460d mov r5, r1 ASSERT(!is_list_element(list, element)); - 1ab6: 4b06 ldr r3, [pc, #24] ; (1ad0 ) - 1ab8: 4798 blx r3 - 1aba: f080 0001 eor.w r0, r0, #1 - 1abe: 2239 movs r2, #57 ; 0x39 - 1ac0: 4904 ldr r1, [pc, #16] ; (1ad4 ) - 1ac2: b2c0 uxtb r0, r0 - 1ac4: 4b04 ldr r3, [pc, #16] ; (1ad8 ) - 1ac6: 4798 blx r3 + 1a02: 4b06 ldr r3, [pc, #24] ; (1a1c ) + 1a04: 4798 blx r3 + 1a06: f080 0001 eor.w r0, r0, #1 + 1a0a: 2239 movs r2, #57 ; 0x39 + 1a0c: 4904 ldr r1, [pc, #16] ; (1a20 ) + 1a0e: b2c0 uxtb r0, r0 + 1a10: 4b04 ldr r3, [pc, #16] ; (1a24 ) + 1a12: 4798 blx r3 ((struct list_element *)element)->next = list->head; - 1ac8: 6823 ldr r3, [r4, #0] - 1aca: 602b str r3, [r5, #0] + 1a14: 6823 ldr r3, [r4, #0] + 1a16: 602b str r3, [r5, #0] list->head = (struct list_element *)element; - 1acc: 6025 str r5, [r4, #0] - 1ace: bd38 pop {r3, r4, r5, pc} - 1ad0: 00001a8f .word 0x00001a8f - 1ad4: 0001afe4 .word 0x0001afe4 - 1ad8: 00001a89 .word 0x00001a89 + 1a18: 6025 str r5, [r4, #0] + 1a1a: bd38 pop {r3, r4, r5, pc} + 1a1c: 000019db .word 0x000019db + 1a20: 0001b598 .word 0x0001b598 + 1a24: 000019d5 .word 0x000019d5 -00001adc : +00001a28 : /** * \brief Insert an element after the given list element */ void list_insert_after(void *const after, void *const element) { ((struct list_element *)element)->next = ((struct list_element *)after)->next; - 1adc: 6803 ldr r3, [r0, #0] - 1ade: 600b str r3, [r1, #0] + 1a28: 6803 ldr r3, [r0, #0] + 1a2a: 600b str r3, [r1, #0] ((struct list_element *)after)->next = (struct list_element *)element; - 1ae0: 6001 str r1, [r0, #0] - 1ae2: 4770 bx lr + 1a2c: 6001 str r1, [r0, #0] + 1a2e: 4770 bx lr -00001ae4 : +00001a30 : /** * \brief Removes list head */ void *list_remove_head(struct list_descriptor *const list) { if (list->head) { - 1ae4: 6803 ldr r3, [r0, #0] - 1ae6: b10b cbz r3, 1aec + 1a30: 6803 ldr r3, [r0, #0] + 1a32: b10b cbz r3, 1a38 struct list_element *tmp = list->head; list->head = list->head->next; - 1ae8: 681a ldr r2, [r3, #0] - 1aea: 6002 str r2, [r0, #0] + 1a34: 681a ldr r2, [r3, #0] + 1a36: 6002 str r2, [r0, #0] return (void *)tmp; } return NULL; } - 1aec: 4618 mov r0, r3 - 1aee: 4770 bx lr + 1a38: 4618 mov r0, r3 + 1a3a: 4770 bx lr -00001af0 : +00001a3c : /** * \brief Ringbuffer init */ int32_t ringbuffer_init(struct ringbuffer *const rb, void *buf, uint32_t size) { - 1af0: b570 push {r4, r5, r6, lr} - 1af2: 460e mov r6, r1 - 1af4: 4615 mov r5, r2 + 1a3c: b570 push {r4, r5, r6, lr} + 1a3e: 460e mov r6, r1 + 1a40: 4615 mov r5, r2 ASSERT(rb && buf && size); - 1af6: 4604 mov r4, r0 - 1af8: b178 cbz r0, 1b1a - 1afa: b181 cbz r1, 1b1e - 1afc: b1a2 cbz r2, 1b28 - 1afe: 2001 movs r0, #1 - 1b00: 2228 movs r2, #40 ; 0x28 - 1b02: 490d ldr r1, [pc, #52] ; (1b38 ) - 1b04: 4b0d ldr r3, [pc, #52] ; (1b3c ) - 1b06: 4798 blx r3 + 1a42: 4604 mov r4, r0 + 1a44: b178 cbz r0, 1a66 + 1a46: b181 cbz r1, 1a6a + 1a48: b1a2 cbz r2, 1a74 + 1a4a: 2001 movs r0, #1 + 1a4c: 2228 movs r2, #40 ; 0x28 + 1a4e: 490d ldr r1, [pc, #52] ; (1a84 ) + 1a50: 4b0d ldr r3, [pc, #52] ; (1a88 ) + 1a52: 4798 blx r3 /* * buf size must be aligned to power of 2 */ if ((size & (size - 1)) != 0) { - 1b08: 1e6b subs r3, r5, #1 - 1b0a: 421d tst r5, r3 - 1b0c: d109 bne.n 1b22 + 1a54: 1e6b subs r3, r5, #1 + 1a56: 421d tst r5, r3 + 1a58: d109 bne.n 1a6e return ERR_INVALID_ARG; } /* size - 1 is faster in calculation */ rb->size = size - 1; - 1b0e: 6063 str r3, [r4, #4] + 1a5a: 6063 str r3, [r4, #4] rb->read_index = 0; - 1b10: 2000 movs r0, #0 - 1b12: 60a0 str r0, [r4, #8] + 1a5c: 2000 movs r0, #0 + 1a5e: 60a0 str r0, [r4, #8] rb->write_index = rb->read_index; - 1b14: 60e0 str r0, [r4, #12] + 1a60: 60e0 str r0, [r4, #12] rb->buf = (uint8_t *)buf; - 1b16: 6026 str r6, [r4, #0] + 1a62: 6026 str r6, [r4, #0] return ERR_NONE; - 1b18: bd70 pop {r4, r5, r6, pc} + 1a64: bd70 pop {r4, r5, r6, pc} ASSERT(rb && buf && size); - 1b1a: 2000 movs r0, #0 - 1b1c: e7f0 b.n 1b00 - 1b1e: 2000 movs r0, #0 - 1b20: e7ee b.n 1b00 + 1a66: 2000 movs r0, #0 + 1a68: e7f0 b.n 1a4c + 1a6a: 2000 movs r0, #0 + 1a6c: e7ee b.n 1a4c return ERR_INVALID_ARG; - 1b22: f06f 000c mvn.w r0, #12 - 1b26: bd70 pop {r4, r5, r6, pc} + 1a6e: f06f 000c mvn.w r0, #12 + 1a72: bd70 pop {r4, r5, r6, pc} ASSERT(rb && buf && size); - 1b28: 2228 movs r2, #40 ; 0x28 - 1b2a: 4903 ldr r1, [pc, #12] ; (1b38 ) - 1b2c: 2000 movs r0, #0 - 1b2e: 4b03 ldr r3, [pc, #12] ; (1b3c ) - 1b30: 4798 blx r3 + 1a74: 2228 movs r2, #40 ; 0x28 + 1a76: 4903 ldr r1, [pc, #12] ; (1a84 ) + 1a78: 2000 movs r0, #0 + 1a7a: 4b03 ldr r3, [pc, #12] ; (1a88 ) + 1a7c: 4798 blx r3 if ((size & (size - 1)) != 0) { - 1b32: 1e6b subs r3, r5, #1 - 1b34: e7eb b.n 1b0e - 1b36: bf00 nop - 1b38: 0001b004 .word 0x0001b004 - 1b3c: 00001a89 .word 0x00001a89 + 1a7e: 1e6b subs r3, r5, #1 + 1a80: e7eb b.n 1a5a + 1a82: bf00 nop + 1a84: 0001b5b8 .word 0x0001b5b8 + 1a88: 000019d5 .word 0x000019d5 -00001b40 : +00001a8c : /** * \brief Get one byte from ringbuffer * */ int32_t ringbuffer_get(struct ringbuffer *const rb, uint8_t *data) { - 1b40: b538 push {r3, r4, r5, lr} - 1b42: 460d mov r5, r1 + 1a8c: b538 push {r3, r4, r5, lr} + 1a8e: 460d mov r5, r1 ASSERT(rb && data); - 1b44: 4604 mov r4, r0 - 1b46: b1a0 cbz r0, 1b72 - 1b48: 1c08 adds r0, r1, #0 - 1b4a: bf18 it ne - 1b4c: 2001 movne r0, #1 - 1b4e: 2240 movs r2, #64 ; 0x40 - 1b50: 490a ldr r1, [pc, #40] ; (1b7c ) - 1b52: 4b0b ldr r3, [pc, #44] ; (1b80 ) - 1b54: 4798 blx r3 + 1a90: 4604 mov r4, r0 + 1a92: b1a0 cbz r0, 1abe + 1a94: 1c08 adds r0, r1, #0 + 1a96: bf18 it ne + 1a98: 2001 movne r0, #1 + 1a9a: 2240 movs r2, #64 ; 0x40 + 1a9c: 490a ldr r1, [pc, #40] ; (1ac8 ) + 1a9e: 4b0b ldr r3, [pc, #44] ; (1acc ) + 1aa0: 4798 blx r3 if (rb->write_index != rb->read_index) { - 1b56: 68a3 ldr r3, [r4, #8] - 1b58: 68e2 ldr r2, [r4, #12] - 1b5a: 429a cmp r2, r3 - 1b5c: d00b beq.n 1b76 + 1aa2: 68a3 ldr r3, [r4, #8] + 1aa4: 68e2 ldr r2, [r4, #12] + 1aa6: 429a cmp r2, r3 + 1aa8: d00b beq.n 1ac2 *data = rb->buf[rb->read_index & rb->size]; - 1b5e: 6862 ldr r2, [r4, #4] - 1b60: 4013 ands r3, r2 - 1b62: 6822 ldr r2, [r4, #0] - 1b64: 5cd3 ldrb r3, [r2, r3] - 1b66: 702b strb r3, [r5, #0] + 1aaa: 6862 ldr r2, [r4, #4] + 1aac: 4013 ands r3, r2 + 1aae: 6822 ldr r2, [r4, #0] + 1ab0: 5cd3 ldrb r3, [r2, r3] + 1ab2: 702b strb r3, [r5, #0] rb->read_index++; - 1b68: 68a3 ldr r3, [r4, #8] - 1b6a: 3301 adds r3, #1 - 1b6c: 60a3 str r3, [r4, #8] + 1ab4: 68a3 ldr r3, [r4, #8] + 1ab6: 3301 adds r3, #1 + 1ab8: 60a3 str r3, [r4, #8] return ERR_NONE; - 1b6e: 2000 movs r0, #0 - 1b70: bd38 pop {r3, r4, r5, pc} - 1b72: 2000 movs r0, #0 - 1b74: e7eb b.n 1b4e + 1aba: 2000 movs r0, #0 + 1abc: bd38 pop {r3, r4, r5, pc} + 1abe: 2000 movs r0, #0 + 1ac0: e7eb b.n 1a9a } return ERR_NOT_FOUND; - 1b76: f06f 0009 mvn.w r0, #9 + 1ac2: f06f 0009 mvn.w r0, #9 } - 1b7a: bd38 pop {r3, r4, r5, pc} - 1b7c: 0001b004 .word 0x0001b004 - 1b80: 00001a89 .word 0x00001a89 + 1ac6: bd38 pop {r3, r4, r5, pc} + 1ac8: 0001b5b8 .word 0x0001b5b8 + 1acc: 000019d5 .word 0x000019d5 -00001b84 : +00001ad0 : /** * \brief Put one byte to ringbuffer * */ int32_t ringbuffer_put(struct ringbuffer *const rb, uint8_t data) { - 1b84: b538 push {r3, r4, r5, lr} - 1b86: 460d mov r5, r1 + 1ad0: b538 push {r3, r4, r5, lr} + 1ad2: 460d mov r5, r1 ASSERT(rb); - 1b88: 4604 mov r4, r0 - 1b8a: 2251 movs r2, #81 ; 0x51 - 1b8c: 490b ldr r1, [pc, #44] ; (1bbc ) - 1b8e: 3000 adds r0, #0 - 1b90: bf18 it ne - 1b92: 2001 movne r0, #1 - 1b94: 4b0a ldr r3, [pc, #40] ; (1bc0 ) - 1b96: 4798 blx r3 + 1ad4: 4604 mov r4, r0 + 1ad6: 2251 movs r2, #81 ; 0x51 + 1ad8: 490b ldr r1, [pc, #44] ; (1b08 ) + 1ada: 3000 adds r0, #0 + 1adc: bf18 it ne + 1ade: 2001 movne r0, #1 + 1ae0: 4b0a ldr r3, [pc, #40] ; (1b0c ) + 1ae2: 4798 blx r3 rb->buf[rb->write_index & rb->size] = data; - 1b98: 68e3 ldr r3, [r4, #12] - 1b9a: 6862 ldr r2, [r4, #4] - 1b9c: 4013 ands r3, r2 - 1b9e: 6822 ldr r2, [r4, #0] - 1ba0: 54d5 strb r5, [r2, r3] + 1ae4: 68e3 ldr r3, [r4, #12] + 1ae6: 6862 ldr r2, [r4, #4] + 1ae8: 4013 ands r3, r2 + 1aea: 6822 ldr r2, [r4, #0] + 1aec: 54d5 strb r5, [r2, r3] /* * buffer full strategy: new data will overwrite the oldest data in * the buffer */ if ((rb->write_index - rb->read_index) > rb->size) { - 1ba2: 68e3 ldr r3, [r4, #12] - 1ba4: 6861 ldr r1, [r4, #4] - 1ba6: 68a2 ldr r2, [r4, #8] - 1ba8: 1a9a subs r2, r3, r2 - 1baa: 428a cmp r2, r1 + 1aee: 68e3 ldr r3, [r4, #12] + 1af0: 6861 ldr r1, [r4, #4] + 1af2: 68a2 ldr r2, [r4, #8] + 1af4: 1a9a subs r2, r3, r2 + 1af6: 428a cmp r2, r1 rb->read_index = rb->write_index - rb->size; - 1bac: bf84 itt hi - 1bae: 1a59 subhi r1, r3, r1 - 1bb0: 60a1 strhi r1, [r4, #8] + 1af8: bf84 itt hi + 1afa: 1a59 subhi r1, r3, r1 + 1afc: 60a1 strhi r1, [r4, #8] } rb->write_index++; - 1bb2: 3301 adds r3, #1 - 1bb4: 60e3 str r3, [r4, #12] + 1afe: 3301 adds r3, #1 + 1b00: 60e3 str r3, [r4, #12] return ERR_NONE; } - 1bb6: 2000 movs r0, #0 - 1bb8: bd38 pop {r3, r4, r5, pc} - 1bba: bf00 nop - 1bbc: 0001b004 .word 0x0001b004 - 1bc0: 00001a89 .word 0x00001a89 + 1b02: 2000 movs r0, #0 + 1b04: bd38 pop {r3, r4, r5, pc} + 1b06: bf00 nop + 1b08: 0001b5b8 .word 0x0001b5b8 + 1b0c: 000019d5 .word 0x000019d5 -00001bc4 : +00001b10 : /** * \brief Return the element number of ringbuffer */ uint32_t ringbuffer_num(const struct ringbuffer *const rb) { - 1bc4: b510 push {r4, lr} + 1b10: b510 push {r4, lr} ASSERT(rb); - 1bc6: 4604 mov r4, r0 - 1bc8: 2267 movs r2, #103 ; 0x67 - 1bca: 4905 ldr r1, [pc, #20] ; (1be0 ) - 1bcc: 3000 adds r0, #0 - 1bce: bf18 it ne - 1bd0: 2001 movne r0, #1 - 1bd2: 4b04 ldr r3, [pc, #16] ; (1be4 ) - 1bd4: 4798 blx r3 + 1b12: 4604 mov r4, r0 + 1b14: 2267 movs r2, #103 ; 0x67 + 1b16: 4905 ldr r1, [pc, #20] ; (1b2c ) + 1b18: 3000 adds r0, #0 + 1b1a: bf18 it ne + 1b1c: 2001 movne r0, #1 + 1b1e: 4b04 ldr r3, [pc, #16] ; (1b30 ) + 1b20: 4798 blx r3 return rb->write_index - rb->read_index; - 1bd6: 68e0 ldr r0, [r4, #12] - 1bd8: 68a3 ldr r3, [r4, #8] + 1b22: 68e0 ldr r0, [r4, #12] + 1b24: 68a3 ldr r3, [r4, #8] } - 1bda: 1ac0 subs r0, r0, r3 - 1bdc: bd10 pop {r4, pc} - 1bde: bf00 nop - 1be0: 0001b004 .word 0x0001b004 - 1be4: 00001a89 .word 0x00001a89 + 1b26: 1ac0 subs r0, r0, r3 + 1b28: bd10 pop {r4, pc} + 1b2a: bf00 nop + 1b2c: 0001b5b8 .word 0x0001b5b8 + 1b30: 000019d5 .word 0x000019d5 -00001be8 <_irq_set>: +00001b34 <_irq_set>: */ __STATIC_INLINE void __NVIC_SetPendingIRQ(IRQn_Type IRQn) { if ((int32_t)(IRQn) >= 0) { NVIC->ISPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); - 1be8: 0943 lsrs r3, r0, #5 - 1bea: f000 001f and.w r0, r0, #31 - 1bee: 2201 movs r2, #1 - 1bf0: fa02 f000 lsl.w r0, r2, r0 - 1bf4: 3340 adds r3, #64 ; 0x40 - 1bf6: 4a02 ldr r2, [pc, #8] ; (1c00 <_irq_set+0x18>) - 1bf8: f842 0023 str.w r0, [r2, r3, lsl #2] - 1bfc: 4770 bx lr - 1bfe: bf00 nop - 1c00: e000e100 .word 0xe000e100 - -00001c04 <_get_cycles_for_us>: + 1b34: 0943 lsrs r3, r0, #5 + 1b36: f000 001f and.w r0, r0, #31 + 1b3a: 2201 movs r2, #1 + 1b3c: fa02 f000 lsl.w r0, r2, r0 + 1b40: 3340 adds r3, #64 ; 0x40 + 1b42: 4a02 ldr r2, [pc, #8] ; (1b4c <_irq_set+0x18>) + 1b44: f842 0023 str.w r0, [r2, r3, lsl #2] + 1b48: 4770 bx lr + 1b4a: bf00 nop + 1b4c: e000e100 .word 0xe000e100 + +00001b50 <_get_cycles_for_us>: */ static inline uint32_t _get_cycles_for_us_internal(const uint16_t us, const uint32_t freq, const uint8_t power) { switch (power) { case 9: return (us * (freq / 1000000) + 2) / 3; - 1c04: ebc0 00c0 rsb r0, r0, r0, lsl #3 - 1c08: eb00 1000 add.w r0, r0, r0, lsl #4 - 1c0c: 3002 adds r0, #2 - 1c0e: 4b02 ldr r3, [pc, #8] ; (1c18 <_get_cycles_for_us+0x14>) - 1c10: fba3 3000 umull r3, r0, r3, r0 + 1b50: ebc0 00c0 rsb r0, r0, r0, lsl #3 + 1b54: eb00 1000 add.w r0, r0, r0, lsl #4 + 1b58: 3002 adds r0, #2 + 1b5a: 4b02 ldr r3, [pc, #8] ; (1b64 <_get_cycles_for_us+0x14>) + 1b5c: fba3 3000 umull r3, r0, r3, r0 * \brief Retrieve the amount of cycles to delay for the given amount of us */ uint32_t _get_cycles_for_us(const uint16_t us) { return _get_cycles_for_us_internal(us, CONF_CPU_FREQUENCY, CPU_FREQ_POWER); } - 1c14: 0840 lsrs r0, r0, #1 - 1c16: 4770 bx lr - 1c18: aaaaaaab .word 0xaaaaaaab + 1b60: 0840 lsrs r0, r0, #1 + 1b62: 4770 bx lr + 1b64: aaaaaaab .word 0xaaaaaaab -00001c1c <_get_cycles_for_ms>: +00001b68 <_get_cycles_for_ms>: */ static inline uint32_t _get_cycles_for_ms_internal(const uint16_t ms, const uint32_t freq, const uint8_t power) { switch (power) { case 9: return (ms * (freq / 1000000) + 2) / 3 * 1000; - 1c1c: ebc0 00c0 rsb r0, r0, r0, lsl #3 - 1c20: eb00 1000 add.w r0, r0, r0, lsl #4 - 1c24: 3002 adds r0, #2 - 1c26: 4b04 ldr r3, [pc, #16] ; (1c38 <_get_cycles_for_ms+0x1c>) - 1c28: fba3 3000 umull r3, r0, r3, r0 - 1c2c: 0840 lsrs r0, r0, #1 + 1b68: ebc0 00c0 rsb r0, r0, r0, lsl #3 + 1b6c: eb00 1000 add.w r0, r0, r0, lsl #4 + 1b70: 3002 adds r0, #2 + 1b72: 4b04 ldr r3, [pc, #16] ; (1b84 <_get_cycles_for_ms+0x1c>) + 1b74: fba3 3000 umull r3, r0, r3, r0 + 1b78: 0840 lsrs r0, r0, #1 * \brief Retrieve the amount of cycles to delay for the given amount of ms */ uint32_t _get_cycles_for_ms(const uint16_t ms) { return _get_cycles_for_ms_internal(ms, CONF_CPU_FREQUENCY, CPU_FREQ_POWER); } - 1c2e: f44f 737a mov.w r3, #1000 ; 0x3e8 - 1c32: fb03 f000 mul.w r0, r3, r0 - 1c36: 4770 bx lr - 1c38: aaaaaaab .word 0xaaaaaaab + 1b7a: f44f 737a mov.w r3, #1000 ; 0x3e8 + 1b7e: fb03 f000 mul.w r0, r3, r0 + 1b82: 4770 bx lr + 1b84: aaaaaaab .word 0xaaaaaaab -00001c3c <_delay_init>: +00001b88 <_delay_init>: /** * \brief Initialize delay functionality */ void _delay_init(void *const hw) { - 1c3c: 4770 bx lr + 1b88: 4770 bx lr + 1b8a: 0000 movs r0, r0 + 1b8c: 0000 movs r0, r0 ... -00001c40 <_delay_cycles>: +00001b90 <_delay_cycles>: __asm(".align 3 \n" "__delay:\n" "subs r1, r1, #1\n" "bhi __delay\n"); #elif defined __GNUC__ __asm(".syntax unified\n" - 1c40: 3901 subs r1, #1 - 1c42: d8fd bhi.n 1c40 <_delay_cycles> - 1c44: 4770 bx lr - 1c46: bf00 nop + 1b90: 3901 subs r1, #1 + 1b92: d8fd bhi.n 1b90 <_delay_cycles> + 1b94: 4770 bx lr + 1b96: bf00 nop -00001c48 <_init_chip>: +00001b98 <_init_chip>: /** * \brief Initialize the hardware abstraction layer */ void _init_chip(void) { - 1c48: b508 push {r3, lr} + 1b98: b508 push {r3, lr} } static inline void hri_nvmctrl_set_CTRLA_RWS_bf(const void *const hw, hri_nvmctrl_ctrla_reg_t mask) { NVMCTRL_CRITICAL_SECTION_ENTER(); ((Nvmctrl *)hw)->CTRLA.reg |= NVMCTRL_CTRLA_RWS(mask); - 1c4a: 4a09 ldr r2, [pc, #36] ; (1c70 <_init_chip+0x28>) - 1c4c: 8813 ldrh r3, [r2, #0] - 1c4e: b29b uxth r3, r3 - 1c50: f443 63a0 orr.w r3, r3, #1280 ; 0x500 - 1c54: 8013 strh r3, [r2, #0] + 1b9a: 4a09 ldr r2, [pc, #36] ; (1bc0 <_init_chip+0x28>) + 1b9c: 8813 ldrh r3, [r2, #0] + 1b9e: b29b uxth r3, r3 + 1ba0: f443 63a0 orr.w r3, r3, #1280 ; 0x500 + 1ba4: 8013 strh r3, [r2, #0] hri_nvmctrl_set_CTRLA_RWS_bf(NVMCTRL, CONF_NVM_WAIT_STATE); _osc32kctrl_init_sources(); - 1c56: 4b07 ldr r3, [pc, #28] ; (1c74 <_init_chip+0x2c>) - 1c58: 4798 blx r3 + 1ba6: 4b07 ldr r3, [pc, #28] ; (1bc4 <_init_chip+0x2c>) + 1ba8: 4798 blx r3 _oscctrl_init_sources(); - 1c5a: 4b07 ldr r3, [pc, #28] ; (1c78 <_init_chip+0x30>) - 1c5c: 4798 blx r3 + 1baa: 4b07 ldr r3, [pc, #28] ; (1bc8 <_init_chip+0x30>) + 1bac: 4798 blx r3 _mclk_init(); - 1c5e: 4b07 ldr r3, [pc, #28] ; (1c7c <_init_chip+0x34>) - 1c60: 4798 blx r3 + 1bae: 4b07 ldr r3, [pc, #28] ; (1bcc <_init_chip+0x34>) + 1bb0: 4798 blx r3 #if _GCLK_INIT_1ST _gclk_init_generators_by_fref(_GCLK_INIT_1ST); #endif _oscctrl_init_referenced_generators(); - 1c62: 4b07 ldr r3, [pc, #28] ; (1c80 <_init_chip+0x38>) - 1c64: 4798 blx r3 + 1bb2: 4b07 ldr r3, [pc, #28] ; (1bd0 <_init_chip+0x38>) + 1bb4: 4798 blx r3 _gclk_init_generators_by_fref(_GCLK_INIT_LAST); - 1c66: f640 70ff movw r0, #4095 ; 0xfff - 1c6a: 4b06 ldr r3, [pc, #24] ; (1c84 <_init_chip+0x3c>) - 1c6c: 4798 blx r3 - 1c6e: bd08 pop {r3, pc} - 1c70: 41004000 .word 0x41004000 - 1c74: 00001cb9 .word 0x00001cb9 - 1c78: 00001cd9 .word 0x00001cd9 - 1c7c: 00001cad .word 0x00001cad - 1c80: 00001cdd .word 0x00001cdd - 1c84: 00001c89 .word 0x00001c89 - -00001c88 <_gclk_init_generators_by_fref>: + 1bb6: f640 70ff movw r0, #4095 ; 0xfff + 1bba: 4b06 ldr r3, [pc, #24] ; (1bd4 <_init_chip+0x3c>) + 1bbc: 4798 blx r3 + 1bbe: bd08 pop {r3, pc} + 1bc0: 41004000 .word 0x41004000 + 1bc4: 00001c09 .word 0x00001c09 + 1bc8: 00001c29 .word 0x00001c29 + 1bcc: 00001bfd .word 0x00001bfd + 1bd0: 00001c2d .word 0x00001c2d + 1bd4: 00001bd9 .word 0x00001bd9 + +00001bd8 <_gclk_init_generators_by_fref>: void _gclk_init_generators_by_fref(uint32_t bm) { #if CONF_GCLK_GENERATOR_0_CONFIG == 1 if (bm & (1ul << 0)) { - 1c88: f010 0f01 tst.w r0, #1 - 1c8c: d008 beq.n 1ca0 <_gclk_init_generators_by_fref+0x18> + 1bd8: f010 0f01 tst.w r0, #1 + 1bdc: d008 beq.n 1bf0 <_gclk_init_generators_by_fref+0x18> ((Gclk *)hw)->GENCTRL[index].reg = data; - 1c8e: 4a05 ldr r2, [pc, #20] ; (1ca4 <_gclk_init_generators_by_fref+0x1c>) - 1c90: 4b05 ldr r3, [pc, #20] ; (1ca8 <_gclk_init_generators_by_fref+0x20>) - 1c92: 621a str r2, [r3, #32] + 1bde: 4a05 ldr r2, [pc, #20] ; (1bf4 <_gclk_init_generators_by_fref+0x1c>) + 1be0: 4b05 ldr r3, [pc, #20] ; (1bf8 <_gclk_init_generators_by_fref+0x20>) + 1be2: 621a str r2, [r3, #32] while (((Gclk *)hw)->SYNCBUSY.reg & reg) { - 1c94: 4619 mov r1, r3 - 1c96: f643 72fd movw r2, #16381 ; 0x3ffd - 1c9a: 684b ldr r3, [r1, #4] - 1c9c: 4213 tst r3, r2 - 1c9e: d1fc bne.n 1c9a <_gclk_init_generators_by_fref+0x12> - 1ca0: 4770 bx lr - 1ca2: bf00 nop - 1ca4: 00010107 .word 0x00010107 - 1ca8: 40001c00 .word 0x40001c00 - -00001cac <_mclk_init>: + 1be4: 4619 mov r1, r3 + 1be6: f643 72fd movw r2, #16381 ; 0x3ffd + 1bea: 684b ldr r3, [r1, #4] + 1bec: 4213 tst r3, r2 + 1bee: d1fc bne.n 1bea <_gclk_init_generators_by_fref+0x12> + 1bf0: 4770 bx lr + 1bf2: bf00 nop + 1bf4: 00010107 .word 0x00010107 + 1bf8: 40001c00 .word 0x40001c00 + +00001bfc <_mclk_init>: ((Mclk *)hw)->CPUDIV.reg = data; - 1cac: 2201 movs r2, #1 - 1cae: 4b01 ldr r3, [pc, #4] ; (1cb4 <_mclk_init+0x8>) - 1cb0: 715a strb r2, [r3, #5] - 1cb2: 4770 bx lr - 1cb4: 40000800 .word 0x40000800 + 1bfc: 2201 movs r2, #1 + 1bfe: 4b01 ldr r3, [pc, #4] ; (1c04 <_mclk_init+0x8>) + 1c00: 715a strb r2, [r3, #5] + 1c02: 4770 bx lr + 1c04: 40000800 .word 0x40000800 -00001cb8 <_osc32kctrl_init_sources>: +00001c08 <_osc32kctrl_init_sources>: } static inline void hri_osc32kctrl_write_XOSC32K_reg(const void *const hw, hri_osc32kctrl_xosc32k_reg_t data) { OSC32KCTRL_CRITICAL_SECTION_ENTER(); ((Osc32kctrl *)hw)->XOSC32K.reg = data; - 1cb8: 4b06 ldr r3, [pc, #24] ; (1cd4 <_osc32kctrl_init_sources+0x1c>) - 1cba: f242 328e movw r2, #9102 ; 0x238e - 1cbe: 829a strh r2, [r3, #20] + 1c08: 4b06 ldr r3, [pc, #24] ; (1c24 <_osc32kctrl_init_sources+0x1c>) + 1c0a: f242 328e movw r2, #9102 ; 0x238e + 1c0e: 829a strh r2, [r3, #20] } static inline void hri_osc32kctrl_write_CFDCTRL_reg(const void *const hw, hri_osc32kctrl_cfdctrl_reg_t data) { OSC32KCTRL_CRITICAL_SECTION_ENTER(); ((Osc32kctrl *)hw)->CFDCTRL.reg = data; - 1cc0: 2200 movs r2, #0 - 1cc2: 759a strb r2, [r3, #22] + 1c10: 2200 movs r2, #0 + 1c12: 759a strb r2, [r3, #22] } static inline void hri_osc32kctrl_write_EVCTRL_reg(const void *const hw, hri_osc32kctrl_evctrl_reg_t data) { OSC32KCTRL_CRITICAL_SECTION_ENTER(); ((Osc32kctrl *)hw)->EVCTRL.reg = data; - 1cc4: 75da strb r2, [r3, #23] + 1c14: 75da strb r2, [r3, #23] } static inline hri_osc32kctrl_osculp32k_reg_t hri_osc32kctrl_read_OSCULP32K_CALIB_bf(const void *const hw) { uint32_t tmp; tmp = ((Osc32kctrl *)hw)->OSCULP32K.reg; - 1cc6: 69da ldr r2, [r3, #28] + 1c16: 69da ldr r2, [r3, #28] calib = hri_osc32kctrl_read_OSCULP32K_CALIB_bf(hw); hri_osc32kctrl_write_OSCULP32K_reg(hw, #if CONF_OSCULP32K_CALIB_ENABLE == 1 OSC32KCTRL_OSCULP32K_CALIB(CONF_OSCULP32K_CALIB) #else OSC32KCTRL_OSCULP32K_CALIB(calib) - 1cc8: f402 527c and.w r2, r2, #16128 ; 0x3f00 + 1c18: f402 527c and.w r2, r2, #16128 ; 0x3f00 } static inline void hri_osc32kctrl_write_OSCULP32K_reg(const void *const hw, hri_osc32kctrl_osculp32k_reg_t data) { OSC32KCTRL_CRITICAL_SECTION_ENTER(); ((Osc32kctrl *)hw)->OSCULP32K.reg = data; - 1ccc: 61da str r2, [r3, #28] + 1c1c: 61da str r2, [r3, #28] ((Osc32kctrl *)hw)->RTCCTRL.reg = data; - 1cce: 2201 movs r2, #1 - 1cd0: 741a strb r2, [r3, #16] - 1cd2: 4770 bx lr - 1cd4: 40001400 .word 0x40001400 + 1c1e: 2201 movs r2, #1 + 1c20: 741a strb r2, [r3, #16] + 1c22: 4770 bx lr + 1c24: 40001400 .word 0x40001400 -00001cd8 <_oscctrl_init_sources>: +00001c28 <_oscctrl_init_sources>: /** * \brief Initialize clock sources */ void _oscctrl_init_sources(void) { - 1cd8: 4770 bx lr + 1c28: 4770 bx lr ... -00001cdc <_oscctrl_init_referenced_generators>: +00001c2c <_oscctrl_init_referenced_generators>: static inline void hri_oscctrl_write_DPLLRATIO_reg(const void *const hw, uint8_t submodule_index, hri_oscctrl_dpllratio_reg_t data) { OSCCTRL_CRITICAL_SECTION_ENTER(); ((Oscctrl *)hw)->Dpll[submodule_index].DPLLRATIO.reg = data; - 1cdc: 4a0e ldr r2, [pc, #56] ; (1d18 <_oscctrl_init_referenced_generators+0x3c>) - 1cde: 4b0f ldr r3, [pc, #60] ; (1d1c <_oscctrl_init_referenced_generators+0x40>) - 1ce0: 635a str r2, [r3, #52] ; 0x34 + 1c2c: 4a0e ldr r2, [pc, #56] ; (1c68 <_oscctrl_init_referenced_generators+0x3c>) + 1c2e: 4b0f ldr r3, [pc, #60] ; (1c6c <_oscctrl_init_referenced_generators+0x40>) + 1c30: 635a str r2, [r3, #52] ; 0x34 while (((Oscctrl *)hw)->Dpll[submodule_index].DPLLSYNCBUSY.reg & reg) { - 1ce2: 461a mov r2, r3 - 1ce4: 6bd3 ldr r3, [r2, #60] ; 0x3c - 1ce6: f013 0f06 tst.w r3, #6 - 1cea: d1fb bne.n 1ce4 <_oscctrl_init_referenced_generators+0x8> + 1c32: 461a mov r2, r3 + 1c34: 6bd3 ldr r3, [r2, #60] ; 0x3c + 1c36: f013 0f06 tst.w r3, #6 + 1c3a: d1fb bne.n 1c34 <_oscctrl_init_referenced_generators+0x8> static inline void hri_oscctrl_write_DPLLCTRLB_reg(const void *const hw, uint8_t submodule_index, hri_oscctrl_dpllctrlb_reg_t data) { OSCCTRL_CRITICAL_SECTION_ENTER(); ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg = data; - 1cec: 4b0b ldr r3, [pc, #44] ; (1d1c <_oscctrl_init_referenced_generators+0x40>) - 1cee: f44f 6202 mov.w r2, #2080 ; 0x820 - 1cf2: 639a str r2, [r3, #56] ; 0x38 + 1c3c: 4b0b ldr r3, [pc, #44] ; (1c6c <_oscctrl_init_referenced_generators+0x40>) + 1c3e: f44f 6202 mov.w r2, #2080 ; 0x820 + 1c42: 639a str r2, [r3, #56] ; 0x38 ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLA.reg = data; - 1cf4: 2202 movs r2, #2 - 1cf6: f883 2030 strb.w r2, [r3, #48] ; 0x30 + 1c44: 2202 movs r2, #2 + 1c46: f883 2030 strb.w r2, [r3, #48] ; 0x30 while (((Oscctrl *)hw)->Dpll[submodule_index].DPLLSYNCBUSY.reg & reg) { - 1cfa: 461a mov r2, r3 - 1cfc: 6bd3 ldr r3, [r2, #60] ; 0x3c - 1cfe: f013 0f02 tst.w r3, #2 - 1d02: d1fb bne.n 1cfc <_oscctrl_init_referenced_generators+0x20> + 1c4a: 461a mov r2, r3 + 1c4c: 6bd3 ldr r3, [r2, #60] ; 0x3c + 1c4e: f013 0f02 tst.w r3, #2 + 1c52: d1fb bne.n 1c4c <_oscctrl_init_referenced_generators+0x20> return (((Oscctrl *)hw)->Dpll[submodule_index].DPLLSTATUS.reg & OSCCTRL_DPLLSTATUS_LOCK) - 1d04: 4b05 ldr r3, [pc, #20] ; (1d1c <_oscctrl_init_referenced_generators+0x40>) - 1d06: 6c1a ldr r2, [r3, #64] ; 0x40 + 1c54: 4b05 ldr r3, [pc, #20] ; (1c6c <_oscctrl_init_referenced_generators+0x40>) + 1c56: 6c1a ldr r2, [r3, #64] ; 0x40 #endif #endif #if CONF_FDPLL0_CONFIG == 1 #if CONF_FDPLL0_ENABLE == 1 while (!(hri_oscctrl_get_DPLLSTATUS_LOCK_bit(hw, 0) || hri_oscctrl_get_DPLLSTATUS_CLKRDY_bit(hw, 0))) - 1d08: f012 0f01 tst.w r2, #1 - 1d0c: d103 bne.n 1d16 <_oscctrl_init_referenced_generators+0x3a> + 1c58: f012 0f01 tst.w r2, #1 + 1c5c: d103 bne.n 1c66 <_oscctrl_init_referenced_generators+0x3a> return (((Oscctrl *)hw)->Dpll[submodule_index].DPLLSTATUS.reg & OSCCTRL_DPLLSTATUS_CLKRDY) - 1d0e: 6c1a ldr r2, [r3, #64] ; 0x40 - 1d10: f012 0f02 tst.w r2, #2 - 1d14: d0f7 beq.n 1d06 <_oscctrl_init_referenced_generators+0x2a> - 1d16: 4770 bx lr - 1d18: 00010e4d .word 0x00010e4d - 1d1c: 40001000 .word 0x40001000 + 1c5e: 6c1a ldr r2, [r3, #64] ; 0x40 + 1c60: f012 0f02 tst.w r2, #2 + 1c64: d0f7 beq.n 1c56 <_oscctrl_init_referenced_generators+0x2a> + 1c66: 4770 bx lr + 1c68: 00010e4d .word 0x00010e4d + 1c6c: 40001000 .word 0x40001000 -00001d20 : +00001c70 : /** * \internal RAMECC interrupt handler */ void RAMECC_Handler(void) { - 1d20: b500 push {lr} - 1d22: b083 sub sp, #12 + 1c70: b500 push {lr} + 1c72: b083 sub sp, #12 return tmp; } static inline hri_ramecc_intflag_reg_t hri_ramecc_read_INTFLAG_reg(const void *const hw) { return ((Ramecc *)hw)->INTFLAG.reg; - 1d24: 4b0d ldr r3, [pc, #52] ; (1d5c ) - 1d26: 789b ldrb r3, [r3, #2] - 1d28: b2db uxtb r3, r3 + 1c74: 4b0d ldr r3, [pc, #52] ; (1cac ) + 1c76: 789b ldrb r3, [r3, #2] + 1c78: b2db uxtb r3, r3 struct _ramecc_device *dev = (struct _ramecc_device *)&device; volatile uint32_t int_mask = hri_ramecc_read_INTFLAG_reg(RAMECC); - 1d2a: 9301 str r3, [sp, #4] + 1c7a: 9301 str r3, [sp, #4] if (int_mask & RAMECC_INTFLAG_DUALE && dev->ramecc_cb.dual_bit_err) { - 1d2c: 9b01 ldr r3, [sp, #4] - 1d2e: f013 0f02 tst.w r3, #2 - 1d32: d006 beq.n 1d42 - 1d34: 4b0a ldr r3, [pc, #40] ; (1d60 ) - 1d36: 681b ldr r3, [r3, #0] - 1d38: b11b cbz r3, 1d42 + 1c7c: 9b01 ldr r3, [sp, #4] + 1c7e: f013 0f02 tst.w r3, #2 + 1c82: d006 beq.n 1c92 + 1c84: 4b0a ldr r3, [pc, #40] ; (1cb0 ) + 1c86: 681b ldr r3, [r3, #0] + 1c88: b11b cbz r3, 1c92 return tmp; } static inline hri_ramecc_erraddr_reg_t hri_ramecc_read_ERRADDR_reg(const void *const hw) { return ((Ramecc *)hw)->ERRADDR.reg; - 1d3a: 4a08 ldr r2, [pc, #32] ; (1d5c ) - 1d3c: 6850 ldr r0, [r2, #4] + 1c8a: 4a08 ldr r2, [pc, #32] ; (1cac ) + 1c8c: 6850 ldr r0, [r2, #4] dev->ramecc_cb.dual_bit_err((uint32_t)hri_ramecc_read_ERRADDR_reg(RAMECC)); - 1d3e: 4798 blx r3 - 1d40: e009 b.n 1d56 + 1c8e: 4798 blx r3 + 1c90: e009 b.n 1ca6 } else if (int_mask & RAMECC_INTFLAG_SINGLEE && dev->ramecc_cb.single_bit_err) { - 1d42: 9b01 ldr r3, [sp, #4] - 1d44: f013 0f01 tst.w r3, #1 - 1d48: d005 beq.n 1d56 - 1d4a: 4b05 ldr r3, [pc, #20] ; (1d60 ) - 1d4c: 685b ldr r3, [r3, #4] - 1d4e: b113 cbz r3, 1d56 - 1d50: 4a02 ldr r2, [pc, #8] ; (1d5c ) - 1d52: 6850 ldr r0, [r2, #4] + 1c92: 9b01 ldr r3, [sp, #4] + 1c94: f013 0f01 tst.w r3, #1 + 1c98: d005 beq.n 1ca6 + 1c9a: 4b05 ldr r3, [pc, #20] ; (1cb0 ) + 1c9c: 685b ldr r3, [r3, #4] + 1c9e: b113 cbz r3, 1ca6 + 1ca0: 4a02 ldr r2, [pc, #8] ; (1cac ) + 1ca2: 6850 ldr r0, [r2, #4] dev->ramecc_cb.single_bit_err((uint32_t)hri_ramecc_read_ERRADDR_reg(RAMECC)); - 1d54: 4798 blx r3 + 1ca4: 4798 blx r3 } else { return; } } - 1d56: b003 add sp, #12 - 1d58: f85d fb04 ldr.w pc, [sp], #4 - 1d5c: 41020000 .word 0x41020000 - 1d60: 20006c8c .word 0x20006c8c + 1ca6: b003 add sp, #12 + 1ca8: f85d fb04 ldr.w pc, [sp], #4 + 1cac: 41020000 .word 0x41020000 + 1cb0: 20006c70 .word 0x20006c70 -00001d64 <_sercom_get_hardware_index>: +00001cb4 <_sercom_get_hardware_index>: /** * \brief Retrieve ordinal number of the given sercom hardware instance */ static uint8_t _sercom_get_hardware_index(const void *const hw) { - 1d64: b470 push {r4, r5, r6} - 1d66: b089 sub sp, #36 ; 0x24 - 1d68: 4606 mov r6, r0 + 1cb4: b470 push {r4, r5, r6} + 1cb6: b089 sub sp, #36 ; 0x24 + 1cb8: 4606 mov r6, r0 Sercom *const sercom_modules[] = SERCOM_INSTS; - 1d6a: 466c mov r4, sp - 1d6c: 4d0d ldr r5, [pc, #52] ; (1da4 <_sercom_get_hardware_index+0x40>) - 1d6e: cd0f ldmia r5!, {r0, r1, r2, r3} - 1d70: c40f stmia r4!, {r0, r1, r2, r3} - 1d72: e895 000f ldmia.w r5, {r0, r1, r2, r3} - 1d76: e884 000f stmia.w r4, {r0, r1, r2, r3} + 1cba: 466c mov r4, sp + 1cbc: 4d0d ldr r5, [pc, #52] ; (1cf4 <_sercom_get_hardware_index+0x40>) + 1cbe: cd0f ldmia r5!, {r0, r1, r2, r3} + 1cc0: c40f stmia r4!, {r0, r1, r2, r3} + 1cc2: e895 000f ldmia.w r5, {r0, r1, r2, r3} + 1cc6: e884 000f stmia.w r4, {r0, r1, r2, r3} /* Find index for SERCOM instance. */ for (uint32_t i = 0; i < SERCOM_INST_NUM; i++) { if ((uint32_t)hw == (uint32_t)sercom_modules[i]) { - 1d7a: 9b00 ldr r3, [sp, #0] - 1d7c: 42b3 cmp r3, r6 - 1d7e: d00d beq.n 1d9c <_sercom_get_hardware_index+0x38> - 1d80: 4631 mov r1, r6 - 1d82: ab01 add r3, sp, #4 + 1cca: 9b00 ldr r3, [sp, #0] + 1ccc: 42b3 cmp r3, r6 + 1cce: d00d beq.n 1cec <_sercom_get_hardware_index+0x38> + 1cd0: 4631 mov r1, r6 + 1cd2: ab01 add r3, sp, #4 for (uint32_t i = 0; i < SERCOM_INST_NUM; i++) { - 1d84: 2001 movs r0, #1 + 1cd4: 2001 movs r0, #1 if ((uint32_t)hw == (uint32_t)sercom_modules[i]) { - 1d86: f853 2b04 ldr.w r2, [r3], #4 - 1d8a: 428a cmp r2, r1 - 1d8c: d007 beq.n 1d9e <_sercom_get_hardware_index+0x3a> + 1cd6: f853 2b04 ldr.w r2, [r3], #4 + 1cda: 428a cmp r2, r1 + 1cdc: d007 beq.n 1cee <_sercom_get_hardware_index+0x3a> for (uint32_t i = 0; i < SERCOM_INST_NUM; i++) { - 1d8e: 3001 adds r0, #1 - 1d90: 2808 cmp r0, #8 - 1d92: d1f8 bne.n 1d86 <_sercom_get_hardware_index+0x22> + 1cde: 3001 adds r0, #1 + 1ce0: 2808 cmp r0, #8 + 1ce2: d1f8 bne.n 1cd6 <_sercom_get_hardware_index+0x22> return i; } } return 0; - 1d94: 2000 movs r0, #0 + 1ce4: 2000 movs r0, #0 } - 1d96: b009 add sp, #36 ; 0x24 - 1d98: bc70 pop {r4, r5, r6} - 1d9a: 4770 bx lr + 1ce6: b009 add sp, #36 ; 0x24 + 1ce8: bc70 pop {r4, r5, r6} + 1cea: 4770 bx lr for (uint32_t i = 0; i < SERCOM_INST_NUM; i++) { - 1d9c: 2000 movs r0, #0 + 1cec: 2000 movs r0, #0 return i; - 1d9e: b2c0 uxtb r0, r0 - 1da0: e7f9 b.n 1d96 <_sercom_get_hardware_index+0x32> - 1da2: bf00 nop - 1da4: 0001b028 .word 0x0001b028 + 1cee: b2c0 uxtb r0, r0 + 1cf0: e7f9 b.n 1ce6 <_sercom_get_hardware_index+0x32> + 1cf2: bf00 nop + 1cf4: 0001b5dc .word 0x0001b5dc -00001da8 <_sercom_usart_interrupt_handler>: +00001cf8 <_sercom_usart_interrupt_handler>: * \internal Sercom interrupt handler * * \param[in] p The pointer to interrupt parameter */ static void _sercom_usart_interrupt_handler(struct _usart_async_device *device) { - 1da8: b510 push {r4, lr} + 1cf8: b510 push {r4, lr} void *hw = device->hw; - 1daa: 6984 ldr r4, [r0, #24] + 1cfa: 6984 ldr r4, [r0, #24] ((Sercom *)hw)->USART.INTFLAG.reg = SERCOM_USART_INTFLAG_ERROR; } static inline bool hri_sercomusart_get_interrupt_DRE_bit(const void *const hw) { return (((Sercom *)hw)->USART.INTFLAG.reg & SERCOM_USART_INTFLAG_DRE) >> SERCOM_USART_INTFLAG_DRE_Pos; - 1dac: 7e23 ldrb r3, [r4, #24] + 1cfc: 7e23 ldrb r3, [r4, #24] if (hri_sercomusart_get_interrupt_DRE_bit(hw) && hri_sercomusart_get_INTEN_DRE_bit(hw)) { - 1dae: f013 0f01 tst.w r3, #1 - 1db2: d003 beq.n 1dbc <_sercom_usart_interrupt_handler+0x14> + 1cfe: f013 0f01 tst.w r3, #1 + 1d02: d003 beq.n 1d0c <_sercom_usart_interrupt_handler+0x14> ((Sercom *)hw)->USART.INTENSET.reg = SERCOM_USART_INTENSET_DRE; } static inline bool hri_sercomusart_get_INTEN_DRE_bit(const void *const hw) { return (((Sercom *)hw)->USART.INTENSET.reg & SERCOM_USART_INTENSET_DRE) >> SERCOM_USART_INTENSET_DRE_Pos; - 1db4: 7da3 ldrb r3, [r4, #22] - 1db6: f013 0f01 tst.w r3, #1 - 1dba: d112 bne.n 1de2 <_sercom_usart_interrupt_handler+0x3a> + 1d04: 7da3 ldrb r3, [r4, #22] + 1d06: f013 0f01 tst.w r3, #1 + 1d0a: d112 bne.n 1d32 <_sercom_usart_interrupt_handler+0x3a> return (((Sercom *)hw)->USART.INTFLAG.reg & SERCOM_USART_INTFLAG_TXC) >> SERCOM_USART_INTFLAG_TXC_Pos; - 1dbc: 7e23 ldrb r3, [r4, #24] + 1d0c: 7e23 ldrb r3, [r4, #24] hri_sercomusart_clear_INTEN_DRE_bit(hw); device->usart_cb.tx_byte_sent(device); } else if (hri_sercomusart_get_interrupt_TXC_bit(hw) && hri_sercomusart_get_INTEN_TXC_bit(hw)) { - 1dbe: f013 0f02 tst.w r3, #2 - 1dc2: d003 beq.n 1dcc <_sercom_usart_interrupt_handler+0x24> + 1d0e: f013 0f02 tst.w r3, #2 + 1d12: d003 beq.n 1d1c <_sercom_usart_interrupt_handler+0x24> ((Sercom *)hw)->USART.INTENSET.reg = SERCOM_USART_INTENSET_TXC; } static inline bool hri_sercomusart_get_INTEN_TXC_bit(const void *const hw) { return (((Sercom *)hw)->USART.INTENSET.reg & SERCOM_USART_INTENSET_TXC) >> SERCOM_USART_INTENSET_TXC_Pos; - 1dc4: 7da3 ldrb r3, [r4, #22] - 1dc6: f013 0f02 tst.w r3, #2 - 1dca: d10f bne.n 1dec <_sercom_usart_interrupt_handler+0x44> + 1d14: 7da3 ldrb r3, [r4, #22] + 1d16: f013 0f02 tst.w r3, #2 + 1d1a: d10f bne.n 1d3c <_sercom_usart_interrupt_handler+0x44> return (((Sercom *)hw)->USART.INTFLAG.reg & SERCOM_USART_INTFLAG_RXC) >> SERCOM_USART_INTFLAG_RXC_Pos; - 1dcc: 7e23 ldrb r3, [r4, #24] + 1d1c: 7e23 ldrb r3, [r4, #24] hri_sercomusart_clear_INTEN_TXC_bit(hw); device->usart_cb.tx_done_cb(device); } else if (hri_sercomusart_get_interrupt_RXC_bit(hw)) { - 1dce: f013 0f04 tst.w r3, #4 - 1dd2: d015 beq.n 1e00 <_sercom_usart_interrupt_handler+0x58> + 1d1e: f013 0f04 tst.w r3, #4 + 1d22: d015 beq.n 1d50 <_sercom_usart_interrupt_handler+0x58> SERCOM_CRITICAL_SECTION_LEAVE(); } static inline hri_sercomusart_status_reg_t hri_sercomusart_read_STATUS_reg(const void *const hw) { return ((Sercom *)hw)->USART.STATUS.reg; - 1dd4: 8b63 ldrh r3, [r4, #26] + 1d24: 8b63 ldrh r3, [r4, #26] if (hri_sercomusart_read_STATUS_reg(hw) - 1dd6: f003 0337 and.w r3, r3, #55 ; 0x37 - 1dda: b163 cbz r3, 1df6 <_sercom_usart_interrupt_handler+0x4e> + 1d26: f003 0337 and.w r3, r3, #55 ; 0x37 + 1d2a: b163 cbz r3, 1d46 <_sercom_usart_interrupt_handler+0x4e> ((Sercom *)hw)->USART.STATUS.reg = mask; - 1ddc: 23ff movs r3, #255 ; 0xff - 1dde: 8363 strh r3, [r4, #26] - 1de0: bd10 pop {r4, pc} + 1d2c: 23ff movs r3, #255 ; 0xff + 1d2e: 8363 strh r3, [r4, #26] + 1d30: bd10 pop {r4, pc} ((Sercom *)hw)->USART.INTENCLR.reg = SERCOM_USART_INTENSET_DRE; - 1de2: 2301 movs r3, #1 - 1de4: 7523 strb r3, [r4, #20] + 1d32: 2301 movs r3, #1 + 1d34: 7523 strb r3, [r4, #20] device->usart_cb.tx_byte_sent(device); - 1de6: 6803 ldr r3, [r0, #0] - 1de8: 4798 blx r3 - 1dea: bd10 pop {r4, pc} + 1d36: 6803 ldr r3, [r0, #0] + 1d38: 4798 blx r3 + 1d3a: bd10 pop {r4, pc} ((Sercom *)hw)->USART.INTENCLR.reg = SERCOM_USART_INTENSET_TXC; - 1dec: 2302 movs r3, #2 - 1dee: 7523 strb r3, [r4, #20] + 1d3c: 2302 movs r3, #2 + 1d3e: 7523 strb r3, [r4, #20] device->usart_cb.tx_done_cb(device); - 1df0: 6883 ldr r3, [r0, #8] - 1df2: 4798 blx r3 - 1df4: bd10 pop {r4, pc} + 1d40: 6883 ldr r3, [r0, #8] + 1d42: 4798 blx r3 + 1d44: bd10 pop {r4, pc} return ((Sercom *)hw)->USART.DATA.reg; - 1df6: 6aa1 ldr r1, [r4, #40] ; 0x28 + 1d46: 6aa1 ldr r1, [r4, #40] ; 0x28 | SERCOM_USART_STATUS_ISF | SERCOM_USART_STATUS_COLL)) { hri_sercomusart_clear_STATUS_reg(hw, SERCOM_USART_STATUS_MASK); return; } device->usart_cb.rx_done_cb(device, hri_sercomusart_read_DATA_reg(hw)); - 1df8: 6843 ldr r3, [r0, #4] - 1dfa: b2c9 uxtb r1, r1 - 1dfc: 4798 blx r3 - 1dfe: bd10 pop {r4, pc} + 1d48: 6843 ldr r3, [r0, #4] + 1d4a: b2c9 uxtb r1, r1 + 1d4c: 4798 blx r3 + 1d4e: bd10 pop {r4, pc} return (((Sercom *)hw)->USART.INTFLAG.reg & SERCOM_USART_INTFLAG_ERROR) >> SERCOM_USART_INTFLAG_ERROR_Pos; - 1e00: 7e23 ldrb r3, [r4, #24] + 1d50: 7e23 ldrb r3, [r4, #24] } else if (hri_sercomusart_get_interrupt_ERROR_bit(hw)) { - 1e02: 09db lsrs r3, r3, #7 - 1e04: d100 bne.n 1e08 <_sercom_usart_interrupt_handler+0x60> - 1e06: bd10 pop {r4, pc} + 1d52: 09db lsrs r3, r3, #7 + 1d54: d100 bne.n 1d58 <_sercom_usart_interrupt_handler+0x60> + 1d56: bd10 pop {r4, pc} ((Sercom *)hw)->USART.INTFLAG.reg = SERCOM_USART_INTFLAG_ERROR; - 1e08: 2380 movs r3, #128 ; 0x80 - 1e0a: 7623 strb r3, [r4, #24] + 1d58: 2380 movs r3, #128 ; 0x80 + 1d5a: 7623 strb r3, [r4, #24] uint32_t status; hri_sercomusart_clear_interrupt_ERROR_bit(hw); device->usart_cb.error_cb(device); - 1e0c: 68c3 ldr r3, [r0, #12] - 1e0e: 4798 blx r3 + 1d5c: 68c3 ldr r3, [r0, #12] + 1d5e: 4798 blx r3 return ((Sercom *)hw)->USART.STATUS.reg; - 1e10: 8b63 ldrh r3, [r4, #26] - 1e12: b29b uxth r3, r3 + 1d60: 8b63 ldrh r3, [r4, #26] + 1d62: b29b uxth r3, r3 ((Sercom *)hw)->USART.STATUS.reg = mask; - 1e14: 8363 strh r3, [r4, #26] - 1e16: e7f6 b.n 1e06 <_sercom_usart_interrupt_handler+0x5e> + 1d64: 8363 strh r3, [r4, #26] + 1d66: e7f6 b.n 1d56 <_sercom_usart_interrupt_handler+0x5e> -00001e18 <_sercom_get_irq_num>: +00001d68 <_sercom_get_irq_num>: /** * \brief Retrieve IRQ number for the given hardware instance */ static uint8_t _sercom_get_irq_num(const void *const hw) { - 1e18: b508 push {r3, lr} + 1d68: b508 push {r3, lr} return SERCOM0_0_IRQn + (_sercom_get_hardware_index(hw) << 2); - 1e1a: 4b03 ldr r3, [pc, #12] ; (1e28 <_sercom_get_irq_num+0x10>) - 1e1c: 4798 blx r3 - 1e1e: 0080 lsls r0, r0, #2 - 1e20: 302e adds r0, #46 ; 0x2e + 1d6a: 4b03 ldr r3, [pc, #12] ; (1d78 <_sercom_get_irq_num+0x10>) + 1d6c: 4798 blx r3 + 1d6e: 0080 lsls r0, r0, #2 + 1d70: 302e adds r0, #46 ; 0x2e } - 1e22: f000 00fe and.w r0, r0, #254 ; 0xfe - 1e26: bd08 pop {r3, pc} - 1e28: 00001d65 .word 0x00001d65 + 1d72: f000 00fe and.w r0, r0, #254 ; 0xfe + 1d76: bd08 pop {r3, pc} + 1d78: 00001cb5 .word 0x00001cb5 -00001e2c <_usart_init>: +00001d7c <_usart_init>: { - 1e2c: b510 push {r4, lr} - 1e2e: 4604 mov r4, r0 + 1d7c: b510 push {r4, lr} + 1d7e: 4604 mov r4, r0 uint8_t sercom_offset = _sercom_get_hardware_index(hw); - 1e30: 4b21 ldr r3, [pc, #132] ; (1eb8 <_usart_init+0x8c>) - 1e32: 4798 blx r3 + 1d80: 4b21 ldr r3, [pc, #132] ; (1e08 <_usart_init+0x8c>) + 1d82: 4798 blx r3 if (_usarts[i].number == sercom_offset) { - 1e34: 2802 cmp r0, #2 - 1e36: d005 beq.n 1e44 <_usart_init+0x18> + 1d84: 2802 cmp r0, #2 + 1d86: d005 beq.n 1d94 <_usart_init+0x18> ASSERT(false); - 1e38: f240 226b movw r2, #619 ; 0x26b - 1e3c: 491f ldr r1, [pc, #124] ; (1ebc <_usart_init+0x90>) - 1e3e: 2000 movs r0, #0 - 1e40: 4b1f ldr r3, [pc, #124] ; (1ec0 <_usart_init+0x94>) - 1e42: 4798 blx r3 + 1d88: f240 226b movw r2, #619 ; 0x26b + 1d8c: 491f ldr r1, [pc, #124] ; (1e0c <_usart_init+0x90>) + 1d8e: 2000 movs r0, #0 + 1d90: 4b1f ldr r3, [pc, #124] ; (1e10 <_usart_init+0x94>) + 1d92: 4798 blx r3 return ((Sercom *)hw)->USART.SYNCBUSY.reg & reg; - 1e44: 69e3 ldr r3, [r4, #28] + 1d94: 69e3 ldr r3, [r4, #28] if (!hri_sercomusart_is_syncing(hw, SERCOM_USART_SYNCBUSY_SWRST)) { - 1e46: f013 0f01 tst.w r3, #1 - 1e4a: d119 bne.n 1e80 <_usart_init+0x54> + 1d96: f013 0f01 tst.w r3, #1 + 1d9a: d119 bne.n 1dd0 <_usart_init+0x54> while (((Sercom *)hw)->USART.SYNCBUSY.reg & reg) { - 1e4c: 69e3 ldr r3, [r4, #28] - 1e4e: f013 0f03 tst.w r3, #3 - 1e52: d1fb bne.n 1e4c <_usart_init+0x20> + 1d9c: 69e3 ldr r3, [r4, #28] + 1d9e: f013 0f03 tst.w r3, #3 + 1da2: d1fb bne.n 1d9c <_usart_init+0x20> tmp = ((Sercom *)hw)->USART.CTRLA.reg; - 1e54: 6823 ldr r3, [r4, #0] + 1da4: 6823 ldr r3, [r4, #0] if (hri_sercomusart_get_CTRLA_reg(hw, SERCOM_USART_CTRLA_ENABLE)) { - 1e56: f013 0f02 tst.w r3, #2 - 1e5a: d00b beq.n 1e74 <_usart_init+0x48> + 1da6: f013 0f02 tst.w r3, #2 + 1daa: d00b beq.n 1dc4 <_usart_init+0x48> ((Sercom *)hw)->USART.CTRLA.reg &= ~SERCOM_USART_CTRLA_ENABLE; - 1e5c: 6823 ldr r3, [r4, #0] - 1e5e: f023 0302 bic.w r3, r3, #2 - 1e62: 6023 str r3, [r4, #0] + 1dac: 6823 ldr r3, [r4, #0] + 1dae: f023 0302 bic.w r3, r3, #2 + 1db2: 6023 str r3, [r4, #0] while (((Sercom *)hw)->USART.SYNCBUSY.reg & reg) { - 1e64: 69e3 ldr r3, [r4, #28] - 1e66: f013 0f03 tst.w r3, #3 - 1e6a: d1fb bne.n 1e64 <_usart_init+0x38> - 1e6c: 69e3 ldr r3, [r4, #28] - 1e6e: f013 0f02 tst.w r3, #2 - 1e72: d1fb bne.n 1e6c <_usart_init+0x40> + 1db4: 69e3 ldr r3, [r4, #28] + 1db6: f013 0f03 tst.w r3, #3 + 1dba: d1fb bne.n 1db4 <_usart_init+0x38> + 1dbc: 69e3 ldr r3, [r4, #28] + 1dbe: f013 0f02 tst.w r3, #2 + 1dc2: d1fb bne.n 1dbc <_usart_init+0x40> ((Sercom *)hw)->USART.CTRLA.reg = data; - 1e74: 2305 movs r3, #5 - 1e76: 6023 str r3, [r4, #0] + 1dc4: 2305 movs r3, #5 + 1dc6: 6023 str r3, [r4, #0] while (((Sercom *)hw)->USART.SYNCBUSY.reg & reg) { - 1e78: 69e3 ldr r3, [r4, #28] - 1e7a: f013 0f03 tst.w r3, #3 - 1e7e: d1fb bne.n 1e78 <_usart_init+0x4c> - 1e80: 69e3 ldr r3, [r4, #28] - 1e82: f013 0f01 tst.w r3, #1 - 1e86: d1fb bne.n 1e80 <_usart_init+0x54> + 1dc8: 69e3 ldr r3, [r4, #28] + 1dca: f013 0f03 tst.w r3, #3 + 1dce: d1fb bne.n 1dc8 <_usart_init+0x4c> + 1dd0: 69e3 ldr r3, [r4, #28] + 1dd2: f013 0f01 tst.w r3, #1 + 1dd6: d1fb bne.n 1dd0 <_usart_init+0x54> ((Sercom *)hw)->USART.CTRLA.reg = data; - 1e88: 4b0e ldr r3, [pc, #56] ; (1ec4 <_usart_init+0x98>) - 1e8a: 6023 str r3, [r4, #0] + 1dd8: 4b0e ldr r3, [pc, #56] ; (1e14 <_usart_init+0x98>) + 1dda: 6023 str r3, [r4, #0] while (((Sercom *)hw)->USART.SYNCBUSY.reg & reg) { - 1e8c: 69e3 ldr r3, [r4, #28] - 1e8e: f013 0f03 tst.w r3, #3 - 1e92: d1fb bne.n 1e8c <_usart_init+0x60> + 1ddc: 69e3 ldr r3, [r4, #28] + 1dde: f013 0f03 tst.w r3, #3 + 1de2: d1fb bne.n 1ddc <_usart_init+0x60> ((Sercom *)hw)->USART.CTRLB.reg = data; - 1e94: f44f 3340 mov.w r3, #196608 ; 0x30000 - 1e98: 6063 str r3, [r4, #4] + 1de4: f44f 3340 mov.w r3, #196608 ; 0x30000 + 1de8: 6063 str r3, [r4, #4] while (((Sercom *)hw)->USART.SYNCBUSY.reg & reg) { - 1e9a: 69e3 ldr r3, [r4, #28] - 1e9c: f013 0f1f tst.w r3, #31 - 1ea0: d1fb bne.n 1e9a <_usart_init+0x6e> + 1dea: 69e3 ldr r3, [r4, #28] + 1dec: f013 0f1f tst.w r3, #31 + 1df0: d1fb bne.n 1dea <_usart_init+0x6e> ((Sercom *)hw)->USART.CTRLC.reg = data; - 1ea2: 4b09 ldr r3, [pc, #36] ; (1ec8 <_usart_init+0x9c>) - 1ea4: 60a3 str r3, [r4, #8] + 1df2: 4b09 ldr r3, [pc, #36] ; (1e18 <_usart_init+0x9c>) + 1df4: 60a3 str r3, [r4, #8] ((Sercom *)hw)->USART.BAUD.reg = data; - 1ea6: f64f 4311 movw r3, #64529 ; 0xfc11 - 1eaa: 81a3 strh r3, [r4, #12] + 1df6: f64f 4311 movw r3, #64529 ; 0xfc11 + 1dfa: 81a3 strh r3, [r4, #12] ((Sercom *)hw)->USART.RXPL.reg = data; - 1eac: 2000 movs r0, #0 - 1eae: 73a0 strb r0, [r4, #14] + 1dfc: 2000 movs r0, #0 + 1dfe: 73a0 strb r0, [r4, #14] ((Sercom *)hw)->USART.DBGCTRL.reg = data; - 1eb0: f884 0030 strb.w r0, [r4, #48] ; 0x30 -} - 1eb4: bd10 pop {r4, pc} - 1eb6: bf00 nop - 1eb8: 00001d65 .word 0x00001d65 - 1ebc: 0001b060 .word 0x0001b060 - 1ec0: 00001a89 .word 0x00001a89 - 1ec4: 40100004 .word 0x40100004 - 1ec8: 00700002 .word 0x00700002 - -00001ecc <_get_i2cm_index>: -{ - 1ecc: b508 push {r3, lr} - uint8_t sercom_offset = _sercom_get_hardware_index(hw); - 1ece: 4b07 ldr r3, [pc, #28] ; (1eec <_get_i2cm_index+0x20>) - 1ed0: 4798 blx r3 - if (_i2cms[i].number == sercom_offset) { - 1ed2: 2803 cmp r0, #3 - 1ed4: d008 beq.n 1ee8 <_get_i2cm_index+0x1c> - ASSERT(false); - 1ed6: f240 32ce movw r2, #974 ; 0x3ce - 1eda: 4905 ldr r1, [pc, #20] ; (1ef0 <_get_i2cm_index+0x24>) - 1edc: 2000 movs r0, #0 - 1ede: 4b05 ldr r3, [pc, #20] ; (1ef4 <_get_i2cm_index+0x28>) - 1ee0: 4798 blx r3 - return -1; - 1ee2: f04f 30ff mov.w r0, #4294967295 -} - 1ee6: bd08 pop {r3, pc} - return i; - 1ee8: 2000 movs r0, #0 - 1eea: bd08 pop {r3, pc} - 1eec: 00001d65 .word 0x00001d65 - 1ef0: 0001b060 .word 0x0001b060 - 1ef4: 00001a89 .word 0x00001a89 - -00001ef8 <_i2c_m_sync_init_impl>: - } - return ERR_NONE; -} - -static int32_t _i2c_m_sync_init_impl(struct _i2c_m_service *const service, void *const hw) -{ - 1ef8: b538 push {r3, r4, r5, lr} - 1efa: 4605 mov r5, r0 - 1efc: 460c mov r4, r1 - uint8_t i = _get_i2cm_index(hw); - 1efe: 4608 mov r0, r1 - 1f00: 4b32 ldr r3, [pc, #200] ; (1fcc <_i2c_m_sync_init_impl+0xd4>) - 1f02: 4798 blx r3 - 1f04: b2c0 uxtb r0, r0 - return ((Sercom *)hw)->I2CM.SYNCBUSY.reg & reg; - 1f06: 69e3 ldr r3, [r4, #28] - - if (!hri_sercomi2cm_is_syncing(hw, SERCOM_I2CM_SYNCBUSY_SWRST)) { - 1f08: f013 0f01 tst.w r3, #1 - 1f0c: d122 bne.n 1f54 <_i2c_m_sync_init_impl+0x5c> - uint32_t mode = _i2cms[i].ctrl_a & SERCOM_I2CM_CTRLA_MODE_Msk; - 1f0e: eb00 0340 add.w r3, r0, r0, lsl #1 - 1f12: 4a2f ldr r2, [pc, #188] ; (1fd0 <_i2c_m_sync_init_impl+0xd8>) - 1f14: eb02 03c3 add.w r3, r2, r3, lsl #3 - 1f18: 6a5a ldr r2, [r3, #36] ; 0x24 - 1f1a: f002 021c and.w r2, r2, #28 - while (((Sercom *)hw)->I2CM.SYNCBUSY.reg & reg) { - 1f1e: 69e3 ldr r3, [r4, #28] - 1f20: f013 0f03 tst.w r3, #3 - 1f24: d1fb bne.n 1f1e <_i2c_m_sync_init_impl+0x26> - tmp = ((Sercom *)hw)->I2CM.CTRLA.reg; - 1f26: 6823 ldr r3, [r4, #0] - if (hri_sercomi2cm_get_CTRLA_reg(hw, SERCOM_I2CM_CTRLA_ENABLE)) { - 1f28: f013 0f02 tst.w r3, #2 - 1f2c: d00b beq.n 1f46 <_i2c_m_sync_init_impl+0x4e> - ((Sercom *)hw)->I2CM.CTRLA.reg &= ~SERCOM_I2CM_CTRLA_ENABLE; - 1f2e: 6823 ldr r3, [r4, #0] - 1f30: f023 0302 bic.w r3, r3, #2 - 1f34: 6023 str r3, [r4, #0] - while (((Sercom *)hw)->I2CM.SYNCBUSY.reg & reg) { - 1f36: 69e3 ldr r3, [r4, #28] - 1f38: f013 0f03 tst.w r3, #3 - 1f3c: d1fb bne.n 1f36 <_i2c_m_sync_init_impl+0x3e> - 1f3e: 69e3 ldr r3, [r4, #28] - 1f40: f013 0f02 tst.w r3, #2 - 1f44: d1fb bne.n 1f3e <_i2c_m_sync_init_impl+0x46> - hri_sercomi2cm_clear_CTRLA_ENABLE_bit(hw); - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_ENABLE); - } - hri_sercomi2cm_write_CTRLA_reg(hw, SERCOM_I2CM_CTRLA_SWRST | mode); - 1f46: f042 0201 orr.w r2, r2, #1 - ((Sercom *)hw)->I2CM.CTRLA.reg = data; - 1f4a: 6022 str r2, [r4, #0] - while (((Sercom *)hw)->I2CM.SYNCBUSY.reg & reg) { - 1f4c: 69e3 ldr r3, [r4, #28] - 1f4e: f013 0f03 tst.w r3, #3 - 1f52: d1fb bne.n 1f4c <_i2c_m_sync_init_impl+0x54> - 1f54: 69e3 ldr r3, [r4, #28] - 1f56: f013 0f01 tst.w r3, #1 - 1f5a: d1fb bne.n 1f54 <_i2c_m_sync_init_impl+0x5c> - } - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SWRST); - - hri_sercomi2cm_write_CTRLA_reg(hw, _i2cms[i].ctrl_a); - 1f5c: eb00 0340 add.w r3, r0, r0, lsl #1 - 1f60: 4a1b ldr r2, [pc, #108] ; (1fd0 <_i2c_m_sync_init_impl+0xd8>) - 1f62: eb02 03c3 add.w r3, r2, r3, lsl #3 - 1f66: 6a5a ldr r2, [r3, #36] ; 0x24 - ((Sercom *)hw)->I2CM.CTRLA.reg = data; - 1f68: 6022 str r2, [r4, #0] - while (((Sercom *)hw)->I2CM.SYNCBUSY.reg & reg) { - 1f6a: 69e3 ldr r3, [r4, #28] - 1f6c: f013 0f03 tst.w r3, #3 - 1f70: d1fb bne.n 1f6a <_i2c_m_sync_init_impl+0x72> - hri_sercomi2cm_write_CTRLB_reg(hw, _i2cms[i].ctrl_b); - 1f72: eb00 0340 add.w r3, r0, r0, lsl #1 - 1f76: 4916 ldr r1, [pc, #88] ; (1fd0 <_i2c_m_sync_init_impl+0xd8>) - 1f78: eb01 03c3 add.w r3, r1, r3, lsl #3 - 1f7c: 6a9b ldr r3, [r3, #40] ; 0x28 - ((Sercom *)hw)->I2CM.CTRLB.reg = data; - 1f7e: 6063 str r3, [r4, #4] - while (((Sercom *)hw)->I2CM.SYNCBUSY.reg & reg) { - 1f80: 69e3 ldr r3, [r4, #28] - 1f82: f013 0f04 tst.w r3, #4 - 1f86: d1fb bne.n 1f80 <_i2c_m_sync_init_impl+0x88> - hri_sercomi2cm_write_BAUD_reg(hw, _i2cms[i].baud); - 1f88: eb00 0340 add.w r3, r0, r0, lsl #1 - 1f8c: 4910 ldr r1, [pc, #64] ; (1fd0 <_i2c_m_sync_init_impl+0xd8>) - 1f8e: eb01 03c3 add.w r3, r1, r3, lsl #3 - 1f92: 6adb ldr r3, [r3, #44] ; 0x2c - ((Sercom *)hw)->I2CM.BAUD.reg = data; - 1f94: 60e3 str r3, [r4, #12] - - service->mode = (_i2cms[i].ctrl_a & SERCOM_I2CM_CTRLA_SPEED_Msk) >> SERCOM_I2CM_CTRLA_SPEED_Pos; - 1f96: f3c2 6301 ubfx r3, r2, #24, #2 - 1f9a: 81ab strh r3, [r5, #12] - tmp = ((Sercom *)hw)->I2CM.ADDR.reg; - 1f9c: 6a62 ldr r2, [r4, #36] ; 0x24 - tmp &= ~SERCOM_I2CM_ADDR_HS; - 1f9e: f422 4280 bic.w r2, r2, #16384 ; 0x4000 - hri_sercomi2cm_write_ADDR_HS_bit(hw, service->mode < I2C_HS ? 0 : 1); - 1fa2: 2b01 cmp r3, #1 - 1fa4: bf94 ite ls - 1fa6: 2300 movls r3, #0 - 1fa8: 2301 movhi r3, #1 - tmp |= value << SERCOM_I2CM_ADDR_HS_Pos; - 1faa: ea42 3383 orr.w r3, r2, r3, lsl #14 - ((Sercom *)hw)->I2CM.ADDR.reg = tmp; - 1fae: 6263 str r3, [r4, #36] ; 0x24 - while (((Sercom *)hw)->I2CM.SYNCBUSY.reg & reg) { - 1fb0: 69e3 ldr r3, [r4, #28] - 1fb2: f013 0f04 tst.w r3, #4 - 1fb6: d1fb bne.n 1fb0 <_i2c_m_sync_init_impl+0xb8> - - service->trise = _i2cms[i].trise; - 1fb8: eb00 0040 add.w r0, r0, r0, lsl #1 - 1fbc: 4b04 ldr r3, [pc, #16] ; (1fd0 <_i2c_m_sync_init_impl+0xd8>) - 1fbe: eb03 00c0 add.w r0, r3, r0, lsl #3 - 1fc2: 8e43 ldrh r3, [r0, #50] ; 0x32 - 1fc4: 81eb strh r3, [r5, #14] - - return ERR_NONE; + 1e00: f884 0030 strb.w r0, [r4, #48] ; 0x30 } - 1fc6: 2000 movs r0, #0 - 1fc8: bd38 pop {r3, r4, r5, pc} - 1fca: bf00 nop - 1fcc: 00001ecd .word 0x00001ecd - 1fd0: 0001b028 .word 0x0001b028 + 1e04: bd10 pop {r4, pc} + 1e06: bf00 nop + 1e08: 00001cb5 .word 0x00001cb5 + 1e0c: 0001b614 .word 0x0001b614 + 1e10: 000019d5 .word 0x000019d5 + 1e14: 40100004 .word 0x40100004 + 1e18: 00700002 .word 0x00700002 -00001fd4 <_usart_async_init>: +00001e1c <_usart_async_init>: { - 1fd4: b570 push {r4, r5, r6, lr} - 1fd6: 460d mov r5, r1 + 1e1c: b570 push {r4, r5, r6, lr} + 1e1e: 460d mov r5, r1 ASSERT(device); - 1fd8: 4606 mov r6, r0 - 1fda: 22cb movs r2, #203 ; 0xcb - 1fdc: 4918 ldr r1, [pc, #96] ; (2040 <_usart_async_init+0x6c>) - 1fde: 3000 adds r0, #0 - 1fe0: bf18 it ne - 1fe2: 2001 movne r0, #1 - 1fe4: 4b17 ldr r3, [pc, #92] ; (2044 <_usart_async_init+0x70>) - 1fe6: 4798 blx r3 + 1e20: 4606 mov r6, r0 + 1e22: 22cb movs r2, #203 ; 0xcb + 1e24: 4918 ldr r1, [pc, #96] ; (1e88 <_usart_async_init+0x6c>) + 1e26: 3000 adds r0, #0 + 1e28: bf18 it ne + 1e2a: 2001 movne r0, #1 + 1e2c: 4b17 ldr r3, [pc, #92] ; (1e8c <_usart_async_init+0x70>) + 1e2e: 4798 blx r3 init_status = _usart_init(hw); - 1fe8: 4628 mov r0, r5 - 1fea: 4b17 ldr r3, [pc, #92] ; (2048 <_usart_async_init+0x74>) - 1fec: 4798 blx r3 + 1e30: 4628 mov r0, r5 + 1e32: 4b17 ldr r3, [pc, #92] ; (1e90 <_usart_async_init+0x74>) + 1e34: 4798 blx r3 if (init_status) { - 1fee: 4604 mov r4, r0 - 1ff0: b108 cbz r0, 1ff6 <_usart_async_init+0x22> + 1e36: 4604 mov r4, r0 + 1e38: b108 cbz r0, 1e3e <_usart_async_init+0x22> } - 1ff2: 4620 mov r0, r4 - 1ff4: bd70 pop {r4, r5, r6, pc} + 1e3a: 4620 mov r0, r4 + 1e3c: bd70 pop {r4, r5, r6, pc} device->hw = hw; - 1ff6: 61b5 str r5, [r6, #24] + 1e3e: 61b5 str r5, [r6, #24] if (hw == SERCOM2) { - 1ff8: 4b14 ldr r3, [pc, #80] ; (204c <_usart_async_init+0x78>) - 1ffa: 429d cmp r5, r3 + 1e40: 4b14 ldr r3, [pc, #80] ; (1e94 <_usart_async_init+0x78>) + 1e42: 429d cmp r5, r3 _sercom2_dev = (struct _usart_async_device *)dev; - 1ffc: bf04 itt eq - 1ffe: 4b14 ldreq r3, [pc, #80] ; (2050 <_usart_async_init+0x7c>) - 2000: 601e streq r6, [r3, #0] + 1e44: bf04 itt eq + 1e46: 4b14 ldreq r3, [pc, #80] ; (1e98 <_usart_async_init+0x7c>) + 1e48: 601e streq r6, [r3, #0] uint8_t irq = _sercom_get_irq_num(hw); - 2002: 4628 mov r0, r5 - 2004: 4b13 ldr r3, [pc, #76] ; (2054 <_usart_async_init+0x80>) - 2006: 4798 blx r3 - 2008: 1d01 adds r1, r0, #4 - 200a: b2c9 uxtb r1, r1 + 1e4a: 4628 mov r0, r5 + 1e4c: 4b13 ldr r3, [pc, #76] ; (1e9c <_usart_async_init+0x80>) + 1e4e: 4798 blx r3 + 1e50: 1d01 adds r1, r0, #4 + 1e52: b2c9 uxtb r1, r1 NVIC->ICER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); - 200c: 2501 movs r5, #1 - 200e: f000 021f and.w r2, r0, #31 - 2012: fa05 f202 lsl.w r2, r5, r2 - 2016: 0943 lsrs r3, r0, #5 - 2018: 009b lsls r3, r3, #2 - 201a: f103 4360 add.w r3, r3, #3758096384 ; 0xe0000000 - 201e: f503 4361 add.w r3, r3, #57600 ; 0xe100 - 2022: f8c3 2080 str.w r2, [r3, #128] ; 0x80 + 1e54: 2501 movs r5, #1 + 1e56: f000 021f and.w r2, r0, #31 + 1e5a: fa05 f202 lsl.w r2, r5, r2 + 1e5e: 0943 lsrs r3, r0, #5 + 1e60: 009b lsls r3, r3, #2 + 1e62: f103 4360 add.w r3, r3, #3758096384 ; 0xe0000000 + 1e66: f503 4361 add.w r3, r3, #57600 ; 0xe100 + 1e6a: f8c3 2080 str.w r2, [r3, #128] ; 0x80 __ASM volatile ("dsb 0xF":::"memory"); - 2026: f3bf 8f4f dsb sy + 1e6e: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); - 202a: f3bf 8f6f isb sy + 1e72: f3bf 8f6f isb sy */ __STATIC_INLINE void __NVIC_ClearPendingIRQ(IRQn_Type IRQn) { if ((int32_t)(IRQn) >= 0) { NVIC->ICPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); - 202e: f8c3 2180 str.w r2, [r3, #384] ; 0x180 + 1e76: f8c3 2180 str.w r2, [r3, #384] ; 0x180 NVIC->ISER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); - 2032: 601a str r2, [r3, #0] + 1e7a: 601a str r2, [r3, #0] irq++; - 2034: 3001 adds r0, #1 - 2036: b2c0 uxtb r0, r0 + 1e7c: 3001 adds r0, #1 + 1e7e: b2c0 uxtb r0, r0 for (uint32_t i = 0; i < 4; i++) { - 2038: 4281 cmp r1, r0 - 203a: d1e8 bne.n 200e <_usart_async_init+0x3a> - 203c: e7d9 b.n 1ff2 <_usart_async_init+0x1e> - 203e: bf00 nop - 2040: 0001b060 .word 0x0001b060 - 2044: 00001a89 .word 0x00001a89 - 2048: 00001e2d .word 0x00001e2d - 204c: 41012000 .word 0x41012000 - 2050: 200000c8 .word 0x200000c8 - 2054: 00001e19 .word 0x00001e19 - -00002058 <_usart_async_enable>: + 1e80: 4281 cmp r1, r0 + 1e82: d1e8 bne.n 1e56 <_usart_async_init+0x3a> + 1e84: e7d9 b.n 1e3a <_usart_async_init+0x1e> + 1e86: bf00 nop + 1e88: 0001b614 .word 0x0001b614 + 1e8c: 000019d5 .word 0x000019d5 + 1e90: 00001d7d .word 0x00001d7d + 1e94: 41012000 .word 0x41012000 + 1e98: 200000c8 .word 0x200000c8 + 1e9c: 00001d69 .word 0x00001d69 + +00001ea0 <_usart_async_enable>: hri_sercomusart_set_CTRLA_ENABLE_bit(device->hw); - 2058: 6982 ldr r2, [r0, #24] + 1ea0: 6982 ldr r2, [r0, #24] ((Sercom *)hw)->USART.CTRLA.reg |= SERCOM_USART_CTRLA_ENABLE; - 205a: 6813 ldr r3, [r2, #0] - 205c: f043 0302 orr.w r3, r3, #2 - 2060: 6013 str r3, [r2, #0] + 1ea2: 6813 ldr r3, [r2, #0] + 1ea4: f043 0302 orr.w r3, r3, #2 + 1ea8: 6013 str r3, [r2, #0] while (((Sercom *)hw)->USART.SYNCBUSY.reg & reg) { - 2062: 69d3 ldr r3, [r2, #28] - 2064: f013 0f03 tst.w r3, #3 - 2068: d1fb bne.n 2062 <_usart_async_enable+0xa> + 1eaa: 69d3 ldr r3, [r2, #28] + 1eac: f013 0f03 tst.w r3, #3 + 1eb0: d1fb bne.n 1eaa <_usart_async_enable+0xa> } - 206a: 4770 bx lr + 1eb2: 4770 bx lr -0000206c <_usart_async_write_byte>: +00001eb4 <_usart_async_write_byte>: hri_sercomusart_write_DATA_reg(device->hw, data); - 206c: 6983 ldr r3, [r0, #24] + 1eb4: 6983 ldr r3, [r0, #24] ((Sercom *)hw)->USART.DATA.reg = data; - 206e: 6299 str r1, [r3, #40] ; 0x28 - 2070: 4770 bx lr + 1eb6: 6299 str r1, [r3, #40] ; 0x28 + 1eb8: 4770 bx lr -00002072 <_usart_async_enable_byte_sent_irq>: +00001eba <_usart_async_enable_byte_sent_irq>: hri_sercomusart_set_INTEN_DRE_bit(device->hw); - 2072: 6983 ldr r3, [r0, #24] + 1eba: 6983 ldr r3, [r0, #24] ((Sercom *)hw)->USART.INTENSET.reg = SERCOM_USART_INTENSET_DRE; - 2074: 2201 movs r2, #1 - 2076: 759a strb r2, [r3, #22] - 2078: 4770 bx lr + 1ebc: 2201 movs r2, #1 + 1ebe: 759a strb r2, [r3, #22] + 1ec0: 4770 bx lr -0000207a <_usart_async_enable_tx_done_irq>: +00001ec2 <_usart_async_enable_tx_done_irq>: hri_sercomusart_set_INTEN_TXC_bit(device->hw); - 207a: 6983 ldr r3, [r0, #24] + 1ec2: 6983 ldr r3, [r0, #24] ((Sercom *)hw)->USART.INTENSET.reg = SERCOM_USART_INTENSET_TXC; - 207c: 2202 movs r2, #2 - 207e: 759a strb r2, [r3, #22] - 2080: 4770 bx lr + 1ec4: 2202 movs r2, #2 + 1ec6: 759a strb r2, [r3, #22] + 1ec8: 4770 bx lr ... -00002084 <_i2c_m_sync_init>: -{ - 2084: b538 push {r3, r4, r5, lr} - 2086: 460d mov r5, r1 - ASSERT(i2c_dev); - 2088: 4604 mov r4, r0 - 208a: f44f 62a8 mov.w r2, #1344 ; 0x540 - 208e: 4906 ldr r1, [pc, #24] ; (20a8 <_i2c_m_sync_init+0x24>) - 2090: 3000 adds r0, #0 - 2092: bf18 it ne - 2094: 2001 movne r0, #1 - 2096: 4b05 ldr r3, [pc, #20] ; (20ac <_i2c_m_sync_init+0x28>) - 2098: 4798 blx r3 - i2c_dev->hw = hw; - 209a: 6125 str r5, [r4, #16] - return _i2c_m_sync_init_impl(&i2c_dev->service, hw); - 209c: 4629 mov r1, r5 - 209e: 4620 mov r0, r4 - 20a0: 4b03 ldr r3, [pc, #12] ; (20b0 <_i2c_m_sync_init+0x2c>) - 20a2: 4798 blx r3 -} - 20a4: bd38 pop {r3, r4, r5, pc} - 20a6: bf00 nop - 20a8: 0001b060 .word 0x0001b060 - 20ac: 00001a89 .word 0x00001a89 - 20b0: 00001ef9 .word 0x00001ef9 - -000020b4 <_i2c_m_sync_transfer>: -{ - 20b4: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} - 20b8: 4605 mov r5, r0 - 20ba: 460e mov r6, r1 - void * hw = i2c_dev->hw; - 20bc: 6904 ldr r4, [r0, #16] - ASSERT(i2c_dev); - 20be: f110 0800 adds.w r8, r0, #0 - 20c2: bf18 it ne - 20c4: f04f 0801 movne.w r8, #1 - 20c8: f8df 92c4 ldr.w r9, [pc, #708] ; 2390 <_i2c_m_sync_transfer+0x2dc> - 20cc: f44f 62bf mov.w r2, #1528 ; 0x5f8 - 20d0: 4649 mov r1, r9 - 20d2: 4640 mov r0, r8 - 20d4: 4fad ldr r7, [pc, #692] ; (238c <_i2c_m_sync_transfer+0x2d8>) - 20d6: 47b8 blx r7 - ASSERT(i2c_dev->hw); - 20d8: 6928 ldr r0, [r5, #16] - 20da: f240 52f9 movw r2, #1529 ; 0x5f9 - 20de: 4649 mov r1, r9 - 20e0: 3000 adds r0, #0 - 20e2: bf18 it ne - 20e4: 2001 movne r0, #1 - 20e6: 47b8 blx r7 - ASSERT(msg); - 20e8: f240 52fa movw r2, #1530 ; 0x5fa - 20ec: 4649 mov r1, r9 - 20ee: 1c30 adds r0, r6, #0 - 20f0: bf18 it ne - 20f2: 2001 movne r0, #1 - 20f4: 47b8 blx r7 - if (i2c_dev->service.msg.flags & I2C_M_BUSY) { - 20f6: 886b ldrh r3, [r5, #2] - 20f8: f413 7f80 tst.w r3, #256 ; 0x100 - 20fc: f040 8218 bne.w 2530 <_i2c_m_sync_transfer+0x47c> - msg->flags |= I2C_M_BUSY; - 2100: 8873 ldrh r3, [r6, #2] - 2102: b29b uxth r3, r3 - 2104: f443 7380 orr.w r3, r3, #256 ; 0x100 - 2108: 8073 strh r3, [r6, #2] - i2c_dev->service.msg = *msg; - 210a: e896 0007 ldmia.w r6, {r0, r1, r2} - 210e: e885 0007 stmia.w r5, {r0, r1, r2} - ((Sercom *)hw)->I2CM.CTRLB.reg |= SERCOM_I2CM_CTRLB_SMEN; - 2112: 6863 ldr r3, [r4, #4] - 2114: f443 7380 orr.w r3, r3, #256 ; 0x100 - 2118: 6063 str r3, [r4, #4] - while (((Sercom *)hw)->I2CM.SYNCBUSY.reg & reg) { - 211a: 69e3 ldr r3, [r4, #28] - 211c: f013 0f04 tst.w r3, #4 - 2120: d1fb bne.n 211a <_i2c_m_sync_transfer+0x66> - void * hw = i2c_dev->hw; - 2122: 692f ldr r7, [r5, #16] - tmp = ((Sercom *)hw)->I2CM.CTRLA.reg; - 2124: f8d7 9000 ldr.w r9, [r7] - ASSERT(i2c_dev); - 2128: f240 52cd movw r2, #1485 ; 0x5cd - 212c: 4998 ldr r1, [pc, #608] ; (2390 <_i2c_m_sync_transfer+0x2dc>) - 212e: 4640 mov r0, r8 - 2130: 4b96 ldr r3, [pc, #600] ; (238c <_i2c_m_sync_transfer+0x2d8>) - 2132: 4798 blx r3 - if (msg->len == 1 && sclsm) { - 2134: 686b ldr r3, [r5, #4] - 2136: 2b01 cmp r3, #1 - 2138: d05e beq.n 21f8 <_i2c_m_sync_transfer+0x144> - ((Sercom *)hw)->I2CM.CTRLB.reg &= ~SERCOM_I2CM_CTRLB_ACKACT; - 213a: 687b ldr r3, [r7, #4] - 213c: f423 2380 bic.w r3, r3, #262144 ; 0x40000 - 2140: 607b str r3, [r7, #4] - while (((Sercom *)hw)->I2CM.SYNCBUSY.reg & reg) { - 2142: 69fb ldr r3, [r7, #28] - 2144: f013 0f04 tst.w r3, #4 - 2148: d1fb bne.n 2142 <_i2c_m_sync_transfer+0x8e> - if (msg->addr & I2C_M_TEN) { - 214a: 882b ldrh r3, [r5, #0] - 214c: f413 6f80 tst.w r3, #1024 ; 0x400 - 2150: d05e beq.n 2210 <_i2c_m_sync_transfer+0x15c> - if (msg->flags & I2C_M_RD) { - 2152: 886a ldrh r2, [r5, #2] - 2154: f012 0f01 tst.w r2, #1 - 2158: d004 beq.n 2164 <_i2c_m_sync_transfer+0xb0> - msg->flags |= I2C_M_TEN; - 215a: 886a ldrh r2, [r5, #2] - 215c: b292 uxth r2, r2 - 215e: f442 6280 orr.w r2, r2, #1024 ; 0x400 - 2162: 806a strh r2, [r5, #2] - | (hri_sercomi2cm_read_ADDR_reg(hw) & SERCOM_I2CM_ADDR_HS)); - 2164: f240 72fe movw r2, #2046 ; 0x7fe - 2168: ea02 0243 and.w r2, r2, r3, lsl #1 - 216c: 69fb ldr r3, [r7, #28] - 216e: f013 0f04 tst.w r3, #4 - 2172: d1fb bne.n 216c <_i2c_m_sync_transfer+0xb8> - return ((Sercom *)hw)->I2CM.ADDR.reg; - 2174: 6a7b ldr r3, [r7, #36] ; 0x24 - 2176: f403 4380 and.w r3, r3, #16384 ; 0x4000 - hri_sercomi2cm_write_ADDR_reg(hw, - 217a: f443 4300 orr.w r3, r3, #32768 ; 0x8000 - 217e: 4313 orrs r3, r2 - ((Sercom *)hw)->I2CM.ADDR.reg = data; - 2180: 627b str r3, [r7, #36] ; 0x24 - while (((Sercom *)hw)->I2CM.SYNCBUSY.reg & reg) { - 2182: 69fb ldr r3, [r7, #28] - 2184: f013 0f04 tst.w r3, #4 - 2188: d1fb bne.n 2182 <_i2c_m_sync_transfer+0xce> - void * hw = i2c_dev->hw; - 218a: 6929 ldr r1, [r5, #16] - return ((Sercom *)hw)->I2CM.INTFLAG.reg; - 218c: 7e0b ldrb r3, [r1, #24] - 218e: b2db uxtb r3, r3 - 2190: f64f 72ff movw r2, #65535 ; 0xffff - } while (!(*flags & MB_FLAG) && !(*flags & SB_FLAG)); - 2194: f013 0f03 tst.w r3, #3 - 2198: d103 bne.n 21a2 <_i2c_m_sync_transfer+0xee> - 219a: 7e0b ldrb r3, [r1, #24] - 219c: b2db uxtb r3, r3 - if (timeout-- == 0) { - 219e: 3a01 subs r2, #1 - 21a0: d1f8 bne.n 2194 <_i2c_m_sync_transfer+0xe0> - tmp = ((Sercom *)hw)->I2CM.CTRLA.reg; - 21a2: 6839 ldr r1, [r7, #0] - while (((Sercom *)hw)->I2CM.SYNCBUSY.reg & reg) { - 21a4: 69fa ldr r2, [r7, #28] - 21a6: f012 0f04 tst.w r2, #4 - 21aa: d1fb bne.n 21a4 <_i2c_m_sync_transfer+0xf0> -} - -static inline hri_sercomi2cm_status_reg_t hri_sercomi2cm_read_STATUS_reg(const void *const hw) -{ - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); - return ((Sercom *)hw)->I2CM.STATUS.reg; - 21ac: 8b7a ldrh r2, [r7, #26] - 21ae: b292 uxth r2, r2 - if (flags & MB_FLAG) { - 21b0: f013 0f01 tst.w r3, #1 - 21b4: f000 80a3 beq.w 22fe <_i2c_m_sync_transfer+0x24a> - if (status & SERCOM_I2CM_STATUS_ARBLOST) { - 21b8: f012 0f02 tst.w r2, #2 - 21bc: d03c beq.n 2238 <_i2c_m_sync_transfer+0x184> - ((Sercom *)hw)->I2CM.INTFLAG.reg = SERCOM_I2CM_INTFLAG_MB; - 21be: 2301 movs r3, #1 - 21c0: 763b strb r3, [r7, #24] - msg->flags |= I2C_M_FAIL; - 21c2: 886b ldrh r3, [r5, #2] - 21c4: b29b uxth r3, r3 - 21c6: f443 5380 orr.w r3, r3, #4096 ; 0x1000 - 21ca: 806b strh r3, [r5, #2] - msg->flags &= ~I2C_M_BUSY; - 21cc: 886b ldrh r3, [r5, #2] - 21ce: f423 7380 bic.w r3, r3, #256 ; 0x100 - 21d2: 041b lsls r3, r3, #16 - 21d4: 0c1b lsrs r3, r3, #16 - 21d6: 806b strh r3, [r5, #2] - if (status & SERCOM_I2CM_STATUS_BUSERR) { - 21d8: f002 0201 and.w r2, r2, #1 - return I2C_ERR_BAD_ADDRESS; - 21dc: 2a00 cmp r2, #0 - 21de: bf14 ite ne - 21e0: f06f 0004 mvnne.w r0, #4 - 21e4: f06f 0003 mvneq.w r0, #3 - i2c_dev->service.msg.flags &= ~I2C_M_BUSY; - 21e8: 886b ldrh r3, [r5, #2] - 21ea: f423 7380 bic.w r3, r3, #256 ; 0x100 - 21ee: 041b lsls r3, r3, #16 - 21f0: 0c1b lsrs r3, r3, #16 - 21f2: 806b strh r3, [r5, #2] - return ret; - 21f4: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} - if (msg->len == 1 && sclsm) { - 21f8: f019 6f00 tst.w r9, #134217728 ; 0x8000000 - 21fc: d09d beq.n 213a <_i2c_m_sync_transfer+0x86> - ((Sercom *)hw)->I2CM.CTRLB.reg |= SERCOM_I2CM_CTRLB_ACKACT; - 21fe: 687b ldr r3, [r7, #4] - 2200: f443 2380 orr.w r3, r3, #262144 ; 0x40000 - 2204: 607b str r3, [r7, #4] - while (((Sercom *)hw)->I2CM.SYNCBUSY.reg & reg) { - 2206: 69fb ldr r3, [r7, #28] - 2208: f013 0f04 tst.w r3, #4 - 220c: d1fb bne.n 2206 <_i2c_m_sync_transfer+0x152> - 220e: e79c b.n 214a <_i2c_m_sync_transfer+0x96> - ((msg->addr & SEVEN_ADDR_MASK) << 1) | (msg->flags & I2C_M_RD ? I2C_M_RD : 0x0) - 2210: 8869 ldrh r1, [r5, #2] - 2212: 005a lsls r2, r3, #1 - 2214: b2d2 uxtb r2, r2 - 2216: f001 0301 and.w r3, r1, #1 - 221a: 431a orrs r2, r3 - 221c: 69fb ldr r3, [r7, #28] - 221e: f013 0f04 tst.w r3, #4 - 2222: d1fb bne.n 221c <_i2c_m_sync_transfer+0x168> - return ((Sercom *)hw)->I2CM.ADDR.reg; - 2224: 6a7b ldr r3, [r7, #36] ; 0x24 - | (hri_sercomi2cm_read_ADDR_reg(hw) & SERCOM_I2CM_ADDR_HS)); - 2226: f403 4380 and.w r3, r3, #16384 ; 0x4000 - hri_sercomi2cm_write_ADDR_reg(hw, - 222a: 431a orrs r2, r3 - ((Sercom *)hw)->I2CM.ADDR.reg = data; - 222c: 627a str r2, [r7, #36] ; 0x24 - while (((Sercom *)hw)->I2CM.SYNCBUSY.reg & reg) { - 222e: 69fb ldr r3, [r7, #28] - 2230: f013 0f04 tst.w r3, #4 - 2234: d1fb bne.n 222e <_i2c_m_sync_transfer+0x17a> - 2236: e7a8 b.n 218a <_i2c_m_sync_transfer+0xd6> - if (status & SERCOM_I2CM_STATUS_RXNACK) { - 2238: f012 0f04 tst.w r2, #4 - 223c: d11d bne.n 227a <_i2c_m_sync_transfer+0x1c6> - if (msg->flags & I2C_M_TEN) { - 223e: 886b ldrh r3, [r5, #2] - 2240: f413 6f80 tst.w r3, #1024 ; 0x400 - 2244: d037 beq.n 22b6 <_i2c_m_sync_transfer+0x202> - ((((msg->addr & TEN_ADDR_MASK) >> 8) | TEN_ADDR_FRAME) << 1) | I2C_M_RD - 2246: 882b ldrh r3, [r5, #0] - 2248: 09db lsrs r3, r3, #7 - | (hri_sercomi2cm_read_ADDR_reg(hw) & SERCOM_I2CM_ADDR_HS)); - 224a: f003 0206 and.w r2, r3, #6 - 224e: 69fb ldr r3, [r7, #28] - 2250: f013 0f04 tst.w r3, #4 - 2254: d1fb bne.n 224e <_i2c_m_sync_transfer+0x19a> - return ((Sercom *)hw)->I2CM.ADDR.reg; - 2256: 6a7b ldr r3, [r7, #36] ; 0x24 - 2258: f403 4380 and.w r3, r3, #16384 ; 0x4000 - hri_sercomi2cm_write_ADDR_reg(hw, - 225c: f043 03f1 orr.w r3, r3, #241 ; 0xf1 - 2260: 4313 orrs r3, r2 - ((Sercom *)hw)->I2CM.ADDR.reg = data; - 2262: 627b str r3, [r7, #36] ; 0x24 - while (((Sercom *)hw)->I2CM.SYNCBUSY.reg & reg) { - 2264: 69fb ldr r3, [r7, #28] - 2266: f013 0f04 tst.w r3, #4 - 226a: d1fb bne.n 2264 <_i2c_m_sync_transfer+0x1b0> - msg->flags &= ~I2C_M_TEN; - 226c: 886b ldrh r3, [r5, #2] - 226e: f423 6380 bic.w r3, r3, #1024 ; 0x400 - 2272: 041b lsls r3, r3, #16 - 2274: 0c1b lsrs r3, r3, #16 - 2276: 806b strh r3, [r5, #2] - 2278: e069 b.n 234e <_i2c_m_sync_transfer+0x29a> - if (msg->len > 0) { - 227a: 686b ldr r3, [r5, #4] - 227c: 2b00 cmp r3, #0 - 227e: dd04 ble.n 228a <_i2c_m_sync_transfer+0x1d6> - msg->flags |= I2C_M_FAIL; - 2280: 886b ldrh r3, [r5, #2] - 2282: b29b uxth r3, r3 - 2284: f443 5380 orr.w r3, r3, #4096 ; 0x1000 - 2288: 806b strh r3, [r5, #2] - if (msg->flags & I2C_M_STOP) { - 228a: 886b ldrh r3, [r5, #2] - 228c: f413 4f00 tst.w r3, #32768 ; 0x8000 - 2290: d108 bne.n 22a4 <_i2c_m_sync_transfer+0x1f0> - msg->flags &= ~I2C_M_BUSY; - 2292: 886b ldrh r3, [r5, #2] - 2294: f423 7380 bic.w r3, r3, #256 ; 0x100 - 2298: 041b lsls r3, r3, #16 - 229a: 0c1b lsrs r3, r3, #16 - 229c: 806b strh r3, [r5, #2] - return I2C_NACK; - 229e: f06f 0001 mvn.w r0, #1 - 22a2: e7a1 b.n 21e8 <_i2c_m_sync_transfer+0x134> - ((Sercom *)hw)->I2CM.CTRLB.reg |= SERCOM_I2CM_CTRLB_CMD(mask); - 22a4: 687b ldr r3, [r7, #4] - 22a6: f443 3340 orr.w r3, r3, #196608 ; 0x30000 - 22aa: 607b str r3, [r7, #4] - while (((Sercom *)hw)->I2CM.SYNCBUSY.reg & reg) { - 22ac: 69fb ldr r3, [r7, #28] - 22ae: f013 0f04 tst.w r3, #4 - 22b2: d1fb bne.n 22ac <_i2c_m_sync_transfer+0x1f8> - 22b4: e7ed b.n 2292 <_i2c_m_sync_transfer+0x1de> - if (msg->len == 0) { - 22b6: 686b ldr r3, [r5, #4] - 22b8: b99b cbnz r3, 22e2 <_i2c_m_sync_transfer+0x22e> - if (msg->flags & I2C_M_STOP) { - 22ba: 886b ldrh r3, [r5, #2] - 22bc: f413 4f00 tst.w r3, #32768 ; 0x8000 - 22c0: d106 bne.n 22d0 <_i2c_m_sync_transfer+0x21c> - msg->flags &= ~I2C_M_BUSY; - 22c2: 886b ldrh r3, [r5, #2] - 22c4: f423 7380 bic.w r3, r3, #256 ; 0x100 - 22c8: 041b lsls r3, r3, #16 - 22ca: 0c1b lsrs r3, r3, #16 - 22cc: 806b strh r3, [r5, #2] - 22ce: e03e b.n 234e <_i2c_m_sync_transfer+0x29a> - ((Sercom *)hw)->I2CM.CTRLB.reg |= SERCOM_I2CM_CTRLB_CMD(mask); - 22d0: 687b ldr r3, [r7, #4] - 22d2: f443 3340 orr.w r3, r3, #196608 ; 0x30000 - 22d6: 607b str r3, [r7, #4] - while (((Sercom *)hw)->I2CM.SYNCBUSY.reg & reg) { - 22d8: 69fb ldr r3, [r7, #28] - 22da: f013 0f04 tst.w r3, #4 - 22de: d1fb bne.n 22d8 <_i2c_m_sync_transfer+0x224> - 22e0: e7ef b.n 22c2 <_i2c_m_sync_transfer+0x20e> - hri_sercomi2cm_write_DATA_reg(hw, *msg->buffer); - 22e2: 68ab ldr r3, [r5, #8] - 22e4: 781b ldrb r3, [r3, #0] - ((Sercom *)hw)->I2CM.DATA.reg = data; - 22e6: 62bb str r3, [r7, #40] ; 0x28 - while (((Sercom *)hw)->I2CM.SYNCBUSY.reg & reg) { - 22e8: 69fb ldr r3, [r7, #28] - 22ea: f013 0f04 tst.w r3, #4 - 22ee: d1fb bne.n 22e8 <_i2c_m_sync_transfer+0x234> - msg->buffer++; - 22f0: 68ab ldr r3, [r5, #8] - 22f2: 3301 adds r3, #1 - 22f4: 60ab str r3, [r5, #8] - msg->len--; - 22f6: 686b ldr r3, [r5, #4] - 22f8: 3b01 subs r3, #1 - 22fa: 606b str r3, [r5, #4] - 22fc: e027 b.n 234e <_i2c_m_sync_transfer+0x29a> - } else if (flags & SB_FLAG) { - 22fe: f013 0f02 tst.w r3, #2 - 2302: d024 beq.n 234e <_i2c_m_sync_transfer+0x29a> - if ((msg->len) && !(status & SERCOM_I2CM_STATUS_RXNACK)) { - 2304: 686b ldr r3, [r5, #4] - 2306: 2b00 cmp r3, #0 - 2308: d03a beq.n 2380 <_i2c_m_sync_transfer+0x2cc> - 230a: f012 0f04 tst.w r2, #4 - 230e: d137 bne.n 2380 <_i2c_m_sync_transfer+0x2cc> - tmp = (tmp & SERCOM_I2CM_CTRLA_SCLSM) >> SERCOM_I2CM_CTRLA_SCLSM_Pos; - 2310: f3c1 61c0 ubfx r1, r1, #27, #1 - msg->len--; - 2314: 3b01 subs r3, #1 - 2316: 606b str r3, [r5, #4] - if ((msg->len == 0 && !sclsm) || (msg->len == 1 && sclsm)) { - 2318: 2b00 cmp r3, #0 - 231a: f040 810d bne.w 2538 <_i2c_m_sync_transfer+0x484> - 231e: 2900 cmp r1, #0 - 2320: f000 8110 beq.w 2544 <_i2c_m_sync_transfer+0x490> - if (msg->flags & I2C_M_STOP) { - 2324: 886b ldrh r3, [r5, #2] - 2326: f413 4f00 tst.w r3, #32768 ; 0x8000 - 232a: d118 bne.n 235e <_i2c_m_sync_transfer+0x2aa> - msg->flags &= ~I2C_M_BUSY; - 232c: 886b ldrh r3, [r5, #2] - 232e: f423 7380 bic.w r3, r3, #256 ; 0x100 - 2332: 041b lsls r3, r3, #16 - 2334: 0c1b lsrs r3, r3, #16 - 2336: 806b strh r3, [r5, #2] - *msg->buffer++ = hri_sercomi2cm_read_DATA_reg(hw); - 2338: 68aa ldr r2, [r5, #8] - 233a: 1c53 adds r3, r2, #1 - 233c: 60ab str r3, [r5, #8] - while (((Sercom *)hw)->I2CM.SYNCBUSY.reg & reg) { - 233e: 69fb ldr r3, [r7, #28] - 2340: f013 0f04 tst.w r3, #4 - 2344: d1fb bne.n 233e <_i2c_m_sync_transfer+0x28a> - return ((Sercom *)hw)->I2CM.DATA.reg; - 2346: 6abb ldr r3, [r7, #40] ; 0x28 - 2348: 7013 strb r3, [r2, #0] - ((Sercom *)hw)->I2CM.INTFLAG.reg = SERCOM_I2CM_INTFLAG_SB; - 234a: 2302 movs r3, #2 - 234c: 763b strb r3, [r7, #24] - return I2C_NACK; - 234e: 2200 movs r2, #0 - return I2C_OK; - 2350: 4610 mov r0, r2 - 2352: 2702 movs r7, #2 - return I2C_NACK; - 2354: f06f 0c01 mvn.w ip, #1 - ((Sercom *)hw)->I2CM.INTFLAG.reg = SERCOM_I2CM_INTFLAG_MB; - 2358: f04f 0e01 mov.w lr, #1 - 235c: e0b0 b.n 24c0 <_i2c_m_sync_transfer+0x40c> - ((Sercom *)hw)->I2CM.CTRLB.reg &= ~SERCOM_I2CM_CTRLB_SMEN; - 235e: 687b ldr r3, [r7, #4] - 2360: f423 7380 bic.w r3, r3, #256 ; 0x100 - 2364: 607b str r3, [r7, #4] - while (((Sercom *)hw)->I2CM.SYNCBUSY.reg & reg) { - 2366: 69fb ldr r3, [r7, #28] - 2368: f013 0f04 tst.w r3, #4 - 236c: d1fb bne.n 2366 <_i2c_m_sync_transfer+0x2b2> - ((Sercom *)hw)->I2CM.CTRLB.reg |= SERCOM_I2CM_CTRLB_CMD(mask); - 236e: 687b ldr r3, [r7, #4] - 2370: f443 3340 orr.w r3, r3, #196608 ; 0x30000 - 2374: 607b str r3, [r7, #4] - while (((Sercom *)hw)->I2CM.SYNCBUSY.reg & reg) { - 2376: 69fb ldr r3, [r7, #28] - 2378: f013 0f04 tst.w r3, #4 - 237c: d1fb bne.n 2376 <_i2c_m_sync_transfer+0x2c2> - 237e: e7d5 b.n 232c <_i2c_m_sync_transfer+0x278> - ((Sercom *)hw)->I2CM.INTFLAG.reg = SERCOM_I2CM_INTFLAG_SB; - 2380: 2302 movs r3, #2 - 2382: 763b strb r3, [r7, #24] - 2384: f06f 0001 mvn.w r0, #1 - 2388: e72e b.n 21e8 <_i2c_m_sync_transfer+0x134> - 238a: bf00 nop - 238c: 00001a89 .word 0x00001a89 - 2390: 0001b060 .word 0x0001b060 - ((Sercom *)hw)->I2CM.CTRLB.reg |= SERCOM_I2CM_CTRLB_CMD(mask); - 2394: 6863 ldr r3, [r4, #4] - 2396: f443 3340 orr.w r3, r3, #196608 ; 0x30000 - 239a: 6063 str r3, [r4, #4] - while (((Sercom *)hw)->I2CM.SYNCBUSY.reg & reg) { - 239c: 69e3 ldr r3, [r4, #28] - 239e: f013 0f04 tst.w r3, #4 - 23a2: d1fb bne.n 239c <_i2c_m_sync_transfer+0x2e8> - 23a4: e0a1 b.n 24ea <_i2c_m_sync_transfer+0x436> - if (status & SERCOM_I2CM_STATUS_RXNACK) { - 23a6: f012 0f04 tst.w r2, #4 - 23aa: d11e bne.n 23ea <_i2c_m_sync_transfer+0x336> - if (msg->flags & I2C_M_TEN) { - 23ac: 886b ldrh r3, [r5, #2] - 23ae: f413 6f80 tst.w r3, #1024 ; 0x400 - 23b2: d037 beq.n 2424 <_i2c_m_sync_transfer+0x370> - ((((msg->addr & TEN_ADDR_MASK) >> 8) | TEN_ADDR_FRAME) << 1) | I2C_M_RD - 23b4: 882b ldrh r3, [r5, #0] - 23b6: 09db lsrs r3, r3, #7 - | (hri_sercomi2cm_read_ADDR_reg(hw) & SERCOM_I2CM_ADDR_HS)); - 23b8: f003 0206 and.w r2, r3, #6 - 23bc: 69e3 ldr r3, [r4, #28] - 23be: f013 0f04 tst.w r3, #4 - 23c2: d1fb bne.n 23bc <_i2c_m_sync_transfer+0x308> - return ((Sercom *)hw)->I2CM.ADDR.reg; - 23c4: 6a63 ldr r3, [r4, #36] ; 0x24 - 23c6: f403 4380 and.w r3, r3, #16384 ; 0x4000 - hri_sercomi2cm_write_ADDR_reg(hw, - 23ca: f043 03f1 orr.w r3, r3, #241 ; 0xf1 - 23ce: 4313 orrs r3, r2 - ((Sercom *)hw)->I2CM.ADDR.reg = data; - 23d0: 6263 str r3, [r4, #36] ; 0x24 - while (((Sercom *)hw)->I2CM.SYNCBUSY.reg & reg) { - 23d2: 69e3 ldr r3, [r4, #28] - 23d4: f013 0f04 tst.w r3, #4 - 23d8: d1fb bne.n 23d2 <_i2c_m_sync_transfer+0x31e> - msg->flags &= ~I2C_M_TEN; - 23da: 886b ldrh r3, [r5, #2] - 23dc: f423 6380 bic.w r3, r3, #1024 ; 0x400 - 23e0: 041b lsls r3, r3, #16 - 23e2: 0c1b lsrs r3, r3, #16 - 23e4: 806b strh r3, [r5, #2] - return I2C_OK; - 23e6: 4602 mov r2, r0 - 23e8: e06a b.n 24c0 <_i2c_m_sync_transfer+0x40c> - if (msg->len > 0) { - 23ea: 686b ldr r3, [r5, #4] - 23ec: 2b00 cmp r3, #0 - 23ee: dd04 ble.n 23fa <_i2c_m_sync_transfer+0x346> - msg->flags |= I2C_M_FAIL; - 23f0: 886b ldrh r3, [r5, #2] - 23f2: b29b uxth r3, r3 - 23f4: f443 5380 orr.w r3, r3, #4096 ; 0x1000 - 23f8: 806b strh r3, [r5, #2] - if (msg->flags & I2C_M_STOP) { - 23fa: 886b ldrh r3, [r5, #2] - 23fc: f413 4f00 tst.w r3, #32768 ; 0x8000 - 2400: d107 bne.n 2412 <_i2c_m_sync_transfer+0x35e> - msg->flags &= ~I2C_M_BUSY; - 2402: 886b ldrh r3, [r5, #2] - 2404: f423 7380 bic.w r3, r3, #256 ; 0x100 - 2408: 041b lsls r3, r3, #16 - 240a: 0c1b lsrs r3, r3, #16 - 240c: 806b strh r3, [r5, #2] - return I2C_NACK; - 240e: 4662 mov r2, ip - 2410: e056 b.n 24c0 <_i2c_m_sync_transfer+0x40c> - ((Sercom *)hw)->I2CM.CTRLB.reg |= SERCOM_I2CM_CTRLB_CMD(mask); - 2412: 6863 ldr r3, [r4, #4] - 2414: f443 3340 orr.w r3, r3, #196608 ; 0x30000 - 2418: 6063 str r3, [r4, #4] - while (((Sercom *)hw)->I2CM.SYNCBUSY.reg & reg) { - 241a: 69e3 ldr r3, [r4, #28] - 241c: f013 0f04 tst.w r3, #4 - 2420: d1fb bne.n 241a <_i2c_m_sync_transfer+0x366> - 2422: e7ee b.n 2402 <_i2c_m_sync_transfer+0x34e> - if (msg->len == 0) { - 2424: 686b ldr r3, [r5, #4] - 2426: b9a3 cbnz r3, 2452 <_i2c_m_sync_transfer+0x39e> - if (msg->flags & I2C_M_STOP) { - 2428: 886b ldrh r3, [r5, #2] - 242a: f413 4f00 tst.w r3, #32768 ; 0x8000 - 242e: d107 bne.n 2440 <_i2c_m_sync_transfer+0x38c> - msg->flags &= ~I2C_M_BUSY; - 2430: 886b ldrh r3, [r5, #2] - 2432: f423 7380 bic.w r3, r3, #256 ; 0x100 - 2436: 041b lsls r3, r3, #16 - 2438: 0c1b lsrs r3, r3, #16 - 243a: 806b strh r3, [r5, #2] - return I2C_OK; - 243c: 4602 mov r2, r0 - 243e: e03f b.n 24c0 <_i2c_m_sync_transfer+0x40c> - ((Sercom *)hw)->I2CM.CTRLB.reg |= SERCOM_I2CM_CTRLB_CMD(mask); - 2440: 6863 ldr r3, [r4, #4] - 2442: f443 3340 orr.w r3, r3, #196608 ; 0x30000 - 2446: 6063 str r3, [r4, #4] - while (((Sercom *)hw)->I2CM.SYNCBUSY.reg & reg) { - 2448: 69e3 ldr r3, [r4, #28] - 244a: f013 0f04 tst.w r3, #4 - 244e: d1fb bne.n 2448 <_i2c_m_sync_transfer+0x394> - 2450: e7ee b.n 2430 <_i2c_m_sync_transfer+0x37c> - hri_sercomi2cm_write_DATA_reg(hw, *msg->buffer); - 2452: 68ab ldr r3, [r5, #8] - 2454: 781b ldrb r3, [r3, #0] - ((Sercom *)hw)->I2CM.DATA.reg = data; - 2456: 62a3 str r3, [r4, #40] ; 0x28 - while (((Sercom *)hw)->I2CM.SYNCBUSY.reg & reg) { - 2458: 69e3 ldr r3, [r4, #28] - 245a: f013 0f04 tst.w r3, #4 - 245e: d1fb bne.n 2458 <_i2c_m_sync_transfer+0x3a4> - msg->buffer++; - 2460: 68ab ldr r3, [r5, #8] - 2462: 3301 adds r3, #1 - 2464: 60ab str r3, [r5, #8] - msg->len--; - 2466: 686b ldr r3, [r5, #4] - 2468: 3b01 subs r3, #1 - 246a: 606b str r3, [r5, #4] - return I2C_OK; - 246c: 4602 mov r2, r0 - 246e: e027 b.n 24c0 <_i2c_m_sync_transfer+0x40c> - } else if (flags & SB_FLAG) { - 2470: f013 0f02 tst.w r3, #2 - 2474: d057 beq.n 2526 <_i2c_m_sync_transfer+0x472> - if ((msg->len) && !(status & SERCOM_I2CM_STATUS_RXNACK)) { - 2476: 686b ldr r3, [r5, #4] - 2478: 2b00 cmp r3, #0 - 247a: d051 beq.n 2520 <_i2c_m_sync_transfer+0x46c> - 247c: f012 0f04 tst.w r2, #4 - 2480: d14e bne.n 2520 <_i2c_m_sync_transfer+0x46c> - tmp = (tmp & SERCOM_I2CM_CTRLA_SCLSM) >> SERCOM_I2CM_CTRLA_SCLSM_Pos; - 2482: f3c1 61c0 ubfx r1, r1, #27, #1 - msg->len--; - 2486: 3b01 subs r3, #1 - 2488: 606b str r3, [r5, #4] - if ((msg->len == 0 && !sclsm) || (msg->len == 1 && sclsm)) { - 248a: 2b00 cmp r3, #0 - 248c: f040 808c bne.w 25a8 <_i2c_m_sync_transfer+0x4f4> - 2490: 2900 cmp r1, #0 - 2492: f000 808f beq.w 25b4 <_i2c_m_sync_transfer+0x500> - if (msg->flags & I2C_M_STOP) { - 2496: 886b ldrh r3, [r5, #2] - 2498: f413 4f00 tst.w r3, #32768 ; 0x8000 - 249c: d12f bne.n 24fe <_i2c_m_sync_transfer+0x44a> - msg->flags &= ~I2C_M_BUSY; - 249e: 886b ldrh r3, [r5, #2] - 24a0: f423 7380 bic.w r3, r3, #256 ; 0x100 - 24a4: 041b lsls r3, r3, #16 - 24a6: 0c1b lsrs r3, r3, #16 - 24a8: 806b strh r3, [r5, #2] - *msg->buffer++ = hri_sercomi2cm_read_DATA_reg(hw); - 24aa: 68aa ldr r2, [r5, #8] - 24ac: 1c53 adds r3, r2, #1 - 24ae: 60ab str r3, [r5, #8] - while (((Sercom *)hw)->I2CM.SYNCBUSY.reg & reg) { - 24b0: 69e3 ldr r3, [r4, #28] - 24b2: f013 0f04 tst.w r3, #4 - 24b6: d1fb bne.n 24b0 <_i2c_m_sync_transfer+0x3fc> - return ((Sercom *)hw)->I2CM.DATA.reg; - 24b8: 6aa3 ldr r3, [r4, #40] ; 0x28 - 24ba: 7013 strb r3, [r2, #0] - ((Sercom *)hw)->I2CM.INTFLAG.reg = SERCOM_I2CM_INTFLAG_SB; - 24bc: 7627 strb r7, [r4, #24] - return I2C_OK; - 24be: 4602 mov r2, r0 - while (i2c_dev->service.msg.flags & I2C_M_BUSY) { - 24c0: 886b ldrh r3, [r5, #2] - 24c2: f413 7f80 tst.w r3, #256 ; 0x100 - 24c6: d030 beq.n 252a <_i2c_m_sync_transfer+0x476> - void * hw = i2c_dev->hw; - 24c8: 6929 ldr r1, [r5, #16] - return ((Sercom *)hw)->I2CM.INTFLAG.reg; - 24ca: 7e0b ldrb r3, [r1, #24] - 24cc: b2db uxtb r3, r3 - 24ce: f64f 72ff movw r2, #65535 ; 0xffff - } while (!(*flags & MB_FLAG) && !(*flags & SB_FLAG)); - 24d2: f013 0f03 tst.w r3, #3 - 24d6: d142 bne.n 255e <_i2c_m_sync_transfer+0x4aa> - 24d8: 7e0b ldrb r3, [r1, #24] - 24da: b2db uxtb r3, r3 - if (timeout-- == 0) { - 24dc: 3a01 subs r2, #1 - 24de: d1f8 bne.n 24d2 <_i2c_m_sync_transfer+0x41e> - if (msg->flags & I2C_M_STOP) { - 24e0: 8873 ldrh r3, [r6, #2] - 24e2: f413 4f00 tst.w r3, #32768 ; 0x8000 - 24e6: f47f af55 bne.w 2394 <_i2c_m_sync_transfer+0x2e0> - i2c_dev->service.msg.flags &= ~I2C_M_BUSY; - 24ea: 886b ldrh r3, [r5, #2] - 24ec: f423 7380 bic.w r3, r3, #256 ; 0x100 - 24f0: 041b lsls r3, r3, #16 - 24f2: 0c1b lsrs r3, r3, #16 - 24f4: 806b strh r3, [r5, #2] - return I2C_ERR_BUS; - 24f6: f06f 0004 mvn.w r0, #4 - return ret; - 24fa: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} - ((Sercom *)hw)->I2CM.CTRLB.reg &= ~SERCOM_I2CM_CTRLB_SMEN; - 24fe: 6863 ldr r3, [r4, #4] - 2500: f423 7380 bic.w r3, r3, #256 ; 0x100 - 2504: 6063 str r3, [r4, #4] - while (((Sercom *)hw)->I2CM.SYNCBUSY.reg & reg) { - 2506: 69e3 ldr r3, [r4, #28] - 2508: f013 0f04 tst.w r3, #4 - 250c: d1fb bne.n 2506 <_i2c_m_sync_transfer+0x452> - ((Sercom *)hw)->I2CM.CTRLB.reg |= SERCOM_I2CM_CTRLB_CMD(mask); - 250e: 6863 ldr r3, [r4, #4] - 2510: f443 3340 orr.w r3, r3, #196608 ; 0x30000 - 2514: 6063 str r3, [r4, #4] - while (((Sercom *)hw)->I2CM.SYNCBUSY.reg & reg) { - 2516: 69e3 ldr r3, [r4, #28] - 2518: f013 0f04 tst.w r3, #4 - 251c: d1fb bne.n 2516 <_i2c_m_sync_transfer+0x462> - 251e: e7be b.n 249e <_i2c_m_sync_transfer+0x3ea> - ((Sercom *)hw)->I2CM.INTFLAG.reg = SERCOM_I2CM_INTFLAG_SB; - 2520: 7627 strb r7, [r4, #24] - return I2C_NACK; - 2522: 4662 mov r2, ip - 2524: e7cc b.n 24c0 <_i2c_m_sync_transfer+0x40c> - return I2C_OK; - 2526: 4602 mov r2, r0 - 2528: e7ca b.n 24c0 <_i2c_m_sync_transfer+0x40c> - 252a: 4610 mov r0, r2 - 252c: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} - return I2C_ERR_BUSY; - 2530: f06f 0005 mvn.w r0, #5 - 2534: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} - if ((msg->len == 0 && !sclsm) || (msg->len == 1 && sclsm)) { - 2538: 2b01 cmp r3, #1 - 253a: f47f aefd bne.w 2338 <_i2c_m_sync_transfer+0x284> - 253e: 2900 cmp r1, #0 - 2540: f43f aefa beq.w 2338 <_i2c_m_sync_transfer+0x284> - ((Sercom *)hw)->I2CM.CTRLB.reg |= SERCOM_I2CM_CTRLB_ACKACT; - 2544: 687b ldr r3, [r7, #4] - 2546: f443 2380 orr.w r3, r3, #262144 ; 0x40000 - 254a: 607b str r3, [r7, #4] - while (((Sercom *)hw)->I2CM.SYNCBUSY.reg & reg) { - 254c: 69fb ldr r3, [r7, #28] - 254e: f013 0f04 tst.w r3, #4 - 2552: d1fb bne.n 254c <_i2c_m_sync_transfer+0x498> - if (msg->len == 0) { - 2554: 686b ldr r3, [r5, #4] - 2556: 2b00 cmp r3, #0 - 2558: f43f aee4 beq.w 2324 <_i2c_m_sync_transfer+0x270> - 255c: e6ec b.n 2338 <_i2c_m_sync_transfer+0x284> - tmp = ((Sercom *)hw)->I2CM.CTRLA.reg; - 255e: 6821 ldr r1, [r4, #0] - while (((Sercom *)hw)->I2CM.SYNCBUSY.reg & reg) { - 2560: 69e2 ldr r2, [r4, #28] - 2562: f012 0f04 tst.w r2, #4 - 2566: d1fb bne.n 2560 <_i2c_m_sync_transfer+0x4ac> - return ((Sercom *)hw)->I2CM.STATUS.reg; - 2568: 8b62 ldrh r2, [r4, #26] - 256a: b292 uxth r2, r2 - if (flags & MB_FLAG) { - 256c: f013 0f01 tst.w r3, #1 - 2570: f43f af7e beq.w 2470 <_i2c_m_sync_transfer+0x3bc> - if (status & SERCOM_I2CM_STATUS_ARBLOST) { - 2574: f012 0f02 tst.w r2, #2 - 2578: f43f af15 beq.w 23a6 <_i2c_m_sync_transfer+0x2f2> - ((Sercom *)hw)->I2CM.INTFLAG.reg = SERCOM_I2CM_INTFLAG_MB; - 257c: f884 e018 strb.w lr, [r4, #24] - msg->flags |= I2C_M_FAIL; - 2580: 886b ldrh r3, [r5, #2] - 2582: b29b uxth r3, r3 - 2584: f443 5380 orr.w r3, r3, #4096 ; 0x1000 - 2588: 806b strh r3, [r5, #2] - msg->flags &= ~I2C_M_BUSY; - 258a: 886b ldrh r3, [r5, #2] - 258c: f423 7380 bic.w r3, r3, #256 ; 0x100 - 2590: 041b lsls r3, r3, #16 - 2592: 0c1b lsrs r3, r3, #16 - 2594: 806b strh r3, [r5, #2] - if (status & SERCOM_I2CM_STATUS_BUSERR) { - 2596: f002 0201 and.w r2, r2, #1 - return I2C_ERR_BAD_ADDRESS; - 259a: 2a00 cmp r2, #0 - 259c: bf14 ite ne - 259e: f06f 0204 mvnne.w r2, #4 - 25a2: f06f 0203 mvneq.w r2, #3 - 25a6: e78b b.n 24c0 <_i2c_m_sync_transfer+0x40c> - if ((msg->len == 0 && !sclsm) || (msg->len == 1 && sclsm)) { - 25a8: 2b01 cmp r3, #1 - 25aa: f47f af7e bne.w 24aa <_i2c_m_sync_transfer+0x3f6> - 25ae: 2900 cmp r1, #0 - 25b0: f43f af7b beq.w 24aa <_i2c_m_sync_transfer+0x3f6> - ((Sercom *)hw)->I2CM.CTRLB.reg |= SERCOM_I2CM_CTRLB_ACKACT; - 25b4: 6863 ldr r3, [r4, #4] - 25b6: f443 2380 orr.w r3, r3, #262144 ; 0x40000 - 25ba: 6063 str r3, [r4, #4] - while (((Sercom *)hw)->I2CM.SYNCBUSY.reg & reg) { - 25bc: 69e3 ldr r3, [r4, #28] - 25be: f013 0f04 tst.w r3, #4 - 25c2: d1fb bne.n 25bc <_i2c_m_sync_transfer+0x508> - if (msg->len == 0) { - 25c4: 686b ldr r3, [r5, #4] - 25c6: 2b00 cmp r3, #0 - 25c8: f43f af65 beq.w 2496 <_i2c_m_sync_transfer+0x3e2> - 25cc: e76d b.n 24aa <_i2c_m_sync_transfer+0x3f6> - 25ce: bf00 nop - -000025d0 : +00001ecc : /** * \internal Sercom interrupt handler */ void SERCOM2_0_Handler(void) { - 25d0: b508 push {r3, lr} + 1ecc: b508 push {r3, lr} _sercom_usart_interrupt_handler(_sercom2_dev); - 25d2: 4b02 ldr r3, [pc, #8] ; (25dc ) - 25d4: 6818 ldr r0, [r3, #0] - 25d6: 4b02 ldr r3, [pc, #8] ; (25e0 ) - 25d8: 4798 blx r3 - 25da: bd08 pop {r3, pc} - 25dc: 200000c8 .word 0x200000c8 - 25e0: 00001da9 .word 0x00001da9 + 1ece: 4b02 ldr r3, [pc, #8] ; (1ed8 ) + 1ed0: 6818 ldr r0, [r3, #0] + 1ed2: 4b02 ldr r3, [pc, #8] ; (1edc ) + 1ed4: 4798 blx r3 + 1ed6: bd08 pop {r3, pc} + 1ed8: 200000c8 .word 0x200000c8 + 1edc: 00001cf9 .word 0x00001cf9 -000025e4 : +00001ee0 : } /** * \internal Sercom interrupt handler */ void SERCOM2_1_Handler(void) { - 25e4: b508 push {r3, lr} + 1ee0: b508 push {r3, lr} _sercom_usart_interrupt_handler(_sercom2_dev); - 25e6: 4b02 ldr r3, [pc, #8] ; (25f0 ) - 25e8: 6818 ldr r0, [r3, #0] - 25ea: 4b02 ldr r3, [pc, #8] ; (25f4 ) - 25ec: 4798 blx r3 - 25ee: bd08 pop {r3, pc} - 25f0: 200000c8 .word 0x200000c8 - 25f4: 00001da9 .word 0x00001da9 + 1ee2: 4b02 ldr r3, [pc, #8] ; (1eec ) + 1ee4: 6818 ldr r0, [r3, #0] + 1ee6: 4b02 ldr r3, [pc, #8] ; (1ef0 ) + 1ee8: 4798 blx r3 + 1eea: bd08 pop {r3, pc} + 1eec: 200000c8 .word 0x200000c8 + 1ef0: 00001cf9 .word 0x00001cf9 -000025f8 : +00001ef4 : } /** * \internal Sercom interrupt handler */ void SERCOM2_2_Handler(void) { - 25f8: b508 push {r3, lr} + 1ef4: b508 push {r3, lr} _sercom_usart_interrupt_handler(_sercom2_dev); - 25fa: 4b02 ldr r3, [pc, #8] ; (2604 ) - 25fc: 6818 ldr r0, [r3, #0] - 25fe: 4b02 ldr r3, [pc, #8] ; (2608 ) - 2600: 4798 blx r3 - 2602: bd08 pop {r3, pc} - 2604: 200000c8 .word 0x200000c8 - 2608: 00001da9 .word 0x00001da9 + 1ef6: 4b02 ldr r3, [pc, #8] ; (1f00 ) + 1ef8: 6818 ldr r0, [r3, #0] + 1efa: 4b02 ldr r3, [pc, #8] ; (1f04 ) + 1efc: 4798 blx r3 + 1efe: bd08 pop {r3, pc} + 1f00: 200000c8 .word 0x200000c8 + 1f04: 00001cf9 .word 0x00001cf9 -0000260c : +00001f08 : } /** * \internal Sercom interrupt handler */ void SERCOM2_3_Handler(void) { - 260c: b508 push {r3, lr} + 1f08: b508 push {r3, lr} _sercom_usart_interrupt_handler(_sercom2_dev); - 260e: 4b02 ldr r3, [pc, #8] ; (2618 ) - 2610: 6818 ldr r0, [r3, #0] - 2612: 4b02 ldr r3, [pc, #8] ; (261c ) - 2614: 4798 blx r3 - 2616: bd08 pop {r3, pc} - 2618: 200000c8 .word 0x200000c8 - 261c: 00001da9 .word 0x00001da9 - -00002620 : + 1f0a: 4b02 ldr r3, [pc, #8] ; (1f14 ) + 1f0c: 6818 ldr r0, [r3, #0] + 1f0e: 4b02 ldr r3, [pc, #8] ; (1f18 ) + 1f10: 4798 blx r3 + 1f12: bd08 pop {r3, pc} + 1f14: 200000c8 .word 0x200000c8 + 1f18: 00001cf9 .word 0x00001cf9 + +00001f1c : * \param[in] hw The pointer to hardware instance * * \return The index of TC configuration */ static int8_t get_tc_index(const void *const hw) { - 2620: b570 push {r4, r5, r6, lr} - 2622: b088 sub sp, #32 - 2624: 4606 mov r6, r0 + 1f1c: b570 push {r4, r5, r6, lr} + 1f1e: b088 sub sp, #32 + 1f20: 4606 mov r6, r0 * \param[in] hw The pointer to hardware instance */ static inline uint8_t _get_hardware_offset(const void *const hw) { /* List of available TC modules. */ Tc *const tc_modules[TC_INST_NUM] = TC_INSTS; - 2626: 466c mov r4, sp - 2628: 4d12 ldr r5, [pc, #72] ; (2674 ) - 262a: cd0f ldmia r5!, {r0, r1, r2, r3} - 262c: c40f stmia r4!, {r0, r1, r2, r3} - 262e: e895 000f ldmia.w r5, {r0, r1, r2, r3} - 2632: e884 000f stmia.w r4, {r0, r1, r2, r3} + 1f22: 466c mov r4, sp + 1f24: 4d12 ldr r5, [pc, #72] ; (1f70 ) + 1f26: cd0f ldmia r5!, {r0, r1, r2, r3} + 1f28: c40f stmia r4!, {r0, r1, r2, r3} + 1f2a: e895 000f ldmia.w r5, {r0, r1, r2, r3} + 1f2e: e884 000f stmia.w r4, {r0, r1, r2, r3} /* Find index for TC instance. */ for (uint32_t i = 0; i < TC_INST_NUM; i++) { if ((uint32_t)hw == (uint32_t)tc_modules[i]) { - 2636: 9b00 ldr r3, [sp, #0] - 2638: 42b3 cmp r3, r6 - 263a: d00b beq.n 2654 - 263c: 4630 mov r0, r6 - 263e: aa01 add r2, sp, #4 + 1f32: 9b00 ldr r3, [sp, #0] + 1f34: 42b3 cmp r3, r6 + 1f36: d00b beq.n 1f50 + 1f38: 4630 mov r0, r6 + 1f3a: aa01 add r2, sp, #4 for (uint32_t i = 0; i < TC_INST_NUM; i++) { - 2640: 2301 movs r3, #1 + 1f3c: 2301 movs r3, #1 if ((uint32_t)hw == (uint32_t)tc_modules[i]) { - 2642: f852 1b04 ldr.w r1, [r2], #4 - 2646: 4281 cmp r1, r0 - 2648: d005 beq.n 2656 + 1f3e: f852 1b04 ldr.w r1, [r2], #4 + 1f42: 4281 cmp r1, r0 + 1f44: d005 beq.n 1f52 for (uint32_t i = 0; i < TC_INST_NUM; i++) { - 264a: 3301 adds r3, #1 - 264c: 2b08 cmp r3, #8 - 264e: d1f8 bne.n 2642 + 1f46: 3301 adds r3, #1 + 1f48: 2b08 cmp r3, #8 + 1f4a: d1f8 bne.n 1f3e return i; - 2650: 2000 movs r0, #0 - 2652: e00b b.n 266c + 1f4c: 2000 movs r0, #0 + 1f4e: e00b b.n 1f68 for (uint32_t i = 0; i < TC_INST_NUM; i++) { - 2654: 2300 movs r3, #0 + 1f50: 2300 movs r3, #0 if (_tcs[i].number == index) { - 2656: f013 0fff tst.w r3, #255 ; 0xff - 265a: d009 beq.n 2670 + 1f52: f013 0fff tst.w r3, #255 ; 0xff + 1f56: d009 beq.n 1f6c ASSERT(false); - 265c: f44f 729e mov.w r2, #316 ; 0x13c - 2660: 4905 ldr r1, [pc, #20] ; (2678 ) - 2662: 2000 movs r0, #0 - 2664: 4b05 ldr r3, [pc, #20] ; (267c ) - 2666: 4798 blx r3 + 1f58: f44f 729e mov.w r2, #316 ; 0x13c + 1f5c: 4905 ldr r1, [pc, #20] ; (1f74 ) + 1f5e: 2000 movs r0, #0 + 1f60: 4b05 ldr r3, [pc, #20] ; (1f78 ) + 1f62: 4798 blx r3 return -1; - 2668: f04f 30ff mov.w r0, #4294967295 + 1f64: f04f 30ff mov.w r0, #4294967295 } - 266c: b008 add sp, #32 - 266e: bd70 pop {r4, r5, r6, pc} + 1f68: b008 add sp, #32 + 1f6a: bd70 pop {r4, r5, r6, pc} return i; - 2670: 2000 movs r0, #0 - 2672: e7fb b.n 266c - 2674: 0001b07c .word 0x0001b07c - 2678: 0001b0b0 .word 0x0001b0b0 - 267c: 00001a89 .word 0x00001a89 + 1f6c: 2000 movs r0, #0 + 1f6e: e7fb b.n 1f68 + 1f70: 0001b630 .word 0x0001b630 + 1f74: 0001b664 .word 0x0001b664 + 1f78: 000019d5 .word 0x000019d5 -00002680 <_timer_init>: +00001f7c <_timer_init>: { - 2680: b570 push {r4, r5, r6, lr} - 2682: 4606 mov r6, r0 - 2684: 460c mov r4, r1 + 1f7c: b570 push {r4, r5, r6, lr} + 1f7e: 4606 mov r6, r0 + 1f80: 460c mov r4, r1 int8_t i = get_tc_index(hw); - 2686: 4608 mov r0, r1 - 2688: 4b60 ldr r3, [pc, #384] ; (280c <_timer_init+0x18c>) - 268a: 4798 blx r3 - 268c: 4605 mov r5, r0 + 1f82: 4608 mov r0, r1 + 1f84: 4b60 ldr r3, [pc, #384] ; (2108 <_timer_init+0x18c>) + 1f86: 4798 blx r3 + 1f88: 4605 mov r5, r0 device->hw = hw; - 268e: 60f4 str r4, [r6, #12] + 1f8a: 60f4 str r4, [r6, #12] ASSERT(ARRAY_SIZE(_tcs)); - 2690: 228d movs r2, #141 ; 0x8d - 2692: 495f ldr r1, [pc, #380] ; (2810 <_timer_init+0x190>) - 2694: 2001 movs r0, #1 - 2696: 4b5f ldr r3, [pc, #380] ; (2814 <_timer_init+0x194>) - 2698: 4798 blx r3 + 1f8c: 228d movs r2, #141 ; 0x8d + 1f8e: 495f ldr r1, [pc, #380] ; (210c <_timer_init+0x190>) + 1f90: 2001 movs r0, #1 + 1f92: 4b5f ldr r3, [pc, #380] ; (2110 <_timer_init+0x194>) + 1f94: 4798 blx r3 }; } static inline bool hri_tc_is_syncing(const void *const hw, hri_tc_syncbusy_reg_t reg) { return ((Tc *)hw)->COUNT8.SYNCBUSY.reg & reg; - 269a: 6923 ldr r3, [r4, #16] + 1f96: 6923 ldr r3, [r4, #16] if (!hri_tc_is_syncing(hw, TC_SYNCBUSY_SWRST)) { - 269c: f013 0f01 tst.w r3, #1 - 26a0: d119 bne.n 26d6 <_timer_init+0x56> + 1f98: f013 0f01 tst.w r3, #1 + 1f9c: d119 bne.n 1fd2 <_timer_init+0x56> while (((Tc *)hw)->COUNT8.SYNCBUSY.reg & reg) { - 26a2: 6923 ldr r3, [r4, #16] - 26a4: f013 0f03 tst.w r3, #3 - 26a8: d1fb bne.n 26a2 <_timer_init+0x22> + 1f9e: 6923 ldr r3, [r4, #16] + 1fa0: f013 0f03 tst.w r3, #3 + 1fa4: d1fb bne.n 1f9e <_timer_init+0x22> static inline hri_tc_ctrla_reg_t hri_tc_get_CTRLA_reg(const void *const hw, hri_tc_ctrla_reg_t mask) { uint32_t tmp; hri_tc_wait_for_sync(hw, TC_SYNCBUSY_SWRST | TC_SYNCBUSY_ENABLE); tmp = ((Tc *)hw)->COUNT16.CTRLA.reg; - 26aa: 6823 ldr r3, [r4, #0] + 1fa6: 6823 ldr r3, [r4, #0] if (hri_tc_get_CTRLA_reg(hw, TC_CTRLA_ENABLE)) { - 26ac: f013 0f02 tst.w r3, #2 - 26b0: d00b beq.n 26ca <_timer_init+0x4a> + 1fa8: f013 0f02 tst.w r3, #2 + 1fac: d00b beq.n 1fc6 <_timer_init+0x4a> ((Tc *)hw)->COUNT16.CTRLA.reg &= ~TC_CTRLA_ENABLE; - 26b2: 6823 ldr r3, [r4, #0] - 26b4: f023 0302 bic.w r3, r3, #2 - 26b8: 6023 str r3, [r4, #0] + 1fae: 6823 ldr r3, [r4, #0] + 1fb0: f023 0302 bic.w r3, r3, #2 + 1fb4: 6023 str r3, [r4, #0] while (((Tc *)hw)->COUNT8.SYNCBUSY.reg & reg) { - 26ba: 6923 ldr r3, [r4, #16] - 26bc: f013 0f03 tst.w r3, #3 - 26c0: d1fb bne.n 26ba <_timer_init+0x3a> - 26c2: 6923 ldr r3, [r4, #16] - 26c4: f013 0f02 tst.w r3, #2 - 26c8: d1fb bne.n 26c2 <_timer_init+0x42> + 1fb6: 6923 ldr r3, [r4, #16] + 1fb8: f013 0f03 tst.w r3, #3 + 1fbc: d1fb bne.n 1fb6 <_timer_init+0x3a> + 1fbe: 6923 ldr r3, [r4, #16] + 1fc0: f013 0f02 tst.w r3, #2 + 1fc4: d1fb bne.n 1fbe <_timer_init+0x42> } static inline void hri_tc_write_CTRLA_reg(const void *const hw, hri_tc_ctrla_reg_t data) { TC_CRITICAL_SECTION_ENTER(); ((Tc *)hw)->COUNT16.CTRLA.reg = data; - 26ca: 2301 movs r3, #1 - 26cc: 6023 str r3, [r4, #0] + 1fc6: 2301 movs r3, #1 + 1fc8: 6023 str r3, [r4, #0] while (((Tc *)hw)->COUNT8.SYNCBUSY.reg & reg) { - 26ce: 6923 ldr r3, [r4, #16] - 26d0: f013 0f03 tst.w r3, #3 - 26d4: d1fb bne.n 26ce <_timer_init+0x4e> - 26d6: 6923 ldr r3, [r4, #16] - 26d8: f013 0f01 tst.w r3, #1 - 26dc: d1fb bne.n 26d6 <_timer_init+0x56> + 1fca: 6923 ldr r3, [r4, #16] + 1fcc: f013 0f03 tst.w r3, #3 + 1fd0: d1fb bne.n 1fca <_timer_init+0x4e> + 1fd2: 6923 ldr r3, [r4, #16] + 1fd4: f013 0f01 tst.w r3, #1 + 1fd8: d1fb bne.n 1fd2 <_timer_init+0x56> hri_tc_write_CTRLA_reg(hw, _tcs[i].ctrl_a); - 26de: eb05 0385 add.w r3, r5, r5, lsl #2 - 26e2: 4a4d ldr r2, [pc, #308] ; (2818 <_timer_init+0x198>) - 26e4: eb02 0383 add.w r3, r2, r3, lsl #2 - 26e8: 6a5a ldr r2, [r3, #36] ; 0x24 + 1fda: eb05 0385 add.w r3, r5, r5, lsl #2 + 1fde: 4a4d ldr r2, [pc, #308] ; (2114 <_timer_init+0x198>) + 1fe0: eb02 0383 add.w r3, r2, r3, lsl #2 + 1fe4: 6a5a ldr r2, [r3, #36] ; 0x24 ((Tc *)hw)->COUNT16.CTRLA.reg = data; - 26ea: 6022 str r2, [r4, #0] + 1fe6: 6022 str r2, [r4, #0] while (((Tc *)hw)->COUNT8.SYNCBUSY.reg & reg) { - 26ec: 6923 ldr r3, [r4, #16] - 26ee: f013 0f03 tst.w r3, #3 - 26f2: d1fb bne.n 26ec <_timer_init+0x6c> + 1fe8: 6923 ldr r3, [r4, #16] + 1fea: f013 0f03 tst.w r3, #3 + 1fee: d1fb bne.n 1fe8 <_timer_init+0x6c> hri_tc_write_DBGCTRL_reg(hw, _tcs[i].dbg_ctrl); - 26f4: eb05 0385 add.w r3, r5, r5, lsl #2 - 26f8: 4947 ldr r1, [pc, #284] ; (2818 <_timer_init+0x198>) - 26fa: eb01 0383 add.w r3, r1, r3, lsl #2 - 26fe: f893 102a ldrb.w r1, [r3, #42] ; 0x2a + 1ff0: eb05 0385 add.w r3, r5, r5, lsl #2 + 1ff4: 4947 ldr r1, [pc, #284] ; (2114 <_timer_init+0x198>) + 1ff6: eb01 0383 add.w r3, r1, r3, lsl #2 + 1ffa: f893 102a ldrb.w r1, [r3, #42] ; 0x2a } static inline void hri_tc_write_DBGCTRL_reg(const void *const hw, hri_tc_dbgctrl_reg_t data) { TC_CRITICAL_SECTION_ENTER(); ((Tc *)hw)->COUNT16.DBGCTRL.reg = data; - 2702: 73e1 strb r1, [r4, #15] + 1ffe: 73e1 strb r1, [r4, #15] hri_tc_write_EVCTRL_reg(hw, _tcs[i].event_ctrl); - 2704: 8d1b ldrh r3, [r3, #40] ; 0x28 + 2000: 8d1b ldrh r3, [r3, #40] ; 0x28 ((Tc *)hw)->COUNT16.EVCTRL.reg = data; - 2706: 80e3 strh r3, [r4, #6] + 2002: 80e3 strh r3, [r4, #6] ((Tc *)hw)->COUNT16.WAVE.reg = data; - 2708: 2301 movs r3, #1 - 270a: 7323 strb r3, [r4, #12] + 2004: 2301 movs r3, #1 + 2006: 7323 strb r3, [r4, #12] if ((_tcs[i].ctrl_a & TC_CTRLA_MODE_Msk) == TC_CTRLA_MODE_COUNT32) { - 270c: f002 020c and.w r2, r2, #12 - 2710: 2a08 cmp r2, #8 - 2712: d048 beq.n 27a6 <_timer_init+0x126> + 2008: f002 020c and.w r2, r2, #12 + 200c: 2a08 cmp r2, #8 + 200e: d048 beq.n 20a2 <_timer_init+0x126> } else if ((_tcs[i].ctrl_a & TC_CTRLA_MODE_Msk) == TC_CTRLA_MODE_COUNT16) { - 2714: 2a00 cmp r2, #0 - 2716: d158 bne.n 27ca <_timer_init+0x14a> + 2010: 2a00 cmp r2, #0 + 2012: d158 bne.n 20c6 <_timer_init+0x14a> hri_tccount16_write_CC_reg(hw, 0, (uint16_t)_tcs[i].cc0); - 2718: eb05 0385 add.w r3, r5, r5, lsl #2 - 271c: 4a3e ldr r2, [pc, #248] ; (2818 <_timer_init+0x198>) - 271e: eb02 0383 add.w r3, r2, r3, lsl #2 - 2722: 8d9b ldrh r3, [r3, #44] ; 0x2c + 2014: eb05 0385 add.w r3, r5, r5, lsl #2 + 2018: 4a3e ldr r2, [pc, #248] ; (2114 <_timer_init+0x198>) + 201a: eb02 0383 add.w r3, r2, r3, lsl #2 + 201e: 8d9b ldrh r3, [r3, #44] ; 0x2c } static inline void hri_tccount16_write_CC_reg(const void *const hw, uint8_t index, hri_tccount16_cc_reg_t data) { TC_CRITICAL_SECTION_ENTER(); ((Tc *)hw)->COUNT16.CC[index].reg = data; - 2724: 83a3 strh r3, [r4, #28] + 2020: 83a3 strh r3, [r4, #28] while (((Tc *)hw)->COUNT8.SYNCBUSY.reg & reg) { - 2726: 6923 ldr r3, [r4, #16] - 2728: f013 0fc0 tst.w r3, #192 ; 0xc0 - 272c: d1fb bne.n 2726 <_timer_init+0xa6> + 2022: 6923 ldr r3, [r4, #16] + 2024: f013 0fc0 tst.w r3, #192 ; 0xc0 + 2028: d1fb bne.n 2022 <_timer_init+0xa6> ((Tc *)hw)->COUNT16.CC[index].reg = data; - 272e: 2300 movs r3, #0 - 2730: 83e3 strh r3, [r4, #30] + 202a: 2300 movs r3, #0 + 202c: 83e3 strh r3, [r4, #30] while (((Tc *)hw)->COUNT8.SYNCBUSY.reg & reg) { - 2732: 6923 ldr r3, [r4, #16] - 2734: f013 0fc0 tst.w r3, #192 ; 0xc0 - 2738: d1fb bne.n 2732 <_timer_init+0xb2> + 202e: 6923 ldr r3, [r4, #16] + 2030: f013 0fc0 tst.w r3, #192 ; 0xc0 + 2034: d1fb bne.n 202e <_timer_init+0xb2> ((Tc *)hw)->COUNT16.INTENSET.reg = TC_INTENSET_OVF; - 273a: 2301 movs r3, #1 - 273c: 7263 strb r3, [r4, #9] + 2036: 2301 movs r3, #1 + 2038: 7263 strb r3, [r4, #9] if (hw == TC0) { - 273e: 4b37 ldr r3, [pc, #220] ; (281c <_timer_init+0x19c>) - 2740: 429c cmp r4, r3 + 203a: 4b37 ldr r3, [pc, #220] ; (2118 <_timer_init+0x19c>) + 203c: 429c cmp r4, r3 _tc0_dev = (struct _timer_device *)dev; - 2742: bf04 itt eq - 2744: 4b36 ldreq r3, [pc, #216] ; (2820 <_timer_init+0x1a0>) - 2746: 601e streq r6, [r3, #0] + 203e: bf04 itt eq + 2040: 4b36 ldreq r3, [pc, #216] ; (211c <_timer_init+0x1a0>) + 2042: 601e streq r6, [r3, #0] NVIC_DisableIRQ(_tcs[i].irq); - 2748: eb05 0385 add.w r3, r5, r5, lsl #2 - 274c: 4a32 ldr r2, [pc, #200] ; (2818 <_timer_init+0x198>) - 274e: eb02 0383 add.w r3, r2, r3, lsl #2 - 2752: f9b3 3022 ldrsh.w r3, [r3, #34] ; 0x22 + 2044: eb05 0385 add.w r3, r5, r5, lsl #2 + 2048: 4a32 ldr r2, [pc, #200] ; (2114 <_timer_init+0x198>) + 204a: eb02 0383 add.w r3, r2, r3, lsl #2 + 204e: f9b3 3022 ldrsh.w r3, [r3, #34] ; 0x22 if ((int32_t)(IRQn) >= 0) - 2756: 2b00 cmp r3, #0 - 2758: db23 blt.n 27a2 <_timer_init+0x122> + 2052: 2b00 cmp r3, #0 + 2054: db23 blt.n 209e <_timer_init+0x122> NVIC->ICER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); - 275a: 095a lsrs r2, r3, #5 - 275c: f003 031f and.w r3, r3, #31 - 2760: 2101 movs r1, #1 - 2762: fa01 f303 lsl.w r3, r1, r3 - 2766: 3220 adds r2, #32 - 2768: 492e ldr r1, [pc, #184] ; (2824 <_timer_init+0x1a4>) - 276a: f841 3022 str.w r3, [r1, r2, lsl #2] + 2056: 095a lsrs r2, r3, #5 + 2058: f003 031f and.w r3, r3, #31 + 205c: 2101 movs r1, #1 + 205e: fa01 f303 lsl.w r3, r1, r3 + 2062: 3220 adds r2, #32 + 2064: 492e ldr r1, [pc, #184] ; (2120 <_timer_init+0x1a4>) + 2066: f841 3022 str.w r3, [r1, r2, lsl #2] __ASM volatile ("dsb 0xF":::"memory"); - 276e: f3bf 8f4f dsb sy + 206a: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); - 2772: f3bf 8f6f isb sy + 206e: f3bf 8f6f isb sy NVIC_ClearPendingIRQ(_tcs[i].irq); - 2776: eb05 0585 add.w r5, r5, r5, lsl #2 - 277a: 4b27 ldr r3, [pc, #156] ; (2818 <_timer_init+0x198>) - 277c: eb03 0585 add.w r5, r3, r5, lsl #2 - 2780: f9b5 3022 ldrsh.w r3, [r5, #34] ; 0x22 + 2072: eb05 0585 add.w r5, r5, r5, lsl #2 + 2076: 4b27 ldr r3, [pc, #156] ; (2114 <_timer_init+0x198>) + 2078: eb03 0585 add.w r5, r3, r5, lsl #2 + 207c: f9b5 3022 ldrsh.w r3, [r5, #34] ; 0x22 if ((int32_t)(IRQn) >= 0) - 2784: 2b00 cmp r3, #0 - 2786: db0c blt.n 27a2 <_timer_init+0x122> + 2080: 2b00 cmp r3, #0 + 2082: db0c blt.n 209e <_timer_init+0x122> NVIC->ICPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); - 2788: 0959 lsrs r1, r3, #5 - 278a: f003 031f and.w r3, r3, #31 - 278e: 2201 movs r2, #1 - 2790: fa02 f303 lsl.w r3, r2, r3 - 2794: 4a23 ldr r2, [pc, #140] ; (2824 <_timer_init+0x1a4>) - 2796: f101 0060 add.w r0, r1, #96 ; 0x60 - 279a: f842 3020 str.w r3, [r2, r0, lsl #2] + 2084: 0959 lsrs r1, r3, #5 + 2086: f003 031f and.w r3, r3, #31 + 208a: 2201 movs r2, #1 + 208c: fa02 f303 lsl.w r3, r2, r3 + 2090: 4a23 ldr r2, [pc, #140] ; (2120 <_timer_init+0x1a4>) + 2092: f101 0060 add.w r0, r1, #96 ; 0x60 + 2096: f842 3020 str.w r3, [r2, r0, lsl #2] NVIC->ISER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); - 279e: f842 3021 str.w r3, [r2, r1, lsl #2] + 209a: f842 3021 str.w r3, [r2, r1, lsl #2] } - 27a2: 2000 movs r0, #0 - 27a4: bd70 pop {r4, r5, r6, pc} + 209e: 2000 movs r0, #0 + 20a0: bd70 pop {r4, r5, r6, pc} hri_tccount32_write_CC_reg(hw, 0, _tcs[i].cc0); - 27a6: eb05 0385 add.w r3, r5, r5, lsl #2 - 27aa: 4a1b ldr r2, [pc, #108] ; (2818 <_timer_init+0x198>) - 27ac: eb02 0383 add.w r3, r2, r3, lsl #2 - 27b0: 6adb ldr r3, [r3, #44] ; 0x2c + 20a2: eb05 0385 add.w r3, r5, r5, lsl #2 + 20a6: 4a1b ldr r2, [pc, #108] ; (2114 <_timer_init+0x198>) + 20a8: eb02 0383 add.w r3, r2, r3, lsl #2 + 20ac: 6adb ldr r3, [r3, #44] ; 0x2c } static inline void hri_tccount32_write_CC_reg(const void *const hw, uint8_t index, hri_tccount32_cc_reg_t data) { TC_CRITICAL_SECTION_ENTER(); ((Tc *)hw)->COUNT32.CC[index].reg = data; - 27b2: 61e3 str r3, [r4, #28] + 20ae: 61e3 str r3, [r4, #28] while (((Tc *)hw)->COUNT8.SYNCBUSY.reg & reg) { - 27b4: 6923 ldr r3, [r4, #16] - 27b6: f013 0fc0 tst.w r3, #192 ; 0xc0 - 27ba: d1fb bne.n 27b4 <_timer_init+0x134> + 20b0: 6923 ldr r3, [r4, #16] + 20b2: f013 0fc0 tst.w r3, #192 ; 0xc0 + 20b6: d1fb bne.n 20b0 <_timer_init+0x134> ((Tc *)hw)->COUNT32.CC[index].reg = data; - 27bc: 2300 movs r3, #0 - 27be: 6223 str r3, [r4, #32] + 20b8: 2300 movs r3, #0 + 20ba: 6223 str r3, [r4, #32] while (((Tc *)hw)->COUNT8.SYNCBUSY.reg & reg) { - 27c0: 6923 ldr r3, [r4, #16] - 27c2: f013 0fc0 tst.w r3, #192 ; 0xc0 - 27c6: d1fb bne.n 27c0 <_timer_init+0x140> - 27c8: e7b7 b.n 273a <_timer_init+0xba> + 20bc: 6923 ldr r3, [r4, #16] + 20be: f013 0fc0 tst.w r3, #192 ; 0xc0 + 20c2: d1fb bne.n 20bc <_timer_init+0x140> + 20c4: e7b7 b.n 2036 <_timer_init+0xba> } else if ((_tcs[i].ctrl_a & TC_CTRLA_MODE_Msk) == TC_CTRLA_MODE_COUNT8) { - 27ca: 2a04 cmp r2, #4 - 27cc: d1b5 bne.n 273a <_timer_init+0xba> + 20c6: 2a04 cmp r2, #4 + 20c8: d1b5 bne.n 2036 <_timer_init+0xba> hri_tccount8_write_CC_reg(hw, 0, (uint8_t)_tcs[i].cc0); - 27ce: eb05 0385 add.w r3, r5, r5, lsl #2 - 27d2: 4a11 ldr r2, [pc, #68] ; (2818 <_timer_init+0x198>) - 27d4: eb02 0383 add.w r3, r2, r3, lsl #2 - 27d8: f893 302c ldrb.w r3, [r3, #44] ; 0x2c + 20ca: eb05 0385 add.w r3, r5, r5, lsl #2 + 20ce: 4a11 ldr r2, [pc, #68] ; (2114 <_timer_init+0x198>) + 20d0: eb02 0383 add.w r3, r2, r3, lsl #2 + 20d4: f893 302c ldrb.w r3, [r3, #44] ; 0x2c ((Tc *)hw)->COUNT8.CC[index].reg = data; - 27dc: 7723 strb r3, [r4, #28] + 20d8: 7723 strb r3, [r4, #28] while (((Tc *)hw)->COUNT8.SYNCBUSY.reg & reg) { - 27de: 6923 ldr r3, [r4, #16] - 27e0: f013 0fc0 tst.w r3, #192 ; 0xc0 - 27e4: d1fb bne.n 27de <_timer_init+0x15e> + 20da: 6923 ldr r3, [r4, #16] + 20dc: f013 0fc0 tst.w r3, #192 ; 0xc0 + 20e0: d1fb bne.n 20da <_timer_init+0x15e> ((Tc *)hw)->COUNT8.CC[index].reg = data; - 27e6: 2300 movs r3, #0 - 27e8: 7763 strb r3, [r4, #29] + 20e2: 2300 movs r3, #0 + 20e4: 7763 strb r3, [r4, #29] while (((Tc *)hw)->COUNT8.SYNCBUSY.reg & reg) { - 27ea: 6923 ldr r3, [r4, #16] - 27ec: f013 0fc0 tst.w r3, #192 ; 0xc0 - 27f0: d1fb bne.n 27ea <_timer_init+0x16a> + 20e6: 6923 ldr r3, [r4, #16] + 20e8: f013 0fc0 tst.w r3, #192 ; 0xc0 + 20ec: d1fb bne.n 20e6 <_timer_init+0x16a> hri_tccount8_write_PER_reg(hw, _tcs[i].per); - 27f2: eb05 0385 add.w r3, r5, r5, lsl #2 - 27f6: 4a08 ldr r2, [pc, #32] ; (2818 <_timer_init+0x198>) - 27f8: eb02 0383 add.w r3, r2, r3, lsl #2 - 27fc: f893 302b ldrb.w r3, [r3, #43] ; 0x2b + 20ee: eb05 0385 add.w r3, r5, r5, lsl #2 + 20f2: 4a08 ldr r2, [pc, #32] ; (2114 <_timer_init+0x198>) + 20f4: eb02 0383 add.w r3, r2, r3, lsl #2 + 20f8: f893 302b ldrb.w r3, [r3, #43] ; 0x2b ((Tc *)hw)->COUNT8.PER.reg = data; - 2800: 76e3 strb r3, [r4, #27] + 20fc: 76e3 strb r3, [r4, #27] while (((Tc *)hw)->COUNT8.SYNCBUSY.reg & reg) { - 2802: 6923 ldr r3, [r4, #16] - 2804: f013 0f20 tst.w r3, #32 - 2808: d1fb bne.n 2802 <_timer_init+0x182> - 280a: e796 b.n 273a <_timer_init+0xba> - 280c: 00002621 .word 0x00002621 - 2810: 0001b0b0 .word 0x0001b0b0 - 2814: 00001a89 .word 0x00001a89 - 2818: 0001b07c .word 0x0001b07c - 281c: 40003800 .word 0x40003800 - 2820: 200000cc .word 0x200000cc - 2824: e000e100 .word 0xe000e100 - -00002828 <_timer_start>: + 20fe: 6923 ldr r3, [r4, #16] + 2100: f013 0f20 tst.w r3, #32 + 2104: d1fb bne.n 20fe <_timer_init+0x182> + 2106: e796 b.n 2036 <_timer_init+0xba> + 2108: 00001f1d .word 0x00001f1d + 210c: 0001b664 .word 0x0001b664 + 2110: 000019d5 .word 0x000019d5 + 2114: 0001b630 .word 0x0001b630 + 2118: 40003800 .word 0x40003800 + 211c: 200000cc .word 0x200000cc + 2120: e000e100 .word 0xe000e100 + +00002124 <_timer_start>: hri_tc_set_CTRLA_ENABLE_bit(device->hw); - 2828: 68c2 ldr r2, [r0, #12] + 2124: 68c2 ldr r2, [r0, #12] ((Tc *)hw)->COUNT16.CTRLA.reg |= TC_CTRLA_ENABLE; - 282a: 6813 ldr r3, [r2, #0] - 282c: f043 0302 orr.w r3, r3, #2 - 2830: 6013 str r3, [r2, #0] + 2126: 6813 ldr r3, [r2, #0] + 2128: f043 0302 orr.w r3, r3, #2 + 212c: 6013 str r3, [r2, #0] while (((Tc *)hw)->COUNT8.SYNCBUSY.reg & reg) { - 2832: 6913 ldr r3, [r2, #16] - 2834: f013 0f03 tst.w r3, #3 - 2838: d1fb bne.n 2832 <_timer_start+0xa> + 212e: 6913 ldr r3, [r2, #16] + 2130: f013 0f03 tst.w r3, #3 + 2134: d1fb bne.n 212e <_timer_start+0xa> } - 283a: 4770 bx lr + 2136: 4770 bx lr -0000283c <_timer_is_started>: +00002138 <_timer_is_started>: return hri_tc_get_CTRLA_ENABLE_bit(device->hw); - 283c: 68c2 ldr r2, [r0, #12] - 283e: 6913 ldr r3, [r2, #16] - 2840: f013 0f03 tst.w r3, #3 - 2844: d1fb bne.n 283e <_timer_is_started+0x2> + 2138: 68c2 ldr r2, [r0, #12] + 213a: 6913 ldr r3, [r2, #16] + 213c: f013 0f03 tst.w r3, #3 + 2140: d1fb bne.n 213a <_timer_is_started+0x2> tmp = ((Tc *)hw)->COUNT16.CTRLA.reg; - 2846: 6810 ldr r0, [r2, #0] + 2142: 6810 ldr r0, [r2, #0] } - 2848: f3c0 0040 ubfx r0, r0, #1, #1 - 284c: 4770 bx lr + 2144: f3c0 0040 ubfx r0, r0, #1, #1 + 2148: 4770 bx lr -0000284e <_tc_get_timer>: +0000214a <_tc_get_timer>: } - 284e: 2000 movs r0, #0 - 2850: 4770 bx lr + 214a: 2000 movs r0, #0 + 214c: 4770 bx lr ... -00002854 <_timer_set_irq>: +00002150 <_timer_set_irq>: { - 2854: b510 push {r4, lr} + 2150: b510 push {r4, lr} int8_t i = get_tc_index(hw); - 2856: 68c0 ldr r0, [r0, #12] - 2858: 4b09 ldr r3, [pc, #36] ; (2880 <_timer_set_irq+0x2c>) - 285a: 4798 blx r3 - 285c: 4604 mov r4, r0 + 2152: 68c0 ldr r0, [r0, #12] + 2154: 4b09 ldr r3, [pc, #36] ; (217c <_timer_set_irq+0x2c>) + 2156: 4798 blx r3 + 2158: 4604 mov r4, r0 ASSERT(ARRAY_SIZE(_tcs)); - 285e: f240 120f movw r2, #271 ; 0x10f - 2862: 4908 ldr r1, [pc, #32] ; (2884 <_timer_set_irq+0x30>) - 2864: 2001 movs r0, #1 - 2866: 4b08 ldr r3, [pc, #32] ; (2888 <_timer_set_irq+0x34>) - 2868: 4798 blx r3 + 215a: f240 120f movw r2, #271 ; 0x10f + 215e: 4908 ldr r1, [pc, #32] ; (2180 <_timer_set_irq+0x30>) + 2160: 2001 movs r0, #1 + 2162: 4b08 ldr r3, [pc, #32] ; (2184 <_timer_set_irq+0x34>) + 2164: 4798 blx r3 _irq_set(_tcs[i].irq); - 286a: eb04 0484 add.w r4, r4, r4, lsl #2 - 286e: 4b07 ldr r3, [pc, #28] ; (288c <_timer_set_irq+0x38>) - 2870: eb03 0484 add.w r4, r3, r4, lsl #2 - 2874: f894 0022 ldrb.w r0, [r4, #34] ; 0x22 - 2878: 4b05 ldr r3, [pc, #20] ; (2890 <_timer_set_irq+0x3c>) - 287a: 4798 blx r3 - 287c: bd10 pop {r4, pc} - 287e: bf00 nop - 2880: 00002621 .word 0x00002621 - 2884: 0001b0b0 .word 0x0001b0b0 - 2888: 00001a89 .word 0x00001a89 - 288c: 0001b07c .word 0x0001b07c - 2890: 00001be9 .word 0x00001be9 - -00002894 : -{ - 2894: b508 push {r3, lr} + 2166: eb04 0484 add.w r4, r4, r4, lsl #2 + 216a: 4b07 ldr r3, [pc, #28] ; (2188 <_timer_set_irq+0x38>) + 216c: eb03 0484 add.w r4, r3, r4, lsl #2 + 2170: f894 0022 ldrb.w r0, [r4, #34] ; 0x22 + 2174: 4b05 ldr r3, [pc, #20] ; (218c <_timer_set_irq+0x3c>) + 2176: 4798 blx r3 + 2178: bd10 pop {r4, pc} + 217a: bf00 nop + 217c: 00001f1d .word 0x00001f1d + 2180: 0001b664 .word 0x0001b664 + 2184: 000019d5 .word 0x000019d5 + 2188: 0001b630 .word 0x0001b630 + 218c: 00001b35 .word 0x00001b35 + +00002190 : +{ + 2190: b508 push {r3, lr} tc_interrupt_handler(_tc0_dev); - 2896: 4b06 ldr r3, [pc, #24] ; (28b0 ) - 2898: 6818 ldr r0, [r3, #0] + 2192: 4b06 ldr r3, [pc, #24] ; (21ac ) + 2194: 6818 ldr r0, [r3, #0] void *const hw = device->hw; - 289a: 68c3 ldr r3, [r0, #12] + 2196: 68c3 ldr r3, [r0, #12] return (((Tc *)hw)->COUNT16.INTFLAG.reg & TC_INTFLAG_OVF) >> TC_INTFLAG_OVF_Pos; - 289c: 7a9a ldrb r2, [r3, #10] + 2198: 7a9a ldrb r2, [r3, #10] if (hri_tc_get_interrupt_OVF_bit(hw)) { - 289e: f012 0f01 tst.w r2, #1 - 28a2: d100 bne.n 28a6 - 28a4: bd08 pop {r3, pc} + 219a: f012 0f01 tst.w r2, #1 + 219e: d100 bne.n 21a2 + 21a0: bd08 pop {r3, pc} ((Tc *)hw)->COUNT16.INTFLAG.reg = TC_INTFLAG_OVF; - 28a6: 2201 movs r2, #1 - 28a8: 729a strb r2, [r3, #10] + 21a2: 2201 movs r2, #1 + 21a4: 729a strb r2, [r3, #10] device->timer_cb.period_expired(device); - 28aa: 6803 ldr r3, [r0, #0] - 28ac: 4798 blx r3 + 21a6: 6803 ldr r3, [r0, #0] + 21a8: 4798 blx r3 } - 28ae: e7f9 b.n 28a4 - 28b0: 200000cc .word 0x200000cc + 21aa: e7f9 b.n 21a0 + 21ac: 200000cc .word 0x200000cc -000028b4
: +000021b0
: #include "oracle.h" int main(void) { - 28b4: b508 push {r3, lr} + 21b0: b508 push {r3, lr} oracle_init(); - 28b6: 4b02 ldr r3, [pc, #8] ; (28c0 ) - 28b8: 4798 blx r3 + 21b2: 4b02 ldr r3, [pc, #8] ; (21bc ) + 21b4: 4798 blx r3 for(;;) { oracle_service(); - 28ba: 4c02 ldr r4, [pc, #8] ; (28c4 ) - 28bc: 47a0 blx r4 - 28be: e7fd b.n 28bc - 28c0: 000028c9 .word 0x000028c9 - 28c4: 00002975 .word 0x00002975 + 21b6: 4c02 ldr r4, [pc, #8] ; (21c0 ) + 21b8: 47a0 blx r4 + 21ba: e7fd b.n 21b8 + 21bc: 000021c5 .word 0x000021c5 + 21c0: 00002299 .word 0x00002299 -000028c8 : +000021c4 : static lv_disp_buf_t disp_buf; static lv_color_t buf[LV_HOR_RES_MAX * 10]; /*Declare a buffer for 10 lines*/ void oracle_init(void) { - 28c8: b530 push {r4, r5, lr} - 28ca: b08d sub sp, #52 ; 0x34 + 21c4: b530 push {r4, r5, lr} + 21c6: b08d sub sp, #52 ; 0x34 * Currently the following initialization functions are supported: * - System clock initialization */ static inline void init_mcu(void) { _init_chip(); - 28cc: 4b17 ldr r3, [pc, #92] ; (292c ) - 28ce: 4798 blx r3 + 21c8: 4b1e ldr r3, [pc, #120] ; (2244 ) + 21ca: 4798 blx r3 // init mcu init_mcu(); // uart init p_usart_init(); - 28d0: 4b17 ldr r3, [pc, #92] ; (2930 ) - 28d2: 4798 blx r3 + 21cc: 4b1e ldr r3, [pc, #120] ; (2248 ) + 21ce: 4798 blx r3 // i2c init p_i2c_init(); - 28d4: 4b17 ldr r3, [pc, #92] ; (2934 ) - 28d6: 4798 blx r3 + 21d0: 4b1e ldr r3, [pc, #120] ; (224c ) + 21d2: 4798 blx r3 // gpio init p_gpio_init(); - 28d8: 4b17 ldr r3, [pc, #92] ; (2938 ) - 28da: 4798 blx r3 + 21d4: 4b1e ldr r3, [pc, #120] ; (2250 ) + 21d6: 4798 blx r3 // time init p_tcc_init(); - 28dc: 4b17 ldr r3, [pc, #92] ; (293c ) - 28de: 4798 blx r3 + 21d8: 4b1e ldr r3, [pc, #120] ; (2254 ) + 21da: 4798 blx r3 // devices init lv_init(); - 28e0: 4b17 ldr r3, [pc, #92] ; (2940 ) - 28e2: 4798 blx r3 + 21dc: 4b1e ldr r3, [pc, #120] ; (2258 ) + 21de: 4798 blx r3 ssd1963_init(); - 28e4: 4b17 ldr r3, [pc, #92] ; (2944 ) - 28e6: 4798 blx r3 + 21e0: 4b1e ldr r3, [pc, #120] ; (225c ) + 21e2: 4798 blx r3 lv_disp_buf_init(&disp_buf, buf, NULL, LV_HOR_RES_MAX * 10); /*Initialize the display buffer*/ - 28e8: 4c17 ldr r4, [pc, #92] ; (2948 ) - 28ea: f44f 5396 mov.w r3, #4800 ; 0x12c0 - 28ee: 2200 movs r2, #0 - 28f0: 4916 ldr r1, [pc, #88] ; (294c ) - 28f2: 4620 mov r0, r4 - 28f4: 4d16 ldr r5, [pc, #88] ; (2950 ) - 28f6: 47a8 blx r5 + 21e4: 4c1e ldr r4, [pc, #120] ; (2260 ) + 21e6: f44f 5396 mov.w r3, #4800 ; 0x12c0 + 21ea: 2200 movs r2, #0 + 21ec: 491d ldr r1, [pc, #116] ; (2264 ) + 21ee: 4620 mov r0, r4 + 21f0: 4d1d ldr r5, [pc, #116] ; (2268 ) + 21f2: 47a8 blx r5 lv_disp_drv_t disp_drv; /*Descriptor of a display driver*/ lv_disp_drv_init(&disp_drv); /*Basic initialization*/ - 28f8: a801 add r0, sp, #4 - 28fa: 4b16 ldr r3, [pc, #88] ; (2954 ) - 28fc: 4798 blx r3 + 21f4: a801 add r0, sp, #4 + 21f6: 4b1d ldr r3, [pc, #116] ; (226c ) + 21f8: 4798 blx r3 disp_drv.flush_cb = ssd1963_flush; /*Set your driver function*/ - 28fe: 4b16 ldr r3, [pc, #88] ; (2958 ) - 2900: 9304 str r3, [sp, #16] + 21fa: 4b1d ldr r3, [pc, #116] ; (2270 ) + 21fc: 9304 str r3, [sp, #16] disp_drv.buffer = &disp_buf; /*Assign the buffer to the display*/ - 2902: 9402 str r4, [sp, #8] + 21fe: 9402 str r4, [sp, #8] lv_disp_drv_register(&disp_drv); /*Finally register the driver*/ - 2904: a801 add r0, sp, #4 - 2906: 4b15 ldr r3, [pc, #84] ; (295c ) - 2908: 4798 blx r3 + 2200: a801 add r0, sp, #4 + 2202: 4b1c ldr r3, [pc, #112] ; (2274 ) + 2204: 4798 blx r3 lv_obj_t* scr = lv_disp_get_scr_act(NULL); - 290a: 2000 movs r0, #0 - 290c: 4b14 ldr r3, [pc, #80] ; (2960 ) - 290e: 4798 blx r3 + 2206: 2000 movs r0, #0 + 2208: 4b1b ldr r3, [pc, #108] ; (2278 ) + 220a: 4798 blx r3 + 220c: 4605 mov r5, r0 + lv_obj_t* hornet_image = lv_img_create(scr, NULL); + 220e: 2100 movs r1, #0 + 2210: 4b1a ldr r3, [pc, #104] ; (227c ) + 2212: 4798 blx r3 + 2214: 4604 mov r4, r0 + lv_img_set_src(hornet_image, &hornet); + 2216: 491a ldr r1, [pc, #104] ; (2280 ) + 2218: 4b1a ldr r3, [pc, #104] ; (2284 ) + 221a: 4798 blx r3 + lv_obj_set_pos(hornet_image, 0, 0); + 221c: 2200 movs r2, #0 + 221e: 4611 mov r1, r2 + 2220: 4620 mov r0, r4 + 2222: 4c19 ldr r4, [pc, #100] ; (2288 ) + 2224: 47a0 blx r4 + lv_obj_t* random_text = lv_label_create(scr, NULL); - 2910: 2100 movs r1, #0 - 2912: 4b14 ldr r3, [pc, #80] ; (2964 ) - 2914: 4798 blx r3 - 2916: 4604 mov r4, r0 + 2226: 2100 movs r1, #0 + 2228: 4628 mov r0, r5 + 222a: 4b18 ldr r3, [pc, #96] ; (228c ) + 222c: 4798 blx r3 + 222e: 4605 mov r5, r0 lv_obj_set_pos(random_text, 90, 35); - 2918: 2223 movs r2, #35 ; 0x23 - 291a: 215a movs r1, #90 ; 0x5a - 291c: 4b12 ldr r3, [pc, #72] ; (2968 ) - 291e: 4798 blx r3 + 2230: 2223 movs r2, #35 ; 0x23 + 2232: 215a movs r1, #90 ; 0x5a + 2234: 47a0 blx r4 lv_label_set_text(random_text, "Hello World"); - 2920: 4912 ldr r1, [pc, #72] ; (296c ) - 2922: 4620 mov r0, r4 - 2924: 4b12 ldr r3, [pc, #72] ; (2970 ) - 2926: 4798 blx r3 -} - 2928: b00d add sp, #52 ; 0x34 - 292a: bd30 pop {r4, r5, pc} - 292c: 00001c49 .word 0x00001c49 - 2930: 00001439 .word 0x00001439 - 2934: 00001305 .word 0x00001305 - 2938: 000011c1 .word 0x000011c1 - 293c: 000013c1 .word 0x000013c1 - 2940: 00002f45 .word 0x00002f45 - 2944: 000002d1 .word 0x000002d1 - 2948: 20002650 .word 0x20002650 - 294c: 200000d0 .word 0x200000d0 - 2950: 00011319 .word 0x00011319 - 2954: 000112b9 .word 0x000112b9 - 2958: 00000c35 .word 0x00000c35 - 295c: 00011339 .word 0x00011339 - 2960: 00002a29 .word 0x00002a29 - 2964: 0001a535 .word 0x0001a535 - 2968: 00003ac5 .word 0x00003ac5 - 296c: 0001b0c4 .word 0x0001b0c4 - 2970: 0001a235 .word 0x0001a235 - -00002974 : + 2236: 4916 ldr r1, [pc, #88] ; (2290 ) + 2238: 4628 mov r0, r5 + 223a: 4b16 ldr r3, [pc, #88] ; (2294 ) + 223c: 4798 blx r3 +} + 223e: b00d add sp, #52 ; 0x34 + 2240: bd30 pop {r4, r5, pc} + 2242: bf00 nop + 2244: 00001b99 .word 0x00001b99 + 2248: 00001425 .word 0x00001425 + 224c: 00001385 .word 0x00001385 + 2250: 00001251 .word 0x00001251 + 2254: 000013ad .word 0x000013ad + 2258: 00002869 .word 0x00002869 + 225c: 000002d1 .word 0x000002d1 + 2260: 20002650 .word 0x20002650 + 2264: 200000d0 .word 0x200000d0 + 2268: 00010d71 .word 0x00010d71 + 226c: 00010d11 .word 0x00010d11 + 2270: 00000ca5 .word 0x00000ca5 + 2274: 00010d91 .word 0x00010d91 + 2278: 0000234d .word 0x0000234d + 227c: 0001986d .word 0x0001986d + 2280: 0001b678 .word 0x0001b678 + 2284: 00019611 .word 0x00019611 + 2288: 0000343d .word 0x0000343d + 228c: 0001ab05 .word 0x0001ab05 + 2290: 00023be0 .word 0x00023be0 + 2294: 0001a805 .word 0x0001a805 + +00002298 : void oracle_service(void) { - 2974: b508 push {r3, lr} + 2298: b508 push {r3, lr} delay_ms(1); - 2976: 2001 movs r0, #1 - 2978: 4b02 ldr r3, [pc, #8] ; (2984 ) - 297a: 4798 blx r3 + 229a: 2001 movs r0, #1 + 229c: 4b02 ldr r3, [pc, #8] ; (22a8 ) + 229e: 4798 blx r3 lv_task_handler(); - 297c: 4b02 ldr r3, [pc, #8] ; (2988 ) - 297e: 4798 blx r3 - 2980: bd08 pop {r3, pc} - 2982: bf00 nop - 2984: 00001535 .word 0x00001535 - 2988: 00013d75 .word 0x00013d75 - -0000298c : + 22a0: 4b02 ldr r3, [pc, #8] ; (22ac ) + 22a2: 4798 blx r3 + 22a4: bd08 pop {r3, pc} + 22a6: bf00 nop + 22a8: 00001521 .word 0x00001521 + 22ac: 000137cd .word 0x000137cd + +000022b0 : bool lv_debug_check_null(const void * p) { if(p) return true; return false; } - 298c: 3000 adds r0, #0 - 298e: bf18 it ne - 2990: 2001 movne r0, #1 - 2992: 4770 bx lr + 22b0: 3000 adds r0, #0 + 22b2: bf18 it ne + 22b4: 2001 movne r0, #1 + 22b6: 4770 bx lr -00002994 : +000022b8 : LV_LOG_WARN("lv_debug_check_str: string is longer than LV_DEBUG_STR_MAX_LENGTH"); return false; } void lv_debug_log_error(const char * msg, uint64_t value) { - 2994: b5f0 push {r4, r5, r6, r7, lr} - 2996: b0c3 sub sp, #268 ; 0x10c - 2998: 4605 mov r5, r0 - 299a: 4614 mov r4, r2 + 22b8: b5f0 push {r4, r5, r6, r7, lr} + 22ba: b0c3 sub sp, #268 ; 0x10c + 22bc: 4605 mov r5, r0 + 22be: 4614 mov r4, r2 static const char hex[] = "0123456789ABCDEF"; size_t msg_len = strlen(msg); - 299c: 4b1c ldr r3, [pc, #112] ; (2a10 ) - 299e: 4798 blx r3 + 22c0: 4b1c ldr r3, [pc, #112] ; (2334 ) + 22c2: 4798 blx r3 uint32_t value_len = sizeof(unsigned long int); if(msg_len < 230) { - 29a0: 28e5 cmp r0, #229 ; 0xe5 - 29a2: d82c bhi.n 29fe - 29a4: 4606 mov r6, r0 + 22c4: 28e5 cmp r0, #229 ; 0xe5 + 22c6: d82c bhi.n 2322 + 22c8: 4606 mov r6, r0 char buf[255]; char * bufp = buf; /*Add the function name*/ _lv_memcpy(bufp, msg, msg_len); - 29a6: af02 add r7, sp, #8 - 29a8: 4602 mov r2, r0 - 29aa: 4629 mov r1, r5 - 29ac: 4638 mov r0, r7 - 29ae: 4b19 ldr r3, [pc, #100] ; (2a14 ) - 29b0: 4798 blx r3 + 22ca: af02 add r7, sp, #8 + 22cc: 4602 mov r2, r0 + 22ce: 4629 mov r1, r5 + 22d0: 4638 mov r0, r7 + 22d2: 4b19 ldr r3, [pc, #100] ; (2338 ) + 22d4: 4798 blx r3 bufp += msg_len; - 29b2: 19bd adds r5, r7, r6 + 22d6: 19bd adds r5, r7, r6 /*Add value in hey*/ *bufp = ' '; - 29b4: 2320 movs r3, #32 - 29b6: 55bb strb r3, [r7, r6] + 22d8: 2320 movs r3, #32 + 22da: 55bb strb r3, [r7, r6] bufp ++; *bufp = '('; - 29b8: 2328 movs r3, #40 ; 0x28 - 29ba: 706b strb r3, [r5, #1] + 22dc: 2328 movs r3, #40 ; 0x28 + 22de: 706b strb r3, [r5, #1] bufp ++; *bufp = '0'; - 29bc: 2330 movs r3, #48 ; 0x30 - 29be: 70ab strb r3, [r5, #2] + 22e0: 2330 movs r3, #48 ; 0x30 + 22e2: 70ab strb r3, [r5, #2] bufp ++; *bufp = 'x'; - 29c0: 2378 movs r3, #120 ; 0x78 - 29c2: 70eb strb r3, [r5, #3] + 22e4: 2378 movs r3, #120 ; 0x78 + 22e6: 70eb strb r3, [r5, #3] bufp ++; - 29c4: 1d29 adds r1, r5, #4 - 29c6: 221c movs r2, #28 + 22e8: 1d29 adds r1, r5, #4 + 22ea: 221c movs r2, #28 int8_t i; for(i = value_len * 2 - 1; i >= 0; i--) { uint8_t x = (unsigned long int)((unsigned long int)value >> (i * 4)) & 0xF; *bufp = hex[x]; - 29c8: 4813 ldr r0, [pc, #76] ; (2a18 ) + 22ec: 4813 ldr r0, [pc, #76] ; (233c ) uint8_t x = (unsigned long int)((unsigned long int)value >> (i * 4)) & 0xF; - 29ca: fa24 f302 lsr.w r3, r4, r2 + 22ee: fa24 f302 lsr.w r3, r4, r2 *bufp = hex[x]; - 29ce: f003 030f and.w r3, r3, #15 - 29d2: 4403 add r3, r0 - 29d4: 7d1b ldrb r3, [r3, #20] - 29d6: f801 3b01 strb.w r3, [r1], #1 - 29da: 3a04 subs r2, #4 + 22f2: f003 030f and.w r3, r3, #15 + 22f6: 4403 add r3, r0 + 22f8: 7d1b ldrb r3, [r3, #20] + 22fa: f801 3b01 strb.w r3, [r1], #1 + 22fe: 3a04 subs r2, #4 for(i = value_len * 2 - 1; i >= 0; i--) { - 29dc: f112 0f04 cmn.w r2, #4 - 29e0: d1f3 bne.n 29ca + 2300: f112 0f04 cmn.w r2, #4 + 2304: d1f3 bne.n 22ee bufp++; } *bufp = ')'; - 29e2: 2329 movs r3, #41 ; 0x29 - 29e4: 732b strb r3, [r5, #12] + 2306: 2329 movs r3, #41 ; 0x29 + 2308: 732b strb r3, [r5, #12] bufp ++; *bufp = '\0'; - 29e6: 2300 movs r3, #0 - 29e8: 736b strb r3, [r5, #13] + 230a: 2300 movs r3, #0 + 230c: 736b strb r3, [r5, #13] LV_LOG_ERROR(buf); - 29ea: ab02 add r3, sp, #8 - 29ec: 9300 str r3, [sp, #0] - 29ee: 4b0b ldr r3, [pc, #44] ; (2a1c ) - 29f0: 22bc movs r2, #188 ; 0xbc - 29f2: 490b ldr r1, [pc, #44] ; (2a20 ) - 29f4: 2003 movs r0, #3 - 29f6: 4c0b ldr r4, [pc, #44] ; (2a24 ) - 29f8: 47a0 blx r4 + 230e: ab02 add r3, sp, #8 + 2310: 9300 str r3, [sp, #0] + 2312: 4b0b ldr r3, [pc, #44] ; (2340 ) + 2314: 22bc movs r2, #188 ; 0xbc + 2316: 490b ldr r1, [pc, #44] ; (2344 ) + 2318: 2003 movs r0, #3 + 231a: 4c0b ldr r4, [pc, #44] ; (2348 ) + 231c: 47a0 blx r4 } else { LV_LOG_ERROR(msg); } } - 29fa: b043 add sp, #268 ; 0x10c - 29fc: bdf0 pop {r4, r5, r6, r7, pc} + 231e: b043 add sp, #268 ; 0x10c + 2320: bdf0 pop {r4, r5, r6, r7, pc} LV_LOG_ERROR(msg); - 29fe: 9500 str r5, [sp, #0] - 2a00: 4b06 ldr r3, [pc, #24] ; (2a1c ) - 2a02: 22bf movs r2, #191 ; 0xbf - 2a04: 4906 ldr r1, [pc, #24] ; (2a20 ) - 2a06: 2003 movs r0, #3 - 2a08: 4c06 ldr r4, [pc, #24] ; (2a24 ) - 2a0a: 47a0 blx r4 -} - 2a0c: e7f5 b.n 29fa - 2a0e: bf00 nop - 2a10: 0001af4f .word 0x0001af4f - 2a14: 00012bfd .word 0x00012bfd - 2a18: 0001b0d0 .word 0x0001b0d0 - 2a1c: 0001b0f8 .word 0x0001b0f8 - 2a20: 0001b10c .word 0x0001b10c - 2a24: 00012805 .word 0x00012805 - -00002a28 : + 2322: 9500 str r5, [sp, #0] + 2324: 4b06 ldr r3, [pc, #24] ; (2340 ) + 2326: 22bf movs r2, #191 ; 0xbf + 2328: 4906 ldr r1, [pc, #24] ; (2344 ) + 232a: 2003 movs r0, #3 + 232c: 4c06 ldr r4, [pc, #24] ; (2348 ) + 232e: 47a0 blx r4 +} + 2330: e7f5 b.n 231e + 2332: bf00 nop + 2334: 0001b51f .word 0x0001b51f + 2338: 00012655 .word 0x00012655 + 233c: 00023bec .word 0x00023bec + 2340: 00023c14 .word 0x00023c14 + 2344: 00023c28 .word 0x00023c28 + 2348: 0001225d .word 0x0001225d + +0000234c : * screen) * @return pointer to the active screen object (loaded by 'lv_scr_load()') */ lv_obj_t * lv_disp_get_scr_act(lv_disp_t * disp) { if(!disp) disp = lv_disp_get_default(); - 2a28: b108 cbz r0, 2a2e + 234c: b108 cbz r0, 2352 if(!disp) { LV_LOG_WARN("lv_scr_act: no display registered to get its act. screen"); return NULL; } return disp->act_scr; - 2a2a: 6bc0 ldr r0, [r0, #60] ; 0x3c - 2a2c: 4770 bx lr + 234e: 6bc0 ldr r0, [r0, #60] ; 0x3c + 2350: 4770 bx lr { - 2a2e: b510 push {r4, lr} - 2a30: b082 sub sp, #8 + 2352: b510 push {r4, lr} + 2354: b082 sub sp, #8 if(!disp) disp = lv_disp_get_default(); - 2a32: 4b08 ldr r3, [pc, #32] ; (2a54 ) - 2a34: 4798 blx r3 + 2356: 4b08 ldr r3, [pc, #32] ; (2378 ) + 2358: 4798 blx r3 if(!disp) { - 2a36: b110 cbz r0, 2a3e + 235a: b110 cbz r0, 2362 return disp->act_scr; - 2a38: 6bc0 ldr r0, [r0, #60] ; 0x3c + 235c: 6bc0 ldr r0, [r0, #60] ; 0x3c } - 2a3a: b002 add sp, #8 - 2a3c: bd10 pop {r4, pc} + 235e: b002 add sp, #8 + 2360: bd10 pop {r4, pc} LV_LOG_WARN("lv_scr_act: no display registered to get its act. screen"); - 2a3e: 4b06 ldr r3, [pc, #24] ; (2a58 ) - 2a40: 9300 str r3, [sp, #0] - 2a42: 4b06 ldr r3, [pc, #24] ; (2a5c ) - 2a44: 222e movs r2, #46 ; 0x2e - 2a46: 4906 ldr r1, [pc, #24] ; (2a60 ) - 2a48: 2002 movs r0, #2 - 2a4a: 4c06 ldr r4, [pc, #24] ; (2a64 ) - 2a4c: 47a0 blx r4 + 2362: 4b06 ldr r3, [pc, #24] ; (237c ) + 2364: 9300 str r3, [sp, #0] + 2366: 4b06 ldr r3, [pc, #24] ; (2380 ) + 2368: 222e movs r2, #46 ; 0x2e + 236a: 4906 ldr r1, [pc, #24] ; (2384 ) + 236c: 2002 movs r0, #2 + 236e: 4c06 ldr r4, [pc, #24] ; (2388 ) + 2370: 47a0 blx r4 return NULL; - 2a4e: 2000 movs r0, #0 - 2a50: e7f3 b.n 2a3a - 2a52: bf00 nop - 2a54: 00011489 .word 0x00011489 - 2a58: 0001b2e8 .word 0x0001b2e8 - 2a5c: 0001b214 .word 0x0001b214 - 2a60: 0001b2bc .word 0x0001b2bc - 2a64: 00012805 .word 0x00012805 - -00002a68 : + 2372: 2000 movs r0, #0 + 2374: e7f3 b.n 235e + 2376: bf00 nop + 2378: 00010ee1 .word 0x00010ee1 + 237c: 00023e04 .word 0x00023e04 + 2380: 00023d30 .word 0x00023d30 + 2384: 00023dd8 .word 0x00023dd8 + 2388: 0001225d .word 0x0001225d + +0000238c : * @param disp pointer to display which top layer should be get. (NULL to use the default screen) * @return pointer to the top layer object (transparent screen sized lv_obj) */ lv_obj_t * lv_disp_get_layer_top(lv_disp_t * disp) { if(!disp) disp = lv_disp_get_default(); - 2a68: b108 cbz r0, 2a6e + 238c: b108 cbz r0, 2392 if(!disp) { LV_LOG_WARN("lv_layer_top: no display registered to get its top layer"); return NULL; } return disp->top_layer; - 2a6a: 6c00 ldr r0, [r0, #64] ; 0x40 - 2a6c: 4770 bx lr + 238e: 6c00 ldr r0, [r0, #64] ; 0x40 + 2390: 4770 bx lr { - 2a6e: b510 push {r4, lr} - 2a70: b082 sub sp, #8 + 2392: b510 push {r4, lr} + 2394: b082 sub sp, #8 if(!disp) disp = lv_disp_get_default(); - 2a72: 4b08 ldr r3, [pc, #32] ; (2a94 ) - 2a74: 4798 blx r3 + 2396: 4b08 ldr r3, [pc, #32] ; (23b8 ) + 2398: 4798 blx r3 if(!disp) { - 2a76: b110 cbz r0, 2a7e + 239a: b110 cbz r0, 23a2 return disp->top_layer; - 2a78: 6c00 ldr r0, [r0, #64] ; 0x40 + 239c: 6c00 ldr r0, [r0, #64] ; 0x40 } - 2a7a: b002 add sp, #8 - 2a7c: bd10 pop {r4, pc} + 239e: b002 add sp, #8 + 23a0: bd10 pop {r4, pc} LV_LOG_WARN("lv_layer_top: no display registered to get its top layer"); - 2a7e: 4b06 ldr r3, [pc, #24] ; (2a98 ) - 2a80: 9300 str r3, [sp, #0] - 2a82: 4b06 ldr r3, [pc, #24] ; (2a9c ) - 2a84: 224b movs r2, #75 ; 0x4b - 2a86: 4906 ldr r1, [pc, #24] ; (2aa0 ) - 2a88: 2002 movs r0, #2 - 2a8a: 4c06 ldr r4, [pc, #24] ; (2aa4 ) - 2a8c: 47a0 blx r4 + 23a2: 4b06 ldr r3, [pc, #24] ; (23bc ) + 23a4: 9300 str r3, [sp, #0] + 23a6: 4b06 ldr r3, [pc, #24] ; (23c0 ) + 23a8: 224b movs r2, #75 ; 0x4b + 23aa: 4906 ldr r1, [pc, #24] ; (23c4 ) + 23ac: 2002 movs r0, #2 + 23ae: 4c06 ldr r4, [pc, #24] ; (23c8 ) + 23b0: 47a0 blx r4 return NULL; - 2a8e: 2000 movs r0, #0 - 2a90: e7f3 b.n 2a7a - 2a92: bf00 nop - 2a94: 00011489 .word 0x00011489 - 2a98: 0001b324 .word 0x0001b324 - 2a9c: 0001b228 .word 0x0001b228 - 2aa0: 0001b2bc .word 0x0001b2bc - 2aa4: 00012805 .word 0x00012805 - -00002aa8 : + 23b2: 2000 movs r0, #0 + 23b4: e7f3 b.n 239e + 23b6: bf00 nop + 23b8: 00010ee1 .word 0x00010ee1 + 23bc: 00023e40 .word 0x00023e40 + 23c0: 00023d44 .word 0x00023d44 + 23c4: 00023dd8 .word 0x00023dd8 + 23c8: 0001225d .word 0x0001225d + +000023cc : * @param disp pointer to display which sys. layer should be get. (NULL to use the default screen) * @return pointer to the sys layer object (transparent screen sized lv_obj) */ lv_obj_t * lv_disp_get_layer_sys(lv_disp_t * disp) { if(!disp) disp = lv_disp_get_default(); - 2aa8: b108 cbz r0, 2aae + 23cc: b108 cbz r0, 23d2 if(!disp) { LV_LOG_WARN("lv_layer_sys: no display registered to get its sys. layer"); return NULL; } return disp->sys_layer; - 2aaa: 6c40 ldr r0, [r0, #68] ; 0x44 - 2aac: 4770 bx lr + 23ce: 6c40 ldr r0, [r0, #68] ; 0x44 + 23d0: 4770 bx lr { - 2aae: b510 push {r4, lr} - 2ab0: b082 sub sp, #8 + 23d2: b510 push {r4, lr} + 23d4: b082 sub sp, #8 if(!disp) disp = lv_disp_get_default(); - 2ab2: 4b08 ldr r3, [pc, #32] ; (2ad4 ) - 2ab4: 4798 blx r3 + 23d6: 4b08 ldr r3, [pc, #32] ; (23f8 ) + 23d8: 4798 blx r3 if(!disp) { - 2ab6: b110 cbz r0, 2abe + 23da: b110 cbz r0, 23e2 return disp->sys_layer; - 2ab8: 6c40 ldr r0, [r0, #68] ; 0x44 + 23dc: 6c40 ldr r0, [r0, #68] ; 0x44 } - 2aba: b002 add sp, #8 - 2abc: bd10 pop {r4, pc} + 23de: b002 add sp, #8 + 23e0: bd10 pop {r4, pc} LV_LOG_WARN("lv_layer_sys: no display registered to get its sys. layer"); - 2abe: 4b06 ldr r3, [pc, #24] ; (2ad8 ) - 2ac0: 9300 str r3, [sp, #0] - 2ac2: 4b06 ldr r3, [pc, #24] ; (2adc ) - 2ac4: 225c movs r2, #92 ; 0x5c - 2ac6: 4906 ldr r1, [pc, #24] ; (2ae0 ) - 2ac8: 2002 movs r0, #2 - 2aca: 4c06 ldr r4, [pc, #24] ; (2ae4 ) - 2acc: 47a0 blx r4 + 23e2: 4b06 ldr r3, [pc, #24] ; (23fc ) + 23e4: 9300 str r3, [sp, #0] + 23e6: 4b06 ldr r3, [pc, #24] ; (2400 ) + 23e8: 225c movs r2, #92 ; 0x5c + 23ea: 4906 ldr r1, [pc, #24] ; (2404 ) + 23ec: 2002 movs r0, #2 + 23ee: 4c06 ldr r4, [pc, #24] ; (2408 ) + 23f0: 47a0 blx r4 return NULL; - 2ace: 2000 movs r0, #0 - 2ad0: e7f3 b.n 2aba - 2ad2: bf00 nop - 2ad4: 00011489 .word 0x00011489 - 2ad8: 0001b360 .word 0x0001b360 - 2adc: 0001b240 .word 0x0001b240 - 2ae0: 0001b2bc .word 0x0001b2bc - 2ae4: 00012805 .word 0x00012805 - -00002ae8 : + 23f2: 2000 movs r0, #0 + 23f4: e7f3 b.n 23de + 23f6: bf00 nop + 23f8: 00010ee1 .word 0x00010ee1 + 23fc: 00023e7c .word 0x00023e7c + 2400: 00023d5c .word 0x00023d5c + 2404: 00023dd8 .word 0x00023dd8 + 2408: 0001225d .word 0x0001225d + +0000240c : static void obj_to_foreground(lv_obj_t * obj) { /*Search for 'top' attribute*/ lv_obj_t * i = obj; lv_obj_t * last_top = NULL; while(i != NULL) { - 2ae8: b1a0 cbz r0, 2b14 + 240c: b1a0 cbz r0, 2438 { - 2aea: b538 push {r3, r4, r5, lr} - 2aec: 4603 mov r3, r0 + 240e: b538 push {r3, r4, r5, lr} + 2410: 4603 mov r3, r0 while(i != NULL) { - 2aee: 2400 movs r4, #0 + 2412: 2400 movs r4, #0 if(i->top != 0) last_top = i; i = lv_obj_get_parent(i); - 2af0: 4d09 ldr r5, [pc, #36] ; (2b18 ) + 2414: 4d09 ldr r5, [pc, #36] ; (243c ) if(i->top != 0) last_top = i; - 2af2: f893 2034 ldrb.w r2, [r3, #52] ; 0x34 - 2af6: f002 0220 and.w r2, r2, #32 - 2afa: 2a00 cmp r2, #0 - 2afc: bf18 it ne - 2afe: 461c movne r4, r3 + 2416: f893 2034 ldrb.w r2, [r3, #52] ; 0x34 + 241a: f002 0220 and.w r2, r2, #32 + 241e: 2a00 cmp r2, #0 + 2420: bf18 it ne + 2422: 461c movne r4, r3 i = lv_obj_get_parent(i); - 2b00: 4618 mov r0, r3 - 2b02: 47a8 blx r5 + 2424: 4618 mov r0, r3 + 2426: 47a8 blx r5 while(i != NULL) { - 2b04: 4603 mov r3, r0 - 2b06: 2800 cmp r0, #0 - 2b08: d1f3 bne.n 2af2 + 2428: 4603 mov r3, r0 + 242a: 2800 cmp r0, #0 + 242c: d1f3 bne.n 2416 } if(last_top != NULL) { - 2b0a: b114 cbz r4, 2b12 + 242e: b114 cbz r4, 2436 /*Move the last_top object to the foreground*/ lv_obj_move_foreground(last_top); - 2b0c: 4620 mov r0, r4 - 2b0e: 4b03 ldr r3, [pc, #12] ; (2b1c ) - 2b10: 4798 blx r3 - 2b12: bd38 pop {r3, r4, r5, pc} - 2b14: 4770 bx lr - 2b16: bf00 nop - 2b18: 00003305 .word 0x00003305 - 2b1c: 00003a3d .word 0x00003a3d - -00002b20 : -{ - 2b20: e92d 4ff8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr} + 2430: 4620 mov r0, r4 + 2432: 4b03 ldr r3, [pc, #12] ; (2440 ) + 2434: 4798 blx r3 + 2436: bd38 pop {r3, r4, r5, pc} + 2438: 4770 bx lr + 243a: bf00 nop + 243c: 00002c7d .word 0x00002c7d + 2440: 000033b5 .word 0x000033b5 + +00002444 : +{ + 2444: e92d 4ff8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr} if(group->frozen) return; - 2b24: 7d03 ldrb r3, [r0, #20] - 2b26: f013 0f01 tst.w r3, #1 - 2b2a: d12a bne.n 2b82 - 2b2c: 4617 mov r7, r2 - 2b2e: 468a mov sl, r1 - 2b30: 4606 mov r6, r0 + 2448: 7d03 ldrb r3, [r0, #20] + 244a: f013 0f01 tst.w r3, #1 + 244e: d12a bne.n 24a6 + 2450: 4617 mov r7, r2 + 2452: 468a mov sl, r1 + 2454: 4606 mov r6, r0 lv_obj_t ** obj_next = group->obj_focus; - 2b32: 68c4 ldr r4, [r0, #12] + 2456: 68c4 ldr r4, [r0, #12] bool can_begin = true; - 2b34: f04f 0901 mov.w r9, #1 + 2458: f04f 0901 mov.w r9, #1 lv_obj_t ** obj_sentinel = NULL; - 2b38: 2500 movs r5, #0 + 245c: 2500 movs r5, #0 if(!lv_obj_get_hidden(*obj_next)) break; - 2b3a: f8df 80c4 ldr.w r8, [pc, #196] ; 2c00 + 245e: f8df 80c4 ldr.w r8, [pc, #196] ; 2524 can_begin = false; - 2b3e: 46ab mov fp, r5 - 2b40: e04a b.n 2bd8 + 2462: 46ab mov fp, r5 + 2464: e04a b.n 24fc if(group->wrap || obj_sentinel == NULL) { - 2b42: 7d33 ldrb r3, [r6, #20] - 2b44: f013 0f10 tst.w r3, #16 - 2b48: d100 bne.n 2b4c - 2b4a: b9d5 cbnz r5, 2b82 + 2466: 7d33 ldrb r3, [r6, #20] + 2468: f013 0f10 tst.w r3, #16 + 246c: d100 bne.n 2470 + 246e: b9d5 cbnz r5, 24a6 if(!can_begin) return; - 2b4c: f1b9 0f00 cmp.w r9, #0 - 2b50: d017 beq.n 2b82 + 2470: f1b9 0f00 cmp.w r9, #0 + 2474: d017 beq.n 24a6 obj_next = begin(&group->obj_ll); - 2b52: 4630 mov r0, r6 - 2b54: 47d0 blx sl - 2b56: 4604 mov r4, r0 + 2476: 4630 mov r0, r6 + 2478: 47d0 blx sl + 247a: 4604 mov r4, r0 if(obj_sentinel == NULL) { - 2b58: 2d00 cmp r5, #0 - 2b5a: d035 beq.n 2bc8 + 247c: 2d00 cmp r5, #0 + 247e: d035 beq.n 24ec can_begin = false; - 2b5c: 46d9 mov r9, fp - 2b5e: e046 b.n 2bee + 2480: 46d9 mov r9, fp + 2482: e046 b.n 2512 if(obj_next == group->obj_focus) return; /*There's only one visible object and it's already focused*/ - 2b60: 68f3 ldr r3, [r6, #12] - 2b62: 42a3 cmp r3, r4 - 2b64: d00d beq.n 2b82 + 2484: 68f3 ldr r3, [r6, #12] + 2486: 42a3 cmp r3, r4 + 2488: d00d beq.n 24a6 if(group->obj_focus) { - 2b66: b193 cbz r3, 2b8e + 248a: b193 cbz r3, 24b2 (*group->obj_focus)->signal_cb(*group->obj_focus, LV_SIGNAL_DEFOCUS, NULL); - 2b68: 6818 ldr r0, [r3, #0] - 2b6a: 69c3 ldr r3, [r0, #28] - 2b6c: 2200 movs r2, #0 - 2b6e: 2117 movs r1, #23 - 2b70: 4798 blx r3 + 248c: 6818 ldr r0, [r3, #0] + 248e: 69c3 ldr r3, [r0, #28] + 2490: 2200 movs r2, #0 + 2492: 2117 movs r1, #23 + 2494: 4798 blx r3 lv_res_t res = lv_event_send(*group->obj_focus, LV_EVENT_DEFOCUSED, NULL); - 2b72: 68f3 ldr r3, [r6, #12] - 2b74: 2200 movs r2, #0 - 2b76: 210e movs r1, #14 - 2b78: 6818 ldr r0, [r3, #0] - 2b7a: 4b1e ldr r3, [pc, #120] ; (2bf4 ) - 2b7c: 4798 blx r3 + 2496: 68f3 ldr r3, [r6, #12] + 2498: 2200 movs r2, #0 + 249a: 210e movs r1, #14 + 249c: 6818 ldr r0, [r3, #0] + 249e: 4b1e ldr r3, [pc, #120] ; (2518 ) + 24a0: 4798 blx r3 if(res != LV_RES_OK) return; - 2b7e: 2801 cmp r0, #1 - 2b80: d001 beq.n 2b86 - 2b82: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} + 24a2: 2801 cmp r0, #1 + 24a4: d001 beq.n 24aa + 24a6: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} lv_obj_invalidate(*group->obj_focus); - 2b86: 68f3 ldr r3, [r6, #12] - 2b88: 6818 ldr r0, [r3, #0] - 2b8a: 4b1b ldr r3, [pc, #108] ; (2bf8 ) - 2b8c: 4798 blx r3 + 24aa: 68f3 ldr r3, [r6, #12] + 24ac: 6818 ldr r0, [r3, #0] + 24ae: 4b1b ldr r3, [pc, #108] ; (251c ) + 24b0: 4798 blx r3 group->obj_focus = obj_next; - 2b8e: 60f4 str r4, [r6, #12] + 24b2: 60f4 str r4, [r6, #12] (*group->obj_focus)->signal_cb(*group->obj_focus, LV_SIGNAL_FOCUS, NULL); - 2b90: 6820 ldr r0, [r4, #0] - 2b92: 69c3 ldr r3, [r0, #28] - 2b94: 2200 movs r2, #0 - 2b96: 2116 movs r1, #22 - 2b98: 4798 blx r3 + 24b4: 6820 ldr r0, [r4, #0] + 24b6: 69c3 ldr r3, [r0, #28] + 24b8: 2200 movs r2, #0 + 24ba: 2116 movs r1, #22 + 24bc: 4798 blx r3 lv_res_t res = lv_event_send(*group->obj_focus, LV_EVENT_FOCUSED, NULL); - 2b9a: 68f3 ldr r3, [r6, #12] - 2b9c: 2200 movs r2, #0 - 2b9e: 210d movs r1, #13 - 2ba0: 6818 ldr r0, [r3, #0] - 2ba2: 4b14 ldr r3, [pc, #80] ; (2bf4 ) - 2ba4: 4798 blx r3 + 24be: 68f3 ldr r3, [r6, #12] + 24c0: 2200 movs r2, #0 + 24c2: 210d movs r1, #13 + 24c4: 6818 ldr r0, [r3, #0] + 24c6: 4b14 ldr r3, [pc, #80] ; (2518 ) + 24c8: 4798 blx r3 if(res != LV_RES_OK) return; - 2ba6: 2801 cmp r0, #1 - 2ba8: d1eb bne.n 2b82 + 24ca: 2801 cmp r0, #1 + 24cc: d1eb bne.n 24a6 obj_to_foreground(*group->obj_focus); - 2baa: 68f3 ldr r3, [r6, #12] - 2bac: 6818 ldr r0, [r3, #0] - 2bae: 4b13 ldr r3, [pc, #76] ; (2bfc ) - 2bb0: 4798 blx r3 + 24ce: 68f3 ldr r3, [r6, #12] + 24d0: 6818 ldr r0, [r3, #0] + 24d2: 4b13 ldr r3, [pc, #76] ; (2520 ) + 24d4: 4798 blx r3 lv_obj_invalidate(*group->obj_focus); - 2bb2: 68f3 ldr r3, [r6, #12] - 2bb4: 6818 ldr r0, [r3, #0] - 2bb6: 4b10 ldr r3, [pc, #64] ; (2bf8 ) - 2bb8: 4798 blx r3 + 24d6: 68f3 ldr r3, [r6, #12] + 24d8: 6818 ldr r0, [r3, #0] + 24da: 4b10 ldr r3, [pc, #64] ; (251c ) + 24dc: 4798 blx r3 if(group->focus_cb) group->focus_cb(group); - 2bba: 6933 ldr r3, [r6, #16] - 2bbc: 2b00 cmp r3, #0 - 2bbe: d0e0 beq.n 2b82 - 2bc0: 4630 mov r0, r6 - 2bc2: 4798 blx r3 - 2bc4: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} + 24de: 6933 ldr r3, [r6, #16] + 24e0: 2b00 cmp r3, #0 + 24e2: d0e0 beq.n 24a6 + 24e4: 4630 mov r0, r6 + 24e6: 4798 blx r3 + 24e8: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} if(obj_sentinel == NULL) return; /*Group is empty*/ - 2bc8: 2800 cmp r0, #0 - 2bca: d0da beq.n 2b82 + 24ec: 2800 cmp r0, #0 + 24ee: d0da beq.n 24a6 obj_next = begin(&group->obj_ll); - 2bcc: 4605 mov r5, r0 + 24f0: 4605 mov r5, r0 can_begin = false; - 2bce: 46d9 mov r9, fp + 24f2: 46d9 mov r9, fp if(!lv_obj_get_hidden(*obj_next)) break; - 2bd0: 6820 ldr r0, [r4, #0] - 2bd2: 47c0 blx r8 - 2bd4: 2800 cmp r0, #0 - 2bd6: d0c3 beq.n 2b60 + 24f4: 6820 ldr r0, [r4, #0] + 24f6: 47c0 blx r8 + 24f8: 2800 cmp r0, #0 + 24fa: d0c3 beq.n 2484 if(obj_next == NULL) { - 2bd8: 2c00 cmp r4, #0 - 2bda: d0b2 beq.n 2b42 - 2bdc: 2d00 cmp r5, #0 - 2bde: bf08 it eq - 2be0: 4625 moveq r5, r4 + 24fc: 2c00 cmp r4, #0 + 24fe: d0b2 beq.n 2466 + 2500: 2d00 cmp r5, #0 + 2502: bf08 it eq + 2504: 4625 moveq r5, r4 obj_next = move(&group->obj_ll, obj_next); - 2be2: 4621 mov r1, r4 - 2be4: 4630 mov r0, r6 - 2be6: 47b8 blx r7 - 2be8: 4604 mov r4, r0 + 2506: 4621 mov r1, r4 + 2508: 4630 mov r0, r6 + 250a: 47b8 blx r7 + 250c: 4604 mov r4, r0 if(obj_next == obj_sentinel) return; - 2bea: 42a8 cmp r0, r5 - 2bec: d0c9 beq.n 2b82 + 250e: 42a8 cmp r0, r5 + 2510: d0c9 beq.n 24a6 if(obj_next == NULL) continue; - 2bee: 2c00 cmp r4, #0 - 2bf0: d1ee bne.n 2bd0 - 2bf2: e7f1 b.n 2bd8 - 2bf4: 00003155 .word 0x00003155 - 2bf8: 000039a9 .word 0x000039a9 - 2bfc: 00002ae9 .word 0x00002ae9 - 2c00: 0000382d .word 0x0000382d + 2512: 2c00 cmp r4, #0 + 2514: d1ee bne.n 24f4 + 2516: e7f1 b.n 24fc + 2518: 00002acd .word 0x00002acd + 251c: 00003321 .word 0x00003321 + 2520: 0000240d .word 0x0000240d + 2524: 000031a5 .word 0x000031a5 -00002c04 <_lv_group_init>: +00002528 <_lv_group_init>: { - 2c04: b508 push {r3, lr} + 2528: b508 push {r3, lr} _lv_ll_init(&LV_GC_ROOT(_lv_group_ll), sizeof(lv_group_t)); - 2c06: 2118 movs r1, #24 - 2c08: 4801 ldr r0, [pc, #4] ; (2c10 <_lv_group_init+0xc>) - 2c0a: 4b02 ldr r3, [pc, #8] ; (2c14 <_lv_group_init+0x10>) - 2c0c: 4798 blx r3 - 2c0e: bd08 pop {r3, pc} - 2c10: 20006e08 .word 0x20006e08 - 2c14: 000124a1 .word 0x000124a1 + 252a: 2118 movs r1, #24 + 252c: 4801 ldr r0, [pc, #4] ; (2534 <_lv_group_init+0xc>) + 252e: 4b02 ldr r3, [pc, #8] ; (2538 <_lv_group_init+0x10>) + 2530: 4798 blx r3 + 2532: bd08 pop {r3, pc} + 2534: 20006dec .word 0x20006dec + 2538: 00011ef9 .word 0x00011ef9 -00002c18 : +0000253c : { - 2c18: b508 push {r3, lr} + 253c: b508 push {r3, lr} focus_next_core(group, _lv_ll_get_head, _lv_ll_get_next); - 2c1a: 4a02 ldr r2, [pc, #8] ; (2c24 ) - 2c1c: 4902 ldr r1, [pc, #8] ; (2c28 ) - 2c1e: 4b03 ldr r3, [pc, #12] ; (2c2c ) - 2c20: 4798 blx r3 - 2c22: bd08 pop {r3, pc} - 2c24: 00012565 .word 0x00012565 - 2c28: 00012551 .word 0x00012551 - 2c2c: 00002b21 .word 0x00002b21 - -00002c30 : -{ - 2c30: b508 push {r3, lr} + 253e: 4a02 ldr r2, [pc, #8] ; (2548 ) + 2540: 4902 ldr r1, [pc, #8] ; (254c ) + 2542: 4b03 ldr r3, [pc, #12] ; (2550 ) + 2544: 4798 blx r3 + 2546: bd08 pop {r3, pc} + 2548: 00011fbd .word 0x00011fbd + 254c: 00011fa9 .word 0x00011fa9 + 2550: 00002445 .word 0x00002445 + +00002554 : +{ + 2554: b508 push {r3, lr} focus_next_core(group, _lv_ll_get_tail, _lv_ll_get_prev); - 2c32: 4a02 ldr r2, [pc, #8] ; (2c3c ) - 2c34: 4902 ldr r1, [pc, #8] ; (2c40 ) - 2c36: 4b03 ldr r3, [pc, #12] ; (2c44 ) - 2c38: 4798 blx r3 - 2c3a: bd08 pop {r3, pc} - 2c3c: 00012591 .word 0x00012591 - 2c40: 0001255b .word 0x0001255b - 2c44: 00002b21 .word 0x00002b21 - -00002c48 : -{ - 2c48: b538 push {r3, r4, r5, lr} - 2c4a: 4604 mov r4, r0 + 2556: 4a02 ldr r2, [pc, #8] ; (2560 ) + 2558: 4902 ldr r1, [pc, #8] ; (2564 ) + 255a: 4b03 ldr r3, [pc, #12] ; (2568 ) + 255c: 4798 blx r3 + 255e: bd08 pop {r3, pc} + 2560: 00011fe9 .word 0x00011fe9 + 2564: 00011fb3 .word 0x00011fb3 + 2568: 00002445 .word 0x00002445 + +0000256c : +{ + 256c: b538 push {r3, r4, r5, lr} + 256e: 4604 mov r4, r0 uint8_t temp_wrap = g->wrap; - 2c4c: 7d03 ldrb r3, [r0, #20] - 2c4e: f3c3 1500 ubfx r5, r3, #4, #1 + 2570: 7d03 ldrb r3, [r0, #20] + 2572: f3c3 1500 ubfx r5, r3, #4, #1 g->wrap = 1; - 2c52: f043 0310 orr.w r3, r3, #16 - 2c56: 7503 strb r3, [r0, #20] + 2576: f043 0310 orr.w r3, r3, #16 + 257a: 7503 strb r3, [r0, #20] if(g->refocus_policy == LV_GROUP_REFOCUS_POLICY_NEXT) - 2c58: f013 0f08 tst.w r3, #8 + 257c: f013 0f08 tst.w r3, #8 lv_group_focus_next(g); - 2c5c: bf0c ite eq - 2c5e: 4b04 ldreq r3, [pc, #16] ; (2c70 ) + 2580: bf0c ite eq + 2582: 4b04 ldreq r3, [pc, #16] ; (2594 ) lv_group_focus_prev(g); - 2c60: 4b04 ldrne r3, [pc, #16] ; (2c74 ) - 2c62: 4798 blx r3 + 2584: 4b04 ldrne r3, [pc, #16] ; (2598 ) + 2586: 4798 blx r3 g->wrap = temp_wrap; - 2c64: 7d23 ldrb r3, [r4, #20] - 2c66: f365 1304 bfi r3, r5, #4, #1 - 2c6a: 7523 strb r3, [r4, #20] - 2c6c: bd38 pop {r3, r4, r5, pc} - 2c6e: bf00 nop - 2c70: 00002c19 .word 0x00002c19 - 2c74: 00002c31 .word 0x00002c31 - -00002c78 : + 2588: 7d23 ldrb r3, [r4, #20] + 258a: f365 1304 bfi r3, r5, #4, #1 + 258e: 7523 strb r3, [r4, #20] + 2590: bd38 pop {r3, r4, r5, pc} + 2592: bf00 nop + 2594: 0000253d .word 0x0000253d + 2598: 00002555 .word 0x00002555 + +0000259c : if(group == NULL) return; - 2c78: 2800 cmp r0, #0 - 2c7a: d04f beq.n 2d1c + 259c: 2800 cmp r0, #0 + 259e: d04f beq.n 2640 { - 2c7c: b5f0 push {r4, r5, r6, r7, lr} - 2c7e: b083 sub sp, #12 - 2c80: 4605 mov r5, r0 - 2c82: 460c mov r4, r1 + 25a0: b5f0 push {r4, r5, r6, r7, lr} + 25a2: b083 sub sp, #12 + 25a4: 4605 mov r5, r0 + 25a6: 460c mov r4, r1 _LV_LL_READ(group->obj_ll, obj_i) { - 2c84: 4607 mov r7, r0 - 2c86: 4b26 ldr r3, [pc, #152] ; (2d20 ) - 2c88: 4798 blx r3 - 2c8a: 4601 mov r1, r0 - 2c8c: b1a0 cbz r0, 2cb8 + 25a8: 4607 mov r7, r0 + 25aa: 4b26 ldr r3, [pc, #152] ; (2644 ) + 25ac: 4798 blx r3 + 25ae: 4601 mov r1, r0 + 25b0: b1a0 cbz r0, 25dc if((*obj_i) == obj) { - 2c8e: 6803 ldr r3, [r0, #0] - 2c90: 429c cmp r4, r3 - 2c92: d007 beq.n 2ca4 + 25b2: 6803 ldr r3, [r0, #0] + 25b4: 429c cmp r4, r3 + 25b6: d007 beq.n 25c8 _LV_LL_READ(group->obj_ll, obj_i) { - 2c94: 4e23 ldr r6, [pc, #140] ; (2d24 ) - 2c96: 4638 mov r0, r7 - 2c98: 47b0 blx r6 - 2c9a: 4601 mov r1, r0 - 2c9c: b160 cbz r0, 2cb8 + 25b8: 4e23 ldr r6, [pc, #140] ; (2648 ) + 25ba: 4638 mov r0, r7 + 25bc: 47b0 blx r6 + 25be: 4601 mov r1, r0 + 25c0: b160 cbz r0, 25dc if((*obj_i) == obj) { - 2c9e: 680b ldr r3, [r1, #0] - 2ca0: 42a3 cmp r3, r4 - 2ca2: d1f8 bne.n 2c96 + 25c2: 680b ldr r3, [r1, #0] + 25c4: 42a3 cmp r3, r4 + 25c6: d1f8 bne.n 25ba LV_LOG_INFO("lv_group_add_obj: the object is already added to this group"); - 2ca4: 4b20 ldr r3, [pc, #128] ; (2d28 ) - 2ca6: 9300 str r3, [sp, #0] - 2ca8: 4b20 ldr r3, [pc, #128] ; (2d2c ) - 2caa: 2275 movs r2, #117 ; 0x75 - 2cac: 4920 ldr r1, [pc, #128] ; (2d30 ) - 2cae: 2001 movs r0, #1 - 2cb0: 4c20 ldr r4, [pc, #128] ; (2d34 ) - 2cb2: 47a0 blx r4 -} - 2cb4: b003 add sp, #12 - 2cb6: bdf0 pop {r4, r5, r6, r7, pc} + 25c8: 4b20 ldr r3, [pc, #128] ; (264c ) + 25ca: 9300 str r3, [sp, #0] + 25cc: 4b20 ldr r3, [pc, #128] ; (2650 ) + 25ce: 2275 movs r2, #117 ; 0x75 + 25d0: 4920 ldr r1, [pc, #128] ; (2654 ) + 25d2: 2001 movs r0, #1 + 25d4: 4c20 ldr r4, [pc, #128] ; (2658 ) + 25d6: 47a0 blx r4 +} + 25d8: b003 add sp, #12 + 25da: bdf0 pop {r4, r5, r6, r7, pc} if(obj->group_p) { - 2cb8: 6ba3 ldr r3, [r4, #56] ; 0x38 - 2cba: b173 cbz r3, 2cda + 25dc: 6ba3 ldr r3, [r4, #56] ; 0x38 + 25de: b173 cbz r3, 25fe if(lv_obj_is_focused(obj)) { - 2cbc: 4620 mov r0, r4 - 2cbe: 4b1e ldr r3, [pc, #120] ; (2d38 ) - 2cc0: 4798 blx r3 - 2cc2: b150 cbz r0, 2cda + 25e0: 4620 mov r0, r4 + 25e2: 4b1e ldr r3, [pc, #120] ; (265c ) + 25e4: 4798 blx r3 + 25e6: b150 cbz r0, 25fe lv_group_refocus(obj->group_p); - 2cc4: 6ba0 ldr r0, [r4, #56] ; 0x38 - 2cc6: 4b1d ldr r3, [pc, #116] ; (2d3c ) - 2cc8: 4798 blx r3 + 25e8: 6ba0 ldr r0, [r4, #56] ; 0x38 + 25ea: 4b1d ldr r3, [pc, #116] ; (2660 ) + 25ec: 4798 blx r3 LV_LOG_INFO("lv_group_add_obj: assign object to an other group"); - 2cca: 4b1d ldr r3, [pc, #116] ; (2d40 ) - 2ccc: 9300 str r3, [sp, #0] - 2cce: 4b17 ldr r3, [pc, #92] ; (2d2c ) - 2cd0: 227f movs r2, #127 ; 0x7f - 2cd2: 4917 ldr r1, [pc, #92] ; (2d30 ) - 2cd4: 2001 movs r0, #1 - 2cd6: 4e17 ldr r6, [pc, #92] ; (2d34 ) - 2cd8: 47b0 blx r6 + 25ee: 4b1d ldr r3, [pc, #116] ; (2664 ) + 25f0: 9300 str r3, [sp, #0] + 25f2: 4b17 ldr r3, [pc, #92] ; (2650 ) + 25f4: 227f movs r2, #127 ; 0x7f + 25f6: 4917 ldr r1, [pc, #92] ; (2654 ) + 25f8: 2001 movs r0, #1 + 25fa: 4e17 ldr r6, [pc, #92] ; (2658 ) + 25fc: 47b0 blx r6 obj->group_p = group; - 2cda: 63a5 str r5, [r4, #56] ; 0x38 + 25fe: 63a5 str r5, [r4, #56] ; 0x38 lv_obj_t ** next = _lv_ll_ins_tail(&group->obj_ll); - 2cdc: 4628 mov r0, r5 - 2cde: 4b19 ldr r3, [pc, #100] ; (2d44 ) - 2ce0: 4798 blx r3 - 2ce2: 4606 mov r6, r0 + 2600: 4628 mov r0, r5 + 2602: 4b19 ldr r3, [pc, #100] ; (2668 ) + 2604: 4798 blx r3 + 2606: 4606 mov r6, r0 LV_ASSERT_MEM(next); - 2ce4: 4b18 ldr r3, [pc, #96] ; (2d48 ) - 2ce6: 4798 blx r3 - 2ce8: b158 cbz r0, 2d02 + 2608: 4b18 ldr r3, [pc, #96] ; (266c ) + 260a: 4798 blx r3 + 260c: b158 cbz r0, 2626 if(next == NULL) return; - 2cea: 2e00 cmp r6, #0 - 2cec: d0e2 beq.n 2cb4 + 260e: 2e00 cmp r6, #0 + 2610: d0e2 beq.n 25d8 *next = obj; - 2cee: 6034 str r4, [r6, #0] + 2612: 6034 str r4, [r6, #0] if(_lv_ll_get_head(&group->obj_ll) == next) { - 2cf0: 4628 mov r0, r5 - 2cf2: 4b0b ldr r3, [pc, #44] ; (2d20 ) - 2cf4: 4798 blx r3 - 2cf6: 4286 cmp r6, r0 - 2cf8: d1dc bne.n 2cb4 + 2614: 4628 mov r0, r5 + 2616: 4b0b ldr r3, [pc, #44] ; (2644 ) + 2618: 4798 blx r3 + 261a: 4286 cmp r6, r0 + 261c: d1dc bne.n 25d8 lv_group_refocus(group); - 2cfa: 4628 mov r0, r5 - 2cfc: 4b0f ldr r3, [pc, #60] ; (2d3c ) - 2cfe: 4798 blx r3 - 2d00: e7d8 b.n 2cb4 + 261e: 4628 mov r0, r5 + 2620: 4b0f ldr r3, [pc, #60] ; (2660 ) + 2622: 4798 blx r3 + 2624: e7d8 b.n 25d8 LV_ASSERT_MEM(next); - 2d02: 4b0a ldr r3, [pc, #40] ; (2d2c ) - 2d04: 9300 str r3, [sp, #0] - 2d06: 2285 movs r2, #133 ; 0x85 - 2d08: 4909 ldr r1, [pc, #36] ; (2d30 ) - 2d0a: 2003 movs r0, #3 - 2d0c: 4c09 ldr r4, [pc, #36] ; (2d34 ) - 2d0e: 47a0 blx r4 - 2d10: 4632 mov r2, r6 - 2d12: 2300 movs r3, #0 - 2d14: 480d ldr r0, [pc, #52] ; (2d4c ) - 2d16: 490e ldr r1, [pc, #56] ; (2d50 ) - 2d18: 4788 blx r1 - 2d1a: e7fe b.n 2d1a - 2d1c: 4770 bx lr - 2d1e: bf00 nop - 2d20: 00012551 .word 0x00012551 - 2d24: 00012565 .word 0x00012565 - 2d28: 0001b4cc .word 0x0001b4cc - 2d2c: 0001b47c .word 0x0001b47c - 2d30: 0001b490 .word 0x0001b490 - 2d34: 00012805 .word 0x00012805 - 2d38: 00005681 .word 0x00005681 - 2d3c: 00002c49 .word 0x00002c49 - 2d40: 0001b508 .word 0x0001b508 - 2d44: 00012505 .word 0x00012505 - 2d48: 0000298d .word 0x0000298d - 2d4c: 0001b4bc .word 0x0001b4bc - 2d50: 00002995 .word 0x00002995 - -00002d54 : -{ - 2d54: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} + 2626: 4b0a ldr r3, [pc, #40] ; (2650 ) + 2628: 9300 str r3, [sp, #0] + 262a: 2285 movs r2, #133 ; 0x85 + 262c: 4909 ldr r1, [pc, #36] ; (2654 ) + 262e: 2003 movs r0, #3 + 2630: 4c09 ldr r4, [pc, #36] ; (2658 ) + 2632: 47a0 blx r4 + 2634: 4632 mov r2, r6 + 2636: 2300 movs r3, #0 + 2638: 480d ldr r0, [pc, #52] ; (2670 ) + 263a: 490e ldr r1, [pc, #56] ; (2674 ) + 263c: 4788 blx r1 + 263e: e7fe b.n 263e + 2640: 4770 bx lr + 2642: bf00 nop + 2644: 00011fa9 .word 0x00011fa9 + 2648: 00011fbd .word 0x00011fbd + 264c: 00023fe8 .word 0x00023fe8 + 2650: 00023f98 .word 0x00023f98 + 2654: 00023fac .word 0x00023fac + 2658: 0001225d .word 0x0001225d + 265c: 00004ff9 .word 0x00004ff9 + 2660: 0000256d .word 0x0000256d + 2664: 00024024 .word 0x00024024 + 2668: 00011f5d .word 0x00011f5d + 266c: 000022b1 .word 0x000022b1 + 2670: 00023fd8 .word 0x00023fd8 + 2674: 000022b9 .word 0x000022b9 + +00002678 : +{ + 2678: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} lv_group_t * g = obj->group_p; - 2d58: f8d0 8038 ldr.w r8, [r0, #56] ; 0x38 + 267c: f8d0 8038 ldr.w r8, [r0, #56] ; 0x38 if(g == NULL) return; - 2d5c: f1b8 0f00 cmp.w r8, #0 - 2d60: d051 beq.n 2e06 + 2680: f1b8 0f00 cmp.w r8, #0 + 2684: d051 beq.n 272a if(g->obj_focus == NULL) return; /*Just to be sure (Not possible if there is at least one object in the group)*/ - 2d62: f8d8 300c ldr.w r3, [r8, #12] - 2d66: 2b00 cmp r3, #0 - 2d68: d04d beq.n 2e06 - 2d6a: 4605 mov r5, r0 + 2686: f8d8 300c ldr.w r3, [r8, #12] + 268a: 2b00 cmp r3, #0 + 268c: d04d beq.n 272a + 268e: 4605 mov r5, r0 if(*g->obj_focus == obj) { - 2d6c: 681b ldr r3, [r3, #0] - 2d6e: 4298 cmp r0, r3 - 2d70: d01e beq.n 2db0 + 2690: 681b ldr r3, [r3, #0] + 2692: 4298 cmp r0, r3 + 2694: d01e beq.n 26d4 _LV_LL_READ(g->obj_ll, i) { - 2d72: 4646 mov r6, r8 - 2d74: 4640 mov r0, r8 - 2d76: 4b25 ldr r3, [pc, #148] ; (2e0c ) - 2d78: 4798 blx r3 - 2d7a: 4604 mov r4, r0 - 2d7c: 2800 cmp r0, #0 - 2d7e: d042 beq.n 2e06 + 2696: 4646 mov r6, r8 + 2698: 4640 mov r0, r8 + 269a: 4b25 ldr r3, [pc, #148] ; (2730 ) + 269c: 4798 blx r3 + 269e: 4604 mov r4, r0 + 26a0: 2800 cmp r0, #0 + 26a2: d042 beq.n 272a if(*i == obj) { - 2d80: 6803 ldr r3, [r0, #0] - 2d82: 429d cmp r5, r3 - 2d84: d009 beq.n 2d9a + 26a4: 6803 ldr r3, [r0, #0] + 26a6: 429d cmp r5, r3 + 26a8: d009 beq.n 26be _LV_LL_READ(g->obj_ll, i) { - 2d86: 4f22 ldr r7, [pc, #136] ; (2e10 ) - 2d88: 4621 mov r1, r4 - 2d8a: 4630 mov r0, r6 - 2d8c: 47b8 blx r7 - 2d8e: 4604 mov r4, r0 - 2d90: 2800 cmp r0, #0 - 2d92: d038 beq.n 2e06 + 26aa: 4f22 ldr r7, [pc, #136] ; (2734 ) + 26ac: 4621 mov r1, r4 + 26ae: 4630 mov r0, r6 + 26b0: 47b8 blx r7 + 26b2: 4604 mov r4, r0 + 26b4: 2800 cmp r0, #0 + 26b6: d038 beq.n 272a if(*i == obj) { - 2d94: 6823 ldr r3, [r4, #0] - 2d96: 429d cmp r5, r3 - 2d98: d1f6 bne.n 2d88 + 26b8: 6823 ldr r3, [r4, #0] + 26ba: 429d cmp r5, r3 + 26bc: d1f6 bne.n 26ac _lv_ll_remove(&g->obj_ll, i); - 2d9a: 4621 mov r1, r4 - 2d9c: 4640 mov r0, r8 - 2d9e: 4b1d ldr r3, [pc, #116] ; (2e14 ) - 2da0: 4798 blx r3 + 26be: 4621 mov r1, r4 + 26c0: 4640 mov r0, r8 + 26c2: 4b1d ldr r3, [pc, #116] ; (2738 ) + 26c4: 4798 blx r3 lv_mem_free(i); - 2da2: 4620 mov r0, r4 - 2da4: 4b1c ldr r3, [pc, #112] ; (2e18 ) - 2da6: 4798 blx r3 + 26c6: 4620 mov r0, r4 + 26c8: 4b1c ldr r3, [pc, #112] ; (273c ) + 26ca: 4798 blx r3 obj->group_p = NULL; - 2da8: 2300 movs r3, #0 - 2daa: 63ab str r3, [r5, #56] ; 0x38 + 26cc: 2300 movs r3, #0 + 26ce: 63ab str r3, [r5, #56] ; 0x38 break; - 2dac: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + 26d0: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} if(g->frozen) g->frozen = 0; - 2db0: f898 3014 ldrb.w r3, [r8, #20] - 2db4: f013 0f01 tst.w r3, #1 - 2db8: d005 beq.n 2dc6 - 2dba: f898 3014 ldrb.w r3, [r8, #20] - 2dbe: f36f 0300 bfc r3, #0, #1 - 2dc2: f888 3014 strb.w r3, [r8, #20] + 26d4: f898 3014 ldrb.w r3, [r8, #20] + 26d8: f013 0f01 tst.w r3, #1 + 26dc: d005 beq.n 26ea + 26de: f898 3014 ldrb.w r3, [r8, #20] + 26e2: f36f 0300 bfc r3, #0, #1 + 26e6: f888 3014 strb.w r3, [r8, #20] if(_lv_ll_get_head(&g->obj_ll) == g->obj_focus && _lv_ll_get_tail(&g->obj_ll) == g->obj_focus) { - 2dc6: 4640 mov r0, r8 - 2dc8: 4b10 ldr r3, [pc, #64] ; (2e0c ) - 2dca: 4798 blx r3 - 2dcc: f8d8 300c ldr.w r3, [r8, #12] - 2dd0: 4283 cmp r3, r0 - 2dd2: d00b beq.n 2dec + 26ea: 4640 mov r0, r8 + 26ec: 4b10 ldr r3, [pc, #64] ; (2730 ) + 26ee: 4798 blx r3 + 26f0: f8d8 300c ldr.w r3, [r8, #12] + 26f4: 4283 cmp r3, r0 + 26f6: d00b beq.n 2710 lv_group_refocus(g); - 2dd4: 4640 mov r0, r8 - 2dd6: 4b11 ldr r3, [pc, #68] ; (2e1c ) - 2dd8: 4798 blx r3 + 26f8: 4640 mov r0, r8 + 26fa: 4b11 ldr r3, [pc, #68] ; (2740 ) + 26fc: 4798 blx r3 if(*g->obj_focus == obj) { - 2dda: f8d8 300c ldr.w r3, [r8, #12] - 2dde: 681b ldr r3, [r3, #0] - 2de0: 429d cmp r5, r3 + 26fe: f8d8 300c ldr.w r3, [r8, #12] + 2702: 681b ldr r3, [r3, #0] + 2704: 429d cmp r5, r3 g->obj_focus = NULL; - 2de2: bf04 itt eq - 2de4: 2300 moveq r3, #0 - 2de6: f8c8 300c streq.w r3, [r8, #12] - 2dea: e7c2 b.n 2d72 + 2706: bf04 itt eq + 2708: 2300 moveq r3, #0 + 270a: f8c8 300c streq.w r3, [r8, #12] + 270e: e7c2 b.n 2696 if(_lv_ll_get_head(&g->obj_ll) == g->obj_focus && _lv_ll_get_tail(&g->obj_ll) == g->obj_focus) { - 2dec: 4640 mov r0, r8 - 2dee: 4b0c ldr r3, [pc, #48] ; (2e20 ) - 2df0: 4798 blx r3 - 2df2: f8d8 300c ldr.w r3, [r8, #12] - 2df6: 4298 cmp r0, r3 - 2df8: d1ec bne.n 2dd4 + 2710: 4640 mov r0, r8 + 2712: 4b0c ldr r3, [pc, #48] ; (2744 ) + 2714: 4798 blx r3 + 2716: f8d8 300c ldr.w r3, [r8, #12] + 271a: 4298 cmp r0, r3 + 271c: d1ec bne.n 26f8 (*g->obj_focus)->signal_cb(*g->obj_focus, LV_SIGNAL_DEFOCUS, NULL); - 2dfa: 6800 ldr r0, [r0, #0] - 2dfc: 69c3 ldr r3, [r0, #28] - 2dfe: 2200 movs r2, #0 - 2e00: 2117 movs r1, #23 - 2e02: 4798 blx r3 - 2e04: e7e9 b.n 2dda - 2e06: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} - 2e0a: bf00 nop - 2e0c: 00012551 .word 0x00012551 - 2e10: 00012565 .word 0x00012565 - 2e14: 0001263d .word 0x0001263d - 2e18: 00012a6d .word 0x00012a6d - 2e1c: 00002c49 .word 0x00002c49 - 2e20: 0001255b .word 0x0001255b - -00002e24 : + 271e: 6800 ldr r0, [r0, #0] + 2720: 69c3 ldr r3, [r0, #28] + 2722: 2200 movs r2, #0 + 2724: 2117 movs r1, #23 + 2726: 4798 blx r3 + 2728: e7e9 b.n 26fe + 272a: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + 272e: bf00 nop + 2730: 00011fa9 .word 0x00011fa9 + 2734: 00011fbd .word 0x00011fbd + 2738: 00012095 .word 0x00012095 + 273c: 000124c5 .word 0x000124c5 + 2740: 0000256d .word 0x0000256d + 2744: 00011fb3 .word 0x00011fb3 + +00002748 : if(!group) return NULL; - 2e24: b118 cbz r0, 2e2e + 2748: b118 cbz r0, 2752 if(group->obj_focus == NULL) return NULL; - 2e26: 68c3 ldr r3, [r0, #12] - 2e28: b11b cbz r3, 2e32 + 274a: 68c3 ldr r3, [r0, #12] + 274c: b11b cbz r3, 2756 return *group->obj_focus; - 2e2a: 6818 ldr r0, [r3, #0] - 2e2c: 4770 bx lr + 274e: 6818 ldr r0, [r3, #0] + 2750: 4770 bx lr if(!group) return NULL; - 2e2e: 2000 movs r0, #0 - 2e30: 4770 bx lr + 2752: 2000 movs r0, #0 + 2754: 4770 bx lr if(group->obj_focus == NULL) return NULL; - 2e32: 2000 movs r0, #0 + 2756: 2000 movs r0, #0 } - 2e34: 4770 bx lr + 2758: 4770 bx lr -00002e36 : +0000275a : if(!group) return false; - 2e36: b118 cbz r0, 2e40 + 275a: b118 cbz r0, 2764 return group->editing ? true : false; - 2e38: 7d00 ldrb r0, [r0, #20] - 2e3a: f3c0 0040 ubfx r0, r0, #1, #1 - 2e3e: 4770 bx lr + 275c: 7d00 ldrb r0, [r0, #20] + 275e: f3c0 0040 ubfx r0, r0, #1, #1 + 2762: 4770 bx lr if(!group) return false; - 2e40: 2000 movs r0, #0 + 2764: 2000 movs r0, #0 } - 2e42: 4770 bx lr + 2766: 4770 bx lr -00002e44 : +00002768 : * right now */ lv_indev_t * lv_indev_get_act(void) { return indev_act; } - 2e44: 4b01 ldr r3, [pc, #4] ; (2e4c ) - 2e46: 6858 ldr r0, [r3, #4] - 2e48: 4770 bx lr - 2e4a: bf00 nop - 2e4c: 20002674 .word 0x20002674 + 2768: 4b01 ldr r3, [pc, #4] ; (2770 ) + 276a: 6858 ldr r0, [r3, #4] + 276c: 4770 bx lr + 276e: bf00 nop + 2770: 20002674 .word 0x20002674 -00002e50 : +00002774 : * Reset one or all input devices * @param indev pointer to an input device to reset or NULL to reset all of them * @param obj pointer to an object which triggers the reset. */ void lv_indev_reset(lv_indev_t * indev, lv_obj_t * obj) { - 2e50: b5f8 push {r3, r4, r5, r6, r7, lr} + 2774: b5f8 push {r3, r4, r5, r6, r7, lr} if(indev) { - 2e52: b1b0 cbz r0, 2e82 - 2e54: 4603 mov r3, r0 + 2776: b1b0 cbz r0, 27a6 + 2778: 4603 mov r3, r0 indev->proc.reset_query = 1; - 2e56: f890 2050 ldrb.w r2, [r0, #80] ; 0x50 - 2e5a: f042 0202 orr.w r2, r2, #2 - 2e5e: f880 2050 strb.w r2, [r0, #80] ; 0x50 + 277a: f890 2050 ldrb.w r2, [r0, #80] ; 0x50 + 277e: f042 0202 orr.w r2, r2, #2 + 2782: f880 2050 strb.w r2, [r0, #80] ; 0x50 if(indev_act == indev) indev_obj_act = NULL; - 2e62: 4a18 ldr r2, [pc, #96] ; (2ec4 ) - 2e64: 6852 ldr r2, [r2, #4] - 2e66: 4290 cmp r0, r2 - 2e68: d004 beq.n 2e74 + 2786: 4a18 ldr r2, [pc, #96] ; (27e8 ) + 2788: 6852 ldr r2, [r2, #4] + 278a: 4290 cmp r0, r2 + 278c: d004 beq.n 2798 if(obj == NULL || indev->proc.types.pointer.last_pressed == obj) { - 2e6a: b139 cbz r1, 2e7c - 2e6c: 6bda ldr r2, [r3, #60] ; 0x3c - 2e6e: 4291 cmp r1, r2 - 2e70: d004 beq.n 2e7c - 2e72: bdf8 pop {r3, r4, r5, r6, r7, pc} + 278e: b139 cbz r1, 27a0 + 2790: 6bda ldr r2, [r3, #60] ; 0x3c + 2792: 4291 cmp r1, r2 + 2794: d004 beq.n 27a0 + 2796: bdf8 pop {r3, r4, r5, r6, r7, pc} if(indev_act == indev) indev_obj_act = NULL; - 2e74: 2000 movs r0, #0 - 2e76: 4a13 ldr r2, [pc, #76] ; (2ec4 ) - 2e78: 6010 str r0, [r2, #0] - 2e7a: e7f6 b.n 2e6a + 2798: 2000 movs r0, #0 + 279a: 4a13 ldr r2, [pc, #76] ; (27e8 ) + 279c: 6010 str r0, [r2, #0] + 279e: e7f6 b.n 278e indev->proc.types.pointer.last_pressed = NULL; - 2e7c: 2200 movs r2, #0 - 2e7e: 63da str r2, [r3, #60] ; 0x3c - 2e80: bdf8 pop {r3, r4, r5, r6, r7, pc} - 2e82: 460c mov r4, r1 + 27a0: 2200 movs r2, #0 + 27a2: 63da str r2, [r3, #60] ; 0x3c + 27a4: bdf8 pop {r3, r4, r5, r6, r7, pc} + 27a6: 460c mov r4, r1 } } else { lv_indev_t * i = lv_indev_get_next(NULL); - 2e84: 2000 movs r0, #0 - 2e86: 4b10 ldr r3, [pc, #64] ; (2ec8 ) - 2e88: 4798 blx r3 + 27a8: 2000 movs r0, #0 + 27aa: 4b10 ldr r3, [pc, #64] ; (27ec ) + 27ac: 4798 blx r3 while(i) { - 2e8a: 4603 mov r3, r0 - 2e8c: 2800 cmp r0, #0 - 2e8e: d0f0 beq.n 2e72 + 27ae: 4603 mov r3, r0 + 27b0: 2800 cmp r0, #0 + 27b2: d0f0 beq.n 2796 i->proc.reset_query = 1; if(indev_act == i) indev_obj_act = NULL; - 2e90: 4d0c ldr r5, [pc, #48] ; (2ec4 ) - 2e92: 2700 movs r7, #0 + 27b4: 4d0c ldr r5, [pc, #48] ; (27e8 ) + 27b6: 2700 movs r7, #0 if(obj == NULL || i->proc.types.pointer.last_pressed == obj) { i->proc.types.pointer.last_pressed = NULL; } i = lv_indev_get_next(i); - 2e94: 4e0c ldr r6, [pc, #48] ; (2ec8 ) - 2e96: e005 b.n 2ea4 + 27b8: 4e0c ldr r6, [pc, #48] ; (27ec ) + 27ba: e005 b.n 27c8 i->proc.types.pointer.last_pressed = NULL; - 2e98: 63df str r7, [r3, #60] ; 0x3c + 27bc: 63df str r7, [r3, #60] ; 0x3c i = lv_indev_get_next(i); - 2e9a: 4618 mov r0, r3 - 2e9c: 47b0 blx r6 + 27be: 4618 mov r0, r3 + 27c0: 47b0 blx r6 while(i) { - 2e9e: 4603 mov r3, r0 - 2ea0: 2800 cmp r0, #0 - 2ea2: d0e6 beq.n 2e72 + 27c2: 4603 mov r3, r0 + 27c4: 2800 cmp r0, #0 + 27c6: d0e6 beq.n 2796 i->proc.reset_query = 1; - 2ea4: f893 2050 ldrb.w r2, [r3, #80] ; 0x50 - 2ea8: f042 0202 orr.w r2, r2, #2 - 2eac: f883 2050 strb.w r2, [r3, #80] ; 0x50 + 27c8: f893 2050 ldrb.w r2, [r3, #80] ; 0x50 + 27cc: f042 0202 orr.w r2, r2, #2 + 27d0: f883 2050 strb.w r2, [r3, #80] ; 0x50 if(indev_act == i) indev_obj_act = NULL; - 2eb0: 686a ldr r2, [r5, #4] - 2eb2: 429a cmp r2, r3 - 2eb4: bf08 it eq - 2eb6: 602f streq r7, [r5, #0] + 27d4: 686a ldr r2, [r5, #4] + 27d6: 429a cmp r2, r3 + 27d8: bf08 it eq + 27da: 602f streq r7, [r5, #0] if(obj == NULL || i->proc.types.pointer.last_pressed == obj) { - 2eb8: 2c00 cmp r4, #0 - 2eba: d0ed beq.n 2e98 - 2ebc: 6bda ldr r2, [r3, #60] ; 0x3c - 2ebe: 4294 cmp r4, r2 - 2ec0: d1eb bne.n 2e9a - 2ec2: e7e9 b.n 2e98 - 2ec4: 20002674 .word 0x20002674 - 2ec8: 000115c9 .word 0x000115c9 - -00002ecc <_lv_indev_init>: -{ - 2ecc: b508 push {r3, lr} + 27dc: 2c00 cmp r4, #0 + 27de: d0ed beq.n 27bc + 27e0: 6bda ldr r2, [r3, #60] ; 0x3c + 27e2: 4294 cmp r4, r2 + 27e4: d1eb bne.n 27be + 27e6: e7e9 b.n 27bc + 27e8: 20002674 .word 0x20002674 + 27ec: 00011021 .word 0x00011021 + +000027f0 <_lv_indev_init>: +{ + 27f0: b508 push {r3, lr} lv_indev_reset(NULL, NULL); /*Reset all input devices*/ - 2ece: 2100 movs r1, #0 - 2ed0: 4608 mov r0, r1 - 2ed2: 4b01 ldr r3, [pc, #4] ; (2ed8 <_lv_indev_init+0xc>) - 2ed4: 4798 blx r3 - 2ed6: bd08 pop {r3, pc} - 2ed8: 00002e51 .word 0x00002e51 - -00002edc : + 27f2: 2100 movs r1, #0 + 27f4: 4608 mov r0, r1 + 27f6: 4b01 ldr r3, [pc, #4] ; (27fc <_lv_indev_init+0xc>) + 27f8: 4798 blx r3 + 27fa: bd08 pop {r3, pc} + 27fc: 00002775 .word 0x00002775 + +00002800 : * @return pointer to currently active object or NULL if no active object */ lv_obj_t * lv_indev_get_obj_act(void) { return indev_obj_act; } - 2edc: 4b01 ldr r3, [pc, #4] ; (2ee4 ) - 2ede: 6818 ldr r0, [r3, #0] - 2ee0: 4770 bx lr - 2ee2: bf00 nop - 2ee4: 20002674 .word 0x20002674 + 2800: 4b01 ldr r3, [pc, #4] ; (2808 ) + 2802: 6818 ldr r0, [r3, #0] + 2804: 4770 bx lr + 2806: bf00 nop + 2808: 20002674 .word 0x20002674 -00002ee8 : +0000280c : * @param obj pointer to an object which children will be repositioned * @param x_diff x coordinate shift * @param y_diff y coordinate shift */ static void refresh_children_position(lv_obj_t * obj, lv_coord_t x_diff, lv_coord_t y_diff) { - 2ee8: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} - 2eec: 4689 mov r9, r1 - 2eee: 4690 mov r8, r2 + 280c: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} + 2810: 4689 mov r9, r1 + 2812: 4690 mov r8, r2 lv_obj_t * i; _LV_LL_READ(obj->child_ll, i) { - 2ef0: f100 0a04 add.w sl, r0, #4 - 2ef4: 4650 mov r0, sl - 2ef6: 4b11 ldr r3, [pc, #68] ; (2f3c ) - 2ef8: 4798 blx r3 - 2efa: b1e0 cbz r0, 2f36 - 2efc: 4604 mov r4, r0 + 2814: f100 0a04 add.w sl, r0, #4 + 2818: 4650 mov r0, sl + 281a: 4b11 ldr r3, [pc, #68] ; (2860 ) + 281c: 4798 blx r3 + 281e: b1e0 cbz r0, 285a + 2820: 4604 mov r4, r0 i->coords.x1 += x_diff; - 2efe: fa1f f689 uxth.w r6, r9 + 2822: fa1f f689 uxth.w r6, r9 i->coords.y1 += y_diff; - 2f02: fa1f f588 uxth.w r5, r8 + 2826: fa1f f588 uxth.w r5, r8 _LV_LL_READ(obj->child_ll, i) { - 2f06: 4f0e ldr r7, [pc, #56] ; (2f40 ) + 282a: 4f0e ldr r7, [pc, #56] ; (2864 ) i->coords.x1 += x_diff; - 2f08: 8a23 ldrh r3, [r4, #16] - 2f0a: 4433 add r3, r6 - 2f0c: 8223 strh r3, [r4, #16] + 282c: 8a23 ldrh r3, [r4, #16] + 282e: 4433 add r3, r6 + 2830: 8223 strh r3, [r4, #16] i->coords.y1 += y_diff; - 2f0e: 8a63 ldrh r3, [r4, #18] - 2f10: 442b add r3, r5 - 2f12: 8263 strh r3, [r4, #18] + 2832: 8a63 ldrh r3, [r4, #18] + 2834: 442b add r3, r5 + 2836: 8263 strh r3, [r4, #18] i->coords.x2 += x_diff; - 2f14: 8aa3 ldrh r3, [r4, #20] - 2f16: 4433 add r3, r6 - 2f18: 82a3 strh r3, [r4, #20] + 2838: 8aa3 ldrh r3, [r4, #20] + 283a: 4433 add r3, r6 + 283c: 82a3 strh r3, [r4, #20] i->coords.y2 += y_diff; - 2f1a: 8ae3 ldrh r3, [r4, #22] - 2f1c: 442b add r3, r5 - 2f1e: 82e3 strh r3, [r4, #22] + 283e: 8ae3 ldrh r3, [r4, #22] + 2840: 442b add r3, r5 + 2842: 82e3 strh r3, [r4, #22] refresh_children_position(i, x_diff, y_diff); - 2f20: 4642 mov r2, r8 - 2f22: 4649 mov r1, r9 - 2f24: 4620 mov r0, r4 - 2f26: f7ff ffdf bl 2ee8 + 2844: 4642 mov r2, r8 + 2846: 4649 mov r1, r9 + 2848: 4620 mov r0, r4 + 284a: f7ff ffdf bl 280c _LV_LL_READ(obj->child_ll, i) { - 2f2a: 4621 mov r1, r4 - 2f2c: 4650 mov r0, sl - 2f2e: 47b8 blx r7 - 2f30: 4604 mov r4, r0 - 2f32: 2800 cmp r0, #0 - 2f34: d1e8 bne.n 2f08 - 2f36: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} - 2f3a: bf00 nop - 2f3c: 00012551 .word 0x00012551 - 2f40: 00012565 .word 0x00012565 - -00002f44 : -{ - 2f44: b530 push {r4, r5, lr} - 2f46: b085 sub sp, #20 + 284e: 4621 mov r1, r4 + 2850: 4650 mov r0, sl + 2852: 47b8 blx r7 + 2854: 4604 mov r4, r0 + 2856: 2800 cmp r0, #0 + 2858: d1e8 bne.n 282c + 285a: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + 285e: bf00 nop + 2860: 00011fa9 .word 0x00011fa9 + 2864: 00011fbd .word 0x00011fbd + +00002868 : +{ + 2868: b530 push {r4, r5, lr} + 286a: b085 sub sp, #20 if(lv_initialized) { - 2f48: 4b21 ldr r3, [pc, #132] ; (2fd0 ) - 2f4a: 781b ldrb r3, [r3, #0] - 2f4c: 2b00 cmp r3, #0 - 2f4e: d136 bne.n 2fbe + 286c: 4b21 ldr r3, [pc, #132] ; (28f4 ) + 286e: 781b ldrb r3, [r3, #0] + 2870: 2b00 cmp r3, #0 + 2872: d136 bne.n 28e2 _lv_mem_init(); - 2f50: 4b20 ldr r3, [pc, #128] ; (2fd4 ) - 2f52: 4798 blx r3 + 2874: 4b20 ldr r3, [pc, #128] ; (28f8 ) + 2876: 4798 blx r3 _lv_task_core_init(); - 2f54: 4b20 ldr r3, [pc, #128] ; (2fd8 ) - 2f56: 4798 blx r3 + 2878: 4b20 ldr r3, [pc, #128] ; (28fc ) + 287a: 4798 blx r3 _lv_fs_init(); - 2f58: 4b20 ldr r3, [pc, #128] ; (2fdc ) - 2f5a: 4798 blx r3 + 287c: 4b20 ldr r3, [pc, #128] ; (2900 ) + 287e: 4798 blx r3 _lv_anim_core_init(); - 2f5c: 4b20 ldr r3, [pc, #128] ; (2fe0 ) - 2f5e: 4798 blx r3 + 2880: 4b20 ldr r3, [pc, #128] ; (2904 ) + 2882: 4798 blx r3 _lv_group_init(); - 2f60: 4b20 ldr r3, [pc, #128] ; (2fe4 ) - 2f62: 4798 blx r3 + 2884: 4b20 ldr r3, [pc, #128] ; (2908 ) + 2886: 4798 blx r3 _lv_ll_init(&LV_GC_ROOT(_lv_obj_style_trans_ll), sizeof(lv_style_trans_t)); - 2f64: 2110 movs r1, #16 - 2f66: 4820 ldr r0, [pc, #128] ; (2fe8 ) - 2f68: 4c20 ldr r4, [pc, #128] ; (2fec ) - 2f6a: 47a0 blx r4 + 2888: 2110 movs r1, #16 + 288a: 4820 ldr r0, [pc, #128] ; (290c ) + 288c: 4c20 ldr r4, [pc, #128] ; (2910 ) + 288e: 47a0 blx r4 lv_theme_t * th = LV_THEME_DEFAULT_INIT(LV_THEME_DEFAULT_COLOR_PRIMARY, LV_THEME_DEFAULT_COLOR_SECONDARY, - 2f6c: 4b20 ldr r3, [pc, #128] ; (2ff0 ) - 2f6e: 9302 str r3, [sp, #8] - 2f70: 9301 str r3, [sp, #4] - 2f72: 9300 str r3, [sp, #0] - 2f74: 2202 movs r2, #2 - 2f76: f04f 011f mov.w r1, #31 - 2f7a: f64f 0000 movw r0, #63488 ; 0xf800 - 2f7e: 4d1d ldr r5, [pc, #116] ; (2ff4 ) - 2f80: 47a8 blx r5 + 2890: 4b20 ldr r3, [pc, #128] ; (2914 ) + 2892: 9302 str r3, [sp, #8] + 2894: 9301 str r3, [sp, #4] + 2896: 9300 str r3, [sp, #0] + 2898: 2202 movs r2, #2 + 289a: f04f 011f mov.w r1, #31 + 289e: f64f 0000 movw r0, #63488 ; 0xf800 + 28a2: 4d1d ldr r5, [pc, #116] ; (2918 ) + 28a4: 47a8 blx r5 lv_theme_set_act(th); - 2f82: 4b1d ldr r3, [pc, #116] ; (2ff8 ) - 2f84: 4798 blx r3 + 28a6: 4b1d ldr r3, [pc, #116] ; (291c ) + 28a8: 4798 blx r3 _lv_refr_init(); - 2f86: 4b1d ldr r3, [pc, #116] ; (2ffc ) - 2f88: 4798 blx r3 + 28aa: 4b1d ldr r3, [pc, #116] ; (2920 ) + 28ac: 4798 blx r3 _lv_ll_init(&LV_GC_ROOT(_lv_disp_ll), sizeof(lv_disp_t)); - 2f8a: f44f 71b8 mov.w r1, #368 ; 0x170 - 2f8e: 481c ldr r0, [pc, #112] ; (3000 ) - 2f90: 47a0 blx r4 + 28ae: f44f 71b8 mov.w r1, #368 ; 0x170 + 28b2: 481c ldr r0, [pc, #112] ; (2924 ) + 28b4: 47a0 blx r4 _lv_ll_init(&LV_GC_ROOT(_lv_indev_ll), sizeof(lv_indev_t)); - 2f92: 2160 movs r1, #96 ; 0x60 - 2f94: 481b ldr r0, [pc, #108] ; (3004 ) - 2f96: 47a0 blx r4 + 28b6: 2160 movs r1, #96 ; 0x60 + 28b8: 481b ldr r0, [pc, #108] ; (2928 ) + 28ba: 47a0 blx r4 _lv_indev_init(); - 2f98: 4b1b ldr r3, [pc, #108] ; (3008 ) - 2f9a: 4798 blx r3 + 28bc: 4b1b ldr r3, [pc, #108] ; (292c ) + 28be: 4798 blx r3 _lv_img_decoder_init(); - 2f9c: 4b1b ldr r3, [pc, #108] ; (300c ) - 2f9e: 4798 blx r3 + 28c0: 4b1b ldr r3, [pc, #108] ; (2930 ) + 28c2: 4798 blx r3 lv_img_cache_set_size(LV_IMG_CACHE_DEF_SIZE); - 2fa0: 2001 movs r0, #1 - 2fa2: 4b1b ldr r3, [pc, #108] ; (3010 ) - 2fa4: 4798 blx r3 + 28c4: 2001 movs r0, #1 + 28c6: 4b1b ldr r3, [pc, #108] ; (2934 ) + 28c8: 4798 blx r3 lv_initialized = true; - 2fa6: 2001 movs r0, #1 - 2fa8: 4b09 ldr r3, [pc, #36] ; (2fd0 ) - 2faa: 7018 strb r0, [r3, #0] + 28ca: 2001 movs r0, #1 + 28cc: 4b09 ldr r3, [pc, #36] ; (28f4 ) + 28ce: 7018 strb r0, [r3, #0] LV_LOG_INFO("lv_init ready"); - 2fac: 4b19 ldr r3, [pc, #100] ; (3014 ) - 2fae: 9300 str r3, [sp, #0] - 2fb0: 4b19 ldr r3, [pc, #100] ; (3018 ) - 2fb2: 22a2 movs r2, #162 ; 0xa2 - 2fb4: 4919 ldr r1, [pc, #100] ; (301c ) - 2fb6: 4c1a ldr r4, [pc, #104] ; (3020 ) - 2fb8: 47a0 blx r4 -} - 2fba: b005 add sp, #20 - 2fbc: bd30 pop {r4, r5, pc} + 28d0: 4b19 ldr r3, [pc, #100] ; (2938 ) + 28d2: 9300 str r3, [sp, #0] + 28d4: 4b19 ldr r3, [pc, #100] ; (293c ) + 28d6: 22a2 movs r2, #162 ; 0xa2 + 28d8: 4919 ldr r1, [pc, #100] ; (2940 ) + 28da: 4c1a ldr r4, [pc, #104] ; (2944 ) + 28dc: 47a0 blx r4 +} + 28de: b005 add sp, #20 + 28e0: bd30 pop {r4, r5, pc} LV_LOG_WARN("lv_init: already inited"); - 2fbe: 4b19 ldr r3, [pc, #100] ; (3024 ) - 2fc0: 9300 str r3, [sp, #0] - 2fc2: 4b15 ldr r3, [pc, #84] ; (3018 ) - 2fc4: 2278 movs r2, #120 ; 0x78 - 2fc6: 4915 ldr r1, [pc, #84] ; (301c ) - 2fc8: 2002 movs r0, #2 - 2fca: 4c15 ldr r4, [pc, #84] ; (3020 ) - 2fcc: 47a0 blx r4 + 28e2: 4b19 ldr r3, [pc, #100] ; (2948 ) + 28e4: 9300 str r3, [sp, #0] + 28e6: 4b15 ldr r3, [pc, #84] ; (293c ) + 28e8: 2278 movs r2, #120 ; 0x78 + 28ea: 4915 ldr r1, [pc, #84] ; (2940 ) + 28ec: 2002 movs r0, #2 + 28ee: 4c15 ldr r4, [pc, #84] ; (2944 ) + 28f0: 47a0 blx r4 return; - 2fce: e7f4 b.n 2fba - 2fd0: 2000267c .word 0x2000267c - 2fd4: 00012965 .word 0x00012965 - 2fd8: 00013b95 .word 0x00013b95 - 2fdc: 00012221 .word 0x00012221 - 2fe0: 00011845 .word 0x00011845 - 2fe4: 00002c05 .word 0x00002c05 - 2fe8: 20006d58 .word 0x20006d58 - 2fec: 000124a1 .word 0x000124a1 - 2ff0: 20000010 .word 0x20000010 - 2ff4: 000170f1 .word 0x000170f1 - 2ff8: 00014779 .word 0x00014779 - 2ffc: 000063fd .word 0x000063fd - 3000: 20006cb4 .word 0x20006cb4 - 3004: 20006ca8 .word 0x20006ca8 - 3008: 00002ecd .word 0x00002ecd - 300c: 00010569 .word 0x00010569 - 3010: 0000f9d5 .word 0x0000f9d5 - 3014: 0001bd00 .word 0x0001bd00 - 3018: 0001b53c .word 0x0001b53c - 301c: 0001bcc0 .word 0x0001bcc0 - 3020: 00012805 .word 0x00012805 - 3024: 0001bce8 .word 0x0001bce8 - -00003028 : -{ - 3028: b530 push {r4, r5, lr} - 302a: b083 sub sp, #12 - 302c: 4604 mov r4, r0 - 302e: 460d mov r5, r1 + 28f2: e7f4 b.n 28de + 28f4: 2000267c .word 0x2000267c + 28f8: 000123bd .word 0x000123bd + 28fc: 000135ed .word 0x000135ed + 2900: 00011c79 .word 0x00011c79 + 2904: 0001129d .word 0x0001129d + 2908: 00002529 .word 0x00002529 + 290c: 20006d3c .word 0x20006d3c + 2910: 00011ef9 .word 0x00011ef9 + 2914: 20000010 .word 0x20000010 + 2918: 00016b49 .word 0x00016b49 + 291c: 000141d1 .word 0x000141d1 + 2920: 00005e55 .word 0x00005e55 + 2924: 20006c98 .word 0x20006c98 + 2928: 20006c8c .word 0x20006c8c + 292c: 000027f1 .word 0x000027f1 + 2930: 0000ffc1 .word 0x0000ffc1 + 2934: 0000f42d .word 0x0000f42d + 2938: 0002481c .word 0x0002481c + 293c: 00024058 .word 0x00024058 + 2940: 000247dc .word 0x000247dc + 2944: 0001225d .word 0x0001225d + 2948: 00024804 .word 0x00024804 + +0000294c : +{ + 294c: b530 push {r4, r5, lr} + 294e: b083 sub sp, #12 + 2950: 4604 mov r4, r0 + 2952: 460d mov r5, r1 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 3030: 4b0c ldr r3, [pc, #48] ; (3064 ) - 3032: 4798 blx r3 - 3034: b138 cbz r0, 3046 + 2954: 4b0c ldr r3, [pc, #48] ; (2988 ) + 2956: 4798 blx r3 + 2958: b138 cbz r0, 296a + obj->adv_hittest = en == false ? 0 : 1; + 295a: f894 3034 ldrb.w r3, [r4, #52] ; 0x34 + 295e: f365 13c7 bfi r3, r5, #7, #1 + 2962: f884 3034 strb.w r3, [r4, #52] ; 0x34 +} + 2966: b003 add sp, #12 + 2968: bd30 pop {r4, r5, pc} + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + 296a: 4b08 ldr r3, [pc, #32] ; (298c ) + 296c: 9300 str r3, [sp, #0] + 296e: f240 5294 movw r2, #1428 ; 0x594 + 2972: 4907 ldr r1, [pc, #28] ; (2990 ) + 2974: 2003 movs r0, #3 + 2976: 4d07 ldr r5, [pc, #28] ; (2994 ) + 2978: 47a8 blx r5 + 297a: 4622 mov r2, r4 + 297c: 2300 movs r3, #0 + 297e: 4806 ldr r0, [pc, #24] ; (2998 ) + 2980: 4906 ldr r1, [pc, #24] ; (299c ) + 2982: 4788 blx r1 + 2984: e7fe b.n 2984 + 2986: bf00 nop + 2988: 000022b1 .word 0x000022b1 + 298c: 000240b4 .word 0x000240b4 + 2990: 000247dc .word 0x000247dc + 2994: 0001225d .word 0x0001225d + 2998: 0002483c .word 0x0002483c + 299c: 000022b9 .word 0x000022b9 + +000029a0 : +{ + 29a0: b530 push {r4, r5, lr} + 29a2: b083 sub sp, #12 + 29a4: 4604 mov r4, r0 + 29a6: 460d mov r5, r1 + LV_ASSERT_OBJ(obj, LV_OBJX_NAME); + 29a8: 4b0c ldr r3, [pc, #48] ; (29dc ) + 29aa: 4798 blx r3 + 29ac: b138 cbz r0, 29be obj->click = (en == true ? 1 : 0); - 3036: f894 3034 ldrb.w r3, [r4, #52] ; 0x34 - 303a: f365 0300 bfi r3, r5, #0, #1 - 303e: f884 3034 strb.w r3, [r4, #52] ; 0x34 + 29ae: f894 3034 ldrb.w r3, [r4, #52] ; 0x34 + 29b2: f365 0300 bfi r3, r5, #0, #1 + 29b6: f884 3034 strb.w r3, [r4, #52] ; 0x34 } - 3042: b003 add sp, #12 - 3044: bd30 pop {r4, r5, pc} + 29ba: b003 add sp, #12 + 29bc: bd30 pop {r4, r5, pc} LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 3046: 4b08 ldr r3, [pc, #32] ; (3068 ) - 3048: 9300 str r3, [sp, #0] - 304a: f44f 62b4 mov.w r2, #1440 ; 0x5a0 - 304e: 4907 ldr r1, [pc, #28] ; (306c ) - 3050: 2003 movs r0, #3 - 3052: 4d07 ldr r5, [pc, #28] ; (3070 ) - 3054: 47a8 blx r5 - 3056: 4622 mov r2, r4 - 3058: 2300 movs r3, #0 - 305a: 4806 ldr r0, [pc, #24] ; (3074 ) - 305c: 4906 ldr r1, [pc, #24] ; (3078 ) - 305e: 4788 blx r1 - 3060: e7fe b.n 3060 - 3062: bf00 nop - 3064: 0000298d .word 0x0000298d - 3068: 0001b5b0 .word 0x0001b5b0 - 306c: 0001bcc0 .word 0x0001bcc0 - 3070: 00012805 .word 0x00012805 - 3074: 0001bd20 .word 0x0001bd20 - 3078: 00002995 .word 0x00002995 - -0000307c : -{ - 307c: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - 3080: b086 sub sp, #24 - 3082: 4607 mov r7, r0 - 3084: 4615 mov r5, r2 - 3086: 461e mov r6, r3 + 29be: 4b08 ldr r3, [pc, #32] ; (29e0 ) + 29c0: 9300 str r3, [sp, #0] + 29c2: f44f 62b4 mov.w r2, #1440 ; 0x5a0 + 29c6: 4907 ldr r1, [pc, #28] ; (29e4 ) + 29c8: 2003 movs r0, #3 + 29ca: 4d07 ldr r5, [pc, #28] ; (29e8 ) + 29cc: 47a8 blx r5 + 29ce: 4622 mov r2, r4 + 29d0: 2300 movs r3, #0 + 29d2: 4806 ldr r0, [pc, #24] ; (29ec ) + 29d4: 4906 ldr r1, [pc, #24] ; (29f0 ) + 29d6: 4788 blx r1 + 29d8: e7fe b.n 29d8 + 29da: bf00 nop + 29dc: 000022b1 .word 0x000022b1 + 29e0: 000240cc .word 0x000240cc + 29e4: 000247dc .word 0x000247dc + 29e8: 0001225d .word 0x0001225d + 29ec: 0002483c .word 0x0002483c + 29f0: 000022b9 .word 0x000022b9 + +000029f4 : +{ + 29f4: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} + 29f8: b086 sub sp, #24 + 29fa: 4607 mov r7, r0 + 29fc: 4615 mov r5, r2 + 29fe: 461e mov r6, r3 if(obj != NULL) { - 3088: 460c mov r4, r1 - 308a: b121 cbz r1, 3096 + 2a00: 460c mov r4, r1 + 2a02: b121 cbz r1, 2a0e LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 308c: 4608 mov r0, r1 - 308e: 4b28 ldr r3, [pc, #160] ; (3130 ) - 3090: 4798 blx r3 - 3092: 2800 cmp r0, #0 - 3094: d033 beq.n 30fe + 2a04: 4608 mov r0, r1 + 2a06: 4b28 ldr r3, [pc, #160] ; (2aa8 ) + 2a08: 4798 blx r3 + 2a0a: 2800 cmp r0, #0 + 2a0c: d033 beq.n 2a76 event_temp_data.obj = obj; - 3096: 9403 str r4, [sp, #12] + 2a0e: 9403 str r4, [sp, #12] event_temp_data.deleted = false; - 3098: 2300 movs r3, #0 - 309a: f88d 3010 strb.w r3, [sp, #16] + 2a10: 2300 movs r3, #0 + 2a12: f88d 3010 strb.w r3, [sp, #16] event_temp_data.prev = NULL; - 309e: 9305 str r3, [sp, #20] + 2a16: 9305 str r3, [sp, #20] if(event_temp_data_head) { - 30a0: 4b24 ldr r3, [pc, #144] ; (3134 ) - 30a2: 685b ldr r3, [r3, #4] - 30a4: b103 cbz r3, 30a8 + 2a18: 4b24 ldr r3, [pc, #144] ; (2aac ) + 2a1a: 685b ldr r3, [r3, #4] + 2a1c: b103 cbz r3, 2a20 event_temp_data.prev = event_temp_data_head; - 30a6: 9305 str r3, [sp, #20] + 2a1e: 9305 str r3, [sp, #20] event_temp_data_head = &event_temp_data; - 30a8: 4b22 ldr r3, [pc, #136] ; (3134 ) - 30aa: aa03 add r2, sp, #12 - 30ac: 605a str r2, [r3, #4] + 2a20: 4b22 ldr r3, [pc, #136] ; (2aac ) + 2a22: aa03 add r2, sp, #12 + 2a24: 605a str r2, [r3, #4] const void * event_act_data_save = event_act_data; - 30ae: f8d3 8008 ldr.w r8, [r3, #8] + 2a26: f8d3 8008 ldr.w r8, [r3, #8] event_act_data = data; - 30b2: 609e str r6, [r3, #8] + 2a2a: 609e str r6, [r3, #8] lv_indev_t * indev_act = lv_indev_get_act(); - 30b4: 4b20 ldr r3, [pc, #128] ; (3138 ) - 30b6: 4798 blx r3 + 2a2c: 4b20 ldr r3, [pc, #128] ; (2ab0 ) + 2a2e: 4798 blx r3 if(indev_act) { - 30b8: b118 cbz r0, 30c2 + 2a30: b118 cbz r0, 2a3a if(indev_act->driver.feedback_cb) indev_act->driver.feedback_cb(&indev_act->driver, event); - 30ba: 6883 ldr r3, [r0, #8] - 30bc: b10b cbz r3, 30c2 - 30be: 4629 mov r1, r5 - 30c0: 4798 blx r3 + 2a32: 6883 ldr r3, [r0, #8] + 2a34: b10b cbz r3, 2a3a + 2a36: 4629 mov r1, r5 + 2a38: 4798 blx r3 if(event_xcb) event_xcb(obj, event); - 30c2: b117 cbz r7, 30ca - 30c4: 4629 mov r1, r5 - 30c6: 4620 mov r0, r4 - 30c8: 47b8 blx r7 + 2a3a: b117 cbz r7, 2a42 + 2a3c: 4629 mov r1, r5 + 2a3e: 4620 mov r0, r4 + 2a40: 47b8 blx r7 event_act_data = event_act_data_save; - 30ca: 4b1a ldr r3, [pc, #104] ; (3134 ) - 30cc: f8c3 8008 str.w r8, [r3, #8] + 2a42: 4b1a ldr r3, [pc, #104] ; (2aac ) + 2a44: f8c3 8008 str.w r8, [r3, #8] event_temp_data_head = event_temp_data_head->prev; - 30d0: 685a ldr r2, [r3, #4] - 30d2: 6892 ldr r2, [r2, #8] - 30d4: 605a str r2, [r3, #4] + 2a48: 685a ldr r2, [r3, #4] + 2a4a: 6892 ldr r2, [r2, #8] + 2a4c: 605a str r2, [r3, #4] if(event_temp_data.deleted) { - 30d6: f89d 3010 ldrb.w r3, [sp, #16] - 30da: b9f3 cbnz r3, 311a + 2a4e: f89d 3010 ldrb.w r3, [sp, #16] + 2a52: b9f3 cbnz r3, 2a92 if(obj) { - 30dc: b30c cbz r4, 3122 + 2a54: b30c cbz r4, 2a9a if(obj->parent_event && obj->parent) { - 30de: f894 3034 ldrb.w r3, [r4, #52] ; 0x34 - 30e2: f013 0f40 tst.w r3, #64 ; 0x40 - 30e6: d01e beq.n 3126 - 30e8: 6820 ldr r0, [r4, #0] - 30ea: b1f0 cbz r0, 312a + 2a56: f894 3034 ldrb.w r3, [r4, #52] ; 0x34 + 2a5a: f013 0f40 tst.w r3, #64 ; 0x40 + 2a5e: d01e beq.n 2a9e + 2a60: 6820 ldr r0, [r4, #0] + 2a62: b1f0 cbz r0, 2aa2 lv_res_t res = lv_event_send(obj->parent, event, data); - 30ec: 4632 mov r2, r6 - 30ee: 4629 mov r1, r5 - 30f0: 4b12 ldr r3, [pc, #72] ; (313c ) - 30f2: 4798 blx r3 + 2a64: 4632 mov r2, r6 + 2a66: 4629 mov r1, r5 + 2a68: 4b12 ldr r3, [pc, #72] ; (2ab4 ) + 2a6a: 4798 blx r3 return LV_RES_INV; - 30f4: 2801 cmp r0, #1 - 30f6: bf14 ite ne - 30f8: 2000 movne r0, #0 - 30fa: 2001 moveq r0, #1 - 30fc: e00e b.n 311c + 2a6c: 2801 cmp r0, #1 + 2a6e: bf14 ite ne + 2a70: 2000 movne r0, #0 + 2a72: 2001 moveq r0, #1 + 2a74: e00e b.n 2a94 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 30fe: 4b10 ldr r3, [pc, #64] ; (3140 ) - 3100: 9300 str r3, [sp, #0] - 3102: f44f 62db mov.w r2, #1752 ; 0x6d8 - 3106: 490f ldr r1, [pc, #60] ; (3144 ) - 3108: 2003 movs r0, #3 - 310a: 4d0f ldr r5, [pc, #60] ; (3148 ) - 310c: 47a8 blx r5 - 310e: 4622 mov r2, r4 - 3110: 2300 movs r3, #0 - 3112: 480e ldr r0, [pc, #56] ; (314c ) - 3114: 490e ldr r1, [pc, #56] ; (3150 ) - 3116: 4788 blx r1 - 3118: e7fe b.n 3118 + 2a76: 4b10 ldr r3, [pc, #64] ; (2ab8 ) + 2a78: 9300 str r3, [sp, #0] + 2a7a: f44f 62db mov.w r2, #1752 ; 0x6d8 + 2a7e: 490f ldr r1, [pc, #60] ; (2abc ) + 2a80: 2003 movs r0, #3 + 2a82: 4d0f ldr r5, [pc, #60] ; (2ac0 ) + 2a84: 47a8 blx r5 + 2a86: 4622 mov r2, r4 + 2a88: 2300 movs r3, #0 + 2a8a: 480e ldr r0, [pc, #56] ; (2ac4 ) + 2a8c: 490e ldr r1, [pc, #56] ; (2ac8 ) + 2a8e: 4788 blx r1 + 2a90: e7fe b.n 2a90 return LV_RES_INV; - 311a: 2000 movs r0, #0 + 2a92: 2000 movs r0, #0 } - 311c: b006 add sp, #24 - 311e: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + 2a94: b006 add sp, #24 + 2a96: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} return LV_RES_OK; - 3122: 2001 movs r0, #1 - 3124: e7fa b.n 311c - 3126: 2001 movs r0, #1 - 3128: e7f8 b.n 311c - 312a: 2001 movs r0, #1 - 312c: e7f6 b.n 311c - 312e: bf00 nop - 3130: 0000298d .word 0x0000298d - 3134: 2000267c .word 0x2000267c - 3138: 00002e45 .word 0x00002e45 - 313c: 00003155 .word 0x00003155 - 3140: 0001b680 .word 0x0001b680 - 3144: 0001bcc0 .word 0x0001bcc0 - 3148: 00012805 .word 0x00012805 - 314c: 0001bd20 .word 0x0001bd20 - 3150: 00002995 .word 0x00002995 - -00003154 : + 2a9a: 2001 movs r0, #1 + 2a9c: e7fa b.n 2a94 + 2a9e: 2001 movs r0, #1 + 2aa0: e7f8 b.n 2a94 + 2aa2: 2001 movs r0, #1 + 2aa4: e7f6 b.n 2a94 + 2aa6: bf00 nop + 2aa8: 000022b1 .word 0x000022b1 + 2aac: 2000267c .word 0x2000267c + 2ab0: 00002769 .word 0x00002769 + 2ab4: 00002acd .word 0x00002acd + 2ab8: 0002419c .word 0x0002419c + 2abc: 000247dc .word 0x000247dc + 2ac0: 0001225d .word 0x0001225d + 2ac4: 0002483c .word 0x0002483c + 2ac8: 000022b9 .word 0x000022b9 + +00002acc : if(obj == NULL) return LV_RES_OK; - 3154: b1e8 cbz r0, 3192 + 2acc: b1e8 cbz r0, 2b0a { - 3156: b570 push {r4, r5, r6, lr} - 3158: b082 sub sp, #8 - 315a: 4604 mov r4, r0 - 315c: 4616 mov r6, r2 - 315e: 460d mov r5, r1 + 2ace: b570 push {r4, r5, r6, lr} + 2ad0: b082 sub sp, #8 + 2ad2: 4604 mov r4, r0 + 2ad4: 4616 mov r6, r2 + 2ad6: 460d mov r5, r1 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 3160: 4b0d ldr r3, [pc, #52] ; (3198 ) - 3162: 4798 blx r3 - 3164: b968 cbnz r0, 3182 - 3166: 4b0d ldr r3, [pc, #52] ; (319c ) - 3168: 9300 str r3, [sp, #0] - 316a: f240 62c4 movw r2, #1732 ; 0x6c4 - 316e: 490c ldr r1, [pc, #48] ; (31a0 ) - 3170: 2003 movs r0, #3 - 3172: 4d0c ldr r5, [pc, #48] ; (31a4 ) - 3174: 47a8 blx r5 - 3176: 4622 mov r2, r4 - 3178: 2300 movs r3, #0 - 317a: 480b ldr r0, [pc, #44] ; (31a8 ) - 317c: 490b ldr r1, [pc, #44] ; (31ac ) - 317e: 4788 blx r1 - 3180: e7fe b.n 3180 + 2ad8: 4b0d ldr r3, [pc, #52] ; (2b10 ) + 2ada: 4798 blx r3 + 2adc: b968 cbnz r0, 2afa + 2ade: 4b0d ldr r3, [pc, #52] ; (2b14 ) + 2ae0: 9300 str r3, [sp, #0] + 2ae2: f240 62c4 movw r2, #1732 ; 0x6c4 + 2ae6: 490c ldr r1, [pc, #48] ; (2b18 ) + 2ae8: 2003 movs r0, #3 + 2aea: 4d0c ldr r5, [pc, #48] ; (2b1c ) + 2aec: 47a8 blx r5 + 2aee: 4622 mov r2, r4 + 2af0: 2300 movs r3, #0 + 2af2: 480b ldr r0, [pc, #44] ; (2b20 ) + 2af4: 490b ldr r1, [pc, #44] ; (2b24 ) + 2af6: 4788 blx r1 + 2af8: e7fe b.n 2af8 res = lv_event_send_func(obj->event_cb, obj, event, data); - 3182: 4633 mov r3, r6 - 3184: 462a mov r2, r5 - 3186: 4621 mov r1, r4 - 3188: 69a0 ldr r0, [r4, #24] - 318a: 4c09 ldr r4, [pc, #36] ; (31b0 ) - 318c: 47a0 blx r4 -} - 318e: b002 add sp, #8 - 3190: bd70 pop {r4, r5, r6, pc} + 2afa: 4633 mov r3, r6 + 2afc: 462a mov r2, r5 + 2afe: 4621 mov r1, r4 + 2b00: 69a0 ldr r0, [r4, #24] + 2b02: 4c09 ldr r4, [pc, #36] ; (2b28 ) + 2b04: 47a0 blx r4 +} + 2b06: b002 add sp, #8 + 2b08: bd70 pop {r4, r5, r6, pc} if(obj == NULL) return LV_RES_OK; - 3192: 2001 movs r0, #1 - 3194: 4770 bx lr - 3196: bf00 nop - 3198: 0000298d .word 0x0000298d - 319c: 0001b694 .word 0x0001b694 - 31a0: 0001bcc0 .word 0x0001bcc0 - 31a4: 00012805 .word 0x00012805 - 31a8: 0001bd20 .word 0x0001bd20 - 31ac: 00002995 .word 0x00002995 - 31b0: 0000307d .word 0x0000307d - -000031b4 : -{ - 31b4: b530 push {r4, r5, lr} - 31b6: b083 sub sp, #12 - 31b8: 4604 mov r4, r0 - 31ba: 460d mov r5, r1 + 2b0a: 2001 movs r0, #1 + 2b0c: 4770 bx lr + 2b0e: bf00 nop + 2b10: 000022b1 .word 0x000022b1 + 2b14: 000241b0 .word 0x000241b0 + 2b18: 000247dc .word 0x000247dc + 2b1c: 0001225d .word 0x0001225d + 2b20: 0002483c .word 0x0002483c + 2b24: 000022b9 .word 0x000022b9 + 2b28: 000029f5 .word 0x000029f5 + +00002b2c : +{ + 2b2c: b530 push {r4, r5, lr} + 2b2e: b083 sub sp, #12 + 2b30: 4604 mov r4, r0 + 2b32: 460d mov r5, r1 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 31bc: 4b09 ldr r3, [pc, #36] ; (31e4 ) - 31be: 4798 blx r3 - 31c0: b110 cbz r0, 31c8 + 2b34: 4b09 ldr r3, [pc, #36] ; (2b5c ) + 2b36: 4798 blx r3 + 2b38: b110 cbz r0, 2b40 obj->signal_cb = signal_cb; - 31c2: 61e5 str r5, [r4, #28] + 2b3a: 61e5 str r5, [r4, #28] } - 31c4: b003 add sp, #12 - 31c6: bd30 pop {r4, r5, pc} + 2b3c: b003 add sp, #12 + 2b3e: bd30 pop {r4, r5, pc} LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 31c8: 4b07 ldr r3, [pc, #28] ; (31e8 ) - 31ca: 9300 str r3, [sp, #0] - 31cc: f240 721b movw r2, #1819 ; 0x71b - 31d0: 4906 ldr r1, [pc, #24] ; (31ec ) - 31d2: 2003 movs r0, #3 - 31d4: 4d06 ldr r5, [pc, #24] ; (31f0 ) - 31d6: 47a8 blx r5 - 31d8: 4622 mov r2, r4 - 31da: 2300 movs r3, #0 - 31dc: 4805 ldr r0, [pc, #20] ; (31f4 ) - 31de: 4906 ldr r1, [pc, #24] ; (31f8 ) - 31e0: 4788 blx r1 - 31e2: e7fe b.n 31e2 - 31e4: 0000298d .word 0x0000298d - 31e8: 0001b6a4 .word 0x0001b6a4 - 31ec: 0001bcc0 .word 0x0001bcc0 - 31f0: 00012805 .word 0x00012805 - 31f4: 0001bd20 .word 0x0001bd20 - 31f8: 00002995 .word 0x00002995 - -000031fc : + 2b40: 4b07 ldr r3, [pc, #28] ; (2b60 ) + 2b42: 9300 str r3, [sp, #0] + 2b44: f240 721b movw r2, #1819 ; 0x71b + 2b48: 4906 ldr r1, [pc, #24] ; (2b64 ) + 2b4a: 2003 movs r0, #3 + 2b4c: 4d06 ldr r5, [pc, #24] ; (2b68 ) + 2b4e: 47a8 blx r5 + 2b50: 4622 mov r2, r4 + 2b52: 2300 movs r3, #0 + 2b54: 4805 ldr r0, [pc, #20] ; (2b6c ) + 2b56: 4906 ldr r1, [pc, #24] ; (2b70 ) + 2b58: 4788 blx r1 + 2b5a: e7fe b.n 2b5a + 2b5c: 000022b1 .word 0x000022b1 + 2b60: 000241c0 .word 0x000241c0 + 2b64: 000247dc .word 0x000247dc + 2b68: 0001225d .word 0x0001225d + 2b6c: 0002483c .word 0x0002483c + 2b70: 000022b9 .word 0x000022b9 + +00002b74 : if(obj == NULL) return LV_RES_OK; - 31fc: b120 cbz r0, 3208 + 2b74: b120 cbz r0, 2b80 { - 31fe: b510 push {r4, lr} + 2b76: b510 push {r4, lr} if(obj->signal_cb) res = obj->signal_cb(obj, signal, param); - 3200: 69c4 ldr r4, [r0, #28] - 3202: b11c cbz r4, 320c - 3204: 47a0 blx r4 - 3206: bd10 pop {r4, pc} + 2b78: 69c4 ldr r4, [r0, #28] + 2b7a: b11c cbz r4, 2b84 + 2b7c: 47a0 blx r4 + 2b7e: bd10 pop {r4, pc} if(obj == NULL) return LV_RES_OK; - 3208: 2001 movs r0, #1 - 320a: 4770 bx lr + 2b80: 2001 movs r0, #1 + 2b82: 4770 bx lr lv_res_t res = LV_RES_OK; - 320c: 2001 movs r0, #1 + 2b84: 2001 movs r0, #1 } - 320e: bd10 pop {r4, pc} + 2b86: bd10 pop {r4, pc} -00003210 : +00002b88 : { - 3210: b530 push {r4, r5, lr} - 3212: b083 sub sp, #12 - 3214: 4604 mov r4, r0 - 3216: 460d mov r5, r1 + 2b88: b530 push {r4, r5, lr} + 2b8a: b083 sub sp, #12 + 2b8c: 4604 mov r4, r0 + 2b8e: 460d mov r5, r1 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 3218: 4b09 ldr r3, [pc, #36] ; (3240 ) - 321a: 4798 blx r3 - 321c: b110 cbz r0, 3224 + 2b90: 4b09 ldr r3, [pc, #36] ; (2bb8 ) + 2b92: 4798 blx r3 + 2b94: b110 cbz r0, 2b9c obj->design_cb = design_cb; - 321e: 6225 str r5, [r4, #32] + 2b96: 6225 str r5, [r4, #32] } - 3220: b003 add sp, #12 - 3222: bd30 pop {r4, r5, pc} + 2b98: b003 add sp, #12 + 2b9a: bd30 pop {r4, r5, pc} LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 3224: 4b07 ldr r3, [pc, #28] ; (3244 ) - 3226: 9300 str r3, [sp, #0] - 3228: f240 7237 movw r2, #1847 ; 0x737 - 322c: 4906 ldr r1, [pc, #24] ; (3248 ) - 322e: 2003 movs r0, #3 - 3230: 4d06 ldr r5, [pc, #24] ; (324c ) - 3232: 47a8 blx r5 - 3234: 4622 mov r2, r4 - 3236: 2300 movs r3, #0 - 3238: 4805 ldr r0, [pc, #20] ; (3250 ) - 323a: 4906 ldr r1, [pc, #24] ; (3254 ) - 323c: 4788 blx r1 - 323e: e7fe b.n 323e - 3240: 0000298d .word 0x0000298d - 3244: 0001b6bc .word 0x0001b6bc - 3248: 0001bcc0 .word 0x0001bcc0 - 324c: 00012805 .word 0x00012805 - 3250: 0001bd20 .word 0x0001bd20 - 3254: 00002995 .word 0x00002995 - -00003258 : -{ - 3258: b530 push {r4, r5, lr} - 325a: b083 sub sp, #12 - 325c: 4604 mov r4, r0 - 325e: 460d mov r5, r1 + 2b9c: 4b07 ldr r3, [pc, #28] ; (2bbc ) + 2b9e: 9300 str r3, [sp, #0] + 2ba0: f240 7237 movw r2, #1847 ; 0x737 + 2ba4: 4906 ldr r1, [pc, #24] ; (2bc0 ) + 2ba6: 2003 movs r0, #3 + 2ba8: 4d06 ldr r5, [pc, #24] ; (2bc4 ) + 2baa: 47a8 blx r5 + 2bac: 4622 mov r2, r4 + 2bae: 2300 movs r3, #0 + 2bb0: 4805 ldr r0, [pc, #20] ; (2bc8 ) + 2bb2: 4906 ldr r1, [pc, #24] ; (2bcc ) + 2bb4: 4788 blx r1 + 2bb6: e7fe b.n 2bb6 + 2bb8: 000022b1 .word 0x000022b1 + 2bbc: 000241d8 .word 0x000241d8 + 2bc0: 000247dc .word 0x000247dc + 2bc4: 0001225d .word 0x0001225d + 2bc8: 0002483c .word 0x0002483c + 2bcc: 000022b9 .word 0x000022b9 + +00002bd0 : +{ + 2bd0: b530 push {r4, r5, lr} + 2bd2: b083 sub sp, #12 + 2bd4: 4604 mov r4, r0 + 2bd6: 460d mov r5, r1 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 3260: 4b0d ldr r3, [pc, #52] ; (3298 ) - 3262: 4798 blx r3 - 3264: b968 cbnz r0, 3282 - 3266: 4b0d ldr r3, [pc, #52] ; (329c ) - 3268: 9300 str r3, [sp, #0] - 326a: f240 7249 movw r2, #1865 ; 0x749 - 326e: 490c ldr r1, [pc, #48] ; (32a0 ) - 3270: 2003 movs r0, #3 - 3272: 4d0c ldr r5, [pc, #48] ; (32a4 ) - 3274: 47a8 blx r5 - 3276: 4622 mov r2, r4 - 3278: 2300 movs r3, #0 - 327a: 480b ldr r0, [pc, #44] ; (32a8 ) - 327c: 490b ldr r1, [pc, #44] ; (32ac ) - 327e: 4788 blx r1 - 3280: e7fe b.n 3280 + 2bd8: 4b0d ldr r3, [pc, #52] ; (2c10 ) + 2bda: 4798 blx r3 + 2bdc: b968 cbnz r0, 2bfa + 2bde: 4b0d ldr r3, [pc, #52] ; (2c14 ) + 2be0: 9300 str r3, [sp, #0] + 2be2: f240 7249 movw r2, #1865 ; 0x749 + 2be6: 490c ldr r1, [pc, #48] ; (2c18 ) + 2be8: 2003 movs r0, #3 + 2bea: 4d0c ldr r5, [pc, #48] ; (2c1c ) + 2bec: 47a8 blx r5 + 2bee: 4622 mov r2, r4 + 2bf0: 2300 movs r3, #0 + 2bf2: 480b ldr r0, [pc, #44] ; (2c20 ) + 2bf4: 490b ldr r1, [pc, #44] ; (2c24 ) + 2bf6: 4788 blx r1 + 2bf8: e7fe b.n 2bf8 void * new_ext = lv_mem_realloc(obj->ext_attr, ext_size); - 3282: 4629 mov r1, r5 - 3284: 6a60 ldr r0, [r4, #36] ; 0x24 - 3286: 4b0a ldr r3, [pc, #40] ; (32b0 ) - 3288: 4798 blx r3 + 2bfa: 4629 mov r1, r5 + 2bfc: 6a60 ldr r0, [r4, #36] ; 0x24 + 2bfe: 4b0a ldr r3, [pc, #40] ; (2c28 ) + 2c00: 4798 blx r3 if(new_ext == NULL) return NULL; - 328a: 4603 mov r3, r0 - 328c: b100 cbz r0, 3290 + 2c02: 4603 mov r3, r0 + 2c04: b100 cbz r0, 2c08 obj->ext_attr = new_ext; - 328e: 6260 str r0, [r4, #36] ; 0x24 -} - 3290: 4618 mov r0, r3 - 3292: b003 add sp, #12 - 3294: bd30 pop {r4, r5, pc} - 3296: bf00 nop - 3298: 0000298d .word 0x0000298d - 329c: 0001b6d4 .word 0x0001b6d4 - 32a0: 0001bcc0 .word 0x0001bcc0 - 32a4: 00012805 .word 0x00012805 - 32a8: 0001bd20 .word 0x0001bd20 - 32ac: 00002995 .word 0x00002995 - 32b0: 00012e41 .word 0x00012e41 - -000032b4 : -{ - 32b4: b530 push {r4, r5, lr} - 32b6: b083 sub sp, #12 - 32b8: 4604 mov r4, r0 + 2c06: 6260 str r0, [r4, #36] ; 0x24 +} + 2c08: 4618 mov r0, r3 + 2c0a: b003 add sp, #12 + 2c0c: bd30 pop {r4, r5, pc} + 2c0e: bf00 nop + 2c10: 000022b1 .word 0x000022b1 + 2c14: 000241f0 .word 0x000241f0 + 2c18: 000247dc .word 0x000247dc + 2c1c: 0001225d .word 0x0001225d + 2c20: 0002483c .word 0x0002483c + 2c24: 000022b9 .word 0x000022b9 + 2c28: 00012899 .word 0x00012899 + +00002c2c : +{ + 2c2c: b530 push {r4, r5, lr} + 2c2e: b083 sub sp, #12 + 2c30: 4604 mov r4, r0 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 32ba: 4b0c ldr r3, [pc, #48] ; (32ec ) - 32bc: 4798 blx r3 - 32be: b968 cbnz r0, 32dc - 32c0: 4b0b ldr r3, [pc, #44] ; (32f0 ) - 32c2: 9300 str r3, [sp, #0] - 32c4: f240 7259 movw r2, #1881 ; 0x759 - 32c8: 490a ldr r1, [pc, #40] ; (32f4 ) - 32ca: 2003 movs r0, #3 - 32cc: 4d0a ldr r5, [pc, #40] ; (32f8 ) - 32ce: 47a8 blx r5 - 32d0: 4622 mov r2, r4 - 32d2: 2300 movs r3, #0 - 32d4: 4809 ldr r0, [pc, #36] ; (32fc ) - 32d6: 490a ldr r1, [pc, #40] ; (3300 ) - 32d8: 4788 blx r1 - 32da: e7fe b.n 32da + 2c32: 4b0c ldr r3, [pc, #48] ; (2c64 ) + 2c34: 4798 blx r3 + 2c36: b968 cbnz r0, 2c54 + 2c38: 4b0b ldr r3, [pc, #44] ; (2c68 ) + 2c3a: 9300 str r3, [sp, #0] + 2c3c: f240 7259 movw r2, #1881 ; 0x759 + 2c40: 490a ldr r1, [pc, #40] ; (2c6c ) + 2c42: 2003 movs r0, #3 + 2c44: 4d0a ldr r5, [pc, #40] ; (2c70 ) + 2c46: 47a8 blx r5 + 2c48: 4622 mov r2, r4 + 2c4a: 2300 movs r3, #0 + 2c4c: 4809 ldr r0, [pc, #36] ; (2c74 ) + 2c4e: 490a ldr r1, [pc, #40] ; (2c78 ) + 2c50: 4788 blx r1 + 2c52: e7fe b.n 2c52 obj->ext_draw_pad = 0; - 32dc: 2200 movs r2, #0 - 32de: 8662 strh r2, [r4, #50] ; 0x32 + 2c54: 2200 movs r2, #0 + 2c56: 8662 strh r2, [r4, #50] ; 0x32 obj->signal_cb(obj, LV_SIGNAL_REFR_EXT_DRAW_PAD, NULL); - 32e0: 69e3 ldr r3, [r4, #28] - 32e2: 2106 movs r1, #6 - 32e4: 4620 mov r0, r4 - 32e6: 4798 blx r3 -} - 32e8: b003 add sp, #12 - 32ea: bd30 pop {r4, r5, pc} - 32ec: 0000298d .word 0x0000298d - 32f0: 0001b6f0 .word 0x0001b6f0 - 32f4: 0001bcc0 .word 0x0001bcc0 - 32f8: 00012805 .word 0x00012805 - 32fc: 0001bd20 .word 0x0001bd20 - 3300: 00002995 .word 0x00002995 - -00003304 : -{ - 3304: b530 push {r4, r5, lr} - 3306: b083 sub sp, #12 - 3308: 4604 mov r4, r0 + 2c58: 69e3 ldr r3, [r4, #28] + 2c5a: 2106 movs r1, #6 + 2c5c: 4620 mov r0, r4 + 2c5e: 4798 blx r3 +} + 2c60: b003 add sp, #12 + 2c62: bd30 pop {r4, r5, pc} + 2c64: 000022b1 .word 0x000022b1 + 2c68: 0002420c .word 0x0002420c + 2c6c: 000247dc .word 0x000247dc + 2c70: 0001225d .word 0x0001225d + 2c74: 0002483c .word 0x0002483c + 2c78: 000022b9 .word 0x000022b9 + +00002c7c : +{ + 2c7c: b530 push {r4, r5, lr} + 2c7e: b083 sub sp, #12 + 2c80: 4604 mov r4, r0 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 330a: 4b0a ldr r3, [pc, #40] ; (3334 ) - 330c: 4798 blx r3 - 330e: b110 cbz r0, 3316 + 2c82: 4b0a ldr r3, [pc, #40] ; (2cac ) + 2c84: 4798 blx r3 + 2c86: b110 cbz r0, 2c8e } - 3310: 6820 ldr r0, [r4, #0] - 3312: b003 add sp, #12 - 3314: bd30 pop {r4, r5, pc} + 2c88: 6820 ldr r0, [r4, #0] + 2c8a: b003 add sp, #12 + 2c8c: bd30 pop {r4, r5, pc} LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 3316: 4b08 ldr r3, [pc, #32] ; (3338 ) - 3318: 9300 str r3, [sp, #0] - 331a: f240 729f movw r2, #1951 ; 0x79f - 331e: 4907 ldr r1, [pc, #28] ; (333c ) - 3320: 2003 movs r0, #3 - 3322: 4d07 ldr r5, [pc, #28] ; (3340 ) - 3324: 47a8 blx r5 - 3326: 4622 mov r2, r4 - 3328: 2300 movs r3, #0 - 332a: 4806 ldr r0, [pc, #24] ; (3344 ) - 332c: 4906 ldr r1, [pc, #24] ; (3348 ) - 332e: 4788 blx r1 - 3330: e7fe b.n 3330 - 3332: bf00 nop - 3334: 0000298d .word 0x0000298d - 3338: 0001b70c .word 0x0001b70c - 333c: 0001bcc0 .word 0x0001bcc0 - 3340: 00012805 .word 0x00012805 - 3344: 0001bd20 .word 0x0001bd20 - 3348: 00002995 .word 0x00002995 - -0000334c : -{ - 334c: b530 push {r4, r5, lr} - 334e: b083 sub sp, #12 - 3350: 4604 mov r4, r0 + 2c8e: 4b08 ldr r3, [pc, #32] ; (2cb0 ) + 2c90: 9300 str r3, [sp, #0] + 2c92: f240 729f movw r2, #1951 ; 0x79f + 2c96: 4907 ldr r1, [pc, #28] ; (2cb4 ) + 2c98: 2003 movs r0, #3 + 2c9a: 4d07 ldr r5, [pc, #28] ; (2cb8 ) + 2c9c: 47a8 blx r5 + 2c9e: 4622 mov r2, r4 + 2ca0: 2300 movs r3, #0 + 2ca2: 4806 ldr r0, [pc, #24] ; (2cbc ) + 2ca4: 4906 ldr r1, [pc, #24] ; (2cc0 ) + 2ca6: 4788 blx r1 + 2ca8: e7fe b.n 2ca8 + 2caa: bf00 nop + 2cac: 000022b1 .word 0x000022b1 + 2cb0: 00024228 .word 0x00024228 + 2cb4: 000247dc .word 0x000247dc + 2cb8: 0001225d .word 0x0001225d + 2cbc: 0002483c .word 0x0002483c + 2cc0: 000022b9 .word 0x000022b9 + +00002cc4 : +{ + 2cc4: b530 push {r4, r5, lr} + 2cc6: b083 sub sp, #12 + 2cc8: 4604 mov r4, r0 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 3352: 4b0e ldr r3, [pc, #56] ; (338c ) - 3354: 4798 blx r3 - 3356: b108 cbz r0, 335c + 2cca: 4b0e ldr r3, [pc, #56] ; (2d04 ) + 2ccc: 4798 blx r3 + 2cce: b108 cbz r0, 2cd4 par = lv_obj_get_parent(act_p); - 3358: 4d0d ldr r5, [pc, #52] ; (3390 ) - 335a: e00e b.n 337a + 2cd0: 4d0d ldr r5, [pc, #52] ; (2d08 ) + 2cd2: e00e b.n 2cf2 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 335c: 4b0d ldr r3, [pc, #52] ; (3394 ) - 335e: 9300 str r3, [sp, #0] - 3360: f240 726b movw r2, #1899 ; 0x76b - 3364: 490c ldr r1, [pc, #48] ; (3398 ) - 3366: 2003 movs r0, #3 - 3368: 4d0c ldr r5, [pc, #48] ; (339c ) - 336a: 47a8 blx r5 - 336c: 4622 mov r2, r4 - 336e: 2300 movs r3, #0 - 3370: 480b ldr r0, [pc, #44] ; (33a0 ) - 3372: 490c ldr r1, [pc, #48] ; (33a4 ) - 3374: 4788 blx r1 - 3376: e7fe b.n 3376 + 2cd4: 4b0d ldr r3, [pc, #52] ; (2d0c ) + 2cd6: 9300 str r3, [sp, #0] + 2cd8: f240 726b movw r2, #1899 ; 0x76b + 2cdc: 490c ldr r1, [pc, #48] ; (2d10 ) + 2cde: 2003 movs r0, #3 + 2ce0: 4d0c ldr r5, [pc, #48] ; (2d14 ) + 2ce2: 47a8 blx r5 + 2ce4: 4622 mov r2, r4 + 2ce6: 2300 movs r3, #0 + 2ce8: 480b ldr r0, [pc, #44] ; (2d18 ) + 2cea: 490c ldr r1, [pc, #48] ; (2d1c ) + 2cec: 4788 blx r1 + 2cee: e7fe b.n 2cee par = lv_obj_get_parent(act_p); - 3378: 461c mov r4, r3 - 337a: 4620 mov r0, r4 - 337c: 47a8 blx r5 + 2cf0: 461c mov r4, r3 + 2cf2: 4620 mov r0, r4 + 2cf4: 47a8 blx r5 } while(par != NULL); - 337e: 4603 mov r3, r0 - 3380: 2800 cmp r0, #0 - 3382: d1f9 bne.n 3378 -} - 3384: 4620 mov r0, r4 - 3386: b003 add sp, #12 - 3388: bd30 pop {r4, r5, pc} - 338a: bf00 nop - 338c: 0000298d .word 0x0000298d - 3390: 00003305 .word 0x00003305 - 3394: 0001b720 .word 0x0001b720 - 3398: 0001bcc0 .word 0x0001bcc0 - 339c: 00012805 .word 0x00012805 - 33a0: 0001bd20 .word 0x0001bd20 - 33a4: 00002995 .word 0x00002995 - -000033a8 : -{ - 33a8: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} - 33ac: b083 sub sp, #12 - 33ae: 4604 mov r4, r0 + 2cf6: 4603 mov r3, r0 + 2cf8: 2800 cmp r0, #0 + 2cfa: d1f9 bne.n 2cf0 +} + 2cfc: 4620 mov r0, r4 + 2cfe: b003 add sp, #12 + 2d00: bd30 pop {r4, r5, pc} + 2d02: bf00 nop + 2d04: 000022b1 .word 0x000022b1 + 2d08: 00002c7d .word 0x00002c7d + 2d0c: 0002423c .word 0x0002423c + 2d10: 000247dc .word 0x000247dc + 2d14: 0001225d .word 0x0001225d + 2d18: 0002483c .word 0x0002483c + 2d1c: 000022b9 .word 0x000022b9 + +00002d20 : +{ + 2d20: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} + 2d24: b083 sub sp, #12 + 2d26: 4604 mov r4, r0 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 33b0: 4b22 ldr r3, [pc, #136] ; (343c ) - 33b2: 4798 blx r3 - 33b4: b180 cbz r0, 33d8 + 2d28: 4b22 ldr r3, [pc, #136] ; (2db4 ) + 2d2a: 4798 blx r3 + 2d2c: b180 cbz r0, 2d50 if(obj->parent == NULL) - 33b6: 6823 ldr r3, [r4, #0] - 33b8: b11b cbz r3, 33c2 + 2d2e: 6823 ldr r3, [r4, #0] + 2d30: b11b cbz r3, 2d3a scr = lv_obj_get_screen(obj); /*get the screen of `obj`*/ - 33ba: 4620 mov r0, r4 - 33bc: 4b20 ldr r3, [pc, #128] ; (3440 ) - 33be: 4798 blx r3 - 33c0: 4604 mov r4, r0 + 2d32: 4620 mov r0, r4 + 2d34: 4b20 ldr r3, [pc, #128] ; (2db8 ) + 2d36: 4798 blx r3 + 2d38: 4604 mov r4, r0 _LV_LL_READ(LV_GC_ROOT(_lv_disp_ll), d) { - 33c2: 4820 ldr r0, [pc, #128] ; (3444 ) - 33c4: 4b20 ldr r3, [pc, #128] ; (3448 ) - 33c6: 4798 blx r3 - 33c8: 4605 mov r5, r0 - 33ca: b360 cbz r0, 3426 + 2d3a: 4820 ldr r0, [pc, #128] ; (2dbc ) + 2d3c: 4b20 ldr r3, [pc, #128] ; (2dc0 ) + 2d3e: 4798 blx r3 + 2d40: 4605 mov r5, r0 + 2d42: b360 cbz r0, 2d9e _LV_LL_READ(d->scr_ll, s) { - 33cc: f8df 9078 ldr.w r9, [pc, #120] ; 3448 - 33d0: 4e1e ldr r6, [pc, #120] ; (344c ) + 2d44: f8df 9078 ldr.w r9, [pc, #120] ; 2dc0 + 2d48: 4e1e ldr r6, [pc, #120] ; (2dc4 ) _LV_LL_READ(LV_GC_ROOT(_lv_disp_ll), d) { - 33d2: f8df 8070 ldr.w r8, [pc, #112] ; 3444 - 33d6: e012 b.n 33fe + 2d4a: f8df 8070 ldr.w r8, [pc, #112] ; 2dbc + 2d4e: e012 b.n 2d76 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 33d8: 4b1d ldr r3, [pc, #116] ; (3450 ) - 33da: 9300 str r3, [sp, #0] - 33dc: f240 727f movw r2, #1919 ; 0x77f - 33e0: 491c ldr r1, [pc, #112] ; (3454 ) - 33e2: 2003 movs r0, #3 - 33e4: 4d1c ldr r5, [pc, #112] ; (3458 ) - 33e6: 47a8 blx r5 - 33e8: 4622 mov r2, r4 - 33ea: 2300 movs r3, #0 - 33ec: 481b ldr r0, [pc, #108] ; (345c ) - 33ee: 491c ldr r1, [pc, #112] ; (3460 ) - 33f0: 4788 blx r1 - 33f2: e7fe b.n 33f2 + 2d50: 4b1d ldr r3, [pc, #116] ; (2dc8 ) + 2d52: 9300 str r3, [sp, #0] + 2d54: f240 727f movw r2, #1919 ; 0x77f + 2d58: 491c ldr r1, [pc, #112] ; (2dcc ) + 2d5a: 2003 movs r0, #3 + 2d5c: 4d1c ldr r5, [pc, #112] ; (2dd0 ) + 2d5e: 47a8 blx r5 + 2d60: 4622 mov r2, r4 + 2d62: 2300 movs r3, #0 + 2d64: 481b ldr r0, [pc, #108] ; (2dd4 ) + 2d66: 491c ldr r1, [pc, #112] ; (2dd8 ) + 2d68: 4788 blx r1 + 2d6a: e7fe b.n 2d6a _LV_LL_READ(LV_GC_ROOT(_lv_disp_ll), d) { - 33f4: 4629 mov r1, r5 - 33f6: 4640 mov r0, r8 - 33f8: 47b0 blx r6 - 33fa: 4605 mov r5, r0 - 33fc: b198 cbz r0, 3426 + 2d6c: 4629 mov r1, r5 + 2d6e: 4640 mov r0, r8 + 2d70: 47b0 blx r6 + 2d72: 4605 mov r5, r0 + 2d74: b198 cbz r0, 2d9e _LV_LL_READ(d->scr_ll, s) { - 33fe: f105 0730 add.w r7, r5, #48 ; 0x30 - 3402: 4638 mov r0, r7 - 3404: 47c8 blx r9 - 3406: 4601 mov r1, r0 - 3408: 2800 cmp r0, #0 - 340a: d0f3 beq.n 33f4 + 2d76: f105 0730 add.w r7, r5, #48 ; 0x30 + 2d7a: 4638 mov r0, r7 + 2d7c: 47c8 blx r9 + 2d7e: 4601 mov r1, r0 + 2d80: 2800 cmp r0, #0 + 2d82: d0f3 beq.n 2d6c if(s == scr) return d; - 340c: 4284 cmp r4, r0 - 340e: d006 beq.n 341e + 2d84: 4284 cmp r4, r0 + 2d86: d006 beq.n 2d96 _LV_LL_READ(d->scr_ll, s) { - 3410: 4638 mov r0, r7 - 3412: 47b0 blx r6 - 3414: 4601 mov r1, r0 - 3416: 2800 cmp r0, #0 - 3418: d0ec beq.n 33f4 + 2d88: 4638 mov r0, r7 + 2d8a: 47b0 blx r6 + 2d8c: 4601 mov r1, r0 + 2d8e: 2800 cmp r0, #0 + 2d90: d0ec beq.n 2d6c if(s == scr) return d; - 341a: 428c cmp r4, r1 - 341c: d1f8 bne.n 3410 + 2d92: 428c cmp r4, r1 + 2d94: d1f8 bne.n 2d88 } - 341e: 4628 mov r0, r5 - 3420: b003 add sp, #12 - 3422: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} + 2d96: 4628 mov r0, r5 + 2d98: b003 add sp, #12 + 2d9a: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} LV_LOG_WARN("lv_scr_get_disp: screen not found") - 3426: 4b0f ldr r3, [pc, #60] ; (3464 ) - 3428: 9300 str r3, [sp, #0] - 342a: 4b09 ldr r3, [pc, #36] ; (3450 ) - 342c: f44f 62f2 mov.w r2, #1936 ; 0x790 - 3430: 4908 ldr r1, [pc, #32] ; (3454 ) - 3432: 2002 movs r0, #2 - 3434: 4c08 ldr r4, [pc, #32] ; (3458 ) - 3436: 47a0 blx r4 + 2d9e: 4b0f ldr r3, [pc, #60] ; (2ddc ) + 2da0: 9300 str r3, [sp, #0] + 2da2: 4b09 ldr r3, [pc, #36] ; (2dc8 ) + 2da4: f44f 62f2 mov.w r2, #1936 ; 0x790 + 2da8: 4908 ldr r1, [pc, #32] ; (2dcc ) + 2daa: 2002 movs r0, #2 + 2dac: 4c08 ldr r4, [pc, #32] ; (2dd0 ) + 2dae: 47a0 blx r4 return NULL; - 3438: 2500 movs r5, #0 - 343a: e7f0 b.n 341e - 343c: 0000298d .word 0x0000298d - 3440: 0000334d .word 0x0000334d - 3444: 20006cb4 .word 0x20006cb4 - 3448: 00012551 .word 0x00012551 - 344c: 00012565 .word 0x00012565 - 3450: 0001b734 .word 0x0001b734 - 3454: 0001bcc0 .word 0x0001bcc0 - 3458: 00012805 .word 0x00012805 - 345c: 0001bd20 .word 0x0001bd20 - 3460: 00002995 .word 0x00002995 - 3464: 0001bd30 .word 0x0001bd30 - -00003468 : -{ - 3468: b530 push {r4, r5, lr} - 346a: b083 sub sp, #12 - 346c: 4604 mov r4, r0 - 346e: 460d mov r5, r1 + 2db0: 2500 movs r5, #0 + 2db2: e7f0 b.n 2d96 + 2db4: 000022b1 .word 0x000022b1 + 2db8: 00002cc5 .word 0x00002cc5 + 2dbc: 20006c98 .word 0x20006c98 + 2dc0: 00011fa9 .word 0x00011fa9 + 2dc4: 00011fbd .word 0x00011fbd + 2dc8: 00024250 .word 0x00024250 + 2dcc: 000247dc .word 0x000247dc + 2dd0: 0001225d .word 0x0001225d + 2dd4: 0002483c .word 0x0002483c + 2dd8: 000022b9 .word 0x000022b9 + 2ddc: 0002484c .word 0x0002484c + +00002de0 : +{ + 2de0: b530 push {r4, r5, lr} + 2de2: b083 sub sp, #12 + 2de4: 4604 mov r4, r0 + 2de6: 460d mov r5, r1 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 3470: 4b0d ldr r3, [pc, #52] ; (34a8 ) - 3472: 4798 blx r3 - 3474: b130 cbz r0, 3484 + 2de8: 4b0d ldr r3, [pc, #52] ; (2e20 ) + 2dea: 4798 blx r3 + 2dec: b130 cbz r0, 2dfc if(child == NULL) { - 3476: b19d cbz r5, 34a0 + 2dee: b19d cbz r5, 2e18 result = _lv_ll_get_next(&obj->child_ll, child); - 3478: 4629 mov r1, r5 - 347a: 1d20 adds r0, r4, #4 - 347c: 4b0b ldr r3, [pc, #44] ; (34ac ) - 347e: 4798 blx r3 + 2df0: 4629 mov r1, r5 + 2df2: 1d20 adds r0, r4, #4 + 2df4: 4b0b ldr r3, [pc, #44] ; (2e24 ) + 2df6: 4798 blx r3 } - 3480: b003 add sp, #12 - 3482: bd30 pop {r4, r5, pc} + 2df8: b003 add sp, #12 + 2dfa: bd30 pop {r4, r5, pc} LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 3484: 4b0a ldr r3, [pc, #40] ; (34b0 ) - 3486: 9300 str r3, [sp, #0] - 3488: f240 72ad movw r2, #1965 ; 0x7ad - 348c: 4909 ldr r1, [pc, #36] ; (34b4 ) - 348e: 2003 movs r0, #3 - 3490: 4d09 ldr r5, [pc, #36] ; (34b8 ) - 3492: 47a8 blx r5 - 3494: 4622 mov r2, r4 - 3496: 2300 movs r3, #0 - 3498: 4808 ldr r0, [pc, #32] ; (34bc ) - 349a: 4909 ldr r1, [pc, #36] ; (34c0 ) - 349c: 4788 blx r1 - 349e: e7fe b.n 349e + 2dfc: 4b0a ldr r3, [pc, #40] ; (2e28 ) + 2dfe: 9300 str r3, [sp, #0] + 2e00: f240 72ad movw r2, #1965 ; 0x7ad + 2e04: 4909 ldr r1, [pc, #36] ; (2e2c ) + 2e06: 2003 movs r0, #3 + 2e08: 4d09 ldr r5, [pc, #36] ; (2e30 ) + 2e0a: 47a8 blx r5 + 2e0c: 4622 mov r2, r4 + 2e0e: 2300 movs r3, #0 + 2e10: 4808 ldr r0, [pc, #32] ; (2e34 ) + 2e12: 4909 ldr r1, [pc, #36] ; (2e38 ) + 2e14: 4788 blx r1 + 2e16: e7fe b.n 2e16 result = _lv_ll_get_head(&obj->child_ll); - 34a0: 1d20 adds r0, r4, #4 - 34a2: 4b08 ldr r3, [pc, #32] ; (34c4 ) - 34a4: 4798 blx r3 - 34a6: e7eb b.n 3480 - 34a8: 0000298d .word 0x0000298d - 34ac: 00012565 .word 0x00012565 - 34b0: 0001b744 .word 0x0001b744 - 34b4: 0001bcc0 .word 0x0001bcc0 - 34b8: 00012805 .word 0x00012805 - 34bc: 0001bd20 .word 0x0001bd20 - 34c0: 00002995 .word 0x00002995 - 34c4: 00012551 .word 0x00012551 - -000034c8 : -{ - 34c8: b530 push {r4, r5, lr} - 34ca: b083 sub sp, #12 - 34cc: 4605 mov r5, r0 - 34ce: 460c mov r4, r1 + 2e18: 1d20 adds r0, r4, #4 + 2e1a: 4b08 ldr r3, [pc, #32] ; (2e3c ) + 2e1c: 4798 blx r3 + 2e1e: e7eb b.n 2df8 + 2e20: 000022b1 .word 0x000022b1 + 2e24: 00011fbd .word 0x00011fbd + 2e28: 00024260 .word 0x00024260 + 2e2c: 000247dc .word 0x000247dc + 2e30: 0001225d .word 0x0001225d + 2e34: 0002483c .word 0x0002483c + 2e38: 000022b9 .word 0x000022b9 + 2e3c: 00011fa9 .word 0x00011fa9 + +00002e40 : +{ + 2e40: b530 push {r4, r5, lr} + 2e42: b083 sub sp, #12 + 2e44: 4605 mov r5, r0 + 2e46: 460c mov r4, r1 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 34d0: 4b0e ldr r3, [pc, #56] ; (350c ) - 34d2: 4798 blx r3 - 34d4: b160 cbz r0, 34f0 - 34d6: f105 020f add.w r2, r5, #15 - 34da: f104 0008 add.w r0, r4, #8 + 2e48: 4b0e ldr r3, [pc, #56] ; (2e84 ) + 2e4a: 4798 blx r3 + 2e4c: b160 cbz r0, 2e68 + 2e4e: f105 020f add.w r2, r5, #15 + 2e52: f104 0008 add.w r0, r4, #8 * @param src pointer to the source buffer * @param len number of byte to copy */ LV_ATTRIBUTE_FAST_MEM static inline void * _lv_memcpy_small(void * dst, const void * src, size_t len) { uint8_t * d8 = (uint8_t *)dst; - 34de: 4623 mov r3, r4 + 2e56: 4623 mov r3, r4 const uint8_t * s8 = (const uint8_t *)src; while(len) { *d8 = *s8; - 34e0: f812 1f01 ldrb.w r1, [r2, #1]! - 34e4: f803 1b01 strb.w r1, [r3], #1 + 2e58: f812 1f01 ldrb.w r1, [r2, #1]! + 2e5c: f803 1b01 strb.w r1, [r3], #1 while(len) { - 34e8: 4283 cmp r3, r0 - 34ea: d1f9 bne.n 34e0 + 2e60: 4283 cmp r3, r0 + 2e62: d1f9 bne.n 2e58 } - 34ec: b003 add sp, #12 - 34ee: bd30 pop {r4, r5, pc} + 2e64: b003 add sp, #12 + 2e66: bd30 pop {r4, r5, pc} LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 34f0: 4b07 ldr r3, [pc, #28] ; (3510 ) - 34f2: 9300 str r3, [sp, #0] - 34f4: f640 0201 movw r2, #2049 ; 0x801 - 34f8: 4906 ldr r1, [pc, #24] ; (3514 ) - 34fa: 2003 movs r0, #3 - 34fc: 4c06 ldr r4, [pc, #24] ; (3518 ) - 34fe: 47a0 blx r4 - 3500: 462a mov r2, r5 - 3502: 2300 movs r3, #0 - 3504: 4805 ldr r0, [pc, #20] ; (351c ) - 3506: 4906 ldr r1, [pc, #24] ; (3520 ) - 3508: 4788 blx r1 - 350a: e7fe b.n 350a - 350c: 0000298d .word 0x0000298d - 3510: 0001b7bc .word 0x0001b7bc - 3514: 0001bcc0 .word 0x0001bcc0 - 3518: 00012805 .word 0x00012805 - 351c: 0001bd20 .word 0x0001bd20 - 3520: 00002995 .word 0x00002995 - -00003524 : -{ - 3524: b530 push {r4, r5, lr} - 3526: b083 sub sp, #12 - 3528: 4604 mov r4, r0 + 2e68: 4b07 ldr r3, [pc, #28] ; (2e88 ) + 2e6a: 9300 str r3, [sp, #0] + 2e6c: f640 0201 movw r2, #2049 ; 0x801 + 2e70: 4906 ldr r1, [pc, #24] ; (2e8c ) + 2e72: 2003 movs r0, #3 + 2e74: 4c06 ldr r4, [pc, #24] ; (2e90 ) + 2e76: 47a0 blx r4 + 2e78: 462a mov r2, r5 + 2e7a: 2300 movs r3, #0 + 2e7c: 4805 ldr r0, [pc, #20] ; (2e94 ) + 2e7e: 4906 ldr r1, [pc, #24] ; (2e98 ) + 2e80: 4788 blx r1 + 2e82: e7fe b.n 2e82 + 2e84: 000022b1 .word 0x000022b1 + 2e88: 000242d8 .word 0x000242d8 + 2e8c: 000247dc .word 0x000247dc + 2e90: 0001225d .word 0x0001225d + 2e94: 0002483c .word 0x0002483c + 2e98: 000022b9 .word 0x000022b9 + +00002e9c : +{ + 2e9c: b530 push {r4, r5, lr} + 2e9e: b083 sub sp, #12 + 2ea0: 4604 mov r4, r0 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 352a: 4b0f ldr r3, [pc, #60] ; (3568 ) - 352c: 4798 blx r3 - 352e: b968 cbnz r0, 354c - 3530: 4b0e ldr r3, [pc, #56] ; (356c ) - 3532: 9300 str r3, [sp, #0] - 3534: f640 0222 movw r2, #2082 ; 0x822 - 3538: 490d ldr r1, [pc, #52] ; (3570 ) - 353a: 2003 movs r0, #3 - 353c: 4d0d ldr r5, [pc, #52] ; (3574 ) - 353e: 47a8 blx r5 - 3540: 4622 mov r2, r4 - 3542: 2300 movs r3, #0 - 3544: 480c ldr r0, [pc, #48] ; (3578 ) - 3546: 490d ldr r1, [pc, #52] ; (357c ) - 3548: 4788 blx r1 - 354a: e7fe b.n 354a + 2ea2: 4b0f ldr r3, [pc, #60] ; (2ee0 ) + 2ea4: 4798 blx r3 + 2ea6: b968 cbnz r0, 2ec4 + 2ea8: 4b0e ldr r3, [pc, #56] ; (2ee4 ) + 2eaa: 9300 str r3, [sp, #0] + 2eac: f640 0222 movw r2, #2082 ; 0x822 + 2eb0: 490d ldr r1, [pc, #52] ; (2ee8 ) + 2eb2: 2003 movs r0, #3 + 2eb4: 4d0d ldr r5, [pc, #52] ; (2eec ) + 2eb6: 47a8 blx r5 + 2eb8: 4622 mov r2, r4 + 2eba: 2300 movs r3, #0 + 2ebc: 480c ldr r0, [pc, #48] ; (2ef0 ) + 2ebe: 490d ldr r1, [pc, #52] ; (2ef4 ) + 2ec0: 4788 blx r1 + 2ec2: e7fe b.n 2ec2 lv_obj_t * parent = lv_obj_get_parent(obj); - 354c: 4620 mov r0, r4 - 354e: 4b0c ldr r3, [pc, #48] ; (3580 ) - 3550: 4798 blx r3 + 2ec4: 4620 mov r0, r4 + 2ec6: 4b0c ldr r3, [pc, #48] ; (2ef8 ) + 2ec8: 4798 blx r3 if(parent) { - 3552: 4603 mov r3, r0 - 3554: b128 cbz r0, 3562 + 2eca: 4603 mov r3, r0 + 2ecc: b128 cbz r0, 2eda rel_x = obj->coords.x1 - parent->coords.x1; - 3556: 8a20 ldrh r0, [r4, #16] - 3558: 8a1b ldrh r3, [r3, #16] - 355a: 1ac0 subs r0, r0, r3 - 355c: b200 sxth r0, r0 + 2ece: 8a20 ldrh r0, [r4, #16] + 2ed0: 8a1b ldrh r3, [r3, #16] + 2ed2: 1ac0 subs r0, r0, r3 + 2ed4: b200 sxth r0, r0 } - 355e: b003 add sp, #12 - 3560: bd30 pop {r4, r5, pc} + 2ed6: b003 add sp, #12 + 2ed8: bd30 pop {r4, r5, pc} rel_x = obj->coords.x1; - 3562: f9b4 0010 ldrsh.w r0, [r4, #16] - 3566: e7fa b.n 355e - 3568: 0000298d .word 0x0000298d - 356c: 0001b7d0 .word 0x0001b7d0 - 3570: 0001bcc0 .word 0x0001bcc0 - 3574: 00012805 .word 0x00012805 - 3578: 0001bd20 .word 0x0001bd20 - 357c: 00002995 .word 0x00002995 - 3580: 00003305 .word 0x00003305 - -00003584 : -{ - 3584: b530 push {r4, r5, lr} - 3586: b083 sub sp, #12 - 3588: 4604 mov r4, r0 + 2eda: f9b4 0010 ldrsh.w r0, [r4, #16] + 2ede: e7fa b.n 2ed6 + 2ee0: 000022b1 .word 0x000022b1 + 2ee4: 000242ec .word 0x000242ec + 2ee8: 000247dc .word 0x000247dc + 2eec: 0001225d .word 0x0001225d + 2ef0: 0002483c .word 0x0002483c + 2ef4: 000022b9 .word 0x000022b9 + 2ef8: 00002c7d .word 0x00002c7d + +00002efc : +{ + 2efc: b530 push {r4, r5, lr} + 2efe: b083 sub sp, #12 + 2f00: 4604 mov r4, r0 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 358a: 4b0f ldr r3, [pc, #60] ; (35c8 ) - 358c: 4798 blx r3 - 358e: b968 cbnz r0, 35ac - 3590: 4b0e ldr r3, [pc, #56] ; (35cc ) - 3592: 9300 str r3, [sp, #0] - 3594: f640 0236 movw r2, #2102 ; 0x836 - 3598: 490d ldr r1, [pc, #52] ; (35d0 ) - 359a: 2003 movs r0, #3 - 359c: 4d0d ldr r5, [pc, #52] ; (35d4 ) - 359e: 47a8 blx r5 - 35a0: 4622 mov r2, r4 - 35a2: 2300 movs r3, #0 - 35a4: 480c ldr r0, [pc, #48] ; (35d8 ) - 35a6: 490d ldr r1, [pc, #52] ; (35dc ) - 35a8: 4788 blx r1 - 35aa: e7fe b.n 35aa + 2f02: 4b0f ldr r3, [pc, #60] ; (2f40 ) + 2f04: 4798 blx r3 + 2f06: b968 cbnz r0, 2f24 + 2f08: 4b0e ldr r3, [pc, #56] ; (2f44 ) + 2f0a: 9300 str r3, [sp, #0] + 2f0c: f640 0236 movw r2, #2102 ; 0x836 + 2f10: 490d ldr r1, [pc, #52] ; (2f48 ) + 2f12: 2003 movs r0, #3 + 2f14: 4d0d ldr r5, [pc, #52] ; (2f4c ) + 2f16: 47a8 blx r5 + 2f18: 4622 mov r2, r4 + 2f1a: 2300 movs r3, #0 + 2f1c: 480c ldr r0, [pc, #48] ; (2f50 ) + 2f1e: 490d ldr r1, [pc, #52] ; (2f54 ) + 2f20: 4788 blx r1 + 2f22: e7fe b.n 2f22 lv_obj_t * parent = lv_obj_get_parent(obj); - 35ac: 4620 mov r0, r4 - 35ae: 4b0c ldr r3, [pc, #48] ; (35e0 ) - 35b0: 4798 blx r3 + 2f24: 4620 mov r0, r4 + 2f26: 4b0c ldr r3, [pc, #48] ; (2f58 ) + 2f28: 4798 blx r3 if(parent) { - 35b2: 4603 mov r3, r0 - 35b4: b128 cbz r0, 35c2 + 2f2a: 4603 mov r3, r0 + 2f2c: b128 cbz r0, 2f3a rel_y = obj->coords.y1 - parent->coords.y1; - 35b6: 8a60 ldrh r0, [r4, #18] - 35b8: 8a5b ldrh r3, [r3, #18] - 35ba: 1ac0 subs r0, r0, r3 - 35bc: b200 sxth r0, r0 + 2f2e: 8a60 ldrh r0, [r4, #18] + 2f30: 8a5b ldrh r3, [r3, #18] + 2f32: 1ac0 subs r0, r0, r3 + 2f34: b200 sxth r0, r0 } - 35be: b003 add sp, #12 - 35c0: bd30 pop {r4, r5, pc} + 2f36: b003 add sp, #12 + 2f38: bd30 pop {r4, r5, pc} rel_y = obj->coords.y1; - 35c2: f9b4 0012 ldrsh.w r0, [r4, #18] - 35c6: e7fa b.n 35be - 35c8: 0000298d .word 0x0000298d - 35cc: 0001b7e0 .word 0x0001b7e0 - 35d0: 0001bcc0 .word 0x0001bcc0 - 35d4: 00012805 .word 0x00012805 - 35d8: 0001bd20 .word 0x0001bd20 - 35dc: 00002995 .word 0x00002995 - 35e0: 00003305 .word 0x00003305 - -000035e4 : -{ - 35e4: b530 push {r4, r5, lr} - 35e6: b083 sub sp, #12 - 35e8: 4604 mov r4, r0 + 2f3a: f9b4 0012 ldrsh.w r0, [r4, #18] + 2f3e: e7fa b.n 2f36 + 2f40: 000022b1 .word 0x000022b1 + 2f44: 000242fc .word 0x000242fc + 2f48: 000247dc .word 0x000247dc + 2f4c: 0001225d .word 0x0001225d + 2f50: 0002483c .word 0x0002483c + 2f54: 000022b9 .word 0x000022b9 + 2f58: 00002c7d .word 0x00002c7d + +00002f5c : +{ + 2f5c: b530 push {r4, r5, lr} + 2f5e: b083 sub sp, #12 + 2f60: 4604 mov r4, r0 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 35ea: 4b0c ldr r3, [pc, #48] ; (361c ) - 35ec: 4798 blx r3 - 35ee: b130 cbz r0, 35fe + 2f62: 4b0c ldr r3, [pc, #48] ; (2f94 ) + 2f64: 4798 blx r3 + 2f66: b130 cbz r0, 2f76 * @param area_p pointer to an area * @return the width of the area (if x1 == x2 -> width = 1) */ static inline lv_coord_t lv_area_get_width(const lv_area_t * area_p) { return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - 35f0: 8aa0 ldrh r0, [r4, #20] - 35f2: 3001 adds r0, #1 - 35f4: 8a23 ldrh r3, [r4, #16] - 35f6: 1ac0 subs r0, r0, r3 -} - 35f8: b200 sxth r0, r0 - 35fa: b003 add sp, #12 - 35fc: bd30 pop {r4, r5, pc} + 2f68: 8aa0 ldrh r0, [r4, #20] + 2f6a: 3001 adds r0, #1 + 2f6c: 8a23 ldrh r3, [r4, #16] + 2f6e: 1ac0 subs r0, r0, r3 +} + 2f70: b200 sxth r0, r0 + 2f72: b003 add sp, #12 + 2f74: bd30 pop {r4, r5, pc} LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 35fe: 4b08 ldr r3, [pc, #32] ; (3620 ) - 3600: 9300 str r3, [sp, #0] - 3602: f640 024a movw r2, #2122 ; 0x84a - 3606: 4907 ldr r1, [pc, #28] ; (3624 ) - 3608: 2003 movs r0, #3 - 360a: 4d07 ldr r5, [pc, #28] ; (3628 ) - 360c: 47a8 blx r5 - 360e: 4622 mov r2, r4 - 3610: 2300 movs r3, #0 - 3612: 4806 ldr r0, [pc, #24] ; (362c ) - 3614: 4906 ldr r1, [pc, #24] ; (3630 ) - 3616: 4788 blx r1 - 3618: e7fe b.n 3618 - 361a: bf00 nop - 361c: 0000298d .word 0x0000298d - 3620: 0001b7f0 .word 0x0001b7f0 - 3624: 0001bcc0 .word 0x0001bcc0 - 3628: 00012805 .word 0x00012805 - 362c: 0001bd20 .word 0x0001bd20 - 3630: 00002995 .word 0x00002995 - -00003634 : -{ - 3634: b530 push {r4, r5, lr} - 3636: b083 sub sp, #12 - 3638: 4604 mov r4, r0 + 2f76: 4b08 ldr r3, [pc, #32] ; (2f98 ) + 2f78: 9300 str r3, [sp, #0] + 2f7a: f640 024a movw r2, #2122 ; 0x84a + 2f7e: 4907 ldr r1, [pc, #28] ; (2f9c ) + 2f80: 2003 movs r0, #3 + 2f82: 4d07 ldr r5, [pc, #28] ; (2fa0 ) + 2f84: 47a8 blx r5 + 2f86: 4622 mov r2, r4 + 2f88: 2300 movs r3, #0 + 2f8a: 4806 ldr r0, [pc, #24] ; (2fa4 ) + 2f8c: 4906 ldr r1, [pc, #24] ; (2fa8 ) + 2f8e: 4788 blx r1 + 2f90: e7fe b.n 2f90 + 2f92: bf00 nop + 2f94: 000022b1 .word 0x000022b1 + 2f98: 0002430c .word 0x0002430c + 2f9c: 000247dc .word 0x000247dc + 2fa0: 0001225d .word 0x0001225d + 2fa4: 0002483c .word 0x0002483c + 2fa8: 000022b9 .word 0x000022b9 + +00002fac : +{ + 2fac: b530 push {r4, r5, lr} + 2fae: b083 sub sp, #12 + 2fb0: 4604 mov r4, r0 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 363a: 4b0c ldr r3, [pc, #48] ; (366c ) - 363c: 4798 blx r3 - 363e: b130 cbz r0, 364e + 2fb2: 4b0c ldr r3, [pc, #48] ; (2fe4 ) + 2fb4: 4798 blx r3 + 2fb6: b130 cbz r0, 2fc6 * @param area_p pointer to an area * @return the height of the area (if y1 == y2 -> height = 1) */ static inline lv_coord_t lv_area_get_height(const lv_area_t * area_p) { return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - 3640: 8ae0 ldrh r0, [r4, #22] - 3642: 3001 adds r0, #1 - 3644: 8a63 ldrh r3, [r4, #18] - 3646: 1ac0 subs r0, r0, r3 -} - 3648: b200 sxth r0, r0 - 364a: b003 add sp, #12 - 364c: bd30 pop {r4, r5, pc} + 2fb8: 8ae0 ldrh r0, [r4, #22] + 2fba: 3001 adds r0, #1 + 2fbc: 8a63 ldrh r3, [r4, #18] + 2fbe: 1ac0 subs r0, r0, r3 +} + 2fc0: b200 sxth r0, r0 + 2fc2: b003 add sp, #12 + 2fc4: bd30 pop {r4, r5, pc} LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 364e: 4b08 ldr r3, [pc, #32] ; (3670 ) - 3650: 9300 str r3, [sp, #0] - 3652: f640 0256 movw r2, #2134 ; 0x856 - 3656: 4907 ldr r1, [pc, #28] ; (3674 ) - 3658: 2003 movs r0, #3 - 365a: 4d07 ldr r5, [pc, #28] ; (3678 ) - 365c: 47a8 blx r5 - 365e: 4622 mov r2, r4 - 3660: 2300 movs r3, #0 - 3662: 4806 ldr r0, [pc, #24] ; (367c ) - 3664: 4906 ldr r1, [pc, #24] ; (3680 ) - 3666: 4788 blx r1 - 3668: e7fe b.n 3668 - 366a: bf00 nop - 366c: 0000298d .word 0x0000298d - 3670: 0001b804 .word 0x0001b804 - 3674: 0001bcc0 .word 0x0001bcc0 - 3678: 00012805 .word 0x00012805 - 367c: 0001bd20 .word 0x0001bd20 - 3680: 00002995 .word 0x00002995 - -00003684 : + 2fc6: 4b08 ldr r3, [pc, #32] ; (2fe8 ) + 2fc8: 9300 str r3, [sp, #0] + 2fca: f640 0256 movw r2, #2134 ; 0x856 + 2fce: 4907 ldr r1, [pc, #28] ; (2fec ) + 2fd0: 2003 movs r0, #3 + 2fd2: 4d07 ldr r5, [pc, #28] ; (2ff0 ) + 2fd4: 47a8 blx r5 + 2fd6: 4622 mov r2, r4 + 2fd8: 2300 movs r3, #0 + 2fda: 4806 ldr r0, [pc, #24] ; (2ff4 ) + 2fdc: 4906 ldr r1, [pc, #24] ; (2ff8 ) + 2fde: 4788 blx r1 + 2fe0: e7fe b.n 2fe0 + 2fe2: bf00 nop + 2fe4: 000022b1 .word 0x000022b1 + 2fe8: 00024320 .word 0x00024320 + 2fec: 000247dc .word 0x000247dc + 2ff0: 0001225d .word 0x0001225d + 2ff4: 0002483c .word 0x0002483c + 2ff8: 000022b9 .word 0x000022b9 + +00002ffc : if(part == LV_OBJ_PART_MAIN) return &((lv_obj_t *)obj)->style_list; - 3684: b909 cbnz r1, 368a - 3686: 3028 adds r0, #40 ; 0x28 - 3688: 4770 bx lr + 2ffc: b909 cbnz r1, 3002 + 2ffe: 3028 adds r0, #40 ; 0x28 + 3000: 4770 bx lr { - 368a: b500 push {lr} - 368c: b083 sub sp, #12 + 3002: b500 push {lr} + 3004: b083 sub sp, #12 info.part = part; - 368e: f88d 1000 strb.w r1, [sp] + 3006: f88d 1000 strb.w r1, [sp] info.result = NULL; - 3692: 2300 movs r3, #0 - 3694: 9301 str r3, [sp, #4] + 300a: 2300 movs r3, #0 + 300c: 9301 str r3, [sp, #4] res = lv_signal_send((lv_obj_t *)obj, LV_SIGNAL_GET_STYLE, &info); - 3696: 466a mov r2, sp - 3698: 2108 movs r1, #8 - 369a: 4b04 ldr r3, [pc, #16] ; (36ac ) - 369c: 4798 blx r3 + 300e: 466a mov r2, sp + 3010: 2108 movs r1, #8 + 3012: 4b04 ldr r3, [pc, #16] ; (3024 ) + 3014: 4798 blx r3 if(res != LV_RES_OK) return NULL; - 369e: 2801 cmp r0, #1 + 3016: 2801 cmp r0, #1 return info.result; - 36a0: bf0c ite eq - 36a2: 9801 ldreq r0, [sp, #4] + 3018: bf0c ite eq + 301a: 9801 ldreq r0, [sp, #4] if(res != LV_RES_OK) return NULL; - 36a4: 2000 movne r0, #0 + 301c: 2000 movne r0, #0 } - 36a6: b003 add sp, #12 - 36a8: f85d fb04 ldr.w pc, [sp], #4 - 36ac: 000031fd .word 0x000031fd + 301e: b003 add sp, #12 + 3020: f85d fb04 ldr.w pc, [sp], #4 + 3024: 00002b75 .word 0x00002b75 -000036b0 : +00003028 : * @param part a part of object or 0xFF to remove from all parts * @param prop a property or 0xFF to remove all porpeties * @param tr_limit delete transitions only "older" then this. `NULL` is not used */ static void trans_del(lv_obj_t * obj, uint8_t part, lv_style_property_t prop, lv_style_trans_t * tr_limit) { - 36b0: e92d 4ff8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr} - 36b4: 4680 mov r8, r0 - 36b6: 468a mov sl, r1 - 36b8: 4693 mov fp, r2 - 36ba: 461e mov r6, r3 + 3028: e92d 4ff8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr} + 302c: 4680 mov r8, r0 + 302e: 468a mov sl, r1 + 3030: 4693 mov fp, r2 + 3032: 461e mov r6, r3 lv_style_trans_t * tr; lv_style_trans_t * tr_prev; tr = _lv_ll_get_tail(&LV_GC_ROOT(_lv_obj_style_trans_ll)); - 36bc: 481c ldr r0, [pc, #112] ; (3730 ) - 36be: 4b1d ldr r3, [pc, #116] ; (3734 ) - 36c0: 4798 blx r3 + 3034: 481c ldr r0, [pc, #112] ; (30a8 ) + 3036: 4b1d ldr r3, [pc, #116] ; (30ac ) + 3038: 4798 blx r3 while(tr != NULL) { - 36c2: 2800 cmp r0, #0 - 36c4: d031 beq.n 372a - 36c6: 4605 mov r5, r0 + 303a: 2800 cmp r0, #0 + 303c: d031 beq.n 30a2 + 303e: 4605 mov r5, r0 if(tr == tr_limit) break; - 36c8: 42b0 cmp r0, r6 - 36ca: d02e beq.n 372a + 3040: 42b0 cmp r0, r6 + 3042: d02e beq.n 30a2 /*'tr' might be deleted, so get the next object while 'tr' is valid*/ tr_prev = _lv_ll_get_prev(&LV_GC_ROOT(_lv_obj_style_trans_ll), tr); - 36cc: f8df 9060 ldr.w r9, [pc, #96] ; 3730 - 36d0: 4f19 ldr r7, [pc, #100] ; (3738 ) - 36d2: e009 b.n 36e8 + 3044: f8df 9060 ldr.w r9, [pc, #96] ; 30a8 + 3048: 4f19 ldr r7, [pc, #100] ; (30b0 ) + 304a: e009 b.n 3060 if(tr->obj == obj && (part == tr->part || part == 0xFF) && (prop == tr->prop || prop == 0xFF)) { - 36d4: 88ab ldrh r3, [r5, #4] - 36d6: 455b cmp r3, fp - 36d8: d014 beq.n 3704 - 36da: f1bb 0fff cmp.w fp, #255 ; 0xff - 36de: d011 beq.n 3704 + 304c: 88ab ldrh r3, [r5, #4] + 304e: 455b cmp r3, fp + 3050: d014 beq.n 307c + 3052: f1bb 0fff cmp.w fp, #255 ; 0xff + 3056: d011 beq.n 307c while(tr != NULL) { - 36e0: b31c cbz r4, 372a - 36e2: 4625 mov r5, r4 + 3058: b31c cbz r4, 30a2 + 305a: 4625 mov r5, r4 if(tr == tr_limit) break; - 36e4: 42a6 cmp r6, r4 - 36e6: d020 beq.n 372a + 305c: 42a6 cmp r6, r4 + 305e: d020 beq.n 30a2 tr_prev = _lv_ll_get_prev(&LV_GC_ROOT(_lv_obj_style_trans_ll), tr); - 36e8: 4629 mov r1, r5 - 36ea: 4648 mov r0, r9 - 36ec: 47b8 blx r7 - 36ee: 4604 mov r4, r0 + 3060: 4629 mov r1, r5 + 3062: 4648 mov r0, r9 + 3064: 47b8 blx r7 + 3066: 4604 mov r4, r0 if(tr->obj == obj && (part == tr->part || part == 0xFF) && (prop == tr->prop || prop == 0xFF)) { - 36f0: 6828 ldr r0, [r5, #0] - 36f2: 4540 cmp r0, r8 - 36f4: d1f4 bne.n 36e0 - 36f6: 79a9 ldrb r1, [r5, #6] - 36f8: 4551 cmp r1, sl - 36fa: d0eb beq.n 36d4 - 36fc: f1ba 0fff cmp.w sl, #255 ; 0xff - 3700: d1ee bne.n 36e0 - 3702: e7e7 b.n 36d4 + 3068: 6828 ldr r0, [r5, #0] + 306a: 4540 cmp r0, r8 + 306c: d1f4 bne.n 3058 + 306e: 79a9 ldrb r1, [r5, #6] + 3070: 4551 cmp r1, sl + 3072: d0eb beq.n 304c + 3074: f1ba 0fff cmp.w sl, #255 ; 0xff + 3078: d1ee bne.n 3058 + 307a: e7e7 b.n 304c /* Remove the transitioned property from trans. style * to allow changing it by normal styles*/ lv_style_list_t * list = lv_obj_get_style_list(tr->obj, tr->part); - 3704: 4b0d ldr r3, [pc, #52] ; (373c ) - 3706: 4798 blx r3 + 307c: 4b0d ldr r3, [pc, #52] ; (30b4 ) + 307e: 4798 blx r3 lv_style_t * style_trans = _lv_style_list_get_transition_style(list); - 3708: 4b0d ldr r3, [pc, #52] ; (3740 ) - 370a: 4798 blx r3 + 3080: 4b0d ldr r3, [pc, #52] ; (30b8 ) + 3082: 4798 blx r3 lv_style_remove_prop(style_trans, tr->prop); - 370c: 88a9 ldrh r1, [r5, #4] - 370e: 4b0d ldr r3, [pc, #52] ; (3744 ) - 3710: 4798 blx r3 + 3084: 88a9 ldrh r1, [r5, #4] + 3086: 4b0d ldr r3, [pc, #52] ; (30bc ) + 3088: 4798 blx r3 lv_anim_del(tr, NULL); - 3712: 2100 movs r1, #0 - 3714: 4628 mov r0, r5 - 3716: 4b0c ldr r3, [pc, #48] ; (3748 ) - 3718: 4798 blx r3 + 308a: 2100 movs r1, #0 + 308c: 4628 mov r0, r5 + 308e: 4b0c ldr r3, [pc, #48] ; (30c0 ) + 3090: 4798 blx r3 _lv_ll_remove(&LV_GC_ROOT(_lv_obj_style_trans_ll), tr); - 371a: 4629 mov r1, r5 - 371c: 4648 mov r0, r9 - 371e: 4b0b ldr r3, [pc, #44] ; (374c ) - 3720: 4798 blx r3 + 3092: 4629 mov r1, r5 + 3094: 4648 mov r0, r9 + 3096: 4b0b ldr r3, [pc, #44] ; (30c4 ) + 3098: 4798 blx r3 lv_mem_free(tr); - 3722: 4628 mov r0, r5 - 3724: 4b0a ldr r3, [pc, #40] ; (3750 ) - 3726: 4798 blx r3 - 3728: e7da b.n 36e0 - 372a: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} - 372e: bf00 nop - 3730: 20006d58 .word 0x20006d58 - 3734: 0001255b .word 0x0001255b - 3738: 00012591 .word 0x00012591 - 373c: 00003685 .word 0x00003685 - 3740: 0000768f .word 0x0000768f - 3744: 00006d95 .word 0x00006d95 - 3748: 000118d1 .word 0x000118d1 - 374c: 0001263d .word 0x0001263d - 3750: 00012a6d .word 0x00012a6d - -00003754 : -{ - 3754: b530 push {r4, r5, lr} - 3756: b083 sub sp, #12 - 3758: 4604 mov r4, r0 - 375a: 460d mov r5, r1 + 309a: 4628 mov r0, r5 + 309c: 4b0a ldr r3, [pc, #40] ; (30c8 ) + 309e: 4798 blx r3 + 30a0: e7da b.n 3058 + 30a2: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} + 30a6: bf00 nop + 30a8: 20006d3c .word 0x20006d3c + 30ac: 00011fb3 .word 0x00011fb3 + 30b0: 00011fe9 .word 0x00011fe9 + 30b4: 00002ffd .word 0x00002ffd + 30b8: 000070e7 .word 0x000070e7 + 30bc: 000067ed .word 0x000067ed + 30c0: 00011329 .word 0x00011329 + 30c4: 00012095 .word 0x00012095 + 30c8: 000124c5 .word 0x000124c5 + +000030cc : +{ + 30cc: b530 push {r4, r5, lr} + 30ce: b083 sub sp, #12 + 30d0: 4604 mov r4, r0 + 30d2: 460d mov r5, r1 lv_style_list_t * style_dsc = lv_obj_get_style_list(obj, part); - 375c: 4b0b ldr r3, [pc, #44] ; (378c ) - 375e: 4798 blx r3 + 30d4: 4b0b ldr r3, [pc, #44] ; (3104 ) + 30d6: 4798 blx r3 if(style_dsc == NULL) { - 3760: b148 cbz r0, 3776 + 30d8: b148 cbz r0, 30ee _lv_style_list_reset(style_dsc); - 3762: 4b0b ldr r3, [pc, #44] ; (3790 ) - 3764: 4798 blx r3 + 30da: 4b0b ldr r3, [pc, #44] ; (3108 ) + 30dc: 4798 blx r3 trans_del(obj, part, 0xFF, NULL); - 3766: 2300 movs r3, #0 - 3768: 22ff movs r2, #255 ; 0xff - 376a: 4629 mov r1, r5 - 376c: 4620 mov r0, r4 - 376e: 4c09 ldr r4, [pc, #36] ; (3794 ) - 3770: 47a0 blx r4 -} - 3772: b003 add sp, #12 - 3774: bd30 pop {r4, r5, pc} + 30de: 2300 movs r3, #0 + 30e0: 22ff movs r2, #255 ; 0xff + 30e2: 4629 mov r1, r5 + 30e4: 4620 mov r0, r4 + 30e6: 4c09 ldr r4, [pc, #36] ; (310c ) + 30e8: 47a0 blx r4 +} + 30ea: b003 add sp, #12 + 30ec: bd30 pop {r4, r5, pc} LV_LOG_WARN("lv_obj_clean_style_list: can't find style with `part`"); - 3776: 4b08 ldr r3, [pc, #32] ; (3798 ) - 3778: 9300 str r3, [sp, #0] - 377a: 4b08 ldr r3, [pc, #32] ; (379c ) - 377c: f240 4292 movw r2, #1170 ; 0x492 - 3780: 4907 ldr r1, [pc, #28] ; (37a0 ) - 3782: 2002 movs r0, #2 - 3784: 4c07 ldr r4, [pc, #28] ; (37a4 ) - 3786: 47a0 blx r4 + 30ee: 4b08 ldr r3, [pc, #32] ; (3110 ) + 30f0: 9300 str r3, [sp, #0] + 30f2: 4b08 ldr r3, [pc, #32] ; (3114 ) + 30f4: f240 4292 movw r2, #1170 ; 0x492 + 30f8: 4907 ldr r1, [pc, #28] ; (3118 ) + 30fa: 2002 movs r0, #2 + 30fc: 4c07 ldr r4, [pc, #28] ; (311c ) + 30fe: 47a0 blx r4 return; - 3788: e7f3 b.n 3772 - 378a: bf00 nop - 378c: 00003685 .word 0x00003685 - 3790: 000076a1 .word 0x000076a1 - 3794: 000036b1 .word 0x000036b1 - 3798: 0001bd7c .word 0x0001bd7c - 379c: 0001b8c8 .word 0x0001b8c8 - 37a0: 0001bcc0 .word 0x0001bcc0 - 37a4: 00012805 .word 0x00012805 - -000037a8 : + 3100: e7f3 b.n 30ea + 3102: bf00 nop + 3104: 00002ffd .word 0x00002ffd + 3108: 000070f9 .word 0x000070f9 + 310c: 00003029 .word 0x00003029 + 3110: 00024898 .word 0x00024898 + 3114: 000243e4 .word 0x000243e4 + 3118: 000247dc .word 0x000247dc + 311c: 0001225d .word 0x0001225d + +00003120 : tr->prop = prop_tmp; } static void trans_anim_ready_cb(lv_anim_t * a) { - 37a8: b5f8 push {r3, r4, r5, r6, r7, lr} + 3120: b5f8 push {r3, r4, r5, r6, r7, lr} lv_style_trans_t * tr = a->var; - 37aa: 6804 ldr r4, [r0, #0] + 3122: 6804 ldr r4, [r0, #0] * if there no more transitions for this property * It allows changing it by normal styles*/ bool running = false; lv_style_trans_t * tr_i; _LV_LL_READ(LV_GC_ROOT(_lv_obj_style_trans_ll), tr_i) { - 37ac: 4817 ldr r0, [pc, #92] ; (380c ) - 37ae: 4b18 ldr r3, [pc, #96] ; (3810 ) - 37b0: 4798 blx r3 - 37b2: b308 cbz r0, 37f8 - 37b4: 4601 mov r1, r0 - 37b6: 2700 movs r7, #0 - 37b8: 4e14 ldr r6, [pc, #80] ; (380c ) - 37ba: 4d16 ldr r5, [pc, #88] ; (3814 ) - 37bc: e003 b.n 37c6 - 37be: 4630 mov r0, r6 - 37c0: 47a8 blx r5 - 37c2: 4601 mov r1, r0 - 37c4: b178 cbz r0, 37e6 + 3124: 4817 ldr r0, [pc, #92] ; (3184 ) + 3126: 4b18 ldr r3, [pc, #96] ; (3188 ) + 3128: 4798 blx r3 + 312a: b308 cbz r0, 3170 + 312c: 4601 mov r1, r0 + 312e: 2700 movs r7, #0 + 3130: 4e14 ldr r6, [pc, #80] ; (3184 ) + 3132: 4d16 ldr r5, [pc, #88] ; (318c ) + 3134: e003 b.n 313e + 3136: 4630 mov r0, r6 + 3138: 47a8 blx r5 + 313a: 4601 mov r1, r0 + 313c: b178 cbz r0, 315e if(tr_i != tr && tr_i->obj == tr->obj && tr_i->part == tr->part && tr_i->prop == tr->prop) { - 37c6: 428c cmp r4, r1 - 37c8: d0f9 beq.n 37be - 37ca: 680a ldr r2, [r1, #0] - 37cc: 6823 ldr r3, [r4, #0] - 37ce: 429a cmp r2, r3 - 37d0: d1f5 bne.n 37be - 37d2: 684b ldr r3, [r1, #4] - 37d4: f023 427f bic.w r2, r3, #4278190080 ; 0xff000000 - 37d8: 6863 ldr r3, [r4, #4] - 37da: f023 437f bic.w r3, r3, #4278190080 ; 0xff000000 + 313e: 428c cmp r4, r1 + 3140: d0f9 beq.n 3136 + 3142: 680a ldr r2, [r1, #0] + 3144: 6823 ldr r3, [r4, #0] + 3146: 429a cmp r2, r3 + 3148: d1f5 bne.n 3136 + 314a: 684b ldr r3, [r1, #4] + 314c: f023 427f bic.w r2, r3, #4278190080 ; 0xff000000 + 3150: 6863 ldr r3, [r4, #4] + 3152: f023 437f bic.w r3, r3, #4278190080 ; 0xff000000 running = true; - 37de: 429a cmp r2, r3 - 37e0: bf08 it eq - 37e2: 2701 moveq r7, #1 - 37e4: e7eb b.n 37be + 3156: 429a cmp r2, r3 + 3158: bf08 it eq + 315a: 2701 moveq r7, #1 + 315c: e7eb b.n 3136 } } if(!running) { - 37e6: b13f cbz r7, 37f8 + 315e: b13f cbz r7, 3170 lv_style_list_t * list = lv_obj_get_style_list(tr->obj, tr->part); lv_style_t * style_trans = _lv_style_list_get_transition_style(list); lv_style_remove_prop(style_trans, tr->prop); } _lv_ll_remove(&LV_GC_ROOT(_lv_obj_style_trans_ll), tr); - 37e8: 4621 mov r1, r4 - 37ea: 4808 ldr r0, [pc, #32] ; (380c ) - 37ec: 4b0a ldr r3, [pc, #40] ; (3818 ) - 37ee: 4798 blx r3 + 3160: 4621 mov r1, r4 + 3162: 4808 ldr r0, [pc, #32] ; (3184 ) + 3164: 4b0a ldr r3, [pc, #40] ; (3190 ) + 3166: 4798 blx r3 lv_mem_free(tr); - 37f0: 4620 mov r0, r4 - 37f2: 4b0a ldr r3, [pc, #40] ; (381c ) - 37f4: 4798 blx r3 - 37f6: bdf8 pop {r3, r4, r5, r6, r7, pc} + 3168: 4620 mov r0, r4 + 316a: 4b0a ldr r3, [pc, #40] ; (3194 ) + 316c: 4798 blx r3 + 316e: bdf8 pop {r3, r4, r5, r6, r7, pc} lv_style_list_t * list = lv_obj_get_style_list(tr->obj, tr->part); - 37f8: 79a1 ldrb r1, [r4, #6] - 37fa: 6820 ldr r0, [r4, #0] - 37fc: 4b08 ldr r3, [pc, #32] ; (3820 ) - 37fe: 4798 blx r3 + 3170: 79a1 ldrb r1, [r4, #6] + 3172: 6820 ldr r0, [r4, #0] + 3174: 4b08 ldr r3, [pc, #32] ; (3198 ) + 3176: 4798 blx r3 lv_style_t * style_trans = _lv_style_list_get_transition_style(list); - 3800: 4b08 ldr r3, [pc, #32] ; (3824 ) - 3802: 4798 blx r3 + 3178: 4b08 ldr r3, [pc, #32] ; (319c ) + 317a: 4798 blx r3 lv_style_remove_prop(style_trans, tr->prop); - 3804: 88a1 ldrh r1, [r4, #4] - 3806: 4b08 ldr r3, [pc, #32] ; (3828 ) - 3808: 4798 blx r3 - 380a: e7ed b.n 37e8 - 380c: 20006d58 .word 0x20006d58 - 3810: 00012551 .word 0x00012551 - 3814: 00012565 .word 0x00012565 - 3818: 0001263d .word 0x0001263d - 381c: 00012a6d .word 0x00012a6d - 3820: 00003685 .word 0x00003685 - 3824: 0000768f .word 0x0000768f - 3828: 00006d95 .word 0x00006d95 - -0000382c : -{ - 382c: b530 push {r4, r5, lr} - 382e: b083 sub sp, #12 - 3830: 4604 mov r4, r0 + 317c: 88a1 ldrh r1, [r4, #4] + 317e: 4b08 ldr r3, [pc, #32] ; (31a0 ) + 3180: 4798 blx r3 + 3182: e7ed b.n 3160 + 3184: 20006d3c .word 0x20006d3c + 3188: 00011fa9 .word 0x00011fa9 + 318c: 00011fbd .word 0x00011fbd + 3190: 00012095 .word 0x00012095 + 3194: 000124c5 .word 0x000124c5 + 3198: 00002ffd .word 0x00002ffd + 319c: 000070e7 .word 0x000070e7 + 31a0: 000067ed .word 0x000067ed + +000031a4 : +{ + 31a4: b530 push {r4, r5, lr} + 31a6: b083 sub sp, #12 + 31a8: 4604 mov r4, r0 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 3832: 4b0b ldr r3, [pc, #44] ; (3860 ) - 3834: 4798 blx r3 - 3836: b128 cbz r0, 3844 + 31aa: 4b0b ldr r3, [pc, #44] ; (31d8 ) + 31ac: 4798 blx r3 + 31ae: b128 cbz r0, 31bc return obj->hidden == 0 ? false : true; - 3838: f894 0034 ldrb.w r0, [r4, #52] ; 0x34 + 31b0: f894 0034 ldrb.w r0, [r4, #52] ; 0x34 } - 383c: f3c0 1000 ubfx r0, r0, #4, #1 - 3840: b003 add sp, #12 - 3842: bd30 pop {r4, r5, pc} + 31b4: f3c0 1000 ubfx r0, r0, #4, #1 + 31b8: b003 add sp, #12 + 31ba: bd30 pop {r4, r5, pc} LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 3844: 4b07 ldr r3, [pc, #28] ; (3864 ) - 3846: 9300 str r3, [sp, #0] - 3848: f640 2241 movw r2, #2625 ; 0xa41 - 384c: 4906 ldr r1, [pc, #24] ; (3868 ) - 384e: 2003 movs r0, #3 - 3850: 4d06 ldr r5, [pc, #24] ; (386c ) - 3852: 47a8 blx r5 - 3854: 4622 mov r2, r4 - 3856: 2300 movs r3, #0 - 3858: 4805 ldr r0, [pc, #20] ; (3870 ) - 385a: 4906 ldr r1, [pc, #24] ; (3874 ) - 385c: 4788 blx r1 - 385e: e7fe b.n 385e - 3860: 0000298d .word 0x0000298d - 3864: 0001b918 .word 0x0001b918 - 3868: 0001bcc0 .word 0x0001bcc0 - 386c: 00012805 .word 0x00012805 - 3870: 0001bd20 .word 0x0001bd20 - 3874: 00002995 .word 0x00002995 - -00003878 : -{ - 3878: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - 387c: b086 sub sp, #24 - 387e: 4604 mov r4, r0 - 3880: 460e mov r6, r1 + 31bc: 4b07 ldr r3, [pc, #28] ; (31dc ) + 31be: 9300 str r3, [sp, #0] + 31c0: f640 2241 movw r2, #2625 ; 0xa41 + 31c4: 4906 ldr r1, [pc, #24] ; (31e0 ) + 31c6: 2003 movs r0, #3 + 31c8: 4d06 ldr r5, [pc, #24] ; (31e4 ) + 31ca: 47a8 blx r5 + 31cc: 4622 mov r2, r4 + 31ce: 2300 movs r3, #0 + 31d0: 4805 ldr r0, [pc, #20] ; (31e8 ) + 31d2: 4906 ldr r1, [pc, #24] ; (31ec ) + 31d4: 4788 blx r1 + 31d6: e7fe b.n 31d6 + 31d8: 000022b1 .word 0x000022b1 + 31dc: 00024434 .word 0x00024434 + 31e0: 000247dc .word 0x000247dc + 31e4: 0001225d .word 0x0001225d + 31e8: 0002483c .word 0x0002483c + 31ec: 000022b9 .word 0x000022b9 + +000031f0 : +{ + 31f0: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} + 31f4: b086 sub sp, #24 + 31f6: 4604 mov r4, r0 + 31f8: 460e mov r6, r1 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 3882: 4b3a ldr r3, [pc, #232] ; (396c ) - 3884: 4798 blx r3 - 3886: b968 cbnz r0, 38a4 - 3888: 4b39 ldr r3, [pc, #228] ; (3970 ) - 388a: 9300 str r3, [sp, #0] - 388c: f44f 72f0 mov.w r2, #480 ; 0x1e0 - 3890: 4938 ldr r1, [pc, #224] ; (3974 ) - 3892: 2003 movs r0, #3 - 3894: 4d38 ldr r5, [pc, #224] ; (3978 ) - 3896: 47a8 blx r5 - 3898: 4622 mov r2, r4 - 389a: 2300 movs r3, #0 - 389c: 4837 ldr r0, [pc, #220] ; (397c ) - 389e: 4938 ldr r1, [pc, #224] ; (3980 ) - 38a0: 4788 blx r1 - 38a2: e7fe b.n 38a2 + 31fa: 4b3a ldr r3, [pc, #232] ; (32e4 ) + 31fc: 4798 blx r3 + 31fe: b968 cbnz r0, 321c + 3200: 4b39 ldr r3, [pc, #228] ; (32e8 ) + 3202: 9300 str r3, [sp, #0] + 3204: f44f 72f0 mov.w r2, #480 ; 0x1e0 + 3208: 4938 ldr r1, [pc, #224] ; (32ec ) + 320a: 2003 movs r0, #3 + 320c: 4d38 ldr r5, [pc, #224] ; (32f0 ) + 320e: 47a8 blx r5 + 3210: 4622 mov r2, r4 + 3212: 2300 movs r3, #0 + 3214: 4837 ldr r0, [pc, #220] ; (32f4 ) + 3216: 4938 ldr r1, [pc, #224] ; (32f8 ) + 3218: 4788 blx r1 + 321a: e7fe b.n 321a if(lv_obj_get_hidden(obj)) return; - 38a4: 4620 mov r0, r4 - 38a6: 4b37 ldr r3, [pc, #220] ; (3984 ) - 38a8: 4798 blx r3 - 38aa: b110 cbz r0, 38b2 + 321c: 4620 mov r0, r4 + 321e: 4b37 ldr r3, [pc, #220] ; (32fc ) + 3220: 4798 blx r3 + 3222: b110 cbz r0, 322a } - 38ac: b006 add sp, #24 - 38ae: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + 3224: b006 add sp, #24 + 3226: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} lv_obj_t * obj_scr = lv_obj_get_screen(obj); - 38b2: 4620 mov r0, r4 - 38b4: 4b34 ldr r3, [pc, #208] ; (3988 ) - 38b6: 4798 blx r3 - 38b8: 4607 mov r7, r0 + 322a: 4620 mov r0, r4 + 322c: 4b34 ldr r3, [pc, #208] ; (3300 ) + 322e: 4798 blx r3 + 3230: 4607 mov r7, r0 lv_disp_t * disp = lv_obj_get_disp(obj_scr); - 38ba: 4b34 ldr r3, [pc, #208] ; (398c ) - 38bc: 4798 blx r3 - 38be: 4605 mov r5, r0 + 3232: 4b34 ldr r3, [pc, #208] ; (3304 ) + 3234: 4798 blx r3 + 3236: 4605 mov r5, r0 if(obj_scr == lv_disp_get_scr_act(disp) || obj_scr == lv_disp_get_layer_top(disp) || - 38c0: 4b33 ldr r3, [pc, #204] ; (3990 ) - 38c2: 4798 blx r3 - 38c4: 4287 cmp r7, r0 - 38c6: d009 beq.n 38dc - 38c8: 4628 mov r0, r5 - 38ca: 4b32 ldr r3, [pc, #200] ; (3994 ) - 38cc: 4798 blx r3 - 38ce: 4287 cmp r7, r0 - 38d0: d004 beq.n 38dc + 3238: 4b33 ldr r3, [pc, #204] ; (3308 ) + 323a: 4798 blx r3 + 323c: 4287 cmp r7, r0 + 323e: d009 beq.n 3254 + 3240: 4628 mov r0, r5 + 3242: 4b32 ldr r3, [pc, #200] ; (330c ) + 3244: 4798 blx r3 + 3246: 4287 cmp r7, r0 + 3248: d004 beq.n 3254 obj_scr == lv_disp_get_layer_sys(disp)) { - 38d2: 4628 mov r0, r5 - 38d4: 4b30 ldr r3, [pc, #192] ; (3998 ) - 38d6: 4798 blx r3 + 324a: 4628 mov r0, r5 + 324c: 4b30 ldr r3, [pc, #192] ; (3310 ) + 324e: 4798 blx r3 if(obj_scr == lv_disp_get_scr_act(disp) || obj_scr == lv_disp_get_layer_top(disp) || - 38d8: 4287 cmp r7, r0 - 38da: d1e7 bne.n 38ac + 3250: 4287 cmp r7, r0 + 3252: d1e7 bne.n 3224 lv_coord_t ext_size = obj->ext_draw_pad; - 38dc: f9b4 3032 ldrsh.w r3, [r4, #50] ; 0x32 - 38e0: f104 020f add.w r2, r4, #15 - 38e4: f104 0017 add.w r0, r4, #23 + 3254: f9b4 3032 ldrsh.w r3, [r4, #50] ; 0x32 + 3258: f104 020f add.w r2, r4, #15 + 325c: f104 0017 add.w r0, r4, #23 uint8_t * d8 = (uint8_t *)dst; - 38e8: a902 add r1, sp, #8 + 3260: a902 add r1, sp, #8 *d8 = *s8; - 38ea: f812 7f01 ldrb.w r7, [r2, #1]! - 38ee: f801 7b01 strb.w r7, [r1], #1 + 3262: f812 7f01 ldrb.w r7, [r2, #1]! + 3266: f801 7b01 strb.w r7, [r1], #1 while(len) { - 38f2: 4282 cmp r2, r0 - 38f4: d1f9 bne.n 38ea + 326a: 4282 cmp r2, r0 + 326c: d1f9 bne.n 3262 obj_coords.x1 -= ext_size; - 38f6: b29b uxth r3, r3 - 38f8: f8bd 2008 ldrh.w r2, [sp, #8] - 38fc: 1ad2 subs r2, r2, r3 - 38fe: f8ad 2008 strh.w r2, [sp, #8] + 326e: b29b uxth r3, r3 + 3270: f8bd 2008 ldrh.w r2, [sp, #8] + 3274: 1ad2 subs r2, r2, r3 + 3276: f8ad 2008 strh.w r2, [sp, #8] obj_coords.y1 -= ext_size; - 3902: f8bd 200a ldrh.w r2, [sp, #10] - 3906: 1ad2 subs r2, r2, r3 - 3908: f8ad 200a strh.w r2, [sp, #10] + 327a: f8bd 200a ldrh.w r2, [sp, #10] + 327e: 1ad2 subs r2, r2, r3 + 3280: f8ad 200a strh.w r2, [sp, #10] obj_coords.x2 += ext_size; - 390c: f8bd 200c ldrh.w r2, [sp, #12] - 3910: 441a add r2, r3 - 3912: f8ad 200c strh.w r2, [sp, #12] + 3284: f8bd 200c ldrh.w r2, [sp, #12] + 3288: 441a add r2, r3 + 328a: f8ad 200c strh.w r2, [sp, #12] obj_coords.y2 += ext_size; - 3916: f8bd 200e ldrh.w r2, [sp, #14] - 391a: 4413 add r3, r2 - 391c: f8ad 300e strh.w r3, [sp, #14] + 328e: f8bd 200e ldrh.w r2, [sp, #14] + 3292: 4413 add r3, r2 + 3294: f8ad 300e strh.w r3, [sp, #14] is_common = _lv_area_intersect(&area_trunc, area, &obj_coords); - 3920: aa02 add r2, sp, #8 - 3922: 4631 mov r1, r6 - 3924: a804 add r0, sp, #16 - 3926: 4b1d ldr r3, [pc, #116] ; (399c ) - 3928: 4798 blx r3 + 3298: aa02 add r2, sp, #8 + 329a: 4631 mov r1, r6 + 329c: a804 add r0, sp, #16 + 329e: 4b1d ldr r3, [pc, #116] ; (3314 ) + 32a0: 4798 blx r3 if(is_common == false) return; /*The area is not on the object*/ - 392a: 2800 cmp r0, #0 - 392c: d0be beq.n 38ac + 32a2: 2800 cmp r0, #0 + 32a4: d0be beq.n 3224 lv_obj_t * par = lv_obj_get_parent(obj); - 392e: 4620 mov r0, r4 - 3930: 4b1b ldr r3, [pc, #108] ; (39a0 ) - 3932: 4798 blx r3 + 32a6: 4620 mov r0, r4 + 32a8: 4b1b ldr r3, [pc, #108] ; (3318 ) + 32aa: 4798 blx r3 while(par != NULL) { - 3934: 4604 mov r4, r0 - 3936: b198 cbz r0, 3960 + 32ac: 4604 mov r4, r0 + 32ae: b198 cbz r0, 32d8 is_common = _lv_area_intersect(&area_trunc, &area_trunc, &par->coords); - 3938: f8df 8060 ldr.w r8, [pc, #96] ; 399c + 32b0: f8df 8060 ldr.w r8, [pc, #96] ; 3314 if(lv_obj_get_hidden(par)) return; /*If the parent is hidden then the child is hidden and won't be drawn*/ - 393c: 4f11 ldr r7, [pc, #68] ; (3984 ) + 32b4: 4f11 ldr r7, [pc, #68] ; (32fc ) par = lv_obj_get_parent(par); - 393e: 4e18 ldr r6, [pc, #96] ; (39a0 ) + 32b6: 4e18 ldr r6, [pc, #96] ; (3318 ) is_common = _lv_area_intersect(&area_trunc, &area_trunc, &par->coords); - 3940: f104 0210 add.w r2, r4, #16 - 3944: a904 add r1, sp, #16 - 3946: 4608 mov r0, r1 - 3948: 47c0 blx r8 + 32b8: f104 0210 add.w r2, r4, #16 + 32bc: a904 add r1, sp, #16 + 32be: 4608 mov r0, r1 + 32c0: 47c0 blx r8 if(is_common == false) break; /*If no common parts with parent break;*/ - 394a: 2800 cmp r0, #0 - 394c: d0ae beq.n 38ac + 32c2: 2800 cmp r0, #0 + 32c4: d0ae beq.n 3224 if(lv_obj_get_hidden(par)) return; /*If the parent is hidden then the child is hidden and won't be drawn*/ - 394e: 4620 mov r0, r4 - 3950: 47b8 blx r7 - 3952: 2800 cmp r0, #0 - 3954: d1aa bne.n 38ac + 32c6: 4620 mov r0, r4 + 32c8: 47b8 blx r7 + 32ca: 2800 cmp r0, #0 + 32cc: d1aa bne.n 3224 par = lv_obj_get_parent(par); - 3956: 4620 mov r0, r4 - 3958: 47b0 blx r6 + 32ce: 4620 mov r0, r4 + 32d0: 47b0 blx r6 while(par != NULL) { - 395a: 4604 mov r4, r0 - 395c: 2800 cmp r0, #0 - 395e: d1ef bne.n 3940 + 32d2: 4604 mov r4, r0 + 32d4: 2800 cmp r0, #0 + 32d6: d1ef bne.n 32b8 if(is_common) _lv_inv_area(disp, &area_trunc); - 3960: a904 add r1, sp, #16 - 3962: 4628 mov r0, r5 - 3964: 4b0f ldr r3, [pc, #60] ; (39a4 ) - 3966: 4798 blx r3 - 3968: e7a0 b.n 38ac - 396a: bf00 nop - 396c: 0000298d .word 0x0000298d - 3970: 0001b92c .word 0x0001b92c - 3974: 0001bcc0 .word 0x0001bcc0 - 3978: 00012805 .word 0x00012805 - 397c: 0001bd20 .word 0x0001bd20 - 3980: 00002995 .word 0x00002995 - 3984: 0000382d .word 0x0000382d - 3988: 0000334d .word 0x0000334d - 398c: 000033a9 .word 0x000033a9 - 3990: 00002a29 .word 0x00002a29 - 3994: 00002a69 .word 0x00002a69 - 3998: 00002aa9 .word 0x00002aa9 - 399c: 00011ac1 .word 0x00011ac1 - 39a0: 00003305 .word 0x00003305 - 39a4: 00006401 .word 0x00006401 - -000039a8 : -{ - 39a8: b530 push {r4, r5, lr} - 39aa: b085 sub sp, #20 - 39ac: 4604 mov r4, r0 + 32d8: a904 add r1, sp, #16 + 32da: 4628 mov r0, r5 + 32dc: 4b0f ldr r3, [pc, #60] ; (331c ) + 32de: 4798 blx r3 + 32e0: e7a0 b.n 3224 + 32e2: bf00 nop + 32e4: 000022b1 .word 0x000022b1 + 32e8: 00024448 .word 0x00024448 + 32ec: 000247dc .word 0x000247dc + 32f0: 0001225d .word 0x0001225d + 32f4: 0002483c .word 0x0002483c + 32f8: 000022b9 .word 0x000022b9 + 32fc: 000031a5 .word 0x000031a5 + 3300: 00002cc5 .word 0x00002cc5 + 3304: 00002d21 .word 0x00002d21 + 3308: 0000234d .word 0x0000234d + 330c: 0000238d .word 0x0000238d + 3310: 000023cd .word 0x000023cd + 3314: 00011519 .word 0x00011519 + 3318: 00002c7d .word 0x00002c7d + 331c: 00005e59 .word 0x00005e59 + +00003320 : +{ + 3320: b530 push {r4, r5, lr} + 3322: b085 sub sp, #20 + 3324: 4604 mov r4, r0 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 39ae: 4b1c ldr r3, [pc, #112] ; (3a20 ) - 39b0: 4798 blx r3 - 39b2: b338 cbz r0, 3a04 + 3326: 4b1c ldr r3, [pc, #112] ; (3398 ) + 3328: 4798 blx r3 + 332a: b338 cbz r0, 337c lv_coord_t ext_size = obj->ext_draw_pad; - 39b4: f9b4 3032 ldrsh.w r3, [r4, #50] ; 0x32 - 39b8: f104 020f add.w r2, r4, #15 - 39bc: f104 0517 add.w r5, r4, #23 + 332c: f9b4 3032 ldrsh.w r3, [r4, #50] ; 0x32 + 3330: f104 020f add.w r2, r4, #15 + 3334: f104 0517 add.w r5, r4, #23 uint8_t * d8 = (uint8_t *)dst; - 39c0: a902 add r1, sp, #8 + 3338: a902 add r1, sp, #8 *d8 = *s8; - 39c2: f812 0f01 ldrb.w r0, [r2, #1]! - 39c6: f801 0b01 strb.w r0, [r1], #1 + 333a: f812 0f01 ldrb.w r0, [r2, #1]! + 333e: f801 0b01 strb.w r0, [r1], #1 while(len) { - 39ca: 42aa cmp r2, r5 - 39cc: d1f9 bne.n 39c2 + 3342: 42aa cmp r2, r5 + 3344: d1f9 bne.n 333a obj_coords.x1 -= ext_size; - 39ce: b29b uxth r3, r3 - 39d0: f8bd 2008 ldrh.w r2, [sp, #8] - 39d4: 1ad2 subs r2, r2, r3 - 39d6: f8ad 2008 strh.w r2, [sp, #8] + 3346: b29b uxth r3, r3 + 3348: f8bd 2008 ldrh.w r2, [sp, #8] + 334c: 1ad2 subs r2, r2, r3 + 334e: f8ad 2008 strh.w r2, [sp, #8] obj_coords.y1 -= ext_size; - 39da: f8bd 200a ldrh.w r2, [sp, #10] - 39de: 1ad2 subs r2, r2, r3 - 39e0: f8ad 200a strh.w r2, [sp, #10] + 3352: f8bd 200a ldrh.w r2, [sp, #10] + 3356: 1ad2 subs r2, r2, r3 + 3358: f8ad 200a strh.w r2, [sp, #10] obj_coords.x2 += ext_size; - 39e4: f8bd 200c ldrh.w r2, [sp, #12] - 39e8: 441a add r2, r3 - 39ea: f8ad 200c strh.w r2, [sp, #12] + 335c: f8bd 200c ldrh.w r2, [sp, #12] + 3360: 441a add r2, r3 + 3362: f8ad 200c strh.w r2, [sp, #12] obj_coords.y2 += ext_size; - 39ee: f8bd 200e ldrh.w r2, [sp, #14] - 39f2: 4413 add r3, r2 - 39f4: f8ad 300e strh.w r3, [sp, #14] + 3366: f8bd 200e ldrh.w r2, [sp, #14] + 336a: 4413 add r3, r2 + 336c: f8ad 300e strh.w r3, [sp, #14] lv_obj_invalidate_area(obj, &obj_coords); - 39f8: a902 add r1, sp, #8 - 39fa: 4620 mov r0, r4 - 39fc: 4b09 ldr r3, [pc, #36] ; (3a24 ) - 39fe: 4798 blx r3 + 3370: a902 add r1, sp, #8 + 3372: 4620 mov r0, r4 + 3374: 4b09 ldr r3, [pc, #36] ; (339c ) + 3376: 4798 blx r3 } - 3a00: b005 add sp, #20 - 3a02: bd30 pop {r4, r5, pc} + 3378: b005 add sp, #20 + 337a: bd30 pop {r4, r5, pc} LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 3a04: 4b08 ldr r3, [pc, #32] ; (3a28 ) - 3a06: 9300 str r3, [sp, #0] - 3a08: f240 220d movw r2, #525 ; 0x20d - 3a0c: 4907 ldr r1, [pc, #28] ; (3a2c ) - 3a0e: 2003 movs r0, #3 - 3a10: 4d07 ldr r5, [pc, #28] ; (3a30 ) - 3a12: 47a8 blx r5 - 3a14: 4622 mov r2, r4 - 3a16: 2300 movs r3, #0 - 3a18: 4806 ldr r0, [pc, #24] ; (3a34 ) - 3a1a: 4907 ldr r1, [pc, #28] ; (3a38 ) - 3a1c: 4788 blx r1 - 3a1e: e7fe b.n 3a1e - 3a20: 0000298d .word 0x0000298d - 3a24: 00003879 .word 0x00003879 - 3a28: 0001b944 .word 0x0001b944 - 3a2c: 0001bcc0 .word 0x0001bcc0 - 3a30: 00012805 .word 0x00012805 - 3a34: 0001bd20 .word 0x0001bd20 - 3a38: 00002995 .word 0x00002995 - -00003a3c : -{ - 3a3c: b5f0 push {r4, r5, r6, r7, lr} - 3a3e: b083 sub sp, #12 - 3a40: 4605 mov r5, r0 + 337c: 4b08 ldr r3, [pc, #32] ; (33a0 ) + 337e: 9300 str r3, [sp, #0] + 3380: f240 220d movw r2, #525 ; 0x20d + 3384: 4907 ldr r1, [pc, #28] ; (33a4 ) + 3386: 2003 movs r0, #3 + 3388: 4d07 ldr r5, [pc, #28] ; (33a8 ) + 338a: 47a8 blx r5 + 338c: 4622 mov r2, r4 + 338e: 2300 movs r3, #0 + 3390: 4806 ldr r0, [pc, #24] ; (33ac ) + 3392: 4907 ldr r1, [pc, #28] ; (33b0 ) + 3394: 4788 blx r1 + 3396: e7fe b.n 3396 + 3398: 000022b1 .word 0x000022b1 + 339c: 000031f1 .word 0x000031f1 + 33a0: 00024460 .word 0x00024460 + 33a4: 000247dc .word 0x000247dc + 33a8: 0001225d .word 0x0001225d + 33ac: 0002483c .word 0x0002483c + 33b0: 000022b9 .word 0x000022b9 + +000033b4 : +{ + 33b4: b5f0 push {r4, r5, r6, r7, lr} + 33b6: b083 sub sp, #12 + 33b8: 4605 mov r5, r0 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 3a42: 4b16 ldr r3, [pc, #88] ; (3a9c ) - 3a44: 4798 blx r3 - 3a46: b968 cbnz r0, 3a64 - 3a48: 4b15 ldr r3, [pc, #84] ; (3aa0 ) - 3a4a: 9300 str r3, [sp, #0] - 3a4c: f240 2262 movw r2, #610 ; 0x262 - 3a50: 4914 ldr r1, [pc, #80] ; (3aa4 ) - 3a52: 2003 movs r0, #3 - 3a54: 4c14 ldr r4, [pc, #80] ; (3aa8 ) - 3a56: 47a0 blx r4 - 3a58: 462a mov r2, r5 - 3a5a: 2300 movs r3, #0 - 3a5c: 4813 ldr r0, [pc, #76] ; (3aac ) - 3a5e: 4914 ldr r1, [pc, #80] ; (3ab0 ) - 3a60: 4788 blx r1 - 3a62: e7fe b.n 3a62 + 33ba: 4b16 ldr r3, [pc, #88] ; (3414 ) + 33bc: 4798 blx r3 + 33be: b968 cbnz r0, 33dc + 33c0: 4b15 ldr r3, [pc, #84] ; (3418 ) + 33c2: 9300 str r3, [sp, #0] + 33c4: f240 2262 movw r2, #610 ; 0x262 + 33c8: 4914 ldr r1, [pc, #80] ; (341c ) + 33ca: 2003 movs r0, #3 + 33cc: 4c14 ldr r4, [pc, #80] ; (3420 ) + 33ce: 47a0 blx r4 + 33d0: 462a mov r2, r5 + 33d2: 2300 movs r3, #0 + 33d4: 4813 ldr r0, [pc, #76] ; (3424 ) + 33d6: 4914 ldr r1, [pc, #80] ; (3428 ) + 33d8: 4788 blx r1 + 33da: e7fe b.n 33da lv_obj_t * parent = lv_obj_get_parent(obj); - 3a64: 4628 mov r0, r5 - 3a66: 4b13 ldr r3, [pc, #76] ; (3ab4 ) - 3a68: 4798 blx r3 - 3a6a: 4604 mov r4, r0 + 33dc: 4628 mov r0, r5 + 33de: 4b13 ldr r3, [pc, #76] ; (342c ) + 33e0: 4798 blx r3 + 33e2: 4604 mov r4, r0 if(_lv_ll_get_head(&parent->child_ll) == obj) return; - 3a6c: 1d06 adds r6, r0, #4 - 3a6e: 4630 mov r0, r6 - 3a70: 4b11 ldr r3, [pc, #68] ; (3ab8 ) - 3a72: 4798 blx r3 - 3a74: 4285 cmp r5, r0 - 3a76: d00f beq.n 3a98 + 33e4: 1d06 adds r6, r0, #4 + 33e6: 4630 mov r0, r6 + 33e8: 4b11 ldr r3, [pc, #68] ; (3430 ) + 33ea: 4798 blx r3 + 33ec: 4285 cmp r5, r0 + 33ee: d00f beq.n 3410 lv_obj_invalidate(parent); - 3a78: 4620 mov r0, r4 - 3a7a: 4f10 ldr r7, [pc, #64] ; (3abc ) - 3a7c: 47b8 blx r7 + 33f0: 4620 mov r0, r4 + 33f2: 4f10 ldr r7, [pc, #64] ; (3434 ) + 33f4: 47b8 blx r7 _lv_ll_chg_list(&parent->child_ll, &parent->child_ll, obj, true); - 3a7e: 2301 movs r3, #1 - 3a80: 462a mov r2, r5 - 3a82: 4631 mov r1, r6 - 3a84: 4630 mov r0, r6 - 3a86: 4e0e ldr r6, [pc, #56] ; (3ac0 ) - 3a88: 47b0 blx r6 + 33f6: 2301 movs r3, #1 + 33f8: 462a mov r2, r5 + 33fa: 4631 mov r1, r6 + 33fc: 4630 mov r0, r6 + 33fe: 4e0e ldr r6, [pc, #56] ; (3438 ) + 3400: 47b0 blx r6 parent->signal_cb(parent, LV_SIGNAL_CHILD_CHG, obj); - 3a8a: 69e3 ldr r3, [r4, #28] - 3a8c: 462a mov r2, r5 - 3a8e: 2101 movs r1, #1 - 3a90: 4620 mov r0, r4 - 3a92: 4798 blx r3 + 3402: 69e3 ldr r3, [r4, #28] + 3404: 462a mov r2, r5 + 3406: 2101 movs r1, #1 + 3408: 4620 mov r0, r4 + 340a: 4798 blx r3 lv_obj_invalidate(parent); - 3a94: 4620 mov r0, r4 - 3a96: 47b8 blx r7 -} - 3a98: b003 add sp, #12 - 3a9a: bdf0 pop {r4, r5, r6, r7, pc} - 3a9c: 0000298d .word 0x0000298d - 3aa0: 0001b958 .word 0x0001b958 - 3aa4: 0001bcc0 .word 0x0001bcc0 - 3aa8: 00012805 .word 0x00012805 - 3aac: 0001bd20 .word 0x0001bd20 - 3ab0: 00002995 .word 0x00002995 - 3ab4: 00003305 .word 0x00003305 - 3ab8: 00012551 .word 0x00012551 - 3abc: 000039a9 .word 0x000039a9 - 3ac0: 000126c9 .word 0x000126c9 - -00003ac4 : -{ - 3ac4: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} - 3ac8: b084 sub sp, #16 - 3aca: 4604 mov r4, r0 - 3acc: 468a mov sl, r1 - 3ace: 4617 mov r7, r2 + 340c: 4620 mov r0, r4 + 340e: 47b8 blx r7 +} + 3410: b003 add sp, #12 + 3412: bdf0 pop {r4, r5, r6, r7, pc} + 3414: 000022b1 .word 0x000022b1 + 3418: 00024474 .word 0x00024474 + 341c: 000247dc .word 0x000247dc + 3420: 0001225d .word 0x0001225d + 3424: 0002483c .word 0x0002483c + 3428: 000022b9 .word 0x000022b9 + 342c: 00002c7d .word 0x00002c7d + 3430: 00011fa9 .word 0x00011fa9 + 3434: 00003321 .word 0x00003321 + 3438: 00012121 .word 0x00012121 + +0000343c : +{ + 343c: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} + 3440: b084 sub sp, #16 + 3442: 4604 mov r4, r0 + 3444: 468a mov sl, r1 + 3446: 4617 mov r7, r2 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 3ad0: 4b2d ldr r3, [pc, #180] ; (3b88 ) - 3ad2: 4798 blx r3 - 3ad4: 2800 cmp r0, #0 - 3ad6: d03e beq.n 3b56 + 3448: 4b2d ldr r3, [pc, #180] ; (3500 ) + 344a: 4798 blx r3 + 344c: 2800 cmp r0, #0 + 344e: d03e beq.n 34ce lv_obj_t * par = obj->parent; - 3ad8: 6826 ldr r6, [r4, #0] + 3450: 6826 ldr r6, [r4, #0] if(par == NULL) { - 3ada: 2e00 cmp r6, #0 - 3adc: d049 beq.n 3b72 + 3452: 2e00 cmp r6, #0 + 3454: d049 beq.n 34ea diff.x = x - obj->coords.x1; - 3ade: 8a33 ldrh r3, [r6, #16] - 3ae0: 8a22 ldrh r2, [r4, #16] - 3ae2: 1a9b subs r3, r3, r2 - 3ae4: 4453 add r3, sl - 3ae6: fa1f fa83 uxth.w sl, r3 - 3aea: fa0f f88a sxth.w r8, sl + 3456: 8a33 ldrh r3, [r6, #16] + 3458: 8a22 ldrh r2, [r4, #16] + 345a: 1a9b subs r3, r3, r2 + 345c: 4453 add r3, sl + 345e: fa1f fa83 uxth.w sl, r3 + 3462: fa0f f88a sxth.w r8, sl diff.y = y - obj->coords.y1; - 3aee: 8a75 ldrh r5, [r6, #18] - 3af0: 8a63 ldrh r3, [r4, #18] - 3af2: 1aed subs r5, r5, r3 - 3af4: 443d add r5, r7 - 3af6: b2ad uxth r5, r5 - 3af8: fa0f f985 sxth.w r9, r5 + 3466: 8a75 ldrh r5, [r6, #18] + 3468: 8a63 ldrh r3, [r4, #18] + 346a: 1aed subs r5, r5, r3 + 346c: 443d add r5, r7 + 346e: b2ad uxth r5, r5 + 3470: fa0f f985 sxth.w r9, r5 if(diff.x == 0 && diff.y == 0) return; - 3afc: f1b8 0f00 cmp.w r8, #0 - 3b00: d102 bne.n 3b08 - 3b02: f1b9 0f00 cmp.w r9, #0 - 3b06: d023 beq.n 3b50 + 3474: f1b8 0f00 cmp.w r8, #0 + 3478: d102 bne.n 3480 + 347a: f1b9 0f00 cmp.w r9, #0 + 347e: d023 beq.n 34c8 lv_obj_invalidate(obj); - 3b08: 4620 mov r0, r4 - 3b0a: 4f20 ldr r7, [pc, #128] ; (3b8c ) - 3b0c: 47b8 blx r7 + 3480: 4620 mov r0, r4 + 3482: 4f20 ldr r7, [pc, #128] ; (3504 ) + 3484: 47b8 blx r7 lv_obj_get_coords(obj, &ori); - 3b0e: a902 add r1, sp, #8 - 3b10: 4620 mov r0, r4 - 3b12: 4b1f ldr r3, [pc, #124] ; (3b90 ) - 3b14: 4798 blx r3 + 3486: a902 add r1, sp, #8 + 3488: 4620 mov r0, r4 + 348a: 4b1f ldr r3, [pc, #124] ; (3508 ) + 348c: 4798 blx r3 obj->coords.x1 += diff.x; - 3b16: 8a23 ldrh r3, [r4, #16] - 3b18: 4453 add r3, sl - 3b1a: 8223 strh r3, [r4, #16] + 348e: 8a23 ldrh r3, [r4, #16] + 3490: 4453 add r3, sl + 3492: 8223 strh r3, [r4, #16] obj->coords.y1 += diff.y; - 3b1c: 8a63 ldrh r3, [r4, #18] - 3b1e: 442b add r3, r5 - 3b20: 8263 strh r3, [r4, #18] + 3494: 8a63 ldrh r3, [r4, #18] + 3496: 442b add r3, r5 + 3498: 8263 strh r3, [r4, #18] obj->coords.x2 += diff.x; - 3b22: 8aa3 ldrh r3, [r4, #20] - 3b24: 4453 add r3, sl - 3b26: 82a3 strh r3, [r4, #20] + 349a: 8aa3 ldrh r3, [r4, #20] + 349c: 4453 add r3, sl + 349e: 82a3 strh r3, [r4, #20] obj->coords.y2 += diff.y; - 3b28: 8ae3 ldrh r3, [r4, #22] - 3b2a: 441d add r5, r3 - 3b2c: 82e5 strh r5, [r4, #22] + 34a0: 8ae3 ldrh r3, [r4, #22] + 34a2: 441d add r5, r3 + 34a4: 82e5 strh r5, [r4, #22] refresh_children_position(obj, diff.x, diff.y); - 3b2e: 464a mov r2, r9 - 3b30: 4641 mov r1, r8 - 3b32: 4620 mov r0, r4 - 3b34: 4b17 ldr r3, [pc, #92] ; (3b94 ) - 3b36: 4798 blx r3 + 34a6: 464a mov r2, r9 + 34a8: 4641 mov r1, r8 + 34aa: 4620 mov r0, r4 + 34ac: 4b17 ldr r3, [pc, #92] ; (350c ) + 34ae: 4798 blx r3 obj->signal_cb(obj, LV_SIGNAL_COORD_CHG, &ori); - 3b38: 69e3 ldr r3, [r4, #28] - 3b3a: aa02 add r2, sp, #8 - 3b3c: 2102 movs r1, #2 - 3b3e: 4620 mov r0, r4 - 3b40: 4798 blx r3 + 34b0: 69e3 ldr r3, [r4, #28] + 34b2: aa02 add r2, sp, #8 + 34b4: 2102 movs r1, #2 + 34b6: 4620 mov r0, r4 + 34b8: 4798 blx r3 par->signal_cb(par, LV_SIGNAL_CHILD_CHG, obj); - 3b42: 69f3 ldr r3, [r6, #28] - 3b44: 4622 mov r2, r4 - 3b46: 2101 movs r1, #1 - 3b48: 4630 mov r0, r6 - 3b4a: 4798 blx r3 + 34ba: 69f3 ldr r3, [r6, #28] + 34bc: 4622 mov r2, r4 + 34be: 2101 movs r1, #1 + 34c0: 4630 mov r0, r6 + 34c2: 4798 blx r3 lv_obj_invalidate(obj); - 3b4c: 4620 mov r0, r4 - 3b4e: 47b8 blx r7 + 34c4: 4620 mov r0, r4 + 34c6: 47b8 blx r7 } - 3b50: b004 add sp, #16 - 3b52: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + 34c8: b004 add sp, #16 + 34ca: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 3b56: 4b10 ldr r3, [pc, #64] ; (3b98 ) - 3b58: 9300 str r3, [sp, #0] - 3b5a: f240 2296 movw r2, #662 ; 0x296 - 3b5e: 490f ldr r1, [pc, #60] ; (3b9c ) - 3b60: 2003 movs r0, #3 - 3b62: 4d0f ldr r5, [pc, #60] ; (3ba0 ) - 3b64: 47a8 blx r5 - 3b66: 4622 mov r2, r4 - 3b68: 2300 movs r3, #0 - 3b6a: 480e ldr r0, [pc, #56] ; (3ba4 ) - 3b6c: 490e ldr r1, [pc, #56] ; (3ba8 ) - 3b6e: 4788 blx r1 - 3b70: e7fe b.n 3b70 + 34ce: 4b10 ldr r3, [pc, #64] ; (3510 ) + 34d0: 9300 str r3, [sp, #0] + 34d2: f240 2296 movw r2, #662 ; 0x296 + 34d6: 490f ldr r1, [pc, #60] ; (3514 ) + 34d8: 2003 movs r0, #3 + 34da: 4d0f ldr r5, [pc, #60] ; (3518 ) + 34dc: 47a8 blx r5 + 34de: 4622 mov r2, r4 + 34e0: 2300 movs r3, #0 + 34e2: 480e ldr r0, [pc, #56] ; (351c ) + 34e4: 490e ldr r1, [pc, #56] ; (3520 ) + 34e6: 4788 blx r1 + 34e8: e7fe b.n 34e8 LV_LOG_WARN("lv_obj_set_pos: not changing position of screen object"); - 3b72: 4b0e ldr r3, [pc, #56] ; (3bac ) - 3b74: 9300 str r3, [sp, #0] - 3b76: 4b08 ldr r3, [pc, #32] ; (3b98 ) - 3b78: f44f 7227 mov.w r2, #668 ; 0x29c - 3b7c: 4907 ldr r1, [pc, #28] ; (3b9c ) - 3b7e: 2002 movs r0, #2 - 3b80: 4c07 ldr r4, [pc, #28] ; (3ba0 ) - 3b82: 47a0 blx r4 + 34ea: 4b0e ldr r3, [pc, #56] ; (3524 ) + 34ec: 9300 str r3, [sp, #0] + 34ee: 4b08 ldr r3, [pc, #32] ; (3510 ) + 34f0: f44f 7227 mov.w r2, #668 ; 0x29c + 34f4: 4907 ldr r1, [pc, #28] ; (3514 ) + 34f6: 2002 movs r0, #2 + 34f8: 4c07 ldr r4, [pc, #28] ; (3518 ) + 34fa: 47a0 blx r4 return; - 3b84: e7e4 b.n 3b50 - 3b86: bf00 nop - 3b88: 0000298d .word 0x0000298d - 3b8c: 000039a9 .word 0x000039a9 - 3b90: 000034c9 .word 0x000034c9 - 3b94: 00002ee9 .word 0x00002ee9 - 3b98: 0001b988 .word 0x0001b988 - 3b9c: 0001bcc0 .word 0x0001bcc0 - 3ba0: 00012805 .word 0x00012805 - 3ba4: 0001bd20 .word 0x0001bd20 - 3ba8: 00002995 .word 0x00002995 - 3bac: 0001bdb4 .word 0x0001bdb4 - -00003bb0 : -{ - 3bb0: b530 push {r4, r5, lr} - 3bb2: b083 sub sp, #12 - 3bb4: 4604 mov r4, r0 - 3bb6: 460d mov r5, r1 + 34fc: e7e4 b.n 34c8 + 34fe: bf00 nop + 3500: 000022b1 .word 0x000022b1 + 3504: 00003321 .word 0x00003321 + 3508: 00002e41 .word 0x00002e41 + 350c: 0000280d .word 0x0000280d + 3510: 000244a4 .word 0x000244a4 + 3514: 000247dc .word 0x000247dc + 3518: 0001225d .word 0x0001225d + 351c: 0002483c .word 0x0002483c + 3520: 000022b9 .word 0x000022b9 + 3524: 000248d0 .word 0x000248d0 + +00003528 : +{ + 3528: b530 push {r4, r5, lr} + 352a: b083 sub sp, #12 + 352c: 4604 mov r4, r0 + 352e: 460d mov r5, r1 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 3bb8: 4b0d ldr r3, [pc, #52] ; (3bf0 ) - 3bba: 4798 blx r3 - 3bbc: b968 cbnz r0, 3bda - 3bbe: 4b0d ldr r3, [pc, #52] ; (3bf4 ) - 3bc0: 9300 str r3, [sp, #0] - 3bc2: f44f 7233 mov.w r2, #716 ; 0x2cc - 3bc6: 490c ldr r1, [pc, #48] ; (3bf8 ) - 3bc8: 2003 movs r0, #3 - 3bca: 4d0c ldr r5, [pc, #48] ; (3bfc ) - 3bcc: 47a8 blx r5 - 3bce: 4622 mov r2, r4 - 3bd0: 2300 movs r3, #0 - 3bd2: 480b ldr r0, [pc, #44] ; (3c00 ) - 3bd4: 490b ldr r1, [pc, #44] ; (3c04 ) - 3bd6: 4788 blx r1 - 3bd8: e7fe b.n 3bd8 + 3530: 4b0d ldr r3, [pc, #52] ; (3568 ) + 3532: 4798 blx r3 + 3534: b968 cbnz r0, 3552 + 3536: 4b0d ldr r3, [pc, #52] ; (356c ) + 3538: 9300 str r3, [sp, #0] + 353a: f44f 7233 mov.w r2, #716 ; 0x2cc + 353e: 490c ldr r1, [pc, #48] ; (3570 ) + 3540: 2003 movs r0, #3 + 3542: 4d0c ldr r5, [pc, #48] ; (3574 ) + 3544: 47a8 blx r5 + 3546: 4622 mov r2, r4 + 3548: 2300 movs r3, #0 + 354a: 480b ldr r0, [pc, #44] ; (3578 ) + 354c: 490b ldr r1, [pc, #44] ; (357c ) + 354e: 4788 blx r1 + 3550: e7fe b.n 3550 lv_obj_set_pos(obj, x, lv_obj_get_y(obj)); - 3bda: 4620 mov r0, r4 - 3bdc: 4b0a ldr r3, [pc, #40] ; (3c08 ) - 3bde: 4798 blx r3 - 3be0: 4602 mov r2, r0 - 3be2: 4629 mov r1, r5 - 3be4: 4620 mov r0, r4 - 3be6: 4b09 ldr r3, [pc, #36] ; (3c0c ) - 3be8: 4798 blx r3 -} - 3bea: b003 add sp, #12 - 3bec: bd30 pop {r4, r5, pc} - 3bee: bf00 nop - 3bf0: 0000298d .word 0x0000298d - 3bf4: 0001b998 .word 0x0001b998 - 3bf8: 0001bcc0 .word 0x0001bcc0 - 3bfc: 00012805 .word 0x00012805 - 3c00: 0001bd20 .word 0x0001bd20 - 3c04: 00002995 .word 0x00002995 - 3c08: 00003585 .word 0x00003585 - 3c0c: 00003ac5 .word 0x00003ac5 - -00003c10 : -{ - 3c10: b530 push {r4, r5, lr} - 3c12: b083 sub sp, #12 - 3c14: 4604 mov r4, r0 - 3c16: 460d mov r5, r1 + 3552: 4620 mov r0, r4 + 3554: 4b0a ldr r3, [pc, #40] ; (3580 ) + 3556: 4798 blx r3 + 3558: 4602 mov r2, r0 + 355a: 4629 mov r1, r5 + 355c: 4620 mov r0, r4 + 355e: 4b09 ldr r3, [pc, #36] ; (3584 ) + 3560: 4798 blx r3 +} + 3562: b003 add sp, #12 + 3564: bd30 pop {r4, r5, pc} + 3566: bf00 nop + 3568: 000022b1 .word 0x000022b1 + 356c: 000244b4 .word 0x000244b4 + 3570: 000247dc .word 0x000247dc + 3574: 0001225d .word 0x0001225d + 3578: 0002483c .word 0x0002483c + 357c: 000022b9 .word 0x000022b9 + 3580: 00002efd .word 0x00002efd + 3584: 0000343d .word 0x0000343d + +00003588 : +{ + 3588: b530 push {r4, r5, lr} + 358a: b083 sub sp, #12 + 358c: 4604 mov r4, r0 + 358e: 460d mov r5, r1 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 3c18: 4b0d ldr r3, [pc, #52] ; (3c50 ) - 3c1a: 4798 blx r3 - 3c1c: b968 cbnz r0, 3c3a - 3c1e: 4b0d ldr r3, [pc, #52] ; (3c54 ) - 3c20: 9300 str r3, [sp, #0] - 3c22: f44f 7236 mov.w r2, #728 ; 0x2d8 - 3c26: 490c ldr r1, [pc, #48] ; (3c58 ) - 3c28: 2003 movs r0, #3 - 3c2a: 4d0c ldr r5, [pc, #48] ; (3c5c ) - 3c2c: 47a8 blx r5 - 3c2e: 4622 mov r2, r4 - 3c30: 2300 movs r3, #0 - 3c32: 480b ldr r0, [pc, #44] ; (3c60 ) - 3c34: 490b ldr r1, [pc, #44] ; (3c64 ) - 3c36: 4788 blx r1 - 3c38: e7fe b.n 3c38 + 3590: 4b0d ldr r3, [pc, #52] ; (35c8 ) + 3592: 4798 blx r3 + 3594: b968 cbnz r0, 35b2 + 3596: 4b0d ldr r3, [pc, #52] ; (35cc ) + 3598: 9300 str r3, [sp, #0] + 359a: f44f 7236 mov.w r2, #728 ; 0x2d8 + 359e: 490c ldr r1, [pc, #48] ; (35d0 ) + 35a0: 2003 movs r0, #3 + 35a2: 4d0c ldr r5, [pc, #48] ; (35d4 ) + 35a4: 47a8 blx r5 + 35a6: 4622 mov r2, r4 + 35a8: 2300 movs r3, #0 + 35aa: 480b ldr r0, [pc, #44] ; (35d8 ) + 35ac: 490b ldr r1, [pc, #44] ; (35dc ) + 35ae: 4788 blx r1 + 35b0: e7fe b.n 35b0 lv_obj_set_pos(obj, lv_obj_get_x(obj), y); - 3c3a: 4620 mov r0, r4 - 3c3c: 4b0a ldr r3, [pc, #40] ; (3c68 ) - 3c3e: 4798 blx r3 - 3c40: 462a mov r2, r5 - 3c42: 4601 mov r1, r0 - 3c44: 4620 mov r0, r4 - 3c46: 4b09 ldr r3, [pc, #36] ; (3c6c ) - 3c48: 4798 blx r3 -} - 3c4a: b003 add sp, #12 - 3c4c: bd30 pop {r4, r5, pc} - 3c4e: bf00 nop - 3c50: 0000298d .word 0x0000298d - 3c54: 0001b9a8 .word 0x0001b9a8 - 3c58: 0001bcc0 .word 0x0001bcc0 - 3c5c: 00012805 .word 0x00012805 - 3c60: 0001bd20 .word 0x0001bd20 - 3c64: 00002995 .word 0x00002995 - 3c68: 00003525 .word 0x00003525 - 3c6c: 00003ac5 .word 0x00003ac5 - -00003c70 : -{ - 3c70: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} - 3c74: b085 sub sp, #20 - 3c76: 4604 mov r4, r0 - 3c78: 460d mov r5, r1 - 3c7a: 4690 mov r8, r2 - 3c7c: 461f mov r7, r3 - 3c7e: f9bd 6030 ldrsh.w r6, [sp, #48] ; 0x30 + 35b2: 4620 mov r0, r4 + 35b4: 4b0a ldr r3, [pc, #40] ; (35e0 ) + 35b6: 4798 blx r3 + 35b8: 462a mov r2, r5 + 35ba: 4601 mov r1, r0 + 35bc: 4620 mov r0, r4 + 35be: 4b09 ldr r3, [pc, #36] ; (35e4 ) + 35c0: 4798 blx r3 +} + 35c2: b003 add sp, #12 + 35c4: bd30 pop {r4, r5, pc} + 35c6: bf00 nop + 35c8: 000022b1 .word 0x000022b1 + 35cc: 000244c4 .word 0x000244c4 + 35d0: 000247dc .word 0x000247dc + 35d4: 0001225d .word 0x0001225d + 35d8: 0002483c .word 0x0002483c + 35dc: 000022b9 .word 0x000022b9 + 35e0: 00002e9d .word 0x00002e9d + 35e4: 0000343d .word 0x0000343d + +000035e8 : +{ + 35e8: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} + 35ec: b085 sub sp, #20 + 35ee: 4604 mov r4, r0 + 35f0: 460d mov r5, r1 + 35f2: 4690 mov r8, r2 + 35f4: 461f mov r7, r3 + 35f6: f9bd 6030 ldrsh.w r6, [sp, #48] ; 0x30 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 3c82: 4b2c ldr r3, [pc, #176] ; (3d34 ) - 3c84: 4798 blx r3 - 3c86: b968 cbnz r0, 3ca4 - 3c88: 4b2b ldr r3, [pc, #172] ; (3d38 ) - 3c8a: 9300 str r3, [sp, #0] - 3c8c: f240 326d movw r2, #877 ; 0x36d - 3c90: 492a ldr r1, [pc, #168] ; (3d3c ) - 3c92: 2003 movs r0, #3 - 3c94: 4d2a ldr r5, [pc, #168] ; (3d40 ) - 3c96: 47a8 blx r5 - 3c98: 4622 mov r2, r4 - 3c9a: 2300 movs r3, #0 - 3c9c: 4829 ldr r0, [pc, #164] ; (3d44 ) - 3c9e: 492a ldr r1, [pc, #168] ; (3d48 ) - 3ca0: 4788 blx r1 - 3ca2: e7fe b.n 3ca2 + 35fa: 4b2c ldr r3, [pc, #176] ; (36ac ) + 35fc: 4798 blx r3 + 35fe: b968 cbnz r0, 361c + 3600: 4b2b ldr r3, [pc, #172] ; (36b0 ) + 3602: 9300 str r3, [sp, #0] + 3604: f240 326d movw r2, #877 ; 0x36d + 3608: 492a ldr r1, [pc, #168] ; (36b4 ) + 360a: 2003 movs r0, #3 + 360c: 4d2a ldr r5, [pc, #168] ; (36b8 ) + 360e: 47a8 blx r5 + 3610: 4622 mov r2, r4 + 3612: 2300 movs r3, #0 + 3614: 4829 ldr r0, [pc, #164] ; (36bc ) + 3616: 492a ldr r1, [pc, #168] ; (36c0 ) + 3618: 4788 blx r1 + 361a: e7fe b.n 361a if(base == NULL) base = lv_obj_get_parent(obj); - 3ca4: b18d cbz r5, 3cca + 361c: b18d cbz r5, 3642 LV_ASSERT_OBJ(base, LV_OBJX_NAME); - 3ca6: 4628 mov r0, r5 - 3ca8: 4b22 ldr r3, [pc, #136] ; (3d34 ) - 3caa: 4798 blx r3 - 3cac: b990 cbnz r0, 3cd4 - 3cae: 4b22 ldr r3, [pc, #136] ; (3d38 ) - 3cb0: 9300 str r3, [sp, #0] - 3cb2: f240 3271 movw r2, #881 ; 0x371 - 3cb6: 4921 ldr r1, [pc, #132] ; (3d3c ) - 3cb8: 2003 movs r0, #3 - 3cba: 4c21 ldr r4, [pc, #132] ; (3d40 ) - 3cbc: 47a0 blx r4 - 3cbe: 462a mov r2, r5 - 3cc0: 2300 movs r3, #0 - 3cc2: 4820 ldr r0, [pc, #128] ; (3d44 ) - 3cc4: 4920 ldr r1, [pc, #128] ; (3d48 ) - 3cc6: 4788 blx r1 - 3cc8: e7fe b.n 3cc8 + 361e: 4628 mov r0, r5 + 3620: 4b22 ldr r3, [pc, #136] ; (36ac ) + 3622: 4798 blx r3 + 3624: b990 cbnz r0, 364c + 3626: 4b22 ldr r3, [pc, #136] ; (36b0 ) + 3628: 9300 str r3, [sp, #0] + 362a: f240 3271 movw r2, #881 ; 0x371 + 362e: 4921 ldr r1, [pc, #132] ; (36b4 ) + 3630: 2003 movs r0, #3 + 3632: 4c21 ldr r4, [pc, #132] ; (36b8 ) + 3634: 47a0 blx r4 + 3636: 462a mov r2, r5 + 3638: 2300 movs r3, #0 + 363a: 4820 ldr r0, [pc, #128] ; (36bc ) + 363c: 4920 ldr r1, [pc, #128] ; (36c0 ) + 363e: 4788 blx r1 + 3640: e7fe b.n 3640 if(base == NULL) base = lv_obj_get_parent(obj); - 3cca: 4620 mov r0, r4 - 3ccc: 4b1f ldr r3, [pc, #124] ; (3d4c ) - 3cce: 4798 blx r3 - 3cd0: 4605 mov r5, r0 - 3cd2: e7e8 b.n 3ca6 + 3642: 4620 mov r0, r4 + 3644: 4b1f ldr r3, [pc, #124] ; (36c4 ) + 3646: 4798 blx r3 + 3648: 4605 mov r5, r0 + 364a: e7e8 b.n 361e _lv_area_align(&base->coords, &obj->coords, align, &new_pos); - 3cd4: ab03 add r3, sp, #12 - 3cd6: 4642 mov r2, r8 - 3cd8: f104 0110 add.w r1, r4, #16 - 3cdc: f105 0010 add.w r0, r5, #16 - 3ce0: f8df 9070 ldr.w r9, [pc, #112] ; 3d54 - 3ce4: 47c8 blx r9 + 364c: ab03 add r3, sp, #12 + 364e: 4642 mov r2, r8 + 3650: f104 0110 add.w r1, r4, #16 + 3654: f105 0010 add.w r0, r5, #16 + 3658: f8df 9070 ldr.w r9, [pc, #112] ; 36cc + 365c: 47c8 blx r9 lv_obj_t * par = lv_obj_get_parent(obj); - 3ce6: 4620 mov r0, r4 - 3ce8: 4b18 ldr r3, [pc, #96] ; (3d4c ) - 3cea: 4798 blx r3 + 365e: 4620 mov r0, r4 + 3660: 4b18 ldr r3, [pc, #96] ; (36c4 ) + 3662: 4798 blx r3 lv_coord_t par_abs_y = par->coords.y1; - 3cec: f9b0 3012 ldrsh.w r3, [r0, #18] + 3664: f9b0 3012 ldrsh.w r3, [r0, #18] new_pos.y += y_ofs; - 3cf0: f8bd 200e ldrh.w r2, [sp, #14] - 3cf4: 4432 add r2, r6 + 3668: f8bd 200e ldrh.w r2, [sp, #14] + 366c: 4432 add r2, r6 new_pos.x += x_ofs; - 3cf6: f8bd 100c ldrh.w r1, [sp, #12] - 3cfa: 4439 add r1, r7 + 366e: f8bd 100c ldrh.w r1, [sp, #12] + 3672: 4439 add r1, r7 new_pos.x -= par_abs_x; - 3cfc: 8a00 ldrh r0, [r0, #16] - 3cfe: 1a09 subs r1, r1, r0 - 3d00: b209 sxth r1, r1 - 3d02: f8ad 100c strh.w r1, [sp, #12] + 3674: 8a00 ldrh r0, [r0, #16] + 3676: 1a09 subs r1, r1, r0 + 3678: b209 sxth r1, r1 + 367a: f8ad 100c strh.w r1, [sp, #12] new_pos.y -= par_abs_y; - 3d06: 1ad2 subs r2, r2, r3 - 3d08: b212 sxth r2, r2 - 3d0a: f8ad 200e strh.w r2, [sp, #14] + 367e: 1ad2 subs r2, r2, r3 + 3680: b212 sxth r2, r2 + 3682: f8ad 200e strh.w r2, [sp, #14] lv_obj_set_pos(obj, new_pos.x, new_pos.y); - 3d0e: 4620 mov r0, r4 - 3d10: 4b0f ldr r3, [pc, #60] ; (3d50 ) - 3d12: 4798 blx r3 + 3686: 4620 mov r0, r4 + 3688: 4b0f ldr r3, [pc, #60] ; (36c8 ) + 368a: 4798 blx r3 obj->realign.align = align; - 3d14: f884 8048 strb.w r8, [r4, #72] ; 0x48 + 368c: f884 8048 strb.w r8, [r4, #72] ; 0x48 obj->realign.xofs = x_ofs; - 3d18: f8a4 7044 strh.w r7, [r4, #68] ; 0x44 + 3690: f8a4 7044 strh.w r7, [r4, #68] ; 0x44 obj->realign.yofs = y_ofs; - 3d1c: f8a4 6046 strh.w r6, [r4, #70] ; 0x46 + 3694: f8a4 6046 strh.w r6, [r4, #70] ; 0x46 obj->realign.base = base; - 3d20: 6425 str r5, [r4, #64] ; 0x40 + 3698: 6425 str r5, [r4, #64] ; 0x40 obj->realign.origo_align = 0; - 3d22: f894 3049 ldrb.w r3, [r4, #73] ; 0x49 - 3d26: f36f 0341 bfc r3, #1, #1 - 3d2a: f884 3049 strb.w r3, [r4, #73] ; 0x49 -} - 3d2e: b005 add sp, #20 - 3d30: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} - 3d34: 0000298d .word 0x0000298d - 3d38: 0001b9b8 .word 0x0001b9b8 - 3d3c: 0001bcc0 .word 0x0001bcc0 - 3d40: 00012805 .word 0x00012805 - 3d44: 0001bd20 .word 0x0001bd20 - 3d48: 00002995 .word 0x00002995 - 3d4c: 00003305 .word 0x00003305 - 3d50: 00003ac5 .word 0x00003ac5 - 3d54: 00011dcd .word 0x00011dcd - -00003d58 : -{ - 3d58: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 3d5c: b085 sub sp, #20 - 3d5e: 4681 mov r9, r0 - 3d60: 460e mov r6, r1 - 3d62: 4692 mov sl, r2 - 3d64: 9303 str r3, [sp, #12] - 3d66: f9bd b038 ldrsh.w fp, [sp, #56] ; 0x38 + 369a: f894 3049 ldrb.w r3, [r4, #73] ; 0x49 + 369e: f36f 0341 bfc r3, #1, #1 + 36a2: f884 3049 strb.w r3, [r4, #73] ; 0x49 +} + 36a6: b005 add sp, #20 + 36a8: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} + 36ac: 000022b1 .word 0x000022b1 + 36b0: 000244d4 .word 0x000244d4 + 36b4: 000247dc .word 0x000247dc + 36b8: 0001225d .word 0x0001225d + 36bc: 0002483c .word 0x0002483c + 36c0: 000022b9 .word 0x000022b9 + 36c4: 00002c7d .word 0x00002c7d + 36c8: 0000343d .word 0x0000343d + 36cc: 00011825 .word 0x00011825 + +000036d0 : +{ + 36d0: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 36d4: b085 sub sp, #20 + 36d6: 4681 mov r9, r0 + 36d8: 460e mov r6, r1 + 36da: 4692 mov sl, r2 + 36dc: 9303 str r3, [sp, #12] + 36de: f9bd b038 ldrsh.w fp, [sp, #56] ; 0x38 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 3d6a: 4ba3 ldr r3, [pc, #652] ; (3ff8 ) - 3d6c: 4798 blx r3 - 3d6e: b968 cbnz r0, 3d8c - 3d70: 4ba2 ldr r3, [pc, #648] ; (3ffc ) - 3d72: 9300 str r3, [sp, #0] - 3d74: f240 3295 movw r2, #917 ; 0x395 - 3d78: 49a1 ldr r1, [pc, #644] ; (4000 ) - 3d7a: 2003 movs r0, #3 - 3d7c: 4ca1 ldr r4, [pc, #644] ; (4004 ) - 3d7e: 47a0 blx r4 - 3d80: 464a mov r2, r9 - 3d82: 2300 movs r3, #0 - 3d84: 48a0 ldr r0, [pc, #640] ; (4008 ) - 3d86: 49a1 ldr r1, [pc, #644] ; (400c ) - 3d88: 4788 blx r1 - 3d8a: e7fe b.n 3d8a + 36e2: 4ba3 ldr r3, [pc, #652] ; (3970 ) + 36e4: 4798 blx r3 + 36e6: b968 cbnz r0, 3704 + 36e8: 4ba2 ldr r3, [pc, #648] ; (3974 ) + 36ea: 9300 str r3, [sp, #0] + 36ec: f240 3295 movw r2, #917 ; 0x395 + 36f0: 49a1 ldr r1, [pc, #644] ; (3978 ) + 36f2: 2003 movs r0, #3 + 36f4: 4ca1 ldr r4, [pc, #644] ; (397c ) + 36f6: 47a0 blx r4 + 36f8: 464a mov r2, r9 + 36fa: 2300 movs r3, #0 + 36fc: 48a0 ldr r0, [pc, #640] ; (3980 ) + 36fe: 49a1 ldr r1, [pc, #644] ; (3984 ) + 3700: 4788 blx r1 + 3702: e7fe b.n 3702 lv_coord_t new_x = lv_obj_get_x(obj); - 3d8c: 4648 mov r0, r9 - 3d8e: 4ba0 ldr r3, [pc, #640] ; (4010 ) - 3d90: 4798 blx r3 - 3d92: 4605 mov r5, r0 + 3704: 4648 mov r0, r9 + 3706: 4ba0 ldr r3, [pc, #640] ; (3988 ) + 3708: 4798 blx r3 + 370a: 4605 mov r5, r0 lv_coord_t new_y = lv_obj_get_y(obj); - 3d94: 4648 mov r0, r9 - 3d96: 4b9f ldr r3, [pc, #636] ; (4014 ) - 3d98: 4798 blx r3 - 3d9a: 4604 mov r4, r0 + 370c: 4648 mov r0, r9 + 370e: 4b9f ldr r3, [pc, #636] ; (398c ) + 3710: 4798 blx r3 + 3712: 4604 mov r4, r0 lv_coord_t obj_w_half = lv_obj_get_width(obj) / 2; - 3d9c: 4648 mov r0, r9 - 3d9e: 4b9e ldr r3, [pc, #632] ; (4018 ) - 3da0: 4798 blx r3 - 3da2: eb00 70d0 add.w r0, r0, r0, lsr #31 - 3da6: f340 084f sbfx r8, r0, #1, #16 + 3714: 4648 mov r0, r9 + 3716: 4b9e ldr r3, [pc, #632] ; (3990 ) + 3718: 4798 blx r3 + 371a: eb00 70d0 add.w r0, r0, r0, lsr #31 + 371e: f340 084f sbfx r8, r0, #1, #16 lv_coord_t obj_h_half = lv_obj_get_height(obj) / 2; - 3daa: 4648 mov r0, r9 - 3dac: 4b9b ldr r3, [pc, #620] ; (401c ) - 3dae: 4798 blx r3 - 3db0: eb00 70d0 add.w r0, r0, r0, lsr #31 - 3db4: f340 074f sbfx r7, r0, #1, #16 + 3722: 4648 mov r0, r9 + 3724: 4b9b ldr r3, [pc, #620] ; (3994 ) + 3726: 4798 blx r3 + 3728: eb00 70d0 add.w r0, r0, r0, lsr #31 + 372c: f340 074f sbfx r7, r0, #1, #16 if(base == NULL) { - 3db8: b1ee cbz r6, 3df6 + 3730: b1ee cbz r6, 376e LV_ASSERT_OBJ(base, LV_OBJX_NAME); - 3dba: 4630 mov r0, r6 - 3dbc: 4b8e ldr r3, [pc, #568] ; (3ff8 ) - 3dbe: 4798 blx r3 - 3dc0: b1f0 cbz r0, 3e00 + 3732: 4630 mov r0, r6 + 3734: 4b8e ldr r3, [pc, #568] ; (3970 ) + 3736: 4798 blx r3 + 3738: b1f0 cbz r0, 3778 switch(align) { - 3dc2: f1ba 0f14 cmp.w sl, #20 - 3dc6: d839 bhi.n 3e3c - 3dc8: e8df f01a tbh [pc, sl, lsl #1] - 3dcc: 005c0028 .word 0x005c0028 - 3dd0: 006d0062 .word 0x006d0062 - 3dd4: 007f0076 .word 0x007f0076 - 3dd8: 0099008d .word 0x0099008d - 3ddc: 00b400a5 .word 0x00b400a5 - 3de0: 00c500ba .word 0x00c500ba - 3de4: 00d700ce .word 0x00d700ce - 3de8: 00f100e5 .word 0x00f100e5 - 3dec: 010300f7 .word 0x010300f7 - 3df0: 012e010c .word 0x012e010c - 3df4: 013d .short 0x013d + 373a: f1ba 0f14 cmp.w sl, #20 + 373e: d839 bhi.n 37b4 + 3740: e8df f01a tbh [pc, sl, lsl #1] + 3744: 005c0028 .word 0x005c0028 + 3748: 006d0062 .word 0x006d0062 + 374c: 007f0076 .word 0x007f0076 + 3750: 0099008d .word 0x0099008d + 3754: 00b400a5 .word 0x00b400a5 + 3758: 00c500ba .word 0x00c500ba + 375c: 00d700ce .word 0x00d700ce + 3760: 00f100e5 .word 0x00f100e5 + 3764: 010300f7 .word 0x010300f7 + 3768: 012e010c .word 0x012e010c + 376c: 013d .short 0x013d base = lv_obj_get_parent(obj); - 3df6: 4648 mov r0, r9 - 3df8: 4b89 ldr r3, [pc, #548] ; (4020 ) - 3dfa: 4798 blx r3 - 3dfc: 4606 mov r6, r0 - 3dfe: e7dc b.n 3dba + 376e: 4648 mov r0, r9 + 3770: 4b89 ldr r3, [pc, #548] ; (3998 ) + 3772: 4798 blx r3 + 3774: 4606 mov r6, r0 + 3776: e7dc b.n 3732 LV_ASSERT_OBJ(base, LV_OBJX_NAME); - 3e00: 4b7e ldr r3, [pc, #504] ; (3ffc ) - 3e02: 9300 str r3, [sp, #0] - 3e04: f240 32a1 movw r2, #929 ; 0x3a1 - 3e08: 497d ldr r1, [pc, #500] ; (4000 ) - 3e0a: 2003 movs r0, #3 - 3e0c: 4c7d ldr r4, [pc, #500] ; (4004 ) - 3e0e: 47a0 blx r4 - 3e10: 4632 mov r2, r6 - 3e12: 2300 movs r3, #0 - 3e14: 487c ldr r0, [pc, #496] ; (4008 ) - 3e16: 497d ldr r1, [pc, #500] ; (400c ) - 3e18: 4788 blx r1 - 3e1a: e7fe b.n 3e1a + 3778: 4b7e ldr r3, [pc, #504] ; (3974 ) + 377a: 9300 str r3, [sp, #0] + 377c: f240 32a1 movw r2, #929 ; 0x3a1 + 3780: 497d ldr r1, [pc, #500] ; (3978 ) + 3782: 2003 movs r0, #3 + 3784: 4c7d ldr r4, [pc, #500] ; (397c ) + 3786: 47a0 blx r4 + 3788: 4632 mov r2, r6 + 378a: 2300 movs r3, #0 + 378c: 487c ldr r0, [pc, #496] ; (3980 ) + 378e: 497d ldr r1, [pc, #500] ; (3984 ) + 3790: 4788 blx r1 + 3792: e7fe b.n 3792 new_x = lv_obj_get_width(base) / 2 - obj_w_half; - 3e1c: 4630 mov r0, r6 - 3e1e: 4b7e ldr r3, [pc, #504] ; (4018 ) - 3e20: 4798 blx r3 - 3e22: eb00 70d0 add.w r0, r0, r0, lsr #31 - 3e26: ebc8 0560 rsb r5, r8, r0, asr #1 - 3e2a: b22d sxth r5, r5 + 3794: 4630 mov r0, r6 + 3796: 4b7e ldr r3, [pc, #504] ; (3990 ) + 3798: 4798 blx r3 + 379a: eb00 70d0 add.w r0, r0, r0, lsr #31 + 379e: ebc8 0560 rsb r5, r8, r0, asr #1 + 37a2: b22d sxth r5, r5 new_y = lv_obj_get_height(base) / 2 - obj_h_half; - 3e2c: 4630 mov r0, r6 - 3e2e: 4b7b ldr r3, [pc, #492] ; (401c ) - 3e30: 4798 blx r3 - 3e32: eb00 70d0 add.w r0, r0, r0, lsr #31 - 3e36: ebc7 0460 rsb r4, r7, r0, asr #1 - 3e3a: b224 sxth r4, r4 + 37a4: 4630 mov r0, r6 + 37a6: 4b7b ldr r3, [pc, #492] ; (3994 ) + 37a8: 4798 blx r3 + 37aa: eb00 70d0 add.w r0, r0, r0, lsr #31 + 37ae: ebc7 0460 rsb r4, r7, r0, asr #1 + 37b2: b224 sxth r4, r4 lv_obj_t * par = lv_obj_get_parent(obj); - 3e3c: 4648 mov r0, r9 - 3e3e: 4b78 ldr r3, [pc, #480] ; (4020 ) - 3e40: 4798 blx r3 + 37b4: 4648 mov r0, r9 + 37b6: 4b78 ldr r3, [pc, #480] ; (3998 ) + 37b8: 4798 blx r3 new_x += x_ofs + base_abs_x; - 3e42: 8a31 ldrh r1, [r6, #16] - 3e44: 9f03 ldr r7, [sp, #12] - 3e46: 4439 add r1, r7 - 3e48: 4429 add r1, r5 + 37ba: 8a31 ldrh r1, [r6, #16] + 37bc: 9f03 ldr r7, [sp, #12] + 37be: 4439 add r1, r7 + 37c0: 4429 add r1, r5 new_x -= par_abs_x; - 3e4a: 8a03 ldrh r3, [r0, #16] - 3e4c: 1ac9 subs r1, r1, r3 + 37c2: 8a03 ldrh r3, [r0, #16] + 37c4: 1ac9 subs r1, r1, r3 new_y += y_ofs + base_abs_y; - 3e4e: 8a72 ldrh r2, [r6, #18] - 3e50: 445a add r2, fp - 3e52: 4422 add r2, r4 + 37c6: 8a72 ldrh r2, [r6, #18] + 37c8: 445a add r2, fp + 37ca: 4422 add r2, r4 new_y -= par_abs_y; - 3e54: 8a43 ldrh r3, [r0, #18] - 3e56: 1ad2 subs r2, r2, r3 + 37cc: 8a43 ldrh r3, [r0, #18] + 37ce: 1ad2 subs r2, r2, r3 lv_obj_set_pos(obj, new_x, new_y); - 3e58: b212 sxth r2, r2 - 3e5a: b209 sxth r1, r1 - 3e5c: 4648 mov r0, r9 - 3e5e: 4b71 ldr r3, [pc, #452] ; (4024 ) - 3e60: 4798 blx r3 + 37d0: b212 sxth r2, r2 + 37d2: b209 sxth r1, r1 + 37d4: 4648 mov r0, r9 + 37d6: 4b71 ldr r3, [pc, #452] ; (399c ) + 37d8: 4798 blx r3 obj->realign.align = align; - 3e62: f889 a048 strb.w sl, [r9, #72] ; 0x48 + 37da: f889 a048 strb.w sl, [r9, #72] ; 0x48 obj->realign.xofs = x_ofs; - 3e66: f8a9 7044 strh.w r7, [r9, #68] ; 0x44 + 37de: f8a9 7044 strh.w r7, [r9, #68] ; 0x44 obj->realign.yofs = y_ofs; - 3e6a: f8a9 b046 strh.w fp, [r9, #70] ; 0x46 + 37e2: f8a9 b046 strh.w fp, [r9, #70] ; 0x46 obj->realign.base = base; - 3e6e: f8c9 6040 str.w r6, [r9, #64] ; 0x40 + 37e6: f8c9 6040 str.w r6, [r9, #64] ; 0x40 obj->realign.origo_align = 1; - 3e72: f899 3049 ldrb.w r3, [r9, #73] ; 0x49 - 3e76: f043 0302 orr.w r3, r3, #2 - 3e7a: f889 3049 strb.w r3, [r9, #73] ; 0x49 + 37ea: f899 3049 ldrb.w r3, [r9, #73] ; 0x49 + 37ee: f043 0302 orr.w r3, r3, #2 + 37f2: f889 3049 strb.w r3, [r9, #73] ; 0x49 } - 3e7e: b005 add sp, #20 - 3e80: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 37f6: b005 add sp, #20 + 37f8: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} new_x = -obj_w_half; - 3e84: f1c8 0500 rsb r5, r8, #0 - 3e88: b22d sxth r5, r5 + 37fc: f1c8 0500 rsb r5, r8, #0 + 3800: b22d sxth r5, r5 new_y = -obj_h_half; - 3e8a: 427c negs r4, r7 - 3e8c: b224 sxth r4, r4 + 3802: 427c negs r4, r7 + 3804: b224 sxth r4, r4 break; - 3e8e: e7d5 b.n 3e3c + 3806: e7d5 b.n 37b4 new_x = lv_obj_get_width(base) / 2 - obj_w_half; - 3e90: 4630 mov r0, r6 - 3e92: 4b61 ldr r3, [pc, #388] ; (4018 ) - 3e94: 4798 blx r3 - 3e96: eb00 70d0 add.w r0, r0, r0, lsr #31 - 3e9a: ebc8 0560 rsb r5, r8, r0, asr #1 - 3e9e: b22d sxth r5, r5 + 3808: 4630 mov r0, r6 + 380a: 4b61 ldr r3, [pc, #388] ; (3990 ) + 380c: 4798 blx r3 + 380e: eb00 70d0 add.w r0, r0, r0, lsr #31 + 3812: ebc8 0560 rsb r5, r8, r0, asr #1 + 3816: b22d sxth r5, r5 new_y = -obj_h_half; - 3ea0: 427c negs r4, r7 - 3ea2: b224 sxth r4, r4 + 3818: 427c negs r4, r7 + 381a: b224 sxth r4, r4 break; - 3ea4: e7ca b.n 3e3c + 381c: e7ca b.n 37b4 new_x = lv_obj_get_width(base) - obj_w_half; - 3ea6: 4630 mov r0, r6 - 3ea8: 4b5b ldr r3, [pc, #364] ; (4018 ) - 3eaa: 4798 blx r3 - 3eac: eba0 0008 sub.w r0, r0, r8 - 3eb0: b205 sxth r5, r0 + 381e: 4630 mov r0, r6 + 3820: 4b5b ldr r3, [pc, #364] ; (3990 ) + 3822: 4798 blx r3 + 3824: eba0 0008 sub.w r0, r0, r8 + 3828: b205 sxth r5, r0 new_y = -obj_h_half; - 3eb2: 427c negs r4, r7 - 3eb4: b224 sxth r4, r4 + 382a: 427c negs r4, r7 + 382c: b224 sxth r4, r4 break; - 3eb6: e7c1 b.n 3e3c + 382e: e7c1 b.n 37b4 new_x = -obj_w_half; - 3eb8: f1c8 0500 rsb r5, r8, #0 - 3ebc: b22d sxth r5, r5 + 3830: f1c8 0500 rsb r5, r8, #0 + 3834: b22d sxth r5, r5 new_y = lv_obj_get_height(base) - obj_h_half; - 3ebe: 4630 mov r0, r6 - 3ec0: 4b56 ldr r3, [pc, #344] ; (401c ) - 3ec2: 4798 blx r3 - 3ec4: 1bc0 subs r0, r0, r7 - 3ec6: b204 sxth r4, r0 + 3836: 4630 mov r0, r6 + 3838: 4b56 ldr r3, [pc, #344] ; (3994 ) + 383a: 4798 blx r3 + 383c: 1bc0 subs r0, r0, r7 + 383e: b204 sxth r4, r0 break; - 3ec8: e7b8 b.n 3e3c + 3840: e7b8 b.n 37b4 new_x = lv_obj_get_width(base) / 2 - obj_w_half; - 3eca: 4630 mov r0, r6 - 3ecc: 4b52 ldr r3, [pc, #328] ; (4018 ) - 3ece: 4798 blx r3 - 3ed0: eb00 70d0 add.w r0, r0, r0, lsr #31 - 3ed4: ebc8 0560 rsb r5, r8, r0, asr #1 - 3ed8: b22d sxth r5, r5 + 3842: 4630 mov r0, r6 + 3844: 4b52 ldr r3, [pc, #328] ; (3990 ) + 3846: 4798 blx r3 + 3848: eb00 70d0 add.w r0, r0, r0, lsr #31 + 384c: ebc8 0560 rsb r5, r8, r0, asr #1 + 3850: b22d sxth r5, r5 new_y = lv_obj_get_height(base) - obj_h_half; - 3eda: 4630 mov r0, r6 - 3edc: 4b4f ldr r3, [pc, #316] ; (401c ) - 3ede: 4798 blx r3 - 3ee0: 1bc0 subs r0, r0, r7 - 3ee2: b204 sxth r4, r0 + 3852: 4630 mov r0, r6 + 3854: 4b4f ldr r3, [pc, #316] ; (3994 ) + 3856: 4798 blx r3 + 3858: 1bc0 subs r0, r0, r7 + 385a: b204 sxth r4, r0 break; - 3ee4: e7aa b.n 3e3c + 385c: e7aa b.n 37b4 new_x = lv_obj_get_width(base) - obj_w_half; - 3ee6: 4630 mov r0, r6 - 3ee8: 4b4b ldr r3, [pc, #300] ; (4018 ) - 3eea: 4798 blx r3 - 3eec: eba0 0008 sub.w r0, r0, r8 - 3ef0: b205 sxth r5, r0 + 385e: 4630 mov r0, r6 + 3860: 4b4b ldr r3, [pc, #300] ; (3990 ) + 3862: 4798 blx r3 + 3864: eba0 0008 sub.w r0, r0, r8 + 3868: b205 sxth r5, r0 new_y = lv_obj_get_height(base) - obj_h_half; - 3ef2: 4630 mov r0, r6 - 3ef4: 4b49 ldr r3, [pc, #292] ; (401c ) - 3ef6: 4798 blx r3 - 3ef8: 1bc0 subs r0, r0, r7 - 3efa: b204 sxth r4, r0 + 386a: 4630 mov r0, r6 + 386c: 4b49 ldr r3, [pc, #292] ; (3994 ) + 386e: 4798 blx r3 + 3870: 1bc0 subs r0, r0, r7 + 3872: b204 sxth r4, r0 break; - 3efc: e79e b.n 3e3c + 3874: e79e b.n 37b4 new_x = -obj_w_half; - 3efe: f1c8 0500 rsb r5, r8, #0 - 3f02: b22d sxth r5, r5 + 3876: f1c8 0500 rsb r5, r8, #0 + 387a: b22d sxth r5, r5 new_y = lv_obj_get_height(base) / 2 - obj_h_half; - 3f04: 4630 mov r0, r6 - 3f06: 4b45 ldr r3, [pc, #276] ; (401c ) - 3f08: 4798 blx r3 - 3f0a: eb00 70d0 add.w r0, r0, r0, lsr #31 - 3f0e: ebc7 0460 rsb r4, r7, r0, asr #1 - 3f12: b224 sxth r4, r4 + 387c: 4630 mov r0, r6 + 387e: 4b45 ldr r3, [pc, #276] ; (3994 ) + 3880: 4798 blx r3 + 3882: eb00 70d0 add.w r0, r0, r0, lsr #31 + 3886: ebc7 0460 rsb r4, r7, r0, asr #1 + 388a: b224 sxth r4, r4 break; - 3f14: e792 b.n 3e3c + 388c: e792 b.n 37b4 new_x = lv_obj_get_width(base) - obj_w_half; - 3f16: 4630 mov r0, r6 - 3f18: 4b3f ldr r3, [pc, #252] ; (4018 ) - 3f1a: 4798 blx r3 - 3f1c: eba0 0008 sub.w r0, r0, r8 - 3f20: b205 sxth r5, r0 + 388e: 4630 mov r0, r6 + 3890: 4b3f ldr r3, [pc, #252] ; (3990 ) + 3892: 4798 blx r3 + 3894: eba0 0008 sub.w r0, r0, r8 + 3898: b205 sxth r5, r0 new_y = lv_obj_get_height(base) / 2 - obj_h_half; - 3f22: 4630 mov r0, r6 - 3f24: 4b3d ldr r3, [pc, #244] ; (401c ) - 3f26: 4798 blx r3 - 3f28: eb00 70d0 add.w r0, r0, r0, lsr #31 - 3f2c: ebc7 0460 rsb r4, r7, r0, asr #1 - 3f30: b224 sxth r4, r4 + 389a: 4630 mov r0, r6 + 389c: 4b3d ldr r3, [pc, #244] ; (3994 ) + 389e: 4798 blx r3 + 38a0: eb00 70d0 add.w r0, r0, r0, lsr #31 + 38a4: ebc7 0460 rsb r4, r7, r0, asr #1 + 38a8: b224 sxth r4, r4 break; - 3f32: e783 b.n 3e3c + 38aa: e783 b.n 37b4 new_x = -obj_w_half; - 3f34: f1c8 0500 rsb r5, r8, #0 - 3f38: b22d sxth r5, r5 + 38ac: f1c8 0500 rsb r5, r8, #0 + 38b0: b22d sxth r5, r5 new_y = -obj_h_half; - 3f3a: 427c negs r4, r7 - 3f3c: b224 sxth r4, r4 + 38b2: 427c negs r4, r7 + 38b4: b224 sxth r4, r4 break; - 3f3e: e77d b.n 3e3c + 38b6: e77d b.n 37b4 new_x = lv_obj_get_width(base) / 2 - obj_w_half; - 3f40: 4630 mov r0, r6 - 3f42: 4b35 ldr r3, [pc, #212] ; (4018 ) - 3f44: 4798 blx r3 - 3f46: eb00 70d0 add.w r0, r0, r0, lsr #31 - 3f4a: ebc8 0560 rsb r5, r8, r0, asr #1 - 3f4e: b22d sxth r5, r5 + 38b8: 4630 mov r0, r6 + 38ba: 4b35 ldr r3, [pc, #212] ; (3990 ) + 38bc: 4798 blx r3 + 38be: eb00 70d0 add.w r0, r0, r0, lsr #31 + 38c2: ebc8 0560 rsb r5, r8, r0, asr #1 + 38c6: b22d sxth r5, r5 new_y = -obj_h_half; - 3f50: 427c negs r4, r7 - 3f52: b224 sxth r4, r4 + 38c8: 427c negs r4, r7 + 38ca: b224 sxth r4, r4 break; - 3f54: e772 b.n 3e3c + 38cc: e772 b.n 37b4 new_x = lv_obj_get_width(base) - obj_w_half; - 3f56: 4630 mov r0, r6 - 3f58: 4b2f ldr r3, [pc, #188] ; (4018 ) - 3f5a: 4798 blx r3 - 3f5c: eba0 0008 sub.w r0, r0, r8 - 3f60: b205 sxth r5, r0 + 38ce: 4630 mov r0, r6 + 38d0: 4b2f ldr r3, [pc, #188] ; (3990 ) + 38d2: 4798 blx r3 + 38d4: eba0 0008 sub.w r0, r0, r8 + 38d8: b205 sxth r5, r0 new_y = -obj_h_half; - 3f62: 427c negs r4, r7 - 3f64: b224 sxth r4, r4 + 38da: 427c negs r4, r7 + 38dc: b224 sxth r4, r4 break; - 3f66: e769 b.n 3e3c + 38de: e769 b.n 37b4 new_x = -obj_w_half; - 3f68: f1c8 0500 rsb r5, r8, #0 - 3f6c: b22d sxth r5, r5 + 38e0: f1c8 0500 rsb r5, r8, #0 + 38e4: b22d sxth r5, r5 new_y = lv_obj_get_height(base) - obj_h_half; - 3f6e: 4630 mov r0, r6 - 3f70: 4b2a ldr r3, [pc, #168] ; (401c ) - 3f72: 4798 blx r3 - 3f74: 1bc0 subs r0, r0, r7 - 3f76: b204 sxth r4, r0 + 38e6: 4630 mov r0, r6 + 38e8: 4b2a ldr r3, [pc, #168] ; (3994 ) + 38ea: 4798 blx r3 + 38ec: 1bc0 subs r0, r0, r7 + 38ee: b204 sxth r4, r0 break; - 3f78: e760 b.n 3e3c + 38f0: e760 b.n 37b4 new_x = lv_obj_get_width(base) / 2 - obj_w_half; - 3f7a: 4630 mov r0, r6 - 3f7c: 4b26 ldr r3, [pc, #152] ; (4018 ) - 3f7e: 4798 blx r3 - 3f80: eb00 70d0 add.w r0, r0, r0, lsr #31 - 3f84: ebc8 0560 rsb r5, r8, r0, asr #1 - 3f88: b22d sxth r5, r5 + 38f2: 4630 mov r0, r6 + 38f4: 4b26 ldr r3, [pc, #152] ; (3990 ) + 38f6: 4798 blx r3 + 38f8: eb00 70d0 add.w r0, r0, r0, lsr #31 + 38fc: ebc8 0560 rsb r5, r8, r0, asr #1 + 3900: b22d sxth r5, r5 new_y = lv_obj_get_height(base) - obj_h_half; - 3f8a: 4630 mov r0, r6 - 3f8c: 4b23 ldr r3, [pc, #140] ; (401c ) - 3f8e: 4798 blx r3 - 3f90: 1bc0 subs r0, r0, r7 - 3f92: b204 sxth r4, r0 + 3902: 4630 mov r0, r6 + 3904: 4b23 ldr r3, [pc, #140] ; (3994 ) + 3906: 4798 blx r3 + 3908: 1bc0 subs r0, r0, r7 + 390a: b204 sxth r4, r0 break; - 3f94: e752 b.n 3e3c + 390c: e752 b.n 37b4 new_x = lv_obj_get_width(base) - obj_w_half; - 3f96: 4630 mov r0, r6 - 3f98: 4b1f ldr r3, [pc, #124] ; (4018 ) - 3f9a: 4798 blx r3 - 3f9c: eba0 0008 sub.w r0, r0, r8 - 3fa0: b205 sxth r5, r0 + 390e: 4630 mov r0, r6 + 3910: 4b1f ldr r3, [pc, #124] ; (3990 ) + 3912: 4798 blx r3 + 3914: eba0 0008 sub.w r0, r0, r8 + 3918: b205 sxth r5, r0 new_y = lv_obj_get_height(base) - obj_h_half; - 3fa2: 4630 mov r0, r6 - 3fa4: 4b1d ldr r3, [pc, #116] ; (401c ) - 3fa6: 4798 blx r3 - 3fa8: 1bc0 subs r0, r0, r7 - 3faa: b204 sxth r4, r0 + 391a: 4630 mov r0, r6 + 391c: 4b1d ldr r3, [pc, #116] ; (3994 ) + 391e: 4798 blx r3 + 3920: 1bc0 subs r0, r0, r7 + 3922: b204 sxth r4, r0 break; - 3fac: e746 b.n 3e3c + 3924: e746 b.n 37b4 new_x = -obj_w_half; - 3fae: f1c8 0500 rsb r5, r8, #0 - 3fb2: b22d sxth r5, r5 + 3926: f1c8 0500 rsb r5, r8, #0 + 392a: b22d sxth r5, r5 new_y = -obj_h_half; - 3fb4: 427c negs r4, r7 - 3fb6: b224 sxth r4, r4 + 392c: 427c negs r4, r7 + 392e: b224 sxth r4, r4 break; - 3fb8: e740 b.n 3e3c + 3930: e740 b.n 37b4 new_x = -obj_w_half; - 3fba: f1c8 0500 rsb r5, r8, #0 - 3fbe: b22d sxth r5, r5 + 3932: f1c8 0500 rsb r5, r8, #0 + 3936: b22d sxth r5, r5 new_y = lv_obj_get_height(base) / 2 - obj_h_half; - 3fc0: 4630 mov r0, r6 - 3fc2: 4b16 ldr r3, [pc, #88] ; (401c ) - 3fc4: 4798 blx r3 - 3fc6: eb00 70d0 add.w r0, r0, r0, lsr #31 - 3fca: ebc7 0460 rsb r4, r7, r0, asr #1 - 3fce: b224 sxth r4, r4 + 3938: 4630 mov r0, r6 + 393a: 4b16 ldr r3, [pc, #88] ; (3994 ) + 393c: 4798 blx r3 + 393e: eb00 70d0 add.w r0, r0, r0, lsr #31 + 3942: ebc7 0460 rsb r4, r7, r0, asr #1 + 3946: b224 sxth r4, r4 break; - 3fd0: e734 b.n 3e3c + 3948: e734 b.n 37b4 new_x = -obj_w_half; - 3fd2: f1c8 0500 rsb r5, r8, #0 - 3fd6: b22d sxth r5, r5 + 394a: f1c8 0500 rsb r5, r8, #0 + 394e: b22d sxth r5, r5 new_y = lv_obj_get_height(base) - obj_h_half; - 3fd8: 4630 mov r0, r6 - 3fda: 4b10 ldr r3, [pc, #64] ; (401c ) - 3fdc: 4798 blx r3 - 3fde: 1bc0 subs r0, r0, r7 - 3fe0: b204 sxth r4, r0 + 3950: 4630 mov r0, r6 + 3952: 4b10 ldr r3, [pc, #64] ; (3994 ) + 3954: 4798 blx r3 + 3956: 1bc0 subs r0, r0, r7 + 3958: b204 sxth r4, r0 break; - 3fe2: e72b b.n 3e3c + 395a: e72b b.n 37b4 new_x = lv_obj_get_width(base) - obj_w_half; - 3fe4: 4630 mov r0, r6 - 3fe6: 4b0c ldr r3, [pc, #48] ; (4018 ) - 3fe8: 4798 blx r3 - 3fea: eba0 0008 sub.w r0, r0, r8 - 3fee: b205 sxth r5, r0 + 395c: 4630 mov r0, r6 + 395e: 4b0c ldr r3, [pc, #48] ; (3990 ) + 3960: 4798 blx r3 + 3962: eba0 0008 sub.w r0, r0, r8 + 3966: b205 sxth r5, r0 new_y = -obj_h_half; - 3ff0: 427c negs r4, r7 - 3ff2: b224 sxth r4, r4 + 3968: 427c negs r4, r7 + 396a: b224 sxth r4, r4 break; - 3ff4: e722 b.n 3e3c - 3ff6: bf00 nop - 3ff8: 0000298d .word 0x0000298d - 3ffc: 0001b9c8 .word 0x0001b9c8 - 4000: 0001bcc0 .word 0x0001bcc0 - 4004: 00012805 .word 0x00012805 - 4008: 0001bd20 .word 0x0001bd20 - 400c: 00002995 .word 0x00002995 - 4010: 00003525 .word 0x00003525 - 4014: 00003585 .word 0x00003585 - 4018: 000035e5 .word 0x000035e5 - 401c: 00003635 .word 0x00003635 - 4020: 00003305 .word 0x00003305 - 4024: 00003ac5 .word 0x00003ac5 + 396c: e722 b.n 37b4 + 396e: bf00 nop + 3970: 000022b1 .word 0x000022b1 + 3974: 000244e4 .word 0x000244e4 + 3978: 000247dc .word 0x000247dc + 397c: 0001225d .word 0x0001225d + 3980: 0002483c .word 0x0002483c + 3984: 000022b9 .word 0x000022b9 + 3988: 00002e9d .word 0x00002e9d + 398c: 00002efd .word 0x00002efd + 3990: 00002f5d .word 0x00002f5d + 3994: 00002fad .word 0x00002fad + 3998: 00002c7d .word 0x00002c7d + 399c: 0000343d .word 0x0000343d new_x = lv_obj_get_width(base) - obj_w_half; - 4028: 4630 mov r0, r6 - 402a: 4b0d ldr r3, [pc, #52] ; (4060 ) - 402c: 4798 blx r3 - 402e: eba0 0008 sub.w r0, r0, r8 - 4032: b205 sxth r5, r0 + 39a0: 4630 mov r0, r6 + 39a2: 4b0d ldr r3, [pc, #52] ; (39d8 ) + 39a4: 4798 blx r3 + 39a6: eba0 0008 sub.w r0, r0, r8 + 39aa: b205 sxth r5, r0 new_y = lv_obj_get_height(base) / 2 - obj_h_half; - 4034: 4630 mov r0, r6 - 4036: 4b0b ldr r3, [pc, #44] ; (4064 ) - 4038: 4798 blx r3 - 403a: eb00 70d0 add.w r0, r0, r0, lsr #31 - 403e: ebc7 0460 rsb r4, r7, r0, asr #1 - 4042: b224 sxth r4, r4 + 39ac: 4630 mov r0, r6 + 39ae: 4b0b ldr r3, [pc, #44] ; (39dc ) + 39b0: 4798 blx r3 + 39b2: eb00 70d0 add.w r0, r0, r0, lsr #31 + 39b6: ebc7 0460 rsb r4, r7, r0, asr #1 + 39ba: b224 sxth r4, r4 break; - 4044: e6fa b.n 3e3c + 39bc: e6fa b.n 37b4 new_x = lv_obj_get_width(base) - obj_w_half; - 4046: 4630 mov r0, r6 - 4048: 4b05 ldr r3, [pc, #20] ; (4060 ) - 404a: 4798 blx r3 - 404c: eba0 0008 sub.w r0, r0, r8 - 4050: b205 sxth r5, r0 + 39be: 4630 mov r0, r6 + 39c0: 4b05 ldr r3, [pc, #20] ; (39d8 ) + 39c2: 4798 blx r3 + 39c4: eba0 0008 sub.w r0, r0, r8 + 39c8: b205 sxth r5, r0 new_y = lv_obj_get_height(base) - obj_h_half; - 4052: 4630 mov r0, r6 - 4054: 4b03 ldr r3, [pc, #12] ; (4064 ) - 4056: 4798 blx r3 - 4058: 1bc0 subs r0, r0, r7 - 405a: b204 sxth r4, r0 + 39ca: 4630 mov r0, r6 + 39cc: 4b03 ldr r3, [pc, #12] ; (39dc ) + 39ce: 4798 blx r3 + 39d0: 1bc0 subs r0, r0, r7 + 39d2: b204 sxth r4, r0 break; - 405c: e6ee b.n 3e3c - 405e: bf00 nop - 4060: 000035e5 .word 0x000035e5 - 4064: 00003635 .word 0x00003635 + 39d4: e6ee b.n 37b4 + 39d6: bf00 nop + 39d8: 00002f5d .word 0x00002f5d + 39dc: 00002fad .word 0x00002fad -00004068 : +000039e0 : { - 4068: b530 push {r4, r5, lr} - 406a: b083 sub sp, #12 - 406c: 4604 mov r4, r0 + 39e0: b530 push {r4, r5, lr} + 39e2: b083 sub sp, #12 + 39e4: 4604 mov r4, r0 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 406e: 4b12 ldr r3, [pc, #72] ; (40b8 ) - 4070: 4798 blx r3 - 4072: b190 cbz r0, 409a + 39e6: 4b12 ldr r3, [pc, #72] ; (3a30 ) + 39e8: 4798 blx r3 + 39ea: b190 cbz r0, 3a12 if(obj->realign.origo_align) - 4074: f894 3049 ldrb.w r3, [r4, #73] ; 0x49 - 4078: f013 0f02 tst.w r3, #2 + 39ec: f894 3049 ldrb.w r3, [r4, #73] ; 0x49 + 39f0: f013 0f02 tst.w r3, #2 lv_obj_align_origo(obj, obj->realign.base, obj->realign.align, obj->realign.xofs, obj->realign.yofs); - 407c: f9b4 3044 ldrsh.w r3, [r4, #68] ; 0x44 - 4080: f894 2048 ldrb.w r2, [r4, #72] ; 0x48 - 4084: f9b4 1046 ldrsh.w r1, [r4, #70] ; 0x46 - 4088: 9100 str r1, [sp, #0] - 408a: 6c21 ldr r1, [r4, #64] ; 0x40 - 408c: 4620 mov r0, r4 - 408e: bf14 ite ne - 4090: 4c0a ldrne r4, [pc, #40] ; (40bc ) + 39f4: f9b4 3044 ldrsh.w r3, [r4, #68] ; 0x44 + 39f8: f894 2048 ldrb.w r2, [r4, #72] ; 0x48 + 39fc: f9b4 1046 ldrsh.w r1, [r4, #70] ; 0x46 + 3a00: 9100 str r1, [sp, #0] + 3a02: 6c21 ldr r1, [r4, #64] ; 0x40 + 3a04: 4620 mov r0, r4 + 3a06: bf14 ite ne + 3a08: 4c0a ldrne r4, [pc, #40] ; (3a34 ) lv_obj_align(obj, obj->realign.base, obj->realign.align, obj->realign.xofs, obj->realign.yofs); - 4092: 4c0b ldreq r4, [pc, #44] ; (40c0 ) - 4094: 47a0 blx r4 + 3a0a: 4c0b ldreq r4, [pc, #44] ; (3a38 ) + 3a0c: 47a0 blx r4 } - 4096: b003 add sp, #12 - 4098: bd30 pop {r4, r5, pc} + 3a0e: b003 add sp, #12 + 3a10: bd30 pop {r4, r5, pc} LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 409a: 4b0a ldr r3, [pc, #40] ; (40c4 ) - 409c: 9300 str r3, [sp, #0] - 409e: f240 422a movw r2, #1066 ; 0x42a - 40a2: 4909 ldr r1, [pc, #36] ; (40c8 ) - 40a4: 2003 movs r0, #3 - 40a6: 4d09 ldr r5, [pc, #36] ; (40cc ) - 40a8: 47a8 blx r5 - 40aa: 4622 mov r2, r4 - 40ac: 2300 movs r3, #0 - 40ae: 4808 ldr r0, [pc, #32] ; (40d0 ) - 40b0: 4908 ldr r1, [pc, #32] ; (40d4 ) - 40b2: 4788 blx r1 - 40b4: e7fe b.n 40b4 - 40b6: bf00 nop - 40b8: 0000298d .word 0x0000298d - 40bc: 00003d59 .word 0x00003d59 - 40c0: 00003c71 .word 0x00003c71 - 40c4: 0001b9dc .word 0x0001b9dc - 40c8: 0001bcc0 .word 0x0001bcc0 - 40cc: 00012805 .word 0x00012805 - 40d0: 0001bd20 .word 0x0001bd20 - 40d4: 00002995 .word 0x00002995 - -000040d8 : -{ - 40d8: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - 40dc: 4606 mov r6, r0 + 3a12: 4b0a ldr r3, [pc, #40] ; (3a3c ) + 3a14: 9300 str r3, [sp, #0] + 3a16: f240 422a movw r2, #1066 ; 0x42a + 3a1a: 4909 ldr r1, [pc, #36] ; (3a40 ) + 3a1c: 2003 movs r0, #3 + 3a1e: 4d09 ldr r5, [pc, #36] ; (3a44 ) + 3a20: 47a8 blx r5 + 3a22: 4622 mov r2, r4 + 3a24: 2300 movs r3, #0 + 3a26: 4808 ldr r0, [pc, #32] ; (3a48 ) + 3a28: 4908 ldr r1, [pc, #32] ; (3a4c ) + 3a2a: 4788 blx r1 + 3a2c: e7fe b.n 3a2c + 3a2e: bf00 nop + 3a30: 000022b1 .word 0x000022b1 + 3a34: 000036d1 .word 0x000036d1 + 3a38: 000035e9 .word 0x000035e9 + 3a3c: 000244f8 .word 0x000244f8 + 3a40: 000247dc .word 0x000247dc + 3a44: 0001225d .word 0x0001225d + 3a48: 0002483c .word 0x0002483c + 3a4c: 000022b9 .word 0x000022b9 + +00003a50 : +{ + 3a50: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} + 3a54: 4606 mov r6, r0 lv_obj_t * child = lv_obj_get_child(obj, NULL); - 40de: 2100 movs r1, #0 - 40e0: 4b0d ldr r3, [pc, #52] ; (4118 ) - 40e2: 4798 blx r3 + 3a56: 2100 movs r1, #0 + 3a58: 4b0d ldr r3, [pc, #52] ; (3a90 ) + 3a5a: 4798 blx r3 while(child != NULL) { - 40e4: b1b0 cbz r0, 4114 - 40e6: 4604 mov r4, r0 + 3a5c: b1b0 cbz r0, 3a8c + 3a5e: 4604 mov r4, r0 lv_obj_invalidate(child); - 40e8: 4d0c ldr r5, [pc, #48] ; (411c ) + 3a60: 4d0c ldr r5, [pc, #48] ; (3a94 ) child->signal_cb(child, LV_SIGNAL_STYLE_CHG, NULL); - 40ea: f04f 0800 mov.w r8, #0 + 3a62: f04f 0800 mov.w r8, #0 child = lv_obj_get_child(obj, child); - 40ee: 4f0a ldr r7, [pc, #40] ; (4118 ) + 3a66: 4f0a ldr r7, [pc, #40] ; (3a90 ) lv_obj_invalidate(child); - 40f0: 4620 mov r0, r4 - 40f2: 47a8 blx r5 + 3a68: 4620 mov r0, r4 + 3a6a: 47a8 blx r5 child->signal_cb(child, LV_SIGNAL_STYLE_CHG, NULL); - 40f4: 69e3 ldr r3, [r4, #28] - 40f6: 4642 mov r2, r8 - 40f8: 2104 movs r1, #4 - 40fa: 4620 mov r0, r4 - 40fc: 4798 blx r3 + 3a6c: 69e3 ldr r3, [r4, #28] + 3a6e: 4642 mov r2, r8 + 3a70: 2104 movs r1, #4 + 3a72: 4620 mov r0, r4 + 3a74: 4798 blx r3 lv_obj_invalidate(child); - 40fe: 4620 mov r0, r4 - 4100: 47a8 blx r5 + 3a76: 4620 mov r0, r4 + 3a78: 47a8 blx r5 refresh_children_style(child); /*Check children too*/ - 4102: 4620 mov r0, r4 - 4104: f7ff ffe8 bl 40d8 + 3a7a: 4620 mov r0, r4 + 3a7c: f7ff ffe8 bl 3a50 child = lv_obj_get_child(obj, child); - 4108: 4621 mov r1, r4 - 410a: 4630 mov r0, r6 - 410c: 47b8 blx r7 + 3a80: 4621 mov r1, r4 + 3a82: 4630 mov r0, r6 + 3a84: 47b8 blx r7 while(child != NULL) { - 410e: 4604 mov r4, r0 - 4110: 2800 cmp r0, #0 - 4112: d1ed bne.n 40f0 - 4114: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} - 4118: 00003469 .word 0x00003469 - 411c: 000039a9 .word 0x000039a9 - -00004120 : -{ - 4120: b530 push {r4, r5, lr} - 4122: b083 sub sp, #12 - 4124: 4605 mov r5, r0 - 4126: 460c mov r4, r1 + 3a86: 4604 mov r4, r0 + 3a88: 2800 cmp r0, #0 + 3a8a: d1ed bne.n 3a68 + 3a8c: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + 3a90: 00002de1 .word 0x00002de1 + 3a94: 00003321 .word 0x00003321 + +00003a98 : +{ + 3a98: b530 push {r4, r5, lr} + 3a9a: b083 sub sp, #12 + 3a9c: 4605 mov r5, r0 + 3a9e: 460c mov r4, r1 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 4128: 4b36 ldr r3, [pc, #216] ; (4204 ) - 412a: 4798 blx r3 - 412c: b198 cbz r0, 4156 + 3aa0: 4b36 ldr r3, [pc, #216] ; (3b7c ) + 3aa2: 4798 blx r3 + 3aa4: b198 cbz r0, 3ace switch(prop) { - 412e: 2c71 cmp r4, #113 ; 0x71 - 4130: d846 bhi.n 41c0 - 4132: 2c70 cmp r4, #112 ; 0x70 - 4134: d223 bcs.n 417e - 4136: 2c41 cmp r4, #65 ; 0x41 - 4138: d81b bhi.n 4172 - 413a: 2c40 cmp r4, #64 ; 0x40 - 413c: d21f bcs.n 417e - 413e: 2c02 cmp r4, #2 - 4140: d305 bcc.n 414e - 4142: 2c07 cmp r4, #7 - 4144: d91b bls.n 417e - 4146: f1a4 0310 sub.w r3, r4, #16 - 414a: 2b08 cmp r3, #8 - 414c: d917 bls.n 417e + 3aa6: 2c71 cmp r4, #113 ; 0x71 + 3aa8: d846 bhi.n 3b38 + 3aaa: 2c70 cmp r4, #112 ; 0x70 + 3aac: d223 bcs.n 3af6 + 3aae: 2c41 cmp r4, #65 ; 0x41 + 3ab0: d81b bhi.n 3aea + 3ab2: 2c40 cmp r4, #64 ; 0x40 + 3ab4: d21f bcs.n 3af6 + 3ab6: 2c02 cmp r4, #2 + 3ab8: d305 bcc.n 3ac6 + 3aba: 2c07 cmp r4, #7 + 3abc: d91b bls.n 3af6 + 3abe: f1a4 0310 sub.w r3, r4, #16 + 3ac2: 2b08 cmp r3, #8 + 3ac4: d917 bls.n 3af6 lv_obj_invalidate(obj); - 414e: 4628 mov r0, r5 - 4150: 4b2d ldr r3, [pc, #180] ; (4208 ) - 4152: 4798 blx r3 + 3ac6: 4628 mov r0, r5 + 3ac8: 4b2d ldr r3, [pc, #180] ; (3b80 ) + 3aca: 4798 blx r3 } - 4154: e02f b.n 41b6 + 3acc: e02f b.n 3b2e LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 4156: 4b2d ldr r3, [pc, #180] ; (420c ) - 4158: 9300 str r3, [sp, #0] - 415a: f240 521d movw r2, #1309 ; 0x51d - 415e: 492c ldr r1, [pc, #176] ; (4210 ) - 4160: 2003 movs r0, #3 - 4162: 4c2c ldr r4, [pc, #176] ; (4214 ) - 4164: 47a0 blx r4 - 4166: 462a mov r2, r5 - 4168: 2300 movs r3, #0 - 416a: 482b ldr r0, [pc, #172] ; (4218 ) - 416c: 492b ldr r1, [pc, #172] ; (421c ) - 416e: 4788 blx r1 - 4170: e7fe b.n 4170 + 3ace: 4b2d ldr r3, [pc, #180] ; (3b84 ) + 3ad0: 9300 str r3, [sp, #0] + 3ad2: f240 521d movw r2, #1309 ; 0x51d + 3ad6: 492c ldr r1, [pc, #176] ; (3b88 ) + 3ad8: 2003 movs r0, #3 + 3ada: 4c2c ldr r4, [pc, #176] ; (3b8c ) + 3adc: 47a0 blx r4 + 3ade: 462a mov r2, r5 + 3ae0: 2300 movs r3, #0 + 3ae2: 482b ldr r0, [pc, #172] ; (3b90 ) + 3ae4: 492b ldr r1, [pc, #172] ; (3b94 ) + 3ae6: 4788 blx r1 + 3ae8: e7fe b.n 3ae8 switch(prop) { - 4172: 2c53 cmp r4, #83 ; 0x53 - 4174: d821 bhi.n 41ba - 4176: 2c50 cmp r4, #80 ; 0x50 - 4178: d201 bcs.n 417e - 417a: 2c4c cmp r4, #76 ; 0x4c - 417c: d1e7 bne.n 414e + 3aea: 2c53 cmp r4, #83 ; 0x53 + 3aec: d821 bhi.n 3b32 + 3aee: 2c50 cmp r4, #80 ; 0x50 + 3af0: d201 bcs.n 3af6 + 3af2: 2c4c cmp r4, #76 ; 0x4c + 3af4: d1e7 bne.n 3ac6 lv_obj_invalidate(obj); - 417e: 4628 mov r0, r5 - 4180: 4b21 ldr r3, [pc, #132] ; (4208 ) - 4182: 4798 blx r3 + 3af6: 4628 mov r0, r5 + 3af8: 4b21 ldr r3, [pc, #132] ; (3b80 ) + 3afa: 4798 blx r3 obj->signal_cb(obj, LV_SIGNAL_STYLE_CHG, NULL); - 4184: 69eb ldr r3, [r5, #28] - 4186: 2200 movs r2, #0 - 4188: 2104 movs r1, #4 - 418a: 4628 mov r0, r5 - 418c: 4798 blx r3 + 3afc: 69eb ldr r3, [r5, #28] + 3afe: 2200 movs r2, #0 + 3b00: 2104 movs r1, #4 + 3b02: 4628 mov r0, r5 + 3b04: 4798 blx r3 switch(prop) { - 418e: 2c15 cmp r4, #21 - 4190: d309 bcc.n 41a6 - 4192: 2c18 cmp r4, #24 - 4194: d901 bls.n 419a - 4196: 2cff cmp r4, #255 ; 0xff - 4198: d105 bne.n 41a6 + 3b06: 2c15 cmp r4, #21 + 3b08: d309 bcc.n 3b1e + 3b0a: 2c18 cmp r4, #24 + 3b0c: d901 bls.n 3b12 + 3b0e: 2cff cmp r4, #255 ; 0xff + 3b10: d105 bne.n 3b1e if(obj->parent) obj->parent->signal_cb(obj->parent, LV_SIGNAL_CHILD_CHG, NULL); - 419a: 6828 ldr r0, [r5, #0] - 419c: b118 cbz r0, 41a6 - 419e: 69c3 ldr r3, [r0, #28] - 41a0: 2200 movs r2, #0 - 41a2: 2101 movs r1, #1 - 41a4: 4798 blx r3 + 3b12: 6828 ldr r0, [r5, #0] + 3b14: b118 cbz r0, 3b1e + 3b16: 69c3 ldr r3, [r0, #28] + 3b18: 2200 movs r2, #0 + 3b1a: 2101 movs r1, #1 + 3b1c: 4798 blx r3 lv_obj_invalidate(obj); - 41a6: 4628 mov r0, r5 - 41a8: 4b17 ldr r3, [pc, #92] ; (4208 ) - 41aa: 4798 blx r3 + 3b1e: 4628 mov r0, r5 + 3b20: 4b17 ldr r3, [pc, #92] ; (3b80 ) + 3b22: 4798 blx r3 if(prop == LV_STYLE_PROP_ALL || (prop & LV_STYLE_INHERIT_MASK)) refresh_children_style(obj); - 41ac: 2cff cmp r4, #255 ; 0xff - 41ae: d024 beq.n 41fa - 41b0: f414 4f00 tst.w r4, #32768 ; 0x8000 - 41b4: d121 bne.n 41fa + 3b24: 2cff cmp r4, #255 ; 0xff + 3b26: d024 beq.n 3b72 + 3b28: f414 4f00 tst.w r4, #32768 ; 0x8000 + 3b2c: d121 bne.n 3b72 } - 41b6: b003 add sp, #12 - 41b8: bd30 pop {r4, r5, pc} + 3b2e: b003 add sp, #12 + 3b30: bd30 pop {r4, r5, pc} switch(prop) { - 41ba: 2c5c cmp r4, #92 ; 0x5c - 41bc: d1c7 bne.n 414e - 41be: e7de b.n 417e - 41c0: 2c7f cmp r4, #127 ; 0x7f - 41c2: d90c bls.n 41de - 41c4: f248 0381 movw r3, #32897 ; 0x8081 - 41c8: 429c cmp r4, r3 - 41ca: d811 bhi.n 41f0 - 41cc: f248 0380 movw r3, #32896 ; 0x8080 - 41d0: 429c cmp r4, r3 - 41d2: d2d4 bcs.n 417e - 41d4: 2c90 cmp r4, #144 ; 0x90 - 41d6: d0d2 beq.n 417e - 41d8: 2cff cmp r4, #255 ; 0xff - 41da: d1b8 bne.n 414e - 41dc: e7cf b.n 417e - 41de: 2c7e cmp r4, #126 ; 0x7e - 41e0: d2cd bcs.n 417e - 41e2: 2c73 cmp r4, #115 ; 0x73 - 41e4: d3b3 bcc.n 414e - 41e6: 2c75 cmp r4, #117 ; 0x75 - 41e8: d9c9 bls.n 417e - 41ea: 2c7c cmp r4, #124 ; 0x7c - 41ec: d1af bne.n 414e - 41ee: e7c6 b.n 417e - 41f0: f248 038e movw r3, #32910 ; 0x808e - 41f4: 429c cmp r4, r3 - 41f6: d1aa bne.n 414e - 41f8: e7c1 b.n 417e + 3b32: 2c5c cmp r4, #92 ; 0x5c + 3b34: d1c7 bne.n 3ac6 + 3b36: e7de b.n 3af6 + 3b38: 2c7f cmp r4, #127 ; 0x7f + 3b3a: d90c bls.n 3b56 + 3b3c: f248 0381 movw r3, #32897 ; 0x8081 + 3b40: 429c cmp r4, r3 + 3b42: d811 bhi.n 3b68 + 3b44: f248 0380 movw r3, #32896 ; 0x8080 + 3b48: 429c cmp r4, r3 + 3b4a: d2d4 bcs.n 3af6 + 3b4c: 2c90 cmp r4, #144 ; 0x90 + 3b4e: d0d2 beq.n 3af6 + 3b50: 2cff cmp r4, #255 ; 0xff + 3b52: d1b8 bne.n 3ac6 + 3b54: e7cf b.n 3af6 + 3b56: 2c7e cmp r4, #126 ; 0x7e + 3b58: d2cd bcs.n 3af6 + 3b5a: 2c73 cmp r4, #115 ; 0x73 + 3b5c: d3b3 bcc.n 3ac6 + 3b5e: 2c75 cmp r4, #117 ; 0x75 + 3b60: d9c9 bls.n 3af6 + 3b62: 2c7c cmp r4, #124 ; 0x7c + 3b64: d1af bne.n 3ac6 + 3b66: e7c6 b.n 3af6 + 3b68: f248 038e movw r3, #32910 ; 0x808e + 3b6c: 429c cmp r4, r3 + 3b6e: d1aa bne.n 3ac6 + 3b70: e7c1 b.n 3af6 if(prop == LV_STYLE_PROP_ALL || (prop & LV_STYLE_INHERIT_MASK)) refresh_children_style(obj); - 41fa: 4628 mov r0, r5 - 41fc: 4b08 ldr r3, [pc, #32] ; (4220 ) - 41fe: 4798 blx r3 - 4200: e7d9 b.n 41b6 - 4202: bf00 nop - 4204: 0000298d .word 0x0000298d - 4208: 000039a9 .word 0x000039a9 - 420c: 0001b9ec .word 0x0001b9ec - 4210: 0001bcc0 .word 0x0001bcc0 - 4214: 00012805 .word 0x00012805 - 4218: 0001bd20 .word 0x0001bd20 - 421c: 00002995 .word 0x00002995 - 4220: 000040d9 .word 0x000040d9 - -00004224 : -{ - 4224: b510 push {r4, lr} - 4226: 4604 mov r4, r0 + 3b72: 4628 mov r0, r5 + 3b74: 4b08 ldr r3, [pc, #32] ; (3b98 ) + 3b76: 4798 blx r3 + 3b78: e7d9 b.n 3b2e + 3b7a: bf00 nop + 3b7c: 000022b1 .word 0x000022b1 + 3b80: 00003321 .word 0x00003321 + 3b84: 00024508 .word 0x00024508 + 3b88: 000247dc .word 0x000247dc + 3b8c: 0001225d .word 0x0001225d + 3b90: 0002483c .word 0x0002483c + 3b94: 000022b9 .word 0x000022b9 + 3b98: 00003a51 .word 0x00003a51 + +00003b9c : +{ + 3b9c: b510 push {r4, lr} + 3b9e: 4604 mov r4, r0 lv_obj_clean_style_list(obj, part); - 4228: 4b03 ldr r3, [pc, #12] ; (4238 ) - 422a: 4798 blx r3 + 3ba0: 4b03 ldr r3, [pc, #12] ; (3bb0 ) + 3ba2: 4798 blx r3 lv_obj_refresh_style(obj, LV_STYLE_PROP_ALL); - 422c: 21ff movs r1, #255 ; 0xff - 422e: 4620 mov r0, r4 - 4230: 4b02 ldr r3, [pc, #8] ; (423c ) - 4232: 4798 blx r3 - 4234: bd10 pop {r4, pc} - 4236: bf00 nop - 4238: 00003755 .word 0x00003755 - 423c: 00004121 .word 0x00004121 - -00004240 : -{ - 4240: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} - 4244: 4604 mov r4, r0 - 4246: 460f mov r7, r1 - 4248: 2600 movs r6, #0 + 3ba4: 21ff movs r1, #255 ; 0xff + 3ba6: 4620 mov r0, r4 + 3ba8: 4b02 ldr r3, [pc, #8] ; (3bb4 ) + 3baa: 4798 blx r3 + 3bac: bd10 pop {r4, pc} + 3bae: bf00 nop + 3bb0: 000030cd .word 0x000030cd + 3bb4: 00003a99 .word 0x00003a99 + +00003bb8 : +{ + 3bb8: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} + 3bbc: 4604 mov r4, r0 + 3bbe: 460f mov r7, r1 + 3bc0: 2600 movs r6, #0 lv_style_list_t * dsc = lv_obj_get_style_list(obj, part_sub); - 424a: f8df 8088 ldr.w r8, [pc, #136] ; 42d4 + 3bc2: f8df 8088 ldr.w r8, [pc, #136] ; 3c4c void _lv_style_list_reset(lv_style_list_t * style_list); static inline lv_style_t * lv_style_list_get_style(lv_style_list_t * list, uint8_t id) { if(list->has_trans && list->skip_trans) id++; if(list->style_cnt == 0 || id >= list->style_cnt) return NULL; - 424e: 4635 mov r5, r6 + 3bc6: 4635 mov r5, r6 lv_obj_refresh_style(obj, LV_STYLE_PROP_ALL); - 4250: f8df 9084 ldr.w r9, [pc, #132] ; 42d8 - 4254: e005 b.n 4262 - 4256: 21ff movs r1, #255 ; 0xff - 4258: 4638 mov r0, r7 - 425a: 47c8 blx r9 - 425c: 3601 adds r6, #1 + 3bc8: f8df 9084 ldr.w r9, [pc, #132] ; 3c50 + 3bcc: e005 b.n 3bda + 3bce: 21ff movs r1, #255 ; 0xff + 3bd0: 4638 mov r0, r7 + 3bd2: 47c8 blx r9 + 3bd4: 3601 adds r6, #1 for(part_sub = 0; part_sub != _LV_OBJ_PART_REAL_LAST; part_sub++) { - 425e: 2e40 cmp r6, #64 ; 0x40 - 4260: d022 beq.n 42a8 + 3bd6: 2e40 cmp r6, #64 ; 0x40 + 3bd8: d022 beq.n 3c20 lv_style_list_t * dsc = lv_obj_get_style_list(obj, part_sub); - 4262: b2f1 uxtb r1, r6 - 4264: 4638 mov r0, r7 - 4266: 47c0 blx r8 + 3bda: b2f1 uxtb r1, r6 + 3bdc: 4638 mov r0, r7 + 3bde: 47c0 blx r8 if(dsc == NULL) break; - 4268: 4686 mov lr, r0 - 426a: b1e8 cbz r0, 42a8 + 3be0: 4686 mov lr, r0 + 3be2: b1e8 cbz r0, 3c20 for(ci = 0; ci < dsc->style_cnt; ci++) { - 426c: 7901 ldrb r1, [r0, #4] - 426e: 2900 cmp r1, #0 - 4270: d0f4 beq.n 425c + 3be4: 7901 ldrb r1, [r0, #4] + 3be6: 2900 cmp r1, #0 + 3be8: d0f4 beq.n 3bd4 if(list->has_trans && list->skip_trans) id++; - 4272: f890 c005 ldrb.w ip, [r0, #5] - 4276: f00c 0c06 and.w ip, ip, #6 - 427a: 2300 movs r3, #0 - 427c: b2da uxtb r2, r3 - 427e: f1bc 0f06 cmp.w ip, #6 - 4282: bf04 itt eq - 4284: 3201 addeq r2, #1 - 4286: b2d2 uxtbeq r2, r2 + 3bea: f890 c005 ldrb.w ip, [r0, #5] + 3bee: f00c 0c06 and.w ip, ip, #6 + 3bf2: 2300 movs r3, #0 + 3bf4: b2da uxtb r2, r3 + 3bf6: f1bc 0f06 cmp.w ip, #6 + 3bfa: bf04 itt eq + 3bfc: 3201 addeq r2, #1 + 3bfe: b2d2 uxtbeq r2, r2 if(list->style_cnt == 0 || id >= list->style_cnt) return NULL; - 4288: 428a cmp r2, r1 + 3c00: 428a cmp r2, r1 return list->style_list[id]; - 428a: bf3a itte cc - 428c: f8de 0000 ldrcc.w r0, [lr] - 4290: f850 2022 ldrcc.w r2, [r0, r2, lsl #2] + 3c02: bf3a itte cc + 3c04: f8de 0000 ldrcc.w r0, [lr] + 3c08: f850 2022 ldrcc.w r2, [r0, r2, lsl #2] if(list->style_cnt == 0 || id >= list->style_cnt) return NULL; - 4294: 462a movcs r2, r5 + 3c0c: 462a movcs r2, r5 if(class == style || style == NULL) { - 4296: 4294 cmp r4, r2 - 4298: d0dd beq.n 4256 - 429a: 2c00 cmp r4, #0 - 429c: d0db beq.n 4256 - 429e: 3301 adds r3, #1 + 3c0e: 4294 cmp r4, r2 + 3c10: d0dd beq.n 3bce + 3c12: 2c00 cmp r4, #0 + 3c14: d0db beq.n 3bce + 3c16: 3301 adds r3, #1 for(ci = 0; ci < dsc->style_cnt; ci++) { - 42a0: b2da uxtb r2, r3 - 42a2: 428a cmp r2, r1 - 42a4: d3ea bcc.n 427c - 42a6: e7d9 b.n 425c + 3c18: b2da uxtb r2, r3 + 3c1a: 428a cmp r2, r1 + 3c1c: d3ea bcc.n 3bf4 + 3c1e: e7d9 b.n 3bd4 lv_obj_t * child = lv_obj_get_child(obj, NULL); - 42a8: 2100 movs r1, #0 - 42aa: 4638 mov r0, r7 - 42ac: 4b08 ldr r3, [pc, #32] ; (42d0 ) - 42ae: 4798 blx r3 + 3c20: 2100 movs r1, #0 + 3c22: 4638 mov r0, r7 + 3c24: 4b08 ldr r3, [pc, #32] ; (3c48 ) + 3c26: 4798 blx r3 while(child) { - 42b0: 4605 mov r5, r0 - 42b2: b150 cbz r0, 42ca + 3c28: 4605 mov r5, r0 + 3c2a: b150 cbz r0, 3c42 child = lv_obj_get_child(obj, child); - 42b4: 4e06 ldr r6, [pc, #24] ; (42d0 ) + 3c2c: 4e06 ldr r6, [pc, #24] ; (3c48 ) report_style_mod_core(style, child); - 42b6: 4629 mov r1, r5 - 42b8: 4620 mov r0, r4 - 42ba: f7ff ffc1 bl 4240 + 3c2e: 4629 mov r1, r5 + 3c30: 4620 mov r0, r4 + 3c32: f7ff ffc1 bl 3bb8 child = lv_obj_get_child(obj, child); - 42be: 4629 mov r1, r5 - 42c0: 4638 mov r0, r7 - 42c2: 47b0 blx r6 + 3c36: 4629 mov r1, r5 + 3c38: 4638 mov r0, r7 + 3c3a: 47b0 blx r6 while(child) { - 42c4: 4605 mov r5, r0 - 42c6: 2800 cmp r0, #0 - 42c8: d1f5 bne.n 42b6 - 42ca: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} - 42ce: bf00 nop - 42d0: 00003469 .word 0x00003469 - 42d4: 00003685 .word 0x00003685 - 42d8: 00004121 .word 0x00004121 - -000042dc : -{ - 42dc: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} - 42e0: 4680 mov r8, r0 + 3c3c: 4605 mov r5, r0 + 3c3e: 2800 cmp r0, #0 + 3c40: d1f5 bne.n 3c2e + 3c42: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} + 3c46: bf00 nop + 3c48: 00002de1 .word 0x00002de1 + 3c4c: 00002ffd .word 0x00002ffd + 3c50: 00003a99 .word 0x00003a99 + +00003c54 : +{ + 3c54: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} + 3c58: 4680 mov r8, r0 lv_disp_t * d = lv_disp_get_next(NULL); - 42e2: 2000 movs r0, #0 - 42e4: 4b0f ldr r3, [pc, #60] ; (4324 ) - 42e6: 4798 blx r3 + 3c5a: 2000 movs r0, #0 + 3c5c: 4b0f ldr r3, [pc, #60] ; (3c9c ) + 3c5e: 4798 blx r3 while(d) { - 42e8: b1c8 cbz r0, 431e - 42ea: 4681 mov r9, r0 + 3c60: b1c8 cbz r0, 3c96 + 3c62: 4681 mov r9, r0 _LV_LL_READ(d->scr_ll, i) { - 42ec: f8df a040 ldr.w sl, [pc, #64] ; 4330 + 3c64: f8df a040 ldr.w sl, [pc, #64] ; 3ca8 report_style_mod_core(style, i); - 42f0: 4f0d ldr r7, [pc, #52] ; (4328 ) + 3c68: 4f0d ldr r7, [pc, #52] ; (3ca0 ) _LV_LL_READ(d->scr_ll, i) { - 42f2: 4e0e ldr r6, [pc, #56] ; (432c ) - 42f4: f109 0530 add.w r5, r9, #48 ; 0x30 - 42f8: 4628 mov r0, r5 - 42fa: 47d0 blx sl - 42fc: 4604 mov r4, r0 - 42fe: b140 cbz r0, 4312 + 3c6a: 4e0e ldr r6, [pc, #56] ; (3ca4 ) + 3c6c: f109 0530 add.w r5, r9, #48 ; 0x30 + 3c70: 4628 mov r0, r5 + 3c72: 47d0 blx sl + 3c74: 4604 mov r4, r0 + 3c76: b140 cbz r0, 3c8a report_style_mod_core(style, i); - 4300: 4621 mov r1, r4 - 4302: 4640 mov r0, r8 - 4304: 47b8 blx r7 + 3c78: 4621 mov r1, r4 + 3c7a: 4640 mov r0, r8 + 3c7c: 47b8 blx r7 _LV_LL_READ(d->scr_ll, i) { - 4306: 4621 mov r1, r4 - 4308: 4628 mov r0, r5 - 430a: 47b0 blx r6 - 430c: 4604 mov r4, r0 - 430e: 2800 cmp r0, #0 - 4310: d1f6 bne.n 4300 + 3c7e: 4621 mov r1, r4 + 3c80: 4628 mov r0, r5 + 3c82: 47b0 blx r6 + 3c84: 4604 mov r4, r0 + 3c86: 2800 cmp r0, #0 + 3c88: d1f6 bne.n 3c78 d = lv_disp_get_next(d); - 4312: 4648 mov r0, r9 - 4314: 4b03 ldr r3, [pc, #12] ; (4324 ) - 4316: 4798 blx r3 + 3c8a: 4648 mov r0, r9 + 3c8c: 4b03 ldr r3, [pc, #12] ; (3c9c ) + 3c8e: 4798 blx r3 while(d) { - 4318: 4681 mov r9, r0 - 431a: 2800 cmp r0, #0 - 431c: d1ea bne.n 42f4 - 431e: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} - 4322: bf00 nop - 4324: 00011561 .word 0x00011561 - 4328: 00004241 .word 0x00004241 - 432c: 00012565 .word 0x00012565 - 4330: 00012551 .word 0x00012551 - -00004334 : -{ - 4334: b5f8 push {r3, r4, r5, r6, r7, lr} - 4336: 4604 mov r4, r0 - 4338: 460d mov r5, r1 + 3c90: 4681 mov r9, r0 + 3c92: 2800 cmp r0, #0 + 3c94: d1ea bne.n 3c6c + 3c96: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + 3c9a: bf00 nop + 3c9c: 00010fb9 .word 0x00010fb9 + 3ca0: 00003bb9 .word 0x00003bb9 + 3ca4: 00011fbd .word 0x00011fbd + 3ca8: 00011fa9 .word 0x00011fa9 + +00003cac : +{ + 3cac: b5f8 push {r3, r4, r5, r6, r7, lr} + 3cae: 4604 mov r4, r0 + 3cb0: 460d mov r5, r1 lv_style_list_t * list = lv_obj_get_style_list(tr->obj, tr->part); - 433a: 7981 ldrb r1, [r0, #6] - 433c: 6800 ldr r0, [r0, #0] - 433e: 4b42 ldr r3, [pc, #264] ; (4448 ) - 4340: 4798 blx r3 + 3cb2: 7981 ldrb r1, [r0, #6] + 3cb4: 6800 ldr r0, [r0, #0] + 3cb6: 4b42 ldr r3, [pc, #264] ; (3dc0 ) + 3cb8: 4798 blx r3 lv_style_t * style = _lv_style_list_get_transition_style(list); - 4342: 4b42 ldr r3, [pc, #264] ; (444c ) - 4344: 4798 blx r3 + 3cba: 4b42 ldr r3, [pc, #264] ; (3dc4 ) + 3cbc: 4798 blx r3 if((tr->prop & 0xF) < LV_STYLE_ID_COLOR) { /*Value*/ - 4346: 88a1 ldrh r1, [r4, #4] - 4348: f001 030f and.w r3, r1, #15 - 434c: 2b08 cmp r3, #8 - 434e: dc19 bgt.n 4384 + 3cbe: 88a1 ldrh r1, [r4, #4] + 3cc0: f001 030f and.w r3, r1, #15 + 3cc4: 2b08 cmp r3, #8 + 3cc6: dc19 bgt.n 3cfc if(v == 0) x = tr->start_value._int; - 4350: b945 cbnz r5, 4364 - 4352: f9b4 2008 ldrsh.w r2, [r4, #8] + 3cc8: b945 cbnz r5, 3cdc + 3cca: f9b4 2008 ldrsh.w r2, [r4, #8] _lv_style_set_int(style, tr->prop, x); - 4356: 4b3e ldr r3, [pc, #248] ; (4450 ) - 4358: 4798 blx r3 + 3cce: 4b3e ldr r3, [pc, #248] ; (3dc8 ) + 3cd0: 4798 blx r3 lv_obj_refresh_style(tr->obj, tr->prop); - 435a: 88a1 ldrh r1, [r4, #4] - 435c: 6820 ldr r0, [r4, #0] - 435e: 4b3d ldr r3, [pc, #244] ; (4454 ) - 4360: 4798 blx r3 - 4362: bdf8 pop {r3, r4, r5, r6, r7, pc} + 3cd2: 88a1 ldrh r1, [r4, #4] + 3cd4: 6820 ldr r0, [r4, #0] + 3cd6: 4b3d ldr r3, [pc, #244] ; (3dcc ) + 3cd8: 4798 blx r3 + 3cda: bdf8 pop {r3, r4, r5, r6, r7, pc} else if(v == 255) x = tr->end_value._int; - 4364: 2dff cmp r5, #255 ; 0xff - 4366: d00a beq.n 437e + 3cdc: 2dff cmp r5, #255 ; 0xff + 3cde: d00a beq.n 3cf6 else x = tr->start_value._int + ((int32_t)((int32_t)(tr->end_value._int - tr->start_value._int) * v) >> 8); - 4368: f9b4 2008 ldrsh.w r2, [r4, #8] - 436c: f9b4 300c ldrsh.w r3, [r4, #12] - 4370: 1a9b subs r3, r3, r2 - 4372: fb05 f503 mul.w r5, r5, r3 - 4376: eb02 2225 add.w r2, r2, r5, asr #8 - 437a: b212 sxth r2, r2 - 437c: e7eb b.n 4356 + 3ce0: f9b4 2008 ldrsh.w r2, [r4, #8] + 3ce4: f9b4 300c ldrsh.w r3, [r4, #12] + 3ce8: 1a9b subs r3, r3, r2 + 3cea: fb05 f503 mul.w r5, r5, r3 + 3cee: eb02 2225 add.w r2, r2, r5, asr #8 + 3cf2: b212 sxth r2, r2 + 3cf4: e7eb b.n 3cce else if(v == 255) x = tr->end_value._int; - 437e: f9b4 200c ldrsh.w r2, [r4, #12] - 4382: e7e8 b.n 4356 + 3cf6: f9b4 200c ldrsh.w r2, [r4, #12] + 3cfa: e7e8 b.n 3cce else if((tr->prop & 0xF) < LV_STYLE_ID_OPA) { /*Color*/ - 4384: 2b0b cmp r3, #11 - 4386: dc43 bgt.n 4410 + 3cfc: 2b0b cmp r3, #11 + 3cfe: dc43 bgt.n 3d88 if(v <= 0) x = tr->start_value._color; - 4388: 2d00 cmp r5, #0 - 438a: dd05 ble.n 4398 + 3d00: 2d00 cmp r5, #0 + 3d02: dd05 ble.n 3d10 else if(v >= 255) x = tr->end_value._color; - 438c: 2dfe cmp r5, #254 ; 0xfe - 438e: dd05 ble.n 439c - 4390: 89a2 ldrh r2, [r4, #12] + 3d04: 2dfe cmp r5, #254 ; 0xfe + 3d06: dd05 ble.n 3d14 + 3d08: 89a2 ldrh r2, [r4, #12] _lv_style_set_color(style, tr->prop, x); - 4392: 4b31 ldr r3, [pc, #196] ; (4458 ) - 4394: 4798 blx r3 - 4396: e7e0 b.n 435a + 3d0a: 4b31 ldr r3, [pc, #196] ; (3dd0 ) + 3d0c: 4798 blx r3 + 3d0e: e7e0 b.n 3cd2 if(v <= 0) x = tr->start_value._color; - 4398: 8922 ldrh r2, [r4, #8] - 439a: e7fa b.n 4392 + 3d10: 8922 ldrh r2, [r4, #8] + 3d12: e7fa b.n 3d0a LV_ATTRIBUTE_FAST_MEM static inline lv_color_t lv_color_mix(lv_color_t c1, lv_color_t c2, uint8_t mix) { lv_color_t ret; #if LV_COLOR_DEPTH != 1 /*LV_COLOR_DEPTH == 8, 16 or 32*/ LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 439c: b2ed uxtb r5, r5 - 439e: f1c5 02ff rsb r2, r5, #255 ; 0xff - 43a2: 7b63 ldrb r3, [r4, #13] - 43a4: 08db lsrs r3, r3, #3 - 43a6: 7a66 ldrb r6, [r4, #9] - 43a8: 08f6 lsrs r6, r6, #3 - 43aa: fb02 f606 mul.w r6, r2, r6 - 43ae: fb05 6303 mla r3, r5, r3, r6 - 43b2: eb03 2703 add.w r7, r3, r3, lsl #8 - 43b6: eb03 13c7 add.w r3, r3, r7, lsl #7 - 43ba: f3c3 57c4 ubfx r7, r3, #23, #5 + 3d14: b2ed uxtb r5, r5 + 3d16: f1c5 02ff rsb r2, r5, #255 ; 0xff + 3d1a: 7b63 ldrb r3, [r4, #13] + 3d1c: 08db lsrs r3, r3, #3 + 3d1e: 7a66 ldrb r6, [r4, #9] + 3d20: 08f6 lsrs r6, r6, #3 + 3d22: fb02 f606 mul.w r6, r2, r6 + 3d26: fb05 6303 mla r3, r5, r3, r6 + 3d2a: eb03 2703 add.w r7, r3, r3, lsl #8 + 3d2e: eb03 13c7 add.w r3, r3, r7, lsl #7 + 3d32: f3c3 57c4 ubfx r7, r3, #23, #5 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 43be: 89a3 ldrh r3, [r4, #12] - 43c0: f3c3 1345 ubfx r3, r3, #5, #6 - 43c4: 8926 ldrh r6, [r4, #8] - 43c6: f3c6 1645 ubfx r6, r6, #5, #6 - 43ca: fb02 f606 mul.w r6, r2, r6 - 43ce: fb05 6303 mla r3, r5, r3, r6 - 43d2: eb03 2603 add.w r6, r3, r3, lsl #8 - 43d6: eb03 13c6 add.w r3, r3, r6, lsl #7 - 43da: f3c3 56c5 ubfx r6, r3, #23, #6 + 3d36: 89a3 ldrh r3, [r4, #12] + 3d38: f3c3 1345 ubfx r3, r3, #5, #6 + 3d3c: 8926 ldrh r6, [r4, #8] + 3d3e: f3c6 1645 ubfx r6, r6, #5, #6 + 3d42: fb02 f606 mul.w r6, r2, r6 + 3d46: fb05 6303 mla r3, r5, r3, r6 + 3d4a: eb03 2603 add.w r6, r3, r3, lsl #8 + 3d4e: eb03 13c6 add.w r3, r3, r6, lsl #7 + 3d52: f3c3 56c5 ubfx r6, r3, #23, #6 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 43de: 7b23 ldrb r3, [r4, #12] - 43e0: f003 031f and.w r3, r3, #31 - 43e4: f894 e008 ldrb.w lr, [r4, #8] - 43e8: f00e 0e1f and.w lr, lr, #31 - 43ec: fb02 f20e mul.w r2, r2, lr - 43f0: fb05 2503 mla r5, r5, r3, r2 - 43f4: eb05 2305 add.w r3, r5, r5, lsl #8 - 43f8: eb05 15c3 add.w r5, r5, r3, lsl #7 - 43fc: 0ded lsrs r5, r5, #23 - 43fe: f04f 0200 mov.w r2, #0 - 4402: f365 0204 bfi r2, r5, #0, #5 - 4406: f366 124a bfi r2, r6, #5, #6 - 440a: f367 22cf bfi r2, r7, #11, #5 - 440e: e7c0 b.n 4392 + 3d56: 7b23 ldrb r3, [r4, #12] + 3d58: f003 031f and.w r3, r3, #31 + 3d5c: f894 e008 ldrb.w lr, [r4, #8] + 3d60: f00e 0e1f and.w lr, lr, #31 + 3d64: fb02 f20e mul.w r2, r2, lr + 3d68: fb05 2503 mla r5, r5, r3, r2 + 3d6c: eb05 2305 add.w r3, r5, r5, lsl #8 + 3d70: eb05 15c3 add.w r5, r5, r3, lsl #7 + 3d74: 0ded lsrs r5, r5, #23 + 3d76: f04f 0200 mov.w r2, #0 + 3d7a: f365 0204 bfi r2, r5, #0, #5 + 3d7e: f366 124a bfi r2, r6, #5, #6 + 3d82: f367 22cf bfi r2, r7, #11, #5 + 3d86: e7c0 b.n 3d0a else if((tr->prop & 0xF) < LV_STYLE_ID_PTR) { /*Opa*/ - 4410: 2b0d cmp r3, #13 - 4412: dc12 bgt.n 443a + 3d88: 2b0d cmp r3, #13 + 3d8a: dc12 bgt.n 3db2 if(v <= 0) x = tr->start_value._opa; - 4414: 2d00 cmp r5, #0 - 4416: dd05 ble.n 4424 + 3d8c: 2d00 cmp r5, #0 + 3d8e: dd05 ble.n 3d9c else if(v >= 255) x = tr->end_value._opa; - 4418: 2dfe cmp r5, #254 ; 0xfe - 441a: dd05 ble.n 4428 - 441c: 7b22 ldrb r2, [r4, #12] + 3d90: 2dfe cmp r5, #254 ; 0xfe + 3d92: dd05 ble.n 3da0 + 3d94: 7b22 ldrb r2, [r4, #12] _lv_style_set_opa(style, tr->prop, x); - 441e: 4b0f ldr r3, [pc, #60] ; (445c ) - 4420: 4798 blx r3 - 4422: e79a b.n 435a + 3d96: 4b0f ldr r3, [pc, #60] ; (3dd4 ) + 3d98: 4798 blx r3 + 3d9a: e79a b.n 3cd2 if(v <= 0) x = tr->start_value._opa; - 4424: 7a22 ldrb r2, [r4, #8] - 4426: e7fa b.n 441e + 3d9c: 7a22 ldrb r2, [r4, #8] + 3d9e: e7fa b.n 3d96 else x = tr->start_value._opa + (((tr->end_value._opa - tr->start_value._opa) * v) >> 8); - 4428: 7a22 ldrb r2, [r4, #8] - 442a: 7b23 ldrb r3, [r4, #12] - 442c: 1a9b subs r3, r3, r2 - 442e: fb05 f503 mul.w r5, r5, r3 - 4432: eb02 2225 add.w r2, r2, r5, asr #8 - 4436: b2d2 uxtb r2, r2 - 4438: e7f1 b.n 441e + 3da0: 7a22 ldrb r2, [r4, #8] + 3da2: 7b23 ldrb r3, [r4, #12] + 3da4: 1a9b subs r3, r3, r2 + 3da6: fb05 f503 mul.w r5, r5, r3 + 3daa: eb02 2225 add.w r2, r2, r5, asr #8 + 3dae: b2d2 uxtb r2, r2 + 3db0: e7f1 b.n 3d96 if(v < 128) x = tr->start_value._ptr; - 443a: 2d7f cmp r5, #127 ; 0x7f - 443c: bfd4 ite le - 443e: 68a2 ldrle r2, [r4, #8] + 3db2: 2d7f cmp r5, #127 ; 0x7f + 3db4: bfd4 ite le + 3db6: 68a2 ldrle r2, [r4, #8] else x = tr->end_value._ptr; - 4440: 68e2 ldrgt r2, [r4, #12] + 3db8: 68e2 ldrgt r2, [r4, #12] _lv_style_set_ptr(style, tr->prop, x); - 4442: 4b07 ldr r3, [pc, #28] ; (4460 ) - 4444: 4798 blx r3 - 4446: e788 b.n 435a - 4448: 00003685 .word 0x00003685 - 444c: 0000768f .word 0x0000768f - 4450: 00006e89 .word 0x00006e89 - 4454: 00004121 .word 0x00004121 - 4458: 00006fcd .word 0x00006fcd - 445c: 00007111 .word 0x00007111 - 4460: 00007241 .word 0x00007241 - -00004464 : -{ - 4464: b530 push {r4, r5, lr} - 4466: b083 sub sp, #12 - 4468: 4604 mov r4, r0 + 3dba: 4b07 ldr r3, [pc, #28] ; (3dd8 ) + 3dbc: 4798 blx r3 + 3dbe: e788 b.n 3cd2 + 3dc0: 00002ffd .word 0x00002ffd + 3dc4: 000070e7 .word 0x000070e7 + 3dc8: 000068e1 .word 0x000068e1 + 3dcc: 00003a99 .word 0x00003a99 + 3dd0: 00006a25 .word 0x00006a25 + 3dd4: 00006b69 .word 0x00006b69 + 3dd8: 00006c99 .word 0x00006c99 + +00003ddc : +{ + 3ddc: b530 push {r4, r5, lr} + 3dde: b083 sub sp, #12 + 3de0: 4604 mov r4, r0 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 446a: 4b0a ldr r3, [pc, #40] ; (4494 ) - 446c: 4798 blx r3 - 446e: b110 cbz r0, 4476 + 3de2: 4b0a ldr r3, [pc, #40] ; (3e0c ) + 3de4: 4798 blx r3 + 3de6: b110 cbz r0, 3dee } - 4470: 2000 movs r0, #0 - 4472: b003 add sp, #12 - 4474: bd30 pop {r4, r5, pc} + 3de8: 2000 movs r0, #0 + 3dea: b003 add sp, #12 + 3dec: bd30 pop {r4, r5, pc} LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 4476: 4b08 ldr r3, [pc, #32] ; (4498 ) - 4478: 9300 str r3, [sp, #0] - 447a: f640 22b1 movw r2, #2737 ; 0xab1 - 447e: 4907 ldr r1, [pc, #28] ; (449c ) - 4480: 2003 movs r0, #3 - 4482: 4d07 ldr r5, [pc, #28] ; (44a0 ) - 4484: 47a8 blx r5 - 4486: 4622 mov r2, r4 - 4488: 2300 movs r3, #0 - 448a: 4806 ldr r0, [pc, #24] ; (44a4 ) - 448c: 4906 ldr r1, [pc, #24] ; (44a8 ) - 448e: 4788 blx r1 - 4490: e7fe b.n 4490 - 4492: bf00 nop - 4494: 0000298d .word 0x0000298d - 4498: 0001babc .word 0x0001babc - 449c: 0001bcc0 .word 0x0001bcc0 - 44a0: 00012805 .word 0x00012805 - 44a4: 0001bd20 .word 0x0001bd20 - 44a8: 00002995 .word 0x00002995 - -000044ac : -{ - 44ac: b5f0 push {r4, r5, r6, r7, lr} - 44ae: b083 sub sp, #12 - 44b0: 460d mov r5, r1 + 3dee: 4b08 ldr r3, [pc, #32] ; (3e10 ) + 3df0: 9300 str r3, [sp, #0] + 3df2: f640 22b1 movw r2, #2737 ; 0xab1 + 3df6: 4907 ldr r1, [pc, #28] ; (3e14 ) + 3df8: 2003 movs r0, #3 + 3dfa: 4d07 ldr r5, [pc, #28] ; (3e18 ) + 3dfc: 47a8 blx r5 + 3dfe: 4622 mov r2, r4 + 3e00: 2300 movs r3, #0 + 3e02: 4806 ldr r0, [pc, #24] ; (3e1c ) + 3e04: 4906 ldr r1, [pc, #24] ; (3e20 ) + 3e06: 4788 blx r1 + 3e08: e7fe b.n 3e08 + 3e0a: bf00 nop + 3e0c: 000022b1 .word 0x000022b1 + 3e10: 000245d8 .word 0x000245d8 + 3e14: 000247dc .word 0x000247dc + 3e18: 0001225d .word 0x0001225d + 3e1c: 0002483c .word 0x0002483c + 3e20: 000022b9 .word 0x000022b9 + +00003e24 : +{ + 3e24: b5f0 push {r4, r5, r6, r7, lr} + 3e26: b083 sub sp, #12 + 3e28: 460d mov r5, r1 if(parent == NULL) { - 44b2: 4606 mov r6, r0 - 44b4: b188 cbz r0, 44da + 3e2a: 4606 mov r6, r0 + 3e2c: b188 cbz r0, 3e52 LV_ASSERT_OBJ(parent, LV_OBJX_NAME); - 44b6: 4b9d ldr r3, [pc, #628] ; (472c ) - 44b8: 4798 blx r3 - 44ba: 2800 cmp r0, #0 - 44bc: f040 8164 bne.w 4788 - 44c0: 4b9b ldr r3, [pc, #620] ; (4730 ) - 44c2: 9300 str r3, [sp, #0] - 44c4: 22ed movs r2, #237 ; 0xed - 44c6: 499b ldr r1, [pc, #620] ; (4734 ) - 44c8: 2003 movs r0, #3 - 44ca: 4c9b ldr r4, [pc, #620] ; (4738 ) - 44cc: 47a0 blx r4 - 44ce: 4632 mov r2, r6 - 44d0: 2300 movs r3, #0 - 44d2: 489a ldr r0, [pc, #616] ; (473c ) - 44d4: 499a ldr r1, [pc, #616] ; (4740 ) - 44d6: 4788 blx r1 - 44d8: e7fe b.n 44d8 + 3e2e: 4b9d ldr r3, [pc, #628] ; (40a4 ) + 3e30: 4798 blx r3 + 3e32: 2800 cmp r0, #0 + 3e34: f040 8164 bne.w 4100 + 3e38: 4b9b ldr r3, [pc, #620] ; (40a8 ) + 3e3a: 9300 str r3, [sp, #0] + 3e3c: 22ed movs r2, #237 ; 0xed + 3e3e: 499b ldr r1, [pc, #620] ; (40ac ) + 3e40: 2003 movs r0, #3 + 3e42: 4c9b ldr r4, [pc, #620] ; (40b0 ) + 3e44: 47a0 blx r4 + 3e46: 4632 mov r2, r6 + 3e48: 2300 movs r3, #0 + 3e4a: 489a ldr r0, [pc, #616] ; (40b4 ) + 3e4c: 499a ldr r1, [pc, #616] ; (40b8 ) + 3e4e: 4788 blx r1 + 3e50: e7fe b.n 3e50 lv_disp_t * disp = lv_disp_get_default(); - 44da: 4b9a ldr r3, [pc, #616] ; (4744 ) - 44dc: 4798 blx r3 + 3e52: 4b9a ldr r3, [pc, #616] ; (40bc ) + 3e54: 4798 blx r3 if(!disp) { - 44de: b948 cbnz r0, 44f4 + 3e56: b948 cbnz r0, 3e6c LV_LOG_WARN("lv_obj_create: not display created to so far. No place to assign the new screen"); - 44e0: 4b99 ldr r3, [pc, #612] ; (4748 ) - 44e2: 9300 str r3, [sp, #0] - 44e4: 4b92 ldr r3, [pc, #584] ; (4730 ) - 44e6: 22cf movs r2, #207 ; 0xcf - 44e8: 4992 ldr r1, [pc, #584] ; (4734 ) - 44ea: 2002 movs r0, #2 - 44ec: 4c92 ldr r4, [pc, #584] ; (4738 ) - 44ee: 47a0 blx r4 + 3e58: 4b99 ldr r3, [pc, #612] ; (40c0 ) + 3e5a: 9300 str r3, [sp, #0] + 3e5c: 4b92 ldr r3, [pc, #584] ; (40a8 ) + 3e5e: 22cf movs r2, #207 ; 0xcf + 3e60: 4992 ldr r1, [pc, #584] ; (40ac ) + 3e62: 2002 movs r0, #2 + 3e64: 4c92 ldr r4, [pc, #584] ; (40b0 ) + 3e66: 47a0 blx r4 return NULL; - 44f0: 4634 mov r4, r6 - 44f2: e1f5 b.n 48e0 + 3e68: 4634 mov r4, r6 + 3e6a: e1f5 b.n 4258 new_obj = _lv_ll_ins_head(&disp->scr_ll); - 44f4: 3030 adds r0, #48 ; 0x30 - 44f6: 4b95 ldr r3, [pc, #596] ; (474c ) - 44f8: 4798 blx r3 - 44fa: 4604 mov r4, r0 + 3e6c: 3030 adds r0, #48 ; 0x30 + 3e6e: 4b95 ldr r3, [pc, #596] ; (40c4 ) + 3e70: 4798 blx r3 + 3e72: 4604 mov r4, r0 LV_ASSERT_MEM(new_obj); - 44fc: 4b8b ldr r3, [pc, #556] ; (472c ) - 44fe: 4798 blx r3 - 4500: b960 cbnz r0, 451c - 4502: 4b8b ldr r3, [pc, #556] ; (4730 ) - 4504: 9300 str r3, [sp, #0] - 4506: 22d4 movs r2, #212 ; 0xd4 - 4508: 498a ldr r1, [pc, #552] ; (4734 ) - 450a: 2003 movs r0, #3 - 450c: 4d8a ldr r5, [pc, #552] ; (4738 ) - 450e: 47a8 blx r5 - 4510: 4622 mov r2, r4 - 4512: 2300 movs r3, #0 - 4514: 488e ldr r0, [pc, #568] ; (4750 ) - 4516: 498a ldr r1, [pc, #552] ; (4740 ) - 4518: 4788 blx r1 - 451a: e7fe b.n 451a + 3e74: 4b8b ldr r3, [pc, #556] ; (40a4 ) + 3e76: 4798 blx r3 + 3e78: b960 cbnz r0, 3e94 + 3e7a: 4b8b ldr r3, [pc, #556] ; (40a8 ) + 3e7c: 9300 str r3, [sp, #0] + 3e7e: 22d4 movs r2, #212 ; 0xd4 + 3e80: 498a ldr r1, [pc, #552] ; (40ac ) + 3e82: 2003 movs r0, #3 + 3e84: 4d8a ldr r5, [pc, #552] ; (40b0 ) + 3e86: 47a8 blx r5 + 3e88: 4622 mov r2, r4 + 3e8a: 2300 movs r3, #0 + 3e8c: 488e ldr r0, [pc, #568] ; (40c8 ) + 3e8e: 498a ldr r1, [pc, #552] ; (40b8 ) + 3e90: 4788 blx r1 + 3e92: e7fe b.n 3e92 if(new_obj == NULL) return NULL; - 451c: 2c00 cmp r4, #0 - 451e: f000 81df beq.w 48e0 + 3e94: 2c00 cmp r4, #0 + 3e96: f000 81df beq.w 4258 _lv_memset_00(new_obj, sizeof(lv_obj_t)); - 4522: 214c movs r1, #76 ; 0x4c - 4524: 4620 mov r0, r4 - 4526: 4b8b ldr r3, [pc, #556] ; (4754 ) - 4528: 4798 blx r3 + 3e9a: 214c movs r1, #76 ; 0x4c + 3e9c: 4620 mov r0, r4 + 3e9e: 4b8b ldr r3, [pc, #556] ; (40cc ) + 3ea0: 4798 blx r3 new_obj->base_dir = LV_BIDI_DIR_LTR; - 452a: f894 3035 ldrb.w r3, [r4, #53] ; 0x35 - 452e: f36f 1305 bfc r3, #4, #2 - 4532: f884 3035 strb.w r3, [r4, #53] ; 0x35 + 3ea2: f894 3035 ldrb.w r3, [r4, #53] ; 0x35 + 3ea6: f36f 1305 bfc r3, #4, #2 + 3eaa: f884 3035 strb.w r3, [r4, #53] ; 0x35 new_obj->signal_cb = lv_obj_signal; - 4536: 4b88 ldr r3, [pc, #544] ; (4758 ) - 4538: 61e3 str r3, [r4, #28] + 3eae: 4b88 ldr r3, [pc, #544] ; (40d0 ) + 3eb0: 61e3 str r3, [r4, #28] new_obj->design_cb = lv_obj_design; - 453a: 4b88 ldr r3, [pc, #544] ; (475c ) - 453c: 6223 str r3, [r4, #32] + 3eb2: 4b88 ldr r3, [pc, #544] ; (40d4 ) + 3eb4: 6223 str r3, [r4, #32] new_obj->event_cb = NULL; - 453e: 2700 movs r7, #0 - 4540: 61a7 str r7, [r4, #24] + 3eb6: 2700 movs r7, #0 + 3eb8: 61a7 str r7, [r4, #24] new_obj->coords.x1 = 0; - 4542: 8227 strh r7, [r4, #16] + 3eba: 8227 strh r7, [r4, #16] new_obj->coords.y1 = 0; - 4544: 8267 strh r7, [r4, #18] + 3ebc: 8267 strh r7, [r4, #18] new_obj->coords.x2 = lv_disp_get_hor_res(NULL) - 1; - 4546: 4638 mov r0, r7 - 4548: 4b85 ldr r3, [pc, #532] ; (4760 ) - 454a: 4798 blx r3 - 454c: 3801 subs r0, #1 - 454e: 82a0 strh r0, [r4, #20] + 3ebe: 4638 mov r0, r7 + 3ec0: 4b85 ldr r3, [pc, #532] ; (40d8 ) + 3ec2: 4798 blx r3 + 3ec4: 3801 subs r0, #1 + 3ec6: 82a0 strh r0, [r4, #20] new_obj->coords.y2 = lv_disp_get_ver_res(NULL) - 1; - 4550: 4638 mov r0, r7 - 4552: 4b84 ldr r3, [pc, #528] ; (4764 ) - 4554: 4798 blx r3 - 4556: 3801 subs r0, #1 - 4558: 82e0 strh r0, [r4, #22] + 3ec8: 4638 mov r0, r7 + 3eca: 4b84 ldr r3, [pc, #528] ; (40dc ) + 3ecc: 4798 blx r3 + 3ece: 3801 subs r0, #1 + 3ed0: 82e0 strh r0, [r4, #22] _lv_ll_init(&(new_obj->child_ll), sizeof(lv_obj_t)); - 455a: 214c movs r1, #76 ; 0x4c - 455c: 1d20 adds r0, r4, #4 - 455e: 4b82 ldr r3, [pc, #520] ; (4768 ) - 4560: 4798 blx r3 + 3ed2: 214c movs r1, #76 ; 0x4c + 3ed4: 1d20 adds r0, r4, #4 + 3ed6: 4b82 ldr r3, [pc, #520] ; (40e0 ) + 3ed8: 4798 blx r3 new_obj->ext_draw_pad = 0; - 4562: 2300 movs r3, #0 - 4564: 8663 strh r3, [r4, #50] ; 0x32 + 3eda: 2300 movs r3, #0 + 3edc: 8663 strh r3, [r4, #50] ; 0x32 new_obj->ext_click_pad_hor = 0; - 4566: f884 3030 strb.w r3, [r4, #48] ; 0x30 + 3ede: f884 3030 strb.w r3, [r4, #48] ; 0x30 new_obj->ext_click_pad_ver = 0; - 456a: f884 3031 strb.w r3, [r4, #49] ; 0x31 + 3ee2: f884 3031 strb.w r3, [r4, #49] ; 0x31 new_obj->realign.align = LV_ALIGN_CENTER; - 456e: f884 3048 strb.w r3, [r4, #72] ; 0x48 + 3ee6: f884 3048 strb.w r3, [r4, #72] ; 0x48 new_obj->realign.xofs = 0; - 4572: f8a4 3044 strh.w r3, [r4, #68] ; 0x44 + 3eea: f8a4 3044 strh.w r3, [r4, #68] ; 0x44 new_obj->realign.yofs = 0; - 4576: f8a4 3046 strh.w r3, [r4, #70] ; 0x46 + 3eee: f8a4 3046 strh.w r3, [r4, #70] ; 0x46 new_obj->realign.base = NULL; - 457a: 6423 str r3, [r4, #64] ; 0x40 + 3ef2: 6423 str r3, [r4, #64] ; 0x40 new_obj->realign.auto_realign = 0; - 457c: f894 2049 ldrb.w r2, [r4, #73] ; 0x49 - 4580: f363 0200 bfi r2, r3, #0, #1 - 4584: f884 2049 strb.w r2, [r4, #73] ; 0x49 + 3ef4: f894 2049 ldrb.w r2, [r4, #73] ; 0x49 + 3ef8: f363 0200 bfi r2, r3, #0, #1 + 3efc: f884 2049 strb.w r2, [r4, #73] ; 0x49 new_obj->group_p = NULL; - 4588: 63a3 str r3, [r4, #56] ; 0x38 + 3f00: 63a3 str r3, [r4, #56] ; 0x38 new_obj->adv_hittest = 0; - 458a: f894 2034 ldrb.w r2, [r4, #52] ; 0x34 + 3f02: f894 2034 ldrb.w r2, [r4, #52] ; 0x34 new_obj->click = 1; - 458e: f002 027f and.w r2, r2, #127 ; 0x7f + 3f06: f002 027f and.w r2, r2, #127 ; 0x7f new_obj->drag = 0; - 4592: f042 0201 orr.w r2, r2, #1 + 3f0a: f042 0201 orr.w r2, r2, #1 new_obj->drag_dir = LV_DRAG_DIR_BOTH; - 4596: f894 1035 ldrb.w r1, [r4, #53] ; 0x35 - 459a: 2003 movs r0, #3 - 459c: f360 0143 bfi r1, r0, #1, #3 + 3f0e: f894 1035 ldrb.w r1, [r4, #53] ; 0x35 + 3f12: 2003 movs r0, #3 + 3f14: f360 0143 bfi r1, r0, #1, #3 new_obj->protect = LV_PROTECT_NONE; - 45a0: f884 303c strb.w r3, [r4, #60] ; 0x3c + 3f18: f884 303c strb.w r3, [r4, #60] ; 0x3c new_obj->parent_event = 0; - 45a4: f002 02c1 and.w r2, r2, #193 ; 0xc1 - 45a8: f363 1286 bfi r2, r3, #6, #1 - 45ac: f884 2034 strb.w r2, [r4, #52] ; 0x34 + 3f1c: f002 02c1 and.w r2, r2, #193 ; 0xc1 + 3f20: f363 1286 bfi r2, r3, #6, #1 + 3f24: f884 2034 strb.w r2, [r4, #52] ; 0x34 new_obj->gesture_parent = 1; - 45b0: f041 0101 orr.w r1, r1, #1 - 45b4: f884 1035 strb.w r1, [r4, #53] ; 0x35 + 3f28: f041 0101 orr.w r1, r1, #1 + 3f2c: f884 1035 strb.w r1, [r4, #53] ; 0x35 new_obj->state = LV_STATE_DEFAULT; - 45b8: f884 303d strb.w r3, [r4, #61] ; 0x3d + 3f30: f884 303d strb.w r3, [r4, #61] ; 0x3d new_obj->ext_attr = NULL; - 45bc: 6263 str r3, [r4, #36] ; 0x24 + 3f34: 6263 str r3, [r4, #36] ; 0x24 lv_style_list_init(&new_obj->style_list); - 45be: f104 0728 add.w r7, r4, #40 ; 0x28 - 45c2: 4638 mov r0, r7 - 45c4: 4b69 ldr r3, [pc, #420] ; (476c ) - 45c6: 4798 blx r3 + 3f36: f104 0728 add.w r7, r4, #40 ; 0x28 + 3f3a: 4638 mov r0, r7 + 3f3c: 4b69 ldr r3, [pc, #420] ; (40e4 ) + 3f3e: 4798 blx r3 if(copy == NULL) { - 45c8: 2d00 cmp r5, #0 - 45ca: f000 816c beq.w 48a6 + 3f40: 2d00 cmp r5, #0 + 3f42: f000 816c beq.w 421e lv_style_list_copy(&new_obj->style_list, ©->style_list); - 45ce: f105 0128 add.w r1, r5, #40 ; 0x28 - 45d2: 4638 mov r0, r7 - 45d4: 4b66 ldr r3, [pc, #408] ; (4770 ) - 45d6: 4798 blx r3 - 45d8: f105 020f add.w r2, r5, #15 - 45dc: f104 0118 add.w r1, r4, #24 + 3f46: f105 0128 add.w r1, r5, #40 ; 0x28 + 3f4a: 4638 mov r0, r7 + 3f4c: 4b66 ldr r3, [pc, #408] ; (40e8 ) + 3f4e: 4798 blx r3 + 3f50: f105 020f add.w r2, r5, #15 + 3f54: f104 0118 add.w r1, r4, #24 uint8_t * d8 = (uint8_t *)dst; - 45e0: f104 0310 add.w r3, r4, #16 + 3f58: f104 0310 add.w r3, r4, #16 *d8 = *s8; - 45e4: f812 0f01 ldrb.w r0, [r2, #1]! - 45e8: f803 0b01 strb.w r0, [r3], #1 + 3f5c: f812 0f01 ldrb.w r0, [r2, #1]! + 3f60: f803 0b01 strb.w r0, [r3], #1 while(len) { - 45ec: 428b cmp r3, r1 - 45ee: d1f9 bne.n 45e4 + 3f64: 428b cmp r3, r1 + 3f66: d1f9 bne.n 3f5c new_obj->ext_draw_pad = copy->ext_draw_pad; - 45f0: f9b5 3032 ldrsh.w r3, [r5, #50] ; 0x32 - 45f4: 8663 strh r3, [r4, #50] ; 0x32 + 3f68: f9b5 3032 ldrsh.w r3, [r5, #50] ; 0x32 + 3f6c: 8663 strh r3, [r4, #50] ; 0x32 new_obj->ext_click_pad_hor = copy->ext_click_pad_hor; - 45f6: f895 3030 ldrb.w r3, [r5, #48] ; 0x30 - 45fa: f884 3030 strb.w r3, [r4, #48] ; 0x30 + 3f6e: f895 3030 ldrb.w r3, [r5, #48] ; 0x30 + 3f72: f884 3030 strb.w r3, [r4, #48] ; 0x30 new_obj->ext_click_pad_ver = copy->ext_click_pad_ver; - 45fe: f895 3031 ldrb.w r3, [r5, #49] ; 0x31 - 4602: f884 3031 strb.w r3, [r4, #49] ; 0x31 + 3f76: f895 3031 ldrb.w r3, [r5, #49] ; 0x31 + 3f7a: f884 3031 strb.w r3, [r4, #49] ; 0x31 new_obj->realign.align = copy->realign.align; - 4606: f895 3048 ldrb.w r3, [r5, #72] ; 0x48 - 460a: f884 3048 strb.w r3, [r4, #72] ; 0x48 + 3f7e: f895 3048 ldrb.w r3, [r5, #72] ; 0x48 + 3f82: f884 3048 strb.w r3, [r4, #72] ; 0x48 new_obj->realign.xofs = copy->realign.xofs; - 460e: f9b5 3044 ldrsh.w r3, [r5, #68] ; 0x44 - 4612: f8a4 3044 strh.w r3, [r4, #68] ; 0x44 + 3f86: f9b5 3044 ldrsh.w r3, [r5, #68] ; 0x44 + 3f8a: f8a4 3044 strh.w r3, [r4, #68] ; 0x44 new_obj->realign.yofs = copy->realign.yofs; - 4616: f9b5 3046 ldrsh.w r3, [r5, #70] ; 0x46 - 461a: f8a4 3046 strh.w r3, [r4, #70] ; 0x46 + 3f8e: f9b5 3046 ldrsh.w r3, [r5, #70] ; 0x46 + 3f92: f8a4 3046 strh.w r3, [r4, #70] ; 0x46 new_obj->realign.base = copy->realign.base; - 461e: 6c2b ldr r3, [r5, #64] ; 0x40 - 4620: 6423 str r3, [r4, #64] ; 0x40 + 3f96: 6c2b ldr r3, [r5, #64] ; 0x40 + 3f98: 6423 str r3, [r4, #64] ; 0x40 new_obj->realign.auto_realign = copy->realign.auto_realign; - 4622: f895 2049 ldrb.w r2, [r5, #73] ; 0x49 - 4626: f894 3049 ldrb.w r3, [r4, #73] ; 0x49 - 462a: f362 0300 bfi r3, r2, #0, #1 - 462e: f884 3049 strb.w r3, [r4, #73] ; 0x49 + 3f9a: f895 2049 ldrb.w r2, [r5, #73] ; 0x49 + 3f9e: f894 3049 ldrb.w r3, [r4, #73] ; 0x49 + 3fa2: f362 0300 bfi r3, r2, #0, #1 + 3fa6: f884 3049 strb.w r3, [r4, #73] ; 0x49 new_obj->event_cb = copy->event_cb; - 4632: 69ab ldr r3, [r5, #24] - 4634: 61a3 str r3, [r4, #24] + 3faa: 69ab ldr r3, [r5, #24] + 3fac: 61a3 str r3, [r4, #24] new_obj->adv_hittest = copy->adv_hittest; - 4636: f895 3034 ldrb.w r3, [r5, #52] ; 0x34 - 463a: 09db lsrs r3, r3, #7 - 463c: f894 2034 ldrb.w r2, [r4, #52] ; 0x34 - 4640: f363 12c7 bfi r2, r3, #7, #1 - 4644: f884 2034 strb.w r2, [r4, #52] ; 0x34 + 3fae: f895 3034 ldrb.w r3, [r5, #52] ; 0x34 + 3fb2: 09db lsrs r3, r3, #7 + 3fb4: f894 2034 ldrb.w r2, [r4, #52] ; 0x34 + 3fb8: f363 12c7 bfi r2, r3, #7, #1 + 3fbc: f884 2034 strb.w r2, [r4, #52] ; 0x34 new_obj->click = copy->click; - 4648: f895 2034 ldrb.w r2, [r5, #52] ; 0x34 - 464c: f894 3034 ldrb.w r3, [r4, #52] ; 0x34 - 4650: f362 0300 bfi r3, r2, #0, #1 - 4654: f884 3034 strb.w r3, [r4, #52] ; 0x34 + 3fc0: f895 2034 ldrb.w r2, [r5, #52] ; 0x34 + 3fc4: f894 3034 ldrb.w r3, [r4, #52] ; 0x34 + 3fc8: f362 0300 bfi r3, r2, #0, #1 + 3fcc: f884 3034 strb.w r3, [r4, #52] ; 0x34 new_obj->drag = copy->drag; - 4658: f895 3034 ldrb.w r3, [r5, #52] ; 0x34 - 465c: f3c3 0340 ubfx r3, r3, #1, #1 - 4660: f894 2034 ldrb.w r2, [r4, #52] ; 0x34 - 4664: f363 0241 bfi r2, r3, #1, #1 - 4668: f884 2034 strb.w r2, [r4, #52] ; 0x34 + 3fd0: f895 3034 ldrb.w r3, [r5, #52] ; 0x34 + 3fd4: f3c3 0340 ubfx r3, r3, #1, #1 + 3fd8: f894 2034 ldrb.w r2, [r4, #52] ; 0x34 + 3fdc: f363 0241 bfi r2, r3, #1, #1 + 3fe0: f884 2034 strb.w r2, [r4, #52] ; 0x34 new_obj->drag_dir = copy->drag_dir; - 466c: f895 3035 ldrb.w r3, [r5, #53] ; 0x35 - 4670: f3c3 0342 ubfx r3, r3, #1, #3 - 4674: f894 2035 ldrb.w r2, [r4, #53] ; 0x35 - 4678: f363 0243 bfi r2, r3, #1, #3 - 467c: f884 2035 strb.w r2, [r4, #53] ; 0x35 + 3fe4: f895 3035 ldrb.w r3, [r5, #53] ; 0x35 + 3fe8: f3c3 0342 ubfx r3, r3, #1, #3 + 3fec: f894 2035 ldrb.w r2, [r4, #53] ; 0x35 + 3ff0: f363 0243 bfi r2, r3, #1, #3 + 3ff4: f884 2035 strb.w r2, [r4, #53] ; 0x35 new_obj->drag_throw = copy->drag_throw; - 4680: f895 3034 ldrb.w r3, [r5, #52] ; 0x34 - 4684: f3c3 0380 ubfx r3, r3, #2, #1 - 4688: f894 2034 ldrb.w r2, [r4, #52] ; 0x34 - 468c: f363 0282 bfi r2, r3, #2, #1 - 4690: f884 2034 strb.w r2, [r4, #52] ; 0x34 + 3ff8: f895 3034 ldrb.w r3, [r5, #52] ; 0x34 + 3ffc: f3c3 0380 ubfx r3, r3, #2, #1 + 4000: f894 2034 ldrb.w r2, [r4, #52] ; 0x34 + 4004: f363 0282 bfi r2, r3, #2, #1 + 4008: f884 2034 strb.w r2, [r4, #52] ; 0x34 new_obj->drag_parent = copy->drag_parent; - 4694: f895 3034 ldrb.w r3, [r5, #52] ; 0x34 - 4698: f3c3 03c0 ubfx r3, r3, #3, #1 - 469c: b2d2 uxtb r2, r2 - 469e: f363 02c3 bfi r2, r3, #3, #1 - 46a2: f884 2034 strb.w r2, [r4, #52] ; 0x34 + 400c: f895 3034 ldrb.w r3, [r5, #52] ; 0x34 + 4010: f3c3 03c0 ubfx r3, r3, #3, #1 + 4014: b2d2 uxtb r2, r2 + 4016: f363 02c3 bfi r2, r3, #3, #1 + 401a: f884 2034 strb.w r2, [r4, #52] ; 0x34 new_obj->hidden = copy->hidden; - 46a6: f895 3034 ldrb.w r3, [r5, #52] ; 0x34 - 46aa: f3c3 1300 ubfx r3, r3, #4, #1 - 46ae: b2d2 uxtb r2, r2 - 46b0: f363 1204 bfi r2, r3, #4, #1 - 46b4: f884 2034 strb.w r2, [r4, #52] ; 0x34 + 401e: f895 3034 ldrb.w r3, [r5, #52] ; 0x34 + 4022: f3c3 1300 ubfx r3, r3, #4, #1 + 4026: b2d2 uxtb r2, r2 + 4028: f363 1204 bfi r2, r3, #4, #1 + 402c: f884 2034 strb.w r2, [r4, #52] ; 0x34 new_obj->top = copy->top; - 46b8: f895 3034 ldrb.w r3, [r5, #52] ; 0x34 - 46bc: f3c3 1340 ubfx r3, r3, #5, #1 - 46c0: b2d2 uxtb r2, r2 - 46c2: f363 1245 bfi r2, r3, #5, #1 - 46c6: f884 2034 strb.w r2, [r4, #52] ; 0x34 + 4030: f895 3034 ldrb.w r3, [r5, #52] ; 0x34 + 4034: f3c3 1340 ubfx r3, r3, #5, #1 + 4038: b2d2 uxtb r2, r2 + 403a: f363 1245 bfi r2, r3, #5, #1 + 403e: f884 2034 strb.w r2, [r4, #52] ; 0x34 new_obj->parent_event = copy->parent_event; - 46ca: f895 3034 ldrb.w r3, [r5, #52] ; 0x34 - 46ce: f3c3 1380 ubfx r3, r3, #6, #1 - 46d2: b2d2 uxtb r2, r2 - 46d4: f363 1286 bfi r2, r3, #6, #1 - 46d8: f884 2034 strb.w r2, [r4, #52] ; 0x34 + 4042: f895 3034 ldrb.w r3, [r5, #52] ; 0x34 + 4046: f3c3 1380 ubfx r3, r3, #6, #1 + 404a: b2d2 uxtb r2, r2 + 404c: f363 1286 bfi r2, r3, #6, #1 + 4050: f884 2034 strb.w r2, [r4, #52] ; 0x34 new_obj->protect = copy->protect; - 46dc: f895 303c ldrb.w r3, [r5, #60] ; 0x3c - 46e0: f884 303c strb.w r3, [r4, #60] ; 0x3c + 4054: f895 303c ldrb.w r3, [r5, #60] ; 0x3c + 4058: f884 303c strb.w r3, [r4, #60] ; 0x3c new_obj->gesture_parent = copy->gesture_parent; - 46e4: f895 2035 ldrb.w r2, [r5, #53] ; 0x35 - 46e8: f894 3035 ldrb.w r3, [r4, #53] ; 0x35 - 46ec: f362 0300 bfi r3, r2, #0, #1 - 46f0: f884 3035 strb.w r3, [r4, #53] ; 0x35 + 405c: f895 2035 ldrb.w r2, [r5, #53] ; 0x35 + 4060: f894 3035 ldrb.w r3, [r4, #53] ; 0x35 + 4064: f362 0300 bfi r3, r2, #0, #1 + 4068: f884 3035 strb.w r3, [r4, #53] ; 0x35 if(copy->group_p != NULL) { - 46f4: 6ba8 ldr r0, [r5, #56] ; 0x38 - 46f6: b110 cbz r0, 46fe + 406c: 6ba8 ldr r0, [r5, #56] ; 0x38 + 406e: b110 cbz r0, 4076 lv_group_add_obj(copy->group_p, new_obj); - 46f8: 4621 mov r1, r4 - 46fa: 4b1e ldr r3, [pc, #120] ; (4774 ) - 46fc: 4798 blx r3 + 4070: 4621 mov r1, r4 + 4072: 4b1e ldr r3, [pc, #120] ; (40ec ) + 4074: 4798 blx r3 if(lv_obj_get_parent(copy) != NULL && parent != NULL) { - 46fe: 4628 mov r0, r5 - 4700: 4b1d ldr r3, [pc, #116] ; (4778 ) - 4702: 4798 blx r3 - 4704: 2800 cmp r0, #0 - 4706: f000 80d9 beq.w 48bc - 470a: 2e00 cmp r6, #0 - 470c: f000 80df beq.w 48ce + 4076: 4628 mov r0, r5 + 4078: 4b1d ldr r3, [pc, #116] ; (40f0 ) + 407a: 4798 blx r3 + 407c: 2800 cmp r0, #0 + 407e: f000 80d9 beq.w 4234 + 4082: 2e00 cmp r6, #0 + 4084: f000 80df beq.w 4246 lv_obj_set_pos(new_obj, lv_obj_get_x(copy), lv_obj_get_y(copy)); - 4710: 4628 mov r0, r5 - 4712: 4b1a ldr r3, [pc, #104] ; (477c ) - 4714: 4798 blx r3 - 4716: 4607 mov r7, r0 - 4718: 4628 mov r0, r5 - 471a: 4b19 ldr r3, [pc, #100] ; (4780 ) - 471c: 4798 blx r3 - 471e: 4602 mov r2, r0 - 4720: 4639 mov r1, r7 - 4722: 4620 mov r0, r4 - 4724: 4b17 ldr r3, [pc, #92] ; (4784 ) - 4726: 4798 blx r3 - 4728: e0c9 b.n 48be - 472a: bf00 nop - 472c: 0000298d .word 0x0000298d - 4730: 0001bad0 .word 0x0001bad0 - 4734: 0001bcc0 .word 0x0001bcc0 - 4738: 00012805 .word 0x00012805 - 473c: 0001bd20 .word 0x0001bd20 - 4740: 00002995 .word 0x00002995 - 4744: 00011489 .word 0x00011489 - 4748: 0001be1c .word 0x0001be1c - 474c: 000124b9 .word 0x000124b9 - 4750: 0001b4bc .word 0x0001b4bc - 4754: 000130df .word 0x000130df - 4758: 00005fad .word 0x00005fad - 475c: 00005a71 .word 0x00005a71 - 4760: 00011495 .word 0x00011495 - 4764: 000114bd .word 0x000114bd - 4768: 000124a1 .word 0x000124a1 - 476c: 00006a91 .word 0x00006a91 - 4770: 00007711 .word 0x00007711 - 4774: 00002c79 .word 0x00002c79 - 4778: 00003305 .word 0x00003305 - 477c: 00003525 .word 0x00003525 - 4780: 00003585 .word 0x00003585 - 4784: 00003ac5 .word 0x00003ac5 + 4088: 4628 mov r0, r5 + 408a: 4b1a ldr r3, [pc, #104] ; (40f4 ) + 408c: 4798 blx r3 + 408e: 4607 mov r7, r0 + 4090: 4628 mov r0, r5 + 4092: 4b19 ldr r3, [pc, #100] ; (40f8 ) + 4094: 4798 blx r3 + 4096: 4602 mov r2, r0 + 4098: 4639 mov r1, r7 + 409a: 4620 mov r0, r4 + 409c: 4b17 ldr r3, [pc, #92] ; (40fc ) + 409e: 4798 blx r3 + 40a0: e0c9 b.n 4236 + 40a2: bf00 nop + 40a4: 000022b1 .word 0x000022b1 + 40a8: 000245ec .word 0x000245ec + 40ac: 000247dc .word 0x000247dc + 40b0: 0001225d .word 0x0001225d + 40b4: 0002483c .word 0x0002483c + 40b8: 000022b9 .word 0x000022b9 + 40bc: 00010ee1 .word 0x00010ee1 + 40c0: 00024938 .word 0x00024938 + 40c4: 00011f11 .word 0x00011f11 + 40c8: 00023fd8 .word 0x00023fd8 + 40cc: 00012b37 .word 0x00012b37 + 40d0: 00005a05 .word 0x00005a05 + 40d4: 00005429 .word 0x00005429 + 40d8: 00010eed .word 0x00010eed + 40dc: 00010f15 .word 0x00010f15 + 40e0: 00011ef9 .word 0x00011ef9 + 40e4: 000064e9 .word 0x000064e9 + 40e8: 00007169 .word 0x00007169 + 40ec: 0000259d .word 0x0000259d + 40f0: 00002c7d .word 0x00002c7d + 40f4: 00002e9d .word 0x00002e9d + 40f8: 00002efd .word 0x00002efd + 40fc: 0000343d .word 0x0000343d new_obj = _lv_ll_ins_head(&parent->child_ll); - 4788: 1d30 adds r0, r6, #4 - 478a: 4b57 ldr r3, [pc, #348] ; (48e8 ) - 478c: 4798 blx r3 - 478e: 4604 mov r4, r0 + 4100: 1d30 adds r0, r6, #4 + 4102: 4b57 ldr r3, [pc, #348] ; (4260 ) + 4104: 4798 blx r3 + 4106: 4604 mov r4, r0 LV_ASSERT_MEM(new_obj); - 4790: 4b56 ldr r3, [pc, #344] ; (48ec ) - 4792: 4798 blx r3 - 4794: 2800 cmp r0, #0 - 4796: d047 beq.n 4828 + 4108: 4b56 ldr r3, [pc, #344] ; (4264 ) + 410a: 4798 blx r3 + 410c: 2800 cmp r0, #0 + 410e: d047 beq.n 41a0 if(new_obj == NULL) return NULL; - 4798: 2c00 cmp r4, #0 - 479a: f000 80a1 beq.w 48e0 + 4110: 2c00 cmp r4, #0 + 4112: f000 80a1 beq.w 4258 _lv_memset_00(new_obj, sizeof(lv_obj_t)); - 479e: 214c movs r1, #76 ; 0x4c - 47a0: 4620 mov r0, r4 - 47a2: 4b53 ldr r3, [pc, #332] ; (48f0 ) - 47a4: 4798 blx r3 + 4116: 214c movs r1, #76 ; 0x4c + 4118: 4620 mov r0, r4 + 411a: 4b53 ldr r3, [pc, #332] ; (4268 ) + 411c: 4798 blx r3 new_obj->parent = parent; - 47a6: 6026 str r6, [r4, #0] + 411e: 6026 str r6, [r4, #0] new_obj->base_dir = LV_BIDI_DIR_LTR; - 47a8: f894 3035 ldrb.w r3, [r4, #53] ; 0x35 - 47ac: f36f 1305 bfc r3, #4, #2 - 47b0: f884 3035 strb.w r3, [r4, #53] ; 0x35 + 4120: f894 3035 ldrb.w r3, [r4, #53] ; 0x35 + 4124: f36f 1305 bfc r3, #4, #2 + 4128: f884 3035 strb.w r3, [r4, #53] ; 0x35 new_obj->signal_cb = lv_obj_signal; - 47b4: 4b4f ldr r3, [pc, #316] ; (48f4 ) - 47b6: 61e3 str r3, [r4, #28] + 412c: 4b4f ldr r3, [pc, #316] ; (426c ) + 412e: 61e3 str r3, [r4, #28] new_obj->design_cb = lv_obj_design; - 47b8: 4b4f ldr r3, [pc, #316] ; (48f8 ) - 47ba: 6223 str r3, [r4, #32] + 4130: 4b4f ldr r3, [pc, #316] ; (4270 ) + 4132: 6223 str r3, [r4, #32] new_obj->event_cb = NULL; - 47bc: 2000 movs r0, #0 - 47be: 61a0 str r0, [r4, #24] + 4134: 2000 movs r0, #0 + 4136: 61a0 str r0, [r4, #24] new_obj->coords.y1 = parent->coords.y1; - 47c0: f9b6 3012 ldrsh.w r3, [r6, #18] - 47c4: 8263 strh r3, [r4, #18] + 4138: f9b6 3012 ldrsh.w r3, [r6, #18] + 413c: 8263 strh r3, [r4, #18] new_obj->coords.y2 = parent->coords.y1 + LV_OBJ_DEF_HEIGHT; - 47c6: 8a77 ldrh r7, [r6, #18] - 47c8: 4b4c ldr r3, [pc, #304] ; (48fc ) - 47ca: 4798 blx r3 - 47cc: 2332 movs r3, #50 ; 0x32 - 47ce: fb03 f300 mul.w r3, r3, r0 - 47d2: 3350 adds r3, #80 ; 0x50 - 47d4: f5b3 7fa0 cmp.w r3, #320 ; 0x140 - 47d8: da33 bge.n 4842 - 47da: 2301 movs r3, #1 - 47dc: 443b add r3, r7 - 47de: 82e3 strh r3, [r4, #22] + 413e: 8a77 ldrh r7, [r6, #18] + 4140: 4b4c ldr r3, [pc, #304] ; (4274 ) + 4142: 4798 blx r3 + 4144: 2332 movs r3, #50 ; 0x32 + 4146: fb03 f300 mul.w r3, r3, r0 + 414a: 3350 adds r3, #80 ; 0x50 + 414c: f5b3 7fa0 cmp.w r3, #320 ; 0x140 + 4150: da33 bge.n 41ba + 4152: 2301 movs r3, #1 + 4154: 443b add r3, r7 + 4156: 82e3 strh r3, [r4, #22] if(lv_obj_get_base_dir(new_obj) == LV_BIDI_DIR_RTL) { - 47e0: 4620 mov r0, r4 - 47e2: 4b47 ldr r3, [pc, #284] ; (4900 ) - 47e4: 4798 blx r3 - 47e6: 2801 cmp r0, #1 - 47e8: d03a beq.n 4860 + 4158: 4620 mov r0, r4 + 415a: 4b47 ldr r3, [pc, #284] ; (4278 ) + 415c: 4798 blx r3 + 415e: 2801 cmp r0, #1 + 4160: d03a beq.n 41d8 new_obj->coords.x1 = parent->coords.x1; - 47ea: f9b6 3010 ldrsh.w r3, [r6, #16] - 47ee: 8223 strh r3, [r4, #16] + 4162: f9b6 3010 ldrsh.w r3, [r6, #16] + 4166: 8223 strh r3, [r4, #16] new_obj->coords.x2 = parent->coords.x1 + LV_OBJ_DEF_WIDTH; - 47f0: 8a37 ldrh r7, [r6, #16] - 47f2: 2000 movs r0, #0 - 47f4: 4b41 ldr r3, [pc, #260] ; (48fc ) - 47f6: 4798 blx r3 - 47f8: 2364 movs r3, #100 ; 0x64 - 47fa: fb03 f300 mul.w r3, r3, r0 - 47fe: 3350 adds r3, #80 ; 0x50 - 4800: f5b3 7fa0 cmp.w r3, #320 ; 0x140 - 4804: db4d blt.n 48a2 - 4806: 2000 movs r0, #0 - 4808: 4b3c ldr r3, [pc, #240] ; (48fc ) - 480a: 4798 blx r3 - 480c: 2364 movs r3, #100 ; 0x64 - 480e: fb03 f300 mul.w r3, r3, r0 - 4812: 3350 adds r3, #80 ; 0x50 - 4814: 4a3b ldr r2, [pc, #236] ; (4904 ) - 4816: fb82 1203 smull r1, r2, r2, r3 - 481a: 17db asrs r3, r3, #31 - 481c: ebc3 13a2 rsb r3, r3, r2, asr #6 - 4820: b29b uxth r3, r3 - 4822: 443b add r3, r7 - 4824: 82a3 strh r3, [r4, #20] - 4826: e698 b.n 455a + 4168: 8a37 ldrh r7, [r6, #16] + 416a: 2000 movs r0, #0 + 416c: 4b41 ldr r3, [pc, #260] ; (4274 ) + 416e: 4798 blx r3 + 4170: 2364 movs r3, #100 ; 0x64 + 4172: fb03 f300 mul.w r3, r3, r0 + 4176: 3350 adds r3, #80 ; 0x50 + 4178: f5b3 7fa0 cmp.w r3, #320 ; 0x140 + 417c: db4d blt.n 421a + 417e: 2000 movs r0, #0 + 4180: 4b3c ldr r3, [pc, #240] ; (4274 ) + 4182: 4798 blx r3 + 4184: 2364 movs r3, #100 ; 0x64 + 4186: fb03 f300 mul.w r3, r3, r0 + 418a: 3350 adds r3, #80 ; 0x50 + 418c: 4a3b ldr r2, [pc, #236] ; (427c ) + 418e: fb82 1203 smull r1, r2, r2, r3 + 4192: 17db asrs r3, r3, #31 + 4194: ebc3 13a2 rsb r3, r3, r2, asr #6 + 4198: b29b uxth r3, r3 + 419a: 443b add r3, r7 + 419c: 82a3 strh r3, [r4, #20] + 419e: e698 b.n 3ed2 LV_ASSERT_MEM(new_obj); - 4828: 4b37 ldr r3, [pc, #220] ; (4908 ) - 482a: 9300 str r3, [sp, #0] - 482c: 22f0 movs r2, #240 ; 0xf0 - 482e: 4937 ldr r1, [pc, #220] ; (490c ) - 4830: 2003 movs r0, #3 - 4832: 4d37 ldr r5, [pc, #220] ; (4910 ) - 4834: 47a8 blx r5 - 4836: 4622 mov r2, r4 - 4838: 2300 movs r3, #0 - 483a: 4836 ldr r0, [pc, #216] ; (4914 ) - 483c: 4936 ldr r1, [pc, #216] ; (4918 ) - 483e: 4788 blx r1 - 4840: e7fe b.n 4840 + 41a0: 4b37 ldr r3, [pc, #220] ; (4280 ) + 41a2: 9300 str r3, [sp, #0] + 41a4: 22f0 movs r2, #240 ; 0xf0 + 41a6: 4937 ldr r1, [pc, #220] ; (4284 ) + 41a8: 2003 movs r0, #3 + 41aa: 4d37 ldr r5, [pc, #220] ; (4288 ) + 41ac: 47a8 blx r5 + 41ae: 4622 mov r2, r4 + 41b0: 2300 movs r3, #0 + 41b2: 4836 ldr r0, [pc, #216] ; (428c ) + 41b4: 4936 ldr r1, [pc, #216] ; (4290 ) + 41b6: 4788 blx r1 + 41b8: e7fe b.n 41b8 new_obj->coords.y2 = parent->coords.y1 + LV_OBJ_DEF_HEIGHT; - 4842: 2000 movs r0, #0 - 4844: 4b2d ldr r3, [pc, #180] ; (48fc ) - 4846: 4798 blx r3 - 4848: 2332 movs r3, #50 ; 0x32 - 484a: fb03 f300 mul.w r3, r3, r0 - 484e: 3350 adds r3, #80 ; 0x50 - 4850: 4a2c ldr r2, [pc, #176] ; (4904 ) - 4852: fb82 1203 smull r1, r2, r2, r3 - 4856: 17db asrs r3, r3, #31 - 4858: ebc3 13a2 rsb r3, r3, r2, asr #6 - 485c: b29b uxth r3, r3 - 485e: e7bd b.n 47dc + 41ba: 2000 movs r0, #0 + 41bc: 4b2d ldr r3, [pc, #180] ; (4274 ) + 41be: 4798 blx r3 + 41c0: 2332 movs r3, #50 ; 0x32 + 41c2: fb03 f300 mul.w r3, r3, r0 + 41c6: 3350 adds r3, #80 ; 0x50 + 41c8: 4a2c ldr r2, [pc, #176] ; (427c ) + 41ca: fb82 1203 smull r1, r2, r2, r3 + 41ce: 17db asrs r3, r3, #31 + 41d0: ebc3 13a2 rsb r3, r3, r2, asr #6 + 41d4: b29b uxth r3, r3 + 41d6: e7bd b.n 4154 new_obj->coords.x2 = parent->coords.x2; - 4860: f9b6 3014 ldrsh.w r3, [r6, #20] - 4864: 82a3 strh r3, [r4, #20] + 41d8: f9b6 3014 ldrsh.w r3, [r6, #20] + 41dc: 82a3 strh r3, [r4, #20] new_obj->coords.x1 = parent->coords.x2 - LV_OBJ_DEF_WIDTH; - 4866: 8ab7 ldrh r7, [r6, #20] - 4868: 2000 movs r0, #0 - 486a: 4b24 ldr r3, [pc, #144] ; (48fc ) - 486c: 4798 blx r3 - 486e: 2364 movs r3, #100 ; 0x64 - 4870: fb03 f300 mul.w r3, r3, r0 - 4874: 3350 adds r3, #80 ; 0x50 - 4876: f5b3 7fa0 cmp.w r3, #320 ; 0x140 - 487a: db10 blt.n 489e - 487c: 2000 movs r0, #0 - 487e: 4b1f ldr r3, [pc, #124] ; (48fc ) - 4880: 4798 blx r3 - 4882: 2364 movs r3, #100 ; 0x64 - 4884: fb03 f300 mul.w r3, r3, r0 - 4888: 3350 adds r3, #80 ; 0x50 - 488a: 4a1e ldr r2, [pc, #120] ; (4904 ) - 488c: fb82 1203 smull r1, r2, r2, r3 - 4890: 17db asrs r3, r3, #31 - 4892: ebc3 13a2 rsb r3, r3, r2, asr #6 - 4896: b29b uxth r3, r3 - 4898: 1afb subs r3, r7, r3 - 489a: 8223 strh r3, [r4, #16] - 489c: e65d b.n 455a - 489e: 2301 movs r3, #1 - 48a0: e7fa b.n 4898 + 41de: 8ab7 ldrh r7, [r6, #20] + 41e0: 2000 movs r0, #0 + 41e2: 4b24 ldr r3, [pc, #144] ; (4274 ) + 41e4: 4798 blx r3 + 41e6: 2364 movs r3, #100 ; 0x64 + 41e8: fb03 f300 mul.w r3, r3, r0 + 41ec: 3350 adds r3, #80 ; 0x50 + 41ee: f5b3 7fa0 cmp.w r3, #320 ; 0x140 + 41f2: db10 blt.n 4216 + 41f4: 2000 movs r0, #0 + 41f6: 4b1f ldr r3, [pc, #124] ; (4274 ) + 41f8: 4798 blx r3 + 41fa: 2364 movs r3, #100 ; 0x64 + 41fc: fb03 f300 mul.w r3, r3, r0 + 4200: 3350 adds r3, #80 ; 0x50 + 4202: 4a1e ldr r2, [pc, #120] ; (427c ) + 4204: fb82 1203 smull r1, r2, r2, r3 + 4208: 17db asrs r3, r3, #31 + 420a: ebc3 13a2 rsb r3, r3, r2, asr #6 + 420e: b29b uxth r3, r3 + 4210: 1afb subs r3, r7, r3 + 4212: 8223 strh r3, [r4, #16] + 4214: e65d b.n 3ed2 + 4216: 2301 movs r3, #1 + 4218: e7fa b.n 4210 new_obj->coords.x2 = parent->coords.x1 + LV_OBJ_DEF_WIDTH; - 48a2: 2301 movs r3, #1 - 48a4: e7bd b.n 4822 + 421a: 2301 movs r3, #1 + 421c: e7bd b.n 419a if(parent != NULL) lv_theme_apply(new_obj, LV_THEME_OBJ); - 48a6: b126 cbz r6, 48b2 - 48a8: 2102 movs r1, #2 - 48aa: 4620 mov r0, r4 - 48ac: 4b1b ldr r3, [pc, #108] ; (491c ) - 48ae: 4798 blx r3 - 48b0: e005 b.n 48be + 421e: b126 cbz r6, 422a + 4220: 2102 movs r1, #2 + 4222: 4620 mov r0, r4 + 4224: 4b1b ldr r3, [pc, #108] ; (4294 ) + 4226: 4798 blx r3 + 4228: e005 b.n 4236 else lv_theme_apply(new_obj, LV_THEME_SCR); - 48b2: 2101 movs r1, #1 - 48b4: 4620 mov r0, r4 - 48b6: 4b19 ldr r3, [pc, #100] ; (491c ) - 48b8: 4798 blx r3 - 48ba: e008 b.n 48ce + 422a: 2101 movs r1, #1 + 422c: 4620 mov r0, r4 + 422e: 4b19 ldr r3, [pc, #100] ; (4294 ) + 4230: 4798 blx r3 + 4232: e008 b.n 4246 if(parent != NULL) { - 48bc: b13e cbz r6, 48ce + 4234: b13e cbz r6, 4246 parent->signal_cb(parent, LV_SIGNAL_CHILD_CHG, new_obj); - 48be: 69f3 ldr r3, [r6, #28] - 48c0: 4622 mov r2, r4 - 48c2: 2101 movs r1, #1 - 48c4: 4630 mov r0, r6 - 48c6: 4798 blx r3 + 4236: 69f3 ldr r3, [r6, #28] + 4238: 4622 mov r2, r4 + 423a: 2101 movs r1, #1 + 423c: 4630 mov r0, r6 + 423e: 4798 blx r3 lv_obj_invalidate(new_obj); - 48c8: 4620 mov r0, r4 - 48ca: 4b15 ldr r3, [pc, #84] ; (4920 ) - 48cc: 4798 blx r3 + 4240: 4620 mov r0, r4 + 4242: 4b15 ldr r3, [pc, #84] ; (4298 ) + 4244: 4798 blx r3 LV_LOG_INFO("Object create ready"); - 48ce: 4b15 ldr r3, [pc, #84] ; (4924 ) - 48d0: 9300 str r3, [sp, #0] - 48d2: 4b0d ldr r3, [pc, #52] ; (4908 ) - 48d4: f240 1287 movw r2, #391 ; 0x187 - 48d8: 490c ldr r1, [pc, #48] ; (490c ) - 48da: 2001 movs r0, #1 - 48dc: 4d0c ldr r5, [pc, #48] ; (4910 ) - 48de: 47a8 blx r5 -} - 48e0: 4620 mov r0, r4 - 48e2: b003 add sp, #12 - 48e4: bdf0 pop {r4, r5, r6, r7, pc} - 48e6: bf00 nop - 48e8: 000124b9 .word 0x000124b9 - 48ec: 0000298d .word 0x0000298d - 48f0: 000130df .word 0x000130df - 48f4: 00005fad .word 0x00005fad - 48f8: 00005a71 .word 0x00005a71 - 48fc: 000114e5 .word 0x000114e5 - 4900: 00004465 .word 0x00004465 - 4904: 66666667 .word 0x66666667 - 4908: 0001bad0 .word 0x0001bad0 - 490c: 0001bcc0 .word 0x0001bcc0 - 4910: 00012805 .word 0x00012805 - 4914: 0001b4bc .word 0x0001b4bc - 4918: 00002995 .word 0x00002995 - 491c: 00014791 .word 0x00014791 - 4920: 000039a9 .word 0x000039a9 - 4924: 0001be6c .word 0x0001be6c - -00004928 : -{ - 4928: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - 492c: b084 sub sp, #16 - 492e: 4604 mov r4, r0 - 4930: 460d mov r5, r1 - 4932: 4616 mov r6, r2 + 4246: 4b15 ldr r3, [pc, #84] ; (429c ) + 4248: 9300 str r3, [sp, #0] + 424a: 4b0d ldr r3, [pc, #52] ; (4280 ) + 424c: f240 1287 movw r2, #391 ; 0x187 + 4250: 490c ldr r1, [pc, #48] ; (4284 ) + 4252: 2001 movs r0, #1 + 4254: 4d0c ldr r5, [pc, #48] ; (4288 ) + 4256: 47a8 blx r5 +} + 4258: 4620 mov r0, r4 + 425a: b003 add sp, #12 + 425c: bdf0 pop {r4, r5, r6, r7, pc} + 425e: bf00 nop + 4260: 00011f11 .word 0x00011f11 + 4264: 000022b1 .word 0x000022b1 + 4268: 00012b37 .word 0x00012b37 + 426c: 00005a05 .word 0x00005a05 + 4270: 00005429 .word 0x00005429 + 4274: 00010f3d .word 0x00010f3d + 4278: 00003ddd .word 0x00003ddd + 427c: 66666667 .word 0x66666667 + 4280: 000245ec .word 0x000245ec + 4284: 000247dc .word 0x000247dc + 4288: 0001225d .word 0x0001225d + 428c: 00023fd8 .word 0x00023fd8 + 4290: 000022b9 .word 0x000022b9 + 4294: 000141e9 .word 0x000141e9 + 4298: 00003321 .word 0x00003321 + 429c: 00024988 .word 0x00024988 + +000042a0 : +{ + 42a0: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} + 42a4: b084 sub sp, #16 + 42a6: 4604 mov r4, r0 + 42a8: 460d mov r5, r1 + 42aa: 4616 mov r6, r2 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 4934: 4b32 ldr r3, [pc, #200] ; (4a00 ) - 4936: 4798 blx r3 - 4938: b968 cbnz r0, 4956 - 493a: 4b32 ldr r3, [pc, #200] ; (4a04 ) - 493c: 9300 str r3, [sp, #0] - 493e: f240 22e5 movw r2, #741 ; 0x2e5 - 4942: 4931 ldr r1, [pc, #196] ; (4a08 ) - 4944: 2003 movs r0, #3 - 4946: 4d31 ldr r5, [pc, #196] ; (4a0c ) - 4948: 47a8 blx r5 - 494a: 4622 mov r2, r4 - 494c: 2300 movs r3, #0 - 494e: 4830 ldr r0, [pc, #192] ; (4a10 ) - 4950: 4930 ldr r1, [pc, #192] ; (4a14 ) - 4952: 4788 blx r1 - 4954: e7fe b.n 4954 + 42ac: 4b32 ldr r3, [pc, #200] ; (4378 ) + 42ae: 4798 blx r3 + 42b0: b968 cbnz r0, 42ce + 42b2: 4b32 ldr r3, [pc, #200] ; (437c ) + 42b4: 9300 str r3, [sp, #0] + 42b6: f240 22e5 movw r2, #741 ; 0x2e5 + 42ba: 4931 ldr r1, [pc, #196] ; (4380 ) + 42bc: 2003 movs r0, #3 + 42be: 4d31 ldr r5, [pc, #196] ; (4384 ) + 42c0: 47a8 blx r5 + 42c2: 4622 mov r2, r4 + 42c4: 2300 movs r3, #0 + 42c6: 4830 ldr r0, [pc, #192] ; (4388 ) + 42c8: 4930 ldr r1, [pc, #192] ; (438c ) + 42ca: 4788 blx r1 + 42cc: e7fe b.n 42cc if(lv_obj_get_width(obj) == w && lv_obj_get_height(obj) == h) { - 4956: 4620 mov r0, r4 - 4958: 4b2f ldr r3, [pc, #188] ; (4a18 ) - 495a: 4798 blx r3 - 495c: 42a8 cmp r0, r5 - 495e: d03f beq.n 49e0 + 42ce: 4620 mov r0, r4 + 42d0: 4b2f ldr r3, [pc, #188] ; (4390 ) + 42d2: 4798 blx r3 + 42d4: 42a8 cmp r0, r5 + 42d6: d03f beq.n 4358 lv_obj_invalidate(obj); - 4960: 4620 mov r0, r4 - 4962: 4b2e ldr r3, [pc, #184] ; (4a1c ) - 4964: 4798 blx r3 + 42d8: 4620 mov r0, r4 + 42da: 4b2e ldr r3, [pc, #184] ; (4394 ) + 42dc: 4798 blx r3 lv_obj_get_coords(obj, &ori); - 4966: a902 add r1, sp, #8 - 4968: 4620 mov r0, r4 - 496a: 4b2d ldr r3, [pc, #180] ; (4a20 ) - 496c: 4798 blx r3 + 42de: a902 add r1, sp, #8 + 42e0: 4620 mov r0, r4 + 42e2: 4b2d ldr r3, [pc, #180] ; (4398 ) + 42e4: 4798 blx r3 obj->coords.y2 = obj->coords.y1 + h - 1; - 496e: 1e73 subs r3, r6, #1 - 4970: 8a62 ldrh r2, [r4, #18] - 4972: 4413 add r3, r2 - 4974: 82e3 strh r3, [r4, #22] + 42e6: 1e73 subs r3, r6, #1 + 42e8: 8a62 ldrh r2, [r4, #18] + 42ea: 4413 add r3, r2 + 42ec: 82e3 strh r3, [r4, #22] if(lv_obj_get_base_dir(obj) == LV_BIDI_DIR_RTL) { - 4976: 4620 mov r0, r4 - 4978: 4b2a ldr r3, [pc, #168] ; (4a24 ) - 497a: 4798 blx r3 - 497c: 2801 cmp r0, #1 - 497e: d035 beq.n 49ec + 42ee: 4620 mov r0, r4 + 42f0: 4b2a ldr r3, [pc, #168] ; (439c ) + 42f2: 4798 blx r3 + 42f4: 2801 cmp r0, #1 + 42f6: d035 beq.n 4364 obj->coords.x2 = obj->coords.x1 + w - 1; - 4980: 1e6b subs r3, r5, #1 - 4982: 8a22 ldrh r2, [r4, #16] - 4984: 4413 add r3, r2 - 4986: 82a3 strh r3, [r4, #20] + 42f8: 1e6b subs r3, r5, #1 + 42fa: 8a22 ldrh r2, [r4, #16] + 42fc: 4413 add r3, r2 + 42fe: 82a3 strh r3, [r4, #20] obj->signal_cb(obj, LV_SIGNAL_COORD_CHG, &ori); - 4988: 69e3 ldr r3, [r4, #28] - 498a: aa02 add r2, sp, #8 - 498c: 2102 movs r1, #2 - 498e: 4620 mov r0, r4 - 4990: 4798 blx r3 + 4300: 69e3 ldr r3, [r4, #28] + 4302: aa02 add r2, sp, #8 + 4304: 2102 movs r1, #2 + 4306: 4620 mov r0, r4 + 4308: 4798 blx r3 lv_obj_t * par = lv_obj_get_parent(obj); - 4992: 4620 mov r0, r4 - 4994: 4b24 ldr r3, [pc, #144] ; (4a28 ) - 4996: 4798 blx r3 + 430a: 4620 mov r0, r4 + 430c: 4b24 ldr r3, [pc, #144] ; (43a0 ) + 430e: 4798 blx r3 if(par != NULL) par->signal_cb(par, LV_SIGNAL_CHILD_CHG, obj); - 4998: b118 cbz r0, 49a2 - 499a: 69c5 ldr r5, [r0, #28] - 499c: 4622 mov r2, r4 - 499e: 2101 movs r1, #1 - 49a0: 47a8 blx r5 + 4310: b118 cbz r0, 431a + 4312: 69c5 ldr r5, [r0, #28] + 4314: 4622 mov r2, r4 + 4316: 2101 movs r1, #1 + 4318: 47a8 blx r5 _LV_LL_READ(obj->child_ll, i) { - 49a2: 1d26 adds r6, r4, #4 - 49a4: 4630 mov r0, r6 - 49a6: 4b21 ldr r3, [pc, #132] ; (4a2c ) - 49a8: 4798 blx r3 - 49aa: 4605 mov r5, r0 - 49ac: b168 cbz r0, 49ca + 431a: 1d26 adds r6, r4, #4 + 431c: 4630 mov r0, r6 + 431e: 4b21 ldr r3, [pc, #132] ; (43a4 ) + 4320: 4798 blx r3 + 4322: 4605 mov r5, r0 + 4324: b168 cbz r0, 4342 i->signal_cb(i, LV_SIGNAL_PARENT_SIZE_CHG, &ori); - 49ae: f04f 0803 mov.w r8, #3 + 4326: f04f 0803 mov.w r8, #3 _LV_LL_READ(obj->child_ll, i) { - 49b2: 4f1f ldr r7, [pc, #124] ; (4a30 ) + 432a: 4f1f ldr r7, [pc, #124] ; (43a8 ) i->signal_cb(i, LV_SIGNAL_PARENT_SIZE_CHG, &ori); - 49b4: 69eb ldr r3, [r5, #28] - 49b6: aa02 add r2, sp, #8 - 49b8: 4641 mov r1, r8 - 49ba: 4628 mov r0, r5 - 49bc: 4798 blx r3 + 432c: 69eb ldr r3, [r5, #28] + 432e: aa02 add r2, sp, #8 + 4330: 4641 mov r1, r8 + 4332: 4628 mov r0, r5 + 4334: 4798 blx r3 _LV_LL_READ(obj->child_ll, i) { - 49be: 4629 mov r1, r5 - 49c0: 4630 mov r0, r6 - 49c2: 47b8 blx r7 - 49c4: 4605 mov r5, r0 - 49c6: 2800 cmp r0, #0 - 49c8: d1f4 bne.n 49b4 + 4336: 4629 mov r1, r5 + 4338: 4630 mov r0, r6 + 433a: 47b8 blx r7 + 433c: 4605 mov r5, r0 + 433e: 2800 cmp r0, #0 + 4340: d1f4 bne.n 432c lv_obj_invalidate(obj); - 49ca: 4620 mov r0, r4 - 49cc: 4b13 ldr r3, [pc, #76] ; (4a1c ) - 49ce: 4798 blx r3 + 4342: 4620 mov r0, r4 + 4344: 4b13 ldr r3, [pc, #76] ; (4394 ) + 4346: 4798 blx r3 if(obj->realign.auto_realign) lv_obj_realign(obj); - 49d0: f894 3049 ldrb.w r3, [r4, #73] ; 0x49 - 49d4: f013 0f01 tst.w r3, #1 - 49d8: d10e bne.n 49f8 + 4348: f894 3049 ldrb.w r3, [r4, #73] ; 0x49 + 434c: f013 0f01 tst.w r3, #1 + 4350: d10e bne.n 4370 } - 49da: b004 add sp, #16 - 49dc: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + 4352: b004 add sp, #16 + 4354: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} if(lv_obj_get_width(obj) == w && lv_obj_get_height(obj) == h) { - 49e0: 4620 mov r0, r4 - 49e2: 4b14 ldr r3, [pc, #80] ; (4a34 ) - 49e4: 4798 blx r3 - 49e6: 42b0 cmp r0, r6 - 49e8: d1ba bne.n 4960 - 49ea: e7f6 b.n 49da + 4358: 4620 mov r0, r4 + 435a: 4b14 ldr r3, [pc, #80] ; (43ac ) + 435c: 4798 blx r3 + 435e: 42b0 cmp r0, r6 + 4360: d1ba bne.n 42d8 + 4362: e7f6 b.n 4352 obj->coords.x1 = obj->coords.x2 - w + 1; - 49ec: f1c5 0301 rsb r3, r5, #1 - 49f0: 8aa2 ldrh r2, [r4, #20] - 49f2: 4413 add r3, r2 - 49f4: 8223 strh r3, [r4, #16] - 49f6: e7c7 b.n 4988 + 4364: f1c5 0301 rsb r3, r5, #1 + 4368: 8aa2 ldrh r2, [r4, #20] + 436a: 4413 add r3, r2 + 436c: 8223 strh r3, [r4, #16] + 436e: e7c7 b.n 4300 if(obj->realign.auto_realign) lv_obj_realign(obj); - 49f8: 4620 mov r0, r4 - 49fa: 4b0f ldr r3, [pc, #60] ; (4a38 ) - 49fc: 4798 blx r3 - 49fe: e7ec b.n 49da - 4a00: 0000298d .word 0x0000298d - 4a04: 0001baf4 .word 0x0001baf4 - 4a08: 0001bcc0 .word 0x0001bcc0 - 4a0c: 00012805 .word 0x00012805 - 4a10: 0001bd20 .word 0x0001bd20 - 4a14: 00002995 .word 0x00002995 - 4a18: 000035e5 .word 0x000035e5 - 4a1c: 000039a9 .word 0x000039a9 - 4a20: 000034c9 .word 0x000034c9 - 4a24: 00004465 .word 0x00004465 - 4a28: 00003305 .word 0x00003305 - 4a2c: 00012551 .word 0x00012551 - 4a30: 00012565 .word 0x00012565 - 4a34: 00003635 .word 0x00003635 - 4a38: 00004069 .word 0x00004069 - -00004a3c : -{ - 4a3c: b530 push {r4, r5, lr} - 4a3e: b083 sub sp, #12 - 4a40: 4604 mov r4, r0 - 4a42: 460d mov r5, r1 + 4370: 4620 mov r0, r4 + 4372: 4b0f ldr r3, [pc, #60] ; (43b0 ) + 4374: 4798 blx r3 + 4376: e7ec b.n 4352 + 4378: 000022b1 .word 0x000022b1 + 437c: 00024610 .word 0x00024610 + 4380: 000247dc .word 0x000247dc + 4384: 0001225d .word 0x0001225d + 4388: 0002483c .word 0x0002483c + 438c: 000022b9 .word 0x000022b9 + 4390: 00002f5d .word 0x00002f5d + 4394: 00003321 .word 0x00003321 + 4398: 00002e41 .word 0x00002e41 + 439c: 00003ddd .word 0x00003ddd + 43a0: 00002c7d .word 0x00002c7d + 43a4: 00011fa9 .word 0x00011fa9 + 43a8: 00011fbd .word 0x00011fbd + 43ac: 00002fad .word 0x00002fad + 43b0: 000039e1 .word 0x000039e1 + +000043b4 : +{ + 43b4: b530 push {r4, r5, lr} + 43b6: b083 sub sp, #12 + 43b8: 4604 mov r4, r0 + 43ba: 460d mov r5, r1 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 4a44: 4b0d ldr r3, [pc, #52] ; (4a7c ) - 4a46: 4798 blx r3 - 4a48: b968 cbnz r0, 4a66 - 4a4a: 4b0d ldr r3, [pc, #52] ; (4a80 ) - 4a4c: 9300 str r3, [sp, #0] - 4a4e: f240 3227 movw r2, #807 ; 0x327 - 4a52: 490c ldr r1, [pc, #48] ; (4a84 ) - 4a54: 2003 movs r0, #3 - 4a56: 4d0c ldr r5, [pc, #48] ; (4a88 ) - 4a58: 47a8 blx r5 - 4a5a: 4622 mov r2, r4 - 4a5c: 2300 movs r3, #0 - 4a5e: 480b ldr r0, [pc, #44] ; (4a8c ) - 4a60: 490b ldr r1, [pc, #44] ; (4a90 ) - 4a62: 4788 blx r1 - 4a64: e7fe b.n 4a64 + 43bc: 4b0d ldr r3, [pc, #52] ; (43f4 ) + 43be: 4798 blx r3 + 43c0: b968 cbnz r0, 43de + 43c2: 4b0d ldr r3, [pc, #52] ; (43f8 ) + 43c4: 9300 str r3, [sp, #0] + 43c6: f240 3227 movw r2, #807 ; 0x327 + 43ca: 490c ldr r1, [pc, #48] ; (43fc ) + 43cc: 2003 movs r0, #3 + 43ce: 4d0c ldr r5, [pc, #48] ; (4400 ) + 43d0: 47a8 blx r5 + 43d2: 4622 mov r2, r4 + 43d4: 2300 movs r3, #0 + 43d6: 480b ldr r0, [pc, #44] ; (4404 ) + 43d8: 490b ldr r1, [pc, #44] ; (4408 ) + 43da: 4788 blx r1 + 43dc: e7fe b.n 43dc lv_obj_set_size(obj, lv_obj_get_width(obj), h); - 4a66: 4620 mov r0, r4 - 4a68: 4b0a ldr r3, [pc, #40] ; (4a94 ) - 4a6a: 4798 blx r3 - 4a6c: 462a mov r2, r5 - 4a6e: 4601 mov r1, r0 - 4a70: 4620 mov r0, r4 - 4a72: 4b09 ldr r3, [pc, #36] ; (4a98 ) - 4a74: 4798 blx r3 -} - 4a76: b003 add sp, #12 - 4a78: bd30 pop {r4, r5, pc} - 4a7a: bf00 nop - 4a7c: 0000298d .word 0x0000298d - 4a80: 0001bb18 .word 0x0001bb18 - 4a84: 0001bcc0 .word 0x0001bcc0 - 4a88: 00012805 .word 0x00012805 - 4a8c: 0001bd20 .word 0x0001bd20 - 4a90: 00002995 .word 0x00002995 - 4a94: 000035e5 .word 0x000035e5 - 4a98: 00004929 .word 0x00004929 - -00004a9c : -{ - 4a9c: b530 push {r4, r5, lr} - 4a9e: b083 sub sp, #12 - 4aa0: 4604 mov r4, r0 - 4aa2: 460d mov r5, r1 + 43de: 4620 mov r0, r4 + 43e0: 4b0a ldr r3, [pc, #40] ; (440c ) + 43e2: 4798 blx r3 + 43e4: 462a mov r2, r5 + 43e6: 4601 mov r1, r0 + 43e8: 4620 mov r0, r4 + 43ea: 4b09 ldr r3, [pc, #36] ; (4410 ) + 43ec: 4798 blx r3 +} + 43ee: b003 add sp, #12 + 43f0: bd30 pop {r4, r5, pc} + 43f2: bf00 nop + 43f4: 000022b1 .word 0x000022b1 + 43f8: 00024634 .word 0x00024634 + 43fc: 000247dc .word 0x000247dc + 4400: 0001225d .word 0x0001225d + 4404: 0002483c .word 0x0002483c + 4408: 000022b9 .word 0x000022b9 + 440c: 00002f5d .word 0x00002f5d + 4410: 000042a1 .word 0x000042a1 + +00004414 : +{ + 4414: b530 push {r4, r5, lr} + 4416: b083 sub sp, #12 + 4418: 4604 mov r4, r0 + 441a: 460d mov r5, r1 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 4aa4: 4b0c ldr r3, [pc, #48] ; (4ad8 ) - 4aa6: 4798 blx r3 - 4aa8: b138 cbz r0, 4aba + 441c: 4b0c ldr r3, [pc, #48] ; (4450 ) + 441e: 4798 blx r3 + 4420: b138 cbz r0, 4432 return (obj->protect & prot) == 0 ? false : true; - 4aaa: f894 303c ldrb.w r3, [r4, #60] ; 0x3c - 4aae: 421d tst r5, r3 -} - 4ab0: bf14 ite ne - 4ab2: 2001 movne r0, #1 - 4ab4: 2000 moveq r0, #0 - 4ab6: b003 add sp, #12 - 4ab8: bd30 pop {r4, r5, pc} + 4422: f894 303c ldrb.w r3, [r4, #60] ; 0x3c + 4426: 421d tst r5, r3 +} + 4428: bf14 ite ne + 442a: 2001 movne r0, #1 + 442c: 2000 moveq r0, #0 + 442e: b003 add sp, #12 + 4430: bd30 pop {r4, r5, pc} LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 4aba: 4b08 ldr r3, [pc, #32] ; (4adc ) - 4abc: 9300 str r3, [sp, #0] - 4abe: f640 22d7 movw r2, #2775 ; 0xad7 - 4ac2: 4907 ldr r1, [pc, #28] ; (4ae0 ) - 4ac4: 2003 movs r0, #3 - 4ac6: 4d07 ldr r5, [pc, #28] ; (4ae4 ) - 4ac8: 47a8 blx r5 - 4aca: 4622 mov r2, r4 - 4acc: 2300 movs r3, #0 - 4ace: 4806 ldr r0, [pc, #24] ; (4ae8 ) - 4ad0: 4906 ldr r1, [pc, #24] ; (4aec ) - 4ad2: 4788 blx r1 - 4ad4: e7fe b.n 4ad4 - 4ad6: bf00 nop - 4ad8: 0000298d .word 0x0000298d - 4adc: 0001bb40 .word 0x0001bb40 - 4ae0: 0001bcc0 .word 0x0001bcc0 - 4ae4: 00012805 .word 0x00012805 - 4ae8: 0001bd20 .word 0x0001bd20 - 4aec: 00002995 .word 0x00002995 - -00004af0 : -{ - 4af0: b530 push {r4, r5, lr} - 4af2: b085 sub sp, #20 - 4af4: 4604 mov r4, r0 - 4af6: 460d mov r5, r1 + 4432: 4b08 ldr r3, [pc, #32] ; (4454 ) + 4434: 9300 str r3, [sp, #0] + 4436: f640 22d7 movw r2, #2775 ; 0xad7 + 443a: 4907 ldr r1, [pc, #28] ; (4458 ) + 443c: 2003 movs r0, #3 + 443e: 4d07 ldr r5, [pc, #28] ; (445c ) + 4440: 47a8 blx r5 + 4442: 4622 mov r2, r4 + 4444: 2300 movs r3, #0 + 4446: 4806 ldr r0, [pc, #24] ; (4460 ) + 4448: 4906 ldr r1, [pc, #24] ; (4464 ) + 444a: 4788 blx r1 + 444c: e7fe b.n 444c + 444e: bf00 nop + 4450: 000022b1 .word 0x000022b1 + 4454: 0002465c .word 0x0002465c + 4458: 000247dc .word 0x000247dc + 445c: 0001225d .word 0x0001225d + 4460: 0002483c .word 0x0002483c + 4464: 000022b9 .word 0x000022b9 + +00004468 : +{ + 4468: b530 push {r4, r5, lr} + 446a: b085 sub sp, #20 + 446c: 4604 mov r4, r0 + 446e: 460d mov r5, r1 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 4af8: 4b11 ldr r3, [pc, #68] ; (4b40 ) - 4afa: 4798 blx r3 - 4afc: b128 cbz r0, 4b0a + 4470: 4b11 ldr r3, [pc, #68] ; (44b8 ) + 4472: 4798 blx r3 + 4474: b128 cbz r0, 4482 if(part < _LV_OBJ_PART_REAL_LAST) return ((lv_obj_t *)obj)->state; - 4afe: 2d3f cmp r5, #63 ; 0x3f - 4b00: d811 bhi.n 4b26 - 4b02: f894 003d ldrb.w r0, [r4, #61] ; 0x3d + 4476: 2d3f cmp r5, #63 ; 0x3f + 4478: d811 bhi.n 449e + 447a: f894 003d ldrb.w r0, [r4, #61] ; 0x3d } - 4b06: b005 add sp, #20 - 4b08: bd30 pop {r4, r5, pc} + 447e: b005 add sp, #20 + 4480: bd30 pop {r4, r5, pc} LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 4b0a: 4b0e ldr r3, [pc, #56] ; (4b44 ) - 4b0c: 9300 str r3, [sp, #0] - 4b0e: f640 22de movw r2, #2782 ; 0xade - 4b12: 490d ldr r1, [pc, #52] ; (4b48 ) - 4b14: 2003 movs r0, #3 - 4b16: 4d0d ldr r5, [pc, #52] ; (4b4c ) - 4b18: 47a8 blx r5 - 4b1a: 4622 mov r2, r4 - 4b1c: 2300 movs r3, #0 - 4b1e: 480c ldr r0, [pc, #48] ; (4b50 ) - 4b20: 490c ldr r1, [pc, #48] ; (4b54 ) - 4b22: 4788 blx r1 - 4b24: e7fe b.n 4b24 + 4482: 4b0e ldr r3, [pc, #56] ; (44bc ) + 4484: 9300 str r3, [sp, #0] + 4486: f640 22de movw r2, #2782 ; 0xade + 448a: 490d ldr r1, [pc, #52] ; (44c0 ) + 448c: 2003 movs r0, #3 + 448e: 4d0d ldr r5, [pc, #52] ; (44c4 ) + 4490: 47a8 blx r5 + 4492: 4622 mov r2, r4 + 4494: 2300 movs r3, #0 + 4496: 480c ldr r0, [pc, #48] ; (44c8 ) + 4498: 490c ldr r1, [pc, #48] ; (44cc ) + 449a: 4788 blx r1 + 449c: e7fe b.n 449c info.part = part; - 4b26: f88d 500c strb.w r5, [sp, #12] + 449e: f88d 500c strb.w r5, [sp, #12] info.result = LV_STATE_DEFAULT; - 4b2a: 2300 movs r3, #0 - 4b2c: f88d 300d strb.w r3, [sp, #13] + 44a2: 2300 movs r3, #0 + 44a4: f88d 300d strb.w r3, [sp, #13] lv_signal_send((lv_obj_t *)obj, LV_SIGNAL_GET_STATE_DSC, &info); - 4b30: aa03 add r2, sp, #12 - 4b32: 2109 movs r1, #9 - 4b34: 4620 mov r0, r4 - 4b36: 4b08 ldr r3, [pc, #32] ; (4b58 ) - 4b38: 4798 blx r3 + 44a8: aa03 add r2, sp, #12 + 44aa: 2109 movs r1, #9 + 44ac: 4620 mov r0, r4 + 44ae: 4b08 ldr r3, [pc, #32] ; (44d0 ) + 44b0: 4798 blx r3 return info.result; - 4b3a: f89d 000d ldrb.w r0, [sp, #13] - 4b3e: e7e2 b.n 4b06 - 4b40: 0000298d .word 0x0000298d - 4b44: 0001bb54 .word 0x0001bb54 - 4b48: 0001bcc0 .word 0x0001bcc0 - 4b4c: 00012805 .word 0x00012805 - 4b50: 0001bd20 .word 0x0001bd20 - 4b54: 00002995 .word 0x00002995 - 4b58: 000031fd .word 0x000031fd - -00004b5c <_lv_obj_get_style_int>: -{ - 4b5c: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 4b60: b085 sub sp, #20 - 4b62: 4617 mov r7, r2 + 44b2: f89d 000d ldrb.w r0, [sp, #13] + 44b6: e7e2 b.n 447e + 44b8: 000022b1 .word 0x000022b1 + 44bc: 00024670 .word 0x00024670 + 44c0: 000247dc .word 0x000247dc + 44c4: 0001225d .word 0x0001225d + 44c8: 0002483c .word 0x0002483c + 44cc: 000022b9 .word 0x000022b9 + 44d0: 00002b75 .word 0x00002b75 + +000044d4 <_lv_obj_get_style_int>: +{ + 44d4: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 44d8: b085 sub sp, #20 + 44da: 4617 mov r7, r2 while(parent) { - 4b64: b360 cbz r0, 4bc0 <_lv_obj_get_style_int+0x64> - 4b66: 460d mov r5, r1 - 4b68: ea4f 2b12 mov.w fp, r2, lsr #8 - 4b6c: 4606 mov r6, r0 + 44dc: b360 cbz r0, 4538 <_lv_obj_get_style_int+0x64> + 44de: 460d mov r5, r1 + 44e0: ea4f 2b12 mov.w fp, r2, lsr #8 + 44e4: 4606 mov r6, r0 lv_style_list_t * dsc = lv_obj_get_style_list(parent, part); - 4b6e: f8df a08c ldr.w sl, [pc, #140] ; 4bfc <_lv_obj_get_style_int+0xa0> + 44e6: f8df a08c ldr.w sl, [pc, #140] ; 4574 <_lv_obj_get_style_int+0xa0> lv_state_t state = lv_obj_get_state(parent, part); - 4b72: f8df 908c ldr.w r9, [pc, #140] ; 4c00 <_lv_obj_get_style_int+0xa4> + 44ea: f8df 908c ldr.w r9, [pc, #140] ; 4578 <_lv_obj_get_style_int+0xa4> res = _lv_style_list_get_int(dsc, prop, &value_act); - 4b76: f8df 808c ldr.w r8, [pc, #140] ; 4c04 <_lv_obj_get_style_int+0xa8> - 4b7a: e006 b.n 4b8a <_lv_obj_get_style_int+0x2e> + 44ee: f8df 808c ldr.w r8, [pc, #140] ; 457c <_lv_obj_get_style_int+0xa8> + 44f2: e006 b.n 4502 <_lv_obj_get_style_int+0x2e> if(res == LV_RES_OK) return value_act; - 4b7c: f9bd 000e ldrsh.w r0, [sp, #14] + 44f4: f9bd 000e ldrsh.w r0, [sp, #14] } - 4b80: b005 add sp, #20 - 4b82: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} - 4b86: 2500 movs r5, #0 + 44f8: b005 add sp, #20 + 44fa: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 44fe: 2500 movs r5, #0 while(parent) { - 4b88: b1de cbz r6, 4bc2 <_lv_obj_get_style_int+0x66> + 4500: b1de cbz r6, 453a <_lv_obj_get_style_int+0x66> lv_style_list_t * dsc = lv_obj_get_style_list(parent, part); - 4b8a: 4629 mov r1, r5 - 4b8c: 4630 mov r0, r6 - 4b8e: 47d0 blx sl - 4b90: 9001 str r0, [sp, #4] + 4502: 4629 mov r1, r5 + 4504: 4630 mov r0, r6 + 4506: 47d0 blx sl + 4508: 9001 str r0, [sp, #4] lv_state_t state = lv_obj_get_state(parent, part); - 4b92: 4629 mov r1, r5 - 4b94: 4630 mov r0, r6 - 4b96: 47c8 blx r9 + 450a: 4629 mov r1, r5 + 450c: 4630 mov r0, r6 + 450e: 47c8 blx r9 prop = (uint16_t)prop_ori + ((uint16_t)state << LV_STYLE_STATE_POS); - 4b98: eb07 2000 add.w r0, r7, r0, lsl #8 - 4b9c: b284 uxth r4, r0 + 4510: eb07 2000 add.w r0, r7, r0, lsl #8 + 4514: b284 uxth r4, r0 res = _lv_style_list_get_int(dsc, prop, &value_act); - 4b9e: f10d 020e add.w r2, sp, #14 - 4ba2: 4621 mov r1, r4 - 4ba4: 9801 ldr r0, [sp, #4] - 4ba6: 47c0 blx r8 + 4516: f10d 020e add.w r2, sp, #14 + 451a: 4621 mov r1, r4 + 451c: 9801 ldr r0, [sp, #4] + 451e: 47c0 blx r8 if(res == LV_RES_OK) return value_act; - 4ba8: 2801 cmp r0, #1 - 4baa: d0e7 beq.n 4b7c <_lv_obj_get_style_int+0x20> + 4520: 2801 cmp r0, #1 + 4522: d0e7 beq.n 44f4 <_lv_obj_get_style_int+0x20> if(attr.bits.inherit == 0) break; - 4bac: f01b 0f80 tst.w fp, #128 ; 0x80 - 4bb0: d007 beq.n 4bc2 <_lv_obj_get_style_int+0x66> + 4524: f01b 0f80 tst.w fp, #128 ; 0x80 + 4528: d007 beq.n 453a <_lv_obj_get_style_int+0x66> if(part != LV_OBJ_PART_MAIN) { - 4bb2: 2d00 cmp r5, #0 - 4bb4: d1e7 bne.n 4b86 <_lv_obj_get_style_int+0x2a> + 452a: 2d00 cmp r5, #0 + 452c: d1e7 bne.n 44fe <_lv_obj_get_style_int+0x2a> parent = lv_obj_get_parent(parent); - 4bb6: 4630 mov r0, r6 - 4bb8: 4b0f ldr r3, [pc, #60] ; (4bf8 <_lv_obj_get_style_int+0x9c>) - 4bba: 4798 blx r3 - 4bbc: 4606 mov r6, r0 - 4bbe: e7e2 b.n 4b86 <_lv_obj_get_style_int+0x2a> + 452e: 4630 mov r0, r6 + 4530: 4b0f ldr r3, [pc, #60] ; (4570 <_lv_obj_get_style_int+0x9c>) + 4532: 4798 blx r3 + 4534: 4606 mov r6, r0 + 4536: e7e2 b.n 44fe <_lv_obj_get_style_int+0x2a> while(parent) { - 4bc0: 4614 mov r4, r2 + 4538: 4614 mov r4, r2 prop = prop & (~LV_STYLE_STATE_MASK); - 4bc2: f424 44fe bic.w r4, r4, #32512 ; 0x7f00 + 453a: f424 44fe bic.w r4, r4, #32512 ; 0x7f00 switch(prop) { - 4bc6: b2a4 uxth r4, r4 - 4bc8: 2c22 cmp r4, #34 ; 0x22 - 4bca: d00f beq.n 4bec <_lv_obj_get_style_int+0x90> - 4bcc: d806 bhi.n 4bdc <_lv_obj_get_style_int+0x80> - 4bce: 2c03 cmp r4, #3 - 4bd0: d00a beq.n 4be8 <_lv_obj_get_style_int+0x8c> - 4bd2: 2c07 cmp r4, #7 - 4bd4: d10c bne.n 4bf0 <_lv_obj_get_style_int+0x94> + 453e: b2a4 uxth r4, r4 + 4540: 2c22 cmp r4, #34 ; 0x22 + 4542: d00f beq.n 4564 <_lv_obj_get_style_int+0x90> + 4544: d806 bhi.n 4554 <_lv_obj_get_style_int+0x80> + 4546: 2c03 cmp r4, #3 + 4548: d00a beq.n 4560 <_lv_obj_get_style_int+0x8c> + 454a: 2c07 cmp r4, #7 + 454c: d10c bne.n 4568 <_lv_obj_get_style_int+0x94> return LV_IMG_ZOOM_NONE; - 4bd6: f44f 7080 mov.w r0, #256 ; 0x100 - 4bda: e7d1 b.n 4b80 <_lv_obj_get_style_int+0x24> + 454e: f44f 7080 mov.w r0, #256 ; 0x100 + 4552: e7d1 b.n 44f8 <_lv_obj_get_style_int+0x24> switch(prop) { - 4bdc: 2c31 cmp r4, #49 ; 0x31 - 4bde: d009 beq.n 4bf4 <_lv_obj_get_style_int+0x98> - 4be0: 2cc0 cmp r4, #192 ; 0xc0 - 4be2: d105 bne.n 4bf0 <_lv_obj_get_style_int+0x94> + 4554: 2c31 cmp r4, #49 ; 0x31 + 4556: d009 beq.n 456c <_lv_obj_get_style_int+0x98> + 4558: 2cc0 cmp r4, #192 ; 0xc0 + 455a: d105 bne.n 4568 <_lv_obj_get_style_int+0x94> return LV_DPI / 8; - 4be4: 2010 movs r0, #16 - 4be6: e7cb b.n 4b80 <_lv_obj_get_style_int+0x24> + 455c: 2010 movs r0, #16 + 455e: e7cb b.n 44f8 <_lv_obj_get_style_int+0x24> return LV_DPI / 20; - 4be8: 2006 movs r0, #6 - 4bea: e7c9 b.n 4b80 <_lv_obj_get_style_int+0x24> + 4560: 2006 movs r0, #6 + 4562: e7c9 b.n 44f8 <_lv_obj_get_style_int+0x24> return 255; - 4bec: 20ff movs r0, #255 ; 0xff - 4bee: e7c7 b.n 4b80 <_lv_obj_get_style_int+0x24> + 4564: 20ff movs r0, #255 ; 0xff + 4566: e7c7 b.n 44f8 <_lv_obj_get_style_int+0x24> return 0; - 4bf0: 2000 movs r0, #0 - 4bf2: e7c5 b.n 4b80 <_lv_obj_get_style_int+0x24> + 4568: 2000 movs r0, #0 + 456a: e7c5 b.n 44f8 <_lv_obj_get_style_int+0x24> return LV_BORDER_SIDE_FULL; - 4bf4: 200f movs r0, #15 - 4bf6: e7c3 b.n 4b80 <_lv_obj_get_style_int+0x24> - 4bf8: 00003305 .word 0x00003305 - 4bfc: 00003685 .word 0x00003685 - 4c00: 00004af1 .word 0x00004af1 - 4c04: 0000788d .word 0x0000788d - -00004c08 <_lv_obj_get_style_color>: -{ - 4c08: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 4c0c: b085 sub sp, #20 - 4c0e: 4617 mov r7, r2 + 456c: 200f movs r0, #15 + 456e: e7c3 b.n 44f8 <_lv_obj_get_style_int+0x24> + 4570: 00002c7d .word 0x00002c7d + 4574: 00002ffd .word 0x00002ffd + 4578: 00004469 .word 0x00004469 + 457c: 000072e5 .word 0x000072e5 + +00004580 <_lv_obj_get_style_color>: +{ + 4580: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 4584: b085 sub sp, #20 + 4586: 4617 mov r7, r2 while(parent) { - 4c10: b348 cbz r0, 4c66 <_lv_obj_get_style_color+0x5e> - 4c12: 460d mov r5, r1 - 4c14: ea4f 2b12 mov.w fp, r2, lsr #8 - 4c18: 4606 mov r6, r0 + 4588: b348 cbz r0, 45de <_lv_obj_get_style_color+0x5e> + 458a: 460d mov r5, r1 + 458c: ea4f 2b12 mov.w fp, r2, lsr #8 + 4590: 4606 mov r6, r0 lv_style_list_t * dsc = lv_obj_get_style_list(parent, part); - 4c1a: f8df a06c ldr.w sl, [pc, #108] ; 4c88 <_lv_obj_get_style_color+0x80> + 4592: f8df a06c ldr.w sl, [pc, #108] ; 4600 <_lv_obj_get_style_color+0x80> lv_state_t state = lv_obj_get_state(parent, part); - 4c1e: f8df 906c ldr.w r9, [pc, #108] ; 4c8c <_lv_obj_get_style_color+0x84> + 4596: f8df 906c ldr.w r9, [pc, #108] ; 4604 <_lv_obj_get_style_color+0x84> res = _lv_style_list_get_color(dsc, prop, &value_act); - 4c22: f8df 806c ldr.w r8, [pc, #108] ; 4c90 <_lv_obj_get_style_color+0x88> - 4c26: e004 b.n 4c32 <_lv_obj_get_style_color+0x2a> + 459a: f8df 806c ldr.w r8, [pc, #108] ; 4608 <_lv_obj_get_style_color+0x88> + 459e: e004 b.n 45aa <_lv_obj_get_style_color+0x2a> if(res == LV_RES_OK) return value_act; - 4c28: f8bd 000c ldrh.w r0, [sp, #12] - 4c2c: e025 b.n 4c7a <_lv_obj_get_style_color+0x72> - 4c2e: 2500 movs r5, #0 + 45a0: f8bd 000c ldrh.w r0, [sp, #12] + 45a4: e025 b.n 45f2 <_lv_obj_get_style_color+0x72> + 45a6: 2500 movs r5, #0 while(parent) { - 4c30: b1d6 cbz r6, 4c68 <_lv_obj_get_style_color+0x60> + 45a8: b1d6 cbz r6, 45e0 <_lv_obj_get_style_color+0x60> lv_style_list_t * dsc = lv_obj_get_style_list(parent, part); - 4c32: 4629 mov r1, r5 - 4c34: 4630 mov r0, r6 - 4c36: 47d0 blx sl - 4c38: 9001 str r0, [sp, #4] + 45aa: 4629 mov r1, r5 + 45ac: 4630 mov r0, r6 + 45ae: 47d0 blx sl + 45b0: 9001 str r0, [sp, #4] lv_state_t state = lv_obj_get_state(parent, part); - 4c3a: 4629 mov r1, r5 - 4c3c: 4630 mov r0, r6 - 4c3e: 47c8 blx r9 + 45b2: 4629 mov r1, r5 + 45b4: 4630 mov r0, r6 + 45b6: 47c8 blx r9 prop = (uint16_t)prop_ori + ((uint16_t)state << LV_STYLE_STATE_POS); - 4c40: eb07 2000 add.w r0, r7, r0, lsl #8 - 4c44: b284 uxth r4, r0 + 45b8: eb07 2000 add.w r0, r7, r0, lsl #8 + 45bc: b284 uxth r4, r0 res = _lv_style_list_get_color(dsc, prop, &value_act); - 4c46: aa03 add r2, sp, #12 - 4c48: 4621 mov r1, r4 - 4c4a: 9801 ldr r0, [sp, #4] - 4c4c: 47c0 blx r8 + 45be: aa03 add r2, sp, #12 + 45c0: 4621 mov r1, r4 + 45c2: 9801 ldr r0, [sp, #4] + 45c4: 47c0 blx r8 if(res == LV_RES_OK) return value_act; - 4c4e: 2801 cmp r0, #1 - 4c50: d0ea beq.n 4c28 <_lv_obj_get_style_color+0x20> + 45c6: 2801 cmp r0, #1 + 45c8: d0ea beq.n 45a0 <_lv_obj_get_style_color+0x20> if(attr.bits.inherit == 0) break; - 4c52: f01b 0f80 tst.w fp, #128 ; 0x80 - 4c56: d007 beq.n 4c68 <_lv_obj_get_style_color+0x60> + 45ca: f01b 0f80 tst.w fp, #128 ; 0x80 + 45ce: d007 beq.n 45e0 <_lv_obj_get_style_color+0x60> if(part != LV_OBJ_PART_MAIN) { - 4c58: 2d00 cmp r5, #0 - 4c5a: d1e8 bne.n 4c2e <_lv_obj_get_style_color+0x26> + 45d0: 2d00 cmp r5, #0 + 45d2: d1e8 bne.n 45a6 <_lv_obj_get_style_color+0x26> parent = lv_obj_get_parent(parent); - 4c5c: 4630 mov r0, r6 - 4c5e: 4b08 ldr r3, [pc, #32] ; (4c80 <_lv_obj_get_style_color+0x78>) - 4c60: 4798 blx r3 - 4c62: 4606 mov r6, r0 - 4c64: e7e3 b.n 4c2e <_lv_obj_get_style_color+0x26> + 45d4: 4630 mov r0, r6 + 45d6: 4b08 ldr r3, [pc, #32] ; (45f8 <_lv_obj_get_style_color+0x78>) + 45d8: 4798 blx r3 + 45da: 4606 mov r6, r0 + 45dc: e7e3 b.n 45a6 <_lv_obj_get_style_color+0x26> while(parent) { - 4c66: 4614 mov r4, r2 + 45de: 4614 mov r4, r2 prop = prop & (~LV_STYLE_STATE_MASK); - 4c68: f424 44fe bic.w r4, r4, #32512 ; 0x7f00 + 45e0: f424 44fe bic.w r4, r4, #32512 ; 0x7f00 switch(prop) { - 4c6c: 3c29 subs r4, #41 ; 0x29 - 4c6e: 2c01 cmp r4, #1 + 45e4: 3c29 subs r4, #41 ; 0x29 + 45e6: 2c01 cmp r4, #1 return LV_COLOR_WHITE; - 4c70: bf9a itte ls - 4c72: 4b04 ldrls r3, [pc, #16] ; (4c84 <_lv_obj_get_style_color+0x7c>) - 4c74: f8b3 0674 ldrhls.w r0, [r3, #1652] ; 0x674 + 45e8: bf9a itte ls + 45ea: 4b04 ldrls r3, [pc, #16] ; (45fc <_lv_obj_get_style_color+0x7c>) + 45ec: f8b3 0674 ldrhls.w r0, [r3, #1652] ; 0x674 return LV_COLOR_BLACK; - 4c78: 2000 movhi r0, #0 + 45f0: 2000 movhi r0, #0 } - 4c7a: b005 add sp, #20 - 4c7c: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} - 4c80: 00003305 .word 0x00003305 - 4c84: 0001b53c .word 0x0001b53c - 4c88: 00003685 .word 0x00003685 - 4c8c: 00004af1 .word 0x00004af1 - 4c90: 00007951 .word 0x00007951 + 45f2: b005 add sp, #20 + 45f4: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 45f8: 00002c7d .word 0x00002c7d + 45fc: 00024058 .word 0x00024058 + 4600: 00002ffd .word 0x00002ffd + 4604: 00004469 .word 0x00004469 + 4608: 000073a9 .word 0x000073a9 -00004c94 <_lv_obj_get_style_opa>: +0000460c <_lv_obj_get_style_opa>: { - 4c94: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 4c98: b085 sub sp, #20 - 4c9a: 4617 mov r7, r2 + 460c: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 4610: b085 sub sp, #20 + 4612: 4617 mov r7, r2 while(parent) { - 4c9c: b350 cbz r0, 4cf4 <_lv_obj_get_style_opa+0x60> - 4c9e: 460d mov r5, r1 - 4ca0: ea4f 2b12 mov.w fp, r2, lsr #8 - 4ca4: 4606 mov r6, r0 + 4614: b350 cbz r0, 466c <_lv_obj_get_style_opa+0x60> + 4616: 460d mov r5, r1 + 4618: ea4f 2b12 mov.w fp, r2, lsr #8 + 461c: 4606 mov r6, r0 lv_style_list_t * dsc = lv_obj_get_style_list(parent, part); - 4ca6: f8df a074 ldr.w sl, [pc, #116] ; 4d1c <_lv_obj_get_style_opa+0x88> + 461e: f8df a074 ldr.w sl, [pc, #116] ; 4694 <_lv_obj_get_style_opa+0x88> lv_state_t state = lv_obj_get_state(parent, part); - 4caa: f8df 9074 ldr.w r9, [pc, #116] ; 4d20 <_lv_obj_get_style_opa+0x8c> + 4622: f8df 9074 ldr.w r9, [pc, #116] ; 4698 <_lv_obj_get_style_opa+0x8c> res = _lv_style_list_get_opa(dsc, prop, &value_act); - 4cae: f8df 8074 ldr.w r8, [pc, #116] ; 4d24 <_lv_obj_get_style_opa+0x90> - 4cb2: e004 b.n 4cbe <_lv_obj_get_style_opa+0x2a> + 4626: f8df 8074 ldr.w r8, [pc, #116] ; 469c <_lv_obj_get_style_opa+0x90> + 462a: e004 b.n 4636 <_lv_obj_get_style_opa+0x2a> if(res == LV_RES_OK) return value_act; - 4cb4: f89d 000f ldrb.w r0, [sp, #15] - 4cb8: e029 b.n 4d0e <_lv_obj_get_style_opa+0x7a> - 4cba: 2500 movs r5, #0 + 462c: f89d 000f ldrb.w r0, [sp, #15] + 4630: e029 b.n 4686 <_lv_obj_get_style_opa+0x7a> + 4632: 2500 movs r5, #0 while(parent) { - 4cbc: b1de cbz r6, 4cf6 <_lv_obj_get_style_opa+0x62> + 4634: b1de cbz r6, 466e <_lv_obj_get_style_opa+0x62> lv_style_list_t * dsc = lv_obj_get_style_list(parent, part); - 4cbe: 4629 mov r1, r5 - 4cc0: 4630 mov r0, r6 - 4cc2: 47d0 blx sl - 4cc4: 9001 str r0, [sp, #4] + 4636: 4629 mov r1, r5 + 4638: 4630 mov r0, r6 + 463a: 47d0 blx sl + 463c: 9001 str r0, [sp, #4] lv_state_t state = lv_obj_get_state(parent, part); - 4cc6: 4629 mov r1, r5 - 4cc8: 4630 mov r0, r6 - 4cca: 47c8 blx r9 + 463e: 4629 mov r1, r5 + 4640: 4630 mov r0, r6 + 4642: 47c8 blx r9 prop = (uint16_t)prop_ori + ((uint16_t)state << LV_STYLE_STATE_POS); - 4ccc: eb07 2000 add.w r0, r7, r0, lsl #8 - 4cd0: b284 uxth r4, r0 + 4644: eb07 2000 add.w r0, r7, r0, lsl #8 + 4648: b284 uxth r4, r0 res = _lv_style_list_get_opa(dsc, prop, &value_act); - 4cd2: f10d 020f add.w r2, sp, #15 - 4cd6: 4621 mov r1, r4 - 4cd8: 9801 ldr r0, [sp, #4] - 4cda: 47c0 blx r8 + 464a: f10d 020f add.w r2, sp, #15 + 464e: 4621 mov r1, r4 + 4650: 9801 ldr r0, [sp, #4] + 4652: 47c0 blx r8 if(res == LV_RES_OK) return value_act; - 4cdc: 2801 cmp r0, #1 - 4cde: d0e9 beq.n 4cb4 <_lv_obj_get_style_opa+0x20> + 4654: 2801 cmp r0, #1 + 4656: d0e9 beq.n 462c <_lv_obj_get_style_opa+0x20> if(attr.bits.inherit == 0) break; - 4ce0: f01b 0f80 tst.w fp, #128 ; 0x80 - 4ce4: d007 beq.n 4cf6 <_lv_obj_get_style_opa+0x62> + 4658: f01b 0f80 tst.w fp, #128 ; 0x80 + 465c: d007 beq.n 466e <_lv_obj_get_style_opa+0x62> if(part != LV_OBJ_PART_MAIN) { - 4ce6: 2d00 cmp r5, #0 - 4ce8: d1e7 bne.n 4cba <_lv_obj_get_style_opa+0x26> + 465e: 2d00 cmp r5, #0 + 4660: d1e7 bne.n 4632 <_lv_obj_get_style_opa+0x26> parent = lv_obj_get_parent(parent); - 4cea: 4630 mov r0, r6 - 4cec: 4b0a ldr r3, [pc, #40] ; (4d18 <_lv_obj_get_style_opa+0x84>) - 4cee: 4798 blx r3 - 4cf0: 4606 mov r6, r0 - 4cf2: e7e2 b.n 4cba <_lv_obj_get_style_opa+0x26> + 4662: 4630 mov r0, r6 + 4664: 4b0a ldr r3, [pc, #40] ; (4690 <_lv_obj_get_style_opa+0x84>) + 4666: 4798 blx r3 + 4668: 4606 mov r6, r0 + 466a: e7e2 b.n 4632 <_lv_obj_get_style_opa+0x26> while(parent) { - 4cf4: 4614 mov r4, r2 + 466c: 4614 mov r4, r2 prop = prop & (~LV_STYLE_STATE_MASK); - 4cf6: f424 44fe bic.w r4, r4, #32512 ; 0x7f00 + 466e: f424 44fe bic.w r4, r4, #32512 ; 0x7f00 switch(prop) { - 4cfa: b2a4 uxth r4, r4 - 4cfc: 2c6d cmp r4, #109 ; 0x6d - 4cfe: d009 beq.n 4d14 <_lv_obj_get_style_opa+0x80> - 4d00: f248 03ad movw r3, #32941 ; 0x80ad - 4d04: 429c cmp r4, r3 - 4d06: d005 beq.n 4d14 <_lv_obj_get_style_opa+0x80> - 4d08: 2c2c cmp r4, #44 ; 0x2c - 4d0a: d003 beq.n 4d14 <_lv_obj_get_style_opa+0x80> + 4672: b2a4 uxth r4, r4 + 4674: 2c6d cmp r4, #109 ; 0x6d + 4676: d009 beq.n 468c <_lv_obj_get_style_opa+0x80> + 4678: f248 03ad movw r3, #32941 ; 0x80ad + 467c: 429c cmp r4, r3 + 467e: d005 beq.n 468c <_lv_obj_get_style_opa+0x80> + 4680: 2c2c cmp r4, #44 ; 0x2c + 4682: d003 beq.n 468c <_lv_obj_get_style_opa+0x80> return LV_OPA_COVER; - 4d0c: 20ff movs r0, #255 ; 0xff + 4684: 20ff movs r0, #255 ; 0xff } - 4d0e: b005 add sp, #20 - 4d10: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 4686: b005 add sp, #20 + 4688: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} return LV_OPA_TRANSP; - 4d14: 2000 movs r0, #0 - 4d16: e7fa b.n 4d0e <_lv_obj_get_style_opa+0x7a> - 4d18: 00003305 .word 0x00003305 - 4d1c: 00003685 .word 0x00003685 - 4d20: 00004af1 .word 0x00004af1 - 4d24: 00007a15 .word 0x00007a15 - -00004d28 <_lv_obj_get_style_ptr>: -{ - 4d28: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 4d2c: b085 sub sp, #20 - 4d2e: 4617 mov r7, r2 + 468c: 2000 movs r0, #0 + 468e: e7fa b.n 4686 <_lv_obj_get_style_opa+0x7a> + 4690: 00002c7d .word 0x00002c7d + 4694: 00002ffd .word 0x00002ffd + 4698: 00004469 .word 0x00004469 + 469c: 0000746d .word 0x0000746d + +000046a0 <_lv_obj_get_style_ptr>: +{ + 46a0: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 46a4: b085 sub sp, #20 + 46a6: 4617 mov r7, r2 while(parent) { - 4d30: b350 cbz r0, 4d88 <_lv_obj_get_style_ptr+0x60> - 4d32: 460d mov r5, r1 - 4d34: ea4f 2b12 mov.w fp, r2, lsr #8 - 4d38: 4606 mov r6, r0 + 46a8: b350 cbz r0, 4700 <_lv_obj_get_style_ptr+0x60> + 46aa: 460d mov r5, r1 + 46ac: ea4f 2b12 mov.w fp, r2, lsr #8 + 46b0: 4606 mov r6, r0 lv_style_list_t * dsc = lv_obj_get_style_list(parent, part); - 4d3a: f8df a080 ldr.w sl, [pc, #128] ; 4dbc <_lv_obj_get_style_ptr+0x94> + 46b2: f8df a080 ldr.w sl, [pc, #128] ; 4734 <_lv_obj_get_style_ptr+0x94> lv_state_t state = lv_obj_get_state(parent, part); - 4d3e: f8df 9080 ldr.w r9, [pc, #128] ; 4dc0 <_lv_obj_get_style_ptr+0x98> + 46b6: f8df 9080 ldr.w r9, [pc, #128] ; 4738 <_lv_obj_get_style_ptr+0x98> res = _lv_style_list_get_ptr(dsc, prop, &value_act); - 4d42: f8df 8080 ldr.w r8, [pc, #128] ; 4dc4 <_lv_obj_get_style_ptr+0x9c> - 4d46: e005 b.n 4d54 <_lv_obj_get_style_ptr+0x2c> + 46ba: f8df 8080 ldr.w r8, [pc, #128] ; 473c <_lv_obj_get_style_ptr+0x9c> + 46be: e005 b.n 46cc <_lv_obj_get_style_ptr+0x2c> if(res == LV_RES_OK) return value_act; - 4d48: 9803 ldr r0, [sp, #12] + 46c0: 9803 ldr r0, [sp, #12] } - 4d4a: b005 add sp, #20 - 4d4c: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} - 4d50: 2500 movs r5, #0 + 46c2: b005 add sp, #20 + 46c4: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 46c8: 2500 movs r5, #0 while(parent) { - 4d52: b1d6 cbz r6, 4d8a <_lv_obj_get_style_ptr+0x62> + 46ca: b1d6 cbz r6, 4702 <_lv_obj_get_style_ptr+0x62> lv_style_list_t * dsc = lv_obj_get_style_list(parent, part); - 4d54: 4629 mov r1, r5 - 4d56: 4630 mov r0, r6 - 4d58: 47d0 blx sl - 4d5a: 9001 str r0, [sp, #4] + 46cc: 4629 mov r1, r5 + 46ce: 4630 mov r0, r6 + 46d0: 47d0 blx sl + 46d2: 9001 str r0, [sp, #4] lv_state_t state = lv_obj_get_state(parent, part); - 4d5c: 4629 mov r1, r5 - 4d5e: 4630 mov r0, r6 - 4d60: 47c8 blx r9 + 46d4: 4629 mov r1, r5 + 46d6: 4630 mov r0, r6 + 46d8: 47c8 blx r9 prop = (uint16_t)prop_ori + ((uint16_t)state << LV_STYLE_STATE_POS); - 4d62: eb07 2000 add.w r0, r7, r0, lsl #8 - 4d66: b284 uxth r4, r0 + 46da: eb07 2000 add.w r0, r7, r0, lsl #8 + 46de: b284 uxth r4, r0 res = _lv_style_list_get_ptr(dsc, prop, &value_act); - 4d68: aa03 add r2, sp, #12 - 4d6a: 4621 mov r1, r4 - 4d6c: 9801 ldr r0, [sp, #4] - 4d6e: 47c0 blx r8 + 46e0: aa03 add r2, sp, #12 + 46e2: 4621 mov r1, r4 + 46e4: 9801 ldr r0, [sp, #4] + 46e6: 47c0 blx r8 if(res == LV_RES_OK) return value_act; - 4d70: 2801 cmp r0, #1 - 4d72: d0e9 beq.n 4d48 <_lv_obj_get_style_ptr+0x20> + 46e8: 2801 cmp r0, #1 + 46ea: d0e9 beq.n 46c0 <_lv_obj_get_style_ptr+0x20> if(attr.bits.inherit == 0) break; - 4d74: f01b 0f80 tst.w fp, #128 ; 0x80 - 4d78: d007 beq.n 4d8a <_lv_obj_get_style_ptr+0x62> + 46ec: f01b 0f80 tst.w fp, #128 ; 0x80 + 46f0: d007 beq.n 4702 <_lv_obj_get_style_ptr+0x62> if(part != LV_OBJ_PART_MAIN) { - 4d7a: 2d00 cmp r5, #0 - 4d7c: d1e8 bne.n 4d50 <_lv_obj_get_style_ptr+0x28> + 46f2: 2d00 cmp r5, #0 + 46f4: d1e8 bne.n 46c8 <_lv_obj_get_style_ptr+0x28> parent = lv_obj_get_parent(parent); - 4d7e: 4630 mov r0, r6 - 4d80: 4b0b ldr r3, [pc, #44] ; (4db0 <_lv_obj_get_style_ptr+0x88>) - 4d82: 4798 blx r3 - 4d84: 4606 mov r6, r0 - 4d86: e7e3 b.n 4d50 <_lv_obj_get_style_ptr+0x28> + 46f6: 4630 mov r0, r6 + 46f8: 4b0b ldr r3, [pc, #44] ; (4728 <_lv_obj_get_style_ptr+0x88>) + 46fa: 4798 blx r3 + 46fc: 4606 mov r6, r0 + 46fe: e7e3 b.n 46c8 <_lv_obj_get_style_ptr+0x28> while(parent) { - 4d88: 4614 mov r4, r2 + 4700: 4614 mov r4, r2 prop = prop & (~LV_STYLE_STATE_MASK); - 4d8a: f424 44fe bic.w r4, r4, #32512 ; 0x7f00 + 4702: f424 44fe bic.w r4, r4, #32512 ; 0x7f00 switch(prop) { - 4d8e: b2a4 uxth r4, r4 - 4d90: 2cbe cmp r4, #190 ; 0xbe - 4d92: d00a beq.n 4daa <_lv_obj_get_style_ptr+0x82> - 4d94: f248 038e movw r3, #32910 ; 0x808e - 4d98: 429c cmp r4, r3 - 4d9a: d003 beq.n 4da4 <_lv_obj_get_style_ptr+0x7c> - 4d9c: 2c7e cmp r4, #126 ; 0x7e - 4d9e: d001 beq.n 4da4 <_lv_obj_get_style_ptr+0x7c> + 4706: b2a4 uxth r4, r4 + 4708: 2cbe cmp r4, #190 ; 0xbe + 470a: d00a beq.n 4722 <_lv_obj_get_style_ptr+0x82> + 470c: f248 038e movw r3, #32910 ; 0x808e + 4710: 429c cmp r4, r3 + 4712: d003 beq.n 471c <_lv_obj_get_style_ptr+0x7c> + 4714: 2c7e cmp r4, #126 ; 0x7e + 4716: d001 beq.n 471c <_lv_obj_get_style_ptr+0x7c> return NULL; - 4da0: 2000 movs r0, #0 - 4da2: e7d2 b.n 4d4a <_lv_obj_get_style_ptr+0x22> + 4718: 2000 movs r0, #0 + 471a: e7d2 b.n 46c2 <_lv_obj_get_style_ptr+0x22> return lv_theme_get_font_normal(); - 4da4: 4b03 ldr r3, [pc, #12] ; (4db4 <_lv_obj_get_style_ptr+0x8c>) - 4da6: 4798 blx r3 - 4da8: e7cf b.n 4d4a <_lv_obj_get_style_ptr+0x22> + 471c: 4b03 ldr r3, [pc, #12] ; (472c <_lv_obj_get_style_ptr+0x8c>) + 471e: 4798 blx r3 + 4720: e7cf b.n 46c2 <_lv_obj_get_style_ptr+0x22> return &lv_anim_path_def; - 4daa: 4803 ldr r0, [pc, #12] ; (4db8 <_lv_obj_get_style_ptr+0x90>) - 4dac: e7cd b.n 4d4a <_lv_obj_get_style_ptr+0x22> - 4dae: bf00 nop - 4db0: 00003305 .word 0x00003305 - 4db4: 00014785 .word 0x00014785 - 4db8: 000206e4 .word 0x000206e4 - 4dbc: 00003685 .word 0x00003685 - 4dc0: 00004af1 .word 0x00004af1 - 4dc4: 00007ad9 .word 0x00007ad9 - -00004dc8 : -{ - 4dc8: b570 push {r4, r5, r6, lr} + 4722: 4803 ldr r0, [pc, #12] ; (4730 <_lv_obj_get_style_ptr+0x90>) + 4724: e7cd b.n 46c2 <_lv_obj_get_style_ptr+0x22> + 4726: bf00 nop + 4728: 00002c7d .word 0x00002c7d + 472c: 000141dd .word 0x000141dd + 4730: 00029200 .word 0x00029200 + 4734: 00002ffd .word 0x00002ffd + 4738: 00004469 .word 0x00004469 + 473c: 00007531 .word 0x00007531 + +00004740 : +{ + 4740: b570 push {r4, r5, r6, lr} lv_style_trans_t * tr = a->var; - 4dca: 6804 ldr r4, [r0, #0] + 4742: 6804 ldr r4, [r0, #0] lv_style_property_t prop_tmp = tr->prop; - 4dcc: 88a5 ldrh r5, [r4, #4] + 4744: 88a5 ldrh r5, [r4, #4] if((prop_tmp & 0xF) < LV_STYLE_ID_COLOR) { /*Int*/ - 4dce: f005 030f and.w r3, r5, #15 - 4dd2: 2b08 cmp r3, #8 - 4dd4: dd13 ble.n 4dfe + 4746: f005 030f and.w r3, r5, #15 + 474a: 2b08 cmp r3, #8 + 474c: dd13 ble.n 4776 else if((prop_tmp & 0xF) < LV_STYLE_ID_OPA) { /*Color*/ - 4dd6: 2b0b cmp r3, #11 - 4dd8: dd18 ble.n 4e0c + 474e: 2b0b cmp r3, #11 + 4750: dd18 ble.n 4784 else if((prop_tmp & 0xF) < LV_STYLE_ID_PTR) { /*Opa*/ - 4dda: 2b0d cmp r3, #13 - 4ddc: dd1d ble.n 4e1a + 4752: 2b0d cmp r3, #13 + 4754: dd1d ble.n 4792 tr->start_value._ptr = _lv_obj_get_style_ptr(tr->obj, tr->part, prop_tmp); - 4dde: 462a mov r2, r5 - 4de0: 79a1 ldrb r1, [r4, #6] - 4de2: 6820 ldr r0, [r4, #0] - 4de4: 4b10 ldr r3, [pc, #64] ; (4e28 ) - 4de6: 4798 blx r3 - 4de8: 60a0 str r0, [r4, #8] + 4756: 462a mov r2, r5 + 4758: 79a1 ldrb r1, [r4, #6] + 475a: 6820 ldr r0, [r4, #0] + 475c: 4b10 ldr r3, [pc, #64] ; (47a0 ) + 475e: 4798 blx r3 + 4760: 60a0 str r0, [r4, #8] tr->prop = 0; - 4dea: 2300 movs r3, #0 - 4dec: 80a3 strh r3, [r4, #4] + 4762: 2300 movs r3, #0 + 4764: 80a3 strh r3, [r4, #4] trans_del(tr->obj, tr->part, prop_tmp, tr); - 4dee: 4623 mov r3, r4 - 4df0: 462a mov r2, r5 - 4df2: 79a1 ldrb r1, [r4, #6] - 4df4: 6820 ldr r0, [r4, #0] - 4df6: 4e0d ldr r6, [pc, #52] ; (4e2c ) - 4df8: 47b0 blx r6 + 4766: 4623 mov r3, r4 + 4768: 462a mov r2, r5 + 476a: 79a1 ldrb r1, [r4, #6] + 476c: 6820 ldr r0, [r4, #0] + 476e: 4e0d ldr r6, [pc, #52] ; (47a4 ) + 4770: 47b0 blx r6 tr->prop = prop_tmp; - 4dfa: 80a5 strh r5, [r4, #4] - 4dfc: bd70 pop {r4, r5, r6, pc} + 4772: 80a5 strh r5, [r4, #4] + 4774: bd70 pop {r4, r5, r6, pc} tr->start_value._int = _lv_obj_get_style_int(tr->obj, tr->part, prop_tmp); - 4dfe: 462a mov r2, r5 - 4e00: 79a1 ldrb r1, [r4, #6] - 4e02: 6820 ldr r0, [r4, #0] - 4e04: 4b0a ldr r3, [pc, #40] ; (4e30 ) - 4e06: 4798 blx r3 - 4e08: 8120 strh r0, [r4, #8] - 4e0a: e7ee b.n 4dea + 4776: 462a mov r2, r5 + 4778: 79a1 ldrb r1, [r4, #6] + 477a: 6820 ldr r0, [r4, #0] + 477c: 4b0a ldr r3, [pc, #40] ; (47a8 ) + 477e: 4798 blx r3 + 4780: 8120 strh r0, [r4, #8] + 4782: e7ee b.n 4762 tr->start_value._color = _lv_obj_get_style_color(tr->obj, tr->part, prop_tmp); - 4e0c: 462a mov r2, r5 - 4e0e: 79a1 ldrb r1, [r4, #6] - 4e10: 6820 ldr r0, [r4, #0] - 4e12: 4b08 ldr r3, [pc, #32] ; (4e34 ) - 4e14: 4798 blx r3 - 4e16: 8120 strh r0, [r4, #8] - 4e18: e7e7 b.n 4dea + 4784: 462a mov r2, r5 + 4786: 79a1 ldrb r1, [r4, #6] + 4788: 6820 ldr r0, [r4, #0] + 478a: 4b08 ldr r3, [pc, #32] ; (47ac ) + 478c: 4798 blx r3 + 478e: 8120 strh r0, [r4, #8] + 4790: e7e7 b.n 4762 tr->start_value._opa = _lv_obj_get_style_opa(tr->obj, tr->part, prop_tmp); - 4e1a: 462a mov r2, r5 - 4e1c: 79a1 ldrb r1, [r4, #6] - 4e1e: 6820 ldr r0, [r4, #0] - 4e20: 4b05 ldr r3, [pc, #20] ; (4e38 ) - 4e22: 4798 blx r3 - 4e24: 7220 strb r0, [r4, #8] - 4e26: e7e0 b.n 4dea - 4e28: 00004d29 .word 0x00004d29 - 4e2c: 000036b1 .word 0x000036b1 - 4e30: 00004b5d .word 0x00004b5d - 4e34: 00004c09 .word 0x00004c09 - 4e38: 00004c95 .word 0x00004c95 - -00004e3c : + 4792: 462a mov r2, r5 + 4794: 79a1 ldrb r1, [r4, #6] + 4796: 6820 ldr r0, [r4, #0] + 4798: 4b05 ldr r3, [pc, #20] ; (47b0 ) + 479a: 4798 blx r3 + 479c: 7220 strb r0, [r4, #8] + 479e: e7e0 b.n 4762 + 47a0: 000046a1 .word 0x000046a1 + 47a4: 00003029 .word 0x00003029 + 47a8: 000044d5 .word 0x000044d5 + 47ac: 00004581 .word 0x00004581 + 47b0: 0000460d .word 0x0000460d + +000047b4 : if(obj->state == new_state) return; - 4e3c: f890 303d ldrb.w r3, [r0, #61] ; 0x3d - 4e40: 428b cmp r3, r1 - 4e42: f000 8252 beq.w 52ea -{ - 4e46: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 4e4a: b0a1 sub sp, #132 ; 0x84 - 4e4c: 4689 mov r9, r1 - 4e4e: 4682 mov sl, r0 + 47b4: f890 303d ldrb.w r3, [r0, #61] ; 0x3d + 47b8: 428b cmp r3, r1 + 47ba: f000 8252 beq.w 4c62 +{ + 47be: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 47c2: b0a1 sub sp, #132 ; 0x84 + 47c4: 4689 mov r9, r1 + 47c6: 4682 mov sl, r0 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 4e50: 4bab ldr r3, [pc, #684] ; (5100 ) - 4e52: 4798 blx r3 - 4e54: b140 cbz r0, 4e68 + 47c8: 4bab ldr r3, [pc, #684] ; (4a78 ) + 47ca: 4798 blx r3 + 47cc: b140 cbz r0, 47e0 lv_state_t prev_state = obj->state; - 4e56: f89a b03d ldrb.w fp, [sl, #61] ; 0x3d + 47ce: f89a b03d ldrb.w fp, [sl, #61] ; 0x3d obj->state = new_state; - 4e5a: f88a 903d strb.w r9, [sl, #61] ; 0x3d - 4e5e: 2300 movs r3, #0 - 4e60: 9306 str r3, [sp, #24] + 47d2: f88a 903d strb.w r9, [sl, #61] ; 0x3d + 47d6: 2300 movs r3, #0 + 47d8: 9306 str r3, [sp, #24] _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_OPA, line_opa, lv_opa_t, _opa, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_BLEND_MODE, image_blend_mode, lv_blend_mode_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_RECOLOR, image_recolor, lv_color_t, _color, nonscalar) _LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_OPA, image_opa, lv_opa_t, _opa, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_RECOLOR_OPA, image_recolor_opa, lv_opa_t, _opa, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_TIME, transition_time, lv_style_int_t, _int, scalar) - 4e62: 4da8 ldr r5, [pc, #672] ; (5104 ) + 47da: 4da8 ldr r5, [pc, #672] ; (4a7c ) lv_style_t * style_trans = _lv_style_list_get_transition_style(style_list); - 4e64: 46d8 mov r8, fp - 4e66: e1d2 b.n 520e + 47dc: 46d8 mov r8, fp + 47de: e1d2 b.n 4b86 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 4e68: 4ba7 ldr r3, [pc, #668] ; (5108 ) - 4e6a: 9300 str r3, [sp, #0] - 4e6c: f240 6237 movw r2, #1591 ; 0x637 - 4e70: 49a6 ldr r1, [pc, #664] ; (510c ) - 4e72: 2003 movs r0, #3 - 4e74: 4ca6 ldr r4, [pc, #664] ; (5110 ) - 4e76: 47a0 blx r4 - 4e78: 4652 mov r2, sl - 4e7a: 2300 movs r3, #0 - 4e7c: 48a5 ldr r0, [pc, #660] ; (5114 ) - 4e7e: 49a6 ldr r1, [pc, #664] ; (5118 ) - 4e80: 4788 blx r1 - 4e82: e7fe b.n 4e82 + 47e0: 4ba7 ldr r3, [pc, #668] ; (4a80 ) + 47e2: 9300 str r3, [sp, #0] + 47e4: f240 6237 movw r2, #1591 ; 0x637 + 47e8: 49a6 ldr r1, [pc, #664] ; (4a84 ) + 47ea: 2003 movs r0, #3 + 47ec: 4ca6 ldr r4, [pc, #664] ; (4a88 ) + 47ee: 47a0 blx r4 + 47f0: 4652 mov r2, sl + 47f2: 2300 movs r3, #0 + 47f4: 48a5 ldr r0, [pc, #660] ; (4a8c ) + 47f6: 49a6 ldr r1, [pc, #664] ; (4a90 ) + 47f8: 4788 blx r1 + 47fa: e7fe b.n 47fa style_list->skip_trans = 1; - 4e84: 7973 ldrb r3, [r6, #5] - 4e86: f043 0304 orr.w r3, r3, #4 - 4e8a: 7173 strb r3, [r6, #5] + 47fc: 7973 ldrb r3, [r6, #5] + 47fe: f043 0304 orr.w r3, r3, #4 + 4802: 7173 strb r3, [r6, #5] obj->state = prev_state; - 4e8c: f88a 803d strb.w r8, [sl, #61] ; 0x3d + 4804: f88a 803d strb.w r8, [sl, #61] ; 0x3d lv_style_int_t int1 = _lv_obj_get_style_int(obj, part, prop); - 4e90: 4622 mov r2, r4 - 4e92: f8dd b00c ldr.w fp, [sp, #12] - 4e96: 4659 mov r1, fp - 4e98: 4650 mov r0, sl - 4e9a: 47a8 blx r5 - 4e9c: 4607 mov r7, r0 + 4808: 4622 mov r2, r4 + 480a: f8dd b00c ldr.w fp, [sp, #12] + 480e: 4659 mov r1, fp + 4810: 4650 mov r0, sl + 4812: 47a8 blx r5 + 4814: 4607 mov r7, r0 obj->state = new_state; - 4e9e: f88a 903d strb.w r9, [sl, #61] ; 0x3d + 4816: f88a 903d strb.w r9, [sl, #61] ; 0x3d lv_style_int_t int2 = _lv_obj_get_style_int(obj, part, prop); - 4ea2: 4622 mov r2, r4 - 4ea4: f8cd b00c str.w fp, [sp, #12] - 4ea8: 4659 mov r1, fp - 4eaa: 4650 mov r0, sl - 4eac: 47a8 blx r5 - 4eae: 4683 mov fp, r0 + 481a: 4622 mov r2, r4 + 481c: f8cd b00c str.w fp, [sp, #12] + 4820: 4659 mov r1, fp + 4822: 4650 mov r0, sl + 4824: 47a8 blx r5 + 4826: 4683 mov fp, r0 style_list->skip_trans = 0; - 4eb0: 7973 ldrb r3, [r6, #5] - 4eb2: f36f 0382 bfc r3, #2, #1 - 4eb6: 7173 strb r3, [r6, #5] + 4828: 7973 ldrb r3, [r6, #5] + 482a: f36f 0382 bfc r3, #2, #1 + 482e: 7173 strb r3, [r6, #5] if(int1 == int2) return NULL; - 4eb8: 4287 cmp r7, r0 - 4eba: d04a beq.n 4f52 + 4830: 4287 cmp r7, r0 + 4832: d04a beq.n 48ca obj->state = prev_state; - 4ebc: f88a 803d strb.w r8, [sl, #61] ; 0x3d + 4834: f88a 803d strb.w r8, [sl, #61] ; 0x3d int1 = _lv_obj_get_style_int(obj, part, prop); - 4ec0: 4622 mov r2, r4 - 4ec2: 9903 ldr r1, [sp, #12] - 4ec4: 4650 mov r0, sl - 4ec6: 47a8 blx r5 - 4ec8: 4606 mov r6, r0 + 4838: 4622 mov r2, r4 + 483a: 9903 ldr r1, [sp, #12] + 483c: 4650 mov r0, sl + 483e: 47a8 blx r5 + 4840: 4606 mov r6, r0 obj->state = new_state; - 4eca: f88a 903d strb.w r9, [sl, #61] ; 0x3d + 4842: f88a 903d strb.w r9, [sl, #61] ; 0x3d _lv_style_set_int(style_trans, prop, int1); /*Be sure `trans_style` has a valid value */ - 4ece: 4602 mov r2, r0 - 4ed0: 4621 mov r1, r4 - 4ed2: 9804 ldr r0, [sp, #16] - 4ed4: 4b91 ldr r3, [pc, #580] ; (511c ) - 4ed6: 4798 blx r3 + 4846: 4602 mov r2, r0 + 4848: 4621 mov r1, r4 + 484a: 9804 ldr r0, [sp, #16] + 484c: 4b91 ldr r3, [pc, #580] ; (4a94 ) + 484e: 4798 blx r3 if(prop == LV_STYLE_RADIUS) { - 4ed8: 2c01 cmp r4, #1 - 4eda: f000 8094 beq.w 5006 + 4850: 2c01 cmp r4, #1 + 4852: f000 8094 beq.w 497e tr = _lv_ll_ins_head(&LV_GC_ROOT(_lv_obj_style_trans_ll)); - 4ede: 4890 ldr r0, [pc, #576] ; (5120 ) - 4ee0: 4b90 ldr r3, [pc, #576] ; (5124 ) - 4ee2: 4798 blx r3 - 4ee4: 4607 mov r7, r0 + 4856: 4890 ldr r0, [pc, #576] ; (4a98 ) + 4858: 4b90 ldr r3, [pc, #576] ; (4a9c ) + 485a: 4798 blx r3 + 485c: 4607 mov r7, r0 LV_ASSERT_MEM(tr); - 4ee6: 4b86 ldr r3, [pc, #536] ; (5100 ) - 4ee8: 4798 blx r3 - 4eea: 2800 cmp r0, #0 - 4eec: f000 80a2 beq.w 5034 + 485e: 4b86 ldr r3, [pc, #536] ; (4a78 ) + 4860: 4798 blx r3 + 4862: 2800 cmp r0, #0 + 4864: f000 80a2 beq.w 49ac if(tr == NULL) return NULL; - 4ef0: 2f00 cmp r7, #0 - 4ef2: d02e beq.n 4f52 + 4868: 2f00 cmp r7, #0 + 486a: d02e beq.n 48ca tr->start_value._int = int1; - 4ef4: 813e strh r6, [r7, #8] + 486c: 813e strh r6, [r7, #8] tr->end_value._int = int2; - 4ef6: f8a7 b00c strh.w fp, [r7, #12] + 486e: f8a7 b00c strh.w fp, [r7, #12] tr->obj = obj; - 4efa: f8c7 a000 str.w sl, [r7] + 4872: f8c7 a000 str.w sl, [r7] tr->prop = props[i]; - 4efe: 80bc strh r4, [r7, #4] + 4876: 80bc strh r4, [r7, #4] tr->part = part; - 4f00: f89d 300c ldrb.w r3, [sp, #12] - 4f04: 71bb strb r3, [r7, #6] + 4878: f89d 300c ldrb.w r3, [sp, #12] + 487c: 71bb strb r3, [r7, #6] lv_anim_init(&a); - 4f06: a810 add r0, sp, #64 ; 0x40 - 4f08: 4b87 ldr r3, [pc, #540] ; (5128 ) - 4f0a: 4798 blx r3 + 487e: a810 add r0, sp, #64 ; 0x40 + 4880: 4b87 ldr r3, [pc, #540] ; (4aa0 ) + 4882: 4798 blx r3 * @param a pointer to an initialized `lv_anim_t` variable * @param var pointer to a variable to animate */ static inline void lv_anim_set_var(lv_anim_t * a, void * var) { a->var = var; - 4f0c: 9710 str r7, [sp, #64] ; 0x40 + 4884: 9710 str r7, [sp, #64] ; 0x40 * LittelvGL's built-in functions can be used. * E.g. lv_obj_set_x */ static inline void lv_anim_set_exec_cb(lv_anim_t * a, lv_anim_exec_xcb_t exec_cb) { a->exec_cb = exec_cb; - 4f0e: 4b87 ldr r3, [pc, #540] ; (512c ) - 4f10: 9311 str r3, [sp, #68] ; 0x44 + 4886: 4b87 ldr r3, [pc, #540] ; (4aa4 ) + 4888: 9311 str r3, [sp, #68] ; 0x44 * @param a pointer to an initialized `lv_anim_t` variable * @param start_cb a function call when the animation starts */ static inline void lv_anim_set_start_cb(lv_anim_t * a, lv_anim_ready_cb_t start_cb) { a->start_cb = start_cb; - 4f12: 4b87 ldr r3, [pc, #540] ; (5130 ) - 4f14: 9312 str r3, [sp, #72] ; 0x48 + 488a: 4b87 ldr r3, [pc, #540] ; (4aa8 ) + 488c: 9312 str r3, [sp, #72] ; 0x48 * @param a pointer to an initialized `lv_anim_t` variable * @param ready_cb a function call when the animation is ready */ static inline void lv_anim_set_ready_cb(lv_anim_t * a, lv_anim_ready_cb_t ready_cb) { a->ready_cb = ready_cb; - 4f16: 4b87 ldr r3, [pc, #540] ; (5134 ) - 4f18: 9313 str r3, [sp, #76] ; 0x4c + 488e: 4b87 ldr r3, [pc, #540] ; (4aac ) + 4890: 9313 str r3, [sp, #76] ; 0x4c a->start = start; - 4f1a: 2300 movs r3, #0 - 4f1c: 9316 str r3, [sp, #88] ; 0x58 + 4892: 2300 movs r3, #0 + 4894: 9316 str r3, [sp, #88] ; 0x58 a->end = end; - 4f1e: 23ff movs r3, #255 ; 0xff - 4f20: 9317 str r3, [sp, #92] ; 0x5c + 4896: 23ff movs r3, #255 ; 0xff + 4898: 9317 str r3, [sp, #92] ; 0x5c a->time = duration; - 4f22: 9b0a ldr r3, [sp, #40] ; 0x28 - 4f24: 9318 str r3, [sp, #96] ; 0x60 + 489a: 9b0a ldr r3, [sp, #40] ; 0x28 + 489c: 9318 str r3, [sp, #96] ; 0x60 a->act_time = (int32_t)(-delay); - 4f26: 9b09 ldr r3, [sp, #36] ; 0x24 - 4f28: 425b negs r3, r3 - 4f2a: 9319 str r3, [sp, #100] ; 0x64 - 4f2c: 9a08 ldr r2, [sp, #32] - 4f2e: 1e53 subs r3, r2, #1 - 4f30: 1dd0 adds r0, r2, #7 + 489e: 9b09 ldr r3, [sp, #36] ; 0x24 + 48a0: 425b negs r3, r3 + 48a2: 9319 str r3, [sp, #100] ; 0x64 + 48a4: 9a08 ldr r2, [sp, #32] + 48a6: 1e53 subs r3, r2, #1 + 48a8: 1dd0 adds r0, r2, #7 uint8_t * d8 = (uint8_t *)dst; - 4f32: aa14 add r2, sp, #80 ; 0x50 + 48aa: aa14 add r2, sp, #80 ; 0x50 *d8 = *s8; - 4f34: f813 1f01 ldrb.w r1, [r3, #1]! - 4f38: f802 1b01 strb.w r1, [r2], #1 + 48ac: f813 1f01 ldrb.w r1, [r3, #1]! + 48b0: f802 1b01 strb.w r1, [r2], #1 while(len) { - 4f3c: 4283 cmp r3, r0 - 4f3e: d1f9 bne.n 4f34 + 48b4: 4283 cmp r3, r0 + 48b6: d1f9 bne.n 48ac a.early_apply = 0; - 4f40: f89d 3076 ldrb.w r3, [sp, #118] ; 0x76 - 4f44: f36f 0300 bfc r3, #0, #1 - 4f48: f88d 3076 strb.w r3, [sp, #118] ; 0x76 + 48b8: f89d 3076 ldrb.w r3, [sp, #118] ; 0x76 + 48bc: f36f 0300 bfc r3, #0, #1 + 48c0: f88d 3076 strb.w r3, [sp, #118] ; 0x76 lv_anim_start(&a); - 4f4c: a810 add r0, sp, #64 ; 0x40 - 4f4e: 4b7a ldr r3, [pc, #488] ; (5138 ) - 4f50: 4798 blx r3 + 48c4: a810 add r0, sp, #64 ; 0x40 + 48c6: 4b7a ldr r3, [pc, #488] ; (4ab0 ) + 48c8: 4798 blx r3 for(i = 0; i < LV_STYLE_TRANS_NUM_MAX; i++) { - 4f52: 9b05 ldr r3, [sp, #20] - 4f54: aa10 add r2, sp, #64 ; 0x40 - 4f56: 4293 cmp r3, r2 - 4f58: f000 8154 beq.w 5204 + 48ca: 9b05 ldr r3, [sp, #20] + 48cc: aa10 add r2, sp, #64 ; 0x40 + 48ce: 4293 cmp r3, r2 + 48d0: f000 8154 beq.w 4b7c if(props[i] != 0) { - 4f5c: 9b05 ldr r3, [sp, #20] - 4f5e: f833 4b02 ldrh.w r4, [r3], #2 - 4f62: 9305 str r3, [sp, #20] - 4f64: 2c00 cmp r4, #0 - 4f66: d0f4 beq.n 4f52 + 48d4: 9b05 ldr r3, [sp, #20] + 48d6: f833 4b02 ldrh.w r4, [r3], #2 + 48da: 9305 str r3, [sp, #20] + 48dc: 2c00 cmp r4, #0 + 48de: d0f4 beq.n 48ca _lv_style_list_add_trans_style(style_list); - 4f68: 9807 ldr r0, [sp, #28] - 4f6a: 4b74 ldr r3, [pc, #464] ; (513c ) - 4f6c: 4798 blx r3 + 48e0: 9807 ldr r0, [sp, #28] + 48e2: 4b74 ldr r3, [pc, #464] ; (4ab4 ) + 48e4: 4798 blx r3 lv_style_list_t * style_list = lv_obj_get_style_list(obj, part); - 4f6e: 9903 ldr r1, [sp, #12] - 4f70: 4650 mov r0, sl - 4f72: 4b73 ldr r3, [pc, #460] ; (5140 ) - 4f74: 4798 blx r3 - 4f76: 4606 mov r6, r0 + 48e6: 9903 ldr r1, [sp, #12] + 48e8: 4650 mov r0, sl + 48ea: 4b73 ldr r3, [pc, #460] ; (4ab8 ) + 48ec: 4798 blx r3 + 48ee: 4606 mov r6, r0 lv_style_t * style_trans = _lv_style_list_get_transition_style(style_list); - 4f78: 4b72 ldr r3, [pc, #456] ; (5144 ) - 4f7a: 4798 blx r3 - 4f7c: 9004 str r0, [sp, #16] + 48f0: 4b72 ldr r3, [pc, #456] ; (4abc ) + 48f2: 4798 blx r3 + 48f4: 9004 str r0, [sp, #16] if((prop & 0xF) < LV_STYLE_ID_COLOR) { /*Int*/ - 4f7e: f004 030f and.w r3, r4, #15 - 4f82: 2b08 cmp r3, #8 - 4f84: f77f af7e ble.w 4e84 + 48f6: f004 030f and.w r3, r4, #15 + 48fa: 2b08 cmp r3, #8 + 48fc: f77f af7e ble.w 47fc else if((prop & 0xF) < LV_STYLE_ID_OPA) { /*Color*/ - 4f88: 2b0b cmp r3, #11 - 4f8a: dd61 ble.n 5050 + 4900: 2b0b cmp r3, #11 + 4902: dd61 ble.n 49c8 else if((prop & 0xF) < LV_STYLE_ID_PTR) { /*Opa*/ - 4f8c: 2b0d cmp r3, #13 - 4f8e: f300 80e9 bgt.w 5164 + 4904: 2b0d cmp r3, #13 + 4906: f300 80e9 bgt.w 4adc style_list->skip_trans = 1; - 4f92: 7973 ldrb r3, [r6, #5] - 4f94: f043 0304 orr.w r3, r3, #4 - 4f98: 7173 strb r3, [r6, #5] + 490a: 7973 ldrb r3, [r6, #5] + 490c: f043 0304 orr.w r3, r3, #4 + 4910: 7173 strb r3, [r6, #5] obj->state = prev_state; - 4f9a: f88a 803d strb.w r8, [sl, #61] ; 0x3d + 4912: f88a 803d strb.w r8, [sl, #61] ; 0x3d lv_opa_t o1 = _lv_obj_get_style_opa(obj, part, prop); - 4f9e: 4622 mov r2, r4 - 4fa0: f8dd b00c ldr.w fp, [sp, #12] - 4fa4: 4659 mov r1, fp - 4fa6: 4650 mov r0, sl - 4fa8: 4f67 ldr r7, [pc, #412] ; (5148 ) - 4faa: 47b8 blx r7 - 4fac: 900b str r0, [sp, #44] ; 0x2c + 4916: 4622 mov r2, r4 + 4918: f8dd b00c ldr.w fp, [sp, #12] + 491c: 4659 mov r1, fp + 491e: 4650 mov r0, sl + 4920: 4f67 ldr r7, [pc, #412] ; (4ac0 ) + 4922: 47b8 blx r7 + 4924: 900b str r0, [sp, #44] ; 0x2c obj->state = new_state; - 4fae: f88a 903d strb.w r9, [sl, #61] ; 0x3d + 4926: f88a 903d strb.w r9, [sl, #61] ; 0x3d lv_opa_t o2 = _lv_obj_get_style_opa(obj, part, prop); - 4fb2: 4622 mov r2, r4 - 4fb4: f8cd b00c str.w fp, [sp, #12] - 4fb8: 4659 mov r1, fp - 4fba: 4650 mov r0, sl - 4fbc: 47b8 blx r7 - 4fbe: 4683 mov fp, r0 + 492a: 4622 mov r2, r4 + 492c: f8cd b00c str.w fp, [sp, #12] + 4930: 4659 mov r1, fp + 4932: 4650 mov r0, sl + 4934: 47b8 blx r7 + 4936: 4683 mov fp, r0 style_list->skip_trans = 0; - 4fc0: 7973 ldrb r3, [r6, #5] - 4fc2: f36f 0382 bfc r3, #2, #1 - 4fc6: 7173 strb r3, [r6, #5] + 4938: 7973 ldrb r3, [r6, #5] + 493a: f36f 0382 bfc r3, #2, #1 + 493e: 7173 strb r3, [r6, #5] if(o1 == o2) return NULL; - 4fc8: 9b0b ldr r3, [sp, #44] ; 0x2c - 4fca: 4283 cmp r3, r0 - 4fcc: d0c1 beq.n 4f52 + 4940: 9b0b ldr r3, [sp, #44] ; 0x2c + 4942: 4283 cmp r3, r0 + 4944: d0c1 beq.n 48ca obj->state = prev_state; - 4fce: f88a 803d strb.w r8, [sl, #61] ; 0x3d + 4946: f88a 803d strb.w r8, [sl, #61] ; 0x3d o1 = _lv_obj_get_style_opa(obj, part, prop); - 4fd2: 4622 mov r2, r4 - 4fd4: 9903 ldr r1, [sp, #12] - 4fd6: 4650 mov r0, sl - 4fd8: 47b8 blx r7 - 4fda: 4606 mov r6, r0 + 494a: 4622 mov r2, r4 + 494c: 9903 ldr r1, [sp, #12] + 494e: 4650 mov r0, sl + 4950: 47b8 blx r7 + 4952: 4606 mov r6, r0 obj->state = new_state; - 4fdc: f88a 903d strb.w r9, [sl, #61] ; 0x3d + 4954: f88a 903d strb.w r9, [sl, #61] ; 0x3d _lv_style_set_opa(style_trans, prop, o1); /*Be sure `trans_style` has a valid value */ - 4fe0: 4602 mov r2, r0 - 4fe2: 4621 mov r1, r4 - 4fe4: 9804 ldr r0, [sp, #16] - 4fe6: 4b59 ldr r3, [pc, #356] ; (514c ) - 4fe8: 4798 blx r3 + 4958: 4602 mov r2, r0 + 495a: 4621 mov r1, r4 + 495c: 9804 ldr r0, [sp, #16] + 495e: 4b59 ldr r3, [pc, #356] ; (4ac4 ) + 4960: 4798 blx r3 tr = _lv_ll_ins_head(&LV_GC_ROOT(_lv_obj_style_trans_ll)); - 4fea: 484d ldr r0, [pc, #308] ; (5120 ) - 4fec: 4b4d ldr r3, [pc, #308] ; (5124 ) - 4fee: 4798 blx r3 - 4ff0: 4607 mov r7, r0 + 4962: 484d ldr r0, [pc, #308] ; (4a98 ) + 4964: 4b4d ldr r3, [pc, #308] ; (4a9c ) + 4966: 4798 blx r3 + 4968: 4607 mov r7, r0 LV_ASSERT_MEM(tr); - 4ff2: 4b43 ldr r3, [pc, #268] ; (5100 ) - 4ff4: 4798 blx r3 - 4ff6: 2800 cmp r0, #0 - 4ff8: d074 beq.n 50e4 + 496a: 4b43 ldr r3, [pc, #268] ; (4a78 ) + 496c: 4798 blx r3 + 496e: 2800 cmp r0, #0 + 4970: d074 beq.n 4a5c if(tr == NULL) return NULL; - 4ffa: 2f00 cmp r7, #0 - 4ffc: d0a9 beq.n 4f52 + 4972: 2f00 cmp r7, #0 + 4974: d0a9 beq.n 48ca tr->start_value._opa = o1; - 4ffe: 723e strb r6, [r7, #8] + 4976: 723e strb r6, [r7, #8] tr->end_value._opa = o2; - 5000: f887 b00c strb.w fp, [r7, #12] - 5004: e779 b.n 4efa + 4978: f887 b00c strb.w fp, [r7, #12] + 497c: e779 b.n 4872 if(int1 == LV_RADIUS_CIRCLE || int2 == LV_RADIUS_CIRCLE) { - 5006: f647 73ff movw r3, #32767 ; 0x7fff - 500a: 429e cmp r6, r3 - 500c: f000 814c beq.w 52a8 - 5010: 459b cmp fp, r3 - 5012: f47f af64 bne.w 4ede + 497e: f647 73ff movw r3, #32767 ; 0x7fff + 4982: 429e cmp r6, r3 + 4984: f000 814c beq.w 4c20 + 4988: 459b cmp fp, r3 + 498a: f47f af64 bne.w 4856 lv_coord_t whalf = lv_obj_get_width(obj) / 2; - 5016: 4650 mov r0, sl - 5018: f8df b144 ldr.w fp, [pc, #324] ; 5160 - 501c: 47d8 blx fp - 501e: eb00 70d0 add.w r0, r0, r0, lsr #31 - 5022: f340 074f sbfx r7, r0, #1, #16 + 498e: 4650 mov r0, sl + 4990: f8df b144 ldr.w fp, [pc, #324] ; 4ad8 + 4994: 47d8 blx fp + 4996: eb00 70d0 add.w r0, r0, r0, lsr #31 + 499a: f340 074f sbfx r7, r0, #1, #16 lv_coord_t hhalf = lv_obj_get_width(obj) / 2; - 5026: 4650 mov r0, sl - 5028: 47d8 blx fp - 502a: eb00 70d0 add.w r0, r0, r0, lsr #31 - 502e: f340 034f sbfx r3, r0, #1, #16 - 5032: e151 b.n 52d8 + 499e: 4650 mov r0, sl + 49a0: 47d8 blx fp + 49a2: eb00 70d0 add.w r0, r0, r0, lsr #31 + 49a6: f340 034f sbfx r3, r0, #1, #16 + 49aa: e151 b.n 4c50 LV_ASSERT_MEM(tr); - 5034: 4b46 ldr r3, [pc, #280] ; (5150 ) - 5036: 9300 str r3, [sp, #0] - 5038: f640 62b2 movw r2, #3762 ; 0xeb2 - 503c: 4933 ldr r1, [pc, #204] ; (510c ) - 503e: 2003 movs r0, #3 - 5040: 4c33 ldr r4, [pc, #204] ; (5110 ) - 5042: 47a0 blx r4 - 5044: 463a mov r2, r7 - 5046: 2300 movs r3, #0 - 5048: 4842 ldr r0, [pc, #264] ; (5154 ) - 504a: 4933 ldr r1, [pc, #204] ; (5118 ) - 504c: 4788 blx r1 - 504e: e7fe b.n 504e + 49ac: 4b46 ldr r3, [pc, #280] ; (4ac8 ) + 49ae: 9300 str r3, [sp, #0] + 49b0: f640 62b2 movw r2, #3762 ; 0xeb2 + 49b4: 4933 ldr r1, [pc, #204] ; (4a84 ) + 49b6: 2003 movs r0, #3 + 49b8: 4c33 ldr r4, [pc, #204] ; (4a88 ) + 49ba: 47a0 blx r4 + 49bc: 463a mov r2, r7 + 49be: 2300 movs r3, #0 + 49c0: 4842 ldr r0, [pc, #264] ; (4acc ) + 49c2: 4933 ldr r1, [pc, #204] ; (4a90 ) + 49c4: 4788 blx r1 + 49c6: e7fe b.n 49c6 style_list->skip_trans = 1; - 5050: 7973 ldrb r3, [r6, #5] - 5052: f043 0304 orr.w r3, r3, #4 - 5056: 7173 strb r3, [r6, #5] + 49c8: 7973 ldrb r3, [r6, #5] + 49ca: f043 0304 orr.w r3, r3, #4 + 49ce: 7173 strb r3, [r6, #5] obj->state = prev_state; - 5058: f88a 803d strb.w r8, [sl, #61] ; 0x3d + 49d0: f88a 803d strb.w r8, [sl, #61] ; 0x3d lv_color_t c1 = _lv_obj_get_style_color(obj, part, prop); - 505c: 4622 mov r2, r4 - 505e: 9903 ldr r1, [sp, #12] - 5060: 4650 mov r0, sl - 5062: 4f3d ldr r7, [pc, #244] ; (5158 ) - 5064: 47b8 blx r7 - 5066: 4683 mov fp, r0 + 49d4: 4622 mov r2, r4 + 49d6: 9903 ldr r1, [sp, #12] + 49d8: 4650 mov r0, sl + 49da: 4f3d ldr r7, [pc, #244] ; (4ad0 ) + 49dc: 47b8 blx r7 + 49de: 4683 mov fp, r0 obj->state = new_state; - 5068: f88a 903d strb.w r9, [sl, #61] ; 0x3d + 49e0: f88a 903d strb.w r9, [sl, #61] ; 0x3d lv_color_t c2 = _lv_obj_get_style_color(obj, part, prop); - 506c: 4622 mov r2, r4 - 506e: 9903 ldr r1, [sp, #12] - 5070: 4650 mov r0, sl - 5072: 47b8 blx r7 - 5074: f8ad 002c strh.w r0, [sp, #44] ; 0x2c + 49e4: 4622 mov r2, r4 + 49e6: 9903 ldr r1, [sp, #12] + 49e8: 4650 mov r0, sl + 49ea: 47b8 blx r7 + 49ec: f8ad 002c strh.w r0, [sp, #44] ; 0x2c style_list->skip_trans = 0; - 5078: 7973 ldrb r3, [r6, #5] - 507a: f36f 0382 bfc r3, #2, #1 - 507e: 7173 strb r3, [r6, #5] + 49f0: 7973 ldrb r3, [r6, #5] + 49f2: f36f 0382 bfc r3, #2, #1 + 49f6: 7173 strb r3, [r6, #5] if(c1.full == c2.full) return NULL; - 5080: fa1f fb8b uxth.w fp, fp - 5084: b283 uxth r3, r0 - 5086: 459b cmp fp, r3 - 5088: f43f af63 beq.w 4f52 + 49f8: fa1f fb8b uxth.w fp, fp + 49fc: b283 uxth r3, r0 + 49fe: 459b cmp fp, r3 + 4a00: f43f af63 beq.w 48ca obj->state = prev_state; - 508c: f88a 803d strb.w r8, [sl, #61] ; 0x3d + 4a04: f88a 803d strb.w r8, [sl, #61] ; 0x3d c1 = _lv_obj_get_style_color(obj, part, prop); - 5090: 4622 mov r2, r4 - 5092: 9903 ldr r1, [sp, #12] - 5094: 4650 mov r0, sl - 5096: 47b8 blx r7 - 5098: 4683 mov fp, r0 + 4a08: 4622 mov r2, r4 + 4a0a: 9903 ldr r1, [sp, #12] + 4a0c: 4650 mov r0, sl + 4a0e: 47b8 blx r7 + 4a10: 4683 mov fp, r0 obj->state = new_state; - 509a: f88a 903d strb.w r9, [sl, #61] ; 0x3d + 4a12: f88a 903d strb.w r9, [sl, #61] ; 0x3d _lv_style_set_color(style_trans, prop, c1); /*Be sure `trans_style` has a valid value */ - 509e: 4602 mov r2, r0 - 50a0: 4621 mov r1, r4 - 50a2: 9804 ldr r0, [sp, #16] - 50a4: 4b2d ldr r3, [pc, #180] ; (515c ) - 50a6: 4798 blx r3 + 4a16: 4602 mov r2, r0 + 4a18: 4621 mov r1, r4 + 4a1a: 9804 ldr r0, [sp, #16] + 4a1c: 4b2d ldr r3, [pc, #180] ; (4ad4 ) + 4a1e: 4798 blx r3 tr = _lv_ll_ins_head(&LV_GC_ROOT(_lv_obj_style_trans_ll)); - 50a8: 481d ldr r0, [pc, #116] ; (5120 ) - 50aa: 4b1e ldr r3, [pc, #120] ; (5124 ) - 50ac: 4798 blx r3 - 50ae: 4607 mov r7, r0 + 4a20: 481d ldr r0, [pc, #116] ; (4a98 ) + 4a22: 4b1e ldr r3, [pc, #120] ; (4a9c ) + 4a24: 4798 blx r3 + 4a26: 4607 mov r7, r0 LV_ASSERT_MEM(tr); - 50b0: 4b13 ldr r3, [pc, #76] ; (5100 ) - 50b2: 4798 blx r3 - 50b4: b140 cbz r0, 50c8 + 4a28: 4b13 ldr r3, [pc, #76] ; (4a78 ) + 4a2a: 4798 blx r3 + 4a2c: b140 cbz r0, 4a40 if(tr == NULL) return NULL; - 50b6: 2f00 cmp r7, #0 - 50b8: f43f af4b beq.w 4f52 + 4a2e: 2f00 cmp r7, #0 + 4a30: f43f af4b beq.w 48ca tr->start_value._color = c1; - 50bc: f8a7 b008 strh.w fp, [r7, #8] + 4a34: f8a7 b008 strh.w fp, [r7, #8] tr->end_value._color = c2; - 50c0: f8bd 302c ldrh.w r3, [sp, #44] ; 0x2c - 50c4: 81bb strh r3, [r7, #12] - 50c6: e718 b.n 4efa + 4a38: f8bd 302c ldrh.w r3, [sp, #44] ; 0x2c + 4a3c: 81bb strh r3, [r7, #12] + 4a3e: e718 b.n 4872 LV_ASSERT_MEM(tr); - 50c8: 4b21 ldr r3, [pc, #132] ; (5150 ) - 50ca: 9300 str r3, [sp, #0] - 50cc: f640 62c6 movw r2, #3782 ; 0xec6 - 50d0: 490e ldr r1, [pc, #56] ; (510c ) - 50d2: 2003 movs r0, #3 - 50d4: 4c0e ldr r4, [pc, #56] ; (5110 ) - 50d6: 47a0 blx r4 - 50d8: 463a mov r2, r7 - 50da: 2300 movs r3, #0 - 50dc: 481d ldr r0, [pc, #116] ; (5154 ) - 50de: 490e ldr r1, [pc, #56] ; (5118 ) - 50e0: 4788 blx r1 - 50e2: e7fe b.n 50e2 + 4a40: 4b21 ldr r3, [pc, #132] ; (4ac8 ) + 4a42: 9300 str r3, [sp, #0] + 4a44: f640 62c6 movw r2, #3782 ; 0xec6 + 4a48: 490e ldr r1, [pc, #56] ; (4a84 ) + 4a4a: 2003 movs r0, #3 + 4a4c: 4c0e ldr r4, [pc, #56] ; (4a88 ) + 4a4e: 47a0 blx r4 + 4a50: 463a mov r2, r7 + 4a52: 2300 movs r3, #0 + 4a54: 481d ldr r0, [pc, #116] ; (4acc ) + 4a56: 490e ldr r1, [pc, #56] ; (4a90 ) + 4a58: 4788 blx r1 + 4a5a: e7fe b.n 4a5a LV_ASSERT_MEM(tr); - 50e4: 4b1a ldr r3, [pc, #104] ; (5150 ) - 50e6: 9300 str r3, [sp, #0] - 50e8: f640 62db movw r2, #3803 ; 0xedb - 50ec: 4907 ldr r1, [pc, #28] ; (510c ) - 50ee: 2003 movs r0, #3 - 50f0: 4c07 ldr r4, [pc, #28] ; (5110 ) - 50f2: 47a0 blx r4 - 50f4: 463a mov r2, r7 - 50f6: 2300 movs r3, #0 - 50f8: 4816 ldr r0, [pc, #88] ; (5154 ) - 50fa: 4907 ldr r1, [pc, #28] ; (5118 ) - 50fc: 4788 blx r1 - 50fe: e7fe b.n 50fe - 5100: 0000298d .word 0x0000298d - 5104: 00004b5d .word 0x00004b5d - 5108: 0001bbb4 .word 0x0001bbb4 - 510c: 0001bcc0 .word 0x0001bcc0 - 5110: 00012805 .word 0x00012805 - 5114: 0001bd20 .word 0x0001bd20 - 5118: 00002995 .word 0x00002995 - 511c: 00006e89 .word 0x00006e89 - 5120: 20006d58 .word 0x20006d58 - 5124: 000124b9 .word 0x000124b9 - 5128: 0001188d .word 0x0001188d - 512c: 00004335 .word 0x00004335 - 5130: 00004dc9 .word 0x00004dc9 - 5134: 000037a9 .word 0x000037a9 - 5138: 00011949 .word 0x00011949 - 513c: 000077dd .word 0x000077dd - 5140: 00003685 .word 0x00003685 - 5144: 0000768f .word 0x0000768f - 5148: 00004c95 .word 0x00004c95 - 514c: 00007111 .word 0x00007111 - 5150: 0001bbc8 .word 0x0001bbc8 - 5154: 0001b4bc .word 0x0001b4bc - 5158: 00004c09 .word 0x00004c09 - 515c: 00006fcd .word 0x00006fcd - 5160: 000035e5 .word 0x000035e5 + 4a5c: 4b1a ldr r3, [pc, #104] ; (4ac8 ) + 4a5e: 9300 str r3, [sp, #0] + 4a60: f640 62db movw r2, #3803 ; 0xedb + 4a64: 4907 ldr r1, [pc, #28] ; (4a84 ) + 4a66: 2003 movs r0, #3 + 4a68: 4c07 ldr r4, [pc, #28] ; (4a88 ) + 4a6a: 47a0 blx r4 + 4a6c: 463a mov r2, r7 + 4a6e: 2300 movs r3, #0 + 4a70: 4816 ldr r0, [pc, #88] ; (4acc ) + 4a72: 4907 ldr r1, [pc, #28] ; (4a90 ) + 4a74: 4788 blx r1 + 4a76: e7fe b.n 4a76 + 4a78: 000022b1 .word 0x000022b1 + 4a7c: 000044d5 .word 0x000044d5 + 4a80: 000246d0 .word 0x000246d0 + 4a84: 000247dc .word 0x000247dc + 4a88: 0001225d .word 0x0001225d + 4a8c: 0002483c .word 0x0002483c + 4a90: 000022b9 .word 0x000022b9 + 4a94: 000068e1 .word 0x000068e1 + 4a98: 20006d3c .word 0x20006d3c + 4a9c: 00011f11 .word 0x00011f11 + 4aa0: 000112e5 .word 0x000112e5 + 4aa4: 00003cad .word 0x00003cad + 4aa8: 00004741 .word 0x00004741 + 4aac: 00003121 .word 0x00003121 + 4ab0: 000113a1 .word 0x000113a1 + 4ab4: 00007235 .word 0x00007235 + 4ab8: 00002ffd .word 0x00002ffd + 4abc: 000070e7 .word 0x000070e7 + 4ac0: 0000460d .word 0x0000460d + 4ac4: 00006b69 .word 0x00006b69 + 4ac8: 000246e4 .word 0x000246e4 + 4acc: 00023fd8 .word 0x00023fd8 + 4ad0: 00004581 .word 0x00004581 + 4ad4: 00006a25 .word 0x00006a25 + 4ad8: 00002f5d .word 0x00002f5d obj->state = prev_state; - 5164: f88a 803d strb.w r8, [sl, #61] ; 0x3d + 4adc: f88a 803d strb.w r8, [sl, #61] ; 0x3d style_list->skip_trans = 1; - 5168: 7973 ldrb r3, [r6, #5] - 516a: f043 0304 orr.w r3, r3, #4 - 516e: 7173 strb r3, [r6, #5] + 4ae0: 7973 ldrb r3, [r6, #5] + 4ae2: f043 0304 orr.w r3, r3, #4 + 4ae6: 7173 strb r3, [r6, #5] const void * p1 = _lv_obj_get_style_ptr(obj, part, prop); - 5170: 4622 mov r2, r4 - 5172: f8dd b00c ldr.w fp, [sp, #12] - 5176: 4659 mov r1, fp - 5178: 4650 mov r0, sl - 517a: 4f5c ldr r7, [pc, #368] ; (52ec ) - 517c: 47b8 blx r7 - 517e: 900c str r0, [sp, #48] ; 0x30 + 4ae8: 4622 mov r2, r4 + 4aea: f8dd b00c ldr.w fp, [sp, #12] + 4aee: 4659 mov r1, fp + 4af0: 4650 mov r0, sl + 4af2: 4f5c ldr r7, [pc, #368] ; (4c64 ) + 4af4: 47b8 blx r7 + 4af6: 900c str r0, [sp, #48] ; 0x30 obj->state = new_state; - 5180: f88a 903d strb.w r9, [sl, #61] ; 0x3d + 4af8: f88a 903d strb.w r9, [sl, #61] ; 0x3d const void * p2 = _lv_obj_get_style_ptr(obj, part, prop); - 5184: 4622 mov r2, r4 - 5186: f8cd b00c str.w fp, [sp, #12] - 518a: 4659 mov r1, fp - 518c: 4650 mov r0, sl - 518e: 47b8 blx r7 - 5190: 4683 mov fp, r0 - 5192: a920 add r1, sp, #128 ; 0x80 - 5194: f841 0d40 str.w r0, [r1, #-64]! + 4afc: 4622 mov r2, r4 + 4afe: f8cd b00c str.w fp, [sp, #12] + 4b02: 4659 mov r1, fp + 4b04: 4650 mov r0, sl + 4b06: 47b8 blx r7 + 4b08: 4683 mov fp, r0 + 4b0a: a920 add r1, sp, #128 ; 0x80 + 4b0c: f841 0d40 str.w r0, [r1, #-64]! style_list->skip_trans = 0; - 5198: 7973 ldrb r3, [r6, #5] - 519a: f36f 0382 bfc r3, #2, #1 - 519e: 7173 strb r3, [r6, #5] + 4b10: 7973 ldrb r3, [r6, #5] + 4b12: f36f 0382 bfc r3, #2, #1 + 4b16: 7173 strb r3, [r6, #5] if(memcmp(&p1, &p2, sizeof(const void *)) == 0) return NULL; - 51a0: 2204 movs r2, #4 - 51a2: a80c add r0, sp, #48 ; 0x30 - 51a4: 4b52 ldr r3, [pc, #328] ; (52f0 ) - 51a6: 4798 blx r3 - 51a8: 2800 cmp r0, #0 - 51aa: f43f aed2 beq.w 4f52 + 4b18: 2204 movs r2, #4 + 4b1a: a80c add r0, sp, #48 ; 0x30 + 4b1c: 4b52 ldr r3, [pc, #328] ; (4c68 ) + 4b1e: 4798 blx r3 + 4b20: 2800 cmp r0, #0 + 4b22: f43f aed2 beq.w 48ca obj->state = prev_state; - 51ae: f88a 803d strb.w r8, [sl, #61] ; 0x3d + 4b26: f88a 803d strb.w r8, [sl, #61] ; 0x3d p1 = _lv_obj_get_style_ptr(obj, part, prop); - 51b2: 4622 mov r2, r4 - 51b4: 9903 ldr r1, [sp, #12] - 51b6: 4650 mov r0, sl - 51b8: 47b8 blx r7 - 51ba: 4606 mov r6, r0 - 51bc: 900c str r0, [sp, #48] ; 0x30 + 4b2a: 4622 mov r2, r4 + 4b2c: 9903 ldr r1, [sp, #12] + 4b2e: 4650 mov r0, sl + 4b30: 47b8 blx r7 + 4b32: 4606 mov r6, r0 + 4b34: 900c str r0, [sp, #48] ; 0x30 obj->state = new_state; - 51be: f88a 903d strb.w r9, [sl, #61] ; 0x3d + 4b36: f88a 903d strb.w r9, [sl, #61] ; 0x3d _lv_style_set_ptr(style_trans, prop, p1); /*Be sure `trans_style` has a valid value */ - 51c2: 4602 mov r2, r0 - 51c4: 4621 mov r1, r4 - 51c6: 9804 ldr r0, [sp, #16] - 51c8: 4b4a ldr r3, [pc, #296] ; (52f4 ) - 51ca: 4798 blx r3 + 4b3a: 4602 mov r2, r0 + 4b3c: 4621 mov r1, r4 + 4b3e: 9804 ldr r0, [sp, #16] + 4b40: 4b4a ldr r3, [pc, #296] ; (4c6c ) + 4b42: 4798 blx r3 tr = _lv_ll_ins_head(&LV_GC_ROOT(_lv_obj_style_trans_ll)); - 51cc: 484a ldr r0, [pc, #296] ; (52f8 ) - 51ce: 4b4b ldr r3, [pc, #300] ; (52fc ) - 51d0: 4798 blx r3 - 51d2: 4607 mov r7, r0 + 4b44: 484a ldr r0, [pc, #296] ; (4c70 ) + 4b46: 4b4b ldr r3, [pc, #300] ; (4c74 ) + 4b48: 4798 blx r3 + 4b4a: 4607 mov r7, r0 LV_ASSERT_MEM(tr); - 51d4: 4b4a ldr r3, [pc, #296] ; (5300 ) - 51d6: 4798 blx r3 - 51d8: b130 cbz r0, 51e8 + 4b4c: 4b4a ldr r3, [pc, #296] ; (4c78 ) + 4b4e: 4798 blx r3 + 4b50: b130 cbz r0, 4b60 if(tr == NULL) return NULL; - 51da: 2f00 cmp r7, #0 - 51dc: f43f aeb9 beq.w 4f52 + 4b52: 2f00 cmp r7, #0 + 4b54: f43f aeb9 beq.w 48ca tr->start_value._ptr = p1; - 51e0: 60be str r6, [r7, #8] + 4b58: 60be str r6, [r7, #8] tr->end_value._ptr = p2; - 51e2: f8c7 b00c str.w fp, [r7, #12] - 51e6: e688 b.n 4efa + 4b5a: f8c7 b00c str.w fp, [r7, #12] + 4b5e: e688 b.n 4872 LV_ASSERT_MEM(tr); - 51e8: 4b46 ldr r3, [pc, #280] ; (5304 ) - 51ea: 9300 str r3, [sp, #0] - 51ec: f640 62ef movw r2, #3823 ; 0xeef - 51f0: 4945 ldr r1, [pc, #276] ; (5308 ) - 51f2: 2003 movs r0, #3 - 51f4: 4c45 ldr r4, [pc, #276] ; (530c ) - 51f6: 47a0 blx r4 - 51f8: 463a mov r2, r7 - 51fa: 2300 movs r3, #0 - 51fc: 4844 ldr r0, [pc, #272] ; (5310 ) - 51fe: 4945 ldr r1, [pc, #276] ; (5314 ) - 5200: 4788 blx r1 - 5202: e7fe b.n 5202 - 5204: 9b06 ldr r3, [sp, #24] - 5206: 3301 adds r3, #1 - 5208: 9306 str r3, [sp, #24] + 4b60: 4b46 ldr r3, [pc, #280] ; (4c7c ) + 4b62: 9300 str r3, [sp, #0] + 4b64: f640 62ef movw r2, #3823 ; 0xeef + 4b68: 4945 ldr r1, [pc, #276] ; (4c80 ) + 4b6a: 2003 movs r0, #3 + 4b6c: 4c45 ldr r4, [pc, #276] ; (4c84 ) + 4b6e: 47a0 blx r4 + 4b70: 463a mov r2, r7 + 4b72: 2300 movs r3, #0 + 4b74: 4844 ldr r0, [pc, #272] ; (4c88 ) + 4b76: 4945 ldr r1, [pc, #276] ; (4c8c ) + 4b78: 4788 blx r1 + 4b7a: e7fe b.n 4b7a + 4b7c: 9b06 ldr r3, [sp, #24] + 4b7e: 3301 adds r3, #1 + 4b80: 9306 str r3, [sp, #24] for(part = 0; part < _LV_OBJ_PART_REAL_LAST; part++) { - 520a: 2b40 cmp r3, #64 ; 0x40 - 520c: d045 beq.n 529a - 520e: f89d 3018 ldrb.w r3, [sp, #24] - 5212: 9303 str r3, [sp, #12] + 4b82: 2b40 cmp r3, #64 ; 0x40 + 4b84: d045 beq.n 4c12 + 4b86: f89d 3018 ldrb.w r3, [sp, #24] + 4b8a: 9303 str r3, [sp, #12] lv_style_list_t * style_list = lv_obj_get_style_list(obj, part); - 5214: 4619 mov r1, r3 - 5216: 4650 mov r0, sl - 5218: 4b3f ldr r3, [pc, #252] ; (5318 ) - 521a: 4798 blx r3 + 4b8c: 4619 mov r1, r3 + 4b8e: 4650 mov r0, sl + 4b90: 4b3f ldr r3, [pc, #252] ; (4c90 ) + 4b92: 4798 blx r3 if(style_list == NULL) break; /*No more style lists*/ - 521c: 9007 str r0, [sp, #28] - 521e: 2800 cmp r0, #0 - 5220: d03b beq.n 529a + 4b94: 9007 str r0, [sp, #28] + 4b96: 2800 cmp r0, #0 + 4b98: d03b beq.n 4c12 if(style_list->ignore_trans) continue; - 5222: 7943 ldrb r3, [r0, #5] - 5224: f013 0f08 tst.w r3, #8 - 5228: d1ec bne.n 5204 - 522a: 22b0 movs r2, #176 ; 0xb0 - 522c: 9c03 ldr r4, [sp, #12] - 522e: 4621 mov r1, r4 - 5230: 4650 mov r0, sl - 5232: 47a8 blx r5 - 5234: 900a str r0, [sp, #40] ; 0x28 + 4b9a: 7943 ldrb r3, [r0, #5] + 4b9c: f013 0f08 tst.w r3, #8 + 4ba0: d1ec bne.n 4b7c + 4ba2: 22b0 movs r2, #176 ; 0xb0 + 4ba4: 9c03 ldr r4, [sp, #12] + 4ba6: 4621 mov r1, r4 + 4ba8: 4650 mov r0, sl + 4baa: 47a8 blx r5 + 4bac: 900a str r0, [sp, #40] ; 0x28 _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_DELAY, transition_delay, lv_style_int_t, _int, scalar) - 5236: 22b1 movs r2, #177 ; 0xb1 - 5238: 4621 mov r1, r4 - 523a: 4650 mov r0, sl - 523c: 47a8 blx r5 - 523e: 9009 str r0, [sp, #36] ; 0x24 + 4bae: 22b1 movs r2, #177 ; 0xb1 + 4bb0: 4621 mov r1, r4 + 4bb2: 4650 mov r0, sl + 4bb4: 47a8 blx r5 + 4bb6: 9009 str r0, [sp, #36] ; 0x24 _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_3, transition_prop_3, lv_style_int_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_4, transition_prop_4, lv_style_int_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_5, transition_prop_5, lv_style_int_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_6, transition_prop_6, lv_style_int_t, _int, scalar) #if LV_USE_ANIMATION _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PATH, transition_path, lv_anim_path_t *, _ptr, scalar) - 5240: 22be movs r2, #190 ; 0xbe - 5242: 4621 mov r1, r4 - 5244: 4650 mov r0, sl - 5246: 4b29 ldr r3, [pc, #164] ; (52ec ) - 5248: 4798 blx r3 - 524a: 9008 str r0, [sp, #32] + 4bb8: 22be movs r2, #190 ; 0xbe + 4bba: 4621 mov r1, r4 + 4bbc: 4650 mov r0, sl + 4bbe: 4b29 ldr r3, [pc, #164] ; (4c64 ) + 4bc0: 4798 blx r3 + 4bc2: 9008 str r0, [sp, #32] _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_1, transition_prop_1, lv_style_int_t, _int, scalar) - 524c: 22b2 movs r2, #178 ; 0xb2 - 524e: 4621 mov r1, r4 - 5250: 4650 mov r0, sl - 5252: 47a8 blx r5 + 4bc4: 22b2 movs r2, #178 ; 0xb2 + 4bc6: 4621 mov r1, r4 + 4bc8: 4650 mov r0, sl + 4bca: 47a8 blx r5 props[0] = lv_obj_get_style_transition_prop_1(obj, part); - 5254: f8ad 0034 strh.w r0, [sp, #52] ; 0x34 + 4bcc: f8ad 0034 strh.w r0, [sp, #52] ; 0x34 _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_2, transition_prop_2, lv_style_int_t, _int, scalar) - 5258: 22b3 movs r2, #179 ; 0xb3 - 525a: 4621 mov r1, r4 - 525c: 4650 mov r0, sl - 525e: 47a8 blx r5 + 4bd0: 22b3 movs r2, #179 ; 0xb3 + 4bd2: 4621 mov r1, r4 + 4bd4: 4650 mov r0, sl + 4bd6: 47a8 blx r5 props[1] = lv_obj_get_style_transition_prop_2(obj, part); - 5260: f8ad 0036 strh.w r0, [sp, #54] ; 0x36 + 4bd8: f8ad 0036 strh.w r0, [sp, #54] ; 0x36 _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_3, transition_prop_3, lv_style_int_t, _int, scalar) - 5264: 22b4 movs r2, #180 ; 0xb4 - 5266: 4621 mov r1, r4 - 5268: 4650 mov r0, sl - 526a: 47a8 blx r5 + 4bdc: 22b4 movs r2, #180 ; 0xb4 + 4bde: 4621 mov r1, r4 + 4be0: 4650 mov r0, sl + 4be2: 47a8 blx r5 props[2] = lv_obj_get_style_transition_prop_3(obj, part); - 526c: f8ad 0038 strh.w r0, [sp, #56] ; 0x38 + 4be4: f8ad 0038 strh.w r0, [sp, #56] ; 0x38 _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_4, transition_prop_4, lv_style_int_t, _int, scalar) - 5270: 22b5 movs r2, #181 ; 0xb5 - 5272: 4621 mov r1, r4 - 5274: 4650 mov r0, sl - 5276: 47a8 blx r5 + 4be8: 22b5 movs r2, #181 ; 0xb5 + 4bea: 4621 mov r1, r4 + 4bec: 4650 mov r0, sl + 4bee: 47a8 blx r5 props[3] = lv_obj_get_style_transition_prop_4(obj, part); - 5278: f8ad 003a strh.w r0, [sp, #58] ; 0x3a + 4bf0: f8ad 003a strh.w r0, [sp, #58] ; 0x3a _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_5, transition_prop_5, lv_style_int_t, _int, scalar) - 527c: 22b6 movs r2, #182 ; 0xb6 - 527e: 4621 mov r1, r4 - 5280: 4650 mov r0, sl - 5282: 47a8 blx r5 + 4bf4: 22b6 movs r2, #182 ; 0xb6 + 4bf6: 4621 mov r1, r4 + 4bf8: 4650 mov r0, sl + 4bfa: 47a8 blx r5 props[4] = lv_obj_get_style_transition_prop_5(obj, part); - 5284: f8ad 003c strh.w r0, [sp, #60] ; 0x3c + 4bfc: f8ad 003c strh.w r0, [sp, #60] ; 0x3c _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_6, transition_prop_6, lv_style_int_t, _int, scalar) - 5288: 22b7 movs r2, #183 ; 0xb7 - 528a: 4621 mov r1, r4 - 528c: 4650 mov r0, sl - 528e: 47a8 blx r5 + 4c00: 22b7 movs r2, #183 ; 0xb7 + 4c02: 4621 mov r1, r4 + 4c04: 4650 mov r0, sl + 4c06: 47a8 blx r5 props[5] = lv_obj_get_style_transition_prop_6(obj, part); - 5290: f8ad 003e strh.w r0, [sp, #62] ; 0x3e - 5294: ab0d add r3, sp, #52 ; 0x34 - 5296: 9305 str r3, [sp, #20] - 5298: e660 b.n 4f5c + 4c08: f8ad 003e strh.w r0, [sp, #62] ; 0x3e + 4c0c: ab0d add r3, sp, #52 ; 0x34 + 4c0e: 9305 str r3, [sp, #20] + 4c10: e660 b.n 48d4 lv_obj_refresh_style(obj, LV_STYLE_PROP_ALL); - 529a: 21ff movs r1, #255 ; 0xff - 529c: 4650 mov r0, sl - 529e: 4b1f ldr r3, [pc, #124] ; (531c ) - 52a0: 4798 blx r3 + 4c12: 21ff movs r1, #255 ; 0xff + 4c14: 4650 mov r0, sl + 4c16: 4b1f ldr r3, [pc, #124] ; (4c94 ) + 4c18: 4798 blx r3 } - 52a2: b021 add sp, #132 ; 0x84 - 52a4: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 4c1a: b021 add sp, #132 ; 0x84 + 4c1c: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} lv_coord_t whalf = lv_obj_get_width(obj) / 2; - 52a8: 4650 mov r0, sl - 52aa: 4e1d ldr r6, [pc, #116] ; (5320 ) - 52ac: 47b0 blx r6 - 52ae: eb00 70d0 add.w r0, r0, r0, lsr #31 - 52b2: f340 074f sbfx r7, r0, #1, #16 + 4c20: 4650 mov r0, sl + 4c22: 4e1d ldr r6, [pc, #116] ; (4c98 ) + 4c24: 47b0 blx r6 + 4c26: eb00 70d0 add.w r0, r0, r0, lsr #31 + 4c2a: f340 074f sbfx r7, r0, #1, #16 lv_coord_t hhalf = lv_obj_get_width(obj) / 2; - 52b6: 4650 mov r0, sl - 52b8: 47b0 blx r6 - 52ba: eb00 70d0 add.w r0, r0, r0, lsr #31 - 52be: f340 034f sbfx r3, r0, #1, #16 + 4c2e: 4650 mov r0, sl + 4c30: 47b0 blx r6 + 4c32: eb00 70d0 add.w r0, r0, r0, lsr #31 + 4c36: f340 034f sbfx r3, r0, #1, #16 if(int1 == LV_RADIUS_CIRCLE) int1 = LV_MATH_MIN(whalf + 1, hhalf + 1); - 52c2: 1c5e adds r6, r3, #1 - 52c4: 1c7a adds r2, r7, #1 - 52c6: 4296 cmp r6, r2 - 52c8: bfa8 it ge - 52ca: 4616 movge r6, r2 - 52cc: b236 sxth r6, r6 + 4c3a: 1c5e adds r6, r3, #1 + 4c3c: 1c7a adds r2, r7, #1 + 4c3e: 4296 cmp r6, r2 + 4c40: bfa8 it ge + 4c42: 4616 movge r6, r2 + 4c44: b236 sxth r6, r6 if(int2 == LV_RADIUS_CIRCLE) int2 = LV_MATH_MIN(whalf + 1, hhalf + 1); - 52ce: f647 72ff movw r2, #32767 ; 0x7fff - 52d2: 4593 cmp fp, r2 - 52d4: f47f ae03 bne.w 4ede - 52d8: f103 0b01 add.w fp, r3, #1 - 52dc: 3701 adds r7, #1 - 52de: 45bb cmp fp, r7 - 52e0: bfa8 it ge - 52e2: 46bb movge fp, r7 - 52e4: fa0f fb8b sxth.w fp, fp - 52e8: e5f9 b.n 4ede - 52ea: 4770 bx lr - 52ec: 00004d29 .word 0x00004d29 - 52f0: 0001af0d .word 0x0001af0d - 52f4: 00007241 .word 0x00007241 - 52f8: 20006d58 .word 0x20006d58 - 52fc: 000124b9 .word 0x000124b9 - 5300: 0000298d .word 0x0000298d - 5304: 0001bbc8 .word 0x0001bbc8 - 5308: 0001bcc0 .word 0x0001bcc0 - 530c: 00012805 .word 0x00012805 - 5310: 0001b4bc .word 0x0001b4bc - 5314: 00002995 .word 0x00002995 - 5318: 00003685 .word 0x00003685 - 531c: 00004121 .word 0x00004121 - 5320: 000035e5 .word 0x000035e5 - -00005324 : -{ - 5324: b530 push {r4, r5, lr} - 5326: b083 sub sp, #12 - 5328: 4605 mov r5, r0 - 532a: 460c mov r4, r1 + 4c46: f647 72ff movw r2, #32767 ; 0x7fff + 4c4a: 4593 cmp fp, r2 + 4c4c: f47f ae03 bne.w 4856 + 4c50: f103 0b01 add.w fp, r3, #1 + 4c54: 3701 adds r7, #1 + 4c56: 45bb cmp fp, r7 + 4c58: bfa8 it ge + 4c5a: 46bb movge fp, r7 + 4c5c: fa0f fb8b sxth.w fp, fp + 4c60: e5f9 b.n 4856 + 4c62: 4770 bx lr + 4c64: 000046a1 .word 0x000046a1 + 4c68: 0001b4dd .word 0x0001b4dd + 4c6c: 00006c99 .word 0x00006c99 + 4c70: 20006d3c .word 0x20006d3c + 4c74: 00011f11 .word 0x00011f11 + 4c78: 000022b1 .word 0x000022b1 + 4c7c: 000246e4 .word 0x000246e4 + 4c80: 000247dc .word 0x000247dc + 4c84: 0001225d .word 0x0001225d + 4c88: 00023fd8 .word 0x00023fd8 + 4c8c: 000022b9 .word 0x000022b9 + 4c90: 00002ffd .word 0x00002ffd + 4c94: 00003a99 .word 0x00003a99 + 4c98: 00002f5d .word 0x00002f5d + +00004c9c : +{ + 4c9c: b530 push {r4, r5, lr} + 4c9e: b083 sub sp, #12 + 4ca0: 4605 mov r5, r0 + 4ca2: 460c mov r4, r1 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 532c: 4b0d ldr r3, [pc, #52] ; (5364 ) - 532e: 4798 blx r3 - 5330: b150 cbz r0, 5348 + 4ca4: 4b0d ldr r3, [pc, #52] ; (4cdc ) + 4ca6: 4798 blx r3 + 4ca8: b150 cbz r0, 4cc0 lv_state_t new_state = obj->state | state; - 5332: f895 303d ldrb.w r3, [r5, #61] ; 0x3d - 5336: ea43 0104 orr.w r1, r3, r4 + 4caa: f895 303d ldrb.w r3, [r5, #61] ; 0x3d + 4cae: ea43 0104 orr.w r1, r3, r4 if(obj->state != new_state) { - 533a: 428b cmp r3, r1 - 533c: d002 beq.n 5344 + 4cb2: 428b cmp r3, r1 + 4cb4: d002 beq.n 4cbc lv_obj_set_state(obj, new_state); - 533e: 4628 mov r0, r5 - 5340: 4b09 ldr r3, [pc, #36] ; (5368 ) - 5342: 4798 blx r3 + 4cb6: 4628 mov r0, r5 + 4cb8: 4b09 ldr r3, [pc, #36] ; (4ce0 ) + 4cba: 4798 blx r3 } - 5344: b003 add sp, #12 - 5346: bd30 pop {r4, r5, pc} + 4cbc: b003 add sp, #12 + 4cbe: bd30 pop {r4, r5, pc} LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 5348: 4b08 ldr r3, [pc, #32] ; (536c ) - 534a: 9300 str r3, [sp, #0] - 534c: f240 627e movw r2, #1662 ; 0x67e - 5350: 4907 ldr r1, [pc, #28] ; (5370 ) - 5352: 2003 movs r0, #3 - 5354: 4c07 ldr r4, [pc, #28] ; (5374 ) - 5356: 47a0 blx r4 - 5358: 462a mov r2, r5 - 535a: 2300 movs r3, #0 - 535c: 4806 ldr r0, [pc, #24] ; (5378 ) - 535e: 4907 ldr r1, [pc, #28] ; (537c ) - 5360: 4788 blx r1 - 5362: e7fe b.n 5362 - 5364: 0000298d .word 0x0000298d - 5368: 00004e3d .word 0x00004e3d - 536c: 0001bbd8 .word 0x0001bbd8 - 5370: 0001bcc0 .word 0x0001bcc0 - 5374: 00012805 .word 0x00012805 - 5378: 0001bd20 .word 0x0001bd20 - 537c: 00002995 .word 0x00002995 - -00005380 : -{ - 5380: b530 push {r4, r5, lr} - 5382: b083 sub sp, #12 - 5384: 4605 mov r5, r0 - 5386: 460c mov r4, r1 + 4cc0: 4b08 ldr r3, [pc, #32] ; (4ce4 ) + 4cc2: 9300 str r3, [sp, #0] + 4cc4: f240 627e movw r2, #1662 ; 0x67e + 4cc8: 4907 ldr r1, [pc, #28] ; (4ce8 ) + 4cca: 2003 movs r0, #3 + 4ccc: 4c07 ldr r4, [pc, #28] ; (4cec ) + 4cce: 47a0 blx r4 + 4cd0: 462a mov r2, r5 + 4cd2: 2300 movs r3, #0 + 4cd4: 4806 ldr r0, [pc, #24] ; (4cf0 ) + 4cd6: 4907 ldr r1, [pc, #28] ; (4cf4 ) + 4cd8: 4788 blx r1 + 4cda: e7fe b.n 4cda + 4cdc: 000022b1 .word 0x000022b1 + 4ce0: 000047b5 .word 0x000047b5 + 4ce4: 000246f4 .word 0x000246f4 + 4ce8: 000247dc .word 0x000247dc + 4cec: 0001225d .word 0x0001225d + 4cf0: 0002483c .word 0x0002483c + 4cf4: 000022b9 .word 0x000022b9 + +00004cf8 : +{ + 4cf8: b530 push {r4, r5, lr} + 4cfa: b083 sub sp, #12 + 4cfc: 4605 mov r5, r0 + 4cfe: 460c mov r4, r1 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 5388: 4b0d ldr r3, [pc, #52] ; (53c0 ) - 538a: 4798 blx r3 - 538c: b150 cbz r0, 53a4 + 4d00: 4b0d ldr r3, [pc, #52] ; (4d38 ) + 4d02: 4798 blx r3 + 4d04: b150 cbz r0, 4d1c lv_state_t new_state = obj->state & (~state); - 538e: f895 303d ldrb.w r3, [r5, #61] ; 0x3d - 5392: ea23 0104 bic.w r1, r3, r4 + 4d06: f895 303d ldrb.w r3, [r5, #61] ; 0x3d + 4d0a: ea23 0104 bic.w r1, r3, r4 if(obj->state != new_state) { - 5396: 428b cmp r3, r1 - 5398: d002 beq.n 53a0 + 4d0e: 428b cmp r3, r1 + 4d10: d002 beq.n 4d18 lv_obj_set_state(obj, new_state); - 539a: 4628 mov r0, r5 - 539c: 4b09 ldr r3, [pc, #36] ; (53c4 ) - 539e: 4798 blx r3 + 4d12: 4628 mov r0, r5 + 4d14: 4b09 ldr r3, [pc, #36] ; (4d3c ) + 4d16: 4798 blx r3 } - 53a0: b003 add sp, #12 - 53a2: bd30 pop {r4, r5, pc} + 4d18: b003 add sp, #12 + 4d1a: bd30 pop {r4, r5, pc} LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 53a4: 4b08 ldr r3, [pc, #32] ; (53c8 ) - 53a6: 9300 str r3, [sp, #0] - 53a8: f240 628f movw r2, #1679 ; 0x68f - 53ac: 4907 ldr r1, [pc, #28] ; (53cc ) - 53ae: 2003 movs r0, #3 - 53b0: 4c07 ldr r4, [pc, #28] ; (53d0 ) - 53b2: 47a0 blx r4 - 53b4: 462a mov r2, r5 - 53b6: 2300 movs r3, #0 - 53b8: 4806 ldr r0, [pc, #24] ; (53d4 ) - 53ba: 4907 ldr r1, [pc, #28] ; (53d8 ) - 53bc: 4788 blx r1 - 53be: e7fe b.n 53be - 53c0: 0000298d .word 0x0000298d - 53c4: 00004e3d .word 0x00004e3d - 53c8: 0001bbec .word 0x0001bbec - 53cc: 0001bcc0 .word 0x0001bcc0 - 53d0: 00012805 .word 0x00012805 - 53d4: 0001bd20 .word 0x0001bd20 - 53d8: 00002995 .word 0x00002995 - -000053dc : -{ - 53dc: b530 push {r4, r5, lr} - 53de: b083 sub sp, #12 - 53e0: 4604 mov r4, r0 + 4d1c: 4b08 ldr r3, [pc, #32] ; (4d40 ) + 4d1e: 9300 str r3, [sp, #0] + 4d20: f240 628f movw r2, #1679 ; 0x68f + 4d24: 4907 ldr r1, [pc, #28] ; (4d44 ) + 4d26: 2003 movs r0, #3 + 4d28: 4c07 ldr r4, [pc, #28] ; (4d48 ) + 4d2a: 47a0 blx r4 + 4d2c: 462a mov r2, r5 + 4d2e: 2300 movs r3, #0 + 4d30: 4806 ldr r0, [pc, #24] ; (4d4c ) + 4d32: 4907 ldr r1, [pc, #28] ; (4d50 ) + 4d34: 4788 blx r1 + 4d36: e7fe b.n 4d36 + 4d38: 000022b1 .word 0x000022b1 + 4d3c: 000047b5 .word 0x000047b5 + 4d40: 00024708 .word 0x00024708 + 4d44: 000247dc .word 0x000247dc + 4d48: 0001225d .word 0x0001225d + 4d4c: 0002483c .word 0x0002483c + 4d50: 000022b9 .word 0x000022b9 + +00004d54 : +{ + 4d54: b530 push {r4, r5, lr} + 4d56: b083 sub sp, #12 + 4d58: 4604 mov r4, r0 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 53e2: 4b0a ldr r3, [pc, #40] ; (540c ) - 53e4: 4798 blx r3 - 53e6: b110 cbz r0, 53ee + 4d5a: 4b0a ldr r3, [pc, #40] ; (4d84 ) + 4d5c: 4798 blx r3 + 4d5e: b110 cbz r0, 4d66 } - 53e8: 69e0 ldr r0, [r4, #28] - 53ea: b003 add sp, #12 - 53ec: bd30 pop {r4, r5, pc} + 4d60: 69e0 ldr r0, [r4, #28] + 4d62: b003 add sp, #12 + 4d64: bd30 pop {r4, r5, pc} LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 53ee: 4b08 ldr r3, [pc, #32] ; (5410 ) - 53f0: 9300 str r3, [sp, #0] - 53f2: f640 22f5 movw r2, #2805 ; 0xaf5 - 53f6: 4907 ldr r1, [pc, #28] ; (5414 ) - 53f8: 2003 movs r0, #3 - 53fa: 4d07 ldr r5, [pc, #28] ; (5418 ) - 53fc: 47a8 blx r5 - 53fe: 4622 mov r2, r4 - 5400: 2300 movs r3, #0 - 5402: 4806 ldr r0, [pc, #24] ; (541c ) - 5404: 4906 ldr r1, [pc, #24] ; (5420 ) - 5406: 4788 blx r1 - 5408: e7fe b.n 5408 - 540a: bf00 nop - 540c: 0000298d .word 0x0000298d - 5410: 0001bc00 .word 0x0001bc00 - 5414: 0001bcc0 .word 0x0001bcc0 - 5418: 00012805 .word 0x00012805 - 541c: 0001bd20 .word 0x0001bd20 - 5420: 00002995 .word 0x00002995 - -00005424 : -{ - 5424: b530 push {r4, r5, lr} - 5426: b083 sub sp, #12 - 5428: 4604 mov r4, r0 + 4d66: 4b08 ldr r3, [pc, #32] ; (4d88 ) + 4d68: 9300 str r3, [sp, #0] + 4d6a: f640 22f5 movw r2, #2805 ; 0xaf5 + 4d6e: 4907 ldr r1, [pc, #28] ; (4d8c ) + 4d70: 2003 movs r0, #3 + 4d72: 4d07 ldr r5, [pc, #28] ; (4d90 ) + 4d74: 47a8 blx r5 + 4d76: 4622 mov r2, r4 + 4d78: 2300 movs r3, #0 + 4d7a: 4806 ldr r0, [pc, #24] ; (4d94 ) + 4d7c: 4906 ldr r1, [pc, #24] ; (4d98 ) + 4d7e: 4788 blx r1 + 4d80: e7fe b.n 4d80 + 4d82: bf00 nop + 4d84: 000022b1 .word 0x000022b1 + 4d88: 0002471c .word 0x0002471c + 4d8c: 000247dc .word 0x000247dc + 4d90: 0001225d .word 0x0001225d + 4d94: 0002483c .word 0x0002483c + 4d98: 000022b9 .word 0x000022b9 + +00004d9c : +{ + 4d9c: b530 push {r4, r5, lr} + 4d9e: b083 sub sp, #12 + 4da0: 4604 mov r4, r0 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 542a: 4b0a ldr r3, [pc, #40] ; (5454 ) - 542c: 4798 blx r3 - 542e: b110 cbz r0, 5436 + 4da2: 4b0a ldr r3, [pc, #40] ; (4dcc ) + 4da4: 4798 blx r3 + 4da6: b110 cbz r0, 4dae } - 5430: 6a60 ldr r0, [r4, #36] ; 0x24 - 5432: b003 add sp, #12 - 5434: bd30 pop {r4, r5, pc} + 4da8: 6a60 ldr r0, [r4, #36] ; 0x24 + 4daa: b003 add sp, #12 + 4dac: bd30 pop {r4, r5, pc} LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 5436: 4b08 ldr r3, [pc, #32] ; (5458 ) - 5438: 9300 str r3, [sp, #0] - 543a: f640 321e movw r2, #2846 ; 0xb1e - 543e: 4907 ldr r1, [pc, #28] ; (545c ) - 5440: 2003 movs r0, #3 - 5442: 4d07 ldr r5, [pc, #28] ; (5460 ) - 5444: 47a8 blx r5 - 5446: 4622 mov r2, r4 - 5448: 2300 movs r3, #0 - 544a: 4806 ldr r0, [pc, #24] ; (5464 ) - 544c: 4906 ldr r1, [pc, #24] ; (5468 ) - 544e: 4788 blx r1 - 5450: e7fe b.n 5450 - 5452: bf00 nop - 5454: 0000298d .word 0x0000298d - 5458: 0001bc44 .word 0x0001bc44 - 545c: 0001bcc0 .word 0x0001bcc0 - 5460: 00012805 .word 0x00012805 - 5464: 0001bd20 .word 0x0001bd20 - 5468: 00002995 .word 0x00002995 - -0000546c : -{ - 546c: b530 push {r4, r5, lr} - 546e: b083 sub sp, #12 - 5470: 4604 mov r4, r0 + 4dae: 4b08 ldr r3, [pc, #32] ; (4dd0 ) + 4db0: 9300 str r3, [sp, #0] + 4db2: f640 321e movw r2, #2846 ; 0xb1e + 4db6: 4907 ldr r1, [pc, #28] ; (4dd4 ) + 4db8: 2003 movs r0, #3 + 4dba: 4d07 ldr r5, [pc, #28] ; (4dd8 ) + 4dbc: 47a8 blx r5 + 4dbe: 4622 mov r2, r4 + 4dc0: 2300 movs r3, #0 + 4dc2: 4806 ldr r0, [pc, #24] ; (4ddc ) + 4dc4: 4906 ldr r1, [pc, #24] ; (4de0 ) + 4dc6: 4788 blx r1 + 4dc8: e7fe b.n 4dc8 + 4dca: bf00 nop + 4dcc: 000022b1 .word 0x000022b1 + 4dd0: 00024760 .word 0x00024760 + 4dd4: 000247dc .word 0x000247dc + 4dd8: 0001225d .word 0x0001225d + 4ddc: 0002483c .word 0x0002483c + 4de0: 000022b9 .word 0x000022b9 + +00004de4 : +{ + 4de4: b530 push {r4, r5, lr} + 4de6: b083 sub sp, #12 + 4de8: 4604 mov r4, r0 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 5472: 4b0a ldr r3, [pc, #40] ; (549c ) - 5474: 4798 blx r3 - 5476: b110 cbz r0, 547e + 4dea: 4b0a ldr r3, [pc, #40] ; (4e14 ) + 4dec: 4798 blx r3 + 4dee: b110 cbz r0, 4df6 } - 5478: 6ba0 ldr r0, [r4, #56] ; 0x38 - 547a: b003 add sp, #12 - 547c: bd30 pop {r4, r5, pc} + 4df0: 6ba0 ldr r0, [r4, #56] ; 0x38 + 4df2: b003 add sp, #12 + 4df4: bd30 pop {r4, r5, pc} LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 547e: 4b08 ldr r3, [pc, #32] ; (54a0 ) - 5480: 9300 str r3, [sp, #0] - 5482: f640 326f movw r2, #2927 ; 0xb6f - 5486: 4907 ldr r1, [pc, #28] ; (54a4 ) - 5488: 2003 movs r0, #3 - 548a: 4d07 ldr r5, [pc, #28] ; (54a8 ) - 548c: 47a8 blx r5 - 548e: 4622 mov r2, r4 - 5490: 2300 movs r3, #0 - 5492: 4806 ldr r0, [pc, #24] ; (54ac ) - 5494: 4906 ldr r1, [pc, #24] ; (54b0 ) - 5496: 4788 blx r1 - 5498: e7fe b.n 5498 - 549a: bf00 nop - 549c: 0000298d .word 0x0000298d - 54a0: 0001bc68 .word 0x0001bc68 - 54a4: 0001bcc0 .word 0x0001bcc0 - 54a8: 00012805 .word 0x00012805 - 54ac: 0001bd20 .word 0x0001bd20 - 54b0: 00002995 .word 0x00002995 - -000054b4 : -{ - 54b4: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} - 54b8: 4605 mov r5, r0 + 4df6: 4b08 ldr r3, [pc, #32] ; (4e18 ) + 4df8: 9300 str r3, [sp, #0] + 4dfa: f640 326f movw r2, #2927 ; 0xb6f + 4dfe: 4907 ldr r1, [pc, #28] ; (4e1c ) + 4e00: 2003 movs r0, #3 + 4e02: 4d07 ldr r5, [pc, #28] ; (4e20 ) + 4e04: 47a8 blx r5 + 4e06: 4622 mov r2, r4 + 4e08: 2300 movs r3, #0 + 4e0a: 4806 ldr r0, [pc, #24] ; (4e24 ) + 4e0c: 4906 ldr r1, [pc, #24] ; (4e28 ) + 4e0e: 4788 blx r1 + 4e10: e7fe b.n 4e10 + 4e12: bf00 nop + 4e14: 000022b1 .word 0x000022b1 + 4e18: 00024784 .word 0x00024784 + 4e1c: 000247dc .word 0x000247dc + 4e20: 0001225d .word 0x0001225d + 4e24: 0002483c .word 0x0002483c + 4e28: 000022b9 .word 0x000022b9 + +00004e2c : +{ + 4e2c: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} + 4e30: 4605 mov r5, r0 lv_event_send(obj, LV_EVENT_DELETE, NULL); - 54ba: 2200 movs r2, #0 - 54bc: 2115 movs r1, #21 - 54be: 4b3c ldr r3, [pc, #240] ; (55b0 ) - 54c0: 4798 blx r3 + 4e32: 2200 movs r2, #0 + 4e34: 2115 movs r1, #21 + 4e36: 4b3c ldr r3, [pc, #240] ; (4f28 ) + 4e38: 4798 blx r3 lv_group_t * group = lv_obj_get_group(obj); - 54c2: 4628 mov r0, r5 - 54c4: 4b3b ldr r3, [pc, #236] ; (55b4 ) - 54c6: 4798 blx r3 + 4e3a: 4628 mov r0, r5 + 4e3c: 4b3b ldr r3, [pc, #236] ; (4f2c ) + 4e3e: 4798 blx r3 if(group) lv_group_remove_obj(obj); - 54c8: 4607 mov r7, r0 - 54ca: b110 cbz r0, 54d2 - 54cc: 4628 mov r0, r5 - 54ce: 4b3a ldr r3, [pc, #232] ; (55b8 ) - 54d0: 4798 blx r3 + 4e40: 4607 mov r7, r0 + 4e42: b110 cbz r0, 4e4a + 4e44: 4628 mov r0, r5 + 4e46: 4b3a ldr r3, [pc, #232] ; (4f30 ) + 4e48: 4798 blx r3 lv_anim_del(obj, NULL); - 54d2: 2100 movs r1, #0 - 54d4: 4628 mov r0, r5 - 54d6: 4b39 ldr r3, [pc, #228] ; (55bc ) - 54d8: 4798 blx r3 + 4e4a: 2100 movs r1, #0 + 4e4c: 4628 mov r0, r5 + 4e4e: 4b39 ldr r3, [pc, #228] ; (4f34 ) + 4e50: 4798 blx r3 trans_del(obj, 0xFF, 0xFF, NULL); - 54da: 2300 movs r3, #0 - 54dc: 22ff movs r2, #255 ; 0xff - 54de: 4611 mov r1, r2 - 54e0: 4628 mov r0, r5 - 54e2: 4c37 ldr r4, [pc, #220] ; (55c0 ) - 54e4: 47a0 blx r4 + 4e52: 2300 movs r3, #0 + 4e54: 22ff movs r2, #255 ; 0xff + 4e56: 4611 mov r1, r2 + 4e58: 4628 mov r0, r5 + 4e5a: 4c37 ldr r4, [pc, #220] ; (4f38 ) + 4e5c: 47a0 blx r4 i = _lv_ll_get_head(&(obj->child_ll)); - 54e6: f105 0804 add.w r8, r5, #4 - 54ea: 4640 mov r0, r8 - 54ec: 4b35 ldr r3, [pc, #212] ; (55c4 ) - 54ee: 4798 blx r3 + 4e5e: f105 0804 add.w r8, r5, #4 + 4e62: 4640 mov r0, r8 + 4e64: 4b35 ldr r3, [pc, #212] ; (4f3c ) + 4e66: 4798 blx r3 while(i != NULL) { - 54f0: 4604 mov r4, r0 - 54f2: b158 cbz r0, 550c + 4e68: 4604 mov r4, r0 + 4e6a: b158 cbz r0, 4e84 i_next = _lv_ll_get_next(&(obj->child_ll), i); - 54f4: f8df 90e8 ldr.w r9, [pc, #232] ; 55e0 - 54f8: 4621 mov r1, r4 - 54fa: 4640 mov r0, r8 - 54fc: 47c8 blx r9 - 54fe: 4606 mov r6, r0 + 4e6c: f8df 90e8 ldr.w r9, [pc, #232] ; 4f58 + 4e70: 4621 mov r1, r4 + 4e72: 4640 mov r0, r8 + 4e74: 47c8 blx r9 + 4e76: 4606 mov r6, r0 obj_del_core(i); - 5500: 4620 mov r0, r4 - 5502: f7ff ffd7 bl 54b4 + 4e78: 4620 mov r0, r4 + 4e7a: f7ff ffd7 bl 4e2c i = i_next; - 5506: 4634 mov r4, r6 + 4e7e: 4634 mov r4, r6 while(i != NULL) { - 5508: 2e00 cmp r6, #0 - 550a: d1f5 bne.n 54f8 + 4e80: 2e00 cmp r6, #0 + 4e82: d1f5 bne.n 4e70 #endif static void lv_event_mark_deleted(lv_obj_t * obj) { lv_event_temp_data_t * t = event_temp_data_head; - 550c: 4b2e ldr r3, [pc, #184] ; (55c8 ) - 550e: 685b ldr r3, [r3, #4] + 4e84: 4b2e ldr r3, [pc, #184] ; (4f40 ) + 4e86: 685b ldr r3, [r3, #4] while(t) { - 5510: b13b cbz r3, 5522 + 4e88: b13b cbz r3, 4e9a if(t->obj == obj) t->deleted = true; - 5512: 2101 movs r1, #1 - 5514: 681a ldr r2, [r3, #0] - 5516: 4295 cmp r5, r2 - 5518: bf08 it eq - 551a: 7119 strbeq r1, [r3, #4] + 4e8a: 2101 movs r1, #1 + 4e8c: 681a ldr r2, [r3, #0] + 4e8e: 4295 cmp r5, r2 + 4e90: bf08 it eq + 4e92: 7119 strbeq r1, [r3, #4] t = t->prev; - 551c: 689b ldr r3, [r3, #8] + 4e94: 689b ldr r3, [r3, #8] while(t) { - 551e: 2b00 cmp r3, #0 - 5520: d1f8 bne.n 5514 + 4e96: 2b00 cmp r3, #0 + 4e98: d1f8 bne.n 4e8c lv_indev_t * indev = lv_indev_get_next(NULL); - 5522: 2000 movs r0, #0 - 5524: 4b29 ldr r3, [pc, #164] ; (55cc ) - 5526: 4798 blx r3 + 4e9a: 2000 movs r0, #0 + 4e9c: 4b29 ldr r3, [pc, #164] ; (4f44 ) + 4e9e: 4798 blx r3 while(indev) { - 5528: 4604 mov r4, r0 - 552a: b310 cbz r0, 5572 + 4ea0: 4604 mov r4, r0 + 4ea2: b310 cbz r0, 4eea lv_indev_reset(indev, obj); - 552c: f8df 80b4 ldr.w r8, [pc, #180] ; 55e4 + 4ea4: f8df 80b4 ldr.w r8, [pc, #180] ; 4f5c if(indev->group == group && obj == lv_indev_get_obj_act()) { - 5530: f8df 90b4 ldr.w r9, [pc, #180] ; 55e8 + 4ea8: f8df 90b4 ldr.w r9, [pc, #180] ; 4f60 indev = lv_indev_get_next(indev); - 5534: 4e25 ldr r6, [pc, #148] ; (55cc ) - 5536: e00e b.n 5556 + 4eac: 4e25 ldr r6, [pc, #148] ; (4f44 ) + 4eae: e00e b.n 4ece lv_indev_reset(indev, obj); - 5538: 4629 mov r1, r5 - 553a: 4620 mov r0, r4 - 553c: 47c0 blx r8 + 4eb0: 4629 mov r1, r5 + 4eb2: 4620 mov r0, r4 + 4eb4: 47c0 blx r8 if(indev->proc.types.pointer.last_pressed == obj) { - 553e: 6be3 ldr r3, [r4, #60] ; 0x3c - 5540: 429d cmp r5, r3 + 4eb6: 6be3 ldr r3, [r4, #60] ; 0x3c + 4eb8: 429d cmp r5, r3 indev->proc.types.pointer.last_pressed = NULL; - 5542: bf04 itt eq - 5544: 2300 moveq r3, #0 - 5546: 63e3 streq r3, [r4, #60] ; 0x3c + 4eba: bf04 itt eq + 4ebc: 2300 moveq r3, #0 + 4ebe: 63e3 streq r3, [r4, #60] ; 0x3c if(indev->group == group && obj == lv_indev_get_obj_act()) { - 5548: 6da3 ldr r3, [r4, #88] ; 0x58 - 554a: 429f cmp r7, r3 - 554c: d00a beq.n 5564 + 4ec0: 6da3 ldr r3, [r4, #88] ; 0x58 + 4ec2: 429f cmp r7, r3 + 4ec4: d00a beq.n 4edc indev = lv_indev_get_next(indev); - 554e: 4620 mov r0, r4 - 5550: 47b0 blx r6 + 4ec6: 4620 mov r0, r4 + 4ec8: 47b0 blx r6 while(indev) { - 5552: 4604 mov r4, r0 - 5554: b168 cbz r0, 5572 + 4eca: 4604 mov r4, r0 + 4ecc: b168 cbz r0, 4eea if(indev->proc.types.pointer.act_obj == obj || indev->proc.types.pointer.last_obj == obj) { - 5556: 6b63 ldr r3, [r4, #52] ; 0x34 - 5558: 429d cmp r5, r3 - 555a: d0ed beq.n 5538 - 555c: 6ba3 ldr r3, [r4, #56] ; 0x38 - 555e: 429d cmp r5, r3 - 5560: d1ed bne.n 553e - 5562: e7e9 b.n 5538 + 4ece: 6b63 ldr r3, [r4, #52] ; 0x34 + 4ed0: 429d cmp r5, r3 + 4ed2: d0ed beq.n 4eb0 + 4ed4: 6ba3 ldr r3, [r4, #56] ; 0x38 + 4ed6: 429d cmp r5, r3 + 4ed8: d1ed bne.n 4eb6 + 4eda: e7e9 b.n 4eb0 if(indev->group == group && obj == lv_indev_get_obj_act()) { - 5564: 47c8 blx r9 - 5566: 4285 cmp r5, r0 - 5568: d1f1 bne.n 554e + 4edc: 47c8 blx r9 + 4ede: 4285 cmp r5, r0 + 4ee0: d1f1 bne.n 4ec6 lv_indev_reset(indev, obj); - 556a: 4629 mov r1, r5 - 556c: 4620 mov r0, r4 - 556e: 47c0 blx r8 - 5570: e7ed b.n 554e + 4ee2: 4629 mov r1, r5 + 4ee4: 4620 mov r0, r4 + 4ee6: 47c0 blx r8 + 4ee8: e7ed b.n 4ec6 obj->signal_cb(obj, LV_SIGNAL_CLEANUP, NULL); - 5572: 69eb ldr r3, [r5, #28] - 5574: 2200 movs r2, #0 - 5576: 4611 mov r1, r2 - 5578: 4628 mov r0, r5 - 557a: 4798 blx r3 + 4eea: 69eb ldr r3, [r5, #28] + 4eec: 2200 movs r2, #0 + 4eee: 4611 mov r1, r2 + 4ef0: 4628 mov r0, r5 + 4ef2: 4798 blx r3 lv_obj_t * par = lv_obj_get_parent(obj); - 557c: 4628 mov r0, r5 - 557e: 4b14 ldr r3, [pc, #80] ; (55d0 ) - 5580: 4798 blx r3 + 4ef4: 4628 mov r0, r5 + 4ef6: 4b14 ldr r3, [pc, #80] ; (4f48 ) + 4ef8: 4798 blx r3 if(par == NULL) { /*It is a screen*/ - 5582: b160 cbz r0, 559e + 4efa: b160 cbz r0, 4f16 _lv_ll_remove(&(par->child_ll), obj); - 5584: 4629 mov r1, r5 - 5586: 3004 adds r0, #4 - 5588: 4b12 ldr r3, [pc, #72] ; (55d4 ) - 558a: 4798 blx r3 + 4efc: 4629 mov r1, r5 + 4efe: 3004 adds r0, #4 + 4f00: 4b12 ldr r3, [pc, #72] ; (4f4c ) + 4f02: 4798 blx r3 if(obj->ext_attr != NULL) lv_mem_free(obj->ext_attr); - 558c: 6a68 ldr r0, [r5, #36] ; 0x24 - 558e: b108 cbz r0, 5594 - 5590: 4b11 ldr r3, [pc, #68] ; (55d8 ) - 5592: 4798 blx r3 + 4f04: 6a68 ldr r0, [r5, #36] ; 0x24 + 4f06: b108 cbz r0, 4f0c + 4f08: 4b11 ldr r3, [pc, #68] ; (4f50 ) + 4f0a: 4798 blx r3 lv_mem_free(obj); /*Free the object itself*/ - 5594: 4628 mov r0, r5 - 5596: 4b10 ldr r3, [pc, #64] ; (55d8 ) - 5598: 4798 blx r3 - 559a: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} + 4f0c: 4628 mov r0, r5 + 4f0e: 4b10 ldr r3, [pc, #64] ; (4f50 ) + 4f10: 4798 blx r3 + 4f12: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} lv_disp_t * d = lv_obj_get_disp(obj); - 559e: 4628 mov r0, r5 - 55a0: 4b0e ldr r3, [pc, #56] ; (55dc ) - 55a2: 4798 blx r3 + 4f16: 4628 mov r0, r5 + 4f18: 4b0e ldr r3, [pc, #56] ; (4f54 ) + 4f1a: 4798 blx r3 _lv_ll_remove(&d->scr_ll, obj); - 55a4: 4629 mov r1, r5 - 55a6: 3030 adds r0, #48 ; 0x30 - 55a8: 4b0a ldr r3, [pc, #40] ; (55d4 ) - 55aa: 4798 blx r3 - 55ac: e7ee b.n 558c - 55ae: bf00 nop - 55b0: 00003155 .word 0x00003155 - 55b4: 0000546d .word 0x0000546d - 55b8: 00002d55 .word 0x00002d55 - 55bc: 000118d1 .word 0x000118d1 - 55c0: 000036b1 .word 0x000036b1 - 55c4: 00012551 .word 0x00012551 - 55c8: 2000267c .word 0x2000267c - 55cc: 000115c9 .word 0x000115c9 - 55d0: 00003305 .word 0x00003305 - 55d4: 0001263d .word 0x0001263d - 55d8: 00012a6d .word 0x00012a6d - 55dc: 000033a9 .word 0x000033a9 - 55e0: 00012565 .word 0x00012565 - 55e4: 00002e51 .word 0x00002e51 - 55e8: 00002edd .word 0x00002edd - -000055ec : -{ - 55ec: b570 push {r4, r5, r6, lr} - 55ee: b082 sub sp, #8 - 55f0: 4604 mov r4, r0 + 4f1c: 4629 mov r1, r5 + 4f1e: 3030 adds r0, #48 ; 0x30 + 4f20: 4b0a ldr r3, [pc, #40] ; (4f4c ) + 4f22: 4798 blx r3 + 4f24: e7ee b.n 4f04 + 4f26: bf00 nop + 4f28: 00002acd .word 0x00002acd + 4f2c: 00004de5 .word 0x00004de5 + 4f30: 00002679 .word 0x00002679 + 4f34: 00011329 .word 0x00011329 + 4f38: 00003029 .word 0x00003029 + 4f3c: 00011fa9 .word 0x00011fa9 + 4f40: 2000267c .word 0x2000267c + 4f44: 00011021 .word 0x00011021 + 4f48: 00002c7d .word 0x00002c7d + 4f4c: 00012095 .word 0x00012095 + 4f50: 000124c5 .word 0x000124c5 + 4f54: 00002d21 .word 0x00002d21 + 4f58: 00011fbd .word 0x00011fbd + 4f5c: 00002775 .word 0x00002775 + 4f60: 00002801 .word 0x00002801 + +00004f64 : +{ + 4f64: b570 push {r4, r5, r6, lr} + 4f66: b082 sub sp, #8 + 4f68: 4604 mov r4, r0 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 55f2: 4b19 ldr r3, [pc, #100] ; (5658 ) - 55f4: 4798 blx r3 - 55f6: b968 cbnz r0, 5614 - 55f8: 4b18 ldr r3, [pc, #96] ; (565c ) - 55fa: 9300 str r3, [sp, #0] - 55fc: f240 1293 movw r2, #403 ; 0x193 - 5600: 4917 ldr r1, [pc, #92] ; (5660 ) - 5602: 2003 movs r0, #3 - 5604: 4d17 ldr r5, [pc, #92] ; (5664 ) - 5606: 47a8 blx r5 - 5608: 4622 mov r2, r4 - 560a: 2300 movs r3, #0 - 560c: 4816 ldr r0, [pc, #88] ; (5668 ) - 560e: 4917 ldr r1, [pc, #92] ; (566c ) - 5610: 4788 blx r1 - 5612: e7fe b.n 5612 + 4f6a: 4b19 ldr r3, [pc, #100] ; (4fd0 ) + 4f6c: 4798 blx r3 + 4f6e: b968 cbnz r0, 4f8c + 4f70: 4b18 ldr r3, [pc, #96] ; (4fd4 ) + 4f72: 9300 str r3, [sp, #0] + 4f74: f240 1293 movw r2, #403 ; 0x193 + 4f78: 4917 ldr r1, [pc, #92] ; (4fd8 ) + 4f7a: 2003 movs r0, #3 + 4f7c: 4d17 ldr r5, [pc, #92] ; (4fdc ) + 4f7e: 47a8 blx r5 + 4f80: 4622 mov r2, r4 + 4f82: 2300 movs r3, #0 + 4f84: 4816 ldr r0, [pc, #88] ; (4fe0 ) + 4f86: 4917 ldr r1, [pc, #92] ; (4fe4 ) + 4f88: 4788 blx r1 + 4f8a: e7fe b.n 4f8a lv_obj_invalidate(obj); - 5614: 4620 mov r0, r4 - 5616: 4b16 ldr r3, [pc, #88] ; (5670 ) - 5618: 4798 blx r3 + 4f8c: 4620 mov r0, r4 + 4f8e: 4b16 ldr r3, [pc, #88] ; (4fe8 ) + 4f90: 4798 blx r3 lv_obj_t * par = lv_obj_get_parent(obj); - 561a: 4620 mov r0, r4 - 561c: 4b15 ldr r3, [pc, #84] ; (5674 ) - 561e: 4798 blx r3 + 4f92: 4620 mov r0, r4 + 4f94: 4b15 ldr r3, [pc, #84] ; (4fec ) + 4f96: 4798 blx r3 if(par == NULL) { - 5620: 4605 mov r5, r0 - 5622: b140 cbz r0, 5636 + 4f98: 4605 mov r5, r0 + 4f9a: b140 cbz r0, 4fae obj_del_core(obj); - 5624: 4620 mov r0, r4 - 5626: 4b14 ldr r3, [pc, #80] ; (5678 ) - 5628: 4798 blx r3 + 4f9c: 4620 mov r0, r4 + 4f9e: 4b14 ldr r3, [pc, #80] ; (4ff0 ) + 4fa0: 4798 blx r3 par->signal_cb(par, LV_SIGNAL_CHILD_CHG, NULL); - 562a: 69eb ldr r3, [r5, #28] - 562c: 2200 movs r2, #0 - 562e: 2101 movs r1, #1 - 5630: 4628 mov r0, r5 - 5632: 4798 blx r3 - 5634: e00c b.n 5650 + 4fa2: 69eb ldr r3, [r5, #28] + 4fa4: 2200 movs r2, #0 + 4fa6: 2101 movs r1, #1 + 4fa8: 4628 mov r0, r5 + 4faa: 4798 blx r3 + 4fac: e00c b.n 4fc8 disp = lv_obj_get_disp(obj); - 5636: 4620 mov r0, r4 - 5638: 4b10 ldr r3, [pc, #64] ; (567c ) - 563a: 4798 blx r3 + 4fae: 4620 mov r0, r4 + 4fb0: 4b10 ldr r3, [pc, #64] ; (4ff4 ) + 4fb2: 4798 blx r3 if(!disp) return LV_RES_INV; /*Shouldn't happen*/ - 563c: 4605 mov r5, r0 - 563e: b138 cbz r0, 5650 + 4fb4: 4605 mov r5, r0 + 4fb6: b138 cbz r0, 4fc8 if(disp->act_scr == obj) act_scr_del = true; - 5640: 6bc6 ldr r6, [r0, #60] ; 0x3c + 4fb8: 6bc6 ldr r6, [r0, #60] ; 0x3c obj_del_core(obj); - 5642: 4620 mov r0, r4 - 5644: 4b0c ldr r3, [pc, #48] ; (5678 ) - 5646: 4798 blx r3 + 4fba: 4620 mov r0, r4 + 4fbc: 4b0c ldr r3, [pc, #48] ; (4ff0 ) + 4fbe: 4798 blx r3 if(act_scr_del) { - 5648: 42b4 cmp r4, r6 - 564a: d101 bne.n 5650 + 4fc0: 42b4 cmp r4, r6 + 4fc2: d101 bne.n 4fc8 disp->act_scr = NULL; - 564c: 2300 movs r3, #0 - 564e: 63eb str r3, [r5, #60] ; 0x3c -} - 5650: 2000 movs r0, #0 - 5652: b002 add sp, #8 - 5654: bd70 pop {r4, r5, r6, pc} - 5656: bf00 nop - 5658: 0000298d .word 0x0000298d - 565c: 0001bc7c .word 0x0001bc7c - 5660: 0001bcc0 .word 0x0001bcc0 - 5664: 00012805 .word 0x00012805 - 5668: 0001bd20 .word 0x0001bd20 - 566c: 00002995 .word 0x00002995 - 5670: 000039a9 .word 0x000039a9 - 5674: 00003305 .word 0x00003305 - 5678: 000054b5 .word 0x000054b5 - 567c: 000033a9 .word 0x000033a9 - -00005680 : -{ - 5680: b530 push {r4, r5, lr} - 5682: b083 sub sp, #12 - 5684: 4604 mov r4, r0 + 4fc4: 2300 movs r3, #0 + 4fc6: 63eb str r3, [r5, #60] ; 0x3c +} + 4fc8: 2000 movs r0, #0 + 4fca: b002 add sp, #8 + 4fcc: bd70 pop {r4, r5, r6, pc} + 4fce: bf00 nop + 4fd0: 000022b1 .word 0x000022b1 + 4fd4: 00024798 .word 0x00024798 + 4fd8: 000247dc .word 0x000247dc + 4fdc: 0001225d .word 0x0001225d + 4fe0: 0002483c .word 0x0002483c + 4fe4: 000022b9 .word 0x000022b9 + 4fe8: 00003321 .word 0x00003321 + 4fec: 00002c7d .word 0x00002c7d + 4ff0: 00004e2d .word 0x00004e2d + 4ff4: 00002d21 .word 0x00002d21 + +00004ff8 : +{ + 4ff8: b530 push {r4, r5, lr} + 4ffa: b083 sub sp, #12 + 4ffc: 4604 mov r4, r0 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 5686: 4b0e ldr r3, [pc, #56] ; (56c0 ) - 5688: 4798 blx r3 - 568a: b148 cbz r0, 56a0 + 4ffe: 4b0e ldr r3, [pc, #56] ; (5038 ) + 5000: 4798 blx r3 + 5002: b148 cbz r0, 5018 if(obj->group_p) { - 568c: 6ba0 ldr r0, [r4, #56] ; 0x38 - 568e: b1a8 cbz r0, 56bc + 5004: 6ba0 ldr r0, [r4, #56] ; 0x38 + 5006: b1a8 cbz r0, 5034 if(lv_group_get_focused(obj->group_p) == obj) return true; - 5690: 4b0c ldr r3, [pc, #48] ; (56c4 ) - 5692: 4798 blx r3 - 5694: 4284 cmp r4, r0 - 5696: bf14 ite ne - 5698: 2000 movne r0, #0 - 569a: 2001 moveq r0, #1 -} - 569c: b003 add sp, #12 - 569e: bd30 pop {r4, r5, pc} + 5008: 4b0c ldr r3, [pc, #48] ; (503c ) + 500a: 4798 blx r3 + 500c: 4284 cmp r4, r0 + 500e: bf14 ite ne + 5010: 2000 movne r0, #0 + 5012: 2001 moveq r0, #1 +} + 5014: b003 add sp, #12 + 5016: bd30 pop {r4, r5, pc} LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 56a0: 4b09 ldr r3, [pc, #36] ; (56c8 ) - 56a2: 9300 str r3, [sp, #0] - 56a4: f44f 6238 mov.w r2, #2944 ; 0xb80 - 56a8: 4908 ldr r1, [pc, #32] ; (56cc ) - 56aa: 2003 movs r0, #3 - 56ac: 4d08 ldr r5, [pc, #32] ; (56d0 ) - 56ae: 47a8 blx r5 - 56b0: 4622 mov r2, r4 - 56b2: 2300 movs r3, #0 - 56b4: 4807 ldr r0, [pc, #28] ; (56d4 ) - 56b6: 4908 ldr r1, [pc, #32] ; (56d8 ) - 56b8: 4788 blx r1 - 56ba: e7fe b.n 56ba + 5018: 4b09 ldr r3, [pc, #36] ; (5040 ) + 501a: 9300 str r3, [sp, #0] + 501c: f44f 6238 mov.w r2, #2944 ; 0xb80 + 5020: 4908 ldr r1, [pc, #32] ; (5044 ) + 5022: 2003 movs r0, #3 + 5024: 4d08 ldr r5, [pc, #32] ; (5048 ) + 5026: 47a8 blx r5 + 5028: 4622 mov r2, r4 + 502a: 2300 movs r3, #0 + 502c: 4807 ldr r0, [pc, #28] ; (504c ) + 502e: 4908 ldr r1, [pc, #32] ; (5050 ) + 5030: 4788 blx r1 + 5032: e7fe b.n 5032 return false; - 56bc: 2000 movs r0, #0 - 56be: e7ed b.n 569c - 56c0: 0000298d .word 0x0000298d - 56c4: 00002e25 .word 0x00002e25 - 56c8: 0001bcac .word 0x0001bcac - 56cc: 0001bcc0 .word 0x0001bcc0 - 56d0: 00012805 .word 0x00012805 - 56d4: 0001bd20 .word 0x0001bd20 - 56d8: 00002995 .word 0x00002995 - -000056dc : + 5034: 2000 movs r0, #0 + 5036: e7ed b.n 5014 + 5038: 000022b1 .word 0x000022b1 + 503c: 00002749 .word 0x00002749 + 5040: 000247c8 .word 0x000247c8 + 5044: 000247dc .word 0x000247dc + 5048: 0001225d .word 0x0001225d + 504c: 0002483c .word 0x0002483c + 5050: 000022b9 .word 0x000022b9 + +00005054 : +{ + 5054: b500 push {lr} + 5056: b083 sub sp, #12 + ext_area.x1 = obj->coords.x1 - obj->ext_click_pad_hor; + 5058: f890 3030 ldrb.w r3, [r0, #48] ; 0x30 + 505c: 8a02 ldrh r2, [r0, #16] + 505e: 1ad2 subs r2, r2, r3 + 5060: f8ad 2000 strh.w r2, [sp] + ext_area.x2 = obj->coords.x2 + obj->ext_click_pad_hor; + 5064: 8a82 ldrh r2, [r0, #20] + 5066: 4413 add r3, r2 + 5068: f8ad 3004 strh.w r3, [sp, #4] + ext_area.y1 = obj->coords.y1 - obj->ext_click_pad_ver; + 506c: f890 3031 ldrb.w r3, [r0, #49] ; 0x31 + 5070: 8a42 ldrh r2, [r0, #18] + 5072: 1ad2 subs r2, r2, r3 + 5074: f8ad 2002 strh.w r2, [sp, #2] + ext_area.y2 = obj->coords.y2 + obj->ext_click_pad_ver; + 5078: 8ac2 ldrh r2, [r0, #22] + 507a: 4413 add r3, r2 + 507c: f8ad 3006 strh.w r3, [sp, #6] + if(!_lv_area_is_point_on(&ext_area, point, 0)) { + 5080: 2200 movs r2, #0 + 5082: 4668 mov r0, sp + 5084: 4b02 ldr r3, [pc, #8] ; (5090 ) + 5086: 4798 blx r3 +} + 5088: b003 add sp, #12 + 508a: f85d fb04 ldr.w pc, [sp], #4 + 508e: bf00 nop + 5090: 000115b9 .word 0x000115b9 + +00005094 : if(buf->type[i] == NULL) break; - 56dc: 6803 ldr r3, [r0, #0] - 56de: b17b cbz r3, 5700 + 5094: 6803 ldr r3, [r0, #0] + 5096: b17b cbz r3, 50b8 { - 56e0: b410 push {r4} - 56e2: 1d02 adds r2, r0, #4 + 5098: b410 push {r4} + 509a: 1d02 adds r2, r0, #4 for(i = 0; i < LV_MAX_ANCESTOR_NUM - 1; i++) { /*Find the last set data*/ - 56e4: 2301 movs r3, #1 + 509c: 2301 movs r3, #1 if(buf->type[i] == NULL) break; - 56e6: f852 4b04 ldr.w r4, [r2], #4 - 56ea: b11c cbz r4, 56f4 + 509e: f852 4b04 ldr.w r4, [r2], #4 + 50a2: b11c cbz r4, 50ac for(i = 0; i < LV_MAX_ANCESTOR_NUM - 1; i++) { /*Find the last set data*/ - 56ec: 3301 adds r3, #1 - 56ee: b2db uxtb r3, r3 - 56f0: 2b07 cmp r3, #7 - 56f2: d1f8 bne.n 56e6 + 50a4: 3301 adds r3, #1 + 50a6: b2db uxtb r3, r3 + 50a8: 2b07 cmp r3, #7 + 50aa: d1f8 bne.n 509e buf->type[i] = name; - 56f4: f840 1023 str.w r1, [r0, r3, lsl #2] + 50ac: f840 1023 str.w r1, [r0, r3, lsl #2] } - 56f8: 2001 movs r0, #1 - 56fa: f85d 4b04 ldr.w r4, [sp], #4 - 56fe: 4770 bx lr + 50b0: 2001 movs r0, #1 + 50b2: f85d 4b04 ldr.w r4, [sp], #4 + 50b6: 4770 bx lr for(i = 0; i < LV_MAX_ANCESTOR_NUM - 1; i++) { /*Find the last set data*/ - 5700: 2300 movs r3, #0 + 50b8: 2300 movs r3, #0 buf->type[i] = name; - 5702: f840 1023 str.w r1, [r0, r3, lsl #2] + 50ba: f840 1023 str.w r1, [r0, r3, lsl #2] } - 5706: 2001 movs r0, #1 - 5708: 4770 bx lr + 50be: 2001 movs r0, #1 + 50c0: 4770 bx lr ... -0000570c : +000050c4 : { - 570c: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - 5710: 4605 mov r5, r0 - 5712: 460e mov r6, r1 - 5714: 4614 mov r4, r2 + 50c4: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} + 50c8: 4605 mov r5, r0 + 50ca: 460e mov r6, r1 + 50cc: 4614 mov r4, r2 _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 5716: 2201 movs r2, #1 - 5718: 4ba8 ldr r3, [pc, #672] ; (59bc ) - 571a: 4798 blx r3 + 50ce: 2201 movs r2, #1 + 50d0: 4ba8 ldr r3, [pc, #672] ; (5374 ) + 50d2: 4798 blx r3 draw_dsc->radius = lv_obj_get_style_radius(obj, part); - 571c: 8020 strh r0, [r4, #0] + 50d4: 8020 strh r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(OPA_SCALE, opa_scale, lv_opa_t, _opa, scalar) - 571e: f248 020c movw r2, #32780 ; 0x800c - 5722: 4631 mov r1, r6 - 5724: 4628 mov r0, r5 - 5726: 4ba6 ldr r3, [pc, #664] ; (59c0 ) - 5728: 4798 blx r3 + 50d6: f248 020c movw r2, #32780 ; 0x800c + 50da: 4631 mov r1, r6 + 50dc: 4628 mov r0, r5 + 50de: 4ba6 ldr r3, [pc, #664] ; (5378 ) + 50e0: 4798 blx r3 if(opa_scale <= LV_OPA_MIN) { - 572a: 2805 cmp r0, #5 - 572c: d942 bls.n 57b4 - 572e: 4607 mov r7, r0 + 50e2: 2805 cmp r0, #5 + 50e4: d942 bls.n 516c + 50e6: 4607 mov r7, r0 if(draw_dsc->bg_opa != LV_OPA_TRANSP) { - 5730: 7b23 ldrb r3, [r4, #12] - 5732: 2b00 cmp r3, #0 - 5734: d149 bne.n 57ca + 50e8: 7b23 ldrb r3, [r4, #12] + 50ea: 2b00 cmp r3, #0 + 50ec: d149 bne.n 5182 if(draw_dsc->border_opa != LV_OPA_TRANSP) { - 5736: 7d23 ldrb r3, [r4, #20] - 5738: 2b00 cmp r3, #0 - 573a: d176 bne.n 582a + 50ee: 7d23 ldrb r3, [r4, #20] + 50f0: 2b00 cmp r3, #0 + 50f2: d176 bne.n 51e2 if(draw_dsc->outline_opa != LV_OPA_TRANSP) { - 573c: 7f23 ldrb r3, [r4, #28] - 573e: 2b00 cmp r3, #0 - 5740: f040 8098 bne.w 5874 + 50f4: 7f23 ldrb r3, [r4, #28] + 50f6: 2b00 cmp r3, #0 + 50f8: f040 8098 bne.w 522c if(draw_dsc->pattern_opa != LV_OPA_TRANSP) { - 5744: f894 3036 ldrb.w r3, [r4, #54] ; 0x36 - 5748: 2b00 cmp r3, #0 - 574a: f040 80b8 bne.w 58be + 50fc: f894 3036 ldrb.w r3, [r4, #54] ; 0x36 + 5100: 2b00 cmp r3, #0 + 5102: f040 80b8 bne.w 5276 if(draw_dsc->shadow_opa > LV_OPA_MIN) { - 574e: f894 3028 ldrb.w r3, [r4, #40] ; 0x28 - 5752: 2b05 cmp r3, #5 - 5754: f200 8101 bhi.w 595a + 5106: f894 3028 ldrb.w r3, [r4, #40] ; 0x28 + 510a: 2b05 cmp r3, #5 + 510c: f200 8101 bhi.w 5312 if(draw_dsc->value_opa > LV_OPA_MIN) { - 5758: f894 3044 ldrb.w r3, [r4, #68] ; 0x44 - 575c: 2b05 cmp r3, #5 - 575e: f200 8137 bhi.w 59d0 + 5110: f894 3044 ldrb.w r3, [r4, #68] ; 0x44 + 5114: 2b05 cmp r3, #5 + 5116: f200 8137 bhi.w 5388 if(opa_scale < LV_OPA_MAX) { - 5762: 2ff9 cmp r7, #249 ; 0xf9 - 5764: d824 bhi.n 57b0 + 511a: 2ff9 cmp r7, #249 ; 0xf9 + 511c: d824 bhi.n 5168 draw_dsc->bg_opa = (uint16_t)((uint16_t)draw_dsc->bg_opa * opa_scale) >> 8; - 5766: b2bf uxth r7, r7 - 5768: 7b23 ldrb r3, [r4, #12] - 576a: fb13 f307 smulbb r3, r3, r7 - 576e: f3c3 2307 ubfx r3, r3, #8, #8 - 5772: 7323 strb r3, [r4, #12] + 511e: b2bf uxth r7, r7 + 5120: 7b23 ldrb r3, [r4, #12] + 5122: fb13 f307 smulbb r3, r3, r7 + 5126: f3c3 2307 ubfx r3, r3, #8, #8 + 512a: 7323 strb r3, [r4, #12] draw_dsc->border_opa = (uint16_t)((uint16_t)draw_dsc->border_opa * opa_scale) >> 8; - 5774: 7d23 ldrb r3, [r4, #20] - 5776: fb13 f307 smulbb r3, r3, r7 - 577a: f3c3 2307 ubfx r3, r3, #8, #8 - 577e: 7523 strb r3, [r4, #20] + 512c: 7d23 ldrb r3, [r4, #20] + 512e: fb13 f307 smulbb r3, r3, r7 + 5132: f3c3 2307 ubfx r3, r3, #8, #8 + 5136: 7523 strb r3, [r4, #20] draw_dsc->shadow_opa = (uint16_t)((uint16_t)draw_dsc->shadow_opa * opa_scale) >> 8; - 5780: f894 3028 ldrb.w r3, [r4, #40] ; 0x28 - 5784: fb13 f307 smulbb r3, r3, r7 - 5788: f3c3 2307 ubfx r3, r3, #8, #8 - 578c: f884 3028 strb.w r3, [r4, #40] ; 0x28 + 5138: f894 3028 ldrb.w r3, [r4, #40] ; 0x28 + 513c: fb13 f307 smulbb r3, r3, r7 + 5140: f3c3 2307 ubfx r3, r3, #8, #8 + 5144: f884 3028 strb.w r3, [r4, #40] ; 0x28 draw_dsc->pattern_opa = (uint16_t)((uint16_t)draw_dsc->pattern_opa * opa_scale) >> 8; - 5790: f894 3036 ldrb.w r3, [r4, #54] ; 0x36 - 5794: fb13 f307 smulbb r3, r3, r7 - 5798: f3c3 2307 ubfx r3, r3, #8, #8 - 579c: f884 3036 strb.w r3, [r4, #54] ; 0x36 + 5148: f894 3036 ldrb.w r3, [r4, #54] ; 0x36 + 514c: fb13 f307 smulbb r3, r3, r7 + 5150: f3c3 2307 ubfx r3, r3, #8, #8 + 5154: f884 3036 strb.w r3, [r4, #54] ; 0x36 draw_dsc->value_opa = (uint16_t)((uint16_t)draw_dsc->value_opa * opa_scale) >> 8; - 57a0: f894 3044 ldrb.w r3, [r4, #68] ; 0x44 - 57a4: fb13 f707 smulbb r7, r3, r7 - 57a8: f3c7 2707 ubfx r7, r7, #8, #8 - 57ac: f884 7044 strb.w r7, [r4, #68] ; 0x44 - 57b0: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + 5158: f894 3044 ldrb.w r3, [r4, #68] ; 0x44 + 515c: fb13 f707 smulbb r7, r3, r7 + 5160: f3c7 2707 ubfx r7, r7, #8, #8 + 5164: f884 7044 strb.w r7, [r4, #68] ; 0x44 + 5168: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} draw_dsc->bg_opa = LV_OPA_TRANSP; - 57b4: 2300 movs r3, #0 - 57b6: 7323 strb r3, [r4, #12] + 516c: 2300 movs r3, #0 + 516e: 7323 strb r3, [r4, #12] draw_dsc->border_opa = LV_OPA_TRANSP; - 57b8: 7523 strb r3, [r4, #20] + 5170: 7523 strb r3, [r4, #20] draw_dsc->shadow_opa = LV_OPA_TRANSP; - 57ba: f884 3028 strb.w r3, [r4, #40] ; 0x28 + 5172: f884 3028 strb.w r3, [r4, #40] ; 0x28 draw_dsc->pattern_opa = LV_OPA_TRANSP; - 57be: f884 3036 strb.w r3, [r4, #54] ; 0x36 + 5176: f884 3036 strb.w r3, [r4, #54] ; 0x36 draw_dsc->value_opa = LV_OPA_TRANSP; - 57c2: f884 3044 strb.w r3, [r4, #68] ; 0x44 + 517a: f884 3044 strb.w r3, [r4, #68] ; 0x44 return; - 57c6: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + 517e: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 57ca: 222c movs r2, #44 ; 0x2c - 57cc: 4631 mov r1, r6 - 57ce: 4628 mov r0, r5 - 57d0: 4b7b ldr r3, [pc, #492] ; (59c0 ) - 57d2: 4798 blx r3 + 5182: 222c movs r2, #44 ; 0x2c + 5184: 4631 mov r1, r6 + 5186: 4628 mov r0, r5 + 5188: 4b7b ldr r3, [pc, #492] ; (5378 ) + 518a: 4798 blx r3 draw_dsc->bg_opa = lv_obj_get_style_bg_opa(obj, part); - 57d4: 7320 strb r0, [r4, #12] + 518c: 7320 strb r0, [r4, #12] if(draw_dsc->bg_opa > LV_OPA_MIN) { - 57d6: 2805 cmp r0, #5 - 57d8: d9ad bls.n 5736 + 518e: 2805 cmp r0, #5 + 5190: d9ad bls.n 50ee _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 57da: 2229 movs r2, #41 ; 0x29 - 57dc: 4631 mov r1, r6 - 57de: 4628 mov r0, r5 - 57e0: 4b78 ldr r3, [pc, #480] ; (59c4 ) - 57e2: 4798 blx r3 + 5192: 2229 movs r2, #41 ; 0x29 + 5194: 4631 mov r1, r6 + 5196: 4628 mov r0, r5 + 5198: 4b78 ldr r3, [pc, #480] ; (537c ) + 519a: 4798 blx r3 draw_dsc->bg_color = lv_obj_get_style_bg_color(obj, part); - 57e4: 8060 strh r0, [r4, #2] + 519c: 8060 strh r0, [r4, #2] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_GRAD_DIR, bg_grad_dir, lv_grad_dir_t, _int, scalar) - 57e6: 2223 movs r2, #35 ; 0x23 - 57e8: 4631 mov r1, r6 - 57ea: 4628 mov r0, r5 - 57ec: 4b73 ldr r3, [pc, #460] ; (59bc ) - 57ee: 4798 blx r3 - 57f0: b2c0 uxtb r0, r0 + 519e: 2223 movs r2, #35 ; 0x23 + 51a0: 4631 mov r1, r6 + 51a2: 4628 mov r0, r5 + 51a4: 4b73 ldr r3, [pc, #460] ; (5374 ) + 51a6: 4798 blx r3 + 51a8: b2c0 uxtb r0, r0 draw_dsc->bg_grad_dir = lv_obj_get_style_bg_grad_dir(obj, part); - 57f2: 71a0 strb r0, [r4, #6] + 51aa: 71a0 strb r0, [r4, #6] if(draw_dsc->bg_grad_dir != LV_GRAD_DIR_NONE) { - 57f4: b930 cbnz r0, 5804 + 51ac: b930 cbnz r0, 51bc _LV_OBJ_STYLE_SET_GET_DECLARE(BG_BLEND_MODE, bg_blend_mode, lv_blend_mode_t, _int, scalar) - 57f6: 2220 movs r2, #32 - 57f8: 4631 mov r1, r6 - 57fa: 4628 mov r0, r5 - 57fc: 4b6f ldr r3, [pc, #444] ; (59bc ) - 57fe: 4798 blx r3 - 5800: 7360 strb r0, [r4, #13] - 5802: e798 b.n 5736 + 51ae: 2220 movs r2, #32 + 51b0: 4631 mov r1, r6 + 51b2: 4628 mov r0, r5 + 51b4: 4b6f ldr r3, [pc, #444] ; (5374 ) + 51b6: 4798 blx r3 + 51b8: 7360 strb r0, [r4, #13] + 51ba: e798 b.n 50ee _LV_OBJ_STYLE_SET_GET_DECLARE(BG_GRAD_COLOR, bg_grad_color, lv_color_t, _color, nonscalar) - 5804: 222a movs r2, #42 ; 0x2a - 5806: 4631 mov r1, r6 - 5808: 4628 mov r0, r5 - 580a: 4b6e ldr r3, [pc, #440] ; (59c4 ) - 580c: 4798 blx r3 + 51bc: 222a movs r2, #42 ; 0x2a + 51be: 4631 mov r1, r6 + 51c0: 4628 mov r0, r5 + 51c2: 4b6e ldr r3, [pc, #440] ; (537c ) + 51c4: 4798 blx r3 draw_dsc->bg_grad_color = lv_obj_get_style_bg_grad_color(obj, part); - 580e: 80a0 strh r0, [r4, #4] + 51c6: 80a0 strh r0, [r4, #4] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_MAIN_STOP, bg_main_stop, lv_style_int_t, _int, scalar) - 5810: 2221 movs r2, #33 ; 0x21 - 5812: 4631 mov r1, r6 - 5814: 4628 mov r0, r5 - 5816: f8df 81a4 ldr.w r8, [pc, #420] ; 59bc - 581a: 47c0 blx r8 + 51c8: 2221 movs r2, #33 ; 0x21 + 51ca: 4631 mov r1, r6 + 51cc: 4628 mov r0, r5 + 51ce: f8df 81a4 ldr.w r8, [pc, #420] ; 5374 + 51d2: 47c0 blx r8 draw_dsc->bg_main_color_stop = lv_obj_get_style_bg_main_stop(obj, part); - 581c: 8120 strh r0, [r4, #8] + 51d4: 8120 strh r0, [r4, #8] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_GRAD_STOP, bg_grad_stop, lv_style_int_t, _int, scalar) - 581e: 2222 movs r2, #34 ; 0x22 - 5820: 4631 mov r1, r6 - 5822: 4628 mov r0, r5 - 5824: 47c0 blx r8 + 51d6: 2222 movs r2, #34 ; 0x22 + 51d8: 4631 mov r1, r6 + 51da: 4628 mov r0, r5 + 51dc: 47c0 blx r8 draw_dsc->bg_grad_color_stop = lv_obj_get_style_bg_grad_stop(obj, part); - 5826: 8160 strh r0, [r4, #10] - 5828: e7e5 b.n 57f6 + 51de: 8160 strh r0, [r4, #10] + 51e0: e7e5 b.n 51ae _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_WIDTH, border_width, lv_style_int_t, _int, scalar) - 582a: 2230 movs r2, #48 ; 0x30 - 582c: 4631 mov r1, r6 - 582e: 4628 mov r0, r5 - 5830: 4b62 ldr r3, [pc, #392] ; (59bc ) - 5832: 4798 blx r3 + 51e2: 2230 movs r2, #48 ; 0x30 + 51e4: 4631 mov r1, r6 + 51e6: 4628 mov r0, r5 + 51e8: 4b62 ldr r3, [pc, #392] ; (5374 ) + 51ea: 4798 blx r3 draw_dsc->border_width = lv_obj_get_style_border_width(obj, part); - 5834: 8220 strh r0, [r4, #16] + 51ec: 8220 strh r0, [r4, #16] if(draw_dsc->border_width) { - 5836: 2800 cmp r0, #0 - 5838: d080 beq.n 573c + 51ee: 2800 cmp r0, #0 + 51f0: d080 beq.n 50f4 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_OPA, border_opa, lv_opa_t, _opa, scalar) - 583a: 223c movs r2, #60 ; 0x3c - 583c: 4631 mov r1, r6 - 583e: 4628 mov r0, r5 - 5840: 4b5f ldr r3, [pc, #380] ; (59c0 ) - 5842: 4798 blx r3 + 51f2: 223c movs r2, #60 ; 0x3c + 51f4: 4631 mov r1, r6 + 51f6: 4628 mov r0, r5 + 51f8: 4b5f ldr r3, [pc, #380] ; (5378 ) + 51fa: 4798 blx r3 draw_dsc->border_opa = lv_obj_get_style_border_opa(obj, part); - 5844: 7520 strb r0, [r4, #20] + 51fc: 7520 strb r0, [r4, #20] if(draw_dsc->border_opa > LV_OPA_MIN) { - 5846: 2805 cmp r0, #5 - 5848: d806 bhi.n 5858 + 51fe: 2805 cmp r0, #5 + 5200: d806 bhi.n 5210 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_BLEND_MODE, border_blend_mode, lv_blend_mode_t, _int, scalar) - 584a: 2232 movs r2, #50 ; 0x32 - 584c: 4631 mov r1, r6 - 584e: 4628 mov r0, r5 - 5850: 4b5a ldr r3, [pc, #360] ; (59bc ) - 5852: 4798 blx r3 - 5854: 7560 strb r0, [r4, #21] - 5856: e771 b.n 573c + 5202: 2232 movs r2, #50 ; 0x32 + 5204: 4631 mov r1, r6 + 5206: 4628 mov r0, r5 + 5208: 4b5a ldr r3, [pc, #360] ; (5374 ) + 520a: 4798 blx r3 + 520c: 7560 strb r0, [r4, #21] + 520e: e771 b.n 50f4 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_SIDE, border_side, lv_border_side_t, _int, scalar) - 5858: 2231 movs r2, #49 ; 0x31 - 585a: 4631 mov r1, r6 - 585c: 4628 mov r0, r5 - 585e: 4b57 ldr r3, [pc, #348] ; (59bc ) - 5860: 4798 blx r3 + 5210: 2231 movs r2, #49 ; 0x31 + 5212: 4631 mov r1, r6 + 5214: 4628 mov r0, r5 + 5216: 4b57 ldr r3, [pc, #348] ; (5374 ) + 5218: 4798 blx r3 draw_dsc->border_side = lv_obj_get_style_border_side(obj, part); - 5862: b2c0 uxtb r0, r0 - 5864: 8260 strh r0, [r4, #18] + 521a: b2c0 uxtb r0, r0 + 521c: 8260 strh r0, [r4, #18] _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_COLOR, border_color, lv_color_t, _color, nonscalar) - 5866: 2239 movs r2, #57 ; 0x39 - 5868: 4631 mov r1, r6 - 586a: 4628 mov r0, r5 - 586c: 4b55 ldr r3, [pc, #340] ; (59c4 ) - 586e: 4798 blx r3 + 521e: 2239 movs r2, #57 ; 0x39 + 5220: 4631 mov r1, r6 + 5222: 4628 mov r0, r5 + 5224: 4b55 ldr r3, [pc, #340] ; (537c ) + 5226: 4798 blx r3 draw_dsc->border_color = lv_obj_get_style_border_color(obj, part); - 5870: 81e0 strh r0, [r4, #14] - 5872: e7ea b.n 584a + 5228: 81e0 strh r0, [r4, #14] + 522a: e7ea b.n 5202 _LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_WIDTH, outline_width, lv_style_int_t, _int, scalar) - 5874: 2240 movs r2, #64 ; 0x40 - 5876: 4631 mov r1, r6 - 5878: 4628 mov r0, r5 - 587a: 4b50 ldr r3, [pc, #320] ; (59bc ) - 587c: 4798 blx r3 + 522c: 2240 movs r2, #64 ; 0x40 + 522e: 4631 mov r1, r6 + 5230: 4628 mov r0, r5 + 5232: 4b50 ldr r3, [pc, #320] ; (5374 ) + 5234: 4798 blx r3 draw_dsc->outline_width = lv_obj_get_style_outline_width(obj, part); - 587e: 8320 strh r0, [r4, #24] + 5236: 8320 strh r0, [r4, #24] if(draw_dsc->outline_width) { - 5880: 2800 cmp r0, #0 - 5882: f43f af5f beq.w 5744 + 5238: 2800 cmp r0, #0 + 523a: f43f af5f beq.w 50fc _LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_OPA, outline_opa, lv_opa_t, _opa, scalar) - 5886: 224c movs r2, #76 ; 0x4c - 5888: 4631 mov r1, r6 - 588a: 4628 mov r0, r5 - 588c: 4b4c ldr r3, [pc, #304] ; (59c0 ) - 588e: 4798 blx r3 + 523e: 224c movs r2, #76 ; 0x4c + 5240: 4631 mov r1, r6 + 5242: 4628 mov r0, r5 + 5244: 4b4c ldr r3, [pc, #304] ; (5378 ) + 5246: 4798 blx r3 draw_dsc->outline_opa = lv_obj_get_style_outline_opa(obj, part); - 5890: 7720 strb r0, [r4, #28] + 5248: 7720 strb r0, [r4, #28] if(draw_dsc->outline_opa > LV_OPA_MIN) { - 5892: 2805 cmp r0, #5 - 5894: d806 bhi.n 58a4 + 524a: 2805 cmp r0, #5 + 524c: d806 bhi.n 525c _LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_BLEND_MODE, outline_blend_mode, lv_blend_mode_t, _int, scalar) - 5896: 2242 movs r2, #66 ; 0x42 - 5898: 4631 mov r1, r6 - 589a: 4628 mov r0, r5 - 589c: 4b47 ldr r3, [pc, #284] ; (59bc ) - 589e: 4798 blx r3 - 58a0: 7760 strb r0, [r4, #29] - 58a2: e74f b.n 5744 + 524e: 2242 movs r2, #66 ; 0x42 + 5250: 4631 mov r1, r6 + 5252: 4628 mov r0, r5 + 5254: 4b47 ldr r3, [pc, #284] ; (5374 ) + 5256: 4798 blx r3 + 5258: 7760 strb r0, [r4, #29] + 525a: e74f b.n 50fc _LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_PAD, outline_pad, lv_style_int_t, _int, scalar) - 58a4: 2241 movs r2, #65 ; 0x41 - 58a6: 4631 mov r1, r6 - 58a8: 4628 mov r0, r5 - 58aa: 4b44 ldr r3, [pc, #272] ; (59bc ) - 58ac: 4798 blx r3 + 525c: 2241 movs r2, #65 ; 0x41 + 525e: 4631 mov r1, r6 + 5260: 4628 mov r0, r5 + 5262: 4b44 ldr r3, [pc, #272] ; (5374 ) + 5264: 4798 blx r3 draw_dsc->outline_pad = lv_obj_get_style_outline_pad(obj, part); - 58ae: 8360 strh r0, [r4, #26] + 5266: 8360 strh r0, [r4, #26] _LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_COLOR, outline_color, lv_color_t, _color, nonscalar) - 58b0: 2249 movs r2, #73 ; 0x49 - 58b2: 4631 mov r1, r6 - 58b4: 4628 mov r0, r5 - 58b6: 4b43 ldr r3, [pc, #268] ; (59c4 ) - 58b8: 4798 blx r3 + 5268: 2249 movs r2, #73 ; 0x49 + 526a: 4631 mov r1, r6 + 526c: 4628 mov r0, r5 + 526e: 4b43 ldr r3, [pc, #268] ; (537c ) + 5270: 4798 blx r3 draw_dsc->outline_color = lv_obj_get_style_outline_color(obj, part); - 58ba: 82e0 strh r0, [r4, #22] - 58bc: e7eb b.n 5896 + 5272: 82e0 strh r0, [r4, #22] + 5274: e7eb b.n 524e _LV_OBJ_STYLE_SET_GET_DECLARE(PATTERN_IMAGE, pattern_image, const void *, _ptr, scalar) - 58be: 226e movs r2, #110 ; 0x6e - 58c0: 4631 mov r1, r6 - 58c2: 4628 mov r0, r5 - 58c4: 4b40 ldr r3, [pc, #256] ; (59c8 ) - 58c6: 4798 blx r3 + 5276: 226e movs r2, #110 ; 0x6e + 5278: 4631 mov r1, r6 + 527a: 4628 mov r0, r5 + 527c: 4b40 ldr r3, [pc, #256] ; (5380 ) + 527e: 4798 blx r3 draw_dsc->pattern_image = lv_obj_get_style_pattern_image(obj, part); - 58c8: 62e0 str r0, [r4, #44] ; 0x2c + 5280: 62e0 str r0, [r4, #44] ; 0x2c if(draw_dsc->pattern_image) { - 58ca: 2800 cmp r0, #0 - 58cc: f43f af3f beq.w 574e + 5282: 2800 cmp r0, #0 + 5284: f43f af3f beq.w 5106 _LV_OBJ_STYLE_SET_GET_DECLARE(PATTERN_OPA, pattern_opa, lv_opa_t, _opa, scalar) - 58d0: 226c movs r2, #108 ; 0x6c - 58d2: 4631 mov r1, r6 - 58d4: 4628 mov r0, r5 - 58d6: 4b3a ldr r3, [pc, #232] ; (59c0 ) - 58d8: 4798 blx r3 + 5288: 226c movs r2, #108 ; 0x6c + 528a: 4631 mov r1, r6 + 528c: 4628 mov r0, r5 + 528e: 4b3a ldr r3, [pc, #232] ; (5378 ) + 5290: 4798 blx r3 draw_dsc->pattern_opa = lv_obj_get_style_pattern_opa(obj, part); - 58da: f884 0036 strb.w r0, [r4, #54] ; 0x36 + 5292: f884 0036 strb.w r0, [r4, #54] ; 0x36 if(draw_dsc->pattern_opa > LV_OPA_MIN) { - 58de: 2805 cmp r0, #5 - 58e0: f67f af35 bls.w 574e + 5296: 2805 cmp r0, #5 + 5298: f67f af35 bls.w 5106 _LV_OBJ_STYLE_SET_GET_DECLARE(PATTERN_RECOLOR_OPA, pattern_recolor_opa, lv_opa_t, _opa, scalar) - 58e4: 226d movs r2, #109 ; 0x6d - 58e6: 4631 mov r1, r6 - 58e8: 4628 mov r0, r5 - 58ea: 4b35 ldr r3, [pc, #212] ; (59c0 ) - 58ec: 4798 blx r3 + 529c: 226d movs r2, #109 ; 0x6d + 529e: 4631 mov r1, r6 + 52a0: 4628 mov r0, r5 + 52a2: 4b35 ldr r3, [pc, #212] ; (5378 ) + 52a4: 4798 blx r3 draw_dsc->pattern_recolor_opa = lv_obj_get_style_pattern_recolor_opa(obj, part); - 58ee: f884 0037 strb.w r0, [r4, #55] ; 0x37 + 52a6: f884 0037 strb.w r0, [r4, #55] ; 0x37 _LV_OBJ_STYLE_SET_GET_DECLARE(PATTERN_REPEAT, pattern_repeat, bool, _int, scalar) - 58f2: 2261 movs r2, #97 ; 0x61 - 58f4: 4631 mov r1, r6 - 58f6: 4628 mov r0, r5 - 58f8: 4b30 ldr r3, [pc, #192] ; (59bc ) - 58fa: 4798 blx r3 - 58fc: 3000 adds r0, #0 - 58fe: bf18 it ne - 5900: 2001 movne r0, #1 + 52aa: 2261 movs r2, #97 ; 0x61 + 52ac: 4631 mov r1, r6 + 52ae: 4628 mov r0, r5 + 52b0: 4b30 ldr r3, [pc, #192] ; (5374 ) + 52b2: 4798 blx r3 + 52b4: 3000 adds r0, #0 + 52b6: bf18 it ne + 52b8: 2001 movne r0, #1 draw_dsc->pattern_repeat = lv_obj_get_style_pattern_repeat(obj, part); - 5902: f894 3038 ldrb.w r3, [r4, #56] ; 0x38 - 5906: f360 0300 bfi r3, r0, #0, #1 - 590a: f884 3038 strb.w r3, [r4, #56] ; 0x38 + 52ba: f894 3038 ldrb.w r3, [r4, #56] ; 0x38 + 52be: f360 0300 bfi r3, r0, #0, #1 + 52c2: f884 3038 strb.w r3, [r4, #56] ; 0x38 if(lv_img_src_get_type(draw_dsc->pattern_image) == LV_IMG_SRC_SYMBOL) { - 590e: 6ae0 ldr r0, [r4, #44] ; 0x2c - 5910: 4b2e ldr r3, [pc, #184] ; (59cc ) - 5912: 4798 blx r3 - 5914: 2802 cmp r0, #2 - 5916: d00b beq.n 5930 + 52c6: 6ae0 ldr r0, [r4, #44] ; 0x2c + 52c8: 4b2e ldr r3, [pc, #184] ; (5384 ) + 52ca: 4798 blx r3 + 52cc: 2802 cmp r0, #2 + 52ce: d00b beq.n 52e8 else if(draw_dsc->pattern_recolor_opa > LV_OPA_MIN) { - 5918: f894 3037 ldrb.w r3, [r4, #55] ; 0x37 - 591c: 2b05 cmp r3, #5 - 591e: d815 bhi.n 594c + 52d0: f894 3037 ldrb.w r3, [r4, #55] ; 0x37 + 52d4: 2b05 cmp r3, #5 + 52d6: d815 bhi.n 5304 _LV_OBJ_STYLE_SET_GET_DECLARE(PATTERN_BLEND_MODE, pattern_blend_mode, lv_blend_mode_t, _int, scalar) - 5920: 2260 movs r2, #96 ; 0x60 - 5922: 4631 mov r1, r6 - 5924: 4628 mov r0, r5 - 5926: 4b25 ldr r3, [pc, #148] ; (59bc ) - 5928: 4798 blx r3 - 592a: f884 0039 strb.w r0, [r4, #57] ; 0x39 - 592e: e70e b.n 574e + 52d8: 2260 movs r2, #96 ; 0x60 + 52da: 4631 mov r1, r6 + 52dc: 4628 mov r0, r5 + 52de: 4b25 ldr r3, [pc, #148] ; (5374 ) + 52e0: 4798 blx r3 + 52e2: f884 0039 strb.w r0, [r4, #57] ; 0x39 + 52e6: e70e b.n 5106 _LV_OBJ_STYLE_SET_GET_DECLARE(PATTERN_RECOLOR, pattern_recolor, lv_color_t, _color, nonscalar) - 5930: 2269 movs r2, #105 ; 0x69 - 5932: 4631 mov r1, r6 - 5934: 4628 mov r0, r5 - 5936: 4b23 ldr r3, [pc, #140] ; (59c4 ) - 5938: 4798 blx r3 + 52e8: 2269 movs r2, #105 ; 0x69 + 52ea: 4631 mov r1, r6 + 52ec: 4628 mov r0, r5 + 52ee: 4b23 ldr r3, [pc, #140] ; (537c ) + 52f0: 4798 blx r3 draw_dsc->pattern_recolor = lv_obj_get_style_pattern_recolor(obj, part); - 593a: 86a0 strh r0, [r4, #52] ; 0x34 + 52f2: 86a0 strh r0, [r4, #52] ; 0x34 _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_FONT, text_font, const lv_font_t *, _ptr, scalar) - 593c: f248 028e movw r2, #32910 ; 0x808e - 5940: 4631 mov r1, r6 - 5942: 4628 mov r0, r5 - 5944: 4b20 ldr r3, [pc, #128] ; (59c8 ) - 5946: 4798 blx r3 + 52f4: f248 028e movw r2, #32910 ; 0x808e + 52f8: 4631 mov r1, r6 + 52fa: 4628 mov r0, r5 + 52fc: 4b20 ldr r3, [pc, #128] ; (5380 ) + 52fe: 4798 blx r3 draw_dsc->pattern_font = lv_obj_get_style_text_font(obj, part); - 5948: 6320 str r0, [r4, #48] ; 0x30 - 594a: e7e9 b.n 5920 + 5300: 6320 str r0, [r4, #48] ; 0x30 + 5302: e7e9 b.n 52d8 _LV_OBJ_STYLE_SET_GET_DECLARE(PATTERN_RECOLOR, pattern_recolor, lv_color_t, _color, nonscalar) - 594c: 2269 movs r2, #105 ; 0x69 - 594e: 4631 mov r1, r6 - 5950: 4628 mov r0, r5 - 5952: 4b1c ldr r3, [pc, #112] ; (59c4 ) - 5954: 4798 blx r3 + 5304: 2269 movs r2, #105 ; 0x69 + 5306: 4631 mov r1, r6 + 5308: 4628 mov r0, r5 + 530a: 4b1c ldr r3, [pc, #112] ; (537c ) + 530c: 4798 blx r3 draw_dsc->pattern_recolor = lv_obj_get_style_pattern_recolor(obj, part); - 5956: 86a0 strh r0, [r4, #52] ; 0x34 - 5958: e7e2 b.n 5920 + 530e: 86a0 strh r0, [r4, #52] ; 0x34 + 5310: e7e2 b.n 52d8 _LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_WIDTH, shadow_width, lv_style_int_t, _int, scalar) - 595a: 2250 movs r2, #80 ; 0x50 - 595c: 4631 mov r1, r6 - 595e: 4628 mov r0, r5 - 5960: 4b16 ldr r3, [pc, #88] ; (59bc ) - 5962: 4798 blx r3 + 5312: 2250 movs r2, #80 ; 0x50 + 5314: 4631 mov r1, r6 + 5316: 4628 mov r0, r5 + 5318: 4b16 ldr r3, [pc, #88] ; (5374 ) + 531a: 4798 blx r3 draw_dsc->shadow_width = lv_obj_get_style_shadow_width(obj, part); - 5964: 8420 strh r0, [r4, #32] + 531c: 8420 strh r0, [r4, #32] if(draw_dsc->shadow_width) { - 5966: 2800 cmp r0, #0 - 5968: f43f aef6 beq.w 5758 + 531e: 2800 cmp r0, #0 + 5320: f43f aef6 beq.w 5110 _LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_OPA, shadow_opa, lv_opa_t, _opa, scalar) - 596c: 225c movs r2, #92 ; 0x5c - 596e: 4631 mov r1, r6 - 5970: 4628 mov r0, r5 - 5972: 4b13 ldr r3, [pc, #76] ; (59c0 ) - 5974: 4798 blx r3 + 5324: 225c movs r2, #92 ; 0x5c + 5326: 4631 mov r1, r6 + 5328: 4628 mov r0, r5 + 532a: 4b13 ldr r3, [pc, #76] ; (5378 ) + 532c: 4798 blx r3 draw_dsc->shadow_opa = lv_obj_get_style_shadow_opa(obj, part); - 5976: f884 0028 strb.w r0, [r4, #40] ; 0x28 + 532e: f884 0028 strb.w r0, [r4, #40] ; 0x28 if(draw_dsc->shadow_opa > LV_OPA_MIN) { - 597a: 2805 cmp r0, #5 - 597c: f67f aeec bls.w 5758 + 5332: 2805 cmp r0, #5 + 5334: f67f aeec bls.w 5110 _LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_OFS_X, shadow_ofs_x, lv_style_int_t, _int, scalar) - 5980: 2251 movs r2, #81 ; 0x51 - 5982: 4631 mov r1, r6 - 5984: 4628 mov r0, r5 - 5986: f8df 8034 ldr.w r8, [pc, #52] ; 59bc - 598a: 47c0 blx r8 + 5338: 2251 movs r2, #81 ; 0x51 + 533a: 4631 mov r1, r6 + 533c: 4628 mov r0, r5 + 533e: f8df 8034 ldr.w r8, [pc, #52] ; 5374 + 5342: 47c0 blx r8 draw_dsc->shadow_ofs_x = lv_obj_get_style_shadow_ofs_x(obj, part); - 598c: 8460 strh r0, [r4, #34] ; 0x22 + 5344: 8460 strh r0, [r4, #34] ; 0x22 _LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_OFS_Y, shadow_ofs_y, lv_style_int_t, _int, scalar) - 598e: 2252 movs r2, #82 ; 0x52 - 5990: 4631 mov r1, r6 - 5992: 4628 mov r0, r5 - 5994: 47c0 blx r8 + 5346: 2252 movs r2, #82 ; 0x52 + 5348: 4631 mov r1, r6 + 534a: 4628 mov r0, r5 + 534c: 47c0 blx r8 draw_dsc->shadow_ofs_y = lv_obj_get_style_shadow_ofs_y(obj, part); - 5996: 84a0 strh r0, [r4, #36] ; 0x24 + 534e: 84a0 strh r0, [r4, #36] ; 0x24 _LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_SPREAD, shadow_spread, lv_style_int_t, _int, scalar) - 5998: 2253 movs r2, #83 ; 0x53 - 599a: 4631 mov r1, r6 - 599c: 4628 mov r0, r5 - 599e: 47c0 blx r8 + 5350: 2253 movs r2, #83 ; 0x53 + 5352: 4631 mov r1, r6 + 5354: 4628 mov r0, r5 + 5356: 47c0 blx r8 draw_dsc->shadow_spread = lv_obj_get_style_shadow_spread(obj, part); - 59a0: 84e0 strh r0, [r4, #38] ; 0x26 + 5358: 84e0 strh r0, [r4, #38] ; 0x26 _LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_COLOR, shadow_color, lv_color_t, _color, nonscalar) - 59a2: 2259 movs r2, #89 ; 0x59 - 59a4: 4631 mov r1, r6 - 59a6: 4628 mov r0, r5 - 59a8: 4b06 ldr r3, [pc, #24] ; (59c4 ) - 59aa: 4798 blx r3 + 535a: 2259 movs r2, #89 ; 0x59 + 535c: 4631 mov r1, r6 + 535e: 4628 mov r0, r5 + 5360: 4b06 ldr r3, [pc, #24] ; (537c ) + 5362: 4798 blx r3 draw_dsc->shadow_color = lv_obj_get_style_shadow_color(obj, part); - 59ac: 83e0 strh r0, [r4, #30] + 5364: 83e0 strh r0, [r4, #30] _LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_BLEND_MODE, shadow_blend_mode, lv_blend_mode_t, _int, scalar) - 59ae: 2254 movs r2, #84 ; 0x54 - 59b0: 4631 mov r1, r6 - 59b2: 4628 mov r0, r5 - 59b4: 47c0 blx r8 - 59b6: f884 0029 strb.w r0, [r4, #41] ; 0x29 - 59ba: e6cd b.n 5758 - 59bc: 00004b5d .word 0x00004b5d - 59c0: 00004c95 .word 0x00004c95 - 59c4: 00004c09 .word 0x00004c09 - 59c8: 00004d29 .word 0x00004d29 - 59cc: 00009f11 .word 0x00009f11 + 5366: 2254 movs r2, #84 ; 0x54 + 5368: 4631 mov r1, r6 + 536a: 4628 mov r0, r5 + 536c: 47c0 blx r8 + 536e: f884 0029 strb.w r0, [r4, #41] ; 0x29 + 5372: e6cd b.n 5110 + 5374: 000044d5 .word 0x000044d5 + 5378: 0000460d .word 0x0000460d + 537c: 00004581 .word 0x00004581 + 5380: 000046a1 .word 0x000046a1 + 5384: 00009969 .word 0x00009969 _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_STR, value_str, const char *, _ptr, scalar) - 59d0: 227f movs r2, #127 ; 0x7f - 59d2: 4631 mov r1, r6 - 59d4: 4628 mov r0, r5 - 59d6: 4b22 ldr r3, [pc, #136] ; (5a60 ) - 59d8: 4798 blx r3 + 5388: 227f movs r2, #127 ; 0x7f + 538a: 4631 mov r1, r6 + 538c: 4628 mov r0, r5 + 538e: 4b22 ldr r3, [pc, #136] ; (5418 ) + 5390: 4798 blx r3 draw_dsc->value_str = lv_obj_get_style_value_str(obj, part); - 59da: 63e0 str r0, [r4, #60] ; 0x3c + 5392: 63e0 str r0, [r4, #60] ; 0x3c if(draw_dsc->value_str) { - 59dc: 2800 cmp r0, #0 - 59de: f43f aec0 beq.w 5762 + 5394: 2800 cmp r0, #0 + 5396: f43f aec0 beq.w 511a _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_OPA, value_opa, lv_opa_t, _opa, scalar) - 59e2: 227c movs r2, #124 ; 0x7c - 59e4: 4631 mov r1, r6 - 59e6: 4628 mov r0, r5 - 59e8: 4b1e ldr r3, [pc, #120] ; (5a64 ) - 59ea: 4798 blx r3 + 539a: 227c movs r2, #124 ; 0x7c + 539c: 4631 mov r1, r6 + 539e: 4628 mov r0, r5 + 53a0: 4b1e ldr r3, [pc, #120] ; (541c ) + 53a2: 4798 blx r3 draw_dsc->value_opa = lv_obj_get_style_value_opa(obj, part); - 59ec: f884 0044 strb.w r0, [r4, #68] ; 0x44 + 53a4: f884 0044 strb.w r0, [r4, #68] ; 0x44 if(draw_dsc->value_opa > LV_OPA_MIN) { - 59f0: 2805 cmp r0, #5 - 59f2: f67f aeb6 bls.w 5762 + 53a8: 2805 cmp r0, #5 + 53aa: f67f aeb6 bls.w 511a _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_OFS_X, value_ofs_x, lv_style_int_t, _int, scalar) - 59f6: 2273 movs r2, #115 ; 0x73 - 59f8: 4631 mov r1, r6 - 59fa: 4628 mov r0, r5 - 59fc: f8df 806c ldr.w r8, [pc, #108] ; 5a6c - 5a00: 47c0 blx r8 + 53ae: 2273 movs r2, #115 ; 0x73 + 53b0: 4631 mov r1, r6 + 53b2: 4628 mov r0, r5 + 53b4: f8df 806c ldr.w r8, [pc, #108] ; 5424 + 53b8: 47c0 blx r8 draw_dsc->value_ofs_x = lv_obj_get_style_value_ofs_x(obj, part); - 5a02: f8a4 0048 strh.w r0, [r4, #72] ; 0x48 + 53ba: f8a4 0048 strh.w r0, [r4, #72] ; 0x48 _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_OFS_Y, value_ofs_y, lv_style_int_t, _int, scalar) - 5a06: 2274 movs r2, #116 ; 0x74 - 5a08: 4631 mov r1, r6 - 5a0a: 4628 mov r0, r5 - 5a0c: 47c0 blx r8 + 53be: 2274 movs r2, #116 ; 0x74 + 53c0: 4631 mov r1, r6 + 53c2: 4628 mov r0, r5 + 53c4: 47c0 blx r8 draw_dsc->value_ofs_y = lv_obj_get_style_value_ofs_y(obj, part); - 5a0e: f8a4 004a strh.w r0, [r4, #74] ; 0x4a + 53c6: f8a4 004a strh.w r0, [r4, #74] ; 0x4a _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_COLOR, value_color, lv_color_t, _color, nonscalar) - 5a12: 2279 movs r2, #121 ; 0x79 - 5a14: 4631 mov r1, r6 - 5a16: 4628 mov r0, r5 - 5a18: 4b13 ldr r3, [pc, #76] ; (5a68 ) - 5a1a: 4798 blx r3 + 53ca: 2279 movs r2, #121 ; 0x79 + 53cc: 4631 mov r1, r6 + 53ce: 4628 mov r0, r5 + 53d0: 4b13 ldr r3, [pc, #76] ; (5420 ) + 53d2: 4798 blx r3 draw_dsc->value_color = lv_obj_get_style_value_color(obj, part); - 5a1c: f8a4 0046 strh.w r0, [r4, #70] ; 0x46 + 53d4: f8a4 0046 strh.w r0, [r4, #70] ; 0x46 _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_FONT, value_font, const lv_font_t *, _ptr, scalar) - 5a20: 227e movs r2, #126 ; 0x7e - 5a22: 4631 mov r1, r6 - 5a24: 4628 mov r0, r5 - 5a26: 4b0e ldr r3, [pc, #56] ; (5a60 ) - 5a28: 4798 blx r3 + 53d8: 227e movs r2, #126 ; 0x7e + 53da: 4631 mov r1, r6 + 53dc: 4628 mov r0, r5 + 53de: 4b0e ldr r3, [pc, #56] ; (5418 ) + 53e0: 4798 blx r3 draw_dsc->value_font = lv_obj_get_style_value_font(obj, part); - 5a2a: 6420 str r0, [r4, #64] ; 0x40 + 53e2: 6420 str r0, [r4, #64] ; 0x40 _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_LETTER_SPACE, value_letter_space, lv_style_int_t, _int, scalar) - 5a2c: 2270 movs r2, #112 ; 0x70 - 5a2e: 4631 mov r1, r6 - 5a30: 4628 mov r0, r5 - 5a32: 47c0 blx r8 + 53e4: 2270 movs r2, #112 ; 0x70 + 53e6: 4631 mov r1, r6 + 53e8: 4628 mov r0, r5 + 53ea: 47c0 blx r8 draw_dsc->value_letter_space = lv_obj_get_style_value_letter_space(obj, part); - 5a34: f8a4 004c strh.w r0, [r4, #76] ; 0x4c + 53ec: f8a4 004c strh.w r0, [r4, #76] ; 0x4c _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_LINE_SPACE, value_line_space, lv_style_int_t, _int, scalar) - 5a38: 2271 movs r2, #113 ; 0x71 - 5a3a: 4631 mov r1, r6 - 5a3c: 4628 mov r0, r5 - 5a3e: 47c0 blx r8 + 53f0: 2271 movs r2, #113 ; 0x71 + 53f2: 4631 mov r1, r6 + 53f4: 4628 mov r0, r5 + 53f6: 47c0 blx r8 draw_dsc->value_line_space = lv_obj_get_style_value_line_space(obj, part); - 5a40: f8a4 004e strh.w r0, [r4, #78] ; 0x4e + 53f8: f8a4 004e strh.w r0, [r4, #78] ; 0x4e _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_ALIGN, value_align, lv_align_t, _int, scalar) - 5a44: 2275 movs r2, #117 ; 0x75 - 5a46: 4631 mov r1, r6 - 5a48: 4628 mov r0, r5 - 5a4a: 47c0 blx r8 - 5a4c: f884 0050 strb.w r0, [r4, #80] ; 0x50 + 53fc: 2275 movs r2, #117 ; 0x75 + 53fe: 4631 mov r1, r6 + 5400: 4628 mov r0, r5 + 5402: 47c0 blx r8 + 5404: f884 0050 strb.w r0, [r4, #80] ; 0x50 _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_BLEND_MODE, value_blend_mode, lv_blend_mode_t, _int, scalar) - 5a50: 2272 movs r2, #114 ; 0x72 - 5a52: 4631 mov r1, r6 - 5a54: 4628 mov r0, r5 - 5a56: 47c0 blx r8 - 5a58: f884 0051 strb.w r0, [r4, #81] ; 0x51 - 5a5c: e681 b.n 5762 - 5a5e: bf00 nop - 5a60: 00004d29 .word 0x00004d29 - 5a64: 00004c95 .word 0x00004c95 - 5a68: 00004c09 .word 0x00004c09 - 5a6c: 00004b5d .word 0x00004b5d - -00005a70 : -{ - 5a70: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - 5a74: b098 sub sp, #96 ; 0x60 - 5a76: 4604 mov r4, r0 - 5a78: 460e mov r6, r1 + 5408: 2272 movs r2, #114 ; 0x72 + 540a: 4631 mov r1, r6 + 540c: 4628 mov r0, r5 + 540e: 47c0 blx r8 + 5410: f884 0051 strb.w r0, [r4, #81] ; 0x51 + 5414: e681 b.n 511a + 5416: bf00 nop + 5418: 000046a1 .word 0x000046a1 + 541c: 0000460d .word 0x0000460d + 5420: 00004581 .word 0x00004581 + 5424: 000044d5 .word 0x000044d5 + +00005428 : +{ + 5428: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} + 542c: b098 sub sp, #96 ; 0x60 + 542e: 4604 mov r4, r0 + 5430: 460e mov r6, r1 if(mode == LV_DESIGN_COVER_CHK) { - 5a7a: 2a02 cmp r2, #2 - 5a7c: d008 beq.n 5a90 + 5432: 2a02 cmp r2, #2 + 5434: d008 beq.n 5448 else if(mode == LV_DESIGN_DRAW_MAIN) { - 5a7e: 2a00 cmp r2, #0 - 5a80: d06c beq.n 5b5c + 5436: 2a00 cmp r2, #0 + 5438: d06c beq.n 5514 else if(mode == LV_DESIGN_DRAW_POST) { - 5a82: 2a01 cmp r2, #1 - 5a84: f000 80cc beq.w 5c20 + 543a: 2a01 cmp r2, #1 + 543c: f000 80cc beq.w 55d8 return LV_DESIGN_RES_OK; - 5a88: 2000 movs r0, #0 + 5440: 2000 movs r0, #0 } - 5a8a: b018 add sp, #96 ; 0x60 - 5a8c: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + 5442: b018 add sp, #96 ; 0x60 + 5444: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} _LV_OBJ_STYLE_SET_GET_DECLARE(CLIP_CORNER, clip_corner, bool, _int, scalar) - 5a90: 2100 movs r1, #0 - 5a92: 4b8e ldr r3, [pc, #568] ; (5ccc ) - 5a94: 4798 blx r3 + 5448: 2100 movs r1, #0 + 544a: 4b8e ldr r3, [pc, #568] ; (5684 ) + 544c: 4798 blx r3 if(lv_obj_get_style_clip_corner(obj, LV_OBJ_PART_MAIN)) return LV_DESIGN_RES_MASKED; - 5a96: b108 cbz r0, 5a9c - 5a98: 2003 movs r0, #3 - 5a9a: e7f6 b.n 5a8a + 544e: b108 cbz r0, 5454 + 5450: 2003 movs r0, #3 + 5452: e7f6 b.n 5442 _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 5a9c: 2201 movs r2, #1 - 5a9e: 2100 movs r1, #0 - 5aa0: 4620 mov r0, r4 - 5aa2: 4d8a ldr r5, [pc, #552] ; (5ccc ) - 5aa4: 47a8 blx r5 - 5aa6: 4607 mov r7, r0 + 5454: 2201 movs r2, #1 + 5456: 2100 movs r1, #0 + 5458: 4620 mov r0, r4 + 545a: 4d8a ldr r5, [pc, #552] ; (5684 ) + 545c: 47a8 blx r5 + 545e: 4607 mov r7, r0 _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_WIDTH, transform_width, lv_style_int_t, _int, scalar) - 5aa8: 2204 movs r2, #4 - 5aaa: 2100 movs r1, #0 - 5aac: 4620 mov r0, r4 - 5aae: 47a8 blx r5 - 5ab0: 4680 mov r8, r0 + 5460: 2204 movs r2, #4 + 5462: 2100 movs r1, #0 + 5464: 4620 mov r0, r4 + 5466: 47a8 blx r5 + 5468: 4680 mov r8, r0 _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_HEIGHT, transform_height, lv_style_int_t, _int, scalar) - 5ab2: 2205 movs r2, #5 - 5ab4: 2100 movs r1, #0 - 5ab6: 4620 mov r0, r4 - 5ab8: 47a8 blx r5 - 5aba: f104 030f add.w r3, r4, #15 - 5abe: f104 0517 add.w r5, r4, #23 + 546a: 2205 movs r2, #5 + 546c: 2100 movs r1, #0 + 546e: 4620 mov r0, r4 + 5470: 47a8 blx r5 + 5472: f104 030f add.w r3, r4, #15 + 5476: f104 0517 add.w r5, r4, #23 uint8_t * d8 = (uint8_t *)dst; - 5ac2: aa03 add r2, sp, #12 + 547a: aa03 add r2, sp, #12 *d8 = *s8; - 5ac4: f813 1f01 ldrb.w r1, [r3, #1]! - 5ac8: f802 1b01 strb.w r1, [r2], #1 + 547c: f813 1f01 ldrb.w r1, [r3, #1]! + 5480: f802 1b01 strb.w r1, [r2], #1 while(len) { - 5acc: 429d cmp r5, r3 - 5ace: d1f9 bne.n 5ac4 + 5484: 429d cmp r5, r3 + 5486: d1f9 bne.n 547c coords.x1 -= w; - 5ad0: fa1f f888 uxth.w r8, r8 - 5ad4: f8bd 300c ldrh.w r3, [sp, #12] - 5ad8: eba3 0308 sub.w r3, r3, r8 - 5adc: f8ad 300c strh.w r3, [sp, #12] + 5488: fa1f f888 uxth.w r8, r8 + 548c: f8bd 300c ldrh.w r3, [sp, #12] + 5490: eba3 0308 sub.w r3, r3, r8 + 5494: f8ad 300c strh.w r3, [sp, #12] coords.x2 += w; - 5ae0: f8bd 3010 ldrh.w r3, [sp, #16] - 5ae4: 4498 add r8, r3 - 5ae6: f8ad 8010 strh.w r8, [sp, #16] + 5498: f8bd 3010 ldrh.w r3, [sp, #16] + 549c: 4498 add r8, r3 + 549e: f8ad 8010 strh.w r8, [sp, #16] coords.y1 -= h; - 5aea: b280 uxth r0, r0 - 5aec: f8bd 300e ldrh.w r3, [sp, #14] - 5af0: 1a1b subs r3, r3, r0 - 5af2: f8ad 300e strh.w r3, [sp, #14] + 54a2: b280 uxth r0, r0 + 54a4: f8bd 300e ldrh.w r3, [sp, #14] + 54a8: 1a1b subs r3, r3, r0 + 54aa: f8ad 300e strh.w r3, [sp, #14] coords.y2 += h; - 5af6: f8bd 3012 ldrh.w r3, [sp, #18] - 5afa: 4418 add r0, r3 - 5afc: f8ad 0012 strh.w r0, [sp, #18] + 54ae: f8bd 3012 ldrh.w r3, [sp, #18] + 54b2: 4418 add r0, r3 + 54b4: f8ad 0012 strh.w r0, [sp, #18] if(_lv_area_is_in(clip_area, &coords, r) == false) return LV_DESIGN_RES_NOT_COVER; - 5b00: 463a mov r2, r7 - 5b02: a903 add r1, sp, #12 - 5b04: 4630 mov r0, r6 - 5b06: 4b72 ldr r3, [pc, #456] ; (5cd0 ) - 5b08: 4798 blx r3 - 5b0a: b908 cbnz r0, 5b10 - 5b0c: 2002 movs r0, #2 - 5b0e: e7bc b.n 5a8a + 54b8: 463a mov r2, r7 + 54ba: a903 add r1, sp, #12 + 54bc: 4630 mov r0, r6 + 54be: 4b72 ldr r3, [pc, #456] ; (5688 ) + 54c0: 4798 blx r3 + 54c2: b908 cbnz r0, 54c8 + 54c4: 2002 movs r0, #2 + 54c6: e7bc b.n 5442 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 5b10: 222c movs r2, #44 ; 0x2c - 5b12: 2100 movs r1, #0 - 5b14: 4620 mov r0, r4 - 5b16: 4b6f ldr r3, [pc, #444] ; (5cd4 ) - 5b18: 4798 blx r3 + 54c8: 222c movs r2, #44 ; 0x2c + 54ca: 2100 movs r1, #0 + 54cc: 4620 mov r0, r4 + 54ce: 4b6f ldr r3, [pc, #444] ; (568c ) + 54d0: 4798 blx r3 if(lv_obj_get_style_bg_opa(obj, LV_OBJ_PART_MAIN) < LV_OPA_MAX) return LV_DESIGN_RES_NOT_COVER; - 5b1a: 28f9 cmp r0, #249 ; 0xf9 - 5b1c: d801 bhi.n 5b22 - 5b1e: 2002 movs r0, #2 - 5b20: e7b3 b.n 5a8a + 54d2: 28f9 cmp r0, #249 ; 0xf9 + 54d4: d801 bhi.n 54da + 54d6: 2002 movs r0, #2 + 54d8: e7b3 b.n 5442 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_BLEND_MODE, bg_blend_mode, lv_blend_mode_t, _int, scalar) - 5b22: 2220 movs r2, #32 - 5b24: 2100 movs r1, #0 - 5b26: 4620 mov r0, r4 - 5b28: 4b68 ldr r3, [pc, #416] ; (5ccc ) - 5b2a: 4798 blx r3 + 54da: 2220 movs r2, #32 + 54dc: 2100 movs r1, #0 + 54de: 4620 mov r0, r4 + 54e0: 4b68 ldr r3, [pc, #416] ; (5684 ) + 54e2: 4798 blx r3 if(lv_obj_get_style_bg_blend_mode(obj, LV_OBJ_PART_MAIN) != LV_BLEND_MODE_NORMAL) return LV_DESIGN_RES_NOT_COVER; - 5b2c: b2c0 uxtb r0, r0 - 5b2e: b108 cbz r0, 5b34 - 5b30: 2002 movs r0, #2 - 5b32: e7aa b.n 5a8a + 54e4: b2c0 uxtb r0, r0 + 54e6: b108 cbz r0, 54ec + 54e8: 2002 movs r0, #2 + 54ea: e7aa b.n 5442 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_BLEND_MODE, border_blend_mode, lv_blend_mode_t, _int, scalar) - 5b34: 2232 movs r2, #50 ; 0x32 - 5b36: 2100 movs r1, #0 - 5b38: 4620 mov r0, r4 - 5b3a: 4b64 ldr r3, [pc, #400] ; (5ccc ) - 5b3c: 4798 blx r3 + 54ec: 2232 movs r2, #50 ; 0x32 + 54ee: 2100 movs r1, #0 + 54f0: 4620 mov r0, r4 + 54f2: 4b64 ldr r3, [pc, #400] ; (5684 ) + 54f4: 4798 blx r3 if(lv_obj_get_style_border_blend_mode(obj, LV_OBJ_PART_MAIN) != LV_BLEND_MODE_NORMAL) return LV_DESIGN_RES_NOT_COVER; - 5b3e: b2c0 uxtb r0, r0 - 5b40: b108 cbz r0, 5b46 - 5b42: 2002 movs r0, #2 - 5b44: e7a1 b.n 5a8a + 54f6: b2c0 uxtb r0, r0 + 54f8: b108 cbz r0, 54fe + 54fa: 2002 movs r0, #2 + 54fc: e7a1 b.n 5442 _LV_OBJ_STYLE_SET_GET_DECLARE(OPA_SCALE, opa_scale, lv_opa_t, _opa, scalar) - 5b46: f248 020c movw r2, #32780 ; 0x800c - 5b4a: 2100 movs r1, #0 - 5b4c: 4620 mov r0, r4 - 5b4e: 4b61 ldr r3, [pc, #388] ; (5cd4 ) - 5b50: 4798 blx r3 + 54fe: f248 020c movw r2, #32780 ; 0x800c + 5502: 2100 movs r1, #0 + 5504: 4620 mov r0, r4 + 5506: 4b61 ldr r3, [pc, #388] ; (568c ) + 5508: 4798 blx r3 return LV_DESIGN_RES_COVER; - 5b52: 28fa cmp r0, #250 ; 0xfa - 5b54: bf34 ite cc - 5b56: 2002 movcc r0, #2 - 5b58: 2001 movcs r0, #1 - 5b5a: e796 b.n 5a8a + 550a: 28fa cmp r0, #250 ; 0xfa + 550c: bf34 ite cc + 550e: 2002 movcc r0, #2 + 5510: 2001 movcs r0, #1 + 5512: e796 b.n 5442 lv_draw_rect_dsc_init(&draw_dsc); - 5b5c: a803 add r0, sp, #12 - 5b5e: 4b5e ldr r3, [pc, #376] ; (5cd8 ) - 5b60: 4798 blx r3 + 5514: a803 add r0, sp, #12 + 5516: 4b5e ldr r3, [pc, #376] ; (5690 ) + 5518: 4798 blx r3 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_POST, border_post, bool, _int, scalar) - 5b62: 2233 movs r2, #51 ; 0x33 - 5b64: 2100 movs r1, #0 - 5b66: 4620 mov r0, r4 - 5b68: 4b58 ldr r3, [pc, #352] ; (5ccc ) - 5b6a: 4798 blx r3 + 551a: 2233 movs r2, #51 ; 0x33 + 551c: 2100 movs r1, #0 + 551e: 4620 mov r0, r4 + 5520: 4b58 ldr r3, [pc, #352] ; (5684 ) + 5522: 4798 blx r3 if(lv_obj_get_style_border_post(obj, LV_OBJ_PART_MAIN)) { - 5b6c: b110 cbz r0, 5b74 + 5524: b110 cbz r0, 552c draw_dsc.border_opa = LV_OPA_TRANSP; - 5b6e: 2300 movs r3, #0 - 5b70: f88d 3020 strb.w r3, [sp, #32] + 5526: 2300 movs r3, #0 + 5528: f88d 3020 strb.w r3, [sp, #32] lv_obj_init_draw_rect_dsc(obj, LV_OBJ_PART_MAIN, &draw_dsc); - 5b74: aa03 add r2, sp, #12 - 5b76: 2100 movs r1, #0 - 5b78: 4620 mov r0, r4 - 5b7a: 4b58 ldr r3, [pc, #352] ; (5cdc ) - 5b7c: 4798 blx r3 + 552c: aa03 add r2, sp, #12 + 552e: 2100 movs r1, #0 + 5530: 4620 mov r0, r4 + 5532: 4b58 ldr r3, [pc, #352] ; (5694 ) + 5534: 4798 blx r3 _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_WIDTH, transform_width, lv_style_int_t, _int, scalar) - 5b7e: 2204 movs r2, #4 - 5b80: 2100 movs r1, #0 - 5b82: 4620 mov r0, r4 - 5b84: 4d51 ldr r5, [pc, #324] ; (5ccc ) - 5b86: 47a8 blx r5 - 5b88: 4680 mov r8, r0 + 5536: 2204 movs r2, #4 + 5538: 2100 movs r1, #0 + 553a: 4620 mov r0, r4 + 553c: 4d51 ldr r5, [pc, #324] ; (5684 ) + 553e: 47a8 blx r5 + 5540: 4680 mov r8, r0 _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_HEIGHT, transform_height, lv_style_int_t, _int, scalar) - 5b8a: 2205 movs r2, #5 - 5b8c: 2100 movs r1, #0 - 5b8e: 4620 mov r0, r4 - 5b90: 47a8 blx r5 + 5542: 2205 movs r2, #5 + 5544: 2100 movs r1, #0 + 5546: 4620 mov r0, r4 + 5548: 47a8 blx r5 lv_area_copy(&coords, &obj->coords); - 5b92: f104 0710 add.w r7, r4, #16 - 5b96: f104 030f add.w r3, r4, #15 - 5b9a: f104 0517 add.w r5, r4, #23 + 554a: f104 0710 add.w r7, r4, #16 + 554e: f104 030f add.w r3, r4, #15 + 5552: f104 0517 add.w r5, r4, #23 uint8_t * d8 = (uint8_t *)dst; - 5b9e: aa01 add r2, sp, #4 + 5556: aa01 add r2, sp, #4 *d8 = *s8; - 5ba0: f813 1f01 ldrb.w r1, [r3, #1]! - 5ba4: f802 1b01 strb.w r1, [r2], #1 + 5558: f813 1f01 ldrb.w r1, [r3, #1]! + 555c: f802 1b01 strb.w r1, [r2], #1 while(len) { - 5ba8: 42ab cmp r3, r5 - 5baa: d1f9 bne.n 5ba0 + 5560: 42ab cmp r3, r5 + 5562: d1f9 bne.n 5558 coords.x1 -= w; - 5bac: fa1f f888 uxth.w r8, r8 - 5bb0: f8bd 3004 ldrh.w r3, [sp, #4] - 5bb4: eba3 0308 sub.w r3, r3, r8 - 5bb8: f8ad 3004 strh.w r3, [sp, #4] + 5564: fa1f f888 uxth.w r8, r8 + 5568: f8bd 3004 ldrh.w r3, [sp, #4] + 556c: eba3 0308 sub.w r3, r3, r8 + 5570: f8ad 3004 strh.w r3, [sp, #4] coords.x2 += w; - 5bbc: f8bd 3008 ldrh.w r3, [sp, #8] - 5bc0: 4498 add r8, r3 - 5bc2: f8ad 8008 strh.w r8, [sp, #8] + 5574: f8bd 3008 ldrh.w r3, [sp, #8] + 5578: 4498 add r8, r3 + 557a: f8ad 8008 strh.w r8, [sp, #8] coords.y1 -= h; - 5bc6: b280 uxth r0, r0 - 5bc8: f8bd 3006 ldrh.w r3, [sp, #6] - 5bcc: 1a1b subs r3, r3, r0 - 5bce: f8ad 3006 strh.w r3, [sp, #6] + 557e: b280 uxth r0, r0 + 5580: f8bd 3006 ldrh.w r3, [sp, #6] + 5584: 1a1b subs r3, r3, r0 + 5586: f8ad 3006 strh.w r3, [sp, #6] coords.y2 += h; - 5bd2: f8bd 300a ldrh.w r3, [sp, #10] - 5bd6: 4418 add r0, r3 - 5bd8: f8ad 000a strh.w r0, [sp, #10] + 558a: f8bd 300a ldrh.w r3, [sp, #10] + 558e: 4418 add r0, r3 + 5590: f8ad 000a strh.w r0, [sp, #10] lv_draw_rect(&coords, clip_area, &draw_dsc); - 5bdc: aa03 add r2, sp, #12 - 5bde: 4631 mov r1, r6 - 5be0: a801 add r0, sp, #4 - 5be2: 4b3f ldr r3, [pc, #252] ; (5ce0 ) - 5be4: 4798 blx r3 + 5594: aa03 add r2, sp, #12 + 5596: 4631 mov r1, r6 + 5598: a801 add r0, sp, #4 + 559a: 4b3f ldr r3, [pc, #252] ; (5698 ) + 559c: 4798 blx r3 _LV_OBJ_STYLE_SET_GET_DECLARE(CLIP_CORNER, clip_corner, bool, _int, scalar) - 5be6: 2202 movs r2, #2 - 5be8: 2100 movs r1, #0 - 5bea: 4620 mov r0, r4 - 5bec: 4b37 ldr r3, [pc, #220] ; (5ccc ) - 5bee: 4798 blx r3 + 559e: 2202 movs r2, #2 + 55a0: 2100 movs r1, #0 + 55a2: 4620 mov r0, r4 + 55a4: 4b37 ldr r3, [pc, #220] ; (5684 ) + 55a6: 4798 blx r3 if(lv_obj_get_style_clip_corner(obj, LV_OBJ_PART_MAIN)) { - 5bf0: b908 cbnz r0, 5bf6 + 55a8: b908 cbnz r0, 55ae return LV_DESIGN_RES_OK; - 5bf2: 2000 movs r0, #0 - 5bf4: e749 b.n 5a8a + 55aa: 2000 movs r0, #0 + 55ac: e749 b.n 5442 lv_draw_mask_radius_param_t * mp = _lv_mem_buf_get(sizeof(lv_draw_mask_radius_param_t)); - 5bf6: 201c movs r0, #28 - 5bf8: 4b3a ldr r3, [pc, #232] ; (5ce4 ) - 5bfa: 4798 blx r3 - 5bfc: 4605 mov r5, r0 + 55ae: 201c movs r0, #28 + 55b0: 4b3a ldr r3, [pc, #232] ; (569c ) + 55b2: 4798 blx r3 + 55b4: 4605 mov r5, r0 _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 5bfe: 2201 movs r2, #1 - 5c00: 2100 movs r1, #0 - 5c02: 4620 mov r0, r4 - 5c04: 4b31 ldr r3, [pc, #196] ; (5ccc ) - 5c06: 4798 blx r3 + 55b6: 2201 movs r2, #1 + 55b8: 2100 movs r1, #0 + 55ba: 4620 mov r0, r4 + 55bc: 4b31 ldr r3, [pc, #196] ; (5684 ) + 55be: 4798 blx r3 lv_draw_mask_radius_init(mp, &obj->coords, r, false); - 5c08: 2300 movs r3, #0 - 5c0a: 4602 mov r2, r0 - 5c0c: 4639 mov r1, r7 - 5c0e: 4628 mov r0, r5 - 5c10: 4e35 ldr r6, [pc, #212] ; (5ce8 ) - 5c12: 47b0 blx r6 + 55c0: 2300 movs r3, #0 + 55c2: 4602 mov r2, r0 + 55c4: 4639 mov r1, r7 + 55c6: 4628 mov r0, r5 + 55c8: 4e35 ldr r6, [pc, #212] ; (56a0 ) + 55ca: 47b0 blx r6 lv_draw_mask_add(mp, obj + 8); - 5c14: f504 7118 add.w r1, r4, #608 ; 0x260 - 5c18: 4628 mov r0, r5 - 5c1a: 4b34 ldr r3, [pc, #208] ; (5cec ) - 5c1c: 4798 blx r3 - 5c1e: e7e8 b.n 5bf2 + 55cc: f504 7118 add.w r1, r4, #608 ; 0x260 + 55d0: 4628 mov r0, r5 + 55d2: 4b34 ldr r3, [pc, #208] ; (56a4 ) + 55d4: 4798 blx r3 + 55d6: e7e8 b.n 55aa _LV_OBJ_STYLE_SET_GET_DECLARE(CLIP_CORNER, clip_corner, bool, _int, scalar) - 5c20: 2202 movs r2, #2 - 5c22: 2100 movs r1, #0 - 5c24: 4b29 ldr r3, [pc, #164] ; (5ccc ) - 5c26: 4798 blx r3 + 55d8: 2202 movs r2, #2 + 55da: 2100 movs r1, #0 + 55dc: 4b29 ldr r3, [pc, #164] ; (5684 ) + 55de: 4798 blx r3 if(lv_obj_get_style_clip_corner(obj, LV_OBJ_PART_MAIN)) { - 5c28: b938 cbnz r0, 5c3a + 55e0: b938 cbnz r0, 55f2 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_POST, border_post, bool, _int, scalar) - 5c2a: 2233 movs r2, #51 ; 0x33 - 5c2c: 2100 movs r1, #0 - 5c2e: 4620 mov r0, r4 - 5c30: 4b26 ldr r3, [pc, #152] ; (5ccc ) - 5c32: 4798 blx r3 + 55e2: 2233 movs r2, #51 ; 0x33 + 55e4: 2100 movs r1, #0 + 55e6: 4620 mov r0, r4 + 55e8: 4b26 ldr r3, [pc, #152] ; (5684 ) + 55ea: 4798 blx r3 if(lv_obj_get_style_border_post(obj, LV_OBJ_PART_MAIN)) { - 5c34: b940 cbnz r0, 5c48 + 55ec: b940 cbnz r0, 5600 return LV_DESIGN_RES_OK; - 5c36: 2000 movs r0, #0 - 5c38: e727 b.n 5a8a + 55ee: 2000 movs r0, #0 + 55f0: e727 b.n 5442 lv_draw_mask_radius_param_t * param = lv_draw_mask_remove_custom(obj + 8); - 5c3a: f504 7018 add.w r0, r4, #608 ; 0x260 - 5c3e: 4b2c ldr r3, [pc, #176] ; (5cf0 ) - 5c40: 4798 blx r3 + 55f2: f504 7018 add.w r0, r4, #608 ; 0x260 + 55f6: 4b2c ldr r3, [pc, #176] ; (56a8 ) + 55f8: 4798 blx r3 _lv_mem_buf_release(param); - 5c42: 4b2c ldr r3, [pc, #176] ; (5cf4 ) - 5c44: 4798 blx r3 - 5c46: e7f0 b.n 5c2a + 55fa: 4b2c ldr r3, [pc, #176] ; (56ac ) + 55fc: 4798 blx r3 + 55fe: e7f0 b.n 55e2 lv_draw_rect_dsc_init(&draw_dsc); - 5c48: a803 add r0, sp, #12 - 5c4a: 4b23 ldr r3, [pc, #140] ; (5cd8 ) - 5c4c: 4798 blx r3 + 5600: a803 add r0, sp, #12 + 5602: 4b23 ldr r3, [pc, #140] ; (5690 ) + 5604: 4798 blx r3 draw_dsc.bg_opa = LV_OPA_TRANSP; - 5c4e: 2700 movs r7, #0 - 5c50: f88d 7018 strb.w r7, [sp, #24] + 5606: 2700 movs r7, #0 + 5608: f88d 7018 strb.w r7, [sp, #24] draw_dsc.pattern_opa = LV_OPA_TRANSP; - 5c54: f88d 7042 strb.w r7, [sp, #66] ; 0x42 + 560c: f88d 7042 strb.w r7, [sp, #66] ; 0x42 draw_dsc.shadow_opa = LV_OPA_TRANSP; - 5c58: f88d 7034 strb.w r7, [sp, #52] ; 0x34 + 5610: f88d 7034 strb.w r7, [sp, #52] ; 0x34 lv_obj_init_draw_rect_dsc(obj, LV_OBJ_PART_MAIN, &draw_dsc); - 5c5c: aa03 add r2, sp, #12 - 5c5e: 4639 mov r1, r7 - 5c60: 4620 mov r0, r4 - 5c62: 4b1e ldr r3, [pc, #120] ; (5cdc ) - 5c64: 4798 blx r3 + 5614: aa03 add r2, sp, #12 + 5616: 4639 mov r1, r7 + 5618: 4620 mov r0, r4 + 561a: 4b1e ldr r3, [pc, #120] ; (5694 ) + 561c: 4798 blx r3 _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_WIDTH, transform_width, lv_style_int_t, _int, scalar) - 5c66: 2204 movs r2, #4 - 5c68: 4639 mov r1, r7 - 5c6a: 4620 mov r0, r4 - 5c6c: 4d17 ldr r5, [pc, #92] ; (5ccc ) - 5c6e: 47a8 blx r5 - 5c70: 4680 mov r8, r0 + 561e: 2204 movs r2, #4 + 5620: 4639 mov r1, r7 + 5622: 4620 mov r0, r4 + 5624: 4d17 ldr r5, [pc, #92] ; (5684 ) + 5626: 47a8 blx r5 + 5628: 4680 mov r8, r0 _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_HEIGHT, transform_height, lv_style_int_t, _int, scalar) - 5c72: 2205 movs r2, #5 - 5c74: 4639 mov r1, r7 - 5c76: 4620 mov r0, r4 - 5c78: 47a8 blx r5 - 5c7a: f104 030f add.w r3, r4, #15 - 5c7e: 3417 adds r4, #23 + 562a: 2205 movs r2, #5 + 562c: 4639 mov r1, r7 + 562e: 4620 mov r0, r4 + 5630: 47a8 blx r5 + 5632: f104 030f add.w r3, r4, #15 + 5636: 3417 adds r4, #23 uint8_t * d8 = (uint8_t *)dst; - 5c80: aa01 add r2, sp, #4 + 5638: aa01 add r2, sp, #4 *d8 = *s8; - 5c82: f813 1f01 ldrb.w r1, [r3, #1]! - 5c86: f802 1b01 strb.w r1, [r2], #1 + 563a: f813 1f01 ldrb.w r1, [r3, #1]! + 563e: f802 1b01 strb.w r1, [r2], #1 while(len) { - 5c8a: 42a3 cmp r3, r4 - 5c8c: d1f9 bne.n 5c82 + 5642: 42a3 cmp r3, r4 + 5644: d1f9 bne.n 563a coords.x1 -= w; - 5c8e: fa1f f388 uxth.w r3, r8 - 5c92: f8bd 2004 ldrh.w r2, [sp, #4] - 5c96: 1ad2 subs r2, r2, r3 - 5c98: f8ad 2004 strh.w r2, [sp, #4] + 5646: fa1f f388 uxth.w r3, r8 + 564a: f8bd 2004 ldrh.w r2, [sp, #4] + 564e: 1ad2 subs r2, r2, r3 + 5650: f8ad 2004 strh.w r2, [sp, #4] coords.x2 += w; - 5c9c: f8bd 2008 ldrh.w r2, [sp, #8] - 5ca0: 4413 add r3, r2 - 5ca2: f8ad 3008 strh.w r3, [sp, #8] + 5654: f8bd 2008 ldrh.w r2, [sp, #8] + 5658: 4413 add r3, r2 + 565a: f8ad 3008 strh.w r3, [sp, #8] coords.y1 -= h; - 5ca6: b280 uxth r0, r0 - 5ca8: f8bd 3006 ldrh.w r3, [sp, #6] - 5cac: 1a1b subs r3, r3, r0 - 5cae: f8ad 3006 strh.w r3, [sp, #6] + 565e: b280 uxth r0, r0 + 5660: f8bd 3006 ldrh.w r3, [sp, #6] + 5664: 1a1b subs r3, r3, r0 + 5666: f8ad 3006 strh.w r3, [sp, #6] coords.y2 += h; - 5cb2: f8bd 300a ldrh.w r3, [sp, #10] - 5cb6: 4418 add r0, r3 - 5cb8: f8ad 000a strh.w r0, [sp, #10] + 566a: f8bd 300a ldrh.w r3, [sp, #10] + 566e: 4418 add r0, r3 + 5670: f8ad 000a strh.w r0, [sp, #10] lv_draw_rect(&coords, clip_area, &draw_dsc); - 5cbc: aa03 add r2, sp, #12 - 5cbe: 4631 mov r1, r6 - 5cc0: a801 add r0, sp, #4 - 5cc2: 4b07 ldr r3, [pc, #28] ; (5ce0 ) - 5cc4: 4798 blx r3 + 5674: aa03 add r2, sp, #12 + 5676: 4631 mov r1, r6 + 5678: a801 add r0, sp, #4 + 567a: 4b07 ldr r3, [pc, #28] ; (5698 ) + 567c: 4798 blx r3 return LV_DESIGN_RES_OK; - 5cc6: 2000 movs r0, #0 - 5cc8: e6df b.n 5a8a - 5cca: bf00 nop - 5ccc: 00004b5d .word 0x00004b5d - 5cd0: 00011d15 .word 0x00011d15 - 5cd4: 00004c95 .word 0x00004c95 - 5cd8: 0000c811 .word 0x0000c811 - 5cdc: 0000570d .word 0x0000570d - 5ce0: 0000c8d9 .word 0x0000c8d9 - 5ce4: 00012ee5 .word 0x00012ee5 - 5ce8: 0000c5d5 .word 0x0000c5d5 - 5cec: 0000c369 .word 0x0000c369 - 5cf0: 0000c439 .word 0x0000c439 - 5cf4: 00012b19 .word 0x00012b19 - -00005cf8 : -{ - 5cf8: b5f8 push {r3, r4, r5, r6, r7, lr} - 5cfa: 4605 mov r5, r0 - 5cfc: 460e mov r6, r1 - 5cfe: 4614 mov r4, r2 + 567e: 2000 movs r0, #0 + 5680: e6df b.n 5442 + 5682: bf00 nop + 5684: 000044d5 .word 0x000044d5 + 5688: 0001176d .word 0x0001176d + 568c: 0000460d .word 0x0000460d + 5690: 0000c269 .word 0x0000c269 + 5694: 000050c5 .word 0x000050c5 + 5698: 0000c331 .word 0x0000c331 + 569c: 0001293d .word 0x0001293d + 56a0: 0000c02d .word 0x0000c02d + 56a4: 0000bdc1 .word 0x0000bdc1 + 56a8: 0000be91 .word 0x0000be91 + 56ac: 00012571 .word 0x00012571 + +000056b0 : +{ + 56b0: b5f8 push {r3, r4, r5, r6, r7, lr} + 56b2: 4605 mov r5, r0 + 56b4: 460e mov r6, r1 + 56b6: 4614 mov r4, r2 _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_OPA, text_opa, lv_opa_t, _opa, scalar) - 5d00: f248 028c movw r2, #32908 ; 0x808c - 5d04: 4b26 ldr r3, [pc, #152] ; (5da0 ) - 5d06: 4798 blx r3 + 56b8: f248 028c movw r2, #32908 ; 0x808c + 56bc: 4b26 ldr r3, [pc, #152] ; (5758 ) + 56be: 4798 blx r3 draw_dsc->opa = lv_obj_get_style_text_opa(obj, part); - 5d08: 7220 strb r0, [r4, #8] + 56c0: 7220 strb r0, [r4, #8] if(draw_dsc->opa <= LV_OPA_MIN) return; - 5d0a: 2805 cmp r0, #5 - 5d0c: d800 bhi.n 5d10 - 5d0e: bdf8 pop {r3, r4, r5, r6, r7, pc} + 56c2: 2805 cmp r0, #5 + 56c4: d800 bhi.n 56c8 + 56c6: bdf8 pop {r3, r4, r5, r6, r7, pc} _LV_OBJ_STYLE_SET_GET_DECLARE(OPA_SCALE, opa_scale, lv_opa_t, _opa, scalar) - 5d10: f248 020c movw r2, #32780 ; 0x800c - 5d14: 4631 mov r1, r6 - 5d16: 4628 mov r0, r5 - 5d18: 4b21 ldr r3, [pc, #132] ; (5da0 ) - 5d1a: 4798 blx r3 + 56c8: f248 020c movw r2, #32780 ; 0x800c + 56cc: 4631 mov r1, r6 + 56ce: 4628 mov r0, r5 + 56d0: 4b21 ldr r3, [pc, #132] ; (5758 ) + 56d2: 4798 blx r3 if(opa_scale < LV_OPA_MAX) { - 5d1c: 28f9 cmp r0, #249 ; 0xf9 - 5d1e: d805 bhi.n 5d2c + 56d4: 28f9 cmp r0, #249 ; 0xf9 + 56d6: d805 bhi.n 56e4 draw_dsc->opa = (uint16_t)((uint16_t)draw_dsc->opa * opa_scale) >> 8; - 5d20: 7a23 ldrb r3, [r4, #8] - 5d22: fb13 f000 smulbb r0, r3, r0 - 5d26: f3c0 2007 ubfx r0, r0, #8, #8 - 5d2a: 7220 strb r0, [r4, #8] + 56d8: 7a23 ldrb r3, [r4, #8] + 56da: fb13 f000 smulbb r0, r3, r0 + 56de: f3c0 2007 ubfx r0, r0, #8, #8 + 56e2: 7220 strb r0, [r4, #8] if(draw_dsc->opa <= LV_OPA_MIN) return; - 5d2c: 7a23 ldrb r3, [r4, #8] - 5d2e: 2b05 cmp r3, #5 - 5d30: d9ed bls.n 5d0e + 56e4: 7a23 ldrb r3, [r4, #8] + 56e6: 2b05 cmp r3, #5 + 56e8: d9ed bls.n 56c6 _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar) - 5d32: f248 0289 movw r2, #32905 ; 0x8089 - 5d36: 4631 mov r1, r6 - 5d38: 4628 mov r0, r5 - 5d3a: 4b1a ldr r3, [pc, #104] ; (5da4 ) - 5d3c: 4798 blx r3 + 56ea: f248 0289 movw r2, #32905 ; 0x8089 + 56ee: 4631 mov r1, r6 + 56f0: 4628 mov r0, r5 + 56f2: 4b1a ldr r3, [pc, #104] ; (575c ) + 56f4: 4798 blx r3 draw_dsc->color = lv_obj_get_style_text_color(obj, part); - 5d3e: 8020 strh r0, [r4, #0] + 56f6: 8020 strh r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_LETTER_SPACE, text_letter_space, lv_style_int_t, _int, scalar) - 5d40: f248 0280 movw r2, #32896 ; 0x8080 - 5d44: 4631 mov r1, r6 - 5d46: 4628 mov r0, r5 - 5d48: 4f17 ldr r7, [pc, #92] ; (5da8 ) - 5d4a: 47b8 blx r7 + 56f8: f248 0280 movw r2, #32896 ; 0x8080 + 56fc: 4631 mov r1, r6 + 56fe: 4628 mov r0, r5 + 5700: 4f17 ldr r7, [pc, #92] ; (5760 ) + 5702: 47b8 blx r7 draw_dsc->letter_space = lv_obj_get_style_text_letter_space(obj, part); - 5d4c: 81a0 strh r0, [r4, #12] + 5704: 81a0 strh r0, [r4, #12] _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_LINE_SPACE, text_line_space, lv_style_int_t, _int, scalar) - 5d4e: f248 0281 movw r2, #32897 ; 0x8081 - 5d52: 4631 mov r1, r6 - 5d54: 4628 mov r0, r5 - 5d56: 47b8 blx r7 + 5706: f248 0281 movw r2, #32897 ; 0x8081 + 570a: 4631 mov r1, r6 + 570c: 4628 mov r0, r5 + 570e: 47b8 blx r7 draw_dsc->line_space = lv_obj_get_style_text_line_space(obj, part); - 5d58: 8160 strh r0, [r4, #10] + 5710: 8160 strh r0, [r4, #10] _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_DECOR, text_decor, lv_text_decor_t, _int, scalar) - 5d5a: f248 0282 movw r2, #32898 ; 0x8082 - 5d5e: 4631 mov r1, r6 - 5d60: 4628 mov r0, r5 - 5d62: 47b8 blx r7 - 5d64: 7620 strb r0, [r4, #24] + 5712: f248 0282 movw r2, #32898 ; 0x8082 + 5716: 4631 mov r1, r6 + 5718: 4628 mov r0, r5 + 571a: 47b8 blx r7 + 571c: 7620 strb r0, [r4, #24] _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_BLEND_MODE, text_blend_mode, lv_blend_mode_t, _int, scalar) - 5d66: f248 0283 movw r2, #32899 ; 0x8083 - 5d6a: 4631 mov r1, r6 - 5d6c: 4628 mov r0, r5 - 5d6e: 47b8 blx r7 - 5d70: 7660 strb r0, [r4, #25] + 571e: f248 0283 movw r2, #32899 ; 0x8083 + 5722: 4631 mov r1, r6 + 5724: 4628 mov r0, r5 + 5726: 47b8 blx r7 + 5728: 7660 strb r0, [r4, #25] _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_FONT, text_font, const lv_font_t *, _ptr, scalar) - 5d72: f248 028e movw r2, #32910 ; 0x808e - 5d76: 4631 mov r1, r6 - 5d78: 4628 mov r0, r5 - 5d7a: 4b0c ldr r3, [pc, #48] ; (5dac ) - 5d7c: 4798 blx r3 + 572a: f248 028e movw r2, #32910 ; 0x808e + 572e: 4631 mov r1, r6 + 5730: 4628 mov r0, r5 + 5732: 4b0c ldr r3, [pc, #48] ; (5764 ) + 5734: 4798 blx r3 draw_dsc->font = lv_obj_get_style_text_font(obj, part); - 5d7e: 6060 str r0, [r4, #4] + 5736: 6060 str r0, [r4, #4] if(draw_dsc->sel_start != LV_DRAW_LABEL_NO_TXT_SEL && draw_dsc->sel_end != LV_DRAW_LABEL_NO_TXT_SEL) { - 5d80: 89e2 ldrh r2, [r4, #14] - 5d82: f64f 73ff movw r3, #65535 ; 0xffff - 5d86: 429a cmp r2, r3 - 5d88: d0c1 beq.n 5d0e - 5d8a: 8a22 ldrh r2, [r4, #16] - 5d8c: 429a cmp r2, r3 - 5d8e: d0be beq.n 5d0e + 5738: 89e2 ldrh r2, [r4, #14] + 573a: f64f 73ff movw r3, #65535 ; 0xffff + 573e: 429a cmp r2, r3 + 5740: d0c1 beq.n 56c6 + 5742: 8a22 ldrh r2, [r4, #16] + 5744: 429a cmp r2, r3 + 5746: d0be beq.n 56c6 _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_SEL_COLOR, text_sel_color, lv_color_t, _color, nonscalar) - 5d90: f248 028a movw r2, #32906 ; 0x808a - 5d94: 4631 mov r1, r6 - 5d96: 4628 mov r0, r5 - 5d98: 4b02 ldr r3, [pc, #8] ; (5da4 ) - 5d9a: 4798 blx r3 + 5748: f248 028a movw r2, #32906 ; 0x808a + 574c: 4631 mov r1, r6 + 574e: 4628 mov r0, r5 + 5750: 4b02 ldr r3, [pc, #8] ; (575c ) + 5752: 4798 blx r3 draw_dsc->color = lv_obj_get_style_text_sel_color(obj, part); - 5d9c: 8020 strh r0, [r4, #0] - 5d9e: e7b6 b.n 5d0e - 5da0: 00004c95 .word 0x00004c95 - 5da4: 00004c09 .word 0x00004c09 - 5da8: 00004b5d .word 0x00004b5d - 5dac: 00004d29 .word 0x00004d29 - -00005db0 : -{ - 5db0: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 5db4: b089 sub sp, #36 ; 0x24 - 5db6: 4604 mov r4, r0 - 5db8: 460e mov r6, r1 -_LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_WIDTH, shadow_width, lv_style_int_t, _int, scalar) - 5dba: 2250 movs r2, #80 ; 0x50 - 5dbc: 4b76 ldr r3, [pc, #472] ; (5f98 ) - 5dbe: 4798 blx r3 - if(sh_width) { - 5dc0: 4607 mov r7, r0 - 5dc2: bb68 cbnz r0, 5e20 -_LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_STR, value_str, const char *, _ptr, scalar) - 5dc4: 227f movs r2, #127 ; 0x7f - 5dc6: 4631 mov r1, r6 - 5dc8: 4620 mov r0, r4 - 5dca: 4b74 ldr r3, [pc, #464] ; (5f9c ) - 5dcc: 4798 blx r3 + 5754: 8020 strh r0, [r4, #0] + 5756: e7b6 b.n 56c6 + 5758: 0000460d .word 0x0000460d + 575c: 00004581 .word 0x00004581 + 5760: 000044d5 .word 0x000044d5 + 5764: 000046a1 .word 0x000046a1 + +00005768 : +{ + 5768: b570 push {r4, r5, r6, lr} + 576a: 4605 mov r5, r0 + 576c: 460e mov r6, r1 + 576e: 4614 mov r4, r2 +_LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_OPA, image_opa, lv_opa_t, _opa, scalar) + 5770: f248 02ac movw r2, #32940 ; 0x80ac + 5774: 4b21 ldr r3, [pc, #132] ; (57fc ) + 5776: 4798 blx r3 + draw_dsc->opa = lv_obj_get_style_image_opa(obj, part); + 5778: 7020 strb r0, [r4, #0] + if(draw_dsc->opa <= LV_OPA_MIN) return; + 577a: 2805 cmp r0, #5 + 577c: d800 bhi.n 5780 + 577e: bd70 pop {r4, r5, r6, pc} +_LV_OBJ_STYLE_SET_GET_DECLARE(OPA_SCALE, opa_scale, lv_opa_t, _opa, scalar) + 5780: f248 020c movw r2, #32780 ; 0x800c + 5784: 4631 mov r1, r6 + 5786: 4628 mov r0, r5 + 5788: 4b1c ldr r3, [pc, #112] ; (57fc ) + 578a: 4798 blx r3 + if(opa_scale < LV_OPA_MAX) { + 578c: 28f9 cmp r0, #249 ; 0xf9 + 578e: d805 bhi.n 579c + draw_dsc->opa = (uint16_t)((uint16_t)draw_dsc->opa * opa_scale) >> 8; + 5790: 7823 ldrb r3, [r4, #0] + 5792: fb13 f000 smulbb r0, r3, r0 + 5796: f3c0 2007 ubfx r0, r0, #8, #8 + 579a: 7020 strb r0, [r4, #0] + if(draw_dsc->opa <= LV_OPA_MIN) return; + 579c: 7823 ldrb r3, [r4, #0] + 579e: 2b05 cmp r3, #5 + 57a0: d9ed bls.n 577e + draw_dsc->angle = 0; + 57a2: 2300 movs r3, #0 + 57a4: 8063 strh r3, [r4, #2] + draw_dsc->zoom = LV_IMG_ZOOM_NONE; + 57a6: f44f 7380 mov.w r3, #256 ; 0x100 + 57aa: 8123 strh r3, [r4, #8] + return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); + 57ac: 8aab ldrh r3, [r5, #20] + 57ae: 3301 adds r3, #1 + 57b0: 8a2a ldrh r2, [r5, #16] + 57b2: 1a9b subs r3, r3, r2 + draw_dsc->pivot.x = lv_area_get_width(&obj->coords) / 2; + 57b4: b21b sxth r3, r3 + 57b6: eb03 73d3 add.w r3, r3, r3, lsr #31 + 57ba: 105b asrs r3, r3, #1 + 57bc: 80a3 strh r3, [r4, #4] + return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); + 57be: 8aeb ldrh r3, [r5, #22] + 57c0: 3301 adds r3, #1 + 57c2: 8a6a ldrh r2, [r5, #18] + 57c4: 1a9b subs r3, r3, r2 + draw_dsc->pivot.y = lv_area_get_height(&obj->coords) / 2; + 57c6: b21b sxth r3, r3 + 57c8: eb03 73d3 add.w r3, r3, r3, lsr #31 + 57cc: 105b asrs r3, r3, #1 + 57ce: 80e3 strh r3, [r4, #6] +_LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_RECOLOR_OPA, image_recolor_opa, lv_opa_t, _opa, scalar) + 57d0: f248 02ad movw r2, #32941 ; 0x80ad + 57d4: 4631 mov r1, r6 + 57d6: 4628 mov r0, r5 + 57d8: 4b08 ldr r3, [pc, #32] ; (57fc ) + 57da: 4798 blx r3 + draw_dsc->recolor_opa = lv_obj_get_style_image_recolor_opa(obj, part); + 57dc: 72a0 strb r0, [r4, #10] +_LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_RECOLOR, image_recolor, lv_color_t, _color, nonscalar) + 57de: f248 02a9 movw r2, #32937 ; 0x80a9 + 57e2: 4631 mov r1, r6 + 57e4: 4628 mov r0, r5 + 57e6: 4b06 ldr r3, [pc, #24] ; (5800 ) + 57e8: 4798 blx r3 + draw_dsc->recolor = lv_obj_get_style_image_recolor(obj, part); + 57ea: 81a0 strh r0, [r4, #12] +_LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_BLEND_MODE, image_blend_mode, lv_blend_mode_t, _int, scalar) + 57ec: f248 02a0 movw r2, #32928 ; 0x80a0 + 57f0: 4631 mov r1, r6 + 57f2: 4628 mov r0, r5 + 57f4: 4b03 ldr r3, [pc, #12] ; (5804 ) + 57f6: 4798 blx r3 + 57f8: 73a0 strb r0, [r4, #14] + 57fa: e7c0 b.n 577e + 57fc: 0000460d .word 0x0000460d + 5800: 00004581 .word 0x00004581 + 5804: 000044d5 .word 0x000044d5 + +00005808 : +{ + 5808: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 580c: b089 sub sp, #36 ; 0x24 + 580e: 4604 mov r4, r0 + 5810: 460e mov r6, r1 +_LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_WIDTH, shadow_width, lv_style_int_t, _int, scalar) + 5812: 2250 movs r2, #80 ; 0x50 + 5814: 4b76 ldr r3, [pc, #472] ; (59f0 ) + 5816: 4798 blx r3 + if(sh_width) { + 5818: 4607 mov r7, r0 + 581a: bb68 cbnz r0, 5878 +_LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_STR, value_str, const char *, _ptr, scalar) + 581c: 227f movs r2, #127 ; 0x7f + 581e: 4631 mov r1, r6 + 5820: 4620 mov r0, r4 + 5822: 4b74 ldr r3, [pc, #464] ; (59f4 ) + 5824: 4798 blx r3 if(value_str) { - 5dce: 4680 mov r8, r0 - 5dd0: b130 cbz r0, 5de0 + 5826: 4680 mov r8, r0 + 5828: b130 cbz r0, 5838 _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_OPA, value_opa, lv_opa_t, _opa, scalar) - 5dd2: 227c movs r2, #124 ; 0x7c - 5dd4: 4631 mov r1, r6 - 5dd6: 4620 mov r0, r4 - 5dd8: 4b71 ldr r3, [pc, #452] ; (5fa0 ) - 5dda: 4798 blx r3 + 582a: 227c movs r2, #124 ; 0x7c + 582c: 4631 mov r1, r6 + 582e: 4620 mov r0, r4 + 5830: 4b71 ldr r3, [pc, #452] ; (59f8 ) + 5832: 4798 blx r3 if(value_opa > LV_OPA_MIN) { - 5ddc: 2805 cmp r0, #5 - 5dde: d84c bhi.n 5e7a + 5834: 2805 cmp r0, #5 + 5836: d84c bhi.n 58d2 _LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_WIDTH, outline_width, lv_style_int_t, _int, scalar) - 5de0: 2240 movs r2, #64 ; 0x40 - 5de2: 4631 mov r1, r6 - 5de4: 4620 mov r0, r4 - 5de6: 4b6c ldr r3, [pc, #432] ; (5f98 ) - 5de8: 4798 blx r3 + 5838: 2240 movs r2, #64 ; 0x40 + 583a: 4631 mov r1, r6 + 583c: 4620 mov r0, r4 + 583e: 4b6c ldr r3, [pc, #432] ; (59f0 ) + 5840: 4798 blx r3 if(outline_width) { - 5dea: 4605 mov r5, r0 - 5dec: 2800 cmp r0, #0 - 5dee: f040 80bf bne.w 5f70 + 5842: 4605 mov r5, r0 + 5844: 2800 cmp r0, #0 + 5846: f040 80bf bne.w 59c8 _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_WIDTH, transform_width, lv_style_int_t, _int, scalar) - 5df2: 2204 movs r2, #4 - 5df4: 4631 mov r1, r6 - 5df6: 4620 mov r0, r4 - 5df8: f8df 819c ldr.w r8, [pc, #412] ; 5f98 - 5dfc: 47c0 blx r8 - 5dfe: 4605 mov r5, r0 + 584a: 2204 movs r2, #4 + 584c: 4631 mov r1, r6 + 584e: 4620 mov r0, r4 + 5850: f8df 819c ldr.w r8, [pc, #412] ; 59f0 + 5854: 47c0 blx r8 + 5856: 4605 mov r5, r0 _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_HEIGHT, transform_height, lv_style_int_t, _int, scalar) - 5e00: 2205 movs r2, #5 - 5e02: 4631 mov r1, r6 - 5e04: 4620 mov r0, r4 - 5e06: 47c0 blx r8 + 5858: 2205 movs r2, #5 + 585a: 4631 mov r1, r6 + 585c: 4620 mov r0, r4 + 585e: 47c0 blx r8 lv_coord_t wh = LV_MATH_MAX(w, h); - 5e08: 42a8 cmp r0, r5 - 5e0a: bfb8 it lt - 5e0c: 4628 movlt r0, r5 - 5e0e: b200 sxth r0, r0 + 5860: 42a8 cmp r0, r5 + 5862: bfb8 it lt + 5864: 4628 movlt r0, r5 + 5866: b200 sxth r0, r0 if(wh > 0) s += wh; - 5e10: 2800 cmp r0, #0 - 5e12: bfc4 itt gt - 5e14: 19c0 addgt r0, r0, r7 - 5e16: b207 sxthgt r7, r0 -} - 5e18: 4638 mov r0, r7 - 5e1a: b009 add sp, #36 ; 0x24 - 5e1c: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 5868: 2800 cmp r0, #0 + 586a: bfc4 itt gt + 586c: 19c0 addgt r0, r0, r7 + 586e: b207 sxthgt r7, r0 +} + 5870: 4638 mov r0, r7 + 5872: b009 add sp, #36 ; 0x24 + 5874: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} _LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_OPA, shadow_opa, lv_opa_t, _opa, scalar) - 5e20: 225c movs r2, #92 ; 0x5c - 5e22: 4631 mov r1, r6 - 5e24: 4620 mov r0, r4 - 5e26: 4b5e ldr r3, [pc, #376] ; (5fa0 ) - 5e28: 4798 blx r3 + 5878: 225c movs r2, #92 ; 0x5c + 587a: 4631 mov r1, r6 + 587c: 4620 mov r0, r4 + 587e: 4b5e ldr r3, [pc, #376] ; (59f8 ) + 5880: 4798 blx r3 if(sh_opa > LV_OPA_MIN) { - 5e2a: 2805 cmp r0, #5 - 5e2c: d801 bhi.n 5e32 + 5882: 2805 cmp r0, #5 + 5884: d801 bhi.n 588a lv_coord_t s = 0; - 5e2e: 2700 movs r7, #0 - 5e30: e7c8 b.n 5dc4 + 5886: 2700 movs r7, #0 + 5888: e7c8 b.n 581c _LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_SPREAD, shadow_spread, lv_style_int_t, _int, scalar) - 5e32: 2253 movs r2, #83 ; 0x53 - 5e34: 4631 mov r1, r6 - 5e36: 4620 mov r0, r4 - 5e38: 4d57 ldr r5, [pc, #348] ; (5f98 ) - 5e3a: 47a8 blx r5 + 588a: 2253 movs r2, #83 ; 0x53 + 588c: 4631 mov r1, r6 + 588e: 4620 mov r0, r4 + 5890: 4d57 ldr r5, [pc, #348] ; (59f0 ) + 5892: 47a8 blx r5 sh_width = sh_width / 2; /*THe blur adds only half width*/ - 5e3c: eb07 77d7 add.w r7, r7, r7, lsr #31 + 5894: eb07 77d7 add.w r7, r7, r7, lsr #31 sh_width++; - 5e40: eb00 0767 add.w r7, r0, r7, asr #1 + 5898: eb00 0767 add.w r7, r0, r7, asr #1 sh_width += lv_obj_get_style_shadow_spread(obj, part); - 5e44: 3701 adds r7, #1 - 5e46: b2bf uxth r7, r7 + 589c: 3701 adds r7, #1 + 589e: b2bf uxth r7, r7 _LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_OFS_X, shadow_ofs_x, lv_style_int_t, _int, scalar) - 5e48: 2251 movs r2, #81 ; 0x51 - 5e4a: 4631 mov r1, r6 - 5e4c: 4620 mov r0, r4 - 5e4e: 47a8 blx r5 - 5e50: 4680 mov r8, r0 + 58a0: 2251 movs r2, #81 ; 0x51 + 58a2: 4631 mov r1, r6 + 58a4: 4620 mov r0, r4 + 58a6: 47a8 blx r5 + 58a8: 4680 mov r8, r0 _LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_OFS_Y, shadow_ofs_y, lv_style_int_t, _int, scalar) - 5e52: 2252 movs r2, #82 ; 0x52 - 5e54: 4631 mov r1, r6 - 5e56: 4620 mov r0, r4 - 5e58: 47a8 blx r5 + 58aa: 2252 movs r2, #82 ; 0x52 + 58ac: 4631 mov r1, r6 + 58ae: 4620 mov r0, r4 + 58b0: 47a8 blx r5 sh_width += LV_MATH_MAX(LV_MATH_ABS(sh_ofs_x), LV_MATH_ABS(sh_ofs_y)); - 5e5a: 2800 cmp r0, #0 - 5e5c: bfb8 it lt - 5e5e: 4240 neglt r0, r0 - 5e60: f1b8 0f00 cmp.w r8, #0 - 5e64: bfb8 it lt - 5e66: f1c8 0800 rsblt r8, r8, #0 - 5e6a: 4540 cmp r0, r8 - 5e6c: bfac ite ge - 5e6e: 183f addge r7, r7, r0 - 5e70: 4447 addlt r7, r8 + 58b2: 2800 cmp r0, #0 + 58b4: bfb8 it lt + 58b6: 4240 neglt r0, r0 + 58b8: f1b8 0f00 cmp.w r8, #0 + 58bc: bfb8 it lt + 58be: f1c8 0800 rsblt r8, r8, #0 + 58c2: 4540 cmp r0, r8 + 58c4: bfac ite ge + 58c6: 183f addge r7, r7, r0 + 58c8: 4447 addlt r7, r8 s = LV_MATH_MAX(s, sh_width); - 5e72: b238 sxth r0, r7 - 5e74: ea20 77e0 bic.w r7, r0, r0, asr #31 - 5e78: e7a4 b.n 5dc4 + 58ca: b238 sxth r0, r7 + 58cc: ea20 77e0 bic.w r7, r0, r0, asr #31 + 58d0: e7a4 b.n 581c _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_LETTER_SPACE, value_letter_space, lv_style_int_t, _int, scalar) - 5e7a: 2270 movs r2, #112 ; 0x70 - 5e7c: 4631 mov r1, r6 - 5e7e: 4620 mov r0, r4 - 5e80: 4d45 ldr r5, [pc, #276] ; (5f98 ) - 5e82: 47a8 blx r5 - 5e84: 4682 mov sl, r0 - 5e86: 2270 movs r2, #112 ; 0x70 - 5e88: 4631 mov r1, r6 - 5e8a: 4620 mov r0, r4 - 5e8c: 47a8 blx r5 - 5e8e: 4683 mov fp, r0 + 58d2: 2270 movs r2, #112 ; 0x70 + 58d4: 4631 mov r1, r6 + 58d6: 4620 mov r0, r4 + 58d8: 4d45 ldr r5, [pc, #276] ; (59f0 ) + 58da: 47a8 blx r5 + 58dc: 4682 mov sl, r0 + 58de: 2270 movs r2, #112 ; 0x70 + 58e0: 4631 mov r1, r6 + 58e2: 4620 mov r0, r4 + 58e4: 47a8 blx r5 + 58e6: 4683 mov fp, r0 _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_FONT, value_font, const lv_font_t *, _ptr, scalar) - 5e90: 227e movs r2, #126 ; 0x7e - 5e92: 4631 mov r1, r6 - 5e94: 4620 mov r0, r4 - 5e96: 4b41 ldr r3, [pc, #260] ; (5f9c ) - 5e98: 4798 blx r3 + 58e8: 227e movs r2, #126 ; 0x7e + 58ea: 4631 mov r1, r6 + 58ec: 4620 mov r0, r4 + 58ee: 4b41 ldr r3, [pc, #260] ; (59f4 ) + 58f0: 4798 blx r3 _lv_txt_get_size(&txt_size, value_str, font, letter_space, line_space, LV_COORD_MAX, LV_TXT_FLAG_NONE); - 5e9a: f04f 0900 mov.w r9, #0 - 5e9e: f8cd 9008 str.w r9, [sp, #8] - 5ea2: f647 4318 movw r3, #31768 ; 0x7c18 - 5ea6: 9301 str r3, [sp, #4] - 5ea8: f8cd b000 str.w fp, [sp] - 5eac: 4653 mov r3, sl - 5eae: 4602 mov r2, r0 - 5eb0: 4641 mov r1, r8 - 5eb2: a804 add r0, sp, #16 - 5eb4: f8df 80ec ldr.w r8, [pc, #236] ; 5fa4 - 5eb8: 47c0 blx r8 + 58f2: f04f 0900 mov.w r9, #0 + 58f6: f8cd 9008 str.w r9, [sp, #8] + 58fa: f647 4318 movw r3, #31768 ; 0x7c18 + 58fe: 9301 str r3, [sp, #4] + 5900: f8cd b000 str.w fp, [sp] + 5904: 4653 mov r3, sl + 5906: 4602 mov r2, r0 + 5908: 4641 mov r1, r8 + 590a: a804 add r0, sp, #16 + 590c: f8df 80ec ldr.w r8, [pc, #236] ; 59fc + 5910: 47c0 blx r8 value_area.x1 = 0; - 5eba: f8ad 9018 strh.w r9, [sp, #24] + 5912: f8ad 9018 strh.w r9, [sp, #24] value_area.y1 = 0; - 5ebe: f8ad 901a strh.w r9, [sp, #26] + 5916: f8ad 901a strh.w r9, [sp, #26] value_area.x2 = txt_size.x - 1; - 5ec2: f8bd 3010 ldrh.w r3, [sp, #16] - 5ec6: 3b01 subs r3, #1 - 5ec8: f8ad 301c strh.w r3, [sp, #28] + 591a: f8bd 3010 ldrh.w r3, [sp, #16] + 591e: 3b01 subs r3, #1 + 5920: f8ad 301c strh.w r3, [sp, #28] value_area.y2 = txt_size.y - 1; - 5ecc: f8bd 3012 ldrh.w r3, [sp, #18] - 5ed0: 3b01 subs r3, #1 - 5ed2: f8ad 301e strh.w r3, [sp, #30] + 5924: f8bd 3012 ldrh.w r3, [sp, #18] + 5928: 3b01 subs r3, #1 + 592a: f8ad 301e strh.w r3, [sp, #30] _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_ALIGN, value_align, lv_align_t, _int, scalar) - 5ed6: 2275 movs r2, #117 ; 0x75 - 5ed8: 4631 mov r1, r6 - 5eda: 4620 mov r0, r4 - 5edc: 47a8 blx r5 - 5ede: 4681 mov r9, r0 + 592e: 2275 movs r2, #117 ; 0x75 + 5930: 4631 mov r1, r6 + 5932: 4620 mov r0, r4 + 5934: 47a8 blx r5 + 5936: 4681 mov r9, r0 _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_OFS_X, value_ofs_x, lv_style_int_t, _int, scalar) - 5ee0: 2273 movs r2, #115 ; 0x73 - 5ee2: 4631 mov r1, r6 - 5ee4: 4620 mov r0, r4 - 5ee6: 47a8 blx r5 - 5ee8: 4680 mov r8, r0 + 5938: 2273 movs r2, #115 ; 0x73 + 593a: 4631 mov r1, r6 + 593c: 4620 mov r0, r4 + 593e: 47a8 blx r5 + 5940: 4680 mov r8, r0 _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_OFS_Y, value_ofs_y, lv_style_int_t, _int, scalar) - 5eea: 2274 movs r2, #116 ; 0x74 - 5eec: 4631 mov r1, r6 - 5eee: 4620 mov r0, r4 - 5ef0: 47a8 blx r5 - 5ef2: 4605 mov r5, r0 + 5942: 2274 movs r2, #116 ; 0x74 + 5944: 4631 mov r1, r6 + 5946: 4620 mov r0, r4 + 5948: 47a8 blx r5 + 594a: 4605 mov r5, r0 _lv_area_align(&obj->coords, &value_area, align, &p_align); - 5ef4: ab05 add r3, sp, #20 - 5ef6: fa5f f289 uxtb.w r2, r9 - 5efa: a906 add r1, sp, #24 - 5efc: f104 0010 add.w r0, r4, #16 - 5f00: f8df 90a4 ldr.w r9, [pc, #164] ; 5fa8 - 5f04: 47c8 blx r9 + 594c: ab05 add r3, sp, #20 + 594e: fa5f f289 uxtb.w r2, r9 + 5952: a906 add r1, sp, #24 + 5954: f104 0010 add.w r0, r4, #16 + 5958: f8df 90a4 ldr.w r9, [pc, #164] ; 5a00 + 595c: 47c8 blx r9 value_area.x1 += p_align.x + xofs; - 5f06: f8bd 3014 ldrh.w r3, [sp, #20] - 5f0a: 4443 add r3, r8 - 5f0c: b29b uxth r3, r3 + 595e: f8bd 3014 ldrh.w r3, [sp, #20] + 5962: 4443 add r3, r8 + 5964: b29b uxth r3, r3 value_area.y1 += p_align.y + yofs; - 5f0e: f8bd 2016 ldrh.w r2, [sp, #22] - 5f12: 442a add r2, r5 - 5f14: b292 uxth r2, r2 + 5966: f8bd 2016 ldrh.w r2, [sp, #22] + 596a: 442a add r2, r5 + 596c: b292 uxth r2, r2 s = LV_MATH_MAX(s, obj->coords.x1 - value_area.x1); - 5f16: f9b4 0010 ldrsh.w r0, [r4, #16] + 596e: f9b4 0010 ldrsh.w r0, [r4, #16] value_area.x1 += p_align.x + xofs; - 5f1a: f8bd 1018 ldrh.w r1, [sp, #24] - 5f1e: 4419 add r1, r3 + 5972: f8bd 1018 ldrh.w r1, [sp, #24] + 5976: 4419 add r1, r3 s = LV_MATH_MAX(s, obj->coords.x1 - value_area.x1); - 5f20: b209 sxth r1, r1 - 5f22: 1a40 subs r0, r0, r1 - 5f24: 42b8 cmp r0, r7 - 5f26: bfb8 it lt - 5f28: 4638 movlt r0, r7 + 5978: b209 sxth r1, r1 + 597a: 1a40 subs r0, r0, r1 + 597c: 42b8 cmp r0, r7 + 597e: bfb8 it lt + 5980: 4638 movlt r0, r7 s = LV_MATH_MAX(s, obj->coords.y1 - value_area.y1); - 5f2a: f9b4 1012 ldrsh.w r1, [r4, #18] + 5982: f9b4 1012 ldrsh.w r1, [r4, #18] value_area.y1 += p_align.y + yofs; - 5f2e: f8bd 701a ldrh.w r7, [sp, #26] - 5f32: 4417 add r7, r2 + 5986: f8bd 701a ldrh.w r7, [sp, #26] + 598a: 4417 add r7, r2 s = LV_MATH_MAX(s, obj->coords.y1 - value_area.y1); - 5f34: b23f sxth r7, r7 - 5f36: 1bcf subs r7, r1, r7 - 5f38: b200 sxth r0, r0 - 5f3a: 4287 cmp r7, r0 - 5f3c: bfb8 it lt - 5f3e: 4607 movlt r7, r0 + 598c: b23f sxth r7, r7 + 598e: 1bcf subs r7, r1, r7 + 5990: b200 sxth r0, r0 + 5992: 4287 cmp r7, r0 + 5994: bfb8 it lt + 5996: 4607 movlt r7, r0 value_area.x2 += p_align.x + xofs; - 5f40: f8bd 001c ldrh.w r0, [sp, #28] - 5f44: 4403 add r3, r0 + 5998: f8bd 001c ldrh.w r0, [sp, #28] + 599c: 4403 add r3, r0 s = LV_MATH_MAX(s, value_area.x2 - obj->coords.x2); - 5f46: b21b sxth r3, r3 - 5f48: f9b4 0014 ldrsh.w r0, [r4, #20] - 5f4c: 1a18 subs r0, r3, r0 - 5f4e: b23b sxth r3, r7 - 5f50: 4283 cmp r3, r0 - 5f52: bfb8 it lt - 5f54: 4603 movlt r3, r0 + 599e: b21b sxth r3, r3 + 59a0: f9b4 0014 ldrsh.w r0, [r4, #20] + 59a4: 1a18 subs r0, r3, r0 + 59a6: b23b sxth r3, r7 + 59a8: 4283 cmp r3, r0 + 59aa: bfb8 it lt + 59ac: 4603 movlt r3, r0 value_area.y2 += p_align.y + yofs; - 5f56: f8bd 001e ldrh.w r0, [sp, #30] - 5f5a: 4410 add r0, r2 + 59ae: f8bd 001e ldrh.w r0, [sp, #30] + 59b2: 4410 add r0, r2 s = LV_MATH_MAX(s, value_area.y2 - obj->coords.y2); - 5f5c: b200 sxth r0, r0 - 5f5e: f9b4 7016 ldrsh.w r7, [r4, #22] - 5f62: 1bc7 subs r7, r0, r7 - 5f64: b218 sxth r0, r3 - 5f66: 42b8 cmp r0, r7 - 5f68: bfb8 it lt - 5f6a: 4638 movlt r0, r7 - 5f6c: b207 sxth r7, r0 - 5f6e: e737 b.n 5de0 + 59b4: b200 sxth r0, r0 + 59b6: f9b4 7016 ldrsh.w r7, [r4, #22] + 59ba: 1bc7 subs r7, r0, r7 + 59bc: b218 sxth r0, r3 + 59be: 42b8 cmp r0, r7 + 59c0: bfb8 it lt + 59c2: 4638 movlt r0, r7 + 59c4: b207 sxth r7, r0 + 59c6: e737 b.n 5838 _LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_OPA, outline_opa, lv_opa_t, _opa, scalar) - 5f70: 224c movs r2, #76 ; 0x4c - 5f72: 4631 mov r1, r6 - 5f74: 4620 mov r0, r4 - 5f76: 4b0a ldr r3, [pc, #40] ; (5fa0 ) - 5f78: 4798 blx r3 + 59c8: 224c movs r2, #76 ; 0x4c + 59ca: 4631 mov r1, r6 + 59cc: 4620 mov r0, r4 + 59ce: 4b0a ldr r3, [pc, #40] ; (59f8 ) + 59d0: 4798 blx r3 if(outline_opa > LV_OPA_MIN) { - 5f7a: 2805 cmp r0, #5 - 5f7c: f67f af39 bls.w 5df2 + 59d2: 2805 cmp r0, #5 + 59d4: f67f af39 bls.w 584a _LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_PAD, outline_pad, lv_style_int_t, _int, scalar) - 5f80: 2241 movs r2, #65 ; 0x41 - 5f82: 4631 mov r1, r6 - 5f84: 4620 mov r0, r4 - 5f86: 4b04 ldr r3, [pc, #16] ; (5f98 ) - 5f88: 4798 blx r3 + 59d8: 2241 movs r2, #65 ; 0x41 + 59da: 4631 mov r1, r6 + 59dc: 4620 mov r0, r4 + 59de: 4b04 ldr r3, [pc, #16] ; (59f0 ) + 59e0: 4798 blx r3 s = LV_MATH_MAX(s, outline_pad + outline_width); - 5f8a: 4428 add r0, r5 - 5f8c: 42b8 cmp r0, r7 - 5f8e: bfb8 it lt - 5f90: 4638 movlt r0, r7 - 5f92: b207 sxth r7, r0 - 5f94: e72d b.n 5df2 - 5f96: bf00 nop - 5f98: 00004b5d .word 0x00004b5d - 5f9c: 00004d29 .word 0x00004d29 - 5fa0: 00004c95 .word 0x00004c95 - 5fa4: 00014625 .word 0x00014625 - 5fa8: 00011dcd .word 0x00011dcd - -00005fac : + 59e2: 4428 add r0, r5 + 59e4: 42b8 cmp r0, r7 + 59e6: bfb8 it lt + 59e8: 4638 movlt r0, r7 + 59ea: b207 sxth r7, r0 + 59ec: e72d b.n 584a + 59ee: bf00 nop + 59f0: 000044d5 .word 0x000044d5 + 59f4: 000046a1 .word 0x000046a1 + 59f8: 0000460d .word 0x0000460d + 59fc: 0001407d .word 0x0001407d + 5a00: 00011825 .word 0x00011825 + +00005a04 : if(sign == LV_SIGNAL_GET_STYLE) { - 5fac: 2908 cmp r1, #8 - 5fae: d01a beq.n 5fe6 + 5a04: 2908 cmp r1, #8 + 5a06: d01a beq.n 5a3e { - 5fb0: b510 push {r4, lr} - 5fb2: 4604 mov r4, r0 + 5a08: b510 push {r4, lr} + 5a0a: 4604 mov r4, r0 else if(sign == LV_SIGNAL_GET_TYPE) return lv_obj_handle_get_type_signal(param, LV_OBJX_NAME); - 5fb4: 2907 cmp r1, #7 - 5fb6: d020 beq.n 5ffa + 5a0c: 2907 cmp r1, #7 + 5a0e: d020 beq.n 5a52 if(sign == LV_SIGNAL_CHILD_CHG) { - 5fb8: 2901 cmp r1, #1 - 5fba: d023 beq.n 6004 + 5a10: 2901 cmp r1, #1 + 5a12: d023 beq.n 5a5c else if(sign == LV_SIGNAL_REFR_EXT_DRAW_PAD) { - 5fbc: 2906 cmp r1, #6 - 5fbe: d027 beq.n 6010 + 5a14: 2906 cmp r1, #6 + 5a16: d027 beq.n 5a68 else if(sign == LV_SIGNAL_PARENT_SIZE_CHG) { - 5fc0: 2903 cmp r1, #3 - 5fc2: d030 beq.n 6026 + 5a18: 2903 cmp r1, #3 + 5a1a: d030 beq.n 5a7e else if(sign == LV_SIGNAL_STYLE_CHG) { - 5fc4: 2904 cmp r1, #4 - 5fc6: d039 beq.n 603c + 5a1c: 2904 cmp r1, #4 + 5a1e: d039 beq.n 5a94 else if(sign == LV_SIGNAL_PRESSED) { - 5fc8: 290b cmp r1, #11 - 5fca: d03b beq.n 6044 + 5a20: 290b cmp r1, #11 + 5a22: d03b beq.n 5a9c else if(sign == LV_SIGNAL_RELEASED || sign == LV_SIGNAL_PRESS_LOST) { - 5fcc: f1a1 030d sub.w r3, r1, #13 - 5fd0: b2db uxtb r3, r3 - 5fd2: 2b01 cmp r3, #1 - 5fd4: d93b bls.n 604e + 5a24: f1a1 030d sub.w r3, r1, #13 + 5a28: b2db uxtb r3, r3 + 5a2a: 2b01 cmp r3, #1 + 5a2c: d93b bls.n 5aa6 else if(sign == LV_SIGNAL_FOCUS) { - 5fd6: 2916 cmp r1, #22 - 5fd8: d03e beq.n 6058 + 5a2e: 2916 cmp r1, #22 + 5a30: d03e beq.n 5ab0 else if(sign == LV_SIGNAL_DEFOCUS) { - 5fda: 2917 cmp r1, #23 - 5fdc: d051 beq.n 6082 + 5a32: 2917 cmp r1, #23 + 5a34: d051 beq.n 5ada else if(sign == LV_SIGNAL_CLEANUP) { - 5fde: 2900 cmp r1, #0 - 5fe0: d054 beq.n 608c + 5a36: 2900 cmp r1, #0 + 5a38: d054 beq.n 5ae4 lv_res_t res = LV_RES_OK; - 5fe2: 2001 movs r0, #1 + 5a3a: 2001 movs r0, #1 } - 5fe4: bd10 pop {r4, pc} + 5a3c: bd10 pop {r4, pc} if(info->part == LV_OBJ_PART_MAIN) info->result = &obj->style_list; - 5fe6: 7813 ldrb r3, [r2, #0] - 5fe8: b91b cbnz r3, 5ff2 - 5fea: 3028 adds r0, #40 ; 0x28 - 5fec: 6050 str r0, [r2, #4] + 5a3e: 7813 ldrb r3, [r2, #0] + 5a40: b91b cbnz r3, 5a4a + 5a42: 3028 adds r0, #40 ; 0x28 + 5a44: 6050 str r0, [r2, #4] return LV_RES_OK; - 5fee: 2001 movs r0, #1 - 5ff0: 4770 bx lr + 5a46: 2001 movs r0, #1 + 5a48: 4770 bx lr else info->result = NULL; - 5ff2: 2300 movs r3, #0 - 5ff4: 6053 str r3, [r2, #4] + 5a4a: 2300 movs r3, #0 + 5a4c: 6053 str r3, [r2, #4] return LV_RES_OK; - 5ff6: 2001 movs r0, #1 - 5ff8: 4770 bx lr + 5a4e: 2001 movs r0, #1 + 5a50: 4770 bx lr else if(sign == LV_SIGNAL_GET_TYPE) return lv_obj_handle_get_type_signal(param, LV_OBJX_NAME); - 5ffa: 4926 ldr r1, [pc, #152] ; (6094 ) - 5ffc: 4610 mov r0, r2 - 5ffe: 4b26 ldr r3, [pc, #152] ; (6098 ) - 6000: 4798 blx r3 - 6002: bd10 pop {r4, pc} + 5a52: 4926 ldr r1, [pc, #152] ; (5aec ) + 5a54: 4610 mov r0, r2 + 5a56: 4b26 ldr r3, [pc, #152] ; (5af0 ) + 5a58: 4798 blx r3 + 5a5a: bd10 pop {r4, pc} if(lv_obj_is_protected(obj, LV_PROTECT_CHILD_CHG) != false) res = LV_RES_INV; - 6004: 4b25 ldr r3, [pc, #148] ; (609c ) - 6006: 4798 blx r3 - 6008: f080 0001 eor.w r0, r0, #1 + 5a5c: 4b25 ldr r3, [pc, #148] ; (5af4 ) + 5a5e: 4798 blx r3 + 5a60: f080 0001 eor.w r0, r0, #1 return LV_RES_OK; - 600c: b2c0 uxtb r0, r0 - 600e: bd10 pop {r4, pc} + 5a64: b2c0 uxtb r0, r0 + 5a66: bd10 pop {r4, pc} lv_coord_t d = lv_obj_get_draw_rect_ext_pad_size(obj, LV_OBJ_PART_MAIN); - 6010: 2100 movs r1, #0 - 6012: 4b23 ldr r3, [pc, #140] ; (60a0 ) - 6014: 4798 blx r3 + 5a68: 2100 movs r1, #0 + 5a6a: 4b23 ldr r3, [pc, #140] ; (5af8 ) + 5a6c: 4798 blx r3 obj->ext_draw_pad = LV_MATH_MAX(obj->ext_draw_pad, d); - 6016: f9b4 3032 ldrsh.w r3, [r4, #50] ; 0x32 - 601a: 4298 cmp r0, r3 - 601c: bfb8 it lt - 601e: 4618 movlt r0, r3 - 6020: 8660 strh r0, [r4, #50] ; 0x32 + 5a6e: f9b4 3032 ldrsh.w r3, [r4, #50] ; 0x32 + 5a72: 4298 cmp r0, r3 + 5a74: bfb8 it lt + 5a76: 4618 movlt r0, r3 + 5a78: 8660 strh r0, [r4, #50] ; 0x32 lv_res_t res = LV_RES_OK; - 6022: 2001 movs r0, #1 - 6024: bd10 pop {r4, pc} + 5a7a: 2001 movs r0, #1 + 5a7c: bd10 pop {r4, pc} if(obj->realign.auto_realign) { - 6026: f890 3049 ldrb.w r3, [r0, #73] ; 0x49 - 602a: f013 0f01 tst.w r3, #1 - 602e: d101 bne.n 6034 + 5a7e: f890 3049 ldrb.w r3, [r0, #73] ; 0x49 + 5a82: f013 0f01 tst.w r3, #1 + 5a86: d101 bne.n 5a8c lv_res_t res = LV_RES_OK; - 6030: 2001 movs r0, #1 - 6032: bd10 pop {r4, pc} + 5a88: 2001 movs r0, #1 + 5a8a: bd10 pop {r4, pc} lv_obj_realign(obj); - 6034: 4b1b ldr r3, [pc, #108] ; (60a4 ) - 6036: 4798 blx r3 + 5a8c: 4b1b ldr r3, [pc, #108] ; (5afc ) + 5a8e: 4798 blx r3 lv_res_t res = LV_RES_OK; - 6038: 2001 movs r0, #1 - 603a: bd10 pop {r4, pc} + 5a90: 2001 movs r0, #1 + 5a92: bd10 pop {r4, pc} lv_obj_refresh_ext_draw_pad(obj); - 603c: 4b1a ldr r3, [pc, #104] ; (60a8 ) - 603e: 4798 blx r3 + 5a94: 4b1a ldr r3, [pc, #104] ; (5b00 ) + 5a96: 4798 blx r3 lv_res_t res = LV_RES_OK; - 6040: 2001 movs r0, #1 - 6042: bd10 pop {r4, pc} + 5a98: 2001 movs r0, #1 + 5a9a: bd10 pop {r4, pc} lv_obj_add_state(obj, LV_STATE_PRESSED); - 6044: 2110 movs r1, #16 - 6046: 4b19 ldr r3, [pc, #100] ; (60ac ) - 6048: 4798 blx r3 + 5a9c: 2110 movs r1, #16 + 5a9e: 4b19 ldr r3, [pc, #100] ; (5b04 ) + 5aa0: 4798 blx r3 lv_res_t res = LV_RES_OK; - 604a: 2001 movs r0, #1 - 604c: bd10 pop {r4, pc} + 5aa2: 2001 movs r0, #1 + 5aa4: bd10 pop {r4, pc} lv_obj_clear_state(obj, LV_STATE_PRESSED); - 604e: 2110 movs r1, #16 - 6050: 4b17 ldr r3, [pc, #92] ; (60b0 ) - 6052: 4798 blx r3 + 5aa6: 2110 movs r1, #16 + 5aa8: 4b17 ldr r3, [pc, #92] ; (5b08 ) + 5aaa: 4798 blx r3 lv_res_t res = LV_RES_OK; - 6054: 2001 movs r0, #1 - 6056: bd10 pop {r4, pc} + 5aac: 2001 movs r0, #1 + 5aae: bd10 pop {r4, pc} if(lv_group_get_editing(lv_obj_get_group(obj))) { - 6058: 4b16 ldr r3, [pc, #88] ; (60b4 ) - 605a: 4798 blx r3 - 605c: 4b16 ldr r3, [pc, #88] ; (60b8 ) - 605e: 4798 blx r3 - 6060: b128 cbz r0, 606e + 5ab0: 4b16 ldr r3, [pc, #88] ; (5b0c ) + 5ab2: 4798 blx r3 + 5ab4: 4b16 ldr r3, [pc, #88] ; (5b10 ) + 5ab6: 4798 blx r3 + 5ab8: b128 cbz r0, 5ac6 lv_obj_add_state(obj, state); - 6062: 2106 movs r1, #6 - 6064: 4620 mov r0, r4 - 6066: 4b11 ldr r3, [pc, #68] ; (60ac ) - 6068: 4798 blx r3 + 5aba: 2106 movs r1, #6 + 5abc: 4620 mov r0, r4 + 5abe: 4b11 ldr r3, [pc, #68] ; (5b04 ) + 5ac0: 4798 blx r3 lv_res_t res = LV_RES_OK; - 606a: 2001 movs r0, #1 - 606c: bd10 pop {r4, pc} + 5ac2: 2001 movs r0, #1 + 5ac4: bd10 pop {r4, pc} lv_obj_add_state(obj, LV_STATE_FOCUSED); - 606e: 2102 movs r1, #2 - 6070: 4620 mov r0, r4 - 6072: 4b0e ldr r3, [pc, #56] ; (60ac ) - 6074: 4798 blx r3 + 5ac6: 2102 movs r1, #2 + 5ac8: 4620 mov r0, r4 + 5aca: 4b0e ldr r3, [pc, #56] ; (5b04 ) + 5acc: 4798 blx r3 lv_obj_clear_state(obj, LV_STATE_EDITED); - 6076: 2104 movs r1, #4 - 6078: 4620 mov r0, r4 - 607a: 4b0d ldr r3, [pc, #52] ; (60b0 ) - 607c: 4798 blx r3 + 5ace: 2104 movs r1, #4 + 5ad0: 4620 mov r0, r4 + 5ad2: 4b0d ldr r3, [pc, #52] ; (5b08 ) + 5ad4: 4798 blx r3 lv_res_t res = LV_RES_OK; - 607e: 2001 movs r0, #1 - 6080: bd10 pop {r4, pc} + 5ad6: 2001 movs r0, #1 + 5ad8: bd10 pop {r4, pc} lv_obj_clear_state(obj, LV_STATE_FOCUSED | LV_STATE_EDITED); - 6082: 2106 movs r1, #6 - 6084: 4b0a ldr r3, [pc, #40] ; (60b0 ) - 6086: 4798 blx r3 + 5ada: 2106 movs r1, #6 + 5adc: 4b0a ldr r3, [pc, #40] ; (5b08 ) + 5ade: 4798 blx r3 lv_res_t res = LV_RES_OK; - 6088: 2001 movs r0, #1 - 608a: bd10 pop {r4, pc} + 5ae0: 2001 movs r0, #1 + 5ae2: bd10 pop {r4, pc} lv_obj_clean_style_list(obj, LV_OBJ_PART_MAIN); - 608c: 4b0b ldr r3, [pc, #44] ; (60bc ) - 608e: 4798 blx r3 + 5ae4: 4b0b ldr r3, [pc, #44] ; (5b14 ) + 5ae6: 4798 blx r3 lv_res_t res = LV_RES_OK; - 6090: 2001 movs r0, #1 - 6092: bd10 pop {r4, pc} - 6094: 0001becc .word 0x0001becc - 6098: 000056dd .word 0x000056dd - 609c: 00004a9d .word 0x00004a9d - 60a0: 00005db1 .word 0x00005db1 - 60a4: 00004069 .word 0x00004069 - 60a8: 000032b5 .word 0x000032b5 - 60ac: 00005325 .word 0x00005325 - 60b0: 00005381 .word 0x00005381 - 60b4: 0000546d .word 0x0000546d - 60b8: 00002e37 .word 0x00002e37 - 60bc: 00003755 .word 0x00003755 - -000060c0 : + 5ae8: 2001 movs r0, #1 + 5aea: bd10 pop {r4, pc} + 5aec: 000249e8 .word 0x000249e8 + 5af0: 00005095 .word 0x00005095 + 5af4: 00004415 .word 0x00004415 + 5af8: 00005809 .word 0x00005809 + 5afc: 000039e1 .word 0x000039e1 + 5b00: 00002c2d .word 0x00002c2d + 5b04: 00004c9d .word 0x00004c9d + 5b08: 00004cf9 .word 0x00004cf9 + 5b0c: 00004de5 .word 0x00004de5 + 5b10: 0000275b .word 0x0000275b + 5b14: 000030cd .word 0x000030cd + +00005b18 : * @param area_p pointer to an area * @param obj the first object to start the searching (typically a screen) * @return */ static lv_obj_t * lv_refr_get_top_obj(const lv_area_t * area_p, lv_obj_t * obj) { - 60c0: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} - 60c4: 4605 mov r5, r0 - 60c6: 4688 mov r8, r1 + 5b18: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} + 5b1c: 4605 mov r5, r0 + 5b1e: 4688 mov r8, r1 lv_obj_t * found_p = NULL; /*If this object is fully cover the draw area check the children too */ if(_lv_area_is_in(area_p, &obj->coords, 0) && obj->hidden == 0) { - 60c8: 2200 movs r2, #0 - 60ca: 3110 adds r1, #16 - 60cc: 4b1f ldr r3, [pc, #124] ; (614c ) - 60ce: 4798 blx r3 - 60d0: b350 cbz r0, 6128 - 60d2: f898 3034 ldrb.w r3, [r8, #52] ; 0x34 - 60d6: f013 0f10 tst.w r3, #16 - 60da: d127 bne.n 612c + 5b20: 2200 movs r2, #0 + 5b22: 3110 adds r1, #16 + 5b24: 4b1f ldr r3, [pc, #124] ; (5ba4 ) + 5b26: 4798 blx r3 + 5b28: b350 cbz r0, 5b80 + 5b2a: f898 3034 ldrb.w r3, [r8, #52] ; 0x34 + 5b2e: f013 0f10 tst.w r3, #16 + 5b32: d127 bne.n 5b84 lv_design_res_t design_res = obj->design_cb ? obj->design_cb(obj, area_p, - 60dc: f8d8 3020 ldr.w r3, [r8, #32] - 60e0: b343 cbz r3, 6134 - 60e2: 2202 movs r2, #2 - 60e4: 4629 mov r1, r5 - 60e6: 4640 mov r0, r8 - 60e8: 4798 blx r3 - 60ea: 4681 mov r9, r0 + 5b34: f8d8 3020 ldr.w r3, [r8, #32] + 5b38: b343 cbz r3, 5b8c + 5b3a: 2202 movs r2, #2 + 5b3c: 4629 mov r1, r5 + 5b3e: 4640 mov r0, r8 + 5b40: 4798 blx r3 + 5b42: 4681 mov r9, r0 LV_DESIGN_COVER_CHK) : LV_DESIGN_RES_NOT_COVER; if(design_res == LV_DESIGN_RES_MASKED) return NULL; - 60ec: 2803 cmp r0, #3 - 60ee: d01f beq.n 6130 + 5b44: 2803 cmp r0, #3 + 5b46: d01f beq.n 5b88 lv_obj_t * i; _LV_LL_READ(obj->child_ll, i) { - 60f0: f108 0604 add.w r6, r8, #4 - 60f4: 4630 mov r0, r6 - 60f6: 4b16 ldr r3, [pc, #88] ; (6150 ) - 60f8: 4798 blx r3 - 60fa: 4604 mov r4, r0 - 60fc: b160 cbz r0, 6118 - 60fe: 4f15 ldr r7, [pc, #84] ; (6154 ) + 5b48: f108 0604 add.w r6, r8, #4 + 5b4c: 4630 mov r0, r6 + 5b4e: 4b16 ldr r3, [pc, #88] ; (5ba8 ) + 5b50: 4798 blx r3 + 5b52: 4604 mov r4, r0 + 5b54: b160 cbz r0, 5b70 + 5b56: 4f15 ldr r7, [pc, #84] ; (5bac ) found_p = lv_refr_get_top_obj(area_p, i); - 6100: 4621 mov r1, r4 - 6102: 4628 mov r0, r5 - 6104: f7ff ffdc bl 60c0 + 5b58: 4621 mov r1, r4 + 5b5a: 4628 mov r0, r5 + 5b5c: f7ff ffdc bl 5b18 /*If a children is ok then break*/ if(found_p != NULL) { - 6108: 4603 mov r3, r0 - 610a: b950 cbnz r0, 6122 + 5b60: 4603 mov r3, r0 + 5b62: b950 cbnz r0, 5b7a _LV_LL_READ(obj->child_ll, i) { - 610c: 4621 mov r1, r4 - 610e: 4630 mov r0, r6 - 6110: 47b8 blx r7 - 6112: 4604 mov r4, r0 - 6114: 2800 cmp r0, #0 - 6116: d1f3 bne.n 6100 + 5b64: 4621 mov r1, r4 + 5b66: 4630 mov r0, r6 + 5b68: 47b8 blx r7 + 5b6a: 4604 mov r4, r0 + 5b6c: 2800 cmp r0, #0 + 5b6e: d1f3 bne.n 5b58 } /*If no better children use this object*/ if(found_p == NULL) { if(design_res == LV_DESIGN_RES_COVER) { found_p = obj; - 6118: f1b9 0f01 cmp.w r9, #1 - 611c: bf0c ite eq - 611e: 4643 moveq r3, r8 - 6120: 2300 movne r3, #0 + 5b70: f1b9 0f01 cmp.w r9, #1 + 5b74: bf0c ite eq + 5b76: 4643 moveq r3, r8 + 5b78: 2300 movne r3, #0 } } } return found_p; } - 6122: 4618 mov r0, r3 - 6124: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} + 5b7a: 4618 mov r0, r3 + 5b7c: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} lv_obj_t * found_p = NULL; - 6128: 2300 movs r3, #0 - 612a: e7fa b.n 6122 - 612c: 2300 movs r3, #0 - 612e: e7f8 b.n 6122 + 5b80: 2300 movs r3, #0 + 5b82: e7fa b.n 5b7a + 5b84: 2300 movs r3, #0 + 5b86: e7f8 b.n 5b7a if(design_res == LV_DESIGN_RES_MASKED) return NULL; - 6130: 2300 movs r3, #0 - 6132: e7f6 b.n 6122 + 5b88: 2300 movs r3, #0 + 5b8a: e7f6 b.n 5b7a _LV_LL_READ(obj->child_ll, i) { - 6134: f108 0604 add.w r6, r8, #4 - 6138: 4630 mov r0, r6 - 613a: 4b05 ldr r3, [pc, #20] ; (6150 ) - 613c: 4798 blx r3 - 613e: 4604 mov r4, r0 + 5b8c: f108 0604 add.w r6, r8, #4 + 5b90: 4630 mov r0, r6 + 5b92: 4b05 ldr r3, [pc, #20] ; (5ba8 ) + 5b94: 4798 blx r3 + 5b96: 4604 mov r4, r0 lv_design_res_t design_res = obj->design_cb ? obj->design_cb(obj, area_p, - 6140: f04f 0902 mov.w r9, #2 + 5b98: f04f 0902 mov.w r9, #2 _LV_LL_READ(obj->child_ll, i) { - 6144: 2800 cmp r0, #0 - 6146: d1da bne.n 60fe - 6148: 4603 mov r3, r0 - 614a: e7ea b.n 6122 - 614c: 00011d15 .word 0x00011d15 - 6150: 00012551 .word 0x00012551 - 6154: 00012565 .word 0x00012565 - -00006158 : + 5b9c: 2800 cmp r0, #0 + 5b9e: d1da bne.n 5b56 + 5ba0: 4603 mov r3, r0 + 5ba2: e7ea b.n 5b7a + 5ba4: 0001176d .word 0x0001176d + 5ba8: 00011fa9 .word 0x00011fa9 + 5bac: 00011fbd .word 0x00011fbd + +00005bb0 : * @param mask_ori_p pointer to an area, the objects will be drawn only here */ static void lv_refr_obj(lv_obj_t * obj, const lv_area_t * mask_ori_p) { /*Do not refresh hidden objects*/ if(obj->hidden != 0) return; - 6158: f890 3034 ldrb.w r3, [r0, #52] ; 0x34 - 615c: f013 0f10 tst.w r3, #16 - 6160: d000 beq.n 6164 - 6162: 4770 bx lr -{ - 6164: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} - 6168: b08b sub sp, #44 ; 0x2c - 616a: 460e mov r6, r1 - 616c: 4605 mov r5, r0 + 5bb0: f890 3034 ldrb.w r3, [r0, #52] ; 0x34 + 5bb4: f013 0f10 tst.w r3, #16 + 5bb8: d000 beq.n 5bbc + 5bba: 4770 bx lr +{ + 5bbc: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} + 5bc0: b08b sub sp, #44 ; 0x2c + 5bc2: 460e mov r6, r1 + 5bc4: 4605 mov r5, r0 /* Truncate the original mask to the coordinates of the parent * because the parent and its children are visible only here */ lv_area_t obj_mask; lv_area_t obj_ext_mask; lv_area_t obj_area; lv_coord_t ext_size = obj->ext_draw_pad; - 616e: f9b0 4032 ldrsh.w r4, [r0, #50] ; 0x32 + 5bc6: f9b0 4032 ldrsh.w r4, [r0, #50] ; 0x32 lv_obj_get_coords(obj, &obj_area); - 6172: a904 add r1, sp, #16 - 6174: 4b35 ldr r3, [pc, #212] ; (624c ) - 6176: 4798 blx r3 + 5bca: a904 add r1, sp, #16 + 5bcc: 4b35 ldr r3, [pc, #212] ; (5ca4 ) + 5bce: 4798 blx r3 obj_area.x1 -= ext_size; - 6178: b2a3 uxth r3, r4 - 617a: f8bd 2010 ldrh.w r2, [sp, #16] - 617e: 1ad2 subs r2, r2, r3 - 6180: f8ad 2010 strh.w r2, [sp, #16] + 5bd0: b2a3 uxth r3, r4 + 5bd2: f8bd 2010 ldrh.w r2, [sp, #16] + 5bd6: 1ad2 subs r2, r2, r3 + 5bd8: f8ad 2010 strh.w r2, [sp, #16] obj_area.y1 -= ext_size; - 6184: f8bd 2012 ldrh.w r2, [sp, #18] - 6188: 1ad2 subs r2, r2, r3 - 618a: f8ad 2012 strh.w r2, [sp, #18] + 5bdc: f8bd 2012 ldrh.w r2, [sp, #18] + 5be0: 1ad2 subs r2, r2, r3 + 5be2: f8ad 2012 strh.w r2, [sp, #18] obj_area.x2 += ext_size; - 618e: f8bd 2014 ldrh.w r2, [sp, #20] - 6192: 441a add r2, r3 - 6194: f8ad 2014 strh.w r2, [sp, #20] + 5be6: f8bd 2014 ldrh.w r2, [sp, #20] + 5bea: 441a add r2, r3 + 5bec: f8ad 2014 strh.w r2, [sp, #20] obj_area.y2 += ext_size; - 6198: f8bd 2016 ldrh.w r2, [sp, #22] - 619c: 4413 add r3, r2 - 619e: f8ad 3016 strh.w r3, [sp, #22] + 5bf0: f8bd 2016 ldrh.w r2, [sp, #22] + 5bf4: 4413 add r3, r2 + 5bf6: f8ad 3016 strh.w r3, [sp, #22] union_ok = _lv_area_intersect(&obj_ext_mask, mask_ori_p, &obj_area); - 61a2: aa04 add r2, sp, #16 - 61a4: 4631 mov r1, r6 - 61a6: a806 add r0, sp, #24 - 61a8: 4b29 ldr r3, [pc, #164] ; (6250 ) - 61aa: 4798 blx r3 + 5bfa: aa04 add r2, sp, #16 + 5bfc: 4631 mov r1, r6 + 5bfe: a806 add r0, sp, #24 + 5c00: 4b29 ldr r3, [pc, #164] ; (5ca8 ) + 5c02: 4798 blx r3 /*Draw the parent and its children only if they ore on 'mask_parent'*/ if(union_ok != false) { - 61ac: b1a8 cbz r0, 61da + 5c04: b1a8 cbz r0, 5c32 /* Redraw the object */ if(obj->design_cb) obj->design_cb(obj, &obj_ext_mask, LV_DESIGN_DRAW_MAIN); - 61ae: 6a2b ldr r3, [r5, #32] - 61b0: b11b cbz r3, 61ba - 61b2: 2200 movs r2, #0 - 61b4: a906 add r1, sp, #24 - 61b6: 4628 mov r0, r5 - 61b8: 4798 blx r3 + 5c06: 6a2b ldr r3, [r5, #32] + 5c08: b11b cbz r3, 5c12 + 5c0a: 2200 movs r2, #0 + 5c0c: a906 add r1, sp, #24 + 5c0e: 4628 mov r0, r5 + 5c10: 4798 blx r3 #if LV_COLOR_DEPTH == 32 debug_color.ch.alpha = 0xff; #endif #endif /*Create a new 'obj_mask' without 'ext_size' because the children can't be visible there*/ lv_obj_get_coords(obj, &obj_area); - 61ba: a904 add r1, sp, #16 - 61bc: 4628 mov r0, r5 - 61be: 4b23 ldr r3, [pc, #140] ; (624c ) - 61c0: 4798 blx r3 + 5c12: a904 add r1, sp, #16 + 5c14: 4628 mov r0, r5 + 5c16: 4b23 ldr r3, [pc, #140] ; (5ca4 ) + 5c18: 4798 blx r3 union_ok = _lv_area_intersect(&obj_mask, mask_ori_p, &obj_area); - 61c2: aa04 add r2, sp, #16 - 61c4: 4631 mov r1, r6 - 61c6: a808 add r0, sp, #32 - 61c8: 4b21 ldr r3, [pc, #132] ; (6250 ) - 61ca: 4798 blx r3 + 5c1a: aa04 add r2, sp, #16 + 5c1c: 4631 mov r1, r6 + 5c1e: a808 add r0, sp, #32 + 5c20: 4b21 ldr r3, [pc, #132] ; (5ca8 ) + 5c22: 4798 blx r3 if(union_ok != false) { - 61cc: b940 cbnz r0, 61e0 + 5c24: b940 cbnz r0, 5c38 } } } /* If all the children are redrawn make 'post draw' design */ if(obj->design_cb) obj->design_cb(obj, &obj_ext_mask, LV_DESIGN_DRAW_POST); - 61ce: 6a2b ldr r3, [r5, #32] - 61d0: b11b cbz r3, 61da - 61d2: 2201 movs r2, #1 - 61d4: a906 add r1, sp, #24 - 61d6: 4628 mov r0, r5 - 61d8: 4798 blx r3 + 5c26: 6a2b ldr r3, [r5, #32] + 5c28: b11b cbz r3, 5c32 + 5c2a: 2201 movs r2, #1 + 5c2c: a906 add r1, sp, #24 + 5c2e: 4628 mov r0, r5 + 5c30: 4798 blx r3 } } - 61da: b00b add sp, #44 ; 0x2c - 61dc: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} + 5c32: b00b add sp, #44 ; 0x2c + 5c34: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} _LV_LL_READ_BACK(obj->child_ll, child_p) { - 61e0: f105 0804 add.w r8, r5, #4 - 61e4: 4640 mov r0, r8 - 61e6: 4b1b ldr r3, [pc, #108] ; (6254 ) - 61e8: 4798 blx r3 - 61ea: 4604 mov r4, r0 - 61ec: 2800 cmp r0, #0 - 61ee: d0ee beq.n 61ce + 5c38: f105 0804 add.w r8, r5, #4 + 5c3c: 4640 mov r0, r8 + 5c3e: 4b1b ldr r3, [pc, #108] ; (5cac ) + 5c40: 4798 blx r3 + 5c42: 4604 mov r4, r0 + 5c44: 2800 cmp r0, #0 + 5c46: d0ee beq.n 5c26 lv_obj_get_coords(child_p, &child_area); - 61f0: f8df 9058 ldr.w r9, [pc, #88] ; 624c + 5c48: f8df 9058 ldr.w r9, [pc, #88] ; 5ca4 union_ok = _lv_area_intersect(&mask_child, &obj_mask, &child_area); - 61f4: 4e16 ldr r6, [pc, #88] ; (6250 ) + 5c4c: 4e16 ldr r6, [pc, #88] ; (5ca8 ) _LV_LL_READ_BACK(obj->child_ll, child_p) { - 61f6: 4f18 ldr r7, [pc, #96] ; (6258 ) - 61f8: e005 b.n 6206 - 61fa: 4621 mov r1, r4 - 61fc: 4640 mov r0, r8 - 61fe: 47b8 blx r7 - 6200: 4604 mov r4, r0 - 6202: 2800 cmp r0, #0 - 6204: d0e3 beq.n 61ce + 5c4e: 4f18 ldr r7, [pc, #96] ; (5cb0 ) + 5c50: e005 b.n 5c5e + 5c52: 4621 mov r1, r4 + 5c54: 4640 mov r0, r8 + 5c56: 47b8 blx r7 + 5c58: 4604 mov r4, r0 + 5c5a: 2800 cmp r0, #0 + 5c5c: d0e3 beq.n 5c26 lv_obj_get_coords(child_p, &child_area); - 6206: a902 add r1, sp, #8 - 6208: 4620 mov r0, r4 - 620a: 47c8 blx r9 + 5c5e: a902 add r1, sp, #8 + 5c60: 4620 mov r0, r4 + 5c62: 47c8 blx r9 child_area.x1 -= ext_size; - 620c: 8e63 ldrh r3, [r4, #50] ; 0x32 - 620e: f8bd 2008 ldrh.w r2, [sp, #8] - 6212: 1ad2 subs r2, r2, r3 - 6214: f8ad 2008 strh.w r2, [sp, #8] + 5c64: 8e63 ldrh r3, [r4, #50] ; 0x32 + 5c66: f8bd 2008 ldrh.w r2, [sp, #8] + 5c6a: 1ad2 subs r2, r2, r3 + 5c6c: f8ad 2008 strh.w r2, [sp, #8] child_area.y1 -= ext_size; - 6218: f8bd 200a ldrh.w r2, [sp, #10] - 621c: 1ad2 subs r2, r2, r3 - 621e: f8ad 200a strh.w r2, [sp, #10] + 5c70: f8bd 200a ldrh.w r2, [sp, #10] + 5c74: 1ad2 subs r2, r2, r3 + 5c76: f8ad 200a strh.w r2, [sp, #10] child_area.x2 += ext_size; - 6222: f8bd 200c ldrh.w r2, [sp, #12] - 6226: 441a add r2, r3 - 6228: f8ad 200c strh.w r2, [sp, #12] + 5c7a: f8bd 200c ldrh.w r2, [sp, #12] + 5c7e: 441a add r2, r3 + 5c80: f8ad 200c strh.w r2, [sp, #12] child_area.y2 += ext_size; - 622c: f8bd 200e ldrh.w r2, [sp, #14] - 6230: 4413 add r3, r2 - 6232: f8ad 300e strh.w r3, [sp, #14] + 5c84: f8bd 200e ldrh.w r2, [sp, #14] + 5c88: 4413 add r3, r2 + 5c8a: f8ad 300e strh.w r3, [sp, #14] union_ok = _lv_area_intersect(&mask_child, &obj_mask, &child_area); - 6236: aa02 add r2, sp, #8 - 6238: a908 add r1, sp, #32 - 623a: 4668 mov r0, sp - 623c: 47b0 blx r6 + 5c8e: aa02 add r2, sp, #8 + 5c90: a908 add r1, sp, #32 + 5c92: 4668 mov r0, sp + 5c94: 47b0 blx r6 if(union_ok) { - 623e: 2800 cmp r0, #0 - 6240: d0db beq.n 61fa + 5c96: 2800 cmp r0, #0 + 5c98: d0db beq.n 5c52 lv_refr_obj(child_p, &mask_child); - 6242: 4669 mov r1, sp - 6244: 4620 mov r0, r4 - 6246: f7ff ff87 bl 6158 - 624a: e7d6 b.n 61fa - 624c: 000034c9 .word 0x000034c9 - 6250: 00011ac1 .word 0x00011ac1 - 6254: 0001255b .word 0x0001255b - 6258: 00012591 .word 0x00012591 - -0000625c : -{ - 625c: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} - 6260: 460f mov r7, r1 + 5c9a: 4669 mov r1, sp + 5c9c: 4620 mov r0, r4 + 5c9e: f7ff ff87 bl 5bb0 + 5ca2: e7d6 b.n 5c52 + 5ca4: 00002e41 .word 0x00002e41 + 5ca8: 00011519 .word 0x00011519 + 5cac: 00011fb3 .word 0x00011fb3 + 5cb0: 00011fe9 .word 0x00011fe9 + +00005cb4 : +{ + 5cb4: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} + 5cb8: 460f mov r7, r1 if(top_p == NULL) top_p = lv_disp_get_scr_act(disp_refr); - 6262: 4604 mov r4, r0 - 6264: b170 cbz r0, 6284 + 5cba: 4604 mov r4, r0 + 5cbc: b170 cbz r0, 5cdc lv_refr_obj(top_p, mask_p); - 6266: 4639 mov r1, r7 - 6268: 4620 mov r0, r4 - 626a: 4b1a ldr r3, [pc, #104] ; (62d4 ) - 626c: 4798 blx r3 + 5cbe: 4639 mov r1, r7 + 5cc0: 4620 mov r0, r4 + 5cc2: 4b1a ldr r3, [pc, #104] ; (5d2c ) + 5cc4: 4798 blx r3 par = lv_obj_get_parent(top_p); - 626e: 4620 mov r0, r4 - 6270: 4b19 ldr r3, [pc, #100] ; (62d8 ) - 6272: 4798 blx r3 + 5cc6: 4620 mov r0, r4 + 5cc8: 4b19 ldr r3, [pc, #100] ; (5d30 ) + 5cca: 4798 blx r3 while(par != NULL) { - 6274: 4681 mov r9, r0 - 6276: b160 cbz r0, 6292 + 5ccc: 4681 mov r9, r0 + 5cce: b160 cbz r0, 5cea lv_obj_t * i = _lv_ll_get_prev(&(par->child_ll), border_p); - 6278: 4e18 ldr r6, [pc, #96] ; (62dc ) + 5cd0: 4e18 ldr r6, [pc, #96] ; (5d34 ) lv_refr_obj(i, mask_p); - 627a: f8df 8058 ldr.w r8, [pc, #88] ; 62d4 + 5cd2: f8df 8058 ldr.w r8, [pc, #88] ; 5d2c par = lv_obj_get_parent(par); - 627e: f8df a058 ldr.w sl, [pc, #88] ; 62d8 - 6282: e00e b.n 62a2 + 5cd6: f8df a058 ldr.w sl, [pc, #88] ; 5d30 + 5cda: e00e b.n 5cfa if(top_p == NULL) top_p = lv_disp_get_scr_act(disp_refr); - 6284: 4b16 ldr r3, [pc, #88] ; (62e0 ) - 6286: 6818 ldr r0, [r3, #0] - 6288: 4b16 ldr r3, [pc, #88] ; (62e4 ) - 628a: 4798 blx r3 + 5cdc: 4b16 ldr r3, [pc, #88] ; (5d38 ) + 5cde: 6818 ldr r0, [r3, #0] + 5ce0: 4b16 ldr r3, [pc, #88] ; (5d3c ) + 5ce2: 4798 blx r3 if(top_p == NULL) return; /*Shouldn't happen*/ - 628c: 4604 mov r4, r0 - 628e: 2800 cmp r0, #0 - 6290: d1e9 bne.n 6266 - 6292: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + 5ce4: 4604 mov r4, r0 + 5ce6: 2800 cmp r0, #0 + 5ce8: d1e9 bne.n 5cbe + 5cea: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} par = lv_obj_get_parent(par); - 6296: 4648 mov r0, r9 - 6298: 47d0 blx sl - 629a: 464c mov r4, r9 + 5cee: 4648 mov r0, r9 + 5cf0: 47d0 blx sl + 5cf2: 464c mov r4, r9 while(par != NULL) { - 629c: 4681 mov r9, r0 - 629e: 2800 cmp r0, #0 - 62a0: d0f7 beq.n 6292 + 5cf4: 4681 mov r9, r0 + 5cf6: 2800 cmp r0, #0 + 5cf8: d0f7 beq.n 5cea lv_obj_t * i = _lv_ll_get_prev(&(par->child_ll), border_p); - 62a2: f109 0504 add.w r5, r9, #4 - 62a6: 4621 mov r1, r4 - 62a8: 4628 mov r0, r5 - 62aa: 47b0 blx r6 + 5cfa: f109 0504 add.w r5, r9, #4 + 5cfe: 4621 mov r1, r4 + 5d00: 4628 mov r0, r5 + 5d02: 47b0 blx r6 while(i != NULL) { - 62ac: 4604 mov r4, r0 - 62ae: b140 cbz r0, 62c2 + 5d04: 4604 mov r4, r0 + 5d06: b140 cbz r0, 5d1a lv_refr_obj(i, mask_p); - 62b0: 4639 mov r1, r7 - 62b2: 4620 mov r0, r4 - 62b4: 47c0 blx r8 + 5d08: 4639 mov r1, r7 + 5d0a: 4620 mov r0, r4 + 5d0c: 47c0 blx r8 i = _lv_ll_get_prev(&(par->child_ll), i); - 62b6: 4621 mov r1, r4 - 62b8: 4628 mov r0, r5 - 62ba: 47b0 blx r6 + 5d0e: 4621 mov r1, r4 + 5d10: 4628 mov r0, r5 + 5d12: 47b0 blx r6 while(i != NULL) { - 62bc: 4604 mov r4, r0 - 62be: 2800 cmp r0, #0 - 62c0: d1f6 bne.n 62b0 + 5d14: 4604 mov r4, r0 + 5d16: 2800 cmp r0, #0 + 5d18: d1f6 bne.n 5d08 if(par->design_cb) par->design_cb(par, mask_p, LV_DESIGN_DRAW_POST); - 62c2: f8d9 3020 ldr.w r3, [r9, #32] - 62c6: 2b00 cmp r3, #0 - 62c8: d0e5 beq.n 6296 - 62ca: 2201 movs r2, #1 - 62cc: 4639 mov r1, r7 - 62ce: 4648 mov r0, r9 - 62d0: 4798 blx r3 - 62d2: e7e0 b.n 6296 - 62d4: 00006159 .word 0x00006159 - 62d8: 00003305 .word 0x00003305 - 62dc: 00012591 .word 0x00012591 - 62e0: 20002688 .word 0x20002688 - 62e4: 00002a29 .word 0x00002a29 - -000062e8 : + 5d1a: f8d9 3020 ldr.w r3, [r9, #32] + 5d1e: 2b00 cmp r3, #0 + 5d20: d0e5 beq.n 5cee + 5d22: 2201 movs r2, #1 + 5d24: 4639 mov r1, r7 + 5d26: 4648 mov r0, r9 + 5d28: 4798 blx r3 + 5d2a: e7e0 b.n 5cee + 5d2c: 00005bb1 .word 0x00005bb1 + 5d30: 00002c7d .word 0x00002c7d + 5d34: 00011fe9 .word 0x00011fe9 + 5d38: 20002688 .word 0x20002688 + 5d3c: 0000234d .word 0x0000234d + +00005d40 : /** * Flush the content of the VDB */ static void lv_refr_vdb_flush(void) { - 62e8: b538 push {r3, r4, r5, lr} + 5d40: b538 push {r3, r4, r5, lr} lv_disp_buf_t * vdb = lv_disp_get_buf(disp_refr); - 62ea: 4d1a ldr r5, [pc, #104] ; (6354 ) - 62ec: 6828 ldr r0, [r5, #0] - 62ee: 4b1a ldr r3, [pc, #104] ; (6358 ) - 62f0: 4798 blx r3 - 62f2: 4604 mov r4, r0 + 5d42: 4d1a ldr r5, [pc, #104] ; (5dac ) + 5d44: 6828 ldr r0, [r5, #0] + 5d46: 4b1a ldr r3, [pc, #104] ; (5db0 ) + 5d48: 4798 blx r3 + 5d4a: 4604 mov r4, r0 /*In double buffered mode wait until the other buffer is flushed before flushing the current * one*/ if(lv_disp_is_double_buf(disp_refr)) { - 62f4: 6828 ldr r0, [r5, #0] - 62f6: 4b19 ldr r3, [pc, #100] ; (635c ) - 62f8: 4798 blx r3 - 62fa: b978 cbnz r0, 631c + 5d4c: 6828 ldr r0, [r5, #0] + 5d4e: 4b19 ldr r3, [pc, #100] ; (5db4 ) + 5d50: 4798 blx r3 + 5d52: b978 cbnz r0, 5d74 while(vdb->flushing) { if(disp_refr->driver.wait_cb) disp_refr->driver.wait_cb(&disp_refr->driver); } } vdb->flushing = 1; - 62fc: 2301 movs r3, #1 - 62fe: 61a3 str r3, [r4, #24] + 5d54: 2301 movs r3, #1 + 5d56: 61a3 str r3, [r4, #24] if(disp_refr->driver.buffer->last_area && disp_refr->driver.buffer->last_part) vdb->flushing_last = 1; - 6300: 4b14 ldr r3, [pc, #80] ; (6354 ) - 6302: 6818 ldr r0, [r3, #0] - 6304: 6843 ldr r3, [r0, #4] - 6306: 6a1a ldr r2, [r3, #32] - 6308: f012 0f01 tst.w r2, #1 - 630c: d010 beq.n 6330 - 630e: 6a1b ldr r3, [r3, #32] - 6310: f013 0f02 tst.w r3, #2 - 6314: d00c beq.n 6330 - 6316: 2301 movs r3, #1 - 6318: 61e3 str r3, [r4, #28] - 631a: e00b b.n 6334 + 5d58: 4b14 ldr r3, [pc, #80] ; (5dac ) + 5d5a: 6818 ldr r0, [r3, #0] + 5d5c: 6843 ldr r3, [r0, #4] + 5d5e: 6a1a ldr r2, [r3, #32] + 5d60: f012 0f01 tst.w r2, #1 + 5d64: d010 beq.n 5d88 + 5d66: 6a1b ldr r3, [r3, #32] + 5d68: f013 0f02 tst.w r3, #2 + 5d6c: d00c beq.n 5d88 + 5d6e: 2301 movs r3, #1 + 5d70: 61e3 str r3, [r4, #28] + 5d72: e00b b.n 5d8c if(disp_refr->driver.wait_cb) disp_refr->driver.wait_cb(&disp_refr->driver); - 631c: 4d0d ldr r5, [pc, #52] ; (6354 ) - 631e: 6828 ldr r0, [r5, #0] + 5d74: 4d0d ldr r5, [pc, #52] ; (5dac ) + 5d76: 6828 ldr r0, [r5, #0] while(vdb->flushing) { - 6320: 69a3 ldr r3, [r4, #24] - 6322: 2b00 cmp r3, #0 - 6324: d0ea beq.n 62fc + 5d78: 69a3 ldr r3, [r4, #24] + 5d7a: 2b00 cmp r3, #0 + 5d7c: d0ea beq.n 5d54 if(disp_refr->driver.wait_cb) disp_refr->driver.wait_cb(&disp_refr->driver); - 6326: 69c3 ldr r3, [r0, #28] - 6328: 2b00 cmp r3, #0 - 632a: d0f9 beq.n 6320 - 632c: 4798 blx r3 - 632e: e7f6 b.n 631e + 5d7e: 69c3 ldr r3, [r0, #28] + 5d80: 2b00 cmp r3, #0 + 5d82: d0f9 beq.n 5d78 + 5d84: 4798 blx r3 + 5d86: e7f6 b.n 5d76 else vdb->flushing_last = 0; - 6330: 2300 movs r3, #0 - 6332: 61e3 str r3, [r4, #28] + 5d88: 2300 movs r3, #0 + 5d8a: 61e3 str r3, [r4, #28] /*Flush the rendered content to the display*/ lv_disp_t * disp = _lv_refr_get_disp_refreshing(); if(disp->driver.flush_cb) disp->driver.flush_cb(&disp->driver, &vdb->area, vdb->buf_act); - 6334: 68c3 ldr r3, [r0, #12] - 6336: b11b cbz r3, 6340 - 6338: 68a2 ldr r2, [r4, #8] - 633a: f104 0110 add.w r1, r4, #16 - 633e: 4798 blx r3 + 5d8c: 68c3 ldr r3, [r0, #12] + 5d8e: b11b cbz r3, 5d98 + 5d90: 68a2 ldr r2, [r4, #8] + 5d92: f104 0110 add.w r1, r4, #16 + 5d96: 4798 blx r3 if(vdb->buf1 && vdb->buf2) { - 6340: 6823 ldr r3, [r4, #0] - 6342: b133 cbz r3, 6352 - 6344: 6862 ldr r2, [r4, #4] - 6346: b122 cbz r2, 6352 + 5d98: 6823 ldr r3, [r4, #0] + 5d9a: b133 cbz r3, 5daa + 5d9c: 6862 ldr r2, [r4, #4] + 5d9e: b122 cbz r2, 5daa if(vdb->buf_act == vdb->buf1) - 6348: 68a1 ldr r1, [r4, #8] + 5da0: 68a1 ldr r1, [r4, #8] vdb->buf_act = vdb->buf2; - 634a: 428b cmp r3, r1 - 634c: bf08 it eq - 634e: 4613 moveq r3, r2 - 6350: 60a3 str r3, [r4, #8] - 6352: bd38 pop {r3, r4, r5, pc} - 6354: 20002688 .word 0x20002688 - 6358: 00011585 .word 0x00011585 - 635c: 00011589 .word 0x00011589 - -00006360 : -{ - 6360: b570 push {r4, r5, r6, lr} - 6362: b082 sub sp, #8 - 6364: 4606 mov r6, r0 + 5da2: 428b cmp r3, r1 + 5da4: bf08 it eq + 5da6: 4613 moveq r3, r2 + 5da8: 60a3 str r3, [r4, #8] + 5daa: bd38 pop {r3, r4, r5, pc} + 5dac: 20002688 .word 0x20002688 + 5db0: 00010fdd .word 0x00010fdd + 5db4: 00010fe1 .word 0x00010fe1 + +00005db8 : +{ + 5db8: b570 push {r4, r5, r6, lr} + 5dba: b082 sub sp, #8 + 5dbc: 4606 mov r6, r0 lv_disp_buf_t * vdb = lv_disp_get_buf(disp_refr); - 6366: 4d1a ldr r5, [pc, #104] ; (63d0 ) - 6368: 6828 ldr r0, [r5, #0] - 636a: 4b1a ldr r3, [pc, #104] ; (63d4 ) - 636c: 4798 blx r3 - 636e: 4604 mov r4, r0 + 5dbe: 4d1a ldr r5, [pc, #104] ; (5e28 ) + 5dc0: 6828 ldr r0, [r5, #0] + 5dc2: 4b1a ldr r3, [pc, #104] ; (5e2c ) + 5dc4: 4798 blx r3 + 5dc6: 4604 mov r4, r0 if(lv_disp_is_double_buf(disp_refr) == false) { - 6370: 6828 ldr r0, [r5, #0] - 6372: 4b19 ldr r3, [pc, #100] ; (63d8 ) - 6374: 4798 blx r3 - 6376: b938 cbnz r0, 6388 + 5dc8: 6828 ldr r0, [r5, #0] + 5dca: 4b19 ldr r3, [pc, #100] ; (5e30 ) + 5dcc: 4798 blx r3 + 5dce: b938 cbnz r0, 5de0 if(disp_refr->driver.wait_cb) disp_refr->driver.wait_cb(&disp_refr->driver); - 6378: 6828 ldr r0, [r5, #0] + 5dd0: 6828 ldr r0, [r5, #0] while(vdb->flushing) { - 637a: 69a3 ldr r3, [r4, #24] - 637c: b123 cbz r3, 6388 + 5dd2: 69a3 ldr r3, [r4, #24] + 5dd4: b123 cbz r3, 5de0 if(disp_refr->driver.wait_cb) disp_refr->driver.wait_cb(&disp_refr->driver); - 637e: 69c3 ldr r3, [r0, #28] - 6380: 2b00 cmp r3, #0 - 6382: d0fa beq.n 637a - 6384: 4798 blx r3 - 6386: e7f7 b.n 6378 + 5dd6: 69c3 ldr r3, [r0, #28] + 5dd8: 2b00 cmp r3, #0 + 5dda: d0fa beq.n 5dd2 + 5ddc: 4798 blx r3 + 5dde: e7f7 b.n 5dd0 _lv_area_intersect(&start_mask, area_p, &vdb->area); - 6388: f104 0210 add.w r2, r4, #16 - 638c: 4631 mov r1, r6 - 638e: 4668 mov r0, sp - 6390: 4b12 ldr r3, [pc, #72] ; (63dc ) - 6392: 4798 blx r3 + 5de0: f104 0210 add.w r2, r4, #16 + 5de4: 4631 mov r1, r6 + 5de6: 4668 mov r0, sp + 5de8: 4b12 ldr r3, [pc, #72] ; (5e34 ) + 5dea: 4798 blx r3 top_p = lv_refr_get_top_obj(&start_mask, lv_disp_get_scr_act(disp_refr)); - 6394: 4c0e ldr r4, [pc, #56] ; (63d0 ) - 6396: 6820 ldr r0, [r4, #0] - 6398: 4b11 ldr r3, [pc, #68] ; (63e0 ) - 639a: 4798 blx r3 - 639c: 4601 mov r1, r0 - 639e: 4668 mov r0, sp - 63a0: 4b10 ldr r3, [pc, #64] ; (63e4 ) - 63a2: 4798 blx r3 + 5dec: 4c0e ldr r4, [pc, #56] ; (5e28 ) + 5dee: 6820 ldr r0, [r4, #0] + 5df0: 4b11 ldr r3, [pc, #68] ; (5e38 ) + 5df2: 4798 blx r3 + 5df4: 4601 mov r1, r0 + 5df6: 4668 mov r0, sp + 5df8: 4b10 ldr r3, [pc, #64] ; (5e3c ) + 5dfa: 4798 blx r3 lv_refr_obj_and_children(top_p, &start_mask); - 63a4: 4669 mov r1, sp - 63a6: 4d10 ldr r5, [pc, #64] ; (63e8 ) - 63a8: 47a8 blx r5 + 5dfc: 4669 mov r1, sp + 5dfe: 4d10 ldr r5, [pc, #64] ; (5e40 ) + 5e00: 47a8 blx r5 lv_refr_obj_and_children(lv_disp_get_layer_top(disp_refr), &start_mask); - 63aa: 6820 ldr r0, [r4, #0] - 63ac: 4b0f ldr r3, [pc, #60] ; (63ec ) - 63ae: 4798 blx r3 - 63b0: 4669 mov r1, sp - 63b2: 47a8 blx r5 + 5e02: 6820 ldr r0, [r4, #0] + 5e04: 4b0f ldr r3, [pc, #60] ; (5e44 ) + 5e06: 4798 blx r3 + 5e08: 4669 mov r1, sp + 5e0a: 47a8 blx r5 lv_refr_obj_and_children(lv_disp_get_layer_sys(disp_refr), &start_mask); - 63b4: 6820 ldr r0, [r4, #0] - 63b6: 4b0e ldr r3, [pc, #56] ; (63f0 ) - 63b8: 4798 blx r3 - 63ba: 4669 mov r1, sp - 63bc: 47a8 blx r5 + 5e0c: 6820 ldr r0, [r4, #0] + 5e0e: 4b0e ldr r3, [pc, #56] ; (5e48 ) + 5e10: 4798 blx r3 + 5e12: 4669 mov r1, sp + 5e14: 47a8 blx r5 if(lv_disp_is_true_double_buf(disp_refr) == false) { - 63be: 6820 ldr r0, [r4, #0] - 63c0: 4b0c ldr r3, [pc, #48] ; (63f4 ) - 63c2: 4798 blx r3 - 63c4: b108 cbz r0, 63ca + 5e16: 6820 ldr r0, [r4, #0] + 5e18: 4b0c ldr r3, [pc, #48] ; (5e4c ) + 5e1a: 4798 blx r3 + 5e1c: b108 cbz r0, 5e22 } - 63c6: b002 add sp, #8 - 63c8: bd70 pop {r4, r5, r6, pc} + 5e1e: b002 add sp, #8 + 5e20: bd70 pop {r4, r5, r6, pc} lv_refr_vdb_flush(); - 63ca: 4b0b ldr r3, [pc, #44] ; (63f8 ) - 63cc: 4798 blx r3 -} - 63ce: e7fa b.n 63c6 - 63d0: 20002688 .word 0x20002688 - 63d4: 00011585 .word 0x00011585 - 63d8: 00011589 .word 0x00011589 - 63dc: 00011ac1 .word 0x00011ac1 - 63e0: 00002a29 .word 0x00002a29 - 63e4: 000060c1 .word 0x000060c1 - 63e8: 0000625d .word 0x0000625d - 63ec: 00002a69 .word 0x00002a69 - 63f0: 00002aa9 .word 0x00002aa9 - 63f4: 0001159d .word 0x0001159d - 63f8: 000062e9 .word 0x000062e9 - -000063fc <_lv_refr_init>: -{ - 63fc: 4770 bx lr + 5e22: 4b0b ldr r3, [pc, #44] ; (5e50 ) + 5e24: 4798 blx r3 +} + 5e26: e7fa b.n 5e1e + 5e28: 20002688 .word 0x20002688 + 5e2c: 00010fdd .word 0x00010fdd + 5e30: 00010fe1 .word 0x00010fe1 + 5e34: 00011519 .word 0x00011519 + 5e38: 0000234d .word 0x0000234d + 5e3c: 00005b19 .word 0x00005b19 + 5e40: 00005cb5 .word 0x00005cb5 + 5e44: 0000238d .word 0x0000238d + 5e48: 000023cd .word 0x000023cd + 5e4c: 00010ff5 .word 0x00010ff5 + 5e50: 00005d41 .word 0x00005d41 + +00005e54 <_lv_refr_init>: +{ + 5e54: 4770 bx lr ... -00006400 <_lv_inv_area>: +00005e58 <_lv_inv_area>: { - 6400: b5f0 push {r4, r5, r6, r7, lr} - 6402: b085 sub sp, #20 - 6404: 460c mov r4, r1 + 5e58: b5f0 push {r4, r5, r6, r7, lr} + 5e5a: b085 sub sp, #20 + 5e5c: 460c mov r4, r1 if(!disp) disp = lv_disp_get_default(); - 6406: 4605 mov r5, r0 - 6408: 2800 cmp r0, #0 - 640a: d054 beq.n 64b6 <_lv_inv_area+0xb6> + 5e5e: 4605 mov r5, r0 + 5e60: 2800 cmp r0, #0 + 5e62: d054 beq.n 5f0e <_lv_inv_area+0xb6> if(area_p == NULL) { - 640c: 2c00 cmp r4, #0 - 640e: d057 beq.n 64c0 <_lv_inv_area+0xc0> + 5e64: 2c00 cmp r4, #0 + 5e66: d057 beq.n 5f18 <_lv_inv_area+0xc0> scr_area.x1 = 0; - 6410: 2300 movs r3, #0 - 6412: f8ad 3008 strh.w r3, [sp, #8] + 5e68: 2300 movs r3, #0 + 5e6a: f8ad 3008 strh.w r3, [sp, #8] scr_area.y1 = 0; - 6416: f8ad 300a strh.w r3, [sp, #10] + 5e6e: f8ad 300a strh.w r3, [sp, #10] scr_area.x2 = lv_disp_get_hor_res(disp) - 1; - 641a: 4628 mov r0, r5 - 641c: 4b36 ldr r3, [pc, #216] ; (64f8 <_lv_inv_area+0xf8>) - 641e: 4798 blx r3 - 6420: 3801 subs r0, #1 - 6422: f8ad 000c strh.w r0, [sp, #12] + 5e72: 4628 mov r0, r5 + 5e74: 4b36 ldr r3, [pc, #216] ; (5f50 <_lv_inv_area+0xf8>) + 5e76: 4798 blx r3 + 5e78: 3801 subs r0, #1 + 5e7a: f8ad 000c strh.w r0, [sp, #12] scr_area.y2 = lv_disp_get_ver_res(disp) - 1; - 6426: 4628 mov r0, r5 - 6428: 4b34 ldr r3, [pc, #208] ; (64fc <_lv_inv_area+0xfc>) - 642a: 4798 blx r3 - 642c: 3801 subs r0, #1 - 642e: f8ad 000e strh.w r0, [sp, #14] + 5e7e: 4628 mov r0, r5 + 5e80: 4b34 ldr r3, [pc, #208] ; (5f54 <_lv_inv_area+0xfc>) + 5e82: 4798 blx r3 + 5e84: 3801 subs r0, #1 + 5e86: f8ad 000e strh.w r0, [sp, #14] suc = _lv_area_intersect(&com_area, area_p, &scr_area); - 6432: aa02 add r2, sp, #8 - 6434: 4621 mov r1, r4 - 6436: 4668 mov r0, sp - 6438: 4b31 ldr r3, [pc, #196] ; (6500 <_lv_inv_area+0x100>) - 643a: 4798 blx r3 + 5e8a: aa02 add r2, sp, #8 + 5e8c: 4621 mov r1, r4 + 5e8e: 4668 mov r0, sp + 5e90: 4b31 ldr r3, [pc, #196] ; (5f58 <_lv_inv_area+0x100>) + 5e92: 4798 blx r3 if(suc != false) { - 643c: 2800 cmp r0, #0 - 643e: d045 beq.n 64cc <_lv_inv_area+0xcc> + 5e94: 2800 cmp r0, #0 + 5e96: d045 beq.n 5f24 <_lv_inv_area+0xcc> if(disp->driver.rounder_cb) disp->driver.rounder_cb(&disp->driver, &com_area); - 6440: 692b ldr r3, [r5, #16] - 6442: b113 cbz r3, 644a <_lv_inv_area+0x4a> - 6444: 4669 mov r1, sp - 6446: 4628 mov r0, r5 - 6448: 4798 blx r3 + 5e98: 692b ldr r3, [r5, #16] + 5e9a: b113 cbz r3, 5ea2 <_lv_inv_area+0x4a> + 5e9c: 4669 mov r1, sp + 5e9e: 4628 mov r0, r5 + 5ea0: 4798 blx r3 for(i = 0; i < disp->inv_p; i++) { - 644a: f8b5 3168 ldrh.w r3, [r5, #360] ; 0x168 - 644e: f3c3 0309 ubfx r3, r3, #0, #10 - 6452: b19b cbz r3, 647c <_lv_inv_area+0x7c> - 6454: 2100 movs r1, #0 - 6456: 460c mov r4, r1 + 5ea2: f8b5 3168 ldrh.w r3, [r5, #360] ; 0x168 + 5ea6: f3c3 0309 ubfx r3, r3, #0, #10 + 5eaa: b19b cbz r3, 5ed4 <_lv_inv_area+0x7c> + 5eac: 2100 movs r1, #0 + 5eae: 460c mov r4, r1 if(_lv_area_is_in(&com_area, &disp->inv_areas[i], 0) != false) return; - 6458: 460f mov r7, r1 - 645a: 4e2a ldr r6, [pc, #168] ; (6504 <_lv_inv_area+0x104>) - 645c: 3109 adds r1, #9 - 645e: 463a mov r2, r7 - 6460: eb05 01c1 add.w r1, r5, r1, lsl #3 - 6464: 4668 mov r0, sp - 6466: 47b0 blx r6 - 6468: bb80 cbnz r0, 64cc <_lv_inv_area+0xcc> + 5eb0: 460f mov r7, r1 + 5eb2: 4e2a ldr r6, [pc, #168] ; (5f5c <_lv_inv_area+0x104>) + 5eb4: 3109 adds r1, #9 + 5eb6: 463a mov r2, r7 + 5eb8: eb05 01c1 add.w r1, r5, r1, lsl #3 + 5ebc: 4668 mov r0, sp + 5ebe: 47b0 blx r6 + 5ec0: bb80 cbnz r0, 5f24 <_lv_inv_area+0xcc> for(i = 0; i < disp->inv_p; i++) { - 646a: 3401 adds r4, #1 - 646c: b2a4 uxth r4, r4 - 646e: 4621 mov r1, r4 - 6470: f8b5 3168 ldrh.w r3, [r5, #360] ; 0x168 - 6474: f3c3 0309 ubfx r3, r3, #0, #10 - 6478: 429c cmp r4, r3 - 647a: dbef blt.n 645c <_lv_inv_area+0x5c> + 5ec2: 3401 adds r4, #1 + 5ec4: b2a4 uxth r4, r4 + 5ec6: 4621 mov r1, r4 + 5ec8: f8b5 3168 ldrh.w r3, [r5, #360] ; 0x168 + 5ecc: f3c3 0309 ubfx r3, r3, #0, #10 + 5ed0: 429c cmp r4, r3 + 5ed2: dbef blt.n 5eb4 <_lv_inv_area+0x5c> if(disp->inv_p < LV_INV_BUF_SIZE) { - 647c: 2b1f cmp r3, #31 - 647e: dc27 bgt.n 64d0 <_lv_inv_area+0xd0> + 5ed4: 2b1f cmp r3, #31 + 5ed6: dc27 bgt.n 5f28 <_lv_inv_area+0xd0> lv_area_copy(&disp->inv_areas[disp->inv_p], &com_area); - 6480: 3309 adds r3, #9 - 6482: eb05 03c3 add.w r3, r5, r3, lsl #3 - 6486: f10d 32ff add.w r2, sp, #4294967295 - 648a: f103 0008 add.w r0, r3, #8 + 5ed8: 3309 adds r3, #9 + 5eda: eb05 03c3 add.w r3, r5, r3, lsl #3 + 5ede: f10d 32ff add.w r2, sp, #4294967295 + 5ee2: f103 0008 add.w r0, r3, #8 *d8 = *s8; - 648e: f812 1f01 ldrb.w r1, [r2, #1]! - 6492: f803 1b01 strb.w r1, [r3], #1 + 5ee6: f812 1f01 ldrb.w r1, [r2, #1]! + 5eea: f803 1b01 strb.w r1, [r3], #1 while(len) { - 6496: 4283 cmp r3, r0 - 6498: d1f9 bne.n 648e <_lv_inv_area+0x8e> + 5eee: 4283 cmp r3, r0 + 5ef0: d1f9 bne.n 5ee6 <_lv_inv_area+0x8e> disp->inv_p++; - 649a: f8b5 3168 ldrh.w r3, [r5, #360] ; 0x168 - 649e: f3c3 0209 ubfx r2, r3, #0, #10 - 64a2: 3201 adds r2, #1 - 64a4: f362 0309 bfi r3, r2, #0, #10 - 64a8: f8a5 3168 strh.w r3, [r5, #360] ; 0x168 + 5ef2: f8b5 3168 ldrh.w r3, [r5, #360] ; 0x168 + 5ef6: f3c3 0209 ubfx r2, r3, #0, #10 + 5efa: 3201 adds r2, #1 + 5efc: f362 0309 bfi r3, r2, #0, #10 + 5f00: f8a5 3168 strh.w r3, [r5, #360] ; 0x168 lv_task_set_prio(disp->refr_task, LV_REFR_TASK_PRIO); - 64ac: 2103 movs r1, #3 - 64ae: 6ae8 ldr r0, [r5, #44] ; 0x2c - 64b0: 4b15 ldr r3, [pc, #84] ; (6508 <_lv_inv_area+0x108>) - 64b2: 4798 blx r3 - 64b4: e00a b.n 64cc <_lv_inv_area+0xcc> + 5f04: 2103 movs r1, #3 + 5f06: 6ae8 ldr r0, [r5, #44] ; 0x2c + 5f08: 4b15 ldr r3, [pc, #84] ; (5f60 <_lv_inv_area+0x108>) + 5f0a: 4798 blx r3 + 5f0c: e00a b.n 5f24 <_lv_inv_area+0xcc> if(!disp) disp = lv_disp_get_default(); - 64b6: 4b15 ldr r3, [pc, #84] ; (650c <_lv_inv_area+0x10c>) - 64b8: 4798 blx r3 + 5f0e: 4b15 ldr r3, [pc, #84] ; (5f64 <_lv_inv_area+0x10c>) + 5f10: 4798 blx r3 if(!disp) return; - 64ba: 4605 mov r5, r0 - 64bc: b130 cbz r0, 64cc <_lv_inv_area+0xcc> - 64be: e7a5 b.n 640c <_lv_inv_area+0xc> + 5f12: 4605 mov r5, r0 + 5f14: b130 cbz r0, 5f24 <_lv_inv_area+0xcc> + 5f16: e7a5 b.n 5e64 <_lv_inv_area+0xc> disp->inv_p = 0; - 64c0: f8b5 3168 ldrh.w r3, [r5, #360] ; 0x168 - 64c4: f36f 0309 bfc r3, #0, #10 - 64c8: f8a5 3168 strh.w r3, [r5, #360] ; 0x168 + 5f18: f8b5 3168 ldrh.w r3, [r5, #360] ; 0x168 + 5f1c: f36f 0309 bfc r3, #0, #10 + 5f20: f8a5 3168 strh.w r3, [r5, #360] ; 0x168 } - 64cc: b005 add sp, #20 - 64ce: bdf0 pop {r4, r5, r6, r7, pc} + 5f24: b005 add sp, #20 + 5f26: bdf0 pop {r4, r5, r6, r7, pc} disp->inv_p = 0; - 64d0: f8b5 3168 ldrh.w r3, [r5, #360] ; 0x168 - 64d4: f36f 0309 bfc r3, #0, #10 - 64d8: f8a5 3168 strh.w r3, [r5, #360] ; 0x168 - 64dc: f10d 0207 add.w r2, sp, #7 - 64e0: f105 0050 add.w r0, r5, #80 ; 0x50 + 5f28: f8b5 3168 ldrh.w r3, [r5, #360] ; 0x168 + 5f2c: f36f 0309 bfc r3, #0, #10 + 5f30: f8a5 3168 strh.w r3, [r5, #360] ; 0x168 + 5f34: f10d 0207 add.w r2, sp, #7 + 5f38: f105 0050 add.w r0, r5, #80 ; 0x50 uint8_t * d8 = (uint8_t *)dst; - 64e4: f105 0348 add.w r3, r5, #72 ; 0x48 + 5f3c: f105 0348 add.w r3, r5, #72 ; 0x48 *d8 = *s8; - 64e8: f812 1f01 ldrb.w r1, [r2, #1]! - 64ec: f803 1b01 strb.w r1, [r3], #1 + 5f40: f812 1f01 ldrb.w r1, [r2, #1]! + 5f44: f803 1b01 strb.w r1, [r3], #1 while(len) { - 64f0: 4283 cmp r3, r0 - 64f2: d1f9 bne.n 64e8 <_lv_inv_area+0xe8> - 64f4: e7d1 b.n 649a <_lv_inv_area+0x9a> - 64f6: bf00 nop - 64f8: 00011495 .word 0x00011495 - 64fc: 000114bd .word 0x000114bd - 6500: 00011ac1 .word 0x00011ac1 - 6504: 00011d15 .word 0x00011d15 - 6508: 00013f01 .word 0x00013f01 - 650c: 00011489 .word 0x00011489 - -00006510 <_lv_refr_get_disp_refreshing>: -} - 6510: 4b01 ldr r3, [pc, #4] ; (6518 <_lv_refr_get_disp_refreshing+0x8>) - 6512: 6818 ldr r0, [r3, #0] - 6514: 4770 bx lr - 6516: bf00 nop - 6518: 20002688 .word 0x20002688 - -0000651c <_lv_disp_refr_task>: -{ - 651c: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 6520: b08d sub sp, #52 ; 0x34 - 6522: 4605 mov r5, r0 + 5f48: 4283 cmp r3, r0 + 5f4a: d1f9 bne.n 5f40 <_lv_inv_area+0xe8> + 5f4c: e7d1 b.n 5ef2 <_lv_inv_area+0x9a> + 5f4e: bf00 nop + 5f50: 00010eed .word 0x00010eed + 5f54: 00010f15 .word 0x00010f15 + 5f58: 00011519 .word 0x00011519 + 5f5c: 0001176d .word 0x0001176d + 5f60: 00013959 .word 0x00013959 + 5f64: 00010ee1 .word 0x00010ee1 + +00005f68 <_lv_refr_get_disp_refreshing>: +} + 5f68: 4b01 ldr r3, [pc, #4] ; (5f70 <_lv_refr_get_disp_refreshing+0x8>) + 5f6a: 6818 ldr r0, [r3, #0] + 5f6c: 4770 bx lr + 5f6e: bf00 nop + 5f70: 20002688 .word 0x20002688 + +00005f74 <_lv_disp_refr_task>: +{ + 5f74: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 5f78: b08d sub sp, #52 ; 0x34 + 5f7a: 4605 mov r5, r0 uint32_t start = lv_tick_get(); - 6524: 4bb7 ldr r3, [pc, #732] ; (6804 <_lv_disp_refr_task+0x2e8>) - 6526: 4798 blx r3 - 6528: 9009 str r0, [sp, #36] ; 0x24 + 5f7c: 4bb7 ldr r3, [pc, #732] ; (625c <_lv_disp_refr_task+0x2e8>) + 5f7e: 4798 blx r3 + 5f80: 9009 str r0, [sp, #36] ; 0x24 disp_refr = task->user_data; - 652a: 4cb7 ldr r4, [pc, #732] ; (6808 <_lv_disp_refr_task+0x2ec>) - 652c: 68eb ldr r3, [r5, #12] - 652e: 6023 str r3, [r4, #0] + 5f82: 4cb7 ldr r4, [pc, #732] ; (6260 <_lv_disp_refr_task+0x2ec>) + 5f84: 68eb ldr r3, [r5, #12] + 5f86: 6023 str r3, [r4, #0] lv_task_set_prio(task, LV_TASK_PRIO_OFF); - 6530: 2100 movs r1, #0 - 6532: 4628 mov r0, r5 - 6534: 4bb5 ldr r3, [pc, #724] ; (680c <_lv_disp_refr_task+0x2f0>) - 6536: 4798 blx r3 + 5f88: 2100 movs r1, #0 + 5f8a: 4628 mov r0, r5 + 5f8c: 4bb5 ldr r3, [pc, #724] ; (6264 <_lv_disp_refr_task+0x2f0>) + 5f8e: 4798 blx r3 if(disp_refr->act_scr == NULL) { - 6538: 6820 ldr r0, [r4, #0] - 653a: 6bc3 ldr r3, [r0, #60] ; 0x3c - 653c: b17b cbz r3, 655e <_lv_disp_refr_task+0x42> + 5f90: 6820 ldr r0, [r4, #0] + 5f92: 6bc3 ldr r3, [r0, #60] ; 0x3c + 5f94: b17b cbz r3, 5fb6 <_lv_disp_refr_task+0x42> for(join_in = 0; join_in < disp_refr->inv_p; join_in++) { - 653e: f8b0 3168 ldrh.w r3, [r0, #360] ; 0x168 - 6542: f3c3 0309 ubfx r3, r3, #0, #10 - 6546: 2b00 cmp r3, #0 - 6548: f000 8278 beq.w 6a3c <_lv_disp_refr_task+0x520> - 654c: f04f 0848 mov.w r8, #72 ; 0x48 - 6550: 2700 movs r7, #0 + 5f96: f8b0 3168 ldrh.w r3, [r0, #360] ; 0x168 + 5f9a: f3c3 0309 ubfx r3, r3, #0, #10 + 5f9e: 2b00 cmp r3, #0 + 5fa0: f000 8278 beq.w 6494 <_lv_disp_refr_task+0x520> + 5fa4: f04f 0848 mov.w r8, #72 ; 0x48 + 5fa8: 2700 movs r7, #0 for(join_from = 0; join_from < disp_refr->inv_p; join_from++) { - 6552: 4dad ldr r5, [pc, #692] ; (6808 <_lv_disp_refr_task+0x2ec>) + 5faa: 4dad ldr r5, [pc, #692] ; (6260 <_lv_disp_refr_task+0x2ec>) if(_lv_area_is_on(&disp_refr->inv_areas[join_in], &disp_refr->inv_areas[join_from]) == false) { - 6554: f8df a2e4 ldr.w sl, [pc, #740] ; 683c <_lv_disp_refr_task+0x320> + 5fac: f8df a2e4 ldr.w sl, [pc, #740] ; 6294 <_lv_disp_refr_task+0x320> if(lv_area_get_size(&joined_area) < (lv_area_get_size(&disp_refr->inv_areas[join_in]) + - 6558: f8df b2c8 ldr.w fp, [pc, #712] ; 6824 <_lv_disp_refr_task+0x308> - 655c: e04d b.n 65fa <_lv_disp_refr_task+0xde> + 5fb0: f8df b2c8 ldr.w fp, [pc, #712] ; 627c <_lv_disp_refr_task+0x308> + 5fb4: e04d b.n 6052 <_lv_disp_refr_task+0xde> disp_refr->inv_p = 0; - 655e: f8b0 3168 ldrh.w r3, [r0, #360] ; 0x168 - 6562: f36f 0309 bfc r3, #0, #10 - 6566: f8a0 3168 strh.w r3, [r0, #360] ; 0x168 + 5fb6: f8b0 3168 ldrh.w r3, [r0, #360] ; 0x168 + 5fba: f36f 0309 bfc r3, #0, #10 + 5fbe: f8a0 3168 strh.w r3, [r0, #360] ; 0x168 return; - 656a: e262 b.n 6a32 <_lv_disp_refr_task+0x516> + 5fc2: e262 b.n 648a <_lv_disp_refr_task+0x516> disp_refr->inv_area_joined[join_from] = 1; - 656c: 4426 add r6, r4 - 656e: 2301 movs r3, #1 - 6570: f886 3148 strb.w r3, [r6, #328] ; 0x148 + 5fc4: 4426 add r6, r4 + 5fc6: 2301 movs r3, #1 + 5fc8: f886 3148 strb.w r3, [r6, #328] ; 0x148 for(join_from = 0; join_from < disp_refr->inv_p; join_from++) { - 6574: 3401 adds r4, #1 - 6576: 6828 ldr r0, [r5, #0] - 6578: f8b0 3168 ldrh.w r3, [r0, #360] ; 0x168 - 657c: f3c3 0309 ubfx r3, r3, #0, #10 - 6580: 429c cmp r4, r3 - 6582: d230 bcs.n 65e6 <_lv_disp_refr_task+0xca> + 5fcc: 3401 adds r4, #1 + 5fce: 6828 ldr r0, [r5, #0] + 5fd0: f8b0 3168 ldrh.w r3, [r0, #360] ; 0x168 + 5fd4: f3c3 0309 ubfx r3, r3, #0, #10 + 5fd8: 429c cmp r4, r3 + 5fda: d230 bcs.n 603e <_lv_disp_refr_task+0xca> if(disp_refr->inv_area_joined[join_from] != 0 || join_in == join_from) { - 6584: 1903 adds r3, r0, r4 - 6586: f893 3148 ldrb.w r3, [r3, #328] ; 0x148 - 658a: 2b00 cmp r3, #0 - 658c: d1f2 bne.n 6574 <_lv_disp_refr_task+0x58> - 658e: 42a7 cmp r7, r4 - 6590: d0f0 beq.n 6574 <_lv_disp_refr_task+0x58> - 6592: f104 0609 add.w r6, r4, #9 - 6596: 00f6 lsls r6, r6, #3 + 5fdc: 1903 adds r3, r0, r4 + 5fde: f893 3148 ldrb.w r3, [r3, #328] ; 0x148 + 5fe2: 2b00 cmp r3, #0 + 5fe4: d1f2 bne.n 5fcc <_lv_disp_refr_task+0x58> + 5fe6: 42a7 cmp r7, r4 + 5fe8: d0f0 beq.n 5fcc <_lv_disp_refr_task+0x58> + 5fea: f104 0609 add.w r6, r4, #9 + 5fee: 00f6 lsls r6, r6, #3 if(_lv_area_is_on(&disp_refr->inv_areas[join_in], &disp_refr->inv_areas[join_from]) == false) { - 6598: 1981 adds r1, r0, r6 - 659a: 4440 add r0, r8 - 659c: 47d0 blx sl - 659e: 2800 cmp r0, #0 - 65a0: d0e8 beq.n 6574 <_lv_disp_refr_task+0x58> + 5ff0: 1981 adds r1, r0, r6 + 5ff2: 4440 add r0, r8 + 5ff4: 47d0 blx sl + 5ff6: 2800 cmp r0, #0 + 5ff8: d0e8 beq.n 5fcc <_lv_disp_refr_task+0x58> _lv_area_join(&joined_area, &disp_refr->inv_areas[join_in], &disp_refr->inv_areas[join_from]); - 65a2: 6829 ldr r1, [r5, #0] - 65a4: 198a adds r2, r1, r6 - 65a6: 4441 add r1, r8 - 65a8: a80a add r0, sp, #40 ; 0x28 - 65aa: 4b99 ldr r3, [pc, #612] ; (6810 <_lv_disp_refr_task+0x2f4>) - 65ac: 4798 blx r3 + 5ffa: 6829 ldr r1, [r5, #0] + 5ffc: 198a adds r2, r1, r6 + 5ffe: 4441 add r1, r8 + 6000: a80a add r0, sp, #40 ; 0x28 + 6002: 4b99 ldr r3, [pc, #612] ; (6268 <_lv_disp_refr_task+0x2f4>) + 6004: 4798 blx r3 if(lv_area_get_size(&joined_area) < (lv_area_get_size(&disp_refr->inv_areas[join_in]) + - 65ae: a80a add r0, sp, #40 ; 0x28 - 65b0: 47d8 blx fp - 65b2: 9003 str r0, [sp, #12] - 65b4: 6828 ldr r0, [r5, #0] - 65b6: 4440 add r0, r8 - 65b8: 47d8 blx fp - 65ba: 4681 mov r9, r0 + 6006: a80a add r0, sp, #40 ; 0x28 + 6008: 47d8 blx fp + 600a: 9003 str r0, [sp, #12] + 600c: 6828 ldr r0, [r5, #0] + 600e: 4440 add r0, r8 + 6010: 47d8 blx fp + 6012: 4681 mov r9, r0 lv_area_get_size(&disp_refr->inv_areas[join_from]))) { - 65bc: 6828 ldr r0, [r5, #0] - 65be: 4430 add r0, r6 - 65c0: 47d8 blx fp + 6014: 6828 ldr r0, [r5, #0] + 6016: 4430 add r0, r6 + 6018: 47d8 blx fp if(lv_area_get_size(&joined_area) < (lv_area_get_size(&disp_refr->inv_areas[join_in]) + - 65c2: 4448 add r0, r9 - 65c4: 9b03 ldr r3, [sp, #12] - 65c6: 4283 cmp r3, r0 - 65c8: d2d4 bcs.n 6574 <_lv_disp_refr_task+0x58> + 601a: 4448 add r0, r9 + 601c: 9b03 ldr r3, [sp, #12] + 601e: 4283 cmp r3, r0 + 6020: d2d4 bcs.n 5fcc <_lv_disp_refr_task+0x58> lv_area_copy(&disp_refr->inv_areas[join_in], &joined_area); - 65ca: 682e ldr r6, [r5, #0] - 65cc: eb06 0308 add.w r3, r6, r8 - 65d0: f10d 0227 add.w r2, sp, #39 ; 0x27 - 65d4: f103 0008 add.w r0, r3, #8 + 6022: 682e ldr r6, [r5, #0] + 6024: eb06 0308 add.w r3, r6, r8 + 6028: f10d 0227 add.w r2, sp, #39 ; 0x27 + 602c: f103 0008 add.w r0, r3, #8 *d8 = *s8; - 65d8: f812 1f01 ldrb.w r1, [r2, #1]! - 65dc: f803 1b01 strb.w r1, [r3], #1 + 6030: f812 1f01 ldrb.w r1, [r2, #1]! + 6034: f803 1b01 strb.w r1, [r3], #1 while(len) { - 65e0: 4283 cmp r3, r0 - 65e2: d1f9 bne.n 65d8 <_lv_disp_refr_task+0xbc> - 65e4: e7c2 b.n 656c <_lv_disp_refr_task+0x50> + 6038: 4283 cmp r3, r0 + 603a: d1f9 bne.n 6030 <_lv_disp_refr_task+0xbc> + 603c: e7c2 b.n 5fc4 <_lv_disp_refr_task+0x50> for(join_in = 0; join_in < disp_refr->inv_p; join_in++) { - 65e6: 3701 adds r7, #1 - 65e8: 6828 ldr r0, [r5, #0] - 65ea: f8b0 3168 ldrh.w r3, [r0, #360] ; 0x168 - 65ee: f3c3 0309 ubfx r3, r3, #0, #10 - 65f2: f108 0808 add.w r8, r8, #8 - 65f6: 429f cmp r7, r3 - 65f8: d20e bcs.n 6618 <_lv_disp_refr_task+0xfc> + 603e: 3701 adds r7, #1 + 6040: 6828 ldr r0, [r5, #0] + 6042: f8b0 3168 ldrh.w r3, [r0, #360] ; 0x168 + 6046: f3c3 0309 ubfx r3, r3, #0, #10 + 604a: f108 0808 add.w r8, r8, #8 + 604e: 429f cmp r7, r3 + 6050: d20e bcs.n 6070 <_lv_disp_refr_task+0xfc> if(disp_refr->inv_area_joined[join_in] != 0) continue; - 65fa: 4438 add r0, r7 - 65fc: f890 3148 ldrb.w r3, [r0, #328] ; 0x148 - 6600: 2b00 cmp r3, #0 - 6602: d1f0 bne.n 65e6 <_lv_disp_refr_task+0xca> + 6052: 4438 add r0, r7 + 6054: f890 3148 ldrb.w r3, [r0, #328] ; 0x148 + 6058: 2b00 cmp r3, #0 + 605a: d1f0 bne.n 603e <_lv_disp_refr_task+0xca> for(join_from = 0; join_from < disp_refr->inv_p; join_from++) { - 6604: 6828 ldr r0, [r5, #0] - 6606: f8b0 3168 ldrh.w r3, [r0, #360] ; 0x168 - 660a: f3c3 0309 ubfx r3, r3, #0, #10 - 660e: 2b00 cmp r3, #0 - 6610: f000 81fa beq.w 6a08 <_lv_disp_refr_task+0x4ec> - 6614: 2400 movs r4, #0 - 6616: e7b5 b.n 6584 <_lv_disp_refr_task+0x68> + 605c: 6828 ldr r0, [r5, #0] + 605e: f8b0 3168 ldrh.w r3, [r0, #360] ; 0x168 + 6062: f3c3 0309 ubfx r3, r3, #0, #10 + 6066: 2b00 cmp r3, #0 + 6068: f000 81fa beq.w 6460 <_lv_disp_refr_task+0x4ec> + 606c: 2400 movs r4, #0 + 606e: e7b5 b.n 5fdc <_lv_disp_refr_task+0x68> px_num = 0; - 6618: 2100 movs r1, #0 - 661a: 4a7b ldr r2, [pc, #492] ; (6808 <_lv_disp_refr_task+0x2ec>) - 661c: 6051 str r1, [r2, #4] + 6070: 2100 movs r1, #0 + 6072: 4a7b ldr r2, [pc, #492] ; (6260 <_lv_disp_refr_task+0x2ec>) + 6074: 6051 str r1, [r2, #4] if(disp_refr->inv_p == 0) return; - 661e: 2b00 cmp r3, #0 - 6620: f000 81fa beq.w 6a18 <_lv_disp_refr_task+0x4fc> + 6076: 2b00 cmp r3, #0 + 6078: f000 81fa beq.w 6470 <_lv_disp_refr_task+0x4fc> for(i = disp_refr->inv_p - 1; i >= 0; i--) { - 6624: 1e5a subs r2, r3, #1 - 6626: 4611 mov r1, r2 - 6628: 9207 str r2, [sp, #28] - 662a: d432 bmi.n 6692 <_lv_disp_refr_task+0x176> + 607c: 1e5a subs r2, r3, #1 + 607e: 4611 mov r1, r2 + 6080: 9207 str r2, [sp, #28] + 6082: d432 bmi.n 60ea <_lv_disp_refr_task+0x176> if(disp_refr->inv_area_joined[i] == 0) { - 662c: 1882 adds r2, r0, r2 - 662e: f892 2148 ldrb.w r2, [r2, #328] ; 0x148 - 6632: b17a cbz r2, 6654 <_lv_disp_refr_task+0x138> - 6634: f203 1347 addw r3, r3, #327 ; 0x147 - 6638: 4403 add r3, r0 - 663a: 460a mov r2, r1 + 6084: 1882 adds r2, r0, r2 + 6086: f892 2148 ldrb.w r2, [r2, #328] ; 0x148 + 608a: b17a cbz r2, 60ac <_lv_disp_refr_task+0x138> + 608c: f203 1347 addw r3, r3, #327 ; 0x147 + 6090: 4403 add r3, r0 + 6092: 460a mov r2, r1 for(i = disp_refr->inv_p - 1; i >= 0; i--) { - 663c: 3a01 subs r2, #1 - 663e: f1b2 3fff cmp.w r2, #4294967295 - 6642: d005 beq.n 6650 <_lv_disp_refr_task+0x134> + 6094: 3a01 subs r2, #1 + 6096: f1b2 3fff cmp.w r2, #4294967295 + 609a: d005 beq.n 60a8 <_lv_disp_refr_task+0x134> if(disp_refr->inv_area_joined[i] == 0) { - 6644: f813 1d01 ldrb.w r1, [r3, #-1]! - 6648: 2900 cmp r1, #0 - 664a: d1f7 bne.n 663c <_lv_disp_refr_task+0x120> - 664c: 9207 str r2, [sp, #28] - 664e: e001 b.n 6654 <_lv_disp_refr_task+0x138> + 609c: f813 1d01 ldrb.w r1, [r3, #-1]! + 60a0: 2900 cmp r1, #0 + 60a2: d1f7 bne.n 6094 <_lv_disp_refr_task+0x120> + 60a4: 9207 str r2, [sp, #28] + 60a6: e001 b.n 60ac <_lv_disp_refr_task+0x138> int32_t last_i = 0; - 6650: 2300 movs r3, #0 - 6652: 9307 str r3, [sp, #28] + 60a8: 2300 movs r3, #0 + 60aa: 9307 str r3, [sp, #28] disp_refr->driver.buffer->last_area = 0; - 6654: 6842 ldr r2, [r0, #4] - 6656: f892 3020 ldrb.w r3, [r2, #32] - 665a: f36f 0300 bfc r3, #0, #1 - 665e: f882 3020 strb.w r3, [r2, #32] + 60ac: 6842 ldr r2, [r0, #4] + 60ae: f892 3020 ldrb.w r3, [r2, #32] + 60b2: f36f 0300 bfc r3, #0, #1 + 60b6: f882 3020 strb.w r3, [r2, #32] disp_refr->driver.buffer->last_part = 0; - 6662: 6842 ldr r2, [r0, #4] - 6664: f892 3020 ldrb.w r3, [r2, #32] - 6668: f36f 0341 bfc r3, #1, #1 - 666c: f882 3020 strb.w r3, [r2, #32] + 60ba: 6842 ldr r2, [r0, #4] + 60bc: f892 3020 ldrb.w r3, [r2, #32] + 60c0: f36f 0341 bfc r3, #1, #1 + 60c4: f882 3020 strb.w r3, [r2, #32] for(i = 0; i < disp_refr->inv_p; i++) { - 6670: 4b65 ldr r3, [pc, #404] ; (6808 <_lv_disp_refr_task+0x2ec>) - 6672: 681c ldr r4, [r3, #0] - 6674: f8b4 3168 ldrh.w r3, [r4, #360] ; 0x168 - 6678: f3c3 0309 ubfx r3, r3, #0, #10 - 667c: 2b00 cmp r3, #0 - 667e: f000 81cb beq.w 6a18 <_lv_disp_refr_task+0x4fc> - 6682: 2348 movs r3, #72 ; 0x48 - 6684: 9306 str r3, [sp, #24] - 6686: f04f 0a00 mov.w sl, #0 + 60c8: 4b65 ldr r3, [pc, #404] ; (6260 <_lv_disp_refr_task+0x2ec>) + 60ca: 681c ldr r4, [r3, #0] + 60cc: f8b4 3168 ldrh.w r3, [r4, #360] ; 0x168 + 60d0: f3c3 0309 ubfx r3, r3, #0, #10 + 60d4: 2b00 cmp r3, #0 + 60d6: f000 81cb beq.w 6470 <_lv_disp_refr_task+0x4fc> + 60da: 2348 movs r3, #72 ; 0x48 + 60dc: 9306 str r3, [sp, #24] + 60de: f04f 0a00 mov.w sl, #0 if(disp_refr->driver.monitor_cb) px_num += lv_area_get_size(&disp_refr->inv_areas[i]); - 668a: f8df b17c ldr.w fp, [pc, #380] ; 6808 <_lv_disp_refr_task+0x2ec> - 668e: 4627 mov r7, r4 - 6690: e045 b.n 671e <_lv_disp_refr_task+0x202> + 60e2: f8df b17c ldr.w fp, [pc, #380] ; 6260 <_lv_disp_refr_task+0x2ec> + 60e6: 4627 mov r7, r4 + 60e8: e045 b.n 6176 <_lv_disp_refr_task+0x202> int32_t last_i = 0; - 6692: 2300 movs r3, #0 - 6694: 9307 str r3, [sp, #28] - 6696: e7dd b.n 6654 <_lv_disp_refr_task+0x138> + 60ea: 2300 movs r3, #0 + 60ec: 9307 str r3, [sp, #28] + 60ee: e7dd b.n 60ac <_lv_disp_refr_task+0x138> if(i == last_i) disp_refr->driver.buffer->last_area = 1; - 6698: 687a ldr r2, [r7, #4] - 669a: f892 3020 ldrb.w r3, [r2, #32] - 669e: f043 0301 orr.w r3, r3, #1 - 66a2: f882 3020 strb.w r3, [r2, #32] - 66a6: e043 b.n 6730 <_lv_disp_refr_task+0x214> + 60f0: 687a ldr r2, [r7, #4] + 60f2: f892 3020 ldrb.w r3, [r2, #32] + 60f6: f043 0301 orr.w r3, r3, #1 + 60fa: f882 3020 strb.w r3, [r2, #32] + 60fe: e043 b.n 6188 <_lv_disp_refr_task+0x214> lv_disp_buf_t * vdb = lv_disp_get_buf(disp_refr); - 66a8: f8db 0000 ldr.w r0, [fp] - 66ac: 4b59 ldr r3, [pc, #356] ; (6814 <_lv_disp_refr_task+0x2f8>) - 66ae: 4798 blx r3 - 66b0: 4604 mov r4, r0 + 6100: f8db 0000 ldr.w r0, [fp] + 6104: 4b59 ldr r3, [pc, #356] ; (626c <_lv_disp_refr_task+0x2f8>) + 6106: 4798 blx r3 + 6108: 4604 mov r4, r0 vdb->area.x1 = 0; - 66b2: 2500 movs r5, #0 - 66b4: 8205 strh r5, [r0, #16] + 610a: 2500 movs r5, #0 + 610c: 8205 strh r5, [r0, #16] vdb->area.x2 = lv_disp_get_hor_res(disp_refr) - 1; - 66b6: f8db 0000 ldr.w r0, [fp] - 66ba: 4b57 ldr r3, [pc, #348] ; (6818 <_lv_disp_refr_task+0x2fc>) - 66bc: 4798 blx r3 - 66be: 3801 subs r0, #1 - 66c0: 82a0 strh r0, [r4, #20] + 610e: f8db 0000 ldr.w r0, [fp] + 6112: 4b57 ldr r3, [pc, #348] ; (6270 <_lv_disp_refr_task+0x2fc>) + 6114: 4798 blx r3 + 6116: 3801 subs r0, #1 + 6118: 82a0 strh r0, [r4, #20] vdb->area.y1 = 0; - 66c2: 8265 strh r5, [r4, #18] + 611a: 8265 strh r5, [r4, #18] vdb->area.y2 = lv_disp_get_ver_res(disp_refr) - 1; - 66c4: f8db 0000 ldr.w r0, [fp] - 66c8: 4b54 ldr r3, [pc, #336] ; (681c <_lv_disp_refr_task+0x300>) - 66ca: 4798 blx r3 - 66cc: 3801 subs r0, #1 - 66ce: 82e0 strh r0, [r4, #22] + 611c: f8db 0000 ldr.w r0, [fp] + 6120: 4b54 ldr r3, [pc, #336] ; (6274 <_lv_disp_refr_task+0x300>) + 6122: 4798 blx r3 + 6124: 3801 subs r0, #1 + 6126: 82e0 strh r0, [r4, #22] disp_refr->driver.buffer->last_part = 1; - 66d0: f8db 3000 ldr.w r3, [fp] - 66d4: 685a ldr r2, [r3, #4] - 66d6: f892 3020 ldrb.w r3, [r2, #32] - 66da: f043 0302 orr.w r3, r3, #2 - 66de: f882 3020 strb.w r3, [r2, #32] + 6128: f8db 3000 ldr.w r3, [fp] + 612c: 685a ldr r2, [r3, #4] + 612e: f892 3020 ldrb.w r3, [r2, #32] + 6132: f043 0302 orr.w r3, r3, #2 + 6136: f882 3020 strb.w r3, [r2, #32] lv_refr_area_part(area_p); - 66e2: 9803 ldr r0, [sp, #12] - 66e4: 4b4e ldr r3, [pc, #312] ; (6820 <_lv_disp_refr_task+0x304>) - 66e6: 4798 blx r3 + 613a: 9803 ldr r0, [sp, #12] + 613c: 4b4e ldr r3, [pc, #312] ; (6278 <_lv_disp_refr_task+0x304>) + 613e: 4798 blx r3 if(disp_refr->driver.monitor_cb) px_num += lv_area_get_size(&disp_refr->inv_areas[i]); - 66e8: f8db 0000 ldr.w r0, [fp] - 66ec: 6983 ldr r3, [r0, #24] - 66ee: b143 cbz r3, 6702 <_lv_disp_refr_task+0x1e6> - 66f0: 9b06 ldr r3, [sp, #24] - 66f2: 4418 add r0, r3 - 66f4: 4b4b ldr r3, [pc, #300] ; (6824 <_lv_disp_refr_task+0x308>) - 66f6: 4798 blx r3 - 66f8: f8db 3004 ldr.w r3, [fp, #4] - 66fc: 4403 add r3, r0 - 66fe: f8cb 3004 str.w r3, [fp, #4] + 6140: f8db 0000 ldr.w r0, [fp] + 6144: 6983 ldr r3, [r0, #24] + 6146: b143 cbz r3, 615a <_lv_disp_refr_task+0x1e6> + 6148: 9b06 ldr r3, [sp, #24] + 614a: 4418 add r0, r3 + 614c: 4b4b ldr r3, [pc, #300] ; (627c <_lv_disp_refr_task+0x308>) + 614e: 4798 blx r3 + 6150: f8db 3004 ldr.w r3, [fp, #4] + 6154: 4403 add r3, r0 + 6156: f8cb 3004 str.w r3, [fp, #4] for(i = 0; i < disp_refr->inv_p; i++) { - 6702: f10a 0a01 add.w sl, sl, #1 - 6706: f8db 7000 ldr.w r7, [fp] - 670a: 9b06 ldr r3, [sp, #24] - 670c: 3308 adds r3, #8 - 670e: 9306 str r3, [sp, #24] - 6710: f8b7 3168 ldrh.w r3, [r7, #360] ; 0x168 - 6714: f3c3 0309 ubfx r3, r3, #0, #10 - 6718: 459a cmp sl, r3 - 671a: f280 817d bge.w 6a18 <_lv_disp_refr_task+0x4fc> + 615a: f10a 0a01 add.w sl, sl, #1 + 615e: f8db 7000 ldr.w r7, [fp] + 6162: 9b06 ldr r3, [sp, #24] + 6164: 3308 adds r3, #8 + 6166: 9306 str r3, [sp, #24] + 6168: f8b7 3168 ldrh.w r3, [r7, #360] ; 0x168 + 616c: f3c3 0309 ubfx r3, r3, #0, #10 + 6170: 459a cmp sl, r3 + 6172: f280 817d bge.w 6470 <_lv_disp_refr_task+0x4fc> if(disp_refr->inv_area_joined[i] == 0) { - 671e: eb07 030a add.w r3, r7, sl - 6722: f893 3148 ldrb.w r3, [r3, #328] ; 0x148 - 6726: 2b00 cmp r3, #0 - 6728: d1eb bne.n 6702 <_lv_disp_refr_task+0x1e6> + 6176: eb07 030a add.w r3, r7, sl + 617a: f893 3148 ldrb.w r3, [r3, #328] ; 0x148 + 617e: 2b00 cmp r3, #0 + 6180: d1eb bne.n 615a <_lv_disp_refr_task+0x1e6> if(i == last_i) disp_refr->driver.buffer->last_area = 1; - 672a: 9b07 ldr r3, [sp, #28] - 672c: 4553 cmp r3, sl - 672e: d0b3 beq.n 6698 <_lv_disp_refr_task+0x17c> + 6182: 9b07 ldr r3, [sp, #28] + 6184: 4553 cmp r3, sl + 6186: d0b3 beq.n 60f0 <_lv_disp_refr_task+0x17c> disp_refr->driver.buffer->last_part = 0; - 6730: 687a ldr r2, [r7, #4] - 6732: f892 3020 ldrb.w r3, [r2, #32] - 6736: f36f 0341 bfc r3, #1, #1 - 673a: f882 3020 strb.w r3, [r2, #32] + 6188: 687a ldr r2, [r7, #4] + 618a: f892 3020 ldrb.w r3, [r2, #32] + 618e: f36f 0341 bfc r3, #1, #1 + 6192: f882 3020 strb.w r3, [r2, #32] lv_refr_area(&disp_refr->inv_areas[i]); - 673e: 9b06 ldr r3, [sp, #24] - 6740: 18fb adds r3, r7, r3 - 6742: 9303 str r3, [sp, #12] + 6196: 9b06 ldr r3, [sp, #24] + 6198: 18fb adds r3, r7, r3 + 619a: 9303 str r3, [sp, #12] if(lv_disp_is_true_double_buf(disp_refr)) { - 6744: 4638 mov r0, r7 - 6746: 4b38 ldr r3, [pc, #224] ; (6828 <_lv_disp_refr_task+0x30c>) - 6748: 4798 blx r3 - 674a: 2800 cmp r0, #0 - 674c: d1ac bne.n 66a8 <_lv_disp_refr_task+0x18c> + 619c: 4638 mov r0, r7 + 619e: 4b38 ldr r3, [pc, #224] ; (6280 <_lv_disp_refr_task+0x30c>) + 61a0: 4798 blx r3 + 61a2: 2800 cmp r0, #0 + 61a4: d1ac bne.n 6100 <_lv_disp_refr_task+0x18c> lv_disp_buf_t * vdb = lv_disp_get_buf(disp_refr); - 674e: f8db 0000 ldr.w r0, [fp] - 6752: 4b30 ldr r3, [pc, #192] ; (6814 <_lv_disp_refr_task+0x2f8>) - 6754: 4798 blx r3 - 6756: 4606 mov r6, r0 - 6758: eb07 07ca add.w r7, r7, sl, lsl #3 + 61a6: f8db 0000 ldr.w r0, [fp] + 61aa: 4b30 ldr r3, [pc, #192] ; (626c <_lv_disp_refr_task+0x2f8>) + 61ac: 4798 blx r3 + 61ae: 4606 mov r6, r0 + 61b0: eb07 07ca add.w r7, r7, sl, lsl #3 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - 675c: f8b7 404c ldrh.w r4, [r7, #76] ; 0x4c - 6760: 3401 adds r4, #1 - 6762: f8b7 3048 ldrh.w r3, [r7, #72] ; 0x48 - 6766: 1ae4 subs r4, r4, r3 - 6768: b224 sxth r4, r4 + 61b4: f8b7 404c ldrh.w r4, [r7, #76] ; 0x4c + 61b8: 3401 adds r4, #1 + 61ba: f8b7 3048 ldrh.w r3, [r7, #72] ; 0x48 + 61be: 1ae4 subs r4, r4, r3 + 61c0: b224 sxth r4, r4 return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - 676a: f9b7 504e ldrsh.w r5, [r7, #78] ; 0x4e - 676e: f105 0801 add.w r8, r5, #1 - 6772: f8b7 304a ldrh.w r3, [r7, #74] ; 0x4a - 6776: eba8 0803 sub.w r8, r8, r3 - 677a: fa0f f888 sxth.w r8, r8 + 61c2: f9b7 504e ldrsh.w r5, [r7, #78] ; 0x4e + 61c6: f105 0801 add.w r8, r5, #1 + 61ca: f8b7 304a ldrh.w r3, [r7, #74] ; 0x4a + 61ce: eba8 0803 sub.w r8, r8, r3 + 61d2: fa0f f888 sxth.w r8, r8 area_p->y2 >= lv_disp_get_ver_res(disp_refr) ? lv_disp_get_ver_res(disp_refr) - 1 : area_p->y2; - 677e: f8db 0000 ldr.w r0, [fp] - 6782: 4b26 ldr r3, [pc, #152] ; (681c <_lv_disp_refr_task+0x300>) - 6784: 4798 blx r3 + 61d6: f8db 0000 ldr.w r0, [fp] + 61da: 4b26 ldr r3, [pc, #152] ; (6274 <_lv_disp_refr_task+0x300>) + 61dc: 4798 blx r3 lv_coord_t y2 = - 6786: 4285 cmp r5, r0 - 6788: da34 bge.n 67f4 <_lv_disp_refr_task+0x2d8> - 678a: f9b7 904e ldrsh.w r9, [r7, #78] ; 0x4e + 61de: 4285 cmp r5, r0 + 61e0: da34 bge.n 624c <_lv_disp_refr_task+0x2d8> + 61e2: f9b7 904e ldrsh.w r9, [r7, #78] ; 0x4e int32_t max_row = (uint32_t)vdb->size / w; - 678e: 68f3 ldr r3, [r6, #12] - 6790: fbb3 f3f4 udiv r3, r3, r4 - 6794: 4598 cmp r8, r3 - 6796: bfa8 it ge - 6798: 4698 movge r8, r3 + 61e6: 68f3 ldr r3, [r6, #12] + 61e8: fbb3 f3f4 udiv r3, r3, r4 + 61ec: 4598 cmp r8, r3 + 61ee: bfa8 it ge + 61f0: 4698 movge r8, r3 if(disp_refr->driver.rounder_cb) { - 679a: f8db 3000 ldr.w r3, [fp] - 679e: 691b ldr r3, [r3, #16] - 67a0: 2b00 cmp r3, #0 - 67a2: d052 beq.n 684a <_lv_disp_refr_task+0x32e> + 61f2: f8db 3000 ldr.w r3, [fp] + 61f6: 691b ldr r3, [r3, #16] + 61f8: 2b00 cmp r3, #0 + 61fa: d052 beq.n 62a2 <_lv_disp_refr_task+0x32e> tmp.x1 = 0; - 67a4: 2300 movs r3, #0 - 67a6: f8ad 3028 strh.w r3, [sp, #40] ; 0x28 + 61fc: 2300 movs r3, #0 + 61fe: f8ad 3028 strh.w r3, [sp, #40] ; 0x28 tmp.x2 = 0; - 67aa: f8ad 302c strh.w r3, [sp, #44] ; 0x2c + 6202: f8ad 302c strh.w r3, [sp, #44] ; 0x2c tmp.y1 = 0; - 67ae: f8ad 302a strh.w r3, [sp, #42] ; 0x2a + 6206: f8ad 302a strh.w r3, [sp, #42] ; 0x2a lv_coord_t h_tmp = max_row; - 67b2: fa0f f588 sxth.w r5, r8 - 67b6: 1e6c subs r4, r5, #1 - 67b8: b224 sxth r4, r4 + 620a: fa0f f588 sxth.w r5, r8 + 620e: 1e6c subs r4, r5, #1 + 6210: b224 sxth r4, r4 tmp.y2 = h_tmp - 1; - 67ba: f8ad 402e strh.w r4, [sp, #46] ; 0x2e + 6212: f8ad 402e strh.w r4, [sp, #46] ; 0x2e disp_refr->driver.rounder_cb(&disp_refr->driver, &tmp); - 67be: f8db 0000 ldr.w r0, [fp] - 67c2: 6903 ldr r3, [r0, #16] - 67c4: a90a add r1, sp, #40 ; 0x28 - 67c6: 4798 blx r3 - 67c8: f9bd 102e ldrsh.w r1, [sp, #46] ; 0x2e - 67cc: 1c4b adds r3, r1, #1 - 67ce: f8bd 202a ldrh.w r2, [sp, #42] ; 0x2a - 67d2: 1a9b subs r3, r3, r2 + 6216: f8db 0000 ldr.w r0, [fp] + 621a: 6903 ldr r3, [r0, #16] + 621c: a90a add r1, sp, #40 ; 0x28 + 621e: 4798 blx r3 + 6220: f9bd 102e ldrsh.w r1, [sp, #46] ; 0x2e + 6224: 1c4b adds r3, r1, #1 + 6226: f8bd 202a ldrh.w r2, [sp, #42] ; 0x2a + 622a: 1a9b subs r3, r3, r2 if(lv_area_get_height(&tmp) <= max_row) break; - 67d4: b21b sxth r3, r3 - 67d6: 4598 cmp r8, r3 - 67d8: da32 bge.n 6840 <_lv_disp_refr_task+0x324> + 622c: b21b sxth r3, r3 + 622e: 4598 cmp r8, r3 + 6230: da32 bge.n 6298 <_lv_disp_refr_task+0x324> h_tmp--; - 67da: 4625 mov r5, r4 + 6232: 4625 mov r5, r4 } while(h_tmp > 0); - 67dc: 2c00 cmp r4, #0 - 67de: dcea bgt.n 67b6 <_lv_disp_refr_task+0x29a> + 6234: 2c00 cmp r4, #0 + 6236: dcea bgt.n 620e <_lv_disp_refr_task+0x29a> LV_LOG_WARN("Can't set VDB height using the round function. (Wrong round_cb or to " - 67e0: 4b12 ldr r3, [pc, #72] ; (682c <_lv_disp_refr_task+0x310>) - 67e2: 9300 str r3, [sp, #0] - 67e4: 4b12 ldr r3, [pc, #72] ; (6830 <_lv_disp_refr_task+0x314>) - 67e6: f240 129f movw r2, #415 ; 0x19f - 67ea: 4912 ldr r1, [pc, #72] ; (6834 <_lv_disp_refr_task+0x318>) - 67ec: 2002 movs r0, #2 - 67ee: 4c12 ldr r4, [pc, #72] ; (6838 <_lv_disp_refr_task+0x31c>) - 67f0: 47a0 blx r4 - 67f2: e779 b.n 66e8 <_lv_disp_refr_task+0x1cc> + 6238: 4b12 ldr r3, [pc, #72] ; (6284 <_lv_disp_refr_task+0x310>) + 623a: 9300 str r3, [sp, #0] + 623c: 4b12 ldr r3, [pc, #72] ; (6288 <_lv_disp_refr_task+0x314>) + 623e: f240 129f movw r2, #415 ; 0x19f + 6242: 4912 ldr r1, [pc, #72] ; (628c <_lv_disp_refr_task+0x318>) + 6244: 2002 movs r0, #2 + 6246: 4c12 ldr r4, [pc, #72] ; (6290 <_lv_disp_refr_task+0x31c>) + 6248: 47a0 blx r4 + 624a: e779 b.n 6140 <_lv_disp_refr_task+0x1cc> area_p->y2 >= lv_disp_get_ver_res(disp_refr) ? lv_disp_get_ver_res(disp_refr) - 1 : area_p->y2; - 67f4: f8db 0000 ldr.w r0, [fp] - 67f8: 4b08 ldr r3, [pc, #32] ; (681c <_lv_disp_refr_task+0x300>) - 67fa: 4798 blx r3 - 67fc: 3801 subs r0, #1 + 624c: f8db 0000 ldr.w r0, [fp] + 6250: 4b08 ldr r3, [pc, #32] ; (6274 <_lv_disp_refr_task+0x300>) + 6252: 4798 blx r3 + 6254: 3801 subs r0, #1 lv_coord_t y2 = - 67fe: fa0f f980 sxth.w r9, r0 - 6802: e7c4 b.n 678e <_lv_disp_refr_task+0x272> - 6804: 00011601 .word 0x00011601 - 6808: 20002688 .word 0x20002688 - 680c: 00013f01 .word 0x00013f01 - 6810: 00011b17 .word 0x00011b17 - 6814: 00011585 .word 0x00011585 - 6818: 00011495 .word 0x00011495 - 681c: 000114bd .word 0x000114bd - 6820: 00006361 .word 0x00006361 - 6824: 00011aa5 .word 0x00011aa5 - 6828: 0001159d .word 0x0001159d - 682c: 0001bf10 .word 0x0001bf10 - 6830: 0001bed4 .word 0x0001bed4 - 6834: 0001bee4 .word 0x0001bee4 - 6838: 00012805 .word 0x00012805 - 683c: 00011cd1 .word 0x00011cd1 + 6256: fa0f f980 sxth.w r9, r0 + 625a: e7c4 b.n 61e6 <_lv_disp_refr_task+0x272> + 625c: 00011059 .word 0x00011059 + 6260: 20002688 .word 0x20002688 + 6264: 00013959 .word 0x00013959 + 6268: 0001156f .word 0x0001156f + 626c: 00010fdd .word 0x00010fdd + 6270: 00010eed .word 0x00010eed + 6274: 00010f15 .word 0x00010f15 + 6278: 00005db9 .word 0x00005db9 + 627c: 000114fd .word 0x000114fd + 6280: 00010ff5 .word 0x00010ff5 + 6284: 00024a2c .word 0x00024a2c + 6288: 000249f0 .word 0x000249f0 + 628c: 00024a00 .word 0x00024a00 + 6290: 0001225d .word 0x0001225d + 6294: 00011729 .word 0x00011729 if(h_tmp <= 0) { - 6840: 2d00 cmp r5, #0 + 6298: 2d00 cmp r5, #0 max_row = tmp.y2 + 1; - 6842: bfc8 it gt - 6844: f101 0801 addgt.w r8, r1, #1 + 629a: bfc8 it gt + 629c: f101 0801 addgt.w r8, r1, #1 if(h_tmp <= 0) { - 6848: ddca ble.n 67e0 <_lv_disp_refr_task+0x2c4> + 62a0: ddca ble.n 6238 <_lv_disp_refr_task+0x2c4> for(row = area_p->y1; row + max_row - 1 <= y2; row += max_row) { - 684a: f9b7 404a ldrsh.w r4, [r7, #74] ; 0x4a - 684e: f8cd 9010 str.w r9, [sp, #16] - 6852: eb04 0308 add.w r3, r4, r8 - 6856: 3b01 subs r3, #1 - 6858: 454b cmp r3, r9 - 685a: dc4b bgt.n 68f4 <_lv_disp_refr_task+0x3d8> + 62a2: f9b7 404a ldrsh.w r4, [r7, #74] ; 0x4a + 62a6: f8cd 9010 str.w r9, [sp, #16] + 62aa: eb04 0308 add.w r3, r4, r8 + 62ae: 3b01 subs r3, #1 + 62b0: 454b cmp r3, r9 + 62b2: dc4b bgt.n 634c <_lv_disp_refr_task+0x3d8> vdb->area.y2 = row + max_row - 1; - 685c: fa1f f388 uxth.w r3, r8 - 6860: 9305 str r3, [sp, #20] - 6862: 3b01 subs r3, #1 - 6864: f8cd a020 str.w sl, [sp, #32] - 6868: 469a mov sl, r3 - 686a: e00d b.n 6888 <_lv_disp_refr_task+0x36c> + 62b4: fa1f f388 uxth.w r3, r8 + 62b8: 9305 str r3, [sp, #20] + 62ba: 3b01 subs r3, #1 + 62bc: f8cd a020 str.w sl, [sp, #32] + 62c0: 469a mov sl, r3 + 62c2: e00d b.n 62e0 <_lv_disp_refr_task+0x36c> if(y2 == row_last) disp_refr->driver.buffer->last_part = 1; - 686c: 45a9 cmp r9, r5 - 686e: d01c beq.n 68aa <_lv_disp_refr_task+0x38e> + 62c4: 45a9 cmp r9, r5 + 62c6: d01c beq.n 6302 <_lv_disp_refr_task+0x38e> lv_refr_area_part(area_p); - 6870: 9803 ldr r0, [sp, #12] - 6872: 4b78 ldr r3, [pc, #480] ; (6a54 <_lv_disp_refr_task+0x538>) - 6874: 4798 blx r3 - 6876: 9b05 ldr r3, [sp, #20] - 6878: 441c add r4, r3 - 687a: b224 sxth r4, r4 + 62c8: 9803 ldr r0, [sp, #12] + 62ca: 4b78 ldr r3, [pc, #480] ; (64ac <_lv_disp_refr_task+0x538>) + 62cc: 4798 blx r3 + 62ce: 9b05 ldr r3, [sp, #20] + 62d0: 441c add r4, r3 + 62d2: b224 sxth r4, r4 for(row = area_p->y1; row + max_row - 1 <= y2; row += max_row) { - 687c: eb04 0308 add.w r3, r4, r8 - 6880: 3b01 subs r3, #1 - 6882: 9a04 ldr r2, [sp, #16] - 6884: 4293 cmp r3, r2 - 6886: dc1a bgt.n 68be <_lv_disp_refr_task+0x3a2> + 62d4: eb04 0308 add.w r3, r4, r8 + 62d8: 3b01 subs r3, #1 + 62da: 9a04 ldr r2, [sp, #16] + 62dc: 4293 cmp r3, r2 + 62de: dc1a bgt.n 6316 <_lv_disp_refr_task+0x3a2> vdb->area.x1 = area_p->x1; - 6888: f9b7 3048 ldrsh.w r3, [r7, #72] ; 0x48 - 688c: 8233 strh r3, [r6, #16] + 62e0: f9b7 3048 ldrsh.w r3, [r7, #72] ; 0x48 + 62e4: 8233 strh r3, [r6, #16] vdb->area.x2 = area_p->x2; - 688e: f9b7 304c ldrsh.w r3, [r7, #76] ; 0x4c - 6892: 82b3 strh r3, [r6, #20] + 62e6: f9b7 304c ldrsh.w r3, [r7, #76] ; 0x4c + 62ea: 82b3 strh r3, [r6, #20] vdb->area.y1 = row; - 6894: 8274 strh r4, [r6, #18] - 6896: b2a4 uxth r4, r4 - 6898: eb04 050a add.w r5, r4, sl - 689c: b22d sxth r5, r5 + 62ec: 8274 strh r4, [r6, #18] + 62ee: b2a4 uxth r4, r4 + 62f0: eb04 050a add.w r5, r4, sl + 62f4: b22d sxth r5, r5 vdb->area.y2 = row + max_row - 1; - 689e: 82f5 strh r5, [r6, #22] + 62f6: 82f5 strh r5, [r6, #22] if(vdb->area.y2 > y2) vdb->area.y2 = y2; - 68a0: 45a9 cmp r9, r5 - 68a2: dae3 bge.n 686c <_lv_disp_refr_task+0x350> - 68a4: f8a6 9016 strh.w r9, [r6, #22] + 62f8: 45a9 cmp r9, r5 + 62fa: dae3 bge.n 62c4 <_lv_disp_refr_task+0x350> + 62fc: f8a6 9016 strh.w r9, [r6, #22] row_last = vdb->area.y2; - 68a8: 464d mov r5, r9 + 6300: 464d mov r5, r9 if(y2 == row_last) disp_refr->driver.buffer->last_part = 1; - 68aa: f8db 3000 ldr.w r3, [fp] - 68ae: 685a ldr r2, [r3, #4] - 68b0: f892 3020 ldrb.w r3, [r2, #32] - 68b4: f043 0302 orr.w r3, r3, #2 - 68b8: f882 3020 strb.w r3, [r2, #32] - 68bc: e7d8 b.n 6870 <_lv_disp_refr_task+0x354> - 68be: f8dd a020 ldr.w sl, [sp, #32] + 6302: f8db 3000 ldr.w r3, [fp] + 6306: 685a ldr r2, [r3, #4] + 6308: f892 3020 ldrb.w r3, [r2, #32] + 630c: f043 0302 orr.w r3, r3, #2 + 6310: f882 3020 strb.w r3, [r2, #32] + 6314: e7d8 b.n 62c8 <_lv_disp_refr_task+0x354> + 6316: f8dd a020 ldr.w sl, [sp, #32] if(y2 != row_last) { - 68c2: 45a9 cmp r9, r5 - 68c4: f43f af10 beq.w 66e8 <_lv_disp_refr_task+0x1cc> + 631a: 45a9 cmp r9, r5 + 631c: f43f af10 beq.w 6140 <_lv_disp_refr_task+0x1cc> vdb->area.x1 = area_p->x1; - 68c8: f9b7 3048 ldrsh.w r3, [r7, #72] ; 0x48 - 68cc: 8233 strh r3, [r6, #16] + 6320: f9b7 3048 ldrsh.w r3, [r7, #72] ; 0x48 + 6324: 8233 strh r3, [r6, #16] vdb->area.x2 = area_p->x2; - 68ce: f9b7 304c ldrsh.w r3, [r7, #76] ; 0x4c - 68d2: 82b3 strh r3, [r6, #20] + 6326: f9b7 304c ldrsh.w r3, [r7, #76] ; 0x4c + 632a: 82b3 strh r3, [r6, #20] vdb->area.y1 = row; - 68d4: 8274 strh r4, [r6, #18] + 632c: 8274 strh r4, [r6, #18] vdb->area.y2 = y2; - 68d6: f8a6 9016 strh.w r9, [r6, #22] + 632e: f8a6 9016 strh.w r9, [r6, #22] disp_refr->driver.buffer->last_part = 1; - 68da: f8db 3000 ldr.w r3, [fp] - 68de: 685a ldr r2, [r3, #4] - 68e0: f892 3020 ldrb.w r3, [r2, #32] - 68e4: f043 0302 orr.w r3, r3, #2 - 68e8: f882 3020 strb.w r3, [r2, #32] + 6332: f8db 3000 ldr.w r3, [fp] + 6336: 685a ldr r2, [r3, #4] + 6338: f892 3020 ldrb.w r3, [r2, #32] + 633c: f043 0302 orr.w r3, r3, #2 + 6340: f882 3020 strb.w r3, [r2, #32] lv_refr_area_part(area_p); - 68ec: 9803 ldr r0, [sp, #12] - 68ee: 4b59 ldr r3, [pc, #356] ; (6a54 <_lv_disp_refr_task+0x538>) - 68f0: 4798 blx r3 - 68f2: e6f9 b.n 66e8 <_lv_disp_refr_task+0x1cc> + 6344: 9803 ldr r0, [sp, #12] + 6346: 4b59 ldr r3, [pc, #356] ; (64ac <_lv_disp_refr_task+0x538>) + 6348: 4798 blx r3 + 634a: e6f9 b.n 6140 <_lv_disp_refr_task+0x1cc> lv_coord_t row_last = 0; - 68f4: 2500 movs r5, #0 - 68f6: e7e4 b.n 68c2 <_lv_disp_refr_task+0x3a6> + 634c: 2500 movs r5, #0 + 634e: e7e4 b.n 631a <_lv_disp_refr_task+0x3a6> if(lv_disp_is_true_double_buf(disp_refr) && disp_refr->driver.set_px_cb == NULL) { - 68f8: 4b57 ldr r3, [pc, #348] ; (6a58 <_lv_disp_refr_task+0x53c>) - 68fa: 4798 blx r3 - 68fc: b118 cbz r0, 6906 <_lv_disp_refr_task+0x3ea> - 68fe: 4b57 ldr r3, [pc, #348] ; (6a5c <_lv_disp_refr_task+0x540>) - 6900: 6818 ldr r0, [r3, #0] - 6902: 6943 ldr r3, [r0, #20] - 6904: b1eb cbz r3, 6942 <_lv_disp_refr_task+0x426> + 6350: 4b57 ldr r3, [pc, #348] ; (64b0 <_lv_disp_refr_task+0x53c>) + 6352: 4798 blx r3 + 6354: b118 cbz r0, 635e <_lv_disp_refr_task+0x3ea> + 6356: 4b57 ldr r3, [pc, #348] ; (64b4 <_lv_disp_refr_task+0x540>) + 6358: 6818 ldr r0, [r3, #0] + 635a: 6943 ldr r3, [r0, #20] + 635c: b1eb cbz r3, 639a <_lv_disp_refr_task+0x426> _lv_memset_00(disp_refr->inv_areas, sizeof(disp_refr->inv_areas)); - 6906: 4c55 ldr r4, [pc, #340] ; (6a5c <_lv_disp_refr_task+0x540>) - 6908: 6820 ldr r0, [r4, #0] - 690a: f44f 7180 mov.w r1, #256 ; 0x100 - 690e: 3048 adds r0, #72 ; 0x48 - 6910: 4d53 ldr r5, [pc, #332] ; (6a60 <_lv_disp_refr_task+0x544>) - 6912: 47a8 blx r5 + 635e: 4c55 ldr r4, [pc, #340] ; (64b4 <_lv_disp_refr_task+0x540>) + 6360: 6820 ldr r0, [r4, #0] + 6362: f44f 7180 mov.w r1, #256 ; 0x100 + 6366: 3048 adds r0, #72 ; 0x48 + 6368: 4d53 ldr r5, [pc, #332] ; (64b8 <_lv_disp_refr_task+0x544>) + 636a: 47a8 blx r5 _lv_memset_00(disp_refr->inv_area_joined, sizeof(disp_refr->inv_area_joined)); - 6914: 6820 ldr r0, [r4, #0] - 6916: 2120 movs r1, #32 - 6918: f500 70a4 add.w r0, r0, #328 ; 0x148 - 691c: 47a8 blx r5 + 636c: 6820 ldr r0, [r4, #0] + 636e: 2120 movs r1, #32 + 6370: f500 70a4 add.w r0, r0, #328 ; 0x148 + 6374: 47a8 blx r5 disp_refr->inv_p = 0; - 691e: 6823 ldr r3, [r4, #0] - 6920: f8b3 2168 ldrh.w r2, [r3, #360] ; 0x168 - 6924: f36f 0209 bfc r2, #0, #10 - 6928: f8a3 2168 strh.w r2, [r3, #360] ; 0x168 + 6376: 6823 ldr r3, [r4, #0] + 6378: f8b3 2168 ldrh.w r2, [r3, #360] ; 0x168 + 637c: f36f 0209 bfc r2, #0, #10 + 6380: f8a3 2168 strh.w r2, [r3, #360] ; 0x168 elaps = lv_tick_elaps(start); - 692c: 9809 ldr r0, [sp, #36] ; 0x24 - 692e: 4b4d ldr r3, [pc, #308] ; (6a64 <_lv_disp_refr_task+0x548>) - 6930: 4798 blx r3 - 6932: 4601 mov r1, r0 + 6384: 9809 ldr r0, [sp, #36] ; 0x24 + 6386: 4b4d ldr r3, [pc, #308] ; (64bc <_lv_disp_refr_task+0x548>) + 6388: 4798 blx r3 + 638a: 4601 mov r1, r0 if(disp_refr->driver.monitor_cb) { - 6934: 6820 ldr r0, [r4, #0] - 6936: 6983 ldr r3, [r0, #24] - 6938: 2b00 cmp r3, #0 - 693a: d076 beq.n 6a2a <_lv_disp_refr_task+0x50e> + 638c: 6820 ldr r0, [r4, #0] + 638e: 6983 ldr r3, [r0, #24] + 6390: 2b00 cmp r3, #0 + 6392: d076 beq.n 6482 <_lv_disp_refr_task+0x50e> disp_refr->driver.monitor_cb(&disp_refr->driver, elaps, px_num); - 693c: 6862 ldr r2, [r4, #4] - 693e: 4798 blx r3 - 6940: e073 b.n 6a2a <_lv_disp_refr_task+0x50e> + 6394: 6862 ldr r2, [r4, #4] + 6396: 4798 blx r3 + 6398: e073 b.n 6482 <_lv_disp_refr_task+0x50e> lv_disp_buf_t * vdb = lv_disp_get_buf(disp_refr); - 6942: 4b49 ldr r3, [pc, #292] ; (6a68 <_lv_disp_refr_task+0x54c>) - 6944: 4798 blx r3 - 6946: 4604 mov r4, r0 + 639a: 4b49 ldr r3, [pc, #292] ; (64c0 <_lv_disp_refr_task+0x54c>) + 639c: 4798 blx r3 + 639e: 4604 mov r4, r0 lv_refr_vdb_flush(); - 6948: 4b48 ldr r3, [pc, #288] ; (6a6c <_lv_disp_refr_task+0x550>) - 694a: 4798 blx r3 + 63a0: 4b48 ldr r3, [pc, #288] ; (64c4 <_lv_disp_refr_task+0x550>) + 63a2: 4798 blx r3 while(vdb->flushing) - 694c: 69a3 ldr r3, [r4, #24] - 694e: 2b00 cmp r3, #0 - 6950: d1fc bne.n 694c <_lv_disp_refr_task+0x430> + 63a4: 69a3 ldr r3, [r4, #24] + 63a6: 2b00 cmp r3, #0 + 63a8: d1fc bne.n 63a4 <_lv_disp_refr_task+0x430> uint8_t * buf_act = (uint8_t *)vdb->buf_act; - 6952: 68a3 ldr r3, [r4, #8] - 6954: 9303 str r3, [sp, #12] + 63aa: 68a3 ldr r3, [r4, #8] + 63ac: 9303 str r3, [sp, #12] uint8_t * buf_ina = (uint8_t *)vdb->buf_act == vdb->buf1 ? vdb->buf2 : vdb->buf1; - 6956: f8d4 a000 ldr.w sl, [r4] - 695a: 4553 cmp r3, sl - 695c: bf08 it eq - 695e: f8d4 a004 ldreq.w sl, [r4, #4] + 63ae: f8d4 a000 ldr.w sl, [r4] + 63b2: 4553 cmp r3, sl + 63b4: bf08 it eq + 63b6: f8d4 a004 ldreq.w sl, [r4, #4] lv_coord_t hres = lv_disp_get_hor_res(disp_refr); - 6962: 4c3e ldr r4, [pc, #248] ; (6a5c <_lv_disp_refr_task+0x540>) - 6964: 6820 ldr r0, [r4, #0] - 6966: 4b42 ldr r3, [pc, #264] ; (6a70 <_lv_disp_refr_task+0x554>) - 6968: 4798 blx r3 - 696a: 9004 str r0, [sp, #16] + 63ba: 4c3e ldr r4, [pc, #248] ; (64b4 <_lv_disp_refr_task+0x540>) + 63bc: 6820 ldr r0, [r4, #0] + 63be: 4b42 ldr r3, [pc, #264] ; (64c8 <_lv_disp_refr_task+0x554>) + 63c0: 4798 blx r3 + 63c2: 9004 str r0, [sp, #16] for(a = 0; a < disp_refr->inv_p; a++) { - 696c: 6823 ldr r3, [r4, #0] - 696e: f8b3 2168 ldrh.w r2, [r3, #360] ; 0x168 - 6972: f3c2 0209 ubfx r2, r2, #0, #10 - 6976: 2a00 cmp r2, #0 - 6978: d0c5 beq.n 6906 <_lv_disp_refr_task+0x3ea> + 63c4: 6823 ldr r3, [r4, #0] + 63c6: f8b3 2168 ldrh.w r2, [r3, #360] ; 0x168 + 63ca: f3c2 0209 ubfx r2, r2, #0, #10 + 63ce: 2a00 cmp r2, #0 + 63d0: d0c5 beq.n 635e <_lv_disp_refr_task+0x3ea> start_offs += hres * sizeof(lv_color_t); - 697a: 0045 lsls r5, r0, #1 - 697c: 2200 movs r2, #0 - 697e: 4690 mov r8, r2 + 63d2: 0045 lsls r5, r0, #1 + 63d4: 2200 movs r2, #0 + 63d6: 4690 mov r8, r2 for(y = disp_refr->inv_areas[a].y1; y <= disp_refr->inv_areas[a].y2; y++) { - 6980: 46a1 mov r9, r4 - 6982: e00c b.n 699e <_lv_disp_refr_task+0x482> + 63d8: 46a1 mov r9, r4 + 63da: e00c b.n 63f6 <_lv_disp_refr_task+0x482> for(a = 0; a < disp_refr->inv_p; a++) { - 6984: f108 0801 add.w r8, r8, #1 - 6988: fa1f f888 uxth.w r8, r8 - 698c: 4642 mov r2, r8 - 698e: f8d9 3000 ldr.w r3, [r9] - 6992: f8b3 1168 ldrh.w r1, [r3, #360] ; 0x168 - 6996: f3c1 0109 ubfx r1, r1, #0, #10 - 699a: 4588 cmp r8, r1 - 699c: dab3 bge.n 6906 <_lv_disp_refr_task+0x3ea> + 63dc: f108 0801 add.w r8, r8, #1 + 63e0: fa1f f888 uxth.w r8, r8 + 63e4: 4642 mov r2, r8 + 63e6: f8d9 3000 ldr.w r3, [r9] + 63ea: f8b3 1168 ldrh.w r1, [r3, #360] ; 0x168 + 63ee: f3c1 0109 ubfx r1, r1, #0, #10 + 63f2: 4588 cmp r8, r1 + 63f4: dab3 bge.n 635e <_lv_disp_refr_task+0x3ea> if(disp_refr->inv_area_joined[a] == 0) { - 699e: 1899 adds r1, r3, r2 - 69a0: f891 1148 ldrb.w r1, [r1, #328] ; 0x148 - 69a4: 2900 cmp r1, #0 - 69a6: d1ed bne.n 6984 <_lv_disp_refr_task+0x468> - 69a8: eb03 03c2 add.w r3, r3, r2, lsl #3 + 63f6: 1899 adds r1, r3, r2 + 63f8: f891 1148 ldrb.w r1, [r1, #328] ; 0x148 + 63fc: 2900 cmp r1, #0 + 63fe: d1ed bne.n 63dc <_lv_disp_refr_task+0x468> + 6400: eb03 03c2 add.w r3, r3, r2, lsl #3 (hres * disp_refr->inv_areas[a].y1 + disp_refr->inv_areas[a].x1) * sizeof(lv_color_t); - 69ac: f9b3 704a ldrsh.w r7, [r3, #74] ; 0x4a - 69b0: f9b3 1048 ldrsh.w r1, [r3, #72] ; 0x48 - 69b4: 9804 ldr r0, [sp, #16] - 69b6: fb07 1600 mla r6, r7, r0, r1 + 6404: f9b3 704a ldrsh.w r7, [r3, #74] ; 0x4a + 6408: f9b3 1048 ldrsh.w r1, [r3, #72] ; 0x48 + 640c: 9804 ldr r0, [sp, #16] + 640e: fb07 1600 mla r6, r7, r0, r1 uint32_t start_offs = - 69ba: 0076 lsls r6, r6, #1 + 6412: 0076 lsls r6, r6, #1 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - 69bc: f8b3 304c ldrh.w r3, [r3, #76] ; 0x4c - 69c0: 3301 adds r3, #1 - 69c2: 1a5b subs r3, r3, r1 + 6414: f8b3 304c ldrh.w r3, [r3, #76] ; 0x4c + 6418: 3301 adds r3, #1 + 641a: 1a5b subs r3, r3, r1 uint32_t line_length = lv_area_get_width(&disp_refr->inv_areas[a]) * sizeof(lv_color_t); - 69c4: b21b sxth r3, r3 - 69c6: 005b lsls r3, r3, #1 - 69c8: 9305 str r3, [sp, #20] + 641c: b21b sxth r3, r3 + 641e: 005b lsls r3, r3, #1 + 6420: 9305 str r3, [sp, #20] for(y = disp_refr->inv_areas[a].y1; y <= disp_refr->inv_areas[a].y2; y++) { - 69ca: f8d9 3000 ldr.w r3, [r9] - 69ce: eb03 03c2 add.w r3, r3, r2, lsl #3 - 69d2: f9b3 304e ldrsh.w r3, [r3, #78] ; 0x4e - 69d6: 42bb cmp r3, r7 - 69d8: dbd4 blt.n 6984 <_lv_disp_refr_task+0x468> - 69da: 9b03 ldr r3, [sp, #12] - 69dc: eb03 0b06 add.w fp, r3, r6 - 69e0: 4456 add r6, sl - 69e2: 3209 adds r2, #9 - 69e4: 00d4 lsls r4, r2, #3 + 6422: f8d9 3000 ldr.w r3, [r9] + 6426: eb03 03c2 add.w r3, r3, r2, lsl #3 + 642a: f9b3 304e ldrsh.w r3, [r3, #78] ; 0x4e + 642e: 42bb cmp r3, r7 + 6430: dbd4 blt.n 63dc <_lv_disp_refr_task+0x468> + 6432: 9b03 ldr r3, [sp, #12] + 6434: eb03 0b06 add.w fp, r3, r6 + 6438: 4456 add r6, sl + 643a: 3209 adds r2, #9 + 643c: 00d4 lsls r4, r2, #3 _lv_memcpy(buf_act + start_offs, buf_ina + start_offs, line_length); - 69e6: 9a05 ldr r2, [sp, #20] - 69e8: 4631 mov r1, r6 - 69ea: 4658 mov r0, fp - 69ec: 4b21 ldr r3, [pc, #132] ; (6a74 <_lv_disp_refr_task+0x558>) - 69ee: 4798 blx r3 - 69f0: 3701 adds r7, #1 - 69f2: b23f sxth r7, r7 - 69f4: 44ab add fp, r5 - 69f6: 442e add r6, r5 + 643e: 9a05 ldr r2, [sp, #20] + 6440: 4631 mov r1, r6 + 6442: 4658 mov r0, fp + 6444: 4b21 ldr r3, [pc, #132] ; (64cc <_lv_disp_refr_task+0x558>) + 6446: 4798 blx r3 + 6448: 3701 adds r7, #1 + 644a: b23f sxth r7, r7 + 644c: 44ab add fp, r5 + 644e: 442e add r6, r5 for(y = disp_refr->inv_areas[a].y1; y <= disp_refr->inv_areas[a].y2; y++) { - 69f8: f8d9 3000 ldr.w r3, [r9] - 69fc: 4423 add r3, r4 - 69fe: f9b3 3006 ldrsh.w r3, [r3, #6] - 6a02: 42bb cmp r3, r7 - 6a04: daef bge.n 69e6 <_lv_disp_refr_task+0x4ca> - 6a06: e7bd b.n 6984 <_lv_disp_refr_task+0x468> + 6450: f8d9 3000 ldr.w r3, [r9] + 6454: 4423 add r3, r4 + 6456: f9b3 3006 ldrsh.w r3, [r3, #6] + 645a: 42bb cmp r3, r7 + 645c: daef bge.n 643e <_lv_disp_refr_task+0x4ca> + 645e: e7bd b.n 63dc <_lv_disp_refr_task+0x468> px_num = 0; - 6a08: 2200 movs r2, #0 - 6a0a: 4b14 ldr r3, [pc, #80] ; (6a5c <_lv_disp_refr_task+0x540>) - 6a0c: 605a str r2, [r3, #4] + 6460: 2200 movs r2, #0 + 6462: 4b14 ldr r3, [pc, #80] ; (64b4 <_lv_disp_refr_task+0x540>) + 6464: 605a str r2, [r3, #4] if(disp_refr->inv_p == 0) return; - 6a0e: f8b0 3168 ldrh.w r3, [r0, #360] ; 0x168 - 6a12: f3c3 0309 ubfx r3, r3, #0, #10 - 6a16: b97b cbnz r3, 6a38 <_lv_disp_refr_task+0x51c> + 6466: f8b0 3168 ldrh.w r3, [r0, #360] ; 0x168 + 646a: f3c3 0309 ubfx r3, r3, #0, #10 + 646e: b97b cbnz r3, 6490 <_lv_disp_refr_task+0x51c> if(disp_refr->inv_p != 0) { - 6a18: 4b10 ldr r3, [pc, #64] ; (6a5c <_lv_disp_refr_task+0x540>) - 6a1a: 6818 ldr r0, [r3, #0] - 6a1c: f8b0 3168 ldrh.w r3, [r0, #360] ; 0x168 - 6a20: f3c3 0309 ubfx r3, r3, #0, #10 - 6a24: 2b00 cmp r3, #0 - 6a26: f47f af67 bne.w 68f8 <_lv_disp_refr_task+0x3dc> + 6470: 4b10 ldr r3, [pc, #64] ; (64b4 <_lv_disp_refr_task+0x540>) + 6472: 6818 ldr r0, [r3, #0] + 6474: f8b0 3168 ldrh.w r3, [r0, #360] ; 0x168 + 6478: f3c3 0309 ubfx r3, r3, #0, #10 + 647c: 2b00 cmp r3, #0 + 647e: f47f af67 bne.w 6350 <_lv_disp_refr_task+0x3dc> _lv_mem_buf_free_all(); - 6a2a: 4b13 ldr r3, [pc, #76] ; (6a78 <_lv_disp_refr_task+0x55c>) - 6a2c: 4798 blx r3 + 6482: 4b13 ldr r3, [pc, #76] ; (64d0 <_lv_disp_refr_task+0x55c>) + 6484: 4798 blx r3 _lv_font_clean_up_fmt_txt(); - 6a2e: 4b13 ldr r3, [pc, #76] ; (6a7c <_lv_disp_refr_task+0x560>) - 6a30: 4798 blx r3 + 6486: 4b13 ldr r3, [pc, #76] ; (64d4 <_lv_disp_refr_task+0x560>) + 6488: 4798 blx r3 } - 6a32: b00d add sp, #52 ; 0x34 - 6a34: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 648a: b00d add sp, #52 ; 0x34 + 648c: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} int32_t last_i = 0; - 6a38: 9207 str r2, [sp, #28] - 6a3a: e60b b.n 6654 <_lv_disp_refr_task+0x138> + 6490: 9207 str r2, [sp, #28] + 6492: e60b b.n 60ac <_lv_disp_refr_task+0x138> px_num = 0; - 6a3c: 2200 movs r2, #0 - 6a3e: 4b07 ldr r3, [pc, #28] ; (6a5c <_lv_disp_refr_task+0x540>) - 6a40: 605a str r2, [r3, #4] + 6494: 2200 movs r2, #0 + 6496: 4b07 ldr r3, [pc, #28] ; (64b4 <_lv_disp_refr_task+0x540>) + 6498: 605a str r2, [r3, #4] if(disp_refr->inv_p == 0) return; - 6a42: f8b0 3168 ldrh.w r3, [r0, #360] ; 0x168 - 6a46: f3c3 0309 ubfx r3, r3, #0, #10 - 6a4a: 2b00 cmp r3, #0 - 6a4c: d0ed beq.n 6a2a <_lv_disp_refr_task+0x50e> + 649a: f8b0 3168 ldrh.w r3, [r0, #360] ; 0x168 + 649e: f3c3 0309 ubfx r3, r3, #0, #10 + 64a2: 2b00 cmp r3, #0 + 64a4: d0ed beq.n 6482 <_lv_disp_refr_task+0x50e> int32_t last_i = 0; - 6a4e: 9207 str r2, [sp, #28] - 6a50: e600 b.n 6654 <_lv_disp_refr_task+0x138> - 6a52: bf00 nop - 6a54: 00006361 .word 0x00006361 - 6a58: 0001159d .word 0x0001159d - 6a5c: 20002688 .word 0x20002688 - 6a60: 000130df .word 0x000130df - 6a64: 00011619 .word 0x00011619 - 6a68: 00011585 .word 0x00011585 - 6a6c: 000062e9 .word 0x000062e9 - 6a70: 00011495 .word 0x00011495 - 6a74: 00012bfd .word 0x00012bfd - 6a78: 00012ba1 .word 0x00012ba1 - 6a7c: 0001129d .word 0x0001129d - -00006a80 : + 64a6: 9207 str r2, [sp, #28] + 64a8: e600 b.n 60ac <_lv_disp_refr_task+0x138> + 64aa: bf00 nop + 64ac: 00005db9 .word 0x00005db9 + 64b0: 00010ff5 .word 0x00010ff5 + 64b4: 20002688 .word 0x20002688 + 64b8: 00012b37 .word 0x00012b37 + 64bc: 00011071 .word 0x00011071 + 64c0: 00010fdd .word 0x00010fdd + 64c4: 00005d41 .word 0x00005d41 + 64c8: 00010eed .word 0x00010eed + 64cc: 00012655 .word 0x00012655 + 64d0: 000125f9 .word 0x000125f9 + 64d4: 00010cf5 .word 0x00010cf5 + +000064d8 : /** * Initialize a style * @param style pointer to a style to initialize */ void lv_style_init(lv_style_t * style) { - 6a80: b508 push {r3, lr} + 64d8: b508 push {r3, lr} _lv_memset_00(style, sizeof(lv_style_t)); - 6a82: 2104 movs r1, #4 - 6a84: 4b01 ldr r3, [pc, #4] ; (6a8c ) - 6a86: 4798 blx r3 - 6a88: bd08 pop {r3, pc} - 6a8a: bf00 nop - 6a8c: 000130df .word 0x000130df - -00006a90 : + 64da: 2104 movs r1, #4 + 64dc: 4b01 ldr r3, [pc, #4] ; (64e4 ) + 64de: 4798 blx r3 + 64e0: bd08 pop {r3, pc} + 64e2: bf00 nop + 64e4: 00012b37 .word 0x00012b37 + +000064e8 : /** * Initialize a style list * @param list a style list to initialize */ void lv_style_list_init(lv_style_list_t * list) { - 6a90: b508 push {r3, lr} + 64e8: b508 push {r3, lr} _lv_memset_00(list, sizeof(lv_style_list_t)); - 6a92: 2108 movs r1, #8 - 6a94: 4b01 ldr r3, [pc, #4] ; (6a9c ) - 6a96: 4798 blx r3 - 6a98: bd08 pop {r3, pc} - 6a9a: bf00 nop - 6a9c: 000130df .word 0x000130df - -00006aa0 <_lv_style_list_remove_style>: + 64ea: 2108 movs r1, #8 + 64ec: 4b01 ldr r3, [pc, #4] ; (64f4 ) + 64ee: 4798 blx r3 + 64f0: bd08 pop {r3, pc} + 64f2: bf00 nop + 64f4: 00012b37 .word 0x00012b37 + +000064f8 <_lv_style_list_remove_style>: * Remove a style from a style list * @param style_list pointer to a style list * @param style pointer to a style to remove */ void _lv_style_list_remove_style(lv_style_list_t * list, lv_style_t * style) { - 6aa0: b570 push {r4, r5, r6, lr} - 6aa2: b082 sub sp, #8 + 64f8: b570 push {r4, r5, r6, lr} + 64fa: b082 sub sp, #8 LV_ASSERT_STYLE_LIST(list); LV_ASSERT_STYLE(style); if(list->style_cnt == 0) return; - 6aa4: 7906 ldrb r6, [r0, #4] - 6aa6: 2e00 cmp r6, #0 - 6aa8: d055 beq.n 6b56 <_lv_style_list_remove_style+0xb6> - 6aaa: 4604 mov r4, r0 + 64fc: 7906 ldrb r6, [r0, #4] + 64fe: 2e00 cmp r6, #0 + 6500: d055 beq.n 65ae <_lv_style_list_remove_style+0xb6> + 6502: 4604 mov r4, r0 /*Check if the style really exists here*/ uint8_t i; bool found = false; for(i = 0; i < list->style_cnt; i++) { if(list->style_list[i] == style) { - 6aac: 6800 ldr r0, [r0, #0] - 6aae: 6803 ldr r3, [r0, #0] - 6ab0: 4299 cmp r1, r3 - 6ab2: d00a beq.n 6aca <_lv_style_list_remove_style+0x2a> - 6ab4: 4603 mov r3, r0 - 6ab6: 1e75 subs r5, r6, #1 - 6ab8: b2ed uxtb r5, r5 - 6aba: eb00 0585 add.w r5, r0, r5, lsl #2 + 6504: 6800 ldr r0, [r0, #0] + 6506: 6803 ldr r3, [r0, #0] + 6508: 4299 cmp r1, r3 + 650a: d00a beq.n 6522 <_lv_style_list_remove_style+0x2a> + 650c: 4603 mov r3, r0 + 650e: 1e75 subs r5, r6, #1 + 6510: b2ed uxtb r5, r5 + 6512: eb00 0585 add.w r5, r0, r5, lsl #2 for(i = 0; i < list->style_cnt; i++) { - 6abe: 429d cmp r5, r3 - 6ac0: d049 beq.n 6b56 <_lv_style_list_remove_style+0xb6> + 6516: 429d cmp r5, r3 + 6518: d049 beq.n 65ae <_lv_style_list_remove_style+0xb6> if(list->style_list[i] == style) { - 6ac2: f853 2f04 ldr.w r2, [r3, #4]! - 6ac6: 428a cmp r2, r1 - 6ac8: d1f9 bne.n 6abe <_lv_style_list_remove_style+0x1e> - 6aca: 460d mov r5, r1 + 651a: f853 2f04 ldr.w r2, [r3, #4]! + 651e: 428a cmp r2, r1 + 6520: d1f9 bne.n 6516 <_lv_style_list_remove_style+0x1e> + 6522: 460d mov r5, r1 break; } } if(found == false) return; if(list->style_cnt == 1) { - 6acc: 2e01 cmp r6, #1 - 6ace: d00e beq.n 6aee <_lv_style_list_remove_style+0x4e> + 6524: 2e01 cmp r6, #1 + 6526: d00e beq.n 6546 <_lv_style_list_remove_style+0x4e> list->style_cnt = 0; list->has_local = 0; return; } lv_style_t ** new_classes = lv_mem_realloc(list->style_list, sizeof(lv_style_t *) * (list->style_cnt - 1)); - 6ad0: 1e71 subs r1, r6, #1 - 6ad2: 0089 lsls r1, r1, #2 - 6ad4: 4b21 ldr r3, [pc, #132] ; (6b5c <_lv_style_list_remove_style+0xbc>) - 6ad6: 4798 blx r3 - 6ad8: 4606 mov r6, r0 + 6528: 1e71 subs r1, r6, #1 + 652a: 0089 lsls r1, r1, #2 + 652c: 4b21 ldr r3, [pc, #132] ; (65b4 <_lv_style_list_remove_style+0xbc>) + 652e: 4798 blx r3 + 6530: 4606 mov r6, r0 LV_ASSERT_MEM(new_classes); - 6ada: 4b21 ldr r3, [pc, #132] ; (6b60 <_lv_style_list_remove_style+0xc0>) - 6adc: 4798 blx r3 - 6ade: b180 cbz r0, 6b02 <_lv_style_list_remove_style+0x62> + 6532: 4b21 ldr r3, [pc, #132] ; (65b8 <_lv_style_list_remove_style+0xc0>) + 6534: 4798 blx r3 + 6536: b180 cbz r0, 655a <_lv_style_list_remove_style+0x62> if(new_classes == NULL) { - 6ae0: b1ee cbz r6, 6b1e <_lv_style_list_remove_style+0x7e> + 6538: b1ee cbz r6, 6576 <_lv_style_list_remove_style+0x7e> LV_LOG_WARN("lv_style_list_remove_style: couldn't reallocate class list"); return; } uint8_t j; for(i = 0, j = 0; i < list->style_cnt; i++) { - 6ae2: 7921 ldrb r1, [r4, #4] - 6ae4: 2900 cmp r1, #0 - 6ae6: d033 beq.n 6b50 <_lv_style_list_remove_style+0xb0> - 6ae8: 2200 movs r2, #0 - 6aea: 4613 mov r3, r2 - 6aec: e026 b.n 6b3c <_lv_style_list_remove_style+0x9c> + 653a: 7921 ldrb r1, [r4, #4] + 653c: 2900 cmp r1, #0 + 653e: d033 beq.n 65a8 <_lv_style_list_remove_style+0xb0> + 6540: 2200 movs r2, #0 + 6542: 4613 mov r3, r2 + 6544: e026 b.n 6594 <_lv_style_list_remove_style+0x9c> lv_mem_free(list->style_list); - 6aee: 4b1d ldr r3, [pc, #116] ; (6b64 <_lv_style_list_remove_style+0xc4>) - 6af0: 4798 blx r3 + 6546: 4b1d ldr r3, [pc, #116] ; (65bc <_lv_style_list_remove_style+0xc4>) + 6548: 4798 blx r3 list->style_list = NULL; - 6af2: 2300 movs r3, #0 - 6af4: 6023 str r3, [r4, #0] + 654a: 2300 movs r3, #0 + 654c: 6023 str r3, [r4, #0] list->style_cnt = 0; - 6af6: 7123 strb r3, [r4, #4] + 654e: 7123 strb r3, [r4, #4] list->has_local = 0; - 6af8: 7962 ldrb r2, [r4, #5] - 6afa: f363 0200 bfi r2, r3, #0, #1 - 6afe: 7162 strb r2, [r4, #5] + 6550: 7962 ldrb r2, [r4, #5] + 6552: f363 0200 bfi r2, r3, #0, #1 + 6556: 7162 strb r2, [r4, #5] return; - 6b00: e029 b.n 6b56 <_lv_style_list_remove_style+0xb6> + 6558: e029 b.n 65ae <_lv_style_list_remove_style+0xb6> LV_ASSERT_MEM(new_classes); - 6b02: 4b19 ldr r3, [pc, #100] ; (6b68 <_lv_style_list_remove_style+0xc8>) - 6b04: 9300 str r3, [sp, #0] - 6b06: f44f 7282 mov.w r2, #260 ; 0x104 - 6b0a: 4918 ldr r1, [pc, #96] ; (6b6c <_lv_style_list_remove_style+0xcc>) - 6b0c: 2003 movs r0, #3 - 6b0e: 4c18 ldr r4, [pc, #96] ; (6b70 <_lv_style_list_remove_style+0xd0>) - 6b10: 47a0 blx r4 - 6b12: 4632 mov r2, r6 - 6b14: 2300 movs r3, #0 - 6b16: 4817 ldr r0, [pc, #92] ; (6b74 <_lv_style_list_remove_style+0xd4>) - 6b18: 4917 ldr r1, [pc, #92] ; (6b78 <_lv_style_list_remove_style+0xd8>) - 6b1a: 4788 blx r1 - 6b1c: e7fe b.n 6b1c <_lv_style_list_remove_style+0x7c> + 655a: 4b19 ldr r3, [pc, #100] ; (65c0 <_lv_style_list_remove_style+0xc8>) + 655c: 9300 str r3, [sp, #0] + 655e: f44f 7282 mov.w r2, #260 ; 0x104 + 6562: 4918 ldr r1, [pc, #96] ; (65c4 <_lv_style_list_remove_style+0xcc>) + 6564: 2003 movs r0, #3 + 6566: 4c18 ldr r4, [pc, #96] ; (65c8 <_lv_style_list_remove_style+0xd0>) + 6568: 47a0 blx r4 + 656a: 4632 mov r2, r6 + 656c: 2300 movs r3, #0 + 656e: 4817 ldr r0, [pc, #92] ; (65cc <_lv_style_list_remove_style+0xd4>) + 6570: 4917 ldr r1, [pc, #92] ; (65d0 <_lv_style_list_remove_style+0xd8>) + 6572: 4788 blx r1 + 6574: e7fe b.n 6574 <_lv_style_list_remove_style+0x7c> LV_LOG_WARN("lv_style_list_remove_style: couldn't reallocate class list"); - 6b1e: 4b17 ldr r3, [pc, #92] ; (6b7c <_lv_style_list_remove_style+0xdc>) - 6b20: 9300 str r3, [sp, #0] - 6b22: 4b11 ldr r3, [pc, #68] ; (6b68 <_lv_style_list_remove_style+0xc8>) - 6b24: f44f 7283 mov.w r2, #262 ; 0x106 - 6b28: 4910 ldr r1, [pc, #64] ; (6b6c <_lv_style_list_remove_style+0xcc>) - 6b2a: 2002 movs r0, #2 - 6b2c: 4c10 ldr r4, [pc, #64] ; (6b70 <_lv_style_list_remove_style+0xd0>) - 6b2e: 47a0 blx r4 + 6576: 4b17 ldr r3, [pc, #92] ; (65d4 <_lv_style_list_remove_style+0xdc>) + 6578: 9300 str r3, [sp, #0] + 657a: 4b11 ldr r3, [pc, #68] ; (65c0 <_lv_style_list_remove_style+0xc8>) + 657c: f44f 7283 mov.w r2, #262 ; 0x106 + 6580: 4910 ldr r1, [pc, #64] ; (65c4 <_lv_style_list_remove_style+0xcc>) + 6582: 2002 movs r0, #2 + 6584: 4c10 ldr r4, [pc, #64] ; (65c8 <_lv_style_list_remove_style+0xd0>) + 6586: 47a0 blx r4 return; - 6b30: e011 b.n 6b56 <_lv_style_list_remove_style+0xb6> + 6588: e011 b.n 65ae <_lv_style_list_remove_style+0xb6> for(i = 0, j = 0; i < list->style_cnt; i++) { - 6b32: 3301 adds r3, #1 - 6b34: b2db uxtb r3, r3 - 6b36: 7921 ldrb r1, [r4, #4] - 6b38: 4299 cmp r1, r3 - 6b3a: d909 bls.n 6b50 <_lv_style_list_remove_style+0xb0> + 658a: 3301 adds r3, #1 + 658c: b2db uxtb r3, r3 + 658e: 7921 ldrb r1, [r4, #4] + 6590: 4299 cmp r1, r3 + 6592: d909 bls.n 65a8 <_lv_style_list_remove_style+0xb0> if(list->style_list[i] == style) continue; - 6b3c: 6821 ldr r1, [r4, #0] - 6b3e: f851 1023 ldr.w r1, [r1, r3, lsl #2] - 6b42: 428d cmp r5, r1 - 6b44: d0f5 beq.n 6b32 <_lv_style_list_remove_style+0x92> + 6594: 6821 ldr r1, [r4, #0] + 6596: f851 1023 ldr.w r1, [r1, r3, lsl #2] + 659a: 428d cmp r5, r1 + 659c: d0f5 beq.n 658a <_lv_style_list_remove_style+0x92> new_classes[j] = list->style_list[i]; - 6b46: f846 1022 str.w r1, [r6, r2, lsl #2] + 659e: f846 1022 str.w r1, [r6, r2, lsl #2] j++; - 6b4a: 3201 adds r2, #1 - 6b4c: b2d2 uxtb r2, r2 - 6b4e: e7f0 b.n 6b32 <_lv_style_list_remove_style+0x92> + 65a2: 3201 adds r2, #1 + 65a4: b2d2 uxtb r2, r2 + 65a6: e7f0 b.n 658a <_lv_style_list_remove_style+0x92> } list->style_cnt--; - 6b50: 3901 subs r1, #1 - 6b52: 7121 strb r1, [r4, #4] + 65a8: 3901 subs r1, #1 + 65aa: 7121 strb r1, [r4, #4] list->style_list = new_classes; - 6b54: 6026 str r6, [r4, #0] -} - 6b56: b002 add sp, #8 - 6b58: bd70 pop {r4, r5, r6, pc} - 6b5a: bf00 nop - 6b5c: 00012e41 .word 0x00012e41 - 6b60: 0000298d .word 0x0000298d - 6b64: 00012a6d .word 0x00012a6d - 6b68: 0001bf60 .word 0x0001bf60 - 6b6c: 0001c020 .word 0x0001c020 - 6b70: 00012805 .word 0x00012805 - 6b74: 0001b4bc .word 0x0001b4bc - 6b78: 00002995 .word 0x00002995 - 6b7c: 0001c04c .word 0x0001c04c - -00006b80 <_lv_style_list_add_style>: + 65ac: 6026 str r6, [r4, #0] +} + 65ae: b002 add sp, #8 + 65b0: bd70 pop {r4, r5, r6, pc} + 65b2: bf00 nop + 65b4: 00012899 .word 0x00012899 + 65b8: 000022b1 .word 0x000022b1 + 65bc: 000124c5 .word 0x000124c5 + 65c0: 00024a7c .word 0x00024a7c + 65c4: 00024b3c .word 0x00024b3c + 65c8: 0001225d .word 0x0001225d + 65cc: 00023fd8 .word 0x00023fd8 + 65d0: 000022b9 .word 0x000022b9 + 65d4: 00024b68 .word 0x00024b68 + +000065d8 <_lv_style_list_add_style>: if(list == NULL) return; - 6b80: 2800 cmp r0, #0 - 6b82: d051 beq.n 6c28 <_lv_style_list_add_style+0xa8> + 65d8: 2800 cmp r0, #0 + 65da: d051 beq.n 6680 <_lv_style_list_add_style+0xa8> { - 6b84: b570 push {r4, r5, r6, lr} - 6b86: b082 sub sp, #8 - 6b88: 4604 mov r4, r0 - 6b8a: 460e mov r6, r1 + 65dc: b570 push {r4, r5, r6, lr} + 65de: b082 sub sp, #8 + 65e0: 4604 mov r4, r0 + 65e2: 460e mov r6, r1 _lv_style_list_remove_style(list, style); - 6b8c: 4b27 ldr r3, [pc, #156] ; (6c2c <_lv_style_list_add_style+0xac>) - 6b8e: 4798 blx r3 + 65e4: 4b27 ldr r3, [pc, #156] ; (6684 <_lv_style_list_add_style+0xac>) + 65e6: 4798 blx r3 if(list->style_cnt == 0) new_classes = lv_mem_alloc(sizeof(lv_style_t *)); - 6b90: 7923 ldrb r3, [r4, #4] - 6b92: bb63 cbnz r3, 6bee <_lv_style_list_add_style+0x6e> - 6b94: 2004 movs r0, #4 - 6b96: 4b26 ldr r3, [pc, #152] ; (6c30 <_lv_style_list_add_style+0xb0>) - 6b98: 4798 blx r3 - 6b9a: 4605 mov r5, r0 + 65e8: 7923 ldrb r3, [r4, #4] + 65ea: bb63 cbnz r3, 6646 <_lv_style_list_add_style+0x6e> + 65ec: 2004 movs r0, #4 + 65ee: 4b26 ldr r3, [pc, #152] ; (6688 <_lv_style_list_add_style+0xb0>) + 65f0: 4798 blx r3 + 65f2: 4605 mov r5, r0 LV_ASSERT_MEM(new_classes); - 6b9c: 4628 mov r0, r5 - 6b9e: 4b25 ldr r3, [pc, #148] ; (6c34 <_lv_style_list_add_style+0xb4>) - 6ba0: 4798 blx r3 - 6ba2: b358 cbz r0, 6bfc <_lv_style_list_add_style+0x7c> + 65f4: 4628 mov r0, r5 + 65f6: 4b25 ldr r3, [pc, #148] ; (668c <_lv_style_list_add_style+0xb4>) + 65f8: 4798 blx r3 + 65fa: b358 cbz r0, 6654 <_lv_style_list_add_style+0x7c> if(new_classes == NULL) { - 6ba4: 2d00 cmp r5, #0 - 6ba6: d036 beq.n 6c16 <_lv_style_list_add_style+0x96> + 65fc: 2d00 cmp r5, #0 + 65fe: d036 beq.n 666e <_lv_style_list_add_style+0x96> if(list->has_trans) first_style++; - 6ba8: 7963 ldrb r3, [r4, #5] + 6600: 7963 ldrb r3, [r4, #5] uint8_t first_style = 0; - 6baa: f3c3 0040 ubfx r0, r3, #1, #1 + 6602: f3c3 0040 ubfx r0, r3, #1, #1 if(list->has_local) first_style++; - 6bae: f013 0f01 tst.w r3, #1 - 6bb2: bf18 it ne - 6bb4: 3001 addne r0, #1 + 6606: f013 0f01 tst.w r3, #1 + 660a: bf18 it ne + 660c: 3001 addne r0, #1 for(i = list->style_cnt; i > first_style; i--) { - 6bb6: 7923 ldrb r3, [r4, #4] - 6bb8: 4298 cmp r0, r3 - 6bba: d210 bcs.n 6bde <_lv_style_list_add_style+0x5e> - 6bbc: eb05 0183 add.w r1, r5, r3, lsl #2 - 6bc0: f103 4280 add.w r2, r3, #1073741824 ; 0x40000000 - 6bc4: 3a01 subs r2, #1 - 6bc6: 3b01 subs r3, #1 - 6bc8: 1a1b subs r3, r3, r0 - 6bca: b2db uxtb r3, r3 - 6bcc: 1ad3 subs r3, r2, r3 - 6bce: eb05 0383 add.w r3, r5, r3, lsl #2 + 660e: 7923 ldrb r3, [r4, #4] + 6610: 4298 cmp r0, r3 + 6612: d210 bcs.n 6636 <_lv_style_list_add_style+0x5e> + 6614: eb05 0183 add.w r1, r5, r3, lsl #2 + 6618: f103 4280 add.w r2, r3, #1073741824 ; 0x40000000 + 661c: 3a01 subs r2, #1 + 661e: 3b01 subs r3, #1 + 6620: 1a1b subs r3, r3, r0 + 6622: b2db uxtb r3, r3 + 6624: 1ad3 subs r3, r2, r3 + 6626: eb05 0383 add.w r3, r5, r3, lsl #2 new_classes[i] = new_classes[i - 1]; - 6bd2: f851 2c04 ldr.w r2, [r1, #-4] - 6bd6: f841 2904 str.w r2, [r1], #-4 + 662a: f851 2c04 ldr.w r2, [r1, #-4] + 662e: f841 2904 str.w r2, [r1], #-4 for(i = list->style_cnt; i > first_style; i--) { - 6bda: 4299 cmp r1, r3 - 6bdc: d1f9 bne.n 6bd2 <_lv_style_list_add_style+0x52> + 6632: 4299 cmp r1, r3 + 6634: d1f9 bne.n 662a <_lv_style_list_add_style+0x52> new_classes[first_style] = style; - 6bde: f845 6020 str.w r6, [r5, r0, lsl #2] + 6636: f845 6020 str.w r6, [r5, r0, lsl #2] list->style_cnt++; - 6be2: 7923 ldrb r3, [r4, #4] - 6be4: 3301 adds r3, #1 - 6be6: 7123 strb r3, [r4, #4] + 663a: 7923 ldrb r3, [r4, #4] + 663c: 3301 adds r3, #1 + 663e: 7123 strb r3, [r4, #4] list->style_list = new_classes; - 6be8: 6025 str r5, [r4, #0] + 6640: 6025 str r5, [r4, #0] } - 6bea: b002 add sp, #8 - 6bec: bd70 pop {r4, r5, r6, pc} + 6642: b002 add sp, #8 + 6644: bd70 pop {r4, r5, r6, pc} else new_classes = lv_mem_realloc(list->style_list, sizeof(lv_style_t *) * (list->style_cnt + 1)); - 6bee: 3301 adds r3, #1 - 6bf0: 0099 lsls r1, r3, #2 - 6bf2: 6820 ldr r0, [r4, #0] - 6bf4: 4b10 ldr r3, [pc, #64] ; (6c38 <_lv_style_list_add_style+0xb8>) - 6bf6: 4798 blx r3 - 6bf8: 4605 mov r5, r0 - 6bfa: e7cf b.n 6b9c <_lv_style_list_add_style+0x1c> + 6646: 3301 adds r3, #1 + 6648: 0099 lsls r1, r3, #2 + 664a: 6820 ldr r0, [r4, #0] + 664c: 4b10 ldr r3, [pc, #64] ; (6690 <_lv_style_list_add_style+0xb8>) + 664e: 4798 blx r3 + 6650: 4605 mov r5, r0 + 6652: e7cf b.n 65f4 <_lv_style_list_add_style+0x1c> LV_ASSERT_MEM(new_classes); - 6bfc: 4b0f ldr r3, [pc, #60] ; (6c3c <_lv_style_list_add_style+0xbc>) - 6bfe: 9300 str r3, [sp, #0] - 6c00: 22d0 movs r2, #208 ; 0xd0 - 6c02: 490f ldr r1, [pc, #60] ; (6c40 <_lv_style_list_add_style+0xc0>) - 6c04: 2003 movs r0, #3 - 6c06: 4c0f ldr r4, [pc, #60] ; (6c44 <_lv_style_list_add_style+0xc4>) - 6c08: 47a0 blx r4 - 6c0a: 462a mov r2, r5 - 6c0c: 2300 movs r3, #0 - 6c0e: 480e ldr r0, [pc, #56] ; (6c48 <_lv_style_list_add_style+0xc8>) - 6c10: 490e ldr r1, [pc, #56] ; (6c4c <_lv_style_list_add_style+0xcc>) - 6c12: 4788 blx r1 - 6c14: e7fe b.n 6c14 <_lv_style_list_add_style+0x94> + 6654: 4b0f ldr r3, [pc, #60] ; (6694 <_lv_style_list_add_style+0xbc>) + 6656: 9300 str r3, [sp, #0] + 6658: 22d0 movs r2, #208 ; 0xd0 + 665a: 490f ldr r1, [pc, #60] ; (6698 <_lv_style_list_add_style+0xc0>) + 665c: 2003 movs r0, #3 + 665e: 4c0f ldr r4, [pc, #60] ; (669c <_lv_style_list_add_style+0xc4>) + 6660: 47a0 blx r4 + 6662: 462a mov r2, r5 + 6664: 2300 movs r3, #0 + 6666: 480e ldr r0, [pc, #56] ; (66a0 <_lv_style_list_add_style+0xc8>) + 6668: 490e ldr r1, [pc, #56] ; (66a4 <_lv_style_list_add_style+0xcc>) + 666a: 4788 blx r1 + 666c: e7fe b.n 666c <_lv_style_list_add_style+0x94> LV_LOG_WARN("lv_style_list_add_style: couldn't add the class"); - 6c16: 4b0e ldr r3, [pc, #56] ; (6c50 <_lv_style_list_add_style+0xd0>) - 6c18: 9300 str r3, [sp, #0] - 6c1a: 4b08 ldr r3, [pc, #32] ; (6c3c <_lv_style_list_add_style+0xbc>) - 6c1c: 22d2 movs r2, #210 ; 0xd2 - 6c1e: 4908 ldr r1, [pc, #32] ; (6c40 <_lv_style_list_add_style+0xc0>) - 6c20: 2002 movs r0, #2 - 6c22: 4c08 ldr r4, [pc, #32] ; (6c44 <_lv_style_list_add_style+0xc4>) - 6c24: 47a0 blx r4 + 666e: 4b0e ldr r3, [pc, #56] ; (66a8 <_lv_style_list_add_style+0xd0>) + 6670: 9300 str r3, [sp, #0] + 6672: 4b08 ldr r3, [pc, #32] ; (6694 <_lv_style_list_add_style+0xbc>) + 6674: 22d2 movs r2, #210 ; 0xd2 + 6676: 4908 ldr r1, [pc, #32] ; (6698 <_lv_style_list_add_style+0xc0>) + 6678: 2002 movs r0, #2 + 667a: 4c08 ldr r4, [pc, #32] ; (669c <_lv_style_list_add_style+0xc4>) + 667c: 47a0 blx r4 return; - 6c26: e7e0 b.n 6bea <_lv_style_list_add_style+0x6a> - 6c28: 4770 bx lr - 6c2a: bf00 nop - 6c2c: 00006aa1 .word 0x00006aa1 - 6c30: 00012985 .word 0x00012985 - 6c34: 0000298d .word 0x0000298d - 6c38: 00012e41 .word 0x00012e41 - 6c3c: 0001bf7c .word 0x0001bf7c - 6c40: 0001c020 .word 0x0001c020 - 6c44: 00012805 .word 0x00012805 - 6c48: 0001b4bc .word 0x0001b4bc - 6c4c: 00002995 .word 0x00002995 - 6c50: 0001c088 .word 0x0001c088 - -00006c54 : + 667e: e7e0 b.n 6642 <_lv_style_list_add_style+0x6a> + 6680: 4770 bx lr + 6682: bf00 nop + 6684: 000064f9 .word 0x000064f9 + 6688: 000123dd .word 0x000123dd + 668c: 000022b1 .word 0x000022b1 + 6690: 00012899 .word 0x00012899 + 6694: 00024a98 .word 0x00024a98 + 6698: 00024b3c .word 0x00024b3c + 669c: 0001225d .word 0x0001225d + 66a0: 00023fd8 .word 0x00023fd8 + 66a4: 000022b9 .word 0x000022b9 + 66a8: 00024ba4 .word 0x00024ba4 + +000066ac : * Get he local style from a style list. Allocate it if not exists yet. * @param list pointer to a style list * @return pointer to the local style */ static lv_style_t * get_alloc_local_style(lv_style_list_t * list) { - 6c54: b530 push {r4, r5, lr} - 6c56: b083 sub sp, #12 + 66ac: b530 push {r4, r5, lr} + 66ae: b083 sub sp, #12 LV_ASSERT_STYLE_LIST(list); if(list->has_local) return lv_style_list_get_style(list, 0); - 6c58: 7943 ldrb r3, [r0, #5] - 6c5a: f013 0f01 tst.w r3, #1 - 6c5e: d010 beq.n 6c82 + 66b0: 7943 ldrb r3, [r0, #5] + 66b2: f013 0f01 tst.w r3, #1 + 66b6: d010 beq.n 66da if(list->has_trans && list->skip_trans) id++; - 6c60: f003 0306 and.w r3, r3, #6 - 6c64: 2b06 cmp r3, #6 - 6c66: bf14 ite ne - 6c68: 2300 movne r3, #0 - 6c6a: 2301 moveq r3, #1 + 66b8: f003 0306 and.w r3, r3, #6 + 66bc: 2b06 cmp r3, #6 + 66be: bf14 ite ne + 66c0: 2300 movne r3, #0 + 66c2: 2301 moveq r3, #1 if(list->style_cnt == 0 || id >= list->style_cnt) return NULL; - 6c6c: 7902 ldrb r2, [r0, #4] - 6c6e: 2a00 cmp r2, #0 - 6c70: d034 beq.n 6cdc - 6c72: 429a cmp r2, r3 - 6c74: d934 bls.n 6ce0 + 66c4: 7902 ldrb r2, [r0, #4] + 66c6: 2a00 cmp r2, #0 + 66c8: d034 beq.n 6734 + 66ca: 429a cmp r2, r3 + 66cc: d934 bls.n 6738 return list->style_list[id]; - 6c76: 6802 ldr r2, [r0, #0] - 6c78: f852 4023 ldr.w r4, [r2, r3, lsl #2] + 66ce: 6802 ldr r2, [r0, #0] + 66d0: f852 4023 ldr.w r4, [r2, r3, lsl #2] /*Add the local style to the furst place*/ _lv_style_list_add_style(list, local_style); list->has_local = 1; return local_style; } - 6c7c: 4620 mov r0, r4 - 6c7e: b003 add sp, #12 - 6c80: bd30 pop {r4, r5, pc} - 6c82: 4605 mov r5, r0 + 66d4: 4620 mov r0, r4 + 66d6: b003 add sp, #12 + 66d8: bd30 pop {r4, r5, pc} + 66da: 4605 mov r5, r0 lv_style_t * local_style = lv_mem_alloc(sizeof(lv_style_t)); - 6c84: 2004 movs r0, #4 - 6c86: 4b17 ldr r3, [pc, #92] ; (6ce4 ) - 6c88: 4798 blx r3 - 6c8a: 4604 mov r4, r0 + 66dc: 2004 movs r0, #4 + 66de: 4b17 ldr r3, [pc, #92] ; (673c ) + 66e0: 4798 blx r3 + 66e2: 4604 mov r4, r0 LV_ASSERT_MEM(local_style); - 6c8c: 4b16 ldr r3, [pc, #88] ; (6ce8 ) - 6c8e: 4798 blx r3 - 6c90: b160 cbz r0, 6cac + 66e4: 4b16 ldr r3, [pc, #88] ; (6740 ) + 66e6: 4798 blx r3 + 66e8: b160 cbz r0, 6704 if(local_style == NULL) { - 6c92: b1cc cbz r4, 6cc8 + 66ea: b1cc cbz r4, 6720 lv_style_init(local_style); - 6c94: 4620 mov r0, r4 - 6c96: 4b15 ldr r3, [pc, #84] ; (6cec ) - 6c98: 4798 blx r3 + 66ec: 4620 mov r0, r4 + 66ee: 4b15 ldr r3, [pc, #84] ; (6744 ) + 66f0: 4798 blx r3 _lv_style_list_add_style(list, local_style); - 6c9a: 4621 mov r1, r4 - 6c9c: 4628 mov r0, r5 - 6c9e: 4b14 ldr r3, [pc, #80] ; (6cf0 ) - 6ca0: 4798 blx r3 + 66f2: 4621 mov r1, r4 + 66f4: 4628 mov r0, r5 + 66f6: 4b14 ldr r3, [pc, #80] ; (6748 ) + 66f8: 4798 blx r3 list->has_local = 1; - 6ca2: 796b ldrb r3, [r5, #5] - 6ca4: f043 0301 orr.w r3, r3, #1 - 6ca8: 716b strb r3, [r5, #5] + 66fa: 796b ldrb r3, [r5, #5] + 66fc: f043 0301 orr.w r3, r3, #1 + 6700: 716b strb r3, [r5, #5] return local_style; - 6caa: e7e7 b.n 6c7c + 6702: e7e7 b.n 66d4 LV_ASSERT_MEM(local_style); - 6cac: 4b11 ldr r3, [pc, #68] ; (6cf4 ) - 6cae: 9300 str r3, [sp, #0] - 6cb0: f240 4235 movw r2, #1077 ; 0x435 - 6cb4: 4910 ldr r1, [pc, #64] ; (6cf8 ) - 6cb6: 2003 movs r0, #3 - 6cb8: 4d10 ldr r5, [pc, #64] ; (6cfc ) - 6cba: 47a8 blx r5 - 6cbc: 4622 mov r2, r4 - 6cbe: 2300 movs r3, #0 - 6cc0: 480f ldr r0, [pc, #60] ; (6d00 ) - 6cc2: 4910 ldr r1, [pc, #64] ; (6d04 ) - 6cc4: 4788 blx r1 - 6cc6: e7fe b.n 6cc6 + 6704: 4b11 ldr r3, [pc, #68] ; (674c ) + 6706: 9300 str r3, [sp, #0] + 6708: f240 4235 movw r2, #1077 ; 0x435 + 670c: 4910 ldr r1, [pc, #64] ; (6750 ) + 670e: 2003 movs r0, #3 + 6710: 4d10 ldr r5, [pc, #64] ; (6754 ) + 6712: 47a8 blx r5 + 6714: 4622 mov r2, r4 + 6716: 2300 movs r3, #0 + 6718: 480f ldr r0, [pc, #60] ; (6758 ) + 671a: 4910 ldr r1, [pc, #64] ; (675c ) + 671c: 4788 blx r1 + 671e: e7fe b.n 671e LV_LOG_WARN("get_local_style: couldn't create local style"); - 6cc8: 4b0f ldr r3, [pc, #60] ; (6d08 ) - 6cca: 9300 str r3, [sp, #0] - 6ccc: 4b09 ldr r3, [pc, #36] ; (6cf4 ) - 6cce: f240 4237 movw r2, #1079 ; 0x437 - 6cd2: 4909 ldr r1, [pc, #36] ; (6cf8 ) - 6cd4: 2002 movs r0, #2 - 6cd6: 4d09 ldr r5, [pc, #36] ; (6cfc ) - 6cd8: 47a8 blx r5 + 6720: 4b0f ldr r3, [pc, #60] ; (6760 ) + 6722: 9300 str r3, [sp, #0] + 6724: 4b09 ldr r3, [pc, #36] ; (674c ) + 6726: f240 4237 movw r2, #1079 ; 0x437 + 672a: 4909 ldr r1, [pc, #36] ; (6750 ) + 672c: 2002 movs r0, #2 + 672e: 4d09 ldr r5, [pc, #36] ; (6754 ) + 6730: 47a8 blx r5 return NULL; - 6cda: e7cf b.n 6c7c + 6732: e7cf b.n 66d4 if(list->style_cnt == 0 || id >= list->style_cnt) return NULL; - 6cdc: 2400 movs r4, #0 - 6cde: e7cd b.n 6c7c - 6ce0: 2400 movs r4, #0 - 6ce2: e7cb b.n 6c7c - 6ce4: 00012985 .word 0x00012985 - 6ce8: 0000298d .word 0x0000298d - 6cec: 00006a81 .word 0x00006a81 - 6cf0: 00006b81 .word 0x00006b81 - 6cf4: 0001bf98 .word 0x0001bf98 - 6cf8: 0001c020 .word 0x0001c020 - 6cfc: 00012805 .word 0x00012805 - 6d00: 0001b4bc .word 0x0001b4bc - 6d04: 00002995 .word 0x00002995 - 6d08: 0001c0b8 .word 0x0001c0b8 - -00006d0c : -{ - 6d0c: b510 push {r4, lr} - 6d0e: 4604 mov r4, r0 + 6734: 2400 movs r4, #0 + 6736: e7cd b.n 66d4 + 6738: 2400 movs r4, #0 + 673a: e7cb b.n 66d4 + 673c: 000123dd .word 0x000123dd + 6740: 000022b1 .word 0x000022b1 + 6744: 000064d9 .word 0x000064d9 + 6748: 000065d9 .word 0x000065d9 + 674c: 00024ab4 .word 0x00024ab4 + 6750: 00024b3c .word 0x00024b3c + 6754: 0001225d .word 0x0001225d + 6758: 00023fd8 .word 0x00023fd8 + 675c: 000022b9 .word 0x000022b9 + 6760: 00024bd4 .word 0x00024bd4 + +00006764 : +{ + 6764: b510 push {r4, lr} + 6766: 4604 mov r4, r0 lv_mem_free(style->map); - 6d10: 6800 ldr r0, [r0, #0] - 6d12: 4b02 ldr r3, [pc, #8] ; (6d1c ) - 6d14: 4798 blx r3 + 6768: 6800 ldr r0, [r0, #0] + 676a: 4b02 ldr r3, [pc, #8] ; (6774 ) + 676c: 4798 blx r3 style->map = NULL; - 6d16: 2300 movs r3, #0 - 6d18: 6023 str r3, [r4, #0] - 6d1a: bd10 pop {r4, pc} - 6d1c: 00012a6d .word 0x00012a6d + 676e: 2300 movs r3, #0 + 6770: 6023 str r3, [r4, #0] + 6772: bd10 pop {r4, pc} + 6774: 000124c5 .word 0x000124c5 -00006d20 <_lv_style_get_mem_size>: +00006778 <_lv_style_get_mem_size>: if(style->map == NULL) return 0; - 6d20: 6802 ldr r2, [r0, #0] - 6d22: b1d2 cbz r2, 6d5a <_lv_style_get_mem_size+0x3a> + 6778: 6802 ldr r2, [r0, #0] + 677a: b1d2 cbz r2, 67b2 <_lv_style_get_mem_size+0x3a> while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 6d24: 7813 ldrb r3, [r2, #0] - 6d26: 2bff cmp r3, #255 ; 0xff - 6d28: d013 beq.n 6d52 <_lv_style_get_mem_size+0x32> - 6d2a: 2000 movs r0, #0 - 6d2c: e006 b.n 6d3c <_lv_style_get_mem_size+0x1c> + 677c: 7813 ldrb r3, [r2, #0] + 677e: 2bff cmp r3, #255 ; 0xff + 6780: d013 beq.n 67aa <_lv_style_get_mem_size+0x32> + 6782: 2000 movs r0, #0 + 6784: e006 b.n 6794 <_lv_style_get_mem_size+0x1c> else if((style->map[i] & 0xF) < LV_STYLE_ID_OPA) i += sizeof(lv_color_t); - 6d2e: 2b0b cmp r3, #11 - 6d30: dc0a bgt.n 6d48 <_lv_style_get_mem_size+0x28> - 6d32: 3002 adds r0, #2 + 6786: 2b0b cmp r3, #11 + 6788: dc0a bgt.n 67a0 <_lv_style_get_mem_size+0x28> + 678a: 3002 adds r0, #2 i += sizeof(lv_style_property_t); - 6d34: 3002 adds r0, #2 + 678c: 3002 adds r0, #2 while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 6d36: 5c13 ldrb r3, [r2, r0] - 6d38: 2bff cmp r3, #255 ; 0xff - 6d3a: d00b beq.n 6d54 <_lv_style_get_mem_size+0x34> + 678e: 5c13 ldrb r3, [r2, r0] + 6790: 2bff cmp r3, #255 ; 0xff + 6792: d00b beq.n 67ac <_lv_style_get_mem_size+0x34> if((style->map[i] & 0xF) < LV_STYLE_ID_COLOR) i += sizeof(lv_style_int_t); - 6d3c: f003 030f and.w r3, r3, #15 - 6d40: 2b08 cmp r3, #8 - 6d42: dcf4 bgt.n 6d2e <_lv_style_get_mem_size+0xe> - 6d44: 3002 adds r0, #2 - 6d46: e7f5 b.n 6d34 <_lv_style_get_mem_size+0x14> + 6794: f003 030f and.w r3, r3, #15 + 6798: 2b08 cmp r3, #8 + 679a: dcf4 bgt.n 6786 <_lv_style_get_mem_size+0xe> + 679c: 3002 adds r0, #2 + 679e: e7f5 b.n 678c <_lv_style_get_mem_size+0x14> else if((style->map[i] & 0xF) < LV_STYLE_ID_PTR) i += sizeof(lv_opa_t); - 6d48: 2b0d cmp r3, #13 - 6d4a: bfd4 ite le - 6d4c: 3001 addle r0, #1 + 67a0: 2b0d cmp r3, #13 + 67a2: bfd4 ite le + 67a4: 3001 addle r0, #1 else i += sizeof(const void *); - 6d4e: 3004 addgt r0, #4 - 6d50: e7f0 b.n 6d34 <_lv_style_get_mem_size+0x14> + 67a6: 3004 addgt r0, #4 + 67a8: e7f0 b.n 678c <_lv_style_get_mem_size+0x14> while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 6d52: 2000 movs r0, #0 + 67aa: 2000 movs r0, #0 return i + sizeof(lv_style_property_t); - 6d54: 3002 adds r0, #2 - 6d56: b280 uxth r0, r0 - 6d58: 4770 bx lr + 67ac: 3002 adds r0, #2 + 67ae: b280 uxth r0, r0 + 67b0: 4770 bx lr if(style->map == NULL) return 0; - 6d5a: 2000 movs r0, #0 + 67b2: 2000 movs r0, #0 } - 6d5c: 4770 bx lr + 67b4: 4770 bx lr ... -00006d60 : +000067b8 : if(style_src == NULL) return; - 6d60: b181 cbz r1, 6d84 + 67b8: b181 cbz r1, 67dc { - 6d62: b570 push {r4, r5, r6, lr} - 6d64: 460c mov r4, r1 + 67ba: b570 push {r4, r5, r6, lr} + 67bc: 460c mov r4, r1 if(style_src->map == NULL) return; - 6d66: 680a ldr r2, [r1, #0] - 6d68: b15a cbz r2, 6d82 - 6d6a: 4605 mov r5, r0 + 67be: 680a ldr r2, [r1, #0] + 67c0: b15a cbz r2, 67da + 67c2: 4605 mov r5, r0 uint16_t size = _lv_style_get_mem_size(style_src); - 6d6c: 4608 mov r0, r1 - 6d6e: 4b06 ldr r3, [pc, #24] ; (6d88 ) - 6d70: 4798 blx r3 - 6d72: 4606 mov r6, r0 + 67c4: 4608 mov r0, r1 + 67c6: 4b06 ldr r3, [pc, #24] ; (67e0 ) + 67c8: 4798 blx r3 + 67ca: 4606 mov r6, r0 style_dest->map = lv_mem_alloc(size); - 6d74: 4b05 ldr r3, [pc, #20] ; (6d8c ) - 6d76: 4798 blx r3 - 6d78: 6028 str r0, [r5, #0] + 67cc: 4b05 ldr r3, [pc, #20] ; (67e4 ) + 67ce: 4798 blx r3 + 67d0: 6028 str r0, [r5, #0] _lv_memcpy(style_dest->map, style_src->map, size); - 6d7a: 4632 mov r2, r6 - 6d7c: 6821 ldr r1, [r4, #0] - 6d7e: 4b04 ldr r3, [pc, #16] ; (6d90 ) - 6d80: 4798 blx r3 - 6d82: bd70 pop {r4, r5, r6, pc} - 6d84: 4770 bx lr - 6d86: bf00 nop - 6d88: 00006d21 .word 0x00006d21 - 6d8c: 00012985 .word 0x00012985 - 6d90: 00012bfd .word 0x00012bfd - -00006d94 : + 67d2: 4632 mov r2, r6 + 67d4: 6821 ldr r1, [r4, #0] + 67d6: 4b04 ldr r3, [pc, #16] ; (67e8 ) + 67d8: 4798 blx r3 + 67da: bd70 pop {r4, r5, r6, pc} + 67dc: 4770 bx lr + 67de: bf00 nop + 67e0: 00006779 .word 0x00006779 + 67e4: 000123dd .word 0x000123dd + 67e8: 00012655 .word 0x00012655 + +000067ec : if(style == NULL) return false; - 6d94: 2800 cmp r0, #0 - 6d96: d06b beq.n 6e70 + 67ec: 2800 cmp r0, #0 + 67ee: d06b beq.n 68c8 { - 6d98: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} - 6d9c: 4607 mov r7, r0 + 67f0: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} + 67f4: 4607 mov r7, r0 if(style->map == NULL) return -1; - 6d9e: 6800 ldr r0, [r0, #0] - 6da0: 2800 cmp r0, #0 - 6da2: d06a beq.n 6e7a + 67f6: 6800 ldr r0, [r0, #0] + 67f8: 2800 cmp r0, #0 + 67fa: d06a beq.n 68d2 uint8_t id_to_find = prop & 0xFF; - 6da4: b2cd uxtb r5, r1 + 67fc: b2cd uxtb r5, r1 attr.full = (prop >> 8) & 0xFF; - 6da6: 0a0e lsrs r6, r1, #8 - 6da8: 46b4 mov ip, r6 + 67fe: 0a0e lsrs r6, r1, #8 + 6800: 46b4 mov ip, r6 while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 6daa: 7803 ldrb r3, [r0, #0] - 6dac: 2bff cmp r3, #255 ; 0xff - 6dae: d03b beq.n 6e28 - 6db0: f04f 3eff mov.w lr, #4294967295 - 6db4: 46f0 mov r8, lr - 6db6: 2200 movs r2, #0 + 6802: 7803 ldrb r3, [r0, #0] + 6804: 2bff cmp r3, #255 ; 0xff + 6806: d03b beq.n 6880 + 6808: f04f 3eff mov.w lr, #4294967295 + 680c: 46f0 mov r8, lr + 680e: 2200 movs r2, #0 else if((attr_i.bits.state & (~attr.bits.state)) == 0) { - 6db8: f3cc 0c06 ubfx ip, ip, #0, #7 - 6dbc: e027 b.n 6e0e + 6810: f3cc 0c06 ubfx ip, ip, #0, #7 + 6814: e027 b.n 6866 attr_i.full = style->map[i + 1]; - 6dbe: 1884 adds r4, r0, r2 - 6dc0: 7864 ldrb r4, [r4, #1] + 6816: 1884 adds r4, r0, r2 + 6818: 7864 ldrb r4, [r4, #1] if(attr_i.bits.state == attr.bits.state) { - 6dc2: ea86 0904 eor.w r9, r6, r4 - 6dc6: f019 0f7f tst.w r9, #127 ; 0x7f - 6dca: d00b beq.n 6de4 + 681a: ea86 0904 eor.w r9, r6, r4 + 681e: f019 0f7f tst.w r9, #127 ; 0x7f + 6822: d00b beq.n 683c else if((attr_i.bits.state & (~attr.bits.state)) == 0) { - 6dcc: f004 047f and.w r4, r4, #127 ; 0x7f - 6dd0: ea34 090c bics.w r9, r4, ip - 6dd4: d11d bne.n 6e12 + 6824: f004 047f and.w r4, r4, #127 ; 0x7f + 6828: ea34 090c bics.w r9, r4, ip + 682c: d11d bne.n 686a if(attr_i.bits.state > weight) { - 6dd6: 4544 cmp r4, r8 + 682e: 4544 cmp r4, r8 weight = attr_i.bits.state; - 6dd8: bfc4 itt gt - 6dda: fa0f f884 sxthgt.w r8, r4 + 6830: bfc4 itt gt + 6832: fa0f f884 sxthgt.w r8, r4 id_guess = i; - 6dde: fa0f fe82 sxthgt.w lr, r2 - 6de2: e016 b.n 6e12 + 6836: fa0f fe82 sxthgt.w lr, r2 + 683a: e016 b.n 686a return i; - 6de4: 4696 mov lr, r2 + 683c: 4696 mov lr, r2 if(id >= 0) { - 6de6: f1be 0f00 cmp.w lr, #0 - 6dea: db43 blt.n 6e74 + 683e: f1be 0f00 cmp.w lr, #0 + 6842: db43 blt.n 68cc attr_found.full = *(style->map + id + 1); - 6dec: 4674 mov r4, lr - 6dee: 4470 add r0, lr + 6844: 4674 mov r4, lr + 6846: 4470 add r0, lr if(attr_found.bits.state == attr_goal.bits.state) { - 6df0: 7843 ldrb r3, [r0, #1] - 6df2: 405e eors r6, r3 - 6df4: f016 0f7f tst.w r6, #127 ; 0x7f - 6df8: d019 beq.n 6e2e + 6848: 7843 ldrb r3, [r0, #1] + 684a: 405e eors r6, r3 + 684c: f016 0f7f tst.w r6, #127 ; 0x7f + 6850: d019 beq.n 6886 return false; - 6dfa: 2000 movs r0, #0 - 6dfc: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} + 6852: 2000 movs r0, #0 + 6854: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} else if((style->map[i] & 0xF) < LV_STYLE_ID_OPA) i += sizeof(lv_color_t); - 6e00: 2b0b cmp r3, #11 - 6e02: dc0c bgt.n 6e1e - 6e04: 3202 adds r2, #2 + 6858: 2b0b cmp r3, #11 + 685a: dc0c bgt.n 6876 + 685c: 3202 adds r2, #2 i += sizeof(lv_style_property_t); - 6e06: 3202 adds r2, #2 + 685e: 3202 adds r2, #2 while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 6e08: 5c83 ldrb r3, [r0, r2] - 6e0a: 2bff cmp r3, #255 ; 0xff - 6e0c: d0eb beq.n 6de6 + 6860: 5c83 ldrb r3, [r0, r2] + 6862: 2bff cmp r3, #255 ; 0xff + 6864: d0eb beq.n 683e if(style->map[i] == id_to_find) { - 6e0e: 429d cmp r5, r3 - 6e10: d0d5 beq.n 6dbe + 6866: 429d cmp r5, r3 + 6868: d0d5 beq.n 6816 if((style->map[i] & 0xF) < LV_STYLE_ID_COLOR) i += sizeof(lv_style_int_t); - 6e12: f003 030f and.w r3, r3, #15 - 6e16: 2b08 cmp r3, #8 - 6e18: dcf2 bgt.n 6e00 - 6e1a: 3202 adds r2, #2 - 6e1c: e7f3 b.n 6e06 + 686a: f003 030f and.w r3, r3, #15 + 686e: 2b08 cmp r3, #8 + 6870: dcf2 bgt.n 6858 + 6872: 3202 adds r2, #2 + 6874: e7f3 b.n 685e else if((style->map[i] & 0xF) < LV_STYLE_ID_PTR) i += sizeof(lv_opa_t); - 6e1e: 2b0d cmp r3, #13 - 6e20: bfd4 ite le - 6e22: 3201 addle r2, #1 + 6876: 2b0d cmp r3, #13 + 6878: bfd4 ite le + 687a: 3201 addle r2, #1 else i += sizeof(const void *); - 6e24: 3204 addgt r2, #4 - 6e26: e7ee b.n 6e06 + 687c: 3204 addgt r2, #4 + 687e: e7ee b.n 685e int16_t id_guess = -1; - 6e28: f04f 3eff mov.w lr, #4294967295 - 6e2c: e7db b.n 6de6 - 6e2e: 460d mov r5, r1 + 6880: f04f 3eff mov.w lr, #4294967295 + 6884: e7db b.n 683e + 6886: 460d mov r5, r1 uint32_t map_size = _lv_style_get_mem_size(style); - 6e30: 4638 mov r0, r7 - 6e32: 4b13 ldr r3, [pc, #76] ; (6e80 ) - 6e34: 4798 blx r3 + 6888: 4638 mov r0, r7 + 688a: 4b13 ldr r3, [pc, #76] ; (68d8 ) + 688c: 4798 blx r3 if((prop & 0xF) < LV_STYLE_ID_COLOR) prop_size += sizeof(lv_style_int_t); - 6e36: f005 010f and.w r1, r5, #15 + 688e: f005 010f and.w r1, r5, #15 else if((prop & 0xF) < LV_STYLE_ID_OPA) prop_size += sizeof(lv_color_t); - 6e3a: 290b cmp r1, #11 - 6e3c: dd04 ble.n 6e48 + 6892: 290b cmp r1, #11 + 6894: dd04 ble.n 68a0 else prop_size += sizeof(const void *); - 6e3e: 290e cmp r1, #14 - 6e40: bfb4 ite lt - 6e42: 2103 movlt r1, #3 - 6e44: 2106 movge r1, #6 - 6e46: e000 b.n 6e4a + 6896: 290e cmp r1, #14 + 6898: bfb4 ite lt + 689a: 2103 movlt r1, #3 + 689c: 2106 movge r1, #6 + 689e: e000 b.n 68a2 else if((prop & 0xF) < LV_STYLE_ID_OPA) prop_size += sizeof(lv_color_t); - 6e48: 2104 movs r1, #4 + 68a0: 2104 movs r1, #4 for(i = id; i < map_size - prop_size; i++) { - 6e4a: 460d mov r5, r1 - 6e4c: 1a41 subs r1, r0, r1 - 6e4e: 428c cmp r4, r1 - 6e50: d207 bcs.n 6e62 - 6e52: 4623 mov r3, r4 + 68a2: 460d mov r5, r1 + 68a4: 1a41 subs r1, r0, r1 + 68a6: 428c cmp r4, r1 + 68a8: d207 bcs.n 68ba + 68aa: 4623 mov r3, r4 style->map[i] = style->map[i + prop_size]; - 6e54: 683a ldr r2, [r7, #0] - 6e56: 1954 adds r4, r2, r5 - 6e58: 5ce4 ldrb r4, [r4, r3] - 6e5a: 54d4 strb r4, [r2, r3] + 68ac: 683a ldr r2, [r7, #0] + 68ae: 1954 adds r4, r2, r5 + 68b0: 5ce4 ldrb r4, [r4, r3] + 68b2: 54d4 strb r4, [r2, r3] for(i = id; i < map_size - prop_size; i++) { - 6e5c: 3301 adds r3, #1 - 6e5e: 428b cmp r3, r1 - 6e60: d1f8 bne.n 6e54 + 68b4: 3301 adds r3, #1 + 68b6: 428b cmp r3, r1 + 68b8: d1f8 bne.n 68ac style->map = lv_mem_realloc(style->map, map_size - prop_size); - 6e62: 6838 ldr r0, [r7, #0] - 6e64: 4b07 ldr r3, [pc, #28] ; (6e84 ) - 6e66: 4798 blx r3 - 6e68: 6038 str r0, [r7, #0] + 68ba: 6838 ldr r0, [r7, #0] + 68bc: 4b07 ldr r3, [pc, #28] ; (68dc ) + 68be: 4798 blx r3 + 68c0: 6038 str r0, [r7, #0] return true; - 6e6a: 2001 movs r0, #1 - 6e6c: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} + 68c2: 2001 movs r0, #1 + 68c4: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} if(style == NULL) return false; - 6e70: 2000 movs r0, #0 - 6e72: 4770 bx lr + 68c8: 2000 movs r0, #0 + 68ca: 4770 bx lr return false; - 6e74: 2000 movs r0, #0 - 6e76: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} - 6e7a: 2000 movs r0, #0 + 68cc: 2000 movs r0, #0 + 68ce: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} + 68d2: 2000 movs r0, #0 } - 6e7c: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} - 6e80: 00006d21 .word 0x00006d21 - 6e84: 00012e41 .word 0x00012e41 + 68d4: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} + 68d8: 00006779 .word 0x00006779 + 68dc: 00012899 .word 0x00012899 -00006e88 <_lv_style_set_int>: +000068e0 <_lv_style_set_int>: { - 6e88: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - 6e8c: b086 sub sp, #24 - 6e8e: f8ad 100e strh.w r1, [sp, #14] - 6e92: f8ad 200c strh.w r2, [sp, #12] + 68e0: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} + 68e4: b086 sub sp, #24 + 68e6: f8ad 100e strh.w r1, [sp, #14] + 68ea: f8ad 200c strh.w r2, [sp, #12] if(style->map == NULL) return -1; - 6e96: 6804 ldr r4, [r0, #0] - 6e98: 2c00 cmp r4, #0 - 6e9a: d048 beq.n 6f2e <_lv_style_set_int+0xa6> + 68ee: 6804 ldr r4, [r0, #0] + 68f0: 2c00 cmp r4, #0 + 68f2: d048 beq.n 6986 <_lv_style_set_int+0xa6> uint8_t id_to_find = prop & 0xFF; - 6e9c: b2cf uxtb r7, r1 + 68f4: b2cf uxtb r7, r1 attr.full = (prop >> 8) & 0xFF; - 6e9e: 0a0d lsrs r5, r1, #8 - 6ea0: 46ae mov lr, r5 + 68f6: 0a0d lsrs r5, r1, #8 + 68f8: 46ae mov lr, r5 while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 6ea2: 7823 ldrb r3, [r4, #0] - 6ea4: 2bff cmp r3, #255 ; 0xff - 6ea6: d02c beq.n 6f02 <_lv_style_set_int+0x7a> - 6ea8: f04f 31ff mov.w r1, #4294967295 - 6eac: 4688 mov r8, r1 - 6eae: 2200 movs r2, #0 + 68fa: 7823 ldrb r3, [r4, #0] + 68fc: 2bff cmp r3, #255 ; 0xff + 68fe: d02c beq.n 695a <_lv_style_set_int+0x7a> + 6900: f04f 31ff mov.w r1, #4294967295 + 6904: 4688 mov r8, r1 + 6906: 2200 movs r2, #0 else if((attr_i.bits.state & (~attr.bits.state)) == 0) { - 6eb0: f3ce 0e06 ubfx lr, lr, #0, #7 - 6eb4: e018 b.n 6ee8 <_lv_style_set_int+0x60> + 6908: f3ce 0e06 ubfx lr, lr, #0, #7 + 690c: e018 b.n 6940 <_lv_style_set_int+0x60> attr_i.full = style->map[i + 1]; - 6eb6: 18a6 adds r6, r4, r2 - 6eb8: 7876 ldrb r6, [r6, #1] + 690e: 18a6 adds r6, r4, r2 + 6910: 7876 ldrb r6, [r6, #1] if(attr_i.bits.state == attr.bits.state) { - 6eba: ea85 0c06 eor.w ip, r5, r6 - 6ebe: f01c 0f7f tst.w ip, #127 ; 0x7f - 6ec2: d021 beq.n 6f08 <_lv_style_set_int+0x80> + 6912: ea85 0c06 eor.w ip, r5, r6 + 6916: f01c 0f7f tst.w ip, #127 ; 0x7f + 691a: d021 beq.n 6960 <_lv_style_set_int+0x80> else if((attr_i.bits.state & (~attr.bits.state)) == 0) { - 6ec4: f006 067f and.w r6, r6, #127 ; 0x7f - 6ec8: ea36 0c0e bics.w ip, r6, lr - 6ecc: d10e bne.n 6eec <_lv_style_set_int+0x64> + 691c: f006 067f and.w r6, r6, #127 ; 0x7f + 6920: ea36 0c0e bics.w ip, r6, lr + 6924: d10e bne.n 6944 <_lv_style_set_int+0x64> if(attr_i.bits.state > weight) { - 6ece: 4546 cmp r6, r8 + 6926: 4546 cmp r6, r8 weight = attr_i.bits.state; - 6ed0: bfc4 itt gt - 6ed2: fa0f f886 sxthgt.w r8, r6 + 6928: bfc4 itt gt + 692a: fa0f f886 sxthgt.w r8, r6 id_guess = i; - 6ed6: b211 sxthgt r1, r2 - 6ed8: e008 b.n 6eec <_lv_style_set_int+0x64> + 692e: b211 sxthgt r1, r2 + 6930: e008 b.n 6944 <_lv_style_set_int+0x64> else if((style->map[i] & 0xF) < LV_STYLE_ID_OPA) i += sizeof(lv_color_t); - 6eda: 2b0b cmp r3, #11 - 6edc: dc0c bgt.n 6ef8 <_lv_style_set_int+0x70> - 6ede: 3202 adds r2, #2 + 6932: 2b0b cmp r3, #11 + 6934: dc0c bgt.n 6950 <_lv_style_set_int+0x70> + 6936: 3202 adds r2, #2 i += sizeof(lv_style_property_t); - 6ee0: 3202 adds r2, #2 + 6938: 3202 adds r2, #2 while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 6ee2: 5ca3 ldrb r3, [r4, r2] - 6ee4: 2bff cmp r3, #255 ; 0xff - 6ee6: d00e beq.n 6f06 <_lv_style_set_int+0x7e> + 693a: 5ca3 ldrb r3, [r4, r2] + 693c: 2bff cmp r3, #255 ; 0xff + 693e: d00e beq.n 695e <_lv_style_set_int+0x7e> if(style->map[i] == id_to_find) { - 6ee8: 429f cmp r7, r3 - 6eea: d0e4 beq.n 6eb6 <_lv_style_set_int+0x2e> + 6940: 429f cmp r7, r3 + 6942: d0e4 beq.n 690e <_lv_style_set_int+0x2e> if((style->map[i] & 0xF) < LV_STYLE_ID_COLOR) i += sizeof(lv_style_int_t); - 6eec: f003 030f and.w r3, r3, #15 - 6ef0: 2b08 cmp r3, #8 - 6ef2: dcf2 bgt.n 6eda <_lv_style_set_int+0x52> - 6ef4: 3202 adds r2, #2 - 6ef6: e7f3 b.n 6ee0 <_lv_style_set_int+0x58> + 6944: f003 030f and.w r3, r3, #15 + 6948: 2b08 cmp r3, #8 + 694a: dcf2 bgt.n 6932 <_lv_style_set_int+0x52> + 694c: 3202 adds r2, #2 + 694e: e7f3 b.n 6938 <_lv_style_set_int+0x58> else if((style->map[i] & 0xF) < LV_STYLE_ID_PTR) i += sizeof(lv_opa_t); - 6ef8: 2b0d cmp r3, #13 - 6efa: bfd4 ite le - 6efc: 3201 addle r2, #1 + 6950: 2b0d cmp r3, #13 + 6952: bfd4 ite le + 6954: 3201 addle r2, #1 else i += sizeof(const void *); - 6efe: 3204 addgt r2, #4 - 6f00: e7ee b.n 6ee0 <_lv_style_set_int+0x58> + 6956: 3204 addgt r2, #4 + 6958: e7ee b.n 6938 <_lv_style_set_int+0x58> int16_t id_guess = -1; - 6f02: f04f 31ff mov.w r1, #4294967295 + 695a: f04f 31ff mov.w r1, #4294967295 return id_guess; - 6f06: 460a mov r2, r1 + 695e: 460a mov r2, r1 if(id >= 0) { - 6f08: 2a00 cmp r2, #0 - 6f0a: db10 blt.n 6f2e <_lv_style_set_int+0xa6> + 6960: 2a00 cmp r2, #0 + 6962: db10 blt.n 6986 <_lv_style_set_int+0xa6> attr_found.full = *(style->map + id + 1); - 6f0c: 18a3 adds r3, r4, r2 + 6964: 18a3 adds r3, r4, r2 if(attr_found.bits.state == attr_goal.bits.state) { - 6f0e: 785b ldrb r3, [r3, #1] - 6f10: 405d eors r5, r3 - 6f12: f015 0f7f tst.w r5, #127 ; 0x7f - 6f16: d10a bne.n 6f2e <_lv_style_set_int+0xa6> + 6966: 785b ldrb r3, [r3, #1] + 6968: 405d eors r5, r3 + 696a: f015 0f7f tst.w r5, #127 ; 0x7f + 696e: d10a bne.n 6986 <_lv_style_set_int+0xa6> _lv_memcpy_small(style->map + id + sizeof(lv_style_property_t), &value, sizeof(lv_style_int_t)); - 6f18: 3202 adds r2, #2 - 6f1a: 18a3 adds r3, r4, r2 + 6970: 3202 adds r2, #2 + 6972: 18a3 adds r3, r4, r2 *d8 = *s8; - 6f1c: f89d 100c ldrb.w r1, [sp, #12] - 6f20: 54a1 strb r1, [r4, r2] - 6f22: f89d 200d ldrb.w r2, [sp, #13] - 6f26: 705a strb r2, [r3, #1] -} - 6f28: b006 add sp, #24 - 6f2a: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} - 6f2e: 4606 mov r6, r0 + 6974: f89d 100c ldrb.w r1, [sp, #12] + 6978: 54a1 strb r1, [r4, r2] + 697a: f89d 200d ldrb.w r2, [sp, #13] + 697e: 705a strb r2, [r3, #1] +} + 6980: b006 add sp, #24 + 6982: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + 6986: 4606 mov r6, r0 lv_style_property_t end_mark = _LV_STYLE_CLOSEING_PROP; - 6f30: 23ff movs r3, #255 ; 0xff - 6f32: f8ad 3016 strh.w r3, [sp, #22] + 6988: 23ff movs r3, #255 ; 0xff + 698a: f8ad 3016 strh.w r3, [sp, #22] uint16_t size = _lv_style_get_mem_size(style); - 6f36: 4b1d ldr r3, [pc, #116] ; (6fac <_lv_style_set_int+0x124>) - 6f38: 4798 blx r3 + 698e: 4b1d ldr r3, [pc, #116] ; (6a04 <_lv_style_set_int+0x124>) + 6990: 4798 blx r3 if(size == 0) size += end_mark_size; - 6f3a: 2800 cmp r0, #0 - 6f3c: bf08 it eq - 6f3e: 2002 moveq r0, #2 + 6992: 2800 cmp r0, #0 + 6994: bf08 it eq + 6996: 2002 moveq r0, #2 size += sizeof(lv_style_property_t) + sizeof(lv_style_int_t); - 6f40: 1d05 adds r5, r0, #4 + 6998: 1d05 adds r5, r0, #4 style->map = lv_mem_realloc(style->map, size); - 6f42: b2ad uxth r5, r5 - 6f44: 4629 mov r1, r5 - 6f46: 4620 mov r0, r4 - 6f48: 4b19 ldr r3, [pc, #100] ; (6fb0 <_lv_style_set_int+0x128>) - 6f4a: 4798 blx r3 - 6f4c: 6030 str r0, [r6, #0] + 699a: b2ad uxth r5, r5 + 699c: 4629 mov r1, r5 + 699e: 4620 mov r0, r4 + 69a0: 4b19 ldr r3, [pc, #100] ; (6a08 <_lv_style_set_int+0x128>) + 69a2: 4798 blx r3 + 69a4: 6030 str r0, [r6, #0] LV_ASSERT_MEM(style->map); - 6f4e: 4b19 ldr r3, [pc, #100] ; (6fb4 <_lv_style_set_int+0x12c>) - 6f50: 4798 blx r3 - 6f52: b1e8 cbz r0, 6f90 <_lv_style_set_int+0x108> + 69a6: 4b19 ldr r3, [pc, #100] ; (6a0c <_lv_style_set_int+0x12c>) + 69a8: 4798 blx r3 + 69aa: b1e8 cbz r0, 69e8 <_lv_style_set_int+0x108> if(style == NULL) return; - 6f54: 2e00 cmp r6, #0 - 6f56: d0e7 beq.n 6f28 <_lv_style_set_int+0xa0> + 69ac: 2e00 cmp r6, #0 + 69ae: d0e7 beq.n 6980 <_lv_style_set_int+0xa0> _lv_memcpy_small(style->map + size - new_prop_size - end_mark_size, &prop, sizeof(lv_style_property_t)); - 6f58: 1fab subs r3, r5, #6 - 6f5a: 6832 ldr r2, [r6, #0] - 6f5c: 18d1 adds r1, r2, r3 - 6f5e: f89d 000e ldrb.w r0, [sp, #14] - 6f62: 54d0 strb r0, [r2, r3] - 6f64: f89d 300f ldrb.w r3, [sp, #15] - 6f68: 704b strb r3, [r1, #1] - 6f6a: 1f2b subs r3, r5, #4 + 69b0: 1fab subs r3, r5, #6 + 69b2: 6832 ldr r2, [r6, #0] + 69b4: 18d1 adds r1, r2, r3 + 69b6: f89d 000e ldrb.w r0, [sp, #14] + 69ba: 54d0 strb r0, [r2, r3] + 69bc: f89d 300f ldrb.w r3, [sp, #15] + 69c0: 704b strb r3, [r1, #1] + 69c2: 1f2b subs r3, r5, #4 _lv_memcpy_small(style->map + size - sizeof(lv_style_int_t) - end_mark_size, &value, sizeof(lv_style_int_t)); - 6f6c: 6832 ldr r2, [r6, #0] - 6f6e: 18d1 adds r1, r2, r3 - 6f70: f89d 000c ldrb.w r0, [sp, #12] - 6f74: 54d0 strb r0, [r2, r3] - 6f76: f89d 300d ldrb.w r3, [sp, #13] - 6f7a: 704b strb r3, [r1, #1] - 6f7c: 3d02 subs r5, #2 + 69c4: 6832 ldr r2, [r6, #0] + 69c6: 18d1 adds r1, r2, r3 + 69c8: f89d 000c ldrb.w r0, [sp, #12] + 69cc: 54d0 strb r0, [r2, r3] + 69ce: f89d 300d ldrb.w r3, [sp, #13] + 69d2: 704b strb r3, [r1, #1] + 69d4: 3d02 subs r5, #2 _lv_memcpy_small(style->map + size - end_mark_size, &end_mark, sizeof(end_mark)); - 6f7e: 6833 ldr r3, [r6, #0] - 6f80: 195a adds r2, r3, r5 - 6f82: f89d 1016 ldrb.w r1, [sp, #22] - 6f86: 5559 strb r1, [r3, r5] - 6f88: f89d 3017 ldrb.w r3, [sp, #23] - 6f8c: 7053 strb r3, [r2, #1] - 6f8e: e7cb b.n 6f28 <_lv_style_set_int+0xa0> + 69d6: 6833 ldr r3, [r6, #0] + 69d8: 195a adds r2, r3, r5 + 69da: f89d 1016 ldrb.w r1, [sp, #22] + 69de: 5559 strb r1, [r3, r5] + 69e0: f89d 3017 ldrb.w r3, [sp, #23] + 69e4: 7053 strb r3, [r2, #1] + 69e6: e7cb b.n 6980 <_lv_style_set_int+0xa0> LV_ASSERT_MEM(style->map); - 6f90: 4b09 ldr r3, [pc, #36] ; (6fb8 <_lv_style_set_int+0x130>) - 6f92: 9300 str r3, [sp, #0] - 6f94: f44f 72c3 mov.w r2, #390 ; 0x186 - 6f98: 4908 ldr r1, [pc, #32] ; (6fbc <_lv_style_set_int+0x134>) - 6f9a: 2003 movs r0, #3 - 6f9c: 4c08 ldr r4, [pc, #32] ; (6fc0 <_lv_style_set_int+0x138>) - 6f9e: 47a0 blx r4 - 6fa0: 6832 ldr r2, [r6, #0] - 6fa2: 2300 movs r3, #0 - 6fa4: 4807 ldr r0, [pc, #28] ; (6fc4 <_lv_style_set_int+0x13c>) - 6fa6: 4908 ldr r1, [pc, #32] ; (6fc8 <_lv_style_set_int+0x140>) - 6fa8: 4788 blx r1 - 6faa: e7fe b.n 6faa <_lv_style_set_int+0x122> - 6fac: 00006d21 .word 0x00006d21 - 6fb0: 00012e41 .word 0x00012e41 - 6fb4: 0000298d .word 0x0000298d - 6fb8: 0001bfb0 .word 0x0001bfb0 - 6fbc: 0001c020 .word 0x0001c020 - 6fc0: 00012805 .word 0x00012805 - 6fc4: 0001b4bc .word 0x0001b4bc - 6fc8: 00002995 .word 0x00002995 - -00006fcc <_lv_style_set_color>: -{ - 6fcc: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - 6fd0: b086 sub sp, #24 - 6fd2: f8ad 200c strh.w r2, [sp, #12] - 6fd6: f8ad 100e strh.w r1, [sp, #14] + 69e8: 4b09 ldr r3, [pc, #36] ; (6a10 <_lv_style_set_int+0x130>) + 69ea: 9300 str r3, [sp, #0] + 69ec: f44f 72c3 mov.w r2, #390 ; 0x186 + 69f0: 4908 ldr r1, [pc, #32] ; (6a14 <_lv_style_set_int+0x134>) + 69f2: 2003 movs r0, #3 + 69f4: 4c08 ldr r4, [pc, #32] ; (6a18 <_lv_style_set_int+0x138>) + 69f6: 47a0 blx r4 + 69f8: 6832 ldr r2, [r6, #0] + 69fa: 2300 movs r3, #0 + 69fc: 4807 ldr r0, [pc, #28] ; (6a1c <_lv_style_set_int+0x13c>) + 69fe: 4908 ldr r1, [pc, #32] ; (6a20 <_lv_style_set_int+0x140>) + 6a00: 4788 blx r1 + 6a02: e7fe b.n 6a02 <_lv_style_set_int+0x122> + 6a04: 00006779 .word 0x00006779 + 6a08: 00012899 .word 0x00012899 + 6a0c: 000022b1 .word 0x000022b1 + 6a10: 00024acc .word 0x00024acc + 6a14: 00024b3c .word 0x00024b3c + 6a18: 0001225d .word 0x0001225d + 6a1c: 00023fd8 .word 0x00023fd8 + 6a20: 000022b9 .word 0x000022b9 + +00006a24 <_lv_style_set_color>: +{ + 6a24: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} + 6a28: b086 sub sp, #24 + 6a2a: f8ad 200c strh.w r2, [sp, #12] + 6a2e: f8ad 100e strh.w r1, [sp, #14] if(style->map == NULL) return -1; - 6fda: 6804 ldr r4, [r0, #0] - 6fdc: 2c00 cmp r4, #0 - 6fde: d048 beq.n 7072 <_lv_style_set_color+0xa6> + 6a32: 6804 ldr r4, [r0, #0] + 6a34: 2c00 cmp r4, #0 + 6a36: d048 beq.n 6aca <_lv_style_set_color+0xa6> uint8_t id_to_find = prop & 0xFF; - 6fe0: b2cf uxtb r7, r1 + 6a38: b2cf uxtb r7, r1 attr.full = (prop >> 8) & 0xFF; - 6fe2: 0a0d lsrs r5, r1, #8 - 6fe4: 46ae mov lr, r5 + 6a3a: 0a0d lsrs r5, r1, #8 + 6a3c: 46ae mov lr, r5 while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 6fe6: 7823 ldrb r3, [r4, #0] - 6fe8: 2bff cmp r3, #255 ; 0xff - 6fea: d02c beq.n 7046 <_lv_style_set_color+0x7a> - 6fec: f04f 31ff mov.w r1, #4294967295 - 6ff0: 4688 mov r8, r1 - 6ff2: 2200 movs r2, #0 + 6a3e: 7823 ldrb r3, [r4, #0] + 6a40: 2bff cmp r3, #255 ; 0xff + 6a42: d02c beq.n 6a9e <_lv_style_set_color+0x7a> + 6a44: f04f 31ff mov.w r1, #4294967295 + 6a48: 4688 mov r8, r1 + 6a4a: 2200 movs r2, #0 else if((attr_i.bits.state & (~attr.bits.state)) == 0) { - 6ff4: f3ce 0e06 ubfx lr, lr, #0, #7 - 6ff8: e018 b.n 702c <_lv_style_set_color+0x60> + 6a4c: f3ce 0e06 ubfx lr, lr, #0, #7 + 6a50: e018 b.n 6a84 <_lv_style_set_color+0x60> attr_i.full = style->map[i + 1]; - 6ffa: 18a6 adds r6, r4, r2 - 6ffc: 7876 ldrb r6, [r6, #1] + 6a52: 18a6 adds r6, r4, r2 + 6a54: 7876 ldrb r6, [r6, #1] if(attr_i.bits.state == attr.bits.state) { - 6ffe: ea85 0c06 eor.w ip, r5, r6 - 7002: f01c 0f7f tst.w ip, #127 ; 0x7f - 7006: d021 beq.n 704c <_lv_style_set_color+0x80> + 6a56: ea85 0c06 eor.w ip, r5, r6 + 6a5a: f01c 0f7f tst.w ip, #127 ; 0x7f + 6a5e: d021 beq.n 6aa4 <_lv_style_set_color+0x80> else if((attr_i.bits.state & (~attr.bits.state)) == 0) { - 7008: f006 067f and.w r6, r6, #127 ; 0x7f - 700c: ea36 0c0e bics.w ip, r6, lr - 7010: d10e bne.n 7030 <_lv_style_set_color+0x64> + 6a60: f006 067f and.w r6, r6, #127 ; 0x7f + 6a64: ea36 0c0e bics.w ip, r6, lr + 6a68: d10e bne.n 6a88 <_lv_style_set_color+0x64> if(attr_i.bits.state > weight) { - 7012: 4546 cmp r6, r8 + 6a6a: 4546 cmp r6, r8 weight = attr_i.bits.state; - 7014: bfc4 itt gt - 7016: fa0f f886 sxthgt.w r8, r6 + 6a6c: bfc4 itt gt + 6a6e: fa0f f886 sxthgt.w r8, r6 id_guess = i; - 701a: b211 sxthgt r1, r2 - 701c: e008 b.n 7030 <_lv_style_set_color+0x64> + 6a72: b211 sxthgt r1, r2 + 6a74: e008 b.n 6a88 <_lv_style_set_color+0x64> else if((style->map[i] & 0xF) < LV_STYLE_ID_OPA) i += sizeof(lv_color_t); - 701e: 2b0b cmp r3, #11 - 7020: dc0c bgt.n 703c <_lv_style_set_color+0x70> - 7022: 3202 adds r2, #2 + 6a76: 2b0b cmp r3, #11 + 6a78: dc0c bgt.n 6a94 <_lv_style_set_color+0x70> + 6a7a: 3202 adds r2, #2 i += sizeof(lv_style_property_t); - 7024: 3202 adds r2, #2 + 6a7c: 3202 adds r2, #2 while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 7026: 5ca3 ldrb r3, [r4, r2] - 7028: 2bff cmp r3, #255 ; 0xff - 702a: d00e beq.n 704a <_lv_style_set_color+0x7e> + 6a7e: 5ca3 ldrb r3, [r4, r2] + 6a80: 2bff cmp r3, #255 ; 0xff + 6a82: d00e beq.n 6aa2 <_lv_style_set_color+0x7e> if(style->map[i] == id_to_find) { - 702c: 429f cmp r7, r3 - 702e: d0e4 beq.n 6ffa <_lv_style_set_color+0x2e> + 6a84: 429f cmp r7, r3 + 6a86: d0e4 beq.n 6a52 <_lv_style_set_color+0x2e> if((style->map[i] & 0xF) < LV_STYLE_ID_COLOR) i += sizeof(lv_style_int_t); - 7030: f003 030f and.w r3, r3, #15 - 7034: 2b08 cmp r3, #8 - 7036: dcf2 bgt.n 701e <_lv_style_set_color+0x52> - 7038: 3202 adds r2, #2 - 703a: e7f3 b.n 7024 <_lv_style_set_color+0x58> + 6a88: f003 030f and.w r3, r3, #15 + 6a8c: 2b08 cmp r3, #8 + 6a8e: dcf2 bgt.n 6a76 <_lv_style_set_color+0x52> + 6a90: 3202 adds r2, #2 + 6a92: e7f3 b.n 6a7c <_lv_style_set_color+0x58> else if((style->map[i] & 0xF) < LV_STYLE_ID_PTR) i += sizeof(lv_opa_t); - 703c: 2b0d cmp r3, #13 - 703e: bfd4 ite le - 7040: 3201 addle r2, #1 + 6a94: 2b0d cmp r3, #13 + 6a96: bfd4 ite le + 6a98: 3201 addle r2, #1 else i += sizeof(const void *); - 7042: 3204 addgt r2, #4 - 7044: e7ee b.n 7024 <_lv_style_set_color+0x58> + 6a9a: 3204 addgt r2, #4 + 6a9c: e7ee b.n 6a7c <_lv_style_set_color+0x58> int16_t id_guess = -1; - 7046: f04f 31ff mov.w r1, #4294967295 + 6a9e: f04f 31ff mov.w r1, #4294967295 return id_guess; - 704a: 460a mov r2, r1 + 6aa2: 460a mov r2, r1 if(id >= 0) { - 704c: 2a00 cmp r2, #0 - 704e: db10 blt.n 7072 <_lv_style_set_color+0xa6> + 6aa4: 2a00 cmp r2, #0 + 6aa6: db10 blt.n 6aca <_lv_style_set_color+0xa6> attr_found.full = *(style->map + id + 1); - 7050: 18a3 adds r3, r4, r2 + 6aa8: 18a3 adds r3, r4, r2 if(attr_found.bits.state == attr_goal.bits.state) { - 7052: 785b ldrb r3, [r3, #1] - 7054: 405d eors r5, r3 - 7056: f015 0f7f tst.w r5, #127 ; 0x7f - 705a: d10a bne.n 7072 <_lv_style_set_color+0xa6> + 6aaa: 785b ldrb r3, [r3, #1] + 6aac: 405d eors r5, r3 + 6aae: f015 0f7f tst.w r5, #127 ; 0x7f + 6ab2: d10a bne.n 6aca <_lv_style_set_color+0xa6> _lv_memcpy_small(style->map + id + sizeof(lv_style_property_t), &color, sizeof(lv_color_t)); - 705c: 3202 adds r2, #2 - 705e: 18a3 adds r3, r4, r2 - 7060: f89d 100c ldrb.w r1, [sp, #12] - 7064: 54a1 strb r1, [r4, r2] - 7066: f89d 200d ldrb.w r2, [sp, #13] - 706a: 705a strb r2, [r3, #1] -} - 706c: b006 add sp, #24 - 706e: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} - 7072: 4606 mov r6, r0 + 6ab4: 3202 adds r2, #2 + 6ab6: 18a3 adds r3, r4, r2 + 6ab8: f89d 100c ldrb.w r1, [sp, #12] + 6abc: 54a1 strb r1, [r4, r2] + 6abe: f89d 200d ldrb.w r2, [sp, #13] + 6ac2: 705a strb r2, [r3, #1] +} + 6ac4: b006 add sp, #24 + 6ac6: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + 6aca: 4606 mov r6, r0 lv_style_property_t end_mark = _LV_STYLE_CLOSEING_PROP; - 7074: 23ff movs r3, #255 ; 0xff - 7076: f8ad 3016 strh.w r3, [sp, #22] + 6acc: 23ff movs r3, #255 ; 0xff + 6ace: f8ad 3016 strh.w r3, [sp, #22] uint16_t size = _lv_style_get_mem_size(style); - 707a: 4b1d ldr r3, [pc, #116] ; (70f0 <_lv_style_set_color+0x124>) - 707c: 4798 blx r3 + 6ad2: 4b1d ldr r3, [pc, #116] ; (6b48 <_lv_style_set_color+0x124>) + 6ad4: 4798 blx r3 if(size == 0) size += end_mark_size; - 707e: 2800 cmp r0, #0 - 7080: bf08 it eq - 7082: 2002 moveq r0, #2 + 6ad6: 2800 cmp r0, #0 + 6ad8: bf08 it eq + 6ada: 2002 moveq r0, #2 size += sizeof(lv_style_property_t) + sizeof(lv_color_t); - 7084: 1d05 adds r5, r0, #4 + 6adc: 1d05 adds r5, r0, #4 style->map = lv_mem_realloc(style->map, size); - 7086: b2ad uxth r5, r5 - 7088: 4629 mov r1, r5 - 708a: 4620 mov r0, r4 - 708c: 4b19 ldr r3, [pc, #100] ; (70f4 <_lv_style_set_color+0x128>) - 708e: 4798 blx r3 - 7090: 6030 str r0, [r6, #0] + 6ade: b2ad uxth r5, r5 + 6ae0: 4629 mov r1, r5 + 6ae2: 4620 mov r0, r4 + 6ae4: 4b19 ldr r3, [pc, #100] ; (6b4c <_lv_style_set_color+0x128>) + 6ae6: 4798 blx r3 + 6ae8: 6030 str r0, [r6, #0] LV_ASSERT_MEM(style->map); - 7092: 4b19 ldr r3, [pc, #100] ; (70f8 <_lv_style_set_color+0x12c>) - 7094: 4798 blx r3 - 7096: b1e8 cbz r0, 70d4 <_lv_style_set_color+0x108> + 6aea: 4b19 ldr r3, [pc, #100] ; (6b50 <_lv_style_set_color+0x12c>) + 6aec: 4798 blx r3 + 6aee: b1e8 cbz r0, 6b2c <_lv_style_set_color+0x108> if(style == NULL) return; - 7098: 2e00 cmp r6, #0 - 709a: d0e7 beq.n 706c <_lv_style_set_color+0xa0> + 6af0: 2e00 cmp r6, #0 + 6af2: d0e7 beq.n 6ac4 <_lv_style_set_color+0xa0> _lv_memcpy_small(style->map + size - new_prop_size - end_mark_size, &prop, sizeof(lv_style_property_t)); - 709c: 1fab subs r3, r5, #6 - 709e: 6832 ldr r2, [r6, #0] - 70a0: 18d1 adds r1, r2, r3 - 70a2: f89d 000e ldrb.w r0, [sp, #14] - 70a6: 54d0 strb r0, [r2, r3] - 70a8: f89d 300f ldrb.w r3, [sp, #15] - 70ac: 704b strb r3, [r1, #1] - 70ae: 1f2b subs r3, r5, #4 + 6af4: 1fab subs r3, r5, #6 + 6af6: 6832 ldr r2, [r6, #0] + 6af8: 18d1 adds r1, r2, r3 + 6afa: f89d 000e ldrb.w r0, [sp, #14] + 6afe: 54d0 strb r0, [r2, r3] + 6b00: f89d 300f ldrb.w r3, [sp, #15] + 6b04: 704b strb r3, [r1, #1] + 6b06: 1f2b subs r3, r5, #4 _lv_memcpy_small(style->map + size - sizeof(lv_color_t) - end_mark_size, &color, sizeof(lv_color_t)); - 70b0: 6832 ldr r2, [r6, #0] - 70b2: 18d1 adds r1, r2, r3 - 70b4: f89d 000c ldrb.w r0, [sp, #12] - 70b8: 54d0 strb r0, [r2, r3] - 70ba: f89d 300d ldrb.w r3, [sp, #13] - 70be: 704b strb r3, [r1, #1] - 70c0: 3d02 subs r5, #2 + 6b08: 6832 ldr r2, [r6, #0] + 6b0a: 18d1 adds r1, r2, r3 + 6b0c: f89d 000c ldrb.w r0, [sp, #12] + 6b10: 54d0 strb r0, [r2, r3] + 6b12: f89d 300d ldrb.w r3, [sp, #13] + 6b16: 704b strb r3, [r1, #1] + 6b18: 3d02 subs r5, #2 _lv_memcpy_small(style->map + size - end_mark_size, &end_mark, sizeof(end_mark)); - 70c2: 6833 ldr r3, [r6, #0] - 70c4: 195a adds r2, r3, r5 - 70c6: f89d 1016 ldrb.w r1, [sp, #22] - 70ca: 5559 strb r1, [r3, r5] - 70cc: f89d 3017 ldrb.w r3, [sp, #23] - 70d0: 7053 strb r3, [r2, #1] - 70d2: e7cb b.n 706c <_lv_style_set_color+0xa0> + 6b1a: 6833 ldr r3, [r6, #0] + 6b1c: 195a adds r2, r3, r5 + 6b1e: f89d 1016 ldrb.w r1, [sp, #22] + 6b22: 5559 strb r1, [r3, r5] + 6b24: f89d 3017 ldrb.w r3, [sp, #23] + 6b28: 7053 strb r3, [r2, #1] + 6b2a: e7cb b.n 6ac4 <_lv_style_set_color+0xa0> LV_ASSERT_MEM(style->map); - 70d4: 4b09 ldr r3, [pc, #36] ; (70fc <_lv_style_set_color+0x130>) - 70d6: 9300 str r3, [sp, #0] - 70d8: f240 12b5 movw r2, #437 ; 0x1b5 - 70dc: 4908 ldr r1, [pc, #32] ; (7100 <_lv_style_set_color+0x134>) - 70de: 2003 movs r0, #3 - 70e0: 4c08 ldr r4, [pc, #32] ; (7104 <_lv_style_set_color+0x138>) - 70e2: 47a0 blx r4 - 70e4: 6832 ldr r2, [r6, #0] - 70e6: 2300 movs r3, #0 - 70e8: 4807 ldr r0, [pc, #28] ; (7108 <_lv_style_set_color+0x13c>) - 70ea: 4908 ldr r1, [pc, #32] ; (710c <_lv_style_set_color+0x140>) - 70ec: 4788 blx r1 - 70ee: e7fe b.n 70ee <_lv_style_set_color+0x122> - 70f0: 00006d21 .word 0x00006d21 - 70f4: 00012e41 .word 0x00012e41 - 70f8: 0000298d .word 0x0000298d - 70fc: 0001bfc4 .word 0x0001bfc4 - 7100: 0001c020 .word 0x0001c020 - 7104: 00012805 .word 0x00012805 - 7108: 0001b4bc .word 0x0001b4bc - 710c: 00002995 .word 0x00002995 - -00007110 <_lv_style_set_opa>: -{ - 7110: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} - 7114: b087 sub sp, #28 - 7116: f8ad 100e strh.w r1, [sp, #14] + 6b2c: 4b09 ldr r3, [pc, #36] ; (6b54 <_lv_style_set_color+0x130>) + 6b2e: 9300 str r3, [sp, #0] + 6b30: f240 12b5 movw r2, #437 ; 0x1b5 + 6b34: 4908 ldr r1, [pc, #32] ; (6b58 <_lv_style_set_color+0x134>) + 6b36: 2003 movs r0, #3 + 6b38: 4c08 ldr r4, [pc, #32] ; (6b5c <_lv_style_set_color+0x138>) + 6b3a: 47a0 blx r4 + 6b3c: 6832 ldr r2, [r6, #0] + 6b3e: 2300 movs r3, #0 + 6b40: 4807 ldr r0, [pc, #28] ; (6b60 <_lv_style_set_color+0x13c>) + 6b42: 4908 ldr r1, [pc, #32] ; (6b64 <_lv_style_set_color+0x140>) + 6b44: 4788 blx r1 + 6b46: e7fe b.n 6b46 <_lv_style_set_color+0x122> + 6b48: 00006779 .word 0x00006779 + 6b4c: 00012899 .word 0x00012899 + 6b50: 000022b1 .word 0x000022b1 + 6b54: 00024ae0 .word 0x00024ae0 + 6b58: 00024b3c .word 0x00024b3c + 6b5c: 0001225d .word 0x0001225d + 6b60: 00023fd8 .word 0x00023fd8 + 6b64: 000022b9 .word 0x000022b9 + +00006b68 <_lv_style_set_opa>: +{ + 6b68: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} + 6b6c: b087 sub sp, #28 + 6b6e: f8ad 100e strh.w r1, [sp, #14] if(style->map == NULL) return -1; - 711a: 6804 ldr r4, [r0, #0] - 711c: 2c00 cmp r4, #0 - 711e: d043 beq.n 71a8 <_lv_style_set_opa+0x98> + 6b72: 6804 ldr r4, [r0, #0] + 6b74: 2c00 cmp r4, #0 + 6b76: d043 beq.n 6c00 <_lv_style_set_opa+0x98> uint8_t id_to_find = prop & 0xFF; - 7120: fa5f fe81 uxtb.w lr, r1 + 6b78: fa5f fe81 uxtb.w lr, r1 attr.full = (prop >> 8) & 0xFF; - 7124: 0a0d lsrs r5, r1, #8 - 7126: 46ac mov ip, r5 + 6b7c: 0a0d lsrs r5, r1, #8 + 6b7e: 46ac mov ip, r5 while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 7128: 7823 ldrb r3, [r4, #0] - 712a: 2bff cmp r3, #255 ; 0xff - 712c: d02c beq.n 7188 <_lv_style_set_opa+0x78> - 712e: f04f 37ff mov.w r7, #4294967295 - 7132: 46b8 mov r8, r7 - 7134: 2100 movs r1, #0 + 6b80: 7823 ldrb r3, [r4, #0] + 6b82: 2bff cmp r3, #255 ; 0xff + 6b84: d02c beq.n 6be0 <_lv_style_set_opa+0x78> + 6b86: f04f 37ff mov.w r7, #4294967295 + 6b8a: 46b8 mov r8, r7 + 6b8c: 2100 movs r1, #0 else if((attr_i.bits.state & (~attr.bits.state)) == 0) { - 7136: f3cc 0c06 ubfx ip, ip, #0, #7 - 713a: e018 b.n 716e <_lv_style_set_opa+0x5e> + 6b8e: f3cc 0c06 ubfx ip, ip, #0, #7 + 6b92: e018 b.n 6bc6 <_lv_style_set_opa+0x5e> attr_i.full = style->map[i + 1]; - 713c: 1866 adds r6, r4, r1 - 713e: 7876 ldrb r6, [r6, #1] + 6b94: 1866 adds r6, r4, r1 + 6b96: 7876 ldrb r6, [r6, #1] if(attr_i.bits.state == attr.bits.state) { - 7140: ea85 0906 eor.w r9, r5, r6 - 7144: f019 0f7f tst.w r9, #127 ; 0x7f - 7148: d021 beq.n 718e <_lv_style_set_opa+0x7e> + 6b98: ea85 0906 eor.w r9, r5, r6 + 6b9c: f019 0f7f tst.w r9, #127 ; 0x7f + 6ba0: d021 beq.n 6be6 <_lv_style_set_opa+0x7e> else if((attr_i.bits.state & (~attr.bits.state)) == 0) { - 714a: f006 067f and.w r6, r6, #127 ; 0x7f - 714e: ea36 090c bics.w r9, r6, ip - 7152: d10e bne.n 7172 <_lv_style_set_opa+0x62> + 6ba2: f006 067f and.w r6, r6, #127 ; 0x7f + 6ba6: ea36 090c bics.w r9, r6, ip + 6baa: d10e bne.n 6bca <_lv_style_set_opa+0x62> if(attr_i.bits.state > weight) { - 7154: 4546 cmp r6, r8 + 6bac: 4546 cmp r6, r8 weight = attr_i.bits.state; - 7156: bfc4 itt gt - 7158: fa0f f886 sxthgt.w r8, r6 + 6bae: bfc4 itt gt + 6bb0: fa0f f886 sxthgt.w r8, r6 id_guess = i; - 715c: b20f sxthgt r7, r1 - 715e: e008 b.n 7172 <_lv_style_set_opa+0x62> + 6bb4: b20f sxthgt r7, r1 + 6bb6: e008 b.n 6bca <_lv_style_set_opa+0x62> else if((style->map[i] & 0xF) < LV_STYLE_ID_OPA) i += sizeof(lv_color_t); - 7160: 2b0b cmp r3, #11 - 7162: dc0c bgt.n 717e <_lv_style_set_opa+0x6e> - 7164: 3102 adds r1, #2 + 6bb8: 2b0b cmp r3, #11 + 6bba: dc0c bgt.n 6bd6 <_lv_style_set_opa+0x6e> + 6bbc: 3102 adds r1, #2 i += sizeof(lv_style_property_t); - 7166: 3102 adds r1, #2 + 6bbe: 3102 adds r1, #2 while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 7168: 5c63 ldrb r3, [r4, r1] - 716a: 2bff cmp r3, #255 ; 0xff - 716c: d00e beq.n 718c <_lv_style_set_opa+0x7c> + 6bc0: 5c63 ldrb r3, [r4, r1] + 6bc2: 2bff cmp r3, #255 ; 0xff + 6bc4: d00e beq.n 6be4 <_lv_style_set_opa+0x7c> if(style->map[i] == id_to_find) { - 716e: 459e cmp lr, r3 - 7170: d0e4 beq.n 713c <_lv_style_set_opa+0x2c> + 6bc6: 459e cmp lr, r3 + 6bc8: d0e4 beq.n 6b94 <_lv_style_set_opa+0x2c> if((style->map[i] & 0xF) < LV_STYLE_ID_COLOR) i += sizeof(lv_style_int_t); - 7172: f003 030f and.w r3, r3, #15 - 7176: 2b08 cmp r3, #8 - 7178: dcf2 bgt.n 7160 <_lv_style_set_opa+0x50> - 717a: 3102 adds r1, #2 - 717c: e7f3 b.n 7166 <_lv_style_set_opa+0x56> + 6bca: f003 030f and.w r3, r3, #15 + 6bce: 2b08 cmp r3, #8 + 6bd0: dcf2 bgt.n 6bb8 <_lv_style_set_opa+0x50> + 6bd2: 3102 adds r1, #2 + 6bd4: e7f3 b.n 6bbe <_lv_style_set_opa+0x56> else if((style->map[i] & 0xF) < LV_STYLE_ID_PTR) i += sizeof(lv_opa_t); - 717e: 2b0d cmp r3, #13 - 7180: bfd4 ite le - 7182: 3101 addle r1, #1 + 6bd6: 2b0d cmp r3, #13 + 6bd8: bfd4 ite le + 6bda: 3101 addle r1, #1 else i += sizeof(const void *); - 7184: 3104 addgt r1, #4 - 7186: e7ee b.n 7166 <_lv_style_set_opa+0x56> + 6bdc: 3104 addgt r1, #4 + 6bde: e7ee b.n 6bbe <_lv_style_set_opa+0x56> int16_t id_guess = -1; - 7188: f04f 37ff mov.w r7, #4294967295 + 6be0: f04f 37ff mov.w r7, #4294967295 return id_guess; - 718c: 4639 mov r1, r7 + 6be4: 4639 mov r1, r7 if(id >= 0) { - 718e: 2900 cmp r1, #0 - 7190: db0a blt.n 71a8 <_lv_style_set_opa+0x98> + 6be6: 2900 cmp r1, #0 + 6be8: db0a blt.n 6c00 <_lv_style_set_opa+0x98> attr_found.full = *(style->map + id + 1); - 7192: 1863 adds r3, r4, r1 + 6bea: 1863 adds r3, r4, r1 if(attr_found.bits.state == attr_goal.bits.state) { - 7194: 785b ldrb r3, [r3, #1] - 7196: 405d eors r5, r3 - 7198: f015 0f7f tst.w r5, #127 ; 0x7f - 719c: d104 bne.n 71a8 <_lv_style_set_opa+0x98> - 719e: 4421 add r1, r4 - 71a0: 708a strb r2, [r1, #2] -} - 71a2: b007 add sp, #28 - 71a4: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} - 71a8: 4617 mov r7, r2 - 71aa: 4606 mov r6, r0 + 6bec: 785b ldrb r3, [r3, #1] + 6bee: 405d eors r5, r3 + 6bf0: f015 0f7f tst.w r5, #127 ; 0x7f + 6bf4: d104 bne.n 6c00 <_lv_style_set_opa+0x98> + 6bf6: 4421 add r1, r4 + 6bf8: 708a strb r2, [r1, #2] +} + 6bfa: b007 add sp, #28 + 6bfc: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} + 6c00: 4617 mov r7, r2 + 6c02: 4606 mov r6, r0 lv_style_property_t end_mark = _LV_STYLE_CLOSEING_PROP; - 71ac: 23ff movs r3, #255 ; 0xff - 71ae: f8ad 3016 strh.w r3, [sp, #22] + 6c04: 23ff movs r3, #255 ; 0xff + 6c06: f8ad 3016 strh.w r3, [sp, #22] uint16_t size = _lv_style_get_mem_size(style); - 71b2: 4b1b ldr r3, [pc, #108] ; (7220 <_lv_style_set_opa+0x110>) - 71b4: 4798 blx r3 + 6c0a: 4b1b ldr r3, [pc, #108] ; (6c78 <_lv_style_set_opa+0x110>) + 6c0c: 4798 blx r3 if(size == 0) size += end_mark_size; - 71b6: 2800 cmp r0, #0 - 71b8: bf08 it eq - 71ba: 2002 moveq r0, #2 + 6c0e: 2800 cmp r0, #0 + 6c10: bf08 it eq + 6c12: 2002 moveq r0, #2 size += sizeof(lv_style_property_t) + sizeof(lv_opa_t); - 71bc: 1cc5 adds r5, r0, #3 + 6c14: 1cc5 adds r5, r0, #3 style->map = lv_mem_realloc(style->map, size); - 71be: b2ad uxth r5, r5 - 71c0: 4629 mov r1, r5 - 71c2: 4620 mov r0, r4 - 71c4: 4b17 ldr r3, [pc, #92] ; (7224 <_lv_style_set_opa+0x114>) - 71c6: 4798 blx r3 - 71c8: 6030 str r0, [r6, #0] + 6c16: b2ad uxth r5, r5 + 6c18: 4629 mov r1, r5 + 6c1a: 4620 mov r0, r4 + 6c1c: 4b17 ldr r3, [pc, #92] ; (6c7c <_lv_style_set_opa+0x114>) + 6c1e: 4798 blx r3 + 6c20: 6030 str r0, [r6, #0] LV_ASSERT_MEM(style->map); - 71ca: 4b17 ldr r3, [pc, #92] ; (7228 <_lv_style_set_opa+0x118>) - 71cc: 4798 blx r3 - 71ce: b1c0 cbz r0, 7202 <_lv_style_set_opa+0xf2> + 6c22: 4b17 ldr r3, [pc, #92] ; (6c80 <_lv_style_set_opa+0x118>) + 6c24: 4798 blx r3 + 6c26: b1c0 cbz r0, 6c5a <_lv_style_set_opa+0xf2> if(style == NULL) return; - 71d0: 2e00 cmp r6, #0 - 71d2: d0e6 beq.n 71a2 <_lv_style_set_opa+0x92> + 6c28: 2e00 cmp r6, #0 + 6c2a: d0e6 beq.n 6bfa <_lv_style_set_opa+0x92> _lv_memcpy_small(style->map + size - new_prop_size - end_mark_size, &prop, sizeof(lv_style_property_t)); - 71d4: 1f6b subs r3, r5, #5 - 71d6: 6832 ldr r2, [r6, #0] - 71d8: 18d1 adds r1, r2, r3 - 71da: f89d 000e ldrb.w r0, [sp, #14] - 71de: 54d0 strb r0, [r2, r3] - 71e0: f89d 300f ldrb.w r3, [sp, #15] - 71e4: 704b strb r3, [r1, #1] - 71e6: 6833 ldr r3, [r6, #0] - 71e8: 442b add r3, r5 - 71ea: f803 7c03 strb.w r7, [r3, #-3] + 6c2c: 1f6b subs r3, r5, #5 + 6c2e: 6832 ldr r2, [r6, #0] + 6c30: 18d1 adds r1, r2, r3 + 6c32: f89d 000e ldrb.w r0, [sp, #14] + 6c36: 54d0 strb r0, [r2, r3] + 6c38: f89d 300f ldrb.w r3, [sp, #15] + 6c3c: 704b strb r3, [r1, #1] + 6c3e: 6833 ldr r3, [r6, #0] + 6c40: 442b add r3, r5 + 6c42: f803 7c03 strb.w r7, [r3, #-3] _lv_memcpy_small(style->map + size - sizeof(lv_opa_t) - end_mark_size, &opa, sizeof(lv_opa_t)); - 71ee: 3d02 subs r5, #2 + 6c46: 3d02 subs r5, #2 _lv_memcpy_small(style->map + size - end_mark_size, &end_mark, sizeof(end_mark)); - 71f0: 6833 ldr r3, [r6, #0] - 71f2: 195a adds r2, r3, r5 - 71f4: f89d 1016 ldrb.w r1, [sp, #22] - 71f8: 5559 strb r1, [r3, r5] - 71fa: f89d 3017 ldrb.w r3, [sp, #23] - 71fe: 7053 strb r3, [r2, #1] - 7200: e7cf b.n 71a2 <_lv_style_set_opa+0x92> + 6c48: 6833 ldr r3, [r6, #0] + 6c4a: 195a adds r2, r3, r5 + 6c4c: f89d 1016 ldrb.w r1, [sp, #22] + 6c50: 5559 strb r1, [r3, r5] + 6c52: f89d 3017 ldrb.w r3, [sp, #23] + 6c56: 7053 strb r3, [r2, #1] + 6c58: e7cf b.n 6bfa <_lv_style_set_opa+0x92> LV_ASSERT_MEM(style->map); - 7202: 4b0a ldr r3, [pc, #40] ; (722c <_lv_style_set_opa+0x11c>) - 7204: 9300 str r3, [sp, #0] - 7206: f44f 72f2 mov.w r2, #484 ; 0x1e4 - 720a: 4909 ldr r1, [pc, #36] ; (7230 <_lv_style_set_opa+0x120>) - 720c: 2003 movs r0, #3 - 720e: 4c09 ldr r4, [pc, #36] ; (7234 <_lv_style_set_opa+0x124>) - 7210: 47a0 blx r4 - 7212: 6832 ldr r2, [r6, #0] - 7214: 2300 movs r3, #0 - 7216: 4808 ldr r0, [pc, #32] ; (7238 <_lv_style_set_opa+0x128>) - 7218: 4908 ldr r1, [pc, #32] ; (723c <_lv_style_set_opa+0x12c>) - 721a: 4788 blx r1 - 721c: e7fe b.n 721c <_lv_style_set_opa+0x10c> - 721e: bf00 nop - 7220: 00006d21 .word 0x00006d21 - 7224: 00012e41 .word 0x00012e41 - 7228: 0000298d .word 0x0000298d - 722c: 0001bfd8 .word 0x0001bfd8 - 7230: 0001c020 .word 0x0001c020 - 7234: 00012805 .word 0x00012805 - 7238: 0001b4bc .word 0x0001b4bc - 723c: 00002995 .word 0x00002995 - -00007240 <_lv_style_set_ptr>: -{ - 7240: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - 7244: b086 sub sp, #24 - 7246: 9202 str r2, [sp, #8] - 7248: f8ad 100e strh.w r1, [sp, #14] + 6c5a: 4b0a ldr r3, [pc, #40] ; (6c84 <_lv_style_set_opa+0x11c>) + 6c5c: 9300 str r3, [sp, #0] + 6c5e: f44f 72f2 mov.w r2, #484 ; 0x1e4 + 6c62: 4909 ldr r1, [pc, #36] ; (6c88 <_lv_style_set_opa+0x120>) + 6c64: 2003 movs r0, #3 + 6c66: 4c09 ldr r4, [pc, #36] ; (6c8c <_lv_style_set_opa+0x124>) + 6c68: 47a0 blx r4 + 6c6a: 6832 ldr r2, [r6, #0] + 6c6c: 2300 movs r3, #0 + 6c6e: 4808 ldr r0, [pc, #32] ; (6c90 <_lv_style_set_opa+0x128>) + 6c70: 4908 ldr r1, [pc, #32] ; (6c94 <_lv_style_set_opa+0x12c>) + 6c72: 4788 blx r1 + 6c74: e7fe b.n 6c74 <_lv_style_set_opa+0x10c> + 6c76: bf00 nop + 6c78: 00006779 .word 0x00006779 + 6c7c: 00012899 .word 0x00012899 + 6c80: 000022b1 .word 0x000022b1 + 6c84: 00024af4 .word 0x00024af4 + 6c88: 00024b3c .word 0x00024b3c + 6c8c: 0001225d .word 0x0001225d + 6c90: 00023fd8 .word 0x00023fd8 + 6c94: 000022b9 .word 0x000022b9 + +00006c98 <_lv_style_set_ptr>: +{ + 6c98: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} + 6c9c: b086 sub sp, #24 + 6c9e: 9202 str r2, [sp, #8] + 6ca0: f8ad 100e strh.w r1, [sp, #14] if(style->map == NULL) return -1; - 724c: 6804 ldr r4, [r0, #0] - 724e: 2c00 cmp r4, #0 - 7250: d04e beq.n 72f0 <_lv_style_set_ptr+0xb0> + 6ca4: 6804 ldr r4, [r0, #0] + 6ca6: 2c00 cmp r4, #0 + 6ca8: d04e beq.n 6d48 <_lv_style_set_ptr+0xb0> uint8_t id_to_find = prop & 0xFF; - 7252: b2cf uxtb r7, r1 + 6caa: b2cf uxtb r7, r1 attr.full = (prop >> 8) & 0xFF; - 7254: 0a0d lsrs r5, r1, #8 - 7256: 46ae mov lr, r5 + 6cac: 0a0d lsrs r5, r1, #8 + 6cae: 46ae mov lr, r5 while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 7258: 7823 ldrb r3, [r4, #0] - 725a: 2bff cmp r3, #255 ; 0xff - 725c: d02c beq.n 72b8 <_lv_style_set_ptr+0x78> - 725e: f04f 31ff mov.w r1, #4294967295 - 7262: 4688 mov r8, r1 - 7264: 2200 movs r2, #0 + 6cb0: 7823 ldrb r3, [r4, #0] + 6cb2: 2bff cmp r3, #255 ; 0xff + 6cb4: d02c beq.n 6d10 <_lv_style_set_ptr+0x78> + 6cb6: f04f 31ff mov.w r1, #4294967295 + 6cba: 4688 mov r8, r1 + 6cbc: 2200 movs r2, #0 else if((attr_i.bits.state & (~attr.bits.state)) == 0) { - 7266: f3ce 0e06 ubfx lr, lr, #0, #7 - 726a: e018 b.n 729e <_lv_style_set_ptr+0x5e> + 6cbe: f3ce 0e06 ubfx lr, lr, #0, #7 + 6cc2: e018 b.n 6cf6 <_lv_style_set_ptr+0x5e> attr_i.full = style->map[i + 1]; - 726c: 18a6 adds r6, r4, r2 - 726e: 7876 ldrb r6, [r6, #1] + 6cc4: 18a6 adds r6, r4, r2 + 6cc6: 7876 ldrb r6, [r6, #1] if(attr_i.bits.state == attr.bits.state) { - 7270: ea85 0c06 eor.w ip, r5, r6 - 7274: f01c 0f7f tst.w ip, #127 ; 0x7f - 7278: d021 beq.n 72be <_lv_style_set_ptr+0x7e> + 6cc8: ea85 0c06 eor.w ip, r5, r6 + 6ccc: f01c 0f7f tst.w ip, #127 ; 0x7f + 6cd0: d021 beq.n 6d16 <_lv_style_set_ptr+0x7e> else if((attr_i.bits.state & (~attr.bits.state)) == 0) { - 727a: f006 067f and.w r6, r6, #127 ; 0x7f - 727e: ea36 0c0e bics.w ip, r6, lr - 7282: d10e bne.n 72a2 <_lv_style_set_ptr+0x62> + 6cd2: f006 067f and.w r6, r6, #127 ; 0x7f + 6cd6: ea36 0c0e bics.w ip, r6, lr + 6cda: d10e bne.n 6cfa <_lv_style_set_ptr+0x62> if(attr_i.bits.state > weight) { - 7284: 4546 cmp r6, r8 + 6cdc: 4546 cmp r6, r8 weight = attr_i.bits.state; - 7286: bfc4 itt gt - 7288: fa0f f886 sxthgt.w r8, r6 + 6cde: bfc4 itt gt + 6ce0: fa0f f886 sxthgt.w r8, r6 id_guess = i; - 728c: b211 sxthgt r1, r2 - 728e: e008 b.n 72a2 <_lv_style_set_ptr+0x62> + 6ce4: b211 sxthgt r1, r2 + 6ce6: e008 b.n 6cfa <_lv_style_set_ptr+0x62> else if((style->map[i] & 0xF) < LV_STYLE_ID_OPA) i += sizeof(lv_color_t); - 7290: 2b0b cmp r3, #11 - 7292: dc0c bgt.n 72ae <_lv_style_set_ptr+0x6e> - 7294: 3202 adds r2, #2 + 6ce8: 2b0b cmp r3, #11 + 6cea: dc0c bgt.n 6d06 <_lv_style_set_ptr+0x6e> + 6cec: 3202 adds r2, #2 i += sizeof(lv_style_property_t); - 7296: 3202 adds r2, #2 + 6cee: 3202 adds r2, #2 while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 7298: 5ca3 ldrb r3, [r4, r2] - 729a: 2bff cmp r3, #255 ; 0xff - 729c: d00e beq.n 72bc <_lv_style_set_ptr+0x7c> + 6cf0: 5ca3 ldrb r3, [r4, r2] + 6cf2: 2bff cmp r3, #255 ; 0xff + 6cf4: d00e beq.n 6d14 <_lv_style_set_ptr+0x7c> if(style->map[i] == id_to_find) { - 729e: 429f cmp r7, r3 - 72a0: d0e4 beq.n 726c <_lv_style_set_ptr+0x2c> + 6cf6: 429f cmp r7, r3 + 6cf8: d0e4 beq.n 6cc4 <_lv_style_set_ptr+0x2c> if((style->map[i] & 0xF) < LV_STYLE_ID_COLOR) i += sizeof(lv_style_int_t); - 72a2: f003 030f and.w r3, r3, #15 - 72a6: 2b08 cmp r3, #8 - 72a8: dcf2 bgt.n 7290 <_lv_style_set_ptr+0x50> - 72aa: 3202 adds r2, #2 - 72ac: e7f3 b.n 7296 <_lv_style_set_ptr+0x56> + 6cfa: f003 030f and.w r3, r3, #15 + 6cfe: 2b08 cmp r3, #8 + 6d00: dcf2 bgt.n 6ce8 <_lv_style_set_ptr+0x50> + 6d02: 3202 adds r2, #2 + 6d04: e7f3 b.n 6cee <_lv_style_set_ptr+0x56> else if((style->map[i] & 0xF) < LV_STYLE_ID_PTR) i += sizeof(lv_opa_t); - 72ae: 2b0d cmp r3, #13 - 72b0: bfd4 ite le - 72b2: 3201 addle r2, #1 + 6d06: 2b0d cmp r3, #13 + 6d08: bfd4 ite le + 6d0a: 3201 addle r2, #1 else i += sizeof(const void *); - 72b4: 3204 addgt r2, #4 - 72b6: e7ee b.n 7296 <_lv_style_set_ptr+0x56> + 6d0c: 3204 addgt r2, #4 + 6d0e: e7ee b.n 6cee <_lv_style_set_ptr+0x56> int16_t id_guess = -1; - 72b8: f04f 31ff mov.w r1, #4294967295 + 6d10: f04f 31ff mov.w r1, #4294967295 return id_guess; - 72bc: 460a mov r2, r1 + 6d14: 460a mov r2, r1 if(id >= 0) { - 72be: 2a00 cmp r2, #0 - 72c0: db16 blt.n 72f0 <_lv_style_set_ptr+0xb0> + 6d16: 2a00 cmp r2, #0 + 6d18: db16 blt.n 6d48 <_lv_style_set_ptr+0xb0> attr_found.full = *(style->map + id + 1); - 72c2: 18a3 adds r3, r4, r2 + 6d1a: 18a3 adds r3, r4, r2 if(attr_found.bits.state == attr_goal.bits.state) { - 72c4: 785b ldrb r3, [r3, #1] - 72c6: 405d eors r5, r3 - 72c8: f015 0f7f tst.w r5, #127 ; 0x7f - 72cc: d110 bne.n 72f0 <_lv_style_set_ptr+0xb0> + 6d1c: 785b ldrb r3, [r3, #1] + 6d1e: 405d eors r5, r3 + 6d20: f015 0f7f tst.w r5, #127 ; 0x7f + 6d24: d110 bne.n 6d48 <_lv_style_set_ptr+0xb0> _lv_memcpy_small(style->map + id + sizeof(lv_style_property_t), &p, sizeof(const void *)); - 72ce: 3202 adds r2, #2 - 72d0: 18a3 adds r3, r4, r2 - 72d2: f89d 1008 ldrb.w r1, [sp, #8] - 72d6: 54a1 strb r1, [r4, r2] - 72d8: f89d 2009 ldrb.w r2, [sp, #9] - 72dc: 705a strb r2, [r3, #1] - 72de: f89d 200a ldrb.w r2, [sp, #10] - 72e2: 709a strb r2, [r3, #2] - 72e4: f89d 200b ldrb.w r2, [sp, #11] - 72e8: 70da strb r2, [r3, #3] -} - 72ea: b006 add sp, #24 - 72ec: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} - 72f0: 4606 mov r6, r0 + 6d26: 3202 adds r2, #2 + 6d28: 18a3 adds r3, r4, r2 + 6d2a: f89d 1008 ldrb.w r1, [sp, #8] + 6d2e: 54a1 strb r1, [r4, r2] + 6d30: f89d 2009 ldrb.w r2, [sp, #9] + 6d34: 705a strb r2, [r3, #1] + 6d36: f89d 200a ldrb.w r2, [sp, #10] + 6d3a: 709a strb r2, [r3, #2] + 6d3c: f89d 200b ldrb.w r2, [sp, #11] + 6d40: 70da strb r2, [r3, #3] +} + 6d42: b006 add sp, #24 + 6d44: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + 6d48: 4606 mov r6, r0 lv_style_property_t end_mark = _LV_STYLE_CLOSEING_PROP; - 72f2: 23ff movs r3, #255 ; 0xff - 72f4: f8ad 3016 strh.w r3, [sp, #22] + 6d4a: 23ff movs r3, #255 ; 0xff + 6d4c: f8ad 3016 strh.w r3, [sp, #22] uint16_t size = _lv_style_get_mem_size(style); - 72f8: 4b20 ldr r3, [pc, #128] ; (737c <_lv_style_set_ptr+0x13c>) - 72fa: 4798 blx r3 + 6d50: 4b20 ldr r3, [pc, #128] ; (6dd4 <_lv_style_set_ptr+0x13c>) + 6d52: 4798 blx r3 if(size == 0) size += end_mark_size; - 72fc: 2800 cmp r0, #0 - 72fe: bf08 it eq - 7300: 2002 moveq r0, #2 + 6d54: 2800 cmp r0, #0 + 6d56: bf08 it eq + 6d58: 2002 moveq r0, #2 size += sizeof(lv_style_property_t) + sizeof(const void *); - 7302: 1d85 adds r5, r0, #6 + 6d5a: 1d85 adds r5, r0, #6 style->map = lv_mem_realloc(style->map, size); - 7304: b2ad uxth r5, r5 - 7306: 4629 mov r1, r5 - 7308: 4620 mov r0, r4 - 730a: 4b1d ldr r3, [pc, #116] ; (7380 <_lv_style_set_ptr+0x140>) - 730c: 4798 blx r3 - 730e: 6030 str r0, [r6, #0] + 6d5c: b2ad uxth r5, r5 + 6d5e: 4629 mov r1, r5 + 6d60: 4620 mov r0, r4 + 6d62: 4b1d ldr r3, [pc, #116] ; (6dd8 <_lv_style_set_ptr+0x140>) + 6d64: 4798 blx r3 + 6d66: 6030 str r0, [r6, #0] LV_ASSERT_MEM(style->map); - 7310: 4b1c ldr r3, [pc, #112] ; (7384 <_lv_style_set_ptr+0x144>) - 7312: 4798 blx r3 - 7314: b320 cbz r0, 7360 <_lv_style_set_ptr+0x120> + 6d68: 4b1c ldr r3, [pc, #112] ; (6ddc <_lv_style_set_ptr+0x144>) + 6d6a: 4798 blx r3 + 6d6c: b320 cbz r0, 6db8 <_lv_style_set_ptr+0x120> if(style == NULL) return; - 7316: 2e00 cmp r6, #0 - 7318: d0e7 beq.n 72ea <_lv_style_set_ptr+0xaa> + 6d6e: 2e00 cmp r6, #0 + 6d70: d0e7 beq.n 6d42 <_lv_style_set_ptr+0xaa> _lv_memcpy_small(style->map + size - new_prop_size - end_mark_size, &prop, sizeof(lv_style_property_t)); - 731a: f1a5 0308 sub.w r3, r5, #8 - 731e: 6832 ldr r2, [r6, #0] - 7320: 18d1 adds r1, r2, r3 - 7322: f89d 000e ldrb.w r0, [sp, #14] - 7326: 54d0 strb r0, [r2, r3] - 7328: f89d 300f ldrb.w r3, [sp, #15] - 732c: 704b strb r3, [r1, #1] - 732e: 1faa subs r2, r5, #6 + 6d72: f1a5 0308 sub.w r3, r5, #8 + 6d76: 6832 ldr r2, [r6, #0] + 6d78: 18d1 adds r1, r2, r3 + 6d7a: f89d 000e ldrb.w r0, [sp, #14] + 6d7e: 54d0 strb r0, [r2, r3] + 6d80: f89d 300f ldrb.w r3, [sp, #15] + 6d84: 704b strb r3, [r1, #1] + 6d86: 1faa subs r2, r5, #6 _lv_memcpy_small(style->map + size - sizeof(const void *) - end_mark_size, &p, sizeof(const void *)); - 7330: 6831 ldr r1, [r6, #0] - 7332: 188b adds r3, r1, r2 - 7334: f89d 0008 ldrb.w r0, [sp, #8] - 7338: 5488 strb r0, [r1, r2] - 733a: f89d 2009 ldrb.w r2, [sp, #9] - 733e: 705a strb r2, [r3, #1] - 7340: f89d 200a ldrb.w r2, [sp, #10] - 7344: 709a strb r2, [r3, #2] - 7346: f89d 200b ldrb.w r2, [sp, #11] - 734a: 70da strb r2, [r3, #3] - 734c: 3d02 subs r5, #2 + 6d88: 6831 ldr r1, [r6, #0] + 6d8a: 188b adds r3, r1, r2 + 6d8c: f89d 0008 ldrb.w r0, [sp, #8] + 6d90: 5488 strb r0, [r1, r2] + 6d92: f89d 2009 ldrb.w r2, [sp, #9] + 6d96: 705a strb r2, [r3, #1] + 6d98: f89d 200a ldrb.w r2, [sp, #10] + 6d9c: 709a strb r2, [r3, #2] + 6d9e: f89d 200b ldrb.w r2, [sp, #11] + 6da2: 70da strb r2, [r3, #3] + 6da4: 3d02 subs r5, #2 _lv_memcpy_small(style->map + size - end_mark_size, &end_mark, sizeof(end_mark)); - 734e: 6833 ldr r3, [r6, #0] - 7350: 195a adds r2, r3, r5 - 7352: f89d 1016 ldrb.w r1, [sp, #22] - 7356: 5559 strb r1, [r3, r5] - 7358: f89d 3017 ldrb.w r3, [sp, #23] - 735c: 7053 strb r3, [r2, #1] - 735e: e7c4 b.n 72ea <_lv_style_set_ptr+0xaa> + 6da6: 6833 ldr r3, [r6, #0] + 6da8: 195a adds r2, r3, r5 + 6daa: f89d 1016 ldrb.w r1, [sp, #22] + 6dae: 5559 strb r1, [r3, r5] + 6db0: f89d 3017 ldrb.w r3, [sp, #23] + 6db4: 7053 strb r3, [r2, #1] + 6db6: e7c4 b.n 6d42 <_lv_style_set_ptr+0xaa> LV_ASSERT_MEM(style->map); - 7360: 4b09 ldr r3, [pc, #36] ; (7388 <_lv_style_set_ptr+0x148>) - 7362: 9300 str r3, [sp, #0] - 7364: f240 2213 movw r2, #531 ; 0x213 - 7368: 4908 ldr r1, [pc, #32] ; (738c <_lv_style_set_ptr+0x14c>) - 736a: 2003 movs r0, #3 - 736c: 4c08 ldr r4, [pc, #32] ; (7390 <_lv_style_set_ptr+0x150>) - 736e: 47a0 blx r4 - 7370: 6832 ldr r2, [r6, #0] - 7372: 2300 movs r3, #0 - 7374: 4807 ldr r0, [pc, #28] ; (7394 <_lv_style_set_ptr+0x154>) - 7376: 4908 ldr r1, [pc, #32] ; (7398 <_lv_style_set_ptr+0x158>) - 7378: 4788 blx r1 - 737a: e7fe b.n 737a <_lv_style_set_ptr+0x13a> - 737c: 00006d21 .word 0x00006d21 - 7380: 00012e41 .word 0x00012e41 - 7384: 0000298d .word 0x0000298d - 7388: 0001bfec .word 0x0001bfec - 738c: 0001c020 .word 0x0001c020 - 7390: 00012805 .word 0x00012805 - 7394: 0001b4bc .word 0x0001b4bc - 7398: 00002995 .word 0x00002995 - -0000739c <_lv_style_get_int>: + 6db8: 4b09 ldr r3, [pc, #36] ; (6de0 <_lv_style_set_ptr+0x148>) + 6dba: 9300 str r3, [sp, #0] + 6dbc: f240 2213 movw r2, #531 ; 0x213 + 6dc0: 4908 ldr r1, [pc, #32] ; (6de4 <_lv_style_set_ptr+0x14c>) + 6dc2: 2003 movs r0, #3 + 6dc4: 4c08 ldr r4, [pc, #32] ; (6de8 <_lv_style_set_ptr+0x150>) + 6dc6: 47a0 blx r4 + 6dc8: 6832 ldr r2, [r6, #0] + 6dca: 2300 movs r3, #0 + 6dcc: 4807 ldr r0, [pc, #28] ; (6dec <_lv_style_set_ptr+0x154>) + 6dce: 4908 ldr r1, [pc, #32] ; (6df0 <_lv_style_set_ptr+0x158>) + 6dd0: 4788 blx r1 + 6dd2: e7fe b.n 6dd2 <_lv_style_set_ptr+0x13a> + 6dd4: 00006779 .word 0x00006779 + 6dd8: 00012899 .word 0x00012899 + 6ddc: 000022b1 .word 0x000022b1 + 6de0: 00024b08 .word 0x00024b08 + 6de4: 00024b3c .word 0x00024b3c + 6de8: 0001225d .word 0x0001225d + 6dec: 00023fd8 .word 0x00023fd8 + 6df0: 000022b9 .word 0x000022b9 + +00006df4 <_lv_style_get_int>: if(style == NULL) return -1; - 739c: 2800 cmp r0, #0 - 739e: d04d beq.n 743c <_lv_style_get_int+0xa0> + 6df4: 2800 cmp r0, #0 + 6df6: d04d beq.n 6e94 <_lv_style_get_int+0xa0> { - 73a0: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} - 73a4: 4684 mov ip, r0 + 6df8: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} + 6dfc: 4684 mov ip, r0 if(style->map == NULL) return -1; - 73a6: 6804 ldr r4, [r0, #0] - 73a8: 2c00 cmp r4, #0 - 73aa: d04a beq.n 7442 <_lv_style_get_int+0xa6> + 6dfe: 6804 ldr r4, [r0, #0] + 6e00: 2c00 cmp r4, #0 + 6e02: d04a beq.n 6e9a <_lv_style_get_int+0xa6> uint8_t id_to_find = prop & 0xFF; - 73ac: b2ce uxtb r6, r1 + 6e04: b2ce uxtb r6, r1 attr.full = (prop >> 8) & 0xFF; - 73ae: 0a09 lsrs r1, r1, #8 - 73b0: 468e mov lr, r1 + 6e06: 0a09 lsrs r1, r1, #8 + 6e08: 468e mov lr, r1 while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 73b2: 7823 ldrb r3, [r4, #0] - 73b4: 2bff cmp r3, #255 ; 0xff - 73b6: d03e beq.n 7436 <_lv_style_get_int+0x9a> - 73b8: f04f 37ff mov.w r7, #4294967295 - 73bc: 46b8 mov r8, r7 - 73be: 2000 movs r0, #0 + 6e0a: 7823 ldrb r3, [r4, #0] + 6e0c: 2bff cmp r3, #255 ; 0xff + 6e0e: d03e beq.n 6e8e <_lv_style_get_int+0x9a> + 6e10: f04f 37ff mov.w r7, #4294967295 + 6e14: 46b8 mov r8, r7 + 6e16: 2000 movs r0, #0 else if((attr_i.bits.state & (~attr.bits.state)) == 0) { - 73c0: f3ce 0e06 ubfx lr, lr, #0, #7 - 73c4: e02a b.n 741c <_lv_style_get_int+0x80> + 6e18: f3ce 0e06 ubfx lr, lr, #0, #7 + 6e1c: e02a b.n 6e74 <_lv_style_get_int+0x80> attr_i.full = style->map[i + 1]; - 73c6: 1825 adds r5, r4, r0 - 73c8: 786d ldrb r5, [r5, #1] + 6e1e: 1825 adds r5, r4, r0 + 6e20: 786d ldrb r5, [r5, #1] if(attr_i.bits.state == attr.bits.state) { - 73ca: ea81 0905 eor.w r9, r1, r5 - 73ce: f019 0f7f tst.w r9, #127 ; 0x7f - 73d2: d00a beq.n 73ea <_lv_style_get_int+0x4e> + 6e22: ea81 0905 eor.w r9, r1, r5 + 6e26: f019 0f7f tst.w r9, #127 ; 0x7f + 6e2a: d00a beq.n 6e42 <_lv_style_get_int+0x4e> else if((attr_i.bits.state & (~attr.bits.state)) == 0) { - 73d4: f005 057f and.w r5, r5, #127 ; 0x7f - 73d8: ea35 090e bics.w r9, r5, lr - 73dc: d120 bne.n 7420 <_lv_style_get_int+0x84> + 6e2c: f005 057f and.w r5, r5, #127 ; 0x7f + 6e30: ea35 090e bics.w r9, r5, lr + 6e34: d120 bne.n 6e78 <_lv_style_get_int+0x84> if(attr_i.bits.state > weight) { - 73de: 4545 cmp r5, r8 + 6e36: 4545 cmp r5, r8 weight = attr_i.bits.state; - 73e0: bfc4 itt gt - 73e2: fa0f f885 sxthgt.w r8, r5 + 6e38: bfc4 itt gt + 6e3a: fa0f f885 sxthgt.w r8, r5 id_guess = i; - 73e6: b207 sxthgt r7, r0 - 73e8: e01a b.n 7420 <_lv_style_get_int+0x84> + 6e3e: b207 sxthgt r7, r0 + 6e40: e01a b.n 6e78 <_lv_style_get_int+0x84> return i; - 73ea: 4607 mov r7, r0 + 6e42: 4607 mov r7, r0 if(id < 0) { - 73ec: 2f00 cmp r7, #0 - 73ee: db2c blt.n 744a <_lv_style_get_int+0xae> + 6e44: 2f00 cmp r7, #0 + 6e46: db2c blt.n 6ea2 <_lv_style_get_int+0xae> _lv_memcpy_small(res, &style->map[id + sizeof(lv_style_property_t)], sizeof(lv_style_int_t)); - 73f0: 1cbb adds r3, r7, #2 - 73f2: 18e0 adds r0, r4, r3 - 73f4: 5ce3 ldrb r3, [r4, r3] - 73f6: 7013 strb r3, [r2, #0] - 73f8: 7843 ldrb r3, [r0, #1] - 73fa: 7053 strb r3, [r2, #1] + 6e48: 1cbb adds r3, r7, #2 + 6e4a: 18e0 adds r0, r4, r3 + 6e4c: 5ce3 ldrb r3, [r4, r3] + 6e4e: 7013 strb r3, [r2, #0] + 6e50: 7843 ldrb r3, [r0, #1] + 6e52: 7053 strb r3, [r2, #1] attr_act.full = style->map[id + 1]; - 73fc: f8dc 0000 ldr.w r0, [ip] - 7400: 4407 add r7, r0 - 7402: 7878 ldrb r0, [r7, #1] + 6e54: f8dc 0000 ldr.w r0, [ip] + 6e58: 4407 add r7, r0 + 6e5a: 7878 ldrb r0, [r7, #1] return attr_act.bits.state & attr_goal.bits.state; - 7404: f3c1 0106 ubfx r1, r1, #0, #7 - 7408: 4008 ands r0, r1 - 740a: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} + 6e5c: f3c1 0106 ubfx r1, r1, #0, #7 + 6e60: 4008 ands r0, r1 + 6e62: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} else if((style->map[i] & 0xF) < LV_STYLE_ID_OPA) i += sizeof(lv_color_t); - 740e: 2b0b cmp r3, #11 - 7410: dc0c bgt.n 742c <_lv_style_get_int+0x90> - 7412: 3002 adds r0, #2 + 6e66: 2b0b cmp r3, #11 + 6e68: dc0c bgt.n 6e84 <_lv_style_get_int+0x90> + 6e6a: 3002 adds r0, #2 i += sizeof(lv_style_property_t); - 7414: 3002 adds r0, #2 + 6e6c: 3002 adds r0, #2 while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 7416: 5c23 ldrb r3, [r4, r0] - 7418: 2bff cmp r3, #255 ; 0xff - 741a: d0e7 beq.n 73ec <_lv_style_get_int+0x50> + 6e6e: 5c23 ldrb r3, [r4, r0] + 6e70: 2bff cmp r3, #255 ; 0xff + 6e72: d0e7 beq.n 6e44 <_lv_style_get_int+0x50> if(style->map[i] == id_to_find) { - 741c: 429e cmp r6, r3 - 741e: d0d2 beq.n 73c6 <_lv_style_get_int+0x2a> + 6e74: 429e cmp r6, r3 + 6e76: d0d2 beq.n 6e1e <_lv_style_get_int+0x2a> if((style->map[i] & 0xF) < LV_STYLE_ID_COLOR) i += sizeof(lv_style_int_t); - 7420: f003 030f and.w r3, r3, #15 - 7424: 2b08 cmp r3, #8 - 7426: dcf2 bgt.n 740e <_lv_style_get_int+0x72> - 7428: 3002 adds r0, #2 - 742a: e7f3 b.n 7414 <_lv_style_get_int+0x78> + 6e78: f003 030f and.w r3, r3, #15 + 6e7c: 2b08 cmp r3, #8 + 6e7e: dcf2 bgt.n 6e66 <_lv_style_get_int+0x72> + 6e80: 3002 adds r0, #2 + 6e82: e7f3 b.n 6e6c <_lv_style_get_int+0x78> else if((style->map[i] & 0xF) < LV_STYLE_ID_PTR) i += sizeof(lv_opa_t); - 742c: 2b0d cmp r3, #13 - 742e: bfd4 ite le - 7430: 3001 addle r0, #1 + 6e84: 2b0d cmp r3, #13 + 6e86: bfd4 ite le + 6e88: 3001 addle r0, #1 else i += sizeof(const void *); - 7432: 3004 addgt r0, #4 - 7434: e7ee b.n 7414 <_lv_style_get_int+0x78> + 6e8a: 3004 addgt r0, #4 + 6e8c: e7ee b.n 6e6c <_lv_style_get_int+0x78> int16_t id_guess = -1; - 7436: f04f 37ff mov.w r7, #4294967295 - 743a: e7d7 b.n 73ec <_lv_style_get_int+0x50> + 6e8e: f04f 37ff mov.w r7, #4294967295 + 6e92: e7d7 b.n 6e44 <_lv_style_get_int+0x50> if(style == NULL) return -1; - 743c: f04f 30ff mov.w r0, #4294967295 - 7440: 4770 bx lr + 6e94: f04f 30ff mov.w r0, #4294967295 + 6e98: 4770 bx lr if(style->map == NULL) return -1; - 7442: f04f 30ff mov.w r0, #4294967295 - 7446: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} + 6e9a: f04f 30ff mov.w r0, #4294967295 + 6e9e: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} return -1; - 744a: f04f 30ff mov.w r0, #4294967295 + 6ea2: f04f 30ff mov.w r0, #4294967295 } - 744e: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} + 6ea6: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} -00007452 <_lv_style_get_opa>: +00006eaa <_lv_style_get_opa>: if(style == NULL) return -1; - 7452: 2800 cmp r0, #0 - 7454: d04a beq.n 74ec <_lv_style_get_opa+0x9a> + 6eaa: 2800 cmp r0, #0 + 6eac: d04a beq.n 6f44 <_lv_style_get_opa+0x9a> { - 7456: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} - 745a: 4686 mov lr, r0 + 6eae: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} + 6eb2: 4686 mov lr, r0 if(style->map == NULL) return -1; - 745c: 6804 ldr r4, [r0, #0] - 745e: 2c00 cmp r4, #0 - 7460: d047 beq.n 74f2 <_lv_style_get_opa+0xa0> + 6eb4: 6804 ldr r4, [r0, #0] + 6eb6: 2c00 cmp r4, #0 + 6eb8: d047 beq.n 6f4a <_lv_style_get_opa+0xa0> uint8_t id_to_find = prop & 0xFF; - 7462: b2ce uxtb r6, r1 + 6eba: b2ce uxtb r6, r1 attr.full = (prop >> 8) & 0xFF; - 7464: 0a09 lsrs r1, r1, #8 - 7466: 468c mov ip, r1 + 6ebc: 0a09 lsrs r1, r1, #8 + 6ebe: 468c mov ip, r1 while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 7468: 7823 ldrb r3, [r4, #0] - 746a: 2bff cmp r3, #255 ; 0xff - 746c: d03b beq.n 74e6 <_lv_style_get_opa+0x94> - 746e: f04f 37ff mov.w r7, #4294967295 - 7472: 46b8 mov r8, r7 - 7474: 2000 movs r0, #0 + 6ec0: 7823 ldrb r3, [r4, #0] + 6ec2: 2bff cmp r3, #255 ; 0xff + 6ec4: d03b beq.n 6f3e <_lv_style_get_opa+0x94> + 6ec6: f04f 37ff mov.w r7, #4294967295 + 6eca: 46b8 mov r8, r7 + 6ecc: 2000 movs r0, #0 else if((attr_i.bits.state & (~attr.bits.state)) == 0) { - 7476: f3cc 0c06 ubfx ip, ip, #0, #7 - 747a: e027 b.n 74cc <_lv_style_get_opa+0x7a> + 6ece: f3cc 0c06 ubfx ip, ip, #0, #7 + 6ed2: e027 b.n 6f24 <_lv_style_get_opa+0x7a> attr_i.full = style->map[i + 1]; - 747c: 1825 adds r5, r4, r0 - 747e: 786d ldrb r5, [r5, #1] + 6ed4: 1825 adds r5, r4, r0 + 6ed6: 786d ldrb r5, [r5, #1] if(attr_i.bits.state == attr.bits.state) { - 7480: ea81 0905 eor.w r9, r1, r5 - 7484: f019 0f7f tst.w r9, #127 ; 0x7f - 7488: d00a beq.n 74a0 <_lv_style_get_opa+0x4e> + 6ed8: ea81 0905 eor.w r9, r1, r5 + 6edc: f019 0f7f tst.w r9, #127 ; 0x7f + 6ee0: d00a beq.n 6ef8 <_lv_style_get_opa+0x4e> else if((attr_i.bits.state & (~attr.bits.state)) == 0) { - 748a: f005 057f and.w r5, r5, #127 ; 0x7f - 748e: ea35 090c bics.w r9, r5, ip - 7492: d11d bne.n 74d0 <_lv_style_get_opa+0x7e> + 6ee2: f005 057f and.w r5, r5, #127 ; 0x7f + 6ee6: ea35 090c bics.w r9, r5, ip + 6eea: d11d bne.n 6f28 <_lv_style_get_opa+0x7e> if(attr_i.bits.state > weight) { - 7494: 4545 cmp r5, r8 + 6eec: 4545 cmp r5, r8 weight = attr_i.bits.state; - 7496: bfc4 itt gt - 7498: fa0f f885 sxthgt.w r8, r5 + 6eee: bfc4 itt gt + 6ef0: fa0f f885 sxthgt.w r8, r5 id_guess = i; - 749c: b207 sxthgt r7, r0 - 749e: e017 b.n 74d0 <_lv_style_get_opa+0x7e> + 6ef4: b207 sxthgt r7, r0 + 6ef6: e017 b.n 6f28 <_lv_style_get_opa+0x7e> return i; - 74a0: 4607 mov r7, r0 + 6ef8: 4607 mov r7, r0 if(id < 0) { - 74a2: 2f00 cmp r7, #0 - 74a4: db29 blt.n 74fa <_lv_style_get_opa+0xa8> - 74a6: 443c add r4, r7 - 74a8: 78a3 ldrb r3, [r4, #2] - 74aa: 7013 strb r3, [r2, #0] + 6efa: 2f00 cmp r7, #0 + 6efc: db29 blt.n 6f52 <_lv_style_get_opa+0xa8> + 6efe: 443c add r4, r7 + 6f00: 78a3 ldrb r3, [r4, #2] + 6f02: 7013 strb r3, [r2, #0] attr_act.full = style->map[id + 1]; - 74ac: f8de 0000 ldr.w r0, [lr] - 74b0: 4407 add r7, r0 - 74b2: 7878 ldrb r0, [r7, #1] + 6f04: f8de 0000 ldr.w r0, [lr] + 6f08: 4407 add r7, r0 + 6f0a: 7878 ldrb r0, [r7, #1] return attr_act.bits.state & attr_goal.bits.state; - 74b4: f3c1 0106 ubfx r1, r1, #0, #7 - 74b8: 4008 ands r0, r1 - 74ba: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} + 6f0c: f3c1 0106 ubfx r1, r1, #0, #7 + 6f10: 4008 ands r0, r1 + 6f12: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} else if((style->map[i] & 0xF) < LV_STYLE_ID_OPA) i += sizeof(lv_color_t); - 74be: 2b0b cmp r3, #11 - 74c0: dc0c bgt.n 74dc <_lv_style_get_opa+0x8a> - 74c2: 3002 adds r0, #2 + 6f16: 2b0b cmp r3, #11 + 6f18: dc0c bgt.n 6f34 <_lv_style_get_opa+0x8a> + 6f1a: 3002 adds r0, #2 i += sizeof(lv_style_property_t); - 74c4: 3002 adds r0, #2 + 6f1c: 3002 adds r0, #2 while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 74c6: 5c23 ldrb r3, [r4, r0] - 74c8: 2bff cmp r3, #255 ; 0xff - 74ca: d0ea beq.n 74a2 <_lv_style_get_opa+0x50> + 6f1e: 5c23 ldrb r3, [r4, r0] + 6f20: 2bff cmp r3, #255 ; 0xff + 6f22: d0ea beq.n 6efa <_lv_style_get_opa+0x50> if(style->map[i] == id_to_find) { - 74cc: 429e cmp r6, r3 - 74ce: d0d5 beq.n 747c <_lv_style_get_opa+0x2a> + 6f24: 429e cmp r6, r3 + 6f26: d0d5 beq.n 6ed4 <_lv_style_get_opa+0x2a> if((style->map[i] & 0xF) < LV_STYLE_ID_COLOR) i += sizeof(lv_style_int_t); - 74d0: f003 030f and.w r3, r3, #15 - 74d4: 2b08 cmp r3, #8 - 74d6: dcf2 bgt.n 74be <_lv_style_get_opa+0x6c> - 74d8: 3002 adds r0, #2 - 74da: e7f3 b.n 74c4 <_lv_style_get_opa+0x72> + 6f28: f003 030f and.w r3, r3, #15 + 6f2c: 2b08 cmp r3, #8 + 6f2e: dcf2 bgt.n 6f16 <_lv_style_get_opa+0x6c> + 6f30: 3002 adds r0, #2 + 6f32: e7f3 b.n 6f1c <_lv_style_get_opa+0x72> else if((style->map[i] & 0xF) < LV_STYLE_ID_PTR) i += sizeof(lv_opa_t); - 74dc: 2b0d cmp r3, #13 - 74de: bfd4 ite le - 74e0: 3001 addle r0, #1 + 6f34: 2b0d cmp r3, #13 + 6f36: bfd4 ite le + 6f38: 3001 addle r0, #1 else i += sizeof(const void *); - 74e2: 3004 addgt r0, #4 - 74e4: e7ee b.n 74c4 <_lv_style_get_opa+0x72> + 6f3a: 3004 addgt r0, #4 + 6f3c: e7ee b.n 6f1c <_lv_style_get_opa+0x72> int16_t id_guess = -1; - 74e6: f04f 37ff mov.w r7, #4294967295 - 74ea: e7da b.n 74a2 <_lv_style_get_opa+0x50> + 6f3e: f04f 37ff mov.w r7, #4294967295 + 6f42: e7da b.n 6efa <_lv_style_get_opa+0x50> if(style == NULL) return -1; - 74ec: f04f 30ff mov.w r0, #4294967295 - 74f0: 4770 bx lr + 6f44: f04f 30ff mov.w r0, #4294967295 + 6f48: 4770 bx lr if(style->map == NULL) return -1; - 74f2: f04f 30ff mov.w r0, #4294967295 - 74f6: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} + 6f4a: f04f 30ff mov.w r0, #4294967295 + 6f4e: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} return -1; - 74fa: f04f 30ff mov.w r0, #4294967295 + 6f52: f04f 30ff mov.w r0, #4294967295 } - 74fe: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} + 6f56: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} -00007502 <_lv_style_get_color>: +00006f5a <_lv_style_get_color>: if(style == NULL) return -1; - 7502: 2800 cmp r0, #0 - 7504: d04d beq.n 75a2 <_lv_style_get_color+0xa0> + 6f5a: 2800 cmp r0, #0 + 6f5c: d04d beq.n 6ffa <_lv_style_get_color+0xa0> { - 7506: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} - 750a: 4684 mov ip, r0 + 6f5e: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} + 6f62: 4684 mov ip, r0 if(style->map == NULL) return -1; - 750c: 6804 ldr r4, [r0, #0] - 750e: 2c00 cmp r4, #0 - 7510: d04a beq.n 75a8 <_lv_style_get_color+0xa6> + 6f64: 6804 ldr r4, [r0, #0] + 6f66: 2c00 cmp r4, #0 + 6f68: d04a beq.n 7000 <_lv_style_get_color+0xa6> uint8_t id_to_find = prop & 0xFF; - 7512: b2ce uxtb r6, r1 + 6f6a: b2ce uxtb r6, r1 attr.full = (prop >> 8) & 0xFF; - 7514: 0a09 lsrs r1, r1, #8 - 7516: 468e mov lr, r1 + 6f6c: 0a09 lsrs r1, r1, #8 + 6f6e: 468e mov lr, r1 while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 7518: 7823 ldrb r3, [r4, #0] - 751a: 2bff cmp r3, #255 ; 0xff - 751c: d03e beq.n 759c <_lv_style_get_color+0x9a> - 751e: f04f 37ff mov.w r7, #4294967295 - 7522: 46b8 mov r8, r7 - 7524: 2000 movs r0, #0 + 6f70: 7823 ldrb r3, [r4, #0] + 6f72: 2bff cmp r3, #255 ; 0xff + 6f74: d03e beq.n 6ff4 <_lv_style_get_color+0x9a> + 6f76: f04f 37ff mov.w r7, #4294967295 + 6f7a: 46b8 mov r8, r7 + 6f7c: 2000 movs r0, #0 else if((attr_i.bits.state & (~attr.bits.state)) == 0) { - 7526: f3ce 0e06 ubfx lr, lr, #0, #7 - 752a: e02a b.n 7582 <_lv_style_get_color+0x80> + 6f7e: f3ce 0e06 ubfx lr, lr, #0, #7 + 6f82: e02a b.n 6fda <_lv_style_get_color+0x80> attr_i.full = style->map[i + 1]; - 752c: 1825 adds r5, r4, r0 - 752e: 786d ldrb r5, [r5, #1] + 6f84: 1825 adds r5, r4, r0 + 6f86: 786d ldrb r5, [r5, #1] if(attr_i.bits.state == attr.bits.state) { - 7530: ea81 0905 eor.w r9, r1, r5 - 7534: f019 0f7f tst.w r9, #127 ; 0x7f - 7538: d00a beq.n 7550 <_lv_style_get_color+0x4e> + 6f88: ea81 0905 eor.w r9, r1, r5 + 6f8c: f019 0f7f tst.w r9, #127 ; 0x7f + 6f90: d00a beq.n 6fa8 <_lv_style_get_color+0x4e> else if((attr_i.bits.state & (~attr.bits.state)) == 0) { - 753a: f005 057f and.w r5, r5, #127 ; 0x7f - 753e: ea35 090e bics.w r9, r5, lr - 7542: d120 bne.n 7586 <_lv_style_get_color+0x84> + 6f92: f005 057f and.w r5, r5, #127 ; 0x7f + 6f96: ea35 090e bics.w r9, r5, lr + 6f9a: d120 bne.n 6fde <_lv_style_get_color+0x84> if(attr_i.bits.state > weight) { - 7544: 4545 cmp r5, r8 + 6f9c: 4545 cmp r5, r8 weight = attr_i.bits.state; - 7546: bfc4 itt gt - 7548: fa0f f885 sxthgt.w r8, r5 + 6f9e: bfc4 itt gt + 6fa0: fa0f f885 sxthgt.w r8, r5 id_guess = i; - 754c: b207 sxthgt r7, r0 - 754e: e01a b.n 7586 <_lv_style_get_color+0x84> + 6fa4: b207 sxthgt r7, r0 + 6fa6: e01a b.n 6fde <_lv_style_get_color+0x84> return i; - 7550: 4607 mov r7, r0 + 6fa8: 4607 mov r7, r0 if(id < 0) { - 7552: 2f00 cmp r7, #0 - 7554: db2c blt.n 75b0 <_lv_style_get_color+0xae> + 6faa: 2f00 cmp r7, #0 + 6fac: db2c blt.n 7008 <_lv_style_get_color+0xae> _lv_memcpy_small(res, &style->map[id + sizeof(lv_style_property_t)], sizeof(lv_color_t)); - 7556: 1cbb adds r3, r7, #2 - 7558: 18e0 adds r0, r4, r3 - 755a: 5ce3 ldrb r3, [r4, r3] - 755c: 7013 strb r3, [r2, #0] - 755e: 7843 ldrb r3, [r0, #1] - 7560: 7053 strb r3, [r2, #1] + 6fae: 1cbb adds r3, r7, #2 + 6fb0: 18e0 adds r0, r4, r3 + 6fb2: 5ce3 ldrb r3, [r4, r3] + 6fb4: 7013 strb r3, [r2, #0] + 6fb6: 7843 ldrb r3, [r0, #1] + 6fb8: 7053 strb r3, [r2, #1] attr_act.full = style->map[id + 1]; - 7562: f8dc 0000 ldr.w r0, [ip] - 7566: 4407 add r7, r0 - 7568: 7878 ldrb r0, [r7, #1] + 6fba: f8dc 0000 ldr.w r0, [ip] + 6fbe: 4407 add r7, r0 + 6fc0: 7878 ldrb r0, [r7, #1] return attr_act.bits.state & attr_goal.bits.state; - 756a: f3c1 0106 ubfx r1, r1, #0, #7 - 756e: 4008 ands r0, r1 - 7570: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} + 6fc2: f3c1 0106 ubfx r1, r1, #0, #7 + 6fc6: 4008 ands r0, r1 + 6fc8: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} else if((style->map[i] & 0xF) < LV_STYLE_ID_OPA) i += sizeof(lv_color_t); - 7574: 2b0b cmp r3, #11 - 7576: dc0c bgt.n 7592 <_lv_style_get_color+0x90> - 7578: 3002 adds r0, #2 + 6fcc: 2b0b cmp r3, #11 + 6fce: dc0c bgt.n 6fea <_lv_style_get_color+0x90> + 6fd0: 3002 adds r0, #2 i += sizeof(lv_style_property_t); - 757a: 3002 adds r0, #2 + 6fd2: 3002 adds r0, #2 while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 757c: 5c23 ldrb r3, [r4, r0] - 757e: 2bff cmp r3, #255 ; 0xff - 7580: d0e7 beq.n 7552 <_lv_style_get_color+0x50> + 6fd4: 5c23 ldrb r3, [r4, r0] + 6fd6: 2bff cmp r3, #255 ; 0xff + 6fd8: d0e7 beq.n 6faa <_lv_style_get_color+0x50> if(style->map[i] == id_to_find) { - 7582: 429e cmp r6, r3 - 7584: d0d2 beq.n 752c <_lv_style_get_color+0x2a> + 6fda: 429e cmp r6, r3 + 6fdc: d0d2 beq.n 6f84 <_lv_style_get_color+0x2a> if((style->map[i] & 0xF) < LV_STYLE_ID_COLOR) i += sizeof(lv_style_int_t); - 7586: f003 030f and.w r3, r3, #15 - 758a: 2b08 cmp r3, #8 - 758c: dcf2 bgt.n 7574 <_lv_style_get_color+0x72> - 758e: 3002 adds r0, #2 - 7590: e7f3 b.n 757a <_lv_style_get_color+0x78> + 6fde: f003 030f and.w r3, r3, #15 + 6fe2: 2b08 cmp r3, #8 + 6fe4: dcf2 bgt.n 6fcc <_lv_style_get_color+0x72> + 6fe6: 3002 adds r0, #2 + 6fe8: e7f3 b.n 6fd2 <_lv_style_get_color+0x78> else if((style->map[i] & 0xF) < LV_STYLE_ID_PTR) i += sizeof(lv_opa_t); - 7592: 2b0d cmp r3, #13 - 7594: bfd4 ite le - 7596: 3001 addle r0, #1 + 6fea: 2b0d cmp r3, #13 + 6fec: bfd4 ite le + 6fee: 3001 addle r0, #1 else i += sizeof(const void *); - 7598: 3004 addgt r0, #4 - 759a: e7ee b.n 757a <_lv_style_get_color+0x78> + 6ff0: 3004 addgt r0, #4 + 6ff2: e7ee b.n 6fd2 <_lv_style_get_color+0x78> int16_t id_guess = -1; - 759c: f04f 37ff mov.w r7, #4294967295 - 75a0: e7d7 b.n 7552 <_lv_style_get_color+0x50> + 6ff4: f04f 37ff mov.w r7, #4294967295 + 6ff8: e7d7 b.n 6faa <_lv_style_get_color+0x50> if(style == NULL) return -1; - 75a2: f04f 30ff mov.w r0, #4294967295 - 75a6: 4770 bx lr + 6ffa: f04f 30ff mov.w r0, #4294967295 + 6ffe: 4770 bx lr if(style->map == NULL) return -1; - 75a8: f04f 30ff mov.w r0, #4294967295 - 75ac: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} + 7000: f04f 30ff mov.w r0, #4294967295 + 7004: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} return -1; - 75b0: f04f 30ff mov.w r0, #4294967295 + 7008: f04f 30ff mov.w r0, #4294967295 } - 75b4: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} + 700c: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} -000075b8 <_lv_style_get_ptr>: +00007010 <_lv_style_get_ptr>: if(style == NULL) return -1; - 75b8: 2800 cmp r0, #0 - 75ba: d050 beq.n 765e <_lv_style_get_ptr+0xa6> + 7010: 2800 cmp r0, #0 + 7012: d050 beq.n 70b6 <_lv_style_get_ptr+0xa6> { - 75bc: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} - 75c0: 4607 mov r7, r0 + 7014: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} + 7018: 4607 mov r7, r0 if(style->map == NULL) return -1; - 75c2: 6804 ldr r4, [r0, #0] - 75c4: 2c00 cmp r4, #0 - 75c6: d04d beq.n 7664 <_lv_style_get_ptr+0xac> + 701a: 6804 ldr r4, [r0, #0] + 701c: 2c00 cmp r4, #0 + 701e: d04d beq.n 70bc <_lv_style_get_ptr+0xac> uint8_t id_to_find = prop & 0xFF; - 75c8: b2ce uxtb r6, r1 + 7020: b2ce uxtb r6, r1 attr.full = (prop >> 8) & 0xFF; - 75ca: 0a09 lsrs r1, r1, #8 - 75cc: 468c mov ip, r1 + 7022: 0a09 lsrs r1, r1, #8 + 7024: 468c mov ip, r1 while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 75ce: 7823 ldrb r3, [r4, #0] - 75d0: 2bff cmp r3, #255 ; 0xff - 75d2: d02d beq.n 7630 <_lv_style_get_ptr+0x78> - 75d4: f04f 3eff mov.w lr, #4294967295 - 75d8: 46f0 mov r8, lr - 75da: 2000 movs r0, #0 + 7026: 7823 ldrb r3, [r4, #0] + 7028: 2bff cmp r3, #255 ; 0xff + 702a: d02d beq.n 7088 <_lv_style_get_ptr+0x78> + 702c: f04f 3eff mov.w lr, #4294967295 + 7030: 46f0 mov r8, lr + 7032: 2000 movs r0, #0 else if((attr_i.bits.state & (~attr.bits.state)) == 0) { - 75dc: f3cc 0c06 ubfx ip, ip, #0, #7 - 75e0: e019 b.n 7616 <_lv_style_get_ptr+0x5e> + 7034: f3cc 0c06 ubfx ip, ip, #0, #7 + 7038: e019 b.n 706e <_lv_style_get_ptr+0x5e> attr_i.full = style->map[i + 1]; - 75e2: 1825 adds r5, r4, r0 - 75e4: 786d ldrb r5, [r5, #1] + 703a: 1825 adds r5, r4, r0 + 703c: 786d ldrb r5, [r5, #1] if(attr_i.bits.state == attr.bits.state) { - 75e6: ea81 0905 eor.w r9, r1, r5 - 75ea: f019 0f7f tst.w r9, #127 ; 0x7f - 75ee: d022 beq.n 7636 <_lv_style_get_ptr+0x7e> + 703e: ea81 0905 eor.w r9, r1, r5 + 7042: f019 0f7f tst.w r9, #127 ; 0x7f + 7046: d022 beq.n 708e <_lv_style_get_ptr+0x7e> else if((attr_i.bits.state & (~attr.bits.state)) == 0) { - 75f0: f005 057f and.w r5, r5, #127 ; 0x7f - 75f4: ea35 090c bics.w r9, r5, ip - 75f8: d10f bne.n 761a <_lv_style_get_ptr+0x62> + 7048: f005 057f and.w r5, r5, #127 ; 0x7f + 704c: ea35 090c bics.w r9, r5, ip + 7050: d10f bne.n 7072 <_lv_style_get_ptr+0x62> if(attr_i.bits.state > weight) { - 75fa: 4545 cmp r5, r8 + 7052: 4545 cmp r5, r8 weight = attr_i.bits.state; - 75fc: bfc4 itt gt - 75fe: fa0f f885 sxthgt.w r8, r5 + 7054: bfc4 itt gt + 7056: fa0f f885 sxthgt.w r8, r5 id_guess = i; - 7602: fa0f fe80 sxthgt.w lr, r0 - 7606: e008 b.n 761a <_lv_style_get_ptr+0x62> + 705a: fa0f fe80 sxthgt.w lr, r0 + 705e: e008 b.n 7072 <_lv_style_get_ptr+0x62> else if((style->map[i] & 0xF) < LV_STYLE_ID_OPA) i += sizeof(lv_color_t); - 7608: 2b0b cmp r3, #11 - 760a: dc0c bgt.n 7626 <_lv_style_get_ptr+0x6e> - 760c: 3002 adds r0, #2 + 7060: 2b0b cmp r3, #11 + 7062: dc0c bgt.n 707e <_lv_style_get_ptr+0x6e> + 7064: 3002 adds r0, #2 i += sizeof(lv_style_property_t); - 760e: 3002 adds r0, #2 + 7066: 3002 adds r0, #2 while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 7610: 5c23 ldrb r3, [r4, r0] - 7612: 2bff cmp r3, #255 ; 0xff - 7614: d00e beq.n 7634 <_lv_style_get_ptr+0x7c> + 7068: 5c23 ldrb r3, [r4, r0] + 706a: 2bff cmp r3, #255 ; 0xff + 706c: d00e beq.n 708c <_lv_style_get_ptr+0x7c> if(style->map[i] == id_to_find) { - 7616: 429e cmp r6, r3 - 7618: d0e3 beq.n 75e2 <_lv_style_get_ptr+0x2a> + 706e: 429e cmp r6, r3 + 7070: d0e3 beq.n 703a <_lv_style_get_ptr+0x2a> if((style->map[i] & 0xF) < LV_STYLE_ID_COLOR) i += sizeof(lv_style_int_t); - 761a: f003 030f and.w r3, r3, #15 - 761e: 2b08 cmp r3, #8 - 7620: dcf2 bgt.n 7608 <_lv_style_get_ptr+0x50> - 7622: 3002 adds r0, #2 - 7624: e7f3 b.n 760e <_lv_style_get_ptr+0x56> + 7072: f003 030f and.w r3, r3, #15 + 7076: 2b08 cmp r3, #8 + 7078: dcf2 bgt.n 7060 <_lv_style_get_ptr+0x50> + 707a: 3002 adds r0, #2 + 707c: e7f3 b.n 7066 <_lv_style_get_ptr+0x56> else if((style->map[i] & 0xF) < LV_STYLE_ID_PTR) i += sizeof(lv_opa_t); - 7626: 2b0d cmp r3, #13 - 7628: bfd4 ite le - 762a: 3001 addle r0, #1 + 707e: 2b0d cmp r3, #13 + 7080: bfd4 ite le + 7082: 3001 addle r0, #1 else i += sizeof(const void *); - 762c: 3004 addgt r0, #4 - 762e: e7ee b.n 760e <_lv_style_get_ptr+0x56> + 7084: 3004 addgt r0, #4 + 7086: e7ee b.n 7066 <_lv_style_get_ptr+0x56> int16_t id_guess = -1; - 7630: f04f 3eff mov.w lr, #4294967295 + 7088: f04f 3eff mov.w lr, #4294967295 return id_guess; - 7634: 4670 mov r0, lr + 708c: 4670 mov r0, lr if(id < 0) { - 7636: 2800 cmp r0, #0 - 7638: db18 blt.n 766c <_lv_style_get_ptr+0xb4> + 708e: 2800 cmp r0, #0 + 7090: db18 blt.n 70c4 <_lv_style_get_ptr+0xb4> _lv_memcpy_small(res, &style->map[id + sizeof(lv_style_property_t)], sizeof(const void *)); - 763a: 4605 mov r5, r0 - 763c: 3001 adds r0, #1 - 763e: 1823 adds r3, r4, r0 - 7640: 1d14 adds r4, r2, #4 - 7642: f813 0f01 ldrb.w r0, [r3, #1]! - 7646: f802 0b01 strb.w r0, [r2], #1 + 7092: 4605 mov r5, r0 + 7094: 3001 adds r0, #1 + 7096: 1823 adds r3, r4, r0 + 7098: 1d14 adds r4, r2, #4 + 709a: f813 0f01 ldrb.w r0, [r3, #1]! + 709e: f802 0b01 strb.w r0, [r2], #1 while(len) { - 764a: 4294 cmp r4, r2 - 764c: d1f9 bne.n 7642 <_lv_style_get_ptr+0x8a> + 70a2: 4294 cmp r4, r2 + 70a4: d1f9 bne.n 709a <_lv_style_get_ptr+0x8a> attr_act.full = style->map[id + 1]; - 764e: 683b ldr r3, [r7, #0] - 7650: 442b add r3, r5 - 7652: 7858 ldrb r0, [r3, #1] + 70a6: 683b ldr r3, [r7, #0] + 70a8: 442b add r3, r5 + 70aa: 7858 ldrb r0, [r3, #1] return attr_act.bits.state & attr_goal.bits.state; - 7654: f3c1 0106 ubfx r1, r1, #0, #7 - 7658: 4008 ands r0, r1 - 765a: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} + 70ac: f3c1 0106 ubfx r1, r1, #0, #7 + 70b0: 4008 ands r0, r1 + 70b2: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} if(style == NULL) return -1; - 765e: f04f 30ff mov.w r0, #4294967295 - 7662: 4770 bx lr + 70b6: f04f 30ff mov.w r0, #4294967295 + 70ba: 4770 bx lr if(style->map == NULL) return -1; - 7664: f04f 30ff mov.w r0, #4294967295 - 7668: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} + 70bc: f04f 30ff mov.w r0, #4294967295 + 70c0: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} return -1; - 766c: f04f 30ff mov.w r0, #4294967295 + 70c4: f04f 30ff mov.w r0, #4294967295 } - 7670: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} + 70c8: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} -00007674 : +000070cc : if(!list->has_local) return NULL; - 7674: 7943 ldrb r3, [r0, #5] - 7676: f013 0f01 tst.w r3, #1 - 767a: d006 beq.n 768a + 70cc: 7943 ldrb r3, [r0, #5] + 70ce: f013 0f01 tst.w r3, #1 + 70d2: d006 beq.n 70e2 if(list->has_trans) return list->style_list[1]; - 767c: f013 0f02 tst.w r3, #2 - 7680: 6803 ldr r3, [r0, #0] - 7682: bf14 ite ne - 7684: 6858 ldrne r0, [r3, #4] + 70d4: f013 0f02 tst.w r3, #2 + 70d8: 6803 ldr r3, [r0, #0] + 70da: bf14 ite ne + 70dc: 6858 ldrne r0, [r3, #4] else return list->style_list[0]; - 7686: 6818 ldreq r0, [r3, #0] - 7688: 4770 bx lr + 70de: 6818 ldreq r0, [r3, #0] + 70e0: 4770 bx lr if(!list->has_local) return NULL; - 768a: 2000 movs r0, #0 + 70e2: 2000 movs r0, #0 } - 768c: 4770 bx lr + 70e4: 4770 bx lr -0000768e <_lv_style_list_get_transition_style>: +000070e6 <_lv_style_list_get_transition_style>: if(!list->has_trans) return NULL; - 768e: 7943 ldrb r3, [r0, #5] - 7690: f013 0f02 tst.w r3, #2 + 70e6: 7943 ldrb r3, [r0, #5] + 70e8: f013 0f02 tst.w r3, #2 return list->style_list[0]; - 7694: bf1a itte ne - 7696: 6803 ldrne r3, [r0, #0] - 7698: 6818 ldrne r0, [r3, #0] + 70ec: bf1a itte ne + 70ee: 6803 ldrne r3, [r0, #0] + 70f0: 6818 ldrne r0, [r3, #0] if(!list->has_trans) return NULL; - 769a: 2000 moveq r0, #0 + 70f2: 2000 moveq r0, #0 } - 769c: 4770 bx lr + 70f4: 4770 bx lr ... -000076a0 <_lv_style_list_reset>: +000070f8 <_lv_style_list_reset>: if(list == NULL) return; - 76a0: 2800 cmp r0, #0 - 76a2: d02c beq.n 76fe <_lv_style_list_reset+0x5e> + 70f8: 2800 cmp r0, #0 + 70fa: d02c beq.n 7156 <_lv_style_list_reset+0x5e> { - 76a4: b538 push {r3, r4, r5, lr} - 76a6: 4604 mov r4, r0 + 70fc: b538 push {r3, r4, r5, lr} + 70fe: 4604 mov r4, r0 if(list->has_local) { - 76a8: 7943 ldrb r3, [r0, #5] - 76aa: f013 0f01 tst.w r3, #1 - 76ae: d008 beq.n 76c2 <_lv_style_list_reset+0x22> + 7100: 7943 ldrb r3, [r0, #5] + 7102: f013 0f01 tst.w r3, #1 + 7106: d008 beq.n 711a <_lv_style_list_reset+0x22> lv_style_t * local = lv_style_list_get_local_style(list); - 76b0: 4b13 ldr r3, [pc, #76] ; (7700 <_lv_style_list_reset+0x60>) - 76b2: 4798 blx r3 + 7108: 4b13 ldr r3, [pc, #76] ; (7158 <_lv_style_list_reset+0x60>) + 710a: 4798 blx r3 if(local) { - 76b4: 4605 mov r5, r0 - 76b6: b120 cbz r0, 76c2 <_lv_style_list_reset+0x22> + 710c: 4605 mov r5, r0 + 710e: b120 cbz r0, 711a <_lv_style_list_reset+0x22> lv_style_reset(local); - 76b8: 4b12 ldr r3, [pc, #72] ; (7704 <_lv_style_list_reset+0x64>) - 76ba: 4798 blx r3 + 7110: 4b12 ldr r3, [pc, #72] ; (715c <_lv_style_list_reset+0x64>) + 7112: 4798 blx r3 lv_mem_free(local); - 76bc: 4628 mov r0, r5 - 76be: 4b12 ldr r3, [pc, #72] ; (7708 <_lv_style_list_reset+0x68>) - 76c0: 4798 blx r3 + 7114: 4628 mov r0, r5 + 7116: 4b12 ldr r3, [pc, #72] ; (7160 <_lv_style_list_reset+0x68>) + 7118: 4798 blx r3 if(list->has_trans) { - 76c2: 7963 ldrb r3, [r4, #5] - 76c4: f013 0f02 tst.w r3, #2 - 76c8: d009 beq.n 76de <_lv_style_list_reset+0x3e> + 711a: 7963 ldrb r3, [r4, #5] + 711c: f013 0f02 tst.w r3, #2 + 7120: d009 beq.n 7136 <_lv_style_list_reset+0x3e> lv_style_t * trans = _lv_style_list_get_transition_style(list); - 76ca: 4620 mov r0, r4 - 76cc: 4b0f ldr r3, [pc, #60] ; (770c <_lv_style_list_reset+0x6c>) - 76ce: 4798 blx r3 + 7122: 4620 mov r0, r4 + 7124: 4b0f ldr r3, [pc, #60] ; (7164 <_lv_style_list_reset+0x6c>) + 7126: 4798 blx r3 if(trans) { - 76d0: 4605 mov r5, r0 - 76d2: b120 cbz r0, 76de <_lv_style_list_reset+0x3e> + 7128: 4605 mov r5, r0 + 712a: b120 cbz r0, 7136 <_lv_style_list_reset+0x3e> lv_style_reset(trans); - 76d4: 4b0b ldr r3, [pc, #44] ; (7704 <_lv_style_list_reset+0x64>) - 76d6: 4798 blx r3 + 712c: 4b0b ldr r3, [pc, #44] ; (715c <_lv_style_list_reset+0x64>) + 712e: 4798 blx r3 lv_mem_free(trans); - 76d8: 4628 mov r0, r5 - 76da: 4b0b ldr r3, [pc, #44] ; (7708 <_lv_style_list_reset+0x68>) - 76dc: 4798 blx r3 + 7130: 4628 mov r0, r5 + 7132: 4b0b ldr r3, [pc, #44] ; (7160 <_lv_style_list_reset+0x68>) + 7134: 4798 blx r3 if(list->style_cnt > 0) lv_mem_free(list->style_list); - 76de: 7923 ldrb r3, [r4, #4] - 76e0: b94b cbnz r3, 76f6 <_lv_style_list_reset+0x56> + 7136: 7923 ldrb r3, [r4, #4] + 7138: b94b cbnz r3, 714e <_lv_style_list_reset+0x56> list->style_list = NULL; - 76e2: 2200 movs r2, #0 - 76e4: 6022 str r2, [r4, #0] + 713a: 2200 movs r2, #0 + 713c: 6022 str r2, [r4, #0] list->style_cnt = 0; - 76e6: 7122 strb r2, [r4, #4] + 713e: 7122 strb r2, [r4, #4] list->has_local = 0; - 76e8: 7963 ldrb r3, [r4, #5] + 7140: 7963 ldrb r3, [r4, #5] list->skip_trans = 0; - 76ea: f003 03fc and.w r3, r3, #252 ; 0xfc - 76ee: f362 0382 bfi r3, r2, #2, #1 - 76f2: 7163 strb r3, [r4, #5] - 76f4: bd38 pop {r3, r4, r5, pc} + 7142: f003 03fc and.w r3, r3, #252 ; 0xfc + 7146: f362 0382 bfi r3, r2, #2, #1 + 714a: 7163 strb r3, [r4, #5] + 714c: bd38 pop {r3, r4, r5, pc} if(list->style_cnt > 0) lv_mem_free(list->style_list); - 76f6: 6820 ldr r0, [r4, #0] - 76f8: 4b03 ldr r3, [pc, #12] ; (7708 <_lv_style_list_reset+0x68>) - 76fa: 4798 blx r3 - 76fc: e7f1 b.n 76e2 <_lv_style_list_reset+0x42> - 76fe: 4770 bx lr - 7700: 00007675 .word 0x00007675 - 7704: 00006d0d .word 0x00006d0d - 7708: 00012a6d .word 0x00012a6d - 770c: 0000768f .word 0x0000768f - -00007710 : -{ - 7710: b570 push {r4, r5, r6, lr} - 7712: 4605 mov r5, r0 - 7714: 460c mov r4, r1 + 714e: 6820 ldr r0, [r4, #0] + 7150: 4b03 ldr r3, [pc, #12] ; (7160 <_lv_style_list_reset+0x68>) + 7152: 4798 blx r3 + 7154: e7f1 b.n 713a <_lv_style_list_reset+0x42> + 7156: 4770 bx lr + 7158: 000070cd .word 0x000070cd + 715c: 00006765 .word 0x00006765 + 7160: 000124c5 .word 0x000124c5 + 7164: 000070e7 .word 0x000070e7 + +00007168 : +{ + 7168: b570 push {r4, r5, r6, lr} + 716a: 4605 mov r5, r0 + 716c: 460c mov r4, r1 _lv_style_list_reset(list_dest); - 7716: 4b2c ldr r3, [pc, #176] ; (77c8 ) - 7718: 4798 blx r3 + 716e: 4b2c ldr r3, [pc, #176] ; (7220 ) + 7170: 4798 blx r3 if(list_src->style_list == NULL) return; - 771a: 6823 ldr r3, [r4, #0] - 771c: 2b00 cmp r3, #0 - 771e: d041 beq.n 77a4 + 7172: 6823 ldr r3, [r4, #0] + 7174: 2b00 cmp r3, #0 + 7176: d041 beq.n 71fc if(list_src->has_local == 0) { - 7720: 7963 ldrb r3, [r4, #5] - 7722: f013 0f01 tst.w r3, #1 - 7726: d120 bne.n 776a + 7178: 7963 ldrb r3, [r4, #5] + 717a: f013 0f01 tst.w r3, #1 + 717e: d120 bne.n 71c2 if(list_src->has_trans) { - 7728: f013 0f02 tst.w r3, #2 - 772c: d010 beq.n 7750 + 7180: f013 0f02 tst.w r3, #2 + 7184: d010 beq.n 71a8 list_dest->style_list = lv_mem_alloc((list_src->style_cnt - 1) * sizeof(lv_style_t *)); - 772e: 7920 ldrb r0, [r4, #4] - 7730: 3801 subs r0, #1 - 7732: 0080 lsls r0, r0, #2 - 7734: 4b25 ldr r3, [pc, #148] ; (77cc ) - 7736: 4798 blx r3 - 7738: 6028 str r0, [r5, #0] + 7186: 7920 ldrb r0, [r4, #4] + 7188: 3801 subs r0, #1 + 718a: 0080 lsls r0, r0, #2 + 718c: 4b25 ldr r3, [pc, #148] ; (7224 ) + 718e: 4798 blx r3 + 7190: 6028 str r0, [r5, #0] _lv_memcpy(list_dest->style_list, list_src->style_list + 1, (list_src->style_cnt - 1) * sizeof(lv_style_t *)); - 773a: 7922 ldrb r2, [r4, #4] - 773c: 3a01 subs r2, #1 - 773e: 6821 ldr r1, [r4, #0] - 7740: 0092 lsls r2, r2, #2 - 7742: 3104 adds r1, #4 - 7744: 4b22 ldr r3, [pc, #136] ; (77d0 ) - 7746: 4798 blx r3 + 7192: 7922 ldrb r2, [r4, #4] + 7194: 3a01 subs r2, #1 + 7196: 6821 ldr r1, [r4, #0] + 7198: 0092 lsls r2, r2, #2 + 719a: 3104 adds r1, #4 + 719c: 4b22 ldr r3, [pc, #136] ; (7228 ) + 719e: 4798 blx r3 list_dest->style_cnt = list_src->style_cnt - 1; - 7748: 7923 ldrb r3, [r4, #4] - 774a: 3b01 subs r3, #1 - 774c: 712b strb r3, [r5, #4] - 774e: bd70 pop {r4, r5, r6, pc} + 71a0: 7923 ldrb r3, [r4, #4] + 71a2: 3b01 subs r3, #1 + 71a4: 712b strb r3, [r5, #4] + 71a6: bd70 pop {r4, r5, r6, pc} list_dest->style_list = lv_mem_alloc(list_src->style_cnt * sizeof(lv_style_t *)); - 7750: 7920 ldrb r0, [r4, #4] - 7752: 0080 lsls r0, r0, #2 - 7754: 4b1d ldr r3, [pc, #116] ; (77cc ) - 7756: 4798 blx r3 - 7758: 6028 str r0, [r5, #0] + 71a8: 7920 ldrb r0, [r4, #4] + 71aa: 0080 lsls r0, r0, #2 + 71ac: 4b1d ldr r3, [pc, #116] ; (7224 ) + 71ae: 4798 blx r3 + 71b0: 6028 str r0, [r5, #0] _lv_memcpy(list_dest->style_list, list_src->style_list, list_src->style_cnt * sizeof(lv_style_t *)); - 775a: 7922 ldrb r2, [r4, #4] - 775c: 0092 lsls r2, r2, #2 - 775e: 6821 ldr r1, [r4, #0] - 7760: 4b1b ldr r3, [pc, #108] ; (77d0 ) - 7762: 4798 blx r3 + 71b2: 7922 ldrb r2, [r4, #4] + 71b4: 0092 lsls r2, r2, #2 + 71b6: 6821 ldr r1, [r4, #0] + 71b8: 4b1b ldr r3, [pc, #108] ; (7228 ) + 71ba: 4798 blx r3 list_dest->style_cnt = list_src->style_cnt; - 7764: 7923 ldrb r3, [r4, #4] - 7766: 712b strb r3, [r5, #4] - 7768: bd70 pop {r4, r5, r6, pc} + 71bc: 7923 ldrb r3, [r4, #4] + 71be: 712b strb r3, [r5, #4] + 71c0: bd70 pop {r4, r5, r6, pc} if(list_src->has_trans) { - 776a: f013 0f02 tst.w r3, #2 - 776e: d01a beq.n 77a6 + 71c2: f013 0f02 tst.w r3, #2 + 71c6: d01a beq.n 71fe list_dest->style_list = lv_mem_alloc((list_src->style_cnt - 2) * sizeof(lv_style_t *)); - 7770: 7920 ldrb r0, [r4, #4] - 7772: 3802 subs r0, #2 - 7774: 0080 lsls r0, r0, #2 - 7776: 4b15 ldr r3, [pc, #84] ; (77cc ) - 7778: 4798 blx r3 - 777a: 6028 str r0, [r5, #0] + 71c8: 7920 ldrb r0, [r4, #4] + 71ca: 3802 subs r0, #2 + 71cc: 0080 lsls r0, r0, #2 + 71ce: 4b15 ldr r3, [pc, #84] ; (7224 ) + 71d0: 4798 blx r3 + 71d2: 6028 str r0, [r5, #0] _lv_memcpy(list_dest->style_list, list_src->style_list + 2, (list_src->style_cnt - 2) * sizeof(lv_style_t *)); - 777c: 7922 ldrb r2, [r4, #4] - 777e: 3a02 subs r2, #2 - 7780: 6821 ldr r1, [r4, #0] - 7782: 0092 lsls r2, r2, #2 - 7784: 3108 adds r1, #8 - 7786: 4b12 ldr r3, [pc, #72] ; (77d0 ) - 7788: 4798 blx r3 + 71d4: 7922 ldrb r2, [r4, #4] + 71d6: 3a02 subs r2, #2 + 71d8: 6821 ldr r1, [r4, #0] + 71da: 0092 lsls r2, r2, #2 + 71dc: 3108 adds r1, #8 + 71de: 4b12 ldr r3, [pc, #72] ; (7228 ) + 71e0: 4798 blx r3 list_dest->style_cnt = list_src->style_cnt - 2; - 778a: 7923 ldrb r3, [r4, #4] - 778c: 3b02 subs r3, #2 - 778e: 712b strb r3, [r5, #4] + 71e2: 7923 ldrb r3, [r4, #4] + 71e4: 3b02 subs r3, #2 + 71e6: 712b strb r3, [r5, #4] lv_style_t * local_style = get_alloc_local_style(list_dest); - 7790: 4628 mov r0, r5 - 7792: 4d10 ldr r5, [pc, #64] ; (77d4 ) - 7794: 47a8 blx r5 - 7796: 4606 mov r6, r0 + 71e8: 4628 mov r0, r5 + 71ea: 4d10 ldr r5, [pc, #64] ; (722c ) + 71ec: 47a8 blx r5 + 71ee: 4606 mov r6, r0 lv_style_copy(local_style, get_alloc_local_style((lv_style_list_t *)list_src)); - 7798: 4620 mov r0, r4 - 779a: 47a8 blx r5 - 779c: 4601 mov r1, r0 - 779e: 4630 mov r0, r6 - 77a0: 4b0d ldr r3, [pc, #52] ; (77d8 ) - 77a2: 4798 blx r3 - 77a4: bd70 pop {r4, r5, r6, pc} + 71f0: 4620 mov r0, r4 + 71f2: 47a8 blx r5 + 71f4: 4601 mov r1, r0 + 71f6: 4630 mov r0, r6 + 71f8: 4b0d ldr r3, [pc, #52] ; (7230 ) + 71fa: 4798 blx r3 + 71fc: bd70 pop {r4, r5, r6, pc} list_dest->style_list = lv_mem_alloc((list_src->style_cnt - 1) * sizeof(lv_style_t *)); - 77a6: 7920 ldrb r0, [r4, #4] - 77a8: 3801 subs r0, #1 - 77aa: 0080 lsls r0, r0, #2 - 77ac: 4b07 ldr r3, [pc, #28] ; (77cc ) - 77ae: 4798 blx r3 - 77b0: 6028 str r0, [r5, #0] + 71fe: 7920 ldrb r0, [r4, #4] + 7200: 3801 subs r0, #1 + 7202: 0080 lsls r0, r0, #2 + 7204: 4b07 ldr r3, [pc, #28] ; (7224 ) + 7206: 4798 blx r3 + 7208: 6028 str r0, [r5, #0] _lv_memcpy(list_dest->style_list, list_src->style_list + 1, (list_src->style_cnt - 1) * sizeof(lv_style_t *)); - 77b2: 7922 ldrb r2, [r4, #4] - 77b4: 3a01 subs r2, #1 - 77b6: 6821 ldr r1, [r4, #0] - 77b8: 0092 lsls r2, r2, #2 - 77ba: 3104 adds r1, #4 - 77bc: 4b04 ldr r3, [pc, #16] ; (77d0 ) - 77be: 4798 blx r3 + 720a: 7922 ldrb r2, [r4, #4] + 720c: 3a01 subs r2, #1 + 720e: 6821 ldr r1, [r4, #0] + 7210: 0092 lsls r2, r2, #2 + 7212: 3104 adds r1, #4 + 7214: 4b04 ldr r3, [pc, #16] ; (7228 ) + 7216: 4798 blx r3 list_dest->style_cnt = list_src->style_cnt - 1; - 77c0: 7923 ldrb r3, [r4, #4] - 77c2: 3b01 subs r3, #1 - 77c4: 712b strb r3, [r5, #4] - 77c6: e7e3 b.n 7790 - 77c8: 000076a1 .word 0x000076a1 - 77cc: 00012985 .word 0x00012985 - 77d0: 00012bfd .word 0x00012bfd - 77d4: 00006c55 .word 0x00006c55 - 77d8: 00006d61 .word 0x00006d61 - -000077dc <_lv_style_list_add_trans_style>: -{ - 77dc: b530 push {r4, r5, lr} - 77de: b083 sub sp, #12 - 77e0: 4604 mov r4, r0 + 7218: 7923 ldrb r3, [r4, #4] + 721a: 3b01 subs r3, #1 + 721c: 712b strb r3, [r5, #4] + 721e: e7e3 b.n 71e8 + 7220: 000070f9 .word 0x000070f9 + 7224: 000123dd .word 0x000123dd + 7228: 00012655 .word 0x00012655 + 722c: 000066ad .word 0x000066ad + 7230: 000067b9 .word 0x000067b9 + +00007234 <_lv_style_list_add_trans_style>: +{ + 7234: b530 push {r4, r5, lr} + 7236: b083 sub sp, #12 + 7238: 4604 mov r4, r0 if(list->has_trans) return _lv_style_list_get_transition_style(list); - 77e2: 7943 ldrb r3, [r0, #5] - 77e4: f013 0f02 tst.w r3, #2 - 77e8: d005 beq.n 77f6 <_lv_style_list_add_trans_style+0x1a> - 77ea: 4b1d ldr r3, [pc, #116] ; (7860 <_lv_style_list_add_trans_style+0x84>) - 77ec: 4798 blx r3 - 77ee: 4605 mov r5, r0 -} - 77f0: 4628 mov r0, r5 - 77f2: b003 add sp, #12 - 77f4: bd30 pop {r4, r5, pc} + 723a: 7943 ldrb r3, [r0, #5] + 723c: f013 0f02 tst.w r3, #2 + 7240: d005 beq.n 724e <_lv_style_list_add_trans_style+0x1a> + 7242: 4b1d ldr r3, [pc, #116] ; (72b8 <_lv_style_list_add_trans_style+0x84>) + 7244: 4798 blx r3 + 7246: 4605 mov r5, r0 +} + 7248: 4628 mov r0, r5 + 724a: b003 add sp, #12 + 724c: bd30 pop {r4, r5, pc} lv_style_t * trans_style = lv_mem_alloc(sizeof(lv_style_t)); - 77f6: 2004 movs r0, #4 - 77f8: 4b1a ldr r3, [pc, #104] ; (7864 <_lv_style_list_add_trans_style+0x88>) - 77fa: 4798 blx r3 - 77fc: 4605 mov r5, r0 + 724e: 2004 movs r0, #4 + 7250: 4b1a ldr r3, [pc, #104] ; (72bc <_lv_style_list_add_trans_style+0x88>) + 7252: 4798 blx r3 + 7254: 4605 mov r5, r0 LV_ASSERT_MEM(trans_style); - 77fe: 4b1a ldr r3, [pc, #104] ; (7868 <_lv_style_list_add_trans_style+0x8c>) - 7800: 4798 blx r3 - 7802: b1a8 cbz r0, 7830 <_lv_style_list_add_trans_style+0x54> + 7256: 4b1a ldr r3, [pc, #104] ; (72c0 <_lv_style_list_add_trans_style+0x8c>) + 7258: 4798 blx r3 + 725a: b1a8 cbz r0, 7288 <_lv_style_list_add_trans_style+0x54> if(trans_style == NULL) { - 7804: b315 cbz r5, 784c <_lv_style_list_add_trans_style+0x70> + 725c: b315 cbz r5, 72a4 <_lv_style_list_add_trans_style+0x70> lv_style_init(trans_style); - 7806: 4628 mov r0, r5 - 7808: 4b18 ldr r3, [pc, #96] ; (786c <_lv_style_list_add_trans_style+0x90>) - 780a: 4798 blx r3 + 725e: 4628 mov r0, r5 + 7260: 4b18 ldr r3, [pc, #96] ; (72c4 <_lv_style_list_add_trans_style+0x90>) + 7262: 4798 blx r3 _lv_style_list_add_style(list, trans_style); - 780c: 4629 mov r1, r5 - 780e: 4620 mov r0, r4 - 7810: 4b17 ldr r3, [pc, #92] ; (7870 <_lv_style_list_add_trans_style+0x94>) - 7812: 4798 blx r3 + 7264: 4629 mov r1, r5 + 7266: 4620 mov r0, r4 + 7268: 4b17 ldr r3, [pc, #92] ; (72c8 <_lv_style_list_add_trans_style+0x94>) + 726a: 4798 blx r3 list->has_trans = 1; - 7814: 7963 ldrb r3, [r4, #5] - 7816: f043 0302 orr.w r3, r3, #2 - 781a: 7163 strb r3, [r4, #5] + 726c: 7963 ldrb r3, [r4, #5] + 726e: f043 0302 orr.w r3, r3, #2 + 7272: 7163 strb r3, [r4, #5] if(list->has_local) { - 781c: f013 0f01 tst.w r3, #1 - 7820: d0e6 beq.n 77f0 <_lv_style_list_add_trans_style+0x14> + 7274: f013 0f01 tst.w r3, #1 + 7278: d0e6 beq.n 7248 <_lv_style_list_add_trans_style+0x14> lv_style_t * tmp = list->style_list[0]; - 7822: 6823 ldr r3, [r4, #0] - 7824: 681a ldr r2, [r3, #0] + 727a: 6823 ldr r3, [r4, #0] + 727c: 681a ldr r2, [r3, #0] list->style_list[0] = list->style_list[1]; - 7826: 6859 ldr r1, [r3, #4] - 7828: 6019 str r1, [r3, #0] + 727e: 6859 ldr r1, [r3, #4] + 7280: 6019 str r1, [r3, #0] list->style_list[1] = tmp; - 782a: 6823 ldr r3, [r4, #0] - 782c: 605a str r2, [r3, #4] - 782e: e7df b.n 77f0 <_lv_style_list_add_trans_style+0x14> + 7282: 6823 ldr r3, [r4, #0] + 7284: 605a str r2, [r3, #4] + 7286: e7df b.n 7248 <_lv_style_list_add_trans_style+0x14> LV_ASSERT_MEM(trans_style); - 7830: 4b10 ldr r3, [pc, #64] ; (7874 <_lv_style_list_add_trans_style+0x98>) - 7832: 9300 str r3, [sp, #0] - 7834: f240 22cd movw r2, #717 ; 0x2cd - 7838: 490f ldr r1, [pc, #60] ; (7878 <_lv_style_list_add_trans_style+0x9c>) - 783a: 2003 movs r0, #3 - 783c: 4c0f ldr r4, [pc, #60] ; (787c <_lv_style_list_add_trans_style+0xa0>) - 783e: 47a0 blx r4 - 7840: 462a mov r2, r5 - 7842: 2300 movs r3, #0 - 7844: 480e ldr r0, [pc, #56] ; (7880 <_lv_style_list_add_trans_style+0xa4>) - 7846: 490f ldr r1, [pc, #60] ; (7884 <_lv_style_list_add_trans_style+0xa8>) - 7848: 4788 blx r1 - 784a: e7fe b.n 784a <_lv_style_list_add_trans_style+0x6e> + 7288: 4b10 ldr r3, [pc, #64] ; (72cc <_lv_style_list_add_trans_style+0x98>) + 728a: 9300 str r3, [sp, #0] + 728c: f240 22cd movw r2, #717 ; 0x2cd + 7290: 490f ldr r1, [pc, #60] ; (72d0 <_lv_style_list_add_trans_style+0x9c>) + 7292: 2003 movs r0, #3 + 7294: 4c0f ldr r4, [pc, #60] ; (72d4 <_lv_style_list_add_trans_style+0xa0>) + 7296: 47a0 blx r4 + 7298: 462a mov r2, r5 + 729a: 2300 movs r3, #0 + 729c: 480e ldr r0, [pc, #56] ; (72d8 <_lv_style_list_add_trans_style+0xa4>) + 729e: 490f ldr r1, [pc, #60] ; (72dc <_lv_style_list_add_trans_style+0xa8>) + 72a0: 4788 blx r1 + 72a2: e7fe b.n 72a2 <_lv_style_list_add_trans_style+0x6e> LV_LOG_WARN("lv_style_list_add_trans_style: couldn't create transition style"); - 784c: 4b0e ldr r3, [pc, #56] ; (7888 <_lv_style_list_add_trans_style+0xac>) - 784e: 9300 str r3, [sp, #0] - 7850: 4b08 ldr r3, [pc, #32] ; (7874 <_lv_style_list_add_trans_style+0x98>) - 7852: f240 22cf movw r2, #719 ; 0x2cf - 7856: 4908 ldr r1, [pc, #32] ; (7878 <_lv_style_list_add_trans_style+0x9c>) - 7858: 2002 movs r0, #2 - 785a: 4c08 ldr r4, [pc, #32] ; (787c <_lv_style_list_add_trans_style+0xa0>) - 785c: 47a0 blx r4 + 72a4: 4b0e ldr r3, [pc, #56] ; (72e0 <_lv_style_list_add_trans_style+0xac>) + 72a6: 9300 str r3, [sp, #0] + 72a8: 4b08 ldr r3, [pc, #32] ; (72cc <_lv_style_list_add_trans_style+0x98>) + 72aa: f240 22cf movw r2, #719 ; 0x2cf + 72ae: 4908 ldr r1, [pc, #32] ; (72d0 <_lv_style_list_add_trans_style+0x9c>) + 72b0: 2002 movs r0, #2 + 72b2: 4c08 ldr r4, [pc, #32] ; (72d4 <_lv_style_list_add_trans_style+0xa0>) + 72b4: 47a0 blx r4 return NULL; - 785e: e7c7 b.n 77f0 <_lv_style_list_add_trans_style+0x14> - 7860: 0000768f .word 0x0000768f - 7864: 00012985 .word 0x00012985 - 7868: 0000298d .word 0x0000298d - 786c: 00006a81 .word 0x00006a81 - 7870: 00006b81 .word 0x00006b81 - 7874: 0001c000 .word 0x0001c000 - 7878: 0001c020 .word 0x0001c020 - 787c: 00012805 .word 0x00012805 - 7880: 0001b4bc .word 0x0001b4bc - 7884: 00002995 .word 0x00002995 - 7888: 0001c0e8 .word 0x0001c0e8 - -0000788c <_lv_style_list_get_int>: + 72b6: e7c7 b.n 7248 <_lv_style_list_add_trans_style+0x14> + 72b8: 000070e7 .word 0x000070e7 + 72bc: 000123dd .word 0x000123dd + 72c0: 000022b1 .word 0x000022b1 + 72c4: 000064d9 .word 0x000064d9 + 72c8: 000065d9 .word 0x000065d9 + 72cc: 00024b1c .word 0x00024b1c + 72d0: 00024b3c .word 0x00024b3c + 72d4: 0001225d .word 0x0001225d + 72d8: 00023fd8 .word 0x00023fd8 + 72dc: 000022b9 .word 0x000022b9 + 72e0: 00024c04 .word 0x00024c04 + +000072e4 <_lv_style_list_get_int>: if(list == NULL) return LV_RES_INV; - 788c: 2800 cmp r0, #0 - 788e: d059 beq.n 7944 <_lv_style_list_get_int+0xb8> + 72e4: 2800 cmp r0, #0 + 72e6: d059 beq.n 739c <_lv_style_list_get_int+0xb8> { - 7890: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 7894: b083 sub sp, #12 - 7896: 4605 mov r5, r0 + 72e8: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 72ec: b083 sub sp, #12 + 72ee: 4605 mov r5, r0 if(list->style_list == NULL) return LV_RES_INV; - 7898: 6803 ldr r3, [r0, #0] - 789a: 2b00 cmp r3, #0 - 789c: d054 beq.n 7948 <_lv_style_list_get_int+0xbc> + 72f0: 6803 ldr r3, [r0, #0] + 72f2: 2b00 cmp r3, #0 + 72f4: d054 beq.n 73a0 <_lv_style_list_get_int+0xbc> int16_t weight_goal = attr.full; - 789e: ea4f 2811 mov.w r8, r1, lsr #8 + 72f6: ea4f 2811 mov.w r8, r1, lsr #8 lv_style_int_t value_act = 0; - 78a2: 2300 movs r3, #0 - 78a4: f8ad 3006 strh.w r3, [sp, #6] + 72fa: 2300 movs r3, #0 + 72fc: f8ad 3006 strh.w r3, [sp, #6] for(ci = 0; ci < list->style_cnt; ci++) { - 78a8: 7900 ldrb r0, [r0, #4] - 78aa: 2800 cmp r0, #0 - 78ac: d042 beq.n 7934 <_lv_style_list_get_int+0xa8> - 78ae: 4693 mov fp, r2 - 78b0: 4689 mov r9, r1 - 78b2: 461c mov r4, r3 - 78b4: f04f 36ff mov.w r6, #4294967295 - 78b8: 469a mov sl, r3 + 7300: 7900 ldrb r0, [r0, #4] + 7302: 2800 cmp r0, #0 + 7304: d042 beq.n 738c <_lv_style_list_get_int+0xa8> + 7306: 4693 mov fp, r2 + 7308: 4689 mov r9, r1 + 730a: 461c mov r4, r3 + 730c: f04f 36ff mov.w r6, #4294967295 + 7310: 469a mov sl, r3 int16_t weight_act = _lv_style_get_int(class, prop, &value_act); - 78ba: 4f24 ldr r7, [pc, #144] ; (794c <_lv_style_list_get_int+0xc0>) - 78bc: e01c b.n 78f8 <_lv_style_list_get_int+0x6c> - 78be: 4650 mov r0, sl - 78c0: f10d 0206 add.w r2, sp, #6 - 78c4: 4649 mov r1, r9 - 78c6: 47b8 blx r7 + 7312: 4f24 ldr r7, [pc, #144] ; (73a4 <_lv_style_list_get_int+0xc0>) + 7314: e01c b.n 7350 <_lv_style_list_get_int+0x6c> + 7316: 4650 mov r0, sl + 7318: f10d 0206 add.w r2, sp, #6 + 731c: 4649 mov r1, r9 + 731e: 47b8 blx r7 if(weight_act == weight_goal) { - 78c8: 4580 cmp r8, r0 - 78ca: d027 beq.n 791c <_lv_style_list_get_int+0x90> + 7320: 4580 cmp r8, r0 + 7322: d027 beq.n 7374 <_lv_style_list_get_int+0x90> else if(list->has_trans && weight_act >= 0 && ci == 0 && !list->skip_trans) { - 78cc: 796b ldrb r3, [r5, #5] - 78ce: f013 0f02 tst.w r3, #2 - 78d2: d005 beq.n 78e0 <_lv_style_list_get_int+0x54> - 78d4: 2800 cmp r0, #0 - 78d6: db03 blt.n 78e0 <_lv_style_list_get_int+0x54> - 78d8: b914 cbnz r4, 78e0 <_lv_style_list_get_int+0x54> - 78da: f013 0f04 tst.w r3, #4 - 78de: d023 beq.n 7928 <_lv_style_list_get_int+0x9c> + 7324: 796b ldrb r3, [r5, #5] + 7326: f013 0f02 tst.w r3, #2 + 732a: d005 beq.n 7338 <_lv_style_list_get_int+0x54> + 732c: 2800 cmp r0, #0 + 732e: db03 blt.n 7338 <_lv_style_list_get_int+0x54> + 7330: b914 cbnz r4, 7338 <_lv_style_list_get_int+0x54> + 7332: f013 0f04 tst.w r3, #4 + 7336: d023 beq.n 7380 <_lv_style_list_get_int+0x9c> else if(weight_act > weight) { - 78e0: 42b0 cmp r0, r6 - 78e2: dd04 ble.n 78ee <_lv_style_list_get_int+0x62> + 7338: 42b0 cmp r0, r6 + 733a: dd04 ble.n 7346 <_lv_style_list_get_int+0x62> *res = value_act; - 78e4: f8bd 3006 ldrh.w r3, [sp, #6] - 78e8: f8ab 3000 strh.w r3, [fp] + 733c: f8bd 3006 ldrh.w r3, [sp, #6] + 7340: f8ab 3000 strh.w r3, [fp] weight = weight_act; - 78ec: 4606 mov r6, r0 - 78ee: 3401 adds r4, #1 - 78f0: b224 sxth r4, r4 + 7344: 4606 mov r6, r0 + 7346: 3401 adds r4, #1 + 7348: b224 sxth r4, r4 for(ci = 0; ci < list->style_cnt; ci++) { - 78f2: 7928 ldrb r0, [r5, #4] - 78f4: 4284 cmp r4, r0 - 78f6: da1f bge.n 7938 <_lv_style_list_get_int+0xac> + 734a: 7928 ldrb r0, [r5, #4] + 734c: 4284 cmp r4, r0 + 734e: da1f bge.n 7390 <_lv_style_list_get_int+0xac> lv_style_t * class = lv_style_list_get_style(list, ci); - 78f8: b2e2 uxtb r2, r4 + 7350: b2e2 uxtb r2, r4 if(list->has_trans && list->skip_trans) id++; - 78fa: 796b ldrb r3, [r5, #5] - 78fc: f003 0306 and.w r3, r3, #6 - 7900: 2b06 cmp r3, #6 - 7902: bf04 itt eq - 7904: 3201 addeq r2, #1 - 7906: b2d2 uxtbeq r2, r2 + 7352: 796b ldrb r3, [r5, #5] + 7354: f003 0306 and.w r3, r3, #6 + 7358: 2b06 cmp r3, #6 + 735a: bf04 itt eq + 735c: 3201 addeq r2, #1 + 735e: b2d2 uxtbeq r2, r2 if(list->style_cnt == 0 || id >= list->style_cnt) return NULL; - 7908: 2800 cmp r0, #0 - 790a: d0d8 beq.n 78be <_lv_style_list_get_int+0x32> - 790c: 4282 cmp r2, r0 - 790e: d203 bcs.n 7918 <_lv_style_list_get_int+0x8c> + 7360: 2800 cmp r0, #0 + 7362: d0d8 beq.n 7316 <_lv_style_list_get_int+0x32> + 7364: 4282 cmp r2, r0 + 7366: d203 bcs.n 7370 <_lv_style_list_get_int+0x8c> return list->style_list[id]; - 7910: 682b ldr r3, [r5, #0] - 7912: f853 0022 ldr.w r0, [r3, r2, lsl #2] - 7916: e7d3 b.n 78c0 <_lv_style_list_get_int+0x34> + 7368: 682b ldr r3, [r5, #0] + 736a: f853 0022 ldr.w r0, [r3, r2, lsl #2] + 736e: e7d3 b.n 7318 <_lv_style_list_get_int+0x34> if(list->style_cnt == 0 || id >= list->style_cnt) return NULL; - 7918: 4650 mov r0, sl - 791a: e7d1 b.n 78c0 <_lv_style_list_get_int+0x34> + 7370: 4650 mov r0, sl + 7372: e7d1 b.n 7318 <_lv_style_list_get_int+0x34> *res = value_act; - 791c: f8bd 3006 ldrh.w r3, [sp, #6] - 7920: f8ab 3000 strh.w r3, [fp] + 7374: f8bd 3006 ldrh.w r3, [sp, #6] + 7378: f8ab 3000 strh.w r3, [fp] return LV_RES_OK; - 7924: 2001 movs r0, #1 - 7926: e00a b.n 793e <_lv_style_list_get_int+0xb2> + 737c: 2001 movs r0, #1 + 737e: e00a b.n 7396 <_lv_style_list_get_int+0xb2> *res = value_act; - 7928: f8bd 3006 ldrh.w r3, [sp, #6] - 792c: f8ab 3000 strh.w r3, [fp] + 7380: f8bd 3006 ldrh.w r3, [sp, #6] + 7384: f8ab 3000 strh.w r3, [fp] return LV_RES_OK; - 7930: 2001 movs r0, #1 - 7932: e004 b.n 793e <_lv_style_list_get_int+0xb2> + 7388: 2001 movs r0, #1 + 738a: e004 b.n 7396 <_lv_style_list_get_int+0xb2> int16_t weight = -1; - 7934: f04f 36ff mov.w r6, #4294967295 + 738c: f04f 36ff mov.w r6, #4294967295 if(weight >= 0) return LV_RES_OK; - 7938: 43f0 mvns r0, r6 + 7390: 43f0 mvns r0, r6 if(list == NULL) return LV_RES_INV; - 793a: f3c0 30c0 ubfx r0, r0, #15, #1 + 7392: f3c0 30c0 ubfx r0, r0, #15, #1 } - 793e: b003 add sp, #12 - 7940: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 7396: b003 add sp, #12 + 7398: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} if(list == NULL) return LV_RES_INV; - 7944: 2000 movs r0, #0 - 7946: 4770 bx lr + 739c: 2000 movs r0, #0 + 739e: 4770 bx lr if(list->style_list == NULL) return LV_RES_INV; - 7948: 2000 movs r0, #0 - 794a: e7f8 b.n 793e <_lv_style_list_get_int+0xb2> - 794c: 0000739d .word 0x0000739d + 73a0: 2000 movs r0, #0 + 73a2: e7f8 b.n 7396 <_lv_style_list_get_int+0xb2> + 73a4: 00006df5 .word 0x00006df5 -00007950 <_lv_style_list_get_color>: +000073a8 <_lv_style_list_get_color>: if(list == NULL) return LV_RES_INV; - 7950: 2800 cmp r0, #0 - 7952: d058 beq.n 7a06 <_lv_style_list_get_color+0xb6> + 73a8: 2800 cmp r0, #0 + 73aa: d058 beq.n 745e <_lv_style_list_get_color+0xb6> { - 7954: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 7958: b083 sub sp, #12 - 795a: 4605 mov r5, r0 + 73ac: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 73b0: b083 sub sp, #12 + 73b2: 4605 mov r5, r0 if(list->style_list == NULL) return LV_RES_INV; - 795c: 6803 ldr r3, [r0, #0] - 795e: 2b00 cmp r3, #0 - 7960: d053 beq.n 7a0a <_lv_style_list_get_color+0xba> + 73b4: 6803 ldr r3, [r0, #0] + 73b6: 2b00 cmp r3, #0 + 73b8: d053 beq.n 7462 <_lv_style_list_get_color+0xba> int16_t weight_goal = attr.full; - 7962: ea4f 2811 mov.w r8, r1, lsr #8 + 73ba: ea4f 2811 mov.w r8, r1, lsr #8 lv_color_t value_act = { 0 }; - 7966: 2300 movs r3, #0 - 7968: f8ad 3004 strh.w r3, [sp, #4] + 73be: 2300 movs r3, #0 + 73c0: f8ad 3004 strh.w r3, [sp, #4] for(ci = 0; ci < list->style_cnt; ci++) { - 796c: 7900 ldrb r0, [r0, #4] - 796e: 2800 cmp r0, #0 - 7970: d041 beq.n 79f6 <_lv_style_list_get_color+0xa6> - 7972: 4693 mov fp, r2 - 7974: 4689 mov r9, r1 - 7976: 461c mov r4, r3 - 7978: f04f 36ff mov.w r6, #4294967295 - 797c: 469a mov sl, r3 + 73c4: 7900 ldrb r0, [r0, #4] + 73c6: 2800 cmp r0, #0 + 73c8: d041 beq.n 744e <_lv_style_list_get_color+0xa6> + 73ca: 4693 mov fp, r2 + 73cc: 4689 mov r9, r1 + 73ce: 461c mov r4, r3 + 73d0: f04f 36ff mov.w r6, #4294967295 + 73d4: 469a mov sl, r3 int16_t weight_act = _lv_style_get_color(class, prop, &value_act); - 797e: 4f24 ldr r7, [pc, #144] ; (7a10 <_lv_style_list_get_color+0xc0>) - 7980: e01b b.n 79ba <_lv_style_list_get_color+0x6a> - 7982: 4650 mov r0, sl - 7984: aa01 add r2, sp, #4 - 7986: 4649 mov r1, r9 - 7988: 47b8 blx r7 + 73d6: 4f24 ldr r7, [pc, #144] ; (7468 <_lv_style_list_get_color+0xc0>) + 73d8: e01b b.n 7412 <_lv_style_list_get_color+0x6a> + 73da: 4650 mov r0, sl + 73dc: aa01 add r2, sp, #4 + 73de: 4649 mov r1, r9 + 73e0: 47b8 blx r7 if(weight_act == weight_goal) { - 798a: 4580 cmp r8, r0 - 798c: d027 beq.n 79de <_lv_style_list_get_color+0x8e> + 73e2: 4580 cmp r8, r0 + 73e4: d027 beq.n 7436 <_lv_style_list_get_color+0x8e> else if(list->has_trans && weight_act >= 0 && ci == 0 && !list->skip_trans) { - 798e: 796b ldrb r3, [r5, #5] - 7990: f013 0f02 tst.w r3, #2 - 7994: d005 beq.n 79a2 <_lv_style_list_get_color+0x52> - 7996: 2800 cmp r0, #0 - 7998: db03 blt.n 79a2 <_lv_style_list_get_color+0x52> - 799a: b914 cbnz r4, 79a2 <_lv_style_list_get_color+0x52> - 799c: f013 0f04 tst.w r3, #4 - 79a0: d023 beq.n 79ea <_lv_style_list_get_color+0x9a> + 73e6: 796b ldrb r3, [r5, #5] + 73e8: f013 0f02 tst.w r3, #2 + 73ec: d005 beq.n 73fa <_lv_style_list_get_color+0x52> + 73ee: 2800 cmp r0, #0 + 73f0: db03 blt.n 73fa <_lv_style_list_get_color+0x52> + 73f2: b914 cbnz r4, 73fa <_lv_style_list_get_color+0x52> + 73f4: f013 0f04 tst.w r3, #4 + 73f8: d023 beq.n 7442 <_lv_style_list_get_color+0x9a> else if(weight_act > weight) { - 79a2: 42b0 cmp r0, r6 - 79a4: dd04 ble.n 79b0 <_lv_style_list_get_color+0x60> + 73fa: 42b0 cmp r0, r6 + 73fc: dd04 ble.n 7408 <_lv_style_list_get_color+0x60> *res = value_act; - 79a6: f8bd 3004 ldrh.w r3, [sp, #4] - 79aa: f8ab 3000 strh.w r3, [fp] + 73fe: f8bd 3004 ldrh.w r3, [sp, #4] + 7402: f8ab 3000 strh.w r3, [fp] weight = weight_act; - 79ae: 4606 mov r6, r0 - 79b0: 3401 adds r4, #1 - 79b2: b224 sxth r4, r4 + 7406: 4606 mov r6, r0 + 7408: 3401 adds r4, #1 + 740a: b224 sxth r4, r4 for(ci = 0; ci < list->style_cnt; ci++) { - 79b4: 7928 ldrb r0, [r5, #4] - 79b6: 4284 cmp r4, r0 - 79b8: da1f bge.n 79fa <_lv_style_list_get_color+0xaa> + 740c: 7928 ldrb r0, [r5, #4] + 740e: 4284 cmp r4, r0 + 7410: da1f bge.n 7452 <_lv_style_list_get_color+0xaa> lv_style_t * class = lv_style_list_get_style(list, ci); - 79ba: b2e2 uxtb r2, r4 + 7412: b2e2 uxtb r2, r4 if(list->has_trans && list->skip_trans) id++; - 79bc: 796b ldrb r3, [r5, #5] - 79be: f003 0306 and.w r3, r3, #6 - 79c2: 2b06 cmp r3, #6 - 79c4: bf04 itt eq - 79c6: 3201 addeq r2, #1 - 79c8: b2d2 uxtbeq r2, r2 + 7414: 796b ldrb r3, [r5, #5] + 7416: f003 0306 and.w r3, r3, #6 + 741a: 2b06 cmp r3, #6 + 741c: bf04 itt eq + 741e: 3201 addeq r2, #1 + 7420: b2d2 uxtbeq r2, r2 if(list->style_cnt == 0 || id >= list->style_cnt) return NULL; - 79ca: 2800 cmp r0, #0 - 79cc: d0d9 beq.n 7982 <_lv_style_list_get_color+0x32> - 79ce: 4282 cmp r2, r0 - 79d0: d203 bcs.n 79da <_lv_style_list_get_color+0x8a> + 7422: 2800 cmp r0, #0 + 7424: d0d9 beq.n 73da <_lv_style_list_get_color+0x32> + 7426: 4282 cmp r2, r0 + 7428: d203 bcs.n 7432 <_lv_style_list_get_color+0x8a> return list->style_list[id]; - 79d2: 682b ldr r3, [r5, #0] - 79d4: f853 0022 ldr.w r0, [r3, r2, lsl #2] - 79d8: e7d4 b.n 7984 <_lv_style_list_get_color+0x34> + 742a: 682b ldr r3, [r5, #0] + 742c: f853 0022 ldr.w r0, [r3, r2, lsl #2] + 7430: e7d4 b.n 73dc <_lv_style_list_get_color+0x34> if(list->style_cnt == 0 || id >= list->style_cnt) return NULL; - 79da: 4650 mov r0, sl - 79dc: e7d2 b.n 7984 <_lv_style_list_get_color+0x34> + 7432: 4650 mov r0, sl + 7434: e7d2 b.n 73dc <_lv_style_list_get_color+0x34> *res = value_act; - 79de: f8bd 3004 ldrh.w r3, [sp, #4] - 79e2: f8ab 3000 strh.w r3, [fp] + 7436: f8bd 3004 ldrh.w r3, [sp, #4] + 743a: f8ab 3000 strh.w r3, [fp] return LV_RES_OK; - 79e6: 2001 movs r0, #1 - 79e8: e00a b.n 7a00 <_lv_style_list_get_color+0xb0> + 743e: 2001 movs r0, #1 + 7440: e00a b.n 7458 <_lv_style_list_get_color+0xb0> *res = value_act; - 79ea: f8bd 3004 ldrh.w r3, [sp, #4] - 79ee: f8ab 3000 strh.w r3, [fp] + 7442: f8bd 3004 ldrh.w r3, [sp, #4] + 7446: f8ab 3000 strh.w r3, [fp] return LV_RES_OK; - 79f2: 2001 movs r0, #1 - 79f4: e004 b.n 7a00 <_lv_style_list_get_color+0xb0> + 744a: 2001 movs r0, #1 + 744c: e004 b.n 7458 <_lv_style_list_get_color+0xb0> int16_t weight = -1; - 79f6: f04f 36ff mov.w r6, #4294967295 + 744e: f04f 36ff mov.w r6, #4294967295 if(weight >= 0) return LV_RES_OK; - 79fa: 43f0 mvns r0, r6 + 7452: 43f0 mvns r0, r6 if(list == NULL) return LV_RES_INV; - 79fc: f3c0 30c0 ubfx r0, r0, #15, #1 + 7454: f3c0 30c0 ubfx r0, r0, #15, #1 } - 7a00: b003 add sp, #12 - 7a02: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 7458: b003 add sp, #12 + 745a: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} if(list == NULL) return LV_RES_INV; - 7a06: 2000 movs r0, #0 - 7a08: 4770 bx lr + 745e: 2000 movs r0, #0 + 7460: 4770 bx lr if(list->style_list == NULL) return LV_RES_INV; - 7a0a: 2000 movs r0, #0 - 7a0c: e7f8 b.n 7a00 <_lv_style_list_get_color+0xb0> - 7a0e: bf00 nop - 7a10: 00007503 .word 0x00007503 + 7462: 2000 movs r0, #0 + 7464: e7f8 b.n 7458 <_lv_style_list_get_color+0xb0> + 7466: bf00 nop + 7468: 00006f5b .word 0x00006f5b -00007a14 <_lv_style_list_get_opa>: +0000746c <_lv_style_list_get_opa>: if(list == NULL) return LV_RES_INV; - 7a14: 2800 cmp r0, #0 - 7a16: d059 beq.n 7acc <_lv_style_list_get_opa+0xb8> + 746c: 2800 cmp r0, #0 + 746e: d059 beq.n 7524 <_lv_style_list_get_opa+0xb8> { - 7a18: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 7a1c: b083 sub sp, #12 - 7a1e: 4605 mov r5, r0 + 7470: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 7474: b083 sub sp, #12 + 7476: 4605 mov r5, r0 if(list->style_list == NULL) return LV_RES_INV; - 7a20: 6803 ldr r3, [r0, #0] - 7a22: 2b00 cmp r3, #0 - 7a24: d054 beq.n 7ad0 <_lv_style_list_get_opa+0xbc> + 7478: 6803 ldr r3, [r0, #0] + 747a: 2b00 cmp r3, #0 + 747c: d054 beq.n 7528 <_lv_style_list_get_opa+0xbc> int16_t weight_goal = attr.full; - 7a26: ea4f 2811 mov.w r8, r1, lsr #8 + 747e: ea4f 2811 mov.w r8, r1, lsr #8 lv_opa_t value_act = LV_OPA_TRANSP; - 7a2a: 2300 movs r3, #0 - 7a2c: f88d 3007 strb.w r3, [sp, #7] + 7482: 2300 movs r3, #0 + 7484: f88d 3007 strb.w r3, [sp, #7] for(ci = 0; ci < list->style_cnt; ci++) { - 7a30: 7900 ldrb r0, [r0, #4] - 7a32: 2800 cmp r0, #0 - 7a34: d042 beq.n 7abc <_lv_style_list_get_opa+0xa8> - 7a36: 4693 mov fp, r2 - 7a38: 4689 mov r9, r1 - 7a3a: 461c mov r4, r3 - 7a3c: f04f 36ff mov.w r6, #4294967295 - 7a40: 469a mov sl, r3 + 7488: 7900 ldrb r0, [r0, #4] + 748a: 2800 cmp r0, #0 + 748c: d042 beq.n 7514 <_lv_style_list_get_opa+0xa8> + 748e: 4693 mov fp, r2 + 7490: 4689 mov r9, r1 + 7492: 461c mov r4, r3 + 7494: f04f 36ff mov.w r6, #4294967295 + 7498: 469a mov sl, r3 int16_t weight_act = _lv_style_get_opa(class, prop, &value_act); - 7a42: 4f24 ldr r7, [pc, #144] ; (7ad4 <_lv_style_list_get_opa+0xc0>) - 7a44: e01c b.n 7a80 <_lv_style_list_get_opa+0x6c> - 7a46: 4650 mov r0, sl - 7a48: f10d 0207 add.w r2, sp, #7 - 7a4c: 4649 mov r1, r9 - 7a4e: 47b8 blx r7 + 749a: 4f24 ldr r7, [pc, #144] ; (752c <_lv_style_list_get_opa+0xc0>) + 749c: e01c b.n 74d8 <_lv_style_list_get_opa+0x6c> + 749e: 4650 mov r0, sl + 74a0: f10d 0207 add.w r2, sp, #7 + 74a4: 4649 mov r1, r9 + 74a6: 47b8 blx r7 if(weight_act == weight_goal) { - 7a50: 4580 cmp r8, r0 - 7a52: d027 beq.n 7aa4 <_lv_style_list_get_opa+0x90> + 74a8: 4580 cmp r8, r0 + 74aa: d027 beq.n 74fc <_lv_style_list_get_opa+0x90> else if(list->has_trans && weight_act >= 0 && ci == 0 && !list->skip_trans) { - 7a54: 796b ldrb r3, [r5, #5] - 7a56: f013 0f02 tst.w r3, #2 - 7a5a: d005 beq.n 7a68 <_lv_style_list_get_opa+0x54> - 7a5c: 2800 cmp r0, #0 - 7a5e: db03 blt.n 7a68 <_lv_style_list_get_opa+0x54> - 7a60: b914 cbnz r4, 7a68 <_lv_style_list_get_opa+0x54> - 7a62: f013 0f04 tst.w r3, #4 - 7a66: d023 beq.n 7ab0 <_lv_style_list_get_opa+0x9c> + 74ac: 796b ldrb r3, [r5, #5] + 74ae: f013 0f02 tst.w r3, #2 + 74b2: d005 beq.n 74c0 <_lv_style_list_get_opa+0x54> + 74b4: 2800 cmp r0, #0 + 74b6: db03 blt.n 74c0 <_lv_style_list_get_opa+0x54> + 74b8: b914 cbnz r4, 74c0 <_lv_style_list_get_opa+0x54> + 74ba: f013 0f04 tst.w r3, #4 + 74be: d023 beq.n 7508 <_lv_style_list_get_opa+0x9c> else if(weight_act > weight) { - 7a68: 42b0 cmp r0, r6 - 7a6a: dd04 ble.n 7a76 <_lv_style_list_get_opa+0x62> + 74c0: 42b0 cmp r0, r6 + 74c2: dd04 ble.n 74ce <_lv_style_list_get_opa+0x62> *res = value_act; - 7a6c: f89d 3007 ldrb.w r3, [sp, #7] - 7a70: f88b 3000 strb.w r3, [fp] + 74c4: f89d 3007 ldrb.w r3, [sp, #7] + 74c8: f88b 3000 strb.w r3, [fp] weight = weight_act; - 7a74: 4606 mov r6, r0 - 7a76: 3401 adds r4, #1 - 7a78: b224 sxth r4, r4 + 74cc: 4606 mov r6, r0 + 74ce: 3401 adds r4, #1 + 74d0: b224 sxth r4, r4 for(ci = 0; ci < list->style_cnt; ci++) { - 7a7a: 7928 ldrb r0, [r5, #4] - 7a7c: 4284 cmp r4, r0 - 7a7e: da1f bge.n 7ac0 <_lv_style_list_get_opa+0xac> + 74d2: 7928 ldrb r0, [r5, #4] + 74d4: 4284 cmp r4, r0 + 74d6: da1f bge.n 7518 <_lv_style_list_get_opa+0xac> lv_style_t * class = lv_style_list_get_style(list, ci); - 7a80: b2e2 uxtb r2, r4 + 74d8: b2e2 uxtb r2, r4 if(list->has_trans && list->skip_trans) id++; - 7a82: 796b ldrb r3, [r5, #5] - 7a84: f003 0306 and.w r3, r3, #6 - 7a88: 2b06 cmp r3, #6 - 7a8a: bf04 itt eq - 7a8c: 3201 addeq r2, #1 - 7a8e: b2d2 uxtbeq r2, r2 + 74da: 796b ldrb r3, [r5, #5] + 74dc: f003 0306 and.w r3, r3, #6 + 74e0: 2b06 cmp r3, #6 + 74e2: bf04 itt eq + 74e4: 3201 addeq r2, #1 + 74e6: b2d2 uxtbeq r2, r2 if(list->style_cnt == 0 || id >= list->style_cnt) return NULL; - 7a90: 2800 cmp r0, #0 - 7a92: d0d8 beq.n 7a46 <_lv_style_list_get_opa+0x32> - 7a94: 4282 cmp r2, r0 - 7a96: d203 bcs.n 7aa0 <_lv_style_list_get_opa+0x8c> + 74e8: 2800 cmp r0, #0 + 74ea: d0d8 beq.n 749e <_lv_style_list_get_opa+0x32> + 74ec: 4282 cmp r2, r0 + 74ee: d203 bcs.n 74f8 <_lv_style_list_get_opa+0x8c> return list->style_list[id]; - 7a98: 682b ldr r3, [r5, #0] - 7a9a: f853 0022 ldr.w r0, [r3, r2, lsl #2] - 7a9e: e7d3 b.n 7a48 <_lv_style_list_get_opa+0x34> + 74f0: 682b ldr r3, [r5, #0] + 74f2: f853 0022 ldr.w r0, [r3, r2, lsl #2] + 74f6: e7d3 b.n 74a0 <_lv_style_list_get_opa+0x34> if(list->style_cnt == 0 || id >= list->style_cnt) return NULL; - 7aa0: 4650 mov r0, sl - 7aa2: e7d1 b.n 7a48 <_lv_style_list_get_opa+0x34> + 74f8: 4650 mov r0, sl + 74fa: e7d1 b.n 74a0 <_lv_style_list_get_opa+0x34> *res = value_act; - 7aa4: f89d 3007 ldrb.w r3, [sp, #7] - 7aa8: f88b 3000 strb.w r3, [fp] + 74fc: f89d 3007 ldrb.w r3, [sp, #7] + 7500: f88b 3000 strb.w r3, [fp] return LV_RES_OK; - 7aac: 2001 movs r0, #1 - 7aae: e00a b.n 7ac6 <_lv_style_list_get_opa+0xb2> + 7504: 2001 movs r0, #1 + 7506: e00a b.n 751e <_lv_style_list_get_opa+0xb2> *res = value_act; - 7ab0: f89d 3007 ldrb.w r3, [sp, #7] - 7ab4: f88b 3000 strb.w r3, [fp] + 7508: f89d 3007 ldrb.w r3, [sp, #7] + 750c: f88b 3000 strb.w r3, [fp] return LV_RES_OK; - 7ab8: 2001 movs r0, #1 - 7aba: e004 b.n 7ac6 <_lv_style_list_get_opa+0xb2> + 7510: 2001 movs r0, #1 + 7512: e004 b.n 751e <_lv_style_list_get_opa+0xb2> int16_t weight = -1; - 7abc: f04f 36ff mov.w r6, #4294967295 + 7514: f04f 36ff mov.w r6, #4294967295 if(weight >= 0) return LV_RES_OK; - 7ac0: 43f0 mvns r0, r6 + 7518: 43f0 mvns r0, r6 if(list == NULL) return LV_RES_INV; - 7ac2: f3c0 30c0 ubfx r0, r0, #15, #1 + 751a: f3c0 30c0 ubfx r0, r0, #15, #1 } - 7ac6: b003 add sp, #12 - 7ac8: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 751e: b003 add sp, #12 + 7520: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} if(list == NULL) return LV_RES_INV; - 7acc: 2000 movs r0, #0 - 7ace: 4770 bx lr + 7524: 2000 movs r0, #0 + 7526: 4770 bx lr if(list->style_list == NULL) return LV_RES_INV; - 7ad0: 2000 movs r0, #0 - 7ad2: e7f8 b.n 7ac6 <_lv_style_list_get_opa+0xb2> - 7ad4: 00007453 .word 0x00007453 + 7528: 2000 movs r0, #0 + 752a: e7f8 b.n 751e <_lv_style_list_get_opa+0xb2> + 752c: 00006eab .word 0x00006eab -00007ad8 <_lv_style_list_get_ptr>: +00007530 <_lv_style_list_get_ptr>: if(list == NULL) return LV_RES_INV; - 7ad8: 2800 cmp r0, #0 - 7ada: d052 beq.n 7b82 <_lv_style_list_get_ptr+0xaa> + 7530: 2800 cmp r0, #0 + 7532: d052 beq.n 75da <_lv_style_list_get_ptr+0xaa> { - 7adc: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 7ae0: b083 sub sp, #12 - 7ae2: 4605 mov r5, r0 + 7534: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 7538: b083 sub sp, #12 + 753a: 4605 mov r5, r0 if(list->style_list == NULL) return LV_RES_INV; - 7ae4: 6803 ldr r3, [r0, #0] - 7ae6: 2b00 cmp r3, #0 - 7ae8: d04d beq.n 7b86 <_lv_style_list_get_ptr+0xae> + 753c: 6803 ldr r3, [r0, #0] + 753e: 2b00 cmp r3, #0 + 7540: d04d beq.n 75de <_lv_style_list_get_ptr+0xae> int16_t weight_goal = attr.full; - 7aea: ea4f 2811 mov.w r8, r1, lsr #8 + 7542: ea4f 2811 mov.w r8, r1, lsr #8 for(ci = 0; ci < list->style_cnt; ci++) { - 7aee: 7900 ldrb r0, [r0, #4] - 7af0: 2800 cmp r0, #0 - 7af2: d03e beq.n 7b72 <_lv_style_list_get_ptr+0x9a> - 7af4: 4693 mov fp, r2 - 7af6: 4689 mov r9, r1 - 7af8: 2400 movs r4, #0 - 7afa: f04f 36ff mov.w r6, #4294967295 - 7afe: 46a2 mov sl, r4 + 7546: 7900 ldrb r0, [r0, #4] + 7548: 2800 cmp r0, #0 + 754a: d03e beq.n 75ca <_lv_style_list_get_ptr+0x9a> + 754c: 4693 mov fp, r2 + 754e: 4689 mov r9, r1 + 7550: 2400 movs r4, #0 + 7552: f04f 36ff mov.w r6, #4294967295 + 7556: 46a2 mov sl, r4 int16_t weight_act = _lv_style_get_ptr(class, prop, &value_act); - 7b00: 4f22 ldr r7, [pc, #136] ; (7b8c <_lv_style_list_get_ptr+0xb4>) - 7b02: e01a b.n 7b3a <_lv_style_list_get_ptr+0x62> - 7b04: 4650 mov r0, sl - 7b06: aa01 add r2, sp, #4 - 7b08: 4649 mov r1, r9 - 7b0a: 47b8 blx r7 + 7558: 4f22 ldr r7, [pc, #136] ; (75e4 <_lv_style_list_get_ptr+0xb4>) + 755a: e01a b.n 7592 <_lv_style_list_get_ptr+0x62> + 755c: 4650 mov r0, sl + 755e: aa01 add r2, sp, #4 + 7560: 4649 mov r1, r9 + 7562: 47b8 blx r7 if(weight_act == weight_goal) { - 7b0c: 4580 cmp r8, r0 - 7b0e: d026 beq.n 7b5e <_lv_style_list_get_ptr+0x86> + 7564: 4580 cmp r8, r0 + 7566: d026 beq.n 75b6 <_lv_style_list_get_ptr+0x86> else if(list->has_trans && weight_act >= 0 && ci == 0 && !list->skip_trans) { - 7b10: 796b ldrb r3, [r5, #5] - 7b12: f013 0f02 tst.w r3, #2 - 7b16: d005 beq.n 7b24 <_lv_style_list_get_ptr+0x4c> - 7b18: 2800 cmp r0, #0 - 7b1a: db03 blt.n 7b24 <_lv_style_list_get_ptr+0x4c> - 7b1c: b914 cbnz r4, 7b24 <_lv_style_list_get_ptr+0x4c> - 7b1e: f013 0f04 tst.w r3, #4 - 7b22: d021 beq.n 7b68 <_lv_style_list_get_ptr+0x90> + 7568: 796b ldrb r3, [r5, #5] + 756a: f013 0f02 tst.w r3, #2 + 756e: d005 beq.n 757c <_lv_style_list_get_ptr+0x4c> + 7570: 2800 cmp r0, #0 + 7572: db03 blt.n 757c <_lv_style_list_get_ptr+0x4c> + 7574: b914 cbnz r4, 757c <_lv_style_list_get_ptr+0x4c> + 7576: f013 0f04 tst.w r3, #4 + 757a: d021 beq.n 75c0 <_lv_style_list_get_ptr+0x90> else if(weight_act > weight) { - 7b24: 42b0 cmp r0, r6 - 7b26: dd03 ble.n 7b30 <_lv_style_list_get_ptr+0x58> + 757c: 42b0 cmp r0, r6 + 757e: dd03 ble.n 7588 <_lv_style_list_get_ptr+0x58> *res = value_act; - 7b28: 9b01 ldr r3, [sp, #4] - 7b2a: f8cb 3000 str.w r3, [fp] + 7580: 9b01 ldr r3, [sp, #4] + 7582: f8cb 3000 str.w r3, [fp] weight = weight_act; - 7b2e: 4606 mov r6, r0 - 7b30: 3401 adds r4, #1 - 7b32: b224 sxth r4, r4 + 7586: 4606 mov r6, r0 + 7588: 3401 adds r4, #1 + 758a: b224 sxth r4, r4 for(ci = 0; ci < list->style_cnt; ci++) { - 7b34: 7928 ldrb r0, [r5, #4] - 7b36: 4284 cmp r4, r0 - 7b38: da1d bge.n 7b76 <_lv_style_list_get_ptr+0x9e> + 758c: 7928 ldrb r0, [r5, #4] + 758e: 4284 cmp r4, r0 + 7590: da1d bge.n 75ce <_lv_style_list_get_ptr+0x9e> lv_style_t * class = lv_style_list_get_style(list, ci); - 7b3a: b2e2 uxtb r2, r4 + 7592: b2e2 uxtb r2, r4 if(list->has_trans && list->skip_trans) id++; - 7b3c: 796b ldrb r3, [r5, #5] - 7b3e: f003 0306 and.w r3, r3, #6 - 7b42: 2b06 cmp r3, #6 - 7b44: bf04 itt eq - 7b46: 3201 addeq r2, #1 - 7b48: b2d2 uxtbeq r2, r2 + 7594: 796b ldrb r3, [r5, #5] + 7596: f003 0306 and.w r3, r3, #6 + 759a: 2b06 cmp r3, #6 + 759c: bf04 itt eq + 759e: 3201 addeq r2, #1 + 75a0: b2d2 uxtbeq r2, r2 if(list->style_cnt == 0 || id >= list->style_cnt) return NULL; - 7b4a: 2800 cmp r0, #0 - 7b4c: d0da beq.n 7b04 <_lv_style_list_get_ptr+0x2c> - 7b4e: 4282 cmp r2, r0 - 7b50: d203 bcs.n 7b5a <_lv_style_list_get_ptr+0x82> + 75a2: 2800 cmp r0, #0 + 75a4: d0da beq.n 755c <_lv_style_list_get_ptr+0x2c> + 75a6: 4282 cmp r2, r0 + 75a8: d203 bcs.n 75b2 <_lv_style_list_get_ptr+0x82> return list->style_list[id]; - 7b52: 682b ldr r3, [r5, #0] - 7b54: f853 0022 ldr.w r0, [r3, r2, lsl #2] - 7b58: e7d5 b.n 7b06 <_lv_style_list_get_ptr+0x2e> + 75aa: 682b ldr r3, [r5, #0] + 75ac: f853 0022 ldr.w r0, [r3, r2, lsl #2] + 75b0: e7d5 b.n 755e <_lv_style_list_get_ptr+0x2e> if(list->style_cnt == 0 || id >= list->style_cnt) return NULL; - 7b5a: 4650 mov r0, sl - 7b5c: e7d3 b.n 7b06 <_lv_style_list_get_ptr+0x2e> + 75b2: 4650 mov r0, sl + 75b4: e7d3 b.n 755e <_lv_style_list_get_ptr+0x2e> *res = value_act; - 7b5e: 9b01 ldr r3, [sp, #4] - 7b60: f8cb 3000 str.w r3, [fp] + 75b6: 9b01 ldr r3, [sp, #4] + 75b8: f8cb 3000 str.w r3, [fp] return LV_RES_OK; - 7b64: 2001 movs r0, #1 - 7b66: e009 b.n 7b7c <_lv_style_list_get_ptr+0xa4> + 75bc: 2001 movs r0, #1 + 75be: e009 b.n 75d4 <_lv_style_list_get_ptr+0xa4> *res = value_act; - 7b68: 9b01 ldr r3, [sp, #4] - 7b6a: f8cb 3000 str.w r3, [fp] + 75c0: 9b01 ldr r3, [sp, #4] + 75c2: f8cb 3000 str.w r3, [fp] return LV_RES_OK; - 7b6e: 2001 movs r0, #1 - 7b70: e004 b.n 7b7c <_lv_style_list_get_ptr+0xa4> + 75c6: 2001 movs r0, #1 + 75c8: e004 b.n 75d4 <_lv_style_list_get_ptr+0xa4> int16_t weight = -1; - 7b72: f04f 36ff mov.w r6, #4294967295 + 75ca: f04f 36ff mov.w r6, #4294967295 if(weight >= 0) return LV_RES_OK; - 7b76: 43f0 mvns r0, r6 + 75ce: 43f0 mvns r0, r6 if(list == NULL) return LV_RES_INV; - 7b78: f3c0 30c0 ubfx r0, r0, #15, #1 + 75d0: f3c0 30c0 ubfx r0, r0, #15, #1 } - 7b7c: b003 add sp, #12 - 7b7e: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 75d4: b003 add sp, #12 + 75d6: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} if(list == NULL) return LV_RES_INV; - 7b82: 2000 movs r0, #0 - 7b84: 4770 bx lr + 75da: 2000 movs r0, #0 + 75dc: 4770 bx lr if(list->style_list == NULL) return LV_RES_INV; - 7b86: 2000 movs r0, #0 - 7b88: e7f8 b.n 7b7c <_lv_style_list_get_ptr+0xa4> - 7b8a: bf00 nop - 7b8c: 000075b9 .word 0x000075b9 + 75de: 2000 movs r0, #0 + 75e0: e7f8 b.n 75d4 <_lv_style_list_get_ptr+0xa4> + 75e2: bf00 nop + 75e4: 00007011 .word 0x00007011 -00007b90 : +000075e8 : } } } static inline lv_color_t color_blend_true_color_additive(lv_color_t fg, lv_color_t bg, lv_opa_t opa) { - 7b90: b5f0 push {r4, r5, r6, r7, lr} - 7b92: f001 0e1f and.w lr, r1, #31 - 7b96: f3c1 1645 ubfx r6, r1, #5, #6 - 7b9a: f3c1 21c4 ubfx r1, r1, #11, #5 + 75e8: b5f0 push {r4, r5, r6, r7, lr} + 75ea: f001 0e1f and.w lr, r1, #31 + 75ee: f3c1 1645 ubfx r6, r1, #5, #6 + 75f2: f3c1 21c4 ubfx r1, r1, #11, #5 if(opa <= LV_OPA_MIN) return bg; - 7b9e: 2a05 cmp r2, #5 - 7ba0: d93f bls.n 7c22 + 75f6: 2a05 cmp r2, #5 + 75f8: d93f bls.n 767a uint32_t tmp; #if LV_COLOR_DEPTH == 1 tmp = bg.full + fg.full; fg.full = LV_MATH_MIN(tmp, 1); #else tmp = bg.ch.red + fg.ch.red; - 7ba2: f3c0 24c4 ubfx r4, r0, #11, #5 - 7ba6: 440c add r4, r1 + 75fa: f3c0 24c4 ubfx r4, r0, #11, #5 + 75fe: 440c add r4, r1 #if LV_COLOR_DEPTH == 8 fg.ch.red = LV_MATH_MIN(tmp, 7); #elif LV_COLOR_DEPTH == 16 fg.ch.red = LV_MATH_MIN(tmp, 31); - 7ba8: 2c1f cmp r4, #31 - 7baa: bf28 it cs - 7bac: 241f movcs r4, #31 - 7bae: f004 041f and.w r4, r4, #31 + 7600: 2c1f cmp r4, #31 + 7602: bf28 it cs + 7604: 241f movcs r4, #31 + 7606: f004 041f and.w r4, r4, #31 #if LV_COLOR_DEPTH == 8 fg.ch.green = LV_MATH_MIN(tmp, 7); #elif LV_COLOR_DEPTH == 16 #if LV_COLOR_16_SWAP == 0 tmp = bg.ch.green + fg.ch.green; - 7bb2: f3c0 1345 ubfx r3, r0, #5, #6 - 7bb6: 4433 add r3, r6 + 760a: f3c0 1345 ubfx r3, r0, #5, #6 + 760e: 4433 add r3, r6 fg.ch.green = LV_MATH_MIN(tmp, 63); - 7bb8: 2b3f cmp r3, #63 ; 0x3f - 7bba: bf28 it cs - 7bbc: 233f movcs r3, #63 ; 0x3f - 7bbe: f003 053f and.w r5, r3, #63 ; 0x3f + 7610: 2b3f cmp r3, #63 ; 0x3f + 7612: bf28 it cs + 7614: 233f movcs r3, #63 ; 0x3f + 7616: f003 053f and.w r5, r3, #63 ; 0x3f #elif LV_COLOR_DEPTH == 32 fg.ch.green = LV_MATH_MIN(tmp, 255); #endif tmp = bg.ch.blue + fg.ch.blue; - 7bc2: f000 001f and.w r0, r0, #31 - 7bc6: 4470 add r0, lr + 761a: f000 001f and.w r0, r0, #31 + 761e: 4470 add r0, lr #if LV_COLOR_DEPTH == 8 fg.ch.blue = LV_MATH_MIN(tmp, 4); #elif LV_COLOR_DEPTH == 16 fg.ch.blue = LV_MATH_MIN(tmp, 31); - 7bc8: 281f cmp r0, #31 - 7bca: bf28 it cs - 7bcc: 201f movcs r0, #31 - 7bce: f000 031f and.w r3, r0, #31 + 7620: 281f cmp r0, #31 + 7622: bf28 it cs + 7624: 201f movcs r0, #31 + 7626: f000 031f and.w r3, r0, #31 #elif LV_COLOR_DEPTH == 32 fg.ch.blue = LV_MATH_MIN(tmp, 255); #endif #endif if(opa == LV_OPA_COVER) return fg; - 7bd2: 2aff cmp r2, #255 ; 0xff - 7bd4: d02e beq.n 7c34 + 762a: 2aff cmp r2, #255 ; 0xff + 762c: d02e beq.n 768c LV_ATTRIBUTE_FAST_MEM static inline lv_color_t lv_color_mix(lv_color_t c1, lv_color_t c2, uint8_t mix) { lv_color_t ret; #if LV_COLOR_DEPTH != 1 /*LV_COLOR_DEPTH == 8, 16 or 32*/ LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 7bd6: f1c2 07ff rsb r7, r2, #255 ; 0xff + 762e: f1c2 07ff rsb r7, r2, #255 ; 0xff LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 7bda: fb07 f00e mul.w r0, r7, lr - 7bde: fb02 0003 mla r0, r2, r3, r0 - 7be2: eb00 2300 add.w r3, r0, r0, lsl #8 - 7be6: eb00 10c3 add.w r0, r0, r3, lsl #7 - 7bea: 0dc3 lsrs r3, r0, #23 - 7bec: f04f 0000 mov.w r0, #0 - 7bf0: f363 0004 bfi r0, r3, #0, #5 + 7632: fb07 f00e mul.w r0, r7, lr + 7636: fb02 0003 mla r0, r2, r3, r0 + 763a: eb00 2300 add.w r3, r0, r0, lsl #8 + 763e: eb00 10c3 add.w r0, r0, r3, lsl #7 + 7642: 0dc3 lsrs r3, r0, #23 + 7644: f04f 0000 mov.w r0, #0 + 7648: f363 0004 bfi r0, r3, #0, #5 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 7bf4: fb07 f306 mul.w r3, r7, r6 - 7bf8: fb02 3305 mla r3, r2, r5, r3 - 7bfc: eb03 2503 add.w r5, r3, r3, lsl #8 - 7c00: eb03 13c5 add.w r3, r3, r5, lsl #7 - 7c04: 0ddb lsrs r3, r3, #23 - 7c06: f363 104a bfi r0, r3, #5, #6 + 764c: fb07 f306 mul.w r3, r7, r6 + 7650: fb02 3305 mla r3, r2, r5, r3 + 7654: eb03 2503 add.w r5, r3, r3, lsl #8 + 7658: eb03 13c5 add.w r3, r3, r5, lsl #7 + 765c: 0ddb lsrs r3, r3, #23 + 765e: f363 104a bfi r0, r3, #5, #6 LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 7c0a: fb07 f101 mul.w r1, r7, r1 - 7c0e: fb02 1204 mla r2, r2, r4, r1 - 7c12: eb02 2302 add.w r3, r2, r2, lsl #8 - 7c16: eb02 12c3 add.w r2, r2, r3, lsl #7 - 7c1a: 0dd2 lsrs r2, r2, #23 - 7c1c: f362 20cf bfi r0, r2, #11, #5 + 7662: fb07 f101 mul.w r1, r7, r1 + 7666: fb02 1204 mla r2, r2, r4, r1 + 766a: eb02 2302 add.w r3, r2, r2, lsl #8 + 766e: eb02 12c3 add.w r2, r2, r3, lsl #7 + 7672: 0dd2 lsrs r2, r2, #23 + 7674: f362 20cf bfi r0, r2, #11, #5 return lv_color_mix(fg, bg, opa); } - 7c20: bdf0 pop {r4, r5, r6, r7, pc} + 7678: bdf0 pop {r4, r5, r6, r7, pc} if(opa <= LV_OPA_MIN) return bg; - 7c22: f04f 0000 mov.w r0, #0 - 7c26: f36e 0004 bfi r0, lr, #0, #5 - 7c2a: f366 104a bfi r0, r6, #5, #6 - 7c2e: f361 20cf bfi r0, r1, #11, #5 - 7c32: bdf0 pop {r4, r5, r6, r7, pc} + 767a: f04f 0000 mov.w r0, #0 + 767e: f36e 0004 bfi r0, lr, #0, #5 + 7682: f366 104a bfi r0, r6, #5, #6 + 7686: f361 20cf bfi r0, r1, #11, #5 + 768a: bdf0 pop {r4, r5, r6, r7, pc} if(opa == LV_OPA_COVER) return fg; - 7c34: f04f 0000 mov.w r0, #0 - 7c38: f363 0004 bfi r0, r3, #0, #5 - 7c3c: f365 104a bfi r0, r5, #5, #6 - 7c40: f364 20cf bfi r0, r4, #11, #5 - 7c44: bdf0 pop {r4, r5, r6, r7, pc} + 768c: f04f 0000 mov.w r0, #0 + 7690: f363 0004 bfi r0, r3, #0, #5 + 7694: f365 104a bfi r0, r5, #5, #6 + 7698: f364 20cf bfi r0, r4, #11, #5 + 769c: bdf0 pop {r4, r5, r6, r7, pc} -00007c46 : +0000769e : static inline lv_color_t color_blend_true_color_subtractive(lv_color_t fg, lv_color_t bg, lv_opa_t opa) { - 7c46: b5f0 push {r4, r5, r6, r7, lr} - 7c48: f001 0e1f and.w lr, r1, #31 - 7c4c: f3c1 1645 ubfx r6, r1, #5, #6 - 7c50: f3c1 21c4 ubfx r1, r1, #11, #5 + 769e: b5f0 push {r4, r5, r6, r7, lr} + 76a0: f001 0e1f and.w lr, r1, #31 + 76a4: f3c1 1645 ubfx r6, r1, #5, #6 + 76a8: f3c1 21c4 ubfx r1, r1, #11, #5 if(opa <= LV_OPA_MIN) return bg; - 7c54: 2a05 cmp r2, #5 - 7c56: d93d bls.n 7cd4 + 76ac: 2a05 cmp r2, #5 + 76ae: d93d bls.n 772c int32_t tmp; tmp = bg.ch.red - fg.ch.red; - 7c58: f3c0 24c4 ubfx r4, r0, #11, #5 - 7c5c: 1b0c subs r4, r1, r4 + 76b0: f3c0 24c4 ubfx r4, r0, #11, #5 + 76b4: 1b0c subs r4, r1, r4 fg.ch.red = LV_MATH_MAX(tmp, 0); - 7c5e: ea24 74e4 bic.w r4, r4, r4, asr #31 - 7c62: f004 041f and.w r4, r4, #31 + 76b6: ea24 74e4 bic.w r4, r4, r4, asr #31 + 76ba: f004 041f and.w r4, r4, #31 #if LV_COLOR_16_SWAP == 0 tmp = bg.ch.green - fg.ch.green; - 7c66: f3c0 1345 ubfx r3, r0, #5, #6 - 7c6a: 1af3 subs r3, r6, r3 + 76be: f3c0 1345 ubfx r3, r0, #5, #6 + 76c2: 1af3 subs r3, r6, r3 fg.ch.green = LV_MATH_MAX(tmp, 0); - 7c6c: ea23 73e3 bic.w r3, r3, r3, asr #31 - 7c70: f003 053f and.w r5, r3, #63 ; 0x3f + 76c4: ea23 73e3 bic.w r3, r3, r3, asr #31 + 76c8: f003 053f and.w r5, r3, #63 ; 0x3f tmp = LV_MATH_MAX(tmp, 0); fg.ch.green_h = tmp >> 3; fg.ch.green_l = tmp & 0x7; #endif tmp = bg.ch.blue - fg.ch.blue; - 7c74: f000 001f and.w r0, r0, #31 - 7c78: ebae 0000 sub.w r0, lr, r0 + 76cc: f000 001f and.w r0, r0, #31 + 76d0: ebae 0000 sub.w r0, lr, r0 fg.ch.blue = LV_MATH_MAX(tmp, 0); - 7c7c: ea20 70e0 bic.w r0, r0, r0, asr #31 - 7c80: f000 031f and.w r3, r0, #31 + 76d4: ea20 70e0 bic.w r0, r0, r0, asr #31 + 76d8: f000 031f and.w r3, r0, #31 if(opa == LV_OPA_COVER) return fg; - 7c84: 2aff cmp r2, #255 ; 0xff - 7c86: d02e beq.n 7ce6 - 7c88: f1c2 07ff rsb r7, r2, #255 ; 0xff + 76dc: 2aff cmp r2, #255 ; 0xff + 76de: d02e beq.n 773e + 76e0: f1c2 07ff rsb r7, r2, #255 ; 0xff LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 7c8c: fb07 f00e mul.w r0, r7, lr - 7c90: fb02 0003 mla r0, r2, r3, r0 - 7c94: eb00 2300 add.w r3, r0, r0, lsl #8 - 7c98: eb00 10c3 add.w r0, r0, r3, lsl #7 - 7c9c: 0dc3 lsrs r3, r0, #23 - 7c9e: f04f 0000 mov.w r0, #0 - 7ca2: f363 0004 bfi r0, r3, #0, #5 + 76e4: fb07 f00e mul.w r0, r7, lr + 76e8: fb02 0003 mla r0, r2, r3, r0 + 76ec: eb00 2300 add.w r3, r0, r0, lsl #8 + 76f0: eb00 10c3 add.w r0, r0, r3, lsl #7 + 76f4: 0dc3 lsrs r3, r0, #23 + 76f6: f04f 0000 mov.w r0, #0 + 76fa: f363 0004 bfi r0, r3, #0, #5 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 7ca6: fb07 f306 mul.w r3, r7, r6 - 7caa: fb02 3305 mla r3, r2, r5, r3 - 7cae: eb03 2503 add.w r5, r3, r3, lsl #8 - 7cb2: eb03 13c5 add.w r3, r3, r5, lsl #7 - 7cb6: 0ddb lsrs r3, r3, #23 - 7cb8: f363 104a bfi r0, r3, #5, #6 + 76fe: fb07 f306 mul.w r3, r7, r6 + 7702: fb02 3305 mla r3, r2, r5, r3 + 7706: eb03 2503 add.w r5, r3, r3, lsl #8 + 770a: eb03 13c5 add.w r3, r3, r5, lsl #7 + 770e: 0ddb lsrs r3, r3, #23 + 7710: f363 104a bfi r0, r3, #5, #6 LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 7cbc: fb07 f101 mul.w r1, r7, r1 - 7cc0: fb02 1204 mla r2, r2, r4, r1 - 7cc4: eb02 2302 add.w r3, r2, r2, lsl #8 - 7cc8: eb02 12c3 add.w r2, r2, r3, lsl #7 - 7ccc: 0dd2 lsrs r2, r2, #23 - 7cce: f362 20cf bfi r0, r2, #11, #5 + 7714: fb07 f101 mul.w r1, r7, r1 + 7718: fb02 1204 mla r2, r2, r4, r1 + 771c: eb02 2302 add.w r3, r2, r2, lsl #8 + 7720: eb02 12c3 add.w r2, r2, r3, lsl #7 + 7724: 0dd2 lsrs r2, r2, #23 + 7726: f362 20cf bfi r0, r2, #11, #5 return lv_color_mix(fg, bg, opa); } - 7cd2: bdf0 pop {r4, r5, r6, r7, pc} + 772a: bdf0 pop {r4, r5, r6, r7, pc} if(opa <= LV_OPA_MIN) return bg; - 7cd4: f04f 0000 mov.w r0, #0 - 7cd8: f36e 0004 bfi r0, lr, #0, #5 - 7cdc: f366 104a bfi r0, r6, #5, #6 - 7ce0: f361 20cf bfi r0, r1, #11, #5 - 7ce4: bdf0 pop {r4, r5, r6, r7, pc} + 772c: f04f 0000 mov.w r0, #0 + 7730: f36e 0004 bfi r0, lr, #0, #5 + 7734: f366 104a bfi r0, r6, #5, #6 + 7738: f361 20cf bfi r0, r1, #11, #5 + 773c: bdf0 pop {r4, r5, r6, r7, pc} if(opa == LV_OPA_COVER) return fg; - 7ce6: f04f 0000 mov.w r0, #0 - 7cea: f363 0004 bfi r0, r3, #0, #5 - 7cee: f365 104a bfi r0, r5, #5, #6 - 7cf2: f364 20cf bfi r0, r4, #11, #5 - 7cf6: bdf0 pop {r4, r5, r6, r7, pc} - -00007cf8 <_lv_blend_fill>: -{ - 7cf8: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 7cfc: b093 sub sp, #76 ; 0x4c - 7cfe: f89d 4070 ldrb.w r4, [sp, #112] ; 0x70 - 7d02: f89d b074 ldrb.w fp, [sp, #116] ; 0x74 - 7d06: f89d 9078 ldrb.w r9, [sp, #120] ; 0x78 + 773e: f04f 0000 mov.w r0, #0 + 7742: f363 0004 bfi r0, r3, #0, #5 + 7746: f365 104a bfi r0, r5, #5, #6 + 774a: f364 20cf bfi r0, r4, #11, #5 + 774e: bdf0 pop {r4, r5, r6, r7, pc} + +00007750 <_lv_blend_fill>: +{ + 7750: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 7754: b093 sub sp, #76 ; 0x4c + 7756: f89d 4070 ldrb.w r4, [sp, #112] ; 0x70 + 775a: f89d b074 ldrb.w fp, [sp, #116] ; 0x74 + 775e: f89d 9078 ldrb.w r9, [sp, #120] ; 0x78 if(opa < LV_OPA_MIN) return; - 7d0a: f1bb 0f04 cmp.w fp, #4 - 7d0e: d900 bls.n 7d12 <_lv_blend_fill+0x1a> + 7762: f1bb 0f04 cmp.w fp, #4 + 7766: d900 bls.n 776a <_lv_blend_fill+0x1a> if(mask_res == LV_DRAW_MASK_RES_TRANSP) return; - 7d10: b914 cbnz r4, 7d18 <_lv_blend_fill+0x20> -} - 7d12: b013 add sp, #76 ; 0x4c - 7d14: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} - 7d18: 9308 str r3, [sp, #32] - 7d1a: f8ad 2024 strh.w r2, [sp, #36] ; 0x24 - 7d1e: 460e mov r6, r1 - 7d20: 4605 mov r5, r0 + 7768: b914 cbnz r4, 7770 <_lv_blend_fill+0x20> +} + 776a: b013 add sp, #76 ; 0x4c + 776c: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 7770: 9308 str r3, [sp, #32] + 7772: f8ad 2024 strh.w r2, [sp, #36] ; 0x24 + 7776: 460e mov r6, r1 + 7778: 4605 mov r5, r0 lv_disp_t * disp = _lv_refr_get_disp_refreshing(); - 7d22: 4bba ldr r3, [pc, #744] ; (800c <_lv_blend_fill+0x314>) - 7d24: 4798 blx r3 - 7d26: 4680 mov r8, r0 + 777a: 4bba ldr r3, [pc, #744] ; (7a64 <_lv_blend_fill+0x314>) + 777c: 4798 blx r3 + 777e: 4680 mov r8, r0 lv_disp_buf_t * vdb = lv_disp_get_buf(disp); - 7d28: 4bb9 ldr r3, [pc, #740] ; (8010 <_lv_blend_fill+0x318>) - 7d2a: 4798 blx r3 - 7d2c: 4607 mov r7, r0 + 7780: 4bb9 ldr r3, [pc, #740] ; (7a68 <_lv_blend_fill+0x318>) + 7782: 4798 blx r3 + 7784: 4607 mov r7, r0 lv_color_t * disp_buf = vdb->buf_act; - 7d2e: 6882 ldr r2, [r0, #8] - 7d30: 9206 str r2, [sp, #24] + 7786: 6882 ldr r2, [r0, #8] + 7788: 9206 str r2, [sp, #24] is_common = _lv_area_intersect(&draw_area, clip_area, fill_area); - 7d32: 4632 mov r2, r6 - 7d34: 4629 mov r1, r5 - 7d36: a810 add r0, sp, #64 ; 0x40 - 7d38: 4bb6 ldr r3, [pc, #728] ; (8014 <_lv_blend_fill+0x31c>) - 7d3a: 4798 blx r3 + 778a: 4632 mov r2, r6 + 778c: 4629 mov r1, r5 + 778e: a810 add r0, sp, #64 ; 0x40 + 7790: 4bb6 ldr r3, [pc, #728] ; (7a6c <_lv_blend_fill+0x31c>) + 7792: 4798 blx r3 if(!is_common) return; - 7d3c: 2800 cmp r0, #0 - 7d3e: d0e8 beq.n 7d12 <_lv_blend_fill+0x1a> + 7794: 2800 cmp r0, #0 + 7796: d0e8 beq.n 776a <_lv_blend_fill+0x1a> draw_area.x1 -= disp_area->x1; - 7d40: 8a3a ldrh r2, [r7, #16] - 7d42: f8bd 3040 ldrh.w r3, [sp, #64] ; 0x40 - 7d46: 1a9b subs r3, r3, r2 - 7d48: b299 uxth r1, r3 - 7d4a: 460d mov r5, r1 - 7d4c: 910a str r1, [sp, #40] ; 0x28 - 7d4e: b208 sxth r0, r1 - 7d50: 900b str r0, [sp, #44] ; 0x2c - 7d52: f8ad 0040 strh.w r0, [sp, #64] ; 0x40 + 7798: 8a3a ldrh r2, [r7, #16] + 779a: f8bd 3040 ldrh.w r3, [sp, #64] ; 0x40 + 779e: 1a9b subs r3, r3, r2 + 77a0: b299 uxth r1, r3 + 77a2: 460d mov r5, r1 + 77a4: 910a str r1, [sp, #40] ; 0x28 + 77a6: b208 sxth r0, r1 + 77a8: 900b str r0, [sp, #44] ; 0x2c + 77aa: f8ad 0040 strh.w r0, [sp, #64] ; 0x40 draw_area.y1 -= disp_area->y1; - 7d56: 8a7b ldrh r3, [r7, #18] - 7d58: f8bd 1042 ldrh.w r1, [sp, #66] ; 0x42 - 7d5c: 1ac9 subs r1, r1, r3 - 7d5e: fa0f fc81 sxth.w ip, r1 - 7d62: f8ad c042 strh.w ip, [sp, #66] ; 0x42 + 77ae: 8a7b ldrh r3, [r7, #18] + 77b0: f8bd 1042 ldrh.w r1, [sp, #66] ; 0x42 + 77b4: 1ac9 subs r1, r1, r3 + 77b6: fa0f fc81 sxth.w ip, r1 + 77ba: f8ad c042 strh.w ip, [sp, #66] ; 0x42 draw_area.x2 -= disp_area->x1; - 7d66: f8bd 0044 ldrh.w r0, [sp, #68] ; 0x44 - 7d6a: 1a80 subs r0, r0, r2 - 7d6c: b280 uxth r0, r0 - 7d6e: f8ad 0044 strh.w r0, [sp, #68] ; 0x44 + 77be: f8bd 0044 ldrh.w r0, [sp, #68] ; 0x44 + 77c2: 1a80 subs r0, r0, r2 + 77c4: b280 uxth r0, r0 + 77c6: f8ad 0044 strh.w r0, [sp, #68] ; 0x44 draw_area.y2 -= disp_area->y1; - 7d72: f8bd e046 ldrh.w lr, [sp, #70] ; 0x46 - 7d76: ebae 0e03 sub.w lr, lr, r3 - 7d7a: fa0f fe8e sxth.w lr, lr - 7d7e: f8ad e046 strh.w lr, [sp, #70] ; 0x46 + 77ca: f8bd e046 ldrh.w lr, [sp, #70] ; 0x46 + 77ce: ebae 0e03 sub.w lr, lr, r3 + 77d2: fa0f fe8e sxth.w lr, lr + 77d6: f8ad e046 strh.w lr, [sp, #70] ; 0x46 if(mask && disp->driver.antialiasing == 0) - 7d82: 9a08 ldr r2, [sp, #32] - 7d84: b1aa cbz r2, 7db2 <_lv_blend_fill+0xba> - 7d86: f898 3008 ldrb.w r3, [r8, #8] - 7d8a: f013 0f01 tst.w r3, #1 - 7d8e: d110 bne.n 7db2 <_lv_blend_fill+0xba> + 77da: 9a08 ldr r2, [sp, #32] + 77dc: b1aa cbz r2, 780a <_lv_blend_fill+0xba> + 77de: f898 3008 ldrb.w r3, [r8, #8] + 77e2: f013 0f01 tst.w r3, #1 + 77e6: d110 bne.n 780a <_lv_blend_fill+0xba> * @param area_p pointer to an area * @return the width of the area (if x1 == x2 -> width = 1) */ static inline lv_coord_t lv_area_get_width(const lv_area_t * area_p) { return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - 7d90: 1c41 adds r1, r0, #1 - 7d92: 1b49 subs r1, r1, r5 - 7d94: b209 sxth r1, r1 + 77e8: 1c41 adds r1, r0, #1 + 77ea: 1b49 subs r1, r1, r5 + 77ec: b209 sxth r1, r1 for(i = 0; i < mask_w; i++) mask[i] = mask[i] > 128 ? LV_OPA_COVER : LV_OPA_TRANSP; - 7d96: 2900 cmp r1, #0 - 7d98: dd0b ble.n 7db2 <_lv_blend_fill+0xba> - 7d9a: 4613 mov r3, r2 - 7d9c: 4411 add r1, r2 - 7d9e: 781a ldrb r2, [r3, #0] - 7da0: 2a80 cmp r2, #128 ; 0x80 - 7da2: f04f 32ff mov.w r2, #4294967295 - 7da6: bf98 it ls - 7da8: 2200 movls r2, #0 - 7daa: f803 2b01 strb.w r2, [r3], #1 - 7dae: 428b cmp r3, r1 - 7db0: d1f5 bne.n 7d9e <_lv_blend_fill+0xa6> + 77ee: 2900 cmp r1, #0 + 77f0: dd0b ble.n 780a <_lv_blend_fill+0xba> + 77f2: 4613 mov r3, r2 + 77f4: 4411 add r1, r2 + 77f6: 781a ldrb r2, [r3, #0] + 77f8: 2a80 cmp r2, #128 ; 0x80 + 77fa: f04f 32ff mov.w r2, #4294967295 + 77fe: bf98 it ls + 7800: 2200 movls r2, #0 + 7802: f803 2b01 strb.w r2, [r3], #1 + 7806: 428b cmp r3, r1 + 7808: d1f5 bne.n 77f6 <_lv_blend_fill+0xa6> if(disp->driver.set_px_cb) { - 7db2: f8d8 3014 ldr.w r3, [r8, #20] - 7db6: 2b00 cmp r3, #0 - 7db8: d077 beq.n 7eaa <_lv_blend_fill+0x1b2> - 7dba: f8bd 8024 ldrh.w r8, [sp, #36] ; 0x24 + 780a: f8d8 3014 ldr.w r3, [r8, #20] + 780e: 2b00 cmp r3, #0 + 7810: d077 beq.n 7902 <_lv_blend_fill+0x1b2> + 7812: f8bd 8024 ldrh.w r8, [sp, #36] ; 0x24 lv_disp_t * disp = _lv_refr_get_disp_refreshing(); - 7dbe: 4b93 ldr r3, [pc, #588] ; (800c <_lv_blend_fill+0x314>) - 7dc0: 4798 blx r3 - 7dc2: 4605 mov r5, r0 - 7dc4: 8abb ldrh r3, [r7, #20] - 7dc6: 3301 adds r3, #1 - 7dc8: 8a3a ldrh r2, [r7, #16] - 7dca: 1a9b subs r3, r3, r2 - 7dcc: b21b sxth r3, r3 - 7dce: 9307 str r3, [sp, #28] + 7816: 4b93 ldr r3, [pc, #588] ; (7a64 <_lv_blend_fill+0x314>) + 7818: 4798 blx r3 + 781a: 4605 mov r5, r0 + 781c: 8abb ldrh r3, [r7, #20] + 781e: 3301 adds r3, #1 + 7820: 8a3a ldrh r2, [r7, #16] + 7822: 1a9b subs r3, r3, r2 + 7824: b21b sxth r3, r3 + 7826: 9307 str r3, [sp, #28] if(mask_res == LV_DRAW_MASK_RES_FULL_COVER) { - 7dd0: 2c01 cmp r4, #1 - 7dd2: d03e beq.n 7e52 <_lv_blend_fill+0x15a> + 7828: 2c01 cmp r4, #1 + 782a: d03e beq.n 78aa <_lv_blend_fill+0x15a> const lv_opa_t * mask_tmp = mask - draw_area->x1; - 7dd4: f9bd 2040 ldrsh.w r2, [sp, #64] ; 0x40 - 7dd8: 9b08 ldr r3, [sp, #32] - 7dda: 1a9f subs r7, r3, r2 - 7ddc: f8bd 3044 ldrh.w r3, [sp, #68] ; 0x44 - 7de0: 3301 adds r3, #1 - 7de2: 1a9b subs r3, r3, r2 - 7de4: b21b sxth r3, r3 - 7de6: 9308 str r3, [sp, #32] + 782c: f9bd 2040 ldrsh.w r2, [sp, #64] ; 0x40 + 7830: 9b08 ldr r3, [sp, #32] + 7832: 1a9f subs r7, r3, r2 + 7834: f8bd 3044 ldrh.w r3, [sp, #68] ; 0x44 + 7838: 3301 adds r3, #1 + 783a: 1a9b subs r3, r3, r2 + 783c: b21b sxth r3, r3 + 783e: 9308 str r3, [sp, #32] for(y = draw_area->y1; y <= draw_area->y2; y++) { - 7de8: f9bd a042 ldrsh.w sl, [sp, #66] ; 0x42 - 7dec: f9bd 3046 ldrsh.w r3, [sp, #70] ; 0x46 - 7df0: 459a cmp sl, r3 - 7df2: dc8e bgt.n 7d12 <_lv_blend_fill+0x1a> + 7840: f9bd a042 ldrsh.w sl, [sp, #66] ; 0x42 + 7844: f9bd 3046 ldrsh.w r3, [sp, #70] ; 0x46 + 7848: 459a cmp sl, r3 + 784a: dc8e bgt.n 776a <_lv_blend_fill+0x1a> for(x = draw_area->x1; x <= draw_area->x2; x++) { - 7df4: f9bd 6040 ldrsh.w r6, [sp, #64] ; 0x40 - 7df8: 4634 mov r4, r6 - 7dfa: f9bd 3044 ldrsh.w r3, [sp, #68] ; 0x44 - 7dfe: 429e cmp r6, r3 - 7e00: dc1e bgt.n 7e40 <_lv_blend_fill+0x148> - 7e02: 443e add r6, r7 + 784c: f9bd 6040 ldrsh.w r6, [sp, #64] ; 0x40 + 7850: 4634 mov r4, r6 + 7852: f9bd 3044 ldrsh.w r3, [sp, #68] ; 0x44 + 7856: 429e cmp r6, r3 + 7858: dc1e bgt.n 7898 <_lv_blend_fill+0x148> + 785a: 443e add r6, r7 disp->driver.set_px_cb(&disp->driver, (void *)disp_buf, disp_w, x, y, color, - 7e04: fa0f f98a sxth.w r9, sl - 7e08: 9605 str r6, [sp, #20] - 7e0a: 464b mov r3, r9 - 7e0c: 46b9 mov r9, r7 - 7e0e: 461f mov r7, r3 + 785c: fa0f f98a sxth.w r9, sl + 7860: 9605 str r6, [sp, #20] + 7862: 464b mov r3, r9 + 7864: 46b9 mov r9, r7 + 7866: 461f mov r7, r3 (uint32_t)((uint32_t)opa * mask_tmp[x]) >> 8); - 7e10: 9a05 ldr r2, [sp, #20] - 7e12: f812 3b01 ldrb.w r3, [r2], #1 - 7e16: 9205 str r2, [sp, #20] - 7e18: fb03 f30b mul.w r3, r3, fp + 7868: 9a05 ldr r2, [sp, #20] + 786a: f812 3b01 ldrb.w r3, [r2], #1 + 786e: 9205 str r2, [sp, #20] + 7870: fb03 f30b mul.w r3, r3, fp disp->driver.set_px_cb(&disp->driver, (void *)disp_buf, disp_w, x, y, color, - 7e1c: f3c3 2307 ubfx r3, r3, #8, #8 - 7e20: 9302 str r3, [sp, #8] - 7e22: f8ad 8004 strh.w r8, [sp, #4] - 7e26: 9700 str r7, [sp, #0] - 7e28: b223 sxth r3, r4 - 7e2a: 9a07 ldr r2, [sp, #28] - 7e2c: 9906 ldr r1, [sp, #24] - 7e2e: 4628 mov r0, r5 - 7e30: 696e ldr r6, [r5, #20] - 7e32: 47b0 blx r6 + 7874: f3c3 2307 ubfx r3, r3, #8, #8 + 7878: 9302 str r3, [sp, #8] + 787a: f8ad 8004 strh.w r8, [sp, #4] + 787e: 9700 str r7, [sp, #0] + 7880: b223 sxth r3, r4 + 7882: 9a07 ldr r2, [sp, #28] + 7884: 9906 ldr r1, [sp, #24] + 7886: 4628 mov r0, r5 + 7888: 696e ldr r6, [r5, #20] + 788a: 47b0 blx r6 for(x = draw_area->x1; x <= draw_area->x2; x++) { - 7e34: 3401 adds r4, #1 - 7e36: f9bd 3044 ldrsh.w r3, [sp, #68] ; 0x44 - 7e3a: 429c cmp r4, r3 - 7e3c: dde8 ble.n 7e10 <_lv_blend_fill+0x118> - 7e3e: 464f mov r7, r9 - 7e40: 9b08 ldr r3, [sp, #32] - 7e42: 441f add r7, r3 + 788c: 3401 adds r4, #1 + 788e: f9bd 3044 ldrsh.w r3, [sp, #68] ; 0x44 + 7892: 429c cmp r4, r3 + 7894: dde8 ble.n 7868 <_lv_blend_fill+0x118> + 7896: 464f mov r7, r9 + 7898: 9b08 ldr r3, [sp, #32] + 789a: 441f add r7, r3 for(y = draw_area->y1; y <= draw_area->y2; y++) { - 7e44: f10a 0a01 add.w sl, sl, #1 - 7e48: f9bd 3046 ldrsh.w r3, [sp, #70] ; 0x46 - 7e4c: 459a cmp sl, r3 - 7e4e: ddd1 ble.n 7df4 <_lv_blend_fill+0xfc> - 7e50: e75f b.n 7d12 <_lv_blend_fill+0x1a> + 789c: f10a 0a01 add.w sl, sl, #1 + 78a0: f9bd 3046 ldrsh.w r3, [sp, #70] ; 0x46 + 78a4: 459a cmp sl, r3 + 78a6: ddd1 ble.n 784c <_lv_blend_fill+0xfc> + 78a8: e75f b.n 776a <_lv_blend_fill+0x1a> for(y = draw_area->y1; y <= draw_area->y2; y++) { - 7e52: f9bd 9042 ldrsh.w r9, [sp, #66] ; 0x42 - 7e56: f9bd 3046 ldrsh.w r3, [sp, #70] ; 0x46 - 7e5a: 4599 cmp r9, r3 - 7e5c: f73f af59 bgt.w 7d12 <_lv_blend_fill+0x1a> - 7e60: f8dd a01c ldr.w sl, [sp, #28] - 7e64: 465e mov r6, fp - 7e66: f8dd b018 ldr.w fp, [sp, #24] + 78aa: f9bd 9042 ldrsh.w r9, [sp, #66] ; 0x42 + 78ae: f9bd 3046 ldrsh.w r3, [sp, #70] ; 0x46 + 78b2: 4599 cmp r9, r3 + 78b4: f73f af59 bgt.w 776a <_lv_blend_fill+0x1a> + 78b8: f8dd a01c ldr.w sl, [sp, #28] + 78bc: 465e mov r6, fp + 78be: f8dd b018 ldr.w fp, [sp, #24] for(x = draw_area->x1; x <= draw_area->x2; x++) { - 7e6a: f9bd 4040 ldrsh.w r4, [sp, #64] ; 0x40 - 7e6e: f9bd 3044 ldrsh.w r3, [sp, #68] ; 0x44 - 7e72: 429c cmp r4, r3 - 7e74: dc12 bgt.n 7e9c <_lv_blend_fill+0x1a4> + 78c2: f9bd 4040 ldrsh.w r4, [sp, #64] ; 0x40 + 78c6: f9bd 3044 ldrsh.w r3, [sp, #68] ; 0x44 + 78ca: 429c cmp r4, r3 + 78cc: dc12 bgt.n 78f4 <_lv_blend_fill+0x1a4> disp->driver.set_px_cb(&disp->driver, (void *)disp_buf, disp_w, x, y, color, opa); - 7e76: fa0f f789 sxth.w r7, r9 - 7e7a: 9705 str r7, [sp, #20] - 7e7c: 9602 str r6, [sp, #8] - 7e7e: f8ad 8004 strh.w r8, [sp, #4] - 7e82: 9b05 ldr r3, [sp, #20] - 7e84: 9300 str r3, [sp, #0] - 7e86: b223 sxth r3, r4 - 7e88: 4652 mov r2, sl - 7e8a: 4659 mov r1, fp - 7e8c: 4628 mov r0, r5 - 7e8e: 696f ldr r7, [r5, #20] - 7e90: 47b8 blx r7 + 78ce: fa0f f789 sxth.w r7, r9 + 78d2: 9705 str r7, [sp, #20] + 78d4: 9602 str r6, [sp, #8] + 78d6: f8ad 8004 strh.w r8, [sp, #4] + 78da: 9b05 ldr r3, [sp, #20] + 78dc: 9300 str r3, [sp, #0] + 78de: b223 sxth r3, r4 + 78e0: 4652 mov r2, sl + 78e2: 4659 mov r1, fp + 78e4: 4628 mov r0, r5 + 78e6: 696f ldr r7, [r5, #20] + 78e8: 47b8 blx r7 for(x = draw_area->x1; x <= draw_area->x2; x++) { - 7e92: 3401 adds r4, #1 - 7e94: f9bd 3044 ldrsh.w r3, [sp, #68] ; 0x44 - 7e98: 429c cmp r4, r3 - 7e9a: ddef ble.n 7e7c <_lv_blend_fill+0x184> + 78ea: 3401 adds r4, #1 + 78ec: f9bd 3044 ldrsh.w r3, [sp, #68] ; 0x44 + 78f0: 429c cmp r4, r3 + 78f2: ddef ble.n 78d4 <_lv_blend_fill+0x184> for(y = draw_area->y1; y <= draw_area->y2; y++) { - 7e9c: f109 0901 add.w r9, r9, #1 - 7ea0: f9bd 3046 ldrsh.w r3, [sp, #70] ; 0x46 - 7ea4: 4599 cmp r9, r3 - 7ea6: dde0 ble.n 7e6a <_lv_blend_fill+0x172> - 7ea8: e733 b.n 7d12 <_lv_blend_fill+0x1a> + 78f4: f109 0901 add.w r9, r9, #1 + 78f8: f9bd 3046 ldrsh.w r3, [sp, #70] ; 0x46 + 78fc: 4599 cmp r9, r3 + 78fe: dde0 ble.n 78c2 <_lv_blend_fill+0x172> + 7900: e733 b.n 776a <_lv_blend_fill+0x1a> else if(mode == LV_BLEND_MODE_NORMAL) { - 7eaa: f1b9 0f00 cmp.w r9, #0 - 7eae: f040 83a0 bne.w 85f2 <_lv_blend_fill+0x8fa> - 7eb2: f8bd 3024 ldrh.w r3, [sp, #36] ; 0x24 - 7eb6: f8ad 301c strh.w r3, [sp, #28] + 7902: f1b9 0f00 cmp.w r9, #0 + 7906: f040 83a0 bne.w 804a <_lv_blend_fill+0x8fa> + 790a: f8bd 3024 ldrh.w r3, [sp, #36] ; 0x24 + 790e: f8ad 301c strh.w r3, [sp, #28] lv_disp_t * disp = _lv_refr_get_disp_refreshing(); - 7eba: 4b54 ldr r3, [pc, #336] ; (800c <_lv_blend_fill+0x314>) - 7ebc: 4798 blx r3 - 7ebe: 4606 mov r6, r0 - 7ec0: 8abb ldrh r3, [r7, #20] - 7ec2: 3301 adds r3, #1 - 7ec4: 8a3f ldrh r7, [r7, #16] - 7ec6: 1bdf subs r7, r3, r7 - 7ec8: b23f sxth r7, r7 - 7eca: f9bd 2040 ldrsh.w r2, [sp, #64] ; 0x40 - 7ece: f8bd 3044 ldrh.w r3, [sp, #68] ; 0x44 - 7ed2: 3301 adds r3, #1 - 7ed4: 1a9b subs r3, r3, r2 - 7ed6: b21b sxth r3, r3 - 7ed8: 930b str r3, [sp, #44] ; 0x2c + 7912: 4b54 ldr r3, [pc, #336] ; (7a64 <_lv_blend_fill+0x314>) + 7914: 4798 blx r3 + 7916: 4606 mov r6, r0 + 7918: 8abb ldrh r3, [r7, #20] + 791a: 3301 adds r3, #1 + 791c: 8a3f ldrh r7, [r7, #16] + 791e: 1bdf subs r7, r3, r7 + 7920: b23f sxth r7, r7 + 7922: f9bd 2040 ldrsh.w r2, [sp, #64] ; 0x40 + 7926: f8bd 3044 ldrh.w r3, [sp, #68] ; 0x44 + 792a: 3301 adds r3, #1 + 792c: 1a9b subs r3, r3, r2 + 792e: b21b sxth r3, r3 + 7930: 930b str r3, [sp, #44] ; 0x2c int32_t draw_area_w = lv_area_get_width(draw_area); - 7eda: 461d mov r5, r3 + 7932: 461d mov r5, r3 * @param area_p pointer to an area * @return the height of the area (if y1 == y2 -> height = 1) */ static inline lv_coord_t lv_area_get_height(const lv_area_t * area_p) { return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - 7edc: f9bd 0046 ldrsh.w r0, [sp, #70] ; 0x46 - 7ee0: f9bd 3042 ldrsh.w r3, [sp, #66] ; 0x42 - 7ee4: 1c41 adds r1, r0, #1 - 7ee6: 1ac9 subs r1, r1, r3 + 7934: f9bd 0046 ldrsh.w r0, [sp, #70] ; 0x46 + 7938: f9bd 3042 ldrsh.w r3, [sp, #66] ; 0x42 + 793c: 1c41 adds r1, r0, #1 + 793e: 1ac9 subs r1, r1, r3 int32_t draw_area_h = lv_area_get_height(draw_area); - 7ee8: b209 sxth r1, r1 - 7eea: 910c str r1, [sp, #48] ; 0x30 + 7940: b209 sxth r1, r1 + 7942: 910c str r1, [sp, #48] ; 0x30 lv_color_t * disp_buf_first = disp_buf + disp_w * draw_area->y1 + draw_area->x1; - 7eec: 930a str r3, [sp, #40] ; 0x28 - 7eee: fb03 2207 mla r2, r3, r7, r2 - 7ef2: 9906 ldr r1, [sp, #24] - 7ef4: eb01 0142 add.w r1, r1, r2, lsl #1 - 7ef8: 9105 str r1, [sp, #20] + 7944: 930a str r3, [sp, #40] ; 0x28 + 7946: fb03 2207 mla r2, r3, r7, r2 + 794a: 9906 ldr r1, [sp, #24] + 794c: eb01 0142 add.w r1, r1, r2, lsl #1 + 7950: 9105 str r1, [sp, #20] if(mask_res == LV_DRAW_MASK_RES_FULL_COVER) { - 7efa: 2c01 cmp r4, #1 - 7efc: d029 beq.n 7f52 <_lv_blend_fill+0x25a> + 7952: 2c01 cmp r4, #1 + 7954: d029 beq.n 79aa <_lv_blend_fill+0x25a> if(opa > LV_OPA_MAX) { - 7efe: f1bb 0ffa cmp.w fp, #250 ; 0xfa - 7f02: f200 8108 bhi.w 8116 <_lv_blend_fill+0x41e> + 7956: f1bb 0ffa cmp.w fp, #250 ; 0xfa + 795a: f200 8108 bhi.w 7b6e <_lv_blend_fill+0x41e> for(y = draw_area->y1; y <= draw_area->y2; y++) { - 7f06: 4283 cmp r3, r0 - 7f08: f73f af03 bgt.w 7d12 <_lv_blend_fill+0x1a> + 795e: 4283 cmp r3, r0 + 7960: f73f af03 bgt.w 776a <_lv_blend_fill+0x1a> last_dest_color.full = disp_buf_first[0].full; - 7f0c: 9b06 ldr r3, [sp, #24] - 7f0e: f833 3012 ldrh.w r3, [r3, r2, lsl #1] - 7f12: f8bd 6024 ldrh.w r6, [sp, #36] ; 0x24 - 7f16: f3c6 2cc4 ubfx ip, r6, #11, #5 + 7964: 9b06 ldr r3, [sp, #24] + 7966: f833 3012 ldrh.w r3, [r3, r2, lsl #1] + 796a: f8bd 6024 ldrh.w r6, [sp, #36] ; 0x24 + 796e: f3c6 2cc4 ubfx ip, r6, #11, #5 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 7f1a: f3c6 1245 ubfx r2, r6, #5, #6 - 7f1e: 4610 mov r0, r2 + 7972: f3c6 1245 ubfx r2, r6, #5, #6 + 7976: 4610 mov r0, r2 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 7f20: f006 021f and.w r2, r6, #31 - 7f24: 4614 mov r4, r2 + 7978: f006 021f and.w r2, r6, #31 + 797c: 4614 mov r4, r2 disp_buf_first += disp_w; - 7f26: 007a lsls r2, r7, #1 - 7f28: 920c str r2, [sp, #48] ; 0x30 - 7f2a: 9a0b ldr r2, [sp, #44] ; 0x2c - 7f2c: 9908 ldr r1, [sp, #32] - 7f2e: 3901 subs r1, #1 - 7f30: 9106 str r1, [sp, #24] - 7f32: 0052 lsls r2, r2, #1 - 7f34: 920e str r2, [sp, #56] ; 0x38 - 7f36: 4619 mov r1, r3 - 7f38: f04f 0e00 mov.w lr, #0 - 7f3c: 4672 mov r2, lr + 797e: 007a lsls r2, r7, #1 + 7980: 920c str r2, [sp, #48] ; 0x30 + 7982: 9a0b ldr r2, [sp, #44] ; 0x2c + 7984: 9908 ldr r1, [sp, #32] + 7986: 3901 subs r1, #1 + 7988: 9106 str r1, [sp, #24] + 798a: 0052 lsls r2, r2, #1 + 798c: 920e str r2, [sp, #56] ; 0x38 + 798e: 4619 mov r1, r3 + 7990: f04f 0e00 mov.w lr, #0 + 7994: 4672 mov r2, lr if(opa_tmp == LV_OPA_COVER) last_res_color = color; - 7f3e: b2b6 uxth r6, r6 - 7f40: 9608 str r6, [sp, #32] + 7996: b2b6 uxth r6, r6 + 7998: 9608 str r6, [sp, #32] if(*mask_tmp_x != last_mask) opa_tmp = *mask_tmp_x == LV_OPA_COVER ? opa : - 7f42: f8cd b024 str.w fp, [sp, #36] ; 0x24 - 7f46: 950d str r5, [sp, #52] ; 0x34 - 7f48: 46a1 mov r9, r4 - 7f4a: f8cd b01c str.w fp, [sp, #28] - 7f4e: 4683 mov fp, r0 - 7f50: e345 b.n 85de <_lv_blend_fill+0x8e6> + 799a: f8cd b024 str.w fp, [sp, #36] ; 0x24 + 799e: 950d str r5, [sp, #52] ; 0x34 + 79a0: 46a1 mov r9, r4 + 79a2: f8cd b01c str.w fp, [sp, #28] + 79a6: 4683 mov fp, r0 + 79a8: e345 b.n 8036 <_lv_blend_fill+0x8e6> if(opa > LV_OPA_MAX) { - 7f52: f1bb 0ffa cmp.w fp, #250 ; 0xfa - 7f56: d925 bls.n 7fa4 <_lv_blend_fill+0x2ac> + 79aa: f1bb 0ffa cmp.w fp, #250 ; 0xfa + 79ae: d925 bls.n 79fc <_lv_blend_fill+0x2ac> if(disp->driver.gpu_fill_cb && lv_area_get_size(draw_area) > GPU_SIZE_LIMIT) { - 7f58: 6a73 ldr r3, [r6, #36] ; 0x24 - 7f5a: b123 cbz r3, 7f66 <_lv_blend_fill+0x26e> - 7f5c: a810 add r0, sp, #64 ; 0x40 - 7f5e: 4b2e ldr r3, [pc, #184] ; (8018 <_lv_blend_fill+0x320>) - 7f60: 4798 blx r3 - 7f62: 28f0 cmp r0, #240 ; 0xf0 - 7f64: d813 bhi.n 7f8e <_lv_blend_fill+0x296> + 79b0: 6a73 ldr r3, [r6, #36] ; 0x24 + 79b2: b123 cbz r3, 79be <_lv_blend_fill+0x26e> + 79b4: a810 add r0, sp, #64 ; 0x40 + 79b6: 4b2e ldr r3, [pc, #184] ; (7a70 <_lv_blend_fill+0x320>) + 79b8: 4798 blx r3 + 79ba: 28f0 cmp r0, #240 ; 0xf0 + 79bc: d813 bhi.n 79e6 <_lv_blend_fill+0x296> for(y = 0; y < draw_area_h; y++) { - 7f66: 9b0c ldr r3, [sp, #48] ; 0x30 - 7f68: 2b00 cmp r3, #0 - 7f6a: f77f aed2 ble.w 7d12 <_lv_blend_fill+0x1a> + 79be: 9b0c ldr r3, [sp, #48] ; 0x30 + 79c0: 2b00 cmp r3, #0 + 79c2: f77f aed2 ble.w 776a <_lv_blend_fill+0x1a> disp_buf_first += disp_w; - 7f6e: 007f lsls r7, r7, #1 - 7f70: 2400 movs r4, #0 + 79c6: 007f lsls r7, r7, #1 + 79c8: 2400 movs r4, #0 lv_color_fill(disp_buf_first, color, draw_area_w); - 7f72: 4d2a ldr r5, [pc, #168] ; (801c <_lv_blend_fill+0x324>) - 7f74: f8dd 8030 ldr.w r8, [sp, #48] ; 0x30 - 7f78: 9e05 ldr r6, [sp, #20] - 7f7a: 9a0b ldr r2, [sp, #44] ; 0x2c - 7f7c: f8bd 101c ldrh.w r1, [sp, #28] - 7f80: 4630 mov r0, r6 - 7f82: 47a8 blx r5 + 79ca: 4d2a ldr r5, [pc, #168] ; (7a74 <_lv_blend_fill+0x324>) + 79cc: f8dd 8030 ldr.w r8, [sp, #48] ; 0x30 + 79d0: 9e05 ldr r6, [sp, #20] + 79d2: 9a0b ldr r2, [sp, #44] ; 0x2c + 79d4: f8bd 101c ldrh.w r1, [sp, #28] + 79d8: 4630 mov r0, r6 + 79da: 47a8 blx r5 disp_buf_first += disp_w; - 7f84: 443e add r6, r7 + 79dc: 443e add r6, r7 for(y = 0; y < draw_area_h; y++) { - 7f86: 3401 adds r4, #1 - 7f88: 45a0 cmp r8, r4 - 7f8a: d1f6 bne.n 7f7a <_lv_blend_fill+0x282> - 7f8c: e6c1 b.n 7d12 <_lv_blend_fill+0x1a> + 79de: 3401 adds r4, #1 + 79e0: 45a0 cmp r8, r4 + 79e2: d1f6 bne.n 79d2 <_lv_blend_fill+0x282> + 79e4: e6c1 b.n 776a <_lv_blend_fill+0x1a> disp->driver.gpu_fill_cb(&disp->driver, disp_buf, disp_w, draw_area, color); - 7f8e: f8bd 3024 ldrh.w r3, [sp, #36] ; 0x24 - 7f92: f8ad 3000 strh.w r3, [sp] - 7f96: 6a74 ldr r4, [r6, #36] ; 0x24 - 7f98: ab10 add r3, sp, #64 ; 0x40 - 7f9a: 463a mov r2, r7 - 7f9c: 9906 ldr r1, [sp, #24] - 7f9e: 4630 mov r0, r6 - 7fa0: 47a0 blx r4 - 7fa2: e6b6 b.n 7d12 <_lv_blend_fill+0x1a> + 79e6: f8bd 3024 ldrh.w r3, [sp, #36] ; 0x24 + 79ea: f8ad 3000 strh.w r3, [sp] + 79ee: 6a74 ldr r4, [r6, #36] ; 0x24 + 79f0: ab10 add r3, sp, #64 ; 0x40 + 79f2: 463a mov r2, r7 + 79f4: 9906 ldr r1, [sp, #24] + 79f6: 4630 mov r0, r6 + 79f8: 47a0 blx r4 + 79fa: e6b6 b.n 776a <_lv_blend_fill+0x1a> if(disp->driver.gpu_blend_cb && lv_area_get_size(draw_area) > GPU_SIZE_LIMIT) { - 7fa4: 6a33 ldr r3, [r6, #32] - 7fa6: 2b00 cmp r3, #0 - 7fa8: d03c beq.n 8024 <_lv_blend_fill+0x32c> - 7faa: a810 add r0, sp, #64 ; 0x40 - 7fac: 4b1a ldr r3, [pc, #104] ; (8018 <_lv_blend_fill+0x320>) - 7fae: 4798 blx r3 - 7fb0: 28f0 cmp r0, #240 ; 0xf0 - 7fb2: d937 bls.n 8024 <_lv_blend_fill+0x32c> + 79fc: 6a33 ldr r3, [r6, #32] + 79fe: 2b00 cmp r3, #0 + 7a00: d03c beq.n 7a7c <_lv_blend_fill+0x32c> + 7a02: a810 add r0, sp, #64 ; 0x40 + 7a04: 4b1a ldr r3, [pc, #104] ; (7a70 <_lv_blend_fill+0x320>) + 7a06: 4798 blx r3 + 7a08: 28f0 cmp r0, #240 ; 0xf0 + 7a0a: d937 bls.n 7a7c <_lv_blend_fill+0x32c> for(x = 0; x < draw_area_w ; x++) blend_buf[x].full = color.full; - 7fb4: 990b ldr r1, [sp, #44] ; 0x2c - 7fb6: 2900 cmp r1, #0 - 7fb8: dd0c ble.n 7fd4 <_lv_blend_fill+0x2dc> - 7fba: f8bd 8024 ldrh.w r8, [sp, #36] ; 0x24 - 7fbe: 4a18 ldr r2, [pc, #96] ; (8020 <_lv_blend_fill+0x328>) - 7fc0: 1e93 subs r3, r2, #2 - 7fc2: f101 4100 add.w r1, r1, #2147483648 ; 0x80000000 - 7fc6: 3901 subs r1, #1 - 7fc8: eb02 0241 add.w r2, r2, r1, lsl #1 - 7fcc: f823 8f02 strh.w r8, [r3, #2]! - 7fd0: 429a cmp r2, r3 - 7fd2: d1fb bne.n 7fcc <_lv_blend_fill+0x2d4> + 7a0c: 990b ldr r1, [sp, #44] ; 0x2c + 7a0e: 2900 cmp r1, #0 + 7a10: dd0c ble.n 7a2c <_lv_blend_fill+0x2dc> + 7a12: f8bd 8024 ldrh.w r8, [sp, #36] ; 0x24 + 7a16: 4a18 ldr r2, [pc, #96] ; (7a78 <_lv_blend_fill+0x328>) + 7a18: 1e93 subs r3, r2, #2 + 7a1a: f101 4100 add.w r1, r1, #2147483648 ; 0x80000000 + 7a1e: 3901 subs r1, #1 + 7a20: eb02 0241 add.w r2, r2, r1, lsl #1 + 7a24: f823 8f02 strh.w r8, [r3, #2]! + 7a28: 429a cmp r2, r3 + 7a2a: d1fb bne.n 7a24 <_lv_blend_fill+0x2d4> for(y = draw_area->y1; y <= draw_area->y2; y++) { - 7fd4: f9bd 5042 ldrsh.w r5, [sp, #66] ; 0x42 - 7fd8: f9bd 3046 ldrsh.w r3, [sp, #70] ; 0x46 - 7fdc: 429d cmp r5, r3 - 7fde: f73f ae98 bgt.w 7d12 <_lv_blend_fill+0x1a> + 7a2c: f9bd 5042 ldrsh.w r5, [sp, #66] ; 0x42 + 7a30: f9bd 3046 ldrsh.w r3, [sp, #70] ; 0x46 + 7a34: 429d cmp r5, r3 + 7a36: f73f ae98 bgt.w 776a <_lv_blend_fill+0x1a> disp_buf_first += disp_w; - 7fe2: ea4f 0847 mov.w r8, r7, lsl #1 + 7a3a: ea4f 0847 mov.w r8, r7, lsl #1 disp->driver.gpu_blend_cb(&disp->driver, disp_buf_first, blend_buf, draw_area_w, opa); - 7fe6: f8df a038 ldr.w sl, [pc, #56] ; 8020 <_lv_blend_fill+0x328> - 7fea: f8dd 9014 ldr.w r9, [sp, #20] - 7fee: 465c mov r4, fp - 7ff0: 9400 str r4, [sp, #0] - 7ff2: 9b0b ldr r3, [sp, #44] ; 0x2c - 7ff4: 4652 mov r2, sl - 7ff6: 4649 mov r1, r9 - 7ff8: 4630 mov r0, r6 - 7ffa: 6a37 ldr r7, [r6, #32] - 7ffc: 47b8 blx r7 + 7a3e: f8df a038 ldr.w sl, [pc, #56] ; 7a78 <_lv_blend_fill+0x328> + 7a42: f8dd 9014 ldr.w r9, [sp, #20] + 7a46: 465c mov r4, fp + 7a48: 9400 str r4, [sp, #0] + 7a4a: 9b0b ldr r3, [sp, #44] ; 0x2c + 7a4c: 4652 mov r2, sl + 7a4e: 4649 mov r1, r9 + 7a50: 4630 mov r0, r6 + 7a52: 6a37 ldr r7, [r6, #32] + 7a54: 47b8 blx r7 disp_buf_first += disp_w; - 7ffe: 44c1 add r9, r8 + 7a56: 44c1 add r9, r8 for(y = draw_area->y1; y <= draw_area->y2; y++) { - 8000: 3501 adds r5, #1 - 8002: f9bd 3046 ldrsh.w r3, [sp, #70] ; 0x46 - 8006: 429d cmp r5, r3 - 8008: ddf2 ble.n 7ff0 <_lv_blend_fill+0x2f8> - 800a: e682 b.n 7d12 <_lv_blend_fill+0x1a> - 800c: 00006511 .word 0x00006511 - 8010: 00011585 .word 0x00011585 - 8014: 00011ac1 .word 0x00011ac1 - 8018: 00011aa5 .word 0x00011aa5 - 801c: 000120e3 .word 0x000120e3 - 8020: 20002690 .word 0x20002690 + 7a58: 3501 adds r5, #1 + 7a5a: f9bd 3046 ldrsh.w r3, [sp, #70] ; 0x46 + 7a5e: 429d cmp r5, r3 + 7a60: ddf2 ble.n 7a48 <_lv_blend_fill+0x2f8> + 7a62: e682 b.n 776a <_lv_blend_fill+0x1a> + 7a64: 00005f69 .word 0x00005f69 + 7a68: 00010fdd .word 0x00010fdd + 7a6c: 00011519 .word 0x00011519 + 7a70: 000114fd .word 0x000114fd + 7a74: 00011b3b .word 0x00011b3b + 7a78: 20002690 .word 0x20002690 lv_color_t last_dest_color = LV_COLOR_BLACK; - 8024: f04f 0e00 mov.w lr, #0 - 8028: f8bd 2024 ldrh.w r2, [sp, #36] ; 0x24 - 802c: f002 091f and.w r9, r2, #31 - 8030: f3c2 1845 ubfx r8, r2, #5, #6 - 8034: f3c2 2cc4 ubfx ip, r2, #11, #5 + 7a7c: f04f 0e00 mov.w lr, #0 + 7a80: f8bd 2024 ldrh.w r2, [sp, #36] ; 0x24 + 7a84: f002 091f and.w r9, r2, #31 + 7a88: f3c2 1845 ubfx r8, r2, #5, #6 + 7a8c: f3c2 2cc4 ubfx ip, r2, #11, #5 LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 8038: fb0b f30c mul.w r3, fp, ip - 803c: eb03 2103 add.w r1, r3, r3, lsl #8 - 8040: eb03 13c1 add.w r3, r3, r1, lsl #7 - 8044: f3c3 51c4 ubfx r1, r3, #23, #5 + 7a90: fb0b f30c mul.w r3, fp, ip + 7a94: eb03 2103 add.w r1, r3, r3, lsl #8 + 7a98: eb03 13c1 add.w r3, r3, r1, lsl #7 + 7a9c: f3c3 51c4 ubfx r1, r3, #23, #5 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 8048: fb0b f308 mul.w r3, fp, r8 - 804c: eb03 2403 add.w r4, r3, r3, lsl #8 - 8050: eb03 13c4 add.w r3, r3, r4, lsl #7 - 8054: f3c3 54c5 ubfx r4, r3, #23, #6 + 7aa0: fb0b f308 mul.w r3, fp, r8 + 7aa4: eb03 2403 add.w r4, r3, r3, lsl #8 + 7aa8: eb03 13c4 add.w r3, r3, r4, lsl #7 + 7aac: f3c3 54c5 ubfx r4, r3, #23, #6 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 8058: fb0b f309 mul.w r3, fp, r9 - 805c: eb03 2203 add.w r2, r3, r3, lsl #8 - 8060: eb03 13c2 add.w r3, r3, r2, lsl #7 - 8064: f3c3 52c4 ubfx r2, r3, #23, #5 + 7ab0: fb0b f309 mul.w r3, fp, r9 + 7ab4: eb03 2203 add.w r2, r3, r3, lsl #8 + 7ab8: eb03 13c2 add.w r3, r3, r2, lsl #7 + 7abc: f3c3 52c4 ubfx r2, r3, #23, #5 } LV_ATTRIBUTE_FAST_MEM static inline void lv_color_premult(lv_color_t c, uint8_t mix, uint16_t * out) { #if LV_COLOR_DEPTH != 1 out[0] = (uint16_t) LV_COLOR_GET_R(c) * mix; - 8068: fa1f f38b uxth.w r3, fp - 806c: fb0c fc03 mul.w ip, ip, r3 + 7ac0: fa1f f38b uxth.w r3, fp + 7ac4: fb0c fc03 mul.w ip, ip, r3 out[1] = (uint16_t) LV_COLOR_GET_G(c) * mix; - 8070: fb08 f803 mul.w r8, r8, r3 + 7ac8: fb08 f803 mul.w r8, r8, r3 out[2] = (uint16_t) LV_COLOR_GET_B(c) * mix; - 8074: fb09 f903 mul.w r9, r9, r3 + 7acc: fb09 f903 mul.w r9, r9, r3 lv_opa_t opa_inv = 255 - opa; - 8078: ea6f 030b mvn.w r3, fp - 807c: b2db uxtb r3, r3 + 7ad0: ea6f 030b mvn.w r3, fp + 7ad4: b2db uxtb r3, r3 for(y = 0; y < draw_area_h; y++) { - 807e: 980c ldr r0, [sp, #48] ; 0x30 - 8080: 2800 cmp r0, #0 - 8082: f77f ae46 ble.w 7d12 <_lv_blend_fill+0x1a> + 7ad6: 980c ldr r0, [sp, #48] ; 0x30 + 7ad8: 2800 cmp r0, #0 + 7ada: f77f ae46 ble.w 776a <_lv_blend_fill+0x1a> disp_buf_first += disp_w; - 8086: 0078 lsls r0, r7, #1 - 8088: 9007 str r0, [sp, #28] - 808a: 980b ldr r0, [sp, #44] ; 0x2c - 808c: 0040 lsls r0, r0, #1 - 808e: 9008 str r0, [sp, #32] - 8090: 2000 movs r0, #0 - 8092: 9006 str r0, [sp, #24] + 7ade: 0078 lsls r0, r7, #1 + 7ae0: 9007 str r0, [sp, #28] + 7ae2: 980b ldr r0, [sp, #44] ; 0x2c + 7ae4: 0040 lsls r0, r0, #1 + 7ae6: 9008 str r0, [sp, #32] + 7ae8: 2000 movs r0, #0 + 7aea: 9006 str r0, [sp, #24] LV_ATTRIBUTE_FAST_MEM static inline lv_color_t lv_color_mix_premult(uint16_t * premult_c1, lv_color_t c2, uint8_t mix) { lv_color_t ret; #if LV_COLOR_DEPTH != 1 /*LV_COLOR_DEPTH == 8, 16 or 32*/ LV_COLOR_SET_R(ret, (uint16_t)((uint16_t) premult_c1[0] + LV_COLOR_GET_R(c2) * mix) >> 8); - 8094: b29f uxth r7, r3 - 8096: e036 b.n 8106 <_lv_blend_fill+0x40e> + 7aec: b29f uxth r7, r3 + 7aee: e036 b.n 7b5e <_lv_blend_fill+0x40e> disp_buf_first[x] = last_res_color; - 8098: 7830 ldrb r0, [r6, #0] - 809a: f362 0004 bfi r0, r2, #0, #5 - 809e: 7030 strb r0, [r6, #0] - 80a0: 8830 ldrh r0, [r6, #0] - 80a2: f364 104a bfi r0, r4, #5, #6 - 80a6: 8030 strh r0, [r6, #0] - 80a8: 0a00 lsrs r0, r0, #8 - 80aa: f361 00c7 bfi r0, r1, #3, #5 - 80ae: 7070 strb r0, [r6, #1] - 80b0: 3302 adds r3, #2 + 7af0: 7830 ldrb r0, [r6, #0] + 7af2: f362 0004 bfi r0, r2, #0, #5 + 7af6: 7030 strb r0, [r6, #0] + 7af8: 8830 ldrh r0, [r6, #0] + 7afa: f364 104a bfi r0, r4, #5, #6 + 7afe: 8030 strh r0, [r6, #0] + 7b00: 0a00 lsrs r0, r0, #8 + 7b02: f361 00c7 bfi r0, r1, #3, #5 + 7b06: 7070 strb r0, [r6, #1] + 7b08: 3302 adds r3, #2 for(x = 0; x < draw_area_w; x++) { - 80b2: 459b cmp fp, r3 - 80b4: d01c beq.n 80f0 <_lv_blend_fill+0x3f8> + 7b0a: 459b cmp fp, r3 + 7b0c: d01c beq.n 7b48 <_lv_blend_fill+0x3f8> if(last_dest_color.full != disp_buf_first[x].full) { - 80b6: 461e mov r6, r3 - 80b8: fa1f f08e uxth.w r0, lr - 80bc: f8b3 a000 ldrh.w sl, [r3] - 80c0: 4550 cmp r0, sl - 80c2: d0e9 beq.n 8098 <_lv_blend_fill+0x3a0> + 7b0e: 461e mov r6, r3 + 7b10: fa1f f08e uxth.w r0, lr + 7b14: f8b3 a000 ldrh.w sl, [r3] + 7b18: 4550 cmp r0, sl + 7b1a: d0e9 beq.n 7af0 <_lv_blend_fill+0x3a0> last_dest_color = disp_buf_first[x]; - 80c4: f8b3 e000 ldrh.w lr, [r3] - 80c8: 7859 ldrb r1, [r3, #1] - 80ca: 08c9 lsrs r1, r1, #3 - 80cc: fb01 c107 mla r1, r1, r7, ip - 80d0: f3c1 2104 ubfx r1, r1, #8, #5 + 7b1c: f8b3 e000 ldrh.w lr, [r3] + 7b20: 7859 ldrb r1, [r3, #1] + 7b22: 08c9 lsrs r1, r1, #3 + 7b24: fb01 c107 mla r1, r1, r7, ip + 7b28: f3c1 2104 ubfx r1, r1, #8, #5 LV_COLOR_SET_G(ret, (uint16_t)((uint16_t) premult_c1[1] + LV_COLOR_GET_G(c2) * mix) >> 8); - 80d4: f3ce 1445 ubfx r4, lr, #5, #6 - 80d8: fb04 8407 mla r4, r4, r7, r8 - 80dc: f3c4 2405 ubfx r4, r4, #8, #6 + 7b2c: f3ce 1445 ubfx r4, lr, #5, #6 + 7b30: fb04 8407 mla r4, r4, r7, r8 + 7b34: f3c4 2405 ubfx r4, r4, #8, #6 LV_COLOR_SET_B(ret, (uint16_t)((uint16_t) premult_c1[2] + LV_COLOR_GET_B(c2) * mix) >> 8); - 80e0: 781a ldrb r2, [r3, #0] - 80e2: f002 021f and.w r2, r2, #31 - 80e6: fb02 9207 mla r2, r2, r7, r9 - 80ea: f3c2 2204 ubfx r2, r2, #8, #5 - 80ee: e7d3 b.n 8098 <_lv_blend_fill+0x3a0> + 7b38: 781a ldrb r2, [r3, #0] + 7b3a: f002 021f and.w r2, r2, #31 + 7b3e: fb02 9207 mla r2, r2, r7, r9 + 7b42: f3c2 2204 ubfx r2, r2, #8, #5 + 7b46: e7d3 b.n 7af0 <_lv_blend_fill+0x3a0> disp_buf_first += disp_w; - 80f0: 9b05 ldr r3, [sp, #20] - 80f2: 9807 ldr r0, [sp, #28] - 80f4: 4403 add r3, r0 - 80f6: 9305 str r3, [sp, #20] + 7b48: 9b05 ldr r3, [sp, #20] + 7b4a: 9807 ldr r0, [sp, #28] + 7b4c: 4403 add r3, r0 + 7b4e: 9305 str r3, [sp, #20] for(y = 0; y < draw_area_h; y++) { - 80f8: 9b06 ldr r3, [sp, #24] - 80fa: 3301 adds r3, #1 - 80fc: 9306 str r3, [sp, #24] - 80fe: 980c ldr r0, [sp, #48] ; 0x30 - 8100: 4298 cmp r0, r3 - 8102: f43f ae06 beq.w 7d12 <_lv_blend_fill+0x1a> + 7b50: 9b06 ldr r3, [sp, #24] + 7b52: 3301 adds r3, #1 + 7b54: 9306 str r3, [sp, #24] + 7b56: 980c ldr r0, [sp, #48] ; 0x30 + 7b58: 4298 cmp r0, r3 + 7b5a: f43f ae06 beq.w 776a <_lv_blend_fill+0x1a> for(x = 0; x < draw_area_w; x++) { - 8106: 2d00 cmp r5, #0 - 8108: ddf2 ble.n 80f0 <_lv_blend_fill+0x3f8> - 810a: 9805 ldr r0, [sp, #20] - 810c: 4603 mov r3, r0 - 810e: 9e08 ldr r6, [sp, #32] - 8110: eb00 0b06 add.w fp, r0, r6 - 8114: e7cf b.n 80b6 <_lv_blend_fill+0x3be> + 7b5e: 2d00 cmp r5, #0 + 7b60: ddf2 ble.n 7b48 <_lv_blend_fill+0x3f8> + 7b62: 9805 ldr r0, [sp, #20] + 7b64: 4603 mov r3, r0 + 7b66: 9e08 ldr r6, [sp, #32] + 7b68: eb00 0b06 add.w fp, r0, r6 + 7b6c: e7cf b.n 7b0e <_lv_blend_fill+0x3be> for(y = 0; y < draw_area_h; y++) { - 8116: 9b0c ldr r3, [sp, #48] ; 0x30 - 8118: 2b00 cmp r3, #0 - 811a: f77f adfa ble.w 7d12 <_lv_blend_fill+0x1a> + 7b6e: 9b0c ldr r3, [sp, #48] ; 0x30 + 7b70: 2b00 cmp r3, #0 + 7b72: f77f adfa ble.w 776a <_lv_blend_fill+0x1a> int32_t x_end4 = draw_area_w - 4; - 811e: 9b0b ldr r3, [sp, #44] ; 0x2c - 8120: 3b04 subs r3, #4 - 8122: 930d str r3, [sp, #52] ; 0x34 + 7b76: 9b0b ldr r3, [sp, #44] ; 0x2c + 7b78: 3b04 subs r3, #4 + 7b7a: 930d str r3, [sp, #52] ; 0x34 disp_buf_first += disp_w; - 8124: 007b lsls r3, r7, #1 - 8126: 930f str r3, [sp, #60] ; 0x3c - 8128: 2300 movs r3, #0 - 812a: 930a str r3, [sp, #40] ; 0x28 + 7b7c: 007b lsls r3, r7, #1 + 7b7e: 930f str r3, [sp, #60] ; 0x3c + 7b80: 2300 movs r3, #0 + 7b82: 930a str r3, [sp, #40] ; 0x28 LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 812c: f8bd 201c ldrh.w r2, [sp, #28] - 8130: f3c2 2cc4 ubfx ip, r2, #11, #5 + 7b84: f8bd 201c ldrh.w r2, [sp, #28] + 7b88: f3c2 2cc4 ubfx ip, r2, #11, #5 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 8134: f3c2 1e45 ubfx lr, r2, #5, #6 + 7b8c: f3c2 1e45 ubfx lr, r2, #5, #6 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 8138: f3c2 0304 ubfx r3, r2, #0, #5 - 813c: 9306 str r3, [sp, #24] - 813e: e1de b.n 84fe <_lv_blend_fill+0x806> + 7b90: f3c2 0304 ubfx r3, r2, #0, #5 + 7b94: 9306 str r3, [sp, #24] + 7b96: e1de b.n 7f56 <_lv_blend_fill+0x806> FILL_NORMAL_MASK_PX(x, color) - 8140: f8bd 301c ldrh.w r3, [sp, #28] - 8144: 803b strh r3, [r7, #0] - 8146: 4643 mov r3, r8 + 7b98: f8bd 301c ldrh.w r3, [sp, #28] + 7b9c: 803b strh r3, [r7, #0] + 7b9e: 4643 mov r3, r8 for(x = 0; x < draw_area_w && ((lv_uintptr_t)mask_tmp_x & 0x3); x++) { - 8148: 3101 adds r1, #1 - 814a: 428d cmp r5, r1 - 814c: f000 834c beq.w 87e8 <_lv_blend_fill+0xaf0> - 8150: 3702 adds r7, #2 - 8152: f018 0f03 tst.w r8, #3 - 8156: f000 8355 beq.w 8804 <_lv_blend_fill+0xb0c> + 7ba0: 3101 adds r1, #1 + 7ba2: 428d cmp r5, r1 + 7ba4: f000 834c beq.w 8240 <_lv_blend_fill+0xaf0> + 7ba8: 3702 adds r7, #2 + 7baa: f018 0f03 tst.w r8, #3 + 7bae: f000 8355 beq.w 825c <_lv_blend_fill+0xb0c> FILL_NORMAL_MASK_PX(x, color) - 815a: f818 3b01 ldrb.w r3, [r8], #1 - 815e: 2b00 cmp r3, #0 - 8160: d0f1 beq.n 8146 <_lv_blend_fill+0x44e> - 8162: 2bff cmp r3, #255 ; 0xff - 8164: d0ec beq.n 8140 <_lv_blend_fill+0x448> + 7bb2: f818 3b01 ldrb.w r3, [r8], #1 + 7bb6: 2b00 cmp r3, #0 + 7bb8: d0f1 beq.n 7b9e <_lv_blend_fill+0x44e> + 7bba: 2bff cmp r3, #255 ; 0xff + 7bbc: d0ec beq.n 7b98 <_lv_blend_fill+0x448> LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 8166: f1c3 09ff rsb r9, r3, #255 ; 0xff - 816a: 787a ldrb r2, [r7, #1] - 816c: 08d2 lsrs r2, r2, #3 - 816e: fb09 f202 mul.w r2, r9, r2 - 8172: fb03 220c mla r2, r3, ip, r2 - 8176: eb02 2002 add.w r0, r2, r2, lsl #8 - 817a: eb02 12c0 add.w r2, r2, r0, lsl #7 - 817e: f3c2 52c4 ubfx r2, r2, #23, #5 + 7bbe: f1c3 09ff rsb r9, r3, #255 ; 0xff + 7bc2: 787a ldrb r2, [r7, #1] + 7bc4: 08d2 lsrs r2, r2, #3 + 7bc6: fb09 f202 mul.w r2, r9, r2 + 7bca: fb03 220c mla r2, r3, ip, r2 + 7bce: eb02 2002 add.w r0, r2, r2, lsl #8 + 7bd2: eb02 12c0 add.w r2, r2, r0, lsl #7 + 7bd6: f3c2 52c4 ubfx r2, r2, #23, #5 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 8182: 8838 ldrh r0, [r7, #0] - 8184: f3c0 1045 ubfx r0, r0, #5, #6 - 8188: fb09 f000 mul.w r0, r9, r0 - 818c: fb03 000e mla r0, r3, lr, r0 - 8190: eb00 2600 add.w r6, r0, r0, lsl #8 - 8194: eb00 10c6 add.w r0, r0, r6, lsl #7 - 8198: f3c0 50c5 ubfx r0, r0, #23, #6 + 7bda: 8838 ldrh r0, [r7, #0] + 7bdc: f3c0 1045 ubfx r0, r0, #5, #6 + 7be0: fb09 f000 mul.w r0, r9, r0 + 7be4: fb03 000e mla r0, r3, lr, r0 + 7be8: eb00 2600 add.w r6, r0, r0, lsl #8 + 7bec: eb00 10c6 add.w r0, r0, r6, lsl #7 + 7bf0: f3c0 50c5 ubfx r0, r0, #23, #6 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 819c: 783e ldrb r6, [r7, #0] - 819e: f006 0a1f and.w sl, r6, #31 - 81a2: fb09 f90a mul.w r9, r9, sl - 81a6: fb03 9304 mla r3, r3, r4, r9 - 81aa: eb03 2903 add.w r9, r3, r3, lsl #8 - 81ae: eb03 13c9 add.w r3, r3, r9, lsl #7 - 81b2: 0ddb lsrs r3, r3, #23 - 81b4: f363 0604 bfi r6, r3, #0, #5 - 81b8: 703e strb r6, [r7, #0] - 81ba: 883b ldrh r3, [r7, #0] - 81bc: f360 134a bfi r3, r0, #5, #6 - 81c0: 803b strh r3, [r7, #0] - 81c2: 0a1b lsrs r3, r3, #8 - 81c4: f362 03c7 bfi r3, r2, #3, #5 - 81c8: 707b strb r3, [r7, #1] - 81ca: e7bc b.n 8146 <_lv_blend_fill+0x44e> + 7bf4: 783e ldrb r6, [r7, #0] + 7bf6: f006 0a1f and.w sl, r6, #31 + 7bfa: fb09 f90a mul.w r9, r9, sl + 7bfe: fb03 9304 mla r3, r3, r4, r9 + 7c02: eb03 2903 add.w r9, r3, r3, lsl #8 + 7c06: eb03 13c9 add.w r3, r3, r9, lsl #7 + 7c0a: 0ddb lsrs r3, r3, #23 + 7c0c: f363 0604 bfi r6, r3, #0, #5 + 7c10: 703e strb r6, [r7, #0] + 7c12: 883b ldrh r3, [r7, #0] + 7c14: f360 134a bfi r3, r0, #5, #6 + 7c18: 803b strh r3, [r7, #0] + 7c1a: 0a1b lsrs r3, r3, #8 + 7c1c: f362 03c7 bfi r3, r2, #3, #5 + 7c20: 707b strb r3, [r7, #1] + 7c22: e7bc b.n 7b9e <_lv_blend_fill+0x44e> disp_buf_first[x] = color; - 81cc: f8bd 401c ldrh.w r4, [sp, #28] - 81d0: f820 4c06 strh.w r4, [r0, #-6] + 7c24: f8bd 401c ldrh.w r4, [sp, #28] + 7c28: f820 4c06 strh.w r4, [r0, #-6] disp_buf_first[x + 1] = color; - 81d4: f820 4c04 strh.w r4, [r0, #-4] + 7c2c: f820 4c04 strh.w r4, [r0, #-4] disp_buf_first[x + 2] = color; - 81d8: f820 4c02 strh.w r4, [r0, #-2] + 7c30: f820 4c02 strh.w r4, [r0, #-2] disp_buf_first[x + 3] = color; - 81dc: 8004 strh r4, [r0, #0] + 7c34: 8004 strh r4, [r0, #0] for(; x <= x_end4; x += 4) { - 81de: 3104 adds r1, #4 - 81e0: 3304 adds r3, #4 - 81e2: 3008 adds r0, #8 - 81e4: 428f cmp r7, r1 - 81e6: f2c0 8129 blt.w 843c <_lv_blend_fill+0x744> - 81ea: 461a mov r2, r3 + 7c36: 3104 adds r1, #4 + 7c38: 3304 adds r3, #4 + 7c3a: 3008 adds r0, #8 + 7c3c: 428f cmp r7, r1 + 7c3e: f2c0 8129 blt.w 7e94 <_lv_blend_fill+0x744> + 7c42: 461a mov r2, r3 if(*mask32) { - 81ec: f853 4c04 ldr.w r4, [r3, #-4] - 81f0: 2c00 cmp r4, #0 - 81f2: d0f4 beq.n 81de <_lv_blend_fill+0x4e6> + 7c44: f853 4c04 ldr.w r4, [r3, #-4] + 7c48: 2c00 cmp r4, #0 + 7c4a: d0f4 beq.n 7c36 <_lv_blend_fill+0x4e6> if((*mask32) == 0xFFFFFFFF) { - 81f4: f1b4 3fff cmp.w r4, #4294967295 - 81f8: d0e8 beq.n 81cc <_lv_blend_fill+0x4d4> + 7c4c: f1b4 3fff cmp.w r4, #4294967295 + 7c50: d0e8 beq.n 7c24 <_lv_blend_fill+0x4d4> FILL_NORMAL_MASK_PX(x, color) - 81fa: f813 8c04 ldrb.w r8, [r3, #-4] - 81fe: f1b8 0f00 cmp.w r8, #0 - 8202: d03f beq.n 8284 <_lv_blend_fill+0x58c> - 8204: f1b8 0fff cmp.w r8, #255 ; 0xff - 8208: f000 8105 beq.w 8416 <_lv_blend_fill+0x71e> + 7c52: f813 8c04 ldrb.w r8, [r3, #-4] + 7c56: f1b8 0f00 cmp.w r8, #0 + 7c5a: d03f beq.n 7cdc <_lv_blend_fill+0x58c> + 7c5c: f1b8 0fff cmp.w r8, #255 ; 0xff + 7c60: f000 8105 beq.w 7e6e <_lv_blend_fill+0x71e> LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 820c: f1c8 06ff rsb r6, r8, #255 ; 0xff - 8210: f810 4c05 ldrb.w r4, [r0, #-5] - 8214: 08e4 lsrs r4, r4, #3 - 8216: fb06 f404 mul.w r4, r6, r4 - 821a: fb08 440c mla r4, r8, ip, r4 - 821e: eb04 2504 add.w r5, r4, r4, lsl #8 - 8222: eb04 14c5 add.w r4, r4, r5, lsl #7 - 8226: f3c4 54c4 ubfx r4, r4, #23, #5 - 822a: 9409 str r4, [sp, #36] ; 0x24 + 7c64: f1c8 06ff rsb r6, r8, #255 ; 0xff + 7c68: f810 4c05 ldrb.w r4, [r0, #-5] + 7c6c: 08e4 lsrs r4, r4, #3 + 7c6e: fb06 f404 mul.w r4, r6, r4 + 7c72: fb08 440c mla r4, r8, ip, r4 + 7c76: eb04 2504 add.w r5, r4, r4, lsl #8 + 7c7a: eb04 14c5 add.w r4, r4, r5, lsl #7 + 7c7e: f3c4 54c4 ubfx r4, r4, #23, #5 + 7c82: 9409 str r4, [sp, #36] ; 0x24 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 822c: f830 5c06 ldrh.w r5, [r0, #-6] - 8230: f3c5 1545 ubfx r5, r5, #5, #6 - 8234: fb06 f505 mul.w r5, r6, r5 - 8238: fb08 550e mla r5, r8, lr, r5 - 823c: eb05 2905 add.w r9, r5, r5, lsl #8 - 8240: eb05 15c9 add.w r5, r5, r9, lsl #7 - 8244: f3c5 55c5 ubfx r5, r5, #23, #6 + 7c84: f830 5c06 ldrh.w r5, [r0, #-6] + 7c88: f3c5 1545 ubfx r5, r5, #5, #6 + 7c8c: fb06 f505 mul.w r5, r6, r5 + 7c90: fb08 550e mla r5, r8, lr, r5 + 7c94: eb05 2905 add.w r9, r5, r5, lsl #8 + 7c98: eb05 15c9 add.w r5, r5, r9, lsl #7 + 7c9c: f3c5 55c5 ubfx r5, r5, #23, #6 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 8248: f810 9c06 ldrb.w r9, [r0, #-6] - 824c: f009 0b1f and.w fp, r9, #31 - 8250: fb06 f60b mul.w r6, r6, fp - 8254: 9c06 ldr r4, [sp, #24] - 8256: fb08 6804 mla r8, r8, r4, r6 - 825a: eb08 2608 add.w r6, r8, r8, lsl #8 - 825e: eb08 16c6 add.w r6, r8, r6, lsl #7 - 8262: 0df6 lsrs r6, r6, #23 - 8264: f366 0904 bfi r9, r6, #0, #5 - 8268: f800 9c06 strb.w r9, [r0, #-6] - 826c: f830 6c06 ldrh.w r6, [r0, #-6] - 8270: f365 164a bfi r6, r5, #5, #6 - 8274: f820 6c06 strh.w r6, [r0, #-6] - 8278: 0a36 lsrs r6, r6, #8 - 827a: 9c09 ldr r4, [sp, #36] ; 0x24 - 827c: f364 06c7 bfi r6, r4, #3, #5 - 8280: f800 6c05 strb.w r6, [r0, #-5] + 7ca0: f810 9c06 ldrb.w r9, [r0, #-6] + 7ca4: f009 0b1f and.w fp, r9, #31 + 7ca8: fb06 f60b mul.w r6, r6, fp + 7cac: 9c06 ldr r4, [sp, #24] + 7cae: fb08 6804 mla r8, r8, r4, r6 + 7cb2: eb08 2608 add.w r6, r8, r8, lsl #8 + 7cb6: eb08 16c6 add.w r6, r8, r6, lsl #7 + 7cba: 0df6 lsrs r6, r6, #23 + 7cbc: f366 0904 bfi r9, r6, #0, #5 + 7cc0: f800 9c06 strb.w r9, [r0, #-6] + 7cc4: f830 6c06 ldrh.w r6, [r0, #-6] + 7cc8: f365 164a bfi r6, r5, #5, #6 + 7ccc: f820 6c06 strh.w r6, [r0, #-6] + 7cd0: 0a36 lsrs r6, r6, #8 + 7cd2: 9c09 ldr r4, [sp, #36] ; 0x24 + 7cd4: f364 06c7 bfi r6, r4, #3, #5 + 7cd8: f800 6c05 strb.w r6, [r0, #-5] FILL_NORMAL_MASK_PX(x + 1, color) - 8284: f812 8c03 ldrb.w r8, [r2, #-3] - 8288: f1b8 0f00 cmp.w r8, #0 - 828c: d03f beq.n 830e <_lv_blend_fill+0x616> - 828e: f1b8 0fff cmp.w r8, #255 ; 0xff - 8292: f000 80c5 beq.w 8420 <_lv_blend_fill+0x728> + 7cdc: f812 8c03 ldrb.w r8, [r2, #-3] + 7ce0: f1b8 0f00 cmp.w r8, #0 + 7ce4: d03f beq.n 7d66 <_lv_blend_fill+0x616> + 7ce6: f1b8 0fff cmp.w r8, #255 ; 0xff + 7cea: f000 80c5 beq.w 7e78 <_lv_blend_fill+0x728> LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 8296: f1c8 06ff rsb r6, r8, #255 ; 0xff - 829a: f810 4c03 ldrb.w r4, [r0, #-3] - 829e: 08e4 lsrs r4, r4, #3 - 82a0: fb06 f404 mul.w r4, r6, r4 - 82a4: fb08 440c mla r4, r8, ip, r4 - 82a8: eb04 2504 add.w r5, r4, r4, lsl #8 - 82ac: eb04 14c5 add.w r4, r4, r5, lsl #7 - 82b0: f3c4 54c4 ubfx r4, r4, #23, #5 - 82b4: 9409 str r4, [sp, #36] ; 0x24 + 7cee: f1c8 06ff rsb r6, r8, #255 ; 0xff + 7cf2: f810 4c03 ldrb.w r4, [r0, #-3] + 7cf6: 08e4 lsrs r4, r4, #3 + 7cf8: fb06 f404 mul.w r4, r6, r4 + 7cfc: fb08 440c mla r4, r8, ip, r4 + 7d00: eb04 2504 add.w r5, r4, r4, lsl #8 + 7d04: eb04 14c5 add.w r4, r4, r5, lsl #7 + 7d08: f3c4 54c4 ubfx r4, r4, #23, #5 + 7d0c: 9409 str r4, [sp, #36] ; 0x24 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 82b6: f830 5c04 ldrh.w r5, [r0, #-4] - 82ba: f3c5 1545 ubfx r5, r5, #5, #6 - 82be: fb06 f505 mul.w r5, r6, r5 - 82c2: fb08 550e mla r5, r8, lr, r5 - 82c6: eb05 2905 add.w r9, r5, r5, lsl #8 - 82ca: eb05 15c9 add.w r5, r5, r9, lsl #7 - 82ce: f3c5 55c5 ubfx r5, r5, #23, #6 + 7d0e: f830 5c04 ldrh.w r5, [r0, #-4] + 7d12: f3c5 1545 ubfx r5, r5, #5, #6 + 7d16: fb06 f505 mul.w r5, r6, r5 + 7d1a: fb08 550e mla r5, r8, lr, r5 + 7d1e: eb05 2905 add.w r9, r5, r5, lsl #8 + 7d22: eb05 15c9 add.w r5, r5, r9, lsl #7 + 7d26: f3c5 55c5 ubfx r5, r5, #23, #6 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 82d2: f810 9c04 ldrb.w r9, [r0, #-4] - 82d6: f009 0b1f and.w fp, r9, #31 - 82da: fb06 f60b mul.w r6, r6, fp - 82de: 9c06 ldr r4, [sp, #24] - 82e0: fb08 6804 mla r8, r8, r4, r6 - 82e4: eb08 2608 add.w r6, r8, r8, lsl #8 - 82e8: eb08 16c6 add.w r6, r8, r6, lsl #7 - 82ec: 0df6 lsrs r6, r6, #23 - 82ee: f366 0904 bfi r9, r6, #0, #5 - 82f2: f800 9c04 strb.w r9, [r0, #-4] - 82f6: f830 6c04 ldrh.w r6, [r0, #-4] - 82fa: f365 164a bfi r6, r5, #5, #6 - 82fe: f820 6c04 strh.w r6, [r0, #-4] - 8302: 0a36 lsrs r6, r6, #8 - 8304: 9c09 ldr r4, [sp, #36] ; 0x24 - 8306: f364 06c7 bfi r6, r4, #3, #5 - 830a: f800 6c03 strb.w r6, [r0, #-3] + 7d2a: f810 9c04 ldrb.w r9, [r0, #-4] + 7d2e: f009 0b1f and.w fp, r9, #31 + 7d32: fb06 f60b mul.w r6, r6, fp + 7d36: 9c06 ldr r4, [sp, #24] + 7d38: fb08 6804 mla r8, r8, r4, r6 + 7d3c: eb08 2608 add.w r6, r8, r8, lsl #8 + 7d40: eb08 16c6 add.w r6, r8, r6, lsl #7 + 7d44: 0df6 lsrs r6, r6, #23 + 7d46: f366 0904 bfi r9, r6, #0, #5 + 7d4a: f800 9c04 strb.w r9, [r0, #-4] + 7d4e: f830 6c04 ldrh.w r6, [r0, #-4] + 7d52: f365 164a bfi r6, r5, #5, #6 + 7d56: f820 6c04 strh.w r6, [r0, #-4] + 7d5a: 0a36 lsrs r6, r6, #8 + 7d5c: 9c09 ldr r4, [sp, #36] ; 0x24 + 7d5e: f364 06c7 bfi r6, r4, #3, #5 + 7d62: f800 6c03 strb.w r6, [r0, #-3] FILL_NORMAL_MASK_PX(x + 2, color) - 830e: f812 8c02 ldrb.w r8, [r2, #-2] - 8312: f1b8 0f00 cmp.w r8, #0 - 8316: d03f beq.n 8398 <_lv_blend_fill+0x6a0> - 8318: f1b8 0fff cmp.w r8, #255 ; 0xff - 831c: f000 8085 beq.w 842a <_lv_blend_fill+0x732> + 7d66: f812 8c02 ldrb.w r8, [r2, #-2] + 7d6a: f1b8 0f00 cmp.w r8, #0 + 7d6e: d03f beq.n 7df0 <_lv_blend_fill+0x6a0> + 7d70: f1b8 0fff cmp.w r8, #255 ; 0xff + 7d74: f000 8085 beq.w 7e82 <_lv_blend_fill+0x732> LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 8320: f1c8 06ff rsb r6, r8, #255 ; 0xff - 8324: f810 4c01 ldrb.w r4, [r0, #-1] - 8328: 08e4 lsrs r4, r4, #3 - 832a: fb06 f404 mul.w r4, r6, r4 - 832e: fb08 440c mla r4, r8, ip, r4 - 8332: eb04 2504 add.w r5, r4, r4, lsl #8 - 8336: eb04 14c5 add.w r4, r4, r5, lsl #7 - 833a: f3c4 54c4 ubfx r4, r4, #23, #5 - 833e: 9409 str r4, [sp, #36] ; 0x24 + 7d78: f1c8 06ff rsb r6, r8, #255 ; 0xff + 7d7c: f810 4c01 ldrb.w r4, [r0, #-1] + 7d80: 08e4 lsrs r4, r4, #3 + 7d82: fb06 f404 mul.w r4, r6, r4 + 7d86: fb08 440c mla r4, r8, ip, r4 + 7d8a: eb04 2504 add.w r5, r4, r4, lsl #8 + 7d8e: eb04 14c5 add.w r4, r4, r5, lsl #7 + 7d92: f3c4 54c4 ubfx r4, r4, #23, #5 + 7d96: 9409 str r4, [sp, #36] ; 0x24 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 8340: f830 5c02 ldrh.w r5, [r0, #-2] - 8344: f3c5 1545 ubfx r5, r5, #5, #6 - 8348: fb06 f505 mul.w r5, r6, r5 - 834c: fb08 550e mla r5, r8, lr, r5 - 8350: eb05 2905 add.w r9, r5, r5, lsl #8 - 8354: eb05 15c9 add.w r5, r5, r9, lsl #7 - 8358: f3c5 55c5 ubfx r5, r5, #23, #6 + 7d98: f830 5c02 ldrh.w r5, [r0, #-2] + 7d9c: f3c5 1545 ubfx r5, r5, #5, #6 + 7da0: fb06 f505 mul.w r5, r6, r5 + 7da4: fb08 550e mla r5, r8, lr, r5 + 7da8: eb05 2905 add.w r9, r5, r5, lsl #8 + 7dac: eb05 15c9 add.w r5, r5, r9, lsl #7 + 7db0: f3c5 55c5 ubfx r5, r5, #23, #6 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 835c: f810 9c02 ldrb.w r9, [r0, #-2] - 8360: f009 0b1f and.w fp, r9, #31 - 8364: fb06 f60b mul.w r6, r6, fp - 8368: 9c06 ldr r4, [sp, #24] - 836a: fb08 6804 mla r8, r8, r4, r6 - 836e: eb08 2608 add.w r6, r8, r8, lsl #8 - 8372: eb08 16c6 add.w r6, r8, r6, lsl #7 - 8376: 0df6 lsrs r6, r6, #23 - 8378: f366 0904 bfi r9, r6, #0, #5 - 837c: f800 9c02 strb.w r9, [r0, #-2] - 8380: f830 6c02 ldrh.w r6, [r0, #-2] - 8384: f365 164a bfi r6, r5, #5, #6 - 8388: f820 6c02 strh.w r6, [r0, #-2] - 838c: 0a36 lsrs r6, r6, #8 - 838e: 9c09 ldr r4, [sp, #36] ; 0x24 - 8390: f364 06c7 bfi r6, r4, #3, #5 - 8394: f800 6c01 strb.w r6, [r0, #-1] + 7db4: f810 9c02 ldrb.w r9, [r0, #-2] + 7db8: f009 0b1f and.w fp, r9, #31 + 7dbc: fb06 f60b mul.w r6, r6, fp + 7dc0: 9c06 ldr r4, [sp, #24] + 7dc2: fb08 6804 mla r8, r8, r4, r6 + 7dc6: eb08 2608 add.w r6, r8, r8, lsl #8 + 7dca: eb08 16c6 add.w r6, r8, r6, lsl #7 + 7dce: 0df6 lsrs r6, r6, #23 + 7dd0: f366 0904 bfi r9, r6, #0, #5 + 7dd4: f800 9c02 strb.w r9, [r0, #-2] + 7dd8: f830 6c02 ldrh.w r6, [r0, #-2] + 7ddc: f365 164a bfi r6, r5, #5, #6 + 7de0: f820 6c02 strh.w r6, [r0, #-2] + 7de4: 0a36 lsrs r6, r6, #8 + 7de6: 9c09 ldr r4, [sp, #36] ; 0x24 + 7de8: f364 06c7 bfi r6, r4, #3, #5 + 7dec: f800 6c01 strb.w r6, [r0, #-1] FILL_NORMAL_MASK_PX(x + 3, color) - 8398: f812 8c01 ldrb.w r8, [r2, #-1] - 839c: f1b8 0f00 cmp.w r8, #0 - 83a0: f43f af1d beq.w 81de <_lv_blend_fill+0x4e6> - 83a4: f1b8 0fff cmp.w r8, #255 ; 0xff - 83a8: d044 beq.n 8434 <_lv_blend_fill+0x73c> + 7df0: f812 8c01 ldrb.w r8, [r2, #-1] + 7df4: f1b8 0f00 cmp.w r8, #0 + 7df8: f43f af1d beq.w 7c36 <_lv_blend_fill+0x4e6> + 7dfc: f1b8 0fff cmp.w r8, #255 ; 0xff + 7e00: d044 beq.n 7e8c <_lv_blend_fill+0x73c> LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 83aa: f1c8 06ff rsb r6, r8, #255 ; 0xff - 83ae: 7844 ldrb r4, [r0, #1] - 83b0: 08e4 lsrs r4, r4, #3 - 83b2: fb06 f404 mul.w r4, r6, r4 - 83b6: fb08 440c mla r4, r8, ip, r4 - 83ba: eb04 2504 add.w r5, r4, r4, lsl #8 - 83be: eb04 14c5 add.w r4, r4, r5, lsl #7 - 83c2: f3c4 5bc4 ubfx fp, r4, #23, #5 + 7e02: f1c8 06ff rsb r6, r8, #255 ; 0xff + 7e06: 7844 ldrb r4, [r0, #1] + 7e08: 08e4 lsrs r4, r4, #3 + 7e0a: fb06 f404 mul.w r4, r6, r4 + 7e0e: fb08 440c mla r4, r8, ip, r4 + 7e12: eb04 2504 add.w r5, r4, r4, lsl #8 + 7e16: eb04 14c5 add.w r4, r4, r5, lsl #7 + 7e1a: f3c4 5bc4 ubfx fp, r4, #23, #5 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 83c6: 8805 ldrh r5, [r0, #0] - 83c8: f3c5 1545 ubfx r5, r5, #5, #6 - 83cc: fb06 f505 mul.w r5, r6, r5 - 83d0: fb08 550e mla r5, r8, lr, r5 - 83d4: eb05 2905 add.w r9, r5, r5, lsl #8 - 83d8: eb05 15c9 add.w r5, r5, r9, lsl #7 - 83dc: f3c5 55c5 ubfx r5, r5, #23, #6 + 7e1e: 8805 ldrh r5, [r0, #0] + 7e20: f3c5 1545 ubfx r5, r5, #5, #6 + 7e24: fb06 f505 mul.w r5, r6, r5 + 7e28: fb08 550e mla r5, r8, lr, r5 + 7e2c: eb05 2905 add.w r9, r5, r5, lsl #8 + 7e30: eb05 15c9 add.w r5, r5, r9, lsl #7 + 7e34: f3c5 55c5 ubfx r5, r5, #23, #6 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 83e0: f890 9000 ldrb.w r9, [r0] - 83e4: f009 0a1f and.w sl, r9, #31 - 83e8: fb06 f60a mul.w r6, r6, sl - 83ec: 9c06 ldr r4, [sp, #24] - 83ee: fb08 6804 mla r8, r8, r4, r6 - 83f2: eb08 2608 add.w r6, r8, r8, lsl #8 - 83f6: eb08 16c6 add.w r6, r8, r6, lsl #7 - 83fa: 0df6 lsrs r6, r6, #23 - 83fc: f366 0904 bfi r9, r6, #0, #5 - 8400: f880 9000 strb.w r9, [r0] - 8404: 8806 ldrh r6, [r0, #0] - 8406: f365 164a bfi r6, r5, #5, #6 - 840a: 8006 strh r6, [r0, #0] - 840c: 0a36 lsrs r6, r6, #8 - 840e: f36b 06c7 bfi r6, fp, #3, #5 - 8412: 7046 strb r6, [r0, #1] - 8414: e6e3 b.n 81de <_lv_blend_fill+0x4e6> + 7e38: f890 9000 ldrb.w r9, [r0] + 7e3c: f009 0a1f and.w sl, r9, #31 + 7e40: fb06 f60a mul.w r6, r6, sl + 7e44: 9c06 ldr r4, [sp, #24] + 7e46: fb08 6804 mla r8, r8, r4, r6 + 7e4a: eb08 2608 add.w r6, r8, r8, lsl #8 + 7e4e: eb08 16c6 add.w r6, r8, r6, lsl #7 + 7e52: 0df6 lsrs r6, r6, #23 + 7e54: f366 0904 bfi r9, r6, #0, #5 + 7e58: f880 9000 strb.w r9, [r0] + 7e5c: 8806 ldrh r6, [r0, #0] + 7e5e: f365 164a bfi r6, r5, #5, #6 + 7e62: 8006 strh r6, [r0, #0] + 7e64: 0a36 lsrs r6, r6, #8 + 7e66: f36b 06c7 bfi r6, fp, #3, #5 + 7e6a: 7046 strb r6, [r0, #1] + 7e6c: e6e3 b.n 7c36 <_lv_blend_fill+0x4e6> FILL_NORMAL_MASK_PX(x, color) - 8416: f8bd 401c ldrh.w r4, [sp, #28] - 841a: f820 4c06 strh.w r4, [r0, #-6] - 841e: e731 b.n 8284 <_lv_blend_fill+0x58c> + 7e6e: f8bd 401c ldrh.w r4, [sp, #28] + 7e72: f820 4c06 strh.w r4, [r0, #-6] + 7e76: e731 b.n 7cdc <_lv_blend_fill+0x58c> FILL_NORMAL_MASK_PX(x + 1, color) - 8420: f8bd 401c ldrh.w r4, [sp, #28] - 8424: f820 4c04 strh.w r4, [r0, #-4] - 8428: e771 b.n 830e <_lv_blend_fill+0x616> + 7e78: f8bd 401c ldrh.w r4, [sp, #28] + 7e7c: f820 4c04 strh.w r4, [r0, #-4] + 7e80: e771 b.n 7d66 <_lv_blend_fill+0x616> FILL_NORMAL_MASK_PX(x + 2, color) - 842a: f8bd 401c ldrh.w r4, [sp, #28] - 842e: f820 4c02 strh.w r4, [r0, #-2] - 8432: e7b1 b.n 8398 <_lv_blend_fill+0x6a0> + 7e82: f8bd 401c ldrh.w r4, [sp, #28] + 7e86: f820 4c02 strh.w r4, [r0, #-2] + 7e8a: e7b1 b.n 7df0 <_lv_blend_fill+0x6a0> FILL_NORMAL_MASK_PX(x + 3, color) - 8434: f8bd 401c ldrh.w r4, [sp, #28] - 8438: 8004 strh r4, [r0, #0] - 843a: e6d0 b.n 81de <_lv_blend_fill+0x4e6> - 843c: 9d0e ldr r5, [sp, #56] ; 0x38 + 7e8c: f8bd 401c ldrh.w r4, [sp, #28] + 7e90: 8004 strh r4, [r0, #0] + 7e92: e6d0 b.n 7c36 <_lv_blend_fill+0x4e6> + 7e94: 9d0e ldr r5, [sp, #56] ; 0x38 for(; x < draw_area_w ; x++) { - 843e: 428d cmp r5, r1 - 8440: dd4e ble.n 84e0 <_lv_blend_fill+0x7e8> - 8442: 1e54 subs r4, r2, #1 - 8444: 9b05 ldr r3, [sp, #20] - 8446: eb03 0841 add.w r8, r3, r1, lsl #1 - 844a: 9e06 ldr r6, [sp, #24] - 844c: e008 b.n 8460 <_lv_blend_fill+0x768> + 7e96: 428d cmp r5, r1 + 7e98: dd4e ble.n 7f38 <_lv_blend_fill+0x7e8> + 7e9a: 1e54 subs r4, r2, #1 + 7e9c: 9b05 ldr r3, [sp, #20] + 7e9e: eb03 0841 add.w r8, r3, r1, lsl #1 + 7ea2: 9e06 ldr r6, [sp, #24] + 7ea4: e008 b.n 7eb8 <_lv_blend_fill+0x768> FILL_NORMAL_MASK_PX(x, color) - 844e: f8bd 301c ldrh.w r3, [sp, #28] - 8452: f8a8 3000 strh.w r3, [r8] + 7ea6: f8bd 301c ldrh.w r3, [sp, #28] + 7eaa: f8a8 3000 strh.w r3, [r8] for(; x < draw_area_w ; x++) { - 8456: 3101 adds r1, #1 - 8458: f108 0802 add.w r8, r8, #2 - 845c: 428d cmp r5, r1 - 845e: dd3f ble.n 84e0 <_lv_blend_fill+0x7e8> + 7eae: 3101 adds r1, #1 + 7eb0: f108 0802 add.w r8, r8, #2 + 7eb4: 428d cmp r5, r1 + 7eb6: dd3f ble.n 7f38 <_lv_blend_fill+0x7e8> FILL_NORMAL_MASK_PX(x, color) - 8460: f814 3f01 ldrb.w r3, [r4, #1]! - 8464: 2b00 cmp r3, #0 - 8466: d0f6 beq.n 8456 <_lv_blend_fill+0x75e> - 8468: 2bff cmp r3, #255 ; 0xff - 846a: d0f0 beq.n 844e <_lv_blend_fill+0x756> + 7eb8: f814 3f01 ldrb.w r3, [r4, #1]! + 7ebc: 2b00 cmp r3, #0 + 7ebe: d0f6 beq.n 7eae <_lv_blend_fill+0x75e> + 7ec0: 2bff cmp r3, #255 ; 0xff + 7ec2: d0f0 beq.n 7ea6 <_lv_blend_fill+0x756> LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 846c: f1c3 09ff rsb r9, r3, #255 ; 0xff - 8470: f898 2001 ldrb.w r2, [r8, #1] - 8474: 08d2 lsrs r2, r2, #3 - 8476: fb09 f202 mul.w r2, r9, r2 - 847a: fb03 220c mla r2, r3, ip, r2 - 847e: eb02 2002 add.w r0, r2, r2, lsl #8 - 8482: eb02 12c0 add.w r2, r2, r0, lsl #7 - 8486: f3c2 52c4 ubfx r2, r2, #23, #5 + 7ec4: f1c3 09ff rsb r9, r3, #255 ; 0xff + 7ec8: f898 2001 ldrb.w r2, [r8, #1] + 7ecc: 08d2 lsrs r2, r2, #3 + 7ece: fb09 f202 mul.w r2, r9, r2 + 7ed2: fb03 220c mla r2, r3, ip, r2 + 7ed6: eb02 2002 add.w r0, r2, r2, lsl #8 + 7eda: eb02 12c0 add.w r2, r2, r0, lsl #7 + 7ede: f3c2 52c4 ubfx r2, r2, #23, #5 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 848a: f8b8 0000 ldrh.w r0, [r8] - 848e: f3c0 1045 ubfx r0, r0, #5, #6 - 8492: fb09 f000 mul.w r0, r9, r0 - 8496: fb03 000e mla r0, r3, lr, r0 - 849a: eb00 2700 add.w r7, r0, r0, lsl #8 - 849e: eb00 10c7 add.w r0, r0, r7, lsl #7 - 84a2: f3c0 50c5 ubfx r0, r0, #23, #6 + 7ee2: f8b8 0000 ldrh.w r0, [r8] + 7ee6: f3c0 1045 ubfx r0, r0, #5, #6 + 7eea: fb09 f000 mul.w r0, r9, r0 + 7eee: fb03 000e mla r0, r3, lr, r0 + 7ef2: eb00 2700 add.w r7, r0, r0, lsl #8 + 7ef6: eb00 10c7 add.w r0, r0, r7, lsl #7 + 7efa: f3c0 50c5 ubfx r0, r0, #23, #6 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 84a6: f898 7000 ldrb.w r7, [r8] - 84aa: f007 0a1f and.w sl, r7, #31 - 84ae: fb09 f90a mul.w r9, r9, sl - 84b2: fb03 9306 mla r3, r3, r6, r9 - 84b6: eb03 2903 add.w r9, r3, r3, lsl #8 - 84ba: eb03 13c9 add.w r3, r3, r9, lsl #7 - 84be: 0ddb lsrs r3, r3, #23 - 84c0: f363 0704 bfi r7, r3, #0, #5 - 84c4: f888 7000 strb.w r7, [r8] - 84c8: f8b8 3000 ldrh.w r3, [r8] - 84cc: f360 134a bfi r3, r0, #5, #6 - 84d0: f8a8 3000 strh.w r3, [r8] - 84d4: 0a1b lsrs r3, r3, #8 - 84d6: f362 03c7 bfi r3, r2, #3, #5 - 84da: f888 3001 strb.w r3, [r8, #1] - 84de: e7ba b.n 8456 <_lv_blend_fill+0x75e> + 7efe: f898 7000 ldrb.w r7, [r8] + 7f02: f007 0a1f and.w sl, r7, #31 + 7f06: fb09 f90a mul.w r9, r9, sl + 7f0a: fb03 9306 mla r3, r3, r6, r9 + 7f0e: eb03 2903 add.w r9, r3, r3, lsl #8 + 7f12: eb03 13c9 add.w r3, r3, r9, lsl #7 + 7f16: 0ddb lsrs r3, r3, #23 + 7f18: f363 0704 bfi r7, r3, #0, #5 + 7f1c: f888 7000 strb.w r7, [r8] + 7f20: f8b8 3000 ldrh.w r3, [r8] + 7f24: f360 134a bfi r3, r0, #5, #6 + 7f28: f8a8 3000 strh.w r3, [r8] + 7f2c: 0a1b lsrs r3, r3, #8 + 7f2e: f362 03c7 bfi r3, r2, #3, #5 + 7f32: f888 3001 strb.w r3, [r8, #1] + 7f36: e7ba b.n 7eae <_lv_blend_fill+0x75e> disp_buf_first += disp_w; - 84e0: 9b05 ldr r3, [sp, #20] - 84e2: 9a0f ldr r2, [sp, #60] ; 0x3c - 84e4: 4413 add r3, r2 - 84e6: 9305 str r3, [sp, #20] - 84e8: 9b08 ldr r3, [sp, #32] - 84ea: 9a0b ldr r2, [sp, #44] ; 0x2c - 84ec: 4413 add r3, r2 - 84ee: 9308 str r3, [sp, #32] + 7f38: 9b05 ldr r3, [sp, #20] + 7f3a: 9a0f ldr r2, [sp, #60] ; 0x3c + 7f3c: 4413 add r3, r2 + 7f3e: 9305 str r3, [sp, #20] + 7f40: 9b08 ldr r3, [sp, #32] + 7f42: 9a0b ldr r2, [sp, #44] ; 0x2c + 7f44: 4413 add r3, r2 + 7f46: 9308 str r3, [sp, #32] for(y = 0; y < draw_area_h; y++) { - 84f0: 9b0a ldr r3, [sp, #40] ; 0x28 - 84f2: 3301 adds r3, #1 - 84f4: 930a str r3, [sp, #40] ; 0x28 - 84f6: 9a0c ldr r2, [sp, #48] ; 0x30 - 84f8: 429a cmp r2, r3 - 84fa: f43f ac0a beq.w 7d12 <_lv_blend_fill+0x1a> + 7f48: 9b0a ldr r3, [sp, #40] ; 0x28 + 7f4a: 3301 adds r3, #1 + 7f4c: 930a str r3, [sp, #40] ; 0x28 + 7f4e: 9a0c ldr r2, [sp, #48] ; 0x30 + 7f50: 429a cmp r2, r3 + 7f52: f43f ac0a beq.w 776a <_lv_blend_fill+0x1a> for(x = 0; x < draw_area_w && ((lv_uintptr_t)mask_tmp_x & 0x3); x++) { - 84fe: 2d00 cmp r5, #0 - 8500: f340 8170 ble.w 87e4 <_lv_blend_fill+0xaec> - 8504: 9a08 ldr r2, [sp, #32] - 8506: f012 0f03 tst.w r2, #3 - 850a: f000 8179 beq.w 8800 <_lv_blend_fill+0xb08> - 850e: 9f05 ldr r7, [sp, #20] - 8510: 4690 mov r8, r2 - 8512: 2100 movs r1, #0 - 8514: 9c06 ldr r4, [sp, #24] - 8516: e620 b.n 815a <_lv_blend_fill+0x462> + 7f56: 2d00 cmp r5, #0 + 7f58: f340 8170 ble.w 823c <_lv_blend_fill+0xaec> + 7f5c: 9a08 ldr r2, [sp, #32] + 7f5e: f012 0f03 tst.w r2, #3 + 7f62: f000 8179 beq.w 8258 <_lv_blend_fill+0xb08> + 7f66: 9f05 ldr r7, [sp, #20] + 7f68: 4690 mov r8, r2 + 7f6a: 2100 movs r1, #0 + 7f6c: 9c06 ldr r4, [sp, #24] + 7f6e: e620 b.n 7bb2 <_lv_blend_fill+0x462> if(*mask_tmp_x != last_mask || last_dest_color.full != disp_buf_first[x].full) { - 8518: 2aff cmp r2, #255 ; 0xff - 851a: d002 beq.n 8522 <_lv_blend_fill+0x82a> + 7f70: 2aff cmp r2, #255 ; 0xff + 7f72: d002 beq.n 7f7a <_lv_blend_fill+0x82a> if(*mask_tmp_x != last_mask) opa_tmp = *mask_tmp_x == LV_OPA_COVER ? opa : - 851c: f8dd e024 ldr.w lr, [sp, #36] ; 0x24 - 8520: e004 b.n 852c <_lv_blend_fill+0x834> - 8522: f8dd e024 ldr.w lr, [sp, #36] ; 0x24 + 7f74: f8dd e024 ldr.w lr, [sp, #36] ; 0x24 + 7f78: e004 b.n 7f84 <_lv_blend_fill+0x834> + 7f7a: f8dd e024 ldr.w lr, [sp, #36] ; 0x24 if(*mask_tmp_x != last_mask || last_dest_color.full != disp_buf_first[x].full) { - 8526: 882a ldrh r2, [r5, #0] - 8528: 429a cmp r2, r3 - 852a: d032 beq.n 8592 <_lv_blend_fill+0x89a> + 7f7e: 882a ldrh r2, [r5, #0] + 7f80: 429a cmp r2, r3 + 7f82: d032 beq.n 7fea <_lv_blend_fill+0x89a> if(opa_tmp == LV_OPA_COVER) last_res_color = color; - 852c: f1be 0fff cmp.w lr, #255 ; 0xff - 8530: d042 beq.n 85b8 <_lv_blend_fill+0x8c0> + 7f84: f1be 0fff cmp.w lr, #255 ; 0xff + 7f88: d042 beq.n 8010 <_lv_blend_fill+0x8c0> LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 8532: f1ce 04ff rsb r4, lr, #255 ; 0xff - 8536: 786b ldrb r3, [r5, #1] - 8538: 08db lsrs r3, r3, #3 - 853a: fb0e f20c mul.w r2, lr, ip - 853e: fb04 2303 mla r3, r4, r3, r2 - 8542: eb03 2203 add.w r2, r3, r3, lsl #8 - 8546: eb03 13c2 add.w r3, r3, r2, lsl #7 - 854a: f3c3 53c4 ubfx r3, r3, #23, #5 + 7f8a: f1ce 04ff rsb r4, lr, #255 ; 0xff + 7f8e: 786b ldrb r3, [r5, #1] + 7f90: 08db lsrs r3, r3, #3 + 7f92: fb0e f20c mul.w r2, lr, ip + 7f96: fb04 2303 mla r3, r4, r3, r2 + 7f9a: eb03 2203 add.w r2, r3, r3, lsl #8 + 7f9e: eb03 13c2 add.w r3, r3, r2, lsl #7 + 7fa2: f3c3 53c4 ubfx r3, r3, #23, #5 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 854e: 882a ldrh r2, [r5, #0] - 8550: f3c2 1245 ubfx r2, r2, #5, #6 - 8554: fb0b f10e mul.w r1, fp, lr - 8558: fb04 1202 mla r2, r4, r2, r1 - 855c: eb02 2102 add.w r1, r2, r2, lsl #8 - 8560: eb02 12c1 add.w r2, r2, r1, lsl #7 - 8564: f3c2 52c5 ubfx r2, r2, #23, #6 + 7fa6: 882a ldrh r2, [r5, #0] + 7fa8: f3c2 1245 ubfx r2, r2, #5, #6 + 7fac: fb0b f10e mul.w r1, fp, lr + 7fb0: fb04 1202 mla r2, r4, r2, r1 + 7fb4: eb02 2102 add.w r1, r2, r2, lsl #8 + 7fb8: eb02 12c1 add.w r2, r2, r1, lsl #7 + 7fbc: f3c2 52c5 ubfx r2, r2, #23, #6 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 8568: 7829 ldrb r1, [r5, #0] - 856a: f001 011f and.w r1, r1, #31 - 856e: fb09 f60e mul.w r6, r9, lr - 8572: fb04 6101 mla r1, r4, r1, r6 - 8576: eb01 2601 add.w r6, r1, r1, lsl #8 - 857a: eb01 11c6 add.w r1, r1, r6, lsl #7 - 857e: 0dc9 lsrs r1, r1, #23 - 8580: f361 0a04 bfi sl, r1, #0, #5 - 8584: f362 1a4a bfi sl, r2, #5, #6 - 8588: f363 2acf bfi sl, r3, #11, #5 - 858c: fa1f f18a uxth.w r1, sl + 7fc0: 7829 ldrb r1, [r5, #0] + 7fc2: f001 011f and.w r1, r1, #31 + 7fc6: fb09 f60e mul.w r6, r9, lr + 7fca: fb04 6101 mla r1, r4, r1, r6 + 7fce: eb01 2601 add.w r6, r1, r1, lsl #8 + 7fd2: eb01 11c6 add.w r1, r1, r6, lsl #7 + 7fd6: 0dc9 lsrs r1, r1, #23 + 7fd8: f361 0a04 bfi sl, r1, #0, #5 + 7fdc: f362 1a4a bfi sl, r2, #5, #6 + 7fe0: f363 2acf bfi sl, r3, #11, #5 + 7fe4: fa1f f18a uxth.w r1, sl last_dest_color.full = disp_buf_first[x].full; - 8590: 882b ldrh r3, [r5, #0] + 7fe8: 882b ldrh r3, [r5, #0] disp_buf_first[x] = last_res_color; - 8592: 8029 strh r1, [r5, #0] - 8594: 4602 mov r2, r0 - 8596: 3502 adds r5, #2 + 7fea: 8029 strh r1, [r5, #0] + 7fec: 4602 mov r2, r0 + 7fee: 3502 adds r5, #2 for(x = 0; x < draw_area_w; x++) { - 8598: 45a8 cmp r8, r5 - 859a: d00f beq.n 85bc <_lv_blend_fill+0x8c4> + 7ff0: 45a8 cmp r8, r5 + 7ff2: d00f beq.n 8014 <_lv_blend_fill+0x8c4> if(*mask_tmp_x) { - 859c: f817 0f01 ldrb.w r0, [r7, #1]! - 85a0: 2800 cmp r0, #0 - 85a2: d0f8 beq.n 8596 <_lv_blend_fill+0x89e> + 7ff4: f817 0f01 ldrb.w r0, [r7, #1]! + 7ff8: 2800 cmp r0, #0 + 7ffa: d0f8 beq.n 7fee <_lv_blend_fill+0x89e> if(*mask_tmp_x != last_mask) opa_tmp = *mask_tmp_x == LV_OPA_COVER ? opa : - 85a4: 4290 cmp r0, r2 - 85a6: d0be beq.n 8526 <_lv_blend_fill+0x82e> - 85a8: 28ff cmp r0, #255 ; 0xff - 85aa: d0b5 beq.n 8518 <_lv_blend_fill+0x820> + 7ffc: 4290 cmp r0, r2 + 7ffe: d0be beq.n 7f7e <_lv_blend_fill+0x82e> + 8000: 28ff cmp r0, #255 ; 0xff + 8002: d0b5 beq.n 7f70 <_lv_blend_fill+0x820> (uint32_t)((uint32_t)(*mask_tmp_x) * opa) >> 8; - 85ac: 9b07 ldr r3, [sp, #28] - 85ae: fb03 fe00 mul.w lr, r3, r0 + 8004: 9b07 ldr r3, [sp, #28] + 8006: fb03 fe00 mul.w lr, r3, r0 if(*mask_tmp_x != last_mask) opa_tmp = *mask_tmp_x == LV_OPA_COVER ? opa : - 85b2: f3ce 2e07 ubfx lr, lr, #8, #8 - 85b6: e7b9 b.n 852c <_lv_blend_fill+0x834> + 800a: f3ce 2e07 ubfx lr, lr, #8, #8 + 800e: e7b9 b.n 7f84 <_lv_blend_fill+0x834> if(opa_tmp == LV_OPA_COVER) last_res_color = color; - 85b8: 9908 ldr r1, [sp, #32] - 85ba: e7e9 b.n 8590 <_lv_blend_fill+0x898> + 8010: 9908 ldr r1, [sp, #32] + 8012: e7e9 b.n 7fe8 <_lv_blend_fill+0x898> disp_buf_first += disp_w; - 85bc: 9805 ldr r0, [sp, #20] - 85be: 9c0c ldr r4, [sp, #48] ; 0x30 - 85c0: 4420 add r0, r4 - 85c2: 9005 str r0, [sp, #20] + 8014: 9805 ldr r0, [sp, #20] + 8016: 9c0c ldr r4, [sp, #48] ; 0x30 + 8018: 4420 add r0, r4 + 801a: 9005 str r0, [sp, #20] for(y = draw_area->y1; y <= draw_area->y2; y++) { - 85c4: 980a ldr r0, [sp, #40] ; 0x28 - 85c6: 3001 adds r0, #1 - 85c8: 4604 mov r4, r0 - 85ca: 900a str r0, [sp, #40] ; 0x28 - 85cc: 9806 ldr r0, [sp, #24] - 85ce: 9d0b ldr r5, [sp, #44] ; 0x2c - 85d0: 4428 add r0, r5 - 85d2: 9006 str r0, [sp, #24] - 85d4: f9bd 0046 ldrsh.w r0, [sp, #70] ; 0x46 - 85d8: 4284 cmp r4, r0 - 85da: f73f ab9a bgt.w 7d12 <_lv_blend_fill+0x1a> + 801c: 980a ldr r0, [sp, #40] ; 0x28 + 801e: 3001 adds r0, #1 + 8020: 4604 mov r4, r0 + 8022: 900a str r0, [sp, #40] ; 0x28 + 8024: 9806 ldr r0, [sp, #24] + 8026: 9d0b ldr r5, [sp, #44] ; 0x2c + 8028: 4428 add r0, r5 + 802a: 9006 str r0, [sp, #24] + 802c: f9bd 0046 ldrsh.w r0, [sp, #70] ; 0x46 + 8030: 4284 cmp r4, r0 + 8032: f73f ab9a bgt.w 776a <_lv_blend_fill+0x1a> for(x = 0; x < draw_area_w; x++) { - 85de: 980d ldr r0, [sp, #52] ; 0x34 - 85e0: 2800 cmp r0, #0 - 85e2: ddeb ble.n 85bc <_lv_blend_fill+0x8c4> - 85e4: 9805 ldr r0, [sp, #20] - 85e6: 4605 mov r5, r0 - 85e8: 9c0e ldr r4, [sp, #56] ; 0x38 - 85ea: eb00 0804 add.w r8, r0, r4 - 85ee: 9f06 ldr r7, [sp, #24] - 85f0: e7d4 b.n 859c <_lv_blend_fill+0x8a4> - 85f2: f8bd 5024 ldrh.w r5, [sp, #36] ; 0x24 + 8036: 980d ldr r0, [sp, #52] ; 0x34 + 8038: 2800 cmp r0, #0 + 803a: ddeb ble.n 8014 <_lv_blend_fill+0x8c4> + 803c: 9805 ldr r0, [sp, #20] + 803e: 4605 mov r5, r0 + 8040: 9c0e ldr r4, [sp, #56] ; 0x38 + 8042: eb00 0804 add.w r8, r0, r4 + 8046: 9f06 ldr r7, [sp, #24] + 8048: e7d4 b.n 7ff4 <_lv_blend_fill+0x8a4> + 804a: f8bd 5024 ldrh.w r5, [sp, #36] ; 0x24 switch(mode) { - 85f6: f1b9 0f01 cmp.w r9, #1 - 85fa: d040 beq.n 867e <_lv_blend_fill+0x986> - 85fc: f1b9 0f02 cmp.w r9, #2 - 8600: d132 bne.n 8668 <_lv_blend_fill+0x970> + 804e: f1b9 0f01 cmp.w r9, #1 + 8052: d040 beq.n 80d6 <_lv_blend_fill+0x986> + 8054: f1b9 0f02 cmp.w r9, #2 + 8058: d132 bne.n 80c0 <_lv_blend_fill+0x970> blend_fp = color_blend_true_color_subtractive; - 8602: 4b83 ldr r3, [pc, #524] ; (8810 <_lv_blend_fill+0xb18>) - 8604: 9305 str r3, [sp, #20] - 8606: f8bd 2024 ldrh.w r2, [sp, #36] ; 0x24 - 860a: f002 081f and.w r8, r2, #31 - 860e: f3c2 1645 ubfx r6, r2, #5, #6 - 8612: f3c2 23c4 ubfx r3, r2, #11, #5 - 8616: 4699 mov r9, r3 + 805a: 4b83 ldr r3, [pc, #524] ; (8268 <_lv_blend_fill+0xb18>) + 805c: 9305 str r3, [sp, #20] + 805e: f8bd 2024 ldrh.w r2, [sp, #36] ; 0x24 + 8062: f002 081f and.w r8, r2, #31 + 8066: f3c2 1645 ubfx r6, r2, #5, #6 + 806a: f3c2 23c4 ubfx r3, r2, #11, #5 + 806e: 4699 mov r9, r3 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - 8618: 8aba ldrh r2, [r7, #20] - 861a: 3201 adds r2, #1 - 861c: 8a3b ldrh r3, [r7, #16] - 861e: 1ad3 subs r3, r2, r3 - 8620: b21f sxth r7, r3 + 8070: 8aba ldrh r2, [r7, #20] + 8072: 3201 adds r2, #1 + 8074: 8a3b ldrh r3, [r7, #16] + 8076: 1ad3 subs r3, r2, r3 + 8078: b21f sxth r7, r3 lv_color_t * disp_buf_tmp = disp_buf + disp_w * draw_area->y1; - 8622: f8cd c024 str.w ip, [sp, #36] ; 0x24 - 8626: fb0c f307 mul.w r3, ip, r7 - 862a: 9a06 ldr r2, [sp, #24] - 862c: eb02 0243 add.w r2, r2, r3, lsl #1 - 8630: 9207 str r2, [sp, #28] + 807a: f8cd c024 str.w ip, [sp, #36] ; 0x24 + 807e: fb0c f307 mul.w r3, ip, r7 + 8082: 9a06 ldr r2, [sp, #24] + 8084: eb02 0243 add.w r2, r2, r3, lsl #1 + 8088: 9207 str r2, [sp, #28] if(mask_res == LV_DRAW_MASK_RES_FULL_COVER) { - 8632: 2c01 cmp r4, #1 - 8634: d026 beq.n 8684 <_lv_blend_fill+0x98c> - 8636: 3001 adds r0, #1 - 8638: 9a0a ldr r2, [sp, #40] ; 0x28 - 863a: 1a80 subs r0, r0, r2 - 863c: b202 sxth r2, r0 - 863e: 920c str r2, [sp, #48] ; 0x30 + 808a: 2c01 cmp r4, #1 + 808c: d026 beq.n 80dc <_lv_blend_fill+0x98c> + 808e: 3001 adds r0, #1 + 8090: 9a0a ldr r2, [sp, #40] ; 0x28 + 8092: 1a80 subs r0, r0, r2 + 8094: b202 sxth r2, r0 + 8096: 920c str r2, [sp, #48] ; 0x30 const lv_opa_t * mask_tmp = mask - draw_area->x1; - 8640: 9a08 ldr r2, [sp, #32] - 8642: 990b ldr r1, [sp, #44] ; 0x2c - 8644: 1a52 subs r2, r2, r1 - 8646: 9208 str r2, [sp, #32] + 8098: 9a08 ldr r2, [sp, #32] + 809a: 990b ldr r1, [sp, #44] ; 0x2c + 809c: 1a52 subs r2, r2, r1 + 809e: 9208 str r2, [sp, #32] last_dest_color.full = disp_buf_tmp[0].full; - 8648: 9a06 ldr r2, [sp, #24] - 864a: f832 2013 ldrh.w r2, [r2, r3, lsl #1] + 80a0: 9a06 ldr r2, [sp, #24] + 80a2: f832 2013 ldrh.w r2, [r2, r3, lsl #1] for(y = draw_area->y1; y <= draw_area->y2; y++) { - 864e: 45f4 cmp ip, lr - 8650: f73f ab5f bgt.w 7d12 <_lv_blend_fill+0x1a> + 80a6: 45f4 cmp ip, lr + 80a8: f73f ab5f bgt.w 776a <_lv_blend_fill+0x1a> disp_buf_tmp += disp_w; - 8654: 007b lsls r3, r7, #1 - 8656: 930b str r3, [sp, #44] ; 0x2c - 8658: 4610 mov r0, r2 - 865a: 2100 movs r1, #0 + 80ac: 007b lsls r3, r7, #1 + 80ae: 930b str r3, [sp, #44] ; 0x2c + 80b0: 4610 mov r0, r2 + 80b2: 2100 movs r1, #0 lv_opa_t opa_tmp = mask_tmp[x] >= LV_OPA_MAX ? opa : (uint32_t)((uint32_t)mask_tmp[x] * opa) >> 8; - 865c: f8cd b018 str.w fp, [sp, #24] - 8660: f8cd b028 str.w fp, [sp, #40] ; 0x28 - 8664: 46cb mov fp, r9 - 8666: e0b0 b.n 87ca <_lv_blend_fill+0xad2> + 80b4: f8cd b018 str.w fp, [sp, #24] + 80b8: f8cd b028 str.w fp, [sp, #40] ; 0x28 + 80bc: 46cb mov fp, r9 + 80be: e0b0 b.n 8222 <_lv_blend_fill+0xad2> LV_LOG_WARN("fill_blended: unsupported blend mode"); - 8668: 4b6a ldr r3, [pc, #424] ; (8814 <_lv_blend_fill+0xb1c>) - 866a: 9300 str r3, [sp, #0] - 866c: 4b6a ldr r3, [pc, #424] ; (8818 <_lv_blend_fill+0xb20>) - 866e: f44f 7204 mov.w r2, #528 ; 0x210 - 8672: 496a ldr r1, [pc, #424] ; (881c <_lv_blend_fill+0xb24>) - 8674: 2002 movs r0, #2 - 8676: 4c6a ldr r4, [pc, #424] ; (8820 <_lv_blend_fill+0xb28>) - 8678: 47a0 blx r4 - 867a: f7ff bb4a b.w 7d12 <_lv_blend_fill+0x1a> + 80c0: 4b6a ldr r3, [pc, #424] ; (826c <_lv_blend_fill+0xb1c>) + 80c2: 9300 str r3, [sp, #0] + 80c4: 4b6a ldr r3, [pc, #424] ; (8270 <_lv_blend_fill+0xb20>) + 80c6: f44f 7204 mov.w r2, #528 ; 0x210 + 80ca: 496a ldr r1, [pc, #424] ; (8274 <_lv_blend_fill+0xb24>) + 80cc: 2002 movs r0, #2 + 80ce: 4c6a ldr r4, [pc, #424] ; (8278 <_lv_blend_fill+0xb28>) + 80d0: 47a0 blx r4 + 80d2: f7ff bb4a b.w 776a <_lv_blend_fill+0x1a> blend_fp = color_blend_true_color_additive; - 867e: 4b69 ldr r3, [pc, #420] ; (8824 <_lv_blend_fill+0xb2c>) - 8680: 9305 str r3, [sp, #20] - 8682: e7c0 b.n 8606 <_lv_blend_fill+0x90e> + 80d6: 4b69 ldr r3, [pc, #420] ; (827c <_lv_blend_fill+0xb2c>) + 80d8: 9305 str r3, [sp, #20] + 80da: e7c0 b.n 805e <_lv_blend_fill+0x90e> lv_color_t last_dest_color = LV_COLOR_BLACK; - 8684: f04f 0a00 mov.w sl, #0 + 80dc: f04f 0a00 mov.w sl, #0 LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 8688: fb0b f309 mul.w r3, fp, r9 - 868c: eb03 2003 add.w r0, r3, r3, lsl #8 - 8690: eb03 13c0 add.w r3, r3, r0, lsl #7 - 8694: f3c3 50c4 ubfx r0, r3, #23, #5 + 80e0: fb0b f309 mul.w r3, fp, r9 + 80e4: eb03 2003 add.w r0, r3, r3, lsl #8 + 80e8: eb03 13c0 add.w r3, r3, r0, lsl #7 + 80ec: f3c3 50c4 ubfx r0, r3, #23, #5 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 8698: fb0b f306 mul.w r3, fp, r6 - 869c: eb03 2203 add.w r2, r3, r3, lsl #8 - 86a0: eb03 13c2 add.w r3, r3, r2, lsl #7 - 86a4: f3c3 52c5 ubfx r2, r3, #23, #6 + 80f0: fb0b f306 mul.w r3, fp, r6 + 80f4: eb03 2203 add.w r2, r3, r3, lsl #8 + 80f8: eb03 13c2 add.w r3, r3, r2, lsl #7 + 80fc: f3c3 52c5 ubfx r2, r3, #23, #6 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 86a8: fb0b f308 mul.w r3, fp, r8 - 86ac: eb03 2103 add.w r1, r3, r3, lsl #8 - 86b0: eb03 13c1 add.w r3, r3, r1, lsl #7 - 86b4: f3c3 53c4 ubfx r3, r3, #23, #5 + 8100: fb0b f308 mul.w r3, fp, r8 + 8104: eb03 2103 add.w r1, r3, r3, lsl #8 + 8108: eb03 13c1 add.w r3, r3, r1, lsl #7 + 810c: f3c3 53c4 ubfx r3, r3, #23, #5 for(y = draw_area->y1; y <= draw_area->y2; y++) { - 86b8: 45f4 cmp ip, lr - 86ba: f73f ab2a bgt.w 7d12 <_lv_blend_fill+0x1a> + 8110: 45f4 cmp ip, lr + 8112: f73f ab2a bgt.w 776a <_lv_blend_fill+0x1a> disp_buf_tmp += disp_w; - 86be: 0079 lsls r1, r7, #1 - 86c0: 9108 str r1, [sp, #32] - 86c2: f8cd b018 str.w fp, [sp, #24] - 86c6: 46cb mov fp, r9 - 86c8: e03a b.n 8740 <_lv_blend_fill+0xa48> + 8116: 0079 lsls r1, r7, #1 + 8118: 9108 str r1, [sp, #32] + 811a: f8cd b018 str.w fp, [sp, #24] + 811e: 46cb mov fp, r9 + 8120: e03a b.n 8198 <_lv_blend_fill+0xa48> disp_buf_tmp[x] = last_res_color; - 86ca: 7821 ldrb r1, [r4, #0] - 86cc: f363 0104 bfi r1, r3, #0, #5 - 86d0: 7021 strb r1, [r4, #0] - 86d2: 8821 ldrh r1, [r4, #0] - 86d4: f362 114a bfi r1, r2, #5, #6 - 86d8: 8021 strh r1, [r4, #0] - 86da: 0a09 lsrs r1, r1, #8 - 86dc: f360 01c7 bfi r1, r0, #3, #5 - 86e0: 7061 strb r1, [r4, #1] + 8122: 7821 ldrb r1, [r4, #0] + 8124: f363 0104 bfi r1, r3, #0, #5 + 8128: 7021 strb r1, [r4, #0] + 812a: 8821 ldrh r1, [r4, #0] + 812c: f362 114a bfi r1, r2, #5, #6 + 8130: 8021 strh r1, [r4, #0] + 8132: 0a09 lsrs r1, r1, #8 + 8134: f360 01c7 bfi r1, r0, #3, #5 + 8138: 7061 strb r1, [r4, #1] for(x = draw_area->x1; x <= draw_area->x2; x++) { - 86e2: f109 0901 add.w r9, r9, #1 - 86e6: 3702 adds r7, #2 - 86e8: f9bd 1044 ldrsh.w r1, [sp, #68] ; 0x44 - 86ec: 4589 cmp r9, r1 - 86ee: dc1a bgt.n 8726 <_lv_blend_fill+0xa2e> + 813a: f109 0901 add.w r9, r9, #1 + 813e: 3702 adds r7, #2 + 8140: f9bd 1044 ldrsh.w r1, [sp, #68] ; 0x44 + 8144: 4589 cmp r9, r1 + 8146: dc1a bgt.n 817e <_lv_blend_fill+0xa2e> if(last_dest_color.full != disp_buf_tmp[x].full) { - 86f0: 463c mov r4, r7 - 86f2: fa1f f18a uxth.w r1, sl - 86f6: f8b7 e000 ldrh.w lr, [r7] - 86fa: 4571 cmp r1, lr - 86fc: d0e5 beq.n 86ca <_lv_blend_fill+0x9d2> + 8148: 463c mov r4, r7 + 814a: fa1f f18a uxth.w r1, sl + 814e: f8b7 e000 ldrh.w lr, [r7] + 8152: 4571 cmp r1, lr + 8154: d0e5 beq.n 8122 <_lv_blend_fill+0x9d2> last_dest_color = disp_buf_tmp[x]; - 86fe: f8b7 a000 ldrh.w sl, [r7] + 8156: f8b7 a000 ldrh.w sl, [r7] last_res_color = blend_fp(color, disp_buf_tmp[x], opa); - 8702: f368 0504 bfi r5, r8, #0, #5 - 8706: f366 154a bfi r5, r6, #5, #6 - 870a: f36b 25cf bfi r5, fp, #11, #5 - 870e: 9a06 ldr r2, [sp, #24] - 8710: 4651 mov r1, sl - 8712: 4628 mov r0, r5 - 8714: 9b05 ldr r3, [sp, #20] - 8716: 4798 blx r3 - 8718: f000 031f and.w r3, r0, #31 - 871c: f3c0 1245 ubfx r2, r0, #5, #6 - 8720: f3c0 20c4 ubfx r0, r0, #11, #5 - 8724: e7d1 b.n 86ca <_lv_blend_fill+0x9d2> + 815a: f368 0504 bfi r5, r8, #0, #5 + 815e: f366 154a bfi r5, r6, #5, #6 + 8162: f36b 25cf bfi r5, fp, #11, #5 + 8166: 9a06 ldr r2, [sp, #24] + 8168: 4651 mov r1, sl + 816a: 4628 mov r0, r5 + 816c: 9b05 ldr r3, [sp, #20] + 816e: 4798 blx r3 + 8170: f000 031f and.w r3, r0, #31 + 8174: f3c0 1245 ubfx r2, r0, #5, #6 + 8178: f3c0 20c4 ubfx r0, r0, #11, #5 + 817c: e7d1 b.n 8122 <_lv_blend_fill+0x9d2> disp_buf_tmp += disp_w; - 8726: 9907 ldr r1, [sp, #28] - 8728: 9c08 ldr r4, [sp, #32] - 872a: 4421 add r1, r4 - 872c: 9107 str r1, [sp, #28] + 817e: 9907 ldr r1, [sp, #28] + 8180: 9c08 ldr r4, [sp, #32] + 8182: 4421 add r1, r4 + 8184: 9107 str r1, [sp, #28] for(y = draw_area->y1; y <= draw_area->y2; y++) { - 872e: 9909 ldr r1, [sp, #36] ; 0x24 - 8730: 3101 adds r1, #1 - 8732: 460c mov r4, r1 - 8734: 9109 str r1, [sp, #36] ; 0x24 - 8736: f9bd 1046 ldrsh.w r1, [sp, #70] ; 0x46 - 873a: 428c cmp r4, r1 - 873c: f73f aae9 bgt.w 7d12 <_lv_blend_fill+0x1a> + 8186: 9909 ldr r1, [sp, #36] ; 0x24 + 8188: 3101 adds r1, #1 + 818a: 460c mov r4, r1 + 818c: 9109 str r1, [sp, #36] ; 0x24 + 818e: f9bd 1046 ldrsh.w r1, [sp, #70] ; 0x46 + 8192: 428c cmp r4, r1 + 8194: f73f aae9 bgt.w 776a <_lv_blend_fill+0x1a> for(x = draw_area->x1; x <= draw_area->x2; x++) { - 8740: f9bd 7040 ldrsh.w r7, [sp, #64] ; 0x40 - 8744: 46b9 mov r9, r7 - 8746: f9bd 1044 ldrsh.w r1, [sp, #68] ; 0x44 - 874a: 428f cmp r7, r1 - 874c: dceb bgt.n 8726 <_lv_blend_fill+0xa2e> - 874e: 9907 ldr r1, [sp, #28] - 8750: eb01 0747 add.w r7, r1, r7, lsl #1 - 8754: e7cc b.n 86f0 <_lv_blend_fill+0x9f8> + 8198: f9bd 7040 ldrsh.w r7, [sp, #64] ; 0x40 + 819c: 46b9 mov r9, r7 + 819e: f9bd 1044 ldrsh.w r1, [sp, #68] ; 0x44 + 81a2: 428f cmp r7, r1 + 81a4: dceb bgt.n 817e <_lv_blend_fill+0xa2e> + 81a6: 9907 ldr r1, [sp, #28] + 81a8: eb01 0747 add.w r7, r1, r7, lsl #1 + 81ac: e7cc b.n 8148 <_lv_blend_fill+0x9f8> lv_opa_t opa_tmp = mask_tmp[x] >= LV_OPA_MAX ? opa : (uint32_t)((uint32_t)mask_tmp[x] * opa) >> 8; - 8756: 2bf9 cmp r3, #249 ; 0xf9 - 8758: bf9d ittte ls - 875a: 9a0a ldrls r2, [sp, #40] ; 0x28 - 875c: 4353 mulls r3, r2 - 875e: f3c3 2207 ubfxls r2, r3, #8, #8 - 8762: 9a06 ldrhi r2, [sp, #24] + 81ae: 2bf9 cmp r3, #249 ; 0xf9 + 81b0: bf9d ittte ls + 81b2: 9a0a ldrls r2, [sp, #40] ; 0x28 + 81b4: 4353 mulls r3, r2 + 81b6: f3c3 2207 ubfxls r2, r3, #8, #8 + 81ba: 9a06 ldrhi r2, [sp, #24] last_res_color = blend_fp(color, disp_buf_tmp[x], opa_tmp); - 8764: f368 0504 bfi r5, r8, #0, #5 - 8768: f366 154a bfi r5, r6, #5, #6 - 876c: f36b 25cf bfi r5, fp, #11, #5 - 8770: 8821 ldrh r1, [r4, #0] - 8772: 4628 mov r0, r5 - 8774: 9b05 ldr r3, [sp, #20] - 8776: 4798 blx r3 - 8778: b280 uxth r0, r0 + 81bc: f368 0504 bfi r5, r8, #0, #5 + 81c0: f366 154a bfi r5, r6, #5, #6 + 81c4: f36b 25cf bfi r5, fp, #11, #5 + 81c8: 8821 ldrh r1, [r4, #0] + 81ca: 4628 mov r0, r5 + 81cc: 9b05 ldr r3, [sp, #20] + 81ce: 4798 blx r3 + 81d0: b280 uxth r0, r0 last_mask = mask_tmp[x]; - 877a: f89a 1000 ldrb.w r1, [sl] + 81d2: f89a 1000 ldrb.w r1, [sl] last_dest_color.full = disp_buf_tmp[x].full; - 877e: 8822 ldrh r2, [r4, #0] + 81d6: 8822 ldrh r2, [r4, #0] disp_buf_tmp[x] = last_res_color; - 8780: 8020 strh r0, [r4, #0] + 81d8: 8020 strh r0, [r4, #0] for(x = draw_area->x1; x <= draw_area->x2; x++) { - 8782: f109 0901 add.w r9, r9, #1 - 8786: 3701 adds r7, #1 - 8788: 3402 adds r4, #2 - 878a: f9bd 3044 ldrsh.w r3, [sp, #68] ; 0x44 - 878e: 4599 cmp r9, r3 - 8790: dc0a bgt.n 87a8 <_lv_blend_fill+0xab0> - 8792: 46ba mov sl, r7 + 81da: f109 0901 add.w r9, r9, #1 + 81de: 3701 adds r7, #1 + 81e0: 3402 adds r4, #2 + 81e2: f9bd 3044 ldrsh.w r3, [sp, #68] ; 0x44 + 81e6: 4599 cmp r9, r3 + 81e8: dc0a bgt.n 8200 <_lv_blend_fill+0xab0> + 81ea: 46ba mov sl, r7 if(mask_tmp[x] == 0) continue; - 8794: 783b ldrb r3, [r7, #0] - 8796: 2b00 cmp r3, #0 - 8798: d0f3 beq.n 8782 <_lv_blend_fill+0xa8a> + 81ec: 783b ldrb r3, [r7, #0] + 81ee: 2b00 cmp r3, #0 + 81f0: d0f3 beq.n 81da <_lv_blend_fill+0xa8a> if(mask_tmp[x] != last_mask || last_dest_color.full != disp_buf_tmp[x].full) { - 879a: 428b cmp r3, r1 - 879c: d1db bne.n 8756 <_lv_blend_fill+0xa5e> - 879e: f8b4 e000 ldrh.w lr, [r4] - 87a2: 4596 cmp lr, r2 - 87a4: d1d7 bne.n 8756 <_lv_blend_fill+0xa5e> - 87a6: e7eb b.n 8780 <_lv_blend_fill+0xa88> + 81f2: 428b cmp r3, r1 + 81f4: d1db bne.n 81ae <_lv_blend_fill+0xa5e> + 81f6: f8b4 e000 ldrh.w lr, [r4] + 81fa: 4596 cmp lr, r2 + 81fc: d1d7 bne.n 81ae <_lv_blend_fill+0xa5e> + 81fe: e7eb b.n 81d8 <_lv_blend_fill+0xa88> disp_buf_tmp += disp_w; - 87a8: 9b07 ldr r3, [sp, #28] - 87aa: 9c0b ldr r4, [sp, #44] ; 0x2c - 87ac: 4423 add r3, r4 - 87ae: 9307 str r3, [sp, #28] - 87b0: 9b08 ldr r3, [sp, #32] - 87b2: 9c0c ldr r4, [sp, #48] ; 0x30 - 87b4: 4423 add r3, r4 - 87b6: 9308 str r3, [sp, #32] + 8200: 9b07 ldr r3, [sp, #28] + 8202: 9c0b ldr r4, [sp, #44] ; 0x2c + 8204: 4423 add r3, r4 + 8206: 9307 str r3, [sp, #28] + 8208: 9b08 ldr r3, [sp, #32] + 820a: 9c0c ldr r4, [sp, #48] ; 0x30 + 820c: 4423 add r3, r4 + 820e: 9308 str r3, [sp, #32] for(y = draw_area->y1; y <= draw_area->y2; y++) { - 87b8: 9b09 ldr r3, [sp, #36] ; 0x24 - 87ba: 3301 adds r3, #1 - 87bc: 461c mov r4, r3 - 87be: 9309 str r3, [sp, #36] ; 0x24 - 87c0: f9bd 3046 ldrsh.w r3, [sp, #70] ; 0x46 - 87c4: 429c cmp r4, r3 - 87c6: f73f aaa4 bgt.w 7d12 <_lv_blend_fill+0x1a> + 8210: 9b09 ldr r3, [sp, #36] ; 0x24 + 8212: 3301 adds r3, #1 + 8214: 461c mov r4, r3 + 8216: 9309 str r3, [sp, #36] ; 0x24 + 8218: f9bd 3046 ldrsh.w r3, [sp, #70] ; 0x46 + 821c: 429c cmp r4, r3 + 821e: f73f aaa4 bgt.w 776a <_lv_blend_fill+0x1a> for(x = draw_area->x1; x <= draw_area->x2; x++) { - 87ca: f9bd 4040 ldrsh.w r4, [sp, #64] ; 0x40 - 87ce: 46a1 mov r9, r4 - 87d0: f9bd 3044 ldrsh.w r3, [sp, #68] ; 0x44 - 87d4: 429c cmp r4, r3 - 87d6: dce7 bgt.n 87a8 <_lv_blend_fill+0xab0> - 87d8: 9b08 ldr r3, [sp, #32] - 87da: 191f adds r7, r3, r4 - 87dc: 9b07 ldr r3, [sp, #28] - 87de: eb03 0444 add.w r4, r3, r4, lsl #1 - 87e2: e7d6 b.n 8792 <_lv_blend_fill+0xa9a> + 8222: f9bd 4040 ldrsh.w r4, [sp, #64] ; 0x40 + 8226: 46a1 mov r9, r4 + 8228: f9bd 3044 ldrsh.w r3, [sp, #68] ; 0x44 + 822c: 429c cmp r4, r3 + 822e: dce7 bgt.n 8200 <_lv_blend_fill+0xab0> + 8230: 9b08 ldr r3, [sp, #32] + 8232: 191f adds r7, r3, r4 + 8234: 9b07 ldr r3, [sp, #28] + 8236: eb03 0444 add.w r4, r3, r4, lsl #1 + 823a: e7d6 b.n 81ea <_lv_blend_fill+0xa9a> for(x = 0; x < draw_area_w && ((lv_uintptr_t)mask_tmp_x & 0x3); x++) { - 87e4: 9b08 ldr r3, [sp, #32] - 87e6: 2100 movs r1, #0 + 823c: 9b08 ldr r3, [sp, #32] + 823e: 2100 movs r1, #0 for(; x <= x_end4; x += 4) { - 87e8: 9a0d ldr r2, [sp, #52] ; 0x34 - 87ea: 428a cmp r2, r1 - 87ec: f6ff ae78 blt.w 84e0 <_lv_blend_fill+0x7e8> - 87f0: 3304 adds r3, #4 - 87f2: 1cc8 adds r0, r1, #3 - 87f4: 9a05 ldr r2, [sp, #20] - 87f6: eb02 0040 add.w r0, r2, r0, lsl #1 - 87fa: 950e str r5, [sp, #56] ; 0x38 - 87fc: 9f0d ldr r7, [sp, #52] ; 0x34 - 87fe: e4f4 b.n 81ea <_lv_blend_fill+0x4f2> + 8240: 9a0d ldr r2, [sp, #52] ; 0x34 + 8242: 428a cmp r2, r1 + 8244: f6ff ae78 blt.w 7f38 <_lv_blend_fill+0x7e8> + 8248: 3304 adds r3, #4 + 824a: 1cc8 adds r0, r1, #3 + 824c: 9a05 ldr r2, [sp, #20] + 824e: eb02 0040 add.w r0, r2, r0, lsl #1 + 8252: 950e str r5, [sp, #56] ; 0x38 + 8254: 9f0d ldr r7, [sp, #52] ; 0x34 + 8256: e4f4 b.n 7c42 <_lv_blend_fill+0x4f2> for(x = 0; x < draw_area_w && ((lv_uintptr_t)mask_tmp_x & 0x3); x++) { - 8800: 9b08 ldr r3, [sp, #32] - 8802: 2100 movs r1, #0 + 8258: 9b08 ldr r3, [sp, #32] + 825a: 2100 movs r1, #0 for(; x <= x_end4; x += 4) { - 8804: 9a0d ldr r2, [sp, #52] ; 0x34 - 8806: 428a cmp r2, r1 - 8808: daf2 bge.n 87f0 <_lv_blend_fill+0xaf8> - 880a: 461a mov r2, r3 - 880c: e619 b.n 8442 <_lv_blend_fill+0x74a> - 880e: bf00 nop - 8810: 00007c47 .word 0x00007c47 - 8814: 0001c174 .word 0x0001c174 - 8818: 0001c128 .word 0x0001c128 - 881c: 0001c144 .word 0x0001c144 - 8820: 00012805 .word 0x00012805 - 8824: 00007b91 .word 0x00007b91 - -00008828 <_lv_blend_map>: -{ - 8828: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 882c: b091 sub sp, #68 ; 0x44 - 882e: f89d 4068 ldrb.w r4, [sp, #104] ; 0x68 - 8832: f89d a06c ldrb.w sl, [sp, #108] ; 0x6c - 8836: f89d 5070 ldrb.w r5, [sp, #112] ; 0x70 + 825c: 9a0d ldr r2, [sp, #52] ; 0x34 + 825e: 428a cmp r2, r1 + 8260: daf2 bge.n 8248 <_lv_blend_fill+0xaf8> + 8262: 461a mov r2, r3 + 8264: e619 b.n 7e9a <_lv_blend_fill+0x74a> + 8266: bf00 nop + 8268: 0000769f .word 0x0000769f + 826c: 00024c90 .word 0x00024c90 + 8270: 00024c44 .word 0x00024c44 + 8274: 00024c60 .word 0x00024c60 + 8278: 0001225d .word 0x0001225d + 827c: 000075e9 .word 0x000075e9 + +00008280 <_lv_blend_map>: +{ + 8280: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 8284: b091 sub sp, #68 ; 0x44 + 8286: f89d 4068 ldrb.w r4, [sp, #104] ; 0x68 + 828a: f89d a06c ldrb.w sl, [sp, #108] ; 0x6c + 828e: f89d 5070 ldrb.w r5, [sp, #112] ; 0x70 if(opa < LV_OPA_MIN) return; - 883a: f1ba 0f04 cmp.w sl, #4 - 883e: d900 bls.n 8842 <_lv_blend_map+0x1a> + 8292: f1ba 0f04 cmp.w sl, #4 + 8296: d900 bls.n 829a <_lv_blend_map+0x1a> if(mask_res == LV_DRAW_MASK_RES_TRANSP) return; - 8840: b914 cbnz r4, 8848 <_lv_blend_map+0x20> -} - 8842: b011 add sp, #68 ; 0x44 - 8844: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} - 8848: 9304 str r3, [sp, #16] - 884a: 9207 str r2, [sp, #28] - 884c: 460f mov r7, r1 - 884e: 4601 mov r1, r0 + 8298: b914 cbnz r4, 82a0 <_lv_blend_map+0x20> +} + 829a: b011 add sp, #68 ; 0x44 + 829c: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 82a0: 9304 str r3, [sp, #16] + 82a2: 9207 str r2, [sp, #28] + 82a4: 460f mov r7, r1 + 82a6: 4601 mov r1, r0 is_common = _lv_area_intersect(&draw_area, clip_area, map_area); - 8850: 463a mov r2, r7 - 8852: a80e add r0, sp, #56 ; 0x38 - 8854: 4bbc ldr r3, [pc, #752] ; (8b48 <_lv_blend_map+0x320>) - 8856: 4798 blx r3 + 82a8: 463a mov r2, r7 + 82aa: a80e add r0, sp, #56 ; 0x38 + 82ac: 4bbc ldr r3, [pc, #752] ; (85a0 <_lv_blend_map+0x320>) + 82ae: 4798 blx r3 if(!is_common) return; - 8858: 2800 cmp r0, #0 - 885a: d0f2 beq.n 8842 <_lv_blend_map+0x1a> + 82b0: 2800 cmp r0, #0 + 82b2: d0f2 beq.n 829a <_lv_blend_map+0x1a> lv_disp_t * disp = _lv_refr_get_disp_refreshing(); - 885c: 4bbb ldr r3, [pc, #748] ; (8b4c <_lv_blend_map+0x324>) - 885e: 4798 blx r3 - 8860: 4680 mov r8, r0 + 82b4: 4bbb ldr r3, [pc, #748] ; (85a4 <_lv_blend_map+0x324>) + 82b6: 4798 blx r3 + 82b8: 4680 mov r8, r0 lv_disp_buf_t * vdb = lv_disp_get_buf(disp); - 8862: 4bbb ldr r3, [pc, #748] ; (8b50 <_lv_blend_map+0x328>) - 8864: 4798 blx r3 - 8866: 4606 mov r6, r0 + 82ba: 4bbb ldr r3, [pc, #748] ; (85a8 <_lv_blend_map+0x328>) + 82bc: 4798 blx r3 + 82be: 4606 mov r6, r0 lv_color_t * disp_buf = vdb->buf_act; - 8868: 6883 ldr r3, [r0, #8] - 886a: 9305 str r3, [sp, #20] + 82c0: 6883 ldr r3, [r0, #8] + 82c2: 9305 str r3, [sp, #20] draw_area.x1 -= disp_area->x1; - 886c: 8a02 ldrh r2, [r0, #16] - 886e: f8bd 3038 ldrh.w r3, [sp, #56] ; 0x38 - 8872: 1a9b subs r3, r3, r2 - 8874: b29b uxth r3, r3 - 8876: 9306 str r3, [sp, #24] - 8878: f9bd c018 ldrsh.w ip, [sp, #24] - 887c: f8ad c038 strh.w ip, [sp, #56] ; 0x38 + 82c4: 8a02 ldrh r2, [r0, #16] + 82c6: f8bd 3038 ldrh.w r3, [sp, #56] ; 0x38 + 82ca: 1a9b subs r3, r3, r2 + 82cc: b29b uxth r3, r3 + 82ce: 9306 str r3, [sp, #24] + 82d0: f9bd c018 ldrsh.w ip, [sp, #24] + 82d4: f8ad c038 strh.w ip, [sp, #56] ; 0x38 draw_area.y1 -= disp_area->y1; - 8880: 8a43 ldrh r3, [r0, #18] - 8882: f8bd b03a ldrh.w fp, [sp, #58] ; 0x3a - 8886: ebab 0b03 sub.w fp, fp, r3 - 888a: fa1f fb8b uxth.w fp, fp - 888e: fa0f fe8b sxth.w lr, fp - 8892: f8ad e03a strh.w lr, [sp, #58] ; 0x3a + 82d8: 8a43 ldrh r3, [r0, #18] + 82da: f8bd b03a ldrh.w fp, [sp, #58] ; 0x3a + 82de: ebab 0b03 sub.w fp, fp, r3 + 82e2: fa1f fb8b uxth.w fp, fp + 82e6: fa0f fe8b sxth.w lr, fp + 82ea: f8ad e03a strh.w lr, [sp, #58] ; 0x3a draw_area.x2 -= disp_area->x1; - 8896: f8bd 103c ldrh.w r1, [sp, #60] ; 0x3c - 889a: 1a89 subs r1, r1, r2 - 889c: b289 uxth r1, r1 - 889e: f8ad 103c strh.w r1, [sp, #60] ; 0x3c + 82ee: f8bd 103c ldrh.w r1, [sp, #60] ; 0x3c + 82f2: 1a89 subs r1, r1, r2 + 82f4: b289 uxth r1, r1 + 82f6: f8ad 103c strh.w r1, [sp, #60] ; 0x3c draw_area.y2 -= disp_area->y1; - 88a2: f8bd 003e ldrh.w r0, [sp, #62] ; 0x3e - 88a6: 1ac0 subs r0, r0, r3 - 88a8: b280 uxth r0, r0 - 88aa: b202 sxth r2, r0 - 88ac: 9208 str r2, [sp, #32] - 88ae: f8ad 203e strh.w r2, [sp, #62] ; 0x3e + 82fa: f8bd 003e ldrh.w r0, [sp, #62] ; 0x3e + 82fe: 1ac0 subs r0, r0, r3 + 8300: b280 uxth r0, r0 + 8302: b202 sxth r2, r0 + 8304: 9208 str r2, [sp, #32] + 8306: f8ad 203e strh.w r2, [sp, #62] ; 0x3e if(mask && disp->driver.antialiasing == 0) - 88b2: 9a04 ldr r2, [sp, #16] - 88b4: b1d2 cbz r2, 88ec <_lv_blend_map+0xc4> - 88b6: f898 3008 ldrb.w r3, [r8, #8] - 88ba: f013 0f01 tst.w r3, #1 - 88be: d115 bne.n 88ec <_lv_blend_map+0xc4> - 88c0: f101 0901 add.w r9, r1, #1 - 88c4: 9b06 ldr r3, [sp, #24] - 88c6: eba9 0903 sub.w r9, r9, r3 - 88ca: fa0f f989 sxth.w r9, r9 + 830a: 9a04 ldr r2, [sp, #16] + 830c: b1d2 cbz r2, 8344 <_lv_blend_map+0xc4> + 830e: f898 3008 ldrb.w r3, [r8, #8] + 8312: f013 0f01 tst.w r3, #1 + 8316: d115 bne.n 8344 <_lv_blend_map+0xc4> + 8318: f101 0901 add.w r9, r1, #1 + 831c: 9b06 ldr r3, [sp, #24] + 831e: eba9 0903 sub.w r9, r9, r3 + 8322: fa0f f989 sxth.w r9, r9 for(i = 0; i < mask_w; i++) mask[i] = mask[i] > 128 ? LV_OPA_COVER : LV_OPA_TRANSP; - 88ce: f1b9 0f00 cmp.w r9, #0 - 88d2: dd0b ble.n 88ec <_lv_blend_map+0xc4> - 88d4: 4613 mov r3, r2 - 88d6: 4491 add r9, r2 - 88d8: 781a ldrb r2, [r3, #0] - 88da: 2a80 cmp r2, #128 ; 0x80 - 88dc: f04f 32ff mov.w r2, #4294967295 - 88e0: bf98 it ls - 88e2: 2200 movls r2, #0 - 88e4: f803 2b01 strb.w r2, [r3], #1 - 88e8: 454b cmp r3, r9 - 88ea: d1f5 bne.n 88d8 <_lv_blend_map+0xb0> + 8326: f1b9 0f00 cmp.w r9, #0 + 832a: dd0b ble.n 8344 <_lv_blend_map+0xc4> + 832c: 4613 mov r3, r2 + 832e: 4491 add r9, r2 + 8330: 781a ldrb r2, [r3, #0] + 8332: 2a80 cmp r2, #128 ; 0x80 + 8334: f04f 32ff mov.w r2, #4294967295 + 8338: bf98 it ls + 833a: 2200 movls r2, #0 + 833c: f803 2b01 strb.w r2, [r3], #1 + 8340: 454b cmp r3, r9 + 8342: d1f5 bne.n 8330 <_lv_blend_map+0xb0> if(disp->driver.set_px_cb) { - 88ec: f8d8 3014 ldr.w r3, [r8, #20] - 88f0: 2b00 cmp r3, #0 - 88f2: f000 80a9 beq.w 8a48 <_lv_blend_map+0x220> + 8344: f8d8 3014 ldr.w r3, [r8, #20] + 8348: 2b00 cmp r3, #0 + 834a: f000 80a9 beq.w 84a0 <_lv_blend_map+0x220> lv_disp_t * disp = _lv_refr_get_disp_refreshing(); - 88f6: 4b95 ldr r3, [pc, #596] ; (8b4c <_lv_blend_map+0x324>) - 88f8: 4798 blx r3 - 88fa: 4605 mov r5, r0 - 88fc: f9b6 0010 ldrsh.w r0, [r6, #16] - 8900: 8ab3 ldrh r3, [r6, #20] - 8902: 3301 adds r3, #1 - 8904: 1a1b subs r3, r3, r0 - 8906: b21b sxth r3, r3 - 8908: 9306 str r3, [sp, #24] - 890a: f9bd 1038 ldrsh.w r1, [sp, #56] ; 0x38 - 890e: f9b7 2000 ldrsh.w r2, [r7] - 8912: f8b7 9004 ldrh.w r9, [r7, #4] - 8916: f109 0901 add.w r9, r9, #1 - 891a: eba9 0902 sub.w r9, r9, r2 - 891e: fa0f f989 sxth.w r9, r9 + 834e: 4b95 ldr r3, [pc, #596] ; (85a4 <_lv_blend_map+0x324>) + 8350: 4798 blx r3 + 8352: 4605 mov r5, r0 + 8354: f9b6 0010 ldrsh.w r0, [r6, #16] + 8358: 8ab3 ldrh r3, [r6, #20] + 835a: 3301 adds r3, #1 + 835c: 1a1b subs r3, r3, r0 + 835e: b21b sxth r3, r3 + 8360: 9306 str r3, [sp, #24] + 8362: f9bd 1038 ldrsh.w r1, [sp, #56] ; 0x38 + 8366: f9b7 2000 ldrsh.w r2, [r7] + 836a: f8b7 9004 ldrh.w r9, [r7, #4] + 836e: f109 0901 add.w r9, r9, #1 + 8372: eba9 0902 sub.w r9, r9, r2 + 8376: fa0f f989 sxth.w r9, r9 const lv_color_t * map_buf_tmp = map_buf + map_w * (draw_area->y1 - (map_area->y1 - disp_area->y1)); - 8922: f9bd e03a ldrsh.w lr, [sp, #58] ; 0x3a - 8926: f9b7 3002 ldrsh.w r3, [r7, #2] - 892a: f9b6 6012 ldrsh.w r6, [r6, #18] - 892e: 1b9b subs r3, r3, r6 - 8930: ebae 0303 sub.w r3, lr, r3 + 837a: f9bd e03a ldrsh.w lr, [sp, #58] ; 0x3a + 837e: f9b7 3002 ldrsh.w r3, [r7, #2] + 8382: f9b6 6012 ldrsh.w r6, [r6, #18] + 8386: 1b9b subs r3, r3, r6 + 8388: ebae 0303 sub.w r3, lr, r3 map_buf_tmp += (draw_area->x1 - (map_area->x1 - disp_area->x1)); - 8934: 1a12 subs r2, r2, r0 - 8936: 1a8a subs r2, r1, r2 + 838c: 1a12 subs r2, r2, r0 + 838e: 1a8a subs r2, r1, r2 map_buf_tmp -= draw_area->x1; - 8938: fb09 2303 mla r3, r9, r3, r2 - 893c: ea4f 0b41 mov.w fp, r1, lsl #1 - 8940: ebcb 0b43 rsb fp, fp, r3, lsl #1 - 8944: 9b07 ldr r3, [sp, #28] - 8946: 445b add r3, fp - 8948: 469b mov fp, r3 + 8390: fb09 2303 mla r3, r9, r3, r2 + 8394: ea4f 0b41 mov.w fp, r1, lsl #1 + 8398: ebcb 0b43 rsb fp, fp, r3, lsl #1 + 839c: 9b07 ldr r3, [sp, #28] + 839e: 445b add r3, fp + 83a0: 469b mov fp, r3 if(mask_res == LV_DRAW_MASK_RES_FULL_COVER) { - 894a: 2c01 cmp r4, #1 - 894c: d046 beq.n 89dc <_lv_blend_map+0x1b4> + 83a2: 2c01 cmp r4, #1 + 83a4: d046 beq.n 8434 <_lv_blend_map+0x1b4> const lv_opa_t * mask_tmp = mask - draw_area->x1; - 894e: 9b04 ldr r3, [sp, #16] - 8950: 1a5b subs r3, r3, r1 - 8952: 9307 str r3, [sp, #28] + 83a6: 9b04 ldr r3, [sp, #16] + 83a8: 1a5b subs r3, r3, r1 + 83aa: 9307 str r3, [sp, #28] for(y = draw_area->y1; y <= draw_area->y2; y++) { - 8954: f9bd 303e ldrsh.w r3, [sp, #62] ; 0x3e - 8958: 459e cmp lr, r3 - 895a: f73f af72 bgt.w 8842 <_lv_blend_map+0x1a> - 895e: f9bd 303c ldrsh.w r3, [sp, #60] ; 0x3c + 83ac: f9bd 303e ldrsh.w r3, [sp, #62] ; 0x3e + 83b0: 459e cmp lr, r3 + 83b2: f73f af72 bgt.w 829a <_lv_blend_map+0x1a> + 83b6: f9bd 303c ldrsh.w r3, [sp, #60] ; 0x3c map_buf_tmp += map_w; - 8962: ea4f 0249 mov.w r2, r9, lsl #1 - 8966: 9208 str r2, [sp, #32] - 8968: 3301 adds r3, #1 - 896a: 1a59 subs r1, r3, r1 + 83ba: ea4f 0249 mov.w r2, r9, lsl #1 + 83be: 9208 str r2, [sp, #32] + 83c0: 3301 adds r3, #1 + 83c2: 1a59 subs r1, r3, r1 mask_tmp += draw_area_w; - 896c: b20b sxth r3, r1 - 896e: 9309 str r3, [sp, #36] ; 0x24 - 8970: 46f1 mov r9, lr + 83c4: b20b sxth r3, r1 + 83c6: 9309 str r3, [sp, #36] ; 0x24 + 83c8: 46f1 mov r9, lr for(x = draw_area->x1; x <= draw_area->x2; x++) { - 8972: f9bd 6038 ldrsh.w r6, [sp, #56] ; 0x38 - 8976: 4634 mov r4, r6 - 8978: f9bd 303c ldrsh.w r3, [sp, #60] ; 0x3c - 897c: 429e cmp r6, r3 - 897e: dc20 bgt.n 89c2 <_lv_blend_map+0x19a> - 8980: 9b07 ldr r3, [sp, #28] - 8982: eb03 0806 add.w r8, r3, r6 - 8986: eb0b 0646 add.w r6, fp, r6, lsl #1 + 83ca: f9bd 6038 ldrsh.w r6, [sp, #56] ; 0x38 + 83ce: 4634 mov r4, r6 + 83d0: f9bd 303c ldrsh.w r3, [sp, #60] ; 0x3c + 83d4: 429e cmp r6, r3 + 83d6: dc20 bgt.n 841a <_lv_blend_map+0x19a> + 83d8: 9b07 ldr r3, [sp, #28] + 83da: eb03 0806 add.w r8, r3, r6 + 83de: eb0b 0646 add.w r6, fp, r6, lsl #1 disp->driver.set_px_cb(&disp->driver, (void *)disp_buf, disp_w, x, y, map_buf_tmp[x], - 898a: fa0f f789 sxth.w r7, r9 - 898e: 9604 str r6, [sp, #16] + 83e2: fa0f f789 sxth.w r7, r9 + 83e6: 9604 str r6, [sp, #16] (uint32_t)((uint32_t)opa * mask_tmp[x]) >> 8); - 8990: f818 3b01 ldrb.w r3, [r8], #1 - 8994: fb03 f30a mul.w r3, r3, sl + 83e8: f818 3b01 ldrb.w r3, [r8], #1 + 83ec: fb03 f30a mul.w r3, r3, sl disp->driver.set_px_cb(&disp->driver, (void *)disp_buf, disp_w, x, y, map_buf_tmp[x], - 8998: f3c3 2307 ubfx r3, r3, #8, #8 - 899c: 9302 str r3, [sp, #8] - 899e: 9a04 ldr r2, [sp, #16] - 89a0: f832 3b02 ldrh.w r3, [r2], #2 - 89a4: 9204 str r2, [sp, #16] - 89a6: f8ad 3004 strh.w r3, [sp, #4] - 89aa: 9700 str r7, [sp, #0] - 89ac: b223 sxth r3, r4 - 89ae: 9a06 ldr r2, [sp, #24] - 89b0: 9905 ldr r1, [sp, #20] - 89b2: 4628 mov r0, r5 - 89b4: 696e ldr r6, [r5, #20] - 89b6: 47b0 blx r6 + 83f0: f3c3 2307 ubfx r3, r3, #8, #8 + 83f4: 9302 str r3, [sp, #8] + 83f6: 9a04 ldr r2, [sp, #16] + 83f8: f832 3b02 ldrh.w r3, [r2], #2 + 83fc: 9204 str r2, [sp, #16] + 83fe: f8ad 3004 strh.w r3, [sp, #4] + 8402: 9700 str r7, [sp, #0] + 8404: b223 sxth r3, r4 + 8406: 9a06 ldr r2, [sp, #24] + 8408: 9905 ldr r1, [sp, #20] + 840a: 4628 mov r0, r5 + 840c: 696e ldr r6, [r5, #20] + 840e: 47b0 blx r6 for(x = draw_area->x1; x <= draw_area->x2; x++) { - 89b8: 3401 adds r4, #1 - 89ba: f9bd 303c ldrsh.w r3, [sp, #60] ; 0x3c - 89be: 429c cmp r4, r3 - 89c0: dde6 ble.n 8990 <_lv_blend_map+0x168> - 89c2: 9b07 ldr r3, [sp, #28] - 89c4: 9a09 ldr r2, [sp, #36] ; 0x24 - 89c6: 4413 add r3, r2 - 89c8: 9307 str r3, [sp, #28] + 8410: 3401 adds r4, #1 + 8412: f9bd 303c ldrsh.w r3, [sp, #60] ; 0x3c + 8416: 429c cmp r4, r3 + 8418: dde6 ble.n 83e8 <_lv_blend_map+0x168> + 841a: 9b07 ldr r3, [sp, #28] + 841c: 9a09 ldr r2, [sp, #36] ; 0x24 + 841e: 4413 add r3, r2 + 8420: 9307 str r3, [sp, #28] map_buf_tmp += map_w; - 89ca: 9b08 ldr r3, [sp, #32] - 89cc: 449b add fp, r3 + 8422: 9b08 ldr r3, [sp, #32] + 8424: 449b add fp, r3 for(y = draw_area->y1; y <= draw_area->y2; y++) { - 89ce: f109 0901 add.w r9, r9, #1 - 89d2: f9bd 303e ldrsh.w r3, [sp, #62] ; 0x3e - 89d6: 4599 cmp r9, r3 - 89d8: ddcb ble.n 8972 <_lv_blend_map+0x14a> - 89da: e732 b.n 8842 <_lv_blend_map+0x1a> + 8426: f109 0901 add.w r9, r9, #1 + 842a: f9bd 303e ldrsh.w r3, [sp, #62] ; 0x3e + 842e: 4599 cmp r9, r3 + 8430: ddcb ble.n 83ca <_lv_blend_map+0x14a> + 8432: e732 b.n 829a <_lv_blend_map+0x1a> for(y = draw_area->y1; y <= draw_area->y2; y++) { - 89dc: f9bd 303e ldrsh.w r3, [sp, #62] ; 0x3e - 89e0: 4573 cmp r3, lr - 89e2: f6ff af2e blt.w 8842 <_lv_blend_map+0x1a> + 8434: f9bd 303e ldrsh.w r3, [sp, #62] ; 0x3e + 8438: 4573 cmp r3, lr + 843a: f6ff af2e blt.w 829a <_lv_blend_map+0x1a> map_buf_tmp += map_w; - 89e6: ea4f 0949 mov.w r9, r9, lsl #1 - 89ea: 46f0 mov r8, lr + 843e: ea4f 0949 mov.w r9, r9, lsl #1 + 8442: 46f0 mov r8, lr for(x = draw_area->x1; x <= draw_area->x2; x++) { - 89ec: f9bd 7038 ldrsh.w r7, [sp, #56] ; 0x38 - 89f0: 463c mov r4, r7 - 89f2: f9bd 303c ldrsh.w r3, [sp, #60] ; 0x3c - 89f6: 429f cmp r7, r3 - 89f8: dc1e bgt.n 8a38 <_lv_blend_map+0x210> - 89fa: eb0b 0747 add.w r7, fp, r7, lsl #1 + 8444: f9bd 7038 ldrsh.w r7, [sp, #56] ; 0x38 + 8448: 463c mov r4, r7 + 844a: f9bd 303c ldrsh.w r3, [sp, #60] ; 0x3c + 844e: 429f cmp r7, r3 + 8450: dc1e bgt.n 8490 <_lv_blend_map+0x210> + 8452: eb0b 0747 add.w r7, fp, r7, lsl #1 disp->driver.set_px_cb(&disp->driver, (void *)disp_buf, disp_w, x, y, map_buf_tmp[x], opa); - 89fe: fa0f f688 sxth.w r6, r8 - 8a02: 9704 str r7, [sp, #16] - 8a04: 4633 mov r3, r6 - 8a06: 4656 mov r6, sl - 8a08: 46ca mov sl, r9 - 8a0a: 4699 mov r9, r3 - 8a0c: 9602 str r6, [sp, #8] - 8a0e: 9a04 ldr r2, [sp, #16] - 8a10: f832 3b02 ldrh.w r3, [r2], #2 - 8a14: 9204 str r2, [sp, #16] - 8a16: f8ad 3004 strh.w r3, [sp, #4] - 8a1a: f8cd 9000 str.w r9, [sp] - 8a1e: b223 sxth r3, r4 - 8a20: 9a06 ldr r2, [sp, #24] - 8a22: 9905 ldr r1, [sp, #20] - 8a24: 4628 mov r0, r5 - 8a26: 696f ldr r7, [r5, #20] - 8a28: 47b8 blx r7 + 8456: fa0f f688 sxth.w r6, r8 + 845a: 9704 str r7, [sp, #16] + 845c: 4633 mov r3, r6 + 845e: 4656 mov r6, sl + 8460: 46ca mov sl, r9 + 8462: 4699 mov r9, r3 + 8464: 9602 str r6, [sp, #8] + 8466: 9a04 ldr r2, [sp, #16] + 8468: f832 3b02 ldrh.w r3, [r2], #2 + 846c: 9204 str r2, [sp, #16] + 846e: f8ad 3004 strh.w r3, [sp, #4] + 8472: f8cd 9000 str.w r9, [sp] + 8476: b223 sxth r3, r4 + 8478: 9a06 ldr r2, [sp, #24] + 847a: 9905 ldr r1, [sp, #20] + 847c: 4628 mov r0, r5 + 847e: 696f ldr r7, [r5, #20] + 8480: 47b8 blx r7 for(x = draw_area->x1; x <= draw_area->x2; x++) { - 8a2a: 3401 adds r4, #1 - 8a2c: f9bd 303c ldrsh.w r3, [sp, #60] ; 0x3c - 8a30: 429c cmp r4, r3 - 8a32: ddeb ble.n 8a0c <_lv_blend_map+0x1e4> - 8a34: 46d1 mov r9, sl - 8a36: 46b2 mov sl, r6 + 8482: 3401 adds r4, #1 + 8484: f9bd 303c ldrsh.w r3, [sp, #60] ; 0x3c + 8488: 429c cmp r4, r3 + 848a: ddeb ble.n 8464 <_lv_blend_map+0x1e4> + 848c: 46d1 mov r9, sl + 848e: 46b2 mov sl, r6 map_buf_tmp += map_w; - 8a38: 44cb add fp, r9 + 8490: 44cb add fp, r9 for(y = draw_area->y1; y <= draw_area->y2; y++) { - 8a3a: f108 0801 add.w r8, r8, #1 - 8a3e: f9bd 303e ldrsh.w r3, [sp, #62] ; 0x3e - 8a42: 4598 cmp r8, r3 - 8a44: ddd2 ble.n 89ec <_lv_blend_map+0x1c4> - 8a46: e6fc b.n 8842 <_lv_blend_map+0x1a> + 8492: f108 0801 add.w r8, r8, #1 + 8496: f9bd 303e ldrsh.w r3, [sp, #62] ; 0x3e + 849a: 4598 cmp r8, r3 + 849c: ddd2 ble.n 8444 <_lv_blend_map+0x1c4> + 849e: e6fc b.n 829a <_lv_blend_map+0x1a> else if(mode == LV_BLEND_MODE_NORMAL) { - 8a48: 2d00 cmp r5, #0 - 8a4a: f040 8399 bne.w 9180 <_lv_blend_map+0x958> - 8a4e: f9b6 3010 ldrsh.w r3, [r6, #16] - 8a52: f8b6 8014 ldrh.w r8, [r6, #20] - 8a56: f108 0801 add.w r8, r8, #1 - 8a5a: eba8 0803 sub.w r8, r8, r3 - 8a5e: fa0f f888 sxth.w r8, r8 - 8a62: 3101 adds r1, #1 - 8a64: 9a06 ldr r2, [sp, #24] - 8a66: 1a89 subs r1, r1, r2 - 8a68: b20a sxth r2, r1 - 8a6a: 9209 str r2, [sp, #36] ; 0x24 + 84a0: 2d00 cmp r5, #0 + 84a2: f040 8399 bne.w 8bd8 <_lv_blend_map+0x958> + 84a6: f9b6 3010 ldrsh.w r3, [r6, #16] + 84aa: f8b6 8014 ldrh.w r8, [r6, #20] + 84ae: f108 0801 add.w r8, r8, #1 + 84b2: eba8 0803 sub.w r8, r8, r3 + 84b6: fa0f f888 sxth.w r8, r8 + 84ba: 3101 adds r1, #1 + 84bc: 9a06 ldr r2, [sp, #24] + 84be: 1a89 subs r1, r1, r2 + 84c0: b20a sxth r2, r1 + 84c2: 9209 str r2, [sp, #36] ; 0x24 int32_t draw_area_w = lv_area_get_width(draw_area); - 8a6c: 4615 mov r5, r2 + 84c4: 4615 mov r5, r2 return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - 8a6e: 3001 adds r0, #1 - 8a70: eba0 0b0b sub.w fp, r0, fp + 84c6: 3001 adds r0, #1 + 84c8: eba0 0b0b sub.w fp, r0, fp int32_t draw_area_h = lv_area_get_height(draw_area); - 8a74: fa0f f28b sxth.w r2, fp - 8a78: 9208 str r2, [sp, #32] + 84cc: fa0f f28b sxth.w r2, fp + 84d0: 9208 str r2, [sp, #32] return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - 8a7a: f9b7 1000 ldrsh.w r1, [r7] - 8a7e: f8b7 9004 ldrh.w r9, [r7, #4] - 8a82: f109 0901 add.w r9, r9, #1 - 8a86: eba9 0901 sub.w r9, r9, r1 - 8a8a: fa0f f989 sxth.w r9, r9 + 84d2: f9b7 1000 ldrsh.w r1, [r7] + 84d6: f8b7 9004 ldrh.w r9, [r7, #4] + 84da: f109 0901 add.w r9, r9, #1 + 84de: eba9 0901 sub.w r9, r9, r1 + 84e2: fa0f f989 sxth.w r9, r9 lv_color_t * disp_buf_first = disp_buf + disp_w * draw_area->y1 + draw_area->x1; - 8a8e: fb0e c208 mla r2, lr, r8, ip - 8a92: 9805 ldr r0, [sp, #20] - 8a94: eb00 0242 add.w r2, r0, r2, lsl #1 - 8a98: 9205 str r2, [sp, #20] + 84e6: fb0e c208 mla r2, lr, r8, ip + 84ea: 9805 ldr r0, [sp, #20] + 84ec: eb00 0242 add.w r2, r0, r2, lsl #1 + 84f0: 9205 str r2, [sp, #20] const lv_color_t * map_buf_first = map_buf + map_w * (draw_area->y1 - (map_area->y1 - disp_area->y1)); - 8a9a: f9b7 2002 ldrsh.w r2, [r7, #2] - 8a9e: f9b6 0012 ldrsh.w r0, [r6, #18] - 8aa2: 1a12 subs r2, r2, r0 - 8aa4: ebae 0e02 sub.w lr, lr, r2 + 84f2: f9b7 2002 ldrsh.w r2, [r7, #2] + 84f6: f9b6 0012 ldrsh.w r0, [r6, #18] + 84fa: 1a12 subs r2, r2, r0 + 84fc: ebae 0e02 sub.w lr, lr, r2 map_buf_first += (draw_area->x1 - (map_area->x1 - disp_area->x1)); - 8aa8: 1acb subs r3, r1, r3 - 8aaa: ebac 0303 sub.w r3, ip, r3 - 8aae: fb09 330e mla r3, r9, lr, r3 - 8ab2: 9a07 ldr r2, [sp, #28] - 8ab4: eb02 0343 add.w r3, r2, r3, lsl #1 - 8ab8: 9306 str r3, [sp, #24] + 8500: 1acb subs r3, r1, r3 + 8502: ebac 0303 sub.w r3, ip, r3 + 8506: fb09 330e mla r3, r9, lr, r3 + 850a: 9a07 ldr r2, [sp, #28] + 850c: eb02 0343 add.w r3, r2, r3, lsl #1 + 8510: 9306 str r3, [sp, #24] lv_disp_t * disp = _lv_refr_get_disp_refreshing(); - 8aba: 4b24 ldr r3, [pc, #144] ; (8b4c <_lv_blend_map+0x324>) - 8abc: 4798 blx r3 - 8abe: 4606 mov r6, r0 + 8512: 4b24 ldr r3, [pc, #144] ; (85a4 <_lv_blend_map+0x324>) + 8514: 4798 blx r3 + 8516: 4606 mov r6, r0 if(mask_res == LV_DRAW_MASK_RES_FULL_COVER) { - 8ac0: 2c01 cmp r4, #1 - 8ac2: d01b beq.n 8afc <_lv_blend_map+0x2d4> + 8518: 2c01 cmp r4, #1 + 851a: d01b beq.n 8554 <_lv_blend_map+0x2d4> if(opa > LV_OPA_MAX) { - 8ac4: f1ba 0ffa cmp.w sl, #250 ; 0xfa - 8ac8: f200 80c5 bhi.w 8c56 <_lv_blend_map+0x42e> + 851c: f1ba 0ffa cmp.w sl, #250 ; 0xfa + 8520: f200 80c5 bhi.w 86ae <_lv_blend_map+0x42e> for(y = 0; y < draw_area_h; y++) { - 8acc: 9b08 ldr r3, [sp, #32] - 8ace: 2b00 cmp r3, #0 - 8ad0: f77f aeb7 ble.w 8842 <_lv_blend_map+0x1a> + 8524: 9b08 ldr r3, [sp, #32] + 8526: 2b00 cmp r3, #0 + 8528: f77f aeb7 ble.w 829a <_lv_blend_map+0x1a> disp_buf_first += disp_w; - 8ad4: ea4f 0348 mov.w r3, r8, lsl #1 - 8ad8: 930a str r3, [sp, #40] ; 0x28 + 852c: ea4f 0348 mov.w r3, r8, lsl #1 + 8530: 930a str r3, [sp, #40] ; 0x28 map_buf_first += map_w; - 8ada: ea4f 0349 mov.w r3, r9, lsl #1 - 8ade: 930b str r3, [sp, #44] ; 0x2c - 8ae0: 9b09 ldr r3, [sp, #36] ; 0x24 - 8ae2: 9a04 ldr r2, [sp, #16] - 8ae4: 3a01 subs r2, #1 - 8ae6: 9204 str r2, [sp, #16] - 8ae8: 005b lsls r3, r3, #1 - 8aea: 930d str r3, [sp, #52] ; 0x34 - 8aec: f04f 0b00 mov.w fp, #0 + 8532: ea4f 0349 mov.w r3, r9, lsl #1 + 8536: 930b str r3, [sp, #44] ; 0x2c + 8538: 9b09 ldr r3, [sp, #36] ; 0x24 + 853a: 9a04 ldr r2, [sp, #16] + 853c: 3a01 subs r2, #1 + 853e: 9204 str r2, [sp, #16] + 8540: 005b lsls r3, r3, #1 + 8542: 930d str r3, [sp, #52] ; 0x34 + 8544: f04f 0b00 mov.w fp, #0 lv_opa_t opa_tmp = mask[x] >= LV_OPA_MAX ? opa : ((opa * mask[x]) >> 8); - 8af0: f8cd a01c str.w sl, [sp, #28] - 8af4: 950c str r5, [sp, #48] ; 0x30 - 8af6: f8dd 9018 ldr.w r9, [sp, #24] - 8afa: e336 b.n 916a <_lv_blend_map+0x942> + 8548: f8cd a01c str.w sl, [sp, #28] + 854c: 950c str r5, [sp, #48] ; 0x30 + 854e: f8dd 9018 ldr.w r9, [sp, #24] + 8552: e336 b.n 8bc2 <_lv_blend_map+0x942> if(disp->driver.gpu_blend_cb && (lv_area_get_size(draw_area) > GPU_SIZE_LIMIT)) { - 8afc: 6a03 ldr r3, [r0, #32] - 8afe: b35b cbz r3, 8b58 <_lv_blend_map+0x330> - 8b00: a80e add r0, sp, #56 ; 0x38 - 8b02: 4b14 ldr r3, [pc, #80] ; (8b54 <_lv_blend_map+0x32c>) - 8b04: 4798 blx r3 - 8b06: 28f0 cmp r0, #240 ; 0xf0 - 8b08: d926 bls.n 8b58 <_lv_blend_map+0x330> + 8554: 6a03 ldr r3, [r0, #32] + 8556: b35b cbz r3, 85b0 <_lv_blend_map+0x330> + 8558: a80e add r0, sp, #56 ; 0x38 + 855a: 4b14 ldr r3, [pc, #80] ; (85ac <_lv_blend_map+0x32c>) + 855c: 4798 blx r3 + 855e: 28f0 cmp r0, #240 ; 0xf0 + 8560: d926 bls.n 85b0 <_lv_blend_map+0x330> for(y = draw_area->y1; y <= draw_area->y2; y++) { - 8b0a: f9bd 503a ldrsh.w r5, [sp, #58] ; 0x3a - 8b0e: f9bd 303e ldrsh.w r3, [sp, #62] ; 0x3e - 8b12: 429d cmp r5, r3 - 8b14: f73f ae95 bgt.w 8842 <_lv_blend_map+0x1a> + 8562: f9bd 503a ldrsh.w r5, [sp, #58] ; 0x3a + 8566: f9bd 303e ldrsh.w r3, [sp, #62] ; 0x3e + 856a: 429d cmp r5, r3 + 856c: f73f ae95 bgt.w 829a <_lv_blend_map+0x1a> disp_buf_first += disp_w; - 8b18: ea4f 0848 mov.w r8, r8, lsl #1 + 8570: ea4f 0848 mov.w r8, r8, lsl #1 map_buf_first += map_w; - 8b1c: ea4f 0949 mov.w r9, r9, lsl #1 - 8b20: f8dd b014 ldr.w fp, [sp, #20] - 8b24: 9f06 ldr r7, [sp, #24] + 8574: ea4f 0949 mov.w r9, r9, lsl #1 + 8578: f8dd b014 ldr.w fp, [sp, #20] + 857c: 9f06 ldr r7, [sp, #24] disp->driver.gpu_blend_cb(&disp->driver, disp_buf_first, map_buf_first, draw_area_w, opa); - 8b26: f8cd a000 str.w sl, [sp] - 8b2a: 9b09 ldr r3, [sp, #36] ; 0x24 - 8b2c: 463a mov r2, r7 - 8b2e: 4659 mov r1, fp - 8b30: 4630 mov r0, r6 - 8b32: 6a34 ldr r4, [r6, #32] - 8b34: 47a0 blx r4 + 857e: f8cd a000 str.w sl, [sp] + 8582: 9b09 ldr r3, [sp, #36] ; 0x24 + 8584: 463a mov r2, r7 + 8586: 4659 mov r1, fp + 8588: 4630 mov r0, r6 + 858a: 6a34 ldr r4, [r6, #32] + 858c: 47a0 blx r4 disp_buf_first += disp_w; - 8b36: 44c3 add fp, r8 + 858e: 44c3 add fp, r8 map_buf_first += map_w; - 8b38: 444f add r7, r9 + 8590: 444f add r7, r9 for(y = draw_area->y1; y <= draw_area->y2; y++) { - 8b3a: 3501 adds r5, #1 - 8b3c: f9bd 303e ldrsh.w r3, [sp, #62] ; 0x3e - 8b40: 429d cmp r5, r3 - 8b42: ddf0 ble.n 8b26 <_lv_blend_map+0x2fe> - 8b44: e67d b.n 8842 <_lv_blend_map+0x1a> - 8b46: bf00 nop - 8b48: 00011ac1 .word 0x00011ac1 - 8b4c: 00006511 .word 0x00006511 - 8b50: 00011585 .word 0x00011585 - 8b54: 00011aa5 .word 0x00011aa5 + 8592: 3501 adds r5, #1 + 8594: f9bd 303e ldrsh.w r3, [sp, #62] ; 0x3e + 8598: 429d cmp r5, r3 + 859a: ddf0 ble.n 857e <_lv_blend_map+0x2fe> + 859c: e67d b.n 829a <_lv_blend_map+0x1a> + 859e: bf00 nop + 85a0: 00011519 .word 0x00011519 + 85a4: 00005f69 .word 0x00005f69 + 85a8: 00010fdd .word 0x00010fdd + 85ac: 000114fd .word 0x000114fd if(opa > LV_OPA_MAX) { - 8b58: f1ba 0ffa cmp.w sl, #250 ; 0xfa - 8b5c: d810 bhi.n 8b80 <_lv_blend_map+0x358> + 85b0: f1ba 0ffa cmp.w sl, #250 ; 0xfa + 85b4: d810 bhi.n 85d8 <_lv_blend_map+0x358> for(y = 0; y < draw_area_h; y++) { - 8b5e: 9b08 ldr r3, [sp, #32] - 8b60: 2b00 cmp r3, #0 - 8b62: f77f ae6e ble.w 8842 <_lv_blend_map+0x1a> + 85b6: 9b08 ldr r3, [sp, #32] + 85b8: 2b00 cmp r3, #0 + 85ba: f77f ae6e ble.w 829a <_lv_blend_map+0x1a> disp_buf_first += disp_w; - 8b66: ea4f 0348 mov.w r3, r8, lsl #1 - 8b6a: 9304 str r3, [sp, #16] + 85be: ea4f 0348 mov.w r3, r8, lsl #1 + 85c2: 9304 str r3, [sp, #16] map_buf_first += map_w; - 8b6c: ea4f 0949 mov.w r9, r9, lsl #1 - 8b70: 9b09 ldr r3, [sp, #36] ; 0x24 - 8b72: ea4f 0b43 mov.w fp, r3, lsl #1 - 8b76: f04f 0800 mov.w r8, #0 + 85c4: ea4f 0949 mov.w r9, r9, lsl #1 + 85c8: 9b09 ldr r3, [sp, #36] ; 0x24 + 85ca: ea4f 0b43 mov.w fp, r3, lsl #1 + 85ce: f04f 0800 mov.w r8, #0 LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 8b7a: f1ca 0eff rsb lr, sl, #255 ; 0xff - 8b7e: e026 b.n 8bce <_lv_blend_map+0x3a6> + 85d2: f1ca 0eff rsb lr, sl, #255 ; 0xff + 85d6: e026 b.n 8626 <_lv_blend_map+0x3a6> for(y = 0; y < draw_area_h; y++) { - 8b80: 9b08 ldr r3, [sp, #32] - 8b82: 2b00 cmp r3, #0 - 8b84: f77f ae5d ble.w 8842 <_lv_blend_map+0x1a> + 85d8: 9b08 ldr r3, [sp, #32] + 85da: 2b00 cmp r3, #0 + 85dc: f77f ae5d ble.w 829a <_lv_blend_map+0x1a> _lv_memcpy(disp_buf_first, map_buf_first, draw_area_w * sizeof(lv_color_t)); - 8b88: 9a09 ldr r2, [sp, #36] ; 0x24 - 8b8a: 0056 lsls r6, r2, #1 + 85e0: 9a09 ldr r2, [sp, #36] ; 0x24 + 85e2: 0056 lsls r6, r2, #1 disp_buf_first += disp_w; - 8b8c: ea4f 0848 mov.w r8, r8, lsl #1 + 85e4: ea4f 0848 mov.w r8, r8, lsl #1 map_buf_first += map_w; - 8b90: ea4f 0949 mov.w r9, r9, lsl #1 - 8b94: 2400 movs r4, #0 + 85e8: ea4f 0949 mov.w r9, r9, lsl #1 + 85ec: 2400 movs r4, #0 _lv_memcpy(disp_buf_first, map_buf_first, draw_area_w * sizeof(lv_color_t)); - 8b96: 4d66 ldr r5, [pc, #408] ; (8d30 <_lv_blend_map+0x508>) - 8b98: 469b mov fp, r3 - 8b9a: 9f05 ldr r7, [sp, #20] - 8b9c: f8dd a018 ldr.w sl, [sp, #24] - 8ba0: 4632 mov r2, r6 - 8ba2: 4651 mov r1, sl - 8ba4: 4638 mov r0, r7 - 8ba6: 47a8 blx r5 + 85ee: 4d66 ldr r5, [pc, #408] ; (8788 <_lv_blend_map+0x508>) + 85f0: 469b mov fp, r3 + 85f2: 9f05 ldr r7, [sp, #20] + 85f4: f8dd a018 ldr.w sl, [sp, #24] + 85f8: 4632 mov r2, r6 + 85fa: 4651 mov r1, sl + 85fc: 4638 mov r0, r7 + 85fe: 47a8 blx r5 disp_buf_first += disp_w; - 8ba8: 4447 add r7, r8 + 8600: 4447 add r7, r8 map_buf_first += map_w; - 8baa: 44ca add sl, r9 + 8602: 44ca add sl, r9 for(y = 0; y < draw_area_h; y++) { - 8bac: 3401 adds r4, #1 - 8bae: 45a3 cmp fp, r4 - 8bb0: d1f6 bne.n 8ba0 <_lv_blend_map+0x378> - 8bb2: e646 b.n 8842 <_lv_blend_map+0x1a> + 8604: 3401 adds r4, #1 + 8606: 45a3 cmp fp, r4 + 8608: d1f6 bne.n 85f8 <_lv_blend_map+0x378> + 860a: e646 b.n 829a <_lv_blend_map+0x1a> disp_buf_first += disp_w; - 8bb4: 9b05 ldr r3, [sp, #20] - 8bb6: 9a04 ldr r2, [sp, #16] - 8bb8: 4413 add r3, r2 - 8bba: 9305 str r3, [sp, #20] + 860c: 9b05 ldr r3, [sp, #20] + 860e: 9a04 ldr r2, [sp, #16] + 8610: 4413 add r3, r2 + 8612: 9305 str r3, [sp, #20] map_buf_first += map_w; - 8bbc: 9b06 ldr r3, [sp, #24] - 8bbe: 444b add r3, r9 - 8bc0: 9306 str r3, [sp, #24] + 8614: 9b06 ldr r3, [sp, #24] + 8616: 444b add r3, r9 + 8618: 9306 str r3, [sp, #24] for(y = 0; y < draw_area_h; y++) { - 8bc2: f108 0801 add.w r8, r8, #1 - 8bc6: 9b08 ldr r3, [sp, #32] - 8bc8: 4543 cmp r3, r8 - 8bca: f43f ae3a beq.w 8842 <_lv_blend_map+0x1a> + 861a: f108 0801 add.w r8, r8, #1 + 861e: 9b08 ldr r3, [sp, #32] + 8620: 4543 cmp r3, r8 + 8622: f43f ae3a beq.w 829a <_lv_blend_map+0x1a> for(x = 0; x < draw_area_w; x++) { - 8bce: 2d00 cmp r5, #0 - 8bd0: ddf0 ble.n 8bb4 <_lv_blend_map+0x38c> - 8bd2: 9b06 ldr r3, [sp, #24] - 8bd4: 461f mov r7, r3 - 8bd6: 9c05 ldr r4, [sp, #20] - 8bd8: eb03 0c0b add.w ip, r3, fp - 8bdc: 787b ldrb r3, [r7, #1] - 8bde: 08db lsrs r3, r3, #3 - 8be0: 7862 ldrb r2, [r4, #1] - 8be2: 08d2 lsrs r2, r2, #3 - 8be4: fb0e f202 mul.w r2, lr, r2 - 8be8: fb0a 2303 mla r3, sl, r3, r2 - 8bec: eb03 2203 add.w r2, r3, r3, lsl #8 - 8bf0: eb03 13c2 add.w r3, r3, r2, lsl #7 - 8bf4: f3c3 53c4 ubfx r3, r3, #23, #5 + 8626: 2d00 cmp r5, #0 + 8628: ddf0 ble.n 860c <_lv_blend_map+0x38c> + 862a: 9b06 ldr r3, [sp, #24] + 862c: 461f mov r7, r3 + 862e: 9c05 ldr r4, [sp, #20] + 8630: eb03 0c0b add.w ip, r3, fp + 8634: 787b ldrb r3, [r7, #1] + 8636: 08db lsrs r3, r3, #3 + 8638: 7862 ldrb r2, [r4, #1] + 863a: 08d2 lsrs r2, r2, #3 + 863c: fb0e f202 mul.w r2, lr, r2 + 8640: fb0a 2303 mla r3, sl, r3, r2 + 8644: eb03 2203 add.w r2, r3, r3, lsl #8 + 8648: eb03 13c2 add.w r3, r3, r2, lsl #7 + 864c: f3c3 53c4 ubfx r3, r3, #23, #5 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 8bf8: 883a ldrh r2, [r7, #0] - 8bfa: f3c2 1245 ubfx r2, r2, #5, #6 - 8bfe: 8821 ldrh r1, [r4, #0] - 8c00: f3c1 1145 ubfx r1, r1, #5, #6 - 8c04: fb0e f101 mul.w r1, lr, r1 - 8c08: fb0a 1202 mla r2, sl, r2, r1 - 8c0c: eb02 2102 add.w r1, r2, r2, lsl #8 - 8c10: eb02 12c1 add.w r2, r2, r1, lsl #7 - 8c14: f3c2 52c5 ubfx r2, r2, #23, #6 + 8650: 883a ldrh r2, [r7, #0] + 8652: f3c2 1245 ubfx r2, r2, #5, #6 + 8656: 8821 ldrh r1, [r4, #0] + 8658: f3c1 1145 ubfx r1, r1, #5, #6 + 865c: fb0e f101 mul.w r1, lr, r1 + 8660: fb0a 1202 mla r2, sl, r2, r1 + 8664: eb02 2102 add.w r1, r2, r2, lsl #8 + 8668: eb02 12c1 add.w r2, r2, r1, lsl #7 + 866c: f3c2 52c5 ubfx r2, r2, #23, #6 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 8c18: f817 1b02 ldrb.w r1, [r7], #2 - 8c1c: f001 011f and.w r1, r1, #31 - 8c20: 7820 ldrb r0, [r4, #0] - 8c22: f000 061f and.w r6, r0, #31 - 8c26: fb0e f606 mul.w r6, lr, r6 - 8c2a: fb0a 6101 mla r1, sl, r1, r6 - 8c2e: eb01 2601 add.w r6, r1, r1, lsl #8 - 8c32: eb01 11c6 add.w r1, r1, r6, lsl #7 - 8c36: 0dc9 lsrs r1, r1, #23 + 8670: f817 1b02 ldrb.w r1, [r7], #2 + 8674: f001 011f and.w r1, r1, #31 + 8678: 7820 ldrb r0, [r4, #0] + 867a: f000 061f and.w r6, r0, #31 + 867e: fb0e f606 mul.w r6, lr, r6 + 8682: fb0a 6101 mla r1, sl, r1, r6 + 8686: eb01 2601 add.w r6, r1, r1, lsl #8 + 868a: eb01 11c6 add.w r1, r1, r6, lsl #7 + 868e: 0dc9 lsrs r1, r1, #23 disp_buf_first[x] = lv_color_mix(map_buf_first[x], disp_buf_first[x], opa); - 8c38: f361 0004 bfi r0, r1, #0, #5 - 8c3c: 7020 strb r0, [r4, #0] - 8c3e: 8821 ldrh r1, [r4, #0] - 8c40: f362 114a bfi r1, r2, #5, #6 - 8c44: 8021 strh r1, [r4, #0] - 8c46: 0a09 lsrs r1, r1, #8 - 8c48: f363 01c7 bfi r1, r3, #3, #5 - 8c4c: 7061 strb r1, [r4, #1] - 8c4e: 3402 adds r4, #2 + 8690: f361 0004 bfi r0, r1, #0, #5 + 8694: 7020 strb r0, [r4, #0] + 8696: 8821 ldrh r1, [r4, #0] + 8698: f362 114a bfi r1, r2, #5, #6 + 869c: 8021 strh r1, [r4, #0] + 869e: 0a09 lsrs r1, r1, #8 + 86a0: f363 01c7 bfi r1, r3, #3, #5 + 86a4: 7061 strb r1, [r4, #1] + 86a6: 3402 adds r4, #2 for(x = 0; x < draw_area_w; x++) { - 8c50: 45bc cmp ip, r7 - 8c52: d1c3 bne.n 8bdc <_lv_blend_map+0x3b4> - 8c54: e7ae b.n 8bb4 <_lv_blend_map+0x38c> + 86a8: 45bc cmp ip, r7 + 86aa: d1c3 bne.n 8634 <_lv_blend_map+0x3b4> + 86ac: e7ae b.n 860c <_lv_blend_map+0x38c> int32_t x_end4 = draw_area_w - 4; - 8c56: 9b09 ldr r3, [sp, #36] ; 0x24 - 8c58: 3b04 subs r3, #4 - 8c5a: 930a str r3, [sp, #40] ; 0x28 + 86ae: 9b09 ldr r3, [sp, #36] ; 0x24 + 86b0: 3b04 subs r3, #4 + 86b2: 930a str r3, [sp, #40] ; 0x28 for(y = 0; y < draw_area_h; y++) { - 8c5c: 9b08 ldr r3, [sp, #32] - 8c5e: 2b00 cmp r3, #0 - 8c60: f77f adef ble.w 8842 <_lv_blend_map+0x1a> + 86b4: 9b08 ldr r3, [sp, #32] + 86b6: 2b00 cmp r3, #0 + 86b8: f77f adef ble.w 829a <_lv_blend_map+0x1a> disp_buf_first += disp_w; - 8c64: ea4f 0348 mov.w r3, r8, lsl #1 - 8c68: 930c str r3, [sp, #48] ; 0x30 + 86bc: ea4f 0348 mov.w r3, r8, lsl #1 + 86c0: 930c str r3, [sp, #48] ; 0x30 map_buf_first += map_w; - 8c6a: ea4f 0349 mov.w r3, r9, lsl #1 - 8c6e: 930d str r3, [sp, #52] ; 0x34 - 8c70: 2300 movs r3, #0 - 8c72: 9307 str r3, [sp, #28] - 8c74: e365 b.n 9342 <_lv_blend_map+0xb1a> + 86c2: ea4f 0349 mov.w r3, r9, lsl #1 + 86c6: 930d str r3, [sp, #52] ; 0x34 + 86c8: 2300 movs r3, #0 + 86ca: 9307 str r3, [sp, #28] + 86cc: e365 b.n 8d9a <_lv_blend_map+0xb1a> MAP_NORMAL_MASK_PX(x) - 8c76: f8b8 3000 ldrh.w r3, [r8] - 8c7a: f8ae 3000 strh.w r3, [lr] - 8c7e: 4663 mov r3, ip + 86ce: f8b8 3000 ldrh.w r3, [r8] + 86d2: f8ae 3000 strh.w r3, [lr] + 86d6: 4663 mov r3, ip for(x = 0; x < draw_area_w && ((lv_uintptr_t)mask_tmp_x & 0x3); x++) { - 8c80: 3101 adds r1, #1 - 8c82: 428d cmp r5, r1 - 8c84: f000 8347 beq.w 9316 <_lv_blend_map+0xaee> - 8c88: f108 0802 add.w r8, r8, #2 - 8c8c: f10e 0e02 add.w lr, lr, #2 - 8c90: f01c 0f03 tst.w ip, #3 - 8c94: f000 832d beq.w 92f2 <_lv_blend_map+0xaca> + 86d8: 3101 adds r1, #1 + 86da: 428d cmp r5, r1 + 86dc: f000 8347 beq.w 8d6e <_lv_blend_map+0xaee> + 86e0: f108 0802 add.w r8, r8, #2 + 86e4: f10e 0e02 add.w lr, lr, #2 + 86e8: f01c 0f03 tst.w ip, #3 + 86ec: f000 832d beq.w 8d4a <_lv_blend_map+0xaca> MAP_NORMAL_MASK_PX(x) - 8c98: f81c 4b01 ldrb.w r4, [ip], #1 - 8c9c: 2c00 cmp r4, #0 - 8c9e: d0ee beq.n 8c7e <_lv_blend_map+0x456> - 8ca0: 2cff cmp r4, #255 ; 0xff - 8ca2: d0e8 beq.n 8c76 <_lv_blend_map+0x44e> + 86f0: f81c 4b01 ldrb.w r4, [ip], #1 + 86f4: 2c00 cmp r4, #0 + 86f6: d0ee beq.n 86d6 <_lv_blend_map+0x456> + 86f8: 2cff cmp r4, #255 ; 0xff + 86fa: d0e8 beq.n 86ce <_lv_blend_map+0x44e> LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 8ca4: f1c4 06ff rsb r6, r4, #255 ; 0xff - 8ca8: f898 3001 ldrb.w r3, [r8, #1] - 8cac: 08db lsrs r3, r3, #3 - 8cae: f89e 2001 ldrb.w r2, [lr, #1] - 8cb2: 08d2 lsrs r2, r2, #3 - 8cb4: fb06 f202 mul.w r2, r6, r2 - 8cb8: fb04 2303 mla r3, r4, r3, r2 - 8cbc: eb03 2203 add.w r2, r3, r3, lsl #8 - 8cc0: eb03 13c2 add.w r3, r3, r2, lsl #7 - 8cc4: f3c3 53c4 ubfx r3, r3, #23, #5 + 86fc: f1c4 06ff rsb r6, r4, #255 ; 0xff + 8700: f898 3001 ldrb.w r3, [r8, #1] + 8704: 08db lsrs r3, r3, #3 + 8706: f89e 2001 ldrb.w r2, [lr, #1] + 870a: 08d2 lsrs r2, r2, #3 + 870c: fb06 f202 mul.w r2, r6, r2 + 8710: fb04 2303 mla r3, r4, r3, r2 + 8714: eb03 2203 add.w r2, r3, r3, lsl #8 + 8718: eb03 13c2 add.w r3, r3, r2, lsl #7 + 871c: f3c3 53c4 ubfx r3, r3, #23, #5 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 8cc8: f8b8 0000 ldrh.w r0, [r8] - 8ccc: f3c0 1045 ubfx r0, r0, #5, #6 - 8cd0: f8be 2000 ldrh.w r2, [lr] - 8cd4: f3c2 1245 ubfx r2, r2, #5, #6 - 8cd8: fb06 f202 mul.w r2, r6, r2 - 8cdc: fb04 2000 mla r0, r4, r0, r2 - 8ce0: eb00 2200 add.w r2, r0, r0, lsl #8 - 8ce4: eb00 10c2 add.w r0, r0, r2, lsl #7 - 8ce8: f3c0 50c5 ubfx r0, r0, #23, #6 + 8720: f8b8 0000 ldrh.w r0, [r8] + 8724: f3c0 1045 ubfx r0, r0, #5, #6 + 8728: f8be 2000 ldrh.w r2, [lr] + 872c: f3c2 1245 ubfx r2, r2, #5, #6 + 8730: fb06 f202 mul.w r2, r6, r2 + 8734: fb04 2000 mla r0, r4, r0, r2 + 8738: eb00 2200 add.w r2, r0, r0, lsl #8 + 873c: eb00 10c2 add.w r0, r0, r2, lsl #7 + 8740: f3c0 50c5 ubfx r0, r0, #23, #6 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 8cec: f898 2000 ldrb.w r2, [r8] - 8cf0: f002 021f and.w r2, r2, #31 - 8cf4: f89e 7000 ldrb.w r7, [lr] - 8cf8: f007 091f and.w r9, r7, #31 - 8cfc: fb06 f609 mul.w r6, r6, r9 - 8d00: fb04 6202 mla r2, r4, r2, r6 - 8d04: eb02 2402 add.w r4, r2, r2, lsl #8 - 8d08: eb02 12c4 add.w r2, r2, r4, lsl #7 - 8d0c: 0dd2 lsrs r2, r2, #23 - 8d0e: 463c mov r4, r7 - 8d10: f362 0404 bfi r4, r2, #0, #5 - 8d14: f88e 4000 strb.w r4, [lr] - 8d18: f8be 2000 ldrh.w r2, [lr] - 8d1c: f360 124a bfi r2, r0, #5, #6 - 8d20: f8ae 2000 strh.w r2, [lr] - 8d24: 0a12 lsrs r2, r2, #8 - 8d26: f363 02c7 bfi r2, r3, #3, #5 - 8d2a: f88e 2001 strb.w r2, [lr, #1] - 8d2e: e7a6 b.n 8c7e <_lv_blend_map+0x456> - 8d30: 00012bfd .word 0x00012bfd + 8744: f898 2000 ldrb.w r2, [r8] + 8748: f002 021f and.w r2, r2, #31 + 874c: f89e 7000 ldrb.w r7, [lr] + 8750: f007 091f and.w r9, r7, #31 + 8754: fb06 f609 mul.w r6, r6, r9 + 8758: fb04 6202 mla r2, r4, r2, r6 + 875c: eb02 2402 add.w r4, r2, r2, lsl #8 + 8760: eb02 12c4 add.w r2, r2, r4, lsl #7 + 8764: 0dd2 lsrs r2, r2, #23 + 8766: 463c mov r4, r7 + 8768: f362 0404 bfi r4, r2, #0, #5 + 876c: f88e 4000 strb.w r4, [lr] + 8770: f8be 2000 ldrh.w r2, [lr] + 8774: f360 124a bfi r2, r0, #5, #6 + 8778: f8ae 2000 strh.w r2, [lr] + 877c: 0a12 lsrs r2, r2, #8 + 877e: f363 02c7 bfi r2, r3, #3, #5 + 8782: f88e 2001 strb.w r2, [lr, #1] + 8786: e7a6 b.n 86d6 <_lv_blend_map+0x456> + 8788: 00012655 .word 0x00012655 disp_buf_first[x] = map_buf_first[x]; - 8d34: f834 5c06 ldrh.w r5, [r4, #-6] - 8d38: f820 5c06 strh.w r5, [r0, #-6] + 878c: f834 5c06 ldrh.w r5, [r4, #-6] + 8790: f820 5c06 strh.w r5, [r0, #-6] disp_buf_first[x + 1] = map_buf_first[x + 1]; - 8d3c: f834 5c04 ldrh.w r5, [r4, #-4] - 8d40: f820 5c04 strh.w r5, [r0, #-4] + 8794: f834 5c04 ldrh.w r5, [r4, #-4] + 8798: f820 5c04 strh.w r5, [r0, #-4] disp_buf_first[x + 2] = map_buf_first[x + 2]; - 8d44: f834 5c02 ldrh.w r5, [r4, #-2] - 8d48: f820 5c02 strh.w r5, [r0, #-2] + 879c: f834 5c02 ldrh.w r5, [r4, #-2] + 87a0: f820 5c02 strh.w r5, [r0, #-2] disp_buf_first[x + 3] = map_buf_first[x + 3]; - 8d4c: 8825 ldrh r5, [r4, #0] - 8d4e: 8005 strh r5, [r0, #0] + 87a4: 8825 ldrh r5, [r4, #0] + 87a6: 8005 strh r5, [r0, #0] for(; x < x_end4; x += 4) { - 8d50: 3104 adds r1, #4 - 8d52: 3304 adds r3, #4 - 8d54: 3408 adds r4, #8 - 8d56: 3008 adds r0, #8 - 8d58: 458e cmp lr, r1 - 8d5a: f340 8147 ble.w 8fec <_lv_blend_map+0x7c4> - 8d5e: 461a mov r2, r3 + 87a8: 3104 adds r1, #4 + 87aa: 3304 adds r3, #4 + 87ac: 3408 adds r4, #8 + 87ae: 3008 adds r0, #8 + 87b0: 458e cmp lr, r1 + 87b2: f340 8147 ble.w 8a44 <_lv_blend_map+0x7c4> + 87b6: 461a mov r2, r3 if(*mask32) { - 8d60: f853 5c04 ldr.w r5, [r3, #-4] - 8d64: 2d00 cmp r5, #0 - 8d66: d0f3 beq.n 8d50 <_lv_blend_map+0x528> + 87b8: f853 5c04 ldr.w r5, [r3, #-4] + 87bc: 2d00 cmp r5, #0 + 87be: d0f3 beq.n 87a8 <_lv_blend_map+0x528> if((*mask32) == 0xFFFFFFFF) { - 8d68: f1b5 3fff cmp.w r5, #4294967295 - 8d6c: d0e2 beq.n 8d34 <_lv_blend_map+0x50c> + 87c0: f1b5 3fff cmp.w r5, #4294967295 + 87c4: d0e2 beq.n 878c <_lv_blend_map+0x50c> MAP_NORMAL_MASK_PX(x) - 8d6e: f813 cc04 ldrb.w ip, [r3, #-4] - 8d72: f1bc 0f00 cmp.w ip, #0 - 8d76: d047 beq.n 8e08 <_lv_blend_map+0x5e0> - 8d78: f1bc 0fff cmp.w ip, #255 ; 0xff - 8d7c: f000 8124 beq.w 8fc8 <_lv_blend_map+0x7a0> + 87c6: f813 cc04 ldrb.w ip, [r3, #-4] + 87ca: f1bc 0f00 cmp.w ip, #0 + 87ce: d047 beq.n 8860 <_lv_blend_map+0x5e0> + 87d0: f1bc 0fff cmp.w ip, #255 ; 0xff + 87d4: f000 8124 beq.w 8a20 <_lv_blend_map+0x7a0> LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 8d80: f1cc 09ff rsb r9, ip, #255 ; 0xff - 8d84: f814 5c05 ldrb.w r5, [r4, #-5] - 8d88: 08ed lsrs r5, r5, #3 - 8d8a: f810 6c05 ldrb.w r6, [r0, #-5] - 8d8e: 08f6 lsrs r6, r6, #3 - 8d90: fb09 f606 mul.w r6, r9, r6 - 8d94: fb0c 6505 mla r5, ip, r5, r6 - 8d98: eb05 2605 add.w r6, r5, r5, lsl #8 - 8d9c: eb05 15c6 add.w r5, r5, r6, lsl #7 - 8da0: f3c5 55c4 ubfx r5, r5, #23, #5 + 87d8: f1cc 09ff rsb r9, ip, #255 ; 0xff + 87dc: f814 5c05 ldrb.w r5, [r4, #-5] + 87e0: 08ed lsrs r5, r5, #3 + 87e2: f810 6c05 ldrb.w r6, [r0, #-5] + 87e6: 08f6 lsrs r6, r6, #3 + 87e8: fb09 f606 mul.w r6, r9, r6 + 87ec: fb0c 6505 mla r5, ip, r5, r6 + 87f0: eb05 2605 add.w r6, r5, r5, lsl #8 + 87f4: eb05 15c6 add.w r5, r5, r6, lsl #7 + 87f8: f3c5 55c4 ubfx r5, r5, #23, #5 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 8da4: f834 6c06 ldrh.w r6, [r4, #-6] - 8da8: f3c6 1645 ubfx r6, r6, #5, #6 - 8dac: f830 7c06 ldrh.w r7, [r0, #-6] - 8db0: f3c7 1745 ubfx r7, r7, #5, #6 - 8db4: fb09 f707 mul.w r7, r9, r7 - 8db8: fb0c 7606 mla r6, ip, r6, r7 - 8dbc: eb06 2706 add.w r7, r6, r6, lsl #8 - 8dc0: eb06 16c7 add.w r6, r6, r7, lsl #7 - 8dc4: f3c6 56c5 ubfx r6, r6, #23, #6 + 87fc: f834 6c06 ldrh.w r6, [r4, #-6] + 8800: f3c6 1645 ubfx r6, r6, #5, #6 + 8804: f830 7c06 ldrh.w r7, [r0, #-6] + 8808: f3c7 1745 ubfx r7, r7, #5, #6 + 880c: fb09 f707 mul.w r7, r9, r7 + 8810: fb0c 7606 mla r6, ip, r6, r7 + 8814: eb06 2706 add.w r7, r6, r6, lsl #8 + 8818: eb06 16c7 add.w r6, r6, r7, lsl #7 + 881c: f3c6 56c5 ubfx r6, r6, #23, #6 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 8dc8: f814 7c06 ldrb.w r7, [r4, #-6] - 8dcc: f007 071f and.w r7, r7, #31 - 8dd0: f810 8c06 ldrb.w r8, [r0, #-6] - 8dd4: f008 0b1f and.w fp, r8, #31 - 8dd8: fb09 f90b mul.w r9, r9, fp - 8ddc: fb0c 9707 mla r7, ip, r7, r9 - 8de0: eb07 2c07 add.w ip, r7, r7, lsl #8 - 8de4: eb07 17cc add.w r7, r7, ip, lsl #7 - 8de8: 0dff lsrs r7, r7, #23 - 8dea: f367 0804 bfi r8, r7, #0, #5 - 8dee: f800 8c06 strb.w r8, [r0, #-6] - 8df2: f830 7c06 ldrh.w r7, [r0, #-6] - 8df6: f366 174a bfi r7, r6, #5, #6 - 8dfa: f820 7c06 strh.w r7, [r0, #-6] - 8dfe: 0a3f lsrs r7, r7, #8 - 8e00: f365 07c7 bfi r7, r5, #3, #5 - 8e04: f800 7c05 strb.w r7, [r0, #-5] + 8820: f814 7c06 ldrb.w r7, [r4, #-6] + 8824: f007 071f and.w r7, r7, #31 + 8828: f810 8c06 ldrb.w r8, [r0, #-6] + 882c: f008 0b1f and.w fp, r8, #31 + 8830: fb09 f90b mul.w r9, r9, fp + 8834: fb0c 9707 mla r7, ip, r7, r9 + 8838: eb07 2c07 add.w ip, r7, r7, lsl #8 + 883c: eb07 17cc add.w r7, r7, ip, lsl #7 + 8840: 0dff lsrs r7, r7, #23 + 8842: f367 0804 bfi r8, r7, #0, #5 + 8846: f800 8c06 strb.w r8, [r0, #-6] + 884a: f830 7c06 ldrh.w r7, [r0, #-6] + 884e: f366 174a bfi r7, r6, #5, #6 + 8852: f820 7c06 strh.w r7, [r0, #-6] + 8856: 0a3f lsrs r7, r7, #8 + 8858: f365 07c7 bfi r7, r5, #3, #5 + 885c: f800 7c05 strb.w r7, [r0, #-5] MAP_NORMAL_MASK_PX(x + 1) - 8e08: f812 cc03 ldrb.w ip, [r2, #-3] - 8e0c: f1bc 0f00 cmp.w ip, #0 - 8e10: d047 beq.n 8ea2 <_lv_blend_map+0x67a> - 8e12: f1bc 0fff cmp.w ip, #255 ; 0xff - 8e16: f000 80dc beq.w 8fd2 <_lv_blend_map+0x7aa> + 8860: f812 cc03 ldrb.w ip, [r2, #-3] + 8864: f1bc 0f00 cmp.w ip, #0 + 8868: d047 beq.n 88fa <_lv_blend_map+0x67a> + 886a: f1bc 0fff cmp.w ip, #255 ; 0xff + 886e: f000 80dc beq.w 8a2a <_lv_blend_map+0x7aa> LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 8e1a: f1cc 09ff rsb r9, ip, #255 ; 0xff - 8e1e: f814 5c03 ldrb.w r5, [r4, #-3] - 8e22: 08ed lsrs r5, r5, #3 - 8e24: f810 6c03 ldrb.w r6, [r0, #-3] - 8e28: 08f6 lsrs r6, r6, #3 - 8e2a: fb09 f606 mul.w r6, r9, r6 - 8e2e: fb0c 6505 mla r5, ip, r5, r6 - 8e32: eb05 2605 add.w r6, r5, r5, lsl #8 - 8e36: eb05 15c6 add.w r5, r5, r6, lsl #7 - 8e3a: f3c5 55c4 ubfx r5, r5, #23, #5 + 8872: f1cc 09ff rsb r9, ip, #255 ; 0xff + 8876: f814 5c03 ldrb.w r5, [r4, #-3] + 887a: 08ed lsrs r5, r5, #3 + 887c: f810 6c03 ldrb.w r6, [r0, #-3] + 8880: 08f6 lsrs r6, r6, #3 + 8882: fb09 f606 mul.w r6, r9, r6 + 8886: fb0c 6505 mla r5, ip, r5, r6 + 888a: eb05 2605 add.w r6, r5, r5, lsl #8 + 888e: eb05 15c6 add.w r5, r5, r6, lsl #7 + 8892: f3c5 55c4 ubfx r5, r5, #23, #5 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 8e3e: f834 6c04 ldrh.w r6, [r4, #-4] - 8e42: f3c6 1645 ubfx r6, r6, #5, #6 - 8e46: f830 7c04 ldrh.w r7, [r0, #-4] - 8e4a: f3c7 1745 ubfx r7, r7, #5, #6 - 8e4e: fb09 f707 mul.w r7, r9, r7 - 8e52: fb0c 7606 mla r6, ip, r6, r7 - 8e56: eb06 2706 add.w r7, r6, r6, lsl #8 - 8e5a: eb06 16c7 add.w r6, r6, r7, lsl #7 - 8e5e: f3c6 56c5 ubfx r6, r6, #23, #6 + 8896: f834 6c04 ldrh.w r6, [r4, #-4] + 889a: f3c6 1645 ubfx r6, r6, #5, #6 + 889e: f830 7c04 ldrh.w r7, [r0, #-4] + 88a2: f3c7 1745 ubfx r7, r7, #5, #6 + 88a6: fb09 f707 mul.w r7, r9, r7 + 88aa: fb0c 7606 mla r6, ip, r6, r7 + 88ae: eb06 2706 add.w r7, r6, r6, lsl #8 + 88b2: eb06 16c7 add.w r6, r6, r7, lsl #7 + 88b6: f3c6 56c5 ubfx r6, r6, #23, #6 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 8e62: f814 7c04 ldrb.w r7, [r4, #-4] - 8e66: f007 071f and.w r7, r7, #31 - 8e6a: f810 8c04 ldrb.w r8, [r0, #-4] - 8e6e: f008 0b1f and.w fp, r8, #31 - 8e72: fb09 f90b mul.w r9, r9, fp - 8e76: fb0c 9707 mla r7, ip, r7, r9 - 8e7a: eb07 2c07 add.w ip, r7, r7, lsl #8 - 8e7e: eb07 17cc add.w r7, r7, ip, lsl #7 - 8e82: 0dff lsrs r7, r7, #23 - 8e84: f367 0804 bfi r8, r7, #0, #5 - 8e88: f800 8c04 strb.w r8, [r0, #-4] - 8e8c: f830 7c04 ldrh.w r7, [r0, #-4] - 8e90: f366 174a bfi r7, r6, #5, #6 - 8e94: f820 7c04 strh.w r7, [r0, #-4] - 8e98: 0a3f lsrs r7, r7, #8 - 8e9a: f365 07c7 bfi r7, r5, #3, #5 - 8e9e: f800 7c03 strb.w r7, [r0, #-3] + 88ba: f814 7c04 ldrb.w r7, [r4, #-4] + 88be: f007 071f and.w r7, r7, #31 + 88c2: f810 8c04 ldrb.w r8, [r0, #-4] + 88c6: f008 0b1f and.w fp, r8, #31 + 88ca: fb09 f90b mul.w r9, r9, fp + 88ce: fb0c 9707 mla r7, ip, r7, r9 + 88d2: eb07 2c07 add.w ip, r7, r7, lsl #8 + 88d6: eb07 17cc add.w r7, r7, ip, lsl #7 + 88da: 0dff lsrs r7, r7, #23 + 88dc: f367 0804 bfi r8, r7, #0, #5 + 88e0: f800 8c04 strb.w r8, [r0, #-4] + 88e4: f830 7c04 ldrh.w r7, [r0, #-4] + 88e8: f366 174a bfi r7, r6, #5, #6 + 88ec: f820 7c04 strh.w r7, [r0, #-4] + 88f0: 0a3f lsrs r7, r7, #8 + 88f2: f365 07c7 bfi r7, r5, #3, #5 + 88f6: f800 7c03 strb.w r7, [r0, #-3] MAP_NORMAL_MASK_PX(x + 2) - 8ea2: f812 cc02 ldrb.w ip, [r2, #-2] - 8ea6: f1bc 0f00 cmp.w ip, #0 - 8eaa: d047 beq.n 8f3c <_lv_blend_map+0x714> - 8eac: f1bc 0fff cmp.w ip, #255 ; 0xff - 8eb0: f000 8094 beq.w 8fdc <_lv_blend_map+0x7b4> + 88fa: f812 cc02 ldrb.w ip, [r2, #-2] + 88fe: f1bc 0f00 cmp.w ip, #0 + 8902: d047 beq.n 8994 <_lv_blend_map+0x714> + 8904: f1bc 0fff cmp.w ip, #255 ; 0xff + 8908: f000 8094 beq.w 8a34 <_lv_blend_map+0x7b4> LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 8eb4: f1cc 09ff rsb r9, ip, #255 ; 0xff - 8eb8: f814 5c01 ldrb.w r5, [r4, #-1] - 8ebc: 08ed lsrs r5, r5, #3 - 8ebe: f810 6c01 ldrb.w r6, [r0, #-1] - 8ec2: 08f6 lsrs r6, r6, #3 - 8ec4: fb09 f606 mul.w r6, r9, r6 - 8ec8: fb0c 6505 mla r5, ip, r5, r6 - 8ecc: eb05 2605 add.w r6, r5, r5, lsl #8 - 8ed0: eb05 15c6 add.w r5, r5, r6, lsl #7 - 8ed4: f3c5 55c4 ubfx r5, r5, #23, #5 + 890c: f1cc 09ff rsb r9, ip, #255 ; 0xff + 8910: f814 5c01 ldrb.w r5, [r4, #-1] + 8914: 08ed lsrs r5, r5, #3 + 8916: f810 6c01 ldrb.w r6, [r0, #-1] + 891a: 08f6 lsrs r6, r6, #3 + 891c: fb09 f606 mul.w r6, r9, r6 + 8920: fb0c 6505 mla r5, ip, r5, r6 + 8924: eb05 2605 add.w r6, r5, r5, lsl #8 + 8928: eb05 15c6 add.w r5, r5, r6, lsl #7 + 892c: f3c5 55c4 ubfx r5, r5, #23, #5 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 8ed8: f834 6c02 ldrh.w r6, [r4, #-2] - 8edc: f3c6 1645 ubfx r6, r6, #5, #6 - 8ee0: f830 7c02 ldrh.w r7, [r0, #-2] - 8ee4: f3c7 1745 ubfx r7, r7, #5, #6 - 8ee8: fb09 f707 mul.w r7, r9, r7 - 8eec: fb0c 7606 mla r6, ip, r6, r7 - 8ef0: eb06 2706 add.w r7, r6, r6, lsl #8 - 8ef4: eb06 16c7 add.w r6, r6, r7, lsl #7 - 8ef8: f3c6 56c5 ubfx r6, r6, #23, #6 + 8930: f834 6c02 ldrh.w r6, [r4, #-2] + 8934: f3c6 1645 ubfx r6, r6, #5, #6 + 8938: f830 7c02 ldrh.w r7, [r0, #-2] + 893c: f3c7 1745 ubfx r7, r7, #5, #6 + 8940: fb09 f707 mul.w r7, r9, r7 + 8944: fb0c 7606 mla r6, ip, r6, r7 + 8948: eb06 2706 add.w r7, r6, r6, lsl #8 + 894c: eb06 16c7 add.w r6, r6, r7, lsl #7 + 8950: f3c6 56c5 ubfx r6, r6, #23, #6 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 8efc: f814 7c02 ldrb.w r7, [r4, #-2] - 8f00: f007 071f and.w r7, r7, #31 - 8f04: f810 8c02 ldrb.w r8, [r0, #-2] - 8f08: f008 0b1f and.w fp, r8, #31 - 8f0c: fb09 f90b mul.w r9, r9, fp - 8f10: fb0c 9707 mla r7, ip, r7, r9 - 8f14: eb07 2c07 add.w ip, r7, r7, lsl #8 - 8f18: eb07 17cc add.w r7, r7, ip, lsl #7 - 8f1c: 0dff lsrs r7, r7, #23 - 8f1e: f367 0804 bfi r8, r7, #0, #5 - 8f22: f800 8c02 strb.w r8, [r0, #-2] - 8f26: f830 7c02 ldrh.w r7, [r0, #-2] - 8f2a: f366 174a bfi r7, r6, #5, #6 - 8f2e: f820 7c02 strh.w r7, [r0, #-2] - 8f32: 0a3f lsrs r7, r7, #8 - 8f34: f365 07c7 bfi r7, r5, #3, #5 - 8f38: f800 7c01 strb.w r7, [r0, #-1] + 8954: f814 7c02 ldrb.w r7, [r4, #-2] + 8958: f007 071f and.w r7, r7, #31 + 895c: f810 8c02 ldrb.w r8, [r0, #-2] + 8960: f008 0b1f and.w fp, r8, #31 + 8964: fb09 f90b mul.w r9, r9, fp + 8968: fb0c 9707 mla r7, ip, r7, r9 + 896c: eb07 2c07 add.w ip, r7, r7, lsl #8 + 8970: eb07 17cc add.w r7, r7, ip, lsl #7 + 8974: 0dff lsrs r7, r7, #23 + 8976: f367 0804 bfi r8, r7, #0, #5 + 897a: f800 8c02 strb.w r8, [r0, #-2] + 897e: f830 7c02 ldrh.w r7, [r0, #-2] + 8982: f366 174a bfi r7, r6, #5, #6 + 8986: f820 7c02 strh.w r7, [r0, #-2] + 898a: 0a3f lsrs r7, r7, #8 + 898c: f365 07c7 bfi r7, r5, #3, #5 + 8990: f800 7c01 strb.w r7, [r0, #-1] MAP_NORMAL_MASK_PX(x + 3) - 8f3c: f812 8c01 ldrb.w r8, [r2, #-1] - 8f40: f1b8 0f00 cmp.w r8, #0 - 8f44: f43f af04 beq.w 8d50 <_lv_blend_map+0x528> - 8f48: f1b8 0fff cmp.w r8, #255 ; 0xff - 8f4c: d04b beq.n 8fe6 <_lv_blend_map+0x7be> + 8994: f812 8c01 ldrb.w r8, [r2, #-1] + 8998: f1b8 0f00 cmp.w r8, #0 + 899c: f43f af04 beq.w 87a8 <_lv_blend_map+0x528> + 89a0: f1b8 0fff cmp.w r8, #255 ; 0xff + 89a4: d04b beq.n 8a3e <_lv_blend_map+0x7be> LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 8f4e: f1c8 09ff rsb r9, r8, #255 ; 0xff - 8f52: 7865 ldrb r5, [r4, #1] - 8f54: 08ed lsrs r5, r5, #3 - 8f56: 7846 ldrb r6, [r0, #1] - 8f58: 08f6 lsrs r6, r6, #3 - 8f5a: fb09 f606 mul.w r6, r9, r6 - 8f5e: fb08 6505 mla r5, r8, r5, r6 - 8f62: eb05 2605 add.w r6, r5, r5, lsl #8 - 8f66: eb05 15c6 add.w r5, r5, r6, lsl #7 - 8f6a: f3c5 55c4 ubfx r5, r5, #23, #5 + 89a6: f1c8 09ff rsb r9, r8, #255 ; 0xff + 89aa: 7865 ldrb r5, [r4, #1] + 89ac: 08ed lsrs r5, r5, #3 + 89ae: 7846 ldrb r6, [r0, #1] + 89b0: 08f6 lsrs r6, r6, #3 + 89b2: fb09 f606 mul.w r6, r9, r6 + 89b6: fb08 6505 mla r5, r8, r5, r6 + 89ba: eb05 2605 add.w r6, r5, r5, lsl #8 + 89be: eb05 15c6 add.w r5, r5, r6, lsl #7 + 89c2: f3c5 55c4 ubfx r5, r5, #23, #5 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 8f6e: 8826 ldrh r6, [r4, #0] - 8f70: f3c6 1645 ubfx r6, r6, #5, #6 - 8f74: 8807 ldrh r7, [r0, #0] - 8f76: f3c7 1745 ubfx r7, r7, #5, #6 - 8f7a: fb09 f707 mul.w r7, r9, r7 - 8f7e: fb08 7606 mla r6, r8, r6, r7 - 8f82: eb06 2706 add.w r7, r6, r6, lsl #8 - 8f86: eb06 16c7 add.w r6, r6, r7, lsl #7 - 8f8a: f3c6 56c5 ubfx r6, r6, #23, #6 + 89c6: 8826 ldrh r6, [r4, #0] + 89c8: f3c6 1645 ubfx r6, r6, #5, #6 + 89cc: 8807 ldrh r7, [r0, #0] + 89ce: f3c7 1745 ubfx r7, r7, #5, #6 + 89d2: fb09 f707 mul.w r7, r9, r7 + 89d6: fb08 7606 mla r6, r8, r6, r7 + 89da: eb06 2706 add.w r7, r6, r6, lsl #8 + 89de: eb06 16c7 add.w r6, r6, r7, lsl #7 + 89e2: f3c6 56c5 ubfx r6, r6, #23, #6 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 8f8e: 7827 ldrb r7, [r4, #0] - 8f90: f007 071f and.w r7, r7, #31 - 8f94: f890 c000 ldrb.w ip, [r0] - 8f98: f00c 0a1f and.w sl, ip, #31 - 8f9c: fb09 f90a mul.w r9, r9, sl - 8fa0: fb08 9707 mla r7, r8, r7, r9 - 8fa4: eb07 2807 add.w r8, r7, r7, lsl #8 - 8fa8: eb07 17c8 add.w r7, r7, r8, lsl #7 - 8fac: 0dff lsrs r7, r7, #23 - 8fae: f367 0c04 bfi ip, r7, #0, #5 - 8fb2: f880 c000 strb.w ip, [r0] - 8fb6: 8807 ldrh r7, [r0, #0] - 8fb8: f366 174a bfi r7, r6, #5, #6 - 8fbc: 8007 strh r7, [r0, #0] - 8fbe: 0a3f lsrs r7, r7, #8 - 8fc0: f365 07c7 bfi r7, r5, #3, #5 - 8fc4: 7047 strb r7, [r0, #1] - 8fc6: e6c3 b.n 8d50 <_lv_blend_map+0x528> + 89e6: 7827 ldrb r7, [r4, #0] + 89e8: f007 071f and.w r7, r7, #31 + 89ec: f890 c000 ldrb.w ip, [r0] + 89f0: f00c 0a1f and.w sl, ip, #31 + 89f4: fb09 f90a mul.w r9, r9, sl + 89f8: fb08 9707 mla r7, r8, r7, r9 + 89fc: eb07 2807 add.w r8, r7, r7, lsl #8 + 8a00: eb07 17c8 add.w r7, r7, r8, lsl #7 + 8a04: 0dff lsrs r7, r7, #23 + 8a06: f367 0c04 bfi ip, r7, #0, #5 + 8a0a: f880 c000 strb.w ip, [r0] + 8a0e: 8807 ldrh r7, [r0, #0] + 8a10: f366 174a bfi r7, r6, #5, #6 + 8a14: 8007 strh r7, [r0, #0] + 8a16: 0a3f lsrs r7, r7, #8 + 8a18: f365 07c7 bfi r7, r5, #3, #5 + 8a1c: 7047 strb r7, [r0, #1] + 8a1e: e6c3 b.n 87a8 <_lv_blend_map+0x528> MAP_NORMAL_MASK_PX(x) - 8fc8: f834 5c06 ldrh.w r5, [r4, #-6] - 8fcc: f820 5c06 strh.w r5, [r0, #-6] - 8fd0: e71a b.n 8e08 <_lv_blend_map+0x5e0> + 8a20: f834 5c06 ldrh.w r5, [r4, #-6] + 8a24: f820 5c06 strh.w r5, [r0, #-6] + 8a28: e71a b.n 8860 <_lv_blend_map+0x5e0> MAP_NORMAL_MASK_PX(x + 1) - 8fd2: f834 5c04 ldrh.w r5, [r4, #-4] - 8fd6: f820 5c04 strh.w r5, [r0, #-4] - 8fda: e762 b.n 8ea2 <_lv_blend_map+0x67a> + 8a2a: f834 5c04 ldrh.w r5, [r4, #-4] + 8a2e: f820 5c04 strh.w r5, [r0, #-4] + 8a32: e762 b.n 88fa <_lv_blend_map+0x67a> MAP_NORMAL_MASK_PX(x + 2) - 8fdc: f834 5c02 ldrh.w r5, [r4, #-2] - 8fe0: f820 5c02 strh.w r5, [r0, #-2] - 8fe4: e7aa b.n 8f3c <_lv_blend_map+0x714> + 8a34: f834 5c02 ldrh.w r5, [r4, #-2] + 8a38: f820 5c02 strh.w r5, [r0, #-2] + 8a3c: e7aa b.n 8994 <_lv_blend_map+0x714> MAP_NORMAL_MASK_PX(x + 3) - 8fe6: 8825 ldrh r5, [r4, #0] - 8fe8: 8005 strh r5, [r0, #0] - 8fea: e6b1 b.n 8d50 <_lv_blend_map+0x528> - 8fec: 9d0b ldr r5, [sp, #44] ; 0x2c + 8a3e: 8825 ldrh r5, [r4, #0] + 8a40: 8005 strh r5, [r0, #0] + 8a42: e6b1 b.n 87a8 <_lv_blend_map+0x528> + 8a44: 9d0b ldr r5, [sp, #44] ; 0x2c for(; x < draw_area_w ; x++) { - 8fee: 428d cmp r5, r1 - 8ff0: f340 8194 ble.w 931c <_lv_blend_map+0xaf4> - 8ff4: 1e56 subs r6, r2, #1 - 8ff6: ea4f 0c41 mov.w ip, r1, lsl #1 - 8ffa: 9b06 ldr r3, [sp, #24] - 8ffc: eb03 080c add.w r8, r3, ip - 9000: 9b05 ldr r3, [sp, #20] - 9002: 449c add ip, r3 - 9004: e00b b.n 901e <_lv_blend_map+0x7f6> + 8a46: 428d cmp r5, r1 + 8a48: f340 8194 ble.w 8d74 <_lv_blend_map+0xaf4> + 8a4c: 1e56 subs r6, r2, #1 + 8a4e: ea4f 0c41 mov.w ip, r1, lsl #1 + 8a52: 9b06 ldr r3, [sp, #24] + 8a54: eb03 080c add.w r8, r3, ip + 8a58: 9b05 ldr r3, [sp, #20] + 8a5a: 449c add ip, r3 + 8a5c: e00b b.n 8a76 <_lv_blend_map+0x7f6> MAP_NORMAL_MASK_PX(x) - 9006: f8b8 3000 ldrh.w r3, [r8] - 900a: f8ac 3000 strh.w r3, [ip] + 8a5e: f8b8 3000 ldrh.w r3, [r8] + 8a62: f8ac 3000 strh.w r3, [ip] for(; x < draw_area_w ; x++) { - 900e: 3101 adds r1, #1 - 9010: f108 0802 add.w r8, r8, #2 - 9014: f10c 0c02 add.w ip, ip, #2 - 9018: 428d cmp r5, r1 - 901a: f340 817f ble.w 931c <_lv_blend_map+0xaf4> + 8a66: 3101 adds r1, #1 + 8a68: f108 0802 add.w r8, r8, #2 + 8a6c: f10c 0c02 add.w ip, ip, #2 + 8a70: 428d cmp r5, r1 + 8a72: f340 817f ble.w 8d74 <_lv_blend_map+0xaf4> MAP_NORMAL_MASK_PX(x) - 901e: f816 4f01 ldrb.w r4, [r6, #1]! - 9022: 2c00 cmp r4, #0 - 9024: d0f3 beq.n 900e <_lv_blend_map+0x7e6> - 9026: 2cff cmp r4, #255 ; 0xff - 9028: d0ed beq.n 9006 <_lv_blend_map+0x7de> + 8a76: f816 4f01 ldrb.w r4, [r6, #1]! + 8a7a: 2c00 cmp r4, #0 + 8a7c: d0f3 beq.n 8a66 <_lv_blend_map+0x7e6> + 8a7e: 2cff cmp r4, #255 ; 0xff + 8a80: d0ed beq.n 8a5e <_lv_blend_map+0x7de> LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 902a: f1c4 07ff rsb r7, r4, #255 ; 0xff - 902e: f898 3001 ldrb.w r3, [r8, #1] - 9032: 08db lsrs r3, r3, #3 - 9034: f89c 2001 ldrb.w r2, [ip, #1] - 9038: 08d2 lsrs r2, r2, #3 - 903a: fb07 f202 mul.w r2, r7, r2 - 903e: fb04 2303 mla r3, r4, r3, r2 - 9042: eb03 2203 add.w r2, r3, r3, lsl #8 - 9046: eb03 13c2 add.w r3, r3, r2, lsl #7 - 904a: f3c3 53c4 ubfx r3, r3, #23, #5 + 8a82: f1c4 07ff rsb r7, r4, #255 ; 0xff + 8a86: f898 3001 ldrb.w r3, [r8, #1] + 8a8a: 08db lsrs r3, r3, #3 + 8a8c: f89c 2001 ldrb.w r2, [ip, #1] + 8a90: 08d2 lsrs r2, r2, #3 + 8a92: fb07 f202 mul.w r2, r7, r2 + 8a96: fb04 2303 mla r3, r4, r3, r2 + 8a9a: eb03 2203 add.w r2, r3, r3, lsl #8 + 8a9e: eb03 13c2 add.w r3, r3, r2, lsl #7 + 8aa2: f3c3 53c4 ubfx r3, r3, #23, #5 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 904e: f8b8 0000 ldrh.w r0, [r8] - 9052: f3c0 1045 ubfx r0, r0, #5, #6 - 9056: f8bc 2000 ldrh.w r2, [ip] - 905a: f3c2 1245 ubfx r2, r2, #5, #6 - 905e: fb07 f202 mul.w r2, r7, r2 - 9062: fb04 2000 mla r0, r4, r0, r2 - 9066: eb00 2200 add.w r2, r0, r0, lsl #8 - 906a: eb00 10c2 add.w r0, r0, r2, lsl #7 - 906e: f3c0 50c5 ubfx r0, r0, #23, #6 + 8aa6: f8b8 0000 ldrh.w r0, [r8] + 8aaa: f3c0 1045 ubfx r0, r0, #5, #6 + 8aae: f8bc 2000 ldrh.w r2, [ip] + 8ab2: f3c2 1245 ubfx r2, r2, #5, #6 + 8ab6: fb07 f202 mul.w r2, r7, r2 + 8aba: fb04 2000 mla r0, r4, r0, r2 + 8abe: eb00 2200 add.w r2, r0, r0, lsl #8 + 8ac2: eb00 10c2 add.w r0, r0, r2, lsl #7 + 8ac6: f3c0 50c5 ubfx r0, r0, #23, #6 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 9072: f898 2000 ldrb.w r2, [r8] - 9076: f002 021f and.w r2, r2, #31 - 907a: f89c e000 ldrb.w lr, [ip] - 907e: f00e 091f and.w r9, lr, #31 - 9082: fb07 f709 mul.w r7, r7, r9 - 9086: fb04 7202 mla r2, r4, r2, r7 - 908a: eb02 2402 add.w r4, r2, r2, lsl #8 - 908e: eb02 12c4 add.w r2, r2, r4, lsl #7 - 9092: 0dd2 lsrs r2, r2, #23 - 9094: 4674 mov r4, lr - 9096: f362 0404 bfi r4, r2, #0, #5 - 909a: f88c 4000 strb.w r4, [ip] - 909e: f8bc 2000 ldrh.w r2, [ip] - 90a2: f360 124a bfi r2, r0, #5, #6 - 90a6: f8ac 2000 strh.w r2, [ip] - 90aa: 0a12 lsrs r2, r2, #8 - 90ac: f363 02c7 bfi r2, r3, #3, #5 - 90b0: f88c 2001 strb.w r2, [ip, #1] - 90b4: e7ab b.n 900e <_lv_blend_map+0x7e6> - 90b6: 3702 adds r7, #2 - 90b8: 3602 adds r6, #2 + 8aca: f898 2000 ldrb.w r2, [r8] + 8ace: f002 021f and.w r2, r2, #31 + 8ad2: f89c e000 ldrb.w lr, [ip] + 8ad6: f00e 091f and.w r9, lr, #31 + 8ada: fb07 f709 mul.w r7, r7, r9 + 8ade: fb04 7202 mla r2, r4, r2, r7 + 8ae2: eb02 2402 add.w r4, r2, r2, lsl #8 + 8ae6: eb02 12c4 add.w r2, r2, r4, lsl #7 + 8aea: 0dd2 lsrs r2, r2, #23 + 8aec: 4674 mov r4, lr + 8aee: f362 0404 bfi r4, r2, #0, #5 + 8af2: f88c 4000 strb.w r4, [ip] + 8af6: f8bc 2000 ldrh.w r2, [ip] + 8afa: f360 124a bfi r2, r0, #5, #6 + 8afe: f8ac 2000 strh.w r2, [ip] + 8b02: 0a12 lsrs r2, r2, #8 + 8b04: f363 02c7 bfi r2, r3, #3, #5 + 8b08: f88c 2001 strb.w r2, [ip, #1] + 8b0c: e7ab b.n 8a66 <_lv_blend_map+0x7e6> + 8b0e: 3702 adds r7, #2 + 8b10: 3602 adds r6, #2 for(x = 0; x < draw_area_w; x++) { - 90ba: 4547 cmp r7, r8 - 90bc: d045 beq.n 914a <_lv_blend_map+0x922> + 8b12: 4547 cmp r7, r8 + 8b14: d045 beq.n 8ba2 <_lv_blend_map+0x922> if(mask[x]) { - 90be: f81c 1f01 ldrb.w r1, [ip, #1]! - 90c2: 2900 cmp r1, #0 - 90c4: d0f7 beq.n 90b6 <_lv_blend_map+0x88e> + 8b16: f81c 1f01 ldrb.w r1, [ip, #1]! + 8b1a: 2900 cmp r1, #0 + 8b1c: d0f7 beq.n 8b0e <_lv_blend_map+0x88e> lv_opa_t opa_tmp = mask[x] >= LV_OPA_MAX ? opa : ((opa * mask[x]) >> 8); - 90c6: 29f9 cmp r1, #249 ; 0xf9 - 90c8: bf9a itte ls - 90ca: fb01 f10a mulls.w r1, r1, sl - 90ce: f3c1 2407 ubfxls r4, r1, #8, #8 - 90d2: 9c07 ldrhi r4, [sp, #28] + 8b1e: 29f9 cmp r1, #249 ; 0xf9 + 8b20: bf9a itte ls + 8b22: fb01 f10a mulls.w r1, r1, sl + 8b26: f3c1 2407 ubfxls r4, r1, #8, #8 + 8b2a: 9c07 ldrhi r4, [sp, #28] LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 90d4: f1c4 05ff rsb r5, r4, #255 ; 0xff - 90d8: 787b ldrb r3, [r7, #1] - 90da: 08db lsrs r3, r3, #3 - 90dc: 7872 ldrb r2, [r6, #1] - 90de: 08d2 lsrs r2, r2, #3 - 90e0: fb05 f202 mul.w r2, r5, r2 - 90e4: fb04 2303 mla r3, r4, r3, r2 - 90e8: eb03 2203 add.w r2, r3, r3, lsl #8 - 90ec: eb03 13c2 add.w r3, r3, r2, lsl #7 - 90f0: f3c3 53c4 ubfx r3, r3, #23, #5 + 8b2c: f1c4 05ff rsb r5, r4, #255 ; 0xff + 8b30: 787b ldrb r3, [r7, #1] + 8b32: 08db lsrs r3, r3, #3 + 8b34: 7872 ldrb r2, [r6, #1] + 8b36: 08d2 lsrs r2, r2, #3 + 8b38: fb05 f202 mul.w r2, r5, r2 + 8b3c: fb04 2303 mla r3, r4, r3, r2 + 8b40: eb03 2203 add.w r2, r3, r3, lsl #8 + 8b44: eb03 13c2 add.w r3, r3, r2, lsl #7 + 8b48: f3c3 53c4 ubfx r3, r3, #23, #5 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 90f4: 883a ldrh r2, [r7, #0] - 90f6: f3c2 1245 ubfx r2, r2, #5, #6 - 90fa: 8831 ldrh r1, [r6, #0] - 90fc: f3c1 1145 ubfx r1, r1, #5, #6 - 9100: fb05 f101 mul.w r1, r5, r1 - 9104: fb04 1202 mla r2, r4, r2, r1 - 9108: eb02 2102 add.w r1, r2, r2, lsl #8 - 910c: eb02 12c1 add.w r2, r2, r1, lsl #7 - 9110: f3c2 52c5 ubfx r2, r2, #23, #6 + 8b4c: 883a ldrh r2, [r7, #0] + 8b4e: f3c2 1245 ubfx r2, r2, #5, #6 + 8b52: 8831 ldrh r1, [r6, #0] + 8b54: f3c1 1145 ubfx r1, r1, #5, #6 + 8b58: fb05 f101 mul.w r1, r5, r1 + 8b5c: fb04 1202 mla r2, r4, r2, r1 + 8b60: eb02 2102 add.w r1, r2, r2, lsl #8 + 8b64: eb02 12c1 add.w r2, r2, r1, lsl #7 + 8b68: f3c2 52c5 ubfx r2, r2, #23, #6 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 9114: 7839 ldrb r1, [r7, #0] - 9116: f001 011f and.w r1, r1, #31 - 911a: 7830 ldrb r0, [r6, #0] - 911c: f000 0e1f and.w lr, r0, #31 - 9120: fb05 f50e mul.w r5, r5, lr - 9124: fb04 5101 mla r1, r4, r1, r5 - 9128: eb01 2401 add.w r4, r1, r1, lsl #8 - 912c: eb01 11c4 add.w r1, r1, r4, lsl #7 - 9130: 0dc9 lsrs r1, r1, #23 + 8b6c: 7839 ldrb r1, [r7, #0] + 8b6e: f001 011f and.w r1, r1, #31 + 8b72: 7830 ldrb r0, [r6, #0] + 8b74: f000 0e1f and.w lr, r0, #31 + 8b78: fb05 f50e mul.w r5, r5, lr + 8b7c: fb04 5101 mla r1, r4, r1, r5 + 8b80: eb01 2401 add.w r4, r1, r1, lsl #8 + 8b84: eb01 11c4 add.w r1, r1, r4, lsl #7 + 8b88: 0dc9 lsrs r1, r1, #23 disp_buf_first[x] = lv_color_mix(map_buf_first[x], disp_buf_first[x], opa_tmp); - 9132: f361 0004 bfi r0, r1, #0, #5 - 9136: 7030 strb r0, [r6, #0] - 9138: 8831 ldrh r1, [r6, #0] - 913a: f362 114a bfi r1, r2, #5, #6 - 913e: 8031 strh r1, [r6, #0] - 9140: 0a09 lsrs r1, r1, #8 - 9142: f363 01c7 bfi r1, r3, #3, #5 - 9146: 7071 strb r1, [r6, #1] - 9148: e7b5 b.n 90b6 <_lv_blend_map+0x88e> + 8b8a: f361 0004 bfi r0, r1, #0, #5 + 8b8e: 7030 strb r0, [r6, #0] + 8b90: 8831 ldrh r1, [r6, #0] + 8b92: f362 114a bfi r1, r2, #5, #6 + 8b96: 8031 strh r1, [r6, #0] + 8b98: 0a09 lsrs r1, r1, #8 + 8b9a: f363 01c7 bfi r1, r3, #3, #5 + 8b9e: 7071 strb r1, [r6, #1] + 8ba0: e7b5 b.n 8b0e <_lv_blend_map+0x88e> disp_buf_first += disp_w; - 914a: 9b05 ldr r3, [sp, #20] - 914c: 9a0a ldr r2, [sp, #40] ; 0x28 - 914e: 4413 add r3, r2 - 9150: 9305 str r3, [sp, #20] + 8ba2: 9b05 ldr r3, [sp, #20] + 8ba4: 9a0a ldr r2, [sp, #40] ; 0x28 + 8ba6: 4413 add r3, r2 + 8ba8: 9305 str r3, [sp, #20] map_buf_first += map_w; - 9152: 9b0b ldr r3, [sp, #44] ; 0x2c - 9154: 4499 add r9, r3 + 8baa: 9b0b ldr r3, [sp, #44] ; 0x2c + 8bac: 4499 add r9, r3 for(y = 0; y < draw_area_h; y++) { - 9156: f10b 0b01 add.w fp, fp, #1 - 915a: 9b04 ldr r3, [sp, #16] - 915c: 9a09 ldr r2, [sp, #36] ; 0x24 - 915e: 4413 add r3, r2 - 9160: 9304 str r3, [sp, #16] - 9162: 9b08 ldr r3, [sp, #32] - 9164: 455b cmp r3, fp - 9166: f43f ab6c beq.w 8842 <_lv_blend_map+0x1a> + 8bae: f10b 0b01 add.w fp, fp, #1 + 8bb2: 9b04 ldr r3, [sp, #16] + 8bb4: 9a09 ldr r2, [sp, #36] ; 0x24 + 8bb6: 4413 add r3, r2 + 8bb8: 9304 str r3, [sp, #16] + 8bba: 9b08 ldr r3, [sp, #32] + 8bbc: 455b cmp r3, fp + 8bbe: f43f ab6c beq.w 829a <_lv_blend_map+0x1a> for(x = 0; x < draw_area_w; x++) { - 916a: 9b0c ldr r3, [sp, #48] ; 0x30 - 916c: 2b00 cmp r3, #0 - 916e: ddec ble.n 914a <_lv_blend_map+0x922> - 9170: 464f mov r7, r9 - 9172: 9e05 ldr r6, [sp, #20] - 9174: 9b0d ldr r3, [sp, #52] ; 0x34 - 9176: eb09 0803 add.w r8, r9, r3 - 917a: f8dd c010 ldr.w ip, [sp, #16] - 917e: e79e b.n 90be <_lv_blend_map+0x896> + 8bc2: 9b0c ldr r3, [sp, #48] ; 0x30 + 8bc4: 2b00 cmp r3, #0 + 8bc6: ddec ble.n 8ba2 <_lv_blend_map+0x922> + 8bc8: 464f mov r7, r9 + 8bca: 9e05 ldr r6, [sp, #20] + 8bcc: 9b0d ldr r3, [sp, #52] ; 0x34 + 8bce: eb09 0803 add.w r8, r9, r3 + 8bd2: f8dd c010 ldr.w ip, [sp, #16] + 8bd6: e79e b.n 8b16 <_lv_blend_map+0x896> switch(mode) { - 9180: 2d01 cmp r5, #1 - 9182: d049 beq.n 9218 <_lv_blend_map+0x9f0> - 9184: 2d02 cmp r5, #2 - 9186: d13c bne.n 9202 <_lv_blend_map+0x9da> + 8bd8: 2d01 cmp r5, #1 + 8bda: d049 beq.n 8c70 <_lv_blend_map+0x9f0> + 8bdc: 2d02 cmp r5, #2 + 8bde: d13c bne.n 8c5a <_lv_blend_map+0x9da> blend_fp = color_blend_true_color_subtractive; - 9188: f8df 81e0 ldr.w r8, [pc, #480] ; 936c <_lv_blend_map+0xb44> - 918c: f9b6 3010 ldrsh.w r3, [r6, #16] - 9190: 9309 str r3, [sp, #36] ; 0x24 - 9192: 8ab0 ldrh r0, [r6, #20] - 9194: 3001 adds r0, #1 - 9196: 1ac0 subs r0, r0, r3 - 9198: b200 sxth r0, r0 - 919a: f9b7 2000 ldrsh.w r2, [r7] - 919e: 88bb ldrh r3, [r7, #4] - 91a0: 3301 adds r3, #1 - 91a2: 1a9b subs r3, r3, r2 - 91a4: b21d sxth r5, r3 + 8be0: f8df 81e0 ldr.w r8, [pc, #480] ; 8dc4 <_lv_blend_map+0xb44> + 8be4: f9b6 3010 ldrsh.w r3, [r6, #16] + 8be8: 9309 str r3, [sp, #36] ; 0x24 + 8bea: 8ab0 ldrh r0, [r6, #20] + 8bec: 3001 adds r0, #1 + 8bee: 1ac0 subs r0, r0, r3 + 8bf0: b200 sxth r0, r0 + 8bf2: f9b7 2000 ldrsh.w r2, [r7] + 8bf6: 88bb ldrh r3, [r7, #4] + 8bf8: 3301 adds r3, #1 + 8bfa: 1a9b subs r3, r3, r2 + 8bfc: b21d sxth r5, r3 lv_color_t * disp_buf_tmp = disp_buf + disp_w * draw_area->y1; - 91a6: 46f1 mov r9, lr - 91a8: fb0e fb00 mul.w fp, lr, r0 - 91ac: 9b05 ldr r3, [sp, #20] - 91ae: eb03 0b4b add.w fp, r3, fp, lsl #1 + 8bfe: 46f1 mov r9, lr + 8c00: fb0e fb00 mul.w fp, lr, r0 + 8c04: 9b05 ldr r3, [sp, #20] + 8c06: eb03 0b4b add.w fp, r3, fp, lsl #1 const lv_color_t * map_buf_tmp = map_buf + map_w * (draw_area->y1 - (map_area->y1 - disp_area->y1)); - 91b2: f9b7 3002 ldrsh.w r3, [r7, #2] - 91b6: f9b6 6012 ldrsh.w r6, [r6, #18] - 91ba: 1b9f subs r7, r3, r6 - 91bc: ebae 0707 sub.w r7, lr, r7 - 91c0: fb05 f707 mul.w r7, r5, r7 - 91c4: 9b07 ldr r3, [sp, #28] - 91c6: eb03 0747 add.w r7, r3, r7, lsl #1 + 8c0a: f9b7 3002 ldrsh.w r3, [r7, #2] + 8c0e: f9b6 6012 ldrsh.w r6, [r6, #18] + 8c12: 1b9f subs r7, r3, r6 + 8c14: ebae 0707 sub.w r7, lr, r7 + 8c18: fb05 f707 mul.w r7, r5, r7 + 8c1c: 9b07 ldr r3, [sp, #28] + 8c1e: eb03 0747 add.w r7, r3, r7, lsl #1 if(mask_res == LV_DRAW_MASK_RES_FULL_COVER) { - 91ca: 2c01 cmp r4, #1 - 91cc: d027 beq.n 921e <_lv_blend_map+0x9f6> + 8c22: 2c01 cmp r4, #1 + 8c24: d027 beq.n 8c76 <_lv_blend_map+0x9f6> const lv_opa_t * mask_tmp = mask - draw_area->x1; - 91ce: 9b04 ldr r3, [sp, #16] - 91d0: eba3 030c sub.w r3, r3, ip - 91d4: 461a mov r2, r3 + 8c26: 9b04 ldr r3, [sp, #16] + 8c28: eba3 030c sub.w r3, r3, ip + 8c2c: 461a mov r2, r3 map_buf_tmp -= draw_area->x1; - 91d6: eba7 034c sub.w r3, r7, ip, lsl #1 - 91da: 9304 str r3, [sp, #16] + 8c2e: eba7 034c sub.w r3, r7, ip, lsl #1 + 8c32: 9304 str r3, [sp, #16] for(y = draw_area->y1; y <= draw_area->y2; y++) { - 91dc: 9b08 ldr r3, [sp, #32] - 91de: 459e cmp lr, r3 - 91e0: f73f ab2f bgt.w 8842 <_lv_blend_map+0x1a> + 8c34: 9b08 ldr r3, [sp, #32] + 8c36: 459e cmp lr, r3 + 8c38: f73f ab2f bgt.w 829a <_lv_blend_map+0x1a> disp_buf_tmp += disp_w; - 91e4: 0043 lsls r3, r0, #1 - 91e6: 9307 str r3, [sp, #28] + 8c3c: 0043 lsls r3, r0, #1 + 8c3e: 9307 str r3, [sp, #28] map_buf_tmp += map_w; - 91e8: 006b lsls r3, r5, #1 - 91ea: 9308 str r3, [sp, #32] + 8c40: 006b lsls r3, r5, #1 + 8c42: 9308 str r3, [sp, #32] lv_opa_t opa_tmp = mask_tmp[x] >= LV_OPA_MAX ? opa : ((opa * mask_tmp[x]) >> 8); - 91ec: f8cd a014 str.w sl, [sp, #20] - 91f0: 1c4b adds r3, r1, #1 - 91f2: 9906 ldr r1, [sp, #24] - 91f4: 1a5b subs r3, r3, r1 + 8c44: f8cd a014 str.w sl, [sp, #20] + 8c48: 1c4b adds r3, r1, #1 + 8c4a: 9906 ldr r1, [sp, #24] + 8c4c: 1a5b subs r3, r3, r1 mask_tmp += draw_area_w; - 91f6: b21b sxth r3, r3 - 91f8: 9309 str r3, [sp, #36] ; 0x24 - 91fa: f8cd a018 str.w sl, [sp, #24] - 91fe: 4692 mov sl, r2 - 9200: e066 b.n 92d0 <_lv_blend_map+0xaa8> + 8c4e: b21b sxth r3, r3 + 8c50: 9309 str r3, [sp, #36] ; 0x24 + 8c52: f8cd a018 str.w sl, [sp, #24] + 8c56: 4692 mov sl, r2 + 8c58: e066 b.n 8d28 <_lv_blend_map+0xaa8> LV_LOG_WARN("fill_blended: unsupported blend mode"); - 9202: 4b56 ldr r3, [pc, #344] ; (935c <_lv_blend_map+0xb34>) - 9204: 9300 str r3, [sp, #0] - 9206: 4b56 ldr r3, [pc, #344] ; (9360 <_lv_blend_map+0xb38>) - 9208: f240 3253 movw r2, #851 ; 0x353 - 920c: 4955 ldr r1, [pc, #340] ; (9364 <_lv_blend_map+0xb3c>) - 920e: 2002 movs r0, #2 - 9210: 4c55 ldr r4, [pc, #340] ; (9368 <_lv_blend_map+0xb40>) - 9212: 47a0 blx r4 - 9214: f7ff bb15 b.w 8842 <_lv_blend_map+0x1a> + 8c5a: 4b56 ldr r3, [pc, #344] ; (8db4 <_lv_blend_map+0xb34>) + 8c5c: 9300 str r3, [sp, #0] + 8c5e: 4b56 ldr r3, [pc, #344] ; (8db8 <_lv_blend_map+0xb38>) + 8c60: f240 3253 movw r2, #851 ; 0x353 + 8c64: 4955 ldr r1, [pc, #340] ; (8dbc <_lv_blend_map+0xb3c>) + 8c66: 2002 movs r0, #2 + 8c68: 4c55 ldr r4, [pc, #340] ; (8dc0 <_lv_blend_map+0xb40>) + 8c6a: 47a0 blx r4 + 8c6c: f7ff bb15 b.w 829a <_lv_blend_map+0x1a> blend_fp = color_blend_true_color_additive; - 9218: f8df 8154 ldr.w r8, [pc, #340] ; 9370 <_lv_blend_map+0xb48> - 921c: e7b6 b.n 918c <_lv_blend_map+0x964> + 8c70: f8df 8154 ldr.w r8, [pc, #340] ; 8dc8 <_lv_blend_map+0xb48> + 8c74: e7b6 b.n 8be4 <_lv_blend_map+0x964> map_buf_tmp -= draw_area->x1; - 921e: 9b09 ldr r3, [sp, #36] ; 0x24 - 9220: 1a9b subs r3, r3, r2 - 9222: eb07 0743 add.w r7, r7, r3, lsl #1 + 8c76: 9b09 ldr r3, [sp, #36] ; 0x24 + 8c78: 1a9b subs r3, r3, r2 + 8c7a: eb07 0743 add.w r7, r7, r3, lsl #1 for(y = draw_area->y1; y <= draw_area->y2; y++) { - 9226: 9b08 ldr r3, [sp, #32] - 9228: 459e cmp lr, r3 - 922a: f73f ab0a bgt.w 8842 <_lv_blend_map+0x1a> + 8c7e: 9b08 ldr r3, [sp, #32] + 8c80: 459e cmp lr, r3 + 8c82: f73f ab0a bgt.w 829a <_lv_blend_map+0x1a> disp_buf_tmp += disp_w; - 922e: 0043 lsls r3, r0, #1 - 9230: 9304 str r3, [sp, #16] + 8c86: 0043 lsls r3, r0, #1 + 8c88: 9304 str r3, [sp, #16] map_buf_tmp += map_w; - 9232: 006b lsls r3, r5, #1 - 9234: 9305 str r3, [sp, #20] - 9236: 463b mov r3, r7 - 9238: 4647 mov r7, r8 - 923a: 4698 mov r8, r3 + 8c8a: 006b lsls r3, r5, #1 + 8c8c: 9305 str r3, [sp, #20] + 8c8e: 463b mov r3, r7 + 8c90: 4647 mov r7, r8 + 8c92: 4698 mov r8, r3 for(x = draw_area->x1; x <= draw_area->x2; x++) { - 923c: f9bd 3038 ldrsh.w r3, [sp, #56] ; 0x38 - 9240: 461c mov r4, r3 - 9242: f9bd 203c ldrsh.w r2, [sp, #60] ; 0x3c - 9246: 4293 cmp r3, r2 - 9248: dc10 bgt.n 926c <_lv_blend_map+0xa44> - 924a: 005b lsls r3, r3, #1 - 924c: eb0b 0503 add.w r5, fp, r3 - 9250: eb08 0603 add.w r6, r8, r3 + 8c94: f9bd 3038 ldrsh.w r3, [sp, #56] ; 0x38 + 8c98: 461c mov r4, r3 + 8c9a: f9bd 203c ldrsh.w r2, [sp, #60] ; 0x3c + 8c9e: 4293 cmp r3, r2 + 8ca0: dc10 bgt.n 8cc4 <_lv_blend_map+0xa44> + 8ca2: 005b lsls r3, r3, #1 + 8ca4: eb0b 0503 add.w r5, fp, r3 + 8ca8: eb08 0603 add.w r6, r8, r3 disp_buf_tmp[x] = blend_fp(map_buf_tmp[x], disp_buf_tmp[x], opa); - 9254: 4652 mov r2, sl - 9256: 8829 ldrh r1, [r5, #0] - 9258: f836 0b02 ldrh.w r0, [r6], #2 - 925c: 47b8 blx r7 - 925e: f825 0b02 strh.w r0, [r5], #2 + 8cac: 4652 mov r2, sl + 8cae: 8829 ldrh r1, [r5, #0] + 8cb0: f836 0b02 ldrh.w r0, [r6], #2 + 8cb4: 47b8 blx r7 + 8cb6: f825 0b02 strh.w r0, [r5], #2 for(x = draw_area->x1; x <= draw_area->x2; x++) { - 9262: 3401 adds r4, #1 - 9264: f9bd 303c ldrsh.w r3, [sp, #60] ; 0x3c - 9268: 429c cmp r4, r3 - 926a: ddf3 ble.n 9254 <_lv_blend_map+0xa2c> + 8cba: 3401 adds r4, #1 + 8cbc: f9bd 303c ldrsh.w r3, [sp, #60] ; 0x3c + 8cc0: 429c cmp r4, r3 + 8cc2: ddf3 ble.n 8cac <_lv_blend_map+0xa2c> disp_buf_tmp += disp_w; - 926c: 9b04 ldr r3, [sp, #16] - 926e: 449b add fp, r3 + 8cc4: 9b04 ldr r3, [sp, #16] + 8cc6: 449b add fp, r3 map_buf_tmp += map_w; - 9270: 9b05 ldr r3, [sp, #20] - 9272: 4498 add r8, r3 + 8cc8: 9b05 ldr r3, [sp, #20] + 8cca: 4498 add r8, r3 for(y = draw_area->y1; y <= draw_area->y2; y++) { - 9274: f109 0901 add.w r9, r9, #1 - 9278: f9bd 303e ldrsh.w r3, [sp, #62] ; 0x3e - 927c: 4599 cmp r9, r3 - 927e: dddd ble.n 923c <_lv_blend_map+0xa14> - 9280: f7ff badf b.w 8842 <_lv_blend_map+0x1a> + 8ccc: f109 0901 add.w r9, r9, #1 + 8cd0: f9bd 303e ldrsh.w r3, [sp, #62] ; 0x3e + 8cd4: 4599 cmp r9, r3 + 8cd6: dddd ble.n 8c94 <_lv_blend_map+0xa14> + 8cd8: f7ff badf b.w 829a <_lv_blend_map+0x1a> for(x = draw_area->x1; x <= draw_area->x2; x++) { - 9284: 3501 adds r5, #1 - 9286: 3602 adds r6, #2 - 9288: 3402 adds r4, #2 - 928a: f9bd 303c ldrsh.w r3, [sp, #60] ; 0x3c - 928e: 429d cmp r5, r3 - 9290: dc0f bgt.n 92b2 <_lv_blend_map+0xa8a> + 8cdc: 3501 adds r5, #1 + 8cde: 3602 adds r6, #2 + 8ce0: 3402 adds r4, #2 + 8ce2: f9bd 303c ldrsh.w r3, [sp, #60] ; 0x3c + 8ce6: 429d cmp r5, r3 + 8ce8: dc0f bgt.n 8d0a <_lv_blend_map+0xa8a> if(mask_tmp[x] == 0) continue; - 9292: f817 3b01 ldrb.w r3, [r7], #1 - 9296: 2b00 cmp r3, #0 - 9298: d0f4 beq.n 9284 <_lv_blend_map+0xa5c> + 8cea: f817 3b01 ldrb.w r3, [r7], #1 + 8cee: 2b00 cmp r3, #0 + 8cf0: d0f4 beq.n 8cdc <_lv_blend_map+0xa5c> lv_opa_t opa_tmp = mask_tmp[x] >= LV_OPA_MAX ? opa : ((opa * mask_tmp[x]) >> 8); - 929a: 2bf9 cmp r3, #249 ; 0xf9 - 929c: bf9d ittte ls - 929e: 9a06 ldrls r2, [sp, #24] - 92a0: 4353 mulls r3, r2 - 92a2: f3c3 2207 ubfxls r2, r3, #8, #8 - 92a6: 9a05 ldrhi r2, [sp, #20] + 8cf2: 2bf9 cmp r3, #249 ; 0xf9 + 8cf4: bf9d ittte ls + 8cf6: 9a06 ldrls r2, [sp, #24] + 8cf8: 4353 mulls r3, r2 + 8cfa: f3c3 2207 ubfxls r2, r3, #8, #8 + 8cfe: 9a05 ldrhi r2, [sp, #20] disp_buf_tmp[x] = blend_fp(map_buf_tmp[x], disp_buf_tmp[x], opa_tmp); - 92a8: 8831 ldrh r1, [r6, #0] - 92aa: 8820 ldrh r0, [r4, #0] - 92ac: 47c0 blx r8 - 92ae: 8030 strh r0, [r6, #0] - 92b0: e7e8 b.n 9284 <_lv_blend_map+0xa5c> + 8d00: 8831 ldrh r1, [r6, #0] + 8d02: 8820 ldrh r0, [r4, #0] + 8d04: 47c0 blx r8 + 8d06: 8030 strh r0, [r6, #0] + 8d08: e7e8 b.n 8cdc <_lv_blend_map+0xa5c> disp_buf_tmp += disp_w; - 92b2: 9b07 ldr r3, [sp, #28] - 92b4: 449b add fp, r3 - 92b6: 9b09 ldr r3, [sp, #36] ; 0x24 - 92b8: 449a add sl, r3 + 8d0a: 9b07 ldr r3, [sp, #28] + 8d0c: 449b add fp, r3 + 8d0e: 9b09 ldr r3, [sp, #36] ; 0x24 + 8d10: 449a add sl, r3 map_buf_tmp += map_w; - 92ba: 9b04 ldr r3, [sp, #16] - 92bc: 9a08 ldr r2, [sp, #32] - 92be: 4413 add r3, r2 - 92c0: 9304 str r3, [sp, #16] + 8d12: 9b04 ldr r3, [sp, #16] + 8d14: 9a08 ldr r2, [sp, #32] + 8d16: 4413 add r3, r2 + 8d18: 9304 str r3, [sp, #16] for(y = draw_area->y1; y <= draw_area->y2; y++) { - 92c2: f109 0901 add.w r9, r9, #1 - 92c6: f9bd 303e ldrsh.w r3, [sp, #62] ; 0x3e - 92ca: 4599 cmp r9, r3 - 92cc: f73f aab9 bgt.w 8842 <_lv_blend_map+0x1a> + 8d1a: f109 0901 add.w r9, r9, #1 + 8d1e: f9bd 303e ldrsh.w r3, [sp, #62] ; 0x3e + 8d22: 4599 cmp r9, r3 + 8d24: f73f aab9 bgt.w 829a <_lv_blend_map+0x1a> for(x = draw_area->x1; x <= draw_area->x2; x++) { - 92d0: f9bd 3038 ldrsh.w r3, [sp, #56] ; 0x38 - 92d4: 461d mov r5, r3 - 92d6: f9bd 203c ldrsh.w r2, [sp, #60] ; 0x3c - 92da: 4293 cmp r3, r2 - 92dc: dce9 bgt.n 92b2 <_lv_blend_map+0xa8a> - 92de: eb0a 0703 add.w r7, sl, r3 - 92e2: 005b lsls r3, r3, #1 - 92e4: eb0b 0603 add.w r6, fp, r3 - 92e8: 9a04 ldr r2, [sp, #16] - 92ea: 18d4 adds r4, r2, r3 - 92ec: e7d1 b.n 9292 <_lv_blend_map+0xa6a> + 8d28: f9bd 3038 ldrsh.w r3, [sp, #56] ; 0x38 + 8d2c: 461d mov r5, r3 + 8d2e: f9bd 203c ldrsh.w r2, [sp, #60] ; 0x3c + 8d32: 4293 cmp r3, r2 + 8d34: dce9 bgt.n 8d0a <_lv_blend_map+0xa8a> + 8d36: eb0a 0703 add.w r7, sl, r3 + 8d3a: 005b lsls r3, r3, #1 + 8d3c: eb0b 0603 add.w r6, fp, r3 + 8d40: 9a04 ldr r2, [sp, #16] + 8d42: 18d4 adds r4, r2, r3 + 8d44: e7d1 b.n 8cea <_lv_blend_map+0xa6a> for(x = 0; x < draw_area_w && ((lv_uintptr_t)mask_tmp_x & 0x3); x++) { - 92ee: 9b04 ldr r3, [sp, #16] - 92f0: 2100 movs r1, #0 + 8d46: 9b04 ldr r3, [sp, #16] + 8d48: 2100 movs r1, #0 for(; x < x_end4; x += 4) { - 92f2: 9a0a ldr r2, [sp, #40] ; 0x28 - 92f4: 428a cmp r2, r1 - 92f6: dd0a ble.n 930e <_lv_blend_map+0xae6> - 92f8: 3304 adds r3, #4 - 92fa: 1cc8 adds r0, r1, #3 - 92fc: 0040 lsls r0, r0, #1 - 92fe: 9a06 ldr r2, [sp, #24] - 9300: 1814 adds r4, r2, r0 - 9302: 9a05 ldr r2, [sp, #20] - 9304: 4410 add r0, r2 - 9306: 950b str r5, [sp, #44] ; 0x2c - 9308: f8dd e028 ldr.w lr, [sp, #40] ; 0x28 - 930c: e527 b.n 8d5e <_lv_blend_map+0x536> - 930e: 461a mov r2, r3 - 9310: e670 b.n 8ff4 <_lv_blend_map+0x7cc> + 8d4a: 9a0a ldr r2, [sp, #40] ; 0x28 + 8d4c: 428a cmp r2, r1 + 8d4e: dd0a ble.n 8d66 <_lv_blend_map+0xae6> + 8d50: 3304 adds r3, #4 + 8d52: 1cc8 adds r0, r1, #3 + 8d54: 0040 lsls r0, r0, #1 + 8d56: 9a06 ldr r2, [sp, #24] + 8d58: 1814 adds r4, r2, r0 + 8d5a: 9a05 ldr r2, [sp, #20] + 8d5c: 4410 add r0, r2 + 8d5e: 950b str r5, [sp, #44] ; 0x2c + 8d60: f8dd e028 ldr.w lr, [sp, #40] ; 0x28 + 8d64: e527 b.n 87b6 <_lv_blend_map+0x536> + 8d66: 461a mov r2, r3 + 8d68: e670 b.n 8a4c <_lv_blend_map+0x7cc> for(x = 0; x < draw_area_w && ((lv_uintptr_t)mask_tmp_x & 0x3); x++) { - 9312: 9b04 ldr r3, [sp, #16] - 9314: 2100 movs r1, #0 + 8d6a: 9b04 ldr r3, [sp, #16] + 8d6c: 2100 movs r1, #0 for(; x < x_end4; x += 4) { - 9316: 9a0a ldr r2, [sp, #40] ; 0x28 - 9318: 4291 cmp r1, r2 - 931a: dbed blt.n 92f8 <_lv_blend_map+0xad0> + 8d6e: 9a0a ldr r2, [sp, #40] ; 0x28 + 8d70: 4291 cmp r1, r2 + 8d72: dbed blt.n 8d50 <_lv_blend_map+0xad0> disp_buf_first += disp_w; - 931c: 9b05 ldr r3, [sp, #20] - 931e: 9a0c ldr r2, [sp, #48] ; 0x30 - 9320: 4413 add r3, r2 - 9322: 9305 str r3, [sp, #20] - 9324: 9b04 ldr r3, [sp, #16] - 9326: 9a09 ldr r2, [sp, #36] ; 0x24 - 9328: 4413 add r3, r2 - 932a: 9304 str r3, [sp, #16] + 8d74: 9b05 ldr r3, [sp, #20] + 8d76: 9a0c ldr r2, [sp, #48] ; 0x30 + 8d78: 4413 add r3, r2 + 8d7a: 9305 str r3, [sp, #20] + 8d7c: 9b04 ldr r3, [sp, #16] + 8d7e: 9a09 ldr r2, [sp, #36] ; 0x24 + 8d80: 4413 add r3, r2 + 8d82: 9304 str r3, [sp, #16] map_buf_first += map_w; - 932c: 9b06 ldr r3, [sp, #24] - 932e: 9a0d ldr r2, [sp, #52] ; 0x34 - 9330: 4413 add r3, r2 - 9332: 9306 str r3, [sp, #24] + 8d84: 9b06 ldr r3, [sp, #24] + 8d86: 9a0d ldr r2, [sp, #52] ; 0x34 + 8d88: 4413 add r3, r2 + 8d8a: 9306 str r3, [sp, #24] for(y = 0; y < draw_area_h; y++) { - 9334: 9b07 ldr r3, [sp, #28] - 9336: 3301 adds r3, #1 - 9338: 9307 str r3, [sp, #28] - 933a: 9a08 ldr r2, [sp, #32] - 933c: 429a cmp r2, r3 - 933e: f43f aa80 beq.w 8842 <_lv_blend_map+0x1a> + 8d8c: 9b07 ldr r3, [sp, #28] + 8d8e: 3301 adds r3, #1 + 8d90: 9307 str r3, [sp, #28] + 8d92: 9a08 ldr r2, [sp, #32] + 8d94: 429a cmp r2, r3 + 8d96: f43f aa80 beq.w 829a <_lv_blend_map+0x1a> for(x = 0; x < draw_area_w && ((lv_uintptr_t)mask_tmp_x & 0x3); x++) { - 9342: 2d00 cmp r5, #0 - 9344: dde5 ble.n 9312 <_lv_blend_map+0xaea> - 9346: 9a04 ldr r2, [sp, #16] - 9348: f012 0f03 tst.w r2, #3 - 934c: d0cf beq.n 92ee <_lv_blend_map+0xac6> - 934e: f8dd 8018 ldr.w r8, [sp, #24] - 9352: f8dd e014 ldr.w lr, [sp, #20] - 9356: 4694 mov ip, r2 - 9358: 2100 movs r1, #0 - 935a: e49d b.n 8c98 <_lv_blend_map+0x470> - 935c: 0001c174 .word 0x0001c174 - 9360: 0001c138 .word 0x0001c138 - 9364: 0001c144 .word 0x0001c144 - 9368: 00012805 .word 0x00012805 - 936c: 00007c47 .word 0x00007c47 - 9370: 00007b91 .word 0x00007b91 - -00009374 : + 8d9a: 2d00 cmp r5, #0 + 8d9c: dde5 ble.n 8d6a <_lv_blend_map+0xaea> + 8d9e: 9a04 ldr r2, [sp, #16] + 8da0: f012 0f03 tst.w r2, #3 + 8da4: d0cf beq.n 8d46 <_lv_blend_map+0xac6> + 8da6: f8dd 8018 ldr.w r8, [sp, #24] + 8daa: f8dd e014 ldr.w lr, [sp, #20] + 8dae: 4694 mov ip, r2 + 8db0: 2100 movs r1, #0 + 8db2: e49d b.n 86f0 <_lv_blend_map+0x470> + 8db4: 00024c90 .word 0x00024c90 + 8db8: 00024c54 .word 0x00024c54 + 8dbc: 00024c60 .word 0x00024c60 + 8dc0: 0001225d .word 0x0001225d + 8dc4: 0000769f .word 0x0000769f + 8dc8: 000075e9 .word 0x000075e9 + +00008dcc : * @param antialias anti-alias transformations (rotate, zoom) or not */ LV_ATTRIBUTE_FAST_MEM static void lv_draw_map(const lv_area_t * map_area, const lv_area_t * clip_area, const uint8_t * map_p, lv_draw_img_dsc_t * draw_dsc, bool chroma_key, bool alpha_byte) { - 9374: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 9378: b0bd sub sp, #244 ; 0xf4 - 937a: 901b str r0, [sp, #108] ; 0x6c - 937c: 9123 str r1, [sp, #140] ; 0x8c - 937e: 4617 mov r7, r2 - 9380: 9308 str r3, [sp, #32] - 9382: f89d 3118 ldrb.w r3, [sp, #280] ; 0x118 - 9386: 930a str r3, [sp, #40] ; 0x28 - 9388: f89d 311c ldrb.w r3, [sp, #284] ; 0x11c - 938c: 9306 str r3, [sp, #24] - 938e: 1e4b subs r3, r1, #1 - 9390: 1dc8 adds r0, r1, #7 + 8dcc: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 8dd0: b0bd sub sp, #244 ; 0xf4 + 8dd2: 901b str r0, [sp, #108] ; 0x6c + 8dd4: 9123 str r1, [sp, #140] ; 0x8c + 8dd6: 4617 mov r7, r2 + 8dd8: 9308 str r3, [sp, #32] + 8dda: f89d 3118 ldrb.w r3, [sp, #280] ; 0x118 + 8dde: 930a str r3, [sp, #40] ; 0x28 + 8de0: f89d 311c ldrb.w r3, [sp, #284] ; 0x11c + 8de4: 9306 str r3, [sp, #24] + 8de6: 1e4b subs r3, r1, #1 + 8de8: 1dc8 adds r0, r1, #7 * @param src pointer to the source buffer * @param len number of byte to copy */ LV_ATTRIBUTE_FAST_MEM static inline void * _lv_memcpy_small(void * dst, const void * src, size_t len) { uint8_t * d8 = (uint8_t *)dst; - 9392: aa3a add r2, sp, #232 ; 0xe8 + 8dea: aa3a add r2, sp, #232 ; 0xe8 const uint8_t * s8 = (const uint8_t *)src; while(len) { *d8 = *s8; - 9394: f813 1f01 ldrb.w r1, [r3, #1]! - 9398: f802 1b01 strb.w r1, [r2], #1 + 8dec: f813 1f01 ldrb.w r1, [r3, #1]! + 8df0: f802 1b01 strb.w r1, [r2], #1 while(len) { - 939c: 4283 cmp r3, r0 - 939e: d1f9 bne.n 9394 + 8df4: 4283 cmp r3, r0 + 8df6: d1f9 bne.n 8dec /* Use the clip area as draw area*/ lv_area_t draw_area; lv_area_copy(&draw_area, clip_area); lv_disp_t * disp = _lv_refr_get_disp_refreshing(); - 93a0: 4ba3 ldr r3, [pc, #652] ; (9630 ) - 93a2: 4798 blx r3 + 8df8: 4ba3 ldr r3, [pc, #652] ; (9088 ) + 8dfa: 4798 blx r3 lv_disp_buf_t * vdb = lv_disp_get_buf(disp); - 93a4: 4ba3 ldr r3, [pc, #652] ; (9634 ) - 93a6: 4798 blx r3 - 93a8: 9018 str r0, [sp, #96] ; 0x60 + 8dfc: 4ba3 ldr r3, [pc, #652] ; (908c ) + 8dfe: 4798 blx r3 + 8e00: 9018 str r0, [sp, #96] ; 0x60 const lv_area_t * disp_area = &vdb->area; /* Now `draw_area` has absolute coordinates. * Make it relative to `disp_area` to simplify draw to `disp_buf`*/ draw_area.x1 -= disp_area->x1; - 93aa: 8a01 ldrh r1, [r0, #16] - 93ac: f8bd 30e8 ldrh.w r3, [sp, #232] ; 0xe8 - 93b0: 1a5b subs r3, r3, r1 - 93b2: f8ad 30e8 strh.w r3, [sp, #232] ; 0xe8 + 8e02: 8a01 ldrh r1, [r0, #16] + 8e04: f8bd 30e8 ldrh.w r3, [sp, #232] ; 0xe8 + 8e08: 1a5b subs r3, r3, r1 + 8e0a: f8ad 30e8 strh.w r3, [sp, #232] ; 0xe8 draw_area.y1 -= disp_area->y1; - 93b6: 8a42 ldrh r2, [r0, #18] - 93b8: f8bd 30ea ldrh.w r3, [sp, #234] ; 0xea - 93bc: 1a9b subs r3, r3, r2 - 93be: f8ad 30ea strh.w r3, [sp, #234] ; 0xea + 8e0e: 8a42 ldrh r2, [r0, #18] + 8e10: f8bd 30ea ldrh.w r3, [sp, #234] ; 0xea + 8e14: 1a9b subs r3, r3, r2 + 8e16: f8ad 30ea strh.w r3, [sp, #234] ; 0xea draw_area.x2 -= disp_area->x1; - 93c2: f8bd 30ec ldrh.w r3, [sp, #236] ; 0xec - 93c6: 1a5b subs r3, r3, r1 - 93c8: f8ad 30ec strh.w r3, [sp, #236] ; 0xec + 8e1a: f8bd 30ec ldrh.w r3, [sp, #236] ; 0xec + 8e1e: 1a5b subs r3, r3, r1 + 8e20: f8ad 30ec strh.w r3, [sp, #236] ; 0xec draw_area.y2 -= disp_area->y1; - 93cc: f8bd 30ee ldrh.w r3, [sp, #238] ; 0xee - 93d0: 1a9b subs r3, r3, r2 - 93d2: f8ad 30ee strh.w r3, [sp, #238] ; 0xee + 8e24: f8bd 30ee ldrh.w r3, [sp, #238] ; 0xee + 8e28: 1a9b subs r3, r3, r2 + 8e2a: f8ad 30ee strh.w r3, [sp, #238] ; 0xee uint8_t other_mask_cnt = lv_draw_mask_get_cnt(); - 93d6: 4b98 ldr r3, [pc, #608] ; (9638 ) - 93d8: 4798 blx r3 + 8e2e: 4b98 ldr r3, [pc, #608] ; (9090 ) + 8e30: 4798 blx r3 /*The simplest case just copy the pixels into the VDB*/ if(other_mask_cnt == 0 && draw_dsc->angle == 0 && draw_dsc->zoom == LV_IMG_ZOOM_NONE && - 93da: 9019 str r0, [sp, #100] ; 0x64 - 93dc: b930 cbnz r0, 93ec - 93de: 9a08 ldr r2, [sp, #32] - 93e0: 8853 ldrh r3, [r2, #2] - 93e2: b91b cbnz r3, 93ec - 93e4: 8913 ldrh r3, [r2, #8] - 93e6: f5b3 7f80 cmp.w r3, #256 ; 0x100 - 93ea: d071 beq.n 94d0 + 8e32: 9019 str r0, [sp, #100] ; 0x64 + 8e34: b930 cbnz r0, 8e44 + 8e36: 9a08 ldr r2, [sp, #32] + 8e38: 8853 ldrh r3, [r2, #2] + 8e3a: b91b cbnz r3, 8e44 + 8e3c: 8913 ldrh r3, [r2, #8] + 8e3e: f5b3 7f80 cmp.w r3, #256 ; 0x100 + 8e42: d071 beq.n 8f28 draw_dsc->blend_mode); } /*In the other cases every pixel need to be checked one-by-one*/ else { /*The pixel size in byte is different if an alpha byte is added too*/ uint8_t px_size_byte = alpha_byte ? LV_IMG_PX_SIZE_ALPHA_BYTE : sizeof(lv_color_t); - 93ec: 9b06 ldr r3, [sp, #24] - 93ee: 2b00 cmp r3, #0 - 93f0: bf14 ite ne - 93f2: f04f 0b03 movne.w fp, #3 - 93f6: f04f 0b02 moveq.w fp, #2 - 93fa: 991b ldr r1, [sp, #108] ; 0x6c - 93fc: 460b mov r3, r1 - 93fe: f9b1 2000 ldrsh.w r2, [r1] - 9402: 888d ldrh r5, [r1, #4] - 9404: 3501 adds r5, #1 - 9406: 1aad subs r5, r5, r2 - 9408: b22d sxth r5, r5 + 8e44: 9b06 ldr r3, [sp, #24] + 8e46: 2b00 cmp r3, #0 + 8e48: bf14 ite ne + 8e4a: f04f 0b03 movne.w fp, #3 + 8e4e: f04f 0b02 moveq.w fp, #2 + 8e52: 991b ldr r1, [sp, #108] ; 0x6c + 8e54: 460b mov r3, r1 + 8e56: f9b1 2000 ldrsh.w r2, [r1] + 8e5a: 888d ldrh r5, [r1, #4] + 8e5c: 3501 adds r5, #1 + 8e5e: 1aad subs r5, r5, r2 + 8e60: b22d sxth r5, r5 /*Go to the first displayed pixel of the map*/ int32_t map_w = lv_area_get_width(map_area); const uint8_t * map_buf_tmp = map_p; map_buf_tmp += map_w * (draw_area.y1 - (map_area->y1 - disp_area->y1)) * px_size_byte; - 940a: f9bd 00ea ldrsh.w r0, [sp, #234] ; 0xea - 940e: 9e18 ldr r6, [sp, #96] ; 0x60 - 9410: f9b6 1012 ldrsh.w r1, [r6, #18] - 9414: 46d8 mov r8, fp + 8e62: f9bd 00ea ldrsh.w r0, [sp, #234] ; 0xea + 8e66: 9e18 ldr r6, [sp, #96] ; 0x60 + 8e68: f9b6 1012 ldrsh.w r1, [r6, #18] + 8e6c: 46d8 mov r8, fp map_buf_tmp += (draw_area.x1 - (map_area->x1 - disp_area->x1)) * px_size_byte; - 9416: f9bd 40e8 ldrsh.w r4, [sp, #232] ; 0xe8 - 941a: f9b6 6010 ldrsh.w r6, [r6, #16] + 8e6e: f9bd 40e8 ldrsh.w r4, [sp, #232] ; 0xe8 + 8e72: f9b6 6010 ldrsh.w r6, [r6, #16] map_buf_tmp += map_w * (draw_area.y1 - (map_area->y1 - disp_area->y1)) * px_size_byte; - 941e: f9b3 3002 ldrsh.w r3, [r3, #2] - 9422: 1a5b subs r3, r3, r1 - 9424: 1ac3 subs r3, r0, r3 + 8e76: f9b3 3002 ldrsh.w r3, [r3, #2] + 8e7a: 1a5b subs r3, r3, r1 + 8e7c: 1ac3 subs r3, r0, r3 map_buf_tmp += (draw_area.x1 - (map_area->x1 - disp_area->x1)) * px_size_byte; - 9426: 1b92 subs r2, r2, r6 - 9428: 1aa2 subs r2, r4, r2 - 942a: fb05 2303 mla r3, r5, r3, r2 - 942e: fb03 730b mla r3, r3, fp, r7 - 9432: 9314 str r3, [sp, #80] ; 0x50 + 8e7e: 1b92 subs r2, r2, r6 + 8e80: 1aa2 subs r2, r4, r2 + 8e82: fb05 2303 mla r3, r5, r3, r2 + 8e86: fb03 730b mla r3, r3, fp, r7 + 8e8a: 9314 str r3, [sp, #80] ; 0x50 uint32_t px_i = 0; const uint8_t * map_px; lv_area_t blend_area; blend_area.x1 = draw_area.x1 + disp_area->x1; - 9434: b2a4 uxth r4, r4 - 9436: 19a2 adds r2, r4, r6 - 9438: b292 uxth r2, r2 - 943a: f8ad 2098 strh.w r2, [sp, #152] ; 0x98 - 943e: f8bd 30ec ldrh.w r3, [sp, #236] ; 0xec - 9442: 3301 adds r3, #1 - 9444: 1b1b subs r3, r3, r4 - 9446: b29b uxth r3, r3 - 9448: b21c sxth r4, r3 - 944a: 9416 str r4, [sp, #88] ; 0x58 + 8e8c: b2a4 uxth r4, r4 + 8e8e: 19a2 adds r2, r4, r6 + 8e90: b292 uxth r2, r2 + 8e92: f8ad 2098 strh.w r2, [sp, #152] ; 0x98 + 8e96: f8bd 30ec ldrh.w r3, [sp, #236] ; 0xec + 8e9a: 3301 adds r3, #1 + 8e9c: 1b1b subs r3, r3, r4 + 8e9e: b29b uxth r3, r3 + 8ea0: b21c sxth r4, r3 + 8ea2: 9416 str r4, [sp, #88] ; 0x58 blend_area.x2 = blend_area.x1 + lv_area_get_width(&draw_area) - 1; - 944c: 3b01 subs r3, #1 - 944e: 4413 add r3, r2 - 9450: f8ad 309c strh.w r3, [sp, #156] ; 0x9c + 8ea4: 3b01 subs r3, #1 + 8ea6: 4413 add r3, r2 + 8ea8: f8ad 309c strh.w r3, [sp, #156] ; 0x9c blend_area.y1 = disp_area->y1 + draw_area.y1; - 9454: b280 uxth r0, r0 - 9456: 1843 adds r3, r0, r1 - 9458: b21b sxth r3, r3 - 945a: f8ad 309a strh.w r3, [sp, #154] ; 0x9a + 8eac: b280 uxth r0, r0 + 8eae: 1843 adds r3, r0, r1 + 8eb0: b21b sxth r3, r3 + 8eb2: f8ad 309a strh.w r3, [sp, #154] ; 0x9a blend_area.y2 = blend_area.y1; - 945e: f8ad 309e strh.w r3, [sp, #158] ; 0x9e + 8eb6: f8ad 309e strh.w r3, [sp, #158] ; 0x9e return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - 9462: f8bd 60ee ldrh.w r6, [sp, #238] ; 0xee - 9466: 3601 adds r6, #1 - 9468: 1a36 subs r6, r6, r0 - 946a: b236 sxth r6, r6 + 8eba: f8bd 60ee ldrh.w r6, [sp, #238] ; 0xee + 8ebe: 3601 adds r6, #1 + 8ec0: 1a36 subs r6, r6, r0 + 8ec2: b236 sxth r6, r6 lv_coord_t draw_area_h = lv_area_get_height(&draw_area); lv_coord_t draw_area_w = lv_area_get_width(&draw_area); #if LV_USE_IMG_TRANSFORM bool transform = draw_dsc->angle != 0 || draw_dsc->zoom != LV_IMG_ZOOM_NONE ? true : false; - 946c: 9908 ldr r1, [sp, #32] - 946e: 884b ldrh r3, [r1, #2] - 9470: 2b00 cmp r3, #0 - 9472: f040 8353 bne.w 9b1c - 9476: 890b ldrh r3, [r1, #8] - 9478: f5b3 7280 subs.w r2, r3, #256 ; 0x100 - 947c: bf18 it ne - 947e: 2201 movne r2, #1 - 9480: 9205 str r2, [sp, #20] + 8ec4: 9908 ldr r1, [sp, #32] + 8ec6: 884b ldrh r3, [r1, #2] + 8ec8: 2b00 cmp r3, #0 + 8eca: f040 8353 bne.w 9574 + 8ece: 890b ldrh r3, [r1, #8] + 8ed0: f5b3 7280 subs.w r2, r3, #256 ; 0x100 + 8ed4: bf18 it ne + 8ed6: 2201 movne r2, #1 + 8ed8: 9205 str r2, [sp, #20] #else bool transform = false; #endif /*Simple ARGB image. Handle it as special case because it's very common*/ if(other_mask_cnt == 0 && !transform && !chroma_key && draw_dsc->recolor_opa == LV_OPA_TRANSP && alpha_byte) { - 9482: 9a19 ldr r2, [sp, #100] ; 0x64 - 9484: 2a00 cmp r2, #0 - 9486: f040 8370 bne.w 9b6a - 948a: f5b3 7f80 cmp.w r3, #256 ; 0x100 - 948e: f040 8349 bne.w 9b24 - 9492: 9b0a ldr r3, [sp, #40] ; 0x28 - 9494: b923 cbnz r3, 94a0 - 9496: 7a8b ldrb r3, [r1, #10] - 9498: b913 cbnz r3, 94a0 - 949a: 9b06 ldr r3, [sp, #24] - 949c: 2b00 cmp r3, #0 - 949e: d131 bne.n 9504 + 8eda: 9a19 ldr r2, [sp, #100] ; 0x64 + 8edc: 2a00 cmp r2, #0 + 8ede: f040 8370 bne.w 95c2 + 8ee2: f5b3 7f80 cmp.w r3, #256 ; 0x100 + 8ee6: f040 8349 bne.w 957c + 8eea: 9b0a ldr r3, [sp, #40] ; 0x28 + 8eec: b923 cbnz r3, 8ef8 + 8eee: 7a8b ldrb r3, [r1, #10] + 8ef0: b913 cbnz r3, 8ef8 + 8ef2: 9b06 ldr r3, [sp, #24] + 8ef4: 2b00 cmp r3, #0 + 8ef6: d131 bne.n 8f5c _lv_mem_buf_release(map2); } /*Most complicated case: transform or other mask or chroma keyed*/ else { /*Build the image and a mask line-by-line*/ uint32_t mask_buf_size = lv_area_get_size(&draw_area) > LV_HOR_RES_MAX ? LV_HOR_RES_MAX : lv_area_get_size(&draw_area); - 94a0: a83a add r0, sp, #232 ; 0xe8 - 94a2: 4b66 ldr r3, [pc, #408] ; (963c ) - 94a4: 4798 blx r3 - 94a6: f5b0 7ff0 cmp.w r0, #480 ; 0x1e0 - 94aa: f240 80ac bls.w 9606 + 8ef8: a83a add r0, sp, #232 ; 0xe8 + 8efa: 4b66 ldr r3, [pc, #408] ; (9094 ) + 8efc: 4798 blx r3 + 8efe: f5b0 7ff0 cmp.w r0, #480 ; 0x1e0 + 8f02: f240 80ac bls.w 905e lv_color_t * map2 = _lv_mem_buf_get(mask_buf_size * sizeof(lv_color_t)); - 94ae: f44f 7070 mov.w r0, #960 ; 0x3c0 - 94b2: 4c63 ldr r4, [pc, #396] ; (9640 ) - 94b4: 47a0 blx r4 - 94b6: 901a str r0, [sp, #104] ; 0x68 + 8f06: f44f 7070 mov.w r0, #960 ; 0x3c0 + 8f0a: 4c63 ldr r4, [pc, #396] ; (9098 ) + 8f0c: 47a0 blx r4 + 8f0e: 901a str r0, [sp, #104] ; 0x68 lv_opa_t * mask_buf = _lv_mem_buf_get(mask_buf_size); - 94b8: f44f 70f0 mov.w r0, #480 ; 0x1e0 - 94bc: 47a0 blx r4 - 94be: 9017 str r0, [sp, #92] ; 0x5c + 8f10: f44f 70f0 mov.w r0, #480 ; 0x1e0 + 8f14: 47a0 blx r4 + 8f16: 9017 str r0, [sp, #92] ; 0x5c #if LV_USE_IMG_TRANSFORM lv_img_transform_dsc_t trans_dsc; _lv_memset_00(&trans_dsc, sizeof(lv_img_transform_dsc_t)); - 94c0: 2148 movs r1, #72 ; 0x48 - 94c2: a828 add r0, sp, #160 ; 0xa0 - 94c4: 4b5f ldr r3, [pc, #380] ; (9644 ) - 94c6: 4798 blx r3 + 8f18: 2148 movs r1, #72 ; 0x48 + 8f1a: a828 add r0, sp, #160 ; 0xa0 + 8f1c: 4b5f ldr r3, [pc, #380] ; (909c ) + 8f1e: 4798 blx r3 uint32_t mask_buf_size = lv_area_get_size(&draw_area) > LV_HOR_RES_MAX ? LV_HOR_RES_MAX : lv_area_get_size(&draw_area); - 94c8: f44f 73f0 mov.w r3, #480 ; 0x1e0 - 94cc: 931c str r3, [sp, #112] ; 0x70 - 94ce: e0e4 b.n 969a + 8f20: f44f 73f0 mov.w r3, #480 ; 0x1e0 + 8f24: 931c str r3, [sp, #112] ; 0x70 + 8f26: e0e4 b.n 90f2 if(other_mask_cnt == 0 && draw_dsc->angle == 0 && draw_dsc->zoom == LV_IMG_ZOOM_NONE && - 94d0: 9b0a ldr r3, [sp, #40] ; 0x28 - 94d2: 2b00 cmp r3, #0 - 94d4: d18a bne.n 93ec + 8f28: 9b0a ldr r3, [sp, #40] ; 0x28 + 8f2a: 2b00 cmp r3, #0 + 8f2c: d18a bne.n 8e44 chroma_key == false && alpha_byte == false && draw_dsc->recolor_opa == LV_OPA_TRANSP) { - 94d6: 9b06 ldr r3, [sp, #24] - 94d8: b98b cbnz r3, 94fe - 94da: 7a93 ldrb r3, [r2, #10] - 94dc: b113 cbz r3, 94e4 + 8f2e: 9b06 ldr r3, [sp, #24] + 8f30: b98b cbnz r3, 8f56 + 8f32: 7a93 ldrb r3, [r2, #10] + 8f34: b113 cbz r3, 8f3c uint8_t px_size_byte = alpha_byte ? LV_IMG_PX_SIZE_ALPHA_BYTE : sizeof(lv_color_t); - 94de: f04f 0b02 mov.w fp, #2 - 94e2: e78a b.n 93fa + 8f36: f04f 0b02 mov.w fp, #2 + 8f3a: e78a b.n 8e52 _lv_blend_map(clip_area, map_area, (lv_color_t *)map_p, NULL, LV_DRAW_MASK_RES_FULL_COVER, draw_dsc->opa, - 94e4: 7b93 ldrb r3, [r2, #14] - 94e6: 9302 str r3, [sp, #8] - 94e8: 7813 ldrb r3, [r2, #0] - 94ea: 9301 str r3, [sp, #4] - 94ec: 2301 movs r3, #1 - 94ee: 9300 str r3, [sp, #0] - 94f0: 2300 movs r3, #0 - 94f2: 463a mov r2, r7 - 94f4: 991b ldr r1, [sp, #108] ; 0x6c - 94f6: 9823 ldr r0, [sp, #140] ; 0x8c - 94f8: 4c53 ldr r4, [pc, #332] ; (9648 ) - 94fa: 47a0 blx r4 - 94fc: e30b b.n 9b16 + 8f3c: 7b93 ldrb r3, [r2, #14] + 8f3e: 9302 str r3, [sp, #8] + 8f40: 7813 ldrb r3, [r2, #0] + 8f42: 9301 str r3, [sp, #4] + 8f44: 2301 movs r3, #1 + 8f46: 9300 str r3, [sp, #0] + 8f48: 2300 movs r3, #0 + 8f4a: 463a mov r2, r7 + 8f4c: 991b ldr r1, [sp, #108] ; 0x6c + 8f4e: 9823 ldr r0, [sp, #140] ; 0x8c + 8f50: 4c53 ldr r4, [pc, #332] ; (90a0 ) + 8f52: 47a0 blx r4 + 8f54: e30b b.n 956e uint8_t px_size_byte = alpha_byte ? LV_IMG_PX_SIZE_ALPHA_BYTE : sizeof(lv_color_t); - 94fe: f04f 0b03 mov.w fp, #3 - 9502: e77a b.n 93fa + 8f56: f04f 0b03 mov.w fp, #3 + 8f5a: e77a b.n 8e52 uint32_t mask_buf_size = lv_area_get_size(&draw_area) > LV_HOR_RES_MAX ? LV_HOR_RES_MAX : lv_area_get_size(&draw_area); - 9504: a83a add r0, sp, #232 ; 0xe8 - 9506: 4b4d ldr r3, [pc, #308] ; (963c ) - 9508: 4798 blx r3 - 950a: f5b0 7ff0 cmp.w r0, #480 ; 0x1e0 - 950e: d814 bhi.n 953a - 9510: a83a add r0, sp, #232 ; 0xe8 - 9512: 4b4a ldr r3, [pc, #296] ; (963c ) - 9514: 4798 blx r3 - 9516: 4681 mov r9, r0 + 8f5c: a83a add r0, sp, #232 ; 0xe8 + 8f5e: 4b4d ldr r3, [pc, #308] ; (9094 ) + 8f60: 4798 blx r3 + 8f62: f5b0 7ff0 cmp.w r0, #480 ; 0x1e0 + 8f66: d814 bhi.n 8f92 + 8f68: a83a add r0, sp, #232 ; 0xe8 + 8f6a: 4b4a ldr r3, [pc, #296] ; (9094 ) + 8f6c: 4798 blx r3 + 8f6e: 4681 mov r9, r0 lv_color_t * map2 = _lv_mem_buf_get(mask_buf_size * sizeof(lv_color_t)); - 9518: ea4f 0049 mov.w r0, r9, lsl #1 - 951c: 4c48 ldr r4, [pc, #288] ; (9640 ) - 951e: 47a0 blx r4 - 9520: 4682 mov sl, r0 + 8f70: ea4f 0049 mov.w r0, r9, lsl #1 + 8f74: 4c48 ldr r4, [pc, #288] ; (9098 ) + 8f76: 47a0 blx r4 + 8f78: 4682 mov sl, r0 lv_opa_t * mask_buf = _lv_mem_buf_get(mask_buf_size); - 9522: 4648 mov r0, r9 - 9524: 47a0 blx r4 - 9526: 4604 mov r4, r0 + 8f7a: 4648 mov r0, r9 + 8f7c: 47a0 blx r4 + 8f7e: 4604 mov r4, r0 for(y = 0; y < draw_area_h; y++) { - 9528: 9605 str r6, [sp, #20] - 952a: 2e00 cmp r6, #0 - 952c: dd4f ble.n 95ce + 8f80: 9605 str r6, [sp, #20] + 8f82: 2e00 cmp r6, #0 + 8f84: dd4f ble.n 9026 map_buf_tmp += map_w * px_size_byte; - 952e: fb08 f805 mul.w r8, r8, r5 - 9532: 2500 movs r5, #0 - 9534: 46ac mov ip, r5 - 9536: 9e14 ldr r6, [sp, #80] ; 0x50 - 9538: e025 b.n 9586 + 8f86: fb08 f805 mul.w r8, r8, r5 + 8f8a: 2500 movs r5, #0 + 8f8c: 46ac mov ip, r5 + 8f8e: 9e14 ldr r6, [sp, #80] ; 0x50 + 8f90: e025 b.n 8fde uint32_t mask_buf_size = lv_area_get_size(&draw_area) > LV_HOR_RES_MAX ? LV_HOR_RES_MAX : lv_area_get_size(&draw_area); - 953a: f44f 79f0 mov.w r9, #480 ; 0x1e0 - 953e: e7eb b.n 9518 - 9540: 445b add r3, fp - 9542: 3702 adds r7, #2 + 8f92: f44f 79f0 mov.w r9, #480 ; 0x1e0 + 8f96: e7eb b.n 8f70 + 8f98: 445b add r3, fp + 8f9a: 3702 adds r7, #2 for(x = 0; x < draw_area_w; x++, map_px += px_size_byte, px_i++) { - 9544: 4596 cmp lr, r2 - 9546: d00a beq.n 955e + 8f9c: 4596 cmp lr, r2 + 8f9e: d00a beq.n 8fb6 lv_opa_t px_opa = map_px[LV_IMG_PX_SIZE_ALPHA_BYTE - 1]; - 9548: 7899 ldrb r1, [r3, #2] + 8fa0: 7899 ldrb r1, [r3, #2] mask_buf[px_i] = px_opa; - 954a: f802 1b01 strb.w r1, [r2], #1 + 8fa2: f802 1b01 strb.w r1, [r2], #1 if(px_opa) { - 954e: 2900 cmp r1, #0 - 9550: d0f6 beq.n 9540 + 8fa6: 2900 cmp r1, #0 + 8fa8: d0f6 beq.n 8f98 map2[px_i].full = map_px[0] + (map_px[1] << 8); - 9552: 7858 ldrb r0, [r3, #1] - 9554: 7819 ldrb r1, [r3, #0] - 9556: eb01 2100 add.w r1, r1, r0, lsl #8 - 955a: 8039 strh r1, [r7, #0] - 955c: e7f0 b.n 9540 + 8faa: 7858 ldrb r0, [r3, #1] + 8fac: 7819 ldrb r1, [r3, #0] + 8fae: eb01 2100 add.w r1, r1, r0, lsl #8 + 8fb2: 8039 strh r1, [r7, #0] + 8fb4: e7f0 b.n 8f98 map_buf_tmp += map_w * px_size_byte; - 955e: 4446 add r6, r8 + 8fb6: 4446 add r6, r8 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - 9560: f8bd 30ec ldrh.w r3, [sp, #236] ; 0xec - 9564: 3301 adds r3, #1 - 9566: f8bd 20e8 ldrh.w r2, [sp, #232] ; 0xe8 - 956a: 1a9b subs r3, r3, r2 + 8fb8: f8bd 30ec ldrh.w r3, [sp, #236] ; 0xec + 8fbc: 3301 adds r3, #1 + 8fbe: f8bd 20e8 ldrh.w r2, [sp, #232] ; 0xe8 + 8fc2: 1a9b subs r3, r3, r2 if(px_i + lv_area_get_width(&draw_area) < mask_buf_size) { - 956c: fa0c f383 sxtah r3, ip, r3 - 9570: 4599 cmp r9, r3 - 9572: d914 bls.n 959e + 8fc4: fa0c f383 sxtah r3, ip, r3 + 8fc8: 4599 cmp r9, r3 + 8fca: d914 bls.n 8ff6 blend_area.y2 ++; - 9574: f8bd 309e ldrh.w r3, [sp, #158] ; 0x9e - 9578: 3301 adds r3, #1 - 957a: f8ad 309e strh.w r3, [sp, #158] ; 0x9e + 8fcc: f8bd 309e ldrh.w r3, [sp, #158] ; 0x9e + 8fd0: 3301 adds r3, #1 + 8fd2: f8ad 309e strh.w r3, [sp, #158] ; 0x9e for(y = 0; y < draw_area_h; y++) { - 957e: 3501 adds r5, #1 - 9580: 9b05 ldr r3, [sp, #20] - 9582: 429d cmp r5, r3 - 9584: d023 beq.n 95ce + 8fd6: 3501 adds r5, #1 + 8fd8: 9b05 ldr r3, [sp, #20] + 8fda: 429d cmp r5, r3 + 8fdc: d023 beq.n 9026 for(x = 0; x < draw_area_w; x++, map_px += px_size_byte, px_i++) { - 9586: 9b16 ldr r3, [sp, #88] ; 0x58 - 9588: 2b00 cmp r3, #0 - 958a: dde8 ble.n 955e - 958c: eb04 020c add.w r2, r4, ip - 9590: eb0a 074c add.w r7, sl, ip, lsl #1 - 9594: 449c add ip, r3 - 9596: eb04 0e0c add.w lr, r4, ip - 959a: 4633 mov r3, r6 - 959c: e7d4 b.n 9548 + 8fde: 9b16 ldr r3, [sp, #88] ; 0x58 + 8fe0: 2b00 cmp r3, #0 + 8fe2: dde8 ble.n 8fb6 + 8fe4: eb04 020c add.w r2, r4, ip + 8fe8: eb0a 074c add.w r7, sl, ip, lsl #1 + 8fec: 449c add ip, r3 + 8fee: eb04 0e0c add.w lr, r4, ip + 8ff2: 4633 mov r3, r6 + 8ff4: e7d4 b.n 8fa0 _lv_blend_map(clip_area, &blend_area, map2, mask_buf, LV_DRAW_MASK_RES_CHANGED, draw_dsc->opa, draw_dsc->blend_mode); - 959e: 9a08 ldr r2, [sp, #32] - 95a0: 7b93 ldrb r3, [r2, #14] - 95a2: 9302 str r3, [sp, #8] - 95a4: 7813 ldrb r3, [r2, #0] - 95a6: 9301 str r3, [sp, #4] - 95a8: 2302 movs r3, #2 - 95aa: 9300 str r3, [sp, #0] - 95ac: 4623 mov r3, r4 - 95ae: 4652 mov r2, sl - 95b0: a926 add r1, sp, #152 ; 0x98 - 95b2: 9823 ldr r0, [sp, #140] ; 0x8c - 95b4: 4f24 ldr r7, [pc, #144] ; (9648 ) - 95b6: 47b8 blx r7 + 8ff6: 9a08 ldr r2, [sp, #32] + 8ff8: 7b93 ldrb r3, [r2, #14] + 8ffa: 9302 str r3, [sp, #8] + 8ffc: 7813 ldrb r3, [r2, #0] + 8ffe: 9301 str r3, [sp, #4] + 9000: 2302 movs r3, #2 + 9002: 9300 str r3, [sp, #0] + 9004: 4623 mov r3, r4 + 9006: 4652 mov r2, sl + 9008: a926 add r1, sp, #152 ; 0x98 + 900a: 9823 ldr r0, [sp, #140] ; 0x8c + 900c: 4f24 ldr r7, [pc, #144] ; (90a0 ) + 900e: 47b8 blx r7 blend_area.y1 = blend_area.y2 + 1; - 95b8: f8bd 309e ldrh.w r3, [sp, #158] ; 0x9e - 95bc: 3301 adds r3, #1 - 95be: b21b sxth r3, r3 - 95c0: f8ad 309a strh.w r3, [sp, #154] ; 0x9a + 9010: f8bd 309e ldrh.w r3, [sp, #158] ; 0x9e + 9014: 3301 adds r3, #1 + 9016: b21b sxth r3, r3 + 9018: f8ad 309a strh.w r3, [sp, #154] ; 0x9a blend_area.y2 = blend_area.y1; - 95c4: f8ad 309e strh.w r3, [sp, #158] ; 0x9e + 901c: f8ad 309e strh.w r3, [sp, #158] ; 0x9e px_i = 0; - 95c8: f04f 0c00 mov.w ip, #0 - 95cc: e7d7 b.n 957e + 9020: f04f 0c00 mov.w ip, #0 + 9024: e7d7 b.n 8fd6 if(blend_area.y1 != blend_area.y2) { - 95ce: f9bd 309e ldrsh.w r3, [sp, #158] ; 0x9e - 95d2: f9bd 209a ldrsh.w r2, [sp, #154] ; 0x9a - 95d6: 429a cmp r2, r3 - 95d8: d00f beq.n 95fa + 9026: f9bd 309e ldrsh.w r3, [sp, #158] ; 0x9e + 902a: f9bd 209a ldrsh.w r2, [sp, #154] ; 0x9a + 902e: 429a cmp r2, r3 + 9030: d00f beq.n 9052 blend_area.y2--; - 95da: 3b01 subs r3, #1 - 95dc: f8ad 309e strh.w r3, [sp, #158] ; 0x9e + 9032: 3b01 subs r3, #1 + 9034: f8ad 309e strh.w r3, [sp, #158] ; 0x9e _lv_blend_map(clip_area, &blend_area, map2, mask_buf, LV_DRAW_MASK_RES_CHANGED, draw_dsc->opa, draw_dsc->blend_mode); - 95e0: 9a08 ldr r2, [sp, #32] - 95e2: 7b93 ldrb r3, [r2, #14] - 95e4: 9302 str r3, [sp, #8] - 95e6: 7813 ldrb r3, [r2, #0] - 95e8: 9301 str r3, [sp, #4] - 95ea: 2302 movs r3, #2 - 95ec: 9300 str r3, [sp, #0] - 95ee: 4623 mov r3, r4 - 95f0: 4652 mov r2, sl - 95f2: a926 add r1, sp, #152 ; 0x98 - 95f4: 9823 ldr r0, [sp, #140] ; 0x8c - 95f6: 4d14 ldr r5, [pc, #80] ; (9648 ) - 95f8: 47a8 blx r5 + 9038: 9a08 ldr r2, [sp, #32] + 903a: 7b93 ldrb r3, [r2, #14] + 903c: 9302 str r3, [sp, #8] + 903e: 7813 ldrb r3, [r2, #0] + 9040: 9301 str r3, [sp, #4] + 9042: 2302 movs r3, #2 + 9044: 9300 str r3, [sp, #0] + 9046: 4623 mov r3, r4 + 9048: 4652 mov r2, sl + 904a: a926 add r1, sp, #152 ; 0x98 + 904c: 9823 ldr r0, [sp, #140] ; 0x8c + 904e: 4d14 ldr r5, [pc, #80] ; (90a0 ) + 9050: 47a8 blx r5 _lv_mem_buf_release(mask_buf); - 95fa: 4620 mov r0, r4 - 95fc: 4c13 ldr r4, [pc, #76] ; (964c ) - 95fe: 47a0 blx r4 + 9052: 4620 mov r0, r4 + 9054: 4c13 ldr r4, [pc, #76] ; (90a4 ) + 9056: 47a0 blx r4 _lv_mem_buf_release(map2); - 9600: 4650 mov r0, sl - 9602: 47a0 blx r4 + 9058: 4650 mov r0, sl + 905a: 47a0 blx r4 if(other_mask_cnt == 0 && !transform && !chroma_key && draw_dsc->recolor_opa == LV_OPA_TRANSP && alpha_byte) { - 9604: e287 b.n 9b16 + 905c: e287 b.n 956e uint32_t mask_buf_size = lv_area_get_size(&draw_area) > LV_HOR_RES_MAX ? LV_HOR_RES_MAX : lv_area_get_size(&draw_area); - 9606: a83a add r0, sp, #232 ; 0xe8 - 9608: 4b0c ldr r3, [pc, #48] ; (963c ) - 960a: 4798 blx r3 - 960c: 901c str r0, [sp, #112] ; 0x70 + 905e: a83a add r0, sp, #232 ; 0xe8 + 9060: 4b0c ldr r3, [pc, #48] ; (9094 ) + 9062: 4798 blx r3 + 9064: 901c str r0, [sp, #112] ; 0x70 lv_color_t * map2 = _lv_mem_buf_get(mask_buf_size * sizeof(lv_color_t)); - 960e: 9b1c ldr r3, [sp, #112] ; 0x70 - 9610: 0058 lsls r0, r3, #1 - 9612: 4c0b ldr r4, [pc, #44] ; (9640 ) - 9614: 47a0 blx r4 - 9616: 901a str r0, [sp, #104] ; 0x68 + 9066: 9b1c ldr r3, [sp, #112] ; 0x70 + 9068: 0058 lsls r0, r3, #1 + 906a: 4c0b ldr r4, [pc, #44] ; (9098 ) + 906c: 47a0 blx r4 + 906e: 901a str r0, [sp, #104] ; 0x68 lv_opa_t * mask_buf = _lv_mem_buf_get(mask_buf_size); - 9618: 981c ldr r0, [sp, #112] ; 0x70 - 961a: 47a0 blx r4 - 961c: 9017 str r0, [sp, #92] ; 0x5c + 9070: 981c ldr r0, [sp, #112] ; 0x70 + 9072: 47a0 blx r4 + 9074: 9017 str r0, [sp, #92] ; 0x5c _lv_memset_00(&trans_dsc, sizeof(lv_img_transform_dsc_t)); - 961e: 2148 movs r1, #72 ; 0x48 - 9620: a828 add r0, sp, #160 ; 0xa0 - 9622: 4b08 ldr r3, [pc, #32] ; (9644 ) - 9624: 4798 blx r3 + 9076: 2148 movs r1, #72 ; 0x48 + 9078: a828 add r0, sp, #160 ; 0xa0 + 907a: 4b08 ldr r3, [pc, #32] ; (909c ) + 907c: 4798 blx r3 if(transform) { - 9626: 9b05 ldr r3, [sp, #20] - 9628: 2b00 cmp r3, #0 - 962a: d036 beq.n 969a - 962c: e291 b.n 9b52 - 962e: bf00 nop - 9630: 00006511 .word 0x00006511 - 9634: 00011585 .word 0x00011585 - 9638: 0000c46d .word 0x0000c46d - 963c: 00011aa5 .word 0x00011aa5 - 9640: 00012ee5 .word 0x00012ee5 - 9644: 000130df .word 0x000130df - 9648: 00008829 .word 0x00008829 - 964c: 00012b19 .word 0x00012b19 + 907e: 9b05 ldr r3, [sp, #20] + 9080: 2b00 cmp r3, #0 + 9082: d036 beq.n 90f2 + 9084: e291 b.n 95aa + 9086: bf00 nop + 9088: 00005f69 .word 0x00005f69 + 908c: 00010fdd .word 0x00010fdd + 9090: 0000bec5 .word 0x0000bec5 + 9094: 000114fd .word 0x000114fd + 9098: 0001293d .word 0x0001293d + 909c: 00012b37 .word 0x00012b37 + 90a0: 00008281 .word 0x00008281 + 90a4: 00012571 .word 0x00012571 lv_img_cf_t cf = LV_IMG_CF_TRUE_COLOR; if(alpha_byte) cf = LV_IMG_CF_TRUE_COLOR_ALPHA; - 9650: 2205 movs r2, #5 + 90a8: 2205 movs r2, #5 else if(chroma_key) cf = LV_IMG_CF_TRUE_COLOR_CHROMA_KEYED; trans_dsc.cfg.angle = draw_dsc->angle; - 9652: 9808 ldr r0, [sp, #32] - 9654: 8843 ldrh r3, [r0, #2] - 9656: f8ad 30ac strh.w r3, [sp, #172] ; 0xac + 90aa: 9808 ldr r0, [sp, #32] + 90ac: 8843 ldrh r3, [r0, #2] + 90ae: f8ad 30ac strh.w r3, [sp, #172] ; 0xac trans_dsc.cfg.zoom = draw_dsc->zoom; - 965a: 8903 ldrh r3, [r0, #8] - 965c: f8ad 30ae strh.w r3, [sp, #174] ; 0xae + 90b2: 8903 ldrh r3, [r0, #8] + 90b4: f8ad 30ae strh.w r3, [sp, #174] ; 0xae trans_dsc.cfg.src = map_p; - 9660: 9728 str r7, [sp, #160] ; 0xa0 + 90b8: 9728 str r7, [sp, #160] ; 0xa0 trans_dsc.cfg.src_w = map_w; - 9662: f8ad 50a4 strh.w r5, [sp, #164] ; 0xa4 + 90ba: f8ad 50a4 strh.w r5, [sp, #164] ; 0xa4 return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - 9666: 991b ldr r1, [sp, #108] ; 0x6c - 9668: 88cb ldrh r3, [r1, #6] - 966a: 3301 adds r3, #1 - 966c: 8849 ldrh r1, [r1, #2] - 966e: 1a5b subs r3, r3, r1 + 90be: 991b ldr r1, [sp, #108] ; 0x6c + 90c0: 88cb ldrh r3, [r1, #6] + 90c2: 3301 adds r3, #1 + 90c4: 8849 ldrh r1, [r1, #2] + 90c6: 1a5b subs r3, r3, r1 trans_dsc.cfg.src_h = lv_area_get_height(map_area);; - 9670: f8ad 30a6 strh.w r3, [sp, #166] ; 0xa6 + 90c8: f8ad 30a6 strh.w r3, [sp, #166] ; 0xa6 trans_dsc.cfg.cf = cf; - 9674: f88d 20b2 strb.w r2, [sp, #178] ; 0xb2 + 90cc: f88d 20b2 strb.w r2, [sp, #178] ; 0xb2 trans_dsc.cfg.pivot_x = draw_dsc->pivot.x; - 9678: 8883 ldrh r3, [r0, #4] - 967a: f8ad 30a8 strh.w r3, [sp, #168] ; 0xa8 + 90d0: 8883 ldrh r3, [r0, #4] + 90d2: f8ad 30a8 strh.w r3, [sp, #168] ; 0xa8 trans_dsc.cfg.pivot_y = draw_dsc->pivot.y; - 967e: 88c3 ldrh r3, [r0, #6] - 9680: f8ad 30aa strh.w r3, [sp, #170] ; 0xaa + 90d6: 88c3 ldrh r3, [r0, #6] + 90d8: f8ad 30aa strh.w r3, [sp, #170] ; 0xaa trans_dsc.cfg.color = draw_dsc->recolor; - 9684: 8983 ldrh r3, [r0, #12] - 9686: f8ad 30b0 strh.w r3, [sp, #176] ; 0xb0 + 90dc: 8983 ldrh r3, [r0, #12] + 90de: f8ad 30b0 strh.w r3, [sp, #176] ; 0xb0 trans_dsc.cfg.antialias = draw_dsc->antialias; - 968a: 7bc3 ldrb r3, [r0, #15] - 968c: f3c3 0300 ubfx r3, r3, #0, #1 - 9690: f88d 30b3 strb.w r3, [sp, #179] ; 0xb3 + 90e2: 7bc3 ldrb r3, [r0, #15] + 90e4: f3c3 0300 ubfx r3, r3, #0, #1 + 90e8: f88d 30b3 strb.w r3, [sp, #179] ; 0xb3 _lv_img_buf_transform_init(&trans_dsc); - 9694: a828 add r0, sp, #160 ; 0xa0 - 9696: 4b93 ldr r3, [pc, #588] ; (98e4 ) - 9698: 4798 blx r3 + 90ec: a828 add r0, sp, #160 ; 0xa0 + 90ee: 4b93 ldr r3, [pc, #588] ; (933c ) + 90f0: 4798 blx r3 } #endif uint16_t recolor_premult[3] = {0}; lv_opa_t recolor_opa_inv = 255 - draw_dsc->recolor_opa; - 969a: 9808 ldr r0, [sp, #32] - 969c: 7a83 ldrb r3, [r0, #10] - 969e: 43da mvns r2, r3 - 96a0: b2d2 uxtb r2, r2 - 96a2: 9212 str r2, [sp, #72] ; 0x48 + 90f2: 9808 ldr r0, [sp, #32] + 90f4: 7a83 ldrb r3, [r0, #10] + 90f6: 43da mvns r2, r3 + 90f8: b2d2 uxtb r2, r2 + 90fa: 9212 str r2, [sp, #72] ; 0x48 if(draw_dsc->recolor_opa != 0) { - 96a4: b303 cbz r3, 96e8 + 90fc: b303 cbz r3, 9140 out[0] = (uint16_t) LV_COLOR_GET_R(c) * mix; - 96a6: b29b uxth r3, r3 - 96a8: 7b42 ldrb r2, [r0, #13] - 96aa: 08d2 lsrs r2, r2, #3 - 96ac: fb02 f203 mul.w r2, r2, r3 - 96b0: 9210 str r2, [sp, #64] ; 0x40 + 90fe: b29b uxth r3, r3 + 9100: 7b42 ldrb r2, [r0, #13] + 9102: 08d2 lsrs r2, r2, #3 + 9104: fb02 f203 mul.w r2, r2, r3 + 9108: 9210 str r2, [sp, #64] ; 0x40 out[1] = (uint16_t) LV_COLOR_GET_G(c) * mix; - 96b2: 8982 ldrh r2, [r0, #12] - 96b4: f3c2 1245 ubfx r2, r2, #5, #6 - 96b8: fb02 f203 mul.w r2, r2, r3 - 96bc: 9211 str r2, [sp, #68] ; 0x44 + 910a: 8982 ldrh r2, [r0, #12] + 910c: f3c2 1245 ubfx r2, r2, #5, #6 + 9110: fb02 f203 mul.w r2, r2, r3 + 9114: 9211 str r2, [sp, #68] ; 0x44 out[2] = (uint16_t) LV_COLOR_GET_B(c) * mix; - 96be: 7b02 ldrb r2, [r0, #12] - 96c0: f002 021f and.w r2, r2, #31 - 96c4: fb02 f303 mul.w r3, r2, r3 - 96c8: 9313 str r3, [sp, #76] ; 0x4c + 9116: 7b02 ldrb r2, [r0, #12] + 9118: f002 021f and.w r2, r2, #31 + 911c: fb02 f303 mul.w r3, r2, r3 + 9120: 9313 str r3, [sp, #76] ; 0x4c lv_color_premult(draw_dsc->recolor, draw_dsc->recolor_opa, recolor_premult); } lv_draw_mask_res_t mask_res; mask_res = (alpha_byte || chroma_key || draw_dsc->angle || - 96ca: 9b06 ldr r3, [sp, #24] - 96cc: b98b cbnz r3, 96f2 - 96ce: 9b0a ldr r3, [sp, #40] ; 0x28 - 96d0: bb53 cbnz r3, 9728 - 96d2: 9a08 ldr r2, [sp, #32] - 96d4: 8853 ldrh r3, [r2, #2] - 96d6: bb53 cbnz r3, 972e - 96d8: 8913 ldrh r3, [r2, #8] - 96da: f5b3 7f80 cmp.w r3, #256 ; 0x100 - 96de: bf14 ite ne - 96e0: 2302 movne r3, #2 - 96e2: 2301 moveq r3, #1 - 96e4: 931d str r3, [sp, #116] ; 0x74 - 96e6: e006 b.n 96f6 + 9122: 9b06 ldr r3, [sp, #24] + 9124: b98b cbnz r3, 914a + 9126: 9b0a ldr r3, [sp, #40] ; 0x28 + 9128: bb53 cbnz r3, 9180 + 912a: 9a08 ldr r2, [sp, #32] + 912c: 8853 ldrh r3, [r2, #2] + 912e: bb53 cbnz r3, 9186 + 9130: 8913 ldrh r3, [r2, #8] + 9132: f5b3 7f80 cmp.w r3, #256 ; 0x100 + 9136: bf14 ite ne + 9138: 2302 movne r3, #2 + 913a: 2301 moveq r3, #1 + 913c: 931d str r3, [sp, #116] ; 0x74 + 913e: e006 b.n 914e uint16_t recolor_premult[3] = {0}; - 96e8: 2300 movs r3, #0 - 96ea: 9313 str r3, [sp, #76] ; 0x4c - 96ec: 9311 str r3, [sp, #68] ; 0x44 - 96ee: 9310 str r3, [sp, #64] ; 0x40 - 96f0: e7eb b.n 96ca + 9140: 2300 movs r3, #0 + 9142: 9313 str r3, [sp, #76] ; 0x4c + 9144: 9311 str r3, [sp, #68] ; 0x44 + 9146: 9310 str r3, [sp, #64] ; 0x40 + 9148: e7eb b.n 9122 mask_res = (alpha_byte || chroma_key || draw_dsc->angle || - 96f2: 2302 movs r3, #2 - 96f4: 931d str r3, [sp, #116] ; 0x74 + 914a: 2302 movs r3, #2 + 914c: 931d str r3, [sp, #116] ; 0x74 draw_dsc->zoom != LV_IMG_ZOOM_NONE) ? LV_DRAW_MASK_RES_CHANGED : LV_DRAW_MASK_RES_FULL_COVER; /*Prepare the `mask_buf`if there are other masks*/ if(other_mask_cnt) { - 96f6: 9b19 ldr r3, [sp, #100] ; 0x64 - 96f8: b9e3 cbnz r3, 9734 + 914e: 9b19 ldr r3, [sp, #100] ; 0x64 + 9150: b9e3 cbnz r3, 918c } int32_t x; int32_t y; #if LV_USE_IMG_TRANSFORM int32_t rot_y = disp_area->y1 + draw_area.y1 - map_area->y1; - 96fa: 9b18 ldr r3, [sp, #96] ; 0x60 - 96fc: f9b3 3012 ldrsh.w r3, [r3, #18] - 9700: f9bd 20ea ldrsh.w r2, [sp, #234] ; 0xea - 9704: 4413 add r3, r2 - 9706: 9a1b ldr r2, [sp, #108] ; 0x6c - 9708: f9b2 2002 ldrsh.w r2, [r2, #2] - 970c: 1a9b subs r3, r3, r2 - 970e: 9322 str r3, [sp, #136] ; 0x88 + 9152: 9b18 ldr r3, [sp, #96] ; 0x60 + 9154: f9b3 3012 ldrsh.w r3, [r3, #18] + 9158: f9bd 20ea ldrsh.w r2, [sp, #234] ; 0xea + 915c: 4413 add r3, r2 + 915e: 9a1b ldr r2, [sp, #108] ; 0x6c + 9160: f9b2 2002 ldrsh.w r2, [r2, #2] + 9164: 1a9b subs r3, r3, r2 + 9166: 9322 str r3, [sp, #136] ; 0x88 #endif for(y = 0; y < draw_area_h; y++) { - 9710: 961f str r6, [sp, #124] ; 0x7c - 9712: 2e00 cmp r6, #0 - 9714: f340 81e4 ble.w 9ae0 + 9168: 961f str r6, [sp, #124] ; 0x7c + 916a: 2e00 cmp r6, #0 + 916c: f340 81e4 ble.w 9538 else if(mask_res_sub == LV_DRAW_MASK_RES_CHANGED) { mask_res = LV_DRAW_MASK_RES_CHANGED; } } map_buf_tmp += map_w * px_size_byte; - 9718: fb08 f305 mul.w r3, r8, r5 - 971c: 931e str r3, [sp, #120] ; 0x78 - 971e: 2300 movs r3, #0 - 9720: 930e str r3, [sp, #56] ; 0x38 - 9722: 930f str r3, [sp, #60] ; 0x3c + 9170: fb08 f305 mul.w r3, r8, r5 + 9174: 931e str r3, [sp, #120] ; 0x78 + 9176: 2300 movs r3, #0 + 9178: 930e str r3, [sp, #56] ; 0x38 + 917a: 930f str r3, [sp, #60] ; 0x3c } } else { pxi = 0; /*unused*/ px_size = 0; /*unused*/ dsc->res.color = lv_img_buf_get_px_color(&dsc->tmp.img_dsc, xs_int, ys_int, dsc->cfg.color); - 9724: 46d1 mov r9, sl - 9726: e154 b.n 99d2 + 917c: 46d1 mov r9, sl + 917e: e154 b.n 942a mask_res = (alpha_byte || chroma_key || draw_dsc->angle || - 9728: 2302 movs r3, #2 - 972a: 931d str r3, [sp, #116] ; 0x74 - 972c: e7e3 b.n 96f6 - 972e: 2302 movs r3, #2 - 9730: 931d str r3, [sp, #116] ; 0x74 - 9732: e7e0 b.n 96f6 + 9180: 2302 movs r3, #2 + 9182: 931d str r3, [sp, #116] ; 0x74 + 9184: e7e3 b.n 914e + 9186: 2302 movs r3, #2 + 9188: 931d str r3, [sp, #116] ; 0x74 + 918a: e7e0 b.n 914e _lv_memset_ff(mask_buf, mask_buf_size); - 9734: 991c ldr r1, [sp, #112] ; 0x70 - 9736: 9817 ldr r0, [sp, #92] ; 0x5c - 9738: 4b6b ldr r3, [pc, #428] ; (98e8 ) - 973a: 4798 blx r3 - 973c: e7dd b.n 96fa + 918c: 991c ldr r1, [sp, #112] ; 0x70 + 918e: 9817 ldr r0, [sp, #92] ; 0x5c + 9190: 4b6b ldr r3, [pc, #428] ; (9340 ) + 9192: 4798 blx r3 + 9194: e7dd b.n 9152 int32_t xt = x - dsc->cfg.pivot_x; - 973e: 9b0c ldr r3, [sp, #48] ; 0x30 - 9740: 442b add r3, r5 - 9742: b21b sxth r3, r3 - 9744: f9bd 20a8 ldrsh.w r2, [sp, #168] ; 0xa8 - 9748: 1a9b subs r3, r3, r2 + 9196: 9b0c ldr r3, [sp, #48] ; 0x30 + 9198: 442b add r3, r5 + 919a: b21b sxth r3, r3 + 919c: f9bd 20a8 ldrsh.w r2, [sp, #168] ; 0xa8 + 91a0: 1a9b subs r3, r3, r2 int32_t yt = y - dsc->cfg.pivot_y; - 974a: f9bd 20aa ldrsh.w r2, [sp, #170] ; 0xaa - 974e: 990d ldr r1, [sp, #52] ; 0x34 - 9750: 1a8a subs r2, r1, r2 + 91a2: f9bd 20aa ldrsh.w r2, [sp, #170] ; 0xaa + 91a6: 990d ldr r1, [sp, #52] ; 0x34 + 91a8: 1a8a subs r2, r1, r2 if(dsc->cfg.zoom == LV_IMG_ZOOM_NONE) { - 9752: f8bd 10ae ldrh.w r1, [sp, #174] ; 0xae - 9756: f5b1 7f80 cmp.w r1, #256 ; 0x100 - 975a: d056 beq.n 980a + 91aa: f8bd 10ae ldrh.w r1, [sp, #174] ; 0xae + 91ae: f5b1 7f80 cmp.w r1, #256 ; 0x100 + 91b2: d056 beq.n 9262 else if(dsc->cfg.angle == 0) { - 975c: f9bd 10ac ldrsh.w r1, [sp, #172] ; 0xac - 9760: 2900 cmp r1, #0 - 9762: d165 bne.n 9830 + 91b4: f9bd 10ac ldrsh.w r1, [sp, #172] ; 0xac + 91b8: 2900 cmp r1, #0 + 91ba: d165 bne.n 9288 xt *= dsc->tmp.zoom_inv; - 9764: f8bd 10d6 ldrh.w r1, [sp, #214] ; 0xd6 + 91bc: f8bd 10d6 ldrh.w r1, [sp, #214] ; 0xd6 xs = xt + dsc->tmp.pivot_x_256; - 9768: 9c31 ldr r4, [sp, #196] ; 0xc4 - 976a: fb01 4303 mla r3, r1, r3, r4 - 976e: 9309 str r3, [sp, #36] ; 0x24 + 91c0: 9c31 ldr r4, [sp, #196] ; 0xc4 + 91c2: fb01 4303 mla r3, r1, r3, r4 + 91c6: 9309 str r3, [sp, #36] ; 0x24 ys = yt + dsc->tmp.pivot_y_256; - 9770: 9b32 ldr r3, [sp, #200] ; 0xc8 - 9772: fb01 3302 mla r3, r1, r2, r3 - 9776: 930b str r3, [sp, #44] ; 0x2c + 91c8: 9b32 ldr r3, [sp, #200] ; 0xc8 + 91ca: fb01 3302 mla r3, r1, r2, r3 + 91ce: 930b str r3, [sp, #44] ; 0x2c int32_t xs_int = xs >> 8; - 9778: 9b09 ldr r3, [sp, #36] ; 0x24 - 977a: 121f asrs r7, r3, #8 + 91d0: 9b09 ldr r3, [sp, #36] ; 0x24 + 91d2: 121f asrs r7, r3, #8 if(xs_int >= dsc->cfg.src_w) return false; - 977c: f9bd 30a4 ldrsh.w r3, [sp, #164] ; 0xa4 - 9780: 429f cmp r7, r3 - 9782: f280 80ab bge.w 98dc + 91d4: f9bd 30a4 ldrsh.w r3, [sp, #164] ; 0xa4 + 91d8: 429f cmp r7, r3 + 91da: f280 80ab bge.w 9334 else if(xs_int < 0) return false; - 9786: 2f00 cmp r7, #0 - 9788: f2c0 80a8 blt.w 98dc + 91de: 2f00 cmp r7, #0 + 91e0: f2c0 80a8 blt.w 9334 int32_t ys_int = ys >> 8; - 978c: 9a0b ldr r2, [sp, #44] ; 0x2c - 978e: 1212 asrs r2, r2, #8 - 9790: 4610 mov r0, r2 - 9792: 9215 str r2, [sp, #84] ; 0x54 + 91e4: 9a0b ldr r2, [sp, #44] ; 0x2c + 91e6: 1212 asrs r2, r2, #8 + 91e8: 4610 mov r0, r2 + 91ea: 9215 str r2, [sp, #84] ; 0x54 if(ys_int >= dsc->cfg.src_h) return false; - 9794: f9bd 20a6 ldrsh.w r2, [sp, #166] ; 0xa6 - 9798: 4290 cmp r0, r2 - 979a: f280 809f bge.w 98dc + 91ec: f9bd 20a6 ldrsh.w r2, [sp, #166] ; 0xa6 + 91f0: 4290 cmp r0, r2 + 91f2: f280 809f bge.w 9334 else if(ys_int < 0) return false; - 979e: 2800 cmp r0, #0 - 97a0: f2c0 809c blt.w 98dc + 91f6: 2800 cmp r0, #0 + 91f8: f2c0 809c blt.w 9334 if(dsc->tmp.native_color) { - 97a4: f89d 20d4 ldrb.w r2, [sp, #212] ; 0xd4 - 97a8: f012 0f04 tst.w r2, #4 - 97ac: d06a beq.n 9884 + 91fc: f89d 20d4 ldrb.w r2, [sp, #212] ; 0xd4 + 9200: f012 0f04 tst.w r2, #4 + 9204: d06a beq.n 92dc const uint8_t * src_u8 = (const uint8_t *)dsc->cfg.src; - 97ae: 9928 ldr r1, [sp, #160] ; 0xa0 + 9206: 9928 ldr r1, [sp, #160] ; 0xa0 if(dsc->tmp.has_alpha == 0) { - 97b0: f012 0f02 tst.w r2, #2 - 97b4: d155 bne.n 9862 + 9208: f012 0f02 tst.w r2, #2 + 920c: d155 bne.n 92ba pxi = dsc->cfg.src_w * ys_int * px_size + xs_int * px_size; - 97b6: fb03 7300 mla r3, r3, r0, r7 - 97ba: 005a lsls r2, r3, #1 + 920e: fb03 7300 mla r3, r3, r0, r7 + 9212: 005a lsls r2, r3, #1 _lv_memcpy_small(&dsc->res.color, &src_u8[pxi], px_size); - 97bc: 1888 adds r0, r1, r2 + 9214: 1888 adds r0, r1, r2 *d8 = *s8; - 97be: f811 3013 ldrb.w r3, [r1, r3, lsl #1] - 97c2: f88d 30b4 strb.w r3, [sp, #180] ; 0xb4 - 97c6: 7843 ldrb r3, [r0, #1] - 97c8: f88d 30b5 strb.w r3, [sp, #181] ; 0xb5 + 9216: f811 3013 ldrb.w r3, [r1, r3, lsl #1] + 921a: f88d 30b4 strb.w r3, [sp, #180] ; 0xb4 + 921e: 7843 ldrb r3, [r0, #1] + 9220: f88d 30b5 strb.w r3, [sp, #181] ; 0xb5 px_size = LV_COLOR_SIZE >> 3; - 97cc: 2102 movs r1, #2 + 9224: 2102 movs r1, #2 dsc->res.opa = lv_img_buf_get_px_alpha(&dsc->tmp.img_dsc, xs_int, ys_int); } if(dsc->tmp.chroma_keyed) { - 97ce: f89d 30d4 ldrb.w r3, [sp, #212] ; 0xd4 - 97d2: f013 0f01 tst.w r3, #1 - 97d6: d00d beq.n 97f4 + 9226: f89d 30d4 ldrb.w r3, [sp, #212] ; 0xd4 + 922a: f013 0f01 tst.w r3, #1 + 922e: d00d beq.n 924c lv_color_t ct = LV_COLOR_TRANSP; - 97d8: 9b20 ldr r3, [sp, #128] ; 0x80 - 97da: f36f 0304 bfc r3, #0, #5 - 97de: f443 63fc orr.w r3, r3, #2016 ; 0x7e0 - 97e2: f36f 23cf bfc r3, #11, #5 - 97e6: f8ad 3080 strh.w r3, [sp, #128] ; 0x80 + 9230: 9b20 ldr r3, [sp, #128] ; 0x80 + 9232: f36f 0304 bfc r3, #0, #5 + 9236: f443 63fc orr.w r3, r3, #2016 ; 0x7e0 + 923a: f36f 23cf bfc r3, #11, #5 + 923e: f8ad 3080 strh.w r3, [sp, #128] ; 0x80 if(dsc->res.color.full == ct.full) return false; - 97ea: f8bd 00b4 ldrh.w r0, [sp, #180] ; 0xb4 - 97ee: b29b uxth r3, r3 - 97f0: 4298 cmp r0, r3 - 97f2: d073 beq.n 98dc + 9242: f8bd 00b4 ldrh.w r0, [sp, #180] ; 0xb4 + 9246: b29b uxth r3, r3 + 9248: 4298 cmp r0, r3 + 924a: d073 beq.n 9334 } if(dsc->cfg.antialias == false) return true; - 97f4: f89d 30b3 ldrb.w r3, [sp, #179] ; 0xb3 - 97f8: 2b00 cmp r3, #0 - 97fa: d159 bne.n 98b0 + 924c: f89d 30b3 ldrb.w r3, [sp, #179] ; 0xb3 + 9250: 2b00 cmp r3, #0 + 9252: d159 bne.n 9308 mask_buf[px_i] = trans_dsc.res.opa; - 97fc: f89d 30b6 ldrb.w r3, [sp, #182] ; 0xb6 - 9800: f88a 3000 strb.w r3, [sl] + 9254: f89d 30b6 ldrb.w r3, [sp, #182] ; 0xb6 + 9258: f88a 3000 strb.w r3, [sl] c.full = trans_dsc.res.color.full; - 9804: f8bd 30b4 ldrh.w r3, [sp, #180] ; 0xb4 - 9808: e086 b.n 9918 + 925c: f8bd 30b4 ldrh.w r3, [sp, #180] ; 0xb4 + 9260: e086 b.n 9370 xs = ((dsc->tmp.cosma * xt - dsc->tmp.sinma * yt) >> (LV_TRIGO_SHIFT - 8)) + dsc->tmp.pivot_x_256; - 980a: 9834 ldr r0, [sp, #208] ; 0xd0 - 980c: 9933 ldr r1, [sp, #204] ; 0xcc - 980e: fb00 f403 mul.w r4, r0, r3 - 9812: fb01 4712 mls r7, r1, r2, r4 - 9816: 9c31 ldr r4, [sp, #196] ; 0xc4 - 9818: eb04 14e7 add.w r4, r4, r7, asr #7 - 981c: 9409 str r4, [sp, #36] ; 0x24 + 9262: 9834 ldr r0, [sp, #208] ; 0xd0 + 9264: 9933 ldr r1, [sp, #204] ; 0xcc + 9266: fb00 f403 mul.w r4, r0, r3 + 926a: fb01 4712 mls r7, r1, r2, r4 + 926e: 9c31 ldr r4, [sp, #196] ; 0xc4 + 9270: eb04 14e7 add.w r4, r4, r7, asr #7 + 9274: 9409 str r4, [sp, #36] ; 0x24 ys = ((dsc->tmp.sinma * xt + dsc->tmp.cosma * yt) >> (LV_TRIGO_SHIFT - 8)) + dsc->tmp.pivot_y_256; - 981e: fb00 f202 mul.w r2, r0, r2 - 9822: fb01 2303 mla r3, r1, r3, r2 - 9826: 9a32 ldr r2, [sp, #200] ; 0xc8 - 9828: eb02 13e3 add.w r3, r2, r3, asr #7 - 982c: 930b str r3, [sp, #44] ; 0x2c - 982e: e7a3 b.n 9778 + 9276: fb00 f202 mul.w r2, r0, r2 + 927a: fb01 2303 mla r3, r1, r3, r2 + 927e: 9a32 ldr r2, [sp, #200] ; 0xc8 + 9280: eb02 13e3 add.w r3, r2, r3, asr #7 + 9284: 930b str r3, [sp, #44] ; 0x2c + 9286: e7a3 b.n 91d0 xt *= dsc->tmp.zoom_inv; - 9830: f8bd 10d6 ldrh.w r1, [sp, #214] ; 0xd6 - 9834: fb01 f303 mul.w r3, r1, r3 + 9288: f8bd 10d6 ldrh.w r1, [sp, #214] ; 0xd6 + 928c: fb01 f303 mul.w r3, r1, r3 yt *= dsc->tmp.zoom_inv; - 9838: fb01 f202 mul.w r2, r1, r2 + 9290: fb01 f202 mul.w r2, r1, r2 xs = ((dsc->tmp.cosma * xt - dsc->tmp.sinma * yt) >> (LV_TRIGO_SHIFT)) + dsc->tmp.pivot_x_256; - 983c: 9934 ldr r1, [sp, #208] ; 0xd0 - 983e: 9833 ldr r0, [sp, #204] ; 0xcc - 9840: fb01 f403 mul.w r4, r1, r3 - 9844: fb00 4712 mls r7, r0, r2, r4 - 9848: 9c31 ldr r4, [sp, #196] ; 0xc4 - 984a: eb04 34e7 add.w r4, r4, r7, asr #15 - 984e: 9409 str r4, [sp, #36] ; 0x24 + 9294: 9934 ldr r1, [sp, #208] ; 0xd0 + 9296: 9833 ldr r0, [sp, #204] ; 0xcc + 9298: fb01 f403 mul.w r4, r1, r3 + 929c: fb00 4712 mls r7, r0, r2, r4 + 92a0: 9c31 ldr r4, [sp, #196] ; 0xc4 + 92a2: eb04 34e7 add.w r4, r4, r7, asr #15 + 92a6: 9409 str r4, [sp, #36] ; 0x24 ys = ((dsc->tmp.sinma * xt + dsc->tmp.cosma * yt) >> (LV_TRIGO_SHIFT)) + dsc->tmp.pivot_y_256; - 9850: fb01 f202 mul.w r2, r1, r2 - 9854: fb00 2303 mla r3, r0, r3, r2 - 9858: 9a32 ldr r2, [sp, #200] ; 0xc8 - 985a: eb02 33e3 add.w r3, r2, r3, asr #15 - 985e: 930b str r3, [sp, #44] ; 0x2c - 9860: e78a b.n 9778 + 92a8: fb01 f202 mul.w r2, r1, r2 + 92ac: fb00 2303 mla r3, r0, r3, r2 + 92b0: 9a32 ldr r2, [sp, #200] ; 0xc8 + 92b2: eb02 33e3 add.w r3, r2, r3, asr #15 + 92b6: 930b str r3, [sp, #44] ; 0x2c + 92b8: e78a b.n 91d0 pxi = dsc->cfg.src_w * ys_int * px_size + xs_int * px_size; - 9862: 9a15 ldr r2, [sp, #84] ; 0x54 - 9864: fb03 7302 mla r3, r3, r2, r7 - 9868: eb03 0243 add.w r2, r3, r3, lsl #1 + 92ba: 9a15 ldr r2, [sp, #84] ; 0x54 + 92bc: fb03 7302 mla r3, r3, r2, r7 + 92c0: eb03 0243 add.w r2, r3, r3, lsl #1 _lv_memcpy_small(&dsc->res.color, &src_u8[pxi], px_size - 1); - 986c: 188b adds r3, r1, r2 - 986e: 5c89 ldrb r1, [r1, r2] - 9870: f88d 10b4 strb.w r1, [sp, #180] ; 0xb4 - 9874: 7859 ldrb r1, [r3, #1] - 9876: f88d 10b5 strb.w r1, [sp, #181] ; 0xb5 + 92c4: 188b adds r3, r1, r2 + 92c6: 5c89 ldrb r1, [r1, r2] + 92c8: f88d 10b4 strb.w r1, [sp, #180] ; 0xb4 + 92cc: 7859 ldrb r1, [r3, #1] + 92ce: f88d 10b5 strb.w r1, [sp, #181] ; 0xb5 dsc->res.opa = src_u8[pxi + px_size - 1]; - 987a: 789b ldrb r3, [r3, #2] - 987c: f88d 30b6 strb.w r3, [sp, #182] ; 0xb6 + 92d2: 789b ldrb r3, [r3, #2] + 92d4: f88d 30b6 strb.w r3, [sp, #182] ; 0xb6 px_size = LV_IMG_PX_SIZE_ALPHA_BYTE; - 9880: 2103 movs r1, #3 - 9882: e7a4 b.n 97ce + 92d8: 2103 movs r1, #3 + 92da: e7a4 b.n 9226 dsc->res.color = lv_img_buf_get_px_color(&dsc->tmp.img_dsc, xs_int, ys_int, dsc->cfg.color); - 9884: b239 sxth r1, r7 - 9886: f9bd 2054 ldrsh.w r2, [sp, #84] ; 0x54 - 988a: f8bd 30b0 ldrh.w r3, [sp, #176] ; 0xb0 - 988e: 9225 str r2, [sp, #148] ; 0x94 - 9890: 9124 str r1, [sp, #144] ; 0x90 - 9892: a82e add r0, sp, #184 ; 0xb8 - 9894: 4c15 ldr r4, [pc, #84] ; (98ec ) - 9896: 47a0 blx r4 - 9898: f8ad 00b4 strh.w r0, [sp, #180] ; 0xb4 + 92dc: b239 sxth r1, r7 + 92de: f9bd 2054 ldrsh.w r2, [sp, #84] ; 0x54 + 92e2: f8bd 30b0 ldrh.w r3, [sp, #176] ; 0xb0 + 92e6: 9225 str r2, [sp, #148] ; 0x94 + 92e8: 9124 str r1, [sp, #144] ; 0x90 + 92ea: a82e add r0, sp, #184 ; 0xb8 + 92ec: 4c15 ldr r4, [pc, #84] ; (9344 ) + 92ee: 47a0 blx r4 + 92f0: f8ad 00b4 strh.w r0, [sp, #180] ; 0xb4 dsc->res.opa = lv_img_buf_get_px_alpha(&dsc->tmp.img_dsc, xs_int, ys_int); - 989c: 9a25 ldr r2, [sp, #148] ; 0x94 - 989e: 9924 ldr r1, [sp, #144] ; 0x90 - 98a0: a82e add r0, sp, #184 ; 0xb8 - 98a2: 4b13 ldr r3, [pc, #76] ; (98f0 ) - 98a4: 4798 blx r3 - 98a6: f88d 00b6 strb.w r0, [sp, #182] ; 0xb6 + 92f4: 9a25 ldr r2, [sp, #148] ; 0x94 + 92f6: 9924 ldr r1, [sp, #144] ; 0x90 + 92f8: a82e add r0, sp, #184 ; 0xb8 + 92fa: 4b13 ldr r3, [pc, #76] ; (9348 ) + 92fc: 4798 blx r3 + 92fe: f88d 00b6 strb.w r0, [sp, #182] ; 0xb6 pxi = 0; /*unused*/ - 98aa: 2200 movs r2, #0 + 9302: 2200 movs r2, #0 px_size = 0; /*unused*/ - 98ac: 4611 mov r1, r2 - 98ae: e78e b.n 97ce + 9304: 4611 mov r1, r2 + 9306: e78e b.n 9226 dsc->tmp.xs = xs; - 98b0: f8bd 3024 ldrh.w r3, [sp, #36] ; 0x24 - 98b4: f8ad 30d8 strh.w r3, [sp, #216] ; 0xd8 + 9308: f8bd 3024 ldrh.w r3, [sp, #36] ; 0x24 + 930c: f8ad 30d8 strh.w r3, [sp, #216] ; 0xd8 dsc->tmp.ys = ys; - 98b8: f8bd 302c ldrh.w r3, [sp, #44] ; 0x2c - 98bc: f8ad 30da strh.w r3, [sp, #218] ; 0xda + 9310: f8bd 302c ldrh.w r3, [sp, #44] ; 0x2c + 9314: f8ad 30da strh.w r3, [sp, #218] ; 0xda dsc->tmp.xs_int = xs_int; - 98c0: f8ad 70dc strh.w r7, [sp, #220] ; 0xdc + 9318: f8ad 70dc strh.w r7, [sp, #220] ; 0xdc dsc->tmp.ys_int = ys_int; - 98c4: f8bd 3054 ldrh.w r3, [sp, #84] ; 0x54 - 98c8: f8ad 30de strh.w r3, [sp, #222] ; 0xde + 931c: f8bd 3054 ldrh.w r3, [sp, #84] ; 0x54 + 9320: f8ad 30de strh.w r3, [sp, #222] ; 0xde dsc->tmp.pxi = pxi; - 98cc: 9238 str r2, [sp, #224] ; 0xe0 + 9324: 9238 str r2, [sp, #224] ; 0xe0 dsc->tmp.px_size = px_size; - 98ce: f88d 10e4 strb.w r1, [sp, #228] ; 0xe4 + 9326: f88d 10e4 strb.w r1, [sp, #228] ; 0xe4 bool ret; ret = _lv_img_buf_transform_anti_alias(dsc); - 98d2: a828 add r0, sp, #160 ; 0xa0 - 98d4: 4b07 ldr r3, [pc, #28] ; (98f4 ) - 98d6: 4798 blx r3 + 932a: a828 add r0, sp, #160 ; 0xa0 + 932c: 4b07 ldr r3, [pc, #28] ; (934c ) + 932e: 4798 blx r3 if(ret == false) { - 98d8: 2800 cmp r0, #0 - 98da: d18f bne.n 97fc + 9330: 2800 cmp r0, #0 + 9332: d18f bne.n 9254 mask_buf[px_i] = LV_OPA_TRANSP; - 98dc: 2300 movs r3, #0 - 98de: f88a 3000 strb.w r3, [sl] + 9334: 2300 movs r3, #0 + 9336: f88a 3000 strb.w r3, [sl] continue; - 98e2: e03d b.n 9960 - 98e4: 0000f0f5 .word 0x0000f0f5 - 98e8: 00013195 .word 0x00013195 - 98ec: 0000eec1 .word 0x0000eec1 - 98f0: 0000eff1 .word 0x0000eff1 - 98f4: 0000f3a5 .word 0x0000f3a5 - 98f8: 000007e0 .word 0x000007e0 + 933a: e03d b.n 93b8 + 933c: 0000eb4d .word 0x0000eb4d + 9340: 00012bed .word 0x00012bed + 9344: 0000e919 .word 0x0000e919 + 9348: 0000ea49 .word 0x0000ea49 + 934c: 0000edfd .word 0x0000edfd + 9350: 000007e0 .word 0x000007e0 mask_buf[px_i] = 0xFF; - 98fc: 23ff movs r3, #255 ; 0xff - 98fe: f88a 3000 strb.w r3, [sl] + 9354: 23ff movs r3, #255 ; 0xff + 9356: f88a 3000 strb.w r3, [sl] c.full = map_px[0] + (map_px[1] << 8); - 9902: 7872 ldrb r2, [r6, #1] - 9904: 7833 ldrb r3, [r6, #0] - 9906: eb03 2302 add.w r3, r3, r2, lsl #8 - 990a: b29b uxth r3, r3 + 935a: 7872 ldrb r2, [r6, #1] + 935c: 7833 ldrb r3, [r6, #0] + 935e: eb03 2302 add.w r3, r3, r2, lsl #8 + 9362: b29b uxth r3, r3 if(chroma_key) { - 990c: 9a0a ldr r2, [sp, #40] ; 0x28 - 990e: b11a cbz r2, 9918 + 9364: 9a0a ldr r2, [sp, #40] ; 0x28 + 9366: b11a cbz r2, 9370 if(c.full == chroma_keyed_color.full) { - 9910: f83f 201c ldrh.w r2, [pc, #-28] ; 98f8 - 9914: 429a cmp r2, r3 - 9916: d036 beq.n 9986 + 9368: f83f 201c ldrh.w r2, [pc, #-28] ; 9350 + 936c: 429a cmp r2, r3 + 936e: d036 beq.n 93de if(draw_dsc->recolor_opa != 0) { - 9918: 9a08 ldr r2, [sp, #32] - 991a: 7a92 ldrb r2, [r2, #10] - 991c: b1ea cbz r2, 995a + 9370: 9a08 ldr r2, [sp, #32] + 9372: 7a92 ldrb r2, [r2, #10] + 9374: b1ea cbz r2, 93b2 LV_COLOR_SET_R(ret, (uint16_t)((uint16_t) premult_c1[0] + LV_COLOR_GET_R(c2) * mix) >> 8); - 991e: f8bd 2048 ldrh.w r2, [sp, #72] ; 0x48 - 9922: 0ad9 lsrs r1, r3, #11 - 9924: 9810 ldr r0, [sp, #64] ; 0x40 - 9926: fb01 0102 mla r1, r1, r2, r0 - 992a: f3c1 2104 ubfx r1, r1, #8, #5 + 9376: f8bd 2048 ldrh.w r2, [sp, #72] ; 0x48 + 937a: 0ad9 lsrs r1, r3, #11 + 937c: 9810 ldr r0, [sp, #64] ; 0x40 + 937e: fb01 0102 mla r1, r1, r2, r0 + 9382: f3c1 2104 ubfx r1, r1, #8, #5 LV_COLOR_SET_G(ret, (uint16_t)((uint16_t) premult_c1[1] + LV_COLOR_GET_G(c2) * mix) >> 8); - 992e: f3c3 1045 ubfx r0, r3, #5, #6 - 9932: 9c11 ldr r4, [sp, #68] ; 0x44 - 9934: fb00 4002 mla r0, r0, r2, r4 - 9938: f3c0 2005 ubfx r0, r0, #8, #6 + 9386: f3c3 1045 ubfx r0, r3, #5, #6 + 938a: 9c11 ldr r4, [sp, #68] ; 0x44 + 938c: fb00 4002 mla r0, r0, r2, r4 + 9390: f3c0 2005 ubfx r0, r0, #8, #6 LV_COLOR_SET_B(ret, (uint16_t)((uint16_t) premult_c1[2] + LV_COLOR_GET_B(c2) * mix) >> 8); - 993c: f003 031f and.w r3, r3, #31 - 9940: 9c13 ldr r4, [sp, #76] ; 0x4c - 9942: fb03 4302 mla r3, r3, r2, r4 - 9946: f3c3 2307 ubfx r3, r3, #8, #8 - 994a: f363 0904 bfi r9, r3, #0, #5 - 994e: f360 194a bfi r9, r0, #5, #6 - 9952: f361 29cf bfi r9, r1, #11, #5 - 9956: fa1f f389 uxth.w r3, r9 + 9394: f003 031f and.w r3, r3, #31 + 9398: 9c13 ldr r4, [sp, #76] ; 0x4c + 939a: fb03 4302 mla r3, r3, r2, r4 + 939e: f3c3 2307 ubfx r3, r3, #8, #8 + 93a2: f363 0904 bfi r9, r3, #0, #5 + 93a6: f360 194a bfi r9, r0, #5, #6 + 93aa: f361 29cf bfi r9, r1, #11, #5 + 93ae: fa1f f389 uxth.w r3, r9 map2[px_i].full = c.full; - 995a: 9a07 ldr r2, [sp, #28] - 995c: f822 3015 strh.w r3, [r2, r5, lsl #1] + 93b2: 9a07 ldr r2, [sp, #28] + 93b4: f822 3015 strh.w r3, [r2, r5, lsl #1] for(x = 0; x < draw_area_w; x++, map_px += px_size_byte, px_i++) { - 9960: 3501 adds r5, #1 - 9962: 445e add r6, fp - 9964: f10a 0a01 add.w sl, sl, #1 - 9968: 4545 cmp r5, r8 - 996a: d010 beq.n 998e + 93b8: 3501 adds r5, #1 + 93ba: 445e add r6, fp + 93bc: f10a 0a01 add.w sl, sl, #1 + 93c0: 4545 cmp r5, r8 + 93c2: d010 beq.n 93e6 if(transform) { - 996c: 9b05 ldr r3, [sp, #20] - 996e: 2b00 cmp r3, #0 - 9970: f47f aee5 bne.w 973e + 93c4: 9b05 ldr r3, [sp, #20] + 93c6: 2b00 cmp r3, #0 + 93c8: f47f aee5 bne.w 9196 if(alpha_byte) { - 9974: 9b06 ldr r3, [sp, #24] - 9976: 2b00 cmp r3, #0 - 9978: d0c0 beq.n 98fc + 93cc: 9b06 ldr r3, [sp, #24] + 93ce: 2b00 cmp r3, #0 + 93d0: d0c0 beq.n 9354 lv_opa_t px_opa = map_px[LV_IMG_PX_SIZE_ALPHA_BYTE - 1]; - 997a: 78b3 ldrb r3, [r6, #2] + 93d2: 78b3 ldrb r3, [r6, #2] mask_buf[px_i] = px_opa; - 997c: f88a 3000 strb.w r3, [sl] + 93d4: f88a 3000 strb.w r3, [sl] if(px_opa == 0) { - 9980: 2b00 cmp r3, #0 - 9982: d0ed beq.n 9960 - 9984: e7bd b.n 9902 + 93d8: 2b00 cmp r3, #0 + 93da: d0ed beq.n 93b8 + 93dc: e7bd b.n 935a mask_buf[px_i] = LV_OPA_TRANSP; - 9986: 2300 movs r3, #0 - 9988: f88a 3000 strb.w r3, [sl] + 93de: 2300 movs r3, #0 + 93e0: f88a 3000 strb.w r3, [sl] continue; - 998c: e7e8 b.n 9960 - 998e: 9b16 ldr r3, [sp, #88] ; 0x58 - 9990: 9a0f ldr r2, [sp, #60] ; 0x3c - 9992: 189c adds r4, r3, r2 + 93e4: e7e8 b.n 93b8 + 93e6: 9b16 ldr r3, [sp, #88] ; 0x58 + 93e8: 9a0f ldr r2, [sp, #60] ; 0x3c + 93ea: 189c adds r4, r3, r2 if(other_mask_cnt) { - 9994: 9b19 ldr r3, [sp, #100] ; 0x64 - 9996: 2b00 cmp r3, #0 - 9998: d13e bne.n 9a18 + 93ec: 9b19 ldr r3, [sp, #100] ; 0x64 + 93ee: 2b00 cmp r3, #0 + 93f0: d13e bne.n 9470 map_buf_tmp += map_w * px_size_byte; - 999a: 9b14 ldr r3, [sp, #80] ; 0x50 - 999c: 9a1e ldr r2, [sp, #120] ; 0x78 - 999e: 4413 add r3, r2 - 99a0: 9314 str r3, [sp, #80] ; 0x50 + 93f2: 9b14 ldr r3, [sp, #80] ; 0x50 + 93f4: 9a1e ldr r2, [sp, #120] ; 0x78 + 93f6: 4413 add r3, r2 + 93f8: 9314 str r3, [sp, #80] ; 0x50 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - 99a2: f8bd 30ec ldrh.w r3, [sp, #236] ; 0xec - 99a6: 3301 adds r3, #1 - 99a8: f8bd 20e8 ldrh.w r2, [sp, #232] ; 0xe8 - 99ac: 1a9b subs r3, r3, r2 + 93fa: f8bd 30ec ldrh.w r3, [sp, #236] ; 0xec + 93fe: 3301 adds r3, #1 + 9400: f8bd 20e8 ldrh.w r2, [sp, #232] ; 0xe8 + 9404: 1a9b subs r3, r3, r2 if(px_i + lv_area_get_width(&draw_area) < mask_buf_size) { - 99ae: fa04 f383 sxtah r3, r4, r3 - 99b2: 9a1c ldr r2, [sp, #112] ; 0x70 - 99b4: 429a cmp r2, r3 - 99b6: d95c bls.n 9a72 + 9406: fa04 f383 sxtah r3, r4, r3 + 940a: 9a1c ldr r2, [sp, #112] ; 0x70 + 940c: 429a cmp r2, r3 + 940e: d95c bls.n 94ca blend_area.y2 ++; - 99b8: f8bd 309e ldrh.w r3, [sp, #158] ; 0x9e - 99bc: 3301 adds r3, #1 - 99be: f8ad 309e strh.w r3, [sp, #158] ; 0x9e - 99c2: 940f str r4, [sp, #60] ; 0x3c + 9410: f8bd 309e ldrh.w r3, [sp, #158] ; 0x9e + 9414: 3301 adds r3, #1 + 9416: f8ad 309e strh.w r3, [sp, #158] ; 0x9e + 941a: 940f str r4, [sp, #60] ; 0x3c for(y = 0; y < draw_area_h; y++) { - 99c4: 9b0e ldr r3, [sp, #56] ; 0x38 - 99c6: 3301 adds r3, #1 - 99c8: 930e str r3, [sp, #56] ; 0x38 - 99ca: 9a1f ldr r2, [sp, #124] ; 0x7c - 99cc: 4293 cmp r3, r2 - 99ce: f000 8087 beq.w 9ae0 + 941c: 9b0e ldr r3, [sp, #56] ; 0x38 + 941e: 3301 adds r3, #1 + 9420: 930e str r3, [sp, #56] ; 0x38 + 9422: 9a1f ldr r2, [sp, #124] ; 0x7c + 9424: 4293 cmp r3, r2 + 9426: f000 8087 beq.w 9538 int32_t rot_x = disp_area->x1 + draw_area.x1 - map_area->x1; - 99d2: 9b18 ldr r3, [sp, #96] ; 0x60 - 99d4: f9b3 3010 ldrsh.w r3, [r3, #16] - 99d8: f9bd 20e8 ldrsh.w r2, [sp, #232] ; 0xe8 - 99dc: 4413 add r3, r2 - 99de: 9a1b ldr r2, [sp, #108] ; 0x6c - 99e0: f9b2 2000 ldrsh.w r2, [r2] - 99e4: 1a9b subs r3, r3, r2 - 99e6: 930c str r3, [sp, #48] ; 0x30 + 942a: 9b18 ldr r3, [sp, #96] ; 0x60 + 942c: f9b3 3010 ldrsh.w r3, [r3, #16] + 9430: f9bd 20e8 ldrsh.w r2, [sp, #232] ; 0xe8 + 9434: 4413 add r3, r2 + 9436: 9a1b ldr r2, [sp, #108] ; 0x6c + 9438: f9b2 2000 ldrsh.w r2, [r2] + 943c: 1a9b subs r3, r3, r2 + 943e: 930c str r3, [sp, #48] ; 0x30 for(x = 0; x < draw_area_w; x++, map_px += px_size_byte, px_i++) { - 99e8: 9b16 ldr r3, [sp, #88] ; 0x58 - 99ea: 4698 mov r8, r3 - 99ec: 2b00 cmp r3, #0 - 99ee: dd11 ble.n 9a14 - 99f0: 9b17 ldr r3, [sp, #92] ; 0x5c - 99f2: 4619 mov r1, r3 - 99f4: 9a0f ldr r2, [sp, #60] ; 0x3c - 99f6: eb01 0a02 add.w sl, r1, r2 - 99fa: 9b1a ldr r3, [sp, #104] ; 0x68 - 99fc: 4619 mov r1, r3 - 99fe: eb01 0342 add.w r3, r1, r2, lsl #1 - 9a02: 9307 str r3, [sp, #28] - 9a04: 9e14 ldr r6, [sp, #80] ; 0x50 - 9a06: 2500 movs r5, #0 + 9440: 9b16 ldr r3, [sp, #88] ; 0x58 + 9442: 4698 mov r8, r3 + 9444: 2b00 cmp r3, #0 + 9446: dd11 ble.n 946c + 9448: 9b17 ldr r3, [sp, #92] ; 0x5c + 944a: 4619 mov r1, r3 + 944c: 9a0f ldr r2, [sp, #60] ; 0x3c + 944e: eb01 0a02 add.w sl, r1, r2 + 9452: 9b1a ldr r3, [sp, #104] ; 0x68 + 9454: 4619 mov r1, r3 + 9456: eb01 0342 add.w r3, r1, r2, lsl #1 + 945a: 9307 str r3, [sp, #28] + 945c: 9e14 ldr r6, [sp, #80] ; 0x50 + 945e: 2500 movs r5, #0 int32_t yt = y - dsc->cfg.pivot_y; - 9a08: 9b22 ldr r3, [sp, #136] ; 0x88 - 9a0a: 9a0e ldr r2, [sp, #56] ; 0x38 - 9a0c: 4413 add r3, r2 - 9a0e: b21b sxth r3, r3 - 9a10: 930d str r3, [sp, #52] ; 0x34 - 9a12: e7ab b.n 996c - 9a14: 9c0f ldr r4, [sp, #60] ; 0x3c - 9a16: e7bd b.n 9994 + 9460: 9b22 ldr r3, [sp, #136] ; 0x88 + 9462: 9a0e ldr r2, [sp, #56] ; 0x38 + 9464: 4413 add r3, r2 + 9466: b21b sxth r3, r3 + 9468: 930d str r3, [sp, #52] ; 0x34 + 946a: e7ab b.n 93c4 + 946c: 9c0f ldr r4, [sp, #60] ; 0x3c + 946e: e7bd b.n 93ec mask_res_sub = lv_draw_mask_apply(mask_buf + px_i_start, draw_area.x1 + vdb->area.x1, y + draw_area.y1 + vdb->area.y1, - 9a18: 9b0f ldr r3, [sp, #60] ; 0x3c - 9a1a: 9a17 ldr r2, [sp, #92] ; 0x5c - 9a1c: 4413 add r3, r2 - 9a1e: 461e mov r6, r3 - 9a20: f8bd 10e8 ldrh.w r1, [sp, #232] ; 0xe8 - 9a24: f8bd 30ec ldrh.w r3, [sp, #236] ; 0xec - 9a28: 3301 adds r3, #1 - 9a2a: 1a5b subs r3, r3, r1 - 9a2c: f8bd 20ea ldrh.w r2, [sp, #234] ; 0xea - 9a30: 9d18 ldr r5, [sp, #96] ; 0x60 - 9a32: 8a68 ldrh r0, [r5, #18] - 9a34: 4402 add r2, r0 - 9a36: 980e ldr r0, [sp, #56] ; 0x38 - 9a38: 4402 add r2, r0 - 9a3a: 8a28 ldrh r0, [r5, #16] - 9a3c: 4401 add r1, r0 - 9a3e: b21b sxth r3, r3 - 9a40: b212 sxth r2, r2 - 9a42: b209 sxth r1, r1 - 9a44: 4630 mov r0, r6 - 9a46: 4d4e ldr r5, [pc, #312] ; (9b80 ) - 9a48: 47a8 blx r5 + 9470: 9b0f ldr r3, [sp, #60] ; 0x3c + 9472: 9a17 ldr r2, [sp, #92] ; 0x5c + 9474: 4413 add r3, r2 + 9476: 461e mov r6, r3 + 9478: f8bd 10e8 ldrh.w r1, [sp, #232] ; 0xe8 + 947c: f8bd 30ec ldrh.w r3, [sp, #236] ; 0xec + 9480: 3301 adds r3, #1 + 9482: 1a5b subs r3, r3, r1 + 9484: f8bd 20ea ldrh.w r2, [sp, #234] ; 0xea + 9488: 9d18 ldr r5, [sp, #96] ; 0x60 + 948a: 8a68 ldrh r0, [r5, #18] + 948c: 4402 add r2, r0 + 948e: 980e ldr r0, [sp, #56] ; 0x38 + 9490: 4402 add r2, r0 + 9492: 8a28 ldrh r0, [r5, #16] + 9494: 4401 add r1, r0 + 9496: b21b sxth r3, r3 + 9498: b212 sxth r2, r2 + 949a: b209 sxth r1, r1 + 949c: 4630 mov r0, r6 + 949e: 4d4e ldr r5, [pc, #312] ; (95d8 ) + 94a0: 47a8 blx r5 if(mask_res_sub == LV_DRAW_MASK_RES_TRANSP) { - 9a4a: b128 cbz r0, 9a58 + 94a2: b128 cbz r0, 94b0 mask_res = LV_DRAW_MASK_RES_CHANGED; - 9a4c: 2802 cmp r0, #2 - 9a4e: 9a1d ldr r2, [sp, #116] ; 0x74 - 9a50: bf08 it eq - 9a52: 4602 moveq r2, r0 - 9a54: 921d str r2, [sp, #116] ; 0x74 - 9a56: e7a0 b.n 999a - 9a58: f8bd 10ec ldrh.w r1, [sp, #236] ; 0xec - 9a5c: 3101 adds r1, #1 - 9a5e: f8bd 30e8 ldrh.w r3, [sp, #232] ; 0xe8 - 9a62: 1ac9 subs r1, r1, r3 + 94a4: 2802 cmp r0, #2 + 94a6: 9a1d ldr r2, [sp, #116] ; 0x74 + 94a8: bf08 it eq + 94aa: 4602 moveq r2, r0 + 94ac: 921d str r2, [sp, #116] ; 0x74 + 94ae: e7a0 b.n 93f2 + 94b0: f8bd 10ec ldrh.w r1, [sp, #236] ; 0xec + 94b4: 3101 adds r1, #1 + 94b6: f8bd 30e8 ldrh.w r3, [sp, #232] ; 0xe8 + 94ba: 1ac9 subs r1, r1, r3 _lv_memset_00(mask_buf + px_i_start, lv_area_get_width(&draw_area)); - 9a64: b209 sxth r1, r1 - 9a66: 4630 mov r0, r6 - 9a68: 4b46 ldr r3, [pc, #280] ; (9b84 ) - 9a6a: 4798 blx r3 + 94bc: b209 sxth r1, r1 + 94be: 4630 mov r0, r6 + 94c0: 4b46 ldr r3, [pc, #280] ; (95dc ) + 94c2: 4798 blx r3 mask_res = LV_DRAW_MASK_RES_CHANGED; - 9a6c: 2302 movs r3, #2 - 9a6e: 931d str r3, [sp, #116] ; 0x74 - 9a70: e793 b.n 999a + 94c4: 2302 movs r3, #2 + 94c6: 931d str r3, [sp, #116] ; 0x74 + 94c8: e793 b.n 93f2 } else { _lv_blend_map(clip_area, &blend_area, map2, mask_buf, mask_res, draw_dsc->opa, draw_dsc->blend_mode); - 9a72: 9d08 ldr r5, [sp, #32] - 9a74: 7bab ldrb r3, [r5, #14] - 9a76: 9302 str r3, [sp, #8] - 9a78: 782b ldrb r3, [r5, #0] - 9a7a: 9301 str r3, [sp, #4] - 9a7c: 9b1d ldr r3, [sp, #116] ; 0x74 - 9a7e: 9300 str r3, [sp, #0] - 9a80: 9b17 ldr r3, [sp, #92] ; 0x5c - 9a82: 9a1a ldr r2, [sp, #104] ; 0x68 - 9a84: a926 add r1, sp, #152 ; 0x98 - 9a86: 9823 ldr r0, [sp, #140] ; 0x8c - 9a88: 4c3f ldr r4, [pc, #252] ; (9b88 ) - 9a8a: 47a0 blx r4 + 94ca: 9d08 ldr r5, [sp, #32] + 94cc: 7bab ldrb r3, [r5, #14] + 94ce: 9302 str r3, [sp, #8] + 94d0: 782b ldrb r3, [r5, #0] + 94d2: 9301 str r3, [sp, #4] + 94d4: 9b1d ldr r3, [sp, #116] ; 0x74 + 94d6: 9300 str r3, [sp, #0] + 94d8: 9b17 ldr r3, [sp, #92] ; 0x5c + 94da: 9a1a ldr r2, [sp, #104] ; 0x68 + 94dc: a926 add r1, sp, #152 ; 0x98 + 94de: 9823 ldr r0, [sp, #140] ; 0x8c + 94e0: 4c3f ldr r4, [pc, #252] ; (95e0 ) + 94e2: 47a0 blx r4 blend_area.y1 = blend_area.y2 + 1; - 9a8c: f8bd 309e ldrh.w r3, [sp, #158] ; 0x9e - 9a90: 3301 adds r3, #1 - 9a92: b21b sxth r3, r3 - 9a94: f8ad 309a strh.w r3, [sp, #154] ; 0x9a + 94e4: f8bd 309e ldrh.w r3, [sp, #158] ; 0x9e + 94e8: 3301 adds r3, #1 + 94ea: b21b sxth r3, r3 + 94ec: f8ad 309a strh.w r3, [sp, #154] ; 0x9a blend_area.y2 = blend_area.y1; - 9a98: f8ad 309e strh.w r3, [sp, #158] ; 0x9e + 94f0: f8ad 309e strh.w r3, [sp, #158] ; 0x9e px_i = 0; mask_res = (alpha_byte || chroma_key || draw_dsc->angle || - 9a9c: 9b06 ldr r3, [sp, #24] - 9a9e: b95b cbnz r3, 9ab8 - 9aa0: 9b0a ldr r3, [sp, #40] ; 0x28 - 9aa2: b983 cbnz r3, 9ac6 - 9aa4: 886b ldrh r3, [r5, #2] - 9aa6: b98b cbnz r3, 9acc - 9aa8: 892b ldrh r3, [r5, #8] - 9aaa: f5b3 7f80 cmp.w r3, #256 ; 0x100 - 9aae: bf14 ite ne - 9ab0: 2302 movne r3, #2 - 9ab2: 2301 moveq r3, #1 - 9ab4: 931d str r3, [sp, #116] ; 0x74 - 9ab6: e001 b.n 9abc - 9ab8: 2302 movs r3, #2 - 9aba: 931d str r3, [sp, #116] ; 0x74 + 94f4: 9b06 ldr r3, [sp, #24] + 94f6: b95b cbnz r3, 9510 + 94f8: 9b0a ldr r3, [sp, #40] ; 0x28 + 94fa: b983 cbnz r3, 951e + 94fc: 886b ldrh r3, [r5, #2] + 94fe: b98b cbnz r3, 9524 + 9500: 892b ldrh r3, [r5, #8] + 9502: f5b3 7f80 cmp.w r3, #256 ; 0x100 + 9506: bf14 ite ne + 9508: 2302 movne r3, #2 + 950a: 2301 moveq r3, #1 + 950c: 931d str r3, [sp, #116] ; 0x74 + 950e: e001 b.n 9514 + 9510: 2302 movs r3, #2 + 9512: 931d str r3, [sp, #116] ; 0x74 draw_dsc->zoom != LV_IMG_ZOOM_NONE) ? LV_DRAW_MASK_RES_CHANGED : LV_DRAW_MASK_RES_FULL_COVER; /*Prepare the `mask_buf`if there are other masks*/ if(other_mask_cnt) { - 9abc: 9b19 ldr r3, [sp, #100] ; 0x64 - 9abe: b943 cbnz r3, 9ad2 + 9514: 9b19 ldr r3, [sp, #100] ; 0x64 + 9516: b943 cbnz r3, 952a px_i = 0; - 9ac0: 2300 movs r3, #0 - 9ac2: 930f str r3, [sp, #60] ; 0x3c - 9ac4: e77e b.n 99c4 + 9518: 2300 movs r3, #0 + 951a: 930f str r3, [sp, #60] ; 0x3c + 951c: e77e b.n 941c mask_res = (alpha_byte || chroma_key || draw_dsc->angle || - 9ac6: 2302 movs r3, #2 - 9ac8: 931d str r3, [sp, #116] ; 0x74 - 9aca: e7f7 b.n 9abc - 9acc: 2302 movs r3, #2 - 9ace: 931d str r3, [sp, #116] ; 0x74 - 9ad0: e7f4 b.n 9abc + 951e: 2302 movs r3, #2 + 9520: 931d str r3, [sp, #116] ; 0x74 + 9522: e7f7 b.n 9514 + 9524: 2302 movs r3, #2 + 9526: 931d str r3, [sp, #116] ; 0x74 + 9528: e7f4 b.n 9514 _lv_memset_ff(mask_buf, mask_buf_size); - 9ad2: 991c ldr r1, [sp, #112] ; 0x70 - 9ad4: 9817 ldr r0, [sp, #92] ; 0x5c - 9ad6: 4b2d ldr r3, [pc, #180] ; (9b8c ) - 9ad8: 4798 blx r3 + 952a: 991c ldr r1, [sp, #112] ; 0x70 + 952c: 9817 ldr r0, [sp, #92] ; 0x5c + 952e: 4b2d ldr r3, [pc, #180] ; (95e4 ) + 9530: 4798 blx r3 px_i = 0; - 9ada: 2300 movs r3, #0 - 9adc: 930f str r3, [sp, #60] ; 0x3c - 9ade: e771 b.n 99c4 + 9532: 2300 movs r3, #0 + 9534: 930f str r3, [sp, #60] ; 0x3c + 9536: e771 b.n 941c } } } /*Flush the last part*/ if(blend_area.y1 != blend_area.y2) { - 9ae0: f9bd 309e ldrsh.w r3, [sp, #158] ; 0x9e - 9ae4: f9bd 209a ldrsh.w r2, [sp, #154] ; 0x9a - 9ae8: 429a cmp r2, r3 - 9aea: d00f beq.n 9b0c + 9538: f9bd 309e ldrsh.w r3, [sp, #158] ; 0x9e + 953c: f9bd 209a ldrsh.w r2, [sp, #154] ; 0x9a + 9540: 429a cmp r2, r3 + 9542: d00f beq.n 9564 blend_area.y2--; - 9aec: 3b01 subs r3, #1 - 9aee: f8ad 309e strh.w r3, [sp, #158] ; 0x9e + 9544: 3b01 subs r3, #1 + 9546: f8ad 309e strh.w r3, [sp, #158] ; 0x9e _lv_blend_map(clip_area, &blend_area, map2, mask_buf, mask_res, draw_dsc->opa, draw_dsc->blend_mode); - 9af2: 9a08 ldr r2, [sp, #32] - 9af4: 7b93 ldrb r3, [r2, #14] - 9af6: 9302 str r3, [sp, #8] - 9af8: 7813 ldrb r3, [r2, #0] - 9afa: 9301 str r3, [sp, #4] - 9afc: 9b1d ldr r3, [sp, #116] ; 0x74 - 9afe: 9300 str r3, [sp, #0] - 9b00: 9b17 ldr r3, [sp, #92] ; 0x5c - 9b02: 9a1a ldr r2, [sp, #104] ; 0x68 - 9b04: a926 add r1, sp, #152 ; 0x98 - 9b06: 9823 ldr r0, [sp, #140] ; 0x8c - 9b08: 4c1f ldr r4, [pc, #124] ; (9b88 ) - 9b0a: 47a0 blx r4 + 954a: 9a08 ldr r2, [sp, #32] + 954c: 7b93 ldrb r3, [r2, #14] + 954e: 9302 str r3, [sp, #8] + 9550: 7813 ldrb r3, [r2, #0] + 9552: 9301 str r3, [sp, #4] + 9554: 9b1d ldr r3, [sp, #116] ; 0x74 + 9556: 9300 str r3, [sp, #0] + 9558: 9b17 ldr r3, [sp, #92] ; 0x5c + 955a: 9a1a ldr r2, [sp, #104] ; 0x68 + 955c: a926 add r1, sp, #152 ; 0x98 + 955e: 9823 ldr r0, [sp, #140] ; 0x8c + 9560: 4c1f ldr r4, [pc, #124] ; (95e0 ) + 9562: 47a0 blx r4 } _lv_mem_buf_release(mask_buf); - 9b0c: 9817 ldr r0, [sp, #92] ; 0x5c - 9b0e: 4c20 ldr r4, [pc, #128] ; (9b90 ) - 9b10: 47a0 blx r4 + 9564: 9817 ldr r0, [sp, #92] ; 0x5c + 9566: 4c20 ldr r4, [pc, #128] ; (95e8 ) + 9568: 47a0 blx r4 _lv_mem_buf_release(map2); - 9b12: 981a ldr r0, [sp, #104] ; 0x68 - 9b14: 47a0 blx r4 + 956a: 981a ldr r0, [sp, #104] ; 0x68 + 956c: 47a0 blx r4 } } } - 9b16: b03d add sp, #244 ; 0xf4 - 9b18: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 956e: b03d add sp, #244 ; 0xf4 + 9570: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} if(other_mask_cnt == 0 && !transform && !chroma_key && draw_dsc->recolor_opa == LV_OPA_TRANSP && alpha_byte) { - 9b1c: 9b19 ldr r3, [sp, #100] ; 0x64 - 9b1e: bb13 cbnz r3, 9b66 - 9b20: 2301 movs r3, #1 - 9b22: 9305 str r3, [sp, #20] + 9574: 9b19 ldr r3, [sp, #100] ; 0x64 + 9576: bb13 cbnz r3, 95be + 9578: 2301 movs r3, #1 + 957a: 9305 str r3, [sp, #20] uint32_t mask_buf_size = lv_area_get_size(&draw_area) > LV_HOR_RES_MAX ? LV_HOR_RES_MAX : lv_area_get_size(&draw_area); - 9b24: a83a add r0, sp, #232 ; 0xe8 - 9b26: 4b1b ldr r3, [pc, #108] ; (9b94 ) - 9b28: 4798 blx r3 - 9b2a: f5b0 7ff0 cmp.w r0, #480 ; 0x1e0 - 9b2e: f67f ad6a bls.w 9606 + 957c: a83a add r0, sp, #232 ; 0xe8 + 957e: 4b1b ldr r3, [pc, #108] ; (95ec ) + 9580: 4798 blx r3 + 9582: f5b0 7ff0 cmp.w r0, #480 ; 0x1e0 + 9586: f67f ad6a bls.w 905e lv_color_t * map2 = _lv_mem_buf_get(mask_buf_size * sizeof(lv_color_t)); - 9b32: f44f 7070 mov.w r0, #960 ; 0x3c0 - 9b36: 4c18 ldr r4, [pc, #96] ; (9b98 ) - 9b38: 47a0 blx r4 - 9b3a: 901a str r0, [sp, #104] ; 0x68 + 958a: f44f 7070 mov.w r0, #960 ; 0x3c0 + 958e: 4c18 ldr r4, [pc, #96] ; (95f0 ) + 9590: 47a0 blx r4 + 9592: 901a str r0, [sp, #104] ; 0x68 lv_opa_t * mask_buf = _lv_mem_buf_get(mask_buf_size); - 9b3c: f44f 70f0 mov.w r0, #480 ; 0x1e0 - 9b40: 47a0 blx r4 - 9b42: 9017 str r0, [sp, #92] ; 0x5c + 9594: f44f 70f0 mov.w r0, #480 ; 0x1e0 + 9598: 47a0 blx r4 + 959a: 9017 str r0, [sp, #92] ; 0x5c _lv_memset_00(&trans_dsc, sizeof(lv_img_transform_dsc_t)); - 9b44: 2148 movs r1, #72 ; 0x48 - 9b46: a828 add r0, sp, #160 ; 0xa0 - 9b48: 4b0e ldr r3, [pc, #56] ; (9b84 ) - 9b4a: 4798 blx r3 + 959c: 2148 movs r1, #72 ; 0x48 + 959e: a828 add r0, sp, #160 ; 0xa0 + 95a0: 4b0e ldr r3, [pc, #56] ; (95dc ) + 95a2: 4798 blx r3 uint32_t mask_buf_size = lv_area_get_size(&draw_area) > LV_HOR_RES_MAX ? LV_HOR_RES_MAX : lv_area_get_size(&draw_area); - 9b4c: f44f 73f0 mov.w r3, #480 ; 0x1e0 - 9b50: 931c str r3, [sp, #112] ; 0x70 + 95a4: f44f 73f0 mov.w r3, #480 ; 0x1e0 + 95a8: 931c str r3, [sp, #112] ; 0x70 if(alpha_byte) cf = LV_IMG_CF_TRUE_COLOR_ALPHA; - 9b52: 9b06 ldr r3, [sp, #24] - 9b54: 2b00 cmp r3, #0 - 9b56: f47f ad7b bne.w 9650 + 95aa: 9b06 ldr r3, [sp, #24] + 95ac: 2b00 cmp r3, #0 + 95ae: f47f ad7b bne.w 90a8 else if(chroma_key) cf = LV_IMG_CF_TRUE_COLOR_CHROMA_KEYED; - 9b5a: 9b0a ldr r3, [sp, #40] ; 0x28 - 9b5c: 2b00 cmp r3, #0 - 9b5e: bf0c ite eq - 9b60: 2204 moveq r2, #4 - 9b62: 2206 movne r2, #6 - 9b64: e575 b.n 9652 + 95b2: 9b0a ldr r3, [sp, #40] ; 0x28 + 95b4: 2b00 cmp r3, #0 + 95b6: bf0c ite eq + 95b8: 2204 moveq r2, #4 + 95ba: 2206 movne r2, #6 + 95bc: e575 b.n 90aa if(other_mask_cnt == 0 && !transform && !chroma_key && draw_dsc->recolor_opa == LV_OPA_TRANSP && alpha_byte) { - 9b66: 2301 movs r3, #1 - 9b68: 9305 str r3, [sp, #20] + 95be: 2301 movs r3, #1 + 95c0: 9305 str r3, [sp, #20] uint32_t mask_buf_size = lv_area_get_size(&draw_area) > LV_HOR_RES_MAX ? LV_HOR_RES_MAX : lv_area_get_size(&draw_area); - 9b6a: a83a add r0, sp, #232 ; 0xe8 - 9b6c: 4b09 ldr r3, [pc, #36] ; (9b94 ) - 9b6e: 4798 blx r3 - 9b70: f5b0 7ff0 cmp.w r0, #480 ; 0x1e0 - 9b74: f67f ad47 bls.w 9606 - 9b78: f44f 73f0 mov.w r3, #480 ; 0x1e0 - 9b7c: 931c str r3, [sp, #112] ; 0x70 - 9b7e: e546 b.n 960e - 9b80: 0000c3c5 .word 0x0000c3c5 - 9b84: 000130df .word 0x000130df - 9b88: 00008829 .word 0x00008829 - 9b8c: 00013195 .word 0x00013195 - 9b90: 00012b19 .word 0x00012b19 - 9b94: 00011aa5 .word 0x00011aa5 - 9b98: 00012ee5 .word 0x00012ee5 - -00009b9c : + 95c2: a83a add r0, sp, #232 ; 0xe8 + 95c4: 4b09 ldr r3, [pc, #36] ; (95ec ) + 95c6: 4798 blx r3 + 95c8: f5b0 7ff0 cmp.w r0, #480 ; 0x1e0 + 95cc: f67f ad47 bls.w 905e + 95d0: f44f 73f0 mov.w r3, #480 ; 0x1e0 + 95d4: 931c str r3, [sp, #112] ; 0x70 + 95d6: e546 b.n 9066 + 95d8: 0000be1d .word 0x0000be1d + 95dc: 00012b37 .word 0x00012b37 + 95e0: 00008281 .word 0x00008281 + 95e4: 00012bed .word 0x00012bed + 95e8: 00012571 .word 0x00012571 + 95ec: 000114fd .word 0x000114fd + 95f0: 0001293d .word 0x0001293d + +000095f4 : static void show_error(const lv_area_t * coords, const lv_area_t * clip_area, const char * msg) { - 9b9c: b570 push {r4, r5, r6, lr} - 9b9e: b09e sub sp, #120 ; 0x78 - 9ba0: 4604 mov r4, r0 - 9ba2: 460d mov r5, r1 - 9ba4: 4616 mov r6, r2 + 95f4: b570 push {r4, r5, r6, lr} + 95f6: b09e sub sp, #120 ; 0x78 + 95f8: 4604 mov r4, r0 + 95fa: 460d mov r5, r1 + 95fc: 4616 mov r6, r2 lv_draw_rect_dsc_t rect_dsc; lv_draw_rect_dsc_init(&rect_dsc); - 9ba6: a809 add r0, sp, #36 ; 0x24 - 9ba8: 4b0b ldr r3, [pc, #44] ; (9bd8 ) - 9baa: 4798 blx r3 + 95fe: a809 add r0, sp, #36 ; 0x24 + 9600: 4b0b ldr r3, [pc, #44] ; (9630 ) + 9602: 4798 blx r3 rect_dsc.bg_color = LV_COLOR_WHITE; - 9bac: 4b0b ldr r3, [pc, #44] ; (9bdc ) - 9bae: 881b ldrh r3, [r3, #0] - 9bb0: f8ad 3026 strh.w r3, [sp, #38] ; 0x26 + 9604: 4b0b ldr r3, [pc, #44] ; (9634 ) + 9606: 881b ldrh r3, [r3, #0] + 9608: f8ad 3026 strh.w r3, [sp, #38] ; 0x26 lv_draw_rect(coords, clip_area, &rect_dsc); - 9bb4: aa09 add r2, sp, #36 ; 0x24 - 9bb6: 4629 mov r1, r5 - 9bb8: 4620 mov r0, r4 - 9bba: 4b09 ldr r3, [pc, #36] ; (9be0 ) - 9bbc: 4798 blx r3 + 960c: aa09 add r2, sp, #36 ; 0x24 + 960e: 4629 mov r1, r5 + 9610: 4620 mov r0, r4 + 9612: 4b09 ldr r3, [pc, #36] ; (9638 ) + 9614: 4798 blx r3 lv_draw_label_dsc_t label_dsc; lv_draw_label_dsc_init(&label_dsc); - 9bbe: a802 add r0, sp, #8 - 9bc0: 4b08 ldr r3, [pc, #32] ; (9be4 ) - 9bc2: 4798 blx r3 + 9616: a802 add r0, sp, #8 + 9618: 4b08 ldr r3, [pc, #32] ; (963c ) + 961a: 4798 blx r3 lv_draw_label(coords, clip_area, &label_dsc, msg, NULL); - 9bc4: 2300 movs r3, #0 - 9bc6: 9300 str r3, [sp, #0] - 9bc8: 4633 mov r3, r6 - 9bca: aa02 add r2, sp, #8 - 9bcc: 4629 mov r1, r5 - 9bce: 4620 mov r0, r4 - 9bd0: 4c05 ldr r4, [pc, #20] ; (9be8 ) - 9bd2: 47a0 blx r4 -} - 9bd4: b01e add sp, #120 ; 0x78 - 9bd6: bd70 pop {r4, r5, r6, pc} - 9bd8: 0000c811 .word 0x0000c811 - 9bdc: 0001c19c .word 0x0001c19c - 9be0: 0000c8d9 .word 0x0000c8d9 - 9be4: 00009f75 .word 0x00009f75 - 9be8: 00009fcd .word 0x00009fcd - -00009bec : -{ - 9bec: b510 push {r4, lr} - 9bee: 4604 mov r4, r0 + 961c: 2300 movs r3, #0 + 961e: 9300 str r3, [sp, #0] + 9620: 4633 mov r3, r6 + 9622: aa02 add r2, sp, #8 + 9624: 4629 mov r1, r5 + 9626: 4620 mov r0, r4 + 9628: 4c05 ldr r4, [pc, #20] ; (9640 ) + 962a: 47a0 blx r4 +} + 962c: b01e add sp, #120 ; 0x78 + 962e: bd70 pop {r4, r5, r6, pc} + 9630: 0000c269 .word 0x0000c269 + 9634: 00024cb8 .word 0x00024cb8 + 9638: 0000c331 .word 0x0000c331 + 963c: 000099cd .word 0x000099cd + 9640: 00009a25 .word 0x00009a25 + +00009644 : +{ + 9644: b510 push {r4, lr} + 9646: 4604 mov r4, r0 _lv_memset_00(dsc, sizeof(lv_draw_img_dsc_t)); - 9bf0: 2110 movs r1, #16 - 9bf2: 4b0c ldr r3, [pc, #48] ; (9c24 ) - 9bf4: 4798 blx r3 + 9648: 2110 movs r1, #16 + 964a: 4b0c ldr r3, [pc, #48] ; (967c ) + 964c: 4798 blx r3 dsc->recolor = LV_COLOR_BLACK; - 9bf6: 7b23 ldrb r3, [r4, #12] - 9bf8: f36f 0304 bfc r3, #0, #5 - 9bfc: 7323 strb r3, [r4, #12] - 9bfe: 89a3 ldrh r3, [r4, #12] - 9c00: f36f 134a bfc r3, #5, #6 - 9c04: 81a3 strh r3, [r4, #12] - 9c06: 0a1b lsrs r3, r3, #8 - 9c08: f36f 03c7 bfc r3, #3, #5 - 9c0c: 7363 strb r3, [r4, #13] + 964e: 7b23 ldrb r3, [r4, #12] + 9650: f36f 0304 bfc r3, #0, #5 + 9654: 7323 strb r3, [r4, #12] + 9656: 89a3 ldrh r3, [r4, #12] + 9658: f36f 134a bfc r3, #5, #6 + 965c: 81a3 strh r3, [r4, #12] + 965e: 0a1b lsrs r3, r3, #8 + 9660: f36f 03c7 bfc r3, #3, #5 + 9664: 7363 strb r3, [r4, #13] dsc->opa = LV_OPA_COVER; - 9c0e: 23ff movs r3, #255 ; 0xff - 9c10: 7023 strb r3, [r4, #0] + 9666: 23ff movs r3, #255 ; 0xff + 9668: 7023 strb r3, [r4, #0] dsc->zoom = LV_IMG_ZOOM_NONE; - 9c12: f44f 7380 mov.w r3, #256 ; 0x100 - 9c16: 8123 strh r3, [r4, #8] + 966a: f44f 7380 mov.w r3, #256 ; 0x100 + 966e: 8123 strh r3, [r4, #8] dsc->antialias = LV_ANTIALIAS; - 9c18: 7be3 ldrb r3, [r4, #15] - 9c1a: f043 0301 orr.w r3, r3, #1 - 9c1e: 73e3 strb r3, [r4, #15] - 9c20: bd10 pop {r4, pc} - 9c22: bf00 nop - 9c24: 000130df .word 0x000130df - -00009c28 : + 9670: 7be3 ldrb r3, [r4, #15] + 9672: f043 0301 orr.w r3, r3, #1 + 9676: 73e3 strb r3, [r4, #15] + 9678: bd10 pop {r4, pc} + 967a: bf00 nop + 967c: 00012b37 .word 0x00012b37 + +00009680 : switch(cf) { - 9c28: 3804 subs r0, #4 - 9c2a: 280a cmp r0, #10 - 9c2c: d813 bhi.n 9c56 - 9c2e: e8df f000 tbb [pc, r0] - 9c32: 0806 .short 0x0806 - 9c34: 0e0c0a06 .word 0x0e0c0a06 - 9c38: 0e0c0a10 .word 0x0e0c0a10 - 9c3c: 10 .byte 0x10 - 9c3d: 00 .byte 0x00 + 9680: 3804 subs r0, #4 + 9682: 280a cmp r0, #10 + 9684: d813 bhi.n 96ae + 9686: e8df f000 tbb [pc, r0] + 968a: 0806 .short 0x0806 + 968c: 0e0c0a06 .word 0x0e0c0a06 + 9690: 0e0c0a10 .word 0x0e0c0a10 + 9694: 10 .byte 0x10 + 9695: 00 .byte 0x00 px_size = LV_COLOR_SIZE; - 9c3e: 2010 movs r0, #16 - 9c40: 4770 bx lr + 9696: 2010 movs r0, #16 + 9698: 4770 bx lr px_size = LV_IMG_PX_SIZE_ALPHA_BYTE << 3; - 9c42: 2018 movs r0, #24 + 969a: 2018 movs r0, #24 break; - 9c44: 4770 bx lr + 969c: 4770 bx lr px_size = 1; - 9c46: 2001 movs r0, #1 + 969e: 2001 movs r0, #1 break; - 9c48: 4770 bx lr + 96a0: 4770 bx lr px_size = 2; - 9c4a: 2002 movs r0, #2 + 96a2: 2002 movs r0, #2 break; - 9c4c: 4770 bx lr + 96a4: 4770 bx lr px_size = 4; - 9c4e: 2004 movs r0, #4 + 96a6: 2004 movs r0, #4 break; - 9c50: 4770 bx lr + 96a8: 4770 bx lr px_size = 8; - 9c52: 2008 movs r0, #8 + 96aa: 2008 movs r0, #8 break; - 9c54: 4770 bx lr + 96ac: 4770 bx lr px_size = 0; - 9c56: 2000 movs r0, #0 + 96ae: 2000 movs r0, #0 } - 9c58: 4770 bx lr + 96b0: 4770 bx lr -00009c5a : +000096b2 : switch(cf) { - 9c5a: 2803 cmp r0, #3 - 9c5c: d005 beq.n 9c6a - 9c5e: d302 bcc.n 9c66 - 9c60: 3806 subs r0, #6 - 9c62: 2804 cmp r0, #4 - 9c64: d901 bls.n 9c6a + 96b2: 2803 cmp r0, #3 + 96b4: d005 beq.n 96c2 + 96b6: d302 bcc.n 96be + 96b8: 3806 subs r0, #6 + 96ba: 2804 cmp r0, #4 + 96bc: d901 bls.n 96c2 is_chroma_keyed = false; - 9c66: 2000 movs r0, #0 - 9c68: 4770 bx lr + 96be: 2000 movs r0, #0 + 96c0: 4770 bx lr is_chroma_keyed = true; - 9c6a: 2001 movs r0, #1 + 96c2: 2001 movs r0, #1 } - 9c6c: 4770 bx lr + 96c4: 4770 bx lr -00009c6e : +000096c6 : switch(cf) { - 9c6e: 3802 subs r0, #2 - 9c70: 280c cmp r0, #12 - 9c72: d808 bhi.n 9c86 - 9c74: e8df f000 tbb [pc, r0] - 9c78: 09070709 .word 0x09070709 - 9c7c: 09090907 .word 0x09090907 - 9c80: 09090909 .word 0x09090909 - 9c84: 09 .byte 0x09 - 9c85: 00 .byte 0x00 + 96c6: 3802 subs r0, #2 + 96c8: 280c cmp r0, #12 + 96ca: d808 bhi.n 96de + 96cc: e8df f000 tbb [pc, r0] + 96d0: 09070709 .word 0x09070709 + 96d4: 09090907 .word 0x09090907 + 96d8: 09090909 .word 0x09090909 + 96dc: 09 .byte 0x09 + 96dd: 00 .byte 0x00 has_alpha = false; - 9c86: 2000 movs r0, #0 - 9c88: 4770 bx lr + 96de: 2000 movs r0, #0 + 96e0: 4770 bx lr has_alpha = true; - 9c8a: 2001 movs r0, #1 + 96e2: 2001 movs r0, #1 } - 9c8c: 4770 bx lr + 96e4: 4770 bx lr ... -00009c90 : +000096e8 : { - 9c90: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 9c94: b08f sub sp, #60 ; 0x3c - 9c96: 4605 mov r5, r0 - 9c98: 460e mov r6, r1 + 96e8: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 96ec: b08f sub sp, #60 ; 0x3c + 96ee: 4605 mov r5, r0 + 96f0: 460e mov r6, r1 if(src == NULL) { - 9c9a: b13a cbz r2, 9cac - 9c9c: 461c mov r4, r3 - 9c9e: 4610 mov r0, r2 + 96f2: b13a cbz r2, 9704 + 96f4: 461c mov r4, r3 + 96f6: 4610 mov r0, r2 if(dsc->opa <= LV_OPA_MIN) return; - 9ca0: 781b ldrb r3, [r3, #0] - 9ca2: 2b05 cmp r3, #5 - 9ca4: d810 bhi.n 9cc8 + 96f8: 781b ldrb r3, [r3, #0] + 96fa: 2b05 cmp r3, #5 + 96fc: d810 bhi.n 9720 } - 9ca6: b00f add sp, #60 ; 0x3c - 9ca8: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 96fe: b00f add sp, #60 ; 0x3c + 9700: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} LV_LOG_WARN("Image draw: src is NULL"); - 9cac: 4b84 ldr r3, [pc, #528] ; (9ec0 ) - 9cae: 9300 str r3, [sp, #0] - 9cb0: 4b84 ldr r3, [pc, #528] ; (9ec4 ) - 9cb2: 224d movs r2, #77 ; 0x4d - 9cb4: 4984 ldr r1, [pc, #528] ; (9ec8 ) - 9cb6: 2002 movs r0, #2 - 9cb8: 4c84 ldr r4, [pc, #528] ; (9ecc ) - 9cba: 47a0 blx r4 + 9704: 4b84 ldr r3, [pc, #528] ; (9918 ) + 9706: 9300 str r3, [sp, #0] + 9708: 4b84 ldr r3, [pc, #528] ; (991c ) + 970a: 224d movs r2, #77 ; 0x4d + 970c: 4984 ldr r1, [pc, #528] ; (9920 ) + 970e: 2002 movs r0, #2 + 9710: 4c84 ldr r4, [pc, #528] ; (9924 ) + 9712: 47a0 blx r4 show_error(coords, mask, "No\ndata"); - 9cbc: 4a84 ldr r2, [pc, #528] ; (9ed0 ) - 9cbe: 4631 mov r1, r6 - 9cc0: 4628 mov r0, r5 - 9cc2: 4b84 ldr r3, [pc, #528] ; (9ed4 ) - 9cc4: 4798 blx r3 + 9714: 4a84 ldr r2, [pc, #528] ; (9928 ) + 9716: 4631 mov r1, r6 + 9718: 4628 mov r0, r5 + 971a: 4b84 ldr r3, [pc, #528] ; (992c ) + 971c: 4798 blx r3 return; - 9cc6: e7ee b.n 9ca6 + 971e: e7ee b.n 96fe lv_img_cache_entry_t * cdsc = _lv_img_cache_open(src, draw_dsc->recolor); - 9cc8: 89a1 ldrh r1, [r4, #12] - 9cca: 4b83 ldr r3, [pc, #524] ; (9ed8 ) - 9ccc: 4798 blx r3 + 9720: 89a1 ldrh r1, [r4, #12] + 9722: 4b83 ldr r3, [pc, #524] ; (9930 ) + 9724: 4798 blx r3 if(cdsc == NULL) return LV_RES_INV; - 9cce: 4607 mov r7, r0 - 9cd0: 2800 cmp r0, #0 - 9cd2: f000 80b5 beq.w 9e40 + 9726: 4607 mov r7, r0 + 9728: 2800 cmp r0, #0 + 972a: f000 80b5 beq.w 9898 bool chroma_keyed = lv_img_cf_is_chroma_keyed(cdsc->dec_dsc.header.cf); - 9cd6: f890 900c ldrb.w r9, [r0, #12] - 9cda: f009 091f and.w r9, r9, #31 - 9cde: 4648 mov r0, r9 - 9ce0: 4b7e ldr r3, [pc, #504] ; (9edc ) - 9ce2: 4798 blx r3 - 9ce4: 4680 mov r8, r0 + 972e: f890 900c ldrb.w r9, [r0, #12] + 9732: f009 091f and.w r9, r9, #31 + 9736: 4648 mov r0, r9 + 9738: 4b7e ldr r3, [pc, #504] ; (9934 ) + 973a: 4798 blx r3 + 973c: 4680 mov r8, r0 bool alpha_byte = lv_img_cf_has_alpha(cdsc->dec_dsc.header.cf); - 9ce6: 4648 mov r0, r9 - 9ce8: 4b7d ldr r3, [pc, #500] ; (9ee0 ) - 9cea: 4798 blx r3 - 9cec: 4681 mov r9, r0 + 973e: 4648 mov r0, r9 + 9740: 4b7d ldr r3, [pc, #500] ; (9938 ) + 9742: 4798 blx r3 + 9744: 4681 mov r9, r0 if(cdsc->dec_dsc.error_msg != NULL) { - 9cee: 69bb ldr r3, [r7, #24] - 9cf0: b16b cbz r3, 9d0e + 9746: 69bb ldr r3, [r7, #24] + 9748: b16b cbz r3, 9766 LV_LOG_WARN("Image draw error"); - 9cf2: 4b7c ldr r3, [pc, #496] ; (9ee4 ) - 9cf4: 9300 str r3, [sp, #0] - 9cf6: 4b7c ldr r3, [pc, #496] ; (9ee8 ) - 9cf8: 22f7 movs r2, #247 ; 0xf7 - 9cfa: 4973 ldr r1, [pc, #460] ; (9ec8 ) - 9cfc: 2002 movs r0, #2 - 9cfe: 4c73 ldr r4, [pc, #460] ; (9ecc ) - 9d00: 47a0 blx r4 + 974a: 4b7c ldr r3, [pc, #496] ; (993c ) + 974c: 9300 str r3, [sp, #0] + 974e: 4b7c ldr r3, [pc, #496] ; (9940 ) + 9750: 22f7 movs r2, #247 ; 0xf7 + 9752: 4973 ldr r1, [pc, #460] ; (9920 ) + 9754: 2002 movs r0, #2 + 9756: 4c73 ldr r4, [pc, #460] ; (9924 ) + 9758: 47a0 blx r4 show_error(coords, clip_area, cdsc->dec_dsc.error_msg); - 9d02: 69ba ldr r2, [r7, #24] - 9d04: 4631 mov r1, r6 - 9d06: 4628 mov r0, r5 - 9d08: 4b72 ldr r3, [pc, #456] ; (9ed4 ) - 9d0a: 4798 blx r3 - 9d0c: e7cb b.n 9ca6 + 975a: 69ba ldr r2, [r7, #24] + 975c: 4631 mov r1, r6 + 975e: 4628 mov r0, r5 + 9760: 4b72 ldr r3, [pc, #456] ; (992c ) + 9762: 4798 blx r3 + 9764: e7cb b.n 96fe else if(cdsc->dec_dsc.img_data) { - 9d0e: 693b ldr r3, [r7, #16] - 9d10: 2b00 cmp r3, #0 - 9d12: d049 beq.n 9da8 - 9d14: 1e6b subs r3, r5, #1 - 9d16: 1de8 adds r0, r5, #7 - 9d18: aa0a add r2, sp, #40 ; 0x28 - 9d1a: f813 1f01 ldrb.w r1, [r3, #1]! - 9d1e: f802 1b01 strb.w r1, [r2], #1 + 9766: 693b ldr r3, [r7, #16] + 9768: 2b00 cmp r3, #0 + 976a: d049 beq.n 9800 + 976c: 1e6b subs r3, r5, #1 + 976e: 1de8 adds r0, r5, #7 + 9770: aa0a add r2, sp, #40 ; 0x28 + 9772: f813 1f01 ldrb.w r1, [r3, #1]! + 9776: f802 1b01 strb.w r1, [r2], #1 while(len) { - 9d22: 4298 cmp r0, r3 - 9d24: d1f9 bne.n 9d1a + 977a: 4298 cmp r0, r3 + 977c: d1f9 bne.n 9772 if(draw_dsc->angle || draw_dsc->zoom != LV_IMG_ZOOM_NONE) { - 9d26: 8863 ldrh r3, [r4, #2] - 9d28: b91b cbnz r3, 9d32 - 9d2a: 8922 ldrh r2, [r4, #8] - 9d2c: f5b2 7f80 cmp.w r2, #256 ; 0x100 - 9d30: d028 beq.n 9d84 + 977e: 8863 ldrh r3, [r4, #2] + 9780: b91b cbnz r3, 978a + 9782: 8922 ldrh r2, [r4, #8] + 9784: f5b2 7f80 cmp.w r2, #256 ; 0x100 + 9788: d028 beq.n 97dc return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - 9d32: 88ea ldrh r2, [r5, #6] - 9d34: 3201 adds r2, #1 - 9d36: 8869 ldrh r1, [r5, #2] - 9d38: 1a52 subs r2, r2, r1 + 978a: 88ea ldrh r2, [r5, #6] + 978c: 3201 adds r2, #1 + 978e: 8869 ldrh r1, [r5, #2] + 9790: 1a52 subs r2, r2, r1 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - 9d3a: 88a9 ldrh r1, [r5, #4] - 9d3c: 3101 adds r1, #1 - 9d3e: 8828 ldrh r0, [r5, #0] - 9d40: 1a09 subs r1, r1, r0 + 9792: 88a9 ldrh r1, [r5, #4] + 9794: 3101 adds r1, #1 + 9796: 8828 ldrh r0, [r5, #0] + 9798: 1a09 subs r1, r1, r0 _lv_img_buf_get_transformed_area(&map_area_rot, w, h, draw_dsc->angle, draw_dsc->zoom, &draw_dsc->pivot); - 9d42: 1d20 adds r0, r4, #4 - 9d44: 9001 str r0, [sp, #4] - 9d46: 8920 ldrh r0, [r4, #8] - 9d48: 9000 str r0, [sp, #0] - 9d4a: b21b sxth r3, r3 - 9d4c: b212 sxth r2, r2 - 9d4e: b209 sxth r1, r1 - 9d50: a80a add r0, sp, #40 ; 0x28 - 9d52: f8df a1b8 ldr.w sl, [pc, #440] ; 9f0c - 9d56: 47d0 blx sl + 979a: 1d20 adds r0, r4, #4 + 979c: 9001 str r0, [sp, #4] + 979e: 8920 ldrh r0, [r4, #8] + 97a0: 9000 str r0, [sp, #0] + 97a2: b21b sxth r3, r3 + 97a4: b212 sxth r2, r2 + 97a6: b209 sxth r1, r1 + 97a8: a80a add r0, sp, #40 ; 0x28 + 97aa: f8df a1b8 ldr.w sl, [pc, #440] ; 9964 + 97ae: 47d0 blx sl map_area_rot.x1 += coords->x1; - 9d58: 882a ldrh r2, [r5, #0] - 9d5a: f8bd 3028 ldrh.w r3, [sp, #40] ; 0x28 - 9d5e: 4413 add r3, r2 - 9d60: f8ad 3028 strh.w r3, [sp, #40] ; 0x28 + 97b0: 882a ldrh r2, [r5, #0] + 97b2: f8bd 3028 ldrh.w r3, [sp, #40] ; 0x28 + 97b6: 4413 add r3, r2 + 97b8: f8ad 3028 strh.w r3, [sp, #40] ; 0x28 map_area_rot.y1 += coords->y1; - 9d64: 886b ldrh r3, [r5, #2] - 9d66: f8bd 102a ldrh.w r1, [sp, #42] ; 0x2a - 9d6a: 4419 add r1, r3 - 9d6c: f8ad 102a strh.w r1, [sp, #42] ; 0x2a + 97bc: 886b ldrh r3, [r5, #2] + 97be: f8bd 102a ldrh.w r1, [sp, #42] ; 0x2a + 97c2: 4419 add r1, r3 + 97c4: f8ad 102a strh.w r1, [sp, #42] ; 0x2a map_area_rot.x2 += coords->x1; - 9d70: f8bd 102c ldrh.w r1, [sp, #44] ; 0x2c - 9d74: 440a add r2, r1 - 9d76: f8ad 202c strh.w r2, [sp, #44] ; 0x2c + 97c8: f8bd 102c ldrh.w r1, [sp, #44] ; 0x2c + 97cc: 440a add r2, r1 + 97ce: f8ad 202c strh.w r2, [sp, #44] ; 0x2c map_area_rot.y2 += coords->y1; - 9d7a: f8bd 202e ldrh.w r2, [sp, #46] ; 0x2e - 9d7e: 4413 add r3, r2 - 9d80: f8ad 302e strh.w r3, [sp, #46] ; 0x2e + 97d2: f8bd 202e ldrh.w r2, [sp, #46] ; 0x2e + 97d6: 4413 add r3, r2 + 97d8: f8ad 302e strh.w r3, [sp, #46] ; 0x2e union_ok = _lv_area_intersect(&mask_com, clip_area, &map_area_rot); - 9d84: aa0a add r2, sp, #40 ; 0x28 - 9d86: 4631 mov r1, r6 - 9d88: a80c add r0, sp, #48 ; 0x30 - 9d8a: 4b58 ldr r3, [pc, #352] ; (9eec ) - 9d8c: 4798 blx r3 + 97dc: aa0a add r2, sp, #40 ; 0x28 + 97de: 4631 mov r1, r6 + 97e0: a80c add r0, sp, #48 ; 0x30 + 97e2: 4b58 ldr r3, [pc, #352] ; (9944 ) + 97e4: 4798 blx r3 if(union_ok == false) { - 9d8e: 2800 cmp r0, #0 - 9d90: d089 beq.n 9ca6 + 97e6: 2800 cmp r0, #0 + 97e8: d089 beq.n 96fe lv_draw_map(coords, &mask_com, cdsc->dec_dsc.img_data, draw_dsc, chroma_keyed, alpha_byte); - 9d92: 693a ldr r2, [r7, #16] - 9d94: f8cd 9004 str.w r9, [sp, #4] - 9d98: f8cd 8000 str.w r8, [sp] - 9d9c: 4623 mov r3, r4 - 9d9e: a90c add r1, sp, #48 ; 0x30 - 9da0: 4628 mov r0, r5 - 9da2: 4c53 ldr r4, [pc, #332] ; (9ef0 ) - 9da4: 47a0 blx r4 - 9da6: e77e b.n 9ca6 + 97ea: 693a ldr r2, [r7, #16] + 97ec: f8cd 9004 str.w r9, [sp, #4] + 97f0: f8cd 8000 str.w r8, [sp] + 97f4: 4623 mov r3, r4 + 97f6: a90c add r1, sp, #48 ; 0x30 + 97f8: 4628 mov r0, r5 + 97fa: 4c53 ldr r4, [pc, #332] ; (9948 ) + 97fc: 47a0 blx r4 + 97fe: e77e b.n 96fe union_ok = _lv_area_intersect(&mask_com, clip_area, coords); - 9da8: 462a mov r2, r5 - 9daa: 4631 mov r1, r6 - 9dac: a808 add r0, sp, #32 - 9dae: 4b4f ldr r3, [pc, #316] ; (9eec ) - 9db0: 4798 blx r3 + 9800: 462a mov r2, r5 + 9802: 4631 mov r1, r6 + 9804: a808 add r0, sp, #32 + 9806: 4b4f ldr r3, [pc, #316] ; (9944 ) + 9808: 4798 blx r3 if(union_ok == false) { - 9db2: 2800 cmp r0, #0 - 9db4: f43f af77 beq.w 9ca6 - 9db8: f8bd 3024 ldrh.w r3, [sp, #36] ; 0x24 - 9dbc: 3301 adds r3, #1 - 9dbe: f8bd 2020 ldrh.w r2, [sp, #32] - 9dc2: 1a9b subs r3, r3, r2 - 9dc4: b21b sxth r3, r3 - 9dc6: 9303 str r3, [sp, #12] + 980a: 2800 cmp r0, #0 + 980c: f43f af77 beq.w 96fe + 9810: f8bd 3024 ldrh.w r3, [sp, #36] ; 0x24 + 9814: 3301 adds r3, #1 + 9816: f8bd 2020 ldrh.w r2, [sp, #32] + 981a: 1a9b subs r3, r3, r2 + 981c: b21b sxth r3, r3 + 981e: 9303 str r3, [sp, #12] uint8_t * buf = _lv_mem_buf_get(lv_area_get_width(&mask_com) * - 9dc8: eb03 0043 add.w r0, r3, r3, lsl #1 - 9dcc: 4b49 ldr r3, [pc, #292] ; (9ef4 ) - 9dce: 4798 blx r3 - 9dd0: 9002 str r0, [sp, #8] - 9dd2: f10d 021f add.w r2, sp, #31 + 9820: eb03 0043 add.w r0, r3, r3, lsl #1 + 9824: 4b49 ldr r3, [pc, #292] ; (994c ) + 9826: 4798 blx r3 + 9828: 9002 str r0, [sp, #8] + 982a: f10d 021f add.w r2, sp, #31 uint8_t * d8 = (uint8_t *)dst; - 9dd6: ab0a add r3, sp, #40 ; 0x28 + 982e: ab0a add r3, sp, #40 ; 0x28 while(len) { - 9dd8: a80c add r0, sp, #48 ; 0x30 + 9830: a80c add r0, sp, #48 ; 0x30 *d8 = *s8; - 9dda: f812 1f01 ldrb.w r1, [r2, #1]! - 9dde: f803 1b01 strb.w r1, [r3], #1 + 9832: f812 1f01 ldrb.w r1, [r2, #1]! + 9836: f803 1b01 strb.w r1, [r3], #1 while(len) { - 9de2: 4283 cmp r3, r0 - 9de4: d1f9 bne.n 9dda + 983a: 4283 cmp r3, r0 + 983c: d1f9 bne.n 9832 lv_area_set_height(&line, 1); - 9de6: 2101 movs r1, #1 - 9de8: a80a add r0, sp, #40 ; 0x28 - 9dea: 4b43 ldr r3, [pc, #268] ; (9ef8 ) - 9dec: 4798 blx r3 + 983e: 2101 movs r1, #1 + 9840: a80a add r0, sp, #40 ; 0x28 + 9842: 4b43 ldr r3, [pc, #268] ; (9950 ) + 9844: 4798 blx r3 int32_t x = mask_com.x1 - coords->x1; - 9dee: f9bd 3020 ldrsh.w r3, [sp, #32] - 9df2: f9b5 2000 ldrsh.w r2, [r5] + 9846: f9bd 3020 ldrsh.w r3, [sp, #32] + 984a: f9b5 2000 ldrsh.w r2, [r5] int32_t y = mask_com.y1 - coords->y1; - 9df6: f9bd a022 ldrsh.w sl, [sp, #34] ; 0x22 - 9dfa: f9b5 1002 ldrsh.w r1, [r5, #2] - 9dfe: ebaa 0101 sub.w r1, sl, r1 - 9e02: 4608 mov r0, r1 + 984e: f9bd a022 ldrsh.w sl, [sp, #34] ; 0x22 + 9852: f9b5 1002 ldrsh.w r1, [r5, #2] + 9856: ebaa 0101 sub.w r1, sl, r1 + 985a: 4608 mov r0, r1 for(row = mask_com.y1; row <= mask_com.y2; row++) { - 9e04: f9bd 1026 ldrsh.w r1, [sp, #38] ; 0x26 - 9e08: 458a cmp sl, r1 - 9e0a: dc55 bgt.n 9eb8 + 985c: f9bd 1026 ldrsh.w r1, [sp, #38] ; 0x26 + 9860: 458a cmp sl, r1 + 9862: dc55 bgt.n 9910 union_ok = _lv_area_intersect(&mask_line, clip_area, &line); - 9e0c: f8df b0dc ldr.w fp, [pc, #220] ; 9eec + 9864: f8df b0dc ldr.w fp, [pc, #220] ; 9944 read_res = lv_img_decoder_read_line(&cdsc->dec_dsc, x, y, width, buf); - 9e10: 1a9b subs r3, r3, r2 - 9e12: b21b sxth r3, r3 - 9e14: 9305 str r3, [sp, #20] - 9e16: 9507 str r5, [sp, #28] - 9e18: 9406 str r4, [sp, #24] - 9e1a: 4644 mov r4, r8 - 9e1c: 4680 mov r8, r0 - 9e1e: e023 b.n 9e68 - 9e20: 9d07 ldr r5, [sp, #28] + 9868: 1a9b subs r3, r3, r2 + 986a: b21b sxth r3, r3 + 986c: 9305 str r3, [sp, #20] + 986e: 9507 str r5, [sp, #28] + 9870: 9406 str r4, [sp, #24] + 9872: 4644 mov r4, r8 + 9874: 4680 mov r8, r0 + 9876: e023 b.n 98c0 + 9878: 9d07 ldr r5, [sp, #28] lv_img_decoder_close(&cdsc->dec_dsc); - 9e22: 9804 ldr r0, [sp, #16] - 9e24: 4b35 ldr r3, [pc, #212] ; (9efc ) - 9e26: 4798 blx r3 + 987a: 9804 ldr r0, [sp, #16] + 987c: 4b35 ldr r3, [pc, #212] ; (9954 ) + 987e: 4798 blx r3 LV_LOG_WARN("Image draw can't read the line"); - 9e28: 4b35 ldr r3, [pc, #212] ; (9f00 ) - 9e2a: 9300 str r3, [sp, #0] - 9e2c: 4b2e ldr r3, [pc, #184] ; (9ee8 ) - 9e2e: f44f 729a mov.w r2, #308 ; 0x134 - 9e32: 4925 ldr r1, [pc, #148] ; (9ec8 ) - 9e34: 2002 movs r0, #2 - 9e36: 4c25 ldr r4, [pc, #148] ; (9ecc ) - 9e38: 47a0 blx r4 + 9880: 4b35 ldr r3, [pc, #212] ; (9958 ) + 9882: 9300 str r3, [sp, #0] + 9884: 4b2e ldr r3, [pc, #184] ; (9940 ) + 9886: f44f 729a mov.w r2, #308 ; 0x134 + 988a: 4925 ldr r1, [pc, #148] ; (9920 ) + 988c: 2002 movs r0, #2 + 988e: 4c25 ldr r4, [pc, #148] ; (9924 ) + 9890: 47a0 blx r4 _lv_mem_buf_release(buf); - 9e3a: 9802 ldr r0, [sp, #8] - 9e3c: 4b31 ldr r3, [pc, #196] ; (9f04 ) - 9e3e: 4798 blx r3 + 9892: 9802 ldr r0, [sp, #8] + 9894: 4b31 ldr r3, [pc, #196] ; (995c ) + 9896: 4798 blx r3 LV_LOG_WARN("Image draw error"); - 9e40: 4b28 ldr r3, [pc, #160] ; (9ee4 ) - 9e42: 9300 str r3, [sp, #0] - 9e44: 4b1f ldr r3, [pc, #124] ; (9ec4 ) - 9e46: 2258 movs r2, #88 ; 0x58 - 9e48: 491f ldr r1, [pc, #124] ; (9ec8 ) - 9e4a: 2002 movs r0, #2 - 9e4c: 4c1f ldr r4, [pc, #124] ; (9ecc ) - 9e4e: 47a0 blx r4 + 9898: 4b28 ldr r3, [pc, #160] ; (993c ) + 989a: 9300 str r3, [sp, #0] + 989c: 4b1f ldr r3, [pc, #124] ; (991c ) + 989e: 2258 movs r2, #88 ; 0x58 + 98a0: 491f ldr r1, [pc, #124] ; (9920 ) + 98a2: 2002 movs r0, #2 + 98a4: 4c1f ldr r4, [pc, #124] ; (9924 ) + 98a6: 47a0 blx r4 show_error(coords, mask, "No\ndata"); - 9e50: 4a1f ldr r2, [pc, #124] ; (9ed0 ) - 9e52: 4631 mov r1, r6 - 9e54: 4628 mov r0, r5 - 9e56: 4b1f ldr r3, [pc, #124] ; (9ed4 ) - 9e58: 4798 blx r3 + 98a8: 4a1f ldr r2, [pc, #124] ; (9928 ) + 98aa: 4631 mov r1, r6 + 98ac: 4628 mov r0, r5 + 98ae: 4b1f ldr r3, [pc, #124] ; (992c ) + 98b0: 4798 blx r3 return; - 9e5a: e724 b.n 9ca6 + 98b2: e724 b.n 96fe for(row = mask_com.y1; row <= mask_com.y2; row++) { - 9e5c: f10a 0a01 add.w sl, sl, #1 - 9e60: f9bd 3026 ldrsh.w r3, [sp, #38] ; 0x26 - 9e64: 459a cmp sl, r3 - 9e66: dc27 bgt.n 9eb8 + 98b4: f10a 0a01 add.w sl, sl, #1 + 98b8: f9bd 3026 ldrsh.w r3, [sp, #38] ; 0x26 + 98bc: 459a cmp sl, r3 + 98be: dc27 bgt.n 9910 union_ok = _lv_area_intersect(&mask_line, clip_area, &line); - 9e68: aa0a add r2, sp, #40 ; 0x28 - 9e6a: 4631 mov r1, r6 - 9e6c: a80c add r0, sp, #48 ; 0x30 - 9e6e: 47d8 blx fp + 98c0: aa0a add r2, sp, #40 ; 0x28 + 98c2: 4631 mov r1, r6 + 98c4: a80c add r0, sp, #48 ; 0x30 + 98c6: 47d8 blx fp if(union_ok == false) continue; - 9e70: 2800 cmp r0, #0 - 9e72: d0f3 beq.n 9e5c + 98c8: 2800 cmp r0, #0 + 98ca: d0f3 beq.n 98b4 read_res = lv_img_decoder_read_line(&cdsc->dec_dsc, x, y, width, buf); - 9e74: 9704 str r7, [sp, #16] - 9e76: 9b02 ldr r3, [sp, #8] - 9e78: 9300 str r3, [sp, #0] - 9e7a: 9b03 ldr r3, [sp, #12] - 9e7c: fa0f f288 sxth.w r2, r8 - 9e80: 9905 ldr r1, [sp, #20] - 9e82: 4638 mov r0, r7 - 9e84: 4d20 ldr r5, [pc, #128] ; (9f08 ) - 9e86: 47a8 blx r5 + 98cc: 9704 str r7, [sp, #16] + 98ce: 9b02 ldr r3, [sp, #8] + 98d0: 9300 str r3, [sp, #0] + 98d2: 9b03 ldr r3, [sp, #12] + 98d4: fa0f f288 sxth.w r2, r8 + 98d8: 9905 ldr r1, [sp, #20] + 98da: 4638 mov r0, r7 + 98dc: 4d20 ldr r5, [pc, #128] ; (9960 ) + 98de: 47a8 blx r5 if(read_res != LV_RES_OK) { - 9e88: 2801 cmp r0, #1 - 9e8a: d1c9 bne.n 9e20 + 98e0: 2801 cmp r0, #1 + 98e2: d1c9 bne.n 9878 lv_draw_map(&line, &mask_line, buf, draw_dsc, chroma_keyed, alpha_byte); - 9e8c: f8cd 9004 str.w r9, [sp, #4] - 9e90: 9400 str r4, [sp, #0] - 9e92: 9b06 ldr r3, [sp, #24] - 9e94: 9a02 ldr r2, [sp, #8] - 9e96: a90c add r1, sp, #48 ; 0x30 - 9e98: a80a add r0, sp, #40 ; 0x28 - 9e9a: 4d15 ldr r5, [pc, #84] ; (9ef0 ) - 9e9c: 47a8 blx r5 + 98e4: f8cd 9004 str.w r9, [sp, #4] + 98e8: 9400 str r4, [sp, #0] + 98ea: 9b06 ldr r3, [sp, #24] + 98ec: 9a02 ldr r2, [sp, #8] + 98ee: a90c add r1, sp, #48 ; 0x30 + 98f0: a80a add r0, sp, #40 ; 0x28 + 98f2: 4d15 ldr r5, [pc, #84] ; (9948 ) + 98f4: 47a8 blx r5 line.y1++; - 9e9e: f8bd 302a ldrh.w r3, [sp, #42] ; 0x2a - 9ea2: 3301 adds r3, #1 - 9ea4: f8ad 302a strh.w r3, [sp, #42] ; 0x2a + 98f6: f8bd 302a ldrh.w r3, [sp, #42] ; 0x2a + 98fa: 3301 adds r3, #1 + 98fc: f8ad 302a strh.w r3, [sp, #42] ; 0x2a line.y2++; - 9ea8: f8bd 302e ldrh.w r3, [sp, #46] ; 0x2e - 9eac: 3301 adds r3, #1 - 9eae: f8ad 302e strh.w r3, [sp, #46] ; 0x2e + 9900: f8bd 302e ldrh.w r3, [sp, #46] ; 0x2e + 9904: 3301 adds r3, #1 + 9906: f8ad 302e strh.w r3, [sp, #46] ; 0x2e y++; - 9eb2: f108 0801 add.w r8, r8, #1 - 9eb6: e7d1 b.n 9e5c + 990a: f108 0801 add.w r8, r8, #1 + 990e: e7d1 b.n 98b4 _lv_mem_buf_release(buf); - 9eb8: 9802 ldr r0, [sp, #8] - 9eba: 4b12 ldr r3, [pc, #72] ; (9f04 ) - 9ebc: 4798 blx r3 - 9ebe: e6f2 b.n 9ca6 - 9ec0: 0001c1f0 .word 0x0001c1f0 - 9ec4: 0001c1a0 .word 0x0001c1a0 - 9ec8: 0001c1c0 .word 0x0001c1c0 - 9ecc: 00012805 .word 0x00012805 - 9ed0: 0001c208 .word 0x0001c208 - 9ed4: 00009b9d .word 0x00009b9d - 9ed8: 0000f7a9 .word 0x0000f7a9 - 9edc: 00009c5b .word 0x00009c5b - 9ee0: 00009c6f .word 0x00009c6f - 9ee4: 0001c210 .word 0x0001c210 - 9ee8: 0001c1ac .word 0x0001c1ac - 9eec: 00011ac1 .word 0x00011ac1 - 9ef0: 00009375 .word 0x00009375 - 9ef4: 00012ee5 .word 0x00012ee5 - 9ef8: 00011a9b .word 0x00011a9b - 9efc: 000104dd .word 0x000104dd - 9f00: 0001c224 .word 0x0001c224 - 9f04: 00012b19 .word 0x00012b19 - 9f08: 000104b9 .word 0x000104b9 - 9f0c: 0000f20d .word 0x0000f20d - -00009f10 : + 9910: 9802 ldr r0, [sp, #8] + 9912: 4b12 ldr r3, [pc, #72] ; (995c ) + 9914: 4798 blx r3 + 9916: e6f2 b.n 96fe + 9918: 00024d0c .word 0x00024d0c + 991c: 00024cbc .word 0x00024cbc + 9920: 00024cdc .word 0x00024cdc + 9924: 0001225d .word 0x0001225d + 9928: 00024d24 .word 0x00024d24 + 992c: 000095f5 .word 0x000095f5 + 9930: 0000f201 .word 0x0000f201 + 9934: 000096b3 .word 0x000096b3 + 9938: 000096c7 .word 0x000096c7 + 993c: 00024d2c .word 0x00024d2c + 9940: 00024cc8 .word 0x00024cc8 + 9944: 00011519 .word 0x00011519 + 9948: 00008dcd .word 0x00008dcd + 994c: 0001293d .word 0x0001293d + 9950: 000114f3 .word 0x000114f3 + 9954: 0000ff35 .word 0x0000ff35 + 9958: 00024d40 .word 0x00024d40 + 995c: 00012571 .word 0x00012571 + 9960: 0000ff11 .word 0x0000ff11 + 9964: 0000ec65 .word 0x0000ec65 + +00009968 : if(src == NULL) return img_src_type; - 9f10: b158 cbz r0, 9f2a + 9968: b158 cbz r0, 9982 if(u8_p[0] >= 0x20 && u8_p[0] <= 0x7F) { - 9f12: 7802 ldrb r2, [r0, #0] - 9f14: f1a2 0320 sub.w r3, r2, #32 - 9f18: b2db uxtb r3, r3 - 9f1a: 2b5f cmp r3, #95 ; 0x5f - 9f1c: d907 bls.n 9f2e + 996a: 7802 ldrb r2, [r0, #0] + 996c: f1a2 0320 sub.w r3, r2, #32 + 9970: b2db uxtb r3, r3 + 9972: 2b5f cmp r3, #95 ; 0x5f + 9974: d907 bls.n 9986 else if(u8_p[0] >= 0x80) { - 9f1e: b252 sxtb r2, r2 + 9976: b252 sxtb r2, r2 img_src_type = LV_IMG_SRC_VARIABLE; /*`lv_img_dsc_t` is design to the first byte < 0x20*/ - 9f20: 2a00 cmp r2, #0 - 9f22: bfb4 ite lt - 9f24: 2002 movlt r0, #2 - 9f26: 2000 movge r0, #0 - 9f28: 4770 bx lr + 9978: 2a00 cmp r2, #0 + 997a: bfb4 ite lt + 997c: 2002 movlt r0, #2 + 997e: 2000 movge r0, #0 + 9980: 4770 bx lr if(src == NULL) return img_src_type; - 9f2a: 2003 movs r0, #3 - 9f2c: 4770 bx lr + 9982: 2003 movs r0, #3 + 9984: 4770 bx lr img_src_type = LV_IMG_SRC_FILE; /*If it's an ASCII character then it's file name*/ - 9f2e: 2001 movs r0, #1 + 9986: 2001 movs r0, #1 } - 9f30: 4770 bx lr + 9988: 4770 bx lr -00009f32 : +0000998a : */ static uint8_t hex_char_to_num(char hex) { uint8_t result = 0; if(hex >= '0' && hex <= '9') { - 9f32: f1a0 0330 sub.w r3, r0, #48 ; 0x30 - 9f36: b2db uxtb r3, r3 - 9f38: 2b09 cmp r3, #9 - 9f3a: d917 bls.n 9f6c + 998a: f1a0 0330 sub.w r3, r0, #48 ; 0x30 + 998e: b2db uxtb r3, r3 + 9990: 2b09 cmp r3, #9 + 9992: d917 bls.n 99c4 result = hex - '0'; } else { if(hex >= 'a') hex -= 'a' - 'A'; /*Convert to upper case*/ - 9f3c: 2860 cmp r0, #96 ; 0x60 - 9f3e: bf84 itt hi - 9f40: 3820 subhi r0, #32 - 9f42: b2c0 uxtbhi r0, r0 + 9994: 2860 cmp r0, #96 ; 0x60 + 9996: bf84 itt hi + 9998: 3820 subhi r0, #32 + 999a: b2c0 uxtbhi r0, r0 switch(hex) { - 9f44: 3841 subs r0, #65 ; 0x41 - 9f46: 2805 cmp r0, #5 - 9f48: d80e bhi.n 9f68 - 9f4a: e8df f000 tbb [pc, r0] - 9f4e: 0311 .short 0x0311 - 9f50: 0b090705 .word 0x0b090705 + 999c: 3841 subs r0, #65 ; 0x41 + 999e: 2805 cmp r0, #5 + 99a0: d80e bhi.n 99c0 + 99a2: e8df f000 tbb [pc, r0] + 99a6: 0311 .short 0x0311 + 99a8: 0b090705 .word 0x0b090705 case 'A': result = 10; break; case 'B': result = 11; - 9f54: 200b movs r0, #11 - 9f56: 4770 bx lr + 99ac: 200b movs r0, #11 + 99ae: 4770 bx lr break; case 'C': result = 12; - 9f58: 200c movs r0, #12 + 99b0: 200c movs r0, #12 break; - 9f5a: 4770 bx lr + 99b2: 4770 bx lr case 'D': result = 13; - 9f5c: 200d movs r0, #13 + 99b4: 200d movs r0, #13 break; - 9f5e: 4770 bx lr + 99b6: 4770 bx lr case 'E': result = 14; - 9f60: 200e movs r0, #14 + 99b8: 200e movs r0, #14 break; - 9f62: 4770 bx lr + 99ba: 4770 bx lr case 'F': result = 15; - 9f64: 200f movs r0, #15 + 99bc: 200f movs r0, #15 break; - 9f66: 4770 bx lr + 99be: 4770 bx lr default: result = 0; - 9f68: 2000 movs r0, #0 + 99c0: 2000 movs r0, #0 break; - 9f6a: 4770 bx lr + 99c2: 4770 bx lr result = hex - '0'; - 9f6c: 4618 mov r0, r3 - 9f6e: 4770 bx lr + 99c4: 4618 mov r0, r3 + 99c6: 4770 bx lr result = 10; - 9f70: 200a movs r0, #10 + 99c8: 200a movs r0, #10 } } return result; } - 9f72: 4770 bx lr + 99ca: 4770 bx lr -00009f74 : +000099cc : { - 9f74: b510 push {r4, lr} - 9f76: 4604 mov r4, r0 + 99cc: b510 push {r4, lr} + 99ce: 4604 mov r4, r0 _lv_memset_00(dsc, sizeof(lv_draw_label_dsc_t)); - 9f78: 211c movs r1, #28 - 9f7a: 4b12 ldr r3, [pc, #72] ; (9fc4 ) - 9f7c: 4798 blx r3 + 99d0: 211c movs r1, #28 + 99d2: 4b12 ldr r3, [pc, #72] ; (9a1c ) + 99d4: 4798 blx r3 dsc->opa = LV_OPA_COVER; - 9f7e: 23ff movs r3, #255 ; 0xff - 9f80: 7223 strb r3, [r4, #8] + 99d6: 23ff movs r3, #255 ; 0xff + 99d8: 7223 strb r3, [r4, #8] dsc->color = LV_COLOR_BLACK; - 9f82: 7823 ldrb r3, [r4, #0] - 9f84: f36f 0304 bfc r3, #0, #5 - 9f88: 7023 strb r3, [r4, #0] - 9f8a: 8823 ldrh r3, [r4, #0] - 9f8c: f36f 134a bfc r3, #5, #6 - 9f90: 8023 strh r3, [r4, #0] - 9f92: 0a1b lsrs r3, r3, #8 - 9f94: f36f 03c7 bfc r3, #3, #5 - 9f98: 7063 strb r3, [r4, #1] + 99da: 7823 ldrb r3, [r4, #0] + 99dc: f36f 0304 bfc r3, #0, #5 + 99e0: 7023 strb r3, [r4, #0] + 99e2: 8823 ldrh r3, [r4, #0] + 99e4: f36f 134a bfc r3, #5, #6 + 99e8: 8023 strh r3, [r4, #0] + 99ea: 0a1b lsrs r3, r3, #8 + 99ec: f36f 03c7 bfc r3, #3, #5 + 99f0: 7063 strb r3, [r4, #1] dsc->font = LV_THEME_DEFAULT_FONT_NORMAL; - 9f9a: 4b0b ldr r3, [pc, #44] ; (9fc8 ) - 9f9c: 6063 str r3, [r4, #4] + 99f2: 4b0b ldr r3, [pc, #44] ; (9a20 ) + 99f4: 6063 str r3, [r4, #4] dsc->sel_start = LV_DRAW_LABEL_NO_TXT_SEL; - 9f9e: f64f 73ff movw r3, #65535 ; 0xffff - 9fa2: 81e3 strh r3, [r4, #14] + 99f6: f64f 73ff movw r3, #65535 ; 0xffff + 99fa: 81e3 strh r3, [r4, #14] dsc->sel_end = LV_DRAW_LABEL_NO_TXT_SEL; - 9fa4: 8223 strh r3, [r4, #16] + 99fc: 8223 strh r3, [r4, #16] dsc->sel_color = LV_COLOR_BLUE; - 9fa6: 78a3 ldrb r3, [r4, #2] - 9fa8: f043 031f orr.w r3, r3, #31 - 9fac: 70a3 strb r3, [r4, #2] - 9fae: 8863 ldrh r3, [r4, #2] - 9fb0: f36f 134a bfc r3, #5, #6 - 9fb4: 8063 strh r3, [r4, #2] - 9fb6: 0a1b lsrs r3, r3, #8 - 9fb8: f36f 03c7 bfc r3, #3, #5 - 9fbc: 70e3 strb r3, [r4, #3] + 99fe: 78a3 ldrb r3, [r4, #2] + 9a00: f043 031f orr.w r3, r3, #31 + 9a04: 70a3 strb r3, [r4, #2] + 9a06: 8863 ldrh r3, [r4, #2] + 9a08: f36f 134a bfc r3, #5, #6 + 9a0c: 8063 strh r3, [r4, #2] + 9a0e: 0a1b lsrs r3, r3, #8 + 9a10: f36f 03c7 bfc r3, #3, #5 + 9a14: 70e3 strb r3, [r4, #3] dsc->bidi_dir = LV_BIDI_DIR_LTR; - 9fbe: 2300 movs r3, #0 - 9fc0: 75a3 strb r3, [r4, #22] - 9fc2: bd10 pop {r4, pc} - 9fc4: 000130df .word 0x000130df - 9fc8: 20000010 .word 0x20000010 + 9a16: 2300 movs r3, #0 + 9a18: 75a3 strb r3, [r4, #22] + 9a1a: bd10 pop {r4, pc} + 9a1c: 00012b37 .word 0x00012b37 + 9a20: 20000010 .word 0x20000010 -00009fcc : +00009a24 : { - 9fcc: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 9fd0: b0d9 sub sp, #356 ; 0x164 - 9fd2: 9c62 ldr r4, [sp, #392] ; 0x188 + 9a24: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 9a28: b0d9 sub sp, #356 ; 0x164 + 9a2a: 9c62 ldr r4, [sp, #392] ; 0x188 if(dsc->opa <= LV_OPA_MIN) return; - 9fd4: 7a15 ldrb r5, [r2, #8] - 9fd6: 2d05 cmp r5, #5 - 9fd8: d901 bls.n 9fde + 9a2c: 7a15 ldrb r5, [r2, #8] + 9a2e: 2d05 cmp r5, #5 + 9a30: d901 bls.n 9a36 if(txt[0] == '\0') return; - 9fda: 781d ldrb r5, [r3, #0] - 9fdc: b915 cbnz r5, 9fe4 -} - 9fde: b059 add sp, #356 ; 0x164 - 9fe0: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} - 9fe4: 930a str r3, [sp, #40] ; 0x28 - 9fe6: 4693 mov fp, r2 - 9fe8: 460a mov r2, r1 - 9fea: 910d str r1, [sp, #52] ; 0x34 - 9fec: 4605 mov r5, r0 - 9fee: 9013 str r0, [sp, #76] ; 0x4c + 9a32: 781d ldrb r5, [r3, #0] + 9a34: b915 cbnz r5, 9a3c +} + 9a36: b059 add sp, #356 ; 0x164 + 9a38: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 9a3c: 930a str r3, [sp, #40] ; 0x28 + 9a3e: 4693 mov fp, r2 + 9a40: 460a mov r2, r1 + 9a42: 910d str r1, [sp, #52] ; 0x34 + 9a44: 4605 mov r5, r0 + 9a46: 9013 str r0, [sp, #76] ; 0x4c const lv_font_t * font = dsc->font; - 9ff0: f8db 3004 ldr.w r3, [fp, #4] - 9ff4: 9305 str r3, [sp, #20] + 9a48: f8db 3004 ldr.w r3, [fp, #4] + 9a4c: 9305 str r3, [sp, #20] bool clip_ok = _lv_area_intersect(&clipped_area, coords, mask); - 9ff6: 4601 mov r1, r0 - 9ff8: a856 add r0, sp, #344 ; 0x158 - 9ffa: 4baa ldr r3, [pc, #680] ; (a2a4 ) - 9ffc: 4798 blx r3 + 9a4e: 4601 mov r1, r0 + 9a50: a856 add r0, sp, #344 ; 0x158 + 9a52: 4baa ldr r3, [pc, #680] ; (9cfc ) + 9a54: 4798 blx r3 if(!clip_ok) return; - 9ffe: 2800 cmp r0, #0 - a000: d0ed beq.n 9fde + 9a56: 2800 cmp r0, #0 + 9a58: d0ed beq.n 9a36 if((dsc->flag & LV_TXT_FLAG_EXPAND) == 0) { - a002: f89b 2017 ldrb.w r2, [fp, #23] - a006: f012 0f02 tst.w r2, #2 - a00a: d121 bne.n a050 - a00c: 88ab ldrh r3, [r5, #4] - a00e: 3301 adds r3, #1 - a010: 882a ldrh r2, [r5, #0] - a012: 1a9b subs r3, r3, r2 + 9a5a: f89b 2017 ldrb.w r2, [fp, #23] + 9a5e: f012 0f02 tst.w r2, #2 + 9a62: d121 bne.n 9aa8 + 9a64: 88ab ldrh r3, [r5, #4] + 9a66: 3301 adds r3, #1 + 9a68: 882a ldrh r2, [r5, #0] + 9a6a: 1a9b subs r3, r3, r2 w = lv_area_get_width(coords); - a014: b21b sxth r3, r3 + 9a6c: b21b sxth r3, r3 int32_t line_height_font = lv_font_get_line_height(font); - a016: 9a05 ldr r2, [sp, #20] - a018: f9b2 a008 ldrsh.w sl, [r2, #8] + 9a6e: 9a05 ldr r2, [sp, #20] + 9a70: f9b2 a008 ldrsh.w sl, [r2, #8] int32_t line_height = line_height_font + dsc->line_space; - a01c: f9bb 900a ldrsh.w r9, [fp, #10] - a020: 44d1 add r9, sl + 9a74: f9bb 900a ldrsh.w r9, [fp, #10] + 9a78: 44d1 add r9, sl pos.x = coords->x1; - a022: 9913 ldr r1, [sp, #76] ; 0x4c - a024: f9b1 2000 ldrsh.w r2, [r1] - a028: 921f str r2, [sp, #124] ; 0x7c + 9a7a: 9913 ldr r1, [sp, #76] ; 0x4c + 9a7c: f9b1 2000 ldrsh.w r2, [r1] + 9a80: 921f str r2, [sp, #124] ; 0x7c pos.y = coords->y1; - a02a: f9b1 0002 ldrsh.w r0, [r1, #2] + 9a82: f9b1 0002 ldrsh.w r0, [r1, #2] x_ofs = dsc->ofs_x; - a02e: f9bb 2012 ldrsh.w r2, [fp, #18] - a032: 921a str r2, [sp, #104] ; 0x68 + 9a86: f9bb 2012 ldrsh.w r2, [fp, #18] + 9a8a: 921a str r2, [sp, #104] ; 0x68 y_ofs = dsc->ofs_y; - a034: f9bb 1014 ldrsh.w r1, [fp, #20] + 9a8c: f9bb 1014 ldrsh.w r1, [fp, #20] pos.y += y_ofs; - a038: 1842 adds r2, r0, r1 - a03a: b292 uxth r2, r2 - a03c: b215 sxth r5, r2 + 9a90: 1842 adds r2, r0, r1 + 9a92: b292 uxth r2, r2 + 9a94: b215 sxth r5, r2 if(hint && y_ofs == 0 && coords->y1 < 0) { - a03e: 2c00 cmp r4, #0 - a040: d04a beq.n a0d8 - a042: 2900 cmp r1, #0 - a044: d14b bne.n a0de - a046: 2800 cmp r0, #0 - a048: db14 blt.n a074 + 9a96: 2c00 cmp r4, #0 + 9a98: d04a beq.n 9b30 + 9a9a: 2900 cmp r1, #0 + 9a9c: d14b bne.n 9b36 + 9a9e: 2800 cmp r0, #0 + 9aa0: db14 blt.n 9acc pos.y += y_ofs; - a04a: 950e str r5, [sp, #56] ; 0x38 + 9aa2: 950e str r5, [sp, #56] ; 0x38 uint32_t line_start = 0; - a04c: 2600 movs r6, #0 - a04e: e029 b.n a0a4 + 9aa4: 2600 movs r6, #0 + 9aa6: e029 b.n 9afc _lv_txt_get_size(&p, txt, dsc->font, dsc->letter_space, dsc->line_space, LV_COORD_MAX, - a050: f9bb 300c ldrsh.w r3, [fp, #12] - a054: 9202 str r2, [sp, #8] - a056: f647 4218 movw r2, #31768 ; 0x7c18 - a05a: 9201 str r2, [sp, #4] - a05c: f9bb 200a ldrsh.w r2, [fp, #10] - a060: 9200 str r2, [sp, #0] - a062: f8db 2004 ldr.w r2, [fp, #4] - a066: 990a ldr r1, [sp, #40] ; 0x28 - a068: a83a add r0, sp, #232 ; 0xe8 - a06a: 4d8f ldr r5, [pc, #572] ; (a2a8 ) - a06c: 47a8 blx r5 + 9aa8: f9bb 300c ldrsh.w r3, [fp, #12] + 9aac: 9202 str r2, [sp, #8] + 9aae: f647 4218 movw r2, #31768 ; 0x7c18 + 9ab2: 9201 str r2, [sp, #4] + 9ab4: f9bb 200a ldrsh.w r2, [fp, #10] + 9ab8: 9200 str r2, [sp, #0] + 9aba: f8db 2004 ldr.w r2, [fp, #4] + 9abe: 990a ldr r1, [sp, #40] ; 0x28 + 9ac0: a83a add r0, sp, #232 ; 0xe8 + 9ac2: 4d8f ldr r5, [pc, #572] ; (9d00 ) + 9ac4: 47a8 blx r5 w = p.x; - a06e: f9bd 30e8 ldrsh.w r3, [sp, #232] ; 0xe8 - a072: e7d0 b.n a016 + 9ac6: f9bd 30e8 ldrsh.w r3, [sp, #232] ; 0xe8 + 9aca: e7d0 b.n 9a6e if(LV_MATH_ABS(hint->coord_y - coords->y1) > LV_LABEL_HINT_UPDATE_TH - 2 * line_height) { - a074: 68a1 ldr r1, [r4, #8] - a076: 1a08 subs r0, r1, r0 - a078: ea80 71e0 eor.w r1, r0, r0, asr #31 - a07c: eba1 71e0 sub.w r1, r1, r0, asr #31 - a080: f5c9 7000 rsb r0, r9, #512 ; 0x200 - a084: ebb1 0f40 cmp.w r1, r0, lsl #1 - a088: dd05 ble.n a096 + 9acc: 68a1 ldr r1, [r4, #8] + 9ace: 1a08 subs r0, r1, r0 + 9ad0: ea80 71e0 eor.w r1, r0, r0, asr #31 + 9ad4: eba1 71e0 sub.w r1, r1, r0, asr #31 + 9ad8: f5c9 7000 rsb r0, r9, #512 ; 0x200 + 9adc: ebb1 0f40 cmp.w r1, r0, lsl #1 + 9ae0: dd05 ble.n 9aee hint->line_start = -1; - a08a: f04f 32ff mov.w r2, #4294967295 - a08e: 6022 str r2, [r4, #0] + 9ae2: f04f 32ff mov.w r2, #4294967295 + 9ae6: 6022 str r2, [r4, #0] pos.y += y_ofs; - a090: 950e str r5, [sp, #56] ; 0x38 + 9ae8: 950e str r5, [sp, #56] ; 0x38 uint32_t line_start = 0; - a092: 2600 movs r6, #0 - a094: e006 b.n a0a4 + 9aea: 2600 movs r6, #0 + 9aec: e006 b.n 9afc last_line_start = hint->line_start; - a096: 6826 ldr r6, [r4, #0] + 9aee: 6826 ldr r6, [r4, #0] if(hint && last_line_start >= 0) { - a098: 2e00 cmp r6, #0 - a09a: db23 blt.n a0e4 + 9af0: 2e00 cmp r6, #0 + 9af2: db23 blt.n 9b3c pos.y += hint->y; - a09c: 6861 ldr r1, [r4, #4] - a09e: 440a add r2, r1 - a0a0: b212 sxth r2, r2 - a0a2: 920e str r2, [sp, #56] ; 0x38 + 9af4: 6861 ldr r1, [r4, #4] + 9af6: 440a add r2, r1 + 9af8: b212 sxth r2, r2 + 9afa: 920e str r2, [sp, #56] ; 0x38 uint32_t line_end = line_start + _lv_txt_get_next_line(&txt[line_start], font, dsc->letter_space, w, dsc->flag); - a0a4: b21b sxth r3, r3 - a0a6: 4619 mov r1, r3 - a0a8: 9310 str r3, [sp, #64] ; 0x40 - a0aa: f9bb 200c ldrsh.w r2, [fp, #12] - a0ae: f89b 3017 ldrb.w r3, [fp, #23] - a0b2: 9300 str r3, [sp, #0] - a0b4: 460b mov r3, r1 - a0b6: 9905 ldr r1, [sp, #20] - a0b8: 980a ldr r0, [sp, #40] ; 0x28 - a0ba: 4430 add r0, r6 - a0bc: 4d7b ldr r5, [pc, #492] ; (a2ac ) - a0be: 47a8 blx r5 - a0c0: 1983 adds r3, r0, r6 + 9afc: b21b sxth r3, r3 + 9afe: 4619 mov r1, r3 + 9b00: 9310 str r3, [sp, #64] ; 0x40 + 9b02: f9bb 200c ldrsh.w r2, [fp, #12] + 9b06: f89b 3017 ldrb.w r3, [fp, #23] + 9b0a: 9300 str r3, [sp, #0] + 9b0c: 460b mov r3, r1 + 9b0e: 9905 ldr r1, [sp, #20] + 9b10: 980a ldr r0, [sp, #40] ; 0x28 + 9b12: 4430 add r0, r6 + 9b14: 4d7b ldr r5, [pc, #492] ; (9d04 ) + 9b16: 47a8 blx r5 + 9b18: 1983 adds r3, r0, r6 line_end += _lv_txt_get_next_line(&txt[line_start], font, dsc->letter_space, w, dsc->flag); - a0c2: 462f mov r7, r5 + 9b1a: 462f mov r7, r5 if(hint && pos.y >= -LV_LABEL_HINT_UPDATE_TH && hint->line_start < 0) { - a0c4: f8df 81f8 ldr.w r8, [pc, #504] ; a2c0 - a0c8: 4631 mov r1, r6 - a0ca: f8cd 9018 str.w r9, [sp, #24] - a0ce: 46d1 mov r9, sl - a0d0: 9d0e ldr r5, [sp, #56] ; 0x38 - a0d2: 4626 mov r6, r4 - a0d4: 461c mov r4, r3 + 9b1c: f8df 81f8 ldr.w r8, [pc, #504] ; 9d18 + 9b20: 4631 mov r1, r6 + 9b22: f8cd 9018 str.w r9, [sp, #24] + 9b26: 46d1 mov r9, sl + 9b28: 9d0e ldr r5, [sp, #56] ; 0x38 + 9b2a: 4626 mov r6, r4 + 9b2c: 461c mov r4, r3 while(pos.y + line_height_font < mask->y1) { - a0d6: e00f b.n a0f8 + 9b2e: e00f b.n 9b50 pos.y += y_ofs; - a0d8: 950e str r5, [sp, #56] ; 0x38 + 9b30: 950e str r5, [sp, #56] ; 0x38 uint32_t line_start = 0; - a0da: 2600 movs r6, #0 - a0dc: e7e2 b.n a0a4 + 9b32: 2600 movs r6, #0 + 9b34: e7e2 b.n 9afc pos.y += y_ofs; - a0de: 950e str r5, [sp, #56] ; 0x38 + 9b36: 950e str r5, [sp, #56] ; 0x38 uint32_t line_start = 0; - a0e0: 2600 movs r6, #0 - a0e2: e7df b.n a0a4 + 9b38: 2600 movs r6, #0 + 9b3a: e7df b.n 9afc pos.y += y_ofs; - a0e4: 950e str r5, [sp, #56] ; 0x38 + 9b3c: 950e str r5, [sp, #56] ; 0x38 uint32_t line_start = 0; - a0e6: 2600 movs r6, #0 - a0e8: e7dc b.n a0a4 - a0ea: 4621 mov r1, r4 + 9b3e: 2600 movs r6, #0 + 9b40: e7dc b.n 9afc + 9b42: 4621 mov r1, r4 if(txt[line_start] == '\0') return; - a0ec: f89a 3000 ldrb.w r3, [sl] - a0f0: 2b00 cmp r3, #0 - a0f2: f43f af74 beq.w 9fde + 9b44: f89a 3000 ldrb.w r3, [sl] + 9b48: 2b00 cmp r3, #0 + 9b4a: f43f af74 beq.w 9a36 line_end += _lv_txt_get_next_line(&txt[line_start], font, dsc->letter_space, w, dsc->flag); - a0f6: 4604 mov r4, r0 + 9b4e: 4604 mov r4, r0 while(pos.y + line_height_font < mask->y1) { - a0f8: eb05 0309 add.w r3, r5, r9 - a0fc: 9a0d ldr r2, [sp, #52] ; 0x34 - a0fe: f9b2 2002 ldrsh.w r2, [r2, #2] - a102: 4293 cmp r3, r2 - a104: da20 bge.n a148 + 9b50: eb05 0309 add.w r3, r5, r9 + 9b54: 9a0d ldr r2, [sp, #52] ; 0x34 + 9b56: f9b2 2002 ldrsh.w r2, [r2, #2] + 9b5a: 4293 cmp r3, r2 + 9b5c: da20 bge.n 9ba0 line_end += _lv_txt_get_next_line(&txt[line_start], font, dsc->letter_space, w, dsc->flag); - a106: 9b0a ldr r3, [sp, #40] ; 0x28 - a108: eb03 0a04 add.w sl, r3, r4 - a10c: f9bb 200c ldrsh.w r2, [fp, #12] - a110: f89b 3017 ldrb.w r3, [fp, #23] - a114: 9300 str r3, [sp, #0] - a116: 9b10 ldr r3, [sp, #64] ; 0x40 - a118: 9905 ldr r1, [sp, #20] - a11a: 4650 mov r0, sl - a11c: 47b8 blx r7 - a11e: 4420 add r0, r4 - a120: 9b06 ldr r3, [sp, #24] - a122: 441d add r5, r3 - a124: b22d sxth r5, r5 + 9b5e: 9b0a ldr r3, [sp, #40] ; 0x28 + 9b60: eb03 0a04 add.w sl, r3, r4 + 9b64: f9bb 200c ldrsh.w r2, [fp, #12] + 9b68: f89b 3017 ldrb.w r3, [fp, #23] + 9b6c: 9300 str r3, [sp, #0] + 9b6e: 9b10 ldr r3, [sp, #64] ; 0x40 + 9b70: 9905 ldr r1, [sp, #20] + 9b72: 4650 mov r0, sl + 9b74: 47b8 blx r7 + 9b76: 4420 add r0, r4 + 9b78: 9b06 ldr r3, [sp, #24] + 9b7a: 441d add r5, r3 + 9b7c: b22d sxth r5, r5 if(hint && pos.y >= -LV_LABEL_HINT_UPDATE_TH && hint->line_start < 0) { - a126: 2e00 cmp r6, #0 - a128: d0df beq.n a0ea - a12a: 4545 cmp r5, r8 - a12c: dbdd blt.n a0ea - a12e: 6833 ldr r3, [r6, #0] - a130: 2b00 cmp r3, #0 - a132: dada bge.n a0ea + 9b7e: 2e00 cmp r6, #0 + 9b80: d0df beq.n 9b42 + 9b82: 4545 cmp r5, r8 + 9b84: dbdd blt.n 9b42 + 9b86: 6833 ldr r3, [r6, #0] + 9b88: 2b00 cmp r3, #0 + 9b8a: dada bge.n 9b42 hint->line_start = line_start; - a134: 6034 str r4, [r6, #0] + 9b8c: 6034 str r4, [r6, #0] hint->y = pos.y - coords->y1; - a136: 9a13 ldr r2, [sp, #76] ; 0x4c - a138: f9b2 3002 ldrsh.w r3, [r2, #2] - a13c: 1aeb subs r3, r5, r3 - a13e: 6073 str r3, [r6, #4] + 9b8e: 9a13 ldr r2, [sp, #76] ; 0x4c + 9b90: f9b2 3002 ldrsh.w r3, [r2, #2] + 9b94: 1aeb subs r3, r5, r3 + 9b96: 6073 str r3, [r6, #4] hint->coord_y = coords->y1; - a140: f9b2 3002 ldrsh.w r3, [r2, #2] - a144: 60b3 str r3, [r6, #8] - a146: e7d0 b.n a0ea - a148: 460e mov r6, r1 - a14a: 9407 str r4, [sp, #28] - a14c: f8dd 9018 ldr.w r9, [sp, #24] - a150: 950e str r5, [sp, #56] ; 0x38 + 9b98: f9b2 3002 ldrsh.w r3, [r2, #2] + 9b9c: 60b3 str r3, [r6, #8] + 9b9e: e7d0 b.n 9b42 + 9ba0: 460e mov r6, r1 + 9ba2: 9407 str r4, [sp, #28] + 9ba4: f8dd 9018 ldr.w r9, [sp, #24] + 9ba8: 950e str r5, [sp, #56] ; 0x38 if(dsc->flag & LV_TXT_FLAG_CENTER) { - a152: f89b 2017 ldrb.w r2, [fp, #23] - a156: f012 0f04 tst.w r2, #4 - a15a: d12f bne.n a1bc + 9baa: f89b 2017 ldrb.w r2, [fp, #23] + 9bae: f012 0f04 tst.w r2, #4 + 9bb2: d12f bne.n 9c14 else if(dsc->flag & LV_TXT_FLAG_RIGHT) { - a15c: f012 0f08 tst.w r2, #8 - a160: d145 bne.n a1ee + 9bb4: f012 0f08 tst.w r2, #8 + 9bb8: d145 bne.n 9c46 lv_opa_t opa = dsc->opa; - a162: f89b 3008 ldrb.w r3, [fp, #8] - a166: 930b str r3, [sp, #44] ; 0x2c + 9bba: f89b 3008 ldrb.w r3, [fp, #8] + 9bbe: 930b str r3, [sp, #44] ; 0x2c uint16_t sel_start = dsc->sel_start; - a168: f8bb 700e ldrh.w r7, [fp, #14] + 9bc0: f8bb 700e ldrh.w r7, [fp, #14] uint16_t sel_end = dsc->sel_end; - a16c: f8bb 3010 ldrh.w r3, [fp, #16] - a170: 4619 mov r1, r3 - a172: 9308 str r3, [sp, #32] + 9bc4: f8bb 3010 ldrh.w r3, [fp, #16] + 9bc8: 4619 mov r1, r3 + 9bca: 9308 str r3, [sp, #32] if(sel_start > sel_end) { - a174: 429f cmp r7, r3 - a176: d902 bls.n a17e - a178: 463b mov r3, r7 + 9bcc: 429f cmp r7, r3 + 9bce: d902 bls.n 9bd6 + 9bd0: 463b mov r3, r7 sel_start = sel_end; - a17a: 460f mov r7, r1 + 9bd2: 460f mov r7, r1 sel_end = tmp; - a17c: 9308 str r3, [sp, #32] + 9bd4: 9308 str r3, [sp, #32] if((dsc->decor & LV_TEXT_DECOR_UNDERLINE) || (dsc->decor & LV_TEXT_DECOR_STRIKETHROUGH)) { - a17e: f89b 3018 ldrb.w r3, [fp, #24] - a182: f013 0f03 tst.w r3, #3 - a186: d149 bne.n a21c + 9bd6: f89b 3018 ldrb.w r3, [fp, #24] + 9bda: f013 0f03 tst.w r3, #3 + 9bde: d149 bne.n 9c74 lv_draw_rect_dsc_init(&draw_dsc_sel); - a188: a83d add r0, sp, #244 ; 0xf4 - a18a: 4b49 ldr r3, [pc, #292] ; (a2b0 ) - a18c: 4798 blx r3 + 9be0: a83d add r0, sp, #244 ; 0xf4 + 9be2: 4b49 ldr r3, [pc, #292] ; (9d08 ) + 9be4: 4798 blx r3 draw_dsc_sel.bg_color = dsc->sel_color; - a18e: f8bb 3002 ldrh.w r3, [fp, #2] - a192: f8ad 30f6 strh.w r3, [sp, #246] ; 0xf6 - a196: 9b0b ldr r3, [sp, #44] ; 0x2c - a198: 2bfa cmp r3, #250 ; 0xfa - a19a: bf88 it hi - a19c: 23ff movhi r3, #255 ; 0xff - a19e: 9316 str r3, [sp, #88] ; 0x58 - a1a0: fa1f f389 uxth.w r3, r9 - a1a4: 9317 str r3, [sp, #92] ; 0x5c - a1a6: f8bd 3038 ldrh.w r3, [sp, #56] ; 0x38 - a1aa: 9311 str r3, [sp, #68] ; 0x44 + 9be6: f8bb 3002 ldrh.w r3, [fp, #2] + 9bea: f8ad 30f6 strh.w r3, [sp, #246] ; 0xf6 + 9bee: 9b0b ldr r3, [sp, #44] ; 0x2c + 9bf0: 2bfa cmp r3, #250 ; 0xfa + 9bf2: bf88 it hi + 9bf4: 23ff movhi r3, #255 ; 0xff + 9bf6: 9316 str r3, [sp, #88] ; 0x58 + 9bf8: fa1f f389 uxth.w r3, r9 + 9bfc: 9317 str r3, [sp, #92] ; 0x5c + 9bfe: f8bd 3038 ldrh.w r3, [sp, #56] ; 0x38 + 9c02: 9311 str r3, [sp, #68] ; 0x44 while(txt[line_start] != '\0') { - a1ac: 9d1f ldr r5, [sp, #124] ; 0x7c + 9c04: 9d1f ldr r5, [sp, #124] ; 0x7c uint16_t par_start = 0; - a1ae: 2300 movs r3, #0 - a1b0: 9319 str r3, [sp, #100] ; 0x64 - a1b2: 46ba mov sl, r7 - a1b4: 46d8 mov r8, fp - a1b6: 46b3 mov fp, r6 + 9c06: 2300 movs r3, #0 + 9c08: 9319 str r3, [sp, #100] ; 0x64 + 9c0a: 46ba mov sl, r7 + 9c0c: 46d8 mov r8, fp + 9c0e: 46b3 mov fp, r6 while(txt[line_start] != '\0') { - a1b8: f000 bdd3 b.w ad62 + 9c10: f000 bdd3 b.w a7ba line_width = _lv_txt_get_width(&txt[line_start], line_end - line_start, font, dsc->letter_space, dsc->flag); - a1bc: f9bb 300c ldrsh.w r3, [fp, #12] - a1c0: 1ba1 subs r1, r4, r6 - a1c2: 9200 str r2, [sp, #0] - a1c4: 9a05 ldr r2, [sp, #20] - a1c6: b289 uxth r1, r1 - a1c8: 980a ldr r0, [sp, #40] ; 0x28 - a1ca: 4430 add r0, r6 - a1cc: 4c39 ldr r4, [pc, #228] ; (a2b4 ) - a1ce: 47a0 blx r4 - a1d0: 9a13 ldr r2, [sp, #76] ; 0x4c - a1d2: 8893 ldrh r3, [r2, #4] - a1d4: 3301 adds r3, #1 - a1d6: 8812 ldrh r2, [r2, #0] - a1d8: 1a9b subs r3, r3, r2 + 9c14: f9bb 300c ldrsh.w r3, [fp, #12] + 9c18: 1ba1 subs r1, r4, r6 + 9c1a: 9200 str r2, [sp, #0] + 9c1c: 9a05 ldr r2, [sp, #20] + 9c1e: b289 uxth r1, r1 + 9c20: 980a ldr r0, [sp, #40] ; 0x28 + 9c22: 4430 add r0, r6 + 9c24: 4c39 ldr r4, [pc, #228] ; (9d0c ) + 9c26: 47a0 blx r4 + 9c28: 9a13 ldr r2, [sp, #76] ; 0x4c + 9c2a: 8893 ldrh r3, [r2, #4] + 9c2c: 3301 adds r3, #1 + 9c2e: 8812 ldrh r2, [r2, #0] + 9c30: 1a9b subs r3, r3, r2 pos.x += (lv_area_get_width(coords) - line_width) / 2; - a1da: b21b sxth r3, r3 - a1dc: 1a18 subs r0, r3, r0 - a1de: eb00 70d0 add.w r0, r0, r0, lsr #31 - a1e2: 9b1f ldr r3, [sp, #124] ; 0x7c - a1e4: eb03 0360 add.w r3, r3, r0, asr #1 - a1e8: b21b sxth r3, r3 - a1ea: 931f str r3, [sp, #124] ; 0x7c - a1ec: e7b9 b.n a162 + 9c32: b21b sxth r3, r3 + 9c34: 1a18 subs r0, r3, r0 + 9c36: eb00 70d0 add.w r0, r0, r0, lsr #31 + 9c3a: 9b1f ldr r3, [sp, #124] ; 0x7c + 9c3c: eb03 0360 add.w r3, r3, r0, asr #1 + 9c40: b21b sxth r3, r3 + 9c42: 931f str r3, [sp, #124] ; 0x7c + 9c44: e7b9 b.n 9bba line_width = _lv_txt_get_width(&txt[line_start], line_end - line_start, font, dsc->letter_space, dsc->flag); - a1ee: f9bb 300c ldrsh.w r3, [fp, #12] - a1f2: 9907 ldr r1, [sp, #28] - a1f4: 1b89 subs r1, r1, r6 - a1f6: 9200 str r2, [sp, #0] - a1f8: 9a05 ldr r2, [sp, #20] - a1fa: b289 uxth r1, r1 - a1fc: 980a ldr r0, [sp, #40] ; 0x28 - a1fe: 4430 add r0, r6 - a200: 4c2c ldr r4, [pc, #176] ; (a2b4 ) - a202: 47a0 blx r4 - a204: 9a13 ldr r2, [sp, #76] ; 0x4c - a206: 8893 ldrh r3, [r2, #4] - a208: 3301 adds r3, #1 - a20a: 8812 ldrh r2, [r2, #0] - a20c: 1a9b subs r3, r3, r2 + 9c46: f9bb 300c ldrsh.w r3, [fp, #12] + 9c4a: 9907 ldr r1, [sp, #28] + 9c4c: 1b89 subs r1, r1, r6 + 9c4e: 9200 str r2, [sp, #0] + 9c50: 9a05 ldr r2, [sp, #20] + 9c52: b289 uxth r1, r1 + 9c54: 980a ldr r0, [sp, #40] ; 0x28 + 9c56: 4430 add r0, r6 + 9c58: 4c2c ldr r4, [pc, #176] ; (9d0c ) + 9c5a: 47a0 blx r4 + 9c5c: 9a13 ldr r2, [sp, #76] ; 0x4c + 9c5e: 8893 ldrh r3, [r2, #4] + 9c60: 3301 adds r3, #1 + 9c62: 8812 ldrh r2, [r2, #0] + 9c64: 1a9b subs r3, r3, r2 pos.x += lv_area_get_width(coords) - line_width; - a20e: b21b sxth r3, r3 - a210: 1a1b subs r3, r3, r0 - a212: 9a1f ldr r2, [sp, #124] ; 0x7c - a214: 4413 add r3, r2 - a216: b21b sxth r3, r3 - a218: 931f str r3, [sp, #124] ; 0x7c - a21a: e7a2 b.n a162 + 9c66: b21b sxth r3, r3 + 9c68: 1a1b subs r3, r3, r0 + 9c6a: 9a1f ldr r2, [sp, #124] ; 0x7c + 9c6c: 4413 add r3, r2 + 9c6e: b21b sxth r3, r3 + 9c70: 931f str r3, [sp, #124] ; 0x7c + 9c72: e7a2 b.n 9bba lv_draw_line_dsc_init(&line_dsc); - a21c: a853 add r0, sp, #332 ; 0x14c - a21e: 4b26 ldr r3, [pc, #152] ; (a2b8 ) - a220: 4798 blx r3 + 9c74: a853 add r0, sp, #332 ; 0x14c + 9c76: 4b26 ldr r3, [pc, #152] ; (9d10 ) + 9c78: 4798 blx r3 line_dsc.color = dsc->color; - a222: f8bb 3000 ldrh.w r3, [fp] - a226: f8ad 314c strh.w r3, [sp, #332] ; 0x14c + 9c7a: f8bb 3000 ldrh.w r3, [fp] + 9c7e: f8ad 314c strh.w r3, [sp, #332] ; 0x14c line_dsc.width = (dsc->font->line_height + 5) / 10; /*+5 for rounding*/ - a22a: f8db 3004 ldr.w r3, [fp, #4] - a22e: f9b3 3008 ldrsh.w r3, [r3, #8] - a232: 3305 adds r3, #5 - a234: 4a21 ldr r2, [pc, #132] ; (a2bc ) - a236: fb82 1203 smull r1, r2, r2, r3 - a23a: 17db asrs r3, r3, #31 - a23c: ebc3 03a2 rsb r3, r3, r2, asr #2 - a240: f8ad 314e strh.w r3, [sp, #334] ; 0x14e + 9c82: f8db 3004 ldr.w r3, [fp, #4] + 9c86: f9b3 3008 ldrsh.w r3, [r3, #8] + 9c8a: 3305 adds r3, #5 + 9c8c: 4a21 ldr r2, [pc, #132] ; (9d14 ) + 9c8e: fb82 1203 smull r1, r2, r2, r3 + 9c92: 17db asrs r3, r3, #31 + 9c94: ebc3 03a2 rsb r3, r3, r2, asr #2 + 9c98: f8ad 314e strh.w r3, [sp, #334] ; 0x14e line_dsc.opa = dsc->opa; - a244: f89b 3008 ldrb.w r3, [fp, #8] - a248: f88d 3154 strb.w r3, [sp, #340] ; 0x154 + 9c9c: f89b 3008 ldrb.w r3, [fp, #8] + 9ca0: f88d 3154 strb.w r3, [sp, #340] ; 0x154 line_dsc.blend_mode = dsc->blend_mode; - a24c: f89d 3155 ldrb.w r3, [sp, #341] ; 0x155 - a250: f89b 2019 ldrb.w r2, [fp, #25] - a254: f362 0301 bfi r3, r2, #0, #2 - a258: f88d 3155 strb.w r3, [sp, #341] ; 0x155 - a25c: e794 b.n a188 + 9ca4: f89d 3155 ldrb.w r3, [sp, #341] ; 0x155 + 9ca8: f89b 2019 ldrb.w r2, [fp, #25] + 9cac: f362 0301 bfi r3, r2, #0, #2 + 9cb0: f88d 3155 strb.w r3, [sp, #341] ; 0x155 + 9cb4: e794 b.n 9be0 uint16_t logical_char_pos = 0; - a25e: 2500 movs r5, #0 - a260: e0aa b.n a3b8 - a262: 2500 movs r5, #0 - a264: e0a8 b.n a3b8 + 9cb6: 2500 movs r5, #0 + 9cb8: e0aa b.n 9e10 + 9cba: 2500 movs r5, #0 + 9cbc: e0a8 b.n 9e10 if(cmd_state == CMD_STATE_WAIT) { /*Start char*/ - a266: 9b06 ldr r3, [sp, #24] - a268: b92b cbnz r3, a276 + 9cbe: 9b06 ldr r3, [sp, #24] + 9cc0: b92b cbnz r3, 9cce par_start = i; - a26a: f8bd 3148 ldrh.w r3, [sp, #328] ; 0x148 - a26e: 9319 str r3, [sp, #100] ; 0x64 + 9cc2: f8bd 3148 ldrh.w r3, [sp, #328] ; 0x148 + 9cc6: 9319 str r3, [sp, #100] ; 0x64 cmd_state = CMD_STATE_PAR; - a270: 2301 movs r3, #1 - a272: 9306 str r3, [sp, #24] + 9cc8: 2301 movs r3, #1 + 9cca: 9306 str r3, [sp, #24] continue; - a274: e08a b.n a38c + 9ccc: e08a b.n 9de4 else if(cmd_state == CMD_STATE_PAR) { /*Other start char in parameter escaped cmd. char */ - a276: 9b06 ldr r3, [sp, #24] - a278: 2b01 cmp r3, #1 - a27a: f000 85f1 beq.w ae60 + 9cce: 9b06 ldr r3, [sp, #24] + 9cd0: 2b01 cmp r3, #1 + 9cd2: f000 85f1 beq.w a8b8 else if(cmd_state == CMD_STATE_IN) { /*Command end */ - a27e: 2b02 cmp r3, #2 - a280: f000 8533 beq.w acea + 9cd6: 2b02 cmp r3, #2 + 9cd8: f000 8533 beq.w a742 lv_color_t color = dsc->color; - a284: f8b8 6000 ldrh.w r6, [r8] - a288: e0b5 b.n a3f6 + 9cdc: f8b8 6000 ldrh.w r6, [r8] + 9ce0: e0b5 b.n 9e4e if(letter == ' ') { - a28a: 2c20 cmp r4, #32 - a28c: d17e bne.n a38c + 9ce2: 2c20 cmp r4, #32 + 9ce4: d17e bne.n 9de4 if(i - par_start == LABEL_RECOLOR_PAR_LENGTH + 1) { - a28e: 9b52 ldr r3, [sp, #328] ; 0x148 - a290: 9a19 ldr r2, [sp, #100] ; 0x64 - a292: 1a9b subs r3, r3, r2 - a294: 2b07 cmp r3, #7 - a296: d015 beq.n a2c4 + 9ce6: 9b52 ldr r3, [sp, #328] ; 0x148 + 9ce8: 9a19 ldr r2, [sp, #100] ; 0x64 + 9cea: 1a9b subs r3, r3, r2 + 9cec: 2b07 cmp r3, #7 + 9cee: d015 beq.n 9d1c recolor.full = dsc->color.full; - a298: f8b8 3000 ldrh.w r3, [r8] - a29c: 930c str r3, [sp, #48] ; 0x30 + 9cf0: f8b8 3000 ldrh.w r3, [r8] + 9cf4: 930c str r3, [sp, #48] ; 0x30 cmd_state = CMD_STATE_IN; /*After the parameter the text is in the command*/ - a29e: 2302 movs r3, #2 - a2a0: 9306 str r3, [sp, #24] - a2a2: e073 b.n a38c - a2a4: 00011ac1 .word 0x00011ac1 - a2a8: 00014625 .word 0x00014625 - a2ac: 00014359 .word 0x00014359 - a2b0: 0000c811 .word 0x0000c811 - a2b4: 00014585 .word 0x00014585 - a2b8: 0000ae89 .word 0x0000ae89 - a2bc: 66666667 .word 0x66666667 - a2c0: fffffc00 .word 0xfffffc00 + 9cf6: 2302 movs r3, #2 + 9cf8: 9306 str r3, [sp, #24] + 9cfa: e073 b.n 9de4 + 9cfc: 00011519 .word 0x00011519 + 9d00: 0001407d .word 0x0001407d + 9d04: 00013db1 .word 0x00013db1 + 9d08: 0000c269 .word 0x0000c269 + 9d0c: 00013fdd .word 0x00013fdd + 9d10: 0000a8e1 .word 0x0000a8e1 + 9d14: 66666667 .word 0x66666667 + 9d18: fffffc00 .word 0xfffffc00 _lv_memcpy_small(buf, &bidi_txt[par_start], LABEL_RECOLOR_PAR_LENGTH); - a2c4: 9b09 ldr r3, [sp, #36] ; 0x24 - a2c6: 1898 adds r0, r3, r2 - a2c8: 1e43 subs r3, r0, #1 - a2ca: 3005 adds r0, #5 + 9d1c: 9b09 ldr r3, [sp, #36] ; 0x24 + 9d1e: 1898 adds r0, r3, r2 + 9d20: 1e43 subs r3, r0, #1 + 9d22: 3005 adds r0, #5 uint8_t * d8 = (uint8_t *)dst; - a2cc: aa3a add r2, sp, #232 ; 0xe8 + 9d24: aa3a add r2, sp, #232 ; 0xe8 *d8 = *s8; - a2ce: f813 1f01 ldrb.w r1, [r3, #1]! - a2d2: f802 1b01 strb.w r1, [r2], #1 + 9d26: f813 1f01 ldrb.w r1, [r3, #1]! + 9d2a: f802 1b01 strb.w r1, [r2], #1 while(len) { - a2d6: 4283 cmp r3, r0 - a2d8: d1f9 bne.n a2ce + 9d2e: 4283 cmp r3, r0 + 9d30: d1f9 bne.n 9d26 r = (hex_char_to_num(buf[0]) << 4) + hex_char_to_num(buf[1]); - a2da: f89d 00e8 ldrb.w r0, [sp, #232] ; 0xe8 - a2de: 4c8c ldr r4, [pc, #560] ; (a510 ) - a2e0: 47a0 blx r4 - a2e2: 4605 mov r5, r0 - a2e4: f89d 00e9 ldrb.w r0, [sp, #233] ; 0xe9 - a2e8: 47a0 blx r4 - a2ea: eb00 1505 add.w r5, r0, r5, lsl #4 + 9d32: f89d 00e8 ldrb.w r0, [sp, #232] ; 0xe8 + 9d36: 4c8c ldr r4, [pc, #560] ; (9f68 ) + 9d38: 47a0 blx r4 + 9d3a: 4605 mov r5, r0 + 9d3c: f89d 00e9 ldrb.w r0, [sp, #233] ; 0xe9 + 9d40: 47a0 blx r4 + 9d42: eb00 1505 add.w r5, r0, r5, lsl #4 g = (hex_char_to_num(buf[2]) << 4) + hex_char_to_num(buf[3]); - a2ee: f89d 00ea ldrb.w r0, [sp, #234] ; 0xea - a2f2: 47a0 blx r4 - a2f4: 4606 mov r6, r0 - a2f6: f89d 00eb ldrb.w r0, [sp, #235] ; 0xeb - a2fa: 47a0 blx r4 - a2fc: eb00 1606 add.w r6, r0, r6, lsl #4 + 9d46: f89d 00ea ldrb.w r0, [sp, #234] ; 0xea + 9d4a: 47a0 blx r4 + 9d4c: 4606 mov r6, r0 + 9d4e: f89d 00eb ldrb.w r0, [sp, #235] ; 0xeb + 9d52: 47a0 blx r4 + 9d54: eb00 1606 add.w r6, r0, r6, lsl #4 b = (hex_char_to_num(buf[4]) << 4) + hex_char_to_num(buf[5]); - a300: f89d 00ec ldrb.w r0, [sp, #236] ; 0xec - a304: 47a0 blx r4 - a306: 4607 mov r7, r0 - a308: f89d 00ed ldrb.w r0, [sp, #237] ; 0xed - a30c: 47a0 blx r4 - a30e: eb00 1307 add.w r3, r0, r7, lsl #4 + 9d58: f89d 00ec ldrb.w r0, [sp, #236] ; 0xec + 9d5c: 47a0 blx r4 + 9d5e: 4607 mov r7, r0 + 9d60: f89d 00ed ldrb.w r0, [sp, #237] ; 0xed + 9d64: 47a0 blx r4 + 9d66: eb00 1307 add.w r3, r0, r7, lsl #4 #define LV_COLOR_MAKE(r8, g8, b8) ((lv_color_t){{b8, g8, r8, 0xff}}) /*Fix 0xff alpha*/ #endif static inline lv_color_t lv_color_make(uint8_t r, uint8_t g, uint8_t b) { return LV_COLOR_MAKE(r, g, b); - a312: f3c3 03c4 ubfx r3, r3, #3, #5 - a316: 9a2e ldr r2, [sp, #184] ; 0xb8 - a318: f363 0204 bfi r2, r3, #0, #5 - a31c: 4613 mov r3, r2 - a31e: f3c6 0685 ubfx r6, r6, #2, #6 - a322: f366 134a bfi r3, r6, #5, #6 - a326: f3c5 05c4 ubfx r5, r5, #3, #5 - a32a: f365 23cf bfi r3, r5, #11, #5 - a32e: f8ad 30b8 strh.w r3, [sp, #184] ; 0xb8 - a332: b29b uxth r3, r3 - a334: 930c str r3, [sp, #48] ; 0x30 + 9d6a: f3c3 03c4 ubfx r3, r3, #3, #5 + 9d6e: 9a2e ldr r2, [sp, #184] ; 0xb8 + 9d70: f363 0204 bfi r2, r3, #0, #5 + 9d74: 4613 mov r3, r2 + 9d76: f3c6 0685 ubfx r6, r6, #2, #6 + 9d7a: f366 134a bfi r3, r6, #5, #6 + 9d7e: f3c5 05c4 ubfx r5, r5, #3, #5 + 9d82: f365 23cf bfi r3, r5, #11, #5 + 9d86: f8ad 30b8 strh.w r3, [sp, #184] ; 0xb8 + 9d8a: b29b uxth r3, r3 + 9d8c: 930c str r3, [sp, #48] ; 0x30 cmd_state = CMD_STATE_IN; /*After the parameter the text is in the command*/ - a336: 2302 movs r3, #2 - a338: 9306 str r3, [sp, #24] - a33a: e027 b.n a38c + 9d8e: 2302 movs r3, #2 + 9d90: 9306 str r3, [sp, #24] + 9d92: e027 b.n 9de4 sel_coords.x1 = pos.x; - a33c: f8ad a0e8 strh.w sl, [sp, #232] ; 0xe8 + 9d94: f8ad a0e8 strh.w sl, [sp, #232] ; 0xe8 sel_coords.y1 = pos.y; - a340: 9a0e ldr r2, [sp, #56] ; 0x38 - a342: f8ad 20ea strh.w r2, [sp, #234] ; 0xea + 9d98: 9a0e ldr r2, [sp, #56] ; 0x38 + 9d9a: f8ad 20ea strh.w r2, [sp, #234] ; 0xea sel_coords.x2 = pos.x + letter_w + dsc->letter_space - 1; - a346: f8b8 300c ldrh.w r3, [r8, #12] - a34a: 3b01 subs r3, #1 - a34c: 4453 add r3, sl - a34e: 4403 add r3, r0 - a350: f8ad 30ec strh.w r3, [sp, #236] ; 0xec + 9d9e: f8b8 300c ldrh.w r3, [r8, #12] + 9da2: 3b01 subs r3, #1 + 9da4: 4453 add r3, sl + 9da6: 4403 add r3, r0 + 9da8: f8ad 30ec strh.w r3, [sp, #236] ; 0xec sel_coords.y2 = pos.y + line_height - 1; - a354: 9b17 ldr r3, [sp, #92] ; 0x5c - a356: 3b01 subs r3, #1 - a358: 4413 add r3, r2 - a35a: f8ad 30ee strh.w r3, [sp, #238] ; 0xee + 9dac: 9b17 ldr r3, [sp, #92] ; 0x5c + 9dae: 3b01 subs r3, #1 + 9db0: 4413 add r3, r2 + 9db2: f8ad 30ee strh.w r3, [sp, #238] ; 0xee lv_draw_rect(&sel_coords, mask, &draw_dsc_sel); - a35e: aa3d add r2, sp, #244 ; 0xf4 - a360: 990d ldr r1, [sp, #52] ; 0x34 - a362: a83a add r0, sp, #232 ; 0xe8 - a364: 4b6b ldr r3, [pc, #428] ; (a514 ) - a366: 4798 blx r3 - a368: e056 b.n a418 + 9db6: aa3d add r2, sp, #244 ; 0xf4 + 9db8: 990d ldr r1, [sp, #52] ; 0x34 + 9dba: a83a add r0, sp, #232 ; 0xe8 + 9dbc: 4b6b ldr r3, [pc, #428] ; (9f6c ) + 9dbe: 4798 blx r3 + 9dc0: e056 b.n 9e70 LV_LOG_WARN("lv_draw_letter: font is NULL"); - a36a: 4b6b ldr r3, [pc, #428] ; (a518 ) - a36c: 9300 str r3, [sp, #0] - a36e: 4b6b ldr r3, [pc, #428] ; (a51c ) - a370: f240 1297 movw r2, #407 ; 0x197 - a374: 496a ldr r1, [pc, #424] ; (a520 ) - a376: 2002 movs r0, #2 - a378: 4c6a ldr r4, [pc, #424] ; (a524 ) - a37a: 47a0 blx r4 + 9dc2: 4b6b ldr r3, [pc, #428] ; (9f70 ) + 9dc4: 9300 str r3, [sp, #0] + 9dc6: 4b6b ldr r3, [pc, #428] ; (9f74 ) + 9dc8: f240 1297 movw r2, #407 ; 0x197 + 9dcc: 496a ldr r1, [pc, #424] ; (9f78 ) + 9dce: 2002 movs r0, #2 + 9dd0: 4c6a ldr r4, [pc, #424] ; (9f7c ) + 9dd2: 47a0 blx r4 if(letter_w > 0) { - a37c: 2f00 cmp r7, #0 - a37e: dd05 ble.n a38c + 9dd4: 2f00 cmp r7, #0 + 9dd6: dd05 ble.n 9de4 pos.x += letter_w + dsc->letter_space; - a380: f8b8 300c ldrh.w r3, [r8, #12] - a384: 4453 add r3, sl - a386: 443b add r3, r7 - a388: fa0f fa83 sxth.w sl, r3 + 9dd8: f8b8 300c ldrh.w r3, [r8, #12] + 9ddc: 4453 add r3, sl + 9dde: 443b add r3, r7 + 9de0: fa0f fa83 sxth.w sl, r3 while(i < line_end - line_start) { - a38c: 9952 ldr r1, [sp, #328] ; 0x148 - a38e: 9b07 ldr r3, [sp, #28] - a390: eba3 030b sub.w r3, r3, fp - a394: 428b cmp r3, r1 - a396: f240 84ac bls.w acf2 + 9de4: 9952 ldr r1, [sp, #328] ; 0x148 + 9de6: 9b07 ldr r3, [sp, #28] + 9de8: eba3 030b sub.w r3, r3, fp + 9dec: 428b cmp r3, r1 + 9dee: f240 84ac bls.w a74a if(sel_start != 0xFFFF && sel_end != 0xFFFF) { - a39a: f64f 73ff movw r3, #65535 ; 0xffff - a39e: 4599 cmp r9, r3 - a3a0: f43f af5d beq.w a25e - a3a4: 9a08 ldr r2, [sp, #32] - a3a6: 429a cmp r2, r3 - a3a8: f43f af5b beq.w a262 + 9df2: f64f 73ff movw r3, #65535 ; 0xffff + 9df6: 4599 cmp r9, r3 + 9df8: f43f af5d beq.w 9cb6 + 9dfc: 9a08 ldr r2, [sp, #32] + 9dfe: 429a cmp r2, r3 + 9e00: f43f af5b beq.w 9cba logical_char_pos = _lv_txt_encoded_get_char_id(txt, line_start + i); - a3ac: 4459 add r1, fp - a3ae: 980a ldr r0, [sp, #40] ; 0x28 - a3b0: 4b5d ldr r3, [pc, #372] ; (a528 ) - a3b2: 681b ldr r3, [r3, #0] - a3b4: 4798 blx r3 - a3b6: b285 uxth r5, r0 + 9e04: 4459 add r1, fp + 9e06: 980a ldr r0, [sp, #40] ; 0x28 + 9e08: 4b5d ldr r3, [pc, #372] ; (9f80 ) + 9e0a: 681b ldr r3, [r3, #0] + 9e0c: 4798 blx r3 + 9e0e: b285 uxth r5, r0 uint32_t letter = _lv_txt_encoded_next(bidi_txt, &i); - a3b8: 4e5c ldr r6, [pc, #368] ; (a52c ) - a3ba: 6833 ldr r3, [r6, #0] - a3bc: a952 add r1, sp, #328 ; 0x148 - a3be: 9f09 ldr r7, [sp, #36] ; 0x24 - a3c0: 4638 mov r0, r7 - a3c2: 4798 blx r3 - a3c4: 4604 mov r4, r0 + 9e10: 4e5c ldr r6, [pc, #368] ; (9f84 ) + 9e12: 6833 ldr r3, [r6, #0] + 9e14: a952 add r1, sp, #328 ; 0x148 + 9e16: 9f09 ldr r7, [sp, #36] ; 0x24 + 9e18: 4638 mov r0, r7 + 9e1a: 4798 blx r3 + 9e1c: 4604 mov r4, r0 uint32_t letter_next = _lv_txt_encoded_next(&bidi_txt[i], NULL); - a3c6: 6833 ldr r3, [r6, #0] - a3c8: 2100 movs r1, #0 - a3ca: 9852 ldr r0, [sp, #328] ; 0x148 - a3cc: 4438 add r0, r7 - a3ce: 4798 blx r3 + 9e1e: 6833 ldr r3, [r6, #0] + 9e20: 2100 movs r1, #0 + 9e22: 9852 ldr r0, [sp, #328] ; 0x148 + 9e24: 4438 add r0, r7 + 9e26: 4798 blx r3 if((dsc->flag & LV_TXT_FLAG_RECOLOR) != 0) { - a3d0: f898 3017 ldrb.w r3, [r8, #23] - a3d4: f013 0f01 tst.w r3, #1 - a3d8: d006 beq.n a3e8 + 9e28: f898 3017 ldrb.w r3, [r8, #23] + 9e2c: f013 0f01 tst.w r3, #1 + 9e30: d006 beq.n 9e40 if(letter == (uint32_t)LV_TXT_COLOR_CMD[0]) { - a3da: 2c23 cmp r4, #35 ; 0x23 - a3dc: f43f af43 beq.w a266 + 9e32: 2c23 cmp r4, #35 ; 0x23 + 9e34: f43f af43 beq.w 9cbe if(cmd_state == CMD_STATE_PAR) { - a3e0: 9b06 ldr r3, [sp, #24] - a3e2: 2b01 cmp r3, #1 - a3e4: f43f af51 beq.w a28a + 9e38: 9b06 ldr r3, [sp, #24] + 9e3a: 2b01 cmp r3, #1 + 9e3c: f43f af51 beq.w 9ce2 lv_color_t color = dsc->color; - a3e8: f8b8 6000 ldrh.w r6, [r8] + 9e40: f8b8 6000 ldrh.w r6, [r8] if(cmd_state == CMD_STATE_IN) color = recolor; - a3ec: 9b0c ldr r3, [sp, #48] ; 0x30 - a3ee: 9a06 ldr r2, [sp, #24] - a3f0: 2a02 cmp r2, #2 - a3f2: bf08 it eq - a3f4: 461e moveq r6, r3 + 9e44: 9b0c ldr r3, [sp, #48] ; 0x30 + 9e46: 9a06 ldr r2, [sp, #24] + 9e48: 2a02 cmp r2, #2 + 9e4a: bf08 it eq + 9e4c: 461e moveq r6, r3 letter_w = lv_font_get_glyph_width(font, letter, letter_next); - a3f6: 4602 mov r2, r0 - a3f8: 4621 mov r1, r4 - a3fa: 9805 ldr r0, [sp, #20] - a3fc: 4b4c ldr r3, [pc, #304] ; (a530 ) - a3fe: 4798 blx r3 - a400: 4607 mov r7, r0 + 9e4e: 4602 mov r2, r0 + 9e50: 4621 mov r1, r4 + 9e52: 9805 ldr r0, [sp, #20] + 9e54: 4b4c ldr r3, [pc, #304] ; (9f88 ) + 9e56: 4798 blx r3 + 9e58: 4607 mov r7, r0 if(sel_start != 0xFFFF && sel_end != 0xFFFF) { - a402: f64f 73ff movw r3, #65535 ; 0xffff - a406: 4599 cmp r9, r3 - a408: d006 beq.n a418 - a40a: 9908 ldr r1, [sp, #32] - a40c: 4299 cmp r1, r3 - a40e: d003 beq.n a418 + 9e5a: f64f 73ff movw r3, #65535 ; 0xffff + 9e5e: 4599 cmp r9, r3 + 9e60: d006 beq.n 9e70 + 9e62: 9908 ldr r1, [sp, #32] + 9e64: 4299 cmp r1, r3 + 9e66: d003 beq.n 9e70 if(logical_char_pos >= sel_start && logical_char_pos < sel_end) { - a410: 45a9 cmp r9, r5 - a412: d801 bhi.n a418 - a414: 42a9 cmp r1, r5 - a416: d891 bhi.n a33c + 9e68: 45a9 cmp r9, r5 + 9e6a: d801 bhi.n 9e70 + 9e6c: 42a9 cmp r1, r5 + 9e6e: d891 bhi.n 9d94 if(opa < LV_OPA_MIN) return; - a418: 9b0b ldr r3, [sp, #44] ; 0x2c - a41a: 2b04 cmp r3, #4 - a41c: d9ae bls.n a37c + 9e70: 9b0b ldr r3, [sp, #44] ; 0x2c + 9e72: 2b04 cmp r3, #4 + 9e74: d9ae bls.n 9dd4 if(font_p == NULL) { - a41e: 9b05 ldr r3, [sp, #20] - a420: 2b00 cmp r3, #0 - a422: d0a2 beq.n a36a + 9e76: 9b05 ldr r3, [sp, #20] + 9e78: 2b00 cmp r3, #0 + 9e7a: d0a2 beq.n 9dc2 lv_draw_letter(&pos, mask, font, letter, color, opa, dsc->blend_mode); - a424: f898 3019 ldrb.w r3, [r8, #25] - a428: 930f str r3, [sp, #60] ; 0x3c + 9e7c: f898 3019 ldrb.w r3, [r8, #25] + 9e80: 930f str r3, [sp, #60] ; 0x3c bool g_ret = lv_font_get_glyph_dsc(font_p, &g, letter, '\0'); - a42a: 2300 movs r3, #0 - a42c: 4622 mov r2, r4 - a42e: a93a add r1, sp, #232 ; 0xe8 - a430: 9805 ldr r0, [sp, #20] - a432: 4d40 ldr r5, [pc, #256] ; (a534 ) - a434: 47a8 blx r5 + 9e82: 2300 movs r3, #0 + 9e84: 4622 mov r2, r4 + 9e86: a93a add r1, sp, #232 ; 0xe8 + 9e88: 9805 ldr r0, [sp, #20] + 9e8a: 4d40 ldr r5, [pc, #256] ; (9f8c ) + 9e8c: 47a8 blx r5 if(g_ret == false) { - a436: b958 cbnz r0, a450 + 9e8e: b958 cbnz r0, 9ea8 if(letter >= 0x20) { - a438: 2c1f cmp r4, #31 - a43a: d99f bls.n a37c + 9e90: 2c1f cmp r4, #31 + 9e92: d99f bls.n 9dd4 LV_LOG_WARN("lv_draw_letter: glyph dsc. not found"); - a43c: 4b3e ldr r3, [pc, #248] ; (a538 ) - a43e: 9300 str r3, [sp, #0] - a440: 4b36 ldr r3, [pc, #216] ; (a51c ) - a442: f240 12a1 movw r2, #417 ; 0x1a1 - a446: 4936 ldr r1, [pc, #216] ; (a520 ) - a448: 2002 movs r0, #2 - a44a: 4c36 ldr r4, [pc, #216] ; (a524 ) - a44c: 47a0 blx r4 - a44e: e795 b.n a37c + 9e94: 4b3e ldr r3, [pc, #248] ; (9f90 ) + 9e96: 9300 str r3, [sp, #0] + 9e98: 4b36 ldr r3, [pc, #216] ; (9f74 ) + 9e9a: f240 12a1 movw r2, #417 ; 0x1a1 + 9e9e: 4936 ldr r1, [pc, #216] ; (9f78 ) + 9ea0: 2002 movs r0, #2 + 9ea2: 4c36 ldr r4, [pc, #216] ; (9f7c ) + 9ea4: 47a0 blx r4 + 9ea6: e795 b.n 9dd4 if((g.box_h == 0) && (g.box_w == 0)) return; - a450: f8bd 20ec ldrh.w r2, [sp, #236] ; 0xec - a454: b91a cbnz r2, a45e - a456: f8bd 30ea ldrh.w r3, [sp, #234] ; 0xea - a45a: 2b00 cmp r3, #0 - a45c: d08e beq.n a37c + 9ea8: f8bd 20ec ldrh.w r2, [sp, #236] ; 0xec + 9eac: b91a cbnz r2, 9eb6 + 9eae: f8bd 30ea ldrh.w r3, [sp, #234] ; 0xea + 9eb2: 2b00 cmp r3, #0 + 9eb4: d08e beq.n 9dd4 int32_t pos_x = pos_p->x + g.ofs_x; - a45e: f9bd 50ee ldrsh.w r5, [sp, #238] ; 0xee - a462: 4455 add r5, sl + 9eb6: f9bd 50ee ldrsh.w r5, [sp, #238] ; 0xee + 9eba: 4455 add r5, sl if(pos_x + g.box_w < clip_area->x1 || - a464: f8bd 30ea ldrh.w r3, [sp, #234] ; 0xea - a468: 442b add r3, r5 - a46a: 980d ldr r0, [sp, #52] ; 0x34 - a46c: f9b0 1000 ldrsh.w r1, [r0] - a470: 428b cmp r3, r1 - a472: db83 blt.n a37c + 9ebc: f8bd 30ea ldrh.w r3, [sp, #234] ; 0xea + 9ec0: 442b add r3, r5 + 9ec2: 980d ldr r0, [sp, #52] ; 0x34 + 9ec4: f9b0 1000 ldrsh.w r1, [r0] + 9ec8: 428b cmp r3, r1 + 9eca: db83 blt.n 9dd4 pos_x > clip_area->x2 || - a474: f9b0 3004 ldrsh.w r3, [r0, #4] + 9ecc: f9b0 3004 ldrsh.w r3, [r0, #4] if(pos_x + g.box_w < clip_area->x1 || - a478: 429d cmp r5, r3 - a47a: f73f af7f bgt.w a37c + 9ed0: 429d cmp r5, r3 + 9ed2: f73f af7f bgt.w 9dd4 int32_t pos_y = pos_p->y + (font_p->line_height - font_p->base_line) - g.box_h - g.ofs_y; - a47e: 9b05 ldr r3, [sp, #20] - a480: f9b3 1008 ldrsh.w r1, [r3, #8] - a484: f9b3 300a ldrsh.w r3, [r3, #10] - a488: 1acb subs r3, r1, r3 - a48a: 990e ldr r1, [sp, #56] ; 0x38 - a48c: 440b add r3, r1 - a48e: 1a99 subs r1, r3, r2 - a490: f9bd 30f0 ldrsh.w r3, [sp, #240] ; 0xf0 - a494: 1acb subs r3, r1, r3 + 9ed6: 9b05 ldr r3, [sp, #20] + 9ed8: f9b3 1008 ldrsh.w r1, [r3, #8] + 9edc: f9b3 300a ldrsh.w r3, [r3, #10] + 9ee0: 1acb subs r3, r1, r3 + 9ee2: 990e ldr r1, [sp, #56] ; 0x38 + 9ee4: 440b add r3, r1 + 9ee6: 1a99 subs r1, r3, r2 + 9ee8: f9bd 30f0 ldrsh.w r3, [sp, #240] ; 0xf0 + 9eec: 1acb subs r3, r1, r3 pos_y + g.box_h < clip_area->y1 || - a496: 9315 str r3, [sp, #84] ; 0x54 - a498: 441a add r2, r3 - a49a: f9b0 3002 ldrsh.w r3, [r0, #2] + 9eee: 9315 str r3, [sp, #84] ; 0x54 + 9ef0: 441a add r2, r3 + 9ef2: f9b0 3002 ldrsh.w r3, [r0, #2] pos_x > clip_area->x2 || - a49e: 429a cmp r2, r3 - a4a0: f6ff af6c blt.w a37c + 9ef6: 429a cmp r2, r3 + 9ef8: f6ff af6c blt.w 9dd4 pos_y > clip_area->y2) { - a4a4: f9b0 3006 ldrsh.w r3, [r0, #6] + 9efc: f9b0 3006 ldrsh.w r3, [r0, #6] pos_y + g.box_h < clip_area->y1 || - a4a8: 9915 ldr r1, [sp, #84] ; 0x54 - a4aa: 4299 cmp r1, r3 - a4ac: f73f af66 bgt.w a37c + 9f00: 9915 ldr r1, [sp, #84] ; 0x54 + 9f02: 4299 cmp r1, r3 + 9f04: f73f af66 bgt.w 9dd4 const uint8_t * map_p = lv_font_get_glyph_bitmap(font_p, letter); - a4b0: 4621 mov r1, r4 - a4b2: 9805 ldr r0, [sp, #20] - a4b4: 4b21 ldr r3, [pc, #132] ; (a53c ) - a4b6: 4798 blx r3 + 9f08: 4621 mov r1, r4 + 9f0a: 9805 ldr r0, [sp, #20] + 9f0c: 4b21 ldr r3, [pc, #132] ; (9f94 ) + 9f0e: 4798 blx r3 if(map_p == NULL) { - a4b8: 4686 mov lr, r0 - a4ba: b1f0 cbz r0, a4fa + 9f10: 4686 mov lr, r0 + 9f12: b1f0 cbz r0, 9f52 if(font_p->subpx) { - a4bc: 9b05 ldr r3, [sp, #20] - a4be: 7b1b ldrb r3, [r3, #12] - a4c0: f013 0f03 tst.w r3, #3 - a4c4: f000 825e beq.w a984 + 9f14: 9b05 ldr r3, [sp, #20] + 9f16: 7b1b ldrb r3, [r3, #12] + 9f18: f013 0f03 tst.w r3, #3 + 9f1c: f000 825e beq.w a3dc draw_letter_subpx(pos_x, pos_y, &g, clip_area, map_p, color, opa, blend_mode); - a4c8: b22b sxth r3, r5 - a4ca: 9318 str r3, [sp, #96] ; 0x60 - a4cc: f9bd 3054 ldrsh.w r3, [sp, #84] ; 0x54 - a4d0: 931d str r3, [sp, #116] ; 0x74 + 9f20: b22b sxth r3, r5 + 9f22: 9318 str r3, [sp, #96] ; 0x60 + 9f24: f9bd 3054 ldrsh.w r3, [sp, #84] ; 0x54 + 9f28: 931d str r3, [sp, #116] ; 0x74 uint32_t bpp = g->bpp; - a4d2: f89d 30f2 ldrb.w r3, [sp, #242] ; 0xf2 - a4d6: 9312 str r3, [sp, #72] ; 0x48 + 9f2a: f89d 30f2 ldrb.w r3, [sp, #242] ; 0xf2 + 9f2e: 9312 str r3, [sp, #72] ; 0x48 if(bpp == 3) bpp = 4; - a4d8: 2b03 cmp r3, #3 - a4da: f000 80ff beq.w a6dc + 9f30: 2b03 cmp r3, #3 + 9f32: f000 80ff beq.w a134 switch(bpp) { - a4de: 3b01 subs r3, #1 - a4e0: 2b07 cmp r3, #7 - a4e2: f200 8102 bhi.w a6ea - a4e6: e8df f013 tbh [pc, r3, lsl #1] - a4ea: 010a .short 0x010a - a4ec: 0100002d .word 0x0100002d - a4f0: 010000fb .word 0x010000fb - a4f4: 01000100 .word 0x01000100 - a4f8: 0111 .short 0x0111 + 9f36: 3b01 subs r3, #1 + 9f38: 2b07 cmp r3, #7 + 9f3a: f200 8102 bhi.w a142 + 9f3e: e8df f013 tbh [pc, r3, lsl #1] + 9f42: 010a .short 0x010a + 9f44: 0100002d .word 0x0100002d + 9f48: 010000fb .word 0x010000fb + 9f4c: 01000100 .word 0x01000100 + 9f50: 0111 .short 0x0111 LV_LOG_WARN("lv_draw_letter: character's bitmap not found"); - a4fa: 4b11 ldr r3, [pc, #68] ; (a540 ) - a4fc: 9300 str r3, [sp, #0] - a4fe: 4b07 ldr r3, [pc, #28] ; (a51c ) - a500: f240 12b7 movw r2, #439 ; 0x1b7 - a504: 4906 ldr r1, [pc, #24] ; (a520 ) - a506: 2002 movs r0, #2 - a508: 4c06 ldr r4, [pc, #24] ; (a524 ) - a50a: 47a0 blx r4 - a50c: e736 b.n a37c - a50e: bf00 nop - a510: 00009f33 .word 0x00009f33 - a514: 0000c8d9 .word 0x0000c8d9 - a518: 0001c3cc .word 0x0001c3cc - a51c: 0001c35c .word 0x0001c35c - a520: 0001c39c .word 0x0001c39c - a524: 00012805 .word 0x00012805 - a528: 20000064 .word 0x20000064 - a52c: 20000058 .word 0x20000058 - a530: 00010609 .word 0x00010609 - a534: 00010601 .word 0x00010601 - a538: 0001c3ec .word 0x0001c3ec - a53c: 000105f9 .word 0x000105f9 - a540: 0001c414 .word 0x0001c414 + 9f52: 4b11 ldr r3, [pc, #68] ; (9f98 ) + 9f54: 9300 str r3, [sp, #0] + 9f56: 4b07 ldr r3, [pc, #28] ; (9f74 ) + 9f58: f240 12b7 movw r2, #439 ; 0x1b7 + 9f5c: 4906 ldr r1, [pc, #24] ; (9f78 ) + 9f5e: 2002 movs r0, #2 + 9f60: 4c06 ldr r4, [pc, #24] ; (9f7c ) + 9f62: 47a0 blx r4 + 9f64: e736 b.n 9dd4 + 9f66: bf00 nop + 9f68: 0000998b .word 0x0000998b + 9f6c: 0000c331 .word 0x0000c331 + 9f70: 00024ee8 .word 0x00024ee8 + 9f74: 00024e78 .word 0x00024e78 + 9f78: 00024eb8 .word 0x00024eb8 + 9f7c: 0001225d .word 0x0001225d + 9f80: 20000064 .word 0x20000064 + 9f84: 20000058 .word 0x20000058 + 9f88: 00010061 .word 0x00010061 + 9f8c: 00010059 .word 0x00010059 + 9f90: 00024f08 .word 0x00024f08 + 9f94: 00010051 .word 0x00010051 + 9f98: 00024f30 .word 0x00024f30 bitmask_init = 0xC0; - a544: 23c0 movs r3, #192 ; 0xc0 - a546: 931b str r3, [sp, #108] ; 0x6c + 9f9c: 23c0 movs r3, #192 ; 0xc0 + 9f9e: 931b str r3, [sp, #108] ; 0x6c bpp_opa_table = _lv_bpp2_opa_table; - a548: 4bac ldr r3, [pc, #688] ; (a7fc ) - a54a: 9320 str r3, [sp, #128] ; 0x80 + 9fa0: 4bac ldr r3, [pc, #688] ; (a254 ) + 9fa2: 9320 str r3, [sp, #128] ; 0x80 int32_t box_w = g->box_w; - a54c: f8bd 30ea ldrh.w r3, [sp, #234] ; 0xea - a550: 931e str r3, [sp, #120] ; 0x78 + 9fa4: f8bd 30ea ldrh.w r3, [sp, #234] ; 0xea + 9fa8: 931e str r3, [sp, #120] ; 0x78 int32_t box_h = g->box_h; - a552: f8bd 10ec ldrh.w r1, [sp, #236] ; 0xec + 9faa: f8bd 10ec ldrh.w r1, [sp, #236] ; 0xec int32_t width_bit = box_w * bpp; /*Letter width in bits*/ - a556: 9a12 ldr r2, [sp, #72] ; 0x48 - a558: fb02 f203 mul.w r2, r2, r3 + 9fae: 9a12 ldr r2, [sp, #72] ; 0x48 + 9fb0: fb02 f203 mul.w r2, r2, r3 int32_t col_start = pos_x >= clip_area->x1 ? 0 : (clip_area->x1 - pos_x) * 3; - a55c: 9b0d ldr r3, [sp, #52] ; 0x34 - a55e: f9b3 3000 ldrsh.w r3, [r3] - a562: 9c18 ldr r4, [sp, #96] ; 0x60 - a564: 429c cmp r4, r3 - a566: bfba itte lt - a568: 1b1b sublt r3, r3, r4 - a56a: eb03 0343 addlt.w r3, r3, r3, lsl #1 - a56e: 2300 movge r3, #0 - a570: 9327 str r3, [sp, #156] ; 0x9c + 9fb4: 9b0d ldr r3, [sp, #52] ; 0x34 + 9fb6: f9b3 3000 ldrsh.w r3, [r3] + 9fba: 9c18 ldr r4, [sp, #96] ; 0x60 + 9fbc: 429c cmp r4, r3 + 9fbe: bfba itte lt + 9fc0: 1b1b sublt r3, r3, r4 + 9fc2: eb03 0343 addlt.w r3, r3, r3, lsl #1 + 9fc6: 2300 movge r3, #0 + 9fc8: 9327 str r3, [sp, #156] ; 0x9c int32_t col_end = pos_x + box_w / 3 <= clip_area->x2 ? box_w : (clip_area->x2 - pos_x + 1) * 3; - a572: 9b0d ldr r3, [sp, #52] ; 0x34 - a574: f9b3 3004 ldrsh.w r3, [r3, #4] - a578: 981e ldr r0, [sp, #120] ; 0x78 - a57a: 4604 mov r4, r0 - a57c: 48a0 ldr r0, [pc, #640] ; (a800 ) - a57e: fb80 4004 smull r4, r0, r0, r4 - a582: 9c18 ldr r4, [sp, #96] ; 0x60 - a584: 4420 add r0, r4 - a586: 4298 cmp r0, r3 - a588: bfc3 ittte gt - a58a: 1b1b subgt r3, r3, r4 - a58c: 3301 addgt r3, #1 - a58e: eb03 0343 addgt.w r3, r3, r3, lsl #1 - a592: 9b1e ldrle r3, [sp, #120] ; 0x78 - a594: 9314 str r3, [sp, #80] ; 0x50 + 9fca: 9b0d ldr r3, [sp, #52] ; 0x34 + 9fcc: f9b3 3004 ldrsh.w r3, [r3, #4] + 9fd0: 981e ldr r0, [sp, #120] ; 0x78 + 9fd2: 4604 mov r4, r0 + 9fd4: 48a0 ldr r0, [pc, #640] ; (a258 ) + 9fd6: fb80 4004 smull r4, r0, r0, r4 + 9fda: 9c18 ldr r4, [sp, #96] ; 0x60 + 9fdc: 4420 add r0, r4 + 9fde: 4298 cmp r0, r3 + 9fe0: bfc3 ittte gt + 9fe2: 1b1b subgt r3, r3, r4 + 9fe4: 3301 addgt r3, #1 + 9fe6: eb03 0343 addgt.w r3, r3, r3, lsl #1 + 9fea: 9b1e ldrle r3, [sp, #120] ; 0x78 + 9fec: 9314 str r3, [sp, #80] ; 0x50 int32_t row_start = pos_y >= clip_area->y1 ? 0 : clip_area->y1 - pos_y; - a596: 9b0d ldr r3, [sp, #52] ; 0x34 - a598: f9b3 3002 ldrsh.w r3, [r3, #2] - a59c: 9c1d ldr r4, [sp, #116] ; 0x74 - a59e: 429c cmp r4, r3 - a5a0: bfb4 ite lt - a5a2: 1b1b sublt r3, r3, r4 - a5a4: 2300 movge r3, #0 - a5a6: 9325 str r3, [sp, #148] ; 0x94 + 9fee: 9b0d ldr r3, [sp, #52] ; 0x34 + 9ff0: f9b3 3002 ldrsh.w r3, [r3, #2] + 9ff4: 9c1d ldr r4, [sp, #116] ; 0x74 + 9ff6: 429c cmp r4, r3 + 9ff8: bfb4 ite lt + 9ffa: 1b1b sublt r3, r3, r4 + 9ffc: 2300 movge r3, #0 + 9ffe: 9325 str r3, [sp, #148] ; 0x94 int32_t row_end = pos_y + box_h <= clip_area->y2 ? box_h : clip_area->y2 - pos_y + 1; - a5a8: 9b0d ldr r3, [sp, #52] ; 0x34 - a5aa: f9b3 3006 ldrsh.w r3, [r3, #6] - a5ae: 9c1d ldr r4, [sp, #116] ; 0x74 - a5b0: 1908 adds r0, r1, r4 - a5b2: 4298 cmp r0, r3 - a5b4: f340 80b1 ble.w a71a - a5b8: 1b1b subs r3, r3, r4 - a5ba: 3301 adds r3, #1 - a5bc: 9328 str r3, [sp, #160] ; 0xa0 - a5be: f006 031f and.w r3, r6, #31 - a5c2: 9322 str r3, [sp, #136] ; 0x88 - a5c4: f3c6 1345 ubfx r3, r6, #5, #6 - a5c8: 9324 str r3, [sp, #144] ; 0x90 - a5ca: f3c6 23c4 ubfx r3, r6, #11, #5 - a5ce: 9323 str r3, [sp, #140] ; 0x8c + a000: 9b0d ldr r3, [sp, #52] ; 0x34 + a002: f9b3 3006 ldrsh.w r3, [r3, #6] + a006: 9c1d ldr r4, [sp, #116] ; 0x74 + a008: 1908 adds r0, r1, r4 + a00a: 4298 cmp r0, r3 + a00c: f340 80b1 ble.w a172 + a010: 1b1b subs r3, r3, r4 + a012: 3301 adds r3, #1 + a014: 9328 str r3, [sp, #160] ; 0xa0 + a016: f006 031f and.w r3, r6, #31 + a01a: 9322 str r3, [sp, #136] ; 0x88 + a01c: f3c6 1345 ubfx r3, r6, #5, #6 + a020: 9324 str r3, [sp, #144] ; 0x90 + a022: f3c6 23c4 ubfx r3, r6, #11, #5 + a026: 9323 str r3, [sp, #140] ; 0x8c int32_t bit_ofs = (row_start * width_bit) + (col_start * bpp); - a5d0: 9b12 ldr r3, [sp, #72] ; 0x48 - a5d2: 4618 mov r0, r3 - a5d4: 9b27 ldr r3, [sp, #156] ; 0x9c - a5d6: fb00 f303 mul.w r3, r0, r3 - a5da: 9825 ldr r0, [sp, #148] ; 0x94 - a5dc: fb00 3202 mla r2, r0, r2, r3 + a028: 9b12 ldr r3, [sp, #72] ; 0x48 + a02a: 4618 mov r0, r3 + a02c: 9b27 ldr r3, [sp, #156] ; 0x9c + a02e: fb00 f303 mul.w r3, r0, r3 + a032: 9825 ldr r0, [sp, #148] ; 0x94 + a034: fb00 3202 mla r2, r0, r2, r3 map_p += bit_ofs >> 3; - a5e0: eb0e 06e2 add.w r6, lr, r2, asr #3 - a5e4: 9631 str r6, [sp, #196] ; 0xc4 + a038: eb0e 06e2 add.w r6, lr, r2, asr #3 + a03c: 9631 str r6, [sp, #196] ; 0xc4 col_bit = bit_ofs & 0x7; /* "& 0x7" equals to "% 8" just faster */ - a5e6: f002 0607 and.w r6, r2, #7 + a03e: f002 0607 and.w r6, r2, #7 int32_t mask_buf_size = box_w * box_h > LV_HOR_RES_MAX ? LV_HOR_RES_MAX : g->box_w * g->box_h; - a5ea: 981e ldr r0, [sp, #120] ; 0x78 - a5ec: fb01 f100 mul.w r1, r1, r0 - a5f0: f5b1 7ff0 cmp.w r1, #480 ; 0x1e0 - a5f4: bfa8 it ge - a5f6: f44f 71f0 movge.w r1, #480 ; 0x1e0 + a042: 981e ldr r0, [sp, #120] ; 0x78 + a044: fb01 f100 mul.w r1, r1, r0 + a048: f5b1 7ff0 cmp.w r1, #480 ; 0x1e0 + a04c: bfa8 it ge + a04e: f44f 71f0 movge.w r1, #480 ; 0x1e0 lv_opa_t * mask_buf = _lv_mem_buf_get(mask_buf_size); - a5fa: 9129 str r1, [sp, #164] ; 0xa4 - a5fc: 4608 mov r0, r1 - a5fe: 4c81 ldr r4, [pc, #516] ; (a804 ) - a600: 47a0 blx r4 - a602: 9021 str r0, [sp, #132] ; 0x84 + a052: 9129 str r1, [sp, #164] ; 0xa4 + a054: 4608 mov r0, r1 + a056: 4c81 ldr r4, [pc, #516] ; (a25c ) + a058: 47a0 blx r4 + a05a: 9021 str r0, [sp, #132] ; 0x84 lv_color_t * color_buf = _lv_mem_buf_get(mask_buf_size * sizeof(lv_color_t)); - a604: 9929 ldr r1, [sp, #164] ; 0xa4 - a606: 0048 lsls r0, r1, #1 - a608: 47a0 blx r4 - a60a: 9030 str r0, [sp, #192] ; 0xc0 + a05c: 9929 ldr r1, [sp, #164] ; 0xa4 + a05e: 0048 lsls r0, r1, #1 + a060: 47a0 blx r4 + a062: 9030 str r0, [sp, #192] ; 0xc0 lv_disp_t * disp = _lv_refr_get_disp_refreshing(); - a60c: 4b7e ldr r3, [pc, #504] ; (a808 ) - a60e: 4798 blx r3 + a064: 4b7e ldr r3, [pc, #504] ; (a260 ) + a066: 4798 blx r3 lv_disp_buf_t * vdb = lv_disp_get_buf(disp); - a610: 4b7e ldr r3, [pc, #504] ; (a80c ) - a612: 4798 blx r3 - a614: f9b0 4010 ldrsh.w r4, [r0, #16] - a618: 8a83 ldrh r3, [r0, #20] - a61a: 3301 adds r3, #1 - a61c: 1b1b subs r3, r3, r4 + a068: 4b7e ldr r3, [pc, #504] ; (a264 ) + a06a: 4798 blx r3 + a06c: f9b0 4010 ldrsh.w r4, [r0, #16] + a070: 8a83 ldrh r3, [r0, #20] + a072: 3301 adds r3, #1 + a074: 1b1b subs r3, r3, r4 int32_t vdb_width = lv_area_get_width(&vdb->area); - a61e: b219 sxth r1, r3 - a620: 9126 str r1, [sp, #152] ; 0x98 + a076: b219 sxth r1, r3 + a078: 9126 str r1, [sp, #152] ; 0x98 lv_color_t * vdb_buf_tmp = vdb->buf_act; - a622: 6881 ldr r1, [r0, #8] + a07a: 6881 ldr r1, [r0, #8] vdb_buf_tmp += (row_start * vdb_width) + col_start / 3; - a624: 9b27 ldr r3, [sp, #156] ; 0x9c - a626: 4a76 ldr r2, [pc, #472] ; (a800 ) - a628: fb82 e203 smull lr, r2, r2, r3 - a62c: eba2 72e3 sub.w r2, r2, r3, asr #31 + a07c: 9b27 ldr r3, [sp, #156] ; 0x9c + a07e: 4a76 ldr r2, [pc, #472] ; (a258 ) + a080: fb82 e203 smull lr, r2, r2, r3 + a084: eba2 72e3 sub.w r2, r2, r3, asr #31 vdb_buf_tmp += ((pos_y - vdb->area.y1) * vdb_width) + pos_x - vdb->area.x1; - a630: f9b0 3012 ldrsh.w r3, [r0, #18] - a634: 981d ldr r0, [sp, #116] ; 0x74 - a636: 1ac3 subs r3, r0, r3 - a638: 9826 ldr r0, [sp, #152] ; 0x98 - a63a: 4686 mov lr, r0 - a63c: 9818 ldr r0, [sp, #96] ; 0x60 - a63e: fb0e 0303 mla r3, lr, r3, r0 - a642: 1b1b subs r3, r3, r4 + a088: f9b0 3012 ldrsh.w r3, [r0, #18] + a08c: 981d ldr r0, [sp, #116] ; 0x74 + a08e: 1ac3 subs r3, r0, r3 + a090: 9826 ldr r0, [sp, #152] ; 0x98 + a092: 4686 mov lr, r0 + a094: 9818 ldr r0, [sp, #96] ; 0x60 + a096: fb0e 0303 mla r3, lr, r3, r0 + a09a: 1b1b subs r3, r3, r4 vdb_buf_tmp += (row_start * vdb_width) + col_start / 3; - a644: 9c25 ldr r4, [sp, #148] ; 0x94 - a646: fb0e 2004 mla r0, lr, r4, r2 - a64a: 4403 add r3, r0 - a64c: eb01 0143 add.w r1, r1, r3, lsl #1 - a650: 9118 str r1, [sp, #96] ; 0x60 + a09c: 9c25 ldr r4, [sp, #148] ; 0x94 + a09e: fb0e 2004 mla r0, lr, r4, r2 + a0a2: 4403 add r3, r0 + a0a4: eb01 0143 add.w r1, r1, r3, lsl #1 + a0a8: 9118 str r1, [sp, #96] ; 0x60 map_area.x1 = col_start / 3 + pos_x; - a652: b2ad uxth r5, r5 - a654: 442a add r2, r5 - a656: f8ad 20e0 strh.w r2, [sp, #224] ; 0xe0 + a0aa: b2ad uxth r5, r5 + a0ac: 442a add r2, r5 + a0ae: f8ad 20e0 strh.w r2, [sp, #224] ; 0xe0 map_area.x2 = col_end / 3 + pos_x - 1; - a65a: 9a14 ldr r2, [sp, #80] ; 0x50 - a65c: 4696 mov lr, r2 - a65e: 4968 ldr r1, [pc, #416] ; (a800 ) - a660: fb81 e30e smull lr, r3, r1, lr - a664: eba3 73e2 sub.w r3, r3, r2, asr #31 - a668: 3d01 subs r5, #1 - a66a: 442b add r3, r5 - a66c: f8ad 30e4 strh.w r3, [sp, #228] ; 0xe4 + a0b2: 9a14 ldr r2, [sp, #80] ; 0x50 + a0b4: 4696 mov lr, r2 + a0b6: 4968 ldr r1, [pc, #416] ; (a258 ) + a0b8: fb81 e30e smull lr, r3, r1, lr + a0bc: eba3 73e2 sub.w r3, r3, r2, asr #31 + a0c0: 3d01 subs r5, #1 + a0c2: 442b add r3, r5 + a0c4: f8ad 30e4 strh.w r3, [sp, #228] ; 0xe4 map_area.y1 = row_start + pos_y; - a670: 9d15 ldr r5, [sp, #84] ; 0x54 - a672: 4425 add r5, r4 - a674: b22b sxth r3, r5 - a676: f8ad 30e2 strh.w r3, [sp, #226] ; 0xe2 + a0c8: 9d15 ldr r5, [sp, #84] ; 0x54 + a0ca: 4425 add r5, r4 + a0cc: b22b sxth r3, r5 + a0ce: f8ad 30e2 strh.w r3, [sp, #226] ; 0xe2 map_area.y2 = map_area.y1; - a67a: f8ad 30e6 strh.w r3, [sp, #230] ; 0xe6 + a0d2: f8ad 30e6 strh.w r3, [sp, #230] ; 0xe6 uint8_t other_mask_cnt = lv_draw_mask_get_cnt(); - a67e: 4b64 ldr r3, [pc, #400] ; (a810 ) - a680: 4798 blx r3 - a682: 902a str r0, [sp, #168] ; 0xa8 + a0d6: 4b64 ldr r3, [pc, #400] ; (a268 ) + a0d8: 4798 blx r3 + a0da: 902a str r0, [sp, #168] ; 0xa8 for(row = row_start ; row < row_end; row++) { - a684: 9d28 ldr r5, [sp, #160] ; 0xa0 - a686: 42ac cmp r4, r5 - a688: f280 8161 bge.w a94e + a0dc: 9d28 ldr r5, [sp, #160] ; 0xa0 + a0de: 42ac cmp r4, r5 + a0e0: f280 8161 bge.w a3a6 if((int32_t) mask_p + (col_end - col_start) < mask_buf_size) { - a68c: 9914 ldr r1, [sp, #80] ; 0x50 - a68e: 9a27 ldr r2, [sp, #156] ; 0x9c - a690: 1a8c subs r4, r1, r2 - a692: 942b str r4, [sp, #172] ; 0xac + a0e4: 9914 ldr r1, [sp, #80] ; 0x50 + a0e6: 9a27 ldr r2, [sp, #156] ; 0x9c + a0e8: 1a8c subs r4, r1, r2 + a0ea: 942b str r4, [sp, #172] ; 0xac col_bit += ((box_w - col_end) + col_start) * bpp; - a694: 9d1e ldr r5, [sp, #120] ; 0x78 - a696: 1a6b subs r3, r5, r1 - a698: 4413 add r3, r2 - a69a: 9912 ldr r1, [sp, #72] ; 0x48 - a69c: fb01 f303 mul.w r3, r1, r3 - a6a0: 932c str r3, [sp, #176] ; 0xb0 + a0ec: 9d1e ldr r5, [sp, #120] ; 0x78 + a0ee: 1a6b subs r3, r5, r1 + a0f0: 4413 add r3, r2 + a0f2: 9912 ldr r1, [sp, #72] ; 0x48 + a0f4: fb01 f303 mul.w r3, r1, r3 + a0f8: 932c str r3, [sp, #176] ; 0xb0 vdb_buf_tmp += vdb_width - (col_end - col_start) / 3; - a6a2: 4a57 ldr r2, [pc, #348] ; (a800 ) - a6a4: fb82 2304 smull r2, r3, r2, r4 - a6a8: ebc3 73e4 rsb r3, r3, r4, asr #31 - a6ac: 9826 ldr r0, [sp, #152] ; 0x98 - a6ae: 4403 add r3, r0 - a6b0: 005b lsls r3, r3, #1 - a6b2: 932d str r3, [sp, #180] ; 0xb4 - a6b4: 2300 movs r3, #0 - a6b6: 9326 str r3, [sp, #152] ; 0x98 + a0fa: 4a57 ldr r2, [pc, #348] ; (a258 ) + a0fc: fb82 2304 smull r2, r3, r2, r4 + a100: ebc3 73e4 rsb r3, r3, r4, asr #31 + a104: 9826 ldr r0, [sp, #152] ; 0x98 + a106: 4403 add r3, r0 + a108: 005b lsls r3, r3, #1 + a10a: 932d str r3, [sp, #180] ; 0xb4 + a10c: 2300 movs r3, #0 + a10e: 9326 str r3, [sp, #152] ; 0x98 col_bit = 0; - a6b8: 9315 str r3, [sp, #84] ; 0x54 - a6ba: f8cd b0c8 str.w fp, [sp, #200] ; 0xc8 - a6be: f8cd 90cc str.w r9, [sp, #204] ; 0xcc - a6c2: 9734 str r7, [sp, #208] ; 0xd0 - a6c4: f8dd 9060 ldr.w r9, [sp, #96] ; 0x60 - a6c8: f8dd b0c4 ldr.w fp, [sp, #196] ; 0xc4 - a6cc: f8cd a0c4 str.w sl, [sp, #196] ; 0xc4 - a6d0: f8dd a0c0 ldr.w sl, [sp, #192] ; 0xc0 - a6d4: f8cd 80d4 str.w r8, [sp, #212] ; 0xd4 - a6d8: 4688 mov r8, r1 - a6da: e0ea b.n a8b2 + a110: 9315 str r3, [sp, #84] ; 0x54 + a112: f8cd b0c8 str.w fp, [sp, #200] ; 0xc8 + a116: f8cd 90cc str.w r9, [sp, #204] ; 0xcc + a11a: 9734 str r7, [sp, #208] ; 0xd0 + a11c: f8dd 9060 ldr.w r9, [sp, #96] ; 0x60 + a120: f8dd b0c4 ldr.w fp, [sp, #196] ; 0xc4 + a124: f8cd a0c4 str.w sl, [sp, #196] ; 0xc4 + a128: f8dd a0c0 ldr.w sl, [sp, #192] ; 0xc0 + a12c: f8cd 80d4 str.w r8, [sp, #212] ; 0xd4 + a130: 4688 mov r8, r1 + a132: e0ea b.n a30a if(bpp == 3) bpp = 4; - a6dc: 2304 movs r3, #4 - a6de: 9312 str r3, [sp, #72] ; 0x48 + a134: 2304 movs r3, #4 + a136: 9312 str r3, [sp, #72] ; 0x48 bitmask_init = 0xF0; - a6e0: 23f0 movs r3, #240 ; 0xf0 - a6e2: 931b str r3, [sp, #108] ; 0x6c + a138: 23f0 movs r3, #240 ; 0xf0 + a13a: 931b str r3, [sp, #108] ; 0x6c bpp_opa_table = _lv_bpp4_opa_table; - a6e4: 4b4b ldr r3, [pc, #300] ; (a814 ) - a6e6: 9320 str r3, [sp, #128] ; 0x80 - a6e8: e730 b.n a54c + a13c: 4b4b ldr r3, [pc, #300] ; (a26c ) + a13e: 9320 str r3, [sp, #128] ; 0x80 + a140: e730 b.n 9fa4 LV_LOG_WARN("lv_draw_letter: invalid bpp not found"); - a6ea: 4b4b ldr r3, [pc, #300] ; (a818 ) - a6ec: 9300 str r3, [sp, #0] - a6ee: 4b4b ldr r3, [pc, #300] ; (a81c ) - a6f0: f240 227a movw r2, #634 ; 0x27a - a6f4: 494a ldr r1, [pc, #296] ; (a820 ) - a6f6: 2002 movs r0, #2 - a6f8: 4c4a ldr r4, [pc, #296] ; (a824 ) - a6fa: 47a0 blx r4 - a6fc: e63e b.n a37c + a142: 4b4b ldr r3, [pc, #300] ; (a270 ) + a144: 9300 str r3, [sp, #0] + a146: 4b4b ldr r3, [pc, #300] ; (a274 ) + a148: f240 227a movw r2, #634 ; 0x27a + a14c: 494a ldr r1, [pc, #296] ; (a278 ) + a14e: 2002 movs r0, #2 + a150: 4c4a ldr r4, [pc, #296] ; (a27c ) + a152: 47a0 blx r4 + a154: e63e b.n 9dd4 uint32_t bpp = g->bpp; - a6fe: 2301 movs r3, #1 - a700: 9312 str r3, [sp, #72] ; 0x48 + a156: 2301 movs r3, #1 + a158: 9312 str r3, [sp, #72] ; 0x48 bitmask_init = 0x80; - a702: 2380 movs r3, #128 ; 0x80 - a704: 931b str r3, [sp, #108] ; 0x6c + a15a: 2380 movs r3, #128 ; 0x80 + a15c: 931b str r3, [sp, #108] ; 0x6c bpp_opa_table = _lv_bpp1_opa_table; - a706: 4b48 ldr r3, [pc, #288] ; (a828 ) - a708: 9320 str r3, [sp, #128] ; 0x80 - a70a: e71f b.n a54c + a15e: 4b48 ldr r3, [pc, #288] ; (a280 ) + a160: 9320 str r3, [sp, #128] ; 0x80 + a162: e71f b.n 9fa4 uint32_t bpp = g->bpp; - a70c: 2308 movs r3, #8 - a70e: 9312 str r3, [sp, #72] ; 0x48 + a164: 2308 movs r3, #8 + a166: 9312 str r3, [sp, #72] ; 0x48 bitmask_init = 0xFF; - a710: 23ff movs r3, #255 ; 0xff - a712: 931b str r3, [sp, #108] ; 0x6c + a168: 23ff movs r3, #255 ; 0xff + a16a: 931b str r3, [sp, #108] ; 0x6c bpp_opa_table = _lv_bpp8_opa_table; - a714: 4b45 ldr r3, [pc, #276] ; (a82c ) - a716: 9320 str r3, [sp, #128] ; 0x80 - a718: e718 b.n a54c + a16c: 4b45 ldr r3, [pc, #276] ; (a284 ) + a16e: 9320 str r3, [sp, #128] ; 0x80 + a170: e718 b.n 9fa4 int32_t row_end = pos_y + box_h <= clip_area->y2 ? box_h : clip_area->y2 - pos_y + 1; - a71a: 9128 str r1, [sp, #160] ; 0xa0 - a71c: e74f b.n a5be + a172: 9128 str r1, [sp, #160] ; 0xa0 + a174: e74f b.n a016 px_opa = bpp == 8 ? letter_px : bpp_opa_table[letter_px]; - a71e: f1b8 0f08 cmp.w r8, #8 - a722: d004 beq.n a72e - a724: b2db uxtb r3, r3 - a726: 9a20 ldr r2, [sp, #128] ; 0x80 - a728: 5cd2 ldrb r2, [r2, r3] - a72a: e000 b.n a72e + a176: f1b8 0f08 cmp.w r8, #8 + a17a: d004 beq.n a186 + a17c: b2db uxtb r3, r3 + a17e: 9a20 ldr r2, [sp, #128] ; 0x80 + a180: 5cd2 ldrb r2, [r2, r3] + a182: e000 b.n a186 px_opa = 0; - a72c: 9a15 ldr r2, [sp, #84] ; 0x54 + a184: 9a15 ldr r2, [sp, #84] ; 0x54 font_rgb[subpx_cnt] = px_opa; - a72e: ab58 add r3, sp, #352 ; 0x160 - a730: 440b add r3, r1 - a732: f803 2c84 strb.w r2, [r3, #-132] + a186: ab58 add r3, sp, #352 ; 0x160 + a188: 440b add r3, r1 + a18a: f803 2c84 strb.w r2, [r3, #-132] subpx_cnt ++; - a736: 3101 adds r1, #1 + a18e: 3101 adds r1, #1 if(subpx_cnt == 3) { - a738: 2903 cmp r1, #3 - a73a: d028 beq.n a78e + a190: 2903 cmp r1, #3 + a192: d028 beq.n a1e6 if(col_bit < (int32_t) (8 - bpp)) { - a73c: 45b4 cmp ip, r6 - a73e: f340 8094 ble.w a86a + a194: 45b4 cmp ip, r6 + a196: f340 8094 ble.w a2c2 col_bit += bpp; - a742: 9b12 ldr r3, [sp, #72] ; 0x48 - a744: 4443 add r3, r8 - a746: 461e mov r6, r3 + a19a: 9b12 ldr r3, [sp, #72] ; 0x48 + a19c: 4443 add r3, r8 + a19e: 461e mov r6, r3 bitmask = bitmask >> bpp; - a748: fa2e fe08 lsr.w lr, lr, r8 + a1a0: fa2e fe08 lsr.w lr, lr, r8 for(col = col_start; col < col_end; col++) { - a74c: 3501 adds r5, #1 - a74e: 9b14 ldr r3, [sp, #80] ; 0x50 - a750: 42ab cmp r3, r5 - a752: f000 8090 beq.w a876 + a1a4: 3501 adds r5, #1 + a1a6: 9b14 ldr r3, [sp, #80] ; 0x50 + a1a8: 42ab cmp r3, r5 + a1aa: f000 8090 beq.w a2ce letter_px = (*map_p & bitmask) >> (8 - col_bit - bpp); - a756: 9612 str r6, [sp, #72] ; 0x48 - a758: f89b 3000 ldrb.w r3, [fp] - a75c: ea03 020e and.w r2, r3, lr - a760: ebac 0306 sub.w r3, ip, r6 - a764: fa22 f303 lsr.w r3, r2, r3 + a1ae: 9612 str r6, [sp, #72] ; 0x48 + a1b0: f89b 3000 ldrb.w r3, [fp] + a1b4: ea03 020e and.w r2, r3, lr + a1b8: ebac 0306 sub.w r3, ip, r6 + a1bc: fa22 f303 lsr.w r3, r2, r3 if(letter_px != 0) { - a768: f013 02ff ands.w r2, r3, #255 ; 0xff - a76c: d0de beq.n a72c + a1c0: f013 02ff ands.w r2, r3, #255 ; 0xff + a1c4: d0de beq.n a184 if(opa == LV_OPA_COVER) { - a76e: 9816 ldr r0, [sp, #88] ; 0x58 - a770: 28ff cmp r0, #255 ; 0xff - a772: d0d4 beq.n a71e + a1c6: 9816 ldr r0, [sp, #88] ; 0x58 + a1c8: 28ff cmp r0, #255 ; 0xff + a1ca: d0d4 beq.n a176 px_opa = bpp == 8 ? (uint32_t)((uint32_t)letter_px * opa) >> 8 - a774: f1b8 0f08 cmp.w r8, #8 - a778: bf0f iteee eq - a77a: b2da uxtbeq r2, r3 + a1cc: f1b8 0f08 cmp.w r8, #8 + a1d0: bf0f iteee eq + a1d2: b2da uxtbeq r2, r3 : (uint32_t)((uint32_t)bpp_opa_table[letter_px] * opa) >> 8; - a77c: b2db uxtbne r3, r3 - a77e: 9a20 ldrne r2, [sp, #128] ; 0x80 - a780: 5cd2 ldrbne r2, [r2, r3] - a782: 9b16 ldr r3, [sp, #88] ; 0x58 - a784: fb03 f202 mul.w r2, r3, r2 + a1d4: b2db uxtbne r3, r3 + a1d6: 9a20 ldrne r2, [sp, #128] ; 0x80 + a1d8: 5cd2 ldrbne r2, [r2, r3] + a1da: 9b16 ldr r3, [sp, #88] ; 0x58 + a1dc: fb03 f202 mul.w r2, r3, r2 px_opa = bpp == 8 ? (uint32_t)((uint32_t)letter_px * opa) >> 8 - a788: f3c2 2207 ubfx r2, r2, #8, #8 - a78c: e7cf b.n a72e + a1e0: f3c2 2207 ubfx r2, r2, #8, #8 + a1e4: e7cf b.n a186 res_color.ch.red = (uint32_t)((uint16_t)txt_rgb[0] * font_rgb[0] + (bg_rgb[0] * (255 - font_rgb[0]))) >> 8; - a78e: f89d 10dc ldrb.w r1, [sp, #220] ; 0xdc + a1e6: f89d 10dc ldrb.w r1, [sp, #220] ; 0xdc uint8_t bg_rgb[3] = {vdb_buf_tmp->ch.red, vdb_buf_tmp->ch.green, vdb_buf_tmp->ch.blue}; - a792: f89a 3001 ldrb.w r3, [sl, #1] + a1ea: f89a 3001 ldrb.w r3, [sl, #1] res_color.ch.red = (uint32_t)((uint16_t)txt_rgb[0] * font_rgb[0] + (bg_rgb[0] * (255 - font_rgb[0]))) >> 8; - a796: 08db lsrs r3, r3, #3 - a798: f1c1 00ff rsb r0, r1, #255 ; 0xff - a79c: 9a23 ldr r2, [sp, #140] ; 0x8c - a79e: fb01 f202 mul.w r2, r1, r2 - a7a2: fb00 2303 mla r3, r0, r3, r2 - a7a6: f3c3 2304 ubfx r3, r3, #8, #5 - a7aa: 931d str r3, [sp, #116] ; 0x74 + a1ee: 08db lsrs r3, r3, #3 + a1f0: f1c1 00ff rsb r0, r1, #255 ; 0xff + a1f4: 9a23 ldr r2, [sp, #140] ; 0x8c + a1f6: fb01 f202 mul.w r2, r1, r2 + a1fa: fb00 2303 mla r3, r0, r3, r2 + a1fe: f3c3 2304 ubfx r3, r3, #8, #5 + a202: 931d str r3, [sp, #116] ; 0x74 res_color.ch.blue = (uint32_t)((uint16_t)txt_rgb[2] * font_rgb[2] + (bg_rgb[2] * (255 - font_rgb[2]))) >> 8; - a7ac: f89d 30de ldrb.w r3, [sp, #222] ; 0xde - a7b0: 9318 str r3, [sp, #96] ; 0x60 + a204: f89d 30de ldrb.w r3, [sp, #222] ; 0xde + a208: 9318 str r3, [sp, #96] ; 0x60 uint8_t bg_rgb[3] = {vdb_buf_tmp->ch.red, vdb_buf_tmp->ch.green, vdb_buf_tmp->ch.blue}; - a7b2: f89a 2000 ldrb.w r2, [sl] + a20a: f89a 2000 ldrb.w r2, [sl] res_color.ch.blue = (uint32_t)((uint16_t)txt_rgb[2] * font_rgb[2] + (bg_rgb[2] * (255 - font_rgb[2]))) >> 8; - a7b6: f002 021f and.w r2, r2, #31 - a7ba: f1c3 00ff rsb r0, r3, #255 ; 0xff - a7be: 9b22 ldr r3, [sp, #136] ; 0x88 - a7c0: 9c18 ldr r4, [sp, #96] ; 0x60 - a7c2: fb04 f303 mul.w r3, r4, r3 - a7c6: fb00 3202 mla r2, r0, r2, r3 - a7ca: f3c2 2304 ubfx r3, r2, #8, #5 - a7ce: 931e str r3, [sp, #120] ; 0x78 + a20e: f002 021f and.w r2, r2, #31 + a212: f1c3 00ff rsb r0, r3, #255 ; 0xff + a216: 9b22 ldr r3, [sp, #136] ; 0x88 + a218: 9c18 ldr r4, [sp, #96] ; 0x60 + a21a: fb04 f303 mul.w r3, r4, r3 + a21e: fb00 3202 mla r2, r0, r2, r3 + a222: f3c2 2304 ubfx r3, r2, #8, #5 + a226: 931e str r3, [sp, #120] ; 0x78 res_color.ch.green = (uint32_t)((uint32_t)txt_rgb[1] * font_rgb[1] + (bg_rgb[1] * (255 - font_rgb[1]))) >> 8; - a7d0: f89d 00dd ldrb.w r0, [sp, #221] ; 0xdd + a228: f89d 00dd ldrb.w r0, [sp, #221] ; 0xdd uint8_t bg_rgb[3] = {vdb_buf_tmp->ch.red, vdb_buf_tmp->ch.green, vdb_buf_tmp->ch.blue}; - a7d4: f8ba 3000 ldrh.w r3, [sl] + a22c: f8ba 3000 ldrh.w r3, [sl] res_color.ch.green = (uint32_t)((uint32_t)txt_rgb[1] * font_rgb[1] + (bg_rgb[1] * (255 - font_rgb[1]))) >> 8; - a7d8: f3c3 1445 ubfx r4, r3, #5, #6 - a7dc: f1c0 03ff rsb r3, r0, #255 ; 0xff - a7e0: 9a24 ldr r2, [sp, #144] ; 0x90 - a7e2: fb00 f202 mul.w r2, r0, r2 - a7e6: fb03 2304 mla r3, r3, r4, r2 - a7ea: f3c3 2305 ubfx r3, r3, #8, #6 + a230: f3c3 1445 ubfx r4, r3, #5, #6 + a234: f1c0 03ff rsb r3, r0, #255 ; 0xff + a238: 9a24 ldr r2, [sp, #144] ; 0x90 + a23a: fb00 f202 mul.w r2, r0, r2 + a23e: fb03 2304 mla r3, r3, r4, r2 + a242: f3c3 2305 ubfx r3, r3, #8, #6 if(font_rgb[0] == 0 && font_rgb[1] == 0 && font_rgb[2] == 0) mask_buf[mask_p] = LV_OPA_TRANSP; - a7ee: b9f9 cbnz r1, a830 - a7f0: b9f0 cbnz r0, a830 - a7f2: 9a18 ldr r2, [sp, #96] ; 0x60 - a7f4: b9e2 cbnz r2, a830 - a7f6: 9a21 ldr r2, [sp, #132] ; 0x84 - a7f8: 55d1 strb r1, [r2, r7] - a7fa: e01d b.n a838 - a7fc: 0001c248 .word 0x0001c248 - a800: 55555556 .word 0x55555556 - a804: 00012ee5 .word 0x00012ee5 - a808: 00006511 .word 0x00006511 - a80c: 00011585 .word 0x00011585 - a810: 0000c46d .word 0x0000c46d - a814: 0001c24c .word 0x0001c24c - a818: 0001c444 .word 0x0001c444 - a81c: 0001c36c .word 0x0001c36c - a820: 0001c39c .word 0x0001c39c - a824: 00012805 .word 0x00012805 - a828: 0001c244 .word 0x0001c244 - a82c: 0001c25c .word 0x0001c25c + a246: b9f9 cbnz r1, a288 + a248: b9f0 cbnz r0, a288 + a24a: 9a18 ldr r2, [sp, #96] ; 0x60 + a24c: b9e2 cbnz r2, a288 + a24e: 9a21 ldr r2, [sp, #132] ; 0x84 + a250: 55d1 strb r1, [r2, r7] + a252: e01d b.n a290 + a254: 00024d64 .word 0x00024d64 + a258: 55555556 .word 0x55555556 + a25c: 0001293d .word 0x0001293d + a260: 00005f69 .word 0x00005f69 + a264: 00010fdd .word 0x00010fdd + a268: 0000bec5 .word 0x0000bec5 + a26c: 00024d68 .word 0x00024d68 + a270: 00024f60 .word 0x00024f60 + a274: 00024e88 .word 0x00024e88 + a278: 00024eb8 .word 0x00024eb8 + a27c: 0001225d .word 0x0001225d + a280: 00024d60 .word 0x00024d60 + a284: 00024d78 .word 0x00024d78 else mask_buf[mask_p] = LV_OPA_COVER; - a830: 9a21 ldr r2, [sp, #132] ; 0x84 - a832: f04f 31ff mov.w r1, #4294967295 - a836: 55d1 strb r1, [r2, r7] + a288: 9a21 ldr r2, [sp, #132] ; 0x84 + a28a: f04f 31ff mov.w r1, #4294967295 + a28e: 55d1 strb r1, [r2, r7] color_buf[mask_p] = res_color; - a838: eb09 0047 add.w r0, r9, r7, lsl #1 - a83c: f819 1017 ldrb.w r1, [r9, r7, lsl #1] - a840: 9a1e ldr r2, [sp, #120] ; 0x78 - a842: f362 0104 bfi r1, r2, #0, #5 - a846: f809 1017 strb.w r1, [r9, r7, lsl #1] - a84a: f839 2017 ldrh.w r2, [r9, r7, lsl #1] - a84e: f363 124a bfi r2, r3, #5, #6 - a852: f829 2017 strh.w r2, [r9, r7, lsl #1] - a856: 0a12 lsrs r2, r2, #8 - a858: 9b1d ldr r3, [sp, #116] ; 0x74 - a85a: f363 02c7 bfi r2, r3, #3, #5 - a85e: 7042 strb r2, [r0, #1] + a290: eb09 0047 add.w r0, r9, r7, lsl #1 + a294: f819 1017 ldrb.w r1, [r9, r7, lsl #1] + a298: 9a1e ldr r2, [sp, #120] ; 0x78 + a29a: f362 0104 bfi r1, r2, #0, #5 + a29e: f809 1017 strb.w r1, [r9, r7, lsl #1] + a2a2: f839 2017 ldrh.w r2, [r9, r7, lsl #1] + a2a6: f363 124a bfi r2, r3, #5, #6 + a2aa: f829 2017 strh.w r2, [r9, r7, lsl #1] + a2ae: 0a12 lsrs r2, r2, #8 + a2b0: 9b1d ldr r3, [sp, #116] ; 0x74 + a2b2: f363 02c7 bfi r2, r3, #3, #5 + a2b6: 7042 strb r2, [r0, #1] mask_p++; - a860: 3701 adds r7, #1 + a2b8: 3701 adds r7, #1 vdb_buf_tmp++; - a862: f10a 0a02 add.w sl, sl, #2 + a2ba: f10a 0a02 add.w sl, sl, #2 subpx_cnt = 0; - a866: 2100 movs r1, #0 - a868: e768 b.n a73c + a2be: 2100 movs r1, #0 + a2c0: e768 b.n a194 map_p++; - a86a: f10b 0b01 add.w fp, fp, #1 + a2c2: f10b 0b01 add.w fp, fp, #1 bitmask = bitmask_init; - a86e: f8dd e06c ldr.w lr, [sp, #108] ; 0x6c + a2c6: f8dd e06c ldr.w lr, [sp, #108] ; 0x6c col_bit = 0; - a872: 9e15 ldr r6, [sp, #84] ; 0x54 - a874: e76a b.n a74c - a876: 4653 mov r3, sl - a878: 46ca mov sl, r9 - a87a: 4699 mov r9, r3 + a2ca: 9e15 ldr r6, [sp, #84] ; 0x54 + a2cc: e76a b.n a1a4 + a2ce: 4653 mov r3, sl + a2d0: 46ca mov sl, r9 + a2d2: 4699 mov r9, r3 if(other_mask_cnt) { - a87c: 9b2a ldr r3, [sp, #168] ; 0xa8 - a87e: bb4b cbnz r3, a8d4 + a2d4: 9b2a ldr r3, [sp, #168] ; 0xa8 + a2d6: bb4b cbnz r3, a32c if((int32_t) mask_p + (col_end - col_start) < mask_buf_size) { - a880: 9b2b ldr r3, [sp, #172] ; 0xac - a882: 443b add r3, r7 - a884: 9a29 ldr r2, [sp, #164] ; 0xa4 - a886: 429a cmp r2, r3 - a888: dd41 ble.n a90e + a2d8: 9b2b ldr r3, [sp, #172] ; 0xac + a2da: 443b add r3, r7 + a2dc: 9a29 ldr r2, [sp, #164] ; 0xa4 + a2de: 429a cmp r2, r3 + a2e0: dd41 ble.n a366 map_area.y2 ++; - a88a: f8bd 30e6 ldrh.w r3, [sp, #230] ; 0xe6 - a88e: 3301 adds r3, #1 - a890: f8ad 30e6 strh.w r3, [sp, #230] ; 0xe6 - a894: 9726 str r7, [sp, #152] ; 0x98 + a2e2: f8bd 30e6 ldrh.w r3, [sp, #230] ; 0xe6 + a2e6: 3301 adds r3, #1 + a2e8: f8ad 30e6 strh.w r3, [sp, #230] ; 0xe6 + a2ec: 9726 str r7, [sp, #152] ; 0x98 col_bit += ((box_w - col_end) + col_start) * bpp; - a896: 9b2c ldr r3, [sp, #176] ; 0xb0 - a898: 441e add r6, r3 + a2ee: 9b2c ldr r3, [sp, #176] ; 0xb0 + a2f0: 441e add r6, r3 map_p += (col_bit >> 3); - a89a: eb0b 0be6 add.w fp, fp, r6, asr #3 + a2f2: eb0b 0be6 add.w fp, fp, r6, asr #3 col_bit = col_bit & 0x7; - a89e: f006 0607 and.w r6, r6, #7 + a2f6: f006 0607 and.w r6, r6, #7 vdb_buf_tmp += vdb_width - (col_end - col_start) / 3; - a8a2: 9b2d ldr r3, [sp, #180] ; 0xb4 - a8a4: 4499 add r9, r3 + a2fa: 9b2d ldr r3, [sp, #180] ; 0xb4 + a2fc: 4499 add r9, r3 for(row = row_start ; row < row_end; row++) { - a8a6: 9b25 ldr r3, [sp, #148] ; 0x94 - a8a8: 3301 adds r3, #1 - a8aa: 9325 str r3, [sp, #148] ; 0x94 - a8ac: 9a28 ldr r2, [sp, #160] ; 0xa0 - a8ae: 4293 cmp r3, r2 - a8b0: da44 bge.n a93c + a2fe: 9b25 ldr r3, [sp, #148] ; 0x94 + a300: 3301 adds r3, #1 + a302: 9325 str r3, [sp, #148] ; 0x94 + a304: 9a28 ldr r2, [sp, #160] ; 0xa0 + a306: 4293 cmp r3, r2 + a308: da44 bge.n a394 bitmask = bitmask_init >> col_bit; - a8b2: 9b1b ldr r3, [sp, #108] ; 0x6c - a8b4: fa23 fe06 lsr.w lr, r3, r6 + a30a: 9b1b ldr r3, [sp, #108] ; 0x6c + a30c: fa23 fe06 lsr.w lr, r3, r6 for(col = col_start; col < col_end; col++) { - a8b8: 9d27 ldr r5, [sp, #156] ; 0x9c - a8ba: 9a14 ldr r2, [sp, #80] ; 0x50 - a8bc: 4295 cmp r5, r2 - a8be: da07 bge.n a8d0 - a8c0: 9f26 ldr r7, [sp, #152] ; 0x98 - a8c2: 2100 movs r1, #0 - a8c4: f1c8 0c08 rsb ip, r8, #8 + a310: 9d27 ldr r5, [sp, #156] ; 0x9c + a312: 9a14 ldr r2, [sp, #80] ; 0x50 + a314: 4295 cmp r5, r2 + a316: da07 bge.n a328 + a318: 9f26 ldr r7, [sp, #152] ; 0x98 + a31a: 2100 movs r1, #0 + a31c: f1c8 0c08 rsb ip, r8, #8 else mask_buf[mask_p] = LV_OPA_COVER; - a8c8: 464b mov r3, r9 - a8ca: 46d1 mov r9, sl - a8cc: 469a mov sl, r3 - a8ce: e742 b.n a756 + a320: 464b mov r3, r9 + a322: 46d1 mov r9, sl + a324: 469a mov sl, r3 + a326: e742 b.n a1ae for(col = col_start; col < col_end; col++) { - a8d0: 9f26 ldr r7, [sp, #152] ; 0x98 - a8d2: e7d3 b.n a87c + a328: 9f26 ldr r7, [sp, #152] ; 0x98 + a32a: e7d3 b.n a2d4 lv_draw_mask_res_t mask_res = lv_draw_mask_apply(mask_buf + mask_p_start, map_area.x1, map_area.y2, - a8d4: 9b26 ldr r3, [sp, #152] ; 0x98 - a8d6: 9a21 ldr r2, [sp, #132] ; 0x84 - a8d8: 4413 add r3, r2 - a8da: 461c mov r4, r3 - a8dc: f9bd 10e0 ldrsh.w r1, [sp, #224] ; 0xe0 - a8e0: f8bd 30e4 ldrh.w r3, [sp, #228] ; 0xe4 - a8e4: 3301 adds r3, #1 - a8e6: 1a5b subs r3, r3, r1 - a8e8: b21b sxth r3, r3 - a8ea: f9bd 20e6 ldrsh.w r2, [sp, #230] ; 0xe6 - a8ee: 4620 mov r0, r4 - a8f0: 4dab ldr r5, [pc, #684] ; (aba0 ) - a8f2: 47a8 blx r5 + a32c: 9b26 ldr r3, [sp, #152] ; 0x98 + a32e: 9a21 ldr r2, [sp, #132] ; 0x84 + a330: 4413 add r3, r2 + a332: 461c mov r4, r3 + a334: f9bd 10e0 ldrsh.w r1, [sp, #224] ; 0xe0 + a338: f8bd 30e4 ldrh.w r3, [sp, #228] ; 0xe4 + a33c: 3301 adds r3, #1 + a33e: 1a5b subs r3, r3, r1 + a340: b21b sxth r3, r3 + a342: f9bd 20e6 ldrsh.w r2, [sp, #230] ; 0xe6 + a346: 4620 mov r0, r4 + a348: 4dab ldr r5, [pc, #684] ; (a5f8 ) + a34a: 47a8 blx r5 if(mask_res == LV_DRAW_MASK_RES_TRANSP) { - a8f4: 2800 cmp r0, #0 - a8f6: d1c3 bne.n a880 - a8f8: f8bd 10e4 ldrh.w r1, [sp, #228] ; 0xe4 - a8fc: 3101 adds r1, #1 - a8fe: f8bd 30e0 ldrh.w r3, [sp, #224] ; 0xe0 - a902: 1ac9 subs r1, r1, r3 + a34c: 2800 cmp r0, #0 + a34e: d1c3 bne.n a2d8 + a350: f8bd 10e4 ldrh.w r1, [sp, #228] ; 0xe4 + a354: 3101 adds r1, #1 + a356: f8bd 30e0 ldrh.w r3, [sp, #224] ; 0xe0 + a35a: 1ac9 subs r1, r1, r3 _lv_memset_00(mask_buf + mask_p_start, lv_area_get_width(&map_area)); - a904: b209 sxth r1, r1 - a906: 4620 mov r0, r4 - a908: 4ba6 ldr r3, [pc, #664] ; (aba4 ) - a90a: 4798 blx r3 - a90c: e7b8 b.n a880 + a35c: b209 sxth r1, r1 + a35e: 4620 mov r0, r4 + a360: 4ba6 ldr r3, [pc, #664] ; (a5fc ) + a362: 4798 blx r3 + a364: e7b8 b.n a2d8 _lv_blend_map(clip_area, &map_area, color_buf, mask_buf, LV_DRAW_MASK_RES_CHANGED, opa, blend_mode); - a90e: 9b0f ldr r3, [sp, #60] ; 0x3c - a910: 9302 str r3, [sp, #8] - a912: 9b16 ldr r3, [sp, #88] ; 0x58 - a914: 9301 str r3, [sp, #4] - a916: 2302 movs r3, #2 - a918: 9300 str r3, [sp, #0] - a91a: 9b21 ldr r3, [sp, #132] ; 0x84 - a91c: 4652 mov r2, sl - a91e: a938 add r1, sp, #224 ; 0xe0 - a920: 980d ldr r0, [sp, #52] ; 0x34 - a922: 4ca1 ldr r4, [pc, #644] ; (aba8 ) - a924: 47a0 blx r4 + a366: 9b0f ldr r3, [sp, #60] ; 0x3c + a368: 9302 str r3, [sp, #8] + a36a: 9b16 ldr r3, [sp, #88] ; 0x58 + a36c: 9301 str r3, [sp, #4] + a36e: 2302 movs r3, #2 + a370: 9300 str r3, [sp, #0] + a372: 9b21 ldr r3, [sp, #132] ; 0x84 + a374: 4652 mov r2, sl + a376: a938 add r1, sp, #224 ; 0xe0 + a378: 980d ldr r0, [sp, #52] ; 0x34 + a37a: 4ca1 ldr r4, [pc, #644] ; (a600 ) + a37c: 47a0 blx r4 map_area.y1 = map_area.y2 + 1; - a926: f8bd 30e6 ldrh.w r3, [sp, #230] ; 0xe6 - a92a: 3301 adds r3, #1 - a92c: b21b sxth r3, r3 - a92e: f8ad 30e2 strh.w r3, [sp, #226] ; 0xe2 + a37e: f8bd 30e6 ldrh.w r3, [sp, #230] ; 0xe6 + a382: 3301 adds r3, #1 + a384: b21b sxth r3, r3 + a386: f8ad 30e2 strh.w r3, [sp, #226] ; 0xe2 map_area.y2 = map_area.y1; - a932: f8ad 30e6 strh.w r3, [sp, #230] ; 0xe6 + a38a: f8ad 30e6 strh.w r3, [sp, #230] ; 0xe6 mask_p = 0; - a936: 2300 movs r3, #0 - a938: 9326 str r3, [sp, #152] ; 0x98 - a93a: e7ac b.n a896 - a93c: f8dd b0c8 ldr.w fp, [sp, #200] ; 0xc8 - a940: f8dd 90cc ldr.w r9, [sp, #204] ; 0xcc - a944: 9f34 ldr r7, [sp, #208] ; 0xd0 - a946: f8dd a0c4 ldr.w sl, [sp, #196] ; 0xc4 - a94a: f8dd 80d4 ldr.w r8, [sp, #212] ; 0xd4 + a38e: 2300 movs r3, #0 + a390: 9326 str r3, [sp, #152] ; 0x98 + a392: e7ac b.n a2ee + a394: f8dd b0c8 ldr.w fp, [sp, #200] ; 0xc8 + a398: f8dd 90cc ldr.w r9, [sp, #204] ; 0xcc + a39c: 9f34 ldr r7, [sp, #208] ; 0xd0 + a39e: f8dd a0c4 ldr.w sl, [sp, #196] ; 0xc4 + a3a2: f8dd 80d4 ldr.w r8, [sp, #212] ; 0xd4 if(map_area.y1 != map_area.y2) { - a94e: f9bd 30e6 ldrsh.w r3, [sp, #230] ; 0xe6 - a952: f9bd 20e2 ldrsh.w r2, [sp, #226] ; 0xe2 - a956: 429a cmp r2, r3 - a958: d00e beq.n a978 + a3a6: f9bd 30e6 ldrsh.w r3, [sp, #230] ; 0xe6 + a3aa: f9bd 20e2 ldrsh.w r2, [sp, #226] ; 0xe2 + a3ae: 429a cmp r2, r3 + a3b0: d00e beq.n a3d0 map_area.y2--; - a95a: 3b01 subs r3, #1 - a95c: f8ad 30e6 strh.w r3, [sp, #230] ; 0xe6 + a3b2: 3b01 subs r3, #1 + a3b4: f8ad 30e6 strh.w r3, [sp, #230] ; 0xe6 _lv_blend_map(clip_area, &map_area, color_buf, mask_buf, LV_DRAW_MASK_RES_CHANGED, opa, blend_mode); - a960: 9b0f ldr r3, [sp, #60] ; 0x3c - a962: 9302 str r3, [sp, #8] - a964: 9b16 ldr r3, [sp, #88] ; 0x58 - a966: 9301 str r3, [sp, #4] - a968: 2302 movs r3, #2 - a96a: 9300 str r3, [sp, #0] - a96c: 9b21 ldr r3, [sp, #132] ; 0x84 - a96e: 9a30 ldr r2, [sp, #192] ; 0xc0 - a970: a938 add r1, sp, #224 ; 0xe0 - a972: 980d ldr r0, [sp, #52] ; 0x34 - a974: 4c8c ldr r4, [pc, #560] ; (aba8 ) - a976: 47a0 blx r4 + a3b8: 9b0f ldr r3, [sp, #60] ; 0x3c + a3ba: 9302 str r3, [sp, #8] + a3bc: 9b16 ldr r3, [sp, #88] ; 0x58 + a3be: 9301 str r3, [sp, #4] + a3c0: 2302 movs r3, #2 + a3c2: 9300 str r3, [sp, #0] + a3c4: 9b21 ldr r3, [sp, #132] ; 0x84 + a3c6: 9a30 ldr r2, [sp, #192] ; 0xc0 + a3c8: a938 add r1, sp, #224 ; 0xe0 + a3ca: 980d ldr r0, [sp, #52] ; 0x34 + a3cc: 4c8c ldr r4, [pc, #560] ; (a600 ) + a3ce: 47a0 blx r4 _lv_mem_buf_release(mask_buf); - a978: 9821 ldr r0, [sp, #132] ; 0x84 - a97a: 4c8c ldr r4, [pc, #560] ; (abac ) - a97c: 47a0 blx r4 + a3d0: 9821 ldr r0, [sp, #132] ; 0x84 + a3d2: 4c8c ldr r4, [pc, #560] ; (a604 ) + a3d4: 47a0 blx r4 _lv_mem_buf_release(color_buf); - a97e: 9830 ldr r0, [sp, #192] ; 0xc0 - a980: 47a0 blx r4 - a982: e4fb b.n a37c + a3d6: 9830 ldr r0, [sp, #192] ; 0xc0 + a3d8: 47a0 blx r4 + a3da: e4fb b.n 9dd4 draw_letter_normal(pos_x, pos_y, &g, clip_area, map_p, color, opa, blend_mode); - a984: b22c sxth r4, r5 - a986: f9bd 0054 ldrsh.w r0, [sp, #84] ; 0x54 - a98a: f8ad 608c strh.w r6, [sp, #140] ; 0x8c + a3dc: b22c sxth r4, r5 + a3de: f9bd 0054 ldrsh.w r0, [sp, #84] ; 0x54 + a3e2: f8ad 608c strh.w r6, [sp, #140] ; 0x8c uint32_t bpp = g->bpp; - a98e: f89d 30f2 ldrb.w r3, [sp, #242] ; 0xf2 - a992: 9320 str r3, [sp, #128] ; 0x80 + a3e6: f89d 30f2 ldrb.w r3, [sp, #242] ; 0xf2 + a3ea: 9320 str r3, [sp, #128] ; 0x80 if(bpp == 3) bpp = 4; - a994: 2b03 cmp r3, #3 - a996: f000 80c1 beq.w ab1c + a3ec: 2b03 cmp r3, #3 + a3ee: f000 80c1 beq.w a574 switch(bpp) { - a99a: 3b01 subs r3, #1 - a99c: 2b07 cmp r3, #7 - a99e: f200 80c5 bhi.w ab2c - a9a2: e8df f013 tbh [pc, r3, lsl #1] - a9a6: 00cd .short 0x00cd - a9a8: 00c30008 .word 0x00c30008 - a9ac: 00c300bd .word 0x00c300bd - a9b0: 00c300c3 .word 0x00c300c3 - a9b4: 00d5 .short 0x00d5 + a3f2: 3b01 subs r3, #1 + a3f4: 2b07 cmp r3, #7 + a3f6: f200 80c5 bhi.w a584 + a3fa: e8df f013 tbh [pc, r3, lsl #1] + a3fe: 00cd .short 0x00cd + a400: 00c30008 .word 0x00c30008 + a404: 00c300bd .word 0x00c300bd + a408: 00c300c3 .word 0x00c300c3 + a40c: 00d5 .short 0x00d5 shades = 4; - a9b6: 2304 movs r3, #4 + a40e: 2304 movs r3, #4 bitmask_init = 0xC0; - a9b8: 22c0 movs r2, #192 ; 0xc0 - a9ba: 9212 str r2, [sp, #72] ; 0x48 + a410: 22c0 movs r2, #192 ; 0xc0 + a412: 9212 str r2, [sp, #72] ; 0x48 bpp_opa_table_p = _lv_bpp2_opa_table; - a9bc: 4a7c ldr r2, [pc, #496] ; (abb0 ) - a9be: 9222 str r2, [sp, #136] ; 0x88 + a414: 4a7c ldr r2, [pc, #496] ; (a608 ) + a416: 9222 str r2, [sp, #136] ; 0x88 if(opa < LV_OPA_MAX) { - a9c0: 9916 ldr r1, [sp, #88] ; 0x58 - a9c2: 29f9 cmp r1, #249 ; 0xf9 - a9c4: d82b bhi.n aa1e + a418: 9916 ldr r1, [sp, #88] ; 0x58 + a41a: 29f9 cmp r1, #249 ; 0xf9 + a41c: d82b bhi.n a476 if(prev_opa != opa || prev_bpp != bpp) { - a9c6: 4a7b ldr r2, [pc, #492] ; (abb4 ) - a9c8: f892 2100 ldrb.w r2, [r2, #256] ; 0x100 - a9cc: 428a cmp r2, r1 - a9ce: f000 80c8 beq.w ab62 + a41e: 4a7b ldr r2, [pc, #492] ; (a60c ) + a420: f892 2100 ldrb.w r2, [r2, #256] ; 0x100 + a424: 428a cmp r2, r1 + a426: f000 80c8 beq.w a5ba for(i = 0; i < shades; i++) { - a9d2: b1d3 cbz r3, aa0a - a9d4: 9e22 ldr r6, [sp, #136] ; 0x88 - a9d6: 1e72 subs r2, r6, #1 - a9d8: 4976 ldr r1, [pc, #472] ; (abb4 ) - a9da: 3901 subs r1, #1 - a9dc: 3b01 subs r3, #1 - a9de: eb06 0c03 add.w ip, r6, r3 + a42a: b1d3 cbz r3, a462 + a42c: 9e22 ldr r6, [sp, #136] ; 0x88 + a42e: 1e72 subs r2, r6, #1 + a430: 4976 ldr r1, [pc, #472] ; (a60c ) + a432: 3901 subs r1, #1 + a434: 3b01 subs r3, #1 + a436: eb06 0c03 add.w ip, r6, r3 opa_table[i] = bpp_opa_table_p[i] == LV_OPA_COVER ? opa : ((bpp_opa_table_p[i] * opa) >> 8); - a9e2: 9b16 ldr r3, [sp, #88] ; 0x58 - a9e4: 461e mov r6, r3 - a9e6: f8cd b050 str.w fp, [sp, #80] ; 0x50 - a9ea: 469b mov fp, r3 - a9ec: f812 3f01 ldrb.w r3, [r2, #1]! - a9f0: 2bff cmp r3, #255 ; 0xff - a9f2: bf1a itte ne - a9f4: fb0b f303 mulne.w r3, fp, r3 - a9f8: f3c3 2307 ubfxne r3, r3, #8, #8 - a9fc: 4633 moveq r3, r6 - a9fe: f801 3f01 strb.w r3, [r1, #1]! + a43a: 9b16 ldr r3, [sp, #88] ; 0x58 + a43c: 461e mov r6, r3 + a43e: f8cd b050 str.w fp, [sp, #80] ; 0x50 + a442: 469b mov fp, r3 + a444: f812 3f01 ldrb.w r3, [r2, #1]! + a448: 2bff cmp r3, #255 ; 0xff + a44a: bf1a itte ne + a44c: fb0b f303 mulne.w r3, fp, r3 + a450: f3c3 2307 ubfxne r3, r3, #8, #8 + a454: 4633 moveq r3, r6 + a456: f801 3f01 strb.w r3, [r1, #1]! for(i = 0; i < shades; i++) { - aa02: 4594 cmp ip, r2 - aa04: d1f2 bne.n a9ec - aa06: f8dd b050 ldr.w fp, [sp, #80] ; 0x50 + a45a: 4594 cmp ip, r2 + a45c: d1f2 bne.n a444 + a45e: f8dd b050 ldr.w fp, [sp, #80] ; 0x50 prev_opa = opa; - aa0a: 4b6a ldr r3, [pc, #424] ; (abb4 ) - aa0c: f89d 2058 ldrb.w r2, [sp, #88] ; 0x58 - aa10: f883 2100 strb.w r2, [r3, #256] ; 0x100 + a462: 4b6a ldr r3, [pc, #424] ; (a60c ) + a464: f89d 2058 ldrb.w r2, [sp, #88] ; 0x58 + a468: f883 2100 strb.w r2, [r3, #256] ; 0x100 prev_bpp = bpp; - aa14: 9a20 ldr r2, [sp, #128] ; 0x80 - aa16: f8c3 2104 str.w r2, [r3, #260] ; 0x104 + a46c: 9a20 ldr r2, [sp, #128] ; 0x80 + a46e: f8c3 2104 str.w r2, [r3, #260] ; 0x104 bpp_opa_table_p = opa_table; - aa1a: 9b1c ldr r3, [sp, #112] ; 0x70 - aa1c: 9322 str r3, [sp, #136] ; 0x88 + a472: 9b1c ldr r3, [sp, #112] ; 0x70 + a474: 9322 str r3, [sp, #136] ; 0x88 int32_t box_w = g->box_w; - aa1e: f8bd 30ea ldrh.w r3, [sp, #234] ; 0xea - aa22: 9324 str r3, [sp, #144] ; 0x90 + a476: f8bd 30ea ldrh.w r3, [sp, #234] ; 0xea + a47a: 9324 str r3, [sp, #144] ; 0x90 int32_t box_h = g->box_h; - aa24: f8bd 20ec ldrh.w r2, [sp, #236] ; 0xec + a47c: f8bd 20ec ldrh.w r2, [sp, #236] ; 0xec int32_t width_bit = box_w * bpp; /*Letter width in bits*/ - aa28: 9920 ldr r1, [sp, #128] ; 0x80 - aa2a: fb01 fc03 mul.w ip, r1, r3 + a480: 9920 ldr r1, [sp, #128] ; 0x80 + a482: fb01 fc03 mul.w ip, r1, r3 int32_t col_start = pos_x >= clip_area->x1 ? 0 : clip_area->x1 - pos_x; - aa2e: 9b0d ldr r3, [sp, #52] ; 0x34 - aa30: f9b3 3000 ldrsh.w r3, [r3] - aa34: 429c cmp r4, r3 - aa36: bfb4 ite lt - aa38: 1b1b sublt r3, r3, r4 - aa3a: 2300 movge r3, #0 - aa3c: 9314 str r3, [sp, #80] ; 0x50 + a486: 9b0d ldr r3, [sp, #52] ; 0x34 + a488: f9b3 3000 ldrsh.w r3, [r3] + a48c: 429c cmp r4, r3 + a48e: bfb4 ite lt + a490: 1b1b sublt r3, r3, r4 + a492: 2300 movge r3, #0 + a494: 9314 str r3, [sp, #80] ; 0x50 int32_t col_end = pos_x + box_w <= clip_area->x2 ? box_w : clip_area->x2 - pos_x + 1; - aa3e: 9b0d ldr r3, [sp, #52] ; 0x34 - aa40: f9b3 3004 ldrsh.w r3, [r3, #4] - aa44: 9924 ldr r1, [sp, #144] ; 0x90 - aa46: 4421 add r1, r4 - aa48: 4299 cmp r1, r3 - aa4a: bfc6 itte gt - aa4c: 1b1b subgt r3, r3, r4 - aa4e: 3301 addgt r3, #1 - aa50: 9b24 ldrle r3, [sp, #144] ; 0x90 - aa52: 9325 str r3, [sp, #148] ; 0x94 + a496: 9b0d ldr r3, [sp, #52] ; 0x34 + a498: f9b3 3004 ldrsh.w r3, [r3, #4] + a49c: 9924 ldr r1, [sp, #144] ; 0x90 + a49e: 4421 add r1, r4 + a4a0: 4299 cmp r1, r3 + a4a2: bfc6 itte gt + a4a4: 1b1b subgt r3, r3, r4 + a4a6: 3301 addgt r3, #1 + a4a8: 9b24 ldrle r3, [sp, #144] ; 0x90 + a4aa: 9325 str r3, [sp, #148] ; 0x94 int32_t row_start = pos_y >= clip_area->y1 ? 0 : clip_area->y1 - pos_y; - aa54: 9b0d ldr r3, [sp, #52] ; 0x34 - aa56: f9b3 3002 ldrsh.w r3, [r3, #2] - aa5a: 4298 cmp r0, r3 - aa5c: bfb4 ite lt - aa5e: 1a1b sublt r3, r3, r0 - aa60: 2300 movge r3, #0 - aa62: 9326 str r3, [sp, #152] ; 0x98 + a4ac: 9b0d ldr r3, [sp, #52] ; 0x34 + a4ae: f9b3 3002 ldrsh.w r3, [r3, #2] + a4b2: 4298 cmp r0, r3 + a4b4: bfb4 ite lt + a4b6: 1a1b sublt r3, r3, r0 + a4b8: 2300 movge r3, #0 + a4ba: 9326 str r3, [sp, #152] ; 0x98 int32_t row_end = pos_y + box_h <= clip_area->y2 ? box_h : clip_area->y2 - pos_y + 1; - aa64: 9b0d ldr r3, [sp, #52] ; 0x34 - aa66: f9b3 3006 ldrsh.w r3, [r3, #6] - aa6a: 1811 adds r1, r2, r0 - aa6c: 4299 cmp r1, r3 - aa6e: bfc3 ittte gt - aa70: 1a1b subgt r3, r3, r0 - aa72: 3301 addgt r3, #1 - aa74: 931b strgt r3, [sp, #108] ; 0x6c - aa76: 921b strle r2, [sp, #108] ; 0x6c + a4bc: 9b0d ldr r3, [sp, #52] ; 0x34 + a4be: f9b3 3006 ldrsh.w r3, [r3, #6] + a4c2: 1811 adds r1, r2, r0 + a4c4: 4299 cmp r1, r3 + a4c6: bfc3 ittte gt + a4c8: 1a1b subgt r3, r3, r0 + a4ca: 3301 addgt r3, #1 + a4cc: 931b strgt r3, [sp, #108] ; 0x6c + a4ce: 921b strle r2, [sp, #108] ; 0x6c uint32_t bit_ofs = (row_start * width_bit) + (col_start * bpp); - aa78: 9b14 ldr r3, [sp, #80] ; 0x50 - aa7a: 9321 str r3, [sp, #132] ; 0x84 - aa7c: 9920 ldr r1, [sp, #128] ; 0x80 - aa7e: fb03 f401 mul.w r4, r3, r1 - aa82: 9826 ldr r0, [sp, #152] ; 0x98 - aa84: fb00 440c mla r4, r0, ip, r4 + a4d0: 9b14 ldr r3, [sp, #80] ; 0x50 + a4d2: 9321 str r3, [sp, #132] ; 0x84 + a4d4: 9920 ldr r1, [sp, #128] ; 0x80 + a4d6: fb03 f401 mul.w r4, r3, r1 + a4da: 9826 ldr r0, [sp, #152] ; 0x98 + a4dc: fb00 440c mla r4, r0, ip, r4 map_p += bit_ofs >> 3; - aa88: eb0e 06d4 add.w r6, lr, r4, lsr #3 + a4e0: eb0e 06d4 add.w r6, lr, r4, lsr #3 col_bit = bit_ofs & 0x7; /* "& 0x7" equals to "% 8" just faster */ - aa8c: f004 0407 and.w r4, r4, #7 + a4e4: f004 0407 and.w r4, r4, #7 uint32_t mask_buf_size = box_w * box_h > LV_HOR_RES_MAX ? LV_HOR_RES_MAX : box_w * box_h; - aa90: 9924 ldr r1, [sp, #144] ; 0x90 - aa92: fb02 fe01 mul.w lr, r2, r1 - aa96: 4672 mov r2, lr - aa98: f5be 7ff0 cmp.w lr, #480 ; 0x1e0 - aa9c: bfa8 it ge - aa9e: f44f 72f0 movge.w r2, #480 ; 0x1e0 - aaa2: 921d str r2, [sp, #116] ; 0x74 + a4e8: 9924 ldr r1, [sp, #144] ; 0x90 + a4ea: fb02 fe01 mul.w lr, r2, r1 + a4ee: 4672 mov r2, lr + a4f0: f5be 7ff0 cmp.w lr, #480 ; 0x1e0 + a4f4: bfa8 it ge + a4f6: f44f 72f0 movge.w r2, #480 ; 0x1e0 + a4fa: 921d str r2, [sp, #116] ; 0x74 lv_opa_t * mask_buf = _lv_mem_buf_get(mask_buf_size); - aaa4: 4610 mov r0, r2 - aaa6: 4b44 ldr r3, [pc, #272] ; (abb8 ) - aaa8: 4798 blx r3 - aaaa: 9018 str r0, [sp, #96] ; 0x60 + a4fc: 4610 mov r0, r2 + a4fe: 4b44 ldr r3, [pc, #272] ; (a610 ) + a500: 4798 blx r3 + a502: 9018 str r0, [sp, #96] ; 0x60 fill_area.x1 = col_start + pos_x; - aaac: b2ad uxth r5, r5 - aaae: 9b14 ldr r3, [sp, #80] ; 0x50 - aab0: 18eb adds r3, r5, r3 - aab2: f8ad 30e0 strh.w r3, [sp, #224] ; 0xe0 + a504: b2ad uxth r5, r5 + a506: 9b14 ldr r3, [sp, #80] ; 0x50 + a508: 18eb adds r3, r5, r3 + a50a: f8ad 30e0 strh.w r3, [sp, #224] ; 0xe0 fill_area.x2 = col_end + pos_x - 1; - aab6: 3d01 subs r5, #1 - aab8: 9a25 ldr r2, [sp, #148] ; 0x94 - aaba: 18ab adds r3, r5, r2 - aabc: f8ad 30e4 strh.w r3, [sp, #228] ; 0xe4 + a50e: 3d01 subs r5, #1 + a510: 9a25 ldr r2, [sp, #148] ; 0x94 + a512: 18ab adds r3, r5, r2 + a514: f8ad 30e4 strh.w r3, [sp, #228] ; 0xe4 fill_area.y1 = row_start + pos_y; - aac0: 9d15 ldr r5, [sp, #84] ; 0x54 - aac2: 9826 ldr r0, [sp, #152] ; 0x98 - aac4: 4405 add r5, r0 - aac6: b22b sxth r3, r5 - aac8: f8ad 30e2 strh.w r3, [sp, #226] ; 0xe2 + a518: 9d15 ldr r5, [sp, #84] ; 0x54 + a51a: 9826 ldr r0, [sp, #152] ; 0x98 + a51c: 4405 add r5, r0 + a51e: b22b sxth r3, r5 + a520: f8ad 30e2 strh.w r3, [sp, #226] ; 0xe2 fill_area.y2 = fill_area.y1; - aacc: f8ad 30e6 strh.w r3, [sp, #230] ; 0xe6 + a524: f8ad 30e6 strh.w r3, [sp, #230] ; 0xe6 uint8_t other_mask_cnt = lv_draw_mask_get_cnt(); - aad0: 4b3a ldr r3, [pc, #232] ; (abbc ) - aad2: 4798 blx r3 - aad4: 901e str r0, [sp, #120] ; 0x78 + a528: 4b3a ldr r3, [pc, #232] ; (a614 ) + a52a: 4798 blx r3 + a52c: 901e str r0, [sp, #120] ; 0x78 uint32_t col_bit_max = 8 - bpp; - aad6: 9920 ldr r1, [sp, #128] ; 0x80 - aad8: f1c1 0508 rsb r5, r1, #8 + a52e: 9920 ldr r1, [sp, #128] ; 0x80 + a530: f1c1 0508 rsb r5, r1, #8 uint32_t col_bit_row_ofs = (box_w + col_start - col_end) * bpp; - aadc: 9a24 ldr r2, [sp, #144] ; 0x90 - aade: 9b14 ldr r3, [sp, #80] ; 0x50 - aae0: 18d3 adds r3, r2, r3 - aae2: 9a25 ldr r2, [sp, #148] ; 0x94 - aae4: 1a9b subs r3, r3, r2 - aae6: fb01 f303 mul.w r3, r1, r3 - aaea: 9320 str r3, [sp, #128] ; 0x80 + a534: 9a24 ldr r2, [sp, #144] ; 0x90 + a536: 9b14 ldr r3, [sp, #80] ; 0x50 + a538: 18d3 adds r3, r2, r3 + a53a: 9a25 ldr r2, [sp, #148] ; 0x94 + a53c: 1a9b subs r3, r3, r2 + a53e: fb01 f303 mul.w r3, r1, r3 + a542: 9320 str r3, [sp, #128] ; 0x80 for(row = row_start ; row < row_end; row++) { - aaec: 9826 ldr r0, [sp, #152] ; 0x98 - aaee: 9b1b ldr r3, [sp, #108] ; 0x6c - aaf0: 4298 cmp r0, r3 - aaf2: f280 80df bge.w acb4 - aaf6: f04f 0e00 mov.w lr, #0 + a544: 9826 ldr r0, [sp, #152] ; 0x98 + a546: 9b1b ldr r3, [sp, #108] ; 0x6c + a548: 4298 cmp r0, r3 + a54a: f280 80df bge.w a70c + a54e: f04f 0e00 mov.w lr, #0 mask_buf[mask_p] = 0; - aafa: f8cd b090 str.w fp, [sp, #144] ; 0x90 - aafe: f8cd 9098 str.w r9, [sp, #152] ; 0x98 - ab02: 9727 str r7, [sp, #156] ; 0x9c - ab04: 460f mov r7, r1 - ab06: 9515 str r5, [sp, #84] ; 0x54 - ab08: f8cd a0a0 str.w sl, [sp, #160] ; 0xa0 - ab0c: f8dd a094 ldr.w sl, [sp, #148] ; 0x94 - ab10: 4681 mov r9, r0 - ab12: f8cd 8094 str.w r8, [sp, #148] ; 0x94 - ab16: f8dd 8088 ldr.w r8, [sp, #136] ; 0x88 - ab1a: e07a b.n ac12 + a552: f8cd b090 str.w fp, [sp, #144] ; 0x90 + a556: f8cd 9098 str.w r9, [sp, #152] ; 0x98 + a55a: 9727 str r7, [sp, #156] ; 0x9c + a55c: 460f mov r7, r1 + a55e: 9515 str r5, [sp, #84] ; 0x54 + a560: f8cd a0a0 str.w sl, [sp, #160] ; 0xa0 + a564: f8dd a094 ldr.w sl, [sp, #148] ; 0x94 + a568: 4681 mov r9, r0 + a56a: f8cd 8094 str.w r8, [sp, #148] ; 0x94 + a56e: f8dd 8088 ldr.w r8, [sp, #136] ; 0x88 + a572: e07a b.n a66a if(bpp == 3) bpp = 4; - ab1c: 2304 movs r3, #4 - ab1e: 9320 str r3, [sp, #128] ; 0x80 + a574: 2304 movs r3, #4 + a576: 9320 str r3, [sp, #128] ; 0x80 shades = 16; - ab20: 2310 movs r3, #16 + a578: 2310 movs r3, #16 bitmask_init = 0xF0; - ab22: 22f0 movs r2, #240 ; 0xf0 - ab24: 9212 str r2, [sp, #72] ; 0x48 + a57a: 22f0 movs r2, #240 ; 0xf0 + a57c: 9212 str r2, [sp, #72] ; 0x48 bpp_opa_table_p = _lv_bpp4_opa_table; - ab26: 4a26 ldr r2, [pc, #152] ; (abc0 ) - ab28: 9222 str r2, [sp, #136] ; 0x88 - ab2a: e749 b.n a9c0 + a57e: 4a26 ldr r2, [pc, #152] ; (a618 ) + a580: 9222 str r2, [sp, #136] ; 0x88 + a582: e749 b.n a418 LV_LOG_WARN("lv_draw_letter: invalid bpp"); - ab2c: 4b25 ldr r3, [pc, #148] ; (abc4 ) - ab2e: 9300 str r3, [sp, #0] - ab30: 4b25 ldr r3, [pc, #148] ; (abc8 ) - ab32: f240 12e5 movw r2, #485 ; 0x1e5 - ab36: 4925 ldr r1, [pc, #148] ; (abcc ) - ab38: 2002 movs r0, #2 - ab3a: 4c25 ldr r4, [pc, #148] ; (abd0 ) - ab3c: 47a0 blx r4 - ab3e: e41d b.n a37c + a584: 4b25 ldr r3, [pc, #148] ; (a61c ) + a586: 9300 str r3, [sp, #0] + a588: 4b25 ldr r3, [pc, #148] ; (a620 ) + a58a: f240 12e5 movw r2, #485 ; 0x1e5 + a58e: 4925 ldr r1, [pc, #148] ; (a624 ) + a590: 2002 movs r0, #2 + a592: 4c25 ldr r4, [pc, #148] ; (a628 ) + a594: 47a0 blx r4 + a596: e41d b.n 9dd4 uint32_t bpp = g->bpp; - ab40: 2301 movs r3, #1 - ab42: 9320 str r3, [sp, #128] ; 0x80 + a598: 2301 movs r3, #1 + a59a: 9320 str r3, [sp, #128] ; 0x80 shades = 2; - ab44: 2302 movs r3, #2 + a59c: 2302 movs r3, #2 bitmask_init = 0x80; - ab46: 2280 movs r2, #128 ; 0x80 - ab48: 9212 str r2, [sp, #72] ; 0x48 + a59e: 2280 movs r2, #128 ; 0x80 + a5a0: 9212 str r2, [sp, #72] ; 0x48 bpp_opa_table_p = _lv_bpp1_opa_table; - ab4a: 4a22 ldr r2, [pc, #136] ; (abd4 ) - ab4c: 9222 str r2, [sp, #136] ; 0x88 - ab4e: e737 b.n a9c0 + a5a2: 4a22 ldr r2, [pc, #136] ; (a62c ) + a5a4: 9222 str r2, [sp, #136] ; 0x88 + a5a6: e737 b.n a418 uint32_t bpp = g->bpp; - ab50: 2308 movs r3, #8 - ab52: 9320 str r3, [sp, #128] ; 0x80 + a5a8: 2308 movs r3, #8 + a5aa: 9320 str r3, [sp, #128] ; 0x80 shades = 256; - ab54: f44f 7380 mov.w r3, #256 ; 0x100 + a5ac: f44f 7380 mov.w r3, #256 ; 0x100 bitmask_init = 0xFF; - ab58: 22ff movs r2, #255 ; 0xff - ab5a: 9212 str r2, [sp, #72] ; 0x48 + a5b0: 22ff movs r2, #255 ; 0xff + a5b2: 9212 str r2, [sp, #72] ; 0x48 bpp_opa_table_p = _lv_bpp8_opa_table; - ab5c: 4a1e ldr r2, [pc, #120] ; (abd8 ) - ab5e: 9222 str r2, [sp, #136] ; 0x88 - ab60: e72e b.n a9c0 + a5b4: 4a1e ldr r2, [pc, #120] ; (a630 ) + a5b6: 9222 str r2, [sp, #136] ; 0x88 + a5b8: e72e b.n a418 if(prev_opa != opa || prev_bpp != bpp) { - ab62: 4a14 ldr r2, [pc, #80] ; (abb4 ) - ab64: f8d2 2104 ldr.w r2, [r2, #260] ; 0x104 - ab68: 9920 ldr r1, [sp, #128] ; 0x80 - ab6a: 4291 cmp r1, r2 - ab6c: f47f af31 bne.w a9d2 - ab70: e74b b.n aa0a + a5ba: 4a14 ldr r2, [pc, #80] ; (a60c ) + a5bc: f8d2 2104 ldr.w r2, [r2, #260] ; 0x104 + a5c0: 9920 ldr r1, [sp, #128] ; 0x80 + a5c2: 4291 cmp r1, r2 + a5c4: f47f af31 bne.w a42a + a5c8: e74b b.n a462 map_p++; - ab72: 3601 adds r6, #1 + a5ca: 3601 adds r6, #1 bitmask = bitmask_init; - ab74: 9812 ldr r0, [sp, #72] ; 0x48 + a5cc: 9812 ldr r0, [sp, #72] ; 0x48 col_bit = 0; - ab76: 2400 movs r4, #0 - ab78: 3101 adds r1, #1 + a5ce: 2400 movs r4, #0 + a5d0: 3101 adds r1, #1 for(col = col_start; col < col_end; col++) { - ab7a: 458c cmp ip, r1 - ab7c: d02e beq.n abdc + a5d2: 458c cmp ip, r1 + a5d4: d02e beq.n a634 letter_px = (*map_p & bitmask) >> (col_bit_max - col_bit); - ab7e: 7833 ldrb r3, [r6, #0] - ab80: 4003 ands r3, r0 - ab82: 1b2a subs r2, r5, r4 - ab84: 40d3 lsrs r3, r2 + a5d6: 7833 ldrb r3, [r6, #0] + a5d8: 4003 ands r3, r0 + a5da: 1b2a subs r2, r5, r4 + a5dc: 40d3 lsrs r3, r2 if(letter_px) { - ab86: f013 0fff tst.w r3, #255 ; 0xff + a5de: f013 0fff tst.w r3, #255 ; 0xff mask_buf[mask_p] = bpp_opa_table_p[letter_px]; - ab8a: bf1a itte ne - ab8c: b2db uxtbne r3, r3 - ab8e: f818 3003 ldrbne.w r3, [r8, r3] + a5e2: bf1a itte ne + a5e4: b2db uxtbne r3, r3 + a5e6: f818 3003 ldrbne.w r3, [r8, r3] mask_buf[mask_p] = 0; - ab92: 2300 moveq r3, #0 - ab94: 700b strb r3, [r1, #0] + a5ea: 2300 moveq r3, #0 + a5ec: 700b strb r3, [r1, #0] if(col_bit < col_bit_max) { - ab96: 42a5 cmp r5, r4 - ab98: d9eb bls.n ab72 + a5ee: 42a5 cmp r5, r4 + a5f0: d9eb bls.n a5ca col_bit += bpp; - ab9a: 443c add r4, r7 + a5f2: 443c add r4, r7 bitmask = bitmask >> bpp; - ab9c: 40f8 lsrs r0, r7 - ab9e: e7eb b.n ab78 - aba0: 0000c3c5 .word 0x0000c3c5 - aba4: 000130df .word 0x000130df - aba8: 00008829 .word 0x00008829 - abac: 00012b19 .word 0x00012b19 - abb0: 0001c248 .word 0x0001c248 - abb4: 20002a50 .word 0x20002a50 - abb8: 00012ee5 .word 0x00012ee5 - abbc: 0000c46d .word 0x0000c46d - abc0: 0001c24c .word 0x0001c24c - abc4: 0001c46c .word 0x0001c46c - abc8: 0001c380 .word 0x0001c380 - abcc: 0001c39c .word 0x0001c39c - abd0: 00012805 .word 0x00012805 - abd4: 0001c244 .word 0x0001c244 - abd8: 0001c25c .word 0x0001c25c - abdc: 9515 str r5, [sp, #84] ; 0x54 + a5f4: 40f8 lsrs r0, r7 + a5f6: e7eb b.n a5d0 + a5f8: 0000be1d .word 0x0000be1d + a5fc: 00012b37 .word 0x00012b37 + a600: 00008281 .word 0x00008281 + a604: 00012571 .word 0x00012571 + a608: 00024d64 .word 0x00024d64 + a60c: 20002a50 .word 0x20002a50 + a610: 0001293d .word 0x0001293d + a614: 0000bec5 .word 0x0000bec5 + a618: 00024d68 .word 0x00024d68 + a61c: 00024f88 .word 0x00024f88 + a620: 00024e9c .word 0x00024e9c + a624: 00024eb8 .word 0x00024eb8 + a628: 0001225d .word 0x0001225d + a62c: 00024d60 .word 0x00024d60 + a630: 00024d78 .word 0x00024d78 + a634: 9515 str r5, [sp, #84] ; 0x54 if(other_mask_cnt) { - abde: 9b1e ldr r3, [sp, #120] ; 0x78 - abe0: bb53 cbnz r3, ac38 + a636: 9b1e ldr r3, [sp, #120] ; 0x78 + a638: bb53 cbnz r3, a690 if((uint32_t) mask_p + (col_end - col_start) < mask_buf_size) { - abe2: 9b14 ldr r3, [sp, #80] ; 0x50 - abe4: ebaa 0303 sub.w r3, sl, r3 - abe8: 445b add r3, fp - abea: 9a1d ldr r2, [sp, #116] ; 0x74 - abec: 429a cmp r2, r3 - abee: d93f bls.n ac70 + a63a: 9b14 ldr r3, [sp, #80] ; 0x50 + a63c: ebaa 0303 sub.w r3, sl, r3 + a640: 445b add r3, fp + a642: 9a1d ldr r2, [sp, #116] ; 0x74 + a644: 429a cmp r2, r3 + a646: d93f bls.n a6c8 fill_area.y2 ++; - abf0: f8bd 30e6 ldrh.w r3, [sp, #230] ; 0xe6 - abf4: 3301 adds r3, #1 - abf6: f8ad 30e6 strh.w r3, [sp, #230] ; 0xe6 - abfa: 46de mov lr, fp + a648: f8bd 30e6 ldrh.w r3, [sp, #230] ; 0xe6 + a64c: 3301 adds r3, #1 + a64e: f8ad 30e6 strh.w r3, [sp, #230] ; 0xe6 + a652: 46de mov lr, fp col_bit += col_bit_row_ofs; - abfc: 9b20 ldr r3, [sp, #128] ; 0x80 - abfe: 441c add r4, r3 + a654: 9b20 ldr r3, [sp, #128] ; 0x80 + a656: 441c add r4, r3 map_p += (col_bit >> 3); - ac00: eb06 06d4 add.w r6, r6, r4, lsr #3 + a658: eb06 06d4 add.w r6, r6, r4, lsr #3 col_bit = col_bit & 0x7; - ac04: f004 0407 and.w r4, r4, #7 + a65c: f004 0407 and.w r4, r4, #7 for(row = row_start ; row < row_end; row++) { - ac08: f109 0901 add.w r9, r9, #1 - ac0c: 9b1b ldr r3, [sp, #108] ; 0x6c - ac0e: 4599 cmp r9, r3 - ac10: da47 bge.n aca2 + a660: f109 0901 add.w r9, r9, #1 + a664: 9b1b ldr r3, [sp, #108] ; 0x6c + a666: 4599 cmp r9, r3 + a668: da47 bge.n a6fa bitmask = bitmask_init >> col_bit; - ac12: 9b12 ldr r3, [sp, #72] ; 0x48 - ac14: fa23 f004 lsr.w r0, r3, r4 + a66a: 9b12 ldr r3, [sp, #72] ; 0x48 + a66c: fa23 f004 lsr.w r0, r3, r4 for(col = col_start; col < col_end; col++) { - ac18: 9b14 ldr r3, [sp, #80] ; 0x50 - ac1a: 4553 cmp r3, sl - ac1c: da0a bge.n ac34 - ac1e: 9a18 ldr r2, [sp, #96] ; 0x60 - ac20: eb02 010e add.w r1, r2, lr - ac24: 9b21 ldr r3, [sp, #132] ; 0x84 - ac26: ebaa 0b03 sub.w fp, sl, r3 - ac2a: 44f3 add fp, lr - ac2c: eb02 0c0b add.w ip, r2, fp - ac30: 9d15 ldr r5, [sp, #84] ; 0x54 - ac32: e7a4 b.n ab7e - ac34: 46f3 mov fp, lr - ac36: e7d2 b.n abde + a670: 9b14 ldr r3, [sp, #80] ; 0x50 + a672: 4553 cmp r3, sl + a674: da0a bge.n a68c + a676: 9a18 ldr r2, [sp, #96] ; 0x60 + a678: eb02 010e add.w r1, r2, lr + a67c: 9b21 ldr r3, [sp, #132] ; 0x84 + a67e: ebaa 0b03 sub.w fp, sl, r3 + a682: 44f3 add fp, lr + a684: eb02 0c0b add.w ip, r2, fp + a688: 9d15 ldr r5, [sp, #84] ; 0x54 + a68a: e7a4 b.n a5d6 + a68c: 46f3 mov fp, lr + a68e: e7d2 b.n a636 lv_draw_mask_res_t mask_res = lv_draw_mask_apply(mask_buf + mask_p_start, fill_area.x1, fill_area.y2, - ac38: 9b18 ldr r3, [sp, #96] ; 0x60 - ac3a: 4473 add r3, lr - ac3c: 4618 mov r0, r3 - ac3e: 9322 str r3, [sp, #136] ; 0x88 - ac40: f9bd 10e0 ldrsh.w r1, [sp, #224] ; 0xe0 - ac44: f8bd 30e4 ldrh.w r3, [sp, #228] ; 0xe4 - ac48: 3301 adds r3, #1 - ac4a: 1a5b subs r3, r3, r1 - ac4c: b21b sxth r3, r3 - ac4e: f9bd 20e6 ldrsh.w r2, [sp, #230] ; 0xe6 - ac52: 4d85 ldr r5, [pc, #532] ; (ae68 ) - ac54: 47a8 blx r5 + a690: 9b18 ldr r3, [sp, #96] ; 0x60 + a692: 4473 add r3, lr + a694: 4618 mov r0, r3 + a696: 9322 str r3, [sp, #136] ; 0x88 + a698: f9bd 10e0 ldrsh.w r1, [sp, #224] ; 0xe0 + a69c: f8bd 30e4 ldrh.w r3, [sp, #228] ; 0xe4 + a6a0: 3301 adds r3, #1 + a6a2: 1a5b subs r3, r3, r1 + a6a4: b21b sxth r3, r3 + a6a6: f9bd 20e6 ldrsh.w r2, [sp, #230] ; 0xe6 + a6aa: 4d85 ldr r5, [pc, #532] ; (a8c0 ) + a6ac: 47a8 blx r5 if(mask_res == LV_DRAW_MASK_RES_TRANSP) { - ac56: 2800 cmp r0, #0 - ac58: d1c3 bne.n abe2 - ac5a: f8bd 10e4 ldrh.w r1, [sp, #228] ; 0xe4 - ac5e: 3101 adds r1, #1 - ac60: f8bd 30e0 ldrh.w r3, [sp, #224] ; 0xe0 - ac64: 1ac9 subs r1, r1, r3 + a6ae: 2800 cmp r0, #0 + a6b0: d1c3 bne.n a63a + a6b2: f8bd 10e4 ldrh.w r1, [sp, #228] ; 0xe4 + a6b6: 3101 adds r1, #1 + a6b8: f8bd 30e0 ldrh.w r3, [sp, #224] ; 0xe0 + a6bc: 1ac9 subs r1, r1, r3 _lv_memset_00(mask_buf + mask_p_start, lv_area_get_width(&fill_area)); - ac66: b209 sxth r1, r1 - ac68: 9822 ldr r0, [sp, #136] ; 0x88 - ac6a: 4b80 ldr r3, [pc, #512] ; (ae6c ) - ac6c: 4798 blx r3 - ac6e: e7b8 b.n abe2 + a6be: b209 sxth r1, r1 + a6c0: 9822 ldr r0, [sp, #136] ; 0x88 + a6c2: 4b80 ldr r3, [pc, #512] ; (a8c4 ) + a6c4: 4798 blx r3 + a6c6: e7b8 b.n a63a _lv_blend_fill(clip_area, &fill_area, - ac70: 9b0f ldr r3, [sp, #60] ; 0x3c - ac72: 9302 str r3, [sp, #8] - ac74: 23ff movs r3, #255 ; 0xff - ac76: 9301 str r3, [sp, #4] - ac78: 2302 movs r3, #2 - ac7a: 9300 str r3, [sp, #0] - ac7c: 9b18 ldr r3, [sp, #96] ; 0x60 - ac7e: f8bd 208c ldrh.w r2, [sp, #140] ; 0x8c - ac82: a938 add r1, sp, #224 ; 0xe0 - ac84: 980d ldr r0, [sp, #52] ; 0x34 - ac86: f8df b1e8 ldr.w fp, [pc, #488] ; ae70 - ac8a: 47d8 blx fp + a6c8: 9b0f ldr r3, [sp, #60] ; 0x3c + a6ca: 9302 str r3, [sp, #8] + a6cc: 23ff movs r3, #255 ; 0xff + a6ce: 9301 str r3, [sp, #4] + a6d0: 2302 movs r3, #2 + a6d2: 9300 str r3, [sp, #0] + a6d4: 9b18 ldr r3, [sp, #96] ; 0x60 + a6d6: f8bd 208c ldrh.w r2, [sp, #140] ; 0x8c + a6da: a938 add r1, sp, #224 ; 0xe0 + a6dc: 980d ldr r0, [sp, #52] ; 0x34 + a6de: f8df b1e8 ldr.w fp, [pc, #488] ; a8c8 + a6e2: 47d8 blx fp fill_area.y1 = fill_area.y2 + 1; - ac8c: f8bd 30e6 ldrh.w r3, [sp, #230] ; 0xe6 - ac90: 3301 adds r3, #1 - ac92: b21b sxth r3, r3 - ac94: f8ad 30e2 strh.w r3, [sp, #226] ; 0xe2 + a6e4: f8bd 30e6 ldrh.w r3, [sp, #230] ; 0xe6 + a6e8: 3301 adds r3, #1 + a6ea: b21b sxth r3, r3 + a6ec: f8ad 30e2 strh.w r3, [sp, #226] ; 0xe2 fill_area.y2 = fill_area.y1; - ac98: f8ad 30e6 strh.w r3, [sp, #230] ; 0xe6 + a6f0: f8ad 30e6 strh.w r3, [sp, #230] ; 0xe6 mask_p = 0; - ac9c: f04f 0e00 mov.w lr, #0 - aca0: e7ac b.n abfc - aca2: f8dd b090 ldr.w fp, [sp, #144] ; 0x90 - aca6: f8dd 9098 ldr.w r9, [sp, #152] ; 0x98 - acaa: 9f27 ldr r7, [sp, #156] ; 0x9c - acac: f8dd a0a0 ldr.w sl, [sp, #160] ; 0xa0 - acb0: f8dd 8094 ldr.w r8, [sp, #148] ; 0x94 + a6f4: f04f 0e00 mov.w lr, #0 + a6f8: e7ac b.n a654 + a6fa: f8dd b090 ldr.w fp, [sp, #144] ; 0x90 + a6fe: f8dd 9098 ldr.w r9, [sp, #152] ; 0x98 + a702: 9f27 ldr r7, [sp, #156] ; 0x9c + a704: f8dd a0a0 ldr.w sl, [sp, #160] ; 0xa0 + a708: f8dd 8094 ldr.w r8, [sp, #148] ; 0x94 if(fill_area.y1 != fill_area.y2) { - acb4: f9bd 30e6 ldrsh.w r3, [sp, #230] ; 0xe6 - acb8: f9bd 20e2 ldrsh.w r2, [sp, #226] ; 0xe2 - acbc: 429a cmp r2, r3 - acbe: d00f beq.n ace0 + a70c: f9bd 30e6 ldrsh.w r3, [sp, #230] ; 0xe6 + a710: f9bd 20e2 ldrsh.w r2, [sp, #226] ; 0xe2 + a714: 429a cmp r2, r3 + a716: d00f beq.n a738 fill_area.y2--; - acc0: 3b01 subs r3, #1 - acc2: f8ad 30e6 strh.w r3, [sp, #230] ; 0xe6 + a718: 3b01 subs r3, #1 + a71a: f8ad 30e6 strh.w r3, [sp, #230] ; 0xe6 _lv_blend_fill(clip_area, &fill_area, - acc6: 9b0f ldr r3, [sp, #60] ; 0x3c - acc8: 9302 str r3, [sp, #8] - acca: 23ff movs r3, #255 ; 0xff - accc: 9301 str r3, [sp, #4] - acce: 2302 movs r3, #2 - acd0: 9300 str r3, [sp, #0] - acd2: 9b18 ldr r3, [sp, #96] ; 0x60 - acd4: f8bd 208c ldrh.w r2, [sp, #140] ; 0x8c - acd8: a938 add r1, sp, #224 ; 0xe0 - acda: 980d ldr r0, [sp, #52] ; 0x34 - acdc: 4c64 ldr r4, [pc, #400] ; (ae70 ) - acde: 47a0 blx r4 + a71e: 9b0f ldr r3, [sp, #60] ; 0x3c + a720: 9302 str r3, [sp, #8] + a722: 23ff movs r3, #255 ; 0xff + a724: 9301 str r3, [sp, #4] + a726: 2302 movs r3, #2 + a728: 9300 str r3, [sp, #0] + a72a: 9b18 ldr r3, [sp, #96] ; 0x60 + a72c: f8bd 208c ldrh.w r2, [sp, #140] ; 0x8c + a730: a938 add r1, sp, #224 ; 0xe0 + a732: 980d ldr r0, [sp, #52] ; 0x34 + a734: 4c64 ldr r4, [pc, #400] ; (a8c8 ) + a736: 47a0 blx r4 _lv_mem_buf_release(mask_buf); - ace0: 9818 ldr r0, [sp, #96] ; 0x60 - ace2: 4b64 ldr r3, [pc, #400] ; (ae74 ) - ace4: 4798 blx r3 - ace6: f7ff bb49 b.w a37c + a738: 9818 ldr r0, [sp, #96] ; 0x60 + a73a: 4b64 ldr r3, [pc, #400] ; (a8cc ) + a73c: 4798 blx r3 + a73e: f7ff bb49 b.w 9dd4 cmd_state = CMD_STATE_WAIT; - acea: 2300 movs r3, #0 - acec: 9306 str r3, [sp, #24] - acee: f7ff bb4d b.w a38c - acf2: 4653 mov r3, sl - acf4: 46ca mov sl, r9 - acf6: 4699 mov r9, r3 + a742: 2300 movs r3, #0 + a744: 9306 str r3, [sp, #24] + a746: f7ff bb4d b.w 9de4 + a74a: 4653 mov r3, sl + a74c: 46ca mov sl, r9 + a74e: 4699 mov r9, r3 if(dsc->decor & LV_TEXT_DECOR_STRIKETHROUGH) { - acf8: f898 3018 ldrb.w r3, [r8, #24] - acfc: f013 0f02 tst.w r3, #2 - ad00: d146 bne.n ad90 + a750: f898 3018 ldrb.w r3, [r8, #24] + a754: f013 0f02 tst.w r3, #2 + a758: d146 bne.n a7e8 if(dsc->decor & LV_TEXT_DECOR_UNDERLINE) { - ad02: f898 3018 ldrb.w r3, [r8, #24] - ad06: f013 0f01 tst.w r3, #1 - ad0a: d162 bne.n add2 + a75a: f898 3018 ldrb.w r3, [r8, #24] + a75e: f013 0f01 tst.w r3, #1 + a762: d162 bne.n a82a line_end += _lv_txt_get_next_line(&txt[line_start], font, dsc->letter_space, w, dsc->flag); - ad0c: 9a0a ldr r2, [sp, #40] ; 0x28 - ad0e: 9d07 ldr r5, [sp, #28] - ad10: 1956 adds r6, r2, r5 - ad12: f9b8 200c ldrsh.w r2, [r8, #12] - ad16: f898 3017 ldrb.w r3, [r8, #23] - ad1a: 9300 str r3, [sp, #0] - ad1c: 9b10 ldr r3, [sp, #64] ; 0x40 - ad1e: 9905 ldr r1, [sp, #20] - ad20: 4630 mov r0, r6 - ad22: 4c55 ldr r4, [pc, #340] ; (ae78 ) - ad24: 47a0 blx r4 - ad26: 1944 adds r4, r0, r5 + a764: 9a0a ldr r2, [sp, #40] ; 0x28 + a766: 9d07 ldr r5, [sp, #28] + a768: 1956 adds r6, r2, r5 + a76a: f9b8 200c ldrsh.w r2, [r8, #12] + a76e: f898 3017 ldrb.w r3, [r8, #23] + a772: 9300 str r3, [sp, #0] + a774: 9b10 ldr r3, [sp, #64] ; 0x40 + a776: 9905 ldr r1, [sp, #20] + a778: 4630 mov r0, r6 + a77a: 4c55 ldr r4, [pc, #340] ; (a8d0 ) + a77c: 47a0 blx r4 + a77e: 1944 adds r4, r0, r5 pos.x = coords->x1; - ad28: 9b13 ldr r3, [sp, #76] ; 0x4c - ad2a: f9b3 5000 ldrsh.w r5, [r3] + a780: 9b13 ldr r3, [sp, #76] ; 0x4c + a782: f9b3 5000 ldrsh.w r5, [r3] if(dsc->flag & LV_TXT_FLAG_CENTER) { - ad2e: f898 2017 ldrb.w r2, [r8, #23] - ad32: f012 0f04 tst.w r2, #4 - ad36: d16c bne.n ae12 + a786: f898 2017 ldrb.w r2, [r8, #23] + a78a: f012 0f04 tst.w r2, #4 + a78e: d16c bne.n a86a else if(dsc->flag & LV_TXT_FLAG_RIGHT) { - ad38: f012 0f08 tst.w r2, #8 - ad3c: d17e bne.n ae3c - ad3e: 9b0e ldr r3, [sp, #56] ; 0x38 - ad40: 9917 ldr r1, [sp, #92] ; 0x5c - ad42: 440b add r3, r1 - ad44: b21b sxth r3, r3 - ad46: 9a11 ldr r2, [sp, #68] ; 0x44 - ad48: 440a add r2, r1 - ad4a: b292 uxth r2, r2 - ad4c: 9211 str r2, [sp, #68] ; 0x44 + a790: f012 0f08 tst.w r2, #8 + a794: d17e bne.n a894 + a796: 9b0e ldr r3, [sp, #56] ; 0x38 + a798: 9917 ldr r1, [sp, #92] ; 0x5c + a79a: 440b add r3, r1 + a79c: b21b sxth r3, r3 + a79e: 9a11 ldr r2, [sp, #68] ; 0x44 + a7a0: 440a add r2, r1 + a7a2: b292 uxth r2, r2 + a7a4: 9211 str r2, [sp, #68] ; 0x44 line_start = line_end; - ad4e: f8dd b01c ldr.w fp, [sp, #28] + a7a6: f8dd b01c ldr.w fp, [sp, #28] pos.y += line_height; - ad52: 930e str r3, [sp, #56] ; 0x38 + a7aa: 930e str r3, [sp, #56] ; 0x38 if(pos.y > mask->y2) return; - ad54: 9a0d ldr r2, [sp, #52] ; 0x34 - ad56: f9b2 2006 ldrsh.w r2, [r2, #6] - ad5a: 429a cmp r2, r3 - ad5c: f6ff a93f blt.w 9fde + a7ac: 9a0d ldr r2, [sp, #52] ; 0x34 + a7ae: f9b2 2006 ldrsh.w r2, [r2, #6] + a7b2: 429a cmp r2, r3 + a7b4: f6ff a93f blt.w 9a36 line_end += _lv_txt_get_next_line(&txt[line_start], font, dsc->letter_space, w, dsc->flag); - ad60: 9407 str r4, [sp, #28] + a7b8: 9407 str r4, [sp, #28] while(txt[line_start] != '\0') { - ad62: 9a0a ldr r2, [sp, #40] ; 0x28 - ad64: 4613 mov r3, r2 - ad66: 445b add r3, fp - ad68: 9309 str r3, [sp, #36] ; 0x24 - ad6a: f812 300b ldrb.w r3, [r2, fp] - ad6e: 2b00 cmp r3, #0 - ad70: f43f a935 beq.w 9fde + a7ba: 9a0a ldr r2, [sp, #40] ; 0x28 + a7bc: 4613 mov r3, r2 + a7be: 445b add r3, fp + a7c0: 9309 str r3, [sp, #36] ; 0x24 + a7c2: f812 300b ldrb.w r3, [r2, fp] + a7c6: 2b00 cmp r3, #0 + a7c8: f43f a935 beq.w 9a36 pos.x += x_ofs; - ad74: 9b1a ldr r3, [sp, #104] ; 0x68 - ad76: 441d add r5, r3 - ad78: fa0f f985 sxth.w r9, r5 + a7cc: 9b1a ldr r3, [sp, #104] ; 0x68 + a7ce: 441d add r5, r3 + a7d0: fa0f f985 sxth.w r9, r5 i = 0; - ad7c: 2300 movs r3, #0 - ad7e: 9352 str r3, [sp, #328] ; 0x148 + a7d4: 2300 movs r3, #0 + a7d6: 9352 str r3, [sp, #328] ; 0x148 cmd_state = CMD_STATE_WAIT; - ad80: 9306 str r3, [sp, #24] + a7d8: 9306 str r3, [sp, #24] bpp_opa_table_p = opa_table; - ad82: 4b3e ldr r3, [pc, #248] ; (ae7c ) - ad84: 931c str r3, [sp, #112] ; 0x70 - ad86: 464b mov r3, r9 - ad88: 46d1 mov r9, sl - ad8a: 469a mov sl, r3 + a7da: 4b3e ldr r3, [pc, #248] ; (a8d4 ) + a7dc: 931c str r3, [sp, #112] ; 0x70 + a7de: 464b mov r3, r9 + a7e0: 46d1 mov r9, sl + a7e2: 469a mov sl, r3 while(i < line_end - line_start) { - ad8c: f7ff bafe b.w a38c + a7e4: f7ff bafe b.w 9de4 p1.x = pos_x_start; - ad90: f8bd 307c ldrh.w r3, [sp, #124] ; 0x7c - ad94: f8ad 30e0 strh.w r3, [sp, #224] ; 0xe0 + a7e8: f8bd 307c ldrh.w r3, [sp, #124] ; 0x7c + a7ec: f8ad 30e0 strh.w r3, [sp, #224] ; 0xe0 p1.y = pos.y + (dsc->font->line_height / 2) + line_dsc.width / 2; - ad98: f8d8 3004 ldr.w r3, [r8, #4] - ad9c: f9b3 3008 ldrsh.w r3, [r3, #8] - ada0: eb03 72d3 add.w r2, r3, r3, lsr #31 - ada4: f9bd 314e ldrsh.w r3, [sp, #334] ; 0x14e - ada8: eb03 73d3 add.w r3, r3, r3, lsr #31 - adac: 105b asrs r3, r3, #1 - adae: eb03 0362 add.w r3, r3, r2, asr #1 - adb2: 9a11 ldr r2, [sp, #68] ; 0x44 - adb4: 4413 add r3, r2 - adb6: b21b sxth r3, r3 - adb8: f8ad 30e2 strh.w r3, [sp, #226] ; 0xe2 + a7f0: f8d8 3004 ldr.w r3, [r8, #4] + a7f4: f9b3 3008 ldrsh.w r3, [r3, #8] + a7f8: eb03 72d3 add.w r2, r3, r3, lsr #31 + a7fc: f9bd 314e ldrsh.w r3, [sp, #334] ; 0x14e + a800: eb03 73d3 add.w r3, r3, r3, lsr #31 + a804: 105b asrs r3, r3, #1 + a806: eb03 0362 add.w r3, r3, r2, asr #1 + a80a: 9a11 ldr r2, [sp, #68] ; 0x44 + a80c: 4413 add r3, r2 + a80e: b21b sxth r3, r3 + a810: f8ad 30e2 strh.w r3, [sp, #226] ; 0xe2 p2.x = pos.x; - adbc: f8ad 90e8 strh.w r9, [sp, #232] ; 0xe8 + a814: f8ad 90e8 strh.w r9, [sp, #232] ; 0xe8 p2.y = p1.y; - adc0: f8ad 30ea strh.w r3, [sp, #234] ; 0xea + a818: f8ad 30ea strh.w r3, [sp, #234] ; 0xea lv_draw_line(&p1, &p2, mask, &line_dsc); - adc4: ab53 add r3, sp, #332 ; 0x14c - adc6: 9a0d ldr r2, [sp, #52] ; 0x34 - adc8: a93a add r1, sp, #232 ; 0xe8 - adca: a838 add r0, sp, #224 ; 0xe0 - adcc: 4c2c ldr r4, [pc, #176] ; (ae80 ) - adce: 47a0 blx r4 - add0: e797 b.n ad02 + a81c: ab53 add r3, sp, #332 ; 0x14c + a81e: 9a0d ldr r2, [sp, #52] ; 0x34 + a820: a93a add r1, sp, #232 ; 0xe8 + a822: a838 add r0, sp, #224 ; 0xe0 + a824: 4c2c ldr r4, [pc, #176] ; (a8d8 ) + a826: 47a0 blx r4 + a828: e797 b.n a75a p1.x = pos_x_start; - add2: f8bd 307c ldrh.w r3, [sp, #124] ; 0x7c - add6: f8ad 30e0 strh.w r3, [sp, #224] ; 0xe0 + a82a: f8bd 307c ldrh.w r3, [sp, #124] ; 0x7c + a82e: f8ad 30e0 strh.w r3, [sp, #224] ; 0xe0 p1.y = pos.y + dsc->font->line_height - dsc->font->base_line + line_dsc.width / 2 + 1; - adda: f8d8 2004 ldr.w r2, [r8, #4] - adde: f9bd 314e ldrsh.w r3, [sp, #334] ; 0x14e - ade2: eb03 73d3 add.w r3, r3, r3, lsr #31 - ade6: 105b asrs r3, r3, #1 - ade8: 3301 adds r3, #1 - adea: 8911 ldrh r1, [r2, #8] - adec: 440b add r3, r1 - adee: 8952 ldrh r2, [r2, #10] - adf0: 1a9b subs r3, r3, r2 - adf2: 9a11 ldr r2, [sp, #68] ; 0x44 - adf4: 4413 add r3, r2 - adf6: b21b sxth r3, r3 - adf8: f8ad 30e2 strh.w r3, [sp, #226] ; 0xe2 + a832: f8d8 2004 ldr.w r2, [r8, #4] + a836: f9bd 314e ldrsh.w r3, [sp, #334] ; 0x14e + a83a: eb03 73d3 add.w r3, r3, r3, lsr #31 + a83e: 105b asrs r3, r3, #1 + a840: 3301 adds r3, #1 + a842: 8911 ldrh r1, [r2, #8] + a844: 440b add r3, r1 + a846: 8952 ldrh r2, [r2, #10] + a848: 1a9b subs r3, r3, r2 + a84a: 9a11 ldr r2, [sp, #68] ; 0x44 + a84c: 4413 add r3, r2 + a84e: b21b sxth r3, r3 + a850: f8ad 30e2 strh.w r3, [sp, #226] ; 0xe2 p2.x = pos.x; - adfc: f8ad 90e8 strh.w r9, [sp, #232] ; 0xe8 + a854: f8ad 90e8 strh.w r9, [sp, #232] ; 0xe8 p2.y = p1.y; - ae00: f8ad 30ea strh.w r3, [sp, #234] ; 0xea + a858: f8ad 30ea strh.w r3, [sp, #234] ; 0xea lv_draw_line(&p1, &p2, mask, &line_dsc); - ae04: ab53 add r3, sp, #332 ; 0x14c - ae06: 9a0d ldr r2, [sp, #52] ; 0x34 - ae08: a93a add r1, sp, #232 ; 0xe8 - ae0a: a838 add r0, sp, #224 ; 0xe0 - ae0c: 4c1c ldr r4, [pc, #112] ; (ae80 ) - ae0e: 47a0 blx r4 - ae10: e77c b.n ad0c + a85c: ab53 add r3, sp, #332 ; 0x14c + a85e: 9a0d ldr r2, [sp, #52] ; 0x34 + a860: a93a add r1, sp, #232 ; 0xe8 + a862: a838 add r0, sp, #224 ; 0xe0 + a864: 4c1c ldr r4, [pc, #112] ; (a8d8 ) + a866: 47a0 blx r4 + a868: e77c b.n a764 _lv_txt_get_width(&txt[line_start], line_end - line_start, font, dsc->letter_space, dsc->flag); - ae12: f9b8 300c ldrsh.w r3, [r8, #12] - ae16: 9200 str r2, [sp, #0] - ae18: 9a05 ldr r2, [sp, #20] - ae1a: 4601 mov r1, r0 - ae1c: 4630 mov r0, r6 - ae1e: 4e19 ldr r6, [pc, #100] ; (ae84 ) - ae20: 47b0 blx r6 - ae22: 9a13 ldr r2, [sp, #76] ; 0x4c - ae24: 8893 ldrh r3, [r2, #4] - ae26: 3301 adds r3, #1 - ae28: 8812 ldrh r2, [r2, #0] - ae2a: 1a9b subs r3, r3, r2 + a86a: f9b8 300c ldrsh.w r3, [r8, #12] + a86e: 9200 str r2, [sp, #0] + a870: 9a05 ldr r2, [sp, #20] + a872: 4601 mov r1, r0 + a874: 4630 mov r0, r6 + a876: 4e19 ldr r6, [pc, #100] ; (a8dc ) + a878: 47b0 blx r6 + a87a: 9a13 ldr r2, [sp, #76] ; 0x4c + a87c: 8893 ldrh r3, [r2, #4] + a87e: 3301 adds r3, #1 + a880: 8812 ldrh r2, [r2, #0] + a882: 1a9b subs r3, r3, r2 pos.x += (lv_area_get_width(coords) - line_width) / 2; - ae2c: b21b sxth r3, r3 - ae2e: 1a18 subs r0, r3, r0 - ae30: eb00 70d0 add.w r0, r0, r0, lsr #31 - ae34: eb05 0560 add.w r5, r5, r0, asr #1 - ae38: b22d sxth r5, r5 - ae3a: e780 b.n ad3e + a884: b21b sxth r3, r3 + a886: 1a18 subs r0, r3, r0 + a888: eb00 70d0 add.w r0, r0, r0, lsr #31 + a88c: eb05 0560 add.w r5, r5, r0, asr #1 + a890: b22d sxth r5, r5 + a892: e780 b.n a796 _lv_txt_get_width(&txt[line_start], line_end - line_start, font, dsc->letter_space, dsc->flag); - ae3c: f9b8 300c ldrsh.w r3, [r8, #12] - ae40: 9200 str r2, [sp, #0] - ae42: 9a05 ldr r2, [sp, #20] - ae44: 4601 mov r1, r0 - ae46: 4630 mov r0, r6 - ae48: 4e0e ldr r6, [pc, #56] ; (ae84 ) - ae4a: 47b0 blx r6 - ae4c: 9a13 ldr r2, [sp, #76] ; 0x4c - ae4e: 8893 ldrh r3, [r2, #4] - ae50: 3301 adds r3, #1 - ae52: 8812 ldrh r2, [r2, #0] - ae54: 1a9b subs r3, r3, r2 + a894: f9b8 300c ldrsh.w r3, [r8, #12] + a898: 9200 str r2, [sp, #0] + a89a: 9a05 ldr r2, [sp, #20] + a89c: 4601 mov r1, r0 + a89e: 4630 mov r0, r6 + a8a0: 4e0e ldr r6, [pc, #56] ; (a8dc ) + a8a2: 47b0 blx r6 + a8a4: 9a13 ldr r2, [sp, #76] ; 0x4c + a8a6: 8893 ldrh r3, [r2, #4] + a8a8: 3301 adds r3, #1 + a8aa: 8812 ldrh r2, [r2, #0] + a8ac: 1a9b subs r3, r3, r2 pos.x += lv_area_get_width(coords) - line_width; - ae56: b21b sxth r3, r3 - ae58: 1a18 subs r0, r3, r0 - ae5a: 4405 add r5, r0 - ae5c: b22d sxth r5, r5 - ae5e: e76e b.n ad3e + a8ae: b21b sxth r3, r3 + a8b0: 1a18 subs r0, r3, r0 + a8b2: 4405 add r5, r0 + a8b4: b22d sxth r5, r5 + a8b6: e76e b.n a796 cmd_state = CMD_STATE_WAIT; - ae60: 2300 movs r3, #0 - ae62: 9306 str r3, [sp, #24] - ae64: f7ff ba0e b.w a284 - ae68: 0000c3c5 .word 0x0000c3c5 - ae6c: 000130df .word 0x000130df - ae70: 00007cf9 .word 0x00007cf9 - ae74: 00012b19 .word 0x00012b19 - ae78: 00014359 .word 0x00014359 - ae7c: 20002a50 .word 0x20002a50 - ae80: 0000aeb9 .word 0x0000aeb9 - ae84: 00014585 .word 0x00014585 - -0000ae88 : + a8b8: 2300 movs r3, #0 + a8ba: 9306 str r3, [sp, #24] + a8bc: f7ff ba0e b.w 9cdc + a8c0: 0000be1d .word 0x0000be1d + a8c4: 00012b37 .word 0x00012b37 + a8c8: 00007751 .word 0x00007751 + a8cc: 00012571 .word 0x00012571 + a8d0: 00013db1 .word 0x00013db1 + a8d4: 20002a50 .word 0x20002a50 + a8d8: 0000a911 .word 0x0000a911 + a8dc: 00013fdd .word 0x00013fdd + +0000a8e0 : /********************** * GLOBAL FUNCTIONS **********************/ LV_ATTRIBUTE_FAST_MEM void lv_draw_line_dsc_init(lv_draw_line_dsc_t * dsc) { - ae88: b510 push {r4, lr} - ae8a: 4604 mov r4, r0 + a8e0: b510 push {r4, lr} + a8e2: 4604 mov r4, r0 _lv_memset_00(dsc, sizeof(lv_draw_line_dsc_t)); - ae8c: 210a movs r1, #10 - ae8e: 4b09 ldr r3, [pc, #36] ; (aeb4 ) - ae90: 4798 blx r3 + a8e4: 210a movs r1, #10 + a8e6: 4b09 ldr r3, [pc, #36] ; (a90c ) + a8e8: 4798 blx r3 dsc->width = 1; - ae92: 2301 movs r3, #1 - ae94: 8063 strh r3, [r4, #2] + a8ea: 2301 movs r3, #1 + a8ec: 8063 strh r3, [r4, #2] dsc->opa = LV_OPA_COVER; - ae96: 23ff movs r3, #255 ; 0xff - ae98: 7223 strb r3, [r4, #8] + a8ee: 23ff movs r3, #255 ; 0xff + a8f0: 7223 strb r3, [r4, #8] dsc->color = LV_COLOR_BLACK; - ae9a: 7823 ldrb r3, [r4, #0] - ae9c: f36f 0304 bfc r3, #0, #5 - aea0: 7023 strb r3, [r4, #0] - aea2: 8823 ldrh r3, [r4, #0] - aea4: f36f 134a bfc r3, #5, #6 - aea8: 8023 strh r3, [r4, #0] - aeaa: 0a1b lsrs r3, r3, #8 - aeac: f36f 03c7 bfc r3, #3, #5 - aeb0: 7063 strb r3, [r4, #1] - aeb2: bd10 pop {r4, pc} - aeb4: 000130df .word 0x000130df - -0000aeb8 : + a8f2: 7823 ldrb r3, [r4, #0] + a8f4: f36f 0304 bfc r3, #0, #5 + a8f8: 7023 strb r3, [r4, #0] + a8fa: 8823 ldrh r3, [r4, #0] + a8fc: f36f 134a bfc r3, #5, #6 + a900: 8023 strh r3, [r4, #0] + a902: 0a1b lsrs r3, r3, #8 + a904: f36f 03c7 bfc r3, #3, #5 + a908: 7063 strb r3, [r4, #1] + a90a: bd10 pop {r4, pc} + a90c: 00012b37 .word 0x00012b37 + +0000a910 : * @param style pointer to a line's style * @param opa_scale scale down all opacities by the factor */ LV_ATTRIBUTE_FAST_MEM void lv_draw_line(const lv_point_t * point1, const lv_point_t * point2, const lv_area_t * clip, lv_draw_line_dsc_t * dsc) { - aeb8: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - aebc: b0cb sub sp, #300 ; 0x12c + a910: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + a914: b0cb sub sp, #300 ; 0x12c if(dsc->width == 0) return; - aebe: f9b3 5002 ldrsh.w r5, [r3, #2] - aec2: 2d00 cmp r5, #0 - aec4: f000 8418 beq.w b6f8 + a916: f9b3 5002 ldrsh.w r5, [r3, #2] + a91a: 2d00 cmp r5, #0 + a91c: f000 8418 beq.w b150 if(dsc->opa <= LV_OPA_MIN) return; - aec8: 7a1c ldrb r4, [r3, #8] - aeca: 2c05 cmp r4, #5 - aecc: f240 8414 bls.w b6f8 + a920: 7a1c ldrb r4, [r3, #8] + a922: 2c05 cmp r4, #5 + a924: f240 8414 bls.w b150 if(point1->x == point2->x && point1->y == point2->y) return; - aed0: f9b0 6000 ldrsh.w r6, [r0] - aed4: f9b1 7000 ldrsh.w r7, [r1] - aed8: 42be cmp r6, r7 - aeda: f000 8130 beq.w b13e - aede: 461c mov r4, r3 - aee0: 4696 mov lr, r2 - aee2: 9208 str r2, [sp, #32] - aee4: 9107 str r1, [sp, #28] - aee6: 9006 str r0, [sp, #24] + a928: f9b0 6000 ldrsh.w r6, [r0] + a92c: f9b1 7000 ldrsh.w r7, [r1] + a930: 42be cmp r6, r7 + a932: f000 8130 beq.w ab96 + a936: 461c mov r4, r3 + a938: 4696 mov lr, r2 + a93a: 9208 str r2, [sp, #32] + a93c: 9107 str r1, [sp, #28] + a93e: 9006 str r0, [sp, #24] lv_area_t clip_line; clip_line.x1 = LV_MATH_MIN(point1->x, point2->x) - dsc->width / 2; - aee8: eb05 75d5 add.w r5, r5, r5, lsr #31 - aeec: f3c5 054f ubfx r5, r5, #1, #16 - aef0: 42be cmp r6, r7 - aef2: bfd4 ite le - aef4: ebc5 0306 rsble r3, r5, r6 - aef8: ebc5 0307 rsbgt r3, r5, r7 - aefc: f8ad 3120 strh.w r3, [sp, #288] ; 0x120 + a940: eb05 75d5 add.w r5, r5, r5, lsr #31 + a944: f3c5 054f ubfx r5, r5, #1, #16 + a948: 42be cmp r6, r7 + a94a: bfd4 ite le + a94c: ebc5 0306 rsble r3, r5, r6 + a950: ebc5 0307 rsbgt r3, r5, r7 + a954: f8ad 3120 strh.w r3, [sp, #288] ; 0x120 clip_line.x2 = LV_MATH_MAX(point1->x, point2->x) + dsc->width / 2; - af00: 42be cmp r6, r7 - af02: bfac ite ge - af04: 19ab addge r3, r5, r6 - af06: 19eb addlt r3, r5, r7 - af08: f8ad 3124 strh.w r3, [sp, #292] ; 0x124 + a958: 42be cmp r6, r7 + a95a: bfac ite ge + a95c: 19ab addge r3, r5, r6 + a95e: 19eb addlt r3, r5, r7 + a960: f8ad 3124 strh.w r3, [sp, #292] ; 0x124 clip_line.y1 = LV_MATH_MIN(point1->y, point2->y) - dsc->width / 2; - af0c: 460f mov r7, r1 - af0e: f9b1 2002 ldrsh.w r2, [r1, #2] - af12: 4606 mov r6, r0 - af14: f9b0 3002 ldrsh.w r3, [r0, #2] - af18: 429a cmp r2, r3 - af1a: bfd4 ite le - af1c: ebc5 0102 rsble r1, r5, r2 - af20: ebc5 0103 rsbgt r1, r5, r3 - af24: f8ad 1122 strh.w r1, [sp, #290] ; 0x122 + a964: 460f mov r7, r1 + a966: f9b1 2002 ldrsh.w r2, [r1, #2] + a96a: 4606 mov r6, r0 + a96c: f9b0 3002 ldrsh.w r3, [r0, #2] + a970: 429a cmp r2, r3 + a972: bfd4 ite le + a974: ebc5 0102 rsble r1, r5, r2 + a978: ebc5 0103 rsbgt r1, r5, r3 + a97c: f8ad 1122 strh.w r1, [sp, #290] ; 0x122 clip_line.y2 = LV_MATH_MAX(point1->y, point2->y) + dsc->width / 2; - af28: 429a cmp r2, r3 - af2a: bfac ite ge - af2c: 18ad addge r5, r5, r2 - af2e: 18ed addlt r5, r5, r3 - af30: f8ad 5126 strh.w r5, [sp, #294] ; 0x126 + a980: 429a cmp r2, r3 + a982: bfac ite ge + a984: 18ad addge r5, r5, r2 + a986: 18ed addlt r5, r5, r3 + a988: f8ad 5126 strh.w r5, [sp, #294] ; 0x126 bool is_common; is_common = _lv_area_intersect(&clip_line, &clip_line, clip); - af34: 4672 mov r2, lr - af36: a948 add r1, sp, #288 ; 0x120 - af38: 4608 mov r0, r1 - af3a: 4bab ldr r3, [pc, #684] ; (b1e8 ) - af3c: 4798 blx r3 + a98c: 4672 mov r2, lr + a98e: a948 add r1, sp, #288 ; 0x120 + a990: 4608 mov r0, r1 + a992: 4bab ldr r3, [pc, #684] ; (ac40 ) + a994: 4798 blx r3 if(!is_common) return; - af3e: 2800 cmp r0, #0 - af40: f000 83da beq.w b6f8 + a996: 2800 cmp r0, #0 + a998: f000 83da beq.w b150 if(point1->y == point2->y) draw_line_hor(point1, point2, &clip_line, dsc); - af44: f9b6 6002 ldrsh.w r6, [r6, #2] - af48: f9b7 5002 ldrsh.w r5, [r7, #2] - af4c: 42ae cmp r6, r5 - af4e: f000 80fe beq.w b14e + a99c: f9b6 6002 ldrsh.w r6, [r6, #2] + a9a0: f9b7 5002 ldrsh.w r5, [r7, #2] + a9a4: 42ae cmp r6, r5 + a9a6: f000 80fe beq.w aba6 else if(point1->x == point2->x) draw_line_ver(point1, point2, &clip_line, dsc); - af52: 9b06 ldr r3, [sp, #24] - af54: f9b3 3000 ldrsh.w r3, [r3] - af58: 461a mov r2, r3 - af5a: 9305 str r3, [sp, #20] - af5c: 9b07 ldr r3, [sp, #28] - af5e: f9b3 a000 ldrsh.w sl, [r3] - af62: 4552 cmp r2, sl - af64: f000 8201 beq.w b36a + a9aa: 9b06 ldr r3, [sp, #24] + a9ac: f9b3 3000 ldrsh.w r3, [r3] + a9b0: 461a mov r2, r3 + a9b2: 9305 str r3, [sp, #20] + a9b4: 9b07 ldr r3, [sp, #28] + a9b6: f9b3 a000 ldrsh.w sl, [r3] + a9ba: 4552 cmp r2, sl + a9bc: f000 8201 beq.w adc2 lv_draw_line_dsc_t * dsc) { /*Keep the great y in p1*/ lv_point_t p1; lv_point_t p2; if(point1->y < point2->y) { - af68: 42ae cmp r6, r5 - af6a: db06 blt.n af7a - af6c: 4633 mov r3, r6 + a9c0: 42ae cmp r6, r5 + a9c2: db06 blt.n a9d2 + a9c4: 4633 mov r3, r6 p2.y = point2->y; p1.x = point1->x; p2.x = point2->x; } else { p1.y = point2->y; - af6e: 462e mov r6, r5 + a9c6: 462e mov r6, r5 p2.y = point1->y; - af70: 461d mov r5, r3 + a9c8: 461d mov r5, r3 if(point1->y < point2->y) { - af72: 9b05 ldr r3, [sp, #20] + a9ca: 9b05 ldr r3, [sp, #20] p1.x = point2->x; - af74: f8cd a014 str.w sl, [sp, #20] + a9cc: f8cd a014 str.w sl, [sp, #20] p2.x = point1->x; - af78: 469a mov sl, r3 + a9d0: 469a mov sl, r3 } int32_t xdiff = p2.x - p1.x; - af7a: 9b05 ldr r3, [sp, #20] - af7c: ebaa 0303 sub.w r3, sl, r3 - af80: 9309 str r3, [sp, #36] ; 0x24 + a9d2: 9b05 ldr r3, [sp, #20] + a9d4: ebaa 0303 sub.w r3, sl, r3 + a9d8: 9309 str r3, [sp, #36] ; 0x24 int32_t ydiff = p2.y - p1.y; - af82: 1baa subs r2, r5, r6 - af84: 920a str r2, [sp, #40] ; 0x28 + a9da: 1baa subs r2, r5, r6 + a9dc: 920a str r2, [sp, #40] ; 0x28 bool flat = LV_MATH_ABS(xdiff) > LV_MATH_ABS(ydiff) ? true : false; - af86: 2b00 cmp r3, #0 - af88: bfb8 it lt - af8a: 425b neglt r3, r3 - af8c: 469b mov fp, r3 - af8e: 2a00 cmp r2, #0 - af90: bfb8 it lt - af92: 4252 neglt r2, r2 - af94: 4690 mov r8, r2 + a9de: 2b00 cmp r3, #0 + a9e0: bfb8 it lt + a9e2: 425b neglt r3, r3 + a9e4: 469b mov fp, r3 + a9e6: 2a00 cmp r2, #0 + a9e8: bfb8 it lt + a9ea: 4252 neglt r2, r2 + a9ec: 4690 mov r8, r2 143, 145, 147, 149, 151, 153, 155, 158, 160, 162, 165, 167, 170, 173, 175, 178, 181, }; int32_t w = dsc->width; - af96: f9b4 9002 ldrsh.w r9, [r4, #2] + a9ee: f9b4 9002 ldrsh.w r9, [r4, #2] int32_t wcorr_i = 0; if(flat) wcorr_i = (LV_MATH_ABS(ydiff) << 5) / LV_MATH_ABS(xdiff); - af9a: 4293 cmp r3, r2 - af9c: bfc7 ittee gt - af9e: 0153 lslgt r3, r2, #5 - afa0: fb93 f3fb sdivgt r3, r3, fp + a9f2: 4293 cmp r3, r2 + a9f4: bfc7 ittee gt + a9f6: 0153 lslgt r3, r2, #5 + a9f8: fb93 f3fb sdivgt r3, r3, fp else wcorr_i = (LV_MATH_ABS(xdiff) << 5) / LV_MATH_ABS(ydiff); - afa4: ea4f 134b movle.w r3, fp, lsl #5 - afa8: fb93 f3f2 sdivle r3, r3, r2 + a9fc: ea4f 134b movle.w r3, fp, lsl #5 + aa00: fb93 f3f2 sdivle r3, r3, r2 w = (w * wcorr[wcorr_i] + 63) >> 7; /*+ 63 for rounding*/ - afac: 4a8f ldr r2, [pc, #572] ; (b1ec ) - afae: 5cd3 ldrb r3, [r2, r3] - afb0: fb09 f903 mul.w r9, r9, r3 - afb4: f109 093f add.w r9, r9, #63 ; 0x3f - afb8: ea4f 13e9 mov.w r3, r9, asr #7 - afbc: 461f mov r7, r3 + aa04: 4a8f ldr r2, [pc, #572] ; (ac44 ) + aa06: 5cd3 ldrb r3, [r2, r3] + aa08: fb09 f903 mul.w r9, r9, r3 + aa0c: f109 093f add.w r9, r9, #63 ; 0x3f + aa10: ea4f 13e9 mov.w r3, r9, asr #7 + aa14: 461f mov r7, r3 int32_t w_half0 = w >> 1; int32_t w_half1 = w_half0 + (w & 0x1); /*Compensate rounding error*/ lv_area_t draw_area; draw_area.x1 = LV_MATH_MIN(p1.x, p2.x) - w; - afbe: b29b uxth r3, r3 - afc0: 9805 ldr r0, [sp, #20] - afc2: 4582 cmp sl, r0 - afc4: bfd4 ite le - afc6: ebc3 020a rsble r2, r3, sl - afca: ebc3 0200 rsbgt r2, r3, r0 - afce: f8ad 2038 strh.w r2, [sp, #56] ; 0x38 + aa16: b29b uxth r3, r3 + aa18: 9805 ldr r0, [sp, #20] + aa1a: 4582 cmp sl, r0 + aa1c: bfd4 ite le + aa1e: ebc3 020a rsble r2, r3, sl + aa22: ebc3 0200 rsbgt r2, r3, r0 + aa26: f8ad 2038 strh.w r2, [sp, #56] ; 0x38 draw_area.x2 = LV_MATH_MAX(p1.x, p2.x) + w; - afd2: 4582 cmp sl, r0 - afd4: bfac ite ge - afd6: eb03 020a addge.w r2, r3, sl - afda: 181a addlt r2, r3, r0 - afdc: f8ad 203c strh.w r2, [sp, #60] ; 0x3c + aa2a: 4582 cmp sl, r0 + aa2c: bfac ite ge + aa2e: eb03 020a addge.w r2, r3, sl + aa32: 181a addlt r2, r3, r0 + aa34: f8ad 203c strh.w r2, [sp, #60] ; 0x3c draw_area.y1 = LV_MATH_MIN(p1.y, p2.y) - w; - afe0: 42b5 cmp r5, r6 - afe2: bfd4 ite le - afe4: ebc3 0205 rsble r2, r3, r5 - afe8: ebc3 0206 rsbgt r2, r3, r6 - afec: f8ad 203a strh.w r2, [sp, #58] ; 0x3a + aa38: 42b5 cmp r5, r6 + aa3a: bfd4 ite le + aa3c: ebc3 0205 rsble r2, r3, r5 + aa40: ebc3 0206 rsbgt r2, r3, r6 + aa44: f8ad 203a strh.w r2, [sp, #58] ; 0x3a draw_area.y2 = LV_MATH_MAX(p1.y, p2.y) + w; - aff0: 42b5 cmp r5, r6 - aff2: bfac ite ge - aff4: 195b addge r3, r3, r5 - aff6: 199b addlt r3, r3, r6 - aff8: f8ad 303e strh.w r3, [sp, #62] ; 0x3e + aa48: 42b5 cmp r5, r6 + aa4a: bfac ite ge + aa4c: 195b addge r3, r3, r5 + aa4e: 199b addlt r3, r3, r6 + aa50: f8ad 303e strh.w r3, [sp, #62] ; 0x3e /* Get the union of `coords` and `clip`*/ /* `clip` is already truncated to the `vdb` size * in 'lv_refr_area' function */ bool is_common = _lv_area_intersect(&draw_area, &draw_area, clip); - affc: aa48 add r2, sp, #288 ; 0x120 - affe: a90e add r1, sp, #56 ; 0x38 - b000: 4608 mov r0, r1 - b002: 4b79 ldr r3, [pc, #484] ; (b1e8 ) - b004: 4798 blx r3 + aa54: aa48 add r2, sp, #288 ; 0x120 + aa56: a90e add r1, sp, #56 ; 0x38 + aa58: 4608 mov r0, r1 + aa5a: 4b79 ldr r3, [pc, #484] ; (ac40 ) + aa5c: 4798 blx r3 if(is_common == false) return; - b006: 2800 cmp r0, #0 - b008: f000 8372 beq.w b6f0 + aa5e: 2800 cmp r0, #0 + aa60: f000 8372 beq.w b148 int32_t w_half0 = w >> 1; - b00c: ea4f 2929 mov.w r9, r9, asr #8 + aa64: ea4f 2929 mov.w r9, r9, asr #8 int32_t w_half1 = w_half0 + (w & 0x1); /*Compensate rounding error*/ - b010: f007 0301 and.w r3, r7, #1 - b014: 444b add r3, r9 - b016: 930b str r3, [sp, #44] ; 0x2c + aa68: f007 0301 and.w r3, r7, #1 + aa6c: 444b add r3, r9 + aa6e: 930b str r3, [sp, #44] ; 0x2c lv_draw_mask_line_param_t mask_left_param; lv_draw_mask_line_param_t mask_right_param; lv_draw_mask_line_param_t mask_top_param; lv_draw_mask_line_param_t mask_bottom_param; if(flat) { - b018: 45c3 cmp fp, r8 - b01a: f340 82b6 ble.w b58a + aa70: 45c3 cmp fp, r8 + aa72: f340 82b6 ble.w afe2 if(xdiff > 0) { - b01e: 9a09 ldr r2, [sp, #36] ; 0x24 - b020: 2a00 cmp r2, #0 - b022: f340 828e ble.w b542 + aa76: 9a09 ldr r2, [sp, #36] ; 0x24 + aa78: 2a00 cmp r2, #0 + aa7a: f340 828e ble.w af9a lv_draw_mask_line_points_init(&mask_left_param, p1.x, p1.y - w_half0, p2.x, p2.y - w_half0, - b026: fa1f fb86 uxth.w fp, r6 - b02a: fa1f f389 uxth.w r3, r9 - b02e: fa1f f985 uxth.w r9, r5 - b032: ebab 0203 sub.w r2, fp, r3 - b036: 2100 movs r1, #0 - b038: 9101 str r1, [sp, #4] - b03a: eba9 0303 sub.w r3, r9, r3 - b03e: b21b sxth r3, r3 - b040: 9300 str r3, [sp, #0] - b042: 4653 mov r3, sl - b044: b212 sxth r2, r2 - b046: 9905 ldr r1, [sp, #20] - b048: a812 add r0, sp, #72 ; 0x48 - b04a: 4f69 ldr r7, [pc, #420] ; (b1f0 ) - b04c: 47b8 blx r7 + aa7e: fa1f fb86 uxth.w fp, r6 + aa82: fa1f f389 uxth.w r3, r9 + aa86: fa1f f985 uxth.w r9, r5 + aa8a: ebab 0203 sub.w r2, fp, r3 + aa8e: 2100 movs r1, #0 + aa90: 9101 str r1, [sp, #4] + aa92: eba9 0303 sub.w r3, r9, r3 + aa96: b21b sxth r3, r3 + aa98: 9300 str r3, [sp, #0] + aa9a: 4653 mov r3, sl + aa9c: b212 sxth r2, r2 + aa9e: 9905 ldr r1, [sp, #20] + aaa0: a812 add r0, sp, #72 ; 0x48 + aaa2: 4f69 ldr r7, [pc, #420] ; (ac48 ) + aaa4: 47b8 blx r7 LV_DRAW_MASK_LINE_SIDE_LEFT); lv_draw_mask_line_points_init(&mask_right_param, p1.x, p1.y + w_half1, p2.x, p2.y + w_half1, - b04e: f8bd 802c ldrh.w r8, [sp, #44] ; 0x2c - b052: eb0b 0208 add.w r2, fp, r8 - b056: 2301 movs r3, #1 - b058: 9301 str r3, [sp, #4] - b05a: 44c1 add r9, r8 - b05c: fa0f f389 sxth.w r3, r9 - b060: 9300 str r3, [sp, #0] - b062: 4653 mov r3, sl - b064: b212 sxth r2, r2 - b066: 9905 ldr r1, [sp, #20] - b068: a81d add r0, sp, #116 ; 0x74 - b06a: 47b8 blx r7 + aaa6: f8bd 802c ldrh.w r8, [sp, #44] ; 0x2c + aaaa: eb0b 0208 add.w r2, fp, r8 + aaae: 2301 movs r3, #1 + aab0: 9301 str r3, [sp, #4] + aab2: 44c1 add r9, r8 + aab4: fa0f f389 sxth.w r3, r9 + aab8: 9300 str r3, [sp, #0] + aaba: 4653 mov r3, sl + aabc: b212 sxth r2, r2 + aabe: 9905 ldr r1, [sp, #20] + aac0: a81d add r0, sp, #116 ; 0x74 + aac2: 47b8 blx r7 LV_DRAW_MASK_LINE_SIDE_RIGHT); } /*Use the normal vector for the endings*/ int16_t mask_left_id = lv_draw_mask_add(&mask_left_param, NULL); - b06c: 2100 movs r1, #0 - b06e: a812 add r0, sp, #72 ; 0x48 - b070: f8df 819c ldr.w r8, [pc, #412] ; b210 - b074: 47c0 blx r8 - b076: 900b str r0, [sp, #44] ; 0x2c + aac4: 2100 movs r1, #0 + aac6: a812 add r0, sp, #72 ; 0x48 + aac8: f8df 819c ldr.w r8, [pc, #412] ; ac68 + aacc: 47c0 blx r8 + aace: 900b str r0, [sp, #44] ; 0x2c int16_t mask_right_id = lv_draw_mask_add(&mask_right_param, NULL); - b078: 2100 movs r1, #0 - b07a: a81d add r0, sp, #116 ; 0x74 - b07c: 47c0 blx r8 - b07e: 900c str r0, [sp, #48] ; 0x30 + aad0: 2100 movs r1, #0 + aad2: a81d add r0, sp, #116 ; 0x74 + aad4: 47c0 blx r8 + aad6: 900c str r0, [sp, #48] ; 0x30 int16_t mask_top_id = LV_MASK_ID_INV; int16_t mask_bottom_id = LV_MASK_ID_INV; if(!dsc->raw_end) { - b080: 7a63 ldrb r3, [r4, #9] - b082: f013 0f10 tst.w r3, #16 - b086: f000 82a4 beq.w b5d2 + aad8: 7a63 ldrb r3, [r4, #9] + aada: f013 0f10 tst.w r3, #16 + aade: f000 82a4 beq.w b02a int16_t mask_bottom_id = LV_MASK_ID_INV; - b08a: f04f 33ff mov.w r3, #4294967295 - b08e: 930d str r3, [sp, #52] ; 0x34 + aae2: f04f 33ff mov.w r3, #4294967295 + aae6: 930d str r3, [sp, #52] ; 0x34 int16_t mask_top_id = LV_MASK_ID_INV; - b090: 930a str r3, [sp, #40] ; 0x28 + aae8: 930a str r3, [sp, #40] ; 0x28 lv_draw_mask_line_points_init(&mask_bottom_param, p2.x, p2.y, p2.x - ydiff, p2.y + xdiff, LV_DRAW_MASK_LINE_SIDE_TOP); mask_top_id = lv_draw_mask_add(&mask_top_param, NULL); mask_bottom_id = lv_draw_mask_add(&mask_bottom_param, NULL); } lv_disp_t * disp = _lv_refr_get_disp_refreshing(); - b092: 4b58 ldr r3, [pc, #352] ; (b1f4 ) - b094: 4798 blx r3 + aaea: 4b58 ldr r3, [pc, #352] ; (ac4c ) + aaec: 4798 blx r3 lv_disp_buf_t * vdb = lv_disp_get_buf(disp); - b096: 4b58 ldr r3, [pc, #352] ; (b1f8 ) - b098: 4798 blx r3 - b09a: 4682 mov sl, r0 + aaee: 4b58 ldr r3, [pc, #352] ; (ac50 ) + aaf0: 4798 blx r3 + aaf2: 4682 mov sl, r0 const lv_area_t * disp_area = &vdb->area; /*Store the coordinates of the `draw_a` relative to the VDB */ draw_area.x1 -= disp_area->x1; - b09c: 8a06 ldrh r6, [r0, #16] - b09e: f8bd 5038 ldrh.w r5, [sp, #56] ; 0x38 - b0a2: 1bad subs r5, r5, r6 - b0a4: b2aa uxth r2, r5 - b0a6: f8ad 2038 strh.w r2, [sp, #56] ; 0x38 + aaf4: 8a06 ldrh r6, [r0, #16] + aaf6: f8bd 5038 ldrh.w r5, [sp, #56] ; 0x38 + aafa: 1bad subs r5, r5, r6 + aafc: b2aa uxth r2, r5 + aafe: f8ad 2038 strh.w r2, [sp, #56] ; 0x38 draw_area.y1 -= disp_area->y1; - b0aa: 8a40 ldrh r0, [r0, #18] - b0ac: f8bd 103a ldrh.w r1, [sp, #58] ; 0x3a - b0b0: 1a09 subs r1, r1, r0 - b0b2: f8ad 103a strh.w r1, [sp, #58] ; 0x3a + ab02: 8a40 ldrh r0, [r0, #18] + ab04: f8bd 103a ldrh.w r1, [sp, #58] ; 0x3a + ab08: 1a09 subs r1, r1, r0 + ab0a: f8ad 103a strh.w r1, [sp, #58] ; 0x3a draw_area.x2 -= disp_area->x1; - b0b6: f8bd 303c ldrh.w r3, [sp, #60] ; 0x3c - b0ba: 1b9b subs r3, r3, r6 - b0bc: b29b uxth r3, r3 - b0be: f8ad 303c strh.w r3, [sp, #60] ; 0x3c + ab0e: f8bd 303c ldrh.w r3, [sp, #60] ; 0x3c + ab12: 1b9b subs r3, r3, r6 + ab14: b29b uxth r3, r3 + ab16: f8ad 303c strh.w r3, [sp, #60] ; 0x3c draw_area.y2 -= disp_area->y1; - b0c2: f8bd 103e ldrh.w r1, [sp, #62] ; 0x3e - b0c6: 1a09 subs r1, r1, r0 - b0c8: f8ad 103e strh.w r1, [sp, #62] ; 0x3e - b0cc: 1c5d adds r5, r3, #1 - b0ce: 1aad subs r5, r5, r2 - b0d0: b22d sxth r5, r5 + ab1a: f8bd 103e ldrh.w r1, [sp, #62] ; 0x3e + ab1e: 1a09 subs r1, r1, r0 + ab20: f8ad 103e strh.w r1, [sp, #62] ; 0x3e + ab24: 1c5d adds r5, r3, #1 + ab26: 1aad subs r5, r5, r2 + ab28: b22d sxth r5, r5 * So deal with it only with steep lines. */ int32_t draw_area_w = lv_area_get_width(&draw_area); /*Draw the background line by line*/ int32_t h; size_t mask_buf_size = LV_MATH_MIN(lv_area_get_size(&draw_area), LV_HOR_RES_MAX); - b0d2: a80e add r0, sp, #56 ; 0x38 - b0d4: 4b49 ldr r3, [pc, #292] ; (b1fc ) - b0d6: 4798 blx r3 - b0d8: f5b0 7ff0 cmp.w r0, #480 ; 0x1e0 - b0dc: f0c0 82a2 bcc.w b624 - b0e0: f44f 7bf0 mov.w fp, #480 ; 0x1e0 + ab2a: a80e add r0, sp, #56 ; 0x38 + ab2c: 4b49 ldr r3, [pc, #292] ; (ac54 ) + ab2e: 4798 blx r3 + ab30: f5b0 7ff0 cmp.w r0, #480 ; 0x1e0 + ab34: f0c0 82a2 bcc.w b07c + ab38: f44f 7bf0 mov.w fp, #480 ; 0x1e0 lv_opa_t * mask_buf = _lv_mem_buf_get(mask_buf_size); - b0e4: 4658 mov r0, fp - b0e6: 4b46 ldr r3, [pc, #280] ; (b200 ) - b0e8: 4798 blx r3 - b0ea: 4681 mov r9, r0 + ab3c: 4658 mov r0, fp + ab3e: 4b46 ldr r3, [pc, #280] ; (ac58 ) + ab40: 4798 blx r3 + ab42: 4681 mov r9, r0 lv_area_t fill_area; fill_area.x1 = draw_area.x1 + disp_area->x1; - b0ec: f8ba 3010 ldrh.w r3, [sl, #16] - b0f0: f8bd 2038 ldrh.w r2, [sp, #56] ; 0x38 - b0f4: 441a add r2, r3 - b0f6: b212 sxth r2, r2 - b0f8: 9205 str r2, [sp, #20] - b0fa: f8ad 2040 strh.w r2, [sp, #64] ; 0x40 + ab44: f8ba 3010 ldrh.w r3, [sl, #16] + ab48: f8bd 2038 ldrh.w r2, [sp, #56] ; 0x38 + ab4c: 441a add r2, r3 + ab4e: b212 sxth r2, r2 + ab50: 9205 str r2, [sp, #20] + ab52: f8ad 2040 strh.w r2, [sp, #64] ; 0x40 fill_area.x2 = draw_area.x2 + disp_area->x1; - b0fe: f8bd 203c ldrh.w r2, [sp, #60] ; 0x3c - b102: 4413 add r3, r2 - b104: f8ad 3044 strh.w r3, [sp, #68] ; 0x44 + ab56: f8bd 203c ldrh.w r2, [sp, #60] ; 0x3c + ab5a: 4413 add r3, r2 + ab5c: f8ad 3044 strh.w r3, [sp, #68] ; 0x44 fill_area.y1 = draw_area.y1 + disp_area->y1; - b108: f8bd 303a ldrh.w r3, [sp, #58] ; 0x3a - b10c: f8ba 2012 ldrh.w r2, [sl, #18] - b110: 4413 add r3, r2 - b112: b21b sxth r3, r3 - b114: f8ad 3042 strh.w r3, [sp, #66] ; 0x42 + ab60: f8bd 303a ldrh.w r3, [sp, #58] ; 0x3a + ab64: f8ba 2012 ldrh.w r2, [sl, #18] + ab68: 4413 add r3, r2 + ab6a: b21b sxth r3, r3 + ab6c: f8ad 3042 strh.w r3, [sp, #66] ; 0x42 fill_area.y2 = fill_area.y1; - b118: f8ad 3046 strh.w r3, [sp, #70] ; 0x46 + ab70: f8ad 3046 strh.w r3, [sp, #70] ; 0x46 int32_t x = vdb->area.x1 + draw_area.x1; uint32_t mask_p = 0; _lv_memset_ff(mask_buf, mask_buf_size); - b11c: 4659 mov r1, fp - b11e: 4b39 ldr r3, [pc, #228] ; (b204 ) - b120: 4798 blx r3 + ab74: 4659 mov r1, fp + ab76: 4b39 ldr r3, [pc, #228] ; (ac5c ) + ab78: 4798 blx r3 /*Fill the first row with 'color'*/ for(h = draw_area.y1 + disp_area->y1; h <= draw_area.y2 + disp_area->y1; h++) { - b122: f9ba 2012 ldrsh.w r2, [sl, #18] - b126: f9bd 603a ldrsh.w r6, [sp, #58] ; 0x3a - b12a: 4416 add r6, r2 - b12c: f9bd 303e ldrsh.w r3, [sp, #62] ; 0x3e - b130: 4413 add r3, r2 - b132: 429e cmp r6, r3 - b134: f300 82b9 bgt.w b6aa - b138: 2700 movs r7, #0 + ab7a: f9ba 2012 ldrsh.w r2, [sl, #18] + ab7e: f9bd 603a ldrsh.w r6, [sp, #58] ; 0x3a + ab82: 4416 add r6, r2 + ab84: f9bd 303e ldrsh.w r3, [sp, #62] ; 0x3e + ab88: 4413 add r3, r2 + ab8a: 429e cmp r6, r3 + ab8c: f300 82b9 bgt.w b102 + ab90: 2700 movs r7, #0 mask_p += draw_area_w; if((uint32_t) mask_p + draw_area_w < mask_buf_size) { fill_area.y2 ++; } else { _lv_blend_fill(&fill_area, clip, - b13a: 9409 str r4, [sp, #36] ; 0x24 - b13c: e2a0 b.n b680 + ab92: 9409 str r4, [sp, #36] ; 0x24 + ab94: e2a0 b.n b0d8 if(point1->x == point2->x && point1->y == point2->y) return; - b13e: f9b0 e002 ldrsh.w lr, [r0, #2] - b142: f9b1 4002 ldrsh.w r4, [r1, #2] - b146: 45a6 cmp lr, r4 - b148: f47f aec9 bne.w aede - b14c: e2d4 b.n b6f8 + ab96: f9b0 e002 ldrsh.w lr, [r0, #2] + ab9a: f9b1 4002 ldrsh.w r4, [r1, #2] + ab9e: 45a6 cmp lr, r4 + aba0: f47f aec9 bne.w a936 + aba4: e2d4 b.n b150 lv_opa_t opa = dsc->opa; - b14e: f894 9008 ldrb.w r9, [r4, #8] + aba6: f894 9008 ldrb.w r9, [r4, #8] lv_disp_t * disp = _lv_refr_get_disp_refreshing(); - b152: 4b28 ldr r3, [pc, #160] ; (b1f4 ) - b154: 4798 blx r3 + abaa: 4b28 ldr r3, [pc, #160] ; (ac4c ) + abac: 4798 blx r3 lv_disp_buf_t * vdb = lv_disp_get_buf(disp); - b156: 4b28 ldr r3, [pc, #160] ; (b1f8 ) - b158: 4798 blx r3 - b15a: 4607 mov r7, r0 + abae: 4b28 ldr r3, [pc, #160] ; (ac50 ) + abb0: 4798 blx r3 + abb2: 4607 mov r7, r0 int32_t w = dsc->width - 1; - b15c: f9b4 3002 ldrsh.w r3, [r4, #2] - b160: 3b01 subs r3, #1 + abb4: f9b4 3002 ldrsh.w r3, [r4, #2] + abb8: 3b01 subs r3, #1 int32_t w_half0 = w >> 1; - b162: 105e asrs r6, r3, #1 + abba: 105e asrs r6, r3, #1 int32_t w_half1 = w_half0 + (w & 0x1); /*Compensate rounding error*/ - b164: f003 0301 and.w r3, r3, #1 - b168: 199d adds r5, r3, r6 + abbc: f003 0301 and.w r3, r3, #1 + abc0: 199d adds r5, r3, r6 bool dashed = dsc->dash_gap && dsc->dash_width ? true : false; - b16a: f9b4 3006 ldrsh.w r3, [r4, #6] - b16e: 2b00 cmp r3, #0 - b170: d035 beq.n b1de - b172: f9b4 8004 ldrsh.w r8, [r4, #4] - b176: f118 0800 adds.w r8, r8, #0 - b17a: bf18 it ne - b17c: f04f 0801 movne.w r8, #1 + abc2: f9b4 3006 ldrsh.w r3, [r4, #6] + abc6: 2b00 cmp r3, #0 + abc8: d035 beq.n ac36 + abca: f9b4 8004 ldrsh.w r8, [r4, #4] + abce: f118 0800 adds.w r8, r8, #0 + abd2: bf18 it ne + abd4: f04f 0801 movne.w r8, #1 if(lv_draw_mask_get_cnt()) simple_mode = false; - b180: 4b21 ldr r3, [pc, #132] ; (b208 ) - b182: 4798 blx r3 - b184: bb70 cbnz r0, b1e4 + abd8: 4b21 ldr r3, [pc, #132] ; (ac60 ) + abda: 4798 blx r3 + abdc: bb70 cbnz r0, ac3c else if(dashed) simple_mode = false; - b186: f088 0201 eor.w r2, r8, #1 + abde: f088 0201 eor.w r2, r8, #1 draw_area.x1 = LV_MATH_MIN(point1->x, point2->x); - b18a: 9b07 ldr r3, [sp, #28] - b18c: f9b3 3000 ldrsh.w r3, [r3] - b190: 9906 ldr r1, [sp, #24] - b192: f9b1 1000 ldrsh.w r1, [r1] - b196: 4618 mov r0, r3 - b198: 428b cmp r3, r1 - b19a: bfa8 it ge - b19c: 4608 movge r0, r1 - b19e: f8ad 00a0 strh.w r0, [sp, #160] ; 0xa0 + abe2: 9b07 ldr r3, [sp, #28] + abe4: f9b3 3000 ldrsh.w r3, [r3] + abe8: 9906 ldr r1, [sp, #24] + abea: f9b1 1000 ldrsh.w r1, [r1] + abee: 4618 mov r0, r3 + abf0: 428b cmp r3, r1 + abf2: bfa8 it ge + abf4: 4608 movge r0, r1 + abf6: f8ad 00a0 strh.w r0, [sp, #160] ; 0xa0 draw_area.x2 = LV_MATH_MAX(point1->x, point2->x) - 1; - b1a2: 428b cmp r3, r1 - b1a4: bfb8 it lt - b1a6: 460b movlt r3, r1 - b1a8: 3b01 subs r3, #1 - b1aa: f8ad 30a4 strh.w r3, [sp, #164] ; 0xa4 + abfa: 428b cmp r3, r1 + abfc: bfb8 it lt + abfe: 460b movlt r3, r1 + ac00: 3b01 subs r3, #1 + ac02: f8ad 30a4 strh.w r3, [sp, #164] ; 0xa4 draw_area.y1 = point1->y - w_half1; - b1ae: 9906 ldr r1, [sp, #24] - b1b0: 884b ldrh r3, [r1, #2] - b1b2: 1b5d subs r5, r3, r5 - b1b4: f8ad 50a2 strh.w r5, [sp, #162] ; 0xa2 + ac06: 9906 ldr r1, [sp, #24] + ac08: 884b ldrh r3, [r1, #2] + ac0a: 1b5d subs r5, r3, r5 + ac0c: f8ad 50a2 strh.w r5, [sp, #162] ; 0xa2 draw_area.y2 = point1->y + w_half0; - b1b8: 4433 add r3, r6 - b1ba: f8ad 30a6 strh.w r3, [sp, #166] ; 0xa6 + ac10: 4433 add r3, r6 + ac12: f8ad 30a6 strh.w r3, [sp, #166] ; 0xa6 if(simple_mode) { - b1be: b34a cbz r2, b214 + ac16: b34a cbz r2, ac6c dsc->blend_mode); - b1c0: 7a63 ldrb r3, [r4, #9] + ac18: 7a63 ldrb r3, [r4, #9] _lv_blend_fill(clip, &draw_area, - b1c2: f003 0303 and.w r3, r3, #3 - b1c6: 9302 str r3, [sp, #8] - b1c8: f8cd 9004 str.w r9, [sp, #4] - b1cc: 2301 movs r3, #1 - b1ce: 9300 str r3, [sp, #0] - b1d0: 2300 movs r3, #0 - b1d2: 8822 ldrh r2, [r4, #0] - b1d4: a928 add r1, sp, #160 ; 0xa0 - b1d6: a848 add r0, sp, #288 ; 0x120 - b1d8: 4d0c ldr r5, [pc, #48] ; (b20c ) - b1da: 47a8 blx r5 - b1dc: e288 b.n b6f0 + ac1a: f003 0303 and.w r3, r3, #3 + ac1e: 9302 str r3, [sp, #8] + ac20: f8cd 9004 str.w r9, [sp, #4] + ac24: 2301 movs r3, #1 + ac26: 9300 str r3, [sp, #0] + ac28: 2300 movs r3, #0 + ac2a: 8822 ldrh r2, [r4, #0] + ac2c: a928 add r1, sp, #160 ; 0xa0 + ac2e: a848 add r0, sp, #288 ; 0x120 + ac30: 4d0c ldr r5, [pc, #48] ; (ac64 ) + ac32: 47a8 blx r5 + ac34: e288 b.n b148 bool dashed = dsc->dash_gap && dsc->dash_width ? true : false; - b1de: f04f 0800 mov.w r8, #0 - b1e2: e7cd b.n b180 + ac36: f04f 0800 mov.w r8, #0 + ac3a: e7cd b.n abd8 if(lv_draw_mask_get_cnt()) simple_mode = false; - b1e4: 2200 movs r2, #0 - b1e6: e7d0 b.n b18a - b1e8: 00011ac1 .word 0x00011ac1 - b1ec: 0001c488 .word 0x0001c488 - b1f0: 0000c491 .word 0x0000c491 - b1f4: 00006511 .word 0x00006511 - b1f8: 00011585 .word 0x00011585 - b1fc: 00011aa5 .word 0x00011aa5 - b200: 00012ee5 .word 0x00012ee5 - b204: 00013195 .word 0x00013195 - b208: 0000c46d .word 0x0000c46d - b20c: 00007cf9 .word 0x00007cf9 - b210: 0000c369 .word 0x0000c369 + ac3c: 2200 movs r2, #0 + ac3e: e7d0 b.n abe2 + ac40: 00011519 .word 0x00011519 + ac44: 00024fa4 .word 0x00024fa4 + ac48: 0000bee9 .word 0x0000bee9 + ac4c: 00005f69 .word 0x00005f69 + ac50: 00010fdd .word 0x00010fdd + ac54: 000114fd .word 0x000114fd + ac58: 0001293d .word 0x0001293d + ac5c: 00012bed .word 0x00012bed + ac60: 0000bec5 .word 0x0000bec5 + ac64: 00007751 .word 0x00007751 + ac68: 0000bdc1 .word 0x0000bdc1 is_common = _lv_area_intersect(&draw_area, clip, &draw_area); - b214: aa28 add r2, sp, #160 ; 0xa0 - b216: a948 add r1, sp, #288 ; 0x120 - b218: 4610 mov r0, r2 - b21a: 4ba1 ldr r3, [pc, #644] ; (b4a0 ) - b21c: 4798 blx r3 + ac6c: aa28 add r2, sp, #160 ; 0xa0 + ac6e: a948 add r1, sp, #288 ; 0x120 + ac70: 4610 mov r0, r2 + ac72: 4ba1 ldr r3, [pc, #644] ; (aef8 ) + ac74: 4798 blx r3 if(!is_common) return; - b21e: 2800 cmp r0, #0 - b220: f000 8266 beq.w b6f0 + ac76: 2800 cmp r0, #0 + ac78: f000 8266 beq.w b148 draw_area.x1 -= disp_area->x1; - b224: f9bd e0a0 ldrsh.w lr, [sp, #160] ; 0xa0 - b228: f9b7 1010 ldrsh.w r1, [r7, #16] - b22c: b28b uxth r3, r1 - b22e: ebae 0203 sub.w r2, lr, r3 - b232: b292 uxth r2, r2 - b234: fa0f fc82 sxth.w ip, r2 - b238: f8ad c0a0 strh.w ip, [sp, #160] ; 0xa0 + ac7c: f9bd e0a0 ldrsh.w lr, [sp, #160] ; 0xa0 + ac80: f9b7 1010 ldrsh.w r1, [r7, #16] + ac84: b28b uxth r3, r1 + ac86: ebae 0203 sub.w r2, lr, r3 + ac8a: b292 uxth r2, r2 + ac8c: fa0f fc82 sxth.w ip, r2 + ac90: f8ad c0a0 strh.w ip, [sp, #160] ; 0xa0 draw_area.y1 -= disp_area->y1; - b23c: f9bd 00a2 ldrsh.w r0, [sp, #162] ; 0xa2 - b240: f8b7 9012 ldrh.w r9, [r7, #18] - b244: eba0 0509 sub.w r5, r0, r9 - b248: f8ad 50a2 strh.w r5, [sp, #162] ; 0xa2 + ac94: f9bd 00a2 ldrsh.w r0, [sp, #162] ; 0xa2 + ac98: f8b7 9012 ldrh.w r9, [r7, #18] + ac9c: eba0 0509 sub.w r5, r0, r9 + aca0: f8ad 50a2 strh.w r5, [sp, #162] ; 0xa2 draw_area.x2 -= disp_area->x1; - b24c: f9bd 60a4 ldrsh.w r6, [sp, #164] ; 0xa4 - b250: 1af3 subs r3, r6, r3 - b252: b29b uxth r3, r3 - b254: f8ad 30a4 strh.w r3, [sp, #164] ; 0xa4 + aca4: f9bd 60a4 ldrsh.w r6, [sp, #164] ; 0xa4 + aca8: 1af3 subs r3, r6, r3 + acaa: b29b uxth r3, r3 + acac: f8ad 30a4 strh.w r3, [sp, #164] ; 0xa4 draw_area.y2 -= disp_area->y1; - b258: f8bd 50a6 ldrh.w r5, [sp, #166] ; 0xa6 - b25c: eba5 0509 sub.w r5, r5, r9 - b260: f8ad 50a6 strh.w r5, [sp, #166] ; 0xa6 - b264: 3301 adds r3, #1 - b266: 1a9a subs r2, r3, r2 - b268: b215 sxth r5, r2 + acb0: f8bd 50a6 ldrh.w r5, [sp, #166] ; 0xa6 + acb4: eba5 0509 sub.w r5, r5, r9 + acb8: f8ad 50a6 strh.w r5, [sp, #166] ; 0xa6 + acbc: 3301 adds r3, #1 + acbe: 1a9a subs r2, r3, r2 + acc0: b215 sxth r5, r2 fill_area.x1 = draw_area.x1 + disp_area->x1; - b26a: f8ad e0cc strh.w lr, [sp, #204] ; 0xcc + acc2: f8ad e0cc strh.w lr, [sp, #204] ; 0xcc fill_area.x2 = draw_area.x2 + disp_area->x1; - b26e: f8ad 60d0 strh.w r6, [sp, #208] ; 0xd0 + acc6: f8ad 60d0 strh.w r6, [sp, #208] ; 0xd0 fill_area.y1 = draw_area.y1 + disp_area->y1; - b272: f8ad 00ce strh.w r0, [sp, #206] ; 0xce + acca: f8ad 00ce strh.w r0, [sp, #206] ; 0xce fill_area.y2 = fill_area.y1; - b276: f8ad 00d2 strh.w r0, [sp, #210] ; 0xd2 + acce: f8ad 00d2 strh.w r0, [sp, #210] ; 0xd2 if(dashed) { - b27a: f1b8 0f00 cmp.w r8, #0 - b27e: d01c beq.n b2ba + acd2: f1b8 0f00 cmp.w r8, #0 + acd6: d01c beq.n ad12 dash_start = (vdb->area.x1 + draw_area.x1) % (dsc->dash_gap + dsc->dash_width); - b280: 4461 add r1, ip - b282: f9b4 2006 ldrsh.w r2, [r4, #6] - b286: f9b4 3004 ldrsh.w r3, [r4, #4] - b28a: 441a add r2, r3 - b28c: fb91 f3f2 sdiv r3, r1, r2 - b290: fb02 1113 mls r1, r2, r3, r1 - b294: b20b sxth r3, r1 - b296: 930a str r3, [sp, #40] ; 0x28 + acd8: 4461 add r1, ip + acda: f9b4 2006 ldrsh.w r2, [r4, #6] + acde: f9b4 3004 ldrsh.w r3, [r4, #4] + ace2: 441a add r2, r3 + ace4: fb91 f3f2 sdiv r3, r1, r2 + ace8: fb02 1113 mls r1, r2, r3, r1 + acec: b20b sxth r3, r1 + acee: 930a str r3, [sp, #40] ; 0x28 lv_opa_t * mask_buf = _lv_mem_buf_get(draw_area_w); - b298: 9509 str r5, [sp, #36] ; 0x24 - b29a: 4628 mov r0, r5 - b29c: 4b81 ldr r3, [pc, #516] ; (b4a4 ) - b29e: 4798 blx r3 - b2a0: 4682 mov sl, r0 + acf0: 9509 str r5, [sp, #36] ; 0x24 + acf2: 4628 mov r0, r5 + acf4: 4b81 ldr r3, [pc, #516] ; (aefc ) + acf6: 4798 blx r3 + acf8: 4682 mov sl, r0 for(h = draw_area.y1; h <= draw_area.y2; h++) { - b2a2: f9bd 60a2 ldrsh.w r6, [sp, #162] ; 0xa2 - b2a6: f9bd 30a6 ldrsh.w r3, [sp, #166] ; 0xa6 - b2aa: 42b3 cmp r3, r6 - b2ac: db59 blt.n b362 + acfa: f9bd 60a2 ldrsh.w r6, [sp, #162] ; 0xa2 + acfe: f9bd 30a6 ldrsh.w r3, [sp, #166] ; 0xa6 + ad02: 42b3 cmp r3, r6 + ad04: db59 blt.n adba _lv_memset_ff(mask_buf, draw_area_w); - b2ae: f8df 9210 ldr.w r9, [pc, #528] ; b4c0 + ad06: f8df 9210 ldr.w r9, [pc, #528] ; af18 _lv_blend_fill(clip, &fill_area, - b2b2: f8df b208 ldr.w fp, [pc, #520] ; b4bc - b2b6: 9505 str r5, [sp, #20] - b2b8: e035 b.n b326 + ad0a: f8df b208 ldr.w fp, [pc, #520] ; af14 + ad0e: 9505 str r5, [sp, #20] + ad10: e035 b.n ad7e if(dashed) { - b2ba: 2100 movs r1, #0 - b2bc: e7ea b.n b294 + ad12: 2100 movs r1, #0 + ad14: e7ea b.n acec else if(dash_cnt >= dsc->dash_gap + dsc->dash_width) { - b2be: f9b4 e006 ldrsh.w lr, [r4, #6] - b2c2: 4473 add r3, lr - b2c4: 429a cmp r2, r3 + ad16: f9b4 e006 ldrsh.w lr, [r4, #6] + ad1a: 4473 add r3, lr + ad1c: 429a cmp r2, r3 mask_buf[i] = 0x00; - b2c6: bfba itte lt - b2c8: f80a 1000 strblt.w r1, [sl, r0] - b2cc: 4613 movlt r3, r2 + ad1e: bfba itte lt + ad20: f80a 1000 strblt.w r1, [sl, r0] + ad24: 4613 movlt r3, r2 dash_cnt = 0; - b2ce: 460b movge r3, r1 + ad26: 460b movge r3, r1 for(i = 0; i < draw_area_w; i++, dash_cnt++) { - b2d0: 3001 adds r0, #1 - b2d2: b200 sxth r0, r0 - b2d4: 3301 adds r3, #1 - b2d6: b21a sxth r2, r3 - b2d8: 4285 cmp r5, r0 - b2da: dd07 ble.n b2ec + ad28: 3001 adds r0, #1 + ad2a: b200 sxth r0, r0 + ad2c: 3301 adds r3, #1 + ad2e: b21a sxth r2, r3 + ad30: 4285 cmp r5, r0 + ad32: dd07 ble.n ad44 if(dash_cnt <= dsc->dash_width) { - b2dc: f9b4 3004 ldrsh.w r3, [r4, #4] - b2e0: 4293 cmp r3, r2 - b2e2: dbec blt.n b2be + ad34: f9b4 3004 ldrsh.w r3, [r4, #4] + ad38: 4293 cmp r3, r2 + ad3a: dbec blt.n ad16 i += diff; - b2e4: 4418 add r0, r3 - b2e6: 1a80 subs r0, r0, r2 - b2e8: b200 sxth r0, r0 - b2ea: e7f1 b.n b2d0 - b2ec: 9505 str r5, [sp, #20] + ad3c: 4418 add r0, r3 + ad3e: 1a80 subs r0, r0, r2 + ad40: b200 sxth r0, r0 + ad42: e7f1 b.n ad28 + ad44: 9505 str r5, [sp, #20] mask_res = LV_DRAW_MASK_RES_CHANGED; - b2ee: 2002 movs r0, #2 + ad46: 2002 movs r0, #2 dsc->blend_mode); - b2f0: 7a63 ldrb r3, [r4, #9] + ad48: 7a63 ldrb r3, [r4, #9] _lv_blend_fill(clip, &fill_area, - b2f2: f003 0303 and.w r3, r3, #3 - b2f6: 9302 str r3, [sp, #8] - b2f8: 7a23 ldrb r3, [r4, #8] - b2fa: 9301 str r3, [sp, #4] - b2fc: 9000 str r0, [sp, #0] - b2fe: 4653 mov r3, sl - b300: 8822 ldrh r2, [r4, #0] - b302: a933 add r1, sp, #204 ; 0xcc - b304: a848 add r0, sp, #288 ; 0x120 - b306: 47d8 blx fp + ad4a: f003 0303 and.w r3, r3, #3 + ad4e: 9302 str r3, [sp, #8] + ad50: 7a23 ldrb r3, [r4, #8] + ad52: 9301 str r3, [sp, #4] + ad54: 9000 str r0, [sp, #0] + ad56: 4653 mov r3, sl + ad58: 8822 ldrh r2, [r4, #0] + ad5a: a933 add r1, sp, #204 ; 0xcc + ad5c: a848 add r0, sp, #288 ; 0x120 + ad5e: 47d8 blx fp fill_area.y1++; - b308: f8bd 30ce ldrh.w r3, [sp, #206] ; 0xce - b30c: 3301 adds r3, #1 - b30e: f8ad 30ce strh.w r3, [sp, #206] ; 0xce + ad60: f8bd 30ce ldrh.w r3, [sp, #206] ; 0xce + ad64: 3301 adds r3, #1 + ad66: f8ad 30ce strh.w r3, [sp, #206] ; 0xce fill_area.y2++; - b312: f8bd 30d2 ldrh.w r3, [sp, #210] ; 0xd2 - b316: 3301 adds r3, #1 - b318: f8ad 30d2 strh.w r3, [sp, #210] ; 0xd2 + ad6a: f8bd 30d2 ldrh.w r3, [sp, #210] ; 0xd2 + ad6e: 3301 adds r3, #1 + ad70: f8ad 30d2 strh.w r3, [sp, #210] ; 0xd2 for(h = draw_area.y1; h <= draw_area.y2; h++) { - b31c: 3601 adds r6, #1 - b31e: f9bd 30a6 ldrsh.w r3, [sp, #166] ; 0xa6 - b322: 429e cmp r6, r3 - b324: dc1d bgt.n b362 + ad74: 3601 adds r6, #1 + ad76: f9bd 30a6 ldrsh.w r3, [sp, #166] ; 0xa6 + ad7a: 429e cmp r6, r3 + ad7c: dc1d bgt.n adba _lv_memset_ff(mask_buf, draw_area_w); - b326: 9909 ldr r1, [sp, #36] ; 0x24 - b328: 4650 mov r0, sl - b32a: 47c8 blx r9 + ad7e: 9909 ldr r1, [sp, #36] ; 0x24 + ad80: 4650 mov r0, sl + ad82: 47c8 blx r9 lv_draw_mask_res_t mask_res = lv_draw_mask_apply(mask_buf, vdb->area.x1 + draw_area.x1, vdb->area.y1 + h, draw_area_w); - b32c: 8a7a ldrh r2, [r7, #18] - b32e: 4432 add r2, r6 - b330: 8a39 ldrh r1, [r7, #16] - b332: f8bd 30a0 ldrh.w r3, [sp, #160] ; 0xa0 - b336: 4419 add r1, r3 - b338: 9b05 ldr r3, [sp, #20] - b33a: b212 sxth r2, r2 - b33c: b209 sxth r1, r1 - b33e: 4650 mov r0, sl - b340: 4d59 ldr r5, [pc, #356] ; (b4a8 ) - b342: 47a8 blx r5 + ad84: 8a7a ldrh r2, [r7, #18] + ad86: 4432 add r2, r6 + ad88: 8a39 ldrh r1, [r7, #16] + ad8a: f8bd 30a0 ldrh.w r3, [sp, #160] ; 0xa0 + ad8e: 4419 add r1, r3 + ad90: 9b05 ldr r3, [sp, #20] + ad92: b212 sxth r2, r2 + ad94: b209 sxth r1, r1 + ad96: 4650 mov r0, sl + ad98: 4d59 ldr r5, [pc, #356] ; (af00 ) + ad9a: 47a8 blx r5 if(dashed) { - b344: f1b8 0f00 cmp.w r8, #0 - b348: d0d2 beq.n b2f0 + ad9c: f1b8 0f00 cmp.w r8, #0 + ada0: d0d2 beq.n ad48 if(mask_res != LV_DRAW_MASK_RES_TRANSP) { - b34a: 2800 cmp r0, #0 - b34c: d0d0 beq.n b2f0 + ada2: 2800 cmp r0, #0 + ada4: d0d0 beq.n ad48 for(i = 0; i < draw_area_w; i++, dash_cnt++) { - b34e: 9b05 ldr r3, [sp, #20] - b350: 2b00 cmp r3, #0 - b352: dd04 ble.n b35e - b354: 9a0a ldr r2, [sp, #40] ; 0x28 - b356: 2000 movs r0, #0 + ada6: 9b05 ldr r3, [sp, #20] + ada8: 2b00 cmp r3, #0 + adaa: dd04 ble.n adb6 + adac: 9a0a ldr r2, [sp, #40] ; 0x28 + adae: 2000 movs r0, #0 dash_cnt = 0; - b358: 4601 mov r1, r0 - b35a: 461d mov r5, r3 - b35c: e7be b.n b2dc + adb0: 4601 mov r1, r0 + adb2: 461d mov r5, r3 + adb4: e7be b.n ad34 mask_res = LV_DRAW_MASK_RES_CHANGED; - b35e: 2002 movs r0, #2 - b360: e7c6 b.n b2f0 + adb6: 2002 movs r0, #2 + adb8: e7c6 b.n ad48 _lv_mem_buf_release(mask_buf); - b362: 4650 mov r0, sl - b364: 4b51 ldr r3, [pc, #324] ; (b4ac ) - b366: 4798 blx r3 - b368: e1c2 b.n b6f0 + adba: 4650 mov r0, sl + adbc: 4b51 ldr r3, [pc, #324] ; (af04 ) + adbe: 4798 blx r3 + adc0: e1c2 b.n b148 lv_opa_t opa = dsc->opa; - b36a: f894 9008 ldrb.w r9, [r4, #8] + adc2: f894 9008 ldrb.w r9, [r4, #8] lv_disp_t * disp = _lv_refr_get_disp_refreshing(); - b36e: 4b50 ldr r3, [pc, #320] ; (b4b0 ) - b370: 4798 blx r3 + adc6: 4b50 ldr r3, [pc, #320] ; (af08 ) + adc8: 4798 blx r3 lv_disp_buf_t * vdb = lv_disp_get_buf(disp); - b372: 4b50 ldr r3, [pc, #320] ; (b4b4 ) - b374: 4798 blx r3 - b376: 4680 mov r8, r0 + adca: 4b50 ldr r3, [pc, #320] ; (af0c ) + adcc: 4798 blx r3 + adce: 4680 mov r8, r0 int32_t w = dsc->width - 1; - b378: f9b4 5002 ldrsh.w r5, [r4, #2] - b37c: 3d01 subs r5, #1 + add0: f9b4 5002 ldrsh.w r5, [r4, #2] + add4: 3d01 subs r5, #1 int32_t w_half0 = w >> 1; - b37e: 106f asrs r7, r5, #1 + add6: 106f asrs r7, r5, #1 int32_t w_half1 = w_half0 + (w & 0x1); /*Compensate rounding error*/ - b380: f005 0501 and.w r5, r5, #1 - b384: 443d add r5, r7 + add8: f005 0501 and.w r5, r5, #1 + addc: 443d add r5, r7 bool dashed = dsc->dash_gap && dsc->dash_width ? true : false; - b386: f9b4 3006 ldrsh.w r3, [r4, #6] - b38a: b12b cbz r3, b398 - b38c: f9b4 6004 ldrsh.w r6, [r4, #4] - b390: 3600 adds r6, #0 - b392: bf18 it ne - b394: 2601 movne r6, #1 - b396: e000 b.n b39a - b398: 2600 movs r6, #0 + adde: f9b4 3006 ldrsh.w r3, [r4, #6] + ade2: b12b cbz r3, adf0 + ade4: f9b4 6004 ldrsh.w r6, [r4, #4] + ade8: 3600 adds r6, #0 + adea: bf18 it ne + adec: 2601 movne r6, #1 + adee: e000 b.n adf2 + adf0: 2600 movs r6, #0 if(lv_draw_mask_get_cnt()) simple_mode = false; - b39a: 4b47 ldr r3, [pc, #284] ; (b4b8 ) - b39c: 4798 blx r3 - b39e: b910 cbnz r0, b3a6 + adf2: 4b47 ldr r3, [pc, #284] ; (af10 ) + adf4: 4798 blx r3 + adf6: b910 cbnz r0, adfe else if(dashed) simple_mode = false; - b3a0: f086 0201 eor.w r2, r6, #1 - b3a4: e000 b.n b3a8 + adf8: f086 0201 eor.w r2, r6, #1 + adfc: e000 b.n ae00 if(lv_draw_mask_get_cnt()) simple_mode = false; - b3a6: 2200 movs r2, #0 + adfe: 2200 movs r2, #0 draw_area.x1 = point1->x - w_half1; - b3a8: 9906 ldr r1, [sp, #24] - b3aa: 880b ldrh r3, [r1, #0] - b3ac: 1b5d subs r5, r3, r5 - b3ae: f8ad 50a0 strh.w r5, [sp, #160] ; 0xa0 + ae00: 9906 ldr r1, [sp, #24] + ae02: 880b ldrh r3, [r1, #0] + ae04: 1b5d subs r5, r3, r5 + ae06: f8ad 50a0 strh.w r5, [sp, #160] ; 0xa0 draw_area.x2 = point1->x + w_half0; - b3b2: 441f add r7, r3 - b3b4: f8ad 70a4 strh.w r7, [sp, #164] ; 0xa4 + ae0a: 441f add r7, r3 + ae0c: f8ad 70a4 strh.w r7, [sp, #164] ; 0xa4 draw_area.y1 = LV_MATH_MIN(point1->y, point2->y); - b3b8: 9b07 ldr r3, [sp, #28] - b3ba: f9b3 3002 ldrsh.w r3, [r3, #2] - b3be: f9b1 1002 ldrsh.w r1, [r1, #2] - b3c2: 4618 mov r0, r3 - b3c4: 428b cmp r3, r1 - b3c6: bfa8 it ge - b3c8: 4608 movge r0, r1 - b3ca: f8ad 00a2 strh.w r0, [sp, #162] ; 0xa2 + ae10: 9b07 ldr r3, [sp, #28] + ae12: f9b3 3002 ldrsh.w r3, [r3, #2] + ae16: f9b1 1002 ldrsh.w r1, [r1, #2] + ae1a: 4618 mov r0, r3 + ae1c: 428b cmp r3, r1 + ae1e: bfa8 it ge + ae20: 4608 movge r0, r1 + ae22: f8ad 00a2 strh.w r0, [sp, #162] ; 0xa2 draw_area.y2 = LV_MATH_MAX(point1->y, point2->y) - 1; - b3ce: 428b cmp r3, r1 - b3d0: bfb8 it lt - b3d2: 460b movlt r3, r1 - b3d4: 3b01 subs r3, #1 - b3d6: f8ad 30a6 strh.w r3, [sp, #166] ; 0xa6 + ae26: 428b cmp r3, r1 + ae28: bfb8 it lt + ae2a: 460b movlt r3, r1 + ae2c: 3b01 subs r3, #1 + ae2e: f8ad 30a6 strh.w r3, [sp, #166] ; 0xa6 if(simple_mode) { - b3da: b172 cbz r2, b3fa + ae32: b172 cbz r2, ae52 dsc->blend_mode); - b3dc: 7a63 ldrb r3, [r4, #9] + ae34: 7a63 ldrb r3, [r4, #9] _lv_blend_fill(clip, &draw_area, - b3de: f003 0303 and.w r3, r3, #3 - b3e2: 9302 str r3, [sp, #8] - b3e4: f8cd 9004 str.w r9, [sp, #4] - b3e8: 2301 movs r3, #1 - b3ea: 9300 str r3, [sp, #0] - b3ec: 2300 movs r3, #0 - b3ee: 8822 ldrh r2, [r4, #0] - b3f0: a928 add r1, sp, #160 ; 0xa0 - b3f2: a848 add r0, sp, #288 ; 0x120 - b3f4: 4d31 ldr r5, [pc, #196] ; (b4bc ) - b3f6: 47a8 blx r5 - b3f8: e17a b.n b6f0 + ae36: f003 0303 and.w r3, r3, #3 + ae3a: 9302 str r3, [sp, #8] + ae3c: f8cd 9004 str.w r9, [sp, #4] + ae40: 2301 movs r3, #1 + ae42: 9300 str r3, [sp, #0] + ae44: 2300 movs r3, #0 + ae46: 8822 ldrh r2, [r4, #0] + ae48: a928 add r1, sp, #160 ; 0xa0 + ae4a: a848 add r0, sp, #288 ; 0x120 + ae4c: 4d31 ldr r5, [pc, #196] ; (af14 ) + ae4e: 47a8 blx r5 + ae50: e17a b.n b148 is_common = _lv_area_intersect(&draw_area, clip, &draw_area); - b3fa: aa28 add r2, sp, #160 ; 0xa0 - b3fc: a948 add r1, sp, #288 ; 0x120 - b3fe: 4610 mov r0, r2 - b400: 4b27 ldr r3, [pc, #156] ; (b4a0 ) - b402: 4798 blx r3 + ae52: aa28 add r2, sp, #160 ; 0xa0 + ae54: a948 add r1, sp, #288 ; 0x120 + ae56: 4610 mov r0, r2 + ae58: 4b27 ldr r3, [pc, #156] ; (aef8 ) + ae5a: 4798 blx r3 if(!is_common) return; - b404: 2800 cmp r0, #0 - b406: f000 8173 beq.w b6f0 + ae5c: 2800 cmp r0, #0 + ae5e: f000 8173 beq.w b148 draw_area.x1 -= vdb->area.x1; - b40a: f9bd 00a0 ldrsh.w r0, [sp, #160] ; 0xa0 - b40e: f8b8 3010 ldrh.w r3, [r8, #16] - b412: 1ac5 subs r5, r0, r3 - b414: b2ad uxth r5, r5 - b416: f8ad 50a0 strh.w r5, [sp, #160] ; 0xa0 + ae62: f9bd 00a0 ldrsh.w r0, [sp, #160] ; 0xa0 + ae66: f8b8 3010 ldrh.w r3, [r8, #16] + ae6a: 1ac5 subs r5, r0, r3 + ae6c: b2ad uxth r5, r5 + ae6e: f8ad 50a0 strh.w r5, [sp, #160] ; 0xa0 draw_area.y1 -= vdb->area.y1; - b41a: f9bd 20a2 ldrsh.w r2, [sp, #162] ; 0xa2 - b41e: f8b8 7012 ldrh.w r7, [r8, #18] - b422: 1bd1 subs r1, r2, r7 - b424: f8ad 10a2 strh.w r1, [sp, #162] ; 0xa2 + ae72: f9bd 20a2 ldrsh.w r2, [sp, #162] ; 0xa2 + ae76: f8b8 7012 ldrh.w r7, [r8, #18] + ae7a: 1bd1 subs r1, r2, r7 + ae7c: f8ad 10a2 strh.w r1, [sp, #162] ; 0xa2 draw_area.x2 -= vdb->area.x1; - b428: f9bd 10a4 ldrsh.w r1, [sp, #164] ; 0xa4 - b42c: 1acb subs r3, r1, r3 - b42e: b29b uxth r3, r3 - b430: f8ad 30a4 strh.w r3, [sp, #164] ; 0xa4 + ae80: f9bd 10a4 ldrsh.w r1, [sp, #164] ; 0xa4 + ae84: 1acb subs r3, r1, r3 + ae86: b29b uxth r3, r3 + ae88: f8ad 30a4 strh.w r3, [sp, #164] ; 0xa4 draw_area.y2 -= vdb->area.y1; - b434: f8bd e0a6 ldrh.w lr, [sp, #166] ; 0xa6 - b438: ebae 0707 sub.w r7, lr, r7 - b43c: f8ad 70a6 strh.w r7, [sp, #166] ; 0xa6 - b440: 3301 adds r3, #1 - b442: 1b5b subs r3, r3, r5 - b444: b21b sxth r3, r3 - b446: 9309 str r3, [sp, #36] ; 0x24 + ae8c: f8bd e0a6 ldrh.w lr, [sp, #166] ; 0xa6 + ae90: ebae 0707 sub.w r7, lr, r7 + ae94: f8ad 70a6 strh.w r7, [sp, #166] ; 0xa6 + ae98: 3301 adds r3, #1 + ae9a: 1b5b subs r3, r3, r5 + ae9c: b21b sxth r3, r3 + ae9e: 9309 str r3, [sp, #36] ; 0x24 fill_area.x1 = draw_area.x1 + disp_area->x1; - b448: f8ad 00cc strh.w r0, [sp, #204] ; 0xcc + aea0: f8ad 00cc strh.w r0, [sp, #204] ; 0xcc fill_area.x2 = draw_area.x2 + disp_area->x1; - b44c: f8ad 10d0 strh.w r1, [sp, #208] ; 0xd0 + aea4: f8ad 10d0 strh.w r1, [sp, #208] ; 0xd0 fill_area.y1 = draw_area.y1 + disp_area->y1; - b450: f8ad 20ce strh.w r2, [sp, #206] ; 0xce + aea8: f8ad 20ce strh.w r2, [sp, #206] ; 0xce fill_area.y2 = fill_area.y1; - b454: f8ad 20d2 strh.w r2, [sp, #210] ; 0xd2 + aeac: f8ad 20d2 strh.w r2, [sp, #210] ; 0xd2 lv_opa_t * mask_buf = _lv_mem_buf_get(draw_area_w); - b458: 930a str r3, [sp, #40] ; 0x28 - b45a: 4618 mov r0, r3 - b45c: 4b11 ldr r3, [pc, #68] ; (b4a4 ) - b45e: 4798 blx r3 - b460: 9005 str r0, [sp, #20] + aeb0: 930a str r3, [sp, #40] ; 0x28 + aeb2: 4618 mov r0, r3 + aeb4: 4b11 ldr r3, [pc, #68] ; (aefc ) + aeb6: 4798 blx r3 + aeb8: 9005 str r0, [sp, #20] if(dashed) { - b462: b176 cbz r6, b482 + aeba: b176 cbz r6, aeda dash_start = (vdb->area.x1 + draw_area.x1) % (dsc->dash_gap + dsc->dash_width); - b464: f9b8 2010 ldrsh.w r2, [r8, #16] - b468: f9bd 70a0 ldrsh.w r7, [sp, #160] ; 0xa0 - b46c: 443a add r2, r7 - b46e: f9b4 3006 ldrsh.w r3, [r4, #6] - b472: f9b4 7004 ldrsh.w r7, [r4, #4] - b476: 443b add r3, r7 - b478: fb92 f7f3 sdiv r7, r2, r3 - b47c: fb03 2717 mls r7, r3, r7, r2 - b480: e000 b.n b484 + aebc: f9b8 2010 ldrsh.w r2, [r8, #16] + aec0: f9bd 70a0 ldrsh.w r7, [sp, #160] ; 0xa0 + aec4: 443a add r2, r7 + aec6: f9b4 3006 ldrsh.w r3, [r4, #6] + aeca: f9b4 7004 ldrsh.w r7, [r4, #4] + aece: 443b add r3, r7 + aed0: fb92 f7f3 sdiv r7, r2, r3 + aed4: fb03 2717 mls r7, r3, r7, r2 + aed8: e000 b.n aedc if(dashed) { - b482: 2700 movs r7, #0 - b484: b23f sxth r7, r7 + aeda: 2700 movs r7, #0 + aedc: b23f sxth r7, r7 for(h = draw_area.y1; h <= draw_area.y2; h++) { - b486: f9bd 50a2 ldrsh.w r5, [sp, #162] ; 0xa2 - b48a: f9bd 30a6 ldrsh.w r3, [sp, #166] ; 0xa6 - b48e: 429d cmp r5, r3 - b490: dc53 bgt.n b53a + aede: f9bd 50a2 ldrsh.w r5, [sp, #162] ; 0xa2 + aee2: f9bd 30a6 ldrsh.w r3, [sp, #166] ; 0xa6 + aee6: 429d cmp r5, r3 + aee8: dc53 bgt.n af92 _lv_memset_ff(mask_buf, draw_area_w); - b492: f8df 902c ldr.w r9, [pc, #44] ; b4c0 + aeea: f8df 902c ldr.w r9, [pc, #44] ; af18 lv_draw_mask_res_t mask_res = lv_draw_mask_apply(mask_buf, vdb->area.x1 + draw_area.x1, vdb->area.y1 + h, draw_area_w); - b496: f8df a010 ldr.w sl, [pc, #16] ; b4a8 + aeee: f8df a010 ldr.w sl, [pc, #16] ; af00 _lv_blend_fill(clip, &fill_area, - b49a: f8df b020 ldr.w fp, [pc, #32] ; b4bc - b49e: e02c b.n b4fa - b4a0: 00011ac1 .word 0x00011ac1 - b4a4: 00012ee5 .word 0x00012ee5 - b4a8: 0000c3c5 .word 0x0000c3c5 - b4ac: 00012b19 .word 0x00012b19 - b4b0: 00006511 .word 0x00006511 - b4b4: 00011585 .word 0x00011585 - b4b8: 0000c46d .word 0x0000c46d - b4bc: 00007cf9 .word 0x00007cf9 - b4c0: 00013195 .word 0x00013195 + aef2: f8df b020 ldr.w fp, [pc, #32] ; af14 + aef6: e02c b.n af52 + aef8: 00011519 .word 0x00011519 + aefc: 0001293d .word 0x0001293d + af00: 0000be1d .word 0x0000be1d + af04: 00012571 .word 0x00012571 + af08: 00005f69 .word 0x00005f69 + af0c: 00010fdd .word 0x00010fdd + af10: 0000bec5 .word 0x0000bec5 + af14: 00007751 .word 0x00007751 + af18: 00012bed .word 0x00012bed dash_cnt ++; - b4c4: 3701 adds r7, #1 - b4c6: b23f sxth r7, r7 + af1c: 3701 adds r7, #1 + af1e: b23f sxth r7, r7 _lv_blend_fill(clip, &fill_area, - b4c8: 2300 movs r3, #0 - b4ca: 9302 str r3, [sp, #8] - b4cc: 7a23 ldrb r3, [r4, #8] - b4ce: 9301 str r3, [sp, #4] - b4d0: 9000 str r0, [sp, #0] - b4d2: 9b05 ldr r3, [sp, #20] - b4d4: 8822 ldrh r2, [r4, #0] - b4d6: a933 add r1, sp, #204 ; 0xcc - b4d8: a848 add r0, sp, #288 ; 0x120 - b4da: 47d8 blx fp + af20: 2300 movs r3, #0 + af22: 9302 str r3, [sp, #8] + af24: 7a23 ldrb r3, [r4, #8] + af26: 9301 str r3, [sp, #4] + af28: 9000 str r0, [sp, #0] + af2a: 9b05 ldr r3, [sp, #20] + af2c: 8822 ldrh r2, [r4, #0] + af2e: a933 add r1, sp, #204 ; 0xcc + af30: a848 add r0, sp, #288 ; 0x120 + af32: 47d8 blx fp fill_area.y1++; - b4dc: f8bd 30ce ldrh.w r3, [sp, #206] ; 0xce - b4e0: 3301 adds r3, #1 - b4e2: f8ad 30ce strh.w r3, [sp, #206] ; 0xce + af34: f8bd 30ce ldrh.w r3, [sp, #206] ; 0xce + af38: 3301 adds r3, #1 + af3a: f8ad 30ce strh.w r3, [sp, #206] ; 0xce fill_area.y2++; - b4e6: f8bd 30d2 ldrh.w r3, [sp, #210] ; 0xd2 - b4ea: 3301 adds r3, #1 - b4ec: f8ad 30d2 strh.w r3, [sp, #210] ; 0xd2 + af3e: f8bd 30d2 ldrh.w r3, [sp, #210] ; 0xd2 + af42: 3301 adds r3, #1 + af44: f8ad 30d2 strh.w r3, [sp, #210] ; 0xd2 for(h = draw_area.y1; h <= draw_area.y2; h++) { - b4f0: 3501 adds r5, #1 - b4f2: f9bd 30a6 ldrsh.w r3, [sp, #166] ; 0xa6 - b4f6: 429d cmp r5, r3 - b4f8: dc1f bgt.n b53a + af48: 3501 adds r5, #1 + af4a: f9bd 30a6 ldrsh.w r3, [sp, #166] ; 0xa6 + af4e: 429d cmp r5, r3 + af50: dc1f bgt.n af92 _lv_memset_ff(mask_buf, draw_area_w); - b4fa: 990a ldr r1, [sp, #40] ; 0x28 - b4fc: 9805 ldr r0, [sp, #20] - b4fe: 47c8 blx r9 + af52: 990a ldr r1, [sp, #40] ; 0x28 + af54: 9805 ldr r0, [sp, #20] + af56: 47c8 blx r9 lv_draw_mask_res_t mask_res = lv_draw_mask_apply(mask_buf, vdb->area.x1 + draw_area.x1, vdb->area.y1 + h, draw_area_w); - b500: f8b8 2012 ldrh.w r2, [r8, #18] - b504: 442a add r2, r5 - b506: f8b8 1010 ldrh.w r1, [r8, #16] - b50a: f8bd 30a0 ldrh.w r3, [sp, #160] ; 0xa0 - b50e: 4419 add r1, r3 - b510: 9b09 ldr r3, [sp, #36] ; 0x24 - b512: b212 sxth r2, r2 - b514: b209 sxth r1, r1 - b516: 9805 ldr r0, [sp, #20] - b518: 47d0 blx sl + af58: f8b8 2012 ldrh.w r2, [r8, #18] + af5c: 442a add r2, r5 + af5e: f8b8 1010 ldrh.w r1, [r8, #16] + af62: f8bd 30a0 ldrh.w r3, [sp, #160] ; 0xa0 + af66: 4419 add r1, r3 + af68: 9b09 ldr r3, [sp, #36] ; 0x24 + af6a: b212 sxth r2, r2 + af6c: b209 sxth r1, r1 + af6e: 9805 ldr r0, [sp, #20] + af70: 47d0 blx sl if(dashed) { - b51a: 2e00 cmp r6, #0 - b51c: d0d4 beq.n b4c8 + af72: 2e00 cmp r6, #0 + af74: d0d4 beq.n af20 if(mask_res != LV_DRAW_MASK_RES_TRANSP) { - b51e: 2800 cmp r0, #0 - b520: d0d0 beq.n b4c4 + af76: 2800 cmp r0, #0 + af78: d0d0 beq.n af1c if(dash_cnt > dsc->dash_width) { - b522: f9b4 2004 ldrsh.w r2, [r4, #4] + af7a: f9b4 2004 ldrsh.w r2, [r4, #4] mask_res = LV_DRAW_MASK_RES_TRANSP; - b526: 42ba cmp r2, r7 - b528: bfb8 it lt - b52a: 2000 movlt r0, #0 + af7e: 42ba cmp r2, r7 + af80: bfb8 it lt + af82: 2000 movlt r0, #0 if(dash_cnt >= dsc->dash_gap + dsc->dash_width) { - b52c: f9b4 3006 ldrsh.w r3, [r4, #6] - b530: 4413 add r3, r2 + af84: f9b4 3006 ldrsh.w r3, [r4, #6] + af88: 4413 add r3, r2 dash_cnt = 0; - b532: 429f cmp r7, r3 - b534: bfa8 it ge - b536: 2700 movge r7, #0 - b538: e7c4 b.n b4c4 + af8a: 429f cmp r7, r3 + af8c: bfa8 it ge + af8e: 2700 movge r7, #0 + af90: e7c4 b.n af1c _lv_mem_buf_release(mask_buf); - b53a: 9805 ldr r0, [sp, #20] - b53c: 4b97 ldr r3, [pc, #604] ; (b79c ) - b53e: 4798 blx r3 - b540: e0d6 b.n b6f0 + af92: 9805 ldr r0, [sp, #20] + af94: 4b97 ldr r3, [pc, #604] ; (b1f4 ) + af96: 4798 blx r3 + af98: e0d6 b.n b148 lv_draw_mask_line_points_init(&mask_left_param, p1.x, p1.y + w_half1, p2.x, p2.y + w_half1, - b542: fa1f fb86 uxth.w fp, r6 - b546: f8bd 802c ldrh.w r8, [sp, #44] ; 0x2c - b54a: b2a9 uxth r1, r5 - b54c: eb0b 0208 add.w r2, fp, r8 - b550: 2300 movs r3, #0 - b552: 9301 str r3, [sp, #4] - b554: 460f mov r7, r1 - b556: 4488 add r8, r1 - b558: fa0f f388 sxth.w r3, r8 - b55c: 9300 str r3, [sp, #0] - b55e: 4653 mov r3, sl - b560: b212 sxth r2, r2 - b562: 9905 ldr r1, [sp, #20] - b564: a812 add r0, sp, #72 ; 0x48 - b566: f8df 8238 ldr.w r8, [pc, #568] ; b7a0 - b56a: 47c0 blx r8 + af9a: fa1f fb86 uxth.w fp, r6 + af9e: f8bd 802c ldrh.w r8, [sp, #44] ; 0x2c + afa2: b2a9 uxth r1, r5 + afa4: eb0b 0208 add.w r2, fp, r8 + afa8: 2300 movs r3, #0 + afaa: 9301 str r3, [sp, #4] + afac: 460f mov r7, r1 + afae: 4488 add r8, r1 + afb0: fa0f f388 sxth.w r3, r8 + afb4: 9300 str r3, [sp, #0] + afb6: 4653 mov r3, sl + afb8: b212 sxth r2, r2 + afba: 9905 ldr r1, [sp, #20] + afbc: a812 add r0, sp, #72 ; 0x48 + afbe: f8df 8238 ldr.w r8, [pc, #568] ; b1f8 + afc2: 47c0 blx r8 lv_draw_mask_line_points_init(&mask_right_param, p1.x, p1.y - w_half0, p2.x, p2.y - w_half0, - b56c: fa1f f389 uxth.w r3, r9 - b570: ebab 0203 sub.w r2, fp, r3 - b574: 2101 movs r1, #1 - b576: 9101 str r1, [sp, #4] - b578: 1afb subs r3, r7, r3 - b57a: b21b sxth r3, r3 - b57c: 9300 str r3, [sp, #0] - b57e: 4653 mov r3, sl - b580: b212 sxth r2, r2 - b582: 9905 ldr r1, [sp, #20] - b584: a81d add r0, sp, #116 ; 0x74 - b586: 47c0 blx r8 - b588: e570 b.n b06c + afc4: fa1f f389 uxth.w r3, r9 + afc8: ebab 0203 sub.w r2, fp, r3 + afcc: 2101 movs r1, #1 + afce: 9101 str r1, [sp, #4] + afd0: 1afb subs r3, r7, r3 + afd2: b21b sxth r3, r3 + afd4: 9300 str r3, [sp, #0] + afd6: 4653 mov r3, sl + afd8: b212 sxth r2, r2 + afda: 9905 ldr r1, [sp, #20] + afdc: a81d add r0, sp, #116 ; 0x74 + afde: 47c0 blx r8 + afe0: e570 b.n aac4 lv_draw_mask_line_points_init(&mask_left_param, p1.x + w_half1, p1.y, p2.x + w_half1, p2.y, - b58a: f8bd b014 ldrh.w fp, [sp, #20] - b58e: f8bd 802c ldrh.w r8, [sp, #44] ; 0x2c - b592: fa1f f38a uxth.w r3, sl - b596: 461f mov r7, r3 - b598: 4443 add r3, r8 - b59a: 44d8 add r8, fp - b59c: 2200 movs r2, #0 - b59e: 9201 str r2, [sp, #4] - b5a0: 9500 str r5, [sp, #0] - b5a2: b21b sxth r3, r3 - b5a4: 4632 mov r2, r6 - b5a6: fa0f f188 sxth.w r1, r8 - b5aa: a812 add r0, sp, #72 ; 0x48 - b5ac: f8df 81f0 ldr.w r8, [pc, #496] ; b7a0 - b5b0: 47c0 blx r8 + afe2: f8bd b014 ldrh.w fp, [sp, #20] + afe6: f8bd 802c ldrh.w r8, [sp, #44] ; 0x2c + afea: fa1f f38a uxth.w r3, sl + afee: 461f mov r7, r3 + aff0: 4443 add r3, r8 + aff2: 44d8 add r8, fp + aff4: 2200 movs r2, #0 + aff6: 9201 str r2, [sp, #4] + aff8: 9500 str r5, [sp, #0] + affa: b21b sxth r3, r3 + affc: 4632 mov r2, r6 + affe: fa0f f188 sxth.w r1, r8 + b002: a812 add r0, sp, #72 ; 0x48 + b004: f8df 81f0 ldr.w r8, [pc, #496] ; b1f8 + b008: 47c0 blx r8 lv_draw_mask_line_points_init(&mask_right_param, p1.x - w_half0, p1.y, p2.x - w_half0, p2.y, - b5b2: fa1f f989 uxth.w r9, r9 - b5b6: eba7 0309 sub.w r3, r7, r9 - b5ba: ebab 0909 sub.w r9, fp, r9 - b5be: 2201 movs r2, #1 - b5c0: 9201 str r2, [sp, #4] - b5c2: 9500 str r5, [sp, #0] - b5c4: b21b sxth r3, r3 - b5c6: 4632 mov r2, r6 - b5c8: fa0f f189 sxth.w r1, r9 - b5cc: a81d add r0, sp, #116 ; 0x74 - b5ce: 47c0 blx r8 - b5d0: e54c b.n b06c + b00a: fa1f f989 uxth.w r9, r9 + b00e: eba7 0309 sub.w r3, r7, r9 + b012: ebab 0909 sub.w r9, fp, r9 + b016: 2201 movs r2, #1 + b018: 9201 str r2, [sp, #4] + b01a: 9500 str r5, [sp, #0] + b01c: b21b sxth r3, r3 + b01e: 4632 mov r2, r6 + b020: fa0f f189 sxth.w r1, r9 + b024: a81d add r0, sp, #116 ; 0x74 + b026: 47c0 blx r8 + b028: e54c b.n aac4 lv_draw_mask_line_points_init(&mask_top_param, p1.x, p1.y, p1.x - ydiff, p1.y + xdiff, LV_DRAW_MASK_LINE_SIDE_BOTTOM); - b5d2: f8bd 8028 ldrh.w r8, [sp, #40] ; 0x28 - b5d6: f8bd 9024 ldrh.w r9, [sp, #36] ; 0x24 - b5da: 9905 ldr r1, [sp, #20] - b5dc: eba1 0308 sub.w r3, r1, r8 - b5e0: 2203 movs r2, #3 - b5e2: 9201 str r2, [sp, #4] - b5e4: eb09 0206 add.w r2, r9, r6 - b5e8: b212 sxth r2, r2 - b5ea: 9200 str r2, [sp, #0] - b5ec: b21b sxth r3, r3 - b5ee: 4632 mov r2, r6 - b5f0: a828 add r0, sp, #160 ; 0xa0 - b5f2: 4e6b ldr r6, [pc, #428] ; (b7a0 ) - b5f4: 47b0 blx r6 + b02a: f8bd 8028 ldrh.w r8, [sp, #40] ; 0x28 + b02e: f8bd 9024 ldrh.w r9, [sp, #36] ; 0x24 + b032: 9905 ldr r1, [sp, #20] + b034: eba1 0308 sub.w r3, r1, r8 + b038: 2203 movs r2, #3 + b03a: 9201 str r2, [sp, #4] + b03c: eb09 0206 add.w r2, r9, r6 + b040: b212 sxth r2, r2 + b042: 9200 str r2, [sp, #0] + b044: b21b sxth r3, r3 + b046: 4632 mov r2, r6 + b048: a828 add r0, sp, #160 ; 0xa0 + b04a: 4e6b ldr r6, [pc, #428] ; (b1f8 ) + b04c: 47b0 blx r6 lv_draw_mask_line_points_init(&mask_bottom_param, p2.x, p2.y, p2.x - ydiff, p2.y + xdiff, LV_DRAW_MASK_LINE_SIDE_TOP); - b5f6: ebaa 0308 sub.w r3, sl, r8 - b5fa: 2202 movs r2, #2 - b5fc: 9201 str r2, [sp, #4] - b5fe: eb09 0205 add.w r2, r9, r5 - b602: b212 sxth r2, r2 - b604: 9200 str r2, [sp, #0] - b606: b21b sxth r3, r3 - b608: 462a mov r2, r5 - b60a: 4651 mov r1, sl - b60c: a833 add r0, sp, #204 ; 0xcc - b60e: 47b0 blx r6 + b04e: ebaa 0308 sub.w r3, sl, r8 + b052: 2202 movs r2, #2 + b054: 9201 str r2, [sp, #4] + b056: eb09 0205 add.w r2, r9, r5 + b05a: b212 sxth r2, r2 + b05c: 9200 str r2, [sp, #0] + b05e: b21b sxth r3, r3 + b060: 462a mov r2, r5 + b062: 4651 mov r1, sl + b064: a833 add r0, sp, #204 ; 0xcc + b066: 47b0 blx r6 mask_top_id = lv_draw_mask_add(&mask_top_param, NULL); - b610: 2100 movs r1, #0 - b612: a828 add r0, sp, #160 ; 0xa0 - b614: 4d63 ldr r5, [pc, #396] ; (b7a4 ) - b616: 47a8 blx r5 - b618: 900a str r0, [sp, #40] ; 0x28 + b068: 2100 movs r1, #0 + b06a: a828 add r0, sp, #160 ; 0xa0 + b06c: 4d63 ldr r5, [pc, #396] ; (b1fc ) + b06e: 47a8 blx r5 + b070: 900a str r0, [sp, #40] ; 0x28 mask_bottom_id = lv_draw_mask_add(&mask_bottom_param, NULL); - b61a: 2100 movs r1, #0 - b61c: a833 add r0, sp, #204 ; 0xcc - b61e: 47a8 blx r5 - b620: 900d str r0, [sp, #52] ; 0x34 - b622: e536 b.n b092 + b072: 2100 movs r1, #0 + b074: a833 add r0, sp, #204 ; 0xcc + b076: 47a8 blx r5 + b078: 900d str r0, [sp, #52] ; 0x34 + b07a: e536 b.n aaea size_t mask_buf_size = LV_MATH_MIN(lv_area_get_size(&draw_area), LV_HOR_RES_MAX); - b624: a80e add r0, sp, #56 ; 0x38 - b626: 4b60 ldr r3, [pc, #384] ; (b7a8 ) - b628: 4798 blx r3 - b62a: 4683 mov fp, r0 - b62c: e55a b.n b0e4 + b07c: a80e add r0, sp, #56 ; 0x38 + b07e: 4b60 ldr r3, [pc, #384] ; (b200 ) + b080: 4798 blx r3 + b082: 4683 mov fp, r0 + b084: e55a b.n ab3c _lv_memset_00(&mask_buf[mask_p], draw_area_w); - b62e: 4629 mov r1, r5 - b630: 4640 mov r0, r8 - b632: 4b5e ldr r3, [pc, #376] ; (b7ac ) - b634: 4798 blx r3 - b636: e02d b.n b694 + b086: 4629 mov r1, r5 + b088: 4640 mov r0, r8 + b08a: 4b5e ldr r3, [pc, #376] ; (b204 ) + b08c: 4798 blx r3 + b08e: e02d b.n b0ec dsc->color, mask_buf, LV_DRAW_MASK_RES_CHANGED, dsc->opa, dsc->blend_mode); - b638: 9a09 ldr r2, [sp, #36] ; 0x24 - b63a: 7a53 ldrb r3, [r2, #9] + b090: 9a09 ldr r2, [sp, #36] ; 0x24 + b092: 7a53 ldrb r3, [r2, #9] _lv_blend_fill(&fill_area, clip, - b63c: f003 0303 and.w r3, r3, #3 - b640: 9302 str r3, [sp, #8] - b642: 7a13 ldrb r3, [r2, #8] - b644: 9301 str r3, [sp, #4] - b646: 2302 movs r3, #2 - b648: 9300 str r3, [sp, #0] - b64a: 464b mov r3, r9 - b64c: 8812 ldrh r2, [r2, #0] - b64e: a948 add r1, sp, #288 ; 0x120 - b650: a810 add r0, sp, #64 ; 0x40 - b652: 4c57 ldr r4, [pc, #348] ; (b7b0 ) - b654: 47a0 blx r4 + b094: f003 0303 and.w r3, r3, #3 + b098: 9302 str r3, [sp, #8] + b09a: 7a13 ldrb r3, [r2, #8] + b09c: 9301 str r3, [sp, #4] + b09e: 2302 movs r3, #2 + b0a0: 9300 str r3, [sp, #0] + b0a2: 464b mov r3, r9 + b0a4: 8812 ldrh r2, [r2, #0] + b0a6: a948 add r1, sp, #288 ; 0x120 + b0a8: a810 add r0, sp, #64 ; 0x40 + b0aa: 4c57 ldr r4, [pc, #348] ; (b208 ) + b0ac: 47a0 blx r4 fill_area.y1 = fill_area.y2 + 1; - b656: f8bd 3046 ldrh.w r3, [sp, #70] ; 0x46 - b65a: 3301 adds r3, #1 - b65c: b21b sxth r3, r3 - b65e: f8ad 3042 strh.w r3, [sp, #66] ; 0x42 + b0ae: f8bd 3046 ldrh.w r3, [sp, #70] ; 0x46 + b0b2: 3301 adds r3, #1 + b0b4: b21b sxth r3, r3 + b0b6: f8ad 3042 strh.w r3, [sp, #66] ; 0x42 fill_area.y2 = fill_area.y1; - b662: f8ad 3046 strh.w r3, [sp, #70] ; 0x46 + b0ba: f8ad 3046 strh.w r3, [sp, #70] ; 0x46 mask_p = 0; _lv_memset_ff(mask_buf, mask_buf_size); - b666: 4659 mov r1, fp - b668: 4648 mov r0, r9 - b66a: 4b52 ldr r3, [pc, #328] ; (b7b4 ) - b66c: 4798 blx r3 + b0be: 4659 mov r1, fp + b0c0: 4648 mov r0, r9 + b0c2: 4b52 ldr r3, [pc, #328] ; (b20c ) + b0c4: 4798 blx r3 mask_p = 0; - b66e: 2700 movs r7, #0 + b0c6: 2700 movs r7, #0 for(h = draw_area.y1 + disp_area->y1; h <= draw_area.y2 + disp_area->y1; h++) { - b670: 3601 adds r6, #1 - b672: f9bd 303e ldrsh.w r3, [sp, #62] ; 0x3e - b676: f9ba 2012 ldrsh.w r2, [sl, #18] - b67a: 4413 add r3, r2 - b67c: 429e cmp r6, r3 - b67e: dc13 bgt.n b6a8 + b0c8: 3601 adds r6, #1 + b0ca: f9bd 303e ldrsh.w r3, [sp, #62] ; 0x3e + b0ce: f9ba 2012 ldrsh.w r2, [sl, #18] + b0d2: 4413 add r3, r2 + b0d4: 429e cmp r6, r3 + b0d6: dc13 bgt.n b100 lv_draw_mask_res_t mask_res = lv_draw_mask_apply(&mask_buf[mask_p], x, h, draw_area_w); - b680: eb09 0807 add.w r8, r9, r7 - b684: 462b mov r3, r5 - b686: b232 sxth r2, r6 - b688: 9905 ldr r1, [sp, #20] - b68a: 4640 mov r0, r8 - b68c: 4c4a ldr r4, [pc, #296] ; (b7b8 ) - b68e: 47a0 blx r4 + b0d8: eb09 0807 add.w r8, r9, r7 + b0dc: 462b mov r3, r5 + b0de: b232 sxth r2, r6 + b0e0: 9905 ldr r1, [sp, #20] + b0e2: 4640 mov r0, r8 + b0e4: 4c4a ldr r4, [pc, #296] ; (b210 ) + b0e6: 47a0 blx r4 if(mask_res == LV_DRAW_MASK_RES_TRANSP) { - b690: 2800 cmp r0, #0 - b692: d0cc beq.n b62e + b0e8: 2800 cmp r0, #0 + b0ea: d0cc beq.n b086 mask_p += draw_area_w; - b694: 442f add r7, r5 + b0ec: 442f add r7, r5 if((uint32_t) mask_p + draw_area_w < mask_buf_size) { - b696: 19eb adds r3, r5, r7 - b698: 459b cmp fp, r3 - b69a: d9cd bls.n b638 + b0ee: 19eb adds r3, r5, r7 + b0f0: 459b cmp fp, r3 + b0f2: d9cd bls.n b090 fill_area.y2 ++; - b69c: f8bd 3046 ldrh.w r3, [sp, #70] ; 0x46 - b6a0: 3301 adds r3, #1 - b6a2: f8ad 3046 strh.w r3, [sp, #70] ; 0x46 - b6a6: e7e3 b.n b670 - b6a8: 9c09 ldr r4, [sp, #36] ; 0x24 + b0f4: f8bd 3046 ldrh.w r3, [sp, #70] ; 0x46 + b0f8: 3301 adds r3, #1 + b0fa: f8ad 3046 strh.w r3, [sp, #70] ; 0x46 + b0fe: e7e3 b.n b0c8 + b100: 9c09 ldr r4, [sp, #36] ; 0x24 } } /*Flush the last part*/ if(fill_area.y1 != fill_area.y2) { - b6aa: f9bd 3046 ldrsh.w r3, [sp, #70] ; 0x46 - b6ae: f9bd 2042 ldrsh.w r2, [sp, #66] ; 0x42 - b6b2: 429a cmp r2, r3 - b6b4: d010 beq.n b6d8 + b102: f9bd 3046 ldrsh.w r3, [sp, #70] ; 0x46 + b106: f9bd 2042 ldrsh.w r2, [sp, #66] ; 0x42 + b10a: 429a cmp r2, r3 + b10c: d010 beq.n b130 fill_area.y2--; - b6b6: 3b01 subs r3, #1 - b6b8: f8ad 3046 strh.w r3, [sp, #70] ; 0x46 + b10e: 3b01 subs r3, #1 + b110: f8ad 3046 strh.w r3, [sp, #70] ; 0x46 _lv_blend_fill(&fill_area, clip, dsc->color, mask_buf, LV_DRAW_MASK_RES_CHANGED, dsc->opa, dsc->blend_mode); - b6bc: 7a63 ldrb r3, [r4, #9] + b114: 7a63 ldrb r3, [r4, #9] _lv_blend_fill(&fill_area, clip, - b6be: f003 0303 and.w r3, r3, #3 - b6c2: 9302 str r3, [sp, #8] - b6c4: 7a23 ldrb r3, [r4, #8] - b6c6: 9301 str r3, [sp, #4] - b6c8: 2302 movs r3, #2 - b6ca: 9300 str r3, [sp, #0] - b6cc: 464b mov r3, r9 - b6ce: 8822 ldrh r2, [r4, #0] - b6d0: a948 add r1, sp, #288 ; 0x120 - b6d2: a810 add r0, sp, #64 ; 0x40 - b6d4: 4d36 ldr r5, [pc, #216] ; (b7b0 ) - b6d6: 47a8 blx r5 + b116: f003 0303 and.w r3, r3, #3 + b11a: 9302 str r3, [sp, #8] + b11c: 7a23 ldrb r3, [r4, #8] + b11e: 9301 str r3, [sp, #4] + b120: 2302 movs r3, #2 + b122: 9300 str r3, [sp, #0] + b124: 464b mov r3, r9 + b126: 8822 ldrh r2, [r4, #0] + b128: a948 add r1, sp, #288 ; 0x120 + b12a: a810 add r0, sp, #64 ; 0x40 + b12c: 4d36 ldr r5, [pc, #216] ; (b208 ) + b12e: 47a8 blx r5 } _lv_mem_buf_release(mask_buf); - b6d8: 4648 mov r0, r9 - b6da: 4b30 ldr r3, [pc, #192] ; (b79c ) - b6dc: 4798 blx r3 + b130: 4648 mov r0, r9 + b132: 4b30 ldr r3, [pc, #192] ; (b1f4 ) + b134: 4798 blx r3 lv_draw_mask_remove_id(mask_left_id); - b6de: 980b ldr r0, [sp, #44] ; 0x2c - b6e0: 4d36 ldr r5, [pc, #216] ; (b7bc ) - b6e2: 47a8 blx r5 + b136: 980b ldr r0, [sp, #44] ; 0x2c + b138: 4d36 ldr r5, [pc, #216] ; (b214 ) + b13a: 47a8 blx r5 lv_draw_mask_remove_id(mask_right_id); - b6e4: 980c ldr r0, [sp, #48] ; 0x30 - b6e6: 47a8 blx r5 + b13c: 980c ldr r0, [sp, #48] ; 0x30 + b13e: 47a8 blx r5 lv_draw_mask_remove_id(mask_top_id); - b6e8: 980a ldr r0, [sp, #40] ; 0x28 - b6ea: 47a8 blx r5 + b140: 980a ldr r0, [sp, #40] ; 0x28 + b142: 47a8 blx r5 lv_draw_mask_remove_id(mask_bottom_id); - b6ec: 980d ldr r0, [sp, #52] ; 0x34 - b6ee: 47a8 blx r5 + b144: 980d ldr r0, [sp, #52] ; 0x34 + b146: 47a8 blx r5 if(dsc->round_end || dsc->round_start) { - b6f0: 7a63 ldrb r3, [r4, #9] - b6f2: f013 0f0c tst.w r3, #12 - b6f6: d102 bne.n b6fe + b148: 7a63 ldrb r3, [r4, #9] + b14a: f013 0f0c tst.w r3, #12 + b14e: d102 bne.n b156 } - b6f8: b04b add sp, #300 ; 0x12c - b6fa: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + b150: b04b add sp, #300 ; 0x12c + b152: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} lv_draw_rect_dsc_init(&cir_dsc); - b6fe: a833 add r0, sp, #204 ; 0xcc - b700: 4b2f ldr r3, [pc, #188] ; (b7c0 ) - b702: 4798 blx r3 + b156: a833 add r0, sp, #204 ; 0xcc + b158: 4b2f ldr r3, [pc, #188] ; (b218 ) + b15a: 4798 blx r3 cir_dsc.bg_color = dsc->color; - b704: 8823 ldrh r3, [r4, #0] - b706: f8ad 30ce strh.w r3, [sp, #206] ; 0xce + b15c: 8823 ldrh r3, [r4, #0] + b15e: f8ad 30ce strh.w r3, [sp, #206] ; 0xce cir_dsc.radius = LV_RADIUS_CIRCLE; - b70a: f647 73ff movw r3, #32767 ; 0x7fff - b70e: f8ad 30cc strh.w r3, [sp, #204] ; 0xcc + b162: f647 73ff movw r3, #32767 ; 0x7fff + b166: f8ad 30cc strh.w r3, [sp, #204] ; 0xcc cir_dsc.bg_opa = dsc->opa; - b712: 7a23 ldrb r3, [r4, #8] - b714: f88d 30d8 strb.w r3, [sp, #216] ; 0xd8 + b16a: 7a23 ldrb r3, [r4, #8] + b16c: f88d 30d8 strb.w r3, [sp, #216] ; 0xd8 int32_t r = (dsc->width >> 1); - b718: f9b4 3002 ldrsh.w r3, [r4, #2] - b71c: 105e asrs r6, r3, #1 + b170: f9b4 3002 ldrsh.w r3, [r4, #2] + b174: 105e asrs r6, r3, #1 int32_t r_corr = (dsc->width & 1) ? 0 : 1; - b71e: f083 0301 eor.w r3, r3, #1 - b722: f003 0501 and.w r5, r3, #1 + b176: f083 0301 eor.w r3, r3, #1 + b17a: f003 0501 and.w r5, r3, #1 if(dsc->round_start) { - b726: 7a63 ldrb r3, [r4, #9] - b728: f013 0f04 tst.w r3, #4 - b72c: d11c bne.n b768 + b17e: 7a63 ldrb r3, [r4, #9] + b180: f013 0f04 tst.w r3, #4 + b184: d11c bne.n b1c0 if(dsc->round_end) { - b72e: 7a63 ldrb r3, [r4, #9] - b730: f013 0f08 tst.w r3, #8 - b734: d0e0 beq.n b6f8 + b186: 7a63 ldrb r3, [r4, #9] + b188: f013 0f08 tst.w r3, #8 + b18c: d0e0 beq.n b150 cir_area.x1 = point2->x - r; - b736: 9907 ldr r1, [sp, #28] - b738: 880a ldrh r2, [r1, #0] - b73a: b2b6 uxth r6, r6 - b73c: 1b93 subs r3, r2, r6 - b73e: f8ad 30a0 strh.w r3, [sp, #160] ; 0xa0 + b18e: 9907 ldr r1, [sp, #28] + b190: 880a ldrh r2, [r1, #0] + b192: b2b6 uxth r6, r6 + b194: 1b93 subs r3, r2, r6 + b196: f8ad 30a0 strh.w r3, [sp, #160] ; 0xa0 cir_area.y1 = point2->y - r; - b742: 8849 ldrh r1, [r1, #2] - b744: 1b8b subs r3, r1, r6 - b746: f8ad 30a2 strh.w r3, [sp, #162] ; 0xa2 + b19a: 8849 ldrh r1, [r1, #2] + b19c: 1b8b subs r3, r1, r6 + b19e: f8ad 30a2 strh.w r3, [sp, #162] ; 0xa2 cir_area.x2 = point2->x + r - r_corr; - b74a: b2ab uxth r3, r5 - b74c: 4432 add r2, r6 - b74e: 1ad2 subs r2, r2, r3 - b750: f8ad 20a4 strh.w r2, [sp, #164] ; 0xa4 + b1a2: b2ab uxth r3, r5 + b1a4: 4432 add r2, r6 + b1a6: 1ad2 subs r2, r2, r3 + b1a8: f8ad 20a4 strh.w r2, [sp, #164] ; 0xa4 cir_area.y2 = point2->y + r - r_corr ; - b754: 440e add r6, r1 - b756: 1af3 subs r3, r6, r3 - b758: f8ad 30a6 strh.w r3, [sp, #166] ; 0xa6 + b1ac: 440e add r6, r1 + b1ae: 1af3 subs r3, r6, r3 + b1b0: f8ad 30a6 strh.w r3, [sp, #166] ; 0xa6 lv_draw_rect(&cir_area, clip, &cir_dsc); - b75c: aa33 add r2, sp, #204 ; 0xcc - b75e: 9908 ldr r1, [sp, #32] - b760: a828 add r0, sp, #160 ; 0xa0 - b762: 4b18 ldr r3, [pc, #96] ; (b7c4 ) - b764: 4798 blx r3 - b766: e7c7 b.n b6f8 + b1b4: aa33 add r2, sp, #204 ; 0xcc + b1b6: 9908 ldr r1, [sp, #32] + b1b8: a828 add r0, sp, #160 ; 0xa0 + b1ba: 4b18 ldr r3, [pc, #96] ; (b21c ) + b1bc: 4798 blx r3 + b1be: e7c7 b.n b150 cir_area.x1 = point1->x - r; - b768: 9806 ldr r0, [sp, #24] - b76a: 8802 ldrh r2, [r0, #0] - b76c: b2b3 uxth r3, r6 - b76e: 1ad1 subs r1, r2, r3 - b770: f8ad 10a0 strh.w r1, [sp, #160] ; 0xa0 + b1c0: 9806 ldr r0, [sp, #24] + b1c2: 8802 ldrh r2, [r0, #0] + b1c4: b2b3 uxth r3, r6 + b1c6: 1ad1 subs r1, r2, r3 + b1c8: f8ad 10a0 strh.w r1, [sp, #160] ; 0xa0 cir_area.y1 = point1->y - r; - b774: 8840 ldrh r0, [r0, #2] - b776: 1ac1 subs r1, r0, r3 - b778: f8ad 10a2 strh.w r1, [sp, #162] ; 0xa2 + b1cc: 8840 ldrh r0, [r0, #2] + b1ce: 1ac1 subs r1, r0, r3 + b1d0: f8ad 10a2 strh.w r1, [sp, #162] ; 0xa2 cir_area.x2 = point1->x + r - r_corr; - b77c: b2a9 uxth r1, r5 - b77e: 441a add r2, r3 - b780: 1a52 subs r2, r2, r1 - b782: f8ad 20a4 strh.w r2, [sp, #164] ; 0xa4 + b1d4: b2a9 uxth r1, r5 + b1d6: 441a add r2, r3 + b1d8: 1a52 subs r2, r2, r1 + b1da: f8ad 20a4 strh.w r2, [sp, #164] ; 0xa4 cir_area.y2 = point1->y + r - r_corr ; - b786: 4403 add r3, r0 - b788: 1a5b subs r3, r3, r1 - b78a: f8ad 30a6 strh.w r3, [sp, #166] ; 0xa6 + b1de: 4403 add r3, r0 + b1e0: 1a5b subs r3, r3, r1 + b1e2: f8ad 30a6 strh.w r3, [sp, #166] ; 0xa6 lv_draw_rect(&cir_area, clip, &cir_dsc); - b78e: aa33 add r2, sp, #204 ; 0xcc - b790: 9908 ldr r1, [sp, #32] - b792: a828 add r0, sp, #160 ; 0xa0 - b794: 4b0b ldr r3, [pc, #44] ; (b7c4 ) - b796: 4798 blx r3 - b798: e7c9 b.n b72e - b79a: bf00 nop - b79c: 00012b19 .word 0x00012b19 - b7a0: 0000c491 .word 0x0000c491 - b7a4: 0000c369 .word 0x0000c369 - b7a8: 00011aa5 .word 0x00011aa5 - b7ac: 000130df .word 0x000130df - b7b0: 00007cf9 .word 0x00007cf9 - b7b4: 00013195 .word 0x00013195 - b7b8: 0000c3c5 .word 0x0000c3c5 - b7bc: 0000c415 .word 0x0000c415 - b7c0: 0000c811 .word 0x0000c811 - b7c4: 0000c8d9 .word 0x0000c8d9 - -0000b7c8 : + b1e6: aa33 add r2, sp, #204 ; 0xcc + b1e8: 9908 ldr r1, [sp, #32] + b1ea: a828 add r0, sp, #160 ; 0xa0 + b1ec: 4b0b ldr r3, [pc, #44] ; (b21c ) + b1ee: 4798 blx r3 + b1f0: e7c9 b.n b186 + b1f2: bf00 nop + b1f4: 00012571 .word 0x00012571 + b1f8: 0000bee9 .word 0x0000bee9 + b1fc: 0000bdc1 .word 0x0000bdc1 + b200: 000114fd .word 0x000114fd + b204: 00012b37 .word 0x00012b37 + b208: 00007751 .word 0x00007751 + b20c: 00012bed .word 0x00012bed + b210: 0000be1d .word 0x0000be1d + b214: 0000be6d .word 0x0000be6d + b218: 0000c269 .word 0x0000c269 + b21c: 0000c331 .word 0x0000c331 + +0000b220 : **********************/ LV_ATTRIBUTE_FAST_MEM static lv_draw_mask_res_t lv_draw_mask_line(lv_opa_t * mask_buf, lv_coord_t abs_x, lv_coord_t abs_y, lv_coord_t len, lv_draw_mask_line_param_t * p) { - b7c8: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - b7cc: 9c06 ldr r4, [sp, #24] + b220: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} + b224: 9c06 ldr r4, [sp, #24] /*Make to points relative to the vertex*/ abs_y -= p->origo.y; - b7ce: 8aa5 ldrh r5, [r4, #20] - b7d0: 1b52 subs r2, r2, r5 - b7d2: b212 sxth r2, r2 + b226: 8aa5 ldrh r5, [r4, #20] + b228: 1b52 subs r2, r2, r5 + b22a: b212 sxth r2, r2 abs_x -= p->origo.x; - b7d4: 8a65 ldrh r5, [r4, #18] - b7d6: 1b4d subs r5, r1, r5 - b7d8: b22d sxth r5, r5 + b22c: 8a65 ldrh r5, [r4, #18] + b22e: 1b4d subs r5, r1, r5 + b230: b22d sxth r5, r5 /*Handle special cases*/ if(p->steep == 0) { - b7da: 6a21 ldr r1, [r4, #32] - b7dc: 2900 cmp r1, #0 - b7de: d14b bne.n b878 + b232: 6a21 ldr r1, [r4, #32] + b234: 2900 cmp r1, #0 + b236: d14b bne.n b2d0 /*Horizontal*/ if(p->flat) { - b7e0: f894 1028 ldrb.w r1, [r4, #40] ; 0x28 - b7e4: f011 0f01 tst.w r1, #1 - b7e8: d016 beq.n b818 + b238: f894 1028 ldrb.w r1, [r4, #40] ; 0x28 + b23c: f011 0f01 tst.w r1, #1 + b240: d016 beq.n b270 /*Non sense: Can't be on the right/left of a horizontal line*/ if(p->cfg.side == LV_DRAW_MASK_LINE_SIDE_LEFT || - b7ea: 7c23 ldrb r3, [r4, #16] - b7ec: f003 0303 and.w r3, r3, #3 - b7f0: 2b01 cmp r3, #1 - b7f2: f240 81db bls.w bbac + b242: 7c23 ldrb r3, [r4, #16] + b244: f003 0303 and.w r3, r3, #3 + b248: 2b01 cmp r3, #1 + b24a: f240 81db bls.w b604 p->cfg.side == LV_DRAW_MASK_LINE_SIDE_RIGHT) return LV_DRAW_MASK_RES_FULL_COVER; else if(p->cfg.side == LV_DRAW_MASK_LINE_SIDE_TOP && abs_y + 1 < 0) return LV_DRAW_MASK_RES_FULL_COVER; - b7f6: 2b02 cmp r3, #2 - b7f8: d004 beq.n b804 + b24e: 2b02 cmp r3, #2 + b250: d004 beq.n b25c else if(p->cfg.side == LV_DRAW_MASK_LINE_SIDE_BOTTOM && abs_y > 0) return LV_DRAW_MASK_RES_FULL_COVER; - b7fa: 2b03 cmp r3, #3 - b7fc: d006 beq.n b80c + b252: 2b03 cmp r3, #3 + b254: d006 beq.n b264 else { return LV_DRAW_MASK_RES_TRANSP; - b7fe: 2000 movs r0, #0 - b800: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b256: 2000 movs r0, #0 + b258: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} else if(p->cfg.side == LV_DRAW_MASK_LINE_SIDE_TOP && abs_y + 1 < 0) return LV_DRAW_MASK_RES_FULL_COVER; - b804: 3201 adds r2, #1 + b25c: 3201 adds r2, #1 p->cfg.side == LV_DRAW_MASK_LINE_SIDE_RIGHT) return LV_DRAW_MASK_RES_FULL_COVER; - b806: 0fd0 lsrs r0, r2, #31 - b808: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} - b80c: 2a00 cmp r2, #0 - b80e: bfd4 ite le - b810: 2000 movle r0, #0 - b812: 2001 movgt r0, #1 - b814: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b25e: 0fd0 lsrs r0, r2, #31 + b260: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b264: 2a00 cmp r2, #0 + b266: bfd4 ite le + b268: 2000 movle r0, #0 + b26a: 2001 movgt r0, #1 + b26c: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} } } /*Vertical*/ else { /*Non sense: Can't be on the top/bottom of a vertical line*/ if(p->cfg.side == LV_DRAW_MASK_LINE_SIDE_TOP || - b818: 7c22 ldrb r2, [r4, #16] - b81a: f002 0203 and.w r2, r2, #3 - b81e: 1e91 subs r1, r2, #2 - b820: b2c9 uxtb r1, r1 - b822: 2901 cmp r1, #1 - b824: f240 81c5 bls.w bbb2 + b270: 7c22 ldrb r2, [r4, #16] + b272: f002 0203 and.w r2, r2, #3 + b276: 1e91 subs r1, r2, #2 + b278: b2c9 uxtb r1, r1 + b27a: 2901 cmp r1, #1 + b27c: f240 81c5 bls.w b60a p->cfg.side == LV_DRAW_MASK_LINE_SIDE_BOTTOM) return LV_DRAW_MASK_RES_FULL_COVER; else if(p->cfg.side == LV_DRAW_MASK_LINE_SIDE_RIGHT && abs_x > 0) return LV_DRAW_MASK_RES_FULL_COVER; - b828: 2a01 cmp r2, #1 - b82a: d00c beq.n b846 + b280: 2a01 cmp r2, #1 + b282: d00c beq.n b29e else if(p->cfg.side == LV_DRAW_MASK_LINE_SIDE_LEFT) { - b82c: b9b2 cbnz r2, b85c + b284: b9b2 cbnz r2, b2b4 if(abs_x + len < 0) return LV_DRAW_MASK_RES_FULL_COVER; - b82e: 18e9 adds r1, r5, r3 - b830: f100 81c2 bmi.w bbb8 + b286: 18e9 adds r1, r5, r3 + b288: f100 81c2 bmi.w b610 else { int32_t k = - abs_x; - b834: 426d negs r5, r5 + b28c: 426d negs r5, r5 if(k < 0) return LV_DRAW_MASK_RES_TRANSP; - b836: 2d00 cmp r5, #0 - b838: f2c0 81c1 blt.w bbbe + b28e: 2d00 cmp r5, #0 + b290: f2c0 81c1 blt.w b616 if(k >= 0 && k < len) _lv_memset_00(&mask_buf[k], len - k); - b83c: 42ab cmp r3, r5 - b83e: dc07 bgt.n b850 + b294: 42ab cmp r3, r5 + b296: dc07 bgt.n b2a8 return LV_DRAW_MASK_RES_CHANGED; - b840: 2002 movs r0, #2 - b842: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b298: 2002 movs r0, #2 + b29a: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} else if(p->cfg.side == LV_DRAW_MASK_LINE_SIDE_RIGHT && abs_x > 0) return LV_DRAW_MASK_RES_FULL_COVER; - b846: 2d00 cmp r5, #0 - b848: dd08 ble.n b85c - b84a: 2001 movs r0, #1 - b84c: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b29e: 2d00 cmp r5, #0 + b2a0: dd08 ble.n b2b4 + b2a2: 2001 movs r0, #1 + b2a4: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} if(k >= 0 && k < len) _lv_memset_00(&mask_buf[k], len - k); - b850: 4428 add r0, r5 - b852: 4bcd ldr r3, [pc, #820] ; (bb88 ) - b854: 4798 blx r3 + b2a8: 4428 add r0, r5 + b2aa: 4bcd ldr r3, [pc, #820] ; (b5e0 ) + b2ac: 4798 blx r3 return LV_DRAW_MASK_RES_CHANGED; - b856: 2002 movs r0, #2 - b858: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b2ae: 2002 movs r0, #2 + b2b0: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} } } else { if(abs_x + len < 0) return LV_DRAW_MASK_RES_TRANSP; - b85c: 42dd cmn r5, r3 - b85e: f100 81b1 bmi.w bbc4 + b2b4: 42dd cmn r5, r3 + b2b6: f100 81b1 bmi.w b61c else { int32_t k = - abs_x; - b862: 4269 negs r1, r5 - b864: ea21 71e1 bic.w r1, r1, r1, asr #31 + b2ba: 4269 negs r1, r5 + b2bc: ea21 71e1 bic.w r1, r1, r1, asr #31 if(k < 0) k = 0; if(k >= len) return LV_DRAW_MASK_RES_TRANSP; - b868: 428b cmp r3, r1 - b86a: f340 81ae ble.w bbca + b2c0: 428b cmp r3, r1 + b2c2: f340 81ae ble.w b622 else if(k >= 0 && k < len) _lv_memset_00(&mask_buf[0], k); - b86e: 4bc6 ldr r3, [pc, #792] ; (bb88 ) - b870: 4798 blx r3 + b2c6: 4bc6 ldr r3, [pc, #792] ; (b5e0 ) + b2c8: 4798 blx r3 return LV_DRAW_MASK_RES_CHANGED; - b872: 2002 movs r0, #2 - b874: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b2ca: 2002 movs r0, #2 + b2cc: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} } } } lv_draw_mask_res_t res; if(p->flat) { - b878: f894 6028 ldrb.w r6, [r4, #40] ; 0x28 - b87c: f016 0f01 tst.w r6, #1 - b880: d10f bne.n b8a2 + b2d0: f894 6028 ldrb.w r6, [r4, #40] ; 0x28 + b2d4: f016 0f01 tst.w r6, #1 + b2d8: d10f bne.n b2fa { int32_t k; int32_t x_at_y; /* At the beginning of the mask if the limit line is greater then the mask's y. * Then the mask is in the "wrong" area*/ x_at_y = (int32_t)((int32_t)p->xy_steep * abs_y) >> 10; - b882: 69a7 ldr r7, [r4, #24] - b884: fb02 f107 mul.w r1, r2, r7 - b888: 1289 asrs r1, r1, #10 + b2da: 69a7 ldr r7, [r4, #24] + b2dc: fb02 f107 mul.w r1, r2, r7 + b2e0: 1289 asrs r1, r1, #10 if(p->xy_steep > 0) x_at_y++; - b88a: 2f00 cmp r7, #0 - b88c: bfcc ite gt - b88e: f101 0e01 addgt.w lr, r1, #1 + b2e2: 2f00 cmp r7, #0 + b2e4: bfcc ite gt + b2e6: f101 0e01 addgt.w lr, r1, #1 x_at_y = (int32_t)((int32_t)p->xy_steep * abs_y) >> 10; - b892: 468e movle lr, r1 + b2ea: 468e movle lr, r1 if(x_at_y < abs_x) { - b894: 4575 cmp r5, lr - b896: f340 8098 ble.w b9ca + b2ec: 4575 cmp r5, lr + b2ee: f340 8098 ble.w b422 p->cfg.side == LV_DRAW_MASK_LINE_SIDE_RIGHT) return LV_DRAW_MASK_RES_FULL_COVER; - b89a: f3c6 0040 ubfx r0, r6, #1, #1 - b89e: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b2f2: f3c6 0040 ubfx r0, r6, #1, #1 + b2f6: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} y_at_x = (int32_t)((int32_t)p->yx_steep * abs_x) >> 10; - b8a2: 69e1 ldr r1, [r4, #28] - b8a4: fb05 f701 mul.w r7, r5, r1 - b8a8: 12bf asrs r7, r7, #10 + b2fa: 69e1 ldr r1, [r4, #28] + b2fc: fb05 f701 mul.w r7, r5, r1 + b300: 12bf asrs r7, r7, #10 if(p->yx_steep > 0) { - b8aa: 2900 cmp r1, #0 - b8ac: dd06 ble.n b8bc + b302: 2900 cmp r1, #0 + b304: dd06 ble.n b314 if(y_at_x > abs_y) { - b8ae: 4297 cmp r7, r2 - b8b0: f340 81b8 ble.w bc24 + b306: 4297 cmp r7, r2 + b308: f340 81b8 ble.w b67c p->cfg.side == LV_DRAW_MASK_LINE_SIDE_RIGHT) return LV_DRAW_MASK_RES_FULL_COVER; - b8b4: f3c6 0040 ubfx r0, r6, #1, #1 - b8b8: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b30c: f3c6 0040 ubfx r0, r6, #1, #1 + b310: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} if(y_at_x < abs_y) { - b8bc: 4297 cmp r7, r2 - b8be: f280 81ed bge.w bc9c + b314: 4297 cmp r7, r2 + b316: f280 81ed bge.w b6f4 p->cfg.side == LV_DRAW_MASK_LINE_SIDE_RIGHT) return LV_DRAW_MASK_RES_FULL_COVER; - b8c2: f3c6 0040 ubfx r0, r6, #1, #1 - b8c6: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b31a: f3c6 0040 ubfx r0, r6, #1, #1 + b31e: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} if(p->inv) { - b8ca: f086 0002 eor.w r0, r6, #2 + b322: f086 0002 eor.w r0, r6, #2 p->cfg.side == LV_DRAW_MASK_LINE_SIDE_RIGHT) return LV_DRAW_MASK_RES_FULL_COVER; - b8ce: f3c0 0040 ubfx r0, r0, #1, #1 - b8d2: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b326: f3c0 0040 ubfx r0, r0, #1, #1 + b32a: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} if(p->inv) { - b8d6: f086 0002 eor.w r0, r6, #2 + b32e: f086 0002 eor.w r0, r6, #2 p->cfg.side == LV_DRAW_MASK_LINE_SIDE_RIGHT) return LV_DRAW_MASK_RES_FULL_COVER; - b8da: f3c0 0040 ubfx r0, r0, #1, #1 - b8de: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b332: f3c0 0040 ubfx r0, r0, #1, #1 + b336: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} LV_ATTRIBUTE_FAST_MEM static inline lv_opa_t mask_mix(lv_opa_t mask_act, lv_opa_t mask_new) { if(mask_new >= LV_OPA_MAX) return mask_act; if(mask_new <= LV_OPA_MIN) return 0; - b8e2: 2500 movs r5, #0 - b8e4: e1d4 b.n bc90 - b8e6: 46f4 mov ip, lr + b33a: 2500 movs r5, #0 + b33c: e1d4 b.n b6e8 + b33e: 46f4 mov ip, lr mask_buf[k] = mask_mix(mask_buf[k], m); - b8e8: f888 c000 strb.w ip, [r8] + b340: f888 c000 strb.w ip, [r8] px_h -= p->spx; - b8ec: 6a63 ldr r3, [r4, #36] ; 0x24 - b8ee: 1ad2 subs r2, r2, r3 + b344: 6a63 ldr r3, [r4, #36] ; 0x24 + b346: 1ad2 subs r2, r2, r3 k++; - b8f0: 3501 adds r5, #1 - b8f2: 3601 adds r6, #1 + b348: 3501 adds r5, #1 + b34a: 3601 adds r6, #1 if(k >= len) break; - b8f4: 42bd cmp r5, r7 - b8f6: da49 bge.n b98c + b34c: 42bd cmp r5, r7 + b34e: da49 bge.n b3e4 while(px_h > p->spx) { - b8f8: 6a63 ldr r3, [r4, #36] ; 0x24 - b8fa: 429a cmp r2, r3 - b8fc: dd1d ble.n b93a + b350: 6a63 ldr r3, [r4, #36] ; 0x24 + b352: 429a cmp r2, r3 + b354: dd1d ble.n b392 if(k >= 0 && k < len) { - b8fe: 2d00 cmp r5, #0 - b900: dbf4 blt.n b8ec - b902: 42bd cmp r5, r7 - b904: daf2 bge.n b8ec + b356: 2d00 cmp r5, #0 + b358: dbf4 blt.n b344 + b35a: 42bd cmp r5, r7 + b35c: daf2 bge.n b344 m = px_h - (p->spx >> 1); - b906: eba2 0363 sub.w r3, r2, r3, asr #1 - b90a: b2db uxtb r3, r3 + b35e: eba2 0363 sub.w r3, r2, r3, asr #1 + b362: b2db uxtb r3, r3 if(p->inv) m = 255 - m; - b90c: f894 c028 ldrb.w ip, [r4, #40] ; 0x28 - b910: f01c 0f02 tst.w ip, #2 - b914: bf1c itt ne - b916: 43db mvnne r3, r3 - b918: b2db uxtbne r3, r3 - b91a: 46b0 mov r8, r6 + b364: f894 c028 ldrb.w ip, [r4, #40] ; 0x28 + b368: f01c 0f02 tst.w ip, #2 + b36c: bf1c itt ne + b36e: 43db mvnne r3, r3 + b370: b2db uxtbne r3, r3 + b372: 46b0 mov r8, r6 mask_buf[k] = mask_mix(mask_buf[k], m); - b91c: f896 c000 ldrb.w ip, [r6] + b374: f896 c000 ldrb.w ip, [r6] if(mask_new >= LV_OPA_MAX) return mask_act; - b920: 2bf9 cmp r3, #249 ; 0xf9 - b922: d8e1 bhi.n b8e8 + b378: 2bf9 cmp r3, #249 ; 0xf9 + b37a: d8e1 bhi.n b340 if(mask_new <= LV_OPA_MIN) return 0; - b924: 2b05 cmp r3, #5 - b926: d9de bls.n b8e6 + b37c: 2b05 cmp r3, #5 + b37e: d9de bls.n b33e return LV_MATH_UDIV255(mask_act * mask_new);// >> 8); - b928: fb03 f30c mul.w r3, r3, ip - b92c: eb03 2c03 add.w ip, r3, r3, lsl #8 - b930: eb03 13cc add.w r3, r3, ip, lsl #7 - b934: f3c3 5cc7 ubfx ip, r3, #23, #8 - b938: e7d6 b.n b8e8 + b380: fb03 f30c mul.w r3, r3, ip + b384: eb03 2c03 add.w ip, r3, r3, lsl #8 + b388: eb03 13cc add.w r3, r3, ip, lsl #7 + b38c: f3c3 5cc7 ubfx ip, r3, #23, #8 + b390: e7d6 b.n b340 if(k < len && k >= 0) { - b93a: 42bd cmp r5, r7 - b93c: da26 bge.n b98c - b93e: 2d00 cmp r5, #0 - b940: db24 blt.n b98c + b392: 42bd cmp r5, r7 + b394: da26 bge.n b3e4 + b396: 2d00 cmp r5, #0 + b398: db24 blt.n b3e4 int32_t x_inters = (px_h * p->xy_steep) >> 10; - b942: 69a3 ldr r3, [r4, #24] - b944: fb03 f302 mul.w r3, r3, r2 - b948: 129b asrs r3, r3, #10 + b39a: 69a3 ldr r3, [r4, #24] + b39c: fb03 f302 mul.w r3, r3, r2 + b3a0: 129b asrs r3, r3, #10 m = (x_inters * px_h) >> 9; - b94a: fb02 f203 mul.w r2, r2, r3 - b94e: f3c2 2247 ubfx r2, r2, #9, #8 + b3a2: fb02 f203 mul.w r2, r2, r3 + b3a6: f3c2 2247 ubfx r2, r2, #9, #8 if(p->yx_steep < 0) m = 255 - m; - b952: 69e3 ldr r3, [r4, #28] - b954: 2b00 cmp r3, #0 - b956: bfbc itt lt - b958: 43d2 mvnlt r2, r2 - b95a: b2d2 uxtblt r2, r2 + b3aa: 69e3 ldr r3, [r4, #28] + b3ac: 2b00 cmp r3, #0 + b3ae: bfbc itt lt + b3b0: 43d2 mvnlt r2, r2 + b3b2: b2d2 uxtblt r2, r2 if(p->inv) m = 255 - m; - b95c: f894 3028 ldrb.w r3, [r4, #40] ; 0x28 - b960: f013 0f02 tst.w r3, #2 - b964: bf1c itt ne - b966: 43d2 mvnne r2, r2 - b968: b2d2 uxtbne r2, r2 + b3b4: f894 3028 ldrb.w r3, [r4, #40] ; 0x28 + b3b8: f013 0f02 tst.w r3, #2 + b3bc: bf1c itt ne + b3be: 43d2 mvnne r2, r2 + b3c0: b2d2 uxtbne r2, r2 mask_buf[k] = mask_mix(mask_buf[k], m); - b96a: 1946 adds r6, r0, r5 - b96c: 5d43 ldrb r3, [r0, r5] + b3c2: 1946 adds r6, r0, r5 + b3c4: 5d43 ldrb r3, [r0, r5] if(mask_new >= LV_OPA_MAX) return mask_act; - b96e: 2af9 cmp r2, #249 ; 0xf9 - b970: d80b bhi.n b98a + b3c6: 2af9 cmp r2, #249 ; 0xf9 + b3c8: d80b bhi.n b3e2 if(mask_new <= LV_OPA_MIN) return 0; - b972: 2a05 cmp r2, #5 - b974: d908 bls.n b988 + b3ca: 2a05 cmp r2, #5 + b3cc: d908 bls.n b3e0 return LV_MATH_UDIV255(mask_act * mask_new);// >> 8); - b976: fb02 f203 mul.w r2, r2, r3 - b97a: eb02 2302 add.w r3, r2, r2, lsl #8 - b97e: eb02 12c3 add.w r2, r2, r3, lsl #7 - b982: f3c2 53c7 ubfx r3, r2, #23, #8 - b986: e000 b.n b98a + b3ce: fb02 f203 mul.w r2, r2, r3 + b3d2: eb02 2302 add.w r3, r2, r2, lsl #8 + b3d6: eb02 12c3 add.w r2, r2, r3, lsl #7 + b3da: f3c2 53c7 ubfx r3, r2, #23, #8 + b3de: e000 b.n b3e2 if(mask_new <= LV_OPA_MIN) return 0; - b988: 2300 movs r3, #0 + b3e0: 2300 movs r3, #0 mask_buf[k] = mask_mix(mask_buf[k], m); - b98a: 7033 strb r3, [r6, #0] + b3e2: 7033 strb r3, [r6, #0] if(p->inv) { - b98c: f894 3028 ldrb.w r3, [r4, #40] ; 0x28 - b990: f013 0f02 tst.w r3, #2 - b994: d00a beq.n b9ac + b3e4: f894 3028 ldrb.w r3, [r4, #40] ; 0x28 + b3e8: f013 0f02 tst.w r3, #2 + b3ec: d00a beq.n b404 if(k > len) { - b996: 428f cmp r7, r1 - b998: f2c0 811a blt.w bbd0 + b3ee: 428f cmp r7, r1 + b3f0: f2c0 811a blt.w b628 if(k >= 0) { - b99c: 2900 cmp r1, #0 - b99e: f2c0 811a blt.w bbd6 + b3f4: 2900 cmp r1, #0 + b3f6: f2c0 811a blt.w b62e _lv_memset_00(&mask_buf[0], k); - b9a2: 4b79 ldr r3, [pc, #484] ; (bb88 ) - b9a4: 4798 blx r3 + b3fa: 4b79 ldr r3, [pc, #484] ; (b5e0 ) + b3fc: 4798 blx r3 return LV_DRAW_MASK_RES_CHANGED; - b9a6: 2002 movs r0, #2 - b9a8: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b3fe: 2002 movs r0, #2 + b400: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} if(k < 0) { - b9ac: 3501 adds r5, #1 - b9ae: f100 8115 bmi.w bbdc + b404: 3501 adds r5, #1 + b406: f100 8115 bmi.w b634 if(k <= len) { - b9b2: 42bd cmp r5, r7 - b9b4: dd02 ble.n b9bc + b40a: 42bd cmp r5, r7 + b40c: dd02 ble.n b414 return LV_DRAW_MASK_RES_CHANGED; - b9b6: 2002 movs r0, #2 - b9b8: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b40e: 2002 movs r0, #2 + b410: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} _lv_memset_00(&mask_buf[k], len - k); - b9bc: 1b79 subs r1, r7, r5 - b9be: 4428 add r0, r5 - b9c0: 4b71 ldr r3, [pc, #452] ; (bb88 ) - b9c2: 4798 blx r3 + b414: 1b79 subs r1, r7, r5 + b416: 4428 add r0, r5 + b418: 4b71 ldr r3, [pc, #452] ; (b5e0 ) + b41a: 4798 blx r3 return LV_DRAW_MASK_RES_CHANGED; - b9c4: 2002 movs r0, #2 - b9c6: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b41c: 2002 movs r0, #2 + b41e: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} if(x_at_y > abs_x + len) { - b9ca: eb05 0e03 add.w lr, r5, r3 - b9ce: 4571 cmp r1, lr - b9d0: dd05 ble.n b9de + b422: eb05 0e03 add.w lr, r5, r3 + b426: 4571 cmp r1, lr + b428: dd05 ble.n b436 if(p->inv) { - b9d2: f086 0002 eor.w r0, r6, #2 + b42a: f086 0002 eor.w r0, r6, #2 p->cfg.side == LV_DRAW_MASK_LINE_SIDE_RIGHT) return LV_DRAW_MASK_RES_FULL_COVER; - b9d6: f3c0 0040 ubfx r0, r0, #1, #1 - b9da: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b42e: f3c0 0040 ubfx r0, r0, #1, #1 + b432: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} int32_t xs = ((abs_y << 8) * p->xy_steep) >> 10; - b9de: 0211 lsls r1, r2, #8 - b9e0: fb07 f101 mul.w r1, r7, r1 + b436: 0211 lsls r1, r2, #8 + b438: fb07 f101 mul.w r1, r7, r1 int32_t xsi = xs >> 8; - b9e4: ea4f 48a1 mov.w r8, r1, asr #18 + b43c: ea4f 48a1 mov.w r8, r1, asr #18 int32_t xsf = xs & 0xFF; - b9e8: f3c1 2187 ubfx r1, r1, #10, #8 + b440: f3c1 2187 ubfx r1, r1, #10, #8 int32_t xe = (((abs_y + 1) << 8) * p->xy_steep) >> 10; - b9ec: 3201 adds r2, #1 - b9ee: 0212 lsls r2, r2, #8 - b9f0: fb07 f202 mul.w r2, r7, r2 + b444: 3201 adds r2, #1 + b446: 0212 lsls r2, r2, #8 + b448: fb07 f202 mul.w r2, r7, r2 int32_t xei = xe >> 8; - b9f4: ea4f 4ca2 mov.w ip, r2, asr #18 + b44c: ea4f 4ca2 mov.w ip, r2, asr #18 k = xsi - abs_x; - b9f8: eba8 0e05 sub.w lr, r8, r5 + b450: eba8 0e05 sub.w lr, r8, r5 if(xsi != xei && (p->xy_steep < 0 && xsf == 0)) { - b9fc: 45e0 cmp r8, ip - b9fe: d063 beq.n bac8 - ba00: 2f00 cmp r7, #0 - ba02: db5b blt.n babc + b454: 45e0 cmp r8, ip + b456: d063 beq.n b520 + b458: 2f00 cmp r7, #0 + b45a: db5b blt.n b514 y_inters = ((255 - xsf) * p->yx_steep) >> 10; - ba04: f1c1 01ff rsb r1, r1, #255 ; 0xff - ba08: 69e2 ldr r2, [r4, #28] - ba0a: fb02 f201 mul.w r2, r2, r1 - ba0e: 1295 asrs r5, r2, #10 + b45c: f1c1 01ff rsb r1, r1, #255 ; 0xff + b460: 69e2 ldr r2, [r4, #28] + b462: fb02 f201 mul.w r2, r2, r1 + b466: 1295 asrs r5, r2, #10 if(k >= 0 && k < len) { - ba10: f1be 0f00 cmp.w lr, #0 - ba14: db1c blt.n ba50 - ba16: 4573 cmp r3, lr - ba18: dd1a ble.n ba50 + b468: f1be 0f00 cmp.w lr, #0 + b46c: db1c blt.n b4a8 + b46e: 4573 cmp r3, lr + b470: dd1a ble.n b4a8 m = 255 - ((y_inters * (255 - xsf)) >> 9); - ba1a: fb05 f101 mul.w r1, r5, r1 - ba1e: f3c1 2247 ubfx r2, r1, #9, #8 + b472: fb05 f101 mul.w r1, r5, r1 + b476: f3c1 2247 ubfx r2, r1, #9, #8 if(p->inv) m = 255 - m; - ba22: f016 0f02 tst.w r6, #2 + b47a: f016 0f02 tst.w r6, #2 m = 255 - ((y_inters * (255 - xsf)) >> 9); - ba26: bf04 itt eq - ba28: 43d2 mvneq r2, r2 - ba2a: b2d2 uxtbeq r2, r2 + b47e: bf04 itt eq + b480: 43d2 mvneq r2, r2 + b482: b2d2 uxtbeq r2, r2 mask_buf[k] = mask_mix(mask_buf[k], m); - ba2c: eb00 060e add.w r6, r0, lr - ba30: f810 100e ldrb.w r1, [r0, lr] + b484: eb00 060e add.w r6, r0, lr + b488: f810 100e ldrb.w r1, [r0, lr] if(mask_new >= LV_OPA_MAX) return mask_act; - ba34: 2af9 cmp r2, #249 ; 0xf9 - ba36: d80a bhi.n ba4e + b48c: 2af9 cmp r2, #249 ; 0xf9 + b48e: d80a bhi.n b4a6 if(mask_new <= LV_OPA_MIN) return 0; - ba38: 2a05 cmp r2, #5 - ba3a: f240 80a1 bls.w bb80 + b490: 2a05 cmp r2, #5 + b492: f240 80a1 bls.w b5d8 return LV_MATH_UDIV255(mask_act * mask_new);// >> 8); - ba3e: fb02 f201 mul.w r2, r2, r1 - ba42: eb02 2102 add.w r1, r2, r2, lsl #8 - ba46: eb02 12c1 add.w r2, r2, r1, lsl #7 - ba4a: f3c2 51c7 ubfx r1, r2, #23, #8 + b496: fb02 f201 mul.w r2, r2, r1 + b49a: eb02 2102 add.w r1, r2, r2, lsl #8 + b49e: eb02 12c1 add.w r2, r2, r1, lsl #7 + b4a2: f3c2 51c7 ubfx r1, r2, #23, #8 mask_buf[k] = mask_mix(mask_buf[k], m); - ba4e: 7031 strb r1, [r6, #0] + b4a6: 7031 strb r1, [r6, #0] if(k >= 0 && k < len) { - ba50: f11e 0101 adds.w r1, lr, #1 - ba54: d420 bmi.n ba98 - ba56: 428b cmp r3, r1 - ba58: dd1e ble.n ba98 + b4a8: f11e 0101 adds.w r1, lr, #1 + b4ac: d420 bmi.n b4f0 + b4ae: 428b cmp r3, r1 + b4b0: dd1e ble.n b4f0 int32_t x_inters = ((255 - y_inters) * p->xy_steep) >> 10; - ba5a: f1c5 02ff rsb r2, r5, #255 ; 0xff - ba5e: 69a5 ldr r5, [r4, #24] - ba60: fb05 f502 mul.w r5, r5, r2 - ba64: 12ad asrs r5, r5, #10 + b4b2: f1c5 02ff rsb r2, r5, #255 ; 0xff + b4b6: 69a5 ldr r5, [r4, #24] + b4b8: fb05 f502 mul.w r5, r5, r2 + b4bc: 12ad asrs r5, r5, #10 m = ((255 - y_inters) * x_inters) >> 9; - ba66: fb02 f205 mul.w r2, r2, r5 - ba6a: f3c2 2247 ubfx r2, r2, #9, #8 + b4be: fb02 f205 mul.w r2, r2, r5 + b4c2: f3c2 2247 ubfx r2, r2, #9, #8 if(p->inv) m = 255 - m; - ba6e: f894 5028 ldrb.w r5, [r4, #40] ; 0x28 - ba72: f015 0f02 tst.w r5, #2 - ba76: bf1c itt ne - ba78: 43d2 mvnne r2, r2 - ba7a: b2d2 uxtbne r2, r2 + b4c6: f894 5028 ldrb.w r5, [r4, #40] ; 0x28 + b4ca: f015 0f02 tst.w r5, #2 + b4ce: bf1c itt ne + b4d0: 43d2 mvnne r2, r2 + b4d2: b2d2 uxtbne r2, r2 mask_buf[k] = mask_mix(mask_buf[k], m); - ba7c: 5c45 ldrb r5, [r0, r1] + b4d4: 5c45 ldrb r5, [r0, r1] if(mask_new >= LV_OPA_MAX) return mask_act; - ba7e: 2af9 cmp r2, #249 ; 0xf9 - ba80: d809 bhi.n ba96 + b4d6: 2af9 cmp r2, #249 ; 0xf9 + b4d8: d809 bhi.n b4ee if(mask_new <= LV_OPA_MIN) return 0; - ba82: 2a05 cmp r2, #5 - ba84: d97e bls.n bb84 + b4da: 2a05 cmp r2, #5 + b4dc: d97e bls.n b5dc return LV_MATH_UDIV255(mask_act * mask_new);// >> 8); - ba86: fb02 f205 mul.w r2, r2, r5 - ba8a: eb02 2502 add.w r5, r2, r2, lsl #8 - ba8e: eb02 12c5 add.w r2, r2, r5, lsl #7 - ba92: f3c2 55c7 ubfx r5, r2, #23, #8 + b4de: fb02 f205 mul.w r2, r2, r5 + b4e2: eb02 2502 add.w r5, r2, r2, lsl #8 + b4e6: eb02 12c5 add.w r2, r2, r5, lsl #7 + b4ea: f3c2 55c7 ubfx r5, r2, #23, #8 mask_buf[k] = mask_mix(mask_buf[k], m); - ba96: 5445 strb r5, [r0, r1] + b4ee: 5445 strb r5, [r0, r1] if(p->inv) { - ba98: f894 2028 ldrb.w r2, [r4, #40] ; 0x28 - ba9c: f012 0f02 tst.w r2, #2 - baa0: d074 beq.n bb8c + b4f0: f894 2028 ldrb.w r2, [r4, #40] ; 0x28 + b4f4: f012 0f02 tst.w r2, #2 + b4f8: d074 beq.n b5e4 if(k > len) return LV_DRAW_MASK_RES_TRANSP; - baa2: 4573 cmp r3, lr - baa4: f2c0 80b2 blt.w bc0c + b4fa: 4573 cmp r3, lr + b4fc: f2c0 80b2 blt.w b664 if(k >= 0) _lv_memset_00(&mask_buf[0], k); - baa8: f1be 0f00 cmp.w lr, #0 - baac: f2c0 80b1 blt.w bc12 - bab0: 4671 mov r1, lr - bab2: 4b35 ldr r3, [pc, #212] ; (bb88 ) - bab4: 4798 blx r3 + b500: f1be 0f00 cmp.w lr, #0 + b504: f2c0 80b1 blt.w b66a + b508: 4671 mov r1, lr + b50a: 4b35 ldr r3, [pc, #212] ; (b5e0 ) + b50c: 4798 blx r3 return LV_DRAW_MASK_RES_CHANGED; - bab6: 2002 movs r0, #2 - bab8: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b50e: 2002 movs r0, #2 + b510: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} if(xsi != xei && (p->xy_steep < 0 && xsf == 0)) { - babc: 2900 cmp r1, #0 - babe: f040 8100 bne.w bcc2 + b514: 2900 cmp r1, #0 + b516: f040 8100 bne.w b71a k--; - bac2: f10e 3eff add.w lr, lr, #4294967295 + b51a: f10e 3eff add.w lr, lr, #4294967295 xsf = 0xFF; - bac6: 21ff movs r1, #255 ; 0xff + b51e: 21ff movs r1, #255 ; 0xff if(k >= 0 && k < len) { - bac8: f1be 0f00 cmp.w lr, #0 - bacc: db1e blt.n bb0c - bace: 4573 cmp r3, lr - bad0: dd1c ble.n bb0c + b520: f1be 0f00 cmp.w lr, #0 + b524: db1e blt.n b564 + b526: 4573 cmp r3, lr + b528: dd1c ble.n b564 int32_t xef = xe & 0xFF; - bad2: f3c2 2287 ubfx r2, r2, #10, #8 + b52a: f3c2 2287 ubfx r2, r2, #10, #8 m = (xsf + xef) >> 1; - bad6: 440a add r2, r1 - bad8: f3c2 0247 ubfx r2, r2, #1, #8 + b52e: 440a add r2, r1 + b530: f3c2 0247 ubfx r2, r2, #1, #8 if(p->inv) m = 255 - m; - badc: f016 0f02 tst.w r6, #2 - bae0: bf1c itt ne - bae2: 43d2 mvnne r2, r2 - bae4: b2d2 uxtbne r2, r2 + b534: f016 0f02 tst.w r6, #2 + b538: bf1c itt ne + b53a: 43d2 mvnne r2, r2 + b53c: b2d2 uxtbne r2, r2 mask_buf[k] = mask_mix(mask_buf[k], m); - bae6: eb00 060e add.w r6, r0, lr - baea: f810 100e ldrb.w r1, [r0, lr] + b53e: eb00 060e add.w r6, r0, lr + b542: f810 100e ldrb.w r1, [r0, lr] if(mask_new >= LV_OPA_MAX) return mask_act; - baee: 2af9 cmp r2, #249 ; 0xf9 - baf0: d80b bhi.n bb0a + b546: 2af9 cmp r2, #249 ; 0xf9 + b548: d80b bhi.n b562 if(mask_new <= LV_OPA_MIN) return 0; - baf2: 2a05 cmp r2, #5 - baf4: d908 bls.n bb08 + b54a: 2a05 cmp r2, #5 + b54c: d908 bls.n b560 return LV_MATH_UDIV255(mask_act * mask_new);// >> 8); - baf6: fb02 f201 mul.w r2, r2, r1 - bafa: eb02 2102 add.w r1, r2, r2, lsl #8 - bafe: eb02 12c1 add.w r2, r2, r1, lsl #7 - bb02: f3c2 51c7 ubfx r1, r2, #23, #8 - bb06: e000 b.n bb0a + b54e: fb02 f201 mul.w r2, r2, r1 + b552: eb02 2102 add.w r1, r2, r2, lsl #8 + b556: eb02 12c1 add.w r2, r2, r1, lsl #7 + b55a: f3c2 51c7 ubfx r1, r2, #23, #8 + b55e: e000 b.n b562 if(mask_new <= LV_OPA_MIN) return 0; - bb08: 2100 movs r1, #0 + b560: 2100 movs r1, #0 mask_buf[k] = mask_mix(mask_buf[k], m); - bb0a: 7031 strb r1, [r6, #0] + b562: 7031 strb r1, [r6, #0] if(p->inv) { - bb0c: f894 2028 ldrb.w r2, [r4, #40] ; 0x28 - bb10: f012 0f02 tst.w r2, #2 - bb14: d00a beq.n bb2c + b564: f894 2028 ldrb.w r2, [r4, #40] ; 0x28 + b568: f012 0f02 tst.w r2, #2 + b56c: d00a beq.n b584 k = xsi - abs_x; - bb16: ebac 0105 sub.w r1, ip, r5 + b56e: ebac 0105 sub.w r1, ip, r5 if(k >= len) { - bb1a: 428b cmp r3, r1 - bb1c: dd61 ble.n bbe2 + b572: 428b cmp r3, r1 + b574: dd61 ble.n b63a if(k >= 0) _lv_memset_00(&mask_buf[0], k); - bb1e: 2900 cmp r1, #0 - bb20: db62 blt.n bbe8 - bb22: 4b19 ldr r3, [pc, #100] ; (bb88 ) - bb24: 4798 blx r3 + b576: 2900 cmp r1, #0 + b578: db62 blt.n b640 + b57a: 4b19 ldr r3, [pc, #100] ; (b5e0 ) + b57c: 4798 blx r3 return LV_DRAW_MASK_RES_CHANGED; - bb26: 2002 movs r0, #2 - bb28: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b57e: 2002 movs r0, #2 + b580: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} k++; - bb2c: f10e 0201 add.w r2, lr, #1 - bb30: 429a cmp r2, r3 - bb32: bfa8 it ge - bb34: 461a movge r2, r3 + b584: f10e 0201 add.w r2, lr, #1 + b588: 429a cmp r2, r3 + b58a: bfa8 it ge + b58c: 461a movge r2, r3 if(k == 0) return LV_DRAW_MASK_RES_TRANSP; - bb36: 2a00 cmp r2, #0 - bb38: d059 beq.n bbee + b58e: 2a00 cmp r2, #0 + b590: d059 beq.n b646 else if(k > 0) _lv_memset_00(&mask_buf[k], len - k); - bb3a: 2a00 cmp r2, #0 - bb3c: dd5a ble.n bbf4 - bb3e: 1a99 subs r1, r3, r2 - bb40: 4410 add r0, r2 - bb42: 4b11 ldr r3, [pc, #68] ; (bb88 ) - bb44: 4798 blx r3 + b592: 2a00 cmp r2, #0 + b594: dd5a ble.n b64c + b596: 1a99 subs r1, r3, r2 + b598: 4410 add r0, r2 + b59a: 4b11 ldr r3, [pc, #68] ; (b5e0 ) + b59c: 4798 blx r3 return LV_DRAW_MASK_RES_CHANGED; - bb46: 2002 movs r0, #2 - bb48: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b59e: 2002 movs r0, #2 + b5a0: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} if(mask_new <= LV_OPA_MIN) return 0; - bb4c: 2500 movs r5, #0 - bb4e: e0dc b.n bd0a - bb50: 2500 movs r5, #0 - bb52: e100 b.n bd56 + b5a4: 2500 movs r5, #0 + b5a6: e0dc b.n b762 + b5a8: 2500 movs r5, #0 + b5aa: e100 b.n b7ae else if(k > 0) _lv_memset_00(&mask_buf[0], k); - bb54: 2900 cmp r1, #0 - bb56: dd50 ble.n bbfa - bb58: 4b0b ldr r3, [pc, #44] ; (bb88 ) - bb5a: 4798 blx r3 + b5ac: 2900 cmp r1, #0 + b5ae: dd50 ble.n b652 + b5b0: 4b0b ldr r3, [pc, #44] ; (b5e0 ) + b5b2: 4798 blx r3 return LV_DRAW_MASK_RES_CHANGED; - bb5c: 2002 movs r0, #2 - bb5e: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b5b4: 2002 movs r0, #2 + b5b6: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} k += 2; - bb62: f10e 0e01 add.w lr, lr, #1 + b5ba: f10e 0e01 add.w lr, lr, #1 if(k > len) return LV_DRAW_MASK_RES_FULL_COVER; - bb66: 4573 cmp r3, lr - bb68: db4a blt.n bc00 + b5be: 4573 cmp r3, lr + b5c0: db4a blt.n b658 if(k >= 0) _lv_memset_00(&mask_buf[k], len - k); - bb6a: f1be 0f00 cmp.w lr, #0 - bb6e: db4a blt.n bc06 - bb70: eba3 010e sub.w r1, r3, lr - bb74: 4470 add r0, lr - bb76: 4b04 ldr r3, [pc, #16] ; (bb88 ) - bb78: 4798 blx r3 + b5c2: f1be 0f00 cmp.w lr, #0 + b5c6: db4a blt.n b65e + b5c8: eba3 010e sub.w r1, r3, lr + b5cc: 4470 add r0, lr + b5ce: 4b04 ldr r3, [pc, #16] ; (b5e0 ) + b5d0: 4798 blx r3 return LV_DRAW_MASK_RES_CHANGED; - bb7a: 2002 movs r0, #2 - bb7c: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b5d2: 2002 movs r0, #2 + b5d4: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} if(mask_new <= LV_OPA_MIN) return 0; - bb80: 2100 movs r1, #0 - bb82: e764 b.n ba4e - bb84: 2500 movs r5, #0 - bb86: e786 b.n ba96 - bb88: 000130df .word 0x000130df + b5d8: 2100 movs r1, #0 + b5da: e764 b.n b4a6 + b5dc: 2500 movs r5, #0 + b5de: e786 b.n b4ee + b5e0: 00012b37 .word 0x00012b37 k++; - bb8c: f10e 0202 add.w r2, lr, #2 - bb90: 429a cmp r2, r3 - bb92: bfa8 it ge - bb94: 461a movge r2, r3 + b5e4: f10e 0202 add.w r2, lr, #2 + b5e8: 429a cmp r2, r3 + b5ea: bfa8 it ge + b5ec: 461a movge r2, r3 if(k == 0) return LV_DRAW_MASK_RES_TRANSP; - bb96: 2a00 cmp r2, #0 - bb98: d03e beq.n bc18 + b5ee: 2a00 cmp r2, #0 + b5f0: d03e beq.n b670 else if(k > 0) _lv_memset_00(&mask_buf[k], len - k); - bb9a: 2a00 cmp r2, #0 - bb9c: dd3f ble.n bc1e - bb9e: 1a99 subs r1, r3, r2 - bba0: 4410 add r0, r2 - bba2: 4b73 ldr r3, [pc, #460] ; (bd70 ) - bba4: 4798 blx r3 + b5f2: 2a00 cmp r2, #0 + b5f4: dd3f ble.n b676 + b5f6: 1a99 subs r1, r3, r2 + b5f8: 4410 add r0, r2 + b5fa: 4b73 ldr r3, [pc, #460] ; (b7c8 ) + b5fc: 4798 blx r3 return LV_DRAW_MASK_RES_CHANGED; - bba6: 2002 movs r0, #2 - bba8: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b5fe: 2002 movs r0, #2 + b600: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} p->cfg.side == LV_DRAW_MASK_LINE_SIDE_RIGHT) return LV_DRAW_MASK_RES_FULL_COVER; - bbac: 2001 movs r0, #1 - bbae: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b604: 2001 movs r0, #1 + b606: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} p->cfg.side == LV_DRAW_MASK_LINE_SIDE_BOTTOM) return LV_DRAW_MASK_RES_FULL_COVER; - bbb2: 2001 movs r0, #1 - bbb4: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b60a: 2001 movs r0, #1 + b60c: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} if(abs_x + len < 0) return LV_DRAW_MASK_RES_FULL_COVER; - bbb8: 2001 movs r0, #1 - bbba: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b610: 2001 movs r0, #1 + b612: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} if(k < 0) return LV_DRAW_MASK_RES_TRANSP; - bbbe: 2000 movs r0, #0 - bbc0: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b616: 2000 movs r0, #0 + b618: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} if(abs_x + len < 0) return LV_DRAW_MASK_RES_TRANSP; - bbc4: 2000 movs r0, #0 - bbc6: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b61c: 2000 movs r0, #0 + b61e: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} if(k >= len) return LV_DRAW_MASK_RES_TRANSP; - bbca: 2000 movs r0, #0 - bbcc: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b622: 2000 movs r0, #0 + b624: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} return LV_DRAW_MASK_RES_TRANSP; - bbd0: 2000 movs r0, #0 - bbd2: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b628: 2000 movs r0, #0 + b62a: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} return LV_DRAW_MASK_RES_CHANGED; - bbd6: 2002 movs r0, #2 - bbd8: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b62e: 2002 movs r0, #2 + b630: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} return LV_DRAW_MASK_RES_TRANSP; - bbdc: 2000 movs r0, #0 - bbde: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b634: 2000 movs r0, #0 + b636: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} return LV_DRAW_MASK_RES_TRANSP; - bbe2: 2000 movs r0, #0 - bbe4: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b63a: 2000 movs r0, #0 + b63c: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} return LV_DRAW_MASK_RES_CHANGED; - bbe8: 2002 movs r0, #2 - bbea: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b640: 2002 movs r0, #2 + b642: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} if(k == 0) return LV_DRAW_MASK_RES_TRANSP; - bbee: 2000 movs r0, #0 - bbf0: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b646: 2000 movs r0, #0 + b648: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} return LV_DRAW_MASK_RES_CHANGED; - bbf4: 2002 movs r0, #2 - bbf6: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} - bbfa: 2002 movs r0, #2 - bbfc: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b64c: 2002 movs r0, #2 + b64e: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b652: 2002 movs r0, #2 + b654: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} if(k > len) return LV_DRAW_MASK_RES_FULL_COVER; - bc00: 2001 movs r0, #1 - bc02: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b658: 2001 movs r0, #1 + b65a: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} return LV_DRAW_MASK_RES_CHANGED; - bc06: 2002 movs r0, #2 - bc08: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b65e: 2002 movs r0, #2 + b660: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} if(k > len) return LV_DRAW_MASK_RES_TRANSP; - bc0c: 2000 movs r0, #0 - bc0e: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b664: 2000 movs r0, #0 + b666: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} return LV_DRAW_MASK_RES_CHANGED; - bc12: 2002 movs r0, #2 - bc14: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b66a: 2002 movs r0, #2 + b66c: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} if(k == 0) return LV_DRAW_MASK_RES_TRANSP; - bc18: 2000 movs r0, #0 - bc1a: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b670: 2000 movs r0, #0 + b672: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} return LV_DRAW_MASK_RES_CHANGED; - bc1e: 2002 movs r0, #2 - bc20: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b676: 2002 movs r0, #2 + b678: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} y_at_x = (int32_t)((int32_t)p->yx_steep * (abs_x + len)) >> 10; - bc24: 461f mov r7, r3 - bc26: 442b add r3, r5 - bc28: fb01 f103 mul.w r1, r1, r3 + b67c: 461f mov r7, r3 + b67e: 442b add r3, r5 + b680: fb01 f103 mul.w r1, r1, r3 if(y_at_x < abs_y) { - bc2c: ebb2 2fa1 cmp.w r2, r1, asr #10 - bc30: f73f ae4b bgt.w b8ca + b684: ebb2 2fa1 cmp.w r2, r1, asr #10 + b688: f73f ae4b bgt.w b322 if(p->yx_steep > 0) xe = ((abs_y << 8) * p->xy_steep) >> 10; - bc34: 0212 lsls r2, r2, #8 - bc36: 69a3 ldr r3, [r4, #24] - bc38: fb03 f302 mul.w r3, r3, r2 - bc3c: 129b asrs r3, r3, #10 + b68c: 0212 lsls r2, r2, #8 + b68e: 69a3 ldr r3, [r4, #24] + b690: fb03 f302 mul.w r3, r3, r2 + b694: 129b asrs r3, r3, #10 int32_t xei = xe >> 8; - bc3e: 1219 asrs r1, r3, #8 + b696: 1219 asrs r1, r3, #8 if(xef == 0) px_h = 255; - bc40: f013 03ff ands.w r3, r3, #255 ; 0xff - bc44: d039 beq.n bcba + b698: f013 03ff ands.w r3, r3, #255 ; 0xff + b69c: d039 beq.n b712 else px_h = 255 - (((255 - xef) * p->spx) >> 8); - bc46: f1c3 03ff rsb r3, r3, #255 ; 0xff - bc4a: 6a62 ldr r2, [r4, #36] ; 0x24 - bc4c: fb02 f203 mul.w r2, r2, r3 - bc50: ea4f 2e22 mov.w lr, r2, asr #8 - bc54: f1ce 02ff rsb r2, lr, #255 ; 0xff + b69e: f1c3 03ff rsb r3, r3, #255 ; 0xff + b6a2: 6a62 ldr r2, [r4, #36] ; 0x24 + b6a4: fb02 f203 mul.w r2, r2, r3 + b6a8: ea4f 2e22 mov.w lr, r2, asr #8 + b6ac: f1ce 02ff rsb r2, lr, #255 ; 0xff if(k >= 0 && k < len) { - bc58: 1b49 subs r1, r1, r5 - bc5a: d41a bmi.n bc92 - bc5c: 42b9 cmp r1, r7 - bc5e: da18 bge.n bc92 + b6b0: 1b49 subs r1, r1, r5 + b6b2: d41a bmi.n b6ea + b6b4: 42b9 cmp r1, r7 + b6b6: da18 bge.n b6ea m = 255 - (((255 - xef) * (255 - px_h)) >> 9); - bc60: fb0e f303 mul.w r3, lr, r3 - bc64: f3c3 2347 ubfx r3, r3, #9, #8 + b6b8: fb0e f303 mul.w r3, lr, r3 + b6bc: f3c3 2347 ubfx r3, r3, #9, #8 if(p->inv) m = 255 - m; - bc68: f016 0f02 tst.w r6, #2 + b6c0: f016 0f02 tst.w r6, #2 m = 255 - (((255 - xef) * (255 - px_h)) >> 9); - bc6c: bf04 itt eq - bc6e: 43db mvneq r3, r3 - bc70: b2db uxtbeq r3, r3 + b6c4: bf04 itt eq + b6c6: 43db mvneq r3, r3 + b6c8: b2db uxtbeq r3, r3 mask_buf[k] = mask_mix(mask_buf[k], m); - bc72: 1846 adds r6, r0, r1 - bc74: 5c45 ldrb r5, [r0, r1] + b6ca: 1846 adds r6, r0, r1 + b6cc: 5c45 ldrb r5, [r0, r1] if(mask_new >= LV_OPA_MAX) return mask_act; - bc76: 2bf9 cmp r3, #249 ; 0xf9 - bc78: d80a bhi.n bc90 + b6ce: 2bf9 cmp r3, #249 ; 0xf9 + b6d0: d80a bhi.n b6e8 if(mask_new <= LV_OPA_MIN) return 0; - bc7a: 2b05 cmp r3, #5 - bc7c: f67f ae31 bls.w b8e2 + b6d2: 2b05 cmp r3, #5 + b6d4: f67f ae31 bls.w b33a return LV_MATH_UDIV255(mask_act * mask_new);// >> 8); - bc80: fb03 f305 mul.w r3, r3, r5 - bc84: eb03 2503 add.w r5, r3, r3, lsl #8 - bc88: eb03 13c5 add.w r3, r3, r5, lsl #7 - bc8c: f3c3 55c7 ubfx r5, r3, #23, #8 + b6d8: fb03 f305 mul.w r3, r3, r5 + b6dc: eb03 2503 add.w r5, r3, r3, lsl #8 + b6e0: eb03 13c5 add.w r3, r3, r5, lsl #7 + b6e4: f3c3 55c7 ubfx r5, r3, #23, #8 mask_buf[k] = mask_mix(mask_buf[k], m); - bc90: 7035 strb r5, [r6, #0] + b6e8: 7035 strb r5, [r6, #0] k++; - bc92: 1c4d adds r5, r1, #1 - bc94: 1946 adds r6, r0, r5 + b6ea: 1c4d adds r5, r1, #1 + b6ec: 1946 adds r6, r0, r5 if(mask_new <= LV_OPA_MIN) return 0; - bc96: f04f 0e00 mov.w lr, #0 - bc9a: e62d b.n b8f8 + b6ee: f04f 0e00 mov.w lr, #0 + b6f2: e62d b.n b350 y_at_x = (int32_t)((int32_t)p->yx_steep * (abs_x + len)) >> 10; - bc9c: 461f mov r7, r3 - bc9e: 442b add r3, r5 - bca0: fb01 f103 mul.w r1, r1, r3 + b6f4: 461f mov r7, r3 + b6f6: 442b add r3, r5 + b6f8: fb01 f103 mul.w r1, r1, r3 if(y_at_x > abs_y) { - bca4: ebb2 2fa1 cmp.w r2, r1, asr #10 - bca8: f6ff ae15 blt.w b8d6 + b6fc: ebb2 2fa1 cmp.w r2, r1, asr #10 + b700: f6ff ae15 blt.w b32e else xe = (((abs_y + 1) << 8) * p->xy_steep) >> 10; - bcac: 3201 adds r2, #1 - bcae: 0212 lsls r2, r2, #8 - bcb0: 69a3 ldr r3, [r4, #24] - bcb2: fb03 f302 mul.w r3, r3, r2 - bcb6: 129b asrs r3, r3, #10 - bcb8: e7c1 b.n bc3e + b704: 3201 adds r2, #1 + b706: 0212 lsls r2, r2, #8 + b708: 69a3 ldr r3, [r4, #24] + b70a: fb03 f302 mul.w r3, r3, r2 + b70e: 129b asrs r3, r3, #10 + b710: e7c1 b.n b696 int32_t k = xei - abs_x; - bcba: 1b4d subs r5, r1, r5 - bcbc: 4629 mov r1, r5 + b712: 1b4d subs r5, r1, r5 + b714: 4629 mov r1, r5 if(xef == 0) px_h = 255; - bcbe: 22ff movs r2, #255 ; 0xff - bcc0: e7e8 b.n bc94 + b716: 22ff movs r2, #255 ; 0xff + b718: e7e8 b.n b6ec y_inters = (xsf * (-p->yx_steep)) >> 10; - bcc2: 69e2 ldr r2, [r4, #28] - bcc4: 4252 negs r2, r2 - bcc6: fb01 f202 mul.w r2, r1, r2 - bcca: 1292 asrs r2, r2, #10 + b71a: 69e2 ldr r2, [r4, #28] + b71c: 4252 negs r2, r2 + b71e: fb01 f202 mul.w r2, r1, r2 + b722: 1292 asrs r2, r2, #10 if(k >= 0 && k < len) { - bccc: f1be 0f00 cmp.w lr, #0 - bcd0: db1c blt.n bd0c - bcd2: 4573 cmp r3, lr - bcd4: dd1a ble.n bd0c + b724: f1be 0f00 cmp.w lr, #0 + b728: db1c blt.n b764 + b72a: 4573 cmp r3, lr + b72c: dd1a ble.n b764 m = (y_inters * xsf) >> 9; - bcd6: fb02 f101 mul.w r1, r2, r1 - bcda: f3c1 2147 ubfx r1, r1, #9, #8 + b72e: fb02 f101 mul.w r1, r2, r1 + b732: f3c1 2147 ubfx r1, r1, #9, #8 if(p->inv) m = 255 - m; - bcde: f016 0f02 tst.w r6, #2 - bce2: bf1c itt ne - bce4: 43c9 mvnne r1, r1 - bce6: b2c9 uxtbne r1, r1 + b736: f016 0f02 tst.w r6, #2 + b73a: bf1c itt ne + b73c: 43c9 mvnne r1, r1 + b73e: b2c9 uxtbne r1, r1 mask_buf[k] = mask_mix(mask_buf[k], m); - bce8: eb00 060e add.w r6, r0, lr - bcec: f810 500e ldrb.w r5, [r0, lr] + b740: eb00 060e add.w r6, r0, lr + b744: f810 500e ldrb.w r5, [r0, lr] if(mask_new >= LV_OPA_MAX) return mask_act; - bcf0: 29f9 cmp r1, #249 ; 0xf9 - bcf2: d80a bhi.n bd0a + b748: 29f9 cmp r1, #249 ; 0xf9 + b74a: d80a bhi.n b762 if(mask_new <= LV_OPA_MIN) return 0; - bcf4: 2905 cmp r1, #5 - bcf6: f67f af29 bls.w bb4c + b74c: 2905 cmp r1, #5 + b74e: f67f af29 bls.w b5a4 return LV_MATH_UDIV255(mask_act * mask_new);// >> 8); - bcfa: fb01 f105 mul.w r1, r1, r5 - bcfe: eb01 2501 add.w r5, r1, r1, lsl #8 - bd02: eb01 11c5 add.w r1, r1, r5, lsl #7 - bd06: f3c1 55c7 ubfx r5, r1, #23, #8 + b752: fb01 f105 mul.w r1, r1, r5 + b756: eb01 2501 add.w r5, r1, r1, lsl #8 + b75a: eb01 11c5 add.w r1, r1, r5, lsl #7 + b75e: f3c1 55c7 ubfx r5, r1, #23, #8 mask_buf[k] = mask_mix(mask_buf[k], m); - bd0a: 7035 strb r5, [r6, #0] + b762: 7035 strb r5, [r6, #0] if(k >= 0 && k < len) { - bd0c: f1be 0101 subs.w r1, lr, #1 - bd10: d422 bmi.n bd58 - bd12: 428b cmp r3, r1 - bd14: dd20 ble.n bd58 + b764: f1be 0101 subs.w r1, lr, #1 + b768: d422 bmi.n b7b0 + b76a: 428b cmp r3, r1 + b76c: dd20 ble.n b7b0 int32_t x_inters = ((255 - y_inters) * (-p->xy_steep)) >> 10; - bd16: f1c2 02ff rsb r2, r2, #255 ; 0xff - bd1a: 69a5 ldr r5, [r4, #24] - bd1c: 426d negs r5, r5 - bd1e: fb02 f505 mul.w r5, r2, r5 - bd22: 12ad asrs r5, r5, #10 + b76e: f1c2 02ff rsb r2, r2, #255 ; 0xff + b772: 69a5 ldr r5, [r4, #24] + b774: 426d negs r5, r5 + b776: fb02 f505 mul.w r5, r2, r5 + b77a: 12ad asrs r5, r5, #10 m = 255 - (((255 - y_inters) * x_inters) >> 9); - bd24: fb02 f205 mul.w r2, r2, r5 - bd28: f3c2 2247 ubfx r2, r2, #9, #8 + b77c: fb02 f205 mul.w r2, r2, r5 + b780: f3c2 2247 ubfx r2, r2, #9, #8 if(p->inv) m = 255 - m; - bd2c: f894 5028 ldrb.w r5, [r4, #40] ; 0x28 - bd30: f015 0f02 tst.w r5, #2 + b784: f894 5028 ldrb.w r5, [r4, #40] ; 0x28 + b788: f015 0f02 tst.w r5, #2 m = 255 - (((255 - y_inters) * x_inters) >> 9); - bd34: bf04 itt eq - bd36: 43d2 mvneq r2, r2 - bd38: b2d2 uxtbeq r2, r2 + b78c: bf04 itt eq + b78e: 43d2 mvneq r2, r2 + b790: b2d2 uxtbeq r2, r2 mask_buf[k] = mask_mix(mask_buf[k], m); - bd3a: 5c45 ldrb r5, [r0, r1] + b792: 5c45 ldrb r5, [r0, r1] if(mask_new >= LV_OPA_MAX) return mask_act; - bd3c: 2af9 cmp r2, #249 ; 0xf9 - bd3e: d80a bhi.n bd56 + b794: 2af9 cmp r2, #249 ; 0xf9 + b796: d80a bhi.n b7ae if(mask_new <= LV_OPA_MIN) return 0; - bd40: 2a05 cmp r2, #5 - bd42: f67f af05 bls.w bb50 + b798: 2a05 cmp r2, #5 + b79a: f67f af05 bls.w b5a8 return LV_MATH_UDIV255(mask_act * mask_new);// >> 8); - bd46: fb02 f205 mul.w r2, r2, r5 - bd4a: eb02 2502 add.w r5, r2, r2, lsl #8 - bd4e: eb02 12c5 add.w r2, r2, r5, lsl #7 - bd52: f3c2 55c7 ubfx r5, r2, #23, #8 + b79e: fb02 f205 mul.w r2, r2, r5 + b7a2: eb02 2502 add.w r5, r2, r2, lsl #8 + b7a6: eb02 12c5 add.w r2, r2, r5, lsl #7 + b7aa: f3c2 55c7 ubfx r5, r2, #23, #8 mask_buf[k] = mask_mix(mask_buf[k], m); - bd56: 5445 strb r5, [r0, r1] + b7ae: 5445 strb r5, [r0, r1] if(p->inv) { - bd58: f894 2028 ldrb.w r2, [r4, #40] ; 0x28 - bd5c: f012 0f02 tst.w r2, #2 - bd60: f43f aeff beq.w bb62 + b7b0: f894 2028 ldrb.w r2, [r4, #40] ; 0x28 + b7b4: f012 0f02 tst.w r2, #2 + b7b8: f43f aeff beq.w b5ba if(k > len) k = len; - bd64: 428b cmp r3, r1 - bd66: f6bf aef5 bge.w bb54 + b7bc: 428b cmp r3, r1 + b7be: f6bf aef5 bge.w b5ac return LV_DRAW_MASK_RES_CHANGED; - bd6a: 2002 movs r0, #2 - bd6c: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} - bd70: 000130df .word 0x000130df + b7c2: 2002 movs r0, #2 + b7c4: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b7c8: 00012b37 .word 0x00012b37 -0000bd74 : +0000b7cc : { - bd74: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - bd78: b08d sub sp, #52 ; 0x34 - bd7a: 9d16 ldr r5, [sp, #88] ; 0x58 + b7cc: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + b7d0: b08d sub sp, #52 ; 0x34 + b7d2: 9d16 ldr r5, [sp, #88] ; 0x58 bool outer = p->cfg.outer; - bd7c: 7cae ldrb r6, [r5, #18] - bd7e: f006 0601 and.w r6, r6, #1 + b7d4: 7cae ldrb r6, [r5, #18] + b7d6: f006 0601 and.w r6, r6, #1 int32_t radius = p->cfg.radius; - bd82: f9b5 8010 ldrsh.w r8, [r5, #16] - bd86: 1dec adds r4, r5, #7 - bd88: f105 090f add.w r9, r5, #15 + b7da: f9b5 8010 ldrsh.w r8, [r5, #16] + b7de: 1dec adds r4, r5, #7 + b7e0: f105 090f add.w r9, r5, #15 uint8_t * d8 = (uint8_t *)dst; - bd8c: f10d 0e28 add.w lr, sp, #40 ; 0x28 + b7e4: f10d 0e28 add.w lr, sp, #40 ; 0x28 *d8 = *s8; - bd90: f814 7f01 ldrb.w r7, [r4, #1]! - bd94: f80e 7b01 strb.w r7, [lr], #1 + b7e8: f814 7f01 ldrb.w r7, [r4, #1]! + b7ec: f80e 7b01 strb.w r7, [lr], #1 while(len) { - bd98: 454c cmp r4, r9 - bd9a: d1f9 bne.n bd90 + b7f0: 454c cmp r4, r9 + b7f2: d1f9 bne.n b7e8 if(outer == false) { - bd9c: 2e00 cmp r6, #0 - bd9e: d13d bne.n be1c + b7f4: 2e00 cmp r6, #0 + b7f6: d13d bne.n b874 if(abs_y < rect.y1 || abs_y > rect.y2) { - bda0: f9bd 402a ldrsh.w r4, [sp, #42] ; 0x2a - bda4: 4294 cmp r4, r2 - bda6: f300 822b bgt.w c200 - bdaa: f9bd 402e ldrsh.w r4, [sp, #46] ; 0x2e - bdae: 4294 cmp r4, r2 - bdb0: f2c0 822a blt.w c208 - bdb4: 469b mov fp, r3 - bdb6: 460f mov r7, r1 - bdb8: 9002 str r0, [sp, #8] + b7f8: f9bd 402a ldrsh.w r4, [sp, #42] ; 0x2a + b7fc: 4294 cmp r4, r2 + b7fe: f300 822b bgt.w bc58 + b802: f9bd 402e ldrsh.w r4, [sp, #46] ; 0x2e + b806: 4294 cmp r4, r2 + b808: f2c0 822a blt.w bc60 + b80c: 469b mov fp, r3 + b80e: 460f mov r7, r1 + b810: 9002 str r0, [sp, #8] if((abs_x >= rect.x1 + radius && abs_x + len <= rect.x2 - radius) || - bdba: f9bd 9028 ldrsh.w r9, [sp, #40] ; 0x28 - bdbe: eb08 0309 add.w r3, r8, r9 - bdc2: 4299 cmp r1, r3 - bdc4: db06 blt.n bdd4 - bdc6: 4459 add r1, fp - bdc8: f9bd 302c ldrsh.w r3, [sp, #44] ; 0x2c - bdcc: eba3 0308 sub.w r3, r3, r8 - bdd0: 4299 cmp r1, r3 - bdd2: dd0b ble.n bdec + b812: f9bd 9028 ldrsh.w r9, [sp, #40] ; 0x28 + b816: eb08 0309 add.w r3, r8, r9 + b81a: 4299 cmp r1, r3 + b81c: db06 blt.n b82c + b81e: 4459 add r1, fp + b820: f9bd 302c ldrsh.w r3, [sp, #44] ; 0x2c + b824: eba3 0308 sub.w r3, r3, r8 + b828: 4299 cmp r1, r3 + b82a: dd0b ble.n b844 (abs_y >= rect.y1 + radius && abs_y <= rect.y2 - radius)) { - bdd4: f9bd 302a ldrsh.w r3, [sp, #42] ; 0x2a - bdd8: eb03 0108 add.w r1, r3, r8 + b82c: f9bd 302a ldrsh.w r3, [sp, #42] ; 0x2a + b830: eb03 0108 add.w r1, r3, r8 if((abs_x >= rect.x1 + radius && abs_x + len <= rect.x2 - radius) || - bddc: 428a cmp r2, r1 - bdde: db53 blt.n be88 + b834: 428a cmp r2, r1 + b836: db53 blt.n b8e0 (abs_y >= rect.y1 + radius && abs_y <= rect.y2 - radius)) { - bde0: f9bd 102e ldrsh.w r1, [sp, #46] ; 0x2e - bde4: eba1 0108 sub.w r1, r1, r8 - bde8: 428a cmp r2, r1 - bdea: dc4d bgt.n be88 + b838: f9bd 102e ldrsh.w r1, [sp, #46] ; 0x2e + b83c: eba1 0108 sub.w r1, r1, r8 + b840: 428a cmp r2, r1 + b842: dc4d bgt.n b8e0 if(outer == false) { - bdec: bb86 cbnz r6, be50 + b844: bb86 cbnz r6, b8a8 int32_t last = rect.x1 - abs_x; - bdee: eba9 0407 sub.w r4, r9, r7 + b846: eba9 0407 sub.w r4, r9, r7 if(last > len) return LV_DRAW_MASK_RES_TRANSP; - bdf2: 455c cmp r4, fp - bdf4: f300 820c bgt.w c210 + b84a: 455c cmp r4, fp + b84c: f300 820c bgt.w bc68 if(last >= 0) { - bdf8: 2c00 cmp r4, #0 - bdfa: db03 blt.n be04 + b850: 2c00 cmp r4, #0 + b852: db03 blt.n b85c _lv_memset_00(&mask_buf[0], last); - bdfc: 4621 mov r1, r4 - bdfe: 9802 ldr r0, [sp, #8] - be00: 4b9f ldr r3, [pc, #636] ; (c080 ) - be02: 4798 blx r3 + b854: 4621 mov r1, r4 + b856: 9802 ldr r0, [sp, #8] + b858: 4b9f ldr r3, [pc, #636] ; (bad8 ) + b85a: 4798 blx r3 int32_t first = rect.x2 - abs_x + 1; - be04: f9bd 002c ldrsh.w r0, [sp, #44] ; 0x2c - be08: 1bc0 subs r0, r0, r7 - be0a: 3001 adds r0, #1 + b85c: f9bd 002c ldrsh.w r0, [sp, #44] ; 0x2c + b860: 1bc0 subs r0, r0, r7 + b862: 3001 adds r0, #1 if(first <= 0) return LV_DRAW_MASK_RES_TRANSP; - be0c: 2800 cmp r0, #0 - be0e: f340 8201 ble.w c214 + b864: 2800 cmp r0, #0 + b866: f340 8201 ble.w bc6c else if(first < len) { - be12: 4583 cmp fp, r0 - be14: dc0d bgt.n be32 + b86a: 4583 cmp fp, r0 + b86c: dc0d bgt.n b88a if(last == 0 && first == len) return LV_DRAW_MASK_RES_FULL_COVER; - be16: b1bc cbz r4, be48 + b86e: b1bc cbz r4, b8a0 else return LV_DRAW_MASK_RES_CHANGED; - be18: 2002 movs r0, #2 - be1a: e1f2 b.n c202 + b870: 2002 movs r0, #2 + b872: e1f2 b.n bc5a if(abs_y < rect.y1 || abs_y > rect.y2) { - be1c: f9bd 402a ldrsh.w r4, [sp, #42] ; 0x2a - be20: 4294 cmp r4, r2 - be22: f300 81f3 bgt.w c20c - be26: f9bd 402e ldrsh.w r4, [sp, #46] ; 0x2e - be2a: 4294 cmp r4, r2 - be2c: dac2 bge.n bdb4 + b874: f9bd 402a ldrsh.w r4, [sp, #42] ; 0x2a + b878: 4294 cmp r4, r2 + b87a: f300 81f3 bgt.w bc64 + b87e: f9bd 402e ldrsh.w r4, [sp, #46] ; 0x2e + b882: 4294 cmp r4, r2 + b884: dac2 bge.n b80c return LV_DRAW_MASK_RES_FULL_COVER; - be2e: 2001 movs r0, #1 - be30: e1e7 b.n c202 + b886: 2001 movs r0, #1 + b888: e1e7 b.n bc5a _lv_memset_00(&mask_buf[first], len - first); - be32: ebab 0100 sub.w r1, fp, r0 - be36: 9b02 ldr r3, [sp, #8] - be38: 4403 add r3, r0 - be3a: 4618 mov r0, r3 - be3c: 4b90 ldr r3, [pc, #576] ; (c080 ) - be3e: 4798 blx r3 + b88a: ebab 0100 sub.w r1, fp, r0 + b88e: 9b02 ldr r3, [sp, #8] + b890: 4403 add r3, r0 + b892: 4618 mov r0, r3 + b894: 4b90 ldr r3, [pc, #576] ; (bad8 ) + b896: 4798 blx r3 if(last == 0 && first == len) return LV_DRAW_MASK_RES_FULL_COVER; - be40: 2c00 cmp r4, #0 - be42: d1e9 bne.n be18 + b898: 2c00 cmp r4, #0 + b89a: d1e9 bne.n b870 else return LV_DRAW_MASK_RES_CHANGED; - be44: 2002 movs r0, #2 - be46: e1dc b.n c202 + b89c: 2002 movs r0, #2 + b89e: e1dc b.n bc5a if(last == 0 && first == len) return LV_DRAW_MASK_RES_FULL_COVER; - be48: 4583 cmp fp, r0 - be4a: d1e5 bne.n be18 - be4c: 2001 movs r0, #1 - be4e: e1d8 b.n c202 + b8a0: 4583 cmp fp, r0 + b8a2: d1e5 bne.n b870 + b8a4: 2001 movs r0, #1 + b8a6: e1d8 b.n bc5a int32_t first = rect.x1 - abs_x; - be50: eba9 0007 sub.w r0, r9, r7 - be54: ea20 70e0 bic.w r0, r0, r0, asr #31 + b8a8: eba9 0007 sub.w r0, r9, r7 + b8ac: ea20 70e0 bic.w r0, r0, r0, asr #31 if(first <= len) { - be58: 4558 cmp r0, fp - be5a: dd01 ble.n be60 + b8b0: 4558 cmp r0, fp + b8b2: dd01 ble.n b8b8 return LV_DRAW_MASK_RES_CHANGED; - be5c: 2002 movs r0, #2 - be5e: e1d0 b.n c202 + b8b4: 2002 movs r0, #2 + b8b6: e1d0 b.n bc5a int32_t last = rect.x2 - abs_x - first + 1; - be60: f9bd 102c ldrsh.w r1, [sp, #44] ; 0x2c - be64: 1bc9 subs r1, r1, r7 - be66: 1a09 subs r1, r1, r0 - be68: 3101 adds r1, #1 + b8b8: f9bd 102c ldrsh.w r1, [sp, #44] ; 0x2c + b8bc: 1bc9 subs r1, r1, r7 + b8be: 1a09 subs r1, r1, r0 + b8c0: 3101 adds r1, #1 if(first + last > len) last = len - first; - be6a: 1843 adds r3, r0, r1 - be6c: 459b cmp fp, r3 - be6e: bfb8 it lt - be70: ebab 0100 sublt.w r1, fp, r0 + b8c2: 1843 adds r3, r0, r1 + b8c4: 459b cmp fp, r3 + b8c6: bfb8 it lt + b8c8: ebab 0100 sublt.w r1, fp, r0 if(last >= 0) { - be74: 2900 cmp r1, #0 - be76: f2c0 81cf blt.w c218 + b8cc: 2900 cmp r1, #0 + b8ce: f2c0 81cf blt.w bc70 _lv_memset_00(&mask_buf[first], last); - be7a: 9b02 ldr r3, [sp, #8] - be7c: 4403 add r3, r0 - be7e: 4618 mov r0, r3 - be80: 4b7f ldr r3, [pc, #508] ; (c080 ) - be82: 4798 blx r3 + b8d2: 9b02 ldr r3, [sp, #8] + b8d4: 4403 add r3, r0 + b8d6: 4618 mov r0, r3 + b8d8: 4b7f ldr r3, [pc, #508] ; (bad8 ) + b8da: 4798 blx r3 return LV_DRAW_MASK_RES_CHANGED; - be84: 2002 movs r0, #2 - be86: e1bc b.n c202 - be88: f9bd a02c ldrsh.w sl, [sp, #44] ; 0x2c + b8dc: 2002 movs r0, #2 + b8de: e1bc b.n bc5a + b8e0: f9bd a02c ldrsh.w sl, [sp, #44] ; 0x2c return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - be8c: b29b uxth r3, r3 - be8e: f8bd 102e ldrh.w r1, [sp, #46] ; 0x2e - be92: 3101 adds r1, #1 - be94: 1ac9 subs r1, r1, r3 + b8e4: b29b uxth r3, r3 + b8e6: f8bd 102e ldrh.w r1, [sp, #46] ; 0x2e + b8ea: 3101 adds r1, #1 + b8ec: 1ac9 subs r1, r1, r3 int32_t h = lv_area_get_height(&rect); - be96: b209 sxth r1, r1 + b8ee: b209 sxth r1, r1 abs_y -= rect.y1; - be98: 1ad2 subs r2, r2, r3 + b8f0: 1ad2 subs r2, r2, r3 uint32_t r2 = p->cfg.radius * p->cfg.radius; - be9a: fb08 f308 mul.w r3, r8, r8 - be9e: 9301 str r3, [sp, #4] + b8f2: fb08 f308 mul.w r3, r8, r8 + b8f6: 9301 str r3, [sp, #4] if(abs_y < radius || abs_y > h - radius - 1) { - bea0: b212 sxth r2, r2 - bea2: 4590 cmp r8, r2 - bea4: f300 81d1 bgt.w c24a - bea8: eba1 0308 sub.w r3, r1, r8 - beac: 3b01 subs r3, #1 - beae: 429a cmp r2, r3 - beb0: f300 81b4 bgt.w c21c + b8f8: b212 sxth r2, r2 + b8fa: 4590 cmp r8, r2 + b8fc: f300 81d1 bgt.w bca2 + b900: eba1 0308 sub.w r3, r1, r8 + b904: 3b01 subs r3, #1 + b906: 429a cmp r2, r3 + b908: f300 81b4 bgt.w bc74 return LV_DRAW_MASK_RES_CHANGED; - beb4: 2002 movs r0, #2 - beb6: e1a4 b.n c202 + b90c: 2002 movs r0, #2 + b90e: e1a4 b.n bc5a x0.f = p->y_prev_x.f; - beb8: 8b6b ldrh r3, [r5, #26] - beba: f8ad 301a strh.w r3, [sp, #26] + b910: 8b6b ldrh r3, [r5, #26] + b912: f8ad 301a strh.w r3, [sp, #26] x0.i = p->y_prev_x.i; - bebe: 8b2b ldrh r3, [r5, #24] - bec0: f8ad 3018 strh.w r3, [sp, #24] - bec4: e1d6 b.n c274 + b916: 8b2b ldrh r3, [r5, #24] + b918: f8ad 3018 strh.w r3, [sp, #24] + b91c: e1d6 b.n bccc _lv_sqrt(r2 - ((y - 1) * (y - 1)), &x1, sqrt_mask); - bec6: 9a04 ldr r2, [sp, #16] - bec8: a907 add r1, sp, #28 - beca: 9b01 ldr r3, [sp, #4] - becc: fb00 3010 mls r0, r0, r0, r3 - bed0: 4b6c ldr r3, [pc, #432] ; (c084 ) - bed2: 4798 blx r3 + b91e: 9a04 ldr r2, [sp, #16] + b920: a907 add r1, sp, #28 + b922: 9b01 ldr r3, [sp, #4] + b924: fb00 3010 mls r0, r0, r0, r3 + b928: 4b6c ldr r3, [pc, #432] ; (badc ) + b92a: 4798 blx r3 _lv_sqrt(r2 - (y * y), &x0, sqrt_mask); - bed4: 9a04 ldr r2, [sp, #16] - bed6: a906 add r1, sp, #24 - bed8: 9b01 ldr r3, [sp, #4] - beda: fb04 3014 mls r0, r4, r4, r3 - bede: 4b69 ldr r3, [pc, #420] ; (c084 ) - bee0: 4798 blx r3 + b92c: 9a04 ldr r2, [sp, #16] + b92e: a906 add r1, sp, #24 + b930: 9b01 ldr r3, [sp, #4] + b932: fb04 3014 mls r0, r4, r4, r3 + b936: 4b69 ldr r3, [pc, #420] ; (badc ) + b938: 4798 blx r3 p->y_prev = y; - bee2: 616c str r4, [r5, #20] + b93a: 616c str r4, [r5, #20] p->y_prev_x.f = x0.f; - bee4: f8bd 301a ldrh.w r3, [sp, #26] - bee8: 836b strh r3, [r5, #26] + b93c: f8bd 301a ldrh.w r3, [sp, #26] + b940: 836b strh r3, [r5, #26] p->y_prev_x.i = x0.i; - beea: f8bd 3018 ldrh.w r3, [sp, #24] - beee: 832b strh r3, [r5, #24] - bef0: e1d1 b.n c296 + b942: f8bd 3018 ldrh.w r3, [sp, #24] + b946: 832b strh r3, [r5, #24] + b948: e1d1 b.n bcee if(x0.i == x1.i - 1 && x1.f == 0) { - bef2: f8bd 101e ldrh.w r1, [sp, #30] - bef6: 2900 cmp r1, #0 - bef8: f040 81d5 bne.w c2a6 + b94a: f8bd 101e ldrh.w r1, [sp, #30] + b94e: 2900 cmp r1, #0 + b950: f040 81d5 bne.w bcfe x1.i--; - befc: 3a01 subs r2, #1 - befe: f8ad 201c strh.w r2, [sp, #28] + b954: 3a01 subs r2, #1 + b956: f8ad 201c strh.w r2, [sp, #28] x1.f = 0xFF; - bf02: 22ff movs r2, #255 ; 0xff - bf04: f8ad 201e strh.w r2, [sp, #30] - bf08: e1cd b.n c2a6 + b95a: 22ff movs r2, #255 ; 0xff + b95c: f8ad 201e strh.w r2, [sp, #30] + b960: e1cd b.n bcfe lv_opa_t m = (x0.f + x1.f) >> 1; - bf0a: f8bd 201a ldrh.w r2, [sp, #26] - bf0e: f8bd 101e ldrh.w r1, [sp, #30] - bf12: 440a add r2, r1 - bf14: f3c2 0247 ubfx r2, r2, #1, #8 + b962: f8bd 201a ldrh.w r2, [sp, #26] + b966: f8bd 101e ldrh.w r1, [sp, #30] + b96a: 440a add r2, r1 + b96c: f3c2 0247 ubfx r2, r2, #1, #8 if(outer) m = 255 - m; - bf18: b10e cbz r6, bf1e - bf1a: 43d2 mvns r2, r2 - bf1c: b2d2 uxtb r2, r2 + b970: b10e cbz r6, b976 + b972: 43d2 mvns r2, r2 + b974: b2d2 uxtb r2, r2 int32_t ofs = radius - x0.i - 1; - bf1e: eba8 0303 sub.w r3, r8, r3 - bf22: 3b01 subs r3, #1 + b976: eba8 0303 sub.w r3, r8, r3 + b97a: 3b01 subs r3, #1 if(kl >= 0 && kl < len) { - bf24: 18f9 adds r1, r7, r3 - bf26: d411 bmi.n bf4c - bf28: 4559 cmp r1, fp - bf2a: da0f bge.n bf4c + b97c: 18f9 adds r1, r7, r3 + b97e: d411 bmi.n b9a4 + b980: 4559 cmp r1, fp + b982: da0f bge.n b9a4 mask_buf[kl] = mask_mix(mask_buf[kl], m); - bf2c: 9802 ldr r0, [sp, #8] - bf2e: 5c40 ldrb r0, [r0, r1] + b984: 9802 ldr r0, [sp, #8] + b986: 5c40 ldrb r0, [r0, r1] if(mask_new >= LV_OPA_MAX) return mask_act; - bf30: 2af9 cmp r2, #249 ; 0xf9 - bf32: d809 bhi.n bf48 + b988: 2af9 cmp r2, #249 ; 0xf9 + b98a: d809 bhi.n b9a0 if(mask_new <= LV_OPA_MIN) return 0; - bf34: 2a05 cmp r2, #5 - bf36: d935 bls.n bfa4 + b98c: 2a05 cmp r2, #5 + b98e: d935 bls.n b9fc return LV_MATH_UDIV255(mask_act * mask_new);// >> 8); - bf38: fb02 f000 mul.w r0, r2, r0 - bf3c: eb00 2400 add.w r4, r0, r0, lsl #8 - bf40: eb00 10c4 add.w r0, r0, r4, lsl #7 - bf44: f3c0 50c7 ubfx r0, r0, #23, #8 + b990: fb02 f000 mul.w r0, r2, r0 + b994: eb00 2400 add.w r4, r0, r0, lsl #8 + b998: eb00 10c4 add.w r0, r0, r4, lsl #7 + b99c: f3c0 50c7 ubfx r0, r0, #23, #8 mask_buf[kl] = mask_mix(mask_buf[kl], m); - bf48: 9c02 ldr r4, [sp, #8] - bf4a: 5460 strb r0, [r4, r1] + b9a0: 9c02 ldr r4, [sp, #8] + b9a2: 5460 strb r0, [r4, r1] int32_t kr = k + (w - ofs - 1); - bf4c: eba9 0303 sub.w r3, r9, r3 - bf50: 3b01 subs r3, #1 + b9a4: eba9 0303 sub.w r3, r9, r3 + b9a8: 3b01 subs r3, #1 if(kr >= 0 && kr < len) { - bf52: 19df adds r7, r3, r7 - bf54: d411 bmi.n bf7a - bf56: 455f cmp r7, fp - bf58: da0f bge.n bf7a + b9aa: 19df adds r7, r3, r7 + b9ac: d411 bmi.n b9d2 + b9ae: 455f cmp r7, fp + b9b0: da0f bge.n b9d2 mask_buf[kr] = mask_mix(mask_buf[kr], m); - bf5a: 9b02 ldr r3, [sp, #8] - bf5c: 5ddb ldrb r3, [r3, r7] + b9b2: 9b02 ldr r3, [sp, #8] + b9b4: 5ddb ldrb r3, [r3, r7] if(mask_new >= LV_OPA_MAX) return mask_act; - bf5e: 2af9 cmp r2, #249 ; 0xf9 - bf60: d809 bhi.n bf76 + b9b6: 2af9 cmp r2, #249 ; 0xf9 + b9b8: d809 bhi.n b9ce if(mask_new <= LV_OPA_MIN) return 0; - bf62: 2a05 cmp r2, #5 - bf64: d920 bls.n bfa8 + b9ba: 2a05 cmp r2, #5 + b9bc: d920 bls.n ba00 return LV_MATH_UDIV255(mask_act * mask_new);// >> 8); - bf66: fb02 f203 mul.w r2, r2, r3 - bf6a: eb02 2302 add.w r3, r2, r2, lsl #8 - bf6e: eb02 12c3 add.w r2, r2, r3, lsl #7 - bf72: f3c2 53c7 ubfx r3, r2, #23, #8 + b9be: fb02 f203 mul.w r2, r2, r3 + b9c2: eb02 2302 add.w r3, r2, r2, lsl #8 + b9c6: eb02 12c3 add.w r2, r2, r3, lsl #7 + b9ca: f3c2 53c7 ubfx r3, r2, #23, #8 mask_buf[kr] = mask_mix(mask_buf[kr], m); - bf76: 9a02 ldr r2, [sp, #8] - bf78: 55d3 strb r3, [r2, r7] + b9ce: 9a02 ldr r2, [sp, #8] + b9d0: 55d3 strb r3, [r2, r7] if(outer == false) { - bf7a: b1be cbz r6, bfac + b9d2: b1be cbz r6, ba04 kl++; - bf7c: 1c48 adds r0, r1, #1 - bf7e: ea20 70e0 bic.w r0, r0, r0, asr #31 + b9d4: 1c48 adds r0, r1, #1 + b9d6: ea20 70e0 bic.w r0, r0, r0, asr #31 if(len_tmp + first > len) len_tmp = len - first; - bf82: 455f cmp r7, fp + b9da: 455f cmp r7, fp int32_t len_tmp = kr - first; - bf84: bfd4 ite le - bf86: 1a39 suble r1, r7, r0 + b9dc: bfd4 ite le + b9de: 1a39 suble r1, r7, r0 if(len_tmp + first > len) len_tmp = len - first; - bf88: ebab 0100 subgt.w r1, fp, r0 + b9e0: ebab 0100 subgt.w r1, fp, r0 if(first < len && len_tmp >= 0) { - bf8c: 4558 cmp r0, fp - bf8e: f280 8119 bge.w c1c4 - bf92: 2900 cmp r1, #0 - bf94: f2c0 8116 blt.w c1c4 + b9e4: 4558 cmp r0, fp + b9e6: f280 8119 bge.w bc1c + b9ea: 2900 cmp r1, #0 + b9ec: f2c0 8116 blt.w bc1c _lv_memset_00(&mask_buf[first], len_tmp); - bf98: 9b02 ldr r3, [sp, #8] - bf9a: 4403 add r3, r0 - bf9c: 4618 mov r0, r3 - bf9e: 4b38 ldr r3, [pc, #224] ; (c080 ) - bfa0: 4798 blx r3 - bfa2: e10f b.n c1c4 + b9f0: 9b02 ldr r3, [sp, #8] + b9f2: 4403 add r3, r0 + b9f4: 4618 mov r0, r3 + b9f6: 4b38 ldr r3, [pc, #224] ; (bad8 ) + b9f8: 4798 blx r3 + b9fa: e10f b.n bc1c if(mask_new <= LV_OPA_MIN) return 0; - bfa4: 2000 movs r0, #0 - bfa6: e7cf b.n bf48 - bfa8: 2300 movs r3, #0 - bfaa: e7e4 b.n bf76 + b9fc: 2000 movs r0, #0 + b9fe: e7cf b.n b9a0 + ba00: 2300 movs r3, #0 + ba02: e7e4 b.n b9ce if(kl > len) { - bfac: 4559 cmp r1, fp - bfae: f300 8125 bgt.w c1fc + ba04: 4559 cmp r1, fp + ba06: f300 8125 bgt.w bc54 if(kl >= 0) { - bfb2: 2900 cmp r1, #0 - bfb4: db02 blt.n bfbc + ba0a: 2900 cmp r1, #0 + ba0c: db02 blt.n ba14 _lv_memset_00(&mask_buf[0], kl); - bfb6: 9802 ldr r0, [sp, #8] - bfb8: 4b31 ldr r3, [pc, #196] ; (c080 ) - bfba: 4798 blx r3 + ba0e: 9802 ldr r0, [sp, #8] + ba10: 4b31 ldr r3, [pc, #196] ; (bad8 ) + ba12: 4798 blx r3 if(kr < 0) { - bfbc: 3701 adds r7, #1 - bfbe: f100 811d bmi.w c1fc + ba14: 3701 adds r7, #1 + ba16: f100 811d bmi.w bc54 if(kr <= len) { - bfc2: 455f cmp r7, fp - bfc4: f300 80fe bgt.w c1c4 + ba1a: 455f cmp r7, fp + ba1c: f300 80fe bgt.w bc1c _lv_memset_00(&mask_buf[kr], len - kr); - bfc8: ebab 0107 sub.w r1, fp, r7 - bfcc: 9b02 ldr r3, [sp, #8] - bfce: 443b add r3, r7 - bfd0: 4618 mov r0, r3 - bfd2: 4b2b ldr r3, [pc, #172] ; (c080 ) - bfd4: 4798 blx r3 - bfd6: e0f5 b.n c1c4 + ba20: ebab 0107 sub.w r1, fp, r7 + ba24: 9b02 ldr r3, [sp, #8] + ba26: 443b add r3, r7 + ba28: 4618 mov r0, r3 + ba2a: 4b2b ldr r3, [pc, #172] ; (bad8 ) + ba2c: 4798 blx r3 + ba2e: e0f5 b.n bc1c _lv_sqrt(r2 - (i * i), &y_next, sqrt_mask); - bfd8: 9a04 ldr r2, [sp, #16] - bfda: a909 add r1, sp, #36 ; 0x24 - bfdc: 9b01 ldr r3, [sp, #4] - bfde: fb08 3018 mls r0, r8, r8, r3 - bfe2: 4b28 ldr r3, [pc, #160] ; (c084 ) - bfe4: 4798 blx r3 + ba30: 9a04 ldr r2, [sp, #16] + ba32: a909 add r1, sp, #36 ; 0x24 + ba34: 9b01 ldr r3, [sp, #4] + ba36: fb08 3018 mls r0, r8, r8, r3 + ba3a: 4b28 ldr r3, [pc, #160] ; (badc ) + ba3c: 4798 blx r3 m = 255 - (((255 - x0.f) * (255 - y_next.f)) >> 9); - bfe6: f8bd 1026 ldrh.w r1, [sp, #38] ; 0x26 - bfea: f8bd 301a ldrh.w r3, [sp, #26] - bfee: f1c3 02ff rsb r2, r3, #255 ; 0xff - bff2: f1c1 03ff rsb r3, r1, #255 ; 0xff - bff6: fb03 f302 mul.w r3, r3, r2 - bffa: f3c3 2347 ubfx r3, r3, #9, #8 + ba3e: f8bd 1026 ldrh.w r1, [sp, #38] ; 0x26 + ba42: f8bd 301a ldrh.w r3, [sp, #26] + ba46: f1c3 02ff rsb r2, r3, #255 ; 0xff + ba4a: f1c1 03ff rsb r3, r1, #255 ; 0xff + ba4e: fb03 f302 mul.w r3, r3, r2 + ba52: f3c3 2347 ubfx r3, r3, #9, #8 if(outer) m = 255 - m; - bffe: b90e cbnz r6, c004 + ba56: b90e cbnz r6, ba5c m = 255 - (((255 - x0.f) * (255 - y_next.f)) >> 9); - c000: 43db mvns r3, r3 - c002: b2db uxtb r3, r3 + ba58: 43db mvns r3, r3 + ba5a: b2db uxtb r3, r3 if(kl >= 0 && kl < len) mask_buf[kl] = mask_mix(mask_buf[kl], m); - c004: 9803 ldr r0, [sp, #12] - c006: 4602 mov r2, r0 - c008: 2800 cmp r0, #0 - c00a: db11 blt.n c030 - c00c: 4558 cmp r0, fp - c00e: da0f bge.n c030 - c010: 9c02 ldr r4, [sp, #8] - c012: 1820 adds r0, r4, r0 - c014: 5ca2 ldrb r2, [r4, r2] + ba5c: 9803 ldr r0, [sp, #12] + ba5e: 4602 mov r2, r0 + ba60: 2800 cmp r0, #0 + ba62: db11 blt.n ba88 + ba64: 4558 cmp r0, fp + ba66: da0f bge.n ba88 + ba68: 9c02 ldr r4, [sp, #8] + ba6a: 1820 adds r0, r4, r0 + ba6c: 5ca2 ldrb r2, [r4, r2] if(mask_new >= LV_OPA_MAX) return mask_act; - c016: 2bf9 cmp r3, #249 ; 0xf9 - c018: d809 bhi.n c02e + ba6e: 2bf9 cmp r3, #249 ; 0xf9 + ba70: d809 bhi.n ba86 if(mask_new <= LV_OPA_MIN) return 0; - c01a: 2b05 cmp r3, #5 - c01c: d929 bls.n c072 + ba72: 2b05 cmp r3, #5 + ba74: d929 bls.n baca return LV_MATH_UDIV255(mask_act * mask_new);// >> 8); - c01e: fb03 f202 mul.w r2, r3, r2 - c022: eb02 2402 add.w r4, r2, r2, lsl #8 - c026: eb02 12c4 add.w r2, r2, r4, lsl #7 - c02a: f3c2 52c7 ubfx r2, r2, #23, #8 + ba76: fb03 f202 mul.w r2, r3, r2 + ba7a: eb02 2402 add.w r4, r2, r2, lsl #8 + ba7e: eb02 12c4 add.w r2, r2, r4, lsl #7 + ba82: f3c2 52c7 ubfx r2, r2, #23, #8 if(kl >= 0 && kl < len) mask_buf[kl] = mask_mix(mask_buf[kl], m); - c02e: 7002 strb r2, [r0, #0] + ba86: 7002 strb r2, [r0, #0] if(kr >= 0 && kr < len) mask_buf[kr] = mask_mix(mask_buf[kr], m); - c030: f1ba 0f00 cmp.w sl, #0 - c034: db13 blt.n c05e - c036: 45da cmp sl, fp - c038: da11 bge.n c05e - c03a: 9c02 ldr r4, [sp, #8] - c03c: eb04 000a add.w r0, r4, sl - c040: f814 200a ldrb.w r2, [r4, sl] + ba88: f1ba 0f00 cmp.w sl, #0 + ba8c: db13 blt.n bab6 + ba8e: 45da cmp sl, fp + ba90: da11 bge.n bab6 + ba92: 9c02 ldr r4, [sp, #8] + ba94: eb04 000a add.w r0, r4, sl + ba98: f814 200a ldrb.w r2, [r4, sl] if(mask_new >= LV_OPA_MAX) return mask_act; - c044: 2bf9 cmp r3, #249 ; 0xf9 - c046: d809 bhi.n c05c + ba9c: 2bf9 cmp r3, #249 ; 0xf9 + ba9e: d809 bhi.n bab4 if(mask_new <= LV_OPA_MIN) return 0; - c048: 2b05 cmp r3, #5 - c04a: d914 bls.n c076 + baa0: 2b05 cmp r3, #5 + baa2: d914 bls.n bace return LV_MATH_UDIV255(mask_act * mask_new);// >> 8); - c04c: fb03 f302 mul.w r3, r3, r2 - c050: eb03 2203 add.w r2, r3, r3, lsl #8 - c054: eb03 13c2 add.w r3, r3, r2, lsl #7 - c058: f3c3 52c7 ubfx r2, r3, #23, #8 + baa4: fb03 f302 mul.w r3, r3, r2 + baa8: eb03 2203 add.w r2, r3, r3, lsl #8 + baac: eb03 13c2 add.w r3, r3, r2, lsl #7 + bab0: f3c3 52c7 ubfx r2, r3, #23, #8 if(kr >= 0 && kr < len) mask_buf[kr] = mask_mix(mask_buf[kr], m); - c05c: 7002 strb r2, [r0, #0] + bab4: 7002 strb r2, [r0, #0] kl--; - c05e: 9b03 ldr r3, [sp, #12] - c060: 3b01 subs r3, #1 - c062: 9303 str r3, [sp, #12] + bab6: 9b03 ldr r3, [sp, #12] + bab8: 3b01 subs r3, #1 + baba: 9303 str r3, [sp, #12] kr++; - c064: f10a 0a01 add.w sl, sl, #1 + babc: f10a 0a01 add.w sl, sl, #1 y_prev.f = y_next.f; - c068: f8ad 1022 strh.w r1, [sp, #34] ; 0x22 + bac0: f8ad 1022 strh.w r1, [sp, #34] ; 0x22 i++; - c06c: f108 0801 add.w r8, r8, #1 - c070: e15e b.n c330 + bac4: f108 0801 add.w r8, r8, #1 + bac8: e15e b.n bd88 if(mask_new <= LV_OPA_MIN) return 0; - c072: 2200 movs r2, #0 - c074: e7db b.n c02e - c076: 2200 movs r2, #0 - c078: e7f0 b.n c05c - c07a: 2700 movs r7, #0 - c07c: e039 b.n c0f2 - c07e: bf00 nop - c080: 000130df .word 0x000130df - c084: 000128c5 .word 0x000128c5 - c088: 2700 movs r7, #0 + baca: 2200 movs r2, #0 + bacc: e7db b.n ba86 + bace: 2200 movs r2, #0 + bad0: e7f0 b.n bab4 + bad2: 2700 movs r7, #0 + bad4: e039 b.n bb4a + bad6: bf00 nop + bad8: 00012b37 .word 0x00012b37 + badc: 0001231d .word 0x0001231d + bae0: 2700 movs r7, #0 if(kr >= 0 && kr < len) mask_buf[kr] = mask_mix(mask_buf[kr], m); - c08a: f80e 7008 strb.w r7, [lr, r8] + bae2: f80e 7008 strb.w r7, [lr, r8] kl--; - c08e: 3801 subs r0, #1 + bae6: 3801 subs r0, #1 kr++; - c090: 3401 adds r4, #1 + bae8: 3401 adds r4, #1 for(; i <= x1.i; i++) { - c092: 3101 adds r1, #1 + baea: 3101 adds r1, #1 y_prev.f = y_next.f; - c094: 461a mov r2, r3 + baec: 461a mov r2, r3 for(; i <= x1.i; i++) { - c096: 9d01 ldr r5, [sp, #4] - c098: 42a9 cmp r1, r5 - c09a: d840 bhi.n c11e + baee: 9d01 ldr r5, [sp, #4] + baf0: 42a9 cmp r1, r5 + baf2: d840 bhi.n bb76 */ LV_ATTRIBUTE_FAST_MEM static inline void sqrt_approx(lv_sqrt_res_t * q, lv_sqrt_res_t * ref, uint32_t x) { x = x << 8; /*Upscale for extra precision*/ uint32_t raw = (ref->i << 4) + (ref->f >> 4); - c09c: eb09 1712 add.w r7, r9, r2, lsr #4 + baf4: eb09 1712 add.w r7, r9, r2, lsr #4 sqrt_approx(&y_next, &y_prev, r2 - (i * i)); - c0a0: fb01 a311 mls r3, r1, r1, sl + baf8: fb01 a311 mls r3, r1, r1, sl uint32_t raw2 = raw * raw; - c0a4: fb07 fc07 mul.w ip, r7, r7 + bafc: fb07 fc07 mul.w ip, r7, r7 int32_t d = x - raw2; - c0a8: ebcc 2303 rsb r3, ip, r3, lsl #8 + bb00: ebcc 2303 rsb r3, ip, r3, lsl #8 d = (int32_t)d / (int32_t)(2 * raw) + raw; - c0ac: ea4f 0c47 mov.w ip, r7, lsl #1 - c0b0: fb93 f3fc sdiv r3, r3, ip - c0b4: 441f add r7, r3 + bb04: ea4f 0c47 mov.w ip, r7, lsl #1 + bb08: fb93 f3fc sdiv r3, r3, ip + bb0c: 441f add r7, r3 q->i = d >> 4; - c0b6: f3c7 1c0f ubfx ip, r7, #4, #16 + bb0e: f3c7 1c0f ubfx ip, r7, #4, #16 q->f = (d & 0xF) << 4; - c0ba: 013f lsls r7, r7, #4 - c0bc: f007 03f0 and.w r3, r7, #240 ; 0xf0 + bb12: 013f lsls r7, r7, #4 + bb14: f007 03f0 and.w r3, r7, #240 ; 0xf0 m = (y_prev.f + y_next.f) >> 1; - c0c0: 441a add r2, r3 - c0c2: f3c2 0247 ubfx r2, r2, #1, #8 + bb18: 441a add r2, r3 + bb1a: f3c2 0247 ubfx r2, r2, #1, #8 if(outer) m = 255 - m; - c0c6: b10e cbz r6, c0cc - c0c8: 43d2 mvns r2, r2 - c0ca: b2d2 uxtb r2, r2 + bb1e: b10e cbz r6, bb24 + bb20: 43d2 mvns r2, r2 + bb22: b2d2 uxtb r2, r2 if(kl >= 0 && kl < len) mask_buf[kl] = mask_mix(mask_buf[kl], m); - c0cc: 2800 cmp r0, #0 - c0ce: db12 blt.n c0f6 - c0d0: 4583 cmp fp, r0 - c0d2: dd10 ble.n c0f6 - c0d4: 4680 mov r8, r0 - c0d6: f81e 7000 ldrb.w r7, [lr, r0] + bb24: 2800 cmp r0, #0 + bb26: db12 blt.n bb4e + bb28: 4583 cmp fp, r0 + bb2a: dd10 ble.n bb4e + bb2c: 4680 mov r8, r0 + bb2e: f81e 7000 ldrb.w r7, [lr, r0] if(mask_new >= LV_OPA_MAX) return mask_act; - c0da: 2af9 cmp r2, #249 ; 0xf9 - c0dc: d809 bhi.n c0f2 + bb32: 2af9 cmp r2, #249 ; 0xf9 + bb34: d809 bhi.n bb4a if(mask_new <= LV_OPA_MIN) return 0; - c0de: 2a05 cmp r2, #5 - c0e0: d9cb bls.n c07a + bb36: 2a05 cmp r2, #5 + bb38: d9cb bls.n bad2 return LV_MATH_UDIV255(mask_act * mask_new);// >> 8); - c0e2: fb02 f507 mul.w r5, r2, r7 - c0e6: eb05 2705 add.w r7, r5, r5, lsl #8 - c0ea: eb05 17c7 add.w r7, r5, r7, lsl #7 - c0ee: f3c7 57c7 ubfx r7, r7, #23, #8 + bb3a: fb02 f507 mul.w r5, r2, r7 + bb3e: eb05 2705 add.w r7, r5, r5, lsl #8 + bb42: eb05 17c7 add.w r7, r5, r7, lsl #7 + bb46: f3c7 57c7 ubfx r7, r7, #23, #8 if(kl >= 0 && kl < len) mask_buf[kl] = mask_mix(mask_buf[kl], m); - c0f2: f80e 7008 strb.w r7, [lr, r8] + bb4a: f80e 7008 strb.w r7, [lr, r8] if(kr >= 0 && kr < len) mask_buf[kr] = mask_mix(mask_buf[kr], m); - c0f6: 2c00 cmp r4, #0 - c0f8: dbc9 blt.n c08e - c0fa: 45a3 cmp fp, r4 - c0fc: ddc7 ble.n c08e - c0fe: 46a0 mov r8, r4 - c100: f81e 7004 ldrb.w r7, [lr, r4] + bb4e: 2c00 cmp r4, #0 + bb50: dbc9 blt.n bae6 + bb52: 45a3 cmp fp, r4 + bb54: ddc7 ble.n bae6 + bb56: 46a0 mov r8, r4 + bb58: f81e 7004 ldrb.w r7, [lr, r4] if(mask_new >= LV_OPA_MAX) return mask_act; - c104: 2af9 cmp r2, #249 ; 0xf9 - c106: d8c0 bhi.n c08a + bb5c: 2af9 cmp r2, #249 ; 0xf9 + bb5e: d8c0 bhi.n bae2 if(mask_new <= LV_OPA_MIN) return 0; - c108: 2a05 cmp r2, #5 - c10a: d9bd bls.n c088 + bb60: 2a05 cmp r2, #5 + bb62: d9bd bls.n bae0 return LV_MATH_UDIV255(mask_act * mask_new);// >> 8); - c10c: fb02 f207 mul.w r2, r2, r7 - c110: eb02 2702 add.w r7, r2, r2, lsl #8 - c114: eb02 17c7 add.w r7, r2, r7, lsl #7 - c118: f3c7 57c7 ubfx r7, r7, #23, #8 - c11c: e7b5 b.n c08a - c11e: f8dd 8010 ldr.w r8, [sp, #16] - c122: f8dd a014 ldr.w sl, [sp, #20] - c126: 43ea mvns r2, r5 - c128: 4442 add r2, r8 - c12a: 9903 ldr r1, [sp, #12] - c12c: 4411 add r1, r2 - c12e: 9103 str r1, [sp, #12] - c130: 3501 adds r5, #1 - c132: 44aa add sl, r5 - c134: ebaa 0a08 sub.w sl, sl, r8 - c138: f8ad 3022 strh.w r3, [sp, #34] ; 0x22 - c13c: f8ad c024 strh.w ip, [sp, #36] ; 0x24 - c140: f8ad 3026 strh.w r3, [sp, #38] ; 0x26 + bb64: fb02 f207 mul.w r2, r2, r7 + bb68: eb02 2702 add.w r7, r2, r2, lsl #8 + bb6c: eb02 17c7 add.w r7, r2, r7, lsl #7 + bb70: f3c7 57c7 ubfx r7, r7, #23, #8 + bb74: e7b5 b.n bae2 + bb76: f8dd 8010 ldr.w r8, [sp, #16] + bb7a: f8dd a014 ldr.w sl, [sp, #20] + bb7e: 43ea mvns r2, r5 + bb80: 4442 add r2, r8 + bb82: 9903 ldr r1, [sp, #12] + bb84: 4411 add r1, r2 + bb86: 9103 str r1, [sp, #12] + bb88: 3501 adds r5, #1 + bb8a: 44aa add sl, r5 + bb8c: ebaa 0a08 sub.w sl, sl, r8 + bb90: f8ad 3022 strh.w r3, [sp, #34] ; 0x22 + bb94: f8ad c024 strh.w ip, [sp, #36] ; 0x24 + bb98: f8ad 3026 strh.w r3, [sp, #38] ; 0x26 if(y_prev.f) { - c144: f8bd 3022 ldrh.w r3, [sp, #34] ; 0x22 - c148: 2b00 cmp r3, #0 - c14a: d03a beq.n c1c2 + bb9c: f8bd 3022 ldrh.w r3, [sp, #34] ; 0x22 + bba0: 2b00 cmp r3, #0 + bba2: d03a beq.n bc1a m = (y_prev.f * x1.f) >> 9; - c14c: f8bd 201e ldrh.w r2, [sp, #30] - c150: fb03 f302 mul.w r3, r3, r2 - c154: f3c3 2347 ubfx r3, r3, #9, #8 + bba4: f8bd 201e ldrh.w r2, [sp, #30] + bba8: fb03 f302 mul.w r3, r3, r2 + bbac: f3c3 2347 ubfx r3, r3, #9, #8 if(outer) m = 255 - m; - c158: b10e cbz r6, c15e - c15a: 43db mvns r3, r3 - c15c: b2db uxtb r3, r3 + bbb0: b10e cbz r6, bbb6 + bbb2: 43db mvns r3, r3 + bbb4: b2db uxtb r3, r3 if(kl >= 0 && kl < len) mask_buf[kl] = mask_mix(mask_buf[kl], m); - c15e: 9a03 ldr r2, [sp, #12] - c160: 2a00 cmp r2, #0 - c162: db12 blt.n c18a - c164: 4593 cmp fp, r2 - c166: dd10 ble.n c18a - c168: 9802 ldr r0, [sp, #8] - c16a: 4601 mov r1, r0 - c16c: 4411 add r1, r2 - c16e: 5c82 ldrb r2, [r0, r2] + bbb6: 9a03 ldr r2, [sp, #12] + bbb8: 2a00 cmp r2, #0 + bbba: db12 blt.n bbe2 + bbbc: 4593 cmp fp, r2 + bbbe: dd10 ble.n bbe2 + bbc0: 9802 ldr r0, [sp, #8] + bbc2: 4601 mov r1, r0 + bbc4: 4411 add r1, r2 + bbc6: 5c82 ldrb r2, [r0, r2] if(mask_new >= LV_OPA_MAX) return mask_act; - c170: 2bf9 cmp r3, #249 ; 0xf9 - c172: d809 bhi.n c188 + bbc8: 2bf9 cmp r3, #249 ; 0xf9 + bbca: d809 bhi.n bbe0 if(mask_new <= LV_OPA_MIN) return 0; - c174: 2b05 cmp r3, #5 - c176: d927 bls.n c1c8 + bbcc: 2b05 cmp r3, #5 + bbce: d927 bls.n bc20 return LV_MATH_UDIV255(mask_act * mask_new);// >> 8); - c178: fb03 f202 mul.w r2, r3, r2 - c17c: eb02 2002 add.w r0, r2, r2, lsl #8 - c180: eb02 12c0 add.w r2, r2, r0, lsl #7 - c184: f3c2 52c7 ubfx r2, r2, #23, #8 + bbd0: fb03 f202 mul.w r2, r3, r2 + bbd4: eb02 2002 add.w r0, r2, r2, lsl #8 + bbd8: eb02 12c0 add.w r2, r2, r0, lsl #7 + bbdc: f3c2 52c7 ubfx r2, r2, #23, #8 if(kl >= 0 && kl < len) mask_buf[kl] = mask_mix(mask_buf[kl], m); - c188: 700a strb r2, [r1, #0] + bbe0: 700a strb r2, [r1, #0] if(kr >= 0 && kr < len) mask_buf[kr] = mask_mix(mask_buf[kr], m); - c18a: f1ba 0f00 cmp.w sl, #0 - c18e: db13 blt.n c1b8 - c190: 45d3 cmp fp, sl - c192: dd11 ble.n c1b8 - c194: 9802 ldr r0, [sp, #8] - c196: eb00 010a add.w r1, r0, sl - c19a: f810 200a ldrb.w r2, [r0, sl] + bbe2: f1ba 0f00 cmp.w sl, #0 + bbe6: db13 blt.n bc10 + bbe8: 45d3 cmp fp, sl + bbea: dd11 ble.n bc10 + bbec: 9802 ldr r0, [sp, #8] + bbee: eb00 010a add.w r1, r0, sl + bbf2: f810 200a ldrb.w r2, [r0, sl] if(mask_new >= LV_OPA_MAX) return mask_act; - c19e: 2bf9 cmp r3, #249 ; 0xf9 - c1a0: d809 bhi.n c1b6 + bbf6: 2bf9 cmp r3, #249 ; 0xf9 + bbf8: d809 bhi.n bc0e if(mask_new <= LV_OPA_MIN) return 0; - c1a2: 2b05 cmp r3, #5 - c1a4: d912 bls.n c1cc + bbfa: 2b05 cmp r3, #5 + bbfc: d912 bls.n bc24 return LV_MATH_UDIV255(mask_act * mask_new);// >> 8); - c1a6: fb03 f302 mul.w r3, r3, r2 - c1aa: eb03 2203 add.w r2, r3, r3, lsl #8 - c1ae: eb03 13c2 add.w r3, r3, r2, lsl #7 - c1b2: f3c3 52c7 ubfx r2, r3, #23, #8 + bbfe: fb03 f302 mul.w r3, r3, r2 + bc02: eb03 2203 add.w r2, r3, r3, lsl #8 + bc06: eb03 13c2 add.w r3, r3, r2, lsl #7 + bc0a: f3c3 52c7 ubfx r2, r3, #23, #8 if(kr >= 0 && kr < len) mask_buf[kr] = mask_mix(mask_buf[kr], m); - c1b6: 700a strb r2, [r1, #0] + bc0e: 700a strb r2, [r1, #0] kl--; - c1b8: 9b03 ldr r3, [sp, #12] - c1ba: 3b01 subs r3, #1 - c1bc: 9303 str r3, [sp, #12] + bc10: 9b03 ldr r3, [sp, #12] + bc12: 3b01 subs r3, #1 + bc14: 9303 str r3, [sp, #12] kr++; - c1be: f10a 0a01 add.w sl, sl, #1 + bc16: f10a 0a01 add.w sl, sl, #1 if(outer == 0) { - c1c2: b12e cbz r6, c1d0 + bc1a: b12e cbz r6, bc28 return LV_DRAW_MASK_RES_CHANGED; - c1c4: 2002 movs r0, #2 - c1c6: e01c b.n c202 + bc1c: 2002 movs r0, #2 + bc1e: e01c b.n bc5a if(mask_new <= LV_OPA_MIN) return 0; - c1c8: 2200 movs r2, #0 - c1ca: e7dd b.n c188 - c1cc: 2200 movs r2, #0 - c1ce: e7f2 b.n c1b6 + bc20: 2200 movs r2, #0 + bc22: e7dd b.n bbe0 + bc24: 2200 movs r2, #0 + bc26: e7f2 b.n bc0e kl++; - c1d0: 9903 ldr r1, [sp, #12] - c1d2: 3101 adds r1, #1 + bc28: 9903 ldr r1, [sp, #12] + bc2a: 3101 adds r1, #1 if(kl > len) { - c1d4: 4559 cmp r1, fp - c1d6: dc11 bgt.n c1fc + bc2c: 4559 cmp r1, fp + bc2e: dc11 bgt.n bc54 if(kl >= 0) _lv_memset_00(&mask_buf[0], kl); - c1d8: 2900 cmp r1, #0 - c1da: db02 blt.n c1e2 - c1dc: 9802 ldr r0, [sp, #8] - c1de: 4b60 ldr r3, [pc, #384] ; (c360 ) - c1e0: 4798 blx r3 + bc30: 2900 cmp r1, #0 + bc32: db02 blt.n bc3a + bc34: 9802 ldr r0, [sp, #8] + bc36: 4b60 ldr r3, [pc, #384] ; (bdb8 ) + bc38: 4798 blx r3 if(kr < 0) { - c1e2: f1ba 0f00 cmp.w sl, #0 - c1e6: db09 blt.n c1fc + bc3a: f1ba 0f00 cmp.w sl, #0 + bc3e: db09 blt.n bc54 if(kr < len) _lv_memset_00(&mask_buf[kr], len - kr); - c1e8: 45da cmp sl, fp - c1ea: daeb bge.n c1c4 - c1ec: ebab 010a sub.w r1, fp, sl - c1f0: 9b02 ldr r3, [sp, #8] - c1f2: 4453 add r3, sl - c1f4: 4618 mov r0, r3 - c1f6: 4b5a ldr r3, [pc, #360] ; (c360 ) - c1f8: 4798 blx r3 - c1fa: e7e3 b.n c1c4 + bc40: 45da cmp sl, fp + bc42: daeb bge.n bc1c + bc44: ebab 010a sub.w r1, fp, sl + bc48: 9b02 ldr r3, [sp, #8] + bc4a: 4453 add r3, sl + bc4c: 4618 mov r0, r3 + bc4e: 4b5a ldr r3, [pc, #360] ; (bdb8 ) + bc50: 4798 blx r3 + bc52: e7e3 b.n bc1c return LV_DRAW_MASK_RES_TRANSP; - c1fc: 2000 movs r0, #0 - c1fe: e000 b.n c202 + bc54: 2000 movs r0, #0 + bc56: e000 b.n bc5a return LV_DRAW_MASK_RES_TRANSP; - c200: 2000 movs r0, #0 + bc58: 2000 movs r0, #0 } - c202: b00d add sp, #52 ; 0x34 - c204: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + bc5a: b00d add sp, #52 ; 0x34 + bc5c: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} return LV_DRAW_MASK_RES_TRANSP; - c208: 2000 movs r0, #0 - c20a: e7fa b.n c202 + bc60: 2000 movs r0, #0 + bc62: e7fa b.n bc5a return LV_DRAW_MASK_RES_FULL_COVER; - c20c: 2001 movs r0, #1 - c20e: e7f8 b.n c202 + bc64: 2001 movs r0, #1 + bc66: e7f8 b.n bc5a if(last > len) return LV_DRAW_MASK_RES_TRANSP; - c210: 2000 movs r0, #0 - c212: e7f6 b.n c202 + bc68: 2000 movs r0, #0 + bc6a: e7f6 b.n bc5a if(first <= 0) return LV_DRAW_MASK_RES_TRANSP; - c214: 2000 movs r0, #0 - c216: e7f4 b.n c202 + bc6c: 2000 movs r0, #0 + bc6e: e7f4 b.n bc5a return LV_DRAW_MASK_RES_CHANGED; - c218: 2002 movs r0, #2 - c21a: e7f2 b.n c202 + bc70: 2002 movs r0, #2 + bc72: e7f2 b.n bc5a if(radius <= 256) sqrt_mask = 0x800; - c21c: f5b8 7f80 cmp.w r8, #256 ; 0x100 - c220: bfd4 ite le - c222: f44f 6300 movle.w r3, #2048 ; 0x800 - c226: f44f 4300 movgt.w r3, #32768 ; 0x8000 - c22a: 9304 str r3, [sp, #16] + bc74: f5b8 7f80 cmp.w r8, #256 ; 0x100 + bc78: bfd4 ite le + bc7a: f44f 6300 movle.w r3, #2048 ; 0x800 + bc7e: f44f 4300 movgt.w r3, #32768 ; 0x8000 + bc82: 9304 str r3, [sp, #16] y = radius - (h - abs_y) + 1; - c22c: 1a89 subs r1, r1, r2 - c22e: eba8 0001 sub.w r0, r8, r1 - c232: 1c44 adds r4, r0, #1 + bc84: 1a89 subs r1, r1, r2 + bc86: eba8 0001 sub.w r0, r8, r1 + bc8a: 1c44 adds r4, r0, #1 if((y - 1) == p->y_prev) { - c234: 696b ldr r3, [r5, #20] - c236: 4298 cmp r0, r3 - c238: f47f ae45 bne.w bec6 + bc8c: 696b ldr r3, [r5, #20] + bc8e: 4298 cmp r0, r3 + bc90: f47f ae45 bne.w b91e x1.f = p->y_prev_x.f; - c23c: 8b6b ldrh r3, [r5, #26] - c23e: f8ad 301e strh.w r3, [sp, #30] + bc94: 8b6b ldrh r3, [r5, #26] + bc96: f8ad 301e strh.w r3, [sp, #30] x1.i = p->y_prev_x.i; - c242: 8b2b ldrh r3, [r5, #24] - c244: f8ad 301c strh.w r3, [sp, #28] - c248: e644 b.n bed4 + bc9a: 8b2b ldrh r3, [r5, #24] + bc9c: f8ad 301c strh.w r3, [sp, #28] + bca0: e644 b.n b92c if(radius <= 256) sqrt_mask = 0x800; - c24a: f5b8 7f80 cmp.w r8, #256 ; 0x100 - c24e: bfd4 ite le - c250: f44f 6300 movle.w r3, #2048 ; 0x800 - c254: f44f 4300 movgt.w r3, #32768 ; 0x8000 - c258: 9304 str r3, [sp, #16] + bca2: f5b8 7f80 cmp.w r8, #256 ; 0x100 + bca6: bfd4 ite le + bca8: f44f 6300 movle.w r3, #2048 ; 0x800 + bcac: f44f 4300 movgt.w r3, #32768 ; 0x8000 + bcb0: 9304 str r3, [sp, #16] y = radius - abs_y; - c25a: eba8 0402 sub.w r4, r8, r2 + bcb2: eba8 0402 sub.w r4, r8, r2 if(y == p->y_prev) { - c25e: 696b ldr r3, [r5, #20] - c260: 429c cmp r4, r3 - c262: f43f ae29 beq.w beb8 + bcb6: 696b ldr r3, [r5, #20] + bcb8: 429c cmp r4, r3 + bcba: f43f ae29 beq.w b910 _lv_sqrt(r2 - (y * y), &x0, sqrt_mask); - c266: 9a04 ldr r2, [sp, #16] - c268: a906 add r1, sp, #24 - c26a: 9b01 ldr r3, [sp, #4] - c26c: fb04 3014 mls r0, r4, r4, r3 - c270: 4b3c ldr r3, [pc, #240] ; (c364 ) - c272: 4798 blx r3 + bcbe: 9a04 ldr r2, [sp, #16] + bcc0: a906 add r1, sp, #24 + bcc2: 9b01 ldr r3, [sp, #4] + bcc4: fb04 3014 mls r0, r4, r4, r3 + bcc8: 4b3c ldr r3, [pc, #240] ; (bdbc ) + bcca: 4798 blx r3 _lv_sqrt(r2 - ((y - 1) * (y - 1)), &x1, sqrt_mask); - c274: 1e63 subs r3, r4, #1 - c276: 9a04 ldr r2, [sp, #16] - c278: a907 add r1, sp, #28 - c27a: 9303 str r3, [sp, #12] - c27c: 9801 ldr r0, [sp, #4] - c27e: fb03 0013 mls r0, r3, r3, r0 - c282: 4b38 ldr r3, [pc, #224] ; (c364 ) - c284: 4798 blx r3 + bccc: 1e63 subs r3, r4, #1 + bcce: 9a04 ldr r2, [sp, #16] + bcd0: a907 add r1, sp, #28 + bcd2: 9303 str r3, [sp, #12] + bcd4: 9801 ldr r0, [sp, #4] + bcd6: fb03 0013 mls r0, r3, r3, r0 + bcda: 4b38 ldr r3, [pc, #224] ; (bdbc ) + bcdc: 4798 blx r3 p->y_prev = y - 1; - c286: 9b03 ldr r3, [sp, #12] - c288: 616b str r3, [r5, #20] + bcde: 9b03 ldr r3, [sp, #12] + bce0: 616b str r3, [r5, #20] p->y_prev_x.f = x1.f; - c28a: f8bd 301e ldrh.w r3, [sp, #30] - c28e: 836b strh r3, [r5, #26] + bce2: f8bd 301e ldrh.w r3, [sp, #30] + bce6: 836b strh r3, [r5, #26] p->y_prev_x.i = x1.i; - c290: f8bd 301c ldrh.w r3, [sp, #28] - c294: 832b strh r3, [r5, #24] + bce8: f8bd 301c ldrh.w r3, [sp, #28] + bcec: 832b strh r3, [r5, #24] if(x0.i == x1.i - 1 && x1.f == 0) { - c296: f8bd 3018 ldrh.w r3, [sp, #24] - c29a: f8bd 201c ldrh.w r2, [sp, #28] - c29e: 1e51 subs r1, r2, #1 - c2a0: 428b cmp r3, r1 - c2a2: f43f ae26 beq.w bef2 + bcee: f8bd 3018 ldrh.w r3, [sp, #24] + bcf2: f8bd 201c ldrh.w r2, [sp, #28] + bcf6: 1e51 subs r1, r2, #1 + bcf8: 428b cmp r3, r1 + bcfa: f43f ae26 beq.w b94a int32_t k = rect.x1 - abs_x; /*First relevant coordinate on the of the mask*/ - c2a6: eba9 0707 sub.w r7, r9, r7 + bcfe: eba9 0707 sub.w r7, r9, r7 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - c2aa: f10a 0a01 add.w sl, sl, #1 - c2ae: ebaa 0909 sub.w r9, sl, r9 + bd02: f10a 0a01 add.w sl, sl, #1 + bd06: ebaa 0909 sub.w r9, sl, r9 int32_t w = lv_area_get_width(&rect); - c2b2: fa0f f989 sxth.w r9, r9 + bd0a: fa0f f989 sxth.w r9, r9 if(x0.i == x1.i) { - c2b6: f8bd 201c ldrh.w r2, [sp, #28] - c2ba: 429a cmp r2, r3 - c2bc: f43f ae25 beq.w bf0a + bd0e: f8bd 201c ldrh.w r2, [sp, #28] + bd12: 429a cmp r2, r3 + bd14: f43f ae25 beq.w b962 int32_t ofs = radius - (x0.i + 1); - c2c0: 3301 adds r3, #1 - c2c2: eba8 0803 sub.w r8, r8, r3 + bd18: 3301 adds r3, #1 + bd1a: eba8 0803 sub.w r8, r8, r3 int32_t kl = k + ofs; - c2c6: eb07 0308 add.w r3, r7, r8 - c2ca: 9303 str r3, [sp, #12] + bd1e: eb07 0308 add.w r3, r7, r8 + bd22: 9303 str r3, [sp, #12] int32_t kr = k + (w - ofs - 1); - c2cc: eba9 0808 sub.w r8, r9, r8 - c2d0: f108 3aff add.w sl, r8, #4294967295 - c2d4: 44ba add sl, r7 + bd24: eba9 0808 sub.w r8, r9, r8 + bd28: f108 3aff add.w sl, r8, #4294967295 + bd2c: 44ba add sl, r7 if(outer) { - c2d6: b186 cbz r6, c2fa + bd2e: b186 cbz r6, bd52 int32_t first = kl + 1; - c2d8: 1c58 adds r0, r3, #1 - c2da: ea20 70e0 bic.w r0, r0, r0, asr #31 + bd30: 1c58 adds r0, r3, #1 + bd32: ea20 70e0 bic.w r0, r0, r0, asr #31 if(len_tmp + first > len) len_tmp = len - first; - c2de: 45da cmp sl, fp + bd36: 45da cmp sl, fp int32_t len_tmp = kr - first; - c2e0: bfd4 ite le - c2e2: ebaa 0100 suble.w r1, sl, r0 + bd38: bfd4 ite le + bd3a: ebaa 0100 suble.w r1, sl, r0 if(len_tmp + first > len) len_tmp = len - first; - c2e6: ebab 0100 subgt.w r1, fp, r0 + bd3e: ebab 0100 subgt.w r1, fp, r0 if(first < len && len_tmp >= 0) { - c2ea: 4558 cmp r0, fp - c2ec: da05 bge.n c2fa - c2ee: 2900 cmp r1, #0 - c2f0: db03 blt.n c2fa + bd42: 4558 cmp r0, fp + bd44: da05 bge.n bd52 + bd46: 2900 cmp r1, #0 + bd48: db03 blt.n bd52 _lv_memset_00(&mask_buf[first], len_tmp); - c2f2: 9b02 ldr r3, [sp, #8] - c2f4: 4418 add r0, r3 - c2f6: 4b1a ldr r3, [pc, #104] ; (c360 ) - c2f8: 4798 blx r3 + bd4a: 9b02 ldr r3, [sp, #8] + bd4c: 4418 add r0, r3 + bd4e: 4b1a ldr r3, [pc, #104] ; (bdb8 ) + bd50: 4798 blx r3 uint32_t i = x0.i + 1; - c2fa: f8bd 0018 ldrh.w r0, [sp, #24] - c2fe: f100 0801 add.w r8, r0, #1 + bd52: f8bd 0018 ldrh.w r0, [sp, #24] + bd56: f100 0801 add.w r8, r0, #1 _lv_sqrt(r2 - (x0.i * x0.i), &y_prev, sqrt_mask); - c302: 9a04 ldr r2, [sp, #16] - c304: a908 add r1, sp, #32 - c306: 9b01 ldr r3, [sp, #4] - c308: fb00 3010 mls r0, r0, r0, r3 - c30c: 4b15 ldr r3, [pc, #84] ; (c364 ) - c30e: 4798 blx r3 + bd5a: 9a04 ldr r2, [sp, #16] + bd5c: a908 add r1, sp, #32 + bd5e: 9b01 ldr r3, [sp, #4] + bd60: fb00 3010 mls r0, r0, r0, r3 + bd64: 4b15 ldr r3, [pc, #84] ; (bdbc ) + bd66: 4798 blx r3 if(y_prev.f == 0) { - c310: f8bd 3022 ldrh.w r3, [sp, #34] ; 0x22 - c314: b93b cbnz r3, c326 + bd68: f8bd 3022 ldrh.w r3, [sp, #34] ; 0x22 + bd6c: b93b cbnz r3, bd7e y_prev.i--; - c316: f8bd 3020 ldrh.w r3, [sp, #32] - c31a: 3b01 subs r3, #1 - c31c: f8ad 3020 strh.w r3, [sp, #32] + bd6e: f8bd 3020 ldrh.w r3, [sp, #32] + bd72: 3b01 subs r3, #1 + bd74: f8ad 3020 strh.w r3, [sp, #32] y_prev.f = 0xFF; - c320: 23ff movs r3, #255 ; 0xff - c322: f8ad 3022 strh.w r3, [sp, #34] ; 0x22 + bd78: 23ff movs r3, #255 ; 0xff + bd7a: f8ad 3022 strh.w r3, [sp, #34] ; 0x22 if(y_prev.i >= y) { - c326: f8bd 3020 ldrh.w r3, [sp, #32] - c32a: 429c cmp r4, r3 - c32c: f77f ae54 ble.w bfd8 + bd7e: f8bd 3020 ldrh.w r3, [sp, #32] + bd82: 429c cmp r4, r3 + bd84: f77f ae54 ble.w ba30 for(; i <= x1.i; i++) { - c330: f8bd 501c ldrh.w r5, [sp, #28] - c334: 45a8 cmp r8, r5 - c336: f63f af05 bhi.w c144 + bd88: f8bd 501c ldrh.w r5, [sp, #28] + bd8c: 45a8 cmp r8, r5 + bd8e: f63f af05 bhi.w bb9c uint32_t raw = (ref->i << 4) + (ref->f >> 4); - c33a: f8bd 9020 ldrh.w r9, [sp, #32] - c33e: ea4f 1909 mov.w r9, r9, lsl #4 - c342: f8bd 2022 ldrh.w r2, [sp, #34] ; 0x22 - c346: 4641 mov r1, r8 - c348: 4654 mov r4, sl - c34a: 9803 ldr r0, [sp, #12] + bd92: f8bd 9020 ldrh.w r9, [sp, #32] + bd96: ea4f 1909 mov.w r9, r9, lsl #4 + bd9a: f8bd 2022 ldrh.w r2, [sp, #34] ; 0x22 + bd9e: 4641 mov r1, r8 + bda0: 4654 mov r4, sl + bda2: 9803 ldr r0, [sp, #12] if(mask_new <= LV_OPA_MIN) return 0; - c34c: f8cd 8010 str.w r8, [sp, #16] - c350: f8cd a014 str.w sl, [sp, #20] - c354: f8dd a004 ldr.w sl, [sp, #4] - c358: 9501 str r5, [sp, #4] - c35a: f8dd e008 ldr.w lr, [sp, #8] - c35e: e69d b.n c09c - c360: 000130df .word 0x000130df - c364: 000128c5 .word 0x000128c5 - -0000c368 : -{ - c368: b510 push {r4, lr} - c36a: b082 sub sp, #8 + bda4: f8cd 8010 str.w r8, [sp, #16] + bda8: f8cd a014 str.w sl, [sp, #20] + bdac: f8dd a004 ldr.w sl, [sp, #4] + bdb0: 9501 str r5, [sp, #4] + bdb2: f8dd e008 ldr.w lr, [sp, #8] + bdb6: e69d b.n baf4 + bdb8: 00012b37 .word 0x00012b37 + bdbc: 0001231d .word 0x0001231d + +0000bdc0 : +{ + bdc0: b510 push {r4, lr} + bdc2: b082 sub sp, #8 if(LV_GC_ROOT(_lv_draw_mask_list[i]).param == NULL) break; - c36c: 4b10 ldr r3, [pc, #64] ; (c3b0 ) - c36e: 681b ldr r3, [r3, #0] - c370: b19b cbz r3, c39a - c372: 4a0f ldr r2, [pc, #60] ; (c3b0 ) + bdc4: 4b10 ldr r3, [pc, #64] ; (be08 ) + bdc6: 681b ldr r3, [r3, #0] + bdc8: b19b cbz r3, bdf2 + bdca: 4a0f ldr r2, [pc, #60] ; (be08 ) for(i = 0; i < _LV_MASK_MAX_NUM; i++) { - c374: 2301 movs r3, #1 + bdcc: 2301 movs r3, #1 if(LV_GC_ROOT(_lv_draw_mask_list[i]).param == NULL) break; - c376: 6894 ldr r4, [r2, #8] - c378: b184 cbz r4, c39c + bdce: 6894 ldr r4, [r2, #8] + bdd0: b184 cbz r4, bdf4 for(i = 0; i < _LV_MASK_MAX_NUM; i++) { - c37a: 3301 adds r3, #1 - c37c: b2db uxtb r3, r3 - c37e: 3208 adds r2, #8 - c380: 2b10 cmp r3, #16 - c382: d1f8 bne.n c376 + bdd2: 3301 adds r3, #1 + bdd4: b2db uxtb r3, r3 + bdd6: 3208 adds r2, #8 + bdd8: 2b10 cmp r3, #16 + bdda: d1f8 bne.n bdce LV_LOG_WARN("lv_mask_add: no place to add the mask"); - c384: 4b0b ldr r3, [pc, #44] ; (c3b4 ) - c386: 9300 str r3, [sp, #0] - c388: 4b0b ldr r3, [pc, #44] ; (c3b8 ) - c38a: 2257 movs r2, #87 ; 0x57 - c38c: 490b ldr r1, [pc, #44] ; (c3bc ) - c38e: 2002 movs r0, #2 - c390: 4c0b ldr r4, [pc, #44] ; (c3c0 ) - c392: 47a0 blx r4 + bddc: 4b0b ldr r3, [pc, #44] ; (be0c ) + bdde: 9300 str r3, [sp, #0] + bde0: 4b0b ldr r3, [pc, #44] ; (be10 ) + bde2: 2257 movs r2, #87 ; 0x57 + bde4: 490b ldr r1, [pc, #44] ; (be14 ) + bde6: 2002 movs r0, #2 + bde8: 4c0b ldr r4, [pc, #44] ; (be18 ) + bdea: 47a0 blx r4 return LV_MASK_ID_INV; - c394: f04f 30ff mov.w r0, #4294967295 - c398: e007 b.n c3aa + bdec: f04f 30ff mov.w r0, #4294967295 + bdf0: e007 b.n be02 for(i = 0; i < _LV_MASK_MAX_NUM; i++) { - c39a: 2300 movs r3, #0 + bdf2: 2300 movs r3, #0 LV_GC_ROOT(_lv_draw_mask_list[i]).param = param; - c39c: 4a04 ldr r2, [pc, #16] ; (c3b0 ) - c39e: f842 0033 str.w r0, [r2, r3, lsl #3] + bdf4: 4a04 ldr r2, [pc, #16] ; (be08 ) + bdf6: f842 0033 str.w r0, [r2, r3, lsl #3] LV_GC_ROOT(_lv_draw_mask_list[i]).custom_id = custom_id; - c3a2: eb02 02c3 add.w r2, r2, r3, lsl #3 - c3a6: 6051 str r1, [r2, #4] + bdfa: eb02 02c3 add.w r2, r2, r3, lsl #3 + bdfe: 6051 str r1, [r2, #4] return i; - c3a8: b218 sxth r0, r3 + be00: b218 sxth r0, r3 } - c3aa: b002 add sp, #8 - c3ac: bd10 pop {r4, pc} - c3ae: bf00 nop - c3b0: 20006d88 .word 0x20006d88 - c3b4: 0001c508 .word 0x0001c508 - c3b8: 0001c4ac .word 0x0001c4ac - c3bc: 0001c4d8 .word 0x0001c4d8 - c3c0: 00012805 .word 0x00012805 + be02: b002 add sp, #8 + be04: bd10 pop {r4, pc} + be06: bf00 nop + be08: 20006d6c .word 0x20006d6c + be0c: 00025024 .word 0x00025024 + be10: 00024fc8 .word 0x00024fc8 + be14: 00024ff4 .word 0x00024ff4 + be18: 0001225d .word 0x0001225d -0000c3c4 : +0000be1c : { - c3c4: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} - c3c8: b082 sub sp, #8 + be1c: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} + be20: b082 sub sp, #8 while(m->param) { - c3ca: 4c11 ldr r4, [pc, #68] ; (c410 ) - c3cc: 6824 ldr r4, [r4, #0] - c3ce: b1ec cbz r4, c40c - c3d0: 469a mov sl, r3 - c3d2: 4691 mov r9, r2 - c3d4: 4688 mov r8, r1 - c3d6: 4607 mov r7, r0 - c3d8: 4e0d ldr r6, [pc, #52] ; (c410 ) - c3da: 2500 movs r5, #0 + be22: 4c11 ldr r4, [pc, #68] ; (be68 ) + be24: 6824 ldr r4, [r4, #0] + be26: b1ec cbz r4, be64 + be28: 469a mov sl, r3 + be2a: 4691 mov r9, r2 + be2c: 4688 mov r8, r1 + be2e: 4607 mov r7, r0 + be30: 4e0d ldr r6, [pc, #52] ; (be68 ) + be32: 2500 movs r5, #0 res = dsc->cb(mask_buf, abs_x, abs_y, len, (void *)m->param); - c3dc: 9400 str r4, [sp, #0] - c3de: 6824 ldr r4, [r4, #0] - c3e0: 4653 mov r3, sl - c3e2: 464a mov r2, r9 - c3e4: 4641 mov r1, r8 - c3e6: 4638 mov r0, r7 - c3e8: 47a0 blx r4 + be34: 9400 str r4, [sp, #0] + be36: 6824 ldr r4, [r4, #0] + be38: 4653 mov r3, sl + be3a: 464a mov r2, r9 + be3c: 4641 mov r1, r8 + be3e: 4638 mov r0, r7 + be40: 47a0 blx r4 if(res == LV_DRAW_MASK_RES_TRANSP) return LV_DRAW_MASK_RES_TRANSP; - c3ea: 4604 mov r4, r0 - c3ec: b150 cbz r0, c404 + be42: 4604 mov r4, r0 + be44: b150 cbz r0, be5c else if(res == LV_DRAW_MASK_RES_CHANGED) changed = true; - c3ee: 2802 cmp r0, #2 - c3f0: bf08 it eq - c3f2: 2501 moveq r5, #1 + be46: 2802 cmp r0, #2 + be48: bf08 it eq + be4a: 2501 moveq r5, #1 while(m->param) { - c3f4: f856 4f08 ldr.w r4, [r6, #8]! - c3f8: 2c00 cmp r4, #0 - c3fa: d1ef bne.n c3dc + be4c: f856 4f08 ldr.w r4, [r6, #8]! + be50: 2c00 cmp r4, #0 + be52: d1ef bne.n be34 return changed ? LV_DRAW_MASK_RES_CHANGED : LV_DRAW_MASK_RES_FULL_COVER; - c3fc: 2d00 cmp r5, #0 - c3fe: bf14 ite ne - c400: 2402 movne r4, #2 - c402: 2401 moveq r4, #1 -} - c404: 4620 mov r0, r4 - c406: b002 add sp, #8 - c408: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + be54: 2d00 cmp r5, #0 + be56: bf14 ite ne + be58: 2402 movne r4, #2 + be5a: 2401 moveq r4, #1 +} + be5c: 4620 mov r0, r4 + be5e: b002 add sp, #8 + be60: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} return changed ? LV_DRAW_MASK_RES_CHANGED : LV_DRAW_MASK_RES_FULL_COVER; - c40c: 2401 movs r4, #1 - c40e: e7f9 b.n c404 - c410: 20006d88 .word 0x20006d88 + be64: 2401 movs r4, #1 + be66: e7f9 b.n be5c + be68: 20006d6c .word 0x20006d6c -0000c414 : +0000be6c : if(id != LV_MASK_ID_INV) { - c414: f1b0 3fff cmp.w r0, #4294967295 - c418: d00a beq.n c430 + be6c: f1b0 3fff cmp.w r0, #4294967295 + be70: d00a beq.n be88 p = LV_GC_ROOT(_lv_draw_mask_list[id]).param; - c41a: 4b06 ldr r3, [pc, #24] ; (c434 ) - c41c: f853 1030 ldr.w r1, [r3, r0, lsl #3] + be72: 4b06 ldr r3, [pc, #24] ; (be8c ) + be74: f853 1030 ldr.w r1, [r3, r0, lsl #3] LV_GC_ROOT(_lv_draw_mask_list[id]).param = NULL; - c420: 2200 movs r2, #0 - c422: f843 2030 str.w r2, [r3, r0, lsl #3] + be78: 2200 movs r2, #0 + be7a: f843 2030 str.w r2, [r3, r0, lsl #3] LV_GC_ROOT(_lv_draw_mask_list[id]).custom_id = NULL; - c426: eb03 03c0 add.w r3, r3, r0, lsl #3 - c42a: 605a str r2, [r3, #4] + be7e: eb03 03c0 add.w r3, r3, r0, lsl #3 + be82: 605a str r2, [r3, #4] } - c42c: 4608 mov r0, r1 - c42e: 4770 bx lr + be84: 4608 mov r0, r1 + be86: 4770 bx lr void * p = NULL; - c430: 2100 movs r1, #0 + be88: 2100 movs r1, #0 return p; - c432: e7fb b.n c42c - c434: 20006d88 .word 0x20006d88 + be8a: e7fb b.n be84 + be8c: 20006d6c .word 0x20006d6c -0000c438 : +0000be90 : { - c438: b470 push {r4, r5, r6} - c43a: 4b0b ldr r3, [pc, #44] ; (c468 ) - c43c: 1d1a adds r2, r3, #4 - c43e: f103 0480 add.w r4, r3, #128 ; 0x80 + be90: b470 push {r4, r5, r6} + be92: 4b0b ldr r3, [pc, #44] ; (bec0 ) + be94: 1d1a adds r2, r3, #4 + be96: f103 0480 add.w r4, r3, #128 ; 0x80 void * p = NULL; - c442: 2600 movs r6, #0 + be9a: 2600 movs r6, #0 LV_GC_ROOT(_lv_draw_mask_list[i]).param = NULL; - c444: 4635 mov r5, r6 - c446: e003 b.n c450 - c448: 3308 adds r3, #8 - c44a: 3208 adds r2, #8 + be9c: 4635 mov r5, r6 + be9e: e003 b.n bea8 + bea0: 3308 adds r3, #8 + bea2: 3208 adds r2, #8 for(i = 0; i < _LV_MASK_MAX_NUM; i++) { - c44c: 42a3 cmp r3, r4 - c44e: d008 beq.n c462 + bea4: 42a3 cmp r3, r4 + bea6: d008 beq.n beba if(LV_GC_ROOT(_lv_draw_mask_list[i]).custom_id == custom_id) { - c450: 6859 ldr r1, [r3, #4] - c452: 4281 cmp r1, r0 - c454: d1f8 bne.n c448 + bea8: 6859 ldr r1, [r3, #4] + beaa: 4281 cmp r1, r0 + beac: d1f8 bne.n bea0 p = LV_GC_ROOT(_lv_draw_mask_list[i]).param; - c456: f852 6c04 ldr.w r6, [r2, #-4] + beae: f852 6c04 ldr.w r6, [r2, #-4] LV_GC_ROOT(_lv_draw_mask_list[i]).param = NULL; - c45a: f842 5c04 str.w r5, [r2, #-4] + beb2: f842 5c04 str.w r5, [r2, #-4] LV_GC_ROOT(_lv_draw_mask_list[i]).custom_id = NULL; - c45e: 605d str r5, [r3, #4] - c460: e7f2 b.n c448 + beb6: 605d str r5, [r3, #4] + beb8: e7f2 b.n bea0 } - c462: 4630 mov r0, r6 - c464: bc70 pop {r4, r5, r6} - c466: 4770 bx lr - c468: 20006d88 .word 0x20006d88 + beba: 4630 mov r0, r6 + bebc: bc70 pop {r4, r5, r6} + bebe: 4770 bx lr + bec0: 20006d6c .word 0x20006d6c -0000c46c : +0000bec4 : { - c46c: 2300 movs r3, #0 + bec4: 2300 movs r3, #0 uint8_t cnt = 0; - c46e: 4618 mov r0, r3 + bec6: 4618 mov r0, r3 if(LV_GC_ROOT(_lv_draw_mask_list[i]).param) cnt++; - c470: 4906 ldr r1, [pc, #24] ; (c48c ) - c472: e002 b.n c47a - c474: 3301 adds r3, #1 + bec8: 4906 ldr r1, [pc, #24] ; (bee4 ) + beca: e002 b.n bed2 + becc: 3301 adds r3, #1 for(i = 0; i < _LV_MASK_MAX_NUM; i++) { - c476: 2b10 cmp r3, #16 - c478: d006 beq.n c488 + bece: 2b10 cmp r3, #16 + bed0: d006 beq.n bee0 if(LV_GC_ROOT(_lv_draw_mask_list[i]).param) cnt++; - c47a: f851 2033 ldr.w r2, [r1, r3, lsl #3] - c47e: 2a00 cmp r2, #0 - c480: d0f8 beq.n c474 - c482: 3001 adds r0, #1 - c484: b2c0 uxtb r0, r0 - c486: e7f5 b.n c474 -} - c488: 4770 bx lr - c48a: bf00 nop - c48c: 20006d88 .word 0x20006d88 - -0000c490 : -{ - c490: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - c494: 4604 mov r4, r0 - c496: 460f mov r7, r1 - c498: 4615 mov r5, r2 - c49a: 4698 mov r8, r3 - c49c: f9bd 6018 ldrsh.w r6, [sp, #24] + bed2: f851 2033 ldr.w r2, [r1, r3, lsl #3] + bed6: 2a00 cmp r2, #0 + bed8: d0f8 beq.n becc + beda: 3001 adds r0, #1 + bedc: b2c0 uxtb r0, r0 + bede: e7f5 b.n becc +} + bee0: 4770 bx lr + bee2: bf00 nop + bee4: 20006d6c .word 0x20006d6c + +0000bee8 : +{ + bee8: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} + beec: 4604 mov r4, r0 + beee: 460f mov r7, r1 + bef0: 4615 mov r5, r2 + bef2: 4698 mov r8, r3 + bef4: f9bd 6018 ldrsh.w r6, [sp, #24] _lv_memset_00(param, sizeof(lv_draw_mask_line_param_t)); - c4a0: 212c movs r1, #44 ; 0x2c - c4a2: 4b4a ldr r3, [pc, #296] ; (c5cc ) - c4a4: 4798 blx r3 + bef8: 212c movs r1, #44 ; 0x2c + befa: 4b4a ldr r3, [pc, #296] ; (c024 ) + befc: 4798 blx r3 if(p1y > p2y) { - c4a6: 42b5 cmp r5, r6 - c4a8: dd05 ble.n c4b6 - c4aa: 462b mov r3, r5 + befe: 42b5 cmp r5, r6 + bf00: dd05 ble.n bf0e + bf02: 462b mov r3, r5 p1y = t; - c4ac: 4635 mov r5, r6 + bf04: 4635 mov r5, r6 p2y = p1y; - c4ae: 461e mov r6, r3 + bf06: 461e mov r6, r3 if(p1y > p2y) { - c4b0: 463b mov r3, r7 + bf08: 463b mov r3, r7 p1x = t; - c4b2: 4647 mov r7, r8 + bf0a: 4647 mov r7, r8 p2x = p1x; - c4b4: 4698 mov r8, r3 + bf0c: 4698 mov r8, r3 param->cfg.p1.x = p1x; - c4b6: 8127 strh r7, [r4, #8] + bf0e: 8127 strh r7, [r4, #8] param->cfg.p1.y = p1y; - c4b8: 8165 strh r5, [r4, #10] + bf10: 8165 strh r5, [r4, #10] param->cfg.p2.x = p2x; - c4ba: f8a4 800c strh.w r8, [r4, #12] + bf12: f8a4 800c strh.w r8, [r4, #12] param->cfg.p2.y = p2y; - c4be: 81e6 strh r6, [r4, #14] + bf16: 81e6 strh r6, [r4, #14] param->cfg.side = side; - c4c0: 7c23 ldrb r3, [r4, #16] - c4c2: f89d 201c ldrb.w r2, [sp, #28] - c4c6: f362 0301 bfi r3, r2, #0, #2 - c4ca: 7423 strb r3, [r4, #16] + bf18: 7c23 ldrb r3, [r4, #16] + bf1a: f89d 201c ldrb.w r2, [sp, #28] + bf1e: f362 0301 bfi r3, r2, #0, #2 + bf22: 7423 strb r3, [r4, #16] param->origo.x = p1x; - c4cc: 8267 strh r7, [r4, #18] + bf24: 8267 strh r7, [r4, #18] param->origo.y = p1y; - c4ce: 82a5 strh r5, [r4, #20] + bf26: 82a5 strh r5, [r4, #20] param->flat = (LV_MATH_ABS(p2x - p1x) > LV_MATH_ABS(p2y - p1y)) ? 1 : 0; - c4d0: eba8 0707 sub.w r7, r8, r7 - c4d4: 1b75 subs r5, r6, r5 - c4d6: ea87 71e7 eor.w r1, r7, r7, asr #31 - c4da: eba1 71e7 sub.w r1, r1, r7, asr #31 - c4de: ea85 73e5 eor.w r3, r5, r5, asr #31 - c4e2: eba3 73e5 sub.w r3, r3, r5, asr #31 - c4e6: 4299 cmp r1, r3 - c4e8: bfd4 ite le - c4ea: 2100 movle r1, #0 - c4ec: 2101 movgt r1, #1 - c4ee: f894 2028 ldrb.w r2, [r4, #40] ; 0x28 - c4f2: f361 0200 bfi r2, r1, #0, #1 - c4f6: f884 2028 strb.w r2, [r4, #40] ; 0x28 + bf28: eba8 0707 sub.w r7, r8, r7 + bf2c: 1b75 subs r5, r6, r5 + bf2e: ea87 71e7 eor.w r1, r7, r7, asr #31 + bf32: eba1 71e7 sub.w r1, r1, r7, asr #31 + bf36: ea85 73e5 eor.w r3, r5, r5, asr #31 + bf3a: eba3 73e5 sub.w r3, r3, r5, asr #31 + bf3e: 4299 cmp r1, r3 + bf40: bfd4 ite le + bf42: 2100 movle r1, #0 + bf44: 2101 movgt r1, #1 + bf46: f894 2028 ldrb.w r2, [r4, #40] ; 0x28 + bf4a: f361 0200 bfi r2, r1, #0, #1 + bf4e: f884 2028 strb.w r2, [r4, #40] ; 0x28 param->yx_steep = 0; - c4fa: 2100 movs r1, #0 - c4fc: 61e1 str r1, [r4, #28] + bf52: 2100 movs r1, #0 + bf54: 61e1 str r1, [r4, #28] param->xy_steep = 0; - c4fe: 61a1 str r1, [r4, #24] + bf56: 61a1 str r1, [r4, #24] param->dsc.cb = (lv_draw_mask_xcb_t)lv_draw_mask_line; - c500: 4b33 ldr r3, [pc, #204] ; (c5d0 ) - c502: 6023 str r3, [r4, #0] + bf58: 4b33 ldr r3, [pc, #204] ; (c028 ) + bf5a: 6023 str r3, [r4, #0] param->dsc.type = LV_DRAW_MASK_TYPE_LINE; - c504: 7121 strb r1, [r4, #4] + bf5c: 7121 strb r1, [r4, #4] if(param->flat) { - c506: f012 0f01 tst.w r2, #1 - c50a: d025 beq.n c558 + bf5e: f012 0f01 tst.w r2, #1 + bf62: d025 beq.n bfb0 if(dx) { - c50c: b13f cbz r7, c51e + bf64: b13f cbz r7, bf76 m = (1 << 20) / dx; /*m is multiplier to normalize y (upscaled by 1024)*/ - c50e: f44f 1380 mov.w r3, #1048576 ; 0x100000 - c512: fb93 f3f7 sdiv r3, r3, r7 + bf66: f44f 1380 mov.w r3, #1048576 ; 0x100000 + bf6a: fb93 f3f7 sdiv r3, r3, r7 param->yx_steep = (m * dy) >> 10; - c516: fb05 f303 mul.w r3, r5, r3 - c51a: 129b asrs r3, r3, #10 - c51c: 61e3 str r3, [r4, #28] + bf6e: fb05 f303 mul.w r3, r5, r3 + bf72: 129b asrs r3, r3, #10 + bf74: 61e3 str r3, [r4, #28] if(dy) { - c51e: b13d cbz r5, c530 + bf76: b13d cbz r5, bf88 m = (1 << 20) / dy; /*m is multiplier to normalize x (upscaled by 1024)*/ - c520: f44f 1680 mov.w r6, #1048576 ; 0x100000 - c524: fb96 f5f5 sdiv r5, r6, r5 + bf78: f44f 1680 mov.w r6, #1048576 ; 0x100000 + bf7c: fb96 f5f5 sdiv r5, r6, r5 param->xy_steep = (m * dx) >> 10; - c528: fb07 f705 mul.w r7, r7, r5 - c52c: 12bf asrs r7, r7, #10 - c52e: 61a7 str r7, [r4, #24] + bf80: fb07 f705 mul.w r7, r7, r5 + bf84: 12bf asrs r7, r7, #10 + bf86: 61a7 str r7, [r4, #24] param->steep = param->yx_steep; - c530: 69e3 ldr r3, [r4, #28] - c532: 6223 str r3, [r4, #32] + bf88: 69e3 ldr r3, [r4, #28] + bf8a: 6223 str r3, [r4, #32] if(param->cfg.side == LV_DRAW_MASK_LINE_SIDE_LEFT) param->inv = 0; - c534: 7c23 ldrb r3, [r4, #16] - c536: f013 0303 ands.w r3, r3, #3 - c53a: d122 bne.n c582 - c53c: f894 3028 ldrb.w r3, [r4, #40] ; 0x28 - c540: f36f 0341 bfc r3, #1, #1 - c544: f884 3028 strb.w r3, [r4, #40] ; 0x28 + bf8c: 7c23 ldrb r3, [r4, #16] + bf8e: f013 0303 ands.w r3, r3, #3 + bf92: d122 bne.n bfda + bf94: f894 3028 ldrb.w r3, [r4, #40] ; 0x28 + bf98: f36f 0341 bfc r3, #1, #1 + bf9c: f884 3028 strb.w r3, [r4, #40] ; 0x28 param->spx = param->steep >> 2; - c548: 6a23 ldr r3, [r4, #32] - c54a: 109a asrs r2, r3, #2 + bfa0: 6a23 ldr r3, [r4, #32] + bfa2: 109a asrs r2, r3, #2 if(param->steep < 0) param->spx = -param->spx; - c54c: 2b00 cmp r3, #0 - c54e: bfb8 it lt - c550: 4252 neglt r2, r2 - c552: 6262 str r2, [r4, #36] ; 0x24 - c554: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + bfa4: 2b00 cmp r3, #0 + bfa6: bfb8 it lt + bfa8: 4252 neglt r2, r2 + bfaa: 6262 str r2, [r4, #36] ; 0x24 + bfac: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} if(dy) { - c558: b13d cbz r5, c56a + bfb0: b13d cbz r5, bfc2 m = (1 << 20) / dy; /*m is multiplier to normalize x (upscaled by 1024)*/ - c55a: f44f 1380 mov.w r3, #1048576 ; 0x100000 - c55e: fb93 f3f5 sdiv r3, r3, r5 + bfb2: f44f 1380 mov.w r3, #1048576 ; 0x100000 + bfb6: fb93 f3f5 sdiv r3, r3, r5 param->xy_steep = (m * dx) >> 10; - c562: fb07 f303 mul.w r3, r7, r3 - c566: 129b asrs r3, r3, #10 - c568: 61a3 str r3, [r4, #24] + bfba: fb07 f303 mul.w r3, r7, r3 + bfbe: 129b asrs r3, r3, #10 + bfc0: 61a3 str r3, [r4, #24] if(dx) { - c56a: b13f cbz r7, c57c + bfc2: b13f cbz r7, bfd4 m = (1 << 20) / dx; /*m is multiplier to normalize x (upscaled by 1024)*/ - c56c: f44f 1880 mov.w r8, #1048576 ; 0x100000 - c570: fb98 f7f7 sdiv r7, r8, r7 + bfc4: f44f 1880 mov.w r8, #1048576 ; 0x100000 + bfc8: fb98 f7f7 sdiv r7, r8, r7 param->yx_steep = (m * dy) >> 10; - c574: fb05 f507 mul.w r5, r5, r7 - c578: 12ad asrs r5, r5, #10 - c57a: 61e5 str r5, [r4, #28] + bfcc: fb05 f507 mul.w r5, r5, r7 + bfd0: 12ad asrs r5, r5, #10 + bfd2: 61e5 str r5, [r4, #28] param->steep = param->xy_steep; - c57c: 69a3 ldr r3, [r4, #24] - c57e: 6223 str r3, [r4, #32] - c580: e7d8 b.n c534 + bfd4: 69a3 ldr r3, [r4, #24] + bfd6: 6223 str r3, [r4, #32] + bfd8: e7d8 b.n bf8c else if(param->cfg.side == LV_DRAW_MASK_LINE_SIDE_RIGHT) param->inv = 1; - c582: 2b01 cmp r3, #1 - c584: d00f beq.n c5a6 + bfda: 2b01 cmp r3, #1 + bfdc: d00f beq.n bffe else if(param->cfg.side == LV_DRAW_MASK_LINE_SIDE_TOP) { - c586: 2b02 cmp r3, #2 - c588: d014 beq.n c5b4 + bfde: 2b02 cmp r3, #2 + bfe0: d014 beq.n c00c else if(param->cfg.side == LV_DRAW_MASK_LINE_SIDE_BOTTOM) { - c58a: 2b03 cmp r3, #3 - c58c: d1dc bne.n c548 + bfe2: 2b03 cmp r3, #3 + bfe4: d1dc bne.n bfa0 if(param->steep > 0) param->inv = 0; - c58e: 6a23 ldr r3, [r4, #32] - c590: 2b00 cmp r3, #0 - c592: f894 3028 ldrb.w r3, [r4, #40] ; 0x28 - c596: bfcc ite gt - c598: f36f 0341 bfcgt r3, #1, #1 + bfe6: 6a23 ldr r3, [r4, #32] + bfe8: 2b00 cmp r3, #0 + bfea: f894 3028 ldrb.w r3, [r4, #40] ; 0x28 + bfee: bfcc ite gt + bff0: f36f 0341 bfcgt r3, #1, #1 else param->inv = 1; - c59c: f043 0302 orrle.w r3, r3, #2 - c5a0: f884 3028 strb.w r3, [r4, #40] ; 0x28 - c5a4: e7d0 b.n c548 + bff4: f043 0302 orrle.w r3, r3, #2 + bff8: f884 3028 strb.w r3, [r4, #40] ; 0x28 + bffc: e7d0 b.n bfa0 else if(param->cfg.side == LV_DRAW_MASK_LINE_SIDE_RIGHT) param->inv = 1; - c5a6: f894 3028 ldrb.w r3, [r4, #40] ; 0x28 - c5aa: f043 0302 orr.w r3, r3, #2 - c5ae: f884 3028 strb.w r3, [r4, #40] ; 0x28 - c5b2: e7c9 b.n c548 + bffe: f894 3028 ldrb.w r3, [r4, #40] ; 0x28 + c002: f043 0302 orr.w r3, r3, #2 + c006: f884 3028 strb.w r3, [r4, #40] ; 0x28 + c00a: e7c9 b.n bfa0 if(param->steep > 0) param->inv = 1; - c5b4: 6a23 ldr r3, [r4, #32] - c5b6: 2b00 cmp r3, #0 - c5b8: f894 3028 ldrb.w r3, [r4, #40] ; 0x28 - c5bc: bfcc ite gt - c5be: f043 0302 orrgt.w r3, r3, #2 + c00c: 6a23 ldr r3, [r4, #32] + c00e: 2b00 cmp r3, #0 + c010: f894 3028 ldrb.w r3, [r4, #40] ; 0x28 + c014: bfcc ite gt + c016: f043 0302 orrgt.w r3, r3, #2 else param->inv = 0; - c5c2: f36f 0341 bfcle r3, #1, #1 - c5c6: f884 3028 strb.w r3, [r4, #40] ; 0x28 - c5ca: e7bd b.n c548 - c5cc: 000130df .word 0x000130df - c5d0: 0000b7c9 .word 0x0000b7c9 + c01a: f36f 0341 bfcle r3, #1, #1 + c01e: f884 3028 strb.w r3, [r4, #40] ; 0x28 + c022: e7bd b.n bfa0 + c024: 00012b37 .word 0x00012b37 + c028: 0000b221 .word 0x0000b221 -0000c5d4 : +0000c02c : { - c5d4: b470 push {r4, r5, r6} + c02c: b470 push {r4, r5, r6} return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - c5d6: 88cc ldrh r4, [r1, #6] - c5d8: 3401 adds r4, #1 - c5da: 884d ldrh r5, [r1, #2] - c5dc: 1b64 subs r4, r4, r5 + c02e: 88cc ldrh r4, [r1, #6] + c030: 3401 adds r4, #1 + c032: 884d ldrh r5, [r1, #2] + c034: 1b64 subs r4, r4, r5 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - c5de: 888d ldrh r5, [r1, #4] - c5e0: 3501 adds r5, #1 - c5e2: 880e ldrh r6, [r1, #0] - c5e4: 1bad subs r5, r5, r6 + c036: 888d ldrh r5, [r1, #4] + c038: 3501 adds r5, #1 + c03a: 880e ldrh r6, [r1, #0] + c03c: 1bad subs r5, r5, r6 int32_t short_side = LV_MATH_MIN(w, h); - c5e6: b224 sxth r4, r4 - c5e8: b22d sxth r5, r5 - c5ea: 42ac cmp r4, r5 - c5ec: bfa8 it ge - c5ee: 462c movge r4, r5 + c03e: b224 sxth r4, r4 + c040: b22d sxth r5, r5 + c042: 42ac cmp r4, r5 + c044: bfa8 it ge + c046: 462c movge r4, r5 if(radius > short_side >> 1) radius = short_side >> 1; - c5f0: 1064 asrs r4, r4, #1 - c5f2: 42a2 cmp r2, r4 - c5f4: bfc8 it gt - c5f6: b222 sxthgt r2, r4 - c5f8: 3901 subs r1, #1 - c5fa: f100 0610 add.w r6, r0, #16 + c048: 1064 asrs r4, r4, #1 + c04a: 42a2 cmp r2, r4 + c04c: bfc8 it gt + c04e: b222 sxthgt r2, r4 + c050: 3901 subs r1, #1 + c052: f100 0610 add.w r6, r0, #16 uint8_t * d8 = (uint8_t *)dst; - c5fe: f100 0408 add.w r4, r0, #8 + c056: f100 0408 add.w r4, r0, #8 *d8 = *s8; - c602: f811 5f01 ldrb.w r5, [r1, #1]! - c606: f804 5b01 strb.w r5, [r4], #1 + c05a: f811 5f01 ldrb.w r5, [r1, #1]! + c05e: f804 5b01 strb.w r5, [r4], #1 while(len) { - c60a: 42b4 cmp r4, r6 - c60c: d1f9 bne.n c602 + c062: 42b4 cmp r4, r6 + c064: d1f9 bne.n c05a param->cfg.radius = radius; - c60e: 8202 strh r2, [r0, #16] + c066: 8202 strh r2, [r0, #16] param->cfg.outer = inv ? 1 : 0; - c610: 7c82 ldrb r2, [r0, #18] - c612: f363 0200 bfi r2, r3, #0, #1 - c616: 7482 strb r2, [r0, #18] + c068: 7c82 ldrb r2, [r0, #18] + c06a: f363 0200 bfi r2, r3, #0, #1 + c06e: 7482 strb r2, [r0, #18] param->dsc.cb = (lv_draw_mask_xcb_t)lv_draw_mask_radius; - c618: 4b05 ldr r3, [pc, #20] ; (c630 ) - c61a: 6003 str r3, [r0, #0] + c070: 4b05 ldr r3, [pc, #20] ; (c088 ) + c072: 6003 str r3, [r0, #0] param->dsc.type = LV_DRAW_MASK_TYPE_RADIUS; - c61c: 2302 movs r3, #2 - c61e: 7103 strb r3, [r0, #4] + c074: 2302 movs r3, #2 + c076: 7103 strb r3, [r0, #4] param->y_prev = INT32_MIN; - c620: f04f 4300 mov.w r3, #2147483648 ; 0x80000000 - c624: 6143 str r3, [r0, #20] + c078: f04f 4300 mov.w r3, #2147483648 ; 0x80000000 + c07c: 6143 str r3, [r0, #20] param->y_prev_x.f = 0; - c626: 2300 movs r3, #0 - c628: 8343 strh r3, [r0, #26] + c07e: 2300 movs r3, #0 + c080: 8343 strh r3, [r0, #26] param->y_prev_x.i = 0; - c62a: 8303 strh r3, [r0, #24] + c082: 8303 strh r3, [r0, #24] } - c62c: bc70 pop {r4, r5, r6} - c62e: 4770 bx lr - c630: 0000bd75 .word 0x0000bd75 + c084: bc70 pop {r4, r5, r6} + c086: 4770 bx lr + c088: 0000b7cd .word 0x0000b7cd -0000c634 : +0000c08c : #endif } LV_ATTRIBUTE_FAST_MEM static void shadow_blur_corner(lv_coord_t size, lv_coord_t sw, uint16_t * sh_ups_buf) { - c634: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - c638: b08b sub sp, #44 ; 0x2c - c63a: 9006 str r0, [sp, #24] - c63c: 4689 mov r9, r1 - c63e: 9207 str r2, [sp, #28] + c08c: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + c090: b08b sub sp, #44 ; 0x2c + c092: 9006 str r0, [sp, #24] + c094: 4689 mov r9, r1 + c096: 9207 str r2, [sp, #28] int32_t s_left = sw >> 1; - c640: ea4f 0b61 mov.w fp, r1, asr #1 - c644: f8cd b008 str.w fp, [sp, #8] + c098: ea4f 0b61 mov.w fp, r1, asr #1 + c09c: f8cd b008 str.w fp, [sp, #8] int32_t s_right = (sw >> 1); if((sw & 1) == 0) s_left--; - c648: f011 0f01 tst.w r1, #1 - c64c: bf06 itte eq - c64e: f10b 33ff addeq.w r3, fp, #4294967295 - c652: 9308 streq r3, [sp, #32] + c0a0: f011 0f01 tst.w r1, #1 + c0a4: bf06 itte eq + c0a6: f10b 33ff addeq.w r3, fp, #4294967295 + c0aa: 9308 streq r3, [sp, #32] int32_t s_left = sw >> 1; - c654: f8cd b020 strne.w fp, [sp, #32] + c0ac: f8cd b020 strne.w fp, [sp, #32] /*Horizontal blur*/ uint16_t * sh_ups_blur_buf = _lv_mem_buf_get(size * sizeof(uint16_t)); - c658: 9c06 ldr r4, [sp, #24] - c65a: 0067 lsls r7, r4, #1 - c65c: 4638 mov r0, r7 - c65e: 4b69 ldr r3, [pc, #420] ; (c804 ) - c660: 4798 blx r3 - c662: 9005 str r0, [sp, #20] + c0b0: 9c06 ldr r4, [sp, #24] + c0b2: 0067 lsls r7, r4, #1 + c0b4: 4638 mov r0, r7 + c0b6: 4b69 ldr r3, [pc, #420] ; (c25c ) + c0b8: 4798 blx r3 + c0ba: 9005 str r0, [sp, #20] int32_t x; int32_t y; uint16_t * sh_ups_tmp_buf = sh_ups_buf; for(y = 0; y < size; y++) { - c664: 2c00 cmp r4, #0 - c666: f340 80be ble.w c7e6 + c0bc: 2c00 cmp r4, #0 + c0be: f340 80be ble.w c23e int32_t v = sh_ups_tmp_buf[size - 1] * sw; - c66a: 1eba subs r2, r7, #2 - c66c: 19c1 adds r1, r0, r7 - c66e: 9103 str r1, [sp, #12] - c670: 9d07 ldr r5, [sp, #28] - c672: f04f 0800 mov.w r8, #0 + c0c2: 1eba subs r2, r7, #2 + c0c4: 19c1 adds r1, r0, r7 + c0c6: 9103 str r1, [sp, #12] + c0c8: 9d07 ldr r5, [sp, #28] + c0ca: f04f 0800 mov.w r8, #0 for(x = size - 1; x >= 0; x--) { - c676: f104 3aff add.w sl, r4, #4294967295 - c67a: 9908 ldr r1, [sp, #32] - c67c: ebaa 0101 sub.w r1, sl, r1 - c680: 9104 str r1, [sp, #16] - c682: 4606 mov r6, r0 - c684: f8cd b024 str.w fp, [sp, #36] ; 0x24 - c688: 4693 mov fp, r2 + c0ce: f104 3aff add.w sl, r4, #4294967295 + c0d2: 9908 ldr r1, [sp, #32] + c0d4: ebaa 0101 sub.w r1, sl, r1 + c0d8: 9104 str r1, [sp, #16] + c0da: 4606 mov r6, r0 + c0dc: f8cd b024 str.w fp, [sp, #36] ; 0x24 + c0e0: 4693 mov fp, r2 int32_t v = sh_ups_tmp_buf[size - 1] * sw; - c68a: f8cd 9004 str.w r9, [sp, #4] - c68e: f835 300b ldrh.w r3, [r5, fp] - c692: fb09 f303 mul.w r3, r9, r3 + c0e2: f8cd 9004 str.w r9, [sp, #4] + c0e6: f835 300b ldrh.w r3, [r5, fp] + c0ea: fb09 f303 mul.w r3, r9, r3 for(x = size - 1; x >= 0; x--) { - c696: f1ba 0f00 cmp.w sl, #0 - c69a: db1b blt.n c6d4 - c69c: 9a02 ldr r2, [sp, #8] - c69e: eb02 010a add.w r1, r2, sl - c6a2: 9a04 ldr r2, [sp, #16] - c6a4: 3a01 subs r2, #1 - c6a6: 9803 ldr r0, [sp, #12] - c6a8: f04f 0e00 mov.w lr, #0 + c0ee: f1ba 0f00 cmp.w sl, #0 + c0f2: db1b blt.n c12c + c0f4: 9a02 ldr r2, [sp, #8] + c0f6: eb02 010a add.w r1, r2, sl + c0fa: 9a04 ldr r2, [sp, #16] + c0fc: 3a01 subs r2, #1 + c0fe: 9803 ldr r0, [sp, #12] + c100: f04f 0e00 mov.w lr, #0 sh_ups_blur_buf[x] = v; - c6ac: f820 3d02 strh.w r3, [r0, #-2]! + c104: f820 3d02 strh.w r3, [r0, #-2]! /*Forget the right pixel*/ uint32_t right_val = 0; if(x + s_right < size) right_val = sh_ups_tmp_buf[x + s_right]; - c6b0: 428c cmp r4, r1 - c6b2: bfcc ite gt - c6b4: f835 c011 ldrhgt.w ip, [r5, r1, lsl #1] - c6b8: 46f4 movle ip, lr + c108: 428c cmp r4, r1 + c10a: bfcc ite gt + c10c: f835 c011 ldrhgt.w ip, [r5, r1, lsl #1] + c110: 46f4 movle ip, lr v -= right_val; - c6ba: eba3 030c sub.w r3, r3, ip + c112: eba3 030c sub.w r3, r3, ip /*Add the left pixel*/ uint32_t left_val; if(x - s_left - 1 < 0) left_val = sh_ups_tmp_buf[0]; - c6be: 2a00 cmp r2, #0 - c6c0: bfb4 ite lt - c6c2: f8b5 c000 ldrhlt.w ip, [r5] + c116: 2a00 cmp r2, #0 + c118: bfb4 ite lt + c11a: f8b5 c000 ldrhlt.w ip, [r5] else left_val = sh_ups_tmp_buf[x - s_left - 1]; - c6c6: f835 c012 ldrhge.w ip, [r5, r2, lsl #1] + c11e: f835 c012 ldrhge.w ip, [r5, r2, lsl #1] v += left_val; - c6ca: 4463 add r3, ip - c6cc: 3901 subs r1, #1 - c6ce: 3a01 subs r2, #1 + c122: 4463 add r3, ip + c124: 3901 subs r1, #1 + c126: 3a01 subs r2, #1 for(x = size - 1; x >= 0; x--) { - c6d0: 42b0 cmp r0, r6 - c6d2: d1eb bne.n c6ac + c128: 42b0 cmp r0, r6 + c12a: d1eb bne.n c104 } _lv_memcpy(sh_ups_tmp_buf, sh_ups_blur_buf, size * sizeof(uint16_t)); - c6d4: 463a mov r2, r7 - c6d6: 4631 mov r1, r6 - c6d8: 4628 mov r0, r5 - c6da: 4b4b ldr r3, [pc, #300] ; (c808 ) - c6dc: 4798 blx r3 + c12c: 463a mov r2, r7 + c12e: 4631 mov r1, r6 + c130: 4628 mov r0, r5 + c132: 4b4b ldr r3, [pc, #300] ; (c260 ) + c134: 4798 blx r3 sh_ups_tmp_buf += size; - c6de: 443d add r5, r7 + c136: 443d add r5, r7 for(y = 0; y < size; y++) { - c6e0: f108 0801 add.w r8, r8, #1 - c6e4: 45a0 cmp r8, r4 - c6e6: d1d0 bne.n c68a - c6e8: f8dd b024 ldr.w fp, [sp, #36] ; 0x24 + c138: f108 0801 add.w r8, r8, #1 + c13c: 45a0 cmp r8, r4 + c13e: d1d0 bne.n c0e2 + c140: f8dd b024 ldr.w fp, [sp, #36] ; 0x24 } /*Vertical blur*/ uint32_t i; sh_ups_buf[0] = sh_ups_buf[0] / sw; - c6ec: 9a07 ldr r2, [sp, #28] - c6ee: 8813 ldrh r3, [r2, #0] - c6f0: 9901 ldr r1, [sp, #4] - c6f2: fb93 f3f1 sdiv r3, r3, r1 - c6f6: 8013 strh r3, [r2, #0] + c144: 9a07 ldr r2, [sp, #28] + c146: 8813 ldrh r3, [r2, #0] + c148: 9901 ldr r1, [sp, #4] + c14a: fb93 f3f1 sdiv r3, r3, r1 + c14e: 8013 strh r3, [r2, #0] for(i = 1; i < (uint32_t)size * size; i++) { - c6f8: 9b06 ldr r3, [sp, #24] - c6fa: fb03 f503 mul.w r5, r3, r3 - c6fe: 2d01 cmp r5, #1 - c700: d911 bls.n c726 - c702: 9a07 ldr r2, [sp, #28] - c704: 2101 movs r1, #1 - c706: 9e01 ldr r6, [sp, #4] - c708: 4610 mov r0, r2 + c150: 9b06 ldr r3, [sp, #24] + c152: fb03 f503 mul.w r5, r3, r3 + c156: 2d01 cmp r5, #1 + c158: d911 bls.n c17e + c15a: 9a07 ldr r2, [sp, #28] + c15c: 2101 movs r1, #1 + c15e: 9e01 ldr r6, [sp, #4] + c160: 4610 mov r0, r2 if(sh_ups_buf[i] == sh_ups_buf[i - 1]) sh_ups_buf[i] = sh_ups_buf[i - 1]; - c70a: f832 3f02 ldrh.w r3, [r2, #2]! - c70e: 8800 ldrh r0, [r0, #0] - c710: 4298 cmp r0, r3 + c162: f832 3f02 ldrh.w r3, [r2, #2]! + c166: 8800 ldrh r0, [r0, #0] + c168: 4298 cmp r0, r3 else sh_ups_buf[i] = sh_ups_buf[i] / sw; - c712: bf1c itt ne - c714: fb93 f3f6 sdivne r3, r3, r6 - c718: 8013 strhne r3, [r2, #0] + c16a: bf1c itt ne + c16c: fb93 f3f6 sdivne r3, r3, r6 + c170: 8013 strhne r3, [r2, #0] for(i = 1; i < (uint32_t)size * size; i++) { - c71a: 3101 adds r1, #1 - c71c: 42a9 cmp r1, r5 - c71e: d3f3 bcc.n c708 + c172: 3101 adds r1, #1 + c174: 42a9 cmp r1, r5 + c176: d3f3 bcc.n c160 } for(x = 0; x < size; x++) { - c720: 9b06 ldr r3, [sp, #24] - c722: 2b00 cmp r3, #0 - c724: dd59 ble.n c7da - c726: 9e07 ldr r6, [sp, #28] - c728: 9602 str r6, [sp, #8] - c72a: 9908 ldr r1, [sp, #32] - c72c: fb01 7207 mla r2, r1, r7, r7 - c730: ea6f 030b mvn.w r3, fp - c734: 1a5b subs r3, r3, r1 - c736: 9d06 ldr r5, [sp, #24] - c738: fb05 f303 mul.w r3, r5, r3 - c73c: 9306 str r3, [sp, #24] + c178: 9b06 ldr r3, [sp, #24] + c17a: 2b00 cmp r3, #0 + c17c: dd59 ble.n c232 + c17e: 9e07 ldr r6, [sp, #28] + c180: 9602 str r6, [sp, #8] + c182: 9908 ldr r1, [sp, #32] + c184: fb01 7207 mla r2, r1, r7, r7 + c188: ea6f 030b mvn.w r3, fp + c18c: 1a5b subs r3, r3, r1 + c18e: 9d06 ldr r5, [sp, #24] + c190: fb05 f303 mul.w r3, r5, r3 + c194: 9306 str r3, [sp, #24] v -= top_val; /*Add the bottom pixel*/ uint32_t bottom_val; if(y + s_left + 1 < size) bottom_val = sh_ups_buf[(y + s_left + 1) * size + x]; else bottom_val = sh_ups_buf[(size - 1) * size + x]; - c73e: 1e6b subs r3, r5, #1 - c740: fb05 f303 mul.w r3, r5, r3 - c744: eb06 0343 add.w r3, r6, r3, lsl #1 - c748: 9307 str r3, [sp, #28] - c74a: f04f 0a00 mov.w sl, #0 - c74e: 1e93 subs r3, r2, #2 - c750: 9308 str r3, [sp, #32] + c196: 1e6b subs r3, r5, #1 + c198: fb05 f303 mul.w r3, r5, r3 + c19c: eb06 0343 add.w r3, r6, r3, lsl #1 + c1a0: 9307 str r3, [sp, #28] + c1a2: f04f 0a00 mov.w sl, #0 + c1a6: 1e93 subs r3, r2, #2 + c1a8: 9308 str r3, [sp, #32] if(y + s_left + 1 < size) bottom_val = sh_ups_buf[(y + s_left + 1) * size + x]; - c752: f101 0901 add.w r9, r1, #1 + c1aa: f101 0901 add.w r9, r1, #1 sh_ups_tmp_buf = &sh_ups_buf[x]; - c756: 9b02 ldr r3, [sp, #8] - c758: 461e mov r6, r3 - c75a: 3302 adds r3, #2 - c75c: 461a mov r2, r3 - c75e: 9302 str r3, [sp, #8] + c1ae: 9b02 ldr r3, [sp, #8] + c1b0: 461e mov r6, r3 + c1b2: 3302 adds r3, #2 + c1b4: 461a mov r2, r3 + c1b6: 9302 str r3, [sp, #8] int32_t v = sh_ups_tmp_buf[0] * sw; - c760: 8833 ldrh r3, [r6, #0] - c762: 9901 ldr r1, [sp, #4] - c764: fb01 f303 mul.w r3, r1, r3 - c768: 9908 ldr r1, [sp, #32] - c76a: 188d adds r5, r1, r2 - c76c: 9a05 ldr r2, [sp, #20] - c76e: f1a2 0c02 sub.w ip, r2, #2 - c772: 46e0 mov r8, ip - c774: 46b6 mov lr, r6 - c776: 2200 movs r2, #0 - c778: f8cd c00c str.w ip, [sp, #12] - c77c: 9604 str r6, [sp, #16] - c77e: 9e06 ldr r6, [sp, #24] - c780: f8dd c01c ldr.w ip, [sp, #28] + c1b8: 8833 ldrh r3, [r6, #0] + c1ba: 9901 ldr r1, [sp, #4] + c1bc: fb01 f303 mul.w r3, r1, r3 + c1c0: 9908 ldr r1, [sp, #32] + c1c2: 188d adds r5, r1, r2 + c1c4: 9a05 ldr r2, [sp, #20] + c1c6: f1a2 0c02 sub.w ip, r2, #2 + c1ca: 46e0 mov r8, ip + c1cc: 46b6 mov lr, r6 + c1ce: 2200 movs r2, #0 + c1d0: f8cd c00c str.w ip, [sp, #12] + c1d4: 9604 str r6, [sp, #16] + c1d6: 9e06 ldr r6, [sp, #24] + c1d8: f8dd c01c ldr.w ip, [sp, #28] sh_ups_blur_buf[y] = v < 0 ? 0 : (v >> SHADOW_UPSACALE_SHIFT); - c784: 2b00 cmp r3, #0 - c786: bfac ite ge - c788: 1199 asrge r1, r3, #6 - c78a: 2100 movlt r1, #0 - c78c: f828 1f02 strh.w r1, [r8, #2]! - c790: 4611 mov r1, r2 + c1dc: 2b00 cmp r3, #0 + c1de: bfac ite ge + c1e0: 1199 asrge r1, r3, #6 + c1e2: 2100 movlt r1, #0 + c1e4: f828 1f02 strh.w r1, [r8, #2]! + c1e8: 4611 mov r1, r2 if(y - s_right <= 0) top_val = sh_ups_tmp_buf[0]; - c792: eba2 000b sub.w r0, r2, fp - c796: 2800 cmp r0, #0 - c798: bfd4 ite le - c79a: f8be 0000 ldrhle.w r0, [lr] + c1ea: eba2 000b sub.w r0, r2, fp + c1ee: 2800 cmp r0, #0 + c1f0: bfd4 ite le + c1f2: f8be 0000 ldrhle.w r0, [lr] else top_val = sh_ups_buf[(y - s_right) * size + x]; - c79e: f835 0016 ldrhgt.w r0, [r5, r6, lsl #1] + c1f6: f835 0016 ldrhgt.w r0, [r5, r6, lsl #1] v -= top_val; - c7a2: 1a1b subs r3, r3, r0 + c1fa: 1a1b subs r3, r3, r0 if(y + s_left + 1 < size) bottom_val = sh_ups_buf[(y + s_left + 1) * size + x]; - c7a4: 4449 add r1, r9 - c7a6: 428c cmp r4, r1 - c7a8: bfcc ite gt - c7aa: 8829 ldrhgt r1, [r5, #0] + c1fc: 4449 add r1, r9 + c1fe: 428c cmp r4, r1 + c200: bfcc ite gt + c202: 8829 ldrhgt r1, [r5, #0] else bottom_val = sh_ups_buf[(size - 1) * size + x]; - c7ac: f83c 101a ldrhle.w r1, [ip, sl, lsl #1] + c204: f83c 101a ldrhle.w r1, [ip, sl, lsl #1] v += bottom_val; - c7b0: 440b add r3, r1 + c208: 440b add r3, r1 for(y = 0; y < size ; y++, sh_ups_tmp_buf += size) { - c7b2: 3201 adds r2, #1 - c7b4: 44be add lr, r7 - c7b6: 443d add r5, r7 - c7b8: 42a2 cmp r2, r4 - c7ba: dbe3 blt.n c784 - c7bc: f8dd c00c ldr.w ip, [sp, #12] - c7c0: 9e04 ldr r6, [sp, #16] - c7c2: 2300 movs r3, #0 + c20a: 3201 adds r2, #1 + c20c: 44be add lr, r7 + c20e: 443d add r5, r7 + c210: 42a2 cmp r2, r4 + c212: dbe3 blt.n c1dc + c214: f8dd c00c ldr.w ip, [sp, #12] + c218: 9e04 ldr r6, [sp, #16] + c21a: 2300 movs r3, #0 } /*Write back the result into `sh_ups_buf`*/ sh_ups_tmp_buf = &sh_ups_buf[x]; for(y = 0; y < size; y++, sh_ups_tmp_buf += size) { (*sh_ups_tmp_buf) = sh_ups_blur_buf[y]; - c7c4: f83c 2f02 ldrh.w r2, [ip, #2]! - c7c8: 8032 strh r2, [r6, #0] + c21c: f83c 2f02 ldrh.w r2, [ip, #2]! + c220: 8032 strh r2, [r6, #0] for(y = 0; y < size; y++, sh_ups_tmp_buf += size) { - c7ca: 3301 adds r3, #1 - c7cc: 443e add r6, r7 - c7ce: 42a3 cmp r3, r4 - c7d0: dbf8 blt.n c7c4 + c222: 3301 adds r3, #1 + c224: 443e add r6, r7 + c226: 42a3 cmp r3, r4 + c228: dbf8 blt.n c21c for(x = 0; x < size; x++) { - c7d2: f10a 0a01 add.w sl, sl, #1 - c7d6: 45a2 cmp sl, r4 - c7d8: dbbd blt.n c756 + c22a: f10a 0a01 add.w sl, sl, #1 + c22e: 45a2 cmp sl, r4 + c230: dbbd blt.n c1ae } } _lv_mem_buf_release(sh_ups_blur_buf); - c7da: 9805 ldr r0, [sp, #20] - c7dc: 4b0b ldr r3, [pc, #44] ; (c80c ) - c7de: 4798 blx r3 + c232: 9805 ldr r0, [sp, #20] + c234: 4b0b ldr r3, [pc, #44] ; (c264 ) + c236: 4798 blx r3 } - c7e0: b00b add sp, #44 ; 0x2c - c7e2: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + c238: b00b add sp, #44 ; 0x2c + c23a: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} sh_ups_buf[0] = sh_ups_buf[0] / sw; - c7e6: f8cd 9004 str.w r9, [sp, #4] - c7ea: 9a07 ldr r2, [sp, #28] - c7ec: 8813 ldrh r3, [r2, #0] - c7ee: fb93 f9f9 sdiv r9, r3, r9 - c7f2: f8a2 9000 strh.w r9, [r2] + c23e: f8cd 9004 str.w r9, [sp, #4] + c242: 9a07 ldr r2, [sp, #28] + c244: 8813 ldrh r3, [r2, #0] + c246: fb93 f9f9 sdiv r9, r3, r9 + c24a: f8a2 9000 strh.w r9, [r2] for(i = 1; i < (uint32_t)size * size; i++) { - c7f6: 9b06 ldr r3, [sp, #24] - c7f8: fb03 f503 mul.w r5, r3, r3 - c7fc: 2d01 cmp r5, #1 - c7fe: d880 bhi.n c702 - c800: e7eb b.n c7da - c802: bf00 nop - c804: 00012ee5 .word 0x00012ee5 - c808: 00012bfd .word 0x00012bfd - c80c: 00012b19 .word 0x00012b19 - -0000c810 : -{ - c810: b510 push {r4, lr} - c812: 4604 mov r4, r0 + c24e: 9b06 ldr r3, [sp, #24] + c250: fb03 f503 mul.w r5, r3, r3 + c254: 2d01 cmp r5, #1 + c256: d880 bhi.n c15a + c258: e7eb b.n c232 + c25a: bf00 nop + c25c: 0001293d .word 0x0001293d + c260: 00012655 .word 0x00012655 + c264: 00012571 .word 0x00012571 + +0000c268 : +{ + c268: b510 push {r4, lr} + c26a: 4604 mov r4, r0 _lv_memset_00(dsc, sizeof(lv_draw_rect_dsc_t)); - c814: 2154 movs r1, #84 ; 0x54 - c816: 4b2d ldr r3, [pc, #180] ; (c8cc ) - c818: 4798 blx r3 + c26c: 2154 movs r1, #84 ; 0x54 + c26e: 4b2d ldr r3, [pc, #180] ; (c324 ) + c270: 4798 blx r3 dsc->bg_color = LV_COLOR_WHITE; - c81a: 4b2d ldr r3, [pc, #180] ; (c8d0 ) - c81c: 881b ldrh r3, [r3, #0] - c81e: 8063 strh r3, [r4, #2] + c272: 4b2d ldr r3, [pc, #180] ; (c328 ) + c274: 881b ldrh r3, [r3, #0] + c276: 8063 strh r3, [r4, #2] dsc->bg_grad_color = LV_COLOR_BLACK; - c820: 7923 ldrb r3, [r4, #4] - c822: f36f 0304 bfc r3, #0, #5 - c826: 7123 strb r3, [r4, #4] - c828: 88a3 ldrh r3, [r4, #4] - c82a: f36f 134a bfc r3, #5, #6 - c82e: 80a3 strh r3, [r4, #4] - c830: 0a1b lsrs r3, r3, #8 - c832: f36f 03c7 bfc r3, #3, #5 - c836: 7163 strb r3, [r4, #5] + c278: 7923 ldrb r3, [r4, #4] + c27a: f36f 0304 bfc r3, #0, #5 + c27e: 7123 strb r3, [r4, #4] + c280: 88a3 ldrh r3, [r4, #4] + c282: f36f 134a bfc r3, #5, #6 + c286: 80a3 strh r3, [r4, #4] + c288: 0a1b lsrs r3, r3, #8 + c28a: f36f 03c7 bfc r3, #3, #5 + c28e: 7163 strb r3, [r4, #5] dsc->border_color = LV_COLOR_BLACK; - c838: 7ba3 ldrb r3, [r4, #14] - c83a: f36f 0304 bfc r3, #0, #5 - c83e: 73a3 strb r3, [r4, #14] - c840: 89e3 ldrh r3, [r4, #14] - c842: f36f 134a bfc r3, #5, #6 - c846: 81e3 strh r3, [r4, #14] - c848: 0a1b lsrs r3, r3, #8 - c84a: f36f 03c7 bfc r3, #3, #5 - c84e: 73e3 strb r3, [r4, #15] + c290: 7ba3 ldrb r3, [r4, #14] + c292: f36f 0304 bfc r3, #0, #5 + c296: 73a3 strb r3, [r4, #14] + c298: 89e3 ldrh r3, [r4, #14] + c29a: f36f 134a bfc r3, #5, #6 + c29e: 81e3 strh r3, [r4, #14] + c2a0: 0a1b lsrs r3, r3, #8 + c2a2: f36f 03c7 bfc r3, #3, #5 + c2a6: 73e3 strb r3, [r4, #15] dsc->pattern_recolor = LV_COLOR_BLACK; - c850: f894 3034 ldrb.w r3, [r4, #52] ; 0x34 - c854: f36f 0304 bfc r3, #0, #5 - c858: f884 3034 strb.w r3, [r4, #52] ; 0x34 - c85c: 8ea3 ldrh r3, [r4, #52] ; 0x34 - c85e: f36f 134a bfc r3, #5, #6 - c862: 86a3 strh r3, [r4, #52] ; 0x34 - c864: 0a1b lsrs r3, r3, #8 - c866: f36f 03c7 bfc r3, #3, #5 - c86a: f884 3035 strb.w r3, [r4, #53] ; 0x35 + c2a8: f894 3034 ldrb.w r3, [r4, #52] ; 0x34 + c2ac: f36f 0304 bfc r3, #0, #5 + c2b0: f884 3034 strb.w r3, [r4, #52] ; 0x34 + c2b4: 8ea3 ldrh r3, [r4, #52] ; 0x34 + c2b6: f36f 134a bfc r3, #5, #6 + c2ba: 86a3 strh r3, [r4, #52] ; 0x34 + c2bc: 0a1b lsrs r3, r3, #8 + c2be: f36f 03c7 bfc r3, #3, #5 + c2c2: f884 3035 strb.w r3, [r4, #53] ; 0x35 dsc->value_color = LV_COLOR_BLACK; - c86e: f894 3046 ldrb.w r3, [r4, #70] ; 0x46 - c872: f36f 0304 bfc r3, #0, #5 - c876: f884 3046 strb.w r3, [r4, #70] ; 0x46 - c87a: f8b4 3046 ldrh.w r3, [r4, #70] ; 0x46 - c87e: f36f 134a bfc r3, #5, #6 - c882: f8a4 3046 strh.w r3, [r4, #70] ; 0x46 - c886: 0a1b lsrs r3, r3, #8 - c888: f36f 03c7 bfc r3, #3, #5 - c88c: f884 3047 strb.w r3, [r4, #71] ; 0x47 + c2c6: f894 3046 ldrb.w r3, [r4, #70] ; 0x46 + c2ca: f36f 0304 bfc r3, #0, #5 + c2ce: f884 3046 strb.w r3, [r4, #70] ; 0x46 + c2d2: f8b4 3046 ldrh.w r3, [r4, #70] ; 0x46 + c2d6: f36f 134a bfc r3, #5, #6 + c2da: f8a4 3046 strh.w r3, [r4, #70] ; 0x46 + c2de: 0a1b lsrs r3, r3, #8 + c2e0: f36f 03c7 bfc r3, #3, #5 + c2e4: f884 3047 strb.w r3, [r4, #71] ; 0x47 dsc->shadow_color = LV_COLOR_BLACK; - c890: 7fa3 ldrb r3, [r4, #30] - c892: f36f 0304 bfc r3, #0, #5 - c896: 77a3 strb r3, [r4, #30] - c898: 8be3 ldrh r3, [r4, #30] - c89a: f36f 134a bfc r3, #5, #6 - c89e: 83e3 strh r3, [r4, #30] - c8a0: 0a1b lsrs r3, r3, #8 - c8a2: f36f 03c7 bfc r3, #3, #5 - c8a6: 77e3 strb r3, [r4, #31] + c2e8: 7fa3 ldrb r3, [r4, #30] + c2ea: f36f 0304 bfc r3, #0, #5 + c2ee: 77a3 strb r3, [r4, #30] + c2f0: 8be3 ldrh r3, [r4, #30] + c2f2: f36f 134a bfc r3, #5, #6 + c2f6: 83e3 strh r3, [r4, #30] + c2f8: 0a1b lsrs r3, r3, #8 + c2fa: f36f 03c7 bfc r3, #3, #5 + c2fe: 77e3 strb r3, [r4, #31] dsc->bg_grad_color_stop = 0xFF; - c8a8: 23ff movs r3, #255 ; 0xff - c8aa: 8163 strh r3, [r4, #10] + c300: 23ff movs r3, #255 ; 0xff + c302: 8163 strh r3, [r4, #10] dsc->bg_opa = LV_OPA_COVER; - c8ac: 7323 strb r3, [r4, #12] + c304: 7323 strb r3, [r4, #12] dsc->outline_opa = LV_OPA_COVER; - c8ae: 7723 strb r3, [r4, #28] + c306: 7723 strb r3, [r4, #28] dsc->border_opa = LV_OPA_COVER; - c8b0: 7523 strb r3, [r4, #20] + c308: 7523 strb r3, [r4, #20] dsc->pattern_opa = LV_OPA_COVER; - c8b2: f884 3036 strb.w r3, [r4, #54] ; 0x36 + c30a: f884 3036 strb.w r3, [r4, #54] ; 0x36 dsc->pattern_font = LV_THEME_DEFAULT_FONT_NORMAL; - c8b6: 4a07 ldr r2, [pc, #28] ; (c8d4 ) - c8b8: 6322 str r2, [r4, #48] ; 0x30 + c30e: 4a07 ldr r2, [pc, #28] ; (c32c ) + c310: 6322 str r2, [r4, #48] ; 0x30 dsc->value_opa = LV_OPA_COVER; - c8ba: f884 3044 strb.w r3, [r4, #68] ; 0x44 + c312: f884 3044 strb.w r3, [r4, #68] ; 0x44 dsc->value_font = LV_THEME_DEFAULT_FONT_NORMAL; - c8be: 6422 str r2, [r4, #64] ; 0x40 + c316: 6422 str r2, [r4, #64] ; 0x40 dsc->shadow_opa = LV_OPA_COVER; - c8c0: f884 3028 strb.w r3, [r4, #40] ; 0x28 + c318: f884 3028 strb.w r3, [r4, #40] ; 0x28 dsc->border_side = LV_BORDER_SIDE_FULL; - c8c4: 230f movs r3, #15 - c8c6: 8263 strh r3, [r4, #18] - c8c8: bd10 pop {r4, pc} - c8ca: bf00 nop - c8cc: 000130df .word 0x000130df - c8d0: 0001c560 .word 0x0001c560 - c8d4: 20000010 .word 0x20000010 - -0000c8d8 : -{ - c8d8: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - c8dc: b0b1 sub sp, #196 ; 0xc4 + c31c: 230f movs r3, #15 + c31e: 8263 strh r3, [r4, #18] + c320: bd10 pop {r4, pc} + c322: bf00 nop + c324: 00012b37 .word 0x00012b37 + c328: 0002507c .word 0x0002507c + c32c: 20000010 .word 0x20000010 + +0000c330 : +{ + c330: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + c334: b0b1 sub sp, #196 ; 0xc4 * @param area_p pointer to an area * @return the height of the area (if y1 == y2 -> height = 1) */ static inline lv_coord_t lv_area_get_height(const lv_area_t * area_p) { return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - c8de: 88c4 ldrh r4, [r0, #6] - c8e0: 8845 ldrh r5, [r0, #2] - c8e2: 1c63 adds r3, r4, #1 - c8e4: 1b5b subs r3, r3, r5 + c336: 88c4 ldrh r4, [r0, #6] + c338: 8845 ldrh r5, [r0, #2] + c33a: 1c63 adds r3, r4, #1 + c33c: 1b5b subs r3, r3, r5 if(lv_area_get_height(coords) < 1 || lv_area_get_width(coords) < 1) return; - c8e6: b21b sxth r3, r3 - c8e8: 2b00 cmp r3, #0 - c8ea: f341 800f ble.w d90c + c33e: b21b sxth r3, r3 + c340: 2b00 cmp r3, #0 + c342: f341 800f ble.w d364 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - c8ee: 8886 ldrh r6, [r0, #4] - c8f0: f8b0 8000 ldrh.w r8, [r0] - c8f4: 1c73 adds r3, r6, #1 - c8f6: eba3 0308 sub.w r3, r3, r8 - c8fa: b21b sxth r3, r3 - c8fc: 2b00 cmp r3, #0 - c8fe: f341 8005 ble.w d90c - c902: 4692 mov sl, r2 - c904: 9104 str r1, [sp, #16] - c906: 9006 str r0, [sp, #24] + c346: 8886 ldrh r6, [r0, #4] + c348: f8b0 8000 ldrh.w r8, [r0] + c34c: 1c73 adds r3, r6, #1 + c34e: eba3 0308 sub.w r3, r3, r8 + c352: b21b sxth r3, r3 + c354: 2b00 cmp r3, #0 + c356: f341 8005 ble.w d364 + c35a: 4692 mov sl, r2 + c35c: 9104 str r1, [sp, #16] + c35e: 9006 str r0, [sp, #24] if(dsc->shadow_width == 0) return; - c908: f9b2 7020 ldrsh.w r7, [r2, #32] - c90c: 2f00 cmp r7, #0 - c90e: f000 8719 beq.w d744 + c360: f9b2 7020 ldrsh.w r7, [r2, #32] + c364: 2f00 cmp r7, #0 + c366: f000 8719 beq.w d19c if(dsc->shadow_opa <= LV_OPA_MIN) return; - c912: f892 3028 ldrb.w r3, [r2, #40] ; 0x28 - c916: 9309 str r3, [sp, #36] ; 0x24 - c918: 2b05 cmp r3, #5 - c91a: f240 8713 bls.w d744 + c36a: f892 3028 ldrb.w r3, [r2, #40] ; 0x28 + c36e: 9309 str r3, [sp, #36] ; 0x24 + c370: 2b05 cmp r3, #5 + c372: f240 8713 bls.w d19c if(dsc->shadow_width == 1 && dsc->shadow_ofs_x == 0 && - c91e: 6a13 ldr r3, [r2, #32] - c920: 2b01 cmp r3, #1 - c922: f000 80f6 beq.w cb12 + c376: 6a13 ldr r3, [r2, #32] + c378: 2b01 cmp r3, #1 + c37a: f000 80f6 beq.w c56a sh_rect_area.x1 = coords->x1 + dsc->shadow_ofs_x - dsc->shadow_spread; - c926: f8ba 2022 ldrh.w r2, [sl, #34] ; 0x22 - c92a: f8ba 3026 ldrh.w r3, [sl, #38] ; 0x26 - c92e: 1ad1 subs r1, r2, r3 - c930: 4488 add r8, r1 - c932: fa1f f888 uxth.w r8, r8 - c936: f8ad 8050 strh.w r8, [sp, #80] ; 0x50 + c37e: f8ba 2022 ldrh.w r2, [sl, #34] ; 0x22 + c382: f8ba 3026 ldrh.w r3, [sl, #38] ; 0x26 + c386: 1ad1 subs r1, r2, r3 + c388: 4488 add r8, r1 + c38a: fa1f f888 uxth.w r8, r8 + c38e: f8ad 8050 strh.w r8, [sp, #80] ; 0x50 sh_rect_area.x2 = coords->x2 + dsc->shadow_ofs_x + dsc->shadow_spread; - c93a: 441a add r2, r3 - c93c: 4416 add r6, r2 - c93e: b2b6 uxth r6, r6 - c940: f8ad 6054 strh.w r6, [sp, #84] ; 0x54 + c392: 441a add r2, r3 + c394: 4416 add r6, r2 + c396: b2b6 uxth r6, r6 + c398: f8ad 6054 strh.w r6, [sp, #84] ; 0x54 sh_rect_area.y1 = coords->y1 + dsc->shadow_ofs_y - dsc->shadow_spread; - c944: f8ba 2024 ldrh.w r2, [sl, #36] ; 0x24 - c948: 1ad1 subs r1, r2, r3 - c94a: 440d add r5, r1 - c94c: b2ad uxth r5, r5 - c94e: f8ad 5052 strh.w r5, [sp, #82] ; 0x52 + c39c: f8ba 2024 ldrh.w r2, [sl, #36] ; 0x24 + c3a0: 1ad1 subs r1, r2, r3 + c3a2: 440d add r5, r1 + c3a4: b2ad uxth r5, r5 + c3a6: f8ad 5052 strh.w r5, [sp, #82] ; 0x52 sh_rect_area.y2 = coords->y2 + dsc->shadow_ofs_y + dsc->shadow_spread; - c952: 4413 add r3, r2 - c954: 441c add r4, r3 - c956: b2a4 uxth r4, r4 - c958: f8ad 4056 strh.w r4, [sp, #86] ; 0x56 + c3aa: 4413 add r3, r2 + c3ac: 441c add r4, r3 + c3ae: b2a4 uxth r4, r4 + c3b0: f8ad 4056 strh.w r4, [sp, #86] ; 0x56 sh_area.x1 = sh_rect_area.x1 - sw / 2 - 1; - c95c: eb07 73d7 add.w r3, r7, r7, lsr #31 - c960: ea6f 0263 mvn.w r2, r3, asr #1 - c964: b292 uxth r2, r2 - c966: eb08 0102 add.w r1, r8, r2 - c96a: f8ad 1058 strh.w r1, [sp, #88] ; 0x58 + c3b4: eb07 73d7 add.w r3, r7, r7, lsr #31 + c3b8: ea6f 0263 mvn.w r2, r3, asr #1 + c3bc: b292 uxth r2, r2 + c3be: eb08 0102 add.w r1, r8, r2 + c3c2: f8ad 1058 strh.w r1, [sp, #88] ; 0x58 sh_area.x2 = sh_rect_area.x2 + sw / 2 + 1; - c96e: 105b asrs r3, r3, #1 - c970: 3301 adds r3, #1 - c972: b29b uxth r3, r3 - c974: 18f1 adds r1, r6, r3 - c976: f8ad 105c strh.w r1, [sp, #92] ; 0x5c + c3c6: 105b asrs r3, r3, #1 + c3c8: 3301 adds r3, #1 + c3ca: b29b uxth r3, r3 + c3cc: 18f1 adds r1, r6, r3 + c3ce: f8ad 105c strh.w r1, [sp, #92] ; 0x5c sh_area.y1 = sh_rect_area.y1 - sw / 2 - 1; - c97a: 442a add r2, r5 - c97c: f8ad 205a strh.w r2, [sp, #90] ; 0x5a + c3d2: 442a add r2, r5 + c3d4: f8ad 205a strh.w r2, [sp, #90] ; 0x5a sh_area.y2 = sh_rect_area.y2 + sw / 2 + 1; - c980: 4423 add r3, r4 - c982: f8ad 305e strh.w r3, [sp, #94] ; 0x5e + c3d8: 4423 add r3, r4 + c3da: f8ad 305e strh.w r3, [sp, #94] ; 0x5e if(opa > LV_OPA_MAX) opa = LV_OPA_COVER; - c986: 9b09 ldr r3, [sp, #36] ; 0x24 - c988: 2bfb cmp r3, #251 ; 0xfb - c98a: bf28 it cs - c98c: 23ff movcs r3, #255 ; 0xff - c98e: 9309 str r3, [sp, #36] ; 0x24 + c3de: 9b09 ldr r3, [sp, #36] ; 0x24 + c3e0: 2bfb cmp r3, #251 ; 0xfb + c3e2: bf28 it cs + c3e4: 23ff movcs r3, #255 ; 0xff + c3e6: 9309 str r3, [sp, #36] ; 0x24 lv_disp_t * disp = _lv_refr_get_disp_refreshing(); - c990: 4bbe ldr r3, [pc, #760] ; (cc8c ) - c992: 4798 blx r3 + c3e8: 4bbe ldr r3, [pc, #760] ; (c6e4 ) + c3ea: 4798 blx r3 lv_disp_buf_t * vdb = lv_disp_get_buf(disp); - c994: 4bbe ldr r3, [pc, #760] ; (cc90 ) - c996: 4798 blx r3 - c998: 4681 mov r9, r0 + c3ec: 4bbe ldr r3, [pc, #760] ; (c6e8 ) + c3ee: 4798 blx r3 + c3f0: 4681 mov r9, r0 is_common = _lv_area_intersect(&draw_area, &sh_area, clip); - c99a: 9a04 ldr r2, [sp, #16] - c99c: a916 add r1, sp, #88 ; 0x58 - c99e: a818 add r0, sp, #96 ; 0x60 - c9a0: 4bbc ldr r3, [pc, #752] ; (cc94 ) - c9a2: 4798 blx r3 + c3f2: 9a04 ldr r2, [sp, #16] + c3f4: a916 add r1, sp, #88 ; 0x58 + c3f6: a818 add r0, sp, #96 ; 0x60 + c3f8: 4bbc ldr r3, [pc, #752] ; (c6ec ) + c3fa: 4798 blx r3 if(is_common == false) return; - c9a4: 2800 cmp r0, #0 - c9a6: f000 86cd beq.w d744 + c3fc: 2800 cmp r0, #0 + c3fe: f000 86cd beq.w d19c draw_area.x1 -= disp_area->x1; - c9aa: f8b9 1010 ldrh.w r1, [r9, #16] - c9ae: f8bd 3060 ldrh.w r3, [sp, #96] ; 0x60 - c9b2: 1a5b subs r3, r3, r1 - c9b4: f8ad 3060 strh.w r3, [sp, #96] ; 0x60 + c402: f8b9 1010 ldrh.w r1, [r9, #16] + c406: f8bd 3060 ldrh.w r3, [sp, #96] ; 0x60 + c40a: 1a5b subs r3, r3, r1 + c40c: f8ad 3060 strh.w r3, [sp, #96] ; 0x60 draw_area.y1 -= disp_area->y1; - c9b8: f8b9 2012 ldrh.w r2, [r9, #18] - c9bc: f8bd 3062 ldrh.w r3, [sp, #98] ; 0x62 - c9c0: 1a9b subs r3, r3, r2 - c9c2: f8ad 3062 strh.w r3, [sp, #98] ; 0x62 + c410: f8b9 2012 ldrh.w r2, [r9, #18] + c414: f8bd 3062 ldrh.w r3, [sp, #98] ; 0x62 + c418: 1a9b subs r3, r3, r2 + c41a: f8ad 3062 strh.w r3, [sp, #98] ; 0x62 draw_area.x2 -= disp_area->x1; - c9c6: f8bd 3064 ldrh.w r3, [sp, #100] ; 0x64 - c9ca: 1a5b subs r3, r3, r1 - c9cc: f8ad 3064 strh.w r3, [sp, #100] ; 0x64 + c41e: f8bd 3064 ldrh.w r3, [sp, #100] ; 0x64 + c422: 1a5b subs r3, r3, r1 + c424: f8ad 3064 strh.w r3, [sp, #100] ; 0x64 draw_area.y2 -= disp_area->y1; - c9d0: f8bd 3066 ldrh.w r3, [sp, #102] ; 0x66 - c9d4: 1a9b subs r3, r3, r2 - c9d6: f8ad 3066 strh.w r3, [sp, #102] ; 0x66 - c9da: 9a06 ldr r2, [sp, #24] - c9dc: 1e53 subs r3, r2, #1 - c9de: 1dd0 adds r0, r2, #7 + c428: f8bd 3066 ldrh.w r3, [sp, #102] ; 0x66 + c42c: 1a9b subs r3, r3, r2 + c42e: f8ad 3066 strh.w r3, [sp, #102] ; 0x66 + c432: 9a06 ldr r2, [sp, #24] + c434: 1e53 subs r3, r2, #1 + c436: 1dd0 adds r0, r2, #7 * @param src pointer to the source buffer * @param len number of byte to copy */ LV_ATTRIBUTE_FAST_MEM static inline void * _lv_memcpy_small(void * dst, const void * src, size_t len) { uint8_t * d8 = (uint8_t *)dst; - c9e0: aa1a add r2, sp, #104 ; 0x68 + c438: aa1a add r2, sp, #104 ; 0x68 const uint8_t * s8 = (const uint8_t *)src; while(len) { *d8 = *s8; - c9e2: f813 1f01 ldrb.w r1, [r3, #1]! - c9e6: f802 1b01 strb.w r1, [r2], #1 + c43a: f813 1f01 ldrb.w r1, [r3, #1]! + c43e: f802 1b01 strb.w r1, [r2], #1 while(len) { - c9ea: 4298 cmp r0, r3 - c9ec: d1f9 bne.n c9e2 + c442: 4298 cmp r0, r3 + c444: d1f9 bne.n c43a bg_coords.x1 += 1; - c9ee: f8bd 3068 ldrh.w r3, [sp, #104] ; 0x68 - c9f2: 3301 adds r3, #1 - c9f4: fa1f fe83 uxth.w lr, r3 - c9f8: f8ad e068 strh.w lr, [sp, #104] ; 0x68 + c446: f8bd 3068 ldrh.w r3, [sp, #104] ; 0x68 + c44a: 3301 adds r3, #1 + c44c: fa1f fe83 uxth.w lr, r3 + c450: f8ad e068 strh.w lr, [sp, #104] ; 0x68 bg_coords.y1 += 1; - c9fc: f8bd 106a ldrh.w r1, [sp, #106] ; 0x6a - ca00: 3101 adds r1, #1 - ca02: b288 uxth r0, r1 - ca04: f8ad 006a strh.w r0, [sp, #106] ; 0x6a + c454: f8bd 106a ldrh.w r1, [sp, #106] ; 0x6a + c458: 3101 adds r1, #1 + c45a: b288 uxth r0, r1 + c45c: f8ad 006a strh.w r0, [sp, #106] ; 0x6a bg_coords.x2 -= 1; - ca08: f8bd 306c ldrh.w r3, [sp, #108] ; 0x6c - ca0c: 1e5a subs r2, r3, #1 - ca0e: f8ad 206c strh.w r2, [sp, #108] ; 0x6c + c460: f8bd 306c ldrh.w r3, [sp, #108] ; 0x6c + c464: 1e5a subs r2, r3, #1 + c466: f8ad 206c strh.w r2, [sp, #108] ; 0x6c bg_coords.y2 -= 1; - ca12: f8bd 106e ldrh.w r1, [sp, #110] ; 0x6e - ca16: 1e4a subs r2, r1, #1 - ca18: f8ad 206e strh.w r2, [sp, #110] ; 0x6e + c46a: f8bd 106e ldrh.w r1, [sp, #110] ; 0x6e + c46e: 1e4a subs r2, r1, #1 + c470: f8ad 206e strh.w r2, [sp, #110] ; 0x6e int32_t r_bg = dsc->radius; - ca1c: f9ba 2000 ldrsh.w r2, [sl] - ca20: eba3 030e sub.w r3, r3, lr - ca24: b21b sxth r3, r3 + c474: f9ba 2000 ldrsh.w r2, [sl] + c478: eba3 030e sub.w r3, r3, lr + c47c: b21b sxth r3, r3 return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - ca26: 1a09 subs r1, r1, r0 - ca28: b209 sxth r1, r1 + c47e: 1a09 subs r1, r1, r0 + c480: b209 sxth r1, r1 int32_t short_side = LV_MATH_MIN(lv_area_get_width(&bg_coords), lv_area_get_height(&bg_coords)); - ca2a: 428b cmp r3, r1 - ca2c: bfa8 it ge - ca2e: 460b movge r3, r1 + c482: 428b cmp r3, r1 + c484: bfa8 it ge + c486: 460b movge r3, r1 if(r_bg > short_side >> 1) r_bg = short_side >> 1; - ca30: 105b asrs r3, r3, #1 - ca32: 4293 cmp r3, r2 - ca34: bfa8 it ge - ca36: 4613 movge r3, r2 - ca38: 930e str r3, [sp, #56] ; 0x38 + c488: 105b asrs r3, r3, #1 + c48a: 4293 cmp r3, r2 + c48c: bfa8 it ge + c48e: 4613 movge r3, r2 + c490: 930e str r3, [sp, #56] ; 0x38 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - ca3a: 3601 adds r6, #1 - ca3c: eba6 0608 sub.w r6, r6, r8 - ca40: b2b6 uxth r6, r6 - ca42: b233 sxth r3, r6 + c492: 3601 adds r6, #1 + c494: eba6 0608 sub.w r6, r6, r8 + c498: b2b6 uxth r6, r6 + c49a: b233 sxth r3, r6 return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - ca44: 3401 adds r4, #1 - ca46: 1b64 subs r4, r4, r5 - ca48: b2a4 uxth r4, r4 - ca4a: b225 sxth r5, r4 + c49c: 3401 adds r4, #1 + c49e: 1b64 subs r4, r4, r5 + c4a0: b2a4 uxth r4, r4 + c4a2: b225 sxth r5, r4 short_side = LV_MATH_MIN(lv_area_get_width(&sh_rect_area), lv_area_get_height(&sh_rect_area)); - ca4c: 429d cmp r5, r3 - ca4e: bfa8 it ge - ca50: 461d movge r5, r3 + c4a4: 429d cmp r5, r3 + c4a6: bfa8 it ge + c4a8: 461d movge r5, r3 if(r_sh > short_side >> 1) r_sh = short_side >> 1; - ca52: 106d asrs r5, r5, #1 - ca54: 4295 cmp r5, r2 - ca56: bfa8 it ge - ca58: 4615 movge r5, r2 + c4aa: 106d asrs r5, r5, #1 + c4ac: 4295 cmp r5, r2 + c4ae: bfa8 it ge + c4b0: 4615 movge r5, r2 int32_t corner_size = sw + r_sh; - ca5a: eb07 0905 add.w r9, r7, r5 + c4b2: eb07 0905 add.w r9, r7, r5 sh_buf = _lv_mem_buf_get(corner_size * corner_size * sizeof(uint16_t)); - ca5e: fb09 f009 mul.w r0, r9, r9 - ca62: 0040 lsls r0, r0, #1 - ca64: 4b8c ldr r3, [pc, #560] ; (cc98 ) - ca66: 4798 blx r3 - ca68: 900a str r0, [sp, #40] ; 0x28 + c4b6: fb09 f009 mul.w r0, r9, r9 + c4ba: 0040 lsls r0, r0, #1 + c4bc: 4b8c ldr r3, [pc, #560] ; (c6f0 ) + c4be: 4798 blx r3 + c4c0: 900a str r0, [sp, #40] ; 0x28 shadow_draw_corner_buf(&sh_rect_area, (uint16_t *)sh_buf, dsc->shadow_width, r_sh); - ca6a: f9ba b020 ldrsh.w fp, [sl, #32] - ca6e: b22a sxth r2, r5 + c4c2: f9ba b020 ldrsh.w fp, [sl, #32] + c4c6: b22a sxth r2, r5 int32_t size = sw_ori + r; - ca70: eb02 070b add.w r7, r2, fp - ca74: f10d 014f add.w r1, sp, #79 ; 0x4f + c4c8: eb02 070b add.w r7, r2, fp + c4cc: f10d 014f add.w r1, sp, #79 ; 0x4f uint8_t * d8 = (uint8_t *)dst; - ca78: ab22 add r3, sp, #136 ; 0x88 + c4d0: ab22 add r3, sp, #136 ; 0x88 while(len) { - ca7a: f10d 0e90 add.w lr, sp, #144 ; 0x90 + c4d2: f10d 0e90 add.w lr, sp, #144 ; 0x90 *d8 = *s8; - ca7e: f811 0f01 ldrb.w r0, [r1, #1]! - ca82: f803 0b01 strb.w r0, [r3], #1 + c4d6: f811 0f01 ldrb.w r0, [r1, #1]! + c4da: f803 0b01 strb.w r0, [r3], #1 while(len) { - ca86: 4573 cmp r3, lr - ca88: d1f9 bne.n ca7e + c4de: 4573 cmp r3, lr + c4e0: d1f9 bne.n c4d6 sh_area.x2 = sw / 2 + r - 1 - ((sw & 1) ? 0 : 1); - ca8a: eb0b 71db add.w r1, fp, fp, lsr #31 - ca8e: f3c1 014f ubfx r1, r1, #1, #16 - ca92: 1e4b subs r3, r1, #1 - ca94: f01b 0001 ands.w r0, fp, #1 - ca98: 9010 str r0, [sp, #64] ; 0x40 - ca9a: bf0c ite eq - ca9c: 2001 moveq r0, #1 - ca9e: 2000 movne r0, #0 - caa0: 1a1b subs r3, r3, r0 - caa2: 442b add r3, r5 - caa4: b29b uxth r3, r3 - caa6: f8ad 308c strh.w r3, [sp, #140] ; 0x8c + c4e2: eb0b 71db add.w r1, fp, fp, lsr #31 + c4e6: f3c1 014f ubfx r1, r1, #1, #16 + c4ea: 1e4b subs r3, r1, #1 + c4ec: f01b 0001 ands.w r0, fp, #1 + c4f0: 9010 str r0, [sp, #64] ; 0x40 + c4f2: bf0c ite eq + c4f4: 2001 moveq r0, #1 + c4f6: 2000 movne r0, #0 + c4f8: 1a1b subs r3, r3, r0 + c4fa: 442b add r3, r5 + c4fc: b29b uxth r3, r3 + c4fe: f8ad 308c strh.w r3, [sp, #140] ; 0x8c sh_area.y1 = sw / 2 + 1; - caaa: 3101 adds r1, #1 - caac: b289 uxth r1, r1 - caae: f8ad 108a strh.w r1, [sp, #138] ; 0x8a + c502: 3101 adds r1, #1 + c504: b289 uxth r1, r1 + c506: f8ad 108a strh.w r1, [sp, #138] ; 0x8a sh_area.x1 = sh_area.x2 - lv_area_get_width(coords); - cab2: 1b9b subs r3, r3, r6 - cab4: f8ad 3088 strh.w r3, [sp, #136] ; 0x88 + c50a: 1b9b subs r3, r3, r6 + c50c: f8ad 3088 strh.w r3, [sp, #136] ; 0x88 sh_area.y2 = sh_area.y1 + lv_area_get_height(coords); - cab8: 4421 add r1, r4 - caba: f8ad 108e strh.w r1, [sp, #142] ; 0x8e + c510: 4421 add r1, r4 + c512: f8ad 108e strh.w r1, [sp, #142] ; 0x8e lv_draw_mask_radius_init(&mask_param, &sh_area, r, false); - cabe: 2300 movs r3, #0 - cac0: a922 add r1, sp, #136 ; 0x88 - cac2: a829 add r0, sp, #164 ; 0xa4 - cac4: 4c75 ldr r4, [pc, #468] ; (cc9c ) - cac6: 47a0 blx r4 + c516: 2300 movs r3, #0 + c518: a922 add r1, sp, #136 ; 0x88 + c51a: a829 add r0, sp, #164 ; 0xa4 + c51c: 4c75 ldr r4, [pc, #468] ; (c6f4 ) + c51e: 47a0 blx r4 if(sw_ori == 1) sw = 1; - cac8: f1bb 0f01 cmp.w fp, #1 - cacc: f002 81d8 beq.w ee80 - cad0: ea4f 036b mov.w r3, fp, asr #1 - cad4: 930b str r3, [sp, #44] ; 0x2c + c520: f1bb 0f01 cmp.w fp, #1 + c524: f002 81d8 beq.w e8d8 + c528: ea4f 036b mov.w r3, fp, asr #1 + c52c: 930b str r3, [sp, #44] ; 0x2c lv_opa_t * mask_line = _lv_mem_buf_get(size); - cad6: 9707 str r7, [sp, #28] - cad8: 4638 mov r0, r7 - cada: 4b6f ldr r3, [pc, #444] ; (cc98 ) - cadc: 4798 blx r3 - cade: 900c str r0, [sp, #48] ; 0x30 + c52e: 9707 str r7, [sp, #28] + c530: 4638 mov r0, r7 + c532: 4b6f ldr r3, [pc, #444] ; (c6f0 ) + c534: 4798 blx r3 + c536: 900c str r0, [sp, #48] ; 0x30 for(y = 0; y < size; y++) { - cae0: 2f00 cmp r7, #0 - cae2: dd5c ble.n cb9e + c538: 2f00 cmp r7, #0 + c53a: dd5c ble.n c5f6 _lv_memset_00(sh_ups_tmp_buf, size * sizeof(sh_ups_tmp_buf[0])); - cae4: 9b07 ldr r3, [sp, #28] - cae6: ea4f 0b43 mov.w fp, r3, lsl #1 - caea: f107 4300 add.w r3, r7, #2147483648 ; 0x80000000 - caee: 3b01 subs r3, #1 - caf0: 005b lsls r3, r3, #1 - caf2: 9c0a ldr r4, [sp, #40] ; 0x28 - caf4: 2500 movs r5, #0 + c53c: 9b07 ldr r3, [sp, #28] + c53e: ea4f 0b43 mov.w fp, r3, lsl #1 + c542: f107 4300 add.w r3, r7, #2147483648 ; 0x80000000 + c546: 3b01 subs r3, #1 + c548: 005b lsls r3, r3, #1 + c54a: 9c0a ldr r4, [sp, #40] ; 0x28 + c54c: 2500 movs r5, #0 _lv_memset_ff(mask_line, size); - caf6: f8df 81b8 ldr.w r8, [pc, #440] ; ccb0 + c54e: f8df 81b8 ldr.w r8, [pc, #440] ; c708 lv_draw_mask_res_t mask_res = mask_param.dsc.cb(mask_line, 0, y, size, &mask_param); - cafa: b23a sxth r2, r7 - cafc: 9208 str r2, [sp, #32] + c552: b23a sxth r2, r7 + c554: 9208 str r2, [sp, #32] _lv_memset_00(sh_ups_tmp_buf, size * sizeof(sh_ups_tmp_buf[0])); - cafe: f8cd 9034 str.w r9, [sp, #52] ; 0x34 - cb02: 9705 str r7, [sp, #20] - cb04: 9e0c ldr r6, [sp, #48] ; 0x30 - cb06: 4699 mov r9, r3 - cb08: f8cd a03c str.w sl, [sp, #60] ; 0x3c - cb0c: f8dd a02c ldr.w sl, [sp, #44] ; 0x2c - cb10: e014 b.n cb3c + c556: f8cd 9034 str.w r9, [sp, #52] ; 0x34 + c55a: 9705 str r7, [sp, #20] + c55c: 9e0c ldr r6, [sp, #48] ; 0x30 + c55e: 4699 mov r9, r3 + c560: f8cd a03c str.w sl, [sp, #60] ; 0x3c + c564: f8dd a02c ldr.w sl, [sp, #44] ; 0x2c + c568: e014 b.n c594 if(dsc->shadow_width == 1 && dsc->shadow_ofs_x == 0 && - cb12: f9b2 3024 ldrsh.w r3, [r2, #36] ; 0x24 - cb16: 2b00 cmp r3, #0 - cb18: f47f af05 bne.w c926 + c56a: f9b2 3024 ldrsh.w r3, [r2, #36] ; 0x24 + c56e: 2b00 cmp r3, #0 + c570: f47f af05 bne.w c37e dsc->shadow_ofs_y == 0 && dsc->shadow_spread <= 0) { - cb1c: f9b2 3026 ldrsh.w r3, [r2, #38] ; 0x26 - cb20: 2b00 cmp r3, #0 - cb22: f73f af00 bgt.w c926 - cb26: f000 be0d b.w d744 + c574: f9b2 3026 ldrsh.w r3, [r2, #38] ; 0x26 + c578: 2b00 cmp r3, #0 + c57a: f73f af00 bgt.w c37e + c57e: f000 be0d b.w d19c _lv_memset_00(sh_ups_tmp_buf, size * sizeof(sh_ups_tmp_buf[0])); - cb2a: 4659 mov r1, fp - cb2c: 4620 mov r0, r4 - cb2e: 4b5c ldr r3, [pc, #368] ; (cca0 ) - cb30: 4798 blx r3 + c582: 4659 mov r1, fp + c584: 4620 mov r0, r4 + c586: 4b5c ldr r3, [pc, #368] ; (c6f8 ) + c588: 4798 blx r3 sh_ups_tmp_buf += size; - cb32: 445c add r4, fp + c58a: 445c add r4, fp for(y = 0; y < size; y++) { - cb34: 3501 adds r5, #1 - cb36: 9b05 ldr r3, [sp, #20] - cb38: 42ab cmp r3, r5 - cb3a: dd2b ble.n cb94 + c58c: 3501 adds r5, #1 + c58e: 9b05 ldr r3, [sp, #20] + c590: 42ab cmp r3, r5 + c592: dd2b ble.n c5ec _lv_memset_ff(mask_line, size); - cb3c: 9907 ldr r1, [sp, #28] - cb3e: 4630 mov r0, r6 - cb40: 47c0 blx r8 + c594: 9907 ldr r1, [sp, #28] + c596: 4630 mov r0, r6 + c598: 47c0 blx r8 lv_draw_mask_res_t mask_res = mask_param.dsc.cb(mask_line, 0, y, size, &mask_param); - cb42: ab29 add r3, sp, #164 ; 0xa4 - cb44: 9300 str r3, [sp, #0] - cb46: 9b08 ldr r3, [sp, #32] - cb48: b22a sxth r2, r5 - cb4a: 2100 movs r1, #0 - cb4c: 4630 mov r0, r6 - cb4e: 9f29 ldr r7, [sp, #164] ; 0xa4 - cb50: 47b8 blx r7 + c59a: ab29 add r3, sp, #164 ; 0xa4 + c59c: 9300 str r3, [sp, #0] + c59e: 9b08 ldr r3, [sp, #32] + c5a0: b22a sxth r2, r5 + c5a2: 2100 movs r1, #0 + c5a4: 4630 mov r0, r6 + c5a6: 9f29 ldr r7, [sp, #164] ; 0xa4 + c5a8: 47b8 blx r7 if(mask_res == LV_DRAW_MASK_RES_TRANSP) { - cb52: 2800 cmp r0, #0 - cb54: d0e9 beq.n cb2a + c5aa: 2800 cmp r0, #0 + c5ac: d0e9 beq.n c582 sh_ups_tmp_buf[0] = (mask_line[0] << SHADOW_UPSACALE_SHIFT) / sw; - cb56: 46d6 mov lr, sl - cb58: 7833 ldrb r3, [r6, #0] - cb5a: 019b lsls r3, r3, #6 - cb5c: fb93 f3fa sdiv r3, r3, sl - cb60: 8023 strh r3, [r4, #0] + c5ae: 46d6 mov lr, sl + c5b0: 7833 ldrb r3, [r6, #0] + c5b2: 019b lsls r3, r3, #6 + c5b4: fb93 f3fa sdiv r3, r3, sl + c5b8: 8023 strh r3, [r4, #0] for(i = 1; i < size; i++) { - cb62: 9b05 ldr r3, [sp, #20] - cb64: 2b01 cmp r3, #1 - cb66: dde4 ble.n cb32 - cb68: 4631 mov r1, r6 - cb6a: 4622 mov r2, r4 - cb6c: eb04 0009 add.w r0, r4, r9 - cb70: 461f mov r7, r3 - cb72: 468c mov ip, r1 + c5ba: 9b05 ldr r3, [sp, #20] + c5bc: 2b01 cmp r3, #1 + c5be: dde4 ble.n c58a + c5c0: 4631 mov r1, r6 + c5c2: 4622 mov r2, r4 + c5c4: eb04 0009 add.w r0, r4, r9 + c5c8: 461f mov r7, r3 + c5ca: 468c mov ip, r1 if(mask_line[i] == mask_line[i - 1]) sh_ups_tmp_buf[i] = sh_ups_tmp_buf[i - 1]; - cb74: f811 3f01 ldrb.w r3, [r1, #1]! - cb78: f89c c000 ldrb.w ip, [ip] - cb7c: 459c cmp ip, r3 - cb7e: bf0e itee eq - cb80: 8813 ldrheq r3, [r2, #0] + c5cc: f811 3f01 ldrb.w r3, [r1, #1]! + c5d0: f89c c000 ldrb.w ip, [ip] + c5d4: 459c cmp ip, r3 + c5d6: bf0e itee eq + c5d8: 8813 ldrheq r3, [r2, #0] else sh_ups_tmp_buf[i] = (mask_line[i] << SHADOW_UPSACALE_SHIFT) / sw; - cb82: 019b lslne r3, r3, #6 - cb84: fb93 f3fe sdivne r3, r3, lr - cb88: 8053 strh r3, [r2, #2] - cb8a: 3202 adds r2, #2 + c5da: 019b lslne r3, r3, #6 + c5dc: fb93 f3fe sdivne r3, r3, lr + c5e0: 8053 strh r3, [r2, #2] + c5e2: 3202 adds r2, #2 for(i = 1; i < size; i++) { - cb8c: 4290 cmp r0, r2 - cb8e: d1f0 bne.n cb72 - cb90: 9705 str r7, [sp, #20] - cb92: e7ce b.n cb32 - cb94: f8dd 9034 ldr.w r9, [sp, #52] ; 0x34 - cb98: 461f mov r7, r3 - cb9a: f8dd a03c ldr.w sl, [sp, #60] ; 0x3c + c5e4: 4290 cmp r0, r2 + c5e6: d1f0 bne.n c5ca + c5e8: 9705 str r7, [sp, #20] + c5ea: e7ce b.n c58a + c5ec: f8dd 9034 ldr.w r9, [sp, #52] ; 0x34 + c5f0: 461f mov r7, r3 + c5f2: f8dd a03c ldr.w sl, [sp, #60] ; 0x3c _lv_mem_buf_release(mask_line); - cb9e: 980c ldr r0, [sp, #48] ; 0x30 - cba0: 4b40 ldr r3, [pc, #256] ; (cca4 ) - cba2: 4798 blx r3 + c5f6: 980c ldr r0, [sp, #48] ; 0x30 + c5f8: 4b40 ldr r3, [pc, #256] ; (c6fc ) + c5fa: 4798 blx r3 if(sw == 1) { - cba4: 9b0b ldr r3, [sp, #44] ; 0x2c - cba6: 2b01 cmp r3, #1 - cba8: f002 814d beq.w ee46 + c5fc: 9b0b ldr r3, [sp, #44] ; 0x2c + c5fe: 2b01 cmp r3, #1 + c600: f002 814d beq.w e89e shadow_blur_corner(size, sw, sh_buf); - cbac: b23c sxth r4, r7 - cbae: 9e0a ldr r6, [sp, #40] ; 0x28 - cbb0: 4632 mov r2, r6 - cbb2: 9d0b ldr r5, [sp, #44] ; 0x2c - cbb4: 4629 mov r1, r5 - cbb6: 4620 mov r0, r4 - cbb8: 4b3b ldr r3, [pc, #236] ; (cca8 ) - cbba: 4798 blx r3 + c604: b23c sxth r4, r7 + c606: 9e0a ldr r6, [sp, #40] ; 0x28 + c608: 4632 mov r2, r6 + c60a: 9d0b ldr r5, [sp, #44] ; 0x2c + c60c: 4629 mov r1, r5 + c60e: 4620 mov r0, r4 + c610: 4b3b ldr r3, [pc, #236] ; (c700 ) + c612: 4798 blx r3 sw += sw_ori & 1; - cbbc: 9a10 ldr r2, [sp, #64] ; 0x40 - cbbe: 442a add r2, r5 - cbc0: b211 sxth r1, r2 + c614: 9a10 ldr r2, [sp, #64] ; 0x40 + c616: 442a add r2, r5 + c618: b211 sxth r1, r2 if(sw > 1) { - cbc2: 2901 cmp r1, #1 - cbc4: dd22 ble.n cc0c + c61a: 2901 cmp r1, #1 + c61c: dd22 ble.n c664 sh_buf[0] = (sh_buf[0] << SHADOW_UPSACALE_SHIFT) / sw; - cbc6: 460d mov r5, r1 - cbc8: 8833 ldrh r3, [r6, #0] - cbca: 019b lsls r3, r3, #6 - cbcc: fb93 f3f1 sdiv r3, r3, r1 - cbd0: 4632 mov r2, r6 - cbd2: 8033 strh r3, [r6, #0] + c61e: 460d mov r5, r1 + c620: 8833 ldrh r3, [r6, #0] + c622: 019b lsls r3, r3, #6 + c624: fb93 f3f1 sdiv r3, r3, r1 + c628: 4632 mov r2, r6 + c62a: 8033 strh r3, [r6, #0] for(i = 1; i < (uint32_t) size * size; i++) { - cbd4: 9807 ldr r0, [sp, #28] - cbd6: fb00 f000 mul.w r0, r0, r0 - cbda: 2801 cmp r0, #1 - cbdc: d912 bls.n cc04 - cbde: f100 4000 add.w r0, r0, #2147483648 ; 0x80000000 - cbe2: 3801 subs r0, #1 - cbe4: eb06 0040 add.w r0, r6, r0, lsl #1 - cbe8: e001 b.n cbee - cbea: 4282 cmp r2, r0 - cbec: d00a beq.n cc04 - cbee: 4616 mov r6, r2 + c62c: 9807 ldr r0, [sp, #28] + c62e: fb00 f000 mul.w r0, r0, r0 + c632: 2801 cmp r0, #1 + c634: d912 bls.n c65c + c636: f100 4000 add.w r0, r0, #2147483648 ; 0x80000000 + c63a: 3801 subs r0, #1 + c63c: eb06 0040 add.w r0, r6, r0, lsl #1 + c640: e001 b.n c646 + c642: 4282 cmp r2, r0 + c644: d00a beq.n c65c + c646: 4616 mov r6, r2 if(sh_buf[i] == sh_buf[i - 1]) sh_buf[i] = sh_buf[i - 1]; - cbf0: f832 3f02 ldrh.w r3, [r2, #2]! - cbf4: 8836 ldrh r6, [r6, #0] - cbf6: 429e cmp r6, r3 - cbf8: d0f7 beq.n cbea + c648: f832 3f02 ldrh.w r3, [r2, #2]! + c64c: 8836 ldrh r6, [r6, #0] + c64e: 429e cmp r6, r3 + c650: d0f7 beq.n c642 else sh_buf[i] = (sh_buf[i] << SHADOW_UPSACALE_SHIFT) / sw; - cbfa: 019b lsls r3, r3, #6 - cbfc: fb93 f3f5 sdiv r3, r3, r5 - cc00: 8013 strh r3, [r2, #0] - cc02: e7f2 b.n cbea + c652: 019b lsls r3, r3, #6 + c654: fb93 f3f5 sdiv r3, r3, r5 + c658: 8013 strh r3, [r2, #0] + c65a: e7f2 b.n c642 shadow_blur_corner(size, sw, sh_buf); - cc04: 9a0a ldr r2, [sp, #40] ; 0x28 - cc06: 4620 mov r0, r4 - cc08: 4b27 ldr r3, [pc, #156] ; (cca8 ) - cc0a: 4798 blx r3 + c65c: 9a0a ldr r2, [sp, #40] ; 0x28 + c65e: 4620 mov r0, r4 + c660: 4b27 ldr r3, [pc, #156] ; (c700 ) + c662: 4798 blx r3 for(x = 0; x < size * size; x++) { - cc0c: fb07 f707 mul.w r7, r7, r7 - cc10: b157 cbz r7, cc28 - cc12: 990a ldr r1, [sp, #40] ; 0x28 - cc14: 460b mov r3, r1 - cc16: 1e4a subs r2, r1, #1 - cc18: eb01 0047 add.w r0, r1, r7, lsl #1 + c664: fb07 f707 mul.w r7, r7, r7 + c668: b157 cbz r7, c680 + c66a: 990a ldr r1, [sp, #40] ; 0x28 + c66c: 460b mov r3, r1 + c66e: 1e4a subs r2, r1, #1 + c670: eb01 0047 add.w r0, r1, r7, lsl #1 res_buf[x] = sh_buf[x]; - cc1c: f833 1b02 ldrh.w r1, [r3], #2 - cc20: f802 1f01 strb.w r1, [r2, #1]! + c674: f833 1b02 ldrh.w r1, [r3], #2 + c678: f802 1f01 strb.w r1, [r2, #1]! for(x = 0; x < size * size; x++) { - cc24: 4283 cmp r3, r0 - cc26: d1f9 bne.n cc1c + c67c: 4283 cmp r3, r0 + c67e: d1f9 bne.n c674 lv_coord_t h_half = sh_area.y1 + lv_area_get_height(&sh_area) / 2; - cc28: f8bd 205a ldrh.w r2, [sp, #90] ; 0x5a - cc2c: f8bd 305e ldrh.w r3, [sp, #94] ; 0x5e - cc30: 3301 adds r3, #1 - cc32: 1a9b subs r3, r3, r2 - cc34: b21b sxth r3, r3 - cc36: eb03 73d3 add.w r3, r3, r3, lsr #31 - cc3a: eb02 0363 add.w r3, r2, r3, asr #1 - cc3e: b29b uxth r3, r3 - cc40: 930f str r3, [sp, #60] ; 0x3c - cc42: b21b sxth r3, r3 - cc44: 930c str r3, [sp, #48] ; 0x30 + c680: f8bd 205a ldrh.w r2, [sp, #90] ; 0x5a + c684: f8bd 305e ldrh.w r3, [sp, #94] ; 0x5e + c688: 3301 adds r3, #1 + c68a: 1a9b subs r3, r3, r2 + c68c: b21b sxth r3, r3 + c68e: eb03 73d3 add.w r3, r3, r3, lsr #31 + c692: eb02 0363 add.w r3, r2, r3, asr #1 + c696: b29b uxth r3, r3 + c698: 930f str r3, [sp, #60] ; 0x3c + c69a: b21b sxth r3, r3 + c69c: 930c str r3, [sp, #48] ; 0x30 lv_coord_t w_half = sh_area.x1 + lv_area_get_width(&sh_area) / 2; - cc46: f8bd 2058 ldrh.w r2, [sp, #88] ; 0x58 + c69e: f8bd 2058 ldrh.w r2, [sp, #88] ; 0x58 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - cc4a: f8bd 305c ldrh.w r3, [sp, #92] ; 0x5c - cc4e: 3301 adds r3, #1 - cc50: 1a9b subs r3, r3, r2 - cc52: b21b sxth r3, r3 - cc54: eb03 73d3 add.w r3, r3, r3, lsr #31 - cc58: eb02 0363 add.w r3, r2, r3, asr #1 - cc5c: b29b uxth r3, r3 - cc5e: 9310 str r3, [sp, #64] ; 0x40 - cc60: b21b sxth r3, r3 - cc62: 930d str r3, [sp, #52] ; 0x34 + c6a2: f8bd 305c ldrh.w r3, [sp, #92] ; 0x5c + c6a6: 3301 adds r3, #1 + c6a8: 1a9b subs r3, r3, r2 + c6aa: b21b sxth r3, r3 + c6ac: eb03 73d3 add.w r3, r3, r3, lsr #31 + c6b0: eb02 0363 add.w r3, r2, r3, asr #1 + c6b4: b29b uxth r3, r3 + c6b6: 9310 str r3, [sp, #64] ; 0x40 + c6b8: b21b sxth r3, r3 + c6ba: 930d str r3, [sp, #52] ; 0x34 if(lv_draw_mask_get_cnt() > 0) simple_mode = false; - cc64: 4b11 ldr r3, [pc, #68] ; (ccac ) - cc66: 4798 blx r3 - cc68: bb20 cbnz r0, ccb4 + c6bc: 4b11 ldr r3, [pc, #68] ; (c704 ) + c6be: 4798 blx r3 + c6c0: bb20 cbnz r0, c70c else if(dsc->shadow_ofs_x != 0 || dsc->shadow_ofs_y != 0) simple_mode = false; - cc6a: f9ba 3022 ldrsh.w r3, [sl, #34] ; 0x22 - cc6e: 2b00 cmp r3, #0 - cc70: f040 81bc bne.w cfec - cc74: f9ba 3024 ldrsh.w r3, [sl, #36] ; 0x24 - cc78: 2b00 cmp r3, #0 - cc7a: f040 81ba bne.w cff2 + c6c2: f9ba 3022 ldrsh.w r3, [sl, #34] ; 0x22 + c6c6: 2b00 cmp r3, #0 + c6c8: f040 81bc bne.w ca44 + c6cc: f9ba 3024 ldrsh.w r3, [sl, #36] ; 0x24 + c6d0: 2b00 cmp r3, #0 + c6d2: f040 81ba bne.w ca4a else if(dsc->shadow_spread != 0) simple_mode = false; - cc7e: f9ba 3026 ldrsh.w r3, [sl, #38] ; 0x26 - cc82: fab3 f383 clz r3, r3 - cc86: 095b lsrs r3, r3, #5 - cc88: 9307 str r3, [sp, #28] - cc8a: e015 b.n ccb8 - cc8c: 00006511 .word 0x00006511 - cc90: 00011585 .word 0x00011585 - cc94: 00011ac1 .word 0x00011ac1 - cc98: 00012ee5 .word 0x00012ee5 - cc9c: 0000c5d5 .word 0x0000c5d5 - cca0: 000130df .word 0x000130df - cca4: 00012b19 .word 0x00012b19 - cca8: 0000c635 .word 0x0000c635 - ccac: 0000c46d .word 0x0000c46d - ccb0: 00013195 .word 0x00013195 + c6d6: f9ba 3026 ldrsh.w r3, [sl, #38] ; 0x26 + c6da: fab3 f383 clz r3, r3 + c6de: 095b lsrs r3, r3, #5 + c6e0: 9307 str r3, [sp, #28] + c6e2: e015 b.n c710 + c6e4: 00005f69 .word 0x00005f69 + c6e8: 00010fdd .word 0x00010fdd + c6ec: 00011519 .word 0x00011519 + c6f0: 0001293d .word 0x0001293d + c6f4: 0000c02d .word 0x0000c02d + c6f8: 00012b37 .word 0x00012b37 + c6fc: 00012571 .word 0x00012571 + c700: 0000c08d .word 0x0000c08d + c704: 0000bec5 .word 0x0000bec5 + c708: 00012bed .word 0x00012bed if(lv_draw_mask_get_cnt() > 0) simple_mode = false; - ccb4: 2300 movs r3, #0 - ccb6: 9307 str r3, [sp, #28] - ccb8: f8bd 005c ldrh.w r0, [sp, #92] ; 0x5c - ccbc: 3001 adds r0, #1 - ccbe: f8bd 3058 ldrh.w r3, [sp, #88] ; 0x58 - ccc2: 1ac0 subs r0, r0, r3 + c70c: 2300 movs r3, #0 + c70e: 9307 str r3, [sp, #28] + c710: f8bd 005c ldrh.w r0, [sp, #92] ; 0x5c + c714: 3001 adds r0, #1 + c716: f8bd 3058 ldrh.w r3, [sp, #88] ; 0x58 + c71a: 1ac0 subs r0, r0, r3 lv_opa_t * mask_buf = _lv_mem_buf_get(lv_area_get_width(&sh_area)); - ccc4: b200 sxth r0, r0 - ccc6: 4bc2 ldr r3, [pc, #776] ; (cfd0 ) - ccc8: 4798 blx r3 - ccca: 9005 str r0, [sp, #20] + c71c: b200 sxth r0, r0 + c71e: 4bc2 ldr r3, [pc, #776] ; (ca28 ) + c720: 4798 blx r3 + c722: 9005 str r0, [sp, #20] lv_draw_mask_radius_init(&mask_rout_param, &bg_coords, r_bg, true); - cccc: 2301 movs r3, #1 - ccce: 9a0e ldr r2, [sp, #56] ; 0x38 - ccd0: a91a add r1, sp, #104 ; 0x68 - ccd2: a829 add r0, sp, #164 ; 0xa4 - ccd4: 4cbf ldr r4, [pc, #764] ; (cfd4 ) - ccd6: 47a0 blx r4 + c724: 2301 movs r3, #1 + c726: 9a0e ldr r2, [sp, #56] ; 0x38 + c728: a91a add r1, sp, #104 ; 0x68 + c72a: a829 add r0, sp, #164 ; 0xa4 + c72c: 4cbf ldr r4, [pc, #764] ; (ca2c ) + c72e: 47a0 blx r4 int16_t mask_rout_id = lv_draw_mask_add(&mask_rout_param, NULL); - ccd8: 2100 movs r1, #0 - ccda: a829 add r0, sp, #164 ; 0xa4 - ccdc: 4bbe ldr r3, [pc, #760] ; (cfd8 ) - ccde: 4798 blx r3 - cce0: 900e str r0, [sp, #56] ; 0x38 + c730: 2100 movs r1, #0 + c732: a829 add r0, sp, #164 ; 0xa4 + c734: 4bbe ldr r3, [pc, #760] ; (ca30 ) + c736: 4798 blx r3 + c738: 900e str r0, [sp, #56] ; 0x38 a.x2 = sh_area.x2; - cce2: f9bd 305c ldrsh.w r3, [sp, #92] ; 0x5c - cce6: f8ad 3074 strh.w r3, [sp, #116] ; 0x74 + c73a: f9bd 305c ldrsh.w r3, [sp, #92] ; 0x5c + c73e: f8ad 3074 strh.w r3, [sp, #116] ; 0x74 a.x1 = a.x2 - corner_size + 1; - ccea: fa1f fb89 uxth.w fp, r9 - ccee: 3301 adds r3, #1 - ccf0: eba3 030b sub.w r3, r3, fp - ccf4: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 + c742: fa1f fb89 uxth.w fp, r9 + c746: 3301 adds r3, #1 + c748: eba3 030b sub.w r3, r3, fp + c74c: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 a.y1 = sh_area.y1; - ccf8: f9bd 305a ldrsh.w r3, [sp, #90] ; 0x5a - ccfc: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 + c750: f9bd 305a ldrsh.w r3, [sp, #90] ; 0x5a + c754: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 a.y2 = a.y1 + corner_size - 1; - cd00: 3b01 subs r3, #1 - cd02: 445b add r3, fp - cd04: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 + c758: 3b01 subs r3, #1 + c75a: 445b add r3, fp + c75c: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 bool has_com = _lv_area_intersect(&ca, &a, clip); - cd08: 9a04 ldr r2, [sp, #16] - cd0a: a91c add r1, sp, #112 ; 0x70 - cd0c: a81e add r0, sp, #120 ; 0x78 - cd0e: 4bb3 ldr r3, [pc, #716] ; (cfdc ) - cd10: 4798 blx r3 + c760: 9a04 ldr r2, [sp, #16] + c762: a91c add r1, sp, #112 ; 0x70 + c764: a81e add r0, sp, #120 ; 0x78 + c766: 4bb3 ldr r3, [pc, #716] ; (ca34 ) + c768: 4798 blx r3 if(has_com) { - cd12: 2800 cmp r0, #0 - cd14: d072 beq.n cdfc + c76a: 2800 cmp r0, #0 + c76c: d072 beq.n c854 if(ca.y2 > h_half) ca.y2 = h_half; - cd16: f9bd 307e ldrsh.w r3, [sp, #126] ; 0x7e - cd1a: 990c ldr r1, [sp, #48] ; 0x30 - cd1c: 428b cmp r3, r1 - cd1e: bfc4 itt gt - cd20: 460b movgt r3, r1 - cd22: f8ad 307e strhgt.w r3, [sp, #126] ; 0x7e + c76e: f9bd 307e ldrsh.w r3, [sp, #126] ; 0x7e + c772: 990c ldr r1, [sp, #48] ; 0x30 + c774: 428b cmp r3, r1 + c776: bfc4 itt gt + c778: 460b movgt r3, r1 + c77a: f8ad 307e strhgt.w r3, [sp, #126] ; 0x7e if(ca.x1 <= w_half) ca.x1 = w_half + 1; - cd26: f9bd 3078 ldrsh.w r3, [sp, #120] ; 0x78 - cd2a: 9a0d ldr r2, [sp, #52] ; 0x34 - cd2c: 4293 cmp r3, r2 - cd2e: dc03 bgt.n cd38 - cd30: 9b10 ldr r3, [sp, #64] ; 0x40 - cd32: 3301 adds r3, #1 - cd34: f8ad 3078 strh.w r3, [sp, #120] ; 0x78 - cd38: f9bd 2078 ldrsh.w r2, [sp, #120] ; 0x78 - cd3c: f8bd 307c ldrh.w r3, [sp, #124] ; 0x7c - cd40: 3301 adds r3, #1 - cd42: 1a9b subs r3, r3, r2 - cd44: b21b sxth r3, r3 - cd46: 9308 str r3, [sp, #32] + c77e: f9bd 3078 ldrsh.w r3, [sp, #120] ; 0x78 + c782: 9a0d ldr r2, [sp, #52] ; 0x34 + c784: 4293 cmp r3, r2 + c786: dc03 bgt.n c790 + c788: 9b10 ldr r3, [sp, #64] ; 0x40 + c78a: 3301 adds r3, #1 + c78c: f8ad 3078 strh.w r3, [sp, #120] ; 0x78 + c790: f9bd 2078 ldrsh.w r2, [sp, #120] ; 0x78 + c794: f8bd 307c ldrh.w r3, [sp, #124] ; 0x7c + c798: 3301 adds r3, #1 + c79a: 1a9b subs r3, r3, r2 + c79c: b21b sxth r3, r3 + c79e: 9308 str r3, [sp, #32] if(w > 0) { - cd48: 2b00 cmp r3, #0 - cd4a: dd57 ble.n cdfc + c7a0: 2b00 cmp r3, #0 + c7a2: dd57 ble.n c854 return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - cd4c: f9bd 707e ldrsh.w r7, [sp, #126] ; 0x7e - cd50: f9bd 407a ldrsh.w r4, [sp, #122] ; 0x7a + c7a4: f9bd 707e ldrsh.w r7, [sp, #126] ; 0x7e + c7a8: f9bd 407a ldrsh.w r4, [sp, #122] ; 0x7a sh_buf_tmp += corner_size * (ca.y1 - a.y1); - cd54: f9bd 5072 ldrsh.w r5, [sp, #114] ; 0x72 - cd58: 1b65 subs r5, r4, r5 + c7ac: f9bd 5072 ldrsh.w r5, [sp, #114] ; 0x72 + c7b0: 1b65 subs r5, r4, r5 sh_buf_tmp = sh_buf + (ca.x1 - a.x1); - cd5a: f9bd 3070 ldrsh.w r3, [sp, #112] ; 0x70 - cd5e: 1ad2 subs r2, r2, r3 + c7b2: f9bd 3070 ldrsh.w r3, [sp, #112] ; 0x70 + c7b6: 1ad2 subs r2, r2, r3 sh_buf_tmp += corner_size * (ca.y1 - a.y1); - cd60: fb09 2505 mla r5, r9, r5, r2 - cd64: 9b0a ldr r3, [sp, #40] ; 0x28 - cd66: 441d add r5, r3 - cd68: f10d 0277 add.w r2, sp, #119 ; 0x77 + c7b8: fb09 2505 mla r5, r9, r5, r2 + c7bc: 9b0a ldr r3, [sp, #40] ; 0x28 + c7be: 441d add r5, r3 + c7c0: f10d 0277 add.w r2, sp, #119 ; 0x77 uint8_t * d8 = (uint8_t *)dst; - cd6c: ab22 add r3, sp, #136 ; 0x88 + c7c4: ab22 add r3, sp, #136 ; 0x88 while(len) { - cd6e: a824 add r0, sp, #144 ; 0x90 + c7c6: a824 add r0, sp, #144 ; 0x90 *d8 = *s8; - cd70: f812 1f01 ldrb.w r1, [r2, #1]! - cd74: f803 1b01 strb.w r1, [r3], #1 + c7c8: f812 1f01 ldrb.w r1, [r2, #1]! + c7cc: f803 1b01 strb.w r1, [r3], #1 while(len) { - cd78: 4283 cmp r3, r0 - cd7a: d1f9 bne.n cd70 + c7d0: 4283 cmp r3, r0 + c7d2: d1f9 bne.n c7c8 fa.y2 = fa.y1; - cd7c: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a - cd80: f8ad 308e strh.w r3, [sp, #142] ; 0x8e - cd84: 3701 adds r7, #1 - cd86: 1b3f subs r7, r7, r4 + c7d4: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a + c7d8: f8ad 308e strh.w r3, [sp, #142] ; 0x8e + c7dc: 3701 adds r7, #1 + c7de: 1b3f subs r7, r7, r4 for(y = 0; y < h; y++) { - cd88: b23f sxth r7, r7 - cd8a: 2f00 cmp r7, #0 - cd8c: dd36 ble.n cdfc - cd8e: 2600 movs r6, #0 + c7e0: b23f sxth r7, r7 + c7e2: 2f00 cmp r7, #0 + c7e4: dd36 ble.n c854 + c7e6: 2600 movs r6, #0 _lv_blend_fill(clip, &fa, dsc->shadow_color, mask_buf, - cd90: f8df 8254 ldr.w r8, [pc, #596] ; cfe8 - cd94: f8cd b044 str.w fp, [sp, #68] ; 0x44 - cd98: 46bb mov fp, r7 - cd9a: 9b09 ldr r3, [sp, #36] ; 0x24 - cd9c: 930b str r3, [sp, #44] ; 0x2c + c7e8: f8df 8254 ldr.w r8, [pc, #596] ; ca40 + c7ec: f8cd b044 str.w fp, [sp, #68] ; 0x44 + c7f0: 46bb mov fp, r7 + c7f2: 9b09 ldr r3, [sp, #36] ; 0x24 + c7f4: 930b str r3, [sp, #44] ; 0x2c _lv_memcpy(mask_buf, sh_buf_tmp, w); - cd9e: 9a08 ldr r2, [sp, #32] - cda0: 4629 mov r1, r5 - cda2: 9f05 ldr r7, [sp, #20] - cda4: 4638 mov r0, r7 - cda6: 4c8e ldr r4, [pc, #568] ; (cfe0 ) - cda8: 47a0 blx r4 + c7f6: 9a08 ldr r2, [sp, #32] + c7f8: 4629 mov r1, r5 + c7fa: 9f05 ldr r7, [sp, #20] + c7fc: 4638 mov r0, r7 + c7fe: 4c8e ldr r4, [pc, #568] ; (ca38 ) + c800: 47a0 blx r4 mask_res = lv_draw_mask_apply(mask_buf, fa.x1, fa.y1, w); - cdaa: ac30 add r4, sp, #192 ; 0xc0 - cdac: 9b08 ldr r3, [sp, #32] - cdae: f9bd 208a ldrsh.w r2, [sp, #138] ; 0x8a - cdb2: f934 1d38 ldrsh.w r1, [r4, #-56]! - cdb6: 9705 str r7, [sp, #20] - cdb8: 4638 mov r0, r7 - cdba: 4f8a ldr r7, [pc, #552] ; (cfe4 ) - cdbc: 47b8 blx r7 + c802: ac30 add r4, sp, #192 ; 0xc0 + c804: 9b08 ldr r3, [sp, #32] + c806: f9bd 208a ldrsh.w r2, [sp, #138] ; 0x8a + c80a: f934 1d38 ldrsh.w r1, [r4, #-56]! + c80e: 9705 str r7, [sp, #20] + c810: 4638 mov r0, r7 + c812: 4f8a ldr r7, [pc, #552] ; (ca3c ) + c814: 47b8 blx r7 if(mask_res == LV_DRAW_MASK_RES_FULL_COVER) mask_res = LV_DRAW_MASK_RES_CHANGED; - cdbe: 2801 cmp r0, #1 - cdc0: bf08 it eq - cdc2: 2002 moveq r0, #2 + c816: 2801 cmp r0, #1 + c818: bf08 it eq + c81a: 2002 moveq r0, #2 _lv_blend_fill(clip, &fa, dsc->shadow_color, mask_buf, - cdc4: f89a 3029 ldrb.w r3, [sl, #41] ; 0x29 - cdc8: 9302 str r3, [sp, #8] - cdca: 9a0b ldr r2, [sp, #44] ; 0x2c - cdcc: 9201 str r2, [sp, #4] - cdce: 9000 str r0, [sp, #0] - cdd0: 9b05 ldr r3, [sp, #20] - cdd2: f8ba 201e ldrh.w r2, [sl, #30] - cdd6: 4621 mov r1, r4 - cdd8: 9804 ldr r0, [sp, #16] - cdda: 47c0 blx r8 + c81c: f89a 3029 ldrb.w r3, [sl, #41] ; 0x29 + c820: 9302 str r3, [sp, #8] + c822: 9a0b ldr r2, [sp, #44] ; 0x2c + c824: 9201 str r2, [sp, #4] + c826: 9000 str r0, [sp, #0] + c828: 9b05 ldr r3, [sp, #20] + c82a: f8ba 201e ldrh.w r2, [sl, #30] + c82e: 4621 mov r1, r4 + c830: 9804 ldr r0, [sp, #16] + c832: 47c0 blx r8 fa.y1++; - cddc: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a - cde0: 3301 adds r3, #1 - cde2: f8ad 308a strh.w r3, [sp, #138] ; 0x8a + c834: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a + c838: 3301 adds r3, #1 + c83a: f8ad 308a strh.w r3, [sp, #138] ; 0x8a fa.y2++; - cde6: f8bd 308e ldrh.w r3, [sp, #142] ; 0x8e - cdea: 3301 adds r3, #1 - cdec: f8ad 308e strh.w r3, [sp, #142] ; 0x8e - cdf0: 444d add r5, r9 + c83e: f8bd 308e ldrh.w r3, [sp, #142] ; 0x8e + c842: 3301 adds r3, #1 + c844: f8ad 308e strh.w r3, [sp, #142] ; 0x8e + c848: 444d add r5, r9 for(y = 0; y < h; y++) { - cdf2: 3601 adds r6, #1 - cdf4: 455e cmp r6, fp - cdf6: d1d2 bne.n cd9e - cdf8: f8dd b044 ldr.w fp, [sp, #68] ; 0x44 + c84a: 3601 adds r6, #1 + c84c: 455e cmp r6, fp + c84e: d1d2 bne.n c7f6 + c850: f8dd b044 ldr.w fp, [sp, #68] ; 0x44 a.x2 = sh_area.x2; - cdfc: f9bd 305c ldrsh.w r3, [sp, #92] ; 0x5c - ce00: f8ad 3074 strh.w r3, [sp, #116] ; 0x74 + c854: f9bd 305c ldrsh.w r3, [sp, #92] ; 0x5c + c858: f8ad 3074 strh.w r3, [sp, #116] ; 0x74 a.x1 = a.x2 - corner_size + 1; - ce04: 3301 adds r3, #1 - ce06: eba3 030b sub.w r3, r3, fp - ce0a: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 + c85c: 3301 adds r3, #1 + c85e: eba3 030b sub.w r3, r3, fp + c862: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 a.y1 = sh_area.y2 - corner_size + 1; - ce0e: f9bd 205e ldrsh.w r2, [sp, #94] ; 0x5e - ce12: 1c53 adds r3, r2, #1 - ce14: eba3 030b sub.w r3, r3, fp - ce18: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 + c866: f9bd 205e ldrsh.w r2, [sp, #94] ; 0x5e + c86a: 1c53 adds r3, r2, #1 + c86c: eba3 030b sub.w r3, r3, fp + c870: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 a.y2 = sh_area.y2; - ce1c: f8ad 2076 strh.w r2, [sp, #118] ; 0x76 + c874: f8ad 2076 strh.w r2, [sp, #118] ; 0x76 has_com = _lv_area_intersect(&ca, &a, clip); - ce20: 9a04 ldr r2, [sp, #16] - ce22: a91c add r1, sp, #112 ; 0x70 - ce24: a81e add r0, sp, #120 ; 0x78 - ce26: 4b6d ldr r3, [pc, #436] ; (cfdc ) - ce28: 4798 blx r3 + c878: 9a04 ldr r2, [sp, #16] + c87a: a91c add r1, sp, #112 ; 0x70 + c87c: a81e add r0, sp, #120 ; 0x78 + c87e: 4b6d ldr r3, [pc, #436] ; (ca34 ) + c880: 4798 blx r3 if(has_com) { - ce2a: 2800 cmp r0, #0 - ce2c: d073 beq.n cf16 + c882: 2800 cmp r0, #0 + c884: d073 beq.n c96e if(ca.y1 <= h_half) ca.y1 = h_half + 1; - ce2e: f9bd 307a ldrsh.w r3, [sp, #122] ; 0x7a - ce32: 9a0c ldr r2, [sp, #48] ; 0x30 - ce34: 4293 cmp r3, r2 - ce36: dc03 bgt.n ce40 - ce38: 9b0f ldr r3, [sp, #60] ; 0x3c - ce3a: 3301 adds r3, #1 - ce3c: f8ad 307a strh.w r3, [sp, #122] ; 0x7a + c886: f9bd 307a ldrsh.w r3, [sp, #122] ; 0x7a + c88a: 9a0c ldr r2, [sp, #48] ; 0x30 + c88c: 4293 cmp r3, r2 + c88e: dc03 bgt.n c898 + c890: 9b0f ldr r3, [sp, #60] ; 0x3c + c892: 3301 adds r3, #1 + c894: f8ad 307a strh.w r3, [sp, #122] ; 0x7a if(ca.x1 <= w_half) ca.x1 = w_half + 1; - ce40: f9bd 3078 ldrsh.w r3, [sp, #120] ; 0x78 - ce44: 9a0d ldr r2, [sp, #52] ; 0x34 - ce46: 4293 cmp r3, r2 - ce48: dc03 bgt.n ce52 - ce4a: 9b10 ldr r3, [sp, #64] ; 0x40 - ce4c: 3301 adds r3, #1 - ce4e: f8ad 3078 strh.w r3, [sp, #120] ; 0x78 + c898: f9bd 3078 ldrsh.w r3, [sp, #120] ; 0x78 + c89c: 9a0d ldr r2, [sp, #52] ; 0x34 + c89e: 4293 cmp r3, r2 + c8a0: dc03 bgt.n c8aa + c8a2: 9b10 ldr r3, [sp, #64] ; 0x40 + c8a4: 3301 adds r3, #1 + c8a6: f8ad 3078 strh.w r3, [sp, #120] ; 0x78 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - ce52: f9bd 2078 ldrsh.w r2, [sp, #120] ; 0x78 - ce56: f8bd 307c ldrh.w r3, [sp, #124] ; 0x7c - ce5a: 3301 adds r3, #1 - ce5c: 1a9b subs r3, r3, r2 - ce5e: b21b sxth r3, r3 - ce60: 9308 str r3, [sp, #32] + c8aa: f9bd 2078 ldrsh.w r2, [sp, #120] ; 0x78 + c8ae: f8bd 307c ldrh.w r3, [sp, #124] ; 0x7c + c8b2: 3301 adds r3, #1 + c8b4: 1a9b subs r3, r3, r2 + c8b6: b21b sxth r3, r3 + c8b8: 9308 str r3, [sp, #32] if(w > 0) { - ce62: 2b00 cmp r3, #0 - ce64: dd57 ble.n cf16 + c8ba: 2b00 cmp r3, #0 + c8bc: dd57 ble.n c96e return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - ce66: f9bd 407e ldrsh.w r4, [sp, #126] ; 0x7e - ce6a: f9bd 607a ldrsh.w r6, [sp, #122] ; 0x7a + c8be: f9bd 407e ldrsh.w r4, [sp, #126] ; 0x7e + c8c2: f9bd 607a ldrsh.w r6, [sp, #122] ; 0x7a sh_buf_tmp += corner_size * (a.y2 - ca.y2); - ce6e: f9bd 5076 ldrsh.w r5, [sp, #118] ; 0x76 - ce72: 1b2d subs r5, r5, r4 + c8c6: f9bd 5076 ldrsh.w r5, [sp, #118] ; 0x76 + c8ca: 1b2d subs r5, r5, r4 sh_buf_tmp = sh_buf + (ca.x1 - a.x1); - ce74: f9bd 3070 ldrsh.w r3, [sp, #112] ; 0x70 - ce78: 1ad2 subs r2, r2, r3 + c8cc: f9bd 3070 ldrsh.w r3, [sp, #112] ; 0x70 + c8d0: 1ad2 subs r2, r2, r3 sh_buf_tmp += corner_size * (a.y2 - ca.y2); - ce7a: fb09 2505 mla r5, r9, r5, r2 - ce7e: 9b0a ldr r3, [sp, #40] ; 0x28 - ce80: 441d add r5, r3 - ce82: f10d 0277 add.w r2, sp, #119 ; 0x77 + c8d2: fb09 2505 mla r5, r9, r5, r2 + c8d6: 9b0a ldr r3, [sp, #40] ; 0x28 + c8d8: 441d add r5, r3 + c8da: f10d 0277 add.w r2, sp, #119 ; 0x77 uint8_t * d8 = (uint8_t *)dst; - ce86: ab22 add r3, sp, #136 ; 0x88 + c8de: ab22 add r3, sp, #136 ; 0x88 while(len) { - ce88: a824 add r0, sp, #144 ; 0x90 + c8e0: a824 add r0, sp, #144 ; 0x90 *d8 = *s8; - ce8a: f812 1f01 ldrb.w r1, [r2, #1]! - ce8e: f803 1b01 strb.w r1, [r3], #1 + c8e2: f812 1f01 ldrb.w r1, [r2, #1]! + c8e6: f803 1b01 strb.w r1, [r3], #1 while(len) { - ce92: 4283 cmp r3, r0 - ce94: d1f9 bne.n ce8a + c8ea: 4283 cmp r3, r0 + c8ec: d1f9 bne.n c8e2 fa.y1 = fa.y2; /*Fill from bottom to top*/ - ce96: f8bd 308e ldrh.w r3, [sp, #142] ; 0x8e - ce9a: f8ad 308a strh.w r3, [sp, #138] ; 0x8a - ce9e: 1c67 adds r7, r4, #1 - cea0: 1bbf subs r7, r7, r6 + c8ee: f8bd 308e ldrh.w r3, [sp, #142] ; 0x8e + c8f2: f8ad 308a strh.w r3, [sp, #138] ; 0x8a + c8f6: 1c67 adds r7, r4, #1 + c8f8: 1bbf subs r7, r7, r6 for(y = 0; y < h; y++) { - cea2: b23f sxth r7, r7 - cea4: 2f00 cmp r7, #0 - cea6: dd36 ble.n cf16 - cea8: 2600 movs r6, #0 + c8fa: b23f sxth r7, r7 + c8fc: 2f00 cmp r7, #0 + c8fe: dd36 ble.n c96e + c900: 2600 movs r6, #0 _lv_blend_fill(clip, &fa, dsc->shadow_color, mask_buf, - ceaa: f8df 813c ldr.w r8, [pc, #316] ; cfe8 - ceae: f8cd b040 str.w fp, [sp, #64] ; 0x40 - ceb2: 46bb mov fp, r7 - ceb4: 9b09 ldr r3, [sp, #36] ; 0x24 - ceb6: 930b str r3, [sp, #44] ; 0x2c + c902: f8df 813c ldr.w r8, [pc, #316] ; ca40 + c906: f8cd b040 str.w fp, [sp, #64] ; 0x40 + c90a: 46bb mov fp, r7 + c90c: 9b09 ldr r3, [sp, #36] ; 0x24 + c90e: 930b str r3, [sp, #44] ; 0x2c _lv_memcpy(mask_buf, sh_buf_tmp, w); - ceb8: 9a08 ldr r2, [sp, #32] - ceba: 4629 mov r1, r5 - cebc: 9f05 ldr r7, [sp, #20] - cebe: 4638 mov r0, r7 - cec0: 4c47 ldr r4, [pc, #284] ; (cfe0 ) - cec2: 47a0 blx r4 + c910: 9a08 ldr r2, [sp, #32] + c912: 4629 mov r1, r5 + c914: 9f05 ldr r7, [sp, #20] + c916: 4638 mov r0, r7 + c918: 4c47 ldr r4, [pc, #284] ; (ca38 ) + c91a: 47a0 blx r4 mask_res = lv_draw_mask_apply(mask_buf, fa.x1, fa.y1, w); - cec4: ac30 add r4, sp, #192 ; 0xc0 - cec6: 9b08 ldr r3, [sp, #32] - cec8: f9bd 208a ldrsh.w r2, [sp, #138] ; 0x8a - cecc: f934 1d38 ldrsh.w r1, [r4, #-56]! - ced0: 9705 str r7, [sp, #20] - ced2: 4638 mov r0, r7 - ced4: 4f43 ldr r7, [pc, #268] ; (cfe4 ) - ced6: 47b8 blx r7 + c91c: ac30 add r4, sp, #192 ; 0xc0 + c91e: 9b08 ldr r3, [sp, #32] + c920: f9bd 208a ldrsh.w r2, [sp, #138] ; 0x8a + c924: f934 1d38 ldrsh.w r1, [r4, #-56]! + c928: 9705 str r7, [sp, #20] + c92a: 4638 mov r0, r7 + c92c: 4f43 ldr r7, [pc, #268] ; (ca3c ) + c92e: 47b8 blx r7 if(mask_res == LV_DRAW_MASK_RES_FULL_COVER) mask_res = LV_DRAW_MASK_RES_CHANGED; - ced8: 2801 cmp r0, #1 - ceda: bf08 it eq - cedc: 2002 moveq r0, #2 + c930: 2801 cmp r0, #1 + c932: bf08 it eq + c934: 2002 moveq r0, #2 _lv_blend_fill(clip, &fa, dsc->shadow_color, mask_buf, - cede: f89a 3029 ldrb.w r3, [sl, #41] ; 0x29 - cee2: 9302 str r3, [sp, #8] - cee4: 9a0b ldr r2, [sp, #44] ; 0x2c - cee6: 9201 str r2, [sp, #4] - cee8: 9000 str r0, [sp, #0] - ceea: 9b05 ldr r3, [sp, #20] - ceec: f8ba 201e ldrh.w r2, [sl, #30] - cef0: 4621 mov r1, r4 - cef2: 9804 ldr r0, [sp, #16] - cef4: 47c0 blx r8 + c936: f89a 3029 ldrb.w r3, [sl, #41] ; 0x29 + c93a: 9302 str r3, [sp, #8] + c93c: 9a0b ldr r2, [sp, #44] ; 0x2c + c93e: 9201 str r2, [sp, #4] + c940: 9000 str r0, [sp, #0] + c942: 9b05 ldr r3, [sp, #20] + c944: f8ba 201e ldrh.w r2, [sl, #30] + c948: 4621 mov r1, r4 + c94a: 9804 ldr r0, [sp, #16] + c94c: 47c0 blx r8 fa.y1--; - cef6: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a - cefa: 3b01 subs r3, #1 - cefc: f8ad 308a strh.w r3, [sp, #138] ; 0x8a + c94e: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a + c952: 3b01 subs r3, #1 + c954: f8ad 308a strh.w r3, [sp, #138] ; 0x8a fa.y2--; - cf00: f8bd 308e ldrh.w r3, [sp, #142] ; 0x8e - cf04: 3b01 subs r3, #1 - cf06: f8ad 308e strh.w r3, [sp, #142] ; 0x8e - cf0a: 444d add r5, r9 + c958: f8bd 308e ldrh.w r3, [sp, #142] ; 0x8e + c95c: 3b01 subs r3, #1 + c95e: f8ad 308e strh.w r3, [sp, #142] ; 0x8e + c962: 444d add r5, r9 for(y = 0; y < h; y++) { - cf0c: 3601 adds r6, #1 - cf0e: 455e cmp r6, fp - cf10: d1d2 bne.n ceb8 - cf12: f8dd b040 ldr.w fp, [sp, #64] ; 0x40 + c964: 3601 adds r6, #1 + c966: 455e cmp r6, fp + c968: d1d2 bne.n c910 + c96a: f8dd b040 ldr.w fp, [sp, #64] ; 0x40 a.x2 = sh_area.x2; - cf16: f9bd 305c ldrsh.w r3, [sp, #92] ; 0x5c - cf1a: f8ad 3074 strh.w r3, [sp, #116] ; 0x74 + c96e: f9bd 305c ldrsh.w r3, [sp, #92] ; 0x5c + c972: f8ad 3074 strh.w r3, [sp, #116] ; 0x74 a.x1 = a.x2 - corner_size + 1; - cf1e: 3301 adds r3, #1 - cf20: eba3 030b sub.w r3, r3, fp - cf24: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 + c976: 3301 adds r3, #1 + c978: eba3 030b sub.w r3, r3, fp + c97c: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 a.y1 = sh_area.y1 + corner_size; - cf28: f8bd 305a ldrh.w r3, [sp, #90] ; 0x5a - cf2c: 445b add r3, fp - cf2e: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 + c980: f8bd 305a ldrh.w r3, [sp, #90] ; 0x5a + c984: 445b add r3, fp + c986: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 a.y2 = sh_area.y2 - corner_size; - cf32: f8bd 305e ldrh.w r3, [sp, #94] ; 0x5e - cf36: eba3 030b sub.w r3, r3, fp - cf3a: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 + c98a: f8bd 305e ldrh.w r3, [sp, #94] ; 0x5e + c98e: eba3 030b sub.w r3, r3, fp + c992: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 has_com = _lv_area_intersect(&ca, &a, clip); - cf3e: 9a04 ldr r2, [sp, #16] - cf40: a91c add r1, sp, #112 ; 0x70 - cf42: a81e add r0, sp, #120 ; 0x78 - cf44: 4b25 ldr r3, [pc, #148] ; (cfdc ) - cf46: 4798 blx r3 + c996: 9a04 ldr r2, [sp, #16] + c998: a91c add r1, sp, #112 ; 0x70 + c99a: a81e add r0, sp, #120 ; 0x78 + c99c: 4b25 ldr r3, [pc, #148] ; (ca34 ) + c99e: 4798 blx r3 if(has_com) { - cf48: 2800 cmp r0, #0 - cf4a: f000 8085 beq.w d058 + c9a0: 2800 cmp r0, #0 + c9a2: f000 8085 beq.w cab0 if(simple_mode) ca.x1 = LV_MATH_MAX(ca.x1, coords->x2); - cf4e: 9b07 ldr r3, [sp, #28] - cf50: b14b cbz r3, cf66 - cf52: 9b06 ldr r3, [sp, #24] - cf54: f9b3 3004 ldrsh.w r3, [r3, #4] - cf58: f9bd 2078 ldrsh.w r2, [sp, #120] ; 0x78 - cf5c: 4293 cmp r3, r2 - cf5e: bfb8 it lt - cf60: 4613 movlt r3, r2 - cf62: f8ad 3078 strh.w r3, [sp, #120] ; 0x78 + c9a6: 9b07 ldr r3, [sp, #28] + c9a8: b14b cbz r3, c9be + c9aa: 9b06 ldr r3, [sp, #24] + c9ac: f9b3 3004 ldrsh.w r3, [r3, #4] + c9b0: f9bd 2078 ldrsh.w r2, [sp, #120] ; 0x78 + c9b4: 4293 cmp r3, r2 + c9b6: bfb8 it lt + c9b8: 4613 movlt r3, r2 + c9ba: f8ad 3078 strh.w r3, [sp, #120] ; 0x78 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - cf66: f9bd 3078 ldrsh.w r3, [sp, #120] ; 0x78 - cf6a: f8bd 207c ldrh.w r2, [sp, #124] ; 0x7c - cf6e: 3201 adds r2, #1 - cf70: 1ad2 subs r2, r2, r3 - cf72: fa0f f882 sxth.w r8, r2 + c9be: f9bd 3078 ldrsh.w r3, [sp, #120] ; 0x78 + c9c2: f8bd 207c ldrh.w r2, [sp, #124] ; 0x7c + c9c6: 3201 adds r2, #1 + c9c8: 1ad2 subs r2, r2, r3 + c9ca: fa0f f882 sxth.w r8, r2 if(w > 0) { - cf76: f1b8 0f00 cmp.w r8, #0 - cf7a: dd6d ble.n d058 + c9ce: f1b8 0f00 cmp.w r8, #0 + c9d2: dd6d ble.n cab0 return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - cf7c: f8bd 407e ldrh.w r4, [sp, #126] ; 0x7e - cf80: 3401 adds r4, #1 - cf82: f8bd 207a ldrh.w r2, [sp, #122] ; 0x7a - cf86: 1aa4 subs r4, r4, r2 - cf88: b224 sxth r4, r4 + c9d4: f8bd 407e ldrh.w r4, [sp, #126] ; 0x7e + c9d8: 3401 adds r4, #1 + c9da: f8bd 207a ldrh.w r2, [sp, #122] ; 0x7a + c9de: 1aa4 subs r4, r4, r2 + c9e0: b224 sxth r4, r4 sh_buf_tmp = sh_buf + corner_size * (corner_size - 1); - cf8a: f109 31ff add.w r1, r9, #4294967295 + c9e2: f109 31ff add.w r1, r9, #4294967295 sh_buf_tmp += ca.x1 - a.x1; - cf8e: f9bd 2070 ldrsh.w r2, [sp, #112] ; 0x70 - cf92: 1a9b subs r3, r3, r2 - cf94: fb09 3301 mla r3, r9, r1, r3 - cf98: 9a0a ldr r2, [sp, #40] ; 0x28 - cf9a: 18d3 adds r3, r2, r3 - cf9c: 9308 str r3, [sp, #32] - cf9e: f10d 0277 add.w r2, sp, #119 ; 0x77 + c9e6: f9bd 2070 ldrsh.w r2, [sp, #112] ; 0x70 + c9ea: 1a9b subs r3, r3, r2 + c9ec: fb09 3301 mla r3, r9, r1, r3 + c9f0: 9a0a ldr r2, [sp, #40] ; 0x28 + c9f2: 18d3 adds r3, r2, r3 + c9f4: 9308 str r3, [sp, #32] + c9f6: f10d 0277 add.w r2, sp, #119 ; 0x77 uint8_t * d8 = (uint8_t *)dst; - cfa2: ab22 add r3, sp, #136 ; 0x88 + c9fa: ab22 add r3, sp, #136 ; 0x88 while(len) { - cfa4: a824 add r0, sp, #144 ; 0x90 + c9fc: a824 add r0, sp, #144 ; 0x90 *d8 = *s8; - cfa6: f812 1f01 ldrb.w r1, [r2, #1]! - cfaa: f803 1b01 strb.w r1, [r3], #1 + c9fe: f812 1f01 ldrb.w r1, [r2, #1]! + ca02: f803 1b01 strb.w r1, [r3], #1 while(len) { - cfae: 4283 cmp r3, r0 - cfb0: d1f9 bne.n cfa6 + ca06: 4283 cmp r3, r0 + ca08: d1f9 bne.n c9fe fa.y2 = fa.y1; - cfb2: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a - cfb6: f8ad 308e strh.w r3, [sp, #142] ; 0x8e + ca0a: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a + ca0e: f8ad 308e strh.w r3, [sp, #142] ; 0x8e for(y = 0; y < h; y++) { - cfba: 4625 mov r5, r4 - cfbc: 2c00 cmp r4, #0 - cfbe: dd4b ble.n d058 - cfc0: 2400 movs r4, #0 + ca12: 4625 mov r5, r4 + ca14: 2c00 cmp r4, #0 + ca16: dd4b ble.n cab0 + ca18: 2400 movs r4, #0 _lv_memcpy(mask_buf, sh_buf_tmp, w); - cfc2: 4f07 ldr r7, [pc, #28] ; (cfe0 ) + ca1a: 4f07 ldr r7, [pc, #28] ; (ca38 ) _lv_blend_fill(clip, &fa, - cfc4: f8cd 902c str.w r9, [sp, #44] ; 0x2c - cfc8: 46a9 mov r9, r5 - cfca: 9d07 ldr r5, [sp, #28] - cfcc: e03a b.n d044 - cfce: bf00 nop - cfd0: 00012ee5 .word 0x00012ee5 - cfd4: 0000c5d5 .word 0x0000c5d5 - cfd8: 0000c369 .word 0x0000c369 - cfdc: 00011ac1 .word 0x00011ac1 - cfe0: 00012bfd .word 0x00012bfd - cfe4: 0000c3c5 .word 0x0000c3c5 - cfe8: 00007cf9 .word 0x00007cf9 + ca1c: f8cd 902c str.w r9, [sp, #44] ; 0x2c + ca20: 46a9 mov r9, r5 + ca22: 9d07 ldr r5, [sp, #28] + ca24: e03a b.n ca9c + ca26: bf00 nop + ca28: 0001293d .word 0x0001293d + ca2c: 0000c02d .word 0x0000c02d + ca30: 0000bdc1 .word 0x0000bdc1 + ca34: 00011519 .word 0x00011519 + ca38: 00012655 .word 0x00012655 + ca3c: 0000be1d .word 0x0000be1d + ca40: 00007751 .word 0x00007751 else if(dsc->shadow_ofs_x != 0 || dsc->shadow_ofs_y != 0) simple_mode = false; - cfec: 2300 movs r3, #0 - cfee: 9307 str r3, [sp, #28] - cff0: e662 b.n ccb8 - cff2: 2300 movs r3, #0 - cff4: 9307 str r3, [sp, #28] - cff6: e65f b.n ccb8 + ca44: 2300 movs r3, #0 + ca46: 9307 str r3, [sp, #28] + ca48: e662 b.n c710 + ca4a: 2300 movs r3, #0 + ca4c: 9307 str r3, [sp, #28] + ca4e: e65f b.n c710 mask_res = lv_draw_mask_apply(mask_buf, fa.x1, fa.y1, w); - cff8: 4643 mov r3, r8 - cffa: f9bd 208a ldrsh.w r2, [sp, #138] ; 0x8a - cffe: f9bd 1088 ldrsh.w r1, [sp, #136] ; 0x88 - d002: 9805 ldr r0, [sp, #20] - d004: 4e23 ldr r6, [pc, #140] ; (d094 ) - d006: 47b0 blx r6 + ca50: 4643 mov r3, r8 + ca52: f9bd 208a ldrsh.w r2, [sp, #138] ; 0x8a + ca56: f9bd 1088 ldrsh.w r1, [sp, #136] ; 0x88 + ca5a: 9805 ldr r0, [sp, #20] + ca5c: 4e23 ldr r6, [pc, #140] ; (caec ) + ca5e: 47b0 blx r6 if(mask_res == LV_DRAW_MASK_RES_FULL_COVER) mask_res = LV_DRAW_MASK_RES_CHANGED; - d008: 2801 cmp r0, #1 - d00a: bf08 it eq - d00c: 2002 moveq r0, #2 + ca60: 2801 cmp r0, #1 + ca62: bf08 it eq + ca64: 2002 moveq r0, #2 _lv_blend_fill(clip, &fa, - d00e: f89a 3029 ldrb.w r3, [sl, #41] ; 0x29 - d012: 9302 str r3, [sp, #8] - d014: f89a 3028 ldrb.w r3, [sl, #40] ; 0x28 - d018: 9301 str r3, [sp, #4] - d01a: 9000 str r0, [sp, #0] - d01c: 9b05 ldr r3, [sp, #20] - d01e: f8ba 201e ldrh.w r2, [sl, #30] - d022: a922 add r1, sp, #136 ; 0x88 - d024: 9804 ldr r0, [sp, #16] - d026: 4e1c ldr r6, [pc, #112] ; (d098 ) - d028: 47b0 blx r6 + ca66: f89a 3029 ldrb.w r3, [sl, #41] ; 0x29 + ca6a: 9302 str r3, [sp, #8] + ca6c: f89a 3028 ldrb.w r3, [sl, #40] ; 0x28 + ca70: 9301 str r3, [sp, #4] + ca72: 9000 str r0, [sp, #0] + ca74: 9b05 ldr r3, [sp, #20] + ca76: f8ba 201e ldrh.w r2, [sl, #30] + ca7a: a922 add r1, sp, #136 ; 0x88 + ca7c: 9804 ldr r0, [sp, #16] + ca7e: 4e1c ldr r6, [pc, #112] ; (caf0 ) + ca80: 47b0 blx r6 fa.y1++; - d02a: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a - d02e: 3301 adds r3, #1 - d030: f8ad 308a strh.w r3, [sp, #138] ; 0x8a + ca82: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a + ca86: 3301 adds r3, #1 + ca88: f8ad 308a strh.w r3, [sp, #138] ; 0x8a fa.y2++; - d034: f8bd 308e ldrh.w r3, [sp, #142] ; 0x8e - d038: 3301 adds r3, #1 - d03a: f8ad 308e strh.w r3, [sp, #142] ; 0x8e + ca8c: f8bd 308e ldrh.w r3, [sp, #142] ; 0x8e + ca90: 3301 adds r3, #1 + ca92: f8ad 308e strh.w r3, [sp, #142] ; 0x8e for(y = 0; y < h; y++) { - d03e: 3401 adds r4, #1 - d040: 454c cmp r4, r9 - d042: d007 beq.n d054 + ca96: 3401 adds r4, #1 + ca98: 454c cmp r4, r9 + ca9a: d007 beq.n caac _lv_memcpy(mask_buf, sh_buf_tmp, w); - d044: 4642 mov r2, r8 - d046: 9908 ldr r1, [sp, #32] - d048: 9805 ldr r0, [sp, #20] - d04a: 47b8 blx r7 + ca9c: 4642 mov r2, r8 + ca9e: 9908 ldr r1, [sp, #32] + caa0: 9805 ldr r0, [sp, #20] + caa2: 47b8 blx r7 if(simple_mode) { - d04c: 2d00 cmp r5, #0 - d04e: d0d3 beq.n cff8 + caa4: 2d00 cmp r5, #0 + caa6: d0d3 beq.n ca50 mask_res = LV_DRAW_MASK_RES_CHANGED; - d050: 2002 movs r0, #2 - d052: e7dc b.n d00e - d054: f8dd 902c ldr.w r9, [sp, #44] ; 0x2c + caa8: 2002 movs r0, #2 + caaa: e7dc b.n ca66 + caac: f8dd 902c ldr.w r9, [sp, #44] ; 0x2c for(y = 0; y < corner_size; y++) { - d058: f1b9 0f00 cmp.w r9, #0 - d05c: dd1e ble.n d09c + cab0: f1b9 0f00 cmp.w r9, #0 + cab4: dd1e ble.n caf4 for(x = 0; x < corner_size / 2; x++) { - d05e: eb09 77d9 add.w r7, r9, r9, lsr #31 - d062: 107f asrs r7, r7, #1 - d064: 9d0a ldr r5, [sp, #40] ; 0x28 - d066: 2600 movs r6, #0 - d068: e00c b.n d084 + cab6: eb09 77d9 add.w r7, r9, r9, lsr #31 + caba: 107f asrs r7, r7, #1 + cabc: 9d0a ldr r5, [sp, #40] ; 0x28 + cabe: 2600 movs r6, #0 + cac0: e00c b.n cadc lv_opa_t tmp = sh_buf_tmp[x]; - d06a: 7819 ldrb r1, [r3, #0] + cac2: 7819 ldrb r1, [r3, #0] sh_buf_tmp[x] = sh_buf_tmp[corner_size - x - 1]; - d06c: f812 0c01 ldrb.w r0, [r2, #-1] - d070: f803 0b01 strb.w r0, [r3], #1 + cac4: f812 0c01 ldrb.w r0, [r2, #-1] + cac8: f803 0b01 strb.w r0, [r3], #1 sh_buf_tmp[corner_size - x - 1] = tmp; - d074: f802 1d01 strb.w r1, [r2, #-1]! + cacc: f802 1d01 strb.w r1, [r2, #-1]! for(x = 0; x < corner_size / 2; x++) { - d078: 42a3 cmp r3, r4 - d07a: d1f6 bne.n d06a - d07c: 444d add r5, r9 + cad0: 42a3 cmp r3, r4 + cad2: d1f6 bne.n cac2 + cad4: 444d add r5, r9 for(y = 0; y < corner_size; y++) { - d07e: 3601 adds r6, #1 - d080: 45b1 cmp r9, r6 - d082: d00b beq.n d09c + cad6: 3601 adds r6, #1 + cad8: 45b1 cmp r9, r6 + cada: d00b beq.n caf4 for(x = 0; x < corner_size / 2; x++) { - d084: 2f00 cmp r7, #0 - d086: ddf9 ble.n d07c - d088: 462b mov r3, r5 - d08a: eb05 0209 add.w r2, r5, r9 - d08e: 19ec adds r4, r5, r7 - d090: e7eb b.n d06a - d092: bf00 nop - d094: 0000c3c5 .word 0x0000c3c5 - d098: 00007cf9 .word 0x00007cf9 + cadc: 2f00 cmp r7, #0 + cade: ddf9 ble.n cad4 + cae0: 462b mov r3, r5 + cae2: eb05 0209 add.w r2, r5, r9 + cae6: 19ec adds r4, r5, r7 + cae8: e7eb b.n cac2 + caea: bf00 nop + caec: 0000be1d .word 0x0000be1d + caf0: 00007751 .word 0x00007751 a.x1 = sh_area.x1; - d09c: f9bd 3058 ldrsh.w r3, [sp, #88] ; 0x58 - d0a0: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 + caf4: f9bd 3058 ldrsh.w r3, [sp, #88] ; 0x58 + caf8: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 a.x2 = a.x1 + corner_size - 1; - d0a4: 3b01 subs r3, #1 - d0a6: 445b add r3, fp - d0a8: f8ad 3074 strh.w r3, [sp, #116] ; 0x74 + cafc: 3b01 subs r3, #1 + cafe: 445b add r3, fp + cb00: f8ad 3074 strh.w r3, [sp, #116] ; 0x74 a.y1 = sh_area.y1; - d0ac: f9bd 305a ldrsh.w r3, [sp, #90] ; 0x5a - d0b0: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 + cb04: f9bd 305a ldrsh.w r3, [sp, #90] ; 0x5a + cb08: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 a.y2 = a.y1 + corner_size - 1; - d0b4: 3b01 subs r3, #1 - d0b6: 445b add r3, fp - d0b8: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 + cb0c: 3b01 subs r3, #1 + cb0e: 445b add r3, fp + cb10: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 has_com = _lv_area_intersect(&ca, &a, clip); - d0bc: 9a04 ldr r2, [sp, #16] - d0be: a91c add r1, sp, #112 ; 0x70 - d0c0: a81e add r0, sp, #120 ; 0x78 - d0c2: 4bae ldr r3, [pc, #696] ; (d37c ) - d0c4: 4798 blx r3 + cb14: 9a04 ldr r2, [sp, #16] + cb16: a91c add r1, sp, #112 ; 0x70 + cb18: a81e add r0, sp, #120 ; 0x78 + cb1a: 4bae ldr r3, [pc, #696] ; (cdd4 ) + cb1c: 4798 blx r3 if(has_com) { - d0c6: 2800 cmp r0, #0 - d0c8: d071 beq.n d1ae + cb1e: 2800 cmp r0, #0 + cb20: d071 beq.n cc06 if(ca.y2 > h_half) ca.y2 = h_half; - d0ca: f9bd 307e ldrsh.w r3, [sp, #126] ; 0x7e - d0ce: 990c ldr r1, [sp, #48] ; 0x30 - d0d0: 428b cmp r3, r1 - d0d2: bfc4 itt gt - d0d4: 460b movgt r3, r1 - d0d6: f8ad 307e strhgt.w r3, [sp, #126] ; 0x7e + cb22: f9bd 307e ldrsh.w r3, [sp, #126] ; 0x7e + cb26: 990c ldr r1, [sp, #48] ; 0x30 + cb28: 428b cmp r3, r1 + cb2a: bfc4 itt gt + cb2c: 460b movgt r3, r1 + cb2e: f8ad 307e strhgt.w r3, [sp, #126] ; 0x7e if(ca.x2 > w_half) ca.x2 = w_half; - d0da: f9bd 307c ldrsh.w r3, [sp, #124] ; 0x7c - d0de: 990d ldr r1, [sp, #52] ; 0x34 - d0e0: 428b cmp r3, r1 - d0e2: bfc4 itt gt - d0e4: 460b movgt r3, r1 - d0e6: f8ad 307c strhgt.w r3, [sp, #124] ; 0x7c + cb32: f9bd 307c ldrsh.w r3, [sp, #124] ; 0x7c + cb36: 990d ldr r1, [sp, #52] ; 0x34 + cb38: 428b cmp r3, r1 + cb3a: bfc4 itt gt + cb3c: 460b movgt r3, r1 + cb3e: f8ad 307c strhgt.w r3, [sp, #124] ; 0x7c return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - d0ea: f9bd 2078 ldrsh.w r2, [sp, #120] ; 0x78 - d0ee: f8bd 307c ldrh.w r3, [sp, #124] ; 0x7c - d0f2: 3301 adds r3, #1 - d0f4: 1a9b subs r3, r3, r2 - d0f6: b21b sxth r3, r3 - d0f8: 9308 str r3, [sp, #32] + cb42: f9bd 2078 ldrsh.w r2, [sp, #120] ; 0x78 + cb46: f8bd 307c ldrh.w r3, [sp, #124] ; 0x7c + cb4a: 3301 adds r3, #1 + cb4c: 1a9b subs r3, r3, r2 + cb4e: b21b sxth r3, r3 + cb50: 9308 str r3, [sp, #32] if(w > 0) { - d0fa: 2b00 cmp r3, #0 - d0fc: dd57 ble.n d1ae + cb52: 2b00 cmp r3, #0 + cb54: dd57 ble.n cc06 return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - d0fe: f9bd 707e ldrsh.w r7, [sp, #126] ; 0x7e - d102: f9bd 407a ldrsh.w r4, [sp, #122] ; 0x7a + cb56: f9bd 707e ldrsh.w r7, [sp, #126] ; 0x7e + cb5a: f9bd 407a ldrsh.w r4, [sp, #122] ; 0x7a sh_buf_tmp += corner_size * (ca.y1 - a.y1); - d106: f9bd 5072 ldrsh.w r5, [sp, #114] ; 0x72 - d10a: 1b65 subs r5, r4, r5 + cb5e: f9bd 5072 ldrsh.w r5, [sp, #114] ; 0x72 + cb62: 1b65 subs r5, r4, r5 sh_buf_tmp = sh_buf + (ca.x1 - a.x1); - d10c: f9bd 3070 ldrsh.w r3, [sp, #112] ; 0x70 - d110: 1ad2 subs r2, r2, r3 + cb64: f9bd 3070 ldrsh.w r3, [sp, #112] ; 0x70 + cb68: 1ad2 subs r2, r2, r3 sh_buf_tmp += corner_size * (ca.y1 - a.y1); - d112: fb09 2505 mla r5, r9, r5, r2 - d116: 9b0a ldr r3, [sp, #40] ; 0x28 - d118: 441d add r5, r3 - d11a: f10d 0277 add.w r2, sp, #119 ; 0x77 + cb6a: fb09 2505 mla r5, r9, r5, r2 + cb6e: 9b0a ldr r3, [sp, #40] ; 0x28 + cb70: 441d add r5, r3 + cb72: f10d 0277 add.w r2, sp, #119 ; 0x77 uint8_t * d8 = (uint8_t *)dst; - d11e: ab22 add r3, sp, #136 ; 0x88 + cb76: ab22 add r3, sp, #136 ; 0x88 while(len) { - d120: a824 add r0, sp, #144 ; 0x90 + cb78: a824 add r0, sp, #144 ; 0x90 *d8 = *s8; - d122: f812 1f01 ldrb.w r1, [r2, #1]! - d126: f803 1b01 strb.w r1, [r3], #1 + cb7a: f812 1f01 ldrb.w r1, [r2, #1]! + cb7e: f803 1b01 strb.w r1, [r3], #1 while(len) { - d12a: 4283 cmp r3, r0 - d12c: d1f9 bne.n d122 + cb82: 4283 cmp r3, r0 + cb84: d1f9 bne.n cb7a fa.y2 = fa.y1; - d12e: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a - d132: f8ad 308e strh.w r3, [sp, #142] ; 0x8e - d136: 3701 adds r7, #1 - d138: 1b3f subs r7, r7, r4 + cb86: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a + cb8a: f8ad 308e strh.w r3, [sp, #142] ; 0x8e + cb8e: 3701 adds r7, #1 + cb90: 1b3f subs r7, r7, r4 for(y = 0; y < h; y++) { - d13a: b23f sxth r7, r7 - d13c: 2f00 cmp r7, #0 - d13e: dd36 ble.n d1ae - d140: 2600 movs r6, #0 + cb92: b23f sxth r7, r7 + cb94: 2f00 cmp r7, #0 + cb96: dd36 ble.n cc06 + cb98: 2600 movs r6, #0 _lv_blend_fill(clip, &fa, dsc->shadow_color, mask_buf, - d142: f8df 8244 ldr.w r8, [pc, #580] ; d388 - d146: f8cd b040 str.w fp, [sp, #64] ; 0x40 - d14a: 46bb mov fp, r7 - d14c: 9b09 ldr r3, [sp, #36] ; 0x24 - d14e: 930b str r3, [sp, #44] ; 0x2c + cb9a: f8df 8244 ldr.w r8, [pc, #580] ; cde0 + cb9e: f8cd b040 str.w fp, [sp, #64] ; 0x40 + cba2: 46bb mov fp, r7 + cba4: 9b09 ldr r3, [sp, #36] ; 0x24 + cba6: 930b str r3, [sp, #44] ; 0x2c _lv_memcpy(mask_buf, sh_buf_tmp, w); - d150: 9a08 ldr r2, [sp, #32] - d152: 4629 mov r1, r5 - d154: 9f05 ldr r7, [sp, #20] - d156: 4638 mov r0, r7 - d158: 4c89 ldr r4, [pc, #548] ; (d380 ) - d15a: 47a0 blx r4 + cba8: 9a08 ldr r2, [sp, #32] + cbaa: 4629 mov r1, r5 + cbac: 9f05 ldr r7, [sp, #20] + cbae: 4638 mov r0, r7 + cbb0: 4c89 ldr r4, [pc, #548] ; (cdd8 ) + cbb2: 47a0 blx r4 mask_res = lv_draw_mask_apply(mask_buf, fa.x1, fa.y1, w); - d15c: ac30 add r4, sp, #192 ; 0xc0 - d15e: 9b08 ldr r3, [sp, #32] - d160: f9bd 208a ldrsh.w r2, [sp, #138] ; 0x8a - d164: f934 1d38 ldrsh.w r1, [r4, #-56]! - d168: 9705 str r7, [sp, #20] - d16a: 4638 mov r0, r7 - d16c: 4f85 ldr r7, [pc, #532] ; (d384 ) - d16e: 47b8 blx r7 + cbb4: ac30 add r4, sp, #192 ; 0xc0 + cbb6: 9b08 ldr r3, [sp, #32] + cbb8: f9bd 208a ldrsh.w r2, [sp, #138] ; 0x8a + cbbc: f934 1d38 ldrsh.w r1, [r4, #-56]! + cbc0: 9705 str r7, [sp, #20] + cbc2: 4638 mov r0, r7 + cbc4: 4f85 ldr r7, [pc, #532] ; (cddc ) + cbc6: 47b8 blx r7 if(mask_res == LV_DRAW_MASK_RES_FULL_COVER) mask_res = LV_DRAW_MASK_RES_CHANGED; - d170: 2801 cmp r0, #1 - d172: bf08 it eq - d174: 2002 moveq r0, #2 + cbc8: 2801 cmp r0, #1 + cbca: bf08 it eq + cbcc: 2002 moveq r0, #2 _lv_blend_fill(clip, &fa, dsc->shadow_color, mask_buf, - d176: f89a 3029 ldrb.w r3, [sl, #41] ; 0x29 - d17a: 9302 str r3, [sp, #8] - d17c: 9a0b ldr r2, [sp, #44] ; 0x2c - d17e: 9201 str r2, [sp, #4] - d180: 9000 str r0, [sp, #0] - d182: 9b05 ldr r3, [sp, #20] - d184: f8ba 201e ldrh.w r2, [sl, #30] - d188: 4621 mov r1, r4 - d18a: 9804 ldr r0, [sp, #16] - d18c: 47c0 blx r8 + cbce: f89a 3029 ldrb.w r3, [sl, #41] ; 0x29 + cbd2: 9302 str r3, [sp, #8] + cbd4: 9a0b ldr r2, [sp, #44] ; 0x2c + cbd6: 9201 str r2, [sp, #4] + cbd8: 9000 str r0, [sp, #0] + cbda: 9b05 ldr r3, [sp, #20] + cbdc: f8ba 201e ldrh.w r2, [sl, #30] + cbe0: 4621 mov r1, r4 + cbe2: 9804 ldr r0, [sp, #16] + cbe4: 47c0 blx r8 fa.y1++; - d18e: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a - d192: 3301 adds r3, #1 - d194: f8ad 308a strh.w r3, [sp, #138] ; 0x8a + cbe6: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a + cbea: 3301 adds r3, #1 + cbec: f8ad 308a strh.w r3, [sp, #138] ; 0x8a fa.y2++; - d198: f8bd 308e ldrh.w r3, [sp, #142] ; 0x8e - d19c: 3301 adds r3, #1 - d19e: f8ad 308e strh.w r3, [sp, #142] ; 0x8e - d1a2: 444d add r5, r9 + cbf0: f8bd 308e ldrh.w r3, [sp, #142] ; 0x8e + cbf4: 3301 adds r3, #1 + cbf6: f8ad 308e strh.w r3, [sp, #142] ; 0x8e + cbfa: 444d add r5, r9 for(y = 0; y < h; y++) { - d1a4: 3601 adds r6, #1 - d1a6: 455e cmp r6, fp - d1a8: d1d2 bne.n d150 - d1aa: f8dd b040 ldr.w fp, [sp, #64] ; 0x40 + cbfc: 3601 adds r6, #1 + cbfe: 455e cmp r6, fp + cc00: d1d2 bne.n cba8 + cc02: f8dd b040 ldr.w fp, [sp, #64] ; 0x40 a.x1 = sh_area.x1; - d1ae: f9bd 3058 ldrsh.w r3, [sp, #88] ; 0x58 - d1b2: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 + cc06: f9bd 3058 ldrsh.w r3, [sp, #88] ; 0x58 + cc0a: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 a.x2 = a.x1 + corner_size - 1; - d1b6: 3b01 subs r3, #1 - d1b8: 445b add r3, fp - d1ba: f8ad 3074 strh.w r3, [sp, #116] ; 0x74 + cc0e: 3b01 subs r3, #1 + cc10: 445b add r3, fp + cc12: f8ad 3074 strh.w r3, [sp, #116] ; 0x74 a.y1 = sh_area.y2 - corner_size + 1; - d1be: f9bd 205e ldrsh.w r2, [sp, #94] ; 0x5e - d1c2: 1c53 adds r3, r2, #1 - d1c4: eba3 030b sub.w r3, r3, fp - d1c8: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 + cc16: f9bd 205e ldrsh.w r2, [sp, #94] ; 0x5e + cc1a: 1c53 adds r3, r2, #1 + cc1c: eba3 030b sub.w r3, r3, fp + cc20: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 a.y2 = sh_area.y2; - d1cc: f8ad 2076 strh.w r2, [sp, #118] ; 0x76 + cc24: f8ad 2076 strh.w r2, [sp, #118] ; 0x76 has_com = _lv_area_intersect(&ca, &a, clip); - d1d0: 9a04 ldr r2, [sp, #16] - d1d2: a91c add r1, sp, #112 ; 0x70 - d1d4: a81e add r0, sp, #120 ; 0x78 - d1d6: 4b69 ldr r3, [pc, #420] ; (d37c ) - d1d8: 4798 blx r3 + cc28: 9a04 ldr r2, [sp, #16] + cc2a: a91c add r1, sp, #112 ; 0x70 + cc2c: a81e add r0, sp, #120 ; 0x78 + cc2e: 4b69 ldr r3, [pc, #420] ; (cdd4 ) + cc30: 4798 blx r3 if(has_com) { - d1da: 2800 cmp r0, #0 - d1dc: d072 beq.n d2c4 + cc32: 2800 cmp r0, #0 + cc34: d072 beq.n cd1c if(ca.y1 <= h_half) ca.y1 = h_half + 1; - d1de: f9bd 307a ldrsh.w r3, [sp, #122] ; 0x7a - d1e2: 9a0c ldr r2, [sp, #48] ; 0x30 - d1e4: 4293 cmp r3, r2 - d1e6: dc03 bgt.n d1f0 - d1e8: 9b0f ldr r3, [sp, #60] ; 0x3c - d1ea: 3301 adds r3, #1 - d1ec: f8ad 307a strh.w r3, [sp, #122] ; 0x7a + cc36: f9bd 307a ldrsh.w r3, [sp, #122] ; 0x7a + cc3a: 9a0c ldr r2, [sp, #48] ; 0x30 + cc3c: 4293 cmp r3, r2 + cc3e: dc03 bgt.n cc48 + cc40: 9b0f ldr r3, [sp, #60] ; 0x3c + cc42: 3301 adds r3, #1 + cc44: f8ad 307a strh.w r3, [sp, #122] ; 0x7a if(ca.x2 > w_half) ca.x2 = w_half; - d1f0: f9bd 307c ldrsh.w r3, [sp, #124] ; 0x7c - d1f4: 990d ldr r1, [sp, #52] ; 0x34 - d1f6: 428b cmp r3, r1 - d1f8: bfc4 itt gt - d1fa: 460b movgt r3, r1 - d1fc: f8ad 307c strhgt.w r3, [sp, #124] ; 0x7c + cc48: f9bd 307c ldrsh.w r3, [sp, #124] ; 0x7c + cc4c: 990d ldr r1, [sp, #52] ; 0x34 + cc4e: 428b cmp r3, r1 + cc50: bfc4 itt gt + cc52: 460b movgt r3, r1 + cc54: f8ad 307c strhgt.w r3, [sp, #124] ; 0x7c return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - d200: f9bd 2078 ldrsh.w r2, [sp, #120] ; 0x78 - d204: f8bd 307c ldrh.w r3, [sp, #124] ; 0x7c - d208: 3301 adds r3, #1 - d20a: 1a9b subs r3, r3, r2 - d20c: b21b sxth r3, r3 - d20e: 9308 str r3, [sp, #32] + cc58: f9bd 2078 ldrsh.w r2, [sp, #120] ; 0x78 + cc5c: f8bd 307c ldrh.w r3, [sp, #124] ; 0x7c + cc60: 3301 adds r3, #1 + cc62: 1a9b subs r3, r3, r2 + cc64: b21b sxth r3, r3 + cc66: 9308 str r3, [sp, #32] if(w > 0) { - d210: 2b00 cmp r3, #0 - d212: dd57 ble.n d2c4 + cc68: 2b00 cmp r3, #0 + cc6a: dd57 ble.n cd1c return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - d214: f9bd 407e ldrsh.w r4, [sp, #126] ; 0x7e - d218: f9bd 607a ldrsh.w r6, [sp, #122] ; 0x7a + cc6c: f9bd 407e ldrsh.w r4, [sp, #126] ; 0x7e + cc70: f9bd 607a ldrsh.w r6, [sp, #122] ; 0x7a sh_buf_tmp += corner_size * (a.y2 - ca.y2); - d21c: f9bd 5076 ldrsh.w r5, [sp, #118] ; 0x76 - d220: 1b2d subs r5, r5, r4 + cc74: f9bd 5076 ldrsh.w r5, [sp, #118] ; 0x76 + cc78: 1b2d subs r5, r5, r4 sh_buf_tmp = sh_buf + (ca.x1 - a.x1); - d222: f9bd 3070 ldrsh.w r3, [sp, #112] ; 0x70 - d226: 1ad2 subs r2, r2, r3 + cc7a: f9bd 3070 ldrsh.w r3, [sp, #112] ; 0x70 + cc7e: 1ad2 subs r2, r2, r3 sh_buf_tmp += corner_size * (a.y2 - ca.y2); - d228: fb09 2505 mla r5, r9, r5, r2 - d22c: 9b0a ldr r3, [sp, #40] ; 0x28 - d22e: 441d add r5, r3 - d230: f10d 0277 add.w r2, sp, #119 ; 0x77 + cc80: fb09 2505 mla r5, r9, r5, r2 + cc84: 9b0a ldr r3, [sp, #40] ; 0x28 + cc86: 441d add r5, r3 + cc88: f10d 0277 add.w r2, sp, #119 ; 0x77 uint8_t * d8 = (uint8_t *)dst; - d234: ab22 add r3, sp, #136 ; 0x88 + cc8c: ab22 add r3, sp, #136 ; 0x88 while(len) { - d236: a824 add r0, sp, #144 ; 0x90 + cc8e: a824 add r0, sp, #144 ; 0x90 *d8 = *s8; - d238: f812 1f01 ldrb.w r1, [r2, #1]! - d23c: f803 1b01 strb.w r1, [r3], #1 + cc90: f812 1f01 ldrb.w r1, [r2, #1]! + cc94: f803 1b01 strb.w r1, [r3], #1 while(len) { - d240: 4283 cmp r3, r0 - d242: d1f9 bne.n d238 + cc98: 4283 cmp r3, r0 + cc9a: d1f9 bne.n cc90 fa.y1 = fa.y2; /*Fill from bottom to top*/ - d244: f8bd 308e ldrh.w r3, [sp, #142] ; 0x8e - d248: f8ad 308a strh.w r3, [sp, #138] ; 0x8a - d24c: 1c67 adds r7, r4, #1 - d24e: 1bbf subs r7, r7, r6 + cc9c: f8bd 308e ldrh.w r3, [sp, #142] ; 0x8e + cca0: f8ad 308a strh.w r3, [sp, #138] ; 0x8a + cca4: 1c67 adds r7, r4, #1 + cca6: 1bbf subs r7, r7, r6 for(y = 0; y < h; y++) { - d250: b23f sxth r7, r7 - d252: 2f00 cmp r7, #0 - d254: dd36 ble.n d2c4 - d256: 2600 movs r6, #0 + cca8: b23f sxth r7, r7 + ccaa: 2f00 cmp r7, #0 + ccac: dd36 ble.n cd1c + ccae: 2600 movs r6, #0 _lv_blend_fill(clip, &fa, dsc->shadow_color, mask_buf, - d258: f8df 812c ldr.w r8, [pc, #300] ; d388 - d25c: f8cd b030 str.w fp, [sp, #48] ; 0x30 - d260: 46bb mov fp, r7 - d262: 9b09 ldr r3, [sp, #36] ; 0x24 - d264: 930b str r3, [sp, #44] ; 0x2c + ccb0: f8df 812c ldr.w r8, [pc, #300] ; cde0 + ccb4: f8cd b030 str.w fp, [sp, #48] ; 0x30 + ccb8: 46bb mov fp, r7 + ccba: 9b09 ldr r3, [sp, #36] ; 0x24 + ccbc: 930b str r3, [sp, #44] ; 0x2c _lv_memcpy(mask_buf, sh_buf_tmp, w); - d266: 9a08 ldr r2, [sp, #32] - d268: 4629 mov r1, r5 - d26a: 9f05 ldr r7, [sp, #20] - d26c: 4638 mov r0, r7 - d26e: 4c44 ldr r4, [pc, #272] ; (d380 ) - d270: 47a0 blx r4 + ccbe: 9a08 ldr r2, [sp, #32] + ccc0: 4629 mov r1, r5 + ccc2: 9f05 ldr r7, [sp, #20] + ccc4: 4638 mov r0, r7 + ccc6: 4c44 ldr r4, [pc, #272] ; (cdd8 ) + ccc8: 47a0 blx r4 mask_res = lv_draw_mask_apply(mask_buf, fa.x1, fa.y1, w); - d272: ac30 add r4, sp, #192 ; 0xc0 - d274: 9b08 ldr r3, [sp, #32] - d276: f9bd 208a ldrsh.w r2, [sp, #138] ; 0x8a - d27a: f934 1d38 ldrsh.w r1, [r4, #-56]! - d27e: 9705 str r7, [sp, #20] - d280: 4638 mov r0, r7 - d282: 4f40 ldr r7, [pc, #256] ; (d384 ) - d284: 47b8 blx r7 + ccca: ac30 add r4, sp, #192 ; 0xc0 + cccc: 9b08 ldr r3, [sp, #32] + ccce: f9bd 208a ldrsh.w r2, [sp, #138] ; 0x8a + ccd2: f934 1d38 ldrsh.w r1, [r4, #-56]! + ccd6: 9705 str r7, [sp, #20] + ccd8: 4638 mov r0, r7 + ccda: 4f40 ldr r7, [pc, #256] ; (cddc ) + ccdc: 47b8 blx r7 if(mask_res == LV_DRAW_MASK_RES_FULL_COVER) mask_res = LV_DRAW_MASK_RES_CHANGED; - d286: 2801 cmp r0, #1 - d288: bf08 it eq - d28a: 2002 moveq r0, #2 + ccde: 2801 cmp r0, #1 + cce0: bf08 it eq + cce2: 2002 moveq r0, #2 _lv_blend_fill(clip, &fa, dsc->shadow_color, mask_buf, - d28c: f89a 3029 ldrb.w r3, [sl, #41] ; 0x29 - d290: 9302 str r3, [sp, #8] - d292: 9a0b ldr r2, [sp, #44] ; 0x2c - d294: 9201 str r2, [sp, #4] - d296: 9000 str r0, [sp, #0] - d298: 9b05 ldr r3, [sp, #20] - d29a: f8ba 201e ldrh.w r2, [sl, #30] - d29e: 4621 mov r1, r4 - d2a0: 9804 ldr r0, [sp, #16] - d2a2: 47c0 blx r8 + cce4: f89a 3029 ldrb.w r3, [sl, #41] ; 0x29 + cce8: 9302 str r3, [sp, #8] + ccea: 9a0b ldr r2, [sp, #44] ; 0x2c + ccec: 9201 str r2, [sp, #4] + ccee: 9000 str r0, [sp, #0] + ccf0: 9b05 ldr r3, [sp, #20] + ccf2: f8ba 201e ldrh.w r2, [sl, #30] + ccf6: 4621 mov r1, r4 + ccf8: 9804 ldr r0, [sp, #16] + ccfa: 47c0 blx r8 fa.y1--; - d2a4: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a - d2a8: 3b01 subs r3, #1 - d2aa: f8ad 308a strh.w r3, [sp, #138] ; 0x8a + ccfc: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a + cd00: 3b01 subs r3, #1 + cd02: f8ad 308a strh.w r3, [sp, #138] ; 0x8a fa.y2--; - d2ae: f8bd 308e ldrh.w r3, [sp, #142] ; 0x8e - d2b2: 3b01 subs r3, #1 - d2b4: f8ad 308e strh.w r3, [sp, #142] ; 0x8e - d2b8: 444d add r5, r9 + cd06: f8bd 308e ldrh.w r3, [sp, #142] ; 0x8e + cd0a: 3b01 subs r3, #1 + cd0c: f8ad 308e strh.w r3, [sp, #142] ; 0x8e + cd10: 444d add r5, r9 for(y = 0; y < h; y++) { - d2ba: 3601 adds r6, #1 - d2bc: 455e cmp r6, fp - d2be: d1d2 bne.n d266 - d2c0: f8dd b030 ldr.w fp, [sp, #48] ; 0x30 + cd12: 3601 adds r6, #1 + cd14: 455e cmp r6, fp + cd16: d1d2 bne.n ccbe + cd18: f8dd b030 ldr.w fp, [sp, #48] ; 0x30 a.x1 = sh_area.x1; - d2c4: f9bd 3058 ldrsh.w r3, [sp, #88] ; 0x58 - d2c8: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 + cd1c: f9bd 3058 ldrsh.w r3, [sp, #88] ; 0x58 + cd20: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 a.x2 = a.x1 + corner_size - 1; - d2cc: 3b01 subs r3, #1 - d2ce: 445b add r3, fp - d2d0: f8ad 3074 strh.w r3, [sp, #116] ; 0x74 + cd24: 3b01 subs r3, #1 + cd26: 445b add r3, fp + cd28: f8ad 3074 strh.w r3, [sp, #116] ; 0x74 a.y1 = sh_area.y1 + corner_size; - d2d4: f8bd 305a ldrh.w r3, [sp, #90] ; 0x5a - d2d8: 445b add r3, fp - d2da: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 + cd2c: f8bd 305a ldrh.w r3, [sp, #90] ; 0x5a + cd30: 445b add r3, fp + cd32: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 a.y2 = sh_area.y2 - corner_size; - d2de: f8bd 305e ldrh.w r3, [sp, #94] ; 0x5e - d2e2: eba3 030b sub.w r3, r3, fp - d2e6: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 + cd36: f8bd 305e ldrh.w r3, [sp, #94] ; 0x5e + cd3a: eba3 030b sub.w r3, r3, fp + cd3e: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 has_com = _lv_area_intersect(&ca, &a, clip); - d2ea: 9a04 ldr r2, [sp, #16] - d2ec: a91c add r1, sp, #112 ; 0x70 - d2ee: a81e add r0, sp, #120 ; 0x78 - d2f0: 4b22 ldr r3, [pc, #136] ; (d37c ) - d2f2: 4798 blx r3 + cd42: 9a04 ldr r2, [sp, #16] + cd44: a91c add r1, sp, #112 ; 0x70 + cd46: a81e add r0, sp, #120 ; 0x78 + cd48: 4b22 ldr r3, [pc, #136] ; (cdd4 ) + cd4a: 4798 blx r3 if(has_com) { - d2f4: 2800 cmp r0, #0 - d2f6: d079 beq.n d3ec + cd4c: 2800 cmp r0, #0 + cd4e: d079 beq.n ce44 if(simple_mode) ca.x2 = LV_MATH_MIN(coords->x1, ca.x2); - d2f8: 9b07 ldr r3, [sp, #28] - d2fa: b14b cbz r3, d310 - d2fc: f9bd 307c ldrsh.w r3, [sp, #124] ; 0x7c - d300: 9a06 ldr r2, [sp, #24] - d302: f9b2 2000 ldrsh.w r2, [r2] - d306: 4293 cmp r3, r2 - d308: bfa8 it ge - d30a: 4613 movge r3, r2 - d30c: f8ad 307c strh.w r3, [sp, #124] ; 0x7c + cd50: 9b07 ldr r3, [sp, #28] + cd52: b14b cbz r3, cd68 + cd54: f9bd 307c ldrsh.w r3, [sp, #124] ; 0x7c + cd58: 9a06 ldr r2, [sp, #24] + cd5a: f9b2 2000 ldrsh.w r2, [r2] + cd5e: 4293 cmp r3, r2 + cd60: bfa8 it ge + cd62: 4613 movge r3, r2 + cd64: f8ad 307c strh.w r3, [sp, #124] ; 0x7c return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - d310: f9bd 3078 ldrsh.w r3, [sp, #120] ; 0x78 - d314: f8bd 807c ldrh.w r8, [sp, #124] ; 0x7c - d318: f108 0801 add.w r8, r8, #1 - d31c: eba8 0803 sub.w r8, r8, r3 - d320: fa0f f888 sxth.w r8, r8 + cd68: f9bd 3078 ldrsh.w r3, [sp, #120] ; 0x78 + cd6c: f8bd 807c ldrh.w r8, [sp, #124] ; 0x7c + cd70: f108 0801 add.w r8, r8, #1 + cd74: eba8 0803 sub.w r8, r8, r3 + cd78: fa0f f888 sxth.w r8, r8 if(w > 0) { - d324: f1b8 0f00 cmp.w r8, #0 - d328: dd60 ble.n d3ec + cd7c: f1b8 0f00 cmp.w r8, #0 + cd80: dd60 ble.n ce44 return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - d32a: f8bd 407e ldrh.w r4, [sp, #126] ; 0x7e - d32e: 3401 adds r4, #1 - d330: f8bd 207a ldrh.w r2, [sp, #122] ; 0x7a - d334: 1aa4 subs r4, r4, r2 - d336: b224 sxth r4, r4 + cd82: f8bd 407e ldrh.w r4, [sp, #126] ; 0x7e + cd86: 3401 adds r4, #1 + cd88: f8bd 207a ldrh.w r2, [sp, #122] ; 0x7a + cd8c: 1aa4 subs r4, r4, r2 + cd8e: b224 sxth r4, r4 sh_buf_tmp = sh_buf + corner_size * (corner_size - 1); - d338: f109 31ff add.w r1, r9, #4294967295 + cd90: f109 31ff add.w r1, r9, #4294967295 sh_buf_tmp += ca.x1 - a.x1; - d33c: f9bd 2070 ldrsh.w r2, [sp, #112] ; 0x70 - d340: 1a9b subs r3, r3, r2 - d342: fb09 3301 mla r3, r9, r1, r3 - d346: 9a0a ldr r2, [sp, #40] ; 0x28 - d348: 18d3 adds r3, r2, r3 - d34a: 9308 str r3, [sp, #32] - d34c: f10d 0277 add.w r2, sp, #119 ; 0x77 + cd94: f9bd 2070 ldrsh.w r2, [sp, #112] ; 0x70 + cd98: 1a9b subs r3, r3, r2 + cd9a: fb09 3301 mla r3, r9, r1, r3 + cd9e: 9a0a ldr r2, [sp, #40] ; 0x28 + cda0: 18d3 adds r3, r2, r3 + cda2: 9308 str r3, [sp, #32] + cda4: f10d 0277 add.w r2, sp, #119 ; 0x77 uint8_t * d8 = (uint8_t *)dst; - d350: ab22 add r3, sp, #136 ; 0x88 + cda8: ab22 add r3, sp, #136 ; 0x88 while(len) { - d352: a824 add r0, sp, #144 ; 0x90 + cdaa: a824 add r0, sp, #144 ; 0x90 *d8 = *s8; - d354: f812 1f01 ldrb.w r1, [r2, #1]! - d358: f803 1b01 strb.w r1, [r3], #1 + cdac: f812 1f01 ldrb.w r1, [r2, #1]! + cdb0: f803 1b01 strb.w r1, [r3], #1 while(len) { - d35c: 4283 cmp r3, r0 - d35e: d1f9 bne.n d354 + cdb4: 4283 cmp r3, r0 + cdb6: d1f9 bne.n cdac fa.y2 = fa.y1; - d360: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a - d364: f8ad 308e strh.w r3, [sp, #142] ; 0x8e + cdb8: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a + cdbc: f8ad 308e strh.w r3, [sp, #142] ; 0x8e for(y = 0; y < h; y++) { - d368: 4625 mov r5, r4 - d36a: 2c00 cmp r4, #0 - d36c: dd3e ble.n d3ec - d36e: 2400 movs r4, #0 + cdc0: 4625 mov r5, r4 + cdc2: 2c00 cmp r4, #0 + cdc4: dd3e ble.n ce44 + cdc6: 2400 movs r4, #0 _lv_memcpy(mask_buf, sh_buf_tmp, w); - d370: 4f03 ldr r7, [pc, #12] ; (d380 ) + cdc8: 4f03 ldr r7, [pc, #12] ; (cdd8 ) _lv_blend_fill(clip, &fa, - d372: f8cd 902c str.w r9, [sp, #44] ; 0x2c - d376: 46a9 mov r9, r5 - d378: 9d07 ldr r5, [sp, #28] - d37a: e02d b.n d3d8 - d37c: 00011ac1 .word 0x00011ac1 - d380: 00012bfd .word 0x00012bfd - d384: 0000c3c5 .word 0x0000c3c5 - d388: 00007cf9 .word 0x00007cf9 + cdca: f8cd 902c str.w r9, [sp, #44] ; 0x2c + cdce: 46a9 mov r9, r5 + cdd0: 9d07 ldr r5, [sp, #28] + cdd2: e02d b.n ce30 + cdd4: 00011519 .word 0x00011519 + cdd8: 00012655 .word 0x00012655 + cddc: 0000be1d .word 0x0000be1d + cde0: 00007751 .word 0x00007751 mask_res = lv_draw_mask_apply(mask_buf, fa.x1, fa.y1, w); - d38c: 4643 mov r3, r8 - d38e: f9bd 208a ldrsh.w r2, [sp, #138] ; 0x8a - d392: f9bd 1088 ldrsh.w r1, [sp, #136] ; 0x88 - d396: 9805 ldr r0, [sp, #20] - d398: 4eaa ldr r6, [pc, #680] ; (d644 ) - d39a: 47b0 blx r6 + cde4: 4643 mov r3, r8 + cde6: f9bd 208a ldrsh.w r2, [sp, #138] ; 0x8a + cdea: f9bd 1088 ldrsh.w r1, [sp, #136] ; 0x88 + cdee: 9805 ldr r0, [sp, #20] + cdf0: 4eaa ldr r6, [pc, #680] ; (d09c ) + cdf2: 47b0 blx r6 if(mask_res == LV_DRAW_MASK_RES_FULL_COVER) mask_res = LV_DRAW_MASK_RES_CHANGED; - d39c: 2801 cmp r0, #1 - d39e: bf08 it eq - d3a0: 2002 moveq r0, #2 + cdf4: 2801 cmp r0, #1 + cdf6: bf08 it eq + cdf8: 2002 moveq r0, #2 _lv_blend_fill(clip, &fa, - d3a2: f89a 3029 ldrb.w r3, [sl, #41] ; 0x29 - d3a6: 9302 str r3, [sp, #8] - d3a8: f89a 3028 ldrb.w r3, [sl, #40] ; 0x28 - d3ac: 9301 str r3, [sp, #4] - d3ae: 9000 str r0, [sp, #0] - d3b0: 9b05 ldr r3, [sp, #20] - d3b2: f8ba 201e ldrh.w r2, [sl, #30] - d3b6: a922 add r1, sp, #136 ; 0x88 - d3b8: 9804 ldr r0, [sp, #16] - d3ba: 4ea3 ldr r6, [pc, #652] ; (d648 ) - d3bc: 47b0 blx r6 + cdfa: f89a 3029 ldrb.w r3, [sl, #41] ; 0x29 + cdfe: 9302 str r3, [sp, #8] + ce00: f89a 3028 ldrb.w r3, [sl, #40] ; 0x28 + ce04: 9301 str r3, [sp, #4] + ce06: 9000 str r0, [sp, #0] + ce08: 9b05 ldr r3, [sp, #20] + ce0a: f8ba 201e ldrh.w r2, [sl, #30] + ce0e: a922 add r1, sp, #136 ; 0x88 + ce10: 9804 ldr r0, [sp, #16] + ce12: 4ea3 ldr r6, [pc, #652] ; (d0a0 ) + ce14: 47b0 blx r6 fa.y1++; - d3be: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a - d3c2: 3301 adds r3, #1 - d3c4: f8ad 308a strh.w r3, [sp, #138] ; 0x8a + ce16: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a + ce1a: 3301 adds r3, #1 + ce1c: f8ad 308a strh.w r3, [sp, #138] ; 0x8a fa.y2++; - d3c8: f8bd 308e ldrh.w r3, [sp, #142] ; 0x8e - d3cc: 3301 adds r3, #1 - d3ce: f8ad 308e strh.w r3, [sp, #142] ; 0x8e + ce20: f8bd 308e ldrh.w r3, [sp, #142] ; 0x8e + ce24: 3301 adds r3, #1 + ce26: f8ad 308e strh.w r3, [sp, #142] ; 0x8e for(y = 0; y < h; y++) { - d3d2: 3401 adds r4, #1 - d3d4: 454c cmp r4, r9 - d3d6: d007 beq.n d3e8 + ce2a: 3401 adds r4, #1 + ce2c: 454c cmp r4, r9 + ce2e: d007 beq.n ce40 _lv_memcpy(mask_buf, sh_buf_tmp, w); - d3d8: 4642 mov r2, r8 - d3da: 9908 ldr r1, [sp, #32] - d3dc: 9805 ldr r0, [sp, #20] - d3de: 47b8 blx r7 + ce30: 4642 mov r2, r8 + ce32: 9908 ldr r1, [sp, #32] + ce34: 9805 ldr r0, [sp, #20] + ce36: 47b8 blx r7 if(simple_mode) { - d3e0: 2d00 cmp r5, #0 - d3e2: d0d3 beq.n d38c + ce38: 2d00 cmp r5, #0 + ce3a: d0d3 beq.n cde4 mask_res = LV_DRAW_MASK_RES_CHANGED; - d3e4: 2002 movs r0, #2 - d3e6: e7dc b.n d3a2 - d3e8: f8dd 902c ldr.w r9, [sp, #44] ; 0x2c + ce3c: 2002 movs r0, #2 + ce3e: e7dc b.n cdfa + ce40: f8dd 902c ldr.w r9, [sp, #44] ; 0x2c a.x1 = sh_area.x1 + corner_size; - d3ec: f8bd 3058 ldrh.w r3, [sp, #88] ; 0x58 - d3f0: 445b add r3, fp - d3f2: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 + ce44: f8bd 3058 ldrh.w r3, [sp, #88] ; 0x58 + ce48: 445b add r3, fp + ce4a: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 a.x2 = sh_area.x2 - corner_size; - d3f6: f8bd 305c ldrh.w r3, [sp, #92] ; 0x5c - d3fa: eba3 030b sub.w r3, r3, fp - d3fe: f8ad 3074 strh.w r3, [sp, #116] ; 0x74 + ce4e: f8bd 305c ldrh.w r3, [sp, #92] ; 0x5c + ce52: eba3 030b sub.w r3, r3, fp + ce56: f8ad 3074 strh.w r3, [sp, #116] ; 0x74 a.y1 = sh_area.y1; - d402: f9bd 305a ldrsh.w r3, [sp, #90] ; 0x5a - d406: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 + ce5a: f9bd 305a ldrsh.w r3, [sp, #90] ; 0x5a + ce5e: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 a.y2 = sh_area.y1 + corner_size - 1; - d40a: 3b01 subs r3, #1 - d40c: 445b add r3, fp - d40e: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 + ce62: 3b01 subs r3, #1 + ce64: 445b add r3, fp + ce66: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 has_com = _lv_area_intersect(&ca, &a, clip); - d412: 9a04 ldr r2, [sp, #16] - d414: a91c add r1, sp, #112 ; 0x70 - d416: a81e add r0, sp, #120 ; 0x78 - d418: 4b8c ldr r3, [pc, #560] ; (d64c ) - d41a: 4798 blx r3 + ce6a: 9a04 ldr r2, [sp, #16] + ce6c: a91c add r1, sp, #112 ; 0x70 + ce6e: a81e add r0, sp, #120 ; 0x78 + ce70: 4b8c ldr r3, [pc, #560] ; (d0a4 ) + ce72: 4798 blx r3 if(has_com) { - d41c: 2800 cmp r0, #0 - d41e: d07d beq.n d51c + ce74: 2800 cmp r0, #0 + ce76: d07d beq.n cf74 if(simple_mode) ca.y2 = LV_MATH_MIN(ca.y2, coords->y1); - d420: 9b07 ldr r3, [sp, #28] - d422: b14b cbz r3, d438 - d424: 9b06 ldr r3, [sp, #24] - d426: f9b3 3002 ldrsh.w r3, [r3, #2] - d42a: f9bd 207e ldrsh.w r2, [sp, #126] ; 0x7e - d42e: 4293 cmp r3, r2 - d430: bfa8 it ge - d432: 4613 movge r3, r2 - d434: f8ad 307e strh.w r3, [sp, #126] ; 0x7e + ce78: 9b07 ldr r3, [sp, #28] + ce7a: b14b cbz r3, ce90 + ce7c: 9b06 ldr r3, [sp, #24] + ce7e: f9b3 3002 ldrsh.w r3, [r3, #2] + ce82: f9bd 207e ldrsh.w r2, [sp, #126] ; 0x7e + ce86: 4293 cmp r3, r2 + ce88: bfa8 it ge + ce8a: 4613 movge r3, r2 + ce8c: f8ad 307e strh.w r3, [sp, #126] ; 0x7e return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - d438: f8bd 307c ldrh.w r3, [sp, #124] ; 0x7c - d43c: 3301 adds r3, #1 - d43e: f8bd 2078 ldrh.w r2, [sp, #120] ; 0x78 - d442: 1a9b subs r3, r3, r2 - d444: b21b sxth r3, r3 - d446: 9308 str r3, [sp, #32] + ce90: f8bd 307c ldrh.w r3, [sp, #124] ; 0x7c + ce94: 3301 adds r3, #1 + ce96: f8bd 2078 ldrh.w r2, [sp, #120] ; 0x78 + ce9a: 1a9b subs r3, r3, r2 + ce9c: b21b sxth r3, r3 + ce9e: 9308 str r3, [sp, #32] return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - d448: f9bd 307a ldrsh.w r3, [sp, #122] ; 0x7a - d44c: f8bd 507e ldrh.w r5, [sp, #126] ; 0x7e - d450: 3501 adds r5, #1 - d452: 1aed subs r5, r5, r3 - d454: b22d sxth r5, r5 + cea0: f9bd 307a ldrsh.w r3, [sp, #122] ; 0x7a + cea4: f8bd 507e ldrh.w r5, [sp, #126] ; 0x7e + cea8: 3501 adds r5, #1 + ceaa: 1aed subs r5, r5, r3 + ceac: b22d sxth r5, r5 sh_buf_tmp = sh_buf + corner_size - 1; - d456: 46c8 mov r8, r9 + ceae: 46c8 mov r8, r9 sh_buf_tmp += corner_size * (ca.y1 - a.y1); - d458: f9bd 4072 ldrsh.w r4, [sp, #114] ; 0x72 - d45c: 1b1c subs r4, r3, r4 + ceb0: f9bd 4072 ldrsh.w r4, [sp, #114] ; 0x72 + ceb4: 1b1c subs r4, r3, r4 sh_buf_tmp = sh_buf + corner_size - 1; - d45e: f109 33ff add.w r3, r9, #4294967295 + ceb6: f109 33ff add.w r3, r9, #4294967295 sh_buf_tmp += corner_size * (ca.y1 - a.y1); - d462: fb09 3404 mla r4, r9, r4, r3 - d466: 9b0a ldr r3, [sp, #40] ; 0x28 - d468: 441c add r4, r3 - d46a: f10d 0277 add.w r2, sp, #119 ; 0x77 + ceba: fb09 3404 mla r4, r9, r4, r3 + cebe: 9b0a ldr r3, [sp, #40] ; 0x28 + cec0: 441c add r4, r3 + cec2: f10d 0277 add.w r2, sp, #119 ; 0x77 uint8_t * d8 = (uint8_t *)dst; - d46e: ab22 add r3, sp, #136 ; 0x88 + cec6: ab22 add r3, sp, #136 ; 0x88 while(len) { - d470: a824 add r0, sp, #144 ; 0x90 + cec8: a824 add r0, sp, #144 ; 0x90 *d8 = *s8; - d472: f812 1f01 ldrb.w r1, [r2, #1]! - d476: f803 1b01 strb.w r1, [r3], #1 + ceca: f812 1f01 ldrb.w r1, [r2, #1]! + cece: f803 1b01 strb.w r1, [r3], #1 while(len) { - d47a: 4283 cmp r3, r0 - d47c: d1f9 bne.n d472 + ced2: 4283 cmp r3, r0 + ced4: d1f9 bne.n ceca fa.y2 = fa.y1; - d47e: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a - d482: f8ad 308e strh.w r3, [sp, #142] ; 0x8e + ced6: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a + ceda: f8ad 308e strh.w r3, [sp, #142] ; 0x8e for(y = 0; y < h; y++) { - d486: 462b mov r3, r5 - d488: 2d00 cmp r5, #0 - d48a: dd47 ble.n d51c - d48c: 2500 movs r5, #0 + cede: 462b mov r3, r5 + cee0: 2d00 cmp r5, #0 + cee2: dd47 ble.n cf74 + cee4: 2500 movs r5, #0 _lv_memset(mask_buf, opa_tmp, w); - d48e: 4f70 ldr r7, [pc, #448] ; (d650 ) + cee6: 4f70 ldr r7, [pc, #448] ; (d0a8 ) _lv_blend_fill(clip, &fa, dsc->shadow_color, mask_buf, - d490: f8cd 902c str.w r9, [sp, #44] ; 0x2c - d494: f8dd 9024 ldr.w r9, [sp, #36] ; 0x24 - d498: f8cd b030 str.w fp, [sp, #48] ; 0x30 - d49c: 469b mov fp, r3 - d49e: e02a b.n d4f6 + cee8: f8cd 902c str.w r9, [sp, #44] ; 0x2c + ceec: f8dd 9024 ldr.w r9, [sp, #36] ; 0x24 + cef0: f8cd b030 str.w fp, [sp, #48] ; 0x30 + cef4: 469b mov fp, r3 + cef6: e02a b.n cf4e if(opa_tmp != LV_OPA_COVER || opa != LV_OPA_COVER) opa_tmp = (opa * opa_tmp) >> 8; - d4a0: f1b9 0fff cmp.w r9, #255 ; 0xff - d4a4: d12a bne.n d4fc + cef8: f1b9 0fff cmp.w r9, #255 ; 0xff + cefc: d12a bne.n cf54 lv_opa_t opa_tmp = sh_buf_tmp[0]; - d4a6: 4649 mov r1, r9 - d4a8: e02c b.n d504 + cefe: 4649 mov r1, r9 + cf00: e02c b.n cf5c mask_res = lv_draw_mask_apply(mask_buf, fa.x1, fa.y1, w); - d4aa: 9b08 ldr r3, [sp, #32] - d4ac: f9bd 208a ldrsh.w r2, [sp, #138] ; 0x8a - d4b0: f9bd 1088 ldrsh.w r1, [sp, #136] ; 0x88 - d4b4: 9805 ldr r0, [sp, #20] - d4b6: 4e63 ldr r6, [pc, #396] ; (d644 ) - d4b8: 47b0 blx r6 + cf02: 9b08 ldr r3, [sp, #32] + cf04: f9bd 208a ldrsh.w r2, [sp, #138] ; 0x8a + cf08: f9bd 1088 ldrsh.w r1, [sp, #136] ; 0x88 + cf0c: 9805 ldr r0, [sp, #20] + cf0e: 4e63 ldr r6, [pc, #396] ; (d09c ) + cf10: 47b0 blx r6 if(mask_res == LV_DRAW_MASK_RES_FULL_COVER) mask_res = LV_DRAW_MASK_RES_CHANGED; - d4ba: 2801 cmp r0, #1 - d4bc: bf08 it eq - d4be: 2002 moveq r0, #2 + cf12: 2801 cmp r0, #1 + cf14: bf08 it eq + cf16: 2002 moveq r0, #2 _lv_blend_fill(clip, &fa, dsc->shadow_color, mask_buf, - d4c0: f89a 3029 ldrb.w r3, [sl, #41] ; 0x29 - d4c4: 9302 str r3, [sp, #8] - d4c6: 23ff movs r3, #255 ; 0xff - d4c8: 9301 str r3, [sp, #4] - d4ca: 9000 str r0, [sp, #0] - d4cc: 9b05 ldr r3, [sp, #20] - d4ce: f8ba 201e ldrh.w r2, [sl, #30] - d4d2: a922 add r1, sp, #136 ; 0x88 - d4d4: 9804 ldr r0, [sp, #16] - d4d6: 4e5c ldr r6, [pc, #368] ; (d648 ) - d4d8: 47b0 blx r6 + cf18: f89a 3029 ldrb.w r3, [sl, #41] ; 0x29 + cf1c: 9302 str r3, [sp, #8] + cf1e: 23ff movs r3, #255 ; 0xff + cf20: 9301 str r3, [sp, #4] + cf22: 9000 str r0, [sp, #0] + cf24: 9b05 ldr r3, [sp, #20] + cf26: f8ba 201e ldrh.w r2, [sl, #30] + cf2a: a922 add r1, sp, #136 ; 0x88 + cf2c: 9804 ldr r0, [sp, #16] + cf2e: 4e5c ldr r6, [pc, #368] ; (d0a0 ) + cf30: 47b0 blx r6 fa.y1++; - d4da: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a - d4de: 3301 adds r3, #1 - d4e0: f8ad 308a strh.w r3, [sp, #138] ; 0x8a + cf32: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a + cf36: 3301 adds r3, #1 + cf38: f8ad 308a strh.w r3, [sp, #138] ; 0x8a fa.y2++; - d4e4: f8bd 308e ldrh.w r3, [sp, #142] ; 0x8e - d4e8: 3301 adds r3, #1 - d4ea: f8ad 308e strh.w r3, [sp, #142] ; 0x8e + cf3c: f8bd 308e ldrh.w r3, [sp, #142] ; 0x8e + cf40: 3301 adds r3, #1 + cf42: f8ad 308e strh.w r3, [sp, #142] ; 0x8e sh_buf_tmp += corner_size; - d4ee: 4444 add r4, r8 + cf46: 4444 add r4, r8 for(y = 0; y < h; y++) { - d4f0: 3501 adds r5, #1 - d4f2: 455d cmp r5, fp - d4f4: d00e beq.n d514 + cf48: 3501 adds r5, #1 + cf4a: 455d cmp r5, fp + cf4c: d00e beq.n cf6c lv_opa_t opa_tmp = sh_buf_tmp[0]; - d4f6: 7823 ldrb r3, [r4, #0] + cf4e: 7823 ldrb r3, [r4, #0] if(opa_tmp != LV_OPA_COVER || opa != LV_OPA_COVER) opa_tmp = (opa * opa_tmp) >> 8; - d4f8: 2bff cmp r3, #255 ; 0xff - d4fa: d0d1 beq.n d4a0 - d4fc: fb03 f309 mul.w r3, r3, r9 - d500: f3c3 2107 ubfx r1, r3, #8, #8 + cf50: 2bff cmp r3, #255 ; 0xff + cf52: d0d1 beq.n cef8 + cf54: fb03 f309 mul.w r3, r3, r9 + cf58: f3c3 2107 ubfx r1, r3, #8, #8 _lv_memset(mask_buf, opa_tmp, w); - d504: 9a08 ldr r2, [sp, #32] - d506: 9805 ldr r0, [sp, #20] - d508: 47b8 blx r7 + cf5c: 9a08 ldr r2, [sp, #32] + cf5e: 9805 ldr r0, [sp, #20] + cf60: 47b8 blx r7 if(simple_mode) { - d50a: 9b07 ldr r3, [sp, #28] - d50c: 2b00 cmp r3, #0 - d50e: d0cc beq.n d4aa + cf62: 9b07 ldr r3, [sp, #28] + cf64: 2b00 cmp r3, #0 + cf66: d0cc beq.n cf02 mask_res = LV_DRAW_MASK_RES_CHANGED; - d510: 2002 movs r0, #2 - d512: e7d5 b.n d4c0 - d514: f8dd 902c ldr.w r9, [sp, #44] ; 0x2c - d518: f8dd b030 ldr.w fp, [sp, #48] ; 0x30 + cf68: 2002 movs r0, #2 + cf6a: e7d5 b.n cf18 + cf6c: f8dd 902c ldr.w r9, [sp, #44] ; 0x2c + cf70: f8dd b030 ldr.w fp, [sp, #48] ; 0x30 a.x1 = sh_area.x1 + corner_size; - d51c: f8bd 3058 ldrh.w r3, [sp, #88] ; 0x58 - d520: 445b add r3, fp - d522: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 + cf74: f8bd 3058 ldrh.w r3, [sp, #88] ; 0x58 + cf78: 445b add r3, fp + cf7a: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 a.x2 = sh_area.x2 - corner_size; - d526: f8bd 305c ldrh.w r3, [sp, #92] ; 0x5c - d52a: eba3 030b sub.w r3, r3, fp - d52e: f8ad 3074 strh.w r3, [sp, #116] ; 0x74 + cf7e: f8bd 305c ldrh.w r3, [sp, #92] ; 0x5c + cf82: eba3 030b sub.w r3, r3, fp + cf86: f8ad 3074 strh.w r3, [sp, #116] ; 0x74 a.y1 = sh_area.y2 - corner_size + 1; - d532: f9bd 205e ldrsh.w r2, [sp, #94] ; 0x5e - d536: 1c53 adds r3, r2, #1 - d538: eba3 030b sub.w r3, r3, fp - d53c: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 + cf8a: f9bd 205e ldrsh.w r2, [sp, #94] ; 0x5e + cf8e: 1c53 adds r3, r2, #1 + cf90: eba3 030b sub.w r3, r3, fp + cf94: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 a.y2 = sh_area.y2; - d540: f8ad 2076 strh.w r2, [sp, #118] ; 0x76 + cf98: f8ad 2076 strh.w r2, [sp, #118] ; 0x76 has_com = _lv_area_intersect(&ca, &a, clip); - d544: 9a04 ldr r2, [sp, #16] - d546: a91c add r1, sp, #112 ; 0x70 - d548: a81e add r0, sp, #120 ; 0x78 - d54a: 4b40 ldr r3, [pc, #256] ; (d64c ) - d54c: 4798 blx r3 + cf9c: 9a04 ldr r2, [sp, #16] + cf9e: a91c add r1, sp, #112 ; 0x70 + cfa0: a81e add r0, sp, #120 ; 0x78 + cfa2: 4b40 ldr r3, [pc, #256] ; (d0a4 ) + cfa4: 4798 blx r3 if(has_com) { - d54e: 2800 cmp r0, #0 - d550: f000 8082 beq.w d658 + cfa6: 2800 cmp r0, #0 + cfa8: f000 8082 beq.w d0b0 if(simple_mode) ca.y1 = LV_MATH_MAX(ca.y1, coords->y2); - d554: 9b07 ldr r3, [sp, #28] - d556: b14b cbz r3, d56c - d558: 9b06 ldr r3, [sp, #24] - d55a: f9b3 3006 ldrsh.w r3, [r3, #6] - d55e: f9bd 207a ldrsh.w r2, [sp, #122] ; 0x7a - d562: 4293 cmp r3, r2 - d564: bfb8 it lt - d566: 4613 movlt r3, r2 - d568: f8ad 307a strh.w r3, [sp, #122] ; 0x7a + cfac: 9b07 ldr r3, [sp, #28] + cfae: b14b cbz r3, cfc4 + cfb0: 9b06 ldr r3, [sp, #24] + cfb2: f9b3 3006 ldrsh.w r3, [r3, #6] + cfb6: f9bd 207a ldrsh.w r2, [sp, #122] ; 0x7a + cfba: 4293 cmp r3, r2 + cfbc: bfb8 it lt + cfbe: 4613 movlt r3, r2 + cfc0: f8ad 307a strh.w r3, [sp, #122] ; 0x7a return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - d56c: f8bd 307c ldrh.w r3, [sp, #124] ; 0x7c - d570: 3301 adds r3, #1 - d572: f8bd 2078 ldrh.w r2, [sp, #120] ; 0x78 - d576: 1a9b subs r3, r3, r2 - d578: b21b sxth r3, r3 - d57a: 9308 str r3, [sp, #32] + cfc4: f8bd 307c ldrh.w r3, [sp, #124] ; 0x7c + cfc8: 3301 adds r3, #1 + cfca: f8bd 2078 ldrh.w r2, [sp, #120] ; 0x78 + cfce: 1a9b subs r3, r3, r2 + cfd0: b21b sxth r3, r3 + cfd2: 9308 str r3, [sp, #32] return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - d57c: f9bd 307e ldrsh.w r3, [sp, #126] ; 0x7e - d580: 1c5d adds r5, r3, #1 - d582: f8bd 207a ldrh.w r2, [sp, #122] ; 0x7a - d586: 1aad subs r5, r5, r2 - d588: b22d sxth r5, r5 + cfd4: f9bd 307e ldrsh.w r3, [sp, #126] ; 0x7e + cfd8: 1c5d adds r5, r3, #1 + cfda: f8bd 207a ldrh.w r2, [sp, #122] ; 0x7a + cfde: 1aad subs r5, r5, r2 + cfe0: b22d sxth r5, r5 sh_buf_tmp = sh_buf + corner_size - 1; - d58a: 46c8 mov r8, r9 + cfe2: 46c8 mov r8, r9 sh_buf_tmp += corner_size * (a.y2 - ca.y2); - d58c: f9bd 4076 ldrsh.w r4, [sp, #118] ; 0x76 - d590: 1ae4 subs r4, r4, r3 + cfe4: f9bd 4076 ldrsh.w r4, [sp, #118] ; 0x76 + cfe8: 1ae4 subs r4, r4, r3 sh_buf_tmp = sh_buf + corner_size - 1; - d592: f109 33ff add.w r3, r9, #4294967295 + cfea: f109 33ff add.w r3, r9, #4294967295 sh_buf_tmp += corner_size * (a.y2 - ca.y2); - d596: fb09 3404 mla r4, r9, r4, r3 - d59a: 9b0a ldr r3, [sp, #40] ; 0x28 - d59c: 441c add r4, r3 - d59e: f10d 0277 add.w r2, sp, #119 ; 0x77 + cfee: fb09 3404 mla r4, r9, r4, r3 + cff2: 9b0a ldr r3, [sp, #40] ; 0x28 + cff4: 441c add r4, r3 + cff6: f10d 0277 add.w r2, sp, #119 ; 0x77 uint8_t * d8 = (uint8_t *)dst; - d5a2: ab22 add r3, sp, #136 ; 0x88 + cffa: ab22 add r3, sp, #136 ; 0x88 while(len) { - d5a4: a824 add r0, sp, #144 ; 0x90 + cffc: a824 add r0, sp, #144 ; 0x90 *d8 = *s8; - d5a6: f812 1f01 ldrb.w r1, [r2, #1]! - d5aa: f803 1b01 strb.w r1, [r3], #1 + cffe: f812 1f01 ldrb.w r1, [r2, #1]! + d002: f803 1b01 strb.w r1, [r3], #1 while(len) { - d5ae: 4283 cmp r3, r0 - d5b0: d1f9 bne.n d5a6 + d006: 4283 cmp r3, r0 + d008: d1f9 bne.n cffe fa.y1 = fa.y2; - d5b2: f8bd 308e ldrh.w r3, [sp, #142] ; 0x8e - d5b6: f8ad 308a strh.w r3, [sp, #138] ; 0x8a + d00a: f8bd 308e ldrh.w r3, [sp, #142] ; 0x8e + d00e: f8ad 308a strh.w r3, [sp, #138] ; 0x8a for(y = 0; y < h; y++) { - d5ba: 46a9 mov r9, r5 - d5bc: 2d00 cmp r5, #0 - d5be: dd4b ble.n d658 - d5c0: 2500 movs r5, #0 + d012: 46a9 mov r9, r5 + d014: 2d00 cmp r5, #0 + d016: dd4b ble.n d0b0 + d018: 2500 movs r5, #0 _lv_memset(mask_buf, opa_tmp, w); - d5c2: 4f23 ldr r7, [pc, #140] ; (d650 ) + d01a: 4f23 ldr r7, [pc, #140] ; (d0a8 ) _lv_blend_fill(clip, &fa, dsc->shadow_color, mask_buf, - d5c4: f8cd b02c str.w fp, [sp, #44] ; 0x2c - d5c8: f8dd b024 ldr.w fp, [sp, #36] ; 0x24 - d5cc: e02a b.n d624 + d01c: f8cd b02c str.w fp, [sp, #44] ; 0x2c + d020: f8dd b024 ldr.w fp, [sp, #36] ; 0x24 + d024: e02a b.n d07c if(opa_tmp != LV_OPA_COVER || opa != LV_OPA_COVER) opa_tmp = (opa * opa_tmp) >> 8; - d5ce: f1bb 0fff cmp.w fp, #255 ; 0xff - d5d2: d12a bne.n d62a + d026: f1bb 0fff cmp.w fp, #255 ; 0xff + d02a: d12a bne.n d082 lv_opa_t opa_tmp = sh_buf_tmp[0]; - d5d4: 4659 mov r1, fp - d5d6: e02c b.n d632 + d02c: 4659 mov r1, fp + d02e: e02c b.n d08a mask_res = lv_draw_mask_apply(mask_buf, fa.x1, fa.y1, w); - d5d8: 9b08 ldr r3, [sp, #32] - d5da: f9bd 208a ldrsh.w r2, [sp, #138] ; 0x8a - d5de: f9bd 1088 ldrsh.w r1, [sp, #136] ; 0x88 - d5e2: 9805 ldr r0, [sp, #20] - d5e4: 4e17 ldr r6, [pc, #92] ; (d644 ) - d5e6: 47b0 blx r6 + d030: 9b08 ldr r3, [sp, #32] + d032: f9bd 208a ldrsh.w r2, [sp, #138] ; 0x8a + d036: f9bd 1088 ldrsh.w r1, [sp, #136] ; 0x88 + d03a: 9805 ldr r0, [sp, #20] + d03c: 4e17 ldr r6, [pc, #92] ; (d09c ) + d03e: 47b0 blx r6 if(mask_res == LV_DRAW_MASK_RES_FULL_COVER) mask_res = LV_DRAW_MASK_RES_CHANGED; - d5e8: 2801 cmp r0, #1 - d5ea: bf08 it eq - d5ec: 2002 moveq r0, #2 + d040: 2801 cmp r0, #1 + d042: bf08 it eq + d044: 2002 moveq r0, #2 _lv_blend_fill(clip, &fa, dsc->shadow_color, mask_buf, - d5ee: f89a 3029 ldrb.w r3, [sl, #41] ; 0x29 - d5f2: 9302 str r3, [sp, #8] - d5f4: 23ff movs r3, #255 ; 0xff - d5f6: 9301 str r3, [sp, #4] - d5f8: 9000 str r0, [sp, #0] - d5fa: 9b05 ldr r3, [sp, #20] - d5fc: f8ba 201e ldrh.w r2, [sl, #30] - d600: a922 add r1, sp, #136 ; 0x88 - d602: 9804 ldr r0, [sp, #16] - d604: 4e10 ldr r6, [pc, #64] ; (d648 ) - d606: 47b0 blx r6 + d046: f89a 3029 ldrb.w r3, [sl, #41] ; 0x29 + d04a: 9302 str r3, [sp, #8] + d04c: 23ff movs r3, #255 ; 0xff + d04e: 9301 str r3, [sp, #4] + d050: 9000 str r0, [sp, #0] + d052: 9b05 ldr r3, [sp, #20] + d054: f8ba 201e ldrh.w r2, [sl, #30] + d058: a922 add r1, sp, #136 ; 0x88 + d05a: 9804 ldr r0, [sp, #16] + d05c: 4e10 ldr r6, [pc, #64] ; (d0a0 ) + d05e: 47b0 blx r6 fa.y1--; - d608: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a - d60c: 3b01 subs r3, #1 - d60e: f8ad 308a strh.w r3, [sp, #138] ; 0x8a + d060: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a + d064: 3b01 subs r3, #1 + d066: f8ad 308a strh.w r3, [sp, #138] ; 0x8a fa.y2--; - d612: f8bd 308e ldrh.w r3, [sp, #142] ; 0x8e - d616: 3b01 subs r3, #1 - d618: f8ad 308e strh.w r3, [sp, #142] ; 0x8e + d06a: f8bd 308e ldrh.w r3, [sp, #142] ; 0x8e + d06e: 3b01 subs r3, #1 + d070: f8ad 308e strh.w r3, [sp, #142] ; 0x8e sh_buf_tmp += corner_size; - d61c: 4444 add r4, r8 + d074: 4444 add r4, r8 for(y = 0; y < h; y++) { - d61e: 3501 adds r5, #1 - d620: 454d cmp r5, r9 - d622: d017 beq.n d654 + d076: 3501 adds r5, #1 + d078: 454d cmp r5, r9 + d07a: d017 beq.n d0ac lv_opa_t opa_tmp = sh_buf_tmp[0]; - d624: 7823 ldrb r3, [r4, #0] + d07c: 7823 ldrb r3, [r4, #0] if(opa_tmp != LV_OPA_COVER || opa != LV_OPA_COVER) opa_tmp = (opa * opa_tmp) >> 8; - d626: 2bff cmp r3, #255 ; 0xff - d628: d0d1 beq.n d5ce - d62a: fb03 f30b mul.w r3, r3, fp - d62e: f3c3 2107 ubfx r1, r3, #8, #8 + d07e: 2bff cmp r3, #255 ; 0xff + d080: d0d1 beq.n d026 + d082: fb03 f30b mul.w r3, r3, fp + d086: f3c3 2107 ubfx r1, r3, #8, #8 _lv_memset(mask_buf, opa_tmp, w); - d632: 9a08 ldr r2, [sp, #32] - d634: 9805 ldr r0, [sp, #20] - d636: 47b8 blx r7 + d08a: 9a08 ldr r2, [sp, #32] + d08c: 9805 ldr r0, [sp, #20] + d08e: 47b8 blx r7 if(simple_mode) { - d638: 9b07 ldr r3, [sp, #28] - d63a: 2b00 cmp r3, #0 - d63c: d0cc beq.n d5d8 + d090: 9b07 ldr r3, [sp, #28] + d092: 2b00 cmp r3, #0 + d094: d0cc beq.n d030 mask_res = LV_DRAW_MASK_RES_CHANGED; - d63e: 2002 movs r0, #2 - d640: e7d5 b.n d5ee - d642: bf00 nop - d644: 0000c3c5 .word 0x0000c3c5 - d648: 00007cf9 .word 0x00007cf9 - d64c: 00011ac1 .word 0x00011ac1 - d650: 00013029 .word 0x00013029 - d654: f8dd b02c ldr.w fp, [sp, #44] ; 0x2c + d096: 2002 movs r0, #2 + d098: e7d5 b.n d046 + d09a: bf00 nop + d09c: 0000be1d .word 0x0000be1d + d0a0: 00007751 .word 0x00007751 + d0a4: 00011519 .word 0x00011519 + d0a8: 00012a81 .word 0x00012a81 + d0ac: f8dd b02c ldr.w fp, [sp, #44] ; 0x2c a.x1 = sh_area.x1 + corner_size; - d658: f8bd 3058 ldrh.w r3, [sp, #88] ; 0x58 - d65c: 445b add r3, fp - d65e: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 + d0b0: f8bd 3058 ldrh.w r3, [sp, #88] ; 0x58 + d0b4: 445b add r3, fp + d0b6: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 a.x2 = sh_area.x2 - corner_size; - d662: f8bd 305c ldrh.w r3, [sp, #92] ; 0x5c - d666: eba3 030b sub.w r3, r3, fp - d66a: f8ad 3074 strh.w r3, [sp, #116] ; 0x74 + d0ba: f8bd 305c ldrh.w r3, [sp, #92] ; 0x5c + d0be: eba3 030b sub.w r3, r3, fp + d0c2: f8ad 3074 strh.w r3, [sp, #116] ; 0x74 a.y1 = sh_area.y1 + corner_size; - d66e: f8bd 305a ldrh.w r3, [sp, #90] ; 0x5a - d672: 445b add r3, fp - d674: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 + d0c6: f8bd 305a ldrh.w r3, [sp, #90] ; 0x5a + d0ca: 445b add r3, fp + d0cc: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 a.y2 = sh_area.y2 - corner_size; - d678: f8bd 305e ldrh.w r3, [sp, #94] ; 0x5e - d67c: eba3 0b0b sub.w fp, r3, fp - d680: f8ad b076 strh.w fp, [sp, #118] ; 0x76 + d0d0: f8bd 305e ldrh.w r3, [sp, #94] ; 0x5e + d0d4: eba3 0b0b sub.w fp, r3, fp + d0d8: f8ad b076 strh.w fp, [sp, #118] ; 0x76 has_com = _lv_area_intersect(&ca, &a, clip); - d684: 9a04 ldr r2, [sp, #16] - d686: a91c add r1, sp, #112 ; 0x70 - d688: a81e add r0, sp, #120 ; 0x78 - d68a: 4ba2 ldr r3, [pc, #648] ; (d914 ) - d68c: 4798 blx r3 + d0dc: 9a04 ldr r2, [sp, #16] + d0de: a91c add r1, sp, #112 ; 0x70 + d0e0: a81e add r0, sp, #120 ; 0x78 + d0e2: 4ba2 ldr r3, [pc, #648] ; (d36c ) + d0e4: 4798 blx r3 if(has_com && simple_mode == false) { - d68e: 2800 cmp r0, #0 - d690: d050 beq.n d734 - d692: 9b07 ldr r3, [sp, #28] - d694: 2b00 cmp r3, #0 - d696: d14d bne.n d734 + d0e6: 2800 cmp r0, #0 + d0e8: d050 beq.n d18c + d0ea: 9b07 ldr r3, [sp, #28] + d0ec: 2b00 cmp r3, #0 + d0ee: d14d bne.n d18c return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - d698: f8bd 607c ldrh.w r6, [sp, #124] ; 0x7c - d69c: 3601 adds r6, #1 - d69e: f8bd 3078 ldrh.w r3, [sp, #120] ; 0x78 - d6a2: 1af6 subs r6, r6, r3 - d6a4: b236 sxth r6, r6 + d0f0: f8bd 607c ldrh.w r6, [sp, #124] ; 0x7c + d0f4: 3601 adds r6, #1 + d0f6: f8bd 3078 ldrh.w r3, [sp, #120] ; 0x78 + d0fa: 1af6 subs r6, r6, r3 + d0fc: b236 sxth r6, r6 return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - d6a6: f8bd 407e ldrh.w r4, [sp, #126] ; 0x7e - d6aa: 3401 adds r4, #1 - d6ac: f8bd 307a ldrh.w r3, [sp, #122] ; 0x7a - d6b0: 1ae4 subs r4, r4, r3 - d6b2: b224 sxth r4, r4 - d6b4: f10d 0277 add.w r2, sp, #119 ; 0x77 + d0fe: f8bd 407e ldrh.w r4, [sp, #126] ; 0x7e + d102: 3401 adds r4, #1 + d104: f8bd 307a ldrh.w r3, [sp, #122] ; 0x7a + d108: 1ae4 subs r4, r4, r3 + d10a: b224 sxth r4, r4 + d10c: f10d 0277 add.w r2, sp, #119 ; 0x77 uint8_t * d8 = (uint8_t *)dst; - d6b8: ab22 add r3, sp, #136 ; 0x88 + d110: ab22 add r3, sp, #136 ; 0x88 while(len) { - d6ba: a824 add r0, sp, #144 ; 0x90 + d112: a824 add r0, sp, #144 ; 0x90 *d8 = *s8; - d6bc: f812 1f01 ldrb.w r1, [r2, #1]! - d6c0: f803 1b01 strb.w r1, [r3], #1 + d114: f812 1f01 ldrb.w r1, [r2, #1]! + d118: f803 1b01 strb.w r1, [r3], #1 while(len) { - d6c4: 4283 cmp r3, r0 - d6c6: d1f9 bne.n d6bc + d11c: 4283 cmp r3, r0 + d11e: d1f9 bne.n d114 fa.y2 = fa.y1; - d6c8: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a - d6cc: f8ad 308e strh.w r3, [sp, #142] ; 0x8e + d120: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a + d124: f8ad 308e strh.w r3, [sp, #142] ; 0x8e for(y = 0; y < h; y++) { - d6d0: 46a3 mov fp, r4 - d6d2: 2c00 cmp r4, #0 - d6d4: dd2e ble.n d734 - d6d6: 2500 movs r5, #0 + d128: 46a3 mov fp, r4 + d12a: 2c00 cmp r4, #0 + d12c: dd2e ble.n d18c + d12e: 2500 movs r5, #0 _lv_memset(mask_buf, dsc->shadow_opa, w); - d6d8: f8df 9254 ldr.w r9, [pc, #596] ; d930 + d130: f8df 9254 ldr.w r9, [pc, #596] ; d388 mask_res = lv_draw_mask_apply(mask_buf, fa.x1, fa.y1, w); - d6dc: f8df 8254 ldr.w r8, [pc, #596] ; d934 + d134: f8df 8254 ldr.w r8, [pc, #596] ; d38c _lv_blend_fill(clip, &fa, dsc->shadow_color, mask_buf, - d6e0: 4f8d ldr r7, [pc, #564] ; (d918 ) + d138: 4f8d ldr r7, [pc, #564] ; (d370 ) _lv_memset(mask_buf, dsc->shadow_opa, w); - d6e2: 4632 mov r2, r6 - d6e4: f89a 1028 ldrb.w r1, [sl, #40] ; 0x28 - d6e8: 9805 ldr r0, [sp, #20] - d6ea: 47c8 blx r9 + d13a: 4632 mov r2, r6 + d13c: f89a 1028 ldrb.w r1, [sl, #40] ; 0x28 + d140: 9805 ldr r0, [sp, #20] + d142: 47c8 blx r9 mask_res = lv_draw_mask_apply(mask_buf, fa.x1, fa.y1, w); - d6ec: ac30 add r4, sp, #192 ; 0xc0 - d6ee: 4633 mov r3, r6 - d6f0: f9bd 208a ldrsh.w r2, [sp, #138] ; 0x8a - d6f4: f934 1d38 ldrsh.w r1, [r4, #-56]! - d6f8: 9805 ldr r0, [sp, #20] - d6fa: 47c0 blx r8 + d144: ac30 add r4, sp, #192 ; 0xc0 + d146: 4633 mov r3, r6 + d148: f9bd 208a ldrsh.w r2, [sp, #138] ; 0x8a + d14c: f934 1d38 ldrsh.w r1, [r4, #-56]! + d150: 9805 ldr r0, [sp, #20] + d152: 47c0 blx r8 if(mask_res == LV_DRAW_MASK_RES_FULL_COVER) mask_res = LV_DRAW_MASK_RES_CHANGED; - d6fc: 2801 cmp r0, #1 - d6fe: bf08 it eq - d700: 2002 moveq r0, #2 + d154: 2801 cmp r0, #1 + d156: bf08 it eq + d158: 2002 moveq r0, #2 _lv_blend_fill(clip, &fa, dsc->shadow_color, mask_buf, - d702: f89a 3029 ldrb.w r3, [sl, #41] ; 0x29 - d706: 9302 str r3, [sp, #8] - d708: 23ff movs r3, #255 ; 0xff - d70a: 9301 str r3, [sp, #4] - d70c: 9000 str r0, [sp, #0] - d70e: 9b05 ldr r3, [sp, #20] - d710: f8ba 201e ldrh.w r2, [sl, #30] - d714: 4621 mov r1, r4 - d716: 9804 ldr r0, [sp, #16] - d718: 47b8 blx r7 + d15a: f89a 3029 ldrb.w r3, [sl, #41] ; 0x29 + d15e: 9302 str r3, [sp, #8] + d160: 23ff movs r3, #255 ; 0xff + d162: 9301 str r3, [sp, #4] + d164: 9000 str r0, [sp, #0] + d166: 9b05 ldr r3, [sp, #20] + d168: f8ba 201e ldrh.w r2, [sl, #30] + d16c: 4621 mov r1, r4 + d16e: 9804 ldr r0, [sp, #16] + d170: 47b8 blx r7 fa.y1++; - d71a: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a - d71e: 3301 adds r3, #1 - d720: f8ad 308a strh.w r3, [sp, #138] ; 0x8a + d172: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a + d176: 3301 adds r3, #1 + d178: f8ad 308a strh.w r3, [sp, #138] ; 0x8a fa.y2++; - d724: f8bd 308e ldrh.w r3, [sp, #142] ; 0x8e - d728: 3301 adds r3, #1 - d72a: f8ad 308e strh.w r3, [sp, #142] ; 0x8e + d17c: f8bd 308e ldrh.w r3, [sp, #142] ; 0x8e + d180: 3301 adds r3, #1 + d182: f8ad 308e strh.w r3, [sp, #142] ; 0x8e for(y = 0; y < h; y++) { - d72e: 3501 adds r5, #1 - d730: 455d cmp r5, fp - d732: d1d6 bne.n d6e2 + d186: 3501 adds r5, #1 + d188: 455d cmp r5, fp + d18a: d1d6 bne.n d13a lv_draw_mask_remove_id(mask_rout_id); - d734: 980e ldr r0, [sp, #56] ; 0x38 - d736: 4b79 ldr r3, [pc, #484] ; (d91c ) - d738: 4798 blx r3 + d18c: 980e ldr r0, [sp, #56] ; 0x38 + d18e: 4b79 ldr r3, [pc, #484] ; (d374 ) + d190: 4798 blx r3 _lv_mem_buf_release(mask_buf); - d73a: 9805 ldr r0, [sp, #20] - d73c: 4c78 ldr r4, [pc, #480] ; (d920 ) - d73e: 47a0 blx r4 + d192: 9805 ldr r0, [sp, #20] + d194: 4c78 ldr r4, [pc, #480] ; (d378 ) + d196: 47a0 blx r4 _lv_mem_buf_release(sh_buf); - d740: 980a ldr r0, [sp, #40] ; 0x28 - d742: 47a0 blx r4 + d198: 980a ldr r0, [sp, #40] ; 0x28 + d19a: 47a0 blx r4 if(dsc->bg_opa <= LV_OPA_MIN) return; - d744: f89a 700c ldrb.w r7, [sl, #12] - d748: 2f05 cmp r7, #5 - d74a: d942 bls.n d7d2 - d74c: 9a06 ldr r2, [sp, #24] - d74e: 1e53 subs r3, r2, #1 - d750: 1dd0 adds r0, r2, #7 - d752: aa1a add r2, sp, #104 ; 0x68 + d19c: f89a 700c ldrb.w r7, [sl, #12] + d1a0: 2f05 cmp r7, #5 + d1a2: d942 bls.n d22a + d1a4: 9a06 ldr r2, [sp, #24] + d1a6: 1e53 subs r3, r2, #1 + d1a8: 1dd0 adds r0, r2, #7 + d1aa: aa1a add r2, sp, #104 ; 0x68 *d8 = *s8; - d754: f813 1f01 ldrb.w r1, [r3, #1]! - d758: f802 1b01 strb.w r1, [r2], #1 + d1ac: f813 1f01 ldrb.w r1, [r3, #1]! + d1b0: f802 1b01 strb.w r1, [r2], #1 while(len) { - d75c: 4298 cmp r0, r3 - d75e: d1f9 bne.n d754 + d1b4: 4298 cmp r0, r3 + d1b6: d1f9 bne.n d1ac if(dsc->border_width > 1 && dsc->border_opa >= LV_OPA_MAX && dsc->radius != 0) { - d760: f9ba 3010 ldrsh.w r3, [sl, #16] - d764: 2b01 cmp r3, #1 - d766: dd24 ble.n d7b2 - d768: f89a 3014 ldrb.w r3, [sl, #20] - d76c: 2bf9 cmp r3, #249 ; 0xf9 - d76e: d920 bls.n d7b2 - d770: f9ba 3000 ldrsh.w r3, [sl] - d774: b1eb cbz r3, d7b2 + d1b8: f9ba 3010 ldrsh.w r3, [sl, #16] + d1bc: 2b01 cmp r3, #1 + d1be: dd24 ble.n d20a + d1c0: f89a 3014 ldrb.w r3, [sl, #20] + d1c4: 2bf9 cmp r3, #249 ; 0xf9 + d1c6: d920 bls.n d20a + d1c8: f9ba 3000 ldrsh.w r3, [sl] + d1cc: b1eb cbz r3, d20a coords_bg.x1 += (dsc->border_side & LV_BORDER_SIDE_LEFT) ? 1 : 0; - d776: f8ba 3012 ldrh.w r3, [sl, #18] - d77a: f3c3 0280 ubfx r2, r3, #2, #1 - d77e: f8bd 1068 ldrh.w r1, [sp, #104] ; 0x68 - d782: 440a add r2, r1 - d784: f8ad 2068 strh.w r2, [sp, #104] ; 0x68 + d1ce: f8ba 3012 ldrh.w r3, [sl, #18] + d1d2: f3c3 0280 ubfx r2, r3, #2, #1 + d1d6: f8bd 1068 ldrh.w r1, [sp, #104] ; 0x68 + d1da: 440a add r2, r1 + d1dc: f8ad 2068 strh.w r2, [sp, #104] ; 0x68 coords_bg.y1 += (dsc->border_side & LV_BORDER_SIDE_TOP) ? 1 : 0; - d788: f3c3 0240 ubfx r2, r3, #1, #1 - d78c: f8bd 106a ldrh.w r1, [sp, #106] ; 0x6a - d790: 440a add r2, r1 - d792: f8ad 206a strh.w r2, [sp, #106] ; 0x6a + d1e0: f3c3 0240 ubfx r2, r3, #1, #1 + d1e4: f8bd 106a ldrh.w r1, [sp, #106] ; 0x6a + d1e8: 440a add r2, r1 + d1ea: f8ad 206a strh.w r2, [sp, #106] ; 0x6a coords_bg.x2 -= (dsc->border_side & LV_BORDER_SIDE_RIGHT) ? 1 : 0; - d796: f3c3 01c0 ubfx r1, r3, #3, #1 - d79a: f8bd 206c ldrh.w r2, [sp, #108] ; 0x6c - d79e: 1a52 subs r2, r2, r1 - d7a0: f8ad 206c strh.w r2, [sp, #108] ; 0x6c + d1ee: f3c3 01c0 ubfx r1, r3, #3, #1 + d1f2: f8bd 206c ldrh.w r2, [sp, #108] ; 0x6c + d1f6: 1a52 subs r2, r2, r1 + d1f8: f8ad 206c strh.w r2, [sp, #108] ; 0x6c coords_bg.y2 -= (dsc->border_side & LV_BORDER_SIDE_BOTTOM) ? 1 : 0; - d7a4: f003 0301 and.w r3, r3, #1 - d7a8: f8bd 206e ldrh.w r2, [sp, #110] ; 0x6e - d7ac: 1ad3 subs r3, r2, r3 - d7ae: f8ad 306e strh.w r3, [sp, #110] ; 0x6e + d1fc: f003 0301 and.w r3, r3, #1 + d200: f8bd 206e ldrh.w r2, [sp, #110] ; 0x6e + d204: 1ad3 subs r3, r2, r3 + d206: f8ad 306e strh.w r3, [sp, #110] ; 0x6e if(opa > LV_OPA_MAX) opa = LV_OPA_COVER; - d7b2: 2ffb cmp r7, #251 ; 0xfb - d7b4: bf28 it cs - d7b6: 27ff movcs r7, #255 ; 0xff + d20a: 2ffb cmp r7, #251 ; 0xfb + d20c: bf28 it cs + d20e: 27ff movcs r7, #255 ; 0xff lv_disp_t * disp = _lv_refr_get_disp_refreshing(); - d7b8: 4b5a ldr r3, [pc, #360] ; (d924 ) - d7ba: 4798 blx r3 + d210: 4b5a ldr r3, [pc, #360] ; (d37c ) + d212: 4798 blx r3 lv_disp_buf_t * vdb = lv_disp_get_buf(disp); - d7bc: 4b5a ldr r3, [pc, #360] ; (d928 ) - d7be: 4798 blx r3 - d7c0: 4680 mov r8, r0 + d214: 4b5a ldr r3, [pc, #360] ; (d380 ) + d216: 4798 blx r3 + d218: 4680 mov r8, r0 is_common = _lv_area_intersect(&draw_area, &coords_bg, clip); - d7c2: 9a04 ldr r2, [sp, #16] - d7c4: a91a add r1, sp, #104 ; 0x68 - d7c6: a81c add r0, sp, #112 ; 0x70 - d7c8: 4b52 ldr r3, [pc, #328] ; (d914 ) - d7ca: 4798 blx r3 + d21a: 9a04 ldr r2, [sp, #16] + d21c: a91a add r1, sp, #104 ; 0x68 + d21e: a81c add r0, sp, #112 ; 0x70 + d220: 4b52 ldr r3, [pc, #328] ; (d36c ) + d222: 4798 blx r3 if(is_common == false) return; - d7cc: 2800 cmp r0, #0 - d7ce: f040 80b3 bne.w d938 + d224: 2800 cmp r0, #0 + d226: f040 80b3 bne.w d390 _lv_mem_buf_release(mask_buf); } static void draw_pattern(const lv_area_t * coords, const lv_area_t * clip, lv_draw_rect_dsc_t * dsc) { if(dsc->pattern_image == NULL) return; - d7d2: f8da 002c ldr.w r0, [sl, #44] ; 0x2c - d7d6: b120 cbz r0, d7e2 + d22a: f8da 002c ldr.w r0, [sl, #44] ; 0x2c + d22e: b120 cbz r0, d23a if(dsc->pattern_opa <= LV_OPA_MIN) return; - d7d8: f89a 3036 ldrb.w r3, [sl, #54] ; 0x36 - d7dc: 2b05 cmp r3, #5 - d7de: f200 83eb bhi.w dfb8 + d230: f89a 3036 ldrb.w r3, [sl, #54] ; 0x36 + d234: 2b05 cmp r3, #5 + d236: f200 83eb bhi.w da10 if(dsc->border_opa <= LV_OPA_MIN) return; - d7e2: f89a 4014 ldrb.w r4, [sl, #20] - d7e6: 2c05 cmp r4, #5 - d7e8: d915 bls.n d816 + d23a: f89a 4014 ldrb.w r4, [sl, #20] + d23e: 2c05 cmp r4, #5 + d240: d915 bls.n d26e if(dsc->border_width == 0) return; - d7ea: f9ba 3010 ldrsh.w r3, [sl, #16] - d7ee: b193 cbz r3, d816 + d242: f9ba 3010 ldrsh.w r3, [sl, #16] + d246: b193 cbz r3, d26e if(dsc->border_side == LV_BORDER_SIDE_NONE) return; - d7f0: f9ba 3012 ldrsh.w r3, [sl, #18] - d7f4: b17b cbz r3, d816 + d248: f9ba 3012 ldrsh.w r3, [sl, #18] + d24c: b17b cbz r3, d26e if(opa > LV_OPA_MAX) opa = LV_OPA_COVER; - d7f6: 2cfb cmp r4, #251 ; 0xfb - d7f8: bf28 it cs - d7fa: 24ff movcs r4, #255 ; 0xff + d24e: 2cfb cmp r4, #251 ; 0xfb + d250: bf28 it cs + d252: 24ff movcs r4, #255 ; 0xff lv_disp_t * disp = _lv_refr_get_disp_refreshing(); - d7fc: 4b49 ldr r3, [pc, #292] ; (d924 ) - d7fe: 4798 blx r3 + d254: 4b49 ldr r3, [pc, #292] ; (d37c ) + d256: 4798 blx r3 lv_disp_buf_t * vdb = lv_disp_get_buf(disp); - d800: 4b49 ldr r3, [pc, #292] ; (d928 ) - d802: 4798 blx r3 - d804: 4605 mov r5, r0 + d258: 4b49 ldr r3, [pc, #292] ; (d380 ) + d25a: 4798 blx r3 + d25c: 4605 mov r5, r0 is_common = _lv_area_intersect(&draw_area, coords, clip); - d806: 9a04 ldr r2, [sp, #16] - d808: 9906 ldr r1, [sp, #24] - d80a: a818 add r0, sp, #96 ; 0x60 - d80c: 4b41 ldr r3, [pc, #260] ; (d914 ) - d80e: 4798 blx r3 + d25e: 9a04 ldr r2, [sp, #16] + d260: 9906 ldr r1, [sp, #24] + d262: a818 add r0, sp, #96 ; 0x60 + d264: 4b41 ldr r3, [pc, #260] ; (d36c ) + d266: 4798 blx r3 if(is_common == false) return; - d810: 2800 cmp r0, #0 - d812: f040 8546 bne.w e2a2 + d268: 2800 cmp r0, #0 + d26a: f040 8546 bne.w dcfa } static void draw_value(const lv_area_t * coords, const lv_area_t * clip, lv_draw_rect_dsc_t * dsc) { if(dsc->value_str == NULL) return; - d816: f8da 103c ldr.w r1, [sl, #60] ; 0x3c - d81a: b121 cbz r1, d826 + d26e: f8da 103c ldr.w r1, [sl, #60] ; 0x3c + d272: b121 cbz r1, d27e if(dsc->value_opa <= LV_OPA_MIN) return; - d81c: f89a 3044 ldrb.w r3, [sl, #68] ; 0x44 - d820: 2b05 cmp r3, #5 - d822: f201 8053 bhi.w e8cc + d274: f89a 3044 ldrb.w r3, [sl, #68] ; 0x44 + d278: 2b05 cmp r3, #5 + d27a: f201 8053 bhi.w e324 if(dsc->outline_opa <= LV_OPA_MIN) return; - d826: f89a b01c ldrb.w fp, [sl, #28] - d82a: f1bb 0f05 cmp.w fp, #5 - d82e: d96d bls.n d90c + d27e: f89a b01c ldrb.w fp, [sl, #28] + d282: f1bb 0f05 cmp.w fp, #5 + d286: d96d bls.n d364 if(dsc->outline_width == 0) return; - d830: f9ba 3018 ldrsh.w r3, [sl, #24] - d834: 2b00 cmp r3, #0 - d836: d069 beq.n d90c + d288: f9ba 3018 ldrsh.w r3, [sl, #24] + d28c: 2b00 cmp r3, #0 + d28e: d069 beq.n d364 if(opa > LV_OPA_MAX) opa = LV_OPA_COVER; - d838: f1bb 0ffb cmp.w fp, #251 ; 0xfb - d83c: bf28 it cs - d83e: f04f 0bff movcs.w fp, #255 ; 0xff + d290: f1bb 0ffb cmp.w fp, #251 ; 0xfb + d294: bf28 it cs + d296: f04f 0bff movcs.w fp, #255 ; 0xff uint8_t other_mask_cnt = lv_draw_mask_get_cnt(); - d842: 4b3a ldr r3, [pc, #232] ; (d92c ) - d844: 4798 blx r3 - d846: 9009 str r0, [sp, #36] ; 0x24 - d848: 9a06 ldr r2, [sp, #24] - d84a: 1e53 subs r3, r2, #1 - d84c: 1dd0 adds r0, r2, #7 + d29a: 4b3a ldr r3, [pc, #232] ; (d384 ) + d29c: 4798 blx r3 + d29e: 9009 str r0, [sp, #36] ; 0x24 + d2a0: 9a06 ldr r2, [sp, #24] + d2a2: 1e53 subs r3, r2, #1 + d2a4: 1dd0 adds r0, r2, #7 uint8_t * d8 = (uint8_t *)dst; - d84e: aa16 add r2, sp, #88 ; 0x58 + d2a6: aa16 add r2, sp, #88 ; 0x58 *d8 = *s8; - d850: f813 1f01 ldrb.w r1, [r3, #1]! - d854: f802 1b01 strb.w r1, [r2], #1 + d2a8: f813 1f01 ldrb.w r1, [r3, #1]! + d2ac: f802 1b01 strb.w r1, [r2], #1 while(len) { - d858: 4283 cmp r3, r0 - d85a: d1f9 bne.n d850 + d2b0: 4283 cmp r3, r0 + d2b2: d1f9 bne.n d2a8 area_inner.x1 -= dsc->outline_pad; - d85c: f8ba 501a ldrh.w r5, [sl, #26] - d860: f8bd 3058 ldrh.w r3, [sp, #88] ; 0x58 - d864: 1b5b subs r3, r3, r5 - d866: b29b uxth r3, r3 - d868: 9306 str r3, [sp, #24] - d86a: f8ad 3058 strh.w r3, [sp, #88] ; 0x58 + d2b4: f8ba 501a ldrh.w r5, [sl, #26] + d2b8: f8bd 3058 ldrh.w r3, [sp, #88] ; 0x58 + d2bc: 1b5b subs r3, r3, r5 + d2be: b29b uxth r3, r3 + d2c0: 9306 str r3, [sp, #24] + d2c2: f8ad 3058 strh.w r3, [sp, #88] ; 0x58 area_inner.y1 -= dsc->outline_pad; - d86e: f8bd 305a ldrh.w r3, [sp, #90] ; 0x5a - d872: 1b5b subs r3, r3, r5 - d874: b29b uxth r3, r3 - d876: 9307 str r3, [sp, #28] - d878: f8ad 305a strh.w r3, [sp, #90] ; 0x5a + d2c6: f8bd 305a ldrh.w r3, [sp, #90] ; 0x5a + d2ca: 1b5b subs r3, r3, r5 + d2cc: b29b uxth r3, r3 + d2ce: 9307 str r3, [sp, #28] + d2d0: f8ad 305a strh.w r3, [sp, #90] ; 0x5a area_inner.x2 += dsc->outline_pad; - d87c: f8bd 605c ldrh.w r6, [sp, #92] ; 0x5c - d880: 442e add r6, r5 - d882: b2b6 uxth r6, r6 - d884: f8ad 605c strh.w r6, [sp, #92] ; 0x5c + d2d4: f8bd 605c ldrh.w r6, [sp, #92] ; 0x5c + d2d8: 442e add r6, r5 + d2da: b2b6 uxth r6, r6 + d2dc: f8ad 605c strh.w r6, [sp, #92] ; 0x5c area_inner.y2 += dsc->outline_pad; - d888: f8bd 305e ldrh.w r3, [sp, #94] ; 0x5e - d88c: 441d add r5, r3 - d88e: b2ad uxth r5, r5 - d890: f8ad 505e strh.w r5, [sp, #94] ; 0x5e + d2e0: f8bd 305e ldrh.w r3, [sp, #94] ; 0x5e + d2e4: 441d add r5, r3 + d2e6: b2ad uxth r5, r5 + d2e8: f8ad 505e strh.w r5, [sp, #94] ; 0x5e int32_t rin = dsc->radius; - d894: f9ba 3000 ldrsh.w r3, [sl] - d898: 9308 str r3, [sp, #32] + d2ec: f9ba 3000 ldrsh.w r3, [sl] + d2f0: 9308 str r3, [sp, #32] int32_t rout = rin + dsc->outline_width; - d89a: f9ba 3018 ldrsh.w r3, [sl, #24] - d89e: 9305 str r3, [sp, #20] - d8a0: f10d 0257 add.w r2, sp, #87 ; 0x57 + d2f2: f9ba 3018 ldrsh.w r3, [sl, #24] + d2f6: 9305 str r3, [sp, #20] + d2f8: f10d 0257 add.w r2, sp, #87 ; 0x57 uint8_t * d8 = (uint8_t *)dst; - d8a4: ab18 add r3, sp, #96 ; 0x60 + d2fc: ab18 add r3, sp, #96 ; 0x60 while(len) { - d8a6: a81a add r0, sp, #104 ; 0x68 + d2fe: a81a add r0, sp, #104 ; 0x68 *d8 = *s8; - d8a8: f812 1f01 ldrb.w r1, [r2, #1]! - d8ac: f803 1b01 strb.w r1, [r3], #1 + d300: f812 1f01 ldrb.w r1, [r2, #1]! + d304: f803 1b01 strb.w r1, [r3], #1 while(len) { - d8b0: 4283 cmp r3, r0 - d8b2: d1f9 bne.n d8a8 + d308: 4283 cmp r3, r0 + d30a: d1f9 bne.n d300 area_outer.x1 -= dsc->outline_width; - d8b4: f8bd 4014 ldrh.w r4, [sp, #20] - d8b8: f8bd 9060 ldrh.w r9, [sp, #96] ; 0x60 - d8bc: eba9 0904 sub.w r9, r9, r4 - d8c0: fa1f f389 uxth.w r3, r9 - d8c4: 930a str r3, [sp, #40] ; 0x28 - d8c6: f8ad 3060 strh.w r3, [sp, #96] ; 0x60 + d30c: f8bd 4014 ldrh.w r4, [sp, #20] + d310: f8bd 9060 ldrh.w r9, [sp, #96] ; 0x60 + d314: eba9 0904 sub.w r9, r9, r4 + d318: fa1f f389 uxth.w r3, r9 + d31c: 930a str r3, [sp, #40] ; 0x28 + d31e: f8ad 3060 strh.w r3, [sp, #96] ; 0x60 area_outer.x2 += dsc->outline_width; - d8ca: f8bd 7064 ldrh.w r7, [sp, #100] ; 0x64 - d8ce: 4427 add r7, r4 - d8d0: b2bf uxth r7, r7 - d8d2: f8ad 7064 strh.w r7, [sp, #100] ; 0x64 + d322: f8bd 7064 ldrh.w r7, [sp, #100] ; 0x64 + d326: 4427 add r7, r4 + d328: b2bf uxth r7, r7 + d32a: f8ad 7064 strh.w r7, [sp, #100] ; 0x64 area_outer.y1 -= dsc->outline_width; - d8d6: f8bd 8062 ldrh.w r8, [sp, #98] ; 0x62 - d8da: eba8 0804 sub.w r8, r8, r4 - d8de: fa1f f888 uxth.w r8, r8 - d8e2: f8ad 8062 strh.w r8, [sp, #98] ; 0x62 + d32e: f8bd 8062 ldrh.w r8, [sp, #98] ; 0x62 + d332: eba8 0804 sub.w r8, r8, r4 + d336: fa1f f888 uxth.w r8, r8 + d33a: f8ad 8062 strh.w r8, [sp, #98] ; 0x62 area_outer.y2 += dsc->outline_width; - d8e6: f8bd 3066 ldrh.w r3, [sp, #102] ; 0x66 - d8ea: 441c add r4, r3 - d8ec: b2a4 uxth r4, r4 - d8ee: f8ad 4066 strh.w r4, [sp, #102] ; 0x66 + d33e: f8bd 3066 ldrh.w r3, [sp, #102] ; 0x66 + d342: 441c add r4, r3 + d344: b2a4 uxth r4, r4 + d346: f8ad 4066 strh.w r4, [sp, #102] ; 0x66 lv_disp_t * disp = _lv_refr_get_disp_refreshing(); - d8f2: 4b0c ldr r3, [pc, #48] ; (d924 ) - d8f4: 4798 blx r3 + d34a: 4b0c ldr r3, [pc, #48] ; (d37c ) + d34c: 4798 blx r3 lv_disp_buf_t * vdb = lv_disp_get_buf(disp); - d8f6: 4b0c ldr r3, [pc, #48] ; (d928 ) - d8f8: 4798 blx r3 - d8fa: 4681 mov r9, r0 + d34e: 4b0c ldr r3, [pc, #48] ; (d380 ) + d350: 4798 blx r3 + d352: 4681 mov r9, r0 is_common = _lv_area_intersect(&draw_area, &area_outer, clip); - d8fc: 9a04 ldr r2, [sp, #16] - d8fe: a918 add r1, sp, #96 ; 0x60 - d900: a81a add r0, sp, #104 ; 0x68 - d902: 4b04 ldr r3, [pc, #16] ; (d914 ) - d904: 4798 blx r3 + d354: 9a04 ldr r2, [sp, #16] + d356: a918 add r1, sp, #96 ; 0x60 + d358: a81a add r0, sp, #104 ; 0x68 + d35a: 4b04 ldr r3, [pc, #16] ; (d36c ) + d35c: 4798 blx r3 if(is_common == false) return; - d906: 2800 cmp r0, #0 - d908: f041 8044 bne.w e994 -} - d90c: b031 add sp, #196 ; 0xc4 - d90e: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} - d912: bf00 nop - d914: 00011ac1 .word 0x00011ac1 - d918: 00007cf9 .word 0x00007cf9 - d91c: 0000c415 .word 0x0000c415 - d920: 00012b19 .word 0x00012b19 - d924: 00006511 .word 0x00006511 - d928: 00011585 .word 0x00011585 - d92c: 0000c46d .word 0x0000c46d - d930: 00013029 .word 0x00013029 - d934: 0000c3c5 .word 0x0000c3c5 + d35e: 2800 cmp r0, #0 + d360: f041 8044 bne.w e3ec +} + d364: b031 add sp, #196 ; 0xc4 + d366: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + d36a: bf00 nop + d36c: 00011519 .word 0x00011519 + d370: 00007751 .word 0x00007751 + d374: 0000be6d .word 0x0000be6d + d378: 00012571 .word 0x00012571 + d37c: 00005f69 .word 0x00005f69 + d380: 00010fdd .word 0x00010fdd + d384: 0000bec5 .word 0x0000bec5 + d388: 00012a81 .word 0x00012a81 + d38c: 0000be1d .word 0x0000be1d draw_area.x1 -= disp_area->x1; - d938: f8b8 1010 ldrh.w r1, [r8, #16] - d93c: f8bd 3070 ldrh.w r3, [sp, #112] ; 0x70 - d940: 1a5b subs r3, r3, r1 - d942: b29a uxth r2, r3 - d944: f8ad 2070 strh.w r2, [sp, #112] ; 0x70 + d390: f8b8 1010 ldrh.w r1, [r8, #16] + d394: f8bd 3070 ldrh.w r3, [sp, #112] ; 0x70 + d398: 1a5b subs r3, r3, r1 + d39a: b29a uxth r2, r3 + d39c: f8ad 2070 strh.w r2, [sp, #112] ; 0x70 draw_area.y1 -= disp_area->y1; - d948: f8b8 0012 ldrh.w r0, [r8, #18] - d94c: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72 - d950: 1a1b subs r3, r3, r0 - d952: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 + d3a0: f8b8 0012 ldrh.w r0, [r8, #18] + d3a4: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72 + d3a8: 1a1b subs r3, r3, r0 + d3aa: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 draw_area.x2 -= disp_area->x1; - d956: f8bd 3074 ldrh.w r3, [sp, #116] ; 0x74 - d95a: 1a5b subs r3, r3, r1 - d95c: b29b uxth r3, r3 - d95e: f8ad 3074 strh.w r3, [sp, #116] ; 0x74 + d3ae: f8bd 3074 ldrh.w r3, [sp, #116] ; 0x74 + d3b2: 1a5b subs r3, r3, r1 + d3b4: b29b uxth r3, r3 + d3b6: f8ad 3074 strh.w r3, [sp, #116] ; 0x74 draw_area.y2 -= disp_area->y1; - d962: f8bd 1076 ldrh.w r1, [sp, #118] ; 0x76 - d966: 1a09 subs r1, r1, r0 - d968: f8ad 1076 strh.w r1, [sp, #118] ; 0x76 + d3ba: f8bd 1076 ldrh.w r1, [sp, #118] ; 0x76 + d3be: 1a09 subs r1, r1, r0 + d3c0: f8ad 1076 strh.w r1, [sp, #118] ; 0x76 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - d96c: 3301 adds r3, #1 - d96e: 1a9b subs r3, r3, r2 - d970: b21b sxth r3, r3 - d972: 9309 str r3, [sp, #36] ; 0x24 + d3c4: 3301 adds r3, #1 + d3c6: 1a9b subs r3, r3, r2 + d3c8: b21b sxth r3, r3 + d3ca: 9309 str r3, [sp, #36] ; 0x24 lv_opa_t * mask_buf = _lv_mem_buf_get(draw_area_w); - d974: 930a str r3, [sp, #40] ; 0x28 - d976: 4618 mov r0, r3 - d978: 4b93 ldr r3, [pc, #588] ; (dbc8 ) - d97a: 4798 blx r3 - d97c: 9005 str r0, [sp, #20] + d3cc: 930a str r3, [sp, #40] ; 0x28 + d3ce: 4618 mov r0, r3 + d3d0: 4b93 ldr r3, [pc, #588] ; (d620 ) + d3d2: 4798 blx r3 + d3d4: 9005 str r0, [sp, #20] uint16_t other_mask_cnt = lv_draw_mask_get_cnt(); - d97e: 4b93 ldr r3, [pc, #588] ; (dbcc ) - d980: 4798 blx r3 - d982: b283 uxth r3, r0 - d984: 930b str r3, [sp, #44] ; 0x2c + d3d6: 4b93 ldr r3, [pc, #588] ; (d624 ) + d3d8: 4798 blx r3 + d3da: b283 uxth r3, r0 + d3dc: 930b str r3, [sp, #44] ; 0x2c if(other_mask_cnt) simple_mode = false; - d986: bb43 cbnz r3, d9da + d3de: bb43 cbnz r3, d432 else if(dsc->bg_grad_dir == LV_GRAD_DIR_HOR) simple_mode = false; - d988: f89a 3006 ldrb.w r3, [sl, #6] - d98c: 3b02 subs r3, #2 - d98e: bf18 it ne - d990: 2301 movne r3, #1 - d992: 9307 str r3, [sp, #28] - d994: f8bd 506c ldrh.w r5, [sp, #108] ; 0x6c - d998: 3501 adds r5, #1 - d99a: f8bd 3068 ldrh.w r3, [sp, #104] ; 0x68 - d99e: 1aed subs r5, r5, r3 - d9a0: b22d sxth r5, r5 + d3e0: f89a 3006 ldrb.w r3, [sl, #6] + d3e4: 3b02 subs r3, #2 + d3e6: bf18 it ne + d3e8: 2301 movne r3, #1 + d3ea: 9307 str r3, [sp, #28] + d3ec: f8bd 506c ldrh.w r5, [sp, #108] ; 0x6c + d3f0: 3501 adds r5, #1 + d3f2: f8bd 3068 ldrh.w r3, [sp, #104] ; 0x68 + d3f6: 1aed subs r5, r5, r3 + d3f8: b22d sxth r5, r5 int32_t coords_w = lv_area_get_width(&coords_bg); - d9a2: 462c mov r4, r5 + d3fa: 462c mov r4, r5 int32_t rout = dsc->radius; - d9a4: f9ba 2000 ldrsh.w r2, [sl] + d3fc: f9ba 2000 ldrsh.w r2, [sl] return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - d9a8: f8bd 306e ldrh.w r3, [sp, #110] ; 0x6e - d9ac: 3301 adds r3, #1 - d9ae: f8bd 606a ldrh.w r6, [sp, #106] ; 0x6a - d9b2: 1b9b subs r3, r3, r6 + d400: f8bd 306e ldrh.w r3, [sp, #110] ; 0x6e + d404: 3301 adds r3, #1 + d406: f8bd 606a ldrh.w r6, [sp, #106] ; 0x6a + d40a: 1b9b subs r3, r3, r6 int32_t coords_h = lv_area_get_height(&coords_bg); - d9b4: b21e sxth r6, r3 + d40c: b21e sxth r6, r3 int32_t short_side = LV_MATH_MIN(coords_w, coords_h); - d9b6: 4633 mov r3, r6 - d9b8: 42ae cmp r6, r5 - d9ba: bfa8 it ge - d9bc: 462b movge r3, r5 + d40e: 4633 mov r3, r6 + d410: 42ae cmp r6, r5 + d412: bfa8 it ge + d414: 462b movge r3, r5 if(rout > short_side >> 1) rout = short_side >> 1; - d9be: 105e asrs r6, r3, #1 - d9c0: 4296 cmp r6, r2 - d9c2: bfa8 it ge - d9c4: 4616 movge r6, r2 + d416: 105e asrs r6, r3, #1 + d418: 4296 cmp r6, r2 + d41a: bfa8 it ge + d41c: 4616 movge r6, r2 if(simple_mode && rout == 0 && (dsc->bg_grad_dir == LV_GRAD_DIR_NONE)) { - d9c6: 9b07 ldr r3, [sp, #28] - d9c8: b1db cbz r3, da02 - d9ca: b9d6 cbnz r6, da02 - d9cc: f89a 3006 ldrb.w r3, [sl, #6] - d9d0: b133 cbz r3, d9e0 + d41e: 9b07 ldr r3, [sp, #28] + d420: b1db cbz r3, d45a + d422: b9d6 cbnz r6, d45a + d424: f89a 3006 ldrb.w r3, [sl, #6] + d428: b133 cbz r3, d438 int16_t mask_rout_id = LV_MASK_ID_INV; - d9d2: f04f 33ff mov.w r3, #4294967295 - d9d6: 930e str r3, [sp, #56] ; 0x38 - d9d8: e021 b.n da1e + d42a: f04f 33ff mov.w r3, #4294967295 + d42e: 930e str r3, [sp, #56] ; 0x38 + d430: e021 b.n d476 if(other_mask_cnt) simple_mode = false; - d9da: 2300 movs r3, #0 - d9dc: 9307 str r3, [sp, #28] - d9de: e7d9 b.n d994 + d432: 2300 movs r3, #0 + d434: 9307 str r3, [sp, #28] + d436: e7d9 b.n d3ec _lv_blend_fill(clip, &coords_bg, - d9e0: f89a 300d ldrb.w r3, [sl, #13] - d9e4: 9302 str r3, [sp, #8] - d9e6: 9701 str r7, [sp, #4] - d9e8: 2301 movs r3, #1 - d9ea: 9300 str r3, [sp, #0] - d9ec: 2300 movs r3, #0 - d9ee: f8ba 2002 ldrh.w r2, [sl, #2] - d9f2: a91a add r1, sp, #104 ; 0x68 - d9f4: 9804 ldr r0, [sp, #16] - d9f6: 4c76 ldr r4, [pc, #472] ; (dbd0 ) - d9f8: 47a0 blx r4 + d438: f89a 300d ldrb.w r3, [sl, #13] + d43c: 9302 str r3, [sp, #8] + d43e: 9701 str r7, [sp, #4] + d440: 2301 movs r3, #1 + d442: 9300 str r3, [sp, #0] + d444: 2300 movs r3, #0 + d446: f8ba 2002 ldrh.w r2, [sl, #2] + d44a: a91a add r1, sp, #104 ; 0x68 + d44c: 9804 ldr r0, [sp, #16] + d44e: 4c76 ldr r4, [pc, #472] ; (d628 ) + d450: 47a0 blx r4 int16_t mask_rout_id = LV_MASK_ID_INV; - d9fa: f04f 33ff mov.w r3, #4294967295 - d9fe: 930e str r3, [sp, #56] ; 0x38 - da00: e276 b.n def0 + d452: f04f 33ff mov.w r3, #4294967295 + d456: 930e str r3, [sp, #56] ; 0x38 + d458: e276 b.n d948 if(rout > 0) { - da02: 2e00 cmp r6, #0 - da04: dd32 ble.n da6c + d45a: 2e00 cmp r6, #0 + d45c: dd32 ble.n d4c4 lv_draw_mask_radius_init(&mask_rout_param, &coords_bg, rout, false); - da06: 2300 movs r3, #0 - da08: 4632 mov r2, r6 - da0a: a91a add r1, sp, #104 ; 0x68 - da0c: a829 add r0, sp, #164 ; 0xa4 - da0e: f8df 91d0 ldr.w r9, [pc, #464] ; dbe0 - da12: 47c8 blx r9 + d45e: 2300 movs r3, #0 + d460: 4632 mov r2, r6 + d462: a91a add r1, sp, #104 ; 0x68 + d464: a829 add r0, sp, #164 ; 0xa4 + d466: f8df 91d0 ldr.w r9, [pc, #464] ; d638 + d46a: 47c8 blx r9 mask_rout_id = lv_draw_mask_add(&mask_rout_param, NULL); - da14: 2100 movs r1, #0 - da16: a829 add r0, sp, #164 ; 0xa4 - da18: 4b6e ldr r3, [pc, #440] ; (dbd4 ) - da1a: 4798 blx r3 - da1c: 900e str r0, [sp, #56] ; 0x38 + d46c: 2100 movs r1, #0 + d46e: a829 add r0, sp, #164 ; 0xa4 + d470: 4b6e ldr r3, [pc, #440] ; (d62c ) + d472: 4798 blx r3 + d474: 900e str r0, [sp, #56] ; 0x38 lv_color_t grad_color = dsc->bg_color; - da1e: f8ba b002 ldrh.w fp, [sl, #2] + d476: f8ba b002 ldrh.w fp, [sl, #2] if(dsc->bg_grad_dir == LV_GRAD_DIR_HOR && dsc->bg_color.full != dsc->bg_grad_color.full) { - da22: f89a 3006 ldrb.w r3, [sl, #6] - da26: 2b02 cmp r3, #2 - da28: d024 beq.n da74 + d47a: f89a 3006 ldrb.w r3, [sl, #6] + d47e: 2b02 cmp r3, #2 + d480: d024 beq.n d4cc lv_color_t * grad_map = NULL; - da2a: 2300 movs r3, #0 - da2c: 930d str r3, [sp, #52] ; 0x34 + d482: 2300 movs r3, #0 + d484: 930d str r3, [sp, #52] ; 0x34 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - da2e: f9bd 206c ldrsh.w r2, [sp, #108] ; 0x6c - da32: f9bd 1068 ldrsh.w r1, [sp, #104] ; 0x68 - da36: 1c53 adds r3, r2, #1 - da38: 1a5b subs r3, r3, r1 + d486: f9bd 206c ldrsh.w r2, [sp, #108] ; 0x6c + d48a: f9bd 1068 ldrsh.w r1, [sp, #104] ; 0x68 + d48e: 1c53 adds r3, r2, #1 + d490: 1a5b subs r3, r3, r1 if(lv_area_get_width(&coords_bg) - 2 * rout > SPLIT_LIMIT) split = true; - da3a: b21b sxth r3, r3 - da3c: eba3 0946 sub.w r9, r3, r6, lsl #1 + d492: b21b sxth r3, r3 + d494: eba3 0946 sub.w r9, r3, r6, lsl #1 fill_area.x1 = coords_bg.x1; - da40: f8ad 1078 strh.w r1, [sp, #120] ; 0x78 + d498: f8ad 1078 strh.w r1, [sp, #120] ; 0x78 fill_area.x2 = coords_bg.x2; - da44: f8ad 207c strh.w r2, [sp, #124] ; 0x7c + d49c: f8ad 207c strh.w r2, [sp, #124] ; 0x7c fill_area.y1 = disp_area->y1 + draw_area.y1; - da48: f9bd 2072 ldrsh.w r2, [sp, #114] ; 0x72 - da4c: f8b8 3012 ldrh.w r3, [r8, #18] - da50: 4413 add r3, r2 - da52: b21b sxth r3, r3 - da54: f8ad 307a strh.w r3, [sp, #122] ; 0x7a + d4a0: f9bd 2072 ldrsh.w r2, [sp, #114] ; 0x72 + d4a4: f8b8 3012 ldrh.w r3, [r8, #18] + d4a8: 4413 add r3, r2 + d4aa: b21b sxth r3, r3 + d4ac: f8ad 307a strh.w r3, [sp, #122] ; 0x7a fill_area.y2 = fill_area.y1; - da58: f8ad 307e strh.w r3, [sp, #126] ; 0x7e + d4b0: f8ad 307e strh.w r3, [sp, #126] ; 0x7e for(h = draw_area.y1; h <= draw_area.y2; h++) { - da5c: 4615 mov r5, r2 - da5e: f9bd 3076 ldrsh.w r3, [sp, #118] ; 0x76 - da62: 429a cmp r2, r3 - da64: f300 8237 bgt.w ded6 + d4b4: 4615 mov r5, r2 + d4b6: f9bd 3076 ldrsh.w r3, [sp, #118] ; 0x76 + d4ba: 429a cmp r2, r3 + d4bc: f300 8237 bgt.w d92e _lv_blend_fill(clip, &fill_area2, - da68: 9708 str r7, [sp, #32] - da6a: e0fa b.n dc62 + d4c0: 9708 str r7, [sp, #32] + d4c2: e0fa b.n d6ba int16_t mask_rout_id = LV_MASK_ID_INV; - da6c: f04f 33ff mov.w r3, #4294967295 - da70: 930e str r3, [sp, #56] ; 0x38 - da72: e7d4 b.n da1e + d4c4: f04f 33ff mov.w r3, #4294967295 + d4c8: 930e str r3, [sp, #56] ; 0x38 + d4ca: e7d4 b.n d476 if(dsc->bg_grad_dir == LV_GRAD_DIR_HOR && dsc->bg_color.full != dsc->bg_grad_color.full) { - da74: f8ba 3004 ldrh.w r3, [sl, #4] - da78: 459b cmp fp, r3 - da7a: f000 8089 beq.w db90 + d4cc: f8ba 3004 ldrh.w r3, [sl, #4] + d4d0: 459b cmp fp, r3 + d4d2: f000 8089 beq.w d5e8 grad_map = _lv_mem_buf_get(coords_w * sizeof(lv_color_t)); - da7e: 0068 lsls r0, r5, #1 - da80: 4b51 ldr r3, [pc, #324] ; (dbc8 ) - da82: 4798 blx r3 - da84: 900d str r0, [sp, #52] ; 0x34 + d4d6: 0068 lsls r0, r5, #1 + d4d8: 4b51 ldr r3, [pc, #324] ; (d620 ) + d4da: 4798 blx r3 + d4dc: 900d str r0, [sp, #52] ; 0x34 for(i = 0; i < coords_w; i++) { - da86: 2d00 cmp r5, #0 - da88: ddd1 ble.n da2e - da8a: f04f 0900 mov.w r9, #0 - da8e: 9608 str r6, [sp, #32] - da90: 4606 mov r6, r0 - da92: e01b b.n dacc + d4de: 2d00 cmp r5, #0 + d4e0: ddd1 ble.n d486 + d4e2: f04f 0900 mov.w r9, #0 + d4e6: 9608 str r6, [sp, #32] + d4e8: 4606 mov r6, r0 + d4ea: e01b b.n d524 if(i <= min) return dsc->bg_color; - da94: f89a 3002 ldrb.w r3, [sl, #2] - da98: f003 031f and.w r3, r3, #31 - da9c: f8ba 1002 ldrh.w r1, [sl, #2] - daa0: f3c1 1145 ubfx r1, r1, #5, #6 - daa4: f89a 2003 ldrb.w r2, [sl, #3] - daa8: 08d2 lsrs r2, r2, #3 + d4ec: f89a 3002 ldrb.w r3, [sl, #2] + d4f0: f003 031f and.w r3, r3, #31 + d4f4: f8ba 1002 ldrh.w r1, [sl, #2] + d4f8: f3c1 1145 ubfx r1, r1, #5, #6 + d4fc: f89a 2003 ldrb.w r2, [sl, #3] + d500: 08d2 lsrs r2, r2, #3 grad_map[i] = grad_get(dsc, coords_w, i); - daaa: 7828 ldrb r0, [r5, #0] - daac: f363 0004 bfi r0, r3, #0, #5 - dab0: 7028 strb r0, [r5, #0] - dab2: 882b ldrh r3, [r5, #0] - dab4: f361 134a bfi r3, r1, #5, #6 - dab8: 802b strh r3, [r5, #0] - daba: 0a1b lsrs r3, r3, #8 - dabc: f362 03c7 bfi r3, r2, #3, #5 - dac0: 706b strb r3, [r5, #1] + d502: 7828 ldrb r0, [r5, #0] + d504: f363 0004 bfi r0, r3, #0, #5 + d508: 7028 strb r0, [r5, #0] + d50a: 882b ldrh r3, [r5, #0] + d50c: f361 134a bfi r3, r1, #5, #6 + d510: 802b strh r3, [r5, #0] + d512: 0a1b lsrs r3, r3, #8 + d514: f362 03c7 bfi r3, r2, #3, #5 + d518: 706b strb r3, [r5, #1] for(i = 0; i < coords_w; i++) { - dac2: f109 0901 add.w r9, r9, #1 - dac6: 3602 adds r6, #2 - dac8: 454c cmp r4, r9 - daca: d05f beq.n db8c + d51a: f109 0901 add.w r9, r9, #1 + d51e: 3602 adds r6, #2 + d520: 454c cmp r4, r9 + d522: d05f beq.n d5e4 grad_map[i] = grad_get(dsc, coords_w, i); - dacc: 4635 mov r5, r6 + d524: 4635 mov r5, r6 int32_t min = (dsc->bg_main_color_stop * s) >> 8; - dace: f9ba 0008 ldrsh.w r0, [sl, #8] - dad2: fb00 f304 mul.w r3, r0, r4 - dad6: 121b asrs r3, r3, #8 + d526: f9ba 0008 ldrsh.w r0, [sl, #8] + d52a: fb00 f304 mul.w r3, r0, r4 + d52e: 121b asrs r3, r3, #8 if(i <= min) return dsc->bg_color; - dad8: fa0f f189 sxth.w r1, r9 - dadc: 428b cmp r3, r1 - dade: dad9 bge.n da94 + d530: fa0f f189 sxth.w r1, r9 + d534: 428b cmp r3, r1 + d536: dad9 bge.n d4ec int32_t max = (dsc->bg_grad_color_stop * s) >> 8; - dae0: f9ba 200a ldrsh.w r2, [sl, #10] - dae4: fb02 fe04 mul.w lr, r2, r4 + d538: f9ba 200a ldrsh.w r2, [sl, #10] + d53c: fb02 fe04 mul.w lr, r2, r4 if(i >= max) return dsc->bg_grad_color; - dae8: ebb1 2f2e cmp.w r1, lr, asr #8 - daec: da42 bge.n db74 + d540: ebb1 2f2e cmp.w r1, lr, asr #8 + d544: da42 bge.n d5cc int32_t d = dsc->bg_grad_color_stop - dsc->bg_main_color_stop; - daee: 1a12 subs r2, r2, r0 + d546: 1a12 subs r2, r2, r0 d = (s * d) >> 8; - daf0: fb04 f202 mul.w r2, r4, r2 + d548: fb04 f202 mul.w r2, r4, r2 i -= min; - daf4: eba9 0303 sub.w r3, r9, r3 + d54c: eba9 0303 sub.w r3, r9, r3 lv_opa_t mix = (i * 255) / d; - daf8: b21b sxth r3, r3 - dafa: ebc3 2303 rsb r3, r3, r3, lsl #8 + d550: b21b sxth r3, r3 + d552: ebc3 2303 rsb r3, r3, r3, lsl #8 d = (s * d) >> 8; - dafe: 1212 asrs r2, r2, #8 + d556: 1212 asrs r2, r2, #8 lv_opa_t mix = (i * 255) / d; - db00: fb93 f3f2 sdiv r3, r3, r2 - db04: b2db uxtb r3, r3 + d558: fb93 f3f2 sdiv r3, r3, r2 + d55c: b2db uxtb r3, r3 LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - db06: f1c3 0eff rsb lr, r3, #255 ; 0xff - db0a: f89a 2005 ldrb.w r2, [sl, #5] - db0e: 08d2 lsrs r2, r2, #3 - db10: f89a 1003 ldrb.w r1, [sl, #3] - db14: 08c9 lsrs r1, r1, #3 - db16: fb0e f101 mul.w r1, lr, r1 - db1a: fb03 1202 mla r2, r3, r2, r1 - db1e: eb02 2102 add.w r1, r2, r2, lsl #8 - db22: eb02 12c1 add.w r2, r2, r1, lsl #7 - db26: f3c2 52c4 ubfx r2, r2, #23, #5 + d55e: f1c3 0eff rsb lr, r3, #255 ; 0xff + d562: f89a 2005 ldrb.w r2, [sl, #5] + d566: 08d2 lsrs r2, r2, #3 + d568: f89a 1003 ldrb.w r1, [sl, #3] + d56c: 08c9 lsrs r1, r1, #3 + d56e: fb0e f101 mul.w r1, lr, r1 + d572: fb03 1202 mla r2, r3, r2, r1 + d576: eb02 2102 add.w r1, r2, r2, lsl #8 + d57a: eb02 12c1 add.w r2, r2, r1, lsl #7 + d57e: f3c2 52c4 ubfx r2, r2, #23, #5 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - db2a: f8ba 1004 ldrh.w r1, [sl, #4] - db2e: f3c1 1145 ubfx r1, r1, #5, #6 - db32: f8ba 0002 ldrh.w r0, [sl, #2] - db36: f3c0 1045 ubfx r0, r0, #5, #6 - db3a: fb0e f000 mul.w r0, lr, r0 - db3e: fb03 0101 mla r1, r3, r1, r0 - db42: eb01 2001 add.w r0, r1, r1, lsl #8 - db46: eb01 11c0 add.w r1, r1, r0, lsl #7 - db4a: f3c1 51c5 ubfx r1, r1, #23, #6 + d582: f8ba 1004 ldrh.w r1, [sl, #4] + d586: f3c1 1145 ubfx r1, r1, #5, #6 + d58a: f8ba 0002 ldrh.w r0, [sl, #2] + d58e: f3c0 1045 ubfx r0, r0, #5, #6 + d592: fb0e f000 mul.w r0, lr, r0 + d596: fb03 0101 mla r1, r3, r1, r0 + d59a: eb01 2001 add.w r0, r1, r1, lsl #8 + d59e: eb01 11c0 add.w r1, r1, r0, lsl #7 + d5a2: f3c1 51c5 ubfx r1, r1, #23, #6 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - db4e: f89a 0004 ldrb.w r0, [sl, #4] - db52: f000 001f and.w r0, r0, #31 - db56: f89a c002 ldrb.w ip, [sl, #2] - db5a: f00c 0c1f and.w ip, ip, #31 - db5e: fb0e fe0c mul.w lr, lr, ip - db62: fb03 e300 mla r3, r3, r0, lr - db66: eb03 2003 add.w r0, r3, r3, lsl #8 - db6a: eb03 13c0 add.w r3, r3, r0, lsl #7 - db6e: f3c3 53c4 ubfx r3, r3, #23, #5 - db72: e79a b.n daaa + d5a6: f89a 0004 ldrb.w r0, [sl, #4] + d5aa: f000 001f and.w r0, r0, #31 + d5ae: f89a c002 ldrb.w ip, [sl, #2] + d5b2: f00c 0c1f and.w ip, ip, #31 + d5b6: fb0e fe0c mul.w lr, lr, ip + d5ba: fb03 e300 mla r3, r3, r0, lr + d5be: eb03 2003 add.w r0, r3, r3, lsl #8 + d5c2: eb03 13c0 add.w r3, r3, r0, lsl #7 + d5c6: f3c3 53c4 ubfx r3, r3, #23, #5 + d5ca: e79a b.n d502 if(i >= max) return dsc->bg_grad_color; - db74: f89a 3004 ldrb.w r3, [sl, #4] - db78: f003 031f and.w r3, r3, #31 - db7c: f8ba 1004 ldrh.w r1, [sl, #4] - db80: f3c1 1145 ubfx r1, r1, #5, #6 - db84: f89a 2005 ldrb.w r2, [sl, #5] - db88: 08d2 lsrs r2, r2, #3 - db8a: e78e b.n daaa - db8c: 9e08 ldr r6, [sp, #32] - db8e: e74e b.n da2e + d5cc: f89a 3004 ldrb.w r3, [sl, #4] + d5d0: f003 031f and.w r3, r3, #31 + d5d4: f8ba 1004 ldrh.w r1, [sl, #4] + d5d8: f3c1 1145 ubfx r1, r1, #5, #6 + d5dc: f89a 2005 ldrb.w r2, [sl, #5] + d5e0: 08d2 lsrs r2, r2, #3 + d5e2: e78e b.n d502 + d5e4: 9e08 ldr r6, [sp, #32] + d5e6: e74e b.n d486 lv_color_t * grad_map = NULL; - db90: 2300 movs r3, #0 - db92: 930d str r3, [sp, #52] ; 0x34 - db94: e74b b.n da2e + d5e8: 2300 movs r3, #0 + d5ea: 930d str r3, [sp, #52] ; 0x34 + d5ec: e74b b.n d486 _lv_memset_ff(mask_buf, draw_area_w); - db96: 990a ldr r1, [sp, #40] ; 0x28 - db98: 9f05 ldr r7, [sp, #20] - db9a: 4638 mov r0, r7 - db9c: 4b0e ldr r3, [pc, #56] ; (dbd8 ) - db9e: 4798 blx r3 + d5ee: 990a ldr r1, [sp, #40] ; 0x28 + d5f0: 9f05 ldr r7, [sp, #20] + d5f2: 4638 mov r0, r7 + d5f4: 4b0e ldr r3, [pc, #56] ; (d630 ) + d5f6: 4798 blx r3 mask_res = lv_draw_mask_apply(mask_buf, vdb->area.x1 + draw_area.x1, vdb->area.y1 + h, draw_area_w); - dba0: f8b8 2012 ldrh.w r2, [r8, #18] - dba4: 442a add r2, r5 - dba6: f8b8 1010 ldrh.w r1, [r8, #16] - dbaa: f8bd 3070 ldrh.w r3, [sp, #112] ; 0x70 - dbae: 4419 add r1, r3 - dbb0: 9b09 ldr r3, [sp, #36] ; 0x24 - dbb2: b212 sxth r2, r2 - dbb4: b209 sxth r1, r1 - dbb6: 4638 mov r0, r7 - dbb8: 4f08 ldr r7, [pc, #32] ; (dbdc ) - dbba: 47b8 blx r7 - dbbc: 4607 mov r7, r0 + d5f8: f8b8 2012 ldrh.w r2, [r8, #18] + d5fc: 442a add r2, r5 + d5fe: f8b8 1010 ldrh.w r1, [r8, #16] + d602: f8bd 3070 ldrh.w r3, [sp, #112] ; 0x70 + d606: 4419 add r1, r3 + d608: 9b09 ldr r3, [sp, #36] ; 0x24 + d60a: b212 sxth r2, r2 + d60c: b209 sxth r1, r1 + d60e: 4638 mov r0, r7 + d610: 4f08 ldr r7, [pc, #32] ; (d634 ) + d612: 47b8 blx r7 + d614: 4607 mov r7, r0 if(dsc->bg_grad_dir == LV_GRAD_DIR_VER && dsc->bg_color.full != dsc->bg_grad_color.full) { - dbbe: f89a 3006 ldrb.w r3, [sl, #6] - dbc2: 2b01 cmp r3, #1 - dbc4: d129 bne.n dc1a - dbc6: e07a b.n dcbe - dbc8: 00012ee5 .word 0x00012ee5 - dbcc: 0000c46d .word 0x0000c46d - dbd0: 00007cf9 .word 0x00007cf9 - dbd4: 0000c369 .word 0x0000c369 - dbd8: 00013195 .word 0x00013195 - dbdc: 0000c3c5 .word 0x0000c3c5 - dbe0: 0000c5d5 .word 0x0000c5d5 + d616: f89a 3006 ldrb.w r3, [sl, #6] + d61a: 2b01 cmp r3, #1 + d61c: d129 bne.n d672 + d61e: e07a b.n d716 + d620: 0001293d .word 0x0001293d + d624: 0000bec5 .word 0x0000bec5 + d628: 00007751 .word 0x00007751 + d62c: 0000bdc1 .word 0x0000bdc1 + d630: 00012bed .word 0x00012bed + d634: 0000be1d .word 0x0000be1d + d638: 0000c02d .word 0x0000c02d _lv_memset_ff(mask_buf, draw_area_w); - dbe4: 990a ldr r1, [sp, #40] ; 0x28 - dbe6: 9f05 ldr r7, [sp, #20] - dbe8: 4638 mov r0, r7 - dbea: 4bb6 ldr r3, [pc, #728] ; (dec4 ) - dbec: 4798 blx r3 + d63c: 990a ldr r1, [sp, #40] ; 0x28 + d63e: 9f05 ldr r7, [sp, #20] + d640: 4638 mov r0, r7 + d642: 4bb6 ldr r3, [pc, #728] ; (d91c ) + d644: 4798 blx r3 mask_res = lv_draw_mask_apply(mask_buf, vdb->area.x1 + draw_area.x1, vdb->area.y1 + h, draw_area_w); - dbee: f8b8 2012 ldrh.w r2, [r8, #18] - dbf2: 442a add r2, r5 - dbf4: f8b8 1010 ldrh.w r1, [r8, #16] - dbf8: f8bd 3070 ldrh.w r3, [sp, #112] ; 0x70 - dbfc: 4419 add r1, r3 - dbfe: 9b09 ldr r3, [sp, #36] ; 0x24 - dc00: b212 sxth r2, r2 - dc02: b209 sxth r1, r1 - dc04: 4638 mov r0, r7 - dc06: 4fb0 ldr r7, [pc, #704] ; (dec8 ) - dc08: 47b8 blx r7 - dc0a: 4607 mov r7, r0 + d646: f8b8 2012 ldrh.w r2, [r8, #18] + d64a: 442a add r2, r5 + d64c: f8b8 1010 ldrh.w r1, [r8, #16] + d650: f8bd 3070 ldrh.w r3, [sp, #112] ; 0x70 + d654: 4419 add r1, r3 + d656: 9b09 ldr r3, [sp, #36] ; 0x24 + d658: b212 sxth r2, r2 + d65a: b209 sxth r1, r1 + d65c: 4638 mov r0, r7 + d65e: 4fb0 ldr r7, [pc, #704] ; (d920 ) + d660: 47b8 blx r7 + d662: 4607 mov r7, r0 if(dsc->bg_grad_dir == LV_GRAD_DIR_VER && dsc->bg_color.full != dsc->bg_grad_color.full) { - dc0c: f89a 3006 ldrb.w r3, [sl, #6] - dc10: 2b01 cmp r3, #1 - dc12: d054 beq.n dcbe + d664: f89a 3006 ldrb.w r3, [sl, #6] + d668: 2b01 cmp r3, #1 + d66a: d054 beq.n d716 if(simple_mode && split && - dc14: 9a07 ldr r2, [sp, #28] - dc16: 2a00 cmp r2, #0 - dc18: d13a bne.n dc90 + d66c: 9a07 ldr r2, [sp, #28] + d66e: 2a00 cmp r2, #0 + d670: d13a bne.n d6e8 if(dsc->bg_grad_dir == LV_GRAD_DIR_HOR) { - dc1a: 2b02 cmp r3, #2 - dc1c: f000 8144 beq.w dea8 + d672: 2b02 cmp r3, #2 + d674: f000 8144 beq.w d900 else if(other_mask_cnt != 0 || !split) { - dc20: 9b0b ldr r3, [sp, #44] ; 0x2c - dc22: b913 cbnz r3, dc2a - dc24: f1b9 0f32 cmp.w r9, #50 ; 0x32 - dc28: dc0b bgt.n dc42 + d678: 9b0b ldr r3, [sp, #44] ; 0x2c + d67a: b913 cbnz r3, d682 + d67c: f1b9 0f32 cmp.w r9, #50 ; 0x32 + d680: dc0b bgt.n d69a _lv_blend_fill(clip, &fill_area, - dc2a: f89a 300d ldrb.w r3, [sl, #13] - dc2e: 9302 str r3, [sp, #8] - dc30: 9b08 ldr r3, [sp, #32] - dc32: 9301 str r3, [sp, #4] - dc34: 9700 str r7, [sp, #0] - dc36: 9b05 ldr r3, [sp, #20] - dc38: 465a mov r2, fp - dc3a: a91e add r1, sp, #120 ; 0x78 - dc3c: 9804 ldr r0, [sp, #16] - dc3e: 4ca3 ldr r4, [pc, #652] ; (decc ) - dc40: 47a0 blx r4 + d682: f89a 300d ldrb.w r3, [sl, #13] + d686: 9302 str r3, [sp, #8] + d688: 9b08 ldr r3, [sp, #32] + d68a: 9301 str r3, [sp, #4] + d68c: 9700 str r7, [sp, #0] + d68e: 9b05 ldr r3, [sp, #20] + d690: 465a mov r2, fp + d692: a91e add r1, sp, #120 ; 0x78 + d694: 9804 ldr r0, [sp, #16] + d696: 4ca3 ldr r4, [pc, #652] ; (d924 ) + d698: 47a0 blx r4 fill_area.y1++; - dc42: f8bd 307a ldrh.w r3, [sp, #122] ; 0x7a - dc46: 3301 adds r3, #1 - dc48: f8ad 307a strh.w r3, [sp, #122] ; 0x7a + d69a: f8bd 307a ldrh.w r3, [sp, #122] ; 0x7a + d69e: 3301 adds r3, #1 + d6a0: f8ad 307a strh.w r3, [sp, #122] ; 0x7a fill_area.y2++; - dc4c: f8bd 307e ldrh.w r3, [sp, #126] ; 0x7e - dc50: 3301 adds r3, #1 - dc52: f8ad 307e strh.w r3, [sp, #126] ; 0x7e + d6a4: f8bd 307e ldrh.w r3, [sp, #126] ; 0x7e + d6a8: 3301 adds r3, #1 + d6aa: f8ad 307e strh.w r3, [sp, #126] ; 0x7e for(h = draw_area.y1; h <= draw_area.y2; h++) { - dc56: 3501 adds r5, #1 - dc58: f9bd 3076 ldrsh.w r3, [sp, #118] ; 0x76 - dc5c: 429d cmp r5, r3 - dc5e: f300 8139 bgt.w ded4 + d6ae: 3501 adds r5, #1 + d6b0: f9bd 3076 ldrsh.w r3, [sp, #118] ; 0x76 + d6b4: 429d cmp r5, r3 + d6b6: f300 8139 bgt.w d92c int32_t y = h + vdb->area.y1; - dc62: f9b8 4012 ldrsh.w r4, [r8, #18] - dc66: 442c add r4, r5 + d6ba: f9b8 4012 ldrsh.w r4, [r8, #18] + d6be: 442c add r4, r5 if(y > coords_bg.y1 + rout + 1 && - dc68: f9bd 306a ldrsh.w r3, [sp, #106] ; 0x6a - dc6c: 4433 add r3, r6 - dc6e: 3301 adds r3, #1 - dc70: 429c cmp r4, r3 - dc72: ddb7 ble.n dbe4 + d6c0: f9bd 306a ldrsh.w r3, [sp, #106] ; 0x6a + d6c4: 4433 add r3, r6 + d6c6: 3301 adds r3, #1 + d6c8: 429c cmp r4, r3 + d6ca: ddb7 ble.n d63c y < coords_bg.y2 - rout - 1) { - dc74: f9bd 306e ldrsh.w r3, [sp, #110] ; 0x6e - dc78: 1b9b subs r3, r3, r6 - dc7a: 3b01 subs r3, #1 + d6cc: f9bd 306e ldrsh.w r3, [sp, #110] ; 0x6e + d6d0: 1b9b subs r3, r3, r6 + d6d2: 3b01 subs r3, #1 if(y > coords_bg.y1 + rout + 1 && - dc7c: 429c cmp r4, r3 - dc7e: dab1 bge.n dbe4 + d6d4: 429c cmp r4, r3 + d6d6: dab1 bge.n d63c if(simple_mode == false) { - dc80: 9b07 ldr r3, [sp, #28] - dc82: 2b00 cmp r3, #0 - dc84: d087 beq.n db96 + d6d8: 9b07 ldr r3, [sp, #28] + d6da: 2b00 cmp r3, #0 + d6dc: d087 beq.n d5ee if(dsc->bg_grad_dir == LV_GRAD_DIR_VER && dsc->bg_color.full != dsc->bg_grad_color.full) { - dc86: f89a 3006 ldrb.w r3, [sl, #6] - dc8a: 2b01 cmp r3, #1 - dc8c: d016 beq.n dcbc + d6de: f89a 3006 ldrb.w r3, [sl, #6] + d6e2: 2b01 cmp r3, #1 + d6e4: d016 beq.n d714 mask_res = LV_DRAW_MASK_RES_FULL_COVER; - dc8e: 2701 movs r7, #1 + d6e6: 2701 movs r7, #1 if(simple_mode && split && - dc90: f1b9 0f32 cmp.w r9, #50 ; 0x32 - dc94: f300 8093 bgt.w ddbe + d6e8: f1b9 0f32 cmp.w r9, #50 ; 0x32 + d6ec: f300 8093 bgt.w d816 if(dsc->bg_grad_dir == LV_GRAD_DIR_HOR) { - dc98: 2b02 cmp r3, #2 - dc9a: f000 8105 beq.w dea8 + d6f0: 2b02 cmp r3, #2 + d6f2: f000 8105 beq.w d900 else if(dsc->bg_grad_dir == LV_GRAD_DIR_VER) { - dc9e: 2b01 cmp r3, #1 - dca0: d1be bne.n dc20 + d6f6: 2b01 cmp r3, #1 + d6f8: d1be bne.n d678 _lv_blend_fill(clip, &fill_area, - dca2: f89a 300d ldrb.w r3, [sl, #13] - dca6: 9302 str r3, [sp, #8] - dca8: 9b08 ldr r3, [sp, #32] - dcaa: 9301 str r3, [sp, #4] - dcac: 9700 str r7, [sp, #0] - dcae: 9b05 ldr r3, [sp, #20] - dcb0: 465a mov r2, fp - dcb2: a91e add r1, sp, #120 ; 0x78 - dcb4: 9804 ldr r0, [sp, #16] - dcb6: 4c85 ldr r4, [pc, #532] ; (decc ) - dcb8: 47a0 blx r4 - dcba: e7c2 b.n dc42 + d6fa: f89a 300d ldrb.w r3, [sl, #13] + d6fe: 9302 str r3, [sp, #8] + d700: 9b08 ldr r3, [sp, #32] + d702: 9301 str r3, [sp, #4] + d704: 9700 str r7, [sp, #0] + d706: 9b05 ldr r3, [sp, #20] + d708: 465a mov r2, fp + d70a: a91e add r1, sp, #120 ; 0x78 + d70c: 9804 ldr r0, [sp, #16] + d70e: 4c85 ldr r4, [pc, #532] ; (d924 ) + d710: 47a0 blx r4 + d712: e7c2 b.n d69a mask_res = LV_DRAW_MASK_RES_FULL_COVER; - dcbc: 2701 movs r7, #1 + d714: 2701 movs r7, #1 if(dsc->bg_grad_dir == LV_GRAD_DIR_VER && dsc->bg_color.full != dsc->bg_grad_color.full) { - dcbe: f8ba 2002 ldrh.w r2, [sl, #2] - dcc2: f8ba 3004 ldrh.w r3, [sl, #4] - dcc6: 429a cmp r2, r3 - dcc8: d06f beq.n ddaa + d716: f8ba 2002 ldrh.w r2, [sl, #2] + d71a: f8ba 3004 ldrh.w r3, [sl, #4] + d71e: 429a cmp r2, r3 + d720: d06f beq.n d802 return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - dcca: f8bd 106a ldrh.w r1, [sp, #106] ; 0x6a + d722: f8bd 106a ldrh.w r1, [sp, #106] ; 0x6a grad_color = grad_get(dsc, lv_area_get_height(&coords_bg), y - coords_bg.y1); - dcce: 1a62 subs r2, r4, r1 - dcd0: b293 uxth r3, r2 - dcd2: 461a mov r2, r3 - dcd4: 930c str r3, [sp, #48] ; 0x30 + d726: 1a62 subs r2, r4, r1 + d728: b293 uxth r3, r2 + d72a: 461a mov r2, r3 + d72c: 930c str r3, [sp, #48] ; 0x30 int32_t min = (dsc->bg_main_color_stop * s) >> 8; - dcd6: f9ba e008 ldrsh.w lr, [sl, #8] - dcda: f8bd 306e ldrh.w r3, [sp, #110] ; 0x6e - dcde: 3301 adds r3, #1 - dce0: 1a5b subs r3, r3, r1 - dce2: b21b sxth r3, r3 - dce4: fb03 f10e mul.w r1, r3, lr - dce8: 1209 asrs r1, r1, #8 + d72e: f9ba e008 ldrsh.w lr, [sl, #8] + d732: f8bd 306e ldrh.w r3, [sp, #110] ; 0x6e + d736: 3301 adds r3, #1 + d738: 1a5b subs r3, r3, r1 + d73a: b21b sxth r3, r3 + d73c: fb03 f10e mul.w r1, r3, lr + d740: 1209 asrs r1, r1, #8 if(i <= min) return dsc->bg_color; - dcea: b210 sxth r0, r2 - dcec: 4281 cmp r1, r0 - dcee: da4b bge.n dd88 + d742: b210 sxth r0, r2 + d744: 4281 cmp r1, r0 + d746: da4b bge.n d7e0 int32_t max = (dsc->bg_grad_color_stop * s) >> 8; - dcf0: f9ba c00a ldrsh.w ip, [sl, #10] - dcf4: fb0c f203 mul.w r2, ip, r3 + d748: f9ba c00a ldrsh.w ip, [sl, #10] + d74c: fb0c f203 mul.w r2, ip, r3 if(i >= max) return dsc->bg_grad_color; - dcf8: ebb0 2f22 cmp.w r0, r2, asr #8 - dcfc: f280 80b0 bge.w de60 + d750: ebb0 2f22 cmp.w r0, r2, asr #8 + d754: f280 80b0 bge.w d8b8 int32_t d = dsc->bg_grad_color_stop - dsc->bg_main_color_stop; - dd00: ebac 0e0e sub.w lr, ip, lr + d758: ebac 0e0e sub.w lr, ip, lr d = (s * d) >> 8; - dd04: fb03 f30e mul.w r3, r3, lr + d75c: fb03 f30e mul.w r3, r3, lr i -= min; - dd08: 9a0c ldr r2, [sp, #48] ; 0x30 - dd0a: 1a52 subs r2, r2, r1 + d760: 9a0c ldr r2, [sp, #48] ; 0x30 + d762: 1a52 subs r2, r2, r1 lv_opa_t mix = (i * 255) / d; - dd0c: b212 sxth r2, r2 - dd0e: ebc2 2202 rsb r2, r2, r2, lsl #8 + d764: b212 sxth r2, r2 + d766: ebc2 2202 rsb r2, r2, r2, lsl #8 d = (s * d) >> 8; - dd12: 121b asrs r3, r3, #8 + d76a: 121b asrs r3, r3, #8 lv_opa_t mix = (i * 255) / d; - dd14: fb92 f3f3 sdiv r3, r2, r3 - dd18: b2db uxtb r3, r3 + d76c: fb92 f3f3 sdiv r3, r2, r3 + d770: b2db uxtb r3, r3 LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - dd1a: f1c3 01ff rsb r1, r3, #255 ; 0xff - dd1e: f89a 2005 ldrb.w r2, [sl, #5] - dd22: 08d2 lsrs r2, r2, #3 - dd24: f89a 0003 ldrb.w r0, [sl, #3] - dd28: 08c0 lsrs r0, r0, #3 - dd2a: fb01 f000 mul.w r0, r1, r0 - dd2e: fb03 0202 mla r2, r3, r2, r0 - dd32: eb02 2002 add.w r0, r2, r2, lsl #8 - dd36: eb02 12c0 add.w r2, r2, r0, lsl #7 - dd3a: f3c2 52c4 ubfx r2, r2, #23, #5 + d772: f1c3 01ff rsb r1, r3, #255 ; 0xff + d776: f89a 2005 ldrb.w r2, [sl, #5] + d77a: 08d2 lsrs r2, r2, #3 + d77c: f89a 0003 ldrb.w r0, [sl, #3] + d780: 08c0 lsrs r0, r0, #3 + d782: fb01 f000 mul.w r0, r1, r0 + d786: fb03 0202 mla r2, r3, r2, r0 + d78a: eb02 2002 add.w r0, r2, r2, lsl #8 + d78e: eb02 12c0 add.w r2, r2, r0, lsl #7 + d792: f3c2 52c4 ubfx r2, r2, #23, #5 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - dd3e: f8ba 0004 ldrh.w r0, [sl, #4] - dd42: f3c0 1045 ubfx r0, r0, #5, #6 - dd46: f8ba e002 ldrh.w lr, [sl, #2] - dd4a: f3ce 1e45 ubfx lr, lr, #5, #6 - dd4e: fb01 fe0e mul.w lr, r1, lr - dd52: fb03 e000 mla r0, r3, r0, lr - dd56: eb00 2e00 add.w lr, r0, r0, lsl #8 - dd5a: eb00 10ce add.w r0, r0, lr, lsl #7 - dd5e: f3c0 50c5 ubfx r0, r0, #23, #6 + d796: f8ba 0004 ldrh.w r0, [sl, #4] + d79a: f3c0 1045 ubfx r0, r0, #5, #6 + d79e: f8ba e002 ldrh.w lr, [sl, #2] + d7a2: f3ce 1e45 ubfx lr, lr, #5, #6 + d7a6: fb01 fe0e mul.w lr, r1, lr + d7aa: fb03 e000 mla r0, r3, r0, lr + d7ae: eb00 2e00 add.w lr, r0, r0, lsl #8 + d7b2: eb00 10ce add.w r0, r0, lr, lsl #7 + d7b6: f3c0 50c5 ubfx r0, r0, #23, #6 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - dd62: f89a e004 ldrb.w lr, [sl, #4] - dd66: f00e 0e1f and.w lr, lr, #31 - dd6a: f89a c002 ldrb.w ip, [sl, #2] - dd6e: f00c 0c1f and.w ip, ip, #31 - dd72: fb01 f10c mul.w r1, r1, ip - dd76: fb03 130e mla r3, r3, lr, r1 - dd7a: eb03 2103 add.w r1, r3, r3, lsl #8 - dd7e: eb03 13c1 add.w r3, r3, r1, lsl #7 - dd82: f3c3 53c4 ubfx r3, r3, #23, #5 - dd86: e00a b.n dd9e + d7ba: f89a e004 ldrb.w lr, [sl, #4] + d7be: f00e 0e1f and.w lr, lr, #31 + d7c2: f89a c002 ldrb.w ip, [sl, #2] + d7c6: f00c 0c1f and.w ip, ip, #31 + d7ca: fb01 f10c mul.w r1, r1, ip + d7ce: fb03 130e mla r3, r3, lr, r1 + d7d2: eb03 2103 add.w r1, r3, r3, lsl #8 + d7d6: eb03 13c1 add.w r3, r3, r1, lsl #7 + d7da: f3c3 53c4 ubfx r3, r3, #23, #5 + d7de: e00a b.n d7f6 if(i <= min) return dsc->bg_color; - dd88: f89a 3002 ldrb.w r3, [sl, #2] - dd8c: f003 031f and.w r3, r3, #31 - dd90: f8ba 0002 ldrh.w r0, [sl, #2] - dd94: f3c0 1045 ubfx r0, r0, #5, #6 - dd98: f89a 2003 ldrb.w r2, [sl, #3] - dd9c: 08d2 lsrs r2, r2, #3 - dd9e: f363 0b04 bfi fp, r3, #0, #5 - dda2: f360 1b4a bfi fp, r0, #5, #6 - dda6: f362 2bcf bfi fp, r2, #11, #5 + d7e0: f89a 3002 ldrb.w r3, [sl, #2] + d7e4: f003 031f and.w r3, r3, #31 + d7e8: f8ba 0002 ldrh.w r0, [sl, #2] + d7ec: f3c0 1045 ubfx r0, r0, #5, #6 + d7f0: f89a 2003 ldrb.w r2, [sl, #3] + d7f4: 08d2 lsrs r2, r2, #3 + d7f6: f363 0b04 bfi fp, r3, #0, #5 + d7fa: f360 1b4a bfi fp, r0, #5, #6 + d7fe: f362 2bcf bfi fp, r2, #11, #5 if(simple_mode && split && - ddaa: 9b07 ldr r3, [sp, #28] - ddac: 2b00 cmp r3, #0 - ddae: f43f af78 beq.w dca2 - ddb2: f1b9 0f32 cmp.w r9, #50 ; 0x32 - ddb6: bfc8 it gt - ddb8: 2301 movgt r3, #1 - ddba: f77f af72 ble.w dca2 + d802: 9b07 ldr r3, [sp, #28] + d804: 2b00 cmp r3, #0 + d806: f43f af78 beq.w d6fa + d80a: f1b9 0f32 cmp.w r9, #50 ; 0x32 + d80e: bfc8 it gt + d810: 2301 movgt r3, #1 + d812: f77f af72 ble.w d6fa (y < coords_bg.y1 + rout + 1 || - ddbe: f9bd 206a ldrsh.w r2, [sp, #106] ; 0x6a - ddc2: 4432 add r2, r6 - ddc4: 3201 adds r2, #1 + d816: f9bd 206a ldrsh.w r2, [sp, #106] ; 0x6a + d81a: 4432 add r2, r6 + d81c: 3201 adds r2, #1 if(simple_mode && split && - ddc6: 4294 cmp r4, r2 - ddc8: db06 blt.n ddd8 + d81e: 4294 cmp r4, r2 + d820: db06 blt.n d830 y > coords_bg.y2 - rout - 1)) { - ddca: f9bd 206e ldrsh.w r2, [sp, #110] ; 0x6e - ddce: 1b92 subs r2, r2, r6 - ddd0: 3a01 subs r2, #1 + d822: f9bd 206e ldrsh.w r2, [sp, #110] ; 0x6e + d826: 1b92 subs r2, r2, r6 + d828: 3a01 subs r2, #1 (y < coords_bg.y1 + rout + 1 || - ddd2: 4294 cmp r4, r2 - ddd4: f77f af60 ble.w dc98 + d82a: 4294 cmp r4, r2 + d82c: f77f af60 ble.w d6f0 fill_area2.x1 = coords_bg.x1; - ddd8: f9bd 3068 ldrsh.w r3, [sp, #104] ; 0x68 - dddc: f8ad 3088 strh.w r3, [sp, #136] ; 0x88 + d830: f9bd 3068 ldrsh.w r3, [sp, #104] ; 0x68 + d834: f8ad 3088 strh.w r3, [sp, #136] ; 0x88 fill_area2.x2 = coords_bg.x1 + rout - 1; - dde0: b2b2 uxth r2, r6 - dde2: 920c str r2, [sp, #48] ; 0x30 - dde4: 3b01 subs r3, #1 - dde6: 4413 add r3, r2 - dde8: f8ad 308c strh.w r3, [sp, #140] ; 0x8c + d838: b2b2 uxth r2, r6 + d83a: 920c str r2, [sp, #48] ; 0x30 + d83c: 3b01 subs r3, #1 + d83e: 4413 add r3, r2 + d840: f8ad 308c strh.w r3, [sp, #140] ; 0x8c fill_area2.y1 = fill_area.y1; - ddec: f8bd 307a ldrh.w r3, [sp, #122] ; 0x7a - ddf0: f8ad 308a strh.w r3, [sp, #138] ; 0x8a + d844: f8bd 307a ldrh.w r3, [sp, #122] ; 0x7a + d848: f8ad 308a strh.w r3, [sp, #138] ; 0x8a fill_area2.y2 = fill_area.y2; - ddf4: f8bd 307e ldrh.w r3, [sp, #126] ; 0x7e - ddf8: f8ad 308e strh.w r3, [sp, #142] ; 0x8e + d84c: f8bd 307e ldrh.w r3, [sp, #126] ; 0x7e + d850: f8ad 308e strh.w r3, [sp, #142] ; 0x8e _lv_blend_fill(clip, &fill_area2, - ddfc: f89a 300d ldrb.w r3, [sl, #13] - de00: 9302 str r3, [sp, #8] - de02: 9b08 ldr r3, [sp, #32] - de04: 9301 str r3, [sp, #4] - de06: 9700 str r7, [sp, #0] - de08: 9b05 ldr r3, [sp, #20] - de0a: 465a mov r2, fp - de0c: a922 add r1, sp, #136 ; 0x88 - de0e: 9804 ldr r0, [sp, #16] - de10: 4c2e ldr r4, [pc, #184] ; (decc ) - de12: 47a0 blx r4 + d854: f89a 300d ldrb.w r3, [sl, #13] + d858: 9302 str r3, [sp, #8] + d85a: 9b08 ldr r3, [sp, #32] + d85c: 9301 str r3, [sp, #4] + d85e: 9700 str r7, [sp, #0] + d860: 9b05 ldr r3, [sp, #20] + d862: 465a mov r2, fp + d864: a922 add r1, sp, #136 ; 0x88 + d866: 9804 ldr r0, [sp, #16] + d868: 4c2e ldr r4, [pc, #184] ; (d924 ) + d86a: 47a0 blx r4 if(dsc->bg_grad_dir == LV_GRAD_DIR_VER) { - de14: f89a 3006 ldrb.w r3, [sl, #6] - de18: 2b01 cmp r3, #1 - de1a: d02d beq.n de78 + d86c: f89a 3006 ldrb.w r3, [sl, #6] + d870: 2b01 cmp r3, #1 + d872: d02d beq.n d8d0 fill_area2.x1 = coords_bg.x2 - rout + 1; - de1c: f9bd 306c ldrsh.w r3, [sp, #108] ; 0x6c - de20: 1c5a adds r2, r3, #1 - de22: 990c ldr r1, [sp, #48] ; 0x30 - de24: 1a54 subs r4, r2, r1 - de26: f8ad 4088 strh.w r4, [sp, #136] ; 0x88 + d874: f9bd 306c ldrsh.w r3, [sp, #108] ; 0x6c + d878: 1c5a adds r2, r3, #1 + d87a: 990c ldr r1, [sp, #48] ; 0x30 + d87c: 1a54 subs r4, r2, r1 + d87e: f8ad 4088 strh.w r4, [sp, #136] ; 0x88 fill_area2.x2 = coords_bg.x2; - de2a: f8ad 308c strh.w r3, [sp, #140] ; 0x8c + d882: f8ad 308c strh.w r3, [sp, #140] ; 0x8c int32_t mask_ofs = (coords_bg.x2 - rout + 1) - (vdb->area.x1 + draw_area.x1); - de2e: 1b9b subs r3, r3, r6 - de30: 3301 adds r3, #1 - de32: f9b8 2010 ldrsh.w r2, [r8, #16] - de36: f9bd 1070 ldrsh.w r1, [sp, #112] ; 0x70 - de3a: 440a add r2, r1 - de3c: 1a9b subs r3, r3, r2 + d886: 1b9b subs r3, r3, r6 + d888: 3301 adds r3, #1 + d88a: f9b8 2010 ldrsh.w r2, [r8, #16] + d88e: f9bd 1070 ldrsh.w r1, [sp, #112] ; 0x70 + d892: 440a add r2, r1 + d894: 1a9b subs r3, r3, r2 _lv_blend_fill(clip, &fill_area2, - de3e: f89a 200d ldrb.w r2, [sl, #13] - de42: 9202 str r2, [sp, #8] - de44: 9a08 ldr r2, [sp, #32] - de46: 9201 str r2, [sp, #4] - de48: 9700 str r7, [sp, #0] - de4a: 9a05 ldr r2, [sp, #20] - de4c: 2b00 cmp r3, #0 - de4e: bfa8 it ge - de50: 18d2 addge r2, r2, r3 - de52: 4613 mov r3, r2 - de54: 465a mov r2, fp - de56: a922 add r1, sp, #136 ; 0x88 - de58: 9804 ldr r0, [sp, #16] - de5a: 4c1c ldr r4, [pc, #112] ; (decc ) - de5c: 47a0 blx r4 - de5e: e6f0 b.n dc42 + d896: f89a 200d ldrb.w r2, [sl, #13] + d89a: 9202 str r2, [sp, #8] + d89c: 9a08 ldr r2, [sp, #32] + d89e: 9201 str r2, [sp, #4] + d8a0: 9700 str r7, [sp, #0] + d8a2: 9a05 ldr r2, [sp, #20] + d8a4: 2b00 cmp r3, #0 + d8a6: bfa8 it ge + d8a8: 18d2 addge r2, r2, r3 + d8aa: 4613 mov r3, r2 + d8ac: 465a mov r2, fp + d8ae: a922 add r1, sp, #136 ; 0x88 + d8b0: 9804 ldr r0, [sp, #16] + d8b2: 4c1c ldr r4, [pc, #112] ; (d924 ) + d8b4: 47a0 blx r4 + d8b6: e6f0 b.n d69a if(i >= max) return dsc->bg_grad_color; - de60: f89a 3004 ldrb.w r3, [sl, #4] - de64: f003 031f and.w r3, r3, #31 - de68: f8ba 0004 ldrh.w r0, [sl, #4] - de6c: f3c0 1045 ubfx r0, r0, #5, #6 - de70: f89a 2005 ldrb.w r2, [sl, #5] - de74: 08d2 lsrs r2, r2, #3 - de76: e792 b.n dd9e + d8b8: f89a 3004 ldrb.w r3, [sl, #4] + d8bc: f003 031f and.w r3, r3, #31 + d8c0: f8ba 0004 ldrh.w r0, [sl, #4] + d8c4: f3c0 1045 ubfx r0, r0, #5, #6 + d8c8: f89a 2005 ldrb.w r2, [sl, #5] + d8cc: 08d2 lsrs r2, r2, #3 + d8ce: e792 b.n d7f6 fill_area2.x1 = coords_bg.x1 + rout; - de78: f8bd 3068 ldrh.w r3, [sp, #104] ; 0x68 - de7c: 9a0c ldr r2, [sp, #48] ; 0x30 - de7e: 4413 add r3, r2 - de80: f8ad 3088 strh.w r3, [sp, #136] ; 0x88 + d8d0: f8bd 3068 ldrh.w r3, [sp, #104] ; 0x68 + d8d4: 9a0c ldr r2, [sp, #48] ; 0x30 + d8d6: 4413 add r3, r2 + d8d8: f8ad 3088 strh.w r3, [sp, #136] ; 0x88 fill_area2.x2 = coords_bg.x2 - rout; - de84: f8bd 306c ldrh.w r3, [sp, #108] ; 0x6c - de88: 1a9b subs r3, r3, r2 - de8a: f8ad 308c strh.w r3, [sp, #140] ; 0x8c + d8dc: f8bd 306c ldrh.w r3, [sp, #108] ; 0x6c + d8e0: 1a9b subs r3, r3, r2 + d8e2: f8ad 308c strh.w r3, [sp, #140] ; 0x8c _lv_blend_fill(clip, &fill_area2, - de8e: f89a 300d ldrb.w r3, [sl, #13] - de92: 9302 str r3, [sp, #8] - de94: 9b08 ldr r3, [sp, #32] - de96: 9301 str r3, [sp, #4] - de98: 2301 movs r3, #1 - de9a: 9300 str r3, [sp, #0] - de9c: 2300 movs r3, #0 - de9e: 465a mov r2, fp - dea0: a922 add r1, sp, #136 ; 0x88 - dea2: 9804 ldr r0, [sp, #16] - dea4: 47a0 blx r4 - dea6: e7b9 b.n de1c + d8e6: f89a 300d ldrb.w r3, [sl, #13] + d8ea: 9302 str r3, [sp, #8] + d8ec: 9b08 ldr r3, [sp, #32] + d8ee: 9301 str r3, [sp, #4] + d8f0: 2301 movs r3, #1 + d8f2: 9300 str r3, [sp, #0] + d8f4: 2300 movs r3, #0 + d8f6: 465a mov r2, fp + d8f8: a922 add r1, sp, #136 ; 0x88 + d8fa: 9804 ldr r0, [sp, #16] + d8fc: 47a0 blx r4 + d8fe: e7b9 b.n d874 _lv_blend_map(clip, &fill_area, grad_map, mask_buf, mask_res, opa, dsc->bg_blend_mode); - dea8: f89a 300d ldrb.w r3, [sl, #13] - deac: 9302 str r3, [sp, #8] - deae: 9b08 ldr r3, [sp, #32] - deb0: 9301 str r3, [sp, #4] - deb2: 9700 str r7, [sp, #0] - deb4: 9b05 ldr r3, [sp, #20] - deb6: 9a0d ldr r2, [sp, #52] ; 0x34 - deb8: a91e add r1, sp, #120 ; 0x78 - deba: 9804 ldr r0, [sp, #16] - debc: 4c04 ldr r4, [pc, #16] ; (ded0 ) - debe: 47a0 blx r4 - dec0: e6bf b.n dc42 - dec2: bf00 nop - dec4: 00013195 .word 0x00013195 - dec8: 0000c3c5 .word 0x0000c3c5 - decc: 00007cf9 .word 0x00007cf9 - ded0: 00008829 .word 0x00008829 - ded4: 9f08 ldr r7, [sp, #32] + d900: f89a 300d ldrb.w r3, [sl, #13] + d904: 9302 str r3, [sp, #8] + d906: 9b08 ldr r3, [sp, #32] + d908: 9301 str r3, [sp, #4] + d90a: 9700 str r7, [sp, #0] + d90c: 9b05 ldr r3, [sp, #20] + d90e: 9a0d ldr r2, [sp, #52] ; 0x34 + d910: a91e add r1, sp, #120 ; 0x78 + d912: 9804 ldr r0, [sp, #16] + d914: 4c04 ldr r4, [pc, #16] ; (d928 ) + d916: 47a0 blx r4 + d918: e6bf b.n d69a + d91a: bf00 nop + d91c: 00012bed .word 0x00012bed + d920: 0000be1d .word 0x0000be1d + d924: 00007751 .word 0x00007751 + d928: 00008281 .word 0x00008281 + d92c: 9f08 ldr r7, [sp, #32] if(dsc->bg_grad_dir == LV_GRAD_DIR_NONE && other_mask_cnt == 0 && split) { - ded6: f89a 3006 ldrb.w r3, [sl, #6] - deda: b923 cbnz r3, dee6 - dedc: 9b0b ldr r3, [sp, #44] ; 0x2c - dede: b913 cbnz r3, dee6 - dee0: f1b9 0f32 cmp.w r9, #50 ; 0x32 - dee4: dc0b bgt.n defe + d92e: f89a 3006 ldrb.w r3, [sl, #6] + d932: b923 cbnz r3, d93e + d934: 9b0b ldr r3, [sp, #44] ; 0x2c + d936: b913 cbnz r3, d93e + d938: f1b9 0f32 cmp.w r9, #50 ; 0x32 + d93c: dc0b bgt.n d956 if(grad_map) _lv_mem_buf_release(grad_map); - dee6: 9b0d ldr r3, [sp, #52] ; 0x34 - dee8: b113 cbz r3, def0 - deea: 4618 mov r0, r3 - deec: 4bb3 ldr r3, [pc, #716] ; (e1bc ) - deee: 4798 blx r3 + d93e: 9b0d ldr r3, [sp, #52] ; 0x34 + d940: b113 cbz r3, d948 + d942: 4618 mov r0, r3 + d944: 4bb3 ldr r3, [pc, #716] ; (dc14 ) + d946: 4798 blx r3 lv_draw_mask_remove_id(mask_rout_id); - def0: 980e ldr r0, [sp, #56] ; 0x38 - def2: 4bb3 ldr r3, [pc, #716] ; (e1c0 ) - def4: 4798 blx r3 + d948: 980e ldr r0, [sp, #56] ; 0x38 + d94a: 4bb3 ldr r3, [pc, #716] ; (dc18 ) + d94c: 4798 blx r3 _lv_mem_buf_release(mask_buf); - def6: 9805 ldr r0, [sp, #20] - def8: 4bb0 ldr r3, [pc, #704] ; (e1bc ) - defa: 4798 blx r3 - defc: e469 b.n d7d2 + d94e: 9805 ldr r0, [sp, #20] + d950: 4bb0 ldr r3, [pc, #704] ; (dc14 ) + d952: 4798 blx r3 + d954: e469 b.n d22a fill_area.x1 = coords_bg.x1 + rout; - defe: b2b6 uxth r6, r6 - df00: f8bd 3068 ldrh.w r3, [sp, #104] ; 0x68 - df04: 4433 add r3, r6 - df06: f8ad 3078 strh.w r3, [sp, #120] ; 0x78 + d956: b2b6 uxth r6, r6 + d958: f8bd 3068 ldrh.w r3, [sp, #104] ; 0x68 + d95c: 4433 add r3, r6 + d95e: f8ad 3078 strh.w r3, [sp, #120] ; 0x78 fill_area.x2 = coords_bg.x2 - rout; - df0a: f8bd 306c ldrh.w r3, [sp, #108] ; 0x6c - df0e: 1b9b subs r3, r3, r6 - df10: f8ad 307c strh.w r3, [sp, #124] ; 0x7c + d962: f8bd 306c ldrh.w r3, [sp, #108] ; 0x6c + d966: 1b9b subs r3, r3, r6 + d968: f8ad 307c strh.w r3, [sp, #124] ; 0x7c fill_area.y1 = coords_bg.y1; - df14: f9bd 306a ldrsh.w r3, [sp, #106] ; 0x6a - df18: f8ad 307a strh.w r3, [sp, #122] ; 0x7a + d96c: f9bd 306a ldrsh.w r3, [sp, #106] ; 0x6a + d970: f8ad 307a strh.w r3, [sp, #122] ; 0x7a fill_area.y2 = coords_bg.y1 + rout; - df1c: 4433 add r3, r6 - df1e: f8ad 307e strh.w r3, [sp, #126] ; 0x7e + d974: 4433 add r3, r6 + d976: f8ad 307e strh.w r3, [sp, #126] ; 0x7e _lv_blend_fill(clip, &fill_area, - df22: f89a 300d ldrb.w r3, [sl, #13] - df26: 9302 str r3, [sp, #8] - df28: 9701 str r7, [sp, #4] - df2a: 2301 movs r3, #1 - df2c: 9300 str r3, [sp, #0] - df2e: 2300 movs r3, #0 - df30: f8ba 2002 ldrh.w r2, [sl, #2] - df34: a91e add r1, sp, #120 ; 0x78 - df36: 9804 ldr r0, [sp, #16] - df38: 4ca2 ldr r4, [pc, #648] ; (e1c4 ) - df3a: 47a0 blx r4 + d97a: f89a 300d ldrb.w r3, [sl, #13] + d97e: 9302 str r3, [sp, #8] + d980: 9701 str r7, [sp, #4] + d982: 2301 movs r3, #1 + d984: 9300 str r3, [sp, #0] + d986: 2300 movs r3, #0 + d988: f8ba 2002 ldrh.w r2, [sl, #2] + d98c: a91e add r1, sp, #120 ; 0x78 + d98e: 9804 ldr r0, [sp, #16] + d990: 4ca2 ldr r4, [pc, #648] ; (dc1c ) + d992: 47a0 blx r4 fill_area.y1 = coords_bg.y2 - rout; - df3c: f9bd 106e ldrsh.w r1, [sp, #110] ; 0x6e - df40: 1b8a subs r2, r1, r6 - df42: b212 sxth r2, r2 - df44: f8ad 207a strh.w r2, [sp, #122] ; 0x7a + d994: f9bd 106e ldrsh.w r1, [sp, #110] ; 0x6e + d998: 1b8a subs r2, r1, r6 + d99a: b212 sxth r2, r2 + d99c: f8ad 207a strh.w r2, [sp, #122] ; 0x7a if(fill_area.y1 <= fill_area.y2) fill_area.y1 = fill_area.y2 + 1; /*Avoid overdrawing the last line*/ - df48: f9bd 307e ldrsh.w r3, [sp, #126] ; 0x7e - df4c: 429a cmp r2, r3 - df4e: bfdc itt le - df50: 3301 addle r3, #1 - df52: f8ad 307a strhle.w r3, [sp, #122] ; 0x7a + d9a0: f9bd 307e ldrsh.w r3, [sp, #126] ; 0x7e + d9a4: 429a cmp r2, r3 + d9a6: bfdc itt le + d9a8: 3301 addle r3, #1 + d9aa: f8ad 307a strhle.w r3, [sp, #122] ; 0x7a fill_area.y2 = coords_bg.y2; - df56: f8ad 107e strh.w r1, [sp, #126] ; 0x7e + d9ae: f8ad 107e strh.w r1, [sp, #126] ; 0x7e _lv_blend_fill(clip, &fill_area, - df5a: f89a 300d ldrb.w r3, [sl, #13] - df5e: 9302 str r3, [sp, #8] - df60: 9701 str r7, [sp, #4] - df62: 2501 movs r5, #1 - df64: 9500 str r5, [sp, #0] - df66: 2300 movs r3, #0 - df68: f8ba 2002 ldrh.w r2, [sl, #2] - df6c: a91e add r1, sp, #120 ; 0x78 - df6e: f8dd 8010 ldr.w r8, [sp, #16] - df72: 4640 mov r0, r8 - df74: 4c93 ldr r4, [pc, #588] ; (e1c4 ) - df76: 47a0 blx r4 + d9b2: f89a 300d ldrb.w r3, [sl, #13] + d9b6: 9302 str r3, [sp, #8] + d9b8: 9701 str r7, [sp, #4] + d9ba: 2501 movs r5, #1 + d9bc: 9500 str r5, [sp, #0] + d9be: 2300 movs r3, #0 + d9c0: f8ba 2002 ldrh.w r2, [sl, #2] + d9c4: a91e add r1, sp, #120 ; 0x78 + d9c6: f8dd 8010 ldr.w r8, [sp, #16] + d9ca: 4640 mov r0, r8 + d9cc: 4c93 ldr r4, [pc, #588] ; (dc1c ) + d9ce: 47a0 blx r4 fill_area.x1 = coords_bg.x1; - df78: f8bd 3068 ldrh.w r3, [sp, #104] ; 0x68 - df7c: f8ad 3078 strh.w r3, [sp, #120] ; 0x78 + d9d0: f8bd 3068 ldrh.w r3, [sp, #104] ; 0x68 + d9d4: f8ad 3078 strh.w r3, [sp, #120] ; 0x78 fill_area.x2 = coords_bg.x2; - df80: f8bd 306c ldrh.w r3, [sp, #108] ; 0x6c - df84: f8ad 307c strh.w r3, [sp, #124] ; 0x7c + d9d8: f8bd 306c ldrh.w r3, [sp, #108] ; 0x6c + d9dc: f8ad 307c strh.w r3, [sp, #124] ; 0x7c fill_area.y1 = coords_bg.y1 + rout + 1; - df88: f8bd 306a ldrh.w r3, [sp, #106] ; 0x6a - df8c: 442b add r3, r5 - df8e: 4433 add r3, r6 - df90: f8ad 307a strh.w r3, [sp, #122] ; 0x7a + d9e0: f8bd 306a ldrh.w r3, [sp, #106] ; 0x6a + d9e4: 442b add r3, r5 + d9e6: 4433 add r3, r6 + d9e8: f8ad 307a strh.w r3, [sp, #122] ; 0x7a fill_area.y2 = coords_bg.y2 - rout - 1; - df94: f8bd 306e ldrh.w r3, [sp, #110] ; 0x6e - df98: 3b01 subs r3, #1 - df9a: 1b9e subs r6, r3, r6 - df9c: f8ad 607e strh.w r6, [sp, #126] ; 0x7e + d9ec: f8bd 306e ldrh.w r3, [sp, #110] ; 0x6e + d9f0: 3b01 subs r3, #1 + d9f2: 1b9e subs r6, r3, r6 + d9f4: f8ad 607e strh.w r6, [sp, #126] ; 0x7e _lv_blend_fill(clip, &fill_area, - dfa0: f89a 300d ldrb.w r3, [sl, #13] - dfa4: 9302 str r3, [sp, #8] - dfa6: 9701 str r7, [sp, #4] - dfa8: 9500 str r5, [sp, #0] - dfaa: 2300 movs r3, #0 - dfac: f8ba 2002 ldrh.w r2, [sl, #2] - dfb0: a91e add r1, sp, #120 ; 0x78 - dfb2: 4640 mov r0, r8 - dfb4: 47a0 blx r4 - dfb6: e796 b.n dee6 + d9f8: f89a 300d ldrb.w r3, [sl, #13] + d9fc: 9302 str r3, [sp, #8] + d9fe: 9701 str r7, [sp, #4] + da00: 9500 str r5, [sp, #0] + da02: 2300 movs r3, #0 + da04: f8ba 2002 ldrh.w r2, [sl, #2] + da08: a91e add r1, sp, #120 ; 0x78 + da0a: 4640 mov r0, r8 + da0c: 47a0 blx r4 + da0e: e796 b.n d93e lv_img_src_t src_type = lv_img_src_get_type(dsc->pattern_image); - dfb8: 4b83 ldr r3, [pc, #524] ; (e1c8 ) - dfba: 4798 blx r3 - dfbc: 4605 mov r5, r0 + da10: 4b83 ldr r3, [pc, #524] ; (dc20 ) + da12: 4798 blx r3 + da14: 4605 mov r5, r0 if(src_type == LV_IMG_SRC_FILE || src_type == LV_IMG_SRC_VARIABLE) { - dfbe: 2801 cmp r0, #1 - dfc0: d912 bls.n dfe8 + da16: 2801 cmp r0, #1 + da18: d912 bls.n da40 else if(src_type == LV_IMG_SRC_SYMBOL) { - dfc2: 2802 cmp r0, #2 - dfc4: d039 beq.n e03a + da1a: 2802 cmp r0, #2 + da1c: d039 beq.n da92 LV_LOG_WARN("lv_img_design: image source type is unknown"); - dfc6: 4b81 ldr r3, [pc, #516] ; (e1cc ) - dfc8: 9300 str r3, [sp, #0] - dfca: 4b81 ldr r3, [pc, #516] ; (e1d0 ) - dfcc: f240 52ae movw r2, #1454 ; 0x5ae - dfd0: 4980 ldr r1, [pc, #512] ; (e1d4 ) - dfd2: 2002 movs r0, #2 - dfd4: 4c80 ldr r4, [pc, #512] ; (e1d8 ) - dfd6: 47a0 blx r4 + da1e: 4b81 ldr r3, [pc, #516] ; (dc24 ) + da20: 9300 str r3, [sp, #0] + da22: 4b81 ldr r3, [pc, #516] ; (dc28 ) + da24: f240 52ae movw r2, #1454 ; 0x5ae + da28: 4980 ldr r1, [pc, #512] ; (dc2c ) + da2a: 2002 movs r0, #2 + da2c: 4c80 ldr r4, [pc, #512] ; (dc30 ) + da2e: 47a0 blx r4 lv_draw_img(coords, clip, NULL, NULL); - dfd8: 2300 movs r3, #0 - dfda: 461a mov r2, r3 - dfdc: 9904 ldr r1, [sp, #16] - dfde: 9806 ldr r0, [sp, #24] - dfe0: 4c7e ldr r4, [pc, #504] ; (e1dc ) - dfe2: 47a0 blx r4 - dfe4: f7ff bbfd b.w d7e2 + da30: 2300 movs r3, #0 + da32: 461a mov r2, r3 + da34: 9904 ldr r1, [sp, #16] + da36: 9806 ldr r0, [sp, #24] + da38: 4c7e ldr r4, [pc, #504] ; (dc34 ) + da3a: 47a0 blx r4 + da3c: f7ff bbfd b.w d23a lv_res_t res = lv_img_decoder_get_info(dsc->pattern_image, &header); - dfe8: a929 add r1, sp, #164 ; 0xa4 - dfea: f8da 002c ldr.w r0, [sl, #44] ; 0x2c - dfee: 4b7c ldr r3, [pc, #496] ; (e1e0 ) - dff0: 4798 blx r3 + da40: a929 add r1, sp, #164 ; 0xa4 + da42: f8da 002c ldr.w r0, [sl, #44] ; 0x2c + da46: 4b7c ldr r3, [pc, #496] ; (dc38 ) + da48: 4798 blx r3 if(res != LV_RES_OK) { - dff2: 2801 cmp r0, #1 - dff4: d00a beq.n e00c + da4a: 2801 cmp r0, #1 + da4c: d00a beq.n da64 LV_LOG_WARN("draw_img: can't get image info"); - dff6: 4b7b ldr r3, [pc, #492] ; (e1e4 ) - dff8: 9300 str r3, [sp, #0] - dffa: 4b75 ldr r3, [pc, #468] ; (e1d0 ) - dffc: f240 5294 movw r2, #1428 ; 0x594 - e000: 4974 ldr r1, [pc, #464] ; (e1d4 ) - e002: 2002 movs r0, #2 - e004: 4c74 ldr r4, [pc, #464] ; (e1d8 ) - e006: 47a0 blx r4 - e008: f7ff bbeb b.w d7e2 + da4e: 4b7b ldr r3, [pc, #492] ; (dc3c ) + da50: 9300 str r3, [sp, #0] + da52: 4b75 ldr r3, [pc, #468] ; (dc28 ) + da54: f240 5294 movw r2, #1428 ; 0x594 + da58: 4974 ldr r1, [pc, #464] ; (dc2c ) + da5a: 2002 movs r0, #2 + da5c: 4c74 ldr r4, [pc, #464] ; (dc30 ) + da5e: 47a0 blx r4 + da60: f7ff bbeb b.w d23a img_w = header.w; - e00c: 9b29 ldr r3, [sp, #164] ; 0xa4 - e00e: f3c3 298a ubfx r9, r3, #10, #11 + da64: 9b29 ldr r3, [sp, #164] ; 0xa4 + da66: f3c3 298a ubfx r9, r3, #10, #11 img_h = header.h; - e012: f8bd 70a6 ldrh.w r7, [sp, #166] ; 0xa6 - e016: f3c7 174a ubfx r7, r7, #5, #11 + da6a: f8bd 70a6 ldrh.w r7, [sp, #166] ; 0xa6 + da6e: f3c7 174a ubfx r7, r7, #5, #11 lv_draw_img_dsc_init(&img_dsc); - e01a: a81e add r0, sp, #120 ; 0x78 - e01c: 4b72 ldr r3, [pc, #456] ; (e1e8 ) - e01e: 4798 blx r3 + da72: a81e add r0, sp, #120 ; 0x78 + da74: 4b72 ldr r3, [pc, #456] ; (dc40 ) + da76: 4798 blx r3 img_dsc.opa = dsc->pattern_opa; - e020: f89a 3036 ldrb.w r3, [sl, #54] ; 0x36 - e024: f88d 3078 strb.w r3, [sp, #120] ; 0x78 + da78: f89a 3036 ldrb.w r3, [sl, #54] ; 0x36 + da7c: f88d 3078 strb.w r3, [sp, #120] ; 0x78 img_dsc.recolor_opa = dsc->pattern_recolor_opa; - e028: f89a 3037 ldrb.w r3, [sl, #55] ; 0x37 - e02c: f88d 3082 strb.w r3, [sp, #130] ; 0x82 + da80: f89a 3037 ldrb.w r3, [sl, #55] ; 0x37 + da84: f88d 3082 strb.w r3, [sp, #130] ; 0x82 img_dsc.recolor = dsc->pattern_recolor; - e030: f8ba 3034 ldrh.w r3, [sl, #52] ; 0x34 - e034: f8ad 3084 strh.w r3, [sp, #132] ; 0x84 - e038: e020 b.n e07c + da88: f8ba 3034 ldrh.w r3, [sl, #52] ; 0x34 + da8c: f8ad 3084 strh.w r3, [sp, #132] ; 0x84 + da90: e020 b.n dad4 lv_draw_label_dsc_init(&label_dsc); - e03a: a822 add r0, sp, #136 ; 0x88 - e03c: 4b6b ldr r3, [pc, #428] ; (e1ec ) - e03e: 4798 blx r3 + da92: a822 add r0, sp, #136 ; 0x88 + da94: 4b6b ldr r3, [pc, #428] ; (dc44 ) + da96: 4798 blx r3 label_dsc.color = dsc->pattern_recolor; - e040: f8ba 3034 ldrh.w r3, [sl, #52] ; 0x34 - e044: f8ad 3088 strh.w r3, [sp, #136] ; 0x88 + da98: f8ba 3034 ldrh.w r3, [sl, #52] ; 0x34 + da9c: f8ad 3088 strh.w r3, [sp, #136] ; 0x88 label_dsc.font = dsc->pattern_font; - e048: f8da 2030 ldr.w r2, [sl, #48] ; 0x30 - e04c: 9223 str r2, [sp, #140] ; 0x8c + daa0: f8da 2030 ldr.w r2, [sl, #48] ; 0x30 + daa4: 9223 str r2, [sp, #140] ; 0x8c label_dsc.opa = dsc->pattern_opa; - e04e: f89a 3036 ldrb.w r3, [sl, #54] ; 0x36 - e052: f88d 3090 strb.w r3, [sp, #144] ; 0x90 + daa6: f89a 3036 ldrb.w r3, [sl, #54] ; 0x36 + daaa: f88d 3090 strb.w r3, [sp, #144] ; 0x90 _lv_txt_get_size(&s, dsc->pattern_image, label_dsc.font, label_dsc.letter_space, label_dsc.line_space, LV_COORD_MAX, - e056: f9bd 3094 ldrsh.w r3, [sp, #148] ; 0x94 - e05a: 2100 movs r1, #0 - e05c: 9102 str r1, [sp, #8] - e05e: f647 4118 movw r1, #31768 ; 0x7c18 - e062: 9101 str r1, [sp, #4] - e064: f9bd 1092 ldrsh.w r1, [sp, #146] ; 0x92 - e068: 9100 str r1, [sp, #0] - e06a: f8da 102c ldr.w r1, [sl, #44] ; 0x2c - e06e: a829 add r0, sp, #164 ; 0xa4 - e070: 4c5f ldr r4, [pc, #380] ; (e1f0 ) - e072: 47a0 blx r4 + daae: f9bd 3094 ldrsh.w r3, [sp, #148] ; 0x94 + dab2: 2100 movs r1, #0 + dab4: 9102 str r1, [sp, #8] + dab6: f647 4118 movw r1, #31768 ; 0x7c18 + daba: 9101 str r1, [sp, #4] + dabc: f9bd 1092 ldrsh.w r1, [sp, #146] ; 0x92 + dac0: 9100 str r1, [sp, #0] + dac2: f8da 102c ldr.w r1, [sl, #44] ; 0x2c + dac6: a829 add r0, sp, #164 ; 0xa4 + dac8: 4c5f ldr r4, [pc, #380] ; (dc48 ) + daca: 47a0 blx r4 img_w = s.x; - e074: f9bd 90a4 ldrsh.w r9, [sp, #164] ; 0xa4 + dacc: f9bd 90a4 ldrsh.w r9, [sp, #164] ; 0xa4 img_h = s.y; - e078: f9bd 70a6 ldrsh.w r7, [sp, #166] ; 0xa6 + dad0: f9bd 70a6 ldrsh.w r7, [sp, #166] ; 0xa6 if(dsc->pattern_repeat) { - e07c: f89a 3038 ldrb.w r3, [sl, #56] ; 0x38 - e080: f013 0f01 tst.w r3, #1 - e084: d13f bne.n e106 + dad4: f89a 3038 ldrb.w r3, [sl, #56] ; 0x38 + dad8: f013 0f01 tst.w r3, #1 + dadc: d13f bne.n db5e return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - e086: 9c06 ldr r4, [sp, #24] - e088: 8821 ldrh r1, [r4, #0] + dade: 9c06 ldr r4, [sp, #24] + dae0: 8821 ldrh r1, [r4, #0] return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - e08a: 8860 ldrh r0, [r4, #2] - e08c: 88e2 ldrh r2, [r4, #6] - e08e: 3201 adds r2, #1 - e090: 1a12 subs r2, r2, r0 + dae2: 8860 ldrh r0, [r4, #2] + dae4: 88e2 ldrh r2, [r4, #6] + dae6: 3201 adds r2, #1 + dae8: 1a12 subs r2, r2, r0 int32_t obj_h = lv_area_get_height(coords); - e092: b212 sxth r2, r2 + daea: b212 sxth r2, r2 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - e094: 88a3 ldrh r3, [r4, #4] - e096: 3301 adds r3, #1 - e098: 1a5b subs r3, r3, r1 + daec: 88a3 ldrh r3, [r4, #4] + daee: 3301 adds r3, #1 + daf0: 1a5b subs r3, r3, r1 int32_t obj_w = lv_area_get_width(coords); - e09a: b21b sxth r3, r3 + daf2: b21b sxth r3, r3 coords_tmp.x1 = coords->x1 + (obj_w - img_w) / 2; - e09c: eba3 0309 sub.w r3, r3, r9 - e0a0: eb03 73d3 add.w r3, r3, r3, lsr #31 - e0a4: eb01 0363 add.w r3, r1, r3, asr #1 - e0a8: b29b uxth r3, r3 - e0aa: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 + daf4: eba3 0309 sub.w r3, r3, r9 + daf8: eb03 73d3 add.w r3, r3, r3, lsr #31 + dafc: eb01 0363 add.w r3, r1, r3, asr #1 + db00: b29b uxth r3, r3 + db02: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 coords_tmp.y1 = coords->y1 + (obj_h - img_h) / 2; - e0ae: 1bd2 subs r2, r2, r7 - e0b0: eb02 71d2 add.w r1, r2, r2, lsr #31 - e0b4: eb00 0161 add.w r1, r0, r1, asr #1 - e0b8: b289 uxth r1, r1 - e0ba: f8ad 1072 strh.w r1, [sp, #114] ; 0x72 + db06: 1bd2 subs r2, r2, r7 + db08: eb02 71d2 add.w r1, r2, r2, lsr #31 + db0c: eb00 0161 add.w r1, r0, r1, asr #1 + db10: b289 uxth r1, r1 + db12: f8ad 1072 strh.w r1, [sp, #114] ; 0x72 coords_tmp.x2 = coords_tmp.x1 + img_w - 1; - e0be: f109 39ff add.w r9, r9, #4294967295 - e0c2: 4499 add r9, r3 - e0c4: f8ad 9074 strh.w r9, [sp, #116] ; 0x74 + db16: f109 39ff add.w r9, r9, #4294967295 + db1a: 4499 add r9, r3 + db1c: f8ad 9074 strh.w r9, [sp, #116] ; 0x74 coords_tmp.y2 = coords_tmp.y1 + img_h - 1; - e0c8: 1e7b subs r3, r7, #1 - e0ca: 440b add r3, r1 - e0cc: b29b uxth r3, r3 - e0ce: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 + db20: 1e7b subs r3, r7, #1 + db22: 440b add r3, r1 + db24: b29b uxth r3, r3 + db26: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 if(src_type == LV_IMG_SRC_SYMBOL) { - e0d2: 2d02 cmp r5, #2 - e0d4: f000 80bd beq.w e252 + db2a: 2d02 cmp r5, #2 + db2c: f000 80bd beq.w dcaa if(_lv_area_is_in(&coords_tmp, coords, dsc->radius) == false) { - e0d8: f9ba 2000 ldrsh.w r2, [sl] - e0dc: 9906 ldr r1, [sp, #24] - e0de: a81c add r0, sp, #112 ; 0x70 - e0e0: 4b44 ldr r3, [pc, #272] ; (e1f4 ) - e0e2: 4798 blx r3 + db30: f9ba 2000 ldrsh.w r2, [sl] + db34: 9906 ldr r1, [sp, #24] + db36: a81c add r0, sp, #112 ; 0x70 + db38: 4b44 ldr r3, [pc, #272] ; (dc4c ) + db3a: 4798 blx r3 int16_t radius_mask_id = LV_MASK_ID_INV; - e0e4: f04f 34ff mov.w r4, #4294967295 + db3c: f04f 34ff mov.w r4, #4294967295 if(_lv_area_is_in(&coords_tmp, coords, dsc->radius) == false) { - e0e8: 2800 cmp r0, #0 - e0ea: f000 86d4 beq.w ee96 + db40: 2800 cmp r0, #0 + db42: f000 86d4 beq.w e8ee else lv_draw_img(&coords_tmp, clip, dsc->pattern_image, &img_dsc); - e0ee: ab1e add r3, sp, #120 ; 0x78 - e0f0: f8da 202c ldr.w r2, [sl, #44] ; 0x2c - e0f4: 9904 ldr r1, [sp, #16] - e0f6: a81c add r0, sp, #112 ; 0x70 - e0f8: 4d38 ldr r5, [pc, #224] ; (e1dc ) - e0fa: 47a8 blx r5 + db46: ab1e add r3, sp, #120 ; 0x78 + db48: f8da 202c ldr.w r2, [sl, #44] ; 0x2c + db4c: 9904 ldr r1, [sp, #16] + db4e: a81c add r0, sp, #112 ; 0x70 + db50: 4d38 ldr r5, [pc, #224] ; (dc34 ) + db52: 47a8 blx r5 lv_draw_mask_remove_id(radius_mask_id); - e0fc: 4620 mov r0, r4 - e0fe: 4b30 ldr r3, [pc, #192] ; (e1c0 ) - e100: 4798 blx r3 - e102: f7ff bb6e b.w d7e2 + db54: 4620 mov r0, r4 + db56: 4b30 ldr r3, [pc, #192] ; (dc18 ) + db58: 4798 blx r3 + db5a: f7ff bb6e b.w d23a lv_draw_mask_radius_init(&radius_mask_param, coords, dsc->radius, false); - e106: 2300 movs r3, #0 - e108: f9ba 2000 ldrsh.w r2, [sl] - e10c: 9e06 ldr r6, [sp, #24] - e10e: 4631 mov r1, r6 - e110: a829 add r0, sp, #164 ; 0xa4 - e112: 4c39 ldr r4, [pc, #228] ; (e1f8 ) - e114: 47a0 blx r4 + db5e: 2300 movs r3, #0 + db60: f9ba 2000 ldrsh.w r2, [sl] + db64: 9e06 ldr r6, [sp, #24] + db66: 4631 mov r1, r6 + db68: a829 add r0, sp, #164 ; 0xa4 + db6a: 4c39 ldr r4, [pc, #228] ; (dc50 ) + db6c: 47a0 blx r4 int16_t radius_mask_id = lv_draw_mask_add(&radius_mask_param, NULL); - e116: 2100 movs r1, #0 - e118: a829 add r0, sp, #164 ; 0xa4 - e11a: 4b38 ldr r3, [pc, #224] ; (e1fc ) - e11c: 4798 blx r3 - e11e: 9007 str r0, [sp, #28] - e120: 88b3 ldrh r3, [r6, #4] - e122: 3301 adds r3, #1 - e124: 4634 mov r4, r6 - e126: 8832 ldrh r2, [r6, #0] - e128: 1a9b subs r3, r3, r2 + db6e: 2100 movs r1, #0 + db70: a829 add r0, sp, #164 ; 0xa4 + db72: 4b38 ldr r3, [pc, #224] ; (dc54 ) + db74: 4798 blx r3 + db76: 9007 str r0, [sp, #28] + db78: 88b3 ldrh r3, [r6, #4] + db7a: 3301 adds r3, #1 + db7c: 4634 mov r4, r6 + db7e: 8832 ldrh r2, [r6, #0] + db80: 1a9b subs r3, r3, r2 int32_t ofs_x = (lv_area_get_width(coords) - (lv_area_get_width(coords) / img_w) * img_w) / 2; - e12a: b21b sxth r3, r3 - e12c: fb93 f2f9 sdiv r2, r3, r9 - e130: fb09 3312 mls r3, r9, r2, r3 - e134: eb03 73d3 add.w r3, r3, r3, lsr #31 - e138: ea4f 0b63 mov.w fp, r3, asr #1 + db82: b21b sxth r3, r3 + db84: fb93 f2f9 sdiv r2, r3, r9 + db88: fb09 3312 mls r3, r9, r2, r3 + db8c: eb03 73d3 add.w r3, r3, r3, lsr #31 + db90: ea4f 0b63 mov.w fp, r3, asr #1 return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - e13c: f9b6 1006 ldrsh.w r1, [r6, #6] - e140: 8873 ldrh r3, [r6, #2] - e142: 1c4a adds r2, r1, #1 - e144: 1ad2 subs r2, r2, r3 + db94: f9b6 1006 ldrsh.w r1, [r6, #6] + db98: 8873 ldrh r3, [r6, #2] + db9a: 1c4a adds r2, r1, #1 + db9c: 1ad2 subs r2, r2, r3 int32_t ofs_y = (lv_area_get_height(coords) - (lv_area_get_height(coords) / img_h) * img_h) / 2; - e146: b210 sxth r0, r2 - e148: fb90 f2f7 sdiv r2, r0, r7 - e14c: fb07 0212 mls r2, r7, r2, r0 - e150: eb02 72d2 add.w r2, r2, r2, lsr #31 + db9e: b210 sxth r0, r2 + dba0: fb90 f2f7 sdiv r2, r0, r7 + dba4: fb07 0212 mls r2, r7, r2, r0 + dba8: eb02 72d2 add.w r2, r2, r2, lsr #31 coords_tmp.y1 = coords->y1 - ofs_y; - e154: eba3 0362 sub.w r3, r3, r2, asr #1 - e158: b29b uxth r3, r3 - e15a: b21a sxth r2, r3 - e15c: f8ad 2072 strh.w r2, [sp, #114] ; 0x72 + dbac: eba3 0362 sub.w r3, r3, r2, asr #1 + dbb0: b29b uxth r3, r3 + dbb2: b21a sxth r2, r3 + dbb4: f8ad 2072 strh.w r2, [sp, #114] ; 0x72 coords_tmp.y2 = coords_tmp.y1 + img_h - 1; - e160: b2bf uxth r7, r7 - e162: 1e78 subs r0, r7, #1 - e164: 4403 add r3, r0 - e166: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 + dbb8: b2bf uxth r7, r7 + dbba: 1e78 subs r0, r7, #1 + dbbc: 4403 add r3, r0 + dbbe: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 for(; coords_tmp.y1 <= coords->y2; coords_tmp.y1 += img_h, coords_tmp.y2 += img_h) { - e16a: 4291 cmp r1, r2 - e16c: db6c blt.n e248 + dbc2: 4291 cmp r1, r2 + dbc4: db6c blt.n dca0 if(src_type == LV_IMG_SRC_SYMBOL) lv_draw_label(&coords_tmp, clip, &label_dsc, dsc->pattern_image, NULL); - e16e: f8df 8090 ldr.w r8, [pc, #144] ; e200 + dbc6: f8df 8090 ldr.w r8, [pc, #144] ; dc58 else lv_draw_img(&coords_tmp, clip, dsc->pattern_image, &img_dsc); - e172: 4e1a ldr r6, [pc, #104] ; (e1dc ) - e174: f8cd 9014 str.w r9, [sp, #20] - e178: 46a1 mov r9, r4 - e17a: e052 b.n e222 + dbca: 4e1a ldr r6, [pc, #104] ; (dc34 ) + dbcc: f8cd 9014 str.w r9, [sp, #20] + dbd0: 46a1 mov r9, r4 + dbd2: e052 b.n dc7a if(src_type == LV_IMG_SRC_SYMBOL) lv_draw_label(&coords_tmp, clip, &label_dsc, dsc->pattern_image, NULL); - e17c: 2300 movs r3, #0 - e17e: 9300 str r3, [sp, #0] - e180: f8da 302c ldr.w r3, [sl, #44] ; 0x2c - e184: aa22 add r2, sp, #136 ; 0x88 - e186: 9904 ldr r1, [sp, #16] - e188: a81c add r0, sp, #112 ; 0x70 - e18a: 47c0 blx r8 + dbd4: 2300 movs r3, #0 + dbd6: 9300 str r3, [sp, #0] + dbd8: f8da 302c ldr.w r3, [sl, #44] ; 0x2c + dbdc: aa22 add r2, sp, #136 ; 0x88 + dbde: 9904 ldr r1, [sp, #16] + dbe0: a81c add r0, sp, #112 ; 0x70 + dbe2: 47c0 blx r8 for(; coords_tmp.x1 <= coords->x2; coords_tmp.x1 += img_w, coords_tmp.x2 += img_w) { - e18c: f8bd 3070 ldrh.w r3, [sp, #112] ; 0x70 - e190: 4423 add r3, r4 - e192: b21b sxth r3, r3 - e194: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 - e198: f8bd 2074 ldrh.w r2, [sp, #116] ; 0x74 - e19c: 4422 add r2, r4 - e19e: f8ad 2074 strh.w r2, [sp, #116] ; 0x74 - e1a2: f9b9 2004 ldrsh.w r2, [r9, #4] - e1a6: 429a cmp r2, r3 - e1a8: db2c blt.n e204 + dbe4: f8bd 3070 ldrh.w r3, [sp, #112] ; 0x70 + dbe8: 4423 add r3, r4 + dbea: b21b sxth r3, r3 + dbec: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 + dbf0: f8bd 2074 ldrh.w r2, [sp, #116] ; 0x74 + dbf4: 4422 add r2, r4 + dbf6: f8ad 2074 strh.w r2, [sp, #116] ; 0x74 + dbfa: f9b9 2004 ldrsh.w r2, [r9, #4] + dbfe: 429a cmp r2, r3 + dc00: db2c blt.n dc5c if(src_type == LV_IMG_SRC_SYMBOL) lv_draw_label(&coords_tmp, clip, &label_dsc, dsc->pattern_image, NULL); - e1aa: 2d02 cmp r5, #2 - e1ac: d0e6 beq.n e17c + dc02: 2d02 cmp r5, #2 + dc04: d0e6 beq.n dbd4 else lv_draw_img(&coords_tmp, clip, dsc->pattern_image, &img_dsc); - e1ae: ab1e add r3, sp, #120 ; 0x78 - e1b0: f8da 202c ldr.w r2, [sl, #44] ; 0x2c - e1b4: 9904 ldr r1, [sp, #16] - e1b6: a81c add r0, sp, #112 ; 0x70 - e1b8: 47b0 blx r6 - e1ba: e7e7 b.n e18c - e1bc: 00012b19 .word 0x00012b19 - e1c0: 0000c415 .word 0x0000c415 - e1c4: 00007cf9 .word 0x00007cf9 - e1c8: 00009f11 .word 0x00009f11 - e1cc: 0001c5c4 .word 0x0001c5c4 - e1d0: 0001c564 .word 0x0001c564 - e1d4: 0001c574 .word 0x0001c574 - e1d8: 00012805 .word 0x00012805 - e1dc: 00009c91 .word 0x00009c91 - e1e0: 00010395 .word 0x00010395 - e1e4: 0001c5a4 .word 0x0001c5a4 - e1e8: 00009bed .word 0x00009bed - e1ec: 00009f75 .word 0x00009f75 - e1f0: 00014625 .word 0x00014625 - e1f4: 00011d15 .word 0x00011d15 - e1f8: 0000c5d5 .word 0x0000c5d5 - e1fc: 0000c369 .word 0x0000c369 - e200: 00009fcd .word 0x00009fcd + dc06: ab1e add r3, sp, #120 ; 0x78 + dc08: f8da 202c ldr.w r2, [sl, #44] ; 0x2c + dc0c: 9904 ldr r1, [sp, #16] + dc0e: a81c add r0, sp, #112 ; 0x70 + dc10: 47b0 blx r6 + dc12: e7e7 b.n dbe4 + dc14: 00012571 .word 0x00012571 + dc18: 0000be6d .word 0x0000be6d + dc1c: 00007751 .word 0x00007751 + dc20: 00009969 .word 0x00009969 + dc24: 000250e0 .word 0x000250e0 + dc28: 00025080 .word 0x00025080 + dc2c: 00025090 .word 0x00025090 + dc30: 0001225d .word 0x0001225d + dc34: 000096e9 .word 0x000096e9 + dc38: 0000fded .word 0x0000fded + dc3c: 000250c0 .word 0x000250c0 + dc40: 00009645 .word 0x00009645 + dc44: 000099cd .word 0x000099cd + dc48: 0001407d .word 0x0001407d + dc4c: 0001176d .word 0x0001176d + dc50: 0000c02d .word 0x0000c02d + dc54: 0000bdc1 .word 0x0000bdc1 + dc58: 00009a25 .word 0x00009a25 for(; coords_tmp.y1 <= coords->y2; coords_tmp.y1 += img_h, coords_tmp.y2 += img_h) { - e204: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72 - e208: 443b add r3, r7 - e20a: b21b sxth r3, r3 - e20c: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 - e210: f8bd 2076 ldrh.w r2, [sp, #118] ; 0x76 - e214: 443a add r2, r7 - e216: f8ad 2076 strh.w r2, [sp, #118] ; 0x76 - e21a: f9b9 2006 ldrsh.w r2, [r9, #6] - e21e: 429a cmp r2, r3 - e220: db12 blt.n e248 + dc5c: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72 + dc60: 443b add r3, r7 + dc62: b21b sxth r3, r3 + dc64: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 + dc68: f8bd 2076 ldrh.w r2, [sp, #118] ; 0x76 + dc6c: 443a add r2, r7 + dc6e: f8ad 2076 strh.w r2, [sp, #118] ; 0x76 + dc72: f9b9 2006 ldrsh.w r2, [r9, #6] + dc76: 429a cmp r2, r3 + dc78: db12 blt.n dca0 coords_tmp.x1 = coords->x1 - ofs_x; - e222: f8b9 3000 ldrh.w r3, [r9] - e226: eba3 030b sub.w r3, r3, fp - e22a: b29b uxth r3, r3 - e22c: b21a sxth r2, r3 - e22e: f8ad 2070 strh.w r2, [sp, #112] ; 0x70 + dc7a: f8b9 3000 ldrh.w r3, [r9] + dc7e: eba3 030b sub.w r3, r3, fp + dc82: b29b uxth r3, r3 + dc84: b21a sxth r2, r3 + dc86: f8ad 2070 strh.w r2, [sp, #112] ; 0x70 coords_tmp.x2 = coords_tmp.x1 + img_w - 1; - e232: f8bd 4014 ldrh.w r4, [sp, #20] - e236: 1e61 subs r1, r4, #1 - e238: 440b add r3, r1 - e23a: f8ad 3074 strh.w r3, [sp, #116] ; 0x74 + dc8a: f8bd 4014 ldrh.w r4, [sp, #20] + dc8e: 1e61 subs r1, r4, #1 + dc90: 440b add r3, r1 + dc92: f8ad 3074 strh.w r3, [sp, #116] ; 0x74 for(; coords_tmp.x1 <= coords->x2; coords_tmp.x1 += img_w, coords_tmp.x2 += img_w) { - e23e: f9b9 3004 ldrsh.w r3, [r9, #4] - e242: 4293 cmp r3, r2 - e244: dab1 bge.n e1aa - e246: e7dd b.n e204 + dc96: f9b9 3004 ldrsh.w r3, [r9, #4] + dc9a: 4293 cmp r3, r2 + dc9c: dab1 bge.n dc02 + dc9e: e7dd b.n dc5c lv_draw_mask_remove_id(radius_mask_id); - e248: 9807 ldr r0, [sp, #28] - e24a: 4b8a ldr r3, [pc, #552] ; (e474 ) - e24c: 4798 blx r3 - e24e: f7ff bac8 b.w d7e2 + dca0: 9807 ldr r0, [sp, #28] + dca2: 4b8a ldr r3, [pc, #552] ; (decc ) + dca4: 4798 blx r3 + dca6: f7ff bac8 b.w d23a coords_tmp.y1 += y_corr; - e252: f002 0201 and.w r2, r2, #1 - e256: 4411 add r1, r2 - e258: f8ad 1072 strh.w r1, [sp, #114] ; 0x72 + dcaa: f002 0201 and.w r2, r2, #1 + dcae: 4411 add r1, r2 + dcb0: f8ad 1072 strh.w r1, [sp, #114] ; 0x72 coords_tmp.y2 += y_corr; - e25c: 4413 add r3, r2 - e25e: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 + dcb4: 4413 add r3, r2 + dcb6: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 if(_lv_area_is_in(&coords_tmp, coords, dsc->radius) == false) { - e262: f9ba 2000 ldrsh.w r2, [sl] - e266: 4621 mov r1, r4 - e268: a81c add r0, sp, #112 ; 0x70 - e26a: 4b83 ldr r3, [pc, #524] ; (e478 ) - e26c: 4798 blx r3 - e26e: b9a8 cbnz r0, e29c + dcba: f9ba 2000 ldrsh.w r2, [sl] + dcbe: 4621 mov r1, r4 + dcc0: a81c add r0, sp, #112 ; 0x70 + dcc2: 4b83 ldr r3, [pc, #524] ; (ded0 ) + dcc4: 4798 blx r3 + dcc6: b9a8 cbnz r0, dcf4 lv_draw_mask_radius_init(&radius_mask_param, coords, dsc->radius, false); - e270: 2300 movs r3, #0 - e272: f9ba 2000 ldrsh.w r2, [sl] - e276: 9906 ldr r1, [sp, #24] - e278: a829 add r0, sp, #164 ; 0xa4 - e27a: 4c80 ldr r4, [pc, #512] ; (e47c ) - e27c: 47a0 blx r4 + dcc8: 2300 movs r3, #0 + dcca: f9ba 2000 ldrsh.w r2, [sl] + dcce: 9906 ldr r1, [sp, #24] + dcd0: a829 add r0, sp, #164 ; 0xa4 + dcd2: 4c80 ldr r4, [pc, #512] ; (ded4 ) + dcd4: 47a0 blx r4 radius_mask_id = lv_draw_mask_add(&radius_mask_param, NULL); - e27e: 2100 movs r1, #0 - e280: a829 add r0, sp, #164 ; 0xa4 - e282: 4b7f ldr r3, [pc, #508] ; (e480 ) - e284: 4798 blx r3 - e286: 4604 mov r4, r0 + dcd6: 2100 movs r1, #0 + dcd8: a829 add r0, sp, #164 ; 0xa4 + dcda: 4b7f ldr r3, [pc, #508] ; (ded8 ) + dcdc: 4798 blx r3 + dcde: 4604 mov r4, r0 if(src_type == LV_IMG_SRC_SYMBOL) lv_draw_label(&coords_tmp, clip, &label_dsc, dsc->pattern_image, NULL); - e288: 2300 movs r3, #0 - e28a: 9300 str r3, [sp, #0] - e28c: f8da 302c ldr.w r3, [sl, #44] ; 0x2c - e290: aa22 add r2, sp, #136 ; 0x88 - e292: 9904 ldr r1, [sp, #16] - e294: a81c add r0, sp, #112 ; 0x70 - e296: 4d7b ldr r5, [pc, #492] ; (e484 ) - e298: 47a8 blx r5 - e29a: e72f b.n e0fc + dce0: 2300 movs r3, #0 + dce2: 9300 str r3, [sp, #0] + dce4: f8da 302c ldr.w r3, [sl, #44] ; 0x2c + dce8: aa22 add r2, sp, #136 ; 0x88 + dcea: 9904 ldr r1, [sp, #16] + dcec: a81c add r0, sp, #112 ; 0x70 + dcee: 4d7b ldr r5, [pc, #492] ; (dedc ) + dcf0: 47a8 blx r5 + dcf2: e72f b.n db54 int16_t radius_mask_id = LV_MASK_ID_INV; - e29c: f04f 34ff mov.w r4, #4294967295 - e2a0: e7f2 b.n e288 + dcf4: f04f 34ff mov.w r4, #4294967295 + dcf8: e7f2 b.n dce0 draw_area.x1 -= disp_area->x1; - e2a2: 8a29 ldrh r1, [r5, #16] - e2a4: f8bd 3060 ldrh.w r3, [sp, #96] ; 0x60 - e2a8: 1a5b subs r3, r3, r1 - e2aa: b29a uxth r2, r3 - e2ac: f8ad 2060 strh.w r2, [sp, #96] ; 0x60 + dcfa: 8a29 ldrh r1, [r5, #16] + dcfc: f8bd 3060 ldrh.w r3, [sp, #96] ; 0x60 + dd00: 1a5b subs r3, r3, r1 + dd02: b29a uxth r2, r3 + dd04: f8ad 2060 strh.w r2, [sp, #96] ; 0x60 draw_area.y1 -= disp_area->y1; - e2b0: 8a68 ldrh r0, [r5, #18] - e2b2: f8bd 3062 ldrh.w r3, [sp, #98] ; 0x62 - e2b6: 1a1b subs r3, r3, r0 - e2b8: f8ad 3062 strh.w r3, [sp, #98] ; 0x62 + dd08: 8a68 ldrh r0, [r5, #18] + dd0a: f8bd 3062 ldrh.w r3, [sp, #98] ; 0x62 + dd0e: 1a1b subs r3, r3, r0 + dd10: f8ad 3062 strh.w r3, [sp, #98] ; 0x62 draw_area.x2 -= disp_area->x1; - e2bc: f8bd 3064 ldrh.w r3, [sp, #100] ; 0x64 - e2c0: 1a5b subs r3, r3, r1 - e2c2: b29b uxth r3, r3 - e2c4: f8ad 3064 strh.w r3, [sp, #100] ; 0x64 + dd14: f8bd 3064 ldrh.w r3, [sp, #100] ; 0x64 + dd18: 1a5b subs r3, r3, r1 + dd1a: b29b uxth r3, r3 + dd1c: f8ad 3064 strh.w r3, [sp, #100] ; 0x64 draw_area.y2 -= disp_area->y1; - e2c8: f8bd 1066 ldrh.w r1, [sp, #102] ; 0x66 - e2cc: 1a09 subs r1, r1, r0 - e2ce: f8ad 1066 strh.w r1, [sp, #102] ; 0x66 + dd20: f8bd 1066 ldrh.w r1, [sp, #102] ; 0x66 + dd24: 1a09 subs r1, r1, r0 + dd26: f8ad 1066 strh.w r1, [sp, #102] ; 0x66 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - e2d2: 3301 adds r3, #1 - e2d4: 1a9b subs r3, r3, r2 - e2d6: b21b sxth r3, r3 - e2d8: 9308 str r3, [sp, #32] + dd2a: 3301 adds r3, #1 + dd2c: 1a9b subs r3, r3, r2 + dd2e: b21b sxth r3, r3 + dd30: 9308 str r3, [sp, #32] lv_opa_t * mask_buf = _lv_mem_buf_get(draw_area_w); - e2da: 9309 str r3, [sp, #36] ; 0x24 - e2dc: 4618 mov r0, r3 - e2de: 4b6a ldr r3, [pc, #424] ; (e488 ) - e2e0: 4798 blx r3 - e2e2: 4683 mov fp, r0 + dd32: 9309 str r3, [sp, #36] ; 0x24 + dd34: 4618 mov r0, r3 + dd36: 4b6a ldr r3, [pc, #424] ; (dee0 ) + dd38: 4798 blx r3 + dd3a: 4683 mov fp, r0 uint8_t other_mask_cnt = lv_draw_mask_get_cnt(); - e2e4: 4b69 ldr r3, [pc, #420] ; (e48c ) - e2e6: 4798 blx r3 + dd3c: 4b69 ldr r3, [pc, #420] ; (dee4 ) + dd3e: 4798 blx r3 if(other_mask_cnt) simple_mode = false; - e2e8: b948 cbnz r0, e2fe + dd40: b948 cbnz r0, dd56 else if(dsc->border_side != LV_BORDER_SIDE_FULL) simple_mode = false; - e2ea: f9ba 8012 ldrsh.w r8, [sl, #18] - e2ee: f1b8 0f0f cmp.w r8, #15 - e2f2: bf14 ite ne - e2f4: f04f 0800 movne.w r8, #0 - e2f8: f04f 0801 moveq.w r8, #1 - e2fc: e001 b.n e302 + dd42: f9ba 8012 ldrsh.w r8, [sl, #18] + dd46: f1b8 0f0f cmp.w r8, #15 + dd4a: bf14 ite ne + dd4c: f04f 0800 movne.w r8, #0 + dd50: f04f 0801 moveq.w r8, #1 + dd54: e001 b.n dd5a if(other_mask_cnt) simple_mode = false; - e2fe: f04f 0800 mov.w r8, #0 + dd56: f04f 0800 mov.w r8, #0 int32_t rout = dsc->radius; - e302: f9ba 2000 ldrsh.w r2, [sl] - e306: 9e06 ldr r6, [sp, #24] - e308: 88b3 ldrh r3, [r6, #4] - e30a: 3301 adds r3, #1 - e30c: 8831 ldrh r1, [r6, #0] - e30e: 1a5b subs r3, r3, r1 + dd5a: f9ba 2000 ldrsh.w r2, [sl] + dd5e: 9e06 ldr r6, [sp, #24] + dd60: 88b3 ldrh r3, [r6, #4] + dd62: 3301 adds r3, #1 + dd64: 8831 ldrh r1, [r6, #0] + dd66: 1a5b subs r3, r3, r1 int32_t coords_w = lv_area_get_width(coords); - e310: b219 sxth r1, r3 + dd68: b219 sxth r1, r3 return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - e312: 88f3 ldrh r3, [r6, #6] - e314: 3301 adds r3, #1 - e316: 8870 ldrh r0, [r6, #2] - e318: 1a1b subs r3, r3, r0 + dd6a: 88f3 ldrh r3, [r6, #6] + dd6c: 3301 adds r3, #1 + dd6e: 8870 ldrh r0, [r6, #2] + dd70: 1a1b subs r3, r3, r0 int32_t coords_h = lv_area_get_height(coords); - e31a: b21b sxth r3, r3 + dd72: b21b sxth r3, r3 int32_t short_side = LV_MATH_MIN(coords_w, coords_h); - e31c: 428b cmp r3, r1 - e31e: bfa8 it ge - e320: 460b movge r3, r1 + dd74: 428b cmp r3, r1 + dd76: bfa8 it ge + dd78: 460b movge r3, r1 if(rout > short_side >> 1) rout = short_side >> 1; - e322: 105b asrs r3, r3, #1 - e324: 4293 cmp r3, r2 - e326: bfa8 it ge - e328: 4613 movge r3, r2 - e32a: 461a mov r2, r3 - e32c: 930a str r3, [sp, #40] ; 0x28 + dd7a: 105b asrs r3, r3, #1 + dd7c: 4293 cmp r3, r2 + dd7e: bfa8 it ge + dd80: 4613 movge r3, r2 + dd82: 461a mov r2, r3 + dd84: 930a str r3, [sp, #40] ; 0x28 if(rout > 0) { - e32e: 2b00 cmp r3, #0 - e330: f340 8088 ble.w e444 + dd86: 2b00 cmp r3, #0 + dd88: f340 8088 ble.w de9c lv_draw_mask_radius_init(&mask_rout_param, coords, rout, false); - e334: 2300 movs r3, #0 - e336: 4631 mov r1, r6 - e338: a822 add r0, sp, #136 ; 0x88 - e33a: 4e50 ldr r6, [pc, #320] ; (e47c ) - e33c: 47b0 blx r6 + dd8c: 2300 movs r3, #0 + dd8e: 4631 mov r1, r6 + dd90: a822 add r0, sp, #136 ; 0x88 + dd92: 4e50 ldr r6, [pc, #320] ; (ded4 ) + dd94: 47b0 blx r6 mask_rout_id = lv_draw_mask_add(&mask_rout_param, NULL); - e33e: 2100 movs r1, #0 - e340: a822 add r0, sp, #136 ; 0x88 - e342: 4b4f ldr r3, [pc, #316] ; (e480 ) - e344: 4798 blx r3 - e346: 900e str r0, [sp, #56] ; 0x38 + dd96: 2100 movs r1, #0 + dd98: a822 add r0, sp, #136 ; 0x88 + dd9a: 4b4f ldr r3, [pc, #316] ; (ded8 ) + dd9c: 4798 blx r3 + dd9e: 900e str r0, [sp, #56] ; 0x38 int32_t rin = rout - dsc->border_width; - e348: f9ba 6010 ldrsh.w r6, [sl, #16] - e34c: 9a06 ldr r2, [sp, #24] - e34e: 1e53 subs r3, r2, #1 - e350: 1dd0 adds r0, r2, #7 + dda0: f9ba 6010 ldrsh.w r6, [sl, #16] + dda4: 9a06 ldr r2, [sp, #24] + dda6: 1e53 subs r3, r2, #1 + dda8: 1dd0 adds r0, r2, #7 uint8_t * d8 = (uint8_t *)dst; - e352: aa1a add r2, sp, #104 ; 0x68 + ddaa: aa1a add r2, sp, #104 ; 0x68 *d8 = *s8; - e354: f813 1f01 ldrb.w r1, [r3, #1]! - e358: f802 1b01 strb.w r1, [r2], #1 + ddac: f813 1f01 ldrb.w r1, [r3, #1]! + ddb0: f802 1b01 strb.w r1, [r2], #1 while(len) { - e35c: 4283 cmp r3, r0 - e35e: d1f9 bne.n e354 + ddb4: 4283 cmp r3, r0 + ddb6: d1f9 bne.n ddac area_small.x1 += ((dsc->border_side & LV_BORDER_SIDE_LEFT) ? dsc->border_width : - (dsc->border_width + rout)); - e360: f8bd 2068 ldrh.w r2, [sp, #104] ; 0x68 - e364: f8ba 3012 ldrh.w r3, [sl, #18] - e368: f013 0f04 tst.w r3, #4 - e36c: d06e beq.n e44c - e36e: b2b1 uxth r1, r6 - e370: 440a add r2, r1 - e372: f8ad 2068 strh.w r2, [sp, #104] ; 0x68 + ddb8: f8bd 2068 ldrh.w r2, [sp, #104] ; 0x68 + ddbc: f8ba 3012 ldrh.w r3, [sl, #18] + ddc0: f013 0f04 tst.w r3, #4 + ddc4: d06e beq.n dea4 + ddc6: b2b1 uxth r1, r6 + ddc8: 440a add r2, r1 + ddca: f8ad 2068 strh.w r2, [sp, #104] ; 0x68 area_small.x2 -= ((dsc->border_side & LV_BORDER_SIDE_RIGHT) ? dsc->border_width : - (dsc->border_width + rout)); - e376: f8bd 206c ldrh.w r2, [sp, #108] ; 0x6c - e37a: f013 0f08 tst.w r3, #8 - e37e: d06a beq.n e456 - e380: b2b1 uxth r1, r6 - e382: 1a52 subs r2, r2, r1 - e384: f8ad 206c strh.w r2, [sp, #108] ; 0x6c + ddce: f8bd 206c ldrh.w r2, [sp, #108] ; 0x6c + ddd2: f013 0f08 tst.w r3, #8 + ddd6: d06a beq.n deae + ddd8: b2b1 uxth r1, r6 + ddda: 1a52 subs r2, r2, r1 + dddc: f8ad 206c strh.w r2, [sp, #108] ; 0x6c area_small.y1 += ((dsc->border_side & LV_BORDER_SIDE_TOP) ? dsc->border_width : - (dsc->border_width + rout)); - e388: f8bd 206a ldrh.w r2, [sp, #106] ; 0x6a - e38c: f013 0f02 tst.w r3, #2 - e390: d066 beq.n e460 - e392: b2b1 uxth r1, r6 - e394: 440a add r2, r1 - e396: f8ad 206a strh.w r2, [sp, #106] ; 0x6a + dde0: f8bd 206a ldrh.w r2, [sp, #106] ; 0x6a + dde4: f013 0f02 tst.w r3, #2 + dde8: d066 beq.n deb8 + ddea: b2b1 uxth r1, r6 + ddec: 440a add r2, r1 + ddee: f8ad 206a strh.w r2, [sp, #106] ; 0x6a area_small.y2 -= ((dsc->border_side & LV_BORDER_SIDE_BOTTOM) ? dsc->border_width : - (dsc->border_width + rout)); - e39a: f8bd 206e ldrh.w r2, [sp, #110] ; 0x6e - e39e: f013 0f01 tst.w r3, #1 - e3a2: d062 beq.n e46a - e3a4: b2b3 uxth r3, r6 - e3a6: 1ad3 subs r3, r2, r3 - e3a8: f8ad 306e strh.w r3, [sp, #110] ; 0x6e + ddf2: f8bd 206e ldrh.w r2, [sp, #110] ; 0x6e + ddf6: f013 0f01 tst.w r3, #1 + ddfa: d062 beq.n dec2 + ddfc: b2b3 uxth r3, r6 + ddfe: 1ad3 subs r3, r2, r3 + de00: f8ad 306e strh.w r3, [sp, #110] ; 0x6e lv_draw_mask_radius_init(&mask_rin_param, &area_small, rout - dsc->border_width, true); - e3ac: f8dd 9028 ldr.w r9, [sp, #40] ; 0x28 - e3b0: fa1f f789 uxth.w r7, r9 - e3b4: 1bba subs r2, r7, r6 - e3b6: 2301 movs r3, #1 - e3b8: b212 sxth r2, r2 - e3ba: a91a add r1, sp, #104 ; 0x68 - e3bc: a829 add r0, sp, #164 ; 0xa4 - e3be: 4e2f ldr r6, [pc, #188] ; (e47c ) - e3c0: 47b0 blx r6 + de04: f8dd 9028 ldr.w r9, [sp, #40] ; 0x28 + de08: fa1f f789 uxth.w r7, r9 + de0c: 1bba subs r2, r7, r6 + de0e: 2301 movs r3, #1 + de10: b212 sxth r2, r2 + de12: a91a add r1, sp, #104 ; 0x68 + de14: a829 add r0, sp, #164 ; 0xa4 + de16: 4e2f ldr r6, [pc, #188] ; (ded4 ) + de18: 47b0 blx r6 int16_t mask_rin_id = lv_draw_mask_add(&mask_rin_param, NULL); - e3c2: 2100 movs r1, #0 - e3c4: a829 add r0, sp, #164 ; 0xa4 - e3c6: 4b2e ldr r3, [pc, #184] ; (e480 ) - e3c8: 4798 blx r3 - e3ca: 900f str r0, [sp, #60] ; 0x3c + de1a: 2100 movs r1, #0 + de1c: a829 add r0, sp, #164 ; 0xa4 + de1e: 4b2e ldr r3, [pc, #184] ; (ded8 ) + de20: 4798 blx r3 + de22: 900f str r0, [sp, #60] ; 0x3c int32_t corner_size = LV_MATH_MAX(rout, dsc->border_width - 1); - e3cc: f9ba 3010 ldrsh.w r3, [sl, #16] - e3d0: 3b01 subs r3, #1 - e3d2: 454b cmp r3, r9 - e3d4: bfb8 it lt - e3d6: 464b movlt r3, r9 - e3d8: 4619 mov r1, r3 - e3da: 930d str r3, [sp, #52] ; 0x34 + de24: f9ba 3010 ldrsh.w r3, [sl, #16] + de28: 3b01 subs r3, #1 + de2a: 454b cmp r3, r9 + de2c: bfb8 it lt + de2e: 464b movlt r3, r9 + de30: 4619 mov r1, r3 + de32: 930d str r3, [sp, #52] ; 0x34 lv_color_t color = dsc->border_color; - e3dc: f8ba 300e ldrh.w r3, [sl, #14] - e3e0: f8ad 3014 strh.w r3, [sp, #20] + de34: f8ba 300e ldrh.w r3, [sl, #14] + de38: f8ad 3014 strh.w r3, [sp, #20] lv_blend_mode_t blend_mode = dsc->border_blend_mode; - e3e4: f89a 6015 ldrb.w r6, [sl, #21] + de3c: f89a 6015 ldrb.w r6, [sl, #21] if(simple_mode) { - e3e8: f1b8 0f00 cmp.w r8, #0 - e3ec: f000 81bf beq.w e76e + de40: f1b8 0f00 cmp.w r8, #0 + de44: f000 81bf beq.w e1c6 int32_t upper_corner_end = coords->y1 - disp_area->y1 + corner_size; - e3f0: f9b5 3012 ldrsh.w r3, [r5, #18] - e3f4: 9806 ldr r0, [sp, #24] - e3f6: f9b0 2002 ldrsh.w r2, [r0, #2] - e3fa: 1ad2 subs r2, r2, r3 - e3fc: 440a add r2, r1 + de48: f9b5 3012 ldrsh.w r3, [r5, #18] + de4c: 9806 ldr r0, [sp, #24] + de4e: f9b0 2002 ldrsh.w r2, [r0, #2] + de52: 1ad2 subs r2, r2, r3 + de54: 440a add r2, r1 upper_corner_end = LV_MATH_MIN(upper_corner_end, draw_area.y2); - e3fe: f9bd 1066 ldrsh.w r1, [sp, #102] ; 0x66 - e402: 4291 cmp r1, r2 - e404: bfa8 it ge - e406: 4611 movge r1, r2 - e408: 910b str r1, [sp, #44] ; 0x2c + de56: f9bd 1066 ldrsh.w r1, [sp, #102] ; 0x66 + de5a: 4291 cmp r1, r2 + de5c: bfa8 it ge + de5e: 4611 movge r1, r2 + de60: 910b str r1, [sp, #44] ; 0x2c fill_area.x1 = coords->x1; - e40a: 8802 ldrh r2, [r0, #0] - e40c: f8ad 2070 strh.w r2, [sp, #112] ; 0x70 + de62: 8802 ldrh r2, [r0, #0] + de64: f8ad 2070 strh.w r2, [sp, #112] ; 0x70 fill_area.x2 = coords->x2; - e410: 8882 ldrh r2, [r0, #4] - e412: f8ad 2074 strh.w r2, [sp, #116] ; 0x74 + de68: 8882 ldrh r2, [r0, #4] + de6a: f8ad 2074 strh.w r2, [sp, #116] ; 0x74 fill_area.y1 = disp_area->y1 + draw_area.y1; - e416: f9bd 2062 ldrsh.w r2, [sp, #98] ; 0x62 - e41a: 4413 add r3, r2 - e41c: b21b sxth r3, r3 - e41e: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 + de6e: f9bd 2062 ldrsh.w r2, [sp, #98] ; 0x62 + de72: 4413 add r3, r2 + de74: b21b sxth r3, r3 + de76: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 fill_area.y2 = fill_area.y1; - e422: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 + de7a: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 for(h = draw_area.y1; h <= upper_corner_end; h++) { - e426: 4690 mov r8, r2 - e428: 9b0b ldr r3, [sp, #44] ; 0x2c - e42a: 4293 cmp r3, r2 - e42c: f2c0 80b3 blt.w e596 + de7e: 4690 mov r8, r2 + de80: 9b0b ldr r3, [sp, #44] ; 0x2c + de82: 4293 cmp r3, r2 + de84: f2c0 80b3 blt.w dfee _lv_blend_fill(clip, &fill_area2, color, mask_buf, mask_res, opa, blend_mode); - e430: f8df 905c ldr.w r9, [pc, #92] ; e490 - e434: f8cd b01c str.w fp, [sp, #28] - e438: 46b3 mov fp, r6 - e43a: 4626 mov r6, r4 - e43c: f8cd a030 str.w sl, [sp, #48] ; 0x30 - e440: 4682 mov sl, r0 - e442: e055 b.n e4f0 + de88: f8df 905c ldr.w r9, [pc, #92] ; dee8 + de8c: f8cd b01c str.w fp, [sp, #28] + de90: 46b3 mov fp, r6 + de92: 4626 mov r6, r4 + de94: f8cd a030 str.w sl, [sp, #48] ; 0x30 + de98: 4682 mov sl, r0 + de9a: e055 b.n df48 int16_t mask_rout_id = LV_MASK_ID_INV; - e444: f04f 33ff mov.w r3, #4294967295 - e448: 930e str r3, [sp, #56] ; 0x38 - e44a: e77d b.n e348 + de9c: f04f 33ff mov.w r3, #4294967295 + dea0: 930e str r3, [sp, #56] ; 0x38 + dea2: e77d b.n dda0 area_small.x1 += ((dsc->border_side & LV_BORDER_SIDE_LEFT) ? dsc->border_width : - (dsc->border_width + rout)); - e44c: 990a ldr r1, [sp, #40] ; 0x28 - e44e: 1871 adds r1, r6, r1 - e450: 4249 negs r1, r1 - e452: b289 uxth r1, r1 - e454: e78c b.n e370 + dea4: 990a ldr r1, [sp, #40] ; 0x28 + dea6: 1871 adds r1, r6, r1 + dea8: 4249 negs r1, r1 + deaa: b289 uxth r1, r1 + deac: e78c b.n ddc8 area_small.x2 -= ((dsc->border_side & LV_BORDER_SIDE_RIGHT) ? dsc->border_width : - (dsc->border_width + rout)); - e456: 990a ldr r1, [sp, #40] ; 0x28 - e458: 1871 adds r1, r6, r1 - e45a: 4249 negs r1, r1 - e45c: b289 uxth r1, r1 - e45e: e790 b.n e382 + deae: 990a ldr r1, [sp, #40] ; 0x28 + deb0: 1871 adds r1, r6, r1 + deb2: 4249 negs r1, r1 + deb4: b289 uxth r1, r1 + deb6: e790 b.n ddda area_small.y1 += ((dsc->border_side & LV_BORDER_SIDE_TOP) ? dsc->border_width : - (dsc->border_width + rout)); - e460: 990a ldr r1, [sp, #40] ; 0x28 - e462: 1871 adds r1, r6, r1 - e464: 4249 negs r1, r1 - e466: b289 uxth r1, r1 - e468: e794 b.n e394 + deb8: 990a ldr r1, [sp, #40] ; 0x28 + deba: 1871 adds r1, r6, r1 + debc: 4249 negs r1, r1 + debe: b289 uxth r1, r1 + dec0: e794 b.n ddec area_small.y2 -= ((dsc->border_side & LV_BORDER_SIDE_BOTTOM) ? dsc->border_width : - (dsc->border_width + rout)); - e46a: 9b0a ldr r3, [sp, #40] ; 0x28 - e46c: 18f3 adds r3, r6, r3 - e46e: 425b negs r3, r3 - e470: b29b uxth r3, r3 - e472: e798 b.n e3a6 - e474: 0000c415 .word 0x0000c415 - e478: 00011d15 .word 0x00011d15 - e47c: 0000c5d5 .word 0x0000c5d5 - e480: 0000c369 .word 0x0000c369 - e484: 00009fcd .word 0x00009fcd - e488: 00012ee5 .word 0x00012ee5 - e48c: 0000c46d .word 0x0000c46d - e490: 00007cf9 .word 0x00007cf9 + dec2: 9b0a ldr r3, [sp, #40] ; 0x28 + dec4: 18f3 adds r3, r6, r3 + dec6: 425b negs r3, r3 + dec8: b29b uxth r3, r3 + deca: e798 b.n ddfe + decc: 0000be6d .word 0x0000be6d + ded0: 0001176d .word 0x0001176d + ded4: 0000c02d .word 0x0000c02d + ded8: 0000bdc1 .word 0x0000bdc1 + dedc: 00009a25 .word 0x00009a25 + dee0: 0001293d .word 0x0001293d + dee4: 0000bec5 .word 0x0000bec5 + dee8: 00007751 .word 0x00007751 fill_area2.x1 = coords->x2 - rout + 1; - e494: f9ba 3004 ldrsh.w r3, [sl, #4] - e498: 1c5a adds r2, r3, #1 - e49a: 1bd2 subs r2, r2, r7 - e49c: f8ad 2078 strh.w r2, [sp, #120] ; 0x78 + deec: f9ba 3004 ldrsh.w r3, [sl, #4] + def0: 1c5a adds r2, r3, #1 + def2: 1bd2 subs r2, r2, r7 + def4: f8ad 2078 strh.w r2, [sp, #120] ; 0x78 fill_area2.x2 = coords->x2; - e4a0: f8ad 307c strh.w r3, [sp, #124] ; 0x7c + def8: f8ad 307c strh.w r3, [sp, #124] ; 0x7c int32_t mask_ofs = (coords->x2 - rout + 1) - (vdb->area.x1 + draw_area.x1); - e4a4: 9a0a ldr r2, [sp, #40] ; 0x28 - e4a6: 1a9b subs r3, r3, r2 - e4a8: 3301 adds r3, #1 - e4aa: f9b5 2010 ldrsh.w r2, [r5, #16] - e4ae: f9bd 1060 ldrsh.w r1, [sp, #96] ; 0x60 - e4b2: 440a add r2, r1 - e4b4: 1a9b subs r3, r3, r2 + defc: 9a0a ldr r2, [sp, #40] ; 0x28 + defe: 1a9b subs r3, r3, r2 + df00: 3301 adds r3, #1 + df02: f9b5 2010 ldrsh.w r2, [r5, #16] + df06: f9bd 1060 ldrsh.w r1, [sp, #96] ; 0x60 + df0a: 440a add r2, r1 + df0c: 1a9b subs r3, r3, r2 _lv_blend_fill(clip, &fill_area2, color, mask_buf + mask_ofs, mask_res, opa, blend_mode); - e4b6: f8cd b008 str.w fp, [sp, #8] - e4ba: 9601 str r6, [sp, #4] - e4bc: 9400 str r4, [sp, #0] - e4be: 9a07 ldr r2, [sp, #28] - e4c0: 2b00 cmp r3, #0 - e4c2: bfa8 it ge - e4c4: 18d2 addge r2, r2, r3 - e4c6: 4613 mov r3, r2 - e4c8: f8bd 2014 ldrh.w r2, [sp, #20] - e4cc: a91e add r1, sp, #120 ; 0x78 - e4ce: 9804 ldr r0, [sp, #16] - e4d0: 47c8 blx r9 + df0e: f8cd b008 str.w fp, [sp, #8] + df12: 9601 str r6, [sp, #4] + df14: 9400 str r4, [sp, #0] + df16: 9a07 ldr r2, [sp, #28] + df18: 2b00 cmp r3, #0 + df1a: bfa8 it ge + df1c: 18d2 addge r2, r2, r3 + df1e: 4613 mov r3, r2 + df20: f8bd 2014 ldrh.w r2, [sp, #20] + df24: a91e add r1, sp, #120 ; 0x78 + df26: 9804 ldr r0, [sp, #16] + df28: 47c8 blx r9 fill_area.y1++; - e4d2: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72 - e4d6: 3301 adds r3, #1 - e4d8: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 + df2a: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72 + df2e: 3301 adds r3, #1 + df30: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 fill_area.y2++; - e4dc: f8bd 3076 ldrh.w r3, [sp, #118] ; 0x76 - e4e0: 3301 adds r3, #1 - e4e2: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 + df34: f8bd 3076 ldrh.w r3, [sp, #118] ; 0x76 + df38: 3301 adds r3, #1 + df3a: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 for(h = draw_area.y1; h <= upper_corner_end; h++) { - e4e6: f108 0801 add.w r8, r8, #1 - e4ea: 9b0b ldr r3, [sp, #44] ; 0x2c - e4ec: 4543 cmp r3, r8 - e4ee: db4c blt.n e58a + df3e: f108 0801 add.w r8, r8, #1 + df42: 9b0b ldr r3, [sp, #44] ; 0x2c + df44: 4543 cmp r3, r8 + df46: db4c blt.n dfe2 _lv_memset_ff(mask_buf, draw_area_w); - e4f0: 9909 ldr r1, [sp, #36] ; 0x24 - e4f2: 9c07 ldr r4, [sp, #28] - e4f4: 4620 mov r0, r4 - e4f6: 4bc7 ldr r3, [pc, #796] ; (e814 ) - e4f8: 4798 blx r3 + df48: 9909 ldr r1, [sp, #36] ; 0x24 + df4a: 9c07 ldr r4, [sp, #28] + df4c: 4620 mov r0, r4 + df4e: 4bc7 ldr r3, [pc, #796] ; (e26c ) + df50: 4798 blx r3 mask_res = lv_draw_mask_apply(mask_buf, vdb->area.x1 + draw_area.x1, vdb->area.y1 + h, draw_area_w); - e4fa: 8a6a ldrh r2, [r5, #18] - e4fc: 4442 add r2, r8 - e4fe: 8a29 ldrh r1, [r5, #16] - e500: f8bd 3060 ldrh.w r3, [sp, #96] ; 0x60 - e504: 4419 add r1, r3 - e506: 9b08 ldr r3, [sp, #32] - e508: b212 sxth r2, r2 - e50a: b209 sxth r1, r1 - e50c: 9407 str r4, [sp, #28] - e50e: 4620 mov r0, r4 - e510: 4cc1 ldr r4, [pc, #772] ; (e818 ) - e512: 47a0 blx r4 - e514: 4604 mov r4, r0 + df52: 8a6a ldrh r2, [r5, #18] + df54: 4442 add r2, r8 + df56: 8a29 ldrh r1, [r5, #16] + df58: f8bd 3060 ldrh.w r3, [sp, #96] ; 0x60 + df5c: 4419 add r1, r3 + df5e: 9b08 ldr r3, [sp, #32] + df60: b212 sxth r2, r2 + df62: b209 sxth r1, r1 + df64: 9407 str r4, [sp, #28] + df66: 4620 mov r0, r4 + df68: 4cc1 ldr r4, [pc, #772] ; (e270 ) + df6a: 47a0 blx r4 + df6c: 4604 mov r4, r0 fill_area2.y1 = fill_area.y1; - e516: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72 - e51a: f8ad 307a strh.w r3, [sp, #122] ; 0x7a + df6e: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72 + df72: f8ad 307a strh.w r3, [sp, #122] ; 0x7a fill_area2.y2 = fill_area.y2; - e51e: f8bd 3076 ldrh.w r3, [sp, #118] ; 0x76 - e522: f8ad 307e strh.w r3, [sp, #126] ; 0x7e + df76: f8bd 3076 ldrh.w r3, [sp, #118] ; 0x76 + df7a: f8ad 307e strh.w r3, [sp, #126] ; 0x7e fill_area2.x1 = coords->x1; - e526: f9ba 3000 ldrsh.w r3, [sl] - e52a: f8ad 3078 strh.w r3, [sp, #120] ; 0x78 + df7e: f9ba 3000 ldrsh.w r3, [sl] + df82: f8ad 3078 strh.w r3, [sp, #120] ; 0x78 fill_area2.x2 = coords->x1 + rout - 1; - e52e: 3b01 subs r3, #1 - e530: 443b add r3, r7 - e532: f8ad 307c strh.w r3, [sp, #124] ; 0x7c + df86: 3b01 subs r3, #1 + df88: 443b add r3, r7 + df8a: f8ad 307c strh.w r3, [sp, #124] ; 0x7c _lv_blend_fill(clip, &fill_area2, color, mask_buf, mask_res, opa, blend_mode); - e536: f8cd b008 str.w fp, [sp, #8] - e53a: 9601 str r6, [sp, #4] - e53c: 9000 str r0, [sp, #0] - e53e: 9b07 ldr r3, [sp, #28] - e540: f8bd 2014 ldrh.w r2, [sp, #20] - e544: a91e add r1, sp, #120 ; 0x78 - e546: 9804 ldr r0, [sp, #16] - e548: 47c8 blx r9 + df8e: f8cd b008 str.w fp, [sp, #8] + df92: 9601 str r6, [sp, #4] + df94: 9000 str r0, [sp, #0] + df96: 9b07 ldr r3, [sp, #28] + df98: f8bd 2014 ldrh.w r2, [sp, #20] + df9c: a91e add r1, sp, #120 ; 0x78 + df9e: 9804 ldr r0, [sp, #16] + dfa0: 47c8 blx r9 if(fill_area2.y2 < coords->y1 + dsc->border_width) { - e54a: f9bd 207e ldrsh.w r2, [sp, #126] ; 0x7e - e54e: f9ba 3002 ldrsh.w r3, [sl, #2] - e552: 990c ldr r1, [sp, #48] ; 0x30 - e554: f9b1 1010 ldrsh.w r1, [r1, #16] - e558: 440b add r3, r1 - e55a: 429a cmp r2, r3 - e55c: da9a bge.n e494 + dfa2: f9bd 207e ldrsh.w r2, [sp, #126] ; 0x7e + dfa6: f9ba 3002 ldrsh.w r3, [sl, #2] + dfaa: 990c ldr r1, [sp, #48] ; 0x30 + dfac: f9b1 1010 ldrsh.w r1, [r1, #16] + dfb0: 440b add r3, r1 + dfb2: 429a cmp r2, r3 + dfb4: da9a bge.n deec fill_area2.x1 = coords->x1 + rout; - e55e: f8ba 3000 ldrh.w r3, [sl] - e562: 443b add r3, r7 - e564: f8ad 3078 strh.w r3, [sp, #120] ; 0x78 + dfb6: f8ba 3000 ldrh.w r3, [sl] + dfba: 443b add r3, r7 + dfbc: f8ad 3078 strh.w r3, [sp, #120] ; 0x78 fill_area2.x2 = coords->x2 - rout; - e568: f8ba 3004 ldrh.w r3, [sl, #4] - e56c: 1bdb subs r3, r3, r7 - e56e: f8ad 307c strh.w r3, [sp, #124] ; 0x7c + dfc0: f8ba 3004 ldrh.w r3, [sl, #4] + dfc4: 1bdb subs r3, r3, r7 + dfc6: f8ad 307c strh.w r3, [sp, #124] ; 0x7c _lv_blend_fill(clip, &fill_area2, color, NULL, LV_DRAW_MASK_RES_FULL_COVER, opa, blend_mode); - e572: f8cd b008 str.w fp, [sp, #8] - e576: 9601 str r6, [sp, #4] - e578: 2301 movs r3, #1 - e57a: 9300 str r3, [sp, #0] - e57c: 2300 movs r3, #0 - e57e: f8bd 2014 ldrh.w r2, [sp, #20] - e582: a91e add r1, sp, #120 ; 0x78 - e584: 9804 ldr r0, [sp, #16] - e586: 47c8 blx r9 - e588: e784 b.n e494 - e58a: 4634 mov r4, r6 - e58c: 465e mov r6, fp - e58e: f8dd b01c ldr.w fp, [sp, #28] - e592: f8dd a030 ldr.w sl, [sp, #48] ; 0x30 + dfca: f8cd b008 str.w fp, [sp, #8] + dfce: 9601 str r6, [sp, #4] + dfd0: 2301 movs r3, #1 + dfd2: 9300 str r3, [sp, #0] + dfd4: 2300 movs r3, #0 + dfd6: f8bd 2014 ldrh.w r2, [sp, #20] + dfda: a91e add r1, sp, #120 ; 0x78 + dfdc: 9804 ldr r0, [sp, #16] + dfde: 47c8 blx r9 + dfe0: e784 b.n deec + dfe2: 4634 mov r4, r6 + dfe4: 465e mov r6, fp + dfe6: f8dd b01c ldr.w fp, [sp, #28] + dfea: f8dd a030 ldr.w sl, [sp, #48] ; 0x30 int32_t lower_corner_end = coords->y2 - disp_area->y1 - corner_size; - e596: f9b5 3012 ldrsh.w r3, [r5, #18] - e59a: 9a06 ldr r2, [sp, #24] - e59c: f9b2 2006 ldrsh.w r2, [r2, #6] - e5a0: 1ad2 subs r2, r2, r3 - e5a2: 990d ldr r1, [sp, #52] ; 0x34 - e5a4: 1a52 subs r2, r2, r1 + dfee: f9b5 3012 ldrsh.w r3, [r5, #18] + dff2: 9a06 ldr r2, [sp, #24] + dff4: f9b2 2006 ldrsh.w r2, [r2, #6] + dff8: 1ad2 subs r2, r2, r3 + dffa: 990d ldr r1, [sp, #52] ; 0x34 + dffc: 1a52 subs r2, r2, r1 lower_corner_end = LV_MATH_MAX(lower_corner_end, draw_area.y1); - e5a6: f9bd 8062 ldrsh.w r8, [sp, #98] ; 0x62 - e5aa: 4590 cmp r8, r2 - e5ac: bfb8 it lt - e5ae: 4690 movlt r8, r2 + dffe: f9bd 8062 ldrsh.w r8, [sp, #98] ; 0x62 + e002: 4590 cmp r8, r2 + e004: bfb8 it lt + e006: 4690 movlt r8, r2 if(lower_corner_end <= upper_corner_end) lower_corner_end = upper_corner_end + 1; - e5b0: 990b ldr r1, [sp, #44] ; 0x2c - e5b2: 4541 cmp r1, r8 - e5b4: bfa8 it ge - e5b6: f101 0801 addge.w r8, r1, #1 + e008: 990b ldr r1, [sp, #44] ; 0x2c + e00a: 4541 cmp r1, r8 + e00c: bfa8 it ge + e00e: f101 0801 addge.w r8, r1, #1 fill_area.y1 = disp_area->y1 + lower_corner_end; - e5ba: 4443 add r3, r8 - e5bc: b21b sxth r3, r3 - e5be: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 + e012: 4443 add r3, r8 + e014: b21b sxth r3, r3 + e016: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 fill_area.y2 = fill_area.y1; - e5c2: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 + e01a: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 for(h = lower_corner_end; h <= draw_area.y2; h++) { - e5c6: f9bd 3066 ldrsh.w r3, [sp, #102] ; 0x66 - e5ca: 4598 cmp r8, r3 - e5cc: f300 808d bgt.w e6ea + e01e: f9bd 3066 ldrsh.w r3, [sp, #102] ; 0x66 + e022: 4598 cmp r8, r3 + e024: f300 808d bgt.w e142 _lv_blend_fill(clip, &fill_area2, color, mask_buf, mask_res, opa, blend_mode); - e5d0: f8df 9248 ldr.w r9, [pc, #584] ; e81c - e5d4: f8cd b01c str.w fp, [sp, #28] - e5d8: 46b3 mov fp, r6 - e5da: 4626 mov r6, r4 - e5dc: f8cd a02c str.w sl, [sp, #44] ; 0x2c - e5e0: f8dd a018 ldr.w sl, [sp, #24] - e5e4: e02e b.n e644 + e028: f8df 9248 ldr.w r9, [pc, #584] ; e274 + e02c: f8cd b01c str.w fp, [sp, #28] + e030: 46b3 mov fp, r6 + e032: 4626 mov r6, r4 + e034: f8cd a02c str.w sl, [sp, #44] ; 0x2c + e038: f8dd a018 ldr.w sl, [sp, #24] + e03c: e02e b.n e09c fill_area2.x1 = coords->x2 - rout + 1; - e5e6: f9ba 3004 ldrsh.w r3, [sl, #4] - e5ea: 1c5a adds r2, r3, #1 - e5ec: 1bd2 subs r2, r2, r7 - e5ee: f8ad 2078 strh.w r2, [sp, #120] ; 0x78 + e03e: f9ba 3004 ldrsh.w r3, [sl, #4] + e042: 1c5a adds r2, r3, #1 + e044: 1bd2 subs r2, r2, r7 + e046: f8ad 2078 strh.w r2, [sp, #120] ; 0x78 fill_area2.x2 = coords->x2; - e5f2: f8ad 307c strh.w r3, [sp, #124] ; 0x7c + e04a: f8ad 307c strh.w r3, [sp, #124] ; 0x7c int32_t mask_ofs = (coords->x2 - rout + 1) - (vdb->area.x1 + draw_area.x1); - e5f6: 9a0a ldr r2, [sp, #40] ; 0x28 - e5f8: 1a9b subs r3, r3, r2 - e5fa: 3301 adds r3, #1 - e5fc: f9b5 2010 ldrsh.w r2, [r5, #16] - e600: f9bd 1060 ldrsh.w r1, [sp, #96] ; 0x60 - e604: 440a add r2, r1 - e606: 1a9b subs r3, r3, r2 + e04e: 9a0a ldr r2, [sp, #40] ; 0x28 + e050: 1a9b subs r3, r3, r2 + e052: 3301 adds r3, #1 + e054: f9b5 2010 ldrsh.w r2, [r5, #16] + e058: f9bd 1060 ldrsh.w r1, [sp, #96] ; 0x60 + e05c: 440a add r2, r1 + e05e: 1a9b subs r3, r3, r2 _lv_blend_fill(clip, &fill_area2, color, mask_buf + mask_ofs, mask_res, opa, blend_mode); - e608: f8cd b008 str.w fp, [sp, #8] - e60c: 9601 str r6, [sp, #4] - e60e: 9400 str r4, [sp, #0] - e610: 9a07 ldr r2, [sp, #28] - e612: 2b00 cmp r3, #0 - e614: bfa8 it ge - e616: 18d2 addge r2, r2, r3 - e618: 4613 mov r3, r2 - e61a: f8bd 2014 ldrh.w r2, [sp, #20] - e61e: a91e add r1, sp, #120 ; 0x78 - e620: 9804 ldr r0, [sp, #16] - e622: 47c8 blx r9 + e060: f8cd b008 str.w fp, [sp, #8] + e064: 9601 str r6, [sp, #4] + e066: 9400 str r4, [sp, #0] + e068: 9a07 ldr r2, [sp, #28] + e06a: 2b00 cmp r3, #0 + e06c: bfa8 it ge + e06e: 18d2 addge r2, r2, r3 + e070: 4613 mov r3, r2 + e072: f8bd 2014 ldrh.w r2, [sp, #20] + e076: a91e add r1, sp, #120 ; 0x78 + e078: 9804 ldr r0, [sp, #16] + e07a: 47c8 blx r9 fill_area.y1++; - e624: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72 - e628: 3301 adds r3, #1 - e62a: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 + e07c: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72 + e080: 3301 adds r3, #1 + e082: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 fill_area.y2++; - e62e: f8bd 3076 ldrh.w r3, [sp, #118] ; 0x76 - e632: 3301 adds r3, #1 - e634: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 + e086: f8bd 3076 ldrh.w r3, [sp, #118] ; 0x76 + e08a: 3301 adds r3, #1 + e08c: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 for(h = lower_corner_end; h <= draw_area.y2; h++) { - e638: f108 0801 add.w r8, r8, #1 - e63c: f9bd 3066 ldrsh.w r3, [sp, #102] ; 0x66 - e640: 4598 cmp r8, r3 - e642: dc4c bgt.n e6de + e090: f108 0801 add.w r8, r8, #1 + e094: f9bd 3066 ldrsh.w r3, [sp, #102] ; 0x66 + e098: 4598 cmp r8, r3 + e09a: dc4c bgt.n e136 _lv_memset_ff(mask_buf, draw_area_w); - e644: 9909 ldr r1, [sp, #36] ; 0x24 - e646: 9c07 ldr r4, [sp, #28] - e648: 4620 mov r0, r4 - e64a: 4b72 ldr r3, [pc, #456] ; (e814 ) - e64c: 4798 blx r3 + e09c: 9909 ldr r1, [sp, #36] ; 0x24 + e09e: 9c07 ldr r4, [sp, #28] + e0a0: 4620 mov r0, r4 + e0a2: 4b72 ldr r3, [pc, #456] ; (e26c ) + e0a4: 4798 blx r3 mask_res = lv_draw_mask_apply(mask_buf, vdb->area.x1 + draw_area.x1, vdb->area.y1 + h, draw_area_w); - e64e: 8a6a ldrh r2, [r5, #18] - e650: 4442 add r2, r8 - e652: 8a29 ldrh r1, [r5, #16] - e654: f8bd 3060 ldrh.w r3, [sp, #96] ; 0x60 - e658: 4419 add r1, r3 - e65a: 9b08 ldr r3, [sp, #32] - e65c: b212 sxth r2, r2 - e65e: b209 sxth r1, r1 - e660: 9407 str r4, [sp, #28] - e662: 4620 mov r0, r4 - e664: 4c6c ldr r4, [pc, #432] ; (e818 ) - e666: 47a0 blx r4 - e668: 4604 mov r4, r0 + e0a6: 8a6a ldrh r2, [r5, #18] + e0a8: 4442 add r2, r8 + e0aa: 8a29 ldrh r1, [r5, #16] + e0ac: f8bd 3060 ldrh.w r3, [sp, #96] ; 0x60 + e0b0: 4419 add r1, r3 + e0b2: 9b08 ldr r3, [sp, #32] + e0b4: b212 sxth r2, r2 + e0b6: b209 sxth r1, r1 + e0b8: 9407 str r4, [sp, #28] + e0ba: 4620 mov r0, r4 + e0bc: 4c6c ldr r4, [pc, #432] ; (e270 ) + e0be: 47a0 blx r4 + e0c0: 4604 mov r4, r0 fill_area2.x1 = coords->x1; - e66a: f9ba 3000 ldrsh.w r3, [sl] - e66e: f8ad 3078 strh.w r3, [sp, #120] ; 0x78 + e0c2: f9ba 3000 ldrsh.w r3, [sl] + e0c6: f8ad 3078 strh.w r3, [sp, #120] ; 0x78 fill_area2.x2 = coords->x1 + rout - 1; - e672: 3b01 subs r3, #1 - e674: 443b add r3, r7 - e676: f8ad 307c strh.w r3, [sp, #124] ; 0x7c + e0ca: 3b01 subs r3, #1 + e0cc: 443b add r3, r7 + e0ce: f8ad 307c strh.w r3, [sp, #124] ; 0x7c fill_area2.y1 = fill_area.y1; - e67a: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72 - e67e: f8ad 307a strh.w r3, [sp, #122] ; 0x7a + e0d2: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72 + e0d6: f8ad 307a strh.w r3, [sp, #122] ; 0x7a fill_area2.y2 = fill_area.y2; - e682: f8bd 3076 ldrh.w r3, [sp, #118] ; 0x76 - e686: f8ad 307e strh.w r3, [sp, #126] ; 0x7e + e0da: f8bd 3076 ldrh.w r3, [sp, #118] ; 0x76 + e0de: f8ad 307e strh.w r3, [sp, #126] ; 0x7e _lv_blend_fill(clip, &fill_area2, color, mask_buf, mask_res, opa, blend_mode); - e68a: f8cd b008 str.w fp, [sp, #8] - e68e: 9601 str r6, [sp, #4] - e690: 9000 str r0, [sp, #0] - e692: 9b07 ldr r3, [sp, #28] - e694: f8bd 2014 ldrh.w r2, [sp, #20] - e698: a91e add r1, sp, #120 ; 0x78 - e69a: 9804 ldr r0, [sp, #16] - e69c: 47c8 blx r9 + e0e2: f8cd b008 str.w fp, [sp, #8] + e0e6: 9601 str r6, [sp, #4] + e0e8: 9000 str r0, [sp, #0] + e0ea: 9b07 ldr r3, [sp, #28] + e0ec: f8bd 2014 ldrh.w r2, [sp, #20] + e0f0: a91e add r1, sp, #120 ; 0x78 + e0f2: 9804 ldr r0, [sp, #16] + e0f4: 47c8 blx r9 if(fill_area2.y2 > coords->y2 - dsc->border_width) { - e69e: f9bd 207e ldrsh.w r2, [sp, #126] ; 0x7e - e6a2: f9ba 3006 ldrsh.w r3, [sl, #6] - e6a6: 990b ldr r1, [sp, #44] ; 0x2c - e6a8: f9b1 1010 ldrsh.w r1, [r1, #16] - e6ac: 1a5b subs r3, r3, r1 - e6ae: 429a cmp r2, r3 - e6b0: dd99 ble.n e5e6 + e0f6: f9bd 207e ldrsh.w r2, [sp, #126] ; 0x7e + e0fa: f9ba 3006 ldrsh.w r3, [sl, #6] + e0fe: 990b ldr r1, [sp, #44] ; 0x2c + e100: f9b1 1010 ldrsh.w r1, [r1, #16] + e104: 1a5b subs r3, r3, r1 + e106: 429a cmp r2, r3 + e108: dd99 ble.n e03e fill_area2.x1 = coords->x1 + rout; - e6b2: f8ba 3000 ldrh.w r3, [sl] - e6b6: 443b add r3, r7 - e6b8: f8ad 3078 strh.w r3, [sp, #120] ; 0x78 + e10a: f8ba 3000 ldrh.w r3, [sl] + e10e: 443b add r3, r7 + e110: f8ad 3078 strh.w r3, [sp, #120] ; 0x78 fill_area2.x2 = coords->x2 - rout; - e6bc: f8ba 3004 ldrh.w r3, [sl, #4] - e6c0: 1bdb subs r3, r3, r7 - e6c2: f8ad 307c strh.w r3, [sp, #124] ; 0x7c + e114: f8ba 3004 ldrh.w r3, [sl, #4] + e118: 1bdb subs r3, r3, r7 + e11a: f8ad 307c strh.w r3, [sp, #124] ; 0x7c _lv_blend_fill(clip, &fill_area2, color, NULL, LV_DRAW_MASK_RES_FULL_COVER, opa, blend_mode); - e6c6: f8cd b008 str.w fp, [sp, #8] - e6ca: 9601 str r6, [sp, #4] - e6cc: 2301 movs r3, #1 - e6ce: 9300 str r3, [sp, #0] - e6d0: 2300 movs r3, #0 - e6d2: f8bd 2014 ldrh.w r2, [sp, #20] - e6d6: a91e add r1, sp, #120 ; 0x78 - e6d8: 9804 ldr r0, [sp, #16] - e6da: 47c8 blx r9 - e6dc: e783 b.n e5e6 - e6de: 4634 mov r4, r6 - e6e0: 465e mov r6, fp - e6e2: f8dd b01c ldr.w fp, [sp, #28] - e6e6: f8dd a02c ldr.w sl, [sp, #44] ; 0x2c + e11e: f8cd b008 str.w fp, [sp, #8] + e122: 9601 str r6, [sp, #4] + e124: 2301 movs r3, #1 + e126: 9300 str r3, [sp, #0] + e128: 2300 movs r3, #0 + e12a: f8bd 2014 ldrh.w r2, [sp, #20] + e12e: a91e add r1, sp, #120 ; 0x78 + e130: 9804 ldr r0, [sp, #16] + e132: 47c8 blx r9 + e134: e783 b.n e03e + e136: 4634 mov r4, r6 + e138: 465e mov r6, fp + e13a: f8dd b01c ldr.w fp, [sp, #28] + e13e: f8dd a02c ldr.w sl, [sp, #44] ; 0x2c fill_area.y1 = coords->y1 + corner_size + 1; - e6ea: f8bd 2034 ldrh.w r2, [sp, #52] ; 0x34 - e6ee: 9906 ldr r1, [sp, #24] - e6f0: 884b ldrh r3, [r1, #2] - e6f2: 3301 adds r3, #1 - e6f4: 4413 add r3, r2 - e6f6: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 + e142: f8bd 2034 ldrh.w r2, [sp, #52] ; 0x34 + e146: 9906 ldr r1, [sp, #24] + e148: 884b ldrh r3, [r1, #2] + e14a: 3301 adds r3, #1 + e14c: 4413 add r3, r2 + e14e: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 fill_area.y2 = coords->y2 - corner_size - 1; - e6fa: 88cb ldrh r3, [r1, #6] - e6fc: 3b01 subs r3, #1 - e6fe: 1a9b subs r3, r3, r2 - e700: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 + e152: 88cb ldrh r3, [r1, #6] + e154: 3b01 subs r3, #1 + e156: 1a9b subs r3, r3, r2 + e158: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 fill_area.x1 = coords->x1; - e704: f9b1 3000 ldrsh.w r3, [r1] - e708: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 + e15c: f9b1 3000 ldrsh.w r3, [r1] + e160: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 fill_area.x2 = coords->x1 + dsc->border_width - 1; - e70c: f8ba 2010 ldrh.w r2, [sl, #16] - e710: 3a01 subs r2, #1 - e712: 4413 add r3, r2 - e714: f8ad 3074 strh.w r3, [sp, #116] ; 0x74 + e164: f8ba 2010 ldrh.w r2, [sl, #16] + e168: 3a01 subs r2, #1 + e16a: 4413 add r3, r2 + e16c: f8ad 3074 strh.w r3, [sp, #116] ; 0x74 _lv_blend_fill(clip, &fill_area, color, NULL, LV_DRAW_MASK_RES_FULL_COVER, opa, blend_mode); - e718: 9602 str r6, [sp, #8] - e71a: 9401 str r4, [sp, #4] - e71c: 2701 movs r7, #1 - e71e: 9700 str r7, [sp, #0] - e720: 2300 movs r3, #0 - e722: f8bd 9014 ldrh.w r9, [sp, #20] - e726: 464a mov r2, r9 - e728: a91c add r1, sp, #112 ; 0x70 - e72a: f8dd 8010 ldr.w r8, [sp, #16] - e72e: 4640 mov r0, r8 - e730: 4d3a ldr r5, [pc, #232] ; (e81c ) - e732: 47a8 blx r5 + e170: 9602 str r6, [sp, #8] + e172: 9401 str r4, [sp, #4] + e174: 2701 movs r7, #1 + e176: 9700 str r7, [sp, #0] + e178: 2300 movs r3, #0 + e17a: f8bd 9014 ldrh.w r9, [sp, #20] + e17e: 464a mov r2, r9 + e180: a91c add r1, sp, #112 ; 0x70 + e182: f8dd 8010 ldr.w r8, [sp, #16] + e186: 4640 mov r0, r8 + e188: 4d3a ldr r5, [pc, #232] ; (e274 ) + e18a: 47a8 blx r5 fill_area.x1 = coords->x2 - dsc->border_width + 1; - e734: 9b06 ldr r3, [sp, #24] - e736: f9b3 2004 ldrsh.w r2, [r3, #4] - e73a: f8ba 3010 ldrh.w r3, [sl, #16] - e73e: 1afb subs r3, r7, r3 - e740: 4413 add r3, r2 - e742: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 + e18c: 9b06 ldr r3, [sp, #24] + e18e: f9b3 2004 ldrsh.w r2, [r3, #4] + e192: f8ba 3010 ldrh.w r3, [sl, #16] + e196: 1afb subs r3, r7, r3 + e198: 4413 add r3, r2 + e19a: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 fill_area.x2 = coords->x2; - e746: f8ad 2074 strh.w r2, [sp, #116] ; 0x74 + e19e: f8ad 2074 strh.w r2, [sp, #116] ; 0x74 _lv_blend_fill(clip, &fill_area, color, NULL, LV_DRAW_MASK_RES_FULL_COVER, opa, blend_mode); - e74a: 9602 str r6, [sp, #8] - e74c: 9401 str r4, [sp, #4] - e74e: 9700 str r7, [sp, #0] - e750: 2300 movs r3, #0 - e752: 464a mov r2, r9 - e754: a91c add r1, sp, #112 ; 0x70 - e756: 4640 mov r0, r8 - e758: 47a8 blx r5 + e1a2: 9602 str r6, [sp, #8] + e1a4: 9401 str r4, [sp, #4] + e1a6: 9700 str r7, [sp, #0] + e1a8: 2300 movs r3, #0 + e1aa: 464a mov r2, r9 + e1ac: a91c add r1, sp, #112 ; 0x70 + e1ae: 4640 mov r0, r8 + e1b0: 47a8 blx r5 lv_draw_mask_remove_id(mask_rin_id); - e75a: 980f ldr r0, [sp, #60] ; 0x3c - e75c: 4c30 ldr r4, [pc, #192] ; (e820 ) - e75e: 47a0 blx r4 + e1b2: 980f ldr r0, [sp, #60] ; 0x3c + e1b4: 4c30 ldr r4, [pc, #192] ; (e278 ) + e1b6: 47a0 blx r4 lv_draw_mask_remove_id(mask_rout_id); - e760: 980e ldr r0, [sp, #56] ; 0x38 - e762: 47a0 blx r4 + e1b8: 980e ldr r0, [sp, #56] ; 0x38 + e1ba: 47a0 blx r4 _lv_mem_buf_release(mask_buf); - e764: 4658 mov r0, fp - e766: 4b2f ldr r3, [pc, #188] ; (e824 ) - e768: 4798 blx r3 - e76a: f7ff b854 b.w d816 + e1bc: 4658 mov r0, fp + e1be: 4b2f ldr r3, [pc, #188] ; (e27c ) + e1c0: 4798 blx r3 + e1c2: f7ff b854 b.w d26e fill_area.x1 = coords->x1; - e76e: 9a06 ldr r2, [sp, #24] - e770: f9b2 1000 ldrsh.w r1, [r2] - e774: f8ad 1070 strh.w r1, [sp, #112] ; 0x70 + e1c6: 9a06 ldr r2, [sp, #24] + e1c8: f9b2 1000 ldrsh.w r1, [r2] + e1cc: f8ad 1070 strh.w r1, [sp, #112] ; 0x70 fill_area.x2 = coords->x2; - e778: f9b2 2004 ldrsh.w r2, [r2, #4] - e77c: f8ad 2074 strh.w r2, [sp, #116] ; 0x74 + e1d0: f9b2 2004 ldrsh.w r2, [r2, #4] + e1d4: f8ad 2074 strh.w r2, [sp, #116] ; 0x74 fill_area.y1 = disp_area->y1 + draw_area.y1; - e780: f9bd 0062 ldrsh.w r0, [sp, #98] ; 0x62 - e784: 8a6b ldrh r3, [r5, #18] - e786: 4403 add r3, r0 - e788: b21b sxth r3, r3 - e78a: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 + e1d8: f9bd 0062 ldrsh.w r0, [sp, #98] ; 0x62 + e1dc: 8a6b ldrh r3, [r5, #18] + e1de: 4403 add r3, r0 + e1e0: b21b sxth r3, r3 + e1e2: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 fill_area.y2 = fill_area.y1; - e78e: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 + e1e6: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 if(dsc->border_side == LV_BORDER_SIDE_LEFT) fill_area.x2 = coords->x1 + corner_size; - e792: f9ba 3012 ldrsh.w r3, [sl, #18] - e796: 2b04 cmp r3, #4 - e798: d029 beq.n e7ee + e1ea: f9ba 3012 ldrsh.w r3, [sl, #18] + e1ee: 2b04 cmp r3, #4 + e1f0: d029 beq.n e246 else if(dsc->border_side == LV_BORDER_SIDE_RIGHT) fill_area.x1 = coords->x2 - corner_size; - e79a: 2b08 cmp r3, #8 - e79c: d044 beq.n e828 + e1f2: 2b08 cmp r3, #8 + e1f4: d044 beq.n e280 volatile bool top_only = false; - e79e: 2200 movs r2, #0 - e7a0: f88d 204e strb.w r2, [sp, #78] ; 0x4e + e1f6: 2200 movs r2, #0 + e1f8: f88d 204e strb.w r2, [sp, #78] ; 0x4e volatile bool bottom_only = false; - e7a4: f88d 204f strb.w r2, [sp, #79] ; 0x4f + e1fc: f88d 204f strb.w r2, [sp, #79] ; 0x4f if(dsc->border_side == LV_BORDER_SIDE_TOP) top_only = true; - e7a8: 2b02 cmp r3, #2 - e7aa: d129 bne.n e800 - e7ac: 2301 movs r3, #1 - e7ae: f88d 304e strb.w r3, [sp, #78] ; 0x4e + e200: 2b02 cmp r3, #2 + e202: d129 bne.n e258 + e204: 2301 movs r3, #1 + e206: f88d 304e strb.w r3, [sp, #78] ; 0x4e volatile bool normal = !top_only && !bottom_only ? true : false; - e7b2: f89d 304e ldrb.w r3, [sp, #78] ; 0x4e - e7b6: b91b cbnz r3, e7c0 - e7b8: f89d 804f ldrb.w r8, [sp, #79] ; 0x4f - e7bc: f088 0801 eor.w r8, r8, #1 - e7c0: f008 0801 and.w r8, r8, #1 - e7c4: f88d 8050 strb.w r8, [sp, #80] ; 0x50 + e20a: f89d 304e ldrb.w r3, [sp, #78] ; 0x4e + e20e: b91b cbnz r3, e218 + e210: f89d 804f ldrb.w r8, [sp, #79] ; 0x4f + e214: f088 0801 eor.w r8, r8, #1 + e218: f008 0801 and.w r8, r8, #1 + e21c: f88d 8050 strb.w r8, [sp, #80] ; 0x50 for(h = draw_area.y1; h <= draw_area.y2; h++) { - e7c8: 4607 mov r7, r0 - e7ca: f9bd 3066 ldrsh.w r3, [sp, #102] ; 0x66 - e7ce: 4298 cmp r0, r3 - e7d0: dcc3 bgt.n e75a + e220: 4607 mov r7, r0 + e222: f9bd 3066 ldrsh.w r3, [sp, #102] ; 0x66 + e226: 4298 cmp r0, r3 + e228: dcc3 bgt.n e1b2 _lv_memset_ff(mask_buf, draw_area_w); - e7d2: f8df 8040 ldr.w r8, [pc, #64] ; e814 + e22a: f8df 8040 ldr.w r8, [pc, #64] ; e26c _lv_blend_fill(clip, &fill_area, color, mask_buf, mask_res, opa, blend_mode); - e7d6: f8df 9044 ldr.w r9, [pc, #68] ; e81c - e7da: 940a str r4, [sp, #40] ; 0x28 - e7dc: f8cd b01c str.w fp, [sp, #28] - e7e0: f8dd b018 ldr.w fp, [sp, #24] - e7e4: f8cd a02c str.w sl, [sp, #44] ; 0x2c - e7e8: f8dd a034 ldr.w sl, [sp, #52] ; 0x34 - e7ec: e04e b.n e88c + e22e: f8df 9044 ldr.w r9, [pc, #68] ; e274 + e232: 940a str r4, [sp, #40] ; 0x28 + e234: f8cd b01c str.w fp, [sp, #28] + e238: f8dd b018 ldr.w fp, [sp, #24] + e23c: f8cd a02c str.w sl, [sp, #44] ; 0x2c + e240: f8dd a034 ldr.w sl, [sp, #52] ; 0x34 + e244: e04e b.n e2e4 if(dsc->border_side == LV_BORDER_SIDE_LEFT) fill_area.x2 = coords->x1 + corner_size; - e7ee: 9a0d ldr r2, [sp, #52] ; 0x34 - e7f0: 4411 add r1, r2 - e7f2: f8ad 1074 strh.w r1, [sp, #116] ; 0x74 + e246: 9a0d ldr r2, [sp, #52] ; 0x34 + e248: 4411 add r1, r2 + e24a: f8ad 1074 strh.w r1, [sp, #116] ; 0x74 volatile bool top_only = false; - e7f6: 2200 movs r2, #0 - e7f8: f88d 204e strb.w r2, [sp, #78] ; 0x4e + e24e: 2200 movs r2, #0 + e250: f88d 204e strb.w r2, [sp, #78] ; 0x4e volatile bool bottom_only = false; - e7fc: f88d 204f strb.w r2, [sp, #79] ; 0x4f + e254: f88d 204f strb.w r2, [sp, #79] ; 0x4f if(dsc->border_side == LV_BORDER_SIDE_BOTTOM) bottom_only = true; - e800: 2b01 cmp r3, #1 - e802: d016 beq.n e832 + e258: 2b01 cmp r3, #1 + e25a: d016 beq.n e28a if(dsc->border_side == (LV_BORDER_SIDE_TOP | LV_BORDER_SIDE_BOTTOM)) { - e804: 2b03 cmp r3, #3 - e806: d1d4 bne.n e7b2 + e25c: 2b03 cmp r3, #3 + e25e: d1d4 bne.n e20a top_only = true; - e808: 2301 movs r3, #1 - e80a: f88d 304e strb.w r3, [sp, #78] ; 0x4e + e260: 2301 movs r3, #1 + e262: f88d 304e strb.w r3, [sp, #78] ; 0x4e bottom_only = true; - e80e: f88d 304f strb.w r3, [sp, #79] ; 0x4f - e812: e7ce b.n e7b2 - e814: 00013195 .word 0x00013195 - e818: 0000c3c5 .word 0x0000c3c5 - e81c: 00007cf9 .word 0x00007cf9 - e820: 0000c415 .word 0x0000c415 - e824: 00012b19 .word 0x00012b19 + e266: f88d 304f strb.w r3, [sp, #79] ; 0x4f + e26a: e7ce b.n e20a + e26c: 00012bed .word 0x00012bed + e270: 0000be1d .word 0x0000be1d + e274: 00007751 .word 0x00007751 + e278: 0000be6d .word 0x0000be6d + e27c: 00012571 .word 0x00012571 else if(dsc->border_side == LV_BORDER_SIDE_RIGHT) fill_area.x1 = coords->x2 - corner_size; - e828: 990d ldr r1, [sp, #52] ; 0x34 - e82a: 1a52 subs r2, r2, r1 - e82c: f8ad 2070 strh.w r2, [sp, #112] ; 0x70 - e830: e7e1 b.n e7f6 + e280: 990d ldr r1, [sp, #52] ; 0x34 + e282: 1a52 subs r2, r2, r1 + e284: f8ad 2070 strh.w r2, [sp, #112] ; 0x70 + e288: e7e1 b.n e24e if(dsc->border_side == LV_BORDER_SIDE_BOTTOM) bottom_only = true; - e832: f88d 304f strb.w r3, [sp, #79] ; 0x4f - e836: e7bc b.n e7b2 + e28a: f88d 304f strb.w r3, [sp, #79] ; 0x4f + e28e: e7bc b.n e20a _lv_memset_ff(mask_buf, draw_area_w); - e838: 9909 ldr r1, [sp, #36] ; 0x24 - e83a: 9c07 ldr r4, [sp, #28] - e83c: 4620 mov r0, r4 - e83e: 47c0 blx r8 + e290: 9909 ldr r1, [sp, #36] ; 0x24 + e292: 9c07 ldr r4, [sp, #28] + e294: 4620 mov r0, r4 + e296: 47c0 blx r8 mask_res = lv_draw_mask_apply(mask_buf, vdb->area.x1 + draw_area.x1, vdb->area.y1 + h, draw_area_w); - e840: 8a6a ldrh r2, [r5, #18] - e842: 443a add r2, r7 - e844: 8a29 ldrh r1, [r5, #16] - e846: f8bd 3060 ldrh.w r3, [sp, #96] ; 0x60 - e84a: 4419 add r1, r3 - e84c: 9b08 ldr r3, [sp, #32] - e84e: b212 sxth r2, r2 - e850: b209 sxth r1, r1 - e852: 9407 str r4, [sp, #28] - e854: 4620 mov r0, r4 - e856: 4c98 ldr r4, [pc, #608] ; (eab8 ) - e858: 47a0 blx r4 + e298: 8a6a ldrh r2, [r5, #18] + e29a: 443a add r2, r7 + e29c: 8a29 ldrh r1, [r5, #16] + e29e: f8bd 3060 ldrh.w r3, [sp, #96] ; 0x60 + e2a2: 4419 add r1, r3 + e2a4: 9b08 ldr r3, [sp, #32] + e2a6: b212 sxth r2, r2 + e2a8: b209 sxth r1, r1 + e2aa: 9407 str r4, [sp, #28] + e2ac: 4620 mov r0, r4 + e2ae: 4c98 ldr r4, [pc, #608] ; (e510 ) + e2b0: 47a0 blx r4 _lv_blend_fill(clip, &fill_area, color, mask_buf, mask_res, opa, blend_mode); - e85a: 9602 str r6, [sp, #8] - e85c: 9a0a ldr r2, [sp, #40] ; 0x28 - e85e: 9201 str r2, [sp, #4] - e860: 9000 str r0, [sp, #0] - e862: 9b07 ldr r3, [sp, #28] - e864: f8bd 2014 ldrh.w r2, [sp, #20] - e868: a91c add r1, sp, #112 ; 0x70 - e86a: 9804 ldr r0, [sp, #16] - e86c: 47c8 blx r9 + e2b2: 9602 str r6, [sp, #8] + e2b4: 9a0a ldr r2, [sp, #40] ; 0x28 + e2b6: 9201 str r2, [sp, #4] + e2b8: 9000 str r0, [sp, #0] + e2ba: 9b07 ldr r3, [sp, #28] + e2bc: f8bd 2014 ldrh.w r2, [sp, #20] + e2c0: a91c add r1, sp, #112 ; 0x70 + e2c2: 9804 ldr r0, [sp, #16] + e2c4: 47c8 blx r9 fill_area.y1++; - e86e: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72 - e872: 3301 adds r3, #1 - e874: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 + e2c6: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72 + e2ca: 3301 adds r3, #1 + e2cc: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 fill_area.y2++; - e878: f8bd 3076 ldrh.w r3, [sp, #118] ; 0x76 - e87c: 3301 adds r3, #1 - e87e: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 + e2d0: f8bd 3076 ldrh.w r3, [sp, #118] ; 0x76 + e2d4: 3301 adds r3, #1 + e2d6: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 for(h = draw_area.y1; h <= draw_area.y2; h++) { - e882: 3701 adds r7, #1 - e884: f9bd 3066 ldrsh.w r3, [sp, #102] ; 0x66 - e888: 429f cmp r7, r3 - e88a: dc1a bgt.n e8c2 + e2da: 3701 adds r7, #1 + e2dc: f9bd 3066 ldrsh.w r3, [sp, #102] ; 0x66 + e2e0: 429f cmp r7, r3 + e2e2: dc1a bgt.n e31a if(normal || - e88c: f89d 3050 ldrb.w r3, [sp, #80] ; 0x50 - e890: 2b00 cmp r3, #0 - e892: d1d1 bne.n e838 + e2e4: f89d 3050 ldrb.w r3, [sp, #80] ; 0x50 + e2e8: 2b00 cmp r3, #0 + e2ea: d1d1 bne.n e290 (top_only && fill_area.y1 <= coords->y1 + corner_size) || - e894: f89d 304e ldrb.w r3, [sp, #78] ; 0x4e + e2ec: f89d 304e ldrb.w r3, [sp, #78] ; 0x4e if(normal || - e898: b133 cbz r3, e8a8 + e2f0: b133 cbz r3, e300 (top_only && fill_area.y1 <= coords->y1 + corner_size) || - e89a: f9bd 2072 ldrsh.w r2, [sp, #114] ; 0x72 - e89e: f9bb 3002 ldrsh.w r3, [fp, #2] - e8a2: 4453 add r3, sl - e8a4: 429a cmp r2, r3 - e8a6: ddc7 ble.n e838 + e2f2: f9bd 2072 ldrsh.w r2, [sp, #114] ; 0x72 + e2f6: f9bb 3002 ldrsh.w r3, [fp, #2] + e2fa: 4453 add r3, sl + e2fc: 429a cmp r2, r3 + e2fe: ddc7 ble.n e290 (bottom_only && fill_area.y1 >= coords->y2 - corner_size)) { - e8a8: f89d 304f ldrb.w r3, [sp, #79] ; 0x4f + e300: f89d 304f ldrb.w r3, [sp, #79] ; 0x4f (top_only && fill_area.y1 <= coords->y1 + corner_size) || - e8ac: 2b00 cmp r3, #0 - e8ae: d0de beq.n e86e + e304: 2b00 cmp r3, #0 + e306: d0de beq.n e2c6 (bottom_only && fill_area.y1 >= coords->y2 - corner_size)) { - e8b0: f9bd 2072 ldrsh.w r2, [sp, #114] ; 0x72 - e8b4: f9bb 3006 ldrsh.w r3, [fp, #6] - e8b8: eba3 030a sub.w r3, r3, sl - e8bc: 429a cmp r2, r3 - e8be: dbd6 blt.n e86e - e8c0: e7ba b.n e838 - e8c2: f8dd b01c ldr.w fp, [sp, #28] - e8c6: f8dd a02c ldr.w sl, [sp, #44] ; 0x2c - e8ca: e746 b.n e75a + e308: f9bd 2072 ldrsh.w r2, [sp, #114] ; 0x72 + e30c: f9bb 3006 ldrsh.w r3, [fp, #6] + e310: eba3 030a sub.w r3, r3, sl + e314: 429a cmp r2, r3 + e316: dbd6 blt.n e2c6 + e318: e7ba b.n e290 + e31a: f8dd b01c ldr.w fp, [sp, #28] + e31e: f8dd a02c ldr.w sl, [sp, #44] ; 0x2c + e322: e746 b.n e1b2 lv_point_t s; _lv_txt_get_size(&s, dsc->value_str, dsc->value_font, dsc->value_letter_space, dsc->value_line_space, LV_COORD_MAX, - e8cc: f9ba 304c ldrsh.w r3, [sl, #76] ; 0x4c - e8d0: 2400 movs r4, #0 - e8d2: 9402 str r4, [sp, #8] - e8d4: f647 4218 movw r2, #31768 ; 0x7c18 - e8d8: 9201 str r2, [sp, #4] - e8da: f9ba 204e ldrsh.w r2, [sl, #78] ; 0x4e - e8de: 9200 str r2, [sp, #0] - e8e0: f8da 2040 ldr.w r2, [sl, #64] ; 0x40 - e8e4: a81c add r0, sp, #112 ; 0x70 - e8e6: 4d75 ldr r5, [pc, #468] ; (eabc ) - e8e8: 47a8 blx r5 + e324: f9ba 304c ldrsh.w r3, [sl, #76] ; 0x4c + e328: 2400 movs r4, #0 + e32a: 9402 str r4, [sp, #8] + e32c: f647 4218 movw r2, #31768 ; 0x7c18 + e330: 9201 str r2, [sp, #4] + e332: f9ba 204e ldrsh.w r2, [sl, #78] ; 0x4e + e336: 9200 str r2, [sp, #0] + e338: f8da 2040 ldr.w r2, [sl, #64] ; 0x40 + e33c: a81c add r0, sp, #112 ; 0x70 + e33e: 4d75 ldr r5, [pc, #468] ; (e514 ) + e340: 47a8 blx r5 LV_TXT_FLAG_NONE); lv_area_t value_area; value_area.x1 = 0; - e8ea: f8ad 4088 strh.w r4, [sp, #136] ; 0x88 + e342: f8ad 4088 strh.w r4, [sp, #136] ; 0x88 value_area.y1 = 0; - e8ee: f8ad 408a strh.w r4, [sp, #138] ; 0x8a + e346: f8ad 408a strh.w r4, [sp, #138] ; 0x8a value_area.x2 = s.x - 1; - e8f2: f8bd 3070 ldrh.w r3, [sp, #112] ; 0x70 - e8f6: 3b01 subs r3, #1 - e8f8: f8ad 308c strh.w r3, [sp, #140] ; 0x8c + e34a: f8bd 3070 ldrh.w r3, [sp, #112] ; 0x70 + e34e: 3b01 subs r3, #1 + e350: f8ad 308c strh.w r3, [sp, #140] ; 0x8c value_area.y2 = s.y - 1; - e8fc: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72 - e900: 3b01 subs r3, #1 - e902: f8ad 308e strh.w r3, [sp, #142] ; 0x8e + e354: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72 + e358: 3b01 subs r3, #1 + e35a: f8ad 308e strh.w r3, [sp, #142] ; 0x8e lv_point_t p_align; _lv_area_align(coords, &value_area, dsc->value_align, &p_align); - e906: ab1e add r3, sp, #120 ; 0x78 - e908: f89a 2050 ldrb.w r2, [sl, #80] ; 0x50 - e90c: a922 add r1, sp, #136 ; 0x88 - e90e: 9806 ldr r0, [sp, #24] - e910: 4d6b ldr r5, [pc, #428] ; (eac0 ) - e912: 47a8 blx r5 + e35e: ab1e add r3, sp, #120 ; 0x78 + e360: f89a 2050 ldrb.w r2, [sl, #80] ; 0x50 + e364: a922 add r1, sp, #136 ; 0x88 + e366: 9806 ldr r0, [sp, #24] + e368: 4d6b ldr r5, [pc, #428] ; (e518 ) + e36a: 47a8 blx r5 value_area.x1 += p_align.x + dsc->value_ofs_x; - e914: f8bd 2078 ldrh.w r2, [sp, #120] ; 0x78 - e918: f8ba 3048 ldrh.w r3, [sl, #72] ; 0x48 - e91c: 441a add r2, r3 - e91e: b292 uxth r2, r2 - e920: f8bd 3088 ldrh.w r3, [sp, #136] ; 0x88 - e924: 4413 add r3, r2 - e926: f8ad 3088 strh.w r3, [sp, #136] ; 0x88 + e36c: f8bd 2078 ldrh.w r2, [sp, #120] ; 0x78 + e370: f8ba 3048 ldrh.w r3, [sl, #72] ; 0x48 + e374: 441a add r2, r3 + e376: b292 uxth r2, r2 + e378: f8bd 3088 ldrh.w r3, [sp, #136] ; 0x88 + e37c: 4413 add r3, r2 + e37e: f8ad 3088 strh.w r3, [sp, #136] ; 0x88 value_area.y1 += p_align.y + dsc->value_ofs_y; - e92a: f8bd 307a ldrh.w r3, [sp, #122] ; 0x7a - e92e: f8ba 104a ldrh.w r1, [sl, #74] ; 0x4a - e932: 440b add r3, r1 - e934: b29b uxth r3, r3 - e936: f8bd 108a ldrh.w r1, [sp, #138] ; 0x8a - e93a: 4419 add r1, r3 - e93c: f8ad 108a strh.w r1, [sp, #138] ; 0x8a + e382: f8bd 307a ldrh.w r3, [sp, #122] ; 0x7a + e386: f8ba 104a ldrh.w r1, [sl, #74] ; 0x4a + e38a: 440b add r3, r1 + e38c: b29b uxth r3, r3 + e38e: f8bd 108a ldrh.w r1, [sp, #138] ; 0x8a + e392: 4419 add r1, r3 + e394: f8ad 108a strh.w r1, [sp, #138] ; 0x8a value_area.x2 += p_align.x + dsc->value_ofs_x; - e940: f8bd 108c ldrh.w r1, [sp, #140] ; 0x8c - e944: 440a add r2, r1 - e946: f8ad 208c strh.w r2, [sp, #140] ; 0x8c + e398: f8bd 108c ldrh.w r1, [sp, #140] ; 0x8c + e39c: 440a add r2, r1 + e39e: f8ad 208c strh.w r2, [sp, #140] ; 0x8c value_area.y2 += p_align.y + dsc->value_ofs_y; - e94a: f8bd 208e ldrh.w r2, [sp, #142] ; 0x8e - e94e: 4413 add r3, r2 - e950: f8ad 308e strh.w r3, [sp, #142] ; 0x8e + e3a2: f8bd 208e ldrh.w r2, [sp, #142] ; 0x8e + e3a6: 4413 add r3, r2 + e3a8: f8ad 308e strh.w r3, [sp, #142] ; 0x8e lv_draw_label_dsc_t label_dsc; lv_draw_label_dsc_init(&label_dsc); - e954: a829 add r0, sp, #164 ; 0xa4 - e956: 4b5b ldr r3, [pc, #364] ; (eac4 ) - e958: 4798 blx r3 + e3ac: a829 add r0, sp, #164 ; 0xa4 + e3ae: 4b5b ldr r3, [pc, #364] ; (e51c ) + e3b0: 4798 blx r3 label_dsc.font = dsc->value_font; - e95a: f8da 3040 ldr.w r3, [sl, #64] ; 0x40 - e95e: 932a str r3, [sp, #168] ; 0xa8 + e3b2: f8da 3040 ldr.w r3, [sl, #64] ; 0x40 + e3b6: 932a str r3, [sp, #168] ; 0xa8 label_dsc.letter_space = dsc->value_letter_space; - e960: f8ba 304c ldrh.w r3, [sl, #76] ; 0x4c - e964: f8ad 30b0 strh.w r3, [sp, #176] ; 0xb0 + e3b8: f8ba 304c ldrh.w r3, [sl, #76] ; 0x4c + e3bc: f8ad 30b0 strh.w r3, [sp, #176] ; 0xb0 label_dsc.line_space = dsc->value_line_space; - e968: f8ba 304e ldrh.w r3, [sl, #78] ; 0x4e - e96c: f8ad 30ae strh.w r3, [sp, #174] ; 0xae + e3c0: f8ba 304e ldrh.w r3, [sl, #78] ; 0x4e + e3c4: f8ad 30ae strh.w r3, [sp, #174] ; 0xae label_dsc.color = dsc->value_color; - e970: f8ba 3046 ldrh.w r3, [sl, #70] ; 0x46 - e974: f8ad 30a4 strh.w r3, [sp, #164] ; 0xa4 + e3c8: f8ba 3046 ldrh.w r3, [sl, #70] ; 0x46 + e3cc: f8ad 30a4 strh.w r3, [sp, #164] ; 0xa4 label_dsc.opa = dsc->value_opa; - e978: f89a 3044 ldrb.w r3, [sl, #68] ; 0x44 - e97c: f88d 30ac strb.w r3, [sp, #172] ; 0xac + e3d0: f89a 3044 ldrb.w r3, [sl, #68] ; 0x44 + e3d4: f88d 30ac strb.w r3, [sp, #172] ; 0xac lv_draw_label(&value_area, clip, &label_dsc, dsc->value_str, NULL); - e980: 9400 str r4, [sp, #0] - e982: f8da 303c ldr.w r3, [sl, #60] ; 0x3c - e986: aa29 add r2, sp, #164 ; 0xa4 - e988: 9904 ldr r1, [sp, #16] - e98a: a822 add r0, sp, #136 ; 0x88 - e98c: 4c4e ldr r4, [pc, #312] ; (eac8 ) - e98e: 47a0 blx r4 - e990: f7fe bf49 b.w d826 + e3d8: 9400 str r4, [sp, #0] + e3da: f8da 303c ldr.w r3, [sl, #60] ; 0x3c + e3de: aa29 add r2, sp, #164 ; 0xa4 + e3e0: 9904 ldr r1, [sp, #16] + e3e2: a822 add r0, sp, #136 ; 0x88 + e3e4: 4c4e ldr r4, [pc, #312] ; (e520 ) + e3e6: 47a0 blx r4 + e3e8: f7fe bf49 b.w d27e return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - e994: 1c72 adds r2, r6, #1 - e996: 9b06 ldr r3, [sp, #24] - e998: 1ad2 subs r2, r2, r3 + e3ec: 1c72 adds r2, r6, #1 + e3ee: 9b06 ldr r3, [sp, #24] + e3f0: 1ad2 subs r2, r2, r3 int32_t inner_w = lv_area_get_width(&area_inner); - e99a: b212 sxth r2, r2 + e3f2: b212 sxth r2, r2 return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - e99c: 1c6b adds r3, r5, #1 - e99e: 9907 ldr r1, [sp, #28] - e9a0: 1a5b subs r3, r3, r1 + e3f4: 1c6b adds r3, r5, #1 + e3f6: 9907 ldr r1, [sp, #28] + e3f8: 1a5b subs r3, r3, r1 int32_t inner_h = lv_area_get_height(&area_inner); - e9a2: b21b sxth r3, r3 + e3fa: b21b sxth r3, r3 int32_t short_side = LV_MATH_MIN(inner_w, inner_h); - e9a4: 429a cmp r2, r3 - e9a6: bfa8 it ge - e9a8: 461a movge r2, r3 + e3fc: 429a cmp r2, r3 + e3fe: bfa8 it ge + e400: 461a movge r2, r3 if(rin > short_side >> 1) rin = short_side >> 1; - e9aa: 1052 asrs r2, r2, #1 - e9ac: 9b08 ldr r3, [sp, #32] - e9ae: 429a cmp r2, r3 - e9b0: bfa8 it ge - e9b2: 461a movge r2, r3 + e402: 1052 asrs r2, r2, #1 + e404: 9b08 ldr r3, [sp, #32] + e406: 429a cmp r2, r3 + e408: bfa8 it ge + e40a: 461a movge r2, r3 int32_t rout = rin + dsc->outline_width; - e9b4: 9b05 ldr r3, [sp, #20] - e9b6: 4413 add r3, r2 + e40c: 9b05 ldr r3, [sp, #20] + e40e: 4413 add r3, r2 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - e9b8: 3701 adds r7, #1 - e9ba: 990a ldr r1, [sp, #40] ; 0x28 - e9bc: 1a79 subs r1, r7, r1 + e410: 3701 adds r7, #1 + e412: 990a ldr r1, [sp, #40] ; 0x28 + e414: 1a79 subs r1, r7, r1 int32_t coords_out_w = lv_area_get_width(&area_outer); - e9be: b208 sxth r0, r1 + e416: b208 sxth r0, r1 return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - e9c0: 1c61 adds r1, r4, #1 - e9c2: eba1 0108 sub.w r1, r1, r8 + e418: 1c61 adds r1, r4, #1 + e41a: eba1 0108 sub.w r1, r1, r8 int32_t coords_out_h = lv_area_get_height(&area_outer); - e9c6: b209 sxth r1, r1 + e41e: b209 sxth r1, r1 short_side = LV_MATH_MIN(coords_out_w, coords_out_h); - e9c8: 4281 cmp r1, r0 - e9ca: bfa8 it ge - e9cc: 4601 movge r1, r0 + e420: 4281 cmp r1, r0 + e422: bfa8 it ge + e424: 4601 movge r1, r0 if(rout > short_side >> 1) rout = short_side >> 1; - e9ce: 1049 asrs r1, r1, #1 - e9d0: 4299 cmp r1, r3 - e9d2: bfa8 it ge - e9d4: 4619 movge r1, r3 - e9d6: 460f mov r7, r1 - e9d8: 9106 str r1, [sp, #24] + e426: 1049 asrs r1, r1, #1 + e428: 4299 cmp r1, r3 + e42a: bfa8 it ge + e42c: 4619 movge r1, r3 + e42e: 460f mov r7, r1 + e430: 9106 str r1, [sp, #24] draw_area.x1 -= disp_area->x1; - e9da: f8b9 0010 ldrh.w r0, [r9, #16] - e9de: f8bd 3068 ldrh.w r3, [sp, #104] ; 0x68 - e9e2: 1a1b subs r3, r3, r0 - e9e4: b299 uxth r1, r3 - e9e6: f8ad 1068 strh.w r1, [sp, #104] ; 0x68 + e432: f8b9 0010 ldrh.w r0, [r9, #16] + e436: f8bd 3068 ldrh.w r3, [sp, #104] ; 0x68 + e43a: 1a1b subs r3, r3, r0 + e43c: b299 uxth r1, r3 + e43e: f8ad 1068 strh.w r1, [sp, #104] ; 0x68 draw_area.y1 -= disp_area->y1; - e9ea: f8b9 4012 ldrh.w r4, [r9, #18] - e9ee: f8bd 306a ldrh.w r3, [sp, #106] ; 0x6a - e9f2: 1b1b subs r3, r3, r4 - e9f4: f8ad 306a strh.w r3, [sp, #106] ; 0x6a + e442: f8b9 4012 ldrh.w r4, [r9, #18] + e446: f8bd 306a ldrh.w r3, [sp, #106] ; 0x6a + e44a: 1b1b subs r3, r3, r4 + e44c: f8ad 306a strh.w r3, [sp, #106] ; 0x6a draw_area.x2 -= disp_area->x1; - e9f8: f8bd 306c ldrh.w r3, [sp, #108] ; 0x6c - e9fc: 1a1b subs r3, r3, r0 - e9fe: b29b uxth r3, r3 - ea00: f8ad 306c strh.w r3, [sp, #108] ; 0x6c + e450: f8bd 306c ldrh.w r3, [sp, #108] ; 0x6c + e454: 1a1b subs r3, r3, r0 + e456: b29b uxth r3, r3 + e458: f8ad 306c strh.w r3, [sp, #108] ; 0x6c draw_area.y2 -= disp_area->y1; - ea04: f8bd 006e ldrh.w r0, [sp, #110] ; 0x6e - ea08: 1b00 subs r0, r0, r4 - ea0a: f8ad 006e strh.w r0, [sp, #110] ; 0x6e + e45c: f8bd 006e ldrh.w r0, [sp, #110] ; 0x6e + e460: 1b00 subs r0, r0, r4 + e462: f8ad 006e strh.w r0, [sp, #110] ; 0x6e return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - ea0e: 3301 adds r3, #1 - ea10: 1a5b subs r3, r3, r1 - ea12: b21b sxth r3, r3 - ea14: 461e mov r6, r3 - ea16: 9307 str r3, [sp, #28] + e466: 3301 adds r3, #1 + e468: 1a5b subs r3, r3, r1 + e46a: b21b sxth r3, r3 + e46c: 461e mov r6, r3 + e46e: 9307 str r3, [sp, #28] lv_draw_mask_radius_init(&mask_rin_param, &area_inner, rin, true); - ea18: 2301 movs r3, #1 - ea1a: a916 add r1, sp, #88 ; 0x58 - ea1c: a822 add r0, sp, #136 ; 0x88 - ea1e: 4d2b ldr r5, [pc, #172] ; (eacc ) - ea20: 47a8 blx r5 + e470: 2301 movs r3, #1 + e472: a916 add r1, sp, #88 ; 0x58 + e474: a822 add r0, sp, #136 ; 0x88 + e476: 4d2b ldr r5, [pc, #172] ; (e524 ) + e478: 47a8 blx r5 int16_t mask_rin_id = lv_draw_mask_add(&mask_rin_param, NULL); - ea22: 2100 movs r1, #0 - ea24: a822 add r0, sp, #136 ; 0x88 - ea26: 4c2a ldr r4, [pc, #168] ; (ead0 ) - ea28: 47a0 blx r4 - ea2a: 900c str r0, [sp, #48] ; 0x30 + e47a: 2100 movs r1, #0 + e47c: a822 add r0, sp, #136 ; 0x88 + e47e: 4c2a ldr r4, [pc, #168] ; (e528 ) + e480: 47a0 blx r4 + e482: 900c str r0, [sp, #48] ; 0x30 lv_draw_mask_radius_init(&mask_rout_param, &area_outer, rout, false); - ea2c: 2300 movs r3, #0 - ea2e: b23a sxth r2, r7 - ea30: a918 add r1, sp, #96 ; 0x60 - ea32: a829 add r0, sp, #164 ; 0xa4 - ea34: 47a8 blx r5 + e484: 2300 movs r3, #0 + e486: b23a sxth r2, r7 + e488: a918 add r1, sp, #96 ; 0x60 + e48a: a829 add r0, sp, #164 ; 0xa4 + e48c: 47a8 blx r5 int16_t mask_rout_id = lv_draw_mask_add(&mask_rout_param, NULL); - ea36: 2100 movs r1, #0 - ea38: a829 add r0, sp, #164 ; 0xa4 - ea3a: 47a0 blx r4 - ea3c: 900d str r0, [sp, #52] ; 0x34 + e48e: 2100 movs r1, #0 + e490: a829 add r0, sp, #164 ; 0xa4 + e492: 47a0 blx r4 + e494: 900d str r0, [sp, #52] ; 0x34 lv_opa_t * mask_buf = _lv_mem_buf_get(draw_area_w); - ea3e: 9608 str r6, [sp, #32] - ea40: 4630 mov r0, r6 - ea42: 4b24 ldr r3, [pc, #144] ; (ead4 ) - ea44: 4798 blx r3 - ea46: 900b str r0, [sp, #44] ; 0x2c + e496: 9608 str r6, [sp, #32] + e498: 4630 mov r0, r6 + e49a: 4b24 ldr r3, [pc, #144] ; (e52c ) + e49c: 4798 blx r3 + e49e: 900b str r0, [sp, #44] ; 0x2c int32_t corner_size = LV_MATH_MAX(rout, dsc->outline_width - 1); - ea48: f9ba 3018 ldrsh.w r3, [sl, #24] + e4a0: f9ba 3018 ldrsh.w r3, [sl, #24] lv_color_t color = dsc->outline_color; - ea4c: f8ba 2016 ldrh.w r2, [sl, #22] - ea50: f8ad 2014 strh.w r2, [sp, #20] + e4a4: f8ba 2016 ldrh.w r2, [sl, #22] + e4a8: f8ad 2014 strh.w r2, [sp, #20] lv_blend_mode_t blend_mode = dsc->outline_blend_mode; - ea54: f89a 501d ldrb.w r5, [sl, #29] + e4ac: f89a 501d ldrb.w r5, [sl, #29] if(simple_mode) { - ea58: 9a09 ldr r2, [sp, #36] ; 0x24 - ea5a: 2a00 cmp r2, #0 - ea5c: f040 81a6 bne.w edac + e4b0: 9a09 ldr r2, [sp, #36] ; 0x24 + e4b2: 2a00 cmp r2, #0 + e4b4: f040 81a6 bne.w e804 int32_t corner_size = LV_MATH_MAX(rout, dsc->outline_width - 1); - ea60: 3b01 subs r3, #1 - ea62: 42bb cmp r3, r7 - ea64: bfb8 it lt - ea66: 463b movlt r3, r7 - ea68: 4619 mov r1, r3 - ea6a: 930e str r3, [sp, #56] ; 0x38 + e4b8: 3b01 subs r3, #1 + e4ba: 42bb cmp r3, r7 + e4bc: bfb8 it lt + e4be: 463b movlt r3, r7 + e4c0: 4619 mov r1, r3 + e4c2: 930e str r3, [sp, #56] ; 0x38 int32_t upper_corner_end = area_outer.y1 - disp_area->y1 + corner_size; - ea6c: f9b9 3012 ldrsh.w r3, [r9, #18] - ea70: f9bd 2062 ldrsh.w r2, [sp, #98] ; 0x62 - ea74: 1ad2 subs r2, r2, r3 - ea76: 440a add r2, r1 - ea78: 4611 mov r1, r2 - ea7a: 9209 str r2, [sp, #36] ; 0x24 + e4c4: f9b9 3012 ldrsh.w r3, [r9, #18] + e4c8: f9bd 2062 ldrsh.w r2, [sp, #98] ; 0x62 + e4cc: 1ad2 subs r2, r2, r3 + e4ce: 440a add r2, r1 + e4d0: 4611 mov r1, r2 + e4d2: 9209 str r2, [sp, #36] ; 0x24 fill_area.x1 = area_outer.x1; - ea7c: f8bd 2060 ldrh.w r2, [sp, #96] ; 0x60 - ea80: f8ad 2070 strh.w r2, [sp, #112] ; 0x70 + e4d4: f8bd 2060 ldrh.w r2, [sp, #96] ; 0x60 + e4d8: f8ad 2070 strh.w r2, [sp, #112] ; 0x70 fill_area.x2 = area_outer.x2; - ea84: f8bd 2064 ldrh.w r2, [sp, #100] ; 0x64 - ea88: f8ad 2074 strh.w r2, [sp, #116] ; 0x74 + e4dc: f8bd 2064 ldrh.w r2, [sp, #100] ; 0x64 + e4e0: f8ad 2074 strh.w r2, [sp, #116] ; 0x74 fill_area.y1 = disp_area->y1 + draw_area.y1; - ea8c: f9bd 206a ldrsh.w r2, [sp, #106] ; 0x6a - ea90: 4413 add r3, r2 - ea92: b21b sxth r3, r3 - ea94: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 + e4e4: f9bd 206a ldrsh.w r2, [sp, #106] ; 0x6a + e4e8: 4413 add r3, r2 + e4ea: b21b sxth r3, r3 + e4ec: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 fill_area.y2 = fill_area.y1; - ea98: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 + e4f0: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 for(h = draw_area.y1; h <= upper_corner_end; h++) { - ea9c: 4616 mov r6, r2 - ea9e: 4291 cmp r1, r2 - eaa0: f2c0 809d blt.w ebde + e4f4: 4616 mov r6, r2 + e4f6: 4291 cmp r1, r2 + e4f8: f2c0 809d blt.w e636 _lv_blend_fill(clip, &fill_area2, color, mask_buf, mask_res, opa, blend_mode); - eaa4: f8df 8030 ldr.w r8, [pc, #48] ; ead8 - eaa8: 462b mov r3, r5 - eaaa: 465d mov r5, fp - eaac: f8cd a028 str.w sl, [sp, #40] ; 0x28 - eab0: 4682 mov sl, r0 - eab2: 469b mov fp, r3 - eab4: e03f b.n eb36 - eab6: bf00 nop - eab8: 0000c3c5 .word 0x0000c3c5 - eabc: 00014625 .word 0x00014625 - eac0: 00011dcd .word 0x00011dcd - eac4: 00009f75 .word 0x00009f75 - eac8: 00009fcd .word 0x00009fcd - eacc: 0000c5d5 .word 0x0000c5d5 - ead0: 0000c369 .word 0x0000c369 - ead4: 00012ee5 .word 0x00012ee5 - ead8: 00007cf9 .word 0x00007cf9 + e4fc: f8df 8030 ldr.w r8, [pc, #48] ; e530 + e500: 462b mov r3, r5 + e502: 465d mov r5, fp + e504: f8cd a028 str.w sl, [sp, #40] ; 0x28 + e508: 4682 mov sl, r0 + e50a: 469b mov fp, r3 + e50c: e03f b.n e58e + e50e: bf00 nop + e510: 0000be1d .word 0x0000be1d + e514: 0001407d .word 0x0001407d + e518: 00011825 .word 0x00011825 + e51c: 000099cd .word 0x000099cd + e520: 00009a25 .word 0x00009a25 + e524: 0000c02d .word 0x0000c02d + e528: 0000bdc1 .word 0x0000bdc1 + e52c: 0001293d .word 0x0001293d + e530: 00007751 .word 0x00007751 fill_area2.x1 = area_outer.x2 - rout + 1; - eadc: f9bd 3064 ldrsh.w r3, [sp, #100] ; 0x64 - eae0: 1c5a adds r2, r3, #1 - eae2: 1b14 subs r4, r2, r4 - eae4: f8ad 4078 strh.w r4, [sp, #120] ; 0x78 + e534: f9bd 3064 ldrsh.w r3, [sp, #100] ; 0x64 + e538: 1c5a adds r2, r3, #1 + e53a: 1b14 subs r4, r2, r4 + e53c: f8ad 4078 strh.w r4, [sp, #120] ; 0x78 fill_area2.x2 = area_outer.x2; - eae8: f8ad 307c strh.w r3, [sp, #124] ; 0x7c + e540: f8ad 307c strh.w r3, [sp, #124] ; 0x7c int32_t mask_ofs = (area_outer.x2 - rout + 1) - (vdb->area.x1 + draw_area.x1); - eaec: 9a06 ldr r2, [sp, #24] - eaee: 1a9b subs r3, r3, r2 - eaf0: 3301 adds r3, #1 - eaf2: f9b9 2010 ldrsh.w r2, [r9, #16] - eaf6: f9bd 1068 ldrsh.w r1, [sp, #104] ; 0x68 - eafa: 440a add r2, r1 - eafc: 1a9b subs r3, r3, r2 + e544: 9a06 ldr r2, [sp, #24] + e546: 1a9b subs r3, r3, r2 + e548: 3301 adds r3, #1 + e54a: f9b9 2010 ldrsh.w r2, [r9, #16] + e54e: f9bd 1068 ldrsh.w r1, [sp, #104] ; 0x68 + e552: 440a add r2, r1 + e554: 1a9b subs r3, r3, r2 _lv_blend_fill(clip, &fill_area2, color, mask_buf + mask_ofs, mask_res, opa, blend_mode); - eafe: f8cd b008 str.w fp, [sp, #8] - eb02: 9501 str r5, [sp, #4] - eb04: 9700 str r7, [sp, #0] - eb06: 2b00 cmp r3, #0 - eb08: bfac ite ge - eb0a: 4453 addge r3, sl - eb0c: f10a 0300 addlt.w r3, sl, #0 - eb10: f8bd 2014 ldrh.w r2, [sp, #20] - eb14: a91e add r1, sp, #120 ; 0x78 - eb16: 9804 ldr r0, [sp, #16] - eb18: 47c0 blx r8 + e556: f8cd b008 str.w fp, [sp, #8] + e55a: 9501 str r5, [sp, #4] + e55c: 9700 str r7, [sp, #0] + e55e: 2b00 cmp r3, #0 + e560: bfac ite ge + e562: 4453 addge r3, sl + e564: f10a 0300 addlt.w r3, sl, #0 + e568: f8bd 2014 ldrh.w r2, [sp, #20] + e56c: a91e add r1, sp, #120 ; 0x78 + e56e: 9804 ldr r0, [sp, #16] + e570: 47c0 blx r8 fill_area.y1++; - eb1a: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72 - eb1e: 3301 adds r3, #1 - eb20: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 + e572: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72 + e576: 3301 adds r3, #1 + e578: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 fill_area.y2++; - eb24: f8bd 3076 ldrh.w r3, [sp, #118] ; 0x76 - eb28: 3301 adds r3, #1 - eb2a: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 + e57c: f8bd 3076 ldrh.w r3, [sp, #118] ; 0x76 + e580: 3301 adds r3, #1 + e582: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 for(h = draw_area.y1; h <= upper_corner_end; h++) { - eb2e: 3601 adds r6, #1 - eb30: 9b09 ldr r3, [sp, #36] ; 0x24 - eb32: 42b3 cmp r3, r6 - eb34: db4e blt.n ebd4 + e586: 3601 adds r6, #1 + e588: 9b09 ldr r3, [sp, #36] ; 0x24 + e58a: 42b3 cmp r3, r6 + e58c: db4e blt.n e62c _lv_memset_ff(mask_buf, draw_area_w); - eb36: 9908 ldr r1, [sp, #32] - eb38: 4650 mov r0, sl - eb3a: 4bcc ldr r3, [pc, #816] ; (ee6c ) - eb3c: 4798 blx r3 + e58e: 9908 ldr r1, [sp, #32] + e590: 4650 mov r0, sl + e592: 4bcc ldr r3, [pc, #816] ; (e8c4 ) + e594: 4798 blx r3 mask_res = lv_draw_mask_apply(mask_buf, vdb->area.x1 + draw_area.x1, vdb->area.y1 + h, draw_area_w); - eb3e: f8b9 2012 ldrh.w r2, [r9, #18] - eb42: 4432 add r2, r6 - eb44: f8b9 1010 ldrh.w r1, [r9, #16] - eb48: f8bd 3068 ldrh.w r3, [sp, #104] ; 0x68 - eb4c: 4419 add r1, r3 - eb4e: 9b07 ldr r3, [sp, #28] - eb50: b212 sxth r2, r2 - eb52: b209 sxth r1, r1 - eb54: 4650 mov r0, sl - eb56: 4cc6 ldr r4, [pc, #792] ; (ee70 ) - eb58: 47a0 blx r4 - eb5a: 4607 mov r7, r0 + e596: f8b9 2012 ldrh.w r2, [r9, #18] + e59a: 4432 add r2, r6 + e59c: f8b9 1010 ldrh.w r1, [r9, #16] + e5a0: f8bd 3068 ldrh.w r3, [sp, #104] ; 0x68 + e5a4: 4419 add r1, r3 + e5a6: 9b07 ldr r3, [sp, #28] + e5a8: b212 sxth r2, r2 + e5aa: b209 sxth r1, r1 + e5ac: 4650 mov r0, sl + e5ae: 4cc6 ldr r4, [pc, #792] ; (e8c8 ) + e5b0: 47a0 blx r4 + e5b2: 4607 mov r7, r0 fill_area2.y1 = fill_area.y1; - eb5c: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72 - eb60: f8ad 307a strh.w r3, [sp, #122] ; 0x7a + e5b4: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72 + e5b8: f8ad 307a strh.w r3, [sp, #122] ; 0x7a fill_area2.y2 = fill_area.y2; - eb64: f8bd 3076 ldrh.w r3, [sp, #118] ; 0x76 - eb68: f8ad 307e strh.w r3, [sp, #126] ; 0x7e + e5bc: f8bd 3076 ldrh.w r3, [sp, #118] ; 0x76 + e5c0: f8ad 307e strh.w r3, [sp, #126] ; 0x7e fill_area2.x1 = area_outer.x1; - eb6c: f9bd 3060 ldrsh.w r3, [sp, #96] ; 0x60 - eb70: f8ad 3078 strh.w r3, [sp, #120] ; 0x78 + e5c4: f9bd 3060 ldrsh.w r3, [sp, #96] ; 0x60 + e5c8: f8ad 3078 strh.w r3, [sp, #120] ; 0x78 fill_area2.x2 = area_outer.x1 + rout - 1; - eb74: f8bd 4018 ldrh.w r4, [sp, #24] - eb78: 3b01 subs r3, #1 - eb7a: 4423 add r3, r4 - eb7c: f8ad 307c strh.w r3, [sp, #124] ; 0x7c + e5cc: f8bd 4018 ldrh.w r4, [sp, #24] + e5d0: 3b01 subs r3, #1 + e5d2: 4423 add r3, r4 + e5d4: f8ad 307c strh.w r3, [sp, #124] ; 0x7c _lv_blend_fill(clip, &fill_area2, color, mask_buf, mask_res, opa, blend_mode); - eb80: f8cd b008 str.w fp, [sp, #8] - eb84: 9501 str r5, [sp, #4] - eb86: 9000 str r0, [sp, #0] - eb88: 4653 mov r3, sl - eb8a: f8bd 2014 ldrh.w r2, [sp, #20] - eb8e: a91e add r1, sp, #120 ; 0x78 - eb90: 9804 ldr r0, [sp, #16] - eb92: 47c0 blx r8 + e5d8: f8cd b008 str.w fp, [sp, #8] + e5dc: 9501 str r5, [sp, #4] + e5de: 9000 str r0, [sp, #0] + e5e0: 4653 mov r3, sl + e5e2: f8bd 2014 ldrh.w r2, [sp, #20] + e5e6: a91e add r1, sp, #120 ; 0x78 + e5e8: 9804 ldr r0, [sp, #16] + e5ea: 47c0 blx r8 if(fill_area2.y2 < area_outer.y1 + dsc->outline_width) { - eb94: f9bd 207e ldrsh.w r2, [sp, #126] ; 0x7e - eb98: f9bd 3062 ldrsh.w r3, [sp, #98] ; 0x62 - eb9c: 990a ldr r1, [sp, #40] ; 0x28 - eb9e: f9b1 1018 ldrsh.w r1, [r1, #24] - eba2: 440b add r3, r1 - eba4: 429a cmp r2, r3 - eba6: da99 bge.n eadc + e5ec: f9bd 207e ldrsh.w r2, [sp, #126] ; 0x7e + e5f0: f9bd 3062 ldrsh.w r3, [sp, #98] ; 0x62 + e5f4: 990a ldr r1, [sp, #40] ; 0x28 + e5f6: f9b1 1018 ldrsh.w r1, [r1, #24] + e5fa: 440b add r3, r1 + e5fc: 429a cmp r2, r3 + e5fe: da99 bge.n e534 fill_area2.x1 = area_outer.x1 + rout; - eba8: f8bd 3060 ldrh.w r3, [sp, #96] ; 0x60 - ebac: 4423 add r3, r4 - ebae: f8ad 3078 strh.w r3, [sp, #120] ; 0x78 + e600: f8bd 3060 ldrh.w r3, [sp, #96] ; 0x60 + e604: 4423 add r3, r4 + e606: f8ad 3078 strh.w r3, [sp, #120] ; 0x78 fill_area2.x2 = area_outer.x2 - rout; - ebb2: f8bd 3064 ldrh.w r3, [sp, #100] ; 0x64 - ebb6: 1b1b subs r3, r3, r4 - ebb8: f8ad 307c strh.w r3, [sp, #124] ; 0x7c + e60a: f8bd 3064 ldrh.w r3, [sp, #100] ; 0x64 + e60e: 1b1b subs r3, r3, r4 + e610: f8ad 307c strh.w r3, [sp, #124] ; 0x7c _lv_blend_fill(clip, &fill_area2, color, NULL, LV_DRAW_MASK_RES_FULL_COVER, opa, blend_mode); - ebbc: f8cd b008 str.w fp, [sp, #8] - ebc0: 9501 str r5, [sp, #4] - ebc2: 2301 movs r3, #1 - ebc4: 9300 str r3, [sp, #0] - ebc6: 2300 movs r3, #0 - ebc8: f8bd 2014 ldrh.w r2, [sp, #20] - ebcc: a91e add r1, sp, #120 ; 0x78 - ebce: 9804 ldr r0, [sp, #16] - ebd0: 47c0 blx r8 - ebd2: e783 b.n eadc - ebd4: 465b mov r3, fp - ebd6: 46ab mov fp, r5 - ebd8: f8dd a028 ldr.w sl, [sp, #40] ; 0x28 - ebdc: 461d mov r5, r3 + e614: f8cd b008 str.w fp, [sp, #8] + e618: 9501 str r5, [sp, #4] + e61a: 2301 movs r3, #1 + e61c: 9300 str r3, [sp, #0] + e61e: 2300 movs r3, #0 + e620: f8bd 2014 ldrh.w r2, [sp, #20] + e624: a91e add r1, sp, #120 ; 0x78 + e626: 9804 ldr r0, [sp, #16] + e628: 47c0 blx r8 + e62a: e783 b.n e534 + e62c: 465b mov r3, fp + e62e: 46ab mov fp, r5 + e630: f8dd a028 ldr.w sl, [sp, #40] ; 0x28 + e634: 461d mov r5, r3 int32_t lower_corner_end = area_outer.y2 - disp_area->y1 - corner_size; - ebde: f9b9 3012 ldrsh.w r3, [r9, #18] - ebe2: f9bd 6066 ldrsh.w r6, [sp, #102] ; 0x66 - ebe6: 1af6 subs r6, r6, r3 - ebe8: 9a0e ldr r2, [sp, #56] ; 0x38 - ebea: 1ab6 subs r6, r6, r2 + e636: f9b9 3012 ldrsh.w r3, [r9, #18] + e63a: f9bd 6066 ldrsh.w r6, [sp, #102] ; 0x66 + e63e: 1af6 subs r6, r6, r3 + e640: 9a0e ldr r2, [sp, #56] ; 0x38 + e642: 1ab6 subs r6, r6, r2 if(lower_corner_end <= upper_corner_end) lower_corner_end = upper_corner_end + 1; - ebec: 9909 ldr r1, [sp, #36] ; 0x24 - ebee: 460a mov r2, r1 - ebf0: 42b1 cmp r1, r6 - ebf2: bfa4 itt ge - ebf4: 3201 addge r2, #1 - ebf6: 4616 movge r6, r2 + e644: 9909 ldr r1, [sp, #36] ; 0x24 + e646: 460a mov r2, r1 + e648: 42b1 cmp r1, r6 + e64a: bfa4 itt ge + e64c: 3201 addge r2, #1 + e64e: 4616 movge r6, r2 fill_area.y1 = disp_area->y1 + lower_corner_end; - ebf8: 4433 add r3, r6 - ebfa: b21b sxth r3, r3 - ebfc: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 + e650: 4433 add r3, r6 + e652: b21b sxth r3, r3 + e654: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 fill_area.y2 = fill_area.y1; - ec00: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 + e658: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 for(h = lower_corner_end; h <= draw_area.y2; h++) { - ec04: f9bd 306e ldrsh.w r3, [sp, #110] ; 0x6e - ec08: 429e cmp r6, r3 - ec0a: f300 808c bgt.w ed26 + e65c: f9bd 306e ldrsh.w r3, [sp, #110] ; 0x6e + e660: 429e cmp r6, r3 + e662: f300 808c bgt.w e77e _lv_blend_fill(clip, &fill_area2, color, mask_buf, mask_res, opa, blend_mode); - ec0e: f8df 8264 ldr.w r8, [pc, #612] ; ee74 - ec12: 462b mov r3, r5 - ec14: 465d mov r5, fp - ec16: f8cd a024 str.w sl, [sp, #36] ; 0x24 - ec1a: f8dd a02c ldr.w sl, [sp, #44] ; 0x2c - ec1e: 469b mov fp, r3 - ec20: e02d b.n ec7e + e666: f8df 8264 ldr.w r8, [pc, #612] ; e8cc + e66a: 462b mov r3, r5 + e66c: 465d mov r5, fp + e66e: f8cd a024 str.w sl, [sp, #36] ; 0x24 + e672: f8dd a02c ldr.w sl, [sp, #44] ; 0x2c + e676: 469b mov fp, r3 + e678: e02d b.n e6d6 fill_area2.x1 = area_outer.x2 - rout + 1; - ec22: f9bd 3064 ldrsh.w r3, [sp, #100] ; 0x64 - ec26: 1c5a adds r2, r3, #1 - ec28: 1b14 subs r4, r2, r4 - ec2a: f8ad 4078 strh.w r4, [sp, #120] ; 0x78 + e67a: f9bd 3064 ldrsh.w r3, [sp, #100] ; 0x64 + e67e: 1c5a adds r2, r3, #1 + e680: 1b14 subs r4, r2, r4 + e682: f8ad 4078 strh.w r4, [sp, #120] ; 0x78 fill_area2.x2 = area_outer.x2; - ec2e: f8ad 307c strh.w r3, [sp, #124] ; 0x7c + e686: f8ad 307c strh.w r3, [sp, #124] ; 0x7c int32_t mask_ofs = (area_outer.x2 - rout + 1) - (vdb->area.x1 + draw_area.x1); - ec32: 9a06 ldr r2, [sp, #24] - ec34: 1a9b subs r3, r3, r2 - ec36: 3301 adds r3, #1 - ec38: f9b9 2010 ldrsh.w r2, [r9, #16] - ec3c: f9bd 1068 ldrsh.w r1, [sp, #104] ; 0x68 - ec40: 440a add r2, r1 - ec42: 1a9b subs r3, r3, r2 + e68a: 9a06 ldr r2, [sp, #24] + e68c: 1a9b subs r3, r3, r2 + e68e: 3301 adds r3, #1 + e690: f9b9 2010 ldrsh.w r2, [r9, #16] + e694: f9bd 1068 ldrsh.w r1, [sp, #104] ; 0x68 + e698: 440a add r2, r1 + e69a: 1a9b subs r3, r3, r2 _lv_blend_fill(clip, &fill_area2, color, mask_buf + mask_ofs, mask_res, opa, blend_mode); - ec44: f8cd b008 str.w fp, [sp, #8] - ec48: 9501 str r5, [sp, #4] - ec4a: 9700 str r7, [sp, #0] - ec4c: 2b00 cmp r3, #0 - ec4e: bfac ite ge - ec50: 4453 addge r3, sl - ec52: f10a 0300 addlt.w r3, sl, #0 - ec56: f8bd 2014 ldrh.w r2, [sp, #20] - ec5a: a91e add r1, sp, #120 ; 0x78 - ec5c: 9804 ldr r0, [sp, #16] - ec5e: 47c0 blx r8 + e69c: f8cd b008 str.w fp, [sp, #8] + e6a0: 9501 str r5, [sp, #4] + e6a2: 9700 str r7, [sp, #0] + e6a4: 2b00 cmp r3, #0 + e6a6: bfac ite ge + e6a8: 4453 addge r3, sl + e6aa: f10a 0300 addlt.w r3, sl, #0 + e6ae: f8bd 2014 ldrh.w r2, [sp, #20] + e6b2: a91e add r1, sp, #120 ; 0x78 + e6b4: 9804 ldr r0, [sp, #16] + e6b6: 47c0 blx r8 fill_area.y1++; - ec60: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72 - ec64: 3301 adds r3, #1 - ec66: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 + e6b8: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72 + e6bc: 3301 adds r3, #1 + e6be: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 fill_area.y2++; - ec6a: f8bd 3076 ldrh.w r3, [sp, #118] ; 0x76 - ec6e: 3301 adds r3, #1 - ec70: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 + e6c2: f8bd 3076 ldrh.w r3, [sp, #118] ; 0x76 + e6c6: 3301 adds r3, #1 + e6c8: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 for(h = lower_corner_end; h <= draw_area.y2; h++) { - ec74: 3601 adds r6, #1 - ec76: f9bd 306e ldrsh.w r3, [sp, #110] ; 0x6e - ec7a: 429e cmp r6, r3 - ec7c: dc4e bgt.n ed1c + e6cc: 3601 adds r6, #1 + e6ce: f9bd 306e ldrsh.w r3, [sp, #110] ; 0x6e + e6d2: 429e cmp r6, r3 + e6d4: dc4e bgt.n e774 _lv_memset_ff(mask_buf, draw_area_w); - ec7e: 9908 ldr r1, [sp, #32] - ec80: 4650 mov r0, sl - ec82: 4b7a ldr r3, [pc, #488] ; (ee6c ) - ec84: 4798 blx r3 + e6d6: 9908 ldr r1, [sp, #32] + e6d8: 4650 mov r0, sl + e6da: 4b7a ldr r3, [pc, #488] ; (e8c4 ) + e6dc: 4798 blx r3 mask_res = lv_draw_mask_apply(mask_buf, vdb->area.x1 + draw_area.x1, vdb->area.y1 + h, draw_area_w); - ec86: f8b9 2012 ldrh.w r2, [r9, #18] - ec8a: 4432 add r2, r6 - ec8c: f8b9 1010 ldrh.w r1, [r9, #16] - ec90: f8bd 3068 ldrh.w r3, [sp, #104] ; 0x68 - ec94: 4419 add r1, r3 - ec96: 9b07 ldr r3, [sp, #28] - ec98: b212 sxth r2, r2 - ec9a: b209 sxth r1, r1 - ec9c: 4650 mov r0, sl - ec9e: 4c74 ldr r4, [pc, #464] ; (ee70 ) - eca0: 47a0 blx r4 - eca2: 4607 mov r7, r0 + e6de: f8b9 2012 ldrh.w r2, [r9, #18] + e6e2: 4432 add r2, r6 + e6e4: f8b9 1010 ldrh.w r1, [r9, #16] + e6e8: f8bd 3068 ldrh.w r3, [sp, #104] ; 0x68 + e6ec: 4419 add r1, r3 + e6ee: 9b07 ldr r3, [sp, #28] + e6f0: b212 sxth r2, r2 + e6f2: b209 sxth r1, r1 + e6f4: 4650 mov r0, sl + e6f6: 4c74 ldr r4, [pc, #464] ; (e8c8 ) + e6f8: 47a0 blx r4 + e6fa: 4607 mov r7, r0 fill_area2.x1 = area_outer.x1; - eca4: f9bd 3060 ldrsh.w r3, [sp, #96] ; 0x60 - eca8: f8ad 3078 strh.w r3, [sp, #120] ; 0x78 + e6fc: f9bd 3060 ldrsh.w r3, [sp, #96] ; 0x60 + e700: f8ad 3078 strh.w r3, [sp, #120] ; 0x78 fill_area2.x2 = area_outer.x1 + rout - 1; - ecac: f8bd 4018 ldrh.w r4, [sp, #24] - ecb0: 3b01 subs r3, #1 - ecb2: 4423 add r3, r4 - ecb4: f8ad 307c strh.w r3, [sp, #124] ; 0x7c + e704: f8bd 4018 ldrh.w r4, [sp, #24] + e708: 3b01 subs r3, #1 + e70a: 4423 add r3, r4 + e70c: f8ad 307c strh.w r3, [sp, #124] ; 0x7c fill_area2.y1 = fill_area.y1; - ecb8: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72 - ecbc: f8ad 307a strh.w r3, [sp, #122] ; 0x7a + e710: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72 + e714: f8ad 307a strh.w r3, [sp, #122] ; 0x7a fill_area2.y2 = fill_area.y2; - ecc0: f8bd 3076 ldrh.w r3, [sp, #118] ; 0x76 - ecc4: f8ad 307e strh.w r3, [sp, #126] ; 0x7e + e718: f8bd 3076 ldrh.w r3, [sp, #118] ; 0x76 + e71c: f8ad 307e strh.w r3, [sp, #126] ; 0x7e _lv_blend_fill(clip, &fill_area2, color, mask_buf, mask_res, opa, blend_mode); - ecc8: f8cd b008 str.w fp, [sp, #8] - eccc: 9501 str r5, [sp, #4] - ecce: 9000 str r0, [sp, #0] - ecd0: 4653 mov r3, sl - ecd2: f8bd 2014 ldrh.w r2, [sp, #20] - ecd6: a91e add r1, sp, #120 ; 0x78 - ecd8: 9804 ldr r0, [sp, #16] - ecda: 47c0 blx r8 + e720: f8cd b008 str.w fp, [sp, #8] + e724: 9501 str r5, [sp, #4] + e726: 9000 str r0, [sp, #0] + e728: 4653 mov r3, sl + e72a: f8bd 2014 ldrh.w r2, [sp, #20] + e72e: a91e add r1, sp, #120 ; 0x78 + e730: 9804 ldr r0, [sp, #16] + e732: 47c0 blx r8 if(fill_area2.y2 > area_outer.y2 - dsc->outline_width) { - ecdc: f9bd 207e ldrsh.w r2, [sp, #126] ; 0x7e - ece0: f9bd 3066 ldrsh.w r3, [sp, #102] ; 0x66 - ece4: 9909 ldr r1, [sp, #36] ; 0x24 - ece6: f9b1 1018 ldrsh.w r1, [r1, #24] - ecea: 1a5b subs r3, r3, r1 - ecec: 429a cmp r2, r3 - ecee: dd98 ble.n ec22 + e734: f9bd 207e ldrsh.w r2, [sp, #126] ; 0x7e + e738: f9bd 3066 ldrsh.w r3, [sp, #102] ; 0x66 + e73c: 9909 ldr r1, [sp, #36] ; 0x24 + e73e: f9b1 1018 ldrsh.w r1, [r1, #24] + e742: 1a5b subs r3, r3, r1 + e744: 429a cmp r2, r3 + e746: dd98 ble.n e67a fill_area2.x1 = area_outer.x1 + rout; - ecf0: f8bd 3060 ldrh.w r3, [sp, #96] ; 0x60 - ecf4: 4423 add r3, r4 - ecf6: f8ad 3078 strh.w r3, [sp, #120] ; 0x78 + e748: f8bd 3060 ldrh.w r3, [sp, #96] ; 0x60 + e74c: 4423 add r3, r4 + e74e: f8ad 3078 strh.w r3, [sp, #120] ; 0x78 fill_area2.x2 = area_outer.x2 - rout; - ecfa: f8bd 3064 ldrh.w r3, [sp, #100] ; 0x64 - ecfe: 1b1b subs r3, r3, r4 - ed00: f8ad 307c strh.w r3, [sp, #124] ; 0x7c + e752: f8bd 3064 ldrh.w r3, [sp, #100] ; 0x64 + e756: 1b1b subs r3, r3, r4 + e758: f8ad 307c strh.w r3, [sp, #124] ; 0x7c _lv_blend_fill(clip, &fill_area2, color, NULL, LV_DRAW_MASK_RES_FULL_COVER, opa, blend_mode); - ed04: f8cd b008 str.w fp, [sp, #8] - ed08: 9501 str r5, [sp, #4] - ed0a: 2301 movs r3, #1 - ed0c: 9300 str r3, [sp, #0] - ed0e: 2300 movs r3, #0 - ed10: f8bd 2014 ldrh.w r2, [sp, #20] - ed14: a91e add r1, sp, #120 ; 0x78 - ed16: 9804 ldr r0, [sp, #16] - ed18: 47c0 blx r8 - ed1a: e782 b.n ec22 - ed1c: 465b mov r3, fp - ed1e: 46ab mov fp, r5 - ed20: f8dd a024 ldr.w sl, [sp, #36] ; 0x24 - ed24: 461d mov r5, r3 + e75c: f8cd b008 str.w fp, [sp, #8] + e760: 9501 str r5, [sp, #4] + e762: 2301 movs r3, #1 + e764: 9300 str r3, [sp, #0] + e766: 2300 movs r3, #0 + e768: f8bd 2014 ldrh.w r2, [sp, #20] + e76c: a91e add r1, sp, #120 ; 0x78 + e76e: 9804 ldr r0, [sp, #16] + e770: 47c0 blx r8 + e772: e782 b.n e67a + e774: 465b mov r3, fp + e776: 46ab mov fp, r5 + e778: f8dd a024 ldr.w sl, [sp, #36] ; 0x24 + e77c: 461d mov r5, r3 fill_area.y1 = area_outer.y1 + corner_size + 1; - ed26: f8bd 3038 ldrh.w r3, [sp, #56] ; 0x38 - ed2a: f8bd 2062 ldrh.w r2, [sp, #98] ; 0x62 - ed2e: 3201 adds r2, #1 - ed30: 441a add r2, r3 - ed32: f8ad 2072 strh.w r2, [sp, #114] ; 0x72 + e77e: f8bd 3038 ldrh.w r3, [sp, #56] ; 0x38 + e782: f8bd 2062 ldrh.w r2, [sp, #98] ; 0x62 + e786: 3201 adds r2, #1 + e788: 441a add r2, r3 + e78a: f8ad 2072 strh.w r2, [sp, #114] ; 0x72 fill_area.y2 = area_outer.y2 - corner_size - 1; - ed36: f8bd 2066 ldrh.w r2, [sp, #102] ; 0x66 - ed3a: 3a01 subs r2, #1 - ed3c: 1ad3 subs r3, r2, r3 - ed3e: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 + e78e: f8bd 2066 ldrh.w r2, [sp, #102] ; 0x66 + e792: 3a01 subs r2, #1 + e794: 1ad3 subs r3, r2, r3 + e796: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 fill_area.x1 = area_outer.x1; - ed42: f9bd 3060 ldrsh.w r3, [sp, #96] ; 0x60 - ed46: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 + e79a: f9bd 3060 ldrsh.w r3, [sp, #96] ; 0x60 + e79e: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 fill_area.x2 = area_outer.x1 + dsc->outline_width - 1; - ed4a: 3b01 subs r3, #1 - ed4c: f8ba 2018 ldrh.w r2, [sl, #24] - ed50: 4413 add r3, r2 - ed52: f8ad 3074 strh.w r3, [sp, #116] ; 0x74 + e7a2: 3b01 subs r3, #1 + e7a4: f8ba 2018 ldrh.w r2, [sl, #24] + e7a8: 4413 add r3, r2 + e7aa: f8ad 3074 strh.w r3, [sp, #116] ; 0x74 _lv_blend_fill(clip, &fill_area, color, NULL, LV_DRAW_MASK_RES_FULL_COVER, opa, blend_mode); - ed56: 9502 str r5, [sp, #8] - ed58: f8cd b004 str.w fp, [sp, #4] - ed5c: 2601 movs r6, #1 - ed5e: 9600 str r6, [sp, #0] - ed60: 2300 movs r3, #0 - ed62: f8bd 8014 ldrh.w r8, [sp, #20] - ed66: 4642 mov r2, r8 - ed68: a91c add r1, sp, #112 ; 0x70 - ed6a: 9f04 ldr r7, [sp, #16] - ed6c: 4638 mov r0, r7 - ed6e: 4c41 ldr r4, [pc, #260] ; (ee74 ) - ed70: 47a0 blx r4 + e7ae: 9502 str r5, [sp, #8] + e7b0: f8cd b004 str.w fp, [sp, #4] + e7b4: 2601 movs r6, #1 + e7b6: 9600 str r6, [sp, #0] + e7b8: 2300 movs r3, #0 + e7ba: f8bd 8014 ldrh.w r8, [sp, #20] + e7be: 4642 mov r2, r8 + e7c0: a91c add r1, sp, #112 ; 0x70 + e7c2: 9f04 ldr r7, [sp, #16] + e7c4: 4638 mov r0, r7 + e7c6: 4c41 ldr r4, [pc, #260] ; (e8cc ) + e7c8: 47a0 blx r4 fill_area.x1 = area_outer.x2 - dsc->outline_width + 1; - ed72: f9bd 2064 ldrsh.w r2, [sp, #100] ; 0x64 - ed76: 1993 adds r3, r2, r6 - ed78: f8ba 1018 ldrh.w r1, [sl, #24] - ed7c: 1a5b subs r3, r3, r1 - ed7e: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 + e7ca: f9bd 2064 ldrsh.w r2, [sp, #100] ; 0x64 + e7ce: 1993 adds r3, r2, r6 + e7d0: f8ba 1018 ldrh.w r1, [sl, #24] + e7d4: 1a5b subs r3, r3, r1 + e7d6: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 fill_area.x2 = area_outer.x2; - ed82: f8ad 2074 strh.w r2, [sp, #116] ; 0x74 + e7da: f8ad 2074 strh.w r2, [sp, #116] ; 0x74 _lv_blend_fill(clip, &fill_area, color, NULL, LV_DRAW_MASK_RES_FULL_COVER, opa, blend_mode); - ed86: 9502 str r5, [sp, #8] - ed88: f8cd b004 str.w fp, [sp, #4] - ed8c: 9600 str r6, [sp, #0] - ed8e: 2300 movs r3, #0 - ed90: 4642 mov r2, r8 - ed92: a91c add r1, sp, #112 ; 0x70 - ed94: 4638 mov r0, r7 - ed96: 47a0 blx r4 + e7de: 9502 str r5, [sp, #8] + e7e0: f8cd b004 str.w fp, [sp, #4] + e7e4: 9600 str r6, [sp, #0] + e7e6: 2300 movs r3, #0 + e7e8: 4642 mov r2, r8 + e7ea: a91c add r1, sp, #112 ; 0x70 + e7ec: 4638 mov r0, r7 + e7ee: 47a0 blx r4 lv_draw_mask_remove_id(mask_rin_id); - ed98: 980c ldr r0, [sp, #48] ; 0x30 - ed9a: 4c37 ldr r4, [pc, #220] ; (ee78 ) - ed9c: 47a0 blx r4 + e7f0: 980c ldr r0, [sp, #48] ; 0x30 + e7f2: 4c37 ldr r4, [pc, #220] ; (e8d0 ) + e7f4: 47a0 blx r4 lv_draw_mask_remove_id(mask_rout_id); - ed9e: 980d ldr r0, [sp, #52] ; 0x34 - eda0: 47a0 blx r4 + e7f6: 980d ldr r0, [sp, #52] ; 0x34 + e7f8: 47a0 blx r4 _lv_mem_buf_release(mask_buf); - eda2: 980b ldr r0, [sp, #44] ; 0x2c - eda4: 4b35 ldr r3, [pc, #212] ; (ee7c ) - eda6: 4798 blx r3 - eda8: f7fe bdb0 b.w d90c + e7fa: 980b ldr r0, [sp, #44] ; 0x2c + e7fc: 4b35 ldr r3, [pc, #212] ; (e8d4 ) + e7fe: 4798 blx r3 + e800: f7fe bdb0 b.w d364 fill_area.x1 = area_outer.x1; - edac: f8bd 3060 ldrh.w r3, [sp, #96] ; 0x60 - edb0: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 + e804: f8bd 3060 ldrh.w r3, [sp, #96] ; 0x60 + e808: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 fill_area.x2 = area_outer.x2; - edb4: f8bd 3064 ldrh.w r3, [sp, #100] ; 0x64 - edb8: f8ad 3074 strh.w r3, [sp, #116] ; 0x74 + e80c: f8bd 3064 ldrh.w r3, [sp, #100] ; 0x64 + e810: f8ad 3074 strh.w r3, [sp, #116] ; 0x74 fill_area.y1 = disp_area->y1 + draw_area.y1; - edbc: f9bd 206a ldrsh.w r2, [sp, #106] ; 0x6a - edc0: f8b9 3012 ldrh.w r3, [r9, #18] - edc4: 4413 add r3, r2 - edc6: b21b sxth r3, r3 - edc8: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 + e814: f9bd 206a ldrsh.w r2, [sp, #106] ; 0x6a + e818: f8b9 3012 ldrh.w r3, [r9, #18] + e81c: 4413 add r3, r2 + e81e: b21b sxth r3, r3 + e820: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 fill_area.y2 = fill_area.y1; - edcc: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 + e824: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 for(h = draw_area.y1; h <= draw_area.y2; h++) { - edd0: 4614 mov r4, r2 - edd2: f9bd 306e ldrsh.w r3, [sp, #110] ; 0x6e - edd6: 429a cmp r2, r3 - edd8: dcde bgt.n ed98 + e828: 4614 mov r4, r2 + e82a: f9bd 306e ldrsh.w r3, [sp, #110] ; 0x6e + e82e: 429a cmp r2, r3 + e830: dcde bgt.n e7f0 _lv_memset_ff(mask_buf, draw_area_w); - edda: f8df 8090 ldr.w r8, [pc, #144] ; ee6c + e832: f8df 8090 ldr.w r8, [pc, #144] ; e8c4 mask_res = lv_draw_mask_apply(mask_buf, vdb->area.x1 + draw_area.x1, vdb->area.y1 + h, draw_area_w); - edde: 4f24 ldr r7, [pc, #144] ; (ee70 ) + e836: 4f24 ldr r7, [pc, #144] ; (e8c8 ) _lv_blend_fill(clip, &fill_area, color, mask_buf, mask_res, opa, blend_mode); - ede0: 4e24 ldr r6, [pc, #144] ; (ee74 ) - ede2: f8dd a02c ldr.w sl, [sp, #44] ; 0x2c - ede6: 462b mov r3, r5 - ede8: 465d mov r5, fp - edea: 469b mov fp, r3 + e838: 4e24 ldr r6, [pc, #144] ; (e8cc ) + e83a: f8dd a02c ldr.w sl, [sp, #44] ; 0x2c + e83e: 462b mov r3, r5 + e840: 465d mov r5, fp + e842: 469b mov fp, r3 _lv_memset_ff(mask_buf, draw_area_w); - edec: 9908 ldr r1, [sp, #32] - edee: 4650 mov r0, sl - edf0: 47c0 blx r8 + e844: 9908 ldr r1, [sp, #32] + e846: 4650 mov r0, sl + e848: 47c0 blx r8 mask_res = lv_draw_mask_apply(mask_buf, vdb->area.x1 + draw_area.x1, vdb->area.y1 + h, draw_area_w); - edf2: f8b9 2012 ldrh.w r2, [r9, #18] - edf6: 4422 add r2, r4 - edf8: f8b9 1010 ldrh.w r1, [r9, #16] - edfc: f8bd 3068 ldrh.w r3, [sp, #104] ; 0x68 - ee00: 4419 add r1, r3 - ee02: 9b07 ldr r3, [sp, #28] - ee04: b212 sxth r2, r2 - ee06: b209 sxth r1, r1 - ee08: 4650 mov r0, sl - ee0a: 47b8 blx r7 + e84a: f8b9 2012 ldrh.w r2, [r9, #18] + e84e: 4422 add r2, r4 + e850: f8b9 1010 ldrh.w r1, [r9, #16] + e854: f8bd 3068 ldrh.w r3, [sp, #104] ; 0x68 + e858: 4419 add r1, r3 + e85a: 9b07 ldr r3, [sp, #28] + e85c: b212 sxth r2, r2 + e85e: b209 sxth r1, r1 + e860: 4650 mov r0, sl + e862: 47b8 blx r7 _lv_blend_fill(clip, &fill_area, color, mask_buf, mask_res, opa, blend_mode); - ee0c: f8cd b008 str.w fp, [sp, #8] - ee10: 9501 str r5, [sp, #4] - ee12: 9000 str r0, [sp, #0] - ee14: 4653 mov r3, sl - ee16: f8bd 2014 ldrh.w r2, [sp, #20] - ee1a: a91c add r1, sp, #112 ; 0x70 - ee1c: 9804 ldr r0, [sp, #16] - ee1e: 47b0 blx r6 + e864: f8cd b008 str.w fp, [sp, #8] + e868: 9501 str r5, [sp, #4] + e86a: 9000 str r0, [sp, #0] + e86c: 4653 mov r3, sl + e86e: f8bd 2014 ldrh.w r2, [sp, #20] + e872: a91c add r1, sp, #112 ; 0x70 + e874: 9804 ldr r0, [sp, #16] + e876: 47b0 blx r6 fill_area.y1++; - ee20: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72 - ee24: 3301 adds r3, #1 - ee26: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 + e878: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72 + e87c: 3301 adds r3, #1 + e87e: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 fill_area.y2++; - ee2a: f8bd 3076 ldrh.w r3, [sp, #118] ; 0x76 - ee2e: 3301 adds r3, #1 - ee30: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 + e882: f8bd 3076 ldrh.w r3, [sp, #118] ; 0x76 + e886: 3301 adds r3, #1 + e888: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 for(h = draw_area.y1; h <= draw_area.y2; h++) { - ee34: 3401 adds r4, #1 - ee36: f9bd 306e ldrsh.w r3, [sp, #110] ; 0x6e - ee3a: 429c cmp r4, r3 - ee3c: ddd6 ble.n edec - ee3e: e7ab b.n ed98 + e88c: 3401 adds r4, #1 + e88e: f9bd 306e ldrsh.w r3, [sp, #110] ; 0x6e + e892: 429c cmp r4, r3 + e894: ddd6 ble.n e844 + e896: e7ab b.n e7f0 _lv_mem_buf_release(mask_line); - ee40: 980c ldr r0, [sp, #48] ; 0x30 - ee42: 4b0e ldr r3, [pc, #56] ; (ee7c ) - ee44: 4798 blx r3 + e898: 980c ldr r0, [sp, #48] ; 0x30 + e89a: 4b0e ldr r3, [pc, #56] ; (e8d4 ) + e89c: 4798 blx r3 for(i = 0; i < size * size; i++) { - ee46: fb07 f707 mul.w r7, r7, r7 - ee4a: 2f00 cmp r7, #0 - ee4c: f43d aeec beq.w cc28 - ee50: 980a ldr r0, [sp, #40] ; 0x28 - ee52: 4602 mov r2, r0 - ee54: 1e41 subs r1, r0, #1 - ee56: eb00 0047 add.w r0, r0, r7, lsl #1 + e89e: fb07 f707 mul.w r7, r7, r7 + e8a2: 2f00 cmp r7, #0 + e8a4: f43d aeec beq.w c680 + e8a8: 980a ldr r0, [sp, #40] ; 0x28 + e8aa: 4602 mov r2, r0 + e8ac: 1e41 subs r1, r0, #1 + e8ae: eb00 0047 add.w r0, r0, r7, lsl #1 res_buf[i] = (sh_buf[i] >> SHADOW_UPSACALE_SHIFT); - ee5a: f832 3b02 ldrh.w r3, [r2], #2 - ee5e: 099b lsrs r3, r3, #6 - ee60: f801 3f01 strb.w r3, [r1, #1]! + e8b2: f832 3b02 ldrh.w r3, [r2], #2 + e8b6: 099b lsrs r3, r3, #6 + e8b8: f801 3f01 strb.w r3, [r1, #1]! for(i = 0; i < size * size; i++) { - ee64: 4290 cmp r0, r2 - ee66: d1f8 bne.n ee5a - ee68: f7fd bede b.w cc28 - ee6c: 00013195 .word 0x00013195 - ee70: 0000c3c5 .word 0x0000c3c5 - ee74: 00007cf9 .word 0x00007cf9 - ee78: 0000c415 .word 0x0000c415 - ee7c: 00012b19 .word 0x00012b19 + e8bc: 4290 cmp r0, r2 + e8be: d1f8 bne.n e8b2 + e8c0: f7fd bede b.w c680 + e8c4: 00012bed .word 0x00012bed + e8c8: 0000be1d .word 0x0000be1d + e8cc: 00007751 .word 0x00007751 + e8d0: 0000be6d .word 0x0000be6d + e8d4: 00012571 .word 0x00012571 lv_opa_t * mask_line = _lv_mem_buf_get(size); - ee80: 9707 str r7, [sp, #28] - ee82: 4638 mov r0, r7 - ee84: 4b0b ldr r3, [pc, #44] ; (eeb4 ) - ee86: 4798 blx r3 - ee88: 900c str r0, [sp, #48] ; 0x30 + e8d8: 9707 str r7, [sp, #28] + e8da: 4638 mov r0, r7 + e8dc: 4b0b ldr r3, [pc, #44] ; (e90c ) + e8de: 4798 blx r3 + e8e0: 900c str r0, [sp, #48] ; 0x30 for(y = 0; y < size; y++) { - ee8a: 2f00 cmp r7, #0 - ee8c: ddd8 ble.n ee40 - ee8e: 2301 movs r3, #1 - ee90: 930b str r3, [sp, #44] ; 0x2c - ee92: f7fd be27 b.w cae4 + e8e2: 2f00 cmp r7, #0 + e8e4: ddd8 ble.n e898 + e8e6: 2301 movs r3, #1 + e8e8: 930b str r3, [sp, #44] ; 0x2c + e8ea: f7fd be27 b.w c53c lv_draw_mask_radius_init(&radius_mask_param, coords, dsc->radius, false); - ee96: 2300 movs r3, #0 - ee98: f9ba 2000 ldrsh.w r2, [sl] - ee9c: 9906 ldr r1, [sp, #24] - ee9e: a829 add r0, sp, #164 ; 0xa4 - eea0: 4c05 ldr r4, [pc, #20] ; (eeb8 ) - eea2: 47a0 blx r4 + e8ee: 2300 movs r3, #0 + e8f0: f9ba 2000 ldrsh.w r2, [sl] + e8f4: 9906 ldr r1, [sp, #24] + e8f6: a829 add r0, sp, #164 ; 0xa4 + e8f8: 4c05 ldr r4, [pc, #20] ; (e910 ) + e8fa: 47a0 blx r4 radius_mask_id = lv_draw_mask_add(&radius_mask_param, NULL); - eea4: 2100 movs r1, #0 - eea6: a829 add r0, sp, #164 ; 0xa4 - eea8: 4b04 ldr r3, [pc, #16] ; (eebc ) - eeaa: 4798 blx r3 - eeac: 4604 mov r4, r0 - eeae: f7ff b91e b.w e0ee - eeb2: bf00 nop - eeb4: 00012ee5 .word 0x00012ee5 - eeb8: 0000c5d5 .word 0x0000c5d5 - eebc: 0000c369 .word 0x0000c369 - -0000eec0 : + e8fc: 2100 movs r1, #0 + e8fe: a829 add r0, sp, #164 ; 0xa4 + e900: 4b04 ldr r3, [pc, #16] ; (e914 ) + e902: 4798 blx r3 + e904: 4604 mov r4, r0 + e906: f7ff b91e b.w db46 + e90a: bf00 nop + e90c: 0001293d .word 0x0001293d + e910: 0000c02d .word 0x0000c02d + e914: 0000bdc1 .word 0x0000bdc1 + +0000e918 : * Not used in other cases. * @param safe true: check out of bounds * @return color of the point */ lv_color_t lv_img_buf_get_px_color(lv_img_dsc_t * dsc, lv_coord_t x, lv_coord_t y, lv_color_t color) { - eec0: b5f0 push {r4, r5, r6, r7, lr} - eec2: b083 sub sp, #12 + e918: b5f0 push {r4, r5, r6, r7, lr} + e91a: b083 sub sp, #12 lv_color_t p_color = LV_COLOR_BLACK; - eec4: f89d 4004 ldrb.w r4, [sp, #4] - eec8: f36f 0404 bfc r4, #0, #5 - eecc: f88d 4004 strb.w r4, [sp, #4] - eed0: f8bd 4004 ldrh.w r4, [sp, #4] - eed4: f36f 144a bfc r4, #5, #6 - eed8: f8ad 4004 strh.w r4, [sp, #4] - eedc: 0a24 lsrs r4, r4, #8 - eede: f36f 04c7 bfc r4, #3, #5 - eee2: f88d 4005 strb.w r4, [sp, #5] + e91c: f89d 4004 ldrb.w r4, [sp, #4] + e920: f36f 0404 bfc r4, #0, #5 + e924: f88d 4004 strb.w r4, [sp, #4] + e928: f8bd 4004 ldrh.w r4, [sp, #4] + e92c: f36f 144a bfc r4, #5, #6 + e930: f8ad 4004 strh.w r4, [sp, #4] + e934: 0a24 lsrs r4, r4, #8 + e936: f36f 04c7 bfc r4, #3, #5 + e93a: f88d 4005 strb.w r4, [sp, #5] uint8_t * buf_u8 = (uint8_t *)dsc->data; - eee6: 6886 ldr r6, [r0, #8] + e93e: 6886 ldr r6, [r0, #8] if(dsc->header.cf == LV_IMG_CF_TRUE_COLOR || dsc->header.cf == LV_IMG_CF_TRUE_COLOR_CHROMA_KEYED || - eee8: 7804 ldrb r4, [r0, #0] - eeea: f004 041f and.w r4, r4, #31 - eeee: 1f25 subs r5, r4, #4 - eef0: b2ed uxtb r5, r5 - eef2: 2d02 cmp r5, #2 - eef4: d90e bls.n ef14 + e940: 7804 ldrb r4, [r0, #0] + e942: f004 041f and.w r4, r4, #31 + e946: 1f25 subs r5, r4, #4 + e948: b2ed uxtb r5, r5 + e94a: 2d02 cmp r5, #2 + e94c: d90e bls.n e96c _lv_memcpy_small(&p_color, &buf_u8[px], sizeof(lv_color_t)); #if LV_COLOR_SIZE == 32 p_color.ch.alpha = 0xFF; /*Only the color should be get so use a deafult alpha value*/ #endif } else if(dsc->header.cf == LV_IMG_CF_INDEXED_1BIT) { - eef6: 2c07 cmp r4, #7 - eef8: d028 beq.n ef4c + e94e: 2c07 cmp r4, #7 + e950: d028 beq.n e9a4 * dsc->header.w + 7 means rounding up to 8 because the lines are byte aligned * so the possible real width are 8, 16, 24 ...*/ uint32_t px = ((dsc->header.w + 7) >> 3) * y + x; p_color.full = (buf_u8[px] & (1 << (7 - bit))) >> (7 - bit); } else if(dsc->header.cf == LV_IMG_CF_INDEXED_2BIT) { - eefa: 2c08 cmp r4, #8 - eefc: d03b beq.n ef76 + e952: 2c08 cmp r4, #8 + e954: d03b beq.n e9ce * dsc->header.w + 3 means rounding up to 4 because the lines are byte aligned * so the possible real width are 4, 8, 12 ...*/ uint32_t px = ((dsc->header.w + 3) >> 2) * y + x; p_color.full = (buf_u8[px] & (3 << (6 - bit))) >> (6 - bit); } else if(dsc->header.cf == LV_IMG_CF_INDEXED_4BIT) { - eefe: 2c09 cmp r4, #9 - ef00: d050 beq.n efa4 + e956: 2c09 cmp r4, #9 + e958: d050 beq.n e9fc * dsc->header.w + 1 means rounding up to 2 because the lines are byte aligned * so the possible real width are 2, 4, 6 ...*/ uint32_t px = ((dsc->header.w + 1) >> 1) * y + x; p_color.full = (buf_u8[px] & (0xF << (4 - bit))) >> (4 - bit); } else if(dsc->header.cf == LV_IMG_CF_INDEXED_8BIT) { - ef02: 2c0a cmp r4, #10 - ef04: d066 beq.n efd4 + e95a: 2c0a cmp r4, #10 + e95c: d066 beq.n ea2c buf_u8 += 4 * 256; uint32_t px = dsc->header.w * y + x; p_color.full = buf_u8[px]; } else if(dsc->header.cf == LV_IMG_CF_ALPHA_1BIT || dsc->header.cf == LV_IMG_CF_ALPHA_2BIT || dsc->header.cf == LV_IMG_CF_ALPHA_4BIT || dsc->header.cf == LV_IMG_CF_ALPHA_8BIT) { - ef06: 3c0b subs r4, #11 + e95e: 3c0b subs r4, #11 else if(dsc->header.cf == LV_IMG_CF_ALPHA_1BIT || dsc->header.cf == LV_IMG_CF_ALPHA_2BIT || - ef08: b2e4 uxtb r4, r4 - ef0a: 2c03 cmp r4, #3 + e960: b2e4 uxtb r4, r4 + e962: 2c03 cmp r4, #3 p_color = color; - ef0c: bf98 it ls - ef0e: f8ad 3004 strhls.w r3, [sp, #4] - ef12: e017 b.n ef44 - ef14: 4614 mov r4, r2 - ef16: 460f mov r7, r1 - ef18: 4605 mov r5, r0 + e964: bf98 it ls + e966: f8ad 3004 strhls.w r3, [sp, #4] + e96a: e017 b.n e99c + e96c: 4614 mov r4, r2 + e96e: 460f mov r7, r1 + e970: 4605 mov r5, r0 uint8_t px_size = lv_img_cf_get_px_size(dsc->header.cf) >> 3; - ef1a: 7800 ldrb r0, [r0, #0] - ef1c: f000 001f and.w r0, r0, #31 - ef20: 4b32 ldr r3, [pc, #200] ; (efec ) - ef22: 4798 blx r3 + e972: 7800 ldrb r0, [r0, #0] + e974: f000 001f and.w r0, r0, #31 + e978: 4b32 ldr r3, [pc, #200] ; (ea44 ) + e97a: 4798 blx r3 uint32_t px = dsc->header.w * y * px_size + x * px_size; - ef24: 682b ldr r3, [r5, #0] - ef26: f3c3 238a ubfx r3, r3, #10, #11 - ef2a: fb04 7203 mla r2, r4, r3, r7 - ef2e: f3c0 00c7 ubfx r0, r0, #3, #8 - ef32: fb00 f202 mul.w r2, r0, r2 + e97c: 682b ldr r3, [r5, #0] + e97e: f3c3 238a ubfx r3, r3, #10, #11 + e982: fb04 7203 mla r2, r4, r3, r7 + e986: f3c0 00c7 ubfx r0, r0, #3, #8 + e98a: fb00 f202 mul.w r2, r0, r2 _lv_memcpy_small(&p_color, &buf_u8[px], sizeof(lv_color_t)); - ef36: 18b3 adds r3, r6, r2 + e98e: 18b3 adds r3, r6, r2 *d8 = *s8; - ef38: 5cb2 ldrb r2, [r6, r2] - ef3a: f88d 2004 strb.w r2, [sp, #4] - ef3e: 785b ldrb r3, [r3, #1] - ef40: f88d 3005 strb.w r3, [sp, #5] + e990: 5cb2 ldrb r2, [r6, r2] + e992: f88d 2004 strb.w r2, [sp, #4] + e996: 785b ldrb r3, [r3, #1] + e998: f88d 3005 strb.w r3, [sp, #5] } return p_color; } - ef44: f8bd 0004 ldrh.w r0, [sp, #4] - ef48: b003 add sp, #12 - ef4a: bdf0 pop {r4, r5, r6, r7, pc} + e99c: f8bd 0004 ldrh.w r0, [sp, #4] + e9a0: b003 add sp, #12 + e9a2: bdf0 pop {r4, r5, r6, r7, pc} p_color.full = (buf_u8[px] & (1 << (7 - bit))) >> (7 - bit); - ef4c: f001 0307 and.w r3, r1, #7 - ef50: f1c3 0407 rsb r4, r3, #7 + e9a4: f001 0307 and.w r3, r1, #7 + e9a8: f1c3 0407 rsb r4, r3, #7 uint32_t px = ((dsc->header.w + 7) >> 3) * y + x; - ef54: 6803 ldr r3, [r0, #0] - ef56: f3c3 238a ubfx r3, r3, #10, #11 - ef5a: 3307 adds r3, #7 - ef5c: 10db asrs r3, r3, #3 + e9ac: 6803 ldr r3, [r0, #0] + e9ae: f3c3 238a ubfx r3, r3, #10, #11 + e9b2: 3307 adds r3, #7 + e9b4: 10db asrs r3, r3, #3 p_color.full = (buf_u8[px] & (1 << (7 - bit))) >> (7 - bit); - ef5e: fb02 6603 mla r6, r2, r3, r6 - ef62: eb06 01e1 add.w r1, r6, r1, asr #3 - ef66: 7a0b ldrb r3, [r1, #8] - ef68: 2201 movs r2, #1 - ef6a: 40a2 lsls r2, r4 - ef6c: 4013 ands r3, r2 - ef6e: 4123 asrs r3, r4 - ef70: f8ad 3004 strh.w r3, [sp, #4] - ef74: e7e6 b.n ef44 + e9b6: fb02 6603 mla r6, r2, r3, r6 + e9ba: eb06 01e1 add.w r1, r6, r1, asr #3 + e9be: 7a0b ldrb r3, [r1, #8] + e9c0: 2201 movs r2, #1 + e9c2: 40a2 lsls r2, r4 + e9c4: 4013 ands r3, r2 + e9c6: 4123 asrs r3, r4 + e9c8: f8ad 3004 strh.w r3, [sp, #4] + e9cc: e7e6 b.n e99c uint8_t bit = (x & 0x3) * 2; - ef76: f001 0403 and.w r4, r1, #3 + e9ce: f001 0403 and.w r4, r1, #3 p_color.full = (buf_u8[px] & (3 << (6 - bit))) >> (6 - bit); - ef7a: 0064 lsls r4, r4, #1 - ef7c: f1c4 0406 rsb r4, r4, #6 + e9d2: 0064 lsls r4, r4, #1 + e9d4: f1c4 0406 rsb r4, r4, #6 uint32_t px = ((dsc->header.w + 3) >> 2) * y + x; - ef80: 6803 ldr r3, [r0, #0] - ef82: f3c3 238a ubfx r3, r3, #10, #11 - ef86: 3303 adds r3, #3 - ef88: 109b asrs r3, r3, #2 + e9d8: 6803 ldr r3, [r0, #0] + e9da: f3c3 238a ubfx r3, r3, #10, #11 + e9de: 3303 adds r3, #3 + e9e0: 109b asrs r3, r3, #2 p_color.full = (buf_u8[px] & (3 << (6 - bit))) >> (6 - bit); - ef8a: fb02 6603 mla r6, r2, r3, r6 - ef8e: eb06 01a1 add.w r1, r6, r1, asr #2 - ef92: 7c0b ldrb r3, [r1, #16] - ef94: 2203 movs r2, #3 - ef96: 40a2 lsls r2, r4 - ef98: 4013 ands r3, r2 - ef9a: fa43 f404 asr.w r4, r3, r4 - ef9e: f8ad 4004 strh.w r4, [sp, #4] - efa2: e7cf b.n ef44 + e9e2: fb02 6603 mla r6, r2, r3, r6 + e9e6: eb06 01a1 add.w r1, r6, r1, asr #2 + e9ea: 7c0b ldrb r3, [r1, #16] + e9ec: 2203 movs r2, #3 + e9ee: 40a2 lsls r2, r4 + e9f0: 4013 ands r3, r2 + e9f2: fa43 f404 asr.w r4, r3, r4 + e9f6: f8ad 4004 strh.w r4, [sp, #4] + e9fa: e7cf b.n e99c uint8_t bit = (x & 0x1) * 4; - efa4: f001 0401 and.w r4, r1, #1 + e9fc: f001 0401 and.w r4, r1, #1 p_color.full = (buf_u8[px] & (0xF << (4 - bit))) >> (4 - bit); - efa8: 00a4 lsls r4, r4, #2 - efaa: f1c4 0404 rsb r4, r4, #4 + ea00: 00a4 lsls r4, r4, #2 + ea02: f1c4 0404 rsb r4, r4, #4 uint32_t px = ((dsc->header.w + 1) >> 1) * y + x; - efae: 6803 ldr r3, [r0, #0] - efb0: f3c3 238a ubfx r3, r3, #10, #11 - efb4: 3301 adds r3, #1 - efb6: 105b asrs r3, r3, #1 + ea06: 6803 ldr r3, [r0, #0] + ea08: f3c3 238a ubfx r3, r3, #10, #11 + ea0c: 3301 adds r3, #1 + ea0e: 105b asrs r3, r3, #1 p_color.full = (buf_u8[px] & (0xF << (4 - bit))) >> (4 - bit); - efb8: fb02 6603 mla r6, r2, r3, r6 - efbc: eb06 0161 add.w r1, r6, r1, asr #1 - efc0: f891 3040 ldrb.w r3, [r1, #64] ; 0x40 - efc4: 220f movs r2, #15 - efc6: 40a2 lsls r2, r4 - efc8: 4013 ands r3, r2 - efca: fa43 f404 asr.w r4, r3, r4 - efce: f8ad 4004 strh.w r4, [sp, #4] - efd2: e7b7 b.n ef44 + ea10: fb02 6603 mla r6, r2, r3, r6 + ea14: eb06 0161 add.w r1, r6, r1, asr #1 + ea18: f891 3040 ldrb.w r3, [r1, #64] ; 0x40 + ea1c: 220f movs r2, #15 + ea1e: 40a2 lsls r2, r4 + ea20: 4013 ands r3, r2 + ea22: fa43 f404 asr.w r4, r3, r4 + ea26: f8ad 4004 strh.w r4, [sp, #4] + ea2a: e7b7 b.n e99c uint32_t px = dsc->header.w * y + x; - efd4: 6803 ldr r3, [r0, #0] - efd6: f3c3 238a ubfx r3, r3, #10, #11 + ea2c: 6803 ldr r3, [r0, #0] + ea2e: f3c3 238a ubfx r3, r3, #10, #11 p_color.full = buf_u8[px]; - efda: 4431 add r1, r6 - efdc: fb02 1103 mla r1, r2, r3, r1 - efe0: f891 3400 ldrb.w r3, [r1, #1024] ; 0x400 - efe4: f8ad 3004 strh.w r3, [sp, #4] - efe8: e7ac b.n ef44 - efea: bf00 nop - efec: 00009c29 .word 0x00009c29 - -0000eff0 : + ea32: 4431 add r1, r6 + ea34: fb02 1103 mla r1, r2, r3, r1 + ea38: f891 3400 ldrb.w r3, [r1, #1024] ; 0x400 + ea3c: f8ad 3004 strh.w r3, [sp, #4] + ea40: e7ac b.n e99c + ea42: bf00 nop + ea44: 00009681 .word 0x00009681 + +0000ea48 : * @param y x coordinate of the point to set * @param safe true: check out of bounds * @return alpha value of the point */ lv_opa_t lv_img_buf_get_px_alpha(lv_img_dsc_t * dsc, lv_coord_t x, lv_coord_t y) { - eff0: b5f0 push {r4, r5, r6, r7, lr} - eff2: b085 sub sp, #20 - eff4: 4604 mov r4, r0 - eff6: 460d mov r5, r1 - eff8: 4617 mov r7, r2 + ea48: b5f0 push {r4, r5, r6, r7, lr} + ea4a: b085 sub sp, #20 + ea4c: 4604 mov r4, r0 + ea4e: 460d mov r5, r1 + ea50: 4617 mov r7, r2 uint8_t * buf_u8 = (uint8_t *)dsc->data; - effa: 6886 ldr r6, [r0, #8] + ea52: 6886 ldr r6, [r0, #8] if(dsc->header.cf == LV_IMG_CF_TRUE_COLOR_ALPHA) { - effc: 7803 ldrb r3, [r0, #0] - effe: f003 031f and.w r3, r3, #31 - f002: 2b05 cmp r3, #5 - f004: d00a beq.n f01c + ea54: 7803 ldrb r3, [r0, #0] + ea56: f003 031f and.w r3, r3, #31 + ea5a: 2b05 cmp r3, #5 + ea5c: d00a beq.n ea74 uint32_t px = dsc->header.w * y * LV_IMG_PX_SIZE_ALPHA_BYTE + x * LV_IMG_PX_SIZE_ALPHA_BYTE; return buf_u8[px + LV_IMG_PX_SIZE_ALPHA_BYTE - 1]; } else if(dsc->header.cf == LV_IMG_CF_ALPHA_1BIT) { - f006: 2b0b cmp r3, #11 - f008: d012 beq.n f030 + ea5e: 2b0b cmp r3, #11 + ea60: d012 beq.n ea88 * so the possible real width are 8 ,16, 24 ...*/ uint32_t px = ((dsc->header.w + 7) >> 3) * y + x; uint8_t px_opa = (buf_u8[px] & (1 << (7 - bit))) >> (7 - bit); return px_opa ? LV_OPA_TRANSP : LV_OPA_COVER; } else if(dsc->header.cf == LV_IMG_CF_ALPHA_2BIT) { - f00a: 2b0c cmp r3, #12 - f00c: d027 beq.n f05e + ea62: 2b0c cmp r3, #12 + ea64: d027 beq.n eab6 * so the possible real width are 4 ,8, 12 ...*/ uint32_t px = ((dsc->header.w + 3) >> 2) * y + x; uint8_t px_opa = (buf_u8[px] & (3 << (6 - bit))) >> (6 - bit); return opa_table[px_opa]; } else if(dsc->header.cf == LV_IMG_CF_ALPHA_4BIT) { - f00e: 2b0d cmp r3, #13 - f010: d049 beq.n f0a6 + ea66: 2b0d cmp r3, #13 + ea68: d049 beq.n eafe * so the possible real width are 2 ,4, 6 ...*/ uint32_t px = ((dsc->header.w + 1) >> 1) * y + x; uint8_t px_opa = (buf_u8[px] & (0xF << (4 - bit))) >> (4 - bit); return opa_table[px_opa]; } else if(dsc->header.cf == LV_IMG_CF_ALPHA_8BIT) { - f012: 2b0e cmp r3, #14 - f014: d064 beq.n f0e0 + ea6a: 2b0e cmp r3, #14 + ea6c: d064 beq.n eb38 uint32_t px = dsc->header.w * y + x; return buf_u8[px]; } return LV_OPA_COVER; - f016: 20ff movs r0, #255 ; 0xff + ea6e: 20ff movs r0, #255 ; 0xff } - f018: b005 add sp, #20 - f01a: bdf0 pop {r4, r5, r6, r7, pc} + ea70: b005 add sp, #20 + ea72: bdf0 pop {r4, r5, r6, r7, pc} uint32_t px = dsc->header.w * y * LV_IMG_PX_SIZE_ALPHA_BYTE + x * LV_IMG_PX_SIZE_ALPHA_BYTE; - f01c: 6802 ldr r2, [r0, #0] - f01e: f3c2 228a ubfx r2, r2, #10, #11 - f022: fb07 1502 mla r5, r7, r2, r1 + ea74: 6802 ldr r2, [r0, #0] + ea76: f3c2 228a ubfx r2, r2, #10, #11 + ea7a: fb07 1502 mla r5, r7, r2, r1 return buf_u8[px + LV_IMG_PX_SIZE_ALPHA_BYTE - 1]; - f026: eb05 0545 add.w r5, r5, r5, lsl #1 - f02a: 4435 add r5, r6 - f02c: 78a8 ldrb r0, [r5, #2] - f02e: e7f3 b.n f018 + ea7e: eb05 0545 add.w r5, r5, r5, lsl #1 + ea82: 4435 add r5, r6 + ea84: 78a8 ldrb r0, [r5, #2] + ea86: e7f3 b.n ea70 uint8_t px_opa = (buf_u8[px] & (1 << (7 - bit))) >> (7 - bit); - f030: f001 0307 and.w r3, r1, #7 - f034: f1c3 0107 rsb r1, r3, #7 + ea88: f001 0307 and.w r3, r1, #7 + ea8c: f1c3 0107 rsb r1, r3, #7 uint32_t px = ((dsc->header.w + 7) >> 3) * y + x; - f038: 6802 ldr r2, [r0, #0] - f03a: f3c2 228a ubfx r2, r2, #10, #11 - f03e: 3207 adds r2, #7 - f040: 10d2 asrs r2, r2, #3 - f042: 10ed asrs r5, r5, #3 + ea90: 6802 ldr r2, [r0, #0] + ea92: f3c2 228a ubfx r2, r2, #10, #11 + ea96: 3207 adds r2, #7 + ea98: 10d2 asrs r2, r2, #3 + ea9a: 10ed asrs r5, r5, #3 uint8_t px_opa = (buf_u8[px] & (1 << (7 - bit))) >> (7 - bit); - f044: fb07 6202 mla r2, r7, r2, r6 - f048: 5d53 ldrb r3, [r2, r5] - f04a: 2201 movs r2, #1 - f04c: 408a lsls r2, r1 - f04e: 4013 ands r3, r2 - f050: 410b asrs r3, r1 + ea9c: fb07 6202 mla r2, r7, r2, r6 + eaa0: 5d53 ldrb r3, [r2, r5] + eaa2: 2201 movs r2, #1 + eaa4: 408a lsls r2, r1 + eaa6: 4013 ands r3, r2 + eaa8: 410b asrs r3, r1 return px_opa ? LV_OPA_TRANSP : LV_OPA_COVER; - f052: f013 0fff tst.w r3, #255 ; 0xff - f056: bf0c ite eq - f058: 20ff moveq r0, #255 ; 0xff - f05a: 2000 movne r0, #0 - f05c: e7dc b.n f018 + eaaa: f013 0fff tst.w r3, #255 ; 0xff + eaae: bf0c ite eq + eab0: 20ff moveq r0, #255 ; 0xff + eab2: 2000 movne r0, #0 + eab4: e7dc b.n ea70 const uint8_t opa_table[4] = {0, 85, 170, 255}; /*Opacity mapping with bpp = 2*/ - f05e: 2300 movs r3, #0 - f060: f88d 3000 strb.w r3, [sp] - f064: 2355 movs r3, #85 ; 0x55 - f066: f88d 3001 strb.w r3, [sp, #1] - f06a: 23aa movs r3, #170 ; 0xaa - f06c: f88d 3002 strb.w r3, [sp, #2] - f070: 23ff movs r3, #255 ; 0xff - f072: f88d 3003 strb.w r3, [sp, #3] + eab6: 2300 movs r3, #0 + eab8: f88d 3000 strb.w r3, [sp] + eabc: 2355 movs r3, #85 ; 0x55 + eabe: f88d 3001 strb.w r3, [sp, #1] + eac2: 23aa movs r3, #170 ; 0xaa + eac4: f88d 3002 strb.w r3, [sp, #2] + eac8: 23ff movs r3, #255 ; 0xff + eaca: f88d 3003 strb.w r3, [sp, #3] uint8_t bit = (x & 0x3) * 2; - f076: f001 0303 and.w r3, r1, #3 + eace: f001 0303 and.w r3, r1, #3 uint8_t px_opa = (buf_u8[px] & (3 << (6 - bit))) >> (6 - bit); - f07a: 005b lsls r3, r3, #1 - f07c: f1c3 0106 rsb r1, r3, #6 + ead2: 005b lsls r3, r3, #1 + ead4: f1c3 0106 rsb r1, r3, #6 uint32_t px = ((dsc->header.w + 3) >> 2) * y + x; - f080: 6802 ldr r2, [r0, #0] - f082: f3c2 228a ubfx r2, r2, #10, #11 - f086: 3203 adds r2, #3 - f088: 1092 asrs r2, r2, #2 - f08a: 10ad asrs r5, r5, #2 + ead8: 6802 ldr r2, [r0, #0] + eada: f3c2 228a ubfx r2, r2, #10, #11 + eade: 3203 adds r2, #3 + eae0: 1092 asrs r2, r2, #2 + eae2: 10ad asrs r5, r5, #2 uint8_t px_opa = (buf_u8[px] & (3 << (6 - bit))) >> (6 - bit); - f08c: fb07 6202 mla r2, r7, r2, r6 - f090: 5d53 ldrb r3, [r2, r5] - f092: 2203 movs r2, #3 - f094: 408a lsls r2, r1 - f096: 4013 ands r3, r2 - f098: 410b asrs r3, r1 + eae4: fb07 6202 mla r2, r7, r2, r6 + eae8: 5d53 ldrb r3, [r2, r5] + eaea: 2203 movs r2, #3 + eaec: 408a lsls r2, r1 + eaee: 4013 ands r3, r2 + eaf0: 410b asrs r3, r1 return opa_table[px_opa]; - f09a: aa04 add r2, sp, #16 - f09c: fa52 f383 uxtab r3, r2, r3 - f0a0: f813 0c10 ldrb.w r0, [r3, #-16] - f0a4: e7b8 b.n f018 + eaf2: aa04 add r2, sp, #16 + eaf4: fa52 f383 uxtab r3, r2, r3 + eaf8: f813 0c10 ldrb.w r0, [r3, #-16] + eafc: e7b8 b.n ea70 const uint8_t opa_table[16] = {0, 17, 34, 51, /*Opacity mapping with bpp = 4*/ - f0a6: 4b12 ldr r3, [pc, #72] ; (f0f0 ) - f0a8: cb0f ldmia r3, {r0, r1, r2, r3} - f0aa: f10d 0e10 add.w lr, sp, #16 - f0ae: e90e 000f stmdb lr, {r0, r1, r2, r3} + eafe: 4b12 ldr r3, [pc, #72] ; (eb48 ) + eb00: cb0f ldmia r3, {r0, r1, r2, r3} + eb02: f10d 0e10 add.w lr, sp, #16 + eb06: e90e 000f stmdb lr, {r0, r1, r2, r3} uint8_t bit = (x & 0x1) * 4; - f0b2: f005 0301 and.w r3, r5, #1 + eb0a: f005 0301 and.w r3, r5, #1 uint8_t px_opa = (buf_u8[px] & (0xF << (4 - bit))) >> (4 - bit); - f0b6: 009b lsls r3, r3, #2 - f0b8: f1c3 0104 rsb r1, r3, #4 + eb0e: 009b lsls r3, r3, #2 + eb10: f1c3 0104 rsb r1, r3, #4 uint32_t px = ((dsc->header.w + 1) >> 1) * y + x; - f0bc: 6822 ldr r2, [r4, #0] - f0be: f3c2 228a ubfx r2, r2, #10, #11 - f0c2: 3201 adds r2, #1 - f0c4: 1052 asrs r2, r2, #1 - f0c6: 106d asrs r5, r5, #1 + eb14: 6822 ldr r2, [r4, #0] + eb16: f3c2 228a ubfx r2, r2, #10, #11 + eb1a: 3201 adds r2, #1 + eb1c: 1052 asrs r2, r2, #1 + eb1e: 106d asrs r5, r5, #1 uint8_t px_opa = (buf_u8[px] & (0xF << (4 - bit))) >> (4 - bit); - f0c8: fb07 6202 mla r2, r7, r2, r6 - f0cc: 5d53 ldrb r3, [r2, r5] - f0ce: 220f movs r2, #15 - f0d0: 408a lsls r2, r1 - f0d2: 4013 ands r3, r2 - f0d4: 410b asrs r3, r1 + eb20: fb07 6202 mla r2, r7, r2, r6 + eb24: 5d53 ldrb r3, [r2, r5] + eb26: 220f movs r2, #15 + eb28: 408a lsls r2, r1 + eb2a: 4013 ands r3, r2 + eb2c: 410b asrs r3, r1 return opa_table[px_opa]; - f0d6: fa5e f383 uxtab r3, lr, r3 - f0da: f813 0c10 ldrb.w r0, [r3, #-16] - f0de: e79b b.n f018 + eb2e: fa5e f383 uxtab r3, lr, r3 + eb32: f813 0c10 ldrb.w r0, [r3, #-16] + eb36: e79b b.n ea70 uint32_t px = dsc->header.w * y + x; - f0e0: 6802 ldr r2, [r0, #0] - f0e2: f3c2 228a ubfx r2, r2, #10, #11 + eb38: 6802 ldr r2, [r0, #0] + eb3a: f3c2 228a ubfx r2, r2, #10, #11 return buf_u8[px]; - f0e6: fb07 6202 mla r2, r7, r2, r6 - f0ea: 5c50 ldrb r0, [r2, r1] - f0ec: e794 b.n f018 - f0ee: bf00 nop - f0f0: 0001c5f0 .word 0x0001c5f0 + eb3e: fb07 6202 mla r2, r7, r2, r6 + eb42: 5c50 ldrb r0, [r2, r1] + eb44: e794 b.n ea70 + eb46: bf00 nop + eb48: 0002510c .word 0x0002510c -0000f0f4 <_lv_img_buf_transform_init>: +0000eb4c <_lv_img_buf_transform_init>: /** * Initialize a descriptor to tranform an image * @param dsc pointer to an `lv_img_transform_dsc_t` variable whose `cfg` field is initialized */ void _lv_img_buf_transform_init(lv_img_transform_dsc_t * dsc) { - f0f4: e92d 4ff8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr} - f0f8: 4604 mov r4, r0 + eb4c: e92d 4ff8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr} + eb50: 4604 mov r4, r0 dsc->tmp.pivot_x_256 = dsc->cfg.pivot_x * 256; - f0fa: f9b0 3008 ldrsh.w r3, [r0, #8] - f0fe: 021b lsls r3, r3, #8 - f100: 6243 str r3, [r0, #36] ; 0x24 + eb52: f9b0 3008 ldrsh.w r3, [r0, #8] + eb56: 021b lsls r3, r3, #8 + eb58: 6243 str r3, [r0, #36] ; 0x24 dsc->tmp.pivot_y_256 = dsc->cfg.pivot_y * 256; - f102: f9b0 300a ldrsh.w r3, [r0, #10] - f106: 021b lsls r3, r3, #8 - f108: 6283 str r3, [r0, #40] ; 0x28 + eb5a: f9b0 300a ldrsh.w r3, [r0, #10] + eb5e: 021b lsls r3, r3, #8 + eb60: 6283 str r3, [r0, #40] ; 0x28 int32_t angle_low = dsc->cfg.angle / 10; - f10a: f9b0 000c ldrsh.w r0, [r0, #12] - f10e: f8df 80f4 ldr.w r8, [pc, #244] ; f204 <_lv_img_buf_transform_init+0x110> - f112: fb88 2300 smull r2, r3, r8, r0 - f116: 17c5 asrs r5, r0, #31 - f118: ebc5 05a3 rsb r5, r5, r3, asr #2 - f11c: b22d sxth r5, r5 + eb62: f9b0 000c ldrsh.w r0, [r0, #12] + eb66: f8df 80f4 ldr.w r8, [pc, #244] ; ec5c <_lv_img_buf_transform_init+0x110> + eb6a: fb88 2300 smull r2, r3, r8, r0 + eb6e: 17c5 asrs r5, r0, #31 + eb70: ebc5 05a3 rsb r5, r5, r3, asr #2 + eb74: b22d sxth r5, r5 int32_t angle_hight = angle_low + 1; int32_t angle_rem = dsc->cfg.angle - (angle_low * 10); - f11e: f06f 0709 mvn.w r7, #9 - f122: fb07 0705 mla r7, r7, r5, r0 + eb76: f06f 0709 mvn.w r7, #9 + eb7a: fb07 0705 mla r7, r7, r5, r0 int32_t s1 = _lv_trigo_sin(-angle_low); - f126: fa1f fa85 uxth.w sl, r5 - f12a: f1ca 0000 rsb r0, sl, #0 - f12e: b200 sxth r0, r0 - f130: f8df 90d4 ldr.w r9, [pc, #212] ; f208 <_lv_img_buf_transform_init+0x114> - f134: 47c8 blx r9 - f136: 4606 mov r6, r0 + eb7e: fa1f fa85 uxth.w sl, r5 + eb82: f1ca 0000 rsb r0, sl, #0 + eb86: b200 sxth r0, r0 + eb88: f8df 90d4 ldr.w r9, [pc, #212] ; ec60 <_lv_img_buf_transform_init+0x114> + eb8c: 47c8 blx r9 + eb8e: 4606 mov r6, r0 int32_t angle_hight = angle_low + 1; - f138: 3501 adds r5, #1 + eb90: 3501 adds r5, #1 int32_t s2 = _lv_trigo_sin(-angle_hight); - f13a: b2ad uxth r5, r5 - f13c: 4268 negs r0, r5 - f13e: b200 sxth r0, r0 - f140: 47c8 blx r9 - f142: 4683 mov fp, r0 + eb92: b2ad uxth r5, r5 + eb94: 4268 negs r0, r5 + eb96: b200 sxth r0, r0 + eb98: 47c8 blx r9 + eb9a: 4683 mov fp, r0 int32_t c1 = _lv_trigo_sin(-angle_low + 90); - f144: f1ca 005a rsb r0, sl, #90 ; 0x5a - f148: b200 sxth r0, r0 - f14a: 47c8 blx r9 - f14c: 4682 mov sl, r0 + eb9c: f1ca 005a rsb r0, sl, #90 ; 0x5a + eba0: b200 sxth r0, r0 + eba2: 47c8 blx r9 + eba4: 4682 mov sl, r0 int32_t c2 = _lv_trigo_sin(-angle_hight + 90); - f14e: f1c5 055a rsb r5, r5, #90 ; 0x5a - f152: b228 sxth r0, r5 - f154: 47c8 blx r9 + eba6: f1c5 055a rsb r5, r5, #90 ; 0x5a + ebaa: b228 sxth r0, r5 + ebac: 47c8 blx r9 dsc->tmp.sinma = (s1 * (10 - angle_rem) + s2 * angle_rem) / 10; - f156: f1c7 030a rsb r3, r7, #10 - f15a: fb07 fb0b mul.w fp, r7, fp - f15e: fb03 b606 mla r6, r3, r6, fp - f162: fb88 2b06 smull r2, fp, r8, r6 - f166: 17f6 asrs r6, r6, #31 - f168: ebc6 06ab rsb r6, r6, fp, asr #2 - f16c: 62e6 str r6, [r4, #44] ; 0x2c + ebae: f1c7 030a rsb r3, r7, #10 + ebb2: fb07 fb0b mul.w fp, r7, fp + ebb6: fb03 b606 mla r6, r3, r6, fp + ebba: fb88 2b06 smull r2, fp, r8, r6 + ebbe: 17f6 asrs r6, r6, #31 + ebc0: ebc6 06ab rsb r6, r6, fp, asr #2 + ebc4: 62e6 str r6, [r4, #44] ; 0x2c dsc->tmp.cosma = (c1 * (10 - angle_rem) + c2 * angle_rem) / 10; - f16e: fb07 f000 mul.w r0, r7, r0 - f172: fb03 000a mla r0, r3, sl, r0 - f176: fb88 3800 smull r3, r8, r8, r0 - f17a: 17c0 asrs r0, r0, #31 - f17c: ebc0 00a8 rsb r0, r0, r8, asr #2 - f180: 6320 str r0, [r4, #48] ; 0x30 + ebc6: fb07 f000 mul.w r0, r7, r0 + ebca: fb03 000a mla r0, r3, sl, r0 + ebce: fb88 3800 smull r3, r8, r8, r0 + ebd2: 17c0 asrs r0, r0, #31 + ebd4: ebc0 00a8 rsb r0, r0, r8, asr #2 + ebd8: 6320 str r0, [r4, #48] ; 0x30 dsc->tmp.chroma_keyed = lv_img_cf_is_chroma_keyed(dsc->cfg.cf) ? 1 : 0; - f182: 7ca0 ldrb r0, [r4, #18] - f184: 4b1d ldr r3, [pc, #116] ; (f1fc <_lv_img_buf_transform_init+0x108>) - f186: 4798 blx r3 - f188: f894 3034 ldrb.w r3, [r4, #52] ; 0x34 - f18c: f360 0300 bfi r3, r0, #0, #1 - f190: f884 3034 strb.w r3, [r4, #52] ; 0x34 + ebda: 7ca0 ldrb r0, [r4, #18] + ebdc: 4b1d ldr r3, [pc, #116] ; (ec54 <_lv_img_buf_transform_init+0x108>) + ebde: 4798 blx r3 + ebe0: f894 3034 ldrb.w r3, [r4, #52] ; 0x34 + ebe4: f360 0300 bfi r3, r0, #0, #1 + ebe8: f884 3034 strb.w r3, [r4, #52] ; 0x34 dsc->tmp.has_alpha = lv_img_cf_has_alpha(dsc->cfg.cf) ? 1 : 0; - f194: 7ca0 ldrb r0, [r4, #18] - f196: 4b1a ldr r3, [pc, #104] ; (f200 <_lv_img_buf_transform_init+0x10c>) - f198: 4798 blx r3 - f19a: f894 3034 ldrb.w r3, [r4, #52] ; 0x34 - f19e: f360 0341 bfi r3, r0, #1, #1 - f1a2: f884 3034 strb.w r3, [r4, #52] ; 0x34 + ebec: 7ca0 ldrb r0, [r4, #18] + ebee: 4b1a ldr r3, [pc, #104] ; (ec58 <_lv_img_buf_transform_init+0x10c>) + ebf0: 4798 blx r3 + ebf2: f894 3034 ldrb.w r3, [r4, #52] ; 0x34 + ebf6: f360 0341 bfi r3, r0, #1, #1 + ebfa: f884 3034 strb.w r3, [r4, #52] ; 0x34 if(dsc->cfg.cf == LV_IMG_CF_TRUE_COLOR || dsc->cfg.cf == LV_IMG_CF_TRUE_COLOR_ALPHA || - f1a6: 7ca2 ldrb r2, [r4, #18] - f1a8: 1f13 subs r3, r2, #4 - f1aa: b2db uxtb r3, r3 - f1ac: 2b02 cmp r3, #2 + ebfe: 7ca2 ldrb r2, [r4, #18] + ec00: 1f13 subs r3, r2, #4 + ec02: b2db uxtb r3, r3 + ec04: 2b02 cmp r3, #2 dsc->cfg.cf == LV_IMG_CF_TRUE_COLOR_CHROMA_KEYED) { dsc->tmp.native_color = 1; - f1ae: f894 3034 ldrb.w r3, [r4, #52] ; 0x34 - f1b2: bf94 ite ls - f1b4: f043 0304 orrls.w r3, r3, #4 + ec06: f894 3034 ldrb.w r3, [r4, #52] ; 0x34 + ec0a: bf94 ite ls + ec0c: f043 0304 orrls.w r3, r3, #4 } else { dsc->tmp.native_color = 0; - f1b8: f36f 0382 bfchi r3, #2, #1 - f1bc: f884 3034 strb.w r3, [r4, #52] ; 0x34 + ec10: f36f 0382 bfchi r3, #2, #1 + ec14: f884 3034 strb.w r3, [r4, #52] ; 0x34 } dsc->tmp.img_dsc.data = dsc->cfg.src; - f1c0: 6823 ldr r3, [r4, #0] - f1c2: 6223 str r3, [r4, #32] + ec18: 6823 ldr r3, [r4, #0] + ec1a: 6223 str r3, [r4, #32] dsc->tmp.img_dsc.header.always_zero = 0; - f1c4: 7e23 ldrb r3, [r4, #24] + ec1c: 7e23 ldrb r3, [r4, #24] dsc->tmp.img_dsc.header.cf = dsc->cfg.cf; - f1c6: f003 031f and.w r3, r3, #31 - f1ca: f362 0304 bfi r3, r2, #0, #5 - f1ce: 7623 strb r3, [r4, #24] + ec1e: f003 031f and.w r3, r3, #31 + ec22: f362 0304 bfi r3, r2, #0, #5 + ec26: 7623 strb r3, [r4, #24] dsc->tmp.img_dsc.header.w = dsc->cfg.src_w; - f1d0: 69a3 ldr r3, [r4, #24] - f1d2: 88a2 ldrh r2, [r4, #4] - f1d4: f362 2394 bfi r3, r2, #10, #11 - f1d8: 61a3 str r3, [r4, #24] + ec28: 69a3 ldr r3, [r4, #24] + ec2a: 88a2 ldrh r2, [r4, #4] + ec2c: f362 2394 bfi r3, r2, #10, #11 + ec30: 61a3 str r3, [r4, #24] dsc->tmp.img_dsc.header.h = dsc->cfg.src_h; - f1da: 0c1b lsrs r3, r3, #16 - f1dc: 88e2 ldrh r2, [r4, #6] - f1de: f362 134f bfi r3, r2, #5, #11 - f1e2: 8363 strh r3, [r4, #26] + ec32: 0c1b lsrs r3, r3, #16 + ec34: 88e2 ldrh r2, [r4, #6] + ec36: f362 134f bfi r3, r2, #5, #11 + ec3a: 8363 strh r3, [r4, #26] dsc->tmp.zoom_inv = (256 * 256) / dsc->cfg.zoom; - f1e4: 89e2 ldrh r2, [r4, #14] - f1e6: f44f 3380 mov.w r3, #65536 ; 0x10000 - f1ea: fb93 f3f2 sdiv r3, r3, r2 - f1ee: 86e3 strh r3, [r4, #54] ; 0x36 + ec3c: 89e2 ldrh r2, [r4, #14] + ec3e: f44f 3380 mov.w r3, #65536 ; 0x10000 + ec42: fb93 f3f2 sdiv r3, r3, r2 + ec46: 86e3 strh r3, [r4, #54] ; 0x36 dsc->res.opa = LV_OPA_COVER; - f1f0: 23ff movs r3, #255 ; 0xff - f1f2: 75a3 strb r3, [r4, #22] + ec48: 23ff movs r3, #255 ; 0xff + ec4a: 75a3 strb r3, [r4, #22] dsc->res.color = dsc->cfg.color; - f1f4: 8a23 ldrh r3, [r4, #16] - f1f6: 82a3 strh r3, [r4, #20] - f1f8: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} - f1fc: 00009c5b .word 0x00009c5b - f200: 00009c6f .word 0x00009c6f - f204: 66666667 .word 0x66666667 - f208: 0001284d .word 0x0001284d - -0000f20c <_lv_img_buf_get_transformed_area>: + ec4c: 8a23 ldrh r3, [r4, #16] + ec4e: 82a3 strh r3, [r4, #20] + ec50: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} + ec54: 000096b3 .word 0x000096b3 + ec58: 000096c7 .word 0x000096c7 + ec5c: 66666667 .word 0x66666667 + ec60: 000122a5 .word 0x000122a5 + +0000ec64 <_lv_img_buf_get_transformed_area>: * @param zoom zoom, (256 no zoom) * @param pivot x,y pivot coordinates of rotation */ void _lv_img_buf_get_transformed_area(lv_area_t * res, lv_coord_t w, lv_coord_t h, int16_t angle, uint16_t zoom, lv_point_t * pivot) { - f20c: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - f210: b087 sub sp, #28 - f212: 9003 str r0, [sp, #12] - f214: 9104 str r1, [sp, #16] - f216: 9205 str r2, [sp, #20] - f218: f8bd 4040 ldrh.w r4, [sp, #64] ; 0x40 - f21c: 9401 str r4, [sp, #4] - f21e: f8dd b044 ldr.w fp, [sp, #68] ; 0x44 + ec64: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + ec68: b087 sub sp, #28 + ec6a: 9003 str r0, [sp, #12] + ec6c: 9104 str r1, [sp, #16] + ec6e: 9205 str r2, [sp, #20] + ec70: f8bd 4040 ldrh.w r4, [sp, #64] ; 0x40 + ec74: 9401 str r4, [sp, #4] + ec76: f8dd b044 ldr.w fp, [sp, #68] ; 0x44 #if LV_USE_IMG_TRANSFORM int32_t angle_low = angle / 10; - f222: 4f5e ldr r7, [pc, #376] ; (f39c <_lv_img_buf_get_transformed_area+0x190>) - f224: fb87 6003 smull r6, r0, r7, r3 - f228: 17dd asrs r5, r3, #31 - f22a: ebc5 05a0 rsb r5, r5, r0, asr #2 - f22e: b22d sxth r5, r5 + ec7a: 4f5e ldr r7, [pc, #376] ; (edf4 <_lv_img_buf_get_transformed_area+0x190>) + ec7c: fb87 6003 smull r6, r0, r7, r3 + ec80: 17dd asrs r5, r3, #31 + ec82: ebc5 05a0 rsb r5, r5, r0, asr #2 + ec86: b22d sxth r5, r5 int32_t angle_hight = angle_low + 1; - f230: f105 0901 add.w r9, r5, #1 + ec88: f105 0901 add.w r9, r5, #1 int32_t angle_rem = angle - (angle_low * 10); - f234: f06f 0609 mvn.w r6, #9 - f238: fb06 3605 mla r6, r6, r5, r3 + ec8c: f06f 0609 mvn.w r6, #9 + ec90: fb06 3605 mla r6, r6, r5, r3 int32_t s1 = _lv_trigo_sin(angle_low); - f23c: 4628 mov r0, r5 - f23e: f8df 8160 ldr.w r8, [pc, #352] ; f3a0 <_lv_img_buf_get_transformed_area+0x194> - f242: 47c0 blx r8 - f244: 4604 mov r4, r0 + ec94: 4628 mov r0, r5 + ec96: f8df 8160 ldr.w r8, [pc, #352] ; edf8 <_lv_img_buf_get_transformed_area+0x194> + ec9a: 47c0 blx r8 + ec9c: 4604 mov r4, r0 int32_t s2 = _lv_trigo_sin(angle_hight); - f246: fa0f f089 sxth.w r0, r9 - f24a: 47c0 blx r8 - f24c: 4682 mov sl, r0 + ec9e: fa0f f089 sxth.w r0, r9 + eca2: 47c0 blx r8 + eca4: 4682 mov sl, r0 int32_t c1 = _lv_trigo_sin(angle_low + 90); - f24e: f105 005a add.w r0, r5, #90 ; 0x5a - f252: b200 sxth r0, r0 - f254: 47c0 blx r8 - f256: 4605 mov r5, r0 + eca6: f105 005a add.w r0, r5, #90 ; 0x5a + ecaa: b200 sxth r0, r0 + ecac: 47c0 blx r8 + ecae: 4605 mov r5, r0 int32_t c2 = _lv_trigo_sin(angle_hight + 90); - f258: f109 005a add.w r0, r9, #90 ; 0x5a - f25c: b200 sxth r0, r0 - f25e: 47c0 blx r8 + ecb0: f109 005a add.w r0, r9, #90 ; 0x5a + ecb4: b200 sxth r0, r0 + ecb6: 47c0 blx r8 int32_t sinma = (s1 * (10 - angle_rem) + s2 * angle_rem) / 10; - f260: f1c6 030a rsb r3, r6, #10 - f264: fb06 fa0a mul.w sl, r6, sl - f268: fb03 a404 mla r4, r3, r4, sl - f26c: fb87 ea04 smull lr, sl, r7, r4 - f270: 17e4 asrs r4, r4, #31 - f272: ebc4 04aa rsb r4, r4, sl, asr #2 + ecb8: f1c6 030a rsb r3, r6, #10 + ecbc: fb06 fa0a mul.w sl, r6, sl + ecc0: fb03 a404 mla r4, r3, r4, sl + ecc4: fb87 ea04 smull lr, sl, r7, r4 + ecc8: 17e4 asrs r4, r4, #31 + ecca: ebc4 04aa rsb r4, r4, sl, asr #2 int32_t cosma = (c1 * (10 - angle_rem) + c2 * angle_rem) / 10; - f276: fb06 f000 mul.w r0, r6, r0 - f27a: fb03 0505 mla r5, r3, r5, r0 - f27e: fb87 3705 smull r3, r7, r7, r5 - f282: 17ed asrs r5, r5, #31 - f284: ebc5 07a7 rsb r7, r5, r7, asr #2 + ecce: fb06 f000 mul.w r0, r6, r0 + ecd2: fb03 0505 mla r5, r3, r5, r0 + ecd6: fb87 3705 smull r3, r7, r7, r5 + ecda: 17ed asrs r5, r5, #31 + ecdc: ebc5 07a7 rsb r7, r5, r7, asr #2 lv_coord_t xt; lv_coord_t yt; lv_area_t a; a.x1 = ((-pivot->x) * zoom) >> 8; - f288: f9bb c000 ldrsh.w ip, [fp] + ece0: f9bb c000 ldrsh.w ip, [fp] a.y1 = ((-pivot->y) * zoom) >> 8; - f28c: f9bb 8002 ldrsh.w r8, [fp, #2] + ece4: f9bb 8002 ldrsh.w r8, [fp, #2] a.x1 = ((-pivot->x) * zoom) >> 8; - f290: f1cc 0300 rsb r3, ip, #0 - f294: 9d01 ldr r5, [sp, #4] - f296: fb05 f303 mul.w r3, r5, r3 + ece8: f1cc 0300 rsb r3, ip, #0 + ecec: 9d01 ldr r5, [sp, #4] + ecee: fb05 f303 mul.w r3, r5, r3 a.x2 = ((w - pivot->x) * zoom) >> 8; a.y2 = ((h - pivot->y) * zoom) >> 8; xt = a.x1; yt = a.y1; lt.x = ((cosma * xt - sinma * yt) >> LV_TRIGO_SHIFT) + pivot->x; - f29a: f343 230f sbfx r3, r3, #8, #16 - f29e: fb03 fa07 mul.w sl, r3, r7 + ecf2: f343 230f sbfx r3, r3, #8, #16 + ecf6: fb03 fa07 mul.w sl, r3, r7 a.y1 = ((-pivot->y) * zoom) >> 8; - f2a2: f1c8 0200 rsb r2, r8, #0 - f2a6: fb05 f202 mul.w r2, r5, r2 + ecfa: f1c8 0200 rsb r2, r8, #0 + ecfe: fb05 f202 mul.w r2, r5, r2 lt.x = ((cosma * xt - sinma * yt) >> LV_TRIGO_SHIFT) + pivot->x; - f2aa: f342 220f sbfx r2, r2, #8, #16 - f2ae: fb02 fe04 mul.w lr, r2, r4 - f2b2: fa1f f68c uxth.w r6, ip - f2b6: ebaa 0b0e sub.w fp, sl, lr - f2ba: eb06 3beb add.w fp, r6, fp, asr #15 - f2be: fa0f fb8b sxth.w fp, fp + ed02: f342 220f sbfx r2, r2, #8, #16 + ed06: fb02 fe04 mul.w lr, r2, r4 + ed0a: fa1f f68c uxth.w r6, ip + ed0e: ebaa 0b0e sub.w fp, sl, lr + ed12: eb06 3beb add.w fp, r6, fp, asr #15 + ed16: fa0f fb8b sxth.w fp, fp lt.y = ((sinma * xt + cosma * yt) >> LV_TRIGO_SHIFT) + pivot->y; - f2c2: fb03 f304 mul.w r3, r3, r4 - f2c6: fb02 f207 mul.w r2, r2, r7 - f2ca: fa1f f088 uxth.w r0, r8 - f2ce: 1899 adds r1, r3, r2 - f2d0: eb00 31e1 add.w r1, r0, r1, asr #15 - f2d4: b209 sxth r1, r1 - f2d6: 9102 str r1, [sp, #8] + ed1a: fb03 f304 mul.w r3, r3, r4 + ed1e: fb02 f207 mul.w r2, r2, r7 + ed22: fa1f f088 uxth.w r0, r8 + ed26: 1899 adds r1, r3, r2 + ed28: eb00 31e1 add.w r1, r0, r1, asr #15 + ed2c: b209 sxth r1, r1 + ed2e: 9102 str r1, [sp, #8] a.x2 = ((w - pivot->x) * zoom) >> 8; - f2d8: 9904 ldr r1, [sp, #16] - f2da: eba1 0c0c sub.w ip, r1, ip - f2de: fb05 fc0c mul.w ip, r5, ip + ed30: 9904 ldr r1, [sp, #16] + ed32: eba1 0c0c sub.w ip, r1, ip + ed36: fb05 fc0c mul.w ip, r5, ip xt = a.x2; yt = a.y1; rt.x = ((cosma * xt - sinma * yt) >> LV_TRIGO_SHIFT) + pivot->x; - f2e2: f34c 2c0f sbfx ip, ip, #8, #16 - f2e6: fb0c f907 mul.w r9, ip, r7 - f2ea: eba9 0e0e sub.w lr, r9, lr - f2ee: eb06 3eee add.w lr, r6, lr, asr #15 - f2f2: fa0f fe8e sxth.w lr, lr + ed3a: f34c 2c0f sbfx ip, ip, #8, #16 + ed3e: fb0c f907 mul.w r9, ip, r7 + ed42: eba9 0e0e sub.w lr, r9, lr + ed46: eb06 3eee add.w lr, r6, lr, asr #15 + ed4a: fa0f fe8e sxth.w lr, lr rt.y = ((sinma * xt + cosma * yt) >> LV_TRIGO_SHIFT) + pivot->y; - f2f6: fb0c fc04 mul.w ip, ip, r4 - f2fa: 4462 add r2, ip - f2fc: eb00 32e2 add.w r2, r0, r2, asr #15 - f300: b212 sxth r2, r2 + ed4e: fb0c fc04 mul.w ip, ip, r4 + ed52: 4462 add r2, ip + ed54: eb00 32e2 add.w r2, r0, r2, asr #15 + ed58: b212 sxth r2, r2 a.y2 = ((h - pivot->y) * zoom) >> 8; - f302: 9905 ldr r1, [sp, #20] - f304: eba1 0808 sub.w r8, r1, r8 - f308: fb05 f808 mul.w r8, r5, r8 + ed5a: 9905 ldr r1, [sp, #20] + ed5c: eba1 0808 sub.w r8, r1, r8 + ed60: fb05 f808 mul.w r8, r5, r8 xt = a.x1; yt = a.y2; lb.x = ((cosma * xt - sinma * yt) >> LV_TRIGO_SHIFT) + pivot->x; - f30c: f348 280f sbfx r8, r8, #8, #16 - f310: fb08 f404 mul.w r4, r8, r4 - f314: ebaa 0504 sub.w r5, sl, r4 - f318: eb06 35e5 add.w r5, r6, r5, asr #15 - f31c: b22d sxth r5, r5 + ed64: f348 280f sbfx r8, r8, #8, #16 + ed68: fb08 f404 mul.w r4, r8, r4 + ed6c: ebaa 0504 sub.w r5, sl, r4 + ed70: eb06 35e5 add.w r5, r6, r5, asr #15 + ed74: b22d sxth r5, r5 lb.y = ((sinma * xt + cosma * yt) >> LV_TRIGO_SHIFT) + pivot->y; - f31e: fb08 f707 mul.w r7, r8, r7 - f322: 443b add r3, r7 - f324: eb00 33e3 add.w r3, r0, r3, asr #15 - f328: b21b sxth r3, r3 + ed76: fb08 f707 mul.w r7, r8, r7 + ed7a: 443b add r3, r7 + ed7c: eb00 33e3 add.w r3, r0, r3, asr #15 + ed80: b21b sxth r3, r3 xt = a.x2; yt = a.y2; rb.x = ((cosma * xt - sinma * yt) >> LV_TRIGO_SHIFT) + pivot->x; - f32a: eba9 0404 sub.w r4, r9, r4 - f32e: eb06 36e4 add.w r6, r6, r4, asr #15 - f332: b236 sxth r6, r6 + ed82: eba9 0404 sub.w r4, r9, r4 + ed86: eb06 36e4 add.w r6, r6, r4, asr #15 + ed8a: b236 sxth r6, r6 rb.y = ((sinma * xt + cosma * yt) >> LV_TRIGO_SHIFT) + pivot->y; - f334: 44bc add ip, r7 - f336: eb00 30ec add.w r0, r0, ip, asr #15 - f33a: b200 sxth r0, r0 + ed8c: 44bc add ip, r7 + ed8e: eb00 30ec add.w r0, r0, ip, asr #15 + ed92: b200 sxth r0, r0 res->x1 = LV_MATH_MIN4(lb.x, lt.x, rb.x, rt.x); - f33c: 465c mov r4, fp - f33e: 45f3 cmp fp, lr - f340: bfa8 it ge - f342: 4674 movge r4, lr - f344: 42ac cmp r4, r5 - f346: bfa8 it ge - f348: 462c movge r4, r5 - f34a: 42b4 cmp r4, r6 - f34c: bfa8 it ge - f34e: 4634 movge r4, r6 - f350: 9903 ldr r1, [sp, #12] - f352: 460f mov r7, r1 - f354: 800c strh r4, [r1, #0] + ed94: 465c mov r4, fp + ed96: 45f3 cmp fp, lr + ed98: bfa8 it ge + ed9a: 4674 movge r4, lr + ed9c: 42ac cmp r4, r5 + ed9e: bfa8 it ge + eda0: 462c movge r4, r5 + eda2: 42b4 cmp r4, r6 + eda4: bfa8 it ge + eda6: 4634 movge r4, r6 + eda8: 9903 ldr r1, [sp, #12] + edaa: 460f mov r7, r1 + edac: 800c strh r4, [r1, #0] res->x2 = LV_MATH_MAX4(lb.x, lt.x, rb.x, rt.x); - f356: 45de cmp lr, fp - f358: bfb8 it lt - f35a: 46de movlt lr, fp - f35c: 4575 cmp r5, lr - f35e: bfb8 it lt - f360: 4675 movlt r5, lr - f362: 42ae cmp r6, r5 - f364: bfb8 it lt - f366: 462e movlt r6, r5 - f368: 808e strh r6, [r1, #4] + edae: 45de cmp lr, fp + edb0: bfb8 it lt + edb2: 46de movlt lr, fp + edb4: 4575 cmp r5, lr + edb6: bfb8 it lt + edb8: 4675 movlt r5, lr + edba: 42ae cmp r6, r5 + edbc: bfb8 it lt + edbe: 462e movlt r6, r5 + edc0: 808e strh r6, [r1, #4] res->y1 = LV_MATH_MIN4(lb.y, lt.y, rb.y, rt.y); - f36a: 9902 ldr r1, [sp, #8] - f36c: 460c mov r4, r1 - f36e: 4291 cmp r1, r2 - f370: bfa8 it ge - f372: 4614 movge r4, r2 - f374: 429c cmp r4, r3 - f376: bfa8 it ge - f378: 461c movge r4, r3 - f37a: 4284 cmp r4, r0 - f37c: bfa8 it ge - f37e: 4604 movge r4, r0 - f380: 807c strh r4, [r7, #2] + edc2: 9902 ldr r1, [sp, #8] + edc4: 460c mov r4, r1 + edc6: 4291 cmp r1, r2 + edc8: bfa8 it ge + edca: 4614 movge r4, r2 + edcc: 429c cmp r4, r3 + edce: bfa8 it ge + edd0: 461c movge r4, r3 + edd2: 4284 cmp r4, r0 + edd4: bfa8 it ge + edd6: 4604 movge r4, r0 + edd8: 807c strh r4, [r7, #2] res->y2 = LV_MATH_MAX4(lb.y, lt.y, rb.y, rt.y); - f382: 4291 cmp r1, r2 - f384: bfb8 it lt - f386: 4611 movlt r1, r2 - f388: 428b cmp r3, r1 - f38a: bfb8 it lt - f38c: 460b movlt r3, r1 - f38e: 4298 cmp r0, r3 - f390: bfb8 it lt - f392: 4618 movlt r0, r3 - f394: 80f8 strh r0, [r7, #6] + edda: 4291 cmp r1, r2 + eddc: bfb8 it lt + edde: 4611 movlt r1, r2 + ede0: 428b cmp r3, r1 + ede2: bfb8 it lt + ede4: 460b movlt r3, r1 + ede6: 4298 cmp r0, r3 + ede8: bfb8 it lt + edea: 4618 movlt r0, r3 + edec: 80f8 strh r0, [r7, #6] res->x1 = 0; res->y1 = 0; res->x2 = w; res->y2 = h; #endif } - f396: b007 add sp, #28 - f398: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} - f39c: 66666667 .word 0x66666667 - f3a0: 0001284d .word 0x0001284d + edee: b007 add sp, #28 + edf0: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + edf4: 66666667 .word 0x66666667 + edf8: 000122a5 .word 0x000122a5 -0000f3a4 <_lv_img_buf_transform_anti_alias>: +0000edfc <_lv_img_buf_transform_anti_alias>: /** * Continue transformation by taking the neighbors into account * @param dsc pointer to the transformation descriptor */ bool _lv_img_buf_transform_anti_alias(lv_img_transform_dsc_t * dsc) { - f3a4: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - f3a8: b089 sub sp, #36 ; 0x24 - f3aa: 4604 mov r4, r0 + edfc: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + ee00: b089 sub sp, #36 ; 0x24 + ee02: 4604 mov r4, r0 const uint8_t * src_u8 = dsc->cfg.src; /*Get the fractional part of the source pixel*/ int xs_fract = dsc->tmp.xs & 0xff; - f3ac: f9b0 5038 ldrsh.w r5, [r0, #56] ; 0x38 - f3b0: b2ea uxtb r2, r5 + ee04: f9b0 5038 ldrsh.w r5, [r0, #56] ; 0x38 + ee08: b2ea uxtb r2, r5 int ys_fract = dsc->tmp.ys & 0xff; - f3b2: f9b0 603a ldrsh.w r6, [r0, #58] ; 0x3a - f3b6: b2f3 uxtb r3, r6 + ee0a: f9b0 603a ldrsh.w r6, [r0, #58] ; 0x3a + ee0e: b2f3 uxtb r3, r6 int32_t xn; /*x neightboor*/ lv_opa_t xr; /*x mix ratio*/ if(xs_fract < 0x70) { - f3b8: 2a6f cmp r2, #111 ; 0x6f - f3ba: dc74 bgt.n f4a6 <_lv_img_buf_transform_anti_alias+0x102> + ee10: 2a6f cmp r2, #111 ; 0x6f + ee12: dc74 bgt.n eefe <_lv_img_buf_transform_anti_alias+0x102> xn = - 1; if(dsc->tmp.xs_int + xn < 0) xn = 0; - f3bc: f9b0 103c ldrsh.w r1, [r0, #60] ; 0x3c - f3c0: 4249 negs r1, r1 - f3c2: 17c9 asrs r1, r1, #31 + ee14: f9b0 103c ldrsh.w r1, [r0, #60] ; 0x3c + ee18: 4249 negs r1, r1 + ee1a: 17c9 asrs r1, r1, #31 xr = xs_fract + 0x80; - f3c4: 3d80 subs r5, #128 ; 0x80 - f3c6: b2ed uxtb r5, r5 + ee1c: 3d80 subs r5, #128 ; 0x80 + ee1e: b2ed uxtb r5, r5 } int32_t yn; /*x neightboor*/ lv_opa_t yr; /*x mix ratio*/ if(ys_fract < 0x70) { - f3c8: 2b6f cmp r3, #111 ; 0x6f - f3ca: dc7e bgt.n f4ca <_lv_img_buf_transform_anti_alias+0x126> + ee20: 2b6f cmp r3, #111 ; 0x6f + ee22: dc7e bgt.n ef22 <_lv_img_buf_transform_anti_alias+0x126> yn = - 1; if(dsc->tmp.ys_int + yn < 0) yn = 0; - f3cc: f9b4 b03e ldrsh.w fp, [r4, #62] ; 0x3e - f3d0: f1cb 0b00 rsb fp, fp, #0 - f3d4: ea4f 7beb mov.w fp, fp, asr #31 + ee24: f9b4 b03e ldrsh.w fp, [r4, #62] ; 0x3e + ee28: f1cb 0b00 rsb fp, fp, #0 + ee2c: ea4f 7beb mov.w fp, fp, asr #31 yr = ys_fract + 0x80; - f3d8: 3e80 subs r6, #128 ; 0x80 - f3da: b2f6 uxtb r6, r6 + ee30: 3e80 subs r6, #128 ; 0x80 + ee32: b2f6 uxtb r6, r6 else { yn = 0; yr = 0xFF; } lv_color_t c00 = dsc->res.color; - f3dc: f894 9014 ldrb.w r9, [r4, #20] - f3e0: f009 091f and.w r9, r9, #31 - f3e4: f8b4 8014 ldrh.w r8, [r4, #20] - f3e8: f3c8 1845 ubfx r8, r8, #5, #6 - f3ec: 7d67 ldrb r7, [r4, #21] - f3ee: 08ff lsrs r7, r7, #3 + ee34: f894 9014 ldrb.w r9, [r4, #20] + ee38: f009 091f and.w r9, r9, #31 + ee3c: f8b4 8014 ldrh.w r8, [r4, #20] + ee40: f3c8 1845 ubfx r8, r8, #5, #6 + ee44: 7d67 ldrb r7, [r4, #21] + ee46: 08ff lsrs r7, r7, #3 lv_color_t c01; lv_color_t c10; lv_color_t c11; lv_opa_t a00 = dsc->res.opa; - f3f0: 7da3 ldrb r3, [r4, #22] - f3f2: 9300 str r3, [sp, #0] + ee48: 7da3 ldrb r3, [r4, #22] + ee4a: 9300 str r3, [sp, #0] lv_opa_t a10 = 0; lv_opa_t a01 = 0; lv_opa_t a11 = 0; if(dsc->tmp.native_color) { - f3f4: f894 c034 ldrb.w ip, [r4, #52] ; 0x34 - f3f8: f01c 0f04 tst.w ip, #4 - f3fc: d07b beq.n f4f6 <_lv_img_buf_transform_anti_alias+0x152> + ee4c: f894 c034 ldrb.w ip, [r4, #52] ; 0x34 + ee50: f01c 0f04 tst.w ip, #4 + ee54: d07b beq.n ef4e <_lv_img_buf_transform_anti_alias+0x152> const uint8_t * src_u8 = dsc->cfg.src; - f3fe: 6823 ldr r3, [r4, #0] + ee56: 6823 ldr r3, [r4, #0] _lv_memcpy_small(&c01, &src_u8[dsc->tmp.pxi + dsc->tmp.px_size * xn], sizeof(lv_color_t)); - f400: 6c20 ldr r0, [r4, #64] ; 0x40 - f402: f894 e044 ldrb.w lr, [r4, #68] ; 0x44 - f406: fb0e 0101 mla r1, lr, r1, r0 - f40a: 185a adds r2, r3, r1 - f40c: f813 a001 ldrb.w sl, [r3, r1] - f410: f88d a01c strb.w sl, [sp, #28] - f414: 7852 ldrb r2, [r2, #1] - f416: f88d 201d strb.w r2, [sp, #29] + ee58: 6c20 ldr r0, [r4, #64] ; 0x40 + ee5a: f894 e044 ldrb.w lr, [r4, #68] ; 0x44 + ee5e: fb0e 0101 mla r1, lr, r1, r0 + ee62: 185a adds r2, r3, r1 + ee64: f813 a001 ldrb.w sl, [r3, r1] + ee68: f88d a01c strb.w sl, [sp, #28] + ee6c: 7852 ldrb r2, [r2, #1] + ee6e: f88d 201d strb.w r2, [sp, #29] _lv_memcpy_small(&c10, &src_u8[dsc->tmp.pxi + dsc->cfg.src_w * dsc->tmp.px_size * yn], sizeof(lv_color_t)); - f41a: f9b4 2004 ldrsh.w r2, [r4, #4] - f41e: fb0e f202 mul.w r2, lr, r2 - f422: fb0b fb02 mul.w fp, fp, r2 - f426: 4458 add r0, fp - f428: 181a adds r2, r3, r0 - f42a: f813 a000 ldrb.w sl, [r3, r0] - f42e: f88d a018 strb.w sl, [sp, #24] - f432: 7852 ldrb r2, [r2, #1] - f434: f88d 2019 strb.w r2, [sp, #25] + ee72: f9b4 2004 ldrsh.w r2, [r4, #4] + ee76: fb0e f202 mul.w r2, lr, r2 + ee7a: fb0b fb02 mul.w fp, fp, r2 + ee7e: 4458 add r0, fp + ee80: 181a adds r2, r3, r0 + ee82: f813 a000 ldrb.w sl, [r3, r0] + ee86: f88d a018 strb.w sl, [sp, #24] + ee8a: 7852 ldrb r2, [r2, #1] + ee8c: f88d 2019 strb.w r2, [sp, #25] _lv_memcpy_small(&c11, &src_u8[dsc->tmp.pxi + dsc->cfg.src_w * dsc->tmp.px_size * yn + dsc->tmp.px_size * xn], - f438: eb01 020b add.w r2, r1, fp - f43c: eb03 0a02 add.w sl, r3, r2 - f440: f813 b002 ldrb.w fp, [r3, r2] - f444: f88d b014 strb.w fp, [sp, #20] - f448: f89a a001 ldrb.w sl, [sl, #1] - f44c: f88d a015 strb.w sl, [sp, #21] + ee90: eb01 020b add.w r2, r1, fp + ee94: eb03 0a02 add.w sl, r3, r2 + ee98: f813 b002 ldrb.w fp, [r3, r2] + ee9c: f88d b014 strb.w fp, [sp, #20] + eea0: f89a a001 ldrb.w sl, [sl, #1] + eea4: f88d a015 strb.w sl, [sp, #21] sizeof(lv_color_t)); if(dsc->tmp.has_alpha) { - f450: f01c 0f02 tst.w ip, #2 - f454: f000 8081 beq.w f55a <_lv_img_buf_transform_anti_alias+0x1b6> - f458: f10e 3eff add.w lr, lr, #4294967295 + eea8: f01c 0f02 tst.w ip, #2 + eeac: f000 8081 beq.w efb2 <_lv_img_buf_transform_anti_alias+0x1b6> + eeb0: f10e 3eff add.w lr, lr, #4294967295 a10 = src_u8[dsc->tmp.pxi + dsc->tmp.px_size * xn + dsc->tmp.px_size - 1]; - f45c: 4473 add r3, lr - f45e: f813 b001 ldrb.w fp, [r3, r1] + eeb4: 4473 add r3, lr + eeb6: f813 b001 ldrb.w fp, [r3, r1] a01 = src_u8[dsc->tmp.pxi + dsc->cfg.src_w * dsc->tmp.px_size * yn + dsc->tmp.px_size - 1]; - f462: f813 a000 ldrb.w sl, [r3, r0] + eeba: f813 a000 ldrb.w sl, [r3, r0] a11 = src_u8[dsc->tmp.pxi + dsc->cfg.src_w * dsc->tmp.px_size * yn + dsc->tmp.px_size * xn + dsc->tmp.px_size - 1]; - f466: 5c98 ldrb r0, [r3, r2] + eebe: 5c98 ldrb r0, [r3, r2] } lv_opa_t xr0 = xr; lv_opa_t xr1 = xr; if(dsc->tmp.has_alpha) { lv_opa_t a0 = (a00 * xr + (a10 * (255 - xr))) >> 8; - f468: f1c5 03ff rsb r3, r5, #255 ; 0xff - f46c: fb03 f10b mul.w r1, r3, fp - f470: 9a00 ldr r2, [sp, #0] - f472: fb05 1102 mla r1, r5, r2, r1 + eec0: f1c5 03ff rsb r3, r5, #255 ; 0xff + eec4: fb03 f10b mul.w r1, r3, fp + eec8: 9a00 ldr r2, [sp, #0] + eeca: fb05 1102 mla r1, r5, r2, r1 lv_opa_t a1 = (a01 * xr + (a11 * (255 - xr))) >> 8; - f476: fb03 f300 mul.w r3, r3, r0 - f47a: fb05 330a mla r3, r5, sl, r3 - f47e: f3c3 2307 ubfx r3, r3, #8, #8 + eece: fb03 f300 mul.w r3, r3, r0 + eed2: fb05 330a mla r3, r5, sl, r3 + eed6: f3c3 2307 ubfx r3, r3, #8, #8 dsc->res.opa = (a0 * yr + (a1 * (255 - yr))) >> 8; - f482: f1c6 02ff rsb r2, r6, #255 ; 0xff - f486: f3c1 2107 ubfx r1, r1, #8, #8 - f48a: fb06 fe01 mul.w lr, r6, r1 - f48e: fb02 e203 mla r2, r2, r3, lr - f492: 1212 asrs r2, r2, #8 - f494: 75a2 strb r2, [r4, #22] + eeda: f1c6 02ff rsb r2, r6, #255 ; 0xff + eede: f3c1 2107 ubfx r1, r1, #8, #8 + eee2: fb06 fe01 mul.w lr, r6, r1 + eee6: fb02 e203 mla r2, r2, r3, lr + eeea: 1212 asrs r2, r2, #8 + eeec: 75a2 strb r2, [r4, #22] if(a0 <= LV_OPA_MIN && a1 <= LV_OPA_MIN) return false; - f496: 2905 cmp r1, #5 - f498: f200 80dc bhi.w f654 <_lv_img_buf_transform_anti_alias+0x2b0> - f49c: 2b05 cmp r3, #5 - f49e: f240 817d bls.w f79c <_lv_img_buf_transform_anti_alias+0x3f8> + eeee: 2905 cmp r1, #5 + eef0: f200 80dc bhi.w f0ac <_lv_img_buf_transform_anti_alias+0x2b0> + eef4: 2b05 cmp r3, #5 + eef6: f240 817d bls.w f1f4 <_lv_img_buf_transform_anti_alias+0x3f8> if(a0 <= LV_OPA_MIN) yr = LV_OPA_TRANSP; - f4a2: 2600 movs r6, #0 - f4a4: e0d9 b.n f65a <_lv_img_buf_transform_anti_alias+0x2b6> + eefa: 2600 movs r6, #0 + eefc: e0d9 b.n f0b2 <_lv_img_buf_transform_anti_alias+0x2b6> else if(xs_fract > 0x90) { - f4a6: 2a90 cmp r2, #144 ; 0x90 - f4a8: dd0c ble.n f4c4 <_lv_img_buf_transform_anti_alias+0x120> + eefe: 2a90 cmp r2, #144 ; 0x90 + ef00: dd0c ble.n ef1c <_lv_img_buf_transform_anti_alias+0x120> if(dsc->tmp.xs_int + xn >= dsc->cfg.src_w) xn = 0; - f4aa: f9b0 103c ldrsh.w r1, [r0, #60] ; 0x3c - f4ae: 3101 adds r1, #1 - f4b0: f9b0 2004 ldrsh.w r2, [r0, #4] - f4b4: 4291 cmp r1, r2 - f4b6: bfac ite ge - f4b8: 2100 movge r1, #0 - f4ba: 2101 movlt r1, #1 + ef02: f9b0 103c ldrsh.w r1, [r0, #60] ; 0x3c + ef06: 3101 adds r1, #1 + ef08: f9b0 2004 ldrsh.w r2, [r0, #4] + ef0c: 4291 cmp r1, r2 + ef0e: bfac ite ge + ef10: 2100 movge r1, #0 + ef12: 2101 movlt r1, #1 xr = (0xFF - xs_fract) + 0x80; - f4bc: f1c5 057f rsb r5, r5, #127 ; 0x7f - f4c0: b2ed uxtb r5, r5 - f4c2: e781 b.n f3c8 <_lv_img_buf_transform_anti_alias+0x24> + ef14: f1c5 057f rsb r5, r5, #127 ; 0x7f + ef18: b2ed uxtb r5, r5 + ef1a: e781 b.n ee20 <_lv_img_buf_transform_anti_alias+0x24> xr = 0xFF; - f4c4: 25ff movs r5, #255 ; 0xff + ef1c: 25ff movs r5, #255 ; 0xff xn = 0; - f4c6: 2100 movs r1, #0 - f4c8: e77e b.n f3c8 <_lv_img_buf_transform_anti_alias+0x24> + ef1e: 2100 movs r1, #0 + ef20: e77e b.n ee20 <_lv_img_buf_transform_anti_alias+0x24> else if(ys_fract > 0x90) { - f4ca: 2b90 cmp r3, #144 ; 0x90 - f4cc: dd0f ble.n f4ee <_lv_img_buf_transform_anti_alias+0x14a> + ef22: 2b90 cmp r3, #144 ; 0x90 + ef24: dd0f ble.n ef46 <_lv_img_buf_transform_anti_alias+0x14a> if(dsc->tmp.ys_int + yn >= dsc->cfg.src_h) yn = 0; - f4ce: f9b4 b03e ldrsh.w fp, [r4, #62] ; 0x3e - f4d2: f10b 0b01 add.w fp, fp, #1 - f4d6: f9b4 2006 ldrsh.w r2, [r4, #6] - f4da: 4593 cmp fp, r2 - f4dc: bfac ite ge - f4de: f04f 0b00 movge.w fp, #0 - f4e2: f04f 0b01 movlt.w fp, #1 + ef26: f9b4 b03e ldrsh.w fp, [r4, #62] ; 0x3e + ef2a: f10b 0b01 add.w fp, fp, #1 + ef2e: f9b4 2006 ldrsh.w r2, [r4, #6] + ef32: 4593 cmp fp, r2 + ef34: bfac ite ge + ef36: f04f 0b00 movge.w fp, #0 + ef3a: f04f 0b01 movlt.w fp, #1 yr = (0xFF - ys_fract) + 0x80; - f4e6: f1c6 067f rsb r6, r6, #127 ; 0x7f - f4ea: b2f6 uxtb r6, r6 - f4ec: e776 b.n f3dc <_lv_img_buf_transform_anti_alias+0x38> + ef3e: f1c6 067f rsb r6, r6, #127 ; 0x7f + ef42: b2f6 uxtb r6, r6 + ef44: e776 b.n ee34 <_lv_img_buf_transform_anti_alias+0x38> yr = 0xFF; - f4ee: 26ff movs r6, #255 ; 0xff + ef46: 26ff movs r6, #255 ; 0xff yn = 0; - f4f0: f04f 0b00 mov.w fp, #0 - f4f4: e772 b.n f3dc <_lv_img_buf_transform_anti_alias+0x38> + ef48: f04f 0b00 mov.w fp, #0 + ef4c: e772 b.n ee34 <_lv_img_buf_transform_anti_alias+0x38> c01 = lv_img_buf_get_px_color(&dsc->tmp.img_dsc, dsc->tmp.xs_int + xn, dsc->tmp.ys_int, dsc->cfg.color); - f4f6: f104 0318 add.w r3, r4, #24 - f4fa: 4618 mov r0, r3 - f4fc: b28b uxth r3, r1 - f4fe: 8fa1 ldrh r1, [r4, #60] ; 0x3c - f500: 9302 str r3, [sp, #8] - f502: 4419 add r1, r3 - f504: 8a23 ldrh r3, [r4, #16] - f506: f9b4 203e ldrsh.w r2, [r4, #62] ; 0x3e - f50a: b209 sxth r1, r1 - f50c: 9001 str r0, [sp, #4] - f50e: f8df a294 ldr.w sl, [pc, #660] ; f7a4 <_lv_img_buf_transform_anti_alias+0x400> - f512: 47d0 blx sl - f514: f8ad 001c strh.w r0, [sp, #28] + ef4e: f104 0318 add.w r3, r4, #24 + ef52: 4618 mov r0, r3 + ef54: b28b uxth r3, r1 + ef56: 8fa1 ldrh r1, [r4, #60] ; 0x3c + ef58: 9302 str r3, [sp, #8] + ef5a: 4419 add r1, r3 + ef5c: 8a23 ldrh r3, [r4, #16] + ef5e: f9b4 203e ldrsh.w r2, [r4, #62] ; 0x3e + ef62: b209 sxth r1, r1 + ef64: 9001 str r0, [sp, #4] + ef66: f8df a294 ldr.w sl, [pc, #660] ; f1fc <_lv_img_buf_transform_anti_alias+0x400> + ef6a: 47d0 blx sl + ef6c: f8ad 001c strh.w r0, [sp, #28] c10 = lv_img_buf_get_px_color(&dsc->tmp.img_dsc, dsc->tmp.xs_int, dsc->tmp.ys_int + yn, dsc->cfg.color); - f518: fa1f f18b uxth.w r1, fp - f51c: 8fe2 ldrh r2, [r4, #62] ; 0x3e - f51e: 9103 str r1, [sp, #12] - f520: 440a add r2, r1 - f522: 8a23 ldrh r3, [r4, #16] - f524: b212 sxth r2, r2 - f526: f9b4 103c ldrsh.w r1, [r4, #60] ; 0x3c - f52a: f8dd b004 ldr.w fp, [sp, #4] - f52e: 4658 mov r0, fp - f530: 47d0 blx sl - f532: f8ad 0018 strh.w r0, [sp, #24] + ef70: fa1f f18b uxth.w r1, fp + ef74: 8fe2 ldrh r2, [r4, #62] ; 0x3e + ef76: 9103 str r1, [sp, #12] + ef78: 440a add r2, r1 + ef7a: 8a23 ldrh r3, [r4, #16] + ef7c: b212 sxth r2, r2 + ef7e: f9b4 103c ldrsh.w r1, [r4, #60] ; 0x3c + ef82: f8dd b004 ldr.w fp, [sp, #4] + ef86: 4658 mov r0, fp + ef88: 47d0 blx sl + ef8a: f8ad 0018 strh.w r0, [sp, #24] c11 = lv_img_buf_get_px_color(&dsc->tmp.img_dsc, dsc->tmp.xs_int + xn, dsc->tmp.ys_int + yn, dsc->cfg.color); - f536: 8fe2 ldrh r2, [r4, #62] ; 0x3e - f538: 9903 ldr r1, [sp, #12] - f53a: 440a add r2, r1 - f53c: 8fa1 ldrh r1, [r4, #60] ; 0x3c - f53e: 9b02 ldr r3, [sp, #8] - f540: 4419 add r1, r3 - f542: 8a23 ldrh r3, [r4, #16] - f544: b212 sxth r2, r2 - f546: b209 sxth r1, r1 - f548: 4658 mov r0, fp - f54a: 47d0 blx sl - f54c: f8ad 0014 strh.w r0, [sp, #20] + ef8e: 8fe2 ldrh r2, [r4, #62] ; 0x3e + ef90: 9903 ldr r1, [sp, #12] + ef92: 440a add r2, r1 + ef94: 8fa1 ldrh r1, [r4, #60] ; 0x3c + ef96: 9b02 ldr r3, [sp, #8] + ef98: 4419 add r1, r3 + ef9a: 8a23 ldrh r3, [r4, #16] + ef9c: b212 sxth r2, r2 + ef9e: b209 sxth r1, r1 + efa0: 4658 mov r0, fp + efa2: 47d0 blx sl + efa4: f8ad 0014 strh.w r0, [sp, #20] if(dsc->tmp.has_alpha) { - f550: f894 3034 ldrb.w r3, [r4, #52] ; 0x34 - f554: f013 0f02 tst.w r3, #2 - f558: d152 bne.n f600 <_lv_img_buf_transform_anti_alias+0x25c> + efa8: f894 3034 ldrb.w r3, [r4, #52] ; 0x34 + efac: f013 0f02 tst.w r3, #2 + efb0: d152 bne.n f058 <_lv_img_buf_transform_anti_alias+0x25c> if(a11 <= LV_OPA_MIN) xr1 = LV_OPA_COVER; } else { xr0 = xr; xr1 = xr; dsc->res.opa = LV_OPA_COVER; - f55a: 23ff movs r3, #255 ; 0xff - f55c: 75a3 strb r3, [r4, #22] + efb2: 23ff movs r3, #255 ; 0xff + efb4: 75a3 strb r3, [r4, #22] xr0 = xr; - f55e: 462b mov r3, r5 + efb6: 462b mov r3, r5 } lv_color_t c0; if(xr0 == LV_OPA_TRANSP) c0 = c01; - f560: 2b00 cmp r3, #0 - f562: f040 808b bne.w f67c <_lv_img_buf_transform_anti_alias+0x2d8> - f566: f89d 901c ldrb.w r9, [sp, #28] - f56a: f009 091f and.w r9, r9, #31 - f56e: f8bd 801c ldrh.w r8, [sp, #28] - f572: f3c8 1845 ubfx r8, r8, #5, #6 - f576: f89d 701d ldrb.w r7, [sp, #29] - f57a: 08ff lsrs r7, r7, #3 + efb8: 2b00 cmp r3, #0 + efba: f040 808b bne.w f0d4 <_lv_img_buf_transform_anti_alias+0x2d8> + efbe: f89d 901c ldrb.w r9, [sp, #28] + efc2: f009 091f and.w r9, r9, #31 + efc6: f8bd 801c ldrh.w r8, [sp, #28] + efca: f3c8 1845 ubfx r8, r8, #5, #6 + efce: f89d 701d ldrb.w r7, [sp, #29] + efd2: 08ff lsrs r7, r7, #3 else if(xr0 == LV_OPA_COVER) c0 = c00; else c0 = lv_color_mix(c00, c01, xr0); lv_color_t c1; if(xr1 == LV_OPA_TRANSP) c1 = c11; - f57c: 2d00 cmp r5, #0 - f57e: f040 80ac bne.w f6da <_lv_img_buf_transform_anti_alias+0x336> - f582: f89d 5014 ldrb.w r5, [sp, #20] - f586: f005 051f and.w r5, r5, #31 - f58a: f8bd 3014 ldrh.w r3, [sp, #20] - f58e: f3c3 1345 ubfx r3, r3, #5, #6 - f592: f89d 1015 ldrb.w r1, [sp, #21] - f596: 08c9 lsrs r1, r1, #3 + efd4: 2d00 cmp r5, #0 + efd6: f040 80ac bne.w f132 <_lv_img_buf_transform_anti_alias+0x336> + efda: f89d 5014 ldrb.w r5, [sp, #20] + efde: f005 051f and.w r5, r5, #31 + efe2: f8bd 3014 ldrh.w r3, [sp, #20] + efe6: f3c3 1345 ubfx r3, r3, #5, #6 + efea: f89d 1015 ldrb.w r1, [sp, #21] + efee: 08c9 lsrs r1, r1, #3 else if(xr1 == LV_OPA_COVER) c1 = c10; else c1 = lv_color_mix(c10, c11, xr1); if(yr == LV_OPA_TRANSP) dsc->res.color = c1; - f598: 2e00 cmp r6, #0 - f59a: f000 80e3 beq.w f764 <_lv_img_buf_transform_anti_alias+0x3c0> + eff0: 2e00 cmp r6, #0 + eff2: f000 80e3 beq.w f1bc <_lv_img_buf_transform_anti_alias+0x3c0> else if(yr == LV_OPA_COVER) dsc->res.color = c0; - f59e: 2eff cmp r6, #255 ; 0xff - f5a0: f000 80ee beq.w f780 <_lv_img_buf_transform_anti_alias+0x3dc> + eff6: 2eff cmp r6, #255 ; 0xff + eff8: f000 80ee beq.w f1d8 <_lv_img_buf_transform_anti_alias+0x3dc> LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - f5a4: f1c6 02ff rsb r2, r6, #255 ; 0xff + effc: f1c6 02ff rsb r2, r6, #255 ; 0xff LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - f5a8: fb02 f505 mul.w r5, r2, r5 - f5ac: fb06 5509 mla r5, r6, r9, r5 - f5b0: eb05 2905 add.w r9, r5, r5, lsl #8 - f5b4: eb05 15c9 add.w r5, r5, r9, lsl #7 - f5b8: 0ded lsrs r5, r5, #23 + f000: fb02 f505 mul.w r5, r2, r5 + f004: fb06 5509 mla r5, r6, r9, r5 + f008: eb05 2905 add.w r9, r5, r5, lsl #8 + f00c: eb05 15c9 add.w r5, r5, r9, lsl #7 + f010: 0ded lsrs r5, r5, #23 else dsc->res.color = lv_color_mix(c0, c1, yr); - f5ba: 7d20 ldrb r0, [r4, #20] - f5bc: f365 0004 bfi r0, r5, #0, #5 - f5c0: 7520 strb r0, [r4, #20] + f012: 7d20 ldrb r0, [r4, #20] + f014: f365 0004 bfi r0, r5, #0, #5 + f018: 7520 strb r0, [r4, #20] LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - f5c2: fb02 f303 mul.w r3, r2, r3 - f5c6: fb06 3808 mla r8, r6, r8, r3 - f5ca: eb08 2308 add.w r3, r8, r8, lsl #8 - f5ce: eb08 18c3 add.w r8, r8, r3, lsl #7 - f5d2: ea4f 58d8 mov.w r8, r8, lsr #23 - f5d6: 8aa3 ldrh r3, [r4, #20] - f5d8: f368 134a bfi r3, r8, #5, #6 - f5dc: 82a3 strh r3, [r4, #20] + f01a: fb02 f303 mul.w r3, r2, r3 + f01e: fb06 3808 mla r8, r6, r8, r3 + f022: eb08 2308 add.w r3, r8, r8, lsl #8 + f026: eb08 18c3 add.w r8, r8, r3, lsl #7 + f02a: ea4f 58d8 mov.w r8, r8, lsr #23 + f02e: 8aa3 ldrh r3, [r4, #20] + f030: f368 134a bfi r3, r8, #5, #6 + f034: 82a3 strh r3, [r4, #20] LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - f5de: fb02 f101 mul.w r1, r2, r1 - f5e2: fb06 1607 mla r6, r6, r7, r1 - f5e6: eb06 2706 add.w r7, r6, r6, lsl #8 - f5ea: eb06 16c7 add.w r6, r6, r7, lsl #7 - f5ee: 0df6 lsrs r6, r6, #23 - f5f0: 0a1b lsrs r3, r3, #8 - f5f2: f366 03c7 bfi r3, r6, #3, #5 - f5f6: 7563 strb r3, [r4, #21] + f036: fb02 f101 mul.w r1, r2, r1 + f03a: fb06 1607 mla r6, r6, r7, r1 + f03e: eb06 2706 add.w r7, r6, r6, lsl #8 + f042: eb06 16c7 add.w r6, r6, r7, lsl #7 + f046: 0df6 lsrs r6, r6, #23 + f048: 0a1b lsrs r3, r3, #8 + f04a: f366 03c7 bfi r3, r6, #3, #5 + f04e: 7563 strb r3, [r4, #21] return true; - f5f8: 2001 movs r0, #1 + f050: 2001 movs r0, #1 } - f5fa: b009 add sp, #36 ; 0x24 - f5fc: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + f052: b009 add sp, #36 ; 0x24 + f054: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} a10 = lv_img_buf_get_px_alpha(&dsc->tmp.img_dsc, dsc->tmp.xs_int + xn, dsc->tmp.ys_int); - f600: 8fa1 ldrh r1, [r4, #60] ; 0x3c - f602: 9b02 ldr r3, [sp, #8] - f604: 4419 add r1, r3 - f606: f9b4 203e ldrsh.w r2, [r4, #62] ; 0x3e - f60a: b209 sxth r1, r1 - f60c: f8dd a004 ldr.w sl, [sp, #4] - f610: 4650 mov r0, sl - f612: 4b63 ldr r3, [pc, #396] ; (f7a0 <_lv_img_buf_transform_anti_alias+0x3fc>) - f614: 4798 blx r3 - f616: 4683 mov fp, r0 + f058: 8fa1 ldrh r1, [r4, #60] ; 0x3c + f05a: 9b02 ldr r3, [sp, #8] + f05c: 4419 add r1, r3 + f05e: f9b4 203e ldrsh.w r2, [r4, #62] ; 0x3e + f062: b209 sxth r1, r1 + f064: f8dd a004 ldr.w sl, [sp, #4] + f068: 4650 mov r0, sl + f06a: 4b63 ldr r3, [pc, #396] ; (f1f8 <_lv_img_buf_transform_anti_alias+0x3fc>) + f06c: 4798 blx r3 + f06e: 4683 mov fp, r0 a01 = lv_img_buf_get_px_alpha(&dsc->tmp.img_dsc, dsc->tmp.xs_int, dsc->tmp.ys_int + yn); - f618: 8fe2 ldrh r2, [r4, #62] ; 0x3e - f61a: 9903 ldr r1, [sp, #12] - f61c: 440a add r2, r1 - f61e: b212 sxth r2, r2 - f620: f9b4 103c ldrsh.w r1, [r4, #60] ; 0x3c - f624: f8cd a004 str.w sl, [sp, #4] - f628: 4650 mov r0, sl - f62a: 4b5d ldr r3, [pc, #372] ; (f7a0 <_lv_img_buf_transform_anti_alias+0x3fc>) - f62c: 4798 blx r3 - f62e: 4682 mov sl, r0 + f070: 8fe2 ldrh r2, [r4, #62] ; 0x3e + f072: 9903 ldr r1, [sp, #12] + f074: 440a add r2, r1 + f076: b212 sxth r2, r2 + f078: f9b4 103c ldrsh.w r1, [r4, #60] ; 0x3c + f07c: f8cd a004 str.w sl, [sp, #4] + f080: 4650 mov r0, sl + f082: 4b5d ldr r3, [pc, #372] ; (f1f8 <_lv_img_buf_transform_anti_alias+0x3fc>) + f084: 4798 blx r3 + f086: 4682 mov sl, r0 a11 = lv_img_buf_get_px_alpha(&dsc->tmp.img_dsc, dsc->tmp.xs_int + xn, dsc->tmp.ys_int + yn); - f630: 8fe2 ldrh r2, [r4, #62] ; 0x3e - f632: 9903 ldr r1, [sp, #12] - f634: 440a add r2, r1 - f636: 8fa1 ldrh r1, [r4, #60] ; 0x3c - f638: 9b02 ldr r3, [sp, #8] - f63a: 4419 add r1, r3 - f63c: b212 sxth r2, r2 - f63e: b209 sxth r1, r1 - f640: 9801 ldr r0, [sp, #4] - f642: 4b57 ldr r3, [pc, #348] ; (f7a0 <_lv_img_buf_transform_anti_alias+0x3fc>) - f644: 4798 blx r3 + f088: 8fe2 ldrh r2, [r4, #62] ; 0x3e + f08a: 9903 ldr r1, [sp, #12] + f08c: 440a add r2, r1 + f08e: 8fa1 ldrh r1, [r4, #60] ; 0x3c + f090: 9b02 ldr r3, [sp, #8] + f092: 4419 add r1, r3 + f094: b212 sxth r2, r2 + f096: b209 sxth r1, r1 + f098: 9801 ldr r0, [sp, #4] + f09a: 4b57 ldr r3, [pc, #348] ; (f1f8 <_lv_img_buf_transform_anti_alias+0x3fc>) + f09c: 4798 blx r3 if(dsc->tmp.has_alpha) { - f646: f894 3034 ldrb.w r3, [r4, #52] ; 0x34 - f64a: f013 0f02 tst.w r3, #2 - f64e: f47f af0b bne.w f468 <_lv_img_buf_transform_anti_alias+0xc4> - f652: e782 b.n f55a <_lv_img_buf_transform_anti_alias+0x1b6> + f09e: f894 3034 ldrb.w r3, [r4, #52] ; 0x34 + f0a2: f013 0f02 tst.w r3, #2 + f0a6: f47f af0b bne.w eec0 <_lv_img_buf_transform_anti_alias+0xc4> + f0aa: e782 b.n efb2 <_lv_img_buf_transform_anti_alias+0x1b6> if(a1 <= LV_OPA_MIN) yr = LV_OPA_COVER; - f654: 2b05 cmp r3, #5 - f656: bf98 it ls - f658: 26ff movls r6, #255 ; 0xff + f0ac: 2b05 cmp r3, #5 + f0ae: bf98 it ls + f0b0: 26ff movls r6, #255 ; 0xff if(a00 <= LV_OPA_MIN) xr0 = LV_OPA_TRANSP; - f65a: 9b00 ldr r3, [sp, #0] - f65c: 2b05 cmp r3, #5 - f65e: bf8c ite hi - f660: 462b movhi r3, r5 - f662: 2300 movls r3, #0 + f0b2: 9b00 ldr r3, [sp, #0] + f0b4: 2b05 cmp r3, #5 + f0b6: bf8c ite hi + f0b8: 462b movhi r3, r5 + f0ba: 2300 movls r3, #0 if(a10 <= LV_OPA_MIN) xr0 = LV_OPA_COVER; - f664: f1bb 0f05 cmp.w fp, #5 - f668: bf98 it ls - f66a: 23ff movls r3, #255 ; 0xff + f0bc: f1bb 0f05 cmp.w fp, #5 + f0c0: bf98 it ls + f0c2: 23ff movls r3, #255 ; 0xff if(a01 <= LV_OPA_MIN) xr1 = LV_OPA_TRANSP; - f66c: f1ba 0f05 cmp.w sl, #5 - f670: bf98 it ls - f672: 2500 movls r5, #0 + f0c4: f1ba 0f05 cmp.w sl, #5 + f0c8: bf98 it ls + f0ca: 2500 movls r5, #0 if(a11 <= LV_OPA_MIN) xr1 = LV_OPA_COVER; - f674: 2805 cmp r0, #5 - f676: bf98 it ls - f678: 25ff movls r5, #255 ; 0xff - f67a: e771 b.n f560 <_lv_img_buf_transform_anti_alias+0x1bc> + f0cc: 2805 cmp r0, #5 + f0ce: bf98 it ls + f0d0: 25ff movls r5, #255 ; 0xff + f0d2: e771 b.n efb8 <_lv_img_buf_transform_anti_alias+0x1bc> else if(xr0 == LV_OPA_COVER) c0 = c00; - f67c: 2bff cmp r3, #255 ; 0xff - f67e: f43f af7d beq.w f57c <_lv_img_buf_transform_anti_alias+0x1d8> - f682: f1c3 01ff rsb r1, r3, #255 ; 0xff - f686: f89d 201d ldrb.w r2, [sp, #29] - f68a: 08d2 lsrs r2, r2, #3 - f68c: fb03 f707 mul.w r7, r3, r7 - f690: fb01 7702 mla r7, r1, r2, r7 - f694: eb07 2207 add.w r2, r7, r7, lsl #8 - f698: eb07 17c2 add.w r7, r7, r2, lsl #7 - f69c: f3c7 57c4 ubfx r7, r7, #23, #5 + f0d4: 2bff cmp r3, #255 ; 0xff + f0d6: f43f af7d beq.w efd4 <_lv_img_buf_transform_anti_alias+0x1d8> + f0da: f1c3 01ff rsb r1, r3, #255 ; 0xff + f0de: f89d 201d ldrb.w r2, [sp, #29] + f0e2: 08d2 lsrs r2, r2, #3 + f0e4: fb03 f707 mul.w r7, r3, r7 + f0e8: fb01 7702 mla r7, r1, r2, r7 + f0ec: eb07 2207 add.w r2, r7, r7, lsl #8 + f0f0: eb07 17c2 add.w r7, r7, r2, lsl #7 + f0f4: f3c7 57c4 ubfx r7, r7, #23, #5 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - f6a0: f8bd 201c ldrh.w r2, [sp, #28] - f6a4: f3c2 1245 ubfx r2, r2, #5, #6 - f6a8: fb03 f808 mul.w r8, r3, r8 - f6ac: fb01 8802 mla r8, r1, r2, r8 - f6b0: eb08 2208 add.w r2, r8, r8, lsl #8 - f6b4: eb08 18c2 add.w r8, r8, r2, lsl #7 - f6b8: f3c8 58c5 ubfx r8, r8, #23, #6 + f0f8: f8bd 201c ldrh.w r2, [sp, #28] + f0fc: f3c2 1245 ubfx r2, r2, #5, #6 + f100: fb03 f808 mul.w r8, r3, r8 + f104: fb01 8802 mla r8, r1, r2, r8 + f108: eb08 2208 add.w r2, r8, r8, lsl #8 + f10c: eb08 18c2 add.w r8, r8, r2, lsl #7 + f110: f3c8 58c5 ubfx r8, r8, #23, #6 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - f6bc: f89d 201c ldrb.w r2, [sp, #28] - f6c0: f002 021f and.w r2, r2, #31 - f6c4: fb03 f909 mul.w r9, r3, r9 - f6c8: fb01 9902 mla r9, r1, r2, r9 - f6cc: eb09 2309 add.w r3, r9, r9, lsl #8 - f6d0: eb09 19c3 add.w r9, r9, r3, lsl #7 - f6d4: f3c9 59c4 ubfx r9, r9, #23, #5 - f6d8: e750 b.n f57c <_lv_img_buf_transform_anti_alias+0x1d8> + f114: f89d 201c ldrb.w r2, [sp, #28] + f118: f002 021f and.w r2, r2, #31 + f11c: fb03 f909 mul.w r9, r3, r9 + f120: fb01 9902 mla r9, r1, r2, r9 + f124: eb09 2309 add.w r3, r9, r9, lsl #8 + f128: eb09 19c3 add.w r9, r9, r3, lsl #7 + f12c: f3c9 59c4 ubfx r9, r9, #23, #5 + f130: e750 b.n efd4 <_lv_img_buf_transform_anti_alias+0x1d8> else if(xr1 == LV_OPA_COVER) c1 = c10; - f6da: 2dff cmp r5, #255 ; 0xff - f6dc: d036 beq.n f74c <_lv_img_buf_transform_anti_alias+0x3a8> + f132: 2dff cmp r5, #255 ; 0xff + f134: d036 beq.n f1a4 <_lv_img_buf_transform_anti_alias+0x3a8> LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - f6de: f1c5 00ff rsb r0, r5, #255 ; 0xff - f6e2: f89d 1019 ldrb.w r1, [sp, #25] - f6e6: 08c9 lsrs r1, r1, #3 - f6e8: f89d 3015 ldrb.w r3, [sp, #21] - f6ec: 08db lsrs r3, r3, #3 - f6ee: fb00 f303 mul.w r3, r0, r3 - f6f2: fb05 3101 mla r1, r5, r1, r3 - f6f6: eb01 2301 add.w r3, r1, r1, lsl #8 - f6fa: eb01 11c3 add.w r1, r1, r3, lsl #7 - f6fe: f3c1 51c4 ubfx r1, r1, #23, #5 + f136: f1c5 00ff rsb r0, r5, #255 ; 0xff + f13a: f89d 1019 ldrb.w r1, [sp, #25] + f13e: 08c9 lsrs r1, r1, #3 + f140: f89d 3015 ldrb.w r3, [sp, #21] + f144: 08db lsrs r3, r3, #3 + f146: fb00 f303 mul.w r3, r0, r3 + f14a: fb05 3101 mla r1, r5, r1, r3 + f14e: eb01 2301 add.w r3, r1, r1, lsl #8 + f152: eb01 11c3 add.w r1, r1, r3, lsl #7 + f156: f3c1 51c4 ubfx r1, r1, #23, #5 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - f702: f8bd 3018 ldrh.w r3, [sp, #24] - f706: f3c3 1345 ubfx r3, r3, #5, #6 - f70a: f8bd 2014 ldrh.w r2, [sp, #20] - f70e: f3c2 1245 ubfx r2, r2, #5, #6 - f712: fb00 f202 mul.w r2, r0, r2 - f716: fb05 2303 mla r3, r5, r3, r2 - f71a: eb03 2203 add.w r2, r3, r3, lsl #8 - f71e: eb03 13c2 add.w r3, r3, r2, lsl #7 - f722: f3c3 53c5 ubfx r3, r3, #23, #6 + f15a: f8bd 3018 ldrh.w r3, [sp, #24] + f15e: f3c3 1345 ubfx r3, r3, #5, #6 + f162: f8bd 2014 ldrh.w r2, [sp, #20] + f166: f3c2 1245 ubfx r2, r2, #5, #6 + f16a: fb00 f202 mul.w r2, r0, r2 + f16e: fb05 2303 mla r3, r5, r3, r2 + f172: eb03 2203 add.w r2, r3, r3, lsl #8 + f176: eb03 13c2 add.w r3, r3, r2, lsl #7 + f17a: f3c3 53c5 ubfx r3, r3, #23, #6 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - f726: f89d 2018 ldrb.w r2, [sp, #24] - f72a: f002 021f and.w r2, r2, #31 - f72e: f89d e014 ldrb.w lr, [sp, #20] - f732: f00e 0e1f and.w lr, lr, #31 - f736: fb00 f00e mul.w r0, r0, lr - f73a: fb05 0502 mla r5, r5, r2, r0 - f73e: eb05 2205 add.w r2, r5, r5, lsl #8 - f742: eb05 15c2 add.w r5, r5, r2, lsl #7 - f746: f3c5 55c4 ubfx r5, r5, #23, #5 - f74a: e725 b.n f598 <_lv_img_buf_transform_anti_alias+0x1f4> - f74c: f89d 5018 ldrb.w r5, [sp, #24] - f750: f005 051f and.w r5, r5, #31 - f754: f8bd 3018 ldrh.w r3, [sp, #24] - f758: f3c3 1345 ubfx r3, r3, #5, #6 - f75c: f89d 1019 ldrb.w r1, [sp, #25] - f760: 08c9 lsrs r1, r1, #3 - f762: e719 b.n f598 <_lv_img_buf_transform_anti_alias+0x1f4> + f17e: f89d 2018 ldrb.w r2, [sp, #24] + f182: f002 021f and.w r2, r2, #31 + f186: f89d e014 ldrb.w lr, [sp, #20] + f18a: f00e 0e1f and.w lr, lr, #31 + f18e: fb00 f00e mul.w r0, r0, lr + f192: fb05 0502 mla r5, r5, r2, r0 + f196: eb05 2205 add.w r2, r5, r5, lsl #8 + f19a: eb05 15c2 add.w r5, r5, r2, lsl #7 + f19e: f3c5 55c4 ubfx r5, r5, #23, #5 + f1a2: e725 b.n eff0 <_lv_img_buf_transform_anti_alias+0x1f4> + f1a4: f89d 5018 ldrb.w r5, [sp, #24] + f1a8: f005 051f and.w r5, r5, #31 + f1ac: f8bd 3018 ldrh.w r3, [sp, #24] + f1b0: f3c3 1345 ubfx r3, r3, #5, #6 + f1b4: f89d 1019 ldrb.w r1, [sp, #25] + f1b8: 08c9 lsrs r1, r1, #3 + f1ba: e719 b.n eff0 <_lv_img_buf_transform_anti_alias+0x1f4> if(yr == LV_OPA_TRANSP) dsc->res.color = c1; - f764: 7d22 ldrb r2, [r4, #20] - f766: f365 0204 bfi r2, r5, #0, #5 - f76a: 7522 strb r2, [r4, #20] - f76c: 8aa2 ldrh r2, [r4, #20] - f76e: f363 124a bfi r2, r3, #5, #6 - f772: 82a2 strh r2, [r4, #20] - f774: 0a12 lsrs r2, r2, #8 - f776: f361 02c7 bfi r2, r1, #3, #5 - f77a: 7562 strb r2, [r4, #21] + f1bc: 7d22 ldrb r2, [r4, #20] + f1be: f365 0204 bfi r2, r5, #0, #5 + f1c2: 7522 strb r2, [r4, #20] + f1c4: 8aa2 ldrh r2, [r4, #20] + f1c6: f363 124a bfi r2, r3, #5, #6 + f1ca: 82a2 strh r2, [r4, #20] + f1cc: 0a12 lsrs r2, r2, #8 + f1ce: f361 02c7 bfi r2, r1, #3, #5 + f1d2: 7562 strb r2, [r4, #21] return true; - f77c: 2001 movs r0, #1 - f77e: e73c b.n f5fa <_lv_img_buf_transform_anti_alias+0x256> + f1d4: 2001 movs r0, #1 + f1d6: e73c b.n f052 <_lv_img_buf_transform_anti_alias+0x256> else if(yr == LV_OPA_COVER) dsc->res.color = c0; - f780: 7d23 ldrb r3, [r4, #20] - f782: f369 0304 bfi r3, r9, #0, #5 - f786: 7523 strb r3, [r4, #20] - f788: 8aa3 ldrh r3, [r4, #20] - f78a: f368 134a bfi r3, r8, #5, #6 - f78e: 82a3 strh r3, [r4, #20] - f790: 0a1b lsrs r3, r3, #8 - f792: f367 03c7 bfi r3, r7, #3, #5 - f796: 7563 strb r3, [r4, #21] + f1d8: 7d23 ldrb r3, [r4, #20] + f1da: f369 0304 bfi r3, r9, #0, #5 + f1de: 7523 strb r3, [r4, #20] + f1e0: 8aa3 ldrh r3, [r4, #20] + f1e2: f368 134a bfi r3, r8, #5, #6 + f1e6: 82a3 strh r3, [r4, #20] + f1e8: 0a1b lsrs r3, r3, #8 + f1ea: f367 03c7 bfi r3, r7, #3, #5 + f1ee: 7563 strb r3, [r4, #21] return true; - f798: 2001 movs r0, #1 - f79a: e72e b.n f5fa <_lv_img_buf_transform_anti_alias+0x256> + f1f0: 2001 movs r0, #1 + f1f2: e72e b.n f052 <_lv_img_buf_transform_anti_alias+0x256> if(a0 <= LV_OPA_MIN && a1 <= LV_OPA_MIN) return false; - f79c: 2000 movs r0, #0 - f79e: e72c b.n f5fa <_lv_img_buf_transform_anti_alias+0x256> - f7a0: 0000eff1 .word 0x0000eff1 - f7a4: 0000eec1 .word 0x0000eec1 + f1f4: 2000 movs r0, #0 + f1f6: e72c b.n f052 <_lv_img_buf_transform_anti_alias+0x256> + f1f8: 0000ea49 .word 0x0000ea49 + f1fc: 0000e919 .word 0x0000e919 -0000f7a8 <_lv_img_cache_open>: +0000f200 <_lv_img_cache_open>: * @param src source of the image. Path to file or pointer to an `lv_img_dsc_t` variable * @param style style of the image * @return pointer to the cache entry or NULL if can open the image */ lv_img_cache_entry_t * _lv_img_cache_open(const void * src, lv_color_t color) { - f7a8: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - f7ac: b083 sub sp, #12 - f7ae: 4688 mov r8, r1 + f200: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + f204: b083 sub sp, #12 + f206: 4688 mov r8, r1 if(entry_cnt == 0) { - f7b0: 4b5d ldr r3, [pc, #372] ; (f928 <_lv_img_cache_open+0x180>) - f7b2: 8819 ldrh r1, [r3, #0] - f7b4: b1e1 cbz r1, f7f0 <_lv_img_cache_open+0x48> - f7b6: 4607 mov r7, r0 + f208: 4b5d ldr r3, [pc, #372] ; (f380 <_lv_img_cache_open+0x180>) + f20a: 8819 ldrh r1, [r3, #0] + f20c: b1e1 cbz r1, f248 <_lv_img_cache_open+0x48> + f20e: 4607 mov r7, r0 LV_LOG_WARN("lv_img_cache_open: the cache size is 0"); return NULL; } lv_img_cache_entry_t * cache = LV_GC_ROOT(_lv_img_cache_array); - f7b8: 4b5c ldr r3, [pc, #368] ; (f92c <_lv_img_cache_open+0x184>) - f7ba: 681e ldr r6, [r3, #0] - f7bc: 4633 mov r3, r6 - f7be: 3901 subs r1, #1 - f7c0: b289 uxth r1, r1 - f7c2: 3101 adds r1, #1 - f7c4: eb01 01c1 add.w r1, r1, r1, lsl #3 - f7c8: eb06 0181 add.w r1, r6, r1, lsl #2 + f210: 4b5c ldr r3, [pc, #368] ; (f384 <_lv_img_cache_open+0x184>) + f212: 681e ldr r6, [r3, #0] + f214: 4633 mov r3, r6 + f216: 3901 subs r1, #1 + f218: b289 uxth r1, r1 + f21a: 3101 adds r1, #1 + f21c: eb01 01c1 add.w r1, r1, r1, lsl #3 + f220: eb06 0181 add.w r1, r6, r1, lsl #2 /*Decrement all lifes. Make the entries older*/ uint16_t i; for(i = 0; i < entry_cnt; i++) { if(cache[i].life > INT32_MIN + LV_IMG_CACHE_AGING) { - f7cc: 4858 ldr r0, [pc, #352] ; (f930 <_lv_img_cache_open+0x188>) - f7ce: 6a1a ldr r2, [r3, #32] - f7d0: 4282 cmp r2, r0 + f224: 4858 ldr r0, [pc, #352] ; (f388 <_lv_img_cache_open+0x188>) + f226: 6a1a ldr r2, [r3, #32] + f228: 4282 cmp r2, r0 cache[i].life -= LV_IMG_CACHE_AGING; - f7d2: bfa4 itt ge - f7d4: f102 32ff addge.w r2, r2, #4294967295 - f7d8: 621a strge r2, [r3, #32] - f7da: 3324 adds r3, #36 ; 0x24 + f22a: bfa4 itt ge + f22c: f102 32ff addge.w r2, r2, #4294967295 + f230: 621a strge r2, [r3, #32] + f232: 3324 adds r3, #36 ; 0x24 for(i = 0; i < entry_cnt; i++) { - f7dc: 428b cmp r3, r1 - f7de: d1f6 bne.n f7ce <_lv_img_cache_open+0x26> - f7e0: 2400 movs r4, #0 + f234: 428b cmp r3, r1 + f236: d1f6 bne.n f226 <_lv_img_cache_open+0x26> + f238: 2400 movs r4, #0 /*Is the image cached?*/ lv_img_cache_entry_t * cached_src = NULL; for(i = 0; i < entry_cnt; i++) { bool match = false; lv_img_src_t src_type = lv_img_src_get_type(cache[i].dec_dsc.src); - f7e2: f8df 9180 ldr.w r9, [pc, #384] ; f964 <_lv_img_cache_open+0x1bc> + f23a: f8df 9180 ldr.w r9, [pc, #384] ; f3bc <_lv_img_cache_open+0x1bc> if(src_type == LV_IMG_SRC_VARIABLE) { if(cache[i].dec_dsc.src == src && cache[i].dec_dsc.color.full == color.full) match = true; } else if(src_type == LV_IMG_SRC_FILE) { if(strcmp(cache[i].dec_dsc.src, src) == 0) match = true; - f7e6: f8df b180 ldr.w fp, [pc, #384] ; f968 <_lv_img_cache_open+0x1c0> + f23e: f8df b180 ldr.w fp, [pc, #384] ; f3c0 <_lv_img_cache_open+0x1c0> for(i = 0; i < entry_cnt; i++) { - f7ea: f8df a13c ldr.w sl, [pc, #316] ; f928 <_lv_img_cache_open+0x180> - f7ee: e011 b.n f814 <_lv_img_cache_open+0x6c> + f242: f8df a13c ldr.w sl, [pc, #316] ; f380 <_lv_img_cache_open+0x180> + f246: e011 b.n f26c <_lv_img_cache_open+0x6c> LV_LOG_WARN("lv_img_cache_open: the cache size is 0"); - f7f0: 4b50 ldr r3, [pc, #320] ; (f934 <_lv_img_cache_open+0x18c>) - f7f2: 9300 str r3, [sp, #0] - f7f4: 4b50 ldr r3, [pc, #320] ; (f938 <_lv_img_cache_open+0x190>) - f7f6: 2244 movs r2, #68 ; 0x44 - f7f8: 4950 ldr r1, [pc, #320] ; (f93c <_lv_img_cache_open+0x194>) - f7fa: 2002 movs r0, #2 - f7fc: 4c50 ldr r4, [pc, #320] ; (f940 <_lv_img_cache_open+0x198>) - f7fe: 47a0 blx r4 + f248: 4b50 ldr r3, [pc, #320] ; (f38c <_lv_img_cache_open+0x18c>) + f24a: 9300 str r3, [sp, #0] + f24c: 4b50 ldr r3, [pc, #320] ; (f390 <_lv_img_cache_open+0x190>) + f24e: 2244 movs r2, #68 ; 0x44 + f250: 4950 ldr r1, [pc, #320] ; (f394 <_lv_img_cache_open+0x194>) + f252: 2002 movs r0, #2 + f254: 4c50 ldr r4, [pc, #320] ; (f398 <_lv_img_cache_open+0x198>) + f256: 47a0 blx r4 return NULL; - f800: 2500 movs r5, #0 - f802: e025 b.n f850 <_lv_img_cache_open+0xa8> + f258: 2500 movs r5, #0 + f25a: e025 b.n f2a8 <_lv_img_cache_open+0xa8> else if(src_type == LV_IMG_SRC_FILE) { - f804: 2801 cmp r0, #1 - f806: d027 beq.n f858 <_lv_img_cache_open+0xb0> + f25c: 2801 cmp r0, #1 + f25e: d027 beq.n f2b0 <_lv_img_cache_open+0xb0> for(i = 0; i < entry_cnt; i++) { - f808: 3401 adds r4, #1 - f80a: b2a4 uxth r4, r4 - f80c: f8ba 3000 ldrh.w r3, [sl] - f810: 42a3 cmp r3, r4 - f812: d92a bls.n f86a <_lv_img_cache_open+0xc2> + f260: 3401 adds r4, #1 + f262: b2a4 uxth r4, r4 + f264: f8ba 3000 ldrh.w r3, [sl] + f268: 42a3 cmp r3, r4 + f26a: d92a bls.n f2c2 <_lv_img_cache_open+0xc2> lv_img_src_t src_type = lv_img_src_get_type(cache[i].dec_dsc.src); - f814: eb04 05c4 add.w r5, r4, r4, lsl #3 - f818: eb06 0585 add.w r5, r6, r5, lsl #2 - f81c: 6868 ldr r0, [r5, #4] - f81e: 47c8 blx r9 + f26c: eb04 05c4 add.w r5, r4, r4, lsl #3 + f270: eb06 0585 add.w r5, r6, r5, lsl #2 + f274: 6868 ldr r0, [r5, #4] + f276: 47c8 blx r9 if(src_type == LV_IMG_SRC_VARIABLE) { - f820: 2800 cmp r0, #0 - f822: d1ef bne.n f804 <_lv_img_cache_open+0x5c> + f278: 2800 cmp r0, #0 + f27a: d1ef bne.n f25c <_lv_img_cache_open+0x5c> if(cache[i].dec_dsc.src == src && cache[i].dec_dsc.color.full == color.full) match = true; - f824: 686b ldr r3, [r5, #4] - f826: 42bb cmp r3, r7 - f828: d1ee bne.n f808 <_lv_img_cache_open+0x60> - f82a: 8928 ldrh r0, [r5, #8] - f82c: fa1f f388 uxth.w r3, r8 - f830: 4298 cmp r0, r3 - f832: bf14 ite ne - f834: 2000 movne r0, #0 - f836: 2001 moveq r0, #1 + f27c: 686b ldr r3, [r5, #4] + f27e: 42bb cmp r3, r7 + f280: d1ee bne.n f260 <_lv_img_cache_open+0x60> + f282: 8928 ldrh r0, [r5, #8] + f284: fa1f f388 uxth.w r3, r8 + f288: 4298 cmp r0, r3 + f28a: bf14 ite ne + f28c: 2000 movne r0, #0 + f28e: 2001 moveq r0, #1 } if(match) { - f838: 2800 cmp r0, #0 - f83a: d0e5 beq.n f808 <_lv_img_cache_open+0x60> + f290: 2800 cmp r0, #0 + f292: d0e5 beq.n f260 <_lv_img_cache_open+0x60> /* If opened increment its life. * Image difficult to open should live longer to keep avoid frequent their recaching. * Therefore increase `life` with `time_to_open`*/ cached_src = &cache[i]; cached_src->life += cached_src->dec_dsc.time_to_open * LV_IMG_CACHE_LIFE_GAIN; - f83c: 6a2b ldr r3, [r5, #32] - f83e: 696a ldr r2, [r5, #20] - f840: 4413 add r3, r2 + f294: 6a2b ldr r3, [r5, #32] + f296: 696a ldr r2, [r5, #20] + f298: 4413 add r3, r2 if(cached_src->life > LV_IMG_CACHE_LIFE_LIMIT) cached_src->life = LV_IMG_CACHE_LIFE_LIMIT; - f842: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 - f846: dd0e ble.n f866 <_lv_img_cache_open+0xbe> - f848: f44f 737a mov.w r3, #1000 ; 0x3e8 - f84c: 622b str r3, [r5, #32] + f29a: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 + f29e: dd0e ble.n f2be <_lv_img_cache_open+0xbe> + f2a0: f44f 737a mov.w r3, #1000 ; 0x3e8 + f2a4: 622b str r3, [r5, #32] break; } } /*The image is not cached then cache it now*/ if(cached_src == NULL) { - f84e: b165 cbz r5, f86a <_lv_img_cache_open+0xc2> + f2a6: b165 cbz r5, f2c2 <_lv_img_cache_open+0xc2> if(cached_src->dec_dsc.time_to_open == 0) cached_src->dec_dsc.time_to_open = 1; } return cached_src; } - f850: 4628 mov r0, r5 - f852: b003 add sp, #12 - f854: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + f2a8: 4628 mov r0, r5 + f2aa: b003 add sp, #12 + f2ac: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} if(strcmp(cache[i].dec_dsc.src, src) == 0) match = true; - f858: 4639 mov r1, r7 - f85a: 6868 ldr r0, [r5, #4] - f85c: 47d8 blx fp - f85e: fab0 f080 clz r0, r0 - f862: 0940 lsrs r0, r0, #5 - f864: e7e8 b.n f838 <_lv_img_cache_open+0x90> + f2b0: 4639 mov r1, r7 + f2b2: 6868 ldr r0, [r5, #4] + f2b4: 47d8 blx fp + f2b6: fab0 f080 clz r0, r0 + f2ba: 0940 lsrs r0, r0, #5 + f2bc: e7e8 b.n f290 <_lv_img_cache_open+0x90> cached_src->life += cached_src->dec_dsc.time_to_open * LV_IMG_CACHE_LIFE_GAIN; - f866: 622b str r3, [r5, #32] - f868: e7f1 b.n f84e <_lv_img_cache_open+0xa6> + f2be: 622b str r3, [r5, #32] + f2c0: e7f1 b.n f2a6 <_lv_img_cache_open+0xa6> for(i = 1; i < entry_cnt; i++) { - f86a: 4b2f ldr r3, [pc, #188] ; (f928 <_lv_img_cache_open+0x180>) - f86c: 881a ldrh r2, [r3, #0] - f86e: 2a01 cmp r2, #1 - f870: d937 bls.n f8e2 <_lv_img_cache_open+0x13a> - f872: f106 0324 add.w r3, r6, #36 ; 0x24 - f876: 3a02 subs r2, #2 - f878: b292 uxth r2, r2 - f87a: eb02 02c2 add.w r2, r2, r2, lsl #3 - f87e: eb06 0282 add.w r2, r6, r2, lsl #2 - f882: 3248 adds r2, #72 ; 0x48 - f884: 4635 mov r5, r6 + f2c2: 4b2f ldr r3, [pc, #188] ; (f380 <_lv_img_cache_open+0x180>) + f2c4: 881a ldrh r2, [r3, #0] + f2c6: 2a01 cmp r2, #1 + f2c8: d937 bls.n f33a <_lv_img_cache_open+0x13a> + f2ca: f106 0324 add.w r3, r6, #36 ; 0x24 + f2ce: 3a02 subs r2, #2 + f2d0: b292 uxth r2, r2 + f2d2: eb02 02c2 add.w r2, r2, r2, lsl #3 + f2d6: eb06 0282 add.w r2, r6, r2, lsl #2 + f2da: 3248 adds r2, #72 ; 0x48 + f2dc: 4635 mov r5, r6 if(cache[i].life < cached_src->life) { - f886: 6a18 ldr r0, [r3, #32] - f888: 6a29 ldr r1, [r5, #32] + f2de: 6a18 ldr r0, [r3, #32] + f2e0: 6a29 ldr r1, [r5, #32] cached_src = &cache[i]; - f88a: 4288 cmp r0, r1 - f88c: bfb8 it lt - f88e: 461d movlt r5, r3 - f890: 3324 adds r3, #36 ; 0x24 + f2e2: 4288 cmp r0, r1 + f2e4: bfb8 it lt + f2e6: 461d movlt r5, r3 + f2e8: 3324 adds r3, #36 ; 0x24 for(i = 1; i < entry_cnt; i++) { - f892: 4293 cmp r3, r2 - f894: d1f7 bne.n f886 <_lv_img_cache_open+0xde> + f2ea: 4293 cmp r3, r2 + f2ec: d1f7 bne.n f2de <_lv_img_cache_open+0xde> if(cached_src->dec_dsc.src) { - f896: 686b ldr r3, [r5, #4] - f898: b32b cbz r3, f8e6 <_lv_img_cache_open+0x13e> + f2ee: 686b ldr r3, [r5, #4] + f2f0: b32b cbz r3, f33e <_lv_img_cache_open+0x13e> lv_img_decoder_close(&cached_src->dec_dsc); - f89a: 4628 mov r0, r5 - f89c: 4b29 ldr r3, [pc, #164] ; (f944 <_lv_img_cache_open+0x19c>) - f89e: 4798 blx r3 + f2f2: 4628 mov r0, r5 + f2f4: 4b29 ldr r3, [pc, #164] ; (f39c <_lv_img_cache_open+0x19c>) + f2f6: 4798 blx r3 LV_LOG_INFO("image draw: cache miss, close and reuse an entry"); - f8a0: 4b29 ldr r3, [pc, #164] ; (f948 <_lv_img_cache_open+0x1a0>) - f8a2: 9300 str r3, [sp, #0] - f8a4: 4b24 ldr r3, [pc, #144] ; (f938 <_lv_img_cache_open+0x190>) - f8a6: 2277 movs r2, #119 ; 0x77 - f8a8: 4924 ldr r1, [pc, #144] ; (f93c <_lv_img_cache_open+0x194>) - f8aa: 2001 movs r0, #1 - f8ac: 4c24 ldr r4, [pc, #144] ; (f940 <_lv_img_cache_open+0x198>) - f8ae: 47a0 blx r4 + f2f8: 4b29 ldr r3, [pc, #164] ; (f3a0 <_lv_img_cache_open+0x1a0>) + f2fa: 9300 str r3, [sp, #0] + f2fc: 4b24 ldr r3, [pc, #144] ; (f390 <_lv_img_cache_open+0x190>) + f2fe: 2277 movs r2, #119 ; 0x77 + f300: 4924 ldr r1, [pc, #144] ; (f394 <_lv_img_cache_open+0x194>) + f302: 2001 movs r0, #1 + f304: 4c24 ldr r4, [pc, #144] ; (f398 <_lv_img_cache_open+0x198>) + f306: 47a0 blx r4 t_start = lv_tick_get(); - f8b0: 4b26 ldr r3, [pc, #152] ; (f94c <_lv_img_cache_open+0x1a4>) - f8b2: 4798 blx r3 - f8b4: 4604 mov r4, r0 + f308: 4b26 ldr r3, [pc, #152] ; (f3a4 <_lv_img_cache_open+0x1a4>) + f30a: 4798 blx r3 + f30c: 4604 mov r4, r0 cached_src->dec_dsc.time_to_open = 0; - f8b6: 2300 movs r3, #0 - f8b8: 616b str r3, [r5, #20] + f30e: 2300 movs r3, #0 + f310: 616b str r3, [r5, #20] lv_res_t open_res = lv_img_decoder_open(&cached_src->dec_dsc, src, color); - f8ba: 4642 mov r2, r8 - f8bc: 4639 mov r1, r7 - f8be: 4628 mov r0, r5 - f8c0: 4b23 ldr r3, [pc, #140] ; (f950 <_lv_img_cache_open+0x1a8>) - f8c2: 4798 blx r3 + f312: 4642 mov r2, r8 + f314: 4639 mov r1, r7 + f316: 4628 mov r0, r5 + f318: 4b23 ldr r3, [pc, #140] ; (f3a8 <_lv_img_cache_open+0x1a8>) + f31a: 4798 blx r3 if(open_res == LV_RES_INV) { - f8c4: b1c0 cbz r0, f8f8 <_lv_img_cache_open+0x150> + f31c: b1c0 cbz r0, f350 <_lv_img_cache_open+0x150> cached_src->life = 0; - f8c6: 2300 movs r3, #0 - f8c8: 622b str r3, [r5, #32] + f31e: 2300 movs r3, #0 + f320: 622b str r3, [r5, #32] if(cached_src->dec_dsc.time_to_open == 0) { - f8ca: 696b ldr r3, [r5, #20] - f8cc: 2b00 cmp r3, #0 - f8ce: d1bf bne.n f850 <_lv_img_cache_open+0xa8> + f322: 696b ldr r3, [r5, #20] + f324: 2b00 cmp r3, #0 + f326: d1bf bne.n f2a8 <_lv_img_cache_open+0xa8> cached_src->dec_dsc.time_to_open = lv_tick_elaps(t_start); - f8d0: 4620 mov r0, r4 - f8d2: 4b20 ldr r3, [pc, #128] ; (f954 <_lv_img_cache_open+0x1ac>) - f8d4: 4798 blx r3 - f8d6: 6168 str r0, [r5, #20] + f328: 4620 mov r0, r4 + f32a: 4b20 ldr r3, [pc, #128] ; (f3ac <_lv_img_cache_open+0x1ac>) + f32c: 4798 blx r3 + f32e: 6168 str r0, [r5, #20] if(cached_src->dec_dsc.time_to_open == 0) cached_src->dec_dsc.time_to_open = 1; - f8d8: 2800 cmp r0, #0 - f8da: d1b9 bne.n f850 <_lv_img_cache_open+0xa8> - f8dc: 2301 movs r3, #1 - f8de: 616b str r3, [r5, #20] - f8e0: e7b6 b.n f850 <_lv_img_cache_open+0xa8> + f330: 2800 cmp r0, #0 + f332: d1b9 bne.n f2a8 <_lv_img_cache_open+0xa8> + f334: 2301 movs r3, #1 + f336: 616b str r3, [r5, #20] + f338: e7b6 b.n f2a8 <_lv_img_cache_open+0xa8> for(i = 1; i < entry_cnt; i++) { - f8e2: 4635 mov r5, r6 - f8e4: e7d7 b.n f896 <_lv_img_cache_open+0xee> + f33a: 4635 mov r5, r6 + f33c: e7d7 b.n f2ee <_lv_img_cache_open+0xee> LV_LOG_INFO("image draw: cache miss, cached to an empty entry"); - f8e6: 4b1c ldr r3, [pc, #112] ; (f958 <_lv_img_cache_open+0x1b0>) - f8e8: 9300 str r3, [sp, #0] - f8ea: 4b13 ldr r3, [pc, #76] ; (f938 <_lv_img_cache_open+0x190>) - f8ec: 227a movs r2, #122 ; 0x7a - f8ee: 4913 ldr r1, [pc, #76] ; (f93c <_lv_img_cache_open+0x194>) - f8f0: 2001 movs r0, #1 - f8f2: 4c13 ldr r4, [pc, #76] ; (f940 <_lv_img_cache_open+0x198>) - f8f4: 47a0 blx r4 - f8f6: e7db b.n f8b0 <_lv_img_cache_open+0x108> + f33e: 4b1c ldr r3, [pc, #112] ; (f3b0 <_lv_img_cache_open+0x1b0>) + f340: 9300 str r3, [sp, #0] + f342: 4b13 ldr r3, [pc, #76] ; (f390 <_lv_img_cache_open+0x190>) + f344: 227a movs r2, #122 ; 0x7a + f346: 4913 ldr r1, [pc, #76] ; (f394 <_lv_img_cache_open+0x194>) + f348: 2001 movs r0, #1 + f34a: 4c13 ldr r4, [pc, #76] ; (f398 <_lv_img_cache_open+0x198>) + f34c: 47a0 blx r4 + f34e: e7db b.n f308 <_lv_img_cache_open+0x108> LV_LOG_WARN("Image draw cannot open the image resource"); - f8f8: 4b18 ldr r3, [pc, #96] ; (f95c <_lv_img_cache_open+0x1b4>) - f8fa: 9300 str r3, [sp, #0] - f8fc: 4b0e ldr r3, [pc, #56] ; (f938 <_lv_img_cache_open+0x190>) - f8fe: 2283 movs r2, #131 ; 0x83 - f900: 490e ldr r1, [pc, #56] ; (f93c <_lv_img_cache_open+0x194>) - f902: 2002 movs r0, #2 - f904: 4c0e ldr r4, [pc, #56] ; (f940 <_lv_img_cache_open+0x198>) - f906: 47a0 blx r4 + f350: 4b18 ldr r3, [pc, #96] ; (f3b4 <_lv_img_cache_open+0x1b4>) + f352: 9300 str r3, [sp, #0] + f354: 4b0e ldr r3, [pc, #56] ; (f390 <_lv_img_cache_open+0x190>) + f356: 2283 movs r2, #131 ; 0x83 + f358: 490e ldr r1, [pc, #56] ; (f394 <_lv_img_cache_open+0x194>) + f35a: 2002 movs r0, #2 + f35c: 4c0e ldr r4, [pc, #56] ; (f398 <_lv_img_cache_open+0x198>) + f35e: 47a0 blx r4 lv_img_decoder_close(&cached_src->dec_dsc); - f908: 4628 mov r0, r5 - f90a: 4b0e ldr r3, [pc, #56] ; (f944 <_lv_img_cache_open+0x19c>) - f90c: 4798 blx r3 + f360: 4628 mov r0, r5 + f362: 4b0e ldr r3, [pc, #56] ; (f39c <_lv_img_cache_open+0x19c>) + f364: 4798 blx r3 _lv_memset_00(&cached_src->dec_dsc, sizeof(lv_img_decoder_dsc_t)); - f90e: 2120 movs r1, #32 - f910: 4628 mov r0, r5 - f912: 4c13 ldr r4, [pc, #76] ; (f960 <_lv_img_cache_open+0x1b8>) - f914: 47a0 blx r4 + f366: 2120 movs r1, #32 + f368: 4628 mov r0, r5 + f36a: 4c13 ldr r4, [pc, #76] ; (f3b8 <_lv_img_cache_open+0x1b8>) + f36c: 47a0 blx r4 _lv_memset_00(cached_src, sizeof(lv_img_cache_entry_t)); - f916: 2124 movs r1, #36 ; 0x24 - f918: 4628 mov r0, r5 - f91a: 47a0 blx r4 + f36e: 2124 movs r1, #36 ; 0x24 + f370: 4628 mov r0, r5 + f372: 47a0 blx r4 cached_src->life = INT32_MIN; /*Make the empty entry very "weak" to force its use */ - f91c: f04f 4300 mov.w r3, #2147483648 ; 0x80000000 - f920: 622b str r3, [r5, #32] + f374: f04f 4300 mov.w r3, #2147483648 ; 0x80000000 + f378: 622b str r3, [r5, #32] return NULL; - f922: 2500 movs r5, #0 - f924: e794 b.n f850 <_lv_img_cache_open+0xa8> - f926: bf00 nop - f928: 20002b58 .word 0x20002b58 - f92c: 20006d74 .word 0x20006d74 - f930: 80000002 .word 0x80000002 - f934: 0001c674 .word 0x0001c674 - f938: 0001c618 .word 0x0001c618 - f93c: 0001c644 .word 0x0001c644 - f940: 00012805 .word 0x00012805 - f944: 000104dd .word 0x000104dd - f948: 0001c69c .word 0x0001c69c - f94c: 00011601 .word 0x00011601 - f950: 000103f1 .word 0x000103f1 - f954: 00011619 .word 0x00011619 - f958: 0001c6d0 .word 0x0001c6d0 - f95c: 0001c704 .word 0x0001c704 - f960: 000130df .word 0x000130df - f964: 00009f11 .word 0x00009f11 - f968: 0001af2b .word 0x0001af2b - -0000f96c : + f37a: 2500 movs r5, #0 + f37c: e794 b.n f2a8 <_lv_img_cache_open+0xa8> + f37e: bf00 nop + f380: 20002b58 .word 0x20002b58 + f384: 20006d58 .word 0x20006d58 + f388: 80000002 .word 0x80000002 + f38c: 00025190 .word 0x00025190 + f390: 00025134 .word 0x00025134 + f394: 00025160 .word 0x00025160 + f398: 0001225d .word 0x0001225d + f39c: 0000ff35 .word 0x0000ff35 + f3a0: 000251b8 .word 0x000251b8 + f3a4: 00011059 .word 0x00011059 + f3a8: 0000fe49 .word 0x0000fe49 + f3ac: 00011071 .word 0x00011071 + f3b0: 000251ec .word 0x000251ec + f3b4: 00025220 .word 0x00025220 + f3b8: 00012b37 .word 0x00012b37 + f3bc: 00009969 .word 0x00009969 + f3c0: 0001b4fb .word 0x0001b4fb + +0000f3c4 : * Invalidate an image source in the cache. * Useful if the image source is updated therefore it needs to be cached again. * @param src an image source path to a file or pointer to an `lv_img_dsc_t` variable. */ void lv_img_cache_invalidate_src(const void * src) { - f96c: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} + f3c4: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} lv_img_cache_entry_t * cache = LV_GC_ROOT(_lv_img_cache_array); - f970: 4b14 ldr r3, [pc, #80] ; (f9c4 ) - f972: 681f ldr r7, [r3, #0] + f3c8: 4b14 ldr r3, [pc, #80] ; (f41c ) + f3ca: 681f ldr r7, [r3, #0] uint16_t i; for(i = 0; i < entry_cnt; i++) { - f974: 4b14 ldr r3, [pc, #80] ; (f9c8 ) - f976: 881b ldrh r3, [r3, #0] - f978: b30b cbz r3, f9be - f97a: 4606 mov r6, r0 - f97c: 2400 movs r4, #0 + f3cc: 4b14 ldr r3, [pc, #80] ; (f420 ) + f3ce: 881b ldrh r3, [r3, #0] + f3d0: b30b cbz r3, f416 + f3d2: 4606 mov r6, r0 + f3d4: 2400 movs r4, #0 if(cache[i].dec_dsc.src == src || src == NULL) { if(cache[i].dec_dsc.src != NULL) { lv_img_decoder_close(&cache[i].dec_dsc); } _lv_memset_00(&cache[i].dec_dsc, sizeof(lv_img_decoder_dsc_t)); - f97e: f8df 904c ldr.w r9, [pc, #76] ; f9cc + f3d6: f8df 904c ldr.w r9, [pc, #76] ; f424 lv_img_decoder_close(&cache[i].dec_dsc); - f982: f8df a04c ldr.w sl, [pc, #76] ; f9d0 + f3da: f8df a04c ldr.w sl, [pc, #76] ; f428 for(i = 0; i < entry_cnt; i++) { - f986: f8df 8040 ldr.w r8, [pc, #64] ; f9c8 - f98a: e00e b.n f9aa + f3de: f8df 8040 ldr.w r8, [pc, #64] ; f420 + f3e2: e00e b.n f402 if(cache[i].dec_dsc.src != NULL) { - f98c: b10b cbz r3, f992 + f3e4: b10b cbz r3, f3ea lv_img_decoder_close(&cache[i].dec_dsc); - f98e: 4628 mov r0, r5 - f990: 47d0 blx sl + f3e6: 4628 mov r0, r5 + f3e8: 47d0 blx sl _lv_memset_00(&cache[i].dec_dsc, sizeof(lv_img_decoder_dsc_t)); - f992: 2120 movs r1, #32 - f994: 4628 mov r0, r5 - f996: 47c8 blx r9 + f3ea: 2120 movs r1, #32 + f3ec: 4628 mov r0, r5 + f3ee: 47c8 blx r9 _lv_memset_00(&cache[i], sizeof(lv_img_cache_entry_t)); - f998: 2124 movs r1, #36 ; 0x24 - f99a: 4628 mov r0, r5 - f99c: 47c8 blx r9 + f3f0: 2124 movs r1, #36 ; 0x24 + f3f2: 4628 mov r0, r5 + f3f4: 47c8 blx r9 for(i = 0; i < entry_cnt; i++) { - f99e: 3401 adds r4, #1 - f9a0: b2a4 uxth r4, r4 - f9a2: f8b8 3000 ldrh.w r3, [r8] - f9a6: 42a3 cmp r3, r4 - f9a8: d909 bls.n f9be + f3f6: 3401 adds r4, #1 + f3f8: b2a4 uxth r4, r4 + f3fa: f8b8 3000 ldrh.w r3, [r8] + f3fe: 42a3 cmp r3, r4 + f400: d909 bls.n f416 if(cache[i].dec_dsc.src == src || src == NULL) { - f9aa: eb04 05c4 add.w r5, r4, r4, lsl #3 - f9ae: eb07 0585 add.w r5, r7, r5, lsl #2 - f9b2: 686b ldr r3, [r5, #4] - f9b4: 42b3 cmp r3, r6 - f9b6: d0e9 beq.n f98c - f9b8: 2e00 cmp r6, #0 - f9ba: d1f0 bne.n f99e - f9bc: e7e6 b.n f98c - f9be: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} - f9c2: bf00 nop - f9c4: 20006d74 .word 0x20006d74 - f9c8: 20002b58 .word 0x20002b58 - f9cc: 000130df .word 0x000130df - f9d0: 000104dd .word 0x000104dd - -0000f9d4 : -{ - f9d4: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - f9d8: b082 sub sp, #8 - f9da: 4604 mov r4, r0 + f402: eb04 05c4 add.w r5, r4, r4, lsl #3 + f406: eb07 0585 add.w r5, r7, r5, lsl #2 + f40a: 686b ldr r3, [r5, #4] + f40c: 42b3 cmp r3, r6 + f40e: d0e9 beq.n f3e4 + f410: 2e00 cmp r6, #0 + f412: d1f0 bne.n f3f6 + f414: e7e6 b.n f3e4 + f416: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + f41a: bf00 nop + f41c: 20006d58 .word 0x20006d58 + f420: 20002b58 .word 0x20002b58 + f424: 00012b37 .word 0x00012b37 + f428: 0000ff35 .word 0x0000ff35 + +0000f42c : +{ + f42c: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} + f430: b082 sub sp, #8 + f432: 4604 mov r4, r0 if(LV_GC_ROOT(_lv_img_cache_array) != NULL) { - f9dc: 4b21 ldr r3, [pc, #132] ; (fa64 ) - f9de: 681b ldr r3, [r3, #0] - f9e0: b133 cbz r3, f9f0 + f434: 4b21 ldr r3, [pc, #132] ; (f4bc ) + f436: 681b ldr r3, [r3, #0] + f438: b133 cbz r3, f448 lv_img_cache_invalidate_src(NULL); - f9e2: 2000 movs r0, #0 - f9e4: 4b20 ldr r3, [pc, #128] ; (fa68 ) - f9e6: 4798 blx r3 + f43a: 2000 movs r0, #0 + f43c: 4b20 ldr r3, [pc, #128] ; (f4c0 ) + f43e: 4798 blx r3 lv_mem_free(LV_GC_ROOT(_lv_img_cache_array)); - f9e8: 4b1e ldr r3, [pc, #120] ; (fa64 ) - f9ea: 6818 ldr r0, [r3, #0] - f9ec: 4b1f ldr r3, [pc, #124] ; (fa6c ) - f9ee: 4798 blx r3 + f440: 4b1e ldr r3, [pc, #120] ; (f4bc ) + f442: 6818 ldr r0, [r3, #0] + f444: 4b1f ldr r3, [pc, #124] ; (f4c4 ) + f446: 4798 blx r3 LV_GC_ROOT(_lv_img_cache_array) = lv_mem_alloc(sizeof(lv_img_cache_entry_t) * new_entry_cnt); - f9f0: eb04 00c4 add.w r0, r4, r4, lsl #3 - f9f4: 0080 lsls r0, r0, #2 - f9f6: 4b1e ldr r3, [pc, #120] ; (fa70 ) - f9f8: 4798 blx r3 - f9fa: 4b1a ldr r3, [pc, #104] ; (fa64 ) - f9fc: 6018 str r0, [r3, #0] + f448: eb04 00c4 add.w r0, r4, r4, lsl #3 + f44c: 0080 lsls r0, r0, #2 + f44e: 4b1e ldr r3, [pc, #120] ; (f4c8 ) + f450: 4798 blx r3 + f452: 4b1a ldr r3, [pc, #104] ; (f4bc ) + f454: 6018 str r0, [r3, #0] LV_ASSERT_MEM(LV_GC_ROOT(_lv_img_cache_array)); - f9fe: 4b1d ldr r3, [pc, #116] ; (fa74 ) - fa00: 4798 blx r3 - fa02: b1e8 cbz r0, fa40 + f456: 4b1d ldr r3, [pc, #116] ; (f4cc ) + f458: 4798 blx r3 + f45a: b1e8 cbz r0, f498 if(LV_GC_ROOT(_lv_img_cache_array) == NULL) { - fa04: 4b17 ldr r3, [pc, #92] ; (fa64 ) - fa06: 681b ldr r3, [r3, #0] - fa08: b343 cbz r3, fa5c + f45c: 4b17 ldr r3, [pc, #92] ; (f4bc ) + f45e: 681b ldr r3, [r3, #0] + f460: b343 cbz r3, f4b4 entry_cnt = new_entry_cnt; - fa0a: 4b1b ldr r3, [pc, #108] ; (fa78 ) - fa0c: 801c strh r4, [r3, #0] + f462: 4b1b ldr r3, [pc, #108] ; (f4d0 ) + f464: 801c strh r4, [r3, #0] for(i = 0; i < entry_cnt; i++) { - fa0e: b1a4 cbz r4, fa3a - fa10: 2400 movs r4, #0 + f466: b1a4 cbz r4, f492 + f468: 2400 movs r4, #0 _lv_memset_00(&LV_GC_ROOT(_lv_img_cache_array)[i].dec_dsc, sizeof(lv_img_decoder_dsc_t)); - fa12: 4f14 ldr r7, [pc, #80] ; (fa64 ) - fa14: 4e19 ldr r6, [pc, #100] ; (fa7c ) + f46a: 4f14 ldr r7, [pc, #80] ; (f4bc ) + f46c: 4e19 ldr r6, [pc, #100] ; (f4d4 ) for(i = 0; i < entry_cnt; i++) { - fa16: 4698 mov r8, r3 + f46e: 4698 mov r8, r3 _lv_memset_00(&LV_GC_ROOT(_lv_img_cache_array)[i].dec_dsc, sizeof(lv_img_decoder_dsc_t)); - fa18: eb04 05c4 add.w r5, r4, r4, lsl #3 - fa1c: 00ad lsls r5, r5, #2 - fa1e: 6838 ldr r0, [r7, #0] - fa20: 2120 movs r1, #32 - fa22: 4428 add r0, r5 - fa24: 47b0 blx r6 + f470: eb04 05c4 add.w r5, r4, r4, lsl #3 + f474: 00ad lsls r5, r5, #2 + f476: 6838 ldr r0, [r7, #0] + f478: 2120 movs r1, #32 + f47a: 4428 add r0, r5 + f47c: 47b0 blx r6 _lv_memset_00(&LV_GC_ROOT(_lv_img_cache_array)[i], sizeof(lv_img_cache_entry_t)); - fa26: 6838 ldr r0, [r7, #0] - fa28: 2124 movs r1, #36 ; 0x24 - fa2a: 4428 add r0, r5 - fa2c: 47b0 blx r6 + f47e: 6838 ldr r0, [r7, #0] + f480: 2124 movs r1, #36 ; 0x24 + f482: 4428 add r0, r5 + f484: 47b0 blx r6 for(i = 0; i < entry_cnt; i++) { - fa2e: 3401 adds r4, #1 - fa30: b2a4 uxth r4, r4 - fa32: f8b8 3000 ldrh.w r3, [r8] - fa36: 42a3 cmp r3, r4 - fa38: d8ee bhi.n fa18 -} - fa3a: b002 add sp, #8 - fa3c: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + f486: 3401 adds r4, #1 + f488: b2a4 uxth r4, r4 + f48a: f8b8 3000 ldrh.w r3, [r8] + f48e: 42a3 cmp r3, r4 + f490: d8ee bhi.n f470 +} + f492: b002 add sp, #8 + f494: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} LV_ASSERT_MEM(LV_GC_ROOT(_lv_img_cache_array)); - fa40: 4b0f ldr r3, [pc, #60] ; (fa80 ) - fa42: 9300 str r3, [sp, #0] - fa44: 22a8 movs r2, #168 ; 0xa8 - fa46: 490f ldr r1, [pc, #60] ; (fa84 ) - fa48: 2003 movs r0, #3 - fa4a: 4c0f ldr r4, [pc, #60] ; (fa88 ) - fa4c: 47a0 blx r4 - fa4e: 4b05 ldr r3, [pc, #20] ; (fa64 ) - fa50: 681a ldr r2, [r3, #0] - fa52: 2300 movs r3, #0 - fa54: 480d ldr r0, [pc, #52] ; (fa8c ) - fa56: 490e ldr r1, [pc, #56] ; (fa90 ) - fa58: 4788 blx r1 - fa5a: e7fe b.n fa5a + f498: 4b0f ldr r3, [pc, #60] ; (f4d8 ) + f49a: 9300 str r3, [sp, #0] + f49c: 22a8 movs r2, #168 ; 0xa8 + f49e: 490f ldr r1, [pc, #60] ; (f4dc ) + f4a0: 2003 movs r0, #3 + f4a2: 4c0f ldr r4, [pc, #60] ; (f4e0 ) + f4a4: 47a0 blx r4 + f4a6: 4b05 ldr r3, [pc, #20] ; (f4bc ) + f4a8: 681a ldr r2, [r3, #0] + f4aa: 2300 movs r3, #0 + f4ac: 480d ldr r0, [pc, #52] ; (f4e4 ) + f4ae: 490e ldr r1, [pc, #56] ; (f4e8 ) + f4b0: 4788 blx r1 + f4b2: e7fe b.n f4b2 entry_cnt = 0; - fa5c: 2200 movs r2, #0 - fa5e: 4b06 ldr r3, [pc, #24] ; (fa78 ) - fa60: 801a strh r2, [r3, #0] + f4b4: 2200 movs r2, #0 + f4b6: 4b06 ldr r3, [pc, #24] ; (f4d0 ) + f4b8: 801a strh r2, [r3, #0] return; - fa62: e7ea b.n fa3a - fa64: 20006d74 .word 0x20006d74 - fa68: 0000f96d .word 0x0000f96d - fa6c: 00012a6d .word 0x00012a6d - fa70: 00012985 .word 0x00012985 - fa74: 0000298d .word 0x0000298d - fa78: 20002b58 .word 0x20002b58 - fa7c: 000130df .word 0x000130df - fa80: 0001c62c .word 0x0001c62c - fa84: 0001c644 .word 0x0001c644 - fa88: 00012805 .word 0x00012805 - fa8c: 0001b4bc .word 0x0001b4bc - fa90: 00002995 .word 0x00002995 - -0000fa94 : + f4ba: e7ea b.n f492 + f4bc: 20006d58 .word 0x20006d58 + f4c0: 0000f3c5 .word 0x0000f3c5 + f4c4: 000124c5 .word 0x000124c5 + f4c8: 000123dd .word 0x000123dd + f4cc: 000022b1 .word 0x000022b1 + f4d0: 20002b58 .word 0x20002b58 + f4d4: 00012b37 .word 0x00012b37 + f4d8: 00025148 .word 0x00025148 + f4dc: 00025160 .word 0x00025160 + f4e0: 0001225d .word 0x0001225d + f4e4: 00023fd8 .word 0x00023fd8 + f4e8: 000022b9 .word 0x000022b9 + +0000f4ec : * @param src the image source: pointer to an `lv_img_dsc_t` variable, a file path or a symbol * @param header store the image data here * @return LV_RES_OK: the info is successfully stored in `header`; LV_RES_INV: unknown format or other error. */ lv_res_t lv_img_decoder_built_in_info(lv_img_decoder_t * decoder, const void * src, lv_img_header_t * header) { - fa94: b530 push {r4, r5, lr} - fa96: b087 sub sp, #28 - fa98: 460c mov r4, r1 - fa9a: 4615 mov r5, r2 + f4ec: b530 push {r4, r5, lr} + f4ee: b087 sub sp, #28 + f4f0: 460c mov r4, r1 + f4f2: 4615 mov r5, r2 (void)decoder; /*Unused*/ lv_img_src_t src_type = lv_img_src_get_type(src); - fa9c: 4608 mov r0, r1 - fa9e: 4b33 ldr r3, [pc, #204] ; (fb6c ) - faa0: 4798 blx r3 + f4f4: 4608 mov r0, r1 + f4f6: 4b33 ldr r3, [pc, #204] ; (f5c4 ) + f4f8: 4798 blx r3 if(src_type == LV_IMG_SRC_VARIABLE) { - faa2: b9d8 cbnz r0, fadc + f4fa: b9d8 cbnz r0, f534 lv_img_cf_t cf = ((lv_img_dsc_t *)src)->header.cf; - faa4: 7823 ldrb r3, [r4, #0] - faa6: f3c3 0304 ubfx r3, r3, #0, #5 + f4fc: 7823 ldrb r3, [r4, #0] + f4fe: f3c3 0304 ubfx r3, r3, #0, #5 if(cf < CF_BUILT_IN_FIRST || cf > CF_BUILT_IN_LAST) return LV_RES_INV; - faaa: 3b04 subs r3, #4 - faac: b2db uxtb r3, r3 - faae: 2b0a cmp r3, #10 - fab0: d859 bhi.n fb66 + f502: 3b04 subs r3, #4 + f504: b2db uxtb r3, r3 + f506: 2b0a cmp r3, #10 + f508: d859 bhi.n f5be header->w = ((lv_img_dsc_t *)src)->header.w; - fab2: 6823 ldr r3, [r4, #0] - fab4: f3c3 238a ubfx r3, r3, #10, #11 - fab8: 682a ldr r2, [r5, #0] - faba: f363 2294 bfi r2, r3, #10, #11 - fabe: 602a str r2, [r5, #0] + f50a: 6823 ldr r3, [r4, #0] + f50c: f3c3 238a ubfx r3, r3, #10, #11 + f510: 682a ldr r2, [r5, #0] + f512: f363 2294 bfi r2, r3, #10, #11 + f516: 602a str r2, [r5, #0] header->h = ((lv_img_dsc_t *)src)->header.h; - fac0: 8863 ldrh r3, [r4, #2] - fac2: f3c3 134a ubfx r3, r3, #5, #11 - fac6: 886a ldrh r2, [r5, #2] - fac8: f363 124f bfi r2, r3, #5, #11 - facc: 806a strh r2, [r5, #2] + f518: 8863 ldrh r3, [r4, #2] + f51a: f3c3 134a ubfx r3, r3, #5, #11 + f51e: 886a ldrh r2, [r5, #2] + f520: f363 124f bfi r2, r3, #5, #11 + f524: 806a strh r2, [r5, #2] header->cf = ((lv_img_dsc_t *)src)->header.cf; - face: 7822 ldrb r2, [r4, #0] - fad0: 782b ldrb r3, [r5, #0] - fad2: f362 0304 bfi r3, r2, #0, #5 - fad6: 702b strb r3, [r5, #0] + f526: 7822 ldrb r2, [r4, #0] + f528: 782b ldrb r3, [r5, #0] + f52a: f362 0304 bfi r3, r2, #0, #5 + f52e: 702b strb r3, [r5, #0] } else { LV_LOG_WARN("Image get info found unknown src type"); return LV_RES_INV; } return LV_RES_OK; - fad8: 2001 movs r0, #1 - fada: e00d b.n faf8 + f530: 2001 movs r0, #1 + f532: e00d b.n f550 else if(src_type == LV_IMG_SRC_FILE) { - fadc: 2801 cmp r0, #1 - fade: d00d beq.n fafc + f534: 2801 cmp r0, #1 + f536: d00d beq.n f554 else if(src_type == LV_IMG_SRC_SYMBOL) { - fae0: 2802 cmp r0, #2 - fae2: d032 beq.n fb4a + f538: 2802 cmp r0, #2 + f53a: d032 beq.n f5a2 LV_LOG_WARN("Image get info found unknown src type"); - fae4: 4b22 ldr r3, [pc, #136] ; (fb70 ) - fae6: 9300 str r3, [sp, #0] - fae8: 4b22 ldr r3, [pc, #136] ; (fb74 ) - faea: f44f 729a mov.w r2, #308 ; 0x134 - faee: 4922 ldr r1, [pc, #136] ; (fb78 ) - faf0: 2002 movs r0, #2 - faf2: 4c22 ldr r4, [pc, #136] ; (fb7c ) - faf4: 47a0 blx r4 + f53c: 4b22 ldr r3, [pc, #136] ; (f5c8 ) + f53e: 9300 str r3, [sp, #0] + f540: 4b22 ldr r3, [pc, #136] ; (f5cc ) + f542: f44f 729a mov.w r2, #308 ; 0x134 + f546: 4922 ldr r1, [pc, #136] ; (f5d0 ) + f548: 2002 movs r0, #2 + f54a: 4c22 ldr r4, [pc, #136] ; (f5d4 ) + f54c: 47a0 blx r4 return LV_RES_INV; - faf6: 2000 movs r0, #0 + f54e: 2000 movs r0, #0 } - faf8: b007 add sp, #28 - fafa: bd30 pop {r4, r5, pc} + f550: b007 add sp, #28 + f552: bd30 pop {r4, r5, pc} res = lv_fs_open(&file, src, LV_FS_MODE_RD); - fafc: 2202 movs r2, #2 - fafe: 4621 mov r1, r4 - fb00: a804 add r0, sp, #16 - fb02: 4b1f ldr r3, [pc, #124] ; (fb80 ) - fb04: 4798 blx r3 + f554: 2202 movs r2, #2 + f556: 4621 mov r1, r4 + f558: a804 add r0, sp, #16 + f55a: 4b1f ldr r3, [pc, #124] ; (f5d8 ) + f55c: 4798 blx r3 if(res == LV_FS_RES_OK) { - fb06: b138 cbz r0, fb18 + f55e: b138 cbz r0, f570 if(header->cf < CF_BUILT_IN_FIRST || header->cf > CF_BUILT_IN_LAST) return LV_RES_INV; - fb08: 782b ldrb r3, [r5, #0] - fb0a: 331c adds r3, #28 - fb0c: f003 031f and.w r3, r3, #31 - fb10: 2b0a cmp r3, #10 - fb12: d818 bhi.n fb46 + f560: 782b ldrb r3, [r5, #0] + f562: 331c adds r3, #28 + f564: f003 031f and.w r3, r3, #31 + f568: 2b0a cmp r3, #10 + f56a: d818 bhi.n f59e return LV_RES_OK; - fb14: 2001 movs r0, #1 - fb16: e7ef b.n faf8 + f56c: 2001 movs r0, #1 + f56e: e7ef b.n f550 res = lv_fs_read(&file, header, sizeof(lv_img_header_t), &rn); - fb18: ab03 add r3, sp, #12 - fb1a: 2204 movs r2, #4 - fb1c: 4629 mov r1, r5 - fb1e: a804 add r0, sp, #16 - fb20: 4c18 ldr r4, [pc, #96] ; (fb84 ) - fb22: 47a0 blx r4 - fb24: 4604 mov r4, r0 + f570: ab03 add r3, sp, #12 + f572: 2204 movs r2, #4 + f574: 4629 mov r1, r5 + f576: a804 add r0, sp, #16 + f578: 4c18 ldr r4, [pc, #96] ; (f5dc ) + f57a: 47a0 blx r4 + f57c: 4604 mov r4, r0 lv_fs_close(&file); - fb26: a804 add r0, sp, #16 - fb28: 4b17 ldr r3, [pc, #92] ; (fb88 ) - fb2a: 4798 blx r3 + f57e: a804 add r0, sp, #16 + f580: 4b17 ldr r3, [pc, #92] ; (f5e0 ) + f582: 4798 blx r3 if(res != LV_FS_RES_OK || rn != sizeof(lv_img_header_t)) { - fb2c: b914 cbnz r4, fb34 - fb2e: 9b03 ldr r3, [sp, #12] - fb30: 2b04 cmp r3, #4 - fb32: d0e9 beq.n fb08 + f584: b914 cbnz r4, f58c + f586: 9b03 ldr r3, [sp, #12] + f588: 2b04 cmp r3, #4 + f58a: d0e9 beq.n f560 LV_LOG_WARN("Image get info get read file header"); - fb34: 4b15 ldr r3, [pc, #84] ; (fb8c ) - fb36: 9300 str r3, [sp, #0] - fb38: 4b0e ldr r3, [pc, #56] ; (fb74 ) - fb3a: f240 1221 movw r2, #289 ; 0x121 - fb3e: 490e ldr r1, [pc, #56] ; (fb78 ) - fb40: 2002 movs r0, #2 - fb42: 4c0e ldr r4, [pc, #56] ; (fb7c ) - fb44: 47a0 blx r4 + f58c: 4b15 ldr r3, [pc, #84] ; (f5e4 ) + f58e: 9300 str r3, [sp, #0] + f590: 4b0e ldr r3, [pc, #56] ; (f5cc ) + f592: f240 1221 movw r2, #289 ; 0x121 + f596: 490e ldr r1, [pc, #56] ; (f5d0 ) + f598: 2002 movs r0, #2 + f59a: 4c0e ldr r4, [pc, #56] ; (f5d4 ) + f59c: 47a0 blx r4 return LV_RES_INV; - fb46: 2000 movs r0, #0 - fb48: e7d6 b.n faf8 + f59e: 2000 movs r0, #0 + f5a0: e7d6 b.n f550 header->w = 1; - fb4a: 682b ldr r3, [r5, #0] - fb4c: 2001 movs r0, #1 - fb4e: f360 2394 bfi r3, r0, #10, #11 - fb52: 602b str r3, [r5, #0] + f5a2: 682b ldr r3, [r5, #0] + f5a4: 2001 movs r0, #1 + f5a6: f360 2394 bfi r3, r0, #10, #11 + f5aa: 602b str r3, [r5, #0] header->h = 1; - fb54: 0c1a lsrs r2, r3, #16 - fb56: f360 124f bfi r2, r0, #5, #11 - fb5a: 806a strh r2, [r5, #2] + f5ac: 0c1a lsrs r2, r3, #16 + f5ae: f360 124f bfi r2, r0, #5, #11 + f5b2: 806a strh r2, [r5, #2] header->cf = LV_IMG_CF_ALPHA_1BIT; - fb5c: 220b movs r2, #11 - fb5e: f362 0304 bfi r3, r2, #0, #5 - fb62: 702b strb r3, [r5, #0] - fb64: e7c8 b.n faf8 + f5b4: 220b movs r2, #11 + f5b6: f362 0304 bfi r3, r2, #0, #5 + f5ba: 702b strb r3, [r5, #0] + f5bc: e7c8 b.n f550 if(cf < CF_BUILT_IN_FIRST || cf > CF_BUILT_IN_LAST) return LV_RES_INV; - fb66: 2000 movs r0, #0 - fb68: e7c6 b.n faf8 - fb6a: bf00 nop - fb6c: 00009f11 .word 0x00009f11 - fb70: 0001c850 .word 0x0001c850 - fb74: 0001c730 .word 0x0001c730 - fb78: 0001c7fc .word 0x0001c7fc - fb7c: 00012805 .word 0x00012805 - fb80: 000122f5 .word 0x000122f5 - fb84: 00012265 .word 0x00012265 - fb88: 00012235 .word 0x00012235 - fb8c: 0001c82c .word 0x0001c82c - -0000fb90 : + f5be: 2000 movs r0, #0 + f5c0: e7c6 b.n f550 + f5c2: bf00 nop + f5c4: 00009969 .word 0x00009969 + f5c8: 0002536c .word 0x0002536c + f5cc: 0002524c .word 0x0002524c + f5d0: 00025318 .word 0x00025318 + f5d4: 0001225d .word 0x0001225d + f5d8: 00011d4d .word 0x00011d4d + f5dc: 00011cbd .word 0x00011cbd + f5e0: 00011c8d .word 0x00011c8d + f5e4: 00025348 .word 0x00025348 + +0000f5e8 : * Close the pending decoding. Free resources etc. * @param decoder pointer to the decoder the function associated with * @param dsc pointer to decoder descriptor */ void lv_img_decoder_built_in_close(lv_img_decoder_t * decoder, lv_img_decoder_dsc_t * dsc) { - fb90: b538 push {r3, r4, r5, lr} + f5e8: b538 push {r3, r4, r5, lr} (void)decoder; /*Unused*/ lv_img_decoder_built_in_data_t * user_data = dsc->user_data; - fb92: 69cc ldr r4, [r1, #28] + f5ea: 69cc ldr r4, [r1, #28] if(user_data) { - fb94: b1a4 cbz r4, fbc0 - fb96: 460d mov r5, r1 + f5ec: b1a4 cbz r4, f618 + f5ee: 460d mov r5, r1 #if LV_USE_FILESYSTEM if(user_data->f) { - fb98: 6820 ldr r0, [r4, #0] - fb9a: b120 cbz r0, fba6 + f5f0: 6820 ldr r0, [r4, #0] + f5f2: b120 cbz r0, f5fe lv_fs_close(user_data->f); - fb9c: 4b09 ldr r3, [pc, #36] ; (fbc4 ) - fb9e: 4798 blx r3 + f5f4: 4b09 ldr r3, [pc, #36] ; (f61c ) + f5f6: 4798 blx r3 lv_mem_free(user_data->f); - fba0: 6820 ldr r0, [r4, #0] - fba2: 4b09 ldr r3, [pc, #36] ; (fbc8 ) - fba4: 4798 blx r3 + f5f8: 6820 ldr r0, [r4, #0] + f5fa: 4b09 ldr r3, [pc, #36] ; (f620 ) + f5fc: 4798 blx r3 } #endif if(user_data->palette) lv_mem_free(user_data->palette); - fba6: 6860 ldr r0, [r4, #4] - fba8: b108 cbz r0, fbae - fbaa: 4b07 ldr r3, [pc, #28] ; (fbc8 ) - fbac: 4798 blx r3 + f5fe: 6860 ldr r0, [r4, #4] + f600: b108 cbz r0, f606 + f602: 4b07 ldr r3, [pc, #28] ; (f620 ) + f604: 4798 blx r3 if(user_data->opa) lv_mem_free(user_data->opa); - fbae: 68a0 ldr r0, [r4, #8] - fbb0: b108 cbz r0, fbb6 - fbb2: 4b05 ldr r3, [pc, #20] ; (fbc8 ) - fbb4: 4798 blx r3 + f606: 68a0 ldr r0, [r4, #8] + f608: b108 cbz r0, f60e + f60a: 4b05 ldr r3, [pc, #20] ; (f620 ) + f60c: 4798 blx r3 lv_mem_free(user_data); - fbb6: 4620 mov r0, r4 - fbb8: 4b03 ldr r3, [pc, #12] ; (fbc8 ) - fbba: 4798 blx r3 + f60e: 4620 mov r0, r4 + f610: 4b03 ldr r3, [pc, #12] ; (f620 ) + f612: 4798 blx r3 dsc->user_data = NULL; - fbbc: 2300 movs r3, #0 - fbbe: 61eb str r3, [r5, #28] - fbc0: bd38 pop {r3, r4, r5, pc} - fbc2: bf00 nop - fbc4: 00012235 .word 0x00012235 - fbc8: 00012a6d .word 0x00012a6d - -0000fbcc : -{ - fbcc: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} - fbd0: b085 sub sp, #20 - fbd2: 4605 mov r5, r0 - fbd4: 460c mov r4, r1 + f614: 2300 movs r3, #0 + f616: 61eb str r3, [r5, #28] + f618: bd38 pop {r3, r4, r5, pc} + f61a: bf00 nop + f61c: 00011c8d .word 0x00011c8d + f620: 000124c5 .word 0x000124c5 + +0000f624 : +{ + f624: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} + f628: b085 sub sp, #20 + f62a: 4605 mov r5, r0 + f62c: 460c mov r4, r1 if(dsc->src_type == LV_IMG_SRC_FILE) { - fbd6: 7a8b ldrb r3, [r1, #10] - fbd8: 2b01 cmp r3, #1 - fbda: d016 beq.n fc0a + f62e: 7a8b ldrb r3, [r1, #10] + f630: 2b01 cmp r3, #1 + f632: d016 beq.n f662 else if(dsc->src_type == LV_IMG_SRC_VARIABLE) { - fbdc: 2b00 cmp r3, #0 - fbde: f040 81aa bne.w ff36 + f634: 2b00 cmp r3, #0 + f636: f040 81aa bne.w f98e if(((lv_img_dsc_t *)dsc->src)->data == NULL) { - fbe2: 684b ldr r3, [r1, #4] - fbe4: 689b ldr r3, [r3, #8] - fbe6: 2b00 cmp r3, #0 - fbe8: f000 81a3 beq.w ff32 + f63a: 684b ldr r3, [r1, #4] + f63c: 689b ldr r3, [r3, #8] + f63e: 2b00 cmp r3, #0 + f640: f000 81a3 beq.w f98a lv_img_cf_t cf = dsc->header.cf; - fbec: 7b08 ldrb r0, [r1, #12] - fbee: f000 001f and.w r0, r0, #31 + f644: 7b08 ldrb r0, [r1, #12] + f646: f000 001f and.w r0, r0, #31 if(cf == LV_IMG_CF_TRUE_COLOR || cf == LV_IMG_CF_TRUE_COLOR_ALPHA || cf == LV_IMG_CF_TRUE_COLOR_CHROMA_KEYED) { - fbf2: 1f03 subs r3, r0, #4 - fbf4: b2db uxtb r3, r3 - fbf6: 2b02 cmp r3, #2 - fbf8: f200 8085 bhi.w fd06 + f64a: 1f03 subs r3, r0, #4 + f64c: b2db uxtb r3, r3 + f64e: 2b02 cmp r3, #2 + f650: f200 8085 bhi.w f75e dsc->img_data = ((lv_img_dsc_t *)dsc->src)->data; - fbfc: 6863 ldr r3, [r4, #4] - fbfe: 689b ldr r3, [r3, #8] - fc00: 6123 str r3, [r4, #16] + f654: 6863 ldr r3, [r4, #4] + f656: 689b ldr r3, [r3, #8] + f658: 6123 str r3, [r4, #16] return LV_RES_OK; - fc02: 2001 movs r0, #1 + f65a: 2001 movs r0, #1 } - fc04: b005 add sp, #20 - fc06: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} + f65c: b005 add sp, #20 + f65e: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} if(strcmp(lv_fs_get_ext(dsc->src), "bin")) return LV_RES_INV; - fc0a: 6848 ldr r0, [r1, #4] - fc0c: 4b96 ldr r3, [pc, #600] ; (fe68 ) - fc0e: 4798 blx r3 - fc10: 4996 ldr r1, [pc, #600] ; (fe6c ) - fc12: 4b97 ldr r3, [pc, #604] ; (fe70 ) - fc14: 4798 blx r3 - fc16: 2800 cmp r0, #0 - fc18: d12a bne.n fc70 + f662: 6848 ldr r0, [r1, #4] + f664: 4b96 ldr r3, [pc, #600] ; (f8c0 ) + f666: 4798 blx r3 + f668: 4996 ldr r1, [pc, #600] ; (f8c4 ) + f66a: 4b97 ldr r3, [pc, #604] ; (f8c8 ) + f66c: 4798 blx r3 + f66e: 2800 cmp r0, #0 + f670: d12a bne.n f6c8 lv_fs_res_t res = lv_fs_open(&f, dsc->src, LV_FS_MODE_RD); - fc1a: 2202 movs r2, #2 - fc1c: 6861 ldr r1, [r4, #4] - fc1e: a802 add r0, sp, #8 - fc20: 4b94 ldr r3, [pc, #592] ; (fe74 ) - fc22: 4798 blx r3 + f672: 2202 movs r2, #2 + f674: 6861 ldr r1, [r4, #4] + f676: a802 add r0, sp, #8 + f678: 4b94 ldr r3, [pc, #592] ; (f8cc ) + f67a: 4798 blx r3 if(res != LV_FS_RES_OK) { - fc24: b9d8 cbnz r0, fc5e + f67c: b9d8 cbnz r0, f6b6 if(dsc->user_data == NULL) { - fc26: 69e3 ldr r3, [r4, #28] - fc28: b323 cbz r3, fc74 + f67e: 69e3 ldr r3, [r4, #28] + f680: b323 cbz r3, f6cc lv_img_decoder_built_in_data_t * user_data = dsc->user_data; - fc2a: 69e6 ldr r6, [r4, #28] + f682: 69e6 ldr r6, [r4, #28] user_data->f = lv_mem_alloc(sizeof(f)); - fc2c: 2008 movs r0, #8 - fc2e: 4b92 ldr r3, [pc, #584] ; (fe78 ) - fc30: 4798 blx r3 - fc32: 6030 str r0, [r6, #0] + f684: 2008 movs r0, #8 + f686: 4b92 ldr r3, [pc, #584] ; (f8d0 ) + f688: 4798 blx r3 + f68a: 6030 str r0, [r6, #0] LV_ASSERT_MEM(user_data->f); - fc34: 4b91 ldr r3, [pc, #580] ; (fe7c ) - fc36: 4798 blx r3 - fc38: 2800 cmp r0, #0 - fc3a: d040 beq.n fcbe + f68c: 4b91 ldr r3, [pc, #580] ; (f8d4 ) + f68e: 4798 blx r3 + f690: 2800 cmp r0, #0 + f692: d040 beq.n f716 if(user_data->f == NULL) { - fc3c: 6833 ldr r3, [r6, #0] - fc3e: 2b00 cmp r3, #0 - fc40: d14b bne.n fcda + f694: 6833 ldr r3, [r6, #0] + f696: 2b00 cmp r3, #0 + f698: d14b bne.n f732 LV_LOG_ERROR("img_decoder_built_in_open: out of memory"); - fc42: 4b8f ldr r3, [pc, #572] ; (fe80 ) - fc44: 9300 str r3, [sp, #0] - fc46: 4b8f ldr r3, [pc, #572] ; (fe84 ) - fc48: f240 125f movw r2, #351 ; 0x15f - fc4c: 498e ldr r1, [pc, #568] ; (fe88 ) - fc4e: 2003 movs r0, #3 - fc50: 4e8e ldr r6, [pc, #568] ; (fe8c ) - fc52: 47b0 blx r6 + f69a: 4b8f ldr r3, [pc, #572] ; (f8d8 ) + f69c: 9300 str r3, [sp, #0] + f69e: 4b8f ldr r3, [pc, #572] ; (f8dc ) + f6a0: f240 125f movw r2, #351 ; 0x15f + f6a4: 498e ldr r1, [pc, #568] ; (f8e0 ) + f6a6: 2003 movs r0, #3 + f6a8: 4e8e ldr r6, [pc, #568] ; (f8e4 ) + f6aa: 47b0 blx r6 lv_img_decoder_built_in_close(decoder, dsc); - fc54: 4621 mov r1, r4 - fc56: 4628 mov r0, r5 - fc58: 4b8d ldr r3, [pc, #564] ; (fe90 ) - fc5a: 4798 blx r3 + f6ac: 4621 mov r1, r4 + f6ae: 4628 mov r0, r5 + f6b0: 4b8d ldr r3, [pc, #564] ; (f8e8 ) + f6b2: 4798 blx r3 return LV_RES_INV; - fc5c: e008 b.n fc70 + f6b4: e008 b.n f6c8 LV_LOG_WARN("Built-in image decoder can't open the file"); - fc5e: 4b8d ldr r3, [pc, #564] ; (fe94 ) - fc60: 9300 str r3, [sp, #0] - fc62: 4b88 ldr r3, [pc, #544] ; (fe84 ) - fc64: f44f 72a6 mov.w r2, #332 ; 0x14c - fc68: 4987 ldr r1, [pc, #540] ; (fe88 ) - fc6a: 2002 movs r0, #2 - fc6c: 4c87 ldr r4, [pc, #540] ; (fe8c ) - fc6e: 47a0 blx r4 + f6b6: 4b8d ldr r3, [pc, #564] ; (f8ec ) + f6b8: 9300 str r3, [sp, #0] + f6ba: 4b88 ldr r3, [pc, #544] ; (f8dc ) + f6bc: f44f 72a6 mov.w r2, #332 ; 0x14c + f6c0: 4987 ldr r1, [pc, #540] ; (f8e0 ) + f6c2: 2002 movs r0, #2 + f6c4: 4c87 ldr r4, [pc, #540] ; (f8e4 ) + f6c6: 47a0 blx r4 if(strcmp(lv_fs_get_ext(dsc->src), "bin")) return LV_RES_INV; - fc70: 2000 movs r0, #0 - fc72: e7c7 b.n fc04 + f6c8: 2000 movs r0, #0 + f6ca: e7c7 b.n f65c dsc->user_data = lv_mem_alloc(sizeof(lv_img_decoder_built_in_data_t)); - fc74: 200c movs r0, #12 - fc76: 4b80 ldr r3, [pc, #512] ; (fe78 ) - fc78: 4798 blx r3 - fc7a: 61e0 str r0, [r4, #28] + f6cc: 200c movs r0, #12 + f6ce: 4b80 ldr r3, [pc, #512] ; (f8d0 ) + f6d0: 4798 blx r3 + f6d2: 61e0 str r0, [r4, #28] LV_ASSERT_MEM(dsc->user_data); - fc7c: 4b7f ldr r3, [pc, #508] ; (fe7c ) - fc7e: 4798 blx r3 - fc80: b968 cbnz r0, fc9e - fc82: 4b80 ldr r3, [pc, #512] ; (fe84 ) - fc84: 9300 str r3, [sp, #0] - fc86: f240 1253 movw r2, #339 ; 0x153 - fc8a: 497f ldr r1, [pc, #508] ; (fe88 ) - fc8c: 2003 movs r0, #3 - fc8e: 4d7f ldr r5, [pc, #508] ; (fe8c ) - fc90: 47a8 blx r5 - fc92: 69e2 ldr r2, [r4, #28] - fc94: 2300 movs r3, #0 - fc96: 4880 ldr r0, [pc, #512] ; (fe98 ) - fc98: 4980 ldr r1, [pc, #512] ; (fe9c ) - fc9a: 4788 blx r1 - fc9c: e7fe b.n fc9c + f6d4: 4b7f ldr r3, [pc, #508] ; (f8d4 ) + f6d6: 4798 blx r3 + f6d8: b968 cbnz r0, f6f6 + f6da: 4b80 ldr r3, [pc, #512] ; (f8dc ) + f6dc: 9300 str r3, [sp, #0] + f6de: f240 1253 movw r2, #339 ; 0x153 + f6e2: 497f ldr r1, [pc, #508] ; (f8e0 ) + f6e4: 2003 movs r0, #3 + f6e6: 4d7f ldr r5, [pc, #508] ; (f8e4 ) + f6e8: 47a8 blx r5 + f6ea: 69e2 ldr r2, [r4, #28] + f6ec: 2300 movs r3, #0 + f6ee: 4880 ldr r0, [pc, #512] ; (f8f0 ) + f6f0: 4980 ldr r1, [pc, #512] ; (f8f4 ) + f6f2: 4788 blx r1 + f6f4: e7fe b.n f6f4 if(dsc->user_data == NULL) { - fc9e: 69e0 ldr r0, [r4, #28] - fca0: b948 cbnz r0, fcb6 + f6f6: 69e0 ldr r0, [r4, #28] + f6f8: b948 cbnz r0, f70e LV_LOG_ERROR("img_decoder_built_in_open: out of memory"); - fca2: 4b77 ldr r3, [pc, #476] ; (fe80 ) - fca4: 9300 str r3, [sp, #0] - fca6: 4b77 ldr r3, [pc, #476] ; (fe84 ) - fca8: f240 1255 movw r2, #341 ; 0x155 - fcac: 4976 ldr r1, [pc, #472] ; (fe88 ) - fcae: 2003 movs r0, #3 - fcb0: 4c76 ldr r4, [pc, #472] ; (fe8c ) - fcb2: 47a0 blx r4 + f6fa: 4b77 ldr r3, [pc, #476] ; (f8d8 ) + f6fc: 9300 str r3, [sp, #0] + f6fe: 4b77 ldr r3, [pc, #476] ; (f8dc ) + f700: f240 1255 movw r2, #341 ; 0x155 + f704: 4976 ldr r1, [pc, #472] ; (f8e0 ) + f706: 2003 movs r0, #3 + f708: 4c76 ldr r4, [pc, #472] ; (f8e4 ) + f70a: 47a0 blx r4 return LV_RES_INV; - fcb4: e7dc b.n fc70 + f70c: e7dc b.n f6c8 _lv_memset_00(dsc->user_data, sizeof(lv_img_decoder_built_in_data_t)); - fcb6: 210c movs r1, #12 - fcb8: 4b79 ldr r3, [pc, #484] ; (fea0 ) - fcba: 4798 blx r3 - fcbc: e7b5 b.n fc2a + f70e: 210c movs r1, #12 + f710: 4b79 ldr r3, [pc, #484] ; (f8f8 ) + f712: 4798 blx r3 + f714: e7b5 b.n f682 LV_ASSERT_MEM(user_data->f); - fcbe: 4b71 ldr r3, [pc, #452] ; (fe84 ) - fcc0: 9300 str r3, [sp, #0] - fcc2: f240 125d movw r2, #349 ; 0x15d - fcc6: 4970 ldr r1, [pc, #448] ; (fe88 ) - fcc8: 2003 movs r0, #3 - fcca: 4c70 ldr r4, [pc, #448] ; (fe8c ) - fccc: 47a0 blx r4 - fcce: 6832 ldr r2, [r6, #0] - fcd0: 2300 movs r3, #0 - fcd2: 4871 ldr r0, [pc, #452] ; (fe98 ) - fcd4: 4971 ldr r1, [pc, #452] ; (fe9c ) - fcd6: 4788 blx r1 - fcd8: e7fe b.n fcd8 - fcda: f10d 0207 add.w r2, sp, #7 - fcde: f103 0108 add.w r1, r3, #8 - fce2: f812 0f01 ldrb.w r0, [r2, #1]! - fce6: f803 0b01 strb.w r0, [r3], #1 + f716: 4b71 ldr r3, [pc, #452] ; (f8dc ) + f718: 9300 str r3, [sp, #0] + f71a: f240 125d movw r2, #349 ; 0x15d + f71e: 4970 ldr r1, [pc, #448] ; (f8e0 ) + f720: 2003 movs r0, #3 + f722: 4c70 ldr r4, [pc, #448] ; (f8e4 ) + f724: 47a0 blx r4 + f726: 6832 ldr r2, [r6, #0] + f728: 2300 movs r3, #0 + f72a: 4871 ldr r0, [pc, #452] ; (f8f0 ) + f72c: 4971 ldr r1, [pc, #452] ; (f8f4 ) + f72e: 4788 blx r1 + f730: e7fe b.n f730 + f732: f10d 0207 add.w r2, sp, #7 + f736: f103 0108 add.w r1, r3, #8 + f73a: f812 0f01 ldrb.w r0, [r2, #1]! + f73e: f803 0b01 strb.w r0, [r3], #1 while(len) { - fcea: 428b cmp r3, r1 - fcec: d1f9 bne.n fce2 + f742: 428b cmp r3, r1 + f744: d1f9 bne.n f73a lv_img_cf_t cf = dsc->header.cf; - fcee: 7b20 ldrb r0, [r4, #12] - fcf0: f000 001f and.w r0, r0, #31 + f746: 7b20 ldrb r0, [r4, #12] + f748: f000 001f and.w r0, r0, #31 if(cf == LV_IMG_CF_TRUE_COLOR || cf == LV_IMG_CF_TRUE_COLOR_ALPHA || cf == LV_IMG_CF_TRUE_COLOR_CHROMA_KEYED) { - fcf4: 1f03 subs r3, r0, #4 - fcf6: b2db uxtb r3, r3 - fcf8: 2b02 cmp r3, #2 - fcfa: d804 bhi.n fd06 + f74c: 1f03 subs r3, r0, #4 + f74e: b2db uxtb r3, r3 + f750: 2b02 cmp r3, #2 + f752: d804 bhi.n f75e if(dsc->src_type == LV_IMG_SRC_VARIABLE) { - fcfc: 7aa3 ldrb r3, [r4, #10] - fcfe: 2b00 cmp r3, #0 - fd00: f43f af7c beq.w fbfc - fd04: e11f b.n ff46 + f754: 7aa3 ldrb r3, [r4, #10] + f756: 2b00 cmp r3, #0 + f758: f43f af7c beq.w f654 + f75c: e11f b.n f99e else if(cf == LV_IMG_CF_INDEXED_1BIT || cf == LV_IMG_CF_INDEXED_2BIT || cf == LV_IMG_CF_INDEXED_4BIT || - fd06: 1fc3 subs r3, r0, #7 - fd08: b2db uxtb r3, r3 - fd0a: 2b03 cmp r3, #3 - fd0c: d909 bls.n fd22 + f75e: 1fc3 subs r3, r0, #7 + f760: b2db uxtb r3, r3 + f762: 2b03 cmp r3, #3 + f764: d909 bls.n f77a else if(cf == LV_IMG_CF_ALPHA_1BIT || cf == LV_IMG_CF_ALPHA_2BIT || cf == LV_IMG_CF_ALPHA_4BIT || - fd0e: f1a0 030b sub.w r3, r0, #11 - fd12: b2db uxtb r3, r3 - fd14: 2b03 cmp r3, #3 - fd16: f200 80fd bhi.w ff14 + f766: f1a0 030b sub.w r3, r0, #11 + f76a: b2db uxtb r3, r3 + f76c: 2b03 cmp r3, #3 + f76e: f200 80fd bhi.w f96c dsc->img_data = NULL; - fd1a: 2300 movs r3, #0 - fd1c: 6123 str r3, [r4, #16] + f772: 2300 movs r3, #0 + f774: 6123 str r3, [r4, #16] return LV_RES_OK; /*Nothing to process*/ - fd1e: 2001 movs r0, #1 - fd20: e770 b.n fc04 + f776: 2001 movs r0, #1 + f778: e770 b.n f65c uint8_t px_size = lv_img_cf_get_px_size(cf); - fd22: 4b60 ldr r3, [pc, #384] ; (fea4 ) - fd24: 4798 blx r3 - fd26: 4607 mov r7, r0 + f77a: 4b60 ldr r3, [pc, #384] ; (f8fc ) + f77c: 4798 blx r3 + f77e: 4607 mov r7, r0 if(dsc->user_data == NULL) { - fd28: 69e3 ldr r3, [r4, #28] - fd2a: b1bb cbz r3, fd5c + f780: 69e3 ldr r3, [r4, #28] + f782: b1bb cbz r3, f7b4 lv_img_decoder_built_in_data_t * user_data = dsc->user_data; - fd2c: 69e6 ldr r6, [r4, #28] + f784: 69e6 ldr r6, [r4, #28] user_data->palette = lv_mem_alloc(palette_size * sizeof(lv_color_t)); - fd2e: 2002 movs r0, #2 - fd30: 40b8 lsls r0, r7 - fd32: 4b51 ldr r3, [pc, #324] ; (fe78 ) - fd34: 4798 blx r3 - fd36: 6070 str r0, [r6, #4] + f786: 2002 movs r0, #2 + f788: 40b8 lsls r0, r7 + f78a: 4b51 ldr r3, [pc, #324] ; (f8d0 ) + f78c: 4798 blx r3 + f78e: 6070 str r0, [r6, #4] LV_ASSERT_MEM(user_data->palette); - fd38: 4b50 ldr r3, [pc, #320] ; (fe7c ) - fd3a: 4798 blx r3 - fd3c: 2800 cmp r0, #0 - fd3e: d137 bne.n fdb0 - fd40: 4b50 ldr r3, [pc, #320] ; (fe84 ) - fd42: 9300 str r3, [sp, #0] - fd44: f240 1297 movw r2, #407 ; 0x197 - fd48: 494f ldr r1, [pc, #316] ; (fe88 ) - fd4a: 2003 movs r0, #3 - fd4c: 4c4f ldr r4, [pc, #316] ; (fe8c ) - fd4e: 47a0 blx r4 - fd50: 6872 ldr r2, [r6, #4] - fd52: 2300 movs r3, #0 - fd54: 4850 ldr r0, [pc, #320] ; (fe98 ) - fd56: 4951 ldr r1, [pc, #324] ; (fe9c ) - fd58: 4788 blx r1 - fd5a: e7fe b.n fd5a + f790: 4b50 ldr r3, [pc, #320] ; (f8d4 ) + f792: 4798 blx r3 + f794: 2800 cmp r0, #0 + f796: d137 bne.n f808 + f798: 4b50 ldr r3, [pc, #320] ; (f8dc ) + f79a: 9300 str r3, [sp, #0] + f79c: f240 1297 movw r2, #407 ; 0x197 + f7a0: 494f ldr r1, [pc, #316] ; (f8e0 ) + f7a2: 2003 movs r0, #3 + f7a4: 4c4f ldr r4, [pc, #316] ; (f8e4 ) + f7a6: 47a0 blx r4 + f7a8: 6872 ldr r2, [r6, #4] + f7aa: 2300 movs r3, #0 + f7ac: 4850 ldr r0, [pc, #320] ; (f8f0 ) + f7ae: 4951 ldr r1, [pc, #324] ; (f8f4 ) + f7b0: 4788 blx r1 + f7b2: e7fe b.n f7b2 dsc->user_data = lv_mem_alloc(sizeof(lv_img_decoder_built_in_data_t)); - fd5c: 200c movs r0, #12 - fd5e: 4b46 ldr r3, [pc, #280] ; (fe78 ) - fd60: 4798 blx r3 - fd62: 61e0 str r0, [r4, #28] + f7b4: 200c movs r0, #12 + f7b6: 4b46 ldr r3, [pc, #280] ; (f8d0 ) + f7b8: 4798 blx r3 + f7ba: 61e0 str r0, [r4, #28] LV_ASSERT_MEM(dsc->user_data); - fd64: 4b45 ldr r3, [pc, #276] ; (fe7c ) - fd66: 4798 blx r3 - fd68: b968 cbnz r0, fd86 - fd6a: 4b46 ldr r3, [pc, #280] ; (fe84 ) - fd6c: 9300 str r3, [sp, #0] - fd6e: f44f 72c6 mov.w r2, #396 ; 0x18c - fd72: 4945 ldr r1, [pc, #276] ; (fe88 ) - fd74: 2003 movs r0, #3 - fd76: 4d45 ldr r5, [pc, #276] ; (fe8c ) - fd78: 47a8 blx r5 - fd7a: 69e2 ldr r2, [r4, #28] - fd7c: 2300 movs r3, #0 - fd7e: 4846 ldr r0, [pc, #280] ; (fe98 ) - fd80: 4946 ldr r1, [pc, #280] ; (fe9c ) - fd82: 4788 blx r1 - fd84: e7fe b.n fd84 + f7bc: 4b45 ldr r3, [pc, #276] ; (f8d4 ) + f7be: 4798 blx r3 + f7c0: b968 cbnz r0, f7de + f7c2: 4b46 ldr r3, [pc, #280] ; (f8dc ) + f7c4: 9300 str r3, [sp, #0] + f7c6: f44f 72c6 mov.w r2, #396 ; 0x18c + f7ca: 4945 ldr r1, [pc, #276] ; (f8e0 ) + f7cc: 2003 movs r0, #3 + f7ce: 4d45 ldr r5, [pc, #276] ; (f8e4 ) + f7d0: 47a8 blx r5 + f7d2: 69e2 ldr r2, [r4, #28] + f7d4: 2300 movs r3, #0 + f7d6: 4846 ldr r0, [pc, #280] ; (f8f0 ) + f7d8: 4946 ldr r1, [pc, #280] ; (f8f4 ) + f7da: 4788 blx r1 + f7dc: e7fe b.n f7dc if(dsc->user_data == NULL) { - fd86: 69e0 ldr r0, [r4, #28] - fd88: b970 cbnz r0, fda8 + f7de: 69e0 ldr r0, [r4, #28] + f7e0: b970 cbnz r0, f800 LV_LOG_ERROR("img_decoder_built_in_open: out of memory"); - fd8a: 4b3d ldr r3, [pc, #244] ; (fe80 ) - fd8c: 9300 str r3, [sp, #0] - fd8e: 4b3d ldr r3, [pc, #244] ; (fe84 ) - fd90: f44f 72c7 mov.w r2, #398 ; 0x18e - fd94: 493c ldr r1, [pc, #240] ; (fe88 ) - fd96: 2003 movs r0, #3 - fd98: 4e3c ldr r6, [pc, #240] ; (fe8c ) - fd9a: 47b0 blx r6 + f7e2: 4b3d ldr r3, [pc, #244] ; (f8d8 ) + f7e4: 9300 str r3, [sp, #0] + f7e6: 4b3d ldr r3, [pc, #244] ; (f8dc ) + f7e8: f44f 72c7 mov.w r2, #398 ; 0x18e + f7ec: 493c ldr r1, [pc, #240] ; (f8e0 ) + f7ee: 2003 movs r0, #3 + f7f0: 4e3c ldr r6, [pc, #240] ; (f8e4 ) + f7f2: 47b0 blx r6 lv_img_decoder_built_in_close(decoder, dsc); - fd9c: 4621 mov r1, r4 - fd9e: 4628 mov r0, r5 - fda0: 4b3b ldr r3, [pc, #236] ; (fe90 ) - fda2: 4798 blx r3 + f7f4: 4621 mov r1, r4 + f7f6: 4628 mov r0, r5 + f7f8: 4b3b ldr r3, [pc, #236] ; (f8e8 ) + f7fa: 4798 blx r3 return LV_RES_INV; - fda4: 2000 movs r0, #0 - fda6: e72d b.n fc04 + f7fc: 2000 movs r0, #0 + f7fe: e72d b.n f65c _lv_memset_00(dsc->user_data, sizeof(lv_img_decoder_built_in_data_t)); - fda8: 210c movs r1, #12 - fdaa: 4b3d ldr r3, [pc, #244] ; (fea0 ) - fdac: 4798 blx r3 - fdae: e7bd b.n fd2c + f800: 210c movs r1, #12 + f802: 4b3d ldr r3, [pc, #244] ; (f8f8 ) + f804: 4798 blx r3 + f806: e7bd b.n f784 uint32_t palette_size = 1 << px_size; - fdb0: 2301 movs r3, #1 - fdb2: fa03 f707 lsl.w r7, r3, r7 + f808: 2301 movs r3, #1 + f80a: fa03 f707 lsl.w r7, r3, r7 user_data->opa = lv_mem_alloc(palette_size * sizeof(lv_opa_t)); - fdb6: 4638 mov r0, r7 - fdb8: 4b2f ldr r3, [pc, #188] ; (fe78 ) - fdba: 4798 blx r3 - fdbc: 60b0 str r0, [r6, #8] + f80e: 4638 mov r0, r7 + f810: 4b2f ldr r3, [pc, #188] ; (f8d0 ) + f812: 4798 blx r3 + f814: 60b0 str r0, [r6, #8] LV_ASSERT_MEM(user_data->opa); - fdbe: 4b2f ldr r3, [pc, #188] ; (fe7c ) - fdc0: 4798 blx r3 - fdc2: 2800 cmp r0, #0 - fdc4: d032 beq.n fe2c + f816: 4b2f ldr r3, [pc, #188] ; (f8d4 ) + f818: 4798 blx r3 + f81a: 2800 cmp r0, #0 + f81c: d032 beq.n f884 if(user_data->palette == NULL || user_data->opa == NULL) { - fdc6: 6873 ldr r3, [r6, #4] - fdc8: 2b00 cmp r3, #0 - fdca: d03d beq.n fe48 - fdcc: 68b3 ldr r3, [r6, #8] - fdce: 2b00 cmp r3, #0 - fdd0: d03a beq.n fe48 + f81e: 6873 ldr r3, [r6, #4] + f820: 2b00 cmp r3, #0 + f822: d03d beq.n f8a0 + f824: 68b3 ldr r3, [r6, #8] + f826: 2b00 cmp r3, #0 + f828: d03a beq.n f8a0 if(dsc->src_type == LV_IMG_SRC_FILE) { - fdd2: 7aa3 ldrb r3, [r4, #10] - fdd4: 2b01 cmp r3, #1 - fdd6: d067 beq.n fea8 + f82a: 7aa3 ldrb r3, [r4, #10] + f82c: 2b01 cmp r3, #1 + f82e: d067 beq.n f900 lv_color32_t * palette_p = (lv_color32_t *)((lv_img_dsc_t *)dsc->src)->data; - fdd8: 6863 ldr r3, [r4, #4] - fdda: 689a ldr r2, [r3, #8] + f830: 6863 ldr r3, [r4, #4] + f832: 689a ldr r2, [r3, #8] for(i = 0; i < palette_size; i++) { - fddc: 2f00 cmp r7, #0 - fdde: f000 8095 beq.w ff0c - fde2: 2300 movs r3, #0 + f834: 2f00 cmp r7, #0 + f836: f000 8095 beq.w f964 + f83a: 2300 movs r3, #0 user_data->palette[i] = lv_color_make(palette_p[i].ch.red, palette_p[i].ch.green, palette_p[i].ch.blue); - fde4: 6870 ldr r0, [r6, #4] - fde6: eb00 0c43 add.w ip, r0, r3, lsl #1 + f83c: 6870 ldr r0, [r6, #4] + f83e: eb00 0c43 add.w ip, r0, r3, lsl #1 #define LV_COLOR_MAKE(r8, g8, b8) ((lv_color_t){{b8, g8, r8, 0xff}}) /*Fix 0xff alpha*/ #endif static inline lv_color_t lv_color_make(uint8_t r, uint8_t g, uint8_t b) { return LV_COLOR_MAKE(r, g, b); - fdea: f892 e001 ldrb.w lr, [r2, #1] - fdee: ea4f 0e9e mov.w lr, lr, lsr #2 - fdf2: 7895 ldrb r5, [r2, #2] - fdf4: 08ed lsrs r5, r5, #3 - fdf6: 7811 ldrb r1, [r2, #0] - fdf8: 08c9 lsrs r1, r1, #3 - fdfa: f810 8013 ldrb.w r8, [r0, r3, lsl #1] - fdfe: f361 0804 bfi r8, r1, #0, #5 - fe02: f800 8013 strb.w r8, [r0, r3, lsl #1] - fe06: f830 1013 ldrh.w r1, [r0, r3, lsl #1] - fe0a: f36e 114a bfi r1, lr, #5, #6 - fe0e: f820 1013 strh.w r1, [r0, r3, lsl #1] - fe12: 0a09 lsrs r1, r1, #8 - fe14: f365 01c7 bfi r1, r5, #3, #5 - fe18: f88c 1001 strb.w r1, [ip, #1] + f842: f892 e001 ldrb.w lr, [r2, #1] + f846: ea4f 0e9e mov.w lr, lr, lsr #2 + f84a: 7895 ldrb r5, [r2, #2] + f84c: 08ed lsrs r5, r5, #3 + f84e: 7811 ldrb r1, [r2, #0] + f850: 08c9 lsrs r1, r1, #3 + f852: f810 8013 ldrb.w r8, [r0, r3, lsl #1] + f856: f361 0804 bfi r8, r1, #0, #5 + f85a: f800 8013 strb.w r8, [r0, r3, lsl #1] + f85e: f830 1013 ldrh.w r1, [r0, r3, lsl #1] + f862: f36e 114a bfi r1, lr, #5, #6 + f866: f820 1013 strh.w r1, [r0, r3, lsl #1] + f86a: 0a09 lsrs r1, r1, #8 + f86c: f365 01c7 bfi r1, r5, #3, #5 + f870: f88c 1001 strb.w r1, [ip, #1] user_data->opa[i] = palette_p[i].ch.alpha; - fe1c: 78d0 ldrb r0, [r2, #3] - fe1e: 68b1 ldr r1, [r6, #8] - fe20: 54c8 strb r0, [r1, r3] + f874: 78d0 ldrb r0, [r2, #3] + f876: 68b1 ldr r1, [r6, #8] + f878: 54c8 strb r0, [r1, r3] for(i = 0; i < palette_size; i++) { - fe22: 3301 adds r3, #1 - fe24: 3204 adds r2, #4 - fe26: 429f cmp r7, r3 - fe28: d1dc bne.n fde4 - fe2a: e06f b.n ff0c + f87a: 3301 adds r3, #1 + f87c: 3204 adds r2, #4 + f87e: 429f cmp r7, r3 + f880: d1dc bne.n f83c + f882: e06f b.n f964 LV_ASSERT_MEM(user_data->opa); - fe2c: 4b15 ldr r3, [pc, #84] ; (fe84 ) - fe2e: 9300 str r3, [sp, #0] - fe30: f240 1299 movw r2, #409 ; 0x199 - fe34: 4914 ldr r1, [pc, #80] ; (fe88 ) - fe36: 2003 movs r0, #3 - fe38: 4c14 ldr r4, [pc, #80] ; (fe8c ) - fe3a: 47a0 blx r4 - fe3c: 68b2 ldr r2, [r6, #8] - fe3e: 2300 movs r3, #0 - fe40: 4815 ldr r0, [pc, #84] ; (fe98 ) - fe42: 4916 ldr r1, [pc, #88] ; (fe9c ) - fe44: 4788 blx r1 - fe46: e7fe b.n fe46 + f884: 4b15 ldr r3, [pc, #84] ; (f8dc ) + f886: 9300 str r3, [sp, #0] + f888: f240 1299 movw r2, #409 ; 0x199 + f88c: 4914 ldr r1, [pc, #80] ; (f8e0 ) + f88e: 2003 movs r0, #3 + f890: 4c14 ldr r4, [pc, #80] ; (f8e4 ) + f892: 47a0 blx r4 + f894: 68b2 ldr r2, [r6, #8] + f896: 2300 movs r3, #0 + f898: 4815 ldr r0, [pc, #84] ; (f8f0 ) + f89a: 4916 ldr r1, [pc, #88] ; (f8f4 ) + f89c: 4788 blx r1 + f89e: e7fe b.n f89e LV_LOG_ERROR("img_decoder_built_in_open: out of memory"); - fe48: 4b0d ldr r3, [pc, #52] ; (fe80 ) - fe4a: 9300 str r3, [sp, #0] - fe4c: 4b0d ldr r3, [pc, #52] ; (fe84 ) - fe4e: f240 129b movw r2, #411 ; 0x19b - fe52: 490d ldr r1, [pc, #52] ; (fe88 ) - fe54: 2003 movs r0, #3 - fe56: 4e0d ldr r6, [pc, #52] ; (fe8c ) - fe58: 47b0 blx r6 + f8a0: 4b0d ldr r3, [pc, #52] ; (f8d8 ) + f8a2: 9300 str r3, [sp, #0] + f8a4: 4b0d ldr r3, [pc, #52] ; (f8dc ) + f8a6: f240 129b movw r2, #411 ; 0x19b + f8aa: 490d ldr r1, [pc, #52] ; (f8e0 ) + f8ac: 2003 movs r0, #3 + f8ae: 4e0d ldr r6, [pc, #52] ; (f8e4 ) + f8b0: 47b0 blx r6 lv_img_decoder_built_in_close(decoder, dsc); - fe5a: 4621 mov r1, r4 - fe5c: 4628 mov r0, r5 - fe5e: 4b0c ldr r3, [pc, #48] ; (fe90 ) - fe60: 4798 blx r3 + f8b2: 4621 mov r1, r4 + f8b4: 4628 mov r0, r5 + f8b6: 4b0c ldr r3, [pc, #48] ; (f8e8 ) + f8b8: 4798 blx r3 return LV_RES_INV; - fe62: 2000 movs r0, #0 - fe64: e6ce b.n fc04 - fe66: bf00 nop - fe68: 000123c9 .word 0x000123c9 - fe6c: 0001c878 .word 0x0001c878 - fe70: 0001af2b .word 0x0001af2b - fe74: 000122f5 .word 0x000122f5 - fe78: 00012985 .word 0x00012985 - fe7c: 0000298d .word 0x0000298d - fe80: 0001c8a8 .word 0x0001c8a8 - fe84: 0001c750 .word 0x0001c750 - fe88: 0001c7fc .word 0x0001c7fc - fe8c: 00012805 .word 0x00012805 - fe90: 0000fb91 .word 0x0000fb91 - fe94: 0001c87c .word 0x0001c87c - fe98: 0001b4bc .word 0x0001b4bc - fe9c: 00002995 .word 0x00002995 - fea0: 000130df .word 0x000130df - fea4: 00009c29 .word 0x00009c29 + f8ba: 2000 movs r0, #0 + f8bc: e6ce b.n f65c + f8be: bf00 nop + f8c0: 00011e21 .word 0x00011e21 + f8c4: 00025394 .word 0x00025394 + f8c8: 0001b4fb .word 0x0001b4fb + f8cc: 00011d4d .word 0x00011d4d + f8d0: 000123dd .word 0x000123dd + f8d4: 000022b1 .word 0x000022b1 + f8d8: 000253c4 .word 0x000253c4 + f8dc: 0002526c .word 0x0002526c + f8e0: 00025318 .word 0x00025318 + f8e4: 0001225d .word 0x0001225d + f8e8: 0000f5e9 .word 0x0000f5e9 + f8ec: 00025398 .word 0x00025398 + f8f0: 00023fd8 .word 0x00023fd8 + f8f4: 000022b9 .word 0x000022b9 + f8f8: 00012b37 .word 0x00012b37 + f8fc: 00009681 .word 0x00009681 lv_fs_seek(user_data->f, 4); /*Skip the header*/ - fea8: 2104 movs r1, #4 - feaa: 6830 ldr r0, [r6, #0] - feac: 4b28 ldr r3, [pc, #160] ; (ff50 ) - feae: 4798 blx r3 + f900: 2104 movs r1, #4 + f902: 6830 ldr r0, [r6, #0] + f904: 4b28 ldr r3, [pc, #160] ; (f9a8 ) + f906: 4798 blx r3 for(i = 0; i < palette_size; i++) { - feb0: b367 cbz r7, ff0c - feb2: 2500 movs r5, #0 + f908: b367 cbz r7, f964 + f90a: 2500 movs r5, #0 lv_fs_read(user_data->f, &cur_color, sizeof(lv_color32_t), NULL); - feb4: 46a9 mov r9, r5 - feb6: f8df 80b0 ldr.w r8, [pc, #176] ; ff68 - feba: 464b mov r3, r9 - febc: 2204 movs r2, #4 - febe: a902 add r1, sp, #8 - fec0: 6830 ldr r0, [r6, #0] - fec2: 47c0 blx r8 + f90c: 46a9 mov r9, r5 + f90e: f8df 80b0 ldr.w r8, [pc, #176] ; f9c0 + f912: 464b mov r3, r9 + f914: 2204 movs r2, #4 + f916: a902 add r1, sp, #8 + f918: 6830 ldr r0, [r6, #0] + f91a: 47c0 blx r8 user_data->palette[i] = lv_color_make(cur_color.ch.red, cur_color.ch.green, cur_color.ch.blue); - fec4: 6872 ldr r2, [r6, #4] - fec6: eb02 0e45 add.w lr, r2, r5, lsl #1 - feca: f89d 0009 ldrb.w r0, [sp, #9] - fece: 0880 lsrs r0, r0, #2 - fed0: f89d 100a ldrb.w r1, [sp, #10] - fed4: 08c9 lsrs r1, r1, #3 - fed6: f89d 3008 ldrb.w r3, [sp, #8] - feda: 08db lsrs r3, r3, #3 - fedc: f812 c015 ldrb.w ip, [r2, r5, lsl #1] - fee0: f363 0c04 bfi ip, r3, #0, #5 - fee4: f802 c015 strb.w ip, [r2, r5, lsl #1] - fee8: f832 3015 ldrh.w r3, [r2, r5, lsl #1] - feec: f360 134a bfi r3, r0, #5, #6 - fef0: f822 3015 strh.w r3, [r2, r5, lsl #1] - fef4: 0a1b lsrs r3, r3, #8 - fef6: f361 03c7 bfi r3, r1, #3, #5 - fefa: f88e 3001 strb.w r3, [lr, #1] + f91c: 6872 ldr r2, [r6, #4] + f91e: eb02 0e45 add.w lr, r2, r5, lsl #1 + f922: f89d 0009 ldrb.w r0, [sp, #9] + f926: 0880 lsrs r0, r0, #2 + f928: f89d 100a ldrb.w r1, [sp, #10] + f92c: 08c9 lsrs r1, r1, #3 + f92e: f89d 3008 ldrb.w r3, [sp, #8] + f932: 08db lsrs r3, r3, #3 + f934: f812 c015 ldrb.w ip, [r2, r5, lsl #1] + f938: f363 0c04 bfi ip, r3, #0, #5 + f93c: f802 c015 strb.w ip, [r2, r5, lsl #1] + f940: f832 3015 ldrh.w r3, [r2, r5, lsl #1] + f944: f360 134a bfi r3, r0, #5, #6 + f948: f822 3015 strh.w r3, [r2, r5, lsl #1] + f94c: 0a1b lsrs r3, r3, #8 + f94e: f361 03c7 bfi r3, r1, #3, #5 + f952: f88e 3001 strb.w r3, [lr, #1] user_data->opa[i] = cur_color.ch.alpha; - fefe: f89d 200b ldrb.w r2, [sp, #11] - ff02: 68b3 ldr r3, [r6, #8] - ff04: 555a strb r2, [r3, r5] + f956: f89d 200b ldrb.w r2, [sp, #11] + f95a: 68b3 ldr r3, [r6, #8] + f95c: 555a strb r2, [r3, r5] for(i = 0; i < palette_size; i++) { - ff06: 3501 adds r5, #1 - ff08: 42af cmp r7, r5 - ff0a: d1d6 bne.n feba + f95e: 3501 adds r5, #1 + f960: 42af cmp r7, r5 + f962: d1d6 bne.n f912 dsc->img_data = NULL; - ff0c: 2300 movs r3, #0 - ff0e: 6123 str r3, [r4, #16] + f964: 2300 movs r3, #0 + f966: 6123 str r3, [r4, #16] return LV_RES_OK; - ff10: 2001 movs r0, #1 - ff12: e677 b.n fc04 + f968: 2001 movs r0, #1 + f96a: e677 b.n f65c lv_img_decoder_built_in_close(decoder, dsc); - ff14: 4621 mov r1, r4 - ff16: 4628 mov r0, r5 - ff18: 4b0e ldr r3, [pc, #56] ; (ff54 ) - ff1a: 4798 blx r3 + f96c: 4621 mov r1, r4 + f96e: 4628 mov r0, r5 + f970: 4b0e ldr r3, [pc, #56] ; (f9ac ) + f972: 4798 blx r3 LV_LOG_WARN("Image decoder open: unknown color format") - ff1c: 4b0e ldr r3, [pc, #56] ; (ff58 ) - ff1e: 9300 str r3, [sp, #0] - ff20: 4b0e ldr r3, [pc, #56] ; (ff5c ) - ff22: f240 12d3 movw r2, #467 ; 0x1d3 - ff26: 490e ldr r1, [pc, #56] ; (ff60 ) - ff28: 2002 movs r0, #2 - ff2a: 4c0e ldr r4, [pc, #56] ; (ff64 ) - ff2c: 47a0 blx r4 + f974: 4b0e ldr r3, [pc, #56] ; (f9b0 ) + f976: 9300 str r3, [sp, #0] + f978: 4b0e ldr r3, [pc, #56] ; (f9b4 ) + f97a: f240 12d3 movw r2, #467 ; 0x1d3 + f97e: 490e ldr r1, [pc, #56] ; (f9b8 ) + f980: 2002 movs r0, #2 + f982: 4c0e ldr r4, [pc, #56] ; (f9bc ) + f984: 47a0 blx r4 return LV_RES_INV; - ff2e: 2000 movs r0, #0 - ff30: e668 b.n fc04 + f986: 2000 movs r0, #0 + f988: e668 b.n f65c return LV_RES_INV; - ff32: 2000 movs r0, #0 - ff34: e666 b.n fc04 + f98a: 2000 movs r0, #0 + f98c: e666 b.n f65c lv_img_cf_t cf = dsc->header.cf; - ff36: 7b08 ldrb r0, [r1, #12] - ff38: f000 001f and.w r0, r0, #31 + f98e: 7b08 ldrb r0, [r1, #12] + f990: f000 001f and.w r0, r0, #31 if(cf == LV_IMG_CF_TRUE_COLOR || cf == LV_IMG_CF_TRUE_COLOR_ALPHA || cf == LV_IMG_CF_TRUE_COLOR_CHROMA_KEYED) { - ff3c: 1f03 subs r3, r0, #4 - ff3e: b2db uxtb r3, r3 - ff40: 2b02 cmp r3, #2 - ff42: f63f aee0 bhi.w fd06 + f994: 1f03 subs r3, r0, #4 + f996: b2db uxtb r3, r3 + f998: 2b02 cmp r3, #2 + f99a: f63f aee0 bhi.w f75e dsc->img_data = NULL; - ff46: 2300 movs r3, #0 - ff48: 6123 str r3, [r4, #16] + f99e: 2300 movs r3, #0 + f9a0: 6123 str r3, [r4, #16] return LV_RES_OK; - ff4a: 2001 movs r0, #1 - ff4c: e65a b.n fc04 - ff4e: bf00 nop - ff50: 000122a1 .word 0x000122a1 - ff54: 0000fb91 .word 0x0000fb91 - ff58: 0001c8d4 .word 0x0001c8d4 - ff5c: 0001c750 .word 0x0001c750 - ff60: 0001c7fc .word 0x0001c7fc - ff64: 00012805 .word 0x00012805 - ff68: 00012265 .word 0x00012265 - -0000ff6c : -{ - ff6c: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - ff70: b08b sub sp, #44 ; 0x2c - ff72: 460d mov r5, r1 - ff74: 4614 mov r4, r2 - ff76: 469a mov sl, r3 - ff78: f9bd 6050 ldrsh.w r6, [sp, #80] ; 0x50 + f9a2: 2001 movs r0, #1 + f9a4: e65a b.n f65c + f9a6: bf00 nop + f9a8: 00011cf9 .word 0x00011cf9 + f9ac: 0000f5e9 .word 0x0000f5e9 + f9b0: 000253f0 .word 0x000253f0 + f9b4: 0002526c .word 0x0002526c + f9b8: 00025318 .word 0x00025318 + f9bc: 0001225d .word 0x0001225d + f9c0: 00011cbd .word 0x00011cbd + +0000f9c4 : +{ + f9c4: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + f9c8: b08b sub sp, #44 ; 0x2c + f9ca: 460d mov r5, r1 + f9cc: 4614 mov r4, r2 + f9ce: 469a mov sl, r3 + f9d0: f9bd 6050 ldrsh.w r6, [sp, #80] ; 0x50 if(dsc->header.cf == LV_IMG_CF_TRUE_COLOR || dsc->header.cf == LV_IMG_CF_TRUE_COLOR_ALPHA || - ff7c: 7b0b ldrb r3, [r1, #12] - ff7e: f003 031f and.w r3, r3, #31 - ff82: 1f1a subs r2, r3, #4 - ff84: b2d2 uxtb r2, r2 - ff86: 2a02 cmp r2, #2 - ff88: d845 bhi.n 10016 + f9d4: 7b0b ldrb r3, [r1, #12] + f9d6: f003 031f and.w r3, r3, #31 + f9da: 1f1a subs r2, r3, #4 + f9dc: b2d2 uxtb r2, r2 + f9de: 2a02 cmp r2, #2 + f9e0: d845 bhi.n fa6e if(dsc->src_type == LV_IMG_SRC_FILE) { - ff8a: 7a8b ldrb r3, [r1, #10] - ff8c: 2b01 cmp r3, #1 - ff8e: d003 beq.n ff98 + f9e2: 7a8b ldrb r3, [r1, #10] + f9e4: 2b01 cmp r3, #1 + f9e6: d003 beq.n f9f0 lv_res_t res = LV_RES_INV; - ff90: 2000 movs r0, #0 + f9e8: 2000 movs r0, #0 } - ff92: b00b add sp, #44 ; 0x2c - ff94: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + f9ea: b00b add sp, #44 ; 0x2c + f9ec: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} static lv_res_t lv_img_decoder_built_in_line_true_color(lv_img_decoder_dsc_t * dsc, lv_coord_t x, lv_coord_t y, lv_coord_t len, uint8_t * buf) { #if LV_USE_FILESYSTEM lv_img_decoder_built_in_data_t * user_data = dsc->user_data; - ff98: f8d1 801c ldr.w r8, [r1, #28] + f9f0: f8d1 801c ldr.w r8, [r1, #28] lv_fs_res_t res; uint8_t px_size = lv_img_cf_get_px_size(dsc->header.cf); - ff9c: 7b08 ldrb r0, [r1, #12] - ff9e: f000 001f and.w r0, r0, #31 - ffa2: 4b9e ldr r3, [pc, #632] ; (1021c ) - ffa4: 4798 blx r3 - ffa6: 4607 mov r7, r0 + f9f4: 7b08 ldrb r0, [r1, #12] + f9f6: f000 001f and.w r0, r0, #31 + f9fa: 4b9e ldr r3, [pc, #632] ; (fc74 ) + f9fc: 4798 blx r3 + f9fe: 4607 mov r7, r0 uint32_t pos = ((y * dsc->header.w + x) * px_size) >> 3; - ffa8: 68e9 ldr r1, [r5, #12] - ffaa: f3c1 218a ubfx r1, r1, #10, #11 - ffae: fb0a 4101 mla r1, sl, r1, r4 - ffb2: fb00 f101 mul.w r1, r0, r1 - ffb6: 10c9 asrs r1, r1, #3 + fa00: 68e9 ldr r1, [r5, #12] + fa02: f3c1 218a ubfx r1, r1, #10, #11 + fa06: fb0a 4101 mla r1, sl, r1, r4 + fa0a: fb00 f101 mul.w r1, r0, r1 + fa0e: 10c9 asrs r1, r1, #3 pos += 4; /*Skip the header*/ res = lv_fs_seek(user_data->f, pos); - ffb8: 3104 adds r1, #4 - ffba: f8d8 0000 ldr.w r0, [r8] - ffbe: 4b98 ldr r3, [pc, #608] ; (10220 ) - ffc0: 4798 blx r3 + fa10: 3104 adds r1, #4 + fa12: f8d8 0000 ldr.w r0, [r8] + fa16: 4b98 ldr r3, [pc, #608] ; (fc78 ) + fa18: 4798 blx r3 if(res != LV_FS_RES_OK) { - ffc2: b9d8 cbnz r0, fffc + fa1a: b9d8 cbnz r0, fa54 LV_LOG_WARN("Built-in image decoder seek failed"); return LV_RES_INV; } uint32_t btr = len * (px_size >> 3); - ffc4: f3c7 07c7 ubfx r7, r7, #3, #8 - ffc8: fb06 f607 mul.w r6, r6, r7 + fa1c: f3c7 07c7 ubfx r7, r7, #3, #8 + fa20: fb06 f607 mul.w r6, r6, r7 uint32_t br = 0; - ffcc: ab0a add r3, sp, #40 ; 0x28 - ffce: 2200 movs r2, #0 - ffd0: f843 2d10 str.w r2, [r3, #-16]! + fa24: ab0a add r3, sp, #40 ; 0x28 + fa26: 2200 movs r2, #0 + fa28: f843 2d10 str.w r2, [r3, #-16]! lv_fs_read(user_data->f, buf, btr, &br); - ffd4: 4632 mov r2, r6 - ffd6: 9915 ldr r1, [sp, #84] ; 0x54 - ffd8: f8d8 0000 ldr.w r0, [r8] - ffdc: 4c91 ldr r4, [pc, #580] ; (10224 ) - ffde: 47a0 blx r4 + fa2c: 4632 mov r2, r6 + fa2e: 9915 ldr r1, [sp, #84] ; 0x54 + fa30: f8d8 0000 ldr.w r0, [r8] + fa34: 4c91 ldr r4, [pc, #580] ; (fc7c ) + fa36: 47a0 blx r4 if(res != LV_FS_RES_OK || btr != br) { - ffe0: 9b06 ldr r3, [sp, #24] - ffe2: 429e cmp r6, r3 - ffe4: d015 beq.n 10012 + fa38: 9b06 ldr r3, [sp, #24] + fa3a: 429e cmp r6, r3 + fa3c: d015 beq.n fa6a LV_LOG_WARN("Built-in image decoder read failed"); - ffe6: 4b90 ldr r3, [pc, #576] ; (10228 ) - ffe8: 9300 str r3, [sp, #0] - ffea: 4b90 ldr r3, [pc, #576] ; (1022c ) - ffec: f240 2235 movw r2, #565 ; 0x235 - fff0: 498f ldr r1, [pc, #572] ; (10230 ) - fff2: 2002 movs r0, #2 - fff4: 4c8f ldr r4, [pc, #572] ; (10234 ) - fff6: 47a0 blx r4 + fa3e: 4b90 ldr r3, [pc, #576] ; (fc80 ) + fa40: 9300 str r3, [sp, #0] + fa42: 4b90 ldr r3, [pc, #576] ; (fc84 ) + fa44: f240 2235 movw r2, #565 ; 0x235 + fa48: 498f ldr r1, [pc, #572] ; (fc88 ) + fa4a: 2002 movs r0, #2 + fa4c: 4c8f ldr r4, [pc, #572] ; (fc8c ) + fa4e: 47a0 blx r4 return LV_RES_INV; - fff8: 2000 movs r0, #0 - fffa: e7ca b.n ff92 + fa50: 2000 movs r0, #0 + fa52: e7ca b.n f9ea LV_LOG_WARN("Built-in image decoder seek failed"); - fffc: 4b8e ldr r3, [pc, #568] ; (10238 ) - fffe: 9300 str r3, [sp, #0] - 10000: 4b8a ldr r3, [pc, #552] ; (1022c ) - 10002: f240 222e movw r2, #558 ; 0x22e - 10006: 498a ldr r1, [pc, #552] ; (10230 ) - 10008: 2002 movs r0, #2 - 1000a: 4c8a ldr r4, [pc, #552] ; (10234 ) - 1000c: 47a0 blx r4 + fa54: 4b8e ldr r3, [pc, #568] ; (fc90 ) + fa56: 9300 str r3, [sp, #0] + fa58: 4b8a ldr r3, [pc, #552] ; (fc84 ) + fa5a: f240 222e movw r2, #558 ; 0x22e + fa5e: 498a ldr r1, [pc, #552] ; (fc88 ) + fa60: 2002 movs r0, #2 + fa62: 4c8a ldr r4, [pc, #552] ; (fc8c ) + fa64: 47a0 blx r4 return LV_RES_INV; - 1000e: 2000 movs r0, #0 - 10010: e7bf b.n ff92 + fa66: 2000 movs r0, #0 + fa68: e7bf b.n f9ea } return LV_RES_OK; - 10012: 2001 movs r0, #1 - 10014: e7bd b.n ff92 + fa6a: 2001 movs r0, #1 + fa6c: e7bd b.n f9ea dsc->header.cf == LV_IMG_CF_ALPHA_4BIT || dsc->header.cf == LV_IMG_CF_ALPHA_8BIT) { - 10016: f1a3 020b sub.w r2, r3, #11 + fa6e: f1a3 020b sub.w r2, r3, #11 else if(dsc->header.cf == LV_IMG_CF_ALPHA_1BIT || dsc->header.cf == LV_IMG_CF_ALPHA_2BIT || - 1001a: b2d2 uxtb r2, r2 - 1001c: 2a03 cmp r2, #3 - 1001e: d90f bls.n 10040 + fa72: b2d2 uxtb r2, r2 + fa74: 2a03 cmp r2, #3 + fa76: d90f bls.n fa98 dsc->header.cf == LV_IMG_CF_INDEXED_4BIT || dsc->header.cf == LV_IMG_CF_INDEXED_8BIT) { - 10020: 3b07 subs r3, #7 + fa78: 3b07 subs r3, #7 else if(dsc->header.cf == LV_IMG_CF_INDEXED_1BIT || dsc->header.cf == LV_IMG_CF_INDEXED_2BIT || - 10022: b2db uxtb r3, r3 - 10024: 2b03 cmp r3, #3 - 10026: f240 80df bls.w 101e8 + fa7a: b2db uxtb r3, r3 + fa7c: 2b03 cmp r3, #3 + fa7e: f240 80df bls.w fc40 LV_LOG_WARN("Built-in image decoder read not supports the color format"); - 1002a: 4b84 ldr r3, [pc, #528] ; (1023c ) - 1002c: 9300 str r3, [sp, #0] - 1002e: 4b84 ldr r3, [pc, #528] ; (10240 ) - 10030: f44f 72fe mov.w r2, #508 ; 0x1fc - 10034: 497e ldr r1, [pc, #504] ; (10230 ) - 10036: 2002 movs r0, #2 - 10038: 4c7e ldr r4, [pc, #504] ; (10234 ) - 1003a: 47a0 blx r4 + fa82: 4b84 ldr r3, [pc, #528] ; (fc94 ) + fa84: 9300 str r3, [sp, #0] + fa86: 4b84 ldr r3, [pc, #528] ; (fc98 ) + fa88: f44f 72fe mov.w r2, #508 ; 0x1fc + fa8c: 497e ldr r1, [pc, #504] ; (fc88 ) + fa8e: 2002 movs r0, #2 + fa90: 4c7e ldr r4, [pc, #504] ; (fc8c ) + fa92: 47a0 blx r4 return LV_RES_INV; - 1003c: 2000 movs r0, #0 - 1003e: e7a8 b.n ff92 + fa94: 2000 movs r0, #0 + fa96: e7a8 b.n f9ea static lv_res_t lv_img_decoder_built_in_line_alpha(lv_img_decoder_dsc_t * dsc, lv_coord_t x, lv_coord_t y, lv_coord_t len, uint8_t * buf) { #if LV_IMG_CF_ALPHA const lv_opa_t alpha1_opa_table[2] = {0, 255}; /*Opacity mapping with bpp = 1 (Just for compatibility)*/ - 10040: 2200 movs r2, #0 - 10042: f88d 2010 strb.w r2, [sp, #16] - 10046: 23ff movs r3, #255 ; 0xff - 10048: f88d 3011 strb.w r3, [sp, #17] + fa98: 2200 movs r2, #0 + fa9a: f88d 2010 strb.w r2, [sp, #16] + fa9e: 23ff movs r3, #255 ; 0xff + faa0: f88d 3011 strb.w r3, [sp, #17] const lv_opa_t alpha2_opa_table[4] = {0, 85, 170, 255}; /*Opacity mapping with bpp = 2*/ - 1004c: f88d 2014 strb.w r2, [sp, #20] - 10050: 2255 movs r2, #85 ; 0x55 - 10052: f88d 2015 strb.w r2, [sp, #21] - 10056: 22aa movs r2, #170 ; 0xaa - 10058: f88d 2016 strb.w r2, [sp, #22] - 1005c: f88d 3017 strb.w r3, [sp, #23] + faa4: f88d 2014 strb.w r2, [sp, #20] + faa8: 2255 movs r2, #85 ; 0x55 + faaa: f88d 2015 strb.w r2, [sp, #21] + faae: 22aa movs r2, #170 ; 0xaa + fab0: f88d 2016 strb.w r2, [sp, #22] + fab4: f88d 3017 strb.w r3, [sp, #23] const lv_opa_t alpha4_opa_table[16] = {0, 17, 34, 51, /*Opacity mapping with bpp = 4*/ - 10060: 4b78 ldr r3, [pc, #480] ; (10244 ) - 10062: cb0f ldmia r3, {r0, r1, r2, r3} - 10064: af0a add r7, sp, #40 ; 0x28 - 10066: e907 000f stmdb r7, {r0, r1, r2, r3} + fab8: 4b78 ldr r3, [pc, #480] ; (fc9c ) + faba: cb0f ldmia r3, {r0, r1, r2, r3} + fabc: af0a add r7, sp, #40 ; 0x28 + fabe: e907 000f stmdb r7, {r0, r1, r2, r3} 68, 85, 102, 119, 136, 153, 170, 187, 204, 221, 238, 255 }; /*Simply fill the buffer with the color. Later only the alpha value will be modified.*/ lv_color_t bg_color = dsc->color; - 1006a: 8929 ldrh r1, [r5, #8] + fac2: 8929 ldrh r1, [r5, #8] lv_coord_t i; for(i = 0; i < len; i++) { - 1006c: 2e00 cmp r6, #0 - 1006e: dd0c ble.n 1008a + fac4: 2e00 cmp r6, #0 + fac6: dd0c ble.n fae2 #if LV_COLOR_DEPTH == 8 || LV_COLOR_DEPTH == 1 buf[i * LV_IMG_PX_SIZE_ALPHA_BYTE] = bg_color.full; #elif LV_COLOR_DEPTH == 16 /*Because of Alpha byte 16 bit color can start on odd address which can cause crash*/ buf[i * LV_IMG_PX_SIZE_ALPHA_BYTE] = bg_color.full & 0xFF; buf[i * LV_IMG_PX_SIZE_ALPHA_BYTE + 1] = (bg_color.full >> 8) & 0xFF; - 10070: 0a08 lsrs r0, r1, #8 - 10072: 9b15 ldr r3, [sp, #84] ; 0x54 - 10074: 1e72 subs r2, r6, #1 - 10076: b292 uxth r2, r2 - 10078: 3201 adds r2, #1 - 1007a: eb02 0242 add.w r2, r2, r2, lsl #1 - 1007e: 441a add r2, r3 + fac8: 0a08 lsrs r0, r1, #8 + faca: 9b15 ldr r3, [sp, #84] ; 0x54 + facc: 1e72 subs r2, r6, #1 + face: b292 uxth r2, r2 + fad0: 3201 adds r2, #1 + fad2: eb02 0242 add.w r2, r2, r2, lsl #1 + fad6: 441a add r2, r3 buf[i * LV_IMG_PX_SIZE_ALPHA_BYTE] = bg_color.full & 0xFF; - 10080: 7019 strb r1, [r3, #0] + fad8: 7019 strb r1, [r3, #0] buf[i * LV_IMG_PX_SIZE_ALPHA_BYTE + 1] = (bg_color.full >> 8) & 0xFF; - 10082: 7058 strb r0, [r3, #1] - 10084: 3303 adds r3, #3 + fada: 7058 strb r0, [r3, #1] + fadc: 3303 adds r3, #3 for(i = 0; i < len; i++) { - 10086: 429a cmp r2, r3 - 10088: d1fa bne.n 10080 + fade: 429a cmp r2, r3 + fae0: d1fa bne.n fad8 #error "Invalid LV_COLOR_DEPTH. Check it in lv_conf.h" #endif } const lv_opa_t * opa_table = NULL; uint8_t px_size = lv_img_cf_get_px_size(dsc->header.cf); - 1008a: 7b28 ldrb r0, [r5, #12] - 1008c: f000 001f and.w r0, r0, #31 - 10090: 4b62 ldr r3, [pc, #392] ; (1021c ) - 10092: 4798 blx r3 - 10094: 4680 mov r8, r0 + fae2: 7b28 ldrb r0, [r5, #12] + fae4: f000 001f and.w r0, r0, #31 + fae8: 4b62 ldr r3, [pc, #392] ; (fc74 ) + faea: 4798 blx r3 + faec: 4680 mov r8, r0 uint16_t mask = (1 << px_size) - 1; /*E.g. px_size = 2; mask = 0x03*/ - 10096: 2701 movs r7, #1 - 10098: 4087 lsls r7, r0 - 1009a: 3f01 subs r7, #1 - 1009c: b2bf uxth r7, r7 + faee: 2701 movs r7, #1 + faf0: 4087 lsls r7, r0 + faf2: 3f01 subs r7, #1 + faf4: b2bf uxth r7, r7 lv_coord_t w = 0; uint32_t ofs = 0; int8_t pos = 0; switch(dsc->header.cf) { - 1009e: 7b2b ldrb r3, [r5, #12] - 100a0: f003 031f and.w r3, r3, #31 - 100a4: 3b0b subs r3, #11 - 100a6: 2b03 cmp r3, #3 - 100a8: f200 8083 bhi.w 101b2 - 100ac: e8df f003 tbb [pc, r3] - 100b0: 76614c02 .word 0x76614c02 + faf6: 7b2b ldrb r3, [r5, #12] + faf8: f003 031f and.w r3, r3, #31 + fafc: 3b0b subs r3, #11 + fafe: 2b03 cmp r3, #3 + fb00: f200 8083 bhi.w fc0a + fb04: e8df f003 tbb [pc, r3] + fb08: 76614c02 .word 0x76614c02 case LV_IMG_CF_ALPHA_1BIT: w = (dsc->header.w >> 3); /*E.g. w = 20 -> w = 2 + 1*/ - 100b4: 68eb ldr r3, [r5, #12] - 100b6: f3c3 238a ubfx r3, r3, #10, #11 - 100ba: 10da asrs r2, r3, #3 + fb0c: 68eb ldr r3, [r5, #12] + fb0e: f3c3 238a ubfx r3, r3, #10, #11 + fb12: 10da asrs r2, r3, #3 if(dsc->header.w & 0x7) w++; - 100bc: f013 0f07 tst.w r3, #7 + fb14: f013 0f07 tst.w r3, #7 w = (dsc->header.w >> 3); /*E.g. w = 20 -> w = 2 + 1*/ - 100c0: bf0c ite eq - 100c2: fa0f fb82 sxtheq.w fp, r2 + fb18: bf0c ite eq + fb1a: fa0f fb82 sxtheq.w fp, r2 if(dsc->header.w & 0x7) w++; - 100c6: f102 0b01 addne.w fp, r2, #1 + fb1e: f102 0b01 addne.w fp, r2, #1 ofs += w * y + (x >> 3); /*First pixel*/ - 100ca: 10e3 asrs r3, r4, #3 - 100cc: fb0a 3a0b mla sl, sl, fp, r3 + fb22: 10e3 asrs r3, r4, #3 + fb24: fb0a 3a0b mla sl, sl, fp, r3 pos = 7 - (x & 0x7); - 100d0: 43e4 mvns r4, r4 - 100d2: f004 0407 and.w r4, r4, #7 + fb28: 43e4 mvns r4, r4 + fb2a: f004 0407 and.w r4, r4, #7 opa_table = alpha1_opa_table; - 100d6: f10d 0910 add.w r9, sp, #16 + fb2e: f10d 0910 add.w r9, sp, #16 pos = 0; break; } #if LV_USE_FILESYSTEM lv_img_decoder_built_in_data_t * user_data = dsc->user_data; - 100da: 69eb ldr r3, [r5, #28] - 100dc: 9303 str r3, [sp, #12] + fb32: 69eb ldr r3, [r5, #28] + fb34: 9303 str r3, [sp, #12] uint8_t * fs_buf = _lv_mem_buf_get(w); - 100de: 4658 mov r0, fp - 100e0: 4b59 ldr r3, [pc, #356] ; (10248 ) - 100e2: 4798 blx r3 - 100e4: 9002 str r0, [sp, #8] + fb36: 4658 mov r0, fp + fb38: 4b59 ldr r3, [pc, #356] ; (fca0 ) + fb3a: 4798 blx r3 + fb3c: 9002 str r0, [sp, #8] #endif const uint8_t * data_tmp = NULL; if(dsc->src_type == LV_IMG_SRC_VARIABLE) { - 100e6: 7aab ldrb r3, [r5, #10] - 100e8: 2b00 cmp r3, #0 - 100ea: d16b bne.n 101c4 + fb3e: 7aab ldrb r3, [r5, #10] + fb40: 2b00 cmp r3, #0 + fb42: d16b bne.n fc1c const lv_img_dsc_t * img_dsc = dsc->src; data_tmp = img_dsc->data + ofs; - 100ec: 686b ldr r3, [r5, #4] - 100ee: 689b ldr r3, [r3, #8] - 100f0: 449a add sl, r3 + fb44: 686b ldr r3, [r5, #4] + fb46: 689b ldr r3, [r3, #8] + fb48: 449a add sl, r3 data_tmp = NULL; /*To avoid warnings*/ return LV_RES_INV; #endif } for(i = 0; i < len; i++) { - 100f2: 2e00 cmp r6, #0 - 100f4: dd23 ble.n 1013e - 100f6: 9a15 ldr r2, [sp, #84] ; 0x54 - 100f8: 1e71 subs r1, r6, #1 - 100fa: b289 uxth r1, r1 - 100fc: 3101 adds r1, #1 - 100fe: eb01 0141 add.w r1, r1, r1, lsl #1 - 10102: 4411 add r1, r2 + fb4a: 2e00 cmp r6, #0 + fb4c: dd23 ble.n fb96 + fb4e: 9a15 ldr r2, [sp, #84] ; 0x54 + fb50: 1e71 subs r1, r6, #1 + fb52: b289 uxth r1, r1 + fb54: 3101 adds r1, #1 + fb56: eb01 0141 add.w r1, r1, r1, lsl #1 + fb5a: 4411 add r1, r2 buf[i * LV_IMG_PX_SIZE_ALPHA_BYTE + LV_IMG_PX_SIZE_ALPHA_BYTE - 1] = dsc->header.cf == LV_IMG_CF_ALPHA_8BIT ? val_act : opa_table[val_act]; pos -= px_size; if(pos < 0) { pos = 8 - px_size; - 10104: f1c8 0008 rsb r0, r8, #8 - 10108: b240 sxtb r0, r0 + fb5c: f1c8 0008 rsb r0, r8, #8 + fb60: b240 sxtb r0, r0 uint8_t val_act = (*data_tmp & (mask << pos)) >> pos; - 1010a: f89a 3000 ldrb.w r3, [sl] - 1010e: fa07 f604 lsl.w r6, r7, r4 - 10112: 4033 ands r3, r6 - 10114: 4123 asrs r3, r4 + fb62: f89a 3000 ldrb.w r3, [sl] + fb66: fa07 f604 lsl.w r6, r7, r4 + fb6a: 4033 ands r3, r6 + fb6c: 4123 asrs r3, r4 dsc->header.cf == LV_IMG_CF_ALPHA_8BIT ? val_act : opa_table[val_act]; - 10116: 7b2e ldrb r6, [r5, #12] + fb6e: 7b2e ldrb r6, [r5, #12] buf[i * LV_IMG_PX_SIZE_ALPHA_BYTE + LV_IMG_PX_SIZE_ALPHA_BYTE - 1] = - 10118: f006 061f and.w r6, r6, #31 - 1011c: 2e0e cmp r6, #14 + fb70: f006 061f and.w r6, r6, #31 + fb74: 2e0e cmp r6, #14 uint8_t val_act = (*data_tmp & (mask << pos)) >> pos; - 1011e: b2db uxtb r3, r3 + fb76: b2db uxtb r3, r3 buf[i * LV_IMG_PX_SIZE_ALPHA_BYTE + LV_IMG_PX_SIZE_ALPHA_BYTE - 1] = - 10120: bf18 it ne - 10122: f819 3003 ldrbne.w r3, [r9, r3] - 10126: 7093 strb r3, [r2, #2] + fb78: bf18 it ne + fb7a: f819 3003 ldrbne.w r3, [r9, r3] + fb7e: 7093 strb r3, [r2, #2] pos -= px_size; - 10128: eba4 0408 sub.w r4, r4, r8 - 1012c: b264 sxtb r4, r4 + fb80: eba4 0408 sub.w r4, r4, r8 + fb84: b264 sxtb r4, r4 if(pos < 0) { - 1012e: 2c00 cmp r4, #0 + fb86: 2c00 cmp r4, #0 pos = 8 - px_size; - 10130: bfbc itt lt - 10132: 4604 movlt r4, r0 + fb88: bfbc itt lt + fb8a: 4604 movlt r4, r0 data_tmp++; - 10134: f10a 0a01 addlt.w sl, sl, #1 - 10138: 3203 adds r2, #3 + fb8c: f10a 0a01 addlt.w sl, sl, #1 + fb90: 3203 adds r2, #3 for(i = 0; i < len; i++) { - 1013a: 428a cmp r2, r1 - 1013c: d1e5 bne.n 1010a + fb92: 428a cmp r2, r1 + fb94: d1e5 bne.n fb62 } } #if LV_USE_FILESYSTEM _lv_mem_buf_release(fs_buf); - 1013e: 9802 ldr r0, [sp, #8] - 10140: 4b42 ldr r3, [pc, #264] ; (1024c ) - 10142: 4798 blx r3 + fb96: 9802 ldr r0, [sp, #8] + fb98: 4b42 ldr r3, [pc, #264] ; (fca4 ) + fb9a: 4798 blx r3 res = lv_img_decoder_built_in_line_alpha(dsc, x, y, len, buf); - 10144: 2001 movs r0, #1 - 10146: e724 b.n ff92 + fb9c: 2001 movs r0, #1 + fb9e: e724 b.n f9ea w = (dsc->header.w >> 2); /*E.g. w = 13 -> w = 3 + 1 (bytes)*/ - 10148: 68eb ldr r3, [r5, #12] - 1014a: f3c3 238a ubfx r3, r3, #10, #11 - 1014e: 109a asrs r2, r3, #2 + fba0: 68eb ldr r3, [r5, #12] + fba2: f3c3 238a ubfx r3, r3, #10, #11 + fba6: 109a asrs r2, r3, #2 if(dsc->header.w & 0x3) w++; - 10150: f013 0f03 tst.w r3, #3 + fba8: f013 0f03 tst.w r3, #3 w = (dsc->header.w >> 2); /*E.g. w = 13 -> w = 3 + 1 (bytes)*/ - 10154: bf0c ite eq - 10156: fa0f fb82 sxtheq.w fp, r2 + fbac: bf0c ite eq + fbae: fa0f fb82 sxtheq.w fp, r2 if(dsc->header.w & 0x3) w++; - 1015a: f102 0b01 addne.w fp, r2, #1 + fbb2: f102 0b01 addne.w fp, r2, #1 ofs += w * y + (x >> 2); /*First pixel*/ - 1015e: 10a3 asrs r3, r4, #2 - 10160: fb0a 3a0b mla sl, sl, fp, r3 + fbb6: 10a3 asrs r3, r4, #2 + fbb8: fb0a 3a0b mla sl, sl, fp, r3 pos = 6 - ((x & 0x3) * 2); - 10164: 43e4 mvns r4, r4 - 10166: f004 0403 and.w r4, r4, #3 - 1016a: 0064 lsls r4, r4, #1 + fbbc: 43e4 mvns r4, r4 + fbbe: f004 0403 and.w r4, r4, #3 + fbc2: 0064 lsls r4, r4, #1 opa_table = alpha2_opa_table; - 1016c: f10d 0914 add.w r9, sp, #20 - 10170: e7b3 b.n 100da + fbc4: f10d 0914 add.w r9, sp, #20 + fbc8: e7b3 b.n fb32 w = (dsc->header.w >> 1); /*E.g. w = 13 -> w = 6 + 1 (bytes)*/ - 10172: 68eb ldr r3, [r5, #12] - 10174: f3c3 238a ubfx r3, r3, #10, #11 - 10178: 105a asrs r2, r3, #1 + fbca: 68eb ldr r3, [r5, #12] + fbcc: f3c3 238a ubfx r3, r3, #10, #11 + fbd0: 105a asrs r2, r3, #1 if(dsc->header.w & 0x1) w++; - 1017a: f013 0f01 tst.w r3, #1 + fbd2: f013 0f01 tst.w r3, #1 w = (dsc->header.w >> 1); /*E.g. w = 13 -> w = 6 + 1 (bytes)*/ - 1017e: bf0c ite eq - 10180: fa0f fb82 sxtheq.w fp, r2 + fbd6: bf0c ite eq + fbd8: fa0f fb82 sxtheq.w fp, r2 if(dsc->header.w & 0x1) w++; - 10184: f102 0b01 addne.w fp, r2, #1 + fbdc: f102 0b01 addne.w fp, r2, #1 ofs += w * y + (x >> 1); /*First pixel*/ - 10188: 1063 asrs r3, r4, #1 - 1018a: fb0a 3a0b mla sl, sl, fp, r3 + fbe0: 1063 asrs r3, r4, #1 + fbe2: fb0a 3a0b mla sl, sl, fp, r3 pos = 4 - ((x & 0x1) * 4); - 1018e: f014 0f01 tst.w r4, #1 - 10192: d013 beq.n 101bc - 10194: 2400 movs r4, #0 + fbe6: f014 0f01 tst.w r4, #1 + fbea: d013 beq.n fc14 + fbec: 2400 movs r4, #0 opa_table = alpha4_opa_table; - 10196: f10d 0918 add.w r9, sp, #24 - 1019a: e79e b.n 100da + fbee: f10d 0918 add.w r9, sp, #24 + fbf2: e79e b.n fb32 w = dsc->header.w; /*E.g. x = 7 -> w = 7 (bytes)*/ - 1019c: 68eb ldr r3, [r5, #12] - 1019e: f3c3 238a ubfx r3, r3, #10, #11 - 101a2: b29a uxth r2, r3 - 101a4: fa0f fb83 sxth.w fp, r3 + fbf4: 68eb ldr r3, [r5, #12] + fbf6: f3c3 238a ubfx r3, r3, #10, #11 + fbfa: b29a uxth r2, r3 + fbfc: fa0f fb83 sxth.w fp, r3 ofs += w * y + x; /*First pixel*/ - 101a8: fb0a 4a02 mla sl, sl, r2, r4 + fc00: fb0a 4a02 mla sl, sl, r2, r4 pos = 0; - 101ac: 2400 movs r4, #0 + fc04: 2400 movs r4, #0 const lv_opa_t * opa_table = NULL; - 101ae: 46a1 mov r9, r4 - 101b0: e793 b.n 100da + fc06: 46a1 mov r9, r4 + fc08: e793 b.n fb32 int8_t pos = 0; - 101b2: 2400 movs r4, #0 + fc0a: 2400 movs r4, #0 uint32_t ofs = 0; - 101b4: 46a2 mov sl, r4 + fc0c: 46a2 mov sl, r4 lv_coord_t w = 0; - 101b6: 46a3 mov fp, r4 + fc0e: 46a3 mov fp, r4 const lv_opa_t * opa_table = NULL; - 101b8: 46a1 mov r9, r4 - 101ba: e78e b.n 100da + fc10: 46a1 mov r9, r4 + fc12: e78e b.n fb32 pos = 4 - ((x & 0x1) * 4); - 101bc: 2404 movs r4, #4 + fc14: 2404 movs r4, #4 opa_table = alpha4_opa_table; - 101be: f10d 0918 add.w r9, sp, #24 - 101c2: e78a b.n 100da + fc16: f10d 0918 add.w r9, sp, #24 + fc1a: e78a b.n fb32 lv_fs_seek(user_data->f, ofs + 4); /*+4 to skip the header*/ - 101c4: f10a 0104 add.w r1, sl, #4 - 101c8: 9b03 ldr r3, [sp, #12] - 101ca: 6818 ldr r0, [r3, #0] - 101cc: 4b14 ldr r3, [pc, #80] ; (10220 ) - 101ce: 4798 blx r3 + fc1c: f10a 0104 add.w r1, sl, #4 + fc20: 9b03 ldr r3, [sp, #12] + fc22: 6818 ldr r0, [r3, #0] + fc24: 4b14 ldr r3, [pc, #80] ; (fc78 ) + fc26: 4798 blx r3 lv_fs_read(user_data->f, fs_buf, w, NULL); - 101d0: 2300 movs r3, #0 - 101d2: 465a mov r2, fp - 101d4: f8dd b008 ldr.w fp, [sp, #8] - 101d8: 4659 mov r1, fp - 101da: 9803 ldr r0, [sp, #12] - 101dc: 6800 ldr r0, [r0, #0] - 101de: f8df a044 ldr.w sl, [pc, #68] ; 10224 - 101e2: 47d0 blx sl + fc28: 2300 movs r3, #0 + fc2a: 465a mov r2, fp + fc2c: f8dd b008 ldr.w fp, [sp, #8] + fc30: 4659 mov r1, fp + fc32: 9803 ldr r0, [sp, #12] + fc34: 6800 ldr r0, [r0, #0] + fc36: f8df a044 ldr.w sl, [pc, #68] ; fc7c + fc3a: 47d0 blx sl data_tmp = fs_buf; - 101e4: 46da mov sl, fp - 101e6: e784 b.n 100f2 + fc3c: 46da mov sl, fp + fc3e: e784 b.n fb4a static lv_res_t lv_img_decoder_built_in_line_indexed(lv_img_decoder_dsc_t * dsc, lv_coord_t x, lv_coord_t y, lv_coord_t len, uint8_t * buf) { #if LV_IMG_CF_INDEXED uint8_t px_size = lv_img_cf_get_px_size(dsc->header.cf); - 101e8: 7b08 ldrb r0, [r1, #12] - 101ea: f000 001f and.w r0, r0, #31 - 101ee: 4b0b ldr r3, [pc, #44] ; (1021c ) - 101f0: 4798 blx r3 - 101f2: 4681 mov r9, r0 + fc40: 7b08 ldrb r0, [r1, #12] + fc42: f000 001f and.w r0, r0, #31 + fc46: 4b0b ldr r3, [pc, #44] ; (fc74 ) + fc48: 4798 blx r3 + fc4a: 4681 mov r9, r0 uint16_t mask = (1 << px_size) - 1; /*E.g. px_size = 2; mask = 0x03*/ - 101f4: f04f 0801 mov.w r8, #1 - 101f8: fa08 f800 lsl.w r8, r8, r0 - 101fc: f108 38ff add.w r8, r8, #4294967295 - 10200: fa1f f888 uxth.w r8, r8 + fc4c: f04f 0801 mov.w r8, #1 + fc50: fa08 f800 lsl.w r8, r8, r0 + fc54: f108 38ff add.w r8, r8, #4294967295 + fc58: fa1f f888 uxth.w r8, r8 lv_coord_t w = 0; int8_t pos = 0; uint32_t ofs = 0; switch(dsc->header.cf) { - 10204: 7b2b ldrb r3, [r5, #12] - 10206: f003 031f and.w r3, r3, #31 - 1020a: 3b07 subs r3, #7 - 1020c: 2b03 cmp r3, #3 - 1020e: f200 80a5 bhi.w 1035c - 10212: e8df f003 tbb [pc, r3] - 10216: 681d .short 0x681d - 10218: 967e .short 0x967e - 1021a: bf00 nop - 1021c: 00009c29 .word 0x00009c29 - 10220: 000122a1 .word 0x000122a1 - 10224: 00012265 .word 0x00012265 - 10228: 0001c924 .word 0x0001c924 - 1022c: 0001c770 .word 0x0001c770 - 10230: 0001c7fc .word 0x0001c7fc - 10234: 00012805 .word 0x00012805 - 10238: 0001c900 .word 0x0001c900 - 1023c: 0001c948 .word 0x0001c948 - 10240: 0001c7a8 .word 0x0001c7a8 - 10244: 0001c798 .word 0x0001c798 - 10248: 00012ee5 .word 0x00012ee5 - 1024c: 00012b19 .word 0x00012b19 + fc5c: 7b2b ldrb r3, [r5, #12] + fc5e: f003 031f and.w r3, r3, #31 + fc62: 3b07 subs r3, #7 + fc64: 2b03 cmp r3, #3 + fc66: f200 80a5 bhi.w fdb4 + fc6a: e8df f003 tbb [pc, r3] + fc6e: 681d .short 0x681d + fc70: 967e .short 0x967e + fc72: bf00 nop + fc74: 00009681 .word 0x00009681 + fc78: 00011cf9 .word 0x00011cf9 + fc7c: 00011cbd .word 0x00011cbd + fc80: 00025440 .word 0x00025440 + fc84: 0002528c .word 0x0002528c + fc88: 00025318 .word 0x00025318 + fc8c: 0001225d .word 0x0001225d + fc90: 0002541c .word 0x0002541c + fc94: 00025464 .word 0x00025464 + fc98: 000252c4 .word 0x000252c4 + fc9c: 000252b4 .word 0x000252b4 + fca0: 0001293d .word 0x0001293d + fca4: 00012571 .word 0x00012571 case LV_IMG_CF_INDEXED_1BIT: w = (dsc->header.w >> 3); /*E.g. w = 20 -> w = 2 + 1*/ - 10250: 68eb ldr r3, [r5, #12] - 10252: f3c3 238a ubfx r3, r3, #10, #11 - 10256: ea4f 0be3 mov.w fp, r3, asr #3 + fca8: 68eb ldr r3, [r5, #12] + fcaa: f3c3 238a ubfx r3, r3, #10, #11 + fcae: ea4f 0be3 mov.w fp, r3, asr #3 if(dsc->header.w & 0x7) w++; - 1025a: f013 0f07 tst.w r3, #7 + fcb2: f013 0f07 tst.w r3, #7 w = (dsc->header.w >> 3); /*E.g. w = 20 -> w = 2 + 1*/ - 1025e: bf0c ite eq - 10260: fa0f fb8b sxtheq.w fp, fp + fcb6: bf0c ite eq + fcb8: fa0f fb8b sxtheq.w fp, fp if(dsc->header.w & 0x7) w++; - 10264: f10b 0b01 addne.w fp, fp, #1 + fcbc: f10b 0b01 addne.w fp, fp, #1 ofs += w * y + (x >> 3); /*First pixel*/ - 10268: 10e3 asrs r3, r4, #3 - 1026a: fb0a 3a0b mla sl, sl, fp, r3 + fcc0: 10e3 asrs r3, r4, #3 + fcc2: fb0a 3a0b mla sl, sl, fp, r3 ofs += 8; /*Skip the palette*/ - 1026e: f10a 0a08 add.w sl, sl, #8 + fcc6: f10a 0a08 add.w sl, sl, #8 pos = 7 - (x & 0x7); - 10272: 43e4 mvns r4, r4 - 10274: f004 0407 and.w r4, r4, #7 + fcca: 43e4 mvns r4, r4 + fccc: f004 0407 and.w r4, r4, #7 ofs += 1024; /*Skip the palette*/ pos = 0; break; } lv_img_decoder_built_in_data_t * user_data = dsc->user_data; - 10278: 69ef ldr r7, [r5, #28] + fcd0: 69ef ldr r7, [r5, #28] #if LV_USE_FILESYSTEM uint8_t * fs_buf = _lv_mem_buf_get(w); - 1027a: 4658 mov r0, fp - 1027c: 4b41 ldr r3, [pc, #260] ; (10384 ) - 1027e: 4798 blx r3 - 10280: 9002 str r0, [sp, #8] + fcd2: 4658 mov r0, fp + fcd4: 4b41 ldr r3, [pc, #260] ; (fddc ) + fcd6: 4798 blx r3 + fcd8: 9002 str r0, [sp, #8] #endif const uint8_t * data_tmp = NULL; if(dsc->src_type == LV_IMG_SRC_VARIABLE) { - 10282: 7aab ldrb r3, [r5, #10] - 10284: 2b00 cmp r3, #0 - 10286: d16e bne.n 10366 + fcda: 7aab ldrb r3, [r5, #10] + fcdc: 2b00 cmp r3, #0 + fcde: d16e bne.n fdbe const lv_img_dsc_t * img_dsc = dsc->src; data_tmp = img_dsc->data + ofs; - 10288: 686b ldr r3, [r5, #4] - 1028a: 689b ldr r3, [r3, #8] - 1028c: 449a add sl, r3 + fce0: 686b ldr r3, [r5, #4] + fce2: 689b ldr r3, [r3, #8] + fce4: 449a add sl, r3 return LV_RES_INV; #endif } lv_coord_t i; for(i = 0; i < len; i++) { - 1028e: 2e00 cmp r6, #0 - 10290: dd24 ble.n 102dc - 10292: 9a15 ldr r2, [sp, #84] ; 0x54 - 10294: 1e71 subs r1, r6, #1 - 10296: b289 uxth r1, r1 - 10298: 3101 adds r1, #1 - 1029a: eb01 0141 add.w r1, r1, r1, lsl #1 - 1029e: 4411 add r1, r2 + fce6: 2e00 cmp r6, #0 + fce8: dd24 ble.n fd34 + fcea: 9a15 ldr r2, [sp, #84] ; 0x54 + fcec: 1e71 subs r1, r6, #1 + fcee: b289 uxth r1, r1 + fcf0: 3101 adds r1, #1 + fcf2: eb01 0141 add.w r1, r1, r1, lsl #1 + fcf6: 4411 add r1, r2 #endif buf[i * LV_IMG_PX_SIZE_ALPHA_BYTE + LV_IMG_PX_SIZE_ALPHA_BYTE - 1] = user_data->opa[val_act]; pos -= px_size; if(pos < 0) { pos = 8 - px_size; - 102a0: f1c9 0508 rsb r5, r9, #8 - 102a4: b26d sxtb r5, r5 + fcf8: f1c9 0508 rsb r5, r9, #8 + fcfc: b26d sxtb r5, r5 uint8_t val_act = (*data_tmp & (mask << pos)) >> pos; - 102a6: f89a 3000 ldrb.w r3, [sl] - 102aa: fa08 f004 lsl.w r0, r8, r4 - 102ae: 4003 ands r3, r0 - 102b0: 4123 asrs r3, r4 + fcfe: f89a 3000 ldrb.w r3, [sl] + fd02: fa08 f004 lsl.w r0, r8, r4 + fd06: 4003 ands r3, r0 + fd08: 4123 asrs r3, r4 lv_color_t color = user_data->palette[val_act]; - 102b2: b2db uxtb r3, r3 - 102b4: 6878 ldr r0, [r7, #4] - 102b6: f830 0013 ldrh.w r0, [r0, r3, lsl #1] + fd0a: b2db uxtb r3, r3 + fd0c: 6878 ldr r0, [r7, #4] + fd0e: f830 0013 ldrh.w r0, [r0, r3, lsl #1] buf[i * LV_IMG_PX_SIZE_ALPHA_BYTE] = color.full & 0xFF; - 102ba: 7010 strb r0, [r2, #0] + fd12: 7010 strb r0, [r2, #0] buf[i * LV_IMG_PX_SIZE_ALPHA_BYTE + 1] = (color.full >> 8) & 0xFF; - 102bc: 0a00 lsrs r0, r0, #8 - 102be: 7050 strb r0, [r2, #1] + fd14: 0a00 lsrs r0, r0, #8 + fd16: 7050 strb r0, [r2, #1] buf[i * LV_IMG_PX_SIZE_ALPHA_BYTE + LV_IMG_PX_SIZE_ALPHA_BYTE - 1] = user_data->opa[val_act]; - 102c0: 68b8 ldr r0, [r7, #8] - 102c2: 5cc3 ldrb r3, [r0, r3] - 102c4: 7093 strb r3, [r2, #2] + fd18: 68b8 ldr r0, [r7, #8] + fd1a: 5cc3 ldrb r3, [r0, r3] + fd1c: 7093 strb r3, [r2, #2] pos -= px_size; - 102c6: eba4 0409 sub.w r4, r4, r9 - 102ca: b264 sxtb r4, r4 + fd1e: eba4 0409 sub.w r4, r4, r9 + fd22: b264 sxtb r4, r4 if(pos < 0) { - 102cc: 2c00 cmp r4, #0 + fd24: 2c00 cmp r4, #0 pos = 8 - px_size; - 102ce: bfbc itt lt - 102d0: 462c movlt r4, r5 + fd26: bfbc itt lt + fd28: 462c movlt r4, r5 data_tmp++; - 102d2: f10a 0a01 addlt.w sl, sl, #1 - 102d6: 3203 adds r2, #3 + fd2a: f10a 0a01 addlt.w sl, sl, #1 + fd2e: 3203 adds r2, #3 for(i = 0; i < len; i++) { - 102d8: 428a cmp r2, r1 - 102da: d1e4 bne.n 102a6 + fd30: 428a cmp r2, r1 + fd32: d1e4 bne.n fcfe } } #if LV_USE_FILESYSTEM _lv_mem_buf_release(fs_buf); - 102dc: 9802 ldr r0, [sp, #8] - 102de: 4b2a ldr r3, [pc, #168] ; (10388 ) - 102e0: 4798 blx r3 + fd34: 9802 ldr r0, [sp, #8] + fd36: 4b2a ldr r3, [pc, #168] ; (fde0 ) + fd38: 4798 blx r3 res = lv_img_decoder_built_in_line_indexed(dsc, x, y, len, buf); - 102e2: 2001 movs r0, #1 - 102e4: e655 b.n ff92 + fd3a: 2001 movs r0, #1 + fd3c: e655 b.n f9ea w = (dsc->header.w >> 2); /*E.g. w = 13 -> w = 3 + 1 (bytes)*/ - 102e6: 68eb ldr r3, [r5, #12] - 102e8: f3c3 238a ubfx r3, r3, #10, #11 - 102ec: ea4f 0ba3 mov.w fp, r3, asr #2 + fd3e: 68eb ldr r3, [r5, #12] + fd40: f3c3 238a ubfx r3, r3, #10, #11 + fd44: ea4f 0ba3 mov.w fp, r3, asr #2 if(dsc->header.w & 0x3) w++; - 102f0: f013 0f03 tst.w r3, #3 + fd48: f013 0f03 tst.w r3, #3 w = (dsc->header.w >> 2); /*E.g. w = 13 -> w = 3 + 1 (bytes)*/ - 102f4: bf0c ite eq - 102f6: fa0f fb8b sxtheq.w fp, fp + fd4c: bf0c ite eq + fd4e: fa0f fb8b sxtheq.w fp, fp if(dsc->header.w & 0x3) w++; - 102fa: f10b 0b01 addne.w fp, fp, #1 + fd52: f10b 0b01 addne.w fp, fp, #1 ofs += w * y + (x >> 2); /*First pixel*/ - 102fe: 10a3 asrs r3, r4, #2 - 10300: fb0a 3a0b mla sl, sl, fp, r3 + fd56: 10a3 asrs r3, r4, #2 + fd58: fb0a 3a0b mla sl, sl, fp, r3 ofs += 16; /*Skip the palette*/ - 10304: f10a 0a10 add.w sl, sl, #16 + fd5c: f10a 0a10 add.w sl, sl, #16 pos = 6 - ((x & 0x3) * 2); - 10308: 43e4 mvns r4, r4 - 1030a: f004 0403 and.w r4, r4, #3 - 1030e: 0064 lsls r4, r4, #1 - 10310: e7b2 b.n 10278 + fd60: 43e4 mvns r4, r4 + fd62: f004 0403 and.w r4, r4, #3 + fd66: 0064 lsls r4, r4, #1 + fd68: e7b2 b.n fcd0 w = (dsc->header.w >> 1); /*E.g. w = 13 -> w = 6 + 1 (bytes)*/ - 10312: 68eb ldr r3, [r5, #12] - 10314: f3c3 238a ubfx r3, r3, #10, #11 - 10318: ea4f 0b63 mov.w fp, r3, asr #1 + fd6a: 68eb ldr r3, [r5, #12] + fd6c: f3c3 238a ubfx r3, r3, #10, #11 + fd70: ea4f 0b63 mov.w fp, r3, asr #1 if(dsc->header.w & 0x1) w++; - 1031c: f013 0f01 tst.w r3, #1 + fd74: f013 0f01 tst.w r3, #1 w = (dsc->header.w >> 1); /*E.g. w = 13 -> w = 6 + 1 (bytes)*/ - 10320: bf0c ite eq - 10322: fa0f fb8b sxtheq.w fp, fp + fd78: bf0c ite eq + fd7a: fa0f fb8b sxtheq.w fp, fp if(dsc->header.w & 0x1) w++; - 10326: f10b 0b01 addne.w fp, fp, #1 + fd7e: f10b 0b01 addne.w fp, fp, #1 ofs += w * y + (x >> 1); /*First pixel*/ - 1032a: 1063 asrs r3, r4, #1 - 1032c: fb0a 3a0b mla sl, sl, fp, r3 + fd82: 1063 asrs r3, r4, #1 + fd84: fb0a 3a0b mla sl, sl, fp, r3 ofs += 64; /*Skip the palette*/ - 10330: f10a 0a40 add.w sl, sl, #64 ; 0x40 + fd88: f10a 0a40 add.w sl, sl, #64 ; 0x40 pos = 4 - ((x & 0x1) * 4); - 10334: f004 0401 and.w r4, r4, #1 - 10338: 2c00 cmp r4, #0 - 1033a: bf0c ite eq - 1033c: 2404 moveq r4, #4 - 1033e: 2400 movne r4, #0 - 10340: e79a b.n 10278 + fd8c: f004 0401 and.w r4, r4, #1 + fd90: 2c00 cmp r4, #0 + fd92: bf0c ite eq + fd94: 2404 moveq r4, #4 + fd96: 2400 movne r4, #0 + fd98: e79a b.n fcd0 w = dsc->header.w; /*E.g. x = 7 -> w = 7 (bytes)*/ - 10342: 68eb ldr r3, [r5, #12] - 10344: f3c3 2b8a ubfx fp, r3, #10, #11 - 10348: fa1f f38b uxth.w r3, fp - 1034c: fa0f fb8b sxth.w fp, fp + fd9a: 68eb ldr r3, [r5, #12] + fd9c: f3c3 2b8a ubfx fp, r3, #10, #11 + fda0: fa1f f38b uxth.w r3, fp + fda4: fa0f fb8b sxth.w fp, fp ofs += w * y + x; /*First pixel*/ - 10350: fb0a 4a03 mla sl, sl, r3, r4 + fda8: fb0a 4a03 mla sl, sl, r3, r4 ofs += 1024; /*Skip the palette*/ - 10354: f50a 6a80 add.w sl, sl, #1024 ; 0x400 + fdac: f50a 6a80 add.w sl, sl, #1024 ; 0x400 pos = 0; - 10358: 2400 movs r4, #0 - 1035a: e78d b.n 10278 + fdb0: 2400 movs r4, #0 + fdb2: e78d b.n fcd0 uint32_t ofs = 0; - 1035c: f04f 0a00 mov.w sl, #0 + fdb4: f04f 0a00 mov.w sl, #0 int8_t pos = 0; - 10360: 4654 mov r4, sl + fdb8: 4654 mov r4, sl lv_coord_t w = 0; - 10362: 46d3 mov fp, sl - 10364: e788 b.n 10278 + fdba: 46d3 mov fp, sl + fdbc: e788 b.n fcd0 lv_fs_seek(user_data->f, ofs + 4); /*+4 to skip the header*/ - 10366: f10a 0104 add.w r1, sl, #4 - 1036a: 6838 ldr r0, [r7, #0] - 1036c: 4b07 ldr r3, [pc, #28] ; (1038c ) - 1036e: 4798 blx r3 + fdbe: f10a 0104 add.w r1, sl, #4 + fdc2: 6838 ldr r0, [r7, #0] + fdc4: 4b07 ldr r3, [pc, #28] ; (fde4 ) + fdc6: 4798 blx r3 lv_fs_read(user_data->f, fs_buf, w, NULL); - 10370: 2300 movs r3, #0 - 10372: 465a mov r2, fp - 10374: f8dd a008 ldr.w sl, [sp, #8] - 10378: 4651 mov r1, sl - 1037a: 6838 ldr r0, [r7, #0] - 1037c: 4d04 ldr r5, [pc, #16] ; (10390 ) - 1037e: 47a8 blx r5 - 10380: e785 b.n 1028e - 10382: bf00 nop - 10384: 00012ee5 .word 0x00012ee5 - 10388: 00012b19 .word 0x00012b19 - 1038c: 000122a1 .word 0x000122a1 - 10390: 00012265 .word 0x00012265 - -00010394 : -{ - 10394: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} - 10398: 4681 mov r9, r0 - 1039a: 460e mov r6, r1 + fdc8: 2300 movs r3, #0 + fdca: 465a mov r2, fp + fdcc: f8dd a008 ldr.w sl, [sp, #8] + fdd0: 4651 mov r1, sl + fdd2: 6838 ldr r0, [r7, #0] + fdd4: 4d04 ldr r5, [pc, #16] ; (fde8 ) + fdd6: 47a8 blx r5 + fdd8: e785 b.n fce6 + fdda: bf00 nop + fddc: 0001293d .word 0x0001293d + fde0: 00012571 .word 0x00012571 + fde4: 00011cf9 .word 0x00011cf9 + fde8: 00011cbd .word 0x00011cbd + +0000fdec : +{ + fdec: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} + fdf0: 4681 mov r9, r0 + fdf2: 460e mov r6, r1 header->always_zero = 0; - 1039c: 780b ldrb r3, [r1, #0] - 1039e: f36f 1347 bfc r3, #5, #3 - 103a2: 700b strb r3, [r1, #0] + fdf4: 780b ldrb r3, [r1, #0] + fdf6: f36f 1347 bfc r3, #5, #3 + fdfa: 700b strb r3, [r1, #0] _LV_LL_READ(LV_GC_ROOT(_lv_img_defoder_ll), d) { - 103a4: 480f ldr r0, [pc, #60] ; (103e4 ) - 103a6: 4b10 ldr r3, [pc, #64] ; (103e8 ) - 103a8: 4798 blx r3 - 103aa: b1c8 cbz r0, 103e0 - 103ac: 4604 mov r4, r0 + fdfc: 480f ldr r0, [pc, #60] ; (fe3c ) + fdfe: 4b10 ldr r3, [pc, #64] ; (fe40 ) + fe00: 4798 blx r3 + fe02: b1c8 cbz r0, fe38 + fe04: 4604 mov r4, r0 res = LV_RES_INV; - 103ae: f04f 0a00 mov.w sl, #0 + fe06: f04f 0a00 mov.w sl, #0 _LV_LL_READ(LV_GC_ROOT(_lv_img_defoder_ll), d) { - 103b2: f8df 8030 ldr.w r8, [pc, #48] ; 103e4 - 103b6: 4f0d ldr r7, [pc, #52] ; (103ec ) - 103b8: e005 b.n 103c6 + fe0a: f8df 8030 ldr.w r8, [pc, #48] ; fe3c + fe0e: 4f0d ldr r7, [pc, #52] ; (fe44 ) + fe10: e005 b.n fe1e res = LV_RES_INV; - 103ba: 4655 mov r5, sl + fe12: 4655 mov r5, sl _LV_LL_READ(LV_GC_ROOT(_lv_img_defoder_ll), d) { - 103bc: 4621 mov r1, r4 - 103be: 4640 mov r0, r8 - 103c0: 47b8 blx r7 - 103c2: 4604 mov r4, r0 - 103c4: b148 cbz r0, 103da + fe14: 4621 mov r1, r4 + fe16: 4640 mov r0, r8 + fe18: 47b8 blx r7 + fe1a: 4604 mov r4, r0 + fe1c: b148 cbz r0, fe32 if(d->info_cb) { - 103c6: 6823 ldr r3, [r4, #0] - 103c8: 2b00 cmp r3, #0 - 103ca: d0f6 beq.n 103ba + fe1e: 6823 ldr r3, [r4, #0] + fe20: 2b00 cmp r3, #0 + fe22: d0f6 beq.n fe12 res = d->info_cb(d, src, header); - 103cc: 4632 mov r2, r6 - 103ce: 4649 mov r1, r9 - 103d0: 4620 mov r0, r4 - 103d2: 4798 blx r3 - 103d4: 4605 mov r5, r0 + fe24: 4632 mov r2, r6 + fe26: 4649 mov r1, r9 + fe28: 4620 mov r0, r4 + fe2a: 4798 blx r3 + fe2c: 4605 mov r5, r0 if(res == LV_RES_OK) break; - 103d6: 2801 cmp r0, #1 - 103d8: d1f0 bne.n 103bc + fe2e: 2801 cmp r0, #1 + fe30: d1f0 bne.n fe14 } - 103da: 4628 mov r0, r5 - 103dc: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + fe32: 4628 mov r0, r5 + fe34: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} lv_res_t res = LV_RES_INV; - 103e0: 2500 movs r5, #0 - 103e2: e7fa b.n 103da - 103e4: 20006cc0 .word 0x20006cc0 - 103e8: 00012551 .word 0x00012551 - 103ec: 00012565 .word 0x00012565 + fe38: 2500 movs r5, #0 + fe3a: e7fa b.n fe32 + fe3c: 20006ca4 .word 0x20006ca4 + fe40: 00011fa9 .word 0x00011fa9 + fe44: 00011fbd .word 0x00011fbd -000103f0 : +0000fe48 : { - 103f0: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} - 103f4: 4682 mov sl, r0 - 103f6: 4688 mov r8, r1 + fe48: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} + fe4c: 4682 mov sl, r0 + fe4e: 4688 mov r8, r1 dsc->color = color; - 103f8: 8102 strh r2, [r0, #8] + fe50: 8102 strh r2, [r0, #8] dsc->src_type = lv_img_src_get_type(src); - 103fa: 4608 mov r0, r1 - 103fc: 4b26 ldr r3, [pc, #152] ; (10498 ) - 103fe: 4798 blx r3 - 10400: f88a 000a strb.w r0, [sl, #10] + fe52: 4608 mov r0, r1 + fe54: 4b26 ldr r3, [pc, #152] ; (fef0 ) + fe56: 4798 blx r3 + fe58: f88a 000a strb.w r0, [sl, #10] dsc->user_data = NULL; - 10404: 2300 movs r3, #0 - 10406: f8ca 301c str.w r3, [sl, #28] + fe5c: 2300 movs r3, #0 + fe5e: f8ca 301c str.w r3, [sl, #28] if(dsc->src_type == LV_IMG_SRC_FILE) { - 1040a: 2801 cmp r0, #1 - 1040c: d00d beq.n 1042a + fe62: 2801 cmp r0, #1 + fe64: d00d beq.n fe82 dsc->src = src; - 1040e: f8ca 8004 str.w r8, [sl, #4] + fe66: f8ca 8004 str.w r8, [sl, #4] _LV_LL_READ(LV_GC_ROOT(_lv_img_defoder_ll), d) { - 10412: 4822 ldr r0, [pc, #136] ; (1049c ) - 10414: 4b22 ldr r3, [pc, #136] ; (104a0 ) - 10416: 4798 blx r3 - 10418: 4604 mov r4, r0 - 1041a: 2800 cmp r0, #0 - 1041c: d036 beq.n 1048c - 1041e: 2500 movs r5, #0 + fe6a: 4822 ldr r0, [pc, #136] ; (fef4 ) + fe6c: 4b22 ldr r3, [pc, #136] ; (fef8 ) + fe6e: 4798 blx r3 + fe70: 4604 mov r4, r0 + fe72: 2800 cmp r0, #0 + fe74: d036 beq.n fee4 + fe76: 2500 movs r5, #0 res = d->info_cb(d, src, &dsc->header); - 10420: f10a 090c add.w r9, sl, #12 + fe78: f10a 090c add.w r9, sl, #12 _LV_LL_READ(LV_GC_ROOT(_lv_img_defoder_ll), d) { - 10424: 4f1d ldr r7, [pc, #116] ; (1049c ) - 10426: 4e1f ldr r6, [pc, #124] ; (104a4 ) - 10428: e010 b.n 1044c + fe7c: 4f1d ldr r7, [pc, #116] ; (fef4 ) + fe7e: 4e1f ldr r6, [pc, #124] ; (fefc ) + fe80: e010 b.n fea4 size_t fnlen = strlen(src); - 1042a: 4640 mov r0, r8 - 1042c: 4b1e ldr r3, [pc, #120] ; (104a8 ) - 1042e: 4798 blx r3 + fe82: 4640 mov r0, r8 + fe84: 4b1e ldr r3, [pc, #120] ; (ff00 ) + fe86: 4798 blx r3 dsc->src = lv_mem_alloc(fnlen + 1); - 10430: 3001 adds r0, #1 - 10432: 4b1e ldr r3, [pc, #120] ; (104ac ) - 10434: 4798 blx r3 - 10436: f8ca 0004 str.w r0, [sl, #4] + fe88: 3001 adds r0, #1 + fe8a: 4b1e ldr r3, [pc, #120] ; (ff04 ) + fe8c: 4798 blx r3 + fe8e: f8ca 0004 str.w r0, [sl, #4] strcpy((char *)dsc->src, src); - 1043a: 4641 mov r1, r8 - 1043c: 4b1c ldr r3, [pc, #112] ; (104b0 ) - 1043e: 4798 blx r3 - 10440: e7e7 b.n 10412 + fe92: 4641 mov r1, r8 + fe94: 4b1c ldr r3, [pc, #112] ; (ff08 ) + fe96: 4798 blx r3 + fe98: e7e7 b.n fe6a _LV_LL_READ(LV_GC_ROOT(_lv_img_defoder_ll), d) { - 10442: 4621 mov r1, r4 - 10444: 4638 mov r0, r7 - 10446: 47b0 blx r6 - 10448: 4604 mov r4, r0 - 1044a: b1d8 cbz r0, 10484 + fe9a: 4621 mov r1, r4 + fe9c: 4638 mov r0, r7 + fe9e: 47b0 blx r6 + fea0: 4604 mov r4, r0 + fea2: b1d8 cbz r0, fedc if(d->info_cb == NULL || d->open_cb == NULL) continue; - 1044c: 6823 ldr r3, [r4, #0] - 1044e: 2b00 cmp r3, #0 - 10450: d0f7 beq.n 10442 - 10452: 6862 ldr r2, [r4, #4] - 10454: 2a00 cmp r2, #0 - 10456: d0f4 beq.n 10442 + fea4: 6823 ldr r3, [r4, #0] + fea6: 2b00 cmp r3, #0 + fea8: d0f7 beq.n fe9a + feaa: 6862 ldr r2, [r4, #4] + feac: 2a00 cmp r2, #0 + feae: d0f4 beq.n fe9a res = d->info_cb(d, src, &dsc->header); - 10458: 464a mov r2, r9 - 1045a: 4641 mov r1, r8 - 1045c: 4620 mov r0, r4 - 1045e: 4798 blx r3 - 10460: 4605 mov r5, r0 + feb0: 464a mov r2, r9 + feb2: 4641 mov r1, r8 + feb4: 4620 mov r0, r4 + feb6: 4798 blx r3 + feb8: 4605 mov r5, r0 if(res != LV_RES_OK) continue; - 10462: 2801 cmp r0, #1 - 10464: d1ed bne.n 10442 + feba: 2801 cmp r0, #1 + febc: d1ed bne.n fe9a dsc->error_msg = NULL; - 10466: 2300 movs r3, #0 - 10468: f8ca 3018 str.w r3, [sl, #24] + febe: 2300 movs r3, #0 + fec0: f8ca 3018 str.w r3, [sl, #24] dsc->img_data = NULL; - 1046c: f8ca 3010 str.w r3, [sl, #16] + fec4: f8ca 3010 str.w r3, [sl, #16] dsc->decoder = d; - 10470: f8ca 4000 str.w r4, [sl] + fec8: f8ca 4000 str.w r4, [sl] res = d->open_cb(d, dsc); - 10474: 6863 ldr r3, [r4, #4] - 10476: 4651 mov r1, sl - 10478: 4620 mov r0, r4 - 1047a: 4798 blx r3 - 1047c: 4605 mov r5, r0 + fecc: 6863 ldr r3, [r4, #4] + fece: 4651 mov r1, sl + fed0: 4620 mov r0, r4 + fed2: 4798 blx r3 + fed4: 4605 mov r5, r0 if(res == LV_RES_OK) break; - 1047e: 2801 cmp r0, #1 - 10480: d1df bne.n 10442 - 10482: e000 b.n 10486 + fed6: 2801 cmp r0, #1 + fed8: d1df bne.n fe9a + feda: e000 b.n fede if(res == LV_RES_INV) { - 10484: b11d cbz r5, 1048e + fedc: b11d cbz r5, fee6 } - 10486: 4628 mov r0, r5 - 10488: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + fede: 4628 mov r0, r5 + fee0: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} lv_res_t res = LV_RES_INV; - 1048c: 2500 movs r5, #0 + fee4: 2500 movs r5, #0 _lv_memset_00(dsc, sizeof(lv_img_decoder_dsc_t)); - 1048e: 2120 movs r1, #32 - 10490: 4650 mov r0, sl - 10492: 4b08 ldr r3, [pc, #32] ; (104b4 ) - 10494: 4798 blx r3 - 10496: e7f6 b.n 10486 - 10498: 00009f11 .word 0x00009f11 - 1049c: 20006cc0 .word 0x20006cc0 - 104a0: 00012551 .word 0x00012551 - 104a4: 00012565 .word 0x00012565 - 104a8: 0001af4f .word 0x0001af4f - 104ac: 00012985 .word 0x00012985 - 104b0: 0001af3f .word 0x0001af3f - 104b4: 000130df .word 0x000130df - -000104b8 : -{ - 104b8: b570 push {r4, r5, r6, lr} - 104ba: b082 sub sp, #8 + fee6: 2120 movs r1, #32 + fee8: 4650 mov r0, sl + feea: 4b08 ldr r3, [pc, #32] ; (ff0c ) + feec: 4798 blx r3 + feee: e7f6 b.n fede + fef0: 00009969 .word 0x00009969 + fef4: 20006ca4 .word 0x20006ca4 + fef8: 00011fa9 .word 0x00011fa9 + fefc: 00011fbd .word 0x00011fbd + ff00: 0001b51f .word 0x0001b51f + ff04: 000123dd .word 0x000123dd + ff08: 0001b50f .word 0x0001b50f + ff0c: 00012b37 .word 0x00012b37 + +0000ff10 : +{ + ff10: b570 push {r4, r5, r6, lr} + ff12: b082 sub sp, #8 if(dsc->decoder->read_line_cb) res = dsc->decoder->read_line_cb(dsc->decoder, dsc, x, y, len, buf); - 104bc: 6806 ldr r6, [r0, #0] - 104be: 68b4 ldr r4, [r6, #8] - 104c0: b154 cbz r4, 104d8 - 104c2: 461d mov r5, r3 - 104c4: 4613 mov r3, r2 - 104c6: 460a mov r2, r1 - 104c8: 4601 mov r1, r0 - 104ca: 9806 ldr r0, [sp, #24] - 104cc: 9001 str r0, [sp, #4] - 104ce: 9500 str r5, [sp, #0] - 104d0: 4630 mov r0, r6 - 104d2: 47a0 blx r4 -} - 104d4: b002 add sp, #8 - 104d6: bd70 pop {r4, r5, r6, pc} + ff14: 6806 ldr r6, [r0, #0] + ff16: 68b4 ldr r4, [r6, #8] + ff18: b154 cbz r4, ff30 + ff1a: 461d mov r5, r3 + ff1c: 4613 mov r3, r2 + ff1e: 460a mov r2, r1 + ff20: 4601 mov r1, r0 + ff22: 9806 ldr r0, [sp, #24] + ff24: 9001 str r0, [sp, #4] + ff26: 9500 str r5, [sp, #0] + ff28: 4630 mov r0, r6 + ff2a: 47a0 blx r4 +} + ff2c: b002 add sp, #8 + ff2e: bd70 pop {r4, r5, r6, pc} lv_res_t res = LV_RES_INV; - 104d8: 2000 movs r0, #0 - 104da: e7fb b.n 104d4 + ff30: 2000 movs r0, #0 + ff32: e7fb b.n ff2c -000104dc : +0000ff34 : if(dsc->decoder) { - 104dc: 6803 ldr r3, [r0, #0] - 104de: b183 cbz r3, 10502 + ff34: 6803 ldr r3, [r0, #0] + ff36: b183 cbz r3, ff5a { - 104e0: b510 push {r4, lr} - 104e2: 4604 mov r4, r0 + ff38: b510 push {r4, lr} + ff3a: 4604 mov r4, r0 if(dsc->decoder->close_cb) dsc->decoder->close_cb(dsc->decoder, dsc); - 104e4: 68da ldr r2, [r3, #12] - 104e6: b112 cbz r2, 104ee - 104e8: 4601 mov r1, r0 - 104ea: 4618 mov r0, r3 - 104ec: 4790 blx r2 + ff3c: 68da ldr r2, [r3, #12] + ff3e: b112 cbz r2, ff46 + ff40: 4601 mov r1, r0 + ff42: 4618 mov r0, r3 + ff44: 4790 blx r2 if(dsc->src_type == LV_IMG_SRC_FILE) { - 104ee: 7aa3 ldrb r3, [r4, #10] - 104f0: 2b01 cmp r3, #1 - 104f2: d000 beq.n 104f6 - 104f4: bd10 pop {r4, pc} + ff46: 7aa3 ldrb r3, [r4, #10] + ff48: 2b01 cmp r3, #1 + ff4a: d000 beq.n ff4e + ff4c: bd10 pop {r4, pc} lv_mem_free(dsc->src); - 104f6: 6860 ldr r0, [r4, #4] - 104f8: 4b02 ldr r3, [pc, #8] ; (10504 ) - 104fa: 4798 blx r3 + ff4e: 6860 ldr r0, [r4, #4] + ff50: 4b02 ldr r3, [pc, #8] ; (ff5c ) + ff52: 4798 blx r3 dsc->src = NULL; - 104fc: 2300 movs r3, #0 - 104fe: 6063 str r3, [r4, #4] + ff54: 2300 movs r3, #0 + ff56: 6063 str r3, [r4, #4] } - 10500: e7f8 b.n 104f4 - 10502: 4770 bx lr - 10504: 00012a6d .word 0x00012a6d + ff58: e7f8 b.n ff4c + ff5a: 4770 bx lr + ff5c: 000124c5 .word 0x000124c5 -00010508 : +0000ff60 : { - 10508: b530 push {r4, r5, lr} - 1050a: b083 sub sp, #12 + ff60: b530 push {r4, r5, lr} + ff62: b083 sub sp, #12 decoder = _lv_ll_ins_head(&LV_GC_ROOT(_lv_img_defoder_ll)); - 1050c: 480d ldr r0, [pc, #52] ; (10544 ) - 1050e: 4b0e ldr r3, [pc, #56] ; (10548 ) - 10510: 4798 blx r3 - 10512: 4604 mov r4, r0 + ff64: 480d ldr r0, [pc, #52] ; (ff9c ) + ff66: 4b0e ldr r3, [pc, #56] ; (ffa0 ) + ff68: 4798 blx r3 + ff6a: 4604 mov r4, r0 LV_ASSERT_MEM(decoder); - 10514: 4b0d ldr r3, [pc, #52] ; (1054c ) - 10516: 4798 blx r3 - 10518: b138 cbz r0, 1052a + ff6c: 4b0d ldr r3, [pc, #52] ; (ffa4 ) + ff6e: 4798 blx r3 + ff70: b138 cbz r0, ff82 if(decoder == NULL) return NULL; - 1051a: b11c cbz r4, 10524 + ff72: b11c cbz r4, ff7c _lv_memset_00(decoder, sizeof(lv_img_decoder_t)); - 1051c: 2110 movs r1, #16 - 1051e: 4620 mov r0, r4 - 10520: 4b0b ldr r3, [pc, #44] ; (10550 ) - 10522: 4798 blx r3 -} - 10524: 4620 mov r0, r4 - 10526: b003 add sp, #12 - 10528: bd30 pop {r4, r5, pc} + ff74: 2110 movs r1, #16 + ff76: 4620 mov r0, r4 + ff78: 4b0b ldr r3, [pc, #44] ; (ffa8 ) + ff7a: 4798 blx r3 +} + ff7c: 4620 mov r0, r4 + ff7e: b003 add sp, #12 + ff80: bd30 pop {r4, r5, pc} LV_ASSERT_MEM(decoder); - 1052a: 4b0a ldr r3, [pc, #40] ; (10554 ) - 1052c: 9300 str r3, [sp, #0] - 1052e: 22c9 movs r2, #201 ; 0xc9 - 10530: 4909 ldr r1, [pc, #36] ; (10558 ) - 10532: 2003 movs r0, #3 - 10534: 4d09 ldr r5, [pc, #36] ; (1055c ) - 10536: 47a8 blx r5 - 10538: 4622 mov r2, r4 - 1053a: 2300 movs r3, #0 - 1053c: 4808 ldr r0, [pc, #32] ; (10560 ) - 1053e: 4909 ldr r1, [pc, #36] ; (10564 ) - 10540: 4788 blx r1 - 10542: e7fe b.n 10542 - 10544: 20006cc0 .word 0x20006cc0 - 10548: 000124b9 .word 0x000124b9 - 1054c: 0000298d .word 0x0000298d - 10550: 000130df .word 0x000130df - 10554: 0001c7cc .word 0x0001c7cc - 10558: 0001c7fc .word 0x0001c7fc - 1055c: 00012805 .word 0x00012805 - 10560: 0001b4bc .word 0x0001b4bc - 10564: 00002995 .word 0x00002995 - -00010568 <_lv_img_decoder_init>: -{ - 10568: b510 push {r4, lr} - 1056a: b082 sub sp, #8 + ff82: 4b0a ldr r3, [pc, #40] ; (ffac ) + ff84: 9300 str r3, [sp, #0] + ff86: 22c9 movs r2, #201 ; 0xc9 + ff88: 4909 ldr r1, [pc, #36] ; (ffb0 ) + ff8a: 2003 movs r0, #3 + ff8c: 4d09 ldr r5, [pc, #36] ; (ffb4 ) + ff8e: 47a8 blx r5 + ff90: 4622 mov r2, r4 + ff92: 2300 movs r3, #0 + ff94: 4808 ldr r0, [pc, #32] ; (ffb8 ) + ff96: 4909 ldr r1, [pc, #36] ; (ffbc ) + ff98: 4788 blx r1 + ff9a: e7fe b.n ff9a + ff9c: 20006ca4 .word 0x20006ca4 + ffa0: 00011f11 .word 0x00011f11 + ffa4: 000022b1 .word 0x000022b1 + ffa8: 00012b37 .word 0x00012b37 + ffac: 000252e8 .word 0x000252e8 + ffb0: 00025318 .word 0x00025318 + ffb4: 0001225d .word 0x0001225d + ffb8: 00023fd8 .word 0x00023fd8 + ffbc: 000022b9 .word 0x000022b9 + +0000ffc0 <_lv_img_decoder_init>: +{ + ffc0: b510 push {r4, lr} + ffc2: b082 sub sp, #8 _lv_ll_init(&LV_GC_ROOT(_lv_img_defoder_ll), sizeof(lv_img_decoder_t)); - 1056c: 2110 movs r1, #16 - 1056e: 4814 ldr r0, [pc, #80] ; (105c0 <_lv_img_decoder_init+0x58>) - 10570: 4b14 ldr r3, [pc, #80] ; (105c4 <_lv_img_decoder_init+0x5c>) - 10572: 4798 blx r3 + ffc4: 2110 movs r1, #16 + ffc6: 4814 ldr r0, [pc, #80] ; (10018 ) + ffc8: 4b14 ldr r3, [pc, #80] ; (1001c ) + ffca: 4798 blx r3 decoder = lv_img_decoder_create(); - 10574: 4b14 ldr r3, [pc, #80] ; (105c8 <_lv_img_decoder_init+0x60>) - 10576: 4798 blx r3 + ffcc: 4b14 ldr r3, [pc, #80] ; (10020 ) + ffce: 4798 blx r3 if(decoder == NULL) { - 10578: b148 cbz r0, 1058e <_lv_img_decoder_init+0x26> + ffd0: b148 cbz r0, ffe6 <_lv_img_decoder_init+0x26> decoder->info_cb = info_cb; - 1057a: 4a14 ldr r2, [pc, #80] ; (105cc <_lv_img_decoder_init+0x64>) - 1057c: 6002 str r2, [r0, #0] + ffd2: 4a14 ldr r2, [pc, #80] ; (10024 ) + ffd4: 6002 str r2, [r0, #0] decoder->open_cb = open_cb; - 1057e: 4a14 ldr r2, [pc, #80] ; (105d0 <_lv_img_decoder_init+0x68>) - 10580: 6042 str r2, [r0, #4] + ffd6: 4a14 ldr r2, [pc, #80] ; (10028 ) + ffd8: 6042 str r2, [r0, #4] decoder->read_line_cb = read_line_cb; - 10582: 4a14 ldr r2, [pc, #80] ; (105d4 <_lv_img_decoder_init+0x6c>) - 10584: 6082 str r2, [r0, #8] + ffda: 4a14 ldr r2, [pc, #80] ; (1002c ) + ffdc: 6082 str r2, [r0, #8] decoder->close_cb = close_cb; - 10586: 4a14 ldr r2, [pc, #80] ; (105d8 <_lv_img_decoder_init+0x70>) - 10588: 60c2 str r2, [r0, #12] + ffde: 4a14 ldr r2, [pc, #80] ; (10030 ) + ffe0: 60c2 str r2, [r0, #12] } - 1058a: b002 add sp, #8 - 1058c: bd10 pop {r4, pc} + ffe2: b002 add sp, #8 + ffe4: bd10 pop {r4, pc} LV_LOG_WARN("lv_img_decoder_init: out of memory"); - 1058e: 4b13 ldr r3, [pc, #76] ; (105dc <_lv_img_decoder_init+0x74>) - 10590: 9300 str r3, [sp, #0] - 10592: 4b13 ldr r3, [pc, #76] ; (105e0 <_lv_img_decoder_init+0x78>) - 10594: 2247 movs r2, #71 ; 0x47 - 10596: 4913 ldr r1, [pc, #76] ; (105e4 <_lv_img_decoder_init+0x7c>) - 10598: 2002 movs r0, #2 - 1059a: 4c13 ldr r4, [pc, #76] ; (105e8 <_lv_img_decoder_init+0x80>) - 1059c: 47a0 blx r4 + ffe6: 4b13 ldr r3, [pc, #76] ; (10034 ) + ffe8: 9300 str r3, [sp, #0] + ffea: 4b13 ldr r3, [pc, #76] ; (10038 ) + ffec: 2247 movs r2, #71 ; 0x47 + ffee: 4913 ldr r1, [pc, #76] ; (1003c ) + fff0: 2002 movs r0, #2 + fff2: 4c13 ldr r4, [pc, #76] ; (10040 ) + fff4: 47a0 blx r4 LV_ASSERT_MEM(decoder); - 1059e: 2000 movs r0, #0 - 105a0: 4b12 ldr r3, [pc, #72] ; (105ec <_lv_img_decoder_init+0x84>) - 105a2: 4798 blx r3 - 105a4: 2800 cmp r0, #0 - 105a6: d1f0 bne.n 1058a <_lv_img_decoder_init+0x22> - 105a8: 4b0d ldr r3, [pc, #52] ; (105e0 <_lv_img_decoder_init+0x78>) - 105aa: 9300 str r3, [sp, #0] - 105ac: 2248 movs r2, #72 ; 0x48 - 105ae: 490d ldr r1, [pc, #52] ; (105e4 <_lv_img_decoder_init+0x7c>) - 105b0: 2003 movs r0, #3 - 105b2: 47a0 blx r4 - 105b4: 2200 movs r2, #0 - 105b6: 2300 movs r3, #0 - 105b8: 480d ldr r0, [pc, #52] ; (105f0 <_lv_img_decoder_init+0x88>) - 105ba: 490e ldr r1, [pc, #56] ; (105f4 <_lv_img_decoder_init+0x8c>) - 105bc: 4788 blx r1 - 105be: e7fe b.n 105be <_lv_img_decoder_init+0x56> - 105c0: 20006cc0 .word 0x20006cc0 - 105c4: 000124a1 .word 0x000124a1 - 105c8: 00010509 .word 0x00010509 - 105cc: 0000fa95 .word 0x0000fa95 - 105d0: 0000fbcd .word 0x0000fbcd - 105d4: 0000ff6d .word 0x0000ff6d - 105d8: 0000fb91 .word 0x0000fb91 - 105dc: 0001c984 .word 0x0001c984 - 105e0: 0001c7e4 .word 0x0001c7e4 - 105e4: 0001c7fc .word 0x0001c7fc - 105e8: 00012805 .word 0x00012805 - 105ec: 0000298d .word 0x0000298d - 105f0: 0001b4bc .word 0x0001b4bc - 105f4: 00002995 .word 0x00002995 - -000105f8 : + fff6: 2000 movs r0, #0 + fff8: 4b12 ldr r3, [pc, #72] ; (10044 ) + fffa: 4798 blx r3 + fffc: 2800 cmp r0, #0 + fffe: d1f0 bne.n ffe2 <_lv_img_decoder_init+0x22> + 10000: 4b0d ldr r3, [pc, #52] ; (10038 ) + 10002: 9300 str r3, [sp, #0] + 10004: 2248 movs r2, #72 ; 0x48 + 10006: 490d ldr r1, [pc, #52] ; (1003c ) + 10008: 2003 movs r0, #3 + 1000a: 47a0 blx r4 + 1000c: 2200 movs r2, #0 + 1000e: 2300 movs r3, #0 + 10010: 480d ldr r0, [pc, #52] ; (10048 ) + 10012: 490e ldr r1, [pc, #56] ; (1004c ) + 10014: 4788 blx r1 + 10016: e7fe b.n 10016 + 10018: 20006ca4 .word 0x20006ca4 + 1001c: 00011ef9 .word 0x00011ef9 + 10020: 0000ff61 .word 0x0000ff61 + 10024: 0000f4ed .word 0x0000f4ed + 10028: 0000f625 .word 0x0000f625 + 1002c: 0000f9c5 .word 0x0000f9c5 + 10030: 0000f5e9 .word 0x0000f5e9 + 10034: 000254a0 .word 0x000254a0 + 10038: 00025300 .word 0x00025300 + 1003c: 00025318 .word 0x00025318 + 10040: 0001225d .word 0x0001225d + 10044: 000022b1 .word 0x000022b1 + 10048: 00023fd8 .word 0x00023fd8 + 1004c: 000022b9 .word 0x000022b9 + +00010050 : * @param font_p pointer to a font * @param letter an UNICODE character code * @return pointer to the bitmap of the letter */ const uint8_t * lv_font_get_glyph_bitmap(const lv_font_t * font_p, uint32_t letter) { - 105f8: b508 push {r3, lr} + 10050: b508 push {r3, lr} return font_p->get_glyph_bitmap(font_p, letter); - 105fa: 6843 ldr r3, [r0, #4] - 105fc: 4798 blx r3 + 10052: 6843 ldr r3, [r0, #4] + 10054: 4798 blx r3 } - 105fe: bd08 pop {r3, pc} + 10056: bd08 pop {r3, pc} -00010600 : +00010058 : * @return true: descriptor is successfully loaded into `dsc_out`. * false: the letter was not found, no data is loaded to `dsc_out` */ bool lv_font_get_glyph_dsc(const lv_font_t * font_p, lv_font_glyph_dsc_t * dsc_out, uint32_t letter, uint32_t letter_next) { - 10600: b510 push {r4, lr} + 10058: b510 push {r4, lr} return font_p->get_glyph_dsc(font_p, dsc_out, letter, letter_next); - 10602: 6804 ldr r4, [r0, #0] - 10604: 47a0 blx r4 + 1005a: 6804 ldr r4, [r0, #0] + 1005c: 47a0 blx r4 } - 10606: bd10 pop {r4, pc} + 1005e: bd10 pop {r4, pc} -00010608 : +00010060 : * @param letter an UNICODE letter * @param letter_next the next letter after `letter`. Used for kerning * @return the width of the glyph */ uint16_t lv_font_get_glyph_width(const lv_font_t * font, uint32_t letter, uint32_t letter_next) { - 10608: b510 push {r4, lr} - 1060a: b084 sub sp, #16 + 10060: b510 push {r4, lr} + 10062: b084 sub sp, #16 lv_font_glyph_dsc_t g; bool ret; ret = lv_font_get_glyph_dsc(font, &g, letter, letter_next); - 1060c: 4613 mov r3, r2 - 1060e: 460a mov r2, r1 - 10610: a901 add r1, sp, #4 - 10612: 4c04 ldr r4, [pc, #16] ; (10624 ) - 10614: 47a0 blx r4 + 10064: 4613 mov r3, r2 + 10066: 460a mov r2, r1 + 10068: a901 add r1, sp, #4 + 1006a: 4c04 ldr r4, [pc, #16] ; (1007c ) + 1006c: 47a0 blx r4 if(ret) return g.adv_w; - 10616: b118 cbz r0, 10620 - 10618: f8bd 0004 ldrh.w r0, [sp, #4] + 1006e: b118 cbz r0, 10078 + 10070: f8bd 0004 ldrh.w r0, [sp, #4] else return 0; } - 1061c: b004 add sp, #16 - 1061e: bd10 pop {r4, pc} + 10074: b004 add sp, #16 + 10076: bd10 pop {r4, pc} else return 0; - 10620: 2000 movs r0, #0 - 10622: e7fb b.n 1061c - 10624: 00010601 .word 0x00010601 + 10078: 2000 movs r0, #0 + 1007a: e7fb b.n 10074 + 1007c: 00010059 .word 0x00010059 -00010628 : +00010080 : { const uint8_t * ref8_p = ref; const uint8_t * element8_p = element; /*If the MSB is different it will matter. If not return the diff. of the LSB*/ if(ref8_p[0] != element8_p[0]) return (int32_t)ref8_p[0] - element8_p[0]; - 10628: 7803 ldrb r3, [r0, #0] - 1062a: 780a ldrb r2, [r1, #0] - 1062c: 4293 cmp r3, r2 - 1062e: bf11 iteee ne - 10630: 1a98 subne r0, r3, r2 + 10080: 7803 ldrb r3, [r0, #0] + 10082: 780a ldrb r2, [r1, #0] + 10084: 4293 cmp r3, r2 + 10086: bf11 iteee ne + 10088: 1a98 subne r0, r3, r2 else return (int32_t) ref8_p[1] - element8_p[1]; - 10632: 7840 ldrbeq r0, [r0, #1] - 10634: 784b ldrbeq r3, [r1, #1] - 10636: 1ac0 subeq r0, r0, r3 + 1008a: 7840 ldrbeq r0, [r0, #1] + 1008c: 784b ldrbeq r3, [r1, #1] + 1008e: 1ac0 subeq r0, r0, r3 } - 10638: 4770 bx lr + 10090: 4770 bx lr -0001063a : +00010092 : { const uint16_t * ref16_p = ref; const uint16_t * element16_p = element; /*If the MSB is different it will matter. If not return the diff. of the LSB*/ if(ref16_p[0] != element16_p[0]) return (int32_t)ref16_p[0] - element16_p[0]; - 1063a: 8803 ldrh r3, [r0, #0] - 1063c: 880a ldrh r2, [r1, #0] - 1063e: 4293 cmp r3, r2 - 10640: bf11 iteee ne - 10642: 1a98 subne r0, r3, r2 + 10092: 8803 ldrh r3, [r0, #0] + 10094: 880a ldrh r2, [r1, #0] + 10096: 4293 cmp r3, r2 + 10098: bf11 iteee ne + 1009a: 1a98 subne r0, r3, r2 else return (int32_t) ref16_p[1] - element16_p[1]; - 10644: 8840 ldrheq r0, [r0, #2] - 10646: 884b ldrheq r3, [r1, #2] - 10648: 1ac0 subeq r0, r0, r3 + 1009c: 8840 ldrheq r0, [r0, #2] + 1009e: 884b ldrheq r3, [r1, #2] + 100a0: 1ac0 subeq r0, r0, r3 } - 1064a: 4770 bx lr + 100a2: 4770 bx lr -0001064c : +000100a4 : * @retval > 0 Reference is less than element. * */ static int32_t unicode_list_compare(const void * ref, const void * element) { return ((int32_t)(*(uint16_t *)ref)) - ((int32_t)(*(uint16_t *)element)); - 1064c: 8800 ldrh r0, [r0, #0] - 1064e: 880b ldrh r3, [r1, #0] + 100a4: 8800 ldrh r0, [r0, #0] + 100a6: 880b ldrh r3, [r1, #0] } - 10650: 1ac0 subs r0, r0, r3 - 10652: 4770 bx lr + 100a8: 1ac0 subs r0, r0, r3 + 100aa: 4770 bx lr -00010654 : +000100ac : if(letter == '\0') return 0; - 10654: 460b mov r3, r1 - 10656: 2900 cmp r1, #0 - 10658: d06c beq.n 10734 + 100ac: 460b mov r3, r1 + 100ae: 2900 cmp r1, #0 + 100b0: d06c beq.n 1018c { - 1065a: b5f0 push {r4, r5, r6, r7, lr} - 1065c: b085 sub sp, #20 + 100b2: b5f0 push {r4, r5, r6, r7, lr} + 100b4: b085 sub sp, #20 lv_font_fmt_txt_dsc_t * fdsc = (lv_font_fmt_txt_dsc_t *) font->dsc; - 1065e: 6904 ldr r4, [r0, #16] + 100b6: 6904 ldr r4, [r0, #16] if(letter == fdsc->last_letter) return fdsc->last_glyph_id; - 10660: 69a2 ldr r2, [r4, #24] - 10662: 4291 cmp r1, r2 - 10664: d015 beq.n 10692 + 100b8: 69a2 ldr r2, [r4, #24] + 100ba: 4291 cmp r1, r2 + 100bc: d015 beq.n 100ea for(i = 0; i < fdsc->cmap_num; i++) { - 10666: 8a67 ldrh r7, [r4, #18] - 10668: f3c7 0709 ubfx r7, r7, #0, #10 - 1066c: 2f00 cmp r7, #0 - 1066e: d05d beq.n 1072c + 100be: 8a67 ldrh r7, [r4, #18] + 100c0: f3c7 0709 ubfx r7, r7, #0, #10 + 100c4: 2f00 cmp r7, #0 + 100c6: d05d beq.n 10184 uint32_t rcp = letter - fdsc->cmaps[i].range_start; - 10670: 68a1 ldr r1, [r4, #8] - 10672: 6808 ldr r0, [r1, #0] - 10674: 1a1a subs r2, r3, r0 - 10676: 9203 str r2, [sp, #12] + 100c8: 68a1 ldr r1, [r4, #8] + 100ca: 6808 ldr r0, [r1, #0] + 100cc: 1a1a subs r2, r3, r0 + 100ce: 9203 str r2, [sp, #12] if(rcp > fdsc->cmaps[i].range_length) continue; - 10678: 8888 ldrh r0, [r1, #4] - 1067a: 4282 cmp r2, r0 - 1067c: d80b bhi.n 10696 + 100d0: 8888 ldrh r0, [r1, #4] + 100d2: 4282 cmp r2, r0 + 100d4: d80b bhi.n 100ee uint32_t rcp = letter - fdsc->cmaps[i].range_start; - 1067e: 2600 movs r6, #0 - 10680: 461d mov r5, r3 + 100d6: 2600 movs r6, #0 + 100d8: 461d mov r5, r3 if(fdsc->cmaps[i].type == LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY) { - 10682: 7c8b ldrb r3, [r1, #18] - 10684: b9e3 cbnz r3, 106c0 + 100da: 7c8b ldrb r3, [r1, #18] + 100dc: b9e3 cbnz r3, 10118 glyph_id = fdsc->cmaps[i].glyph_id_start + rcp; - 10686: 88c8 ldrh r0, [r1, #6] - 10688: 4410 add r0, r2 + 100de: 88c8 ldrh r0, [r1, #6] + 100e0: 4410 add r0, r2 fdsc->last_letter = letter; - 1068a: 61a5 str r5, [r4, #24] + 100e2: 61a5 str r5, [r4, #24] fdsc->last_glyph_id = glyph_id; - 1068c: 61e0 str r0, [r4, #28] + 100e4: 61e0 str r0, [r4, #28] } - 1068e: b005 add sp, #20 - 10690: bdf0 pop {r4, r5, r6, r7, pc} + 100e6: b005 add sp, #20 + 100e8: bdf0 pop {r4, r5, r6, r7, pc} if(letter == fdsc->last_letter) return fdsc->last_glyph_id; - 10692: 69e0 ldr r0, [r4, #28] - 10694: e7fb b.n 1068e + 100ea: 69e0 ldr r0, [r4, #28] + 100ec: e7fb b.n 100e6 if(rcp > fdsc->cmaps[i].range_length) continue; - 10696: 2500 movs r5, #0 + 100ee: 2500 movs r5, #0 for(i = 0; i < fdsc->cmap_num; i++) { - 10698: 3501 adds r5, #1 - 1069a: b2ad uxth r5, r5 - 1069c: 42bd cmp r5, r7 - 1069e: da45 bge.n 1072c + 100f0: 3501 adds r5, #1 + 100f2: b2ad uxth r5, r5 + 100f4: 42bd cmp r5, r7 + 100f6: da45 bge.n 10184 uint32_t rcp = letter - fdsc->cmaps[i].range_start; - 106a0: eb05 0085 add.w r0, r5, r5, lsl #2 - 106a4: 0082 lsls r2, r0, #2 - 106a6: 4616 mov r6, r2 - 106a8: eb01 0e02 add.w lr, r1, r2 - 106ac: f851 2020 ldr.w r2, [r1, r0, lsl #2] - 106b0: 1a9a subs r2, r3, r2 - 106b2: 9203 str r2, [sp, #12] + 100f8: eb05 0085 add.w r0, r5, r5, lsl #2 + 100fc: 0082 lsls r2, r0, #2 + 100fe: 4616 mov r6, r2 + 10100: eb01 0e02 add.w lr, r1, r2 + 10104: f851 2020 ldr.w r2, [r1, r0, lsl #2] + 10108: 1a9a subs r2, r3, r2 + 1010a: 9203 str r2, [sp, #12] if(rcp > fdsc->cmaps[i].range_length) continue; - 106b4: f8be 0004 ldrh.w r0, [lr, #4] - 106b8: 4282 cmp r2, r0 - 106ba: d8ed bhi.n 10698 + 1010c: f8be 0004 ldrh.w r0, [lr, #4] + 10110: 4282 cmp r2, r0 + 10112: d8ed bhi.n 100f0 uint32_t rcp = letter - fdsc->cmaps[i].range_start; - 106bc: 4671 mov r1, lr - 106be: e7df b.n 10680 + 10114: 4671 mov r1, lr + 10116: e7df b.n 100d8 else if(fdsc->cmaps[i].type == LV_FONT_FMT_TXT_CMAP_FORMAT0_FULL) { - 106c0: 2b01 cmp r3, #1 - 106c2: d005 beq.n 106d0 + 10118: 2b01 cmp r3, #1 + 1011a: d005 beq.n 10128 else if(fdsc->cmaps[i].type == LV_FONT_FMT_TXT_CMAP_SPARSE_TINY) { - 106c4: 2b02 cmp r3, #2 - 106c6: d008 beq.n 106da + 1011c: 2b02 cmp r3, #2 + 1011e: d008 beq.n 10132 else if(fdsc->cmaps[i].type == LV_FONT_FMT_TXT_CMAP_SPARSE_FULL) { - 106c8: 2b03 cmp r3, #3 - 106ca: d018 beq.n 106fe + 10120: 2b03 cmp r3, #3 + 10122: d018 beq.n 10156 uint32_t glyph_id = 0; - 106cc: 2000 movs r0, #0 - 106ce: e7dc b.n 1068a + 10124: 2000 movs r0, #0 + 10126: e7dc b.n 100e2 glyph_id = fdsc->cmaps[i].glyph_id_start + gid_ofs_8[rcp]; - 106d0: 68cb ldr r3, [r1, #12] - 106d2: 5c9b ldrb r3, [r3, r2] - 106d4: 88c8 ldrh r0, [r1, #6] - 106d6: 4418 add r0, r3 - 106d8: e7d7 b.n 1068a + 10128: 68cb ldr r3, [r1, #12] + 1012a: 5c9b ldrb r3, [r3, r2] + 1012c: 88c8 ldrh r0, [r1, #6] + 1012e: 4418 add r0, r3 + 10130: e7d7 b.n 100e2 uint8_t * p = _lv_utils_bsearch(&rcp, fdsc->cmaps[i].unicode_list, fdsc->cmaps[i].list_length, - 106da: 8a0a ldrh r2, [r1, #16] - 106dc: 6889 ldr r1, [r1, #8] - 106de: 4b16 ldr r3, [pc, #88] ; (10738 ) - 106e0: 9300 str r3, [sp, #0] - 106e2: 2302 movs r3, #2 - 106e4: a803 add r0, sp, #12 - 106e6: 4f15 ldr r7, [pc, #84] ; (1073c ) - 106e8: 47b8 blx r7 + 10132: 8a0a ldrh r2, [r1, #16] + 10134: 6889 ldr r1, [r1, #8] + 10136: 4b16 ldr r3, [pc, #88] ; (10190 ) + 10138: 9300 str r3, [sp, #0] + 1013a: 2302 movs r3, #2 + 1013c: a803 add r0, sp, #12 + 1013e: 4f15 ldr r7, [pc, #84] ; (10194 ) + 10140: 47b8 blx r7 if(p) { - 106ea: 4603 mov r3, r0 - 106ec: b1d0 cbz r0, 10724 + 10142: 4603 mov r3, r0 + 10144: b1d0 cbz r0, 1017c lv_uintptr_t ofs = (lv_uintptr_t)(p - (uint8_t *) fdsc->cmaps[i].unicode_list); - 106ee: 68a2 ldr r2, [r4, #8] - 106f0: 4416 add r6, r2 - 106f2: 68b0 ldr r0, [r6, #8] - 106f4: 1a18 subs r0, r3, r0 + 10146: 68a2 ldr r2, [r4, #8] + 10148: 4416 add r6, r2 + 1014a: 68b0 ldr r0, [r6, #8] + 1014c: 1a18 subs r0, r3, r0 glyph_id = fdsc->cmaps[i].glyph_id_start + ofs; - 106f6: 88f3 ldrh r3, [r6, #6] - 106f8: eb03 0050 add.w r0, r3, r0, lsr #1 - 106fc: e7c5 b.n 1068a + 1014e: 88f3 ldrh r3, [r6, #6] + 10150: eb03 0050 add.w r0, r3, r0, lsr #1 + 10154: e7c5 b.n 100e2 uint8_t * p = _lv_utils_bsearch(&rcp, fdsc->cmaps[i].unicode_list, fdsc->cmaps[i].list_length, - 106fe: 8a0a ldrh r2, [r1, #16] - 10700: 6889 ldr r1, [r1, #8] - 10702: 4b0d ldr r3, [pc, #52] ; (10738 ) - 10704: 9300 str r3, [sp, #0] - 10706: 2302 movs r3, #2 - 10708: a803 add r0, sp, #12 - 1070a: 4f0c ldr r7, [pc, #48] ; (1073c ) - 1070c: 47b8 blx r7 + 10156: 8a0a ldrh r2, [r1, #16] + 10158: 6889 ldr r1, [r1, #8] + 1015a: 4b0d ldr r3, [pc, #52] ; (10190 ) + 1015c: 9300 str r3, [sp, #0] + 1015e: 2302 movs r3, #2 + 10160: a803 add r0, sp, #12 + 10162: 4f0c ldr r7, [pc, #48] ; (10194 ) + 10164: 47b8 blx r7 if(p) { - 1070e: b158 cbz r0, 10728 + 10166: b158 cbz r0, 10180 lv_uintptr_t ofs = (lv_uintptr_t)(p - (uint8_t *) fdsc->cmaps[i].unicode_list); - 10710: 68a2 ldr r2, [r4, #8] - 10712: 4416 add r6, r2 - 10714: 68b2 ldr r2, [r6, #8] - 10716: 1a83 subs r3, r0, r2 + 10168: 68a2 ldr r2, [r4, #8] + 1016a: 4416 add r6, r2 + 1016c: 68b2 ldr r2, [r6, #8] + 1016e: 1a83 subs r3, r0, r2 ofs = ofs >> 1; /*The list stores `uint16_t` so the get the index divide by 2*/ - 10718: 085b lsrs r3, r3, #1 + 10170: 085b lsrs r3, r3, #1 glyph_id = fdsc->cmaps[i].glyph_id_start + gid_ofs_16[ofs]; - 1071a: 68f2 ldr r2, [r6, #12] - 1071c: 5cd3 ldrb r3, [r2, r3] - 1071e: 88f0 ldrh r0, [r6, #6] - 10720: 4418 add r0, r3 - 10722: e7b2 b.n 1068a + 10172: 68f2 ldr r2, [r6, #12] + 10174: 5cd3 ldrb r3, [r2, r3] + 10176: 88f0 ldrh r0, [r6, #6] + 10178: 4418 add r0, r3 + 1017a: e7b2 b.n 100e2 uint32_t glyph_id = 0; - 10724: 2000 movs r0, #0 - 10726: e7b0 b.n 1068a - 10728: 2000 movs r0, #0 - 1072a: e7ae b.n 1068a + 1017c: 2000 movs r0, #0 + 1017e: e7b0 b.n 100e2 + 10180: 2000 movs r0, #0 + 10182: e7ae b.n 100e2 fdsc->last_letter = letter; - 1072c: 61a3 str r3, [r4, #24] + 10184: 61a3 str r3, [r4, #24] fdsc->last_glyph_id = 0; - 1072e: 2000 movs r0, #0 - 10730: 61e0 str r0, [r4, #28] + 10186: 2000 movs r0, #0 + 10188: 61e0 str r0, [r4, #28] return 0; - 10732: e7ac b.n 1068e + 1018a: e7ac b.n 100e6 if(letter == '\0') return 0; - 10734: 4608 mov r0, r1 - 10736: 4770 bx lr - 10738: 0001064d .word 0x0001064d - 1073c: 0001472d .word 0x0001472d + 1018c: 4608 mov r0, r1 + 1018e: 4770 bx lr + 10190: 000100a5 .word 0x000100a5 + 10194: 00014185 .word 0x00014185 -00010740 : +00010198 : { - 10740: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 10744: b09f sub sp, #124 ; 0x7c + 10198: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 1019c: b09f sub sp, #124 ; 0x7c if(unicode_letter == '\t') unicode_letter = ' '; - 10746: 2909 cmp r1, #9 + 1019e: 2909 cmp r1, #9 lv_font_fmt_txt_dsc_t * fdsc = (lv_font_fmt_txt_dsc_t *) font->dsc; - 10748: 6905 ldr r5, [r0, #16] + 101a0: 6905 ldr r5, [r0, #16] uint32_t gid = get_glyph_dsc_id(font, unicode_letter); - 1074a: bf08 it eq - 1074c: 2120 moveq r1, #32 - 1074e: 4ba0 ldr r3, [pc, #640] ; (109d0 ) - 10750: 4798 blx r3 + 101a2: bf08 it eq + 101a4: 2120 moveq r1, #32 + 101a6: 4ba0 ldr r3, [pc, #640] ; (10428 ) + 101a8: 4798 blx r3 if(!gid) return NULL; - 10752: 2800 cmp r0, #0 - 10754: f000 84ea beq.w 1112c - 10758: 4680 mov r8, r0 + 101aa: 2800 cmp r0, #0 + 101ac: f000 84ea beq.w 10b84 + 101b0: 4680 mov r8, r0 const lv_font_fmt_txt_glyph_dsc_t * gdsc = &fdsc->glyph_dsc[gid]; - 1075a: 686f ldr r7, [r5, #4] - 1075c: eb07 06c0 add.w r6, r7, r0, lsl #3 + 101b2: 686f ldr r7, [r5, #4] + 101b4: eb07 06c0 add.w r6, r7, r0, lsl #3 if(fdsc->bitmap_format == LV_FONT_FMT_TXT_PLAIN) { - 10760: 7d2b ldrb r3, [r5, #20] - 10762: f013 0f03 tst.w r3, #3 - 10766: d10b bne.n 10780 + 101b8: 7d2b ldrb r3, [r5, #20] + 101ba: f013 0f03 tst.w r3, #3 + 101be: d10b bne.n 101d8 if(gdsc) return &fdsc->glyph_bitmap[gdsc->bitmap_index]; - 10768: 2e00 cmp r6, #0 - 1076a: f000 84e2 beq.w 11132 - 1076e: f857 3030 ldr.w r3, [r7, r0, lsl #3] - 10772: f3c3 0313 ubfx r3, r3, #0, #20 - 10776: 6828 ldr r0, [r5, #0] - 10778: 4418 add r0, r3 -} - 1077a: b01f add sp, #124 ; 0x7c - 1077c: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 101c0: 2e00 cmp r6, #0 + 101c2: f000 84e2 beq.w 10b8a + 101c6: f857 3030 ldr.w r3, [r7, r0, lsl #3] + 101ca: f3c3 0313 ubfx r3, r3, #0, #20 + 101ce: 6828 ldr r0, [r5, #0] + 101d0: 4418 add r0, r3 +} + 101d2: b01f add sp, #124 ; 0x7c + 101d4: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} uint32_t gsize = gdsc->box_w * gdsc->box_h; - 10780: 7933 ldrb r3, [r6, #4] - 10782: 7974 ldrb r4, [r6, #5] - 10784: fb04 f403 mul.w r4, r4, r3 + 101d8: 7933 ldrb r3, [r6, #4] + 101da: 7974 ldrb r4, [r6, #5] + 101dc: fb04 f403 mul.w r4, r4, r3 if(gsize == 0) return NULL; - 10788: 2c00 cmp r4, #0 - 1078a: f000 84d5 beq.w 11138 + 101e0: 2c00 cmp r4, #0 + 101e2: f000 84d5 beq.w 10b90 switch(fdsc->bpp) { - 1078e: 7ceb ldrb r3, [r5, #19] - 10790: f3c3 0383 ubfx r3, r3, #2, #4 - 10794: 3b01 subs r3, #1 - 10796: 2b03 cmp r3, #3 - 10798: d805 bhi.n 107a6 - 1079a: e8df f003 tbb [pc, r3] - 1079e: 7502 .short 0x7502 - 107a0: 7b78 .short 0x7b78 + 101e6: 7ceb ldrb r3, [r5, #19] + 101e8: f3c3 0383 ubfx r3, r3, #2, #4 + 101ec: 3b01 subs r3, #1 + 101ee: 2b03 cmp r3, #3 + 101f0: d805 bhi.n 101fe + 101f2: e8df f003 tbb [pc, r3] + 101f6: 7502 .short 0x7502 + 101f8: 7b78 .short 0x7b78 buf_size = (gsize + 7) >> 3; - 107a2: 3407 adds r4, #7 - 107a4: 08e4 lsrs r4, r4, #3 + 101fa: 3407 adds r4, #7 + 101fc: 08e4 lsrs r4, r4, #3 if(_lv_mem_get_size(decompr_buf) < buf_size) { - 107a6: 4b8b ldr r3, [pc, #556] ; (109d4 ) - 107a8: 6818 ldr r0, [r3, #0] - 107aa: 4b8b ldr r3, [pc, #556] ; (109d8 ) - 107ac: 4798 blx r3 - 107ae: 4284 cmp r4, r0 - 107b0: d911 bls.n 107d6 + 101fe: 4b8b ldr r3, [pc, #556] ; (1042c ) + 10200: 6818 ldr r0, [r3, #0] + 10202: 4b8b ldr r3, [pc, #556] ; (10430 ) + 10204: 4798 blx r3 + 10206: 4284 cmp r4, r0 + 10208: d911 bls.n 1022e decompr_buf = lv_mem_realloc(decompr_buf, buf_size); - 107b2: f8df 9220 ldr.w r9, [pc, #544] ; 109d4 - 107b6: 4621 mov r1, r4 - 107b8: f8d9 0000 ldr.w r0, [r9] - 107bc: 4b87 ldr r3, [pc, #540] ; (109dc ) - 107be: 4798 blx r3 - 107c0: f8c9 0000 str.w r0, [r9] + 1020a: f8df 9220 ldr.w r9, [pc, #544] ; 1042c + 1020e: 4621 mov r1, r4 + 10210: f8d9 0000 ldr.w r0, [r9] + 10214: 4b87 ldr r3, [pc, #540] ; (10434 ) + 10216: 4798 blx r3 + 10218: f8c9 0000 str.w r0, [r9] LV_ASSERT_MEM(decompr_buf); - 107c4: 4b86 ldr r3, [pc, #536] ; (109e0 ) - 107c6: 4798 blx r3 - 107c8: 2800 cmp r0, #0 - 107ca: d066 beq.n 1089a + 1021c: 4b86 ldr r3, [pc, #536] ; (10438 ) + 1021e: 4798 blx r3 + 10220: 2800 cmp r0, #0 + 10222: d066 beq.n 102f2 if(decompr_buf == NULL) return NULL; - 107cc: 4b81 ldr r3, [pc, #516] ; (109d4 ) - 107ce: 681b ldr r3, [r3, #0] - 107d0: 2b00 cmp r3, #0 - 107d2: f000 84b4 beq.w 1113e + 10224: 4b81 ldr r3, [pc, #516] ; (1042c ) + 10226: 681b ldr r3, [r3, #0] + 10228: 2b00 cmp r3, #0 + 1022a: f000 84b4 beq.w 10b96 decompress(&fdsc->glyph_bitmap[gdsc->bitmap_index], decompr_buf, gdsc->box_w, gdsc->box_h, (uint8_t)fdsc->bpp); - 107d6: f857 1038 ldr.w r1, [r7, r8, lsl #3] - 107da: f3c1 0113 ubfx r1, r1, #0, #20 - 107de: 682b ldr r3, [r5, #0] - 107e0: 4419 add r1, r3 - 107e2: 4b7c ldr r3, [pc, #496] ; (109d4 ) - 107e4: f8d3 9000 ldr.w r9, [r3] - 107e8: 7933 ldrb r3, [r6, #4] - 107ea: 930c str r3, [sp, #48] ; 0x30 - 107ec: 469b mov fp, r3 - 107ee: b21a sxth r2, r3 - 107f0: 4617 mov r7, r2 - 107f2: 9218 str r2, [sp, #96] ; 0x60 - 107f4: 7972 ldrb r2, [r6, #5] - 107f6: 9215 str r2, [sp, #84] ; 0x54 - 107f8: 7cea ldrb r2, [r5, #19] - 107fa: f3c2 0283 ubfx r2, r2, #2, #4 - 107fe: b2d3 uxtb r3, r2 - 10800: 930f str r3, [sp, #60] ; 0x3c + 1022e: f857 1038 ldr.w r1, [r7, r8, lsl #3] + 10232: f3c1 0113 ubfx r1, r1, #0, #20 + 10236: 682b ldr r3, [r5, #0] + 10238: 4419 add r1, r3 + 1023a: 4b7c ldr r3, [pc, #496] ; (1042c ) + 1023c: f8d3 9000 ldr.w r9, [r3] + 10240: 7933 ldrb r3, [r6, #4] + 10242: 930c str r3, [sp, #48] ; 0x30 + 10244: 469b mov fp, r3 + 10246: b21a sxth r2, r3 + 10248: 4617 mov r7, r2 + 1024a: 9218 str r2, [sp, #96] ; 0x60 + 1024c: 7972 ldrb r2, [r6, #5] + 1024e: 9215 str r2, [sp, #84] ; 0x54 + 10250: 7cea ldrb r2, [r5, #19] + 10252: f3c2 0283 ubfx r2, r2, #2, #4 + 10256: b2d3 uxtb r3, r2 + 10258: 930f str r3, [sp, #60] ; 0x3c if(bpp == 3) wr_size = 4; - 10802: 2b03 cmp r3, #3 - 10804: bf14 ite ne - 10806: 4618 movne r0, r3 - 10808: 2004 moveq r0, #4 - 1080a: 9008 str r0, [sp, #32] + 1025a: 2b03 cmp r3, #3 + 1025c: bf14 ite ne + 1025e: 4618 movne r0, r3 + 10260: 2004 moveq r0, #4 + 10262: 9008 str r0, [sp, #32] rle_in = in; - 1080c: 4b71 ldr r3, [pc, #452] ; (109d4 ) - 1080e: 6059 str r1, [r3, #4] + 10264: 4b71 ldr r3, [pc, #452] ; (1042c ) + 10266: 6059 str r1, [r3, #4] rle_bpp = bpp; - 10810: 721a strb r2, [r3, #8] + 10268: 721a strb r2, [r3, #8] rle_state = RLE_STATE_SINGLE; - 10812: 2200 movs r2, #0 - 10814: 725a strb r2, [r3, #9] + 1026a: 2200 movs r2, #0 + 1026c: 725a strb r2, [r3, #9] rle_rdp = 0; - 10816: 60da str r2, [r3, #12] + 1026e: 60da str r2, [r3, #12] rle_prev_v = 0; - 10818: 741a strb r2, [r3, #16] + 10270: 741a strb r2, [r3, #16] rle_cnt = 0; - 1081a: 745a strb r2, [r3, #17] + 10272: 745a strb r2, [r3, #17] uint8_t * line_buf1 = _lv_mem_buf_get(w); - 1081c: 4658 mov r0, fp - 1081e: 4c71 ldr r4, [pc, #452] ; (109e4 ) - 10820: 47a0 blx r4 - 10822: 9016 str r0, [sp, #88] ; 0x58 + 10274: 4658 mov r0, fp + 10276: 4c71 ldr r4, [pc, #452] ; (1043c ) + 10278: 47a0 blx r4 + 1027a: 9016 str r0, [sp, #88] ; 0x58 uint8_t * line_buf2 = _lv_mem_buf_get(w); - 10824: 4658 mov r0, fp - 10826: 47a0 blx r4 - 10828: 9017 str r0, [sp, #92] ; 0x5c + 1027c: 4658 mov r0, fp + 1027e: 47a0 blx r4 + 10280: 9017 str r0, [sp, #92] ; 0x5c for(i = 0; i < w; i++) { - 1082a: 2f00 cmp r7, #0 - 1082c: f000 8251 beq.w 10cd2 - 10830: 4b68 ldr r3, [pc, #416] ; (109d4 ) - 10832: 7c19 ldrb r1, [r3, #16] - 10834: 9103 str r1, [sp, #12] - 10836: 7c5c ldrb r4, [r3, #17] + 10282: 2f00 cmp r7, #0 + 10284: f000 8251 beq.w 1072a + 10288: 4b68 ldr r3, [pc, #416] ; (1042c ) + 1028a: 7c19 ldrb r1, [r3, #16] + 1028c: 9103 str r1, [sp, #12] + 1028e: 7c5c ldrb r4, [r3, #17] ret = get_bits(rle_in, rle_rdp, rle_bpp); - 10838: 685f ldr r7, [r3, #4] - 1083a: 68dd ldr r5, [r3, #12] - 1083c: f893 a008 ldrb.w sl, [r3, #8] + 10290: 685f ldr r7, [r3, #4] + 10292: 68dd ldr r5, [r3, #12] + 10294: f893 a008 ldrb.w sl, [r3, #8] bit_mask = (uint16_t)((uint16_t) 1 << len) - 1; - 10840: 2201 movs r2, #1 - 10842: fa02 f20a lsl.w r2, r2, sl - 10846: 1e51 subs r1, r2, #1 + 10298: 2201 movs r2, #1 + 1029a: fa02 f20a lsl.w r2, r2, sl + 1029e: 1e51 subs r1, r2, #1 if(bit_pos + len >= 8) { - 10848: 46d0 mov r8, sl - 1084a: f1ca 0608 rsb r6, sl, #8 - 1084e: 960a str r6, [sp, #40] ; 0x28 - 10850: f1ca 0610 rsb r6, sl, #16 - 10854: 9609 str r6, [sp, #36] ; 0x24 - 10856: f893 c009 ldrb.w ip, [r3, #9] - 1085a: 9816 ldr r0, [sp, #88] ; 0x58 - 1085c: f100 3eff add.w lr, r0, #4294967295 - 10860: f10b 33ff add.w r3, fp, #4294967295 - 10864: b29b uxth r3, r3 - 10866: 930d str r3, [sp, #52] ; 0x34 - 10868: eb00 0b03 add.w fp, r0, r3 - 1086c: 4676 mov r6, lr - 1086e: 2300 movs r3, #0 - 10870: 9305 str r3, [sp, #20] - 10872: 9307 str r3, [sp, #28] - 10874: 461a mov r2, r3 + 102a0: 46d0 mov r8, sl + 102a2: f1ca 0608 rsb r6, sl, #8 + 102a6: 960a str r6, [sp, #40] ; 0x28 + 102a8: f1ca 0610 rsb r6, sl, #16 + 102ac: 9609 str r6, [sp, #36] ; 0x24 + 102ae: f893 c009 ldrb.w ip, [r3, #9] + 102b2: 9816 ldr r0, [sp, #88] ; 0x58 + 102b4: f100 3eff add.w lr, r0, #4294967295 + 102b8: f10b 33ff add.w r3, fp, #4294967295 + 102bc: b29b uxth r3, r3 + 102be: 930d str r3, [sp, #52] ; 0x34 + 102c0: eb00 0b03 add.w fp, r0, r3 + 102c4: 4676 mov r6, lr + 102c6: 2300 movs r3, #0 + 102c8: 9305 str r3, [sp, #20] + 102ca: 9307 str r3, [sp, #28] + 102cc: 461a mov r2, r3 switch(len) { - 10876: f10a 3aff add.w sl, sl, #4294967295 + 102ce: f10a 3aff add.w sl, sl, #4294967295 rle_rdp += rle_bpp; - 1087a: 2301 movs r3, #1 - 1087c: 9304 str r3, [sp, #16] + 102d2: 2301 movs r3, #1 + 102d4: 9304 str r3, [sp, #16] bit_mask = (uint16_t)((uint16_t) 1 << len) - 1; - 1087e: b2cb uxtb r3, r1 - 10880: 930b str r3, [sp, #44] ; 0x2c + 102d6: b2cb uxtb r3, r1 + 102d8: 930b str r3, [sp, #44] ; 0x2c bit_mask = 0x3; - 10882: 9206 str r2, [sp, #24] - 10884: 4661 mov r1, ip - 10886: e034 b.n 108f2 + 102da: 9206 str r2, [sp, #24] + 102dc: 4661 mov r1, ip + 102de: e034 b.n 1034a buf_size = (gsize + 3) >> 2; - 10888: 3403 adds r4, #3 - 1088a: 08a4 lsrs r4, r4, #2 + 102e0: 3403 adds r4, #3 + 102e2: 08a4 lsrs r4, r4, #2 break; - 1088c: e78b b.n 107a6 + 102e4: e78b b.n 101fe buf_size = (gsize + 1) >> 1; - 1088e: 3401 adds r4, #1 - 10890: 0864 lsrs r4, r4, #1 + 102e6: 3401 adds r4, #1 + 102e8: 0864 lsrs r4, r4, #1 break; - 10892: e788 b.n 107a6 + 102ea: e788 b.n 101fe buf_size = (gsize + 1) >> 1; - 10894: 3401 adds r4, #1 - 10896: 0864 lsrs r4, r4, #1 + 102ec: 3401 adds r4, #1 + 102ee: 0864 lsrs r4, r4, #1 break; - 10898: e785 b.n 107a6 + 102f0: e785 b.n 101fe LV_ASSERT_MEM(decompr_buf); - 1089a: 4b53 ldr r3, [pc, #332] ; (109e8 ) - 1089c: 9300 str r3, [sp, #0] - 1089e: 2272 movs r2, #114 ; 0x72 - 108a0: 4952 ldr r1, [pc, #328] ; (109ec ) - 108a2: 2003 movs r0, #3 - 108a4: 4c52 ldr r4, [pc, #328] ; (109f0 ) - 108a6: 47a0 blx r4 - 108a8: f8d9 2000 ldr.w r2, [r9] - 108ac: 2300 movs r3, #0 - 108ae: 4851 ldr r0, [pc, #324] ; (109f4 ) - 108b0: 4951 ldr r1, [pc, #324] ; (109f8 ) - 108b2: 4788 blx r1 - 108b4: e7fe b.n 108b4 + 102f2: 4b53 ldr r3, [pc, #332] ; (10440 ) + 102f4: 9300 str r3, [sp, #0] + 102f6: 2272 movs r2, #114 ; 0x72 + 102f8: 4952 ldr r1, [pc, #328] ; (10444 ) + 102fa: 2003 movs r0, #3 + 102fc: 4c52 ldr r4, [pc, #328] ; (10448 ) + 102fe: 47a0 blx r4 + 10300: f8d9 2000 ldr.w r2, [r9] + 10304: 2300 movs r3, #0 + 10306: 4851 ldr r0, [pc, #324] ; (1044c ) + 10308: 4951 ldr r1, [pc, #324] ; (10450 ) + 1030a: 4788 blx r1 + 1030c: e7fe b.n 1030c bit_mask = 0x3; - 108b6: 2003 movs r0, #3 + 1030e: 2003 movs r0, #3 uint32_t byte_pos = bit_pos >> 3; - 108b8: 08eb lsrs r3, r5, #3 + 10310: 08eb lsrs r3, r5, #3 bit_pos = bit_pos & 0x7; - 108ba: f005 0207 and.w r2, r5, #7 + 10312: f005 0207 and.w r2, r5, #7 if(bit_pos + len >= 8) { - 108be: eb02 0c08 add.w ip, r2, r8 - 108c2: f1bc 0f07 cmp.w ip, #7 - 108c6: d835 bhi.n 10934 + 10316: eb02 0c08 add.w ip, r2, r8 + 1031a: f1bc 0f07 cmp.w ip, #7 + 1031e: d835 bhi.n 1038c return (in[byte_pos] >> (8 - bit_pos - len)) & bit_mask; - 108c8: f817 c003 ldrb.w ip, [r7, r3] - 108cc: 9b0a ldr r3, [sp, #40] ; 0x28 - 108ce: 1a9a subs r2, r3, r2 - 108d0: fa4c f302 asr.w r3, ip, r2 - 108d4: 4003 ands r3, r0 + 10320: f817 c003 ldrb.w ip, [r7, r3] + 10324: 9b0a ldr r3, [sp, #40] ; 0x28 + 10326: 1a9a subs r2, r3, r2 + 10328: fa4c f302 asr.w r3, ip, r2 + 1032c: 4003 ands r3, r0 if(rle_rdp != 0 && rle_prev_v == ret) { - 108d6: b115 cbz r5, 108de - 108d8: 9a03 ldr r2, [sp, #12] - 108da: 4293 cmp r3, r2 - 108dc: d038 beq.n 10950 + 1032e: b115 cbz r5, 10336 + 10330: 9a03 ldr r2, [sp, #12] + 10332: 4293 cmp r3, r2 + 10334: d038 beq.n 103a8 rle_rdp += rle_bpp; - 108de: 4445 add r5, r8 + 10336: 4445 add r5, r8 rle_prev_v = ret; - 108e0: 9303 str r3, [sp, #12] + 10338: 9303 str r3, [sp, #12] rle_rdp += rle_bpp; - 108e2: 2201 movs r2, #1 - 108e4: 9804 ldr r0, [sp, #16] - 108e6: 9006 str r0, [sp, #24] + 1033a: 2201 movs r2, #1 + 1033c: 9804 ldr r0, [sp, #16] + 1033e: 9006 str r0, [sp, #24] out[i] = rle_next(); - 108e8: f806 3f01 strb.w r3, [r6, #1]! + 10340: f806 3f01 strb.w r3, [r6, #1]! for(i = 0; i < w; i++) { - 108ec: 455e cmp r6, fp - 108ee: f000 814e beq.w 10b8e + 10344: 455e cmp r6, fp + 10346: f000 814e beq.w 105e6 if(rle_state == RLE_STATE_SINGLE) { - 108f2: bba1 cbnz r1, 1095e + 1034a: bba1 cbnz r1, 103b6 switch(len) { - 108f4: f1ba 0f07 cmp.w sl, #7 - 108f8: d818 bhi.n 1092c - 108fa: a301 add r3, pc, #4 ; (adr r3, 10900 ) - 108fc: f853 f02a ldr.w pc, [r3, sl, lsl #2] - 10900: 00010931 .word 0x00010931 - 10904: 000108b7 .word 0x000108b7 - 10908: 00010921 .word 0x00010921 - 1090c: 00010925 .word 0x00010925 - 10910: 0001092d .word 0x0001092d - 10914: 0001092d .word 0x0001092d - 10918: 0001092d .word 0x0001092d - 1091c: 00010929 .word 0x00010929 + 1034c: f1ba 0f07 cmp.w sl, #7 + 10350: d818 bhi.n 10384 + 10352: a301 add r3, pc, #4 ; (adr r3, 10358 ) + 10354: f853 f02a ldr.w pc, [r3, sl, lsl #2] + 10358: 00010389 .word 0x00010389 + 1035c: 0001030f .word 0x0001030f + 10360: 00010379 .word 0x00010379 + 10364: 0001037d .word 0x0001037d + 10368: 00010385 .word 0x00010385 + 1036c: 00010385 .word 0x00010385 + 10370: 00010385 .word 0x00010385 + 10374: 00010381 .word 0x00010381 bit_mask = 0x7; - 10920: 2007 movs r0, #7 - 10922: e7c9 b.n 108b8 + 10378: 2007 movs r0, #7 + 1037a: e7c9 b.n 10310 bit_mask = 0xF; - 10924: 200f movs r0, #15 - 10926: e7c7 b.n 108b8 + 1037c: 200f movs r0, #15 + 1037e: e7c7 b.n 10310 bit_mask = 0xFF; - 10928: 20ff movs r0, #255 ; 0xff - 1092a: e7c5 b.n 108b8 + 10380: 20ff movs r0, #255 ; 0xff + 10382: e7c5 b.n 10310 bit_mask = (uint16_t)((uint16_t) 1 << len) - 1; - 1092c: 980b ldr r0, [sp, #44] ; 0x2c - 1092e: e7c3 b.n 108b8 + 10384: 980b ldr r0, [sp, #44] ; 0x2c + 10386: e7c3 b.n 10310 bit_mask = 0x1; - 10930: 2001 movs r0, #1 - 10932: e7c1 b.n 108b8 + 10388: 2001 movs r0, #1 + 1038a: e7c1 b.n 10310 uint16_t in16 = (in[byte_pos] << 8) + in[byte_pos + 1]; - 10934: f817 c003 ldrb.w ip, [r7, r3] - 10938: 443b add r3, r7 - 1093a: 785b ldrb r3, [r3, #1] - 1093c: eb03 230c add.w r3, r3, ip, lsl #8 + 1038c: f817 c003 ldrb.w ip, [r7, r3] + 10390: 443b add r3, r7 + 10392: 785b ldrb r3, [r3, #1] + 10394: eb03 230c add.w r3, r3, ip, lsl #8 return (in16 >> (16 - bit_pos - len)) & bit_mask; - 10940: fa1f fc83 uxth.w ip, r3 - 10944: 9b09 ldr r3, [sp, #36] ; 0x24 - 10946: 1a9a subs r2, r3, r2 - 10948: fa4c f302 asr.w r3, ip, r2 - 1094c: 4003 ands r3, r0 - 1094e: e7c2 b.n 108d6 + 10398: fa1f fc83 uxth.w ip, r3 + 1039c: 9b09 ldr r3, [sp, #36] ; 0x24 + 1039e: 1a9a subs r2, r3, r2 + 103a0: fa4c f302 asr.w r3, ip, r2 + 103a4: 4003 ands r3, r0 + 103a6: e7c2 b.n 1032e if(rle_rdp != 0 && rle_prev_v == ret) { - 10950: 2201 movs r2, #1 - 10952: 9205 str r2, [sp, #20] + 103a8: 2201 movs r2, #1 + 103aa: 9205 str r2, [sp, #20] rle_cnt = 0; - 10954: 2400 movs r4, #0 + 103ac: 2400 movs r4, #0 if(rle_rdp != 0 && rle_prev_v == ret) { - 10956: 9a04 ldr r2, [sp, #16] - 10958: 9207 str r2, [sp, #28] + 103ae: 9a04 ldr r2, [sp, #16] + 103b0: 9207 str r2, [sp, #28] rle_state = RLE_STATE_REPEATE; - 1095a: 4611 mov r1, r2 - 1095c: e7bf b.n 108de + 103b2: 4611 mov r1, r2 + 103b4: e7bf b.n 10336 else if(rle_state == RLE_STATE_REPEATE) { - 1095e: 2901 cmp r1, #1 - 10960: d004 beq.n 1096c + 103b6: 2901 cmp r1, #1 + 103b8: d004 beq.n 103c4 else if(rle_state == RLE_STATE_COUNTER) { - 10962: 2902 cmp r1, #2 - 10964: f000 80cd beq.w 10b02 + 103ba: 2902 cmp r1, #2 + 103bc: f000 80cd beq.w 1055a uint8_t ret = 0; - 10968: 2300 movs r3, #0 - 1096a: e7bd b.n 108e8 + 103c0: 2300 movs r3, #0 + 103c2: e7bd b.n 10340 uint32_t byte_pos = bit_pos >> 3; - 1096c: 08eb lsrs r3, r5, #3 + 103c4: 08eb lsrs r3, r5, #3 bit_pos = bit_pos & 0x7; - 1096e: f005 0207 and.w r2, r5, #7 + 103c6: f005 0207 and.w r2, r5, #7 if(bit_pos + len >= 8) { - 10972: f102 0c01 add.w ip, r2, #1 - 10976: f1bc 0f07 cmp.w ip, #7 - 1097a: d813 bhi.n 109a4 + 103ca: f102 0c01 add.w ip, r2, #1 + 103ce: f1bc 0f07 cmp.w ip, #7 + 103d2: d813 bhi.n 103fc return (in[byte_pos] >> (8 - bit_pos - len)) & bit_mask; - 1097c: 5cfb ldrb r3, [r7, r3] - 1097e: 43d2 mvns r2, r2 - 10980: 3208 adds r2, #8 - 10982: 4113 asrs r3, r2 - 10984: f003 0301 and.w r3, r3, #1 + 103d4: 5cfb ldrb r3, [r7, r3] + 103d6: 43d2 mvns r2, r2 + 103d8: 3208 adds r2, #8 + 103da: 4113 asrs r3, r2 + 103dc: f003 0301 and.w r3, r3, #1 rle_cnt++; - 10988: 3401 adds r4, #1 - 1098a: b2e4 uxtb r4, r4 + 103e0: 3401 adds r4, #1 + 103e2: b2e4 uxtb r4, r4 rle_rdp += 1; - 1098c: 1c6a adds r2, r5, #1 + 103e4: 1c6a adds r2, r5, #1 if(v == 1) { - 1098e: b9b3 cbnz r3, 109be + 103e6: b9b3 cbnz r3, 10416 switch(len) { - 10990: f1ba 0f07 cmp.w sl, #7 - 10994: f200 80a5 bhi.w 10ae2 - 10998: e8df f00a tbb [pc, sl] - 1099c: 9f9d84a5 .word 0x9f9d84a5 - 109a0: a1a3a3a3 .word 0xa1a3a3a3 + 103e8: f1ba 0f07 cmp.w sl, #7 + 103ec: f200 80a5 bhi.w 1053a + 103f0: e8df f00a tbb [pc, sl] + 103f4: 9f9d84a5 .word 0x9f9d84a5 + 103f8: a1a3a3a3 .word 0xa1a3a3a3 uint16_t in16 = (in[byte_pos] << 8) + in[byte_pos + 1]; - 109a4: f817 c003 ldrb.w ip, [r7, r3] - 109a8: 443b add r3, r7 - 109aa: 785b ldrb r3, [r3, #1] - 109ac: eb03 230c add.w r3, r3, ip, lsl #8 + 103fc: f817 c003 ldrb.w ip, [r7, r3] + 10400: 443b add r3, r7 + 10402: 785b ldrb r3, [r3, #1] + 10404: eb03 230c add.w r3, r3, ip, lsl #8 return (in16 >> (16 - bit_pos - len)) & bit_mask; - 109b0: b29b uxth r3, r3 - 109b2: 43d2 mvns r2, r2 - 109b4: 3210 adds r2, #16 - 109b6: 4113 asrs r3, r2 - 109b8: f003 0301 and.w r3, r3, #1 - 109bc: e7e4 b.n 10988 + 10408: b29b uxth r3, r3 + 1040a: 43d2 mvns r2, r2 + 1040c: 3210 adds r2, #16 + 1040e: 4113 asrs r3, r2 + 10410: f003 0301 and.w r3, r3, #1 + 10414: e7e4 b.n 103e0 if(rle_cnt == 11) { - 109be: 2c0b cmp r4, #11 - 109c0: d01c beq.n 109fc + 10416: 2c0b cmp r4, #11 + 10418: d01c beq.n 10454 rle_rdp += 1; - 109c2: 4615 mov r5, r2 + 1041a: 4615 mov r5, r2 ret = rle_prev_v; - 109c4: 9b03 ldr r3, [sp, #12] + 1041c: 9b03 ldr r3, [sp, #12] if(rle_cnt == 11) { - 109c6: 2201 movs r2, #1 - 109c8: 9205 str r2, [sp, #20] - 109ca: 9a04 ldr r2, [sp, #16] - 109cc: e78c b.n 108e8 - 109ce: bf00 nop - 109d0: 00010655 .word 0x00010655 - 109d4: 20002b5c .word 0x20002b5c - 109d8: 00012af9 .word 0x00012af9 - 109dc: 00012e41 .word 0x00012e41 - 109e0: 0000298d .word 0x0000298d - 109e4: 00012ee5 .word 0x00012ee5 - 109e8: 0001c9a8 .word 0x0001c9a8 - 109ec: 0001c9c4 .word 0x0001c9c4 - 109f0: 00012805 .word 0x00012805 - 109f4: 0001b4bc .word 0x0001b4bc - 109f8: 00002995 .word 0x00002995 + 1041e: 2201 movs r2, #1 + 10420: 9205 str r2, [sp, #20] + 10422: 9a04 ldr r2, [sp, #16] + 10424: e78c b.n 10340 + 10426: bf00 nop + 10428: 000100ad .word 0x000100ad + 1042c: 20002b5c .word 0x20002b5c + 10430: 00012551 .word 0x00012551 + 10434: 00012899 .word 0x00012899 + 10438: 000022b1 .word 0x000022b1 + 1043c: 0001293d .word 0x0001293d + 10440: 000254c4 .word 0x000254c4 + 10444: 000254e0 .word 0x000254e0 + 10448: 0001225d .word 0x0001225d + 1044c: 00023fd8 .word 0x00023fd8 + 10450: 000022b9 .word 0x000022b9 uint32_t byte_pos = bit_pos >> 3; - 109fc: 08d3 lsrs r3, r2, #3 + 10454: 08d3 lsrs r3, r2, #3 bit_pos = bit_pos & 0x7; - 109fe: f002 0207 and.w r2, r2, #7 + 10456: f002 0207 and.w r2, r2, #7 if(bit_pos + len >= 8) { - 10a02: 1d91 adds r1, r2, #6 - 10a04: 2907 cmp r1, #7 - 10a06: d813 bhi.n 10a30 + 1045a: 1d91 adds r1, r2, #6 + 1045c: 2907 cmp r1, #7 + 1045e: d813 bhi.n 10488 return (in[byte_pos] >> (8 - bit_pos - len)) & bit_mask; - 10a08: 5cfc ldrb r4, [r7, r3] - 10a0a: f1c2 0202 rsb r2, r2, #2 - 10a0e: fa44 f202 asr.w r2, r4, r2 - 10a12: f002 043f and.w r4, r2, #63 ; 0x3f + 10460: 5cfc ldrb r4, [r7, r3] + 10462: f1c2 0202 rsb r2, r2, #2 + 10466: fa44 f202 asr.w r2, r4, r2 + 1046a: f002 043f and.w r4, r2, #63 ; 0x3f rle_rdp += 6; - 10a16: 3507 adds r5, #7 + 1046e: 3507 adds r5, #7 if(rle_cnt != 0) { - 10a18: 2c00 cmp r4, #0 - 10a1a: f040 80ad bne.w 10b78 + 10470: 2c00 cmp r4, #0 + 10472: f040 80ad bne.w 105d0 switch(len) { - 10a1e: f1ba 0f07 cmp.w sl, #7 - 10a22: d826 bhi.n 10a72 - 10a24: e8df f00a tbb [pc, sl] - 10a28: 211f1027 .word 0x211f1027 - 10a2c: 23252525 .word 0x23252525 + 10476: f1ba 0f07 cmp.w sl, #7 + 1047a: d826 bhi.n 104ca + 1047c: e8df f00a tbb [pc, sl] + 10480: 211f1027 .word 0x211f1027 + 10484: 23252525 .word 0x23252525 uint16_t in16 = (in[byte_pos] << 8) + in[byte_pos + 1]; - 10a30: 5cf9 ldrb r1, [r7, r3] - 10a32: 443b add r3, r7 - 10a34: 785c ldrb r4, [r3, #1] - 10a36: eb04 2401 add.w r4, r4, r1, lsl #8 + 10488: 5cf9 ldrb r1, [r7, r3] + 1048a: 443b add r3, r7 + 1048c: 785c ldrb r4, [r3, #1] + 1048e: eb04 2401 add.w r4, r4, r1, lsl #8 return (in16 >> (16 - bit_pos - len)) & bit_mask; - 10a3a: b2a4 uxth r4, r4 - 10a3c: f1c2 020a rsb r2, r2, #10 - 10a40: 4114 asrs r4, r2 - 10a42: f004 043f and.w r4, r4, #63 ; 0x3f - 10a46: e7e6 b.n 10a16 + 10492: b2a4 uxth r4, r4 + 10494: f1c2 020a rsb r2, r2, #10 + 10498: 4114 asrs r4, r2 + 1049a: f004 043f and.w r4, r4, #63 ; 0x3f + 1049e: e7e6 b.n 1046e bit_mask = 0x3; - 10a48: 2003 movs r0, #3 + 104a0: 2003 movs r0, #3 uint32_t byte_pos = bit_pos >> 3; - 10a4a: 08ea lsrs r2, r5, #3 + 104a2: 08ea lsrs r2, r5, #3 bit_pos = bit_pos & 0x7; - 10a4c: f005 0307 and.w r3, r5, #7 + 104a4: f005 0307 and.w r3, r5, #7 if(bit_pos + len >= 8) { - 10a50: eb03 0108 add.w r1, r3, r8 - 10a54: 2907 cmp r1, #7 - 10a56: d810 bhi.n 10a7a + 104a8: eb03 0108 add.w r1, r3, r8 + 104ac: 2907 cmp r1, #7 + 104ae: d810 bhi.n 104d2 return (in[byte_pos] >> (8 - bit_pos - len)) & bit_mask; - 10a58: 5cba ldrb r2, [r7, r2] - 10a5a: 990a ldr r1, [sp, #40] ; 0x28 - 10a5c: 1acb subs r3, r1, r3 - 10a5e: fa42 f303 asr.w r3, r2, r3 - 10a62: 4003 ands r3, r0 - 10a64: e014 b.n 10a90 + 104b0: 5cba ldrb r2, [r7, r2] + 104b2: 990a ldr r1, [sp, #40] ; 0x28 + 104b4: 1acb subs r3, r1, r3 + 104b6: fa42 f303 asr.w r3, r2, r3 + 104ba: 4003 ands r3, r0 + 104bc: e014 b.n 104e8 bit_mask = 0x7; - 10a66: 2007 movs r0, #7 - 10a68: e7ef b.n 10a4a + 104be: 2007 movs r0, #7 + 104c0: e7ef b.n 104a2 bit_mask = 0xF; - 10a6a: 200f movs r0, #15 - 10a6c: e7ed b.n 10a4a + 104c2: 200f movs r0, #15 + 104c4: e7ed b.n 104a2 bit_mask = 0xFF; - 10a6e: 20ff movs r0, #255 ; 0xff - 10a70: e7eb b.n 10a4a + 104c6: 20ff movs r0, #255 ; 0xff + 104c8: e7eb b.n 104a2 bit_mask = (uint16_t)((uint16_t) 1 << len) - 1; - 10a72: 980b ldr r0, [sp, #44] ; 0x2c - 10a74: e7e9 b.n 10a4a + 104ca: 980b ldr r0, [sp, #44] ; 0x2c + 104cc: e7e9 b.n 104a2 bit_mask = 0x1; - 10a76: 2001 movs r0, #1 - 10a78: e7e7 b.n 10a4a + 104ce: 2001 movs r0, #1 + 104d0: e7e7 b.n 104a2 uint16_t in16 = (in[byte_pos] << 8) + in[byte_pos + 1]; - 10a7a: 5cb9 ldrb r1, [r7, r2] - 10a7c: 443a add r2, r7 - 10a7e: 7852 ldrb r2, [r2, #1] - 10a80: eb02 2201 add.w r2, r2, r1, lsl #8 + 104d2: 5cb9 ldrb r1, [r7, r2] + 104d4: 443a add r2, r7 + 104d6: 7852 ldrb r2, [r2, #1] + 104d8: eb02 2201 add.w r2, r2, r1, lsl #8 return (in16 >> (16 - bit_pos - len)) & bit_mask; - 10a84: b292 uxth r2, r2 - 10a86: 9909 ldr r1, [sp, #36] ; 0x24 - 10a88: 1acb subs r3, r1, r3 - 10a8a: fa42 f303 asr.w r3, r2, r3 - 10a8e: 4003 ands r3, r0 + 104dc: b292 uxth r2, r2 + 104de: 9909 ldr r1, [sp, #36] ; 0x24 + 104e0: 1acb subs r3, r1, r3 + 104e2: fa42 f303 asr.w r3, r2, r3 + 104e6: 4003 ands r3, r0 rle_rdp += rle_bpp; - 10a90: 4445 add r5, r8 + 104e8: 4445 add r5, r8 rle_prev_v = ret; - 10a92: 9303 str r3, [sp, #12] + 104ea: 9303 str r3, [sp, #12] rle_rdp += rle_bpp; - 10a94: 2201 movs r2, #1 - 10a96: 9205 str r2, [sp, #20] - 10a98: 9804 ldr r0, [sp, #16] - 10a9a: 4602 mov r2, r0 - 10a9c: 9007 str r0, [sp, #28] + 104ec: 2201 movs r2, #1 + 104ee: 9205 str r2, [sp, #20] + 104f0: 9804 ldr r0, [sp, #16] + 104f2: 4602 mov r2, r0 + 104f4: 9007 str r0, [sp, #28] rle_state = RLE_STATE_SINGLE; - 10a9e: 2100 movs r1, #0 + 104f6: 2100 movs r1, #0 rle_rdp += rle_bpp; - 10aa0: 9006 str r0, [sp, #24] - 10aa2: e721 b.n 108e8 + 104f8: 9006 str r0, [sp, #24] + 104fa: e721 b.n 10340 bit_mask = 0x3; - 10aa4: 2003 movs r0, #3 + 104fc: 2003 movs r0, #3 uint32_t byte_pos = bit_pos >> 3; - 10aa6: 08d1 lsrs r1, r2, #3 + 104fe: 08d1 lsrs r1, r2, #3 bit_pos = bit_pos & 0x7; - 10aa8: f002 0307 and.w r3, r2, #7 + 10500: f002 0307 and.w r3, r2, #7 if(bit_pos + len >= 8) { - 10aac: eb03 0508 add.w r5, r3, r8 - 10ab0: 2d07 cmp r5, #7 - 10ab2: d81a bhi.n 10aea + 10504: eb03 0508 add.w r5, r3, r8 + 10508: 2d07 cmp r5, #7 + 1050a: d81a bhi.n 10542 return (in[byte_pos] >> (8 - bit_pos - len)) & bit_mask; - 10ab4: 5c79 ldrb r1, [r7, r1] - 10ab6: 9d0a ldr r5, [sp, #40] ; 0x28 - 10ab8: 1aeb subs r3, r5, r3 - 10aba: fa41 f303 asr.w r3, r1, r3 - 10abe: 4003 ands r3, r0 + 1050c: 5c79 ldrb r1, [r7, r1] + 1050e: 9d0a ldr r5, [sp, #40] ; 0x28 + 10510: 1aeb subs r3, r5, r3 + 10512: fa41 f303 asr.w r3, r1, r3 + 10516: 4003 ands r3, r0 rle_rdp += rle_bpp; - 10ac0: eb02 0508 add.w r5, r2, r8 + 10518: eb02 0508 add.w r5, r2, r8 rle_prev_v = ret; - 10ac4: 9303 str r3, [sp, #12] + 1051c: 9303 str r3, [sp, #12] rle_rdp += rle_bpp; - 10ac6: 2201 movs r2, #1 - 10ac8: 9205 str r2, [sp, #20] - 10aca: 9804 ldr r0, [sp, #16] - 10acc: 4602 mov r2, r0 - 10ace: 9007 str r0, [sp, #28] + 1051e: 2201 movs r2, #1 + 10520: 9205 str r2, [sp, #20] + 10522: 9804 ldr r0, [sp, #16] + 10524: 4602 mov r2, r0 + 10526: 9007 str r0, [sp, #28] rle_state = RLE_STATE_SINGLE; - 10ad0: 2100 movs r1, #0 + 10528: 2100 movs r1, #0 rle_rdp += rle_bpp; - 10ad2: 9006 str r0, [sp, #24] - 10ad4: e708 b.n 108e8 + 1052a: 9006 str r0, [sp, #24] + 1052c: e708 b.n 10340 bit_mask = 0x7; - 10ad6: 2007 movs r0, #7 - 10ad8: e7e5 b.n 10aa6 + 1052e: 2007 movs r0, #7 + 10530: e7e5 b.n 104fe bit_mask = 0xF; - 10ada: 200f movs r0, #15 - 10adc: e7e3 b.n 10aa6 + 10532: 200f movs r0, #15 + 10534: e7e3 b.n 104fe bit_mask = 0xFF; - 10ade: 20ff movs r0, #255 ; 0xff - 10ae0: e7e1 b.n 10aa6 + 10536: 20ff movs r0, #255 ; 0xff + 10538: e7e1 b.n 104fe bit_mask = (uint16_t)((uint16_t) 1 << len) - 1; - 10ae2: 980b ldr r0, [sp, #44] ; 0x2c - 10ae4: e7df b.n 10aa6 + 1053a: 980b ldr r0, [sp, #44] ; 0x2c + 1053c: e7df b.n 104fe bit_mask = 0x1; - 10ae6: 2001 movs r0, #1 - 10ae8: e7dd b.n 10aa6 + 1053e: 2001 movs r0, #1 + 10540: e7dd b.n 104fe uint16_t in16 = (in[byte_pos] << 8) + in[byte_pos + 1]; - 10aea: 5c7d ldrb r5, [r7, r1] - 10aec: 4439 add r1, r7 - 10aee: 7849 ldrb r1, [r1, #1] - 10af0: eb01 2105 add.w r1, r1, r5, lsl #8 + 10542: 5c7d ldrb r5, [r7, r1] + 10544: 4439 add r1, r7 + 10546: 7849 ldrb r1, [r1, #1] + 10548: eb01 2105 add.w r1, r1, r5, lsl #8 return (in16 >> (16 - bit_pos - len)) & bit_mask; - 10af4: b289 uxth r1, r1 - 10af6: 9d09 ldr r5, [sp, #36] ; 0x24 - 10af8: 1aeb subs r3, r5, r3 - 10afa: fa41 f303 asr.w r3, r1, r3 - 10afe: 4003 ands r3, r0 - 10b00: e7de b.n 10ac0 + 1054c: b289 uxth r1, r1 + 1054e: 9d09 ldr r5, [sp, #36] ; 0x24 + 10550: 1aeb subs r3, r5, r3 + 10552: fa41 f303 asr.w r3, r1, r3 + 10556: 4003 ands r3, r0 + 10558: e7de b.n 10518 rle_cnt--; - 10b02: 3c01 subs r4, #1 + 1055a: 3c01 subs r4, #1 if(rle_cnt == 0) { - 10b04: f014 04ff ands.w r4, r4, #255 ; 0xff - 10b08: d13d bne.n 10b86 + 1055c: f014 04ff ands.w r4, r4, #255 ; 0xff + 10560: d13d bne.n 105de switch(len) { - 10b0a: f1ba 0f07 cmp.w sl, #7 - 10b0e: d823 bhi.n 10b58 - 10b10: e8df f00a tbb [pc, sl] - 10b14: 1e1c0424 .word 0x1e1c0424 - 10b18: 20222222 .word 0x20222222 + 10562: f1ba 0f07 cmp.w sl, #7 + 10566: d823 bhi.n 105b0 + 10568: e8df f00a tbb [pc, sl] + 1056c: 1e1c0424 .word 0x1e1c0424 + 10570: 20222222 .word 0x20222222 bit_mask = 0x3; - 10b1c: 2003 movs r0, #3 + 10574: 2003 movs r0, #3 uint32_t byte_pos = bit_pos >> 3; - 10b1e: 08ea lsrs r2, r5, #3 + 10576: 08ea lsrs r2, r5, #3 bit_pos = bit_pos & 0x7; - 10b20: f005 0307 and.w r3, r5, #7 + 10578: f005 0307 and.w r3, r5, #7 if(bit_pos + len >= 8) { - 10b24: eb03 0108 add.w r1, r3, r8 - 10b28: 2907 cmp r1, #7 - 10b2a: d819 bhi.n 10b60 + 1057c: eb03 0108 add.w r1, r3, r8 + 10580: 2907 cmp r1, #7 + 10582: d819 bhi.n 105b8 return (in[byte_pos] >> (8 - bit_pos - len)) & bit_mask; - 10b2c: 5cba ldrb r2, [r7, r2] - 10b2e: 990a ldr r1, [sp, #40] ; 0x28 - 10b30: 1acb subs r3, r1, r3 - 10b32: fa42 f303 asr.w r3, r2, r3 - 10b36: 4003 ands r3, r0 + 10584: 5cba ldrb r2, [r7, r2] + 10586: 990a ldr r1, [sp, #40] ; 0x28 + 10588: 1acb subs r3, r1, r3 + 1058a: fa42 f303 asr.w r3, r2, r3 + 1058e: 4003 ands r3, r0 rle_rdp += rle_bpp; - 10b38: 4445 add r5, r8 + 10590: 4445 add r5, r8 rle_prev_v = ret; - 10b3a: 9303 str r3, [sp, #12] + 10592: 9303 str r3, [sp, #12] rle_rdp += rle_bpp; - 10b3c: 2201 movs r2, #1 - 10b3e: 9205 str r2, [sp, #20] - 10b40: 9804 ldr r0, [sp, #16] - 10b42: 4602 mov r2, r0 - 10b44: 9007 str r0, [sp, #28] + 10594: 2201 movs r2, #1 + 10596: 9205 str r2, [sp, #20] + 10598: 9804 ldr r0, [sp, #16] + 1059a: 4602 mov r2, r0 + 1059c: 9007 str r0, [sp, #28] rle_state = RLE_STATE_SINGLE; - 10b46: 2100 movs r1, #0 + 1059e: 2100 movs r1, #0 rle_rdp += rle_bpp; - 10b48: 9006 str r0, [sp, #24] - 10b4a: e6cd b.n 108e8 + 105a0: 9006 str r0, [sp, #24] + 105a2: e6cd b.n 10340 bit_mask = 0x7; - 10b4c: 2007 movs r0, #7 - 10b4e: e7e6 b.n 10b1e + 105a4: 2007 movs r0, #7 + 105a6: e7e6 b.n 10576 bit_mask = 0xF; - 10b50: 200f movs r0, #15 - 10b52: e7e4 b.n 10b1e + 105a8: 200f movs r0, #15 + 105aa: e7e4 b.n 10576 bit_mask = 0xFF; - 10b54: 20ff movs r0, #255 ; 0xff - 10b56: e7e2 b.n 10b1e + 105ac: 20ff movs r0, #255 ; 0xff + 105ae: e7e2 b.n 10576 bit_mask = (uint16_t)((uint16_t) 1 << len) - 1; - 10b58: 980b ldr r0, [sp, #44] ; 0x2c - 10b5a: e7e0 b.n 10b1e + 105b0: 980b ldr r0, [sp, #44] ; 0x2c + 105b2: e7e0 b.n 10576 bit_mask = 0x1; - 10b5c: 2001 movs r0, #1 - 10b5e: e7de b.n 10b1e + 105b4: 2001 movs r0, #1 + 105b6: e7de b.n 10576 uint16_t in16 = (in[byte_pos] << 8) + in[byte_pos + 1]; - 10b60: 5cb9 ldrb r1, [r7, r2] - 10b62: 443a add r2, r7 - 10b64: 7852 ldrb r2, [r2, #1] - 10b66: eb02 2201 add.w r2, r2, r1, lsl #8 + 105b8: 5cb9 ldrb r1, [r7, r2] + 105ba: 443a add r2, r7 + 105bc: 7852 ldrb r2, [r2, #1] + 105be: eb02 2201 add.w r2, r2, r1, lsl #8 return (in16 >> (16 - bit_pos - len)) & bit_mask; - 10b6a: b292 uxth r2, r2 - 10b6c: 9909 ldr r1, [sp, #36] ; 0x24 - 10b6e: 1acb subs r3, r1, r3 - 10b70: fa42 f303 asr.w r3, r2, r3 - 10b74: 4003 ands r3, r0 - 10b76: e7df b.n 10b38 + 105c2: b292 uxth r2, r2 + 105c4: 9909 ldr r1, [sp, #36] ; 0x24 + 105c6: 1acb subs r3, r1, r3 + 105c8: fa42 f303 asr.w r3, r2, r3 + 105cc: 4003 ands r3, r0 + 105ce: e7df b.n 10590 ret = rle_prev_v; - 10b78: 9b03 ldr r3, [sp, #12] + 105d0: 9b03 ldr r3, [sp, #12] if(rle_cnt != 0) { - 10b7a: 2201 movs r2, #1 - 10b7c: 9205 str r2, [sp, #20] - 10b7e: 9a04 ldr r2, [sp, #16] - 10b80: 9207 str r2, [sp, #28] + 105d2: 2201 movs r2, #1 + 105d4: 9205 str r2, [sp, #20] + 105d6: 9a04 ldr r2, [sp, #16] + 105d8: 9207 str r2, [sp, #28] rle_state = RLE_STATE_COUNTER; - 10b82: 2102 movs r1, #2 - 10b84: e6b0 b.n 108e8 + 105da: 2102 movs r1, #2 + 105dc: e6b0 b.n 10340 ret = rle_prev_v; - 10b86: 9b03 ldr r3, [sp, #12] + 105de: 9b03 ldr r3, [sp, #12] if(rle_cnt == 0) { - 10b88: 2001 movs r0, #1 - 10b8a: 9005 str r0, [sp, #20] - 10b8c: e6ac b.n 108e8 - 10b8e: 9806 ldr r0, [sp, #24] - 10b90: 468c mov ip, r1 - 10b92: b9c8 cbnz r0, 10bc8 - 10b94: b10a cbz r2, 10b9a - 10b96: 4b9f ldr r3, [pc, #636] ; (10e14 ) - 10b98: 60dd str r5, [r3, #12] - 10b9a: 9b07 ldr r3, [sp, #28] - 10b9c: b113 cbz r3, 10ba4 - 10b9e: 4b9d ldr r3, [pc, #628] ; (10e14 ) - 10ba0: f883 c009 strb.w ip, [r3, #9] - 10ba4: 9b05 ldr r3, [sp, #20] - 10ba6: b10b cbz r3, 10bac - 10ba8: 4b9a ldr r3, [pc, #616] ; (10e14 ) - 10baa: 745c strb r4, [r3, #17] + 105e0: 2001 movs r0, #1 + 105e2: 9005 str r0, [sp, #20] + 105e4: e6ac b.n 10340 + 105e6: 9806 ldr r0, [sp, #24] + 105e8: 468c mov ip, r1 + 105ea: b9c8 cbnz r0, 10620 + 105ec: b10a cbz r2, 105f2 + 105ee: 4b9f ldr r3, [pc, #636] ; (1086c ) + 105f0: 60dd str r5, [r3, #12] + 105f2: 9b07 ldr r3, [sp, #28] + 105f4: b113 cbz r3, 105fc + 105f6: 4b9d ldr r3, [pc, #628] ; (1086c ) + 105f8: f883 c009 strb.w ip, [r3, #9] + 105fc: 9b05 ldr r3, [sp, #20] + 105fe: b10b cbz r3, 10604 + 10600: 4b9a ldr r3, [pc, #616] ; (1086c ) + 10602: 745c strb r4, [r3, #17] rle_rdp += rle_bpp; - 10bac: 2000 movs r0, #0 + 10604: 2000 movs r0, #0 if(len == 3) { - 10bae: 9b0f ldr r3, [sp, #60] ; 0x3c - 10bb0: 9303 str r3, [sp, #12] + 10606: 9b0f ldr r3, [sp, #60] ; 0x3c + 10608: 9303 str r3, [sp, #12] len = 4; - 10bb2: 2704 movs r7, #4 + 1060a: 2704 movs r7, #4 val = 15; - 10bb4: f04f 0c0f mov.w ip, #15 + 1060c: f04f 0c0f mov.w ip, #15 val = 13; - 10bb8: f04f 080d mov.w r8, #13 + 10610: f04f 080d mov.w r8, #13 val = 11; - 10bbc: f04f 0a0b mov.w sl, #11 + 10614: f04f 0a0b mov.w sl, #11 val = 9; - 10bc0: f04f 0b09 mov.w fp, #9 + 10618: f04f 0b09 mov.w fp, #9 val = 4; - 10bc4: 9704 str r7, [sp, #16] - 10bc6: e028 b.n 10c1a - 10bc8: 4b92 ldr r3, [pc, #584] ; (10e14 ) - 10bca: f89d 100c ldrb.w r1, [sp, #12] - 10bce: 7419 strb r1, [r3, #16] - 10bd0: e7e0 b.n 10b94 + 1061c: 9704 str r7, [sp, #16] + 1061e: e028 b.n 10672 + 10620: 4b92 ldr r3, [pc, #584] ; (1086c ) + 10622: f89d 100c ldrb.w r1, [sp, #12] + 10626: 7419 strb r1, [r3, #16] + 10628: e7e0 b.n 105ec switch(val) { - 10bd2: 2907 cmp r1, #7 - 10bd4: d83d bhi.n 10c52 - 10bd6: e8df f001 tbb [pc, r1] - 10bda: 2704 .short 0x2704 - 10bdc: 33302d2a .word 0x33302d2a - 10be0: 3936 .short 0x3936 + 1062a: 2907 cmp r1, #7 + 1062c: d83d bhi.n 106aa + 1062e: e8df f001 tbb [pc, r1] + 10632: 2704 .short 0x2704 + 10634: 33302d2a .word 0x33302d2a + 10638: 3936 .short 0x3936 len = 4; - 10be2: 463d mov r5, r7 + 1063a: 463d mov r5, r7 val = 0; - 10be4: 2100 movs r1, #0 + 1063c: 2100 movs r1, #0 bit_pos = bit_pos & 0x7; - 10be6: f000 0207 and.w r2, r0, #7 - 10bea: f1c2 0208 rsb r2, r2, #8 + 1063e: f000 0207 and.w r2, r0, #7 + 10642: f1c2 0208 rsb r2, r2, #8 bit_pos = 8 - bit_pos - len; - 10bee: 1b52 subs r2, r2, r5 + 10646: 1b52 subs r2, r2, r5 out[byte_pos] &= ((~bit_mask) << bit_pos); - 10bf0: f3c0 04cf ubfx r4, r0, #3, #16 - 10bf4: f04f 33ff mov.w r3, #4294967295 - 10bf8: 40ab lsls r3, r5 - 10bfa: f063 03ff orn r3, r3, #255 ; 0xff - 10bfe: 4093 lsls r3, r2 - 10c00: f819 5004 ldrb.w r5, [r9, r4] - 10c04: 402b ands r3, r5 + 10648: f3c0 04cf ubfx r4, r0, #3, #16 + 1064c: f04f 33ff mov.w r3, #4294967295 + 10650: 40ab lsls r3, r5 + 10652: f063 03ff orn r3, r3, #255 ; 0xff + 10656: 4093 lsls r3, r2 + 10658: f819 5004 ldrb.w r5, [r9, r4] + 1065c: 402b ands r3, r5 out[byte_pos] |= (val << bit_pos); - 10c06: fa01 f202 lsl.w r2, r1, r2 - 10c0a: 4313 orrs r3, r2 - 10c0c: f809 3004 strb.w r3, [r9, r4] + 1065e: fa01 f202 lsl.w r2, r1, r2 + 10662: 4313 orrs r3, r2 + 10664: f809 3004 strb.w r3, [r9, r4] wrp += wr_size; - 10c10: 9a08 ldr r2, [sp, #32] - 10c12: 4613 mov r3, r2 - 10c14: 4410 add r0, r2 + 10668: 9a08 ldr r2, [sp, #32] + 1066a: 4613 mov r3, r2 + 1066c: 4410 add r0, r2 for(x = 0; x < w; x++) { - 10c16: 45b6 cmp lr, r6 - 10c18: d01d beq.n 10c56 + 1066e: 45b6 cmp lr, r6 + 10670: d01d beq.n 106ae bits_write(out, wrp, line_buf1[x], bpp); - 10c1a: f81e 1f01 ldrb.w r1, [lr, #1]! + 10672: f81e 1f01 ldrb.w r1, [lr, #1]! if(len == 3) { - 10c1e: 9b0f ldr r3, [sp, #60] ; 0x3c - 10c20: 2b03 cmp r3, #3 - 10c22: d0d6 beq.n 10bd2 - 10c24: 9d03 ldr r5, [sp, #12] - 10c26: e7de b.n 10be6 + 10676: 9b0f ldr r3, [sp, #60] ; 0x3c + 10678: 2b03 cmp r3, #3 + 1067a: d0d6 beq.n 1062a + 1067c: 9d03 ldr r5, [sp, #12] + 1067e: e7de b.n 1063e len = 4; - 10c28: 463d mov r5, r7 + 10680: 463d mov r5, r7 val = 2; - 10c2a: 2102 movs r1, #2 - 10c2c: e7db b.n 10be6 + 10682: 2102 movs r1, #2 + 10684: e7db b.n 1063e len = 4; - 10c2e: 463d mov r5, r7 + 10686: 463d mov r5, r7 val = 4; - 10c30: 9904 ldr r1, [sp, #16] - 10c32: e7d8 b.n 10be6 + 10688: 9904 ldr r1, [sp, #16] + 1068a: e7d8 b.n 1063e len = 4; - 10c34: 463d mov r5, r7 + 1068c: 463d mov r5, r7 val = 6; - 10c36: 2106 movs r1, #6 - 10c38: e7d5 b.n 10be6 + 1068e: 2106 movs r1, #6 + 10690: e7d5 b.n 1063e len = 4; - 10c3a: 463d mov r5, r7 + 10692: 463d mov r5, r7 val = 9; - 10c3c: 4659 mov r1, fp - 10c3e: e7d2 b.n 10be6 + 10694: 4659 mov r1, fp + 10696: e7d2 b.n 1063e len = 4; - 10c40: 463d mov r5, r7 + 10698: 463d mov r5, r7 val = 11; - 10c42: 4651 mov r1, sl - 10c44: e7cf b.n 10be6 + 1069a: 4651 mov r1, sl + 1069c: e7cf b.n 1063e len = 4; - 10c46: 463d mov r5, r7 + 1069e: 463d mov r5, r7 val = 13; - 10c48: 4641 mov r1, r8 - 10c4a: e7cc b.n 10be6 + 106a0: 4641 mov r1, r8 + 106a2: e7cc b.n 1063e len = 4; - 10c4c: 463d mov r5, r7 + 106a4: 463d mov r5, r7 val = 15; - 10c4e: 4661 mov r1, ip - 10c50: e7c9 b.n 10be6 + 106a6: 4661 mov r1, ip + 106a8: e7c9 b.n 1063e len = 4; - 10c52: 463d mov r5, r7 - 10c54: e7c7 b.n 10be6 - 10c56: 9a0d ldr r2, [sp, #52] ; 0x34 - 10c58: fb02 3303 mla r3, r2, r3, r3 - 10c5c: 930e str r3, [sp, #56] ; 0x38 + 106aa: 463d mov r5, r7 + 106ac: e7c7 b.n 1063e + 106ae: 9a0d ldr r2, [sp, #52] ; 0x34 + 106b0: fb02 3303 mla r3, r2, r3, r3 + 106b4: 930e str r3, [sp, #56] ; 0x38 for(y = 1; y < h; y++) { - 10c5e: 9b15 ldr r3, [sp, #84] ; 0x54 - 10c60: 2b01 cmp r3, #1 - 10c62: f340 8255 ble.w 11110 + 106b6: 9b15 ldr r3, [sp, #84] ; 0x54 + 106b8: 2b01 cmp r3, #1 + 106ba: f340 8255 ble.w 10b68 ret = get_bits(rle_in, rle_rdp, rle_bpp); - 10c66: 4b6b ldr r3, [pc, #428] ; (10e14 ) - 10c68: f8d3 8004 ldr.w r8, [r3, #4] - 10c6c: 7a1a ldrb r2, [r3, #8] - 10c6e: 4610 mov r0, r2 - 10c70: 9219 str r2, [sp, #100] ; 0x64 + 106be: 4b6b ldr r3, [pc, #428] ; (1086c ) + 106c0: f8d3 8004 ldr.w r8, [r3, #4] + 106c4: 7a1a ldrb r2, [r3, #8] + 106c6: 4610 mov r0, r2 + 106c8: 9219 str r2, [sp, #100] ; 0x64 bit_mask = (uint16_t)((uint16_t) 1 << len) - 1; - 10c72: 2201 movs r2, #1 - 10c74: fa02 f100 lsl.w r1, r2, r0 - 10c78: 3901 subs r1, #1 - 10c7a: b2c9 uxtb r1, r1 - 10c7c: 911b str r1, [sp, #108] ; 0x6c + 106ca: 2201 movs r2, #1 + 106cc: fa02 f100 lsl.w r1, r2, r0 + 106d0: 3901 subs r1, #1 + 106d2: b2c9 uxtb r1, r1 + 106d4: 911b str r1, [sp, #108] ; 0x6c if(bit_pos + len >= 8) { - 10c7e: 4601 mov r1, r0 - 10c80: 4682 mov sl, r0 - 10c82: 7c58 ldrb r0, [r3, #17] - 10c84: 9007 str r0, [sp, #28] - 10c86: f1c1 0108 rsb r1, r1, #8 - 10c8a: 910b str r1, [sp, #44] ; 0x2c - 10c8c: f1ca 0110 rsb r1, sl, #16 - 10c90: 910d str r1, [sp, #52] ; 0x34 - 10c92: 7c19 ldrb r1, [r3, #16] - 10c94: 9103 str r1, [sp, #12] - 10c96: f8d3 c00c ldr.w ip, [r3, #12] - 10c9a: f893 b009 ldrb.w fp, [r3, #9] - 10c9e: 9908 ldr r1, [sp, #32] - 10ca0: 9112 str r1, [sp, #72] ; 0x48 - 10ca2: 9b0c ldr r3, [sp, #48] ; 0x30 - 10ca4: 3b01 subs r3, #1 - 10ca6: b29b uxth r3, r3 - 10ca8: fb01 f103 mul.w r1, r1, r3 - 10cac: 911a str r1, [sp, #104] ; 0x68 - 10cae: 2100 movs r1, #0 - 10cb0: 910a str r1, [sp, #40] ; 0x28 - 10cb2: 910c str r1, [sp, #48] ; 0x30 - 10cb4: 9106 str r1, [sp, #24] - 10cb6: 9108 str r1, [sp, #32] - 10cb8: 9210 str r2, [sp, #64] ; 0x40 - 10cba: 9a17 ldr r2, [sp, #92] ; 0x5c - 10cbc: 18d3 adds r3, r2, r3 - 10cbe: 931c str r3, [sp, #112] ; 0x70 + 106d6: 4601 mov r1, r0 + 106d8: 4682 mov sl, r0 + 106da: 7c58 ldrb r0, [r3, #17] + 106dc: 9007 str r0, [sp, #28] + 106de: f1c1 0108 rsb r1, r1, #8 + 106e2: 910b str r1, [sp, #44] ; 0x2c + 106e4: f1ca 0110 rsb r1, sl, #16 + 106e8: 910d str r1, [sp, #52] ; 0x34 + 106ea: 7c19 ldrb r1, [r3, #16] + 106ec: 9103 str r1, [sp, #12] + 106ee: f8d3 c00c ldr.w ip, [r3, #12] + 106f2: f893 b009 ldrb.w fp, [r3, #9] + 106f6: 9908 ldr r1, [sp, #32] + 106f8: 9112 str r1, [sp, #72] ; 0x48 + 106fa: 9b0c ldr r3, [sp, #48] ; 0x30 + 106fc: 3b01 subs r3, #1 + 106fe: b29b uxth r3, r3 + 10700: fb01 f103 mul.w r1, r1, r3 + 10704: 911a str r1, [sp, #104] ; 0x68 + 10706: 2100 movs r1, #0 + 10708: 910a str r1, [sp, #40] ; 0x28 + 1070a: 910c str r1, [sp, #48] ; 0x30 + 1070c: 9106 str r1, [sp, #24] + 1070e: 9108 str r1, [sp, #32] + 10710: 9210 str r2, [sp, #64] ; 0x40 + 10712: 9a17 ldr r2, [sp, #92] ; 0x5c + 10714: 18d3 adds r3, r2, r3 + 10716: 931c str r3, [sp, #112] ; 0x70 rle_rdp += rle_bpp; - 10cc0: 2301 movs r3, #1 - 10cc2: 9304 str r3, [sp, #16] + 10718: 2301 movs r3, #1 + 1071a: 9304 str r3, [sp, #16] if(len == 3) { - 10cc4: 9a0f ldr r2, [sp, #60] ; 0x3c - 10cc6: 9209 str r2, [sp, #36] ; 0x24 + 1071c: 9a0f ldr r2, [sp, #60] ; 0x3c + 1071e: 9209 str r2, [sp, #36] ; 0x24 val = 4; - 10cc8: 2204 movs r2, #4 - 10cca: 921d str r2, [sp, #116] ; 0x74 + 10720: 2204 movs r2, #4 + 10722: 921d str r2, [sp, #116] ; 0x74 rle_rdp += rle_bpp; - 10ccc: 9305 str r3, [sp, #20] - 10cce: 4666 mov r6, ip - 10cd0: e1f5 b.n 110be + 10724: 9305 str r3, [sp, #20] + 10726: 4666 mov r6, ip + 10728: e1f5 b.n 10b16 for(i = 0; i < w; i++) { - 10cd2: 2300 movs r3, #0 - 10cd4: 930e str r3, [sp, #56] ; 0x38 - 10cd6: e7c2 b.n 10c5e + 1072a: 2300 movs r3, #0 + 1072c: 930e str r3, [sp, #56] ; 0x38 + 1072e: e7c2 b.n 106b6 bit_mask = 0x3; - 10cd8: f04f 0903 mov.w r9, #3 - 10cdc: e00c b.n 10cf8 + 10730: f04f 0903 mov.w r9, #3 + 10734: e00c b.n 10750 bit_mask = 0x7; - 10cde: f04f 0907 mov.w r9, #7 - 10ce2: e009 b.n 10cf8 + 10736: f04f 0907 mov.w r9, #7 + 1073a: e009 b.n 10750 bit_mask = 0xF; - 10ce4: f04f 090f mov.w r9, #15 - 10ce8: e006 b.n 10cf8 + 1073c: f04f 090f mov.w r9, #15 + 10740: e006 b.n 10750 bit_mask = 0xFF; - 10cea: 46e1 mov r9, ip - 10cec: e004 b.n 10cf8 + 10742: 46e1 mov r9, ip + 10744: e004 b.n 10750 bit_mask = (uint16_t)((uint16_t) 1 << len) - 1; - 10cee: f8dd 9044 ldr.w r9, [sp, #68] ; 0x44 - 10cf2: e001 b.n 10cf8 + 10746: f8dd 9044 ldr.w r9, [sp, #68] ; 0x44 + 1074a: e001 b.n 10750 bit_mask = 0x1; - 10cf4: f8dd 9010 ldr.w r9, [sp, #16] + 1074c: f8dd 9010 ldr.w r9, [sp, #16] uint32_t byte_pos = bit_pos >> 3; - 10cf8: 08f3 lsrs r3, r6, #3 + 10750: 08f3 lsrs r3, r6, #3 bit_pos = bit_pos & 0x7; - 10cfa: f006 0207 and.w r2, r6, #7 + 10752: f006 0207 and.w r2, r6, #7 if(bit_pos + len >= 8) { - 10cfe: eb02 0b0a add.w fp, r2, sl - 10d02: f1bb 0f07 cmp.w fp, #7 - 10d06: d831 bhi.n 10d6c + 10756: eb02 0b0a add.w fp, r2, sl + 1075a: f1bb 0f07 cmp.w fp, #7 + 1075e: d831 bhi.n 107c4 return (in[byte_pos] >> (8 - bit_pos - len)) & bit_mask; - 10d08: f818 3003 ldrb.w r3, [r8, r3] - 10d0c: 9d0b ldr r5, [sp, #44] ; 0x2c - 10d0e: 1aaa subs r2, r5, r2 - 10d10: fa43 f202 asr.w r2, r3, r2 - 10d14: ea02 0909 and.w r9, r2, r9 - 10d18: fa5f f989 uxtb.w r9, r9 + 10760: f818 3003 ldrb.w r3, [r8, r3] + 10764: 9d0b ldr r5, [sp, #44] ; 0x2c + 10766: 1aaa subs r2, r5, r2 + 10768: fa43 f202 asr.w r2, r3, r2 + 1076c: ea02 0909 and.w r9, r2, r9 + 10770: fa5f f989 uxtb.w r9, r9 if(rle_rdp != 0 && rle_prev_v == ret) { - 10d1c: b116 cbz r6, 10d24 - 10d1e: 9b03 ldr r3, [sp, #12] - 10d20: 454b cmp r3, r9 - 10d22: d033 beq.n 10d8c + 10774: b116 cbz r6, 1077c + 10776: 9b03 ldr r3, [sp, #12] + 10778: 454b cmp r3, r9 + 1077a: d033 beq.n 107e4 rle_rdp += rle_bpp; - 10d24: 4456 add r6, sl + 1077c: 4456 add r6, sl rle_prev_v = ret; - 10d26: f8cd 900c str.w r9, [sp, #12] + 1077e: f8cd 900c str.w r9, [sp, #12] rle_rdp += rle_bpp; - 10d2a: 9b04 ldr r3, [sp, #16] - 10d2c: 9306 str r3, [sp, #24] - 10d2e: 9b05 ldr r3, [sp, #20] - 10d30: 9308 str r3, [sp, #32] + 10782: 9b04 ldr r3, [sp, #16] + 10784: 9306 str r3, [sp, #24] + 10786: 9b05 ldr r3, [sp, #20] + 10788: 9308 str r3, [sp, #32] out[i] = rle_next(); - 10d32: f804 9f01 strb.w r9, [r4, #1]! + 1078a: f804 9f01 strb.w r9, [r4, #1]! for(i = 0; i < w; i++) { - 10d36: 42a0 cmp r0, r4 - 10d38: f000 815d beq.w 10ff6 + 1078e: 42a0 cmp r0, r4 + 10790: f000 815d beq.w 10a4e if(rle_state == RLE_STATE_SINGLE) { - 10d3c: bb69 cbnz r1, 10d9a + 10794: bb69 cbnz r1, 107f2 switch(len) { - 10d3e: 9b07 ldr r3, [sp, #28] - 10d40: 461a mov r2, r3 - 10d42: 2a07 cmp r2, #7 - 10d44: d8d3 bhi.n 10cee - 10d46: a301 add r3, pc, #4 ; (adr r3, 10d4c ) - 10d48: f853 f022 ldr.w pc, [r3, r2, lsl #2] - 10d4c: 00010cf5 .word 0x00010cf5 - 10d50: 00010cd9 .word 0x00010cd9 - 10d54: 00010cdf .word 0x00010cdf - 10d58: 00010ce5 .word 0x00010ce5 - 10d5c: 00010cef .word 0x00010cef - 10d60: 00010cef .word 0x00010cef - 10d64: 00010cef .word 0x00010cef - 10d68: 00010ceb .word 0x00010ceb + 10796: 9b07 ldr r3, [sp, #28] + 10798: 461a mov r2, r3 + 1079a: 2a07 cmp r2, #7 + 1079c: d8d3 bhi.n 10746 + 1079e: a301 add r3, pc, #4 ; (adr r3, 107a4 ) + 107a0: f853 f022 ldr.w pc, [r3, r2, lsl #2] + 107a4: 0001074d .word 0x0001074d + 107a8: 00010731 .word 0x00010731 + 107ac: 00010737 .word 0x00010737 + 107b0: 0001073d .word 0x0001073d + 107b4: 00010747 .word 0x00010747 + 107b8: 00010747 .word 0x00010747 + 107bc: 00010747 .word 0x00010747 + 107c0: 00010743 .word 0x00010743 uint16_t in16 = (in[byte_pos] << 8) + in[byte_pos + 1]; - 10d6c: f818 b003 ldrb.w fp, [r8, r3] - 10d70: 4443 add r3, r8 - 10d72: 785b ldrb r3, [r3, #1] - 10d74: eb03 230b add.w r3, r3, fp, lsl #8 + 107c4: f818 b003 ldrb.w fp, [r8, r3] + 107c8: 4443 add r3, r8 + 107ca: 785b ldrb r3, [r3, #1] + 107cc: eb03 230b add.w r3, r3, fp, lsl #8 return (in16 >> (16 - bit_pos - len)) & bit_mask; - 10d78: b29b uxth r3, r3 - 10d7a: 9d0d ldr r5, [sp, #52] ; 0x34 - 10d7c: 1aaa subs r2, r5, r2 - 10d7e: fa43 f202 asr.w r2, r3, r2 - 10d82: ea02 0209 and.w r2, r2, r9 - 10d86: fa5f f982 uxtb.w r9, r2 - 10d8a: e7c7 b.n 10d1c + 107d0: b29b uxth r3, r3 + 107d2: 9d0d ldr r5, [sp, #52] ; 0x34 + 107d4: 1aaa subs r2, r5, r2 + 107d6: fa43 f202 asr.w r2, r3, r2 + 107da: ea02 0209 and.w r2, r2, r9 + 107de: fa5f f982 uxtb.w r9, r2 + 107e2: e7c7 b.n 10774 if(rle_rdp != 0 && rle_prev_v == ret) { - 10d8c: 9b04 ldr r3, [sp, #16] - 10d8e: 930a str r3, [sp, #40] ; 0x28 + 107e4: 9b04 ldr r3, [sp, #16] + 107e6: 930a str r3, [sp, #40] ; 0x28 rle_cnt = 0; - 10d90: 4677 mov r7, lr + 107e8: 4677 mov r7, lr if(rle_rdp != 0 && rle_prev_v == ret) { - 10d92: 9b05 ldr r3, [sp, #20] - 10d94: 930c str r3, [sp, #48] ; 0x30 + 107ea: 9b05 ldr r3, [sp, #20] + 107ec: 930c str r3, [sp, #48] ; 0x30 rle_state = RLE_STATE_REPEATE; - 10d96: 4619 mov r1, r3 - 10d98: e7c4 b.n 10d24 + 107ee: 4619 mov r1, r3 + 107f0: e7c4 b.n 1077c else if(rle_state == RLE_STATE_REPEATE) { - 10d9a: 2901 cmp r1, #1 - 10d9c: d004 beq.n 10da8 + 107f2: 2901 cmp r1, #1 + 107f4: d004 beq.n 10800 else if(rle_state == RLE_STATE_COUNTER) { - 10d9e: 2902 cmp r1, #2 - 10da0: f000 80d7 beq.w 10f52 + 107f6: 2902 cmp r1, #2 + 107f8: f000 80d7 beq.w 109aa uint8_t ret = 0; - 10da4: 46f1 mov r9, lr - 10da6: e7c4 b.n 10d32 + 107fc: 46f1 mov r9, lr + 107fe: e7c4 b.n 1078a uint32_t byte_pos = bit_pos >> 3; - 10da8: 08f3 lsrs r3, r6, #3 + 10800: 08f3 lsrs r3, r6, #3 bit_pos = bit_pos & 0x7; - 10daa: f006 0207 and.w r2, r6, #7 + 10802: f006 0207 and.w r2, r6, #7 if(bit_pos + len >= 8) { - 10dae: f102 0901 add.w r9, r2, #1 - 10db2: f1b9 0f07 cmp.w r9, #7 - 10db6: d815 bhi.n 10de4 + 10806: f102 0901 add.w r9, r2, #1 + 1080a: f1b9 0f07 cmp.w r9, #7 + 1080e: d815 bhi.n 1083c return (in[byte_pos] >> (8 - bit_pos - len)) & bit_mask; - 10db8: f818 3003 ldrb.w r3, [r8, r3] - 10dbc: 43d2 mvns r2, r2 - 10dbe: 3208 adds r2, #8 - 10dc0: 4113 asrs r3, r2 - 10dc2: f003 0301 and.w r3, r3, #1 + 10810: f818 3003 ldrb.w r3, [r8, r3] + 10814: 43d2 mvns r2, r2 + 10816: 3208 adds r2, #8 + 10818: 4113 asrs r3, r2 + 1081a: f003 0301 and.w r3, r3, #1 rle_cnt++; - 10dc6: 1c7a adds r2, r7, #1 - 10dc8: b2d7 uxtb r7, r2 + 1081e: 1c7a adds r2, r7, #1 + 10820: b2d7 uxtb r7, r2 rle_rdp += 1; - 10dca: 1c72 adds r2, r6, #1 + 10822: 1c72 adds r2, r6, #1 if(v == 1) { - 10dcc: b9bb cbnz r3, 10dfe + 10824: b9bb cbnz r3, 10856 switch(len) { - 10dce: 9b07 ldr r3, [sp, #28] - 10dd0: 4619 mov r1, r3 - 10dd2: 2907 cmp r1, #7 - 10dd4: f200 808e bhi.w 10ef4 - 10dd8: e8df f001 tbb [pc, r1] - 10ddc: 8886848e .word 0x8886848e - 10de0: 8a8c8c8c .word 0x8a8c8c8c + 10826: 9b07 ldr r3, [sp, #28] + 10828: 4619 mov r1, r3 + 1082a: 2907 cmp r1, #7 + 1082c: f200 808e bhi.w 1094c + 10830: e8df f001 tbb [pc, r1] + 10834: 8886848e .word 0x8886848e + 10838: 8a8c8c8c .word 0x8a8c8c8c uint16_t in16 = (in[byte_pos] << 8) + in[byte_pos + 1]; - 10de4: f818 9003 ldrb.w r9, [r8, r3] - 10de8: 4443 add r3, r8 - 10dea: 785b ldrb r3, [r3, #1] - 10dec: eb03 2309 add.w r3, r3, r9, lsl #8 + 1083c: f818 9003 ldrb.w r9, [r8, r3] + 10840: 4443 add r3, r8 + 10842: 785b ldrb r3, [r3, #1] + 10844: eb03 2309 add.w r3, r3, r9, lsl #8 return (in16 >> (16 - bit_pos - len)) & bit_mask; - 10df0: b29b uxth r3, r3 - 10df2: 43d2 mvns r2, r2 - 10df4: 3210 adds r2, #16 - 10df6: 4113 asrs r3, r2 - 10df8: f003 0301 and.w r3, r3, #1 - 10dfc: e7e3 b.n 10dc6 + 10848: b29b uxth r3, r3 + 1084a: 43d2 mvns r2, r2 + 1084c: 3210 adds r2, #16 + 1084e: 4113 asrs r3, r2 + 10850: f003 0301 and.w r3, r3, #1 + 10854: e7e3 b.n 1081e if(rle_cnt == 11) { - 10dfe: 2f0b cmp r7, #11 - 10e00: d00a beq.n 10e18 + 10856: 2f0b cmp r7, #11 + 10858: d00a beq.n 10870 rle_rdp += 1; - 10e02: 4616 mov r6, r2 + 1085a: 4616 mov r6, r2 ret = rle_prev_v; - 10e04: f8dd 900c ldr.w r9, [sp, #12] + 1085c: f8dd 900c ldr.w r9, [sp, #12] if(rle_cnt == 11) { - 10e08: 9b04 ldr r3, [sp, #16] - 10e0a: 930a str r3, [sp, #40] ; 0x28 - 10e0c: 9b05 ldr r3, [sp, #20] - 10e0e: 9306 str r3, [sp, #24] - 10e10: e78f b.n 10d32 - 10e12: bf00 nop - 10e14: 20002b5c .word 0x20002b5c + 10860: 9b04 ldr r3, [sp, #16] + 10862: 930a str r3, [sp, #40] ; 0x28 + 10864: 9b05 ldr r3, [sp, #20] + 10866: 9306 str r3, [sp, #24] + 10868: e78f b.n 1078a + 1086a: bf00 nop + 1086c: 20002b5c .word 0x20002b5c uint32_t byte_pos = bit_pos >> 3; - 10e18: 08d3 lsrs r3, r2, #3 + 10870: 08d3 lsrs r3, r2, #3 bit_pos = bit_pos & 0x7; - 10e1a: f002 0207 and.w r2, r2, #7 + 10872: f002 0207 and.w r2, r2, #7 if(bit_pos + len >= 8) { - 10e1e: 1d91 adds r1, r2, #6 - 10e20: 2907 cmp r1, #7 - 10e22: d815 bhi.n 10e50 + 10876: 1d91 adds r1, r2, #6 + 10878: 2907 cmp r1, #7 + 1087a: d815 bhi.n 108a8 return (in[byte_pos] >> (8 - bit_pos - len)) & bit_mask; - 10e24: f818 3003 ldrb.w r3, [r8, r3] - 10e28: f1c2 0202 rsb r2, r2, #2 - 10e2c: fa43 f202 asr.w r2, r3, r2 - 10e30: f002 073f and.w r7, r2, #63 ; 0x3f + 1087c: f818 3003 ldrb.w r3, [r8, r3] + 10880: f1c2 0202 rsb r2, r2, #2 + 10884: fa43 f202 asr.w r2, r3, r2 + 10888: f002 073f and.w r7, r2, #63 ; 0x3f rle_rdp += 6; - 10e34: 3607 adds r6, #7 + 1088c: 3607 adds r6, #7 if(rle_cnt != 0) { - 10e36: 2f00 cmp r7, #0 - 10e38: f040 80cf bne.w 10fda + 1088e: 2f00 cmp r7, #0 + 10890: f040 80cf bne.w 10a32 switch(len) { - 10e3c: 9b07 ldr r3, [sp, #28] - 10e3e: 461a mov r2, r3 - 10e40: 2a07 cmp r2, #7 - 10e42: d839 bhi.n 10eb8 - 10e44: e8df f002 tbb [pc, r2] - 10e48: 3330123b .word 0x3330123b - 10e4c: 36383838 .word 0x36383838 + 10894: 9b07 ldr r3, [sp, #28] + 10896: 461a mov r2, r3 + 10898: 2a07 cmp r2, #7 + 1089a: d839 bhi.n 10910 + 1089c: e8df f002 tbb [pc, r2] + 108a0: 3330123b .word 0x3330123b + 108a4: 36383838 .word 0x36383838 uint16_t in16 = (in[byte_pos] << 8) + in[byte_pos + 1]; - 10e50: f818 1003 ldrb.w r1, [r8, r3] - 10e54: 4443 add r3, r8 - 10e56: 785b ldrb r3, [r3, #1] - 10e58: eb03 2301 add.w r3, r3, r1, lsl #8 + 108a8: f818 1003 ldrb.w r1, [r8, r3] + 108ac: 4443 add r3, r8 + 108ae: 785b ldrb r3, [r3, #1] + 108b0: eb03 2301 add.w r3, r3, r1, lsl #8 return (in16 >> (16 - bit_pos - len)) & bit_mask; - 10e5c: b29b uxth r3, r3 - 10e5e: f1c2 020a rsb r2, r2, #10 - 10e62: fa43 f202 asr.w r2, r3, r2 - 10e66: f002 073f and.w r7, r2, #63 ; 0x3f - 10e6a: e7e3 b.n 10e34 + 108b4: b29b uxth r3, r3 + 108b6: f1c2 020a rsb r2, r2, #10 + 108ba: fa43 f202 asr.w r2, r3, r2 + 108be: f002 073f and.w r7, r2, #63 ; 0x3f + 108c2: e7e3 b.n 1088c bit_mask = 0x3; - 10e6c: f04f 0903 mov.w r9, #3 + 108c4: f04f 0903 mov.w r9, #3 uint32_t byte_pos = bit_pos >> 3; - 10e70: 08f3 lsrs r3, r6, #3 + 108c8: 08f3 lsrs r3, r6, #3 bit_pos = bit_pos & 0x7; - 10e72: f006 0207 and.w r2, r6, #7 + 108ca: f006 0207 and.w r2, r6, #7 if(bit_pos + len >= 8) { - 10e76: eb02 010a add.w r1, r2, sl - 10e7a: 2907 cmp r1, #7 - 10e7c: d822 bhi.n 10ec4 + 108ce: eb02 010a add.w r1, r2, sl + 108d2: 2907 cmp r1, #7 + 108d4: d822 bhi.n 1091c return (in[byte_pos] >> (8 - bit_pos - len)) & bit_mask; - 10e7e: f818 3003 ldrb.w r3, [r8, r3] - 10e82: 990b ldr r1, [sp, #44] ; 0x2c - 10e84: 1a8a subs r2, r1, r2 - 10e86: fa43 f202 asr.w r2, r3, r2 - 10e8a: ea02 0209 and.w r2, r2, r9 - 10e8e: fa5f f982 uxtb.w r9, r2 + 108d6: f818 3003 ldrb.w r3, [r8, r3] + 108da: 990b ldr r1, [sp, #44] ; 0x2c + 108dc: 1a8a subs r2, r1, r2 + 108de: fa43 f202 asr.w r2, r3, r2 + 108e2: ea02 0209 and.w r2, r2, r9 + 108e6: fa5f f982 uxtb.w r9, r2 rle_rdp += rle_bpp; - 10e92: 4456 add r6, sl + 108ea: 4456 add r6, sl rle_prev_v = ret; - 10e94: f8cd 900c str.w r9, [sp, #12] + 108ec: f8cd 900c str.w r9, [sp, #12] rle_rdp += rle_bpp; - 10e98: 9b04 ldr r3, [sp, #16] - 10e9a: 930a str r3, [sp, #40] ; 0x28 - 10e9c: 9b05 ldr r3, [sp, #20] - 10e9e: 930c str r3, [sp, #48] ; 0x30 + 108f0: 9b04 ldr r3, [sp, #16] + 108f2: 930a str r3, [sp, #40] ; 0x28 + 108f4: 9b05 ldr r3, [sp, #20] + 108f6: 930c str r3, [sp, #48] ; 0x30 rle_state = RLE_STATE_SINGLE; - 10ea0: 4671 mov r1, lr + 108f8: 4671 mov r1, lr rle_rdp += rle_bpp; - 10ea2: 9306 str r3, [sp, #24] - 10ea4: 9308 str r3, [sp, #32] - 10ea6: e744 b.n 10d32 + 108fa: 9306 str r3, [sp, #24] + 108fc: 9308 str r3, [sp, #32] + 108fe: e744 b.n 1078a bit_mask = 0x7; - 10ea8: f04f 0907 mov.w r9, #7 - 10eac: e7e0 b.n 10e70 + 10900: f04f 0907 mov.w r9, #7 + 10904: e7e0 b.n 108c8 bit_mask = 0xF; - 10eae: f04f 090f mov.w r9, #15 - 10eb2: e7dd b.n 10e70 + 10906: f04f 090f mov.w r9, #15 + 1090a: e7dd b.n 108c8 bit_mask = 0xFF; - 10eb4: 46e1 mov r9, ip - 10eb6: e7db b.n 10e70 + 1090c: 46e1 mov r9, ip + 1090e: e7db b.n 108c8 bit_mask = (uint16_t)((uint16_t) 1 << len) - 1; - 10eb8: f8dd 9044 ldr.w r9, [sp, #68] ; 0x44 - 10ebc: e7d8 b.n 10e70 + 10910: f8dd 9044 ldr.w r9, [sp, #68] ; 0x44 + 10914: e7d8 b.n 108c8 bit_mask = 0x1; - 10ebe: f8dd 9010 ldr.w r9, [sp, #16] - 10ec2: e7d5 b.n 10e70 + 10916: f8dd 9010 ldr.w r9, [sp, #16] + 1091a: e7d5 b.n 108c8 uint16_t in16 = (in[byte_pos] << 8) + in[byte_pos + 1]; - 10ec4: f818 1003 ldrb.w r1, [r8, r3] - 10ec8: 4443 add r3, r8 - 10eca: 785b ldrb r3, [r3, #1] - 10ecc: eb03 2301 add.w r3, r3, r1, lsl #8 + 1091c: f818 1003 ldrb.w r1, [r8, r3] + 10920: 4443 add r3, r8 + 10922: 785b ldrb r3, [r3, #1] + 10924: eb03 2301 add.w r3, r3, r1, lsl #8 return (in16 >> (16 - bit_pos - len)) & bit_mask; - 10ed0: b29b uxth r3, r3 - 10ed2: 990d ldr r1, [sp, #52] ; 0x34 - 10ed4: 1a8a subs r2, r1, r2 - 10ed6: fa43 f202 asr.w r2, r3, r2 - 10eda: ea02 0209 and.w r2, r2, r9 - 10ede: fa5f f982 uxtb.w r9, r2 - 10ee2: e7d6 b.n 10e92 + 10928: b29b uxth r3, r3 + 1092a: 990d ldr r1, [sp, #52] ; 0x34 + 1092c: 1a8a subs r2, r1, r2 + 1092e: fa43 f202 asr.w r2, r3, r2 + 10932: ea02 0209 and.w r2, r2, r9 + 10936: fa5f f982 uxtb.w r9, r2 + 1093a: e7d6 b.n 108ea bit_mask = 0x3; - 10ee4: 2603 movs r6, #3 - 10ee6: e008 b.n 10efa + 1093c: 2603 movs r6, #3 + 1093e: e008 b.n 10952 bit_mask = 0x7; - 10ee8: 2607 movs r6, #7 - 10eea: e006 b.n 10efa + 10940: 2607 movs r6, #7 + 10942: e006 b.n 10952 bit_mask = 0xF; - 10eec: 260f movs r6, #15 - 10eee: e004 b.n 10efa + 10944: 260f movs r6, #15 + 10946: e004 b.n 10952 bit_mask = 0xFF; - 10ef0: 4666 mov r6, ip - 10ef2: e002 b.n 10efa + 10948: 4666 mov r6, ip + 1094a: e002 b.n 10952 bit_mask = (uint16_t)((uint16_t) 1 << len) - 1; - 10ef4: 9e11 ldr r6, [sp, #68] ; 0x44 - 10ef6: e000 b.n 10efa + 1094c: 9e11 ldr r6, [sp, #68] ; 0x44 + 1094e: e000 b.n 10952 bit_mask = 0x1; - 10ef8: 9e04 ldr r6, [sp, #16] + 10950: 9e04 ldr r6, [sp, #16] uint32_t byte_pos = bit_pos >> 3; - 10efa: 08d3 lsrs r3, r2, #3 + 10952: 08d3 lsrs r3, r2, #3 bit_pos = bit_pos & 0x7; - 10efc: f002 0107 and.w r1, r2, #7 + 10954: f002 0107 and.w r1, r2, #7 if(bit_pos + len >= 8) { - 10f00: eb01 090a add.w r9, r1, sl - 10f04: f1b9 0f07 cmp.w r9, #7 - 10f08: d814 bhi.n 10f34 + 10958: eb01 090a add.w r9, r1, sl + 1095c: f1b9 0f07 cmp.w r9, #7 + 10960: d814 bhi.n 1098c return (in[byte_pos] >> (8 - bit_pos - len)) & bit_mask; - 10f0a: f818 3003 ldrb.w r3, [r8, r3] - 10f0e: 9d0b ldr r5, [sp, #44] ; 0x2c - 10f10: 1a69 subs r1, r5, r1 - 10f12: fa43 f101 asr.w r1, r3, r1 - 10f16: 4031 ands r1, r6 - 10f18: fa5f f981 uxtb.w r9, r1 + 10962: f818 3003 ldrb.w r3, [r8, r3] + 10966: 9d0b ldr r5, [sp, #44] ; 0x2c + 10968: 1a69 subs r1, r5, r1 + 1096a: fa43 f101 asr.w r1, r3, r1 + 1096e: 4031 ands r1, r6 + 10970: fa5f f981 uxtb.w r9, r1 rle_rdp += rle_bpp; - 10f1c: eb02 060a add.w r6, r2, sl + 10974: eb02 060a add.w r6, r2, sl rle_prev_v = ret; - 10f20: f8cd 900c str.w r9, [sp, #12] + 10978: f8cd 900c str.w r9, [sp, #12] rle_rdp += rle_bpp; - 10f24: 9b04 ldr r3, [sp, #16] - 10f26: 930a str r3, [sp, #40] ; 0x28 - 10f28: 9b05 ldr r3, [sp, #20] - 10f2a: 930c str r3, [sp, #48] ; 0x30 + 1097c: 9b04 ldr r3, [sp, #16] + 1097e: 930a str r3, [sp, #40] ; 0x28 + 10980: 9b05 ldr r3, [sp, #20] + 10982: 930c str r3, [sp, #48] ; 0x30 rle_state = RLE_STATE_SINGLE; - 10f2c: 4671 mov r1, lr + 10984: 4671 mov r1, lr rle_rdp += rle_bpp; - 10f2e: 9306 str r3, [sp, #24] - 10f30: 9308 str r3, [sp, #32] - 10f32: e6fe b.n 10d32 + 10986: 9306 str r3, [sp, #24] + 10988: 9308 str r3, [sp, #32] + 1098a: e6fe b.n 1078a uint16_t in16 = (in[byte_pos] << 8) + in[byte_pos + 1]; - 10f34: f818 9003 ldrb.w r9, [r8, r3] - 10f38: 4443 add r3, r8 - 10f3a: 785b ldrb r3, [r3, #1] - 10f3c: eb03 2309 add.w r3, r3, r9, lsl #8 + 1098c: f818 9003 ldrb.w r9, [r8, r3] + 10990: 4443 add r3, r8 + 10992: 785b ldrb r3, [r3, #1] + 10994: eb03 2309 add.w r3, r3, r9, lsl #8 return (in16 >> (16 - bit_pos - len)) & bit_mask; - 10f40: b29b uxth r3, r3 - 10f42: 9d0d ldr r5, [sp, #52] ; 0x34 - 10f44: 1a69 subs r1, r5, r1 - 10f46: fa43 f101 asr.w r1, r3, r1 - 10f4a: 4031 ands r1, r6 - 10f4c: fa5f f981 uxtb.w r9, r1 - 10f50: e7e4 b.n 10f1c + 10998: b29b uxth r3, r3 + 1099a: 9d0d ldr r5, [sp, #52] ; 0x34 + 1099c: 1a69 subs r1, r5, r1 + 1099e: fa43 f101 asr.w r1, r3, r1 + 109a2: 4031 ands r1, r6 + 109a4: fa5f f981 uxtb.w r9, r1 + 109a8: e7e4 b.n 10974 rle_cnt--; - 10f52: 1e7b subs r3, r7, #1 + 109aa: 1e7b subs r3, r7, #1 if(rle_cnt == 0) { - 10f54: f013 07ff ands.w r7, r3, #255 ; 0xff - 10f58: d148 bne.n 10fec + 109ac: f013 07ff ands.w r7, r3, #255 ; 0xff + 109b0: d148 bne.n 10a44 switch(len) { - 10f5a: 9b07 ldr r3, [sp, #28] - 10f5c: 461a mov r2, r3 - 10f5e: 2a07 cmp r2, #7 - 10f60: d80d bhi.n 10f7e - 10f62: e8df f002 tbb [pc, r2] - 10f66: 040e .short 0x040e - 10f68: 0c0c0806 .word 0x0c0c0806 - 10f6c: 0a0c .short 0x0a0c + 109b2: 9b07 ldr r3, [sp, #28] + 109b4: 461a mov r2, r3 + 109b6: 2a07 cmp r2, #7 + 109b8: d80d bhi.n 109d6 + 109ba: e8df f002 tbb [pc, r2] + 109be: 040e .short 0x040e + 109c0: 0c0c0806 .word 0x0c0c0806 + 109c4: 0a0c .short 0x0a0c bit_mask = 0x3; - 10f6e: 2103 movs r1, #3 - 10f70: e008 b.n 10f84 + 109c6: 2103 movs r1, #3 + 109c8: e008 b.n 109dc bit_mask = 0x7; - 10f72: 2107 movs r1, #7 - 10f74: e006 b.n 10f84 + 109ca: 2107 movs r1, #7 + 109cc: e006 b.n 109dc bit_mask = 0xF; - 10f76: 210f movs r1, #15 - 10f78: e004 b.n 10f84 + 109ce: 210f movs r1, #15 + 109d0: e004 b.n 109dc bit_mask = 0xFF; - 10f7a: 4661 mov r1, ip - 10f7c: e002 b.n 10f84 + 109d2: 4661 mov r1, ip + 109d4: e002 b.n 109dc bit_mask = (uint16_t)((uint16_t) 1 << len) - 1; - 10f7e: 9911 ldr r1, [sp, #68] ; 0x44 - 10f80: e000 b.n 10f84 + 109d6: 9911 ldr r1, [sp, #68] ; 0x44 + 109d8: e000 b.n 109dc bit_mask = 0x1; - 10f82: 9904 ldr r1, [sp, #16] + 109da: 9904 ldr r1, [sp, #16] uint32_t byte_pos = bit_pos >> 3; - 10f84: 08f3 lsrs r3, r6, #3 + 109dc: 08f3 lsrs r3, r6, #3 bit_pos = bit_pos & 0x7; - 10f86: f006 0207 and.w r2, r6, #7 + 109de: f006 0207 and.w r2, r6, #7 if(bit_pos + len >= 8) { - 10f8a: eb02 090a add.w r9, r2, sl - 10f8e: f1b9 0f07 cmp.w r9, #7 - 10f92: d813 bhi.n 10fbc + 109e2: eb02 090a add.w r9, r2, sl + 109e6: f1b9 0f07 cmp.w r9, #7 + 109ea: d813 bhi.n 10a14 return (in[byte_pos] >> (8 - bit_pos - len)) & bit_mask; - 10f94: f818 3003 ldrb.w r3, [r8, r3] - 10f98: 9d0b ldr r5, [sp, #44] ; 0x2c - 10f9a: 1aaa subs r2, r5, r2 - 10f9c: fa43 f202 asr.w r2, r3, r2 - 10fa0: 400a ands r2, r1 - 10fa2: fa5f f982 uxtb.w r9, r2 + 109ec: f818 3003 ldrb.w r3, [r8, r3] + 109f0: 9d0b ldr r5, [sp, #44] ; 0x2c + 109f2: 1aaa subs r2, r5, r2 + 109f4: fa43 f202 asr.w r2, r3, r2 + 109f8: 400a ands r2, r1 + 109fa: fa5f f982 uxtb.w r9, r2 rle_rdp += rle_bpp; - 10fa6: 4456 add r6, sl + 109fe: 4456 add r6, sl rle_prev_v = ret; - 10fa8: f8cd 900c str.w r9, [sp, #12] + 10a00: f8cd 900c str.w r9, [sp, #12] rle_rdp += rle_bpp; - 10fac: 9b04 ldr r3, [sp, #16] - 10fae: 930a str r3, [sp, #40] ; 0x28 - 10fb0: 9b05 ldr r3, [sp, #20] - 10fb2: 930c str r3, [sp, #48] ; 0x30 + 10a04: 9b04 ldr r3, [sp, #16] + 10a06: 930a str r3, [sp, #40] ; 0x28 + 10a08: 9b05 ldr r3, [sp, #20] + 10a0a: 930c str r3, [sp, #48] ; 0x30 rle_state = RLE_STATE_SINGLE; - 10fb4: 4671 mov r1, lr + 10a0c: 4671 mov r1, lr rle_rdp += rle_bpp; - 10fb6: 9306 str r3, [sp, #24] - 10fb8: 9308 str r3, [sp, #32] - 10fba: e6ba b.n 10d32 + 10a0e: 9306 str r3, [sp, #24] + 10a10: 9308 str r3, [sp, #32] + 10a12: e6ba b.n 1078a uint16_t in16 = (in[byte_pos] << 8) + in[byte_pos + 1]; - 10fbc: f818 9003 ldrb.w r9, [r8, r3] - 10fc0: 4443 add r3, r8 - 10fc2: 785b ldrb r3, [r3, #1] - 10fc4: eb03 2309 add.w r3, r3, r9, lsl #8 + 10a14: f818 9003 ldrb.w r9, [r8, r3] + 10a18: 4443 add r3, r8 + 10a1a: 785b ldrb r3, [r3, #1] + 10a1c: eb03 2309 add.w r3, r3, r9, lsl #8 return (in16 >> (16 - bit_pos - len)) & bit_mask; - 10fc8: b29b uxth r3, r3 - 10fca: 9d0d ldr r5, [sp, #52] ; 0x34 - 10fcc: 1aaa subs r2, r5, r2 - 10fce: fa43 f202 asr.w r2, r3, r2 - 10fd2: 400a ands r2, r1 - 10fd4: fa5f f982 uxtb.w r9, r2 - 10fd8: e7e5 b.n 10fa6 + 10a20: b29b uxth r3, r3 + 10a22: 9d0d ldr r5, [sp, #52] ; 0x34 + 10a24: 1aaa subs r2, r5, r2 + 10a26: fa43 f202 asr.w r2, r3, r2 + 10a2a: 400a ands r2, r1 + 10a2c: fa5f f982 uxtb.w r9, r2 + 10a30: e7e5 b.n 109fe ret = rle_prev_v; - 10fda: f8dd 900c ldr.w r9, [sp, #12] + 10a32: f8dd 900c ldr.w r9, [sp, #12] if(rle_cnt != 0) { - 10fde: 9b04 ldr r3, [sp, #16] - 10fe0: 930a str r3, [sp, #40] ; 0x28 - 10fe2: 9b05 ldr r3, [sp, #20] - 10fe4: 930c str r3, [sp, #48] ; 0x30 + 10a36: 9b04 ldr r3, [sp, #16] + 10a38: 930a str r3, [sp, #40] ; 0x28 + 10a3a: 9b05 ldr r3, [sp, #20] + 10a3c: 930c str r3, [sp, #48] ; 0x30 rle_state = RLE_STATE_COUNTER; - 10fe6: 2102 movs r1, #2 + 10a3e: 2102 movs r1, #2 if(rle_cnt != 0) { - 10fe8: 9306 str r3, [sp, #24] - 10fea: e6a2 b.n 10d32 + 10a40: 9306 str r3, [sp, #24] + 10a42: e6a2 b.n 1078a ret = rle_prev_v; - 10fec: f8dd 900c ldr.w r9, [sp, #12] + 10a44: f8dd 900c ldr.w r9, [sp, #12] if(rle_cnt == 0) { - 10ff0: 9b04 ldr r3, [sp, #16] - 10ff2: 930a str r3, [sp, #40] ; 0x28 - 10ff4: e69d b.n 10d32 - 10ff6: f8dd 904c ldr.w r9, [sp, #76] ; 0x4c - 10ffa: 9707 str r7, [sp, #28] - 10ffc: 9f14 ldr r7, [sp, #80] ; 0x50 - 10ffe: 9b16 ldr r3, [sp, #88] ; 0x58 - 11000: f103 3eff add.w lr, r3, #4294967295 + 10a48: 9b04 ldr r3, [sp, #16] + 10a4a: 930a str r3, [sp, #40] ; 0x28 + 10a4c: e69d b.n 1078a + 10a4e: f8dd 904c ldr.w r9, [sp, #76] ; 0x4c + 10a52: 9707 str r7, [sp, #28] + 10a54: 9f14 ldr r7, [sp, #80] ; 0x50 + 10a56: 9b16 ldr r3, [sp, #88] ; 0x58 + 10a58: f103 3eff add.w lr, r3, #4294967295 for(i = 0; i < w; i++) { - 11004: 9d0e ldr r5, [sp, #56] ; 0x38 + 10a5c: 9d0e ldr r5, [sp, #56] ; 0x38 val = 2; - 11006: f8dd c03c ldr.w ip, [sp, #60] ; 0x3c - 1100a: 9611 str r6, [sp, #68] ; 0x44 - 1100c: 9113 str r1, [sp, #76] ; 0x4c - 1100e: f8dd b048 ldr.w fp, [sp, #72] ; 0x48 - 11012: e021 b.n 11058 + 10a5e: f8dd c03c ldr.w ip, [sp, #60] ; 0x3c + 10a62: 9611 str r6, [sp, #68] ; 0x44 + 10a64: 9113 str r1, [sp, #76] ; 0x4c + 10a66: f8dd b048 ldr.w fp, [sp, #72] ; 0x48 + 10a6a: e021 b.n 10ab0 switch(val) { - 11014: 2a07 cmp r2, #7 - 11016: d840 bhi.n 1109a - 11018: e8df f002 tbb [pc, r2] - 1101c: 302d2a04 .word 0x302d2a04 - 11020: 3c393633 .word 0x3c393633 + 10a6c: 2a07 cmp r2, #7 + 10a6e: d840 bhi.n 10af2 + 10a70: e8df f002 tbb [pc, r2] + 10a74: 302d2a04 .word 0x302d2a04 + 10a78: 3c393633 .word 0x3c393633 len = 4; - 11024: 2304 movs r3, #4 + 10a7c: 2304 movs r3, #4 val = 0; - 11026: 2200 movs r2, #0 + 10a7e: 2200 movs r2, #0 bit_pos = bit_pos & 0x7; - 11028: f005 0107 and.w r1, r5, #7 - 1102c: f1c1 0108 rsb r1, r1, #8 + 10a80: f005 0107 and.w r1, r5, #7 + 10a84: f1c1 0108 rsb r1, r1, #8 bit_pos = 8 - bit_pos - len; - 11030: 1ac9 subs r1, r1, r3 + 10a88: 1ac9 subs r1, r1, r3 out[byte_pos] &= ((~bit_mask) << bit_pos); - 11032: f3c5 00cf ubfx r0, r5, #3, #16 + 10a8a: f3c5 00cf ubfx r0, r5, #3, #16 uint8_t bit_mask = (uint16_t)((uint16_t) 1 << len) - 1; - 11036: 2601 movs r6, #1 - 11038: fa06 f303 lsl.w r3, r6, r3 + 10a8e: 2601 movs r6, #1 + 10a90: fa06 f303 lsl.w r3, r6, r3 out[byte_pos] &= ((~bit_mask) << bit_pos); - 1103c: 425b negs r3, r3 - 1103e: f063 03ff orn r3, r3, #255 ; 0xff - 11042: 408b lsls r3, r1 - 11044: f819 6000 ldrb.w r6, [r9, r0] - 11048: 4033 ands r3, r6 + 10a94: 425b negs r3, r3 + 10a96: f063 03ff orn r3, r3, #255 ; 0xff + 10a9a: 408b lsls r3, r1 + 10a9c: f819 6000 ldrb.w r6, [r9, r0] + 10aa0: 4033 ands r3, r6 out[byte_pos] |= (val << bit_pos); - 1104a: 408a lsls r2, r1 - 1104c: 4313 orrs r3, r2 - 1104e: f809 3000 strb.w r3, [r9, r0] - 11052: 445d add r5, fp + 10aa2: 408a lsls r2, r1 + 10aa4: 4313 orrs r3, r2 + 10aa6: f809 3000 strb.w r3, [r9, r0] + 10aaa: 445d add r5, fp for(x = 0; x < w; x++) { - 11054: 42bc cmp r4, r7 - 11056: d022 beq.n 1109e + 10aac: 42bc cmp r4, r7 + 10aae: d022 beq.n 10af6 line_buf1[x] = line_buf2[x] ^ line_buf1[x]; - 11058: f817 2f01 ldrb.w r2, [r7, #1]! - 1105c: f89e 3001 ldrb.w r3, [lr, #1] - 11060: 405a eors r2, r3 - 11062: f80e 2f01 strb.w r2, [lr, #1]! + 10ab0: f817 2f01 ldrb.w r2, [r7, #1]! + 10ab4: f89e 3001 ldrb.w r3, [lr, #1] + 10ab8: 405a eors r2, r3 + 10aba: f80e 2f01 strb.w r2, [lr, #1]! if(len == 3) { - 11066: f1bc 0f03 cmp.w ip, #3 - 1106a: d0d3 beq.n 11014 - 1106c: 9b09 ldr r3, [sp, #36] ; 0x24 - 1106e: e7db b.n 11028 + 10abe: f1bc 0f03 cmp.w ip, #3 + 10ac2: d0d3 beq.n 10a6c + 10ac4: 9b09 ldr r3, [sp, #36] ; 0x24 + 10ac6: e7db b.n 10a80 len = 4; - 11070: 2304 movs r3, #4 + 10ac8: 2304 movs r3, #4 val = 2; - 11072: 2202 movs r2, #2 - 11074: e7d8 b.n 11028 + 10aca: 2202 movs r2, #2 + 10acc: e7d8 b.n 10a80 len = 4; - 11076: 2304 movs r3, #4 + 10ace: 2304 movs r3, #4 val = 4; - 11078: 9a1d ldr r2, [sp, #116] ; 0x74 - 1107a: e7d5 b.n 11028 + 10ad0: 9a1d ldr r2, [sp, #116] ; 0x74 + 10ad2: e7d5 b.n 10a80 len = 4; - 1107c: 2304 movs r3, #4 + 10ad4: 2304 movs r3, #4 val = 6; - 1107e: 2206 movs r2, #6 - 11080: e7d2 b.n 11028 + 10ad6: 2206 movs r2, #6 + 10ad8: e7d2 b.n 10a80 len = 4; - 11082: 2304 movs r3, #4 + 10ada: 2304 movs r3, #4 val = 9; - 11084: 2209 movs r2, #9 - 11086: e7cf b.n 11028 + 10adc: 2209 movs r2, #9 + 10ade: e7cf b.n 10a80 len = 4; - 11088: 2304 movs r3, #4 + 10ae0: 2304 movs r3, #4 val = 11; - 1108a: 220b movs r2, #11 - 1108c: e7cc b.n 11028 + 10ae2: 220b movs r2, #11 + 10ae4: e7cc b.n 10a80 len = 4; - 1108e: 2304 movs r3, #4 + 10ae6: 2304 movs r3, #4 val = 13; - 11090: 220d movs r2, #13 - 11092: e7c9 b.n 11028 + 10ae8: 220d movs r2, #13 + 10aea: e7c9 b.n 10a80 len = 4; - 11094: 2304 movs r3, #4 + 10aec: 2304 movs r3, #4 val = 15; - 11096: 220f movs r2, #15 - 11098: e7c6 b.n 11028 + 10aee: 220f movs r2, #15 + 10af0: e7c6 b.n 10a80 len = 4; - 1109a: 2304 movs r3, #4 - 1109c: e7c4 b.n 11028 - 1109e: 9e11 ldr r6, [sp, #68] ; 0x44 - 110a0: f8dd b04c ldr.w fp, [sp, #76] ; 0x4c - 110a4: 9b1a ldr r3, [sp, #104] ; 0x68 - 110a6: 9a12 ldr r2, [sp, #72] ; 0x48 - 110a8: 4413 add r3, r2 - 110aa: 9a0e ldr r2, [sp, #56] ; 0x38 - 110ac: 441a add r2, r3 - 110ae: 920e str r2, [sp, #56] ; 0x38 - 110b0: 9b10 ldr r3, [sp, #64] ; 0x40 - 110b2: 3301 adds r3, #1 - 110b4: b21b sxth r3, r3 - 110b6: 9310 str r3, [sp, #64] ; 0x40 + 10af2: 2304 movs r3, #4 + 10af4: e7c4 b.n 10a80 + 10af6: 9e11 ldr r6, [sp, #68] ; 0x44 + 10af8: f8dd b04c ldr.w fp, [sp, #76] ; 0x4c + 10afc: 9b1a ldr r3, [sp, #104] ; 0x68 + 10afe: 9a12 ldr r2, [sp, #72] ; 0x48 + 10b00: 4413 add r3, r2 + 10b02: 9a0e ldr r2, [sp, #56] ; 0x38 + 10b04: 441a add r2, r3 + 10b06: 920e str r2, [sp, #56] ; 0x38 + 10b08: 9b10 ldr r3, [sp, #64] ; 0x40 + 10b0a: 3301 adds r3, #1 + 10b0c: b21b sxth r3, r3 + 10b0e: 9310 str r3, [sp, #64] ; 0x40 for(y = 1; y < h; y++) { - 110b8: 9a15 ldr r2, [sp, #84] ; 0x54 - 110ba: 429a cmp r2, r3 - 110bc: d015 beq.n 110ea + 10b10: 9a15 ldr r2, [sp, #84] ; 0x54 + 10b12: 429a cmp r2, r3 + 10b14: d015 beq.n 10b42 for(i = 0; i < w; i++) { - 110be: 9b18 ldr r3, [sp, #96] ; 0x60 - 110c0: 2b00 cmp r3, #0 - 110c2: d0f5 beq.n 110b0 - 110c4: 9b17 ldr r3, [sp, #92] ; 0x5c - 110c6: 1e5f subs r7, r3, #1 - 110c8: 463c mov r4, r7 + 10b16: 9b18 ldr r3, [sp, #96] ; 0x60 + 10b18: 2b00 cmp r3, #0 + 10b1a: d0f5 beq.n 10b08 + 10b1c: 9b17 ldr r3, [sp, #92] ; 0x5c + 10b1e: 1e5f subs r7, r3, #1 + 10b20: 463c mov r4, r7 uint8_t ret = 0; - 110ca: f04f 0e00 mov.w lr, #0 + 10b22: f04f 0e00 mov.w lr, #0 switch(len) { - 110ce: 9b19 ldr r3, [sp, #100] ; 0x64 - 110d0: 1e5d subs r5, r3, #1 + 10b26: 9b19 ldr r3, [sp, #100] ; 0x64 + 10b28: 1e5d subs r5, r3, #1 bit_mask = (uint16_t)((uint16_t) 1 << len) - 1; - 110d2: 9b1b ldr r3, [sp, #108] ; 0x6c - 110d4: 9311 str r3, [sp, #68] ; 0x44 + 10b2a: 9b1b ldr r3, [sp, #108] ; 0x6c + 10b2c: 9311 str r3, [sp, #68] ; 0x44 bit_mask = 0xFF; - 110d6: f04f 0cff mov.w ip, #255 ; 0xff - 110da: f8cd 904c str.w r9, [sp, #76] ; 0x4c - 110de: 4659 mov r1, fp - 110e0: 9714 str r7, [sp, #80] ; 0x50 - 110e2: 9f07 ldr r7, [sp, #28] - 110e4: 9507 str r5, [sp, #28] - 110e6: 981c ldr r0, [sp, #112] ; 0x70 - 110e8: e628 b.n 10d3c - 110ea: 46b4 mov ip, r6 - 110ec: 9b08 ldr r3, [sp, #32] - 110ee: b9c3 cbnz r3, 11122 - 110f0: 9b06 ldr r3, [sp, #24] - 110f2: b113 cbz r3, 110fa - 110f4: 4b13 ldr r3, [pc, #76] ; (11144 ) - 110f6: f8c3 c00c str.w ip, [r3, #12] - 110fa: 9b0c ldr r3, [sp, #48] ; 0x30 - 110fc: b113 cbz r3, 11104 - 110fe: 4b11 ldr r3, [pc, #68] ; (11144 ) - 11100: f883 b009 strb.w fp, [r3, #9] - 11104: 9b0a ldr r3, [sp, #40] ; 0x28 - 11106: b11b cbz r3, 11110 - 11108: 4b0e ldr r3, [pc, #56] ; (11144 ) - 1110a: f89d 201c ldrb.w r2, [sp, #28] - 1110e: 745a strb r2, [r3, #17] + 10b2e: f04f 0cff mov.w ip, #255 ; 0xff + 10b32: f8cd 904c str.w r9, [sp, #76] ; 0x4c + 10b36: 4659 mov r1, fp + 10b38: 9714 str r7, [sp, #80] ; 0x50 + 10b3a: 9f07 ldr r7, [sp, #28] + 10b3c: 9507 str r5, [sp, #28] + 10b3e: 981c ldr r0, [sp, #112] ; 0x70 + 10b40: e628 b.n 10794 + 10b42: 46b4 mov ip, r6 + 10b44: 9b08 ldr r3, [sp, #32] + 10b46: b9c3 cbnz r3, 10b7a + 10b48: 9b06 ldr r3, [sp, #24] + 10b4a: b113 cbz r3, 10b52 + 10b4c: 4b13 ldr r3, [pc, #76] ; (10b9c ) + 10b4e: f8c3 c00c str.w ip, [r3, #12] + 10b52: 9b0c ldr r3, [sp, #48] ; 0x30 + 10b54: b113 cbz r3, 10b5c + 10b56: 4b11 ldr r3, [pc, #68] ; (10b9c ) + 10b58: f883 b009 strb.w fp, [r3, #9] + 10b5c: 9b0a ldr r3, [sp, #40] ; 0x28 + 10b5e: b11b cbz r3, 10b68 + 10b60: 4b0e ldr r3, [pc, #56] ; (10b9c ) + 10b62: f89d 201c ldrb.w r2, [sp, #28] + 10b66: 745a strb r2, [r3, #17] _lv_mem_buf_release(line_buf1); - 11110: 9816 ldr r0, [sp, #88] ; 0x58 - 11112: 4c0d ldr r4, [pc, #52] ; (11148 ) - 11114: 47a0 blx r4 + 10b68: 9816 ldr r0, [sp, #88] ; 0x58 + 10b6a: 4c0d ldr r4, [pc, #52] ; (10ba0 ) + 10b6c: 47a0 blx r4 _lv_mem_buf_release(line_buf2); - 11116: 9817 ldr r0, [sp, #92] ; 0x5c - 11118: 47a0 blx r4 + 10b6e: 9817 ldr r0, [sp, #92] ; 0x5c + 10b70: 47a0 blx r4 return decompr_buf; - 1111a: 4b0a ldr r3, [pc, #40] ; (11144 ) - 1111c: 6818 ldr r0, [r3, #0] - 1111e: f7ff bb2c b.w 1077a - 11122: 4b08 ldr r3, [pc, #32] ; (11144 ) - 11124: f89d 200c ldrb.w r2, [sp, #12] - 11128: 741a strb r2, [r3, #16] - 1112a: e7e1 b.n 110f0 + 10b72: 4b0a ldr r3, [pc, #40] ; (10b9c ) + 10b74: 6818 ldr r0, [r3, #0] + 10b76: f7ff bb2c b.w 101d2 + 10b7a: 4b08 ldr r3, [pc, #32] ; (10b9c ) + 10b7c: f89d 200c ldrb.w r2, [sp, #12] + 10b80: 741a strb r2, [r3, #16] + 10b82: e7e1 b.n 10b48 if(!gid) return NULL; - 1112c: 2000 movs r0, #0 - 1112e: f7ff bb24 b.w 1077a + 10b84: 2000 movs r0, #0 + 10b86: f7ff bb24 b.w 101d2 return NULL; - 11132: 2000 movs r0, #0 - 11134: f7ff bb21 b.w 1077a + 10b8a: 2000 movs r0, #0 + 10b8c: f7ff bb21 b.w 101d2 if(gsize == 0) return NULL; - 11138: 2000 movs r0, #0 - 1113a: f7ff bb1e b.w 1077a + 10b90: 2000 movs r0, #0 + 10b92: f7ff bb1e b.w 101d2 if(decompr_buf == NULL) return NULL; - 1113e: 2000 movs r0, #0 - 11140: f7ff bb1b b.w 1077a - 11144: 20002b5c .word 0x20002b5c - 11148: 00012b19 .word 0x00012b19 - -0001114c : -{ - 1114c: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} - 11150: b084 sub sp, #16 - 11152: 4607 mov r7, r0 - 11154: 460c mov r4, r1 - 11156: 4699 mov r9, r3 + 10b96: 2000 movs r0, #0 + 10b98: f7ff bb1b b.w 101d2 + 10b9c: 20002b5c .word 0x20002b5c + 10ba0: 00012571 .word 0x00012571 + +00010ba4 : +{ + 10ba4: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} + 10ba8: b084 sub sp, #16 + 10baa: 4607 mov r7, r0 + 10bac: 460c mov r4, r1 + 10bae: 4699 mov r9, r3 if(unicode_letter == '\t') { - 11158: 2a09 cmp r2, #9 + 10bb0: 2a09 cmp r2, #9 is_tab = true; - 1115a: bf06 itte eq - 1115c: 2501 moveq r5, #1 + 10bb2: bf06 itte eq + 10bb4: 2501 moveq r5, #1 unicode_letter = ' '; - 1115e: 2220 moveq r2, #32 + 10bb6: 2220 moveq r2, #32 bool is_tab = false; - 11160: 2500 movne r5, #0 + 10bb8: 2500 movne r5, #0 lv_font_fmt_txt_dsc_t * fdsc = (lv_font_fmt_txt_dsc_t *) font->dsc; - 11162: 6906 ldr r6, [r0, #16] + 10bba: 6906 ldr r6, [r0, #16] uint32_t gid = get_glyph_dsc_id(font, unicode_letter); - 11164: 4611 mov r1, r2 - 11166: 4b49 ldr r3, [pc, #292] ; (1128c ) - 11168: 4798 blx r3 + 10bbc: 4611 mov r1, r2 + 10bbe: 4b49 ldr r3, [pc, #292] ; (10ce4 ) + 10bc0: 4798 blx r3 if(!gid) return false; - 1116a: 4680 mov r8, r0 - 1116c: 2800 cmp r0, #0 - 1116e: f000 8086 beq.w 1127e + 10bc2: 4680 mov r8, r0 + 10bc4: 2800 cmp r0, #0 + 10bc6: f000 8086 beq.w 10cd6 if(fdsc->kern_dsc) { - 11172: 68f3 ldr r3, [r6, #12] - 11174: 2b00 cmp r3, #0 - 11176: d07c beq.n 11272 + 10bca: 68f3 ldr r3, [r6, #12] + 10bcc: 2b00 cmp r3, #0 + 10bce: d07c beq.n 10cca uint32_t gid_next = get_glyph_dsc_id(font, unicode_letter_next); - 11178: 4649 mov r1, r9 - 1117a: 4638 mov r0, r7 - 1117c: 4b43 ldr r3, [pc, #268] ; (1128c ) - 1117e: 4798 blx r3 + 10bd0: 4649 mov r1, r9 + 10bd2: 4638 mov r0, r7 + 10bd4: 4b43 ldr r3, [pc, #268] ; (10ce4 ) + 10bd6: 4798 blx r3 if(gid_next) { - 11180: 4603 mov r3, r0 - 11182: bb18 cbnz r0, 111cc + 10bd8: 4603 mov r3, r0 + 10bda: bb18 cbnz r0, 10c24 int8_t kvalue = 0; - 11184: 2300 movs r3, #0 + 10bdc: 2300 movs r3, #0 const lv_font_fmt_txt_glyph_dsc_t * gdsc = &fdsc->glyph_dsc[gid]; - 11186: 6870 ldr r0, [r6, #4] - 11188: eb00 00c8 add.w r0, r0, r8, lsl #3 + 10bde: 6870 ldr r0, [r6, #4] + 10be0: eb00 00c8 add.w r0, r0, r8, lsl #3 int32_t kv = ((int32_t)((int32_t)kvalue * fdsc->kern_scale) >> 4); - 1118c: 8a32 ldrh r2, [r6, #16] - 1118e: fb03 f302 mul.w r3, r3, r2 - 11192: 111b asrs r3, r3, #4 + 10be4: 8a32 ldrh r2, [r6, #16] + 10be6: fb03 f302 mul.w r3, r3, r2 + 10bea: 111b asrs r3, r3, #4 uint32_t adv_w = gdsc->adv_w; - 11194: 8842 ldrh r2, [r0, #2] - 11196: f3c2 120b ubfx r2, r2, #4, #12 + 10bec: 8842 ldrh r2, [r0, #2] + 10bee: f3c2 120b ubfx r2, r2, #4, #12 if(is_tab) adv_w *= 2; - 1119a: b105 cbz r5, 1119e - 1119c: 0052 lsls r2, r2, #1 + 10bf2: b105 cbz r5, 10bf6 + 10bf4: 0052 lsls r2, r2, #1 adv_w = (adv_w + (1 << 3)) >> 4; - 1119e: 3308 adds r3, #8 - 111a0: 4413 add r3, r2 - 111a2: 091b lsrs r3, r3, #4 + 10bf6: 3308 adds r3, #8 + 10bf8: 4413 add r3, r2 + 10bfa: 091b lsrs r3, r3, #4 dsc_out->adv_w = adv_w; - 111a4: 8023 strh r3, [r4, #0] + 10bfc: 8023 strh r3, [r4, #0] dsc_out->box_h = gdsc->box_h; - 111a6: 7943 ldrb r3, [r0, #5] - 111a8: 80a3 strh r3, [r4, #4] + 10bfe: 7943 ldrb r3, [r0, #5] + 10c00: 80a3 strh r3, [r4, #4] dsc_out->box_w = gdsc->box_w; - 111aa: 7902 ldrb r2, [r0, #4] - 111ac: 8062 strh r2, [r4, #2] + 10c02: 7902 ldrb r2, [r0, #4] + 10c04: 8062 strh r2, [r4, #2] dsc_out->ofs_x = gdsc->ofs_x; - 111ae: f990 3006 ldrsb.w r3, [r0, #6] - 111b2: 80e3 strh r3, [r4, #6] + 10c06: f990 3006 ldrsb.w r3, [r0, #6] + 10c0a: 80e3 strh r3, [r4, #6] dsc_out->ofs_y = gdsc->ofs_y; - 111b4: f990 3007 ldrsb.w r3, [r0, #7] - 111b8: 8123 strh r3, [r4, #8] + 10c0c: f990 3007 ldrsb.w r3, [r0, #7] + 10c10: 8123 strh r3, [r4, #8] dsc_out->bpp = (uint8_t)fdsc->bpp; - 111ba: 7cf3 ldrb r3, [r6, #19] - 111bc: f3c3 0383 ubfx r3, r3, #2, #4 - 111c0: 72a3 strb r3, [r4, #10] + 10c12: 7cf3 ldrb r3, [r6, #19] + 10c14: f3c3 0383 ubfx r3, r3, #2, #4 + 10c18: 72a3 strb r3, [r4, #10] if(is_tab) dsc_out->box_w = dsc_out->box_w * 2; - 111c2: 2d00 cmp r5, #0 - 111c4: d060 beq.n 11288 - 111c6: 0052 lsls r2, r2, #1 - 111c8: 8062 strh r2, [r4, #2] - 111ca: e059 b.n 11280 + 10c1a: 2d00 cmp r5, #0 + 10c1c: d060 beq.n 10ce0 + 10c1e: 0052 lsls r2, r2, #1 + 10c20: 8062 strh r2, [r4, #2] + 10c22: e059 b.n 10cd8 lv_font_fmt_txt_dsc_t * fdsc = (lv_font_fmt_txt_dsc_t *) font->dsc; - 111cc: 693a ldr r2, [r7, #16] + 10c24: 693a ldr r2, [r7, #16] if(fdsc->kern_classes == 0) { - 111ce: 7cd1 ldrb r1, [r2, #19] - 111d0: f011 0f40 tst.w r1, #64 ; 0x40 - 111d4: d13c bne.n 11250 + 10c26: 7cd1 ldrb r1, [r2, #19] + 10c28: f011 0f40 tst.w r1, #64 ; 0x40 + 10c2c: d13c bne.n 10ca8 const lv_font_fmt_txt_kern_pair_t * kdsc = fdsc->kern_dsc; - 111d6: 68d7 ldr r7, [r2, #12] + 10c2e: 68d7 ldr r7, [r2, #12] if(kdsc->glyph_ids_size == 0) { - 111d8: 7afa ldrb r2, [r7, #11] - 111da: f012 0203 ands.w r2, r2, #3 - 111de: d003 beq.n 111e8 + 10c30: 7afa ldrb r2, [r7, #11] + 10c32: f012 0203 ands.w r2, r2, #3 + 10c36: d003 beq.n 10c40 else if(kdsc->glyph_ids_size == 1) { - 111e0: 2a01 cmp r2, #1 - 111e2: d01b beq.n 1121c + 10c38: 2a01 cmp r2, #1 + 10c3a: d01b beq.n 10c74 int8_t value = 0; - 111e4: 2300 movs r3, #0 - 111e6: e7ce b.n 11186 + 10c3c: 2300 movs r3, #0 + 10c3e: e7ce b.n 10bde const uint8_t * g_ids = kdsc->glyph_ids; - 111e8: f8d7 9000 ldr.w r9, [r7] + 10c40: f8d7 9000 ldr.w r9, [r7] uint16_t g_id_both = (gid_right << 8) + gid_left; /*Create one number from the ids*/ - 111ec: eb08 2300 add.w r3, r8, r0, lsl #8 - 111f0: a804 add r0, sp, #16 - 111f2: f820 3d04 strh.w r3, [r0, #-4]! + 10c44: eb08 2300 add.w r3, r8, r0, lsl #8 + 10c48: a804 add r0, sp, #16 + 10c4a: f820 3d04 strh.w r3, [r0, #-4]! uint8_t * kid_p = _lv_utils_bsearch(&g_id_both, g_ids, kdsc->pair_cnt, 2, kern_pair_8_compare); - 111f6: 68ba ldr r2, [r7, #8] - 111f8: 4b25 ldr r3, [pc, #148] ; (11290 ) - 111fa: 9300 str r3, [sp, #0] - 111fc: 2302 movs r3, #2 - 111fe: f022 427f bic.w r2, r2, #4278190080 ; 0xff000000 - 11202: 4649 mov r1, r9 - 11204: f8df a090 ldr.w sl, [pc, #144] ; 11298 - 11208: 47d0 blx sl + 10c4e: 68ba ldr r2, [r7, #8] + 10c50: 4b25 ldr r3, [pc, #148] ; (10ce8 ) + 10c52: 9300 str r3, [sp, #0] + 10c54: 2302 movs r3, #2 + 10c56: f022 427f bic.w r2, r2, #4278190080 ; 0xff000000 + 10c5a: 4649 mov r1, r9 + 10c5c: f8df a090 ldr.w sl, [pc, #144] ; 10cf0 + 10c60: 47d0 blx sl if(kid_p) { - 1120a: b128 cbz r0, 11218 + 10c62: b128 cbz r0, 10c70 lv_uintptr_t ofs = (lv_uintptr_t)(kid_p - g_ids); - 1120c: eba0 0309 sub.w r3, r0, r9 + 10c64: eba0 0309 sub.w r3, r0, r9 ofs = ofs >> 1; /*ofs is for pair, divide by 2 to refer as a single value*/ - 11210: 085b lsrs r3, r3, #1 + 10c68: 085b lsrs r3, r3, #1 value = kdsc->values[ofs]; - 11212: 687a ldr r2, [r7, #4] - 11214: 56d3 ldrsb r3, [r2, r3] - 11216: e7b6 b.n 11186 + 10c6a: 687a ldr r2, [r7, #4] + 10c6c: 56d3 ldrsb r3, [r2, r3] + 10c6e: e7b6 b.n 10bde int8_t value = 0; - 11218: 2300 movs r3, #0 - 1121a: e7b4 b.n 11186 + 10c70: 2300 movs r3, #0 + 10c72: e7b4 b.n 10bde const uint16_t * g_ids = kdsc->glyph_ids; - 1121c: f8d7 9000 ldr.w r9, [r7] + 10c74: f8d7 9000 ldr.w r9, [r7] lv_uintptr_t g_id_both = (uint32_t)((uint32_t)gid_right << 8) + gid_left; /*Create one number from the ids*/ - 11220: eb08 2300 add.w r3, r8, r0, lsl #8 - 11224: a804 add r0, sp, #16 - 11226: f840 3d04 str.w r3, [r0, #-4]! + 10c78: eb08 2300 add.w r3, r8, r0, lsl #8 + 10c7c: a804 add r0, sp, #16 + 10c7e: f840 3d04 str.w r3, [r0, #-4]! uint8_t * kid_p = _lv_utils_bsearch(&g_id_both, g_ids, kdsc->pair_cnt, 4, kern_pair_16_compare); - 1122a: 68ba ldr r2, [r7, #8] - 1122c: 4b19 ldr r3, [pc, #100] ; (11294 ) - 1122e: 9300 str r3, [sp, #0] - 11230: 2304 movs r3, #4 - 11232: f022 427f bic.w r2, r2, #4278190080 ; 0xff000000 - 11236: 4649 mov r1, r9 - 11238: f8df a05c ldr.w sl, [pc, #92] ; 11298 - 1123c: 47d0 blx sl + 10c82: 68ba ldr r2, [r7, #8] + 10c84: 4b19 ldr r3, [pc, #100] ; (10cec ) + 10c86: 9300 str r3, [sp, #0] + 10c88: 2304 movs r3, #4 + 10c8a: f022 427f bic.w r2, r2, #4278190080 ; 0xff000000 + 10c8e: 4649 mov r1, r9 + 10c90: f8df a05c ldr.w sl, [pc, #92] ; 10cf0 + 10c94: 47d0 blx sl if(kid_p) { - 1123e: b128 cbz r0, 1124c + 10c96: b128 cbz r0, 10ca4 lv_uintptr_t ofs = (lv_uintptr_t)(kid_p - (const uint8_t *)g_ids); - 11240: eba0 0309 sub.w r3, r0, r9 + 10c98: eba0 0309 sub.w r3, r0, r9 ofs = ofs >> 4; /*ofs is 4 byte pairs, divide by 4 to refer as a single value*/ - 11244: 091b lsrs r3, r3, #4 + 10c9c: 091b lsrs r3, r3, #4 value = kdsc->values[ofs]; - 11246: 687a ldr r2, [r7, #4] - 11248: 56d3 ldrsb r3, [r2, r3] - 1124a: e79c b.n 11186 + 10c9e: 687a ldr r2, [r7, #4] + 10ca0: 56d3 ldrsb r3, [r2, r3] + 10ca2: e79c b.n 10bde int8_t value = 0; - 1124c: 2300 movs r3, #0 - 1124e: e79a b.n 11186 + 10ca4: 2300 movs r3, #0 + 10ca6: e79a b.n 10bde const lv_font_fmt_txt_kern_classes_t * kdsc = fdsc->kern_dsc; - 11250: 68d1 ldr r1, [r2, #12] + 10ca8: 68d1 ldr r1, [r2, #12] uint8_t left_class = kdsc->left_class_mapping[gid_left]; - 11252: 684a ldr r2, [r1, #4] - 11254: f812 2008 ldrb.w r2, [r2, r8] + 10caa: 684a ldr r2, [r1, #4] + 10cac: f812 2008 ldrb.w r2, [r2, r8] if(left_class > 0 && right_class > 0) { - 11258: b16a cbz r2, 11276 + 10cb0: b16a cbz r2, 10cce uint8_t right_class = kdsc->right_class_mapping[gid_right]; - 1125a: 6888 ldr r0, [r1, #8] - 1125c: 5cc3 ldrb r3, [r0, r3] + 10cb2: 6888 ldr r0, [r1, #8] + 10cb4: 5cc3 ldrb r3, [r0, r3] if(left_class > 0 && right_class > 0) { - 1125e: b163 cbz r3, 1127a + 10cb6: b163 cbz r3, 10cd2 value = kdsc->class_pair_values[(left_class - 1) * kdsc->right_class_cnt + (right_class - 1)]; - 11260: 3a01 subs r2, #1 - 11262: 7b48 ldrb r0, [r1, #13] - 11264: 6809 ldr r1, [r1, #0] - 11266: 440b add r3, r1 - 11268: fb00 3202 mla r2, r0, r2, r3 - 1126c: f912 3c01 ldrsb.w r3, [r2, #-1] - 11270: e789 b.n 11186 + 10cb8: 3a01 subs r2, #1 + 10cba: 7b48 ldrb r0, [r1, #13] + 10cbc: 6809 ldr r1, [r1, #0] + 10cbe: 440b add r3, r1 + 10cc0: fb00 3202 mla r2, r0, r2, r3 + 10cc4: f912 3c01 ldrsb.w r3, [r2, #-1] + 10cc8: e789 b.n 10bde int8_t kvalue = 0; - 11272: 2300 movs r3, #0 - 11274: e787 b.n 11186 + 10cca: 2300 movs r3, #0 + 10ccc: e787 b.n 10bde int8_t value = 0; - 11276: 2300 movs r3, #0 - 11278: e785 b.n 11186 - 1127a: 2300 movs r3, #0 - 1127c: e783 b.n 11186 + 10cce: 2300 movs r3, #0 + 10cd0: e785 b.n 10bde + 10cd2: 2300 movs r3, #0 + 10cd4: e783 b.n 10bde if(!gid) return false; - 1127e: 2500 movs r5, #0 + 10cd6: 2500 movs r5, #0 } - 11280: 4628 mov r0, r5 - 11282: b004 add sp, #16 - 11284: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + 10cd8: 4628 mov r0, r5 + 10cda: b004 add sp, #16 + 10cdc: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} return true; - 11288: 2501 movs r5, #1 - 1128a: e7f9 b.n 11280 - 1128c: 00010655 .word 0x00010655 - 11290: 00010629 .word 0x00010629 - 11294: 0001063b .word 0x0001063b - 11298: 0001472d .word 0x0001472d + 10ce0: 2501 movs r5, #1 + 10ce2: e7f9 b.n 10cd8 + 10ce4: 000100ad .word 0x000100ad + 10ce8: 00010081 .word 0x00010081 + 10cec: 00010093 .word 0x00010093 + 10cf0: 00014185 .word 0x00014185 -0001129c <_lv_font_clean_up_fmt_txt>: +00010cf4 <_lv_font_clean_up_fmt_txt>: { - 1129c: b508 push {r3, lr} + 10cf4: b508 push {r3, lr} if(decompr_buf) { - 1129e: 4b04 ldr r3, [pc, #16] ; (112b0 <_lv_font_clean_up_fmt_txt+0x14>) - 112a0: 6818 ldr r0, [r3, #0] - 112a2: b120 cbz r0, 112ae <_lv_font_clean_up_fmt_txt+0x12> + 10cf6: 4b04 ldr r3, [pc, #16] ; (10d08 <_lv_font_clean_up_fmt_txt+0x14>) + 10cf8: 6818 ldr r0, [r3, #0] + 10cfa: b120 cbz r0, 10d06 <_lv_font_clean_up_fmt_txt+0x12> lv_mem_free(decompr_buf); - 112a4: 4b03 ldr r3, [pc, #12] ; (112b4 <_lv_font_clean_up_fmt_txt+0x18>) - 112a6: 4798 blx r3 + 10cfc: 4b03 ldr r3, [pc, #12] ; (10d0c <_lv_font_clean_up_fmt_txt+0x18>) + 10cfe: 4798 blx r3 decompr_buf = NULL; - 112a8: 2200 movs r2, #0 - 112aa: 4b01 ldr r3, [pc, #4] ; (112b0 <_lv_font_clean_up_fmt_txt+0x14>) - 112ac: 601a str r2, [r3, #0] - 112ae: bd08 pop {r3, pc} - 112b0: 20002b5c .word 0x20002b5c - 112b4: 00012a6d .word 0x00012a6d - -000112b8 : + 10d00: 2200 movs r2, #0 + 10d02: 4b01 ldr r3, [pc, #4] ; (10d08 <_lv_font_clean_up_fmt_txt+0x14>) + 10d04: 601a str r2, [r3, #0] + 10d06: bd08 pop {r3, pc} + 10d08: 20002b5c .word 0x20002b5c + 10d0c: 000124c5 .word 0x000124c5 + +00010d10 : * It is used to surly have known values in the fields ant not memory junk. * After it you can set the fields. * @param driver pointer to driver variable to initialize */ void lv_disp_drv_init(lv_disp_drv_t * driver) { - 112b8: b510 push {r4, lr} - 112ba: 4604 mov r4, r0 + 10d10: b510 push {r4, lr} + 10d12: 4604 mov r4, r0 _lv_memset_00(driver, sizeof(lv_disp_drv_t)); - 112bc: 212c movs r1, #44 ; 0x2c - 112be: 4b15 ldr r3, [pc, #84] ; (11314 ) - 112c0: 4798 blx r3 + 10d14: 212c movs r1, #44 ; 0x2c + 10d16: 4b15 ldr r3, [pc, #84] ; (10d6c ) + 10d18: 4798 blx r3 driver->flush_cb = NULL; - 112c2: 2300 movs r3, #0 - 112c4: 60e3 str r3, [r4, #12] + 10d1a: 2300 movs r3, #0 + 10d1c: 60e3 str r3, [r4, #12] driver->hor_res = LV_HOR_RES_MAX; - 112c6: f44f 72f0 mov.w r2, #480 ; 0x1e0 - 112ca: 8022 strh r2, [r4, #0] + 10d1e: f44f 72f0 mov.w r2, #480 ; 0x1e0 + 10d22: 8022 strh r2, [r4, #0] driver->ver_res = LV_VER_RES_MAX; - 112cc: f44f 7288 mov.w r2, #272 ; 0x110 - 112d0: 8062 strh r2, [r4, #2] + 10d24: f44f 7288 mov.w r2, #272 ; 0x110 + 10d28: 8062 strh r2, [r4, #2] driver->buffer = NULL; - 112d2: 6063 str r3, [r4, #4] + 10d2a: 6063 str r3, [r4, #4] driver->rotated = 0; - 112d4: 7a22 ldrb r2, [r4, #8] - 112d6: f363 0241 bfi r2, r3, #1, #1 - 112da: 7222 strb r2, [r4, #8] + 10d2c: 7a22 ldrb r2, [r4, #8] + 10d2e: f363 0241 bfi r2, r3, #1, #1 + 10d32: 7222 strb r2, [r4, #8] driver->color_chroma_key = LV_COLOR_TRANSP; - 112dc: f894 2028 ldrb.w r2, [r4, #40] ; 0x28 - 112e0: f363 0204 bfi r2, r3, #0, #5 - 112e4: f884 2028 strb.w r2, [r4, #40] ; 0x28 - 112e8: 8d22 ldrh r2, [r4, #40] ; 0x28 - 112ea: f442 62fc orr.w r2, r2, #2016 ; 0x7e0 - 112ee: 8522 strh r2, [r4, #40] ; 0x28 - 112f0: 0a12 lsrs r2, r2, #8 - 112f2: f363 02c7 bfi r2, r3, #3, #5 - 112f6: f884 2029 strb.w r2, [r4, #41] ; 0x29 + 10d34: f894 2028 ldrb.w r2, [r4, #40] ; 0x28 + 10d38: f363 0204 bfi r2, r3, #0, #5 + 10d3c: f884 2028 strb.w r2, [r4, #40] ; 0x28 + 10d40: 8d22 ldrh r2, [r4, #40] ; 0x28 + 10d42: f442 62fc orr.w r2, r2, #2016 ; 0x7e0 + 10d46: 8522 strh r2, [r4, #40] ; 0x28 + 10d48: 0a12 lsrs r2, r2, #8 + 10d4a: f363 02c7 bfi r2, r3, #3, #5 + 10d4e: f884 2029 strb.w r2, [r4, #41] ; 0x29 driver->dpi = LV_DPI; - 112fa: 8922 ldrh r2, [r4, #8] - 112fc: 2182 movs r1, #130 ; 0x82 - 112fe: f361 028b bfi r2, r1, #2, #10 - 11302: 8122 strh r2, [r4, #8] + 10d52: 8922 ldrh r2, [r4, #8] + 10d54: 2182 movs r1, #130 ; 0x82 + 10d56: f361 028b bfi r2, r1, #2, #10 + 10d5a: 8122 strh r2, [r4, #8] #if LV_ANTIALIAS driver->antialiasing = true; - 11304: f042 0201 orr.w r2, r2, #1 - 11308: 7222 strb r2, [r4, #8] + 10d5c: f042 0201 orr.w r2, r2, #1 + 10d60: 7222 strb r2, [r4, #8] #if LV_COLOR_SCREEN_TRANSP driver->screen_transp = 1; #endif #if LV_USE_GPU driver->gpu_blend_cb = NULL; - 1130a: 6223 str r3, [r4, #32] + 10d62: 6223 str r3, [r4, #32] driver->gpu_fill_cb = NULL; - 1130c: 6263 str r3, [r4, #36] ; 0x24 + 10d64: 6263 str r3, [r4, #36] ; 0x24 #if LV_USE_USER_DATA driver->user_data = NULL; #endif driver->set_px_cb = NULL; - 1130e: 6163 str r3, [r4, #20] - 11310: bd10 pop {r4, pc} - 11312: bf00 nop - 11314: 000130df .word 0x000130df + 10d66: 6163 str r3, [r4, #20] + 10d68: bd10 pop {r4, pc} + 10d6a: bf00 nop + 10d6c: 00012b37 .word 0x00012b37 -00011318 : +00010d70 : * It lets LVGL to render next frame into the other buffer while previous is being * sent. Set to `NULL` if unused. * @param size_in_px_cnt size of the `buf1` and `buf2` in pixel count. */ void lv_disp_buf_init(lv_disp_buf_t * disp_buf, void * buf1, void * buf2, uint32_t size_in_px_cnt) { - 11318: b5f8 push {r3, r4, r5, r6, r7, lr} - 1131a: 4604 mov r4, r0 - 1131c: 460d mov r5, r1 - 1131e: 4617 mov r7, r2 - 11320: 461e mov r6, r3 + 10d70: b5f8 push {r3, r4, r5, r6, r7, lr} + 10d72: 4604 mov r4, r0 + 10d74: 460d mov r5, r1 + 10d76: 4617 mov r7, r2 + 10d78: 461e mov r6, r3 _lv_memset_00(disp_buf, sizeof(lv_disp_buf_t)); - 11322: 2124 movs r1, #36 ; 0x24 - 11324: 4b03 ldr r3, [pc, #12] ; (11334 ) - 11326: 4798 blx r3 + 10d7a: 2124 movs r1, #36 ; 0x24 + 10d7c: 4b03 ldr r3, [pc, #12] ; (10d8c ) + 10d7e: 4798 blx r3 disp_buf->buf1 = buf1; - 11328: 6025 str r5, [r4, #0] + 10d80: 6025 str r5, [r4, #0] disp_buf->buf2 = buf2; - 1132a: 6067 str r7, [r4, #4] + 10d82: 6067 str r7, [r4, #4] disp_buf->buf_act = disp_buf->buf1; - 1132c: 60a5 str r5, [r4, #8] + 10d84: 60a5 str r5, [r4, #8] disp_buf->size = size_in_px_cnt; - 1132e: 60e6 str r6, [r4, #12] - 11330: bdf8 pop {r3, r4, r5, r6, r7, pc} - 11332: bf00 nop - 11334: 000130df .word 0x000130df + 10d86: 60e6 str r6, [r4, #12] + 10d88: bdf8 pop {r3, r4, r5, r6, r7, pc} + 10d8a: bf00 nop + 10d8c: 00012b37 .word 0x00012b37 -00011338 : +00010d90 : * Automatically set the first display as active. * @param driver pointer to an initialized 'lv_disp_drv_t' variable (can be local variable) * @return pointer to the new display or NULL on error */ lv_disp_t * lv_disp_drv_register(lv_disp_drv_t * driver) { - 11338: b5f0 push {r4, r5, r6, r7, lr} - 1133a: b083 sub sp, #12 - 1133c: 4605 mov r5, r0 + 10d90: b5f0 push {r4, r5, r6, r7, lr} + 10d92: b083 sub sp, #12 + 10d94: 4605 mov r5, r0 lv_disp_t * disp = _lv_ll_ins_head(&LV_GC_ROOT(_lv_disp_ll)); - 1133e: 483f ldr r0, [pc, #252] ; (1143c ) - 11340: 4b3f ldr r3, [pc, #252] ; (11440 ) - 11342: 4798 blx r3 + 10d96: 483f ldr r0, [pc, #252] ; (10e94 ) + 10d98: 4b3f ldr r3, [pc, #252] ; (10e98 ) + 10d9a: 4798 blx r3 if(!disp) { - 11344: 4604 mov r4, r0 - 11346: 2800 cmp r0, #0 - 11348: d054 beq.n 113f4 + 10d9c: 4604 mov r4, r0 + 10d9e: 2800 cmp r0, #0 + 10da0: d054 beq.n 10e4c LV_ASSERT_MEM(disp); return NULL; } _lv_memset_00(disp, sizeof(lv_disp_t)); - 1134a: f44f 71b8 mov.w r1, #368 ; 0x170 - 1134e: 4b3d ldr r3, [pc, #244] ; (11444 ) - 11350: 4798 blx r3 + 10da2: f44f 71b8 mov.w r1, #368 ; 0x170 + 10da6: 4b3d ldr r3, [pc, #244] ; (10e9c ) + 10da8: 4798 blx r3 _lv_memcpy(&disp->driver, driver, sizeof(lv_disp_drv_t)); - 11352: 222c movs r2, #44 ; 0x2c - 11354: 4629 mov r1, r5 - 11356: 4620 mov r0, r4 - 11358: 4b3b ldr r3, [pc, #236] ; (11448 ) - 1135a: 4798 blx r3 + 10daa: 222c movs r2, #44 ; 0x2c + 10dac: 4629 mov r1, r5 + 10dae: 4620 mov r0, r4 + 10db0: 4b3b ldr r3, [pc, #236] ; (10ea0 ) + 10db2: 4798 blx r3 _lv_ll_init(&disp->scr_ll, sizeof(lv_obj_t)); - 1135c: 214c movs r1, #76 ; 0x4c - 1135e: f104 0030 add.w r0, r4, #48 ; 0x30 - 11362: 4b3a ldr r3, [pc, #232] ; (1144c ) - 11364: 4798 blx r3 + 10db4: 214c movs r1, #76 ; 0x4c + 10db6: f104 0030 add.w r0, r4, #48 ; 0x30 + 10dba: 4b3a ldr r3, [pc, #232] ; (10ea4 ) + 10dbc: 4798 blx r3 disp->last_activity_time = 0; - 11366: 2300 movs r3, #0 - 11368: f8c4 316c str.w r3, [r4, #364] ; 0x16c + 10dbe: 2300 movs r3, #0 + 10dc0: f8c4 316c str.w r3, [r4, #364] ; 0x16c if(disp_def == NULL) disp_def = disp; - 1136c: 4b38 ldr r3, [pc, #224] ; (11450 ) - 1136e: 681b ldr r3, [r3, #0] - 11370: 2b00 cmp r3, #0 - 11372: d050 beq.n 11416 + 10dc4: 4b38 ldr r3, [pc, #224] ; (10ea8 ) + 10dc6: 681b ldr r3, [r3, #0] + 10dc8: 2b00 cmp r3, #0 + 10dca: d050 beq.n 10e6e lv_disp_t * disp_def_tmp = disp_def; - 11374: 4b36 ldr r3, [pc, #216] ; (11450 ) - 11376: 681f ldr r7, [r3, #0] + 10dcc: 4b36 ldr r3, [pc, #216] ; (10ea8 ) + 10dce: 681f ldr r7, [r3, #0] disp_def = disp; /*Temporarily change the default screen to create the default screens on the - 11378: 601c str r4, [r3, #0] + 10dd0: 601c str r4, [r3, #0] new display*/ /*Create a refresh task*/ disp->refr_task = lv_task_create(_lv_disp_refr_task, LV_DISP_DEF_REFR_PERIOD, LV_REFR_TASK_PRIO, disp); - 1137a: 4623 mov r3, r4 - 1137c: 2203 movs r2, #3 - 1137e: 211e movs r1, #30 - 11380: 4834 ldr r0, [pc, #208] ; (11454 ) - 11382: 4d35 ldr r5, [pc, #212] ; (11458 ) - 11384: 47a8 blx r5 - 11386: 62e0 str r0, [r4, #44] ; 0x2c + 10dd2: 4623 mov r3, r4 + 10dd4: 2203 movs r2, #3 + 10dd6: 211e movs r1, #30 + 10dd8: 4834 ldr r0, [pc, #208] ; (10eac ) + 10dda: 4d35 ldr r5, [pc, #212] ; (10eb0 ) + 10ddc: 47a8 blx r5 + 10dde: 62e0 str r0, [r4, #44] ; 0x2c LV_ASSERT_MEM(disp->refr_task); - 11388: 4b34 ldr r3, [pc, #208] ; (1145c ) - 1138a: 4798 blx r3 - 1138c: 2800 cmp r0, #0 - 1138e: d045 beq.n 1141c + 10de0: 4b34 ldr r3, [pc, #208] ; (10eb4 ) + 10de2: 4798 blx r3 + 10de4: 2800 cmp r0, #0 + 10de6: d045 beq.n 10e74 if(disp->refr_task == NULL) return NULL; - 11390: 6ae3 ldr r3, [r4, #44] ; 0x2c - 11392: 2b00 cmp r3, #0 - 11394: d04f beq.n 11436 + 10de8: 6ae3 ldr r3, [r4, #44] ; 0x2c + 10dea: 2b00 cmp r3, #0 + 10dec: d04f beq.n 10e8e disp->inv_p = 0; - 11396: f8b4 3168 ldrh.w r3, [r4, #360] ; 0x168 - 1139a: f36f 0309 bfc r3, #0, #10 - 1139e: f8a4 3168 strh.w r3, [r4, #360] ; 0x168 + 10dee: f8b4 3168 ldrh.w r3, [r4, #360] ; 0x168 + 10df2: f36f 0309 bfc r3, #0, #10 + 10df6: f8a4 3168 strh.w r3, [r4, #360] ; 0x168 disp->last_activity_time = 0; - 113a2: 2500 movs r5, #0 - 113a4: f8c4 516c str.w r5, [r4, #364] ; 0x16c + 10dfa: 2500 movs r5, #0 + 10dfc: f8c4 516c str.w r5, [r4, #364] ; 0x16c disp->act_scr = lv_obj_create(NULL, NULL); /*Create a default screen on the display*/ - 113a8: 4629 mov r1, r5 - 113aa: 4628 mov r0, r5 - 113ac: 4e2c ldr r6, [pc, #176] ; (11460 ) - 113ae: 47b0 blx r6 - 113b0: 63e0 str r0, [r4, #60] ; 0x3c + 10e00: 4629 mov r1, r5 + 10e02: 4628 mov r0, r5 + 10e04: 4e2c ldr r6, [pc, #176] ; (10eb8 ) + 10e06: 47b0 blx r6 + 10e08: 63e0 str r0, [r4, #60] ; 0x3c disp->top_layer = lv_obj_create(NULL, NULL); /*Create top layer on the display*/ - 113b2: 4629 mov r1, r5 - 113b4: 4628 mov r0, r5 - 113b6: 47b0 blx r6 - 113b8: 6420 str r0, [r4, #64] ; 0x40 + 10e0a: 4629 mov r1, r5 + 10e0c: 4628 mov r0, r5 + 10e0e: 47b0 blx r6 + 10e10: 6420 str r0, [r4, #64] ; 0x40 disp->sys_layer = lv_obj_create(NULL, NULL); /*Create sys layer on the display*/ - 113ba: 4629 mov r1, r5 - 113bc: 4628 mov r0, r5 - 113be: 47b0 blx r6 - 113c0: 6460 str r0, [r4, #68] ; 0x44 + 10e12: 4629 mov r1, r5 + 10e14: 4628 mov r0, r5 + 10e16: 47b0 blx r6 + 10e18: 6460 str r0, [r4, #68] ; 0x44 lv_obj_reset_style_list(disp->top_layer, LV_OBJ_PART_MAIN); - 113c2: 4629 mov r1, r5 - 113c4: 6c20 ldr r0, [r4, #64] ; 0x40 - 113c6: 4e27 ldr r6, [pc, #156] ; (11464 ) - 113c8: 47b0 blx r6 + 10e1a: 4629 mov r1, r5 + 10e1c: 6c20 ldr r0, [r4, #64] ; 0x40 + 10e1e: 4e27 ldr r6, [pc, #156] ; (10ebc ) + 10e20: 47b0 blx r6 lv_obj_reset_style_list(disp->sys_layer, LV_OBJ_PART_MAIN); - 113ca: 4629 mov r1, r5 - 113cc: 6c60 ldr r0, [r4, #68] ; 0x44 - 113ce: 47b0 blx r6 + 10e22: 4629 mov r1, r5 + 10e24: 6c60 ldr r0, [r4, #68] ; 0x44 + 10e26: 47b0 blx r6 lv_obj_set_click(disp->top_layer, false); - 113d0: 4629 mov r1, r5 - 113d2: 6c20 ldr r0, [r4, #64] ; 0x40 - 113d4: 4e24 ldr r6, [pc, #144] ; (11468 ) - 113d6: 47b0 blx r6 + 10e28: 4629 mov r1, r5 + 10e2a: 6c20 ldr r0, [r4, #64] ; 0x40 + 10e2c: 4e24 ldr r6, [pc, #144] ; (10ec0 ) + 10e2e: 47b0 blx r6 lv_obj_set_click(disp->sys_layer, false); - 113d8: 4629 mov r1, r5 - 113da: 6c60 ldr r0, [r4, #68] ; 0x44 - 113dc: 47b0 blx r6 + 10e30: 4629 mov r1, r5 + 10e32: 6c60 ldr r0, [r4, #68] ; 0x44 + 10e34: 47b0 blx r6 lv_obj_invalidate(disp->act_scr); - 113de: 6be0 ldr r0, [r4, #60] ; 0x3c - 113e0: 4b22 ldr r3, [pc, #136] ; (1146c ) - 113e2: 4798 blx r3 + 10e36: 6be0 ldr r0, [r4, #60] ; 0x3c + 10e38: 4b22 ldr r3, [pc, #136] ; (10ec4 ) + 10e3a: 4798 blx r3 disp_def = disp_def_tmp; /*Revert the default display*/ - 113e4: 4b1a ldr r3, [pc, #104] ; (11450 ) - 113e6: 601f str r7, [r3, #0] + 10e3c: 4b1a ldr r3, [pc, #104] ; (10ea8 ) + 10e3e: 601f str r7, [r3, #0] lv_task_ready(disp->refr_task); /*Be sure the screen will be refreshed immediately on start up*/ - 113e8: 6ae0 ldr r0, [r4, #44] ; 0x2c - 113ea: 4b21 ldr r3, [pc, #132] ; (11470 ) - 113ec: 4798 blx r3 + 10e40: 6ae0 ldr r0, [r4, #44] ; 0x2c + 10e42: 4b21 ldr r3, [pc, #132] ; (10ec8 ) + 10e44: 4798 blx r3 return disp; } - 113ee: 4620 mov r0, r4 - 113f0: b003 add sp, #12 - 113f2: bdf0 pop {r4, r5, r6, r7, pc} + 10e46: 4620 mov r0, r4 + 10e48: b003 add sp, #12 + 10e4a: bdf0 pop {r4, r5, r6, r7, pc} LV_ASSERT_MEM(disp); - 113f4: 4b19 ldr r3, [pc, #100] ; (1145c ) - 113f6: 4798 blx r3 - 113f8: 2800 cmp r0, #0 - 113fa: d1f8 bne.n 113ee - 113fc: 4b1d ldr r3, [pc, #116] ; (11474 ) - 113fe: 9300 str r3, [sp, #0] - 11400: 227c movs r2, #124 ; 0x7c - 11402: 491d ldr r1, [pc, #116] ; (11478 ) - 11404: 2003 movs r0, #3 - 11406: 4c1d ldr r4, [pc, #116] ; (1147c ) - 11408: 47a0 blx r4 - 1140a: 2200 movs r2, #0 - 1140c: 2300 movs r3, #0 - 1140e: 481c ldr r0, [pc, #112] ; (11480 ) - 11410: 491c ldr r1, [pc, #112] ; (11484 ) - 11412: 4788 blx r1 - 11414: e7fe b.n 11414 + 10e4c: 4b19 ldr r3, [pc, #100] ; (10eb4 ) + 10e4e: 4798 blx r3 + 10e50: 2800 cmp r0, #0 + 10e52: d1f8 bne.n 10e46 + 10e54: 4b1d ldr r3, [pc, #116] ; (10ecc ) + 10e56: 9300 str r3, [sp, #0] + 10e58: 227c movs r2, #124 ; 0x7c + 10e5a: 491d ldr r1, [pc, #116] ; (10ed0 ) + 10e5c: 2003 movs r0, #3 + 10e5e: 4c1d ldr r4, [pc, #116] ; (10ed4 ) + 10e60: 47a0 blx r4 + 10e62: 2200 movs r2, #0 + 10e64: 2300 movs r3, #0 + 10e66: 481c ldr r0, [pc, #112] ; (10ed8 ) + 10e68: 491c ldr r1, [pc, #112] ; (10edc ) + 10e6a: 4788 blx r1 + 10e6c: e7fe b.n 10e6c if(disp_def == NULL) disp_def = disp; - 11416: 4b0e ldr r3, [pc, #56] ; (11450 ) - 11418: 601c str r4, [r3, #0] - 1141a: e7ab b.n 11374 + 10e6e: 4b0e ldr r3, [pc, #56] ; (10ea8 ) + 10e70: 601c str r4, [r3, #0] + 10e72: e7ab b.n 10dcc LV_ASSERT_MEM(disp->refr_task); - 1141c: 4b15 ldr r3, [pc, #84] ; (11474 ) - 1141e: 9300 str r3, [sp, #0] - 11420: 228d movs r2, #141 ; 0x8d - 11422: 4915 ldr r1, [pc, #84] ; (11478 ) - 11424: 2003 movs r0, #3 - 11426: 4d15 ldr r5, [pc, #84] ; (1147c ) - 11428: 47a8 blx r5 - 1142a: 6ae2 ldr r2, [r4, #44] ; 0x2c - 1142c: 2300 movs r3, #0 - 1142e: 4814 ldr r0, [pc, #80] ; (11480 ) - 11430: 4914 ldr r1, [pc, #80] ; (11484 ) - 11432: 4788 blx r1 - 11434: e7fe b.n 11434 + 10e74: 4b15 ldr r3, [pc, #84] ; (10ecc ) + 10e76: 9300 str r3, [sp, #0] + 10e78: 228d movs r2, #141 ; 0x8d + 10e7a: 4915 ldr r1, [pc, #84] ; (10ed0 ) + 10e7c: 2003 movs r0, #3 + 10e7e: 4d15 ldr r5, [pc, #84] ; (10ed4 ) + 10e80: 47a8 blx r5 + 10e82: 6ae2 ldr r2, [r4, #44] ; 0x2c + 10e84: 2300 movs r3, #0 + 10e86: 4814 ldr r0, [pc, #80] ; (10ed8 ) + 10e88: 4914 ldr r1, [pc, #80] ; (10edc ) + 10e8a: 4788 blx r1 + 10e8c: e7fe b.n 10e8c if(disp->refr_task == NULL) return NULL; - 11436: 2400 movs r4, #0 - 11438: e7d9 b.n 113ee - 1143a: bf00 nop - 1143c: 20006cb4 .word 0x20006cb4 - 11440: 000124b9 .word 0x000124b9 - 11444: 000130df .word 0x000130df - 11448: 00012bfd .word 0x00012bfd - 1144c: 000124a1 .word 0x000124a1 - 11450: 20002b70 .word 0x20002b70 - 11454: 0000651d .word 0x0000651d - 11458: 00013f8d .word 0x00013f8d - 1145c: 0000298d .word 0x0000298d - 11460: 000044ad .word 0x000044ad - 11464: 00004225 .word 0x00004225 - 11468: 00003029 .word 0x00003029 - 1146c: 000039a9 .word 0x000039a9 - 11470: 00013ffd .word 0x00013ffd - 11474: 000206a0 .word 0x000206a0 - 11478: 000206b8 .word 0x000206b8 - 1147c: 00012805 .word 0x00012805 - 11480: 0001b4bc .word 0x0001b4bc - 11484: 00002995 .word 0x00002995 - -00011488 : + 10e8e: 2400 movs r4, #0 + 10e90: e7d9 b.n 10e46 + 10e92: bf00 nop + 10e94: 20006c98 .word 0x20006c98 + 10e98: 00011f11 .word 0x00011f11 + 10e9c: 00012b37 .word 0x00012b37 + 10ea0: 00012655 .word 0x00012655 + 10ea4: 00011ef9 .word 0x00011ef9 + 10ea8: 20002b70 .word 0x20002b70 + 10eac: 00005f75 .word 0x00005f75 + 10eb0: 000139e5 .word 0x000139e5 + 10eb4: 000022b1 .word 0x000022b1 + 10eb8: 00003e25 .word 0x00003e25 + 10ebc: 00003b9d .word 0x00003b9d + 10ec0: 000029a1 .word 0x000029a1 + 10ec4: 00003321 .word 0x00003321 + 10ec8: 00013a55 .word 0x00013a55 + 10ecc: 000291bc .word 0x000291bc + 10ed0: 000291d4 .word 0x000291d4 + 10ed4: 0001225d .word 0x0001225d + 10ed8: 00023fd8 .word 0x00023fd8 + 10edc: 000022b9 .word 0x000022b9 + +00010ee0 : * @return pointer to the default display */ lv_disp_t * lv_disp_get_default(void) { return disp_def; } - 11488: 4b01 ldr r3, [pc, #4] ; (11490 ) - 1148a: 6818 ldr r0, [r3, #0] - 1148c: 4770 bx lr - 1148e: bf00 nop - 11490: 20002b70 .word 0x20002b70 + 10ee0: 4b01 ldr r3, [pc, #4] ; (10ee8 ) + 10ee2: 6818 ldr r0, [r3, #0] + 10ee4: 4770 bx lr + 10ee6: bf00 nop + 10ee8: 20002b70 .word 0x20002b70 -00011494 : +00010eec : * @param disp pointer to a display (NULL to use the default display) * @return the horizontal resolution of the display */ lv_coord_t lv_disp_get_hor_res(lv_disp_t * disp) { if(disp == NULL) disp = lv_disp_get_default(); - 11494: 4603 mov r3, r0 - 11496: b140 cbz r0, 114aa + 10eec: 4603 mov r3, r0 + 10eee: b140 cbz r0, 10f02 if(disp == NULL) return LV_HOR_RES_MAX; else return disp->driver.rotated == 0 ? disp->driver.hor_res : disp->driver.ver_res; - 11498: 7a1a ldrb r2, [r3, #8] - 1149a: f012 0f02 tst.w r2, #2 - 1149e: bf0c ite eq - 114a0: f9b3 0000 ldrsheq.w r0, [r3] - 114a4: f9b3 0002 ldrshne.w r0, [r3, #2] - 114a8: 4770 bx lr + 10ef0: 7a1a ldrb r2, [r3, #8] + 10ef2: f012 0f02 tst.w r2, #2 + 10ef6: bf0c ite eq + 10ef8: f9b3 0000 ldrsheq.w r0, [r3] + 10efc: f9b3 0002 ldrshne.w r0, [r3, #2] + 10f00: 4770 bx lr return disp_def; - 114aa: 4b03 ldr r3, [pc, #12] ; (114b8 ) - 114ac: 681b ldr r3, [r3, #0] + 10f02: 4b03 ldr r3, [pc, #12] ; (10f10 ) + 10f04: 681b ldr r3, [r3, #0] if(disp == NULL) - 114ae: 2b00 cmp r3, #0 - 114b0: d1f2 bne.n 11498 + 10f06: 2b00 cmp r3, #0 + 10f08: d1f2 bne.n 10ef0 return LV_HOR_RES_MAX; - 114b2: f44f 70f0 mov.w r0, #480 ; 0x1e0 + 10f0a: f44f 70f0 mov.w r0, #480 ; 0x1e0 } - 114b6: 4770 bx lr - 114b8: 20002b70 .word 0x20002b70 + 10f0e: 4770 bx lr + 10f10: 20002b70 .word 0x20002b70 -000114bc : +00010f14 : * @param disp pointer to a display (NULL to use the default display) * @return the vertical resolution of the display */ lv_coord_t lv_disp_get_ver_res(lv_disp_t * disp) { if(disp == NULL) disp = lv_disp_get_default(); - 114bc: 4603 mov r3, r0 - 114be: b140 cbz r0, 114d2 + 10f14: 4603 mov r3, r0 + 10f16: b140 cbz r0, 10f2a if(disp == NULL) return LV_VER_RES_MAX; else return disp->driver.rotated == 0 ? disp->driver.ver_res : disp->driver.hor_res; - 114c0: 7a1a ldrb r2, [r3, #8] - 114c2: f012 0f02 tst.w r2, #2 - 114c6: bf0c ite eq - 114c8: f9b3 0002 ldrsheq.w r0, [r3, #2] - 114cc: f9b3 0000 ldrshne.w r0, [r3] - 114d0: 4770 bx lr + 10f18: 7a1a ldrb r2, [r3, #8] + 10f1a: f012 0f02 tst.w r2, #2 + 10f1e: bf0c ite eq + 10f20: f9b3 0002 ldrsheq.w r0, [r3, #2] + 10f24: f9b3 0000 ldrshne.w r0, [r3] + 10f28: 4770 bx lr return disp_def; - 114d2: 4b03 ldr r3, [pc, #12] ; (114e0 ) - 114d4: 681b ldr r3, [r3, #0] + 10f2a: 4b03 ldr r3, [pc, #12] ; (10f38 ) + 10f2c: 681b ldr r3, [r3, #0] if(disp == NULL) - 114d6: 2b00 cmp r3, #0 - 114d8: d1f2 bne.n 114c0 + 10f2e: 2b00 cmp r3, #0 + 10f30: d1f2 bne.n 10f18 return LV_VER_RES_MAX; - 114da: f44f 7088 mov.w r0, #272 ; 0x110 + 10f32: f44f 7088 mov.w r0, #272 ; 0x110 } - 114de: 4770 bx lr - 114e0: 20002b70 .word 0x20002b70 + 10f36: 4770 bx lr + 10f38: 20002b70 .word 0x20002b70 -000114e4 : +00010f3c : * @param disp pointer to a display (NULL to use the default display) * @return dpi of the display */ lv_coord_t lv_disp_get_dpi(lv_disp_t * disp) { if(disp == NULL) disp = lv_disp_get_default(); - 114e4: 4603 mov r3, r0 - 114e6: b118 cbz r0, 114f0 + 10f3c: 4603 mov r3, r0 + 10f3e: b118 cbz r0, 10f48 if(disp == NULL) return LV_DPI; /*Do not return 0 because it might be a divider*/ return disp->driver.dpi; - 114e8: 8918 ldrh r0, [r3, #8] - 114ea: f3c0 0089 ubfx r0, r0, #2, #10 - 114ee: 4770 bx lr + 10f40: 8918 ldrh r0, [r3, #8] + 10f42: f3c0 0089 ubfx r0, r0, #2, #10 + 10f46: 4770 bx lr return disp_def; - 114f0: 4b02 ldr r3, [pc, #8] ; (114fc ) - 114f2: 681b ldr r3, [r3, #0] + 10f48: 4b02 ldr r3, [pc, #8] ; (10f54 ) + 10f4a: 681b ldr r3, [r3, #0] if(disp == NULL) return LV_DPI; /*Do not return 0 because it might be a divider*/ - 114f4: 2b00 cmp r3, #0 - 114f6: d1f7 bne.n 114e8 - 114f8: 2082 movs r0, #130 ; 0x82 + 10f4c: 2b00 cmp r3, #0 + 10f4e: d1f7 bne.n 10f40 + 10f50: 2082 movs r0, #130 ; 0x82 } - 114fa: 4770 bx lr - 114fc: 20002b70 .word 0x20002b70 + 10f52: 4770 bx lr + 10f54: 20002b70 .word 0x20002b70 -00011500 : +00010f58 : * Get the size category of the display based on it's hor. res. and dpi. * @param disp pointer to a display (NULL to use the default display) * @return LV_DISP_SIZE_SMALL/MEDIUM/LARGE/EXTRA_LARGE */ lv_disp_size_t lv_disp_get_size_category(lv_disp_t * disp) { - 11500: b538 push {r3, r4, r5, lr} + 10f58: b538 push {r3, r4, r5, lr} if(disp == NULL) disp = lv_disp_get_default(); - 11502: 4605 mov r5, r0 - 11504: b1a0 cbz r0, 11530 + 10f5a: 4605 mov r5, r0 + 10f5c: b1a0 cbz r0, 10f88 uint32_t w; if(disp == NULL) w = LV_HOR_RES_MAX; else w = lv_disp_get_hor_res(disp); - 11506: 4628 mov r0, r5 - 11508: 4b0f ldr r3, [pc, #60] ; (11548 ) - 1150a: 4798 blx r3 - 1150c: 4604 mov r4, r0 + 10f5e: 4628 mov r0, r5 + 10f60: 4b0f ldr r3, [pc, #60] ; (10fa0 ) + 10f62: 4798 blx r3 + 10f64: 4604 mov r4, r0 uint32_t dpi = lv_disp_get_dpi(disp); - 1150e: 4628 mov r0, r5 - 11510: 4b0e ldr r3, [pc, #56] ; (1154c ) - 11512: 4798 blx r3 + 10f66: 4628 mov r0, r5 + 10f68: 4b0e ldr r3, [pc, #56] ; (10fa4 ) + 10f6a: 4798 blx r3 w = w * 10 / dpi; - 11514: eb04 0484 add.w r4, r4, r4, lsl #2 - 11518: 0064 lsls r4, r4, #1 - 1151a: fbb4 f0f0 udiv r0, r4, r0 + 10f6c: eb04 0484 add.w r4, r4, r4, lsl #2 + 10f70: 0064 lsls r4, r4, #1 + 10f72: fbb4 f0f0 udiv r0, r4, r0 if(w < LV_DISP_SMALL_LIMIT) return LV_DISP_SIZE_SMALL; - 1151e: 281d cmp r0, #29 - 11520: d90d bls.n 1153e + 10f76: 281d cmp r0, #29 + 10f78: d90d bls.n 10f96 if(w < LV_DISP_MEDIUM_LIMIT) return LV_DISP_SIZE_MEDIUM; - 11522: 2831 cmp r0, #49 ; 0x31 - 11524: d90d bls.n 11542 + 10f7a: 2831 cmp r0, #49 ; 0x31 + 10f7c: d90d bls.n 10f9a if(w < LV_DISP_LARGE_LIMIT) return LV_DISP_SIZE_LARGE; else return LV_DISP_SIZE_EXTRA_LARGE; - 11526: 2846 cmp r0, #70 ; 0x46 - 11528: bf34 ite cc - 1152a: 2002 movcc r0, #2 - 1152c: 2003 movcs r0, #3 - 1152e: bd38 pop {r3, r4, r5, pc} + 10f7e: 2846 cmp r0, #70 ; 0x46 + 10f80: bf34 ite cc + 10f82: 2002 movcc r0, #2 + 10f84: 2003 movcs r0, #3 + 10f86: bd38 pop {r3, r4, r5, pc} return disp_def; - 11530: 4b07 ldr r3, [pc, #28] ; (11550 ) - 11532: 681d ldr r5, [r3, #0] - 11534: f44f 74f0 mov.w r4, #480 ; 0x1e0 + 10f88: 4b07 ldr r3, [pc, #28] ; (10fa8 ) + 10f8a: 681d ldr r5, [r3, #0] + 10f8c: f44f 74f0 mov.w r4, #480 ; 0x1e0 if(disp == NULL) w = LV_HOR_RES_MAX; - 11538: 2d00 cmp r5, #0 - 1153a: d0e8 beq.n 1150e - 1153c: e7e3 b.n 11506 + 10f90: 2d00 cmp r5, #0 + 10f92: d0e8 beq.n 10f66 + 10f94: e7e3 b.n 10f5e if(w < LV_DISP_SMALL_LIMIT) return LV_DISP_SIZE_SMALL; - 1153e: 2000 movs r0, #0 - 11540: bd38 pop {r3, r4, r5, pc} + 10f96: 2000 movs r0, #0 + 10f98: bd38 pop {r3, r4, r5, pc} if(w < LV_DISP_MEDIUM_LIMIT) return LV_DISP_SIZE_MEDIUM; - 11542: 2001 movs r0, #1 + 10f9a: 2001 movs r0, #1 } - 11544: bd38 pop {r3, r4, r5, pc} - 11546: bf00 nop - 11548: 00011495 .word 0x00011495 - 1154c: 000114e5 .word 0x000114e5 - 11550: 20002b70 .word 0x20002b70 + 10f9c: bd38 pop {r3, r4, r5, pc} + 10f9e: bf00 nop + 10fa0: 00010eed .word 0x00010eed + 10fa4: 00010f3d .word 0x00010f3d + 10fa8: 20002b70 .word 0x20002b70 -00011554 : +00010fac : if(disp_drv->screen_transp) { _lv_memset_00(disp_drv->buffer->buf_act, disp_drv->buffer->size * sizeof(lv_color32_t)); } #endif disp_drv->buffer->flushing = 0; - 11554: 6842 ldr r2, [r0, #4] - 11556: 2300 movs r3, #0 - 11558: 6193 str r3, [r2, #24] + 10fac: 6842 ldr r2, [r0, #4] + 10fae: 2300 movs r3, #0 + 10fb0: 6193 str r3, [r2, #24] disp_drv->buffer->flushing_last = 0; - 1155a: 6842 ldr r2, [r0, #4] - 1155c: 61d3 str r3, [r2, #28] - 1155e: 4770 bx lr + 10fb2: 6842 ldr r2, [r0, #4] + 10fb4: 61d3 str r3, [r2, #28] + 10fb6: 4770 bx lr -00011560 : +00010fb8 : * Get the next display. * @param disp pointer to the current display. NULL to initialize. * @return the next display or NULL if no more. Give the first display when the parameter is NULL */ lv_disp_t * lv_disp_get_next(lv_disp_t * disp) { - 11560: b508 push {r3, lr} + 10fb8: b508 push {r3, lr} if(disp == NULL) - 11562: b120 cbz r0, 1156e - 11564: 4601 mov r1, r0 + 10fba: b120 cbz r0, 10fc6 + 10fbc: 4601 mov r1, r0 return _lv_ll_get_head(&LV_GC_ROOT(_lv_disp_ll)); else return _lv_ll_get_next(&LV_GC_ROOT(_lv_disp_ll), disp); - 11566: 4804 ldr r0, [pc, #16] ; (11578 ) - 11568: 4b04 ldr r3, [pc, #16] ; (1157c ) - 1156a: 4798 blx r3 + 10fbe: 4804 ldr r0, [pc, #16] ; (10fd0 ) + 10fc0: 4b04 ldr r3, [pc, #16] ; (10fd4 ) + 10fc2: 4798 blx r3 } - 1156c: bd08 pop {r3, pc} + 10fc4: bd08 pop {r3, pc} return _lv_ll_get_head(&LV_GC_ROOT(_lv_disp_ll)); - 1156e: 4802 ldr r0, [pc, #8] ; (11578 ) - 11570: 4b03 ldr r3, [pc, #12] ; (11580 ) - 11572: 4798 blx r3 - 11574: bd08 pop {r3, pc} - 11576: bf00 nop - 11578: 20006cb4 .word 0x20006cb4 - 1157c: 00012565 .word 0x00012565 - 11580: 00012551 .word 0x00012551 - -00011584 : + 10fc6: 4802 ldr r0, [pc, #8] ; (10fd0 ) + 10fc8: 4b03 ldr r3, [pc, #12] ; (10fd8 ) + 10fca: 4798 blx r3 + 10fcc: bd08 pop {r3, pc} + 10fce: bf00 nop + 10fd0: 20006c98 .word 0x20006c98 + 10fd4: 00011fbd .word 0x00011fbd + 10fd8: 00011fa9 .word 0x00011fa9 + +00010fdc : * @return pointer to the internal buffers */ lv_disp_buf_t * lv_disp_get_buf(lv_disp_t * disp) { return disp->driver.buffer; } - 11584: 6840 ldr r0, [r0, #4] - 11586: 4770 bx lr + 10fdc: 6840 ldr r0, [r0, #4] + 10fde: 4770 bx lr -00011588 : +00010fe0 : * @param disp pointer to to display to check * @return true: double buffered; false: not double buffered */ bool lv_disp_is_double_buf(lv_disp_t * disp) { if(disp->driver.buffer->buf1 && disp->driver.buffer->buf2) - 11588: 6843 ldr r3, [r0, #4] - 1158a: 681a ldr r2, [r3, #0] - 1158c: b122 cbz r2, 11598 - 1158e: 6858 ldr r0, [r3, #4] - 11590: 3000 adds r0, #0 - 11592: bf18 it ne - 11594: 2001 movne r0, #1 - 11596: 4770 bx lr + 10fe0: 6843 ldr r3, [r0, #4] + 10fe2: 681a ldr r2, [r3, #0] + 10fe4: b122 cbz r2, 10ff0 + 10fe6: 6858 ldr r0, [r3, #4] + 10fe8: 3000 adds r0, #0 + 10fea: bf18 it ne + 10fec: 2001 movne r0, #1 + 10fee: 4770 bx lr return true; else return false; - 11598: 2000 movs r0, #0 + 10ff0: 2000 movs r0, #0 } - 1159a: 4770 bx lr + 10ff2: 4770 bx lr -0001159c : +00010ff4 : * `size` is screen sized) * @param disp pointer to to display to check * @return true: double buffered; false: not double buffered */ bool lv_disp_is_true_double_buf(lv_disp_t * disp) { - 1159c: b510 push {r4, lr} - 1159e: 4604 mov r4, r0 + 10ff4: b510 push {r4, lr} + 10ff6: 4604 mov r4, r0 uint32_t scr_size = disp->driver.hor_res * disp->driver.ver_res; if(lv_disp_is_double_buf(disp) && disp->driver.buffer->size == scr_size) { - 115a0: 4b08 ldr r3, [pc, #32] ; (115c4 ) - 115a2: 4798 blx r3 - 115a4: 4603 mov r3, r0 - 115a6: b158 cbz r0, 115c0 + 10ff8: 4b08 ldr r3, [pc, #32] ; (1101c ) + 10ffa: 4798 blx r3 + 10ffc: 4603 mov r3, r0 + 10ffe: b158 cbz r0, 11018 uint32_t scr_size = disp->driver.hor_res * disp->driver.ver_res; - 115a8: f9b4 2000 ldrsh.w r2, [r4] - 115ac: f9b4 3002 ldrsh.w r3, [r4, #2] - 115b0: fb03 f302 mul.w r3, r3, r2 + 11000: f9b4 2000 ldrsh.w r2, [r4] + 11004: f9b4 3002 ldrsh.w r3, [r4, #2] + 11008: fb03 f302 mul.w r3, r3, r2 if(lv_disp_is_double_buf(disp) && disp->driver.buffer->size == scr_size) { - 115b4: 6862 ldr r2, [r4, #4] - 115b6: 68d2 ldr r2, [r2, #12] - 115b8: 4293 cmp r3, r2 - 115ba: bf14 ite ne - 115bc: 2300 movne r3, #0 - 115be: 2301 moveq r3, #1 + 1100c: 6862 ldr r2, [r4, #4] + 1100e: 68d2 ldr r2, [r2, #12] + 11010: 4293 cmp r3, r2 + 11012: bf14 ite ne + 11014: 2300 movne r3, #0 + 11016: 2301 moveq r3, #1 return true; } else { return false; } } - 115c0: 4618 mov r0, r3 - 115c2: bd10 pop {r4, pc} - 115c4: 00011589 .word 0x00011589 + 11018: 4618 mov r0, r3 + 1101a: bd10 pop {r4, pc} + 1101c: 00010fe1 .word 0x00010fe1 -000115c8 : +00011020 : * @param indev pointer to the current input device. NULL to initialize. * @return the next input devise or NULL if no more. Give the first input device when the parameter * is NULL */ lv_indev_t * lv_indev_get_next(lv_indev_t * indev) { - 115c8: b508 push {r3, lr} + 11020: b508 push {r3, lr} if(indev == NULL) - 115ca: b120 cbz r0, 115d6 - 115cc: 4601 mov r1, r0 + 11022: b120 cbz r0, 1102e + 11024: 4601 mov r1, r0 return _lv_ll_get_head(&LV_GC_ROOT(_lv_indev_ll)); else return _lv_ll_get_next(&LV_GC_ROOT(_lv_indev_ll), indev); - 115ce: 4804 ldr r0, [pc, #16] ; (115e0 ) - 115d0: 4b04 ldr r3, [pc, #16] ; (115e4 ) - 115d2: 4798 blx r3 + 11026: 4804 ldr r0, [pc, #16] ; (11038 ) + 11028: 4b04 ldr r3, [pc, #16] ; (1103c ) + 1102a: 4798 blx r3 } - 115d4: bd08 pop {r3, pc} + 1102c: bd08 pop {r3, pc} return _lv_ll_get_head(&LV_GC_ROOT(_lv_indev_ll)); - 115d6: 4802 ldr r0, [pc, #8] ; (115e0 ) - 115d8: 4b03 ldr r3, [pc, #12] ; (115e8 ) - 115da: 4798 blx r3 - 115dc: bd08 pop {r3, pc} - 115de: bf00 nop - 115e0: 20006ca8 .word 0x20006ca8 - 115e4: 00012565 .word 0x00012565 - 115e8: 00012551 .word 0x00012551 - -000115ec : + 1102e: 4802 ldr r0, [pc, #8] ; (11038 ) + 11030: 4b03 ldr r3, [pc, #12] ; (11040 ) + 11032: 4798 blx r3 + 11034: bd08 pop {r3, pc} + 11036: bf00 nop + 11038: 20006c8c .word 0x20006c8c + 1103c: 00011fbd .word 0x00011fbd + 11040: 00011fa9 .word 0x00011fa9 + +00011044 : * You have to call this function periodically * @param tick_period the call period of this function in milliseconds */ LV_ATTRIBUTE_TICK_INC void lv_tick_inc(uint32_t tick_period) { tick_irq_flag = 0; - 115ec: 4b03 ldr r3, [pc, #12] ; (115fc ) - 115ee: 2200 movs r2, #0 - 115f0: 701a strb r2, [r3, #0] + 11044: 4b03 ldr r3, [pc, #12] ; (11054 ) + 11046: 2200 movs r2, #0 + 11048: 701a strb r2, [r3, #0] sys_time += tick_period; - 115f2: 685a ldr r2, [r3, #4] - 115f4: 4410 add r0, r2 - 115f6: 6058 str r0, [r3, #4] - 115f8: 4770 bx lr - 115fa: bf00 nop - 115fc: 20002b74 .word 0x20002b74 - -00011600 : + 1104a: 685a ldr r2, [r3, #4] + 1104c: 4410 add r0, r2 + 1104e: 6058 str r0, [r3, #4] + 11050: 4770 bx lr + 11052: bf00 nop + 11054: 20002b74 .word 0x20002b74 + +00011058 : uint32_t lv_tick_get(void) { #if LV_TICK_CUSTOM == 0 uint32_t result; do { tick_irq_flag = 1; - 11600: 4b04 ldr r3, [pc, #16] ; (11614 ) - 11602: f04f 0101 mov.w r1, #1 - 11606: 7019 strb r1, [r3, #0] + 11058: 4b04 ldr r3, [pc, #16] ; (1106c ) + 1105a: f04f 0101 mov.w r1, #1 + 1105e: 7019 strb r1, [r3, #0] result = sys_time; } while(!tick_irq_flag); /*'lv_tick_inc()' clears this flag which can be in an interrupt. - 11608: 781a ldrb r2, [r3, #0] - 1160a: 2a00 cmp r2, #0 - 1160c: d0fb beq.n 11606 + 11060: 781a ldrb r2, [r3, #0] + 11062: 2a00 cmp r2, #0 + 11064: d0fb beq.n 1105e return result; #else return LV_TICK_CUSTOM_SYS_TIME_EXPR; #endif } - 1160e: 4b01 ldr r3, [pc, #4] ; (11614 ) - 11610: 6858 ldr r0, [r3, #4] - 11612: 4770 bx lr - 11614: 20002b74 .word 0x20002b74 + 11066: 4b01 ldr r3, [pc, #4] ; (1106c ) + 11068: 6858 ldr r0, [r3, #4] + 1106a: 4770 bx lr + 1106c: 20002b74 .word 0x20002b74 -00011618 : +00011070 : * Get the elapsed milliseconds since a previous time stamp * @param prev_tick a previous time stamp (return value of systick_get() ) * @return the elapsed milliseconds since 'prev_tick' */ uint32_t lv_tick_elaps(uint32_t prev_tick) { - 11618: b510 push {r4, lr} - 1161a: 4604 mov r4, r0 + 11070: b510 push {r4, lr} + 11072: 4604 mov r4, r0 uint32_t act_time = lv_tick_get(); - 1161c: 4b01 ldr r3, [pc, #4] ; (11624 ) - 1161e: 4798 blx r3 + 11074: 4b01 ldr r3, [pc, #4] ; (1107c ) + 11076: 4798 blx r3 prev_tick = UINT32_MAX - prev_tick + 1; prev_tick += act_time; } return prev_tick; } - 11620: 1b00 subs r0, r0, r4 - 11622: bd10 pop {r4, pc} - 11624: 00011601 .word 0x00011601 + 11078: 1b00 subs r0, r0, r4 + 1107a: bd10 pop {r4, pc} + 1107c: 00011059 .word 0x00011059 -00011628 : +00011080 : { LV_UNUSED(path); /*Calculate the current step*/ uint32_t step; if(a->time == a->act_time) { - 11628: 6a0a ldr r2, [r1, #32] - 1162a: 6a48 ldr r0, [r1, #36] ; 0x24 - 1162c: 4282 cmp r2, r0 + 11080: 6a0a ldr r2, [r1, #32] + 11082: 6a48 ldr r0, [r1, #36] ; 0x24 + 11084: 4282 cmp r2, r0 step = LV_ANIM_RESOLUTION; /*Use the last value if the time fully elapsed*/ } else { step = ((int32_t)a->act_time * LV_ANIM_RESOLUTION) / a->time; - 1162e: bf1a itte ne - 11630: 0280 lslne r0, r0, #10 - 11632: fb90 f0f2 sdivne r0, r0, r2 - 11636: f44f 6080 moveq.w r0, #1024 ; 0x400 + 11086: bf1a itte ne + 11088: 0280 lslne r0, r0, #10 + 1108a: fb90 f0f2 sdivne r0, r0, r2 + 1108e: f44f 6080 moveq.w r0, #1024 ; 0x400 } /* Get the new value which will be proportional to `step` * and the `start` and `end` values*/ int32_t new_value; new_value = (int32_t)step * (a->end - a->start); - 1163a: 698a ldr r2, [r1, #24] - 1163c: 69cb ldr r3, [r1, #28] - 1163e: 1a9b subs r3, r3, r2 - 11640: fb00 f003 mul.w r0, r0, r3 + 11092: 698a ldr r2, [r1, #24] + 11094: 69cb ldr r3, [r1, #28] + 11096: 1a9b subs r3, r3, r2 + 11098: fb00 f003 mul.w r0, r0, r3 new_value = new_value >> LV_ANIM_RES_SHIFT; new_value += a->start; - 11644: eb02 20a0 add.w r0, r2, r0, asr #10 + 1109c: eb02 20a0 add.w r0, r2, r0, asr #10 return (lv_anim_value_t)new_value; } - 11648: b200 sxth r0, r0 - 1164a: 4770 bx lr + 110a0: b200 sxth r0, r0 + 110a2: 4770 bx lr -0001164c : +000110a4 : } return anim_list_changed; } static void anim_mark_list_change(void) { - 1164c: b508 push {r3, lr} + 110a4: b508 push {r3, lr} anim_list_changed = true; - 1164e: 2201 movs r2, #1 - 11650: 4b08 ldr r3, [pc, #32] ; (11674 ) - 11652: 701a strb r2, [r3, #0] + 110a6: 2201 movs r2, #1 + 110a8: 4b08 ldr r3, [pc, #32] ; (110cc ) + 110aa: 701a strb r2, [r3, #0] if(_lv_ll_get_head(&LV_GC_ROOT(_lv_anim_ll)) == NULL) - 11654: 4808 ldr r0, [pc, #32] ; (11678 ) - 11656: 4b09 ldr r3, [pc, #36] ; (1167c ) - 11658: 4798 blx r3 - 1165a: b128 cbz r0, 11668 + 110ac: 4808 ldr r0, [pc, #32] ; (110d0 ) + 110ae: 4b09 ldr r3, [pc, #36] ; (110d4 ) + 110b0: 4798 blx r3 + 110b2: b128 cbz r0, 110c0 lv_task_set_prio(_lv_anim_task, LV_TASK_PRIO_OFF); else lv_task_set_prio(_lv_anim_task, LV_ANIM_TASK_PRIO); - 1165c: 2104 movs r1, #4 - 1165e: 4b05 ldr r3, [pc, #20] ; (11674 ) - 11660: 6858 ldr r0, [r3, #4] - 11662: 4b07 ldr r3, [pc, #28] ; (11680 ) - 11664: 4798 blx r3 - 11666: bd08 pop {r3, pc} + 110b4: 2104 movs r1, #4 + 110b6: 4b05 ldr r3, [pc, #20] ; (110cc ) + 110b8: 6858 ldr r0, [r3, #4] + 110ba: 4b07 ldr r3, [pc, #28] ; (110d8 ) + 110bc: 4798 blx r3 + 110be: bd08 pop {r3, pc} lv_task_set_prio(_lv_anim_task, LV_TASK_PRIO_OFF); - 11668: 2100 movs r1, #0 - 1166a: 4b02 ldr r3, [pc, #8] ; (11674 ) - 1166c: 6858 ldr r0, [r3, #4] - 1166e: 4b04 ldr r3, [pc, #16] ; (11680 ) - 11670: 4798 blx r3 - 11672: bd08 pop {r3, pc} - 11674: 20002b7c .word 0x20002b7c - 11678: 20006d78 .word 0x20006d78 - 1167c: 00012551 .word 0x00012551 - 11680: 00013f01 .word 0x00013f01 - -00011684 : -{ - 11684: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} - 11688: b091 sub sp, #68 ; 0x44 + 110c0: 2100 movs r1, #0 + 110c2: 4b02 ldr r3, [pc, #8] ; (110cc ) + 110c4: 6858 ldr r0, [r3, #4] + 110c6: 4b04 ldr r3, [pc, #16] ; (110d8 ) + 110c8: 4798 blx r3 + 110ca: bd08 pop {r3, pc} + 110cc: 20002b7c .word 0x20002b7c + 110d0: 20006d5c .word 0x20006d5c + 110d4: 00011fa9 .word 0x00011fa9 + 110d8: 00013959 .word 0x00013959 + +000110dc : +{ + 110dc: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} + 110e0: b091 sub sp, #68 ; 0x44 _LV_LL_READ(LV_GC_ROOT(_lv_anim_ll), a) { - 1168a: 4863 ldr r0, [pc, #396] ; (11818 ) - 1168c: 4b63 ldr r3, [pc, #396] ; (1181c ) - 1168e: 4798 blx r3 - 11690: b168 cbz r0, 116ae - 11692: 4601 mov r1, r0 - 11694: 4d60 ldr r5, [pc, #384] ; (11818 ) - 11696: 4c62 ldr r4, [pc, #392] ; (11820 ) + 110e2: 4863 ldr r0, [pc, #396] ; (11270 ) + 110e4: 4b63 ldr r3, [pc, #396] ; (11274 ) + 110e6: 4798 blx r3 + 110e8: b168 cbz r0, 11106 + 110ea: 4601 mov r1, r0 + 110ec: 4d60 ldr r5, [pc, #384] ; (11270 ) + 110ee: 4c62 ldr r4, [pc, #392] ; (11278 ) a->has_run = 0; - 11698: f891 303c ldrb.w r3, [r1, #60] ; 0x3c - 1169c: f36f 0341 bfc r3, #1, #1 - 116a0: f881 303c strb.w r3, [r1, #60] ; 0x3c + 110f0: f891 303c ldrb.w r3, [r1, #60] ; 0x3c + 110f4: f36f 0341 bfc r3, #1, #1 + 110f8: f881 303c strb.w r3, [r1, #60] ; 0x3c _LV_LL_READ(LV_GC_ROOT(_lv_anim_ll), a) { - 116a4: 4628 mov r0, r5 - 116a6: 47a0 blx r4 - 116a8: 4601 mov r1, r0 - 116aa: 2800 cmp r0, #0 - 116ac: d1f4 bne.n 11698 + 110fc: 4628 mov r0, r5 + 110fe: 47a0 blx r4 + 11100: 4601 mov r1, r0 + 11102: 2800 cmp r0, #0 + 11104: d1f4 bne.n 110f0 uint32_t elaps = lv_tick_elaps(last_task_run); - 116ae: 4b5d ldr r3, [pc, #372] ; (11824 ) - 116b0: 6898 ldr r0, [r3, #8] - 116b2: 4b5d ldr r3, [pc, #372] ; (11828 ) - 116b4: 4798 blx r3 - 116b6: 4680 mov r8, r0 + 11106: 4b5d ldr r3, [pc, #372] ; (1127c ) + 11108: 6898 ldr r0, [r3, #8] + 1110a: 4b5d ldr r3, [pc, #372] ; (11280 ) + 1110c: 4798 blx r3 + 1110e: 4680 mov r8, r0 a = _lv_ll_get_head(&LV_GC_ROOT(_lv_anim_ll)); - 116b8: 4857 ldr r0, [pc, #348] ; (11818 ) - 116ba: 4b58 ldr r3, [pc, #352] ; (1181c ) - 116bc: 4798 blx r3 + 11110: 4857 ldr r0, [pc, #348] ; (11270 ) + 11112: 4b58 ldr r3, [pc, #352] ; (11274 ) + 11114: 4798 blx r3 while(a != NULL) { - 116be: 4604 mov r4, r0 - 116c0: 2800 cmp r0, #0 - 116c2: f000 8089 beq.w 117d8 + 11116: 4604 mov r4, r0 + 11118: 2800 cmp r0, #0 + 1111a: f000 8089 beq.w 11230 anim_list_changed = false; - 116c6: 4d57 ldr r5, [pc, #348] ; (11824 ) - 116c8: f04f 0700 mov.w r7, #0 + 1111e: 4d57 ldr r5, [pc, #348] ; (1127c ) + 11120: f04f 0700 mov.w r7, #0 a = _lv_ll_get_head(&LV_GC_ROOT(_lv_anim_ll)); - 116cc: 4e52 ldr r6, [pc, #328] ; (11818 ) - 116ce: f8df 914c ldr.w r9, [pc, #332] ; 1181c - 116d2: e01c b.n 1170e + 11124: 4e52 ldr r6, [pc, #328] ; (11270 ) + 11126: f8df 914c ldr.w r9, [pc, #332] ; 11274 + 1112a: e01c b.n 11166 if(a->act_time <= 0 && new_act_time >= 0) { - 116d4: eb13 0308 adds.w r3, r3, r8 - 116d8: f100 8085 bmi.w 117e6 + 1112c: eb13 0308 adds.w r3, r3, r8 + 11130: f100 8085 bmi.w 1123e if(a->start_cb) a->start_cb(a); - 116dc: 68a2 ldr r2, [r4, #8] - 116de: 2a00 cmp r2, #0 - 116e0: f000 8088 beq.w 117f4 - 116e4: 4620 mov r0, r4 - 116e6: 4790 blx r2 - 116e8: e01e b.n 11728 + 11134: 68a2 ldr r2, [r4, #8] + 11136: 2a00 cmp r2, #0 + 11138: f000 8088 beq.w 1124c + 1113c: 4620 mov r0, r4 + 1113e: 4790 blx r2 + 11140: e01e b.n 11180 else new_value = lv_anim_path_linear(&a->path, a); - 116ea: 4621 mov r1, r4 - 116ec: f104 0010 add.w r0, r4, #16 - 116f0: 4b4e ldr r3, [pc, #312] ; (1182c ) - 116f2: 4798 blx r3 - 116f4: e028 b.n 11748 + 11142: 4621 mov r1, r4 + 11144: f104 0010 add.w r0, r4, #16 + 11148: 4b4e ldr r3, [pc, #312] ; (11284 ) + 1114a: 4798 blx r3 + 1114c: e028 b.n 111a0 if(a->act_time >= a->time) { - 116f6: 6a62 ldr r2, [r4, #36] ; 0x24 - 116f8: 6a23 ldr r3, [r4, #32] - 116fa: 429a cmp r2, r3 - 116fc: da2b bge.n 11756 + 1114e: 6a62 ldr r2, [r4, #36] ; 0x24 + 11150: 6a23 ldr r3, [r4, #32] + 11152: 429a cmp r2, r3 + 11154: da2b bge.n 111ae if(anim_list_changed) - 116fe: 782b ldrb r3, [r5, #0] - 11700: 2b00 cmp r3, #0 - 11702: d071 beq.n 117e8 + 11156: 782b ldrb r3, [r5, #0] + 11158: 2b00 cmp r3, #0 + 1115a: d071 beq.n 11240 a = _lv_ll_get_head(&LV_GC_ROOT(_lv_anim_ll)); - 11704: 4630 mov r0, r6 - 11706: 47c8 blx r9 - 11708: 4604 mov r4, r0 + 1115c: 4630 mov r0, r6 + 1115e: 47c8 blx r9 + 11160: 4604 mov r4, r0 while(a != NULL) { - 1170a: 2c00 cmp r4, #0 - 1170c: d064 beq.n 117d8 + 11162: 2c00 cmp r4, #0 + 11164: d064 beq.n 11230 anim_list_changed = false; - 1170e: 702f strb r7, [r5, #0] + 11166: 702f strb r7, [r5, #0] if(!a->has_run) { - 11710: f894 303c ldrb.w r3, [r4, #60] ; 0x3c - 11714: f013 0f02 tst.w r3, #2 - 11718: d166 bne.n 117e8 + 11168: f894 303c ldrb.w r3, [r4, #60] ; 0x3c + 1116c: f013 0f02 tst.w r3, #2 + 11170: d166 bne.n 11240 a->has_run = 1; /*The list readying might be reseted so need to know which anim has run already*/ - 1171a: f043 0302 orr.w r3, r3, #2 - 1171e: f884 303c strb.w r3, [r4, #60] ; 0x3c + 11172: f043 0302 orr.w r3, r3, #2 + 11176: f884 303c strb.w r3, [r4, #60] ; 0x3c int32_t new_act_time = a->act_time + elaps; - 11722: 6a63 ldr r3, [r4, #36] ; 0x24 + 1117a: 6a63 ldr r3, [r4, #36] ; 0x24 if(a->act_time <= 0 && new_act_time >= 0) { - 11724: 2b00 cmp r3, #0 - 11726: ddd5 ble.n 116d4 + 1117c: 2b00 cmp r3, #0 + 1117e: ddd5 ble.n 1112c a->act_time += elaps; - 11728: 6a63 ldr r3, [r4, #36] ; 0x24 - 1172a: 4443 add r3, r8 - 1172c: 6263 str r3, [r4, #36] ; 0x24 + 11180: 6a63 ldr r3, [r4, #36] ; 0x24 + 11182: 4443 add r3, r8 + 11184: 6263 str r3, [r4, #36] ; 0x24 if(a->act_time >= 0) { - 1172e: 2b00 cmp r3, #0 - 11730: dbe5 blt.n 116fe + 11186: 2b00 cmp r3, #0 + 11188: dbe5 blt.n 11156 if(a->act_time > a->time) a->act_time = a->time; - 11732: 6a22 ldr r2, [r4, #32] - 11734: 429a cmp r2, r3 - 11736: bfb8 it lt - 11738: 6262 strlt r2, [r4, #36] ; 0x24 + 1118a: 6a22 ldr r2, [r4, #32] + 1118c: 429a cmp r2, r3 + 1118e: bfb8 it lt + 11190: 6262 strlt r2, [r4, #36] ; 0x24 if(a->path.cb) new_value = a->path.cb(&a->path, a); - 1173a: 6923 ldr r3, [r4, #16] - 1173c: 2b00 cmp r3, #0 - 1173e: d0d4 beq.n 116ea - 11740: 4621 mov r1, r4 - 11742: f104 0010 add.w r0, r4, #16 - 11746: 4798 blx r3 + 11192: 6923 ldr r3, [r4, #16] + 11194: 2b00 cmp r3, #0 + 11196: d0d4 beq.n 11142 + 11198: 4621 mov r1, r4 + 1119a: f104 0010 add.w r0, r4, #16 + 1119e: 4798 blx r3 if(a->exec_cb) a->exec_cb(a->var, new_value); - 11748: 6863 ldr r3, [r4, #4] - 1174a: 2b00 cmp r3, #0 - 1174c: d0d3 beq.n 116f6 - 1174e: b201 sxth r1, r0 - 11750: 6820 ldr r0, [r4, #0] - 11752: 4798 blx r3 - 11754: e7cf b.n 116f6 + 111a0: 6863 ldr r3, [r4, #4] + 111a2: 2b00 cmp r3, #0 + 111a4: d0d3 beq.n 1114e + 111a6: b201 sxth r1, r0 + 111a8: 6820 ldr r0, [r4, #0] + 111aa: 4798 blx r3 + 111ac: e7cf b.n 1114e if(a->playback_now == 0 && a->repeat_cnt > 0 && a->repeat_cnt != LV_ANIM_REPEAT_INFINITE) { - 11756: f894 303c ldrb.w r3, [r4, #60] ; 0x3c - 1175a: f013 0301 ands.w r3, r3, #1 - 1175e: d108 bne.n 11772 - 11760: 8ea2 ldrh r2, [r4, #52] ; 0x34 - 11762: 2a00 cmp r2, #0 - 11764: d048 beq.n 117f8 - 11766: f64f 71ff movw r1, #65535 ; 0xffff - 1176a: 428a cmp r2, r1 - 1176c: d04b beq.n 11806 + 111ae: f894 303c ldrb.w r3, [r4, #60] ; 0x3c + 111b2: f013 0301 ands.w r3, r3, #1 + 111b6: d108 bne.n 111ca + 111b8: 8ea2 ldrh r2, [r4, #52] ; 0x34 + 111ba: 2a00 cmp r2, #0 + 111bc: d048 beq.n 11250 + 111be: f64f 71ff movw r1, #65535 ; 0xffff + 111c2: 428a cmp r2, r1 + 111c4: d04b beq.n 1125e a->repeat_cnt--; - 1176e: 3a01 subs r2, #1 - 11770: 86a2 strh r2, [r4, #52] ; 0x34 + 111c6: 3a01 subs r2, #1 + 111c8: 86a2 strh r2, [r4, #52] ; 0x34 if(a->repeat_cnt == 0 && ((a->playback_time == 0) || (a->playback_time && a->playback_now == 1))) { - 11772: 8ea2 ldrh r2, [r4, #52] ; 0x34 - 11774: b1ca cbz r2, 117aa + 111ca: 8ea2 ldrh r2, [r4, #52] ; 0x34 + 111cc: b1ca cbz r2, 11202 a->act_time = -a->repeat_delay; /*Restart the animation*/ - 11776: 6b22 ldr r2, [r4, #48] ; 0x30 - 11778: 4252 negs r2, r2 - 1177a: 6262 str r2, [r4, #36] ; 0x24 + 111ce: 6b22 ldr r2, [r4, #48] ; 0x30 + 111d0: 4252 negs r2, r2 + 111d2: 6262 str r2, [r4, #36] ; 0x24 if(a->playback_time != 0) { - 1177c: 6ae2 ldr r2, [r4, #44] ; 0x2c - 1177e: 2a00 cmp r2, #0 - 11780: d0bd beq.n 116fe + 111d4: 6ae2 ldr r2, [r4, #44] ; 0x2c + 111d6: 2a00 cmp r2, #0 + 111d8: d0bd beq.n 11156 if(a->playback_now == 0) a->act_time = -a->playback_delay; - 11782: 2b00 cmp r3, #0 - 11784: d03b beq.n 117fe + 111da: 2b00 cmp r3, #0 + 111dc: d03b beq.n 11256 a->playback_now = a->playback_now == 0 ? 1 : 0; - 11786: f083 0301 eor.w r3, r3, #1 - 1178a: f894 103c ldrb.w r1, [r4, #60] ; 0x3c - 1178e: f363 0100 bfi r1, r3, #0, #1 - 11792: f884 103c strb.w r1, [r4, #60] ; 0x3c + 111de: f083 0301 eor.w r3, r3, #1 + 111e2: f894 103c ldrb.w r1, [r4, #60] ; 0x3c + 111e6: f363 0100 bfi r1, r3, #0, #1 + 111ea: f884 103c strb.w r1, [r4, #60] ; 0x3c tmp = a->start; - 11796: 69a3 ldr r3, [r4, #24] + 111ee: 69a3 ldr r3, [r4, #24] a->start = a->end; - 11798: 69e0 ldr r0, [r4, #28] - 1179a: 61a0 str r0, [r4, #24] + 111f0: 69e0 ldr r0, [r4, #28] + 111f2: 61a0 str r0, [r4, #24] a->end = tmp; - 1179c: 61e3 str r3, [r4, #28] + 111f4: 61e3 str r3, [r4, #28] a->time = a->playback_now == 0 ? a->time_orig : a->playback_time; - 1179e: f011 0f01 tst.w r1, #1 - 117a2: bf08 it eq - 117a4: 6ba2 ldreq r2, [r4, #56] ; 0x38 - 117a6: 6222 str r2, [r4, #32] - 117a8: e7a9 b.n 116fe + 111f6: f011 0f01 tst.w r1, #1 + 111fa: bf08 it eq + 111fc: 6ba2 ldreq r2, [r4, #56] ; 0x38 + 111fe: 6222 str r2, [r4, #32] + 11200: e7a9 b.n 11156 if(a->repeat_cnt == 0 && ((a->playback_time == 0) || (a->playback_time && a->playback_now == 1))) { - 117aa: 6ae2 ldr r2, [r4, #44] ; 0x2c - 117ac: b102 cbz r2, 117b0 - 117ae: b333 cbz r3, 117fe + 11202: 6ae2 ldr r2, [r4, #44] ; 0x2c + 11204: b102 cbz r2, 11208 + 11206: b333 cbz r3, 11256 _lv_memcpy(&a_tmp, a, sizeof(lv_anim_t)); - 117b0: 2240 movs r2, #64 ; 0x40 - 117b2: 4621 mov r1, r4 - 117b4: 4668 mov r0, sp - 117b6: 4b1e ldr r3, [pc, #120] ; (11830 ) - 117b8: 4798 blx r3 + 11208: 2240 movs r2, #64 ; 0x40 + 1120a: 4621 mov r1, r4 + 1120c: 4668 mov r0, sp + 1120e: 4b1e ldr r3, [pc, #120] ; (11288 ) + 11210: 4798 blx r3 _lv_ll_remove(&LV_GC_ROOT(_lv_anim_ll), a); - 117ba: 4621 mov r1, r4 - 117bc: 4630 mov r0, r6 - 117be: 4b1d ldr r3, [pc, #116] ; (11834 ) - 117c0: 4798 blx r3 + 11212: 4621 mov r1, r4 + 11214: 4630 mov r0, r6 + 11216: 4b1d ldr r3, [pc, #116] ; (1128c ) + 11218: 4798 blx r3 lv_mem_free(a); - 117c2: 4620 mov r0, r4 - 117c4: 4b1c ldr r3, [pc, #112] ; (11838 ) - 117c6: 4798 blx r3 + 1121a: 4620 mov r0, r4 + 1121c: 4b1c ldr r3, [pc, #112] ; (11290 ) + 1121e: 4798 blx r3 anim_mark_list_change(); - 117c8: 4b1c ldr r3, [pc, #112] ; (1183c ) - 117ca: 4798 blx r3 + 11220: 4b1c ldr r3, [pc, #112] ; (11294 ) + 11222: 4798 blx r3 if(a_tmp.ready_cb != NULL) a_tmp.ready_cb(&a_tmp); - 117cc: 9b03 ldr r3, [sp, #12] - 117ce: 2b00 cmp r3, #0 - 117d0: d095 beq.n 116fe - 117d2: 4668 mov r0, sp - 117d4: 4798 blx r3 - 117d6: e792 b.n 116fe + 11224: 9b03 ldr r3, [sp, #12] + 11226: 2b00 cmp r3, #0 + 11228: d095 beq.n 11156 + 1122a: 4668 mov r0, sp + 1122c: 4798 blx r3 + 1122e: e792 b.n 11156 last_task_run = lv_tick_get(); - 117d8: 4b19 ldr r3, [pc, #100] ; (11840 ) - 117da: 4798 blx r3 - 117dc: 4b11 ldr r3, [pc, #68] ; (11824 ) - 117de: 6098 str r0, [r3, #8] + 11230: 4b19 ldr r3, [pc, #100] ; (11298 ) + 11232: 4798 blx r3 + 11234: 4b11 ldr r3, [pc, #68] ; (1127c ) + 11236: 6098 str r0, [r3, #8] } - 117e0: b011 add sp, #68 ; 0x44 - 117e2: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} + 11238: b011 add sp, #68 ; 0x44 + 1123a: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} a->act_time += elaps; - 117e6: 6263 str r3, [r4, #36] ; 0x24 + 1123e: 6263 str r3, [r4, #36] ; 0x24 a = _lv_ll_get_next(&LV_GC_ROOT(_lv_anim_ll), a); - 117e8: 4621 mov r1, r4 - 117ea: 4630 mov r0, r6 - 117ec: 4b0c ldr r3, [pc, #48] ; (11820 ) - 117ee: 4798 blx r3 - 117f0: 4604 mov r4, r0 - 117f2: e78a b.n 1170a + 11240: 4621 mov r1, r4 + 11242: 4630 mov r0, r6 + 11244: 4b0c ldr r3, [pc, #48] ; (11278 ) + 11246: 4798 blx r3 + 11248: 4604 mov r4, r0 + 1124a: e78a b.n 11162 a->act_time += elaps; - 117f4: 6263 str r3, [r4, #36] ; 0x24 - 117f6: e79c b.n 11732 + 1124c: 6263 str r3, [r4, #36] ; 0x24 + 1124e: e79c b.n 1118a if(a->repeat_cnt == 0 && ((a->playback_time == 0) || (a->playback_time && a->playback_now == 1))) { - 117f8: 6ae2 ldr r2, [r4, #44] ; 0x2c - 117fa: 2a00 cmp r2, #0 - 117fc: d0d8 beq.n 117b0 + 11250: 6ae2 ldr r2, [r4, #44] ; 0x2c + 11252: 2a00 cmp r2, #0 + 11254: d0d8 beq.n 11208 if(a->playback_now == 0) a->act_time = -a->playback_delay; - 117fe: 6aa1 ldr r1, [r4, #40] ; 0x28 - 11800: 4249 negs r1, r1 - 11802: 6261 str r1, [r4, #36] ; 0x24 - 11804: e7bf b.n 11786 + 11256: 6aa1 ldr r1, [r4, #40] ; 0x28 + 11258: 4249 negs r1, r1 + 1125a: 6261 str r1, [r4, #36] ; 0x24 + 1125c: e7bf b.n 111de a->act_time = -a->repeat_delay; /*Restart the animation*/ - 11806: 6b22 ldr r2, [r4, #48] ; 0x30 - 11808: 4252 negs r2, r2 - 1180a: 6262 str r2, [r4, #36] ; 0x24 + 1125e: 6b22 ldr r2, [r4, #48] ; 0x30 + 11260: 4252 negs r2, r2 + 11262: 6262 str r2, [r4, #36] ; 0x24 if(a->playback_time != 0) { - 1180c: 6ae2 ldr r2, [r4, #44] ; 0x2c - 1180e: 2a00 cmp r2, #0 - 11810: f43f af75 beq.w 116fe - 11814: e7f3 b.n 117fe - 11816: bf00 nop - 11818: 20006d78 .word 0x20006d78 - 1181c: 00012551 .word 0x00012551 - 11820: 00012565 .word 0x00012565 - 11824: 20002b7c .word 0x20002b7c - 11828: 00011619 .word 0x00011619 - 1182c: 00011629 .word 0x00011629 - 11830: 00012bfd .word 0x00012bfd - 11834: 0001263d .word 0x0001263d - 11838: 00012a6d .word 0x00012a6d - 1183c: 0001164d .word 0x0001164d - 11840: 00011601 .word 0x00011601 - -00011844 <_lv_anim_core_init>: -{ - 11844: b538 push {r3, r4, r5, lr} + 11264: 6ae2 ldr r2, [r4, #44] ; 0x2c + 11266: 2a00 cmp r2, #0 + 11268: f43f af75 beq.w 11156 + 1126c: e7f3 b.n 11256 + 1126e: bf00 nop + 11270: 20006d5c .word 0x20006d5c + 11274: 00011fa9 .word 0x00011fa9 + 11278: 00011fbd .word 0x00011fbd + 1127c: 20002b7c .word 0x20002b7c + 11280: 00011071 .word 0x00011071 + 11284: 00011081 .word 0x00011081 + 11288: 00012655 .word 0x00012655 + 1128c: 00012095 .word 0x00012095 + 11290: 000124c5 .word 0x000124c5 + 11294: 000110a5 .word 0x000110a5 + 11298: 00011059 .word 0x00011059 + +0001129c <_lv_anim_core_init>: +{ + 1129c: b538 push {r3, r4, r5, lr} _lv_ll_init(&LV_GC_ROOT(_lv_anim_ll), sizeof(lv_anim_t)); - 11846: 2140 movs r1, #64 ; 0x40 - 11848: 4809 ldr r0, [pc, #36] ; (11870 <_lv_anim_core_init+0x2c>) - 1184a: 4b0a ldr r3, [pc, #40] ; (11874 <_lv_anim_core_init+0x30>) - 1184c: 4798 blx r3 + 1129e: 2140 movs r1, #64 ; 0x40 + 112a0: 4809 ldr r0, [pc, #36] ; (112c8 <_lv_anim_core_init+0x2c>) + 112a2: 4b0a ldr r3, [pc, #40] ; (112cc <_lv_anim_core_init+0x30>) + 112a4: 4798 blx r3 last_task_run = lv_tick_get(); - 1184e: 4b0a ldr r3, [pc, #40] ; (11878 <_lv_anim_core_init+0x34>) - 11850: 4798 blx r3 - 11852: 4c0a ldr r4, [pc, #40] ; (1187c <_lv_anim_core_init+0x38>) - 11854: 60a0 str r0, [r4, #8] + 112a6: 4b0a ldr r3, [pc, #40] ; (112d0 <_lv_anim_core_init+0x34>) + 112a8: 4798 blx r3 + 112aa: 4c0a ldr r4, [pc, #40] ; (112d4 <_lv_anim_core_init+0x38>) + 112ac: 60a0 str r0, [r4, #8] _lv_anim_task = lv_task_create(anim_task, LV_DISP_DEF_REFR_PERIOD, LV_ANIM_TASK_PRIO, NULL); - 11856: 2300 movs r3, #0 - 11858: 2204 movs r2, #4 - 1185a: 211e movs r1, #30 - 1185c: 4808 ldr r0, [pc, #32] ; (11880 <_lv_anim_core_init+0x3c>) - 1185e: 4d09 ldr r5, [pc, #36] ; (11884 <_lv_anim_core_init+0x40>) - 11860: 47a8 blx r5 - 11862: 6060 str r0, [r4, #4] + 112ae: 2300 movs r3, #0 + 112b0: 2204 movs r2, #4 + 112b2: 211e movs r1, #30 + 112b4: 4808 ldr r0, [pc, #32] ; (112d8 <_lv_anim_core_init+0x3c>) + 112b6: 4d09 ldr r5, [pc, #36] ; (112dc <_lv_anim_core_init+0x40>) + 112b8: 47a8 blx r5 + 112ba: 6060 str r0, [r4, #4] anim_mark_list_change(); /*Turn off the animation task*/ - 11864: 4b08 ldr r3, [pc, #32] ; (11888 <_lv_anim_core_init+0x44>) - 11866: 4798 blx r3 + 112bc: 4b08 ldr r3, [pc, #32] ; (112e0 <_lv_anim_core_init+0x44>) + 112be: 4798 blx r3 anim_list_changed = false; /*The list has not actaully changed*/ - 11868: 2300 movs r3, #0 - 1186a: 7023 strb r3, [r4, #0] - 1186c: bd38 pop {r3, r4, r5, pc} - 1186e: bf00 nop - 11870: 20006d78 .word 0x20006d78 - 11874: 000124a1 .word 0x000124a1 - 11878: 00011601 .word 0x00011601 - 1187c: 20002b7c .word 0x20002b7c - 11880: 00011685 .word 0x00011685 - 11884: 00013f8d .word 0x00013f8d - 11888: 0001164d .word 0x0001164d - -0001188c : -{ - 1188c: b510 push {r4, lr} - 1188e: 4604 mov r4, r0 + 112c0: 2300 movs r3, #0 + 112c2: 7023 strb r3, [r4, #0] + 112c4: bd38 pop {r3, r4, r5, pc} + 112c6: bf00 nop + 112c8: 20006d5c .word 0x20006d5c + 112cc: 00011ef9 .word 0x00011ef9 + 112d0: 00011059 .word 0x00011059 + 112d4: 20002b7c .word 0x20002b7c + 112d8: 000110dd .word 0x000110dd + 112dc: 000139e5 .word 0x000139e5 + 112e0: 000110a5 .word 0x000110a5 + +000112e4 : +{ + 112e4: b510 push {r4, lr} + 112e6: 4604 mov r4, r0 _lv_memset_00(a, sizeof(lv_anim_t)); - 11890: 2140 movs r1, #64 ; 0x40 - 11892: 4b0d ldr r3, [pc, #52] ; (118c8 ) - 11894: 4798 blx r3 + 112e8: 2140 movs r1, #64 ; 0x40 + 112ea: 4b0d ldr r3, [pc, #52] ; (11320 ) + 112ec: 4798 blx r3 a->time = 500; - 11896: f44f 73fa mov.w r3, #500 ; 0x1f4 - 1189a: 6223 str r3, [r4, #32] + 112ee: f44f 73fa mov.w r3, #500 ; 0x1f4 + 112f2: 6223 str r3, [r4, #32] a->start = 0; - 1189c: 2300 movs r3, #0 - 1189e: 61a3 str r3, [r4, #24] + 112f4: 2300 movs r3, #0 + 112f6: 61a3 str r3, [r4, #24] a->end = 100; - 118a0: 2364 movs r3, #100 ; 0x64 - 118a2: 61e3 str r3, [r4, #28] + 112f8: 2364 movs r3, #100 ; 0x64 + 112fa: 61e3 str r3, [r4, #28] { uint8_t * d8 = (uint8_t *)dst; const uint8_t * s8 = (const uint8_t *)src; while(len) { *d8 = *s8; - 118a4: 4b09 ldr r3, [pc, #36] ; (118cc ) - 118a6: 781a ldrb r2, [r3, #0] - 118a8: 7422 strb r2, [r4, #16] - 118aa: 785a ldrb r2, [r3, #1] - 118ac: 7462 strb r2, [r4, #17] - 118ae: 789a ldrb r2, [r3, #2] - 118b0: 74a2 strb r2, [r4, #18] - 118b2: 78db ldrb r3, [r3, #3] - 118b4: 74e3 strb r3, [r4, #19] + 112fc: 4b09 ldr r3, [pc, #36] ; (11324 ) + 112fe: 781a ldrb r2, [r3, #0] + 11300: 7422 strb r2, [r4, #16] + 11302: 785a ldrb r2, [r3, #1] + 11304: 7462 strb r2, [r4, #17] + 11306: 789a ldrb r2, [r3, #2] + 11308: 74a2 strb r2, [r4, #18] + 1130a: 78db ldrb r3, [r3, #3] + 1130c: 74e3 strb r3, [r4, #19] a->repeat_cnt = 1; - 118b6: 2301 movs r3, #1 - 118b8: 86a3 strh r3, [r4, #52] ; 0x34 + 1130e: 2301 movs r3, #1 + 11310: 86a3 strh r3, [r4, #52] ; 0x34 a->early_apply = 1; - 118ba: f894 3036 ldrb.w r3, [r4, #54] ; 0x36 - 118be: f043 0301 orr.w r3, r3, #1 - 118c2: f884 3036 strb.w r3, [r4, #54] ; 0x36 - 118c6: bd10 pop {r4, pc} - 118c8: 000130df .word 0x000130df - 118cc: 000206e4 .word 0x000206e4 - -000118d0 : -{ - 118d0: e92d 4ff8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr} - 118d4: 4607 mov r7, r0 - 118d6: 4689 mov r9, r1 + 11312: f894 3036 ldrb.w r3, [r4, #54] ; 0x36 + 11316: f043 0301 orr.w r3, r3, #1 + 1131a: f884 3036 strb.w r3, [r4, #54] ; 0x36 + 1131e: bd10 pop {r4, pc} + 11320: 00012b37 .word 0x00012b37 + 11324: 00029200 .word 0x00029200 + +00011328 : +{ + 11328: e92d 4ff8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr} + 1132c: 4607 mov r7, r0 + 1132e: 4689 mov r9, r1 a = _lv_ll_get_head(&LV_GC_ROOT(_lv_anim_ll)); - 118d8: 4815 ldr r0, [pc, #84] ; (11930 ) - 118da: 4b16 ldr r3, [pc, #88] ; (11934 ) - 118dc: 4798 blx r3 + 11330: 4815 ldr r0, [pc, #84] ; (11388 ) + 11332: 4b16 ldr r3, [pc, #88] ; (1138c ) + 11334: 4798 blx r3 while(a != NULL) { - 118de: b310 cbz r0, 11926 - 118e0: 4604 mov r4, r0 - 118e2: f04f 0a00 mov.w sl, #0 + 11336: b310 cbz r0, 1137e + 11338: 4604 mov r4, r0 + 1133a: f04f 0a00 mov.w sl, #0 a_next = _lv_ll_get_next(&LV_GC_ROOT(_lv_anim_ll), a); - 118e6: f8df 8048 ldr.w r8, [pc, #72] ; 11930 - 118ea: 4e13 ldr r6, [pc, #76] ; (11938 ) + 1133e: f8df 8048 ldr.w r8, [pc, #72] ; 11388 + 11342: 4e13 ldr r6, [pc, #76] ; (11390 ) _lv_ll_remove(&LV_GC_ROOT(_lv_anim_ll), a); - 118ec: f8df b054 ldr.w fp, [pc, #84] ; 11944 - 118f0: e00b b.n 1190a - 118f2: 4621 mov r1, r4 - 118f4: 4640 mov r0, r8 - 118f6: 47d8 blx fp + 11344: f8df b054 ldr.w fp, [pc, #84] ; 1139c + 11348: e00b b.n 11362 + 1134a: 4621 mov r1, r4 + 1134c: 4640 mov r0, r8 + 1134e: 47d8 blx fp lv_mem_free(a); - 118f8: 4620 mov r0, r4 - 118fa: 4b10 ldr r3, [pc, #64] ; (1193c ) - 118fc: 4798 blx r3 + 11350: 4620 mov r0, r4 + 11352: 4b10 ldr r3, [pc, #64] ; (11394 ) + 11354: 4798 blx r3 anim_mark_list_change(); /*Read by `anim_task`. It need to know if a delete occurred in - 118fe: 4b10 ldr r3, [pc, #64] ; (11940 ) - 11900: 4798 blx r3 + 11356: 4b10 ldr r3, [pc, #64] ; (11398 ) + 11358: 4798 blx r3 del = true; - 11902: f04f 0a01 mov.w sl, #1 - 11906: 462c mov r4, r5 + 1135a: f04f 0a01 mov.w sl, #1 + 1135e: 462c mov r4, r5 while(a != NULL) { - 11908: b17d cbz r5, 1192a + 11360: b17d cbz r5, 11382 a_next = _lv_ll_get_next(&LV_GC_ROOT(_lv_anim_ll), a); - 1190a: 4621 mov r1, r4 - 1190c: 4640 mov r0, r8 - 1190e: 47b0 blx r6 - 11910: 4605 mov r5, r0 + 11362: 4621 mov r1, r4 + 11364: 4640 mov r0, r8 + 11366: 47b0 blx r6 + 11368: 4605 mov r5, r0 if(a->var == var && (a->exec_cb == exec_cb || exec_cb == NULL)) { - 11912: 6823 ldr r3, [r4, #0] - 11914: 42bb cmp r3, r7 - 11916: d1f6 bne.n 11906 - 11918: 6863 ldr r3, [r4, #4] - 1191a: 454b cmp r3, r9 - 1191c: d0e9 beq.n 118f2 - 1191e: f1b9 0f00 cmp.w r9, #0 - 11922: d1f0 bne.n 11906 - 11924: e7e5 b.n 118f2 + 1136a: 6823 ldr r3, [r4, #0] + 1136c: 42bb cmp r3, r7 + 1136e: d1f6 bne.n 1135e + 11370: 6863 ldr r3, [r4, #4] + 11372: 454b cmp r3, r9 + 11374: d0e9 beq.n 1134a + 11376: f1b9 0f00 cmp.w r9, #0 + 1137a: d1f0 bne.n 1135e + 1137c: e7e5 b.n 1134a bool del = false; - 11926: f04f 0a00 mov.w sl, #0 -} - 1192a: 4650 mov r0, sl - 1192c: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} - 11930: 20006d78 .word 0x20006d78 - 11934: 00012551 .word 0x00012551 - 11938: 00012565 .word 0x00012565 - 1193c: 00012a6d .word 0x00012a6d - 11940: 0001164d .word 0x0001164d - 11944: 0001263d .word 0x0001263d - -00011948 : -{ - 11948: b530 push {r4, r5, lr} - 1194a: b083 sub sp, #12 - 1194c: 4605 mov r5, r0 + 1137e: f04f 0a00 mov.w sl, #0 +} + 11382: 4650 mov r0, sl + 11384: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} + 11388: 20006d5c .word 0x20006d5c + 1138c: 00011fa9 .word 0x00011fa9 + 11390: 00011fbd .word 0x00011fbd + 11394: 000124c5 .word 0x000124c5 + 11398: 000110a5 .word 0x000110a5 + 1139c: 00012095 .word 0x00012095 + +000113a0 : +{ + 113a0: b530 push {r4, r5, lr} + 113a2: b083 sub sp, #12 + 113a4: 4605 mov r5, r0 if(a->exec_cb != NULL) lv_anim_del(a->var, a->exec_cb); /*fp == NULL would delete all animations of var*/ - 1194e: 6841 ldr r1, [r0, #4] - 11950: b111 cbz r1, 11958 - 11952: 6800 ldr r0, [r0, #0] - 11954: 4b1b ldr r3, [pc, #108] ; (119c4 ) - 11956: 4798 blx r3 + 113a6: 6841 ldr r1, [r0, #4] + 113a8: b111 cbz r1, 113b0 + 113aa: 6800 ldr r0, [r0, #0] + 113ac: 4b1b ldr r3, [pc, #108] ; (1141c ) + 113ae: 4798 blx r3 if(_lv_ll_is_empty(&LV_GC_ROOT(_lv_anim_ll))) { - 11958: 481b ldr r0, [pc, #108] ; (119c8 ) - 1195a: 4b1c ldr r3, [pc, #112] ; (119cc ) - 1195c: 4798 blx r3 - 1195e: b9f0 cbnz r0, 1199e + 113b0: 481b ldr r0, [pc, #108] ; (11420 ) + 113b2: 4b1c ldr r3, [pc, #112] ; (11424 ) + 113b4: 4798 blx r3 + 113b6: b9f0 cbnz r0, 113f6 lv_anim_t * new_anim = _lv_ll_ins_head(&LV_GC_ROOT(_lv_anim_ll)); - 11960: 4819 ldr r0, [pc, #100] ; (119c8 ) - 11962: 4b1b ldr r3, [pc, #108] ; (119d0 ) - 11964: 4798 blx r3 - 11966: 4604 mov r4, r0 + 113b8: 4819 ldr r0, [pc, #100] ; (11420 ) + 113ba: 4b1b ldr r3, [pc, #108] ; (11428 ) + 113bc: 4798 blx r3 + 113be: 4604 mov r4, r0 LV_ASSERT_MEM(new_anim); - 11968: 4b1a ldr r3, [pc, #104] ; (119d4 ) - 1196a: 4798 blx r3 - 1196c: b1e8 cbz r0, 119aa + 113c0: 4b1a ldr r3, [pc, #104] ; (1142c ) + 113c2: 4798 blx r3 + 113c4: b1e8 cbz r0, 11402 if(new_anim == NULL) return; - 1196e: b1a4 cbz r4, 1199a + 113c6: b1a4 cbz r4, 113f2 a->time_orig = a->time; - 11970: 6a2b ldr r3, [r5, #32] - 11972: 63ab str r3, [r5, #56] ; 0x38 + 113c8: 6a2b ldr r3, [r5, #32] + 113ca: 63ab str r3, [r5, #56] ; 0x38 _lv_memcpy(new_anim, a, sizeof(lv_anim_t)); - 11974: 2240 movs r2, #64 ; 0x40 - 11976: 4629 mov r1, r5 - 11978: 4620 mov r0, r4 - 1197a: 4b17 ldr r3, [pc, #92] ; (119d8 ) - 1197c: 4798 blx r3 + 113cc: 2240 movs r2, #64 ; 0x40 + 113ce: 4629 mov r1, r5 + 113d0: 4620 mov r0, r4 + 113d2: 4b17 ldr r3, [pc, #92] ; (11430 ) + 113d4: 4798 blx r3 if(new_anim->early_apply) { - 1197e: f894 3036 ldrb.w r3, [r4, #54] ; 0x36 - 11982: f013 0f01 tst.w r3, #1 - 11986: d006 beq.n 11996 + 113d6: f894 3036 ldrb.w r3, [r4, #54] ; 0x36 + 113da: f013 0f01 tst.w r3, #1 + 113de: d006 beq.n 113ee if(new_anim->exec_cb && new_anim->var) new_anim->exec_cb(new_anim->var, new_anim->start); - 11988: 6863 ldr r3, [r4, #4] - 1198a: b123 cbz r3, 11996 - 1198c: 6820 ldr r0, [r4, #0] - 1198e: b110 cbz r0, 11996 - 11990: f9b4 1018 ldrsh.w r1, [r4, #24] - 11994: 4798 blx r3 + 113e0: 6863 ldr r3, [r4, #4] + 113e2: b123 cbz r3, 113ee + 113e4: 6820 ldr r0, [r4, #0] + 113e6: b110 cbz r0, 113ee + 113e8: f9b4 1018 ldrsh.w r1, [r4, #24] + 113ec: 4798 blx r3 anim_mark_list_change(); - 11996: 4b11 ldr r3, [pc, #68] ; (119dc ) - 11998: 4798 blx r3 + 113ee: 4b11 ldr r3, [pc, #68] ; (11434 ) + 113f0: 4798 blx r3 } - 1199a: b003 add sp, #12 - 1199c: bd30 pop {r4, r5, pc} + 113f2: b003 add sp, #12 + 113f4: bd30 pop {r4, r5, pc} last_task_run = lv_tick_get() - 1; - 1199e: 4b10 ldr r3, [pc, #64] ; (119e0 ) - 119a0: 4798 blx r3 - 119a2: 3801 subs r0, #1 - 119a4: 4b0f ldr r3, [pc, #60] ; (119e4 ) - 119a6: 6098 str r0, [r3, #8] - 119a8: e7da b.n 11960 + 113f6: 4b10 ldr r3, [pc, #64] ; (11438 ) + 113f8: 4798 blx r3 + 113fa: 3801 subs r0, #1 + 113fc: 4b0f ldr r3, [pc, #60] ; (1143c ) + 113fe: 6098 str r0, [r3, #8] + 11400: e7da b.n 113b8 LV_ASSERT_MEM(new_anim); - 119aa: 4b0f ldr r3, [pc, #60] ; (119e8 ) - 119ac: 9300 str r3, [sp, #0] - 119ae: 226a movs r2, #106 ; 0x6a - 119b0: 490e ldr r1, [pc, #56] ; (119ec ) - 119b2: 2003 movs r0, #3 - 119b4: 4d0e ldr r5, [pc, #56] ; (119f0 ) - 119b6: 47a8 blx r5 - 119b8: 4622 mov r2, r4 - 119ba: 2300 movs r3, #0 - 119bc: 480d ldr r0, [pc, #52] ; (119f4 ) - 119be: 490e ldr r1, [pc, #56] ; (119f8 ) - 119c0: 4788 blx r1 - 119c2: e7fe b.n 119c2 - 119c4: 000118d1 .word 0x000118d1 - 119c8: 20006d78 .word 0x20006d78 - 119cc: 000127ed .word 0x000127ed - 119d0: 000124b9 .word 0x000124b9 - 119d4: 0000298d .word 0x0000298d - 119d8: 00012bfd .word 0x00012bfd - 119dc: 0001164d .word 0x0001164d - 119e0: 00011601 .word 0x00011601 - 119e4: 20002b7c .word 0x20002b7c - 119e8: 000206ec .word 0x000206ec - 119ec: 000206fc .word 0x000206fc - 119f0: 00012805 .word 0x00012805 - 119f4: 0001b4bc .word 0x0001b4bc - 119f8: 00002995 .word 0x00002995 - -000119fc : -{ - 119fc: b5f8 push {r3, r4, r5, r6, r7, lr} - 119fe: 4604 mov r4, r0 - 11a00: 460f mov r7, r1 + 11402: 4b0f ldr r3, [pc, #60] ; (11440 ) + 11404: 9300 str r3, [sp, #0] + 11406: 226a movs r2, #106 ; 0x6a + 11408: 490e ldr r1, [pc, #56] ; (11444 ) + 1140a: 2003 movs r0, #3 + 1140c: 4d0e ldr r5, [pc, #56] ; (11448 ) + 1140e: 47a8 blx r5 + 11410: 4622 mov r2, r4 + 11412: 2300 movs r3, #0 + 11414: 480d ldr r0, [pc, #52] ; (1144c ) + 11416: 490e ldr r1, [pc, #56] ; (11450 ) + 11418: 4788 blx r1 + 1141a: e7fe b.n 1141a + 1141c: 00011329 .word 0x00011329 + 11420: 20006d5c .word 0x20006d5c + 11424: 00012245 .word 0x00012245 + 11428: 00011f11 .word 0x00011f11 + 1142c: 000022b1 .word 0x000022b1 + 11430: 00012655 .word 0x00012655 + 11434: 000110a5 .word 0x000110a5 + 11438: 00011059 .word 0x00011059 + 1143c: 20002b7c .word 0x20002b7c + 11440: 00029208 .word 0x00029208 + 11444: 00029218 .word 0x00029218 + 11448: 0001225d .word 0x0001225d + 1144c: 00023fd8 .word 0x00023fd8 + 11450: 000022b9 .word 0x000022b9 + +00011454 : +{ + 11454: b5f8 push {r3, r4, r5, r6, r7, lr} + 11456: 4604 mov r4, r0 + 11458: 460f mov r7, r1 _LV_LL_READ(LV_GC_ROOT(_lv_anim_ll), a) { - 11a02: 480a ldr r0, [pc, #40] ; (11a2c ) - 11a04: 4b0a ldr r3, [pc, #40] ; (11a30 ) - 11a06: 4798 blx r3 - 11a08: 4601 mov r1, r0 - 11a0a: b160 cbz r0, 11a26 - 11a0c: 4e07 ldr r6, [pc, #28] ; (11a2c ) - 11a0e: 4d09 ldr r5, [pc, #36] ; (11a34 ) - 11a10: e003 b.n 11a1a - 11a12: 4630 mov r0, r6 - 11a14: 47a8 blx r5 - 11a16: 4601 mov r1, r0 - 11a18: b128 cbz r0, 11a26 + 1145a: 480a ldr r0, [pc, #40] ; (11484 ) + 1145c: 4b0a ldr r3, [pc, #40] ; (11488 ) + 1145e: 4798 blx r3 + 11460: 4601 mov r1, r0 + 11462: b160 cbz r0, 1147e + 11464: 4e07 ldr r6, [pc, #28] ; (11484 ) + 11466: 4d09 ldr r5, [pc, #36] ; (1148c ) + 11468: e003 b.n 11472 + 1146a: 4630 mov r0, r6 + 1146c: 47a8 blx r5 + 1146e: 4601 mov r1, r0 + 11470: b128 cbz r0, 1147e if(a->var == var && a->exec_cb == exec_cb) { - 11a1a: 680b ldr r3, [r1, #0] - 11a1c: 42a3 cmp r3, r4 - 11a1e: d1f8 bne.n 11a12 - 11a20: 684b ldr r3, [r1, #4] - 11a22: 42bb cmp r3, r7 - 11a24: d1f5 bne.n 11a12 -} - 11a26: 4608 mov r0, r1 - 11a28: bdf8 pop {r3, r4, r5, r6, r7, pc} - 11a2a: bf00 nop - 11a2c: 20006d78 .word 0x20006d78 - 11a30: 00012551 .word 0x00012551 - 11a34: 00012565 .word 0x00012565 - -00011a38 : + 11472: 680b ldr r3, [r1, #0] + 11474: 42a3 cmp r3, r4 + 11476: d1f8 bne.n 1146a + 11478: 684b ldr r3, [r1, #4] + 1147a: 42bb cmp r3, r7 + 1147c: d1f5 bne.n 1146a +} + 1147e: 4608 mov r0, r1 + 11480: bdf8 pop {r3, r4, r5, r6, r7, pc} + 11482: bf00 nop + 11484: 20006d5c .word 0x20006d5c + 11488: 00011fa9 .word 0x00011fa9 + 1148c: 00011fbd .word 0x00011fbd + +00011490 : int32_t d = LV_MATH_ABS((int32_t)start - end); - 11a38: 1a89 subs r1, r1, r2 - 11a3a: 2900 cmp r1, #0 - 11a3c: bfb8 it lt - 11a3e: 4249 neglt r1, r1 + 11490: 1a89 subs r1, r1, r2 + 11492: 2900 cmp r1, #0 + 11494: bfb8 it lt + 11496: 4249 neglt r1, r1 uint32_t time = (int32_t)((int32_t)(d * 1000) / speed); - 11a40: f44f 727a mov.w r2, #1000 ; 0x3e8 - 11a44: fb02 f201 mul.w r2, r2, r1 - 11a48: fb92 f0f0 sdiv r0, r2, r0 - 11a4c: f64f 72ff movw r2, #65535 ; 0xffff - 11a50: 4290 cmp r0, r2 - 11a52: bf28 it cs - 11a54: 4610 movcs r0, r2 + 11498: f44f 727a mov.w r2, #1000 ; 0x3e8 + 1149c: fb02 f201 mul.w r2, r2, r1 + 114a0: fb92 f0f0 sdiv r0, r2, r0 + 114a4: f64f 72ff movw r2, #65535 ; 0xffff + 114a8: 4290 cmp r0, r2 + 114aa: bf28 it cs + 114ac: 4610 movcs r0, r2 time++; - 11a56: 2800 cmp r0, #0 - 11a58: bf08 it eq - 11a5a: 2001 moveq r0, #1 + 114ae: 2800 cmp r0, #0 + 114b0: bf08 it eq + 114b2: 2001 moveq r0, #1 } - 11a5c: b280 uxth r0, r0 - 11a5e: 4770 bx lr + 114b4: b280 uxth r0, r0 + 114b6: 4770 bx lr -00011a60 : +000114b8 : /********************** * STATIC FUNCTIONS **********************/ static bool lv_point_within_circle(const lv_area_t * area, const lv_point_t * p) { - 11a60: b430 push {r4, r5} + 114b8: b430 push {r4, r5} lv_coord_t r = (area->x2 - area->x1) / 2; - 11a62: f9b0 5000 ldrsh.w r5, [r0] - 11a66: f9b0 3004 ldrsh.w r3, [r0, #4] - 11a6a: 1b5b subs r3, r3, r5 - 11a6c: eb03 73d3 add.w r3, r3, r3, lsr #31 - 11a70: 105b asrs r3, r3, #1 + 114ba: f9b0 5000 ldrsh.w r5, [r0] + 114be: f9b0 3004 ldrsh.w r3, [r0, #4] + 114c2: 1b5b subs r3, r3, r5 + 114c4: eb03 73d3 add.w r3, r3, r3, lsr #31 + 114c8: 105b asrs r3, r3, #1 /* Circle center */ lv_coord_t cx = area->x1 + r; - 11a72: b29c uxth r4, r3 + 114ca: b29c uxth r4, r3 lv_coord_t cy = area->y1 + r; /*Simplify the code by moving everything to (0, 0) */ lv_coord_t px = p->x - cx; - 11a74: 880a ldrh r2, [r1, #0] - 11a76: 1b52 subs r2, r2, r5 - 11a78: 1b12 subs r2, r2, r4 + 114cc: 880a ldrh r2, [r1, #0] + 114ce: 1b52 subs r2, r2, r5 + 114d0: 1b12 subs r2, r2, r4 lv_coord_t py = p->y - cy; - 11a7a: 8849 ldrh r1, [r1, #2] - 11a7c: 8840 ldrh r0, [r0, #2] - 11a7e: 1a08 subs r0, r1, r0 - 11a80: 1b00 subs r0, r0, r4 + 114d2: 8849 ldrh r1, [r1, #2] + 114d4: 8840 ldrh r0, [r0, #2] + 114d6: 1a08 subs r0, r1, r0 + 114d8: 1b00 subs r0, r0, r4 int32_t r_sqrd = r * r; - 11a82: fb13 f303 smulbb r3, r3, r3 + 114da: fb13 f303 smulbb r3, r3, r3 int32_t dist = (px * px) + (py * py); - 11a86: fb10 f000 smulbb r0, r0, r0 - 11a8a: fb12 0202 smlabb r2, r2, r2, r0 + 114de: fb10 f000 smulbb r0, r0, r0 + 114e2: fb12 0202 smlabb r2, r2, r2, r0 if(dist <= r_sqrd) return true; else return false; } - 11a8e: 4293 cmp r3, r2 - 11a90: bfb4 ite lt - 11a92: 2000 movlt r0, #0 - 11a94: 2001 movge r0, #1 - 11a96: bc30 pop {r4, r5} - 11a98: 4770 bx lr + 114e6: 4293 cmp r3, r2 + 114e8: bfb4 ite lt + 114ea: 2000 movlt r0, #0 + 114ec: 2001 movge r0, #1 + 114ee: bc30 pop {r4, r5} + 114f0: 4770 bx lr -00011a9a : +000114f2 : area_p->y2 = area_p->y1 + h - 1; - 11a9a: 3901 subs r1, #1 - 11a9c: 8843 ldrh r3, [r0, #2] - 11a9e: 4419 add r1, r3 - 11aa0: 80c1 strh r1, [r0, #6] - 11aa2: 4770 bx lr + 114f2: 3901 subs r1, #1 + 114f4: 8843 ldrh r3, [r0, #2] + 114f6: 4419 add r1, r3 + 114f8: 80c1 strh r1, [r0, #6] + 114fa: 4770 bx lr -00011aa4 : +000114fc : size = (uint32_t)(area_p->x2 - area_p->x1 + 1) * (area_p->y2 - area_p->y1 + 1); - 11aa4: f9b0 2004 ldrsh.w r2, [r0, #4] - 11aa8: f9b0 3000 ldrsh.w r3, [r0] - 11aac: 1ad2 subs r2, r2, r3 - 11aae: f9b0 3006 ldrsh.w r3, [r0, #6] - 11ab2: f9b0 0002 ldrsh.w r0, [r0, #2] - 11ab6: 1a18 subs r0, r3, r0 - 11ab8: 3001 adds r0, #1 + 114fc: f9b0 2004 ldrsh.w r2, [r0, #4] + 11500: f9b0 3000 ldrsh.w r3, [r0] + 11504: 1ad2 subs r2, r2, r3 + 11506: f9b0 3006 ldrsh.w r3, [r0, #6] + 1150a: f9b0 0002 ldrsh.w r0, [r0, #2] + 1150e: 1a18 subs r0, r3, r0 + 11510: 3001 adds r0, #1 } - 11aba: fb02 0000 mla r0, r2, r0, r0 - 11abe: 4770 bx lr + 11512: fb02 0000 mla r0, r2, r0, r0 + 11516: 4770 bx lr -00011ac0 <_lv_area_intersect>: +00011518 <_lv_area_intersect>: { - 11ac0: b470 push {r4, r5, r6} + 11518: b470 push {r4, r5, r6} res_p->x1 = LV_MATH_MAX(a1_p->x1, a2_p->x1); - 11ac2: f9b2 5000 ldrsh.w r5, [r2] - 11ac6: f9b1 3000 ldrsh.w r3, [r1] - 11aca: 429d cmp r5, r3 - 11acc: bfb8 it lt - 11ace: 461d movlt r5, r3 - 11ad0: 8005 strh r5, [r0, #0] + 1151a: f9b2 5000 ldrsh.w r5, [r2] + 1151e: f9b1 3000 ldrsh.w r3, [r1] + 11522: 429d cmp r5, r3 + 11524: bfb8 it lt + 11526: 461d movlt r5, r3 + 11528: 8005 strh r5, [r0, #0] res_p->y1 = LV_MATH_MAX(a1_p->y1, a2_p->y1); - 11ad2: f9b2 3002 ldrsh.w r3, [r2, #2] - 11ad6: f9b1 4002 ldrsh.w r4, [r1, #2] - 11ada: 42a3 cmp r3, r4 - 11adc: bfb8 it lt - 11ade: 4623 movlt r3, r4 - 11ae0: 8043 strh r3, [r0, #2] + 1152a: f9b2 3002 ldrsh.w r3, [r2, #2] + 1152e: f9b1 4002 ldrsh.w r4, [r1, #2] + 11532: 42a3 cmp r3, r4 + 11534: bfb8 it lt + 11536: 4623 movlt r3, r4 + 11538: 8043 strh r3, [r0, #2] res_p->x2 = LV_MATH_MIN(a1_p->x2, a2_p->x2); - 11ae2: f9b2 4004 ldrsh.w r4, [r2, #4] - 11ae6: f9b1 6004 ldrsh.w r6, [r1, #4] - 11aea: 42b4 cmp r4, r6 - 11aec: bfa8 it ge - 11aee: 4634 movge r4, r6 - 11af0: 8084 strh r4, [r0, #4] + 1153a: f9b2 4004 ldrsh.w r4, [r2, #4] + 1153e: f9b1 6004 ldrsh.w r6, [r1, #4] + 11542: 42b4 cmp r4, r6 + 11544: bfa8 it ge + 11546: 4634 movge r4, r6 + 11548: 8084 strh r4, [r0, #4] res_p->y2 = LV_MATH_MIN(a1_p->y2, a2_p->y2); - 11af2: f9b2 2006 ldrsh.w r2, [r2, #6] - 11af6: f9b1 1006 ldrsh.w r1, [r1, #6] - 11afa: 428a cmp r2, r1 - 11afc: bfa8 it ge - 11afe: 460a movge r2, r1 - 11b00: 80c2 strh r2, [r0, #6] + 1154a: f9b2 2006 ldrsh.w r2, [r2, #6] + 1154e: f9b1 1006 ldrsh.w r1, [r1, #6] + 11552: 428a cmp r2, r1 + 11554: bfa8 it ge + 11556: 460a movge r2, r1 + 11558: 80c2 strh r2, [r0, #6] if((res_p->x1 > res_p->x2) || (res_p->y1 > res_p->y2)) { - 11b02: 42a5 cmp r5, r4 - 11b04: dc05 bgt.n 11b12 <_lv_area_intersect+0x52> - 11b06: 4293 cmp r3, r2 - 11b08: bfcc ite gt - 11b0a: 2000 movgt r0, #0 - 11b0c: 2001 movle r0, #1 -} - 11b0e: bc70 pop {r4, r5, r6} - 11b10: 4770 bx lr + 1155a: 42a5 cmp r5, r4 + 1155c: dc05 bgt.n 1156a <_lv_area_intersect+0x52> + 1155e: 4293 cmp r3, r2 + 11560: bfcc ite gt + 11562: 2000 movgt r0, #0 + 11564: 2001 movle r0, #1 +} + 11566: bc70 pop {r4, r5, r6} + 11568: 4770 bx lr union_ok = false; - 11b12: 2000 movs r0, #0 - 11b14: e7fb b.n 11b0e <_lv_area_intersect+0x4e> + 1156a: 2000 movs r0, #0 + 1156c: e7fb b.n 11566 <_lv_area_intersect+0x4e> -00011b16 <_lv_area_join>: +0001156e <_lv_area_join>: { - 11b16: b410 push {r4} + 1156e: b410 push {r4} a_res_p->x1 = LV_MATH_MIN(a1_p->x1, a2_p->x1); - 11b18: f9b2 3000 ldrsh.w r3, [r2] - 11b1c: f9b1 4000 ldrsh.w r4, [r1] - 11b20: 42a3 cmp r3, r4 - 11b22: bfa8 it ge - 11b24: 4623 movge r3, r4 - 11b26: 8003 strh r3, [r0, #0] + 11570: f9b2 3000 ldrsh.w r3, [r2] + 11574: f9b1 4000 ldrsh.w r4, [r1] + 11578: 42a3 cmp r3, r4 + 1157a: bfa8 it ge + 1157c: 4623 movge r3, r4 + 1157e: 8003 strh r3, [r0, #0] a_res_p->y1 = LV_MATH_MIN(a1_p->y1, a2_p->y1); - 11b28: f9b2 3002 ldrsh.w r3, [r2, #2] - 11b2c: f9b1 4002 ldrsh.w r4, [r1, #2] - 11b30: 42a3 cmp r3, r4 - 11b32: bfa8 it ge - 11b34: 4623 movge r3, r4 - 11b36: 8043 strh r3, [r0, #2] + 11580: f9b2 3002 ldrsh.w r3, [r2, #2] + 11584: f9b1 4002 ldrsh.w r4, [r1, #2] + 11588: 42a3 cmp r3, r4 + 1158a: bfa8 it ge + 1158c: 4623 movge r3, r4 + 1158e: 8043 strh r3, [r0, #2] a_res_p->x2 = LV_MATH_MAX(a1_p->x2, a2_p->x2); - 11b38: f9b2 3004 ldrsh.w r3, [r2, #4] - 11b3c: f9b1 4004 ldrsh.w r4, [r1, #4] - 11b40: 42a3 cmp r3, r4 - 11b42: bfb8 it lt - 11b44: 4623 movlt r3, r4 - 11b46: 8083 strh r3, [r0, #4] + 11590: f9b2 3004 ldrsh.w r3, [r2, #4] + 11594: f9b1 4004 ldrsh.w r4, [r1, #4] + 11598: 42a3 cmp r3, r4 + 1159a: bfb8 it lt + 1159c: 4623 movlt r3, r4 + 1159e: 8083 strh r3, [r0, #4] a_res_p->y2 = LV_MATH_MAX(a1_p->y2, a2_p->y2); - 11b48: f9b2 3006 ldrsh.w r3, [r2, #6] - 11b4c: f9b1 2006 ldrsh.w r2, [r1, #6] - 11b50: 4293 cmp r3, r2 - 11b52: bfb8 it lt - 11b54: 4613 movlt r3, r2 - 11b56: 80c3 strh r3, [r0, #6] -} - 11b58: f85d 4b04 ldr.w r4, [sp], #4 - 11b5c: 4770 bx lr + 115a0: f9b2 3006 ldrsh.w r3, [r2, #6] + 115a4: f9b1 2006 ldrsh.w r2, [r1, #6] + 115a8: 4293 cmp r3, r2 + 115aa: bfb8 it lt + 115ac: 4613 movlt r3, r2 + 115ae: 80c3 strh r3, [r0, #6] +} + 115b0: f85d 4b04 ldr.w r4, [sp], #4 + 115b4: 4770 bx lr ... -00011b60 <_lv_area_is_point_on>: +000115b8 <_lv_area_is_point_on>: { - 11b60: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 11b64: b085 sub sp, #20 + 115b8: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 115bc: b085 sub sp, #20 if((p_p->x >= a_p->x1 && p_p->x <= a_p->x2) && ((p_p->y >= a_p->y1 && p_p->y <= a_p->y2))) { - 11b66: f9b1 5000 ldrsh.w r5, [r1] - 11b6a: f9b0 e000 ldrsh.w lr, [r0] - 11b6e: 4575 cmp r5, lr - 11b70: f2c0 809d blt.w 11cae <_lv_area_is_point_on+0x14e> - 11b74: f9b0 8004 ldrsh.w r8, [r0, #4] - 11b78: 4545 cmp r5, r8 - 11b7a: f300 809c bgt.w 11cb6 <_lv_area_is_point_on+0x156> - 11b7e: f9b1 3002 ldrsh.w r3, [r1, #2] - 11b82: f9b0 a002 ldrsh.w sl, [r0, #2] - 11b86: 4553 cmp r3, sl - 11b88: f2c0 8097 blt.w 11cba <_lv_area_is_point_on+0x15a> - 11b8c: f9b0 0006 ldrsh.w r0, [r0, #6] - 11b90: 9001 str r0, [sp, #4] + 115be: f9b1 5000 ldrsh.w r5, [r1] + 115c2: f9b0 e000 ldrsh.w lr, [r0] + 115c6: 4575 cmp r5, lr + 115c8: f2c0 809d blt.w 11706 <_lv_area_is_point_on+0x14e> + 115cc: f9b0 8004 ldrsh.w r8, [r0, #4] + 115d0: 4545 cmp r5, r8 + 115d2: f300 809c bgt.w 1170e <_lv_area_is_point_on+0x156> + 115d6: f9b1 3002 ldrsh.w r3, [r1, #2] + 115da: f9b0 a002 ldrsh.w sl, [r0, #2] + 115de: 4553 cmp r3, sl + 115e0: f2c0 8097 blt.w 11712 <_lv_area_is_point_on+0x15a> + 115e4: f9b0 0006 ldrsh.w r0, [r0, #6] + 115e8: 9001 str r0, [sp, #4] if(!is_on_rect) - 11b92: 4283 cmp r3, r0 - 11b94: f300 8093 bgt.w 11cbe <_lv_area_is_point_on+0x15e> + 115ea: 4283 cmp r3, r0 + 115ec: f300 8093 bgt.w 11716 <_lv_area_is_point_on+0x15e> if(radius <= 0) { - 11b98: 2a00 cmp r2, #0 - 11b9a: f340 8092 ble.w 11cc2 <_lv_area_is_point_on+0x162> - 11b9e: 468c mov ip, r1 + 115f0: 2a00 cmp r2, #0 + 115f2: f340 8092 ble.w 1171a <_lv_area_is_point_on+0x162> + 115f6: 468c mov ip, r1 * @param area_p pointer to an area * @return the width of the area (if x1 == x2 -> width = 1) */ static inline lv_coord_t lv_area_get_width(const lv_area_t * area_p) { return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - 11ba0: fa1f f988 uxth.w r9, r8 - 11ba4: fa1f f68e uxth.w r6, lr + 115f8: fa1f f988 uxth.w r9, r8 + 115fc: fa1f f68e uxth.w r6, lr * @param area_p pointer to an area * @return the height of the area (if y1 == y2 -> height = 1) */ static inline lv_coord_t lv_area_get_height(const lv_area_t * area_p) { return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - 11ba8: b287 uxth r7, r0 - 11baa: fa1f f58a uxth.w r5, sl + 11600: b287 uxth r7, r0 + 11602: fa1f f58a uxth.w r5, sl corner_area.x1 = a_p->x1; - 11bae: f8ad e008 strh.w lr, [sp, #8] + 11606: f8ad e008 strh.w lr, [sp, #8] return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - 11bb2: f109 0301 add.w r3, r9, #1 - 11bb6: 1b9b subs r3, r3, r6 + 1160a: f109 0301 add.w r3, r9, #1 + 1160e: 1b9b subs r3, r3, r6 lv_coord_t w = lv_area_get_width(a_p) / 2; - 11bb8: b21b sxth r3, r3 - 11bba: eb03 74d3 add.w r4, r3, r3, lsr #31 + 11610: b21b sxth r3, r3 + 11612: eb03 74d3 add.w r4, r3, r3, lsr #31 return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - 11bbe: 1c7b adds r3, r7, #1 - 11bc0: 1b5b subs r3, r3, r5 + 11616: 1c7b adds r3, r7, #1 + 11618: 1b5b subs r3, r3, r5 lv_coord_t h = lv_area_get_height(a_p) / 2; - 11bc2: b21b sxth r3, r3 - 11bc4: eb03 71d3 add.w r1, r3, r3, lsr #31 + 1161a: b21b sxth r3, r3 + 1161c: eb03 71d3 add.w r1, r3, r3, lsr #31 lv_coord_t max_radius = LV_MATH_MIN(w, h); - 11bc8: 1064 asrs r4, r4, #1 - 11bca: 104b asrs r3, r1, #1 + 11620: 1064 asrs r4, r4, #1 + 11622: 104b asrs r3, r1, #1 corner_area.x2 = a_p->x1 + radius; - 11bcc: 42a3 cmp r3, r4 - 11bce: bfa8 it ge - 11bd0: 4623 movge r3, r4 - 11bd2: 4293 cmp r3, r2 - 11bd4: bfa8 it ge - 11bd6: 4613 movge r3, r2 - 11bd8: b29c uxth r4, r3 - 11bda: 4426 add r6, r4 - 11bdc: b2b6 uxth r6, r6 - 11bde: f8ad 600c strh.w r6, [sp, #12] + 11624: 42a3 cmp r3, r4 + 11626: bfa8 it ge + 11628: 4623 movge r3, r4 + 1162a: 4293 cmp r3, r2 + 1162c: bfa8 it ge + 1162e: 4613 movge r3, r2 + 11630: b29c uxth r4, r3 + 11632: 4426 add r6, r4 + 11634: b2b6 uxth r6, r6 + 11636: f8ad 600c strh.w r6, [sp, #12] corner_area.y1 = a_p->y1; - 11be2: f8ad a00a strh.w sl, [sp, #10] + 1163a: f8ad a00a strh.w sl, [sp, #10] corner_area.y2 = a_p->y1 + radius; - 11be6: 4425 add r5, r4 - 11be8: b2ad uxth r5, r5 - 11bea: fa0f fb85 sxth.w fp, r5 - 11bee: f8ad b00e strh.w fp, [sp, #14] + 1163e: 4425 add r5, r4 + 11640: b2ad uxth r5, r5 + 11642: fa0f fb85 sxth.w fp, r5 + 11646: f8ad b00e strh.w fp, [sp, #14] if(_lv_area_is_point_on(&corner_area, p_p, 0)) { - 11bf2: 2200 movs r2, #0 - 11bf4: f8cd c000 str.w ip, [sp] - 11bf8: 4661 mov r1, ip - 11bfa: a802 add r0, sp, #8 - 11bfc: f7ff ffb0 bl 11b60 <_lv_area_is_point_on> - 11c00: b150 cbz r0, 11c18 <_lv_area_is_point_on+0xb8> + 1164a: 2200 movs r2, #0 + 1164c: f8cd c000 str.w ip, [sp] + 11650: 4661 mov r1, ip + 11652: a802 add r0, sp, #8 + 11654: f7ff ffb0 bl 115b8 <_lv_area_is_point_on> + 11658: b150 cbz r0, 11670 <_lv_area_is_point_on+0xb8> corner_area.x2 += radius; - 11c02: 4426 add r6, r4 - 11c04: f8ad 600c strh.w r6, [sp, #12] + 1165a: 4426 add r6, r4 + 1165c: f8ad 600c strh.w r6, [sp, #12] corner_area.y2 += radius; - 11c08: 442c add r4, r5 - 11c0a: f8ad 400e strh.w r4, [sp, #14] + 11660: 442c add r4, r5 + 11662: f8ad 400e strh.w r4, [sp, #14] return lv_point_within_circle(&corner_area, p_p); - 11c0e: 9900 ldr r1, [sp, #0] - 11c10: a802 add r0, sp, #8 - 11c12: 4b2e ldr r3, [pc, #184] ; (11ccc <_lv_area_is_point_on+0x16c>) - 11c14: 4798 blx r3 - 11c16: e04b b.n 11cb0 <_lv_area_is_point_on+0x150> + 11666: 9900 ldr r1, [sp, #0] + 11668: a802 add r0, sp, #8 + 1166a: 4b2e ldr r3, [pc, #184] ; (11724 <_lv_area_is_point_on+0x16c>) + 1166c: 4798 blx r3 + 1166e: e04b b.n 11708 <_lv_area_is_point_on+0x150> corner_area.y1 = a_p->y2 - radius; - 11c18: 1b3f subs r7, r7, r4 - 11c1a: b2bf uxth r7, r7 - 11c1c: f8ad 700a strh.w r7, [sp, #10] + 11670: 1b3f subs r7, r7, r4 + 11672: b2bf uxth r7, r7 + 11674: f8ad 700a strh.w r7, [sp, #10] corner_area.y2 = a_p->y2; - 11c20: f8bd 3004 ldrh.w r3, [sp, #4] - 11c24: f8ad 300e strh.w r3, [sp, #14] + 11678: f8bd 3004 ldrh.w r3, [sp, #4] + 1167c: f8ad 300e strh.w r3, [sp, #14] if(_lv_area_is_point_on(&corner_area, p_p, 0)) { - 11c28: 2200 movs r2, #0 - 11c2a: 9900 ldr r1, [sp, #0] - 11c2c: a802 add r0, sp, #8 - 11c2e: f7ff ff97 bl 11b60 <_lv_area_is_point_on> - 11c32: b150 cbz r0, 11c4a <_lv_area_is_point_on+0xea> + 11680: 2200 movs r2, #0 + 11682: 9900 ldr r1, [sp, #0] + 11684: a802 add r0, sp, #8 + 11686: f7ff ff97 bl 115b8 <_lv_area_is_point_on> + 1168a: b150 cbz r0, 116a2 <_lv_area_is_point_on+0xea> corner_area.x2 += radius; - 11c34: 4426 add r6, r4 - 11c36: f8ad 600c strh.w r6, [sp, #12] + 1168c: 4426 add r6, r4 + 1168e: f8ad 600c strh.w r6, [sp, #12] corner_area.y1 -= radius; - 11c3a: 1b3c subs r4, r7, r4 - 11c3c: f8ad 400a strh.w r4, [sp, #10] + 11692: 1b3c subs r4, r7, r4 + 11694: f8ad 400a strh.w r4, [sp, #10] return lv_point_within_circle(&corner_area, p_p); - 11c40: 9900 ldr r1, [sp, #0] - 11c42: a802 add r0, sp, #8 - 11c44: 4b21 ldr r3, [pc, #132] ; (11ccc <_lv_area_is_point_on+0x16c>) - 11c46: 4798 blx r3 - 11c48: e032 b.n 11cb0 <_lv_area_is_point_on+0x150> + 11698: 9900 ldr r1, [sp, #0] + 1169a: a802 add r0, sp, #8 + 1169c: 4b21 ldr r3, [pc, #132] ; (11724 <_lv_area_is_point_on+0x16c>) + 1169e: 4798 blx r3 + 116a0: e032 b.n 11708 <_lv_area_is_point_on+0x150> corner_area.x1 = a_p->x2 - radius; - 11c4a: eba9 0904 sub.w r9, r9, r4 - 11c4e: fa1f f989 uxth.w r9, r9 - 11c52: f8ad 9008 strh.w r9, [sp, #8] + 116a2: eba9 0904 sub.w r9, r9, r4 + 116a6: fa1f f989 uxth.w r9, r9 + 116aa: f8ad 9008 strh.w r9, [sp, #8] corner_area.x2 = a_p->x2; - 11c56: f8ad 800c strh.w r8, [sp, #12] + 116ae: f8ad 800c strh.w r8, [sp, #12] if(_lv_area_is_point_on(&corner_area, p_p, 0)) { - 11c5a: 2200 movs r2, #0 - 11c5c: 9e00 ldr r6, [sp, #0] - 11c5e: 4631 mov r1, r6 - 11c60: a802 add r0, sp, #8 - 11c62: f7ff ff7d bl 11b60 <_lv_area_is_point_on> - 11c66: b158 cbz r0, 11c80 <_lv_area_is_point_on+0x120> + 116b2: 2200 movs r2, #0 + 116b4: 9e00 ldr r6, [sp, #0] + 116b6: 4631 mov r1, r6 + 116b8: a802 add r0, sp, #8 + 116ba: f7ff ff7d bl 115b8 <_lv_area_is_point_on> + 116be: b158 cbz r0, 116d8 <_lv_area_is_point_on+0x120> corner_area.x1 -= radius; - 11c68: eba9 0904 sub.w r9, r9, r4 - 11c6c: f8ad 9008 strh.w r9, [sp, #8] + 116c0: eba9 0904 sub.w r9, r9, r4 + 116c4: f8ad 9008 strh.w r9, [sp, #8] corner_area.y1 -= radius; - 11c70: 1b3c subs r4, r7, r4 - 11c72: f8ad 400a strh.w r4, [sp, #10] + 116c8: 1b3c subs r4, r7, r4 + 116ca: f8ad 400a strh.w r4, [sp, #10] return lv_point_within_circle(&corner_area, p_p); - 11c76: 4631 mov r1, r6 - 11c78: a802 add r0, sp, #8 - 11c7a: 4b14 ldr r3, [pc, #80] ; (11ccc <_lv_area_is_point_on+0x16c>) - 11c7c: 4798 blx r3 - 11c7e: e017 b.n 11cb0 <_lv_area_is_point_on+0x150> + 116ce: 4631 mov r1, r6 + 116d0: a802 add r0, sp, #8 + 116d2: 4b14 ldr r3, [pc, #80] ; (11724 <_lv_area_is_point_on+0x16c>) + 116d4: 4798 blx r3 + 116d6: e017 b.n 11708 <_lv_area_is_point_on+0x150> corner_area.y1 = a_p->y1; - 11c80: f8ad a00a strh.w sl, [sp, #10] + 116d8: f8ad a00a strh.w sl, [sp, #10] corner_area.y2 = a_p->y1 + radius; - 11c84: f8ad b00e strh.w fp, [sp, #14] + 116dc: f8ad b00e strh.w fp, [sp, #14] if(_lv_area_is_point_on(&corner_area, p_p, 0)) { - 11c88: 2200 movs r2, #0 - 11c8a: 9e00 ldr r6, [sp, #0] - 11c8c: 4631 mov r1, r6 - 11c8e: a802 add r0, sp, #8 - 11c90: f7ff ff66 bl 11b60 <_lv_area_is_point_on> - 11c94: b1b8 cbz r0, 11cc6 <_lv_area_is_point_on+0x166> + 116e0: 2200 movs r2, #0 + 116e2: 9e00 ldr r6, [sp, #0] + 116e4: 4631 mov r1, r6 + 116e6: a802 add r0, sp, #8 + 116e8: f7ff ff66 bl 115b8 <_lv_area_is_point_on> + 116ec: b1b8 cbz r0, 1171e <_lv_area_is_point_on+0x166> corner_area.x1 -= radius; - 11c96: eba9 0904 sub.w r9, r9, r4 - 11c9a: f8ad 9008 strh.w r9, [sp, #8] + 116ee: eba9 0904 sub.w r9, r9, r4 + 116f2: f8ad 9008 strh.w r9, [sp, #8] corner_area.y2 += radius; - 11c9e: 442c add r4, r5 - 11ca0: f8ad 400e strh.w r4, [sp, #14] + 116f6: 442c add r4, r5 + 116f8: f8ad 400e strh.w r4, [sp, #14] return lv_point_within_circle(&corner_area, p_p); - 11ca4: 4631 mov r1, r6 - 11ca6: a802 add r0, sp, #8 - 11ca8: 4b08 ldr r3, [pc, #32] ; (11ccc <_lv_area_is_point_on+0x16c>) - 11caa: 4798 blx r3 - 11cac: e000 b.n 11cb0 <_lv_area_is_point_on+0x150> + 116fc: 4631 mov r1, r6 + 116fe: a802 add r0, sp, #8 + 11700: 4b08 ldr r3, [pc, #32] ; (11724 <_lv_area_is_point_on+0x16c>) + 11702: 4798 blx r3 + 11704: e000 b.n 11708 <_lv_area_is_point_on+0x150> return false; - 11cae: 2000 movs r0, #0 + 11706: 2000 movs r0, #0 } - 11cb0: b005 add sp, #20 - 11cb2: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 11708: b005 add sp, #20 + 1170a: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} return false; - 11cb6: 2000 movs r0, #0 - 11cb8: e7fa b.n 11cb0 <_lv_area_is_point_on+0x150> - 11cba: 2000 movs r0, #0 - 11cbc: e7f8 b.n 11cb0 <_lv_area_is_point_on+0x150> - 11cbe: 2000 movs r0, #0 - 11cc0: e7f6 b.n 11cb0 <_lv_area_is_point_on+0x150> + 1170e: 2000 movs r0, #0 + 11710: e7fa b.n 11708 <_lv_area_is_point_on+0x150> + 11712: 2000 movs r0, #0 + 11714: e7f8 b.n 11708 <_lv_area_is_point_on+0x150> + 11716: 2000 movs r0, #0 + 11718: e7f6 b.n 11708 <_lv_area_is_point_on+0x150> return true; - 11cc2: 2001 movs r0, #1 - 11cc4: e7f4 b.n 11cb0 <_lv_area_is_point_on+0x150> + 1171a: 2001 movs r0, #1 + 1171c: e7f4 b.n 11708 <_lv_area_is_point_on+0x150> return true; - 11cc6: 2001 movs r0, #1 - 11cc8: e7f2 b.n 11cb0 <_lv_area_is_point_on+0x150> - 11cca: bf00 nop - 11ccc: 00011a61 .word 0x00011a61 + 1171e: 2001 movs r0, #1 + 11720: e7f2 b.n 11708 <_lv_area_is_point_on+0x150> + 11722: bf00 nop + 11724: 000114b9 .word 0x000114b9 -00011cd0 <_lv_area_is_on>: +00011728 <_lv_area_is_on>: if((a1_p->x1 <= a2_p->x2) && (a1_p->x2 >= a2_p->x1) && (a1_p->y1 <= a2_p->y2) && (a1_p->y2 >= a2_p->y1)) { - 11cd0: f9b0 2000 ldrsh.w r2, [r0] - 11cd4: f9b1 3004 ldrsh.w r3, [r1, #4] - 11cd8: 429a cmp r2, r3 - 11cda: dc14 bgt.n 11d06 <_lv_area_is_on+0x36> - 11cdc: f9b0 2004 ldrsh.w r2, [r0, #4] - 11ce0: f9b1 3000 ldrsh.w r3, [r1] - 11ce4: 429a cmp r2, r3 - 11ce6: db10 blt.n 11d0a <_lv_area_is_on+0x3a> - 11ce8: f9b0 2002 ldrsh.w r2, [r0, #2] - 11cec: f9b1 3006 ldrsh.w r3, [r1, #6] - 11cf0: 429a cmp r2, r3 - 11cf2: dc0c bgt.n 11d0e <_lv_area_is_on+0x3e> - 11cf4: f9b0 0006 ldrsh.w r0, [r0, #6] - 11cf8: f9b1 3002 ldrsh.w r3, [r1, #2] - 11cfc: 4298 cmp r0, r3 - 11cfe: bfb4 ite lt - 11d00: 2000 movlt r0, #0 - 11d02: 2001 movge r0, #1 - 11d04: 4770 bx lr + 11728: f9b0 2000 ldrsh.w r2, [r0] + 1172c: f9b1 3004 ldrsh.w r3, [r1, #4] + 11730: 429a cmp r2, r3 + 11732: dc14 bgt.n 1175e <_lv_area_is_on+0x36> + 11734: f9b0 2004 ldrsh.w r2, [r0, #4] + 11738: f9b1 3000 ldrsh.w r3, [r1] + 1173c: 429a cmp r2, r3 + 1173e: db10 blt.n 11762 <_lv_area_is_on+0x3a> + 11740: f9b0 2002 ldrsh.w r2, [r0, #2] + 11744: f9b1 3006 ldrsh.w r3, [r1, #6] + 11748: 429a cmp r2, r3 + 1174a: dc0c bgt.n 11766 <_lv_area_is_on+0x3e> + 1174c: f9b0 0006 ldrsh.w r0, [r0, #6] + 11750: f9b1 3002 ldrsh.w r3, [r1, #2] + 11754: 4298 cmp r0, r3 + 11756: bfb4 ite lt + 11758: 2000 movlt r0, #0 + 1175a: 2001 movge r0, #1 + 1175c: 4770 bx lr return false; - 11d06: 2000 movs r0, #0 - 11d08: 4770 bx lr - 11d0a: 2000 movs r0, #0 - 11d0c: 4770 bx lr - 11d0e: 2000 movs r0, #0 + 1175e: 2000 movs r0, #0 + 11760: 4770 bx lr + 11762: 2000 movs r0, #0 + 11764: 4770 bx lr + 11766: 2000 movs r0, #0 } - 11d10: 4770 bx lr + 11768: 4770 bx lr ... -00011d14 <_lv_area_is_in>: +0001176c <_lv_area_is_in>: { - 11d14: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - 11d18: b082 sub sp, #8 + 1176c: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} + 11770: b082 sub sp, #8 if(ain_p->x1 >= aholder_p->x1 && ain_p->y1 >= aholder_p->y1 && ain_p->x2 <= aholder_p->x2 && - 11d1a: f9b0 5000 ldrsh.w r5, [r0] - 11d1e: f9b1 3000 ldrsh.w r3, [r1] - 11d22: 42ab cmp r3, r5 - 11d24: dc14 bgt.n 11d50 <_lv_area_is_in+0x3c> - 11d26: f9b0 4002 ldrsh.w r4, [r0, #2] - 11d2a: f9b1 3002 ldrsh.w r3, [r1, #2] - 11d2e: 429c cmp r4, r3 - 11d30: db14 blt.n 11d5c <_lv_area_is_in+0x48> - 11d32: f9b0 4004 ldrsh.w r4, [r0, #4] - 11d36: f9b1 3004 ldrsh.w r3, [r1, #4] - 11d3a: 429c cmp r4, r3 - 11d3c: dc10 bgt.n 11d60 <_lv_area_is_in+0x4c> - 11d3e: f9b0 3006 ldrsh.w r3, [r0, #6] - 11d42: f9b1 4006 ldrsh.w r4, [r1, #6] - 11d46: 42a3 cmp r3, r4 - 11d48: bfcc ite gt - 11d4a: 2300 movgt r3, #0 - 11d4c: 2301 movle r3, #1 - 11d4e: e000 b.n 11d52 <_lv_area_is_in+0x3e> + 11772: f9b0 5000 ldrsh.w r5, [r0] + 11776: f9b1 3000 ldrsh.w r3, [r1] + 1177a: 42ab cmp r3, r5 + 1177c: dc14 bgt.n 117a8 <_lv_area_is_in+0x3c> + 1177e: f9b0 4002 ldrsh.w r4, [r0, #2] + 11782: f9b1 3002 ldrsh.w r3, [r1, #2] + 11786: 429c cmp r4, r3 + 11788: db14 blt.n 117b4 <_lv_area_is_in+0x48> + 1178a: f9b0 4004 ldrsh.w r4, [r0, #4] + 1178e: f9b1 3004 ldrsh.w r3, [r1, #4] + 11792: 429c cmp r4, r3 + 11794: dc10 bgt.n 117b8 <_lv_area_is_in+0x4c> + 11796: f9b0 3006 ldrsh.w r3, [r0, #6] + 1179a: f9b1 4006 ldrsh.w r4, [r1, #6] + 1179e: 42a3 cmp r3, r4 + 117a0: bfcc ite gt + 117a2: 2300 movgt r3, #0 + 117a4: 2301 movle r3, #1 + 117a6: e000 b.n 117aa <_lv_area_is_in+0x3e> bool is_in = false; - 11d50: 2300 movs r3, #0 + 117a8: 2300 movs r3, #0 if(radius == 0) return is_in; - 11d52: b93a cbnz r2, 11d64 <_lv_area_is_in+0x50> + 117aa: b93a cbnz r2, 117bc <_lv_area_is_in+0x50> } - 11d54: 4618 mov r0, r3 - 11d56: b002 add sp, #8 - 11d58: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + 117ac: 4618 mov r0, r3 + 117ae: b002 add sp, #8 + 117b0: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} bool is_in = false; - 11d5c: 2300 movs r3, #0 - 11d5e: e7f8 b.n 11d52 <_lv_area_is_in+0x3e> - 11d60: 2300 movs r3, #0 - 11d62: e7f6 b.n 11d52 <_lv_area_is_in+0x3e> - 11d64: 4617 mov r7, r2 - 11d66: 460c mov r4, r1 - 11d68: 4606 mov r6, r0 + 117b4: 2300 movs r3, #0 + 117b6: e7f8 b.n 117aa <_lv_area_is_in+0x3e> + 117b8: 2300 movs r3, #0 + 117ba: e7f6 b.n 117aa <_lv_area_is_in+0x3e> + 117bc: 4617 mov r7, r2 + 117be: 460c mov r4, r1 + 117c0: 4606 mov r6, r0 p.x = ain_p->x1; - 11d6a: f8ad 5004 strh.w r5, [sp, #4] + 117c2: f8ad 5004 strh.w r5, [sp, #4] p.y = ain_p->y1; - 11d6e: 8843 ldrh r3, [r0, #2] - 11d70: f8ad 3006 strh.w r3, [sp, #6] + 117c6: 8843 ldrh r3, [r0, #2] + 117c8: f8ad 3006 strh.w r3, [sp, #6] if(_lv_area_is_point_on(aholder_p, &p, radius) == false) return false; - 11d74: a901 add r1, sp, #4 - 11d76: 4620 mov r0, r4 - 11d78: 4b13 ldr r3, [pc, #76] ; (11dc8 <_lv_area_is_in+0xb4>) - 11d7a: 4798 blx r3 - 11d7c: 4603 mov r3, r0 - 11d7e: 2800 cmp r0, #0 - 11d80: d0e8 beq.n 11d54 <_lv_area_is_in+0x40> + 117cc: a901 add r1, sp, #4 + 117ce: 4620 mov r0, r4 + 117d0: 4b13 ldr r3, [pc, #76] ; (11820 <_lv_area_is_in+0xb4>) + 117d2: 4798 blx r3 + 117d4: 4603 mov r3, r0 + 117d6: 2800 cmp r0, #0 + 117d8: d0e8 beq.n 117ac <_lv_area_is_in+0x40> p.x = ain_p->x2; - 11d82: f9b6 8004 ldrsh.w r8, [r6, #4] - 11d86: a902 add r1, sp, #8 - 11d88: f821 8d04 strh.w r8, [r1, #-4]! + 117da: f9b6 8004 ldrsh.w r8, [r6, #4] + 117de: a902 add r1, sp, #8 + 117e0: f821 8d04 strh.w r8, [r1, #-4]! if(_lv_area_is_point_on(aholder_p, &p, radius) == false) return false; - 11d8c: 463a mov r2, r7 - 11d8e: 4620 mov r0, r4 - 11d90: 4b0d ldr r3, [pc, #52] ; (11dc8 <_lv_area_is_in+0xb4>) - 11d92: 4798 blx r3 - 11d94: 4603 mov r3, r0 - 11d96: 2800 cmp r0, #0 - 11d98: d0dc beq.n 11d54 <_lv_area_is_in+0x40> + 117e4: 463a mov r2, r7 + 117e6: 4620 mov r0, r4 + 117e8: 4b0d ldr r3, [pc, #52] ; (11820 <_lv_area_is_in+0xb4>) + 117ea: 4798 blx r3 + 117ec: 4603 mov r3, r0 + 117ee: 2800 cmp r0, #0 + 117f0: d0dc beq.n 117ac <_lv_area_is_in+0x40> p.x = ain_p->x1; - 11d9a: f8ad 5004 strh.w r5, [sp, #4] + 117f2: f8ad 5004 strh.w r5, [sp, #4] p.y = ain_p->y2; - 11d9e: 88f3 ldrh r3, [r6, #6] - 11da0: f8ad 3006 strh.w r3, [sp, #6] + 117f6: 88f3 ldrh r3, [r6, #6] + 117f8: f8ad 3006 strh.w r3, [sp, #6] if(_lv_area_is_point_on(aholder_p, &p, radius) == false) return false; - 11da4: 463a mov r2, r7 - 11da6: a901 add r1, sp, #4 - 11da8: 4620 mov r0, r4 - 11daa: 4b07 ldr r3, [pc, #28] ; (11dc8 <_lv_area_is_in+0xb4>) - 11dac: 4798 blx r3 - 11dae: 4603 mov r3, r0 - 11db0: 2800 cmp r0, #0 - 11db2: d0cf beq.n 11d54 <_lv_area_is_in+0x40> + 117fc: 463a mov r2, r7 + 117fe: a901 add r1, sp, #4 + 11800: 4620 mov r0, r4 + 11802: 4b07 ldr r3, [pc, #28] ; (11820 <_lv_area_is_in+0xb4>) + 11804: 4798 blx r3 + 11806: 4603 mov r3, r0 + 11808: 2800 cmp r0, #0 + 1180a: d0cf beq.n 117ac <_lv_area_is_in+0x40> p.x = ain_p->x2; - 11db4: a902 add r1, sp, #8 - 11db6: f821 8d04 strh.w r8, [r1, #-4]! + 1180c: a902 add r1, sp, #8 + 1180e: f821 8d04 strh.w r8, [r1, #-4]! if(_lv_area_is_point_on(aholder_p, &p, radius) == false) return false; - 11dba: 463a mov r2, r7 - 11dbc: 4620 mov r0, r4 - 11dbe: 4b02 ldr r3, [pc, #8] ; (11dc8 <_lv_area_is_in+0xb4>) - 11dc0: 4798 blx r3 - 11dc2: 4603 mov r3, r0 - 11dc4: e7c6 b.n 11d54 <_lv_area_is_in+0x40> - 11dc6: bf00 nop - 11dc8: 00011b61 .word 0x00011b61 - -00011dcc <_lv_area_align>: -{ - 11dcc: b430 push {r4, r5} + 11812: 463a mov r2, r7 + 11814: 4620 mov r0, r4 + 11816: 4b02 ldr r3, [pc, #8] ; (11820 <_lv_area_is_in+0xb4>) + 11818: 4798 blx r3 + 1181a: 4603 mov r3, r0 + 1181c: e7c6 b.n 117ac <_lv_area_is_in+0x40> + 1181e: bf00 nop + 11820: 000115b9 .word 0x000115b9 + +00011824 <_lv_area_align>: +{ + 11824: b430 push {r4, r5} switch(align) { - 11dce: 2a14 cmp r2, #20 - 11dd0: d83a bhi.n 11e48 <_lv_area_align+0x7c> - 11dd2: e8df f012 tbh [pc, r2, lsl #1] - 11dd6: 0015 .short 0x0015 - 11dd8: 00470043 .word 0x00470043 - 11ddc: 0067005c .word 0x0067005c - 11de0: 008d0072 .word 0x008d0072 - 11de4: 00b3009e .word 0x00b3009e - 11de8: 00d600ce .word 0x00d600ce - 11dec: 00fc00ee .word 0x00fc00ee - 11df0: 011c0104 .word 0x011c0104 - 11df4: 0132012a .word 0x0132012a - 11df8: 0158014a .word 0x0158014a - 11dfc: 01780160 .word 0x01780160 + 11826: 2a14 cmp r2, #20 + 11828: d83a bhi.n 118a0 <_lv_area_align+0x7c> + 1182a: e8df f012 tbh [pc, r2, lsl #1] + 1182e: 0015 .short 0x0015 + 11830: 00470043 .word 0x00470043 + 11834: 0067005c .word 0x0067005c + 11838: 008d0072 .word 0x008d0072 + 1183c: 00b3009e .word 0x00b3009e + 11840: 00d600ce .word 0x00d600ce + 11844: 00fc00ee .word 0x00fc00ee + 11848: 011c0104 .word 0x011c0104 + 1184c: 0132012a .word 0x0132012a + 11850: 0158014a .word 0x0158014a + 11854: 01780160 .word 0x01780160 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - 11e00: 8882 ldrh r2, [r0, #4] - 11e02: 3201 adds r2, #1 - 11e04: 8804 ldrh r4, [r0, #0] - 11e06: 1b12 subs r2, r2, r4 + 11858: 8882 ldrh r2, [r0, #4] + 1185a: 3201 adds r2, #1 + 1185c: 8804 ldrh r4, [r0, #0] + 1185e: 1b12 subs r2, r2, r4 res->x = lv_area_get_width(base) / 2 - lv_area_get_width(to_align) / 2; - 11e08: b212 sxth r2, r2 - 11e0a: eb02 74d2 add.w r4, r2, r2, lsr #31 - 11e0e: 888a ldrh r2, [r1, #4] - 11e10: 3201 adds r2, #1 - 11e12: 880d ldrh r5, [r1, #0] - 11e14: 1b52 subs r2, r2, r5 - 11e16: b212 sxth r2, r2 - 11e18: eb02 72d2 add.w r2, r2, r2, lsr #31 - 11e1c: 1052 asrs r2, r2, #1 - 11e1e: ebc2 0264 rsb r2, r2, r4, asr #1 - 11e22: 801a strh r2, [r3, #0] + 11860: b212 sxth r2, r2 + 11862: eb02 74d2 add.w r4, r2, r2, lsr #31 + 11866: 888a ldrh r2, [r1, #4] + 11868: 3201 adds r2, #1 + 1186a: 880d ldrh r5, [r1, #0] + 1186c: 1b52 subs r2, r2, r5 + 1186e: b212 sxth r2, r2 + 11870: eb02 72d2 add.w r2, r2, r2, lsr #31 + 11874: 1052 asrs r2, r2, #1 + 11876: ebc2 0264 rsb r2, r2, r4, asr #1 + 1187a: 801a strh r2, [r3, #0] return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - 11e24: 88c2 ldrh r2, [r0, #6] - 11e26: 3201 adds r2, #1 - 11e28: 8844 ldrh r4, [r0, #2] - 11e2a: 1b12 subs r2, r2, r4 + 1187c: 88c2 ldrh r2, [r0, #6] + 1187e: 3201 adds r2, #1 + 11880: 8844 ldrh r4, [r0, #2] + 11882: 1b12 subs r2, r2, r4 res->y = lv_area_get_height(base) / 2 - lv_area_get_height(to_align) / 2; - 11e2c: b212 sxth r2, r2 - 11e2e: eb02 74d2 add.w r4, r2, r2, lsr #31 - 11e32: 88ca ldrh r2, [r1, #6] - 11e34: 3201 adds r2, #1 - 11e36: 8849 ldrh r1, [r1, #2] - 11e38: 1a52 subs r2, r2, r1 - 11e3a: b212 sxth r2, r2 - 11e3c: eb02 72d2 add.w r2, r2, r2, lsr #31 - 11e40: 1052 asrs r2, r2, #1 - 11e42: ebc2 0264 rsb r2, r2, r4, asr #1 - 11e46: 805a strh r2, [r3, #2] + 11884: b212 sxth r2, r2 + 11886: eb02 74d2 add.w r4, r2, r2, lsr #31 + 1188a: 88ca ldrh r2, [r1, #6] + 1188c: 3201 adds r2, #1 + 1188e: 8849 ldrh r1, [r1, #2] + 11890: 1a52 subs r2, r2, r1 + 11892: b212 sxth r2, r2 + 11894: eb02 72d2 add.w r2, r2, r2, lsr #31 + 11898: 1052 asrs r2, r2, #1 + 1189a: ebc2 0264 rsb r2, r2, r4, asr #1 + 1189e: 805a strh r2, [r3, #2] res->x += base->x1; - 11e48: 881a ldrh r2, [r3, #0] - 11e4a: 8801 ldrh r1, [r0, #0] - 11e4c: 440a add r2, r1 - 11e4e: 801a strh r2, [r3, #0] + 118a0: 881a ldrh r2, [r3, #0] + 118a2: 8801 ldrh r1, [r0, #0] + 118a4: 440a add r2, r1 + 118a6: 801a strh r2, [r3, #0] res->y += base->y1; - 11e50: 885a ldrh r2, [r3, #2] - 11e52: 8841 ldrh r1, [r0, #2] - 11e54: 440a add r2, r1 - 11e56: 805a strh r2, [r3, #2] + 118a8: 885a ldrh r2, [r3, #2] + 118aa: 8841 ldrh r1, [r0, #2] + 118ac: 440a add r2, r1 + 118ae: 805a strh r2, [r3, #2] } - 11e58: bc30 pop {r4, r5} - 11e5a: 4770 bx lr + 118b0: bc30 pop {r4, r5} + 118b2: 4770 bx lr res->x = 0; - 11e5c: 2200 movs r2, #0 - 11e5e: 801a strh r2, [r3, #0] + 118b4: 2200 movs r2, #0 + 118b6: 801a strh r2, [r3, #0] res->y = 0; - 11e60: 805a strh r2, [r3, #2] + 118b8: 805a strh r2, [r3, #2] break; - 11e62: e7f1 b.n 11e48 <_lv_area_align+0x7c> + 118ba: e7f1 b.n 118a0 <_lv_area_align+0x7c> return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - 11e64: 8882 ldrh r2, [r0, #4] - 11e66: 3201 adds r2, #1 - 11e68: 8804 ldrh r4, [r0, #0] - 11e6a: 1b12 subs r2, r2, r4 + 118bc: 8882 ldrh r2, [r0, #4] + 118be: 3201 adds r2, #1 + 118c0: 8804 ldrh r4, [r0, #0] + 118c2: 1b12 subs r2, r2, r4 res->x = lv_area_get_width(base) / 2 - lv_area_get_width(to_align) / 2; - 11e6c: b212 sxth r2, r2 - 11e6e: eb02 74d2 add.w r4, r2, r2, lsr #31 - 11e72: 888a ldrh r2, [r1, #4] - 11e74: 3201 adds r2, #1 - 11e76: 8809 ldrh r1, [r1, #0] - 11e78: 1a52 subs r2, r2, r1 - 11e7a: b212 sxth r2, r2 - 11e7c: eb02 72d2 add.w r2, r2, r2, lsr #31 - 11e80: 1052 asrs r2, r2, #1 - 11e82: ebc2 0264 rsb r2, r2, r4, asr #1 - 11e86: 801a strh r2, [r3, #0] + 118c4: b212 sxth r2, r2 + 118c6: eb02 74d2 add.w r4, r2, r2, lsr #31 + 118ca: 888a ldrh r2, [r1, #4] + 118cc: 3201 adds r2, #1 + 118ce: 8809 ldrh r1, [r1, #0] + 118d0: 1a52 subs r2, r2, r1 + 118d2: b212 sxth r2, r2 + 118d4: eb02 72d2 add.w r2, r2, r2, lsr #31 + 118d8: 1052 asrs r2, r2, #1 + 118da: ebc2 0264 rsb r2, r2, r4, asr #1 + 118de: 801a strh r2, [r3, #0] res->y = 0; - 11e88: 2200 movs r2, #0 - 11e8a: 805a strh r2, [r3, #2] + 118e0: 2200 movs r2, #0 + 118e2: 805a strh r2, [r3, #2] break; - 11e8c: e7dc b.n 11e48 <_lv_area_align+0x7c> + 118e4: e7dc b.n 118a0 <_lv_area_align+0x7c> res->x = lv_area_get_width(base) - lv_area_get_width(to_align); - 11e8e: 8882 ldrh r2, [r0, #4] - 11e90: 888c ldrh r4, [r1, #4] - 11e92: 1b12 subs r2, r2, r4 - 11e94: 8804 ldrh r4, [r0, #0] - 11e96: 1b12 subs r2, r2, r4 - 11e98: 8809 ldrh r1, [r1, #0] - 11e9a: 440a add r2, r1 - 11e9c: 801a strh r2, [r3, #0] + 118e6: 8882 ldrh r2, [r0, #4] + 118e8: 888c ldrh r4, [r1, #4] + 118ea: 1b12 subs r2, r2, r4 + 118ec: 8804 ldrh r4, [r0, #0] + 118ee: 1b12 subs r2, r2, r4 + 118f0: 8809 ldrh r1, [r1, #0] + 118f2: 440a add r2, r1 + 118f4: 801a strh r2, [r3, #0] res->y = 0; - 11e9e: 2200 movs r2, #0 - 11ea0: 805a strh r2, [r3, #2] + 118f6: 2200 movs r2, #0 + 118f8: 805a strh r2, [r3, #2] break; - 11ea2: e7d1 b.n 11e48 <_lv_area_align+0x7c> + 118fa: e7d1 b.n 118a0 <_lv_area_align+0x7c> res->x = 0; - 11ea4: 2200 movs r2, #0 - 11ea6: 801a strh r2, [r3, #0] + 118fc: 2200 movs r2, #0 + 118fe: 801a strh r2, [r3, #0] res->y = lv_area_get_height(base) - lv_area_get_height(to_align); - 11ea8: 88c2 ldrh r2, [r0, #6] - 11eaa: 88cc ldrh r4, [r1, #6] - 11eac: 1b12 subs r2, r2, r4 - 11eae: 8844 ldrh r4, [r0, #2] - 11eb0: 1b12 subs r2, r2, r4 - 11eb2: 8849 ldrh r1, [r1, #2] - 11eb4: 440a add r2, r1 - 11eb6: 805a strh r2, [r3, #2] + 11900: 88c2 ldrh r2, [r0, #6] + 11902: 88cc ldrh r4, [r1, #6] + 11904: 1b12 subs r2, r2, r4 + 11906: 8844 ldrh r4, [r0, #2] + 11908: 1b12 subs r2, r2, r4 + 1190a: 8849 ldrh r1, [r1, #2] + 1190c: 440a add r2, r1 + 1190e: 805a strh r2, [r3, #2] break; - 11eb8: e7c6 b.n 11e48 <_lv_area_align+0x7c> - 11eba: 8882 ldrh r2, [r0, #4] - 11ebc: 3201 adds r2, #1 - 11ebe: 8804 ldrh r4, [r0, #0] - 11ec0: 1b12 subs r2, r2, r4 + 11910: e7c6 b.n 118a0 <_lv_area_align+0x7c> + 11912: 8882 ldrh r2, [r0, #4] + 11914: 3201 adds r2, #1 + 11916: 8804 ldrh r4, [r0, #0] + 11918: 1b12 subs r2, r2, r4 res->x = lv_area_get_width(base) / 2 - lv_area_get_width(to_align) / 2; - 11ec2: b212 sxth r2, r2 - 11ec4: eb02 74d2 add.w r4, r2, r2, lsr #31 - 11ec8: 888a ldrh r2, [r1, #4] - 11eca: 3201 adds r2, #1 - 11ecc: 880d ldrh r5, [r1, #0] - 11ece: 1b52 subs r2, r2, r5 - 11ed0: b212 sxth r2, r2 - 11ed2: eb02 72d2 add.w r2, r2, r2, lsr #31 - 11ed6: 1052 asrs r2, r2, #1 - 11ed8: ebc2 0264 rsb r2, r2, r4, asr #1 - 11edc: 801a strh r2, [r3, #0] + 1191a: b212 sxth r2, r2 + 1191c: eb02 74d2 add.w r4, r2, r2, lsr #31 + 11920: 888a ldrh r2, [r1, #4] + 11922: 3201 adds r2, #1 + 11924: 880d ldrh r5, [r1, #0] + 11926: 1b52 subs r2, r2, r5 + 11928: b212 sxth r2, r2 + 1192a: eb02 72d2 add.w r2, r2, r2, lsr #31 + 1192e: 1052 asrs r2, r2, #1 + 11930: ebc2 0264 rsb r2, r2, r4, asr #1 + 11934: 801a strh r2, [r3, #0] res->y = lv_area_get_height(base) - lv_area_get_height(to_align); - 11ede: 88c2 ldrh r2, [r0, #6] - 11ee0: 88cc ldrh r4, [r1, #6] - 11ee2: 1b12 subs r2, r2, r4 - 11ee4: 8844 ldrh r4, [r0, #2] - 11ee6: 1b12 subs r2, r2, r4 - 11ee8: 8849 ldrh r1, [r1, #2] - 11eea: 440a add r2, r1 - 11eec: 805a strh r2, [r3, #2] + 11936: 88c2 ldrh r2, [r0, #6] + 11938: 88cc ldrh r4, [r1, #6] + 1193a: 1b12 subs r2, r2, r4 + 1193c: 8844 ldrh r4, [r0, #2] + 1193e: 1b12 subs r2, r2, r4 + 11940: 8849 ldrh r1, [r1, #2] + 11942: 440a add r2, r1 + 11944: 805a strh r2, [r3, #2] break; - 11eee: e7ab b.n 11e48 <_lv_area_align+0x7c> + 11946: e7ab b.n 118a0 <_lv_area_align+0x7c> res->x = lv_area_get_width(base) - lv_area_get_width(to_align); - 11ef0: 8882 ldrh r2, [r0, #4] - 11ef2: 888c ldrh r4, [r1, #4] - 11ef4: 1b12 subs r2, r2, r4 - 11ef6: 8804 ldrh r4, [r0, #0] - 11ef8: 1b12 subs r2, r2, r4 - 11efa: 880c ldrh r4, [r1, #0] - 11efc: 4422 add r2, r4 - 11efe: 801a strh r2, [r3, #0] + 11948: 8882 ldrh r2, [r0, #4] + 1194a: 888c ldrh r4, [r1, #4] + 1194c: 1b12 subs r2, r2, r4 + 1194e: 8804 ldrh r4, [r0, #0] + 11950: 1b12 subs r2, r2, r4 + 11952: 880c ldrh r4, [r1, #0] + 11954: 4422 add r2, r4 + 11956: 801a strh r2, [r3, #0] res->y = lv_area_get_height(base) - lv_area_get_height(to_align); - 11f00: 88c2 ldrh r2, [r0, #6] - 11f02: 88cc ldrh r4, [r1, #6] - 11f04: 1b12 subs r2, r2, r4 - 11f06: 8844 ldrh r4, [r0, #2] - 11f08: 1b12 subs r2, r2, r4 - 11f0a: 8849 ldrh r1, [r1, #2] - 11f0c: 440a add r2, r1 - 11f0e: 805a strh r2, [r3, #2] + 11958: 88c2 ldrh r2, [r0, #6] + 1195a: 88cc ldrh r4, [r1, #6] + 1195c: 1b12 subs r2, r2, r4 + 1195e: 8844 ldrh r4, [r0, #2] + 11960: 1b12 subs r2, r2, r4 + 11962: 8849 ldrh r1, [r1, #2] + 11964: 440a add r2, r1 + 11966: 805a strh r2, [r3, #2] break; - 11f10: e79a b.n 11e48 <_lv_area_align+0x7c> + 11968: e79a b.n 118a0 <_lv_area_align+0x7c> res->x = 0; - 11f12: 2200 movs r2, #0 - 11f14: 801a strh r2, [r3, #0] + 1196a: 2200 movs r2, #0 + 1196c: 801a strh r2, [r3, #0] return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - 11f16: 88c2 ldrh r2, [r0, #6] - 11f18: 3201 adds r2, #1 - 11f1a: 8844 ldrh r4, [r0, #2] - 11f1c: 1b12 subs r2, r2, r4 + 1196e: 88c2 ldrh r2, [r0, #6] + 11970: 3201 adds r2, #1 + 11972: 8844 ldrh r4, [r0, #2] + 11974: 1b12 subs r2, r2, r4 res->y = lv_area_get_height(base) / 2 - lv_area_get_height(to_align) / 2; - 11f1e: b212 sxth r2, r2 - 11f20: eb02 74d2 add.w r4, r2, r2, lsr #31 - 11f24: 88ca ldrh r2, [r1, #6] - 11f26: 3201 adds r2, #1 - 11f28: 8849 ldrh r1, [r1, #2] - 11f2a: 1a52 subs r2, r2, r1 - 11f2c: b212 sxth r2, r2 - 11f2e: eb02 72d2 add.w r2, r2, r2, lsr #31 - 11f32: 1052 asrs r2, r2, #1 - 11f34: ebc2 0264 rsb r2, r2, r4, asr #1 - 11f38: 805a strh r2, [r3, #2] + 11976: b212 sxth r2, r2 + 11978: eb02 74d2 add.w r4, r2, r2, lsr #31 + 1197c: 88ca ldrh r2, [r1, #6] + 1197e: 3201 adds r2, #1 + 11980: 8849 ldrh r1, [r1, #2] + 11982: 1a52 subs r2, r2, r1 + 11984: b212 sxth r2, r2 + 11986: eb02 72d2 add.w r2, r2, r2, lsr #31 + 1198a: 1052 asrs r2, r2, #1 + 1198c: ebc2 0264 rsb r2, r2, r4, asr #1 + 11990: 805a strh r2, [r3, #2] break; - 11f3a: e785 b.n 11e48 <_lv_area_align+0x7c> + 11992: e785 b.n 118a0 <_lv_area_align+0x7c> res->x = lv_area_get_width(base) - lv_area_get_width(to_align); - 11f3c: 8882 ldrh r2, [r0, #4] - 11f3e: 888c ldrh r4, [r1, #4] - 11f40: 1b12 subs r2, r2, r4 - 11f42: 8804 ldrh r4, [r0, #0] - 11f44: 1b12 subs r2, r2, r4 - 11f46: 880c ldrh r4, [r1, #0] - 11f48: 4422 add r2, r4 - 11f4a: 801a strh r2, [r3, #0] - 11f4c: 88c2 ldrh r2, [r0, #6] - 11f4e: 3201 adds r2, #1 - 11f50: 8844 ldrh r4, [r0, #2] - 11f52: 1b12 subs r2, r2, r4 + 11994: 8882 ldrh r2, [r0, #4] + 11996: 888c ldrh r4, [r1, #4] + 11998: 1b12 subs r2, r2, r4 + 1199a: 8804 ldrh r4, [r0, #0] + 1199c: 1b12 subs r2, r2, r4 + 1199e: 880c ldrh r4, [r1, #0] + 119a0: 4422 add r2, r4 + 119a2: 801a strh r2, [r3, #0] + 119a4: 88c2 ldrh r2, [r0, #6] + 119a6: 3201 adds r2, #1 + 119a8: 8844 ldrh r4, [r0, #2] + 119aa: 1b12 subs r2, r2, r4 res->y = lv_area_get_height(base) / 2 - lv_area_get_height(to_align) / 2; - 11f54: b212 sxth r2, r2 - 11f56: eb02 74d2 add.w r4, r2, r2, lsr #31 - 11f5a: 88ca ldrh r2, [r1, #6] - 11f5c: 3201 adds r2, #1 - 11f5e: 8849 ldrh r1, [r1, #2] - 11f60: 1a52 subs r2, r2, r1 - 11f62: b212 sxth r2, r2 - 11f64: eb02 72d2 add.w r2, r2, r2, lsr #31 - 11f68: 1052 asrs r2, r2, #1 - 11f6a: ebc2 0264 rsb r2, r2, r4, asr #1 - 11f6e: 805a strh r2, [r3, #2] + 119ac: b212 sxth r2, r2 + 119ae: eb02 74d2 add.w r4, r2, r2, lsr #31 + 119b2: 88ca ldrh r2, [r1, #6] + 119b4: 3201 adds r2, #1 + 119b6: 8849 ldrh r1, [r1, #2] + 119b8: 1a52 subs r2, r2, r1 + 119ba: b212 sxth r2, r2 + 119bc: eb02 72d2 add.w r2, r2, r2, lsr #31 + 119c0: 1052 asrs r2, r2, #1 + 119c2: ebc2 0264 rsb r2, r2, r4, asr #1 + 119c6: 805a strh r2, [r3, #2] break; - 11f70: e76a b.n 11e48 <_lv_area_align+0x7c> + 119c8: e76a b.n 118a0 <_lv_area_align+0x7c> res->x = 0; - 11f72: 2200 movs r2, #0 - 11f74: 801a strh r2, [r3, #0] - 11f76: 88ca ldrh r2, [r1, #6] - 11f78: 8849 ldrh r1, [r1, #2] - 11f7a: 1a52 subs r2, r2, r1 + 119ca: 2200 movs r2, #0 + 119cc: 801a strh r2, [r3, #0] + 119ce: 88ca ldrh r2, [r1, #6] + 119d0: 8849 ldrh r1, [r1, #2] + 119d2: 1a52 subs r2, r2, r1 res->y = -lv_area_get_height(to_align); - 11f7c: 43d2 mvns r2, r2 - 11f7e: 805a strh r2, [r3, #2] + 119d4: 43d2 mvns r2, r2 + 119d6: 805a strh r2, [r3, #2] break; - 11f80: e762 b.n 11e48 <_lv_area_align+0x7c> + 119d8: e762 b.n 118a0 <_lv_area_align+0x7c> return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - 11f82: 8882 ldrh r2, [r0, #4] - 11f84: 3201 adds r2, #1 - 11f86: 8804 ldrh r4, [r0, #0] - 11f88: 1b12 subs r2, r2, r4 + 119da: 8882 ldrh r2, [r0, #4] + 119dc: 3201 adds r2, #1 + 119de: 8804 ldrh r4, [r0, #0] + 119e0: 1b12 subs r2, r2, r4 res->x = lv_area_get_width(base) / 2 - lv_area_get_width(to_align) / 2; - 11f8a: b212 sxth r2, r2 - 11f8c: eb02 74d2 add.w r4, r2, r2, lsr #31 - 11f90: 888a ldrh r2, [r1, #4] - 11f92: 3201 adds r2, #1 - 11f94: 880d ldrh r5, [r1, #0] - 11f96: 1b52 subs r2, r2, r5 - 11f98: b212 sxth r2, r2 - 11f9a: eb02 72d2 add.w r2, r2, r2, lsr #31 - 11f9e: 1052 asrs r2, r2, #1 - 11fa0: ebc2 0264 rsb r2, r2, r4, asr #1 - 11fa4: 801a strh r2, [r3, #0] + 119e2: b212 sxth r2, r2 + 119e4: eb02 74d2 add.w r4, r2, r2, lsr #31 + 119e8: 888a ldrh r2, [r1, #4] + 119ea: 3201 adds r2, #1 + 119ec: 880d ldrh r5, [r1, #0] + 119ee: 1b52 subs r2, r2, r5 + 119f0: b212 sxth r2, r2 + 119f2: eb02 72d2 add.w r2, r2, r2, lsr #31 + 119f6: 1052 asrs r2, r2, #1 + 119f8: ebc2 0264 rsb r2, r2, r4, asr #1 + 119fc: 801a strh r2, [r3, #0] return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - 11fa6: 88ca ldrh r2, [r1, #6] - 11fa8: 8849 ldrh r1, [r1, #2] - 11faa: 1a52 subs r2, r2, r1 + 119fe: 88ca ldrh r2, [r1, #6] + 11a00: 8849 ldrh r1, [r1, #2] + 11a02: 1a52 subs r2, r2, r1 res->y = -lv_area_get_height(to_align); - 11fac: 43d2 mvns r2, r2 - 11fae: 805a strh r2, [r3, #2] + 11a04: 43d2 mvns r2, r2 + 11a06: 805a strh r2, [r3, #2] break; - 11fb0: e74a b.n 11e48 <_lv_area_align+0x7c> + 11a08: e74a b.n 118a0 <_lv_area_align+0x7c> res->x = lv_area_get_width(base) - lv_area_get_width(to_align); - 11fb2: 8882 ldrh r2, [r0, #4] - 11fb4: 888c ldrh r4, [r1, #4] - 11fb6: 1b12 subs r2, r2, r4 - 11fb8: 8804 ldrh r4, [r0, #0] - 11fba: 1b12 subs r2, r2, r4 - 11fbc: 880c ldrh r4, [r1, #0] - 11fbe: 4422 add r2, r4 - 11fc0: 801a strh r2, [r3, #0] - 11fc2: 88ca ldrh r2, [r1, #6] - 11fc4: 8849 ldrh r1, [r1, #2] - 11fc6: 1a52 subs r2, r2, r1 + 11a0a: 8882 ldrh r2, [r0, #4] + 11a0c: 888c ldrh r4, [r1, #4] + 11a0e: 1b12 subs r2, r2, r4 + 11a10: 8804 ldrh r4, [r0, #0] + 11a12: 1b12 subs r2, r2, r4 + 11a14: 880c ldrh r4, [r1, #0] + 11a16: 4422 add r2, r4 + 11a18: 801a strh r2, [r3, #0] + 11a1a: 88ca ldrh r2, [r1, #6] + 11a1c: 8849 ldrh r1, [r1, #2] + 11a1e: 1a52 subs r2, r2, r1 res->y = -lv_area_get_height(to_align); - 11fc8: 43d2 mvns r2, r2 - 11fca: 805a strh r2, [r3, #2] + 11a20: 43d2 mvns r2, r2 + 11a22: 805a strh r2, [r3, #2] break; - 11fcc: e73c b.n 11e48 <_lv_area_align+0x7c> + 11a24: e73c b.n 118a0 <_lv_area_align+0x7c> res->x = 0; - 11fce: 2200 movs r2, #0 - 11fd0: 801a strh r2, [r3, #0] - 11fd2: 88c2 ldrh r2, [r0, #6] - 11fd4: 3201 adds r2, #1 - 11fd6: 8841 ldrh r1, [r0, #2] - 11fd8: 1a52 subs r2, r2, r1 + 11a26: 2200 movs r2, #0 + 11a28: 801a strh r2, [r3, #0] + 11a2a: 88c2 ldrh r2, [r0, #6] + 11a2c: 3201 adds r2, #1 + 11a2e: 8841 ldrh r1, [r0, #2] + 11a30: 1a52 subs r2, r2, r1 res->y = lv_area_get_height(base); - 11fda: 805a strh r2, [r3, #2] + 11a32: 805a strh r2, [r3, #2] break; - 11fdc: e734 b.n 11e48 <_lv_area_align+0x7c> + 11a34: e734 b.n 118a0 <_lv_area_align+0x7c> return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - 11fde: 8882 ldrh r2, [r0, #4] - 11fe0: 3201 adds r2, #1 - 11fe2: 8804 ldrh r4, [r0, #0] - 11fe4: 1b12 subs r2, r2, r4 + 11a36: 8882 ldrh r2, [r0, #4] + 11a38: 3201 adds r2, #1 + 11a3a: 8804 ldrh r4, [r0, #0] + 11a3c: 1b12 subs r2, r2, r4 res->x = lv_area_get_width(base) / 2 - lv_area_get_width(to_align) / 2; - 11fe6: b212 sxth r2, r2 - 11fe8: eb02 74d2 add.w r4, r2, r2, lsr #31 - 11fec: 888a ldrh r2, [r1, #4] - 11fee: 3201 adds r2, #1 - 11ff0: 8809 ldrh r1, [r1, #0] - 11ff2: 1a52 subs r2, r2, r1 - 11ff4: b212 sxth r2, r2 - 11ff6: eb02 72d2 add.w r2, r2, r2, lsr #31 - 11ffa: 1052 asrs r2, r2, #1 - 11ffc: ebc2 0264 rsb r2, r2, r4, asr #1 - 12000: 801a strh r2, [r3, #0] + 11a3e: b212 sxth r2, r2 + 11a40: eb02 74d2 add.w r4, r2, r2, lsr #31 + 11a44: 888a ldrh r2, [r1, #4] + 11a46: 3201 adds r2, #1 + 11a48: 8809 ldrh r1, [r1, #0] + 11a4a: 1a52 subs r2, r2, r1 + 11a4c: b212 sxth r2, r2 + 11a4e: eb02 72d2 add.w r2, r2, r2, lsr #31 + 11a52: 1052 asrs r2, r2, #1 + 11a54: ebc2 0264 rsb r2, r2, r4, asr #1 + 11a58: 801a strh r2, [r3, #0] return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - 12002: 88c2 ldrh r2, [r0, #6] - 12004: 3201 adds r2, #1 - 12006: 8841 ldrh r1, [r0, #2] - 12008: 1a52 subs r2, r2, r1 + 11a5a: 88c2 ldrh r2, [r0, #6] + 11a5c: 3201 adds r2, #1 + 11a5e: 8841 ldrh r1, [r0, #2] + 11a60: 1a52 subs r2, r2, r1 res->y = lv_area_get_height(base); - 1200a: 805a strh r2, [r3, #2] + 11a62: 805a strh r2, [r3, #2] break; - 1200c: e71c b.n 11e48 <_lv_area_align+0x7c> + 11a64: e71c b.n 118a0 <_lv_area_align+0x7c> res->x = lv_area_get_width(base) - lv_area_get_width(to_align); - 1200e: 8882 ldrh r2, [r0, #4] - 12010: 888c ldrh r4, [r1, #4] - 12012: 1b12 subs r2, r2, r4 - 12014: 8804 ldrh r4, [r0, #0] - 12016: 1b12 subs r2, r2, r4 - 12018: 8809 ldrh r1, [r1, #0] - 1201a: 440a add r2, r1 - 1201c: 801a strh r2, [r3, #0] - 1201e: 88c2 ldrh r2, [r0, #6] - 12020: 3201 adds r2, #1 - 12022: 8841 ldrh r1, [r0, #2] - 12024: 1a52 subs r2, r2, r1 + 11a66: 8882 ldrh r2, [r0, #4] + 11a68: 888c ldrh r4, [r1, #4] + 11a6a: 1b12 subs r2, r2, r4 + 11a6c: 8804 ldrh r4, [r0, #0] + 11a6e: 1b12 subs r2, r2, r4 + 11a70: 8809 ldrh r1, [r1, #0] + 11a72: 440a add r2, r1 + 11a74: 801a strh r2, [r3, #0] + 11a76: 88c2 ldrh r2, [r0, #6] + 11a78: 3201 adds r2, #1 + 11a7a: 8841 ldrh r1, [r0, #2] + 11a7c: 1a52 subs r2, r2, r1 res->y = lv_area_get_height(base); - 12026: 805a strh r2, [r3, #2] + 11a7e: 805a strh r2, [r3, #2] break; - 12028: e70e b.n 11e48 <_lv_area_align+0x7c> + 11a80: e70e b.n 118a0 <_lv_area_align+0x7c> return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - 1202a: 888a ldrh r2, [r1, #4] - 1202c: 8809 ldrh r1, [r1, #0] - 1202e: 1a52 subs r2, r2, r1 + 11a82: 888a ldrh r2, [r1, #4] + 11a84: 8809 ldrh r1, [r1, #0] + 11a86: 1a52 subs r2, r2, r1 res->x = -lv_area_get_width(to_align); - 12030: 43d2 mvns r2, r2 - 12032: 801a strh r2, [r3, #0] + 11a88: 43d2 mvns r2, r2 + 11a8a: 801a strh r2, [r3, #0] res->y = 0; - 12034: 2200 movs r2, #0 - 12036: 805a strh r2, [r3, #2] + 11a8c: 2200 movs r2, #0 + 11a8e: 805a strh r2, [r3, #2] break; - 12038: e706 b.n 11e48 <_lv_area_align+0x7c> - 1203a: 888a ldrh r2, [r1, #4] - 1203c: 880c ldrh r4, [r1, #0] - 1203e: 1b12 subs r2, r2, r4 + 11a90: e706 b.n 118a0 <_lv_area_align+0x7c> + 11a92: 888a ldrh r2, [r1, #4] + 11a94: 880c ldrh r4, [r1, #0] + 11a96: 1b12 subs r2, r2, r4 res->x = -lv_area_get_width(to_align); - 12040: 43d2 mvns r2, r2 - 12042: 801a strh r2, [r3, #0] + 11a98: 43d2 mvns r2, r2 + 11a9a: 801a strh r2, [r3, #0] return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - 12044: 88c2 ldrh r2, [r0, #6] - 12046: 3201 adds r2, #1 - 12048: 8844 ldrh r4, [r0, #2] - 1204a: 1b12 subs r2, r2, r4 + 11a9c: 88c2 ldrh r2, [r0, #6] + 11a9e: 3201 adds r2, #1 + 11aa0: 8844 ldrh r4, [r0, #2] + 11aa2: 1b12 subs r2, r2, r4 res->y = lv_area_get_height(base) / 2 - lv_area_get_height(to_align) / 2; - 1204c: b212 sxth r2, r2 - 1204e: eb02 74d2 add.w r4, r2, r2, lsr #31 - 12052: 88ca ldrh r2, [r1, #6] - 12054: 3201 adds r2, #1 - 12056: 8849 ldrh r1, [r1, #2] - 12058: 1a52 subs r2, r2, r1 - 1205a: b212 sxth r2, r2 - 1205c: eb02 72d2 add.w r2, r2, r2, lsr #31 - 12060: 1052 asrs r2, r2, #1 - 12062: ebc2 0264 rsb r2, r2, r4, asr #1 - 12066: 805a strh r2, [r3, #2] + 11aa4: b212 sxth r2, r2 + 11aa6: eb02 74d2 add.w r4, r2, r2, lsr #31 + 11aaa: 88ca ldrh r2, [r1, #6] + 11aac: 3201 adds r2, #1 + 11aae: 8849 ldrh r1, [r1, #2] + 11ab0: 1a52 subs r2, r2, r1 + 11ab2: b212 sxth r2, r2 + 11ab4: eb02 72d2 add.w r2, r2, r2, lsr #31 + 11ab8: 1052 asrs r2, r2, #1 + 11aba: ebc2 0264 rsb r2, r2, r4, asr #1 + 11abe: 805a strh r2, [r3, #2] break; - 12068: e6ee b.n 11e48 <_lv_area_align+0x7c> + 11ac0: e6ee b.n 118a0 <_lv_area_align+0x7c> return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - 1206a: 888a ldrh r2, [r1, #4] - 1206c: 880c ldrh r4, [r1, #0] - 1206e: 1b12 subs r2, r2, r4 + 11ac2: 888a ldrh r2, [r1, #4] + 11ac4: 880c ldrh r4, [r1, #0] + 11ac6: 1b12 subs r2, r2, r4 res->x = -lv_area_get_width(to_align); - 12070: 43d2 mvns r2, r2 - 12072: 801a strh r2, [r3, #0] + 11ac8: 43d2 mvns r2, r2 + 11aca: 801a strh r2, [r3, #0] res->y = lv_area_get_height(base) - lv_area_get_height(to_align); - 12074: 88c2 ldrh r2, [r0, #6] - 12076: 88cc ldrh r4, [r1, #6] - 12078: 1b12 subs r2, r2, r4 - 1207a: 8844 ldrh r4, [r0, #2] - 1207c: 1b12 subs r2, r2, r4 - 1207e: 8849 ldrh r1, [r1, #2] - 12080: 440a add r2, r1 - 12082: 805a strh r2, [r3, #2] + 11acc: 88c2 ldrh r2, [r0, #6] + 11ace: 88cc ldrh r4, [r1, #6] + 11ad0: 1b12 subs r2, r2, r4 + 11ad2: 8844 ldrh r4, [r0, #2] + 11ad4: 1b12 subs r2, r2, r4 + 11ad6: 8849 ldrh r1, [r1, #2] + 11ad8: 440a add r2, r1 + 11ada: 805a strh r2, [r3, #2] break; - 12084: e6e0 b.n 11e48 <_lv_area_align+0x7c> - 12086: 8882 ldrh r2, [r0, #4] - 12088: 3201 adds r2, #1 - 1208a: 8801 ldrh r1, [r0, #0] - 1208c: 1a52 subs r2, r2, r1 + 11adc: e6e0 b.n 118a0 <_lv_area_align+0x7c> + 11ade: 8882 ldrh r2, [r0, #4] + 11ae0: 3201 adds r2, #1 + 11ae2: 8801 ldrh r1, [r0, #0] + 11ae4: 1a52 subs r2, r2, r1 res->x = lv_area_get_width(base); - 1208e: 801a strh r2, [r3, #0] + 11ae6: 801a strh r2, [r3, #0] res->y = 0; - 12090: 2200 movs r2, #0 - 12092: 805a strh r2, [r3, #2] + 11ae8: 2200 movs r2, #0 + 11aea: 805a strh r2, [r3, #2] break; - 12094: e6d8 b.n 11e48 <_lv_area_align+0x7c> - 12096: 8882 ldrh r2, [r0, #4] - 12098: 3201 adds r2, #1 - 1209a: 8804 ldrh r4, [r0, #0] - 1209c: 1b12 subs r2, r2, r4 + 11aec: e6d8 b.n 118a0 <_lv_area_align+0x7c> + 11aee: 8882 ldrh r2, [r0, #4] + 11af0: 3201 adds r2, #1 + 11af2: 8804 ldrh r4, [r0, #0] + 11af4: 1b12 subs r2, r2, r4 res->x = lv_area_get_width(base); - 1209e: 801a strh r2, [r3, #0] + 11af6: 801a strh r2, [r3, #0] return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - 120a0: 88c2 ldrh r2, [r0, #6] - 120a2: 3201 adds r2, #1 - 120a4: 8844 ldrh r4, [r0, #2] - 120a6: 1b12 subs r2, r2, r4 + 11af8: 88c2 ldrh r2, [r0, #6] + 11afa: 3201 adds r2, #1 + 11afc: 8844 ldrh r4, [r0, #2] + 11afe: 1b12 subs r2, r2, r4 res->y = lv_area_get_height(base) / 2 - lv_area_get_height(to_align) / 2; - 120a8: b212 sxth r2, r2 - 120aa: eb02 74d2 add.w r4, r2, r2, lsr #31 - 120ae: 88ca ldrh r2, [r1, #6] - 120b0: 3201 adds r2, #1 - 120b2: 8849 ldrh r1, [r1, #2] - 120b4: 1a52 subs r2, r2, r1 - 120b6: b212 sxth r2, r2 - 120b8: eb02 72d2 add.w r2, r2, r2, lsr #31 - 120bc: 1052 asrs r2, r2, #1 - 120be: ebc2 0264 rsb r2, r2, r4, asr #1 - 120c2: 805a strh r2, [r3, #2] + 11b00: b212 sxth r2, r2 + 11b02: eb02 74d2 add.w r4, r2, r2, lsr #31 + 11b06: 88ca ldrh r2, [r1, #6] + 11b08: 3201 adds r2, #1 + 11b0a: 8849 ldrh r1, [r1, #2] + 11b0c: 1a52 subs r2, r2, r1 + 11b0e: b212 sxth r2, r2 + 11b10: eb02 72d2 add.w r2, r2, r2, lsr #31 + 11b14: 1052 asrs r2, r2, #1 + 11b16: ebc2 0264 rsb r2, r2, r4, asr #1 + 11b1a: 805a strh r2, [r3, #2] break; - 120c4: e6c0 b.n 11e48 <_lv_area_align+0x7c> + 11b1c: e6c0 b.n 118a0 <_lv_area_align+0x7c> return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - 120c6: 8882 ldrh r2, [r0, #4] - 120c8: 3201 adds r2, #1 - 120ca: 8804 ldrh r4, [r0, #0] - 120cc: 1b12 subs r2, r2, r4 + 11b1e: 8882 ldrh r2, [r0, #4] + 11b20: 3201 adds r2, #1 + 11b22: 8804 ldrh r4, [r0, #0] + 11b24: 1b12 subs r2, r2, r4 res->x = lv_area_get_width(base); - 120ce: 801a strh r2, [r3, #0] + 11b26: 801a strh r2, [r3, #0] res->y = lv_area_get_height(base) - lv_area_get_height(to_align); - 120d0: 88c2 ldrh r2, [r0, #6] - 120d2: 88cc ldrh r4, [r1, #6] - 120d4: 1b12 subs r2, r2, r4 - 120d6: 8844 ldrh r4, [r0, #2] - 120d8: 1b12 subs r2, r2, r4 - 120da: 8849 ldrh r1, [r1, #2] - 120dc: 440a add r2, r1 - 120de: 805a strh r2, [r3, #2] + 11b28: 88c2 ldrh r2, [r0, #6] + 11b2a: 88cc ldrh r4, [r1, #6] + 11b2c: 1b12 subs r2, r2, r4 + 11b2e: 8844 ldrh r4, [r0, #2] + 11b30: 1b12 subs r2, r2, r4 + 11b32: 8849 ldrh r1, [r1, #2] + 11b34: 440a add r2, r1 + 11b36: 805a strh r2, [r3, #2] break; - 120e0: e6b2 b.n 11e48 <_lv_area_align+0x7c> + 11b38: e6b2 b.n 118a0 <_lv_area_align+0x7c> -000120e2 : +00011b3a : /********************** * STATIC FUNCTIONS **********************/ LV_ATTRIBUTE_FAST_MEM void lv_color_fill(lv_color_t * buf, lv_color_t color, uint32_t px_num) { - 120e2: b430 push {r4, r5} - 120e4: b28d uxth r5, r1 + 11b3a: b430 push {r4, r5} + 11b3c: b28d uxth r5, r1 #if LV_COLOR_DEPTH == 16 uintptr_t buf_int = (uintptr_t) buf; if(buf_int & 0x3) { - 120e6: f010 0f03 tst.w r0, #3 + 11b3e: f010 0f03 tst.w r0, #3 *buf = color; - 120ea: bf1c itt ne - 120ec: f820 1b02 strhne.w r1, [r0], #2 + 11b42: bf1c itt ne + 11b44: f820 1b02 strhne.w r1, [r0], #2 buf++; px_num--; - 120f0: f102 32ff addne.w r2, r2, #4294967295 + 11b48: f102 32ff addne.w r2, r2, #4294967295 } uint32_t c32 = color.full + (color.full << 16); - 120f4: eb05 4105 add.w r1, r5, r5, lsl #16 + 11b4c: eb05 4105 add.w r1, r5, r5, lsl #16 uint32_t * buf32 = (uint32_t *)buf; while(px_num > 16) { - 120f8: 2a10 cmp r2, #16 - 120fa: d921 bls.n 12140 - 120fc: f100 0320 add.w r3, r0, #32 - 12100: 4614 mov r4, r2 + 11b50: 2a10 cmp r2, #16 + 11b52: d921 bls.n 11b98 + 11b54: f100 0320 add.w r3, r0, #32 + 11b58: 4614 mov r4, r2 *buf32 = c32; - 12102: f843 1c20 str.w r1, [r3, #-32] + 11b5a: f843 1c20 str.w r1, [r3, #-32] buf32++; *buf32 = c32; - 12106: f843 1c1c str.w r1, [r3, #-28] + 11b5e: f843 1c1c str.w r1, [r3, #-28] buf32++; *buf32 = c32; - 1210a: f843 1c18 str.w r1, [r3, #-24] + 11b62: f843 1c18 str.w r1, [r3, #-24] buf32++; *buf32 = c32; - 1210e: f843 1c14 str.w r1, [r3, #-20] + 11b66: f843 1c14 str.w r1, [r3, #-20] buf32++; *buf32 = c32; - 12112: f843 1c10 str.w r1, [r3, #-16] + 11b6a: f843 1c10 str.w r1, [r3, #-16] buf32++; *buf32 = c32; - 12116: f843 1c0c str.w r1, [r3, #-12] + 11b6e: f843 1c0c str.w r1, [r3, #-12] buf32++; *buf32 = c32; - 1211a: f843 1c08 str.w r1, [r3, #-8] + 11b72: f843 1c08 str.w r1, [r3, #-8] buf32++; *buf32 = c32; - 1211e: f843 1c04 str.w r1, [r3, #-4] + 11b76: f843 1c04 str.w r1, [r3, #-4] buf32++; px_num -= 16; - 12122: 3c10 subs r4, #16 - 12124: 3320 adds r3, #32 + 11b7a: 3c10 subs r4, #16 + 11b7c: 3320 adds r3, #32 while(px_num > 16) { - 12126: 2c10 cmp r4, #16 - 12128: d8eb bhi.n 12102 - 1212a: f1a2 0311 sub.w r3, r2, #17 - 1212e: 091b lsrs r3, r3, #4 - 12130: 1c59 adds r1, r3, #1 - 12132: 3a10 subs r2, #16 - 12134: ebc3 7303 rsb r3, r3, r3, lsl #28 - 12138: eb02 1203 add.w r2, r2, r3, lsl #4 + 11b7e: 2c10 cmp r4, #16 + 11b80: d8eb bhi.n 11b5a + 11b82: f1a2 0311 sub.w r3, r2, #17 + 11b86: 091b lsrs r3, r3, #4 + 11b88: 1c59 adds r1, r3, #1 + 11b8a: 3a10 subs r2, #16 + 11b8c: ebc3 7303 rsb r3, r3, r3, lsl #28 + 11b90: eb02 1203 add.w r2, r2, r3, lsl #4 buf32++; - 1213c: eb00 1041 add.w r0, r0, r1, lsl #5 + 11b94: eb00 1041 add.w r0, r0, r1, lsl #5 } buf = (lv_color_t *)buf32; while(px_num) { - 12140: b11a cbz r2, 1214a + 11b98: b11a cbz r2, 11ba2 *buf = color; - 12142: f820 5b02 strh.w r5, [r0], #2 + 11b9a: f820 5b02 strh.w r5, [r0], #2 while(px_num) { - 12146: 3a01 subs r2, #1 - 12148: d1fb bne.n 12142 + 11b9e: 3a01 subs r2, #1 + 11ba0: d1fb bne.n 11b9a *buf = color; buf++; px_num --; } #endif } - 1214a: bc30 pop {r4, r5} - 1214c: 4770 bx lr + 11ba2: bc30 pop {r4, r5} + 11ba4: 4770 bx lr -0001214e : +00011ba6 : lv_color_t lv_color_lighten(lv_color_t c, lv_opa_t lvl) { - 1214e: b430 push {r4, r5} + 11ba6: b430 push {r4, r5} LV_ATTRIBUTE_FAST_MEM static inline lv_color_t lv_color_mix(lv_color_t c1, lv_color_t c2, uint8_t mix) { lv_color_t ret; #if LV_COLOR_DEPTH != 1 /*LV_COLOR_DEPTH == 8, 16 or 32*/ LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 12150: ebc1 1541 rsb r5, r1, r1, lsl #5 - 12154: f1c1 04ff rsb r4, r1, #255 ; 0xff - 12158: f3c0 23c4 ubfx r3, r0, #11, #5 - 1215c: fb04 5303 mla r3, r4, r3, r5 - 12160: eb03 2203 add.w r2, r3, r3, lsl #8 - 12164: eb03 13c2 add.w r3, r3, r2, lsl #7 - 12168: f3c3 52c4 ubfx r2, r3, #23, #5 + 11ba8: ebc1 1541 rsb r5, r1, r1, lsl #5 + 11bac: f1c1 04ff rsb r4, r1, #255 ; 0xff + 11bb0: f3c0 23c4 ubfx r3, r0, #11, #5 + 11bb4: fb04 5303 mla r3, r4, r3, r5 + 11bb8: eb03 2203 add.w r2, r3, r3, lsl #8 + 11bbc: eb03 13c2 add.w r3, r3, r2, lsl #7 + 11bc0: f3c3 52c4 ubfx r2, r3, #23, #5 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 1216c: f3c0 1345 ubfx r3, r0, #5, #6 - 12170: ebc1 1181 rsb r1, r1, r1, lsl #6 - 12174: fb04 1103 mla r1, r4, r3, r1 - 12178: eb01 2301 add.w r3, r1, r1, lsl #8 - 1217c: eb01 11c3 add.w r1, r1, r3, lsl #7 - 12180: f3c1 51c5 ubfx r1, r1, #23, #6 + 11bc4: f3c0 1345 ubfx r3, r0, #5, #6 + 11bc8: ebc1 1181 rsb r1, r1, r1, lsl #6 + 11bcc: fb04 1103 mla r1, r4, r3, r1 + 11bd0: eb01 2301 add.w r3, r1, r1, lsl #8 + 11bd4: eb01 11c3 add.w r1, r1, r3, lsl #7 + 11bd8: f3c1 51c5 ubfx r1, r1, #23, #6 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 12184: f000 001f and.w r0, r0, #31 - 12188: fb04 5000 mla r0, r4, r0, r5 - 1218c: eb00 2300 add.w r3, r0, r0, lsl #8 - 12190: eb00 10c3 add.w r0, r0, r3, lsl #7 - 12194: 0dc3 lsrs r3, r0, #23 - 12196: f04f 0000 mov.w r0, #0 - 1219a: f363 0004 bfi r0, r3, #0, #5 - 1219e: f361 104a bfi r0, r1, #5, #6 - 121a2: f362 20cf bfi r0, r2, #11, #5 + 11bdc: f000 001f and.w r0, r0, #31 + 11be0: fb04 5000 mla r0, r4, r0, r5 + 11be4: eb00 2300 add.w r3, r0, r0, lsl #8 + 11be8: eb00 10c3 add.w r0, r0, r3, lsl #7 + 11bec: 0dc3 lsrs r3, r0, #23 + 11bee: f04f 0000 mov.w r0, #0 + 11bf2: f363 0004 bfi r0, r3, #0, #5 + 11bf6: f361 104a bfi r0, r1, #5, #6 + 11bfa: f362 20cf bfi r0, r2, #11, #5 return lv_color_mix(LV_COLOR_WHITE, c, lvl); } - 121a6: bc30 pop {r4, r5} - 121a8: 4770 bx lr + 11bfe: bc30 pop {r4, r5} + 11c00: 4770 bx lr -000121aa : +00011c02 : lv_color_t lv_color_darken(lv_color_t c, lv_opa_t lvl) { - 121aa: b410 push {r4} + 11c02: b410 push {r4} LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 121ac: f1c1 01ff rsb r1, r1, #255 ; 0xff - 121b0: f3c0 23c4 ubfx r3, r0, #11, #5 - 121b4: fb01 f303 mul.w r3, r1, r3 - 121b8: eb03 2203 add.w r2, r3, r3, lsl #8 - 121bc: eb03 13c2 add.w r3, r3, r2, lsl #7 - 121c0: f3c3 53c4 ubfx r3, r3, #23, #5 + 11c04: f1c1 01ff rsb r1, r1, #255 ; 0xff + 11c08: f3c0 23c4 ubfx r3, r0, #11, #5 + 11c0c: fb01 f303 mul.w r3, r1, r3 + 11c10: eb03 2203 add.w r2, r3, r3, lsl #8 + 11c14: eb03 13c2 add.w r3, r3, r2, lsl #7 + 11c18: f3c3 53c4 ubfx r3, r3, #23, #5 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 121c4: f3c0 1245 ubfx r2, r0, #5, #6 - 121c8: fb01 f202 mul.w r2, r1, r2 - 121cc: eb02 2402 add.w r4, r2, r2, lsl #8 - 121d0: eb02 12c4 add.w r2, r2, r4, lsl #7 - 121d4: f3c2 52c5 ubfx r2, r2, #23, #6 + 11c1c: f3c0 1245 ubfx r2, r0, #5, #6 + 11c20: fb01 f202 mul.w r2, r1, r2 + 11c24: eb02 2402 add.w r4, r2, r2, lsl #8 + 11c28: eb02 12c4 add.w r2, r2, r4, lsl #7 + 11c2c: f3c2 52c5 ubfx r2, r2, #23, #6 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 121d8: f000 001f and.w r0, r0, #31 - 121dc: fb01 f100 mul.w r1, r1, r0 - 121e0: eb01 2001 add.w r0, r1, r1, lsl #8 - 121e4: eb01 11c0 add.w r1, r1, r0, lsl #7 - 121e8: 0dc9 lsrs r1, r1, #23 - 121ea: f04f 0000 mov.w r0, #0 - 121ee: f361 0004 bfi r0, r1, #0, #5 - 121f2: f362 104a bfi r0, r2, #5, #6 - 121f6: f363 20cf bfi r0, r3, #11, #5 + 11c30: f000 001f and.w r0, r0, #31 + 11c34: fb01 f100 mul.w r1, r1, r0 + 11c38: eb01 2001 add.w r0, r1, r1, lsl #8 + 11c3c: eb01 11c0 add.w r1, r1, r0, lsl #7 + 11c40: 0dc9 lsrs r1, r1, #23 + 11c42: f04f 0000 mov.w r0, #0 + 11c46: f361 0004 bfi r0, r1, #0, #5 + 11c4a: f362 104a bfi r0, r2, #5, #6 + 11c4e: f363 20cf bfi r0, r3, #11, #5 return lv_color_mix(LV_COLOR_BLACK, c, lvl); } - 121fa: f85d 4b04 ldr.w r4, [sp], #4 - 121fe: 4770 bx lr + 11c52: f85d 4b04 ldr.w r4, [sp], #4 + 11c56: 4770 bx lr -00012200 : +00011c58 : static const char * lv_fs_get_real_path(const char * path) { /* Example path: "S:/folder/file.txt" * Leave the letter and the : / \ characters*/ path++; /*Ignore the driver letter*/ - 12200: 1c42 adds r2, r0, #1 + 11c58: 1c42 adds r2, r0, #1 while(*path != '\0') { - 12202: 7843 ldrb r3, [r0, #1] - 12204: b91b cbnz r3, 1220e - 12206: e008 b.n 1221a - 12208: f812 3f01 ldrb.w r3, [r2, #1]! - 1220c: b12b cbz r3, 1221a + 11c5a: 7843 ldrb r3, [r0, #1] + 11c5c: b91b cbnz r3, 11c66 + 11c5e: e008 b.n 11c72 + 11c60: f812 3f01 ldrb.w r3, [r2, #1]! + 11c64: b12b cbz r3, 11c72 if(*path == ':' || *path == '\\' || *path == '/') { - 1220e: 2b3a cmp r3, #58 ; 0x3a - 12210: d0fa beq.n 12208 - 12212: 2b5c cmp r3, #92 ; 0x5c - 12214: d0f8 beq.n 12208 - 12216: 2b2f cmp r3, #47 ; 0x2f - 12218: d0f6 beq.n 12208 + 11c66: 2b3a cmp r3, #58 ; 0x3a + 11c68: d0fa beq.n 11c60 + 11c6a: 2b5c cmp r3, #92 ; 0x5c + 11c6c: d0f8 beq.n 11c60 + 11c6e: 2b2f cmp r3, #47 ; 0x2f + 11c70: d0f6 beq.n 11c60 break; } } return path; } - 1221a: 4610 mov r0, r2 - 1221c: 4770 bx lr + 11c72: 4610 mov r0, r2 + 11c74: 4770 bx lr ... -00012220 <_lv_fs_init>: +00011c78 <_lv_fs_init>: { - 12220: b508 push {r3, lr} + 11c78: b508 push {r3, lr} _lv_ll_init(&LV_GC_ROOT(_lv_drv_ll), sizeof(lv_fs_drv_t)); - 12222: 2144 movs r1, #68 ; 0x44 - 12224: 4801 ldr r0, [pc, #4] ; (1222c <_lv_fs_init+0xc>) - 12226: 4b02 ldr r3, [pc, #8] ; (12230 <_lv_fs_init+0x10>) - 12228: 4798 blx r3 - 1222a: bd08 pop {r3, pc} - 1222c: 20006d4c .word 0x20006d4c - 12230: 000124a1 .word 0x000124a1 + 11c7a: 2144 movs r1, #68 ; 0x44 + 11c7c: 4801 ldr r0, [pc, #4] ; (11c84 <_lv_fs_init+0xc>) + 11c7e: 4b02 ldr r3, [pc, #8] ; (11c88 <_lv_fs_init+0x10>) + 11c80: 4798 blx r3 + 11c82: bd08 pop {r3, pc} + 11c84: 20006d30 .word 0x20006d30 + 11c88: 00011ef9 .word 0x00011ef9 -00012234 : +00011c8c : { - 12234: b538 push {r3, r4, r5, lr} + 11c8c: b538 push {r3, r4, r5, lr} if(file_p->drv == NULL) { - 12236: 6843 ldr r3, [r0, #4] - 12238: b173 cbz r3, 12258 + 11c8e: 6843 ldr r3, [r0, #4] + 11c90: b173 cbz r3, 11cb0 if(file_p->drv->close_cb == NULL) { - 1223a: 691a ldr r2, [r3, #16] - 1223c: b172 cbz r2, 1225c - 1223e: 4604 mov r4, r0 + 11c92: 691a ldr r2, [r3, #16] + 11c94: b172 cbz r2, 11cb4 + 11c96: 4604 mov r4, r0 lv_fs_res_t res = file_p->drv->close_cb(file_p->drv, file_p->file_d); - 12240: 6801 ldr r1, [r0, #0] - 12242: 4618 mov r0, r3 - 12244: 4790 blx r2 - 12246: 4605 mov r5, r0 + 11c98: 6801 ldr r1, [r0, #0] + 11c9a: 4618 mov r0, r3 + 11c9c: 4790 blx r2 + 11c9e: 4605 mov r5, r0 lv_mem_free(file_p->file_d); /*Clean up*/ - 12248: 6820 ldr r0, [r4, #0] - 1224a: 4b05 ldr r3, [pc, #20] ; (12260 ) - 1224c: 4798 blx r3 + 11ca0: 6820 ldr r0, [r4, #0] + 11ca2: 4b05 ldr r3, [pc, #20] ; (11cb8 ) + 11ca4: 4798 blx r3 file_p->file_d = NULL; - 1224e: 2300 movs r3, #0 - 12250: 6023 str r3, [r4, #0] + 11ca6: 2300 movs r3, #0 + 11ca8: 6023 str r3, [r4, #0] file_p->drv = NULL; - 12252: 6063 str r3, [r4, #4] + 11caa: 6063 str r3, [r4, #4] } - 12254: 4628 mov r0, r5 - 12256: bd38 pop {r3, r4, r5, pc} + 11cac: 4628 mov r0, r5 + 11cae: bd38 pop {r3, r4, r5, pc} return LV_FS_RES_INV_PARAM; - 12258: 250b movs r5, #11 - 1225a: e7fb b.n 12254 + 11cb0: 250b movs r5, #11 + 11cb2: e7fb b.n 11cac return LV_FS_RES_NOT_IMP; - 1225c: 2509 movs r5, #9 - 1225e: e7f9 b.n 12254 - 12260: 00012a6d .word 0x00012a6d + 11cb4: 2509 movs r5, #9 + 11cb6: e7f9 b.n 11cac + 11cb8: 000124c5 .word 0x000124c5 -00012264 : +00011cbc : { - 12264: b5f0 push {r4, r5, r6, r7, lr} - 12266: b085 sub sp, #20 + 11cbc: b5f0 push {r4, r5, r6, r7, lr} + 11cbe: b085 sub sp, #20 if(br != NULL) *br = 0; - 12268: 461e mov r6, r3 - 1226a: b10b cbz r3, 12270 - 1226c: 2300 movs r3, #0 - 1226e: 6033 str r3, [r6, #0] + 11cc0: 461e mov r6, r3 + 11cc2: b10b cbz r3, 11cc8 + 11cc4: 2300 movs r3, #0 + 11cc6: 6033 str r3, [r6, #0] if(file_p->drv == NULL) return LV_FS_RES_INV_PARAM; - 12270: 6845 ldr r5, [r0, #4] - 12272: b18d cbz r5, 12298 + 11cc8: 6845 ldr r5, [r0, #4] + 11cca: b18d cbz r5, 11cf0 if(file_p->drv->read_cb == NULL) return LV_FS_RES_NOT_IMP; - 12274: 69af ldr r7, [r5, #24] - 12276: b18f cbz r7, 1229c - 12278: 4613 mov r3, r2 - 1227a: 460a mov r2, r1 - 1227c: 4604 mov r4, r0 + 11ccc: 69af ldr r7, [r5, #24] + 11cce: b18f cbz r7, 11cf4 + 11cd0: 4613 mov r3, r2 + 11cd2: 460a mov r2, r1 + 11cd4: 4604 mov r4, r0 uint32_t br_tmp = 0; - 1227e: a804 add r0, sp, #16 - 12280: 2100 movs r1, #0 - 12282: f840 1d04 str.w r1, [r0, #-4]! + 11cd6: a804 add r0, sp, #16 + 11cd8: 2100 movs r1, #0 + 11cda: f840 1d04 str.w r1, [r0, #-4]! lv_fs_res_t res = file_p->drv->read_cb(file_p->drv, file_p->file_d, buf, btr, &br_tmp); - 12286: 6821 ldr r1, [r4, #0] - 12288: 9000 str r0, [sp, #0] - 1228a: 4628 mov r0, r5 - 1228c: 47b8 blx r7 + 11cde: 6821 ldr r1, [r4, #0] + 11ce0: 9000 str r0, [sp, #0] + 11ce2: 4628 mov r0, r5 + 11ce4: 47b8 blx r7 if(br != NULL) *br = br_tmp; - 1228e: b10e cbz r6, 12294 - 12290: 9b03 ldr r3, [sp, #12] - 12292: 6033 str r3, [r6, #0] + 11ce6: b10e cbz r6, 11cec + 11ce8: 9b03 ldr r3, [sp, #12] + 11cea: 6033 str r3, [r6, #0] } - 12294: b005 add sp, #20 - 12296: bdf0 pop {r4, r5, r6, r7, pc} + 11cec: b005 add sp, #20 + 11cee: bdf0 pop {r4, r5, r6, r7, pc} if(file_p->drv == NULL) return LV_FS_RES_INV_PARAM; - 12298: 200b movs r0, #11 - 1229a: e7fb b.n 12294 + 11cf0: 200b movs r0, #11 + 11cf2: e7fb b.n 11cec if(file_p->drv->read_cb == NULL) return LV_FS_RES_NOT_IMP; - 1229c: 2009 movs r0, #9 - 1229e: e7f9 b.n 12294 + 11cf4: 2009 movs r0, #9 + 11cf6: e7f9 b.n 11cec -000122a0 : +00011cf8 : { - 122a0: b538 push {r3, r4, r5, lr} + 11cf8: b538 push {r3, r4, r5, lr} if(file_p->drv == NULL) { - 122a2: 6844 ldr r4, [r0, #4] - 122a4: b134 cbz r4, 122b4 + 11cfa: 6844 ldr r4, [r0, #4] + 11cfc: b134 cbz r4, 11d0c if(file_p->drv->seek_cb == NULL) { - 122a6: 6a25 ldr r5, [r4, #32] - 122a8: b135 cbz r5, 122b8 - 122aa: 460a mov r2, r1 + 11cfe: 6a25 ldr r5, [r4, #32] + 11d00: b135 cbz r5, 11d10 + 11d02: 460a mov r2, r1 lv_fs_res_t res = file_p->drv->seek_cb(file_p->drv, file_p->file_d, pos); - 122ac: 6801 ldr r1, [r0, #0] - 122ae: 4620 mov r0, r4 - 122b0: 47a8 blx r5 + 11d04: 6801 ldr r1, [r0, #0] + 11d06: 4620 mov r0, r4 + 11d08: 47a8 blx r5 return res; - 122b2: bd38 pop {r3, r4, r5, pc} + 11d0a: bd38 pop {r3, r4, r5, pc} return LV_FS_RES_INV_PARAM; - 122b4: 200b movs r0, #11 - 122b6: bd38 pop {r3, r4, r5, pc} + 11d0c: 200b movs r0, #11 + 11d0e: bd38 pop {r3, r4, r5, pc} return LV_FS_RES_NOT_IMP; - 122b8: 2009 movs r0, #9 + 11d10: 2009 movs r0, #9 } - 122ba: bd38 pop {r3, r4, r5, pc} + 11d12: bd38 pop {r3, r4, r5, pc} -000122bc : +00011d14 : { - 122bc: b570 push {r4, r5, r6, lr} - 122be: 4604 mov r4, r0 + 11d14: b570 push {r4, r5, r6, lr} + 11d16: 4604 mov r4, r0 _LV_LL_READ(LV_GC_ROOT(_lv_drv_ll), drv) { - 122c0: 4809 ldr r0, [pc, #36] ; (122e8 ) - 122c2: 4b0a ldr r3, [pc, #40] ; (122ec ) - 122c4: 4798 blx r3 - 122c6: 4601 mov r1, r0 - 122c8: b158 cbz r0, 122e2 + 11d18: 4809 ldr r0, [pc, #36] ; (11d40 ) + 11d1a: 4b0a ldr r3, [pc, #40] ; (11d44 ) + 11d1c: 4798 blx r3 + 11d1e: 4601 mov r1, r0 + 11d20: b158 cbz r0, 11d3a if(drv->letter == letter) { - 122ca: 7803 ldrb r3, [r0, #0] - 122cc: 42a3 cmp r3, r4 - 122ce: d008 beq.n 122e2 + 11d22: 7803 ldrb r3, [r0, #0] + 11d24: 42a3 cmp r3, r4 + 11d26: d008 beq.n 11d3a _LV_LL_READ(LV_GC_ROOT(_lv_drv_ll), drv) { - 122d0: 4e05 ldr r6, [pc, #20] ; (122e8 ) - 122d2: 4d07 ldr r5, [pc, #28] ; (122f0 ) - 122d4: 4630 mov r0, r6 - 122d6: 47a8 blx r5 - 122d8: 4601 mov r1, r0 - 122da: b110 cbz r0, 122e2 + 11d28: 4e05 ldr r6, [pc, #20] ; (11d40 ) + 11d2a: 4d07 ldr r5, [pc, #28] ; (11d48 ) + 11d2c: 4630 mov r0, r6 + 11d2e: 47a8 blx r5 + 11d30: 4601 mov r1, r0 + 11d32: b110 cbz r0, 11d3a if(drv->letter == letter) { - 122dc: 780b ldrb r3, [r1, #0] - 122de: 42a3 cmp r3, r4 - 122e0: d1f8 bne.n 122d4 + 11d34: 780b ldrb r3, [r1, #0] + 11d36: 42a3 cmp r3, r4 + 11d38: d1f8 bne.n 11d2c } - 122e2: 4608 mov r0, r1 - 122e4: bd70 pop {r4, r5, r6, pc} - 122e6: bf00 nop - 122e8: 20006d4c .word 0x20006d4c - 122ec: 00012551 .word 0x00012551 - 122f0: 00012565 .word 0x00012565 + 11d3a: 4608 mov r0, r1 + 11d3c: bd70 pop {r4, r5, r6, pc} + 11d3e: bf00 nop + 11d40: 20006d30 .word 0x20006d30 + 11d44: 00011fa9 .word 0x00011fa9 + 11d48: 00011fbd .word 0x00011fbd -000122f4 : +00011d4c : { - 122f4: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} - 122f8: b083 sub sp, #12 + 11d4c: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} + 11d50: b083 sub sp, #12 file_p->drv = NULL; - 122fa: 2300 movs r3, #0 - 122fc: 6043 str r3, [r0, #4] + 11d52: 2300 movs r3, #0 + 11d54: 6043 str r3, [r0, #4] file_p->file_d = NULL; - 122fe: 6003 str r3, [r0, #0] + 11d56: 6003 str r3, [r0, #0] if(path == NULL) return LV_FS_RES_INV_PARAM; - 12300: 2900 cmp r1, #0 - 12302: d045 beq.n 12390 - 12304: 460d mov r5, r1 - 12306: 4691 mov r9, r2 - 12308: 4604 mov r4, r0 + 11d58: 2900 cmp r1, #0 + 11d5a: d045 beq.n 11de8 + 11d5c: 460d mov r5, r1 + 11d5e: 4691 mov r9, r2 + 11d60: 4604 mov r4, r0 file_p->drv = lv_fs_get_drv(letter); - 1230a: 7808 ldrb r0, [r1, #0] - 1230c: 4b24 ldr r3, [pc, #144] ; (123a0 ) - 1230e: 4798 blx r3 - 12310: 6060 str r0, [r4, #4] + 11d62: 7808 ldrb r0, [r1, #0] + 11d64: 4b24 ldr r3, [pc, #144] ; (11df8 ) + 11d66: 4798 blx r3 + 11d68: 6060 str r0, [r4, #4] if(file_p->drv == NULL) { - 12312: b140 cbz r0, 12326 + 11d6a: b140 cbz r0, 11d7e if(file_p->drv->ready_cb != NULL) { - 12314: 6883 ldr r3, [r0, #8] - 12316: b153 cbz r3, 1232e + 11d6c: 6883 ldr r3, [r0, #8] + 11d6e: b153 cbz r3, 11d86 if(file_p->drv->ready_cb(file_p->drv) == false) { - 12318: 4798 blx r3 - 1231a: b940 cbnz r0, 1232e + 11d70: 4798 blx r3 + 11d72: b940 cbnz r0, 11d86 file_p->drv = NULL; - 1231c: 2300 movs r3, #0 - 1231e: 6063 str r3, [r4, #4] + 11d74: 2300 movs r3, #0 + 11d76: 6063 str r3, [r4, #4] file_p->file_d = NULL; - 12320: 6023 str r3, [r4, #0] + 11d78: 6023 str r3, [r4, #0] return LV_FS_RES_HW_ERR; - 12322: 2501 movs r5, #1 - 12324: e035 b.n 12392 + 11d7a: 2501 movs r5, #1 + 11d7c: e035 b.n 11dea file_p->file_d = NULL; - 12326: 2300 movs r3, #0 - 12328: 6023 str r3, [r4, #0] + 11d7e: 2300 movs r3, #0 + 11d80: 6023 str r3, [r4, #0] return LV_FS_RES_NOT_EX; - 1232a: 2503 movs r5, #3 - 1232c: e031 b.n 12392 + 11d82: 2503 movs r5, #3 + 11d84: e031 b.n 11dea file_p->file_d = lv_mem_alloc(file_p->drv->file_size); - 1232e: 6863 ldr r3, [r4, #4] - 12330: 8858 ldrh r0, [r3, #2] - 12332: 4b1c ldr r3, [pc, #112] ; (123a4 ) - 12334: 4798 blx r3 - 12336: 6020 str r0, [r4, #0] + 11d86: 6863 ldr r3, [r4, #4] + 11d88: 8858 ldrh r0, [r3, #2] + 11d8a: 4b1c ldr r3, [pc, #112] ; (11dfc ) + 11d8c: 4798 blx r3 + 11d8e: 6020 str r0, [r4, #0] LV_ASSERT_MEM(file_p->file_d); - 12338: 4b1b ldr r3, [pc, #108] ; (123a8 ) - 1233a: 4798 blx r3 - 1233c: b128 cbz r0, 1234a + 11d90: 4b1b ldr r3, [pc, #108] ; (11e00 ) + 11d92: 4798 blx r3 + 11d94: b128 cbz r0, 11da2 if(file_p->file_d == NULL) { - 1233e: 6826 ldr r6, [r4, #0] - 12340: b986 cbnz r6, 12364 + 11d96: 6826 ldr r6, [r4, #0] + 11d98: b986 cbnz r6, 11dbc file_p->drv = NULL; - 12342: 2300 movs r3, #0 - 12344: 6063 str r3, [r4, #4] + 11d9a: 2300 movs r3, #0 + 11d9c: 6063 str r3, [r4, #4] return LV_FS_RES_OUT_OF_MEM; /* Out of memory */ - 12346: 250a movs r5, #10 - 12348: e023 b.n 12392 + 11d9e: 250a movs r5, #10 + 11da0: e023 b.n 11dea LV_ASSERT_MEM(file_p->file_d); - 1234a: 4b18 ldr r3, [pc, #96] ; (123ac ) - 1234c: 9300 str r3, [sp, #0] - 1234e: 226f movs r2, #111 ; 0x6f - 12350: 4917 ldr r1, [pc, #92] ; (123b0 ) - 12352: 2003 movs r0, #3 - 12354: 4d17 ldr r5, [pc, #92] ; (123b4 ) - 12356: 47a8 blx r5 - 12358: 6822 ldr r2, [r4, #0] - 1235a: 2300 movs r3, #0 - 1235c: 4816 ldr r0, [pc, #88] ; (123b8 ) - 1235e: 4917 ldr r1, [pc, #92] ; (123bc ) - 12360: 4788 blx r1 - 12362: e7fe b.n 12362 + 11da2: 4b18 ldr r3, [pc, #96] ; (11e04 ) + 11da4: 9300 str r3, [sp, #0] + 11da6: 226f movs r2, #111 ; 0x6f + 11da8: 4917 ldr r1, [pc, #92] ; (11e08 ) + 11daa: 2003 movs r0, #3 + 11dac: 4d17 ldr r5, [pc, #92] ; (11e0c ) + 11dae: 47a8 blx r5 + 11db0: 6822 ldr r2, [r4, #0] + 11db2: 2300 movs r3, #0 + 11db4: 4816 ldr r0, [pc, #88] ; (11e10 ) + 11db6: 4917 ldr r1, [pc, #92] ; (11e14 ) + 11db8: 4788 blx r1 + 11dba: e7fe b.n 11dba if(file_p->drv->open_cb == NULL) { - 12364: f8d4 8004 ldr.w r8, [r4, #4] - 12368: f8d8 700c ldr.w r7, [r8, #12] - 1236c: b1af cbz r7, 1239a + 11dbc: f8d4 8004 ldr.w r8, [r4, #4] + 11dc0: f8d8 700c ldr.w r7, [r8, #12] + 11dc4: b1af cbz r7, 11df2 const char * real_path = lv_fs_get_real_path(path); - 1236e: 4628 mov r0, r5 - 12370: 4b13 ldr r3, [pc, #76] ; (123c0 ) - 12372: 4798 blx r3 + 11dc6: 4628 mov r0, r5 + 11dc8: 4b13 ldr r3, [pc, #76] ; (11e18 ) + 11dca: 4798 blx r3 lv_fs_res_t res = file_p->drv->open_cb(file_p->drv, file_p->file_d, real_path, mode); - 12374: 464b mov r3, r9 - 12376: 4602 mov r2, r0 - 12378: 4631 mov r1, r6 - 1237a: 4640 mov r0, r8 - 1237c: 47b8 blx r7 + 11dcc: 464b mov r3, r9 + 11dce: 4602 mov r2, r0 + 11dd0: 4631 mov r1, r6 + 11dd2: 4640 mov r0, r8 + 11dd4: 47b8 blx r7 if(res != LV_FS_RES_OK) { - 1237e: 4605 mov r5, r0 - 12380: b138 cbz r0, 12392 + 11dd6: 4605 mov r5, r0 + 11dd8: b138 cbz r0, 11dea lv_mem_free(file_p->file_d); - 12382: 6820 ldr r0, [r4, #0] - 12384: 4b0f ldr r3, [pc, #60] ; (123c4 ) - 12386: 4798 blx r3 + 11dda: 6820 ldr r0, [r4, #0] + 11ddc: 4b0f ldr r3, [pc, #60] ; (11e1c ) + 11dde: 4798 blx r3 file_p->file_d = NULL; - 12388: 2300 movs r3, #0 - 1238a: 6023 str r3, [r4, #0] + 11de0: 2300 movs r3, #0 + 11de2: 6023 str r3, [r4, #0] file_p->drv = NULL; - 1238c: 6063 str r3, [r4, #4] - 1238e: e000 b.n 12392 + 11de4: 6063 str r3, [r4, #4] + 11de6: e000 b.n 11dea if(path == NULL) return LV_FS_RES_INV_PARAM; - 12390: 250b movs r5, #11 + 11de8: 250b movs r5, #11 } - 12392: 4628 mov r0, r5 - 12394: b003 add sp, #12 - 12396: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} + 11dea: 4628 mov r0, r5 + 11dec: b003 add sp, #12 + 11dee: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} return LV_FS_RES_NOT_IMP; - 1239a: 2509 movs r5, #9 - 1239c: e7f9 b.n 12392 - 1239e: bf00 nop - 123a0: 000122bd .word 0x000122bd - 123a4: 00012985 .word 0x00012985 - 123a8: 0000298d .word 0x0000298d - 123ac: 0002073c .word 0x0002073c - 123b0: 00020758 .word 0x00020758 - 123b4: 00012805 .word 0x00012805 - 123b8: 0001b4bc .word 0x0001b4bc - 123bc: 00002995 .word 0x00002995 - 123c0: 00012201 .word 0x00012201 - 123c4: 00012a6d .word 0x00012a6d - -000123c8 : -{ - 123c8: b510 push {r4, lr} - 123ca: 4604 mov r4, r0 + 11df2: 2509 movs r5, #9 + 11df4: e7f9 b.n 11dea + 11df6: bf00 nop + 11df8: 00011d15 .word 0x00011d15 + 11dfc: 000123dd .word 0x000123dd + 11e00: 000022b1 .word 0x000022b1 + 11e04: 00029258 .word 0x00029258 + 11e08: 00029274 .word 0x00029274 + 11e0c: 0001225d .word 0x0001225d + 11e10: 00023fd8 .word 0x00023fd8 + 11e14: 000022b9 .word 0x000022b9 + 11e18: 00011c59 .word 0x00011c59 + 11e1c: 000124c5 .word 0x000124c5 + +00011e20 : +{ + 11e20: b510 push {r4, lr} + 11e22: 4604 mov r4, r0 for(i = strlen(fn); i > 0; i--) { - 123cc: 4b12 ldr r3, [pc, #72] ; (12418 ) - 123ce: 4798 blx r3 - 123d0: b1c8 cbz r0, 12406 - 123d2: 4602 mov r2, r0 + 11e24: 4b12 ldr r3, [pc, #72] ; (11e70 ) + 11e26: 4798 blx r3 + 11e28: b1c8 cbz r0, 11e5e + 11e2a: 4602 mov r2, r0 if(fn[i] == '.') { - 123d4: 1821 adds r1, r4, r0 - 123d6: 5c23 ldrb r3, [r4, r0] - 123d8: 2b2e cmp r3, #46 ; 0x2e - 123da: d00f beq.n 123fc + 11e2c: 1821 adds r1, r4, r0 + 11e2e: 5c23 ldrb r3, [r4, r0] + 11e30: 2b2e cmp r3, #46 ; 0x2e + 11e32: d00f beq.n 11e54 else if(fn[i] == '/' || fn[i] == '\\') { - 123dc: 2b2f cmp r3, #47 ; 0x2f - 123de: d014 beq.n 1240a - 123e0: 2b5c cmp r3, #92 ; 0x5c - 123e2: d014 beq.n 1240e + 11e34: 2b2f cmp r3, #47 ; 0x2f + 11e36: d014 beq.n 11e62 + 11e38: 2b5c cmp r3, #92 ; 0x5c + 11e3a: d014 beq.n 11e66 for(i = strlen(fn); i > 0; i--) { - 123e4: 3a01 subs r2, #1 - 123e6: d00c beq.n 12402 + 11e3c: 3a01 subs r2, #1 + 11e3e: d00c beq.n 11e5a if(fn[i] == '.') { - 123e8: f811 3d01 ldrb.w r3, [r1, #-1]! - 123ec: 2b2e cmp r3, #46 ; 0x2e - 123ee: d005 beq.n 123fc + 11e40: f811 3d01 ldrb.w r3, [r1, #-1]! + 11e44: 2b2e cmp r3, #46 ; 0x2e + 11e46: d005 beq.n 11e54 else if(fn[i] == '/' || fn[i] == '\\') { - 123f0: 2b2f cmp r3, #47 ; 0x2f - 123f2: d00e beq.n 12412 - 123f4: 2b5c cmp r3, #92 ; 0x5c - 123f6: d1f5 bne.n 123e4 + 11e48: 2b2f cmp r3, #47 ; 0x2f + 11e4a: d00e beq.n 11e6a + 11e4c: 2b5c cmp r3, #92 ; 0x5c + 11e4e: d1f5 bne.n 11e3c return ""; /*No extension if a '\' or '/' found*/ - 123f8: 4808 ldr r0, [pc, #32] ; (1241c ) + 11e50: 4808 ldr r0, [pc, #32] ; (11e74 ) } - 123fa: bd10 pop {r4, pc} + 11e52: bd10 pop {r4, pc} return &fn[i + 1]; - 123fc: 3201 adds r2, #1 - 123fe: 18a0 adds r0, r4, r2 - 12400: bd10 pop {r4, pc} + 11e54: 3201 adds r2, #1 + 11e56: 18a0 adds r0, r4, r2 + 11e58: bd10 pop {r4, pc} return ""; /*Empty string if no '.' in the file name. */ - 12402: 4806 ldr r0, [pc, #24] ; (1241c ) - 12404: bd10 pop {r4, pc} - 12406: 4805 ldr r0, [pc, #20] ; (1241c ) - 12408: bd10 pop {r4, pc} + 11e5a: 4806 ldr r0, [pc, #24] ; (11e74 ) + 11e5c: bd10 pop {r4, pc} + 11e5e: 4805 ldr r0, [pc, #20] ; (11e74 ) + 11e60: bd10 pop {r4, pc} return ""; /*No extension if a '\' or '/' found*/ - 1240a: 4804 ldr r0, [pc, #16] ; (1241c ) - 1240c: bd10 pop {r4, pc} - 1240e: 4803 ldr r0, [pc, #12] ; (1241c ) - 12410: bd10 pop {r4, pc} - 12412: 4802 ldr r0, [pc, #8] ; (1241c ) - 12414: bd10 pop {r4, pc} - 12416: bf00 nop - 12418: 0001af4f .word 0x0001af4f - 1241c: 0001c3e8 .word 0x0001c3e8 - -00012420 : + 11e62: 4804 ldr r0, [pc, #16] ; (11e74 ) + 11e64: bd10 pop {r4, pc} + 11e66: 4803 ldr r0, [pc, #12] ; (11e74 ) + 11e68: bd10 pop {r4, pc} + 11e6a: 4802 ldr r0, [pc, #8] ; (11e74 ) + 11e6c: bd10 pop {r4, pc} + 11e6e: bf00 nop + 11e70: 0001b51f .word 0x0001b51f + 11e74: 00024f04 .word 0x00024f04 + +00011e78 : * @param ll_p pointer to linked list * @param act pointer to a node which next node pointer should be set * @param next pointer to a node which should be the next node before 'act' */ static void node_set_next(lv_ll_t * ll_p, lv_ll_node_t * act, lv_ll_node_t * next) { - 12420: b510 push {r4, lr} - 12422: b082 sub sp, #8 - 12424: 9201 str r2, [sp, #4] + 11e78: b510 push {r4, lr} + 11e7a: b082 sub sp, #8 + 11e7c: 9201 str r2, [sp, #4] if(act == NULL) return; /*Can't set the next node of `NULL`*/ - 12426: b181 cbz r1, 1244a - 12428: 460c mov r4, r1 + 11e7e: b181 cbz r1, 11ea2 + 11e80: 460c mov r4, r1 uint32_t node_p_size = sizeof(lv_ll_node_t *); if(next) - 1242a: b182 cbz r2, 1244e + 11e82: b182 cbz r2, 11ea6 _lv_memcpy_small(act + LL_NEXT_P_OFFSET(ll_p), &next, node_p_size); - 1242c: 6803 ldr r3, [r0, #0] - 1242e: 3304 adds r3, #4 - 12430: 18ca adds r2, r1, r3 - 12432: f89d 1004 ldrb.w r1, [sp, #4] - 12436: 54e1 strb r1, [r4, r3] - 12438: f89d 3005 ldrb.w r3, [sp, #5] - 1243c: 7053 strb r3, [r2, #1] - 1243e: f89d 3006 ldrb.w r3, [sp, #6] - 12442: 7093 strb r3, [r2, #2] - 12444: f89d 3007 ldrb.w r3, [sp, #7] - 12448: 70d3 strb r3, [r2, #3] + 11e84: 6803 ldr r3, [r0, #0] + 11e86: 3304 adds r3, #4 + 11e88: 18ca adds r2, r1, r3 + 11e8a: f89d 1004 ldrb.w r1, [sp, #4] + 11e8e: 54e1 strb r1, [r4, r3] + 11e90: f89d 3005 ldrb.w r3, [sp, #5] + 11e94: 7053 strb r3, [r2, #1] + 11e96: f89d 3006 ldrb.w r3, [sp, #6] + 11e9a: 7093 strb r3, [r2, #2] + 11e9c: f89d 3007 ldrb.w r3, [sp, #7] + 11ea0: 70d3 strb r3, [r2, #3] else _lv_memset_00(act + LL_NEXT_P_OFFSET(ll_p), node_p_size); } - 1244a: b002 add sp, #8 - 1244c: bd10 pop {r4, pc} + 11ea2: b002 add sp, #8 + 11ea4: bd10 pop {r4, pc} _lv_memset_00(act + LL_NEXT_P_OFFSET(ll_p), node_p_size); - 1244e: 6800 ldr r0, [r0, #0] - 12450: 3004 adds r0, #4 - 12452: 2104 movs r1, #4 - 12454: 4420 add r0, r4 - 12456: 4b01 ldr r3, [pc, #4] ; (1245c ) - 12458: 4798 blx r3 - 1245a: e7f6 b.n 1244a - 1245c: 000130df .word 0x000130df - -00012460 : -{ - 12460: b500 push {lr} - 12462: b083 sub sp, #12 - 12464: 9201 str r2, [sp, #4] + 11ea6: 6800 ldr r0, [r0, #0] + 11ea8: 3004 adds r0, #4 + 11eaa: 2104 movs r1, #4 + 11eac: 4420 add r0, r4 + 11eae: 4b01 ldr r3, [pc, #4] ; (11eb4 ) + 11eb0: 4798 blx r3 + 11eb2: e7f6 b.n 11ea2 + 11eb4: 00012b37 .word 0x00012b37 + +00011eb8 : +{ + 11eb8: b500 push {lr} + 11eba: b083 sub sp, #12 + 11ebc: 9201 str r2, [sp, #4] if(act == NULL) return; /*Can't set the prev node of `NULL`*/ - 12466: b181 cbz r1, 1248a - 12468: 460a mov r2, r1 + 11ebe: b181 cbz r1, 11ee2 + 11ec0: 460a mov r2, r1 if(prev) - 1246a: 9b01 ldr r3, [sp, #4] - 1246c: b183 cbz r3, 12490 + 11ec2: 9b01 ldr r3, [sp, #4] + 11ec4: b183 cbz r3, 11ee8 _lv_memcpy_small(act + LL_PREV_P_OFFSET(ll_p), &prev, node_p_size); - 1246e: 6801 ldr r1, [r0, #0] - 12470: 1853 adds r3, r2, r1 - 12472: f89d 0004 ldrb.w r0, [sp, #4] - 12476: 5450 strb r0, [r2, r1] - 12478: f89d 2005 ldrb.w r2, [sp, #5] - 1247c: 705a strb r2, [r3, #1] - 1247e: f89d 2006 ldrb.w r2, [sp, #6] - 12482: 709a strb r2, [r3, #2] - 12484: f89d 2007 ldrb.w r2, [sp, #7] - 12488: 70da strb r2, [r3, #3] -} - 1248a: b003 add sp, #12 - 1248c: f85d fb04 ldr.w pc, [sp], #4 + 11ec6: 6801 ldr r1, [r0, #0] + 11ec8: 1853 adds r3, r2, r1 + 11eca: f89d 0004 ldrb.w r0, [sp, #4] + 11ece: 5450 strb r0, [r2, r1] + 11ed0: f89d 2005 ldrb.w r2, [sp, #5] + 11ed4: 705a strb r2, [r3, #1] + 11ed6: f89d 2006 ldrb.w r2, [sp, #6] + 11eda: 709a strb r2, [r3, #2] + 11edc: f89d 2007 ldrb.w r2, [sp, #7] + 11ee0: 70da strb r2, [r3, #3] +} + 11ee2: b003 add sp, #12 + 11ee4: f85d fb04 ldr.w pc, [sp], #4 _lv_memset_00(act + LL_PREV_P_OFFSET(ll_p), node_p_size); - 12490: 6800 ldr r0, [r0, #0] - 12492: 2104 movs r1, #4 - 12494: 4410 add r0, r2 - 12496: 4b01 ldr r3, [pc, #4] ; (1249c ) - 12498: 4798 blx r3 - 1249a: e7f6 b.n 1248a - 1249c: 000130df .word 0x000130df - -000124a0 <_lv_ll_init>: + 11ee8: 6800 ldr r0, [r0, #0] + 11eea: 2104 movs r1, #4 + 11eec: 4410 add r0, r2 + 11eee: 4b01 ldr r3, [pc, #4] ; (11ef4 ) + 11ef0: 4798 blx r3 + 11ef2: e7f6 b.n 11ee2 + 11ef4: 00012b37 .word 0x00012b37 + +00011ef8 <_lv_ll_init>: ll_p->head = NULL; - 124a0: 2300 movs r3, #0 - 124a2: 6043 str r3, [r0, #4] + 11ef8: 2300 movs r3, #0 + 11efa: 6043 str r3, [r0, #4] ll_p->tail = NULL; - 124a4: 6083 str r3, [r0, #8] + 11efc: 6083 str r3, [r0, #8] if(node_size & 0x3) { - 124a6: f011 0f03 tst.w r1, #3 + 11efe: f011 0f03 tst.w r1, #3 node_size = node_size & (~0x3); - 124aa: bf1c itt ne - 124ac: f021 0103 bicne.w r1, r1, #3 + 11f02: bf1c itt ne + 11f04: f021 0103 bicne.w r1, r1, #3 node_size += 4; - 124b0: 3104 addne r1, #4 + 11f08: 3104 addne r1, #4 ll_p->n_size = node_size; - 124b2: 6001 str r1, [r0, #0] - 124b4: 4770 bx lr + 11f0a: 6001 str r1, [r0, #0] + 11f0c: 4770 bx lr ... -000124b8 <_lv_ll_ins_head>: +00011f10 <_lv_ll_ins_head>: { - 124b8: b538 push {r3, r4, r5, lr} - 124ba: 4604 mov r4, r0 + 11f10: b538 push {r3, r4, r5, lr} + 11f12: 4604 mov r4, r0 n_new = lv_mem_alloc(ll_p->n_size + LL_NODE_META_SIZE); - 124bc: 6800 ldr r0, [r0, #0] - 124be: 3008 adds r0, #8 - 124c0: 4b0d ldr r3, [pc, #52] ; (124f8 <_lv_ll_ins_head+0x40>) - 124c2: 4798 blx r3 + 11f14: 6800 ldr r0, [r0, #0] + 11f16: 3008 adds r0, #8 + 11f18: 4b0d ldr r3, [pc, #52] ; (11f50 <_lv_ll_ins_head+0x40>) + 11f1a: 4798 blx r3 if(n_new != NULL) { - 124c4: 4605 mov r5, r0 - 124c6: b190 cbz r0, 124ee <_lv_ll_ins_head+0x36> + 11f1c: 4605 mov r5, r0 + 11f1e: b190 cbz r0, 11f46 <_lv_ll_ins_head+0x36> node_set_prev(ll_p, n_new, NULL); /*No prev. before the new head*/ - 124c8: 2200 movs r2, #0 - 124ca: 4601 mov r1, r0 - 124cc: 4620 mov r0, r4 - 124ce: 4b0b ldr r3, [pc, #44] ; (124fc <_lv_ll_ins_head+0x44>) - 124d0: 4798 blx r3 + 11f20: 2200 movs r2, #0 + 11f22: 4601 mov r1, r0 + 11f24: 4620 mov r0, r4 + 11f26: 4b0b ldr r3, [pc, #44] ; (11f54 <_lv_ll_ins_head+0x44>) + 11f28: 4798 blx r3 node_set_next(ll_p, n_new, ll_p->head); /*After new comes the old head*/ - 124d2: 6862 ldr r2, [r4, #4] - 124d4: 4629 mov r1, r5 - 124d6: 4620 mov r0, r4 - 124d8: 4b09 ldr r3, [pc, #36] ; (12500 <_lv_ll_ins_head+0x48>) - 124da: 4798 blx r3 + 11f2a: 6862 ldr r2, [r4, #4] + 11f2c: 4629 mov r1, r5 + 11f2e: 4620 mov r0, r4 + 11f30: 4b09 ldr r3, [pc, #36] ; (11f58 <_lv_ll_ins_head+0x48>) + 11f32: 4798 blx r3 if(ll_p->head != NULL) { /*If there is old head then before it goes the new*/ - 124dc: 6861 ldr r1, [r4, #4] - 124de: b119 cbz r1, 124e8 <_lv_ll_ins_head+0x30> + 11f34: 6861 ldr r1, [r4, #4] + 11f36: b119 cbz r1, 11f40 <_lv_ll_ins_head+0x30> node_set_prev(ll_p, ll_p->head, n_new); - 124e0: 462a mov r2, r5 - 124e2: 4620 mov r0, r4 - 124e4: 4b05 ldr r3, [pc, #20] ; (124fc <_lv_ll_ins_head+0x44>) - 124e6: 4798 blx r3 + 11f38: 462a mov r2, r5 + 11f3a: 4620 mov r0, r4 + 11f3c: 4b05 ldr r3, [pc, #20] ; (11f54 <_lv_ll_ins_head+0x44>) + 11f3e: 4798 blx r3 ll_p->head = n_new; /*Set the new head in the dsc.*/ - 124e8: 6065 str r5, [r4, #4] + 11f40: 6065 str r5, [r4, #4] if(ll_p->tail == NULL) { /*If there is no tail (1. node) set the tail too*/ - 124ea: 68a3 ldr r3, [r4, #8] - 124ec: b10b cbz r3, 124f2 <_lv_ll_ins_head+0x3a> + 11f42: 68a3 ldr r3, [r4, #8] + 11f44: b10b cbz r3, 11f4a <_lv_ll_ins_head+0x3a> } - 124ee: 4628 mov r0, r5 - 124f0: bd38 pop {r3, r4, r5, pc} + 11f46: 4628 mov r0, r5 + 11f48: bd38 pop {r3, r4, r5, pc} ll_p->tail = n_new; - 124f2: 60a5 str r5, [r4, #8] - 124f4: e7fb b.n 124ee <_lv_ll_ins_head+0x36> - 124f6: bf00 nop - 124f8: 00012985 .word 0x00012985 - 124fc: 00012461 .word 0x00012461 - 12500: 00012421 .word 0x00012421 + 11f4a: 60a5 str r5, [r4, #8] + 11f4c: e7fb b.n 11f46 <_lv_ll_ins_head+0x36> + 11f4e: bf00 nop + 11f50: 000123dd .word 0x000123dd + 11f54: 00011eb9 .word 0x00011eb9 + 11f58: 00011e79 .word 0x00011e79 -00012504 <_lv_ll_ins_tail>: +00011f5c <_lv_ll_ins_tail>: { - 12504: b538 push {r3, r4, r5, lr} - 12506: 4604 mov r4, r0 + 11f5c: b538 push {r3, r4, r5, lr} + 11f5e: 4604 mov r4, r0 n_new = lv_mem_alloc(ll_p->n_size + LL_NODE_META_SIZE); - 12508: 6800 ldr r0, [r0, #0] - 1250a: 3008 adds r0, #8 - 1250c: 4b0d ldr r3, [pc, #52] ; (12544 <_lv_ll_ins_tail+0x40>) - 1250e: 4798 blx r3 + 11f60: 6800 ldr r0, [r0, #0] + 11f62: 3008 adds r0, #8 + 11f64: 4b0d ldr r3, [pc, #52] ; (11f9c <_lv_ll_ins_tail+0x40>) + 11f66: 4798 blx r3 if(n_new != NULL) { - 12510: 4605 mov r5, r0 - 12512: b190 cbz r0, 1253a <_lv_ll_ins_tail+0x36> + 11f68: 4605 mov r5, r0 + 11f6a: b190 cbz r0, 11f92 <_lv_ll_ins_tail+0x36> node_set_next(ll_p, n_new, NULL); /*No next after the new tail*/ - 12514: 2200 movs r2, #0 - 12516: 4601 mov r1, r0 - 12518: 4620 mov r0, r4 - 1251a: 4b0b ldr r3, [pc, #44] ; (12548 <_lv_ll_ins_tail+0x44>) - 1251c: 4798 blx r3 + 11f6c: 2200 movs r2, #0 + 11f6e: 4601 mov r1, r0 + 11f70: 4620 mov r0, r4 + 11f72: 4b0b ldr r3, [pc, #44] ; (11fa0 <_lv_ll_ins_tail+0x44>) + 11f74: 4798 blx r3 node_set_prev(ll_p, n_new, ll_p->tail); /*The prev. before new is tho old tail*/ - 1251e: 68a2 ldr r2, [r4, #8] - 12520: 4629 mov r1, r5 - 12522: 4620 mov r0, r4 - 12524: 4b09 ldr r3, [pc, #36] ; (1254c <_lv_ll_ins_tail+0x48>) - 12526: 4798 blx r3 + 11f76: 68a2 ldr r2, [r4, #8] + 11f78: 4629 mov r1, r5 + 11f7a: 4620 mov r0, r4 + 11f7c: 4b09 ldr r3, [pc, #36] ; (11fa4 <_lv_ll_ins_tail+0x48>) + 11f7e: 4798 blx r3 if(ll_p->tail != NULL) { /*If there is old tail then the new comes after it*/ - 12528: 68a1 ldr r1, [r4, #8] - 1252a: b119 cbz r1, 12534 <_lv_ll_ins_tail+0x30> + 11f80: 68a1 ldr r1, [r4, #8] + 11f82: b119 cbz r1, 11f8c <_lv_ll_ins_tail+0x30> node_set_next(ll_p, ll_p->tail, n_new); - 1252c: 462a mov r2, r5 - 1252e: 4620 mov r0, r4 - 12530: 4b05 ldr r3, [pc, #20] ; (12548 <_lv_ll_ins_tail+0x44>) - 12532: 4798 blx r3 + 11f84: 462a mov r2, r5 + 11f86: 4620 mov r0, r4 + 11f88: 4b05 ldr r3, [pc, #20] ; (11fa0 <_lv_ll_ins_tail+0x44>) + 11f8a: 4798 blx r3 ll_p->tail = n_new; /*Set the new tail in the dsc.*/ - 12534: 60a5 str r5, [r4, #8] + 11f8c: 60a5 str r5, [r4, #8] if(ll_p->head == NULL) { /*If there is no head (1. node) set the head too*/ - 12536: 6863 ldr r3, [r4, #4] - 12538: b10b cbz r3, 1253e <_lv_ll_ins_tail+0x3a> + 11f8e: 6863 ldr r3, [r4, #4] + 11f90: b10b cbz r3, 11f96 <_lv_ll_ins_tail+0x3a> } - 1253a: 4628 mov r0, r5 - 1253c: bd38 pop {r3, r4, r5, pc} + 11f92: 4628 mov r0, r5 + 11f94: bd38 pop {r3, r4, r5, pc} ll_p->head = n_new; - 1253e: 6065 str r5, [r4, #4] - 12540: e7fb b.n 1253a <_lv_ll_ins_tail+0x36> - 12542: bf00 nop - 12544: 00012985 .word 0x00012985 - 12548: 00012421 .word 0x00012421 - 1254c: 00012461 .word 0x00012461 - -00012550 <_lv_ll_get_head>: + 11f96: 6065 str r5, [r4, #4] + 11f98: e7fb b.n 11f92 <_lv_ll_ins_tail+0x36> + 11f9a: bf00 nop + 11f9c: 000123dd .word 0x000123dd + 11fa0: 00011e79 .word 0x00011e79 + 11fa4: 00011eb9 .word 0x00011eb9 + +00011fa8 <_lv_ll_get_head>: if(ll_p != NULL) { - 12550: b108 cbz r0, 12556 <_lv_ll_get_head+0x6> + 11fa8: b108 cbz r0, 11fae <_lv_ll_get_head+0x6> head = ll_p->head; - 12552: 6840 ldr r0, [r0, #4] - 12554: 4770 bx lr + 11faa: 6840 ldr r0, [r0, #4] + 11fac: 4770 bx lr void * head = NULL; - 12556: 2000 movs r0, #0 + 11fae: 2000 movs r0, #0 } - 12558: 4770 bx lr + 11fb0: 4770 bx lr -0001255a <_lv_ll_get_tail>: +00011fb2 <_lv_ll_get_tail>: if(ll_p != NULL) { - 1255a: b108 cbz r0, 12560 <_lv_ll_get_tail+0x6> + 11fb2: b108 cbz r0, 11fb8 <_lv_ll_get_tail+0x6> tail = ll_p->tail; - 1255c: 6880 ldr r0, [r0, #8] - 1255e: 4770 bx lr + 11fb4: 6880 ldr r0, [r0, #8] + 11fb6: 4770 bx lr void * tail = NULL; - 12560: 2000 movs r0, #0 + 11fb8: 2000 movs r0, #0 } - 12562: 4770 bx lr + 11fba: 4770 bx lr -00012564 <_lv_ll_get_next>: +00011fbc <_lv_ll_get_next>: { - 12564: b082 sub sp, #8 + 11fbc: b082 sub sp, #8 void * next = NULL; - 12566: 2300 movs r3, #0 - 12568: 9301 str r3, [sp, #4] + 11fbe: 2300 movs r3, #0 + 11fc0: 9301 str r3, [sp, #4] if(ll_p != NULL) { - 1256a: b170 cbz r0, 1258a <_lv_ll_get_next+0x26> + 11fc2: b170 cbz r0, 11fe2 <_lv_ll_get_next+0x26> _lv_memcpy_small(&next, n_act_d + LL_NEXT_P_OFFSET(ll_p), sizeof(void *)); - 1256c: 6803 ldr r3, [r0, #0] - 1256e: 3304 adds r3, #4 - 12570: 18ca adds r2, r1, r3 - 12572: 5ccb ldrb r3, [r1, r3] - 12574: f88d 3004 strb.w r3, [sp, #4] - 12578: 7853 ldrb r3, [r2, #1] - 1257a: f88d 3005 strb.w r3, [sp, #5] - 1257e: 7893 ldrb r3, [r2, #2] - 12580: f88d 3006 strb.w r3, [sp, #6] - 12584: 78d3 ldrb r3, [r2, #3] - 12586: f88d 3007 strb.w r3, [sp, #7] -} - 1258a: 9801 ldr r0, [sp, #4] - 1258c: b002 add sp, #8 - 1258e: 4770 bx lr - -00012590 <_lv_ll_get_prev>: -{ - 12590: b082 sub sp, #8 + 11fc4: 6803 ldr r3, [r0, #0] + 11fc6: 3304 adds r3, #4 + 11fc8: 18ca adds r2, r1, r3 + 11fca: 5ccb ldrb r3, [r1, r3] + 11fcc: f88d 3004 strb.w r3, [sp, #4] + 11fd0: 7853 ldrb r3, [r2, #1] + 11fd2: f88d 3005 strb.w r3, [sp, #5] + 11fd6: 7893 ldrb r3, [r2, #2] + 11fd8: f88d 3006 strb.w r3, [sp, #6] + 11fdc: 78d3 ldrb r3, [r2, #3] + 11fde: f88d 3007 strb.w r3, [sp, #7] +} + 11fe2: 9801 ldr r0, [sp, #4] + 11fe4: b002 add sp, #8 + 11fe6: 4770 bx lr + +00011fe8 <_lv_ll_get_prev>: +{ + 11fe8: b082 sub sp, #8 void * prev = NULL; - 12592: 2300 movs r3, #0 - 12594: 9301 str r3, [sp, #4] + 11fea: 2300 movs r3, #0 + 11fec: 9301 str r3, [sp, #4] if(ll_p != NULL) { - 12596: b168 cbz r0, 125b4 <_lv_ll_get_prev+0x24> + 11fee: b168 cbz r0, 1200c <_lv_ll_get_prev+0x24> _lv_memcpy_small(&prev, n_act_d + LL_PREV_P_OFFSET(ll_p), sizeof(void *)); - 12598: 6802 ldr r2, [r0, #0] - 1259a: 188b adds r3, r1, r2 - 1259c: 5c8a ldrb r2, [r1, r2] - 1259e: f88d 2004 strb.w r2, [sp, #4] - 125a2: 785a ldrb r2, [r3, #1] - 125a4: f88d 2005 strb.w r2, [sp, #5] - 125a8: 789a ldrb r2, [r3, #2] - 125aa: f88d 2006 strb.w r2, [sp, #6] - 125ae: 78db ldrb r3, [r3, #3] - 125b0: f88d 3007 strb.w r3, [sp, #7] -} - 125b4: 9801 ldr r0, [sp, #4] - 125b6: b002 add sp, #8 - 125b8: 4770 bx lr + 11ff0: 6802 ldr r2, [r0, #0] + 11ff2: 188b adds r3, r1, r2 + 11ff4: 5c8a ldrb r2, [r1, r2] + 11ff6: f88d 2004 strb.w r2, [sp, #4] + 11ffa: 785a ldrb r2, [r3, #1] + 11ffc: f88d 2005 strb.w r2, [sp, #5] + 12000: 789a ldrb r2, [r3, #2] + 12002: f88d 2006 strb.w r2, [sp, #6] + 12006: 78db ldrb r3, [r3, #3] + 12008: f88d 3007 strb.w r3, [sp, #7] +} + 1200c: 9801 ldr r0, [sp, #4] + 1200e: b002 add sp, #8 + 12010: 4770 bx lr ... -000125bc <_lv_ll_ins_prev>: +00012014 <_lv_ll_ins_prev>: if(NULL == ll_p || NULL == n_act) return NULL; - 125bc: b360 cbz r0, 12618 <_lv_ll_ins_prev+0x5c> + 12014: b360 cbz r0, 12070 <_lv_ll_ins_prev+0x5c> { - 125be: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - 125c2: 4604 mov r4, r0 + 12016: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} + 1201a: 4604 mov r4, r0 if(NULL == ll_p || NULL == n_act) return NULL; - 125c4: b351 cbz r1, 1261c <_lv_ll_ins_prev+0x60> - 125c6: 460d mov r5, r1 + 1201c: b351 cbz r1, 12074 <_lv_ll_ins_prev+0x60> + 1201e: 460d mov r5, r1 if(_lv_ll_get_head(ll_p) == n_act) { - 125c8: 6843 ldr r3, [r0, #4] - 125ca: 4299 cmp r1, r3 - 125cc: d020 beq.n 12610 <_lv_ll_ins_prev+0x54> + 12020: 6843 ldr r3, [r0, #4] + 12022: 4299 cmp r1, r3 + 12024: d020 beq.n 12068 <_lv_ll_ins_prev+0x54> n_new = lv_mem_alloc(ll_p->n_size + LL_NODE_META_SIZE); - 125ce: 6800 ldr r0, [r0, #0] - 125d0: 3008 adds r0, #8 - 125d2: 4b15 ldr r3, [pc, #84] ; (12628 <_lv_ll_ins_prev+0x6c>) - 125d4: 4798 blx r3 + 12026: 6800 ldr r0, [r0, #0] + 12028: 3008 adds r0, #8 + 1202a: 4b15 ldr r3, [pc, #84] ; (12080 <_lv_ll_ins_prev+0x6c>) + 1202c: 4798 blx r3 if(n_new == NULL) return NULL; - 125d6: 4606 mov r6, r0 - 125d8: b318 cbz r0, 12622 <_lv_ll_ins_prev+0x66> + 1202e: 4606 mov r6, r0 + 12030: b318 cbz r0, 1207a <_lv_ll_ins_prev+0x66> n_prev = _lv_ll_get_prev(ll_p, n_act); - 125da: 4629 mov r1, r5 - 125dc: 4620 mov r0, r4 - 125de: 4b13 ldr r3, [pc, #76] ; (1262c <_lv_ll_ins_prev+0x70>) - 125e0: 4798 blx r3 - 125e2: 4680 mov r8, r0 + 12032: 4629 mov r1, r5 + 12034: 4620 mov r0, r4 + 12036: 4b13 ldr r3, [pc, #76] ; (12084 <_lv_ll_ins_prev+0x70>) + 12038: 4798 blx r3 + 1203a: 4680 mov r8, r0 node_set_next(ll_p, n_prev, n_new); - 125e4: 4632 mov r2, r6 - 125e6: 4601 mov r1, r0 - 125e8: 4620 mov r0, r4 - 125ea: 4f11 ldr r7, [pc, #68] ; (12630 <_lv_ll_ins_prev+0x74>) - 125ec: 47b8 blx r7 + 1203c: 4632 mov r2, r6 + 1203e: 4601 mov r1, r0 + 12040: 4620 mov r0, r4 + 12042: 4f11 ldr r7, [pc, #68] ; (12088 <_lv_ll_ins_prev+0x74>) + 12044: 47b8 blx r7 node_set_prev(ll_p, n_new, n_prev); - 125ee: 4642 mov r2, r8 - 125f0: 4631 mov r1, r6 - 125f2: 4620 mov r0, r4 - 125f4: f8df 8040 ldr.w r8, [pc, #64] ; 12638 <_lv_ll_ins_prev+0x7c> - 125f8: 47c0 blx r8 + 12046: 4642 mov r2, r8 + 12048: 4631 mov r1, r6 + 1204a: 4620 mov r0, r4 + 1204c: f8df 8040 ldr.w r8, [pc, #64] ; 12090 <_lv_ll_ins_prev+0x7c> + 12050: 47c0 blx r8 node_set_prev(ll_p, n_act, n_new); - 125fa: 4632 mov r2, r6 - 125fc: 4629 mov r1, r5 - 125fe: 4620 mov r0, r4 - 12600: 47c0 blx r8 + 12052: 4632 mov r2, r6 + 12054: 4629 mov r1, r5 + 12056: 4620 mov r0, r4 + 12058: 47c0 blx r8 node_set_next(ll_p, n_new, n_act); - 12602: 462a mov r2, r5 - 12604: 4631 mov r1, r6 - 12606: 4620 mov r0, r4 - 12608: 47b8 blx r7 + 1205a: 462a mov r2, r5 + 1205c: 4631 mov r1, r6 + 1205e: 4620 mov r0, r4 + 12060: 47b8 blx r7 n_new = lv_mem_alloc(ll_p->n_size + LL_NODE_META_SIZE); - 1260a: 4630 mov r0, r6 - 1260c: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + 12062: 4630 mov r0, r6 + 12064: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} n_new = _lv_ll_ins_head(ll_p); - 12610: 4b08 ldr r3, [pc, #32] ; (12634 <_lv_ll_ins_prev+0x78>) - 12612: 4798 blx r3 - 12614: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + 12068: 4b08 ldr r3, [pc, #32] ; (1208c <_lv_ll_ins_prev+0x78>) + 1206a: 4798 blx r3 + 1206c: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} if(NULL == ll_p || NULL == n_act) return NULL; - 12618: 2000 movs r0, #0 - 1261a: 4770 bx lr - 1261c: 4608 mov r0, r1 - 1261e: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} -} - 12622: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} - 12626: bf00 nop - 12628: 00012985 .word 0x00012985 - 1262c: 00012591 .word 0x00012591 - 12630: 00012421 .word 0x00012421 - 12634: 000124b9 .word 0x000124b9 - 12638: 00012461 .word 0x00012461 - -0001263c <_lv_ll_remove>: -{ - 1263c: b570 push {r4, r5, r6, lr} - 1263e: 460d mov r5, r1 + 12070: 2000 movs r0, #0 + 12072: 4770 bx lr + 12074: 4608 mov r0, r1 + 12076: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} +} + 1207a: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + 1207e: bf00 nop + 12080: 000123dd .word 0x000123dd + 12084: 00011fe9 .word 0x00011fe9 + 12088: 00011e79 .word 0x00011e79 + 1208c: 00011f11 .word 0x00011f11 + 12090: 00011eb9 .word 0x00011eb9 + +00012094 <_lv_ll_remove>: +{ + 12094: b570 push {r4, r5, r6, lr} + 12096: 460d mov r5, r1 if(ll_p != NULL) { - 12640: 4604 mov r4, r0 - 12642: b350 cbz r0, 1269a <_lv_ll_remove+0x5e> + 12098: 4604 mov r4, r0 + 1209a: b350 cbz r0, 120f2 <_lv_ll_remove+0x5e> if(_lv_ll_get_head(ll_p) == node_p) { - 12644: 6843 ldr r3, [r0, #4] - 12646: 4299 cmp r1, r3 - 12648: d029 beq.n 1269e <_lv_ll_remove+0x62> + 1209c: 6843 ldr r3, [r0, #4] + 1209e: 4299 cmp r1, r3 + 120a0: d029 beq.n 120f6 <_lv_ll_remove+0x62> else if(_lv_ll_get_tail(ll_p) == node_p) { - 1264a: 6883 ldr r3, [r0, #8] - 1264c: 4299 cmp r1, r3 - 1264e: d017 beq.n 12680 <_lv_ll_remove+0x44> + 120a2: 6883 ldr r3, [r0, #8] + 120a4: 4299 cmp r1, r3 + 120a6: d017 beq.n 120d8 <_lv_ll_remove+0x44> lv_ll_node_t * n_prev = _lv_ll_get_prev(ll_p, node_p); - 12650: 4629 mov r1, r5 - 12652: 4620 mov r0, r4 - 12654: 4b18 ldr r3, [pc, #96] ; (126b8 <_lv_ll_remove+0x7c>) - 12656: 4798 blx r3 - 12658: 4606 mov r6, r0 + 120a8: 4629 mov r1, r5 + 120aa: 4620 mov r0, r4 + 120ac: 4b18 ldr r3, [pc, #96] ; (12110 <_lv_ll_remove+0x7c>) + 120ae: 4798 blx r3 + 120b0: 4606 mov r6, r0 lv_ll_node_t * n_next = _lv_ll_get_next(ll_p, node_p); - 1265a: 4629 mov r1, r5 - 1265c: 4620 mov r0, r4 - 1265e: 4b17 ldr r3, [pc, #92] ; (126bc <_lv_ll_remove+0x80>) - 12660: 4798 blx r3 - 12662: 4605 mov r5, r0 + 120b2: 4629 mov r1, r5 + 120b4: 4620 mov r0, r4 + 120b6: 4b17 ldr r3, [pc, #92] ; (12114 <_lv_ll_remove+0x80>) + 120b8: 4798 blx r3 + 120ba: 4605 mov r5, r0 node_set_next(ll_p, n_prev, n_next); - 12664: 4602 mov r2, r0 - 12666: 4631 mov r1, r6 - 12668: 4620 mov r0, r4 - 1266a: 4b15 ldr r3, [pc, #84] ; (126c0 <_lv_ll_remove+0x84>) - 1266c: 4798 blx r3 + 120bc: 4602 mov r2, r0 + 120be: 4631 mov r1, r6 + 120c0: 4620 mov r0, r4 + 120c2: 4b15 ldr r3, [pc, #84] ; (12118 <_lv_ll_remove+0x84>) + 120c4: 4798 blx r3 node_set_prev(ll_p, n_next, n_prev); - 1266e: 4632 mov r2, r6 - 12670: 4629 mov r1, r5 - 12672: 4620 mov r0, r4 - 12674: 4b13 ldr r3, [pc, #76] ; (126c4 <_lv_ll_remove+0x88>) - 12676: 4798 blx r3 + 120c6: 4632 mov r2, r6 + 120c8: 4629 mov r1, r5 + 120ca: 4620 mov r0, r4 + 120cc: 4b13 ldr r3, [pc, #76] ; (1211c <_lv_ll_remove+0x88>) + 120ce: 4798 blx r3 } - 12678: bd70 pop {r4, r5, r6, pc} + 120d0: bd70 pop {r4, r5, r6, pc} ll_p->tail = NULL; - 1267a: 2300 movs r3, #0 - 1267c: 60a3 str r3, [r4, #8] - 1267e: bd70 pop {r4, r5, r6, pc} + 120d2: 2300 movs r3, #0 + 120d4: 60a3 str r3, [r4, #8] + 120d6: bd70 pop {r4, r5, r6, pc} ll_p->tail = _lv_ll_get_prev(ll_p, node_p); - 12680: 4b0d ldr r3, [pc, #52] ; (126b8 <_lv_ll_remove+0x7c>) - 12682: 4798 blx r3 - 12684: 60a0 str r0, [r4, #8] + 120d8: 4b0d ldr r3, [pc, #52] ; (12110 <_lv_ll_remove+0x7c>) + 120da: 4798 blx r3 + 120dc: 60a0 str r0, [r4, #8] if(ll_p->tail == NULL) { - 12686: b128 cbz r0, 12694 <_lv_ll_remove+0x58> + 120de: b128 cbz r0, 120ec <_lv_ll_remove+0x58> node_set_next(ll_p, ll_p->tail, NULL); - 12688: 2200 movs r2, #0 - 1268a: 4601 mov r1, r0 - 1268c: 4620 mov r0, r4 - 1268e: 4b0c ldr r3, [pc, #48] ; (126c0 <_lv_ll_remove+0x84>) - 12690: 4798 blx r3 - 12692: bd70 pop {r4, r5, r6, pc} + 120e0: 2200 movs r2, #0 + 120e2: 4601 mov r1, r0 + 120e4: 4620 mov r0, r4 + 120e6: 4b0c ldr r3, [pc, #48] ; (12118 <_lv_ll_remove+0x84>) + 120e8: 4798 blx r3 + 120ea: bd70 pop {r4, r5, r6, pc} ll_p->head = NULL; - 12694: 2300 movs r3, #0 - 12696: 6063 str r3, [r4, #4] - 12698: bd70 pop {r4, r5, r6, pc} + 120ec: 2300 movs r3, #0 + 120ee: 6063 str r3, [r4, #4] + 120f0: bd70 pop {r4, r5, r6, pc} if(_lv_ll_get_head(ll_p) == node_p) { - 1269a: 2900 cmp r1, #0 - 1269c: d1d8 bne.n 12650 <_lv_ll_remove+0x14> + 120f2: 2900 cmp r1, #0 + 120f4: d1d8 bne.n 120a8 <_lv_ll_remove+0x14> ll_p->head = _lv_ll_get_next(ll_p, node_p); - 1269e: 4629 mov r1, r5 - 126a0: 4620 mov r0, r4 - 126a2: 4b06 ldr r3, [pc, #24] ; (126bc <_lv_ll_remove+0x80>) - 126a4: 4798 blx r3 - 126a6: 6060 str r0, [r4, #4] + 120f6: 4629 mov r1, r5 + 120f8: 4620 mov r0, r4 + 120fa: 4b06 ldr r3, [pc, #24] ; (12114 <_lv_ll_remove+0x80>) + 120fc: 4798 blx r3 + 120fe: 6060 str r0, [r4, #4] if(ll_p->head == NULL) { - 126a8: 2800 cmp r0, #0 - 126aa: d0e6 beq.n 1267a <_lv_ll_remove+0x3e> + 12100: 2800 cmp r0, #0 + 12102: d0e6 beq.n 120d2 <_lv_ll_remove+0x3e> node_set_prev(ll_p, ll_p->head, NULL); - 126ac: 2200 movs r2, #0 - 126ae: 4601 mov r1, r0 - 126b0: 4620 mov r0, r4 - 126b2: 4b04 ldr r3, [pc, #16] ; (126c4 <_lv_ll_remove+0x88>) - 126b4: 4798 blx r3 - 126b6: bd70 pop {r4, r5, r6, pc} - 126b8: 00012591 .word 0x00012591 - 126bc: 00012565 .word 0x00012565 - 126c0: 00012421 .word 0x00012421 - 126c4: 00012461 .word 0x00012461 - -000126c8 <_lv_ll_chg_list>: -{ - 126c8: b570 push {r4, r5, r6, lr} - 126ca: 460c mov r4, r1 - 126cc: 4615 mov r5, r2 - 126ce: 461e mov r6, r3 + 12104: 2200 movs r2, #0 + 12106: 4601 mov r1, r0 + 12108: 4620 mov r0, r4 + 1210a: 4b04 ldr r3, [pc, #16] ; (1211c <_lv_ll_remove+0x88>) + 1210c: 4798 blx r3 + 1210e: bd70 pop {r4, r5, r6, pc} + 12110: 00011fe9 .word 0x00011fe9 + 12114: 00011fbd .word 0x00011fbd + 12118: 00011e79 .word 0x00011e79 + 1211c: 00011eb9 .word 0x00011eb9 + +00012120 <_lv_ll_chg_list>: +{ + 12120: b570 push {r4, r5, r6, lr} + 12122: 460c mov r4, r1 + 12124: 4615 mov r5, r2 + 12126: 461e mov r6, r3 _lv_ll_remove(ll_ori_p, node); - 126d0: 4611 mov r1, r2 - 126d2: 4b17 ldr r3, [pc, #92] ; (12730 <_lv_ll_chg_list+0x68>) - 126d4: 4798 blx r3 + 12128: 4611 mov r1, r2 + 1212a: 4b17 ldr r3, [pc, #92] ; (12188 <_lv_ll_chg_list+0x68>) + 1212c: 4798 blx r3 if(head) { - 126d6: b1ae cbz r6, 12704 <_lv_ll_chg_list+0x3c> + 1212e: b1ae cbz r6, 1215c <_lv_ll_chg_list+0x3c> node_set_prev(ll_new_p, node, NULL); - 126d8: 2200 movs r2, #0 - 126da: 4629 mov r1, r5 - 126dc: 4620 mov r0, r4 - 126de: 4b15 ldr r3, [pc, #84] ; (12734 <_lv_ll_chg_list+0x6c>) - 126e0: 4798 blx r3 + 12130: 2200 movs r2, #0 + 12132: 4629 mov r1, r5 + 12134: 4620 mov r0, r4 + 12136: 4b15 ldr r3, [pc, #84] ; (1218c <_lv_ll_chg_list+0x6c>) + 12138: 4798 blx r3 node_set_next(ll_new_p, node, ll_new_p->head); - 126e2: 6862 ldr r2, [r4, #4] - 126e4: 4629 mov r1, r5 - 126e6: 4620 mov r0, r4 - 126e8: 4b13 ldr r3, [pc, #76] ; (12738 <_lv_ll_chg_list+0x70>) - 126ea: 4798 blx r3 + 1213a: 6862 ldr r2, [r4, #4] + 1213c: 4629 mov r1, r5 + 1213e: 4620 mov r0, r4 + 12140: 4b13 ldr r3, [pc, #76] ; (12190 <_lv_ll_chg_list+0x70>) + 12142: 4798 blx r3 if(ll_new_p->head != NULL) { /*If there is old head then before it goes the new*/ - 126ec: 6861 ldr r1, [r4, #4] - 126ee: b119 cbz r1, 126f8 <_lv_ll_chg_list+0x30> + 12144: 6861 ldr r1, [r4, #4] + 12146: b119 cbz r1, 12150 <_lv_ll_chg_list+0x30> node_set_prev(ll_new_p, ll_new_p->head, node); - 126f0: 462a mov r2, r5 - 126f2: 4620 mov r0, r4 - 126f4: 4b0f ldr r3, [pc, #60] ; (12734 <_lv_ll_chg_list+0x6c>) - 126f6: 4798 blx r3 + 12148: 462a mov r2, r5 + 1214a: 4620 mov r0, r4 + 1214c: 4b0f ldr r3, [pc, #60] ; (1218c <_lv_ll_chg_list+0x6c>) + 1214e: 4798 blx r3 ll_new_p->head = node; /*Set the new head in the dsc.*/ - 126f8: 6065 str r5, [r4, #4] + 12150: 6065 str r5, [r4, #4] if(ll_new_p->tail == NULL) { /*If there is no tail (first node) set the tail too*/ - 126fa: 68a3 ldr r3, [r4, #8] - 126fc: b103 cbz r3, 12700 <_lv_ll_chg_list+0x38> - 126fe: bd70 pop {r4, r5, r6, pc} + 12152: 68a3 ldr r3, [r4, #8] + 12154: b103 cbz r3, 12158 <_lv_ll_chg_list+0x38> + 12156: bd70 pop {r4, r5, r6, pc} ll_new_p->tail = node; - 12700: 60a5 str r5, [r4, #8] - 12702: bd70 pop {r4, r5, r6, pc} + 12158: 60a5 str r5, [r4, #8] + 1215a: bd70 pop {r4, r5, r6, pc} node_set_prev(ll_new_p, node, ll_new_p->tail); - 12704: 68a2 ldr r2, [r4, #8] - 12706: 4629 mov r1, r5 - 12708: 4620 mov r0, r4 - 1270a: 4b0a ldr r3, [pc, #40] ; (12734 <_lv_ll_chg_list+0x6c>) - 1270c: 4798 blx r3 + 1215c: 68a2 ldr r2, [r4, #8] + 1215e: 4629 mov r1, r5 + 12160: 4620 mov r0, r4 + 12162: 4b0a ldr r3, [pc, #40] ; (1218c <_lv_ll_chg_list+0x6c>) + 12164: 4798 blx r3 node_set_next(ll_new_p, node, NULL); - 1270e: 2200 movs r2, #0 - 12710: 4629 mov r1, r5 - 12712: 4620 mov r0, r4 - 12714: 4b08 ldr r3, [pc, #32] ; (12738 <_lv_ll_chg_list+0x70>) - 12716: 4798 blx r3 + 12166: 2200 movs r2, #0 + 12168: 4629 mov r1, r5 + 1216a: 4620 mov r0, r4 + 1216c: 4b08 ldr r3, [pc, #32] ; (12190 <_lv_ll_chg_list+0x70>) + 1216e: 4798 blx r3 if(ll_new_p->tail != NULL) { /*If there is old tail then after it goes the new*/ - 12718: 68a1 ldr r1, [r4, #8] - 1271a: b119 cbz r1, 12724 <_lv_ll_chg_list+0x5c> + 12170: 68a1 ldr r1, [r4, #8] + 12172: b119 cbz r1, 1217c <_lv_ll_chg_list+0x5c> node_set_next(ll_new_p, ll_new_p->tail, node); - 1271c: 462a mov r2, r5 - 1271e: 4620 mov r0, r4 - 12720: 4b05 ldr r3, [pc, #20] ; (12738 <_lv_ll_chg_list+0x70>) - 12722: 4798 blx r3 + 12174: 462a mov r2, r5 + 12176: 4620 mov r0, r4 + 12178: 4b05 ldr r3, [pc, #20] ; (12190 <_lv_ll_chg_list+0x70>) + 1217a: 4798 blx r3 ll_new_p->tail = node; /*Set the new tail in the dsc.*/ - 12724: 60a5 str r5, [r4, #8] + 1217c: 60a5 str r5, [r4, #8] if(ll_new_p->head == NULL) { /*If there is no head (first node) set the head too*/ - 12726: 6863 ldr r3, [r4, #4] - 12728: 2b00 cmp r3, #0 - 1272a: d1e8 bne.n 126fe <_lv_ll_chg_list+0x36> + 1217e: 6863 ldr r3, [r4, #4] + 12180: 2b00 cmp r3, #0 + 12182: d1e8 bne.n 12156 <_lv_ll_chg_list+0x36> ll_new_p->head = node; - 1272c: 6065 str r5, [r4, #4] + 12184: 6065 str r5, [r4, #4] } - 1272e: e7e6 b.n 126fe <_lv_ll_chg_list+0x36> - 12730: 0001263d .word 0x0001263d - 12734: 00012461 .word 0x00012461 - 12738: 00012421 .word 0x00012421 + 12186: e7e6 b.n 12156 <_lv_ll_chg_list+0x36> + 12188: 00012095 .word 0x00012095 + 1218c: 00011eb9 .word 0x00011eb9 + 12190: 00011e79 .word 0x00011e79 -0001273c <_lv_ll_move_before>: +00012194 <_lv_ll_move_before>: if(n_act == n_after) return; /*Can't move before itself*/ - 1273c: 4291 cmp r1, r2 - 1273e: d04c beq.n 127da <_lv_ll_move_before+0x9e> + 12194: 4291 cmp r1, r2 + 12196: d04c beq.n 12232 <_lv_ll_move_before+0x9e> { - 12740: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} - 12744: 4617 mov r7, r2 - 12746: 460c mov r4, r1 - 12748: 4605 mov r5, r0 + 12198: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} + 1219c: 4617 mov r7, r2 + 1219e: 460c mov r4, r1 + 121a0: 4605 mov r5, r0 if(n_after != NULL) - 1274a: b312 cbz r2, 12792 <_lv_ll_move_before+0x56> + 121a2: b312 cbz r2, 121ea <_lv_ll_move_before+0x56> n_before = _lv_ll_get_prev(ll_p, n_after); - 1274c: 4611 mov r1, r2 - 1274e: 4b23 ldr r3, [pc, #140] ; (127dc <_lv_ll_move_before+0xa0>) - 12750: 4798 blx r3 - 12752: 4606 mov r6, r0 + 121a4: 4611 mov r1, r2 + 121a6: 4b23 ldr r3, [pc, #140] ; (12234 <_lv_ll_move_before+0xa0>) + 121a8: 4798 blx r3 + 121aa: 4606 mov r6, r0 if(n_act == n_before) return; /*Already before `n_after`*/ - 12754: 4284 cmp r4, r0 - 12756: d01a beq.n 1278e <_lv_ll_move_before+0x52> + 121ac: 4284 cmp r4, r0 + 121ae: d01a beq.n 121e6 <_lv_ll_move_before+0x52> _lv_ll_remove(ll_p, n_act); - 12758: 4621 mov r1, r4 - 1275a: 4628 mov r0, r5 - 1275c: 4b20 ldr r3, [pc, #128] ; (127e0 <_lv_ll_move_before+0xa4>) - 1275e: 4798 blx r3 + 121b0: 4621 mov r1, r4 + 121b2: 4628 mov r0, r5 + 121b4: 4b20 ldr r3, [pc, #128] ; (12238 <_lv_ll_move_before+0xa4>) + 121b6: 4798 blx r3 node_set_next(ll_p, n_before, n_act); - 12760: 4622 mov r2, r4 - 12762: 4631 mov r1, r6 - 12764: 4628 mov r0, r5 - 12766: f8df 807c ldr.w r8, [pc, #124] ; 127e4 <_lv_ll_move_before+0xa8> - 1276a: 47c0 blx r8 + 121b8: 4622 mov r2, r4 + 121ba: 4631 mov r1, r6 + 121bc: 4628 mov r0, r5 + 121be: f8df 807c ldr.w r8, [pc, #124] ; 1223c <_lv_ll_move_before+0xa8> + 121c2: 47c0 blx r8 node_set_prev(ll_p, n_act, n_before); - 1276c: 4632 mov r2, r6 - 1276e: 4621 mov r1, r4 - 12770: 4628 mov r0, r5 - 12772: f8df 9074 ldr.w r9, [pc, #116] ; 127e8 <_lv_ll_move_before+0xac> - 12776: 47c8 blx r9 + 121c4: 4632 mov r2, r6 + 121c6: 4621 mov r1, r4 + 121c8: 4628 mov r0, r5 + 121ca: f8df 9074 ldr.w r9, [pc, #116] ; 12240 <_lv_ll_move_before+0xac> + 121ce: 47c8 blx r9 node_set_prev(ll_p, n_after, n_act); - 12778: 4622 mov r2, r4 - 1277a: 4639 mov r1, r7 - 1277c: 4628 mov r0, r5 - 1277e: 47c8 blx r9 + 121d0: 4622 mov r2, r4 + 121d2: 4639 mov r1, r7 + 121d4: 4628 mov r0, r5 + 121d6: 47c8 blx r9 node_set_next(ll_p, n_act, n_after); - 12780: 463a mov r2, r7 - 12782: 4621 mov r1, r4 - 12784: 4628 mov r0, r5 - 12786: 47c0 blx r8 + 121d8: 463a mov r2, r7 + 121da: 4621 mov r1, r4 + 121dc: 4628 mov r0, r5 + 121de: 47c0 blx r8 if(n_before == NULL) ll_p->head = n_act; - 12788: b306 cbz r6, 127cc <_lv_ll_move_before+0x90> - 1278a: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} - 1278e: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} + 121e0: b306 cbz r6, 12224 <_lv_ll_move_before+0x90> + 121e2: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} + 121e6: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} if(ll_p != NULL) { - 12792: b1f0 cbz r0, 127d2 <_lv_ll_move_before+0x96> + 121ea: b1f0 cbz r0, 1222a <_lv_ll_move_before+0x96> tail = ll_p->tail; - 12794: 6886 ldr r6, [r0, #8] + 121ec: 6886 ldr r6, [r0, #8] if(n_act == n_before) return; /*Already before `n_after`*/ - 12796: 42b4 cmp r4, r6 - 12798: d01d beq.n 127d6 <_lv_ll_move_before+0x9a> + 121ee: 42b4 cmp r4, r6 + 121f0: d01d beq.n 1222e <_lv_ll_move_before+0x9a> _lv_ll_remove(ll_p, n_act); - 1279a: 4621 mov r1, r4 - 1279c: 4628 mov r0, r5 - 1279e: 4b10 ldr r3, [pc, #64] ; (127e0 <_lv_ll_move_before+0xa4>) - 127a0: 4798 blx r3 + 121f2: 4621 mov r1, r4 + 121f4: 4628 mov r0, r5 + 121f6: 4b10 ldr r3, [pc, #64] ; (12238 <_lv_ll_move_before+0xa4>) + 121f8: 4798 blx r3 node_set_next(ll_p, n_before, n_act); - 127a2: 4622 mov r2, r4 - 127a4: 4631 mov r1, r6 - 127a6: 4628 mov r0, r5 - 127a8: 4f0e ldr r7, [pc, #56] ; (127e4 <_lv_ll_move_before+0xa8>) - 127aa: 47b8 blx r7 + 121fa: 4622 mov r2, r4 + 121fc: 4631 mov r1, r6 + 121fe: 4628 mov r0, r5 + 12200: 4f0e ldr r7, [pc, #56] ; (1223c <_lv_ll_move_before+0xa8>) + 12202: 47b8 blx r7 node_set_prev(ll_p, n_act, n_before); - 127ac: 4632 mov r2, r6 - 127ae: 4621 mov r1, r4 - 127b0: 4628 mov r0, r5 - 127b2: f8df 8034 ldr.w r8, [pc, #52] ; 127e8 <_lv_ll_move_before+0xac> - 127b6: 47c0 blx r8 + 12204: 4632 mov r2, r6 + 12206: 4621 mov r1, r4 + 12208: 4628 mov r0, r5 + 1220a: f8df 8034 ldr.w r8, [pc, #52] ; 12240 <_lv_ll_move_before+0xac> + 1220e: 47c0 blx r8 node_set_prev(ll_p, n_after, n_act); - 127b8: 4622 mov r2, r4 - 127ba: 2100 movs r1, #0 - 127bc: 4628 mov r0, r5 - 127be: 47c0 blx r8 + 12210: 4622 mov r2, r4 + 12212: 2100 movs r1, #0 + 12214: 4628 mov r0, r5 + 12216: 47c0 blx r8 node_set_next(ll_p, n_act, n_after); - 127c0: 2200 movs r2, #0 - 127c2: 4621 mov r1, r4 - 127c4: 4628 mov r0, r5 - 127c6: 47b8 blx r7 + 12218: 2200 movs r2, #0 + 1221a: 4621 mov r1, r4 + 1221c: 4628 mov r0, r5 + 1221e: 47b8 blx r7 if(n_after == NULL) ll_p->tail = n_act; - 127c8: 60ac str r4, [r5, #8] - 127ca: e7dd b.n 12788 <_lv_ll_move_before+0x4c> + 12220: 60ac str r4, [r5, #8] + 12222: e7dd b.n 121e0 <_lv_ll_move_before+0x4c> if(n_before == NULL) ll_p->head = n_act; - 127cc: 606c str r4, [r5, #4] - 127ce: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} + 12224: 606c str r4, [r5, #4] + 12226: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} void * tail = NULL; - 127d2: 4616 mov r6, r2 - 127d4: e7df b.n 12796 <_lv_ll_move_before+0x5a> - 127d6: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} - 127da: 4770 bx lr - 127dc: 00012591 .word 0x00012591 - 127e0: 0001263d .word 0x0001263d - 127e4: 00012421 .word 0x00012421 - 127e8: 00012461 .word 0x00012461 - -000127ec <_lv_ll_is_empty>: + 1222a: 4616 mov r6, r2 + 1222c: e7df b.n 121ee <_lv_ll_move_before+0x5a> + 1222e: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} + 12232: 4770 bx lr + 12234: 00011fe9 .word 0x00011fe9 + 12238: 00012095 .word 0x00012095 + 1223c: 00011e79 .word 0x00011e79 + 12240: 00011eb9 .word 0x00011eb9 + +00012244 <_lv_ll_is_empty>: if(ll_p == NULL) return true; - 127ec: b140 cbz r0, 12800 <_lv_ll_is_empty+0x14> + 12244: b140 cbz r0, 12258 <_lv_ll_is_empty+0x14> if(ll_p->head == NULL && ll_p->tail == NULL) return true; - 127ee: 6842 ldr r2, [r0, #4] - 127f0: b10a cbz r2, 127f6 <_lv_ll_is_empty+0xa> + 12246: 6842 ldr r2, [r0, #4] + 12248: b10a cbz r2, 1224e <_lv_ll_is_empty+0xa> return false; - 127f2: 2000 movs r0, #0 + 1224a: 2000 movs r0, #0 } - 127f4: 4770 bx lr + 1224c: 4770 bx lr if(ll_p->head == NULL && ll_p->tail == NULL) return true; - 127f6: 6880 ldr r0, [r0, #8] - 127f8: fab0 f080 clz r0, r0 - 127fc: 0940 lsrs r0, r0, #5 - 127fe: 4770 bx lr + 1224e: 6880 ldr r0, [r0, #8] + 12250: fab0 f080 clz r0, r0 + 12254: 0940 lsrs r0, r0, #5 + 12256: 4770 bx lr if(ll_p == NULL) return true; - 12800: 2001 movs r0, #1 - 12802: 4770 bx lr + 12258: 2001 movs r0, #1 + 1225a: 4770 bx lr -00012804 <_lv_log_add>: +0001225c <_lv_log_add>: * @param func name of the function when the log added * @param format printf-like format string * @param ... parameters for `format` */ void _lv_log_add(lv_log_level_t level, const char * file, int line, const char * func, const char * format, ...) { - 12804: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - 12808: b0c4 sub sp, #272 ; 0x110 + 1225c: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} + 12260: b0c4 sub sp, #272 ; 0x110 if(level >= _LV_LOG_LEVEL_NUM) return; /*Invalid level*/ if(level >= LV_LOG_LEVEL) { - 1280a: 1e44 subs r4, r0, #1 - 1280c: b2e4 uxtb r4, r4 - 1280e: 2c04 cmp r4, #4 - 12810: d815 bhi.n 1283e <_lv_log_add+0x3a> - 12812: 461f mov r7, r3 - 12814: 4616 mov r6, r2 - 12816: 460d mov r5, r1 - 12818: 4680 mov r8, r0 + 12262: 1e44 subs r4, r0, #1 + 12264: b2e4 uxtb r4, r4 + 12266: 2c04 cmp r4, #4 + 12268: d815 bhi.n 12296 <_lv_log_add+0x3a> + 1226a: 461f mov r7, r3 + 1226c: 4616 mov r6, r2 + 1226e: 460d mov r5, r1 + 12270: 4680 mov r8, r0 va_list args; va_start(args, format); - 1281a: ab4b add r3, sp, #300 ; 0x12c - 1281c: 9303 str r3, [sp, #12] + 12272: ab4b add r3, sp, #300 ; 0x12c + 12274: 9303 str r3, [sp, #12] char buf[256]; lv_vsnprintf(buf, sizeof(buf), format, args); - 1281e: 9a4a ldr r2, [sp, #296] ; 0x128 - 12820: f44f 7180 mov.w r1, #256 ; 0x100 - 12824: a804 add r0, sp, #16 - 12826: 4c07 ldr r4, [pc, #28] ; (12844 <_lv_log_add+0x40>) - 12828: 47a0 blx r4 + 12276: 9a4a ldr r2, [sp, #296] ; 0x128 + 12278: f44f 7180 mov.w r1, #256 ; 0x100 + 1227c: a804 add r0, sp, #16 + 1227e: 4c07 ldr r4, [pc, #28] ; (1229c <_lv_log_add+0x40>) + 12280: 47a0 blx r4 } static const char * lvl_prefix[] = {"Trace", "Info", "Warn", "Error", "User"}; printf("%s: %s \t(%s #%d %s())\n", lvl_prefix[level], buf, &file[p], line, func); #else if(custom_print_cb) custom_print_cb(level, file, line, func, buf); - 1282a: 4b07 ldr r3, [pc, #28] ; (12848 <_lv_log_add+0x44>) - 1282c: 681c ldr r4, [r3, #0] - 1282e: b134 cbz r4, 1283e <_lv_log_add+0x3a> - 12830: ab04 add r3, sp, #16 - 12832: 9300 str r3, [sp, #0] - 12834: 463b mov r3, r7 - 12836: 4632 mov r2, r6 - 12838: 4629 mov r1, r5 - 1283a: 4640 mov r0, r8 - 1283c: 47a0 blx r4 + 12282: 4b07 ldr r3, [pc, #28] ; (122a0 <_lv_log_add+0x44>) + 12284: 681c ldr r4, [r3, #0] + 12286: b134 cbz r4, 12296 <_lv_log_add+0x3a> + 12288: ab04 add r3, sp, #16 + 1228a: 9300 str r3, [sp, #0] + 1228c: 463b mov r3, r7 + 1228e: 4632 mov r2, r6 + 12290: 4629 mov r1, r5 + 12292: 4640 mov r0, r8 + 12294: 47a0 blx r4 #endif } } - 1283e: b044 add sp, #272 ; 0x110 - 12840: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} - 12844: 00013b75 .word 0x00013b75 - 12848: 20002b88 .word 0x20002b88 + 12296: b044 add sp, #272 ; 0x110 + 12298: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + 1229c: 000135cd .word 0x000135cd + 122a0: 20002b88 .word 0x20002b88 -0001284c <_lv_trigo_sin>: +000122a4 <_lv_trigo_sin>: * @return sinus of 'angle'. sin(-90) = -32767, sin(90) = 32767 */ LV_ATTRIBUTE_FAST_MEM int16_t _lv_trigo_sin(int16_t angle) { int16_t ret = 0; angle = angle % 360; - 1284c: 4b1b ldr r3, [pc, #108] ; (128bc <_lv_trigo_sin+0x70>) - 1284e: fb83 2300 smull r2, r3, r3, r0 - 12852: 181a adds r2, r3, r0 - 12854: 17c3 asrs r3, r0, #31 - 12856: ebc3 2322 rsb r3, r3, r2, asr #8 - 1285a: f44f 72b4 mov.w r2, #360 ; 0x168 - 1285e: fb02 0013 mls r0, r2, r3, r0 - 12862: b200 sxth r0, r0 + 122a4: 4b1b ldr r3, [pc, #108] ; (12314 <_lv_trigo_sin+0x70>) + 122a6: fb83 2300 smull r2, r3, r3, r0 + 122aa: 181a adds r2, r3, r0 + 122ac: 17c3 asrs r3, r0, #31 + 122ae: ebc3 2322 rsb r3, r3, r2, asr #8 + 122b2: f44f 72b4 mov.w r2, #360 ; 0x168 + 122b6: fb02 0013 mls r0, r2, r3, r0 + 122ba: b200 sxth r0, r0 if(angle < 0) angle = 360 + angle; - 12864: 2800 cmp r0, #0 - 12866: bfbc itt lt - 12868: 1880 addlt r0, r0, r2 - 1286a: b200 sxthlt r0, r0 + 122bc: 2800 cmp r0, #0 + 122be: bfbc itt lt + 122c0: 1880 addlt r0, r0, r2 + 122c2: b200 sxthlt r0, r0 if(angle < 90) { - 1286c: 2859 cmp r0, #89 ; 0x59 - 1286e: dd13 ble.n 12898 <_lv_trigo_sin+0x4c> + 122c4: 2859 cmp r0, #89 ; 0x59 + 122c6: dd13 ble.n 122f0 <_lv_trigo_sin+0x4c> ret = sin0_90_table[angle]; } else if(angle >= 90 && angle < 180) { - 12870: b280 uxth r0, r0 - 12872: f1a0 035a sub.w r3, r0, #90 ; 0x5a - 12876: b29b uxth r3, r3 - 12878: 2b59 cmp r3, #89 ; 0x59 - 1287a: d911 bls.n 128a0 <_lv_trigo_sin+0x54> + 122c8: b280 uxth r0, r0 + 122ca: f1a0 035a sub.w r3, r0, #90 ; 0x5a + 122ce: b29b uxth r3, r3 + 122d0: 2b59 cmp r3, #89 ; 0x59 + 122d2: d911 bls.n 122f8 <_lv_trigo_sin+0x54> angle = 180 - angle; ret = sin0_90_table[angle]; } else if(angle >= 180 && angle < 270) { - 1287c: f1a0 03b4 sub.w r3, r0, #180 ; 0xb4 - 12880: b29b uxth r3, r3 - 12882: 2b59 cmp r3, #89 ; 0x59 - 12884: d913 bls.n 128ae <_lv_trigo_sin+0x62> + 122d4: f1a0 03b4 sub.w r3, r0, #180 ; 0xb4 + 122d8: b29b uxth r3, r3 + 122da: 2b59 cmp r3, #89 ; 0x59 + 122dc: d913 bls.n 12306 <_lv_trigo_sin+0x62> angle = angle - 180; ret = -sin0_90_table[angle]; } else { /*angle >=270*/ angle = 360 - angle; - 12886: f5c0 70b4 rsb r0, r0, #360 ; 0x168 + 122de: f5c0 70b4 rsb r0, r0, #360 ; 0x168 ret = -sin0_90_table[angle]; - 1288a: b200 sxth r0, r0 - 1288c: 4b0c ldr r3, [pc, #48] ; (128c0 <_lv_trigo_sin+0x74>) - 1288e: f833 0010 ldrh.w r0, [r3, r0, lsl #1] - 12892: 4240 negs r0, r0 - 12894: b200 sxth r0, r0 + 122e2: b200 sxth r0, r0 + 122e4: 4b0c ldr r3, [pc, #48] ; (12318 <_lv_trigo_sin+0x74>) + 122e6: f833 0010 ldrh.w r0, [r3, r0, lsl #1] + 122ea: 4240 negs r0, r0 + 122ec: b200 sxth r0, r0 } return ret; } - 12896: 4770 bx lr + 122ee: 4770 bx lr ret = sin0_90_table[angle]; - 12898: 4b09 ldr r3, [pc, #36] ; (128c0 <_lv_trigo_sin+0x74>) - 1289a: f933 0010 ldrsh.w r0, [r3, r0, lsl #1] - 1289e: 4770 bx lr + 122f0: 4b09 ldr r3, [pc, #36] ; (12318 <_lv_trigo_sin+0x74>) + 122f2: f933 0010 ldrsh.w r0, [r3, r0, lsl #1] + 122f6: 4770 bx lr angle = 180 - angle; - 128a0: f1c0 00b4 rsb r0, r0, #180 ; 0xb4 + 122f8: f1c0 00b4 rsb r0, r0, #180 ; 0xb4 ret = sin0_90_table[angle]; - 128a4: b200 sxth r0, r0 - 128a6: 4b06 ldr r3, [pc, #24] ; (128c0 <_lv_trigo_sin+0x74>) - 128a8: f933 0010 ldrsh.w r0, [r3, r0, lsl #1] - 128ac: 4770 bx lr + 122fc: b200 sxth r0, r0 + 122fe: 4b06 ldr r3, [pc, #24] ; (12318 <_lv_trigo_sin+0x74>) + 12300: f933 0010 ldrsh.w r0, [r3, r0, lsl #1] + 12304: 4770 bx lr ret = -sin0_90_table[angle]; - 128ae: b21b sxth r3, r3 - 128b0: 4a03 ldr r2, [pc, #12] ; (128c0 <_lv_trigo_sin+0x74>) - 128b2: f832 0013 ldrh.w r0, [r2, r3, lsl #1] - 128b6: 4240 negs r0, r0 - 128b8: b200 sxth r0, r0 - 128ba: 4770 bx lr - 128bc: b60b60b7 .word 0xb60b60b7 - 128c0: 00020780 .word 0x00020780 - -000128c4 <_lv_sqrt>: + 12306: b21b sxth r3, r3 + 12308: 4a03 ldr r2, [pc, #12] ; (12318 <_lv_trigo_sin+0x74>) + 1230a: f832 0013 ldrh.w r0, [r2, r3, lsl #1] + 1230e: 4240 negs r0, r0 + 12310: b200 sxth r0, r0 + 12312: 4770 bx lr + 12314: b60b60b7 .word 0xb60b60b7 + 12318: 0002929c .word 0x0002929c + +0001231c <_lv_sqrt>: * If root < 16: mask = 0x80 * If root < 256: mask = 0x800 * Else: mask = 0x8000 */ LV_ATTRIBUTE_FAST_MEM void _lv_sqrt(uint32_t x, lv_sqrt_res_t * q, uint32_t mask) { - 128c4: b430 push {r4, r5} + 1231c: b430 push {r4, r5} x = x << 8; /*To get 4 bit precision. (sqrt(256) = 16 = 4 bit)*/ - 128c6: 0200 lsls r0, r0, #8 + 1231e: 0200 lsls r0, r0, #8 uint32_t root = 0; - 128c8: 2400 movs r4, #0 + 12320: 2400 movs r4, #0 uint32_t trial; // http://ww1.microchip.com/...en/AppNotes/91040a.pdf do { trial = root + mask; - 128ca: 1913 adds r3, r2, r4 + 12322: 1913 adds r3, r2, r4 if((uint32_t)trial * trial <= x) root = trial; - 128cc: fb03 f503 mul.w r5, r3, r3 - 128d0: 42a8 cmp r0, r5 - 128d2: bf28 it cs - 128d4: 461c movcs r4, r3 + 12324: fb03 f503 mul.w r5, r3, r3 + 12328: 42a8 cmp r0, r5 + 1232a: bf28 it cs + 1232c: 461c movcs r4, r3 mask = mask >> 1; } while(mask); - 128d6: 0852 lsrs r2, r2, #1 - 128d8: d1f7 bne.n 128ca <_lv_sqrt+0x6> + 1232e: 0852 lsrs r2, r2, #1 + 12330: d1f7 bne.n 12322 <_lv_sqrt+0x6> q->i = (uint32_t) root >> 4; - 128da: 0923 lsrs r3, r4, #4 - 128dc: 800b strh r3, [r1, #0] + 12332: 0923 lsrs r3, r4, #4 + 12334: 800b strh r3, [r1, #0] q->f = (uint32_t)(root & 0xf) << 4; - 128de: 0124 lsls r4, r4, #4 - 128e0: b2e4 uxtb r4, r4 - 128e2: 804c strh r4, [r1, #2] + 12336: 0124 lsls r4, r4, #4 + 12338: b2e4 uxtb r4, r4 + 1233a: 804c strh r4, [r1, #2] } - 128e4: bc30 pop {r4, r5} - 128e6: 4770 bx lr + 1233c: bc30 pop {r4, r5} + 1233e: 4770 bx lr -000128e8 : +00012340 : */ static lv_mem_ent_t * ent_get_next(lv_mem_ent_t * act_e) { lv_mem_ent_t * next_e = NULL; if(act_e == NULL) { /*NULL means: get the first entry*/ - 128e8: 4603 mov r3, r0 - 128ea: b160 cbz r0, 12906 + 12340: 4603 mov r3, r0 + 12342: b160 cbz r0, 1235e next_e = (lv_mem_ent_t *)work_mem; } else { /*Get the next entry */ uint8_t * data = &act_e->first_data; - 128ec: 3004 adds r0, #4 + 12344: 3004 adds r0, #4 next_e = (lv_mem_ent_t *)&data[act_e->header.s.d_size]; - 128ee: 681b ldr r3, [r3, #0] - 128f0: eb00 0053 add.w r0, r0, r3, lsr #1 + 12346: 681b ldr r3, [r3, #0] + 12348: eb00 0053 add.w r0, r0, r3, lsr #1 if(&next_e->first_data >= &work_mem[LV_MEM_SIZE]) next_e = NULL; - 128f4: 1d02 adds r2, r0, #4 - 128f6: 4b05 ldr r3, [pc, #20] ; (1290c ) - 128f8: 681b ldr r3, [r3, #0] - 128fa: f503 4380 add.w r3, r3, #16384 ; 0x4000 - 128fe: 429a cmp r2, r3 - 12900: bf28 it cs - 12902: 2000 movcs r0, #0 + 1234c: 1d02 adds r2, r0, #4 + 1234e: 4b05 ldr r3, [pc, #20] ; (12364 ) + 12350: 681b ldr r3, [r3, #0] + 12352: f503 4380 add.w r3, r3, #16384 ; 0x4000 + 12356: 429a cmp r2, r3 + 12358: bf28 it cs + 1235a: 2000 movcs r0, #0 } return next_e; } - 12904: 4770 bx lr + 1235c: 4770 bx lr next_e = (lv_mem_ent_t *)work_mem; - 12906: 4b01 ldr r3, [pc, #4] ; (1290c ) - 12908: 6818 ldr r0, [r3, #0] - 1290a: 4770 bx lr - 1290c: 20002b8c .word 0x20002b8c + 1235e: 4b01 ldr r3, [pc, #4] ; (12364 ) + 12360: 6818 ldr r0, [r3, #0] + 12362: 4770 bx lr + 12364: 20002b8c .word 0x20002b8c -00012910 : +00012368 : size = size & (~0x7); size += 8; } #else /*Round the size up to 4*/ if(size & 0x3) { - 12910: f011 0f03 tst.w r1, #3 + 12368: f011 0f03 tst.w r1, #3 size = size & (~0x3); - 12914: bf1c itt ne - 12916: f021 0103 bicne.w r1, r1, #3 + 1236c: bf1c itt ne + 1236e: f021 0103 bicne.w r1, r1, #3 size += 4; - 1291a: 3104 addne r1, #4 + 12372: 3104 addne r1, #4 } #endif /*Don't let empty space only for a header without data*/ if(e->header.s.d_size == size + sizeof(lv_mem_header_t)) { - 1291c: 6803 ldr r3, [r0, #0] - 1291e: f3c3 035e ubfx r3, r3, #1, #31 - 12922: 1d0a adds r2, r1, #4 - 12924: 4293 cmp r3, r2 - 12926: d017 beq.n 12958 + 12374: 6803 ldr r3, [r0, #0] + 12376: f3c3 035e ubfx r3, r3, #1, #31 + 1237a: 1d0a adds r2, r1, #4 + 1237c: 4293 cmp r3, r2 + 1237e: d017 beq.n 123b0 size = e->header.s.d_size; } /* Create the new entry after the current if there is space for it */ if(e->header.s.d_size != size) { - 12928: 4299 cmp r1, r3 - 1292a: d016 beq.n 1295a + 12380: 4299 cmp r1, r3 + 12382: d016 beq.n 123b2 { - 1292c: b410 push {r4} + 12384: b410 push {r4} uint8_t * e_data = &e->first_data; - 1292e: 1d02 adds r2, r0, #4 + 12386: 1d02 adds r2, r0, #4 lv_mem_ent_t * after_new_e = (lv_mem_ent_t *)&e_data[size]; after_new_e->header.s.used = 0; - 12930: 5c53 ldrb r3, [r2, r1] - 12932: f36f 0300 bfc r3, #0, #1 - 12936: 5453 strb r3, [r2, r1] + 12388: 5c53 ldrb r3, [r2, r1] + 1238a: f36f 0300 bfc r3, #0, #1 + 1238e: 5453 strb r3, [r2, r1] after_new_e->header.s.d_size = (uint32_t)e->header.s.d_size - size - sizeof(lv_mem_header_t); - 12938: 6803 ldr r3, [r0, #0] - 1293a: f3c3 035e ubfx r3, r3, #1, #31 - 1293e: 3b04 subs r3, #4 - 12940: 1a5b subs r3, r3, r1 - 12942: 5854 ldr r4, [r2, r1] - 12944: f363 045f bfi r4, r3, #1, #31 - 12948: 5054 str r4, [r2, r1] + 12390: 6803 ldr r3, [r0, #0] + 12392: f3c3 035e ubfx r3, r3, #1, #31 + 12396: 3b04 subs r3, #4 + 12398: 1a5b subs r3, r3, r1 + 1239a: 5854 ldr r4, [r2, r1] + 1239c: f363 045f bfi r4, r3, #1, #31 + 123a0: 5054 str r4, [r2, r1] } /* Set the new size for the original entry */ e->header.s.d_size = (uint32_t)size; - 1294a: 6803 ldr r3, [r0, #0] - 1294c: f361 035f bfi r3, r1, #1, #31 - 12950: 6003 str r3, [r0, #0] + 123a2: 6803 ldr r3, [r0, #0] + 123a4: f361 035f bfi r3, r1, #1, #31 + 123a8: 6003 str r3, [r0, #0] } - 12952: f85d 4b04 ldr.w r4, [sp], #4 - 12956: 4770 bx lr + 123aa: f85d 4b04 ldr.w r4, [sp], #4 + 123ae: 4770 bx lr size = e->header.s.d_size; - 12958: 4611 mov r1, r2 + 123b0: 4611 mov r1, r2 e->header.s.d_size = (uint32_t)size; - 1295a: 6803 ldr r3, [r0, #0] - 1295c: f361 035f bfi r3, r1, #1, #31 - 12960: 6003 str r3, [r0, #0] - 12962: 4770 bx lr + 123b2: 6803 ldr r3, [r0, #0] + 123b4: f361 035f bfi r3, r1, #1, #31 + 123b8: 6003 str r3, [r0, #0] + 123ba: 4770 bx lr -00012964 <_lv_mem_init>: +000123bc <_lv_mem_init>: work_mem = (uint8_t *)work_mem_int; - 12964: 4b06 ldr r3, [pc, #24] ; (12980 <_lv_mem_init+0x1c>) - 12966: 1d1a adds r2, r3, #4 - 12968: 601a str r2, [r3, #0] + 123bc: 4b06 ldr r3, [pc, #24] ; (123d8 <_lv_mem_init+0x1c>) + 123be: 1d1a adds r2, r3, #4 + 123c0: 601a str r2, [r3, #0] full->header.s.used = 0; - 1296a: 791a ldrb r2, [r3, #4] - 1296c: f36f 0200 bfc r2, #0, #1 - 12970: 711a strb r2, [r3, #4] + 123c2: 791a ldrb r2, [r3, #4] + 123c4: f36f 0200 bfc r2, #0, #1 + 123c8: 711a strb r2, [r3, #4] full->header.s.d_size = LV_MEM_SIZE - sizeof(lv_mem_header_t); - 12972: 685a ldr r2, [r3, #4] - 12974: f643 71fc movw r1, #16380 ; 0x3ffc - 12978: f361 025f bfi r2, r1, #1, #31 - 1297c: 605a str r2, [r3, #4] - 1297e: 4770 bx lr - 12980: 20002b8c .word 0x20002b8c - -00012984 : + 123ca: 685a ldr r2, [r3, #4] + 123cc: f643 71fc movw r1, #16380 ; 0x3ffc + 123d0: f361 025f bfi r2, r1, #1, #31 + 123d4: 605a str r2, [r3, #4] + 123d6: 4770 bx lr + 123d8: 20002b8c .word 0x20002b8c + +000123dc : if(size == 0) { - 12984: 2800 cmp r0, #0 - 12986: d02e beq.n 129e6 + 123dc: 2800 cmp r0, #0 + 123de: d02e beq.n 1243e { - 12988: b5f0 push {r4, r5, r6, r7, lr} - 1298a: b083 sub sp, #12 - 1298c: 4605 mov r5, r0 + 123e0: b5f0 push {r4, r5, r6, r7, lr} + 123e2: b083 sub sp, #12 + 123e4: 4605 mov r5, r0 if(size & 0x3) { - 1298e: f010 0f03 tst.w r0, #3 + 123e6: f010 0f03 tst.w r0, #3 size = size & (~0x3); - 12992: bf1c itt ne - 12994: f020 0503 bicne.w r5, r0, #3 + 123ea: bf1c itt ne + 123ec: f020 0503 bicne.w r5, r0, #3 size += 4; - 12998: 3504 addne r5, #4 + 123f0: 3504 addne r5, #4 lv_mem_ent_t * e = NULL; - 1299a: 2400 movs r4, #0 + 123f2: 2400 movs r4, #0 e = ent_get_next(e); - 1299c: 4e13 ldr r6, [pc, #76] ; (129ec ) + 123f4: 4e13 ldr r6, [pc, #76] ; (12444 ) ent_trunc(e, size); - 1299e: 4f14 ldr r7, [pc, #80] ; (129f0 ) - 129a0: e008 b.n 129b4 - 129a2: 4629 mov r1, r5 - 129a4: 47b8 blx r7 + 123f6: 4f14 ldr r7, [pc, #80] ; (12448 ) + 123f8: e008 b.n 1240c + 123fa: 4629 mov r1, r5 + 123fc: 47b8 blx r7 e->header.s.used = 1; - 129a6: 7823 ldrb r3, [r4, #0] - 129a8: f043 0301 orr.w r3, r3, #1 - 129ac: 4620 mov r0, r4 - 129ae: f800 3b04 strb.w r3, [r0], #4 + 123fe: 7823 ldrb r3, [r4, #0] + 12400: f043 0301 orr.w r3, r3, #1 + 12404: 4620 mov r0, r4 + 12406: f800 3b04 strb.w r3, [r0], #4 } while(e != NULL && alloc == NULL); - 129b2: b9b0 cbnz r0, 129e2 + 1240a: b9b0 cbnz r0, 1243a e = ent_get_next(e); - 129b4: 4620 mov r0, r4 - 129b6: 47b0 blx r6 + 1240c: 4620 mov r0, r4 + 1240e: 47b0 blx r6 if(e != NULL) { - 129b8: 4604 mov r4, r0 - 129ba: b148 cbz r0, 129d0 + 12410: 4604 mov r4, r0 + 12412: b148 cbz r0, 12428 if(e->header.s.used == 0 && e->header.s.d_size >= size) { - 129bc: 7803 ldrb r3, [r0, #0] - 129be: f013 0f01 tst.w r3, #1 - 129c2: d1f7 bne.n 129b4 - 129c4: 6803 ldr r3, [r0, #0] - 129c6: f3c3 035e ubfx r3, r3, #1, #31 - 129ca: 429d cmp r5, r3 - 129cc: d9e9 bls.n 129a2 - 129ce: e7f1 b.n 129b4 + 12414: 7803 ldrb r3, [r0, #0] + 12416: f013 0f01 tst.w r3, #1 + 1241a: d1f7 bne.n 1240c + 1241c: 6803 ldr r3, [r0, #0] + 1241e: f3c3 035e ubfx r3, r3, #1, #31 + 12422: 429d cmp r5, r3 + 12424: d9e9 bls.n 123fa + 12426: e7f1 b.n 1240c if(alloc == NULL) LV_LOG_WARN("Couldn't allocate memory"); - 129d0: 4b08 ldr r3, [pc, #32] ; (129f4 ) - 129d2: 9300 str r3, [sp, #0] - 129d4: 4b08 ldr r3, [pc, #32] ; (129f8 ) - 129d6: 22d1 movs r2, #209 ; 0xd1 - 129d8: 4908 ldr r1, [pc, #32] ; (129fc ) - 129da: 2002 movs r0, #2 - 129dc: 4c08 ldr r4, [pc, #32] ; (12a00 ) - 129de: 47a0 blx r4 + 12428: 4b08 ldr r3, [pc, #32] ; (1244c ) + 1242a: 9300 str r3, [sp, #0] + 1242c: 4b08 ldr r3, [pc, #32] ; (12450 ) + 1242e: 22d1 movs r2, #209 ; 0xd1 + 12430: 4908 ldr r1, [pc, #32] ; (12454 ) + 12432: 2002 movs r0, #2 + 12434: 4c08 ldr r4, [pc, #32] ; (12458 ) + 12436: 47a0 blx r4 return alloc; - 129e0: 2000 movs r0, #0 + 12438: 2000 movs r0, #0 } - 129e2: b003 add sp, #12 - 129e4: bdf0 pop {r4, r5, r6, r7, pc} + 1243a: b003 add sp, #12 + 1243c: bdf0 pop {r4, r5, r6, r7, pc} return &zero_mem; - 129e6: 4807 ldr r0, [pc, #28] ; (12a04 ) - 129e8: 4770 bx lr - 129ea: bf00 nop - 129ec: 000128e9 .word 0x000128e9 - 129f0: 00012911 .word 0x00012911 - 129f4: 000208a4 .word 0x000208a4 - 129f8: 00020838 .word 0x00020838 - 129fc: 0002087c .word 0x0002087c - 12a00: 00012805 .word 0x00012805 - 12a04: 20006b90 .word 0x20006b90 - -00012a08 : -{ - 12a08: b538 push {r3, r4, r5, lr} + 1243e: 4807 ldr r0, [pc, #28] ; (1245c ) + 12440: 4770 bx lr + 12442: bf00 nop + 12444: 00012341 .word 0x00012341 + 12448: 00012369 .word 0x00012369 + 1244c: 000293c0 .word 0x000293c0 + 12450: 00029354 .word 0x00029354 + 12454: 00029398 .word 0x00029398 + 12458: 0001225d .word 0x0001225d + 1245c: 20006b90 .word 0x20006b90 + +00012460 : +{ + 12460: b538 push {r3, r4, r5, lr} e_free = ent_get_next(NULL); - 12a0a: 2000 movs r0, #0 - 12a0c: 4b16 ldr r3, [pc, #88] ; (12a68 ) - 12a0e: 4798 blx r3 - 12a10: 4604 mov r4, r0 + 12462: 2000 movs r0, #0 + 12464: 4b16 ldr r3, [pc, #88] ; (124c0 ) + 12466: 4798 blx r3 + 12468: 4604 mov r4, r0 e_next = ent_get_next(e_free); - 12a12: 4d15 ldr r5, [pc, #84] ; (12a68 ) - 12a14: e01b b.n 12a4e - 12a16: bd38 pop {r3, r4, r5, pc} - 12a18: 4620 mov r0, r4 - 12a1a: 47a8 blx r5 + 1246a: 4d15 ldr r5, [pc, #84] ; (124c0 ) + 1246c: e01b b.n 124a6 + 1246e: bd38 pop {r3, r4, r5, pc} + 12470: 4620 mov r0, r4 + 12472: 47a8 blx r5 while(e_next != NULL) { - 12a1c: 4601 mov r1, r0 - 12a1e: b308 cbz r0, 12a64 + 12474: 4601 mov r1, r0 + 12476: b308 cbz r0, 124bc if(e_next->header.s.used == 0) { - 12a20: 7803 ldrb r3, [r0, #0] - 12a22: f013 0f01 tst.w r3, #1 - 12a26: d111 bne.n 12a4c + 12478: 7803 ldrb r3, [r0, #0] + 1247a: f013 0f01 tst.w r3, #1 + 1247e: d111 bne.n 124a4 e_free->header.s.d_size += e_next->header.s.d_size + sizeof(e_next->header); - 12a28: 6823 ldr r3, [r4, #0] - 12a2a: f3c3 025e ubfx r2, r3, #1, #31 - 12a2e: 3204 adds r2, #4 - 12a30: 6808 ldr r0, [r1, #0] - 12a32: eb02 0250 add.w r2, r2, r0, lsr #1 - 12a36: f362 035f bfi r3, r2, #1, #31 - 12a3a: 6023 str r3, [r4, #0] + 12480: 6823 ldr r3, [r4, #0] + 12482: f3c3 025e ubfx r2, r3, #1, #31 + 12486: 3204 adds r2, #4 + 12488: 6808 ldr r0, [r1, #0] + 1248a: eb02 0250 add.w r2, r2, r0, lsr #1 + 1248e: f362 035f bfi r3, r2, #1, #31 + 12492: 6023 str r3, [r4, #0] e_next = ent_get_next(e_next); - 12a3c: 4608 mov r0, r1 - 12a3e: 47a8 blx r5 + 12494: 4608 mov r0, r1 + 12496: 47a8 blx r5 while(e_next != NULL) { - 12a40: 4601 mov r1, r0 - 12a42: b170 cbz r0, 12a62 + 12498: 4601 mov r1, r0 + 1249a: b170 cbz r0, 124ba if(e_next->header.s.used == 0) { - 12a44: 780b ldrb r3, [r1, #0] - 12a46: f013 0f01 tst.w r3, #1 - 12a4a: d0ed beq.n 12a28 + 1249c: 780b ldrb r3, [r1, #0] + 1249e: f013 0f01 tst.w r3, #1 + 124a2: d0ed beq.n 12480 { - 12a4c: 460c mov r4, r1 + 124a4: 460c mov r4, r1 while(e_free != NULL) { - 12a4e: 2c00 cmp r4, #0 - 12a50: d0e1 beq.n 12a16 + 124a6: 2c00 cmp r4, #0 + 124a8: d0e1 beq.n 1246e if(e_free->header.s.used != 0) { - 12a52: 7823 ldrb r3, [r4, #0] - 12a54: f013 0f01 tst.w r3, #1 - 12a58: d0de beq.n 12a18 + 124aa: 7823 ldrb r3, [r4, #0] + 124ac: f013 0f01 tst.w r3, #1 + 124b0: d0de beq.n 12470 e_free = ent_get_next(e_free); - 12a5a: 4620 mov r0, r4 - 12a5c: 47a8 blx r5 - 12a5e: 4604 mov r4, r0 - 12a60: e7f5 b.n 12a4e - 12a62: bd38 pop {r3, r4, r5, pc} - 12a64: bd38 pop {r3, r4, r5, pc} - 12a66: bf00 nop - 12a68: 000128e9 .word 0x000128e9 - -00012a6c : -{ - 12a6c: b538 push {r3, r4, r5, lr} + 124b2: 4620 mov r0, r4 + 124b4: 47a8 blx r5 + 124b6: 4604 mov r4, r0 + 124b8: e7f5 b.n 124a6 + 124ba: bd38 pop {r3, r4, r5, pc} + 124bc: bd38 pop {r3, r4, r5, pc} + 124be: bf00 nop + 124c0: 00012341 .word 0x00012341 + +000124c4 : +{ + 124c4: b538 push {r3, r4, r5, lr} if(data == &zero_mem) return; - 12a6e: 4b1e ldr r3, [pc, #120] ; (12ae8 ) - 12a70: 4298 cmp r0, r3 - 12a72: d038 beq.n 12ae6 + 124c6: 4b1e ldr r3, [pc, #120] ; (12540 ) + 124c8: 4298 cmp r0, r3 + 124ca: d038 beq.n 1253e if(data == NULL) return; - 12a74: 2800 cmp r0, #0 - 12a76: d036 beq.n 12ae6 - 12a78: 4604 mov r4, r0 + 124cc: 2800 cmp r0, #0 + 124ce: d036 beq.n 1253e + 124d0: 4604 mov r4, r0 e->header.s.used = 0; - 12a7a: f810 3c04 ldrb.w r3, [r0, #-4] - 12a7e: f36f 0300 bfc r3, #0, #1 - 12a82: f800 3c04 strb.w r3, [r0, #-4] + 124d2: f810 3c04 ldrb.w r3, [r0, #-4] + 124d6: f36f 0300 bfc r3, #0, #1 + 124da: f800 3c04 strb.w r3, [r0, #-4] full_defrag_cnt++; - 12a86: 4a19 ldr r2, [pc, #100] ; (12aec ) - 12a88: f8b2 3d20 ldrh.w r3, [r2, #3360] ; 0xd20 - 12a8c: 3301 adds r3, #1 - 12a8e: b29b uxth r3, r3 - 12a90: f8a2 3d20 strh.w r3, [r2, #3360] ; 0xd20 + 124de: 4a19 ldr r2, [pc, #100] ; (12544 ) + 124e0: f8b2 3d20 ldrh.w r3, [r2, #3360] ; 0xd20 + 124e4: 3301 adds r3, #1 + 124e6: b29b uxth r3, r3 + 124e8: f8a2 3d20 strh.w r3, [r2, #3360] ; 0xd20 if(full_defrag_cnt < LV_MEM_FULL_DEFRAG_CNT) { - 12a94: 2b0f cmp r3, #15 - 12a96: d820 bhi.n 12ada + 124ec: 2b0f cmp r3, #15 + 124ee: d820 bhi.n 12532 e_next = ent_get_next(e); - 12a98: 3804 subs r0, #4 - 12a9a: 4b15 ldr r3, [pc, #84] ; (12af0 ) - 12a9c: 4798 blx r3 + 124f0: 3804 subs r0, #4 + 124f2: 4b15 ldr r3, [pc, #84] ; (12548 ) + 124f4: 4798 blx r3 while(e_next != NULL) { - 12a9e: 4601 mov r1, r0 - 12aa0: b308 cbz r0, 12ae6 + 124f6: 4601 mov r1, r0 + 124f8: b308 cbz r0, 1253e if(e_next->header.s.used == 0) { - 12aa2: 7803 ldrb r3, [r0, #0] - 12aa4: f013 0f01 tst.w r3, #1 - 12aa8: d115 bne.n 12ad6 + 124fa: 7803 ldrb r3, [r0, #0] + 124fc: f013 0f01 tst.w r3, #1 + 12500: d115 bne.n 1252e e_next = ent_get_next(e_next); - 12aaa: 4d11 ldr r5, [pc, #68] ; (12af0 ) + 12502: 4d11 ldr r5, [pc, #68] ; (12548 ) e->header.s.d_size += e_next->header.s.d_size + sizeof(e->header); - 12aac: f854 3c04 ldr.w r3, [r4, #-4] - 12ab0: f3c3 025e ubfx r2, r3, #1, #31 - 12ab4: 3204 adds r2, #4 - 12ab6: 6808 ldr r0, [r1, #0] - 12ab8: eb02 0250 add.w r2, r2, r0, lsr #1 - 12abc: f362 035f bfi r3, r2, #1, #31 - 12ac0: f844 3c04 str.w r3, [r4, #-4] + 12504: f854 3c04 ldr.w r3, [r4, #-4] + 12508: f3c3 025e ubfx r2, r3, #1, #31 + 1250c: 3204 adds r2, #4 + 1250e: 6808 ldr r0, [r1, #0] + 12510: eb02 0250 add.w r2, r2, r0, lsr #1 + 12514: f362 035f bfi r3, r2, #1, #31 + 12518: f844 3c04 str.w r3, [r4, #-4] e_next = ent_get_next(e_next); - 12ac4: 4608 mov r0, r1 - 12ac6: 47a8 blx r5 + 1251c: 4608 mov r0, r1 + 1251e: 47a8 blx r5 while(e_next != NULL) { - 12ac8: 4601 mov r1, r0 - 12aca: b128 cbz r0, 12ad8 + 12520: 4601 mov r1, r0 + 12522: b128 cbz r0, 12530 if(e_next->header.s.used == 0) { - 12acc: 780b ldrb r3, [r1, #0] - 12ace: f013 0f01 tst.w r3, #1 - 12ad2: d0eb beq.n 12aac - 12ad4: bd38 pop {r3, r4, r5, pc} - 12ad6: bd38 pop {r3, r4, r5, pc} - 12ad8: bd38 pop {r3, r4, r5, pc} + 12524: 780b ldrb r3, [r1, #0] + 12526: f013 0f01 tst.w r3, #1 + 1252a: d0eb beq.n 12504 + 1252c: bd38 pop {r3, r4, r5, pc} + 1252e: bd38 pop {r3, r4, r5, pc} + 12530: bd38 pop {r3, r4, r5, pc} full_defrag_cnt = 0; - 12ada: 2200 movs r2, #0 - 12adc: 4b03 ldr r3, [pc, #12] ; (12aec ) - 12ade: f8a3 2d20 strh.w r2, [r3, #3360] ; 0xd20 + 12532: 2200 movs r2, #0 + 12534: 4b03 ldr r3, [pc, #12] ; (12544 ) + 12536: f8a3 2d20 strh.w r2, [r3, #3360] ; 0xd20 lv_mem_defrag(); - 12ae2: 4b04 ldr r3, [pc, #16] ; (12af4 ) - 12ae4: 4798 blx r3 - 12ae6: bd38 pop {r3, r4, r5, pc} - 12ae8: 20006b90 .word 0x20006b90 - 12aec: 20005e74 .word 0x20005e74 - 12af0: 000128e9 .word 0x000128e9 - 12af4: 00012a09 .word 0x00012a09 - -00012af8 <_lv_mem_get_size>: + 1253a: 4b04 ldr r3, [pc, #16] ; (1254c ) + 1253c: 4798 blx r3 + 1253e: bd38 pop {r3, r4, r5, pc} + 12540: 20006b90 .word 0x20006b90 + 12544: 20005e74 .word 0x20005e74 + 12548: 00012341 .word 0x00012341 + 1254c: 00012461 .word 0x00012461 + +00012550 <_lv_mem_get_size>: if(data == NULL) return 0; - 12af8: b138 cbz r0, 12b0a <_lv_mem_get_size+0x12> + 12550: b138 cbz r0, 12562 <_lv_mem_get_size+0x12> if(data == &zero_mem) return 0; - 12afa: 4a06 ldr r2, [pc, #24] ; (12b14 <_lv_mem_get_size+0x1c>) - 12afc: 4290 cmp r0, r2 - 12afe: d006 beq.n 12b0e <_lv_mem_get_size+0x16> + 12552: 4a06 ldr r2, [pc, #24] ; (1256c <_lv_mem_get_size+0x1c>) + 12554: 4290 cmp r0, r2 + 12556: d006 beq.n 12566 <_lv_mem_get_size+0x16> return e->header.s.d_size; - 12b00: f850 0c04 ldr.w r0, [r0, #-4] - 12b04: f3c0 005e ubfx r0, r0, #1, #31 - 12b08: 4770 bx lr + 12558: f850 0c04 ldr.w r0, [r0, #-4] + 1255c: f3c0 005e ubfx r0, r0, #1, #31 + 12560: 4770 bx lr if(data == NULL) return 0; - 12b0a: 2000 movs r0, #0 - 12b0c: 4770 bx lr + 12562: 2000 movs r0, #0 + 12564: 4770 bx lr if(data == &zero_mem) return 0; - 12b0e: 2000 movs r0, #0 + 12566: 2000 movs r0, #0 } - 12b10: 4770 bx lr - 12b12: bf00 nop - 12b14: 20006b90 .word 0x20006b90 + 12568: 4770 bx lr + 1256a: bf00 nop + 1256c: 20006b90 .word 0x20006b90 -00012b18 <_lv_mem_buf_release>: +00012570 <_lv_mem_buf_release>: if(mem_buf_small[i].p == p) { - 12b18: 4b1b ldr r3, [pc, #108] ; (12b88 <_lv_mem_buf_release+0x70>) - 12b1a: 681b ldr r3, [r3, #0] - 12b1c: 4298 cmp r0, r3 - 12b1e: d020 beq.n 12b62 <_lv_mem_buf_release+0x4a> - 12b20: 4b19 ldr r3, [pc, #100] ; (12b88 <_lv_mem_buf_release+0x70>) - 12b22: 689b ldr r3, [r3, #8] - 12b24: 4283 cmp r3, r0 - 12b26: bf08 it eq - 12b28: 2201 moveq r2, #1 - 12b2a: d01b beq.n 12b64 <_lv_mem_buf_release+0x4c> -{ - 12b2c: b510 push {r4, lr} - 12b2e: b082 sub sp, #8 + 12570: 4b1b ldr r3, [pc, #108] ; (125e0 <_lv_mem_buf_release+0x70>) + 12572: 681b ldr r3, [r3, #0] + 12574: 4298 cmp r0, r3 + 12576: d020 beq.n 125ba <_lv_mem_buf_release+0x4a> + 12578: 4b19 ldr r3, [pc, #100] ; (125e0 <_lv_mem_buf_release+0x70>) + 1257a: 689b ldr r3, [r3, #8] + 1257c: 4283 cmp r3, r0 + 1257e: bf08 it eq + 12580: 2201 moveq r2, #1 + 12582: d01b beq.n 125bc <_lv_mem_buf_release+0x4c> +{ + 12584: b510 push {r4, lr} + 12586: b082 sub sp, #8 if(LV_GC_ROOT(_lv_mem_buf[i]).p == p) { - 12b30: 4b16 ldr r3, [pc, #88] ; (12b8c <_lv_mem_buf_release+0x74>) - 12b32: 681b ldr r3, [r3, #0] - 12b34: 4298 cmp r0, r3 - 12b36: d01d beq.n 12b74 <_lv_mem_buf_release+0x5c> - 12b38: 2301 movs r3, #1 - 12b3a: 4914 ldr r1, [pc, #80] ; (12b8c <_lv_mem_buf_release+0x74>) - 12b3c: 461c mov r4, r3 - 12b3e: f851 2033 ldr.w r2, [r1, r3, lsl #3] - 12b42: 4290 cmp r0, r2 - 12b44: d017 beq.n 12b76 <_lv_mem_buf_release+0x5e> - 12b46: 3301 adds r3, #1 + 12588: 4b16 ldr r3, [pc, #88] ; (125e4 <_lv_mem_buf_release+0x74>) + 1258a: 681b ldr r3, [r3, #0] + 1258c: 4298 cmp r0, r3 + 1258e: d01d beq.n 125cc <_lv_mem_buf_release+0x5c> + 12590: 2301 movs r3, #1 + 12592: 4914 ldr r1, [pc, #80] ; (125e4 <_lv_mem_buf_release+0x74>) + 12594: 461c mov r4, r3 + 12596: f851 2033 ldr.w r2, [r1, r3, lsl #3] + 1259a: 4290 cmp r0, r2 + 1259c: d017 beq.n 125ce <_lv_mem_buf_release+0x5e> + 1259e: 3301 adds r3, #1 for(i = 0; i < LV_MEM_BUF_MAX_NUM; i++) { - 12b48: 2b10 cmp r3, #16 - 12b4a: d1f7 bne.n 12b3c <_lv_mem_buf_release+0x24> + 125a0: 2b10 cmp r3, #16 + 125a2: d1f7 bne.n 12594 <_lv_mem_buf_release+0x24> LV_LOG_ERROR("lv_mem_buf_release: p is not a known buffer") - 12b4c: 4b10 ldr r3, [pc, #64] ; (12b90 <_lv_mem_buf_release+0x78>) - 12b4e: 9300 str r3, [sp, #0] - 12b50: 4b10 ldr r3, [pc, #64] ; (12b94 <_lv_mem_buf_release+0x7c>) - 12b52: f240 2232 movw r2, #562 ; 0x232 - 12b56: 4910 ldr r1, [pc, #64] ; (12b98 <_lv_mem_buf_release+0x80>) - 12b58: 2003 movs r0, #3 - 12b5a: 4c10 ldr r4, [pc, #64] ; (12b9c <_lv_mem_buf_release+0x84>) - 12b5c: 47a0 blx r4 -} - 12b5e: b002 add sp, #8 - 12b60: bd10 pop {r4, pc} + 125a4: 4b10 ldr r3, [pc, #64] ; (125e8 <_lv_mem_buf_release+0x78>) + 125a6: 9300 str r3, [sp, #0] + 125a8: 4b10 ldr r3, [pc, #64] ; (125ec <_lv_mem_buf_release+0x7c>) + 125aa: f240 2232 movw r2, #562 ; 0x232 + 125ae: 4910 ldr r1, [pc, #64] ; (125f0 <_lv_mem_buf_release+0x80>) + 125b0: 2003 movs r0, #3 + 125b2: 4c10 ldr r4, [pc, #64] ; (125f4 <_lv_mem_buf_release+0x84>) + 125b4: 47a0 blx r4 +} + 125b6: b002 add sp, #8 + 125b8: bd10 pop {r4, pc} if(mem_buf_small[i].p == p) { - 12b62: 2200 movs r2, #0 + 125ba: 2200 movs r2, #0 mem_buf_small[i].used = 0; - 12b64: 4b08 ldr r3, [pc, #32] ; (12b88 <_lv_mem_buf_release+0x70>) - 12b66: eb03 03c2 add.w r3, r3, r2, lsl #3 - 12b6a: 799a ldrb r2, [r3, #6] - 12b6c: f36f 0200 bfc r2, #0, #1 - 12b70: 719a strb r2, [r3, #6] + 125bc: 4b08 ldr r3, [pc, #32] ; (125e0 <_lv_mem_buf_release+0x70>) + 125be: eb03 03c2 add.w r3, r3, r2, lsl #3 + 125c2: 799a ldrb r2, [r3, #6] + 125c4: f36f 0200 bfc r2, #0, #1 + 125c8: 719a strb r2, [r3, #6] return; - 12b72: 4770 bx lr + 125ca: 4770 bx lr if(LV_GC_ROOT(_lv_mem_buf[i]).p == p) { - 12b74: 2400 movs r4, #0 + 125cc: 2400 movs r4, #0 LV_GC_ROOT(_lv_mem_buf[i]).used = 0; - 12b76: 4b05 ldr r3, [pc, #20] ; (12b8c <_lv_mem_buf_release+0x74>) - 12b78: eb03 04c4 add.w r4, r3, r4, lsl #3 - 12b7c: 79a3 ldrb r3, [r4, #6] - 12b7e: f36f 0300 bfc r3, #0, #1 - 12b82: 71a3 strb r3, [r4, #6] + 125ce: 4b05 ldr r3, [pc, #20] ; (125e4 <_lv_mem_buf_release+0x74>) + 125d0: eb03 04c4 add.w r4, r3, r4, lsl #3 + 125d4: 79a3 ldrb r3, [r4, #6] + 125d6: f36f 0300 bfc r3, #0, #1 + 125da: 71a3 strb r3, [r4, #6] return; - 12b84: e7eb b.n 12b5e <_lv_mem_buf_release+0x46> - 12b86: bf00 nop - 12b88: 20000044 .word 0x20000044 - 12b8c: 20006ccc .word 0x20006ccc - 12b90: 000208c0 .word 0x000208c0 - 12b94: 00020848 .word 0x00020848 - 12b98: 0002087c .word 0x0002087c - 12b9c: 00012805 .word 0x00012805 - -00012ba0 <_lv_mem_buf_free_all>: -{ - 12ba0: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} + 125dc: e7eb b.n 125b6 <_lv_mem_buf_release+0x46> + 125de: bf00 nop + 125e0: 20000044 .word 0x20000044 + 125e4: 20006cb0 .word 0x20006cb0 + 125e8: 000293dc .word 0x000293dc + 125ec: 00029364 .word 0x00029364 + 125f0: 00029398 .word 0x00029398 + 125f4: 0001225d .word 0x0001225d + +000125f8 <_lv_mem_buf_free_all>: +{ + 125f8: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} mem_buf_small[i].used = 0; - 12ba4: 4b12 ldr r3, [pc, #72] ; (12bf0 <_lv_mem_buf_free_all+0x50>) - 12ba6: 799a ldrb r2, [r3, #6] - 12ba8: f36f 0200 bfc r2, #0, #1 - 12bac: 719a strb r2, [r3, #6] - 12bae: 7b9a ldrb r2, [r3, #14] - 12bb0: f36f 0200 bfc r2, #0, #1 - 12bb4: 739a strb r2, [r3, #14] - 12bb6: 4c0f ldr r4, [pc, #60] ; (12bf4 <_lv_mem_buf_free_all+0x54>) - 12bb8: 2500 movs r5, #0 + 125fc: 4b12 ldr r3, [pc, #72] ; (12648 <_lv_mem_buf_free_all+0x50>) + 125fe: 799a ldrb r2, [r3, #6] + 12600: f36f 0200 bfc r2, #0, #1 + 12604: 719a strb r2, [r3, #6] + 12606: 7b9a ldrb r2, [r3, #14] + 12608: f36f 0200 bfc r2, #0, #1 + 1260c: 739a strb r2, [r3, #14] + 1260e: 4c0f ldr r4, [pc, #60] ; (1264c <_lv_mem_buf_free_all+0x54>) + 12610: 2500 movs r5, #0 lv_mem_free(LV_GC_ROOT(_lv_mem_buf[i]).p); - 12bba: f8df 803c ldr.w r8, [pc, #60] ; 12bf8 <_lv_mem_buf_free_all+0x58> + 12612: f8df 803c ldr.w r8, [pc, #60] ; 12650 <_lv_mem_buf_free_all+0x58> LV_GC_ROOT(_lv_mem_buf[i]).p = NULL; - 12bbe: 462e mov r6, r5 + 12616: 462e mov r6, r5 LV_GC_ROOT(_lv_mem_buf[i]).used = 0; - 12bc0: 1f27 subs r7, r4, #4 - 12bc2: e003 b.n 12bcc <_lv_mem_buf_free_all+0x2c> - 12bc4: 3501 adds r5, #1 - 12bc6: 3408 adds r4, #8 + 12618: 1f27 subs r7, r4, #4 + 1261a: e003 b.n 12624 <_lv_mem_buf_free_all+0x2c> + 1261c: 3501 adds r5, #1 + 1261e: 3408 adds r4, #8 for(i = 0; i < LV_MEM_BUF_MAX_NUM; i++) { - 12bc8: 2d10 cmp r5, #16 - 12bca: d00e beq.n 12bea <_lv_mem_buf_free_all+0x4a> + 12620: 2d10 cmp r5, #16 + 12622: d00e beq.n 12642 <_lv_mem_buf_free_all+0x4a> if(LV_GC_ROOT(_lv_mem_buf[i]).p) { - 12bcc: f854 0c04 ldr.w r0, [r4, #-4] - 12bd0: 2800 cmp r0, #0 - 12bd2: d0f7 beq.n 12bc4 <_lv_mem_buf_free_all+0x24> + 12624: f854 0c04 ldr.w r0, [r4, #-4] + 12628: 2800 cmp r0, #0 + 1262a: d0f7 beq.n 1261c <_lv_mem_buf_free_all+0x24> lv_mem_free(LV_GC_ROOT(_lv_mem_buf[i]).p); - 12bd4: 47c0 blx r8 + 1262c: 47c0 blx r8 LV_GC_ROOT(_lv_mem_buf[i]).p = NULL; - 12bd6: f844 6c04 str.w r6, [r4, #-4] + 1262e: f844 6c04 str.w r6, [r4, #-4] LV_GC_ROOT(_lv_mem_buf[i]).used = 0; - 12bda: eb07 03c5 add.w r3, r7, r5, lsl #3 - 12bde: 799a ldrb r2, [r3, #6] - 12be0: f366 0200 bfi r2, r6, #0, #1 - 12be4: 719a strb r2, [r3, #6] + 12632: eb07 03c5 add.w r3, r7, r5, lsl #3 + 12636: 799a ldrb r2, [r3, #6] + 12638: f366 0200 bfi r2, r6, #0, #1 + 1263c: 719a strb r2, [r3, #6] LV_GC_ROOT(_lv_mem_buf[i]).size = 0; - 12be6: 8026 strh r6, [r4, #0] - 12be8: e7ec b.n 12bc4 <_lv_mem_buf_free_all+0x24> + 1263e: 8026 strh r6, [r4, #0] + 12640: e7ec b.n 1261c <_lv_mem_buf_free_all+0x24> } - 12bea: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} - 12bee: bf00 nop - 12bf0: 20000044 .word 0x20000044 - 12bf4: 20006cd0 .word 0x20006cd0 - 12bf8: 00012a6d .word 0x00012a6d + 12642: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + 12646: bf00 nop + 12648: 20000044 .word 0x20000044 + 1264c: 20006cb4 .word 0x20006cb4 + 12650: 000124c5 .word 0x000124c5 -00012bfc <_lv_memcpy>: +00012654 <_lv_memcpy>: { - 12bfc: b4f0 push {r4, r5, r6, r7} + 12654: b4f0 push {r4, r5, r6, r7} lv_uintptr_t d_align = (lv_uintptr_t)d8 & ALIGN_MASK; - 12bfe: f000 0303 and.w r3, r0, #3 + 12656: f000 0303 and.w r3, r0, #3 lv_uintptr_t s_align = (lv_uintptr_t)s8 & ALIGN_MASK; - 12c02: f001 0403 and.w r4, r1, #3 + 1265a: f001 0403 and.w r4, r1, #3 if(s_align != d_align) { - 12c06: 42a3 cmp r3, r4 - 12c08: f000 80a6 beq.w 12d58 <_lv_memcpy+0x15c> + 1265e: 42a3 cmp r3, r4 + 12660: f000 80a6 beq.w 127b0 <_lv_memcpy+0x15c> while(len > 32) { - 12c0c: 2a20 cmp r2, #32 - 12c0e: f240 80a1 bls.w 12d54 <_lv_memcpy+0x158> - 12c12: f100 0420 add.w r4, r0, #32 - 12c16: f101 0320 add.w r3, r1, #32 - 12c1a: 4615 mov r5, r2 + 12664: 2a20 cmp r2, #32 + 12666: f240 80a1 bls.w 127ac <_lv_memcpy+0x158> + 1266a: f100 0420 add.w r4, r0, #32 + 1266e: f101 0320 add.w r3, r1, #32 + 12672: 4615 mov r5, r2 REPEAT8(COPY8); - 12c1c: f813 6c20 ldrb.w r6, [r3, #-32] - 12c20: f804 6c20 strb.w r6, [r4, #-32] - 12c24: f813 6c1f ldrb.w r6, [r3, #-31] - 12c28: f804 6c1f strb.w r6, [r4, #-31] - 12c2c: f813 6c1e ldrb.w r6, [r3, #-30] - 12c30: f804 6c1e strb.w r6, [r4, #-30] - 12c34: f813 6c1d ldrb.w r6, [r3, #-29] - 12c38: f804 6c1d strb.w r6, [r4, #-29] - 12c3c: f813 6c1c ldrb.w r6, [r3, #-28] - 12c40: f804 6c1c strb.w r6, [r4, #-28] - 12c44: f813 6c1b ldrb.w r6, [r3, #-27] - 12c48: f804 6c1b strb.w r6, [r4, #-27] - 12c4c: f813 6c1a ldrb.w r6, [r3, #-26] - 12c50: f804 6c1a strb.w r6, [r4, #-26] - 12c54: f813 6c19 ldrb.w r6, [r3, #-25] - 12c58: f804 6c19 strb.w r6, [r4, #-25] + 12674: f813 6c20 ldrb.w r6, [r3, #-32] + 12678: f804 6c20 strb.w r6, [r4, #-32] + 1267c: f813 6c1f ldrb.w r6, [r3, #-31] + 12680: f804 6c1f strb.w r6, [r4, #-31] + 12684: f813 6c1e ldrb.w r6, [r3, #-30] + 12688: f804 6c1e strb.w r6, [r4, #-30] + 1268c: f813 6c1d ldrb.w r6, [r3, #-29] + 12690: f804 6c1d strb.w r6, [r4, #-29] + 12694: f813 6c1c ldrb.w r6, [r3, #-28] + 12698: f804 6c1c strb.w r6, [r4, #-28] + 1269c: f813 6c1b ldrb.w r6, [r3, #-27] + 126a0: f804 6c1b strb.w r6, [r4, #-27] + 126a4: f813 6c1a ldrb.w r6, [r3, #-26] + 126a8: f804 6c1a strb.w r6, [r4, #-26] + 126ac: f813 6c19 ldrb.w r6, [r3, #-25] + 126b0: f804 6c19 strb.w r6, [r4, #-25] REPEAT8(COPY8); - 12c5c: f813 6c18 ldrb.w r6, [r3, #-24] - 12c60: f804 6c18 strb.w r6, [r4, #-24] - 12c64: f813 6c17 ldrb.w r6, [r3, #-23] - 12c68: f804 6c17 strb.w r6, [r4, #-23] - 12c6c: f813 6c16 ldrb.w r6, [r3, #-22] - 12c70: f804 6c16 strb.w r6, [r4, #-22] - 12c74: f813 6c15 ldrb.w r6, [r3, #-21] - 12c78: f804 6c15 strb.w r6, [r4, #-21] - 12c7c: f813 6c14 ldrb.w r6, [r3, #-20] - 12c80: f804 6c14 strb.w r6, [r4, #-20] - 12c84: f813 6c13 ldrb.w r6, [r3, #-19] - 12c88: f804 6c13 strb.w r6, [r4, #-19] - 12c8c: f813 6c12 ldrb.w r6, [r3, #-18] - 12c90: f804 6c12 strb.w r6, [r4, #-18] - 12c94: f813 6c11 ldrb.w r6, [r3, #-17] - 12c98: f804 6c11 strb.w r6, [r4, #-17] + 126b4: f813 6c18 ldrb.w r6, [r3, #-24] + 126b8: f804 6c18 strb.w r6, [r4, #-24] + 126bc: f813 6c17 ldrb.w r6, [r3, #-23] + 126c0: f804 6c17 strb.w r6, [r4, #-23] + 126c4: f813 6c16 ldrb.w r6, [r3, #-22] + 126c8: f804 6c16 strb.w r6, [r4, #-22] + 126cc: f813 6c15 ldrb.w r6, [r3, #-21] + 126d0: f804 6c15 strb.w r6, [r4, #-21] + 126d4: f813 6c14 ldrb.w r6, [r3, #-20] + 126d8: f804 6c14 strb.w r6, [r4, #-20] + 126dc: f813 6c13 ldrb.w r6, [r3, #-19] + 126e0: f804 6c13 strb.w r6, [r4, #-19] + 126e4: f813 6c12 ldrb.w r6, [r3, #-18] + 126e8: f804 6c12 strb.w r6, [r4, #-18] + 126ec: f813 6c11 ldrb.w r6, [r3, #-17] + 126f0: f804 6c11 strb.w r6, [r4, #-17] REPEAT8(COPY8); - 12c9c: f813 6c10 ldrb.w r6, [r3, #-16] - 12ca0: f804 6c10 strb.w r6, [r4, #-16] - 12ca4: f813 6c0f ldrb.w r6, [r3, #-15] - 12ca8: f804 6c0f strb.w r6, [r4, #-15] - 12cac: f813 6c0e ldrb.w r6, [r3, #-14] - 12cb0: f804 6c0e strb.w r6, [r4, #-14] - 12cb4: f813 6c0d ldrb.w r6, [r3, #-13] - 12cb8: f804 6c0d strb.w r6, [r4, #-13] - 12cbc: f813 6c0c ldrb.w r6, [r3, #-12] - 12cc0: f804 6c0c strb.w r6, [r4, #-12] - 12cc4: f813 6c0b ldrb.w r6, [r3, #-11] - 12cc8: f804 6c0b strb.w r6, [r4, #-11] - 12ccc: f813 6c0a ldrb.w r6, [r3, #-10] - 12cd0: f804 6c0a strb.w r6, [r4, #-10] - 12cd4: f813 6c09 ldrb.w r6, [r3, #-9] - 12cd8: f804 6c09 strb.w r6, [r4, #-9] + 126f4: f813 6c10 ldrb.w r6, [r3, #-16] + 126f8: f804 6c10 strb.w r6, [r4, #-16] + 126fc: f813 6c0f ldrb.w r6, [r3, #-15] + 12700: f804 6c0f strb.w r6, [r4, #-15] + 12704: f813 6c0e ldrb.w r6, [r3, #-14] + 12708: f804 6c0e strb.w r6, [r4, #-14] + 1270c: f813 6c0d ldrb.w r6, [r3, #-13] + 12710: f804 6c0d strb.w r6, [r4, #-13] + 12714: f813 6c0c ldrb.w r6, [r3, #-12] + 12718: f804 6c0c strb.w r6, [r4, #-12] + 1271c: f813 6c0b ldrb.w r6, [r3, #-11] + 12720: f804 6c0b strb.w r6, [r4, #-11] + 12724: f813 6c0a ldrb.w r6, [r3, #-10] + 12728: f804 6c0a strb.w r6, [r4, #-10] + 1272c: f813 6c09 ldrb.w r6, [r3, #-9] + 12730: f804 6c09 strb.w r6, [r4, #-9] REPEAT8(COPY8); - 12cdc: f813 6c08 ldrb.w r6, [r3, #-8] - 12ce0: f804 6c08 strb.w r6, [r4, #-8] - 12ce4: f813 6c07 ldrb.w r6, [r3, #-7] - 12ce8: f804 6c07 strb.w r6, [r4, #-7] - 12cec: f813 6c06 ldrb.w r6, [r3, #-6] - 12cf0: f804 6c06 strb.w r6, [r4, #-6] - 12cf4: f813 6c05 ldrb.w r6, [r3, #-5] - 12cf8: f804 6c05 strb.w r6, [r4, #-5] - 12cfc: f813 6c04 ldrb.w r6, [r3, #-4] - 12d00: f804 6c04 strb.w r6, [r4, #-4] - 12d04: f813 6c03 ldrb.w r6, [r3, #-3] - 12d08: f804 6c03 strb.w r6, [r4, #-3] - 12d0c: f813 6c02 ldrb.w r6, [r3, #-2] - 12d10: f804 6c02 strb.w r6, [r4, #-2] - 12d14: f813 6c01 ldrb.w r6, [r3, #-1] - 12d18: f804 6c01 strb.w r6, [r4, #-1] + 12734: f813 6c08 ldrb.w r6, [r3, #-8] + 12738: f804 6c08 strb.w r6, [r4, #-8] + 1273c: f813 6c07 ldrb.w r6, [r3, #-7] + 12740: f804 6c07 strb.w r6, [r4, #-7] + 12744: f813 6c06 ldrb.w r6, [r3, #-6] + 12748: f804 6c06 strb.w r6, [r4, #-6] + 1274c: f813 6c05 ldrb.w r6, [r3, #-5] + 12750: f804 6c05 strb.w r6, [r4, #-5] + 12754: f813 6c04 ldrb.w r6, [r3, #-4] + 12758: f804 6c04 strb.w r6, [r4, #-4] + 1275c: f813 6c03 ldrb.w r6, [r3, #-3] + 12760: f804 6c03 strb.w r6, [r4, #-3] + 12764: f813 6c02 ldrb.w r6, [r3, #-2] + 12768: f804 6c02 strb.w r6, [r4, #-2] + 1276c: f813 6c01 ldrb.w r6, [r3, #-1] + 12770: f804 6c01 strb.w r6, [r4, #-1] len -= 32; - 12d1c: 3d20 subs r5, #32 - 12d1e: 3420 adds r4, #32 - 12d20: 3320 adds r3, #32 + 12774: 3d20 subs r5, #32 + 12776: 3420 adds r4, #32 + 12778: 3320 adds r3, #32 while(len > 32) { - 12d22: 2d20 cmp r5, #32 - 12d24: f63f af7a bhi.w 12c1c <_lv_memcpy+0x20> - 12d28: f1a2 0521 sub.w r5, r2, #33 ; 0x21 - 12d2c: f025 041f bic.w r4, r5, #31 - 12d30: 3420 adds r4, #32 - 12d32: 1903 adds r3, r0, r4 - 12d34: 4421 add r1, r4 - 12d36: 3a20 subs r2, #32 - 12d38: f025 051f bic.w r5, r5, #31 - 12d3c: 1b52 subs r2, r2, r5 + 1277a: 2d20 cmp r5, #32 + 1277c: f63f af7a bhi.w 12674 <_lv_memcpy+0x20> + 12780: f1a2 0521 sub.w r5, r2, #33 ; 0x21 + 12784: f025 041f bic.w r4, r5, #31 + 12788: 3420 adds r4, #32 + 1278a: 1903 adds r3, r0, r4 + 1278c: 4421 add r1, r4 + 1278e: 3a20 subs r2, #32 + 12790: f025 051f bic.w r5, r5, #31 + 12794: 1b52 subs r2, r2, r5 while(len) { - 12d3e: b13a cbz r2, 12d50 <_lv_memcpy+0x154> - 12d40: 3901 subs r1, #1 - 12d42: 441a add r2, r3 + 12796: b13a cbz r2, 127a8 <_lv_memcpy+0x154> + 12798: 3901 subs r1, #1 + 1279a: 441a add r2, r3 COPY8 - 12d44: f811 4f01 ldrb.w r4, [r1, #1]! - 12d48: f803 4b01 strb.w r4, [r3], #1 + 1279c: f811 4f01 ldrb.w r4, [r1, #1]! + 127a0: f803 4b01 strb.w r4, [r3], #1 while(len) { - 12d4c: 429a cmp r2, r3 - 12d4e: d1f9 bne.n 12d44 <_lv_memcpy+0x148> + 127a4: 429a cmp r2, r3 + 127a6: d1f9 bne.n 1279c <_lv_memcpy+0x148> } - 12d50: bcf0 pop {r4, r5, r6, r7} - 12d52: 4770 bx lr + 127a8: bcf0 pop {r4, r5, r6, r7} + 127aa: 4770 bx lr while(len > 32) { - 12d54: 4603 mov r3, r0 - 12d56: e7f2 b.n 12d3e <_lv_memcpy+0x142> + 127ac: 4603 mov r3, r0 + 127ae: e7f2 b.n 12796 <_lv_memcpy+0x142> if(d_align) { - 12d58: 2b00 cmp r3, #0 - 12d5a: d15b bne.n 12e14 <_lv_memcpy+0x218> + 127b0: 2b00 cmp r3, #0 + 127b2: d15b bne.n 1286c <_lv_memcpy+0x218> uint8_t * d8 = dst; - 12d5c: 4605 mov r5, r0 + 127b4: 4605 mov r5, r0 while(len > 32) { - 12d5e: 2a20 cmp r2, #32 - 12d60: d934 bls.n 12dcc <_lv_memcpy+0x1d0> - 12d62: f105 0420 add.w r4, r5, #32 - 12d66: f101 0320 add.w r3, r1, #32 - 12d6a: 4616 mov r6, r2 + 127b6: 2a20 cmp r2, #32 + 127b8: d934 bls.n 12824 <_lv_memcpy+0x1d0> + 127ba: f105 0420 add.w r4, r5, #32 + 127be: f101 0320 add.w r3, r1, #32 + 127c2: 4616 mov r6, r2 REPEAT8(COPY32) - 12d6c: f853 7c20 ldr.w r7, [r3, #-32] - 12d70: f844 7c20 str.w r7, [r4, #-32] - 12d74: f853 7c1c ldr.w r7, [r3, #-28] - 12d78: f844 7c1c str.w r7, [r4, #-28] - 12d7c: f853 7c18 ldr.w r7, [r3, #-24] - 12d80: f844 7c18 str.w r7, [r4, #-24] - 12d84: f853 7c14 ldr.w r7, [r3, #-20] - 12d88: f844 7c14 str.w r7, [r4, #-20] - 12d8c: f853 7c10 ldr.w r7, [r3, #-16] - 12d90: f844 7c10 str.w r7, [r4, #-16] - 12d94: f853 7c0c ldr.w r7, [r3, #-12] - 12d98: f844 7c0c str.w r7, [r4, #-12] - 12d9c: f853 7c08 ldr.w r7, [r3, #-8] - 12da0: f844 7c08 str.w r7, [r4, #-8] - 12da4: f853 7c04 ldr.w r7, [r3, #-4] - 12da8: f844 7c04 str.w r7, [r4, #-4] + 127c4: f853 7c20 ldr.w r7, [r3, #-32] + 127c8: f844 7c20 str.w r7, [r4, #-32] + 127cc: f853 7c1c ldr.w r7, [r3, #-28] + 127d0: f844 7c1c str.w r7, [r4, #-28] + 127d4: f853 7c18 ldr.w r7, [r3, #-24] + 127d8: f844 7c18 str.w r7, [r4, #-24] + 127dc: f853 7c14 ldr.w r7, [r3, #-20] + 127e0: f844 7c14 str.w r7, [r4, #-20] + 127e4: f853 7c10 ldr.w r7, [r3, #-16] + 127e8: f844 7c10 str.w r7, [r4, #-16] + 127ec: f853 7c0c ldr.w r7, [r3, #-12] + 127f0: f844 7c0c str.w r7, [r4, #-12] + 127f4: f853 7c08 ldr.w r7, [r3, #-8] + 127f8: f844 7c08 str.w r7, [r4, #-8] + 127fc: f853 7c04 ldr.w r7, [r3, #-4] + 12800: f844 7c04 str.w r7, [r4, #-4] len -= 32; - 12dac: 3e20 subs r6, #32 - 12dae: 3420 adds r4, #32 - 12db0: 3320 adds r3, #32 + 12804: 3e20 subs r6, #32 + 12806: 3420 adds r4, #32 + 12808: 3320 adds r3, #32 while(len > 32) { - 12db2: 2e20 cmp r6, #32 - 12db4: d8da bhi.n 12d6c <_lv_memcpy+0x170> - 12db6: f1a2 0321 sub.w r3, r2, #33 ; 0x21 - 12dba: f023 041f bic.w r4, r3, #31 - 12dbe: 3420 adds r4, #32 - 12dc0: 4425 add r5, r4 - 12dc2: 4421 add r1, r4 - 12dc4: 3a20 subs r2, #32 - 12dc6: f023 031f bic.w r3, r3, #31 - 12dca: 1ad2 subs r2, r2, r3 + 1280a: 2e20 cmp r6, #32 + 1280c: d8da bhi.n 127c4 <_lv_memcpy+0x170> + 1280e: f1a2 0321 sub.w r3, r2, #33 ; 0x21 + 12812: f023 041f bic.w r4, r3, #31 + 12816: 3420 adds r4, #32 + 12818: 4425 add r5, r4 + 1281a: 4421 add r1, r4 + 1281c: 3a20 subs r2, #32 + 1281e: f023 031f bic.w r3, r3, #31 + 12822: 1ad2 subs r2, r2, r3 while(len > 4) { - 12dcc: 2a04 cmp r2, #4 - 12dce: d932 bls.n 12e36 <_lv_memcpy+0x23a> - 12dd0: 1f0e subs r6, r1, #4 - 12dd2: 462c mov r4, r5 - 12dd4: 4613 mov r3, r2 + 12824: 2a04 cmp r2, #4 + 12826: d932 bls.n 1288e <_lv_memcpy+0x23a> + 12828: 1f0e subs r6, r1, #4 + 1282a: 462c mov r4, r5 + 1282c: 4613 mov r3, r2 COPY32; - 12dd6: f856 7f04 ldr.w r7, [r6, #4]! - 12dda: f844 7b04 str.w r7, [r4], #4 + 1282e: f856 7f04 ldr.w r7, [r6, #4]! + 12832: f844 7b04 str.w r7, [r4], #4 len -= 4; - 12dde: 3b04 subs r3, #4 + 12836: 3b04 subs r3, #4 while(len > 4) { - 12de0: 2b04 cmp r3, #4 - 12de2: d8f8 bhi.n 12dd6 <_lv_memcpy+0x1da> - 12de4: 1f54 subs r4, r2, #5 - 12de6: f024 0303 bic.w r3, r4, #3 - 12dea: 3304 adds r3, #4 - 12dec: 3a04 subs r2, #4 - 12dee: f024 0403 bic.w r4, r4, #3 - 12df2: 1b12 subs r2, r2, r4 + 12838: 2b04 cmp r3, #4 + 1283a: d8f8 bhi.n 1282e <_lv_memcpy+0x1da> + 1283c: 1f54 subs r4, r2, #5 + 1283e: f024 0303 bic.w r3, r4, #3 + 12842: 3304 adds r3, #4 + 12844: 3a04 subs r2, #4 + 12846: f024 0403 bic.w r4, r4, #3 + 1284a: 1b12 subs r2, r2, r4 COPY32; - 12df4: 4419 add r1, r3 - 12df6: 442b add r3, r5 + 1284c: 4419 add r1, r3 + 1284e: 442b add r3, r5 while(len) { - 12df8: 2a00 cmp r2, #0 - 12dfa: d0a9 beq.n 12d50 <_lv_memcpy+0x154> - 12dfc: 3901 subs r1, #1 - 12dfe: 441a add r2, r3 + 12850: 2a00 cmp r2, #0 + 12852: d0a9 beq.n 127a8 <_lv_memcpy+0x154> + 12854: 3901 subs r1, #1 + 12856: 441a add r2, r3 COPY8 - 12e00: f811 4f01 ldrb.w r4, [r1, #1]! - 12e04: f803 4b01 strb.w r4, [r3], #1 + 12858: f811 4f01 ldrb.w r4, [r1, #1]! + 1285c: f803 4b01 strb.w r4, [r3], #1 while(len) { - 12e08: 4293 cmp r3, r2 - 12e0a: d1f9 bne.n 12e00 <_lv_memcpy+0x204> - 12e0c: e7a0 b.n 12d50 <_lv_memcpy+0x154> + 12860: 4293 cmp r3, r2 + 12862: d1f9 bne.n 12858 <_lv_memcpy+0x204> + 12864: e7a0 b.n 127a8 <_lv_memcpy+0x154> COPY8; - 12e0e: 4629 mov r1, r5 - 12e10: 461d mov r5, r3 - 12e12: e7a4 b.n 12d5e <_lv_memcpy+0x162> + 12866: 4629 mov r1, r5 + 12868: 461d mov r5, r3 + 1286a: e7a4 b.n 127b6 <_lv_memcpy+0x162> while(d_align && len) { - 12e14: f1c3 0304 rsb r3, r3, #4 - 12e18: b17a cbz r2, 12e3a <_lv_memcpy+0x23e> - 12e1a: 18c4 adds r4, r0, r3 - 12e1c: 4603 mov r3, r0 + 1286c: f1c3 0304 rsb r3, r3, #4 + 12870: b17a cbz r2, 12892 <_lv_memcpy+0x23e> + 12872: 18c4 adds r4, r0, r3 + 12874: 4603 mov r3, r0 COPY8; - 12e1e: f811 5b01 ldrb.w r5, [r1], #1 - 12e22: f803 5b01 strb.w r5, [r3], #1 - 12e26: 460d mov r5, r1 + 12876: f811 5b01 ldrb.w r5, [r1], #1 + 1287a: f803 5b01 strb.w r5, [r3], #1 + 1287e: 460d mov r5, r1 len--; - 12e28: 3a01 subs r2, #1 + 12880: 3a01 subs r2, #1 while(d_align && len) { - 12e2a: 42a3 cmp r3, r4 - 12e2c: d0ef beq.n 12e0e <_lv_memcpy+0x212> - 12e2e: 2a00 cmp r2, #0 - 12e30: d1f5 bne.n 12e1e <_lv_memcpy+0x222> + 12882: 42a3 cmp r3, r4 + 12884: d0ef beq.n 12866 <_lv_memcpy+0x212> + 12886: 2a00 cmp r2, #0 + 12888: d1f5 bne.n 12876 <_lv_memcpy+0x222> while(len > 4) { - 12e32: 2200 movs r2, #0 - 12e34: e7e0 b.n 12df8 <_lv_memcpy+0x1fc> - 12e36: 462b mov r3, r5 - 12e38: e7de b.n 12df8 <_lv_memcpy+0x1fc> + 1288a: 2200 movs r2, #0 + 1288c: e7e0 b.n 12850 <_lv_memcpy+0x1fc> + 1288e: 462b mov r3, r5 + 12890: e7de b.n 12850 <_lv_memcpy+0x1fc> uint8_t * d8 = dst; - 12e3a: 4603 mov r3, r0 - 12e3c: e7f9 b.n 12e32 <_lv_memcpy+0x236> + 12892: 4603 mov r3, r0 + 12894: e7f9 b.n 1288a <_lv_memcpy+0x236> ... -00012e40 : +00012898 : { - 12e40: b5f0 push {r4, r5, r6, r7, lr} - 12e42: b083 sub sp, #12 - 12e44: 4604 mov r4, r0 - 12e46: 460d mov r5, r1 + 12898: b5f0 push {r4, r5, r6, r7, lr} + 1289a: b083 sub sp, #12 + 1289c: 4604 mov r4, r0 + 1289e: 460d mov r5, r1 if(new_size & 0x3) { - 12e48: f011 0f03 tst.w r1, #3 + 128a0: f011 0f03 tst.w r1, #3 new_size = new_size & (~0x3); - 12e4c: bf1c itt ne - 12e4e: f021 0503 bicne.w r5, r1, #3 + 128a4: bf1c itt ne + 128a6: f021 0503 bicne.w r5, r1, #3 new_size += 4; - 12e52: 3504 addne r5, #4 + 128aa: 3504 addne r5, #4 if(data_p != NULL) { - 12e54: b138 cbz r0, 12e66 + 128ac: b138 cbz r0, 128be if(e->header.s.used == 0) { - 12e56: f810 3c04 ldrb.w r3, [r0, #-4] - 12e5a: f003 0301 and.w r3, r3, #1 + 128ae: f810 3c04 ldrb.w r3, [r0, #-4] + 128b2: f003 0301 and.w r3, r3, #1 data_p = NULL; - 12e5e: 2b00 cmp r3, #0 - 12e60: bf14 ite ne - 12e62: 4604 movne r4, r0 - 12e64: 2400 moveq r4, #0 + 128b6: 2b00 cmp r3, #0 + 128b8: bf14 ite ne + 128ba: 4604 movne r4, r0 + 128bc: 2400 moveq r4, #0 uint32_t old_size = _lv_mem_get_size(data_p); - 12e66: 4620 mov r0, r4 - 12e68: 4b15 ldr r3, [pc, #84] ; (12ec0 ) - 12e6a: 4798 blx r3 - 12e6c: 4606 mov r6, r0 + 128be: 4620 mov r0, r4 + 128c0: 4b15 ldr r3, [pc, #84] ; (12918 ) + 128c2: 4798 blx r3 + 128c4: 4606 mov r6, r0 if(old_size == new_size) return data_p; /*Also avoid reallocating the same memory*/ - 12e6e: 4285 cmp r5, r0 - 12e70: d024 beq.n 12ebc + 128c6: 4285 cmp r5, r0 + 128c8: d024 beq.n 12914 if(new_size < old_size) { - 12e72: d311 bcc.n 12e98 + 128ca: d311 bcc.n 128f0 new_p = lv_mem_alloc(new_size); - 12e74: 4628 mov r0, r5 - 12e76: 4b13 ldr r3, [pc, #76] ; (12ec4 ) - 12e78: 4798 blx r3 + 128cc: 4628 mov r0, r5 + 128ce: 4b13 ldr r3, [pc, #76] ; (1291c ) + 128d0: 4798 blx r3 if(new_p == NULL) { - 12e7a: 4607 mov r7, r0 - 12e7c: b1a0 cbz r0, 12ea8 + 128d2: 4607 mov r7, r0 + 128d4: b1a0 cbz r0, 12900 if(data_p != NULL) { - 12e7e: b184 cbz r4, 12ea2 + 128d6: b184 cbz r4, 128fa if(old_size != 0) { - 12e80: b17e cbz r6, 12ea2 + 128d8: b17e cbz r6, 128fa _lv_memcpy(new_p, data_p, LV_MATH_MIN(new_size, old_size)); - 12e82: 462a mov r2, r5 - 12e84: 42b5 cmp r5, r6 - 12e86: bf28 it cs - 12e88: 4632 movcs r2, r6 - 12e8a: 4621 mov r1, r4 - 12e8c: 4b0e ldr r3, [pc, #56] ; (12ec8 ) - 12e8e: 4798 blx r3 + 128da: 462a mov r2, r5 + 128dc: 42b5 cmp r5, r6 + 128de: bf28 it cs + 128e0: 4632 movcs r2, r6 + 128e2: 4621 mov r1, r4 + 128e4: 4b0e ldr r3, [pc, #56] ; (12920 ) + 128e6: 4798 blx r3 lv_mem_free(data_p); - 12e90: 4620 mov r0, r4 - 12e92: 4b0e ldr r3, [pc, #56] ; (12ecc ) - 12e94: 4798 blx r3 - 12e96: e004 b.n 12ea2 + 128e8: 4620 mov r0, r4 + 128ea: 4b0e ldr r3, [pc, #56] ; (12924 ) + 128ec: 4798 blx r3 + 128ee: e004 b.n 128fa ent_trunc(e, new_size); - 12e98: 4629 mov r1, r5 - 12e9a: 1f20 subs r0, r4, #4 - 12e9c: 4b0c ldr r3, [pc, #48] ; (12ed0 ) - 12e9e: 4798 blx r3 + 128f0: 4629 mov r1, r5 + 128f2: 1f20 subs r0, r4, #4 + 128f4: 4b0c ldr r3, [pc, #48] ; (12928 ) + 128f6: 4798 blx r3 return &e->first_data; - 12ea0: 4627 mov r7, r4 + 128f8: 4627 mov r7, r4 } - 12ea2: 4638 mov r0, r7 - 12ea4: b003 add sp, #12 - 12ea6: bdf0 pop {r4, r5, r6, r7, pc} + 128fa: 4638 mov r0, r7 + 128fc: b003 add sp, #12 + 128fe: bdf0 pop {r4, r5, r6, r7, pc} LV_LOG_WARN("Couldn't allocate memory"); - 12ea8: 4b0a ldr r3, [pc, #40] ; (12ed4 ) - 12eaa: 9300 str r3, [sp, #0] - 12eac: 4b0a ldr r3, [pc, #40] ; (12ed8 ) - 12eae: f240 123f movw r2, #319 ; 0x13f - 12eb2: 490a ldr r1, [pc, #40] ; (12edc ) - 12eb4: 2002 movs r0, #2 - 12eb6: 4c0a ldr r4, [pc, #40] ; (12ee0 ) - 12eb8: 47a0 blx r4 + 12900: 4b0a ldr r3, [pc, #40] ; (1292c ) + 12902: 9300 str r3, [sp, #0] + 12904: 4b0a ldr r3, [pc, #40] ; (12930 ) + 12906: f240 123f movw r2, #319 ; 0x13f + 1290a: 490a ldr r1, [pc, #40] ; (12934 ) + 1290c: 2002 movs r0, #2 + 1290e: 4c0a ldr r4, [pc, #40] ; (12938 ) + 12910: 47a0 blx r4 return NULL; - 12eba: e7f2 b.n 12ea2 + 12912: e7f2 b.n 128fa if(old_size == new_size) return data_p; /*Also avoid reallocating the same memory*/ - 12ebc: 4627 mov r7, r4 - 12ebe: e7f0 b.n 12ea2 - 12ec0: 00012af9 .word 0x00012af9 - 12ec4: 00012985 .word 0x00012985 - 12ec8: 00012bfd .word 0x00012bfd - 12ecc: 00012a6d .word 0x00012a6d - 12ed0: 00012911 .word 0x00012911 - 12ed4: 000208a4 .word 0x000208a4 - 12ed8: 0002085c .word 0x0002085c - 12edc: 0002087c .word 0x0002087c - 12ee0: 00012805 .word 0x00012805 - -00012ee4 <_lv_mem_buf_get>: + 12914: 4627 mov r7, r4 + 12916: e7f0 b.n 128fa + 12918: 00012551 .word 0x00012551 + 1291c: 000123dd .word 0x000123dd + 12920: 00012655 .word 0x00012655 + 12924: 000124c5 .word 0x000124c5 + 12928: 00012369 .word 0x00012369 + 1292c: 000293c0 .word 0x000293c0 + 12930: 00029378 .word 0x00029378 + 12934: 00029398 .word 0x00029398 + 12938: 0001225d .word 0x0001225d + +0001293c <_lv_mem_buf_get>: if(size == 0) return NULL; - 12ee4: 2800 cmp r0, #0 - 12ee6: f000 808d beq.w 13004 <_lv_mem_buf_get+0x120> - 12eea: 4601 mov r1, r0 + 1293c: 2800 cmp r0, #0 + 1293e: f000 808d beq.w 12a5c <_lv_mem_buf_get+0x120> + 12942: 4601 mov r1, r0 if(size <= MEM_BUF_SMALL_SIZE) { - 12eec: 2810 cmp r0, #16 - 12eee: d80b bhi.n 12f08 <_lv_mem_buf_get+0x24> + 12944: 2810 cmp r0, #16 + 12946: d80b bhi.n 12960 <_lv_mem_buf_get+0x24> if(mem_buf_small[i].used == 0) { - 12ef0: 4b45 ldr r3, [pc, #276] ; (13008 <_lv_mem_buf_get+0x124>) - 12ef2: 799b ldrb r3, [r3, #6] - 12ef4: f013 0f01 tst.w r3, #1 - 12ef8: d00e beq.n 12f18 <_lv_mem_buf_get+0x34> - 12efa: 4b43 ldr r3, [pc, #268] ; (13008 <_lv_mem_buf_get+0x124>) - 12efc: 7b9b ldrb r3, [r3, #14] - 12efe: f013 0f01 tst.w r3, #1 - 12f02: bf08 it eq - 12f04: 2001 moveq r0, #1 - 12f06: d008 beq.n 12f1a <_lv_mem_buf_get+0x36> -{ - 12f08: b570 push {r4, r5, r6, lr} - 12f0a: b082 sub sp, #8 - 12f0c: 4a3f ldr r2, [pc, #252] ; (1300c <_lv_mem_buf_get+0x128>) + 12948: 4b45 ldr r3, [pc, #276] ; (12a60 <_lv_mem_buf_get+0x124>) + 1294a: 799b ldrb r3, [r3, #6] + 1294c: f013 0f01 tst.w r3, #1 + 12950: d00e beq.n 12970 <_lv_mem_buf_get+0x34> + 12952: 4b43 ldr r3, [pc, #268] ; (12a60 <_lv_mem_buf_get+0x124>) + 12954: 7b9b ldrb r3, [r3, #14] + 12956: f013 0f01 tst.w r3, #1 + 1295a: bf08 it eq + 1295c: 2001 moveq r0, #1 + 1295e: d008 beq.n 12972 <_lv_mem_buf_get+0x36> +{ + 12960: b570 push {r4, r5, r6, lr} + 12962: b082 sub sp, #8 + 12964: 4a3f ldr r2, [pc, #252] ; (12a64 <_lv_mem_buf_get+0x128>) if(mem_buf_small[i].used == 0) { - 12f0e: 2300 movs r3, #0 - 12f10: f04f 36ff mov.w r6, #4294967295 + 12966: 2300 movs r3, #0 + 12968: f04f 36ff mov.w r6, #4294967295 if(LV_GC_ROOT(_lv_mem_buf[i]).used == 0 && LV_GC_ROOT(_lv_mem_buf[i]).size >= size) { - 12f14: 4614 mov r4, r2 - 12f16: e019 b.n 12f4c <_lv_mem_buf_get+0x68> + 1296c: 4614 mov r4, r2 + 1296e: e019 b.n 129a4 <_lv_mem_buf_get+0x68> if(mem_buf_small[i].used == 0) { - 12f18: 2000 movs r0, #0 + 12970: 2000 movs r0, #0 mem_buf_small[i].used = 1; - 12f1a: 4a3b ldr r2, [pc, #236] ; (13008 <_lv_mem_buf_get+0x124>) - 12f1c: eb02 01c0 add.w r1, r2, r0, lsl #3 - 12f20: 798b ldrb r3, [r1, #6] - 12f22: f043 0301 orr.w r3, r3, #1 - 12f26: 718b strb r3, [r1, #6] + 12972: 4a3b ldr r2, [pc, #236] ; (12a60 <_lv_mem_buf_get+0x124>) + 12974: eb02 01c0 add.w r1, r2, r0, lsl #3 + 12978: 798b ldrb r3, [r1, #6] + 1297a: f043 0301 orr.w r3, r3, #1 + 1297e: 718b strb r3, [r1, #6] return mem_buf_small[i].p; - 12f28: f852 0030 ldr.w r0, [r2, r0, lsl #3] - 12f2c: 4770 bx lr + 12980: f852 0030 ldr.w r0, [r2, r0, lsl #3] + 12984: 4770 bx lr LV_GC_ROOT(_lv_mem_buf[i]).used = 1; - 12f2e: 4a37 ldr r2, [pc, #220] ; (1300c <_lv_mem_buf_get+0x128>) - 12f30: eb02 01c3 add.w r1, r2, r3, lsl #3 - 12f34: 798b ldrb r3, [r1, #6] - 12f36: f043 0301 orr.w r3, r3, #1 - 12f3a: 718b strb r3, [r1, #6] + 12986: 4a37 ldr r2, [pc, #220] ; (12a64 <_lv_mem_buf_get+0x128>) + 12988: eb02 01c3 add.w r1, r2, r3, lsl #3 + 1298c: 798b ldrb r3, [r1, #6] + 1298e: f043 0301 orr.w r3, r3, #1 + 12992: 718b strb r3, [r1, #6] return LV_GC_ROOT(_lv_mem_buf[i]).p; - 12f3c: f852 0035 ldr.w r0, [r2, r5, lsl #3] - 12f40: e023 b.n 12f8a <_lv_mem_buf_get+0xa6> + 12994: f852 0035 ldr.w r0, [r2, r5, lsl #3] + 12998: e023 b.n 129e2 <_lv_mem_buf_get+0xa6> i_guess = i; - 12f42: b25e sxtb r6, r3 - 12f44: 3301 adds r3, #1 - 12f46: 3208 adds r2, #8 + 1299a: b25e sxtb r6, r3 + 1299c: 3301 adds r3, #1 + 1299e: 3208 adds r2, #8 for(i = 0; i < LV_MEM_BUF_MAX_NUM; i++) { - 12f48: 2b10 cmp r3, #16 - 12f4a: d013 beq.n 12f74 <_lv_mem_buf_get+0x90> + 129a0: 2b10 cmp r3, #16 + 129a2: d013 beq.n 129cc <_lv_mem_buf_get+0x90> if(LV_GC_ROOT(_lv_mem_buf[i]).used == 0 && LV_GC_ROOT(_lv_mem_buf[i]).size >= size) { - 12f4c: 461d mov r5, r3 - 12f4e: eb04 00c3 add.w r0, r4, r3, lsl #3 - 12f52: 7980 ldrb r0, [r0, #6] - 12f54: f010 0f01 tst.w r0, #1 - 12f58: d1f4 bne.n 12f44 <_lv_mem_buf_get+0x60> - 12f5a: 8890 ldrh r0, [r2, #4] - 12f5c: 4281 cmp r1, r0 - 12f5e: d8f1 bhi.n 12f44 <_lv_mem_buf_get+0x60> + 129a4: 461d mov r5, r3 + 129a6: eb04 00c3 add.w r0, r4, r3, lsl #3 + 129aa: 7980 ldrb r0, [r0, #6] + 129ac: f010 0f01 tst.w r0, #1 + 129b0: d1f4 bne.n 1299c <_lv_mem_buf_get+0x60> + 129b2: 8890 ldrh r0, [r2, #4] + 129b4: 4281 cmp r1, r0 + 129b6: d8f1 bhi.n 1299c <_lv_mem_buf_get+0x60> if(LV_GC_ROOT(_lv_mem_buf[i]).size == size) { - 12f60: d0e5 beq.n 12f2e <_lv_mem_buf_get+0x4a> + 129b8: d0e5 beq.n 12986 <_lv_mem_buf_get+0x4a> else if(i_guess < 0) { - 12f62: 2e00 cmp r6, #0 - 12f64: dbed blt.n 12f42 <_lv_mem_buf_get+0x5e> + 129ba: 2e00 cmp r6, #0 + 129bc: dbed blt.n 1299a <_lv_mem_buf_get+0x5e> else if(LV_GC_ROOT(_lv_mem_buf[i]).size < LV_GC_ROOT(_lv_mem_buf[i_guess]).size) { - 12f66: eb04 05c6 add.w r5, r4, r6, lsl #3 - 12f6a: 88ad ldrh r5, [r5, #4] - 12f6c: 4285 cmp r5, r0 + 129be: eb04 05c6 add.w r5, r4, r6, lsl #3 + 129c2: 88ad ldrh r5, [r5, #4] + 129c4: 4285 cmp r5, r0 i_guess = i; - 12f6e: bf88 it hi - 12f70: b25e sxtbhi r6, r3 - 12f72: e7e7 b.n 12f44 <_lv_mem_buf_get+0x60> + 129c6: bf88 it hi + 129c8: b25e sxtbhi r6, r3 + 129ca: e7e7 b.n 1299c <_lv_mem_buf_get+0x60> if(i_guess >= 0) { - 12f74: 2e00 cmp r6, #0 - 12f76: db0a blt.n 12f8e <_lv_mem_buf_get+0xaa> + 129cc: 2e00 cmp r6, #0 + 129ce: db0a blt.n 129e6 <_lv_mem_buf_get+0xaa> LV_GC_ROOT(_lv_mem_buf[i_guess]).used = 1; - 12f78: 4a24 ldr r2, [pc, #144] ; (1300c <_lv_mem_buf_get+0x128>) - 12f7a: eb02 01c6 add.w r1, r2, r6, lsl #3 - 12f7e: 798b ldrb r3, [r1, #6] - 12f80: f043 0301 orr.w r3, r3, #1 - 12f84: 718b strb r3, [r1, #6] + 129d0: 4a24 ldr r2, [pc, #144] ; (12a64 <_lv_mem_buf_get+0x128>) + 129d2: eb02 01c6 add.w r1, r2, r6, lsl #3 + 129d6: 798b ldrb r3, [r1, #6] + 129d8: f043 0301 orr.w r3, r3, #1 + 129dc: 718b strb r3, [r1, #6] return LV_GC_ROOT(_lv_mem_buf[i_guess]).p; - 12f86: f852 0036 ldr.w r0, [r2, r6, lsl #3] + 129de: f852 0036 ldr.w r0, [r2, r6, lsl #3] } - 12f8a: b002 add sp, #8 - 12f8c: bd70 pop {r4, r5, r6, pc} + 129e2: b002 add sp, #8 + 129e4: bd70 pop {r4, r5, r6, pc} if(LV_GC_ROOT(_lv_mem_buf[i]).used == 0) { - 12f8e: 4b1f ldr r3, [pc, #124] ; (1300c <_lv_mem_buf_get+0x128>) - 12f90: 799b ldrb r3, [r3, #6] - 12f92: f013 0f01 tst.w r3, #1 - 12f96: bf08 it eq - 12f98: 2400 moveq r4, #0 - 12f9a: d016 beq.n 12fca <_lv_mem_buf_get+0xe6> - 12f9c: 2301 movs r3, #1 - 12f9e: 481b ldr r0, [pc, #108] ; (1300c <_lv_mem_buf_get+0x128>) - 12fa0: 461c mov r4, r3 - 12fa2: eb00 02c3 add.w r2, r0, r3, lsl #3 - 12fa6: 7992 ldrb r2, [r2, #6] - 12fa8: f012 0f01 tst.w r2, #1 - 12fac: d00d beq.n 12fca <_lv_mem_buf_get+0xe6> - 12fae: 3301 adds r3, #1 + 129e6: 4b1f ldr r3, [pc, #124] ; (12a64 <_lv_mem_buf_get+0x128>) + 129e8: 799b ldrb r3, [r3, #6] + 129ea: f013 0f01 tst.w r3, #1 + 129ee: bf08 it eq + 129f0: 2400 moveq r4, #0 + 129f2: d016 beq.n 12a22 <_lv_mem_buf_get+0xe6> + 129f4: 2301 movs r3, #1 + 129f6: 481b ldr r0, [pc, #108] ; (12a64 <_lv_mem_buf_get+0x128>) + 129f8: 461c mov r4, r3 + 129fa: eb00 02c3 add.w r2, r0, r3, lsl #3 + 129fe: 7992 ldrb r2, [r2, #6] + 12a00: f012 0f01 tst.w r2, #1 + 12a04: d00d beq.n 12a22 <_lv_mem_buf_get+0xe6> + 12a06: 3301 adds r3, #1 for(i = 0; i < LV_MEM_BUF_MAX_NUM; i++) { - 12fb0: 2b10 cmp r3, #16 - 12fb2: d1f5 bne.n 12fa0 <_lv_mem_buf_get+0xbc> + 12a08: 2b10 cmp r3, #16 + 12a0a: d1f5 bne.n 129f8 <_lv_mem_buf_get+0xbc> LV_LOG_ERROR("lv_mem_buf_get: no free buffer. Increase LV_DRAW_BUF_MAX_NUM."); - 12fb4: 4b16 ldr r3, [pc, #88] ; (13010 <_lv_mem_buf_get+0x12c>) - 12fb6: 9300 str r3, [sp, #0] - 12fb8: 4b16 ldr r3, [pc, #88] ; (13014 <_lv_mem_buf_get+0x130>) - 12fba: f240 2216 movw r2, #534 ; 0x216 - 12fbe: 4916 ldr r1, [pc, #88] ; (13018 <_lv_mem_buf_get+0x134>) - 12fc0: 2003 movs r0, #3 - 12fc2: 4c16 ldr r4, [pc, #88] ; (1301c <_lv_mem_buf_get+0x138>) - 12fc4: 47a0 blx r4 + 12a0c: 4b16 ldr r3, [pc, #88] ; (12a68 <_lv_mem_buf_get+0x12c>) + 12a0e: 9300 str r3, [sp, #0] + 12a10: 4b16 ldr r3, [pc, #88] ; (12a6c <_lv_mem_buf_get+0x130>) + 12a12: f240 2216 movw r2, #534 ; 0x216 + 12a16: 4916 ldr r1, [pc, #88] ; (12a70 <_lv_mem_buf_get+0x134>) + 12a18: 2003 movs r0, #3 + 12a1a: 4c16 ldr r4, [pc, #88] ; (12a74 <_lv_mem_buf_get+0x138>) + 12a1c: 47a0 blx r4 return NULL; - 12fc6: 2000 movs r0, #0 - 12fc8: e7df b.n 12f8a <_lv_mem_buf_get+0xa6> + 12a1e: 2000 movs r0, #0 + 12a20: e7df b.n 129e2 <_lv_mem_buf_get+0xa6> LV_GC_ROOT(_lv_mem_buf[i]).used = 1; - 12fca: 4d10 ldr r5, [pc, #64] ; (1300c <_lv_mem_buf_get+0x128>) - 12fcc: eb05 03c4 add.w r3, r5, r4, lsl #3 - 12fd0: 799a ldrb r2, [r3, #6] - 12fd2: f042 0201 orr.w r2, r2, #1 - 12fd6: 719a strb r2, [r3, #6] + 12a22: 4d10 ldr r5, [pc, #64] ; (12a64 <_lv_mem_buf_get+0x128>) + 12a24: eb05 03c4 add.w r3, r5, r4, lsl #3 + 12a28: 799a ldrb r2, [r3, #6] + 12a2a: f042 0201 orr.w r2, r2, #1 + 12a2e: 719a strb r2, [r3, #6] LV_GC_ROOT(_lv_mem_buf[i]).size = size; - 12fd8: 8099 strh r1, [r3, #4] + 12a30: 8099 strh r1, [r3, #4] LV_GC_ROOT(_lv_mem_buf[i]).p = lv_mem_realloc(LV_GC_ROOT(_lv_mem_buf[i]).p, size); - 12fda: f855 0034 ldr.w r0, [r5, r4, lsl #3] - 12fde: 4b10 ldr r3, [pc, #64] ; (13020 <_lv_mem_buf_get+0x13c>) - 12fe0: 4798 blx r3 - 12fe2: f845 0034 str.w r0, [r5, r4, lsl #3] + 12a32: f855 0034 ldr.w r0, [r5, r4, lsl #3] + 12a36: 4b10 ldr r3, [pc, #64] ; (12a78 <_lv_mem_buf_get+0x13c>) + 12a38: 4798 blx r3 + 12a3a: f845 0034 str.w r0, [r5, r4, lsl #3] if(LV_GC_ROOT(_lv_mem_buf[i]).p == NULL) { - 12fe6: b118 cbz r0, 12ff0 <_lv_mem_buf_get+0x10c> + 12a3e: b118 cbz r0, 12a48 <_lv_mem_buf_get+0x10c> return LV_GC_ROOT(_lv_mem_buf[i]).p; - 12fe8: 4b08 ldr r3, [pc, #32] ; (1300c <_lv_mem_buf_get+0x128>) - 12fea: f853 0034 ldr.w r0, [r3, r4, lsl #3] - 12fee: e7cc b.n 12f8a <_lv_mem_buf_get+0xa6> + 12a40: 4b08 ldr r3, [pc, #32] ; (12a64 <_lv_mem_buf_get+0x128>) + 12a42: f853 0034 ldr.w r0, [r3, r4, lsl #3] + 12a46: e7cc b.n 129e2 <_lv_mem_buf_get+0xa6> LV_LOG_ERROR("lv_mem_buf_get: Out of memory, can't allocate a new buffer (increase your LV_MEM_SIZE/heap size)") - 12ff0: 4b0c ldr r3, [pc, #48] ; (13024 <_lv_mem_buf_get+0x140>) - 12ff2: 9300 str r3, [sp, #0] - 12ff4: 4b07 ldr r3, [pc, #28] ; (13014 <_lv_mem_buf_get+0x130>) - 12ff6: f44f 7204 mov.w r2, #528 ; 0x210 - 12ffa: 4907 ldr r1, [pc, #28] ; (13018 <_lv_mem_buf_get+0x134>) - 12ffc: 2003 movs r0, #3 - 12ffe: 4d07 ldr r5, [pc, #28] ; (1301c <_lv_mem_buf_get+0x138>) - 13000: 47a8 blx r5 - 13002: e7f1 b.n 12fe8 <_lv_mem_buf_get+0x104> + 12a48: 4b0c ldr r3, [pc, #48] ; (12a7c <_lv_mem_buf_get+0x140>) + 12a4a: 9300 str r3, [sp, #0] + 12a4c: 4b07 ldr r3, [pc, #28] ; (12a6c <_lv_mem_buf_get+0x130>) + 12a4e: f44f 7204 mov.w r2, #528 ; 0x210 + 12a52: 4907 ldr r1, [pc, #28] ; (12a70 <_lv_mem_buf_get+0x134>) + 12a54: 2003 movs r0, #3 + 12a56: 4d07 ldr r5, [pc, #28] ; (12a74 <_lv_mem_buf_get+0x138>) + 12a58: 47a8 blx r5 + 12a5a: e7f1 b.n 12a40 <_lv_mem_buf_get+0x104> if(size == 0) return NULL; - 13004: 2000 movs r0, #0 - 13006: 4770 bx lr - 13008: 20000044 .word 0x20000044 - 1300c: 20006ccc .word 0x20006ccc - 13010: 00020950 .word 0x00020950 - 13014: 0002086c .word 0x0002086c - 13018: 0002087c .word 0x0002087c - 1301c: 00012805 .word 0x00012805 - 13020: 00012e41 .word 0x00012e41 - 13024: 000208ec .word 0x000208ec - -00013028 <_lv_memset>: + 12a5c: 2000 movs r0, #0 + 12a5e: 4770 bx lr + 12a60: 20000044 .word 0x20000044 + 12a64: 20006cb0 .word 0x20006cb0 + 12a68: 0002946c .word 0x0002946c + 12a6c: 00029388 .word 0x00029388 + 12a70: 00029398 .word 0x00029398 + 12a74: 0001225d .word 0x0001225d + 12a78: 00012899 .word 0x00012899 + 12a7c: 00029408 .word 0x00029408 + +00012a80 <_lv_memset>: if(d_align) { - 13028: f010 0303 ands.w r3, r0, #3 - 1302c: d013 beq.n 13056 <_lv_memset+0x2e> + 12a80: f010 0303 ands.w r3, r0, #3 + 12a84: d013 beq.n 12aae <_lv_memset+0x2e> while(d_align && len) { - 1302e: f1c3 0304 rsb r3, r3, #4 - 13032: b13a cbz r2, 13044 <_lv_memset+0x1c> - 13034: 4403 add r3, r0 + 12a86: f1c3 0304 rsb r3, r3, #4 + 12a8a: b13a cbz r2, 12a9c <_lv_memset+0x1c> + 12a8c: 4403 add r3, r0 *d8 = v; - 13036: f800 1b01 strb.w r1, [r0], #1 + 12a8e: f800 1b01 strb.w r1, [r0], #1 len--; - 1303a: 3a01 subs r2, #1 + 12a92: 3a01 subs r2, #1 while(d_align && len) { - 1303c: 4298 cmp r0, r3 - 1303e: d00a beq.n 13056 <_lv_memset+0x2e> - 13040: 2a00 cmp r2, #0 - 13042: d1f8 bne.n 13036 <_lv_memset+0xe> + 12a94: 4298 cmp r0, r3 + 12a96: d00a beq.n 12aae <_lv_memset+0x2e> + 12a98: 2a00 cmp r2, #0 + 12a9a: d1f8 bne.n 12a8e <_lv_memset+0xe> while(len > 4) { - 13044: 2200 movs r2, #0 + 12a9c: 2200 movs r2, #0 while(len) { - 13046: 2a00 cmp r2, #0 - 13048: d048 beq.n 130dc <_lv_memset+0xb4> - 1304a: 4402 add r2, r0 + 12a9e: 2a00 cmp r2, #0 + 12aa0: d048 beq.n 12b34 <_lv_memset+0xb4> + 12aa2: 4402 add r2, r0 *d8 = v; - 1304c: f800 1b01 strb.w r1, [r0], #1 + 12aa4: f800 1b01 strb.w r1, [r0], #1 while(len) { - 13050: 4290 cmp r0, r2 - 13052: d1fb bne.n 1304c <_lv_memset+0x24> - 13054: 4770 bx lr + 12aa8: 4290 cmp r0, r2 + 12aaa: d1fb bne.n 12aa4 <_lv_memset+0x24> + 12aac: 4770 bx lr { - 13056: b430 push {r4, r5} + 12aae: b430 push {r4, r5} uint32_t v32 = v + (v << 8) + (v << 16) + (v << 24); - 13058: eb01 2401 add.w r4, r1, r1, lsl #8 - 1305c: eb04 4401 add.w r4, r4, r1, lsl #16 - 13060: eb04 6401 add.w r4, r4, r1, lsl #24 + 12ab0: eb01 2401 add.w r4, r1, r1, lsl #8 + 12ab4: eb04 4401 add.w r4, r4, r1, lsl #16 + 12ab8: eb04 6401 add.w r4, r4, r1, lsl #24 while(len > 32) { - 13064: 2a20 cmp r2, #32 - 13066: d920 bls.n 130aa <_lv_memset+0x82> - 13068: f100 0320 add.w r3, r0, #32 - 1306c: 4615 mov r5, r2 + 12abc: 2a20 cmp r2, #32 + 12abe: d920 bls.n 12b02 <_lv_memset+0x82> + 12ac0: f100 0320 add.w r3, r0, #32 + 12ac4: 4615 mov r5, r2 SET32(v32); - 1306e: f843 4c20 str.w r4, [r3, #-32] + 12ac6: f843 4c20 str.w r4, [r3, #-32] SET32(v32); - 13072: f843 4c1c str.w r4, [r3, #-28] + 12aca: f843 4c1c str.w r4, [r3, #-28] SET32(v32); - 13076: f843 4c18 str.w r4, [r3, #-24] + 12ace: f843 4c18 str.w r4, [r3, #-24] SET32(v32); - 1307a: f843 4c14 str.w r4, [r3, #-20] + 12ad2: f843 4c14 str.w r4, [r3, #-20] SET32(v32); - 1307e: f843 4c10 str.w r4, [r3, #-16] + 12ad6: f843 4c10 str.w r4, [r3, #-16] SET32(v32); - 13082: f843 4c0c str.w r4, [r3, #-12] + 12ada: f843 4c0c str.w r4, [r3, #-12] SET32(v32); - 13086: f843 4c08 str.w r4, [r3, #-8] + 12ade: f843 4c08 str.w r4, [r3, #-8] SET32(v32); - 1308a: f843 4c04 str.w r4, [r3, #-4] + 12ae2: f843 4c04 str.w r4, [r3, #-4] len -= 32; - 1308e: 3d20 subs r5, #32 - 13090: 3320 adds r3, #32 + 12ae6: 3d20 subs r5, #32 + 12ae8: 3320 adds r3, #32 while(len > 32) { - 13092: 2d20 cmp r5, #32 - 13094: d8eb bhi.n 1306e <_lv_memset+0x46> - 13096: f1a2 0321 sub.w r3, r2, #33 ; 0x21 - 1309a: f023 051f bic.w r5, r3, #31 - 1309e: 3520 adds r5, #32 - 130a0: 4428 add r0, r5 - 130a2: 3a20 subs r2, #32 - 130a4: f023 031f bic.w r3, r3, #31 - 130a8: 1ad2 subs r2, r2, r3 + 12aea: 2d20 cmp r5, #32 + 12aec: d8eb bhi.n 12ac6 <_lv_memset+0x46> + 12aee: f1a2 0321 sub.w r3, r2, #33 ; 0x21 + 12af2: f023 051f bic.w r5, r3, #31 + 12af6: 3520 adds r5, #32 + 12af8: 4428 add r0, r5 + 12afa: 3a20 subs r2, #32 + 12afc: f023 031f bic.w r3, r3, #31 + 12b00: 1ad2 subs r2, r2, r3 while(len > 4) { - 130aa: 2a04 cmp r2, #4 - 130ac: d90f bls.n 130ce <_lv_memset+0xa6> - 130ae: 4605 mov r5, r0 - 130b0: 4613 mov r3, r2 + 12b02: 2a04 cmp r2, #4 + 12b04: d90f bls.n 12b26 <_lv_memset+0xa6> + 12b06: 4605 mov r5, r0 + 12b08: 4613 mov r3, r2 SET32(v32); - 130b2: f845 4b04 str.w r4, [r5], #4 + 12b0a: f845 4b04 str.w r4, [r5], #4 len -= 4; - 130b6: 3b04 subs r3, #4 + 12b0e: 3b04 subs r3, #4 while(len > 4) { - 130b8: 2b04 cmp r3, #4 - 130ba: d8fa bhi.n 130b2 <_lv_memset+0x8a> - 130bc: 1f53 subs r3, r2, #5 - 130be: f023 0403 bic.w r4, r3, #3 - 130c2: 3404 adds r4, #4 - 130c4: 3a04 subs r2, #4 - 130c6: f023 0303 bic.w r3, r3, #3 - 130ca: 1ad2 subs r2, r2, r3 + 12b10: 2b04 cmp r3, #4 + 12b12: d8fa bhi.n 12b0a <_lv_memset+0x8a> + 12b14: 1f53 subs r3, r2, #5 + 12b16: f023 0403 bic.w r4, r3, #3 + 12b1a: 3404 adds r4, #4 + 12b1c: 3a04 subs r2, #4 + 12b1e: f023 0303 bic.w r3, r3, #3 + 12b22: 1ad2 subs r2, r2, r3 SET32(v32); - 130cc: 4420 add r0, r4 + 12b24: 4420 add r0, r4 while(len) { - 130ce: b122 cbz r2, 130da <_lv_memset+0xb2> - 130d0: 4402 add r2, r0 + 12b26: b122 cbz r2, 12b32 <_lv_memset+0xb2> + 12b28: 4402 add r2, r0 *d8 = v; - 130d2: f800 1b01 strb.w r1, [r0], #1 + 12b2a: f800 1b01 strb.w r1, [r0], #1 while(len) { - 130d6: 4290 cmp r0, r2 - 130d8: d1fb bne.n 130d2 <_lv_memset+0xaa> + 12b2e: 4290 cmp r0, r2 + 12b30: d1fb bne.n 12b2a <_lv_memset+0xaa> } - 130da: bc30 pop {r4, r5} - 130dc: 4770 bx lr + 12b32: bc30 pop {r4, r5} + 12b34: 4770 bx lr -000130de <_lv_memset_00>: +00012b36 <_lv_memset_00>: if(d_align) { - 130de: f010 0303 ands.w r3, r0, #3 - 130e2: d141 bne.n 13168 <_lv_memset_00+0x8a> + 12b36: f010 0303 ands.w r3, r0, #3 + 12b3a: d141 bne.n 12bc0 <_lv_memset_00+0x8a> { - 130e4: b410 push {r4} + 12b3c: b410 push {r4} while(len > 32) { - 130e6: 2920 cmp r1, #32 - 130e8: d921 bls.n 1312e <_lv_memset_00+0x50> - 130ea: f100 0320 add.w r3, r0, #32 - 130ee: 460c mov r4, r1 + 12b3e: 2920 cmp r1, #32 + 12b40: d921 bls.n 12b86 <_lv_memset_00+0x50> + 12b42: f100 0320 add.w r3, r0, #32 + 12b46: 460c mov r4, r1 SET32(0); - 130f0: 2200 movs r2, #0 - 130f2: f843 2c20 str.w r2, [r3, #-32] + 12b48: 2200 movs r2, #0 + 12b4a: f843 2c20 str.w r2, [r3, #-32] SET32(0); - 130f6: f843 2c1c str.w r2, [r3, #-28] + 12b4e: f843 2c1c str.w r2, [r3, #-28] SET32(0); - 130fa: f843 2c18 str.w r2, [r3, #-24] + 12b52: f843 2c18 str.w r2, [r3, #-24] SET32(0); - 130fe: f843 2c14 str.w r2, [r3, #-20] + 12b56: f843 2c14 str.w r2, [r3, #-20] SET32(0); - 13102: f843 2c10 str.w r2, [r3, #-16] + 12b5a: f843 2c10 str.w r2, [r3, #-16] SET32(0); - 13106: f843 2c0c str.w r2, [r3, #-12] + 12b5e: f843 2c0c str.w r2, [r3, #-12] SET32(0); - 1310a: f843 2c08 str.w r2, [r3, #-8] + 12b62: f843 2c08 str.w r2, [r3, #-8] SET32(0); - 1310e: f843 2c04 str.w r2, [r3, #-4] + 12b66: f843 2c04 str.w r2, [r3, #-4] len -= 32; - 13112: 3c20 subs r4, #32 - 13114: 3320 adds r3, #32 + 12b6a: 3c20 subs r4, #32 + 12b6c: 3320 adds r3, #32 while(len > 32) { - 13116: 2c20 cmp r4, #32 - 13118: d8eb bhi.n 130f2 <_lv_memset_00+0x14> - 1311a: f1a1 0321 sub.w r3, r1, #33 ; 0x21 - 1311e: f023 021f bic.w r2, r3, #31 - 13122: 3220 adds r2, #32 - 13124: 4410 add r0, r2 - 13126: 3920 subs r1, #32 - 13128: f023 031f bic.w r3, r3, #31 - 1312c: 1ac9 subs r1, r1, r3 + 12b6e: 2c20 cmp r4, #32 + 12b70: d8eb bhi.n 12b4a <_lv_memset_00+0x14> + 12b72: f1a1 0321 sub.w r3, r1, #33 ; 0x21 + 12b76: f023 021f bic.w r2, r3, #31 + 12b7a: 3220 adds r2, #32 + 12b7c: 4410 add r0, r2 + 12b7e: 3920 subs r1, #32 + 12b80: f023 031f bic.w r3, r3, #31 + 12b84: 1ac9 subs r1, r1, r3 while(len > 4) { - 1312e: 2904 cmp r1, #4 - 13130: d910 bls.n 13154 <_lv_memset_00+0x76> - 13132: 4602 mov r2, r0 - 13134: 460b mov r3, r1 + 12b86: 2904 cmp r1, #4 + 12b88: d910 bls.n 12bac <_lv_memset_00+0x76> + 12b8a: 4602 mov r2, r0 + 12b8c: 460b mov r3, r1 SET32(0); - 13136: 2400 movs r4, #0 - 13138: f842 4b04 str.w r4, [r2], #4 + 12b8e: 2400 movs r4, #0 + 12b90: f842 4b04 str.w r4, [r2], #4 len -= 4; - 1313c: 3b04 subs r3, #4 + 12b94: 3b04 subs r3, #4 while(len > 4) { - 1313e: 2b04 cmp r3, #4 - 13140: d8fa bhi.n 13138 <_lv_memset_00+0x5a> - 13142: 1f4b subs r3, r1, #5 - 13144: f023 0203 bic.w r2, r3, #3 - 13148: 3204 adds r2, #4 - 1314a: 3904 subs r1, #4 - 1314c: f023 0303 bic.w r3, r3, #3 - 13150: 1ac9 subs r1, r1, r3 + 12b96: 2b04 cmp r3, #4 + 12b98: d8fa bhi.n 12b90 <_lv_memset_00+0x5a> + 12b9a: 1f4b subs r3, r1, #5 + 12b9c: f023 0203 bic.w r2, r3, #3 + 12ba0: 3204 adds r2, #4 + 12ba2: 3904 subs r1, #4 + 12ba4: f023 0303 bic.w r3, r3, #3 + 12ba8: 1ac9 subs r1, r1, r3 SET32(0); - 13152: 4410 add r0, r2 + 12baa: 4410 add r0, r2 while(len) { - 13154: b129 cbz r1, 13162 <_lv_memset_00+0x84> - 13156: 4401 add r1, r0 + 12bac: b129 cbz r1, 12bba <_lv_memset_00+0x84> + 12bae: 4401 add r1, r0 *d8 = 0; - 13158: 2300 movs r3, #0 - 1315a: f800 3b01 strb.w r3, [r0], #1 + 12bb0: 2300 movs r3, #0 + 12bb2: f800 3b01 strb.w r3, [r0], #1 while(len) { - 1315e: 4288 cmp r0, r1 - 13160: d1fb bne.n 1315a <_lv_memset_00+0x7c> + 12bb6: 4288 cmp r0, r1 + 12bb8: d1fb bne.n 12bb2 <_lv_memset_00+0x7c> } - 13162: f85d 4b04 ldr.w r4, [sp], #4 - 13166: 4770 bx lr + 12bba: f85d 4b04 ldr.w r4, [sp], #4 + 12bbe: 4770 bx lr while(d_align && len) { - 13168: f1c3 0304 rsb r3, r3, #4 - 1316c: b141 cbz r1, 13180 <_lv_memset_00+0xa2> - 1316e: 4403 add r3, r0 + 12bc0: f1c3 0304 rsb r3, r3, #4 + 12bc4: b141 cbz r1, 12bd8 <_lv_memset_00+0xa2> + 12bc6: 4403 add r3, r0 *d8 = 0x00; - 13170: 2200 movs r2, #0 - 13172: f800 2b01 strb.w r2, [r0], #1 + 12bc8: 2200 movs r2, #0 + 12bca: f800 2b01 strb.w r2, [r0], #1 len--; - 13176: 3901 subs r1, #1 + 12bce: 3901 subs r1, #1 while(d_align && len) { - 13178: 4298 cmp r0, r3 - 1317a: d0b3 beq.n 130e4 <_lv_memset_00+0x6> - 1317c: 2900 cmp r1, #0 - 1317e: d1f8 bne.n 13172 <_lv_memset_00+0x94> + 12bd0: 4298 cmp r0, r3 + 12bd2: d0b3 beq.n 12b3c <_lv_memset_00+0x6> + 12bd4: 2900 cmp r1, #0 + 12bd6: d1f8 bne.n 12bca <_lv_memset_00+0x94> while(len > 4) { - 13180: 2100 movs r1, #0 + 12bd8: 2100 movs r1, #0 while(len) { - 13182: 2900 cmp r1, #0 - 13184: d0ef beq.n 13166 <_lv_memset_00+0x88> - 13186: 4401 add r1, r0 + 12bda: 2900 cmp r1, #0 + 12bdc: d0ef beq.n 12bbe <_lv_memset_00+0x88> + 12bde: 4401 add r1, r0 *d8 = 0; - 13188: 2300 movs r3, #0 - 1318a: f800 3b01 strb.w r3, [r0], #1 + 12be0: 2300 movs r3, #0 + 12be2: f800 3b01 strb.w r3, [r0], #1 while(len) { - 1318e: 4288 cmp r0, r1 - 13190: d1fb bne.n 1318a <_lv_memset_00+0xac> - 13192: 4770 bx lr + 12be6: 4288 cmp r0, r1 + 12be8: d1fb bne.n 12be2 <_lv_memset_00+0xac> + 12bea: 4770 bx lr -00013194 <_lv_memset_ff>: +00012bec <_lv_memset_ff>: if(d_align) { - 13194: f010 0303 ands.w r3, r0, #3 - 13198: d143 bne.n 13222 <_lv_memset_ff+0x8e> + 12bec: f010 0303 ands.w r3, r0, #3 + 12bf0: d143 bne.n 12c7a <_lv_memset_ff+0x8e> { - 1319a: b410 push {r4} + 12bf2: b410 push {r4} while(len > 32) { - 1319c: 2920 cmp r1, #32 - 1319e: d922 bls.n 131e6 <_lv_memset_ff+0x52> - 131a0: f100 0320 add.w r3, r0, #32 - 131a4: 460c mov r4, r1 + 12bf4: 2920 cmp r1, #32 + 12bf6: d922 bls.n 12c3e <_lv_memset_ff+0x52> + 12bf8: f100 0320 add.w r3, r0, #32 + 12bfc: 460c mov r4, r1 SET32(0xFFFFFFFF); - 131a6: f04f 32ff mov.w r2, #4294967295 - 131aa: f843 2c20 str.w r2, [r3, #-32] + 12bfe: f04f 32ff mov.w r2, #4294967295 + 12c02: f843 2c20 str.w r2, [r3, #-32] SET32(0xFFFFFFFF); - 131ae: f843 2c1c str.w r2, [r3, #-28] + 12c06: f843 2c1c str.w r2, [r3, #-28] SET32(0xFFFFFFFF); - 131b2: f843 2c18 str.w r2, [r3, #-24] + 12c0a: f843 2c18 str.w r2, [r3, #-24] SET32(0xFFFFFFFF); - 131b6: f843 2c14 str.w r2, [r3, #-20] + 12c0e: f843 2c14 str.w r2, [r3, #-20] SET32(0xFFFFFFFF); - 131ba: f843 2c10 str.w r2, [r3, #-16] + 12c12: f843 2c10 str.w r2, [r3, #-16] SET32(0xFFFFFFFF); - 131be: f843 2c0c str.w r2, [r3, #-12] + 12c16: f843 2c0c str.w r2, [r3, #-12] SET32(0xFFFFFFFF); - 131c2: f843 2c08 str.w r2, [r3, #-8] + 12c1a: f843 2c08 str.w r2, [r3, #-8] SET32(0xFFFFFFFF); - 131c6: f843 2c04 str.w r2, [r3, #-4] + 12c1e: f843 2c04 str.w r2, [r3, #-4] len -= 32; - 131ca: 3c20 subs r4, #32 - 131cc: 3320 adds r3, #32 + 12c22: 3c20 subs r4, #32 + 12c24: 3320 adds r3, #32 while(len > 32) { - 131ce: 2c20 cmp r4, #32 - 131d0: d8eb bhi.n 131aa <_lv_memset_ff+0x16> - 131d2: f1a1 0321 sub.w r3, r1, #33 ; 0x21 - 131d6: f023 021f bic.w r2, r3, #31 - 131da: 3220 adds r2, #32 - 131dc: 4410 add r0, r2 - 131de: 3920 subs r1, #32 - 131e0: f023 031f bic.w r3, r3, #31 - 131e4: 1ac9 subs r1, r1, r3 + 12c26: 2c20 cmp r4, #32 + 12c28: d8eb bhi.n 12c02 <_lv_memset_ff+0x16> + 12c2a: f1a1 0321 sub.w r3, r1, #33 ; 0x21 + 12c2e: f023 021f bic.w r2, r3, #31 + 12c32: 3220 adds r2, #32 + 12c34: 4410 add r0, r2 + 12c36: 3920 subs r1, #32 + 12c38: f023 031f bic.w r3, r3, #31 + 12c3c: 1ac9 subs r1, r1, r3 while(len > 4) { - 131e6: 2904 cmp r1, #4 - 131e8: d911 bls.n 1320e <_lv_memset_ff+0x7a> - 131ea: 4602 mov r2, r0 - 131ec: 460b mov r3, r1 + 12c3e: 2904 cmp r1, #4 + 12c40: d911 bls.n 12c66 <_lv_memset_ff+0x7a> + 12c42: 4602 mov r2, r0 + 12c44: 460b mov r3, r1 SET32(0xFFFFFFFF); - 131ee: f04f 34ff mov.w r4, #4294967295 - 131f2: f842 4b04 str.w r4, [r2], #4 + 12c46: f04f 34ff mov.w r4, #4294967295 + 12c4a: f842 4b04 str.w r4, [r2], #4 len -= 4; - 131f6: 3b04 subs r3, #4 + 12c4e: 3b04 subs r3, #4 while(len > 4) { - 131f8: 2b04 cmp r3, #4 - 131fa: d8fa bhi.n 131f2 <_lv_memset_ff+0x5e> - 131fc: 1f4b subs r3, r1, #5 - 131fe: f023 0203 bic.w r2, r3, #3 - 13202: 3204 adds r2, #4 - 13204: 3904 subs r1, #4 - 13206: f023 0303 bic.w r3, r3, #3 - 1320a: 1ac9 subs r1, r1, r3 + 12c50: 2b04 cmp r3, #4 + 12c52: d8fa bhi.n 12c4a <_lv_memset_ff+0x5e> + 12c54: 1f4b subs r3, r1, #5 + 12c56: f023 0203 bic.w r2, r3, #3 + 12c5a: 3204 adds r2, #4 + 12c5c: 3904 subs r1, #4 + 12c5e: f023 0303 bic.w r3, r3, #3 + 12c62: 1ac9 subs r1, r1, r3 SET32(0xFFFFFFFF); - 1320c: 4410 add r0, r2 + 12c64: 4410 add r0, r2 while(len) { - 1320e: b129 cbz r1, 1321c <_lv_memset_ff+0x88> - 13210: 4401 add r1, r0 + 12c66: b129 cbz r1, 12c74 <_lv_memset_ff+0x88> + 12c68: 4401 add r1, r0 *d8 = 0xFF; - 13212: 23ff movs r3, #255 ; 0xff - 13214: f800 3b01 strb.w r3, [r0], #1 + 12c6a: 23ff movs r3, #255 ; 0xff + 12c6c: f800 3b01 strb.w r3, [r0], #1 while(len) { - 13218: 4288 cmp r0, r1 - 1321a: d1fb bne.n 13214 <_lv_memset_ff+0x80> + 12c70: 4288 cmp r0, r1 + 12c72: d1fb bne.n 12c6c <_lv_memset_ff+0x80> } - 1321c: f85d 4b04 ldr.w r4, [sp], #4 - 13220: 4770 bx lr + 12c74: f85d 4b04 ldr.w r4, [sp], #4 + 12c78: 4770 bx lr while(d_align && len) { - 13222: f1c3 0304 rsb r3, r3, #4 - 13226: b141 cbz r1, 1323a <_lv_memset_ff+0xa6> - 13228: 4403 add r3, r0 + 12c7a: f1c3 0304 rsb r3, r3, #4 + 12c7e: b141 cbz r1, 12c92 <_lv_memset_ff+0xa6> + 12c80: 4403 add r3, r0 *d8 = 0xFF; - 1322a: 22ff movs r2, #255 ; 0xff - 1322c: f800 2b01 strb.w r2, [r0], #1 + 12c82: 22ff movs r2, #255 ; 0xff + 12c84: f800 2b01 strb.w r2, [r0], #1 len--; - 13230: 3901 subs r1, #1 + 12c88: 3901 subs r1, #1 while(d_align && len) { - 13232: 4298 cmp r0, r3 - 13234: d0b1 beq.n 1319a <_lv_memset_ff+0x6> - 13236: 2900 cmp r1, #0 - 13238: d1f8 bne.n 1322c <_lv_memset_ff+0x98> + 12c8a: 4298 cmp r0, r3 + 12c8c: d0b1 beq.n 12bf2 <_lv_memset_ff+0x6> + 12c8e: 2900 cmp r1, #0 + 12c90: d1f8 bne.n 12c84 <_lv_memset_ff+0x98> while(len > 4) { - 1323a: 2100 movs r1, #0 + 12c92: 2100 movs r1, #0 while(len) { - 1323c: 2900 cmp r1, #0 - 1323e: d0ef beq.n 13220 <_lv_memset_ff+0x8c> - 13240: 4401 add r1, r0 + 12c94: 2900 cmp r1, #0 + 12c96: d0ef beq.n 12c78 <_lv_memset_ff+0x8c> + 12c98: 4401 add r1, r0 *d8 = 0xFF; - 13242: 23ff movs r3, #255 ; 0xff - 13244: f800 3b01 strb.w r3, [r0], #1 + 12c9a: 23ff movs r3, #255 ; 0xff + 12c9c: f800 3b01 strb.w r3, [r0], #1 while(len) { - 13248: 4288 cmp r0, r1 - 1324a: d1fb bne.n 13244 <_lv_memset_ff+0xb0> - 1324c: 4770 bx lr + 12ca0: 4288 cmp r0, r1 + 12ca2: d1fb bne.n 12c9c <_lv_memset_ff+0xb0> + 12ca4: 4770 bx lr -0001324e <_out_buffer>: +00012ca6 <_out_buffer>: // internal buffer output static inline void _out_buffer(char character, void * buffer, size_t idx, size_t maxlen) { if(idx < maxlen) { - 1324e: 429a cmp r2, r3 + 12ca6: 429a cmp r2, r3 ((char *)buffer)[idx] = character; - 13250: bf38 it cc - 13252: 5488 strbcc r0, [r1, r2] - 13254: 4770 bx lr + 12ca8: bf38 it cc + 12caa: 5488 strbcc r0, [r1, r2] + 12cac: 4770 bx lr -00013256 <_out_null>: +00012cae <_out_null>: } // internal null output static inline void _out_null(char character, void * buffer, size_t idx, size_t maxlen) { - 13256: 4770 bx lr + 12cae: 4770 bx lr -00013258 <_ntoa_format>: +00012cb0 <_ntoa_format>: // internal itoa format static size_t _ntoa_format(out_fct_type out, char * buffer, size_t idx, size_t maxlen, char * buf, size_t len, bool negative, unsigned int base, unsigned int prec, unsigned int width, unsigned int flags) { - 13258: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 1325c: b083 sub sp, #12 - 1325e: 4607 mov r7, r0 - 13260: 9100 str r1, [sp, #0] - 13262: 4693 mov fp, r2 - 13264: 4698 mov r8, r3 - 13266: f8dd 9030 ldr.w r9, [sp, #48] ; 0x30 - 1326a: 9c0d ldr r4, [sp, #52] ; 0x34 - 1326c: f89d 5038 ldrb.w r5, [sp, #56] ; 0x38 - 13270: 9910 ldr r1, [sp, #64] ; 0x40 - 13272: f8dd a044 ldr.w sl, [sp, #68] ; 0x44 - 13276: 9a12 ldr r2, [sp, #72] ; 0x48 + 12cb0: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 12cb4: b083 sub sp, #12 + 12cb6: 4607 mov r7, r0 + 12cb8: 9100 str r1, [sp, #0] + 12cba: 4693 mov fp, r2 + 12cbc: 4698 mov r8, r3 + 12cbe: f8dd 9030 ldr.w r9, [sp, #48] ; 0x30 + 12cc2: 9c0d ldr r4, [sp, #52] ; 0x34 + 12cc4: f89d 5038 ldrb.w r5, [sp, #56] ; 0x38 + 12cc8: 9910 ldr r1, [sp, #64] ; 0x40 + 12cca: f8dd a044 ldr.w sl, [sp, #68] ; 0x44 + 12cce: 9a12 ldr r2, [sp, #72] ; 0x48 // pad leading zeros if(!(flags & FLAGS_LEFT)) { - 13278: f012 0302 ands.w r3, r2, #2 - 1327c: 9301 str r3, [sp, #4] - 1327e: d135 bne.n 132ec <_ntoa_format+0x94> + 12cd0: f012 0302 ands.w r3, r2, #2 + 12cd4: 9301 str r3, [sp, #4] + 12cd6: d135 bne.n 12d44 <_ntoa_format+0x94> if(width && (flags & FLAGS_ZEROPAD) && (negative || (flags & (FLAGS_PLUS | FLAGS_SPACE)))) { - 13280: f1ba 0f00 cmp.w sl, #0 - 13284: d00e beq.n 132a4 <_ntoa_format+0x4c> - 13286: f012 0f01 tst.w r2, #1 - 1328a: f000 80b6 beq.w 133fa <_ntoa_format+0x1a2> - 1328e: b915 cbnz r5, 13296 <_ntoa_format+0x3e> - 13290: f012 0f0c tst.w r2, #12 - 13294: d001 beq.n 1329a <_ntoa_format+0x42> + 12cd8: f1ba 0f00 cmp.w sl, #0 + 12cdc: d00e beq.n 12cfc <_ntoa_format+0x4c> + 12cde: f012 0f01 tst.w r2, #1 + 12ce2: f000 80b6 beq.w 12e52 <_ntoa_format+0x1a2> + 12ce6: b915 cbnz r5, 12cee <_ntoa_format+0x3e> + 12ce8: f012 0f0c tst.w r2, #12 + 12cec: d001 beq.n 12cf2 <_ntoa_format+0x42> width--; - 13296: f10a 3aff add.w sl, sl, #4294967295 + 12cee: f10a 3aff add.w sl, sl, #4294967295 } while((len < prec) && (len < PRINTF_NTOA_BUFFER_SIZE)) { - 1329a: 428c cmp r4, r1 - 1329c: d213 bcs.n 132c6 <_ntoa_format+0x6e> - 1329e: 2c1f cmp r4, #31 - 132a0: d904 bls.n 132ac <_ntoa_format+0x54> - 132a2: e010 b.n 132c6 <_ntoa_format+0x6e> - 132a4: 428c cmp r4, r1 - 132a6: d20b bcs.n 132c0 <_ntoa_format+0x68> - 132a8: 2c1f cmp r4, #31 - 132aa: d809 bhi.n 132c0 <_ntoa_format+0x68> - 132ac: eb09 0304 add.w r3, r9, r4 + 12cf2: 428c cmp r4, r1 + 12cf4: d213 bcs.n 12d1e <_ntoa_format+0x6e> + 12cf6: 2c1f cmp r4, #31 + 12cf8: d904 bls.n 12d04 <_ntoa_format+0x54> + 12cfa: e010 b.n 12d1e <_ntoa_format+0x6e> + 12cfc: 428c cmp r4, r1 + 12cfe: d20b bcs.n 12d18 <_ntoa_format+0x68> + 12d00: 2c1f cmp r4, #31 + 12d02: d809 bhi.n 12d18 <_ntoa_format+0x68> + 12d04: eb09 0304 add.w r3, r9, r4 buf[len++] = '0'; - 132b0: 2030 movs r0, #48 ; 0x30 - 132b2: 3401 adds r4, #1 - 132b4: f803 0b01 strb.w r0, [r3], #1 + 12d08: 2030 movs r0, #48 ; 0x30 + 12d0a: 3401 adds r4, #1 + 12d0c: f803 0b01 strb.w r0, [r3], #1 while((len < prec) && (len < PRINTF_NTOA_BUFFER_SIZE)) { - 132b8: 42a1 cmp r1, r4 - 132ba: d901 bls.n 132c0 <_ntoa_format+0x68> - 132bc: 2c20 cmp r4, #32 - 132be: d1f8 bne.n 132b2 <_ntoa_format+0x5a> + 12d10: 42a1 cmp r1, r4 + 12d12: d901 bls.n 12d18 <_ntoa_format+0x68> + 12d14: 2c20 cmp r4, #32 + 12d16: d1f8 bne.n 12d0a <_ntoa_format+0x5a> } while((flags & FLAGS_ZEROPAD) && (len < width) && (len < PRINTF_NTOA_BUFFER_SIZE)) { - 132c0: f012 0f01 tst.w r2, #1 - 132c4: d012 beq.n 132ec <_ntoa_format+0x94> - 132c6: 45a2 cmp sl, r4 - 132c8: d910 bls.n 132ec <_ntoa_format+0x94> - 132ca: 2c1f cmp r4, #31 - 132cc: d809 bhi.n 132e2 <_ntoa_format+0x8a> - 132ce: eb09 0304 add.w r3, r9, r4 + 12d18: f012 0f01 tst.w r2, #1 + 12d1c: d012 beq.n 12d44 <_ntoa_format+0x94> + 12d1e: 45a2 cmp sl, r4 + 12d20: d910 bls.n 12d44 <_ntoa_format+0x94> + 12d22: 2c1f cmp r4, #31 + 12d24: d809 bhi.n 12d3a <_ntoa_format+0x8a> + 12d26: eb09 0304 add.w r3, r9, r4 buf[len++] = '0'; - 132d2: 2030 movs r0, #48 ; 0x30 - 132d4: 3401 adds r4, #1 - 132d6: f803 0b01 strb.w r0, [r3], #1 + 12d2a: 2030 movs r0, #48 ; 0x30 + 12d2c: 3401 adds r4, #1 + 12d2e: f803 0b01 strb.w r0, [r3], #1 while((flags & FLAGS_ZEROPAD) && (len < width) && (len < PRINTF_NTOA_BUFFER_SIZE)) { - 132da: 4554 cmp r4, sl - 132dc: d005 beq.n 132ea <_ntoa_format+0x92> - 132de: 2c20 cmp r4, #32 - 132e0: d1f8 bne.n 132d4 <_ntoa_format+0x7c> + 12d32: 4554 cmp r4, sl + 12d34: d005 beq.n 12d42 <_ntoa_format+0x92> + 12d36: 2c20 cmp r4, #32 + 12d38: d1f8 bne.n 12d2c <_ntoa_format+0x7c> } } // handle hash if(flags & FLAGS_HASH) { - 132e2: f012 0f10 tst.w r2, #16 - 132e6: d104 bne.n 132f2 <_ntoa_format+0x9a> - 132e8: e044 b.n 13374 <_ntoa_format+0x11c> - 132ea: 46a2 mov sl, r4 - 132ec: f012 0f10 tst.w r2, #16 - 132f0: d013 beq.n 1331a <_ntoa_format+0xc2> + 12d3a: f012 0f10 tst.w r2, #16 + 12d3e: d104 bne.n 12d4a <_ntoa_format+0x9a> + 12d40: e044 b.n 12dcc <_ntoa_format+0x11c> + 12d42: 46a2 mov sl, r4 + 12d44: f012 0f10 tst.w r2, #16 + 12d48: d013 beq.n 12d72 <_ntoa_format+0xc2> if(!(flags & FLAGS_PRECISION) && len && ((len == prec) || (len == width))) { - 132f2: f412 6f80 tst.w r2, #1024 ; 0x400 - 132f6: d104 bne.n 13302 <_ntoa_format+0xaa> - 132f8: b11c cbz r4, 13302 <_ntoa_format+0xaa> - 132fa: 42a1 cmp r1, r4 - 132fc: d01b beq.n 13336 <_ntoa_format+0xde> - 132fe: 4554 cmp r4, sl - 13300: d019 beq.n 13336 <_ntoa_format+0xde> + 12d4a: f412 6f80 tst.w r2, #1024 ; 0x400 + 12d4e: d104 bne.n 12d5a <_ntoa_format+0xaa> + 12d50: b11c cbz r4, 12d5a <_ntoa_format+0xaa> + 12d52: 42a1 cmp r1, r4 + 12d54: d01b beq.n 12d8e <_ntoa_format+0xde> + 12d56: 4554 cmp r4, sl + 12d58: d019 beq.n 12d8e <_ntoa_format+0xde> len--; if(len && (base == 16U)) { len--; } } if((base == 16U) && !(flags & FLAGS_UPPERCASE) && (len < PRINTF_NTOA_BUFFER_SIZE)) { - 13302: 9b0f ldr r3, [sp, #60] ; 0x3c - 13304: 2b10 cmp r3, #16 - 13306: d01e beq.n 13346 <_ntoa_format+0xee> + 12d5a: 9b0f ldr r3, [sp, #60] ; 0x3c + 12d5c: 2b10 cmp r3, #16 + 12d5e: d01e beq.n 12d9e <_ntoa_format+0xee> buf[len++] = 'x'; } else if((base == 16U) && (flags & FLAGS_UPPERCASE) && (len < PRINTF_NTOA_BUFFER_SIZE)) { buf[len++] = 'X'; } else if((base == 2U) && (len < PRINTF_NTOA_BUFFER_SIZE)) { - 13308: 9b0f ldr r3, [sp, #60] ; 0x3c - 1330a: 2b02 cmp r3, #2 - 1330c: d027 beq.n 1335e <_ntoa_format+0x106> + 12d60: 9b0f ldr r3, [sp, #60] ; 0x3c + 12d62: 2b02 cmp r3, #2 + 12d64: d027 beq.n 12db6 <_ntoa_format+0x106> buf[len++] = 'b'; } if(len < PRINTF_NTOA_BUFFER_SIZE) { - 1330e: 2c1f cmp r4, #31 - 13310: d830 bhi.n 13374 <_ntoa_format+0x11c> + 12d66: 2c1f cmp r4, #31 + 12d68: d830 bhi.n 12dcc <_ntoa_format+0x11c> buf[len++] = '0'; - 13312: 2330 movs r3, #48 ; 0x30 - 13314: f809 3004 strb.w r3, [r9, r4] - 13318: 3401 adds r4, #1 + 12d6a: 2330 movs r3, #48 ; 0x30 + 12d6c: f809 3004 strb.w r3, [r9, r4] + 12d70: 3401 adds r4, #1 } } if(len < PRINTF_NTOA_BUFFER_SIZE) { - 1331a: 2c1f cmp r4, #31 - 1331c: d82a bhi.n 13374 <_ntoa_format+0x11c> + 12d72: 2c1f cmp r4, #31 + 12d74: d82a bhi.n 12dcc <_ntoa_format+0x11c> if(negative) { - 1331e: bb2d cbnz r5, 1336c <_ntoa_format+0x114> + 12d76: bb2d cbnz r5, 12dc4 <_ntoa_format+0x114> buf[len++] = '-'; } else if(flags & FLAGS_PLUS) { - 13320: f012 0f04 tst.w r2, #4 - 13324: d13a bne.n 1339c <_ntoa_format+0x144> + 12d78: f012 0f04 tst.w r2, #4 + 12d7c: d13a bne.n 12df4 <_ntoa_format+0x144> buf[len++] = '+'; // ignore the space if the '+' exists } else if(flags & FLAGS_SPACE) { - 13326: f012 0f08 tst.w r2, #8 - 1332a: d023 beq.n 13374 <_ntoa_format+0x11c> + 12d7e: f012 0f08 tst.w r2, #8 + 12d82: d023 beq.n 12dcc <_ntoa_format+0x11c> buf[len++] = ' '; - 1332c: 2320 movs r3, #32 - 1332e: f809 3004 strb.w r3, [r9, r4] - 13332: 3401 adds r4, #1 - 13334: e01e b.n 13374 <_ntoa_format+0x11c> + 12d84: 2320 movs r3, #32 + 12d86: f809 3004 strb.w r3, [r9, r4] + 12d8a: 3401 adds r4, #1 + 12d8c: e01e b.n 12dcc <_ntoa_format+0x11c> if(len && (base == 16U)) { - 13336: 1e63 subs r3, r4, #1 - 13338: d00f beq.n 1335a <_ntoa_format+0x102> - 1333a: 990f ldr r1, [sp, #60] ; 0x3c - 1333c: 2910 cmp r1, #16 - 1333e: d001 beq.n 13344 <_ntoa_format+0xec> + 12d8e: 1e63 subs r3, r4, #1 + 12d90: d00f beq.n 12db2 <_ntoa_format+0x102> + 12d92: 990f ldr r1, [sp, #60] ; 0x3c + 12d94: 2910 cmp r1, #16 + 12d96: d001 beq.n 12d9c <_ntoa_format+0xec> len--; - 13340: 461c mov r4, r3 - 13342: e7e1 b.n 13308 <_ntoa_format+0xb0> + 12d98: 461c mov r4, r3 + 12d9a: e7e1 b.n 12d60 <_ntoa_format+0xb0> len--; - 13344: 3c02 subs r4, #2 + 12d9c: 3c02 subs r4, #2 if((base == 16U) && !(flags & FLAGS_UPPERCASE) && (len < PRINTF_NTOA_BUFFER_SIZE)) { - 13346: f012 0f20 tst.w r2, #32 - 1334a: d15d bne.n 13408 <_ntoa_format+0x1b0> - 1334c: 2c1f cmp r4, #31 - 1334e: d8de bhi.n 1330e <_ntoa_format+0xb6> + 12d9e: f012 0f20 tst.w r2, #32 + 12da2: d15d bne.n 12e60 <_ntoa_format+0x1b0> + 12da4: 2c1f cmp r4, #31 + 12da6: d8de bhi.n 12d66 <_ntoa_format+0xb6> buf[len++] = 'x'; - 13350: 2378 movs r3, #120 ; 0x78 - 13352: f809 3004 strb.w r3, [r9, r4] - 13356: 3401 adds r4, #1 - 13358: e7d9 b.n 1330e <_ntoa_format+0xb6> + 12da8: 2378 movs r3, #120 ; 0x78 + 12daa: f809 3004 strb.w r3, [r9, r4] + 12dae: 3401 adds r4, #1 + 12db0: e7d9 b.n 12d66 <_ntoa_format+0xb6> len--; - 1335a: 461c mov r4, r3 - 1335c: e7d1 b.n 13302 <_ntoa_format+0xaa> + 12db2: 461c mov r4, r3 + 12db4: e7d1 b.n 12d5a <_ntoa_format+0xaa> else if((base == 2U) && (len < PRINTF_NTOA_BUFFER_SIZE)) { - 1335e: 2c1f cmp r4, #31 - 13360: d808 bhi.n 13374 <_ntoa_format+0x11c> + 12db6: 2c1f cmp r4, #31 + 12db8: d808 bhi.n 12dcc <_ntoa_format+0x11c> buf[len++] = 'b'; - 13362: 2362 movs r3, #98 ; 0x62 - 13364: f809 3004 strb.w r3, [r9, r4] - 13368: 3401 adds r4, #1 - 1336a: e7d0 b.n 1330e <_ntoa_format+0xb6> + 12dba: 2362 movs r3, #98 ; 0x62 + 12dbc: f809 3004 strb.w r3, [r9, r4] + 12dc0: 3401 adds r4, #1 + 12dc2: e7d0 b.n 12d66 <_ntoa_format+0xb6> buf[len++] = '-'; - 1336c: 232d movs r3, #45 ; 0x2d - 1336e: f809 3004 strb.w r3, [r9, r4] - 13372: 3401 adds r4, #1 + 12dc4: 232d movs r3, #45 ; 0x2d + 12dc6: f809 3004 strb.w r3, [r9, r4] + 12dca: 3401 adds r4, #1 if(!(flags & FLAGS_LEFT) && !(flags & FLAGS_ZEROPAD)) { - 13374: f012 0f03 tst.w r2, #3 - 13378: d115 bne.n 133a6 <_ntoa_format+0x14e> + 12dcc: f012 0f03 tst.w r2, #3 + 12dd0: d115 bne.n 12dfe <_ntoa_format+0x14e> for(i = len; i < width; i++) { - 1337a: 4554 cmp r4, sl - 1337c: bf28 it cs - 1337e: 465e movcs r6, fp - 13380: d212 bcs.n 133a8 <_ntoa_format+0x150> - 13382: eb0b 050a add.w r5, fp, sl - 13386: 1b2d subs r5, r5, r4 - 13388: 465a mov r2, fp + 12dd2: 4554 cmp r4, sl + 12dd4: bf28 it cs + 12dd6: 465e movcs r6, fp + 12dd8: d212 bcs.n 12e00 <_ntoa_format+0x150> + 12dda: eb0b 050a add.w r5, fp, sl + 12dde: 1b2d subs r5, r5, r4 + 12de0: 465a mov r2, fp out(' ', buffer, idx++, maxlen); - 1338a: 1c56 adds r6, r2, #1 - 1338c: 4643 mov r3, r8 - 1338e: 9900 ldr r1, [sp, #0] - 13390: 2020 movs r0, #32 - 13392: 47b8 blx r7 - 13394: 4632 mov r2, r6 + 12de2: 1c56 adds r6, r2, #1 + 12de4: 4643 mov r3, r8 + 12de6: 9900 ldr r1, [sp, #0] + 12de8: 2020 movs r0, #32 + 12dea: 47b8 blx r7 + 12dec: 4632 mov r2, r6 for(i = len; i < width; i++) { - 13396: 42ae cmp r6, r5 - 13398: d1f7 bne.n 1338a <_ntoa_format+0x132> - 1339a: e005 b.n 133a8 <_ntoa_format+0x150> + 12dee: 42ae cmp r6, r5 + 12df0: d1f7 bne.n 12de2 <_ntoa_format+0x132> + 12df2: e005 b.n 12e00 <_ntoa_format+0x150> buf[len++] = '+'; // ignore the space if the '+' exists - 1339c: 232b movs r3, #43 ; 0x2b - 1339e: f809 3004 strb.w r3, [r9, r4] - 133a2: 3401 adds r4, #1 - 133a4: e7e6 b.n 13374 <_ntoa_format+0x11c> + 12df4: 232b movs r3, #43 ; 0x2b + 12df6: f809 3004 strb.w r3, [r9, r4] + 12dfa: 3401 adds r4, #1 + 12dfc: e7e6 b.n 12dcc <_ntoa_format+0x11c> if(!(flags & FLAGS_LEFT) && !(flags & FLAGS_ZEROPAD)) { - 133a6: 465e mov r6, fp + 12dfe: 465e mov r6, fp while(len) { - 133a8: 4635 mov r5, r6 - 133aa: b15c cbz r4, 133c4 <_ntoa_format+0x16c> - 133ac: 44a1 add r9, r4 - 133ae: 4434 add r4, r6 - 133b0: 4632 mov r2, r6 + 12e00: 4635 mov r5, r6 + 12e02: b15c cbz r4, 12e1c <_ntoa_format+0x16c> + 12e04: 44a1 add r9, r4 + 12e06: 4434 add r4, r6 + 12e08: 4632 mov r2, r6 out(buf[--len], buffer, idx++, maxlen); - 133b2: 1c55 adds r5, r2, #1 - 133b4: 4643 mov r3, r8 - 133b6: 9900 ldr r1, [sp, #0] - 133b8: f819 0d01 ldrb.w r0, [r9, #-1]! - 133bc: 47b8 blx r7 - 133be: 462a mov r2, r5 + 12e0a: 1c55 adds r5, r2, #1 + 12e0c: 4643 mov r3, r8 + 12e0e: 9900 ldr r1, [sp, #0] + 12e10: f819 0d01 ldrb.w r0, [r9, #-1]! + 12e14: 47b8 blx r7 + 12e16: 462a mov r2, r5 while(len) { - 133c0: 42ac cmp r4, r5 - 133c2: d1f6 bne.n 133b2 <_ntoa_format+0x15a> + 12e18: 42ac cmp r4, r5 + 12e1a: d1f6 bne.n 12e0a <_ntoa_format+0x15a> if(flags & FLAGS_LEFT) { - 133c4: 9b01 ldr r3, [sp, #4] - 133c6: b1a3 cbz r3, 133f2 <_ntoa_format+0x19a> + 12e1c: 9b01 ldr r3, [sp, #4] + 12e1e: b1a3 cbz r3, 12e4a <_ntoa_format+0x19a> while(idx - start_idx < width) { - 133c8: eba5 030b sub.w r3, r5, fp - 133cc: 4553 cmp r3, sl - 133ce: d212 bcs.n 133f6 <_ntoa_format+0x19e> + 12e20: eba5 030b sub.w r3, r5, fp + 12e24: 4553 cmp r3, sl + 12e26: d212 bcs.n 12e4e <_ntoa_format+0x19e> out(' ', buffer, idx++, maxlen); - 133d0: 2620 movs r6, #32 - 133d2: 462a mov r2, r5 - 133d4: 9d00 ldr r5, [sp, #0] - 133d6: 1c54 adds r4, r2, #1 - 133d8: 4643 mov r3, r8 - 133da: 4629 mov r1, r5 - 133dc: 4630 mov r0, r6 - 133de: 47b8 blx r7 - 133e0: 4622 mov r2, r4 + 12e28: 2620 movs r6, #32 + 12e2a: 462a mov r2, r5 + 12e2c: 9d00 ldr r5, [sp, #0] + 12e2e: 1c54 adds r4, r2, #1 + 12e30: 4643 mov r3, r8 + 12e32: 4629 mov r1, r5 + 12e34: 4630 mov r0, r6 + 12e36: 47b8 blx r7 + 12e38: 4622 mov r2, r4 while(idx - start_idx < width) { - 133e2: eba4 030b sub.w r3, r4, fp - 133e6: 4553 cmp r3, sl - 133e8: d3f5 bcc.n 133d6 <_ntoa_format+0x17e> + 12e3a: eba4 030b sub.w r3, r4, fp + 12e3e: 4553 cmp r3, sl + 12e40: d3f5 bcc.n 12e2e <_ntoa_format+0x17e> } } return _out_rev(out, buffer, idx, maxlen, buf, len, width, flags); } - 133ea: 4620 mov r0, r4 - 133ec: b003 add sp, #12 - 133ee: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 12e42: 4620 mov r0, r4 + 12e44: b003 add sp, #12 + 12e46: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} if(flags & FLAGS_LEFT) { - 133f2: 462c mov r4, r5 - 133f4: e7f9 b.n 133ea <_ntoa_format+0x192> + 12e4a: 462c mov r4, r5 + 12e4c: e7f9 b.n 12e42 <_ntoa_format+0x192> while(idx - start_idx < width) { - 133f6: 462c mov r4, r5 + 12e4e: 462c mov r4, r5 return _out_rev(out, buffer, idx, maxlen, buf, len, width, flags); - 133f8: e7f7 b.n 133ea <_ntoa_format+0x192> + 12e50: e7f7 b.n 12e42 <_ntoa_format+0x192> while((len < prec) && (len < PRINTF_NTOA_BUFFER_SIZE)) { - 133fa: 428c cmp r4, r1 - 133fc: f4bf af76 bcs.w 132ec <_ntoa_format+0x94> - 13400: 2c1f cmp r4, #31 - 13402: f67f af53 bls.w 132ac <_ntoa_format+0x54> - 13406: e771 b.n 132ec <_ntoa_format+0x94> + 12e52: 428c cmp r4, r1 + 12e54: f4bf af76 bcs.w 12d44 <_ntoa_format+0x94> + 12e58: 2c1f cmp r4, #31 + 12e5a: f67f af53 bls.w 12d04 <_ntoa_format+0x54> + 12e5e: e771 b.n 12d44 <_ntoa_format+0x94> else if((base == 16U) && (flags & FLAGS_UPPERCASE) && (len < PRINTF_NTOA_BUFFER_SIZE)) { - 13408: 2c1f cmp r4, #31 - 1340a: d8b3 bhi.n 13374 <_ntoa_format+0x11c> + 12e60: 2c1f cmp r4, #31 + 12e62: d8b3 bhi.n 12dcc <_ntoa_format+0x11c> buf[len++] = 'X'; - 1340c: 2358 movs r3, #88 ; 0x58 - 1340e: f809 3004 strb.w r3, [r9, r4] - 13412: 3401 adds r4, #1 - 13414: e77b b.n 1330e <_ntoa_format+0xb6> + 12e64: 2358 movs r3, #88 ; 0x58 + 12e66: f809 3004 strb.w r3, [r9, r4] + 12e6a: 3401 adds r4, #1 + 12e6c: e77b b.n 12d66 <_ntoa_format+0xb6> ... -00013418 <_ntoa_long>: +00012e70 <_ntoa_long>: // internal itoa for 'long' type static size_t _ntoa_long(out_fct_type out, char * buffer, size_t idx, size_t maxlen, unsigned long value, bool negative, unsigned long base, unsigned int prec, unsigned int width, unsigned int flags) { - 13418: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - 1341c: b090 sub sp, #64 ; 0x40 - 1341e: 9d16 ldr r5, [sp, #88] ; 0x58 - 13420: 9e18 ldr r6, [sp, #96] ; 0x60 - 13422: f8dd 806c ldr.w r8, [sp, #108] ; 0x6c + 12e70: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} + 12e74: b090 sub sp, #64 ; 0x40 + 12e76: 9d16 ldr r5, [sp, #88] ; 0x58 + 12e78: 9e18 ldr r6, [sp, #96] ; 0x60 + 12e7a: f8dd 806c ldr.w r8, [sp, #108] ; 0x6c char buf[PRINTF_NTOA_BUFFER_SIZE]; size_t len = 0U; // no hash for 0 values if(!value) { - 13426: b92d cbnz r5, 13434 <_ntoa_long+0x1c> + 12e7e: b92d cbnz r5, 12e8c <_ntoa_long+0x1c> flags &= ~FLAGS_HASH; - 13428: f028 0410 bic.w r4, r8, #16 + 12e80: f028 0410 bic.w r4, r8, #16 } // write if precision != 0 and value is != 0 if(!(flags & FLAGS_PRECISION) || value) { - 1342c: f418 6f80 tst.w r8, #1024 ; 0x400 - 13430: d12f bne.n 13492 <_ntoa_long+0x7a> + 12e84: f418 6f80 tst.w r8, #1024 ; 0x400 + 12e88: d12f bne.n 12eea <_ntoa_long+0x7a> flags &= ~FLAGS_HASH; - 13432: 46a0 mov r8, r4 - 13434: f018 0f20 tst.w r8, #32 - 13438: f10d 0e1f add.w lr, sp, #31 + 12e8a: 46a0 mov r8, r4 + 12e8c: f018 0f20 tst.w r8, #32 + 12e90: f10d 0e1f add.w lr, sp, #31 do { const char digit = (char)(value % base); buf[len++] = digit < 10 ? '0' + digit : (flags & FLAGS_UPPERCASE ? 'A' : 'a') + digit - 10; - 1343c: f04f 0700 mov.w r7, #0 - 13440: bf14 ite ne - 13442: f04f 0c37 movne.w ip, #55 ; 0x37 - 13446: f04f 0c57 moveq.w ip, #87 ; 0x57 + 12e94: f04f 0700 mov.w r7, #0 + 12e98: bf14 ite ne + 12e9a: f04f 0c37 movne.w ip, #55 ; 0x37 + 12e9e: f04f 0c57 moveq.w ip, #87 ; 0x57 const char digit = (char)(value % base); - 1344a: fbb5 f4f6 udiv r4, r5, r6 - 1344e: fb06 5414 mls r4, r6, r4, r5 - 13452: b2e4 uxtb r4, r4 + 12ea2: fbb5 f4f6 udiv r4, r5, r6 + 12ea6: fb06 5414 mls r4, r6, r4, r5 + 12eaa: b2e4 uxtb r4, r4 buf[len++] = digit < 10 ? '0' + digit : (flags & FLAGS_UPPERCASE ? 'A' : 'a') + digit - 10; - 13454: 3701 adds r7, #1 - 13456: 2c09 cmp r4, #9 - 13458: bf94 ite ls - 1345a: 3430 addls r4, #48 ; 0x30 - 1345c: 4464 addhi r4, ip - 1345e: b2e4 uxtb r4, r4 - 13460: f80e 4f01 strb.w r4, [lr, #1]! + 12eac: 3701 adds r7, #1 + 12eae: 2c09 cmp r4, #9 + 12eb0: bf94 ite ls + 12eb2: 3430 addls r4, #48 ; 0x30 + 12eb4: 4464 addhi r4, ip + 12eb6: b2e4 uxtb r4, r4 + 12eb8: f80e 4f01 strb.w r4, [lr, #1]! value /= base; - 13464: fbb5 f5f6 udiv r5, r5, r6 + 12ebc: fbb5 f5f6 udiv r5, r5, r6 } while(value && (len < PRINTF_NTOA_BUFFER_SIZE)); - 13468: b10d cbz r5, 1346e <_ntoa_long+0x56> - 1346a: 2f20 cmp r7, #32 - 1346c: d1ed bne.n 1344a <_ntoa_long+0x32> + 12ec0: b10d cbz r5, 12ec6 <_ntoa_long+0x56> + 12ec2: 2f20 cmp r7, #32 + 12ec4: d1ed bne.n 12ea2 <_ntoa_long+0x32> } return _ntoa_format(out, buffer, idx, maxlen, buf, len, negative, (unsigned int)base, prec, width, flags); - 1346e: f8cd 8018 str.w r8, [sp, #24] - 13472: 9c1a ldr r4, [sp, #104] ; 0x68 - 13474: 9405 str r4, [sp, #20] - 13476: 9c19 ldr r4, [sp, #100] ; 0x64 - 13478: 9404 str r4, [sp, #16] - 1347a: 9603 str r6, [sp, #12] - 1347c: f89d 405c ldrb.w r4, [sp, #92] ; 0x5c - 13480: 9402 str r4, [sp, #8] - 13482: 9701 str r7, [sp, #4] - 13484: ac08 add r4, sp, #32 - 13486: 9400 str r4, [sp, #0] - 13488: 4c03 ldr r4, [pc, #12] ; (13498 <_ntoa_long+0x80>) - 1348a: 47a0 blx r4 -} - 1348c: b010 add sp, #64 ; 0x40 - 1348e: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + 12ec6: f8cd 8018 str.w r8, [sp, #24] + 12eca: 9c1a ldr r4, [sp, #104] ; 0x68 + 12ecc: 9405 str r4, [sp, #20] + 12ece: 9c19 ldr r4, [sp, #100] ; 0x64 + 12ed0: 9404 str r4, [sp, #16] + 12ed2: 9603 str r6, [sp, #12] + 12ed4: f89d 405c ldrb.w r4, [sp, #92] ; 0x5c + 12ed8: 9402 str r4, [sp, #8] + 12eda: 9701 str r7, [sp, #4] + 12edc: ac08 add r4, sp, #32 + 12ede: 9400 str r4, [sp, #0] + 12ee0: 4c03 ldr r4, [pc, #12] ; (12ef0 <_ntoa_long+0x80>) + 12ee2: 47a0 blx r4 +} + 12ee4: b010 add sp, #64 ; 0x40 + 12ee6: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} flags &= ~FLAGS_HASH; - 13492: 46a0 mov r8, r4 + 12eea: 46a0 mov r8, r4 size_t len = 0U; - 13494: 2700 movs r7, #0 - 13496: e7ea b.n 1346e <_ntoa_long+0x56> - 13498: 00013259 .word 0x00013259 + 12eec: 2700 movs r7, #0 + 12eee: e7ea b.n 12ec6 <_ntoa_long+0x56> + 12ef0: 00012cb1 .word 0x00012cb1 -0001349c <_ntoa_long_long>: +00012ef4 <_ntoa_long_long>: // internal itoa for 'long long' type #if defined(PRINTF_SUPPORT_LONG_LONG) static size_t _ntoa_long_long(out_fct_type out, char * buffer, size_t idx, size_t maxlen, unsigned long long value, bool negative, unsigned long long base, unsigned int prec, unsigned int width, unsigned int flags) { - 1349c: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 134a0: b095 sub sp, #84 ; 0x54 - 134a2: 9008 str r0, [sp, #32] - 134a4: 9109 str r1, [sp, #36] ; 0x24 - 134a6: 920a str r2, [sp, #40] ; 0x28 - 134a8: 930b str r3, [sp, #44] ; 0x2c - 134aa: e9dd 451e ldrd r4, r5, [sp, #120] ; 0x78 - 134ae: f8dd 9088 ldr.w r9, [sp, #136] ; 0x88 - 134b2: f8dd 808c ldr.w r8, [sp, #140] ; 0x8c + 12ef4: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 12ef8: b095 sub sp, #84 ; 0x54 + 12efa: 9008 str r0, [sp, #32] + 12efc: 9109 str r1, [sp, #36] ; 0x24 + 12efe: 920a str r2, [sp, #40] ; 0x28 + 12f00: 930b str r3, [sp, #44] ; 0x2c + 12f02: e9dd 451e ldrd r4, r5, [sp, #120] ; 0x78 + 12f06: f8dd 9088 ldr.w r9, [sp, #136] ; 0x88 + 12f0a: f8dd 808c ldr.w r8, [sp, #140] ; 0x8c char buf[PRINTF_NTOA_BUFFER_SIZE]; size_t len = 0U; // no hash for 0 values if(!value) { - 134b6: ea54 0305 orrs.w r3, r4, r5 - 134ba: d107 bne.n 134cc <_ntoa_long_long+0x30> + 12f0e: ea54 0305 orrs.w r3, r4, r5 + 12f12: d107 bne.n 12f24 <_ntoa_long_long+0x30> flags &= ~FLAGS_HASH; - 134bc: 9b26 ldr r3, [sp, #152] ; 0x98 - 134be: f023 0310 bic.w r3, r3, #16 + 12f14: 9b26 ldr r3, [sp, #152] ; 0x98 + 12f16: f023 0310 bic.w r3, r3, #16 } // write if precision != 0 and value is != 0 if(!(flags & FLAGS_PRECISION) || value) { - 134c2: 9a26 ldr r2, [sp, #152] ; 0x98 - 134c4: f412 6f80 tst.w r2, #1024 ; 0x400 - 134c8: d13e bne.n 13548 <_ntoa_long_long+0xac> + 12f1a: 9a26 ldr r2, [sp, #152] ; 0x98 + 12f1c: f412 6f80 tst.w r2, #1024 ; 0x400 + 12f20: d13e bne.n 12fa0 <_ntoa_long_long+0xac> flags &= ~FLAGS_HASH; - 134ca: 9326 str r3, [sp, #152] ; 0x98 - 134cc: 9b26 ldr r3, [sp, #152] ; 0x98 - 134ce: f013 0f20 tst.w r3, #32 - 134d2: f10d 0a2f add.w sl, sp, #47 ; 0x2f + 12f22: 9326 str r3, [sp, #152] ; 0x98 + 12f24: 9b26 ldr r3, [sp, #152] ; 0x98 + 12f26: f013 0f20 tst.w r3, #32 + 12f2a: f10d 0a2f add.w sl, sp, #47 ; 0x2f do { const char digit = (char)(value % base); buf[len++] = digit < 10 ? '0' + digit : (flags & FLAGS_UPPERCASE ? 'A' : 'a') + digit - 10; - 134d6: f04f 0600 mov.w r6, #0 + 12f2e: f04f 0600 mov.w r6, #0 const char digit = (char)(value % base); - 134da: 4f1d ldr r7, [pc, #116] ; (13550 <_ntoa_long_long+0xb4>) + 12f32: 4f1d ldr r7, [pc, #116] ; (12fa8 <_ntoa_long_long+0xb4>) buf[len++] = digit < 10 ? '0' + digit : (flags & FLAGS_UPPERCASE ? 'A' : 'a') + digit - 10; - 134dc: bf14 ite ne - 134de: f04f 0b37 movne.w fp, #55 ; 0x37 - 134e2: f04f 0b57 moveq.w fp, #87 ; 0x57 + 12f34: bf14 ite ne + 12f36: f04f 0b37 movne.w fp, #55 ; 0x37 + 12f3a: f04f 0b57 moveq.w fp, #87 ; 0x57 const char digit = (char)(value % base); - 134e6: 464a mov r2, r9 - 134e8: 4643 mov r3, r8 - 134ea: 4620 mov r0, r4 - 134ec: 4629 mov r1, r5 - 134ee: 47b8 blx r7 - 134f0: b2d2 uxtb r2, r2 + 12f3e: 464a mov r2, r9 + 12f40: 4643 mov r3, r8 + 12f42: 4620 mov r0, r4 + 12f44: 4629 mov r1, r5 + 12f46: 47b8 blx r7 + 12f48: b2d2 uxtb r2, r2 buf[len++] = digit < 10 ? '0' + digit : (flags & FLAGS_UPPERCASE ? 'A' : 'a') + digit - 10; - 134f2: 3601 adds r6, #1 - 134f4: 2a09 cmp r2, #9 - 134f6: bf94 ite ls - 134f8: 3230 addls r2, #48 ; 0x30 - 134fa: 445a addhi r2, fp - 134fc: b2d2 uxtb r2, r2 - 134fe: f80a 2f01 strb.w r2, [sl, #1]! + 12f4a: 3601 adds r6, #1 + 12f4c: 2a09 cmp r2, #9 + 12f4e: bf94 ite ls + 12f50: 3230 addls r2, #48 ; 0x30 + 12f52: 445a addhi r2, fp + 12f54: b2d2 uxtb r2, r2 + 12f56: f80a 2f01 strb.w r2, [sl, #1]! value /= base; - 13502: 464a mov r2, r9 - 13504: 4643 mov r3, r8 - 13506: 4620 mov r0, r4 - 13508: 4629 mov r1, r5 - 1350a: 47b8 blx r7 - 1350c: 4604 mov r4, r0 - 1350e: 460d mov r5, r1 + 12f5a: 464a mov r2, r9 + 12f5c: 4643 mov r3, r8 + 12f5e: 4620 mov r0, r4 + 12f60: 4629 mov r1, r5 + 12f62: 47b8 blx r7 + 12f64: 4604 mov r4, r0 + 12f66: 460d mov r5, r1 } while(value && (len < PRINTF_NTOA_BUFFER_SIZE)); - 13510: ea54 0305 orrs.w r3, r4, r5 - 13514: d001 beq.n 1351a <_ntoa_long_long+0x7e> - 13516: 2e20 cmp r6, #32 - 13518: d1e5 bne.n 134e6 <_ntoa_long_long+0x4a> + 12f68: ea54 0305 orrs.w r3, r4, r5 + 12f6c: d001 beq.n 12f72 <_ntoa_long_long+0x7e> + 12f6e: 2e20 cmp r6, #32 + 12f70: d1e5 bne.n 12f3e <_ntoa_long_long+0x4a> } return _ntoa_format(out, buffer, idx, maxlen, buf, len, negative, (unsigned int)base, prec, width, flags); - 1351a: 9b26 ldr r3, [sp, #152] ; 0x98 - 1351c: 9306 str r3, [sp, #24] - 1351e: 9b25 ldr r3, [sp, #148] ; 0x94 - 13520: 9305 str r3, [sp, #20] - 13522: 9b24 ldr r3, [sp, #144] ; 0x90 - 13524: 9304 str r3, [sp, #16] - 13526: f8cd 900c str.w r9, [sp, #12] - 1352a: f89d 3080 ldrb.w r3, [sp, #128] ; 0x80 - 1352e: 9302 str r3, [sp, #8] - 13530: 9601 str r6, [sp, #4] - 13532: ab0c add r3, sp, #48 ; 0x30 - 13534: 9300 str r3, [sp, #0] - 13536: 9b0b ldr r3, [sp, #44] ; 0x2c - 13538: 9a0a ldr r2, [sp, #40] ; 0x28 - 1353a: 9909 ldr r1, [sp, #36] ; 0x24 - 1353c: 9808 ldr r0, [sp, #32] - 1353e: 4c05 ldr r4, [pc, #20] ; (13554 <_ntoa_long_long+0xb8>) - 13540: 47a0 blx r4 -} - 13542: b015 add sp, #84 ; 0x54 - 13544: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 12f72: 9b26 ldr r3, [sp, #152] ; 0x98 + 12f74: 9306 str r3, [sp, #24] + 12f76: 9b25 ldr r3, [sp, #148] ; 0x94 + 12f78: 9305 str r3, [sp, #20] + 12f7a: 9b24 ldr r3, [sp, #144] ; 0x90 + 12f7c: 9304 str r3, [sp, #16] + 12f7e: f8cd 900c str.w r9, [sp, #12] + 12f82: f89d 3080 ldrb.w r3, [sp, #128] ; 0x80 + 12f86: 9302 str r3, [sp, #8] + 12f88: 9601 str r6, [sp, #4] + 12f8a: ab0c add r3, sp, #48 ; 0x30 + 12f8c: 9300 str r3, [sp, #0] + 12f8e: 9b0b ldr r3, [sp, #44] ; 0x2c + 12f90: 9a0a ldr r2, [sp, #40] ; 0x28 + 12f92: 9909 ldr r1, [sp, #36] ; 0x24 + 12f94: 9808 ldr r0, [sp, #32] + 12f96: 4c05 ldr r4, [pc, #20] ; (12fac <_ntoa_long_long+0xb8>) + 12f98: 47a0 blx r4 +} + 12f9a: b015 add sp, #84 ; 0x54 + 12f9c: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} flags &= ~FLAGS_HASH; - 13548: 9326 str r3, [sp, #152] ; 0x98 + 12fa0: 9326 str r3, [sp, #152] ; 0x98 size_t len = 0U; - 1354a: 2600 movs r6, #0 - 1354c: e7e5 b.n 1351a <_ntoa_long_long+0x7e> - 1354e: bf00 nop - 13550: 0001abb5 .word 0x0001abb5 - 13554: 00013259 .word 0x00013259 + 12fa2: 2600 movs r6, #0 + 12fa4: e7e5 b.n 12f72 <_ntoa_long_long+0x7e> + 12fa6: bf00 nop + 12fa8: 0001b185 .word 0x0001b185 + 12fac: 00012cb1 .word 0x00012cb1 -00013558 <_vsnprintf>: +00012fb0 <_vsnprintf>: #endif // PRINTF_SUPPORT_FLOAT // internal vsnprintf static int _vsnprintf(out_fct_type out, char * buffer, const size_t maxlen, const char * format, va_list va) { - 13558: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 1355c: b091 sub sp, #68 ; 0x44 - 1355e: 920a str r2, [sp, #40] ; 0x28 - 13560: 461c mov r4, r3 - 13562: 9e1a ldr r6, [sp, #104] ; 0x68 + 12fb0: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 12fb4: b091 sub sp, #68 ; 0x44 + 12fb6: 920a str r2, [sp, #40] ; 0x28 + 12fb8: 461c mov r4, r3 + 12fba: 9e1a ldr r6, [sp, #104] ; 0x68 unsigned int flags, width, precision, n; size_t idx = 0U; if(!buffer) { - 13564: 910b str r1, [sp, #44] ; 0x2c + 12fbc: 910b str r1, [sp, #44] ; 0x2c // use null output function out = _out_null; - 13566: 4b93 ldr r3, [pc, #588] ; (137b4 <_vsnprintf+0x25c>) - 13568: 2900 cmp r1, #0 - 1356a: bf14 ite ne - 1356c: 4681 movne r9, r0 - 1356e: 4699 moveq r9, r3 + 12fbe: 4b93 ldr r3, [pc, #588] ; (1320c <_vsnprintf+0x25c>) + 12fc0: 2900 cmp r1, #0 + 12fc2: bf14 ite ne + 12fc4: 4681 movne r9, r0 + 12fc6: 4699 moveq r9, r3 format++; break; } case '%' : out('%', buffer, idx++, maxlen); - 13570: f04f 0b00 mov.w fp, #0 + 12fc8: f04f 0b00 mov.w fp, #0 while(*format) { - 13574: 7820 ldrb r0, [r4, #0] - 13576: 2800 cmp r0, #0 - 13578: f000 826a beq.w 13a50 <_vsnprintf+0x4f8> + 12fcc: 7820 ldrb r0, [r4, #0] + 12fce: 2800 cmp r0, #0 + 12fd0: f000 826a beq.w 134a8 <_vsnprintf+0x4f8> if(*format != '%') { - 1357c: 2825 cmp r0, #37 ; 0x25 - 1357e: d008 beq.n 13592 <_vsnprintf+0x3a> + 12fd4: 2825 cmp r0, #37 ; 0x25 + 12fd6: d008 beq.n 12fea <_vsnprintf+0x3a> out(*format, buffer, idx++, maxlen); - 13580: f10b 0501 add.w r5, fp, #1 - 13584: 9b0a ldr r3, [sp, #40] ; 0x28 - 13586: 465a mov r2, fp - 13588: 990b ldr r1, [sp, #44] ; 0x2c - 1358a: 47c8 blx r9 + 12fd8: f10b 0501 add.w r5, fp, #1 + 12fdc: 9b0a ldr r3, [sp, #40] ; 0x28 + 12fde: 465a mov r2, fp + 12fe0: 990b ldr r1, [sp, #44] ; 0x2c + 12fe2: 47c8 blx r9 format++; - 1358c: 3401 adds r4, #1 + 12fe4: 3401 adds r4, #1 out(*format, buffer, idx++, maxlen); - 1358e: 46ab mov fp, r5 + 12fe6: 46ab mov fp, r5 continue; - 13590: e7f0 b.n 13574 <_vsnprintf+0x1c> + 12fe8: e7f0 b.n 12fcc <_vsnprintf+0x1c> format++; - 13592: 1c62 adds r2, r4, #1 + 12fea: 1c62 adds r2, r4, #1 flags = 0U; - 13594: 2100 movs r1, #0 - 13596: e001 b.n 1359c <_vsnprintf+0x44> + 12fec: 2100 movs r1, #0 + 12fee: e001 b.n 12ff4 <_vsnprintf+0x44> flags |= FLAGS_ZEROPAD; - 13598: f041 0101 orr.w r1, r1, #1 - 1359c: 4614 mov r4, r2 - 1359e: 3201 adds r2, #1 + 12ff0: f041 0101 orr.w r1, r1, #1 + 12ff4: 4614 mov r4, r2 + 12ff6: 3201 adds r2, #1 switch(*format) { - 135a0: 7823 ldrb r3, [r4, #0] - 135a2: 3b20 subs r3, #32 - 135a4: 2b10 cmp r3, #16 - 135a6: d831 bhi.n 1360c <_vsnprintf+0xb4> - 135a8: a001 add r0, pc, #4 ; (adr r0, 135b0 <_vsnprintf+0x58>) - 135aa: f850 f023 ldr.w pc, [r0, r3, lsl #2] - 135ae: bf00 nop - 135b0: 00013601 .word 0x00013601 - 135b4: 0001360d .word 0x0001360d - 135b8: 0001360d .word 0x0001360d - 135bc: 00013607 .word 0x00013607 - 135c0: 0001360d .word 0x0001360d - 135c4: 0001360d .word 0x0001360d - 135c8: 0001360d .word 0x0001360d - 135cc: 0001360d .word 0x0001360d - 135d0: 0001360d .word 0x0001360d - 135d4: 0001360d .word 0x0001360d - 135d8: 0001360d .word 0x0001360d - 135dc: 000135fb .word 0x000135fb - 135e0: 0001360d .word 0x0001360d - 135e4: 000135f5 .word 0x000135f5 - 135e8: 0001360d .word 0x0001360d - 135ec: 0001360d .word 0x0001360d - 135f0: 00013599 .word 0x00013599 + 12ff8: 7823 ldrb r3, [r4, #0] + 12ffa: 3b20 subs r3, #32 + 12ffc: 2b10 cmp r3, #16 + 12ffe: d831 bhi.n 13064 <_vsnprintf+0xb4> + 13000: a001 add r0, pc, #4 ; (adr r0, 13008 <_vsnprintf+0x58>) + 13002: f850 f023 ldr.w pc, [r0, r3, lsl #2] + 13006: bf00 nop + 13008: 00013059 .word 0x00013059 + 1300c: 00013065 .word 0x00013065 + 13010: 00013065 .word 0x00013065 + 13014: 0001305f .word 0x0001305f + 13018: 00013065 .word 0x00013065 + 1301c: 00013065 .word 0x00013065 + 13020: 00013065 .word 0x00013065 + 13024: 00013065 .word 0x00013065 + 13028: 00013065 .word 0x00013065 + 1302c: 00013065 .word 0x00013065 + 13030: 00013065 .word 0x00013065 + 13034: 00013053 .word 0x00013053 + 13038: 00013065 .word 0x00013065 + 1303c: 0001304d .word 0x0001304d + 13040: 00013065 .word 0x00013065 + 13044: 00013065 .word 0x00013065 + 13048: 00012ff1 .word 0x00012ff1 flags |= FLAGS_LEFT; - 135f4: f041 0102 orr.w r1, r1, #2 + 1304c: f041 0102 orr.w r1, r1, #2 break; - 135f8: e7d0 b.n 1359c <_vsnprintf+0x44> + 13050: e7d0 b.n 12ff4 <_vsnprintf+0x44> flags |= FLAGS_PLUS; - 135fa: f041 0104 orr.w r1, r1, #4 + 13052: f041 0104 orr.w r1, r1, #4 break; - 135fe: e7cd b.n 1359c <_vsnprintf+0x44> + 13056: e7cd b.n 12ff4 <_vsnprintf+0x44> flags |= FLAGS_SPACE; - 13600: f041 0108 orr.w r1, r1, #8 + 13058: f041 0108 orr.w r1, r1, #8 break; - 13604: e7ca b.n 1359c <_vsnprintf+0x44> + 1305c: e7ca b.n 12ff4 <_vsnprintf+0x44> flags |= FLAGS_HASH; - 13606: f041 0110 orr.w r1, r1, #16 + 1305e: f041 0110 orr.w r1, r1, #16 break; - 1360a: e7c7 b.n 1359c <_vsnprintf+0x44> + 13062: e7c7 b.n 12ff4 <_vsnprintf+0x44> if(_is_digit(*format)) { - 1360c: 7823 ldrb r3, [r4, #0] + 13064: 7823 ldrb r3, [r4, #0] return (ch >= '0') && (ch <= '9'); - 1360e: f1a3 0230 sub.w r2, r3, #48 ; 0x30 + 13066: f1a3 0230 sub.w r2, r3, #48 ; 0x30 if(_is_digit(*format)) { - 13612: b2d2 uxtb r2, r2 - 13614: 2a09 cmp r2, #9 - 13616: d916 bls.n 13646 <_vsnprintf+0xee> + 1306a: b2d2 uxtb r2, r2 + 1306c: 2a09 cmp r2, #9 + 1306e: d916 bls.n 1309e <_vsnprintf+0xee> else if(*format == '*') { - 13618: 2b2a cmp r3, #42 ; 0x2a - 1361a: d022 beq.n 13662 <_vsnprintf+0x10a> + 13070: 2b2a cmp r3, #42 ; 0x2a + 13072: d022 beq.n 130ba <_vsnprintf+0x10a> width = 0U; - 1361c: 2500 movs r5, #0 + 13074: 2500 movs r5, #0 if(*format == '.') { - 1361e: 7823 ldrb r3, [r4, #0] - 13620: 2b2e cmp r3, #46 ; 0x2e - 13622: d028 beq.n 13676 <_vsnprintf+0x11e> + 13076: 7823 ldrb r3, [r4, #0] + 13078: 2b2e cmp r3, #46 ; 0x2e + 1307a: d028 beq.n 130ce <_vsnprintf+0x11e> precision = 0U; - 13624: 2700 movs r7, #0 + 1307c: 2700 movs r7, #0 switch(*format) { - 13626: 7823 ldrb r3, [r4, #0] - 13628: 3b68 subs r3, #104 ; 0x68 - 1362a: 2b12 cmp r3, #18 - 1362c: d84f bhi.n 136ce <_vsnprintf+0x176> - 1362e: e8df f003 tbb [pc, r3] - 13632: 4eaa .short 0x4eaa - 13634: 4e454eb8 .word 0x4e454eb8 - 13638: 4e4e4e4e .word 0x4e4e4e4e - 1363c: 4eb44e4e .word 0x4eb44e4e - 13640: 4e4e4e4e .word 0x4e4e4e4e - 13644: bc .byte 0xbc - 13645: 00 .byte 0x00 - 13646: 2500 movs r5, #0 + 1307e: 7823 ldrb r3, [r4, #0] + 13080: 3b68 subs r3, #104 ; 0x68 + 13082: 2b12 cmp r3, #18 + 13084: d84f bhi.n 13126 <_vsnprintf+0x176> + 13086: e8df f003 tbb [pc, r3] + 1308a: 4eaa .short 0x4eaa + 1308c: 4e454eb8 .word 0x4e454eb8 + 13090: 4e4e4e4e .word 0x4e4e4e4e + 13094: 4eb44e4e .word 0x4eb44e4e + 13098: 4e4e4e4e .word 0x4e4e4e4e + 1309c: bc .byte 0xbc + 1309d: 00 .byte 0x00 + 1309e: 2500 movs r5, #0 i = i * 10U + (unsigned int)(*((*str)++) - '0'); - 13648: eb05 0585 add.w r5, r5, r5, lsl #2 - 1364c: eb03 0545 add.w r5, r3, r5, lsl #1 - 13650: 3d30 subs r5, #48 ; 0x30 + 130a0: eb05 0585 add.w r5, r5, r5, lsl #2 + 130a4: eb03 0545 add.w r5, r3, r5, lsl #1 + 130a8: 3d30 subs r5, #48 ; 0x30 while(_is_digit(**str)) { - 13652: f814 3f01 ldrb.w r3, [r4, #1]! + 130aa: f814 3f01 ldrb.w r3, [r4, #1]! return (ch >= '0') && (ch <= '9'); - 13656: f1a3 0230 sub.w r2, r3, #48 ; 0x30 + 130ae: f1a3 0230 sub.w r2, r3, #48 ; 0x30 while(_is_digit(**str)) { - 1365a: b2d2 uxtb r2, r2 - 1365c: 2a09 cmp r2, #9 - 1365e: d9f3 bls.n 13648 <_vsnprintf+0xf0> - 13660: e7dd b.n 1361e <_vsnprintf+0xc6> + 130b2: b2d2 uxtb r2, r2 + 130b4: 2a09 cmp r2, #9 + 130b6: d9f3 bls.n 130a0 <_vsnprintf+0xf0> + 130b8: e7dd b.n 13076 <_vsnprintf+0xc6> const int w = va_arg(va, int); - 13662: 1d33 adds r3, r6, #4 - 13664: 6835 ldr r5, [r6, #0] + 130ba: 1d33 adds r3, r6, #4 + 130bc: 6835 ldr r5, [r6, #0] if(w < 0) { - 13666: 2d00 cmp r5, #0 + 130be: 2d00 cmp r5, #0 flags |= FLAGS_LEFT; // reverse padding - 13668: bfbc itt lt - 1366a: f041 0102 orrlt.w r1, r1, #2 + 130c0: bfbc itt lt + 130c2: f041 0102 orrlt.w r1, r1, #2 width = (unsigned int) - w; - 1366e: 426d neglt r5, r5 + 130c6: 426d neglt r5, r5 format++; - 13670: 3401 adds r4, #1 + 130c8: 3401 adds r4, #1 const int w = va_arg(va, int); - 13672: 461e mov r6, r3 - 13674: e7d3 b.n 1361e <_vsnprintf+0xc6> + 130ca: 461e mov r6, r3 + 130cc: e7d3 b.n 13076 <_vsnprintf+0xc6> flags |= FLAGS_PRECISION; - 13676: f441 6180 orr.w r1, r1, #1024 ; 0x400 + 130ce: f441 6180 orr.w r1, r1, #1024 ; 0x400 format++; - 1367a: 1c60 adds r0, r4, #1 + 130d2: 1c60 adds r0, r4, #1 if(_is_digit(*format)) { - 1367c: 7863 ldrb r3, [r4, #1] + 130d4: 7863 ldrb r3, [r4, #1] return (ch >= '0') && (ch <= '9'); - 1367e: f1a3 0230 sub.w r2, r3, #48 ; 0x30 + 130d6: f1a3 0230 sub.w r2, r3, #48 ; 0x30 if(_is_digit(*format)) { - 13682: b2d2 uxtb r2, r2 - 13684: 2a09 cmp r2, #9 - 13686: d904 bls.n 13692 <_vsnprintf+0x13a> + 130da: b2d2 uxtb r2, r2 + 130dc: 2a09 cmp r2, #9 + 130de: d904 bls.n 130ea <_vsnprintf+0x13a> else if(*format == '*') { - 13688: 2b2a cmp r3, #42 ; 0x2a - 1368a: d011 beq.n 136b0 <_vsnprintf+0x158> + 130e0: 2b2a cmp r3, #42 ; 0x2a + 130e2: d011 beq.n 13108 <_vsnprintf+0x158> format++; - 1368c: 4604 mov r4, r0 + 130e4: 4604 mov r4, r0 precision = 0U; - 1368e: 2700 movs r7, #0 - 13690: e7c9 b.n 13626 <_vsnprintf+0xce> - 13692: 2700 movs r7, #0 + 130e6: 2700 movs r7, #0 + 130e8: e7c9 b.n 1307e <_vsnprintf+0xce> + 130ea: 2700 movs r7, #0 i = i * 10U + (unsigned int)(*((*str)++) - '0'); - 13694: eb07 0787 add.w r7, r7, r7, lsl #2 - 13698: eb03 0747 add.w r7, r3, r7, lsl #1 - 1369c: 3f30 subs r7, #48 ; 0x30 + 130ec: eb07 0787 add.w r7, r7, r7, lsl #2 + 130f0: eb03 0747 add.w r7, r3, r7, lsl #1 + 130f4: 3f30 subs r7, #48 ; 0x30 while(_is_digit(**str)) { - 1369e: f810 3f01 ldrb.w r3, [r0, #1]! + 130f6: f810 3f01 ldrb.w r3, [r0, #1]! return (ch >= '0') && (ch <= '9'); - 136a2: f1a3 0230 sub.w r2, r3, #48 ; 0x30 + 130fa: f1a3 0230 sub.w r2, r3, #48 ; 0x30 while(_is_digit(**str)) { - 136a6: b2d2 uxtb r2, r2 - 136a8: 2a09 cmp r2, #9 - 136aa: d9f3 bls.n 13694 <_vsnprintf+0x13c> + 130fe: b2d2 uxtb r2, r2 + 13100: 2a09 cmp r2, #9 + 13102: d9f3 bls.n 130ec <_vsnprintf+0x13c> i = i * 10U + (unsigned int)(*((*str)++) - '0'); - 136ac: 4604 mov r4, r0 - 136ae: e7ba b.n 13626 <_vsnprintf+0xce> + 13104: 4604 mov r4, r0 + 13106: e7ba b.n 1307e <_vsnprintf+0xce> precision = prec > 0 ? (unsigned int)prec : 0U; - 136b0: 6837 ldr r7, [r6, #0] - 136b2: ea27 77e7 bic.w r7, r7, r7, asr #31 + 13108: 6837 ldr r7, [r6, #0] + 1310a: ea27 77e7 bic.w r7, r7, r7, asr #31 format++; - 136b6: 3402 adds r4, #2 + 1310e: 3402 adds r4, #2 const int prec = (int)va_arg(va, int); - 136b8: 3604 adds r6, #4 - 136ba: e7b4 b.n 13626 <_vsnprintf+0xce> + 13110: 3604 adds r6, #4 + 13112: e7b4 b.n 1307e <_vsnprintf+0xce> if(*format == 'l') { - 136bc: 7863 ldrb r3, [r4, #1] - 136be: 2b6c cmp r3, #108 ; 0x6c + 13114: 7863 ldrb r3, [r4, #1] + 13116: 2b6c cmp r3, #108 ; 0x6c flags |= FLAGS_LONG; - 136c0: bf19 ittee ne - 136c2: f441 7180 orrne.w r1, r1, #256 ; 0x100 + 13118: bf19 ittee ne + 1311a: f441 7180 orrne.w r1, r1, #256 ; 0x100 format++; - 136c6: 3401 addne r4, #1 + 1311e: 3401 addne r4, #1 flags |= FLAGS_LONG_LONG; - 136c8: f441 7140 orreq.w r1, r1, #768 ; 0x300 + 13120: f441 7140 orreq.w r1, r1, #768 ; 0x300 format++; - 136cc: 3402 addeq r4, #2 + 13124: 3402 addeq r4, #2 switch(*format) { - 136ce: 7820 ldrb r0, [r4, #0] - 136d0: f1a0 0325 sub.w r3, r0, #37 ; 0x25 - 136d4: 2b53 cmp r3, #83 ; 0x53 - 136d6: f200 81b2 bhi.w 13a3e <_vsnprintf+0x4e6> - 136da: e8df f013 tbh [pc, r3, lsl #1] - 136de: 01a6 .short 0x01a6 - 136e0: 01b001b0 .word 0x01b001b0 - 136e4: 01b001b0 .word 0x01b001b0 - 136e8: 01b001b0 .word 0x01b001b0 - 136ec: 01b001b0 .word 0x01b001b0 - 136f0: 01b001b0 .word 0x01b001b0 - 136f4: 01b001b0 .word 0x01b001b0 - 136f8: 01b001b0 .word 0x01b001b0 - 136fc: 01b001b0 .word 0x01b001b0 - 13700: 01b001b0 .word 0x01b001b0 - 13704: 01b001b0 .word 0x01b001b0 - 13708: 01b001b0 .word 0x01b001b0 - 1370c: 01b001b0 .word 0x01b001b0 - 13710: 01b001b0 .word 0x01b001b0 - 13714: 01b001b0 .word 0x01b001b0 - 13718: 01b001b0 .word 0x01b001b0 - 1371c: 01b001b0 .word 0x01b001b0 - 13720: 01b001b0 .word 0x01b001b0 - 13724: 01b001b0 .word 0x01b001b0 - 13728: 01b001b0 .word 0x01b001b0 - 1372c: 01b001b0 .word 0x01b001b0 - 13730: 01b001b0 .word 0x01b001b0 - 13734: 01b001b0 .word 0x01b001b0 - 13738: 01b001b0 .word 0x01b001b0 - 1373c: 01b001b0 .word 0x01b001b0 - 13740: 01b001b0 .word 0x01b001b0 - 13744: 01b0006d .word 0x01b0006d - 13748: 01b001b0 .word 0x01b001b0 - 1374c: 01b001b0 .word 0x01b001b0 - 13750: 01b001b0 .word 0x01b001b0 - 13754: 01b001b0 .word 0x01b001b0 - 13758: 0114006d .word 0x0114006d - 1375c: 01b0006d .word 0x01b0006d - 13760: 01b001b0 .word 0x01b001b0 - 13764: 006d01b0 .word 0x006d01b0 - 13768: 01b001b0 .word 0x01b001b0 - 1376c: 01b001b0 .word 0x01b001b0 - 13770: 006d01b0 .word 0x006d01b0 - 13774: 01b0018f .word 0x01b0018f - 13778: 013701b0 .word 0x013701b0 - 1377c: 006d01b0 .word 0x006d01b0 - 13780: 01b001b0 .word 0x01b001b0 - 13784: 006d .short 0x006d + 13126: 7820 ldrb r0, [r4, #0] + 13128: f1a0 0325 sub.w r3, r0, #37 ; 0x25 + 1312c: 2b53 cmp r3, #83 ; 0x53 + 1312e: f200 81b2 bhi.w 13496 <_vsnprintf+0x4e6> + 13132: e8df f013 tbh [pc, r3, lsl #1] + 13136: 01a6 .short 0x01a6 + 13138: 01b001b0 .word 0x01b001b0 + 1313c: 01b001b0 .word 0x01b001b0 + 13140: 01b001b0 .word 0x01b001b0 + 13144: 01b001b0 .word 0x01b001b0 + 13148: 01b001b0 .word 0x01b001b0 + 1314c: 01b001b0 .word 0x01b001b0 + 13150: 01b001b0 .word 0x01b001b0 + 13154: 01b001b0 .word 0x01b001b0 + 13158: 01b001b0 .word 0x01b001b0 + 1315c: 01b001b0 .word 0x01b001b0 + 13160: 01b001b0 .word 0x01b001b0 + 13164: 01b001b0 .word 0x01b001b0 + 13168: 01b001b0 .word 0x01b001b0 + 1316c: 01b001b0 .word 0x01b001b0 + 13170: 01b001b0 .word 0x01b001b0 + 13174: 01b001b0 .word 0x01b001b0 + 13178: 01b001b0 .word 0x01b001b0 + 1317c: 01b001b0 .word 0x01b001b0 + 13180: 01b001b0 .word 0x01b001b0 + 13184: 01b001b0 .word 0x01b001b0 + 13188: 01b001b0 .word 0x01b001b0 + 1318c: 01b001b0 .word 0x01b001b0 + 13190: 01b001b0 .word 0x01b001b0 + 13194: 01b001b0 .word 0x01b001b0 + 13198: 01b001b0 .word 0x01b001b0 + 1319c: 01b0006d .word 0x01b0006d + 131a0: 01b001b0 .word 0x01b001b0 + 131a4: 01b001b0 .word 0x01b001b0 + 131a8: 01b001b0 .word 0x01b001b0 + 131ac: 01b001b0 .word 0x01b001b0 + 131b0: 0114006d .word 0x0114006d + 131b4: 01b0006d .word 0x01b0006d + 131b8: 01b001b0 .word 0x01b001b0 + 131bc: 006d01b0 .word 0x006d01b0 + 131c0: 01b001b0 .word 0x01b001b0 + 131c4: 01b001b0 .word 0x01b001b0 + 131c8: 006d01b0 .word 0x006d01b0 + 131cc: 01b0018f .word 0x01b0018f + 131d0: 013701b0 .word 0x013701b0 + 131d4: 006d01b0 .word 0x006d01b0 + 131d8: 01b001b0 .word 0x01b001b0 + 131dc: 006d .short 0x006d if(*format == 'h') { - 13786: 7863 ldrb r3, [r4, #1] - 13788: 2b68 cmp r3, #104 ; 0x68 + 131de: 7863 ldrb r3, [r4, #1] + 131e0: 2b68 cmp r3, #104 ; 0x68 flags |= FLAGS_SHORT; - 1378a: bf19 ittee ne - 1378c: f041 0180 orrne.w r1, r1, #128 ; 0x80 + 131e2: bf19 ittee ne + 131e4: f041 0180 orrne.w r1, r1, #128 ; 0x80 format++; - 13790: 3401 addne r4, #1 + 131e8: 3401 addne r4, #1 flags |= FLAGS_CHAR; - 13792: f041 01c0 orreq.w r1, r1, #192 ; 0xc0 + 131ea: f041 01c0 orreq.w r1, r1, #192 ; 0xc0 format++; - 13796: 3402 addeq r4, #2 - 13798: e799 b.n 136ce <_vsnprintf+0x176> + 131ee: 3402 addeq r4, #2 + 131f0: e799 b.n 13126 <_vsnprintf+0x176> flags |= (sizeof(ptrdiff_t) == sizeof(long) ? FLAGS_LONG : FLAGS_LONG_LONG); - 1379a: f441 7180 orr.w r1, r1, #256 ; 0x100 + 131f2: f441 7180 orr.w r1, r1, #256 ; 0x100 format++; - 1379e: 3401 adds r4, #1 + 131f6: 3401 adds r4, #1 break; - 137a0: e795 b.n 136ce <_vsnprintf+0x176> + 131f8: e795 b.n 13126 <_vsnprintf+0x176> flags |= (sizeof(intmax_t) == sizeof(long) ? FLAGS_LONG : FLAGS_LONG_LONG); - 137a2: f441 7100 orr.w r1, r1, #512 ; 0x200 + 131fa: f441 7100 orr.w r1, r1, #512 ; 0x200 format++; - 137a6: 3401 adds r4, #1 + 131fe: 3401 adds r4, #1 break; - 137a8: e791 b.n 136ce <_vsnprintf+0x176> + 13200: e791 b.n 13126 <_vsnprintf+0x176> flags |= (sizeof(size_t) == sizeof(long) ? FLAGS_LONG : FLAGS_LONG_LONG); - 137aa: f441 7180 orr.w r1, r1, #256 ; 0x100 + 13202: f441 7180 orr.w r1, r1, #256 ; 0x100 format++; - 137ae: 3401 adds r4, #1 + 13206: 3401 adds r4, #1 break; - 137b0: e78d b.n 136ce <_vsnprintf+0x176> - 137b2: bf00 nop - 137b4: 00013257 .word 0x00013257 + 13208: e78d b.n 13126 <_vsnprintf+0x176> + 1320a: bf00 nop + 1320c: 00012caf .word 0x00012caf if(*format == 'x' || *format == 'X') { - 137b8: 2878 cmp r0, #120 ; 0x78 - 137ba: f000 81d5 beq.w 13b68 <_vsnprintf+0x610> - 137be: 2858 cmp r0, #88 ; 0x58 - 137c0: f000 8154 beq.w 13a6c <_vsnprintf+0x514> + 13210: 2878 cmp r0, #120 ; 0x78 + 13212: f000 81d5 beq.w 135c0 <_vsnprintf+0x610> + 13216: 2858 cmp r0, #88 ; 0x58 + 13218: f000 8154 beq.w 134c4 <_vsnprintf+0x514> else if(*format == 'o') { - 137c4: 286f cmp r0, #111 ; 0x6f - 137c6: f000 81d1 beq.w 13b6c <_vsnprintf+0x614> + 1321c: 286f cmp r0, #111 ; 0x6f + 1321e: f000 81d1 beq.w 135c4 <_vsnprintf+0x614> else if(*format == 'b') { - 137ca: 2862 cmp r0, #98 ; 0x62 - 137cc: f000 81d0 beq.w 13b70 <_vsnprintf+0x618> + 13222: 2862 cmp r0, #98 ; 0x62 + 13224: f000 81d0 beq.w 135c8 <_vsnprintf+0x618> flags &= ~FLAGS_HASH; // no hash for dec format - 137d0: f021 0310 bic.w r3, r1, #16 + 13228: f021 0310 bic.w r3, r1, #16 if((*format != 'i') && (*format != 'd')) { - 137d4: 2869 cmp r0, #105 ; 0x69 - 137d6: d126 bne.n 13826 <_vsnprintf+0x2ce> + 1322c: 2869 cmp r0, #105 ; 0x69 + 1322e: d126 bne.n 1327e <_vsnprintf+0x2ce> if(flags & FLAGS_PRECISION) { - 137d8: f411 6f80 tst.w r1, #1024 ; 0x400 - 137dc: f040 81c0 bne.w 13b60 <_vsnprintf+0x608> + 13230: f411 6f80 tst.w r1, #1024 ; 0x400 + 13234: f040 81c0 bne.w 135b8 <_vsnprintf+0x608> base = 10U; - 137e0: 220a movs r2, #10 + 13238: 220a movs r2, #10 if(flags & FLAGS_LONG_LONG) { - 137e2: f413 7f00 tst.w r3, #512 ; 0x200 - 137e6: d124 bne.n 13832 <_vsnprintf+0x2da> + 1323a: f413 7f00 tst.w r3, #512 ; 0x200 + 1323e: d124 bne.n 1328a <_vsnprintf+0x2da> else if(flags & FLAGS_LONG) { - 137e8: f413 7f80 tst.w r3, #256 ; 0x100 - 137ec: d144 bne.n 13878 <_vsnprintf+0x320> + 13240: f413 7f80 tst.w r3, #256 ; 0x100 + 13244: d144 bne.n 132d0 <_vsnprintf+0x320> const int value = (flags & FLAGS_CHAR) ? (char)va_arg(va, int) : (flags & FLAGS_SHORT) ? (short int)va_arg(va, - 137ee: f013 0f40 tst.w r3, #64 ; 0x40 - 137f2: d157 bne.n 138a4 <_vsnprintf+0x34c> + 13246: f013 0f40 tst.w r3, #64 ; 0x40 + 1324a: d157 bne.n 132fc <_vsnprintf+0x34c> int) : va_arg(va, int); - 137f4: f013 0f80 tst.w r3, #128 ; 0x80 - 137f8: bf14 ite ne - 137fa: f9b6 1000 ldrshne.w r1, [r6] - 137fe: 6831 ldreq r1, [r6, #0] - 13800: 3604 adds r6, #4 + 1324c: f013 0f80 tst.w r3, #128 ; 0x80 + 13250: bf14 ite ne + 13252: f9b6 1000 ldrshne.w r1, [r6] + 13256: 6831 ldreq r1, [r6, #0] + 13258: 3604 adds r6, #4 idx = _ntoa_long(out, buffer, idx, maxlen, (unsigned int)(value > 0 ? value : 0 - value), value < 0, base, precision, - 13802: 9305 str r3, [sp, #20] - 13804: 9504 str r5, [sp, #16] - 13806: 9703 str r7, [sp, #12] - 13808: 9202 str r2, [sp, #8] - 1380a: 0fcb lsrs r3, r1, #31 - 1380c: 9301 str r3, [sp, #4] - 1380e: 2900 cmp r1, #0 - 13810: bfb8 it lt - 13812: 4249 neglt r1, r1 - 13814: 9100 str r1, [sp, #0] - 13816: 9b0a ldr r3, [sp, #40] ; 0x28 - 13818: 465a mov r2, fp - 1381a: 990b ldr r1, [sp, #44] ; 0x2c - 1381c: 4648 mov r0, r9 - 1381e: 4dac ldr r5, [pc, #688] ; (13ad0 <_vsnprintf+0x578>) - 13820: 47a8 blx r5 - 13822: 4683 mov fp, r0 - 13824: e152 b.n 13acc <_vsnprintf+0x574> + 1325a: 9305 str r3, [sp, #20] + 1325c: 9504 str r5, [sp, #16] + 1325e: 9703 str r7, [sp, #12] + 13260: 9202 str r2, [sp, #8] + 13262: 0fcb lsrs r3, r1, #31 + 13264: 9301 str r3, [sp, #4] + 13266: 2900 cmp r1, #0 + 13268: bfb8 it lt + 1326a: 4249 neglt r1, r1 + 1326c: 9100 str r1, [sp, #0] + 1326e: 9b0a ldr r3, [sp, #40] ; 0x28 + 13270: 465a mov r2, fp + 13272: 990b ldr r1, [sp, #44] ; 0x2c + 13274: 4648 mov r0, r9 + 13276: 4dac ldr r5, [pc, #688] ; (13528 <_vsnprintf+0x578>) + 13278: 47a8 blx r5 + 1327a: 4683 mov fp, r0 + 1327c: e152 b.n 13524 <_vsnprintf+0x574> if((*format != 'i') && (*format != 'd')) { - 13826: 2864 cmp r0, #100 ; 0x64 - 13828: f000 8156 beq.w 13ad8 <_vsnprintf+0x580> + 1327e: 2864 cmp r0, #100 ; 0x64 + 13280: f000 8156 beq.w 13530 <_vsnprintf+0x580> flags &= ~FLAGS_HASH; // no hash for dec format - 1382c: 4619 mov r1, r3 + 13284: 4619 mov r1, r3 base = 10U; - 1382e: 220a movs r2, #10 - 13830: e11f b.n 13a72 <_vsnprintf+0x51a> + 13286: 220a movs r2, #10 + 13288: e11f b.n 134ca <_vsnprintf+0x51a> const long long value = va_arg(va, long long); - 13832: 1df1 adds r1, r6, #7 - 13834: f021 0107 bic.w r1, r1, #7 - 13838: f101 0608 add.w r6, r1, #8 - 1383c: 6808 ldr r0, [r1, #0] - 1383e: 6849 ldr r1, [r1, #4] + 1328a: 1df1 adds r1, r6, #7 + 1328c: f021 0107 bic.w r1, r1, #7 + 13290: f101 0608 add.w r6, r1, #8 + 13294: 6808 ldr r0, [r1, #0] + 13296: 6849 ldr r1, [r1, #4] idx = _ntoa_long_long(out, buffer, idx, maxlen, (unsigned long long)(value > 0 ? value : 0 - value), value < 0, base, - 13840: 9308 str r3, [sp, #32] - 13842: 9507 str r5, [sp, #28] - 13844: 9706 str r7, [sp, #24] - 13846: 9204 str r2, [sp, #16] - 13848: 2300 movs r3, #0 - 1384a: 9305 str r3, [sp, #20] - 1384c: 0fcb lsrs r3, r1, #31 - 1384e: 9302 str r3, [sp, #8] - 13850: 4602 mov r2, r0 - 13852: 460b mov r3, r1 - 13854: 2800 cmp r0, #0 - 13856: f173 0100 sbcs.w r1, r3, #0 - 1385a: db09 blt.n 13870 <_vsnprintf+0x318> - 1385c: e9cd 2300 strd r2, r3, [sp] - 13860: 9b0a ldr r3, [sp, #40] ; 0x28 - 13862: 465a mov r2, fp - 13864: 990b ldr r1, [sp, #44] ; 0x2c - 13866: 4648 mov r0, r9 - 13868: 4d9a ldr r5, [pc, #616] ; (13ad4 <_vsnprintf+0x57c>) - 1386a: 47a8 blx r5 - 1386c: 4683 mov fp, r0 - 1386e: e12d b.n 13acc <_vsnprintf+0x574> - 13870: 4242 negs r2, r0 - 13872: eb63 0343 sbc.w r3, r3, r3, lsl #1 - 13876: e7f1 b.n 1385c <_vsnprintf+0x304> + 13298: 9308 str r3, [sp, #32] + 1329a: 9507 str r5, [sp, #28] + 1329c: 9706 str r7, [sp, #24] + 1329e: 9204 str r2, [sp, #16] + 132a0: 2300 movs r3, #0 + 132a2: 9305 str r3, [sp, #20] + 132a4: 0fcb lsrs r3, r1, #31 + 132a6: 9302 str r3, [sp, #8] + 132a8: 4602 mov r2, r0 + 132aa: 460b mov r3, r1 + 132ac: 2800 cmp r0, #0 + 132ae: f173 0100 sbcs.w r1, r3, #0 + 132b2: db09 blt.n 132c8 <_vsnprintf+0x318> + 132b4: e9cd 2300 strd r2, r3, [sp] + 132b8: 9b0a ldr r3, [sp, #40] ; 0x28 + 132ba: 465a mov r2, fp + 132bc: 990b ldr r1, [sp, #44] ; 0x2c + 132be: 4648 mov r0, r9 + 132c0: 4d9a ldr r5, [pc, #616] ; (1352c <_vsnprintf+0x57c>) + 132c2: 47a8 blx r5 + 132c4: 4683 mov fp, r0 + 132c6: e12d b.n 13524 <_vsnprintf+0x574> + 132c8: 4242 negs r2, r0 + 132ca: eb63 0343 sbc.w r3, r3, r3, lsl #1 + 132ce: e7f1 b.n 132b4 <_vsnprintf+0x304> const long value = va_arg(va, long); - 13878: f106 0804 add.w r8, r6, #4 - 1387c: 6831 ldr r1, [r6, #0] + 132d0: f106 0804 add.w r8, r6, #4 + 132d4: 6831 ldr r1, [r6, #0] idx = _ntoa_long(out, buffer, idx, maxlen, (unsigned long)(value > 0 ? value : 0 - value), value < 0, base, precision, - 1387e: 9305 str r3, [sp, #20] - 13880: 9504 str r5, [sp, #16] - 13882: 9703 str r7, [sp, #12] - 13884: 9202 str r2, [sp, #8] - 13886: 0fcb lsrs r3, r1, #31 - 13888: 9301 str r3, [sp, #4] - 1388a: 2900 cmp r1, #0 - 1388c: bfb8 it lt - 1388e: 4249 neglt r1, r1 - 13890: 9100 str r1, [sp, #0] - 13892: 9b0a ldr r3, [sp, #40] ; 0x28 - 13894: 465a mov r2, fp - 13896: 990b ldr r1, [sp, #44] ; 0x2c - 13898: 4648 mov r0, r9 - 1389a: 4d8d ldr r5, [pc, #564] ; (13ad0 <_vsnprintf+0x578>) - 1389c: 47a8 blx r5 - 1389e: 4683 mov fp, r0 + 132d6: 9305 str r3, [sp, #20] + 132d8: 9504 str r5, [sp, #16] + 132da: 9703 str r7, [sp, #12] + 132dc: 9202 str r2, [sp, #8] + 132de: 0fcb lsrs r3, r1, #31 + 132e0: 9301 str r3, [sp, #4] + 132e2: 2900 cmp r1, #0 + 132e4: bfb8 it lt + 132e6: 4249 neglt r1, r1 + 132e8: 9100 str r1, [sp, #0] + 132ea: 9b0a ldr r3, [sp, #40] ; 0x28 + 132ec: 465a mov r2, fp + 132ee: 990b ldr r1, [sp, #44] ; 0x2c + 132f0: 4648 mov r0, r9 + 132f2: 4d8d ldr r5, [pc, #564] ; (13528 <_vsnprintf+0x578>) + 132f4: 47a8 blx r5 + 132f6: 4683 mov fp, r0 const long value = va_arg(va, long); - 138a0: 4646 mov r6, r8 - 138a2: e113 b.n 13acc <_vsnprintf+0x574> - 138a4: 7831 ldrb r1, [r6, #0] + 132f8: 4646 mov r6, r8 + 132fa: e113 b.n 13524 <_vsnprintf+0x574> + 132fc: 7831 ldrb r1, [r6, #0] const int value = (flags & FLAGS_CHAR) ? (char)va_arg(va, int) : (flags & FLAGS_SHORT) ? (short int)va_arg(va, - 138a6: 3604 adds r6, #4 - 138a8: e7ab b.n 13802 <_vsnprintf+0x2aa> + 132fe: 3604 adds r6, #4 + 13300: e7ab b.n 1325a <_vsnprintf+0x2aa> idx = _ntoa_long_long(out, buffer, idx, maxlen, va_arg(va, unsigned long long), false, base, precision, width, flags); - 138aa: 1df1 adds r1, r6, #7 - 138ac: f021 0107 bic.w r1, r1, #7 - 138b0: f101 0608 add.w r6, r1, #8 - 138b4: 9308 str r3, [sp, #32] - 138b6: 9507 str r5, [sp, #28] - 138b8: 9706 str r7, [sp, #24] - 138ba: 2300 movs r3, #0 - 138bc: 9204 str r2, [sp, #16] - 138be: 9305 str r3, [sp, #20] - 138c0: 9302 str r3, [sp, #8] - 138c2: e9d1 2300 ldrd r2, r3, [r1] - 138c6: e9cd 2300 strd r2, r3, [sp] - 138ca: 9b0a ldr r3, [sp, #40] ; 0x28 - 138cc: 465a mov r2, fp - 138ce: 990b ldr r1, [sp, #44] ; 0x2c - 138d0: 4648 mov r0, r9 - 138d2: 4d80 ldr r5, [pc, #512] ; (13ad4 <_vsnprintf+0x57c>) - 138d4: 47a8 blx r5 - 138d6: 4683 mov fp, r0 - 138d8: e0f8 b.n 13acc <_vsnprintf+0x574> + 13302: 1df1 adds r1, r6, #7 + 13304: f021 0107 bic.w r1, r1, #7 + 13308: f101 0608 add.w r6, r1, #8 + 1330c: 9308 str r3, [sp, #32] + 1330e: 9507 str r5, [sp, #28] + 13310: 9706 str r7, [sp, #24] + 13312: 2300 movs r3, #0 + 13314: 9204 str r2, [sp, #16] + 13316: 9305 str r3, [sp, #20] + 13318: 9302 str r3, [sp, #8] + 1331a: e9d1 2300 ldrd r2, r3, [r1] + 1331e: e9cd 2300 strd r2, r3, [sp] + 13322: 9b0a ldr r3, [sp, #40] ; 0x28 + 13324: 465a mov r2, fp + 13326: 990b ldr r1, [sp, #44] ; 0x2c + 13328: 4648 mov r0, r9 + 1332a: 4d80 ldr r5, [pc, #512] ; (1352c <_vsnprintf+0x57c>) + 1332c: 47a8 blx r5 + 1332e: 4683 mov fp, r0 + 13330: e0f8 b.n 13524 <_vsnprintf+0x574> idx = _ntoa_long(out, buffer, idx, maxlen, va_arg(va, unsigned long), false, base, precision, width, flags); - 138da: f106 0804 add.w r8, r6, #4 - 138de: 9305 str r3, [sp, #20] - 138e0: 9504 str r5, [sp, #16] - 138e2: 9703 str r7, [sp, #12] - 138e4: 9202 str r2, [sp, #8] - 138e6: 2300 movs r3, #0 - 138e8: 9301 str r3, [sp, #4] - 138ea: 6833 ldr r3, [r6, #0] - 138ec: 9300 str r3, [sp, #0] - 138ee: 9b0a ldr r3, [sp, #40] ; 0x28 - 138f0: 465a mov r2, fp - 138f2: 990b ldr r1, [sp, #44] ; 0x2c - 138f4: 4648 mov r0, r9 - 138f6: 4d76 ldr r5, [pc, #472] ; (13ad0 <_vsnprintf+0x578>) - 138f8: 47a8 blx r5 - 138fa: 4683 mov fp, r0 - 138fc: 4646 mov r6, r8 - 138fe: e0e5 b.n 13acc <_vsnprintf+0x574> - 13900: 7831 ldrb r1, [r6, #0] + 13332: f106 0804 add.w r8, r6, #4 + 13336: 9305 str r3, [sp, #20] + 13338: 9504 str r5, [sp, #16] + 1333a: 9703 str r7, [sp, #12] + 1333c: 9202 str r2, [sp, #8] + 1333e: 2300 movs r3, #0 + 13340: 9301 str r3, [sp, #4] + 13342: 6833 ldr r3, [r6, #0] + 13344: 9300 str r3, [sp, #0] + 13346: 9b0a ldr r3, [sp, #40] ; 0x28 + 13348: 465a mov r2, fp + 1334a: 990b ldr r1, [sp, #44] ; 0x2c + 1334c: 4648 mov r0, r9 + 1334e: 4d76 ldr r5, [pc, #472] ; (13528 <_vsnprintf+0x578>) + 13350: 47a8 blx r5 + 13352: 4683 mov fp, r0 + 13354: 4646 mov r6, r8 + 13356: e0e5 b.n 13524 <_vsnprintf+0x574> + 13358: 7831 ldrb r1, [r6, #0] const unsigned int value = (flags & FLAGS_CHAR) ? (unsigned char)va_arg(va, - 13902: 3604 adds r6, #4 - 13904: e0d4 b.n 13ab0 <_vsnprintf+0x558> + 1335a: 3604 adds r6, #4 + 1335c: e0d4 b.n 13508 <_vsnprintf+0x558> if(!(flags & FLAGS_LEFT)) { - 13906: f011 0f02 tst.w r1, #2 - 1390a: f040 80ea bne.w 13ae2 <_vsnprintf+0x58a> + 1335e: f011 0f02 tst.w r1, #2 + 13362: f040 80ea bne.w 1353a <_vsnprintf+0x58a> while(l++ < width) { - 1390e: 2d01 cmp r5, #1 - 13910: f240 8103 bls.w 13b1a <_vsnprintf+0x5c2> - 13914: f10b 37ff add.w r7, fp, #4294967295 - 13918: 442f add r7, r5 + 13366: 2d01 cmp r5, #1 + 13368: f240 8103 bls.w 13572 <_vsnprintf+0x5c2> + 1336c: f10b 37ff add.w r7, fp, #4294967295 + 13370: 442f add r7, r5 out(' ', buffer, idx++, maxlen); - 1391a: f04f 0820 mov.w r8, #32 - 1391e: 465a mov r2, fp - 13920: 1c55 adds r5, r2, #1 - 13922: 9b0a ldr r3, [sp, #40] ; 0x28 - 13924: 990b ldr r1, [sp, #44] ; 0x2c - 13926: 4640 mov r0, r8 - 13928: 47c8 blx r9 - 1392a: 462a mov r2, r5 + 13372: f04f 0820 mov.w r8, #32 + 13376: 465a mov r2, fp + 13378: 1c55 adds r5, r2, #1 + 1337a: 9b0a ldr r3, [sp, #40] ; 0x28 + 1337c: 990b ldr r1, [sp, #44] ; 0x2c + 1337e: 4640 mov r0, r8 + 13380: 47c8 blx r9 + 13382: 462a mov r2, r5 while(l++ < width) { - 1392c: 42bd cmp r5, r7 - 1392e: d1f7 bne.n 13920 <_vsnprintf+0x3c8> + 13384: 42bd cmp r5, r7 + 13386: d1f7 bne.n 13378 <_vsnprintf+0x3c8> out((char)va_arg(va, int), buffer, idx++, maxlen); - 13930: 1d37 adds r7, r6, #4 - 13932: f105 0b01 add.w fp, r5, #1 - 13936: 9b0a ldr r3, [sp, #40] ; 0x28 - 13938: 462a mov r2, r5 - 1393a: 990b ldr r1, [sp, #44] ; 0x2c - 1393c: 7830 ldrb r0, [r6, #0] - 1393e: 47c8 blx r9 - 13940: 463e mov r6, r7 + 13388: 1d37 adds r7, r6, #4 + 1338a: f105 0b01 add.w fp, r5, #1 + 1338e: 9b0a ldr r3, [sp, #40] ; 0x28 + 13390: 462a mov r2, r5 + 13392: 990b ldr r1, [sp, #44] ; 0x2c + 13394: 7830 ldrb r0, [r6, #0] + 13396: 47c8 blx r9 + 13398: 463e mov r6, r7 format++; - 13942: 3401 adds r4, #1 + 1339a: 3401 adds r4, #1 break; - 13944: e616 b.n 13574 <_vsnprintf+0x1c> + 1339c: e616 b.n 12fcc <_vsnprintf+0x1c> out((char)va_arg(va, int), buffer, idx++, maxlen); - 13946: 9e0c ldr r6, [sp, #48] ; 0x30 - 13948: 46bb mov fp, r7 - 1394a: e7fa b.n 13942 <_vsnprintf+0x3ea> + 1339e: 9e0c ldr r6, [sp, #48] ; 0x30 + 133a0: 46bb mov fp, r7 + 133a2: e7fa b.n 1339a <_vsnprintf+0x3ea> const char * p = va_arg(va, char *); - 1394c: 1d33 adds r3, r6, #4 - 1394e: 930e str r3, [sp, #56] ; 0x38 - 13950: 6833 ldr r3, [r6, #0] - 13952: 461a mov r2, r3 - 13954: 930c str r3, [sp, #48] ; 0x30 + 133a4: 1d33 adds r3, r6, #4 + 133a6: 930e str r3, [sp, #56] ; 0x38 + 133a8: 6833 ldr r3, [r6, #0] + 133aa: 461a mov r2, r3 + 133ac: 930c str r3, [sp, #48] ; 0x30 unsigned int l = _strnlen_s(p, precision ? precision : (size_t) -1); - 13956: 2f00 cmp r7, #0 - 13958: bf14 ite ne - 1395a: 463b movne r3, r7 - 1395c: f04f 33ff moveq.w r3, #4294967295 + 133ae: 2f00 cmp r7, #0 + 133b0: bf14 ite ne + 133b2: 463b movne r3, r7 + 133b4: f04f 33ff moveq.w r3, #4294967295 for(s = str; *s && maxsize--; ++s); - 13960: 7810 ldrb r0, [r2, #0] - 13962: 2800 cmp r0, #0 - 13964: f000 80db beq.w 13b1e <_vsnprintf+0x5c6> - 13968: f812 6f01 ldrb.w r6, [r2, #1]! - 1396c: b10e cbz r6, 13972 <_vsnprintf+0x41a> - 1396e: 3b01 subs r3, #1 - 13970: d1fa bne.n 13968 <_vsnprintf+0x410> + 133b8: 7810 ldrb r0, [r2, #0] + 133ba: 2800 cmp r0, #0 + 133bc: f000 80db beq.w 13576 <_vsnprintf+0x5c6> + 133c0: f812 6f01 ldrb.w r6, [r2, #1]! + 133c4: b10e cbz r6, 133ca <_vsnprintf+0x41a> + 133c6: 3b01 subs r3, #1 + 133c8: d1fa bne.n 133c0 <_vsnprintf+0x410> return (unsigned int)(s - str); - 13972: 9b0c ldr r3, [sp, #48] ; 0x30 - 13974: 1ad3 subs r3, r2, r3 - 13976: 930d str r3, [sp, #52] ; 0x34 + 133ca: 9b0c ldr r3, [sp, #48] ; 0x30 + 133cc: 1ad3 subs r3, r2, r3 + 133ce: 930d str r3, [sp, #52] ; 0x34 if(flags & FLAGS_PRECISION) { - 13978: f411 6a80 ands.w sl, r1, #1024 ; 0x400 - 1397c: d003 beq.n 13986 <_vsnprintf+0x42e> + 133d0: f411 6a80 ands.w sl, r1, #1024 ; 0x400 + 133d4: d003 beq.n 133de <_vsnprintf+0x42e> l = (l < precision ? l : precision); - 1397e: 42bb cmp r3, r7 - 13980: bf28 it cs - 13982: 463b movcs r3, r7 - 13984: 930d str r3, [sp, #52] ; 0x34 + 133d6: 42bb cmp r3, r7 + 133d8: bf28 it cs + 133da: 463b movcs r3, r7 + 133dc: 930d str r3, [sp, #52] ; 0x34 if(!(flags & FLAGS_LEFT)) { - 13986: f011 0302 ands.w r3, r1, #2 - 1398a: 930f str r3, [sp, #60] ; 0x3c - 1398c: f040 80ce bne.w 13b2c <_vsnprintf+0x5d4> + 133de: f011 0302 ands.w r3, r1, #2 + 133e2: 930f str r3, [sp, #60] ; 0x3c + 133e4: f040 80ce bne.w 13584 <_vsnprintf+0x5d4> while(l++ < width) { - 13990: 990d ldr r1, [sp, #52] ; 0x34 - 13992: 460b mov r3, r1 - 13994: 3301 adds r3, #1 - 13996: 428d cmp r5, r1 - 13998: f240 80c3 bls.w 13b22 <_vsnprintf+0x5ca> - 1399c: eb05 080b add.w r8, r5, fp - 139a0: eba8 0801 sub.w r8, r8, r1 + 133e8: 990d ldr r1, [sp, #52] ; 0x34 + 133ea: 460b mov r3, r1 + 133ec: 3301 adds r3, #1 + 133ee: 428d cmp r5, r1 + 133f0: f240 80c3 bls.w 1357a <_vsnprintf+0x5ca> + 133f4: eb05 080b add.w r8, r5, fp + 133f8: eba8 0801 sub.w r8, r8, r1 out(' ', buffer, idx++, maxlen); - 139a4: 465a mov r2, fp - 139a6: 1c56 adds r6, r2, #1 - 139a8: 9b0a ldr r3, [sp, #40] ; 0x28 - 139aa: 990b ldr r1, [sp, #44] ; 0x2c - 139ac: 2020 movs r0, #32 - 139ae: 47c8 blx r9 - 139b0: 4632 mov r2, r6 + 133fc: 465a mov r2, fp + 133fe: 1c56 adds r6, r2, #1 + 13400: 9b0a ldr r3, [sp, #40] ; 0x28 + 13402: 990b ldr r1, [sp, #44] ; 0x2c + 13404: 2020 movs r0, #32 + 13406: 47c8 blx r9 + 13408: 4632 mov r2, r6 while(l++ < width) { - 139b2: 4546 cmp r6, r8 - 139b4: d1f7 bne.n 139a6 <_vsnprintf+0x44e> - 139b6: 1c6b adds r3, r5, #1 - 139b8: 930d str r3, [sp, #52] ; 0x34 + 1340a: 4546 cmp r6, r8 + 1340c: d1f7 bne.n 133fe <_vsnprintf+0x44e> + 1340e: 1c6b adds r3, r5, #1 + 13410: 930d str r3, [sp, #52] ; 0x34 while((*p != 0) && (!(flags & FLAGS_PRECISION) || precision--)) { - 139ba: 9b0c ldr r3, [sp, #48] ; 0x30 - 139bc: 7818 ldrb r0, [r3, #0] - 139be: 2800 cmp r0, #0 - 139c0: f000 80b2 beq.w 13b28 <_vsnprintf+0x5d0> - 139c4: f8dd 8030 ldr.w r8, [sp, #48] ; 0x30 - 139c8: 4632 mov r2, r6 - 139ca: 4656 mov r6, sl - 139cc: e009 b.n 139e2 <_vsnprintf+0x48a> - 139ce: 461f mov r7, r3 + 13412: 9b0c ldr r3, [sp, #48] ; 0x30 + 13414: 7818 ldrb r0, [r3, #0] + 13416: 2800 cmp r0, #0 + 13418: f000 80b2 beq.w 13580 <_vsnprintf+0x5d0> + 1341c: f8dd 8030 ldr.w r8, [sp, #48] ; 0x30 + 13420: 4632 mov r2, r6 + 13422: 4656 mov r6, sl + 13424: e009 b.n 1343a <_vsnprintf+0x48a> + 13426: 461f mov r7, r3 out(*(p++), buffer, idx++, maxlen); - 139d0: f102 0b01 add.w fp, r2, #1 - 139d4: 9b0a ldr r3, [sp, #40] ; 0x28 - 139d6: 990b ldr r1, [sp, #44] ; 0x2c - 139d8: 47c8 blx r9 + 13428: f102 0b01 add.w fp, r2, #1 + 1342c: 9b0a ldr r3, [sp, #40] ; 0x28 + 1342e: 990b ldr r1, [sp, #44] ; 0x2c + 13430: 47c8 blx r9 while((*p != 0) && (!(flags & FLAGS_PRECISION) || precision--)) { - 139da: f818 0f01 ldrb.w r0, [r8, #1]! - 139de: b130 cbz r0, 139ee <_vsnprintf+0x496> + 13432: f818 0f01 ldrb.w r0, [r8, #1]! + 13436: b130 cbz r0, 13446 <_vsnprintf+0x496> out(*(p++), buffer, idx++, maxlen); - 139e0: 465a mov r2, fp + 13438: 465a mov r2, fp while((*p != 0) && (!(flags & FLAGS_PRECISION) || precision--)) { - 139e2: 2e00 cmp r6, #0 - 139e4: d0f4 beq.n 139d0 <_vsnprintf+0x478> - 139e6: 1e7b subs r3, r7, #1 - 139e8: 2f00 cmp r7, #0 - 139ea: d1f0 bne.n 139ce <_vsnprintf+0x476> - 139ec: 4693 mov fp, r2 + 1343a: 2e00 cmp r6, #0 + 1343c: d0f4 beq.n 13428 <_vsnprintf+0x478> + 1343e: 1e7b subs r3, r7, #1 + 13440: 2f00 cmp r7, #0 + 13442: d1f0 bne.n 13426 <_vsnprintf+0x476> + 13444: 4693 mov fp, r2 if(flags & FLAGS_LEFT) { - 139ee: 9b0f ldr r3, [sp, #60] ; 0x3c - 139f0: 2b00 cmp r3, #0 - 139f2: f040 809f bne.w 13b34 <_vsnprintf+0x5dc> + 13446: 9b0f ldr r3, [sp, #60] ; 0x3c + 13448: 2b00 cmp r3, #0 + 1344a: f040 809f bne.w 1358c <_vsnprintf+0x5dc> format++; - 139f6: 3401 adds r4, #1 + 1344e: 3401 adds r4, #1 const char * p = va_arg(va, char *); - 139f8: 9e0e ldr r6, [sp, #56] ; 0x38 + 13450: 9e0e ldr r6, [sp, #56] ; 0x38 break; - 139fa: e5bb b.n 13574 <_vsnprintf+0x1c> + 13452: e5bb b.n 12fcc <_vsnprintf+0x1c> idx = _ntoa_long(out, buffer, idx, maxlen, (unsigned long)((uintptr_t)va_arg(va, void *)), false, 16U, precision, width, - 139fc: 1d35 adds r5, r6, #4 + 13454: 1d35 adds r5, r6, #4 flags |= FLAGS_ZEROPAD | FLAGS_UPPERCASE; - 139fe: f041 0121 orr.w r1, r1, #33 ; 0x21 + 13456: f041 0121 orr.w r1, r1, #33 ; 0x21 idx = _ntoa_long(out, buffer, idx, maxlen, (unsigned long)((uintptr_t)va_arg(va, void *)), false, 16U, precision, width, - 13a02: 9105 str r1, [sp, #20] - 13a04: 2308 movs r3, #8 - 13a06: 9304 str r3, [sp, #16] - 13a08: 9703 str r7, [sp, #12] - 13a0a: 2310 movs r3, #16 - 13a0c: 9302 str r3, [sp, #8] - 13a0e: 2300 movs r3, #0 - 13a10: 9301 str r3, [sp, #4] - 13a12: 6833 ldr r3, [r6, #0] - 13a14: 9300 str r3, [sp, #0] - 13a16: 9b0a ldr r3, [sp, #40] ; 0x28 - 13a18: 465a mov r2, fp - 13a1a: 990b ldr r1, [sp, #44] ; 0x2c - 13a1c: 4648 mov r0, r9 - 13a1e: 4e2c ldr r6, [pc, #176] ; (13ad0 <_vsnprintf+0x578>) - 13a20: 47b0 blx r6 - 13a22: 4683 mov fp, r0 + 1345a: 9105 str r1, [sp, #20] + 1345c: 2308 movs r3, #8 + 1345e: 9304 str r3, [sp, #16] + 13460: 9703 str r7, [sp, #12] + 13462: 2310 movs r3, #16 + 13464: 9302 str r3, [sp, #8] + 13466: 2300 movs r3, #0 + 13468: 9301 str r3, [sp, #4] + 1346a: 6833 ldr r3, [r6, #0] + 1346c: 9300 str r3, [sp, #0] + 1346e: 9b0a ldr r3, [sp, #40] ; 0x28 + 13470: 465a mov r2, fp + 13472: 990b ldr r1, [sp, #44] ; 0x2c + 13474: 4648 mov r0, r9 + 13476: 4e2c ldr r6, [pc, #176] ; (13528 <_vsnprintf+0x578>) + 13478: 47b0 blx r6 + 1347a: 4683 mov fp, r0 format++; - 13a24: 3401 adds r4, #1 + 1347c: 3401 adds r4, #1 idx = _ntoa_long(out, buffer, idx, maxlen, (unsigned long)((uintptr_t)va_arg(va, void *)), false, 16U, precision, width, - 13a26: 462e mov r6, r5 + 1347e: 462e mov r6, r5 break; - 13a28: e5a4 b.n 13574 <_vsnprintf+0x1c> + 13480: e5a4 b.n 12fcc <_vsnprintf+0x1c> out('%', buffer, idx++, maxlen); - 13a2a: f10b 0501 add.w r5, fp, #1 - 13a2e: 9b0a ldr r3, [sp, #40] ; 0x28 - 13a30: 465a mov r2, fp - 13a32: 990b ldr r1, [sp, #44] ; 0x2c - 13a34: 2025 movs r0, #37 ; 0x25 - 13a36: 47c8 blx r9 + 13482: f10b 0501 add.w r5, fp, #1 + 13486: 9b0a ldr r3, [sp, #40] ; 0x28 + 13488: 465a mov r2, fp + 1348a: 990b ldr r1, [sp, #44] ; 0x2c + 1348c: 2025 movs r0, #37 ; 0x25 + 1348e: 47c8 blx r9 format++; - 13a38: 3401 adds r4, #1 + 13490: 3401 adds r4, #1 out('%', buffer, idx++, maxlen); - 13a3a: 46ab mov fp, r5 + 13492: 46ab mov fp, r5 break; - 13a3c: e59a b.n 13574 <_vsnprintf+0x1c> + 13494: e59a b.n 12fcc <_vsnprintf+0x1c> default : out(*format, buffer, idx++, maxlen); - 13a3e: f10b 0501 add.w r5, fp, #1 - 13a42: 9b0a ldr r3, [sp, #40] ; 0x28 - 13a44: 465a mov r2, fp - 13a46: 990b ldr r1, [sp, #44] ; 0x2c - 13a48: 47c8 blx r9 + 13496: f10b 0501 add.w r5, fp, #1 + 1349a: 9b0a ldr r3, [sp, #40] ; 0x28 + 1349c: 465a mov r2, fp + 1349e: 990b ldr r1, [sp, #44] ; 0x2c + 134a0: 47c8 blx r9 format++; - 13a4a: 3401 adds r4, #1 + 134a2: 3401 adds r4, #1 out(*format, buffer, idx++, maxlen); - 13a4c: 46ab mov fp, r5 + 134a4: 46ab mov fp, r5 break; - 13a4e: e591 b.n 13574 <_vsnprintf+0x1c> + 134a6: e591 b.n 12fcc <_vsnprintf+0x1c> } } // termination out((char)0, buffer, idx < maxlen ? idx : maxlen - 1U, maxlen); - 13a50: 9a0a ldr r2, [sp, #40] ; 0x28 - 13a52: 4593 cmp fp, r2 - 13a54: bf2c ite cs - 13a56: f102 32ff addcs.w r2, r2, #4294967295 - 13a5a: 465a movcc r2, fp - 13a5c: 9b0a ldr r3, [sp, #40] ; 0x28 - 13a5e: 990b ldr r1, [sp, #44] ; 0x2c - 13a60: 2000 movs r0, #0 - 13a62: 47c8 blx r9 + 134a8: 9a0a ldr r2, [sp, #40] ; 0x28 + 134aa: 4593 cmp fp, r2 + 134ac: bf2c ite cs + 134ae: f102 32ff addcs.w r2, r2, #4294967295 + 134b2: 465a movcc r2, fp + 134b4: 9b0a ldr r3, [sp, #40] ; 0x28 + 134b6: 990b ldr r1, [sp, #44] ; 0x2c + 134b8: 2000 movs r0, #0 + 134ba: 47c8 blx r9 // return written chars without terminating \0 return (int)idx; } - 13a64: 4658 mov r0, fp - 13a66: b011 add sp, #68 ; 0x44 - 13a68: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 134bc: 4658 mov r0, fp + 134be: b011 add sp, #68 ; 0x44 + 134c0: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} flags |= FLAGS_UPPERCASE; - 13a6c: f041 0120 orr.w r1, r1, #32 + 134c4: f041 0120 orr.w r1, r1, #32 base = 16U; - 13a70: 2210 movs r2, #16 + 134c8: 2210 movs r2, #16 flags &= ~(FLAGS_PLUS | FLAGS_SPACE); - 13a72: f021 030c bic.w r3, r1, #12 + 134ca: f021 030c bic.w r3, r1, #12 if(flags & FLAGS_PRECISION) { - 13a76: f411 6f80 tst.w r1, #1024 ; 0x400 - 13a7a: d007 beq.n 13a8c <_vsnprintf+0x534> + 134ce: f411 6f80 tst.w r1, #1024 ; 0x400 + 134d2: d007 beq.n 134e4 <_vsnprintf+0x534> flags &= ~FLAGS_ZEROPAD; - 13a7c: f021 030d bic.w r3, r1, #13 + 134d4: f021 030d bic.w r3, r1, #13 if((*format == 'i') || (*format == 'd')) { - 13a80: 2869 cmp r0, #105 ; 0x69 - 13a82: f43f aeae beq.w 137e2 <_vsnprintf+0x28a> - 13a86: 2864 cmp r0, #100 ; 0x64 - 13a88: f43f aeab beq.w 137e2 <_vsnprintf+0x28a> + 134d8: 2869 cmp r0, #105 ; 0x69 + 134da: f43f aeae beq.w 1323a <_vsnprintf+0x28a> + 134de: 2864 cmp r0, #100 ; 0x64 + 134e0: f43f aeab beq.w 1323a <_vsnprintf+0x28a> if(flags & FLAGS_LONG_LONG) { - 13a8c: f413 7f00 tst.w r3, #512 ; 0x200 - 13a90: f47f af0b bne.w 138aa <_vsnprintf+0x352> + 134e4: f413 7f00 tst.w r3, #512 ; 0x200 + 134e8: f47f af0b bne.w 13302 <_vsnprintf+0x352> else if(flags & FLAGS_LONG) { - 13a94: f413 7f80 tst.w r3, #256 ; 0x100 - 13a98: f47f af1f bne.w 138da <_vsnprintf+0x382> + 134ec: f413 7f80 tst.w r3, #256 ; 0x100 + 134f0: f47f af1f bne.w 13332 <_vsnprintf+0x382> unsigned int) : (flags & FLAGS_SHORT) ? (unsigned short int)va_arg(va, unsigned int) : va_arg(va, unsigned int); - 13a9c: f013 0f40 tst.w r3, #64 ; 0x40 - 13aa0: f47f af2e bne.w 13900 <_vsnprintf+0x3a8> - 13aa4: f013 0f80 tst.w r3, #128 ; 0x80 - 13aa8: bf14 ite ne - 13aaa: 8831 ldrhne r1, [r6, #0] - 13aac: 6831 ldreq r1, [r6, #0] - 13aae: 3604 adds r6, #4 + 134f4: f013 0f40 tst.w r3, #64 ; 0x40 + 134f8: f47f af2e bne.w 13358 <_vsnprintf+0x3a8> + 134fc: f013 0f80 tst.w r3, #128 ; 0x80 + 13500: bf14 ite ne + 13502: 8831 ldrhne r1, [r6, #0] + 13504: 6831 ldreq r1, [r6, #0] + 13506: 3604 adds r6, #4 idx = _ntoa_long(out, buffer, idx, maxlen, value, false, base, precision, width, flags); - 13ab0: 9305 str r3, [sp, #20] - 13ab2: 9504 str r5, [sp, #16] - 13ab4: 9703 str r7, [sp, #12] - 13ab6: 9202 str r2, [sp, #8] - 13ab8: 2300 movs r3, #0 - 13aba: 9301 str r3, [sp, #4] - 13abc: 9100 str r1, [sp, #0] - 13abe: 9b0a ldr r3, [sp, #40] ; 0x28 - 13ac0: 465a mov r2, fp - 13ac2: 990b ldr r1, [sp, #44] ; 0x2c - 13ac4: 4648 mov r0, r9 - 13ac6: 4d02 ldr r5, [pc, #8] ; (13ad0 <_vsnprintf+0x578>) - 13ac8: 47a8 blx r5 - 13aca: 4683 mov fp, r0 + 13508: 9305 str r3, [sp, #20] + 1350a: 9504 str r5, [sp, #16] + 1350c: 9703 str r7, [sp, #12] + 1350e: 9202 str r2, [sp, #8] + 13510: 2300 movs r3, #0 + 13512: 9301 str r3, [sp, #4] + 13514: 9100 str r1, [sp, #0] + 13516: 9b0a ldr r3, [sp, #40] ; 0x28 + 13518: 465a mov r2, fp + 1351a: 990b ldr r1, [sp, #44] ; 0x2c + 1351c: 4648 mov r0, r9 + 1351e: 4d02 ldr r5, [pc, #8] ; (13528 <_vsnprintf+0x578>) + 13520: 47a8 blx r5 + 13522: 4683 mov fp, r0 format++; - 13acc: 3401 adds r4, #1 + 13524: 3401 adds r4, #1 break; - 13ace: e551 b.n 13574 <_vsnprintf+0x1c> - 13ad0: 00013419 .word 0x00013419 - 13ad4: 0001349d .word 0x0001349d + 13526: e551 b.n 12fcc <_vsnprintf+0x1c> + 13528: 00012e71 .word 0x00012e71 + 1352c: 00012ef5 .word 0x00012ef5 if(flags & FLAGS_PRECISION) { - 13ad8: f411 6f80 tst.w r1, #1024 ; 0x400 - 13adc: d13c bne.n 13b58 <_vsnprintf+0x600> + 13530: f411 6f80 tst.w r1, #1024 ; 0x400 + 13534: d13c bne.n 135b0 <_vsnprintf+0x600> base = 10U; - 13ade: 220a movs r2, #10 - 13ae0: e67f b.n 137e2 <_vsnprintf+0x28a> + 13536: 220a movs r2, #10 + 13538: e67f b.n 1323a <_vsnprintf+0x28a> out((char)va_arg(va, int), buffer, idx++, maxlen); - 13ae2: 1d33 adds r3, r6, #4 - 13ae4: 930c str r3, [sp, #48] ; 0x30 - 13ae6: f10b 0701 add.w r7, fp, #1 - 13aea: 9b0a ldr r3, [sp, #40] ; 0x28 - 13aec: 465a mov r2, fp - 13aee: 990b ldr r1, [sp, #44] ; 0x2c - 13af0: 7830 ldrb r0, [r6, #0] - 13af2: 47c8 blx r9 + 1353a: 1d33 adds r3, r6, #4 + 1353c: 930c str r3, [sp, #48] ; 0x30 + 1353e: f10b 0701 add.w r7, fp, #1 + 13542: 9b0a ldr r3, [sp, #40] ; 0x28 + 13544: 465a mov r2, fp + 13546: 990b ldr r1, [sp, #44] ; 0x2c + 13548: 7830 ldrb r0, [r6, #0] + 1354a: 47c8 blx r9 while(l++ < width) { - 13af4: 2d01 cmp r5, #1 - 13af6: f67f af26 bls.w 13946 <_vsnprintf+0x3ee> - 13afa: eb05 0a0b add.w sl, r5, fp + 1354c: 2d01 cmp r5, #1 + 1354e: f67f af26 bls.w 1339e <_vsnprintf+0x3ee> + 13552: eb05 0a0b add.w sl, r5, fp out(' ', buffer, idx++, maxlen); - 13afe: f04f 0820 mov.w r8, #32 - 13b02: 463a mov r2, r7 - 13b04: 1c56 adds r6, r2, #1 - 13b06: 9b0a ldr r3, [sp, #40] ; 0x28 - 13b08: 990b ldr r1, [sp, #44] ; 0x2c - 13b0a: 4640 mov r0, r8 - 13b0c: 47c8 blx r9 - 13b0e: 4632 mov r2, r6 + 13556: f04f 0820 mov.w r8, #32 + 1355a: 463a mov r2, r7 + 1355c: 1c56 adds r6, r2, #1 + 1355e: 9b0a ldr r3, [sp, #40] ; 0x28 + 13560: 990b ldr r1, [sp, #44] ; 0x2c + 13562: 4640 mov r0, r8 + 13564: 47c8 blx r9 + 13566: 4632 mov r2, r6 while(l++ < width) { - 13b10: 45b2 cmp sl, r6 - 13b12: d1f7 bne.n 13b04 <_vsnprintf+0x5ac> - 13b14: 44ab add fp, r5 + 13568: 45b2 cmp sl, r6 + 1356a: d1f7 bne.n 1355c <_vsnprintf+0x5ac> + 1356c: 44ab add fp, r5 out((char)va_arg(va, int), buffer, idx++, maxlen); - 13b16: 9e0c ldr r6, [sp, #48] ; 0x30 - 13b18: e713 b.n 13942 <_vsnprintf+0x3ea> + 1356e: 9e0c ldr r6, [sp, #48] ; 0x30 + 13570: e713 b.n 1339a <_vsnprintf+0x3ea> while(l++ < width) { - 13b1a: 465d mov r5, fp - 13b1c: e708 b.n 13930 <_vsnprintf+0x3d8> + 13572: 465d mov r5, fp + 13574: e708 b.n 13388 <_vsnprintf+0x3d8> for(s = str; *s && maxsize--; ++s); - 13b1e: 9a0c ldr r2, [sp, #48] ; 0x30 - 13b20: e727 b.n 13972 <_vsnprintf+0x41a> + 13576: 9a0c ldr r2, [sp, #48] ; 0x30 + 13578: e727 b.n 133ca <_vsnprintf+0x41a> while(l++ < width) { - 13b22: 930d str r3, [sp, #52] ; 0x34 - 13b24: 465e mov r6, fp - 13b26: e748 b.n 139ba <_vsnprintf+0x462> + 1357a: 930d str r3, [sp, #52] ; 0x34 + 1357c: 465e mov r6, fp + 1357e: e748 b.n 13412 <_vsnprintf+0x462> while((*p != 0) && (!(flags & FLAGS_PRECISION) || precision--)) { - 13b28: 46b3 mov fp, r6 - 13b2a: e764 b.n 139f6 <_vsnprintf+0x49e> - 13b2c: 465e mov r6, fp - 13b2e: 2800 cmp r0, #0 - 13b30: f47f af48 bne.w 139c4 <_vsnprintf+0x46c> + 13580: 46b3 mov fp, r6 + 13582: e764 b.n 1344e <_vsnprintf+0x49e> + 13584: 465e mov r6, fp + 13586: 2800 cmp r0, #0 + 13588: f47f af48 bne.w 1341c <_vsnprintf+0x46c> while(l++ < width) { - 13b34: 9a0d ldr r2, [sp, #52] ; 0x34 - 13b36: 4295 cmp r5, r2 - 13b38: f67f af5d bls.w 139f6 <_vsnprintf+0x49e> - 13b3c: 445d add r5, fp - 13b3e: 1aad subs r5, r5, r2 - 13b40: 465a mov r2, fp + 1358c: 9a0d ldr r2, [sp, #52] ; 0x34 + 1358e: 4295 cmp r5, r2 + 13590: f67f af5d bls.w 1344e <_vsnprintf+0x49e> + 13594: 445d add r5, fp + 13596: 1aad subs r5, r5, r2 + 13598: 465a mov r2, fp out(' ', buffer, idx++, maxlen); - 13b42: 2620 movs r6, #32 - 13b44: f102 0b01 add.w fp, r2, #1 - 13b48: 9b0a ldr r3, [sp, #40] ; 0x28 - 13b4a: 990b ldr r1, [sp, #44] ; 0x2c - 13b4c: 4630 mov r0, r6 - 13b4e: 47c8 blx r9 - 13b50: 465a mov r2, fp + 1359a: 2620 movs r6, #32 + 1359c: f102 0b01 add.w fp, r2, #1 + 135a0: 9b0a ldr r3, [sp, #40] ; 0x28 + 135a2: 990b ldr r1, [sp, #44] ; 0x2c + 135a4: 4630 mov r0, r6 + 135a6: 47c8 blx r9 + 135a8: 465a mov r2, fp while(l++ < width) { - 13b52: 45ab cmp fp, r5 - 13b54: d1f6 bne.n 13b44 <_vsnprintf+0x5ec> - 13b56: e74e b.n 139f6 <_vsnprintf+0x49e> + 135aa: 45ab cmp fp, r5 + 135ac: d1f6 bne.n 1359c <_vsnprintf+0x5ec> + 135ae: e74e b.n 1344e <_vsnprintf+0x49e> flags &= ~FLAGS_ZEROPAD; - 13b58: f021 0311 bic.w r3, r1, #17 + 135b0: f021 0311 bic.w r3, r1, #17 base = 10U; - 13b5c: 220a movs r2, #10 - 13b5e: e640 b.n 137e2 <_vsnprintf+0x28a> + 135b4: 220a movs r2, #10 + 135b6: e640 b.n 1323a <_vsnprintf+0x28a> flags &= ~FLAGS_ZEROPAD; - 13b60: f021 0311 bic.w r3, r1, #17 + 135b8: f021 0311 bic.w r3, r1, #17 base = 10U; - 13b64: 220a movs r2, #10 - 13b66: e63c b.n 137e2 <_vsnprintf+0x28a> + 135bc: 220a movs r2, #10 + 135be: e63c b.n 1323a <_vsnprintf+0x28a> base = 16U; - 13b68: 2210 movs r2, #16 - 13b6a: e782 b.n 13a72 <_vsnprintf+0x51a> + 135c0: 2210 movs r2, #16 + 135c2: e782 b.n 134ca <_vsnprintf+0x51a> base = 8U; - 13b6c: 2208 movs r2, #8 - 13b6e: e780 b.n 13a72 <_vsnprintf+0x51a> + 135c4: 2208 movs r2, #8 + 135c6: e780 b.n 134ca <_vsnprintf+0x51a> base = 2U; - 13b70: 2202 movs r2, #2 - 13b72: e77e b.n 13a72 <_vsnprintf+0x51a> + 135c8: 2202 movs r2, #2 + 135ca: e77e b.n 134ca <_vsnprintf+0x51a> -00013b74 : +000135cc : va_end(va); return ret; } int lv_vsnprintf(char * buffer, size_t count, const char * format, va_list va) { - 13b74: b510 push {r4, lr} - 13b76: b082 sub sp, #8 + 135cc: b510 push {r4, lr} + 135ce: b082 sub sp, #8 return _vsnprintf(_out_buffer, buffer, count, format, va); - 13b78: 9300 str r3, [sp, #0] - 13b7a: 4613 mov r3, r2 - 13b7c: 460a mov r2, r1 - 13b7e: 4601 mov r1, r0 - 13b80: 4802 ldr r0, [pc, #8] ; (13b8c ) - 13b82: 4c03 ldr r4, [pc, #12] ; (13b90 ) - 13b84: 47a0 blx r4 -} - 13b86: b002 add sp, #8 - 13b88: bd10 pop {r4, pc} - 13b8a: bf00 nop - 13b8c: 0001324f .word 0x0001324f - 13b90: 00013559 .word 0x00013559 - -00013b94 <_lv_task_core_init>: + 135d0: 9300 str r3, [sp, #0] + 135d2: 4613 mov r3, r2 + 135d4: 460a mov r2, r1 + 135d6: 4601 mov r1, r0 + 135d8: 4802 ldr r0, [pc, #8] ; (135e4 ) + 135da: 4c03 ldr r4, [pc, #12] ; (135e8 ) + 135dc: 47a0 blx r4 +} + 135de: b002 add sp, #8 + 135e0: bd10 pop {r4, pc} + 135e2: bf00 nop + 135e4: 00012ca7 .word 0x00012ca7 + 135e8: 00012fb1 .word 0x00012fb1 + +000135ec <_lv_task_core_init>: /** * Init the lv_task module */ void _lv_task_core_init(void) { - 13b94: b508 push {r3, lr} + 135ec: b508 push {r3, lr} _lv_ll_init(&LV_GC_ROOT(_lv_task_ll), sizeof(lv_task_t)); - 13b96: 2118 movs r1, #24 - 13b98: 4804 ldr r0, [pc, #16] ; (13bac <_lv_task_core_init+0x18>) - 13b9a: 4b05 ldr r3, [pc, #20] ; (13bb0 <_lv_task_core_init+0x1c>) - 13b9c: 4798 blx r3 + 135ee: 2118 movs r1, #24 + 135f0: 4804 ldr r0, [pc, #16] ; (13604 <_lv_task_core_init+0x18>) + 135f2: 4b05 ldr r3, [pc, #20] ; (13608 <_lv_task_core_init+0x1c>) + 135f4: 4798 blx r3 task_list_changed = false; - 13b9e: 4b05 ldr r3, [pc, #20] ; (13bb4 <_lv_task_core_init+0x20>) - 13ba0: 2200 movs r2, #0 - 13ba2: 701a strb r2, [r3, #0] + 135f6: 4b05 ldr r3, [pc, #20] ; (1360c <_lv_task_core_init+0x20>) + 135f8: 2200 movs r2, #0 + 135fa: 701a strb r2, [r3, #0] * Enable or disable the whole lv_task handling * @param en: true: lv_task handling is running, false: lv_task handling is suspended */ void lv_task_enable(bool en) { lv_task_run = en; - 13ba4: 2201 movs r2, #1 - 13ba6: 705a strb r2, [r3, #1] - 13ba8: bd08 pop {r3, pc} - 13baa: bf00 nop - 13bac: 20006c9c .word 0x20006c9c - 13bb0: 000124a1 .word 0x000124a1 - 13bb4: 20006bb8 .word 0x20006bb8 - -00013bb8 : -{ - 13bb8: b5f0 push {r4, r5, r6, r7, lr} - 13bba: b083 sub sp, #12 + 135fc: 2201 movs r2, #1 + 135fe: 705a strb r2, [r3, #1] + 13600: bd08 pop {r3, pc} + 13602: bf00 nop + 13604: 20006c80 .word 0x20006c80 + 13608: 00011ef9 .word 0x00011ef9 + 1360c: 20006bb8 .word 0x20006bb8 + +00013610 : +{ + 13610: b5f0 push {r4, r5, r6, r7, lr} + 13612: b083 sub sp, #12 tmp = _lv_ll_get_head(&LV_GC_ROOT(_lv_task_ll)); - 13bbc: 4837 ldr r0, [pc, #220] ; (13c9c ) - 13bbe: 4b38 ldr r3, [pc, #224] ; (13ca0 ) - 13bc0: 4798 blx r3 + 13614: 4837 ldr r0, [pc, #220] ; (136f4 ) + 13616: 4b38 ldr r3, [pc, #224] ; (136f8 ) + 13618: 4798 blx r3 if(NULL == tmp) { - 13bc2: b310 cbz r0, 13c0a - 13bc4: 4604 mov r4, r0 + 1361a: b310 cbz r0, 13662 + 1361c: 4604 mov r4, r0 tmp = _lv_ll_get_next(&LV_GC_ROOT(_lv_task_ll), tmp); - 13bc6: 4e35 ldr r6, [pc, #212] ; (13c9c ) - 13bc8: 4d36 ldr r5, [pc, #216] ; (13ca4 ) + 1361e: 4e35 ldr r6, [pc, #212] ; (136f4 ) + 13620: 4d36 ldr r5, [pc, #216] ; (136fc ) if(tmp->prio <= DEF_PRIO) { - 13bca: 7d23 ldrb r3, [r4, #20] - 13bcc: f003 0307 and.w r3, r3, #7 - 13bd0: 2b03 cmp r3, #3 - 13bd2: dd30 ble.n 13c36 + 13622: 7d23 ldrb r3, [r4, #20] + 13624: f003 0307 and.w r3, r3, #7 + 13628: 2b03 cmp r3, #3 + 1362a: dd30 ble.n 1368e tmp = _lv_ll_get_next(&LV_GC_ROOT(_lv_task_ll), tmp); - 13bd4: 4621 mov r1, r4 - 13bd6: 4630 mov r0, r6 - 13bd8: 47a8 blx r5 + 1362c: 4621 mov r1, r4 + 1362e: 4630 mov r0, r6 + 13630: 47a8 blx r5 } while(tmp != NULL); - 13bda: 4604 mov r4, r0 - 13bdc: 2800 cmp r0, #0 - 13bde: d1f4 bne.n 13bca + 13632: 4604 mov r4, r0 + 13634: 2800 cmp r0, #0 + 13636: d1f4 bne.n 13622 new_task = _lv_ll_ins_tail(&LV_GC_ROOT(_lv_task_ll)); - 13be0: 482e ldr r0, [pc, #184] ; (13c9c ) - 13be2: 4b31 ldr r3, [pc, #196] ; (13ca8 ) - 13be4: 4798 blx r3 - 13be6: 4605 mov r5, r0 + 13638: 482e ldr r0, [pc, #184] ; (136f4 ) + 1363a: 4b31 ldr r3, [pc, #196] ; (13700 ) + 1363c: 4798 blx r3 + 1363e: 4605 mov r5, r0 LV_ASSERT_MEM(new_task); - 13be8: 4b30 ldr r3, [pc, #192] ; (13cac ) - 13bea: 4798 blx r3 - 13bec: 2800 cmp r0, #0 - 13bee: d152 bne.n 13c96 - 13bf0: 4b2f ldr r3, [pc, #188] ; (13cb0 ) - 13bf2: 9300 str r3, [sp, #0] - 13bf4: 22e5 movs r2, #229 ; 0xe5 - 13bf6: 492f ldr r1, [pc, #188] ; (13cb4 ) - 13bf8: 2003 movs r0, #3 - 13bfa: 4c2f ldr r4, [pc, #188] ; (13cb8 ) - 13bfc: 47a0 blx r4 - 13bfe: 462a mov r2, r5 - 13c00: 2300 movs r3, #0 - 13c02: 482e ldr r0, [pc, #184] ; (13cbc ) - 13c04: 492e ldr r1, [pc, #184] ; (13cc0 ) - 13c06: 4788 blx r1 - 13c08: e7fe b.n 13c08 + 13640: 4b30 ldr r3, [pc, #192] ; (13704 ) + 13642: 4798 blx r3 + 13644: 2800 cmp r0, #0 + 13646: d152 bne.n 136ee + 13648: 4b2f ldr r3, [pc, #188] ; (13708 ) + 1364a: 9300 str r3, [sp, #0] + 1364c: 22e5 movs r2, #229 ; 0xe5 + 1364e: 492f ldr r1, [pc, #188] ; (1370c ) + 13650: 2003 movs r0, #3 + 13652: 4c2f ldr r4, [pc, #188] ; (13710 ) + 13654: 47a0 blx r4 + 13656: 462a mov r2, r5 + 13658: 2300 movs r3, #0 + 1365a: 482e ldr r0, [pc, #184] ; (13714 ) + 1365c: 492e ldr r1, [pc, #184] ; (13718 ) + 1365e: 4788 blx r1 + 13660: e7fe b.n 13660 new_task = _lv_ll_ins_head(&LV_GC_ROOT(_lv_task_ll)); - 13c0a: 4824 ldr r0, [pc, #144] ; (13c9c ) - 13c0c: 4b2d ldr r3, [pc, #180] ; (13cc4 ) - 13c0e: 4798 blx r3 - 13c10: 4605 mov r5, r0 + 13662: 4824 ldr r0, [pc, #144] ; (136f4 ) + 13664: 4b2d ldr r3, [pc, #180] ; (1371c ) + 13666: 4798 blx r3 + 13668: 4605 mov r5, r0 LV_ASSERT_MEM(new_task); - 13c12: 4b26 ldr r3, [pc, #152] ; (13cac ) - 13c14: 4798 blx r3 - 13c16: b960 cbnz r0, 13c32 - 13c18: 4b25 ldr r3, [pc, #148] ; (13cb0 ) - 13c1a: 9300 str r3, [sp, #0] - 13c1c: 22d3 movs r2, #211 ; 0xd3 - 13c1e: 4925 ldr r1, [pc, #148] ; (13cb4 ) - 13c20: 2003 movs r0, #3 - 13c22: 4c25 ldr r4, [pc, #148] ; (13cb8 ) - 13c24: 47a0 blx r4 - 13c26: 462a mov r2, r5 - 13c28: 2300 movs r3, #0 - 13c2a: 4824 ldr r0, [pc, #144] ; (13cbc ) - 13c2c: 4924 ldr r1, [pc, #144] ; (13cc0 ) - 13c2e: 4788 blx r1 - 13c30: e7fe b.n 13c30 + 1366a: 4b26 ldr r3, [pc, #152] ; (13704 ) + 1366c: 4798 blx r3 + 1366e: b960 cbnz r0, 1368a + 13670: 4b25 ldr r3, [pc, #148] ; (13708 ) + 13672: 9300 str r3, [sp, #0] + 13674: 22d3 movs r2, #211 ; 0xd3 + 13676: 4925 ldr r1, [pc, #148] ; (1370c ) + 13678: 2003 movs r0, #3 + 1367a: 4c25 ldr r4, [pc, #148] ; (13710 ) + 1367c: 47a0 blx r4 + 1367e: 462a mov r2, r5 + 13680: 2300 movs r3, #0 + 13682: 4824 ldr r0, [pc, #144] ; (13714 ) + 13684: 4924 ldr r1, [pc, #144] ; (13718 ) + 13686: 4788 blx r1 + 13688: e7fe b.n 13688 if(new_task == NULL) return NULL; - 13c32: b95d cbnz r5, 13c4c - 13c34: e01f b.n 13c76 + 1368a: b95d cbnz r5, 136a4 + 1368c: e01f b.n 136ce new_task = _lv_ll_ins_prev(&LV_GC_ROOT(_lv_task_ll), tmp); - 13c36: 4621 mov r1, r4 - 13c38: 4818 ldr r0, [pc, #96] ; (13c9c ) - 13c3a: 4b23 ldr r3, [pc, #140] ; (13cc8 ) - 13c3c: 4798 blx r3 - 13c3e: 4605 mov r5, r0 + 1368e: 4621 mov r1, r4 + 13690: 4818 ldr r0, [pc, #96] ; (136f4 ) + 13692: 4b23 ldr r3, [pc, #140] ; (13720 ) + 13694: 4798 blx r3 + 13696: 4605 mov r5, r0 LV_ASSERT_MEM(new_task); - 13c40: 4b1a ldr r3, [pc, #104] ; (13cac ) - 13c42: 4798 blx r3 - 13c44: b1d0 cbz r0, 13c7c + 13698: 4b1a ldr r3, [pc, #104] ; (13704 ) + 1369a: 4798 blx r3 + 1369c: b1d0 cbz r0, 136d4 if(new_task == NULL) return NULL; - 13c46: b1b5 cbz r5, 13c76 + 1369e: b1b5 cbz r5, 136ce if(tmp == NULL) { - 13c48: 2c00 cmp r4, #0 - 13c4a: d0c9 beq.n 13be0 + 136a0: 2c00 cmp r4, #0 + 136a2: d0c9 beq.n 13638 task_list_changed = true; - 13c4c: 4c1f ldr r4, [pc, #124] ; (13ccc ) - 13c4e: 2601 movs r6, #1 - 13c50: 7026 strb r6, [r4, #0] + 136a4: 4c1f ldr r4, [pc, #124] ; (13724 ) + 136a6: 2601 movs r6, #1 + 136a8: 7026 strb r6, [r4, #0] new_task->period = DEF_PERIOD; - 13c52: f44f 73fa mov.w r3, #500 ; 0x1f4 - 13c56: 602b str r3, [r5, #0] + 136aa: f44f 73fa mov.w r3, #500 ; 0x1f4 + 136ae: 602b str r3, [r5, #0] new_task->task_cb = NULL; - 13c58: 2700 movs r7, #0 - 13c5a: 60af str r7, [r5, #8] + 136b0: 2700 movs r7, #0 + 136b2: 60af str r7, [r5, #8] new_task->prio = DEF_PRIO; - 13c5c: 7d2b ldrb r3, [r5, #20] - 13c5e: 2203 movs r2, #3 - 13c60: f362 0302 bfi r3, r2, #0, #3 - 13c64: 752b strb r3, [r5, #20] + 136b4: 7d2b ldrb r3, [r5, #20] + 136b6: 2203 movs r2, #3 + 136b8: f362 0302 bfi r3, r2, #0, #3 + 136bc: 752b strb r3, [r5, #20] new_task->repeat_count = -1; - 13c66: f04f 33ff mov.w r3, #4294967295 - 13c6a: 612b str r3, [r5, #16] + 136be: f04f 33ff mov.w r3, #4294967295 + 136c2: 612b str r3, [r5, #16] new_task->last_run = lv_tick_get(); - 13c6c: 4b18 ldr r3, [pc, #96] ; (13cd0 ) - 13c6e: 4798 blx r3 - 13c70: 6068 str r0, [r5, #4] + 136c4: 4b18 ldr r3, [pc, #96] ; (13728 ) + 136c6: 4798 blx r3 + 136c8: 6068 str r0, [r5, #4] new_task->user_data = NULL; - 13c72: 60ef str r7, [r5, #12] + 136ca: 60ef str r7, [r5, #12] task_created = true; - 13c74: 70a6 strb r6, [r4, #2] + 136cc: 70a6 strb r6, [r4, #2] } - 13c76: 4628 mov r0, r5 - 13c78: b003 add sp, #12 - 13c7a: bdf0 pop {r4, r5, r6, r7, pc} + 136ce: 4628 mov r0, r5 + 136d0: b003 add sp, #12 + 136d2: bdf0 pop {r4, r5, r6, r7, pc} LV_ASSERT_MEM(new_task); - 13c7c: 4b0c ldr r3, [pc, #48] ; (13cb0 ) - 13c7e: 9300 str r3, [sp, #0] - 13c80: 22db movs r2, #219 ; 0xdb - 13c82: 490c ldr r1, [pc, #48] ; (13cb4 ) - 13c84: 2003 movs r0, #3 - 13c86: 4c0c ldr r4, [pc, #48] ; (13cb8 ) - 13c88: 47a0 blx r4 - 13c8a: 462a mov r2, r5 - 13c8c: 2300 movs r3, #0 - 13c8e: 480b ldr r0, [pc, #44] ; (13cbc ) - 13c90: 490b ldr r1, [pc, #44] ; (13cc0 ) - 13c92: 4788 blx r1 - 13c94: e7fe b.n 13c94 + 136d4: 4b0c ldr r3, [pc, #48] ; (13708 ) + 136d6: 9300 str r3, [sp, #0] + 136d8: 22db movs r2, #219 ; 0xdb + 136da: 490c ldr r1, [pc, #48] ; (1370c ) + 136dc: 2003 movs r0, #3 + 136de: 4c0c ldr r4, [pc, #48] ; (13710 ) + 136e0: 47a0 blx r4 + 136e2: 462a mov r2, r5 + 136e4: 2300 movs r3, #0 + 136e6: 480b ldr r0, [pc, #44] ; (13714 ) + 136e8: 490b ldr r1, [pc, #44] ; (13718 ) + 136ea: 4788 blx r1 + 136ec: e7fe b.n 136ec if(new_task == NULL) return NULL; - 13c96: 2d00 cmp r5, #0 - 13c98: d1d8 bne.n 13c4c - 13c9a: e7ec b.n 13c76 - 13c9c: 20006c9c .word 0x20006c9c - 13ca0: 00012551 .word 0x00012551 - 13ca4: 00012565 .word 0x00012565 - 13ca8: 00012505 .word 0x00012505 - 13cac: 0000298d .word 0x0000298d - 13cb0: 00020990 .word 0x00020990 - 13cb4: 000209b8 .word 0x000209b8 - 13cb8: 00012805 .word 0x00012805 - 13cbc: 0001b4bc .word 0x0001b4bc - 13cc0: 00002995 .word 0x00002995 - 13cc4: 000124b9 .word 0x000124b9 - 13cc8: 000125bd .word 0x000125bd - 13ccc: 20006bb8 .word 0x20006bb8 - 13cd0: 00011601 .word 0x00011601 - -00013cd4 : -{ - 13cd4: b510 push {r4, lr} - 13cd6: 4604 mov r4, r0 + 136ee: 2d00 cmp r5, #0 + 136f0: d1d8 bne.n 136a4 + 136f2: e7ec b.n 136ce + 136f4: 20006c80 .word 0x20006c80 + 136f8: 00011fa9 .word 0x00011fa9 + 136fc: 00011fbd .word 0x00011fbd + 13700: 00011f5d .word 0x00011f5d + 13704: 000022b1 .word 0x000022b1 + 13708: 000294ac .word 0x000294ac + 1370c: 000294d4 .word 0x000294d4 + 13710: 0001225d .word 0x0001225d + 13714: 00023fd8 .word 0x00023fd8 + 13718: 000022b9 .word 0x000022b9 + 1371c: 00011f11 .word 0x00011f11 + 13720: 00012015 .word 0x00012015 + 13724: 20006bb8 .word 0x20006bb8 + 13728: 00011059 .word 0x00011059 + +0001372c : +{ + 1372c: b510 push {r4, lr} + 1372e: 4604 mov r4, r0 _lv_ll_remove(&LV_GC_ROOT(_lv_task_ll), task); - 13cd8: 4601 mov r1, r0 - 13cda: 4809 ldr r0, [pc, #36] ; (13d00 ) - 13cdc: 4b09 ldr r3, [pc, #36] ; (13d04 ) - 13cde: 4798 blx r3 + 13730: 4601 mov r1, r0 + 13732: 4809 ldr r0, [pc, #36] ; (13758 ) + 13734: 4b09 ldr r3, [pc, #36] ; (1375c ) + 13736: 4798 blx r3 task_list_changed = true; - 13ce0: 2201 movs r2, #1 - 13ce2: 4b09 ldr r3, [pc, #36] ; (13d08 ) - 13ce4: 701a strb r2, [r3, #0] + 13738: 2201 movs r2, #1 + 1373a: 4b09 ldr r3, [pc, #36] ; (13760 ) + 1373c: 701a strb r2, [r3, #0] lv_mem_free(task); - 13ce6: 4620 mov r0, r4 - 13ce8: 4b08 ldr r3, [pc, #32] ; (13d0c ) - 13cea: 4798 blx r3 + 1373e: 4620 mov r0, r4 + 13740: 4b08 ldr r3, [pc, #32] ; (13764 ) + 13742: 4798 blx r3 if(LV_GC_ROOT(_lv_task_act) == task) task_deleted = true; /*The active task was deleted*/ - 13cec: 4b08 ldr r3, [pc, #32] ; (13d10 ) - 13cee: 681b ldr r3, [r3, #0] - 13cf0: 429c cmp r4, r3 - 13cf2: d000 beq.n 13cf6 - 13cf4: bd10 pop {r4, pc} - 13cf6: 2201 movs r2, #1 - 13cf8: 4b03 ldr r3, [pc, #12] ; (13d08 ) - 13cfa: 70da strb r2, [r3, #3] -} - 13cfc: e7fa b.n 13cf4 - 13cfe: bf00 nop - 13d00: 20006c9c .word 0x20006c9c - 13d04: 0001263d .word 0x0001263d - 13d08: 20006bb8 .word 0x20006bb8 - 13d0c: 00012a6d .word 0x00012a6d - 13d10: 20006d68 .word 0x20006d68 - -00013d14 : + 13744: 4b08 ldr r3, [pc, #32] ; (13768 ) + 13746: 681b ldr r3, [r3, #0] + 13748: 429c cmp r4, r3 + 1374a: d000 beq.n 1374e + 1374c: bd10 pop {r4, pc} + 1374e: 2201 movs r2, #1 + 13750: 4b03 ldr r3, [pc, #12] ; (13760 ) + 13752: 70da strb r2, [r3, #3] +} + 13754: e7fa b.n 1374c + 13756: bf00 nop + 13758: 20006c80 .word 0x20006c80 + 1375c: 00012095 .word 0x00012095 + 13760: 20006bb8 .word 0x20006bb8 + 13764: 000124c5 .word 0x000124c5 + 13768: 20006d4c .word 0x20006d4c + +0001376c : * Execute task if its the priority is appropriate * @param task pointer to lv_task * @return true: execute, false: not executed */ static bool lv_task_exec(lv_task_t * task) { - 13d14: b510 push {r4, lr} - 13d16: 4604 mov r4, r0 + 1376c: b510 push {r4, lr} + 1376e: 4604 mov r4, r0 * @return the time remaining, or 0 if it needs to be run again */ static uint32_t lv_task_time_remaining(lv_task_t * task) { /*Check if at least 'period' time elapsed*/ uint32_t elp = lv_tick_elaps(task->last_run); - 13d18: 6840 ldr r0, [r0, #4] - 13d1a: 4b12 ldr r3, [pc, #72] ; (13d64 ) - 13d1c: 4798 blx r3 + 13770: 6840 ldr r0, [r0, #4] + 13772: 4b12 ldr r3, [pc, #72] ; (137bc ) + 13774: 4798 blx r3 if(elp >= task->period) - 13d1e: 6823 ldr r3, [r4, #0] - 13d20: 4298 cmp r0, r3 - 13d22: d201 bcs.n 13d28 + 13776: 6823 ldr r3, [r4, #0] + 13778: 4298 cmp r0, r3 + 1377a: d201 bcs.n 13780 bool exec = false; - 13d24: 2000 movs r0, #0 - 13d26: bd10 pop {r4, pc} + 1377c: 2000 movs r0, #0 + 1377e: bd10 pop {r4, pc} task->last_run = lv_tick_get(); - 13d28: 4b0f ldr r3, [pc, #60] ; (13d68 ) - 13d2a: 4798 blx r3 - 13d2c: 6060 str r0, [r4, #4] + 13780: 4b0f ldr r3, [pc, #60] ; (137c0 ) + 13782: 4798 blx r3 + 13784: 6060 str r0, [r4, #4] task_deleted = false; - 13d2e: 4b0f ldr r3, [pc, #60] ; (13d6c ) - 13d30: 2200 movs r2, #0 - 13d32: 70da strb r2, [r3, #3] + 13786: 4b0f ldr r3, [pc, #60] ; (137c4 ) + 13788: 2200 movs r2, #0 + 1378a: 70da strb r2, [r3, #3] task_created = false; - 13d34: 709a strb r2, [r3, #2] + 1378c: 709a strb r2, [r3, #2] if(task->task_cb) task->task_cb(task); - 13d36: 68a3 ldr r3, [r4, #8] - 13d38: b12b cbz r3, 13d46 - 13d3a: 4620 mov r0, r4 - 13d3c: 4798 blx r3 + 1378e: 68a3 ldr r3, [r4, #8] + 13790: b12b cbz r3, 1379e + 13792: 4620 mov r0, r4 + 13794: 4798 blx r3 if(task_deleted == false) { /*The task might be deleted by itself as well*/ - 13d3e: 4b0b ldr r3, [pc, #44] ; (13d6c ) - 13d40: 78d8 ldrb r0, [r3, #3] - 13d42: b100 cbz r0, 13d46 + 13796: 4b0b ldr r3, [pc, #44] ; (137c4 ) + 13798: 78d8 ldrb r0, [r3, #3] + 1379a: b100 cbz r0, 1379e } - 13d44: bd10 pop {r4, pc} + 1379c: bd10 pop {r4, pc} if(task->repeat_count > 0) { - 13d46: 6923 ldr r3, [r4, #16] - 13d48: 2b00 cmp r3, #0 + 1379e: 6923 ldr r3, [r4, #16] + 137a0: 2b00 cmp r3, #0 task->repeat_count--; - 13d4a: bfc4 itt gt - 13d4c: f103 33ff addgt.w r3, r3, #4294967295 - 13d50: 6123 strgt r3, [r4, #16] + 137a2: bfc4 itt gt + 137a4: f103 33ff addgt.w r3, r3, #4294967295 + 137a8: 6123 strgt r3, [r4, #16] if(task->repeat_count == 0) { - 13d52: 6923 ldr r3, [r4, #16] - 13d54: b10b cbz r3, 13d5a + 137aa: 6923 ldr r3, [r4, #16] + 137ac: b10b cbz r3, 137b2 exec = true; - 13d56: 2001 movs r0, #1 - 13d58: e7f4 b.n 13d44 + 137ae: 2001 movs r0, #1 + 137b0: e7f4 b.n 1379c lv_task_del(task); - 13d5a: 4620 mov r0, r4 - 13d5c: 4b04 ldr r3, [pc, #16] ; (13d70 ) - 13d5e: 4798 blx r3 + 137b2: 4620 mov r0, r4 + 137b4: 4b04 ldr r3, [pc, #16] ; (137c8 ) + 137b6: 4798 blx r3 exec = true; - 13d60: 2001 movs r0, #1 - 13d62: bd10 pop {r4, pc} - 13d64: 00011619 .word 0x00011619 - 13d68: 00011601 .word 0x00011601 - 13d6c: 20006bb8 .word 0x20006bb8 - 13d70: 00013cd5 .word 0x00013cd5 + 137b8: 2001 movs r0, #1 + 137ba: bd10 pop {r4, pc} + 137bc: 00011071 .word 0x00011071 + 137c0: 00011059 .word 0x00011059 + 137c4: 20006bb8 .word 0x20006bb8 + 137c8: 0001372d .word 0x0001372d -00013d74 : +000137cc : { - 13d74: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} + 137cc: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} if(already_running) return 1; - 13d78: 4b58 ldr r3, [pc, #352] ; (13edc ) - 13d7a: 791b ldrb r3, [r3, #4] - 13d7c: 2b00 cmp r3, #0 - 13d7e: f040 80a9 bne.w 13ed4 + 137d0: 4b58 ldr r3, [pc, #352] ; (13934 ) + 137d2: 791b ldrb r3, [r3, #4] + 137d4: 2b00 cmp r3, #0 + 137d6: f040 80a9 bne.w 1392c already_running = true; - 13d82: 4b56 ldr r3, [pc, #344] ; (13edc ) - 13d84: 2201 movs r2, #1 - 13d86: 711a strb r2, [r3, #4] + 137da: 4b56 ldr r3, [pc, #344] ; (13934 ) + 137dc: 2201 movs r2, #1 + 137de: 711a strb r2, [r3, #4] if(lv_task_run == false) { - 13d88: 785b ldrb r3, [r3, #1] - 13d8a: b92b cbnz r3, 13d98 + 137e0: 785b ldrb r3, [r3, #1] + 137e2: b92b cbnz r3, 137f0 already_running = false; /*Release mutex*/ - 13d8c: 2200 movs r2, #0 - 13d8e: 4b53 ldr r3, [pc, #332] ; (13edc ) - 13d90: 711a strb r2, [r3, #4] + 137e4: 2200 movs r2, #0 + 137e6: 4b53 ldr r3, [pc, #332] ; (13934 ) + 137e8: 711a strb r2, [r3, #4] return 1; - 13d92: 2001 movs r0, #1 - 13d94: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} + 137ea: 2001 movs r0, #1 + 137ec: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} handler_start = lv_tick_get(); - 13d98: 4b51 ldr r3, [pc, #324] ; (13ee0 ) - 13d9a: 4798 blx r3 - 13d9c: 4b4f ldr r3, [pc, #316] ; (13edc ) - 13d9e: 6098 str r0, [r3, #8] + 137f0: 4b51 ldr r3, [pc, #324] ; (13938 ) + 137f2: 4798 blx r3 + 137f4: 4b4f ldr r3, [pc, #316] ; (13934 ) + 137f6: 6098 str r0, [r3, #8] lv_task_t * task_interrupter = NULL; - 13da0: 2600 movs r6, #0 + 137f8: 2600 movs r6, #0 task_deleted = false; - 13da2: 461d mov r5, r3 + 137fa: 461d mov r5, r3 LV_GC_ROOT(_lv_task_act) = _lv_ll_get_head(&LV_GC_ROOT(_lv_task_ll)); - 13da4: f8df 814c ldr.w r8, [pc, #332] ; 13ef4 - 13da8: 4c4e ldr r4, [pc, #312] ; (13ee4 ) + 137fc: f8df 814c ldr.w r8, [pc, #332] ; 1394c + 13800: 4c4e ldr r4, [pc, #312] ; (1393c ) next = _lv_ll_get_next(&LV_GC_ROOT(_lv_task_ll), LV_GC_ROOT(_lv_task_act)); - 13daa: f8df 9150 ldr.w r9, [pc, #336] ; 13efc - 13dae: e06d b.n 13e8c + 13802: f8df 9150 ldr.w r9, [pc, #336] ; 13954 + 13806: e06d b.n 138e4 LV_GC_ROOT(_lv_task_act) = next; - 13db0: 6027 str r7, [r4, #0] + 13808: 6027 str r7, [r4, #0] task_interrupter = NULL; /*From this point only task after the interrupter comes, so - 13db2: 2600 movs r6, #0 + 1380a: 2600 movs r6, #0 continue; /*Load the next task*/ - 13db4: e009 b.n 13dca + 1380c: e009 b.n 13822 lv_task_exec(LV_GC_ROOT(_lv_task_act)); - 13db6: 4b4c ldr r3, [pc, #304] ; (13ee8 ) - 13db8: 4798 blx r3 + 1380e: 4b4c ldr r3, [pc, #304] ; (13940 ) + 13810: 4798 blx r3 if(task_created || task_deleted) { - 13dba: 78ab ldrb r3, [r5, #2] - 13dbc: bb33 cbnz r3, 13e0c - 13dbe: 78eb ldrb r3, [r5, #3] - 13dc0: bb23 cbnz r3, 13e0c + 13812: 78ab ldrb r3, [r5, #2] + 13814: bb33 cbnz r3, 13864 + 13816: 78eb ldrb r3, [r5, #3] + 13818: bb23 cbnz r3, 13864 if(task_list_changed) { - 13dc2: 782b ldrb r3, [r5, #0] - 13dc4: 2b00 cmp r3, #0 - 13dc6: d15f bne.n 13e88 + 1381a: 782b ldrb r3, [r5, #0] + 1381c: 2b00 cmp r3, #0 + 1381e: d15f bne.n 138e0 LV_GC_ROOT(_lv_task_act) = next; /*Load the next task*/ - 13dc8: 6027 str r7, [r4, #0] + 13820: 6027 str r7, [r4, #0] while(LV_GC_ROOT(_lv_task_act)) { - 13dca: 6821 ldr r1, [r4, #0] - 13dcc: b1f1 cbz r1, 13e0c + 13822: 6821 ldr r1, [r4, #0] + 13824: b1f1 cbz r1, 13864 next = _lv_ll_get_next(&LV_GC_ROOT(_lv_task_ll), LV_GC_ROOT(_lv_task_act)); - 13dce: 4640 mov r0, r8 - 13dd0: 47c8 blx r9 - 13dd2: 4607 mov r7, r0 + 13826: 4640 mov r0, r8 + 13828: 47c8 blx r9 + 1382a: 4607 mov r7, r0 if(((lv_task_t *)LV_GC_ROOT(_lv_task_act))->prio == LV_TASK_PRIO_OFF) { - 13dd4: 6820 ldr r0, [r4, #0] - 13dd6: 7d03 ldrb r3, [r0, #20] - 13dd8: f013 0307 ands.w r3, r3, #7 - 13ddc: d016 beq.n 13e0c + 1382c: 6820 ldr r0, [r4, #0] + 1382e: 7d03 ldrb r3, [r0, #20] + 13830: f013 0307 ands.w r3, r3, #7 + 13834: d016 beq.n 13864 if(LV_GC_ROOT(_lv_task_act) == task_interrupter) { - 13dde: 4286 cmp r6, r0 - 13de0: d0e6 beq.n 13db0 + 13836: 4286 cmp r6, r0 + 13838: d0e6 beq.n 13808 if(((lv_task_t *)LV_GC_ROOT(_lv_task_act))->prio == LV_TASK_PRIO_HIGHEST) { - 13de2: 2b05 cmp r3, #5 - 13de4: d0e7 beq.n 13db6 + 1383a: 2b05 cmp r3, #5 + 1383c: d0e7 beq.n 1380e else if(task_interrupter) { - 13de6: 2e00 cmp r6, #0 - 13de8: d042 beq.n 13e70 + 1383e: 2e00 cmp r6, #0 + 13840: d042 beq.n 138c8 if(((lv_task_t *)LV_GC_ROOT(_lv_task_act))->prio > task_interrupter->prio) { - 13dea: 7d02 ldrb r2, [r0, #20] - 13dec: f002 0207 and.w r2, r2, #7 - 13df0: 7d33 ldrb r3, [r6, #20] - 13df2: f003 0307 and.w r3, r3, #7 - 13df6: 429a cmp r2, r3 - 13df8: dddf ble.n 13dba + 13842: 7d02 ldrb r2, [r0, #20] + 13844: f002 0207 and.w r2, r2, #7 + 13848: 7d33 ldrb r3, [r6, #20] + 1384a: f003 0307 and.w r3, r3, #7 + 1384e: 429a cmp r2, r3 + 13850: dddf ble.n 13812 if(lv_task_exec(LV_GC_ROOT(_lv_task_act))) { - 13dfa: 4b3b ldr r3, [pc, #236] ; (13ee8 ) - 13dfc: 4798 blx r3 - 13dfe: 2800 cmp r0, #0 - 13e00: d0db beq.n 13dba + 13852: 4b3b ldr r3, [pc, #236] ; (13940 ) + 13854: 4798 blx r3 + 13856: 2800 cmp r0, #0 + 13858: d0db beq.n 13812 if(!task_created && !task_deleted) { - 13e02: 78ab ldrb r3, [r5, #2] - 13e04: b913 cbnz r3, 13e0c - 13e06: 78eb ldrb r3, [r5, #3] - 13e08: 2b00 cmp r3, #0 - 13e0a: d02f beq.n 13e6c + 1385a: 78ab ldrb r3, [r5, #2] + 1385c: b913 cbnz r3, 13864 + 1385e: 78eb ldrb r3, [r5, #3] + 13860: 2b00 cmp r3, #0 + 13862: d02f beq.n 138c4 busy_time += lv_tick_elaps(handler_start); - 13e0c: 4c33 ldr r4, [pc, #204] ; (13edc ) - 13e0e: 68a0 ldr r0, [r4, #8] - 13e10: 4d36 ldr r5, [pc, #216] ; (13eec ) - 13e12: 47a8 blx r5 - 13e14: 68e3 ldr r3, [r4, #12] - 13e16: 4403 add r3, r0 - 13e18: 60e3 str r3, [r4, #12] + 13864: 4c33 ldr r4, [pc, #204] ; (13934 ) + 13866: 68a0 ldr r0, [r4, #8] + 13868: 4d36 ldr r5, [pc, #216] ; (13944 ) + 1386a: 47a8 blx r5 + 1386c: 68e3 ldr r3, [r4, #12] + 1386e: 4403 add r3, r0 + 13870: 60e3 str r3, [r4, #12] uint32_t idle_period_time = lv_tick_elaps(idle_period_start); - 13e1a: 6920 ldr r0, [r4, #16] - 13e1c: 47a8 blx r5 + 13872: 6920 ldr r0, [r4, #16] + 13874: 47a8 blx r5 if(idle_period_time >= IDLE_MEAS_PERIOD) { - 13e1e: f5b0 7ffa cmp.w r0, #500 ; 0x1f4 - 13e22: d315 bcc.n 13e50 + 13876: f5b0 7ffa cmp.w r0, #500 ; 0x1f4 + 1387a: d315 bcc.n 138a8 idle_last = (uint32_t)((uint32_t)busy_time * 100) / IDLE_MEAS_PERIOD; /*Calculate the busy percentage*/ - 13e24: 68e2 ldr r2, [r4, #12] - 13e26: 2364 movs r3, #100 ; 0x64 - 13e28: fb03 f302 mul.w r3, r3, r2 - 13e2c: 4a30 ldr r2, [pc, #192] ; (13ef0 ) - 13e2e: fba2 2303 umull r2, r3, r2, r3 - 13e32: f3c3 1347 ubfx r3, r3, #5, #8 + 1387c: 68e2 ldr r2, [r4, #12] + 1387e: 2364 movs r3, #100 ; 0x64 + 13880: fb03 f302 mul.w r3, r3, r2 + 13884: 4a30 ldr r2, [pc, #192] ; (13948 ) + 13886: fba2 2303 umull r2, r3, r2, r3 + 1388a: f3c3 1347 ubfx r3, r3, #5, #8 idle_last = idle_last > 100 ? 0 : 100 - idle_last; /*But we need idle time*/ - 13e36: 2b64 cmp r3, #100 ; 0x64 - 13e38: bf9a itte ls - 13e3a: f1c3 0364 rsbls r3, r3, #100 ; 0x64 - 13e3e: b2db uxtbls r3, r3 - 13e40: 2300 movhi r3, #0 - 13e42: 4c26 ldr r4, [pc, #152] ; (13edc ) - 13e44: 7523 strb r3, [r4, #20] + 1388e: 2b64 cmp r3, #100 ; 0x64 + 13890: bf9a itte ls + 13892: f1c3 0364 rsbls r3, r3, #100 ; 0x64 + 13896: b2db uxtbls r3, r3 + 13898: 2300 movhi r3, #0 + 1389a: 4c26 ldr r4, [pc, #152] ; (13934 ) + 1389c: 7523 strb r3, [r4, #20] busy_time = 0; - 13e46: 2300 movs r3, #0 - 13e48: 60e3 str r3, [r4, #12] + 1389e: 2300 movs r3, #0 + 138a0: 60e3 str r3, [r4, #12] idle_period_start = lv_tick_get(); - 13e4a: 4b25 ldr r3, [pc, #148] ; (13ee0 ) - 13e4c: 4798 blx r3 - 13e4e: 6120 str r0, [r4, #16] + 138a2: 4b25 ldr r3, [pc, #148] ; (13938 ) + 138a4: 4798 blx r3 + 138a6: 6120 str r0, [r4, #16] time_till_next = LV_NO_TASK_READY; - 13e50: f04f 32ff mov.w r2, #4294967295 - 13e54: 4b21 ldr r3, [pc, #132] ; (13edc ) - 13e56: 619a str r2, [r3, #24] + 138a8: f04f 32ff mov.w r2, #4294967295 + 138ac: 4b21 ldr r3, [pc, #132] ; (13934 ) + 138ae: 619a str r2, [r3, #24] next = _lv_ll_get_head(&LV_GC_ROOT(_lv_task_ll)); - 13e58: 4826 ldr r0, [pc, #152] ; (13ef4 ) - 13e5a: 4b27 ldr r3, [pc, #156] ; (13ef8 ) - 13e5c: 4798 blx r3 + 138b0: 4826 ldr r0, [pc, #152] ; (1394c ) + 138b2: 4b27 ldr r3, [pc, #156] ; (13950 ) + 138b4: 4798 blx r3 while(next) { - 13e5e: 4604 mov r4, r0 - 13e60: 2800 cmp r0, #0 - 13e62: d031 beq.n 13ec8 + 138b6: 4604 mov r4, r0 + 138b8: 2800 cmp r0, #0 + 138ba: d031 beq.n 13920 uint32_t elp = lv_tick_elaps(task->last_run); - 13e64: 4f21 ldr r7, [pc, #132] ; (13eec ) + 138bc: 4f21 ldr r7, [pc, #132] ; (13944 ) if(delay < time_till_next) - 13e66: 4e1d ldr r6, [pc, #116] ; (13edc ) + 138be: 4e1d ldr r6, [pc, #116] ; (13934 ) next = _lv_ll_get_next(&LV_GC_ROOT(_lv_task_ll), next); /*Find the next task*/ - 13e68: 4d22 ldr r5, [pc, #136] ; (13ef4 ) - 13e6a: e01d b.n 13ea8 + 138c0: 4d22 ldr r5, [pc, #136] ; (1394c ) + 138c2: e01d b.n 13900 task_interrupter = LV_GC_ROOT(_lv_task_act); - 13e6c: 6826 ldr r6, [r4, #0] + 138c4: 6826 ldr r6, [r4, #0] break; - 13e6e: e00d b.n 13e8c + 138c6: e00d b.n 138e4 if(lv_task_exec(LV_GC_ROOT(_lv_task_act))) { - 13e70: 4b1d ldr r3, [pc, #116] ; (13ee8 ) - 13e72: 4798 blx r3 - 13e74: 2800 cmp r0, #0 - 13e76: d0a0 beq.n 13dba + 138c8: 4b1d ldr r3, [pc, #116] ; (13940 ) + 138ca: 4798 blx r3 + 138cc: 2800 cmp r0, #0 + 138ce: d0a0 beq.n 13812 if(!task_created && !task_deleted) { - 13e78: 78ab ldrb r3, [r5, #2] - 13e7a: 2b00 cmp r3, #0 - 13e7c: d1c6 bne.n 13e0c - 13e7e: 78eb ldrb r3, [r5, #3] - 13e80: 2b00 cmp r3, #0 - 13e82: d1c3 bne.n 13e0c + 138d0: 78ab ldrb r3, [r5, #2] + 138d2: 2b00 cmp r3, #0 + 138d4: d1c6 bne.n 13864 + 138d6: 78eb ldrb r3, [r5, #3] + 138d8: 2b00 cmp r3, #0 + 138da: d1c3 bne.n 13864 task_interrupter = LV_GC_ROOT(_lv_task_act); /*Check all tasks again from the highest priority */ - 13e84: 6826 ldr r6, [r4, #0] + 138dc: 6826 ldr r6, [r4, #0] break; - 13e86: e001 b.n 13e8c + 138de: e001 b.n 138e4 task_list_changed = false; - 13e88: 2600 movs r6, #0 - 13e8a: 702e strb r6, [r5, #0] + 138e0: 2600 movs r6, #0 + 138e2: 702e strb r6, [r5, #0] task_deleted = false; - 13e8c: 2300 movs r3, #0 - 13e8e: 70eb strb r3, [r5, #3] + 138e4: 2300 movs r3, #0 + 138e6: 70eb strb r3, [r5, #3] task_created = false; - 13e90: 70ab strb r3, [r5, #2] + 138e8: 70ab strb r3, [r5, #2] LV_GC_ROOT(_lv_task_act) = _lv_ll_get_head(&LV_GC_ROOT(_lv_task_ll)); - 13e92: 4640 mov r0, r8 - 13e94: 4b18 ldr r3, [pc, #96] ; (13ef8 ) - 13e96: 4798 blx r3 - 13e98: 6020 str r0, [r4, #0] + 138ea: 4640 mov r0, r8 + 138ec: 4b18 ldr r3, [pc, #96] ; (13950 ) + 138ee: 4798 blx r3 + 138f0: 6020 str r0, [r4, #0] while(LV_GC_ROOT(_lv_task_act)) { - 13e9a: e796 b.n 13dca + 138f2: e796 b.n 13822 next = _lv_ll_get_next(&LV_GC_ROOT(_lv_task_ll), next); /*Find the next task*/ - 13e9c: 4621 mov r1, r4 - 13e9e: 4628 mov r0, r5 - 13ea0: 4b16 ldr r3, [pc, #88] ; (13efc ) - 13ea2: 4798 blx r3 + 138f4: 4621 mov r1, r4 + 138f6: 4628 mov r0, r5 + 138f8: 4b16 ldr r3, [pc, #88] ; (13954 ) + 138fa: 4798 blx r3 while(next) { - 13ea4: 4604 mov r4, r0 - 13ea6: b178 cbz r0, 13ec8 + 138fc: 4604 mov r4, r0 + 138fe: b178 cbz r0, 13920 if(next->prio != LV_TASK_PRIO_OFF) { - 13ea8: 7d23 ldrb r3, [r4, #20] - 13eaa: f013 0f07 tst.w r3, #7 - 13eae: d0f5 beq.n 13e9c + 13900: 7d23 ldrb r3, [r4, #20] + 13902: f013 0f07 tst.w r3, #7 + 13906: d0f5 beq.n 138f4 uint32_t elp = lv_tick_elaps(task->last_run); - 13eb0: 6860 ldr r0, [r4, #4] - 13eb2: 47b8 blx r7 + 13908: 6860 ldr r0, [r4, #4] + 1390a: 47b8 blx r7 if(elp >= task->period) - 13eb4: 6823 ldr r3, [r4, #0] - 13eb6: 4298 cmp r0, r3 + 1390c: 6823 ldr r3, [r4, #0] + 1390e: 4298 cmp r0, r3 return 0; return task->period - elp; - 13eb8: bf34 ite cc - 13eba: 1a1b subcc r3, r3, r0 + 13910: bf34 ite cc + 13912: 1a1b subcc r3, r3, r0 return 0; - 13ebc: 2300 movcs r3, #0 + 13914: 2300 movcs r3, #0 if(delay < time_till_next) - 13ebe: 69b2 ldr r2, [r6, #24] - 13ec0: 429a cmp r2, r3 + 13916: 69b2 ldr r2, [r6, #24] + 13918: 429a cmp r2, r3 time_till_next = delay; - 13ec2: bf88 it hi - 13ec4: 61b3 strhi r3, [r6, #24] - 13ec6: e7e9 b.n 13e9c + 1391a: bf88 it hi + 1391c: 61b3 strhi r3, [r6, #24] + 1391e: e7e9 b.n 138f4 already_running = false; /*Release the mutex*/ - 13ec8: 4b04 ldr r3, [pc, #16] ; (13edc ) - 13eca: 2200 movs r2, #0 - 13ecc: 711a strb r2, [r3, #4] + 13920: 4b04 ldr r3, [pc, #16] ; (13934 ) + 13922: 2200 movs r2, #0 + 13924: 711a strb r2, [r3, #4] return time_till_next; - 13ece: 6998 ldr r0, [r3, #24] - 13ed0: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} + 13926: 6998 ldr r0, [r3, #24] + 13928: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} if(already_running) return 1; - 13ed4: 2001 movs r0, #1 -} - 13ed6: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} - 13eda: bf00 nop - 13edc: 20006bb8 .word 0x20006bb8 - 13ee0: 00011601 .word 0x00011601 - 13ee4: 20006d68 .word 0x20006d68 - 13ee8: 00013d15 .word 0x00013d15 - 13eec: 00011619 .word 0x00011619 - 13ef0: 10624dd3 .word 0x10624dd3 - 13ef4: 20006c9c .word 0x20006c9c - 13ef8: 00012551 .word 0x00012551 - 13efc: 00012565 .word 0x00012565 - -00013f00 : -{ - 13f00: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} + 1392c: 2001 movs r0, #1 +} + 1392e: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} + 13932: bf00 nop + 13934: 20006bb8 .word 0x20006bb8 + 13938: 00011059 .word 0x00011059 + 1393c: 20006d4c .word 0x20006d4c + 13940: 0001376d .word 0x0001376d + 13944: 00011071 .word 0x00011071 + 13948: 10624dd3 .word 0x10624dd3 + 1394c: 20006c80 .word 0x20006c80 + 13950: 00011fa9 .word 0x00011fa9 + 13954: 00011fbd .word 0x00011fbd + +00013958 : +{ + 13958: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} if(task->prio == prio) return; - 13f04: 7d03 ldrb r3, [r0, #20] - 13f06: f003 0307 and.w r3, r3, #7 - 13f0a: 428b cmp r3, r1 - 13f0c: d031 beq.n 13f72 - 13f0e: 460d mov r5, r1 - 13f10: 4688 mov r8, r1 - 13f12: 4681 mov r9, r0 + 1395c: 7d03 ldrb r3, [r0, #20] + 1395e: f003 0307 and.w r3, r3, #7 + 13962: 428b cmp r3, r1 + 13964: d031 beq.n 139ca + 13966: 460d mov r5, r1 + 13968: 4688 mov r8, r1 + 1396a: 4681 mov r9, r0 _LV_LL_READ(LV_GC_ROOT(_lv_task_ll), i) { - 13f14: 4818 ldr r0, [pc, #96] ; (13f78 ) - 13f16: 4b19 ldr r3, [pc, #100] ; (13f7c ) - 13f18: 4798 blx r3 - 13f1a: 4604 mov r4, r0 - 13f1c: b318 cbz r0, 13f66 + 1396c: 4818 ldr r0, [pc, #96] ; (139d0 ) + 1396e: 4b19 ldr r3, [pc, #100] ; (139d4 ) + 13970: 4798 blx r3 + 13972: 4604 mov r4, r0 + 13974: b318 cbz r0, 139be if(i->prio <= prio) { - 13f1e: 7d03 ldrb r3, [r0, #20] - 13f20: f003 0307 and.w r3, r3, #7 - 13f24: 429d cmp r5, r3 - 13f26: da0b bge.n 13f40 + 13976: 7d03 ldrb r3, [r0, #20] + 13978: f003 0307 and.w r3, r3, #7 + 1397c: 429d cmp r5, r3 + 1397e: da0b bge.n 13998 _LV_LL_READ(LV_GC_ROOT(_lv_task_ll), i) { - 13f28: 4f13 ldr r7, [pc, #76] ; (13f78 ) - 13f2a: 4e15 ldr r6, [pc, #84] ; (13f80 ) - 13f2c: 4621 mov r1, r4 - 13f2e: 4638 mov r0, r7 - 13f30: 47b0 blx r6 - 13f32: 4604 mov r4, r0 - 13f34: b1b8 cbz r0, 13f66 + 13980: 4f13 ldr r7, [pc, #76] ; (139d0 ) + 13982: 4e15 ldr r6, [pc, #84] ; (139d8 ) + 13984: 4621 mov r1, r4 + 13986: 4638 mov r0, r7 + 13988: 47b0 blx r6 + 1398a: 4604 mov r4, r0 + 1398c: b1b8 cbz r0, 139be if(i->prio <= prio) { - 13f36: 7d23 ldrb r3, [r4, #20] - 13f38: f003 0307 and.w r3, r3, #7 - 13f3c: 429d cmp r5, r3 - 13f3e: dbf5 blt.n 13f2c + 1398e: 7d23 ldrb r3, [r4, #20] + 13990: f003 0307 and.w r3, r3, #7 + 13994: 429d cmp r5, r3 + 13996: dbf5 blt.n 13984 if(i != task) _lv_ll_move_before(&LV_GC_ROOT(_lv_task_ll), task, i); - 13f40: 45a1 cmp r9, r4 - 13f42: d005 beq.n 13f50 - 13f44: 4622 mov r2, r4 - 13f46: 4649 mov r1, r9 - 13f48: 480b ldr r0, [pc, #44] ; (13f78 ) - 13f4a: 4b0e ldr r3, [pc, #56] ; (13f84 ) - 13f4c: 4798 blx r3 + 13998: 45a1 cmp r9, r4 + 1399a: d005 beq.n 139a8 + 1399c: 4622 mov r2, r4 + 1399e: 4649 mov r1, r9 + 139a0: 480b ldr r0, [pc, #44] ; (139d0 ) + 139a2: 4b0e ldr r3, [pc, #56] ; (139dc ) + 139a4: 4798 blx r3 if(i == NULL) { - 13f4e: b154 cbz r4, 13f66 + 139a6: b154 cbz r4, 139be task_list_changed = true; - 13f50: 2201 movs r2, #1 - 13f52: 4b0d ldr r3, [pc, #52] ; (13f88 ) - 13f54: 701a strb r2, [r3, #0] + 139a8: 2201 movs r2, #1 + 139aa: 4b0d ldr r3, [pc, #52] ; (139e0 ) + 139ac: 701a strb r2, [r3, #0] task->prio = prio; - 13f56: f899 3014 ldrb.w r3, [r9, #20] - 13f5a: f368 0302 bfi r3, r8, #0, #3 - 13f5e: f889 3014 strb.w r3, [r9, #20] - 13f62: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} + 139ae: f899 3014 ldrb.w r3, [r9, #20] + 139b2: f368 0302 bfi r3, r8, #0, #3 + 139b6: f889 3014 strb.w r3, [r9, #20] + 139ba: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} _lv_ll_move_before(&LV_GC_ROOT(_lv_task_ll), task, NULL); - 13f66: 2200 movs r2, #0 - 13f68: 4649 mov r1, r9 - 13f6a: 4803 ldr r0, [pc, #12] ; (13f78 ) - 13f6c: 4b05 ldr r3, [pc, #20] ; (13f84 ) - 13f6e: 4798 blx r3 - 13f70: e7ee b.n 13f50 - 13f72: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} - 13f76: bf00 nop - 13f78: 20006c9c .word 0x20006c9c - 13f7c: 00012551 .word 0x00012551 - 13f80: 00012565 .word 0x00012565 - 13f84: 0001273d .word 0x0001273d - 13f88: 20006bb8 .word 0x20006bb8 - -00013f8c : -{ - 13f8c: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - 13f90: b082 sub sp, #8 - 13f92: 4680 mov r8, r0 - 13f94: 460f mov r7, r1 - 13f96: 4616 mov r6, r2 - 13f98: 461d mov r5, r3 + 139be: 2200 movs r2, #0 + 139c0: 4649 mov r1, r9 + 139c2: 4803 ldr r0, [pc, #12] ; (139d0 ) + 139c4: 4b05 ldr r3, [pc, #20] ; (139dc ) + 139c6: 4798 blx r3 + 139c8: e7ee b.n 139a8 + 139ca: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} + 139ce: bf00 nop + 139d0: 20006c80 .word 0x20006c80 + 139d4: 00011fa9 .word 0x00011fa9 + 139d8: 00011fbd .word 0x00011fbd + 139dc: 00012195 .word 0x00012195 + 139e0: 20006bb8 .word 0x20006bb8 + +000139e4 : +{ + 139e4: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} + 139e8: b082 sub sp, #8 + 139ea: 4680 mov r8, r0 + 139ec: 460f mov r7, r1 + 139ee: 4616 mov r6, r2 + 139f0: 461d mov r5, r3 lv_task_t * new_task = lv_task_create_basic(); - 13f9a: 4b10 ldr r3, [pc, #64] ; (13fdc ) - 13f9c: 4798 blx r3 - 13f9e: 4604 mov r4, r0 + 139f2: 4b10 ldr r3, [pc, #64] ; (13a34 ) + 139f4: 4798 blx r3 + 139f6: 4604 mov r4, r0 LV_ASSERT_MEM(new_task); - 13fa0: 4b0f ldr r3, [pc, #60] ; (13fe0 ) - 13fa2: 4798 blx r3 - 13fa4: b160 cbz r0, 13fc0 + 139f8: 4b0f ldr r3, [pc, #60] ; (13a38 ) + 139fa: 4798 blx r3 + 139fc: b160 cbz r0, 13a18 if(new_task == NULL) return NULL; - 13fa6: b13c cbz r4, 13fb8 + 139fe: b13c cbz r4, 13a10 task->task_cb = task_cb; - 13fa8: f8c4 8008 str.w r8, [r4, #8] + 13a00: f8c4 8008 str.w r8, [r4, #8] task->period = period; - 13fac: 6027 str r7, [r4, #0] + 13a04: 6027 str r7, [r4, #0] lv_task_set_prio(new_task, prio); - 13fae: 4631 mov r1, r6 - 13fb0: 4620 mov r0, r4 - 13fb2: 4b0c ldr r3, [pc, #48] ; (13fe4 ) - 13fb4: 4798 blx r3 + 13a06: 4631 mov r1, r6 + 13a08: 4620 mov r0, r4 + 13a0a: 4b0c ldr r3, [pc, #48] ; (13a3c ) + 13a0c: 4798 blx r3 new_task->user_data = user_data; - 13fb6: 60e5 str r5, [r4, #12] + 13a0e: 60e5 str r5, [r4, #12] } - 13fb8: 4620 mov r0, r4 - 13fba: b002 add sp, #8 - 13fbc: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + 13a10: 4620 mov r0, r4 + 13a12: b002 add sp, #8 + 13a14: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} LV_ASSERT_MEM(new_task); - 13fc0: 4b09 ldr r3, [pc, #36] ; (13fe8 ) - 13fc2: 9300 str r3, [sp, #0] - 13fc4: f44f 7283 mov.w r2, #262 ; 0x106 - 13fc8: 4908 ldr r1, [pc, #32] ; (13fec ) - 13fca: 2003 movs r0, #3 - 13fcc: 4d08 ldr r5, [pc, #32] ; (13ff0 ) - 13fce: 47a8 blx r5 - 13fd0: 4622 mov r2, r4 - 13fd2: 2300 movs r3, #0 - 13fd4: 4807 ldr r0, [pc, #28] ; (13ff4 ) - 13fd6: 4908 ldr r1, [pc, #32] ; (13ff8 ) - 13fd8: 4788 blx r1 - 13fda: e7fe b.n 13fda - 13fdc: 00013bb9 .word 0x00013bb9 - 13fe0: 0000298d .word 0x0000298d - 13fe4: 00013f01 .word 0x00013f01 - 13fe8: 000209a8 .word 0x000209a8 - 13fec: 000209b8 .word 0x000209b8 - 13ff0: 00012805 .word 0x00012805 - 13ff4: 0001b4bc .word 0x0001b4bc - 13ff8: 00002995 .word 0x00002995 - -00013ffc : -{ - 13ffc: b510 push {r4, lr} - 13ffe: 4604 mov r4, r0 + 13a18: 4b09 ldr r3, [pc, #36] ; (13a40 ) + 13a1a: 9300 str r3, [sp, #0] + 13a1c: f44f 7283 mov.w r2, #262 ; 0x106 + 13a20: 4908 ldr r1, [pc, #32] ; (13a44 ) + 13a22: 2003 movs r0, #3 + 13a24: 4d08 ldr r5, [pc, #32] ; (13a48 ) + 13a26: 47a8 blx r5 + 13a28: 4622 mov r2, r4 + 13a2a: 2300 movs r3, #0 + 13a2c: 4807 ldr r0, [pc, #28] ; (13a4c ) + 13a2e: 4908 ldr r1, [pc, #32] ; (13a50 ) + 13a30: 4788 blx r1 + 13a32: e7fe b.n 13a32 + 13a34: 00013611 .word 0x00013611 + 13a38: 000022b1 .word 0x000022b1 + 13a3c: 00013959 .word 0x00013959 + 13a40: 000294c4 .word 0x000294c4 + 13a44: 000294d4 .word 0x000294d4 + 13a48: 0001225d .word 0x0001225d + 13a4c: 00023fd8 .word 0x00023fd8 + 13a50: 000022b9 .word 0x000022b9 + +00013a54 : +{ + 13a54: b510 push {r4, lr} + 13a56: 4604 mov r4, r0 task->last_run = lv_tick_get() - task->period - 1; - 14000: 4b03 ldr r3, [pc, #12] ; (14010 ) - 14002: 4798 blx r3 - 14004: 6823 ldr r3, [r4, #0] - 14006: 43db mvns r3, r3 - 14008: 4403 add r3, r0 - 1400a: 6063 str r3, [r4, #4] - 1400c: bd10 pop {r4, pc} - 1400e: bf00 nop - 14010: 00011601 .word 0x00011601 - -00014014 : + 13a58: 4b03 ldr r3, [pc, #12] ; (13a68 ) + 13a5a: 4798 blx r3 + 13a5c: 6823 ldr r3, [r4, #0] + 13a5e: 43db mvns r3, r3 + 13a60: 4403 add r3, r0 + 13a62: 6063 str r3, [r4, #4] + 13a64: bd10 pop {r4, pc} + 13a66: bf00 nop + 13a68: 00011059 .word 0x00011059 + +00013a6c : * @param str pointer to a character in a string * @return length of the UTF-8 character (1,2,3 or 4). O on invalid code */ static uint8_t lv_txt_utf8_size(const char * str) { if((str[0] & 0x80) == 0) - 14014: 7803 ldrb r3, [r0, #0] - 14016: f013 0f80 tst.w r3, #128 ; 0x80 - 1401a: d101 bne.n 14020 + 13a6c: 7803 ldrb r3, [r0, #0] + 13a6e: f013 0f80 tst.w r3, #128 ; 0x80 + 13a72: d101 bne.n 13a78 return 1; - 1401c: 2001 movs r0, #1 - 1401e: 4770 bx lr + 13a74: 2001 movs r0, #1 + 13a76: 4770 bx lr else if((str[0] & 0xE0) == 0xC0) - 14020: f003 02e0 and.w r2, r3, #224 ; 0xe0 - 14024: 2ac0 cmp r2, #192 ; 0xc0 - 14026: d00a beq.n 1403e + 13a78: f003 02e0 and.w r2, r3, #224 ; 0xe0 + 13a7c: 2ac0 cmp r2, #192 ; 0xc0 + 13a7e: d00a beq.n 13a96 return 2; else if((str[0] & 0xF0) == 0xE0) - 14028: f003 02f0 and.w r2, r3, #240 ; 0xf0 - 1402c: 2ae0 cmp r2, #224 ; 0xe0 - 1402e: d008 beq.n 14042 + 13a80: f003 02f0 and.w r2, r3, #240 ; 0xf0 + 13a84: 2ae0 cmp r2, #224 ; 0xe0 + 13a86: d008 beq.n 13a9a return 3; else if((str[0] & 0xF8) == 0xF0) - 14030: f003 03f8 and.w r3, r3, #248 ; 0xf8 + 13a88: f003 03f8 and.w r3, r3, #248 ; 0xf8 return 4; return 0; /*If the char was invalid tell it's 1 byte long*/ - 14034: 2bf0 cmp r3, #240 ; 0xf0 - 14036: bf0c ite eq - 14038: 2004 moveq r0, #4 - 1403a: 2000 movne r0, #0 - 1403c: 4770 bx lr + 13a8c: 2bf0 cmp r3, #240 ; 0xf0 + 13a8e: bf0c ite eq + 13a90: 2004 moveq r0, #4 + 13a92: 2000 movne r0, #0 + 13a94: 4770 bx lr return 2; - 1403e: 2002 movs r0, #2 - 14040: 4770 bx lr + 13a96: 2002 movs r0, #2 + 13a98: 4770 bx lr return 3; - 14042: 2003 movs r0, #3 + 13a9a: 2003 movs r0, #3 } - 14044: 4770 bx lr + 13a9c: 4770 bx lr -00014046 : +00013a9e : * @param letter_uni an Unicode letter * @return UTF-8 coded character in Little Endian to be compatible with C chars (e.g. 'Á', 'Ű') */ static uint32_t lv_txt_unicode_to_utf8(uint32_t letter_uni) { if(letter_uni < 128) return letter_uni; - 14046: 287f cmp r0, #127 ; 0x7f - 14048: d916 bls.n 14078 + 13a9e: 287f cmp r0, #127 ; 0x7f + 13aa0: d916 bls.n 13ad0 { - 1404a: b082 sub sp, #8 + 13aa2: b082 sub sp, #8 uint8_t bytes[4]; if(letter_uni < 0x0800) { - 1404c: f5b0 6f00 cmp.w r0, #2048 ; 0x800 - 14050: d213 bcs.n 1407a + 13aa4: f5b0 6f00 cmp.w r0, #2048 ; 0x800 + 13aa8: d213 bcs.n 13ad2 bytes[0] = ((letter_uni >> 6) & 0x1F) | 0xC0; - 14052: f3c0 1384 ubfx r3, r0, #6, #5 - 14056: f063 033f orn r3, r3, #63 ; 0x3f - 1405a: f88d 3004 strb.w r3, [sp, #4] + 13aaa: f3c0 1384 ubfx r3, r0, #6, #5 + 13aae: f063 033f orn r3, r3, #63 ; 0x3f + 13ab2: f88d 3004 strb.w r3, [sp, #4] bytes[1] = ((letter_uni >> 0) & 0x3F) | 0x80; - 1405e: f000 003f and.w r0, r0, #63 ; 0x3f - 14062: f060 007f orn r0, r0, #127 ; 0x7f - 14066: f88d 0005 strb.w r0, [sp, #5] + 13ab6: f000 003f and.w r0, r0, #63 ; 0x3f + 13aba: f060 007f orn r0, r0, #127 ; 0x7f + 13abe: f88d 0005 strb.w r0, [sp, #5] bytes[2] = 0; - 1406a: 2300 movs r3, #0 - 1406c: f88d 3006 strb.w r3, [sp, #6] + 13ac2: 2300 movs r3, #0 + 13ac4: f88d 3006 strb.w r3, [sp, #6] bytes[3] = 0; - 14070: f88d 3007 strb.w r3, [sp, #7] + 13ac8: f88d 3007 strb.w r3, [sp, #7] bytes[2] = ((letter_uni >> 6) & 0x3F) | 0x80; bytes[3] = ((letter_uni >> 0) & 0x3F) | 0x80; } uint32_t * res_p = (uint32_t *)bytes; return *res_p; - 14074: 9801 ldr r0, [sp, #4] + 13acc: 9801 ldr r0, [sp, #4] } - 14076: b002 add sp, #8 - 14078: 4770 bx lr + 13ace: b002 add sp, #8 + 13ad0: 4770 bx lr else if(letter_uni < 0x010000) { - 1407a: f5b0 3f80 cmp.w r0, #65536 ; 0x10000 - 1407e: d215 bcs.n 140ac + 13ad2: f5b0 3f80 cmp.w r0, #65536 ; 0x10000 + 13ad6: d215 bcs.n 13b04 bytes[0] = ((letter_uni >> 12) & 0x0F) | 0xE0; - 14080: f3c0 3303 ubfx r3, r0, #12, #4 - 14084: f063 031f orn r3, r3, #31 - 14088: f88d 3004 strb.w r3, [sp, #4] + 13ad8: f3c0 3303 ubfx r3, r0, #12, #4 + 13adc: f063 031f orn r3, r3, #31 + 13ae0: f88d 3004 strb.w r3, [sp, #4] bytes[1] = ((letter_uni >> 6) & 0x3F) | 0x80; - 1408c: f3c0 1385 ubfx r3, r0, #6, #6 - 14090: f063 037f orn r3, r3, #127 ; 0x7f - 14094: f88d 3005 strb.w r3, [sp, #5] + 13ae4: f3c0 1385 ubfx r3, r0, #6, #6 + 13ae8: f063 037f orn r3, r3, #127 ; 0x7f + 13aec: f88d 3005 strb.w r3, [sp, #5] bytes[2] = ((letter_uni >> 0) & 0x3F) | 0x80; - 14098: f000 003f and.w r0, r0, #63 ; 0x3f - 1409c: f060 007f orn r0, r0, #127 ; 0x7f - 140a0: f88d 0006 strb.w r0, [sp, #6] + 13af0: f000 003f and.w r0, r0, #63 ; 0x3f + 13af4: f060 007f orn r0, r0, #127 ; 0x7f + 13af8: f88d 0006 strb.w r0, [sp, #6] bytes[3] = 0; - 140a4: 2300 movs r3, #0 - 140a6: f88d 3007 strb.w r3, [sp, #7] - 140aa: e7e3 b.n 14074 + 13afc: 2300 movs r3, #0 + 13afe: f88d 3007 strb.w r3, [sp, #7] + 13b02: e7e3 b.n 13acc else if(letter_uni < 0x110000) { - 140ac: f5b0 1f88 cmp.w r0, #1114112 ; 0x110000 - 140b0: d2e0 bcs.n 14074 + 13b04: f5b0 1f88 cmp.w r0, #1114112 ; 0x110000 + 13b08: d2e0 bcs.n 13acc bytes[0] = ((letter_uni >> 18) & 0x07) | 0xF0; - 140b2: f3c0 4382 ubfx r3, r0, #18, #3 - 140b6: f063 030f orn r3, r3, #15 - 140ba: f88d 3004 strb.w r3, [sp, #4] + 13b0a: f3c0 4382 ubfx r3, r0, #18, #3 + 13b0e: f063 030f orn r3, r3, #15 + 13b12: f88d 3004 strb.w r3, [sp, #4] bytes[1] = ((letter_uni >> 12) & 0x3F) | 0x80; - 140be: f3c0 3305 ubfx r3, r0, #12, #6 - 140c2: f063 037f orn r3, r3, #127 ; 0x7f - 140c6: f88d 3005 strb.w r3, [sp, #5] + 13b16: f3c0 3305 ubfx r3, r0, #12, #6 + 13b1a: f063 037f orn r3, r3, #127 ; 0x7f + 13b1e: f88d 3005 strb.w r3, [sp, #5] bytes[2] = ((letter_uni >> 6) & 0x3F) | 0x80; - 140ca: f3c0 1385 ubfx r3, r0, #6, #6 - 140ce: f063 037f orn r3, r3, #127 ; 0x7f - 140d2: f88d 3006 strb.w r3, [sp, #6] + 13b22: f3c0 1385 ubfx r3, r0, #6, #6 + 13b26: f063 037f orn r3, r3, #127 ; 0x7f + 13b2a: f88d 3006 strb.w r3, [sp, #6] bytes[3] = ((letter_uni >> 0) & 0x3F) | 0x80; - 140d6: f000 003f and.w r0, r0, #63 ; 0x3f - 140da: f060 007f orn r0, r0, #127 ; 0x7f - 140de: f88d 0007 strb.w r0, [sp, #7] - 140e2: e7c7 b.n 14074 + 13b2e: f000 003f and.w r0, r0, #63 ; 0x3f + 13b32: f060 007f orn r0, r0, #127 ; 0x7f + 13b36: f88d 0007 strb.w r0, [sp, #7] + 13b3a: e7c7 b.n 13acc -000140e4 : +00013b3c : * Convert a wide character, e.g. 'Á' little endian to be UTF-8 compatible * @param c a wide character or a Little endian number * @return `c` in big endian */ static uint32_t lv_txt_utf8_conv_wc(uint32_t c) { - 140e4: b082 sub sp, #8 - 140e6: 9001 str r0, [sp, #4] + 13b3c: b082 sub sp, #8 + 13b3e: 9001 str r0, [sp, #4] /*Swap the bytes (UTF-8 is big endian, but the MCUs are little endian)*/ if((c & 0x80) != 0) { - 140e8: f010 0f80 tst.w r0, #128 ; 0x80 - 140ec: d017 beq.n 1411e + 13b40: f010 0f80 tst.w r0, #128 ; 0x80 + 13b44: d017 beq.n 13b76 uint32_t swapped; uint8_t c8[4]; _lv_memcpy_small(c8, &c, 4); swapped = (c8[0] << 24) + (c8[1] << 16) + (c8[2] << 8) + (c8[3]); - 140ee: f89d 3004 ldrb.w r3, [sp, #4] - 140f2: f89d 2005 ldrb.w r2, [sp, #5] - 140f6: 0412 lsls r2, r2, #16 - 140f8: eb02 6203 add.w r2, r2, r3, lsl #24 - 140fc: f89d 3006 ldrb.w r3, [sp, #6] - 14100: eb02 2203 add.w r2, r2, r3, lsl #8 - 14104: f89d 3007 ldrb.w r3, [sp, #7] - 14108: 441a add r2, r3 - 1410a: 2304 movs r3, #4 + 13b46: f89d 3004 ldrb.w r3, [sp, #4] + 13b4a: f89d 2005 ldrb.w r2, [sp, #5] + 13b4e: 0412 lsls r2, r2, #16 + 13b50: eb02 6203 add.w r2, r2, r3, lsl #24 + 13b54: f89d 3006 ldrb.w r3, [sp, #6] + 13b58: eb02 2203 add.w r2, r2, r3, lsl #8 + 13b5c: f89d 3007 ldrb.w r3, [sp, #7] + 13b60: 441a add r2, r3 + 13b62: 2304 movs r3, #4 uint8_t i; for(i = 0; i < 4; i++) { if((swapped & 0xFF) == 0) - 1410c: f012 0fff tst.w r2, #255 ; 0xff + 13b64: f012 0fff tst.w r2, #255 ; 0xff swapped = (swapped >> 8); /*Ignore leading zeros (they were in the end originally)*/ - 14110: bf08 it eq - 14112: 0a12 lsreq r2, r2, #8 - 14114: 3b01 subs r3, #1 + 13b68: bf08 it eq + 13b6a: 0a12 lsreq r2, r2, #8 + 13b6c: 3b01 subs r3, #1 for(i = 0; i < 4; i++) { - 14116: f013 03ff ands.w r3, r3, #255 ; 0xff - 1411a: d1f7 bne.n 1410c + 13b6e: f013 03ff ands.w r3, r3, #255 ; 0xff + 13b72: d1f7 bne.n 13b64 } c = swapped; - 1411c: 9201 str r2, [sp, #4] + 13b74: 9201 str r2, [sp, #4] } return c; } - 1411e: 9801 ldr r0, [sp, #4] - 14120: b002 add sp, #8 - 14122: 4770 bx lr + 13b76: 9801 ldr r0, [sp, #4] + 13b78: b002 add sp, #8 + 13b7a: 4770 bx lr -00014124 : +00013b7c : * After call it will point to the next UTF-8 char in 'txt'. * NULL to use txt[0] as index * @return the decoded Unicode character or 0 on invalid UTF-8 code */ static uint32_t lv_txt_utf8_next(const char * txt, uint32_t * i) { - 14124: b470 push {r4, r5, r6} - 14126: b083 sub sp, #12 + 13b7c: b470 push {r4, r5, r6} + 13b7e: b083 sub sp, #12 * */ uint32_t result = 0; /*Dummy 'i' pointer is required*/ uint32_t i_tmp = 0; - 14128: 2300 movs r3, #0 - 1412a: 9301 str r3, [sp, #4] + 13b80: 2300 movs r3, #0 + 13b82: 9301 str r3, [sp, #4] if(i == NULL) i = &i_tmp; - 1412c: 460c mov r4, r1 - 1412e: b151 cbz r1, 14146 + 13b84: 460c mov r4, r1 + 13b86: b151 cbz r1, 13b9e /*Normal ASCII*/ if((txt[*i] & 0x80) == 0) { - 14130: 6822 ldr r2, [r4, #0] - 14132: 5c83 ldrb r3, [r0, r2] - 14134: f013 0f80 tst.w r3, #128 ; 0x80 - 14138: d107 bne.n 1414a + 13b88: 6822 ldr r2, [r4, #0] + 13b8a: 5c83 ldrb r3, [r0, r2] + 13b8c: f013 0f80 tst.w r3, #128 ; 0x80 + 13b90: d107 bne.n 13ba2 result = txt[*i]; - 1413a: 4618 mov r0, r3 + 13b92: 4618 mov r0, r3 (*i)++; - 1413c: 3201 adds r2, #1 - 1413e: 6022 str r2, [r4, #0] + 13b94: 3201 adds r2, #1 + 13b96: 6022 str r2, [r4, #0] else { (*i)++; /*Not UTF-8 char. Go the next.*/ } } return result; } - 14140: b003 add sp, #12 - 14142: bc70 pop {r4, r5, r6} - 14144: 4770 bx lr + 13b98: b003 add sp, #12 + 13b9a: bc70 pop {r4, r5, r6} + 13b9c: 4770 bx lr if(i == NULL) i = &i_tmp; - 14146: ac01 add r4, sp, #4 - 14148: e7f2 b.n 14130 + 13b9e: ac01 add r4, sp, #4 + 13ba0: e7f2 b.n 13b88 if((txt[*i] & 0xE0) == 0xC0) { - 1414a: f003 01e0 and.w r1, r3, #224 ; 0xe0 - 1414e: 29c0 cmp r1, #192 ; 0xc0 - 14150: d00b beq.n 1416a + 13ba2: f003 01e0 and.w r1, r3, #224 ; 0xe0 + 13ba6: 29c0 cmp r1, #192 ; 0xc0 + 13ba8: d00b beq.n 13bc2 else if((txt[*i] & 0xF0) == 0xE0) { - 14152: f003 01f0 and.w r1, r3, #240 ; 0xf0 - 14156: 29e0 cmp r1, #224 ; 0xe0 - 14158: d019 beq.n 1418e + 13baa: f003 01f0 and.w r1, r3, #240 ; 0xf0 + 13bae: 29e0 cmp r1, #224 ; 0xe0 + 13bb0: d019 beq.n 13be6 else if((txt[*i] & 0xF8) == 0xF0) { - 1415a: f003 01f8 and.w r1, r3, #248 ; 0xf8 - 1415e: 29f0 cmp r1, #240 ; 0xf0 - 14160: d033 beq.n 141ca + 13bb2: f003 01f8 and.w r1, r3, #248 ; 0xf8 + 13bb6: 29f0 cmp r1, #240 ; 0xf0 + 13bb8: d033 beq.n 13c22 (*i)++; /*Not UTF-8 char. Go the next.*/ - 14162: 3201 adds r2, #1 - 14164: 6022 str r2, [r4, #0] + 13bba: 3201 adds r2, #1 + 13bbc: 6022 str r2, [r4, #0] uint32_t result = 0; - 14166: 2000 movs r0, #0 - 14168: e7ea b.n 14140 + 13bbe: 2000 movs r0, #0 + 13bc0: e7ea b.n 13b98 (*i)++; - 1416a: 1c51 adds r1, r2, #1 - 1416c: 6021 str r1, [r4, #0] + 13bc2: 1c51 adds r1, r2, #1 + 13bc4: 6021 str r1, [r4, #0] if((txt[*i] & 0xC0) != 0x80) return 0; /*Invalid UTF-8 code*/ - 1416e: 5c40 ldrb r0, [r0, r1] - 14170: f000 01c0 and.w r1, r0, #192 ; 0xc0 - 14174: 2980 cmp r1, #128 ; 0x80 - 14176: d001 beq.n 1417c - 14178: 2000 movs r0, #0 - 1417a: e7e1 b.n 14140 + 13bc6: 5c40 ldrb r0, [r0, r1] + 13bc8: f000 01c0 and.w r1, r0, #192 ; 0xc0 + 13bcc: 2980 cmp r1, #128 ; 0x80 + 13bce: d001 beq.n 13bd4 + 13bd0: 2000 movs r0, #0 + 13bd2: e7e1 b.n 13b98 result = (uint32_t)(txt[*i] & 0x1F) << 6; - 1417c: 019b lsls r3, r3, #6 - 1417e: f403 63f8 and.w r3, r3, #1984 ; 0x7c0 + 13bd4: 019b lsls r3, r3, #6 + 13bd6: f403 63f8 and.w r3, r3, #1984 ; 0x7c0 result += (txt[*i] & 0x3F); - 14182: f000 003f and.w r0, r0, #63 ; 0x3f - 14186: 4418 add r0, r3 + 13bda: f000 003f and.w r0, r0, #63 ; 0x3f + 13bde: 4418 add r0, r3 (*i)++; - 14188: 3202 adds r2, #2 - 1418a: 6022 str r2, [r4, #0] - 1418c: e7d8 b.n 14140 + 13be0: 3202 adds r2, #2 + 13be2: 6022 str r2, [r4, #0] + 13be4: e7d8 b.n 13b98 (*i)++; - 1418e: 1c51 adds r1, r2, #1 - 14190: 6021 str r1, [r4, #0] + 13be6: 1c51 adds r1, r2, #1 + 13be8: 6021 str r1, [r4, #0] if((txt[*i] & 0xC0) != 0x80) return 0; /*Invalid UTF-8 code*/ - 14192: 5c41 ldrb r1, [r0, r1] - 14194: f001 05c0 and.w r5, r1, #192 ; 0xc0 - 14198: 2d80 cmp r5, #128 ; 0x80 - 1419a: d001 beq.n 141a0 - 1419c: 2000 movs r0, #0 - 1419e: e7cf b.n 14140 + 13bea: 5c41 ldrb r1, [r0, r1] + 13bec: f001 05c0 and.w r5, r1, #192 ; 0xc0 + 13bf0: 2d80 cmp r5, #128 ; 0x80 + 13bf2: d001 beq.n 13bf8 + 13bf4: 2000 movs r0, #0 + 13bf6: e7cf b.n 13b98 (*i)++; - 141a0: 1c95 adds r5, r2, #2 - 141a2: 6025 str r5, [r4, #0] + 13bf8: 1c95 adds r5, r2, #2 + 13bfa: 6025 str r5, [r4, #0] if((txt[*i] & 0xC0) != 0x80) return 0; /*Invalid UTF-8 code*/ - 141a4: 5d40 ldrb r0, [r0, r5] - 141a6: f000 05c0 and.w r5, r0, #192 ; 0xc0 - 141aa: 2d80 cmp r5, #128 ; 0x80 - 141ac: d001 beq.n 141b2 - 141ae: 2000 movs r0, #0 - 141b0: e7c6 b.n 14140 + 13bfc: 5d40 ldrb r0, [r0, r5] + 13bfe: f000 05c0 and.w r5, r0, #192 ; 0xc0 + 13c02: 2d80 cmp r5, #128 ; 0x80 + 13c04: d001 beq.n 13c0a + 13c06: 2000 movs r0, #0 + 13c08: e7c6 b.n 13b98 result = (uint32_t)(txt[*i] & 0x0F) << 12; - 141b2: 031b lsls r3, r3, #12 - 141b4: b29b uxth r3, r3 + 13c0a: 031b lsls r3, r3, #12 + 13c0c: b29b uxth r3, r3 result += (txt[*i] & 0x3F); - 141b6: f000 003f and.w r0, r0, #63 ; 0x3f - 141ba: 4403 add r3, r0 + 13c0e: f000 003f and.w r0, r0, #63 ; 0x3f + 13c12: 4403 add r3, r0 result += (uint32_t)(txt[*i] & 0x3F) << 6; - 141bc: 0188 lsls r0, r1, #6 - 141be: f400 607c and.w r0, r0, #4032 ; 0xfc0 + 13c14: 0188 lsls r0, r1, #6 + 13c16: f400 607c and.w r0, r0, #4032 ; 0xfc0 result += (txt[*i] & 0x3F); - 141c2: 4418 add r0, r3 + 13c1a: 4418 add r0, r3 (*i)++; - 141c4: 3203 adds r2, #3 - 141c6: 6022 str r2, [r4, #0] - 141c8: e7ba b.n 14140 + 13c1c: 3203 adds r2, #3 + 13c1e: 6022 str r2, [r4, #0] + 13c20: e7ba b.n 13b98 (*i)++; - 141ca: 1c51 adds r1, r2, #1 - 141cc: 6021 str r1, [r4, #0] + 13c22: 1c51 adds r1, r2, #1 + 13c24: 6021 str r1, [r4, #0] if((txt[*i] & 0xC0) != 0x80) return 0; /*Invalid UTF-8 code*/ - 141ce: 5c41 ldrb r1, [r0, r1] - 141d0: f001 05c0 and.w r5, r1, #192 ; 0xc0 - 141d4: 2d80 cmp r5, #128 ; 0x80 - 141d6: d001 beq.n 141dc - 141d8: 2000 movs r0, #0 - 141da: e7b1 b.n 14140 + 13c26: 5c41 ldrb r1, [r0, r1] + 13c28: f001 05c0 and.w r5, r1, #192 ; 0xc0 + 13c2c: 2d80 cmp r5, #128 ; 0x80 + 13c2e: d001 beq.n 13c34 + 13c30: 2000 movs r0, #0 + 13c32: e7b1 b.n 13b98 (*i)++; - 141dc: 1c95 adds r5, r2, #2 - 141de: 6025 str r5, [r4, #0] + 13c34: 1c95 adds r5, r2, #2 + 13c36: 6025 str r5, [r4, #0] if((txt[*i] & 0xC0) != 0x80) return 0; /*Invalid UTF-8 code*/ - 141e0: 5d45 ldrb r5, [r0, r5] - 141e2: f005 06c0 and.w r6, r5, #192 ; 0xc0 - 141e6: 2e80 cmp r6, #128 ; 0x80 - 141e8: d001 beq.n 141ee - 141ea: 2000 movs r0, #0 - 141ec: e7a8 b.n 14140 + 13c38: 5d45 ldrb r5, [r0, r5] + 13c3a: f005 06c0 and.w r6, r5, #192 ; 0xc0 + 13c3e: 2e80 cmp r6, #128 ; 0x80 + 13c40: d001 beq.n 13c46 + 13c42: 2000 movs r0, #0 + 13c44: e7a8 b.n 13b98 (*i)++; - 141ee: 1cd6 adds r6, r2, #3 - 141f0: 6026 str r6, [r4, #0] + 13c46: 1cd6 adds r6, r2, #3 + 13c48: 6026 str r6, [r4, #0] if((txt[*i] & 0xC0) != 0x80) return 0; /*Invalid UTF-8 code*/ - 141f2: 5d86 ldrb r6, [r0, r6] - 141f4: f006 00c0 and.w r0, r6, #192 ; 0xc0 - 141f8: 2880 cmp r0, #128 ; 0x80 - 141fa: d001 beq.n 14200 - 141fc: 2000 movs r0, #0 - 141fe: e79f b.n 14140 + 13c4a: 5d86 ldrb r6, [r0, r6] + 13c4c: f006 00c0 and.w r0, r6, #192 ; 0xc0 + 13c50: 2880 cmp r0, #128 ; 0x80 + 13c52: d001 beq.n 13c58 + 13c54: 2000 movs r0, #0 + 13c56: e79f b.n 13b98 result = (uint32_t)(txt[*i] & 0x07) << 18; - 14200: 049b lsls r3, r3, #18 - 14202: f403 13e0 and.w r3, r3, #1835008 ; 0x1c0000 + 13c58: 049b lsls r3, r3, #18 + 13c5a: f403 13e0 and.w r3, r3, #1835008 ; 0x1c0000 result += (uint32_t)(txt[*i] & 0x3F) << 12; - 14206: 0309 lsls r1, r1, #12 - 14208: f401 307c and.w r0, r1, #258048 ; 0x3f000 - 1420c: 4303 orrs r3, r0 + 13c5e: 0309 lsls r1, r1, #12 + 13c60: f401 307c and.w r0, r1, #258048 ; 0x3f000 + 13c64: 4303 orrs r3, r0 result += (uint32_t)(txt[*i] & 0x3F) << 6; - 1420e: 01a8 lsls r0, r5, #6 - 14210: f400 607c and.w r0, r0, #4032 ; 0xfc0 + 13c66: 01a8 lsls r0, r5, #6 + 13c68: f400 607c and.w r0, r0, #4032 ; 0xfc0 result += txt[*i] & 0x3F; - 14214: f006 063f and.w r6, r6, #63 ; 0x3f - 14218: 4430 add r0, r6 - 1421a: 4418 add r0, r3 + 13c6c: f006 063f and.w r6, r6, #63 ; 0x3f + 13c70: 4430 add r0, r6 + 13c72: 4418 add r0, r3 (*i)++; - 1421c: 3204 adds r2, #4 - 1421e: 6022 str r2, [r4, #0] - 14220: e78e b.n 14140 + 13c74: 3204 adds r2, #4 + 13c76: 6022 str r2, [r4, #0] + 13c78: e78e b.n 13b98 ... -00014224 : +00013c7c : * @param i start byte index in 'txt' where to start. After the call it will point to the previous * UTF-8 char in 'txt'. * @return the decoded Unicode character or 0 on invalid UTF-8 code */ static uint32_t lv_txt_utf8_prev(const char * txt, uint32_t * i) { - 14224: b5f0 push {r4, r5, r6, r7, lr} - 14226: b083 sub sp, #12 - 14228: 4606 mov r6, r0 - 1422a: 460d mov r5, r1 + 13c7c: b5f0 push {r4, r5, r6, r7, lr} + 13c7e: b083 sub sp, #12 + 13c80: 4606 mov r6, r0 + 13c82: 460d mov r5, r1 uint8_t c_size; uint8_t cnt = 0; /*Try to find a !0 long UTF-8 char by stepping one character back*/ (*i)--; - 1422c: 680b ldr r3, [r1, #0] - 1422e: 3b01 subs r3, #1 - 14230: 600b str r3, [r1, #0] - 14232: 2404 movs r4, #4 + 13c84: 680b ldr r3, [r1, #0] + 13c86: 3b01 subs r3, #1 + 13c88: 600b str r3, [r1, #0] + 13c8a: 2404 movs r4, #4 do { if(cnt >= 4) return 0; /*No UTF-8 char found before the initial*/ c_size = _lv_txt_encoded_size(&txt[*i]); - 14234: 4f0e ldr r7, [pc, #56] ; (14270 ) - 14236: e005 b.n 14244 + 13c8c: 4f0e ldr r7, [pc, #56] ; (13cc8 ) + 13c8e: e005 b.n 13c9c if(c_size == 0) { if(*i != 0) (*i)--; - 14238: 3801 subs r0, #1 - 1423a: 6028 str r0, [r5, #0] - 1423c: 1e63 subs r3, r4, #1 + 13c90: 3801 subs r0, #1 + 13c92: 6028 str r0, [r5, #0] + 13c94: 1e63 subs r3, r4, #1 if(cnt >= 4) return 0; /*No UTF-8 char found before the initial*/ - 1423e: f013 04ff ands.w r4, r3, #255 ; 0xff - 14242: d008 beq.n 14256 + 13c96: f013 04ff ands.w r4, r3, #255 ; 0xff + 13c9a: d008 beq.n 13cae c_size = _lv_txt_encoded_size(&txt[*i]); - 14244: 6828 ldr r0, [r5, #0] - 14246: 4430 add r0, r6 - 14248: 683b ldr r3, [r7, #0] - 1424a: 4798 blx r3 + 13c9c: 6828 ldr r0, [r5, #0] + 13c9e: 4430 add r0, r6 + 13ca0: 683b ldr r3, [r7, #0] + 13ca2: 4798 blx r3 if(c_size == 0) { - 1424c: b928 cbnz r0, 1425a + 13ca4: b928 cbnz r0, 13cb2 if(*i != 0) - 1424e: 6828 ldr r0, [r5, #0] - 14250: 2800 cmp r0, #0 - 14252: d1f1 bne.n 14238 - 14254: e009 b.n 1426a + 13ca6: 6828 ldr r0, [r5, #0] + 13ca8: 2800 cmp r0, #0 + 13caa: d1f1 bne.n 13c90 + 13cac: e009 b.n 13cc2 if(cnt >= 4) return 0; /*No UTF-8 char found before the initial*/ - 14256: 2000 movs r0, #0 - 14258: e007 b.n 1426a + 13cae: 2000 movs r0, #0 + 13cb0: e007 b.n 13cc2 return 0; } cnt++; } while(c_size == 0); uint32_t i_tmp = *i; - 1425a: 682b ldr r3, [r5, #0] - 1425c: a902 add r1, sp, #8 - 1425e: f841 3d04 str.w r3, [r1, #-4]! + 13cb2: 682b ldr r3, [r5, #0] + 13cb4: a902 add r1, sp, #8 + 13cb6: f841 3d04 str.w r3, [r1, #-4]! uint32_t letter = _lv_txt_encoded_next(txt, &i_tmp); /*Character found, get it*/ - 14262: 4b03 ldr r3, [pc, #12] ; (14270 ) - 14264: 685b ldr r3, [r3, #4] - 14266: 4630 mov r0, r6 - 14268: 4798 blx r3 + 13cba: 4b03 ldr r3, [pc, #12] ; (13cc8 ) + 13cbc: 685b ldr r3, [r3, #4] + 13cbe: 4630 mov r0, r6 + 13cc0: 4798 blx r3 return letter; } - 1426a: b003 add sp, #12 - 1426c: bdf0 pop {r4, r5, r6, r7, pc} - 1426e: bf00 nop - 14270: 20000054 .word 0x20000054 + 13cc2: b003 add sp, #12 + 13cc4: bdf0 pop {r4, r5, r6, r7, pc} + 13cc6: bf00 nop + 13cc8: 20000054 .word 0x20000054 -00014274 : +00013ccc : * @param txt a '\0' terminated UTF-8 string * @param utf8_id character index * @return byte index of the 'utf8_id'th letter */ static uint32_t lv_txt_utf8_get_byte_id(const char * txt, uint32_t utf8_id) { - 14274: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} + 13ccc: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} uint32_t i; uint32_t byte_cnt = 0; for(i = 0; i < utf8_id; i++) { - 14278: 460e mov r6, r1 - 1427a: b191 cbz r1, 142a2 - 1427c: 4607 mov r7, r0 - 1427e: 2400 movs r4, #0 - 14280: 4625 mov r5, r4 + 13cd0: 460e mov r6, r1 + 13cd2: b191 cbz r1, 13cfa + 13cd4: 4607 mov r7, r0 + 13cd6: 2400 movs r4, #0 + 13cd8: 4625 mov r5, r4 uint8_t c_size = _lv_txt_encoded_size(&txt[byte_cnt]); - 14282: f8df 8024 ldr.w r8, [pc, #36] ; 142a8 - 14286: 1938 adds r0, r7, r4 - 14288: f8d8 3000 ldr.w r3, [r8] - 1428c: 4798 blx r3 + 13cda: f8df 8024 ldr.w r8, [pc, #36] ; 13d00 + 13cde: 1938 adds r0, r7, r4 + 13ce0: f8d8 3000 ldr.w r3, [r8] + 13ce4: 4798 blx r3 byte_cnt += c_size > 0 ? c_size : 1; - 1428e: 2800 cmp r0, #0 - 14290: bf08 it eq - 14292: 2001 moveq r0, #1 - 14294: 4404 add r4, r0 + 13ce6: 2800 cmp r0, #0 + 13ce8: bf08 it eq + 13cea: 2001 moveq r0, #1 + 13cec: 4404 add r4, r0 for(i = 0; i < utf8_id; i++) { - 14296: 3501 adds r5, #1 - 14298: 42ae cmp r6, r5 - 1429a: d1f4 bne.n 14286 + 13cee: 3501 adds r5, #1 + 13cf0: 42ae cmp r6, r5 + 13cf2: d1f4 bne.n 13cde } return byte_cnt; } - 1429c: 4620 mov r0, r4 - 1429e: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + 13cf4: 4620 mov r0, r4 + 13cf6: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} uint32_t byte_cnt = 0; - 142a2: 460c mov r4, r1 + 13cfa: 460c mov r4, r1 return byte_cnt; - 142a4: e7fa b.n 1429c - 142a6: bf00 nop - 142a8: 20000054 .word 0x20000054 + 13cfc: e7fa b.n 13cf4 + 13cfe: bf00 nop + 13d00: 20000054 .word 0x20000054 -000142ac : +00013d04 : * @param txt a '\0' terminated UTF-8 string * @param byte_id byte index * @return character index of the letter at 'byte_id'th position */ static uint32_t lv_txt_utf8_get_char_id(const char * txt, uint32_t byte_id) { - 142ac: b5f0 push {r4, r5, r6, r7, lr} - 142ae: b083 sub sp, #12 + 13d04: b5f0 push {r4, r5, r6, r7, lr} + 13d06: b083 sub sp, #12 uint32_t i = 0; - 142b0: 2300 movs r3, #0 - 142b2: 9301 str r3, [sp, #4] + 13d08: 2300 movs r3, #0 + 13d0a: 9301 str r3, [sp, #4] uint32_t char_cnt = 0; while(i < byte_id) { - 142b4: 460d mov r5, r1 - 142b6: b169 cbz r1, 142d4 - 142b8: 4606 mov r6, r0 - 142ba: 461c mov r4, r3 + 13d0c: 460d mov r5, r1 + 13d0e: b169 cbz r1, 13d2c + 13d10: 4606 mov r6, r0 + 13d12: 461c mov r4, r3 _lv_txt_encoded_next(txt, &i); /*'i' points to the next letter so use the prev. value*/ - 142bc: 4f06 ldr r7, [pc, #24] ; (142d8 ) - 142be: a901 add r1, sp, #4 - 142c0: 4630 mov r0, r6 - 142c2: 687b ldr r3, [r7, #4] - 142c4: 4798 blx r3 + 13d14: 4f06 ldr r7, [pc, #24] ; (13d30 ) + 13d16: a901 add r1, sp, #4 + 13d18: 4630 mov r0, r6 + 13d1a: 687b ldr r3, [r7, #4] + 13d1c: 4798 blx r3 char_cnt++; - 142c6: 3401 adds r4, #1 + 13d1e: 3401 adds r4, #1 while(i < byte_id) { - 142c8: 9b01 ldr r3, [sp, #4] - 142ca: 42ab cmp r3, r5 - 142cc: d3f7 bcc.n 142be + 13d20: 9b01 ldr r3, [sp, #4] + 13d22: 42ab cmp r3, r5 + 13d24: d3f7 bcc.n 13d16 } return char_cnt; } - 142ce: 4620 mov r0, r4 - 142d0: b003 add sp, #12 - 142d2: bdf0 pop {r4, r5, r6, r7, pc} + 13d26: 4620 mov r0, r4 + 13d28: b003 add sp, #12 + 13d2a: bdf0 pop {r4, r5, r6, r7, pc} uint32_t char_cnt = 0; - 142d4: 460c mov r4, r1 + 13d2c: 460c mov r4, r1 return char_cnt; - 142d6: e7fa b.n 142ce - 142d8: 20000054 .word 0x20000054 + 13d2e: e7fa b.n 13d26 + 13d30: 20000054 .word 0x20000054 -000142dc : +00013d34 : * E.g.: "ÁBC" is 3 characters (but 4 bytes) * @param txt a '\0' terminated char string * @return number of characters */ static uint32_t lv_txt_utf8_get_length(const char * txt) { - 142dc: b570 push {r4, r5, r6, lr} - 142de: b082 sub sp, #8 + 13d34: b570 push {r4, r5, r6, lr} + 13d36: b082 sub sp, #8 uint32_t len = 0; uint32_t i = 0; - 142e0: 2300 movs r3, #0 - 142e2: 9301 str r3, [sp, #4] + 13d38: 2300 movs r3, #0 + 13d3a: 9301 str r3, [sp, #4] while(txt[i] != '\0') { - 142e4: 7803 ldrb r3, [r0, #0] - 142e6: b173 cbz r3, 14306 - 142e8: 4604 mov r4, r0 - 142ea: 2500 movs r5, #0 + 13d3c: 7803 ldrb r3, [r0, #0] + 13d3e: b173 cbz r3, 13d5e + 13d40: 4604 mov r4, r0 + 13d42: 2500 movs r5, #0 _lv_txt_encoded_next(txt, &i); - 142ec: 4e07 ldr r6, [pc, #28] ; (1430c ) - 142ee: a901 add r1, sp, #4 - 142f0: 4620 mov r0, r4 - 142f2: 6873 ldr r3, [r6, #4] - 142f4: 4798 blx r3 + 13d44: 4e07 ldr r6, [pc, #28] ; (13d64 ) + 13d46: a901 add r1, sp, #4 + 13d48: 4620 mov r0, r4 + 13d4a: 6873 ldr r3, [r6, #4] + 13d4c: 4798 blx r3 len++; - 142f6: 3501 adds r5, #1 + 13d4e: 3501 adds r5, #1 while(txt[i] != '\0') { - 142f8: 9b01 ldr r3, [sp, #4] - 142fa: 5ce3 ldrb r3, [r4, r3] - 142fc: 2b00 cmp r3, #0 - 142fe: d1f6 bne.n 142ee + 13d50: 9b01 ldr r3, [sp, #4] + 13d52: 5ce3 ldrb r3, [r4, r3] + 13d54: 2b00 cmp r3, #0 + 13d56: d1f6 bne.n 13d46 } return len; } - 14300: 4628 mov r0, r5 - 14302: b002 add sp, #8 - 14304: bd70 pop {r4, r5, r6, pc} + 13d58: 4628 mov r0, r5 + 13d5a: b002 add sp, #8 + 13d5c: bd70 pop {r4, r5, r6, pc} uint32_t len = 0; - 14306: 2500 movs r5, #0 + 13d5e: 2500 movs r5, #0 return len; - 14308: e7fa b.n 14300 - 1430a: bf00 nop - 1430c: 20000054 .word 0x20000054 + 13d60: e7fa b.n 13d58 + 13d62: bf00 nop + 13d64: 20000054 .word 0x20000054 -00014310 <_lv_txt_is_cmd>: +00013d68 <_lv_txt_is_cmd>: if(c == (uint32_t)LV_TXT_COLOR_CMD[0]) { - 14310: 2923 cmp r1, #35 ; 0x23 - 14312: d004 beq.n 1431e <_lv_txt_is_cmd+0xe> + 13d68: 2923 cmp r1, #35 ; 0x23 + 13d6a: d004 beq.n 13d76 <_lv_txt_is_cmd+0xe> if(*state == LV_TXT_CMD_STATE_PAR) { - 14314: 7803 ldrb r3, [r0, #0] - 14316: 2b01 cmp r3, #1 - 14318: d015 beq.n 14346 <_lv_txt_is_cmd+0x36> + 13d6c: 7803 ldrb r3, [r0, #0] + 13d6e: 2b01 cmp r3, #1 + 13d70: d015 beq.n 13d9e <_lv_txt_is_cmd+0x36> bool ret = false; - 1431a: 2000 movs r0, #0 - 1431c: 4770 bx lr + 13d72: 2000 movs r0, #0 + 13d74: 4770 bx lr if(*state == LV_TXT_CMD_STATE_WAIT) { /*Start char*/ - 1431e: 7803 ldrb r3, [r0, #0] - 14320: b91b cbnz r3, 1432a <_lv_txt_is_cmd+0x1a> + 13d76: 7803 ldrb r3, [r0, #0] + 13d78: b91b cbnz r3, 13d82 <_lv_txt_is_cmd+0x1a> *state = LV_TXT_CMD_STATE_PAR; - 14322: 2301 movs r3, #1 - 14324: 7003 strb r3, [r0, #0] + 13d7a: 2301 movs r3, #1 + 13d7c: 7003 strb r3, [r0, #0] ret = true; - 14326: 4618 mov r0, r3 - 14328: 4770 bx lr + 13d7e: 4618 mov r0, r3 + 13d80: 4770 bx lr else if(*state == LV_TXT_CMD_STATE_PAR) { - 1432a: 2b01 cmp r3, #1 - 1432c: d003 beq.n 14336 <_lv_txt_is_cmd+0x26> + 13d82: 2b01 cmp r3, #1 + 13d84: d003 beq.n 13d8e <_lv_txt_is_cmd+0x26> else if(*state == LV_TXT_CMD_STATE_IN) { - 1432e: 2b02 cmp r3, #2 - 14330: d005 beq.n 1433e <_lv_txt_is_cmd+0x2e> + 13d86: 2b02 cmp r3, #2 + 13d88: d005 beq.n 13d96 <_lv_txt_is_cmd+0x2e> bool ret = false; - 14332: 2000 movs r0, #0 + 13d8a: 2000 movs r0, #0 } - 14334: 4770 bx lr + 13d8c: 4770 bx lr *state = LV_TXT_CMD_STATE_WAIT; - 14336: 2300 movs r3, #0 - 14338: 7003 strb r3, [r0, #0] + 13d8e: 2300 movs r3, #0 + 13d90: 7003 strb r3, [r0, #0] bool ret = false; - 1433a: 4618 mov r0, r3 - 1433c: 4770 bx lr + 13d92: 4618 mov r0, r3 + 13d94: 4770 bx lr *state = LV_TXT_CMD_STATE_WAIT; - 1433e: 2300 movs r3, #0 - 14340: 7003 strb r3, [r0, #0] + 13d96: 2300 movs r3, #0 + 13d98: 7003 strb r3, [r0, #0] ret = true; - 14342: 2001 movs r0, #1 - 14344: 4770 bx lr + 13d9a: 2001 movs r0, #1 + 13d9c: 4770 bx lr if(c == ' ') { - 14346: 2920 cmp r1, #32 - 14348: d103 bne.n 14352 <_lv_txt_is_cmd+0x42> + 13d9e: 2920 cmp r1, #32 + 13da0: d103 bne.n 13daa <_lv_txt_is_cmd+0x42> *state = LV_TXT_CMD_STATE_IN; /*After the parameter the text is in the command*/ - 1434a: 2302 movs r3, #2 - 1434c: 7003 strb r3, [r0, #0] + 13da2: 2302 movs r3, #2 + 13da4: 7003 strb r3, [r0, #0] ret = true; - 1434e: 2001 movs r0, #1 - 14350: 4770 bx lr - 14352: 2001 movs r0, #1 - 14354: 4770 bx lr + 13da6: 2001 movs r0, #1 + 13da8: 4770 bx lr + 13daa: 2001 movs r0, #1 + 13dac: 4770 bx lr ... -00014358 <_lv_txt_get_next_line>: +00013db0 <_lv_txt_get_next_line>: { - 14358: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 1435c: b091 sub sp, #68 ; 0x44 - 1435e: 9105 str r1, [sp, #20] - 14360: 9206 str r2, [sp, #24] - 14362: 9307 str r3, [sp, #28] - 14364: f89d 3068 ldrb.w r3, [sp, #104] ; 0x68 - 14368: 9304 str r3, [sp, #16] + 13db0: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 13db4: b091 sub sp, #68 ; 0x44 + 13db6: 9105 str r1, [sp, #20] + 13db8: 9206 str r2, [sp, #24] + 13dba: 9307 str r3, [sp, #28] + 13dbc: f89d 3068 ldrb.w r3, [sp, #104] ; 0x68 + 13dc0: 9304 str r3, [sp, #16] if(txt == NULL) return 0; - 1436a: 9008 str r0, [sp, #32] - 1436c: 2800 cmp r0, #0 - 1436e: f000 80f0 beq.w 14552 <_lv_txt_get_next_line+0x1fa> + 13dc2: 9008 str r0, [sp, #32] + 13dc4: 2800 cmp r0, #0 + 13dc6: f000 80f0 beq.w 13faa <_lv_txt_get_next_line+0x1fa> if(font == NULL) return 0; - 14372: 2900 cmp r1, #0 - 14374: f000 80ef beq.w 14556 <_lv_txt_get_next_line+0x1fe> + 13dca: 2900 cmp r1, #0 + 13dcc: f000 80ef beq.w 13fae <_lv_txt_get_next_line+0x1fe> if((flag & LV_TXT_FLAG_EXPAND) || (flag & LV_TXT_FLAG_FIT)) { - 14378: f013 0f12 tst.w r3, #18 - 1437c: d017 beq.n 143ae <_lv_txt_get_next_line+0x56> + 13dd0: f013 0f12 tst.w r3, #18 + 13dd4: d017 beq.n 13e06 <_lv_txt_get_next_line+0x56> for(i = 0; txt[i] != '\n' && txt[i] != '\r' && txt[i] != '\0'; i++) { - 1437e: 7803 ldrb r3, [r0, #0] - 14380: 2b0a cmp r3, #10 - 14382: f000 80ea beq.w 1455a <_lv_txt_get_next_line+0x202> - 14386: 2b0d cmp r3, #13 - 14388: f000 80ed beq.w 14566 <_lv_txt_get_next_line+0x20e> - 1438c: 2b00 cmp r3, #0 - 1438e: f000 80ec beq.w 1456a <_lv_txt_get_next_line+0x212> - 14392: 4601 mov r1, r0 - 14394: 2200 movs r2, #0 - 14396: 3201 adds r2, #1 - 14398: f811 3f01 ldrb.w r3, [r1, #1]! - 1439c: 2b0a cmp r3, #10 - 1439e: f000 80dd beq.w 1455c <_lv_txt_get_next_line+0x204> - 143a2: 2b0d cmp r3, #13 - 143a4: f000 80da beq.w 1455c <_lv_txt_get_next_line+0x204> - 143a8: 2b00 cmp r3, #0 - 143aa: d1f4 bne.n 14396 <_lv_txt_get_next_line+0x3e> - 143ac: e0d7 b.n 1455e <_lv_txt_get_next_line+0x206> - 143ae: 9b04 ldr r3, [sp, #16] - 143b0: f003 0302 and.w r3, r3, #2 - 143b4: 461a mov r2, r3 - 143b6: 930b str r3, [sp, #44] ; 0x2c + 13dd6: 7803 ldrb r3, [r0, #0] + 13dd8: 2b0a cmp r3, #10 + 13dda: f000 80ea beq.w 13fb2 <_lv_txt_get_next_line+0x202> + 13dde: 2b0d cmp r3, #13 + 13de0: f000 80ed beq.w 13fbe <_lv_txt_get_next_line+0x20e> + 13de4: 2b00 cmp r3, #0 + 13de6: f000 80ec beq.w 13fc2 <_lv_txt_get_next_line+0x212> + 13dea: 4601 mov r1, r0 + 13dec: 2200 movs r2, #0 + 13dee: 3201 adds r2, #1 + 13df0: f811 3f01 ldrb.w r3, [r1, #1]! + 13df4: 2b0a cmp r3, #10 + 13df6: f000 80dd beq.w 13fb4 <_lv_txt_get_next_line+0x204> + 13dfa: 2b0d cmp r3, #13 + 13dfc: f000 80da beq.w 13fb4 <_lv_txt_get_next_line+0x204> + 13e00: 2b00 cmp r3, #0 + 13e02: d1f4 bne.n 13dee <_lv_txt_get_next_line+0x3e> + 13e04: e0d7 b.n 13fb6 <_lv_txt_get_next_line+0x206> + 13e06: 9b04 ldr r3, [sp, #16] + 13e08: f003 0302 and.w r3, r3, #2 + 13e0c: 461a mov r2, r3 + 13e0e: 930b str r3, [sp, #44] ; 0x2c if(flag & LV_TXT_FLAG_EXPAND) max_width = LV_COORD_MAX; - 143b8: f647 4318 movw r3, #31768 ; 0x7c18 - 143bc: 9907 ldr r1, [sp, #28] - 143be: 2a00 cmp r2, #0 - 143c0: bf18 it ne - 143c2: 4619 movne r1, r3 - 143c4: 9107 str r1, [sp, #28] + 13e10: f647 4318 movw r3, #31768 ; 0x7c18 + 13e14: 9907 ldr r1, [sp, #28] + 13e16: 2a00 cmp r2, #0 + 13e18: bf18 it ne + 13e1a: 4619 movne r1, r3 + 13e1c: 9107 str r1, [sp, #28] lv_txt_cmd_state_t cmd_state = LV_TXT_CMD_STATE_WAIT; - 143c6: 2300 movs r3, #0 - 143c8: f88d 303f strb.w r3, [sp, #63] ; 0x3f + 13e1e: 2300 movs r3, #0 + 13e20: f88d 303f strb.w r3, [sp, #63] ; 0x3f uint32_t i = 0; /* Iterating index into txt */ - 143cc: 930e str r3, [sp, #56] ; 0x38 + 13e24: 930e str r3, [sp, #56] ; 0x38 letter = _lv_txt_encoded_next(txt, &i_next); - 143ce: f8df 91ac ldr.w r9, [pc, #428] ; 1457c <_lv_txt_get_next_line+0x224> + 13e26: f8df 91ac ldr.w r9, [pc, #428] ; 13fd4 <_lv_txt_get_next_line+0x224> { uint8_t i; bool ret = false; /*Compare the letter to TXT_BREAK_CHARS*/ for(i = 0; LV_TXT_BREAK_CHARS[i] != '\0'; i++) { - 143d2: f8df a1ac ldr.w sl, [pc, #428] ; 14580 <_lv_txt_get_next_line+0x228> + 13e2a: f8df a1ac ldr.w sl, [pc, #428] ; 13fd8 <_lv_txt_get_next_line+0x228> while(txt[i] != '\0' && max_width > 0) { - 143d6: e078 b.n 144ca <_lv_txt_get_next_line+0x172> + 13e2e: e078 b.n 13f22 <_lv_txt_get_next_line+0x172> letter_w = lv_font_get_glyph_width(font, letter, letter_next); - 143d8: 9a01 ldr r2, [sp, #4] - 143da: 4621 mov r1, r4 - 143dc: 9805 ldr r0, [sp, #20] - 143de: 4b64 ldr r3, [pc, #400] ; (14570 <_lv_txt_get_next_line+0x218>) - 143e0: 4798 blx r3 + 13e30: 9a01 ldr r2, [sp, #4] + 13e32: 4621 mov r1, r4 + 13e34: 9805 ldr r0, [sp, #20] + 13e36: 4b64 ldr r3, [pc, #400] ; (13fc8 <_lv_txt_get_next_line+0x218>) + 13e38: 4798 blx r3 cur_w += letter_w; - 143e2: 4405 add r5, r0 - 143e4: b2ad uxth r5, r5 + 13e3a: 4405 add r5, r0 + 13e3c: b2ad uxth r5, r5 if(letter_w > 0) { - 143e6: b200 sxth r0, r0 - 143e8: 2800 cmp r0, #0 - 143ea: dd02 ble.n 143f2 <_lv_txt_get_next_line+0x9a> + 13e3e: b200 sxth r0, r0 + 13e40: 2800 cmp r0, #0 + 13e42: dd02 ble.n 13e4a <_lv_txt_get_next_line+0x9a> cur_w += letter_space; - 143ec: 9b06 ldr r3, [sp, #24] - 143ee: 441d add r5, r3 - 143f0: b2ad uxth r5, r5 - 143f2: b22d sxth r5, r5 + 13e44: 9b06 ldr r3, [sp, #24] + 13e46: 441d add r5, r3 + 13e48: b2ad uxth r5, r5 + 13e4a: b22d sxth r5, r5 if(break_index == NO_BREAK_FOUND && (cur_w - letter_space) > max_width) { - 143f4: f1b7 3fff cmp.w r7, #4294967295 - 143f8: d038 beq.n 1446c <_lv_txt_get_next_line+0x114> + 13e4c: f1b7 3fff cmp.w r7, #4294967295 + 13e50: d038 beq.n 13ec4 <_lv_txt_get_next_line+0x114> if(letter == '\n' || letter == '\r' || is_break_char(letter)) { - 143fa: f1a4 020a sub.w r2, r4, #10 - 143fe: 2a16 cmp r2, #22 - 14400: d83b bhi.n 1447a <_lv_txt_get_next_line+0x122> - 14402: 4b5c ldr r3, [pc, #368] ; (14574 <_lv_txt_get_next_line+0x21c>) - 14404: 40d3 lsrs r3, r2 - 14406: f013 0f01 tst.w r3, #1 - 1440a: d139 bne.n 14480 <_lv_txt_get_next_line+0x128> - 1440c: 2301 movs r3, #1 - 1440e: 222c movs r2, #44 ; 0x2c + 13e52: f1a4 020a sub.w r2, r4, #10 + 13e56: 2a16 cmp r2, #22 + 13e58: d83b bhi.n 13ed2 <_lv_txt_get_next_line+0x122> + 13e5a: 4b5c ldr r3, [pc, #368] ; (13fcc <_lv_txt_get_next_line+0x21c>) + 13e5c: 40d3 lsrs r3, r2 + 13e5e: f013 0f01 tst.w r3, #1 + 13e62: d139 bne.n 13ed8 <_lv_txt_get_next_line+0x128> + 13e64: 2301 movs r3, #1 + 13e66: 222c movs r2, #44 ; 0x2c if(letter == (uint32_t)LV_TXT_BREAK_CHARS[i]) { - 14410: 4294 cmp r4, r2 - 14412: d035 beq.n 14480 <_lv_txt_get_next_line+0x128> + 13e68: 4294 cmp r4, r2 + 13e6a: d035 beq.n 13ed8 <_lv_txt_get_next_line+0x128> for(i = 0; LV_TXT_BREAK_CHARS[i] != '\0'; i++) { - 14414: 3301 adds r3, #1 - 14416: b2db uxtb r3, r3 - 14418: f81a 2003 ldrb.w r2, [sl, r3] - 1441c: 2a00 cmp r2, #0 - 1441e: d1f7 bne.n 14410 <_lv_txt_get_next_line+0xb8> + 13e6c: 3301 adds r3, #1 + 13e6e: b2db uxtb r3, r3 + 13e70: f81a 2003 ldrb.w r2, [sl, r3] + 13e74: 2a00 cmp r2, #0 + 13e76: d1f7 bne.n 13e68 <_lv_txt_get_next_line+0xb8> if(word_w_ptr != NULL && break_index == NO_BREAK_FOUND) *word_w_ptr = cur_w; - 14420: f1b7 3fff cmp.w r7, #4294967295 - 14424: bf08 it eq - 14426: 46ab moveq fp, r5 + 13e78: f1b7 3fff cmp.w r7, #4294967295 + 13e7c: bf08 it eq + 13e7e: 46ab moveq fp, r5 i = i_next; - 14428: 9e0c ldr r6, [sp, #48] ; 0x30 + 13e80: 9e0c ldr r6, [sp, #48] ; 0x30 i_next = i_next_next; - 1442a: 9b0d ldr r3, [sp, #52] ; 0x34 - 1442c: 930c str r3, [sp, #48] ; 0x30 + 13e82: 9b0d ldr r3, [sp, #52] ; 0x34 + 13e84: 930c str r3, [sp, #48] ; 0x30 letter_next = _lv_txt_encoded_next(txt, &i_next_next); - 1442e: 9b03 ldr r3, [sp, #12] - 14430: 9302 str r3, [sp, #8] - 14432: 9c01 ldr r4, [sp, #4] + 13e86: 9b03 ldr r3, [sp, #12] + 13e88: 9302 str r3, [sp, #8] + 13e8a: 9c01 ldr r4, [sp, #4] while(txt[i] != '\0') { - 14434: f818 3006 ldrb.w r3, [r8, r6] - 14438: 2b00 cmp r3, #0 - 1443a: d06e beq.n 1451a <_lv_txt_get_next_line+0x1c2> + 13e8c: f818 3006 ldrb.w r3, [r8, r6] + 13e90: 2b00 cmp r3, #0 + 13e92: d06e beq.n 13f72 <_lv_txt_get_next_line+0x1c2> letter_next = _lv_txt_encoded_next(txt, &i_next_next); - 1443c: f8d9 3004 ldr.w r3, [r9, #4] - 14440: a90d add r1, sp, #52 ; 0x34 - 14442: 4640 mov r0, r8 - 14444: 4798 blx r3 - 14446: 9001 str r0, [sp, #4] + 13e94: f8d9 3004 ldr.w r3, [r9, #4] + 13e98: a90d add r1, sp, #52 ; 0x34 + 13e9a: 4640 mov r0, r8 + 13e9c: 4798 blx r3 + 13e9e: 9001 str r0, [sp, #4] word_len++; - 14448: 9b02 ldr r3, [sp, #8] - 1444a: 3301 adds r3, #1 - 1444c: 9303 str r3, [sp, #12] + 13ea0: 9b02 ldr r3, [sp, #8] + 13ea2: 3301 adds r3, #1 + 13ea4: 9303 str r3, [sp, #12] if((flag & LV_TXT_FLAG_RECOLOR) != 0) { - 1444e: 9b04 ldr r3, [sp, #16] - 14450: f013 0f01 tst.w r3, #1 - 14454: d0c0 beq.n 143d8 <_lv_txt_get_next_line+0x80> + 13ea6: 9b04 ldr r3, [sp, #16] + 13ea8: f013 0f01 tst.w r3, #1 + 13eac: d0c0 beq.n 13e30 <_lv_txt_get_next_line+0x80> if(_lv_txt_is_cmd(cmd_state, letter) != false) { - 14456: 4621 mov r1, r4 - 14458: f10d 003f add.w r0, sp, #63 ; 0x3f - 1445c: 4b46 ldr r3, [pc, #280] ; (14578 <_lv_txt_get_next_line+0x220>) - 1445e: 4798 blx r3 - 14460: 2800 cmp r0, #0 - 14462: d0b9 beq.n 143d8 <_lv_txt_get_next_line+0x80> + 13eae: 4621 mov r1, r4 + 13eb0: f10d 003f add.w r0, sp, #63 ; 0x3f + 13eb4: 4b46 ldr r3, [pc, #280] ; (13fd0 <_lv_txt_get_next_line+0x220>) + 13eb6: 4798 blx r3 + 13eb8: 2800 cmp r0, #0 + 13eba: d0b9 beq.n 13e30 <_lv_txt_get_next_line+0x80> i = i_next; - 14464: 9e0c ldr r6, [sp, #48] ; 0x30 + 13ebc: 9e0c ldr r6, [sp, #48] ; 0x30 i_next = i_next_next; - 14466: 9b0d ldr r3, [sp, #52] ; 0x34 - 14468: 930c str r3, [sp, #48] ; 0x30 - 1446a: e7e0 b.n 1442e <_lv_txt_get_next_line+0xd6> + 13ebe: 9b0d ldr r3, [sp, #52] ; 0x34 + 13ec0: 930c str r3, [sp, #48] ; 0x30 + 13ec2: e7e0 b.n 13e86 <_lv_txt_get_next_line+0xd6> if(break_index == NO_BREAK_FOUND && (cur_w - letter_space) > max_width) { - 1446c: 9b06 ldr r3, [sp, #24] - 1446e: 1aeb subs r3, r5, r3 - 14470: 9a09 ldr r2, [sp, #36] ; 0x24 - 14472: 4293 cmp r3, r2 - 14474: bfc8 it gt - 14476: 4637 movgt r7, r6 - 14478: e7bf b.n 143fa <_lv_txt_get_next_line+0xa2> + 13ec4: 9b06 ldr r3, [sp, #24] + 13ec6: 1aeb subs r3, r5, r3 + 13ec8: 9a09 ldr r2, [sp, #36] ; 0x24 + 13eca: 4293 cmp r3, r2 + 13ecc: bfc8 it gt + 13ece: 4637 movgt r7, r6 + 13ed0: e7bf b.n 13e52 <_lv_txt_get_next_line+0xa2> if(letter == '\n' || letter == '\r' || is_break_char(letter)) { - 1447a: 2301 movs r3, #1 - 1447c: 222c movs r2, #44 ; 0x2c - 1447e: e7c7 b.n 14410 <_lv_txt_get_next_line+0xb8> + 13ed2: 2301 movs r3, #1 + 13ed4: 222c movs r2, #44 ; 0x2c + 13ed6: e7c7 b.n 13e68 <_lv_txt_get_next_line+0xb8> if(i == 0 && break_index == NO_BREAK_FOUND && word_w_ptr != NULL) *word_w_ptr = cur_w; - 14480: 2e00 cmp r6, #0 - 14482: d14a bne.n 1451a <_lv_txt_get_next_line+0x1c2> - 14484: f1b7 3fff cmp.w r7, #4294967295 - 14488: d14a bne.n 14520 <_lv_txt_get_next_line+0x1c8> - 1448a: 46ab mov fp, r5 + 13ed8: 2e00 cmp r6, #0 + 13eda: d14a bne.n 13f72 <_lv_txt_get_next_line+0x1c2> + 13edc: f1b7 3fff cmp.w r7, #4294967295 + 13ee0: d14a bne.n 13f78 <_lv_txt_get_next_line+0x1c8> + 13ee2: 46ab mov fp, r5 if(word_len == 0 || (letter == '\r' && letter_next == '\n')) i = i_next; - 1448c: 9b02 ldr r3, [sp, #8] - 1448e: b123 cbz r3, 1449a <_lv_txt_get_next_line+0x142> - 14490: 2c0d cmp r4, #13 - 14492: d103 bne.n 1449c <_lv_txt_get_next_line+0x144> - 14494: 9b01 ldr r3, [sp, #4] - 14496: 2b0a cmp r3, #10 - 14498: d100 bne.n 1449c <_lv_txt_get_next_line+0x144> - 1449a: 9e0c ldr r6, [sp, #48] ; 0x30 + 13ee4: 9b02 ldr r3, [sp, #8] + 13ee6: b123 cbz r3, 13ef2 <_lv_txt_get_next_line+0x142> + 13ee8: 2c0d cmp r4, #13 + 13eea: d103 bne.n 13ef4 <_lv_txt_get_next_line+0x144> + 13eec: 9b01 ldr r3, [sp, #4] + 13eee: 2b0a cmp r3, #10 + 13ef0: d100 bne.n 13ef4 <_lv_txt_get_next_line+0x144> + 13ef2: 9e0c ldr r6, [sp, #48] ; 0x30 return i; - 1449c: b2b6 uxth r6, r6 + 13ef4: b2b6 uxth r6, r6 max_width -= word_w; - 1449e: 9b07 ldr r3, [sp, #28] - 144a0: eba3 0b0b sub.w fp, r3, fp - 144a4: fa0f f38b sxth.w r3, fp - 144a8: 9307 str r3, [sp, #28] + 13ef6: 9b07 ldr r3, [sp, #28] + 13ef8: eba3 0b0b sub.w fp, r3, fp + 13efc: fa0f f38b sxth.w r3, fp + 13f00: 9307 str r3, [sp, #28] if(advance == 0) { - 144aa: 2e00 cmp r6, #0 - 144ac: d03a beq.n 14524 <_lv_txt_get_next_line+0x1cc> + 13f02: 2e00 cmp r6, #0 + 13f04: d03a beq.n 13f7c <_lv_txt_get_next_line+0x1cc> i += advance; - 144ae: 9f0e ldr r7, [sp, #56] ; 0x38 - 144b0: 443e add r6, r7 - 144b2: 960e str r6, [sp, #56] ; 0x38 + 13f06: 9f0e ldr r7, [sp, #56] ; 0x38 + 13f08: 443e add r6, r7 + 13f0a: 960e str r6, [sp, #56] ; 0x38 if(txt[0] == '\n' || txt[0] == '\r') break; - 144b4: 9a08 ldr r2, [sp, #32] - 144b6: 7813 ldrb r3, [r2, #0] - 144b8: 2b0a cmp r3, #10 - 144ba: d03f beq.n 1453c <_lv_txt_get_next_line+0x1e4> - 144bc: 2b0d cmp r3, #13 - 144be: d03d beq.n 1453c <_lv_txt_get_next_line+0x1e4> + 13f0c: 9a08 ldr r2, [sp, #32] + 13f0e: 7813 ldrb r3, [r2, #0] + 13f10: 2b0a cmp r3, #10 + 13f12: d03f beq.n 13f94 <_lv_txt_get_next_line+0x1e4> + 13f14: 2b0d cmp r3, #13 + 13f16: d03d beq.n 13f94 <_lv_txt_get_next_line+0x1e4> if(txt[i] == '\n' || txt[i] == '\r') { - 144c0: 5d93 ldrb r3, [r2, r6] - 144c2: 2b0a cmp r3, #10 - 144c4: d038 beq.n 14538 <_lv_txt_get_next_line+0x1e0> - 144c6: 2b0d cmp r3, #13 - 144c8: d036 beq.n 14538 <_lv_txt_get_next_line+0x1e0> + 13f18: 5d93 ldrb r3, [r2, r6] + 13f1a: 2b0a cmp r3, #10 + 13f1c: d038 beq.n 13f90 <_lv_txt_get_next_line+0x1e0> + 13f1e: 2b0d cmp r3, #13 + 13f20: d036 beq.n 13f90 <_lv_txt_get_next_line+0x1e0> while(txt[i] != '\0' && max_width > 0) { - 144ca: 9b0e ldr r3, [sp, #56] ; 0x38 - 144cc: 930a str r3, [sp, #40] ; 0x28 - 144ce: 9908 ldr r1, [sp, #32] - 144d0: eb01 0803 add.w r8, r1, r3 - 144d4: 5ccb ldrb r3, [r1, r3] - 144d6: 2b00 cmp r3, #0 - 144d8: d030 beq.n 1453c <_lv_txt_get_next_line+0x1e4> - 144da: 9b07 ldr r3, [sp, #28] - 144dc: 2b00 cmp r3, #0 - 144de: dd2d ble.n 1453c <_lv_txt_get_next_line+0x1e4> + 13f22: 9b0e ldr r3, [sp, #56] ; 0x38 + 13f24: 930a str r3, [sp, #40] ; 0x28 + 13f26: 9908 ldr r1, [sp, #32] + 13f28: eb01 0803 add.w r8, r1, r3 + 13f2c: 5ccb ldrb r3, [r1, r3] + 13f2e: 2b00 cmp r3, #0 + 13f30: d030 beq.n 13f94 <_lv_txt_get_next_line+0x1e4> + 13f32: 9b07 ldr r3, [sp, #28] + 13f34: 2b00 cmp r3, #0 + 13f36: dd2d ble.n 13f94 <_lv_txt_get_next_line+0x1e4> if(txt == NULL || txt[0] == '\0') return 0; - 144e0: f1b8 0f00 cmp.w r8, #0 - 144e4: d01e beq.n 14524 <_lv_txt_get_next_line+0x1cc> + 13f38: f1b8 0f00 cmp.w r8, #0 + 13f3c: d01e beq.n 13f7c <_lv_txt_get_next_line+0x1cc> if(flag & LV_TXT_FLAG_EXPAND) max_width = LV_COORD_MAX; - 144e6: f647 4318 movw r3, #31768 ; 0x7c18 - 144ea: 9a07 ldr r2, [sp, #28] - 144ec: 990b ldr r1, [sp, #44] ; 0x2c - 144ee: 2900 cmp r1, #0 - 144f0: bf08 it eq - 144f2: 4613 moveq r3, r2 - 144f4: 9309 str r3, [sp, #36] ; 0x24 + 13f3e: f647 4318 movw r3, #31768 ; 0x7c18 + 13f42: 9a07 ldr r2, [sp, #28] + 13f44: 990b ldr r1, [sp, #44] ; 0x2c + 13f46: 2900 cmp r1, #0 + 13f48: bf08 it eq + 13f4a: 4613 moveq r3, r2 + 13f4c: 9309 str r3, [sp, #36] ; 0x24 uint32_t i = 0, i_next = 0, i_next_next = 0; /* Iterating index into txt */ - 144f6: 2600 movs r6, #0 - 144f8: 960c str r6, [sp, #48] ; 0x30 - 144fa: 960d str r6, [sp, #52] ; 0x34 + 13f4e: 2600 movs r6, #0 + 13f50: 960c str r6, [sp, #48] ; 0x30 + 13f52: 960d str r6, [sp, #52] ; 0x34 letter = _lv_txt_encoded_next(txt, &i_next); - 144fc: f8d9 3004 ldr.w r3, [r9, #4] - 14500: a90c add r1, sp, #48 ; 0x30 - 14502: 4640 mov r0, r8 - 14504: 4798 blx r3 - 14506: 4604 mov r4, r0 + 13f54: f8d9 3004 ldr.w r3, [r9, #4] + 13f58: a90c add r1, sp, #48 ; 0x30 + 13f5a: 4640 mov r0, r8 + 13f5c: 4798 blx r3 + 13f5e: 4604 mov r4, r0 i_next_next = i_next; - 14508: 9b0c ldr r3, [sp, #48] ; 0x30 - 1450a: 930d str r3, [sp, #52] ; 0x34 + 13f60: 9b0c ldr r3, [sp, #48] ; 0x30 + 13f62: 930d str r3, [sp, #52] ; 0x34 uint32_t word_w = 0; - 1450c: 46b3 mov fp, r6 + 13f64: 46b3 mov fp, r6 uint32_t break_index = NO_BREAK_FOUND; /* only used for "long" words */ - 1450e: f04f 37ff mov.w r7, #4294967295 + 13f66: f04f 37ff mov.w r7, #4294967295 uint32_t word_len = 0; /* Number of characters in the transversed word */ - 14512: 9602 str r6, [sp, #8] + 13f6a: 9602 str r6, [sp, #8] lv_coord_t cur_w = 0; /* Pixel Width of transversed string */ - 14514: 4635 mov r5, r6 + 13f6c: 4635 mov r5, r6 uint32_t letter_next = 0; /* Letter at i_next */ - 14516: 9601 str r6, [sp, #4] - 14518: e78c b.n 14434 <_lv_txt_get_next_line+0xdc> + 13f6e: 9601 str r6, [sp, #4] + 13f70: e78c b.n 13e8c <_lv_txt_get_next_line+0xdc> if(break_index == NO_BREAK_FOUND) { - 1451a: f1b7 3fff cmp.w r7, #4294967295 - 1451e: d0b5 beq.n 1448c <_lv_txt_get_next_line+0x134> + 13f72: f1b7 3fff cmp.w r7, #4294967295 + 13f76: d0b5 beq.n 13ee4 <_lv_txt_get_next_line+0x134> if(force) return break_index; - 14520: 9b0a ldr r3, [sp, #40] ; 0x28 - 14522: b13b cbz r3, 14534 <_lv_txt_get_next_line+0x1dc> + 13f78: 9b0a ldr r3, [sp, #40] ; 0x28 + 13f7a: b13b cbz r3, 13f8c <_lv_txt_get_next_line+0x1dc> if(i == 0) _lv_txt_encoded_next(txt, &i); // prevent inf loops - 14524: 9b0e ldr r3, [sp, #56] ; 0x38 - 14526: b95b cbnz r3, 14540 <_lv_txt_get_next_line+0x1e8> - 14528: 4b14 ldr r3, [pc, #80] ; (1457c <_lv_txt_get_next_line+0x224>) - 1452a: 685b ldr r3, [r3, #4] - 1452c: a90e add r1, sp, #56 ; 0x38 - 1452e: 9808 ldr r0, [sp, #32] - 14530: 4798 blx r3 - 14532: e003 b.n 1453c <_lv_txt_get_next_line+0x1e4> + 13f7c: 9b0e ldr r3, [sp, #56] ; 0x38 + 13f7e: b95b cbnz r3, 13f98 <_lv_txt_get_next_line+0x1e8> + 13f80: 4b14 ldr r3, [pc, #80] ; (13fd4 <_lv_txt_get_next_line+0x224>) + 13f82: 685b ldr r3, [r3, #4] + 13f84: a90e add r1, sp, #56 ; 0x38 + 13f86: 9808 ldr r0, [sp, #32] + 13f88: 4798 blx r3 + 13f8a: e003 b.n 13f94 <_lv_txt_get_next_line+0x1e4> if(force) return break_index; - 14534: b2be uxth r6, r7 - 14536: e7b2 b.n 1449e <_lv_txt_get_next_line+0x146> + 13f8c: b2be uxth r6, r7 + 13f8e: e7b2 b.n 13ef6 <_lv_txt_get_next_line+0x146> i++; /* Include the following newline in the current line */ - 14538: 3601 adds r6, #1 - 1453a: 960e str r6, [sp, #56] ; 0x38 + 13f90: 3601 adds r6, #1 + 13f92: 960e str r6, [sp, #56] ; 0x38 if(i == 0) { - 1453c: 9b0e ldr r3, [sp, #56] ; 0x38 - 1453e: b113 cbz r3, 14546 <_lv_txt_get_next_line+0x1ee> + 13f94: 9b0e ldr r3, [sp, #56] ; 0x38 + 13f96: b113 cbz r3, 13f9e <_lv_txt_get_next_line+0x1ee> return i; - 14540: f8bd 0038 ldrh.w r0, [sp, #56] ; 0x38 - 14544: e00c b.n 14560 <_lv_txt_get_next_line+0x208> + 13f98: f8bd 0038 ldrh.w r0, [sp, #56] ; 0x38 + 13f9c: e00c b.n 13fb8 <_lv_txt_get_next_line+0x208> _lv_txt_encoded_next(txt, &i); - 14546: 4b0d ldr r3, [pc, #52] ; (1457c <_lv_txt_get_next_line+0x224>) - 14548: 685b ldr r3, [r3, #4] - 1454a: a90e add r1, sp, #56 ; 0x38 - 1454c: 9808 ldr r0, [sp, #32] - 1454e: 4798 blx r3 - 14550: e7f6 b.n 14540 <_lv_txt_get_next_line+0x1e8> + 13f9e: 4b0d ldr r3, [pc, #52] ; (13fd4 <_lv_txt_get_next_line+0x224>) + 13fa0: 685b ldr r3, [r3, #4] + 13fa2: a90e add r1, sp, #56 ; 0x38 + 13fa4: 9808 ldr r0, [sp, #32] + 13fa6: 4798 blx r3 + 13fa8: e7f6 b.n 13f98 <_lv_txt_get_next_line+0x1e8> if(txt == NULL) return 0; - 14552: 2000 movs r0, #0 - 14554: e004 b.n 14560 <_lv_txt_get_next_line+0x208> + 13faa: 2000 movs r0, #0 + 13fac: e004 b.n 13fb8 <_lv_txt_get_next_line+0x208> if(font == NULL) return 0; - 14556: 2000 movs r0, #0 - 14558: e002 b.n 14560 <_lv_txt_get_next_line+0x208> + 13fae: 2000 movs r0, #0 + 13fb0: e002 b.n 13fb8 <_lv_txt_get_next_line+0x208> for(i = 0; txt[i] != '\n' && txt[i] != '\r' && txt[i] != '\0'; i++) { - 1455a: 2200 movs r2, #0 + 13fb2: 2200 movs r2, #0 if(txt[i] != '\0') i++; /*To go beyond `\n`*/ - 1455c: 3201 adds r2, #1 + 13fb4: 3201 adds r2, #1 return i; - 1455e: b290 uxth r0, r2 + 13fb6: b290 uxth r0, r2 } - 14560: b011 add sp, #68 ; 0x44 - 14562: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 13fb8: b011 add sp, #68 ; 0x44 + 13fba: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} for(i = 0; txt[i] != '\n' && txt[i] != '\r' && txt[i] != '\0'; i++) { - 14566: 2200 movs r2, #0 - 14568: e7f8 b.n 1455c <_lv_txt_get_next_line+0x204> - 1456a: 2200 movs r2, #0 - 1456c: e7f7 b.n 1455e <_lv_txt_get_next_line+0x206> - 1456e: bf00 nop - 14570: 00010609 .word 0x00010609 - 14574: 00400009 .word 0x00400009 - 14578: 00014311 .word 0x00014311 - 1457c: 20000054 .word 0x20000054 - 14580: 000209f8 .word 0x000209f8 - -00014584 <_lv_txt_get_width>: -{ - 14584: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 14588: b085 sub sp, #20 + 13fbe: 2200 movs r2, #0 + 13fc0: e7f8 b.n 13fb4 <_lv_txt_get_next_line+0x204> + 13fc2: 2200 movs r2, #0 + 13fc4: e7f7 b.n 13fb6 <_lv_txt_get_next_line+0x206> + 13fc6: bf00 nop + 13fc8: 00010061 .word 0x00010061 + 13fcc: 00400009 .word 0x00400009 + 13fd0: 00013d69 .word 0x00013d69 + 13fd4: 20000054 .word 0x20000054 + 13fd8: 00029514 .word 0x00029514 + +00013fdc <_lv_txt_get_width>: +{ + 13fdc: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 13fe0: b085 sub sp, #20 if(txt == NULL) return 0; - 1458a: 2800 cmp r0, #0 - 1458c: d040 beq.n 14610 <_lv_txt_get_width+0x8c> - 1458e: 4605 mov r5, r0 + 13fe2: 2800 cmp r0, #0 + 13fe4: d040 beq.n 14068 <_lv_txt_get_width+0x8c> + 13fe6: 4605 mov r5, r0 if(font == NULL) return 0; - 14590: 2a00 cmp r2, #0 - 14592: d03f beq.n 14614 <_lv_txt_get_width+0x90> + 13fe8: 2a00 cmp r2, #0 + 13fea: d03f beq.n 1406c <_lv_txt_get_width+0x90> uint32_t i = 0; - 14594: 2000 movs r0, #0 - 14596: 9003 str r0, [sp, #12] + 13fec: 2000 movs r0, #0 + 13fee: 9003 str r0, [sp, #12] lv_txt_cmd_state_t cmd_state = LV_TXT_CMD_STATE_WAIT; - 14598: f88d 000b strb.w r0, [sp, #11] + 13ff0: f88d 000b strb.w r0, [sp, #11] if(length != 0) { - 1459c: b149 cbz r1, 145b2 <_lv_txt_get_width+0x2e> - 1459e: 469b mov fp, r3 - 145a0: 9201 str r2, [sp, #4] - 145a2: 4689 mov r9, r1 - 145a4: 2400 movs r4, #0 + 13ff4: b149 cbz r1, 1400a <_lv_txt_get_width+0x2e> + 13ff6: 469b mov fp, r3 + 13ff8: 9201 str r2, [sp, #4] + 13ffa: 4689 mov r9, r1 + 13ffc: 2400 movs r4, #0 uint32_t letter = _lv_txt_encoded_next(txt, &i); - 145a6: 4f1c ldr r7, [pc, #112] ; (14618 <_lv_txt_get_width+0x94>) + 13ffe: 4f1c ldr r7, [pc, #112] ; (14070 <_lv_txt_get_width+0x94>) if((flag & LV_TXT_FLAG_RECOLOR) != 0) { - 145a8: f89d a038 ldrb.w sl, [sp, #56] ; 0x38 - 145ac: f00a 0a01 and.w sl, sl, #1 - 145b0: e00c b.n 145cc <_lv_txt_get_width+0x48> + 14000: f89d a038 ldrb.w sl, [sp, #56] ; 0x38 + 14004: f00a 0a01 and.w sl, sl, #1 + 14008: e00c b.n 14024 <_lv_txt_get_width+0x48> lv_coord_t width = 0; - 145b2: 4604 mov r4, r0 - 145b4: e028 b.n 14608 <_lv_txt_get_width+0x84> + 1400a: 4604 mov r4, r0 + 1400c: e028 b.n 14060 <_lv_txt_get_width+0x84> lv_coord_t char_width = lv_font_get_glyph_width(font, letter, letter_next); - 145b6: 4642 mov r2, r8 - 145b8: 4631 mov r1, r6 - 145ba: 9801 ldr r0, [sp, #4] - 145bc: 4b17 ldr r3, [pc, #92] ; (1461c <_lv_txt_get_width+0x98>) - 145be: 4798 blx r3 + 1400e: 4642 mov r2, r8 + 14010: 4631 mov r1, r6 + 14012: 9801 ldr r0, [sp, #4] + 14014: 4b17 ldr r3, [pc, #92] ; (14074 <_lv_txt_get_width+0x98>) + 14016: 4798 blx r3 if(char_width > 0) { - 145c0: b203 sxth r3, r0 - 145c2: 2b00 cmp r3, #0 - 145c4: dd02 ble.n 145cc <_lv_txt_get_width+0x48> + 14018: b203 sxth r3, r0 + 1401a: 2b00 cmp r3, #0 + 1401c: dd02 ble.n 14024 <_lv_txt_get_width+0x48> width += letter_space; - 145c6: 445c add r4, fp - 145c8: 4404 add r4, r0 - 145ca: b224 sxth r4, r4 + 1401e: 445c add r4, fp + 14020: 4404 add r4, r0 + 14022: b224 sxth r4, r4 while(i < length) { - 145cc: 9b03 ldr r3, [sp, #12] - 145ce: 4599 cmp r9, r3 - 145d0: d915 bls.n 145fe <_lv_txt_get_width+0x7a> + 14024: 9b03 ldr r3, [sp, #12] + 14026: 4599 cmp r9, r3 + 14028: d915 bls.n 14056 <_lv_txt_get_width+0x7a> uint32_t letter = _lv_txt_encoded_next(txt, &i); - 145d2: 687b ldr r3, [r7, #4] - 145d4: a903 add r1, sp, #12 - 145d6: 4628 mov r0, r5 - 145d8: 4798 blx r3 - 145da: 4606 mov r6, r0 + 1402a: 687b ldr r3, [r7, #4] + 1402c: a903 add r1, sp, #12 + 1402e: 4628 mov r0, r5 + 14030: 4798 blx r3 + 14032: 4606 mov r6, r0 uint32_t letter_next = _lv_txt_encoded_next(&txt[i], NULL); - 145dc: 687b ldr r3, [r7, #4] - 145de: 2100 movs r1, #0 - 145e0: 9803 ldr r0, [sp, #12] - 145e2: 4428 add r0, r5 - 145e4: 4798 blx r3 - 145e6: 4680 mov r8, r0 + 14034: 687b ldr r3, [r7, #4] + 14036: 2100 movs r1, #0 + 14038: 9803 ldr r0, [sp, #12] + 1403a: 4428 add r0, r5 + 1403c: 4798 blx r3 + 1403e: 4680 mov r8, r0 if((flag & LV_TXT_FLAG_RECOLOR) != 0) { - 145e8: f1ba 0f00 cmp.w sl, #0 - 145ec: d0e3 beq.n 145b6 <_lv_txt_get_width+0x32> + 14040: f1ba 0f00 cmp.w sl, #0 + 14044: d0e3 beq.n 1400e <_lv_txt_get_width+0x32> if(_lv_txt_is_cmd(&cmd_state, letter) != false) { - 145ee: 4631 mov r1, r6 - 145f0: f10d 000b add.w r0, sp, #11 - 145f4: 4b0a ldr r3, [pc, #40] ; (14620 <_lv_txt_get_width+0x9c>) - 145f6: 4798 blx r3 - 145f8: 2800 cmp r0, #0 - 145fa: d1e7 bne.n 145cc <_lv_txt_get_width+0x48> - 145fc: e7db b.n 145b6 <_lv_txt_get_width+0x32> + 14046: 4631 mov r1, r6 + 14048: f10d 000b add.w r0, sp, #11 + 1404c: 4b0a ldr r3, [pc, #40] ; (14078 <_lv_txt_get_width+0x9c>) + 1404e: 4798 blx r3 + 14050: 2800 cmp r0, #0 + 14052: d1e7 bne.n 14024 <_lv_txt_get_width+0x48> + 14054: e7db b.n 1400e <_lv_txt_get_width+0x32> if(width > 0) { - 145fe: 2c00 cmp r4, #0 - 14600: dd02 ble.n 14608 <_lv_txt_get_width+0x84> + 14056: 2c00 cmp r4, #0 + 14058: dd02 ble.n 14060 <_lv_txt_get_width+0x84> width -= letter_space; /*Trim the last letter space. Important if the text is center - 14602: eba4 040b sub.w r4, r4, fp - 14606: b224 sxth r4, r4 + 1405a: eba4 040b sub.w r4, r4, fp + 1405e: b224 sxth r4, r4 } - 14608: 4620 mov r0, r4 - 1460a: b005 add sp, #20 - 1460c: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 14060: 4620 mov r0, r4 + 14062: b005 add sp, #20 + 14064: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} if(txt == NULL) return 0; - 14610: 2400 movs r4, #0 - 14612: e7f9 b.n 14608 <_lv_txt_get_width+0x84> + 14068: 2400 movs r4, #0 + 1406a: e7f9 b.n 14060 <_lv_txt_get_width+0x84> if(font == NULL) return 0; - 14614: 2400 movs r4, #0 - 14616: e7f7 b.n 14608 <_lv_txt_get_width+0x84> - 14618: 20000054 .word 0x20000054 - 1461c: 00010609 .word 0x00010609 - 14620: 00014311 .word 0x00014311 - -00014624 <_lv_txt_get_size>: -{ - 14624: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 14628: b089 sub sp, #36 ; 0x24 - 1462a: f9bd 4048 ldrsh.w r4, [sp, #72] ; 0x48 - 1462e: 9406 str r4, [sp, #24] - 14630: f9bd 504c ldrsh.w r5, [sp, #76] ; 0x4c - 14634: f89d 8050 ldrb.w r8, [sp, #80] ; 0x50 + 1406c: 2400 movs r4, #0 + 1406e: e7f7 b.n 14060 <_lv_txt_get_width+0x84> + 14070: 20000054 .word 0x20000054 + 14074: 00010061 .word 0x00010061 + 14078: 00013d69 .word 0x00013d69 + +0001407c <_lv_txt_get_size>: +{ + 1407c: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 14080: b089 sub sp, #36 ; 0x24 + 14082: f9bd 4048 ldrsh.w r4, [sp, #72] ; 0x48 + 14086: 9406 str r4, [sp, #24] + 14088: f9bd 504c ldrsh.w r5, [sp, #76] ; 0x4c + 1408c: f89d 8050 ldrb.w r8, [sp, #80] ; 0x50 size_res->x = 0; - 14638: 2400 movs r4, #0 - 1463a: 8004 strh r4, [r0, #0] + 14090: 2400 movs r4, #0 + 14092: 8004 strh r4, [r0, #0] size_res->y = 0; - 1463c: 8044 strh r4, [r0, #2] + 14094: 8044 strh r4, [r0, #2] if(text == NULL) return; - 1463e: 2900 cmp r1, #0 - 14640: d05b beq.n 146fa <_lv_txt_get_size+0xd6> - 14642: 460f mov r7, r1 + 14096: 2900 cmp r1, #0 + 14098: d05b beq.n 14152 <_lv_txt_get_size+0xd6> + 1409a: 460f mov r7, r1 if(font == NULL) return; - 14644: 2a00 cmp r2, #0 - 14646: d058 beq.n 146fa <_lv_txt_get_size+0xd6> - 14648: 9303 str r3, [sp, #12] - 1464a: 4611 mov r1, r2 - 1464c: 9202 str r2, [sp, #8] - 1464e: 4604 mov r4, r0 + 1409c: 2a00 cmp r2, #0 + 1409e: d058 beq.n 14152 <_lv_txt_get_size+0xd6> + 140a0: 9303 str r3, [sp, #12] + 140a2: 4611 mov r1, r2 + 140a4: 9202 str r2, [sp, #8] + 140a6: 4604 mov r4, r0 if(flag & LV_TXT_FLAG_EXPAND) max_width = LV_COORD_MAX; - 14650: f008 0302 and.w r3, r8, #2 - 14654: f647 4218 movw r2, #31768 ; 0x7c18 - 14658: 2b00 cmp r3, #0 - 1465a: bf18 it ne - 1465c: 4615 movne r5, r2 - 1465e: 9504 str r5, [sp, #16] + 140a8: f008 0302 and.w r3, r8, #2 + 140ac: f647 4218 movw r2, #31768 ; 0x7c18 + 140b0: 2b00 cmp r3, #0 + 140b2: bf18 it ne + 140b4: 4615 movne r5, r2 + 140b6: 9504 str r5, [sp, #16] * @param font_p pointer to a font * @return the height of a font */ static inline lv_coord_t lv_font_get_line_height(const lv_font_t * font_p) { return font_p->line_height; - 14660: f9b1 2008 ldrsh.w r2, [r1, #8] - 14664: 9207 str r2, [sp, #28] + 140b8: f9b1 2008 ldrsh.w r2, [r1, #8] + 140bc: 9207 str r2, [sp, #28] uint16_t letter_height = lv_font_get_line_height(font); - 14666: fa1f fa82 uxth.w sl, r2 + 140be: fa1f fa82 uxth.w sl, r2 while(text[line_start] != '\0') { - 1466a: 783b ldrb r3, [r7, #0] - 1466c: 2b00 cmp r3, #0 - 1466e: d04c beq.n 1470a <_lv_txt_get_size+0xe6> - 14670: 463e mov r6, r7 - 14672: 2500 movs r5, #0 + 140c2: 783b ldrb r3, [r7, #0] + 140c4: 2b00 cmp r3, #0 + 140c6: d04c beq.n 14162 <_lv_txt_get_size+0xe6> + 140c8: 463e mov r6, r7 + 140ca: 2500 movs r5, #0 new_line_start += _lv_txt_get_next_line(&text[line_start], font, letter_space, max_width, flag); - 14674: f8df b0b0 ldr.w fp, [pc, #176] ; 14728 <_lv_txt_get_size+0x104> + 140cc: f8df b0b0 ldr.w fp, [pc, #176] ; 14180 <_lv_txt_get_size+0x104> if((unsigned long)size_res->y + (unsigned long)letter_height + (unsigned long)line_space > LV_MAX_OF(lv_coord_t)) { - 14678: 9b06 ldr r3, [sp, #24] - 1467a: 449a add sl, r3 - 1467c: fa1f f98a uxth.w r9, sl - 14680: 4647 mov r7, r8 - 14682: 46b0 mov r8, r6 + 140d0: 9b06 ldr r3, [sp, #24] + 140d2: 449a add sl, r3 + 140d4: fa1f f98a uxth.w r9, sl + 140d8: 4647 mov r7, r8 + 140da: 46b0 mov r8, r6 new_line_start += _lv_txt_get_next_line(&text[line_start], font, letter_space, max_width, flag); - 14684: 9700 str r7, [sp, #0] - 14686: 9b04 ldr r3, [sp, #16] - 14688: 9a03 ldr r2, [sp, #12] - 1468a: 9902 ldr r1, [sp, #8] - 1468c: 4630 mov r0, r6 - 1468e: 47d8 blx fp - 14690: 4405 add r5, r0 + 140dc: 9700 str r7, [sp, #0] + 140de: 9b04 ldr r3, [sp, #16] + 140e0: 9a03 ldr r2, [sp, #12] + 140e2: 9902 ldr r1, [sp, #8] + 140e4: 4630 mov r0, r6 + 140e6: 47d8 blx fp + 140e8: 4405 add r5, r0 if((unsigned long)size_res->y + (unsigned long)letter_height + (unsigned long)line_space > LV_MAX_OF(lv_coord_t)) { - 14692: f9b4 3002 ldrsh.w r3, [r4, #2] - 14696: eb0a 0203 add.w r2, sl, r3 - 1469a: f5b2 4f00 cmp.w r2, #32768 ; 0x8000 - 1469e: d224 bcs.n 146ea <_lv_txt_get_size+0xc6> - 146a0: f8cd 9014 str.w r9, [sp, #20] + 140ea: f9b4 3002 ldrsh.w r3, [r4, #2] + 140ee: eb0a 0203 add.w r2, sl, r3 + 140f2: f5b2 4f00 cmp.w r2, #32768 ; 0x8000 + 140f6: d224 bcs.n 14142 <_lv_txt_get_size+0xc6> + 140f8: f8cd 9014 str.w r9, [sp, #20] size_res->y += line_space; - 146a4: 444b add r3, r9 - 146a6: 8063 strh r3, [r4, #2] + 140fc: 444b add r3, r9 + 140fe: 8063 strh r3, [r4, #2] lv_coord_t act_line_length = _lv_txt_get_width(&text[line_start], new_line_start - line_start, font, letter_space, - 146a8: 9700 str r7, [sp, #0] - 146aa: 9b03 ldr r3, [sp, #12] - 146ac: 9a02 ldr r2, [sp, #8] - 146ae: 4601 mov r1, r0 - 146b0: 4630 mov r0, r6 - 146b2: 4e18 ldr r6, [pc, #96] ; (14714 <_lv_txt_get_size+0xf0>) - 146b4: 47b0 blx r6 + 14100: 9700 str r7, [sp, #0] + 14102: 9b03 ldr r3, [sp, #12] + 14104: 9a02 ldr r2, [sp, #8] + 14106: 4601 mov r1, r0 + 14108: 4630 mov r0, r6 + 1410a: 4e18 ldr r6, [pc, #96] ; (1416c <_lv_txt_get_size+0xf0>) + 1410c: 47b0 blx r6 size_res->x = LV_MATH_MAX(act_line_length, size_res->x); - 146b6: f9b4 3000 ldrsh.w r3, [r4] - 146ba: 4298 cmp r0, r3 - 146bc: bfb8 it lt - 146be: 4618 movlt r0, r3 - 146c0: 8020 strh r0, [r4, #0] + 1410e: f9b4 3000 ldrsh.w r3, [r4] + 14112: 4298 cmp r0, r3 + 14114: bfb8 it lt + 14116: 4618 movlt r0, r3 + 14118: 8020 strh r0, [r4, #0] while(text[line_start] != '\0') { - 146c2: eb08 0605 add.w r6, r8, r5 - 146c6: f818 3005 ldrb.w r3, [r8, r5] - 146ca: 2b00 cmp r3, #0 - 146cc: d1da bne.n 14684 <_lv_txt_get_size+0x60> + 1411a: eb08 0605 add.w r6, r8, r5 + 1411e: f818 3005 ldrb.w r3, [r8, r5] + 14122: 2b00 cmp r3, #0 + 14124: d1da bne.n 140dc <_lv_txt_get_size+0x60> if((line_start != 0) && (text[line_start - 1] == '\n' || text[line_start - 1] == '\r')) { - 146ce: b12d cbz r5, 146dc <_lv_txt_get_size+0xb8> - 146d0: f816 3c01 ldrb.w r3, [r6, #-1] - 146d4: 2b0a cmp r3, #10 - 146d6: d013 beq.n 14700 <_lv_txt_get_size+0xdc> - 146d8: 2b0d cmp r3, #13 - 146da: d011 beq.n 14700 <_lv_txt_get_size+0xdc> + 14126: b12d cbz r5, 14134 <_lv_txt_get_size+0xb8> + 14128: f816 3c01 ldrb.w r3, [r6, #-1] + 1412c: 2b0a cmp r3, #10 + 1412e: d013 beq.n 14158 <_lv_txt_get_size+0xdc> + 14130: 2b0d cmp r3, #13 + 14132: d011 beq.n 14158 <_lv_txt_get_size+0xdc> if(size_res->y == 0) - 146dc: f9b4 3002 ldrsh.w r3, [r4, #2] - 146e0: b19b cbz r3, 1470a <_lv_txt_get_size+0xe6> + 14134: f9b4 3002 ldrsh.w r3, [r4, #2] + 14138: b19b cbz r3, 14162 <_lv_txt_get_size+0xe6> size_res->y -= line_space; - 146e2: 9a06 ldr r2, [sp, #24] - 146e4: 1a9b subs r3, r3, r2 - 146e6: 8063 strh r3, [r4, #2] - 146e8: e007 b.n 146fa <_lv_txt_get_size+0xd6> + 1413a: 9a06 ldr r2, [sp, #24] + 1413c: 1a9b subs r3, r3, r2 + 1413e: 8063 strh r3, [r4, #2] + 14140: e007 b.n 14152 <_lv_txt_get_size+0xd6> LV_LOG_WARN("lv_txt_get_size: integer overflow while calculating text height"); - 146ea: 4b0b ldr r3, [pc, #44] ; (14718 <_lv_txt_get_size+0xf4>) - 146ec: 9300 str r3, [sp, #0] - 146ee: 4b0b ldr r3, [pc, #44] ; (1471c <_lv_txt_get_size+0xf8>) - 146f0: 2271 movs r2, #113 ; 0x71 - 146f2: 490b ldr r1, [pc, #44] ; (14720 <_lv_txt_get_size+0xfc>) - 146f4: 2002 movs r0, #2 - 146f6: 4c0b ldr r4, [pc, #44] ; (14724 <_lv_txt_get_size+0x100>) - 146f8: 47a0 blx r4 -} - 146fa: b009 add sp, #36 ; 0x24 - 146fc: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 14142: 4b0b ldr r3, [pc, #44] ; (14170 <_lv_txt_get_size+0xf4>) + 14144: 9300 str r3, [sp, #0] + 14146: 4b0b ldr r3, [pc, #44] ; (14174 <_lv_txt_get_size+0xf8>) + 14148: 2271 movs r2, #113 ; 0x71 + 1414a: 490b ldr r1, [pc, #44] ; (14178 <_lv_txt_get_size+0xfc>) + 1414c: 2002 movs r0, #2 + 1414e: 4c0b ldr r4, [pc, #44] ; (1417c <_lv_txt_get_size+0x100>) + 14150: 47a0 blx r4 +} + 14152: b009 add sp, #36 ; 0x24 + 14154: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} size_res->y += letter_height + line_space; - 14700: 8863 ldrh r3, [r4, #2] - 14702: 9a05 ldr r2, [sp, #20] - 14704: 441a add r2, r3 - 14706: 8062 strh r2, [r4, #2] - 14708: e7e8 b.n 146dc <_lv_txt_get_size+0xb8> + 14158: 8863 ldrh r3, [r4, #2] + 1415a: 9a05 ldr r2, [sp, #20] + 1415c: 441a add r2, r3 + 1415e: 8062 strh r2, [r4, #2] + 14160: e7e8 b.n 14134 <_lv_txt_get_size+0xb8> size_res->y = letter_height; - 1470a: f8bd 301c ldrh.w r3, [sp, #28] - 1470e: 8063 strh r3, [r4, #2] - 14710: e7f3 b.n 146fa <_lv_txt_get_size+0xd6> - 14712: bf00 nop - 14714: 00014585 .word 0x00014585 - 14718: 00020a28 .word 0x00020a28 - 1471c: 000209e4 .word 0x000209e4 - 14720: 00020a00 .word 0x00020a00 - 14724: 00012805 .word 0x00012805 - 14728: 00014359 .word 0x00014359 - -0001472c <_lv_utils_bsearch>: + 14162: f8bd 301c ldrh.w r3, [sp, #28] + 14166: 8063 strh r3, [r4, #2] + 14168: e7f3 b.n 14152 <_lv_txt_get_size+0xd6> + 1416a: bf00 nop + 1416c: 00013fdd .word 0x00013fdd + 14170: 00029544 .word 0x00029544 + 14174: 00029500 .word 0x00029500 + 14178: 0002951c .word 0x0002951c + 1417c: 0001225d .word 0x0001225d + 14180: 00013db1 .word 0x00013db1 + +00014184 <_lv_utils_bsearch>: * * @return a pointer to a matching item, or NULL if none exists. */ void * _lv_utils_bsearch(const void * key, const void * base, uint32_t n, uint32_t size, int32_t (*cmp)(const void * pRef, const void * pElement)) { - 1472c: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} - 14730: 4681 mov r9, r0 - 14732: 468a mov sl, r1 - 14734: 461f mov r7, r3 - 14736: f8dd 8020 ldr.w r8, [sp, #32] + 14184: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} + 14188: 4681 mov r9, r0 + 1418a: 468a mov sl, r1 + 1418c: 461f mov r7, r3 + 1418e: f8dd 8020 ldr.w r8, [sp, #32] const char * middle; int32_t c; for(middle = base; n != 0;) { - 1473a: 4614 mov r4, r2 - 1473c: b932 cbnz r2, 1474c <_lv_utils_bsearch+0x20> + 14192: 4614 mov r4, r2 + 14194: b932 cbnz r2, 141a4 <_lv_utils_bsearch+0x20> } else { return (char *)middle; } } return NULL; - 1473e: 2000 movs r0, #0 - 14740: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + 14196: 2000 movs r0, #0 + 14198: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} else if(c < 0) { - 14744: 2800 cmp r0, #0 - 14746: da14 bge.n 14772 <_lv_utils_bsearch+0x46> + 1419c: 2800 cmp r0, #0 + 1419e: da14 bge.n 141ca <_lv_utils_bsearch+0x46> n /= 2; - 14748: 462c mov r4, r5 + 141a0: 462c mov r4, r5 for(middle = base; n != 0;) { - 1474a: b17c cbz r4, 1476c <_lv_utils_bsearch+0x40> + 141a2: b17c cbz r4, 141c4 <_lv_utils_bsearch+0x40> middle += (n / 2) * size; - 1474c: 0865 lsrs r5, r4, #1 - 1474e: fb07 a605 mla r6, r7, r5, sl + 141a4: 0865 lsrs r5, r4, #1 + 141a6: fb07 a605 mla r6, r7, r5, sl if((c = (*cmp)(key, middle)) > 0) { - 14752: 4631 mov r1, r6 - 14754: 4648 mov r0, r9 - 14756: 47c0 blx r8 - 14758: 2800 cmp r0, #0 - 1475a: ddf3 ble.n 14744 <_lv_utils_bsearch+0x18> + 141aa: 4631 mov r1, r6 + 141ac: 4648 mov r0, r9 + 141ae: 47c0 blx r8 + 141b0: 2800 cmp r0, #0 + 141b2: ddf3 ble.n 1419c <_lv_utils_bsearch+0x18> n = (n / 2) - ((n & 1) == 0); - 1475c: f084 0401 eor.w r4, r4, #1 - 14760: f004 0401 and.w r4, r4, #1 - 14764: 1b2c subs r4, r5, r4 + 141b4: f084 0401 eor.w r4, r4, #1 + 141b8: f004 0401 and.w r4, r4, #1 + 141bc: 1b2c subs r4, r5, r4 base = (middle += size); - 14766: eb06 0a07 add.w sl, r6, r7 - 1476a: e7ee b.n 1474a <_lv_utils_bsearch+0x1e> + 141be: eb06 0a07 add.w sl, r6, r7 + 141c2: e7ee b.n 141a2 <_lv_utils_bsearch+0x1e> return NULL; - 1476c: 2000 movs r0, #0 - 1476e: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + 141c4: 2000 movs r0, #0 + 141c6: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} middle += (n / 2) * size; - 14772: 4630 mov r0, r6 + 141ca: 4630 mov r0, r6 } - 14774: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + 141cc: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} -00014778 : +000141d0 : * From now, all the created objects will use styles from this theme by default * @param th pointer to theme (return value of: 'lv_theme_init_xxx()') */ void lv_theme_set_act(lv_theme_t * th) { act_theme = th; - 14778: 4b01 ldr r3, [pc, #4] ; (14780 ) - 1477a: 6018 str r0, [r3, #0] - 1477c: 4770 bx lr - 1477e: bf00 nop - 14780: 20006bd4 .word 0x20006bd4 + 141d0: 4b01 ldr r3, [pc, #4] ; (141d8 ) + 141d2: 6018 str r0, [r3, #0] + 141d4: 4770 bx lr + 141d6: bf00 nop + 141d8: 20006bd4 .word 0x20006bd4 -00014784 : +000141dc : * Get the normal font of the theme * @return pointer to the font */ const lv_font_t * lv_theme_get_font_normal(void) { return act_theme->font_normal; - 14784: 4b01 ldr r3, [pc, #4] ; (1478c ) - 14786: 681b ldr r3, [r3, #0] + 141dc: 4b01 ldr r3, [pc, #4] ; (141e4 ) + 141de: 681b ldr r3, [r3, #0] } - 14788: 68d8 ldr r0, [r3, #12] - 1478a: 4770 bx lr - 1478c: 20006bd4 .word 0x20006bd4 + 141e0: 68d8 ldr r0, [r3, #12] + 141e2: 4770 bx lr + 141e4: 20006bd4 .word 0x20006bd4 -00014790 : +000141e8 : { return act_theme->flags; } void lv_theme_apply(lv_obj_t * obj, lv_theme_style_t name) { - 14790: b508 push {r3, lr} + 141e8: b508 push {r3, lr} act_theme->apply_xcb(obj, name); - 14792: 4b02 ldr r3, [pc, #8] ; (1479c ) - 14794: 681b ldr r3, [r3, #0] - 14796: 681b ldr r3, [r3, #0] - 14798: 4798 blx r3 - 1479a: bd08 pop {r3, pc} - 1479c: 20006bd4 .word 0x20006bd4 - -000147a0 : + 141ea: 4b02 ldr r3, [pc, #8] ; (141f4 ) + 141ec: 681b ldr r3, [r3, #0] + 141ee: 681b ldr r3, [r3, #0] + 141f0: 4798 blx r3 + 141f2: bd08 pop {r3, pc} + 141f4: 20006bd4 .word 0x20006bd4 + +000141f8 : return &theme; } static void theme_apply(lv_obj_t * obj, lv_theme_style_t name) { - 147a0: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} - 147a4: 4604 mov r4, r0 + 141f8: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} + 141fc: 4604 mov r4, r0 lv_style_list_t * list; switch(name) { - 147a6: 3901 subs r1, #1 - 147a8: 2927 cmp r1, #39 ; 0x27 - 147aa: d834 bhi.n 14816 - 147ac: e8df f011 tbh [pc, r1, lsl #1] - 147b0: 00390028 .word 0x00390028 - 147b4: 00a100ec .word 0x00a100ec - 147b8: 00600053 .word 0x00600053 - 147bc: 00d803a3 .word 0x00d803a3 - 147c0: 02b20144 .word 0x02b20144 - 147c4: 03cc0046 .word 0x03cc0046 - 147c8: 03fe0273 .word 0x03fe0273 - 147cc: 00e000dc .word 0x00e000dc - 147d0: 00e40081 .word 0x00e40081 - 147d4: 00e80193 .word 0x00e80193 - 147d8: 02660247 .word 0x02660247 - 147dc: 016a03e3 .word 0x016a03e3 - 147e0: 023f017c .word 0x023f017c - 147e4: 022301a0 .word 0x022301a0 - 147e8: 0375011f .word 0x0375011f - 147ec: 01080391 .word 0x01080391 - 147f0: 02e000b8 .word 0x02e000b8 - 147f4: 01f401c9 .word 0x01f401c9 - 147f8: 02040347 .word 0x02040347 - 147fc: 033a0312 .word 0x033a0312 + 141fe: 3901 subs r1, #1 + 14200: 2927 cmp r1, #39 ; 0x27 + 14202: d834 bhi.n 1426e + 14204: e8df f011 tbh [pc, r1, lsl #1] + 14208: 00390028 .word 0x00390028 + 1420c: 00a100ec .word 0x00a100ec + 14210: 00600053 .word 0x00600053 + 14214: 00d803a3 .word 0x00d803a3 + 14218: 02b20144 .word 0x02b20144 + 1421c: 03cc0046 .word 0x03cc0046 + 14220: 03fe0273 .word 0x03fe0273 + 14224: 00e000dc .word 0x00e000dc + 14228: 00e40081 .word 0x00e40081 + 1422c: 00e80193 .word 0x00e80193 + 14230: 02660247 .word 0x02660247 + 14234: 016a03e3 .word 0x016a03e3 + 14238: 023f017c .word 0x023f017c + 1423c: 022301a0 .word 0x022301a0 + 14240: 0375011f .word 0x0375011f + 14244: 01080391 .word 0x01080391 + 14248: 02e000b8 .word 0x02e000b8 + 1424c: 01f401c9 .word 0x01f401c9 + 14250: 02040347 .word 0x02040347 + 14254: 033a0312 .word 0x033a0312 case LV_THEME_NONE: break; case LV_THEME_SCR: lv_obj_clean_style_list(obj, LV_OBJ_PART_MAIN); - 14800: 2100 movs r1, #0 - 14802: 4b9b ldr r3, [pc, #620] ; (14a70 ) - 14804: 4798 blx r3 + 14258: 2100 movs r1, #0 + 1425a: 4b9b ldr r3, [pc, #620] ; (144c8 ) + 1425c: 4798 blx r3 list = lv_obj_get_style_list(obj, LV_OBJ_PART_MAIN); - 14806: 2100 movs r1, #0 - 14808: 4620 mov r0, r4 - 1480a: 4b9a ldr r3, [pc, #616] ; (14a74 ) - 1480c: 4798 blx r3 + 1425e: 2100 movs r1, #0 + 14260: 4620 mov r0, r4 + 14262: 4b9a ldr r3, [pc, #616] ; (144cc ) + 14264: 4798 blx r3 _lv_style_list_add_style(list, &styles->scr); - 1480e: 4b9a ldr r3, [pc, #616] ; (14a78 ) - 14810: 6819 ldr r1, [r3, #0] - 14812: 4b9a ldr r3, [pc, #616] ; (14a7c ) - 14814: 4798 blx r3 + 14266: 4b9a ldr r3, [pc, #616] ; (144d0 ) + 14268: 6819 ldr r1, [r3, #0] + 1426a: 4b9a ldr r3, [pc, #616] ; (144d4 ) + 1426c: 4798 blx r3 #endif default: break; } lv_obj_refresh_style(obj, LV_STYLE_PROP_ALL); - 14816: 21ff movs r1, #255 ; 0xff - 14818: 4620 mov r0, r4 - 1481a: 4b99 ldr r3, [pc, #612] ; (14a80 ) - 1481c: 4798 blx r3 - 1481e: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} + 1426e: 21ff movs r1, #255 ; 0xff + 14270: 4620 mov r0, r4 + 14272: 4b99 ldr r3, [pc, #612] ; (144d8 ) + 14274: 4798 blx r3 + 14276: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} lv_obj_clean_style_list(obj, LV_OBJ_PART_MAIN); - 14822: 2100 movs r1, #0 - 14824: 4b92 ldr r3, [pc, #584] ; (14a70 ) - 14826: 4798 blx r3 + 1427a: 2100 movs r1, #0 + 1427c: 4b92 ldr r3, [pc, #584] ; (144c8 ) + 1427e: 4798 blx r3 list = lv_obj_get_style_list(obj, LV_OBJ_PART_MAIN); - 14828: 2100 movs r1, #0 - 1482a: 4620 mov r0, r4 - 1482c: 4b91 ldr r3, [pc, #580] ; (14a74 ) - 1482e: 4798 blx r3 + 14280: 2100 movs r1, #0 + 14282: 4620 mov r0, r4 + 14284: 4b91 ldr r3, [pc, #580] ; (144cc ) + 14286: 4798 blx r3 _lv_style_list_add_style(list, &styles->bg); - 14830: 4b91 ldr r3, [pc, #580] ; (14a78 ) - 14832: 6819 ldr r1, [r3, #0] - 14834: 3104 adds r1, #4 - 14836: 4b91 ldr r3, [pc, #580] ; (14a7c ) - 14838: 4798 blx r3 + 14288: 4b91 ldr r3, [pc, #580] ; (144d0 ) + 1428a: 6819 ldr r1, [r3, #0] + 1428c: 3104 adds r1, #4 + 1428e: 4b91 ldr r3, [pc, #580] ; (144d4 ) + 14290: 4798 blx r3 break; - 1483a: e7ec b.n 14816 + 14292: e7ec b.n 1426e lv_obj_clean_style_list(obj, LV_OBJ_PART_MAIN); - 1483c: 2100 movs r1, #0 - 1483e: 4b8c ldr r3, [pc, #560] ; (14a70 ) - 14840: 4798 blx r3 + 14294: 2100 movs r1, #0 + 14296: 4b8c ldr r3, [pc, #560] ; (144c8 ) + 14298: 4798 blx r3 list = lv_obj_get_style_list(obj, LV_CONT_PART_MAIN); - 14842: 2100 movs r1, #0 - 14844: 4620 mov r0, r4 - 14846: 4b8b ldr r3, [pc, #556] ; (14a74 ) - 14848: 4798 blx r3 + 1429a: 2100 movs r1, #0 + 1429c: 4620 mov r0, r4 + 1429e: 4b8b ldr r3, [pc, #556] ; (144cc ) + 142a0: 4798 blx r3 _lv_style_list_add_style(list, &styles->bg); - 1484a: 4b8b ldr r3, [pc, #556] ; (14a78 ) - 1484c: 6819 ldr r1, [r3, #0] - 1484e: 3104 adds r1, #4 - 14850: 4b8a ldr r3, [pc, #552] ; (14a7c ) - 14852: 4798 blx r3 + 142a2: 4b8b ldr r3, [pc, #556] ; (144d0 ) + 142a4: 6819 ldr r1, [r3, #0] + 142a6: 3104 adds r1, #4 + 142a8: 4b8a ldr r3, [pc, #552] ; (144d4 ) + 142aa: 4798 blx r3 break; - 14854: e7df b.n 14816 + 142ac: e7df b.n 1426e lv_obj_clean_style_list(obj, LV_BTN_PART_MAIN); - 14856: 2100 movs r1, #0 - 14858: 4b85 ldr r3, [pc, #532] ; (14a70 ) - 1485a: 4798 blx r3 + 142ae: 2100 movs r1, #0 + 142b0: 4b85 ldr r3, [pc, #532] ; (144c8 ) + 142b2: 4798 blx r3 list = lv_obj_get_style_list(obj, LV_BTN_PART_MAIN); - 1485c: 2100 movs r1, #0 - 1485e: 4620 mov r0, r4 - 14860: 4b84 ldr r3, [pc, #528] ; (14a74 ) - 14862: 4798 blx r3 + 142b4: 2100 movs r1, #0 + 142b6: 4620 mov r0, r4 + 142b8: 4b84 ldr r3, [pc, #528] ; (144cc ) + 142ba: 4798 blx r3 _lv_style_list_add_style(list, &styles->btn); - 14864: 4b84 ldr r3, [pc, #528] ; (14a78 ) - 14866: 6819 ldr r1, [r3, #0] - 14868: 3110 adds r1, #16 - 1486a: 4b84 ldr r3, [pc, #528] ; (14a7c ) - 1486c: 4798 blx r3 + 142bc: 4b84 ldr r3, [pc, #528] ; (144d0 ) + 142be: 6819 ldr r1, [r3, #0] + 142c0: 3110 adds r1, #16 + 142c2: 4b84 ldr r3, [pc, #528] ; (144d4 ) + 142c4: 4798 blx r3 break; - 1486e: e7d2 b.n 14816 + 142c6: e7d2 b.n 1426e lv_obj_clean_style_list(obj, LV_BTNMATRIX_PART_BG); - 14870: 2100 movs r1, #0 - 14872: f8df 81fc ldr.w r8, [pc, #508] ; 14a70 - 14876: 47c0 blx r8 + 142c8: 2100 movs r1, #0 + 142ca: f8df 81fc ldr.w r8, [pc, #508] ; 144c8 + 142ce: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_BTNMATRIX_PART_BG); - 14878: 2100 movs r1, #0 - 1487a: 4620 mov r0, r4 - 1487c: 4f7d ldr r7, [pc, #500] ; (14a74 ) - 1487e: 47b8 blx r7 - 14880: 4681 mov r9, r0 + 142d0: 2100 movs r1, #0 + 142d2: 4620 mov r0, r4 + 142d4: 4f7d ldr r7, [pc, #500] ; (144cc ) + 142d6: 47b8 blx r7 + 142d8: 4681 mov r9, r0 _lv_style_list_add_style(list, &styles->bg); - 14882: 4e7d ldr r6, [pc, #500] ; (14a78 ) - 14884: 6831 ldr r1, [r6, #0] - 14886: 3104 adds r1, #4 - 14888: 4d7c ldr r5, [pc, #496] ; (14a7c ) - 1488a: 47a8 blx r5 + 142da: 4e7d ldr r6, [pc, #500] ; (144d0 ) + 142dc: 6831 ldr r1, [r6, #0] + 142de: 3104 adds r1, #4 + 142e0: 4d7c ldr r5, [pc, #496] ; (144d4 ) + 142e2: 47a8 blx r5 _lv_style_list_add_style(list, &styles->pad_small); - 1488c: 6831 ldr r1, [r6, #0] - 1488e: 3118 adds r1, #24 - 14890: 4648 mov r0, r9 - 14892: 47a8 blx r5 + 142e4: 6831 ldr r1, [r6, #0] + 142e6: 3118 adds r1, #24 + 142e8: 4648 mov r0, r9 + 142ea: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_BTNMATRIX_PART_BTN); - 14894: 2101 movs r1, #1 - 14896: 4620 mov r0, r4 - 14898: 47c0 blx r8 + 142ec: 2101 movs r1, #1 + 142ee: 4620 mov r0, r4 + 142f0: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_BTNMATRIX_PART_BTN); - 1489a: 2101 movs r1, #1 - 1489c: 4620 mov r0, r4 - 1489e: 47b8 blx r7 - 148a0: 4607 mov r7, r0 + 142f2: 2101 movs r1, #1 + 142f4: 4620 mov r0, r4 + 142f6: 47b8 blx r7 + 142f8: 4607 mov r7, r0 _lv_style_list_add_style(list, &styles->bg); - 148a2: 6831 ldr r1, [r6, #0] - 148a4: 3104 adds r1, #4 - 148a6: 47a8 blx r5 + 142fa: 6831 ldr r1, [r6, #0] + 142fc: 3104 adds r1, #4 + 142fe: 47a8 blx r5 _lv_style_list_add_style(list, &styles->bg_click); - 148a8: 6831 ldr r1, [r6, #0] - 148aa: 3108 adds r1, #8 - 148ac: 4638 mov r0, r7 - 148ae: 47a8 blx r5 + 14300: 6831 ldr r1, [r6, #0] + 14302: 3108 adds r1, #8 + 14304: 4638 mov r0, r7 + 14306: 47a8 blx r5 break; - 148b0: e7b1 b.n 14816 + 14308: e7b1 b.n 1426e lv_obj_clean_style_list(obj, LV_KEYBOARD_PART_BG); - 148b2: 2100 movs r1, #0 - 148b4: f8df 81b8 ldr.w r8, [pc, #440] ; 14a70 - 148b8: 47c0 blx r8 + 1430a: 2100 movs r1, #0 + 1430c: f8df 81b8 ldr.w r8, [pc, #440] ; 144c8 + 14310: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_KEYBOARD_PART_BG); - 148ba: 2100 movs r1, #0 - 148bc: 4620 mov r0, r4 - 148be: 4f6d ldr r7, [pc, #436] ; (14a74 ) - 148c0: 47b8 blx r7 - 148c2: 4681 mov r9, r0 + 14312: 2100 movs r1, #0 + 14314: 4620 mov r0, r4 + 14316: 4f6d ldr r7, [pc, #436] ; (144cc ) + 14318: 47b8 blx r7 + 1431a: 4681 mov r9, r0 _lv_style_list_add_style(list, &styles->scr); - 148c4: 4e6c ldr r6, [pc, #432] ; (14a78 ) - 148c6: 6831 ldr r1, [r6, #0] - 148c8: 4d6c ldr r5, [pc, #432] ; (14a7c ) - 148ca: 47a8 blx r5 + 1431c: 4e6c ldr r6, [pc, #432] ; (144d0 ) + 1431e: 6831 ldr r1, [r6, #0] + 14320: 4d6c ldr r5, [pc, #432] ; (144d4 ) + 14322: 47a8 blx r5 _lv_style_list_add_style(list, &styles->kb_bg); - 148cc: 6831 ldr r1, [r6, #0] - 148ce: 3168 adds r1, #104 ; 0x68 - 148d0: 4648 mov r0, r9 - 148d2: 47a8 blx r5 + 14324: 6831 ldr r1, [r6, #0] + 14326: 3168 adds r1, #104 ; 0x68 + 14328: 4648 mov r0, r9 + 1432a: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_KEYBOARD_PART_BTN); - 148d4: 2101 movs r1, #1 - 148d6: 4620 mov r0, r4 - 148d8: 47c0 blx r8 + 1432c: 2101 movs r1, #1 + 1432e: 4620 mov r0, r4 + 14330: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_KEYBOARD_PART_BTN); - 148da: 2101 movs r1, #1 - 148dc: 4620 mov r0, r4 - 148de: 47b8 blx r7 - 148e0: 4607 mov r7, r0 + 14332: 2101 movs r1, #1 + 14334: 4620 mov r0, r4 + 14336: 47b8 blx r7 + 14338: 4607 mov r7, r0 _lv_style_list_add_style(list, &styles->bg); - 148e2: 6831 ldr r1, [r6, #0] - 148e4: 3104 adds r1, #4 - 148e6: 47a8 blx r5 + 1433a: 6831 ldr r1, [r6, #0] + 1433c: 3104 adds r1, #4 + 1433e: 47a8 blx r5 _lv_style_list_add_style(list, &styles->bg_click); - 148e8: 6831 ldr r1, [r6, #0] - 148ea: 3108 adds r1, #8 - 148ec: 4638 mov r0, r7 - 148ee: 47a8 blx r5 + 14340: 6831 ldr r1, [r6, #0] + 14342: 3108 adds r1, #8 + 14344: 4638 mov r0, r7 + 14346: 47a8 blx r5 break; - 148f0: e791 b.n 14816 + 14348: e791 b.n 1426e lv_obj_clean_style_list(obj, LV_BAR_PART_BG); - 148f2: 2100 movs r1, #0 - 148f4: f8df 8178 ldr.w r8, [pc, #376] ; 14a70 - 148f8: 47c0 blx r8 + 1434a: 2100 movs r1, #0 + 1434c: f8df 8178 ldr.w r8, [pc, #376] ; 144c8 + 14350: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_BAR_PART_BG); - 148fa: 2100 movs r1, #0 - 148fc: 4620 mov r0, r4 - 148fe: 4f5d ldr r7, [pc, #372] ; (14a74 ) - 14900: 47b8 blx r7 + 14352: 2100 movs r1, #0 + 14354: 4620 mov r0, r4 + 14356: 4f5d ldr r7, [pc, #372] ; (144cc ) + 14358: 47b8 blx r7 _lv_style_list_add_style(list, &styles->bar_bg); - 14902: 4e5d ldr r6, [pc, #372] ; (14a78 ) - 14904: 6831 ldr r1, [r6, #0] - 14906: 3124 adds r1, #36 ; 0x24 - 14908: 4d5c ldr r5, [pc, #368] ; (14a7c ) - 1490a: 47a8 blx r5 + 1435a: 4e5d ldr r6, [pc, #372] ; (144d0 ) + 1435c: 6831 ldr r1, [r6, #0] + 1435e: 3124 adds r1, #36 ; 0x24 + 14360: 4d5c ldr r5, [pc, #368] ; (144d4 ) + 14362: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_BAR_PART_INDIC); - 1490c: 2101 movs r1, #1 - 1490e: 4620 mov r0, r4 - 14910: 47c0 blx r8 + 14364: 2101 movs r1, #1 + 14366: 4620 mov r0, r4 + 14368: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_BAR_PART_INDIC); - 14912: 2101 movs r1, #1 - 14914: 4620 mov r0, r4 - 14916: 47b8 blx r7 + 1436a: 2101 movs r1, #1 + 1436c: 4620 mov r0, r4 + 1436e: 47b8 blx r7 _lv_style_list_add_style(list, &styles->bar_indic); - 14918: 6831 ldr r1, [r6, #0] - 1491a: 3128 adds r1, #40 ; 0x28 - 1491c: 47a8 blx r5 + 14370: 6831 ldr r1, [r6, #0] + 14372: 3128 adds r1, #40 ; 0x28 + 14374: 47a8 blx r5 break; - 1491e: e77a b.n 14816 + 14376: e77a b.n 1426e lv_obj_clean_style_list(obj, LV_SWITCH_PART_BG); - 14920: 2100 movs r1, #0 - 14922: f8df 814c ldr.w r8, [pc, #332] ; 14a70 - 14926: 47c0 blx r8 + 14378: 2100 movs r1, #0 + 1437a: f8df 814c ldr.w r8, [pc, #332] ; 144c8 + 1437e: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_SWITCH_PART_BG); - 14928: 2100 movs r1, #0 - 1492a: 4620 mov r0, r4 - 1492c: 4f51 ldr r7, [pc, #324] ; (14a74 ) - 1492e: 47b8 blx r7 + 14380: 2100 movs r1, #0 + 14382: 4620 mov r0, r4 + 14384: 4f51 ldr r7, [pc, #324] ; (144cc ) + 14386: 47b8 blx r7 _lv_style_list_add_style(list, &styles->bar_bg); - 14930: 4e51 ldr r6, [pc, #324] ; (14a78 ) - 14932: 6831 ldr r1, [r6, #0] - 14934: 3124 adds r1, #36 ; 0x24 - 14936: 4d51 ldr r5, [pc, #324] ; (14a7c ) - 14938: 47a8 blx r5 + 14388: 4e51 ldr r6, [pc, #324] ; (144d0 ) + 1438a: 6831 ldr r1, [r6, #0] + 1438c: 3124 adds r1, #36 ; 0x24 + 1438e: 4d51 ldr r5, [pc, #324] ; (144d4 ) + 14390: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_SWITCH_PART_INDIC); - 1493a: 2101 movs r1, #1 - 1493c: 4620 mov r0, r4 - 1493e: 47c0 blx r8 + 14392: 2101 movs r1, #1 + 14394: 4620 mov r0, r4 + 14396: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_SWITCH_PART_INDIC); - 14940: 2101 movs r1, #1 - 14942: 4620 mov r0, r4 - 14944: 47b8 blx r7 + 14398: 2101 movs r1, #1 + 1439a: 4620 mov r0, r4 + 1439c: 47b8 blx r7 _lv_style_list_add_style(list, &styles->bar_indic); - 14946: 6831 ldr r1, [r6, #0] - 14948: 3128 adds r1, #40 ; 0x28 - 1494a: 47a8 blx r5 + 1439e: 6831 ldr r1, [r6, #0] + 143a0: 3128 adds r1, #40 ; 0x28 + 143a2: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_SWITCH_PART_KNOB); - 1494c: 2102 movs r1, #2 - 1494e: 4620 mov r0, r4 - 14950: 47c0 blx r8 + 143a4: 2102 movs r1, #2 + 143a6: 4620 mov r0, r4 + 143a8: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_SWITCH_PART_KNOB); - 14952: 2102 movs r1, #2 - 14954: 4620 mov r0, r4 - 14956: 47b8 blx r7 + 143aa: 2102 movs r1, #2 + 143ac: 4620 mov r0, r4 + 143ae: 47b8 blx r7 _lv_style_list_add_style(list, &styles->sw_knob); - 14958: 6831 ldr r1, [r6, #0] - 1495a: 319c adds r1, #156 ; 0x9c - 1495c: 47a8 blx r5 + 143b0: 6831 ldr r1, [r6, #0] + 143b2: 319c adds r1, #156 ; 0x9c + 143b4: 47a8 blx r5 break; - 1495e: e75a b.n 14816 + 143b6: e75a b.n 1426e lv_obj_clean_style_list(obj, LV_CANVAS_PART_MAIN); - 14960: 2100 movs r1, #0 - 14962: 4b43 ldr r3, [pc, #268] ; (14a70 ) - 14964: 4798 blx r3 + 143b8: 2100 movs r1, #0 + 143ba: 4b43 ldr r3, [pc, #268] ; (144c8 ) + 143bc: 4798 blx r3 break; - 14966: e756 b.n 14816 + 143be: e756 b.n 1426e lv_obj_clean_style_list(obj, LV_IMG_PART_MAIN); - 14968: 2100 movs r1, #0 - 1496a: 4b41 ldr r3, [pc, #260] ; (14a70 ) - 1496c: 4798 blx r3 + 143c0: 2100 movs r1, #0 + 143c2: 4b41 ldr r3, [pc, #260] ; (144c8 ) + 143c4: 4798 blx r3 break; - 1496e: e752 b.n 14816 + 143c6: e752 b.n 1426e lv_obj_clean_style_list(obj, LV_IMG_PART_MAIN); - 14970: 2100 movs r1, #0 - 14972: 4b3f ldr r3, [pc, #252] ; (14a70 ) - 14974: 4798 blx r3 + 143c8: 2100 movs r1, #0 + 143ca: 4b3f ldr r3, [pc, #252] ; (144c8 ) + 143cc: 4798 blx r3 break; - 14976: e74e b.n 14816 + 143ce: e74e b.n 1426e lv_obj_clean_style_list(obj, LV_LABEL_PART_MAIN); - 14978: 2100 movs r1, #0 - 1497a: 4b3d ldr r3, [pc, #244] ; (14a70 ) - 1497c: 4798 blx r3 + 143d0: 2100 movs r1, #0 + 143d2: 4b3d ldr r3, [pc, #244] ; (144c8 ) + 143d4: 4798 blx r3 break; - 1497e: e74a b.n 14816 + 143d6: e74a b.n 1426e lv_obj_clean_style_list(obj, LV_LABEL_PART_MAIN); - 14980: 2100 movs r1, #0 - 14982: 4b3b ldr r3, [pc, #236] ; (14a70 ) - 14984: 4798 blx r3 + 143d8: 2100 movs r1, #0 + 143da: 4b3b ldr r3, [pc, #236] ; (144c8 ) + 143dc: 4798 blx r3 break; - 14986: e746 b.n 14816 + 143de: e746 b.n 1426e lv_obj_clean_style_list(obj, LV_ARC_PART_BG); - 14988: 2100 movs r1, #0 - 1498a: f8df 80e4 ldr.w r8, [pc, #228] ; 14a70 - 1498e: 47c0 blx r8 + 143e0: 2100 movs r1, #0 + 143e2: f8df 80e4 ldr.w r8, [pc, #228] ; 144c8 + 143e6: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_ARC_PART_BG); - 14990: 2100 movs r1, #0 - 14992: 4620 mov r0, r4 - 14994: 4f37 ldr r7, [pc, #220] ; (14a74 ) - 14996: 47b8 blx r7 - 14998: 4681 mov r9, r0 + 143e8: 2100 movs r1, #0 + 143ea: 4620 mov r0, r4 + 143ec: 4f37 ldr r7, [pc, #220] ; (144cc ) + 143ee: 47b8 blx r7 + 143f0: 4681 mov r9, r0 _lv_style_list_add_style(list, &styles->bg); - 1499a: 4e37 ldr r6, [pc, #220] ; (14a78 ) - 1499c: 6831 ldr r1, [r6, #0] - 1499e: 3104 adds r1, #4 - 149a0: 4d36 ldr r5, [pc, #216] ; (14a7c ) - 149a2: 47a8 blx r5 + 143f2: 4e37 ldr r6, [pc, #220] ; (144d0 ) + 143f4: 6831 ldr r1, [r6, #0] + 143f6: 3104 adds r1, #4 + 143f8: 4d36 ldr r5, [pc, #216] ; (144d4 ) + 143fa: 47a8 blx r5 _lv_style_list_add_style(list, &styles->arc_bg); - 149a4: 6831 ldr r1, [r6, #0] - 149a6: 3120 adds r1, #32 - 149a8: 4648 mov r0, r9 - 149aa: 47a8 blx r5 + 143fc: 6831 ldr r1, [r6, #0] + 143fe: 3120 adds r1, #32 + 14400: 4648 mov r0, r9 + 14402: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_ARC_PART_INDIC); - 149ac: 2101 movs r1, #1 - 149ae: 4620 mov r0, r4 - 149b0: 47c0 blx r8 + 14404: 2101 movs r1, #1 + 14406: 4620 mov r0, r4 + 14408: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_ARC_PART_INDIC); - 149b2: 2101 movs r1, #1 - 149b4: 4620 mov r0, r4 - 149b6: 47b8 blx r7 + 1440a: 2101 movs r1, #1 + 1440c: 4620 mov r0, r4 + 1440e: 47b8 blx r7 _lv_style_list_add_style(list, &styles->arc_indic); - 149b8: 6831 ldr r1, [r6, #0] - 149ba: 311c adds r1, #28 - 149bc: 47a8 blx r5 + 14410: 6831 ldr r1, [r6, #0] + 14412: 311c adds r1, #28 + 14414: 47a8 blx r5 break; - 149be: e72a b.n 14816 + 14416: e72a b.n 1426e lv_obj_clean_style_list(obj, LV_SPINNER_PART_BG); - 149c0: 2100 movs r1, #0 - 149c2: f8df 80ac ldr.w r8, [pc, #172] ; 14a70 - 149c6: 47c0 blx r8 + 14418: 2100 movs r1, #0 + 1441a: f8df 80ac ldr.w r8, [pc, #172] ; 144c8 + 1441e: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_SPINNER_PART_BG); - 149c8: 2100 movs r1, #0 - 149ca: 4620 mov r0, r4 - 149cc: 4f29 ldr r7, [pc, #164] ; (14a74 ) - 149ce: 47b8 blx r7 + 14420: 2100 movs r1, #0 + 14422: 4620 mov r0, r4 + 14424: 4f29 ldr r7, [pc, #164] ; (144cc ) + 14426: 47b8 blx r7 _lv_style_list_add_style(list, &styles->arc_bg); - 149d0: 4e29 ldr r6, [pc, #164] ; (14a78 ) - 149d2: 6831 ldr r1, [r6, #0] - 149d4: 3120 adds r1, #32 - 149d6: 4d29 ldr r5, [pc, #164] ; (14a7c ) - 149d8: 47a8 blx r5 + 14428: 4e29 ldr r6, [pc, #164] ; (144d0 ) + 1442a: 6831 ldr r1, [r6, #0] + 1442c: 3120 adds r1, #32 + 1442e: 4d29 ldr r5, [pc, #164] ; (144d4 ) + 14430: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_SPINNER_PART_INDIC); - 149da: 2101 movs r1, #1 - 149dc: 4620 mov r0, r4 - 149de: 47c0 blx r8 + 14432: 2101 movs r1, #1 + 14434: 4620 mov r0, r4 + 14436: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_SPINNER_PART_INDIC); - 149e0: 2101 movs r1, #1 - 149e2: 4620 mov r0, r4 - 149e4: 47b8 blx r7 + 14438: 2101 movs r1, #1 + 1443a: 4620 mov r0, r4 + 1443c: 47b8 blx r7 _lv_style_list_add_style(list, &styles->arc_indic); - 149e6: 6831 ldr r1, [r6, #0] - 149e8: 311c adds r1, #28 - 149ea: 47a8 blx r5 + 1443e: 6831 ldr r1, [r6, #0] + 14440: 311c adds r1, #28 + 14442: 47a8 blx r5 break; - 149ec: e713 b.n 14816 + 14444: e713 b.n 1426e lv_obj_clean_style_list(obj, LV_SLIDER_PART_BG); - 149ee: 2100 movs r1, #0 - 149f0: f8df 807c ldr.w r8, [pc, #124] ; 14a70 - 149f4: 47c0 blx r8 + 14446: 2100 movs r1, #0 + 14448: f8df 807c ldr.w r8, [pc, #124] ; 144c8 + 1444c: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_SLIDER_PART_BG); - 149f6: 2100 movs r1, #0 - 149f8: 4620 mov r0, r4 - 149fa: 4f1e ldr r7, [pc, #120] ; (14a74 ) - 149fc: 47b8 blx r7 - 149fe: 4681 mov r9, r0 + 1444e: 2100 movs r1, #0 + 14450: 4620 mov r0, r4 + 14452: 4f1e ldr r7, [pc, #120] ; (144cc ) + 14454: 47b8 blx r7 + 14456: 4681 mov r9, r0 _lv_style_list_add_style(list, &styles->bar_bg); - 14a00: 4e1d ldr r6, [pc, #116] ; (14a78 ) - 14a02: 6831 ldr r1, [r6, #0] - 14a04: 3124 adds r1, #36 ; 0x24 - 14a06: 4d1d ldr r5, [pc, #116] ; (14a7c ) - 14a08: 47a8 blx r5 + 14458: 4e1d ldr r6, [pc, #116] ; (144d0 ) + 1445a: 6831 ldr r1, [r6, #0] + 1445c: 3124 adds r1, #36 ; 0x24 + 1445e: 4d1d ldr r5, [pc, #116] ; (144d4 ) + 14460: 47a8 blx r5 _lv_style_list_add_style(list, &styles->slider_bg); - 14a0a: 6831 ldr r1, [r6, #0] - 14a0c: 3194 adds r1, #148 ; 0x94 - 14a0e: 4648 mov r0, r9 - 14a10: 47a8 blx r5 + 14462: 6831 ldr r1, [r6, #0] + 14464: 3194 adds r1, #148 ; 0x94 + 14466: 4648 mov r0, r9 + 14468: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_SLIDER_PART_INDIC); - 14a12: 2101 movs r1, #1 - 14a14: 4620 mov r0, r4 - 14a16: 47c0 blx r8 + 1446a: 2101 movs r1, #1 + 1446c: 4620 mov r0, r4 + 1446e: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_SLIDER_PART_INDIC); - 14a18: 2101 movs r1, #1 - 14a1a: 4620 mov r0, r4 - 14a1c: 47b8 blx r7 + 14470: 2101 movs r1, #1 + 14472: 4620 mov r0, r4 + 14474: 47b8 blx r7 _lv_style_list_add_style(list, &styles->bar_indic); - 14a1e: 6831 ldr r1, [r6, #0] - 14a20: 3128 adds r1, #40 ; 0x28 - 14a22: 47a8 blx r5 + 14476: 6831 ldr r1, [r6, #0] + 14478: 3128 adds r1, #40 ; 0x28 + 1447a: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_SLIDER_PART_KNOB); - 14a24: 2102 movs r1, #2 - 14a26: 4620 mov r0, r4 - 14a28: 47c0 blx r8 + 1447c: 2102 movs r1, #2 + 1447e: 4620 mov r0, r4 + 14480: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_SLIDER_PART_KNOB); - 14a2a: 2102 movs r1, #2 - 14a2c: 4620 mov r0, r4 - 14a2e: 47b8 blx r7 + 14482: 2102 movs r1, #2 + 14484: 4620 mov r0, r4 + 14486: 47b8 blx r7 _lv_style_list_add_style(list, &styles->slider_knob); - 14a30: 6831 ldr r1, [r6, #0] - 14a32: 3190 adds r1, #144 ; 0x90 - 14a34: 47a8 blx r5 + 14488: 6831 ldr r1, [r6, #0] + 1448a: 3190 adds r1, #144 ; 0x90 + 1448c: 47a8 blx r5 break; - 14a36: e6ee b.n 14816 + 1448e: e6ee b.n 1426e lv_obj_clean_style_list(obj, LV_CHECKBOX_PART_BG); - 14a38: 2100 movs r1, #0 - 14a3a: f8df 8034 ldr.w r8, [pc, #52] ; 14a70 - 14a3e: 47c0 blx r8 + 14490: 2100 movs r1, #0 + 14492: f8df 8034 ldr.w r8, [pc, #52] ; 144c8 + 14496: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_CHECKBOX_PART_BG); - 14a40: 2100 movs r1, #0 - 14a42: 4620 mov r0, r4 - 14a44: 4f0b ldr r7, [pc, #44] ; (14a74 ) - 14a46: 47b8 blx r7 + 14498: 2100 movs r1, #0 + 1449a: 4620 mov r0, r4 + 1449c: 4f0b ldr r7, [pc, #44] ; (144cc ) + 1449e: 47b8 blx r7 _lv_style_list_add_style(list, &styles->cb_bg); - 14a48: 4e0b ldr r6, [pc, #44] ; (14a78 ) - 14a4a: 6831 ldr r1, [r6, #0] - 14a4c: 314c adds r1, #76 ; 0x4c - 14a4e: 4d0b ldr r5, [pc, #44] ; (14a7c ) - 14a50: 47a8 blx r5 + 144a0: 4e0b ldr r6, [pc, #44] ; (144d0 ) + 144a2: 6831 ldr r1, [r6, #0] + 144a4: 314c adds r1, #76 ; 0x4c + 144a6: 4d0b ldr r5, [pc, #44] ; (144d4 ) + 144a8: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_CHECKBOX_PART_BULLET); - 14a52: 2140 movs r1, #64 ; 0x40 - 14a54: 4620 mov r0, r4 - 14a56: 47c0 blx r8 + 144aa: 2140 movs r1, #64 ; 0x40 + 144ac: 4620 mov r0, r4 + 144ae: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_CHECKBOX_PART_BULLET); - 14a58: 2140 movs r1, #64 ; 0x40 - 14a5a: 4620 mov r0, r4 - 14a5c: 47b8 blx r7 - 14a5e: 4607 mov r7, r0 + 144b0: 2140 movs r1, #64 ; 0x40 + 144b2: 4620 mov r0, r4 + 144b4: 47b8 blx r7 + 144b6: 4607 mov r7, r0 _lv_style_list_add_style(list, &styles->btn); - 14a60: 6831 ldr r1, [r6, #0] - 14a62: 3110 adds r1, #16 - 14a64: 47a8 blx r5 + 144b8: 6831 ldr r1, [r6, #0] + 144ba: 3110 adds r1, #16 + 144bc: 47a8 blx r5 _lv_style_list_add_style(list, &styles->cb_bullet); - 14a66: 6831 ldr r1, [r6, #0] - 14a68: 3150 adds r1, #80 ; 0x50 - 14a6a: 4638 mov r0, r7 - 14a6c: 47a8 blx r5 + 144be: 6831 ldr r1, [r6, #0] + 144c0: 3150 adds r1, #80 ; 0x50 + 144c2: 4638 mov r0, r7 + 144c4: 47a8 blx r5 break; - 14a6e: e6d2 b.n 14816 - 14a70: 00003755 .word 0x00003755 - 14a74: 00003685 .word 0x00003685 - 14a78: 20006bd8 .word 0x20006bd8 - 14a7c: 00006b81 .word 0x00006b81 - 14a80: 00004121 .word 0x00004121 + 144c6: e6d2 b.n 1426e + 144c8: 000030cd .word 0x000030cd + 144cc: 00002ffd .word 0x00002ffd + 144d0: 20006bd8 .word 0x20006bd8 + 144d4: 000065d9 .word 0x000065d9 + 144d8: 00003a99 .word 0x00003a99 lv_obj_clean_style_list(obj, LV_MSGBOX_PART_BG); - 14a84: 2100 movs r1, #0 - 14a86: 4b9f ldr r3, [pc, #636] ; (14d04 ) - 14a88: 4798 blx r3 + 144dc: 2100 movs r1, #0 + 144de: 4b9f ldr r3, [pc, #636] ; (1475c ) + 144e0: 4798 blx r3 list = lv_obj_get_style_list(obj, LV_MSGBOX_PART_BG); - 14a8a: 2100 movs r1, #0 - 14a8c: 4620 mov r0, r4 - 14a8e: 4b9e ldr r3, [pc, #632] ; (14d08 ) - 14a90: 4798 blx r3 - 14a92: 4607 mov r7, r0 + 144e2: 2100 movs r1, #0 + 144e4: 4620 mov r0, r4 + 144e6: 4b9e ldr r3, [pc, #632] ; (14760 ) + 144e8: 4798 blx r3 + 144ea: 4607 mov r7, r0 _lv_style_list_add_style(list, &styles->bg); - 14a94: 4e9d ldr r6, [pc, #628] ; (14d0c ) - 14a96: 6831 ldr r1, [r6, #0] - 14a98: 3104 adds r1, #4 - 14a9a: 4d9d ldr r5, [pc, #628] ; (14d10 ) - 14a9c: 47a8 blx r5 + 144ec: 4e9d ldr r6, [pc, #628] ; (14764 ) + 144ee: 6831 ldr r1, [r6, #0] + 144f0: 3104 adds r1, #4 + 144f2: 4d9d ldr r5, [pc, #628] ; (14768 ) + 144f4: 47a8 blx r5 _lv_style_list_add_style(list, &styles->mbox_bg); - 14a9e: 6831 ldr r1, [r6, #0] - 14aa0: 317c adds r1, #124 ; 0x7c - 14aa2: 4638 mov r0, r7 - 14aa4: 47a8 blx r5 + 144f6: 6831 ldr r1, [r6, #0] + 144f8: 317c adds r1, #124 ; 0x7c + 144fa: 4638 mov r0, r7 + 144fc: 47a8 blx r5 break; - 14aa6: e6b6 b.n 14816 + 144fe: e6b6 b.n 1426e lv_obj_clean_style_list(obj, LV_MSGBOX_PART_BTN_BG); - 14aa8: 2140 movs r1, #64 ; 0x40 - 14aaa: f8df 8258 ldr.w r8, [pc, #600] ; 14d04 - 14aae: 47c0 blx r8 + 14500: 2140 movs r1, #64 ; 0x40 + 14502: f8df 8258 ldr.w r8, [pc, #600] ; 1475c + 14506: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_MSGBOX_PART_BTN_BG); - 14ab0: 2140 movs r1, #64 ; 0x40 - 14ab2: 4620 mov r0, r4 - 14ab4: 4f94 ldr r7, [pc, #592] ; (14d08 ) - 14ab6: 47b8 blx r7 + 14508: 2140 movs r1, #64 ; 0x40 + 1450a: 4620 mov r0, r4 + 1450c: 4f94 ldr r7, [pc, #592] ; (14760 ) + 1450e: 47b8 blx r7 _lv_style_list_add_style(list, &styles->pad_small); - 14ab8: 4e94 ldr r6, [pc, #592] ; (14d0c ) - 14aba: 6831 ldr r1, [r6, #0] - 14abc: 3118 adds r1, #24 - 14abe: 4d94 ldr r5, [pc, #592] ; (14d10 ) - 14ac0: 47a8 blx r5 + 14510: 4e94 ldr r6, [pc, #592] ; (14764 ) + 14512: 6831 ldr r1, [r6, #0] + 14514: 3118 adds r1, #24 + 14516: 4d94 ldr r5, [pc, #592] ; (14768 ) + 14518: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_MSGBOX_PART_BTN); - 14ac2: 2141 movs r1, #65 ; 0x41 - 14ac4: 4620 mov r0, r4 - 14ac6: 47c0 blx r8 + 1451a: 2141 movs r1, #65 ; 0x41 + 1451c: 4620 mov r0, r4 + 1451e: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_MSGBOX_PART_BTN); - 14ac8: 2141 movs r1, #65 ; 0x41 - 14aca: 4620 mov r0, r4 - 14acc: 47b8 blx r7 + 14520: 2141 movs r1, #65 ; 0x41 + 14522: 4620 mov r0, r4 + 14524: 47b8 blx r7 _lv_style_list_add_style(list, &styles->btn); - 14ace: 6831 ldr r1, [r6, #0] - 14ad0: 3110 adds r1, #16 - 14ad2: 47a8 blx r5 + 14526: 6831 ldr r1, [r6, #0] + 14528: 3110 adds r1, #16 + 1452a: 47a8 blx r5 break; - 14ad4: e69f b.n 14816 + 1452c: e69f b.n 1426e lv_obj_clean_style_list(obj, LV_LED_PART_MAIN); - 14ad6: 2100 movs r1, #0 - 14ad8: 4b8a ldr r3, [pc, #552] ; (14d04 ) - 14ada: 4798 blx r3 + 1452e: 2100 movs r1, #0 + 14530: 4b8a ldr r3, [pc, #552] ; (1475c ) + 14532: 4798 blx r3 list = lv_obj_get_style_list(obj, LV_LED_PART_MAIN); - 14adc: 2100 movs r1, #0 - 14ade: 4620 mov r0, r4 - 14ae0: 4b89 ldr r3, [pc, #548] ; (14d08 ) - 14ae2: 4798 blx r3 + 14534: 2100 movs r1, #0 + 14536: 4620 mov r0, r4 + 14538: 4b89 ldr r3, [pc, #548] ; (14760 ) + 1453a: 4798 blx r3 _lv_style_list_add_style(list, &styles->led); - 14ae4: 4b89 ldr r3, [pc, #548] ; (14d0c ) - 14ae6: 6819 ldr r1, [r3, #0] - 14ae8: 316c adds r1, #108 ; 0x6c - 14aea: 4b89 ldr r3, [pc, #548] ; (14d10 ) - 14aec: 4798 blx r3 + 1453c: 4b89 ldr r3, [pc, #548] ; (14764 ) + 1453e: 6819 ldr r1, [r3, #0] + 14540: 316c adds r1, #108 ; 0x6c + 14542: 4b89 ldr r3, [pc, #548] ; (14768 ) + 14544: 4798 blx r3 break; - 14aee: e692 b.n 14816 + 14546: e692 b.n 1426e lv_obj_clean_style_list(obj, LV_PAGE_PART_BG); - 14af0: 2100 movs r1, #0 - 14af2: f8df 8210 ldr.w r8, [pc, #528] ; 14d04 - 14af6: 47c0 blx r8 + 14548: 2100 movs r1, #0 + 1454a: f8df 8210 ldr.w r8, [pc, #528] ; 1475c + 1454e: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_PAGE_PART_BG); - 14af8: 2100 movs r1, #0 - 14afa: 4620 mov r0, r4 - 14afc: 4f82 ldr r7, [pc, #520] ; (14d08 ) - 14afe: 47b8 blx r7 + 14550: 2100 movs r1, #0 + 14552: 4620 mov r0, r4 + 14554: 4f82 ldr r7, [pc, #520] ; (14760 ) + 14556: 47b8 blx r7 _lv_style_list_add_style(list, &styles->bg); - 14b00: 4e82 ldr r6, [pc, #520] ; (14d0c ) - 14b02: 6831 ldr r1, [r6, #0] - 14b04: 3104 adds r1, #4 - 14b06: 4d82 ldr r5, [pc, #520] ; (14d10 ) - 14b08: 47a8 blx r5 + 14558: 4e82 ldr r6, [pc, #520] ; (14764 ) + 1455a: 6831 ldr r1, [r6, #0] + 1455c: 3104 adds r1, #4 + 1455e: 4d82 ldr r5, [pc, #520] ; (14768 ) + 14560: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_PAGE_PART_SCROLLABLE); - 14b0a: 2140 movs r1, #64 ; 0x40 - 14b0c: 4620 mov r0, r4 - 14b0e: 47c0 blx r8 + 14562: 2140 movs r1, #64 ; 0x40 + 14564: 4620 mov r0, r4 + 14566: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_PAGE_PART_SCROLLABLE); - 14b10: 2140 movs r1, #64 ; 0x40 - 14b12: 4620 mov r0, r4 - 14b14: 47b8 blx r7 + 14568: 2140 movs r1, #64 ; 0x40 + 1456a: 4620 mov r0, r4 + 1456c: 47b8 blx r7 _lv_style_list_add_style(list, &styles->pad_inner); - 14b16: 6831 ldr r1, [r6, #0] - 14b18: 3114 adds r1, #20 - 14b1a: 47a8 blx r5 + 1456e: 6831 ldr r1, [r6, #0] + 14570: 3114 adds r1, #20 + 14572: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_PAGE_PART_SCROLLBAR); - 14b1c: 2101 movs r1, #1 - 14b1e: 4620 mov r0, r4 - 14b20: 47c0 blx r8 + 14574: 2101 movs r1, #1 + 14576: 4620 mov r0, r4 + 14578: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_PAGE_PART_SCROLLBAR); - 14b22: 2101 movs r1, #1 - 14b24: 4620 mov r0, r4 - 14b26: 47b8 blx r7 + 1457a: 2101 movs r1, #1 + 1457c: 4620 mov r0, r4 + 1457e: 47b8 blx r7 _lv_style_list_add_style(list, &styles->sb); - 14b28: 6831 ldr r1, [r6, #0] - 14b2a: 3180 adds r1, #128 ; 0x80 - 14b2c: 47a8 blx r5 + 14580: 6831 ldr r1, [r6, #0] + 14582: 3180 adds r1, #128 ; 0x80 + 14584: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_PAGE_PART_EDGE_FLASH); - 14b2e: 2102 movs r1, #2 - 14b30: 4620 mov r0, r4 - 14b32: 47c0 blx r8 + 14586: 2102 movs r1, #2 + 14588: 4620 mov r0, r4 + 1458a: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_PAGE_PART_EDGE_FLASH); - 14b34: 2102 movs r1, #2 - 14b36: 4620 mov r0, r4 - 14b38: 47b8 blx r7 + 1458c: 2102 movs r1, #2 + 1458e: 4620 mov r0, r4 + 14590: 47b8 blx r7 _lv_style_list_add_style(list, &styles->edge_flash); - 14b3a: 6831 ldr r1, [r6, #0] - 14b3c: 3184 adds r1, #132 ; 0x84 - 14b3e: 47a8 blx r5 + 14592: 6831 ldr r1, [r6, #0] + 14594: 3184 adds r1, #132 ; 0x84 + 14596: 47a8 blx r5 break; - 14b40: e669 b.n 14816 + 14598: e669 b.n 1426e lv_obj_clean_style_list(obj, LV_TABVIEW_PART_BG); - 14b42: 2100 movs r1, #0 - 14b44: 4d6f ldr r5, [pc, #444] ; (14d04 ) - 14b46: 47a8 blx r5 + 1459a: 2100 movs r1, #0 + 1459c: 4d6f ldr r5, [pc, #444] ; (1475c ) + 1459e: 47a8 blx r5 list = lv_obj_get_style_list(obj, LV_TABVIEW_PART_BG); - 14b48: 2100 movs r1, #0 - 14b4a: 4620 mov r0, r4 - 14b4c: f8df 81b8 ldr.w r8, [pc, #440] ; 14d08 - 14b50: 47c0 blx r8 + 145a0: 2100 movs r1, #0 + 145a2: 4620 mov r0, r4 + 145a4: f8df 81b8 ldr.w r8, [pc, #440] ; 14760 + 145a8: 47c0 blx r8 _lv_style_list_add_style(list, &styles->scr); - 14b52: 4f6e ldr r7, [pc, #440] ; (14d0c ) - 14b54: 6839 ldr r1, [r7, #0] - 14b56: 4e6e ldr r6, [pc, #440] ; (14d10 ) - 14b58: 47b0 blx r6 + 145aa: 4f6e ldr r7, [pc, #440] ; (14764 ) + 145ac: 6839 ldr r1, [r7, #0] + 145ae: 4e6e ldr r6, [pc, #440] ; (14768 ) + 145b0: 47b0 blx r6 lv_obj_clean_style_list(obj, LV_TABVIEW_PART_BG_SCRLLABLE); - 14b5a: 2140 movs r1, #64 ; 0x40 - 14b5c: 4620 mov r0, r4 - 14b5e: 47a8 blx r5 + 145b2: 2140 movs r1, #64 ; 0x40 + 145b4: 4620 mov r0, r4 + 145b6: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_TABVIEW_PART_TAB_BG); - 14b60: 2141 movs r1, #65 ; 0x41 - 14b62: 4620 mov r0, r4 - 14b64: 47a8 blx r5 + 145b8: 2141 movs r1, #65 ; 0x41 + 145ba: 4620 mov r0, r4 + 145bc: 47a8 blx r5 list = lv_obj_get_style_list(obj, LV_TABVIEW_PART_TAB_BG); - 14b66: 2141 movs r1, #65 ; 0x41 - 14b68: 4620 mov r0, r4 - 14b6a: 47c0 blx r8 + 145be: 2141 movs r1, #65 ; 0x41 + 145c0: 4620 mov r0, r4 + 145c2: 47c0 blx r8 _lv_style_list_add_style(list, &styles->tabview_btns_bg); - 14b6c: 6839 ldr r1, [r7, #0] - 14b6e: 31a8 adds r1, #168 ; 0xa8 - 14b70: 47b0 blx r6 + 145c4: 6839 ldr r1, [r7, #0] + 145c6: 31a8 adds r1, #168 ; 0xa8 + 145c8: 47b0 blx r6 lv_obj_clean_style_list(obj, LV_TABVIEW_PART_INDIC); - 14b72: 2143 movs r1, #67 ; 0x43 - 14b74: 4620 mov r0, r4 - 14b76: 47a8 blx r5 + 145ca: 2143 movs r1, #67 ; 0x43 + 145cc: 4620 mov r0, r4 + 145ce: 47a8 blx r5 list = lv_obj_get_style_list(obj, LV_TABVIEW_PART_INDIC); - 14b78: 2143 movs r1, #67 ; 0x43 - 14b7a: 4620 mov r0, r4 - 14b7c: 47c0 blx r8 + 145d0: 2143 movs r1, #67 ; 0x43 + 145d2: 4620 mov r0, r4 + 145d4: 47c0 blx r8 _lv_style_list_add_style(list, &styles->tabview_indic); - 14b7e: 6839 ldr r1, [r7, #0] - 14b80: 31ac adds r1, #172 ; 0xac - 14b82: 47b0 blx r6 + 145d6: 6839 ldr r1, [r7, #0] + 145d8: 31ac adds r1, #172 ; 0xac + 145da: 47b0 blx r6 lv_obj_clean_style_list(obj, LV_TABVIEW_PART_TAB_BTN); - 14b84: 2142 movs r1, #66 ; 0x42 - 14b86: 4620 mov r0, r4 - 14b88: 47a8 blx r5 + 145dc: 2142 movs r1, #66 ; 0x42 + 145de: 4620 mov r0, r4 + 145e0: 47a8 blx r5 list = lv_obj_get_style_list(obj, LV_TABVIEW_PART_TAB_BTN); - 14b8a: 2142 movs r1, #66 ; 0x42 - 14b8c: 4620 mov r0, r4 - 14b8e: 47c0 blx r8 + 145e2: 2142 movs r1, #66 ; 0x42 + 145e4: 4620 mov r0, r4 + 145e6: 47c0 blx r8 _lv_style_list_add_style(list, &styles->tabview_btns); - 14b90: 6839 ldr r1, [r7, #0] - 14b92: 31a4 adds r1, #164 ; 0xa4 - 14b94: 47b0 blx r6 + 145e8: 6839 ldr r1, [r7, #0] + 145ea: 31a4 adds r1, #164 ; 0xa4 + 145ec: 47b0 blx r6 break; - 14b96: e63e b.n 14816 + 145ee: e63e b.n 1426e lv_obj_clean_style_list(obj, LV_PAGE_PART_BG); - 14b98: 2100 movs r1, #0 - 14b9a: 4d5a ldr r5, [pc, #360] ; (14d04 ) - 14b9c: 47a8 blx r5 + 145f0: 2100 movs r1, #0 + 145f2: 4d5a ldr r5, [pc, #360] ; (1475c ) + 145f4: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_PAGE_PART_SCROLLABLE); - 14b9e: 2140 movs r1, #64 ; 0x40 - 14ba0: 4620 mov r0, r4 - 14ba2: 47a8 blx r5 + 145f6: 2140 movs r1, #64 ; 0x40 + 145f8: 4620 mov r0, r4 + 145fa: 47a8 blx r5 list = lv_obj_get_style_list(obj, LV_PAGE_PART_SCROLLABLE); - 14ba4: 2140 movs r1, #64 ; 0x40 - 14ba6: 4620 mov r0, r4 - 14ba8: 4b57 ldr r3, [pc, #348] ; (14d08 ) - 14baa: 4798 blx r3 + 145fc: 2140 movs r1, #64 ; 0x40 + 145fe: 4620 mov r0, r4 + 14600: 4b57 ldr r3, [pc, #348] ; (14760 ) + 14602: 4798 blx r3 _lv_style_list_add_style(list, &styles->tabview_page_scrl); - 14bac: 4b57 ldr r3, [pc, #348] ; (14d0c ) - 14bae: 6819 ldr r1, [r3, #0] - 14bb0: 31b0 adds r1, #176 ; 0xb0 - 14bb2: 4b57 ldr r3, [pc, #348] ; (14d10 ) - 14bb4: 4798 blx r3 + 14604: 4b57 ldr r3, [pc, #348] ; (14764 ) + 14606: 6819 ldr r1, [r3, #0] + 14608: 31b0 adds r1, #176 ; 0xb0 + 1460a: 4b57 ldr r3, [pc, #348] ; (14768 ) + 1460c: 4798 blx r3 break; - 14bb6: e62e b.n 14816 + 1460e: e62e b.n 1426e lv_obj_clean_style_list(obj, LV_TILEVIEW_PART_BG); - 14bb8: 2100 movs r1, #0 - 14bba: f8df 8148 ldr.w r8, [pc, #328] ; 14d04 - 14bbe: 47c0 blx r8 + 14610: 2100 movs r1, #0 + 14612: f8df 8148 ldr.w r8, [pc, #328] ; 1475c + 14616: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_TILEVIEW_PART_BG); - 14bc0: 2100 movs r1, #0 - 14bc2: 4620 mov r0, r4 - 14bc4: 4f50 ldr r7, [pc, #320] ; (14d08 ) - 14bc6: 47b8 blx r7 + 14618: 2100 movs r1, #0 + 1461a: 4620 mov r0, r4 + 1461c: 4f50 ldr r7, [pc, #320] ; (14760 ) + 1461e: 47b8 blx r7 _lv_style_list_add_style(list, &styles->scr); - 14bc8: 4e50 ldr r6, [pc, #320] ; (14d0c ) - 14bca: 6831 ldr r1, [r6, #0] - 14bcc: 4d50 ldr r5, [pc, #320] ; (14d10 ) - 14bce: 47a8 blx r5 + 14620: 4e50 ldr r6, [pc, #320] ; (14764 ) + 14622: 6831 ldr r1, [r6, #0] + 14624: 4d50 ldr r5, [pc, #320] ; (14768 ) + 14626: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_TILEVIEW_PART_SCROLLBAR); - 14bd0: 2101 movs r1, #1 - 14bd2: 4620 mov r0, r4 - 14bd4: 47c0 blx r8 + 14628: 2101 movs r1, #1 + 1462a: 4620 mov r0, r4 + 1462c: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_TILEVIEW_PART_SCROLLBAR); - 14bd6: 2101 movs r1, #1 - 14bd8: 4620 mov r0, r4 - 14bda: 47b8 blx r7 + 1462e: 2101 movs r1, #1 + 14630: 4620 mov r0, r4 + 14632: 47b8 blx r7 _lv_style_list_add_style(list, &styles->sb); - 14bdc: 6831 ldr r1, [r6, #0] - 14bde: 3180 adds r1, #128 ; 0x80 - 14be0: 47a8 blx r5 + 14634: 6831 ldr r1, [r6, #0] + 14636: 3180 adds r1, #128 ; 0x80 + 14638: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_TILEVIEW_PART_EDGE_FLASH); - 14be2: 2102 movs r1, #2 - 14be4: 4620 mov r0, r4 - 14be6: 47c0 blx r8 + 1463a: 2102 movs r1, #2 + 1463c: 4620 mov r0, r4 + 1463e: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_TILEVIEW_PART_EDGE_FLASH); - 14be8: 2102 movs r1, #2 - 14bea: 4620 mov r0, r4 - 14bec: 47b8 blx r7 + 14640: 2102 movs r1, #2 + 14642: 4620 mov r0, r4 + 14644: 47b8 blx r7 _lv_style_list_add_style(list, &styles->edge_flash); - 14bee: 6831 ldr r1, [r6, #0] - 14bf0: 3184 adds r1, #132 ; 0x84 - 14bf2: 47a8 blx r5 + 14646: 6831 ldr r1, [r6, #0] + 14648: 3184 adds r1, #132 ; 0x84 + 1464a: 47a8 blx r5 break; - 14bf4: e60f b.n 14816 + 1464c: e60f b.n 1426e lv_obj_clean_style_list(obj, LV_ROLLER_PART_BG); - 14bf6: 2100 movs r1, #0 - 14bf8: f8df 8108 ldr.w r8, [pc, #264] ; 14d04 - 14bfc: 47c0 blx r8 + 1464e: 2100 movs r1, #0 + 14650: f8df 8108 ldr.w r8, [pc, #264] ; 1475c + 14654: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_ROLLER_PART_BG); - 14bfe: 2100 movs r1, #0 - 14c00: 4620 mov r0, r4 - 14c02: 4f41 ldr r7, [pc, #260] ; (14d08 ) - 14c04: 47b8 blx r7 - 14c06: 4681 mov r9, r0 + 14656: 2100 movs r1, #0 + 14658: 4620 mov r0, r4 + 1465a: 4f41 ldr r7, [pc, #260] ; (14760 ) + 1465c: 47b8 blx r7 + 1465e: 4681 mov r9, r0 _lv_style_list_add_style(list, &styles->bg); - 14c08: 4e40 ldr r6, [pc, #256] ; (14d0c ) - 14c0a: 6831 ldr r1, [r6, #0] - 14c0c: 3104 adds r1, #4 - 14c0e: 4d40 ldr r5, [pc, #256] ; (14d10 ) - 14c10: 47a8 blx r5 + 14660: 4e40 ldr r6, [pc, #256] ; (14764 ) + 14662: 6831 ldr r1, [r6, #0] + 14664: 3104 adds r1, #4 + 14666: 4d40 ldr r5, [pc, #256] ; (14768 ) + 14668: 47a8 blx r5 _lv_style_list_add_style(list, &styles->roller_bg); - 14c12: 6831 ldr r1, [r6, #0] - 14c14: 3188 adds r1, #136 ; 0x88 - 14c16: 4648 mov r0, r9 - 14c18: 47a8 blx r5 + 1466a: 6831 ldr r1, [r6, #0] + 1466c: 3188 adds r1, #136 ; 0x88 + 1466e: 4648 mov r0, r9 + 14670: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_ROLLER_PART_SELECTED); - 14c1a: 2103 movs r1, #3 - 14c1c: 4620 mov r0, r4 - 14c1e: 47c0 blx r8 + 14672: 2103 movs r1, #3 + 14674: 4620 mov r0, r4 + 14676: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_ROLLER_PART_SELECTED); - 14c20: 2103 movs r1, #3 - 14c22: 4620 mov r0, r4 - 14c24: 47b8 blx r7 + 14678: 2103 movs r1, #3 + 1467a: 4620 mov r0, r4 + 1467c: 47b8 blx r7 _lv_style_list_add_style(list, &styles->roller_sel); - 14c26: 6831 ldr r1, [r6, #0] - 14c28: 318c adds r1, #140 ; 0x8c - 14c2a: 47a8 blx r5 + 1467e: 6831 ldr r1, [r6, #0] + 14680: 318c adds r1, #140 ; 0x8c + 14682: 47a8 blx r5 break; - 14c2c: e5f3 b.n 14816 + 14684: e5f3 b.n 1426e lv_obj_clean_style_list(obj, LV_OBJMASK_PART_MAIN); - 14c2e: 2100 movs r1, #0 - 14c30: 4b34 ldr r3, [pc, #208] ; (14d04 ) - 14c32: 4798 blx r3 + 14686: 2100 movs r1, #0 + 14688: 4b34 ldr r3, [pc, #208] ; (1475c ) + 1468a: 4798 blx r3 list = lv_obj_get_style_list(obj, LV_OBJMASK_PART_MAIN); - 14c34: 2100 movs r1, #0 - 14c36: 4620 mov r0, r4 - 14c38: 4b33 ldr r3, [pc, #204] ; (14d08 ) - 14c3a: 4798 blx r3 + 1468c: 2100 movs r1, #0 + 1468e: 4620 mov r0, r4 + 14690: 4b33 ldr r3, [pc, #204] ; (14760 ) + 14692: 4798 blx r3 break; - 14c3c: e5eb b.n 14816 + 14694: e5eb b.n 1426e lv_obj_clean_style_list(obj, LV_LIST_PART_BG); - 14c3e: 2100 movs r1, #0 - 14c40: 4f30 ldr r7, [pc, #192] ; (14d04 ) - 14c42: 47b8 blx r7 + 14696: 2100 movs r1, #0 + 14698: 4f30 ldr r7, [pc, #192] ; (1475c ) + 1469a: 47b8 blx r7 list = lv_obj_get_style_list(obj, LV_LIST_PART_BG); - 14c44: 2100 movs r1, #0 - 14c46: 4620 mov r0, r4 - 14c48: f8df 80bc ldr.w r8, [pc, #188] ; 14d08 - 14c4c: 47c0 blx r8 - 14c4e: 4681 mov r9, r0 + 1469c: 2100 movs r1, #0 + 1469e: 4620 mov r0, r4 + 146a0: f8df 80bc ldr.w r8, [pc, #188] ; 14760 + 146a4: 47c0 blx r8 + 146a6: 4681 mov r9, r0 _lv_style_list_add_style(list, &styles->bg); - 14c50: 4e2e ldr r6, [pc, #184] ; (14d0c ) - 14c52: 6831 ldr r1, [r6, #0] - 14c54: 3104 adds r1, #4 - 14c56: 4d2e ldr r5, [pc, #184] ; (14d10 ) - 14c58: 47a8 blx r5 + 146a8: 4e2e ldr r6, [pc, #184] ; (14764 ) + 146aa: 6831 ldr r1, [r6, #0] + 146ac: 3104 adds r1, #4 + 146ae: 4d2e ldr r5, [pc, #184] ; (14768 ) + 146b0: 47a8 blx r5 _lv_style_list_add_style(list, &styles->list_bg); - 14c5a: 6831 ldr r1, [r6, #0] - 14c5c: 3174 adds r1, #116 ; 0x74 - 14c5e: 4648 mov r0, r9 - 14c60: 47a8 blx r5 + 146b2: 6831 ldr r1, [r6, #0] + 146b4: 3174 adds r1, #116 ; 0x74 + 146b6: 4648 mov r0, r9 + 146b8: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_LIST_PART_SCROLLABLE); - 14c62: 2140 movs r1, #64 ; 0x40 - 14c64: 4620 mov r0, r4 - 14c66: 47b8 blx r7 + 146ba: 2140 movs r1, #64 ; 0x40 + 146bc: 4620 mov r0, r4 + 146be: 47b8 blx r7 lv_obj_clean_style_list(obj, LV_LIST_PART_SCROLLBAR); - 14c68: 2101 movs r1, #1 - 14c6a: 4620 mov r0, r4 - 14c6c: 47b8 blx r7 + 146c0: 2101 movs r1, #1 + 146c2: 4620 mov r0, r4 + 146c4: 47b8 blx r7 list = lv_obj_get_style_list(obj, LV_LIST_PART_SCROLLBAR); - 14c6e: 2101 movs r1, #1 - 14c70: 4620 mov r0, r4 - 14c72: 47c0 blx r8 + 146c6: 2101 movs r1, #1 + 146c8: 4620 mov r0, r4 + 146ca: 47c0 blx r8 _lv_style_list_add_style(list, &styles->sb); - 14c74: 6831 ldr r1, [r6, #0] - 14c76: 3180 adds r1, #128 ; 0x80 - 14c78: 47a8 blx r5 + 146cc: 6831 ldr r1, [r6, #0] + 146ce: 3180 adds r1, #128 ; 0x80 + 146d0: 47a8 blx r5 break; - 14c7a: e5cc b.n 14816 + 146d2: e5cc b.n 1426e lv_obj_clean_style_list(obj, LV_BTN_PART_MAIN); - 14c7c: 2100 movs r1, #0 - 14c7e: 4b21 ldr r3, [pc, #132] ; (14d04 ) - 14c80: 4798 blx r3 + 146d4: 2100 movs r1, #0 + 146d6: 4b21 ldr r3, [pc, #132] ; (1475c ) + 146d8: 4798 blx r3 list = lv_obj_get_style_list(obj, LV_BTN_PART_MAIN); - 14c82: 2100 movs r1, #0 - 14c84: 4620 mov r0, r4 - 14c86: 4b20 ldr r3, [pc, #128] ; (14d08 ) - 14c88: 4798 blx r3 + 146da: 2100 movs r1, #0 + 146dc: 4620 mov r0, r4 + 146de: 4b20 ldr r3, [pc, #128] ; (14760 ) + 146e0: 4798 blx r3 _lv_style_list_add_style(list, &styles->list_btn); - 14c8a: 4b20 ldr r3, [pc, #128] ; (14d0c ) - 14c8c: 6819 ldr r1, [r3, #0] - 14c8e: 3178 adds r1, #120 ; 0x78 - 14c90: 4b1f ldr r3, [pc, #124] ; (14d10 ) - 14c92: 4798 blx r3 + 146e2: 4b20 ldr r3, [pc, #128] ; (14764 ) + 146e4: 6819 ldr r1, [r3, #0] + 146e6: 3178 adds r1, #120 ; 0x78 + 146e8: 4b1f ldr r3, [pc, #124] ; (14768 ) + 146ea: 4798 blx r3 break; - 14c94: e5bf b.n 14816 + 146ec: e5bf b.n 1426e lv_obj_clean_style_list(obj, LV_DROPDOWN_PART_MAIN); - 14c96: 2100 movs r1, #0 - 14c98: f8df 8068 ldr.w r8, [pc, #104] ; 14d04 - 14c9c: 47c0 blx r8 + 146ee: 2100 movs r1, #0 + 146f0: f8df 8068 ldr.w r8, [pc, #104] ; 1475c + 146f4: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_DROPDOWN_PART_MAIN); - 14c9e: 2100 movs r1, #0 - 14ca0: 4620 mov r0, r4 - 14ca2: 4f19 ldr r7, [pc, #100] ; (14d08 ) - 14ca4: 47b8 blx r7 - 14ca6: 4681 mov r9, r0 + 146f6: 2100 movs r1, #0 + 146f8: 4620 mov r0, r4 + 146fa: 4f19 ldr r7, [pc, #100] ; (14760 ) + 146fc: 47b8 blx r7 + 146fe: 4681 mov r9, r0 _lv_style_list_add_style(list, &styles->bg); - 14ca8: 4e18 ldr r6, [pc, #96] ; (14d0c ) - 14caa: 6831 ldr r1, [r6, #0] - 14cac: 3104 adds r1, #4 - 14cae: 4d18 ldr r5, [pc, #96] ; (14d10 ) - 14cb0: 47a8 blx r5 + 14700: 4e18 ldr r6, [pc, #96] ; (14764 ) + 14702: 6831 ldr r1, [r6, #0] + 14704: 3104 adds r1, #4 + 14706: 4d18 ldr r5, [pc, #96] ; (14768 ) + 14708: 47a8 blx r5 _lv_style_list_add_style(list, &styles->bg_click); - 14cb2: 6831 ldr r1, [r6, #0] - 14cb4: 3108 adds r1, #8 - 14cb6: 4648 mov r0, r9 - 14cb8: 47a8 blx r5 + 1470a: 6831 ldr r1, [r6, #0] + 1470c: 3108 adds r1, #8 + 1470e: 4648 mov r0, r9 + 14710: 47a8 blx r5 _lv_style_list_add_style(list, &styles->pad_small); - 14cba: 6831 ldr r1, [r6, #0] - 14cbc: 3118 adds r1, #24 - 14cbe: 4648 mov r0, r9 - 14cc0: 47a8 blx r5 + 14712: 6831 ldr r1, [r6, #0] + 14714: 3118 adds r1, #24 + 14716: 4648 mov r0, r9 + 14718: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_DROPDOWN_PART_LIST); - 14cc2: 2140 movs r1, #64 ; 0x40 - 14cc4: 4620 mov r0, r4 - 14cc6: 47c0 blx r8 + 1471a: 2140 movs r1, #64 ; 0x40 + 1471c: 4620 mov r0, r4 + 1471e: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_DROPDOWN_PART_LIST); - 14cc8: 2140 movs r1, #64 ; 0x40 - 14cca: 4620 mov r0, r4 - 14ccc: 47b8 blx r7 - 14cce: 4681 mov r9, r0 + 14720: 2140 movs r1, #64 ; 0x40 + 14722: 4620 mov r0, r4 + 14724: 47b8 blx r7 + 14726: 4681 mov r9, r0 _lv_style_list_add_style(list, &styles->bg); - 14cd0: 6831 ldr r1, [r6, #0] - 14cd2: 3104 adds r1, #4 - 14cd4: 47a8 blx r5 + 14728: 6831 ldr r1, [r6, #0] + 1472a: 3104 adds r1, #4 + 1472c: 47a8 blx r5 _lv_style_list_add_style(list, &styles->ddlist_page); - 14cd6: 6831 ldr r1, [r6, #0] - 14cd8: 3154 adds r1, #84 ; 0x54 - 14cda: 4648 mov r0, r9 - 14cdc: 47a8 blx r5 + 1472e: 6831 ldr r1, [r6, #0] + 14730: 3154 adds r1, #84 ; 0x54 + 14732: 4648 mov r0, r9 + 14734: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_DROPDOWN_PART_SCROLLBAR); - 14cde: 2141 movs r1, #65 ; 0x41 - 14ce0: 4620 mov r0, r4 - 14ce2: 47c0 blx r8 + 14736: 2141 movs r1, #65 ; 0x41 + 14738: 4620 mov r0, r4 + 1473a: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_DROPDOWN_PART_SCROLLBAR); - 14ce4: 2141 movs r1, #65 ; 0x41 - 14ce6: 4620 mov r0, r4 - 14ce8: 47b8 blx r7 + 1473c: 2141 movs r1, #65 ; 0x41 + 1473e: 4620 mov r0, r4 + 14740: 47b8 blx r7 _lv_style_list_add_style(list, &styles->sb); - 14cea: 6831 ldr r1, [r6, #0] - 14cec: 3180 adds r1, #128 ; 0x80 - 14cee: 47a8 blx r5 + 14742: 6831 ldr r1, [r6, #0] + 14744: 3180 adds r1, #128 ; 0x80 + 14746: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_DROPDOWN_PART_SELECTED); - 14cf0: 2142 movs r1, #66 ; 0x42 - 14cf2: 4620 mov r0, r4 - 14cf4: 47c0 blx r8 + 14748: 2142 movs r1, #66 ; 0x42 + 1474a: 4620 mov r0, r4 + 1474c: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_DROPDOWN_PART_SELECTED); - 14cf6: 2142 movs r1, #66 ; 0x42 - 14cf8: 4620 mov r0, r4 - 14cfa: 47b8 blx r7 + 1474e: 2142 movs r1, #66 ; 0x42 + 14750: 4620 mov r0, r4 + 14752: 47b8 blx r7 _lv_style_list_add_style(list, &styles->ddlist_sel); - 14cfc: 6831 ldr r1, [r6, #0] - 14cfe: 3158 adds r1, #88 ; 0x58 - 14d00: 47a8 blx r5 + 14754: 6831 ldr r1, [r6, #0] + 14756: 3158 adds r1, #88 ; 0x58 + 14758: 47a8 blx r5 break; - 14d02: e588 b.n 14816 - 14d04: 00003755 .word 0x00003755 - 14d08: 00003685 .word 0x00003685 - 14d0c: 20006bd8 .word 0x20006bd8 - 14d10: 00006b81 .word 0x00006b81 + 1475a: e588 b.n 1426e + 1475c: 000030cd .word 0x000030cd + 14760: 00002ffd .word 0x00002ffd + 14764: 20006bd8 .word 0x20006bd8 + 14768: 000065d9 .word 0x000065d9 lv_obj_clean_style_list(obj, LV_CHART_PART_BG); - 14d14: 2100 movs r1, #0 - 14d16: f8df 8290 ldr.w r8, [pc, #656] ; 14fa8 - 14d1a: 47c0 blx r8 + 1476c: 2100 movs r1, #0 + 1476e: f8df 8290 ldr.w r8, [pc, #656] ; 14a00 + 14772: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_CHART_PART_BG); - 14d1c: 2100 movs r1, #0 - 14d1e: 4620 mov r0, r4 - 14d20: 4f9e ldr r7, [pc, #632] ; (14f9c ) - 14d22: 47b8 blx r7 - 14d24: 4681 mov r9, r0 + 14774: 2100 movs r1, #0 + 14776: 4620 mov r0, r4 + 14778: 4f9e ldr r7, [pc, #632] ; (149f4 ) + 1477a: 47b8 blx r7 + 1477c: 4681 mov r9, r0 _lv_style_list_add_style(list, &styles->bg); - 14d26: 4e9e ldr r6, [pc, #632] ; (14fa0 ) - 14d28: 6831 ldr r1, [r6, #0] - 14d2a: 3104 adds r1, #4 - 14d2c: 4d9d ldr r5, [pc, #628] ; (14fa4 ) - 14d2e: 47a8 blx r5 + 1477e: 4e9e ldr r6, [pc, #632] ; (149f8 ) + 14780: 6831 ldr r1, [r6, #0] + 14782: 3104 adds r1, #4 + 14784: 4d9d ldr r5, [pc, #628] ; (149fc ) + 14786: 47a8 blx r5 _lv_style_list_add_style(list, &styles->chart_bg); - 14d30: 6831 ldr r1, [r6, #0] - 14d32: 3140 adds r1, #64 ; 0x40 - 14d34: 4648 mov r0, r9 - 14d36: 47a8 blx r5 + 14788: 6831 ldr r1, [r6, #0] + 1478a: 3140 adds r1, #64 ; 0x40 + 1478c: 4648 mov r0, r9 + 1478e: 47a8 blx r5 _lv_style_list_add_style(list, &styles->pad_small); - 14d38: 6831 ldr r1, [r6, #0] - 14d3a: 3118 adds r1, #24 - 14d3c: 4648 mov r0, r9 - 14d3e: 47a8 blx r5 + 14790: 6831 ldr r1, [r6, #0] + 14792: 3118 adds r1, #24 + 14794: 4648 mov r0, r9 + 14796: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_CHART_PART_SERIES_BG); - 14d40: 2101 movs r1, #1 - 14d42: 4620 mov r0, r4 - 14d44: 47c0 blx r8 + 14798: 2101 movs r1, #1 + 1479a: 4620 mov r0, r4 + 1479c: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_CHART_PART_SERIES_BG); - 14d46: 2101 movs r1, #1 - 14d48: 4620 mov r0, r4 - 14d4a: 47b8 blx r7 - 14d4c: 4681 mov r9, r0 + 1479e: 2101 movs r1, #1 + 147a0: 4620 mov r0, r4 + 147a2: 47b8 blx r7 + 147a4: 4681 mov r9, r0 _lv_style_list_add_style(list, &styles->pad_small); - 14d4e: 6831 ldr r1, [r6, #0] - 14d50: 3118 adds r1, #24 - 14d52: 47a8 blx r5 + 147a6: 6831 ldr r1, [r6, #0] + 147a8: 3118 adds r1, #24 + 147aa: 47a8 blx r5 _lv_style_list_add_style(list, &styles->chart_series_bg); - 14d54: 6831 ldr r1, [r6, #0] - 14d56: 3144 adds r1, #68 ; 0x44 - 14d58: 4648 mov r0, r9 - 14d5a: 47a8 blx r5 + 147ac: 6831 ldr r1, [r6, #0] + 147ae: 3144 adds r1, #68 ; 0x44 + 147b0: 4648 mov r0, r9 + 147b2: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_CHART_PART_SERIES); - 14d5c: 2102 movs r1, #2 - 14d5e: 4620 mov r0, r4 - 14d60: 47c0 blx r8 + 147b4: 2102 movs r1, #2 + 147b6: 4620 mov r0, r4 + 147b8: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_CHART_PART_SERIES); - 14d62: 2102 movs r1, #2 - 14d64: 4620 mov r0, r4 - 14d66: 47b8 blx r7 + 147ba: 2102 movs r1, #2 + 147bc: 4620 mov r0, r4 + 147be: 47b8 blx r7 _lv_style_list_add_style(list, &styles->chart_series); - 14d68: 6831 ldr r1, [r6, #0] - 14d6a: 3148 adds r1, #72 ; 0x48 - 14d6c: 47a8 blx r5 + 147c0: 6831 ldr r1, [r6, #0] + 147c2: 3148 adds r1, #72 ; 0x48 + 147c4: 47a8 blx r5 break; - 14d6e: e552 b.n 14816 + 147c6: e552 b.n 1426e lv_obj_clean_style_list(obj, LV_TABLE_PART_BG); - 14d70: 2100 movs r1, #0 - 14d72: f8df 8234 ldr.w r8, [pc, #564] ; 14fa8 - 14d76: 47c0 blx r8 + 147c8: 2100 movs r1, #0 + 147ca: f8df 8234 ldr.w r8, [pc, #564] ; 14a00 + 147ce: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_TABLE_PART_BG); - 14d78: 2100 movs r1, #0 - 14d7a: 4620 mov r0, r4 - 14d7c: 4f87 ldr r7, [pc, #540] ; (14f9c ) - 14d7e: 47b8 blx r7 + 147d0: 2100 movs r1, #0 + 147d2: 4620 mov r0, r4 + 147d4: 4f87 ldr r7, [pc, #540] ; (149f4 ) + 147d6: 47b8 blx r7 _lv_style_list_add_style(list, &styles->bg); - 14d80: 4e87 ldr r6, [pc, #540] ; (14fa0 ) - 14d82: 6831 ldr r1, [r6, #0] - 14d84: 3104 adds r1, #4 - 14d86: 4d87 ldr r5, [pc, #540] ; (14fa4 ) - 14d88: 47a8 blx r5 + 147d8: 4e87 ldr r6, [pc, #540] ; (149f8 ) + 147da: 6831 ldr r1, [r6, #0] + 147dc: 3104 adds r1, #4 + 147de: 4d87 ldr r5, [pc, #540] ; (149fc ) + 147e0: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_TABLE_PART_CELL1); - 14d8a: 2101 movs r1, #1 - 14d8c: 4620 mov r0, r4 - 14d8e: 47c0 blx r8 + 147e2: 2101 movs r1, #1 + 147e4: 4620 mov r0, r4 + 147e6: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_TABLE_PART_CELL1); - 14d90: 2101 movs r1, #1 - 14d92: 4620 mov r0, r4 - 14d94: 47b8 blx r7 + 147e8: 2101 movs r1, #1 + 147ea: 4620 mov r0, r4 + 147ec: 47b8 blx r7 _lv_style_list_add_style(list, &styles->table_cell); - 14d96: 6831 ldr r1, [r6, #0] - 14d98: 31a0 adds r1, #160 ; 0xa0 - 14d9a: 47a8 blx r5 + 147ee: 6831 ldr r1, [r6, #0] + 147f0: 31a0 adds r1, #160 ; 0xa0 + 147f2: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_TABLE_PART_CELL2); - 14d9c: 2102 movs r1, #2 - 14d9e: 4620 mov r0, r4 - 14da0: 47c0 blx r8 + 147f4: 2102 movs r1, #2 + 147f6: 4620 mov r0, r4 + 147f8: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_TABLE_PART_CELL2); - 14da2: 2102 movs r1, #2 - 14da4: 4620 mov r0, r4 - 14da6: 47b8 blx r7 + 147fa: 2102 movs r1, #2 + 147fc: 4620 mov r0, r4 + 147fe: 47b8 blx r7 _lv_style_list_add_style(list, &styles->table_cell); - 14da8: 6831 ldr r1, [r6, #0] - 14daa: 31a0 adds r1, #160 ; 0xa0 - 14dac: 47a8 blx r5 + 14800: 6831 ldr r1, [r6, #0] + 14802: 31a0 adds r1, #160 ; 0xa0 + 14804: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_TABLE_PART_CELL3); - 14dae: 2103 movs r1, #3 - 14db0: 4620 mov r0, r4 - 14db2: 47c0 blx r8 + 14806: 2103 movs r1, #3 + 14808: 4620 mov r0, r4 + 1480a: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_TABLE_PART_CELL3); - 14db4: 2103 movs r1, #3 - 14db6: 4620 mov r0, r4 - 14db8: 47b8 blx r7 + 1480c: 2103 movs r1, #3 + 1480e: 4620 mov r0, r4 + 14810: 47b8 blx r7 _lv_style_list_add_style(list, &styles->table_cell); - 14dba: 6831 ldr r1, [r6, #0] - 14dbc: 31a0 adds r1, #160 ; 0xa0 - 14dbe: 47a8 blx r5 + 14812: 6831 ldr r1, [r6, #0] + 14814: 31a0 adds r1, #160 ; 0xa0 + 14816: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_TABLE_PART_CELL4); - 14dc0: 2104 movs r1, #4 - 14dc2: 4620 mov r0, r4 - 14dc4: 47c0 blx r8 + 14818: 2104 movs r1, #4 + 1481a: 4620 mov r0, r4 + 1481c: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_TABLE_PART_CELL4); - 14dc6: 2104 movs r1, #4 - 14dc8: 4620 mov r0, r4 - 14dca: 47b8 blx r7 + 1481e: 2104 movs r1, #4 + 14820: 4620 mov r0, r4 + 14822: 47b8 blx r7 _lv_style_list_add_style(list, &styles->table_cell); - 14dcc: 6831 ldr r1, [r6, #0] - 14dce: 31a0 adds r1, #160 ; 0xa0 - 14dd0: 47a8 blx r5 + 14824: 6831 ldr r1, [r6, #0] + 14826: 31a0 adds r1, #160 ; 0xa0 + 14828: 47a8 blx r5 break; - 14dd2: e520 b.n 14816 + 1482a: e520 b.n 1426e lv_obj_clean_style_list(obj, LV_WIN_PART_BG); - 14dd4: 2100 movs r1, #0 - 14dd6: f8df 81d0 ldr.w r8, [pc, #464] ; 14fa8 - 14dda: 47c0 blx r8 + 1482c: 2100 movs r1, #0 + 1482e: f8df 81d0 ldr.w r8, [pc, #464] ; 14a00 + 14832: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_WIN_PART_BG); - 14ddc: 2100 movs r1, #0 - 14dde: 4620 mov r0, r4 - 14de0: 4f6e ldr r7, [pc, #440] ; (14f9c ) - 14de2: 47b8 blx r7 + 14834: 2100 movs r1, #0 + 14836: 4620 mov r0, r4 + 14838: 4f6e ldr r7, [pc, #440] ; (149f4 ) + 1483a: 47b8 blx r7 _lv_style_list_add_style(list, &styles->scr); - 14de4: 4e6e ldr r6, [pc, #440] ; (14fa0 ) - 14de6: 6831 ldr r1, [r6, #0] - 14de8: 4d6e ldr r5, [pc, #440] ; (14fa4 ) - 14dea: 47a8 blx r5 + 1483c: 4e6e ldr r6, [pc, #440] ; (149f8 ) + 1483e: 6831 ldr r1, [r6, #0] + 14840: 4d6e ldr r5, [pc, #440] ; (149fc ) + 14842: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_WIN_PART_SCROLLBAR); - 14dec: 2142 movs r1, #66 ; 0x42 - 14dee: 4620 mov r0, r4 - 14df0: 47c0 blx r8 + 14844: 2142 movs r1, #66 ; 0x42 + 14846: 4620 mov r0, r4 + 14848: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_WIN_PART_SCROLLBAR); - 14df2: 2142 movs r1, #66 ; 0x42 - 14df4: 4620 mov r0, r4 - 14df6: 47b8 blx r7 + 1484a: 2142 movs r1, #66 ; 0x42 + 1484c: 4620 mov r0, r4 + 1484e: 47b8 blx r7 _lv_style_list_add_style(list, &styles->sb); - 14df8: 6831 ldr r1, [r6, #0] - 14dfa: 3180 adds r1, #128 ; 0x80 - 14dfc: 47a8 blx r5 + 14850: 6831 ldr r1, [r6, #0] + 14852: 3180 adds r1, #128 ; 0x80 + 14854: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_WIN_PART_CONTENT_SCROLLABLE); - 14dfe: 2141 movs r1, #65 ; 0x41 - 14e00: 4620 mov r0, r4 - 14e02: 47c0 blx r8 + 14856: 2141 movs r1, #65 ; 0x41 + 14858: 4620 mov r0, r4 + 1485a: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_WIN_PART_CONTENT_SCROLLABLE); - 14e04: 2141 movs r1, #65 ; 0x41 - 14e06: 4620 mov r0, r4 - 14e08: 47b8 blx r7 + 1485c: 2141 movs r1, #65 ; 0x41 + 1485e: 4620 mov r0, r4 + 14860: 47b8 blx r7 _lv_style_list_add_style(list, &styles->tabview_page_scrl); - 14e0a: 6831 ldr r1, [r6, #0] - 14e0c: 31b0 adds r1, #176 ; 0xb0 - 14e0e: 47a8 blx r5 + 14862: 6831 ldr r1, [r6, #0] + 14864: 31b0 adds r1, #176 ; 0xb0 + 14866: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_WIN_PART_HEADER); - 14e10: 2140 movs r1, #64 ; 0x40 - 14e12: 4620 mov r0, r4 - 14e14: 47c0 blx r8 + 14868: 2140 movs r1, #64 ; 0x40 + 1486a: 4620 mov r0, r4 + 1486c: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_WIN_PART_HEADER); - 14e16: 2140 movs r1, #64 ; 0x40 - 14e18: 4620 mov r0, r4 - 14e1a: 47b8 blx r7 + 1486e: 2140 movs r1, #64 ; 0x40 + 14870: 4620 mov r0, r4 + 14872: 47b8 blx r7 _lv_style_list_add_style(list, &styles->tabview_btns_bg); - 14e1c: 6831 ldr r1, [r6, #0] - 14e1e: 31a8 adds r1, #168 ; 0xa8 - 14e20: 47a8 blx r5 + 14874: 6831 ldr r1, [r6, #0] + 14876: 31a8 adds r1, #168 ; 0xa8 + 14878: 47a8 blx r5 break; - 14e22: e4f8 b.n 14816 + 1487a: e4f8 b.n 1426e lv_obj_clean_style_list(obj, LV_BTN_PART_MAIN); - 14e24: 2100 movs r1, #0 - 14e26: 4b60 ldr r3, [pc, #384] ; (14fa8 ) - 14e28: 4798 blx r3 + 1487c: 2100 movs r1, #0 + 1487e: 4b60 ldr r3, [pc, #384] ; (14a00 ) + 14880: 4798 blx r3 list = lv_obj_get_style_list(obj, LV_BTN_PART_MAIN); - 14e2a: 2100 movs r1, #0 - 14e2c: 4620 mov r0, r4 - 14e2e: 4b5b ldr r3, [pc, #364] ; (14f9c ) - 14e30: 4798 blx r3 + 14882: 2100 movs r1, #0 + 14884: 4620 mov r0, r4 + 14886: 4b5b ldr r3, [pc, #364] ; (149f4 ) + 14888: 4798 blx r3 _lv_style_list_add_style(list, &styles->tabview_btns); - 14e32: 4b5b ldr r3, [pc, #364] ; (14fa0 ) - 14e34: 6819 ldr r1, [r3, #0] - 14e36: 31a4 adds r1, #164 ; 0xa4 - 14e38: 4b5a ldr r3, [pc, #360] ; (14fa4 ) - 14e3a: 4798 blx r3 + 1488a: 4b5b ldr r3, [pc, #364] ; (149f8 ) + 1488c: 6819 ldr r1, [r3, #0] + 1488e: 31a4 adds r1, #164 ; 0xa4 + 14890: 4b5a ldr r3, [pc, #360] ; (149fc ) + 14892: 4798 blx r3 break; - 14e3c: e4eb b.n 14816 + 14894: e4eb b.n 1426e lv_obj_clean_style_list(obj, LV_TEXTAREA_PART_BG); - 14e3e: 2100 movs r1, #0 - 14e40: f8df 8164 ldr.w r8, [pc, #356] ; 14fa8 - 14e44: 47c0 blx r8 + 14896: 2100 movs r1, #0 + 14898: f8df 8164 ldr.w r8, [pc, #356] ; 14a00 + 1489c: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_TEXTAREA_PART_BG); - 14e46: 2100 movs r1, #0 - 14e48: 4620 mov r0, r4 - 14e4a: 4f54 ldr r7, [pc, #336] ; (14f9c ) - 14e4c: 47b8 blx r7 - 14e4e: 4681 mov r9, r0 + 1489e: 2100 movs r1, #0 + 148a0: 4620 mov r0, r4 + 148a2: 4f54 ldr r7, [pc, #336] ; (149f4 ) + 148a4: 47b8 blx r7 + 148a6: 4681 mov r9, r0 _lv_style_list_add_style(list, &styles->bg); - 14e50: 4e53 ldr r6, [pc, #332] ; (14fa0 ) - 14e52: 6831 ldr r1, [r6, #0] - 14e54: 3104 adds r1, #4 - 14e56: 4d53 ldr r5, [pc, #332] ; (14fa4 ) - 14e58: 47a8 blx r5 + 148a8: 4e53 ldr r6, [pc, #332] ; (149f8 ) + 148aa: 6831 ldr r1, [r6, #0] + 148ac: 3104 adds r1, #4 + 148ae: 4d53 ldr r5, [pc, #332] ; (149fc ) + 148b0: 47a8 blx r5 _lv_style_list_add_style(list, &styles->pad_small); - 14e5a: 6831 ldr r1, [r6, #0] - 14e5c: 3118 adds r1, #24 - 14e5e: 4648 mov r0, r9 - 14e60: 47a8 blx r5 + 148b2: 6831 ldr r1, [r6, #0] + 148b4: 3118 adds r1, #24 + 148b6: 4648 mov r0, r9 + 148b8: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_TEXTAREA_PART_PLACEHOLDER); - 14e62: 2104 movs r1, #4 - 14e64: 4620 mov r0, r4 - 14e66: 47c0 blx r8 + 148ba: 2104 movs r1, #4 + 148bc: 4620 mov r0, r4 + 148be: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_TEXTAREA_PART_PLACEHOLDER); - 14e68: 2104 movs r1, #4 - 14e6a: 4620 mov r0, r4 - 14e6c: 47b8 blx r7 + 148c0: 2104 movs r1, #4 + 148c2: 4620 mov r0, r4 + 148c4: 47b8 blx r7 _lv_style_list_add_style(list, &styles->ta_placeholder); - 14e6e: 6831 ldr r1, [r6, #0] - 14e70: 31b8 adds r1, #184 ; 0xb8 - 14e72: 47a8 blx r5 + 148c6: 6831 ldr r1, [r6, #0] + 148c8: 31b8 adds r1, #184 ; 0xb8 + 148ca: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_TEXTAREA_PART_CURSOR); - 14e74: 2103 movs r1, #3 - 14e76: 4620 mov r0, r4 - 14e78: 47c0 blx r8 + 148cc: 2103 movs r1, #3 + 148ce: 4620 mov r0, r4 + 148d0: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_TEXTAREA_PART_CURSOR); - 14e7a: 2103 movs r1, #3 - 14e7c: 4620 mov r0, r4 - 14e7e: 47b8 blx r7 + 148d2: 2103 movs r1, #3 + 148d4: 4620 mov r0, r4 + 148d6: 47b8 blx r7 _lv_style_list_add_style(list, &styles->ta_cursor); - 14e80: 6831 ldr r1, [r6, #0] - 14e82: 31b4 adds r1, #180 ; 0xb4 - 14e84: 47a8 blx r5 + 148d8: 6831 ldr r1, [r6, #0] + 148da: 31b4 adds r1, #180 ; 0xb4 + 148dc: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_TEXTAREA_PART_SCROLLBAR); - 14e86: 2101 movs r1, #1 - 14e88: 4620 mov r0, r4 - 14e8a: 47c0 blx r8 + 148de: 2101 movs r1, #1 + 148e0: 4620 mov r0, r4 + 148e2: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_TEXTAREA_PART_SCROLLBAR); - 14e8c: 2101 movs r1, #1 - 14e8e: 4620 mov r0, r4 - 14e90: 47b8 blx r7 + 148e4: 2101 movs r1, #1 + 148e6: 4620 mov r0, r4 + 148e8: 47b8 blx r7 _lv_style_list_add_style(list, &styles->sb); - 14e92: 6831 ldr r1, [r6, #0] - 14e94: 3180 adds r1, #128 ; 0x80 - 14e96: 47a8 blx r5 + 148ea: 6831 ldr r1, [r6, #0] + 148ec: 3180 adds r1, #128 ; 0x80 + 148ee: 47a8 blx r5 break; - 14e98: e4bd b.n 14816 + 148f0: e4bd b.n 1426e lv_obj_clean_style_list(obj, LV_SPINBOX_PART_BG); - 14e9a: 2100 movs r1, #0 - 14e9c: f8df 8108 ldr.w r8, [pc, #264] ; 14fa8 - 14ea0: 47c0 blx r8 + 148f2: 2100 movs r1, #0 + 148f4: f8df 8108 ldr.w r8, [pc, #264] ; 14a00 + 148f8: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_SPINBOX_PART_BG); - 14ea2: 2100 movs r1, #0 - 14ea4: 4620 mov r0, r4 - 14ea6: 4f3d ldr r7, [pc, #244] ; (14f9c ) - 14ea8: 47b8 blx r7 - 14eaa: 4681 mov r9, r0 + 148fa: 2100 movs r1, #0 + 148fc: 4620 mov r0, r4 + 148fe: 4f3d ldr r7, [pc, #244] ; (149f4 ) + 14900: 47b8 blx r7 + 14902: 4681 mov r9, r0 _lv_style_list_add_style(list, &styles->bg); - 14eac: 4e3c ldr r6, [pc, #240] ; (14fa0 ) - 14eae: 6831 ldr r1, [r6, #0] - 14eb0: 3104 adds r1, #4 - 14eb2: 4d3c ldr r5, [pc, #240] ; (14fa4 ) - 14eb4: 47a8 blx r5 + 14904: 4e3c ldr r6, [pc, #240] ; (149f8 ) + 14906: 6831 ldr r1, [r6, #0] + 14908: 3104 adds r1, #4 + 1490a: 4d3c ldr r5, [pc, #240] ; (149fc ) + 1490c: 47a8 blx r5 _lv_style_list_add_style(list, &styles->pad_small); - 14eb6: 6831 ldr r1, [r6, #0] - 14eb8: 3118 adds r1, #24 - 14eba: 4648 mov r0, r9 - 14ebc: 47a8 blx r5 + 1490e: 6831 ldr r1, [r6, #0] + 14910: 3118 adds r1, #24 + 14912: 4648 mov r0, r9 + 14914: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_SPINBOX_PART_CURSOR); - 14ebe: 2103 movs r1, #3 - 14ec0: 4620 mov r0, r4 - 14ec2: 47c0 blx r8 + 14916: 2103 movs r1, #3 + 14918: 4620 mov r0, r4 + 1491a: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_SPINBOX_PART_CURSOR); - 14ec4: 2103 movs r1, #3 - 14ec6: 4620 mov r0, r4 - 14ec8: 47b8 blx r7 + 1491c: 2103 movs r1, #3 + 1491e: 4620 mov r0, r4 + 14920: 47b8 blx r7 _lv_style_list_add_style(list, &styles->spinbox_cursor); - 14eca: 6831 ldr r1, [r6, #0] - 14ecc: 3198 adds r1, #152 ; 0x98 - 14ece: 47a8 blx r5 + 14922: 6831 ldr r1, [r6, #0] + 14924: 3198 adds r1, #152 ; 0x98 + 14926: 47a8 blx r5 break; - 14ed0: e4a1 b.n 14816 + 14928: e4a1 b.n 1426e lv_obj_clean_style_list(obj, LV_BTN_PART_MAIN); - 14ed2: 2100 movs r1, #0 - 14ed4: 4b34 ldr r3, [pc, #208] ; (14fa8 ) - 14ed6: 4798 blx r3 + 1492a: 2100 movs r1, #0 + 1492c: 4b34 ldr r3, [pc, #208] ; (14a00 ) + 1492e: 4798 blx r3 list = lv_obj_get_style_list(obj, LV_BTN_PART_MAIN); - 14ed8: 2100 movs r1, #0 - 14eda: 4620 mov r0, r4 - 14edc: 4b2f ldr r3, [pc, #188] ; (14f9c ) - 14ede: 4798 blx r3 - 14ee0: 4607 mov r7, r0 + 14930: 2100 movs r1, #0 + 14932: 4620 mov r0, r4 + 14934: 4b2f ldr r3, [pc, #188] ; (149f4 ) + 14936: 4798 blx r3 + 14938: 4607 mov r7, r0 _lv_style_list_add_style(list, &styles->bg); - 14ee2: 4e2f ldr r6, [pc, #188] ; (14fa0 ) - 14ee4: 6831 ldr r1, [r6, #0] - 14ee6: 3104 adds r1, #4 - 14ee8: 4d2e ldr r5, [pc, #184] ; (14fa4 ) - 14eea: 47a8 blx r5 + 1493a: 4e2f ldr r6, [pc, #188] ; (149f8 ) + 1493c: 6831 ldr r1, [r6, #0] + 1493e: 3104 adds r1, #4 + 14940: 4d2e ldr r5, [pc, #184] ; (149fc ) + 14942: 47a8 blx r5 _lv_style_list_add_style(list, &styles->bg_click); - 14eec: 6831 ldr r1, [r6, #0] - 14eee: 3108 adds r1, #8 - 14ef0: 4638 mov r0, r7 - 14ef2: 47a8 blx r5 + 14944: 6831 ldr r1, [r6, #0] + 14946: 3108 adds r1, #8 + 14948: 4638 mov r0, r7 + 1494a: 47a8 blx r5 break; - 14ef4: e48f b.n 14816 + 1494c: e48f b.n 1426e lv_obj_clean_style_list(obj, LV_CALENDAR_PART_BG); - 14ef6: 2100 movs r1, #0 - 14ef8: f8df 80ac ldr.w r8, [pc, #172] ; 14fa8 - 14efc: 47c0 blx r8 + 1494e: 2100 movs r1, #0 + 14950: f8df 80ac ldr.w r8, [pc, #172] ; 14a00 + 14954: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_CALENDAR_PART_BG); - 14efe: 2100 movs r1, #0 - 14f00: 4620 mov r0, r4 - 14f02: 4f26 ldr r7, [pc, #152] ; (14f9c ) - 14f04: 47b8 blx r7 + 14956: 2100 movs r1, #0 + 14958: 4620 mov r0, r4 + 1495a: 4f26 ldr r7, [pc, #152] ; (149f4 ) + 1495c: 47b8 blx r7 _lv_style_list_add_style(list, &styles->bg); - 14f06: 4e26 ldr r6, [pc, #152] ; (14fa0 ) - 14f08: 6831 ldr r1, [r6, #0] - 14f0a: 3104 adds r1, #4 - 14f0c: 4d25 ldr r5, [pc, #148] ; (14fa4 ) - 14f0e: 47a8 blx r5 + 1495e: 4e26 ldr r6, [pc, #152] ; (149f8 ) + 14960: 6831 ldr r1, [r6, #0] + 14962: 3104 adds r1, #4 + 14964: 4d25 ldr r5, [pc, #148] ; (149fc ) + 14966: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_CALENDAR_PART_DATE); - 14f10: 2103 movs r1, #3 - 14f12: 4620 mov r0, r4 - 14f14: 47c0 blx r8 + 14968: 2103 movs r1, #3 + 1496a: 4620 mov r0, r4 + 1496c: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_CALENDAR_PART_DATE); - 14f16: 2103 movs r1, #3 - 14f18: 4620 mov r0, r4 - 14f1a: 47b8 blx r7 + 1496e: 2103 movs r1, #3 + 14970: 4620 mov r0, r4 + 14972: 47b8 blx r7 _lv_style_list_add_style(list, &styles->calendar_date_nums); - 14f1c: 6831 ldr r1, [r6, #0] - 14f1e: 312c adds r1, #44 ; 0x2c - 14f20: 47a8 blx r5 + 14974: 6831 ldr r1, [r6, #0] + 14976: 312c adds r1, #44 ; 0x2c + 14978: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_CALENDAR_PART_HEADER); - 14f22: 2101 movs r1, #1 - 14f24: 4620 mov r0, r4 - 14f26: 47c0 blx r8 + 1497a: 2101 movs r1, #1 + 1497c: 4620 mov r0, r4 + 1497e: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_CALENDAR_PART_HEADER); - 14f28: 2101 movs r1, #1 - 14f2a: 4620 mov r0, r4 - 14f2c: 47b8 blx r7 + 14980: 2101 movs r1, #1 + 14982: 4620 mov r0, r4 + 14984: 47b8 blx r7 _lv_style_list_add_style(list, &styles->calendar_header); - 14f2e: 6831 ldr r1, [r6, #0] - 14f30: 3130 adds r1, #48 ; 0x30 - 14f32: 47a8 blx r5 + 14986: 6831 ldr r1, [r6, #0] + 14988: 3130 adds r1, #48 ; 0x30 + 1498a: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_CALENDAR_PART_DAY_NAMES); - 14f34: 2102 movs r1, #2 - 14f36: 4620 mov r0, r4 - 14f38: 47c0 blx r8 + 1498c: 2102 movs r1, #2 + 1498e: 4620 mov r0, r4 + 14990: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_CALENDAR_PART_DAY_NAMES); - 14f3a: 2102 movs r1, #2 - 14f3c: 4620 mov r0, r4 - 14f3e: 47b8 blx r7 + 14992: 2102 movs r1, #2 + 14994: 4620 mov r0, r4 + 14996: 47b8 blx r7 _lv_style_list_add_style(list, &styles->calendar_daynames); - 14f40: 6831 ldr r1, [r6, #0] - 14f42: 3134 adds r1, #52 ; 0x34 - 14f44: 47a8 blx r5 + 14998: 6831 ldr r1, [r6, #0] + 1499a: 3134 adds r1, #52 ; 0x34 + 1499c: 47a8 blx r5 break; - 14f46: e466 b.n 14816 + 1499e: e466 b.n 1426e lv_obj_clean_style_list(obj, LV_CPICKER_PART_MAIN); - 14f48: 2100 movs r1, #0 - 14f4a: f8df 805c ldr.w r8, [pc, #92] ; 14fa8 - 14f4e: 47c0 blx r8 + 149a0: 2100 movs r1, #0 + 149a2: f8df 805c ldr.w r8, [pc, #92] ; 14a00 + 149a6: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_CPICKER_PART_MAIN); - 14f50: 2100 movs r1, #0 - 14f52: 4620 mov r0, r4 - 14f54: 4f11 ldr r7, [pc, #68] ; (14f9c ) - 14f56: 47b8 blx r7 + 149a8: 2100 movs r1, #0 + 149aa: 4620 mov r0, r4 + 149ac: 4f11 ldr r7, [pc, #68] ; (149f4 ) + 149ae: 47b8 blx r7 _lv_style_list_add_style(list, &styles->cpicker_bg); - 14f58: 4e11 ldr r6, [pc, #68] ; (14fa0 ) - 14f5a: 6831 ldr r1, [r6, #0] - 14f5c: 3138 adds r1, #56 ; 0x38 - 14f5e: 4d11 ldr r5, [pc, #68] ; (14fa4 ) - 14f60: 47a8 blx r5 + 149b0: 4e11 ldr r6, [pc, #68] ; (149f8 ) + 149b2: 6831 ldr r1, [r6, #0] + 149b4: 3138 adds r1, #56 ; 0x38 + 149b6: 4d11 ldr r5, [pc, #68] ; (149fc ) + 149b8: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_CPICKER_PART_KNOB); - 14f62: 2101 movs r1, #1 - 14f64: 4620 mov r0, r4 - 14f66: 47c0 blx r8 + 149ba: 2101 movs r1, #1 + 149bc: 4620 mov r0, r4 + 149be: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_CPICKER_PART_KNOB); - 14f68: 2101 movs r1, #1 - 14f6a: 4620 mov r0, r4 - 14f6c: 47b8 blx r7 + 149c0: 2101 movs r1, #1 + 149c2: 4620 mov r0, r4 + 149c4: 47b8 blx r7 _lv_style_list_add_style(list, &styles->cpicker_indic); - 14f6e: 6831 ldr r1, [r6, #0] - 14f70: 313c adds r1, #60 ; 0x3c - 14f72: 47a8 blx r5 + 149c6: 6831 ldr r1, [r6, #0] + 149c8: 313c adds r1, #60 ; 0x3c + 149ca: 47a8 blx r5 break; - 14f74: e44f b.n 14816 + 149cc: e44f b.n 1426e lv_obj_clean_style_list(obj, LV_LINEMETER_PART_MAIN); - 14f76: 2100 movs r1, #0 - 14f78: 4b0b ldr r3, [pc, #44] ; (14fa8 ) - 14f7a: 4798 blx r3 + 149ce: 2100 movs r1, #0 + 149d0: 4b0b ldr r3, [pc, #44] ; (14a00 ) + 149d2: 4798 blx r3 list = lv_obj_get_style_list(obj, LV_LINEMETER_PART_MAIN); - 14f7c: 2100 movs r1, #0 - 14f7e: 4620 mov r0, r4 - 14f80: 4b06 ldr r3, [pc, #24] ; (14f9c ) - 14f82: 4798 blx r3 - 14f84: 4607 mov r7, r0 + 149d4: 2100 movs r1, #0 + 149d6: 4620 mov r0, r4 + 149d8: 4b06 ldr r3, [pc, #24] ; (149f4 ) + 149da: 4798 blx r3 + 149dc: 4607 mov r7, r0 _lv_style_list_add_style(list, &styles->bg); - 14f86: 4e06 ldr r6, [pc, #24] ; (14fa0 ) - 14f88: 6831 ldr r1, [r6, #0] - 14f8a: 3104 adds r1, #4 - 14f8c: 4d05 ldr r5, [pc, #20] ; (14fa4 ) - 14f8e: 47a8 blx r5 + 149de: 4e06 ldr r6, [pc, #24] ; (149f8 ) + 149e0: 6831 ldr r1, [r6, #0] + 149e2: 3104 adds r1, #4 + 149e4: 4d05 ldr r5, [pc, #20] ; (149fc ) + 149e6: 47a8 blx r5 _lv_style_list_add_style(list, &styles->lmeter); - 14f90: 6831 ldr r1, [r6, #0] - 14f92: 3170 adds r1, #112 ; 0x70 - 14f94: 4638 mov r0, r7 - 14f96: 47a8 blx r5 + 149e8: 6831 ldr r1, [r6, #0] + 149ea: 3170 adds r1, #112 ; 0x70 + 149ec: 4638 mov r0, r7 + 149ee: 47a8 blx r5 break; - 14f98: e43d b.n 14816 - 14f9a: bf00 nop - 14f9c: 00003685 .word 0x00003685 - 14fa0: 20006bd8 .word 0x20006bd8 - 14fa4: 00006b81 .word 0x00006b81 - 14fa8: 00003755 .word 0x00003755 + 149f0: e43d b.n 1426e + 149f2: bf00 nop + 149f4: 00002ffd .word 0x00002ffd + 149f8: 20006bd8 .word 0x20006bd8 + 149fc: 000065d9 .word 0x000065d9 + 14a00: 000030cd .word 0x000030cd lv_obj_clean_style_list(obj, LV_GAUGE_PART_MAIN); - 14fac: 2100 movs r1, #0 - 14fae: f8df 8054 ldr.w r8, [pc, #84] ; 15004 - 14fb2: 47c0 blx r8 + 14a04: 2100 movs r1, #0 + 14a06: f8df 8054 ldr.w r8, [pc, #84] ; 14a5c + 14a0a: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_GAUGE_PART_MAIN); - 14fb4: 2100 movs r1, #0 - 14fb6: 4620 mov r0, r4 - 14fb8: 4f0f ldr r7, [pc, #60] ; (14ff8 ) - 14fba: 47b8 blx r7 - 14fbc: 4681 mov r9, r0 + 14a0c: 2100 movs r1, #0 + 14a0e: 4620 mov r0, r4 + 14a10: 4f0f ldr r7, [pc, #60] ; (14a50 ) + 14a12: 47b8 blx r7 + 14a14: 4681 mov r9, r0 _lv_style_list_add_style(list, &styles->bg); - 14fbe: 4e0f ldr r6, [pc, #60] ; (14ffc ) - 14fc0: 6831 ldr r1, [r6, #0] - 14fc2: 3104 adds r1, #4 - 14fc4: 4d0e ldr r5, [pc, #56] ; (15000 ) - 14fc6: 47a8 blx r5 + 14a16: 4e0f ldr r6, [pc, #60] ; (14a54 ) + 14a18: 6831 ldr r1, [r6, #0] + 14a1a: 3104 adds r1, #4 + 14a1c: 4d0e ldr r5, [pc, #56] ; (14a58 ) + 14a1e: 47a8 blx r5 _lv_style_list_add_style(list, &styles->gauge_main); - 14fc8: 6831 ldr r1, [r6, #0] - 14fca: 315c adds r1, #92 ; 0x5c - 14fcc: 4648 mov r0, r9 - 14fce: 47a8 blx r5 + 14a20: 6831 ldr r1, [r6, #0] + 14a22: 315c adds r1, #92 ; 0x5c + 14a24: 4648 mov r0, r9 + 14a26: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_GAUGE_PART_MAJOR); - 14fd0: 2101 movs r1, #1 - 14fd2: 4620 mov r0, r4 - 14fd4: 47c0 blx r8 + 14a28: 2101 movs r1, #1 + 14a2a: 4620 mov r0, r4 + 14a2c: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_GAUGE_PART_MAJOR); - 14fd6: 2101 movs r1, #1 - 14fd8: 4620 mov r0, r4 - 14fda: 47b8 blx r7 + 14a2e: 2101 movs r1, #1 + 14a30: 4620 mov r0, r4 + 14a32: 47b8 blx r7 _lv_style_list_add_style(list, &styles->gauge_strong); - 14fdc: 6831 ldr r1, [r6, #0] - 14fde: 3160 adds r1, #96 ; 0x60 - 14fe0: 47a8 blx r5 + 14a34: 6831 ldr r1, [r6, #0] + 14a36: 3160 adds r1, #96 ; 0x60 + 14a38: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_GAUGE_PART_NEEDLE); - 14fe2: 2102 movs r1, #2 - 14fe4: 4620 mov r0, r4 - 14fe6: 47c0 blx r8 + 14a3a: 2102 movs r1, #2 + 14a3c: 4620 mov r0, r4 + 14a3e: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_GAUGE_PART_NEEDLE); - 14fe8: 2102 movs r1, #2 - 14fea: 4620 mov r0, r4 - 14fec: 47b8 blx r7 + 14a40: 2102 movs r1, #2 + 14a42: 4620 mov r0, r4 + 14a44: 47b8 blx r7 _lv_style_list_add_style(list, &styles->gauge_needle); - 14fee: 6831 ldr r1, [r6, #0] - 14ff0: 3164 adds r1, #100 ; 0x64 - 14ff2: 47a8 blx r5 + 14a46: 6831 ldr r1, [r6, #0] + 14a48: 3164 adds r1, #100 ; 0x64 + 14a4a: 47a8 blx r5 break; - 14ff4: e40f b.n 14816 - 14ff6: bf00 nop - 14ff8: 00003685 .word 0x00003685 - 14ffc: 20006bd8 .word 0x20006bd8 - 15000: 00006b81 .word 0x00006b81 - 15004: 00003755 .word 0x00003755 - -00015008 : + 14a4c: e40f b.n 1426e + 14a4e: bf00 nop + 14a50: 00002ffd .word 0x00002ffd + 14a54: 20006bd8 .word 0x20006bd8 + 14a58: 000065d9 .word 0x000065d9 + 14a5c: 000030cd .word 0x000030cd + +00014a60 : /********************** * STATIC FUNCTIONS **********************/ static void style_init_reset(lv_style_t * style) { - 15008: b508 push {r3, lr} + 14a60: b508 push {r3, lr} if(inited) lv_style_reset(style); - 1500a: 4b04 ldr r3, [pc, #16] ; (1501c ) - 1500c: 791b ldrb r3, [r3, #4] - 1500e: b913 cbnz r3, 15016 + 14a62: 4b04 ldr r3, [pc, #16] ; (14a74 ) + 14a64: 791b ldrb r3, [r3, #4] + 14a66: b913 cbnz r3, 14a6e else lv_style_init(style); - 15010: 4b03 ldr r3, [pc, #12] ; (15020 ) - 15012: 4798 blx r3 - 15014: bd08 pop {r3, pc} + 14a68: 4b03 ldr r3, [pc, #12] ; (14a78 ) + 14a6a: 4798 blx r3 + 14a6c: bd08 pop {r3, pc} if(inited) lv_style_reset(style); - 15016: 4b03 ldr r3, [pc, #12] ; (15024 ) - 15018: 4798 blx r3 - 1501a: bd08 pop {r3, pc} - 1501c: 20006bd8 .word 0x20006bd8 - 15020: 00006a81 .word 0x00006a81 - 15024: 00006d0d .word 0x00006d0d + 14a6e: 4b03 ldr r3, [pc, #12] ; (14a7c ) + 14a70: 4798 blx r3 + 14a72: bd08 pop {r3, pc} + 14a74: 20006bd8 .word 0x20006bd8 + 14a78: 000064d9 .word 0x000064d9 + 14a7c: 00006765 .word 0x00006765 -00015028 : +00014a80 : { - 15028: b570 push {r4, r5, r6, lr} + 14a80: b570 push {r4, r5, r6, lr} style_init_reset(&styles->scr); - 1502a: 4cb3 ldr r4, [pc, #716] ; (152f8 ) - 1502c: 6820 ldr r0, [r4, #0] - 1502e: 4bb3 ldr r3, [pc, #716] ; (152fc ) - 15030: 4798 blx r3 + 14a82: 4cb3 ldr r4, [pc, #716] ; (14d50 ) + 14a84: 6820 ldr r0, [r4, #0] + 14a86: 4bb3 ldr r3, [pc, #716] ; (14d54 ) + 14a88: 4798 blx r3 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_MAIN_STOP, bg_main_stop, lv_style_int_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(BG_GRAD_STOP, bg_grad_stop, lv_style_int_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(BG_GRAD_DIR, bg_grad_dir, lv_grad_dir_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) _LV_OBJ_STYLE_SET_GET_DECLARE(BG_GRAD_COLOR, bg_grad_color, lv_color_t, _color, nonscalar) _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 15032: 22ff movs r2, #255 ; 0xff - 15034: 212c movs r1, #44 ; 0x2c - 15036: 6820 ldr r0, [r4, #0] - 15038: 4bb1 ldr r3, [pc, #708] ; (15300 ) - 1503a: 4798 blx r3 + 14a8a: 22ff movs r2, #255 ; 0xff + 14a8c: 212c movs r1, #44 ; 0x2c + 14a8e: 6820 ldr r0, [r4, #0] + 14a90: 4bb1 ldr r3, [pc, #708] ; (14d58 ) + 14a92: 4798 blx r3 lv_style_set_bg_color(&styles->scr, LV_STATE_DEFAULT, COLOR_SCR); - 1503c: 6a23 ldr r3, [r4, #32] - 1503e: f013 0302 ands.w r3, r3, #2 - 15042: bf14 ite ne - 15044: 211d movne r1, #29 - 15046: 2108 moveq r1, #8 - 15048: 2b00 cmp r3, #0 - 1504a: bf15 itete ne - 1504c: 203b movne r0, #59 ; 0x3b - 1504e: 2012 moveq r0, #18 - 15050: 231e movne r3, #30 - 15052: 230b moveq r3, #11 - 15054: f04f 0200 mov.w r2, #0 - 15058: f363 0204 bfi r2, r3, #0, #5 - 1505c: f360 124a bfi r2, r0, #5, #6 - 15060: f361 22cf bfi r2, r1, #11, #5 + 14a94: 6a23 ldr r3, [r4, #32] + 14a96: f013 0302 ands.w r3, r3, #2 + 14a9a: bf14 ite ne + 14a9c: 211d movne r1, #29 + 14a9e: 2108 moveq r1, #8 + 14aa0: 2b00 cmp r3, #0 + 14aa2: bf15 itete ne + 14aa4: 203b movne r0, #59 ; 0x3b + 14aa6: 2012 moveq r0, #18 + 14aa8: 231e movne r3, #30 + 14aaa: 230b moveq r3, #11 + 14aac: f04f 0200 mov.w r2, #0 + 14ab0: f363 0204 bfi r2, r3, #0, #5 + 14ab4: f360 124a bfi r2, r0, #5, #6 + 14ab8: f361 22cf bfi r2, r1, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 15064: 2129 movs r1, #41 ; 0x29 - 15066: 6820 ldr r0, [r4, #0] - 15068: 4ba6 ldr r3, [pc, #664] ; (15304 ) - 1506a: 4798 blx r3 + 14abc: 2129 movs r1, #41 ; 0x29 + 14abe: 6820 ldr r0, [r4, #0] + 14ac0: 4ba6 ldr r3, [pc, #664] ; (14d5c ) + 14ac2: 4798 blx r3 lv_style_set_text_color(&styles->scr, LV_STATE_DEFAULT, COLOR_SCR_TEXT); - 1506c: 4620 mov r0, r4 - 1506e: 6a23 ldr r3, [r4, #32] - 15070: f013 0302 ands.w r3, r3, #2 - 15074: bf14 ite ne - 15076: 2107 movne r1, #7 - 15078: 211c moveq r1, #28 - 1507a: 2b00 cmp r3, #0 - 1507c: bf15 itete ne - 1507e: 240f movne r4, #15 - 15080: 243a moveq r4, #58 ; 0x3a - 15082: 2308 movne r3, #8 - 15084: 231d moveq r3, #29 - 15086: f04f 0200 mov.w r2, #0 - 1508a: f363 0204 bfi r2, r3, #0, #5 - 1508e: f364 124a bfi r2, r4, #5, #6 - 15092: f361 22cf bfi r2, r1, #11, #5 + 14ac4: 4620 mov r0, r4 + 14ac6: 6a23 ldr r3, [r4, #32] + 14ac8: f013 0302 ands.w r3, r3, #2 + 14acc: bf14 ite ne + 14ace: 2107 movne r1, #7 + 14ad0: 211c moveq r1, #28 + 14ad2: 2b00 cmp r3, #0 + 14ad4: bf15 itete ne + 14ad6: 240f movne r4, #15 + 14ad8: 243a moveq r4, #58 ; 0x3a + 14ada: 2308 movne r3, #8 + 14adc: 231d moveq r3, #29 + 14ade: f04f 0200 mov.w r2, #0 + 14ae2: f363 0204 bfi r2, r3, #0, #5 + 14ae6: f364 124a bfi r2, r4, #5, #6 + 14aea: f361 22cf bfi r2, r1, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_STR, value_str, const char *, _ptr, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_LETTER_SPACE, text_letter_space, lv_style_int_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_LINE_SPACE, text_line_space, lv_style_int_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_DECOR, text_decor, lv_text_decor_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_BLEND_MODE, text_blend_mode, lv_blend_mode_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar) - 15096: f248 0189 movw r1, #32905 ; 0x8089 - 1509a: 6800 ldr r0, [r0, #0] - 1509c: 4b99 ldr r3, [pc, #612] ; (15304 ) - 1509e: 4798 blx r3 + 14aee: f248 0189 movw r1, #32905 ; 0x8089 + 14af2: 6800 ldr r0, [r0, #0] + 14af4: 4b99 ldr r3, [pc, #612] ; (14d5c ) + 14af6: 4798 blx r3 lv_style_set_value_color(&styles->scr, LV_STATE_DEFAULT, COLOR_SCR_TEXT); - 150a0: 4895 ldr r0, [pc, #596] ; (152f8 ) - 150a2: 6a03 ldr r3, [r0, #32] - 150a4: f013 0302 ands.w r3, r3, #2 - 150a8: bf14 ite ne - 150aa: 2107 movne r1, #7 - 150ac: 211c moveq r1, #28 - 150ae: 2b00 cmp r3, #0 - 150b0: bf15 itete ne - 150b2: 240f movne r4, #15 - 150b4: 243a moveq r4, #58 ; 0x3a - 150b6: 2308 movne r3, #8 - 150b8: 231d moveq r3, #29 - 150ba: f04f 0200 mov.w r2, #0 - 150be: f363 0204 bfi r2, r3, #0, #5 - 150c2: f364 124a bfi r2, r4, #5, #6 - 150c6: f361 22cf bfi r2, r1, #11, #5 + 14af8: 4895 ldr r0, [pc, #596] ; (14d50 ) + 14afa: 6a03 ldr r3, [r0, #32] + 14afc: f013 0302 ands.w r3, r3, #2 + 14b00: bf14 ite ne + 14b02: 2107 movne r1, #7 + 14b04: 211c moveq r1, #28 + 14b06: 2b00 cmp r3, #0 + 14b08: bf15 itete ne + 14b0a: 240f movne r4, #15 + 14b0c: 243a moveq r4, #58 ; 0x3a + 14b0e: 2308 movne r3, #8 + 14b10: 231d moveq r3, #29 + 14b12: f04f 0200 mov.w r2, #0 + 14b16: f363 0204 bfi r2, r3, #0, #5 + 14b1a: f364 124a bfi r2, r4, #5, #6 + 14b1e: f361 22cf bfi r2, r1, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_COLOR, value_color, lv_color_t, _color, nonscalar) - 150ca: 2179 movs r1, #121 ; 0x79 - 150cc: 6800 ldr r0, [r0, #0] - 150ce: 4b8d ldr r3, [pc, #564] ; (15304 ) - 150d0: 4798 blx r3 + 14b22: 2179 movs r1, #121 ; 0x79 + 14b24: 6800 ldr r0, [r0, #0] + 14b26: 4b8d ldr r3, [pc, #564] ; (14d5c ) + 14b28: 4798 blx r3 lv_style_set_text_font(&styles->scr, LV_STATE_DEFAULT, theme.font_normal); - 150d2: 4c89 ldr r4, [pc, #548] ; (152f8 ) + 14b2a: 4c89 ldr r4, [pc, #548] ; (14d50 ) _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_SEL_COLOR, text_sel_color, lv_color_t, _color, nonscalar) _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_OPA, text_opa, lv_opa_t, _opa, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_FONT, text_font, const lv_font_t *, _ptr, scalar) - 150d4: 6962 ldr r2, [r4, #20] - 150d6: f248 018e movw r1, #32910 ; 0x808e - 150da: 6820 ldr r0, [r4, #0] - 150dc: 4d8a ldr r5, [pc, #552] ; (15308 ) - 150de: 47a8 blx r5 + 14b2c: 6962 ldr r2, [r4, #20] + 14b2e: f248 018e movw r1, #32910 ; 0x808e + 14b32: 6820 ldr r0, [r4, #0] + 14b34: 4d8a ldr r5, [pc, #552] ; (14d60 ) + 14b36: 47a8 blx r5 _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_FONT, value_font, const lv_font_t *, _ptr, scalar) - 150e0: 6962 ldr r2, [r4, #20] - 150e2: 217e movs r1, #126 ; 0x7e - 150e4: 6820 ldr r0, [r4, #0] - 150e6: 47a8 blx r5 + 14b38: 6962 ldr r2, [r4, #20] + 14b3a: 217e movs r1, #126 ; 0x7e + 14b3c: 6820 ldr r0, [r4, #0] + 14b3e: 47a8 blx r5 style_init_reset(&styles->bg); - 150e8: 6820 ldr r0, [r4, #0] - 150ea: 3004 adds r0, #4 - 150ec: 4b83 ldr r3, [pc, #524] ; (152fc ) - 150ee: 4798 blx r3 + 14b40: 6820 ldr r0, [r4, #0] + 14b42: 3004 adds r0, #4 + 14b44: 4b83 ldr r3, [pc, #524] ; (14d54 ) + 14b46: 4798 blx r3 lv_style_set_radius(&styles->bg, LV_STATE_DEFAULT, LV_DPX(8)); - 150f0: 6824 ldr r4, [r4, #0] - 150f2: 3404 adds r4, #4 - 150f4: 2000 movs r0, #0 - 150f6: 4b85 ldr r3, [pc, #532] ; (1530c ) - 150f8: 4798 blx r3 - 150fa: 300a adds r0, #10 - 150fc: 00c0 lsls r0, r0, #3 - 150fe: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 15102: f280 8646 bge.w 15d92 - 15106: 2201 movs r2, #1 + 14b48: 6824 ldr r4, [r4, #0] + 14b4a: 3404 adds r4, #4 + 14b4c: 2000 movs r0, #0 + 14b4e: 4b85 ldr r3, [pc, #532] ; (14d64 ) + 14b50: 4798 blx r3 + 14b52: 300a adds r0, #10 + 14b54: 00c0 lsls r0, r0, #3 + 14b56: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 14b5a: f280 8646 bge.w 157ea + 14b5e: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 15108: 2101 movs r1, #1 - 1510a: 4620 mov r0, r4 - 1510c: 4b80 ldr r3, [pc, #512] ; (15310 ) - 1510e: 4798 blx r3 + 14b60: 2101 movs r1, #1 + 14b62: 4620 mov r0, r4 + 14b64: 4b80 ldr r3, [pc, #512] ; (14d68 ) + 14b66: 4798 blx r3 lv_style_set_bg_opa(&styles->bg, LV_STATE_DEFAULT, LV_OPA_COVER); - 15110: 4c79 ldr r4, [pc, #484] ; (152f8 ) - 15112: 6820 ldr r0, [r4, #0] + 14b68: 4c79 ldr r4, [pc, #484] ; (14d50 ) + 14b6a: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 15114: 22ff movs r2, #255 ; 0xff - 15116: 212c movs r1, #44 ; 0x2c - 15118: 3004 adds r0, #4 - 1511a: 4b79 ldr r3, [pc, #484] ; (15300 ) - 1511c: 4798 blx r3 + 14b6c: 22ff movs r2, #255 ; 0xff + 14b6e: 212c movs r1, #44 ; 0x2c + 14b70: 3004 adds r0, #4 + 14b72: 4b79 ldr r3, [pc, #484] ; (14d58 ) + 14b74: 4798 blx r3 lv_style_set_bg_color(&styles->bg, LV_STATE_DEFAULT, COLOR_BG); - 1511e: 6820 ldr r0, [r4, #0] - 15120: 3004 adds r0, #4 - 15122: 6a23 ldr r3, [r4, #32] - 15124: f013 0f02 tst.w r3, #2 - 15128: f040 8641 bne.w 15dae - 1512c: 230b movs r3, #11 - 1512e: 2118 movs r1, #24 - 15130: 240e movs r4, #14 - 15132: f04f 0200 mov.w r2, #0 - 15136: f364 0204 bfi r2, r4, #0, #5 - 1513a: f361 124a bfi r2, r1, #5, #6 - 1513e: f363 22cf bfi r2, r3, #11, #5 + 14b76: 6820 ldr r0, [r4, #0] + 14b78: 3004 adds r0, #4 + 14b7a: 6a23 ldr r3, [r4, #32] + 14b7c: f013 0f02 tst.w r3, #2 + 14b80: f040 8641 bne.w 15806 + 14b84: 230b movs r3, #11 + 14b86: 2118 movs r1, #24 + 14b88: 240e movs r4, #14 + 14b8a: f04f 0200 mov.w r2, #0 + 14b8e: f364 0204 bfi r2, r4, #0, #5 + 14b92: f361 124a bfi r2, r1, #5, #6 + 14b96: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 15142: 2129 movs r1, #41 ; 0x29 - 15144: 4b6f ldr r3, [pc, #444] ; (15304 ) - 15146: 4798 blx r3 + 14b9a: 2129 movs r1, #41 ; 0x29 + 14b9c: 4b6f ldr r3, [pc, #444] ; (14d5c ) + 14b9e: 4798 blx r3 lv_style_set_border_color(&styles->bg, LV_STATE_DEFAULT, COLOR_BG_BORDER); - 15148: 4b6b ldr r3, [pc, #428] ; (152f8 ) - 1514a: 6818 ldr r0, [r3, #0] - 1514c: 6a1b ldr r3, [r3, #32] - 1514e: f013 0302 ands.w r3, r3, #2 - 15152: bf14 ite ne - 15154: 211a movne r1, #26 - 15156: 2110 moveq r1, #16 - 15158: 2b00 cmp r3, #0 - 1515a: bf15 itete ne - 1515c: 2437 movne r4, #55 ; 0x37 - 1515e: 2422 moveq r4, #34 ; 0x22 - 15160: 231c movne r3, #28 - 15162: 2312 moveq r3, #18 - 15164: f04f 0200 mov.w r2, #0 - 15168: f363 0204 bfi r2, r3, #0, #5 - 1516c: f364 124a bfi r2, r4, #5, #6 - 15170: f361 22cf bfi r2, r1, #11, #5 + 14ba0: 4b6b ldr r3, [pc, #428] ; (14d50 ) + 14ba2: 6818 ldr r0, [r3, #0] + 14ba4: 6a1b ldr r3, [r3, #32] + 14ba6: f013 0302 ands.w r3, r3, #2 + 14baa: bf14 ite ne + 14bac: 211a movne r1, #26 + 14bae: 2110 moveq r1, #16 + 14bb0: 2b00 cmp r3, #0 + 14bb2: bf15 itete ne + 14bb4: 2437 movne r4, #55 ; 0x37 + 14bb6: 2422 moveq r4, #34 ; 0x22 + 14bb8: 231c movne r3, #28 + 14bba: 2312 moveq r3, #18 + 14bbc: f04f 0200 mov.w r2, #0 + 14bc0: f363 0204 bfi r2, r3, #0, #5 + 14bc4: f364 124a bfi r2, r4, #5, #6 + 14bc8: f361 22cf bfi r2, r1, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_COLOR, border_color, lv_color_t, _color, nonscalar) - 15174: 2139 movs r1, #57 ; 0x39 - 15176: 3004 adds r0, #4 - 15178: 4d62 ldr r5, [pc, #392] ; (15304 ) - 1517a: 47a8 blx r5 + 14bcc: 2139 movs r1, #57 ; 0x39 + 14bce: 3004 adds r0, #4 + 14bd0: 4d62 ldr r5, [pc, #392] ; (14d5c ) + 14bd2: 47a8 blx r5 lv_style_set_border_color(&styles->bg, LV_STATE_FOCUSED, theme.color_primary); - 1517c: 4c5e ldr r4, [pc, #376] ; (152f8 ) - 1517e: 6820 ldr r0, [r4, #0] - 15180: 89a2 ldrh r2, [r4, #12] - 15182: f240 2139 movw r1, #569 ; 0x239 - 15186: 3004 adds r0, #4 - 15188: 47a8 blx r5 + 14bd4: 4c5e ldr r4, [pc, #376] ; (14d50 ) + 14bd6: 6820 ldr r0, [r4, #0] + 14bd8: 89a2 ldrh r2, [r4, #12] + 14bda: f240 2139 movw r1, #569 ; 0x239 + 14bde: 3004 adds r0, #4 + 14be0: 47a8 blx r5 lv_style_set_border_color(&styles->bg, LV_STATE_EDITED, theme.color_secondary); - 1518a: 6820 ldr r0, [r4, #0] - 1518c: 89e2 ldrh r2, [r4, #14] - 1518e: f240 4139 movw r1, #1081 ; 0x439 - 15192: 3004 adds r0, #4 - 15194: 47a8 blx r5 + 14be2: 6820 ldr r0, [r4, #0] + 14be4: 89e2 ldrh r2, [r4, #14] + 14be6: f240 4139 movw r1, #1081 ; 0x439 + 14bea: 3004 adds r0, #4 + 14bec: 47a8 blx r5 lv_style_set_border_width(&styles->bg, LV_STATE_DEFAULT, BORDER_WIDTH); - 15196: 6824 ldr r4, [r4, #0] - 15198: 3404 adds r4, #4 - 1519a: 2000 movs r0, #0 - 1519c: 4b5b ldr r3, [pc, #364] ; (1530c ) - 1519e: 4798 blx r3 - 151a0: 3028 adds r0, #40 ; 0x28 - 151a2: 0040 lsls r0, r0, #1 - 151a4: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 151a8: f280 8606 bge.w 15db8 - 151ac: 2201 movs r2, #1 + 14bee: 6824 ldr r4, [r4, #0] + 14bf0: 3404 adds r4, #4 + 14bf2: 2000 movs r0, #0 + 14bf4: 4b5b ldr r3, [pc, #364] ; (14d64 ) + 14bf6: 4798 blx r3 + 14bf8: 3028 adds r0, #40 ; 0x28 + 14bfa: 0040 lsls r0, r0, #1 + 14bfc: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 14c00: f280 8606 bge.w 15810 + 14c04: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_WIDTH, border_width, lv_style_int_t, _int, scalar) - 151ae: 2130 movs r1, #48 ; 0x30 - 151b0: 4620 mov r0, r4 - 151b2: 4d57 ldr r5, [pc, #348] ; (15310 ) - 151b4: 47a8 blx r5 + 14c06: 2130 movs r1, #48 ; 0x30 + 14c08: 4620 mov r0, r4 + 14c0a: 4d57 ldr r5, [pc, #348] ; (14d68 ) + 14c0c: 47a8 blx r5 lv_style_set_border_post(&styles->bg, LV_STATE_DEFAULT, true); - 151b6: 4c50 ldr r4, [pc, #320] ; (152f8 ) - 151b8: 6820 ldr r0, [r4, #0] + 14c0e: 4c50 ldr r4, [pc, #320] ; (14d50 ) + 14c10: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_POST, border_post, bool, _int, scalar) - 151ba: 2201 movs r2, #1 - 151bc: 2133 movs r1, #51 ; 0x33 - 151be: 3004 adds r0, #4 - 151c0: 47a8 blx r5 + 14c12: 2201 movs r2, #1 + 14c14: 2133 movs r1, #51 ; 0x33 + 14c16: 3004 adds r0, #4 + 14c18: 47a8 blx r5 lv_style_set_text_font(&styles->bg, LV_STATE_DEFAULT, theme.font_normal); - 151c2: 6820 ldr r0, [r4, #0] + 14c1a: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_FONT, text_font, const lv_font_t *, _ptr, scalar) - 151c4: 6962 ldr r2, [r4, #20] - 151c6: f248 018e movw r1, #32910 ; 0x808e - 151ca: 3004 adds r0, #4 - 151cc: 4b4e ldr r3, [pc, #312] ; (15308 ) - 151ce: 4798 blx r3 + 14c1c: 6962 ldr r2, [r4, #20] + 14c1e: f248 018e movw r1, #32910 ; 0x808e + 14c22: 3004 adds r0, #4 + 14c24: 4b4e ldr r3, [pc, #312] ; (14d60 ) + 14c26: 4798 blx r3 lv_style_set_text_color(&styles->bg, LV_STATE_DEFAULT, COLOR_BG_TEXT); - 151d0: 6820 ldr r0, [r4, #0] - 151d2: 3004 adds r0, #4 - 151d4: 6a23 ldr r3, [r4, #32] - 151d6: f013 0f02 tst.w r3, #2 - 151da: f040 85fb bne.w 15dd4 - 151de: 231f movs r3, #31 - 151e0: 213f movs r1, #63 ; 0x3f - 151e2: 461c mov r4, r3 - 151e4: f04f 0200 mov.w r2, #0 - 151e8: f364 0204 bfi r2, r4, #0, #5 - 151ec: f361 124a bfi r2, r1, #5, #6 - 151f0: f363 22cf bfi r2, r3, #11, #5 + 14c28: 6820 ldr r0, [r4, #0] + 14c2a: 3004 adds r0, #4 + 14c2c: 6a23 ldr r3, [r4, #32] + 14c2e: f013 0f02 tst.w r3, #2 + 14c32: f040 85fb bne.w 1582c + 14c36: 231f movs r3, #31 + 14c38: 213f movs r1, #63 ; 0x3f + 14c3a: 461c mov r4, r3 + 14c3c: f04f 0200 mov.w r2, #0 + 14c40: f364 0204 bfi r2, r4, #0, #5 + 14c44: f361 124a bfi r2, r1, #5, #6 + 14c48: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar) - 151f4: f248 0189 movw r1, #32905 ; 0x8089 - 151f8: 4b42 ldr r3, [pc, #264] ; (15304 ) - 151fa: 4798 blx r3 + 14c4c: f248 0189 movw r1, #32905 ; 0x8089 + 14c50: 4b42 ldr r3, [pc, #264] ; (14d5c ) + 14c52: 4798 blx r3 lv_style_set_value_font(&styles->bg, LV_STATE_DEFAULT, theme.font_normal); - 151fc: 4c3e ldr r4, [pc, #248] ; (152f8 ) - 151fe: 6820 ldr r0, [r4, #0] + 14c54: 4c3e ldr r4, [pc, #248] ; (14d50 ) + 14c56: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_FONT, value_font, const lv_font_t *, _ptr, scalar) - 15200: 6962 ldr r2, [r4, #20] - 15202: 217e movs r1, #126 ; 0x7e - 15204: 3004 adds r0, #4 - 15206: 4b40 ldr r3, [pc, #256] ; (15308 ) - 15208: 4798 blx r3 + 14c58: 6962 ldr r2, [r4, #20] + 14c5a: 217e movs r1, #126 ; 0x7e + 14c5c: 3004 adds r0, #4 + 14c5e: 4b40 ldr r3, [pc, #256] ; (14d60 ) + 14c60: 4798 blx r3 lv_style_set_value_color(&styles->bg, LV_STATE_DEFAULT, COLOR_BG_TEXT); - 1520a: 6820 ldr r0, [r4, #0] - 1520c: 3004 adds r0, #4 - 1520e: 6a23 ldr r3, [r4, #32] - 15210: f013 0f02 tst.w r3, #2 - 15214: f040 85e3 bne.w 15dde - 15218: 231f movs r3, #31 - 1521a: 213f movs r1, #63 ; 0x3f - 1521c: 461c mov r4, r3 - 1521e: f04f 0200 mov.w r2, #0 - 15222: f364 0204 bfi r2, r4, #0, #5 - 15226: f361 124a bfi r2, r1, #5, #6 - 1522a: f363 22cf bfi r2, r3, #11, #5 + 14c62: 6820 ldr r0, [r4, #0] + 14c64: 3004 adds r0, #4 + 14c66: 6a23 ldr r3, [r4, #32] + 14c68: f013 0f02 tst.w r3, #2 + 14c6c: f040 85e3 bne.w 15836 + 14c70: 231f movs r3, #31 + 14c72: 213f movs r1, #63 ; 0x3f + 14c74: 461c mov r4, r3 + 14c76: f04f 0200 mov.w r2, #0 + 14c7a: f364 0204 bfi r2, r4, #0, #5 + 14c7e: f361 124a bfi r2, r1, #5, #6 + 14c82: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_COLOR, value_color, lv_color_t, _color, nonscalar) - 1522e: 2179 movs r1, #121 ; 0x79 - 15230: 4b34 ldr r3, [pc, #208] ; (15304 ) - 15232: 4798 blx r3 + 14c86: 2179 movs r1, #121 ; 0x79 + 14c88: 4b34 ldr r3, [pc, #208] ; (14d5c ) + 14c8a: 4798 blx r3 lv_style_set_image_recolor(&styles->bg, LV_STATE_DEFAULT, COLOR_BG_TEXT); - 15234: 4b30 ldr r3, [pc, #192] ; (152f8 ) - 15236: 6818 ldr r0, [r3, #0] - 15238: 3004 adds r0, #4 - 1523a: 6a1b ldr r3, [r3, #32] - 1523c: f013 0f02 tst.w r3, #2 - 15240: f040 85d2 bne.w 15de8 - 15244: 231f movs r3, #31 - 15246: 213f movs r1, #63 ; 0x3f - 15248: 461c mov r4, r3 - 1524a: f04f 0200 mov.w r2, #0 - 1524e: f364 0204 bfi r2, r4, #0, #5 - 15252: f361 124a bfi r2, r1, #5, #6 - 15256: f363 22cf bfi r2, r3, #11, #5 + 14c8c: 4b30 ldr r3, [pc, #192] ; (14d50 ) + 14c8e: 6818 ldr r0, [r3, #0] + 14c90: 3004 adds r0, #4 + 14c92: 6a1b ldr r3, [r3, #32] + 14c94: f013 0f02 tst.w r3, #2 + 14c98: f040 85d2 bne.w 15840 + 14c9c: 231f movs r3, #31 + 14c9e: 213f movs r1, #63 ; 0x3f + 14ca0: 461c mov r4, r3 + 14ca2: f04f 0200 mov.w r2, #0 + 14ca6: f364 0204 bfi r2, r4, #0, #5 + 14caa: f361 124a bfi r2, r1, #5, #6 + 14cae: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_DASH_GAP, line_dash_gap, lv_style_int_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_ROUNDED, line_rounded, bool, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_COLOR, line_color, lv_color_t, _color, nonscalar) _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_OPA, line_opa, lv_opa_t, _opa, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_BLEND_MODE, image_blend_mode, lv_blend_mode_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_RECOLOR, image_recolor, lv_color_t, _color, nonscalar) - 1525a: f248 01a9 movw r1, #32937 ; 0x80a9 - 1525e: 4b29 ldr r3, [pc, #164] ; (15304 ) - 15260: 4798 blx r3 + 14cb2: f248 01a9 movw r1, #32937 ; 0x80a9 + 14cb6: 4b29 ldr r3, [pc, #164] ; (14d5c ) + 14cb8: 4798 blx r3 lv_style_set_line_color(&styles->bg, LV_STATE_DEFAULT, COLOR_BG_TEXT); - 15262: 4b25 ldr r3, [pc, #148] ; (152f8 ) - 15264: 6818 ldr r0, [r3, #0] - 15266: 3004 adds r0, #4 - 15268: 6a1b ldr r3, [r3, #32] - 1526a: f013 0f02 tst.w r3, #2 - 1526e: f040 85c0 bne.w 15df2 - 15272: 231f movs r3, #31 - 15274: 213f movs r1, #63 ; 0x3f - 15276: 461c mov r4, r3 - 15278: f04f 0200 mov.w r2, #0 - 1527c: f364 0204 bfi r2, r4, #0, #5 - 15280: f361 124a bfi r2, r1, #5, #6 - 15284: f363 22cf bfi r2, r3, #11, #5 + 14cba: 4b25 ldr r3, [pc, #148] ; (14d50 ) + 14cbc: 6818 ldr r0, [r3, #0] + 14cbe: 3004 adds r0, #4 + 14cc0: 6a1b ldr r3, [r3, #32] + 14cc2: f013 0f02 tst.w r3, #2 + 14cc6: f040 85c0 bne.w 1584a + 14cca: 231f movs r3, #31 + 14ccc: 213f movs r1, #63 ; 0x3f + 14cce: 461c mov r4, r3 + 14cd0: f04f 0200 mov.w r2, #0 + 14cd4: f364 0204 bfi r2, r4, #0, #5 + 14cd8: f361 124a bfi r2, r1, #5, #6 + 14cdc: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_COLOR, line_color, lv_color_t, _color, nonscalar) - 15288: 2199 movs r1, #153 ; 0x99 - 1528a: 4b1e ldr r3, [pc, #120] ; (15304 ) - 1528c: 4798 blx r3 + 14ce0: 2199 movs r1, #153 ; 0x99 + 14ce2: 4b1e ldr r3, [pc, #120] ; (14d5c ) + 14ce4: 4798 blx r3 lv_style_set_line_width(&styles->bg, LV_STATE_DEFAULT, 1); - 1528e: 4c1a ldr r4, [pc, #104] ; (152f8 ) - 15290: 6820 ldr r0, [r4, #0] + 14ce6: 4c1a ldr r4, [pc, #104] ; (14d50 ) + 14ce8: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_WIDTH, line_width, lv_style_int_t, _int, scalar) - 15292: 2201 movs r2, #1 - 15294: 2190 movs r1, #144 ; 0x90 - 15296: 3004 adds r0, #4 - 15298: 4b1d ldr r3, [pc, #116] ; (15310 ) - 1529a: 4798 blx r3 + 14cea: 2201 movs r2, #1 + 14cec: 2190 movs r1, #144 ; 0x90 + 14cee: 3004 adds r0, #4 + 14cf0: 4b1d ldr r3, [pc, #116] ; (14d68 ) + 14cf2: 4798 blx r3 lv_style_set_pad_left(&styles->bg, LV_STATE_DEFAULT, PAD_DEF + BORDER_WIDTH); - 1529c: 6825 ldr r5, [r4, #0] - 1529e: 3504 adds r5, #4 - 152a0: 2000 movs r0, #0 - 152a2: 4b1c ldr r3, [pc, #112] ; (15314 ) - 152a4: 4798 blx r3 - 152a6: 2801 cmp r0, #1 - 152a8: f240 85a8 bls.w 15dfc - 152ac: 2000 movs r0, #0 - 152ae: 4b17 ldr r3, [pc, #92] ; (1530c ) - 152b0: 4798 blx r3 - 152b2: ebc0 1000 rsb r0, r0, r0, lsl #4 - 152b6: 0040 lsls r0, r0, #1 - 152b8: 3050 adds r0, #80 ; 0x50 - 152ba: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 152be: f280 85b8 bge.w 15e32 - 152c2: 2401 movs r4, #1 - 152c4: 2000 movs r0, #0 - 152c6: 4b11 ldr r3, [pc, #68] ; (1530c ) - 152c8: 4798 blx r3 - 152ca: 3028 adds r0, #40 ; 0x28 - 152cc: 0040 lsls r0, r0, #1 - 152ce: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 152d2: f280 85be bge.w 15e52 - 152d6: 2201 movs r2, #1 - 152d8: 4422 add r2, r4 + 14cf4: 6825 ldr r5, [r4, #0] + 14cf6: 3504 adds r5, #4 + 14cf8: 2000 movs r0, #0 + 14cfa: 4b1c ldr r3, [pc, #112] ; (14d6c ) + 14cfc: 4798 blx r3 + 14cfe: 2801 cmp r0, #1 + 14d00: f240 85a8 bls.w 15854 + 14d04: 2000 movs r0, #0 + 14d06: 4b17 ldr r3, [pc, #92] ; (14d64 ) + 14d08: 4798 blx r3 + 14d0a: ebc0 1000 rsb r0, r0, r0, lsl #4 + 14d0e: 0040 lsls r0, r0, #1 + 14d10: 3050 adds r0, #80 ; 0x50 + 14d12: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 14d16: f280 85b8 bge.w 1588a + 14d1a: 2401 movs r4, #1 + 14d1c: 2000 movs r0, #0 + 14d1e: 4b11 ldr r3, [pc, #68] ; (14d64 ) + 14d20: 4798 blx r3 + 14d22: 3028 adds r0, #40 ; 0x28 + 14d24: 0040 lsls r0, r0, #1 + 14d26: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 14d2a: f280 85be bge.w 158aa + 14d2e: 2201 movs r2, #1 + 14d30: 4422 add r2, r4 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 152da: b212 sxth r2, r2 - 152dc: 2112 movs r1, #18 - 152de: 4628 mov r0, r5 - 152e0: 4b0b ldr r3, [pc, #44] ; (15310 ) - 152e2: 4798 blx r3 + 14d32: b212 sxth r2, r2 + 14d34: 2112 movs r1, #18 + 14d36: 4628 mov r0, r5 + 14d38: 4b0b ldr r3, [pc, #44] ; (14d68 ) + 14d3a: 4798 blx r3 lv_style_set_pad_right(&styles->bg, LV_STATE_DEFAULT, PAD_DEF + BORDER_WIDTH); - 152e4: 4b04 ldr r3, [pc, #16] ; (152f8 ) - 152e6: 681d ldr r5, [r3, #0] - 152e8: 3504 adds r5, #4 - 152ea: 2000 movs r0, #0 - 152ec: 4b09 ldr r3, [pc, #36] ; (15314 ) - 152ee: 4798 blx r3 - 152f0: 2801 cmp r0, #1 - 152f2: f240 85bc bls.w 15e6e - 152f6: e00f b.n 15318 - 152f8: 20006bd8 .word 0x20006bd8 - 152fc: 00015009 .word 0x00015009 - 15300: 00007111 .word 0x00007111 - 15304: 00006fcd .word 0x00006fcd - 15308: 00007241 .word 0x00007241 - 1530c: 000114e5 .word 0x000114e5 - 15310: 00006e89 .word 0x00006e89 - 15314: 00011501 .word 0x00011501 - 15318: 2000 movs r0, #0 - 1531a: 4bb1 ldr r3, [pc, #708] ; (155e0 ) - 1531c: 4798 blx r3 - 1531e: ebc0 1000 rsb r0, r0, r0, lsl #4 - 15322: 0040 lsls r0, r0, #1 - 15324: 3050 adds r0, #80 ; 0x50 - 15326: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 1532a: f280 85bb bge.w 15ea4 - 1532e: 2401 movs r4, #1 - 15330: 2000 movs r0, #0 - 15332: 4bab ldr r3, [pc, #684] ; (155e0 ) - 15334: 4798 blx r3 - 15336: 3028 adds r0, #40 ; 0x28 - 15338: 0040 lsls r0, r0, #1 - 1533a: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 1533e: f280 85c1 bge.w 15ec4 - 15342: 2201 movs r2, #1 - 15344: 4422 add r2, r4 + 14d3c: 4b04 ldr r3, [pc, #16] ; (14d50 ) + 14d3e: 681d ldr r5, [r3, #0] + 14d40: 3504 adds r5, #4 + 14d42: 2000 movs r0, #0 + 14d44: 4b09 ldr r3, [pc, #36] ; (14d6c ) + 14d46: 4798 blx r3 + 14d48: 2801 cmp r0, #1 + 14d4a: f240 85bc bls.w 158c6 + 14d4e: e00f b.n 14d70 + 14d50: 20006bd8 .word 0x20006bd8 + 14d54: 00014a61 .word 0x00014a61 + 14d58: 00006b69 .word 0x00006b69 + 14d5c: 00006a25 .word 0x00006a25 + 14d60: 00006c99 .word 0x00006c99 + 14d64: 00010f3d .word 0x00010f3d + 14d68: 000068e1 .word 0x000068e1 + 14d6c: 00010f59 .word 0x00010f59 + 14d70: 2000 movs r0, #0 + 14d72: 4bb1 ldr r3, [pc, #708] ; (15038 ) + 14d74: 4798 blx r3 + 14d76: ebc0 1000 rsb r0, r0, r0, lsl #4 + 14d7a: 0040 lsls r0, r0, #1 + 14d7c: 3050 adds r0, #80 ; 0x50 + 14d7e: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 14d82: f280 85bb bge.w 158fc + 14d86: 2401 movs r4, #1 + 14d88: 2000 movs r0, #0 + 14d8a: 4bab ldr r3, [pc, #684] ; (15038 ) + 14d8c: 4798 blx r3 + 14d8e: 3028 adds r0, #40 ; 0x28 + 14d90: 0040 lsls r0, r0, #1 + 14d92: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 14d96: f280 85c1 bge.w 1591c + 14d9a: 2201 movs r2, #1 + 14d9c: 4422 add r2, r4 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 15346: b212 sxth r2, r2 - 15348: 2113 movs r1, #19 - 1534a: 4628 mov r0, r5 - 1534c: 4ba5 ldr r3, [pc, #660] ; (155e4 ) - 1534e: 4798 blx r3 + 14d9e: b212 sxth r2, r2 + 14da0: 2113 movs r1, #19 + 14da2: 4628 mov r0, r5 + 14da4: 4ba5 ldr r3, [pc, #660] ; (1503c ) + 14da6: 4798 blx r3 lv_style_set_pad_top(&styles->bg, LV_STATE_DEFAULT, PAD_DEF + BORDER_WIDTH); - 15350: 4ba5 ldr r3, [pc, #660] ; (155e8 ) - 15352: 681d ldr r5, [r3, #0] - 15354: 3504 adds r5, #4 - 15356: 2000 movs r0, #0 - 15358: 4ba4 ldr r3, [pc, #656] ; (155ec ) - 1535a: 4798 blx r3 - 1535c: 2801 cmp r0, #1 - 1535e: f240 85bf bls.w 15ee0 - 15362: 2000 movs r0, #0 - 15364: 4b9e ldr r3, [pc, #632] ; (155e0 ) - 15366: 4798 blx r3 - 15368: ebc0 1000 rsb r0, r0, r0, lsl #4 - 1536c: 0040 lsls r0, r0, #1 - 1536e: 3050 adds r0, #80 ; 0x50 - 15370: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 15374: f280 85cf bge.w 15f16 - 15378: 2401 movs r4, #1 - 1537a: 2000 movs r0, #0 - 1537c: 4b98 ldr r3, [pc, #608] ; (155e0 ) - 1537e: 4798 blx r3 - 15380: 3028 adds r0, #40 ; 0x28 - 15382: 0040 lsls r0, r0, #1 - 15384: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 15388: f280 85d5 bge.w 15f36 - 1538c: 2201 movs r2, #1 - 1538e: 4422 add r2, r4 + 14da8: 4ba5 ldr r3, [pc, #660] ; (15040 ) + 14daa: 681d ldr r5, [r3, #0] + 14dac: 3504 adds r5, #4 + 14dae: 2000 movs r0, #0 + 14db0: 4ba4 ldr r3, [pc, #656] ; (15044 ) + 14db2: 4798 blx r3 + 14db4: 2801 cmp r0, #1 + 14db6: f240 85bf bls.w 15938 + 14dba: 2000 movs r0, #0 + 14dbc: 4b9e ldr r3, [pc, #632] ; (15038 ) + 14dbe: 4798 blx r3 + 14dc0: ebc0 1000 rsb r0, r0, r0, lsl #4 + 14dc4: 0040 lsls r0, r0, #1 + 14dc6: 3050 adds r0, #80 ; 0x50 + 14dc8: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 14dcc: f280 85cf bge.w 1596e + 14dd0: 2401 movs r4, #1 + 14dd2: 2000 movs r0, #0 + 14dd4: 4b98 ldr r3, [pc, #608] ; (15038 ) + 14dd6: 4798 blx r3 + 14dd8: 3028 adds r0, #40 ; 0x28 + 14dda: 0040 lsls r0, r0, #1 + 14ddc: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 14de0: f280 85d5 bge.w 1598e + 14de4: 2201 movs r2, #1 + 14de6: 4422 add r2, r4 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) - 15390: b212 sxth r2, r2 - 15392: 2110 movs r1, #16 - 15394: 4628 mov r0, r5 - 15396: 4b93 ldr r3, [pc, #588] ; (155e4 ) - 15398: 4798 blx r3 + 14de8: b212 sxth r2, r2 + 14dea: 2110 movs r1, #16 + 14dec: 4628 mov r0, r5 + 14dee: 4b93 ldr r3, [pc, #588] ; (1503c ) + 14df0: 4798 blx r3 lv_style_set_pad_bottom(&styles->bg, LV_STATE_DEFAULT, PAD_DEF + BORDER_WIDTH); - 1539a: 4b93 ldr r3, [pc, #588] ; (155e8 ) - 1539c: 681d ldr r5, [r3, #0] - 1539e: 3504 adds r5, #4 - 153a0: 2000 movs r0, #0 - 153a2: 4b92 ldr r3, [pc, #584] ; (155ec ) - 153a4: 4798 blx r3 - 153a6: 2801 cmp r0, #1 - 153a8: f240 85d3 bls.w 15f52 - 153ac: 2000 movs r0, #0 - 153ae: 4b8c ldr r3, [pc, #560] ; (155e0 ) - 153b0: 4798 blx r3 - 153b2: ebc0 1000 rsb r0, r0, r0, lsl #4 - 153b6: 0040 lsls r0, r0, #1 - 153b8: 3050 adds r0, #80 ; 0x50 - 153ba: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 153be: f280 85f4 bge.w 15faa - 153c2: 2401 movs r4, #1 - 153c4: 2000 movs r0, #0 - 153c6: 4b86 ldr r3, [pc, #536] ; (155e0 ) - 153c8: 4798 blx r3 - 153ca: 3028 adds r0, #40 ; 0x28 - 153cc: 0040 lsls r0, r0, #1 - 153ce: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 153d2: f280 85fa bge.w 15fca - 153d6: 2201 movs r2, #1 - 153d8: 4422 add r2, r4 + 14df2: 4b93 ldr r3, [pc, #588] ; (15040 ) + 14df4: 681d ldr r5, [r3, #0] + 14df6: 3504 adds r5, #4 + 14df8: 2000 movs r0, #0 + 14dfa: 4b92 ldr r3, [pc, #584] ; (15044 ) + 14dfc: 4798 blx r3 + 14dfe: 2801 cmp r0, #1 + 14e00: f240 85d3 bls.w 159aa + 14e04: 2000 movs r0, #0 + 14e06: 4b8c ldr r3, [pc, #560] ; (15038 ) + 14e08: 4798 blx r3 + 14e0a: ebc0 1000 rsb r0, r0, r0, lsl #4 + 14e0e: 0040 lsls r0, r0, #1 + 14e10: 3050 adds r0, #80 ; 0x50 + 14e12: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 14e16: f280 85f4 bge.w 15a02 + 14e1a: 2401 movs r4, #1 + 14e1c: 2000 movs r0, #0 + 14e1e: 4b86 ldr r3, [pc, #536] ; (15038 ) + 14e20: 4798 blx r3 + 14e22: 3028 adds r0, #40 ; 0x28 + 14e24: 0040 lsls r0, r0, #1 + 14e26: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 14e2a: f280 85fa bge.w 15a22 + 14e2e: 2201 movs r2, #1 + 14e30: 4422 add r2, r4 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) - 153da: b212 sxth r2, r2 - 153dc: 2111 movs r1, #17 - 153de: 4628 mov r0, r5 - 153e0: 4b80 ldr r3, [pc, #512] ; (155e4 ) - 153e2: 4798 blx r3 + 14e32: b212 sxth r2, r2 + 14e34: 2111 movs r1, #17 + 14e36: 4628 mov r0, r5 + 14e38: 4b80 ldr r3, [pc, #512] ; (1503c ) + 14e3a: 4798 blx r3 lv_style_set_pad_inner(&styles->bg, LV_STATE_DEFAULT, PAD_DEF); - 153e4: 4b80 ldr r3, [pc, #512] ; (155e8 ) - 153e6: 681c ldr r4, [r3, #0] - 153e8: 3404 adds r4, #4 - 153ea: 2000 movs r0, #0 - 153ec: 4b7f ldr r3, [pc, #508] ; (155ec ) - 153ee: 4798 blx r3 - 153f0: 2801 cmp r0, #1 - 153f2: f240 85f8 bls.w 15fe6 - 153f6: 2000 movs r0, #0 - 153f8: 4b79 ldr r3, [pc, #484] ; (155e0 ) - 153fa: 4798 blx r3 - 153fc: ebc0 1000 rsb r0, r0, r0, lsl #4 - 15400: 0040 lsls r0, r0, #1 - 15402: 3050 adds r0, #80 ; 0x50 - 15404: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 15408: f280 8608 bge.w 1601c - 1540c: 2201 movs r2, #1 + 14e3c: 4b80 ldr r3, [pc, #512] ; (15040 ) + 14e3e: 681c ldr r4, [r3, #0] + 14e40: 3404 adds r4, #4 + 14e42: 2000 movs r0, #0 + 14e44: 4b7f ldr r3, [pc, #508] ; (15044 ) + 14e46: 4798 blx r3 + 14e48: 2801 cmp r0, #1 + 14e4a: f240 85f8 bls.w 15a3e + 14e4e: 2000 movs r0, #0 + 14e50: 4b79 ldr r3, [pc, #484] ; (15038 ) + 14e52: 4798 blx r3 + 14e54: ebc0 1000 rsb r0, r0, r0, lsl #4 + 14e58: 0040 lsls r0, r0, #1 + 14e5a: 3050 adds r0, #80 ; 0x50 + 14e5c: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 14e60: f280 8608 bge.w 15a74 + 14e64: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_INNER, pad_inner, lv_style_int_t, _int, scalar) - 1540e: 2114 movs r1, #20 - 15410: 4620 mov r0, r4 - 15412: 4d74 ldr r5, [pc, #464] ; (155e4 ) - 15414: 47a8 blx r5 + 14e66: 2114 movs r1, #20 + 14e68: 4620 mov r0, r4 + 14e6a: 4d74 ldr r5, [pc, #464] ; (1503c ) + 14e6c: 47a8 blx r5 lv_style_set_transition_time(&styles->bg, LV_STATE_DEFAULT, TRANSITION_TIME); - 15416: 4c74 ldr r4, [pc, #464] ; (155e8 ) - 15418: 6820 ldr r0, [r4, #0] + 14e6e: 4c74 ldr r4, [pc, #464] ; (15040 ) + 14e70: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_OPA, image_opa, lv_opa_t, _opa, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_RECOLOR_OPA, image_recolor_opa, lv_opa_t, _opa, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_TIME, transition_time, lv_style_int_t, _int, scalar) - 1541a: 2296 movs r2, #150 ; 0x96 - 1541c: 21b0 movs r1, #176 ; 0xb0 - 1541e: 3004 adds r0, #4 - 15420: 47a8 blx r5 + 14e72: 2296 movs r2, #150 ; 0x96 + 14e74: 21b0 movs r1, #176 ; 0xb0 + 14e76: 3004 adds r0, #4 + 14e78: 47a8 blx r5 lv_style_set_transition_prop_6(&styles->bg, LV_STATE_DEFAULT, LV_STYLE_BORDER_COLOR); - 15422: 6820 ldr r0, [r4, #0] + 14e7a: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_1, transition_prop_1, lv_style_int_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_2, transition_prop_2, lv_style_int_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_3, transition_prop_3, lv_style_int_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_4, transition_prop_4, lv_style_int_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_5, transition_prop_5, lv_style_int_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_6, transition_prop_6, lv_style_int_t, _int, scalar) - 15424: 2239 movs r2, #57 ; 0x39 - 15426: 21b7 movs r1, #183 ; 0xb7 - 15428: 3004 adds r0, #4 - 1542a: 47a8 blx r5 + 14e7c: 2239 movs r2, #57 ; 0x39 + 14e7e: 21b7 movs r1, #183 ; 0xb7 + 14e80: 3004 adds r0, #4 + 14e82: 47a8 blx r5 style_init_reset(&styles->bg_sec); - 1542c: 6820 ldr r0, [r4, #0] - 1542e: 300c adds r0, #12 - 15430: 4b6f ldr r3, [pc, #444] ; (155f0 ) - 15432: 4798 blx r3 + 14e84: 6820 ldr r0, [r4, #0] + 14e86: 300c adds r0, #12 + 14e88: 4b6f ldr r3, [pc, #444] ; (15048 ) + 14e8a: 4798 blx r3 lv_style_copy(&styles->bg_sec, &styles->bg); - 15434: 6820 ldr r0, [r4, #0] - 15436: 1d01 adds r1, r0, #4 - 15438: 300c adds r0, #12 - 1543a: 4b6e ldr r3, [pc, #440] ; (155f4 ) - 1543c: 4798 blx r3 + 14e8c: 6820 ldr r0, [r4, #0] + 14e8e: 1d01 adds r1, r0, #4 + 14e90: 300c adds r0, #12 + 14e92: 4b6e ldr r3, [pc, #440] ; (1504c ) + 14e94: 4798 blx r3 lv_style_set_bg_color(&styles->bg_sec, LV_STATE_DEFAULT, COLOR_BG_SEC); - 1543e: 6820 ldr r0, [r4, #0] - 15440: 6a23 ldr r3, [r4, #32] - 15442: f013 0302 ands.w r3, r3, #2 - 15446: bf14 ite ne - 15448: 211a movne r1, #26 - 1544a: 2108 moveq r1, #8 - 1544c: 2b00 cmp r3, #0 - 1544e: bf15 itete ne - 15450: 2435 movne r4, #53 ; 0x35 - 15452: 2412 moveq r4, #18 - 15454: 231b movne r3, #27 - 15456: 2309 moveq r3, #9 - 15458: f04f 0200 mov.w r2, #0 - 1545c: f363 0204 bfi r2, r3, #0, #5 - 15460: f364 124a bfi r2, r4, #5, #6 - 15464: f361 22cf bfi r2, r1, #11, #5 + 14e96: 6820 ldr r0, [r4, #0] + 14e98: 6a23 ldr r3, [r4, #32] + 14e9a: f013 0302 ands.w r3, r3, #2 + 14e9e: bf14 ite ne + 14ea0: 211a movne r1, #26 + 14ea2: 2108 moveq r1, #8 + 14ea4: 2b00 cmp r3, #0 + 14ea6: bf15 itete ne + 14ea8: 2435 movne r4, #53 ; 0x35 + 14eaa: 2412 moveq r4, #18 + 14eac: 231b movne r3, #27 + 14eae: 2309 moveq r3, #9 + 14eb0: f04f 0200 mov.w r2, #0 + 14eb4: f363 0204 bfi r2, r3, #0, #5 + 14eb8: f364 124a bfi r2, r4, #5, #6 + 14ebc: f361 22cf bfi r2, r1, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 15468: 2129 movs r1, #41 ; 0x29 - 1546a: 300c adds r0, #12 - 1546c: 4b62 ldr r3, [pc, #392] ; (155f8 ) - 1546e: 4798 blx r3 + 14ec0: 2129 movs r1, #41 ; 0x29 + 14ec2: 300c adds r0, #12 + 14ec4: 4b62 ldr r3, [pc, #392] ; (15050 ) + 14ec6: 4798 blx r3 lv_style_set_border_color(&styles->bg_sec, LV_STATE_DEFAULT, COLOR_BG_SEC_BORDER); - 15470: 4b5d ldr r3, [pc, #372] ; (155e8 ) - 15472: 6818 ldr r0, [r3, #0] - 15474: 300c adds r0, #12 - 15476: 6a1b ldr r3, [r3, #32] - 15478: f013 0f02 tst.w r3, #2 - 1547c: f040 85de bne.w 1603c - 15480: 2308 movs r3, #8 - 15482: 2110 movs r1, #16 - 15484: 461c mov r4, r3 - 15486: f04f 0200 mov.w r2, #0 - 1548a: f364 0204 bfi r2, r4, #0, #5 - 1548e: f361 124a bfi r2, r1, #5, #6 - 15492: f363 22cf bfi r2, r3, #11, #5 + 14ec8: 4b5d ldr r3, [pc, #372] ; (15040 ) + 14eca: 6818 ldr r0, [r3, #0] + 14ecc: 300c adds r0, #12 + 14ece: 6a1b ldr r3, [r3, #32] + 14ed0: f013 0f02 tst.w r3, #2 + 14ed4: f040 85de bne.w 15a94 + 14ed8: 2308 movs r3, #8 + 14eda: 2110 movs r1, #16 + 14edc: 461c mov r4, r3 + 14ede: f04f 0200 mov.w r2, #0 + 14ee2: f364 0204 bfi r2, r4, #0, #5 + 14ee6: f361 124a bfi r2, r1, #5, #6 + 14eea: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_COLOR, border_color, lv_color_t, _color, nonscalar) - 15496: 2139 movs r1, #57 ; 0x39 - 15498: 4b57 ldr r3, [pc, #348] ; (155f8 ) - 1549a: 4798 blx r3 + 14eee: 2139 movs r1, #57 ; 0x39 + 14ef0: 4b57 ldr r3, [pc, #348] ; (15050 ) + 14ef2: 4798 blx r3 lv_style_set_text_color(&styles->bg_sec, LV_STATE_DEFAULT, COLOR_BG_SEC_TEXT); - 1549c: 4b52 ldr r3, [pc, #328] ; (155e8 ) - 1549e: 6818 ldr r0, [r3, #0] - 154a0: 6a1b ldr r3, [r3, #32] - 154a2: f013 0302 ands.w r3, r3, #2 - 154a6: bf14 ite ne - 154a8: 2106 movne r1, #6 - 154aa: 2114 moveq r1, #20 - 154ac: 2b00 cmp r3, #0 - 154ae: bf15 itete ne - 154b0: 2410 movne r4, #16 - 154b2: 242a moveq r4, #42 ; 0x2a - 154b4: 2309 movne r3, #9 - 154b6: 2315 moveq r3, #21 - 154b8: f04f 0200 mov.w r2, #0 - 154bc: f363 0204 bfi r2, r3, #0, #5 - 154c0: f364 124a bfi r2, r4, #5, #6 - 154c4: f361 22cf bfi r2, r1, #11, #5 + 14ef4: 4b52 ldr r3, [pc, #328] ; (15040 ) + 14ef6: 6818 ldr r0, [r3, #0] + 14ef8: 6a1b ldr r3, [r3, #32] + 14efa: f013 0302 ands.w r3, r3, #2 + 14efe: bf14 ite ne + 14f00: 2106 movne r1, #6 + 14f02: 2114 moveq r1, #20 + 14f04: 2b00 cmp r3, #0 + 14f06: bf15 itete ne + 14f08: 2410 movne r4, #16 + 14f0a: 242a moveq r4, #42 ; 0x2a + 14f0c: 2309 movne r3, #9 + 14f0e: 2315 moveq r3, #21 + 14f10: f04f 0200 mov.w r2, #0 + 14f14: f363 0204 bfi r2, r3, #0, #5 + 14f18: f364 124a bfi r2, r4, #5, #6 + 14f1c: f361 22cf bfi r2, r1, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar) - 154c8: f248 0189 movw r1, #32905 ; 0x8089 - 154cc: 300c adds r0, #12 - 154ce: 4b4a ldr r3, [pc, #296] ; (155f8 ) - 154d0: 4798 blx r3 + 14f20: f248 0189 movw r1, #32905 ; 0x8089 + 14f24: 300c adds r0, #12 + 14f26: 4b4a ldr r3, [pc, #296] ; (15050 ) + 14f28: 4798 blx r3 lv_style_set_value_color(&styles->bg_sec, LV_STATE_DEFAULT, COLOR_BG_SEC_TEXT); - 154d2: 4b45 ldr r3, [pc, #276] ; (155e8 ) - 154d4: 6818 ldr r0, [r3, #0] - 154d6: 6a1b ldr r3, [r3, #32] - 154d8: f013 0302 ands.w r3, r3, #2 - 154dc: bf14 ite ne - 154de: 2106 movne r1, #6 - 154e0: 2114 moveq r1, #20 - 154e2: 2b00 cmp r3, #0 - 154e4: bf15 itete ne - 154e6: 2410 movne r4, #16 - 154e8: 242a moveq r4, #42 ; 0x2a - 154ea: 2309 movne r3, #9 - 154ec: 2315 moveq r3, #21 - 154ee: f04f 0200 mov.w r2, #0 - 154f2: f363 0204 bfi r2, r3, #0, #5 - 154f6: f364 124a bfi r2, r4, #5, #6 - 154fa: f361 22cf bfi r2, r1, #11, #5 + 14f2a: 4b45 ldr r3, [pc, #276] ; (15040 ) + 14f2c: 6818 ldr r0, [r3, #0] + 14f2e: 6a1b ldr r3, [r3, #32] + 14f30: f013 0302 ands.w r3, r3, #2 + 14f34: bf14 ite ne + 14f36: 2106 movne r1, #6 + 14f38: 2114 moveq r1, #20 + 14f3a: 2b00 cmp r3, #0 + 14f3c: bf15 itete ne + 14f3e: 2410 movne r4, #16 + 14f40: 242a moveq r4, #42 ; 0x2a + 14f42: 2309 movne r3, #9 + 14f44: 2315 moveq r3, #21 + 14f46: f04f 0200 mov.w r2, #0 + 14f4a: f363 0204 bfi r2, r3, #0, #5 + 14f4e: f364 124a bfi r2, r4, #5, #6 + 14f52: f361 22cf bfi r2, r1, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_COLOR, value_color, lv_color_t, _color, nonscalar) - 154fe: 2179 movs r1, #121 ; 0x79 - 15500: 300c adds r0, #12 - 15502: 4b3d ldr r3, [pc, #244] ; (155f8 ) - 15504: 4798 blx r3 + 14f56: 2179 movs r1, #121 ; 0x79 + 14f58: 300c adds r0, #12 + 14f5a: 4b3d ldr r3, [pc, #244] ; (15050 ) + 14f5c: 4798 blx r3 lv_style_set_image_recolor(&styles->bg_sec, LV_STATE_DEFAULT, COLOR_BG_SEC_TEXT); - 15506: 4b38 ldr r3, [pc, #224] ; (155e8 ) - 15508: 6818 ldr r0, [r3, #0] - 1550a: 6a1b ldr r3, [r3, #32] - 1550c: f013 0302 ands.w r3, r3, #2 - 15510: bf14 ite ne - 15512: 2106 movne r1, #6 - 15514: 2114 moveq r1, #20 - 15516: 2b00 cmp r3, #0 - 15518: bf15 itete ne - 1551a: 2410 movne r4, #16 - 1551c: 242a moveq r4, #42 ; 0x2a - 1551e: 2309 movne r3, #9 - 15520: 2315 moveq r3, #21 - 15522: f04f 0200 mov.w r2, #0 - 15526: f363 0204 bfi r2, r3, #0, #5 - 1552a: f364 124a bfi r2, r4, #5, #6 - 1552e: f361 22cf bfi r2, r1, #11, #5 + 14f5e: 4b38 ldr r3, [pc, #224] ; (15040 ) + 14f60: 6818 ldr r0, [r3, #0] + 14f62: 6a1b ldr r3, [r3, #32] + 14f64: f013 0302 ands.w r3, r3, #2 + 14f68: bf14 ite ne + 14f6a: 2106 movne r1, #6 + 14f6c: 2114 moveq r1, #20 + 14f6e: 2b00 cmp r3, #0 + 14f70: bf15 itete ne + 14f72: 2410 movne r4, #16 + 14f74: 242a moveq r4, #42 ; 0x2a + 14f76: 2309 movne r3, #9 + 14f78: 2315 moveq r3, #21 + 14f7a: f04f 0200 mov.w r2, #0 + 14f7e: f363 0204 bfi r2, r3, #0, #5 + 14f82: f364 124a bfi r2, r4, #5, #6 + 14f86: f361 22cf bfi r2, r1, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_RECOLOR, image_recolor, lv_color_t, _color, nonscalar) - 15532: f248 01a9 movw r1, #32937 ; 0x80a9 - 15536: 300c adds r0, #12 - 15538: 4b2f ldr r3, [pc, #188] ; (155f8 ) - 1553a: 4798 blx r3 + 14f8a: f248 01a9 movw r1, #32937 ; 0x80a9 + 14f8e: 300c adds r0, #12 + 14f90: 4b2f ldr r3, [pc, #188] ; (15050 ) + 14f92: 4798 blx r3 lv_style_set_line_color(&styles->bg_sec, LV_STATE_DEFAULT, COLOR_BG_SEC_TEXT); - 1553c: 4b2a ldr r3, [pc, #168] ; (155e8 ) - 1553e: 6818 ldr r0, [r3, #0] - 15540: 6a1b ldr r3, [r3, #32] - 15542: f013 0302 ands.w r3, r3, #2 - 15546: bf14 ite ne - 15548: 2106 movne r1, #6 - 1554a: 2114 moveq r1, #20 - 1554c: 2b00 cmp r3, #0 - 1554e: bf15 itete ne - 15550: 2410 movne r4, #16 - 15552: 242a moveq r4, #42 ; 0x2a - 15554: 2309 movne r3, #9 - 15556: 2315 moveq r3, #21 - 15558: f04f 0200 mov.w r2, #0 - 1555c: f363 0204 bfi r2, r3, #0, #5 - 15560: f364 124a bfi r2, r4, #5, #6 - 15564: f361 22cf bfi r2, r1, #11, #5 + 14f94: 4b2a ldr r3, [pc, #168] ; (15040 ) + 14f96: 6818 ldr r0, [r3, #0] + 14f98: 6a1b ldr r3, [r3, #32] + 14f9a: f013 0302 ands.w r3, r3, #2 + 14f9e: bf14 ite ne + 14fa0: 2106 movne r1, #6 + 14fa2: 2114 moveq r1, #20 + 14fa4: 2b00 cmp r3, #0 + 14fa6: bf15 itete ne + 14fa8: 2410 movne r4, #16 + 14faa: 242a moveq r4, #42 ; 0x2a + 14fac: 2309 movne r3, #9 + 14fae: 2315 moveq r3, #21 + 14fb0: f04f 0200 mov.w r2, #0 + 14fb4: f363 0204 bfi r2, r3, #0, #5 + 14fb8: f364 124a bfi r2, r4, #5, #6 + 14fbc: f361 22cf bfi r2, r1, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_COLOR, line_color, lv_color_t, _color, nonscalar) - 15568: 2199 movs r1, #153 ; 0x99 - 1556a: 300c adds r0, #12 - 1556c: 4b22 ldr r3, [pc, #136] ; (155f8 ) - 1556e: 4798 blx r3 + 14fc0: 2199 movs r1, #153 ; 0x99 + 14fc2: 300c adds r0, #12 + 14fc4: 4b22 ldr r3, [pc, #136] ; (15050 ) + 14fc6: 4798 blx r3 style_init_reset(&styles->bg_click); - 15570: 4c1d ldr r4, [pc, #116] ; (155e8 ) - 15572: 6820 ldr r0, [r4, #0] - 15574: 3008 adds r0, #8 - 15576: 4b1e ldr r3, [pc, #120] ; (155f0 ) - 15578: 4798 blx r3 + 14fc8: 4c1d ldr r4, [pc, #116] ; (15040 ) + 14fca: 6820 ldr r0, [r4, #0] + 14fcc: 3008 adds r0, #8 + 14fce: 4b1e ldr r3, [pc, #120] ; (15048 ) + 14fd0: 4798 blx r3 lv_style_set_bg_color(&styles->bg_click, LV_STATE_PRESSED, COLOR_BG_PR); - 1557a: 6820 ldr r0, [r4, #0] - 1557c: 3008 adds r0, #8 - 1557e: 6a23 ldr r3, [r4, #32] - 15580: f013 0f02 tst.w r3, #2 - 15584: f040 855f bne.w 16046 - 15588: 2309 movs r3, #9 - 1558a: 2113 movs r1, #19 - 1558c: 240a movs r4, #10 - 1558e: f04f 0200 mov.w r2, #0 - 15592: f364 0204 bfi r2, r4, #0, #5 - 15596: f361 124a bfi r2, r1, #5, #6 - 1559a: f363 22cf bfi r2, r3, #11, #5 + 14fd2: 6820 ldr r0, [r4, #0] + 14fd4: 3008 adds r0, #8 + 14fd6: 6a23 ldr r3, [r4, #32] + 14fd8: f013 0f02 tst.w r3, #2 + 14fdc: f040 855f bne.w 15a9e + 14fe0: 2309 movs r3, #9 + 14fe2: 2113 movs r1, #19 + 14fe4: 240a movs r4, #10 + 14fe6: f04f 0200 mov.w r2, #0 + 14fea: f364 0204 bfi r2, r4, #0, #5 + 14fee: f361 124a bfi r2, r1, #5, #6 + 14ff2: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 1559e: f241 0129 movw r1, #4137 ; 0x1029 - 155a2: 4d15 ldr r5, [pc, #84] ; (155f8 ) - 155a4: 47a8 blx r5 + 14ff6: f241 0129 movw r1, #4137 ; 0x1029 + 14ffa: 4d15 ldr r5, [pc, #84] ; (15050 ) + 14ffc: 47a8 blx r5 lv_style_set_bg_color(&styles->bg_click, LV_STATE_CHECKED, COLOR_BG_CHK); - 155a6: 4c10 ldr r4, [pc, #64] ; (155e8 ) - 155a8: 6820 ldr r0, [r4, #0] - 155aa: 89a2 ldrh r2, [r4, #12] - 155ac: f240 1129 movw r1, #297 ; 0x129 - 155b0: 3008 adds r0, #8 - 155b2: 47a8 blx r5 + 14ffe: 4c10 ldr r4, [pc, #64] ; (15040 ) + 15000: 6820 ldr r0, [r4, #0] + 15002: 89a2 ldrh r2, [r4, #12] + 15004: f240 1129 movw r1, #297 ; 0x129 + 15008: 3008 adds r0, #8 + 1500a: 47a8 blx r5 lv_style_set_bg_color(&styles->bg_click, LV_STATE_PRESSED | LV_STATE_CHECKED, COLOR_BG_PR_CHK); - 155b4: 6826 ldr r6, [r4, #0] - 155b6: 3608 adds r6, #8 - 155b8: 2133 movs r1, #51 ; 0x33 - 155ba: 89a0 ldrh r0, [r4, #12] - 155bc: 4b0f ldr r3, [pc, #60] ; (155fc ) - 155be: 4798 blx r3 - 155c0: 4602 mov r2, r0 - 155c2: f241 1129 movw r1, #4393 ; 0x1129 - 155c6: 4630 mov r0, r6 - 155c8: 47a8 blx r5 + 1500c: 6826 ldr r6, [r4, #0] + 1500e: 3608 adds r6, #8 + 15010: 2133 movs r1, #51 ; 0x33 + 15012: 89a0 ldrh r0, [r4, #12] + 15014: 4b0f ldr r3, [pc, #60] ; (15054 ) + 15016: 4798 blx r3 + 15018: 4602 mov r2, r0 + 1501a: f241 1129 movw r1, #4393 ; 0x1129 + 1501e: 4630 mov r0, r6 + 15020: 47a8 blx r5 lv_style_set_bg_color(&styles->bg_click, LV_STATE_DISABLED, COLOR_BG_DIS); - 155ca: 6820 ldr r0, [r4, #0] - 155cc: 3008 adds r0, #8 - 155ce: 6a23 ldr r3, [r4, #32] - 155d0: f013 0f02 tst.w r3, #2 - 155d4: f040 853c bne.w 16050 - 155d8: 230b movs r3, #11 - 155da: 2118 movs r1, #24 - 155dc: 240e movs r4, #14 - 155de: e00f b.n 15600 - 155e0: 000114e5 .word 0x000114e5 - 155e4: 00006e89 .word 0x00006e89 - 155e8: 20006bd8 .word 0x20006bd8 - 155ec: 00011501 .word 0x00011501 - 155f0: 00015009 .word 0x00015009 - 155f4: 00006d61 .word 0x00006d61 - 155f8: 00006fcd .word 0x00006fcd - 155fc: 000121ab .word 0x000121ab - 15600: f04f 0200 mov.w r2, #0 - 15604: f364 0204 bfi r2, r4, #0, #5 - 15608: f361 124a bfi r2, r1, #5, #6 - 1560c: f363 22cf bfi r2, r3, #11, #5 - 15610: f242 0129 movw r1, #8233 ; 0x2029 - 15614: 4ebb ldr r6, [pc, #748] ; (15904 ) - 15616: 47b0 blx r6 + 15022: 6820 ldr r0, [r4, #0] + 15024: 3008 adds r0, #8 + 15026: 6a23 ldr r3, [r4, #32] + 15028: f013 0f02 tst.w r3, #2 + 1502c: f040 853c bne.w 15aa8 + 15030: 230b movs r3, #11 + 15032: 2118 movs r1, #24 + 15034: 240e movs r4, #14 + 15036: e00f b.n 15058 + 15038: 00010f3d .word 0x00010f3d + 1503c: 000068e1 .word 0x000068e1 + 15040: 20006bd8 .word 0x20006bd8 + 15044: 00010f59 .word 0x00010f59 + 15048: 00014a61 .word 0x00014a61 + 1504c: 000067b9 .word 0x000067b9 + 15050: 00006a25 .word 0x00006a25 + 15054: 00011c03 .word 0x00011c03 + 15058: f04f 0200 mov.w r2, #0 + 1505c: f364 0204 bfi r2, r4, #0, #5 + 15060: f361 124a bfi r2, r1, #5, #6 + 15064: f363 22cf bfi r2, r3, #11, #5 + 15068: f242 0129 movw r1, #8233 ; 0x2029 + 1506c: 4ebb ldr r6, [pc, #748] ; (1535c ) + 1506e: 47b0 blx r6 lv_style_set_border_width(&styles->bg_click, LV_STATE_CHECKED, 0); - 15618: 4cbb ldr r4, [pc, #748] ; (15908 ) - 1561a: 6820 ldr r0, [r4, #0] + 15070: 4cbb ldr r4, [pc, #748] ; (15360 ) + 15072: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_WIDTH, border_width, lv_style_int_t, _int, scalar) - 1561c: 2200 movs r2, #0 - 1561e: f44f 7198 mov.w r1, #304 ; 0x130 - 15622: 3008 adds r0, #8 - 15624: 4bb9 ldr r3, [pc, #740] ; (1590c ) - 15626: 4798 blx r3 + 15074: 2200 movs r2, #0 + 15076: f44f 7198 mov.w r1, #304 ; 0x130 + 1507a: 3008 adds r0, #8 + 1507c: 4bb9 ldr r3, [pc, #740] ; (15364 ) + 1507e: 4798 blx r3 lv_style_set_border_color(&styles->bg_click, LV_STATE_FOCUSED | LV_STATE_PRESSED, lv_color_darken(theme.color_primary, - 15628: 6825 ldr r5, [r4, #0] - 1562a: 3508 adds r5, #8 - 1562c: 2133 movs r1, #51 ; 0x33 - 1562e: 89a0 ldrh r0, [r4, #12] - 15630: 4bb7 ldr r3, [pc, #732] ; (15910 ) - 15632: 4798 blx r3 + 15080: 6825 ldr r5, [r4, #0] + 15082: 3508 adds r5, #8 + 15084: 2133 movs r1, #51 ; 0x33 + 15086: 89a0 ldrh r0, [r4, #12] + 15088: 4bb7 ldr r3, [pc, #732] ; (15368 ) + 1508a: 4798 blx r3 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_COLOR, border_color, lv_color_t, _color, nonscalar) - 15634: 4602 mov r2, r0 - 15636: f241 2139 movw r1, #4665 ; 0x1239 - 1563a: 4628 mov r0, r5 - 1563c: 47b0 blx r6 + 1508c: 4602 mov r2, r0 + 1508e: f241 2139 movw r1, #4665 ; 0x1239 + 15092: 4628 mov r0, r5 + 15094: 47b0 blx r6 lv_style_set_border_color(&styles->bg_click, LV_STATE_PRESSED, COLOR_BG_BORDER_PR); - 1563e: 6820 ldr r0, [r4, #0] - 15640: 3008 adds r0, #8 - 15642: 6a23 ldr r3, [r4, #32] - 15644: f013 0f02 tst.w r3, #2 - 15648: f040 8507 bne.w 1605a - 1564c: 230b movs r3, #11 - 1564e: 2119 movs r1, #25 - 15650: 240d movs r4, #13 - 15652: f04f 0200 mov.w r2, #0 - 15656: f364 0204 bfi r2, r4, #0, #5 - 1565a: f361 124a bfi r2, r1, #5, #6 - 1565e: f363 22cf bfi r2, r3, #11, #5 - 15662: f241 0139 movw r1, #4153 ; 0x1039 - 15666: 4ba7 ldr r3, [pc, #668] ; (15904 ) - 15668: 4798 blx r3 + 15096: 6820 ldr r0, [r4, #0] + 15098: 3008 adds r0, #8 + 1509a: 6a23 ldr r3, [r4, #32] + 1509c: f013 0f02 tst.w r3, #2 + 150a0: f040 8507 bne.w 15ab2 + 150a4: 230b movs r3, #11 + 150a6: 2119 movs r1, #25 + 150a8: 240d movs r4, #13 + 150aa: f04f 0200 mov.w r2, #0 + 150ae: f364 0204 bfi r2, r4, #0, #5 + 150b2: f361 124a bfi r2, r1, #5, #6 + 150b6: f363 22cf bfi r2, r3, #11, #5 + 150ba: f241 0139 movw r1, #4153 ; 0x1039 + 150be: 4ba7 ldr r3, [pc, #668] ; (1535c ) + 150c0: 4798 blx r3 lv_style_set_border_color(&styles->bg_click, LV_STATE_CHECKED, COLOR_BG_BORDER_CHK); - 1566a: 4ba7 ldr r3, [pc, #668] ; (15908 ) - 1566c: 6818 ldr r0, [r3, #0] - 1566e: 6a1b ldr r3, [r3, #32] - 15670: f013 0302 ands.w r3, r3, #2 - 15674: bf14 ite ne - 15676: 2107 movne r1, #7 - 15678: 210b moveq r1, #11 - 1567a: 2b00 cmp r3, #0 - 1567c: bf15 itete ne - 1567e: 240f movne r4, #15 - 15680: 2419 moveq r4, #25 - 15682: 2308 movne r3, #8 - 15684: 230d moveq r3, #13 - 15686: f04f 0200 mov.w r2, #0 - 1568a: f363 0204 bfi r2, r3, #0, #5 - 1568e: f364 124a bfi r2, r4, #5, #6 - 15692: f361 22cf bfi r2, r1, #11, #5 - 15696: f240 1139 movw r1, #313 ; 0x139 - 1569a: 3008 adds r0, #8 - 1569c: 4b99 ldr r3, [pc, #612] ; (15904 ) - 1569e: 4798 blx r3 + 150c2: 4ba7 ldr r3, [pc, #668] ; (15360 ) + 150c4: 6818 ldr r0, [r3, #0] + 150c6: 6a1b ldr r3, [r3, #32] + 150c8: f013 0302 ands.w r3, r3, #2 + 150cc: bf14 ite ne + 150ce: 2107 movne r1, #7 + 150d0: 210b moveq r1, #11 + 150d2: 2b00 cmp r3, #0 + 150d4: bf15 itete ne + 150d6: 240f movne r4, #15 + 150d8: 2419 moveq r4, #25 + 150da: 2308 movne r3, #8 + 150dc: 230d moveq r3, #13 + 150de: f04f 0200 mov.w r2, #0 + 150e2: f363 0204 bfi r2, r3, #0, #5 + 150e6: f364 124a bfi r2, r4, #5, #6 + 150ea: f361 22cf bfi r2, r1, #11, #5 + 150ee: f240 1139 movw r1, #313 ; 0x139 + 150f2: 3008 adds r0, #8 + 150f4: 4b99 ldr r3, [pc, #612] ; (1535c ) + 150f6: 4798 blx r3 lv_style_set_border_color(&styles->bg_click, LV_STATE_PRESSED | LV_STATE_CHECKED, COLOR_BG_BORDER_CHK_PR); - 156a0: 4b99 ldr r3, [pc, #612] ; (15908 ) - 156a2: 6818 ldr r0, [r3, #0] - 156a4: 6a1b ldr r3, [r3, #32] - 156a6: f013 0302 ands.w r3, r3, #2 - 156aa: bf14 ite ne - 156ac: 2107 movne r1, #7 - 156ae: 210b moveq r1, #11 - 156b0: 2b00 cmp r3, #0 - 156b2: bf15 itete ne - 156b4: 240f movne r4, #15 - 156b6: 2419 moveq r4, #25 - 156b8: 2308 movne r3, #8 - 156ba: 230d moveq r3, #13 - 156bc: f04f 0200 mov.w r2, #0 - 156c0: f363 0204 bfi r2, r3, #0, #5 - 156c4: f364 124a bfi r2, r4, #5, #6 - 156c8: f361 22cf bfi r2, r1, #11, #5 - 156cc: f241 1139 movw r1, #4409 ; 0x1139 - 156d0: 3008 adds r0, #8 - 156d2: 4b8c ldr r3, [pc, #560] ; (15904 ) - 156d4: 4798 blx r3 + 150f8: 4b99 ldr r3, [pc, #612] ; (15360 ) + 150fa: 6818 ldr r0, [r3, #0] + 150fc: 6a1b ldr r3, [r3, #32] + 150fe: f013 0302 ands.w r3, r3, #2 + 15102: bf14 ite ne + 15104: 2107 movne r1, #7 + 15106: 210b moveq r1, #11 + 15108: 2b00 cmp r3, #0 + 1510a: bf15 itete ne + 1510c: 240f movne r4, #15 + 1510e: 2419 moveq r4, #25 + 15110: 2308 movne r3, #8 + 15112: 230d moveq r3, #13 + 15114: f04f 0200 mov.w r2, #0 + 15118: f363 0204 bfi r2, r3, #0, #5 + 1511c: f364 124a bfi r2, r4, #5, #6 + 15120: f361 22cf bfi r2, r1, #11, #5 + 15124: f241 1139 movw r1, #4409 ; 0x1139 + 15128: 3008 adds r0, #8 + 1512a: 4b8c ldr r3, [pc, #560] ; (1535c ) + 1512c: 4798 blx r3 lv_style_set_border_color(&styles->bg_click, LV_STATE_DISABLED, COLOR_BG_BORDER_DIS); - 156d6: 4b8c ldr r3, [pc, #560] ; (15908 ) - 156d8: 6818 ldr r0, [r3, #0] - 156da: 6a1b ldr r3, [r3, #32] - 156dc: f013 0302 ands.w r3, r3, #2 - 156e0: bf14 ite ne - 156e2: 211a movne r1, #26 - 156e4: 210b moveq r1, #11 - 156e6: 2b00 cmp r3, #0 - 156e8: bf15 itete ne - 156ea: 2437 movne r4, #55 ; 0x37 - 156ec: 2419 moveq r4, #25 - 156ee: 231c movne r3, #28 - 156f0: 230d moveq r3, #13 - 156f2: f04f 0200 mov.w r2, #0 - 156f6: f363 0204 bfi r2, r3, #0, #5 - 156fa: f364 124a bfi r2, r4, #5, #6 - 156fe: f361 22cf bfi r2, r1, #11, #5 - 15702: f242 0139 movw r1, #8249 ; 0x2039 - 15706: 3008 adds r0, #8 - 15708: 4b7e ldr r3, [pc, #504] ; (15904 ) - 1570a: 4798 blx r3 + 1512e: 4b8c ldr r3, [pc, #560] ; (15360 ) + 15130: 6818 ldr r0, [r3, #0] + 15132: 6a1b ldr r3, [r3, #32] + 15134: f013 0302 ands.w r3, r3, #2 + 15138: bf14 ite ne + 1513a: 211a movne r1, #26 + 1513c: 210b moveq r1, #11 + 1513e: 2b00 cmp r3, #0 + 15140: bf15 itete ne + 15142: 2437 movne r4, #55 ; 0x37 + 15144: 2419 moveq r4, #25 + 15146: 231c movne r3, #28 + 15148: 230d moveq r3, #13 + 1514a: f04f 0200 mov.w r2, #0 + 1514e: f363 0204 bfi r2, r3, #0, #5 + 15152: f364 124a bfi r2, r4, #5, #6 + 15156: f361 22cf bfi r2, r1, #11, #5 + 1515a: f242 0139 movw r1, #8249 ; 0x2039 + 1515e: 3008 adds r0, #8 + 15160: 4b7e ldr r3, [pc, #504] ; (1535c ) + 15162: 4798 blx r3 lv_style_set_text_color(&styles->bg_click, LV_STATE_PRESSED, COLOR_BG_TEXT_PR); - 1570c: 4b7e ldr r3, [pc, #504] ; (15908 ) - 1570e: 6818 ldr r0, [r3, #0] - 15710: 3008 adds r0, #8 - 15712: 6a1b ldr r3, [r3, #32] - 15714: f013 0f02 tst.w r3, #2 - 15718: f040 84a4 bne.w 16064 - 1571c: 231f movs r3, #31 - 1571e: 213f movs r1, #63 ; 0x3f - 15720: 461c mov r4, r3 - 15722: f04f 0200 mov.w r2, #0 - 15726: f364 0204 bfi r2, r4, #0, #5 - 1572a: f361 124a bfi r2, r1, #5, #6 - 1572e: f363 22cf bfi r2, r3, #11, #5 + 15164: 4b7e ldr r3, [pc, #504] ; (15360 ) + 15166: 6818 ldr r0, [r3, #0] + 15168: 3008 adds r0, #8 + 1516a: 6a1b ldr r3, [r3, #32] + 1516c: f013 0f02 tst.w r3, #2 + 15170: f040 84a4 bne.w 15abc + 15174: 231f movs r3, #31 + 15176: 213f movs r1, #63 ; 0x3f + 15178: 461c mov r4, r3 + 1517a: f04f 0200 mov.w r2, #0 + 1517e: f364 0204 bfi r2, r4, #0, #5 + 15182: f361 124a bfi r2, r1, #5, #6 + 15186: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar) - 15732: f249 0189 movw r1, #37001 ; 0x9089 - 15736: 4d73 ldr r5, [pc, #460] ; (15904 ) - 15738: 47a8 blx r5 + 1518a: f249 0189 movw r1, #37001 ; 0x9089 + 1518e: 4d73 ldr r5, [pc, #460] ; (1535c ) + 15190: 47a8 blx r5 lv_style_set_text_color(&styles->bg_click, LV_STATE_CHECKED, COLOR_BG_TEXT_CHK); - 1573a: 4c73 ldr r4, [pc, #460] ; (15908 ) - 1573c: 6820 ldr r0, [r4, #0] - 1573e: f04f 32ff mov.w r2, #4294967295 - 15742: f248 1189 movw r1, #33161 ; 0x8189 - 15746: 3008 adds r0, #8 - 15748: 47a8 blx r5 + 15192: 4c73 ldr r4, [pc, #460] ; (15360 ) + 15194: 6820 ldr r0, [r4, #0] + 15196: f04f 32ff mov.w r2, #4294967295 + 1519a: f248 1189 movw r1, #33161 ; 0x8189 + 1519e: 3008 adds r0, #8 + 151a0: 47a8 blx r5 lv_style_set_text_color(&styles->bg_click, LV_STATE_PRESSED | LV_STATE_CHECKED, COLOR_BG_TEXT_CHK_PR); - 1574a: 6820 ldr r0, [r4, #0] - 1574c: f04f 32ff mov.w r2, #4294967295 - 15750: f249 1189 movw r1, #37257 ; 0x9189 - 15754: 3008 adds r0, #8 - 15756: 47a8 blx r5 + 151a2: 6820 ldr r0, [r4, #0] + 151a4: f04f 32ff mov.w r2, #4294967295 + 151a8: f249 1189 movw r1, #37257 ; 0x9189 + 151ac: 3008 adds r0, #8 + 151ae: 47a8 blx r5 lv_style_set_text_color(&styles->bg_click, LV_STATE_DISABLED, COLOR_BG_TEXT_DIS); - 15758: 6820 ldr r0, [r4, #0] - 1575a: 6a23 ldr r3, [r4, #32] - 1575c: f013 0302 ands.w r3, r3, #2 - 15760: bf14 ite ne - 15762: 212a movne r1, #42 ; 0x2a - 15764: 2126 moveq r1, #38 ; 0x26 - 15766: 2b00 cmp r3, #0 - 15768: bf14 ite ne - 1576a: 2315 movne r3, #21 - 1576c: 2313 moveq r3, #19 - 1576e: f04f 0200 mov.w r2, #0 - 15772: f363 0204 bfi r2, r3, #0, #5 - 15776: f361 124a bfi r2, r1, #5, #6 - 1577a: f363 22cf bfi r2, r3, #11, #5 - 1577e: f24a 0189 movw r1, #41097 ; 0xa089 - 15782: 3008 adds r0, #8 - 15784: 47a8 blx r5 + 151b0: 6820 ldr r0, [r4, #0] + 151b2: 6a23 ldr r3, [r4, #32] + 151b4: f013 0302 ands.w r3, r3, #2 + 151b8: bf14 ite ne + 151ba: 212a movne r1, #42 ; 0x2a + 151bc: 2126 moveq r1, #38 ; 0x26 + 151be: 2b00 cmp r3, #0 + 151c0: bf14 ite ne + 151c2: 2315 movne r3, #21 + 151c4: 2313 moveq r3, #19 + 151c6: f04f 0200 mov.w r2, #0 + 151ca: f363 0204 bfi r2, r3, #0, #5 + 151ce: f361 124a bfi r2, r1, #5, #6 + 151d2: f363 22cf bfi r2, r3, #11, #5 + 151d6: f24a 0189 movw r1, #41097 ; 0xa089 + 151da: 3008 adds r0, #8 + 151dc: 47a8 blx r5 lv_style_set_image_recolor(&styles->bg_click, LV_STATE_PRESSED, COLOR_BG_TEXT_PR); - 15786: 6820 ldr r0, [r4, #0] - 15788: 3008 adds r0, #8 - 1578a: 6a23 ldr r3, [r4, #32] - 1578c: f013 0f02 tst.w r3, #2 - 15790: f040 846d bne.w 1606e - 15794: 231f movs r3, #31 - 15796: 213f movs r1, #63 ; 0x3f - 15798: 461c mov r4, r3 - 1579a: f04f 0200 mov.w r2, #0 - 1579e: f364 0204 bfi r2, r4, #0, #5 - 157a2: f361 124a bfi r2, r1, #5, #6 - 157a6: f363 22cf bfi r2, r3, #11, #5 + 151de: 6820 ldr r0, [r4, #0] + 151e0: 3008 adds r0, #8 + 151e2: 6a23 ldr r3, [r4, #32] + 151e4: f013 0f02 tst.w r3, #2 + 151e8: f040 846d bne.w 15ac6 + 151ec: 231f movs r3, #31 + 151ee: 213f movs r1, #63 ; 0x3f + 151f0: 461c mov r4, r3 + 151f2: f04f 0200 mov.w r2, #0 + 151f6: f364 0204 bfi r2, r4, #0, #5 + 151fa: f361 124a bfi r2, r1, #5, #6 + 151fe: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_RECOLOR, image_recolor, lv_color_t, _color, nonscalar) - 157aa: f249 01a9 movw r1, #37033 ; 0x90a9 - 157ae: 4d55 ldr r5, [pc, #340] ; (15904 ) - 157b0: 47a8 blx r5 + 15202: f249 01a9 movw r1, #37033 ; 0x90a9 + 15206: 4d55 ldr r5, [pc, #340] ; (1535c ) + 15208: 47a8 blx r5 lv_style_set_image_recolor(&styles->bg_click, LV_STATE_CHECKED, COLOR_BG_TEXT_CHK); - 157b2: 4c55 ldr r4, [pc, #340] ; (15908 ) - 157b4: 6820 ldr r0, [r4, #0] - 157b6: f04f 32ff mov.w r2, #4294967295 - 157ba: f248 11a9 movw r1, #33193 ; 0x81a9 - 157be: 3008 adds r0, #8 - 157c0: 47a8 blx r5 + 1520a: 4c55 ldr r4, [pc, #340] ; (15360 ) + 1520c: 6820 ldr r0, [r4, #0] + 1520e: f04f 32ff mov.w r2, #4294967295 + 15212: f248 11a9 movw r1, #33193 ; 0x81a9 + 15216: 3008 adds r0, #8 + 15218: 47a8 blx r5 lv_style_set_image_recolor(&styles->bg_click, LV_STATE_PRESSED | LV_STATE_CHECKED, COLOR_BG_TEXT_CHK_PR); - 157c2: 6820 ldr r0, [r4, #0] - 157c4: f04f 32ff mov.w r2, #4294967295 - 157c8: f249 11a9 movw r1, #37289 ; 0x91a9 - 157cc: 3008 adds r0, #8 - 157ce: 47a8 blx r5 + 1521a: 6820 ldr r0, [r4, #0] + 1521c: f04f 32ff mov.w r2, #4294967295 + 15220: f249 11a9 movw r1, #37289 ; 0x91a9 + 15224: 3008 adds r0, #8 + 15226: 47a8 blx r5 lv_style_set_image_recolor(&styles->bg_click, LV_STATE_DISABLED, COLOR_BG_TEXT_DIS); - 157d0: 6820 ldr r0, [r4, #0] - 157d2: 6a23 ldr r3, [r4, #32] - 157d4: f013 0302 ands.w r3, r3, #2 - 157d8: bf14 ite ne - 157da: 212a movne r1, #42 ; 0x2a - 157dc: 2126 moveq r1, #38 ; 0x26 - 157de: 2b00 cmp r3, #0 - 157e0: bf14 ite ne - 157e2: 2315 movne r3, #21 - 157e4: 2313 moveq r3, #19 - 157e6: f04f 0200 mov.w r2, #0 - 157ea: f363 0204 bfi r2, r3, #0, #5 - 157ee: f361 124a bfi r2, r1, #5, #6 - 157f2: f363 22cf bfi r2, r3, #11, #5 - 157f6: f24a 01a9 movw r1, #41129 ; 0xa0a9 - 157fa: 3008 adds r0, #8 - 157fc: 47a8 blx r5 + 15228: 6820 ldr r0, [r4, #0] + 1522a: 6a23 ldr r3, [r4, #32] + 1522c: f013 0302 ands.w r3, r3, #2 + 15230: bf14 ite ne + 15232: 212a movne r1, #42 ; 0x2a + 15234: 2126 moveq r1, #38 ; 0x26 + 15236: 2b00 cmp r3, #0 + 15238: bf14 ite ne + 1523a: 2315 movne r3, #21 + 1523c: 2313 moveq r3, #19 + 1523e: f04f 0200 mov.w r2, #0 + 15242: f363 0204 bfi r2, r3, #0, #5 + 15246: f361 124a bfi r2, r1, #5, #6 + 1524a: f363 22cf bfi r2, r3, #11, #5 + 1524e: f24a 01a9 movw r1, #41129 ; 0xa0a9 + 15252: 3008 adds r0, #8 + 15254: 47a8 blx r5 lv_style_set_transition_prop_5(&styles->bg_click, LV_STATE_DEFAULT, LV_STYLE_BG_COLOR); - 157fe: 6820 ldr r0, [r4, #0] + 15256: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_5, transition_prop_5, lv_style_int_t, _int, scalar) - 15800: 2229 movs r2, #41 ; 0x29 - 15802: 21b6 movs r1, #182 ; 0xb6 - 15804: 3008 adds r0, #8 - 15806: 4d41 ldr r5, [pc, #260] ; (1590c ) - 15808: 47a8 blx r5 + 15258: 2229 movs r2, #41 ; 0x29 + 1525a: 21b6 movs r1, #182 ; 0xb6 + 1525c: 3008 adds r0, #8 + 1525e: 4d41 ldr r5, [pc, #260] ; (15364 ) + 15260: 47a8 blx r5 style_init_reset(&styles->btn); - 1580a: 6820 ldr r0, [r4, #0] - 1580c: 3010 adds r0, #16 - 1580e: 4b41 ldr r3, [pc, #260] ; (15914 ) - 15810: 4798 blx r3 + 15262: 6820 ldr r0, [r4, #0] + 15264: 3010 adds r0, #16 + 15266: 4b41 ldr r3, [pc, #260] ; (1536c ) + 15268: 4798 blx r3 lv_style_set_radius(&styles->btn, LV_STATE_DEFAULT, LV_RADIUS_CIRCLE); - 15812: 6820 ldr r0, [r4, #0] + 1526a: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 15814: f647 72ff movw r2, #32767 ; 0x7fff - 15818: 2101 movs r1, #1 - 1581a: 3010 adds r0, #16 - 1581c: 47a8 blx r5 + 1526c: f647 72ff movw r2, #32767 ; 0x7fff + 15270: 2101 movs r1, #1 + 15272: 3010 adds r0, #16 + 15274: 47a8 blx r5 lv_style_set_bg_opa(&styles->btn, LV_STATE_DEFAULT, LV_OPA_COVER); - 1581e: 6820 ldr r0, [r4, #0] + 15276: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 15820: 22ff movs r2, #255 ; 0xff - 15822: 212c movs r1, #44 ; 0x2c - 15824: 3010 adds r0, #16 - 15826: 4b3c ldr r3, [pc, #240] ; (15918 ) - 15828: 4798 blx r3 + 15278: 22ff movs r2, #255 ; 0xff + 1527a: 212c movs r1, #44 ; 0x2c + 1527c: 3010 adds r0, #16 + 1527e: 4b3c ldr r3, [pc, #240] ; (15370 ) + 15280: 4798 blx r3 lv_style_set_bg_color(&styles->btn, LV_STATE_DEFAULT, COLOR_BTN); - 1582a: 6820 ldr r0, [r4, #0] - 1582c: 3010 adds r0, #16 - 1582e: 6a23 ldr r3, [r4, #32] - 15830: f013 0f02 tst.w r3, #2 - 15834: f040 8420 bne.w 16078 - 15838: 230b movs r3, #11 - 1583a: 2118 movs r1, #24 - 1583c: 240e movs r4, #14 - 1583e: f04f 0200 mov.w r2, #0 - 15842: f364 0204 bfi r2, r4, #0, #5 - 15846: f361 124a bfi r2, r1, #5, #6 - 1584a: f363 22cf bfi r2, r3, #11, #5 + 15282: 6820 ldr r0, [r4, #0] + 15284: 3010 adds r0, #16 + 15286: 6a23 ldr r3, [r4, #32] + 15288: f013 0f02 tst.w r3, #2 + 1528c: f040 8420 bne.w 15ad0 + 15290: 230b movs r3, #11 + 15292: 2118 movs r1, #24 + 15294: 240e movs r4, #14 + 15296: f04f 0200 mov.w r2, #0 + 1529a: f364 0204 bfi r2, r4, #0, #5 + 1529e: f361 124a bfi r2, r1, #5, #6 + 152a2: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 1584e: 2129 movs r1, #41 ; 0x29 - 15850: 4b2c ldr r3, [pc, #176] ; (15904 ) - 15852: 4798 blx r3 + 152a6: 2129 movs r1, #41 ; 0x29 + 152a8: 4b2c ldr r3, [pc, #176] ; (1535c ) + 152aa: 4798 blx r3 lv_style_set_bg_color(&styles->btn, LV_STATE_PRESSED, COLOR_BTN_PR); - 15854: 4b2c ldr r3, [pc, #176] ; (15908 ) - 15856: 6818 ldr r0, [r3, #0] - 15858: 3010 adds r0, #16 - 1585a: 6a1b ldr r3, [r3, #32] - 1585c: f013 0f02 tst.w r3, #2 - 15860: f000 840f beq.w 16082 + 152ac: 4b2c ldr r3, [pc, #176] ; (15360 ) + 152ae: 6818 ldr r0, [r3, #0] + 152b0: 3010 adds r0, #16 + 152b2: 6a1b ldr r3, [r3, #32] + 152b4: f013 0f02 tst.w r3, #2 + 152b8: f000 840f beq.w 15ada LV_ATTRIBUTE_FAST_MEM static inline lv_color_t lv_color_mix(lv_color_t c1, lv_color_t c2, uint8_t mix) { lv_color_t ret; #if LV_COLOR_DEPTH != 1 /*LV_COLOR_DEPTH == 8, 16 or 32*/ LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 15864: 4928 ldr r1, [pc, #160] ; (15908 ) - 15866: 7b4b ldrb r3, [r1, #13] - 15868: 08db lsrs r3, r3, #3 - 1586a: eb03 0383 add.w r3, r3, r3, lsl #2 - 1586e: eb03 0383 add.w r3, r3, r3, lsl #2 - 15872: f641 35da movw r5, #7130 ; 0x1bda - 15876: 442b add r3, r5 - 15878: eb03 2203 add.w r2, r3, r3, lsl #8 - 1587c: eb03 13c2 add.w r3, r3, r2, lsl #7 - 15880: f3c3 53c4 ubfx r3, r3, #23, #5 + 152bc: 4928 ldr r1, [pc, #160] ; (15360 ) + 152be: 7b4b ldrb r3, [r1, #13] + 152c0: 08db lsrs r3, r3, #3 + 152c2: eb03 0383 add.w r3, r3, r3, lsl #2 + 152c6: eb03 0383 add.w r3, r3, r3, lsl #2 + 152ca: f641 35da movw r5, #7130 ; 0x1bda + 152ce: 442b add r3, r5 + 152d0: eb03 2203 add.w r2, r3, r3, lsl #8 + 152d4: eb03 13c2 add.w r3, r3, r2, lsl #7 + 152d8: f3c3 53c4 ubfx r3, r3, #23, #5 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 15884: 898a ldrh r2, [r1, #12] - 15886: f3c2 1245 ubfx r2, r2, #5, #6 - 1588a: eb02 0282 add.w r2, r2, r2, lsl #2 - 1588e: eb02 0282 add.w r2, r2, r2, lsl #2 - 15892: f502 5262 add.w r2, r2, #14464 ; 0x3880 - 15896: 321a adds r2, #26 - 15898: eb02 2402 add.w r4, r2, r2, lsl #8 - 1589c: eb02 12c4 add.w r2, r2, r4, lsl #7 - 158a0: f3c2 54c5 ubfx r4, r2, #23, #6 + 152dc: 898a ldrh r2, [r1, #12] + 152de: f3c2 1245 ubfx r2, r2, #5, #6 + 152e2: eb02 0282 add.w r2, r2, r2, lsl #2 + 152e6: eb02 0282 add.w r2, r2, r2, lsl #2 + 152ea: f502 5262 add.w r2, r2, #14464 ; 0x3880 + 152ee: 321a adds r2, #26 + 152f0: eb02 2402 add.w r4, r2, r2, lsl #8 + 152f4: eb02 12c4 add.w r2, r2, r4, lsl #7 + 152f8: f3c2 54c5 ubfx r4, r2, #23, #6 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 158a4: 7b09 ldrb r1, [r1, #12] - 158a6: f001 011f and.w r1, r1, #31 - 158aa: eb01 0181 add.w r1, r1, r1, lsl #2 - 158ae: eb01 0181 add.w r1, r1, r1, lsl #2 - 158b2: 4429 add r1, r5 - 158b4: eb01 2201 add.w r2, r1, r1, lsl #8 - 158b8: eb01 11c2 add.w r1, r1, r2, lsl #7 - 158bc: f3c1 51c4 ubfx r1, r1, #23, #5 - 158c0: f04f 0200 mov.w r2, #0 - 158c4: f361 0204 bfi r2, r1, #0, #5 - 158c8: f364 124a bfi r2, r4, #5, #6 - 158cc: f363 22cf bfi r2, r3, #11, #5 - 158d0: f241 0129 movw r1, #4137 ; 0x1029 - 158d4: 4d0b ldr r5, [pc, #44] ; (15904 ) - 158d6: 47a8 blx r5 + 152fc: 7b09 ldrb r1, [r1, #12] + 152fe: f001 011f and.w r1, r1, #31 + 15302: eb01 0181 add.w r1, r1, r1, lsl #2 + 15306: eb01 0181 add.w r1, r1, r1, lsl #2 + 1530a: 4429 add r1, r5 + 1530c: eb01 2201 add.w r2, r1, r1, lsl #8 + 15310: eb01 11c2 add.w r1, r1, r2, lsl #7 + 15314: f3c1 51c4 ubfx r1, r1, #23, #5 + 15318: f04f 0200 mov.w r2, #0 + 1531c: f361 0204 bfi r2, r1, #0, #5 + 15320: f364 124a bfi r2, r4, #5, #6 + 15324: f363 22cf bfi r2, r3, #11, #5 + 15328: f241 0129 movw r1, #4137 ; 0x1029 + 1532c: 4d0b ldr r5, [pc, #44] ; (1535c ) + 1532e: 47a8 blx r5 lv_style_set_bg_color(&styles->btn, LV_STATE_CHECKED, COLOR_BTN_CHK); - 158d8: 4c0b ldr r4, [pc, #44] ; (15908 ) - 158da: 6820 ldr r0, [r4, #0] - 158dc: 89a2 ldrh r2, [r4, #12] - 158de: f240 1129 movw r1, #297 ; 0x129 - 158e2: 3010 adds r0, #16 - 158e4: 47a8 blx r5 + 15330: 4c0b ldr r4, [pc, #44] ; (15360 ) + 15332: 6820 ldr r0, [r4, #0] + 15334: 89a2 ldrh r2, [r4, #12] + 15336: f240 1129 movw r1, #297 ; 0x129 + 1533a: 3010 adds r0, #16 + 1533c: 47a8 blx r5 lv_style_set_bg_color(&styles->btn, LV_STATE_CHECKED | LV_STATE_PRESSED, COLOR_BTN_CHK_PR); - 158e6: 6826 ldr r6, [r4, #0] - 158e8: 3610 adds r6, #16 - 158ea: 214c movs r1, #76 ; 0x4c - 158ec: 89a0 ldrh r0, [r4, #12] - 158ee: 4b08 ldr r3, [pc, #32] ; (15910 ) - 158f0: 4798 blx r3 - 158f2: 4602 mov r2, r0 - 158f4: f241 1129 movw r1, #4393 ; 0x1129 - 158f8: 4630 mov r0, r6 - 158fa: 47a8 blx r5 + 1533e: 6826 ldr r6, [r4, #0] + 15340: 3610 adds r6, #16 + 15342: 214c movs r1, #76 ; 0x4c + 15344: 89a0 ldrh r0, [r4, #12] + 15346: 4b08 ldr r3, [pc, #32] ; (15368 ) + 15348: 4798 blx r3 + 1534a: 4602 mov r2, r0 + 1534c: f241 1129 movw r1, #4393 ; 0x1129 + 15350: 4630 mov r0, r6 + 15352: 47a8 blx r5 lv_style_set_bg_color(&styles->btn, LV_STATE_DISABLED, COLOR_BTN); - 158fc: 6820 ldr r0, [r4, #0] - 158fe: 3010 adds r0, #16 - 15900: 6a23 ldr r3, [r4, #32] - 15902: e00b b.n 1591c - 15904: 00006fcd .word 0x00006fcd - 15908: 20006bd8 .word 0x20006bd8 - 1590c: 00006e89 .word 0x00006e89 - 15910: 000121ab .word 0x000121ab - 15914: 00015009 .word 0x00015009 - 15918: 00007111 .word 0x00007111 - 1591c: f013 0f02 tst.w r3, #2 - 15920: f040 83d9 bne.w 160d6 - 15924: 230b movs r3, #11 - 15926: 2118 movs r1, #24 - 15928: 240e movs r4, #14 - 1592a: f04f 0200 mov.w r2, #0 - 1592e: f364 0204 bfi r2, r4, #0, #5 - 15932: f361 124a bfi r2, r1, #5, #6 - 15936: f363 22cf bfi r2, r3, #11, #5 - 1593a: f242 0129 movw r1, #8233 ; 0x2029 - 1593e: 4bc6 ldr r3, [pc, #792] ; (15c58 ) - 15940: 4798 blx r3 + 15354: 6820 ldr r0, [r4, #0] + 15356: 3010 adds r0, #16 + 15358: 6a23 ldr r3, [r4, #32] + 1535a: e00b b.n 15374 + 1535c: 00006a25 .word 0x00006a25 + 15360: 20006bd8 .word 0x20006bd8 + 15364: 000068e1 .word 0x000068e1 + 15368: 00011c03 .word 0x00011c03 + 1536c: 00014a61 .word 0x00014a61 + 15370: 00006b69 .word 0x00006b69 + 15374: f013 0f02 tst.w r3, #2 + 15378: f040 83d9 bne.w 15b2e + 1537c: 230b movs r3, #11 + 1537e: 2118 movs r1, #24 + 15380: 240e movs r4, #14 + 15382: f04f 0200 mov.w r2, #0 + 15386: f364 0204 bfi r2, r4, #0, #5 + 1538a: f361 124a bfi r2, r1, #5, #6 + 1538e: f363 22cf bfi r2, r3, #11, #5 + 15392: f242 0129 movw r1, #8233 ; 0x2029 + 15396: 4bc6 ldr r3, [pc, #792] ; (156b0 ) + 15398: 4798 blx r3 lv_style_set_bg_color(&styles->btn, LV_STATE_DISABLED | LV_STATE_CHECKED, COLOR_BTN_DIS); - 15942: 4bc6 ldr r3, [pc, #792] ; (15c5c ) - 15944: 6818 ldr r0, [r3, #0] - 15946: 6a1b ldr r3, [r3, #32] - 15948: f013 0302 ands.w r3, r3, #2 - 1594c: bf14 ite ne - 1594e: 2133 movne r1, #51 ; 0x33 - 15950: 2122 moveq r1, #34 ; 0x22 - 15952: 2b00 cmp r3, #0 - 15954: bf14 ite ne - 15956: 2319 movne r3, #25 - 15958: 2311 moveq r3, #17 - 1595a: f04f 0200 mov.w r2, #0 - 1595e: f363 0204 bfi r2, r3, #0, #5 - 15962: f361 124a bfi r2, r1, #5, #6 - 15966: f363 22cf bfi r2, r3, #11, #5 - 1596a: f242 1129 movw r1, #8489 ; 0x2129 - 1596e: 3010 adds r0, #16 - 15970: 4db9 ldr r5, [pc, #740] ; (15c58 ) - 15972: 47a8 blx r5 + 1539a: 4bc6 ldr r3, [pc, #792] ; (156b4 ) + 1539c: 6818 ldr r0, [r3, #0] + 1539e: 6a1b ldr r3, [r3, #32] + 153a0: f013 0302 ands.w r3, r3, #2 + 153a4: bf14 ite ne + 153a6: 2133 movne r1, #51 ; 0x33 + 153a8: 2122 moveq r1, #34 ; 0x22 + 153aa: 2b00 cmp r3, #0 + 153ac: bf14 ite ne + 153ae: 2319 movne r3, #25 + 153b0: 2311 moveq r3, #17 + 153b2: f04f 0200 mov.w r2, #0 + 153b6: f363 0204 bfi r2, r3, #0, #5 + 153ba: f361 124a bfi r2, r1, #5, #6 + 153be: f363 22cf bfi r2, r3, #11, #5 + 153c2: f242 1129 movw r1, #8489 ; 0x2129 + 153c6: 3010 adds r0, #16 + 153c8: 4db9 ldr r5, [pc, #740] ; (156b0 ) + 153ca: 47a8 blx r5 lv_style_set_border_color(&styles->btn, LV_STATE_DEFAULT, COLOR_BTN_BORDER); - 15974: 4cb9 ldr r4, [pc, #740] ; (15c5c ) - 15976: 6820 ldr r0, [r4, #0] + 153cc: 4cb9 ldr r4, [pc, #740] ; (156b4 ) + 153ce: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_COLOR, border_color, lv_color_t, _color, nonscalar) - 15978: 89a2 ldrh r2, [r4, #12] - 1597a: 2139 movs r1, #57 ; 0x39 - 1597c: 3010 adds r0, #16 - 1597e: 47a8 blx r5 + 153d0: 89a2 ldrh r2, [r4, #12] + 153d2: 2139 movs r1, #57 ; 0x39 + 153d4: 3010 adds r0, #16 + 153d6: 47a8 blx r5 lv_style_set_border_color(&styles->btn, LV_STATE_PRESSED, COLOR_BTN_BORDER_PR); - 15980: 6820 ldr r0, [r4, #0] - 15982: 89a2 ldrh r2, [r4, #12] - 15984: f241 0139 movw r1, #4153 ; 0x1039 - 15988: 3010 adds r0, #16 - 1598a: 47a8 blx r5 + 153d8: 6820 ldr r0, [r4, #0] + 153da: 89a2 ldrh r2, [r4, #12] + 153dc: f241 0139 movw r1, #4153 ; 0x1039 + 153e0: 3010 adds r0, #16 + 153e2: 47a8 blx r5 lv_style_set_border_color(&styles->btn, LV_STATE_DISABLED, COLOR_BTN_BORDER_INA); - 1598c: 6820 ldr r0, [r4, #0] - 1598e: 6a23 ldr r3, [r4, #32] - 15990: f013 0302 ands.w r3, r3, #2 - 15994: bf14 ite ne - 15996: 2122 movne r1, #34 ; 0x22 - 15998: 2110 moveq r1, #16 - 1599a: 2b00 cmp r3, #0 - 1599c: bf14 ite ne - 1599e: 2311 movne r3, #17 - 159a0: 2308 moveq r3, #8 - 159a2: f04f 0200 mov.w r2, #0 - 159a6: f363 0204 bfi r2, r3, #0, #5 - 159aa: f361 124a bfi r2, r1, #5, #6 - 159ae: f363 22cf bfi r2, r3, #11, #5 - 159b2: f242 0139 movw r1, #8249 ; 0x2039 - 159b6: 3010 adds r0, #16 - 159b8: 47a8 blx r5 + 153e4: 6820 ldr r0, [r4, #0] + 153e6: 6a23 ldr r3, [r4, #32] + 153e8: f013 0302 ands.w r3, r3, #2 + 153ec: bf14 ite ne + 153ee: 2122 movne r1, #34 ; 0x22 + 153f0: 2110 moveq r1, #16 + 153f2: 2b00 cmp r3, #0 + 153f4: bf14 ite ne + 153f6: 2311 movne r3, #17 + 153f8: 2308 moveq r3, #8 + 153fa: f04f 0200 mov.w r2, #0 + 153fe: f363 0204 bfi r2, r3, #0, #5 + 15402: f361 124a bfi r2, r1, #5, #6 + 15406: f363 22cf bfi r2, r3, #11, #5 + 1540a: f242 0139 movw r1, #8249 ; 0x2039 + 1540e: 3010 adds r0, #16 + 15410: 47a8 blx r5 lv_style_set_border_width(&styles->btn, LV_STATE_DEFAULT, BORDER_WIDTH); - 159ba: 6824 ldr r4, [r4, #0] - 159bc: 3410 adds r4, #16 - 159be: 2000 movs r0, #0 - 159c0: 4ba7 ldr r3, [pc, #668] ; (15c60 ) - 159c2: 4798 blx r3 - 159c4: 3028 adds r0, #40 ; 0x28 - 159c6: 0040 lsls r0, r0, #1 - 159c8: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 159cc: f280 8387 bge.w 160de - 159d0: 2201 movs r2, #1 + 15412: 6824 ldr r4, [r4, #0] + 15414: 3410 adds r4, #16 + 15416: 2000 movs r0, #0 + 15418: 4ba7 ldr r3, [pc, #668] ; (156b8 ) + 1541a: 4798 blx r3 + 1541c: 3028 adds r0, #40 ; 0x28 + 1541e: 0040 lsls r0, r0, #1 + 15420: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 15424: f280 8387 bge.w 15b36 + 15428: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_WIDTH, border_width, lv_style_int_t, _int, scalar) - 159d2: 2130 movs r1, #48 ; 0x30 - 159d4: 4620 mov r0, r4 - 159d6: 4ba3 ldr r3, [pc, #652] ; (15c64 ) - 159d8: 4798 blx r3 + 1542a: 2130 movs r1, #48 ; 0x30 + 1542c: 4620 mov r0, r4 + 1542e: 4ba3 ldr r3, [pc, #652] ; (156bc ) + 15430: 4798 blx r3 lv_style_set_border_opa(&styles->btn, LV_STATE_CHECKED, LV_OPA_TRANSP); - 159da: 4ca0 ldr r4, [pc, #640] ; (15c5c ) - 159dc: 6820 ldr r0, [r4, #0] + 15432: 4ca0 ldr r4, [pc, #640] ; (156b4 ) + 15434: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_OPA, border_opa, lv_opa_t, _opa, scalar) - 159de: 2200 movs r2, #0 - 159e0: f44f 719e mov.w r1, #316 ; 0x13c - 159e4: 3010 adds r0, #16 - 159e6: 4ba0 ldr r3, [pc, #640] ; (15c68 ) - 159e8: 4798 blx r3 + 15436: 2200 movs r2, #0 + 15438: f44f 719e mov.w r1, #316 ; 0x13c + 1543c: 3010 adds r0, #16 + 1543e: 4ba0 ldr r3, [pc, #640] ; (156c0 ) + 15440: 4798 blx r3 lv_style_set_text_color(&styles->btn, LV_STATE_DEFAULT, IS_LIGHT ? lv_color_hex(0x31404f) : lv_color_hex(0xffffff)); - 159ea: 6820 ldr r0, [r4, #0] - 159ec: 3010 adds r0, #16 - 159ee: 6a23 ldr r3, [r4, #32] - 159f0: f013 0f02 tst.w r3, #2 - 159f4: f040 8380 bne.w 160f8 - 159f8: 231f movs r3, #31 - 159fa: 213f movs r1, #63 ; 0x3f - 159fc: 461c mov r4, r3 - 159fe: f04f 0200 mov.w r2, #0 - 15a02: f364 0204 bfi r2, r4, #0, #5 - 15a06: f361 124a bfi r2, r1, #5, #6 - 15a0a: f363 22cf bfi r2, r3, #11, #5 + 15442: 6820 ldr r0, [r4, #0] + 15444: 3010 adds r0, #16 + 15446: 6a23 ldr r3, [r4, #32] + 15448: f013 0f02 tst.w r3, #2 + 1544c: f040 8380 bne.w 15b50 + 15450: 231f movs r3, #31 + 15452: 213f movs r1, #63 ; 0x3f + 15454: 461c mov r4, r3 + 15456: f04f 0200 mov.w r2, #0 + 1545a: f364 0204 bfi r2, r4, #0, #5 + 1545e: f361 124a bfi r2, r1, #5, #6 + 15462: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar) - 15a0e: f248 0189 movw r1, #32905 ; 0x8089 - 15a12: 4b91 ldr r3, [pc, #580] ; (15c58 ) - 15a14: 4798 blx r3 + 15466: f248 0189 movw r1, #32905 ; 0x8089 + 1546a: 4b91 ldr r3, [pc, #580] ; (156b0 ) + 1546c: 4798 blx r3 lv_style_set_text_color(&styles->btn, LV_STATE_PRESSED, IS_LIGHT ? lv_color_hex(0x31404f) : lv_color_hex(0xffffff)); - 15a16: 4b91 ldr r3, [pc, #580] ; (15c5c ) - 15a18: 6818 ldr r0, [r3, #0] - 15a1a: 3010 adds r0, #16 - 15a1c: 6a1b ldr r3, [r3, #32] - 15a1e: f013 0f02 tst.w r3, #2 - 15a22: f040 836d bne.w 16100 - 15a26: 231f movs r3, #31 - 15a28: 213f movs r1, #63 ; 0x3f - 15a2a: 461c mov r4, r3 - 15a2c: f04f 0200 mov.w r2, #0 - 15a30: f364 0204 bfi r2, r4, #0, #5 - 15a34: f361 124a bfi r2, r1, #5, #6 - 15a38: f363 22cf bfi r2, r3, #11, #5 - 15a3c: f249 0189 movw r1, #37001 ; 0x9089 - 15a40: 4d85 ldr r5, [pc, #532] ; (15c58 ) - 15a42: 47a8 blx r5 + 1546e: 4b91 ldr r3, [pc, #580] ; (156b4 ) + 15470: 6818 ldr r0, [r3, #0] + 15472: 3010 adds r0, #16 + 15474: 6a1b ldr r3, [r3, #32] + 15476: f013 0f02 tst.w r3, #2 + 1547a: f040 836d bne.w 15b58 + 1547e: 231f movs r3, #31 + 15480: 213f movs r1, #63 ; 0x3f + 15482: 461c mov r4, r3 + 15484: f04f 0200 mov.w r2, #0 + 15488: f364 0204 bfi r2, r4, #0, #5 + 1548c: f361 124a bfi r2, r1, #5, #6 + 15490: f363 22cf bfi r2, r3, #11, #5 + 15494: f249 0189 movw r1, #37001 ; 0x9089 + 15498: 4d85 ldr r5, [pc, #532] ; (156b0 ) + 1549a: 47a8 blx r5 lv_style_set_text_color(&styles->btn, LV_STATE_CHECKED, lv_color_hex(0xffffff)); - 15a44: 4c85 ldr r4, [pc, #532] ; (15c5c ) - 15a46: 6820 ldr r0, [r4, #0] - 15a48: f04f 32ff mov.w r2, #4294967295 - 15a4c: f248 1189 movw r1, #33161 ; 0x8189 - 15a50: 3010 adds r0, #16 - 15a52: 47a8 blx r5 + 1549c: 4c85 ldr r4, [pc, #532] ; (156b4 ) + 1549e: 6820 ldr r0, [r4, #0] + 154a0: f04f 32ff mov.w r2, #4294967295 + 154a4: f248 1189 movw r1, #33161 ; 0x8189 + 154a8: 3010 adds r0, #16 + 154aa: 47a8 blx r5 lv_style_set_text_color(&styles->btn, LV_STATE_CHECKED | LV_STATE_PRESSED, lv_color_hex(0xffffff)); - 15a54: 6820 ldr r0, [r4, #0] - 15a56: f04f 32ff mov.w r2, #4294967295 - 15a5a: f249 1189 movw r1, #37257 ; 0x9189 - 15a5e: 3010 adds r0, #16 - 15a60: 47a8 blx r5 + 154ac: 6820 ldr r0, [r4, #0] + 154ae: f04f 32ff mov.w r2, #4294967295 + 154b2: f249 1189 movw r1, #37257 ; 0x9189 + 154b6: 3010 adds r0, #16 + 154b8: 47a8 blx r5 lv_style_set_text_color(&styles->btn, LV_STATE_DISABLED, IS_LIGHT ? lv_color_hex(0x888888) : lv_color_hex(0x888888)); - 15a62: 6820 ldr r0, [r4, #0] - 15a64: 2311 movs r3, #17 - 15a66: f04f 0200 mov.w r2, #0 - 15a6a: f363 0204 bfi r2, r3, #0, #5 - 15a6e: 2122 movs r1, #34 ; 0x22 - 15a70: f361 124a bfi r2, r1, #5, #6 - 15a74: f363 22cf bfi r2, r3, #11, #5 - 15a78: f24a 0189 movw r1, #41097 ; 0xa089 - 15a7c: 3010 adds r0, #16 - 15a7e: 47a8 blx r5 + 154ba: 6820 ldr r0, [r4, #0] + 154bc: 2311 movs r3, #17 + 154be: f04f 0200 mov.w r2, #0 + 154c2: f363 0204 bfi r2, r3, #0, #5 + 154c6: 2122 movs r1, #34 ; 0x22 + 154c8: f361 124a bfi r2, r1, #5, #6 + 154cc: f363 22cf bfi r2, r3, #11, #5 + 154d0: f24a 0189 movw r1, #41097 ; 0xa089 + 154d4: 3010 adds r0, #16 + 154d6: 47a8 blx r5 lv_style_set_image_recolor(&styles->btn, LV_STATE_DEFAULT, IS_LIGHT ? lv_color_hex(0x31404f) : lv_color_hex(0xffffff)); - 15a80: 6820 ldr r0, [r4, #0] - 15a82: 3010 adds r0, #16 - 15a84: 6a23 ldr r3, [r4, #32] - 15a86: f013 0f02 tst.w r3, #2 - 15a8a: f040 833d bne.w 16108 - 15a8e: 231f movs r3, #31 - 15a90: 213f movs r1, #63 ; 0x3f - 15a92: 461c mov r4, r3 - 15a94: f04f 0200 mov.w r2, #0 - 15a98: f364 0204 bfi r2, r4, #0, #5 - 15a9c: f361 124a bfi r2, r1, #5, #6 - 15aa0: f363 22cf bfi r2, r3, #11, #5 + 154d8: 6820 ldr r0, [r4, #0] + 154da: 3010 adds r0, #16 + 154dc: 6a23 ldr r3, [r4, #32] + 154de: f013 0f02 tst.w r3, #2 + 154e2: f040 833d bne.w 15b60 + 154e6: 231f movs r3, #31 + 154e8: 213f movs r1, #63 ; 0x3f + 154ea: 461c mov r4, r3 + 154ec: f04f 0200 mov.w r2, #0 + 154f0: f364 0204 bfi r2, r4, #0, #5 + 154f4: f361 124a bfi r2, r1, #5, #6 + 154f8: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_RECOLOR, image_recolor, lv_color_t, _color, nonscalar) - 15aa4: f248 01a9 movw r1, #32937 ; 0x80a9 - 15aa8: 4b6b ldr r3, [pc, #428] ; (15c58 ) - 15aaa: 4798 blx r3 + 154fc: f248 01a9 movw r1, #32937 ; 0x80a9 + 15500: 4b6b ldr r3, [pc, #428] ; (156b0 ) + 15502: 4798 blx r3 lv_style_set_image_recolor(&styles->btn, LV_STATE_PRESSED, IS_LIGHT ? lv_color_hex(0x31404f) : lv_color_hex(0xffffff)); - 15aac: 4b6b ldr r3, [pc, #428] ; (15c5c ) - 15aae: 6818 ldr r0, [r3, #0] - 15ab0: 3010 adds r0, #16 - 15ab2: 6a1b ldr r3, [r3, #32] - 15ab4: f013 0f02 tst.w r3, #2 - 15ab8: f040 832a bne.w 16110 - 15abc: 231f movs r3, #31 - 15abe: 213f movs r1, #63 ; 0x3f - 15ac0: 461c mov r4, r3 - 15ac2: f04f 0200 mov.w r2, #0 - 15ac6: f364 0204 bfi r2, r4, #0, #5 - 15aca: f361 124a bfi r2, r1, #5, #6 - 15ace: f363 22cf bfi r2, r3, #11, #5 - 15ad2: f249 01a9 movw r1, #37033 ; 0x90a9 - 15ad6: 4d60 ldr r5, [pc, #384] ; (15c58 ) - 15ad8: 47a8 blx r5 + 15504: 4b6b ldr r3, [pc, #428] ; (156b4 ) + 15506: 6818 ldr r0, [r3, #0] + 15508: 3010 adds r0, #16 + 1550a: 6a1b ldr r3, [r3, #32] + 1550c: f013 0f02 tst.w r3, #2 + 15510: f040 832a bne.w 15b68 + 15514: 231f movs r3, #31 + 15516: 213f movs r1, #63 ; 0x3f + 15518: 461c mov r4, r3 + 1551a: f04f 0200 mov.w r2, #0 + 1551e: f364 0204 bfi r2, r4, #0, #5 + 15522: f361 124a bfi r2, r1, #5, #6 + 15526: f363 22cf bfi r2, r3, #11, #5 + 1552a: f249 01a9 movw r1, #37033 ; 0x90a9 + 1552e: 4d60 ldr r5, [pc, #384] ; (156b0 ) + 15530: 47a8 blx r5 lv_style_set_image_recolor(&styles->btn, LV_STATE_PRESSED, lv_color_hex(0xffffff)); - 15ada: 4c60 ldr r4, [pc, #384] ; (15c5c ) - 15adc: 6820 ldr r0, [r4, #0] - 15ade: f04f 32ff mov.w r2, #4294967295 - 15ae2: f249 01a9 movw r1, #37033 ; 0x90a9 - 15ae6: 3010 adds r0, #16 - 15ae8: 47a8 blx r5 + 15532: 4c60 ldr r4, [pc, #384] ; (156b4 ) + 15534: 6820 ldr r0, [r4, #0] + 15536: f04f 32ff mov.w r2, #4294967295 + 1553a: f249 01a9 movw r1, #37033 ; 0x90a9 + 1553e: 3010 adds r0, #16 + 15540: 47a8 blx r5 lv_style_set_image_recolor(&styles->btn, LV_STATE_CHECKED | LV_STATE_PRESSED, lv_color_hex(0xffffff)); - 15aea: 6820 ldr r0, [r4, #0] - 15aec: f04f 32ff mov.w r2, #4294967295 - 15af0: f249 11a9 movw r1, #37289 ; 0x91a9 - 15af4: 3010 adds r0, #16 - 15af6: 47a8 blx r5 + 15542: 6820 ldr r0, [r4, #0] + 15544: f04f 32ff mov.w r2, #4294967295 + 15548: f249 11a9 movw r1, #37289 ; 0x91a9 + 1554c: 3010 adds r0, #16 + 1554e: 47a8 blx r5 lv_style_set_image_recolor(&styles->btn, LV_STATE_DISABLED, IS_LIGHT ? lv_color_hex(0x888888) : lv_color_hex(0x888888)); - 15af8: 6820 ldr r0, [r4, #0] - 15afa: 2311 movs r3, #17 - 15afc: f04f 0200 mov.w r2, #0 - 15b00: f363 0204 bfi r2, r3, #0, #5 - 15b04: 2122 movs r1, #34 ; 0x22 - 15b06: f361 124a bfi r2, r1, #5, #6 - 15b0a: f363 22cf bfi r2, r3, #11, #5 - 15b0e: f24a 01a9 movw r1, #41129 ; 0xa0a9 - 15b12: 3010 adds r0, #16 - 15b14: 47a8 blx r5 + 15550: 6820 ldr r0, [r4, #0] + 15552: 2311 movs r3, #17 + 15554: f04f 0200 mov.w r2, #0 + 15558: f363 0204 bfi r2, r3, #0, #5 + 1555c: 2122 movs r1, #34 ; 0x22 + 1555e: f361 124a bfi r2, r1, #5, #6 + 15562: f363 22cf bfi r2, r3, #11, #5 + 15566: f24a 01a9 movw r1, #41129 ; 0xa0a9 + 1556a: 3010 adds r0, #16 + 1556c: 47a8 blx r5 lv_style_set_value_color(&styles->btn, LV_STATE_DEFAULT, IS_LIGHT ? lv_color_hex(0x31404f) : lv_color_hex(0xffffff)); - 15b16: 6820 ldr r0, [r4, #0] - 15b18: 3010 adds r0, #16 - 15b1a: 6a23 ldr r3, [r4, #32] - 15b1c: f013 0f02 tst.w r3, #2 - 15b20: f040 82fa bne.w 16118 - 15b24: 231f movs r3, #31 - 15b26: 213f movs r1, #63 ; 0x3f - 15b28: 461c mov r4, r3 - 15b2a: f04f 0200 mov.w r2, #0 - 15b2e: f364 0204 bfi r2, r4, #0, #5 - 15b32: f361 124a bfi r2, r1, #5, #6 - 15b36: f363 22cf bfi r2, r3, #11, #5 + 1556e: 6820 ldr r0, [r4, #0] + 15570: 3010 adds r0, #16 + 15572: 6a23 ldr r3, [r4, #32] + 15574: f013 0f02 tst.w r3, #2 + 15578: f040 82fa bne.w 15b70 + 1557c: 231f movs r3, #31 + 1557e: 213f movs r1, #63 ; 0x3f + 15580: 461c mov r4, r3 + 15582: f04f 0200 mov.w r2, #0 + 15586: f364 0204 bfi r2, r4, #0, #5 + 1558a: f361 124a bfi r2, r1, #5, #6 + 1558e: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_COLOR, value_color, lv_color_t, _color, nonscalar) - 15b3a: 2179 movs r1, #121 ; 0x79 - 15b3c: 4b46 ldr r3, [pc, #280] ; (15c58 ) - 15b3e: 4798 blx r3 + 15592: 2179 movs r1, #121 ; 0x79 + 15594: 4b46 ldr r3, [pc, #280] ; (156b0 ) + 15596: 4798 blx r3 lv_style_set_value_color(&styles->btn, LV_STATE_PRESSED, IS_LIGHT ? lv_color_hex(0x31404f) : lv_color_hex(0xffffff)); - 15b40: 4b46 ldr r3, [pc, #280] ; (15c5c ) - 15b42: 6818 ldr r0, [r3, #0] - 15b44: 3010 adds r0, #16 - 15b46: 6a1b ldr r3, [r3, #32] - 15b48: f013 0f02 tst.w r3, #2 - 15b4c: f040 82e8 bne.w 16120 - 15b50: 231f movs r3, #31 - 15b52: 213f movs r1, #63 ; 0x3f - 15b54: 461c mov r4, r3 - 15b56: f04f 0200 mov.w r2, #0 - 15b5a: f364 0204 bfi r2, r4, #0, #5 - 15b5e: f361 124a bfi r2, r1, #5, #6 - 15b62: f363 22cf bfi r2, r3, #11, #5 - 15b66: f241 0179 movw r1, #4217 ; 0x1079 - 15b6a: 4d3b ldr r5, [pc, #236] ; (15c58 ) - 15b6c: 47a8 blx r5 + 15598: 4b46 ldr r3, [pc, #280] ; (156b4 ) + 1559a: 6818 ldr r0, [r3, #0] + 1559c: 3010 adds r0, #16 + 1559e: 6a1b ldr r3, [r3, #32] + 155a0: f013 0f02 tst.w r3, #2 + 155a4: f040 82e8 bne.w 15b78 + 155a8: 231f movs r3, #31 + 155aa: 213f movs r1, #63 ; 0x3f + 155ac: 461c mov r4, r3 + 155ae: f04f 0200 mov.w r2, #0 + 155b2: f364 0204 bfi r2, r4, #0, #5 + 155b6: f361 124a bfi r2, r1, #5, #6 + 155ba: f363 22cf bfi r2, r3, #11, #5 + 155be: f241 0179 movw r1, #4217 ; 0x1079 + 155c2: 4d3b ldr r5, [pc, #236] ; (156b0 ) + 155c4: 47a8 blx r5 lv_style_set_value_color(&styles->btn, LV_STATE_CHECKED, lv_color_hex(0xffffff)); - 15b6e: 4c3b ldr r4, [pc, #236] ; (15c5c ) - 15b70: 6820 ldr r0, [r4, #0] - 15b72: f04f 32ff mov.w r2, #4294967295 - 15b76: f240 1179 movw r1, #377 ; 0x179 - 15b7a: 3010 adds r0, #16 - 15b7c: 47a8 blx r5 + 155c6: 4c3b ldr r4, [pc, #236] ; (156b4 ) + 155c8: 6820 ldr r0, [r4, #0] + 155ca: f04f 32ff mov.w r2, #4294967295 + 155ce: f240 1179 movw r1, #377 ; 0x179 + 155d2: 3010 adds r0, #16 + 155d4: 47a8 blx r5 lv_style_set_value_color(&styles->btn, LV_STATE_CHECKED | LV_STATE_PRESSED, lv_color_hex(0xffffff)); - 15b7e: 6820 ldr r0, [r4, #0] - 15b80: f04f 32ff mov.w r2, #4294967295 - 15b84: f241 1179 movw r1, #4473 ; 0x1179 - 15b88: 3010 adds r0, #16 - 15b8a: 47a8 blx r5 + 155d6: 6820 ldr r0, [r4, #0] + 155d8: f04f 32ff mov.w r2, #4294967295 + 155dc: f241 1179 movw r1, #4473 ; 0x1179 + 155e0: 3010 adds r0, #16 + 155e2: 47a8 blx r5 lv_style_set_value_color(&styles->btn, LV_STATE_DISABLED, IS_LIGHT ? lv_color_hex(0x888888) : lv_color_hex(0x888888)); - 15b8c: 6820 ldr r0, [r4, #0] - 15b8e: 2311 movs r3, #17 - 15b90: f04f 0200 mov.w r2, #0 - 15b94: f363 0204 bfi r2, r3, #0, #5 - 15b98: 2122 movs r1, #34 ; 0x22 - 15b9a: f361 124a bfi r2, r1, #5, #6 - 15b9e: f363 22cf bfi r2, r3, #11, #5 - 15ba2: f242 0179 movw r1, #8313 ; 0x2079 - 15ba6: 3010 adds r0, #16 - 15ba8: 47a8 blx r5 + 155e4: 6820 ldr r0, [r4, #0] + 155e6: 2311 movs r3, #17 + 155e8: f04f 0200 mov.w r2, #0 + 155ec: f363 0204 bfi r2, r3, #0, #5 + 155f0: 2122 movs r1, #34 ; 0x22 + 155f2: f361 124a bfi r2, r1, #5, #6 + 155f6: f363 22cf bfi r2, r3, #11, #5 + 155fa: f242 0179 movw r1, #8313 ; 0x2079 + 155fe: 3010 adds r0, #16 + 15600: 47a8 blx r5 lv_style_set_pad_left(&styles->btn, LV_STATE_DEFAULT, LV_DPX(40)); - 15baa: 6824 ldr r4, [r4, #0] - 15bac: 3410 adds r4, #16 - 15bae: 2000 movs r0, #0 - 15bb0: 4b2b ldr r3, [pc, #172] ; (15c60 ) - 15bb2: 4798 blx r3 - 15bb4: eb00 0080 add.w r0, r0, r0, lsl #2 - 15bb8: 00c0 lsls r0, r0, #3 - 15bba: 3050 adds r0, #80 ; 0x50 - 15bbc: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 15bc0: f280 82b2 bge.w 16128 - 15bc4: 2201 movs r2, #1 + 15602: 6824 ldr r4, [r4, #0] + 15604: 3410 adds r4, #16 + 15606: 2000 movs r0, #0 + 15608: 4b2b ldr r3, [pc, #172] ; (156b8 ) + 1560a: 4798 blx r3 + 1560c: eb00 0080 add.w r0, r0, r0, lsl #2 + 15610: 00c0 lsls r0, r0, #3 + 15612: 3050 adds r0, #80 ; 0x50 + 15614: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 15618: f280 82b2 bge.w 15b80 + 1561c: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 15bc6: 2112 movs r1, #18 - 15bc8: 4620 mov r0, r4 - 15bca: 4b26 ldr r3, [pc, #152] ; (15c64 ) - 15bcc: 4798 blx r3 + 1561e: 2112 movs r1, #18 + 15620: 4620 mov r0, r4 + 15622: 4b26 ldr r3, [pc, #152] ; (156bc ) + 15624: 4798 blx r3 lv_style_set_pad_right(&styles->btn, LV_STATE_DEFAULT, LV_DPX(40)); - 15bce: 4b23 ldr r3, [pc, #140] ; (15c5c ) - 15bd0: 681c ldr r4, [r3, #0] - 15bd2: 3410 adds r4, #16 - 15bd4: 2000 movs r0, #0 - 15bd6: 4b22 ldr r3, [pc, #136] ; (15c60 ) - 15bd8: 4798 blx r3 - 15bda: eb00 0080 add.w r0, r0, r0, lsl #2 - 15bde: 00c0 lsls r0, r0, #3 - 15be0: 3050 adds r0, #80 ; 0x50 - 15be2: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 15be6: f280 82ae bge.w 16146 - 15bea: 2201 movs r2, #1 + 15626: 4b23 ldr r3, [pc, #140] ; (156b4 ) + 15628: 681c ldr r4, [r3, #0] + 1562a: 3410 adds r4, #16 + 1562c: 2000 movs r0, #0 + 1562e: 4b22 ldr r3, [pc, #136] ; (156b8 ) + 15630: 4798 blx r3 + 15632: eb00 0080 add.w r0, r0, r0, lsl #2 + 15636: 00c0 lsls r0, r0, #3 + 15638: 3050 adds r0, #80 ; 0x50 + 1563a: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 1563e: f280 82ae bge.w 15b9e + 15642: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 15bec: 2113 movs r1, #19 - 15bee: 4620 mov r0, r4 - 15bf0: 4b1c ldr r3, [pc, #112] ; (15c64 ) - 15bf2: 4798 blx r3 + 15644: 2113 movs r1, #19 + 15646: 4620 mov r0, r4 + 15648: 4b1c ldr r3, [pc, #112] ; (156bc ) + 1564a: 4798 blx r3 lv_style_set_pad_top(&styles->btn, LV_STATE_DEFAULT, LV_DPX(15)); - 15bf4: 4b19 ldr r3, [pc, #100] ; (15c5c ) - 15bf6: 681c ldr r4, [r3, #0] - 15bf8: 3410 adds r4, #16 - 15bfa: 2000 movs r0, #0 - 15bfc: 4b18 ldr r3, [pc, #96] ; (15c60 ) - 15bfe: 4798 blx r3 - 15c00: ebc0 1000 rsb r0, r0, r0, lsl #4 - 15c04: 3050 adds r0, #80 ; 0x50 - 15c06: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 15c0a: f280 82ab bge.w 16164 - 15c0e: 2201 movs r2, #1 + 1564c: 4b19 ldr r3, [pc, #100] ; (156b4 ) + 1564e: 681c ldr r4, [r3, #0] + 15650: 3410 adds r4, #16 + 15652: 2000 movs r0, #0 + 15654: 4b18 ldr r3, [pc, #96] ; (156b8 ) + 15656: 4798 blx r3 + 15658: ebc0 1000 rsb r0, r0, r0, lsl #4 + 1565c: 3050 adds r0, #80 ; 0x50 + 1565e: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 15662: f280 82ab bge.w 15bbc + 15666: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) - 15c10: 2110 movs r1, #16 - 15c12: 4620 mov r0, r4 - 15c14: 4b13 ldr r3, [pc, #76] ; (15c64 ) - 15c16: 4798 blx r3 + 15668: 2110 movs r1, #16 + 1566a: 4620 mov r0, r4 + 1566c: 4b13 ldr r3, [pc, #76] ; (156bc ) + 1566e: 4798 blx r3 lv_style_set_pad_bottom(&styles->btn, LV_STATE_DEFAULT, LV_DPX(15)); - 15c18: 4b10 ldr r3, [pc, #64] ; (15c5c ) - 15c1a: 681c ldr r4, [r3, #0] - 15c1c: 3410 adds r4, #16 - 15c1e: 2000 movs r0, #0 - 15c20: 4b0f ldr r3, [pc, #60] ; (15c60 ) - 15c22: 4798 blx r3 - 15c24: ebc0 1000 rsb r0, r0, r0, lsl #4 - 15c28: 3050 adds r0, #80 ; 0x50 - 15c2a: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 15c2e: f280 82a7 bge.w 16180 - 15c32: 2201 movs r2, #1 + 15670: 4b10 ldr r3, [pc, #64] ; (156b4 ) + 15672: 681c ldr r4, [r3, #0] + 15674: 3410 adds r4, #16 + 15676: 2000 movs r0, #0 + 15678: 4b0f ldr r3, [pc, #60] ; (156b8 ) + 1567a: 4798 blx r3 + 1567c: ebc0 1000 rsb r0, r0, r0, lsl #4 + 15680: 3050 adds r0, #80 ; 0x50 + 15682: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 15686: f280 82a7 bge.w 15bd8 + 1568a: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) - 15c34: 2111 movs r1, #17 - 15c36: 4620 mov r0, r4 - 15c38: 4b0a ldr r3, [pc, #40] ; (15c64 ) - 15c3a: 4798 blx r3 + 1568c: 2111 movs r1, #17 + 1568e: 4620 mov r0, r4 + 15690: 4b0a ldr r3, [pc, #40] ; (156bc ) + 15692: 4798 blx r3 lv_style_set_pad_inner(&styles->btn, LV_STATE_DEFAULT, LV_DPX(20)); - 15c3c: 4b07 ldr r3, [pc, #28] ; (15c5c ) - 15c3e: 681c ldr r4, [r3, #0] - 15c40: 3410 adds r4, #16 - 15c42: 2000 movs r0, #0 - 15c44: 4b06 ldr r3, [pc, #24] ; (15c60 ) - 15c46: 4798 blx r3 - 15c48: eb00 0080 add.w r0, r0, r0, lsl #2 - 15c4c: 0080 lsls r0, r0, #2 - 15c4e: 3050 adds r0, #80 ; 0x50 - 15c50: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 15c54: e00a b.n 15c6c - 15c56: bf00 nop - 15c58: 00006fcd .word 0x00006fcd - 15c5c: 20006bd8 .word 0x20006bd8 - 15c60: 000114e5 .word 0x000114e5 - 15c64: 00006e89 .word 0x00006e89 - 15c68: 00007111 .word 0x00007111 - 15c6c: f280 8296 bge.w 1619c - 15c70: 2201 movs r2, #1 + 15694: 4b07 ldr r3, [pc, #28] ; (156b4 ) + 15696: 681c ldr r4, [r3, #0] + 15698: 3410 adds r4, #16 + 1569a: 2000 movs r0, #0 + 1569c: 4b06 ldr r3, [pc, #24] ; (156b8 ) + 1569e: 4798 blx r3 + 156a0: eb00 0080 add.w r0, r0, r0, lsl #2 + 156a4: 0080 lsls r0, r0, #2 + 156a6: 3050 adds r0, #80 ; 0x50 + 156a8: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 156ac: e00a b.n 156c4 + 156ae: bf00 nop + 156b0: 00006a25 .word 0x00006a25 + 156b4: 20006bd8 .word 0x20006bd8 + 156b8: 00010f3d .word 0x00010f3d + 156bc: 000068e1 .word 0x000068e1 + 156c0: 00006b69 .word 0x00006b69 + 156c4: f280 8296 bge.w 15bf4 + 156c8: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_INNER, pad_inner, lv_style_int_t, _int, scalar) - 15c72: 2114 movs r1, #20 - 15c74: 4620 mov r0, r4 - 15c76: 4dbd ldr r5, [pc, #756] ; (15f6c ) - 15c78: 47a8 blx r5 + 156ca: 2114 movs r1, #20 + 156cc: 4620 mov r0, r4 + 156ce: 4dbd ldr r5, [pc, #756] ; (159c4 ) + 156d0: 47a8 blx r5 lv_style_set_outline_width(&styles->btn, LV_STATE_DEFAULT, 3); - 15c7a: 4cbd ldr r4, [pc, #756] ; (15f70 ) - 15c7c: 6820 ldr r0, [r4, #0] + 156d2: 4cbd ldr r4, [pc, #756] ; (159c8 ) + 156d4: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_WIDTH, outline_width, lv_style_int_t, _int, scalar) - 15c7e: 2203 movs r2, #3 - 15c80: 2140 movs r1, #64 ; 0x40 - 15c82: 3010 adds r0, #16 - 15c84: 47a8 blx r5 + 156d6: 2203 movs r2, #3 + 156d8: 2140 movs r1, #64 ; 0x40 + 156da: 3010 adds r0, #16 + 156dc: 47a8 blx r5 lv_style_set_outline_opa(&styles->btn, LV_STATE_DEFAULT, LV_OPA_0); - 15c86: 6820 ldr r0, [r4, #0] + 156de: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_OPA, outline_opa, lv_opa_t, _opa, scalar) - 15c88: 2200 movs r2, #0 - 15c8a: 214c movs r1, #76 ; 0x4c - 15c8c: 3010 adds r0, #16 - 15c8e: 4eb9 ldr r6, [pc, #740] ; (15f74 ) - 15c90: 47b0 blx r6 + 156e0: 2200 movs r2, #0 + 156e2: 214c movs r1, #76 ; 0x4c + 156e4: 3010 adds r0, #16 + 156e6: 4eb9 ldr r6, [pc, #740] ; (159cc ) + 156e8: 47b0 blx r6 lv_style_set_outline_opa(&styles->btn, LV_STATE_FOCUSED, LV_OPA_50); - 15c92: 6820 ldr r0, [r4, #0] - 15c94: 227f movs r2, #127 ; 0x7f - 15c96: f44f 7113 mov.w r1, #588 ; 0x24c - 15c9a: 3010 adds r0, #16 - 15c9c: 47b0 blx r6 + 156ea: 6820 ldr r0, [r4, #0] + 156ec: 227f movs r2, #127 ; 0x7f + 156ee: f44f 7113 mov.w r1, #588 ; 0x24c + 156f2: 3010 adds r0, #16 + 156f4: 47b0 blx r6 lv_style_set_outline_color(&styles->btn, LV_STATE_DEFAULT, theme.color_primary); - 15c9e: 6820 ldr r0, [r4, #0] + 156f6: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_COLOR, outline_color, lv_color_t, _color, nonscalar) - 15ca0: 89a2 ldrh r2, [r4, #12] - 15ca2: 2149 movs r1, #73 ; 0x49 - 15ca4: 3010 adds r0, #16 - 15ca6: 4eb4 ldr r6, [pc, #720] ; (15f78 ) - 15ca8: 47b0 blx r6 + 156f8: 89a2 ldrh r2, [r4, #12] + 156fa: 2149 movs r1, #73 ; 0x49 + 156fc: 3010 adds r0, #16 + 156fe: 4eb4 ldr r6, [pc, #720] ; (159d0 ) + 15700: 47b0 blx r6 lv_style_set_outline_color(&styles->btn, LV_STATE_EDITED, theme.color_secondary); - 15caa: 6820 ldr r0, [r4, #0] - 15cac: 89e2 ldrh r2, [r4, #14] - 15cae: f240 4149 movw r1, #1097 ; 0x449 - 15cb2: 3010 adds r0, #16 - 15cb4: 47b0 blx r6 + 15702: 6820 ldr r0, [r4, #0] + 15704: 89e2 ldrh r2, [r4, #14] + 15706: f240 4149 movw r1, #1097 ; 0x449 + 1570a: 3010 adds r0, #16 + 1570c: 47b0 blx r6 lv_style_set_transition_time(&styles->btn, LV_STATE_DEFAULT, TRANSITION_TIME); - 15cb6: 6820 ldr r0, [r4, #0] + 1570e: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_TIME, transition_time, lv_style_int_t, _int, scalar) - 15cb8: 2296 movs r2, #150 ; 0x96 - 15cba: 21b0 movs r1, #176 ; 0xb0 - 15cbc: 3010 adds r0, #16 - 15cbe: 47a8 blx r5 + 15710: 2296 movs r2, #150 ; 0x96 + 15712: 21b0 movs r1, #176 ; 0xb0 + 15714: 3010 adds r0, #16 + 15716: 47a8 blx r5 lv_style_set_transition_prop_4(&styles->btn, LV_STATE_DEFAULT, LV_STYLE_BORDER_OPA); - 15cc0: 6820 ldr r0, [r4, #0] + 15718: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_4, transition_prop_4, lv_style_int_t, _int, scalar) - 15cc2: 223c movs r2, #60 ; 0x3c - 15cc4: 21b5 movs r1, #181 ; 0xb5 - 15cc6: 3010 adds r0, #16 - 15cc8: 47a8 blx r5 + 1571a: 223c movs r2, #60 ; 0x3c + 1571c: 21b5 movs r1, #181 ; 0xb5 + 1571e: 3010 adds r0, #16 + 15720: 47a8 blx r5 lv_style_set_transition_prop_5(&styles->btn, LV_STATE_DEFAULT, LV_STYLE_BG_COLOR); - 15cca: 6820 ldr r0, [r4, #0] + 15722: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_5, transition_prop_5, lv_style_int_t, _int, scalar) - 15ccc: 2229 movs r2, #41 ; 0x29 - 15cce: 21b6 movs r1, #182 ; 0xb6 - 15cd0: 3010 adds r0, #16 - 15cd2: 47a8 blx r5 + 15724: 2229 movs r2, #41 ; 0x29 + 15726: 21b6 movs r1, #182 ; 0xb6 + 15728: 3010 adds r0, #16 + 1572a: 47a8 blx r5 lv_style_set_transition_prop_6(&styles->btn, LV_STATE_DEFAULT, LV_STYLE_OUTLINE_OPA); - 15cd4: 6820 ldr r0, [r4, #0] + 1572c: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_6, transition_prop_6, lv_style_int_t, _int, scalar) - 15cd6: 224c movs r2, #76 ; 0x4c - 15cd8: 21b7 movs r1, #183 ; 0xb7 - 15cda: 3010 adds r0, #16 - 15cdc: 47a8 blx r5 + 1572e: 224c movs r2, #76 ; 0x4c + 15730: 21b7 movs r1, #183 ; 0xb7 + 15732: 3010 adds r0, #16 + 15734: 47a8 blx r5 lv_style_set_transition_delay(&styles->btn, LV_STATE_DEFAULT, TRANSITION_TIME); - 15cde: 6820 ldr r0, [r4, #0] + 15736: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_DELAY, transition_delay, lv_style_int_t, _int, scalar) - 15ce0: 2296 movs r2, #150 ; 0x96 - 15ce2: 21b1 movs r1, #177 ; 0xb1 - 15ce4: 3010 adds r0, #16 - 15ce6: 47a8 blx r5 + 15738: 2296 movs r2, #150 ; 0x96 + 1573a: 21b1 movs r1, #177 ; 0xb1 + 1573c: 3010 adds r0, #16 + 1573e: 47a8 blx r5 lv_style_set_transition_delay(&styles->btn, LV_STATE_PRESSED, 0); - 15ce8: 6820 ldr r0, [r4, #0] - 15cea: 2200 movs r2, #0 - 15cec: f241 01b1 movw r1, #4273 ; 0x10b1 - 15cf0: 3010 adds r0, #16 - 15cf2: 47a8 blx r5 + 15740: 6820 ldr r0, [r4, #0] + 15742: 2200 movs r2, #0 + 15744: f241 01b1 movw r1, #4273 ; 0x10b1 + 15748: 3010 adds r0, #16 + 1574a: 47a8 blx r5 style_init_reset(&styles->pad_inner); - 15cf4: 6820 ldr r0, [r4, #0] - 15cf6: 3014 adds r0, #20 - 15cf8: 4ba0 ldr r3, [pc, #640] ; (15f7c ) - 15cfa: 4798 blx r3 + 1574c: 6820 ldr r0, [r4, #0] + 1574e: 3014 adds r0, #20 + 15750: 4ba0 ldr r3, [pc, #640] ; (159d4 ) + 15752: 4798 blx r3 lv_style_set_pad_inner(&styles->pad_inner, LV_STATE_DEFAULT, - 15cfc: 6824 ldr r4, [r4, #0] - 15cfe: 3414 adds r4, #20 + 15754: 6824 ldr r4, [r4, #0] + 15756: 3414 adds r4, #20 lv_disp_get_size_category(NULL) <= LV_DISP_MEDIUM_LIMIT ? LV_DPX(20) : LV_DPX(40)); - 15d00: 2000 movs r0, #0 - 15d02: 4b9f ldr r3, [pc, #636] ; (15f80 ) - 15d04: 4798 blx r3 + 15758: 2000 movs r0, #0 + 1575a: 4b9f ldr r3, [pc, #636] ; (159d8 ) + 1575c: 4798 blx r3 lv_style_set_pad_inner(&styles->pad_inner, LV_STATE_DEFAULT, - 15d06: 2832 cmp r0, #50 ; 0x32 - 15d08: f200 8266 bhi.w 161d8 + 1575e: 2832 cmp r0, #50 ; 0x32 + 15760: f200 8266 bhi.w 15c30 lv_disp_get_size_category(NULL) <= LV_DISP_MEDIUM_LIMIT ? LV_DPX(20) : LV_DPX(40)); - 15d0c: 2000 movs r0, #0 - 15d0e: 4b9d ldr r3, [pc, #628] ; (15f84 ) - 15d10: 4798 blx r3 - 15d12: eb00 0080 add.w r0, r0, r0, lsl #2 - 15d16: 0080 lsls r0, r0, #2 - 15d18: 3050 adds r0, #80 ; 0x50 + 15764: 2000 movs r0, #0 + 15766: 4b9d ldr r3, [pc, #628] ; (159dc ) + 15768: 4798 blx r3 + 1576a: eb00 0080 add.w r0, r0, r0, lsl #2 + 1576e: 0080 lsls r0, r0, #2 + 15770: 3050 adds r0, #80 ; 0x50 lv_style_set_pad_inner(&styles->pad_inner, LV_STATE_DEFAULT, - 15d1a: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 15d1e: f280 824c bge.w 161ba - 15d22: 2201 movs r2, #1 + 15772: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 15776: f280 824c bge.w 15c12 + 1577a: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_INNER, pad_inner, lv_style_int_t, _int, scalar) - 15d24: 2114 movs r1, #20 - 15d26: 4620 mov r0, r4 - 15d28: 4b90 ldr r3, [pc, #576] ; (15f6c ) - 15d2a: 4798 blx r3 + 1577c: 2114 movs r1, #20 + 1577e: 4620 mov r0, r4 + 15780: 4b90 ldr r3, [pc, #576] ; (159c4 ) + 15782: 4798 blx r3 style_init_reset(&styles->pad_small); - 15d2c: 4b90 ldr r3, [pc, #576] ; (15f70 ) - 15d2e: 6818 ldr r0, [r3, #0] - 15d30: 3018 adds r0, #24 - 15d32: 4b92 ldr r3, [pc, #584] ; (15f7c ) - 15d34: 4798 blx r3 + 15784: 4b90 ldr r3, [pc, #576] ; (159c8 ) + 15786: 6818 ldr r0, [r3, #0] + 15788: 3018 adds r0, #24 + 1578a: 4b92 ldr r3, [pc, #584] ; (159d4 ) + 1578c: 4798 blx r3 lv_style_int_t pad_small_value = lv_disp_get_size_category(NULL) <= LV_DISP_MEDIUM_LIMIT ? LV_DPX(10) : LV_DPX(20); - 15d36: 2000 movs r0, #0 - 15d38: 4b91 ldr r3, [pc, #580] ; (15f80 ) - 15d3a: 4798 blx r3 - 15d3c: 2832 cmp r0, #50 ; 0x32 - 15d3e: f200 8275 bhi.w 1622c - 15d42: 2000 movs r0, #0 - 15d44: 4b8f ldr r3, [pc, #572] ; (15f84 ) - 15d46: 4798 blx r3 - 15d48: eb00 0080 add.w r0, r0, r0, lsl #2 - 15d4c: 0040 lsls r0, r0, #1 - 15d4e: 3050 adds r0, #80 ; 0x50 - 15d50: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 15d54: f280 825b bge.w 1620e - 15d58: 2401 movs r4, #1 + 1578e: 2000 movs r0, #0 + 15790: 4b91 ldr r3, [pc, #580] ; (159d8 ) + 15792: 4798 blx r3 + 15794: 2832 cmp r0, #50 ; 0x32 + 15796: f200 8275 bhi.w 15c84 + 1579a: 2000 movs r0, #0 + 1579c: 4b8f ldr r3, [pc, #572] ; (159dc ) + 1579e: 4798 blx r3 + 157a0: eb00 0080 add.w r0, r0, r0, lsl #2 + 157a4: 0040 lsls r0, r0, #1 + 157a6: 3050 adds r0, #80 ; 0x50 + 157a8: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 157ac: f280 825b bge.w 15c66 + 157b0: 2401 movs r4, #1 lv_style_set_pad_left(&styles->pad_small, LV_STATE_DEFAULT, pad_small_value); - 15d5a: 4e85 ldr r6, [pc, #532] ; (15f70 ) - 15d5c: 6830 ldr r0, [r6, #0] + 157b2: 4e85 ldr r6, [pc, #532] ; (159c8 ) + 157b4: 6830 ldr r0, [r6, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 15d5e: 4622 mov r2, r4 - 15d60: 2112 movs r1, #18 - 15d62: 3018 adds r0, #24 - 15d64: 4d81 ldr r5, [pc, #516] ; (15f6c ) - 15d66: 47a8 blx r5 + 157b6: 4622 mov r2, r4 + 157b8: 2112 movs r1, #18 + 157ba: 3018 adds r0, #24 + 157bc: 4d81 ldr r5, [pc, #516] ; (159c4 ) + 157be: 47a8 blx r5 lv_style_set_pad_right(&styles->pad_small, LV_STATE_DEFAULT, pad_small_value); - 15d68: 6830 ldr r0, [r6, #0] + 157c0: 6830 ldr r0, [r6, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 15d6a: 4622 mov r2, r4 - 15d6c: 2113 movs r1, #19 - 15d6e: 3018 adds r0, #24 - 15d70: 47a8 blx r5 + 157c2: 4622 mov r2, r4 + 157c4: 2113 movs r1, #19 + 157c6: 3018 adds r0, #24 + 157c8: 47a8 blx r5 lv_style_set_pad_top(&styles->pad_small, LV_STATE_DEFAULT, pad_small_value); - 15d72: 6830 ldr r0, [r6, #0] + 157ca: 6830 ldr r0, [r6, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) - 15d74: 4622 mov r2, r4 - 15d76: 2110 movs r1, #16 - 15d78: 3018 adds r0, #24 - 15d7a: 47a8 blx r5 + 157cc: 4622 mov r2, r4 + 157ce: 2110 movs r1, #16 + 157d0: 3018 adds r0, #24 + 157d2: 47a8 blx r5 lv_style_set_pad_bottom(&styles->pad_small, LV_STATE_DEFAULT, pad_small_value); - 15d7c: 6830 ldr r0, [r6, #0] + 157d4: 6830 ldr r0, [r6, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) - 15d7e: 4622 mov r2, r4 - 15d80: 2111 movs r1, #17 - 15d82: 3018 adds r0, #24 - 15d84: 47a8 blx r5 + 157d6: 4622 mov r2, r4 + 157d8: 2111 movs r1, #17 + 157da: 3018 adds r0, #24 + 157dc: 47a8 blx r5 lv_style_set_pad_inner(&styles->pad_small, LV_STATE_DEFAULT, pad_small_value); - 15d86: 6830 ldr r0, [r6, #0] + 157de: 6830 ldr r0, [r6, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_INNER, pad_inner, lv_style_int_t, _int, scalar) - 15d88: 4622 mov r2, r4 - 15d8a: 2114 movs r1, #20 - 15d8c: 3018 adds r0, #24 - 15d8e: 47a8 blx r5 - 15d90: bd70 pop {r4, r5, r6, pc} + 157e0: 4622 mov r2, r4 + 157e2: 2114 movs r1, #20 + 157e4: 3018 adds r0, #24 + 157e6: 47a8 blx r5 + 157e8: bd70 pop {r4, r5, r6, pc} lv_style_set_radius(&styles->bg, LV_STATE_DEFAULT, LV_DPX(8)); - 15d92: 2000 movs r0, #0 - 15d94: 4b7b ldr r3, [pc, #492] ; (15f84 ) - 15d96: 4798 blx r3 - 15d98: 300a adds r0, #10 - 15d9a: 00c0 lsls r0, r0, #3 - 15d9c: 4b7a ldr r3, [pc, #488] ; (15f88 ) - 15d9e: fb83 2300 smull r2, r3, r3, r0 - 15da2: 17c2 asrs r2, r0, #31 - 15da4: ebc2 12a3 rsb r2, r2, r3, asr #6 - 15da8: b212 sxth r2, r2 - 15daa: f7ff b9ad b.w 15108 - 15dae: 231f movs r3, #31 - 15db0: 213f movs r1, #63 ; 0x3f - 15db2: 461c mov r4, r3 - 15db4: f7ff b9bd b.w 15132 + 157ea: 2000 movs r0, #0 + 157ec: 4b7b ldr r3, [pc, #492] ; (159dc ) + 157ee: 4798 blx r3 + 157f0: 300a adds r0, #10 + 157f2: 00c0 lsls r0, r0, #3 + 157f4: 4b7a ldr r3, [pc, #488] ; (159e0 ) + 157f6: fb83 2300 smull r2, r3, r3, r0 + 157fa: 17c2 asrs r2, r0, #31 + 157fc: ebc2 12a3 rsb r2, r2, r3, asr #6 + 15800: b212 sxth r2, r2 + 15802: f7ff b9ad b.w 14b60 + 15806: 231f movs r3, #31 + 15808: 213f movs r1, #63 ; 0x3f + 1580a: 461c mov r4, r3 + 1580c: f7ff b9bd b.w 14b8a lv_style_set_border_width(&styles->bg, LV_STATE_DEFAULT, BORDER_WIDTH); - 15db8: 2000 movs r0, #0 - 15dba: 4b72 ldr r3, [pc, #456] ; (15f84 ) - 15dbc: 4798 blx r3 - 15dbe: 3028 adds r0, #40 ; 0x28 - 15dc0: 0040 lsls r0, r0, #1 - 15dc2: 4b71 ldr r3, [pc, #452] ; (15f88 ) - 15dc4: fb83 2300 smull r2, r3, r3, r0 - 15dc8: 17c2 asrs r2, r0, #31 - 15dca: ebc2 12a3 rsb r2, r2, r3, asr #6 - 15dce: b212 sxth r2, r2 - 15dd0: f7ff b9ed b.w 151ae - 15dd4: 2307 movs r3, #7 - 15dd6: 210f movs r1, #15 - 15dd8: 2408 movs r4, #8 - 15dda: f7ff ba03 b.w 151e4 - 15dde: 2307 movs r3, #7 - 15de0: 210f movs r1, #15 - 15de2: 2408 movs r4, #8 - 15de4: f7ff ba1b b.w 1521e - 15de8: 2307 movs r3, #7 - 15dea: 210f movs r1, #15 - 15dec: 2408 movs r4, #8 - 15dee: f7ff ba2c b.w 1524a - 15df2: 2307 movs r3, #7 - 15df4: 210f movs r1, #15 - 15df6: 2408 movs r4, #8 - 15df8: f7ff ba3e b.w 15278 + 15810: 2000 movs r0, #0 + 15812: 4b72 ldr r3, [pc, #456] ; (159dc ) + 15814: 4798 blx r3 + 15816: 3028 adds r0, #40 ; 0x28 + 15818: 0040 lsls r0, r0, #1 + 1581a: 4b71 ldr r3, [pc, #452] ; (159e0 ) + 1581c: fb83 2300 smull r2, r3, r3, r0 + 15820: 17c2 asrs r2, r0, #31 + 15822: ebc2 12a3 rsb r2, r2, r3, asr #6 + 15826: b212 sxth r2, r2 + 15828: f7ff b9ed b.w 14c06 + 1582c: 2307 movs r3, #7 + 1582e: 210f movs r1, #15 + 15830: 2408 movs r4, #8 + 15832: f7ff ba03 b.w 14c3c + 15836: 2307 movs r3, #7 + 15838: 210f movs r1, #15 + 1583a: 2408 movs r4, #8 + 1583c: f7ff ba1b b.w 14c76 + 15840: 2307 movs r3, #7 + 15842: 210f movs r1, #15 + 15844: 2408 movs r4, #8 + 15846: f7ff ba2c b.w 14ca2 + 1584a: 2307 movs r3, #7 + 1584c: 210f movs r1, #15 + 1584e: 2408 movs r4, #8 + 15850: f7ff ba3e b.w 14cd0 lv_style_set_pad_left(&styles->bg, LV_STATE_DEFAULT, PAD_DEF + BORDER_WIDTH); - 15dfc: 2000 movs r0, #0 - 15dfe: 4b61 ldr r3, [pc, #388] ; (15f84 ) - 15e00: 4798 blx r3 - 15e02: ebc0 1000 rsb r0, r0, r0, lsl #4 - 15e06: 3050 adds r0, #80 ; 0x50 - 15e08: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 15e0c: da02 bge.n 15e14 - 15e0e: 2401 movs r4, #1 - 15e10: f7ff ba58 b.w 152c4 - 15e14: 2000 movs r0, #0 - 15e16: 4b5b ldr r3, [pc, #364] ; (15f84 ) - 15e18: 4798 blx r3 - 15e1a: ebc0 1000 rsb r0, r0, r0, lsl #4 - 15e1e: 3050 adds r0, #80 ; 0x50 - 15e20: 4a59 ldr r2, [pc, #356] ; (15f88 ) - 15e22: fb82 3200 smull r3, r2, r2, r0 - 15e26: 17c4 asrs r4, r0, #31 - 15e28: ebc4 14a2 rsb r4, r4, r2, asr #6 - 15e2c: b2a4 uxth r4, r4 - 15e2e: f7ff ba49 b.w 152c4 - 15e32: 2000 movs r0, #0 - 15e34: 4b53 ldr r3, [pc, #332] ; (15f84 ) - 15e36: 4798 blx r3 - 15e38: ebc0 1000 rsb r0, r0, r0, lsl #4 - 15e3c: 0040 lsls r0, r0, #1 - 15e3e: 3050 adds r0, #80 ; 0x50 - 15e40: 4a51 ldr r2, [pc, #324] ; (15f88 ) - 15e42: fb82 3200 smull r3, r2, r2, r0 - 15e46: 17c4 asrs r4, r0, #31 - 15e48: ebc4 14a2 rsb r4, r4, r2, asr #6 - 15e4c: b2a4 uxth r4, r4 - 15e4e: f7ff ba39 b.w 152c4 - 15e52: 2000 movs r0, #0 - 15e54: 4b4b ldr r3, [pc, #300] ; (15f84 ) - 15e56: 4798 blx r3 - 15e58: 3028 adds r0, #40 ; 0x28 - 15e5a: 0040 lsls r0, r0, #1 - 15e5c: 4b4a ldr r3, [pc, #296] ; (15f88 ) - 15e5e: fb83 2300 smull r2, r3, r3, r0 - 15e62: 17c2 asrs r2, r0, #31 - 15e64: ebc2 12a3 rsb r2, r2, r3, asr #6 - 15e68: b292 uxth r2, r2 - 15e6a: f7ff ba35 b.w 152d8 + 15854: 2000 movs r0, #0 + 15856: 4b61 ldr r3, [pc, #388] ; (159dc ) + 15858: 4798 blx r3 + 1585a: ebc0 1000 rsb r0, r0, r0, lsl #4 + 1585e: 3050 adds r0, #80 ; 0x50 + 15860: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 15864: da02 bge.n 1586c + 15866: 2401 movs r4, #1 + 15868: f7ff ba58 b.w 14d1c + 1586c: 2000 movs r0, #0 + 1586e: 4b5b ldr r3, [pc, #364] ; (159dc ) + 15870: 4798 blx r3 + 15872: ebc0 1000 rsb r0, r0, r0, lsl #4 + 15876: 3050 adds r0, #80 ; 0x50 + 15878: 4a59 ldr r2, [pc, #356] ; (159e0 ) + 1587a: fb82 3200 smull r3, r2, r2, r0 + 1587e: 17c4 asrs r4, r0, #31 + 15880: ebc4 14a2 rsb r4, r4, r2, asr #6 + 15884: b2a4 uxth r4, r4 + 15886: f7ff ba49 b.w 14d1c + 1588a: 2000 movs r0, #0 + 1588c: 4b53 ldr r3, [pc, #332] ; (159dc ) + 1588e: 4798 blx r3 + 15890: ebc0 1000 rsb r0, r0, r0, lsl #4 + 15894: 0040 lsls r0, r0, #1 + 15896: 3050 adds r0, #80 ; 0x50 + 15898: 4a51 ldr r2, [pc, #324] ; (159e0 ) + 1589a: fb82 3200 smull r3, r2, r2, r0 + 1589e: 17c4 asrs r4, r0, #31 + 158a0: ebc4 14a2 rsb r4, r4, r2, asr #6 + 158a4: b2a4 uxth r4, r4 + 158a6: f7ff ba39 b.w 14d1c + 158aa: 2000 movs r0, #0 + 158ac: 4b4b ldr r3, [pc, #300] ; (159dc ) + 158ae: 4798 blx r3 + 158b0: 3028 adds r0, #40 ; 0x28 + 158b2: 0040 lsls r0, r0, #1 + 158b4: 4b4a ldr r3, [pc, #296] ; (159e0 ) + 158b6: fb83 2300 smull r2, r3, r3, r0 + 158ba: 17c2 asrs r2, r0, #31 + 158bc: ebc2 12a3 rsb r2, r2, r3, asr #6 + 158c0: b292 uxth r2, r2 + 158c2: f7ff ba35 b.w 14d30 lv_style_set_pad_right(&styles->bg, LV_STATE_DEFAULT, PAD_DEF + BORDER_WIDTH); - 15e6e: 2000 movs r0, #0 - 15e70: 4b44 ldr r3, [pc, #272] ; (15f84 ) - 15e72: 4798 blx r3 - 15e74: ebc0 1000 rsb r0, r0, r0, lsl #4 - 15e78: 3050 adds r0, #80 ; 0x50 - 15e7a: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 15e7e: da02 bge.n 15e86 - 15e80: 2401 movs r4, #1 - 15e82: f7ff ba55 b.w 15330 - 15e86: 2000 movs r0, #0 - 15e88: 4b3e ldr r3, [pc, #248] ; (15f84 ) - 15e8a: 4798 blx r3 - 15e8c: ebc0 1000 rsb r0, r0, r0, lsl #4 - 15e90: 3050 adds r0, #80 ; 0x50 - 15e92: 4a3d ldr r2, [pc, #244] ; (15f88 ) - 15e94: fb82 3200 smull r3, r2, r2, r0 - 15e98: 17c4 asrs r4, r0, #31 - 15e9a: ebc4 14a2 rsb r4, r4, r2, asr #6 - 15e9e: b2a4 uxth r4, r4 - 15ea0: f7ff ba46 b.w 15330 - 15ea4: 2000 movs r0, #0 - 15ea6: 4b37 ldr r3, [pc, #220] ; (15f84 ) - 15ea8: 4798 blx r3 - 15eaa: ebc0 1000 rsb r0, r0, r0, lsl #4 - 15eae: 0040 lsls r0, r0, #1 - 15eb0: 3050 adds r0, #80 ; 0x50 - 15eb2: 4a35 ldr r2, [pc, #212] ; (15f88 ) - 15eb4: fb82 3200 smull r3, r2, r2, r0 - 15eb8: 17c4 asrs r4, r0, #31 - 15eba: ebc4 14a2 rsb r4, r4, r2, asr #6 - 15ebe: b2a4 uxth r4, r4 - 15ec0: f7ff ba36 b.w 15330 - 15ec4: 2000 movs r0, #0 - 15ec6: 4b2f ldr r3, [pc, #188] ; (15f84 ) - 15ec8: 4798 blx r3 - 15eca: 3028 adds r0, #40 ; 0x28 - 15ecc: 0040 lsls r0, r0, #1 - 15ece: 4b2e ldr r3, [pc, #184] ; (15f88 ) - 15ed0: fb83 2300 smull r2, r3, r3, r0 - 15ed4: 17c2 asrs r2, r0, #31 - 15ed6: ebc2 12a3 rsb r2, r2, r3, asr #6 - 15eda: b292 uxth r2, r2 - 15edc: f7ff ba32 b.w 15344 + 158c6: 2000 movs r0, #0 + 158c8: 4b44 ldr r3, [pc, #272] ; (159dc ) + 158ca: 4798 blx r3 + 158cc: ebc0 1000 rsb r0, r0, r0, lsl #4 + 158d0: 3050 adds r0, #80 ; 0x50 + 158d2: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 158d6: da02 bge.n 158de + 158d8: 2401 movs r4, #1 + 158da: f7ff ba55 b.w 14d88 + 158de: 2000 movs r0, #0 + 158e0: 4b3e ldr r3, [pc, #248] ; (159dc ) + 158e2: 4798 blx r3 + 158e4: ebc0 1000 rsb r0, r0, r0, lsl #4 + 158e8: 3050 adds r0, #80 ; 0x50 + 158ea: 4a3d ldr r2, [pc, #244] ; (159e0 ) + 158ec: fb82 3200 smull r3, r2, r2, r0 + 158f0: 17c4 asrs r4, r0, #31 + 158f2: ebc4 14a2 rsb r4, r4, r2, asr #6 + 158f6: b2a4 uxth r4, r4 + 158f8: f7ff ba46 b.w 14d88 + 158fc: 2000 movs r0, #0 + 158fe: 4b37 ldr r3, [pc, #220] ; (159dc ) + 15900: 4798 blx r3 + 15902: ebc0 1000 rsb r0, r0, r0, lsl #4 + 15906: 0040 lsls r0, r0, #1 + 15908: 3050 adds r0, #80 ; 0x50 + 1590a: 4a35 ldr r2, [pc, #212] ; (159e0 ) + 1590c: fb82 3200 smull r3, r2, r2, r0 + 15910: 17c4 asrs r4, r0, #31 + 15912: ebc4 14a2 rsb r4, r4, r2, asr #6 + 15916: b2a4 uxth r4, r4 + 15918: f7ff ba36 b.w 14d88 + 1591c: 2000 movs r0, #0 + 1591e: 4b2f ldr r3, [pc, #188] ; (159dc ) + 15920: 4798 blx r3 + 15922: 3028 adds r0, #40 ; 0x28 + 15924: 0040 lsls r0, r0, #1 + 15926: 4b2e ldr r3, [pc, #184] ; (159e0 ) + 15928: fb83 2300 smull r2, r3, r3, r0 + 1592c: 17c2 asrs r2, r0, #31 + 1592e: ebc2 12a3 rsb r2, r2, r3, asr #6 + 15932: b292 uxth r2, r2 + 15934: f7ff ba32 b.w 14d9c lv_style_set_pad_top(&styles->bg, LV_STATE_DEFAULT, PAD_DEF + BORDER_WIDTH); - 15ee0: 2000 movs r0, #0 - 15ee2: 4b28 ldr r3, [pc, #160] ; (15f84 ) - 15ee4: 4798 blx r3 - 15ee6: ebc0 1000 rsb r0, r0, r0, lsl #4 - 15eea: 3050 adds r0, #80 ; 0x50 - 15eec: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 15ef0: da02 bge.n 15ef8 - 15ef2: 2401 movs r4, #1 - 15ef4: f7ff ba41 b.w 1537a - 15ef8: 2000 movs r0, #0 - 15efa: 4b22 ldr r3, [pc, #136] ; (15f84 ) - 15efc: 4798 blx r3 - 15efe: ebc0 1000 rsb r0, r0, r0, lsl #4 - 15f02: 3050 adds r0, #80 ; 0x50 - 15f04: 4a20 ldr r2, [pc, #128] ; (15f88 ) - 15f06: fb82 3200 smull r3, r2, r2, r0 - 15f0a: 17c4 asrs r4, r0, #31 - 15f0c: ebc4 14a2 rsb r4, r4, r2, asr #6 - 15f10: b2a4 uxth r4, r4 - 15f12: f7ff ba32 b.w 1537a - 15f16: 2000 movs r0, #0 - 15f18: 4b1a ldr r3, [pc, #104] ; (15f84 ) - 15f1a: 4798 blx r3 - 15f1c: ebc0 1000 rsb r0, r0, r0, lsl #4 - 15f20: 0040 lsls r0, r0, #1 - 15f22: 3050 adds r0, #80 ; 0x50 - 15f24: 4a18 ldr r2, [pc, #96] ; (15f88 ) - 15f26: fb82 3200 smull r3, r2, r2, r0 - 15f2a: 17c4 asrs r4, r0, #31 - 15f2c: ebc4 14a2 rsb r4, r4, r2, asr #6 - 15f30: b2a4 uxth r4, r4 - 15f32: f7ff ba22 b.w 1537a - 15f36: 2000 movs r0, #0 - 15f38: 4b12 ldr r3, [pc, #72] ; (15f84 ) - 15f3a: 4798 blx r3 - 15f3c: 3028 adds r0, #40 ; 0x28 - 15f3e: 0040 lsls r0, r0, #1 - 15f40: 4b11 ldr r3, [pc, #68] ; (15f88 ) - 15f42: fb83 2300 smull r2, r3, r3, r0 - 15f46: 17c2 asrs r2, r0, #31 - 15f48: ebc2 12a3 rsb r2, r2, r3, asr #6 - 15f4c: b292 uxth r2, r2 - 15f4e: f7ff ba1e b.w 1538e + 15938: 2000 movs r0, #0 + 1593a: 4b28 ldr r3, [pc, #160] ; (159dc ) + 1593c: 4798 blx r3 + 1593e: ebc0 1000 rsb r0, r0, r0, lsl #4 + 15942: 3050 adds r0, #80 ; 0x50 + 15944: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 15948: da02 bge.n 15950 + 1594a: 2401 movs r4, #1 + 1594c: f7ff ba41 b.w 14dd2 + 15950: 2000 movs r0, #0 + 15952: 4b22 ldr r3, [pc, #136] ; (159dc ) + 15954: 4798 blx r3 + 15956: ebc0 1000 rsb r0, r0, r0, lsl #4 + 1595a: 3050 adds r0, #80 ; 0x50 + 1595c: 4a20 ldr r2, [pc, #128] ; (159e0 ) + 1595e: fb82 3200 smull r3, r2, r2, r0 + 15962: 17c4 asrs r4, r0, #31 + 15964: ebc4 14a2 rsb r4, r4, r2, asr #6 + 15968: b2a4 uxth r4, r4 + 1596a: f7ff ba32 b.w 14dd2 + 1596e: 2000 movs r0, #0 + 15970: 4b1a ldr r3, [pc, #104] ; (159dc ) + 15972: 4798 blx r3 + 15974: ebc0 1000 rsb r0, r0, r0, lsl #4 + 15978: 0040 lsls r0, r0, #1 + 1597a: 3050 adds r0, #80 ; 0x50 + 1597c: 4a18 ldr r2, [pc, #96] ; (159e0 ) + 1597e: fb82 3200 smull r3, r2, r2, r0 + 15982: 17c4 asrs r4, r0, #31 + 15984: ebc4 14a2 rsb r4, r4, r2, asr #6 + 15988: b2a4 uxth r4, r4 + 1598a: f7ff ba22 b.w 14dd2 + 1598e: 2000 movs r0, #0 + 15990: 4b12 ldr r3, [pc, #72] ; (159dc ) + 15992: 4798 blx r3 + 15994: 3028 adds r0, #40 ; 0x28 + 15996: 0040 lsls r0, r0, #1 + 15998: 4b11 ldr r3, [pc, #68] ; (159e0 ) + 1599a: fb83 2300 smull r2, r3, r3, r0 + 1599e: 17c2 asrs r2, r0, #31 + 159a0: ebc2 12a3 rsb r2, r2, r3, asr #6 + 159a4: b292 uxth r2, r2 + 159a6: f7ff ba1e b.w 14de6 lv_style_set_pad_bottom(&styles->bg, LV_STATE_DEFAULT, PAD_DEF + BORDER_WIDTH); - 15f52: 2000 movs r0, #0 - 15f54: 4b0b ldr r3, [pc, #44] ; (15f84 ) - 15f56: 4798 blx r3 - 15f58: ebc0 1000 rsb r0, r0, r0, lsl #4 - 15f5c: 3050 adds r0, #80 ; 0x50 - 15f5e: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 15f62: da13 bge.n 15f8c - 15f64: 2401 movs r4, #1 - 15f66: f7ff ba2d b.w 153c4 - 15f6a: bf00 nop - 15f6c: 00006e89 .word 0x00006e89 - 15f70: 20006bd8 .word 0x20006bd8 - 15f74: 00007111 .word 0x00007111 - 15f78: 00006fcd .word 0x00006fcd - 15f7c: 00015009 .word 0x00015009 - 15f80: 00011501 .word 0x00011501 - 15f84: 000114e5 .word 0x000114e5 - 15f88: 66666667 .word 0x66666667 - 15f8c: 2000 movs r0, #0 - 15f8e: 4bb5 ldr r3, [pc, #724] ; (16264 ) - 15f90: 4798 blx r3 - 15f92: ebc0 1000 rsb r0, r0, r0, lsl #4 - 15f96: 3050 adds r0, #80 ; 0x50 - 15f98: 4ab3 ldr r2, [pc, #716] ; (16268 ) - 15f9a: fb82 3200 smull r3, r2, r2, r0 - 15f9e: 17c4 asrs r4, r0, #31 - 15fa0: ebc4 14a2 rsb r4, r4, r2, asr #6 - 15fa4: b2a4 uxth r4, r4 - 15fa6: f7ff ba0d b.w 153c4 - 15faa: 2000 movs r0, #0 - 15fac: 4bad ldr r3, [pc, #692] ; (16264 ) - 15fae: 4798 blx r3 - 15fb0: ebc0 1000 rsb r0, r0, r0, lsl #4 - 15fb4: 0040 lsls r0, r0, #1 - 15fb6: 3050 adds r0, #80 ; 0x50 - 15fb8: 4aab ldr r2, [pc, #684] ; (16268 ) - 15fba: fb82 3200 smull r3, r2, r2, r0 - 15fbe: 17c4 asrs r4, r0, #31 - 15fc0: ebc4 14a2 rsb r4, r4, r2, asr #6 - 15fc4: b2a4 uxth r4, r4 - 15fc6: f7ff b9fd b.w 153c4 - 15fca: 2000 movs r0, #0 - 15fcc: 4ba5 ldr r3, [pc, #660] ; (16264 ) - 15fce: 4798 blx r3 - 15fd0: 3028 adds r0, #40 ; 0x28 - 15fd2: 0040 lsls r0, r0, #1 - 15fd4: 4ba4 ldr r3, [pc, #656] ; (16268 ) - 15fd6: fb83 2300 smull r2, r3, r3, r0 - 15fda: 17c2 asrs r2, r0, #31 - 15fdc: ebc2 12a3 rsb r2, r2, r3, asr #6 - 15fe0: b292 uxth r2, r2 - 15fe2: f7ff b9f9 b.w 153d8 + 159aa: 2000 movs r0, #0 + 159ac: 4b0b ldr r3, [pc, #44] ; (159dc ) + 159ae: 4798 blx r3 + 159b0: ebc0 1000 rsb r0, r0, r0, lsl #4 + 159b4: 3050 adds r0, #80 ; 0x50 + 159b6: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 159ba: da13 bge.n 159e4 + 159bc: 2401 movs r4, #1 + 159be: f7ff ba2d b.w 14e1c + 159c2: bf00 nop + 159c4: 000068e1 .word 0x000068e1 + 159c8: 20006bd8 .word 0x20006bd8 + 159cc: 00006b69 .word 0x00006b69 + 159d0: 00006a25 .word 0x00006a25 + 159d4: 00014a61 .word 0x00014a61 + 159d8: 00010f59 .word 0x00010f59 + 159dc: 00010f3d .word 0x00010f3d + 159e0: 66666667 .word 0x66666667 + 159e4: 2000 movs r0, #0 + 159e6: 4bb5 ldr r3, [pc, #724] ; (15cbc ) + 159e8: 4798 blx r3 + 159ea: ebc0 1000 rsb r0, r0, r0, lsl #4 + 159ee: 3050 adds r0, #80 ; 0x50 + 159f0: 4ab3 ldr r2, [pc, #716] ; (15cc0 ) + 159f2: fb82 3200 smull r3, r2, r2, r0 + 159f6: 17c4 asrs r4, r0, #31 + 159f8: ebc4 14a2 rsb r4, r4, r2, asr #6 + 159fc: b2a4 uxth r4, r4 + 159fe: f7ff ba0d b.w 14e1c + 15a02: 2000 movs r0, #0 + 15a04: 4bad ldr r3, [pc, #692] ; (15cbc ) + 15a06: 4798 blx r3 + 15a08: ebc0 1000 rsb r0, r0, r0, lsl #4 + 15a0c: 0040 lsls r0, r0, #1 + 15a0e: 3050 adds r0, #80 ; 0x50 + 15a10: 4aab ldr r2, [pc, #684] ; (15cc0 ) + 15a12: fb82 3200 smull r3, r2, r2, r0 + 15a16: 17c4 asrs r4, r0, #31 + 15a18: ebc4 14a2 rsb r4, r4, r2, asr #6 + 15a1c: b2a4 uxth r4, r4 + 15a1e: f7ff b9fd b.w 14e1c + 15a22: 2000 movs r0, #0 + 15a24: 4ba5 ldr r3, [pc, #660] ; (15cbc ) + 15a26: 4798 blx r3 + 15a28: 3028 adds r0, #40 ; 0x28 + 15a2a: 0040 lsls r0, r0, #1 + 15a2c: 4ba4 ldr r3, [pc, #656] ; (15cc0 ) + 15a2e: fb83 2300 smull r2, r3, r3, r0 + 15a32: 17c2 asrs r2, r0, #31 + 15a34: ebc2 12a3 rsb r2, r2, r3, asr #6 + 15a38: b292 uxth r2, r2 + 15a3a: f7ff b9f9 b.w 14e30 lv_style_set_pad_inner(&styles->bg, LV_STATE_DEFAULT, PAD_DEF); - 15fe6: 2000 movs r0, #0 - 15fe8: 4b9e ldr r3, [pc, #632] ; (16264 ) - 15fea: 4798 blx r3 - 15fec: ebc0 1000 rsb r0, r0, r0, lsl #4 - 15ff0: 3050 adds r0, #80 ; 0x50 - 15ff2: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 15ff6: da02 bge.n 15ffe - 15ff8: 2201 movs r2, #1 - 15ffa: f7ff ba08 b.w 1540e - 15ffe: 2000 movs r0, #0 - 16000: 4b98 ldr r3, [pc, #608] ; (16264 ) - 16002: 4798 blx r3 - 16004: ebc0 1000 rsb r0, r0, r0, lsl #4 - 16008: 3050 adds r0, #80 ; 0x50 - 1600a: 4b97 ldr r3, [pc, #604] ; (16268 ) - 1600c: fb83 2300 smull r2, r3, r3, r0 - 16010: 17c2 asrs r2, r0, #31 - 16012: ebc2 12a3 rsb r2, r2, r3, asr #6 - 16016: b212 sxth r2, r2 - 16018: f7ff b9f9 b.w 1540e - 1601c: 2000 movs r0, #0 - 1601e: 4b91 ldr r3, [pc, #580] ; (16264 ) - 16020: 4798 blx r3 - 16022: ebc0 1000 rsb r0, r0, r0, lsl #4 - 16026: 0040 lsls r0, r0, #1 - 16028: 3050 adds r0, #80 ; 0x50 - 1602a: 4b8f ldr r3, [pc, #572] ; (16268 ) - 1602c: fb83 2300 smull r2, r3, r3, r0 - 16030: 17c2 asrs r2, r0, #31 - 16032: ebc2 12a3 rsb r2, r2, r3, asr #6 - 16036: b212 sxth r2, r2 - 16038: f7ff b9e9 b.w 1540e - 1603c: 231b movs r3, #27 - 1603e: 2139 movs r1, #57 ; 0x39 - 16040: 241d movs r4, #29 - 16042: f7ff ba20 b.w 15486 - 16046: 231d movs r3, #29 - 16048: 213b movs r1, #59 ; 0x3b - 1604a: 461c mov r4, r3 - 1604c: f7ff ba9f b.w 1558e - 16050: 231f movs r3, #31 - 16052: 213f movs r1, #63 ; 0x3f - 16054: 461c mov r4, r3 - 16056: f7ff bad3 b.w 15600 - 1605a: 2319 movs r3, #25 - 1605c: 2133 movs r1, #51 ; 0x33 - 1605e: 461c mov r4, r3 - 16060: f7ff baf7 b.w 15652 - 16064: 2307 movs r3, #7 - 16066: 210f movs r1, #15 - 16068: 2408 movs r4, #8 - 1606a: f7ff bb5a b.w 15722 - 1606e: 2307 movs r3, #7 - 16070: 210f movs r1, #15 - 16072: 2408 movs r4, #8 - 16074: f7ff bb91 b.w 1579a - 16078: 231f movs r3, #31 - 1607a: 213f movs r1, #63 ; 0x3f - 1607c: 461c mov r4, r3 - 1607e: f7ff bbde b.w 1583e + 15a3e: 2000 movs r0, #0 + 15a40: 4b9e ldr r3, [pc, #632] ; (15cbc ) + 15a42: 4798 blx r3 + 15a44: ebc0 1000 rsb r0, r0, r0, lsl #4 + 15a48: 3050 adds r0, #80 ; 0x50 + 15a4a: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 15a4e: da02 bge.n 15a56 + 15a50: 2201 movs r2, #1 + 15a52: f7ff ba08 b.w 14e66 + 15a56: 2000 movs r0, #0 + 15a58: 4b98 ldr r3, [pc, #608] ; (15cbc ) + 15a5a: 4798 blx r3 + 15a5c: ebc0 1000 rsb r0, r0, r0, lsl #4 + 15a60: 3050 adds r0, #80 ; 0x50 + 15a62: 4b97 ldr r3, [pc, #604] ; (15cc0 ) + 15a64: fb83 2300 smull r2, r3, r3, r0 + 15a68: 17c2 asrs r2, r0, #31 + 15a6a: ebc2 12a3 rsb r2, r2, r3, asr #6 + 15a6e: b212 sxth r2, r2 + 15a70: f7ff b9f9 b.w 14e66 + 15a74: 2000 movs r0, #0 + 15a76: 4b91 ldr r3, [pc, #580] ; (15cbc ) + 15a78: 4798 blx r3 + 15a7a: ebc0 1000 rsb r0, r0, r0, lsl #4 + 15a7e: 0040 lsls r0, r0, #1 + 15a80: 3050 adds r0, #80 ; 0x50 + 15a82: 4b8f ldr r3, [pc, #572] ; (15cc0 ) + 15a84: fb83 2300 smull r2, r3, r3, r0 + 15a88: 17c2 asrs r2, r0, #31 + 15a8a: ebc2 12a3 rsb r2, r2, r3, asr #6 + 15a8e: b212 sxth r2, r2 + 15a90: f7ff b9e9 b.w 14e66 + 15a94: 231b movs r3, #27 + 15a96: 2139 movs r1, #57 ; 0x39 + 15a98: 241d movs r4, #29 + 15a9a: f7ff ba20 b.w 14ede + 15a9e: 231d movs r3, #29 + 15aa0: 213b movs r1, #59 ; 0x3b + 15aa2: 461c mov r4, r3 + 15aa4: f7ff ba9f b.w 14fe6 + 15aa8: 231f movs r3, #31 + 15aaa: 213f movs r1, #63 ; 0x3f + 15aac: 461c mov r4, r3 + 15aae: f7ff bad3 b.w 15058 + 15ab2: 2319 movs r3, #25 + 15ab4: 2133 movs r1, #51 ; 0x33 + 15ab6: 461c mov r4, r3 + 15ab8: f7ff baf7 b.w 150aa + 15abc: 2307 movs r3, #7 + 15abe: 210f movs r1, #15 + 15ac0: 2408 movs r4, #8 + 15ac2: f7ff bb5a b.w 1517a + 15ac6: 2307 movs r3, #7 + 15ac8: 210f movs r1, #15 + 15aca: 2408 movs r4, #8 + 15acc: f7ff bb91 b.w 151f2 + 15ad0: 231f movs r3, #31 + 15ad2: 213f movs r1, #63 ; 0x3f + 15ad4: 461c mov r4, r3 + 15ad6: f7ff bbde b.w 15296 LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 16082: 4d7a ldr r5, [pc, #488] ; (1626c ) - 16084: 7b6b ldrb r3, [r5, #13] - 16086: 08db lsrs r3, r3, #3 - 16088: 214c movs r1, #76 ; 0x4c - 1608a: fb01 f303 mul.w r3, r1, r3 - 1608e: f203 73b1 addw r3, r3, #1969 ; 0x7b1 - 16092: eb03 2203 add.w r2, r3, r3, lsl #8 - 16096: eb03 13c2 add.w r3, r3, r2, lsl #7 - 1609a: f3c3 53c4 ubfx r3, r3, #23, #5 + 15ada: 4d7a ldr r5, [pc, #488] ; (15cc4 ) + 15adc: 7b6b ldrb r3, [r5, #13] + 15ade: 08db lsrs r3, r3, #3 + 15ae0: 214c movs r1, #76 ; 0x4c + 15ae2: fb01 f303 mul.w r3, r1, r3 + 15ae6: f203 73b1 addw r3, r3, #1969 ; 0x7b1 + 15aea: eb03 2203 add.w r2, r3, r3, lsl #8 + 15aee: eb03 13c2 add.w r3, r3, r2, lsl #7 + 15af2: f3c3 53c4 ubfx r3, r3, #23, #5 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 1609e: 89ac ldrh r4, [r5, #12] - 160a0: f3c4 1445 ubfx r4, r4, #5, #6 - 160a4: f241 02c8 movw r2, #4296 ; 0x10c8 - 160a8: fb01 2404 mla r4, r1, r4, r2 - 160ac: eb04 2204 add.w r2, r4, r4, lsl #8 - 160b0: eb04 14c2 add.w r4, r4, r2, lsl #7 - 160b4: f3c4 54c5 ubfx r4, r4, #23, #6 + 15af6: 89ac ldrh r4, [r5, #12] + 15af8: f3c4 1445 ubfx r4, r4, #5, #6 + 15afc: f241 02c8 movw r2, #4296 ; 0x10c8 + 15b00: fb01 2404 mla r4, r1, r4, r2 + 15b04: eb04 2204 add.w r2, r4, r4, lsl #8 + 15b08: eb04 14c2 add.w r4, r4, r2, lsl #7 + 15b0c: f3c4 54c5 ubfx r4, r4, #23, #6 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 160b8: 7b2a ldrb r2, [r5, #12] - 160ba: f002 021f and.w r2, r2, #31 - 160be: fb01 f102 mul.w r1, r1, r2 - 160c2: f601 11ca addw r1, r1, #2506 ; 0x9ca - 160c6: eb01 2201 add.w r2, r1, r1, lsl #8 - 160ca: eb01 11c2 add.w r1, r1, r2, lsl #7 - 160ce: f3c1 51c4 ubfx r1, r1, #23, #5 - 160d2: f7ff bbf5 b.w 158c0 - 160d6: 231f movs r3, #31 - 160d8: 213f movs r1, #63 ; 0x3f - 160da: 461c mov r4, r3 - 160dc: e425 b.n 1592a + 15b10: 7b2a ldrb r2, [r5, #12] + 15b12: f002 021f and.w r2, r2, #31 + 15b16: fb01 f102 mul.w r1, r1, r2 + 15b1a: f601 11ca addw r1, r1, #2506 ; 0x9ca + 15b1e: eb01 2201 add.w r2, r1, r1, lsl #8 + 15b22: eb01 11c2 add.w r1, r1, r2, lsl #7 + 15b26: f3c1 51c4 ubfx r1, r1, #23, #5 + 15b2a: f7ff bbf5 b.w 15318 + 15b2e: 231f movs r3, #31 + 15b30: 213f movs r1, #63 ; 0x3f + 15b32: 461c mov r4, r3 + 15b34: e425 b.n 15382 lv_style_set_border_width(&styles->btn, LV_STATE_DEFAULT, BORDER_WIDTH); - 160de: 2000 movs r0, #0 - 160e0: 4b60 ldr r3, [pc, #384] ; (16264 ) - 160e2: 4798 blx r3 - 160e4: 3028 adds r0, #40 ; 0x28 - 160e6: 0040 lsls r0, r0, #1 - 160e8: 4b5f ldr r3, [pc, #380] ; (16268 ) - 160ea: fb83 2300 smull r2, r3, r3, r0 - 160ee: 17c2 asrs r2, r0, #31 - 160f0: ebc2 12a3 rsb r2, r2, r3, asr #6 - 160f4: b212 sxth r2, r2 - 160f6: e46c b.n 159d2 - 160f8: 2306 movs r3, #6 - 160fa: 2110 movs r1, #16 - 160fc: 2409 movs r4, #9 - 160fe: e47e b.n 159fe - 16100: 2306 movs r3, #6 - 16102: 2110 movs r1, #16 - 16104: 2409 movs r4, #9 - 16106: e491 b.n 15a2c - 16108: 2306 movs r3, #6 - 1610a: 2110 movs r1, #16 - 1610c: 2409 movs r4, #9 - 1610e: e4c1 b.n 15a94 - 16110: 2306 movs r3, #6 - 16112: 2110 movs r1, #16 - 16114: 2409 movs r4, #9 - 16116: e4d4 b.n 15ac2 - 16118: 2306 movs r3, #6 - 1611a: 2110 movs r1, #16 - 1611c: 2409 movs r4, #9 - 1611e: e504 b.n 15b2a - 16120: 2306 movs r3, #6 - 16122: 2110 movs r1, #16 - 16124: 2409 movs r4, #9 - 16126: e516 b.n 15b56 + 15b36: 2000 movs r0, #0 + 15b38: 4b60 ldr r3, [pc, #384] ; (15cbc ) + 15b3a: 4798 blx r3 + 15b3c: 3028 adds r0, #40 ; 0x28 + 15b3e: 0040 lsls r0, r0, #1 + 15b40: 4b5f ldr r3, [pc, #380] ; (15cc0 ) + 15b42: fb83 2300 smull r2, r3, r3, r0 + 15b46: 17c2 asrs r2, r0, #31 + 15b48: ebc2 12a3 rsb r2, r2, r3, asr #6 + 15b4c: b212 sxth r2, r2 + 15b4e: e46c b.n 1542a + 15b50: 2306 movs r3, #6 + 15b52: 2110 movs r1, #16 + 15b54: 2409 movs r4, #9 + 15b56: e47e b.n 15456 + 15b58: 2306 movs r3, #6 + 15b5a: 2110 movs r1, #16 + 15b5c: 2409 movs r4, #9 + 15b5e: e491 b.n 15484 + 15b60: 2306 movs r3, #6 + 15b62: 2110 movs r1, #16 + 15b64: 2409 movs r4, #9 + 15b66: e4c1 b.n 154ec + 15b68: 2306 movs r3, #6 + 15b6a: 2110 movs r1, #16 + 15b6c: 2409 movs r4, #9 + 15b6e: e4d4 b.n 1551a + 15b70: 2306 movs r3, #6 + 15b72: 2110 movs r1, #16 + 15b74: 2409 movs r4, #9 + 15b76: e504 b.n 15582 + 15b78: 2306 movs r3, #6 + 15b7a: 2110 movs r1, #16 + 15b7c: 2409 movs r4, #9 + 15b7e: e516 b.n 155ae lv_style_set_pad_left(&styles->btn, LV_STATE_DEFAULT, LV_DPX(40)); - 16128: 2000 movs r0, #0 - 1612a: 4b4e ldr r3, [pc, #312] ; (16264 ) - 1612c: 4798 blx r3 - 1612e: eb00 0080 add.w r0, r0, r0, lsl #2 - 16132: 00c0 lsls r0, r0, #3 - 16134: 3050 adds r0, #80 ; 0x50 - 16136: 4b4c ldr r3, [pc, #304] ; (16268 ) - 16138: fb83 2300 smull r2, r3, r3, r0 - 1613c: 17c2 asrs r2, r0, #31 - 1613e: ebc2 12a3 rsb r2, r2, r3, asr #6 - 16142: b212 sxth r2, r2 - 16144: e53f b.n 15bc6 + 15b80: 2000 movs r0, #0 + 15b82: 4b4e ldr r3, [pc, #312] ; (15cbc ) + 15b84: 4798 blx r3 + 15b86: eb00 0080 add.w r0, r0, r0, lsl #2 + 15b8a: 00c0 lsls r0, r0, #3 + 15b8c: 3050 adds r0, #80 ; 0x50 + 15b8e: 4b4c ldr r3, [pc, #304] ; (15cc0 ) + 15b90: fb83 2300 smull r2, r3, r3, r0 + 15b94: 17c2 asrs r2, r0, #31 + 15b96: ebc2 12a3 rsb r2, r2, r3, asr #6 + 15b9a: b212 sxth r2, r2 + 15b9c: e53f b.n 1561e lv_style_set_pad_right(&styles->btn, LV_STATE_DEFAULT, LV_DPX(40)); - 16146: 2000 movs r0, #0 - 16148: 4b46 ldr r3, [pc, #280] ; (16264 ) - 1614a: 4798 blx r3 - 1614c: eb00 0080 add.w r0, r0, r0, lsl #2 - 16150: 00c0 lsls r0, r0, #3 - 16152: 3050 adds r0, #80 ; 0x50 - 16154: 4b44 ldr r3, [pc, #272] ; (16268 ) - 16156: fb83 2300 smull r2, r3, r3, r0 - 1615a: 17c2 asrs r2, r0, #31 - 1615c: ebc2 12a3 rsb r2, r2, r3, asr #6 - 16160: b212 sxth r2, r2 - 16162: e543 b.n 15bec + 15b9e: 2000 movs r0, #0 + 15ba0: 4b46 ldr r3, [pc, #280] ; (15cbc ) + 15ba2: 4798 blx r3 + 15ba4: eb00 0080 add.w r0, r0, r0, lsl #2 + 15ba8: 00c0 lsls r0, r0, #3 + 15baa: 3050 adds r0, #80 ; 0x50 + 15bac: 4b44 ldr r3, [pc, #272] ; (15cc0 ) + 15bae: fb83 2300 smull r2, r3, r3, r0 + 15bb2: 17c2 asrs r2, r0, #31 + 15bb4: ebc2 12a3 rsb r2, r2, r3, asr #6 + 15bb8: b212 sxth r2, r2 + 15bba: e543 b.n 15644 lv_style_set_pad_top(&styles->btn, LV_STATE_DEFAULT, LV_DPX(15)); - 16164: 2000 movs r0, #0 - 16166: 4b3f ldr r3, [pc, #252] ; (16264 ) - 16168: 4798 blx r3 - 1616a: ebc0 1000 rsb r0, r0, r0, lsl #4 - 1616e: 3050 adds r0, #80 ; 0x50 - 16170: 4b3d ldr r3, [pc, #244] ; (16268 ) - 16172: fb83 2300 smull r2, r3, r3, r0 - 16176: 17c2 asrs r2, r0, #31 - 16178: ebc2 12a3 rsb r2, r2, r3, asr #6 - 1617c: b212 sxth r2, r2 - 1617e: e547 b.n 15c10 + 15bbc: 2000 movs r0, #0 + 15bbe: 4b3f ldr r3, [pc, #252] ; (15cbc ) + 15bc0: 4798 blx r3 + 15bc2: ebc0 1000 rsb r0, r0, r0, lsl #4 + 15bc6: 3050 adds r0, #80 ; 0x50 + 15bc8: 4b3d ldr r3, [pc, #244] ; (15cc0 ) + 15bca: fb83 2300 smull r2, r3, r3, r0 + 15bce: 17c2 asrs r2, r0, #31 + 15bd0: ebc2 12a3 rsb r2, r2, r3, asr #6 + 15bd4: b212 sxth r2, r2 + 15bd6: e547 b.n 15668 lv_style_set_pad_bottom(&styles->btn, LV_STATE_DEFAULT, LV_DPX(15)); - 16180: 2000 movs r0, #0 - 16182: 4b38 ldr r3, [pc, #224] ; (16264 ) - 16184: 4798 blx r3 - 16186: ebc0 1000 rsb r0, r0, r0, lsl #4 - 1618a: 3050 adds r0, #80 ; 0x50 - 1618c: 4b36 ldr r3, [pc, #216] ; (16268 ) - 1618e: fb83 2300 smull r2, r3, r3, r0 - 16192: 17c2 asrs r2, r0, #31 - 16194: ebc2 12a3 rsb r2, r2, r3, asr #6 - 16198: b212 sxth r2, r2 - 1619a: e54b b.n 15c34 + 15bd8: 2000 movs r0, #0 + 15bda: 4b38 ldr r3, [pc, #224] ; (15cbc ) + 15bdc: 4798 blx r3 + 15bde: ebc0 1000 rsb r0, r0, r0, lsl #4 + 15be2: 3050 adds r0, #80 ; 0x50 + 15be4: 4b36 ldr r3, [pc, #216] ; (15cc0 ) + 15be6: fb83 2300 smull r2, r3, r3, r0 + 15bea: 17c2 asrs r2, r0, #31 + 15bec: ebc2 12a3 rsb r2, r2, r3, asr #6 + 15bf0: b212 sxth r2, r2 + 15bf2: e54b b.n 1568c lv_style_set_pad_inner(&styles->btn, LV_STATE_DEFAULT, LV_DPX(20)); - 1619c: 2000 movs r0, #0 - 1619e: 4b31 ldr r3, [pc, #196] ; (16264 ) - 161a0: 4798 blx r3 - 161a2: eb00 0080 add.w r0, r0, r0, lsl #2 - 161a6: 0080 lsls r0, r0, #2 - 161a8: 3050 adds r0, #80 ; 0x50 - 161aa: 4b2f ldr r3, [pc, #188] ; (16268 ) - 161ac: fb83 2300 smull r2, r3, r3, r0 - 161b0: 17c2 asrs r2, r0, #31 - 161b2: ebc2 12a3 rsb r2, r2, r3, asr #6 - 161b6: b212 sxth r2, r2 - 161b8: e55b b.n 15c72 + 15bf4: 2000 movs r0, #0 + 15bf6: 4b31 ldr r3, [pc, #196] ; (15cbc ) + 15bf8: 4798 blx r3 + 15bfa: eb00 0080 add.w r0, r0, r0, lsl #2 + 15bfe: 0080 lsls r0, r0, #2 + 15c00: 3050 adds r0, #80 ; 0x50 + 15c02: 4b2f ldr r3, [pc, #188] ; (15cc0 ) + 15c04: fb83 2300 smull r2, r3, r3, r0 + 15c08: 17c2 asrs r2, r0, #31 + 15c0a: ebc2 12a3 rsb r2, r2, r3, asr #6 + 15c0e: b212 sxth r2, r2 + 15c10: e55b b.n 156ca lv_disp_get_size_category(NULL) <= LV_DISP_MEDIUM_LIMIT ? LV_DPX(20) : LV_DPX(40)); - 161ba: 2000 movs r0, #0 - 161bc: 4b29 ldr r3, [pc, #164] ; (16264 ) - 161be: 4798 blx r3 - 161c0: eb00 0080 add.w r0, r0, r0, lsl #2 - 161c4: 0080 lsls r0, r0, #2 - 161c6: 3050 adds r0, #80 ; 0x50 - 161c8: 4b27 ldr r3, [pc, #156] ; (16268 ) - 161ca: fb83 2300 smull r2, r3, r3, r0 - 161ce: 17c2 asrs r2, r0, #31 - 161d0: ebc2 12a3 rsb r2, r2, r3, asr #6 + 15c12: 2000 movs r0, #0 + 15c14: 4b29 ldr r3, [pc, #164] ; (15cbc ) + 15c16: 4798 blx r3 + 15c18: eb00 0080 add.w r0, r0, r0, lsl #2 + 15c1c: 0080 lsls r0, r0, #2 + 15c1e: 3050 adds r0, #80 ; 0x50 + 15c20: 4b27 ldr r3, [pc, #156] ; (15cc0 ) + 15c22: fb83 2300 smull r2, r3, r3, r0 + 15c26: 17c2 asrs r2, r0, #31 + 15c28: ebc2 12a3 rsb r2, r2, r3, asr #6 lv_style_set_pad_inner(&styles->pad_inner, LV_STATE_DEFAULT, - 161d4: b212 sxth r2, r2 - 161d6: e5a5 b.n 15d24 + 15c2c: b212 sxth r2, r2 + 15c2e: e5a5 b.n 1577c lv_disp_get_size_category(NULL) <= LV_DISP_MEDIUM_LIMIT ? LV_DPX(20) : LV_DPX(40)); - 161d8: 2000 movs r0, #0 - 161da: 4b22 ldr r3, [pc, #136] ; (16264 ) - 161dc: 4798 blx r3 - 161de: eb00 0080 add.w r0, r0, r0, lsl #2 - 161e2: 00c0 lsls r0, r0, #3 - 161e4: 3050 adds r0, #80 ; 0x50 + 15c30: 2000 movs r0, #0 + 15c32: 4b22 ldr r3, [pc, #136] ; (15cbc ) + 15c34: 4798 blx r3 + 15c36: eb00 0080 add.w r0, r0, r0, lsl #2 + 15c3a: 00c0 lsls r0, r0, #3 + 15c3c: 3050 adds r0, #80 ; 0x50 lv_style_set_pad_inner(&styles->pad_inner, LV_STATE_DEFAULT, - 161e6: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 161ea: da01 bge.n 161f0 - 161ec: 2201 movs r2, #1 - 161ee: e599 b.n 15d24 + 15c3e: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 15c42: da01 bge.n 15c48 + 15c44: 2201 movs r2, #1 + 15c46: e599 b.n 1577c lv_disp_get_size_category(NULL) <= LV_DISP_MEDIUM_LIMIT ? LV_DPX(20) : LV_DPX(40)); - 161f0: 2000 movs r0, #0 - 161f2: 4b1c ldr r3, [pc, #112] ; (16264 ) - 161f4: 4798 blx r3 - 161f6: eb00 0080 add.w r0, r0, r0, lsl #2 - 161fa: 00c0 lsls r0, r0, #3 - 161fc: 3050 adds r0, #80 ; 0x50 - 161fe: 4b1a ldr r3, [pc, #104] ; (16268 ) - 16200: fb83 2300 smull r2, r3, r3, r0 - 16204: 17c2 asrs r2, r0, #31 - 16206: ebc2 12a3 rsb r2, r2, r3, asr #6 + 15c48: 2000 movs r0, #0 + 15c4a: 4b1c ldr r3, [pc, #112] ; (15cbc ) + 15c4c: 4798 blx r3 + 15c4e: eb00 0080 add.w r0, r0, r0, lsl #2 + 15c52: 00c0 lsls r0, r0, #3 + 15c54: 3050 adds r0, #80 ; 0x50 + 15c56: 4b1a ldr r3, [pc, #104] ; (15cc0 ) + 15c58: fb83 2300 smull r2, r3, r3, r0 + 15c5c: 17c2 asrs r2, r0, #31 + 15c5e: ebc2 12a3 rsb r2, r2, r3, asr #6 lv_style_set_pad_inner(&styles->pad_inner, LV_STATE_DEFAULT, - 1620a: b212 sxth r2, r2 - 1620c: e58a b.n 15d24 + 15c62: b212 sxth r2, r2 + 15c64: e58a b.n 1577c lv_style_int_t pad_small_value = lv_disp_get_size_category(NULL) <= LV_DISP_MEDIUM_LIMIT ? LV_DPX(10) : LV_DPX(20); - 1620e: 2000 movs r0, #0 - 16210: 4b14 ldr r3, [pc, #80] ; (16264 ) - 16212: 4798 blx r3 - 16214: eb00 0080 add.w r0, r0, r0, lsl #2 - 16218: 0040 lsls r0, r0, #1 - 1621a: 3050 adds r0, #80 ; 0x50 - 1621c: 4b12 ldr r3, [pc, #72] ; (16268 ) - 1621e: fb83 2300 smull r2, r3, r3, r0 - 16222: 17c4 asrs r4, r0, #31 - 16224: ebc4 14a3 rsb r4, r4, r3, asr #6 - 16228: b224 sxth r4, r4 - 1622a: e596 b.n 15d5a - 1622c: 2000 movs r0, #0 - 1622e: 4b0d ldr r3, [pc, #52] ; (16264 ) - 16230: 4798 blx r3 - 16232: eb00 0080 add.w r0, r0, r0, lsl #2 - 16236: 0080 lsls r0, r0, #2 - 16238: 3050 adds r0, #80 ; 0x50 - 1623a: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 1623e: da01 bge.n 16244 - 16240: 2401 movs r4, #1 - 16242: e58a b.n 15d5a - 16244: 2000 movs r0, #0 - 16246: 4b07 ldr r3, [pc, #28] ; (16264 ) - 16248: 4798 blx r3 - 1624a: eb00 0080 add.w r0, r0, r0, lsl #2 - 1624e: 0080 lsls r0, r0, #2 - 16250: 3050 adds r0, #80 ; 0x50 - 16252: 4b05 ldr r3, [pc, #20] ; (16268 ) - 16254: fb83 2300 smull r2, r3, r3, r0 - 16258: 17c4 asrs r4, r0, #31 - 1625a: ebc4 14a3 rsb r4, r4, r3, asr #6 - 1625e: b224 sxth r4, r4 - 16260: e57b b.n 15d5a - 16262: bf00 nop - 16264: 000114e5 .word 0x000114e5 - 16268: 66666667 .word 0x66666667 - 1626c: 20006bd8 .word 0x20006bd8 - -00016270 : -{ - 16270: b5f8 push {r3, r4, r5, r6, r7, lr} + 15c66: 2000 movs r0, #0 + 15c68: 4b14 ldr r3, [pc, #80] ; (15cbc ) + 15c6a: 4798 blx r3 + 15c6c: eb00 0080 add.w r0, r0, r0, lsl #2 + 15c70: 0040 lsls r0, r0, #1 + 15c72: 3050 adds r0, #80 ; 0x50 + 15c74: 4b12 ldr r3, [pc, #72] ; (15cc0 ) + 15c76: fb83 2300 smull r2, r3, r3, r0 + 15c7a: 17c4 asrs r4, r0, #31 + 15c7c: ebc4 14a3 rsb r4, r4, r3, asr #6 + 15c80: b224 sxth r4, r4 + 15c82: e596 b.n 157b2 + 15c84: 2000 movs r0, #0 + 15c86: 4b0d ldr r3, [pc, #52] ; (15cbc ) + 15c88: 4798 blx r3 + 15c8a: eb00 0080 add.w r0, r0, r0, lsl #2 + 15c8e: 0080 lsls r0, r0, #2 + 15c90: 3050 adds r0, #80 ; 0x50 + 15c92: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 15c96: da01 bge.n 15c9c + 15c98: 2401 movs r4, #1 + 15c9a: e58a b.n 157b2 + 15c9c: 2000 movs r0, #0 + 15c9e: 4b07 ldr r3, [pc, #28] ; (15cbc ) + 15ca0: 4798 blx r3 + 15ca2: eb00 0080 add.w r0, r0, r0, lsl #2 + 15ca6: 0080 lsls r0, r0, #2 + 15ca8: 3050 adds r0, #80 ; 0x50 + 15caa: 4b05 ldr r3, [pc, #20] ; (15cc0 ) + 15cac: fb83 2300 smull r2, r3, r3, r0 + 15cb0: 17c4 asrs r4, r0, #31 + 15cb2: ebc4 14a3 rsb r4, r4, r3, asr #6 + 15cb6: b224 sxth r4, r4 + 15cb8: e57b b.n 157b2 + 15cba: bf00 nop + 15cbc: 00010f3d .word 0x00010f3d + 15cc0: 66666667 .word 0x66666667 + 15cc4: 20006bd8 .word 0x20006bd8 + +00015cc8 : +{ + 15cc8: b5f8 push {r3, r4, r5, r6, r7, lr} style_init_reset(&styles->bar_bg); - 16272: 4c54 ldr r4, [pc, #336] ; (163c4 ) - 16274: 6820 ldr r0, [r4, #0] - 16276: 3024 adds r0, #36 ; 0x24 - 16278: 4b53 ldr r3, [pc, #332] ; (163c8 ) - 1627a: 4798 blx r3 + 15cca: 4c54 ldr r4, [pc, #336] ; (15e1c ) + 15ccc: 6820 ldr r0, [r4, #0] + 15cce: 3024 adds r0, #36 ; 0x24 + 15cd0: 4b53 ldr r3, [pc, #332] ; (15e20 ) + 15cd2: 4798 blx r3 lv_style_set_radius(&styles->bar_bg, LV_STATE_DEFAULT, LV_RADIUS_CIRCLE); - 1627c: 6820 ldr r0, [r4, #0] + 15cd4: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 1627e: f647 72ff movw r2, #32767 ; 0x7fff - 16282: 2101 movs r1, #1 - 16284: 3024 adds r0, #36 ; 0x24 - 16286: 4b51 ldr r3, [pc, #324] ; (163cc ) - 16288: 4798 blx r3 + 15cd6: f647 72ff movw r2, #32767 ; 0x7fff + 15cda: 2101 movs r1, #1 + 15cdc: 3024 adds r0, #36 ; 0x24 + 15cde: 4b51 ldr r3, [pc, #324] ; (15e24 ) + 15ce0: 4798 blx r3 lv_style_set_bg_opa(&styles->bar_bg, LV_STATE_DEFAULT, LV_OPA_COVER); - 1628a: 6820 ldr r0, [r4, #0] + 15ce2: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 1628c: 22ff movs r2, #255 ; 0xff - 1628e: 212c movs r1, #44 ; 0x2c - 16290: 3024 adds r0, #36 ; 0x24 - 16292: 4b4f ldr r3, [pc, #316] ; (163d0 ) - 16294: 4798 blx r3 + 15ce4: 22ff movs r2, #255 ; 0xff + 15ce6: 212c movs r1, #44 ; 0x2c + 15ce8: 3024 adds r0, #36 ; 0x24 + 15cea: 4b4f ldr r3, [pc, #316] ; (15e28 ) + 15cec: 4798 blx r3 lv_style_set_bg_color(&styles->bar_bg, LV_STATE_DEFAULT, COLOR_BG_SEC); - 16296: 6820 ldr r0, [r4, #0] - 16298: 6a23 ldr r3, [r4, #32] - 1629a: f013 0302 ands.w r3, r3, #2 - 1629e: bf14 ite ne - 162a0: 211a movne r1, #26 - 162a2: 2108 moveq r1, #8 - 162a4: 2b00 cmp r3, #0 - 162a6: bf15 itete ne - 162a8: 2435 movne r4, #53 ; 0x35 - 162aa: 2412 moveq r4, #18 - 162ac: 231b movne r3, #27 - 162ae: 2309 moveq r3, #9 - 162b0: f04f 0200 mov.w r2, #0 - 162b4: f363 0204 bfi r2, r3, #0, #5 - 162b8: f364 124a bfi r2, r4, #5, #6 - 162bc: f361 22cf bfi r2, r1, #11, #5 + 15cee: 6820 ldr r0, [r4, #0] + 15cf0: 6a23 ldr r3, [r4, #32] + 15cf2: f013 0302 ands.w r3, r3, #2 + 15cf6: bf14 ite ne + 15cf8: 211a movne r1, #26 + 15cfa: 2108 moveq r1, #8 + 15cfc: 2b00 cmp r3, #0 + 15cfe: bf15 itete ne + 15d00: 2435 movne r4, #53 ; 0x35 + 15d02: 2412 moveq r4, #18 + 15d04: 231b movne r3, #27 + 15d06: 2309 moveq r3, #9 + 15d08: f04f 0200 mov.w r2, #0 + 15d0c: f363 0204 bfi r2, r3, #0, #5 + 15d10: f364 124a bfi r2, r4, #5, #6 + 15d14: f361 22cf bfi r2, r1, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 162c0: 2129 movs r1, #41 ; 0x29 - 162c2: 3024 adds r0, #36 ; 0x24 - 162c4: 4b43 ldr r3, [pc, #268] ; (163d4 ) - 162c6: 4798 blx r3 + 15d18: 2129 movs r1, #41 ; 0x29 + 15d1a: 3024 adds r0, #36 ; 0x24 + 15d1c: 4b43 ldr r3, [pc, #268] ; (15e2c ) + 15d1e: 4798 blx r3 lv_style_set_value_color(&styles->bar_bg, LV_STATE_DEFAULT, IS_LIGHT ? lv_color_hex(0x31404f) : LV_COLOR_WHITE); - 162c8: 4b3e ldr r3, [pc, #248] ; (163c4 ) - 162ca: 6818 ldr r0, [r3, #0] - 162cc: 3024 adds r0, #36 ; 0x24 - 162ce: 6a1b ldr r3, [r3, #32] - 162d0: f013 0f02 tst.w r3, #2 - 162d4: d16d bne.n 163b2 - 162d6: 231f movs r3, #31 - 162d8: 213f movs r1, #63 ; 0x3f - 162da: 461c mov r4, r3 - 162dc: f04f 0200 mov.w r2, #0 - 162e0: f364 0204 bfi r2, r4, #0, #5 - 162e4: f361 124a bfi r2, r1, #5, #6 - 162e8: f363 22cf bfi r2, r3, #11, #5 + 15d20: 4b3e ldr r3, [pc, #248] ; (15e1c ) + 15d22: 6818 ldr r0, [r3, #0] + 15d24: 3024 adds r0, #36 ; 0x24 + 15d26: 6a1b ldr r3, [r3, #32] + 15d28: f013 0f02 tst.w r3, #2 + 15d2c: d16d bne.n 15e0a + 15d2e: 231f movs r3, #31 + 15d30: 213f movs r1, #63 ; 0x3f + 15d32: 461c mov r4, r3 + 15d34: f04f 0200 mov.w r2, #0 + 15d38: f364 0204 bfi r2, r4, #0, #5 + 15d3c: f361 124a bfi r2, r1, #5, #6 + 15d40: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_COLOR, value_color, lv_color_t, _color, nonscalar) - 162ec: 2179 movs r1, #121 ; 0x79 - 162ee: 4d39 ldr r5, [pc, #228] ; (163d4 ) - 162f0: 47a8 blx r5 + 15d44: 2179 movs r1, #121 ; 0x79 + 15d46: 4d39 ldr r5, [pc, #228] ; (15e2c ) + 15d48: 47a8 blx r5 lv_style_set_outline_color(&styles->bar_bg, LV_STATE_DEFAULT, theme.color_primary); - 162f2: 4c34 ldr r4, [pc, #208] ; (163c4 ) - 162f4: 6820 ldr r0, [r4, #0] + 15d4a: 4c34 ldr r4, [pc, #208] ; (15e1c ) + 15d4c: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_COLOR, outline_color, lv_color_t, _color, nonscalar) - 162f6: 89a2 ldrh r2, [r4, #12] - 162f8: 2149 movs r1, #73 ; 0x49 - 162fa: 3024 adds r0, #36 ; 0x24 - 162fc: 47a8 blx r5 + 15d4e: 89a2 ldrh r2, [r4, #12] + 15d50: 2149 movs r1, #73 ; 0x49 + 15d52: 3024 adds r0, #36 ; 0x24 + 15d54: 47a8 blx r5 lv_style_set_outline_color(&styles->bar_bg, LV_STATE_EDITED, theme.color_secondary); - 162fe: 6820 ldr r0, [r4, #0] - 16300: 89e2 ldrh r2, [r4, #14] - 16302: f240 4149 movw r1, #1097 ; 0x449 - 16306: 3024 adds r0, #36 ; 0x24 - 16308: 47a8 blx r5 + 15d56: 6820 ldr r0, [r4, #0] + 15d58: 89e2 ldrh r2, [r4, #14] + 15d5a: f240 4149 movw r1, #1097 ; 0x449 + 15d5e: 3024 adds r0, #36 ; 0x24 + 15d60: 47a8 blx r5 lv_style_set_outline_opa(&styles->bar_bg, LV_STATE_DEFAULT, LV_OPA_TRANSP); - 1630a: 6820 ldr r0, [r4, #0] + 15d62: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_OPA, outline_opa, lv_opa_t, _opa, scalar) - 1630c: 2200 movs r2, #0 - 1630e: 214c movs r1, #76 ; 0x4c - 16310: 3024 adds r0, #36 ; 0x24 - 16312: 4f2f ldr r7, [pc, #188] ; (163d0 ) - 16314: 47b8 blx r7 + 15d64: 2200 movs r2, #0 + 15d66: 214c movs r1, #76 ; 0x4c + 15d68: 3024 adds r0, #36 ; 0x24 + 15d6a: 4f2f ldr r7, [pc, #188] ; (15e28 ) + 15d6c: 47b8 blx r7 lv_style_set_outline_opa(&styles->bar_bg, LV_STATE_FOCUSED, LV_OPA_50); - 16316: 6820 ldr r0, [r4, #0] - 16318: 227f movs r2, #127 ; 0x7f - 1631a: f44f 7113 mov.w r1, #588 ; 0x24c - 1631e: 3024 adds r0, #36 ; 0x24 - 16320: 47b8 blx r7 + 15d6e: 6820 ldr r0, [r4, #0] + 15d70: 227f movs r2, #127 ; 0x7f + 15d72: f44f 7113 mov.w r1, #588 ; 0x24c + 15d76: 3024 adds r0, #36 ; 0x24 + 15d78: 47b8 blx r7 lv_style_set_outline_width(&styles->bar_bg, LV_STATE_DEFAULT, 3); - 16322: 6820 ldr r0, [r4, #0] + 15d7a: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_WIDTH, outline_width, lv_style_int_t, _int, scalar) - 16324: 2203 movs r2, #3 - 16326: 2140 movs r1, #64 ; 0x40 - 16328: 3024 adds r0, #36 ; 0x24 - 1632a: 4e28 ldr r6, [pc, #160] ; (163cc ) - 1632c: 47b0 blx r6 + 15d7c: 2203 movs r2, #3 + 15d7e: 2140 movs r1, #64 ; 0x40 + 15d80: 3024 adds r0, #36 ; 0x24 + 15d82: 4e28 ldr r6, [pc, #160] ; (15e24 ) + 15d84: 47b0 blx r6 lv_style_set_transition_time(&styles->bar_bg, LV_STATE_DEFAULT, TRANSITION_TIME); - 1632e: 6820 ldr r0, [r4, #0] + 15d86: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_TIME, transition_time, lv_style_int_t, _int, scalar) - 16330: 2296 movs r2, #150 ; 0x96 - 16332: 21b0 movs r1, #176 ; 0xb0 - 16334: 3024 adds r0, #36 ; 0x24 - 16336: 47b0 blx r6 + 15d88: 2296 movs r2, #150 ; 0x96 + 15d8a: 21b0 movs r1, #176 ; 0xb0 + 15d8c: 3024 adds r0, #36 ; 0x24 + 15d8e: 47b0 blx r6 lv_style_set_transition_prop_6(&styles->bar_bg, LV_STATE_DEFAULT, LV_STYLE_OUTLINE_OPA); - 16338: 6820 ldr r0, [r4, #0] + 15d90: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_6, transition_prop_6, lv_style_int_t, _int, scalar) - 1633a: 224c movs r2, #76 ; 0x4c - 1633c: 21b7 movs r1, #183 ; 0xb7 - 1633e: 3024 adds r0, #36 ; 0x24 - 16340: 47b0 blx r6 + 15d92: 224c movs r2, #76 ; 0x4c + 15d94: 21b7 movs r1, #183 ; 0xb7 + 15d96: 3024 adds r0, #36 ; 0x24 + 15d98: 47b0 blx r6 style_init_reset(&styles->bar_indic); - 16342: 6820 ldr r0, [r4, #0] - 16344: 3028 adds r0, #40 ; 0x28 - 16346: 4b20 ldr r3, [pc, #128] ; (163c8 ) - 16348: 4798 blx r3 + 15d9a: 6820 ldr r0, [r4, #0] + 15d9c: 3028 adds r0, #40 ; 0x28 + 15d9e: 4b20 ldr r3, [pc, #128] ; (15e20 ) + 15da0: 4798 blx r3 lv_style_set_bg_opa(&styles->bar_indic, LV_STATE_DEFAULT, LV_OPA_COVER); - 1634a: 6820 ldr r0, [r4, #0] + 15da2: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 1634c: 22ff movs r2, #255 ; 0xff - 1634e: 212c movs r1, #44 ; 0x2c - 16350: 3028 adds r0, #40 ; 0x28 - 16352: 47b8 blx r7 + 15da4: 22ff movs r2, #255 ; 0xff + 15da6: 212c movs r1, #44 ; 0x2c + 15da8: 3028 adds r0, #40 ; 0x28 + 15daa: 47b8 blx r7 lv_style_set_radius(&styles->bar_indic, LV_STATE_DEFAULT, LV_RADIUS_CIRCLE); - 16354: 6820 ldr r0, [r4, #0] + 15dac: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 16356: f647 72ff movw r2, #32767 ; 0x7fff - 1635a: 2101 movs r1, #1 - 1635c: 3028 adds r0, #40 ; 0x28 - 1635e: 47b0 blx r6 + 15dae: f647 72ff movw r2, #32767 ; 0x7fff + 15db2: 2101 movs r1, #1 + 15db4: 3028 adds r0, #40 ; 0x28 + 15db6: 47b0 blx r6 lv_style_set_bg_color(&styles->bar_indic, LV_STATE_DEFAULT, theme.color_primary); - 16360: 6820 ldr r0, [r4, #0] + 15db8: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 16362: 89a2 ldrh r2, [r4, #12] - 16364: 2129 movs r1, #41 ; 0x29 - 16366: 3028 adds r0, #40 ; 0x28 - 16368: 47a8 blx r5 + 15dba: 89a2 ldrh r2, [r4, #12] + 15dbc: 2129 movs r1, #41 ; 0x29 + 15dbe: 3028 adds r0, #40 ; 0x28 + 15dc0: 47a8 blx r5 lv_style_set_bg_color(&styles->bar_indic, LV_STATE_DISABLED, lv_color_hex3(0x888)); - 1636a: 6820 ldr r0, [r4, #0] - 1636c: 2311 movs r3, #17 - 1636e: f04f 0200 mov.w r2, #0 - 16372: f363 0204 bfi r2, r3, #0, #5 - 16376: 2122 movs r1, #34 ; 0x22 - 16378: f361 124a bfi r2, r1, #5, #6 - 1637c: f363 22cf bfi r2, r3, #11, #5 - 16380: f242 0129 movw r1, #8233 ; 0x2029 - 16384: 3028 adds r0, #40 ; 0x28 - 16386: 47a8 blx r5 + 15dc2: 6820 ldr r0, [r4, #0] + 15dc4: 2311 movs r3, #17 + 15dc6: f04f 0200 mov.w r2, #0 + 15dca: f363 0204 bfi r2, r3, #0, #5 + 15dce: 2122 movs r1, #34 ; 0x22 + 15dd0: f361 124a bfi r2, r1, #5, #6 + 15dd4: f363 22cf bfi r2, r3, #11, #5 + 15dd8: f242 0129 movw r1, #8233 ; 0x2029 + 15ddc: 3028 adds r0, #40 ; 0x28 + 15dde: 47a8 blx r5 lv_style_set_value_color(&styles->bar_indic, LV_STATE_DEFAULT, IS_LIGHT ? lv_color_hex(0x41404f) : LV_COLOR_WHITE); - 16388: 6820 ldr r0, [r4, #0] - 1638a: 3028 adds r0, #40 ; 0x28 - 1638c: 6a23 ldr r3, [r4, #32] - 1638e: f013 0f02 tst.w r3, #2 - 16392: d112 bne.n 163ba - 16394: 231f movs r3, #31 - 16396: 213f movs r1, #63 ; 0x3f - 16398: 461c mov r4, r3 - 1639a: f04f 0200 mov.w r2, #0 - 1639e: f364 0204 bfi r2, r4, #0, #5 - 163a2: f361 124a bfi r2, r1, #5, #6 - 163a6: f363 22cf bfi r2, r3, #11, #5 + 15de0: 6820 ldr r0, [r4, #0] + 15de2: 3028 adds r0, #40 ; 0x28 + 15de4: 6a23 ldr r3, [r4, #32] + 15de6: f013 0f02 tst.w r3, #2 + 15dea: d112 bne.n 15e12 + 15dec: 231f movs r3, #31 + 15dee: 213f movs r1, #63 ; 0x3f + 15df0: 461c mov r4, r3 + 15df2: f04f 0200 mov.w r2, #0 + 15df6: f364 0204 bfi r2, r4, #0, #5 + 15dfa: f361 124a bfi r2, r1, #5, #6 + 15dfe: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_COLOR, value_color, lv_color_t, _color, nonscalar) - 163aa: 2179 movs r1, #121 ; 0x79 - 163ac: 4b09 ldr r3, [pc, #36] ; (163d4 ) - 163ae: 4798 blx r3 - 163b0: bdf8 pop {r3, r4, r5, r6, r7, pc} - 163b2: 2306 movs r3, #6 - 163b4: 2110 movs r1, #16 - 163b6: 2409 movs r4, #9 - 163b8: e790 b.n 162dc - 163ba: 2308 movs r3, #8 - 163bc: 2110 movs r1, #16 - 163be: 2409 movs r4, #9 - 163c0: e7eb b.n 1639a - 163c2: bf00 nop - 163c4: 20006bd8 .word 0x20006bd8 - 163c8: 00015009 .word 0x00015009 - 163cc: 00006e89 .word 0x00006e89 - 163d0: 00007111 .word 0x00007111 - 163d4: 00006fcd .word 0x00006fcd - -000163d8 : -{ - 163d8: b510 push {r4, lr} + 15e02: 2179 movs r1, #121 ; 0x79 + 15e04: 4b09 ldr r3, [pc, #36] ; (15e2c ) + 15e06: 4798 blx r3 + 15e08: bdf8 pop {r3, r4, r5, r6, r7, pc} + 15e0a: 2306 movs r3, #6 + 15e0c: 2110 movs r1, #16 + 15e0e: 2409 movs r4, #9 + 15e10: e790 b.n 15d34 + 15e12: 2308 movs r3, #8 + 15e14: 2110 movs r1, #16 + 15e16: 2409 movs r4, #9 + 15e18: e7eb b.n 15df2 + 15e1a: bf00 nop + 15e1c: 20006bd8 .word 0x20006bd8 + 15e20: 00014a61 .word 0x00014a61 + 15e24: 000068e1 .word 0x000068e1 + 15e28: 00006b69 .word 0x00006b69 + 15e2c: 00006a25 .word 0x00006a25 + +00015e30 : +{ + 15e30: b510 push {r4, lr} style_init_reset(&styles->slider_knob); - 163da: 4ca0 ldr r4, [pc, #640] ; (1665c ) - 163dc: 6820 ldr r0, [r4, #0] - 163de: 3090 adds r0, #144 ; 0x90 - 163e0: 4b9f ldr r3, [pc, #636] ; (16660 ) - 163e2: 4798 blx r3 + 15e32: 4ca0 ldr r4, [pc, #640] ; (160b4 ) + 15e34: 6820 ldr r0, [r4, #0] + 15e36: 3090 adds r0, #144 ; 0x90 + 15e38: 4b9f ldr r3, [pc, #636] ; (160b8 ) + 15e3a: 4798 blx r3 lv_style_set_bg_opa(&styles->slider_knob, LV_STATE_DEFAULT, LV_OPA_COVER); - 163e4: 6820 ldr r0, [r4, #0] + 15e3c: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 163e6: 22ff movs r2, #255 ; 0xff - 163e8: 212c movs r1, #44 ; 0x2c - 163ea: 3090 adds r0, #144 ; 0x90 - 163ec: 4b9d ldr r3, [pc, #628] ; (16664 ) - 163ee: 4798 blx r3 + 15e3e: 22ff movs r2, #255 ; 0xff + 15e40: 212c movs r1, #44 ; 0x2c + 15e42: 3090 adds r0, #144 ; 0x90 + 15e44: 4b9d ldr r3, [pc, #628] ; (160bc ) + 15e46: 4798 blx r3 lv_style_set_bg_color(&styles->slider_knob, LV_STATE_DEFAULT, IS_LIGHT ? theme.color_primary : LV_COLOR_WHITE); - 163f0: 6820 ldr r0, [r4, #0] - 163f2: 3090 adds r0, #144 ; 0x90 - 163f4: 6a23 ldr r3, [r4, #32] - 163f6: f013 0f02 tst.w r3, #2 - 163fa: bf19 ittee ne - 163fc: 4623 movne r3, r4 - 163fe: 899a ldrhne r2, [r3, #12] - 16400: 4b99 ldreq r3, [pc, #612] ; (16668 ) - 16402: 881a ldrheq r2, [r3, #0] + 15e48: 6820 ldr r0, [r4, #0] + 15e4a: 3090 adds r0, #144 ; 0x90 + 15e4c: 6a23 ldr r3, [r4, #32] + 15e4e: f013 0f02 tst.w r3, #2 + 15e52: bf19 ittee ne + 15e54: 4623 movne r3, r4 + 15e56: 899a ldrhne r2, [r3, #12] + 15e58: 4b99 ldreq r3, [pc, #612] ; (160c0 ) + 15e5a: 881a ldrheq r2, [r3, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 16404: 2129 movs r1, #41 ; 0x29 - 16406: 4b99 ldr r3, [pc, #612] ; (1666c ) - 16408: 4798 blx r3 + 15e5c: 2129 movs r1, #41 ; 0x29 + 15e5e: 4b99 ldr r3, [pc, #612] ; (160c4 ) + 15e60: 4798 blx r3 lv_style_set_value_color(&styles->slider_knob, LV_STATE_DEFAULT, IS_LIGHT ? lv_color_hex(0x31404f) : LV_COLOR_WHITE); - 1640a: 4b94 ldr r3, [pc, #592] ; (1665c ) - 1640c: 6818 ldr r0, [r3, #0] - 1640e: 3090 adds r0, #144 ; 0x90 - 16410: 6a1b ldr r3, [r3, #32] - 16412: f013 0f02 tst.w r3, #2 - 16416: f040 80a9 bne.w 1656c - 1641a: 231f movs r3, #31 - 1641c: 213f movs r1, #63 ; 0x3f - 1641e: 461c mov r4, r3 - 16420: f04f 0200 mov.w r2, #0 - 16424: f364 0204 bfi r2, r4, #0, #5 - 16428: f361 124a bfi r2, r1, #5, #6 - 1642c: f363 22cf bfi r2, r3, #11, #5 + 15e62: 4b94 ldr r3, [pc, #592] ; (160b4 ) + 15e64: 6818 ldr r0, [r3, #0] + 15e66: 3090 adds r0, #144 ; 0x90 + 15e68: 6a1b ldr r3, [r3, #32] + 15e6a: f013 0f02 tst.w r3, #2 + 15e6e: f040 80a9 bne.w 15fc4 + 15e72: 231f movs r3, #31 + 15e74: 213f movs r1, #63 ; 0x3f + 15e76: 461c mov r4, r3 + 15e78: f04f 0200 mov.w r2, #0 + 15e7c: f364 0204 bfi r2, r4, #0, #5 + 15e80: f361 124a bfi r2, r1, #5, #6 + 15e84: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_COLOR, value_color, lv_color_t, _color, nonscalar) - 16430: 2179 movs r1, #121 ; 0x79 - 16432: 4b8e ldr r3, [pc, #568] ; (1666c ) - 16434: 4798 blx r3 + 15e88: 2179 movs r1, #121 ; 0x79 + 15e8a: 4b8e ldr r3, [pc, #568] ; (160c4 ) + 15e8c: 4798 blx r3 lv_style_set_radius(&styles->slider_knob, LV_STATE_DEFAULT, LV_RADIUS_CIRCLE); - 16436: 4c89 ldr r4, [pc, #548] ; (1665c ) - 16438: 6820 ldr r0, [r4, #0] + 15e8e: 4c89 ldr r4, [pc, #548] ; (160b4 ) + 15e90: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 1643a: f647 72ff movw r2, #32767 ; 0x7fff - 1643e: 2101 movs r1, #1 - 16440: 3090 adds r0, #144 ; 0x90 - 16442: 4b8b ldr r3, [pc, #556] ; (16670 ) - 16444: 4798 blx r3 + 15e92: f647 72ff movw r2, #32767 ; 0x7fff + 15e96: 2101 movs r1, #1 + 15e98: 3090 adds r0, #144 ; 0x90 + 15e9a: 4b8b ldr r3, [pc, #556] ; (160c8 ) + 15e9c: 4798 blx r3 lv_style_set_pad_left(&styles->slider_knob, LV_STATE_DEFAULT, LV_DPX(7)); - 16446: 6824 ldr r4, [r4, #0] - 16448: 3490 adds r4, #144 ; 0x90 - 1644a: 2000 movs r0, #0 - 1644c: 4b89 ldr r3, [pc, #548] ; (16674 ) - 1644e: 4798 blx r3 - 16450: ebc0 00c0 rsb r0, r0, r0, lsl #3 - 16454: 3050 adds r0, #80 ; 0x50 - 16456: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 1645a: f280 808b bge.w 16574 - 1645e: 2201 movs r2, #1 + 15e9e: 6824 ldr r4, [r4, #0] + 15ea0: 3490 adds r4, #144 ; 0x90 + 15ea2: 2000 movs r0, #0 + 15ea4: 4b89 ldr r3, [pc, #548] ; (160cc ) + 15ea6: 4798 blx r3 + 15ea8: ebc0 00c0 rsb r0, r0, r0, lsl #3 + 15eac: 3050 adds r0, #80 ; 0x50 + 15eae: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 15eb2: f280 808b bge.w 15fcc + 15eb6: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 16460: 2112 movs r1, #18 - 16462: 4620 mov r0, r4 - 16464: 4b82 ldr r3, [pc, #520] ; (16670 ) - 16466: 4798 blx r3 + 15eb8: 2112 movs r1, #18 + 15eba: 4620 mov r0, r4 + 15ebc: 4b82 ldr r3, [pc, #520] ; (160c8 ) + 15ebe: 4798 blx r3 lv_style_set_pad_right(&styles->slider_knob, LV_STATE_DEFAULT, LV_DPX(7)); - 16468: 4b7c ldr r3, [pc, #496] ; (1665c ) - 1646a: 681c ldr r4, [r3, #0] - 1646c: 3490 adds r4, #144 ; 0x90 - 1646e: 2000 movs r0, #0 - 16470: 4b80 ldr r3, [pc, #512] ; (16674 ) - 16472: 4798 blx r3 - 16474: ebc0 00c0 rsb r0, r0, r0, lsl #3 - 16478: 3050 adds r0, #80 ; 0x50 - 1647a: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 1647e: f280 8087 bge.w 16590 - 16482: 2201 movs r2, #1 + 15ec0: 4b7c ldr r3, [pc, #496] ; (160b4 ) + 15ec2: 681c ldr r4, [r3, #0] + 15ec4: 3490 adds r4, #144 ; 0x90 + 15ec6: 2000 movs r0, #0 + 15ec8: 4b80 ldr r3, [pc, #512] ; (160cc ) + 15eca: 4798 blx r3 + 15ecc: ebc0 00c0 rsb r0, r0, r0, lsl #3 + 15ed0: 3050 adds r0, #80 ; 0x50 + 15ed2: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 15ed6: f280 8087 bge.w 15fe8 + 15eda: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 16484: 2113 movs r1, #19 - 16486: 4620 mov r0, r4 - 16488: 4b79 ldr r3, [pc, #484] ; (16670 ) - 1648a: 4798 blx r3 + 15edc: 2113 movs r1, #19 + 15ede: 4620 mov r0, r4 + 15ee0: 4b79 ldr r3, [pc, #484] ; (160c8 ) + 15ee2: 4798 blx r3 lv_style_set_pad_top(&styles->slider_knob, LV_STATE_DEFAULT, LV_DPX(7)); - 1648c: 4b73 ldr r3, [pc, #460] ; (1665c ) - 1648e: 681c ldr r4, [r3, #0] - 16490: 3490 adds r4, #144 ; 0x90 - 16492: 2000 movs r0, #0 - 16494: 4b77 ldr r3, [pc, #476] ; (16674 ) - 16496: 4798 blx r3 - 16498: ebc0 00c0 rsb r0, r0, r0, lsl #3 - 1649c: 3050 adds r0, #80 ; 0x50 - 1649e: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 164a2: f280 8083 bge.w 165ac - 164a6: 2201 movs r2, #1 + 15ee4: 4b73 ldr r3, [pc, #460] ; (160b4 ) + 15ee6: 681c ldr r4, [r3, #0] + 15ee8: 3490 adds r4, #144 ; 0x90 + 15eea: 2000 movs r0, #0 + 15eec: 4b77 ldr r3, [pc, #476] ; (160cc ) + 15eee: 4798 blx r3 + 15ef0: ebc0 00c0 rsb r0, r0, r0, lsl #3 + 15ef4: 3050 adds r0, #80 ; 0x50 + 15ef6: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 15efa: f280 8083 bge.w 16004 + 15efe: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) - 164a8: 2110 movs r1, #16 - 164aa: 4620 mov r0, r4 - 164ac: 4b70 ldr r3, [pc, #448] ; (16670 ) - 164ae: 4798 blx r3 + 15f00: 2110 movs r1, #16 + 15f02: 4620 mov r0, r4 + 15f04: 4b70 ldr r3, [pc, #448] ; (160c8 ) + 15f06: 4798 blx r3 lv_style_set_pad_bottom(&styles->slider_knob, LV_STATE_DEFAULT, LV_DPX(7)); - 164b0: 4b6a ldr r3, [pc, #424] ; (1665c ) - 164b2: 681c ldr r4, [r3, #0] - 164b4: 3490 adds r4, #144 ; 0x90 - 164b6: 2000 movs r0, #0 - 164b8: 4b6e ldr r3, [pc, #440] ; (16674 ) - 164ba: 4798 blx r3 - 164bc: ebc0 00c0 rsb r0, r0, r0, lsl #3 - 164c0: 3050 adds r0, #80 ; 0x50 - 164c2: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 164c6: da7f bge.n 165c8 - 164c8: 2201 movs r2, #1 + 15f08: 4b6a ldr r3, [pc, #424] ; (160b4 ) + 15f0a: 681c ldr r4, [r3, #0] + 15f0c: 3490 adds r4, #144 ; 0x90 + 15f0e: 2000 movs r0, #0 + 15f10: 4b6e ldr r3, [pc, #440] ; (160cc ) + 15f12: 4798 blx r3 + 15f14: ebc0 00c0 rsb r0, r0, r0, lsl #3 + 15f18: 3050 adds r0, #80 ; 0x50 + 15f1a: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 15f1e: da7f bge.n 16020 + 15f20: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) - 164ca: 2111 movs r1, #17 - 164cc: 4620 mov r0, r4 - 164ce: 4b68 ldr r3, [pc, #416] ; (16670 ) - 164d0: 4798 blx r3 + 15f22: 2111 movs r1, #17 + 15f24: 4620 mov r0, r4 + 15f26: 4b68 ldr r3, [pc, #416] ; (160c8 ) + 15f28: 4798 blx r3 style_init_reset(&styles->slider_bg); - 164d2: 4c62 ldr r4, [pc, #392] ; (1665c ) - 164d4: 6820 ldr r0, [r4, #0] - 164d6: 3094 adds r0, #148 ; 0x94 - 164d8: 4b61 ldr r3, [pc, #388] ; (16660 ) - 164da: 4798 blx r3 + 15f2a: 4c62 ldr r4, [pc, #392] ; (160b4 ) + 15f2c: 6820 ldr r0, [r4, #0] + 15f2e: 3094 adds r0, #148 ; 0x94 + 15f30: 4b61 ldr r3, [pc, #388] ; (160b8 ) + 15f32: 4798 blx r3 lv_style_set_margin_left(&styles->slider_bg, LV_STATE_DEFAULT, LV_DPX(10)); - 164dc: 6824 ldr r4, [r4, #0] - 164de: 3494 adds r4, #148 ; 0x94 - 164e0: 2000 movs r0, #0 - 164e2: 4b64 ldr r3, [pc, #400] ; (16674 ) - 164e4: 4798 blx r3 - 164e6: eb00 0080 add.w r0, r0, r0, lsl #2 - 164ea: 0040 lsls r0, r0, #1 - 164ec: 3050 adds r0, #80 ; 0x50 - 164ee: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 164f2: da77 bge.n 165e4 - 164f4: 2201 movs r2, #1 + 15f34: 6824 ldr r4, [r4, #0] + 15f36: 3494 adds r4, #148 ; 0x94 + 15f38: 2000 movs r0, #0 + 15f3a: 4b64 ldr r3, [pc, #400] ; (160cc ) + 15f3c: 4798 blx r3 + 15f3e: eb00 0080 add.w r0, r0, r0, lsl #2 + 15f42: 0040 lsls r0, r0, #1 + 15f44: 3050 adds r0, #80 ; 0x50 + 15f46: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 15f4a: da77 bge.n 1603c + 15f4c: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(MARGIN_LEFT, margin_left, lv_style_int_t, _int, scalar) - 164f6: 2117 movs r1, #23 - 164f8: 4620 mov r0, r4 - 164fa: 4b5d ldr r3, [pc, #372] ; (16670 ) - 164fc: 4798 blx r3 + 15f4e: 2117 movs r1, #23 + 15f50: 4620 mov r0, r4 + 15f52: 4b5d ldr r3, [pc, #372] ; (160c8 ) + 15f54: 4798 blx r3 lv_style_set_margin_right(&styles->slider_bg, LV_STATE_DEFAULT, LV_DPX(10)); - 164fe: 4b57 ldr r3, [pc, #348] ; (1665c ) - 16500: 681c ldr r4, [r3, #0] - 16502: 3494 adds r4, #148 ; 0x94 - 16504: 2000 movs r0, #0 - 16506: 4b5b ldr r3, [pc, #364] ; (16674 ) - 16508: 4798 blx r3 - 1650a: eb00 0080 add.w r0, r0, r0, lsl #2 - 1650e: 0040 lsls r0, r0, #1 - 16510: 3050 adds r0, #80 ; 0x50 - 16512: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 16516: da74 bge.n 16602 - 16518: 2201 movs r2, #1 + 15f56: 4b57 ldr r3, [pc, #348] ; (160b4 ) + 15f58: 681c ldr r4, [r3, #0] + 15f5a: 3494 adds r4, #148 ; 0x94 + 15f5c: 2000 movs r0, #0 + 15f5e: 4b5b ldr r3, [pc, #364] ; (160cc ) + 15f60: 4798 blx r3 + 15f62: eb00 0080 add.w r0, r0, r0, lsl #2 + 15f66: 0040 lsls r0, r0, #1 + 15f68: 3050 adds r0, #80 ; 0x50 + 15f6a: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 15f6e: da74 bge.n 1605a + 15f70: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(MARGIN_RIGHT, margin_right, lv_style_int_t, _int, scalar) - 1651a: 2118 movs r1, #24 - 1651c: 4620 mov r0, r4 - 1651e: 4b54 ldr r3, [pc, #336] ; (16670 ) - 16520: 4798 blx r3 + 15f72: 2118 movs r1, #24 + 15f74: 4620 mov r0, r4 + 15f76: 4b54 ldr r3, [pc, #336] ; (160c8 ) + 15f78: 4798 blx r3 lv_style_set_margin_top(&styles->slider_bg, LV_STATE_DEFAULT, LV_DPX(10)); - 16522: 4b4e ldr r3, [pc, #312] ; (1665c ) - 16524: 681c ldr r4, [r3, #0] - 16526: 3494 adds r4, #148 ; 0x94 - 16528: 2000 movs r0, #0 - 1652a: 4b52 ldr r3, [pc, #328] ; (16674 ) - 1652c: 4798 blx r3 - 1652e: eb00 0080 add.w r0, r0, r0, lsl #2 - 16532: 0040 lsls r0, r0, #1 - 16534: 3050 adds r0, #80 ; 0x50 - 16536: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 1653a: da71 bge.n 16620 - 1653c: 2201 movs r2, #1 + 15f7a: 4b4e ldr r3, [pc, #312] ; (160b4 ) + 15f7c: 681c ldr r4, [r3, #0] + 15f7e: 3494 adds r4, #148 ; 0x94 + 15f80: 2000 movs r0, #0 + 15f82: 4b52 ldr r3, [pc, #328] ; (160cc ) + 15f84: 4798 blx r3 + 15f86: eb00 0080 add.w r0, r0, r0, lsl #2 + 15f8a: 0040 lsls r0, r0, #1 + 15f8c: 3050 adds r0, #80 ; 0x50 + 15f8e: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 15f92: da71 bge.n 16078 + 15f94: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(MARGIN_TOP, margin_top, lv_style_int_t, _int, scalar) - 1653e: 2115 movs r1, #21 - 16540: 4620 mov r0, r4 - 16542: 4b4b ldr r3, [pc, #300] ; (16670 ) - 16544: 4798 blx r3 + 15f96: 2115 movs r1, #21 + 15f98: 4620 mov r0, r4 + 15f9a: 4b4b ldr r3, [pc, #300] ; (160c8 ) + 15f9c: 4798 blx r3 lv_style_set_margin_bottom(&styles->slider_bg, LV_STATE_DEFAULT, LV_DPX(10)); - 16546: 4b45 ldr r3, [pc, #276] ; (1665c ) - 16548: 681c ldr r4, [r3, #0] - 1654a: 3494 adds r4, #148 ; 0x94 - 1654c: 2000 movs r0, #0 - 1654e: 4b49 ldr r3, [pc, #292] ; (16674 ) - 16550: 4798 blx r3 - 16552: eb00 0080 add.w r0, r0, r0, lsl #2 - 16556: 0040 lsls r0, r0, #1 - 16558: 3050 adds r0, #80 ; 0x50 - 1655a: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 1655e: da6e bge.n 1663e - 16560: 2201 movs r2, #1 + 15f9e: 4b45 ldr r3, [pc, #276] ; (160b4 ) + 15fa0: 681c ldr r4, [r3, #0] + 15fa2: 3494 adds r4, #148 ; 0x94 + 15fa4: 2000 movs r0, #0 + 15fa6: 4b49 ldr r3, [pc, #292] ; (160cc ) + 15fa8: 4798 blx r3 + 15faa: eb00 0080 add.w r0, r0, r0, lsl #2 + 15fae: 0040 lsls r0, r0, #1 + 15fb0: 3050 adds r0, #80 ; 0x50 + 15fb2: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 15fb6: da6e bge.n 16096 + 15fb8: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(MARGIN_BOTTOM, margin_bottom, lv_style_int_t, _int, scalar) - 16562: 2116 movs r1, #22 - 16564: 4620 mov r0, r4 - 16566: 4b42 ldr r3, [pc, #264] ; (16670 ) - 16568: 4798 blx r3 - 1656a: bd10 pop {r4, pc} - 1656c: 2306 movs r3, #6 - 1656e: 2110 movs r1, #16 - 16570: 2409 movs r4, #9 - 16572: e755 b.n 16420 + 15fba: 2116 movs r1, #22 + 15fbc: 4620 mov r0, r4 + 15fbe: 4b42 ldr r3, [pc, #264] ; (160c8 ) + 15fc0: 4798 blx r3 + 15fc2: bd10 pop {r4, pc} + 15fc4: 2306 movs r3, #6 + 15fc6: 2110 movs r1, #16 + 15fc8: 2409 movs r4, #9 + 15fca: e755 b.n 15e78 lv_style_set_pad_left(&styles->slider_knob, LV_STATE_DEFAULT, LV_DPX(7)); - 16574: 2000 movs r0, #0 - 16576: 4b3f ldr r3, [pc, #252] ; (16674 ) - 16578: 4798 blx r3 - 1657a: ebc0 00c0 rsb r0, r0, r0, lsl #3 - 1657e: 3050 adds r0, #80 ; 0x50 - 16580: 4b3d ldr r3, [pc, #244] ; (16678 ) - 16582: fb83 2300 smull r2, r3, r3, r0 - 16586: 17c2 asrs r2, r0, #31 - 16588: ebc2 12a3 rsb r2, r2, r3, asr #6 - 1658c: b212 sxth r2, r2 - 1658e: e767 b.n 16460 + 15fcc: 2000 movs r0, #0 + 15fce: 4b3f ldr r3, [pc, #252] ; (160cc ) + 15fd0: 4798 blx r3 + 15fd2: ebc0 00c0 rsb r0, r0, r0, lsl #3 + 15fd6: 3050 adds r0, #80 ; 0x50 + 15fd8: 4b3d ldr r3, [pc, #244] ; (160d0 ) + 15fda: fb83 2300 smull r2, r3, r3, r0 + 15fde: 17c2 asrs r2, r0, #31 + 15fe0: ebc2 12a3 rsb r2, r2, r3, asr #6 + 15fe4: b212 sxth r2, r2 + 15fe6: e767 b.n 15eb8 lv_style_set_pad_right(&styles->slider_knob, LV_STATE_DEFAULT, LV_DPX(7)); - 16590: 2000 movs r0, #0 - 16592: 4b38 ldr r3, [pc, #224] ; (16674 ) - 16594: 4798 blx r3 - 16596: ebc0 00c0 rsb r0, r0, r0, lsl #3 - 1659a: 3050 adds r0, #80 ; 0x50 - 1659c: 4b36 ldr r3, [pc, #216] ; (16678 ) - 1659e: fb83 2300 smull r2, r3, r3, r0 - 165a2: 17c2 asrs r2, r0, #31 - 165a4: ebc2 12a3 rsb r2, r2, r3, asr #6 - 165a8: b212 sxth r2, r2 - 165aa: e76b b.n 16484 + 15fe8: 2000 movs r0, #0 + 15fea: 4b38 ldr r3, [pc, #224] ; (160cc ) + 15fec: 4798 blx r3 + 15fee: ebc0 00c0 rsb r0, r0, r0, lsl #3 + 15ff2: 3050 adds r0, #80 ; 0x50 + 15ff4: 4b36 ldr r3, [pc, #216] ; (160d0 ) + 15ff6: fb83 2300 smull r2, r3, r3, r0 + 15ffa: 17c2 asrs r2, r0, #31 + 15ffc: ebc2 12a3 rsb r2, r2, r3, asr #6 + 16000: b212 sxth r2, r2 + 16002: e76b b.n 15edc lv_style_set_pad_top(&styles->slider_knob, LV_STATE_DEFAULT, LV_DPX(7)); - 165ac: 2000 movs r0, #0 - 165ae: 4b31 ldr r3, [pc, #196] ; (16674 ) - 165b0: 4798 blx r3 - 165b2: ebc0 00c0 rsb r0, r0, r0, lsl #3 - 165b6: 3050 adds r0, #80 ; 0x50 - 165b8: 4b2f ldr r3, [pc, #188] ; (16678 ) - 165ba: fb83 2300 smull r2, r3, r3, r0 - 165be: 17c2 asrs r2, r0, #31 - 165c0: ebc2 12a3 rsb r2, r2, r3, asr #6 - 165c4: b212 sxth r2, r2 - 165c6: e76f b.n 164a8 + 16004: 2000 movs r0, #0 + 16006: 4b31 ldr r3, [pc, #196] ; (160cc ) + 16008: 4798 blx r3 + 1600a: ebc0 00c0 rsb r0, r0, r0, lsl #3 + 1600e: 3050 adds r0, #80 ; 0x50 + 16010: 4b2f ldr r3, [pc, #188] ; (160d0 ) + 16012: fb83 2300 smull r2, r3, r3, r0 + 16016: 17c2 asrs r2, r0, #31 + 16018: ebc2 12a3 rsb r2, r2, r3, asr #6 + 1601c: b212 sxth r2, r2 + 1601e: e76f b.n 15f00 lv_style_set_pad_bottom(&styles->slider_knob, LV_STATE_DEFAULT, LV_DPX(7)); - 165c8: 2000 movs r0, #0 - 165ca: 4b2a ldr r3, [pc, #168] ; (16674 ) - 165cc: 4798 blx r3 - 165ce: ebc0 00c0 rsb r0, r0, r0, lsl #3 - 165d2: 3050 adds r0, #80 ; 0x50 - 165d4: 4b28 ldr r3, [pc, #160] ; (16678 ) - 165d6: fb83 2300 smull r2, r3, r3, r0 - 165da: 17c2 asrs r2, r0, #31 - 165dc: ebc2 12a3 rsb r2, r2, r3, asr #6 - 165e0: b212 sxth r2, r2 - 165e2: e772 b.n 164ca + 16020: 2000 movs r0, #0 + 16022: 4b2a ldr r3, [pc, #168] ; (160cc ) + 16024: 4798 blx r3 + 16026: ebc0 00c0 rsb r0, r0, r0, lsl #3 + 1602a: 3050 adds r0, #80 ; 0x50 + 1602c: 4b28 ldr r3, [pc, #160] ; (160d0 ) + 1602e: fb83 2300 smull r2, r3, r3, r0 + 16032: 17c2 asrs r2, r0, #31 + 16034: ebc2 12a3 rsb r2, r2, r3, asr #6 + 16038: b212 sxth r2, r2 + 1603a: e772 b.n 15f22 lv_style_set_margin_left(&styles->slider_bg, LV_STATE_DEFAULT, LV_DPX(10)); - 165e4: 2000 movs r0, #0 - 165e6: 4b23 ldr r3, [pc, #140] ; (16674 ) - 165e8: 4798 blx r3 - 165ea: eb00 0080 add.w r0, r0, r0, lsl #2 - 165ee: 0040 lsls r0, r0, #1 - 165f0: 3050 adds r0, #80 ; 0x50 - 165f2: 4b21 ldr r3, [pc, #132] ; (16678 ) - 165f4: fb83 2300 smull r2, r3, r3, r0 - 165f8: 17c2 asrs r2, r0, #31 - 165fa: ebc2 12a3 rsb r2, r2, r3, asr #6 - 165fe: b212 sxth r2, r2 - 16600: e779 b.n 164f6 + 1603c: 2000 movs r0, #0 + 1603e: 4b23 ldr r3, [pc, #140] ; (160cc ) + 16040: 4798 blx r3 + 16042: eb00 0080 add.w r0, r0, r0, lsl #2 + 16046: 0040 lsls r0, r0, #1 + 16048: 3050 adds r0, #80 ; 0x50 + 1604a: 4b21 ldr r3, [pc, #132] ; (160d0 ) + 1604c: fb83 2300 smull r2, r3, r3, r0 + 16050: 17c2 asrs r2, r0, #31 + 16052: ebc2 12a3 rsb r2, r2, r3, asr #6 + 16056: b212 sxth r2, r2 + 16058: e779 b.n 15f4e lv_style_set_margin_right(&styles->slider_bg, LV_STATE_DEFAULT, LV_DPX(10)); - 16602: 2000 movs r0, #0 - 16604: 4b1b ldr r3, [pc, #108] ; (16674 ) - 16606: 4798 blx r3 - 16608: eb00 0080 add.w r0, r0, r0, lsl #2 - 1660c: 0040 lsls r0, r0, #1 - 1660e: 3050 adds r0, #80 ; 0x50 - 16610: 4b19 ldr r3, [pc, #100] ; (16678 ) - 16612: fb83 2300 smull r2, r3, r3, r0 - 16616: 17c2 asrs r2, r0, #31 - 16618: ebc2 12a3 rsb r2, r2, r3, asr #6 - 1661c: b212 sxth r2, r2 - 1661e: e77c b.n 1651a + 1605a: 2000 movs r0, #0 + 1605c: 4b1b ldr r3, [pc, #108] ; (160cc ) + 1605e: 4798 blx r3 + 16060: eb00 0080 add.w r0, r0, r0, lsl #2 + 16064: 0040 lsls r0, r0, #1 + 16066: 3050 adds r0, #80 ; 0x50 + 16068: 4b19 ldr r3, [pc, #100] ; (160d0 ) + 1606a: fb83 2300 smull r2, r3, r3, r0 + 1606e: 17c2 asrs r2, r0, #31 + 16070: ebc2 12a3 rsb r2, r2, r3, asr #6 + 16074: b212 sxth r2, r2 + 16076: e77c b.n 15f72 lv_style_set_margin_top(&styles->slider_bg, LV_STATE_DEFAULT, LV_DPX(10)); - 16620: 2000 movs r0, #0 - 16622: 4b14 ldr r3, [pc, #80] ; (16674 ) - 16624: 4798 blx r3 - 16626: eb00 0080 add.w r0, r0, r0, lsl #2 - 1662a: 0040 lsls r0, r0, #1 - 1662c: 3050 adds r0, #80 ; 0x50 - 1662e: 4b12 ldr r3, [pc, #72] ; (16678 ) - 16630: fb83 2300 smull r2, r3, r3, r0 - 16634: 17c2 asrs r2, r0, #31 - 16636: ebc2 12a3 rsb r2, r2, r3, asr #6 - 1663a: b212 sxth r2, r2 - 1663c: e77f b.n 1653e + 16078: 2000 movs r0, #0 + 1607a: 4b14 ldr r3, [pc, #80] ; (160cc ) + 1607c: 4798 blx r3 + 1607e: eb00 0080 add.w r0, r0, r0, lsl #2 + 16082: 0040 lsls r0, r0, #1 + 16084: 3050 adds r0, #80 ; 0x50 + 16086: 4b12 ldr r3, [pc, #72] ; (160d0 ) + 16088: fb83 2300 smull r2, r3, r3, r0 + 1608c: 17c2 asrs r2, r0, #31 + 1608e: ebc2 12a3 rsb r2, r2, r3, asr #6 + 16092: b212 sxth r2, r2 + 16094: e77f b.n 15f96 lv_style_set_margin_bottom(&styles->slider_bg, LV_STATE_DEFAULT, LV_DPX(10)); - 1663e: 2000 movs r0, #0 - 16640: 4b0c ldr r3, [pc, #48] ; (16674 ) - 16642: 4798 blx r3 - 16644: eb00 0080 add.w r0, r0, r0, lsl #2 - 16648: 0040 lsls r0, r0, #1 - 1664a: 3050 adds r0, #80 ; 0x50 - 1664c: 4b0a ldr r3, [pc, #40] ; (16678 ) - 1664e: fb83 2300 smull r2, r3, r3, r0 - 16652: 17c2 asrs r2, r0, #31 - 16654: ebc2 12a3 rsb r2, r2, r3, asr #6 - 16658: b212 sxth r2, r2 - 1665a: e782 b.n 16562 - 1665c: 20006bd8 .word 0x20006bd8 - 16660: 00015009 .word 0x00015009 - 16664: 00007111 .word 0x00007111 - 16668: 00020a68 .word 0x00020a68 - 1666c: 00006fcd .word 0x00006fcd - 16670: 00006e89 .word 0x00006e89 - 16674: 000114e5 .word 0x000114e5 - 16678: 66666667 .word 0x66666667 - -0001667c : -{ - 1667c: b510 push {r4, lr} + 16096: 2000 movs r0, #0 + 16098: 4b0c ldr r3, [pc, #48] ; (160cc ) + 1609a: 4798 blx r3 + 1609c: eb00 0080 add.w r0, r0, r0, lsl #2 + 160a0: 0040 lsls r0, r0, #1 + 160a2: 3050 adds r0, #80 ; 0x50 + 160a4: 4b0a ldr r3, [pc, #40] ; (160d0 ) + 160a6: fb83 2300 smull r2, r3, r3, r0 + 160aa: 17c2 asrs r2, r0, #31 + 160ac: ebc2 12a3 rsb r2, r2, r3, asr #6 + 160b0: b212 sxth r2, r2 + 160b2: e782 b.n 15fba + 160b4: 20006bd8 .word 0x20006bd8 + 160b8: 00014a61 .word 0x00014a61 + 160bc: 00006b69 .word 0x00006b69 + 160c0: 00029584 .word 0x00029584 + 160c4: 00006a25 .word 0x00006a25 + 160c8: 000068e1 .word 0x000068e1 + 160cc: 00010f3d .word 0x00010f3d + 160d0: 66666667 .word 0x66666667 + +000160d4 : +{ + 160d4: b510 push {r4, lr} style_init_reset(&styles->sw_knob); - 1667e: 4c48 ldr r4, [pc, #288] ; (167a0 ) - 16680: 6820 ldr r0, [r4, #0] - 16682: 309c adds r0, #156 ; 0x9c - 16684: 4b47 ldr r3, [pc, #284] ; (167a4 ) - 16686: 4798 blx r3 + 160d6: 4c48 ldr r4, [pc, #288] ; (161f8 ) + 160d8: 6820 ldr r0, [r4, #0] + 160da: 309c adds r0, #156 ; 0x9c + 160dc: 4b47 ldr r3, [pc, #284] ; (161fc ) + 160de: 4798 blx r3 lv_style_set_bg_opa(&styles->sw_knob, LV_STATE_DEFAULT, LV_OPA_COVER); - 16688: 6820 ldr r0, [r4, #0] + 160e0: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 1668a: 22ff movs r2, #255 ; 0xff - 1668c: 212c movs r1, #44 ; 0x2c - 1668e: 309c adds r0, #156 ; 0x9c - 16690: 4b45 ldr r3, [pc, #276] ; (167a8 ) - 16692: 4798 blx r3 + 160e2: 22ff movs r2, #255 ; 0xff + 160e4: 212c movs r1, #44 ; 0x2c + 160e6: 309c adds r0, #156 ; 0x9c + 160e8: 4b45 ldr r3, [pc, #276] ; (16200 ) + 160ea: 4798 blx r3 lv_style_set_bg_color(&styles->sw_knob, LV_STATE_DEFAULT, LV_COLOR_WHITE); - 16694: 6820 ldr r0, [r4, #0] + 160ec: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 16696: 4b45 ldr r3, [pc, #276] ; (167ac ) - 16698: 881a ldrh r2, [r3, #0] - 1669a: 2129 movs r1, #41 ; 0x29 - 1669c: 309c adds r0, #156 ; 0x9c - 1669e: 4b44 ldr r3, [pc, #272] ; (167b0 ) - 166a0: 4798 blx r3 + 160ee: 4b45 ldr r3, [pc, #276] ; (16204 ) + 160f0: 881a ldrh r2, [r3, #0] + 160f2: 2129 movs r1, #41 ; 0x29 + 160f4: 309c adds r0, #156 ; 0x9c + 160f6: 4b44 ldr r3, [pc, #272] ; (16208 ) + 160f8: 4798 blx r3 lv_style_set_radius(&styles->sw_knob, LV_STATE_DEFAULT, LV_RADIUS_CIRCLE); - 166a2: 6820 ldr r0, [r4, #0] + 160fa: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 166a4: f647 72ff movw r2, #32767 ; 0x7fff - 166a8: 2101 movs r1, #1 - 166aa: 309c adds r0, #156 ; 0x9c - 166ac: 4b41 ldr r3, [pc, #260] ; (167b4 ) - 166ae: 4798 blx r3 + 160fc: f647 72ff movw r2, #32767 ; 0x7fff + 16100: 2101 movs r1, #1 + 16102: 309c adds r0, #156 ; 0x9c + 16104: 4b41 ldr r3, [pc, #260] ; (1620c ) + 16106: 4798 blx r3 lv_style_set_pad_top(&styles->sw_knob, LV_STATE_DEFAULT, - LV_DPX(4)); - 166b0: 6824 ldr r4, [r4, #0] - 166b2: 349c adds r4, #156 ; 0x9c - 166b4: 2000 movs r0, #0 - 166b6: 4b40 ldr r3, [pc, #256] ; (167b8 ) - 166b8: 4798 blx r3 - 166ba: 3014 adds r0, #20 - 166bc: 0080 lsls r0, r0, #2 - 166be: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 166c2: da39 bge.n 16738 - 166c4: f04f 32ff mov.w r2, #4294967295 + 16108: 6824 ldr r4, [r4, #0] + 1610a: 349c adds r4, #156 ; 0x9c + 1610c: 2000 movs r0, #0 + 1610e: 4b40 ldr r3, [pc, #256] ; (16210 ) + 16110: 4798 blx r3 + 16112: 3014 adds r0, #20 + 16114: 0080 lsls r0, r0, #2 + 16116: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 1611a: da39 bge.n 16190 + 1611c: f04f 32ff mov.w r2, #4294967295 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) - 166c8: 2110 movs r1, #16 - 166ca: 4620 mov r0, r4 - 166cc: 4b39 ldr r3, [pc, #228] ; (167b4 ) - 166ce: 4798 blx r3 + 16120: 2110 movs r1, #16 + 16122: 4620 mov r0, r4 + 16124: 4b39 ldr r3, [pc, #228] ; (1620c ) + 16126: 4798 blx r3 lv_style_set_pad_bottom(&styles->sw_knob, LV_STATE_DEFAULT, - LV_DPX(4)); - 166d0: 4b33 ldr r3, [pc, #204] ; (167a0 ) - 166d2: 681c ldr r4, [r3, #0] - 166d4: 349c adds r4, #156 ; 0x9c - 166d6: 2000 movs r0, #0 - 166d8: 4b37 ldr r3, [pc, #220] ; (167b8 ) - 166da: 4798 blx r3 - 166dc: 3014 adds r0, #20 - 166de: 0080 lsls r0, r0, #2 - 166e0: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 166e4: da35 bge.n 16752 - 166e6: f04f 32ff mov.w r2, #4294967295 + 16128: 4b33 ldr r3, [pc, #204] ; (161f8 ) + 1612a: 681c ldr r4, [r3, #0] + 1612c: 349c adds r4, #156 ; 0x9c + 1612e: 2000 movs r0, #0 + 16130: 4b37 ldr r3, [pc, #220] ; (16210 ) + 16132: 4798 blx r3 + 16134: 3014 adds r0, #20 + 16136: 0080 lsls r0, r0, #2 + 16138: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 1613c: da35 bge.n 161aa + 1613e: f04f 32ff mov.w r2, #4294967295 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) - 166ea: 2111 movs r1, #17 - 166ec: 4620 mov r0, r4 - 166ee: 4b31 ldr r3, [pc, #196] ; (167b4 ) - 166f0: 4798 blx r3 + 16142: 2111 movs r1, #17 + 16144: 4620 mov r0, r4 + 16146: 4b31 ldr r3, [pc, #196] ; (1620c ) + 16148: 4798 blx r3 lv_style_set_pad_left(&styles->sw_knob, LV_STATE_DEFAULT, - LV_DPX(4)); - 166f2: 4b2b ldr r3, [pc, #172] ; (167a0 ) - 166f4: 681c ldr r4, [r3, #0] - 166f6: 349c adds r4, #156 ; 0x9c - 166f8: 2000 movs r0, #0 - 166fa: 4b2f ldr r3, [pc, #188] ; (167b8 ) - 166fc: 4798 blx r3 - 166fe: 3014 adds r0, #20 - 16700: 0080 lsls r0, r0, #2 - 16702: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 16706: da31 bge.n 1676c - 16708: f04f 32ff mov.w r2, #4294967295 + 1614a: 4b2b ldr r3, [pc, #172] ; (161f8 ) + 1614c: 681c ldr r4, [r3, #0] + 1614e: 349c adds r4, #156 ; 0x9c + 16150: 2000 movs r0, #0 + 16152: 4b2f ldr r3, [pc, #188] ; (16210 ) + 16154: 4798 blx r3 + 16156: 3014 adds r0, #20 + 16158: 0080 lsls r0, r0, #2 + 1615a: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 1615e: da31 bge.n 161c4 + 16160: f04f 32ff mov.w r2, #4294967295 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 1670c: 2112 movs r1, #18 - 1670e: 4620 mov r0, r4 - 16710: 4b28 ldr r3, [pc, #160] ; (167b4 ) - 16712: 4798 blx r3 + 16164: 2112 movs r1, #18 + 16166: 4620 mov r0, r4 + 16168: 4b28 ldr r3, [pc, #160] ; (1620c ) + 1616a: 4798 blx r3 lv_style_set_pad_right(&styles->sw_knob, LV_STATE_DEFAULT, - LV_DPX(4)); - 16714: 4b22 ldr r3, [pc, #136] ; (167a0 ) - 16716: 681c ldr r4, [r3, #0] - 16718: 349c adds r4, #156 ; 0x9c - 1671a: 2000 movs r0, #0 - 1671c: 4b26 ldr r3, [pc, #152] ; (167b8 ) - 1671e: 4798 blx r3 - 16720: 3014 adds r0, #20 - 16722: 0080 lsls r0, r0, #2 - 16724: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 16728: da2d bge.n 16786 - 1672a: f04f 32ff mov.w r2, #4294967295 + 1616c: 4b22 ldr r3, [pc, #136] ; (161f8 ) + 1616e: 681c ldr r4, [r3, #0] + 16170: 349c adds r4, #156 ; 0x9c + 16172: 2000 movs r0, #0 + 16174: 4b26 ldr r3, [pc, #152] ; (16210 ) + 16176: 4798 blx r3 + 16178: 3014 adds r0, #20 + 1617a: 0080 lsls r0, r0, #2 + 1617c: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 16180: da2d bge.n 161de + 16182: f04f 32ff mov.w r2, #4294967295 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 1672e: 2113 movs r1, #19 - 16730: 4620 mov r0, r4 - 16732: 4b20 ldr r3, [pc, #128] ; (167b4 ) - 16734: 4798 blx r3 - 16736: bd10 pop {r4, pc} + 16186: 2113 movs r1, #19 + 16188: 4620 mov r0, r4 + 1618a: 4b20 ldr r3, [pc, #128] ; (1620c ) + 1618c: 4798 blx r3 + 1618e: bd10 pop {r4, pc} lv_style_set_pad_top(&styles->sw_knob, LV_STATE_DEFAULT, - LV_DPX(4)); - 16738: 2000 movs r0, #0 - 1673a: 4b1f ldr r3, [pc, #124] ; (167b8 ) - 1673c: 4798 blx r3 - 1673e: 3014 adds r0, #20 - 16740: 0080 lsls r0, r0, #2 - 16742: 4b1e ldr r3, [pc, #120] ; (167bc ) - 16744: fb83 2300 smull r2, r3, r3, r0 - 16748: 17c2 asrs r2, r0, #31 - 1674a: eba2 12a3 sub.w r2, r2, r3, asr #6 - 1674e: b212 sxth r2, r2 - 16750: e7ba b.n 166c8 + 16190: 2000 movs r0, #0 + 16192: 4b1f ldr r3, [pc, #124] ; (16210 ) + 16194: 4798 blx r3 + 16196: 3014 adds r0, #20 + 16198: 0080 lsls r0, r0, #2 + 1619a: 4b1e ldr r3, [pc, #120] ; (16214 ) + 1619c: fb83 2300 smull r2, r3, r3, r0 + 161a0: 17c2 asrs r2, r0, #31 + 161a2: eba2 12a3 sub.w r2, r2, r3, asr #6 + 161a6: b212 sxth r2, r2 + 161a8: e7ba b.n 16120 lv_style_set_pad_bottom(&styles->sw_knob, LV_STATE_DEFAULT, - LV_DPX(4)); - 16752: 2000 movs r0, #0 - 16754: 4b18 ldr r3, [pc, #96] ; (167b8 ) - 16756: 4798 blx r3 - 16758: 3014 adds r0, #20 - 1675a: 0080 lsls r0, r0, #2 - 1675c: 4b17 ldr r3, [pc, #92] ; (167bc ) - 1675e: fb83 2300 smull r2, r3, r3, r0 - 16762: 17c2 asrs r2, r0, #31 - 16764: eba2 12a3 sub.w r2, r2, r3, asr #6 - 16768: b212 sxth r2, r2 - 1676a: e7be b.n 166ea + 161aa: 2000 movs r0, #0 + 161ac: 4b18 ldr r3, [pc, #96] ; (16210 ) + 161ae: 4798 blx r3 + 161b0: 3014 adds r0, #20 + 161b2: 0080 lsls r0, r0, #2 + 161b4: 4b17 ldr r3, [pc, #92] ; (16214 ) + 161b6: fb83 2300 smull r2, r3, r3, r0 + 161ba: 17c2 asrs r2, r0, #31 + 161bc: eba2 12a3 sub.w r2, r2, r3, asr #6 + 161c0: b212 sxth r2, r2 + 161c2: e7be b.n 16142 lv_style_set_pad_left(&styles->sw_knob, LV_STATE_DEFAULT, - LV_DPX(4)); - 1676c: 2000 movs r0, #0 - 1676e: 4b12 ldr r3, [pc, #72] ; (167b8 ) - 16770: 4798 blx r3 - 16772: 3014 adds r0, #20 - 16774: 0080 lsls r0, r0, #2 - 16776: 4b11 ldr r3, [pc, #68] ; (167bc ) - 16778: fb83 2300 smull r2, r3, r3, r0 - 1677c: 17c2 asrs r2, r0, #31 - 1677e: eba2 12a3 sub.w r2, r2, r3, asr #6 - 16782: b212 sxth r2, r2 - 16784: e7c2 b.n 1670c + 161c4: 2000 movs r0, #0 + 161c6: 4b12 ldr r3, [pc, #72] ; (16210 ) + 161c8: 4798 blx r3 + 161ca: 3014 adds r0, #20 + 161cc: 0080 lsls r0, r0, #2 + 161ce: 4b11 ldr r3, [pc, #68] ; (16214 ) + 161d0: fb83 2300 smull r2, r3, r3, r0 + 161d4: 17c2 asrs r2, r0, #31 + 161d6: eba2 12a3 sub.w r2, r2, r3, asr #6 + 161da: b212 sxth r2, r2 + 161dc: e7c2 b.n 16164 lv_style_set_pad_right(&styles->sw_knob, LV_STATE_DEFAULT, - LV_DPX(4)); - 16786: 2000 movs r0, #0 - 16788: 4b0b ldr r3, [pc, #44] ; (167b8 ) - 1678a: 4798 blx r3 - 1678c: 3014 adds r0, #20 - 1678e: 0080 lsls r0, r0, #2 - 16790: 4b0a ldr r3, [pc, #40] ; (167bc ) - 16792: fb83 2300 smull r2, r3, r3, r0 - 16796: 17c2 asrs r2, r0, #31 - 16798: eba2 12a3 sub.w r2, r2, r3, asr #6 - 1679c: b212 sxth r2, r2 - 1679e: e7c6 b.n 1672e - 167a0: 20006bd8 .word 0x20006bd8 - 167a4: 00015009 .word 0x00015009 - 167a8: 00007111 .word 0x00007111 - 167ac: 00020a68 .word 0x00020a68 - 167b0: 00006fcd .word 0x00006fcd - 167b4: 00006e89 .word 0x00006e89 - 167b8: 000114e5 .word 0x000114e5 - 167bc: 66666667 .word 0x66666667 - -000167c0 : -{ - 167c0: b538 push {r3, r4, r5, lr} + 161de: 2000 movs r0, #0 + 161e0: 4b0b ldr r3, [pc, #44] ; (16210 ) + 161e2: 4798 blx r3 + 161e4: 3014 adds r0, #20 + 161e6: 0080 lsls r0, r0, #2 + 161e8: 4b0a ldr r3, [pc, #40] ; (16214 ) + 161ea: fb83 2300 smull r2, r3, r3, r0 + 161ee: 17c2 asrs r2, r0, #31 + 161f0: eba2 12a3 sub.w r2, r2, r3, asr #6 + 161f4: b212 sxth r2, r2 + 161f6: e7c6 b.n 16186 + 161f8: 20006bd8 .word 0x20006bd8 + 161fc: 00014a61 .word 0x00014a61 + 16200: 00006b69 .word 0x00006b69 + 16204: 00029584 .word 0x00029584 + 16208: 00006a25 .word 0x00006a25 + 1620c: 000068e1 .word 0x000068e1 + 16210: 00010f3d .word 0x00010f3d + 16214: 66666667 .word 0x66666667 + +00016218 : +{ + 16218: b538 push {r3, r4, r5, lr} style_init_reset(&styles->lmeter); - 167c2: 4c88 ldr r4, [pc, #544] ; (169e4 ) - 167c4: 6820 ldr r0, [r4, #0] - 167c6: 3070 adds r0, #112 ; 0x70 - 167c8: 4b87 ldr r3, [pc, #540] ; (169e8 ) - 167ca: 4798 blx r3 + 1621a: 4c88 ldr r4, [pc, #544] ; (1643c ) + 1621c: 6820 ldr r0, [r4, #0] + 1621e: 3070 adds r0, #112 ; 0x70 + 16220: 4b87 ldr r3, [pc, #540] ; (16440 ) + 16222: 4798 blx r3 lv_style_set_radius(&styles->lmeter, LV_STATE_DEFAULT, LV_RADIUS_CIRCLE); - 167cc: 6820 ldr r0, [r4, #0] + 16224: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 167ce: f647 72ff movw r2, #32767 ; 0x7fff - 167d2: 2101 movs r1, #1 - 167d4: 3070 adds r0, #112 ; 0x70 - 167d6: 4b85 ldr r3, [pc, #532] ; (169ec ) - 167d8: 4798 blx r3 + 16226: f647 72ff movw r2, #32767 ; 0x7fff + 1622a: 2101 movs r1, #1 + 1622c: 3070 adds r0, #112 ; 0x70 + 1622e: 4b85 ldr r3, [pc, #532] ; (16444 ) + 16230: 4798 blx r3 lv_style_set_pad_left(&styles->lmeter, LV_STATE_DEFAULT, LV_DPX(20)); - 167da: 6824 ldr r4, [r4, #0] - 167dc: 3470 adds r4, #112 ; 0x70 - 167de: 2000 movs r0, #0 - 167e0: 4b83 ldr r3, [pc, #524] ; (169f0 ) - 167e2: 4798 blx r3 - 167e4: eb00 0080 add.w r0, r0, r0, lsl #2 - 167e8: 0080 lsls r0, r0, #2 - 167ea: 3050 adds r0, #80 ; 0x50 - 167ec: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 167f0: f280 808e bge.w 16910 - 167f4: 2201 movs r2, #1 + 16232: 6824 ldr r4, [r4, #0] + 16234: 3470 adds r4, #112 ; 0x70 + 16236: 2000 movs r0, #0 + 16238: 4b83 ldr r3, [pc, #524] ; (16448 ) + 1623a: 4798 blx r3 + 1623c: eb00 0080 add.w r0, r0, r0, lsl #2 + 16240: 0080 lsls r0, r0, #2 + 16242: 3050 adds r0, #80 ; 0x50 + 16244: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 16248: f280 808e bge.w 16368 + 1624c: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 167f6: 2112 movs r1, #18 - 167f8: 4620 mov r0, r4 - 167fa: 4b7c ldr r3, [pc, #496] ; (169ec ) - 167fc: 4798 blx r3 + 1624e: 2112 movs r1, #18 + 16250: 4620 mov r0, r4 + 16252: 4b7c ldr r3, [pc, #496] ; (16444 ) + 16254: 4798 blx r3 lv_style_set_pad_right(&styles->lmeter, LV_STATE_DEFAULT, LV_DPX(20)); - 167fe: 4b79 ldr r3, [pc, #484] ; (169e4 ) - 16800: 681c ldr r4, [r3, #0] - 16802: 3470 adds r4, #112 ; 0x70 - 16804: 2000 movs r0, #0 - 16806: 4b7a ldr r3, [pc, #488] ; (169f0 ) - 16808: 4798 blx r3 - 1680a: eb00 0080 add.w r0, r0, r0, lsl #2 - 1680e: 0080 lsls r0, r0, #2 - 16810: 3050 adds r0, #80 ; 0x50 - 16812: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 16816: f280 808a bge.w 1692e - 1681a: 2201 movs r2, #1 + 16256: 4b79 ldr r3, [pc, #484] ; (1643c ) + 16258: 681c ldr r4, [r3, #0] + 1625a: 3470 adds r4, #112 ; 0x70 + 1625c: 2000 movs r0, #0 + 1625e: 4b7a ldr r3, [pc, #488] ; (16448 ) + 16260: 4798 blx r3 + 16262: eb00 0080 add.w r0, r0, r0, lsl #2 + 16266: 0080 lsls r0, r0, #2 + 16268: 3050 adds r0, #80 ; 0x50 + 1626a: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 1626e: f280 808a bge.w 16386 + 16272: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 1681c: 2113 movs r1, #19 - 1681e: 4620 mov r0, r4 - 16820: 4b72 ldr r3, [pc, #456] ; (169ec ) - 16822: 4798 blx r3 + 16274: 2113 movs r1, #19 + 16276: 4620 mov r0, r4 + 16278: 4b72 ldr r3, [pc, #456] ; (16444 ) + 1627a: 4798 blx r3 lv_style_set_pad_top(&styles->lmeter, LV_STATE_DEFAULT, LV_DPX(20)); - 16824: 4b6f ldr r3, [pc, #444] ; (169e4 ) - 16826: 681c ldr r4, [r3, #0] - 16828: 3470 adds r4, #112 ; 0x70 - 1682a: 2000 movs r0, #0 - 1682c: 4b70 ldr r3, [pc, #448] ; (169f0 ) - 1682e: 4798 blx r3 - 16830: eb00 0080 add.w r0, r0, r0, lsl #2 - 16834: 0080 lsls r0, r0, #2 - 16836: 3050 adds r0, #80 ; 0x50 - 16838: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 1683c: f280 8086 bge.w 1694c - 16840: 2201 movs r2, #1 + 1627c: 4b6f ldr r3, [pc, #444] ; (1643c ) + 1627e: 681c ldr r4, [r3, #0] + 16280: 3470 adds r4, #112 ; 0x70 + 16282: 2000 movs r0, #0 + 16284: 4b70 ldr r3, [pc, #448] ; (16448 ) + 16286: 4798 blx r3 + 16288: eb00 0080 add.w r0, r0, r0, lsl #2 + 1628c: 0080 lsls r0, r0, #2 + 1628e: 3050 adds r0, #80 ; 0x50 + 16290: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 16294: f280 8086 bge.w 163a4 + 16298: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) - 16842: 2110 movs r1, #16 - 16844: 4620 mov r0, r4 - 16846: 4b69 ldr r3, [pc, #420] ; (169ec ) - 16848: 4798 blx r3 + 1629a: 2110 movs r1, #16 + 1629c: 4620 mov r0, r4 + 1629e: 4b69 ldr r3, [pc, #420] ; (16444 ) + 162a0: 4798 blx r3 lv_style_set_pad_inner(&styles->lmeter, LV_STATE_DEFAULT, LV_DPX(30)); - 1684a: 4b66 ldr r3, [pc, #408] ; (169e4 ) - 1684c: 681c ldr r4, [r3, #0] - 1684e: 3470 adds r4, #112 ; 0x70 - 16850: 2000 movs r0, #0 - 16852: 4b67 ldr r3, [pc, #412] ; (169f0 ) - 16854: 4798 blx r3 - 16856: ebc0 1000 rsb r0, r0, r0, lsl #4 - 1685a: 0040 lsls r0, r0, #1 - 1685c: 3050 adds r0, #80 ; 0x50 - 1685e: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 16862: f280 8082 bge.w 1696a - 16866: 2201 movs r2, #1 + 162a2: 4b66 ldr r3, [pc, #408] ; (1643c ) + 162a4: 681c ldr r4, [r3, #0] + 162a6: 3470 adds r4, #112 ; 0x70 + 162a8: 2000 movs r0, #0 + 162aa: 4b67 ldr r3, [pc, #412] ; (16448 ) + 162ac: 4798 blx r3 + 162ae: ebc0 1000 rsb r0, r0, r0, lsl #4 + 162b2: 0040 lsls r0, r0, #1 + 162b4: 3050 adds r0, #80 ; 0x50 + 162b6: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 162ba: f280 8082 bge.w 163c2 + 162be: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_INNER, pad_inner, lv_style_int_t, _int, scalar) - 16868: 2114 movs r1, #20 - 1686a: 4620 mov r0, r4 - 1686c: 4b5f ldr r3, [pc, #380] ; (169ec ) - 1686e: 4798 blx r3 + 162c0: 2114 movs r1, #20 + 162c2: 4620 mov r0, r4 + 162c4: 4b5f ldr r3, [pc, #380] ; (16444 ) + 162c6: 4798 blx r3 lv_style_set_scale_width(&styles->lmeter, LV_STATE_DEFAULT, LV_DPX(25)); - 16870: 4b5c ldr r3, [pc, #368] ; (169e4 ) - 16872: 681c ldr r4, [r3, #0] - 16874: 3470 adds r4, #112 ; 0x70 - 16876: 2000 movs r0, #0 - 16878: 4b5d ldr r3, [pc, #372] ; (169f0 ) - 1687a: 4798 blx r3 - 1687c: eb00 0080 add.w r0, r0, r0, lsl #2 - 16880: eb00 0080 add.w r0, r0, r0, lsl #2 - 16884: 3050 adds r0, #80 ; 0x50 - 16886: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 1688a: da7d bge.n 16988 - 1688c: 2201 movs r2, #1 + 162c8: 4b5c ldr r3, [pc, #368] ; (1643c ) + 162ca: 681c ldr r4, [r3, #0] + 162cc: 3470 adds r4, #112 ; 0x70 + 162ce: 2000 movs r0, #0 + 162d0: 4b5d ldr r3, [pc, #372] ; (16448 ) + 162d2: 4798 blx r3 + 162d4: eb00 0080 add.w r0, r0, r0, lsl #2 + 162d8: eb00 0080 add.w r0, r0, r0, lsl #2 + 162dc: 3050 adds r0, #80 ; 0x50 + 162de: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 162e2: da7d bge.n 163e0 + 162e4: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PATH, transition_path, lv_anim_path_t *, _ptr, scalar) #else /*For compatibility*/ _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PATH, transition_path, const void *, _ptr, scalar) #endif _LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_WIDTH, scale_width, lv_style_int_t, _int, scalar) - 1688e: 21c0 movs r1, #192 ; 0xc0 - 16890: 4620 mov r0, r4 - 16892: 4b56 ldr r3, [pc, #344] ; (169ec ) - 16894: 4798 blx r3 + 162e6: 21c0 movs r1, #192 ; 0xc0 + 162e8: 4620 mov r0, r4 + 162ea: 4b56 ldr r3, [pc, #344] ; (16444 ) + 162ec: 4798 blx r3 lv_style_set_line_color(&styles->lmeter, LV_STATE_DEFAULT, theme.color_primary); - 16896: 4c53 ldr r4, [pc, #332] ; (169e4 ) - 16898: 6820 ldr r0, [r4, #0] + 162ee: 4c53 ldr r4, [pc, #332] ; (1643c ) + 162f0: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_COLOR, line_color, lv_color_t, _color, nonscalar) - 1689a: 89a2 ldrh r2, [r4, #12] - 1689c: 2199 movs r1, #153 ; 0x99 - 1689e: 3070 adds r0, #112 ; 0x70 - 168a0: 4d54 ldr r5, [pc, #336] ; (169f4 ) - 168a2: 47a8 blx r5 + 162f2: 89a2 ldrh r2, [r4, #12] + 162f4: 2199 movs r1, #153 ; 0x99 + 162f6: 3070 adds r0, #112 ; 0x70 + 162f8: 4d54 ldr r5, [pc, #336] ; (1644c ) + 162fa: 47a8 blx r5 lv_style_set_scale_grad_color(&styles->lmeter, LV_STATE_DEFAULT, theme.color_primary); - 168a4: 6820 ldr r0, [r4, #0] + 162fc: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_BORDER_WIDTH, scale_border_width, lv_style_int_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_END_BORDER_WIDTH, scale_end_border_width, lv_style_int_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_END_LINE_WIDTH, scale_end_line_width, lv_style_int_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_GRAD_COLOR, scale_grad_color, lv_color_t, _color, nonscalar) - 168a6: 89a2 ldrh r2, [r4, #12] - 168a8: 21c9 movs r1, #201 ; 0xc9 - 168aa: 3070 adds r0, #112 ; 0x70 - 168ac: 47a8 blx r5 + 162fe: 89a2 ldrh r2, [r4, #12] + 16300: 21c9 movs r1, #201 ; 0xc9 + 16302: 3070 adds r0, #112 ; 0x70 + 16304: 47a8 blx r5 lv_style_set_scale_end_color(&styles->lmeter, LV_STATE_DEFAULT, lv_color_hex3(0x888)); - 168ae: 6820 ldr r0, [r4, #0] - 168b0: 2311 movs r3, #17 - 168b2: f04f 0200 mov.w r2, #0 - 168b6: f363 0204 bfi r2, r3, #0, #5 - 168ba: 2122 movs r1, #34 ; 0x22 - 168bc: f361 124a bfi r2, r1, #5, #6 - 168c0: f363 22cf bfi r2, r3, #11, #5 + 16306: 6820 ldr r0, [r4, #0] + 16308: 2311 movs r3, #17 + 1630a: f04f 0200 mov.w r2, #0 + 1630e: f363 0204 bfi r2, r3, #0, #5 + 16312: 2122 movs r1, #34 ; 0x22 + 16314: f361 124a bfi r2, r1, #5, #6 + 16318: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_END_COLOR, scale_end_color, lv_color_t, _color, nonscalar) - 168c4: 21ca movs r1, #202 ; 0xca - 168c6: 3070 adds r0, #112 ; 0x70 - 168c8: 47a8 blx r5 + 1631c: 21ca movs r1, #202 ; 0xca + 1631e: 3070 adds r0, #112 ; 0x70 + 16320: 47a8 blx r5 lv_style_set_line_width(&styles->lmeter, LV_STATE_DEFAULT, LV_DPX(10)); - 168ca: 6824 ldr r4, [r4, #0] - 168cc: 3470 adds r4, #112 ; 0x70 - 168ce: 2000 movs r0, #0 - 168d0: 4b47 ldr r3, [pc, #284] ; (169f0 ) - 168d2: 4798 blx r3 - 168d4: eb00 0080 add.w r0, r0, r0, lsl #2 - 168d8: 0040 lsls r0, r0, #1 - 168da: 3050 adds r0, #80 ; 0x50 - 168dc: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 168e0: da62 bge.n 169a8 - 168e2: 2201 movs r2, #1 + 16322: 6824 ldr r4, [r4, #0] + 16324: 3470 adds r4, #112 ; 0x70 + 16326: 2000 movs r0, #0 + 16328: 4b47 ldr r3, [pc, #284] ; (16448 ) + 1632a: 4798 blx r3 + 1632c: eb00 0080 add.w r0, r0, r0, lsl #2 + 16330: 0040 lsls r0, r0, #1 + 16332: 3050 adds r0, #80 ; 0x50 + 16334: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 16338: da62 bge.n 16400 + 1633a: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_WIDTH, line_width, lv_style_int_t, _int, scalar) - 168e4: 2190 movs r1, #144 ; 0x90 - 168e6: 4620 mov r0, r4 - 168e8: 4b40 ldr r3, [pc, #256] ; (169ec ) - 168ea: 4798 blx r3 + 1633c: 2190 movs r1, #144 ; 0x90 + 1633e: 4620 mov r0, r4 + 16340: 4b40 ldr r3, [pc, #256] ; (16444 ) + 16342: 4798 blx r3 lv_style_set_scale_end_line_width(&styles->lmeter, LV_STATE_DEFAULT, LV_DPX(7)); - 168ec: 4b3d ldr r3, [pc, #244] ; (169e4 ) - 168ee: 681c ldr r4, [r3, #0] - 168f0: 3470 adds r4, #112 ; 0x70 - 168f2: 2000 movs r0, #0 - 168f4: 4b3e ldr r3, [pc, #248] ; (169f0 ) - 168f6: 4798 blx r3 - 168f8: ebc0 00c0 rsb r0, r0, r0, lsl #3 - 168fc: 3050 adds r0, #80 ; 0x50 - 168fe: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 16902: da60 bge.n 169c6 - 16904: 2201 movs r2, #1 + 16344: 4b3d ldr r3, [pc, #244] ; (1643c ) + 16346: 681c ldr r4, [r3, #0] + 16348: 3470 adds r4, #112 ; 0x70 + 1634a: 2000 movs r0, #0 + 1634c: 4b3e ldr r3, [pc, #248] ; (16448 ) + 1634e: 4798 blx r3 + 16350: ebc0 00c0 rsb r0, r0, r0, lsl #3 + 16354: 3050 adds r0, #80 ; 0x50 + 16356: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 1635a: da60 bge.n 1641e + 1635c: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_END_LINE_WIDTH, scale_end_line_width, lv_style_int_t, _int, scalar) - 16906: 21c3 movs r1, #195 ; 0xc3 - 16908: 4620 mov r0, r4 - 1690a: 4b38 ldr r3, [pc, #224] ; (169ec ) - 1690c: 4798 blx r3 - 1690e: bd38 pop {r3, r4, r5, pc} + 1635e: 21c3 movs r1, #195 ; 0xc3 + 16360: 4620 mov r0, r4 + 16362: 4b38 ldr r3, [pc, #224] ; (16444 ) + 16364: 4798 blx r3 + 16366: bd38 pop {r3, r4, r5, pc} lv_style_set_pad_left(&styles->lmeter, LV_STATE_DEFAULT, LV_DPX(20)); - 16910: 2000 movs r0, #0 - 16912: 4b37 ldr r3, [pc, #220] ; (169f0 ) - 16914: 4798 blx r3 - 16916: eb00 0080 add.w r0, r0, r0, lsl #2 - 1691a: 0080 lsls r0, r0, #2 - 1691c: 3050 adds r0, #80 ; 0x50 - 1691e: 4b36 ldr r3, [pc, #216] ; (169f8 ) - 16920: fb83 2300 smull r2, r3, r3, r0 - 16924: 17c2 asrs r2, r0, #31 - 16926: ebc2 12a3 rsb r2, r2, r3, asr #6 - 1692a: b212 sxth r2, r2 - 1692c: e763 b.n 167f6 + 16368: 2000 movs r0, #0 + 1636a: 4b37 ldr r3, [pc, #220] ; (16448 ) + 1636c: 4798 blx r3 + 1636e: eb00 0080 add.w r0, r0, r0, lsl #2 + 16372: 0080 lsls r0, r0, #2 + 16374: 3050 adds r0, #80 ; 0x50 + 16376: 4b36 ldr r3, [pc, #216] ; (16450 ) + 16378: fb83 2300 smull r2, r3, r3, r0 + 1637c: 17c2 asrs r2, r0, #31 + 1637e: ebc2 12a3 rsb r2, r2, r3, asr #6 + 16382: b212 sxth r2, r2 + 16384: e763 b.n 1624e lv_style_set_pad_right(&styles->lmeter, LV_STATE_DEFAULT, LV_DPX(20)); - 1692e: 2000 movs r0, #0 - 16930: 4b2f ldr r3, [pc, #188] ; (169f0 ) - 16932: 4798 blx r3 - 16934: eb00 0080 add.w r0, r0, r0, lsl #2 - 16938: 0080 lsls r0, r0, #2 - 1693a: 3050 adds r0, #80 ; 0x50 - 1693c: 4b2e ldr r3, [pc, #184] ; (169f8 ) - 1693e: fb83 2300 smull r2, r3, r3, r0 - 16942: 17c2 asrs r2, r0, #31 - 16944: ebc2 12a3 rsb r2, r2, r3, asr #6 - 16948: b212 sxth r2, r2 - 1694a: e767 b.n 1681c + 16386: 2000 movs r0, #0 + 16388: 4b2f ldr r3, [pc, #188] ; (16448 ) + 1638a: 4798 blx r3 + 1638c: eb00 0080 add.w r0, r0, r0, lsl #2 + 16390: 0080 lsls r0, r0, #2 + 16392: 3050 adds r0, #80 ; 0x50 + 16394: 4b2e ldr r3, [pc, #184] ; (16450 ) + 16396: fb83 2300 smull r2, r3, r3, r0 + 1639a: 17c2 asrs r2, r0, #31 + 1639c: ebc2 12a3 rsb r2, r2, r3, asr #6 + 163a0: b212 sxth r2, r2 + 163a2: e767 b.n 16274 lv_style_set_pad_top(&styles->lmeter, LV_STATE_DEFAULT, LV_DPX(20)); - 1694c: 2000 movs r0, #0 - 1694e: 4b28 ldr r3, [pc, #160] ; (169f0 ) - 16950: 4798 blx r3 - 16952: eb00 0080 add.w r0, r0, r0, lsl #2 - 16956: 0080 lsls r0, r0, #2 - 16958: 3050 adds r0, #80 ; 0x50 - 1695a: 4b27 ldr r3, [pc, #156] ; (169f8 ) - 1695c: fb83 2300 smull r2, r3, r3, r0 - 16960: 17c2 asrs r2, r0, #31 - 16962: ebc2 12a3 rsb r2, r2, r3, asr #6 - 16966: b212 sxth r2, r2 - 16968: e76b b.n 16842 + 163a4: 2000 movs r0, #0 + 163a6: 4b28 ldr r3, [pc, #160] ; (16448 ) + 163a8: 4798 blx r3 + 163aa: eb00 0080 add.w r0, r0, r0, lsl #2 + 163ae: 0080 lsls r0, r0, #2 + 163b0: 3050 adds r0, #80 ; 0x50 + 163b2: 4b27 ldr r3, [pc, #156] ; (16450 ) + 163b4: fb83 2300 smull r2, r3, r3, r0 + 163b8: 17c2 asrs r2, r0, #31 + 163ba: ebc2 12a3 rsb r2, r2, r3, asr #6 + 163be: b212 sxth r2, r2 + 163c0: e76b b.n 1629a lv_style_set_pad_inner(&styles->lmeter, LV_STATE_DEFAULT, LV_DPX(30)); - 1696a: 2000 movs r0, #0 - 1696c: 4b20 ldr r3, [pc, #128] ; (169f0 ) - 1696e: 4798 blx r3 - 16970: ebc0 1000 rsb r0, r0, r0, lsl #4 - 16974: 0040 lsls r0, r0, #1 - 16976: 3050 adds r0, #80 ; 0x50 - 16978: 4b1f ldr r3, [pc, #124] ; (169f8 ) - 1697a: fb83 2300 smull r2, r3, r3, r0 - 1697e: 17c2 asrs r2, r0, #31 - 16980: ebc2 12a3 rsb r2, r2, r3, asr #6 - 16984: b212 sxth r2, r2 - 16986: e76f b.n 16868 + 163c2: 2000 movs r0, #0 + 163c4: 4b20 ldr r3, [pc, #128] ; (16448 ) + 163c6: 4798 blx r3 + 163c8: ebc0 1000 rsb r0, r0, r0, lsl #4 + 163cc: 0040 lsls r0, r0, #1 + 163ce: 3050 adds r0, #80 ; 0x50 + 163d0: 4b1f ldr r3, [pc, #124] ; (16450 ) + 163d2: fb83 2300 smull r2, r3, r3, r0 + 163d6: 17c2 asrs r2, r0, #31 + 163d8: ebc2 12a3 rsb r2, r2, r3, asr #6 + 163dc: b212 sxth r2, r2 + 163de: e76f b.n 162c0 lv_style_set_scale_width(&styles->lmeter, LV_STATE_DEFAULT, LV_DPX(25)); - 16988: 2000 movs r0, #0 - 1698a: 4b19 ldr r3, [pc, #100] ; (169f0 ) - 1698c: 4798 blx r3 - 1698e: eb00 0080 add.w r0, r0, r0, lsl #2 - 16992: eb00 0080 add.w r0, r0, r0, lsl #2 - 16996: 3050 adds r0, #80 ; 0x50 - 16998: 4b17 ldr r3, [pc, #92] ; (169f8 ) - 1699a: fb83 2300 smull r2, r3, r3, r0 - 1699e: 17c2 asrs r2, r0, #31 - 169a0: ebc2 12a3 rsb r2, r2, r3, asr #6 - 169a4: b212 sxth r2, r2 - 169a6: e772 b.n 1688e + 163e0: 2000 movs r0, #0 + 163e2: 4b19 ldr r3, [pc, #100] ; (16448 ) + 163e4: 4798 blx r3 + 163e6: eb00 0080 add.w r0, r0, r0, lsl #2 + 163ea: eb00 0080 add.w r0, r0, r0, lsl #2 + 163ee: 3050 adds r0, #80 ; 0x50 + 163f0: 4b17 ldr r3, [pc, #92] ; (16450 ) + 163f2: fb83 2300 smull r2, r3, r3, r0 + 163f6: 17c2 asrs r2, r0, #31 + 163f8: ebc2 12a3 rsb r2, r2, r3, asr #6 + 163fc: b212 sxth r2, r2 + 163fe: e772 b.n 162e6 lv_style_set_line_width(&styles->lmeter, LV_STATE_DEFAULT, LV_DPX(10)); - 169a8: 2000 movs r0, #0 - 169aa: 4b11 ldr r3, [pc, #68] ; (169f0 ) - 169ac: 4798 blx r3 - 169ae: eb00 0080 add.w r0, r0, r0, lsl #2 - 169b2: 0040 lsls r0, r0, #1 - 169b4: 3050 adds r0, #80 ; 0x50 - 169b6: 4b10 ldr r3, [pc, #64] ; (169f8 ) - 169b8: fb83 2300 smull r2, r3, r3, r0 - 169bc: 17c2 asrs r2, r0, #31 - 169be: ebc2 12a3 rsb r2, r2, r3, asr #6 - 169c2: b212 sxth r2, r2 - 169c4: e78e b.n 168e4 + 16400: 2000 movs r0, #0 + 16402: 4b11 ldr r3, [pc, #68] ; (16448 ) + 16404: 4798 blx r3 + 16406: eb00 0080 add.w r0, r0, r0, lsl #2 + 1640a: 0040 lsls r0, r0, #1 + 1640c: 3050 adds r0, #80 ; 0x50 + 1640e: 4b10 ldr r3, [pc, #64] ; (16450 ) + 16410: fb83 2300 smull r2, r3, r3, r0 + 16414: 17c2 asrs r2, r0, #31 + 16416: ebc2 12a3 rsb r2, r2, r3, asr #6 + 1641a: b212 sxth r2, r2 + 1641c: e78e b.n 1633c lv_style_set_scale_end_line_width(&styles->lmeter, LV_STATE_DEFAULT, LV_DPX(7)); - 169c6: 2000 movs r0, #0 - 169c8: 4b09 ldr r3, [pc, #36] ; (169f0 ) - 169ca: 4798 blx r3 - 169cc: ebc0 00c0 rsb r0, r0, r0, lsl #3 - 169d0: 3050 adds r0, #80 ; 0x50 - 169d2: 4b09 ldr r3, [pc, #36] ; (169f8 ) - 169d4: fb83 2300 smull r2, r3, r3, r0 - 169d8: 17c2 asrs r2, r0, #31 - 169da: ebc2 12a3 rsb r2, r2, r3, asr #6 - 169de: b212 sxth r2, r2 - 169e0: e791 b.n 16906 - 169e2: bf00 nop - 169e4: 20006bd8 .word 0x20006bd8 - 169e8: 00015009 .word 0x00015009 - 169ec: 00006e89 .word 0x00006e89 - 169f0: 000114e5 .word 0x000114e5 - 169f4: 00006fcd .word 0x00006fcd - 169f8: 66666667 .word 0x66666667 - -000169fc : -{ - 169fc: b5f8 push {r3, r4, r5, r6, r7, lr} + 1641e: 2000 movs r0, #0 + 16420: 4b09 ldr r3, [pc, #36] ; (16448 ) + 16422: 4798 blx r3 + 16424: ebc0 00c0 rsb r0, r0, r0, lsl #3 + 16428: 3050 adds r0, #80 ; 0x50 + 1642a: 4b09 ldr r3, [pc, #36] ; (16450 ) + 1642c: fb83 2300 smull r2, r3, r3, r0 + 16430: 17c2 asrs r2, r0, #31 + 16432: ebc2 12a3 rsb r2, r2, r3, asr #6 + 16436: b212 sxth r2, r2 + 16438: e791 b.n 1635e + 1643a: bf00 nop + 1643c: 20006bd8 .word 0x20006bd8 + 16440: 00014a61 .word 0x00014a61 + 16444: 000068e1 .word 0x000068e1 + 16448: 00010f3d .word 0x00010f3d + 1644c: 00006a25 .word 0x00006a25 + 16450: 66666667 .word 0x66666667 + +00016454 : +{ + 16454: b5f8 push {r3, r4, r5, r6, r7, lr} style_init_reset(&styles->gauge_main); - 169fe: 4cc0 ldr r4, [pc, #768] ; (16d00 ) - 16a00: 6820 ldr r0, [r4, #0] - 16a02: 305c adds r0, #92 ; 0x5c - 16a04: 4bbf ldr r3, [pc, #764] ; (16d04 ) - 16a06: 4798 blx r3 + 16456: 4cc0 ldr r4, [pc, #768] ; (16758 ) + 16458: 6820 ldr r0, [r4, #0] + 1645a: 305c adds r0, #92 ; 0x5c + 1645c: 4bbf ldr r3, [pc, #764] ; (1675c ) + 1645e: 4798 blx r3 lv_style_set_line_color(&styles->gauge_main, LV_STATE_DEFAULT, lv_color_hex3(0x888)); - 16a08: 6820 ldr r0, [r4, #0] - 16a0a: 2511 movs r5, #17 - 16a0c: f04f 0200 mov.w r2, #0 - 16a10: f365 0204 bfi r2, r5, #0, #5 - 16a14: 2722 movs r7, #34 ; 0x22 - 16a16: f367 124a bfi r2, r7, #5, #6 - 16a1a: f365 22cf bfi r2, r5, #11, #5 + 16460: 6820 ldr r0, [r4, #0] + 16462: 2511 movs r5, #17 + 16464: f04f 0200 mov.w r2, #0 + 16468: f365 0204 bfi r2, r5, #0, #5 + 1646c: 2722 movs r7, #34 ; 0x22 + 1646e: f367 124a bfi r2, r7, #5, #6 + 16472: f365 22cf bfi r2, r5, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_COLOR, line_color, lv_color_t, _color, nonscalar) - 16a1e: 2199 movs r1, #153 ; 0x99 - 16a20: 305c adds r0, #92 ; 0x5c - 16a22: 4eb9 ldr r6, [pc, #740] ; (16d08 ) - 16a24: 47b0 blx r6 + 16476: 2199 movs r1, #153 ; 0x99 + 16478: 305c adds r0, #92 ; 0x5c + 1647a: 4eb9 ldr r6, [pc, #740] ; (16760 ) + 1647c: 47b0 blx r6 lv_style_set_scale_grad_color(&styles->gauge_main, LV_STATE_DEFAULT, lv_color_hex3(0x888)); - 16a26: 6820 ldr r0, [r4, #0] - 16a28: f04f 0200 mov.w r2, #0 - 16a2c: f365 0204 bfi r2, r5, #0, #5 - 16a30: f367 124a bfi r2, r7, #5, #6 - 16a34: f365 22cf bfi r2, r5, #11, #5 + 1647e: 6820 ldr r0, [r4, #0] + 16480: f04f 0200 mov.w r2, #0 + 16484: f365 0204 bfi r2, r5, #0, #5 + 16488: f367 124a bfi r2, r7, #5, #6 + 1648c: f365 22cf bfi r2, r5, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_GRAD_COLOR, scale_grad_color, lv_color_t, _color, nonscalar) - 16a38: 21c9 movs r1, #201 ; 0xc9 - 16a3a: 305c adds r0, #92 ; 0x5c - 16a3c: 47b0 blx r6 + 16490: 21c9 movs r1, #201 ; 0xc9 + 16492: 305c adds r0, #92 ; 0x5c + 16494: 47b0 blx r6 lv_style_set_scale_end_color(&styles->gauge_main, LV_STATE_DEFAULT, theme.color_primary); - 16a3e: 6820 ldr r0, [r4, #0] + 16496: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_END_COLOR, scale_end_color, lv_color_t, _color, nonscalar) - 16a40: 89a2 ldrh r2, [r4, #12] - 16a42: 21ca movs r1, #202 ; 0xca - 16a44: 305c adds r0, #92 ; 0x5c - 16a46: 47b0 blx r6 + 16498: 89a2 ldrh r2, [r4, #12] + 1649a: 21ca movs r1, #202 ; 0xca + 1649c: 305c adds r0, #92 ; 0x5c + 1649e: 47b0 blx r6 lv_style_set_line_width(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(5)); - 16a48: 6824 ldr r4, [r4, #0] - 16a4a: 345c adds r4, #92 ; 0x5c - 16a4c: 2000 movs r0, #0 - 16a4e: 4baf ldr r3, [pc, #700] ; (16d0c ) - 16a50: 4798 blx r3 - 16a52: eb00 0080 add.w r0, r0, r0, lsl #2 - 16a56: 3050 adds r0, #80 ; 0x50 - 16a58: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 16a5c: f280 8168 bge.w 16d30 - 16a60: 2201 movs r2, #1 + 164a0: 6824 ldr r4, [r4, #0] + 164a2: 345c adds r4, #92 ; 0x5c + 164a4: 2000 movs r0, #0 + 164a6: 4baf ldr r3, [pc, #700] ; (16764 ) + 164a8: 4798 blx r3 + 164aa: eb00 0080 add.w r0, r0, r0, lsl #2 + 164ae: 3050 adds r0, #80 ; 0x50 + 164b0: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 164b4: f280 8168 bge.w 16788 + 164b8: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_WIDTH, line_width, lv_style_int_t, _int, scalar) - 16a62: 2190 movs r1, #144 ; 0x90 - 16a64: 4620 mov r0, r4 - 16a66: 4baa ldr r3, [pc, #680] ; (16d10 ) - 16a68: 4798 blx r3 + 164ba: 2190 movs r1, #144 ; 0x90 + 164bc: 4620 mov r0, r4 + 164be: 4baa ldr r3, [pc, #680] ; (16768 ) + 164c0: 4798 blx r3 lv_style_set_scale_end_line_width(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(4)); - 16a6a: 4ba5 ldr r3, [pc, #660] ; (16d00 ) - 16a6c: 681c ldr r4, [r3, #0] - 16a6e: 345c adds r4, #92 ; 0x5c - 16a70: 2000 movs r0, #0 - 16a72: 4ba6 ldr r3, [pc, #664] ; (16d0c ) - 16a74: 4798 blx r3 - 16a76: 3014 adds r0, #20 - 16a78: 0080 lsls r0, r0, #2 - 16a7a: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 16a7e: f280 8165 bge.w 16d4c - 16a82: 2201 movs r2, #1 + 164c2: 4ba5 ldr r3, [pc, #660] ; (16758 ) + 164c4: 681c ldr r4, [r3, #0] + 164c6: 345c adds r4, #92 ; 0x5c + 164c8: 2000 movs r0, #0 + 164ca: 4ba6 ldr r3, [pc, #664] ; (16764 ) + 164cc: 4798 blx r3 + 164ce: 3014 adds r0, #20 + 164d0: 0080 lsls r0, r0, #2 + 164d2: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 164d6: f280 8165 bge.w 167a4 + 164da: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_END_LINE_WIDTH, scale_end_line_width, lv_style_int_t, _int, scalar) - 16a84: 21c3 movs r1, #195 ; 0xc3 - 16a86: 4620 mov r0, r4 - 16a88: 4ba1 ldr r3, [pc, #644] ; (16d10 ) - 16a8a: 4798 blx r3 + 164dc: 21c3 movs r1, #195 ; 0xc3 + 164de: 4620 mov r0, r4 + 164e0: 4ba1 ldr r3, [pc, #644] ; (16768 ) + 164e2: 4798 blx r3 lv_style_set_scale_end_border_width(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(8)); - 16a8c: 4b9c ldr r3, [pc, #624] ; (16d00 ) - 16a8e: 681c ldr r4, [r3, #0] - 16a90: 345c adds r4, #92 ; 0x5c - 16a92: 2000 movs r0, #0 - 16a94: 4b9d ldr r3, [pc, #628] ; (16d0c ) - 16a96: 4798 blx r3 - 16a98: 300a adds r0, #10 - 16a9a: 00c0 lsls r0, r0, #3 - 16a9c: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 16aa0: f280 8161 bge.w 16d66 - 16aa4: 2201 movs r2, #1 + 164e4: 4b9c ldr r3, [pc, #624] ; (16758 ) + 164e6: 681c ldr r4, [r3, #0] + 164e8: 345c adds r4, #92 ; 0x5c + 164ea: 2000 movs r0, #0 + 164ec: 4b9d ldr r3, [pc, #628] ; (16764 ) + 164ee: 4798 blx r3 + 164f0: 300a adds r0, #10 + 164f2: 00c0 lsls r0, r0, #3 + 164f4: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 164f8: f280 8161 bge.w 167be + 164fc: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_END_BORDER_WIDTH, scale_end_border_width, lv_style_int_t, _int, scalar) - 16aa6: 21c2 movs r1, #194 ; 0xc2 - 16aa8: 4620 mov r0, r4 - 16aaa: 4b99 ldr r3, [pc, #612] ; (16d10 ) - 16aac: 4798 blx r3 + 164fe: 21c2 movs r1, #194 ; 0xc2 + 16500: 4620 mov r0, r4 + 16502: 4b99 ldr r3, [pc, #612] ; (16768 ) + 16504: 4798 blx r3 lv_style_set_pad_left(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(20)); - 16aae: 4b94 ldr r3, [pc, #592] ; (16d00 ) - 16ab0: 681c ldr r4, [r3, #0] - 16ab2: 345c adds r4, #92 ; 0x5c - 16ab4: 2000 movs r0, #0 - 16ab6: 4b95 ldr r3, [pc, #596] ; (16d0c ) - 16ab8: 4798 blx r3 - 16aba: eb00 0080 add.w r0, r0, r0, lsl #2 - 16abe: 0080 lsls r0, r0, #2 - 16ac0: 3050 adds r0, #80 ; 0x50 - 16ac2: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 16ac6: f280 815b bge.w 16d80 - 16aca: 2201 movs r2, #1 + 16506: 4b94 ldr r3, [pc, #592] ; (16758 ) + 16508: 681c ldr r4, [r3, #0] + 1650a: 345c adds r4, #92 ; 0x5c + 1650c: 2000 movs r0, #0 + 1650e: 4b95 ldr r3, [pc, #596] ; (16764 ) + 16510: 4798 blx r3 + 16512: eb00 0080 add.w r0, r0, r0, lsl #2 + 16516: 0080 lsls r0, r0, #2 + 16518: 3050 adds r0, #80 ; 0x50 + 1651a: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 1651e: f280 815b bge.w 167d8 + 16522: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 16acc: 2112 movs r1, #18 - 16ace: 4620 mov r0, r4 - 16ad0: 4b8f ldr r3, [pc, #572] ; (16d10 ) - 16ad2: 4798 blx r3 + 16524: 2112 movs r1, #18 + 16526: 4620 mov r0, r4 + 16528: 4b8f ldr r3, [pc, #572] ; (16768 ) + 1652a: 4798 blx r3 lv_style_set_pad_right(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(20)); - 16ad4: 4b8a ldr r3, [pc, #552] ; (16d00 ) - 16ad6: 681c ldr r4, [r3, #0] - 16ad8: 345c adds r4, #92 ; 0x5c - 16ada: 2000 movs r0, #0 - 16adc: 4b8b ldr r3, [pc, #556] ; (16d0c ) - 16ade: 4798 blx r3 - 16ae0: eb00 0080 add.w r0, r0, r0, lsl #2 - 16ae4: 0080 lsls r0, r0, #2 - 16ae6: 3050 adds r0, #80 ; 0x50 - 16ae8: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 16aec: f280 8157 bge.w 16d9e - 16af0: 2201 movs r2, #1 + 1652c: 4b8a ldr r3, [pc, #552] ; (16758 ) + 1652e: 681c ldr r4, [r3, #0] + 16530: 345c adds r4, #92 ; 0x5c + 16532: 2000 movs r0, #0 + 16534: 4b8b ldr r3, [pc, #556] ; (16764 ) + 16536: 4798 blx r3 + 16538: eb00 0080 add.w r0, r0, r0, lsl #2 + 1653c: 0080 lsls r0, r0, #2 + 1653e: 3050 adds r0, #80 ; 0x50 + 16540: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 16544: f280 8157 bge.w 167f6 + 16548: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 16af2: 2113 movs r1, #19 - 16af4: 4620 mov r0, r4 - 16af6: 4b86 ldr r3, [pc, #536] ; (16d10 ) - 16af8: 4798 blx r3 + 1654a: 2113 movs r1, #19 + 1654c: 4620 mov r0, r4 + 1654e: 4b86 ldr r3, [pc, #536] ; (16768 ) + 16550: 4798 blx r3 lv_style_set_pad_top(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(20)); - 16afa: 4b81 ldr r3, [pc, #516] ; (16d00 ) - 16afc: 681c ldr r4, [r3, #0] - 16afe: 345c adds r4, #92 ; 0x5c - 16b00: 2000 movs r0, #0 - 16b02: 4b82 ldr r3, [pc, #520] ; (16d0c ) - 16b04: 4798 blx r3 - 16b06: eb00 0080 add.w r0, r0, r0, lsl #2 - 16b0a: 0080 lsls r0, r0, #2 - 16b0c: 3050 adds r0, #80 ; 0x50 - 16b0e: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 16b12: f280 8153 bge.w 16dbc - 16b16: 2201 movs r2, #1 + 16552: 4b81 ldr r3, [pc, #516] ; (16758 ) + 16554: 681c ldr r4, [r3, #0] + 16556: 345c adds r4, #92 ; 0x5c + 16558: 2000 movs r0, #0 + 1655a: 4b82 ldr r3, [pc, #520] ; (16764 ) + 1655c: 4798 blx r3 + 1655e: eb00 0080 add.w r0, r0, r0, lsl #2 + 16562: 0080 lsls r0, r0, #2 + 16564: 3050 adds r0, #80 ; 0x50 + 16566: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 1656a: f280 8153 bge.w 16814 + 1656e: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) - 16b18: 2110 movs r1, #16 - 16b1a: 4620 mov r0, r4 - 16b1c: 4b7c ldr r3, [pc, #496] ; (16d10 ) - 16b1e: 4798 blx r3 + 16570: 2110 movs r1, #16 + 16572: 4620 mov r0, r4 + 16574: 4b7c ldr r3, [pc, #496] ; (16768 ) + 16576: 4798 blx r3 lv_style_set_pad_inner(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(20)); - 16b20: 4b77 ldr r3, [pc, #476] ; (16d00 ) - 16b22: 681c ldr r4, [r3, #0] - 16b24: 345c adds r4, #92 ; 0x5c - 16b26: 2000 movs r0, #0 - 16b28: 4b78 ldr r3, [pc, #480] ; (16d0c ) - 16b2a: 4798 blx r3 - 16b2c: eb00 0080 add.w r0, r0, r0, lsl #2 - 16b30: 0080 lsls r0, r0, #2 - 16b32: 3050 adds r0, #80 ; 0x50 - 16b34: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 16b38: f280 814f bge.w 16dda - 16b3c: 2201 movs r2, #1 + 16578: 4b77 ldr r3, [pc, #476] ; (16758 ) + 1657a: 681c ldr r4, [r3, #0] + 1657c: 345c adds r4, #92 ; 0x5c + 1657e: 2000 movs r0, #0 + 16580: 4b78 ldr r3, [pc, #480] ; (16764 ) + 16582: 4798 blx r3 + 16584: eb00 0080 add.w r0, r0, r0, lsl #2 + 16588: 0080 lsls r0, r0, #2 + 1658a: 3050 adds r0, #80 ; 0x50 + 1658c: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 16590: f280 814f bge.w 16832 + 16594: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_INNER, pad_inner, lv_style_int_t, _int, scalar) - 16b3e: 2114 movs r1, #20 - 16b40: 4620 mov r0, r4 - 16b42: 4b73 ldr r3, [pc, #460] ; (16d10 ) - 16b44: 4798 blx r3 + 16596: 2114 movs r1, #20 + 16598: 4620 mov r0, r4 + 1659a: 4b73 ldr r3, [pc, #460] ; (16768 ) + 1659c: 4798 blx r3 lv_style_set_scale_width(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(15)); - 16b46: 4b6e ldr r3, [pc, #440] ; (16d00 ) - 16b48: 681c ldr r4, [r3, #0] - 16b4a: 345c adds r4, #92 ; 0x5c - 16b4c: 2000 movs r0, #0 - 16b4e: 4b6f ldr r3, [pc, #444] ; (16d0c ) - 16b50: 4798 blx r3 - 16b52: ebc0 1000 rsb r0, r0, r0, lsl #4 - 16b56: 3050 adds r0, #80 ; 0x50 - 16b58: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 16b5c: f280 814c bge.w 16df8 - 16b60: 2201 movs r2, #1 + 1659e: 4b6e ldr r3, [pc, #440] ; (16758 ) + 165a0: 681c ldr r4, [r3, #0] + 165a2: 345c adds r4, #92 ; 0x5c + 165a4: 2000 movs r0, #0 + 165a6: 4b6f ldr r3, [pc, #444] ; (16764 ) + 165a8: 4798 blx r3 + 165aa: ebc0 1000 rsb r0, r0, r0, lsl #4 + 165ae: 3050 adds r0, #80 ; 0x50 + 165b0: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 165b4: f280 814c bge.w 16850 + 165b8: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_WIDTH, scale_width, lv_style_int_t, _int, scalar) - 16b62: 21c0 movs r1, #192 ; 0xc0 - 16b64: 4620 mov r0, r4 - 16b66: 4d6a ldr r5, [pc, #424] ; (16d10 ) - 16b68: 47a8 blx r5 + 165ba: 21c0 movs r1, #192 ; 0xc0 + 165bc: 4620 mov r0, r4 + 165be: 4d6a ldr r5, [pc, #424] ; (16768 ) + 165c0: 47a8 blx r5 lv_style_set_radius(&styles->gauge_main, LV_STATE_DEFAULT, LV_RADIUS_CIRCLE); - 16b6a: 4c65 ldr r4, [pc, #404] ; (16d00 ) - 16b6c: 6820 ldr r0, [r4, #0] + 165c2: 4c65 ldr r4, [pc, #404] ; (16758 ) + 165c4: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 16b6e: f647 72ff movw r2, #32767 ; 0x7fff - 16b72: 2101 movs r1, #1 - 16b74: 305c adds r0, #92 ; 0x5c - 16b76: 47a8 blx r5 + 165c6: f647 72ff movw r2, #32767 ; 0x7fff + 165ca: 2101 movs r1, #1 + 165cc: 305c adds r0, #92 ; 0x5c + 165ce: 47a8 blx r5 style_init_reset(&styles->gauge_strong); - 16b78: 6820 ldr r0, [r4, #0] - 16b7a: 3060 adds r0, #96 ; 0x60 - 16b7c: 4b61 ldr r3, [pc, #388] ; (16d04 ) - 16b7e: 4798 blx r3 + 165d0: 6820 ldr r0, [r4, #0] + 165d2: 3060 adds r0, #96 ; 0x60 + 165d4: 4b61 ldr r3, [pc, #388] ; (1675c ) + 165d6: 4798 blx r3 lv_style_set_line_color(&styles->gauge_strong, LV_STATE_DEFAULT, lv_color_hex3(0x888)); - 16b80: 6820 ldr r0, [r4, #0] - 16b82: 2511 movs r5, #17 - 16b84: f04f 0200 mov.w r2, #0 - 16b88: f365 0204 bfi r2, r5, #0, #5 - 16b8c: 2722 movs r7, #34 ; 0x22 - 16b8e: f367 124a bfi r2, r7, #5, #6 - 16b92: f365 22cf bfi r2, r5, #11, #5 + 165d8: 6820 ldr r0, [r4, #0] + 165da: 2511 movs r5, #17 + 165dc: f04f 0200 mov.w r2, #0 + 165e0: f365 0204 bfi r2, r5, #0, #5 + 165e4: 2722 movs r7, #34 ; 0x22 + 165e6: f367 124a bfi r2, r7, #5, #6 + 165ea: f365 22cf bfi r2, r5, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_COLOR, line_color, lv_color_t, _color, nonscalar) - 16b96: 2199 movs r1, #153 ; 0x99 - 16b98: 3060 adds r0, #96 ; 0x60 - 16b9a: 4e5b ldr r6, [pc, #364] ; (16d08 ) - 16b9c: 47b0 blx r6 + 165ee: 2199 movs r1, #153 ; 0x99 + 165f0: 3060 adds r0, #96 ; 0x60 + 165f2: 4e5b ldr r6, [pc, #364] ; (16760 ) + 165f4: 47b0 blx r6 lv_style_set_scale_grad_color(&styles->gauge_strong, LV_STATE_DEFAULT, lv_color_hex3(0x888)); - 16b9e: 6820 ldr r0, [r4, #0] - 16ba0: f04f 0200 mov.w r2, #0 - 16ba4: f365 0204 bfi r2, r5, #0, #5 - 16ba8: f367 124a bfi r2, r7, #5, #6 - 16bac: f365 22cf bfi r2, r5, #11, #5 + 165f6: 6820 ldr r0, [r4, #0] + 165f8: f04f 0200 mov.w r2, #0 + 165fc: f365 0204 bfi r2, r5, #0, #5 + 16600: f367 124a bfi r2, r7, #5, #6 + 16604: f365 22cf bfi r2, r5, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_GRAD_COLOR, scale_grad_color, lv_color_t, _color, nonscalar) - 16bb0: 21c9 movs r1, #201 ; 0xc9 - 16bb2: 3060 adds r0, #96 ; 0x60 - 16bb4: 47b0 blx r6 + 16608: 21c9 movs r1, #201 ; 0xc9 + 1660a: 3060 adds r0, #96 ; 0x60 + 1660c: 47b0 blx r6 lv_style_set_scale_end_color(&styles->gauge_strong, LV_STATE_DEFAULT, theme.color_primary); - 16bb6: 6820 ldr r0, [r4, #0] + 1660e: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_END_COLOR, scale_end_color, lv_color_t, _color, nonscalar) - 16bb8: 89a2 ldrh r2, [r4, #12] - 16bba: 21ca movs r1, #202 ; 0xca - 16bbc: 3060 adds r0, #96 ; 0x60 - 16bbe: 47b0 blx r6 + 16610: 89a2 ldrh r2, [r4, #12] + 16612: 21ca movs r1, #202 ; 0xca + 16614: 3060 adds r0, #96 ; 0x60 + 16616: 47b0 blx r6 lv_style_set_line_width(&styles->gauge_strong, LV_STATE_DEFAULT, LV_DPX(8)); - 16bc0: 6824 ldr r4, [r4, #0] - 16bc2: 3460 adds r4, #96 ; 0x60 - 16bc4: 2000 movs r0, #0 - 16bc6: 4b51 ldr r3, [pc, #324] ; (16d0c ) - 16bc8: 4798 blx r3 - 16bca: 300a adds r0, #10 - 16bcc: 00c0 lsls r0, r0, #3 - 16bce: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 16bd2: f280 811f bge.w 16e14 - 16bd6: 2201 movs r2, #1 + 16618: 6824 ldr r4, [r4, #0] + 1661a: 3460 adds r4, #96 ; 0x60 + 1661c: 2000 movs r0, #0 + 1661e: 4b51 ldr r3, [pc, #324] ; (16764 ) + 16620: 4798 blx r3 + 16622: 300a adds r0, #10 + 16624: 00c0 lsls r0, r0, #3 + 16626: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 1662a: f280 811f bge.w 1686c + 1662e: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_WIDTH, line_width, lv_style_int_t, _int, scalar) - 16bd8: 2190 movs r1, #144 ; 0x90 - 16bda: 4620 mov r0, r4 - 16bdc: 4b4c ldr r3, [pc, #304] ; (16d10 ) - 16bde: 4798 blx r3 + 16630: 2190 movs r1, #144 ; 0x90 + 16632: 4620 mov r0, r4 + 16634: 4b4c ldr r3, [pc, #304] ; (16768 ) + 16636: 4798 blx r3 lv_style_set_scale_end_line_width(&styles->gauge_strong, LV_STATE_DEFAULT, LV_DPX(8)); - 16be0: 4b47 ldr r3, [pc, #284] ; (16d00 ) - 16be2: 681c ldr r4, [r3, #0] - 16be4: 3460 adds r4, #96 ; 0x60 - 16be6: 2000 movs r0, #0 - 16be8: 4b48 ldr r3, [pc, #288] ; (16d0c ) - 16bea: 4798 blx r3 - 16bec: 300a adds r0, #10 - 16bee: 00c0 lsls r0, r0, #3 - 16bf0: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 16bf4: f280 811b bge.w 16e2e - 16bf8: 2201 movs r2, #1 + 16638: 4b47 ldr r3, [pc, #284] ; (16758 ) + 1663a: 681c ldr r4, [r3, #0] + 1663c: 3460 adds r4, #96 ; 0x60 + 1663e: 2000 movs r0, #0 + 16640: 4b48 ldr r3, [pc, #288] ; (16764 ) + 16642: 4798 blx r3 + 16644: 300a adds r0, #10 + 16646: 00c0 lsls r0, r0, #3 + 16648: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 1664c: f280 811b bge.w 16886 + 16650: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_END_LINE_WIDTH, scale_end_line_width, lv_style_int_t, _int, scalar) - 16bfa: 21c3 movs r1, #195 ; 0xc3 - 16bfc: 4620 mov r0, r4 - 16bfe: 4b44 ldr r3, [pc, #272] ; (16d10 ) - 16c00: 4798 blx r3 + 16652: 21c3 movs r1, #195 ; 0xc3 + 16654: 4620 mov r0, r4 + 16656: 4b44 ldr r3, [pc, #272] ; (16768 ) + 16658: 4798 blx r3 lv_style_set_scale_width(&styles->gauge_strong, LV_STATE_DEFAULT, LV_DPX(25)); - 16c02: 4b3f ldr r3, [pc, #252] ; (16d00 ) - 16c04: 681c ldr r4, [r3, #0] - 16c06: 3460 adds r4, #96 ; 0x60 - 16c08: 2000 movs r0, #0 - 16c0a: 4b40 ldr r3, [pc, #256] ; (16d0c ) - 16c0c: 4798 blx r3 - 16c0e: eb00 0080 add.w r0, r0, r0, lsl #2 - 16c12: eb00 0080 add.w r0, r0, r0, lsl #2 - 16c16: 3050 adds r0, #80 ; 0x50 - 16c18: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 16c1c: f280 8114 bge.w 16e48 - 16c20: 2201 movs r2, #1 + 1665a: 4b3f ldr r3, [pc, #252] ; (16758 ) + 1665c: 681c ldr r4, [r3, #0] + 1665e: 3460 adds r4, #96 ; 0x60 + 16660: 2000 movs r0, #0 + 16662: 4b40 ldr r3, [pc, #256] ; (16764 ) + 16664: 4798 blx r3 + 16666: eb00 0080 add.w r0, r0, r0, lsl #2 + 1666a: eb00 0080 add.w r0, r0, r0, lsl #2 + 1666e: 3050 adds r0, #80 ; 0x50 + 16670: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 16674: f280 8114 bge.w 168a0 + 16678: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_WIDTH, scale_width, lv_style_int_t, _int, scalar) - 16c22: 21c0 movs r1, #192 ; 0xc0 - 16c24: 4620 mov r0, r4 - 16c26: 4b3a ldr r3, [pc, #232] ; (16d10 ) - 16c28: 4798 blx r3 + 1667a: 21c0 movs r1, #192 ; 0xc0 + 1667c: 4620 mov r0, r4 + 1667e: 4b3a ldr r3, [pc, #232] ; (16768 ) + 16680: 4798 blx r3 style_init_reset(&styles->gauge_needle); - 16c2a: 4c35 ldr r4, [pc, #212] ; (16d00 ) - 16c2c: 6820 ldr r0, [r4, #0] - 16c2e: 3064 adds r0, #100 ; 0x64 - 16c30: 4b34 ldr r3, [pc, #208] ; (16d04 ) - 16c32: 4798 blx r3 + 16682: 4c35 ldr r4, [pc, #212] ; (16758 ) + 16684: 6820 ldr r0, [r4, #0] + 16686: 3064 adds r0, #100 ; 0x64 + 16688: 4b34 ldr r3, [pc, #208] ; (1675c ) + 1668a: 4798 blx r3 lv_style_set_line_color(&styles->gauge_needle, LV_STATE_DEFAULT, IS_LIGHT ? lv_color_hex(0x464b5b) : LV_COLOR_WHITE); - 16c34: 6820 ldr r0, [r4, #0] - 16c36: 3064 adds r0, #100 ; 0x64 - 16c38: 6a23 ldr r3, [r4, #32] - 16c3a: f013 0f02 tst.w r3, #2 - 16c3e: f040 8113 bne.w 16e68 - 16c42: 231f movs r3, #31 - 16c44: 213f movs r1, #63 ; 0x3f - 16c46: 461c mov r4, r3 - 16c48: f04f 0200 mov.w r2, #0 - 16c4c: f364 0204 bfi r2, r4, #0, #5 - 16c50: f361 124a bfi r2, r1, #5, #6 - 16c54: f363 22cf bfi r2, r3, #11, #5 + 1668c: 6820 ldr r0, [r4, #0] + 1668e: 3064 adds r0, #100 ; 0x64 + 16690: 6a23 ldr r3, [r4, #32] + 16692: f013 0f02 tst.w r3, #2 + 16696: f040 8113 bne.w 168c0 + 1669a: 231f movs r3, #31 + 1669c: 213f movs r1, #63 ; 0x3f + 1669e: 461c mov r4, r3 + 166a0: f04f 0200 mov.w r2, #0 + 166a4: f364 0204 bfi r2, r4, #0, #5 + 166a8: f361 124a bfi r2, r1, #5, #6 + 166ac: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_COLOR, line_color, lv_color_t, _color, nonscalar) - 16c58: 2199 movs r1, #153 ; 0x99 - 16c5a: 4b2b ldr r3, [pc, #172] ; (16d08 ) - 16c5c: 4798 blx r3 + 166b0: 2199 movs r1, #153 ; 0x99 + 166b2: 4b2b ldr r3, [pc, #172] ; (16760 ) + 166b4: 4798 blx r3 lv_style_set_line_width(&styles->gauge_needle, LV_STATE_DEFAULT, LV_DPX(8)); - 16c5e: 4b28 ldr r3, [pc, #160] ; (16d00 ) - 16c60: 681c ldr r4, [r3, #0] - 16c62: 3464 adds r4, #100 ; 0x64 - 16c64: 2000 movs r0, #0 - 16c66: 4b29 ldr r3, [pc, #164] ; (16d0c ) - 16c68: 4798 blx r3 - 16c6a: 300a adds r0, #10 - 16c6c: 00c0 lsls r0, r0, #3 - 16c6e: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 16c72: f280 80fd bge.w 16e70 - 16c76: 2201 movs r2, #1 + 166b6: 4b28 ldr r3, [pc, #160] ; (16758 ) + 166b8: 681c ldr r4, [r3, #0] + 166ba: 3464 adds r4, #100 ; 0x64 + 166bc: 2000 movs r0, #0 + 166be: 4b29 ldr r3, [pc, #164] ; (16764 ) + 166c0: 4798 blx r3 + 166c2: 300a adds r0, #10 + 166c4: 00c0 lsls r0, r0, #3 + 166c6: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 166ca: f280 80fd bge.w 168c8 + 166ce: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_WIDTH, line_width, lv_style_int_t, _int, scalar) - 16c78: 2190 movs r1, #144 ; 0x90 - 16c7a: 4620 mov r0, r4 - 16c7c: 4b24 ldr r3, [pc, #144] ; (16d10 ) - 16c7e: 4798 blx r3 + 166d0: 2190 movs r1, #144 ; 0x90 + 166d2: 4620 mov r0, r4 + 166d4: 4b24 ldr r3, [pc, #144] ; (16768 ) + 166d6: 4798 blx r3 lv_style_set_bg_opa(&styles->gauge_needle, LV_STATE_DEFAULT, LV_OPA_COVER); - 16c80: 4c1f ldr r4, [pc, #124] ; (16d00 ) - 16c82: 6820 ldr r0, [r4, #0] + 166d8: 4c1f ldr r4, [pc, #124] ; (16758 ) + 166da: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 16c84: 22ff movs r2, #255 ; 0xff - 16c86: 212c movs r1, #44 ; 0x2c - 16c88: 3064 adds r0, #100 ; 0x64 - 16c8a: 4b22 ldr r3, [pc, #136] ; (16d14 ) - 16c8c: 4798 blx r3 + 166dc: 22ff movs r2, #255 ; 0xff + 166de: 212c movs r1, #44 ; 0x2c + 166e0: 3064 adds r0, #100 ; 0x64 + 166e2: 4b22 ldr r3, [pc, #136] ; (1676c ) + 166e4: 4798 blx r3 lv_style_set_bg_color(&styles->gauge_needle, LV_STATE_DEFAULT, IS_LIGHT ? lv_color_hex(0x464b5b) : LV_COLOR_WHITE); - 16c8e: 6820 ldr r0, [r4, #0] - 16c90: 3064 adds r0, #100 ; 0x64 - 16c92: 6a23 ldr r3, [r4, #32] - 16c94: f013 0f02 tst.w r3, #2 - 16c98: f040 80f7 bne.w 16e8a - 16c9c: 231f movs r3, #31 - 16c9e: 213f movs r1, #63 ; 0x3f - 16ca0: 461c mov r4, r3 - 16ca2: f04f 0200 mov.w r2, #0 - 16ca6: f364 0204 bfi r2, r4, #0, #5 - 16caa: f361 124a bfi r2, r1, #5, #6 - 16cae: f363 22cf bfi r2, r3, #11, #5 + 166e6: 6820 ldr r0, [r4, #0] + 166e8: 3064 adds r0, #100 ; 0x64 + 166ea: 6a23 ldr r3, [r4, #32] + 166ec: f013 0f02 tst.w r3, #2 + 166f0: f040 80f7 bne.w 168e2 + 166f4: 231f movs r3, #31 + 166f6: 213f movs r1, #63 ; 0x3f + 166f8: 461c mov r4, r3 + 166fa: f04f 0200 mov.w r2, #0 + 166fe: f364 0204 bfi r2, r4, #0, #5 + 16702: f361 124a bfi r2, r1, #5, #6 + 16706: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 16cb2: 2129 movs r1, #41 ; 0x29 - 16cb4: 4b14 ldr r3, [pc, #80] ; (16d08 ) - 16cb6: 4798 blx r3 + 1670a: 2129 movs r1, #41 ; 0x29 + 1670c: 4b14 ldr r3, [pc, #80] ; (16760 ) + 1670e: 4798 blx r3 lv_style_set_radius(&styles->gauge_needle, LV_STATE_DEFAULT, LV_RADIUS_CIRCLE); - 16cb8: 4c11 ldr r4, [pc, #68] ; (16d00 ) - 16cba: 6820 ldr r0, [r4, #0] + 16710: 4c11 ldr r4, [pc, #68] ; (16758 ) + 16712: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 16cbc: f647 72ff movw r2, #32767 ; 0x7fff - 16cc0: 2101 movs r1, #1 - 16cc2: 3064 adds r0, #100 ; 0x64 - 16cc4: 4b12 ldr r3, [pc, #72] ; (16d10 ) - 16cc6: 4798 blx r3 + 16714: f647 72ff movw r2, #32767 ; 0x7fff + 16718: 2101 movs r1, #1 + 1671a: 3064 adds r0, #100 ; 0x64 + 1671c: 4b12 ldr r3, [pc, #72] ; (16768 ) + 1671e: 4798 blx r3 lv_style_set_size(&styles->gauge_needle, LV_STATE_DEFAULT, LV_DPX(30)); - 16cc8: 6824 ldr r4, [r4, #0] - 16cca: 3464 adds r4, #100 ; 0x64 - 16ccc: 2000 movs r0, #0 - 16cce: 4b0f ldr r3, [pc, #60] ; (16d0c ) - 16cd0: 4798 blx r3 - 16cd2: ebc0 1000 rsb r0, r0, r0, lsl #4 - 16cd6: 0040 lsls r0, r0, #1 - 16cd8: 3050 adds r0, #80 ; 0x50 - 16cda: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 16cde: f280 80d8 bge.w 16e92 - 16ce2: 2201 movs r2, #1 + 16720: 6824 ldr r4, [r4, #0] + 16722: 3464 adds r4, #100 ; 0x64 + 16724: 2000 movs r0, #0 + 16726: 4b0f ldr r3, [pc, #60] ; (16764 ) + 16728: 4798 blx r3 + 1672a: ebc0 1000 rsb r0, r0, r0, lsl #4 + 1672e: 0040 lsls r0, r0, #1 + 16730: 3050 adds r0, #80 ; 0x50 + 16732: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 16736: f280 80d8 bge.w 168ea + 1673a: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(SIZE, size, lv_style_int_t, _int, scalar) - 16ce4: 2103 movs r1, #3 - 16ce6: 4620 mov r0, r4 - 16ce8: 4b09 ldr r3, [pc, #36] ; (16d10 ) - 16cea: 4798 blx r3 + 1673c: 2103 movs r1, #3 + 1673e: 4620 mov r0, r4 + 16740: 4b09 ldr r3, [pc, #36] ; (16768 ) + 16742: 4798 blx r3 lv_style_set_pad_inner(&styles->gauge_needle, LV_STATE_DEFAULT, LV_DPX(10)); - 16cec: 4b04 ldr r3, [pc, #16] ; (16d00 ) - 16cee: 681c ldr r4, [r3, #0] - 16cf0: 3464 adds r4, #100 ; 0x64 - 16cf2: 2000 movs r0, #0 - 16cf4: 4b05 ldr r3, [pc, #20] ; (16d0c ) - 16cf6: 4798 blx r3 - 16cf8: eb00 0080 add.w r0, r0, r0, lsl #2 - 16cfc: e00c b.n 16d18 - 16cfe: bf00 nop - 16d00: 20006bd8 .word 0x20006bd8 - 16d04: 00015009 .word 0x00015009 - 16d08: 00006fcd .word 0x00006fcd - 16d0c: 000114e5 .word 0x000114e5 - 16d10: 00006e89 .word 0x00006e89 - 16d14: 00007111 .word 0x00007111 - 16d18: 0040 lsls r0, r0, #1 - 16d1a: 3050 adds r0, #80 ; 0x50 - 16d1c: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 16d20: f280 80c6 bge.w 16eb0 - 16d24: 2201 movs r2, #1 + 16744: 4b04 ldr r3, [pc, #16] ; (16758 ) + 16746: 681c ldr r4, [r3, #0] + 16748: 3464 adds r4, #100 ; 0x64 + 1674a: 2000 movs r0, #0 + 1674c: 4b05 ldr r3, [pc, #20] ; (16764 ) + 1674e: 4798 blx r3 + 16750: eb00 0080 add.w r0, r0, r0, lsl #2 + 16754: e00c b.n 16770 + 16756: bf00 nop + 16758: 20006bd8 .word 0x20006bd8 + 1675c: 00014a61 .word 0x00014a61 + 16760: 00006a25 .word 0x00006a25 + 16764: 00010f3d .word 0x00010f3d + 16768: 000068e1 .word 0x000068e1 + 1676c: 00006b69 .word 0x00006b69 + 16770: 0040 lsls r0, r0, #1 + 16772: 3050 adds r0, #80 ; 0x50 + 16774: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 16778: f280 80c6 bge.w 16908 + 1677c: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_INNER, pad_inner, lv_style_int_t, _int, scalar) - 16d26: 2114 movs r1, #20 - 16d28: 4620 mov r0, r4 - 16d2a: 4b69 ldr r3, [pc, #420] ; (16ed0 ) - 16d2c: 4798 blx r3 - 16d2e: bdf8 pop {r3, r4, r5, r6, r7, pc} + 1677e: 2114 movs r1, #20 + 16780: 4620 mov r0, r4 + 16782: 4b69 ldr r3, [pc, #420] ; (16928 ) + 16784: 4798 blx r3 + 16786: bdf8 pop {r3, r4, r5, r6, r7, pc} lv_style_set_line_width(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(5)); - 16d30: 2000 movs r0, #0 - 16d32: 4b68 ldr r3, [pc, #416] ; (16ed4 ) - 16d34: 4798 blx r3 - 16d36: eb00 0080 add.w r0, r0, r0, lsl #2 - 16d3a: 3050 adds r0, #80 ; 0x50 - 16d3c: 4b66 ldr r3, [pc, #408] ; (16ed8 ) - 16d3e: fb83 2300 smull r2, r3, r3, r0 - 16d42: 17c2 asrs r2, r0, #31 - 16d44: ebc2 12a3 rsb r2, r2, r3, asr #6 - 16d48: b212 sxth r2, r2 - 16d4a: e68a b.n 16a62 + 16788: 2000 movs r0, #0 + 1678a: 4b68 ldr r3, [pc, #416] ; (1692c ) + 1678c: 4798 blx r3 + 1678e: eb00 0080 add.w r0, r0, r0, lsl #2 + 16792: 3050 adds r0, #80 ; 0x50 + 16794: 4b66 ldr r3, [pc, #408] ; (16930 ) + 16796: fb83 2300 smull r2, r3, r3, r0 + 1679a: 17c2 asrs r2, r0, #31 + 1679c: ebc2 12a3 rsb r2, r2, r3, asr #6 + 167a0: b212 sxth r2, r2 + 167a2: e68a b.n 164ba lv_style_set_scale_end_line_width(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(4)); - 16d4c: 2000 movs r0, #0 - 16d4e: 4b61 ldr r3, [pc, #388] ; (16ed4 ) - 16d50: 4798 blx r3 - 16d52: 3014 adds r0, #20 - 16d54: 0080 lsls r0, r0, #2 - 16d56: 4b60 ldr r3, [pc, #384] ; (16ed8 ) - 16d58: fb83 2300 smull r2, r3, r3, r0 - 16d5c: 17c2 asrs r2, r0, #31 - 16d5e: ebc2 12a3 rsb r2, r2, r3, asr #6 - 16d62: b212 sxth r2, r2 - 16d64: e68e b.n 16a84 + 167a4: 2000 movs r0, #0 + 167a6: 4b61 ldr r3, [pc, #388] ; (1692c ) + 167a8: 4798 blx r3 + 167aa: 3014 adds r0, #20 + 167ac: 0080 lsls r0, r0, #2 + 167ae: 4b60 ldr r3, [pc, #384] ; (16930 ) + 167b0: fb83 2300 smull r2, r3, r3, r0 + 167b4: 17c2 asrs r2, r0, #31 + 167b6: ebc2 12a3 rsb r2, r2, r3, asr #6 + 167ba: b212 sxth r2, r2 + 167bc: e68e b.n 164dc lv_style_set_scale_end_border_width(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(8)); - 16d66: 2000 movs r0, #0 - 16d68: 4b5a ldr r3, [pc, #360] ; (16ed4 ) - 16d6a: 4798 blx r3 - 16d6c: 300a adds r0, #10 - 16d6e: 00c0 lsls r0, r0, #3 - 16d70: 4b59 ldr r3, [pc, #356] ; (16ed8 ) - 16d72: fb83 2300 smull r2, r3, r3, r0 - 16d76: 17c2 asrs r2, r0, #31 - 16d78: ebc2 12a3 rsb r2, r2, r3, asr #6 - 16d7c: b212 sxth r2, r2 - 16d7e: e692 b.n 16aa6 + 167be: 2000 movs r0, #0 + 167c0: 4b5a ldr r3, [pc, #360] ; (1692c ) + 167c2: 4798 blx r3 + 167c4: 300a adds r0, #10 + 167c6: 00c0 lsls r0, r0, #3 + 167c8: 4b59 ldr r3, [pc, #356] ; (16930 ) + 167ca: fb83 2300 smull r2, r3, r3, r0 + 167ce: 17c2 asrs r2, r0, #31 + 167d0: ebc2 12a3 rsb r2, r2, r3, asr #6 + 167d4: b212 sxth r2, r2 + 167d6: e692 b.n 164fe lv_style_set_pad_left(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(20)); - 16d80: 2000 movs r0, #0 - 16d82: 4b54 ldr r3, [pc, #336] ; (16ed4 ) - 16d84: 4798 blx r3 - 16d86: eb00 0080 add.w r0, r0, r0, lsl #2 - 16d8a: 0080 lsls r0, r0, #2 - 16d8c: 3050 adds r0, #80 ; 0x50 - 16d8e: 4b52 ldr r3, [pc, #328] ; (16ed8 ) - 16d90: fb83 2300 smull r2, r3, r3, r0 - 16d94: 17c2 asrs r2, r0, #31 - 16d96: ebc2 12a3 rsb r2, r2, r3, asr #6 - 16d9a: b212 sxth r2, r2 - 16d9c: e696 b.n 16acc + 167d8: 2000 movs r0, #0 + 167da: 4b54 ldr r3, [pc, #336] ; (1692c ) + 167dc: 4798 blx r3 + 167de: eb00 0080 add.w r0, r0, r0, lsl #2 + 167e2: 0080 lsls r0, r0, #2 + 167e4: 3050 adds r0, #80 ; 0x50 + 167e6: 4b52 ldr r3, [pc, #328] ; (16930 ) + 167e8: fb83 2300 smull r2, r3, r3, r0 + 167ec: 17c2 asrs r2, r0, #31 + 167ee: ebc2 12a3 rsb r2, r2, r3, asr #6 + 167f2: b212 sxth r2, r2 + 167f4: e696 b.n 16524 lv_style_set_pad_right(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(20)); - 16d9e: 2000 movs r0, #0 - 16da0: 4b4c ldr r3, [pc, #304] ; (16ed4 ) - 16da2: 4798 blx r3 - 16da4: eb00 0080 add.w r0, r0, r0, lsl #2 - 16da8: 0080 lsls r0, r0, #2 - 16daa: 3050 adds r0, #80 ; 0x50 - 16dac: 4b4a ldr r3, [pc, #296] ; (16ed8 ) - 16dae: fb83 2300 smull r2, r3, r3, r0 - 16db2: 17c2 asrs r2, r0, #31 - 16db4: ebc2 12a3 rsb r2, r2, r3, asr #6 - 16db8: b212 sxth r2, r2 - 16dba: e69a b.n 16af2 + 167f6: 2000 movs r0, #0 + 167f8: 4b4c ldr r3, [pc, #304] ; (1692c ) + 167fa: 4798 blx r3 + 167fc: eb00 0080 add.w r0, r0, r0, lsl #2 + 16800: 0080 lsls r0, r0, #2 + 16802: 3050 adds r0, #80 ; 0x50 + 16804: 4b4a ldr r3, [pc, #296] ; (16930 ) + 16806: fb83 2300 smull r2, r3, r3, r0 + 1680a: 17c2 asrs r2, r0, #31 + 1680c: ebc2 12a3 rsb r2, r2, r3, asr #6 + 16810: b212 sxth r2, r2 + 16812: e69a b.n 1654a lv_style_set_pad_top(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(20)); - 16dbc: 2000 movs r0, #0 - 16dbe: 4b45 ldr r3, [pc, #276] ; (16ed4 ) - 16dc0: 4798 blx r3 - 16dc2: eb00 0080 add.w r0, r0, r0, lsl #2 - 16dc6: 0080 lsls r0, r0, #2 - 16dc8: 3050 adds r0, #80 ; 0x50 - 16dca: 4b43 ldr r3, [pc, #268] ; (16ed8 ) - 16dcc: fb83 2300 smull r2, r3, r3, r0 - 16dd0: 17c2 asrs r2, r0, #31 - 16dd2: ebc2 12a3 rsb r2, r2, r3, asr #6 - 16dd6: b212 sxth r2, r2 - 16dd8: e69e b.n 16b18 + 16814: 2000 movs r0, #0 + 16816: 4b45 ldr r3, [pc, #276] ; (1692c ) + 16818: 4798 blx r3 + 1681a: eb00 0080 add.w r0, r0, r0, lsl #2 + 1681e: 0080 lsls r0, r0, #2 + 16820: 3050 adds r0, #80 ; 0x50 + 16822: 4b43 ldr r3, [pc, #268] ; (16930 ) + 16824: fb83 2300 smull r2, r3, r3, r0 + 16828: 17c2 asrs r2, r0, #31 + 1682a: ebc2 12a3 rsb r2, r2, r3, asr #6 + 1682e: b212 sxth r2, r2 + 16830: e69e b.n 16570 lv_style_set_pad_inner(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(20)); - 16dda: 2000 movs r0, #0 - 16ddc: 4b3d ldr r3, [pc, #244] ; (16ed4 ) - 16dde: 4798 blx r3 - 16de0: eb00 0080 add.w r0, r0, r0, lsl #2 - 16de4: 0080 lsls r0, r0, #2 - 16de6: 3050 adds r0, #80 ; 0x50 - 16de8: 4b3b ldr r3, [pc, #236] ; (16ed8 ) - 16dea: fb83 2300 smull r2, r3, r3, r0 - 16dee: 17c2 asrs r2, r0, #31 - 16df0: ebc2 12a3 rsb r2, r2, r3, asr #6 - 16df4: b212 sxth r2, r2 - 16df6: e6a2 b.n 16b3e + 16832: 2000 movs r0, #0 + 16834: 4b3d ldr r3, [pc, #244] ; (1692c ) + 16836: 4798 blx r3 + 16838: eb00 0080 add.w r0, r0, r0, lsl #2 + 1683c: 0080 lsls r0, r0, #2 + 1683e: 3050 adds r0, #80 ; 0x50 + 16840: 4b3b ldr r3, [pc, #236] ; (16930 ) + 16842: fb83 2300 smull r2, r3, r3, r0 + 16846: 17c2 asrs r2, r0, #31 + 16848: ebc2 12a3 rsb r2, r2, r3, asr #6 + 1684c: b212 sxth r2, r2 + 1684e: e6a2 b.n 16596 lv_style_set_scale_width(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(15)); - 16df8: 2000 movs r0, #0 - 16dfa: 4b36 ldr r3, [pc, #216] ; (16ed4 ) - 16dfc: 4798 blx r3 - 16dfe: ebc0 1000 rsb r0, r0, r0, lsl #4 - 16e02: 3050 adds r0, #80 ; 0x50 - 16e04: 4b34 ldr r3, [pc, #208] ; (16ed8 ) - 16e06: fb83 2300 smull r2, r3, r3, r0 - 16e0a: 17c2 asrs r2, r0, #31 - 16e0c: ebc2 12a3 rsb r2, r2, r3, asr #6 - 16e10: b212 sxth r2, r2 - 16e12: e6a6 b.n 16b62 + 16850: 2000 movs r0, #0 + 16852: 4b36 ldr r3, [pc, #216] ; (1692c ) + 16854: 4798 blx r3 + 16856: ebc0 1000 rsb r0, r0, r0, lsl #4 + 1685a: 3050 adds r0, #80 ; 0x50 + 1685c: 4b34 ldr r3, [pc, #208] ; (16930 ) + 1685e: fb83 2300 smull r2, r3, r3, r0 + 16862: 17c2 asrs r2, r0, #31 + 16864: ebc2 12a3 rsb r2, r2, r3, asr #6 + 16868: b212 sxth r2, r2 + 1686a: e6a6 b.n 165ba lv_style_set_line_width(&styles->gauge_strong, LV_STATE_DEFAULT, LV_DPX(8)); - 16e14: 2000 movs r0, #0 - 16e16: 4b2f ldr r3, [pc, #188] ; (16ed4 ) - 16e18: 4798 blx r3 - 16e1a: 300a adds r0, #10 - 16e1c: 00c0 lsls r0, r0, #3 - 16e1e: 4b2e ldr r3, [pc, #184] ; (16ed8 ) - 16e20: fb83 2300 smull r2, r3, r3, r0 - 16e24: 17c2 asrs r2, r0, #31 - 16e26: ebc2 12a3 rsb r2, r2, r3, asr #6 - 16e2a: b212 sxth r2, r2 - 16e2c: e6d4 b.n 16bd8 + 1686c: 2000 movs r0, #0 + 1686e: 4b2f ldr r3, [pc, #188] ; (1692c ) + 16870: 4798 blx r3 + 16872: 300a adds r0, #10 + 16874: 00c0 lsls r0, r0, #3 + 16876: 4b2e ldr r3, [pc, #184] ; (16930 ) + 16878: fb83 2300 smull r2, r3, r3, r0 + 1687c: 17c2 asrs r2, r0, #31 + 1687e: ebc2 12a3 rsb r2, r2, r3, asr #6 + 16882: b212 sxth r2, r2 + 16884: e6d4 b.n 16630 lv_style_set_scale_end_line_width(&styles->gauge_strong, LV_STATE_DEFAULT, LV_DPX(8)); - 16e2e: 2000 movs r0, #0 - 16e30: 4b28 ldr r3, [pc, #160] ; (16ed4 ) - 16e32: 4798 blx r3 - 16e34: 300a adds r0, #10 - 16e36: 00c0 lsls r0, r0, #3 - 16e38: 4b27 ldr r3, [pc, #156] ; (16ed8 ) - 16e3a: fb83 2300 smull r2, r3, r3, r0 - 16e3e: 17c2 asrs r2, r0, #31 - 16e40: ebc2 12a3 rsb r2, r2, r3, asr #6 - 16e44: b212 sxth r2, r2 - 16e46: e6d8 b.n 16bfa + 16886: 2000 movs r0, #0 + 16888: 4b28 ldr r3, [pc, #160] ; (1692c ) + 1688a: 4798 blx r3 + 1688c: 300a adds r0, #10 + 1688e: 00c0 lsls r0, r0, #3 + 16890: 4b27 ldr r3, [pc, #156] ; (16930 ) + 16892: fb83 2300 smull r2, r3, r3, r0 + 16896: 17c2 asrs r2, r0, #31 + 16898: ebc2 12a3 rsb r2, r2, r3, asr #6 + 1689c: b212 sxth r2, r2 + 1689e: e6d8 b.n 16652 lv_style_set_scale_width(&styles->gauge_strong, LV_STATE_DEFAULT, LV_DPX(25)); - 16e48: 2000 movs r0, #0 - 16e4a: 4b22 ldr r3, [pc, #136] ; (16ed4 ) - 16e4c: 4798 blx r3 - 16e4e: eb00 0080 add.w r0, r0, r0, lsl #2 - 16e52: eb00 0080 add.w r0, r0, r0, lsl #2 - 16e56: 3050 adds r0, #80 ; 0x50 - 16e58: 4b1f ldr r3, [pc, #124] ; (16ed8 ) - 16e5a: fb83 2300 smull r2, r3, r3, r0 - 16e5e: 17c2 asrs r2, r0, #31 - 16e60: ebc2 12a3 rsb r2, r2, r3, asr #6 - 16e64: b212 sxth r2, r2 - 16e66: e6dc b.n 16c22 - 16e68: 2308 movs r3, #8 - 16e6a: 2112 movs r1, #18 - 16e6c: 240b movs r4, #11 - 16e6e: e6eb b.n 16c48 + 168a0: 2000 movs r0, #0 + 168a2: 4b22 ldr r3, [pc, #136] ; (1692c ) + 168a4: 4798 blx r3 + 168a6: eb00 0080 add.w r0, r0, r0, lsl #2 + 168aa: eb00 0080 add.w r0, r0, r0, lsl #2 + 168ae: 3050 adds r0, #80 ; 0x50 + 168b0: 4b1f ldr r3, [pc, #124] ; (16930 ) + 168b2: fb83 2300 smull r2, r3, r3, r0 + 168b6: 17c2 asrs r2, r0, #31 + 168b8: ebc2 12a3 rsb r2, r2, r3, asr #6 + 168bc: b212 sxth r2, r2 + 168be: e6dc b.n 1667a + 168c0: 2308 movs r3, #8 + 168c2: 2112 movs r1, #18 + 168c4: 240b movs r4, #11 + 168c6: e6eb b.n 166a0 lv_style_set_line_width(&styles->gauge_needle, LV_STATE_DEFAULT, LV_DPX(8)); - 16e70: 2000 movs r0, #0 - 16e72: 4b18 ldr r3, [pc, #96] ; (16ed4 ) - 16e74: 4798 blx r3 - 16e76: 300a adds r0, #10 - 16e78: 00c0 lsls r0, r0, #3 - 16e7a: 4b17 ldr r3, [pc, #92] ; (16ed8 ) - 16e7c: fb83 2300 smull r2, r3, r3, r0 - 16e80: 17c2 asrs r2, r0, #31 - 16e82: ebc2 12a3 rsb r2, r2, r3, asr #6 - 16e86: b212 sxth r2, r2 - 16e88: e6f6 b.n 16c78 - 16e8a: 2308 movs r3, #8 - 16e8c: 2112 movs r1, #18 - 16e8e: 240b movs r4, #11 - 16e90: e707 b.n 16ca2 + 168c8: 2000 movs r0, #0 + 168ca: 4b18 ldr r3, [pc, #96] ; (1692c ) + 168cc: 4798 blx r3 + 168ce: 300a adds r0, #10 + 168d0: 00c0 lsls r0, r0, #3 + 168d2: 4b17 ldr r3, [pc, #92] ; (16930 ) + 168d4: fb83 2300 smull r2, r3, r3, r0 + 168d8: 17c2 asrs r2, r0, #31 + 168da: ebc2 12a3 rsb r2, r2, r3, asr #6 + 168de: b212 sxth r2, r2 + 168e0: e6f6 b.n 166d0 + 168e2: 2308 movs r3, #8 + 168e4: 2112 movs r1, #18 + 168e6: 240b movs r4, #11 + 168e8: e707 b.n 166fa lv_style_set_size(&styles->gauge_needle, LV_STATE_DEFAULT, LV_DPX(30)); - 16e92: 2000 movs r0, #0 - 16e94: 4b0f ldr r3, [pc, #60] ; (16ed4 ) - 16e96: 4798 blx r3 - 16e98: ebc0 1000 rsb r0, r0, r0, lsl #4 - 16e9c: 0040 lsls r0, r0, #1 - 16e9e: 3050 adds r0, #80 ; 0x50 - 16ea0: 4b0d ldr r3, [pc, #52] ; (16ed8 ) - 16ea2: fb83 2300 smull r2, r3, r3, r0 - 16ea6: 17c2 asrs r2, r0, #31 - 16ea8: ebc2 12a3 rsb r2, r2, r3, asr #6 - 16eac: b212 sxth r2, r2 - 16eae: e719 b.n 16ce4 + 168ea: 2000 movs r0, #0 + 168ec: 4b0f ldr r3, [pc, #60] ; (1692c ) + 168ee: 4798 blx r3 + 168f0: ebc0 1000 rsb r0, r0, r0, lsl #4 + 168f4: 0040 lsls r0, r0, #1 + 168f6: 3050 adds r0, #80 ; 0x50 + 168f8: 4b0d ldr r3, [pc, #52] ; (16930 ) + 168fa: fb83 2300 smull r2, r3, r3, r0 + 168fe: 17c2 asrs r2, r0, #31 + 16900: ebc2 12a3 rsb r2, r2, r3, asr #6 + 16904: b212 sxth r2, r2 + 16906: e719 b.n 1673c lv_style_set_pad_inner(&styles->gauge_needle, LV_STATE_DEFAULT, LV_DPX(10)); - 16eb0: 2000 movs r0, #0 - 16eb2: 4b08 ldr r3, [pc, #32] ; (16ed4 ) - 16eb4: 4798 blx r3 - 16eb6: eb00 0080 add.w r0, r0, r0, lsl #2 - 16eba: 0040 lsls r0, r0, #1 - 16ebc: 3050 adds r0, #80 ; 0x50 - 16ebe: 4b06 ldr r3, [pc, #24] ; (16ed8 ) - 16ec0: fb83 2300 smull r2, r3, r3, r0 - 16ec4: 17c2 asrs r2, r0, #31 - 16ec6: ebc2 12a3 rsb r2, r2, r3, asr #6 - 16eca: b212 sxth r2, r2 - 16ecc: e72b b.n 16d26 - 16ece: bf00 nop - 16ed0: 00006e89 .word 0x00006e89 - 16ed4: 000114e5 .word 0x000114e5 - 16ed8: 66666667 .word 0x66666667 - -00016edc : -{ - 16edc: b538 push {r3, r4, r5, lr} + 16908: 2000 movs r0, #0 + 1690a: 4b08 ldr r3, [pc, #32] ; (1692c ) + 1690c: 4798 blx r3 + 1690e: eb00 0080 add.w r0, r0, r0, lsl #2 + 16912: 0040 lsls r0, r0, #1 + 16914: 3050 adds r0, #80 ; 0x50 + 16916: 4b06 ldr r3, [pc, #24] ; (16930 ) + 16918: fb83 2300 smull r2, r3, r3, r0 + 1691c: 17c2 asrs r2, r0, #31 + 1691e: ebc2 12a3 rsb r2, r2, r3, asr #6 + 16922: b212 sxth r2, r2 + 16924: e72b b.n 1677e + 16926: bf00 nop + 16928: 000068e1 .word 0x000068e1 + 1692c: 00010f3d .word 0x00010f3d + 16930: 66666667 .word 0x66666667 + +00016934 : +{ + 16934: b538 push {r3, r4, r5, lr} style_init_reset(&styles->arc_indic); - 16ede: 4c3d ldr r4, [pc, #244] ; (16fd4 ) - 16ee0: 6820 ldr r0, [r4, #0] - 16ee2: 301c adds r0, #28 - 16ee4: 4b3c ldr r3, [pc, #240] ; (16fd8 ) - 16ee6: 4798 blx r3 + 16936: 4c3d ldr r4, [pc, #244] ; (16a2c ) + 16938: 6820 ldr r0, [r4, #0] + 1693a: 301c adds r0, #28 + 1693c: 4b3c ldr r3, [pc, #240] ; (16a30 ) + 1693e: 4798 blx r3 lv_style_set_line_color(&styles->arc_indic, LV_STATE_DEFAULT, theme.color_primary); - 16ee8: 6820 ldr r0, [r4, #0] + 16940: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_COLOR, line_color, lv_color_t, _color, nonscalar) - 16eea: 89a2 ldrh r2, [r4, #12] - 16eec: 2199 movs r1, #153 ; 0x99 - 16eee: 301c adds r0, #28 - 16ef0: 4b3a ldr r3, [pc, #232] ; (16fdc ) - 16ef2: 4798 blx r3 + 16942: 89a2 ldrh r2, [r4, #12] + 16944: 2199 movs r1, #153 ; 0x99 + 16946: 301c adds r0, #28 + 16948: 4b3a ldr r3, [pc, #232] ; (16a34 ) + 1694a: 4798 blx r3 lv_style_set_line_width(&styles->arc_indic, LV_STATE_DEFAULT, LV_DPX(25)); - 16ef4: 6824 ldr r4, [r4, #0] - 16ef6: 341c adds r4, #28 - 16ef8: 2000 movs r0, #0 - 16efa: 4b39 ldr r3, [pc, #228] ; (16fe0 ) - 16efc: 4798 blx r3 - 16efe: eb00 0080 add.w r0, r0, r0, lsl #2 - 16f02: eb00 0080 add.w r0, r0, r0, lsl #2 - 16f06: 3050 adds r0, #80 ; 0x50 - 16f08: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 16f0c: da41 bge.n 16f92 - 16f0e: 2201 movs r2, #1 + 1694c: 6824 ldr r4, [r4, #0] + 1694e: 341c adds r4, #28 + 16950: 2000 movs r0, #0 + 16952: 4b39 ldr r3, [pc, #228] ; (16a38 ) + 16954: 4798 blx r3 + 16956: eb00 0080 add.w r0, r0, r0, lsl #2 + 1695a: eb00 0080 add.w r0, r0, r0, lsl #2 + 1695e: 3050 adds r0, #80 ; 0x50 + 16960: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 16964: da41 bge.n 169ea + 16966: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_WIDTH, line_width, lv_style_int_t, _int, scalar) - 16f10: 2190 movs r1, #144 ; 0x90 - 16f12: 4620 mov r0, r4 - 16f14: 4d33 ldr r5, [pc, #204] ; (16fe4 ) - 16f16: 47a8 blx r5 + 16968: 2190 movs r1, #144 ; 0x90 + 1696a: 4620 mov r0, r4 + 1696c: 4d33 ldr r5, [pc, #204] ; (16a3c ) + 1696e: 47a8 blx r5 lv_style_set_line_rounded(&styles->arc_indic, LV_STATE_DEFAULT, true); - 16f18: 4c2e ldr r4, [pc, #184] ; (16fd4 ) - 16f1a: 6820 ldr r0, [r4, #0] + 16970: 4c2e ldr r4, [pc, #184] ; (16a2c ) + 16972: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_ROUNDED, line_rounded, bool, _int, scalar) - 16f1c: 2201 movs r2, #1 - 16f1e: 2194 movs r1, #148 ; 0x94 - 16f20: 301c adds r0, #28 - 16f22: 47a8 blx r5 + 16974: 2201 movs r2, #1 + 16976: 2194 movs r1, #148 ; 0x94 + 16978: 301c adds r0, #28 + 1697a: 47a8 blx r5 style_init_reset(&styles->arc_bg); - 16f24: 6820 ldr r0, [r4, #0] - 16f26: 3020 adds r0, #32 - 16f28: 4b2b ldr r3, [pc, #172] ; (16fd8 ) - 16f2a: 4798 blx r3 + 1697c: 6820 ldr r0, [r4, #0] + 1697e: 3020 adds r0, #32 + 16980: 4b2b ldr r3, [pc, #172] ; (16a30 ) + 16982: 4798 blx r3 lv_style_set_line_color(&styles->arc_bg, LV_STATE_DEFAULT, COLOR_BG_SEC); - 16f2c: 6820 ldr r0, [r4, #0] - 16f2e: 6a23 ldr r3, [r4, #32] - 16f30: f013 0302 ands.w r3, r3, #2 - 16f34: bf14 ite ne - 16f36: 211a movne r1, #26 - 16f38: 2108 moveq r1, #8 - 16f3a: 2b00 cmp r3, #0 - 16f3c: bf15 itete ne - 16f3e: 2435 movne r4, #53 ; 0x35 - 16f40: 2412 moveq r4, #18 - 16f42: 231b movne r3, #27 - 16f44: 2309 moveq r3, #9 - 16f46: f04f 0200 mov.w r2, #0 - 16f4a: f363 0204 bfi r2, r3, #0, #5 - 16f4e: f364 124a bfi r2, r4, #5, #6 - 16f52: f361 22cf bfi r2, r1, #11, #5 + 16984: 6820 ldr r0, [r4, #0] + 16986: 6a23 ldr r3, [r4, #32] + 16988: f013 0302 ands.w r3, r3, #2 + 1698c: bf14 ite ne + 1698e: 211a movne r1, #26 + 16990: 2108 moveq r1, #8 + 16992: 2b00 cmp r3, #0 + 16994: bf15 itete ne + 16996: 2435 movne r4, #53 ; 0x35 + 16998: 2412 moveq r4, #18 + 1699a: 231b movne r3, #27 + 1699c: 2309 moveq r3, #9 + 1699e: f04f 0200 mov.w r2, #0 + 169a2: f363 0204 bfi r2, r3, #0, #5 + 169a6: f364 124a bfi r2, r4, #5, #6 + 169aa: f361 22cf bfi r2, r1, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_COLOR, line_color, lv_color_t, _color, nonscalar) - 16f56: 2199 movs r1, #153 ; 0x99 - 16f58: 3020 adds r0, #32 - 16f5a: 4b20 ldr r3, [pc, #128] ; (16fdc ) - 16f5c: 4798 blx r3 + 169ae: 2199 movs r1, #153 ; 0x99 + 169b0: 3020 adds r0, #32 + 169b2: 4b20 ldr r3, [pc, #128] ; (16a34 ) + 169b4: 4798 blx r3 lv_style_set_line_width(&styles->arc_bg, LV_STATE_DEFAULT, LV_DPX(25)); - 16f5e: 4b1d ldr r3, [pc, #116] ; (16fd4 ) - 16f60: 681c ldr r4, [r3, #0] - 16f62: 3420 adds r4, #32 - 16f64: 2000 movs r0, #0 - 16f66: 4b1e ldr r3, [pc, #120] ; (16fe0 ) - 16f68: 4798 blx r3 - 16f6a: eb00 0080 add.w r0, r0, r0, lsl #2 - 16f6e: eb00 0080 add.w r0, r0, r0, lsl #2 - 16f72: 3050 adds r0, #80 ; 0x50 - 16f74: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 16f78: da1b bge.n 16fb2 - 16f7a: 2201 movs r2, #1 + 169b6: 4b1d ldr r3, [pc, #116] ; (16a2c ) + 169b8: 681c ldr r4, [r3, #0] + 169ba: 3420 adds r4, #32 + 169bc: 2000 movs r0, #0 + 169be: 4b1e ldr r3, [pc, #120] ; (16a38 ) + 169c0: 4798 blx r3 + 169c2: eb00 0080 add.w r0, r0, r0, lsl #2 + 169c6: eb00 0080 add.w r0, r0, r0, lsl #2 + 169ca: 3050 adds r0, #80 ; 0x50 + 169cc: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 169d0: da1b bge.n 16a0a + 169d2: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_WIDTH, line_width, lv_style_int_t, _int, scalar) - 16f7c: 2190 movs r1, #144 ; 0x90 - 16f7e: 4620 mov r0, r4 - 16f80: 4c18 ldr r4, [pc, #96] ; (16fe4 ) - 16f82: 47a0 blx r4 + 169d4: 2190 movs r1, #144 ; 0x90 + 169d6: 4620 mov r0, r4 + 169d8: 4c18 ldr r4, [pc, #96] ; (16a3c ) + 169da: 47a0 blx r4 lv_style_set_line_rounded(&styles->arc_bg, LV_STATE_DEFAULT, true); - 16f84: 4b13 ldr r3, [pc, #76] ; (16fd4 ) - 16f86: 6818 ldr r0, [r3, #0] + 169dc: 4b13 ldr r3, [pc, #76] ; (16a2c ) + 169de: 6818 ldr r0, [r3, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_ROUNDED, line_rounded, bool, _int, scalar) - 16f88: 2201 movs r2, #1 - 16f8a: 2194 movs r1, #148 ; 0x94 - 16f8c: 3020 adds r0, #32 - 16f8e: 47a0 blx r4 - 16f90: bd38 pop {r3, r4, r5, pc} + 169e0: 2201 movs r2, #1 + 169e2: 2194 movs r1, #148 ; 0x94 + 169e4: 3020 adds r0, #32 + 169e6: 47a0 blx r4 + 169e8: bd38 pop {r3, r4, r5, pc} lv_style_set_line_width(&styles->arc_indic, LV_STATE_DEFAULT, LV_DPX(25)); - 16f92: 2000 movs r0, #0 - 16f94: 4b12 ldr r3, [pc, #72] ; (16fe0 ) - 16f96: 4798 blx r3 - 16f98: eb00 0080 add.w r0, r0, r0, lsl #2 - 16f9c: eb00 0080 add.w r0, r0, r0, lsl #2 - 16fa0: 3050 adds r0, #80 ; 0x50 - 16fa2: 4b11 ldr r3, [pc, #68] ; (16fe8 ) - 16fa4: fb83 2300 smull r2, r3, r3, r0 - 16fa8: 17c2 asrs r2, r0, #31 - 16faa: ebc2 12a3 rsb r2, r2, r3, asr #6 - 16fae: b212 sxth r2, r2 - 16fb0: e7ae b.n 16f10 + 169ea: 2000 movs r0, #0 + 169ec: 4b12 ldr r3, [pc, #72] ; (16a38 ) + 169ee: 4798 blx r3 + 169f0: eb00 0080 add.w r0, r0, r0, lsl #2 + 169f4: eb00 0080 add.w r0, r0, r0, lsl #2 + 169f8: 3050 adds r0, #80 ; 0x50 + 169fa: 4b11 ldr r3, [pc, #68] ; (16a40 ) + 169fc: fb83 2300 smull r2, r3, r3, r0 + 16a00: 17c2 asrs r2, r0, #31 + 16a02: ebc2 12a3 rsb r2, r2, r3, asr #6 + 16a06: b212 sxth r2, r2 + 16a08: e7ae b.n 16968 lv_style_set_line_width(&styles->arc_bg, LV_STATE_DEFAULT, LV_DPX(25)); - 16fb2: 2000 movs r0, #0 - 16fb4: 4b0a ldr r3, [pc, #40] ; (16fe0 ) - 16fb6: 4798 blx r3 - 16fb8: eb00 0080 add.w r0, r0, r0, lsl #2 - 16fbc: eb00 0080 add.w r0, r0, r0, lsl #2 - 16fc0: 3050 adds r0, #80 ; 0x50 - 16fc2: 4b09 ldr r3, [pc, #36] ; (16fe8 ) - 16fc4: fb83 2300 smull r2, r3, r3, r0 - 16fc8: 17c2 asrs r2, r0, #31 - 16fca: ebc2 12a3 rsb r2, r2, r3, asr #6 - 16fce: b212 sxth r2, r2 - 16fd0: e7d4 b.n 16f7c - 16fd2: bf00 nop - 16fd4: 20006bd8 .word 0x20006bd8 - 16fd8: 00015009 .word 0x00015009 - 16fdc: 00006fcd .word 0x00006fcd - 16fe0: 000114e5 .word 0x000114e5 - 16fe4: 00006e89 .word 0x00006e89 - 16fe8: 66666667 .word 0x66666667 - -00016fec : -{ - 16fec: b5f8 push {r3, r4, r5, r6, r7, lr} + 16a0a: 2000 movs r0, #0 + 16a0c: 4b0a ldr r3, [pc, #40] ; (16a38 ) + 16a0e: 4798 blx r3 + 16a10: eb00 0080 add.w r0, r0, r0, lsl #2 + 16a14: eb00 0080 add.w r0, r0, r0, lsl #2 + 16a18: 3050 adds r0, #80 ; 0x50 + 16a1a: 4b09 ldr r3, [pc, #36] ; (16a40 ) + 16a1c: fb83 2300 smull r2, r3, r3, r0 + 16a20: 17c2 asrs r2, r0, #31 + 16a22: ebc2 12a3 rsb r2, r2, r3, asr #6 + 16a26: b212 sxth r2, r2 + 16a28: e7d4 b.n 169d4 + 16a2a: bf00 nop + 16a2c: 20006bd8 .word 0x20006bd8 + 16a30: 00014a61 .word 0x00014a61 + 16a34: 00006a25 .word 0x00006a25 + 16a38: 00010f3d .word 0x00010f3d + 16a3c: 000068e1 .word 0x000068e1 + 16a40: 66666667 .word 0x66666667 + +00016a44 : +{ + 16a44: b5f8 push {r3, r4, r5, r6, r7, lr} style_init_reset(&styles->led); - 16fee: 4c38 ldr r4, [pc, #224] ; (170d0 ) - 16ff0: 6820 ldr r0, [r4, #0] - 16ff2: 306c adds r0, #108 ; 0x6c - 16ff4: 4b37 ldr r3, [pc, #220] ; (170d4 ) - 16ff6: 4798 blx r3 + 16a46: 4c38 ldr r4, [pc, #224] ; (16b28 ) + 16a48: 6820 ldr r0, [r4, #0] + 16a4a: 306c adds r0, #108 ; 0x6c + 16a4c: 4b37 ldr r3, [pc, #220] ; (16b2c ) + 16a4e: 4798 blx r3 lv_style_set_bg_opa(&styles->led, LV_STATE_DEFAULT, LV_OPA_COVER); - 16ff8: 6820 ldr r0, [r4, #0] + 16a50: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 16ffa: 22ff movs r2, #255 ; 0xff - 16ffc: 212c movs r1, #44 ; 0x2c - 16ffe: 306c adds r0, #108 ; 0x6c - 17000: 4d35 ldr r5, [pc, #212] ; (170d8 ) - 17002: 47a8 blx r5 + 16a52: 22ff movs r2, #255 ; 0xff + 16a54: 212c movs r1, #44 ; 0x2c + 16a56: 306c adds r0, #108 ; 0x6c + 16a58: 4d35 ldr r5, [pc, #212] ; (16b30 ) + 16a5a: 47a8 blx r5 lv_style_set_bg_color(&styles->led, LV_STATE_DEFAULT, theme.color_primary); - 17004: 6820 ldr r0, [r4, #0] + 16a5c: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 17006: 89a2 ldrh r2, [r4, #12] - 17008: 2129 movs r1, #41 ; 0x29 - 1700a: 306c adds r0, #108 ; 0x6c - 1700c: 4f33 ldr r7, [pc, #204] ; (170dc ) - 1700e: 47b8 blx r7 + 16a5e: 89a2 ldrh r2, [r4, #12] + 16a60: 2129 movs r1, #41 ; 0x29 + 16a62: 306c adds r0, #108 ; 0x6c + 16a64: 4f33 ldr r7, [pc, #204] ; (16b34 ) + 16a66: 47b8 blx r7 lv_style_set_border_width(&styles->led, LV_STATE_DEFAULT, 2); - 17010: 6820 ldr r0, [r4, #0] + 16a68: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_WIDTH, border_width, lv_style_int_t, _int, scalar) - 17012: 2202 movs r2, #2 - 17014: 2130 movs r1, #48 ; 0x30 - 17016: 306c adds r0, #108 ; 0x6c - 17018: 4e31 ldr r6, [pc, #196] ; (170e0 ) - 1701a: 47b0 blx r6 + 16a6a: 2202 movs r2, #2 + 16a6c: 2130 movs r1, #48 ; 0x30 + 16a6e: 306c adds r0, #108 ; 0x6c + 16a70: 4e31 ldr r6, [pc, #196] ; (16b38 ) + 16a72: 47b0 blx r6 lv_style_set_border_opa(&styles->led, LV_STATE_DEFAULT, LV_OPA_50); - 1701c: 6820 ldr r0, [r4, #0] + 16a74: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_OPA, border_opa, lv_opa_t, _opa, scalar) - 1701e: 227f movs r2, #127 ; 0x7f - 17020: 213c movs r1, #60 ; 0x3c - 17022: 306c adds r0, #108 ; 0x6c - 17024: 47a8 blx r5 + 16a76: 227f movs r2, #127 ; 0x7f + 16a78: 213c movs r1, #60 ; 0x3c + 16a7a: 306c adds r0, #108 ; 0x6c + 16a7c: 47a8 blx r5 lv_style_set_border_color(&styles->led, LV_STATE_DEFAULT, lv_color_lighten(theme.color_primary, LV_OPA_30)); - 17026: 6825 ldr r5, [r4, #0] - 17028: 356c adds r5, #108 ; 0x6c - 1702a: 214c movs r1, #76 ; 0x4c - 1702c: 89a0 ldrh r0, [r4, #12] - 1702e: 4b2d ldr r3, [pc, #180] ; (170e4 ) - 17030: 4798 blx r3 + 16a7e: 6825 ldr r5, [r4, #0] + 16a80: 356c adds r5, #108 ; 0x6c + 16a82: 214c movs r1, #76 ; 0x4c + 16a84: 89a0 ldrh r0, [r4, #12] + 16a86: 4b2d ldr r3, [pc, #180] ; (16b3c ) + 16a88: 4798 blx r3 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_COLOR, border_color, lv_color_t, _color, nonscalar) - 17032: 4602 mov r2, r0 - 17034: 2139 movs r1, #57 ; 0x39 - 17036: 4628 mov r0, r5 - 17038: 47b8 blx r7 + 16a8a: 4602 mov r2, r0 + 16a8c: 2139 movs r1, #57 ; 0x39 + 16a8e: 4628 mov r0, r5 + 16a90: 47b8 blx r7 lv_style_set_radius(&styles->led, LV_STATE_DEFAULT, LV_RADIUS_CIRCLE); - 1703a: 6820 ldr r0, [r4, #0] + 16a92: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 1703c: f647 72ff movw r2, #32767 ; 0x7fff - 17040: 2101 movs r1, #1 - 17042: 306c adds r0, #108 ; 0x6c - 17044: 47b0 blx r6 + 16a94: f647 72ff movw r2, #32767 ; 0x7fff + 16a98: 2101 movs r1, #1 + 16a9a: 306c adds r0, #108 ; 0x6c + 16a9c: 47b0 blx r6 lv_style_set_shadow_width(&styles->led, LV_STATE_DEFAULT, LV_DPX(15)); - 17046: 6824 ldr r4, [r4, #0] - 17048: 346c adds r4, #108 ; 0x6c - 1704a: 2000 movs r0, #0 - 1704c: 4b26 ldr r3, [pc, #152] ; (170e8 ) - 1704e: 4798 blx r3 - 17050: ebc0 1000 rsb r0, r0, r0, lsl #4 - 17054: 3050 adds r0, #80 ; 0x50 - 17056: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 1705a: da1c bge.n 17096 - 1705c: 2201 movs r2, #1 + 16a9e: 6824 ldr r4, [r4, #0] + 16aa0: 346c adds r4, #108 ; 0x6c + 16aa2: 2000 movs r0, #0 + 16aa4: 4b26 ldr r3, [pc, #152] ; (16b40 ) + 16aa6: 4798 blx r3 + 16aa8: ebc0 1000 rsb r0, r0, r0, lsl #4 + 16aac: 3050 adds r0, #80 ; 0x50 + 16aae: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 16ab2: da1c bge.n 16aee + 16ab4: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_WIDTH, shadow_width, lv_style_int_t, _int, scalar) - 1705e: 2150 movs r1, #80 ; 0x50 - 17060: 4620 mov r0, r4 - 17062: 4b1f ldr r3, [pc, #124] ; (170e0 ) - 17064: 4798 blx r3 + 16ab6: 2150 movs r1, #80 ; 0x50 + 16ab8: 4620 mov r0, r4 + 16aba: 4b1f ldr r3, [pc, #124] ; (16b38 ) + 16abc: 4798 blx r3 lv_style_set_shadow_color(&styles->led, LV_STATE_DEFAULT, theme.color_primary); - 17066: 4c1a ldr r4, [pc, #104] ; (170d0 ) - 17068: 6820 ldr r0, [r4, #0] + 16abe: 4c1a ldr r4, [pc, #104] ; (16b28 ) + 16ac0: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_COLOR, shadow_color, lv_color_t, _color, nonscalar) - 1706a: 89a2 ldrh r2, [r4, #12] - 1706c: 2159 movs r1, #89 ; 0x59 - 1706e: 306c adds r0, #108 ; 0x6c - 17070: 4b1a ldr r3, [pc, #104] ; (170dc ) - 17072: 4798 blx r3 + 16ac2: 89a2 ldrh r2, [r4, #12] + 16ac4: 2159 movs r1, #89 ; 0x59 + 16ac6: 306c adds r0, #108 ; 0x6c + 16ac8: 4b1a ldr r3, [pc, #104] ; (16b34 ) + 16aca: 4798 blx r3 lv_style_set_shadow_spread(&styles->led, LV_STATE_DEFAULT, LV_DPX(5)); - 17074: 6824 ldr r4, [r4, #0] - 17076: 346c adds r4, #108 ; 0x6c - 17078: 2000 movs r0, #0 - 1707a: 4b1b ldr r3, [pc, #108] ; (170e8 ) - 1707c: 4798 blx r3 - 1707e: eb00 0080 add.w r0, r0, r0, lsl #2 - 17082: 3050 adds r0, #80 ; 0x50 - 17084: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 17088: da13 bge.n 170b2 - 1708a: 2201 movs r2, #1 + 16acc: 6824 ldr r4, [r4, #0] + 16ace: 346c adds r4, #108 ; 0x6c + 16ad0: 2000 movs r0, #0 + 16ad2: 4b1b ldr r3, [pc, #108] ; (16b40 ) + 16ad4: 4798 blx r3 + 16ad6: eb00 0080 add.w r0, r0, r0, lsl #2 + 16ada: 3050 adds r0, #80 ; 0x50 + 16adc: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 16ae0: da13 bge.n 16b0a + 16ae2: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_SPREAD, shadow_spread, lv_style_int_t, _int, scalar) - 1708c: 2153 movs r1, #83 ; 0x53 - 1708e: 4620 mov r0, r4 - 17090: 4b13 ldr r3, [pc, #76] ; (170e0 ) - 17092: 4798 blx r3 - 17094: bdf8 pop {r3, r4, r5, r6, r7, pc} + 16ae4: 2153 movs r1, #83 ; 0x53 + 16ae6: 4620 mov r0, r4 + 16ae8: 4b13 ldr r3, [pc, #76] ; (16b38 ) + 16aea: 4798 blx r3 + 16aec: bdf8 pop {r3, r4, r5, r6, r7, pc} lv_style_set_shadow_width(&styles->led, LV_STATE_DEFAULT, LV_DPX(15)); - 17096: 2000 movs r0, #0 - 17098: 4b13 ldr r3, [pc, #76] ; (170e8 ) - 1709a: 4798 blx r3 - 1709c: ebc0 1000 rsb r0, r0, r0, lsl #4 - 170a0: 3050 adds r0, #80 ; 0x50 - 170a2: 4b12 ldr r3, [pc, #72] ; (170ec ) - 170a4: fb83 2300 smull r2, r3, r3, r0 - 170a8: 17c2 asrs r2, r0, #31 - 170aa: ebc2 12a3 rsb r2, r2, r3, asr #6 - 170ae: b212 sxth r2, r2 - 170b0: e7d5 b.n 1705e + 16aee: 2000 movs r0, #0 + 16af0: 4b13 ldr r3, [pc, #76] ; (16b40 ) + 16af2: 4798 blx r3 + 16af4: ebc0 1000 rsb r0, r0, r0, lsl #4 + 16af8: 3050 adds r0, #80 ; 0x50 + 16afa: 4b12 ldr r3, [pc, #72] ; (16b44 ) + 16afc: fb83 2300 smull r2, r3, r3, r0 + 16b00: 17c2 asrs r2, r0, #31 + 16b02: ebc2 12a3 rsb r2, r2, r3, asr #6 + 16b06: b212 sxth r2, r2 + 16b08: e7d5 b.n 16ab6 lv_style_set_shadow_spread(&styles->led, LV_STATE_DEFAULT, LV_DPX(5)); - 170b2: 2000 movs r0, #0 - 170b4: 4b0c ldr r3, [pc, #48] ; (170e8 ) - 170b6: 4798 blx r3 - 170b8: eb00 0080 add.w r0, r0, r0, lsl #2 - 170bc: 3050 adds r0, #80 ; 0x50 - 170be: 4b0b ldr r3, [pc, #44] ; (170ec ) - 170c0: fb83 2300 smull r2, r3, r3, r0 - 170c4: 17c2 asrs r2, r0, #31 - 170c6: ebc2 12a3 rsb r2, r2, r3, asr #6 - 170ca: b212 sxth r2, r2 - 170cc: e7de b.n 1708c - 170ce: bf00 nop - 170d0: 20006bd8 .word 0x20006bd8 - 170d4: 00015009 .word 0x00015009 - 170d8: 00007111 .word 0x00007111 - 170dc: 00006fcd .word 0x00006fcd - 170e0: 00006e89 .word 0x00006e89 - 170e4: 0001214f .word 0x0001214f - 170e8: 000114e5 .word 0x000114e5 - 170ec: 66666667 .word 0x66666667 - -000170f0 : -{ - 170f0: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - 170f4: 4680 mov r8, r0 - 170f6: 460f mov r7, r1 - 170f8: 4615 mov r5, r2 - 170fa: 461e mov r6, r3 + 16b0a: 2000 movs r0, #0 + 16b0c: 4b0c ldr r3, [pc, #48] ; (16b40 ) + 16b0e: 4798 blx r3 + 16b10: eb00 0080 add.w r0, r0, r0, lsl #2 + 16b14: 3050 adds r0, #80 ; 0x50 + 16b16: 4b0b ldr r3, [pc, #44] ; (16b44 ) + 16b18: fb83 2300 smull r2, r3, r3, r0 + 16b1c: 17c2 asrs r2, r0, #31 + 16b1e: ebc2 12a3 rsb r2, r2, r3, asr #6 + 16b22: b212 sxth r2, r2 + 16b24: e7de b.n 16ae4 + 16b26: bf00 nop + 16b28: 20006bd8 .word 0x20006bd8 + 16b2c: 00014a61 .word 0x00014a61 + 16b30: 00006b69 .word 0x00006b69 + 16b34: 00006a25 .word 0x00006a25 + 16b38: 000068e1 .word 0x000068e1 + 16b3c: 00011ba7 .word 0x00011ba7 + 16b40: 00010f3d .word 0x00010f3d + 16b44: 66666667 .word 0x66666667 + +00016b48 : +{ + 16b48: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} + 16b4c: 4680 mov r8, r0 + 16b4e: 460f mov r7, r1 + 16b50: 4615 mov r5, r2 + 16b52: 461e mov r6, r3 if(!inited) { - 170fc: 4bb2 ldr r3, [pc, #712] ; (173c8 ) - 170fe: 791b ldrb r3, [r3, #4] - 17100: 2b00 cmp r3, #0 - 17102: f001 8369 beq.w 187d8 + 16b54: 4bb2 ldr r3, [pc, #712] ; (16e20 ) + 16b56: 791b ldrb r3, [r3, #4] + 16b58: 2b00 cmp r3, #0 + 16b5a: f001 8369 beq.w 18230 theme.color_primary = color_primary; - 17106: 4cb0 ldr r4, [pc, #704] ; (173c8 ) - 17108: f8a4 800c strh.w r8, [r4, #12] + 16b5e: 4cb0 ldr r4, [pc, #704] ; (16e20 ) + 16b60: f8a4 800c strh.w r8, [r4, #12] theme.color_secondary = color_secondary; - 1710c: 81e7 strh r7, [r4, #14] + 16b64: 81e7 strh r7, [r4, #14] theme.font_small = font_small; - 1710e: 6126 str r6, [r4, #16] + 16b66: 6126 str r6, [r4, #16] theme.font_normal = font_normal; - 17110: 9b06 ldr r3, [sp, #24] - 17112: 6163 str r3, [r4, #20] + 16b68: 9b06 ldr r3, [sp, #24] + 16b6a: 6163 str r3, [r4, #20] theme.font_subtitle = font_subtitle; - 17114: 9b07 ldr r3, [sp, #28] - 17116: 61a3 str r3, [r4, #24] + 16b6c: 9b07 ldr r3, [sp, #28] + 16b6e: 61a3 str r3, [r4, #24] theme.font_title = font_title; - 17118: 9b08 ldr r3, [sp, #32] - 1711a: 61e3 str r3, [r4, #28] + 16b70: 9b08 ldr r3, [sp, #32] + 16b72: 61e3 str r3, [r4, #28] theme.flags = flags; - 1711c: 6225 str r5, [r4, #32] + 16b74: 6225 str r5, [r4, #32] basic_init(); - 1711e: 4bab ldr r3, [pc, #684] ; (173cc ) - 17120: 4798 blx r3 + 16b76: 4bab ldr r3, [pc, #684] ; (16e24 ) + 16b78: 4798 blx r3 bar_init(); - 17122: 4bab ldr r3, [pc, #684] ; (173d0 ) - 17124: 4798 blx r3 + 16b7a: 4bab ldr r3, [pc, #684] ; (16e28 ) + 16b7c: 4798 blx r3 led_init(); - 17126: 4bab ldr r3, [pc, #684] ; (173d4 ) - 17128: 4798 blx r3 + 16b7e: 4bab ldr r3, [pc, #684] ; (16e2c ) + 16b80: 4798 blx r3 slider_init(); - 1712a: 4bab ldr r3, [pc, #684] ; (173d8 ) - 1712c: 4798 blx r3 + 16b82: 4bab ldr r3, [pc, #684] ; (16e30 ) + 16b84: 4798 blx r3 switch_init(); - 1712e: 4bab ldr r3, [pc, #684] ; (173dc ) - 17130: 4798 blx r3 + 16b86: 4bab ldr r3, [pc, #684] ; (16e34 ) + 16b88: 4798 blx r3 linemeter_init(); - 17132: 4bab ldr r3, [pc, #684] ; (173e0 ) - 17134: 4798 blx r3 + 16b8a: 4bab ldr r3, [pc, #684] ; (16e38 ) + 16b8c: 4798 blx r3 gauge_init(); - 17136: 4bab ldr r3, [pc, #684] ; (173e4 ) - 17138: 4798 blx r3 + 16b8e: 4bab ldr r3, [pc, #684] ; (16e3c ) + 16b90: 4798 blx r3 arc_init(); - 1713a: 4bab ldr r3, [pc, #684] ; (173e8 ) - 1713c: 4798 blx r3 + 16b92: 4bab ldr r3, [pc, #684] ; (16e40 ) + 16b94: 4798 blx r3 style_init_reset(&styles->chart_bg); - 1713e: 6820 ldr r0, [r4, #0] - 17140: 3040 adds r0, #64 ; 0x40 - 17142: 4baa ldr r3, [pc, #680] ; (173ec ) - 17144: 4798 blx r3 + 16b96: 6820 ldr r0, [r4, #0] + 16b98: 3040 adds r0, #64 ; 0x40 + 16b9a: 4baa ldr r3, [pc, #680] ; (16e44 ) + 16b9c: 4798 blx r3 lv_style_set_text_color(&styles->chart_bg, LV_STATE_DEFAULT, IS_LIGHT ? COLOR_BG_TEXT_DIS : lv_color_hex(0xa1adbd)); - 17146: 6820 ldr r0, [r4, #0] - 17148: 3040 adds r0, #64 ; 0x40 - 1714a: 6a23 ldr r3, [r4, #32] - 1714c: f013 0f02 tst.w r3, #2 - 17150: f041 834b bne.w 187ea - 17154: 2314 movs r3, #20 - 17156: 212b movs r1, #43 ; 0x2b - 17158: 2417 movs r4, #23 - 1715a: f04f 0200 mov.w r2, #0 - 1715e: f364 0204 bfi r2, r4, #0, #5 - 17162: f361 124a bfi r2, r1, #5, #6 - 17166: f363 22cf bfi r2, r3, #11, #5 + 16b9e: 6820 ldr r0, [r4, #0] + 16ba0: 3040 adds r0, #64 ; 0x40 + 16ba2: 6a23 ldr r3, [r4, #32] + 16ba4: f013 0f02 tst.w r3, #2 + 16ba8: f041 834b bne.w 18242 + 16bac: 2314 movs r3, #20 + 16bae: 212b movs r1, #43 ; 0x2b + 16bb0: 2417 movs r4, #23 + 16bb2: f04f 0200 mov.w r2, #0 + 16bb6: f364 0204 bfi r2, r4, #0, #5 + 16bba: f361 124a bfi r2, r1, #5, #6 + 16bbe: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar) - 1716a: f248 0189 movw r1, #32905 ; 0x8089 - 1716e: 4ba0 ldr r3, [pc, #640] ; (173f0 ) - 17170: 4798 blx r3 + 16bc2: f248 0189 movw r1, #32905 ; 0x8089 + 16bc6: 4ba0 ldr r3, [pc, #640] ; (16e48 ) + 16bc8: 4798 blx r3 style_init_reset(&styles->chart_series_bg); - 17172: 4c95 ldr r4, [pc, #596] ; (173c8 ) - 17174: 6820 ldr r0, [r4, #0] - 17176: 3044 adds r0, #68 ; 0x44 - 17178: 4b9c ldr r3, [pc, #624] ; (173ec ) - 1717a: 4798 blx r3 + 16bca: 4c95 ldr r4, [pc, #596] ; (16e20 ) + 16bcc: 6820 ldr r0, [r4, #0] + 16bce: 3044 adds r0, #68 ; 0x44 + 16bd0: 4b9c ldr r3, [pc, #624] ; (16e44 ) + 16bd2: 4798 blx r3 lv_style_set_line_width(&styles->chart_series_bg, LV_STATE_DEFAULT, LV_DPX(1)); - 1717c: 6824 ldr r4, [r4, #0] - 1717e: 3444 adds r4, #68 ; 0x44 - 17180: 2000 movs r0, #0 - 17182: 4b9c ldr r3, [pc, #624] ; (173f4 ) - 17184: 4798 blx r3 - 17186: 3050 adds r0, #80 ; 0x50 - 17188: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 1718c: f281 8332 bge.w 187f4 - 17190: 2201 movs r2, #1 + 16bd4: 6824 ldr r4, [r4, #0] + 16bd6: 3444 adds r4, #68 ; 0x44 + 16bd8: 2000 movs r0, #0 + 16bda: 4b9c ldr r3, [pc, #624] ; (16e4c ) + 16bdc: 4798 blx r3 + 16bde: 3050 adds r0, #80 ; 0x50 + 16be0: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 16be4: f281 8332 bge.w 1824c + 16be8: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_WIDTH, line_width, lv_style_int_t, _int, scalar) - 17192: 2190 movs r1, #144 ; 0x90 - 17194: 4620 mov r0, r4 - 17196: 4b98 ldr r3, [pc, #608] ; (173f8 ) - 17198: 4798 blx r3 + 16bea: 2190 movs r1, #144 ; 0x90 + 16bec: 4620 mov r0, r4 + 16bee: 4b98 ldr r3, [pc, #608] ; (16e50 ) + 16bf0: 4798 blx r3 lv_style_set_line_dash_width(&styles->chart_series_bg, LV_STATE_DEFAULT, LV_DPX(10)); - 1719a: 4b8b ldr r3, [pc, #556] ; (173c8 ) - 1719c: 681c ldr r4, [r3, #0] - 1719e: 3444 adds r4, #68 ; 0x44 - 171a0: 2000 movs r0, #0 - 171a2: 4b94 ldr r3, [pc, #592] ; (173f4 ) - 171a4: 4798 blx r3 - 171a6: eb00 0080 add.w r0, r0, r0, lsl #2 - 171aa: 0040 lsls r0, r0, #1 - 171ac: 3050 adds r0, #80 ; 0x50 - 171ae: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 171b2: f281 832c bge.w 1880e - 171b6: 2201 movs r2, #1 + 16bf2: 4b8b ldr r3, [pc, #556] ; (16e20 ) + 16bf4: 681c ldr r4, [r3, #0] + 16bf6: 3444 adds r4, #68 ; 0x44 + 16bf8: 2000 movs r0, #0 + 16bfa: 4b94 ldr r3, [pc, #592] ; (16e4c ) + 16bfc: 4798 blx r3 + 16bfe: eb00 0080 add.w r0, r0, r0, lsl #2 + 16c02: 0040 lsls r0, r0, #1 + 16c04: 3050 adds r0, #80 ; 0x50 + 16c06: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 16c0a: f281 832c bge.w 18266 + 16c0e: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_DASH_WIDTH, line_dash_width, lv_style_int_t, _int, scalar) - 171b8: 2192 movs r1, #146 ; 0x92 - 171ba: 4620 mov r0, r4 - 171bc: 4b8e ldr r3, [pc, #568] ; (173f8 ) - 171be: 4798 blx r3 + 16c10: 2192 movs r1, #146 ; 0x92 + 16c12: 4620 mov r0, r4 + 16c14: 4b8e ldr r3, [pc, #568] ; (16e50 ) + 16c16: 4798 blx r3 lv_style_set_line_dash_gap(&styles->chart_series_bg, LV_STATE_DEFAULT, LV_DPX(10)); - 171c0: 4b81 ldr r3, [pc, #516] ; (173c8 ) - 171c2: 681c ldr r4, [r3, #0] - 171c4: 3444 adds r4, #68 ; 0x44 - 171c6: 2000 movs r0, #0 - 171c8: 4b8a ldr r3, [pc, #552] ; (173f4 ) - 171ca: 4798 blx r3 - 171cc: eb00 0080 add.w r0, r0, r0, lsl #2 - 171d0: 0040 lsls r0, r0, #1 - 171d2: 3050 adds r0, #80 ; 0x50 - 171d4: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 171d8: f281 8329 bge.w 1882e - 171dc: 2201 movs r2, #1 + 16c18: 4b81 ldr r3, [pc, #516] ; (16e20 ) + 16c1a: 681c ldr r4, [r3, #0] + 16c1c: 3444 adds r4, #68 ; 0x44 + 16c1e: 2000 movs r0, #0 + 16c20: 4b8a ldr r3, [pc, #552] ; (16e4c ) + 16c22: 4798 blx r3 + 16c24: eb00 0080 add.w r0, r0, r0, lsl #2 + 16c28: 0040 lsls r0, r0, #1 + 16c2a: 3050 adds r0, #80 ; 0x50 + 16c2c: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 16c30: f281 8329 bge.w 18286 + 16c34: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_DASH_GAP, line_dash_gap, lv_style_int_t, _int, scalar) - 171de: 2193 movs r1, #147 ; 0x93 - 171e0: 4620 mov r0, r4 - 171e2: 4b85 ldr r3, [pc, #532] ; (173f8 ) - 171e4: 4798 blx r3 + 16c36: 2193 movs r1, #147 ; 0x93 + 16c38: 4620 mov r0, r4 + 16c3a: 4b85 ldr r3, [pc, #532] ; (16e50 ) + 16c3c: 4798 blx r3 lv_style_set_line_color(&styles->chart_series_bg, LV_STATE_DEFAULT, COLOR_BG_BORDER); - 171e6: 4b78 ldr r3, [pc, #480] ; (173c8 ) - 171e8: 6818 ldr r0, [r3, #0] - 171ea: 6a1b ldr r3, [r3, #32] - 171ec: f013 0302 ands.w r3, r3, #2 - 171f0: bf14 ite ne - 171f2: 211a movne r1, #26 - 171f4: 2110 moveq r1, #16 - 171f6: 2b00 cmp r3, #0 - 171f8: bf15 itete ne - 171fa: 2437 movne r4, #55 ; 0x37 - 171fc: 2422 moveq r4, #34 ; 0x22 - 171fe: 231c movne r3, #28 - 17200: 2312 moveq r3, #18 - 17202: f04f 0200 mov.w r2, #0 - 17206: f363 0204 bfi r2, r3, #0, #5 - 1720a: f364 124a bfi r2, r4, #5, #6 - 1720e: f361 22cf bfi r2, r1, #11, #5 + 16c3e: 4b78 ldr r3, [pc, #480] ; (16e20 ) + 16c40: 6818 ldr r0, [r3, #0] + 16c42: 6a1b ldr r3, [r3, #32] + 16c44: f013 0302 ands.w r3, r3, #2 + 16c48: bf14 ite ne + 16c4a: 211a movne r1, #26 + 16c4c: 2110 moveq r1, #16 + 16c4e: 2b00 cmp r3, #0 + 16c50: bf15 itete ne + 16c52: 2437 movne r4, #55 ; 0x37 + 16c54: 2422 moveq r4, #34 ; 0x22 + 16c56: 231c movne r3, #28 + 16c58: 2312 moveq r3, #18 + 16c5a: f04f 0200 mov.w r2, #0 + 16c5e: f363 0204 bfi r2, r3, #0, #5 + 16c62: f364 124a bfi r2, r4, #5, #6 + 16c66: f361 22cf bfi r2, r1, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_COLOR, line_color, lv_color_t, _color, nonscalar) - 17212: 2199 movs r1, #153 ; 0x99 - 17214: 3044 adds r0, #68 ; 0x44 - 17216: 4b76 ldr r3, [pc, #472] ; (173f0 ) - 17218: 4798 blx r3 + 16c6a: 2199 movs r1, #153 ; 0x99 + 16c6c: 3044 adds r0, #68 ; 0x44 + 16c6e: 4b76 ldr r3, [pc, #472] ; (16e48 ) + 16c70: 4798 blx r3 style_init_reset(&styles->chart_series); - 1721a: 4c6b ldr r4, [pc, #428] ; (173c8 ) - 1721c: 6820 ldr r0, [r4, #0] - 1721e: 3048 adds r0, #72 ; 0x48 - 17220: 4b72 ldr r3, [pc, #456] ; (173ec ) - 17222: 4798 blx r3 + 16c72: 4c6b ldr r4, [pc, #428] ; (16e20 ) + 16c74: 6820 ldr r0, [r4, #0] + 16c76: 3048 adds r0, #72 ; 0x48 + 16c78: 4b72 ldr r3, [pc, #456] ; (16e44 ) + 16c7a: 4798 blx r3 lv_style_set_line_width(&styles->chart_series, LV_STATE_DEFAULT, LV_DPX(3)); - 17224: 6824 ldr r4, [r4, #0] - 17226: 3448 adds r4, #72 ; 0x48 - 17228: 2000 movs r0, #0 - 1722a: 4b72 ldr r3, [pc, #456] ; (173f4 ) - 1722c: 4798 blx r3 - 1722e: eb00 0040 add.w r0, r0, r0, lsl #1 - 17232: 3050 adds r0, #80 ; 0x50 - 17234: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 17238: f281 8309 bge.w 1884e - 1723c: 2201 movs r2, #1 + 16c7c: 6824 ldr r4, [r4, #0] + 16c7e: 3448 adds r4, #72 ; 0x48 + 16c80: 2000 movs r0, #0 + 16c82: 4b72 ldr r3, [pc, #456] ; (16e4c ) + 16c84: 4798 blx r3 + 16c86: eb00 0040 add.w r0, r0, r0, lsl #1 + 16c8a: 3050 adds r0, #80 ; 0x50 + 16c8c: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 16c90: f281 8309 bge.w 182a6 + 16c94: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_WIDTH, line_width, lv_style_int_t, _int, scalar) - 1723e: 2190 movs r1, #144 ; 0x90 - 17240: 4620 mov r0, r4 - 17242: 4b6d ldr r3, [pc, #436] ; (173f8 ) - 17244: 4798 blx r3 + 16c96: 2190 movs r1, #144 ; 0x90 + 16c98: 4620 mov r0, r4 + 16c9a: 4b6d ldr r3, [pc, #436] ; (16e50 ) + 16c9c: 4798 blx r3 lv_style_set_size(&styles->chart_series, LV_STATE_DEFAULT, LV_DPX(4)); - 17246: 4b60 ldr r3, [pc, #384] ; (173c8 ) - 17248: 681c ldr r4, [r3, #0] - 1724a: 3448 adds r4, #72 ; 0x48 - 1724c: 2000 movs r0, #0 - 1724e: 4b69 ldr r3, [pc, #420] ; (173f4 ) - 17250: 4798 blx r3 - 17252: 3014 adds r0, #20 - 17254: 0080 lsls r0, r0, #2 - 17256: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 1725a: f281 8307 bge.w 1886c - 1725e: 2201 movs r2, #1 + 16c9e: 4b60 ldr r3, [pc, #384] ; (16e20 ) + 16ca0: 681c ldr r4, [r3, #0] + 16ca2: 3448 adds r4, #72 ; 0x48 + 16ca4: 2000 movs r0, #0 + 16ca6: 4b69 ldr r3, [pc, #420] ; (16e4c ) + 16ca8: 4798 blx r3 + 16caa: 3014 adds r0, #20 + 16cac: 0080 lsls r0, r0, #2 + 16cae: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 16cb2: f281 8307 bge.w 182c4 + 16cb6: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(SIZE, size, lv_style_int_t, _int, scalar) - 17260: 2103 movs r1, #3 - 17262: 4620 mov r0, r4 - 17264: 4b64 ldr r3, [pc, #400] ; (173f8 ) - 17266: 4798 blx r3 + 16cb8: 2103 movs r1, #3 + 16cba: 4620 mov r0, r4 + 16cbc: 4b64 ldr r3, [pc, #400] ; (16e50 ) + 16cbe: 4798 blx r3 lv_style_set_pad_inner(&styles->chart_series, LV_STATE_DEFAULT, LV_DPX(2)); /*Space between columns*/ - 17268: 4b57 ldr r3, [pc, #348] ; (173c8 ) - 1726a: 681c ldr r4, [r3, #0] - 1726c: 3448 adds r4, #72 ; 0x48 - 1726e: 2000 movs r0, #0 - 17270: 4b60 ldr r3, [pc, #384] ; (173f4 ) - 17272: 4798 blx r3 - 17274: 3028 adds r0, #40 ; 0x28 - 17276: 0040 lsls r0, r0, #1 - 17278: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 1727c: f281 8304 bge.w 18888 - 17280: 2201 movs r2, #1 + 16cc0: 4b57 ldr r3, [pc, #348] ; (16e20 ) + 16cc2: 681c ldr r4, [r3, #0] + 16cc4: 3448 adds r4, #72 ; 0x48 + 16cc6: 2000 movs r0, #0 + 16cc8: 4b60 ldr r3, [pc, #384] ; (16e4c ) + 16cca: 4798 blx r3 + 16ccc: 3028 adds r0, #40 ; 0x28 + 16cce: 0040 lsls r0, r0, #1 + 16cd0: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 16cd4: f281 8304 bge.w 182e0 + 16cd8: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_INNER, pad_inner, lv_style_int_t, _int, scalar) - 17282: 2114 movs r1, #20 - 17284: 4620 mov r0, r4 - 17286: 4b5c ldr r3, [pc, #368] ; (173f8 ) - 17288: 4798 blx r3 + 16cda: 2114 movs r1, #20 + 16cdc: 4620 mov r0, r4 + 16cde: 4b5c ldr r3, [pc, #368] ; (16e50 ) + 16ce0: 4798 blx r3 lv_style_set_radius(&styles->chart_series, LV_STATE_DEFAULT, LV_DPX(1)); - 1728a: 4b4f ldr r3, [pc, #316] ; (173c8 ) - 1728c: 681c ldr r4, [r3, #0] - 1728e: 3448 adds r4, #72 ; 0x48 - 17290: 2000 movs r0, #0 - 17292: 4b58 ldr r3, [pc, #352] ; (173f4 ) - 17294: 4798 blx r3 - 17296: 3050 adds r0, #80 ; 0x50 - 17298: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 1729c: f281 8302 bge.w 188a4 - 172a0: 2201 movs r2, #1 + 16ce2: 4b4f ldr r3, [pc, #316] ; (16e20 ) + 16ce4: 681c ldr r4, [r3, #0] + 16ce6: 3448 adds r4, #72 ; 0x48 + 16ce8: 2000 movs r0, #0 + 16cea: 4b58 ldr r3, [pc, #352] ; (16e4c ) + 16cec: 4798 blx r3 + 16cee: 3050 adds r0, #80 ; 0x50 + 16cf0: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 16cf4: f281 8302 bge.w 182fc + 16cf8: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 172a2: 2101 movs r1, #1 - 172a4: 4620 mov r0, r4 - 172a6: 4b54 ldr r3, [pc, #336] ; (173f8 ) - 172a8: 4798 blx r3 + 16cfa: 2101 movs r1, #1 + 16cfc: 4620 mov r0, r4 + 16cfe: 4b54 ldr r3, [pc, #336] ; (16e50 ) + 16d00: 4798 blx r3 style_init_reset(&styles->calendar_header); - 172aa: 4c47 ldr r4, [pc, #284] ; (173c8 ) - 172ac: 6820 ldr r0, [r4, #0] - 172ae: 3030 adds r0, #48 ; 0x30 - 172b0: 4b4e ldr r3, [pc, #312] ; (173ec ) - 172b2: 4798 blx r3 + 16d02: 4c47 ldr r4, [pc, #284] ; (16e20 ) + 16d04: 6820 ldr r0, [r4, #0] + 16d06: 3030 adds r0, #48 ; 0x30 + 16d08: 4b4e ldr r3, [pc, #312] ; (16e44 ) + 16d0a: 4798 blx r3 lv_style_set_pad_top(&styles->calendar_header, LV_STATE_DEFAULT, PAD_DEF); - 172b4: 6824 ldr r4, [r4, #0] - 172b6: 3430 adds r4, #48 ; 0x30 - 172b8: 2000 movs r0, #0 - 172ba: 4b50 ldr r3, [pc, #320] ; (173fc ) - 172bc: 4798 blx r3 - 172be: 2801 cmp r0, #1 - 172c0: f241 82fd bls.w 188be - 172c4: 2000 movs r0, #0 - 172c6: 4b4b ldr r3, [pc, #300] ; (173f4 ) - 172c8: 4798 blx r3 - 172ca: ebc0 1000 rsb r0, r0, r0, lsl #4 - 172ce: 0040 lsls r0, r0, #1 - 172d0: 3050 adds r0, #80 ; 0x50 - 172d2: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 172d6: f281 830d bge.w 188f4 - 172da: 2201 movs r2, #1 + 16d0c: 6824 ldr r4, [r4, #0] + 16d0e: 3430 adds r4, #48 ; 0x30 + 16d10: 2000 movs r0, #0 + 16d12: 4b50 ldr r3, [pc, #320] ; (16e54 ) + 16d14: 4798 blx r3 + 16d16: 2801 cmp r0, #1 + 16d18: f241 82fd bls.w 18316 + 16d1c: 2000 movs r0, #0 + 16d1e: 4b4b ldr r3, [pc, #300] ; (16e4c ) + 16d20: 4798 blx r3 + 16d22: ebc0 1000 rsb r0, r0, r0, lsl #4 + 16d26: 0040 lsls r0, r0, #1 + 16d28: 3050 adds r0, #80 ; 0x50 + 16d2a: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 16d2e: f281 830d bge.w 1834c + 16d32: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) - 172dc: 2110 movs r1, #16 - 172de: 4620 mov r0, r4 - 172e0: 4b45 ldr r3, [pc, #276] ; (173f8 ) - 172e2: 4798 blx r3 + 16d34: 2110 movs r1, #16 + 16d36: 4620 mov r0, r4 + 16d38: 4b45 ldr r3, [pc, #276] ; (16e50 ) + 16d3a: 4798 blx r3 lv_style_set_pad_left(&styles->calendar_header, LV_STATE_DEFAULT, PAD_DEF); - 172e4: 4b38 ldr r3, [pc, #224] ; (173c8 ) - 172e6: 681c ldr r4, [r3, #0] - 172e8: 3430 adds r4, #48 ; 0x30 - 172ea: 2000 movs r0, #0 - 172ec: 4b43 ldr r3, [pc, #268] ; (173fc ) - 172ee: 4798 blx r3 - 172f0: 2801 cmp r0, #1 - 172f2: f241 830f bls.w 18914 - 172f6: 2000 movs r0, #0 - 172f8: 4b3e ldr r3, [pc, #248] ; (173f4 ) - 172fa: 4798 blx r3 - 172fc: ebc0 1000 rsb r0, r0, r0, lsl #4 - 17300: 0040 lsls r0, r0, #1 - 17302: 3050 adds r0, #80 ; 0x50 - 17304: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 17308: f281 8336 bge.w 18978 - 1730c: 2201 movs r2, #1 + 16d3c: 4b38 ldr r3, [pc, #224] ; (16e20 ) + 16d3e: 681c ldr r4, [r3, #0] + 16d40: 3430 adds r4, #48 ; 0x30 + 16d42: 2000 movs r0, #0 + 16d44: 4b43 ldr r3, [pc, #268] ; (16e54 ) + 16d46: 4798 blx r3 + 16d48: 2801 cmp r0, #1 + 16d4a: f241 830f bls.w 1836c + 16d4e: 2000 movs r0, #0 + 16d50: 4b3e ldr r3, [pc, #248] ; (16e4c ) + 16d52: 4798 blx r3 + 16d54: ebc0 1000 rsb r0, r0, r0, lsl #4 + 16d58: 0040 lsls r0, r0, #1 + 16d5a: 3050 adds r0, #80 ; 0x50 + 16d5c: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 16d60: f281 8336 bge.w 183d0 + 16d64: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 1730e: 2112 movs r1, #18 - 17310: 4620 mov r0, r4 - 17312: 4b39 ldr r3, [pc, #228] ; (173f8 ) - 17314: 4798 blx r3 + 16d66: 2112 movs r1, #18 + 16d68: 4620 mov r0, r4 + 16d6a: 4b39 ldr r3, [pc, #228] ; (16e50 ) + 16d6c: 4798 blx r3 lv_style_set_pad_right(&styles->calendar_header, LV_STATE_DEFAULT, PAD_DEF); - 17316: 4b2c ldr r3, [pc, #176] ; (173c8 ) - 17318: 681c ldr r4, [r3, #0] - 1731a: 3430 adds r4, #48 ; 0x30 - 1731c: 2000 movs r0, #0 - 1731e: 4b37 ldr r3, [pc, #220] ; (173fc ) - 17320: 4798 blx r3 - 17322: 2801 cmp r0, #1 - 17324: f241 8338 bls.w 18998 - 17328: 2000 movs r0, #0 - 1732a: 4b32 ldr r3, [pc, #200] ; (173f4 ) - 1732c: 4798 blx r3 - 1732e: ebc0 1000 rsb r0, r0, r0, lsl #4 - 17332: 0040 lsls r0, r0, #1 - 17334: 3050 adds r0, #80 ; 0x50 - 17336: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 1733a: f281 8348 bge.w 189ce - 1733e: 2201 movs r2, #1 + 16d6e: 4b2c ldr r3, [pc, #176] ; (16e20 ) + 16d70: 681c ldr r4, [r3, #0] + 16d72: 3430 adds r4, #48 ; 0x30 + 16d74: 2000 movs r0, #0 + 16d76: 4b37 ldr r3, [pc, #220] ; (16e54 ) + 16d78: 4798 blx r3 + 16d7a: 2801 cmp r0, #1 + 16d7c: f241 8338 bls.w 183f0 + 16d80: 2000 movs r0, #0 + 16d82: 4b32 ldr r3, [pc, #200] ; (16e4c ) + 16d84: 4798 blx r3 + 16d86: ebc0 1000 rsb r0, r0, r0, lsl #4 + 16d8a: 0040 lsls r0, r0, #1 + 16d8c: 3050 adds r0, #80 ; 0x50 + 16d8e: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 16d92: f281 8348 bge.w 18426 + 16d96: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 17340: 2113 movs r1, #19 - 17342: 4620 mov r0, r4 - 17344: 4b2c ldr r3, [pc, #176] ; (173f8 ) - 17346: 4798 blx r3 + 16d98: 2113 movs r1, #19 + 16d9a: 4620 mov r0, r4 + 16d9c: 4b2c ldr r3, [pc, #176] ; (16e50 ) + 16d9e: 4798 blx r3 lv_style_set_pad_bottom(&styles->calendar_header, LV_STATE_DEFAULT, PAD_DEF); - 17348: 4b1f ldr r3, [pc, #124] ; (173c8 ) - 1734a: 681c ldr r4, [r3, #0] - 1734c: 3430 adds r4, #48 ; 0x30 - 1734e: 2000 movs r0, #0 - 17350: 4b2a ldr r3, [pc, #168] ; (173fc ) - 17352: 4798 blx r3 - 17354: 2801 cmp r0, #1 - 17356: f241 834a bls.w 189ee - 1735a: 2000 movs r0, #0 - 1735c: 4b25 ldr r3, [pc, #148] ; (173f4 ) - 1735e: 4798 blx r3 - 17360: ebc0 1000 rsb r0, r0, r0, lsl #4 - 17364: 0040 lsls r0, r0, #1 - 17366: 3050 adds r0, #80 ; 0x50 - 17368: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 1736c: f281 835a bge.w 18a24 - 17370: 2201 movs r2, #1 + 16da0: 4b1f ldr r3, [pc, #124] ; (16e20 ) + 16da2: 681c ldr r4, [r3, #0] + 16da4: 3430 adds r4, #48 ; 0x30 + 16da6: 2000 movs r0, #0 + 16da8: 4b2a ldr r3, [pc, #168] ; (16e54 ) + 16daa: 4798 blx r3 + 16dac: 2801 cmp r0, #1 + 16dae: f241 834a bls.w 18446 + 16db2: 2000 movs r0, #0 + 16db4: 4b25 ldr r3, [pc, #148] ; (16e4c ) + 16db6: 4798 blx r3 + 16db8: ebc0 1000 rsb r0, r0, r0, lsl #4 + 16dbc: 0040 lsls r0, r0, #1 + 16dbe: 3050 adds r0, #80 ; 0x50 + 16dc0: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 16dc4: f281 835a bge.w 1847c + 16dc8: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) - 17372: 2111 movs r1, #17 - 17374: 4620 mov r0, r4 - 17376: 4b20 ldr r3, [pc, #128] ; (173f8 ) - 17378: 4798 blx r3 + 16dca: 2111 movs r1, #17 + 16dcc: 4620 mov r0, r4 + 16dce: 4b20 ldr r3, [pc, #128] ; (16e50 ) + 16dd0: 4798 blx r3 lv_style_set_text_color(&styles->calendar_header, LV_STATE_PRESSED, IS_LIGHT ? lv_color_hex(0x888888) : LV_COLOR_WHITE); - 1737a: 4b13 ldr r3, [pc, #76] ; (173c8 ) - 1737c: 6818 ldr r0, [r3, #0] - 1737e: 6a1b ldr r3, [r3, #32] - 17380: f013 0302 ands.w r3, r3, #2 - 17384: bf14 ite ne - 17386: 2122 movne r1, #34 ; 0x22 - 17388: 213f moveq r1, #63 ; 0x3f - 1738a: 2b00 cmp r3, #0 - 1738c: bf14 ite ne - 1738e: 2311 movne r3, #17 - 17390: 231f moveq r3, #31 - 17392: f04f 0200 mov.w r2, #0 - 17396: f363 0204 bfi r2, r3, #0, #5 - 1739a: f361 124a bfi r2, r1, #5, #6 - 1739e: f363 22cf bfi r2, r3, #11, #5 + 16dd2: 4b13 ldr r3, [pc, #76] ; (16e20 ) + 16dd4: 6818 ldr r0, [r3, #0] + 16dd6: 6a1b ldr r3, [r3, #32] + 16dd8: f013 0302 ands.w r3, r3, #2 + 16ddc: bf14 ite ne + 16dde: 2122 movne r1, #34 ; 0x22 + 16de0: 213f moveq r1, #63 ; 0x3f + 16de2: 2b00 cmp r3, #0 + 16de4: bf14 ite ne + 16de6: 2311 movne r3, #17 + 16de8: 231f moveq r3, #31 + 16dea: f04f 0200 mov.w r2, #0 + 16dee: f363 0204 bfi r2, r3, #0, #5 + 16df2: f361 124a bfi r2, r1, #5, #6 + 16df6: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar) - 173a2: f249 0189 movw r1, #37001 ; 0x9089 - 173a6: 3030 adds r0, #48 ; 0x30 - 173a8: 4b11 ldr r3, [pc, #68] ; (173f0 ) - 173aa: 4798 blx r3 + 16dfa: f249 0189 movw r1, #37001 ; 0x9089 + 16dfe: 3030 adds r0, #48 ; 0x30 + 16e00: 4b11 ldr r3, [pc, #68] ; (16e48 ) + 16e02: 4798 blx r3 style_init_reset(&styles->calendar_daynames); - 173ac: 4c06 ldr r4, [pc, #24] ; (173c8 ) - 173ae: 6820 ldr r0, [r4, #0] - 173b0: 3034 adds r0, #52 ; 0x34 - 173b2: 4b0e ldr r3, [pc, #56] ; (173ec ) - 173b4: 4798 blx r3 + 16e04: 4c06 ldr r4, [pc, #24] ; (16e20 ) + 16e06: 6820 ldr r0, [r4, #0] + 16e08: 3034 adds r0, #52 ; 0x34 + 16e0a: 4b0e ldr r3, [pc, #56] ; (16e44 ) + 16e0c: 4798 blx r3 lv_style_set_text_color(&styles->calendar_daynames, LV_STATE_DEFAULT, IS_LIGHT ? lv_color_hex(0x31404f) : lv_color_hex3(0xeee)); - 173b6: 6820 ldr r0, [r4, #0] - 173b8: 3034 adds r0, #52 ; 0x34 - 173ba: 6a23 ldr r3, [r4, #32] - 173bc: f013 0f02 tst.w r3, #2 - 173c0: f041 8340 bne.w 18a44 - 173c4: e01c b.n 17400 - 173c6: bf00 nop - 173c8: 20006bd8 .word 0x20006bd8 - 173cc: 00015029 .word 0x00015029 - 173d0: 00016271 .word 0x00016271 - 173d4: 00016fed .word 0x00016fed - 173d8: 000163d9 .word 0x000163d9 - 173dc: 0001667d .word 0x0001667d - 173e0: 000167c1 .word 0x000167c1 - 173e4: 000169fd .word 0x000169fd - 173e8: 00016edd .word 0x00016edd - 173ec: 00015009 .word 0x00015009 - 173f0: 00006fcd .word 0x00006fcd - 173f4: 000114e5 .word 0x000114e5 - 173f8: 00006e89 .word 0x00006e89 - 173fc: 00011501 .word 0x00011501 - 17400: 231d movs r3, #29 - 17402: 213b movs r1, #59 ; 0x3b - 17404: 461c mov r4, r3 - 17406: f04f 0200 mov.w r2, #0 - 1740a: f364 0204 bfi r2, r4, #0, #5 - 1740e: f361 124a bfi r2, r1, #5, #6 - 17412: f363 22cf bfi r2, r3, #11, #5 - 17416: f248 0189 movw r1, #32905 ; 0x8089 - 1741a: 4bb8 ldr r3, [pc, #736] ; (176fc ) - 1741c: 4798 blx r3 + 16e0e: 6820 ldr r0, [r4, #0] + 16e10: 3034 adds r0, #52 ; 0x34 + 16e12: 6a23 ldr r3, [r4, #32] + 16e14: f013 0f02 tst.w r3, #2 + 16e18: f041 8340 bne.w 1849c + 16e1c: e01c b.n 16e58 + 16e1e: bf00 nop + 16e20: 20006bd8 .word 0x20006bd8 + 16e24: 00014a81 .word 0x00014a81 + 16e28: 00015cc9 .word 0x00015cc9 + 16e2c: 00016a45 .word 0x00016a45 + 16e30: 00015e31 .word 0x00015e31 + 16e34: 000160d5 .word 0x000160d5 + 16e38: 00016219 .word 0x00016219 + 16e3c: 00016455 .word 0x00016455 + 16e40: 00016935 .word 0x00016935 + 16e44: 00014a61 .word 0x00014a61 + 16e48: 00006a25 .word 0x00006a25 + 16e4c: 00010f3d .word 0x00010f3d + 16e50: 000068e1 .word 0x000068e1 + 16e54: 00010f59 .word 0x00010f59 + 16e58: 231d movs r3, #29 + 16e5a: 213b movs r1, #59 ; 0x3b + 16e5c: 461c mov r4, r3 + 16e5e: f04f 0200 mov.w r2, #0 + 16e62: f364 0204 bfi r2, r4, #0, #5 + 16e66: f361 124a bfi r2, r1, #5, #6 + 16e6a: f363 22cf bfi r2, r3, #11, #5 + 16e6e: f248 0189 movw r1, #32905 ; 0x8089 + 16e72: 4bb8 ldr r3, [pc, #736] ; (17154 ) + 16e74: 4798 blx r3 lv_style_set_pad_left(&styles->calendar_daynames, LV_STATE_DEFAULT, PAD_DEF); - 1741e: 4bb8 ldr r3, [pc, #736] ; (17700 ) - 17420: 681c ldr r4, [r3, #0] - 17422: 3434 adds r4, #52 ; 0x34 - 17424: 2000 movs r0, #0 - 17426: 4bb7 ldr r3, [pc, #732] ; (17704 ) - 17428: 4798 blx r3 - 1742a: 2801 cmp r0, #1 - 1742c: f241 830f bls.w 18a4e - 17430: 2000 movs r0, #0 - 17432: 4bb5 ldr r3, [pc, #724] ; (17708 ) - 17434: 4798 blx r3 - 17436: ebc0 1000 rsb r0, r0, r0, lsl #4 - 1743a: 0040 lsls r0, r0, #1 - 1743c: 3050 adds r0, #80 ; 0x50 - 1743e: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 17442: f281 831f bge.w 18a84 - 17446: 2201 movs r2, #1 + 16e76: 4bb8 ldr r3, [pc, #736] ; (17158 ) + 16e78: 681c ldr r4, [r3, #0] + 16e7a: 3434 adds r4, #52 ; 0x34 + 16e7c: 2000 movs r0, #0 + 16e7e: 4bb7 ldr r3, [pc, #732] ; (1715c ) + 16e80: 4798 blx r3 + 16e82: 2801 cmp r0, #1 + 16e84: f241 830f bls.w 184a6 + 16e88: 2000 movs r0, #0 + 16e8a: 4bb5 ldr r3, [pc, #724] ; (17160 ) + 16e8c: 4798 blx r3 + 16e8e: ebc0 1000 rsb r0, r0, r0, lsl #4 + 16e92: 0040 lsls r0, r0, #1 + 16e94: 3050 adds r0, #80 ; 0x50 + 16e96: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 16e9a: f281 831f bge.w 184dc + 16e9e: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 17448: 2112 movs r1, #18 - 1744a: 4620 mov r0, r4 - 1744c: 4baf ldr r3, [pc, #700] ; (1770c ) - 1744e: 4798 blx r3 + 16ea0: 2112 movs r1, #18 + 16ea2: 4620 mov r0, r4 + 16ea4: 4baf ldr r3, [pc, #700] ; (17164 ) + 16ea6: 4798 blx r3 lv_style_set_pad_right(&styles->calendar_daynames, LV_STATE_DEFAULT, PAD_DEF); - 17450: 4bab ldr r3, [pc, #684] ; (17700 ) - 17452: 681c ldr r4, [r3, #0] - 17454: 3434 adds r4, #52 ; 0x34 - 17456: 2000 movs r0, #0 - 17458: 4baa ldr r3, [pc, #680] ; (17704 ) - 1745a: 4798 blx r3 - 1745c: 2801 cmp r0, #1 - 1745e: f241 8321 bls.w 18aa4 - 17462: 2000 movs r0, #0 - 17464: 4ba8 ldr r3, [pc, #672] ; (17708 ) - 17466: 4798 blx r3 - 17468: ebc0 1000 rsb r0, r0, r0, lsl #4 - 1746c: 0040 lsls r0, r0, #1 - 1746e: 3050 adds r0, #80 ; 0x50 - 17470: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 17474: f281 8331 bge.w 18ada - 17478: 2201 movs r2, #1 + 16ea8: 4bab ldr r3, [pc, #684] ; (17158 ) + 16eaa: 681c ldr r4, [r3, #0] + 16eac: 3434 adds r4, #52 ; 0x34 + 16eae: 2000 movs r0, #0 + 16eb0: 4baa ldr r3, [pc, #680] ; (1715c ) + 16eb2: 4798 blx r3 + 16eb4: 2801 cmp r0, #1 + 16eb6: f241 8321 bls.w 184fc + 16eba: 2000 movs r0, #0 + 16ebc: 4ba8 ldr r3, [pc, #672] ; (17160 ) + 16ebe: 4798 blx r3 + 16ec0: ebc0 1000 rsb r0, r0, r0, lsl #4 + 16ec4: 0040 lsls r0, r0, #1 + 16ec6: 3050 adds r0, #80 ; 0x50 + 16ec8: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 16ecc: f281 8331 bge.w 18532 + 16ed0: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 1747a: 2113 movs r1, #19 - 1747c: 4620 mov r0, r4 - 1747e: 4ba3 ldr r3, [pc, #652] ; (1770c ) - 17480: 4798 blx r3 + 16ed2: 2113 movs r1, #19 + 16ed4: 4620 mov r0, r4 + 16ed6: 4ba3 ldr r3, [pc, #652] ; (17164 ) + 16ed8: 4798 blx r3 lv_style_set_pad_bottom(&styles->calendar_daynames, LV_STATE_DEFAULT, PAD_DEF); - 17482: 4b9f ldr r3, [pc, #636] ; (17700 ) - 17484: 681c ldr r4, [r3, #0] - 17486: 3434 adds r4, #52 ; 0x34 - 17488: 2000 movs r0, #0 - 1748a: 4b9e ldr r3, [pc, #632] ; (17704 ) - 1748c: 4798 blx r3 - 1748e: 2801 cmp r0, #1 - 17490: f241 8333 bls.w 18afa - 17494: 2000 movs r0, #0 - 17496: 4b9c ldr r3, [pc, #624] ; (17708 ) - 17498: 4798 blx r3 - 1749a: ebc0 1000 rsb r0, r0, r0, lsl #4 - 1749e: 0040 lsls r0, r0, #1 - 174a0: 3050 adds r0, #80 ; 0x50 - 174a2: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 174a6: f281 8343 bge.w 18b30 - 174aa: 2201 movs r2, #1 + 16eda: 4b9f ldr r3, [pc, #636] ; (17158 ) + 16edc: 681c ldr r4, [r3, #0] + 16ede: 3434 adds r4, #52 ; 0x34 + 16ee0: 2000 movs r0, #0 + 16ee2: 4b9e ldr r3, [pc, #632] ; (1715c ) + 16ee4: 4798 blx r3 + 16ee6: 2801 cmp r0, #1 + 16ee8: f241 8333 bls.w 18552 + 16eec: 2000 movs r0, #0 + 16eee: 4b9c ldr r3, [pc, #624] ; (17160 ) + 16ef0: 4798 blx r3 + 16ef2: ebc0 1000 rsb r0, r0, r0, lsl #4 + 16ef6: 0040 lsls r0, r0, #1 + 16ef8: 3050 adds r0, #80 ; 0x50 + 16efa: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 16efe: f281 8343 bge.w 18588 + 16f02: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) - 174ac: 2111 movs r1, #17 - 174ae: 4620 mov r0, r4 - 174b0: 4b96 ldr r3, [pc, #600] ; (1770c ) - 174b2: 4798 blx r3 + 16f04: 2111 movs r1, #17 + 16f06: 4620 mov r0, r4 + 16f08: 4b96 ldr r3, [pc, #600] ; (17164 ) + 16f0a: 4798 blx r3 style_init_reset(&styles->calendar_date_nums); - 174b4: 4c92 ldr r4, [pc, #584] ; (17700 ) - 174b6: 6820 ldr r0, [r4, #0] - 174b8: 302c adds r0, #44 ; 0x2c - 174ba: 4b95 ldr r3, [pc, #596] ; (17710 ) - 174bc: 4798 blx r3 + 16f0c: 4c92 ldr r4, [pc, #584] ; (17158 ) + 16f0e: 6820 ldr r0, [r4, #0] + 16f10: 302c adds r0, #44 ; 0x2c + 16f12: 4b95 ldr r3, [pc, #596] ; (17168 ) + 16f14: 4798 blx r3 lv_style_set_radius(&styles->calendar_date_nums, LV_STATE_DEFAULT, LV_DPX(4)); - 174be: 6824 ldr r4, [r4, #0] - 174c0: 342c adds r4, #44 ; 0x2c - 174c2: 2000 movs r0, #0 - 174c4: 4b90 ldr r3, [pc, #576] ; (17708 ) - 174c6: 4798 blx r3 - 174c8: 3014 adds r0, #20 - 174ca: 0080 lsls r0, r0, #2 - 174cc: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 174d0: f281 833e bge.w 18b50 - 174d4: 2201 movs r2, #1 + 16f16: 6824 ldr r4, [r4, #0] + 16f18: 342c adds r4, #44 ; 0x2c + 16f1a: 2000 movs r0, #0 + 16f1c: 4b90 ldr r3, [pc, #576] ; (17160 ) + 16f1e: 4798 blx r3 + 16f20: 3014 adds r0, #20 + 16f22: 0080 lsls r0, r0, #2 + 16f24: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 16f28: f281 833e bge.w 185a8 + 16f2c: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 174d6: 2101 movs r1, #1 - 174d8: 4620 mov r0, r4 - 174da: 4b8c ldr r3, [pc, #560] ; (1770c ) - 174dc: 4798 blx r3 + 16f2e: 2101 movs r1, #1 + 16f30: 4620 mov r0, r4 + 16f32: 4b8c ldr r3, [pc, #560] ; (17164 ) + 16f34: 4798 blx r3 lv_style_set_text_color(&styles->calendar_date_nums, LV_STATE_CHECKED, IS_LIGHT ? lv_color_hex(0x31404f) : LV_COLOR_WHITE); - 174de: 4b88 ldr r3, [pc, #544] ; (17700 ) - 174e0: 6818 ldr r0, [r3, #0] - 174e2: 302c adds r0, #44 ; 0x2c - 174e4: 6a1b ldr r3, [r3, #32] - 174e6: f013 0f02 tst.w r3, #2 - 174ea: f041 833f bne.w 18b6c - 174ee: 231f movs r3, #31 - 174f0: 213f movs r1, #63 ; 0x3f - 174f2: 461c mov r4, r3 - 174f4: f04f 0200 mov.w r2, #0 - 174f8: f364 0204 bfi r2, r4, #0, #5 - 174fc: f361 124a bfi r2, r1, #5, #6 - 17500: f363 22cf bfi r2, r3, #11, #5 + 16f36: 4b88 ldr r3, [pc, #544] ; (17158 ) + 16f38: 6818 ldr r0, [r3, #0] + 16f3a: 302c adds r0, #44 ; 0x2c + 16f3c: 6a1b ldr r3, [r3, #32] + 16f3e: f013 0f02 tst.w r3, #2 + 16f42: f041 833f bne.w 185c4 + 16f46: 231f movs r3, #31 + 16f48: 213f movs r1, #63 ; 0x3f + 16f4a: 461c mov r4, r3 + 16f4c: f04f 0200 mov.w r2, #0 + 16f50: f364 0204 bfi r2, r4, #0, #5 + 16f54: f361 124a bfi r2, r1, #5, #6 + 16f58: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar) - 17504: f248 1189 movw r1, #33161 ; 0x8189 - 17508: 4b7c ldr r3, [pc, #496] ; (176fc ) - 1750a: 4798 blx r3 + 16f5c: f248 1189 movw r1, #33161 ; 0x8189 + 16f60: 4b7c ldr r3, [pc, #496] ; (17154 ) + 16f62: 4798 blx r3 lv_style_set_bg_opa(&styles->calendar_date_nums, LV_STATE_CHECKED, IS_LIGHT ? LV_OPA_20 : LV_OPA_40); - 1750c: 4b7c ldr r3, [pc, #496] ; (17700 ) - 1750e: 6818 ldr r0, [r3, #0] - 17510: 6a1b ldr r3, [r3, #32] - 17512: f013 0f02 tst.w r3, #2 + 16f64: 4b7c ldr r3, [pc, #496] ; (17158 ) + 16f66: 6818 ldr r0, [r3, #0] + 16f68: 6a1b ldr r3, [r3, #32] + 16f6a: f013 0f02 tst.w r3, #2 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 17516: bf14 ite ne - 17518: 2233 movne r2, #51 ; 0x33 - 1751a: 2266 moveq r2, #102 ; 0x66 - 1751c: f44f 7196 mov.w r1, #300 ; 0x12c - 17520: 302c adds r0, #44 ; 0x2c - 17522: 4d7c ldr r5, [pc, #496] ; (17714 ) - 17524: 47a8 blx r5 + 16f6e: bf14 ite ne + 16f70: 2233 movne r2, #51 ; 0x33 + 16f72: 2266 moveq r2, #102 ; 0x66 + 16f74: f44f 7196 mov.w r1, #300 ; 0x12c + 16f78: 302c adds r0, #44 ; 0x2c + 16f7a: 4d7c ldr r5, [pc, #496] ; (1716c ) + 16f7c: 47a8 blx r5 lv_style_set_bg_opa(&styles->calendar_date_nums, LV_STATE_PRESSED, LV_OPA_20); - 17526: 4c76 ldr r4, [pc, #472] ; (17700 ) - 17528: 6820 ldr r0, [r4, #0] - 1752a: 2233 movs r2, #51 ; 0x33 - 1752c: f241 012c movw r1, #4140 ; 0x102c - 17530: 302c adds r0, #44 ; 0x2c - 17532: 47a8 blx r5 + 16f7e: 4c76 ldr r4, [pc, #472] ; (17158 ) + 16f80: 6820 ldr r0, [r4, #0] + 16f82: 2233 movs r2, #51 ; 0x33 + 16f84: f241 012c movw r1, #4140 ; 0x102c + 16f88: 302c adds r0, #44 ; 0x2c + 16f8a: 47a8 blx r5 lv_style_set_bg_opa(&styles->calendar_date_nums, LV_STATE_FOCUSED, LV_OPA_COVER); - 17534: 6820 ldr r0, [r4, #0] - 17536: 22ff movs r2, #255 ; 0xff - 17538: f44f 710b mov.w r1, #556 ; 0x22c - 1753c: 302c adds r0, #44 ; 0x2c - 1753e: 47a8 blx r5 + 16f8c: 6820 ldr r0, [r4, #0] + 16f8e: 22ff movs r2, #255 ; 0xff + 16f90: f44f 710b mov.w r1, #556 ; 0x22c + 16f94: 302c adds r0, #44 ; 0x2c + 16f96: 47a8 blx r5 lv_style_set_text_color(&styles->calendar_date_nums, LV_STATE_FOCUSED, LV_COLOR_WHITE); - 17540: 6820 ldr r0, [r4, #0] + 16f98: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar) - 17542: 4b75 ldr r3, [pc, #468] ; (17718 ) - 17544: 881a ldrh r2, [r3, #0] - 17546: f248 2189 movw r1, #33417 ; 0x8289 - 1754a: 302c adds r0, #44 ; 0x2c - 1754c: 4d6b ldr r5, [pc, #428] ; (176fc ) - 1754e: 47a8 blx r5 + 16f9a: 4b75 ldr r3, [pc, #468] ; (17170 ) + 16f9c: 881a ldrh r2, [r3, #0] + 16f9e: f248 2189 movw r1, #33417 ; 0x8289 + 16fa2: 302c adds r0, #44 ; 0x2c + 16fa4: 4d6b ldr r5, [pc, #428] ; (17154 ) + 16fa6: 47a8 blx r5 lv_style_set_bg_color(&styles->calendar_date_nums, LV_STATE_FOCUSED, theme.color_primary); - 17550: 6820 ldr r0, [r4, #0] + 16fa8: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 17552: 89a2 ldrh r2, [r4, #12] - 17554: f240 2129 movw r1, #553 ; 0x229 - 17558: 302c adds r0, #44 ; 0x2c - 1755a: 47a8 blx r5 + 16faa: 89a2 ldrh r2, [r4, #12] + 16fac: f240 2129 movw r1, #553 ; 0x229 + 16fb0: 302c adds r0, #44 ; 0x2c + 16fb2: 47a8 blx r5 lv_style_set_bg_color(&styles->calendar_date_nums, LV_STATE_DEFAULT, IS_LIGHT ? lv_color_hex(0x666666) : LV_COLOR_WHITE); - 1755c: 6820 ldr r0, [r4, #0] - 1755e: 6a23 ldr r3, [r4, #32] - 17560: f013 0302 ands.w r3, r3, #2 - 17564: bf14 ite ne - 17566: 2119 movne r1, #25 - 17568: 213f moveq r1, #63 ; 0x3f - 1756a: 2b00 cmp r3, #0 - 1756c: bf14 ite ne - 1756e: 230c movne r3, #12 - 17570: 231f moveq r3, #31 - 17572: f04f 0200 mov.w r2, #0 - 17576: f363 0204 bfi r2, r3, #0, #5 - 1757a: f361 124a bfi r2, r1, #5, #6 - 1757e: f363 22cf bfi r2, r3, #11, #5 - 17582: 2129 movs r1, #41 ; 0x29 - 17584: 302c adds r0, #44 ; 0x2c - 17586: 47a8 blx r5 + 16fb4: 6820 ldr r0, [r4, #0] + 16fb6: 6a23 ldr r3, [r4, #32] + 16fb8: f013 0302 ands.w r3, r3, #2 + 16fbc: bf14 ite ne + 16fbe: 2119 movne r1, #25 + 16fc0: 213f moveq r1, #63 ; 0x3f + 16fc2: 2b00 cmp r3, #0 + 16fc4: bf14 ite ne + 16fc6: 230c movne r3, #12 + 16fc8: 231f moveq r3, #31 + 16fca: f04f 0200 mov.w r2, #0 + 16fce: f363 0204 bfi r2, r3, #0, #5 + 16fd2: f361 124a bfi r2, r1, #5, #6 + 16fd6: f363 22cf bfi r2, r3, #11, #5 + 16fda: 2129 movs r1, #41 ; 0x29 + 16fdc: 302c adds r0, #44 ; 0x2c + 16fde: 47a8 blx r5 lv_style_set_bg_color(&styles->calendar_date_nums, LV_STATE_CHECKED, theme.color_primary); - 17588: 6820 ldr r0, [r4, #0] - 1758a: 89a2 ldrh r2, [r4, #12] - 1758c: f240 1129 movw r1, #297 ; 0x129 - 17590: 302c adds r0, #44 ; 0x2c - 17592: 47a8 blx r5 + 16fe0: 6820 ldr r0, [r4, #0] + 16fe2: 89a2 ldrh r2, [r4, #12] + 16fe4: f240 1129 movw r1, #297 ; 0x129 + 16fe8: 302c adds r0, #44 ; 0x2c + 16fea: 47a8 blx r5 lv_style_set_border_width(&styles->calendar_date_nums, LV_STATE_CHECKED, 2); - 17594: 6820 ldr r0, [r4, #0] + 16fec: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_WIDTH, border_width, lv_style_int_t, _int, scalar) - 17596: 2202 movs r2, #2 - 17598: f44f 7198 mov.w r1, #304 ; 0x130 - 1759c: 302c adds r0, #44 ; 0x2c - 1759e: 4e5b ldr r6, [pc, #364] ; (1770c ) - 175a0: 47b0 blx r6 + 16fee: 2202 movs r2, #2 + 16ff0: f44f 7198 mov.w r1, #304 ; 0x130 + 16ff4: 302c adds r0, #44 ; 0x2c + 16ff6: 4e5b ldr r6, [pc, #364] ; (17164 ) + 16ff8: 47b0 blx r6 lv_style_set_border_side(&styles->calendar_date_nums, LV_STATE_CHECKED, LV_BORDER_SIDE_LEFT); - 175a2: 6820 ldr r0, [r4, #0] + 16ffa: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_SIDE, border_side, lv_border_side_t, _int, scalar) - 175a4: 2204 movs r2, #4 - 175a6: f240 1131 movw r1, #305 ; 0x131 - 175aa: 302c adds r0, #44 ; 0x2c - 175ac: 47b0 blx r6 + 16ffc: 2204 movs r2, #4 + 16ffe: f240 1131 movw r1, #305 ; 0x131 + 17002: 302c adds r0, #44 ; 0x2c + 17004: 47b0 blx r6 lv_style_set_border_color(&styles->calendar_date_nums, LV_STATE_CHECKED, theme.color_primary); - 175ae: 6820 ldr r0, [r4, #0] + 17006: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_COLOR, border_color, lv_color_t, _color, nonscalar) - 175b0: 89a2 ldrh r2, [r4, #12] - 175b2: f240 1139 movw r1, #313 ; 0x139 - 175b6: 302c adds r0, #44 ; 0x2c - 175b8: 47a8 blx r5 + 17008: 89a2 ldrh r2, [r4, #12] + 1700a: f240 1139 movw r1, #313 ; 0x139 + 1700e: 302c adds r0, #44 ; 0x2c + 17010: 47a8 blx r5 lv_style_set_pad_inner(&styles->calendar_date_nums, LV_STATE_DEFAULT, LV_DPX(3)); - 175ba: 6824 ldr r4, [r4, #0] - 175bc: 342c adds r4, #44 ; 0x2c - 175be: 2000 movs r0, #0 - 175c0: 4b51 ldr r3, [pc, #324] ; (17708 ) - 175c2: 4798 blx r3 - 175c4: eb00 0040 add.w r0, r0, r0, lsl #1 - 175c8: 3050 adds r0, #80 ; 0x50 - 175ca: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 175ce: f281 82d2 bge.w 18b76 - 175d2: 2201 movs r2, #1 + 17012: 6824 ldr r4, [r4, #0] + 17014: 342c adds r4, #44 ; 0x2c + 17016: 2000 movs r0, #0 + 17018: 4b51 ldr r3, [pc, #324] ; (17160 ) + 1701a: 4798 blx r3 + 1701c: eb00 0040 add.w r0, r0, r0, lsl #1 + 17020: 3050 adds r0, #80 ; 0x50 + 17022: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 17026: f281 82d2 bge.w 185ce + 1702a: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_INNER, pad_inner, lv_style_int_t, _int, scalar) - 175d4: 2114 movs r1, #20 - 175d6: 4620 mov r0, r4 - 175d8: 4b4c ldr r3, [pc, #304] ; (1770c ) - 175da: 4798 blx r3 + 1702c: 2114 movs r1, #20 + 1702e: 4620 mov r0, r4 + 17030: 4b4c ldr r3, [pc, #304] ; (17164 ) + 17032: 4798 blx r3 lv_style_set_pad_left(&styles->calendar_date_nums, LV_STATE_DEFAULT, PAD_DEF); - 175dc: 4b48 ldr r3, [pc, #288] ; (17700 ) - 175de: 681c ldr r4, [r3, #0] - 175e0: 342c adds r4, #44 ; 0x2c - 175e2: 2000 movs r0, #0 - 175e4: 4b47 ldr r3, [pc, #284] ; (17704 ) - 175e6: 4798 blx r3 - 175e8: 2801 cmp r0, #1 - 175ea: f241 82d3 bls.w 18b94 - 175ee: 2000 movs r0, #0 - 175f0: 4b45 ldr r3, [pc, #276] ; (17708 ) - 175f2: 4798 blx r3 - 175f4: ebc0 1000 rsb r0, r0, r0, lsl #4 - 175f8: 0040 lsls r0, r0, #1 - 175fa: 3050 adds r0, #80 ; 0x50 - 175fc: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 17600: f281 82e3 bge.w 18bca - 17604: 2201 movs r2, #1 + 17034: 4b48 ldr r3, [pc, #288] ; (17158 ) + 17036: 681c ldr r4, [r3, #0] + 17038: 342c adds r4, #44 ; 0x2c + 1703a: 2000 movs r0, #0 + 1703c: 4b47 ldr r3, [pc, #284] ; (1715c ) + 1703e: 4798 blx r3 + 17040: 2801 cmp r0, #1 + 17042: f241 82d3 bls.w 185ec + 17046: 2000 movs r0, #0 + 17048: 4b45 ldr r3, [pc, #276] ; (17160 ) + 1704a: 4798 blx r3 + 1704c: ebc0 1000 rsb r0, r0, r0, lsl #4 + 17050: 0040 lsls r0, r0, #1 + 17052: 3050 adds r0, #80 ; 0x50 + 17054: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 17058: f281 82e3 bge.w 18622 + 1705c: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 17606: 2112 movs r1, #18 - 17608: 4620 mov r0, r4 - 1760a: 4b40 ldr r3, [pc, #256] ; (1770c ) - 1760c: 4798 blx r3 + 1705e: 2112 movs r1, #18 + 17060: 4620 mov r0, r4 + 17062: 4b40 ldr r3, [pc, #256] ; (17164 ) + 17064: 4798 blx r3 lv_style_set_pad_right(&styles->calendar_date_nums, LV_STATE_DEFAULT, PAD_DEF); - 1760e: 4b3c ldr r3, [pc, #240] ; (17700 ) - 17610: 681c ldr r4, [r3, #0] - 17612: 342c adds r4, #44 ; 0x2c - 17614: 2000 movs r0, #0 - 17616: 4b3b ldr r3, [pc, #236] ; (17704 ) - 17618: 4798 blx r3 - 1761a: 2801 cmp r0, #1 - 1761c: f241 82e5 bls.w 18bea - 17620: 2000 movs r0, #0 - 17622: 4b39 ldr r3, [pc, #228] ; (17708 ) - 17624: 4798 blx r3 - 17626: ebc0 1000 rsb r0, r0, r0, lsl #4 - 1762a: 0040 lsls r0, r0, #1 - 1762c: 3050 adds r0, #80 ; 0x50 - 1762e: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 17632: f281 82f5 bge.w 18c20 - 17636: 2201 movs r2, #1 + 17066: 4b3c ldr r3, [pc, #240] ; (17158 ) + 17068: 681c ldr r4, [r3, #0] + 1706a: 342c adds r4, #44 ; 0x2c + 1706c: 2000 movs r0, #0 + 1706e: 4b3b ldr r3, [pc, #236] ; (1715c ) + 17070: 4798 blx r3 + 17072: 2801 cmp r0, #1 + 17074: f241 82e5 bls.w 18642 + 17078: 2000 movs r0, #0 + 1707a: 4b39 ldr r3, [pc, #228] ; (17160 ) + 1707c: 4798 blx r3 + 1707e: ebc0 1000 rsb r0, r0, r0, lsl #4 + 17082: 0040 lsls r0, r0, #1 + 17084: 3050 adds r0, #80 ; 0x50 + 17086: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 1708a: f281 82f5 bge.w 18678 + 1708e: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 17638: 2113 movs r1, #19 - 1763a: 4620 mov r0, r4 - 1763c: 4b33 ldr r3, [pc, #204] ; (1770c ) - 1763e: 4798 blx r3 + 17090: 2113 movs r1, #19 + 17092: 4620 mov r0, r4 + 17094: 4b33 ldr r3, [pc, #204] ; (17164 ) + 17096: 4798 blx r3 lv_style_set_pad_bottom(&styles->calendar_date_nums, LV_STATE_DEFAULT, PAD_DEF); - 17640: 4b2f ldr r3, [pc, #188] ; (17700 ) - 17642: 681c ldr r4, [r3, #0] - 17644: 342c adds r4, #44 ; 0x2c - 17646: 2000 movs r0, #0 - 17648: 4b2e ldr r3, [pc, #184] ; (17704 ) - 1764a: 4798 blx r3 - 1764c: 2801 cmp r0, #1 - 1764e: f241 82f7 bls.w 18c40 - 17652: 2000 movs r0, #0 - 17654: 4b2c ldr r3, [pc, #176] ; (17708 ) - 17656: 4798 blx r3 - 17658: ebc0 1000 rsb r0, r0, r0, lsl #4 - 1765c: 0040 lsls r0, r0, #1 - 1765e: 3050 adds r0, #80 ; 0x50 - 17660: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 17664: f281 8307 bge.w 18c76 - 17668: 2201 movs r2, #1 + 17098: 4b2f ldr r3, [pc, #188] ; (17158 ) + 1709a: 681c ldr r4, [r3, #0] + 1709c: 342c adds r4, #44 ; 0x2c + 1709e: 2000 movs r0, #0 + 170a0: 4b2e ldr r3, [pc, #184] ; (1715c ) + 170a2: 4798 blx r3 + 170a4: 2801 cmp r0, #1 + 170a6: f241 82f7 bls.w 18698 + 170aa: 2000 movs r0, #0 + 170ac: 4b2c ldr r3, [pc, #176] ; (17160 ) + 170ae: 4798 blx r3 + 170b0: ebc0 1000 rsb r0, r0, r0, lsl #4 + 170b4: 0040 lsls r0, r0, #1 + 170b6: 3050 adds r0, #80 ; 0x50 + 170b8: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 170bc: f281 8307 bge.w 186ce + 170c0: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) - 1766a: 2111 movs r1, #17 - 1766c: 4620 mov r0, r4 - 1766e: 4b27 ldr r3, [pc, #156] ; (1770c ) - 17670: 4798 blx r3 + 170c2: 2111 movs r1, #17 + 170c4: 4620 mov r0, r4 + 170c6: 4b27 ldr r3, [pc, #156] ; (17164 ) + 170c8: 4798 blx r3 style_init_reset(&styles->cpicker_bg); - 17672: 4c23 ldr r4, [pc, #140] ; (17700 ) - 17674: 6820 ldr r0, [r4, #0] - 17676: 3038 adds r0, #56 ; 0x38 - 17678: 4b25 ldr r3, [pc, #148] ; (17710 ) - 1767a: 4798 blx r3 + 170ca: 4c23 ldr r4, [pc, #140] ; (17158 ) + 170cc: 6820 ldr r0, [r4, #0] + 170ce: 3038 adds r0, #56 ; 0x38 + 170d0: 4b25 ldr r3, [pc, #148] ; (17168 ) + 170d2: 4798 blx r3 lv_style_set_scale_width(&styles->cpicker_bg, LV_STATE_DEFAULT, LV_DPX(30)); - 1767c: 6824 ldr r4, [r4, #0] - 1767e: 3438 adds r4, #56 ; 0x38 - 17680: 2000 movs r0, #0 - 17682: 4b21 ldr r3, [pc, #132] ; (17708 ) - 17684: 4798 blx r3 - 17686: ebc0 1000 rsb r0, r0, r0, lsl #4 - 1768a: 0040 lsls r0, r0, #1 - 1768c: 3050 adds r0, #80 ; 0x50 - 1768e: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 17692: f281 8305 bge.w 18ca0 - 17696: 2201 movs r2, #1 + 170d4: 6824 ldr r4, [r4, #0] + 170d6: 3438 adds r4, #56 ; 0x38 + 170d8: 2000 movs r0, #0 + 170da: 4b21 ldr r3, [pc, #132] ; (17160 ) + 170dc: 4798 blx r3 + 170de: ebc0 1000 rsb r0, r0, r0, lsl #4 + 170e2: 0040 lsls r0, r0, #1 + 170e4: 3050 adds r0, #80 ; 0x50 + 170e6: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 170ea: f281 8305 bge.w 186f8 + 170ee: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_WIDTH, scale_width, lv_style_int_t, _int, scalar) - 17698: 21c0 movs r1, #192 ; 0xc0 - 1769a: 4620 mov r0, r4 - 1769c: 4b1b ldr r3, [pc, #108] ; (1770c ) - 1769e: 4798 blx r3 + 170f0: 21c0 movs r1, #192 ; 0xc0 + 170f2: 4620 mov r0, r4 + 170f4: 4b1b ldr r3, [pc, #108] ; (17164 ) + 170f6: 4798 blx r3 lv_style_set_bg_opa(&styles->cpicker_bg, LV_STATE_DEFAULT, LV_OPA_COVER); - 176a0: 4c17 ldr r4, [pc, #92] ; (17700 ) - 176a2: 6820 ldr r0, [r4, #0] + 170f8: 4c17 ldr r4, [pc, #92] ; (17158 ) + 170fa: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 176a4: 22ff movs r2, #255 ; 0xff - 176a6: 212c movs r1, #44 ; 0x2c - 176a8: 3038 adds r0, #56 ; 0x38 - 176aa: 4b1a ldr r3, [pc, #104] ; (17714 ) - 176ac: 4798 blx r3 + 170fc: 22ff movs r2, #255 ; 0xff + 170fe: 212c movs r1, #44 ; 0x2c + 17100: 3038 adds r0, #56 ; 0x38 + 17102: 4b1a ldr r3, [pc, #104] ; (1716c ) + 17104: 4798 blx r3 lv_style_set_bg_color(&styles->cpicker_bg, LV_STATE_DEFAULT, COLOR_SCR); - 176ae: 6820 ldr r0, [r4, #0] - 176b0: 6a23 ldr r3, [r4, #32] - 176b2: f013 0302 ands.w r3, r3, #2 - 176b6: bf14 ite ne - 176b8: 211d movne r1, #29 - 176ba: 2108 moveq r1, #8 - 176bc: 2b00 cmp r3, #0 - 176be: bf15 itete ne - 176c0: 243b movne r4, #59 ; 0x3b - 176c2: 2412 moveq r4, #18 - 176c4: 231e movne r3, #30 - 176c6: 230b moveq r3, #11 - 176c8: f04f 0200 mov.w r2, #0 - 176cc: f363 0204 bfi r2, r3, #0, #5 - 176d0: f364 124a bfi r2, r4, #5, #6 - 176d4: f361 22cf bfi r2, r1, #11, #5 + 17106: 6820 ldr r0, [r4, #0] + 17108: 6a23 ldr r3, [r4, #32] + 1710a: f013 0302 ands.w r3, r3, #2 + 1710e: bf14 ite ne + 17110: 211d movne r1, #29 + 17112: 2108 moveq r1, #8 + 17114: 2b00 cmp r3, #0 + 17116: bf15 itete ne + 17118: 243b movne r4, #59 ; 0x3b + 1711a: 2412 moveq r4, #18 + 1711c: 231e movne r3, #30 + 1711e: 230b moveq r3, #11 + 17120: f04f 0200 mov.w r2, #0 + 17124: f363 0204 bfi r2, r3, #0, #5 + 17128: f364 124a bfi r2, r4, #5, #6 + 1712c: f361 22cf bfi r2, r1, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 176d8: 2129 movs r1, #41 ; 0x29 - 176da: 3038 adds r0, #56 ; 0x38 - 176dc: 4b07 ldr r3, [pc, #28] ; (176fc ) - 176de: 4798 blx r3 + 17130: 2129 movs r1, #41 ; 0x29 + 17132: 3038 adds r0, #56 ; 0x38 + 17134: 4b07 ldr r3, [pc, #28] ; (17154 ) + 17136: 4798 blx r3 lv_style_set_pad_inner(&styles->cpicker_bg, LV_STATE_DEFAULT, LV_DPX(20)); - 176e0: 4b07 ldr r3, [pc, #28] ; (17700 ) - 176e2: 681c ldr r4, [r3, #0] - 176e4: 3438 adds r4, #56 ; 0x38 - 176e6: 2000 movs r0, #0 - 176e8: 4b07 ldr r3, [pc, #28] ; (17708 ) - 176ea: 4798 blx r3 - 176ec: eb00 0080 add.w r0, r0, r0, lsl #2 - 176f0: 0080 lsls r0, r0, #2 - 176f2: 3050 adds r0, #80 ; 0x50 - 176f4: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 176f8: e010 b.n 1771c - 176fa: bf00 nop - 176fc: 00006fcd .word 0x00006fcd - 17700: 20006bd8 .word 0x20006bd8 - 17704: 00011501 .word 0x00011501 - 17708: 000114e5 .word 0x000114e5 - 1770c: 00006e89 .word 0x00006e89 - 17710: 00015009 .word 0x00015009 - 17714: 00007111 .word 0x00007111 - 17718: 00020a68 .word 0x00020a68 - 1771c: f281 82d0 bge.w 18cc0 - 17720: 2201 movs r2, #1 + 17138: 4b07 ldr r3, [pc, #28] ; (17158 ) + 1713a: 681c ldr r4, [r3, #0] + 1713c: 3438 adds r4, #56 ; 0x38 + 1713e: 2000 movs r0, #0 + 17140: 4b07 ldr r3, [pc, #28] ; (17160 ) + 17142: 4798 blx r3 + 17144: eb00 0080 add.w r0, r0, r0, lsl #2 + 17148: 0080 lsls r0, r0, #2 + 1714a: 3050 adds r0, #80 ; 0x50 + 1714c: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 17150: e010 b.n 17174 + 17152: bf00 nop + 17154: 00006a25 .word 0x00006a25 + 17158: 20006bd8 .word 0x20006bd8 + 1715c: 00010f59 .word 0x00010f59 + 17160: 00010f3d .word 0x00010f3d + 17164: 000068e1 .word 0x000068e1 + 17168: 00014a61 .word 0x00014a61 + 1716c: 00006b69 .word 0x00006b69 + 17170: 00029584 .word 0x00029584 + 17174: f281 82d0 bge.w 18718 + 17178: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_INNER, pad_inner, lv_style_int_t, _int, scalar) - 17722: 2114 movs r1, #20 - 17724: 4620 mov r0, r4 - 17726: 4eb6 ldr r6, [pc, #728] ; (17a00 ) - 17728: 47b0 blx r6 + 1717a: 2114 movs r1, #20 + 1717c: 4620 mov r0, r4 + 1717e: 4eb6 ldr r6, [pc, #728] ; (17458 ) + 17180: 47b0 blx r6 lv_style_set_radius(&styles->cpicker_bg, LV_STATE_DEFAULT, LV_RADIUS_CIRCLE); - 1772a: 4cb6 ldr r4, [pc, #728] ; (17a04 ) - 1772c: 6820 ldr r0, [r4, #0] + 17182: 4cb6 ldr r4, [pc, #728] ; (1745c ) + 17184: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 1772e: f647 72ff movw r2, #32767 ; 0x7fff - 17732: 2101 movs r1, #1 - 17734: 3038 adds r0, #56 ; 0x38 - 17736: 47b0 blx r6 + 17186: f647 72ff movw r2, #32767 ; 0x7fff + 1718a: 2101 movs r1, #1 + 1718c: 3038 adds r0, #56 ; 0x38 + 1718e: 47b0 blx r6 style_init_reset(&styles->cpicker_indic); - 17738: 6820 ldr r0, [r4, #0] - 1773a: 303c adds r0, #60 ; 0x3c - 1773c: 4bb2 ldr r3, [pc, #712] ; (17a08 ) - 1773e: 4798 blx r3 + 17190: 6820 ldr r0, [r4, #0] + 17192: 303c adds r0, #60 ; 0x3c + 17194: 4bb2 ldr r3, [pc, #712] ; (17460 ) + 17196: 4798 blx r3 lv_style_set_radius(&styles->cpicker_indic, LV_STATE_DEFAULT, LV_RADIUS_CIRCLE); - 17740: 6820 ldr r0, [r4, #0] - 17742: f647 72ff movw r2, #32767 ; 0x7fff - 17746: 2101 movs r1, #1 - 17748: 303c adds r0, #60 ; 0x3c - 1774a: 47b0 blx r6 + 17198: 6820 ldr r0, [r4, #0] + 1719a: f647 72ff movw r2, #32767 ; 0x7fff + 1719e: 2101 movs r1, #1 + 171a0: 303c adds r0, #60 ; 0x3c + 171a2: 47b0 blx r6 lv_style_set_bg_color(&styles->cpicker_indic, LV_STATE_DEFAULT, LV_COLOR_WHITE); - 1774c: 6820 ldr r0, [r4, #0] - 1774e: 4faf ldr r7, [pc, #700] ; (17a0c ) + 171a4: 6820 ldr r0, [r4, #0] + 171a6: 4faf ldr r7, [pc, #700] ; (17464 ) _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 17750: 883a ldrh r2, [r7, #0] - 17752: 2129 movs r1, #41 ; 0x29 - 17754: 303c adds r0, #60 ; 0x3c - 17756: 4dae ldr r5, [pc, #696] ; (17a10 ) - 17758: 47a8 blx r5 + 171a8: 883a ldrh r2, [r7, #0] + 171aa: 2129 movs r1, #41 ; 0x29 + 171ac: 303c adds r0, #60 ; 0x3c + 171ae: 4dae ldr r5, [pc, #696] ; (17468 ) + 171b0: 47a8 blx r5 lv_style_set_bg_opa(&styles->cpicker_indic, LV_STATE_DEFAULT, LV_OPA_COVER); - 1775a: 6820 ldr r0, [r4, #0] + 171b2: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 1775c: 22ff movs r2, #255 ; 0xff - 1775e: 212c movs r1, #44 ; 0x2c - 17760: 303c adds r0, #60 ; 0x3c - 17762: 4bac ldr r3, [pc, #688] ; (17a14 ) - 17764: 4798 blx r3 + 171b4: 22ff movs r2, #255 ; 0xff + 171b6: 212c movs r1, #44 ; 0x2c + 171b8: 303c adds r0, #60 ; 0x3c + 171ba: 4bac ldr r3, [pc, #688] ; (1746c ) + 171bc: 4798 blx r3 lv_style_set_border_width(&styles->cpicker_indic, LV_STATE_DEFAULT, 2); - 17766: 6820 ldr r0, [r4, #0] + 171be: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_WIDTH, border_width, lv_style_int_t, _int, scalar) - 17768: 2202 movs r2, #2 - 1776a: 2130 movs r1, #48 ; 0x30 - 1776c: 303c adds r0, #60 ; 0x3c - 1776e: 47b0 blx r6 + 171c0: 2202 movs r2, #2 + 171c2: 2130 movs r1, #48 ; 0x30 + 171c4: 303c adds r0, #60 ; 0x3c + 171c6: 47b0 blx r6 lv_style_set_border_color(&styles->cpicker_indic, LV_STATE_DEFAULT, LV_COLOR_GRAY); - 17770: 6820 ldr r0, [r4, #0] + 171c8: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_COLOR, border_color, lv_color_t, _color, nonscalar) - 17772: 88ba ldrh r2, [r7, #4] - 17774: 2139 movs r1, #57 ; 0x39 - 17776: 303c adds r0, #60 ; 0x3c - 17778: 47a8 blx r5 + 171ca: 88ba ldrh r2, [r7, #4] + 171cc: 2139 movs r1, #57 ; 0x39 + 171ce: 303c adds r0, #60 ; 0x3c + 171d0: 47a8 blx r5 lv_style_set_border_color(&styles->cpicker_indic, LV_STATE_FOCUSED, theme.color_primary); - 1777a: 6820 ldr r0, [r4, #0] - 1777c: 89a2 ldrh r2, [r4, #12] - 1777e: f240 2139 movw r1, #569 ; 0x239 - 17782: 303c adds r0, #60 ; 0x3c - 17784: 47a8 blx r5 + 171d2: 6820 ldr r0, [r4, #0] + 171d4: 89a2 ldrh r2, [r4, #12] + 171d6: f240 2139 movw r1, #569 ; 0x239 + 171da: 303c adds r0, #60 ; 0x3c + 171dc: 47a8 blx r5 lv_style_set_border_color(&styles->cpicker_indic, LV_STATE_EDITED, theme.color_secondary); - 17786: 6820 ldr r0, [r4, #0] - 17788: 89e2 ldrh r2, [r4, #14] - 1778a: f240 4139 movw r1, #1081 ; 0x439 - 1778e: 303c adds r0, #60 ; 0x3c - 17790: 47a8 blx r5 + 171de: 6820 ldr r0, [r4, #0] + 171e0: 89e2 ldrh r2, [r4, #14] + 171e2: f240 4139 movw r1, #1081 ; 0x439 + 171e6: 303c adds r0, #60 ; 0x3c + 171e8: 47a8 blx r5 lv_style_set_pad_left(&styles->cpicker_indic, LV_STATE_DEFAULT, LV_DPX(13)); - 17792: 6824 ldr r4, [r4, #0] - 17794: 343c adds r4, #60 ; 0x3c - 17796: 2000 movs r0, #0 - 17798: 4b9f ldr r3, [pc, #636] ; (17a18 ) - 1779a: 4798 blx r3 - 1779c: eb00 0340 add.w r3, r0, r0, lsl #1 - 177a0: eb00 0083 add.w r0, r0, r3, lsl #2 - 177a4: 3050 adds r0, #80 ; 0x50 - 177a6: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 177aa: f281 8299 bge.w 18ce0 - 177ae: 2201 movs r2, #1 + 171ea: 6824 ldr r4, [r4, #0] + 171ec: 343c adds r4, #60 ; 0x3c + 171ee: 2000 movs r0, #0 + 171f0: 4b9f ldr r3, [pc, #636] ; (17470 ) + 171f2: 4798 blx r3 + 171f4: eb00 0340 add.w r3, r0, r0, lsl #1 + 171f8: eb00 0083 add.w r0, r0, r3, lsl #2 + 171fc: 3050 adds r0, #80 ; 0x50 + 171fe: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 17202: f281 8299 bge.w 18738 + 17206: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 177b0: 2112 movs r1, #18 - 177b2: 4620 mov r0, r4 - 177b4: 4b92 ldr r3, [pc, #584] ; (17a00 ) - 177b6: 4798 blx r3 + 17208: 2112 movs r1, #18 + 1720a: 4620 mov r0, r4 + 1720c: 4b92 ldr r3, [pc, #584] ; (17458 ) + 1720e: 4798 blx r3 lv_style_set_pad_right(&styles->cpicker_indic, LV_STATE_DEFAULT, LV_DPX(13)); - 177b8: 4b92 ldr r3, [pc, #584] ; (17a04 ) - 177ba: 681c ldr r4, [r3, #0] - 177bc: 343c adds r4, #60 ; 0x3c - 177be: 2000 movs r0, #0 - 177c0: 4b95 ldr r3, [pc, #596] ; (17a18 ) - 177c2: 4798 blx r3 - 177c4: eb00 0340 add.w r3, r0, r0, lsl #1 - 177c8: eb00 0083 add.w r0, r0, r3, lsl #2 - 177cc: 3050 adds r0, #80 ; 0x50 - 177ce: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 177d2: f281 8296 bge.w 18d02 - 177d6: 2201 movs r2, #1 + 17210: 4b92 ldr r3, [pc, #584] ; (1745c ) + 17212: 681c ldr r4, [r3, #0] + 17214: 343c adds r4, #60 ; 0x3c + 17216: 2000 movs r0, #0 + 17218: 4b95 ldr r3, [pc, #596] ; (17470 ) + 1721a: 4798 blx r3 + 1721c: eb00 0340 add.w r3, r0, r0, lsl #1 + 17220: eb00 0083 add.w r0, r0, r3, lsl #2 + 17224: 3050 adds r0, #80 ; 0x50 + 17226: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 1722a: f281 8296 bge.w 1875a + 1722e: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 177d8: 2113 movs r1, #19 - 177da: 4620 mov r0, r4 - 177dc: 4b88 ldr r3, [pc, #544] ; (17a00 ) - 177de: 4798 blx r3 + 17230: 2113 movs r1, #19 + 17232: 4620 mov r0, r4 + 17234: 4b88 ldr r3, [pc, #544] ; (17458 ) + 17236: 4798 blx r3 lv_style_set_pad_top(&styles->cpicker_indic, LV_STATE_DEFAULT, LV_DPX(13)); - 177e0: 4b88 ldr r3, [pc, #544] ; (17a04 ) - 177e2: 681c ldr r4, [r3, #0] - 177e4: 343c adds r4, #60 ; 0x3c - 177e6: 2000 movs r0, #0 - 177e8: 4b8b ldr r3, [pc, #556] ; (17a18 ) - 177ea: 4798 blx r3 - 177ec: eb00 0340 add.w r3, r0, r0, lsl #1 - 177f0: eb00 0083 add.w r0, r0, r3, lsl #2 - 177f4: 3050 adds r0, #80 ; 0x50 - 177f6: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 177fa: f281 8293 bge.w 18d24 - 177fe: 2201 movs r2, #1 + 17238: 4b88 ldr r3, [pc, #544] ; (1745c ) + 1723a: 681c ldr r4, [r3, #0] + 1723c: 343c adds r4, #60 ; 0x3c + 1723e: 2000 movs r0, #0 + 17240: 4b8b ldr r3, [pc, #556] ; (17470 ) + 17242: 4798 blx r3 + 17244: eb00 0340 add.w r3, r0, r0, lsl #1 + 17248: eb00 0083 add.w r0, r0, r3, lsl #2 + 1724c: 3050 adds r0, #80 ; 0x50 + 1724e: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 17252: f281 8293 bge.w 1877c + 17256: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) - 17800: 2110 movs r1, #16 - 17802: 4620 mov r0, r4 - 17804: 4b7e ldr r3, [pc, #504] ; (17a00 ) - 17806: 4798 blx r3 + 17258: 2110 movs r1, #16 + 1725a: 4620 mov r0, r4 + 1725c: 4b7e ldr r3, [pc, #504] ; (17458 ) + 1725e: 4798 blx r3 lv_style_set_pad_bottom(&styles->cpicker_indic, LV_STATE_DEFAULT, LV_DPX(13)); - 17808: 4b7e ldr r3, [pc, #504] ; (17a04 ) - 1780a: 681c ldr r4, [r3, #0] - 1780c: 343c adds r4, #60 ; 0x3c - 1780e: 2000 movs r0, #0 - 17810: 4b81 ldr r3, [pc, #516] ; (17a18 ) - 17812: 4798 blx r3 - 17814: eb00 0340 add.w r3, r0, r0, lsl #1 - 17818: eb00 0083 add.w r0, r0, r3, lsl #2 - 1781c: 3050 adds r0, #80 ; 0x50 - 1781e: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 17822: f281 8290 bge.w 18d46 - 17826: 2201 movs r2, #1 + 17260: 4b7e ldr r3, [pc, #504] ; (1745c ) + 17262: 681c ldr r4, [r3, #0] + 17264: 343c adds r4, #60 ; 0x3c + 17266: 2000 movs r0, #0 + 17268: 4b81 ldr r3, [pc, #516] ; (17470 ) + 1726a: 4798 blx r3 + 1726c: eb00 0340 add.w r3, r0, r0, lsl #1 + 17270: eb00 0083 add.w r0, r0, r3, lsl #2 + 17274: 3050 adds r0, #80 ; 0x50 + 17276: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 1727a: f281 8290 bge.w 1879e + 1727e: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) - 17828: 2111 movs r1, #17 - 1782a: 4620 mov r0, r4 - 1782c: 4b74 ldr r3, [pc, #464] ; (17a00 ) - 1782e: 4798 blx r3 + 17280: 2111 movs r1, #17 + 17282: 4620 mov r0, r4 + 17284: 4b74 ldr r3, [pc, #464] ; (17458 ) + 17286: 4798 blx r3 style_init_reset(&styles->cb_bg); - 17830: 4c74 ldr r4, [pc, #464] ; (17a04 ) - 17832: 6820 ldr r0, [r4, #0] - 17834: 304c adds r0, #76 ; 0x4c - 17836: 4b74 ldr r3, [pc, #464] ; (17a08 ) - 17838: 4798 blx r3 + 17288: 4c74 ldr r4, [pc, #464] ; (1745c ) + 1728a: 6820 ldr r0, [r4, #0] + 1728c: 304c adds r0, #76 ; 0x4c + 1728e: 4b74 ldr r3, [pc, #464] ; (17460 ) + 17290: 4798 blx r3 lv_style_set_radius(&styles->cb_bg, LV_STATE_DEFAULT, LV_DPX(4)); - 1783a: 6824 ldr r4, [r4, #0] - 1783c: 344c adds r4, #76 ; 0x4c - 1783e: 2000 movs r0, #0 - 17840: 4b75 ldr r3, [pc, #468] ; (17a18 ) - 17842: 4798 blx r3 - 17844: 3014 adds r0, #20 - 17846: 0080 lsls r0, r0, #2 - 17848: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 1784c: f281 828c bge.w 18d68 - 17850: 2201 movs r2, #1 + 17292: 6824 ldr r4, [r4, #0] + 17294: 344c adds r4, #76 ; 0x4c + 17296: 2000 movs r0, #0 + 17298: 4b75 ldr r3, [pc, #468] ; (17470 ) + 1729a: 4798 blx r3 + 1729c: 3014 adds r0, #20 + 1729e: 0080 lsls r0, r0, #2 + 172a0: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 172a4: f281 828c bge.w 187c0 + 172a8: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 17852: 2101 movs r1, #1 - 17854: 4620 mov r0, r4 - 17856: 4b6a ldr r3, [pc, #424] ; (17a00 ) - 17858: 4798 blx r3 + 172aa: 2101 movs r1, #1 + 172ac: 4620 mov r0, r4 + 172ae: 4b6a ldr r3, [pc, #424] ; (17458 ) + 172b0: 4798 blx r3 lv_style_set_pad_inner(&styles->cb_bg, LV_STATE_DEFAULT, LV_DPX(10)); - 1785a: 4b6a ldr r3, [pc, #424] ; (17a04 ) - 1785c: 681c ldr r4, [r3, #0] - 1785e: 344c adds r4, #76 ; 0x4c - 17860: 2000 movs r0, #0 - 17862: 4b6d ldr r3, [pc, #436] ; (17a18 ) - 17864: 4798 blx r3 - 17866: eb00 0080 add.w r0, r0, r0, lsl #2 - 1786a: 0040 lsls r0, r0, #1 - 1786c: 3050 adds r0, #80 ; 0x50 - 1786e: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 17872: f281 8287 bge.w 18d84 - 17876: 2201 movs r2, #1 + 172b2: 4b6a ldr r3, [pc, #424] ; (1745c ) + 172b4: 681c ldr r4, [r3, #0] + 172b6: 344c adds r4, #76 ; 0x4c + 172b8: 2000 movs r0, #0 + 172ba: 4b6d ldr r3, [pc, #436] ; (17470 ) + 172bc: 4798 blx r3 + 172be: eb00 0080 add.w r0, r0, r0, lsl #2 + 172c2: 0040 lsls r0, r0, #1 + 172c4: 3050 adds r0, #80 ; 0x50 + 172c6: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 172ca: f281 8287 bge.w 187dc + 172ce: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_INNER, pad_inner, lv_style_int_t, _int, scalar) - 17878: 2114 movs r1, #20 - 1787a: 4620 mov r0, r4 - 1787c: 4b60 ldr r3, [pc, #384] ; (17a00 ) - 1787e: 4798 blx r3 + 172d0: 2114 movs r1, #20 + 172d2: 4620 mov r0, r4 + 172d4: 4b60 ldr r3, [pc, #384] ; (17458 ) + 172d6: 4798 blx r3 lv_style_set_outline_color(&styles->cb_bg, LV_STATE_DEFAULT, theme.color_primary); - 17880: 4c60 ldr r4, [pc, #384] ; (17a04 ) - 17882: 6820 ldr r0, [r4, #0] + 172d8: 4c60 ldr r4, [pc, #384] ; (1745c ) + 172da: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_COLOR, outline_color, lv_color_t, _color, nonscalar) - 17884: 89a2 ldrh r2, [r4, #12] - 17886: 2149 movs r1, #73 ; 0x49 - 17888: 304c adds r0, #76 ; 0x4c - 1788a: 4b61 ldr r3, [pc, #388] ; (17a10 ) - 1788c: 4798 blx r3 + 172dc: 89a2 ldrh r2, [r4, #12] + 172de: 2149 movs r1, #73 ; 0x49 + 172e0: 304c adds r0, #76 ; 0x4c + 172e2: 4b61 ldr r3, [pc, #388] ; (17468 ) + 172e4: 4798 blx r3 lv_style_set_outline_opa(&styles->cb_bg, LV_STATE_DEFAULT, LV_OPA_TRANSP); - 1788e: 6820 ldr r0, [r4, #0] + 172e6: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_OPA, outline_opa, lv_opa_t, _opa, scalar) - 17890: 2200 movs r2, #0 - 17892: 214c movs r1, #76 ; 0x4c - 17894: 4408 add r0, r1 - 17896: 4d5f ldr r5, [pc, #380] ; (17a14 ) - 17898: 47a8 blx r5 + 172e8: 2200 movs r2, #0 + 172ea: 214c movs r1, #76 ; 0x4c + 172ec: 4408 add r0, r1 + 172ee: 4d5f ldr r5, [pc, #380] ; (1746c ) + 172f0: 47a8 blx r5 lv_style_set_outline_opa(&styles->cb_bg, LV_STATE_FOCUSED, LV_OPA_50); - 1789a: 6820 ldr r0, [r4, #0] - 1789c: 227f movs r2, #127 ; 0x7f - 1789e: f44f 7113 mov.w r1, #588 ; 0x24c - 178a2: 304c adds r0, #76 ; 0x4c - 178a4: 47a8 blx r5 + 172f2: 6820 ldr r0, [r4, #0] + 172f4: 227f movs r2, #127 ; 0x7f + 172f6: f44f 7113 mov.w r1, #588 ; 0x24c + 172fa: 304c adds r0, #76 ; 0x4c + 172fc: 47a8 blx r5 lv_style_set_outline_width(&styles->cb_bg, LV_STATE_DEFAULT, LV_DPX(3)); - 178a6: 6824 ldr r4, [r4, #0] - 178a8: 344c adds r4, #76 ; 0x4c - 178aa: 2000 movs r0, #0 - 178ac: 4b5a ldr r3, [pc, #360] ; (17a18 ) - 178ae: 4798 blx r3 - 178b0: eb00 0040 add.w r0, r0, r0, lsl #1 - 178b4: 3050 adds r0, #80 ; 0x50 - 178b6: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 178ba: f281 8273 bge.w 18da4 - 178be: 2201 movs r2, #1 + 172fe: 6824 ldr r4, [r4, #0] + 17300: 344c adds r4, #76 ; 0x4c + 17302: 2000 movs r0, #0 + 17304: 4b5a ldr r3, [pc, #360] ; (17470 ) + 17306: 4798 blx r3 + 17308: eb00 0040 add.w r0, r0, r0, lsl #1 + 1730c: 3050 adds r0, #80 ; 0x50 + 1730e: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 17312: f281 8273 bge.w 187fc + 17316: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_WIDTH, outline_width, lv_style_int_t, _int, scalar) - 178c0: 2140 movs r1, #64 ; 0x40 - 178c2: 4620 mov r0, r4 - 178c4: 4b4e ldr r3, [pc, #312] ; (17a00 ) - 178c6: 4798 blx r3 + 17318: 2140 movs r1, #64 ; 0x40 + 1731a: 4620 mov r0, r4 + 1731c: 4b4e ldr r3, [pc, #312] ; (17458 ) + 1731e: 4798 blx r3 lv_style_set_outline_pad(&styles->cb_bg, LV_STATE_DEFAULT, LV_DPX(10)); - 178c8: 4b4e ldr r3, [pc, #312] ; (17a04 ) - 178ca: 681c ldr r4, [r3, #0] - 178cc: 344c adds r4, #76 ; 0x4c - 178ce: 2000 movs r0, #0 - 178d0: 4b51 ldr r3, [pc, #324] ; (17a18 ) - 178d2: 4798 blx r3 - 178d4: eb00 0080 add.w r0, r0, r0, lsl #2 - 178d8: 0040 lsls r0, r0, #1 - 178da: 3050 adds r0, #80 ; 0x50 - 178dc: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 178e0: f281 826f bge.w 18dc2 - 178e4: 2201 movs r2, #1 + 17320: 4b4e ldr r3, [pc, #312] ; (1745c ) + 17322: 681c ldr r4, [r3, #0] + 17324: 344c adds r4, #76 ; 0x4c + 17326: 2000 movs r0, #0 + 17328: 4b51 ldr r3, [pc, #324] ; (17470 ) + 1732a: 4798 blx r3 + 1732c: eb00 0080 add.w r0, r0, r0, lsl #2 + 17330: 0040 lsls r0, r0, #1 + 17332: 3050 adds r0, #80 ; 0x50 + 17334: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 17338: f281 826f bge.w 1881a + 1733c: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_PAD, outline_pad, lv_style_int_t, _int, scalar) - 178e6: 2141 movs r1, #65 ; 0x41 - 178e8: 4620 mov r0, r4 - 178ea: 4d45 ldr r5, [pc, #276] ; (17a00 ) - 178ec: 47a8 blx r5 + 1733e: 2141 movs r1, #65 ; 0x41 + 17340: 4620 mov r0, r4 + 17342: 4d45 ldr r5, [pc, #276] ; (17458 ) + 17344: 47a8 blx r5 lv_style_set_transition_time(&styles->cb_bg, LV_STATE_DEFAULT, TRANSITION_TIME); - 178ee: 4c45 ldr r4, [pc, #276] ; (17a04 ) - 178f0: 6820 ldr r0, [r4, #0] + 17346: 4c45 ldr r4, [pc, #276] ; (1745c ) + 17348: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_TIME, transition_time, lv_style_int_t, _int, scalar) - 178f2: 2296 movs r2, #150 ; 0x96 - 178f4: 21b0 movs r1, #176 ; 0xb0 - 178f6: 304c adds r0, #76 ; 0x4c - 178f8: 47a8 blx r5 + 1734a: 2296 movs r2, #150 ; 0x96 + 1734c: 21b0 movs r1, #176 ; 0xb0 + 1734e: 304c adds r0, #76 ; 0x4c + 17350: 47a8 blx r5 lv_style_set_transition_prop_6(&styles->cb_bg, LV_STATE_DEFAULT, LV_STYLE_OUTLINE_OPA); - 178fa: 6820 ldr r0, [r4, #0] + 17352: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_6, transition_prop_6, lv_style_int_t, _int, scalar) - 178fc: 224c movs r2, #76 ; 0x4c - 178fe: 21b7 movs r1, #183 ; 0xb7 - 17900: 4410 add r0, r2 - 17902: 47a8 blx r5 + 17354: 224c movs r2, #76 ; 0x4c + 17356: 21b7 movs r1, #183 ; 0xb7 + 17358: 4410 add r0, r2 + 1735a: 47a8 blx r5 style_init_reset(&styles->cb_bullet); - 17904: 6820 ldr r0, [r4, #0] - 17906: 3050 adds r0, #80 ; 0x50 - 17908: 4b3f ldr r3, [pc, #252] ; (17a08 ) - 1790a: 4798 blx r3 + 1735c: 6820 ldr r0, [r4, #0] + 1735e: 3050 adds r0, #80 ; 0x50 + 17360: 4b3f ldr r3, [pc, #252] ; (17460 ) + 17362: 4798 blx r3 lv_style_set_outline_opa(&styles->cb_bullet, LV_STATE_FOCUSED, LV_OPA_TRANSP); - 1790c: 6820 ldr r0, [r4, #0] + 17364: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_OPA, outline_opa, lv_opa_t, _opa, scalar) - 1790e: 2200 movs r2, #0 - 17910: f44f 7113 mov.w r1, #588 ; 0x24c - 17914: 3050 adds r0, #80 ; 0x50 - 17916: 4b3f ldr r3, [pc, #252] ; (17a14 ) - 17918: 4798 blx r3 + 17366: 2200 movs r2, #0 + 17368: f44f 7113 mov.w r1, #588 ; 0x24c + 1736c: 3050 adds r0, #80 ; 0x50 + 1736e: 4b3f ldr r3, [pc, #252] ; (1746c ) + 17370: 4798 blx r3 lv_style_set_radius(&styles->cb_bullet, LV_STATE_DEFAULT, LV_DPX(4)); - 1791a: 6824 ldr r4, [r4, #0] - 1791c: 3450 adds r4, #80 ; 0x50 - 1791e: 2000 movs r0, #0 - 17920: 4b3d ldr r3, [pc, #244] ; (17a18 ) - 17922: 4798 blx r3 - 17924: 3014 adds r0, #20 - 17926: 0080 lsls r0, r0, #2 - 17928: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 1792c: f281 8259 bge.w 18de2 - 17930: 2201 movs r2, #1 + 17372: 6824 ldr r4, [r4, #0] + 17374: 3450 adds r4, #80 ; 0x50 + 17376: 2000 movs r0, #0 + 17378: 4b3d ldr r3, [pc, #244] ; (17470 ) + 1737a: 4798 blx r3 + 1737c: 3014 adds r0, #20 + 1737e: 0080 lsls r0, r0, #2 + 17380: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 17384: f281 8259 bge.w 1883a + 17388: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 17932: 2101 movs r1, #1 - 17934: 4620 mov r0, r4 - 17936: 4b32 ldr r3, [pc, #200] ; (17a00 ) - 17938: 4798 blx r3 + 1738a: 2101 movs r1, #1 + 1738c: 4620 mov r0, r4 + 1738e: 4b32 ldr r3, [pc, #200] ; (17458 ) + 17390: 4798 blx r3 lv_style_set_pattern_image(&styles->cb_bullet, LV_STATE_CHECKED, LV_SYMBOL_OK); - 1793a: 4c32 ldr r4, [pc, #200] ; (17a04 ) - 1793c: 6820 ldr r0, [r4, #0] + 17392: 4c32 ldr r4, [pc, #200] ; (1745c ) + 17394: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(PATTERN_IMAGE, pattern_image, const void *, _ptr, scalar) - 1793e: 4a37 ldr r2, [pc, #220] ; (17a1c ) - 17940: f44f 71b7 mov.w r1, #366 ; 0x16e - 17944: 3050 adds r0, #80 ; 0x50 - 17946: 4d36 ldr r5, [pc, #216] ; (17a20 ) - 17948: 47a8 blx r5 + 17396: 4a37 ldr r2, [pc, #220] ; (17474 ) + 17398: f44f 71b7 mov.w r1, #366 ; 0x16e + 1739c: 3050 adds r0, #80 ; 0x50 + 1739e: 4d36 ldr r5, [pc, #216] ; (17478 ) + 173a0: 47a8 blx r5 lv_style_set_pattern_recolor(&styles->cb_bullet, LV_STATE_CHECKED, LV_COLOR_WHITE); - 1794a: 6820 ldr r0, [r4, #0] + 173a2: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(PATTERN_RECOLOR, pattern_recolor, lv_color_t, _color, nonscalar) - 1794c: 4b2f ldr r3, [pc, #188] ; (17a0c ) - 1794e: 881a ldrh r2, [r3, #0] - 17950: f240 1169 movw r1, #361 ; 0x169 - 17954: 3050 adds r0, #80 ; 0x50 - 17956: 4b2e ldr r3, [pc, #184] ; (17a10 ) - 17958: 4798 blx r3 + 173a4: 4b2f ldr r3, [pc, #188] ; (17464 ) + 173a6: 881a ldrh r2, [r3, #0] + 173a8: f240 1169 movw r1, #361 ; 0x169 + 173ac: 3050 adds r0, #80 ; 0x50 + 173ae: 4b2e ldr r3, [pc, #184] ; (17468 ) + 173b0: 4798 blx r3 lv_style_set_text_font(&styles->cb_bullet, LV_STATE_CHECKED, theme.font_small); - 1795a: 6820 ldr r0, [r4, #0] + 173b2: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_FONT, text_font, const lv_font_t *, _ptr, scalar) - 1795c: 6922 ldr r2, [r4, #16] - 1795e: f248 118e movw r1, #33166 ; 0x818e - 17962: 3050 adds r0, #80 ; 0x50 - 17964: 47a8 blx r5 + 173b4: 6922 ldr r2, [r4, #16] + 173b6: f248 118e movw r1, #33166 ; 0x818e + 173ba: 3050 adds r0, #80 ; 0x50 + 173bc: 47a8 blx r5 lv_style_set_pad_left(&styles->cb_bullet, LV_STATE_DEFAULT, LV_DPX(3)); - 17966: 6824 ldr r4, [r4, #0] - 17968: 3450 adds r4, #80 ; 0x50 - 1796a: 2000 movs r0, #0 - 1796c: 4b2a ldr r3, [pc, #168] ; (17a18 ) - 1796e: 4798 blx r3 - 17970: eb00 0040 add.w r0, r0, r0, lsl #1 - 17974: 3050 adds r0, #80 ; 0x50 - 17976: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 1797a: f281 8240 bge.w 18dfe - 1797e: 2201 movs r2, #1 + 173be: 6824 ldr r4, [r4, #0] + 173c0: 3450 adds r4, #80 ; 0x50 + 173c2: 2000 movs r0, #0 + 173c4: 4b2a ldr r3, [pc, #168] ; (17470 ) + 173c6: 4798 blx r3 + 173c8: eb00 0040 add.w r0, r0, r0, lsl #1 + 173cc: 3050 adds r0, #80 ; 0x50 + 173ce: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 173d2: f281 8240 bge.w 18856 + 173d6: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 17980: 2112 movs r1, #18 - 17982: 4620 mov r0, r4 - 17984: 4b1e ldr r3, [pc, #120] ; (17a00 ) - 17986: 4798 blx r3 + 173d8: 2112 movs r1, #18 + 173da: 4620 mov r0, r4 + 173dc: 4b1e ldr r3, [pc, #120] ; (17458 ) + 173de: 4798 blx r3 lv_style_set_pad_right(&styles->cb_bullet, LV_STATE_DEFAULT, LV_DPX(3)); - 17988: 4b1e ldr r3, [pc, #120] ; (17a04 ) - 1798a: 681c ldr r4, [r3, #0] - 1798c: 3450 adds r4, #80 ; 0x50 - 1798e: 2000 movs r0, #0 - 17990: 4b21 ldr r3, [pc, #132] ; (17a18 ) - 17992: 4798 blx r3 - 17994: eb00 0040 add.w r0, r0, r0, lsl #1 - 17998: 3050 adds r0, #80 ; 0x50 - 1799a: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 1799e: f281 823d bge.w 18e1c - 179a2: 2201 movs r2, #1 + 173e0: 4b1e ldr r3, [pc, #120] ; (1745c ) + 173e2: 681c ldr r4, [r3, #0] + 173e4: 3450 adds r4, #80 ; 0x50 + 173e6: 2000 movs r0, #0 + 173e8: 4b21 ldr r3, [pc, #132] ; (17470 ) + 173ea: 4798 blx r3 + 173ec: eb00 0040 add.w r0, r0, r0, lsl #1 + 173f0: 3050 adds r0, #80 ; 0x50 + 173f2: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 173f6: f281 823d bge.w 18874 + 173fa: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 179a4: 2113 movs r1, #19 - 179a6: 4620 mov r0, r4 - 179a8: 4b15 ldr r3, [pc, #84] ; (17a00 ) - 179aa: 4798 blx r3 + 173fc: 2113 movs r1, #19 + 173fe: 4620 mov r0, r4 + 17400: 4b15 ldr r3, [pc, #84] ; (17458 ) + 17402: 4798 blx r3 lv_style_set_pad_top(&styles->cb_bullet, LV_STATE_DEFAULT, LV_DPX(3)); - 179ac: 4b15 ldr r3, [pc, #84] ; (17a04 ) - 179ae: 681c ldr r4, [r3, #0] - 179b0: 3450 adds r4, #80 ; 0x50 - 179b2: 2000 movs r0, #0 - 179b4: 4b18 ldr r3, [pc, #96] ; (17a18 ) - 179b6: 4798 blx r3 - 179b8: eb00 0040 add.w r0, r0, r0, lsl #1 - 179bc: 3050 adds r0, #80 ; 0x50 - 179be: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 179c2: f281 823a bge.w 18e3a - 179c6: 2201 movs r2, #1 + 17404: 4b15 ldr r3, [pc, #84] ; (1745c ) + 17406: 681c ldr r4, [r3, #0] + 17408: 3450 adds r4, #80 ; 0x50 + 1740a: 2000 movs r0, #0 + 1740c: 4b18 ldr r3, [pc, #96] ; (17470 ) + 1740e: 4798 blx r3 + 17410: eb00 0040 add.w r0, r0, r0, lsl #1 + 17414: 3050 adds r0, #80 ; 0x50 + 17416: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 1741a: f281 823a bge.w 18892 + 1741e: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) - 179c8: 2110 movs r1, #16 - 179ca: 4620 mov r0, r4 - 179cc: 4b0c ldr r3, [pc, #48] ; (17a00 ) - 179ce: 4798 blx r3 + 17420: 2110 movs r1, #16 + 17422: 4620 mov r0, r4 + 17424: 4b0c ldr r3, [pc, #48] ; (17458 ) + 17426: 4798 blx r3 lv_style_set_pad_bottom(&styles->cb_bullet, LV_STATE_DEFAULT, LV_DPX(3)); - 179d0: 4b0c ldr r3, [pc, #48] ; (17a04 ) - 179d2: 681c ldr r4, [r3, #0] - 179d4: 3450 adds r4, #80 ; 0x50 - 179d6: 2000 movs r0, #0 - 179d8: 4b0f ldr r3, [pc, #60] ; (17a18 ) - 179da: 4798 blx r3 - 179dc: eb00 0040 add.w r0, r0, r0, lsl #1 - 179e0: 3050 adds r0, #80 ; 0x50 - 179e2: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 179e6: f281 8237 bge.w 18e58 - 179ea: 2201 movs r2, #1 + 17428: 4b0c ldr r3, [pc, #48] ; (1745c ) + 1742a: 681c ldr r4, [r3, #0] + 1742c: 3450 adds r4, #80 ; 0x50 + 1742e: 2000 movs r0, #0 + 17430: 4b0f ldr r3, [pc, #60] ; (17470 ) + 17432: 4798 blx r3 + 17434: eb00 0040 add.w r0, r0, r0, lsl #1 + 17438: 3050 adds r0, #80 ; 0x50 + 1743a: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 1743e: f281 8237 bge.w 188b0 + 17442: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) - 179ec: 2111 movs r1, #17 - 179ee: 4620 mov r0, r4 - 179f0: 4d03 ldr r5, [pc, #12] ; (17a00 ) - 179f2: 47a8 blx r5 + 17444: 2111 movs r1, #17 + 17446: 4620 mov r0, r4 + 17448: 4d03 ldr r5, [pc, #12] ; (17458 ) + 1744a: 47a8 blx r5 style_init_reset(&styles->kb_bg); - 179f4: 4c03 ldr r4, [pc, #12] ; (17a04 ) - 179f6: 6820 ldr r0, [r4, #0] - 179f8: 3068 adds r0, #104 ; 0x68 - 179fa: 4b03 ldr r3, [pc, #12] ; (17a08 ) - 179fc: 4798 blx r3 - 179fe: e011 b.n 17a24 - 17a00: 00006e89 .word 0x00006e89 - 17a04: 20006bd8 .word 0x20006bd8 - 17a08: 00015009 .word 0x00015009 - 17a0c: 00020a68 .word 0x00020a68 - 17a10: 00006fcd .word 0x00006fcd - 17a14: 00007111 .word 0x00007111 - 17a18: 000114e5 .word 0x000114e5 - 17a1c: 00020a70 .word 0x00020a70 - 17a20: 00007241 .word 0x00007241 + 1744c: 4c03 ldr r4, [pc, #12] ; (1745c ) + 1744e: 6820 ldr r0, [r4, #0] + 17450: 3068 adds r0, #104 ; 0x68 + 17452: 4b03 ldr r3, [pc, #12] ; (17460 ) + 17454: 4798 blx r3 + 17456: e011 b.n 1747c + 17458: 000068e1 .word 0x000068e1 + 1745c: 20006bd8 .word 0x20006bd8 + 17460: 00014a61 .word 0x00014a61 + 17464: 00029584 .word 0x00029584 + 17468: 00006a25 .word 0x00006a25 + 1746c: 00006b69 .word 0x00006b69 + 17470: 00010f3d .word 0x00010f3d + 17474: 0002958c .word 0x0002958c + 17478: 00006c99 .word 0x00006c99 lv_style_set_radius(&styles->kb_bg, LV_STATE_DEFAULT, 0); - 17a24: 6820 ldr r0, [r4, #0] + 1747c: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 17a26: 2200 movs r2, #0 - 17a28: 2101 movs r1, #1 - 17a2a: 3068 adds r0, #104 ; 0x68 - 17a2c: 47a8 blx r5 + 1747e: 2200 movs r2, #0 + 17480: 2101 movs r1, #1 + 17482: 3068 adds r0, #104 ; 0x68 + 17484: 47a8 blx r5 lv_style_set_border_width(&styles->kb_bg, LV_STATE_DEFAULT, LV_DPX(4)); - 17a2e: 6824 ldr r4, [r4, #0] - 17a30: 3468 adds r4, #104 ; 0x68 - 17a32: 2000 movs r0, #0 - 17a34: 4bb5 ldr r3, [pc, #724] ; (17d0c ) - 17a36: 4798 blx r3 - 17a38: 3014 adds r0, #20 - 17a3a: 0080 lsls r0, r0, #2 - 17a3c: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 17a40: f281 8219 bge.w 18e76 - 17a44: 2201 movs r2, #1 + 17486: 6824 ldr r4, [r4, #0] + 17488: 3468 adds r4, #104 ; 0x68 + 1748a: 2000 movs r0, #0 + 1748c: 4bb5 ldr r3, [pc, #724] ; (17764 ) + 1748e: 4798 blx r3 + 17490: 3014 adds r0, #20 + 17492: 0080 lsls r0, r0, #2 + 17494: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 17498: f281 8219 bge.w 188ce + 1749c: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_WIDTH, border_width, lv_style_int_t, _int, scalar) - 17a46: 2130 movs r1, #48 ; 0x30 - 17a48: 4620 mov r0, r4 - 17a4a: 4db1 ldr r5, [pc, #708] ; (17d10 ) - 17a4c: 47a8 blx r5 + 1749e: 2130 movs r1, #48 ; 0x30 + 174a0: 4620 mov r0, r4 + 174a2: 4db1 ldr r5, [pc, #708] ; (17768 ) + 174a4: 47a8 blx r5 lv_style_set_border_side(&styles->kb_bg, LV_STATE_DEFAULT, LV_BORDER_SIDE_TOP); - 17a4e: 4cb1 ldr r4, [pc, #708] ; (17d14 ) - 17a50: 6820 ldr r0, [r4, #0] + 174a6: 4cb1 ldr r4, [pc, #708] ; (1776c ) + 174a8: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_SIDE, border_side, lv_border_side_t, _int, scalar) - 17a52: 2202 movs r2, #2 - 17a54: 2131 movs r1, #49 ; 0x31 - 17a56: 3068 adds r0, #104 ; 0x68 - 17a58: 47a8 blx r5 + 174aa: 2202 movs r2, #2 + 174ac: 2131 movs r1, #49 ; 0x31 + 174ae: 3068 adds r0, #104 ; 0x68 + 174b0: 47a8 blx r5 lv_style_set_border_color(&styles->kb_bg, LV_STATE_DEFAULT, IS_LIGHT ? COLOR_BG_TEXT : LV_COLOR_BLACK); - 17a5a: 6820 ldr r0, [r4, #0] - 17a5c: 3068 adds r0, #104 ; 0x68 - 17a5e: 6a23 ldr r3, [r4, #32] - 17a60: f013 0f02 tst.w r3, #2 - 17a64: f041 8215 bne.w 18e92 - 17a68: 2300 movs r3, #0 - 17a6a: 4619 mov r1, r3 - 17a6c: 461c mov r4, r3 - 17a6e: f04f 0200 mov.w r2, #0 - 17a72: f364 0204 bfi r2, r4, #0, #5 - 17a76: f361 124a bfi r2, r1, #5, #6 - 17a7a: f363 22cf bfi r2, r3, #11, #5 + 174b2: 6820 ldr r0, [r4, #0] + 174b4: 3068 adds r0, #104 ; 0x68 + 174b6: 6a23 ldr r3, [r4, #32] + 174b8: f013 0f02 tst.w r3, #2 + 174bc: f041 8215 bne.w 188ea + 174c0: 2300 movs r3, #0 + 174c2: 4619 mov r1, r3 + 174c4: 461c mov r4, r3 + 174c6: f04f 0200 mov.w r2, #0 + 174ca: f364 0204 bfi r2, r4, #0, #5 + 174ce: f361 124a bfi r2, r1, #5, #6 + 174d2: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_COLOR, border_color, lv_color_t, _color, nonscalar) - 17a7e: 2139 movs r1, #57 ; 0x39 - 17a80: 4da5 ldr r5, [pc, #660] ; (17d18 ) - 17a82: 47a8 blx r5 + 174d6: 2139 movs r1, #57 ; 0x39 + 174d8: 4da5 ldr r5, [pc, #660] ; (17770 ) + 174da: 47a8 blx r5 lv_style_set_border_color(&styles->kb_bg, LV_STATE_EDITED, theme.color_secondary); - 17a84: 4ca3 ldr r4, [pc, #652] ; (17d14 ) - 17a86: 6820 ldr r0, [r4, #0] - 17a88: 89e2 ldrh r2, [r4, #14] - 17a8a: f240 4139 movw r1, #1081 ; 0x439 - 17a8e: 3068 adds r0, #104 ; 0x68 - 17a90: 47a8 blx r5 + 174dc: 4ca3 ldr r4, [pc, #652] ; (1776c ) + 174de: 6820 ldr r0, [r4, #0] + 174e0: 89e2 ldrh r2, [r4, #14] + 174e2: f240 4139 movw r1, #1081 ; 0x439 + 174e6: 3068 adds r0, #104 ; 0x68 + 174e8: 47a8 blx r5 lv_style_set_pad_left(&styles->kb_bg, LV_STATE_DEFAULT, LV_DPX(5)); - 17a92: 6824 ldr r4, [r4, #0] - 17a94: 3468 adds r4, #104 ; 0x68 - 17a96: 2000 movs r0, #0 - 17a98: 4b9c ldr r3, [pc, #624] ; (17d0c ) - 17a9a: 4798 blx r3 - 17a9c: eb00 0080 add.w r0, r0, r0, lsl #2 - 17aa0: 3050 adds r0, #80 ; 0x50 - 17aa2: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 17aa6: f281 81f9 bge.w 18e9c - 17aaa: 2201 movs r2, #1 + 174ea: 6824 ldr r4, [r4, #0] + 174ec: 3468 adds r4, #104 ; 0x68 + 174ee: 2000 movs r0, #0 + 174f0: 4b9c ldr r3, [pc, #624] ; (17764 ) + 174f2: 4798 blx r3 + 174f4: eb00 0080 add.w r0, r0, r0, lsl #2 + 174f8: 3050 adds r0, #80 ; 0x50 + 174fa: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 174fe: f281 81f9 bge.w 188f4 + 17502: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 17aac: 2112 movs r1, #18 - 17aae: 4620 mov r0, r4 - 17ab0: 4b97 ldr r3, [pc, #604] ; (17d10 ) - 17ab2: 4798 blx r3 + 17504: 2112 movs r1, #18 + 17506: 4620 mov r0, r4 + 17508: 4b97 ldr r3, [pc, #604] ; (17768 ) + 1750a: 4798 blx r3 lv_style_set_pad_right(&styles->kb_bg, LV_STATE_DEFAULT, LV_DPX(5)); - 17ab4: 4b97 ldr r3, [pc, #604] ; (17d14 ) - 17ab6: 681c ldr r4, [r3, #0] - 17ab8: 3468 adds r4, #104 ; 0x68 - 17aba: 2000 movs r0, #0 - 17abc: 4b93 ldr r3, [pc, #588] ; (17d0c ) - 17abe: 4798 blx r3 - 17ac0: eb00 0080 add.w r0, r0, r0, lsl #2 - 17ac4: 3050 adds r0, #80 ; 0x50 - 17ac6: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 17aca: f281 81f6 bge.w 18eba - 17ace: 2201 movs r2, #1 + 1750c: 4b97 ldr r3, [pc, #604] ; (1776c ) + 1750e: 681c ldr r4, [r3, #0] + 17510: 3468 adds r4, #104 ; 0x68 + 17512: 2000 movs r0, #0 + 17514: 4b93 ldr r3, [pc, #588] ; (17764 ) + 17516: 4798 blx r3 + 17518: eb00 0080 add.w r0, r0, r0, lsl #2 + 1751c: 3050 adds r0, #80 ; 0x50 + 1751e: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 17522: f281 81f6 bge.w 18912 + 17526: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 17ad0: 2113 movs r1, #19 - 17ad2: 4620 mov r0, r4 - 17ad4: 4b8e ldr r3, [pc, #568] ; (17d10 ) - 17ad6: 4798 blx r3 + 17528: 2113 movs r1, #19 + 1752a: 4620 mov r0, r4 + 1752c: 4b8e ldr r3, [pc, #568] ; (17768 ) + 1752e: 4798 blx r3 lv_style_set_pad_top(&styles->kb_bg, LV_STATE_DEFAULT, LV_DPX(5)); - 17ad8: 4b8e ldr r3, [pc, #568] ; (17d14 ) - 17ada: 681c ldr r4, [r3, #0] - 17adc: 3468 adds r4, #104 ; 0x68 - 17ade: 2000 movs r0, #0 - 17ae0: 4b8a ldr r3, [pc, #552] ; (17d0c ) - 17ae2: 4798 blx r3 - 17ae4: eb00 0080 add.w r0, r0, r0, lsl #2 - 17ae8: 3050 adds r0, #80 ; 0x50 - 17aea: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 17aee: f281 81f3 bge.w 18ed8 - 17af2: 2201 movs r2, #1 + 17530: 4b8e ldr r3, [pc, #568] ; (1776c ) + 17532: 681c ldr r4, [r3, #0] + 17534: 3468 adds r4, #104 ; 0x68 + 17536: 2000 movs r0, #0 + 17538: 4b8a ldr r3, [pc, #552] ; (17764 ) + 1753a: 4798 blx r3 + 1753c: eb00 0080 add.w r0, r0, r0, lsl #2 + 17540: 3050 adds r0, #80 ; 0x50 + 17542: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 17546: f281 81f3 bge.w 18930 + 1754a: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) - 17af4: 2110 movs r1, #16 - 17af6: 4620 mov r0, r4 - 17af8: 4b85 ldr r3, [pc, #532] ; (17d10 ) - 17afa: 4798 blx r3 + 1754c: 2110 movs r1, #16 + 1754e: 4620 mov r0, r4 + 17550: 4b85 ldr r3, [pc, #532] ; (17768 ) + 17552: 4798 blx r3 lv_style_set_pad_bottom(&styles->kb_bg, LV_STATE_DEFAULT, LV_DPX(5)); - 17afc: 4b85 ldr r3, [pc, #532] ; (17d14 ) - 17afe: 681c ldr r4, [r3, #0] - 17b00: 3468 adds r4, #104 ; 0x68 - 17b02: 2000 movs r0, #0 - 17b04: 4b81 ldr r3, [pc, #516] ; (17d0c ) - 17b06: 4798 blx r3 - 17b08: eb00 0080 add.w r0, r0, r0, lsl #2 - 17b0c: 3050 adds r0, #80 ; 0x50 - 17b0e: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 17b12: f281 81f0 bge.w 18ef6 - 17b16: 2201 movs r2, #1 + 17554: 4b85 ldr r3, [pc, #532] ; (1776c ) + 17556: 681c ldr r4, [r3, #0] + 17558: 3468 adds r4, #104 ; 0x68 + 1755a: 2000 movs r0, #0 + 1755c: 4b81 ldr r3, [pc, #516] ; (17764 ) + 1755e: 4798 blx r3 + 17560: eb00 0080 add.w r0, r0, r0, lsl #2 + 17564: 3050 adds r0, #80 ; 0x50 + 17566: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 1756a: f281 81f0 bge.w 1894e + 1756e: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) - 17b18: 2111 movs r1, #17 - 17b1a: 4620 mov r0, r4 - 17b1c: 4b7c ldr r3, [pc, #496] ; (17d10 ) - 17b1e: 4798 blx r3 + 17570: 2111 movs r1, #17 + 17572: 4620 mov r0, r4 + 17574: 4b7c ldr r3, [pc, #496] ; (17768 ) + 17576: 4798 blx r3 lv_style_set_pad_inner(&styles->kb_bg, LV_STATE_DEFAULT, LV_DPX(3)); - 17b20: 4b7c ldr r3, [pc, #496] ; (17d14 ) - 17b22: 681c ldr r4, [r3, #0] - 17b24: 3468 adds r4, #104 ; 0x68 - 17b26: 2000 movs r0, #0 - 17b28: 4b78 ldr r3, [pc, #480] ; (17d0c ) - 17b2a: 4798 blx r3 - 17b2c: eb00 0040 add.w r0, r0, r0, lsl #1 - 17b30: 3050 adds r0, #80 ; 0x50 - 17b32: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 17b36: f281 81ed bge.w 18f14 - 17b3a: 2201 movs r2, #1 + 17578: 4b7c ldr r3, [pc, #496] ; (1776c ) + 1757a: 681c ldr r4, [r3, #0] + 1757c: 3468 adds r4, #104 ; 0x68 + 1757e: 2000 movs r0, #0 + 17580: 4b78 ldr r3, [pc, #480] ; (17764 ) + 17582: 4798 blx r3 + 17584: eb00 0040 add.w r0, r0, r0, lsl #1 + 17588: 3050 adds r0, #80 ; 0x50 + 1758a: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 1758e: f281 81ed bge.w 1896c + 17592: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_INNER, pad_inner, lv_style_int_t, _int, scalar) - 17b3c: 2114 movs r1, #20 - 17b3e: 4620 mov r0, r4 - 17b40: 4b73 ldr r3, [pc, #460] ; (17d10 ) - 17b42: 4798 blx r3 + 17594: 2114 movs r1, #20 + 17596: 4620 mov r0, r4 + 17598: 4b73 ldr r3, [pc, #460] ; (17768 ) + 1759a: 4798 blx r3 style_init_reset(&styles->mbox_bg); - 17b44: 4c73 ldr r4, [pc, #460] ; (17d14 ) - 17b46: 6820 ldr r0, [r4, #0] - 17b48: 307c adds r0, #124 ; 0x7c - 17b4a: 4b74 ldr r3, [pc, #464] ; (17d1c ) - 17b4c: 4798 blx r3 + 1759c: 4c73 ldr r4, [pc, #460] ; (1776c ) + 1759e: 6820 ldr r0, [r4, #0] + 175a0: 307c adds r0, #124 ; 0x7c + 175a2: 4b74 ldr r3, [pc, #464] ; (17774 ) + 175a4: 4798 blx r3 lv_style_set_shadow_width(&styles->mbox_bg, LV_STATE_DEFAULT, LV_DPX(50)); - 17b4e: 6824 ldr r4, [r4, #0] - 17b50: 347c adds r4, #124 ; 0x7c - 17b52: 2000 movs r0, #0 - 17b54: 4b6d ldr r3, [pc, #436] ; (17d0c ) - 17b56: 4798 blx r3 - 17b58: 2332 movs r3, #50 ; 0x32 - 17b5a: fb03 f000 mul.w r0, r3, r0 - 17b5e: 3050 adds r0, #80 ; 0x50 - 17b60: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 17b64: f281 81e5 bge.w 18f32 - 17b68: 2201 movs r2, #1 + 175a6: 6824 ldr r4, [r4, #0] + 175a8: 347c adds r4, #124 ; 0x7c + 175aa: 2000 movs r0, #0 + 175ac: 4b6d ldr r3, [pc, #436] ; (17764 ) + 175ae: 4798 blx r3 + 175b0: 2332 movs r3, #50 ; 0x32 + 175b2: fb03 f000 mul.w r0, r3, r0 + 175b6: 3050 adds r0, #80 ; 0x50 + 175b8: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 175bc: f281 81e5 bge.w 1898a + 175c0: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_WIDTH, shadow_width, lv_style_int_t, _int, scalar) - 17b6a: 2150 movs r1, #80 ; 0x50 - 17b6c: 4620 mov r0, r4 - 17b6e: 4b68 ldr r3, [pc, #416] ; (17d10 ) - 17b70: 4798 blx r3 + 175c2: 2150 movs r1, #80 ; 0x50 + 175c4: 4620 mov r0, r4 + 175c6: 4b68 ldr r3, [pc, #416] ; (17768 ) + 175c8: 4798 blx r3 lv_style_set_shadow_color(&styles->mbox_bg, LV_STATE_DEFAULT, IS_LIGHT ? LV_COLOR_SILVER : lv_color_hex3(0x999)); - 17b72: 4b68 ldr r3, [pc, #416] ; (17d14 ) - 17b74: 6818 ldr r0, [r3, #0] - 17b76: 6a1b ldr r3, [r3, #32] - 17b78: f013 0302 ands.w r3, r3, #2 - 17b7c: bf0c ite eq - 17b7e: 2126 moveq r1, #38 ; 0x26 - 17b80: 2130 movne r1, #48 ; 0x30 - 17b82: 2b00 cmp r3, #0 - 17b84: bf0c ite eq - 17b86: 2313 moveq r3, #19 - 17b88: 2318 movne r3, #24 - 17b8a: f04f 0200 mov.w r2, #0 - 17b8e: f363 0204 bfi r2, r3, #0, #5 - 17b92: f361 124a bfi r2, r1, #5, #6 - 17b96: f363 22cf bfi r2, r3, #11, #5 + 175ca: 4b68 ldr r3, [pc, #416] ; (1776c ) + 175cc: 6818 ldr r0, [r3, #0] + 175ce: 6a1b ldr r3, [r3, #32] + 175d0: f013 0302 ands.w r3, r3, #2 + 175d4: bf0c ite eq + 175d6: 2126 moveq r1, #38 ; 0x26 + 175d8: 2130 movne r1, #48 ; 0x30 + 175da: 2b00 cmp r3, #0 + 175dc: bf0c ite eq + 175de: 2313 moveq r3, #19 + 175e0: 2318 movne r3, #24 + 175e2: f04f 0200 mov.w r2, #0 + 175e6: f363 0204 bfi r2, r3, #0, #5 + 175ea: f361 124a bfi r2, r1, #5, #6 + 175ee: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_COLOR, shadow_color, lv_color_t, _color, nonscalar) - 17b9a: 2159 movs r1, #89 ; 0x59 - 17b9c: 307c adds r0, #124 ; 0x7c - 17b9e: 4b5e ldr r3, [pc, #376] ; (17d18 ) - 17ba0: 4798 blx r3 + 175f2: 2159 movs r1, #89 ; 0x59 + 175f4: 307c adds r0, #124 ; 0x7c + 175f6: 4b5e ldr r3, [pc, #376] ; (17770 ) + 175f8: 4798 blx r3 style_init_reset(&styles->sb); - 17ba2: 4c5c ldr r4, [pc, #368] ; (17d14 ) - 17ba4: 6820 ldr r0, [r4, #0] - 17ba6: 3080 adds r0, #128 ; 0x80 - 17ba8: 4b5c ldr r3, [pc, #368] ; (17d1c ) - 17baa: 4798 blx r3 + 175fa: 4c5c ldr r4, [pc, #368] ; (1776c ) + 175fc: 6820 ldr r0, [r4, #0] + 175fe: 3080 adds r0, #128 ; 0x80 + 17600: 4b5c ldr r3, [pc, #368] ; (17774 ) + 17602: 4798 blx r3 lv_style_set_bg_opa(&styles->sb, LV_STATE_DEFAULT, LV_OPA_COVER); - 17bac: 6820 ldr r0, [r4, #0] + 17604: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 17bae: 22ff movs r2, #255 ; 0xff - 17bb0: 212c movs r1, #44 ; 0x2c - 17bb2: 3080 adds r0, #128 ; 0x80 - 17bb4: 4b5a ldr r3, [pc, #360] ; (17d20 ) - 17bb6: 4798 blx r3 + 17606: 22ff movs r2, #255 ; 0xff + 17608: 212c movs r1, #44 ; 0x2c + 1760a: 3080 adds r0, #128 ; 0x80 + 1760c: 4b5a ldr r3, [pc, #360] ; (17778 ) + 1760e: 4798 blx r3 lv_style_set_bg_color(&styles->sb, LV_STATE_DEFAULT, (IS_LIGHT ? lv_color_hex(0xcccfd1) : lv_color_hex(0x777f85))); - 17bb8: 6820 ldr r0, [r4, #0] - 17bba: 6a23 ldr r3, [r4, #32] - 17bbc: f013 0302 ands.w r3, r3, #2 - 17bc0: bf14 ite ne - 17bc2: 2119 movne r1, #25 - 17bc4: 210e moveq r1, #14 - 17bc6: 2b00 cmp r3, #0 - 17bc8: bf15 itete ne - 17bca: 2433 movne r4, #51 ; 0x33 - 17bcc: 241f moveq r4, #31 - 17bce: 231a movne r3, #26 - 17bd0: 2310 moveq r3, #16 - 17bd2: f04f 0200 mov.w r2, #0 - 17bd6: f363 0204 bfi r2, r3, #0, #5 - 17bda: f364 124a bfi r2, r4, #5, #6 - 17bde: f361 22cf bfi r2, r1, #11, #5 + 17610: 6820 ldr r0, [r4, #0] + 17612: 6a23 ldr r3, [r4, #32] + 17614: f013 0302 ands.w r3, r3, #2 + 17618: bf14 ite ne + 1761a: 2119 movne r1, #25 + 1761c: 210e moveq r1, #14 + 1761e: 2b00 cmp r3, #0 + 17620: bf15 itete ne + 17622: 2433 movne r4, #51 ; 0x33 + 17624: 241f moveq r4, #31 + 17626: 231a movne r3, #26 + 17628: 2310 moveq r3, #16 + 1762a: f04f 0200 mov.w r2, #0 + 1762e: f363 0204 bfi r2, r3, #0, #5 + 17632: f364 124a bfi r2, r4, #5, #6 + 17636: f361 22cf bfi r2, r1, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 17be2: 2129 movs r1, #41 ; 0x29 - 17be4: 3080 adds r0, #128 ; 0x80 - 17be6: 4b4c ldr r3, [pc, #304] ; (17d18 ) - 17be8: 4798 blx r3 + 1763a: 2129 movs r1, #41 ; 0x29 + 1763c: 3080 adds r0, #128 ; 0x80 + 1763e: 4b4c ldr r3, [pc, #304] ; (17770 ) + 17640: 4798 blx r3 lv_style_set_radius(&styles->sb, LV_STATE_DEFAULT, LV_RADIUS_CIRCLE); - 17bea: 4c4a ldr r4, [pc, #296] ; (17d14 ) - 17bec: 6820 ldr r0, [r4, #0] + 17642: 4c4a ldr r4, [pc, #296] ; (1776c ) + 17644: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 17bee: f647 72ff movw r2, #32767 ; 0x7fff - 17bf2: 2101 movs r1, #1 - 17bf4: 3080 adds r0, #128 ; 0x80 - 17bf6: 4b46 ldr r3, [pc, #280] ; (17d10 ) - 17bf8: 4798 blx r3 + 17646: f647 72ff movw r2, #32767 ; 0x7fff + 1764a: 2101 movs r1, #1 + 1764c: 3080 adds r0, #128 ; 0x80 + 1764e: 4b46 ldr r3, [pc, #280] ; (17768 ) + 17650: 4798 blx r3 lv_style_set_size(&styles->sb, LV_STATE_DEFAULT, LV_DPX(7)); - 17bfa: 6824 ldr r4, [r4, #0] - 17bfc: 3480 adds r4, #128 ; 0x80 - 17bfe: 2000 movs r0, #0 - 17c00: 4b42 ldr r3, [pc, #264] ; (17d0c ) - 17c02: 4798 blx r3 - 17c04: ebc0 00c0 rsb r0, r0, r0, lsl #3 - 17c08: 3050 adds r0, #80 ; 0x50 - 17c0a: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 17c0e: f281 81a0 bge.w 18f52 - 17c12: 2201 movs r2, #1 + 17652: 6824 ldr r4, [r4, #0] + 17654: 3480 adds r4, #128 ; 0x80 + 17656: 2000 movs r0, #0 + 17658: 4b42 ldr r3, [pc, #264] ; (17764 ) + 1765a: 4798 blx r3 + 1765c: ebc0 00c0 rsb r0, r0, r0, lsl #3 + 17660: 3050 adds r0, #80 ; 0x50 + 17662: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 17666: f281 81a0 bge.w 189aa + 1766a: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(SIZE, size, lv_style_int_t, _int, scalar) - 17c14: 2103 movs r1, #3 - 17c16: 4620 mov r0, r4 - 17c18: 4b3d ldr r3, [pc, #244] ; (17d10 ) - 17c1a: 4798 blx r3 + 1766c: 2103 movs r1, #3 + 1766e: 4620 mov r0, r4 + 17670: 4b3d ldr r3, [pc, #244] ; (17768 ) + 17672: 4798 blx r3 lv_style_set_pad_right(&styles->sb, LV_STATE_DEFAULT, LV_DPX(7)); - 17c1c: 4b3d ldr r3, [pc, #244] ; (17d14 ) - 17c1e: 681c ldr r4, [r3, #0] - 17c20: 3480 adds r4, #128 ; 0x80 - 17c22: 2000 movs r0, #0 - 17c24: 4b39 ldr r3, [pc, #228] ; (17d0c ) - 17c26: 4798 blx r3 - 17c28: ebc0 00c0 rsb r0, r0, r0, lsl #3 - 17c2c: 3050 adds r0, #80 ; 0x50 - 17c2e: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 17c32: f281 819d bge.w 18f70 - 17c36: 2201 movs r2, #1 + 17674: 4b3d ldr r3, [pc, #244] ; (1776c ) + 17676: 681c ldr r4, [r3, #0] + 17678: 3480 adds r4, #128 ; 0x80 + 1767a: 2000 movs r0, #0 + 1767c: 4b39 ldr r3, [pc, #228] ; (17764 ) + 1767e: 4798 blx r3 + 17680: ebc0 00c0 rsb r0, r0, r0, lsl #3 + 17684: 3050 adds r0, #80 ; 0x50 + 17686: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 1768a: f281 819d bge.w 189c8 + 1768e: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 17c38: 2113 movs r1, #19 - 17c3a: 4620 mov r0, r4 - 17c3c: 4b34 ldr r3, [pc, #208] ; (17d10 ) - 17c3e: 4798 blx r3 + 17690: 2113 movs r1, #19 + 17692: 4620 mov r0, r4 + 17694: 4b34 ldr r3, [pc, #208] ; (17768 ) + 17696: 4798 blx r3 lv_style_set_pad_bottom(&styles->sb, LV_STATE_DEFAULT, LV_DPX(7)); - 17c40: 4b34 ldr r3, [pc, #208] ; (17d14 ) - 17c42: 681c ldr r4, [r3, #0] - 17c44: 3480 adds r4, #128 ; 0x80 - 17c46: 2000 movs r0, #0 - 17c48: 4b30 ldr r3, [pc, #192] ; (17d0c ) - 17c4a: 4798 blx r3 - 17c4c: ebc0 00c0 rsb r0, r0, r0, lsl #3 - 17c50: 3050 adds r0, #80 ; 0x50 - 17c52: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 17c56: f281 819a bge.w 18f8e - 17c5a: 2201 movs r2, #1 + 17698: 4b34 ldr r3, [pc, #208] ; (1776c ) + 1769a: 681c ldr r4, [r3, #0] + 1769c: 3480 adds r4, #128 ; 0x80 + 1769e: 2000 movs r0, #0 + 176a0: 4b30 ldr r3, [pc, #192] ; (17764 ) + 176a2: 4798 blx r3 + 176a4: ebc0 00c0 rsb r0, r0, r0, lsl #3 + 176a8: 3050 adds r0, #80 ; 0x50 + 176aa: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 176ae: f281 819a bge.w 189e6 + 176b2: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) - 17c5c: 2111 movs r1, #17 - 17c5e: 4620 mov r0, r4 - 17c60: 4b2b ldr r3, [pc, #172] ; (17d10 ) - 17c62: 4798 blx r3 + 176b4: 2111 movs r1, #17 + 176b6: 4620 mov r0, r4 + 176b8: 4b2b ldr r3, [pc, #172] ; (17768 ) + 176ba: 4798 blx r3 style_init_reset(&styles->edge_flash); - 17c64: 4c2b ldr r4, [pc, #172] ; (17d14 ) - 17c66: 6820 ldr r0, [r4, #0] - 17c68: 3084 adds r0, #132 ; 0x84 - 17c6a: 4d2c ldr r5, [pc, #176] ; (17d1c ) - 17c6c: 47a8 blx r5 + 176bc: 4c2b ldr r4, [pc, #172] ; (1776c ) + 176be: 6820 ldr r0, [r4, #0] + 176c0: 3084 adds r0, #132 ; 0x84 + 176c2: 4d2c ldr r5, [pc, #176] ; (17774 ) + 176c4: 47a8 blx r5 lv_style_set_bg_opa(&styles->edge_flash, LV_STATE_DEFAULT, LV_OPA_COVER); - 17c6e: 6820 ldr r0, [r4, #0] + 176c6: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 17c70: 22ff movs r2, #255 ; 0xff - 17c72: 212c movs r1, #44 ; 0x2c - 17c74: 3084 adds r0, #132 ; 0x84 - 17c76: 4b2a ldr r3, [pc, #168] ; (17d20 ) - 17c78: 4798 blx r3 + 176c8: 22ff movs r2, #255 ; 0xff + 176ca: 212c movs r1, #44 ; 0x2c + 176cc: 3084 adds r0, #132 ; 0x84 + 176ce: 4b2a ldr r3, [pc, #168] ; (17778 ) + 176d0: 4798 blx r3 lv_style_set_bg_color(&styles->edge_flash, LV_STATE_DEFAULT, lv_color_hex3(0x888)); - 17c7a: 6820 ldr r0, [r4, #0] - 17c7c: 2311 movs r3, #17 - 17c7e: f04f 0200 mov.w r2, #0 - 17c82: f363 0204 bfi r2, r3, #0, #5 - 17c86: 2122 movs r1, #34 ; 0x22 - 17c88: f361 124a bfi r2, r1, #5, #6 - 17c8c: f363 22cf bfi r2, r3, #11, #5 + 176d2: 6820 ldr r0, [r4, #0] + 176d4: 2311 movs r3, #17 + 176d6: f04f 0200 mov.w r2, #0 + 176da: f363 0204 bfi r2, r3, #0, #5 + 176de: 2122 movs r1, #34 ; 0x22 + 176e0: f361 124a bfi r2, r1, #5, #6 + 176e4: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 17c90: 2129 movs r1, #41 ; 0x29 - 17c92: 3084 adds r0, #132 ; 0x84 - 17c94: 4b20 ldr r3, [pc, #128] ; (17d18 ) - 17c96: 4798 blx r3 + 176e8: 2129 movs r1, #41 ; 0x29 + 176ea: 3084 adds r0, #132 ; 0x84 + 176ec: 4b20 ldr r3, [pc, #128] ; (17770 ) + 176ee: 4798 blx r3 style_init_reset(&styles->ta_cursor); - 17c98: 6820 ldr r0, [r4, #0] - 17c9a: 30b4 adds r0, #180 ; 0xb4 - 17c9c: 47a8 blx r5 + 176f0: 6820 ldr r0, [r4, #0] + 176f2: 30b4 adds r0, #180 ; 0xb4 + 176f4: 47a8 blx r5 lv_style_set_border_color(&styles->ta_cursor, LV_STATE_DEFAULT, COLOR_BG_SEC_TEXT); - 17c9e: 6820 ldr r0, [r4, #0] - 17ca0: 6a23 ldr r3, [r4, #32] - 17ca2: f013 0302 ands.w r3, r3, #2 - 17ca6: bf14 ite ne - 17ca8: 2106 movne r1, #6 - 17caa: 2114 moveq r1, #20 - 17cac: 2b00 cmp r3, #0 - 17cae: bf15 itete ne - 17cb0: 2410 movne r4, #16 - 17cb2: 242a moveq r4, #42 ; 0x2a - 17cb4: 2309 movne r3, #9 - 17cb6: 2315 moveq r3, #21 - 17cb8: f04f 0200 mov.w r2, #0 - 17cbc: f363 0204 bfi r2, r3, #0, #5 - 17cc0: f364 124a bfi r2, r4, #5, #6 - 17cc4: f361 22cf bfi r2, r1, #11, #5 + 176f6: 6820 ldr r0, [r4, #0] + 176f8: 6a23 ldr r3, [r4, #32] + 176fa: f013 0302 ands.w r3, r3, #2 + 176fe: bf14 ite ne + 17700: 2106 movne r1, #6 + 17702: 2114 moveq r1, #20 + 17704: 2b00 cmp r3, #0 + 17706: bf15 itete ne + 17708: 2410 movne r4, #16 + 1770a: 242a moveq r4, #42 ; 0x2a + 1770c: 2309 movne r3, #9 + 1770e: 2315 moveq r3, #21 + 17710: f04f 0200 mov.w r2, #0 + 17714: f363 0204 bfi r2, r3, #0, #5 + 17718: f364 124a bfi r2, r4, #5, #6 + 1771c: f361 22cf bfi r2, r1, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_COLOR, border_color, lv_color_t, _color, nonscalar) - 17cc8: 2139 movs r1, #57 ; 0x39 - 17cca: 30b4 adds r0, #180 ; 0xb4 - 17ccc: 4b12 ldr r3, [pc, #72] ; (17d18 ) - 17cce: 4798 blx r3 + 17720: 2139 movs r1, #57 ; 0x39 + 17722: 30b4 adds r0, #180 ; 0xb4 + 17724: 4b12 ldr r3, [pc, #72] ; (17770 ) + 17726: 4798 blx r3 lv_style_set_border_width(&styles->ta_cursor, LV_STATE_DEFAULT, LV_DPX(2)); - 17cd0: 4b10 ldr r3, [pc, #64] ; (17d14 ) - 17cd2: 681c ldr r4, [r3, #0] - 17cd4: 34b4 adds r4, #180 ; 0xb4 - 17cd6: 2000 movs r0, #0 - 17cd8: 4b0c ldr r3, [pc, #48] ; (17d0c ) - 17cda: 4798 blx r3 - 17cdc: 3028 adds r0, #40 ; 0x28 - 17cde: 0040 lsls r0, r0, #1 - 17ce0: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 17ce4: f281 8162 bge.w 18fac - 17ce8: 2201 movs r2, #1 + 17728: 4b10 ldr r3, [pc, #64] ; (1776c ) + 1772a: 681c ldr r4, [r3, #0] + 1772c: 34b4 adds r4, #180 ; 0xb4 + 1772e: 2000 movs r0, #0 + 17730: 4b0c ldr r3, [pc, #48] ; (17764 ) + 17732: 4798 blx r3 + 17734: 3028 adds r0, #40 ; 0x28 + 17736: 0040 lsls r0, r0, #1 + 17738: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 1773c: f281 8162 bge.w 18a04 + 17740: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_WIDTH, border_width, lv_style_int_t, _int, scalar) - 17cea: 2130 movs r1, #48 ; 0x30 - 17cec: 4620 mov r0, r4 - 17cee: 4b08 ldr r3, [pc, #32] ; (17d10 ) - 17cf0: 4798 blx r3 + 17742: 2130 movs r1, #48 ; 0x30 + 17744: 4620 mov r0, r4 + 17746: 4b08 ldr r3, [pc, #32] ; (17768 ) + 17748: 4798 blx r3 lv_style_set_pad_left(&styles->ta_cursor, LV_STATE_DEFAULT, LV_DPX(1)); - 17cf2: 4b08 ldr r3, [pc, #32] ; (17d14 ) - 17cf4: 681c ldr r4, [r3, #0] - 17cf6: 34b4 adds r4, #180 ; 0xb4 - 17cf8: 2000 movs r0, #0 - 17cfa: 4b04 ldr r3, [pc, #16] ; (17d0c ) - 17cfc: 4798 blx r3 - 17cfe: 3050 adds r0, #80 ; 0x50 - 17d00: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 17d04: f281 8164 bge.w 18fd0 - 17d08: 2201 movs r2, #1 - 17d0a: e00b b.n 17d24 - 17d0c: 000114e5 .word 0x000114e5 - 17d10: 00006e89 .word 0x00006e89 - 17d14: 20006bd8 .word 0x20006bd8 - 17d18: 00006fcd .word 0x00006fcd - 17d1c: 00015009 .word 0x00015009 - 17d20: 00007111 .word 0x00007111 + 1774a: 4b08 ldr r3, [pc, #32] ; (1776c ) + 1774c: 681c ldr r4, [r3, #0] + 1774e: 34b4 adds r4, #180 ; 0xb4 + 17750: 2000 movs r0, #0 + 17752: 4b04 ldr r3, [pc, #16] ; (17764 ) + 17754: 4798 blx r3 + 17756: 3050 adds r0, #80 ; 0x50 + 17758: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 1775c: f281 8164 bge.w 18a28 + 17760: 2201 movs r2, #1 + 17762: e00b b.n 1777c + 17764: 00010f3d .word 0x00010f3d + 17768: 000068e1 .word 0x000068e1 + 1776c: 20006bd8 .word 0x20006bd8 + 17770: 00006a25 .word 0x00006a25 + 17774: 00014a61 .word 0x00014a61 + 17778: 00006b69 .word 0x00006b69 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 17d24: 2112 movs r1, #18 - 17d26: 4620 mov r0, r4 - 17d28: 4dba ldr r5, [pc, #744] ; (18014 ) - 17d2a: 47a8 blx r5 + 1777c: 2112 movs r1, #18 + 1777e: 4620 mov r0, r4 + 17780: 4dba ldr r5, [pc, #744] ; (17a6c ) + 17782: 47a8 blx r5 lv_style_set_border_side(&styles->ta_cursor, LV_STATE_DEFAULT, LV_BORDER_SIDE_LEFT); - 17d2c: 4cba ldr r4, [pc, #744] ; (18018 ) - 17d2e: 6820 ldr r0, [r4, #0] + 17784: 4cba ldr r4, [pc, #744] ; (17a70 ) + 17786: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_SIDE, border_side, lv_border_side_t, _int, scalar) - 17d30: 2204 movs r2, #4 - 17d32: 2131 movs r1, #49 ; 0x31 - 17d34: 30b4 adds r0, #180 ; 0xb4 - 17d36: 47a8 blx r5 + 17788: 2204 movs r2, #4 + 1778a: 2131 movs r1, #49 ; 0x31 + 1778c: 30b4 adds r0, #180 ; 0xb4 + 1778e: 47a8 blx r5 style_init_reset(&styles->ta_placeholder); - 17d38: 6820 ldr r0, [r4, #0] - 17d3a: 30b8 adds r0, #184 ; 0xb8 - 17d3c: 4bb7 ldr r3, [pc, #732] ; (1801c ) - 17d3e: 4798 blx r3 + 17790: 6820 ldr r0, [r4, #0] + 17792: 30b8 adds r0, #184 ; 0xb8 + 17794: 4bb7 ldr r3, [pc, #732] ; (17a74 ) + 17796: 4798 blx r3 lv_style_set_text_color(&styles->ta_placeholder, LV_STATE_DEFAULT, IS_LIGHT ? COLOR_BG_TEXT_DIS : lv_color_hex(0xa1adbd)); - 17d40: 6820 ldr r0, [r4, #0] - 17d42: 30b8 adds r0, #184 ; 0xb8 - 17d44: 6a23 ldr r3, [r4, #32] - 17d46: f013 0f02 tst.w r3, #2 - 17d4a: f041 814e bne.w 18fea - 17d4e: 2314 movs r3, #20 - 17d50: 212b movs r1, #43 ; 0x2b - 17d52: 2417 movs r4, #23 - 17d54: f04f 0200 mov.w r2, #0 - 17d58: f364 0204 bfi r2, r4, #0, #5 - 17d5c: f361 124a bfi r2, r1, #5, #6 - 17d60: f363 22cf bfi r2, r3, #11, #5 + 17798: 6820 ldr r0, [r4, #0] + 1779a: 30b8 adds r0, #184 ; 0xb8 + 1779c: 6a23 ldr r3, [r4, #32] + 1779e: f013 0f02 tst.w r3, #2 + 177a2: f041 814e bne.w 18a42 + 177a6: 2314 movs r3, #20 + 177a8: 212b movs r1, #43 ; 0x2b + 177aa: 2417 movs r4, #23 + 177ac: f04f 0200 mov.w r2, #0 + 177b0: f364 0204 bfi r2, r4, #0, #5 + 177b4: f361 124a bfi r2, r1, #5, #6 + 177b8: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar) - 17d64: f248 0189 movw r1, #32905 ; 0x8089 - 17d68: 4dad ldr r5, [pc, #692] ; (18020 ) - 17d6a: 47a8 blx r5 + 177bc: f248 0189 movw r1, #32905 ; 0x8089 + 177c0: 4dad ldr r5, [pc, #692] ; (17a78 ) + 177c2: 47a8 blx r5 style_init_reset(&styles->spinbox_cursor); - 17d6c: 4caa ldr r4, [pc, #680] ; (18018 ) - 17d6e: 6820 ldr r0, [r4, #0] - 17d70: 3098 adds r0, #152 ; 0x98 - 17d72: 4baa ldr r3, [pc, #680] ; (1801c ) - 17d74: 4798 blx r3 + 177c4: 4caa ldr r4, [pc, #680] ; (17a70 ) + 177c6: 6820 ldr r0, [r4, #0] + 177c8: 3098 adds r0, #152 ; 0x98 + 177ca: 4baa ldr r3, [pc, #680] ; (17a74 ) + 177cc: 4798 blx r3 lv_style_set_bg_opa(&styles->spinbox_cursor, LV_STATE_DEFAULT, LV_OPA_COVER); - 17d76: 6820 ldr r0, [r4, #0] + 177ce: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 17d78: 22ff movs r2, #255 ; 0xff - 17d7a: 212c movs r1, #44 ; 0x2c - 17d7c: 3098 adds r0, #152 ; 0x98 - 17d7e: 4ba9 ldr r3, [pc, #676] ; (18024 ) - 17d80: 4798 blx r3 + 177d0: 22ff movs r2, #255 ; 0xff + 177d2: 212c movs r1, #44 ; 0x2c + 177d4: 3098 adds r0, #152 ; 0x98 + 177d6: 4ba9 ldr r3, [pc, #676] ; (17a7c ) + 177d8: 4798 blx r3 lv_style_set_bg_color(&styles->spinbox_cursor, LV_STATE_DEFAULT, theme.color_primary); - 17d82: 6820 ldr r0, [r4, #0] + 177da: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 17d84: 89a2 ldrh r2, [r4, #12] - 17d86: 2129 movs r1, #41 ; 0x29 - 17d88: 3098 adds r0, #152 ; 0x98 - 17d8a: 47a8 blx r5 + 177dc: 89a2 ldrh r2, [r4, #12] + 177de: 2129 movs r1, #41 ; 0x29 + 177e0: 3098 adds r0, #152 ; 0x98 + 177e2: 47a8 blx r5 lv_style_set_text_color(&styles->spinbox_cursor, LV_STATE_DEFAULT, LV_COLOR_WHITE); - 17d8c: 6820 ldr r0, [r4, #0] + 177e4: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar) - 17d8e: 4ba6 ldr r3, [pc, #664] ; (18028 ) - 17d90: 881a ldrh r2, [r3, #0] - 17d92: f248 0189 movw r1, #32905 ; 0x8089 - 17d96: 3098 adds r0, #152 ; 0x98 - 17d98: 47a8 blx r5 + 177e6: 4ba6 ldr r3, [pc, #664] ; (17a80 ) + 177e8: 881a ldrh r2, [r3, #0] + 177ea: f248 0189 movw r1, #32905 ; 0x8089 + 177ee: 3098 adds r0, #152 ; 0x98 + 177f0: 47a8 blx r5 lv_style_set_pad_top(&styles->spinbox_cursor, LV_STATE_DEFAULT, LV_DPX(100)); - 17d9a: 6824 ldr r4, [r4, #0] - 17d9c: 3498 adds r4, #152 ; 0x98 - 17d9e: 2000 movs r0, #0 - 17da0: 4ba2 ldr r3, [pc, #648] ; (1802c ) - 17da2: 4798 blx r3 - 17da4: 2364 movs r3, #100 ; 0x64 - 17da6: fb03 f000 mul.w r0, r3, r0 - 17daa: 3050 adds r0, #80 ; 0x50 - 17dac: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 17db0: f281 8120 bge.w 18ff4 - 17db4: 2201 movs r2, #1 + 177f2: 6824 ldr r4, [r4, #0] + 177f4: 3498 adds r4, #152 ; 0x98 + 177f6: 2000 movs r0, #0 + 177f8: 4ba2 ldr r3, [pc, #648] ; (17a84 ) + 177fa: 4798 blx r3 + 177fc: 2364 movs r3, #100 ; 0x64 + 177fe: fb03 f000 mul.w r0, r3, r0 + 17802: 3050 adds r0, #80 ; 0x50 + 17804: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 17808: f281 8120 bge.w 18a4c + 1780c: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) - 17db6: 2110 movs r1, #16 - 17db8: 4620 mov r0, r4 - 17dba: 4b96 ldr r3, [pc, #600] ; (18014 ) - 17dbc: 4798 blx r3 + 1780e: 2110 movs r1, #16 + 17810: 4620 mov r0, r4 + 17812: 4b96 ldr r3, [pc, #600] ; (17a6c ) + 17814: 4798 blx r3 lv_style_set_pad_bottom(&styles->spinbox_cursor, LV_STATE_DEFAULT, LV_DPX(100)); - 17dbe: 4b96 ldr r3, [pc, #600] ; (18018 ) - 17dc0: 681c ldr r4, [r3, #0] - 17dc2: 3498 adds r4, #152 ; 0x98 - 17dc4: 2000 movs r0, #0 - 17dc6: 4b99 ldr r3, [pc, #612] ; (1802c ) - 17dc8: 4798 blx r3 - 17dca: 2364 movs r3, #100 ; 0x64 - 17dcc: fb03 f000 mul.w r0, r3, r0 - 17dd0: 3050 adds r0, #80 ; 0x50 - 17dd2: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 17dd6: f281 811d bge.w 19014 - 17dda: 2201 movs r2, #1 + 17816: 4b96 ldr r3, [pc, #600] ; (17a70 ) + 17818: 681c ldr r4, [r3, #0] + 1781a: 3498 adds r4, #152 ; 0x98 + 1781c: 2000 movs r0, #0 + 1781e: 4b99 ldr r3, [pc, #612] ; (17a84 ) + 17820: 4798 blx r3 + 17822: 2364 movs r3, #100 ; 0x64 + 17824: fb03 f000 mul.w r0, r3, r0 + 17828: 3050 adds r0, #80 ; 0x50 + 1782a: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 1782e: f281 811d bge.w 18a6c + 17832: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) - 17ddc: 2111 movs r1, #17 - 17dde: 4620 mov r0, r4 - 17de0: 4d8c ldr r5, [pc, #560] ; (18014 ) - 17de2: 47a8 blx r5 + 17834: 2111 movs r1, #17 + 17836: 4620 mov r0, r4 + 17838: 4d8c ldr r5, [pc, #560] ; (17a6c ) + 1783a: 47a8 blx r5 style_init_reset(&styles->list_bg); - 17de4: 4c8c ldr r4, [pc, #560] ; (18018 ) - 17de6: 6820 ldr r0, [r4, #0] - 17de8: 3074 adds r0, #116 ; 0x74 - 17dea: 4e8c ldr r6, [pc, #560] ; (1801c ) - 17dec: 47b0 blx r6 + 1783c: 4c8c ldr r4, [pc, #560] ; (17a70 ) + 1783e: 6820 ldr r0, [r4, #0] + 17840: 3074 adds r0, #116 ; 0x74 + 17842: 4e8c ldr r6, [pc, #560] ; (17a74 ) + 17844: 47b0 blx r6 lv_style_set_clip_corner(&styles->list_bg, LV_STATE_DEFAULT, true); - 17dee: 6820 ldr r0, [r4, #0] + 17846: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(CLIP_CORNER, clip_corner, bool, _int, scalar) - 17df0: 2201 movs r2, #1 - 17df2: 2102 movs r1, #2 - 17df4: 3074 adds r0, #116 ; 0x74 - 17df6: 47a8 blx r5 + 17848: 2201 movs r2, #1 + 1784a: 2102 movs r1, #2 + 1784c: 3074 adds r0, #116 ; 0x74 + 1784e: 47a8 blx r5 lv_style_set_pad_left(&styles->list_bg, LV_STATE_DEFAULT, 0); - 17df8: 6820 ldr r0, [r4, #0] + 17850: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 17dfa: 2200 movs r2, #0 - 17dfc: 2112 movs r1, #18 - 17dfe: 3074 adds r0, #116 ; 0x74 - 17e00: 47a8 blx r5 + 17852: 2200 movs r2, #0 + 17854: 2112 movs r1, #18 + 17856: 3074 adds r0, #116 ; 0x74 + 17858: 47a8 blx r5 lv_style_set_pad_right(&styles->list_bg, LV_STATE_DEFAULT, 0); - 17e02: 6820 ldr r0, [r4, #0] + 1785a: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 17e04: 2200 movs r2, #0 - 17e06: 2113 movs r1, #19 - 17e08: 3074 adds r0, #116 ; 0x74 - 17e0a: 47a8 blx r5 + 1785c: 2200 movs r2, #0 + 1785e: 2113 movs r1, #19 + 17860: 3074 adds r0, #116 ; 0x74 + 17862: 47a8 blx r5 lv_style_set_pad_top(&styles->list_bg, LV_STATE_DEFAULT, 0); - 17e0c: 6820 ldr r0, [r4, #0] + 17864: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) - 17e0e: 2200 movs r2, #0 - 17e10: 2110 movs r1, #16 - 17e12: 3074 adds r0, #116 ; 0x74 - 17e14: 47a8 blx r5 + 17866: 2200 movs r2, #0 + 17868: 2110 movs r1, #16 + 1786a: 3074 adds r0, #116 ; 0x74 + 1786c: 47a8 blx r5 lv_style_set_pad_bottom(&styles->list_bg, LV_STATE_DEFAULT, 0); - 17e16: 6820 ldr r0, [r4, #0] + 1786e: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) - 17e18: 2200 movs r2, #0 - 17e1a: 2111 movs r1, #17 - 17e1c: 3074 adds r0, #116 ; 0x74 - 17e1e: 47a8 blx r5 + 17870: 2200 movs r2, #0 + 17872: 2111 movs r1, #17 + 17874: 3074 adds r0, #116 ; 0x74 + 17876: 47a8 blx r5 lv_style_set_pad_inner(&styles->list_bg, LV_STATE_DEFAULT, 0); - 17e20: 6820 ldr r0, [r4, #0] + 17878: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_INNER, pad_inner, lv_style_int_t, _int, scalar) - 17e22: 2200 movs r2, #0 - 17e24: 2114 movs r1, #20 - 17e26: 3074 adds r0, #116 ; 0x74 - 17e28: 47a8 blx r5 + 1787a: 2200 movs r2, #0 + 1787c: 2114 movs r1, #20 + 1787e: 3074 adds r0, #116 ; 0x74 + 17880: 47a8 blx r5 style_init_reset(&styles->list_btn); - 17e2a: 6820 ldr r0, [r4, #0] - 17e2c: 3078 adds r0, #120 ; 0x78 - 17e2e: 47b0 blx r6 + 17882: 6820 ldr r0, [r4, #0] + 17884: 3078 adds r0, #120 ; 0x78 + 17886: 47b0 blx r6 lv_style_set_bg_opa(&styles->list_btn, LV_STATE_DEFAULT, LV_OPA_COVER); - 17e30: 6820 ldr r0, [r4, #0] + 17888: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 17e32: 22ff movs r2, #255 ; 0xff - 17e34: 212c movs r1, #44 ; 0x2c - 17e36: 3078 adds r0, #120 ; 0x78 - 17e38: 4b7a ldr r3, [pc, #488] ; (18024 ) - 17e3a: 4798 blx r3 + 1788a: 22ff movs r2, #255 ; 0xff + 1788c: 212c movs r1, #44 ; 0x2c + 1788e: 3078 adds r0, #120 ; 0x78 + 17890: 4b7a ldr r3, [pc, #488] ; (17a7c ) + 17892: 4798 blx r3 lv_style_set_bg_color(&styles->list_btn, LV_STATE_DEFAULT, COLOR_BG); - 17e3c: 6820 ldr r0, [r4, #0] - 17e3e: 3078 adds r0, #120 ; 0x78 - 17e40: 6a23 ldr r3, [r4, #32] - 17e42: f013 0f02 tst.w r3, #2 - 17e46: f041 80f5 bne.w 19034 - 17e4a: 230b movs r3, #11 - 17e4c: 2118 movs r1, #24 - 17e4e: 240e movs r4, #14 - 17e50: f04f 0200 mov.w r2, #0 - 17e54: f364 0204 bfi r2, r4, #0, #5 - 17e58: f361 124a bfi r2, r1, #5, #6 - 17e5c: f363 22cf bfi r2, r3, #11, #5 + 17894: 6820 ldr r0, [r4, #0] + 17896: 3078 adds r0, #120 ; 0x78 + 17898: 6a23 ldr r3, [r4, #32] + 1789a: f013 0f02 tst.w r3, #2 + 1789e: f041 80f5 bne.w 18a8c + 178a2: 230b movs r3, #11 + 178a4: 2118 movs r1, #24 + 178a6: 240e movs r4, #14 + 178a8: f04f 0200 mov.w r2, #0 + 178ac: f364 0204 bfi r2, r4, #0, #5 + 178b0: f361 124a bfi r2, r1, #5, #6 + 178b4: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 17e60: 2129 movs r1, #41 ; 0x29 - 17e62: 4b6f ldr r3, [pc, #444] ; (18020 ) - 17e64: 4798 blx r3 + 178b8: 2129 movs r1, #41 ; 0x29 + 178ba: 4b6f ldr r3, [pc, #444] ; (17a78 ) + 178bc: 4798 blx r3 lv_style_set_bg_color(&styles->list_btn, LV_STATE_PRESSED, COLOR_BG_PR); - 17e66: 4b6c ldr r3, [pc, #432] ; (18018 ) - 17e68: 6818 ldr r0, [r3, #0] - 17e6a: 3078 adds r0, #120 ; 0x78 - 17e6c: 6a1b ldr r3, [r3, #32] - 17e6e: f013 0f02 tst.w r3, #2 - 17e72: f041 80e4 bne.w 1903e - 17e76: 2309 movs r3, #9 - 17e78: 2113 movs r1, #19 - 17e7a: 240a movs r4, #10 - 17e7c: f04f 0200 mov.w r2, #0 - 17e80: f364 0204 bfi r2, r4, #0, #5 - 17e84: f361 124a bfi r2, r1, #5, #6 - 17e88: f363 22cf bfi r2, r3, #11, #5 - 17e8c: f241 0129 movw r1, #4137 ; 0x1029 - 17e90: 4b63 ldr r3, [pc, #396] ; (18020 ) - 17e92: 4798 blx r3 + 178be: 4b6c ldr r3, [pc, #432] ; (17a70 ) + 178c0: 6818 ldr r0, [r3, #0] + 178c2: 3078 adds r0, #120 ; 0x78 + 178c4: 6a1b ldr r3, [r3, #32] + 178c6: f013 0f02 tst.w r3, #2 + 178ca: f041 80e4 bne.w 18a96 + 178ce: 2309 movs r3, #9 + 178d0: 2113 movs r1, #19 + 178d2: 240a movs r4, #10 + 178d4: f04f 0200 mov.w r2, #0 + 178d8: f364 0204 bfi r2, r4, #0, #5 + 178dc: f361 124a bfi r2, r1, #5, #6 + 178e0: f363 22cf bfi r2, r3, #11, #5 + 178e4: f241 0129 movw r1, #4137 ; 0x1029 + 178e8: 4b63 ldr r3, [pc, #396] ; (17a78 ) + 178ea: 4798 blx r3 lv_style_set_bg_color(&styles->list_btn, LV_STATE_DISABLED, COLOR_BG_DIS); - 17e94: 4b60 ldr r3, [pc, #384] ; (18018 ) - 17e96: 6818 ldr r0, [r3, #0] - 17e98: 3078 adds r0, #120 ; 0x78 - 17e9a: 6a1b ldr r3, [r3, #32] - 17e9c: f013 0f02 tst.w r3, #2 - 17ea0: f041 80d2 bne.w 19048 - 17ea4: 230b movs r3, #11 - 17ea6: 2118 movs r1, #24 - 17ea8: 240e movs r4, #14 - 17eaa: f04f 0200 mov.w r2, #0 - 17eae: f364 0204 bfi r2, r4, #0, #5 - 17eb2: f361 124a bfi r2, r1, #5, #6 - 17eb6: f363 22cf bfi r2, r3, #11, #5 - 17eba: f242 0129 movw r1, #8233 ; 0x2029 - 17ebe: 4d58 ldr r5, [pc, #352] ; (18020 ) - 17ec0: 47a8 blx r5 + 178ec: 4b60 ldr r3, [pc, #384] ; (17a70 ) + 178ee: 6818 ldr r0, [r3, #0] + 178f0: 3078 adds r0, #120 ; 0x78 + 178f2: 6a1b ldr r3, [r3, #32] + 178f4: f013 0f02 tst.w r3, #2 + 178f8: f041 80d2 bne.w 18aa0 + 178fc: 230b movs r3, #11 + 178fe: 2118 movs r1, #24 + 17900: 240e movs r4, #14 + 17902: f04f 0200 mov.w r2, #0 + 17906: f364 0204 bfi r2, r4, #0, #5 + 1790a: f361 124a bfi r2, r1, #5, #6 + 1790e: f363 22cf bfi r2, r3, #11, #5 + 17912: f242 0129 movw r1, #8233 ; 0x2029 + 17916: 4d58 ldr r5, [pc, #352] ; (17a78 ) + 17918: 47a8 blx r5 lv_style_set_bg_color(&styles->list_btn, LV_STATE_CHECKED, COLOR_BG_CHK); - 17ec2: 4c55 ldr r4, [pc, #340] ; (18018 ) - 17ec4: 6820 ldr r0, [r4, #0] - 17ec6: 89a2 ldrh r2, [r4, #12] - 17ec8: f240 1129 movw r1, #297 ; 0x129 - 17ecc: 3078 adds r0, #120 ; 0x78 - 17ece: 47a8 blx r5 + 1791a: 4c55 ldr r4, [pc, #340] ; (17a70 ) + 1791c: 6820 ldr r0, [r4, #0] + 1791e: 89a2 ldrh r2, [r4, #12] + 17920: f240 1129 movw r1, #297 ; 0x129 + 17924: 3078 adds r0, #120 ; 0x78 + 17926: 47a8 blx r5 lv_style_set_bg_color(&styles->list_btn, LV_STATE_CHECKED | LV_STATE_PRESSED, COLOR_BG_PR_CHK); - 17ed0: 6826 ldr r6, [r4, #0] - 17ed2: 3678 adds r6, #120 ; 0x78 - 17ed4: 2133 movs r1, #51 ; 0x33 - 17ed6: 89a0 ldrh r0, [r4, #12] - 17ed8: 4b55 ldr r3, [pc, #340] ; (18030 ) - 17eda: 4798 blx r3 - 17edc: 4602 mov r2, r0 - 17ede: f241 1129 movw r1, #4393 ; 0x1129 - 17ee2: 4630 mov r0, r6 - 17ee4: 47a8 blx r5 + 17928: 6826 ldr r6, [r4, #0] + 1792a: 3678 adds r6, #120 ; 0x78 + 1792c: 2133 movs r1, #51 ; 0x33 + 1792e: 89a0 ldrh r0, [r4, #12] + 17930: 4b55 ldr r3, [pc, #340] ; (17a88 ) + 17932: 4798 blx r3 + 17934: 4602 mov r2, r0 + 17936: f241 1129 movw r1, #4393 ; 0x1129 + 1793a: 4630 mov r0, r6 + 1793c: 47a8 blx r5 lv_style_set_text_color(&styles->list_btn, LV_STATE_DEFAULT, COLOR_BG_TEXT); - 17ee6: 6820 ldr r0, [r4, #0] - 17ee8: 3078 adds r0, #120 ; 0x78 - 17eea: 6a23 ldr r3, [r4, #32] - 17eec: f013 0f02 tst.w r3, #2 - 17ef0: f041 80af bne.w 19052 - 17ef4: 231f movs r3, #31 - 17ef6: 213f movs r1, #63 ; 0x3f - 17ef8: 461c mov r4, r3 - 17efa: f04f 0200 mov.w r2, #0 - 17efe: f364 0204 bfi r2, r4, #0, #5 - 17f02: f361 124a bfi r2, r1, #5, #6 - 17f06: f363 22cf bfi r2, r3, #11, #5 + 1793e: 6820 ldr r0, [r4, #0] + 17940: 3078 adds r0, #120 ; 0x78 + 17942: 6a23 ldr r3, [r4, #32] + 17944: f013 0f02 tst.w r3, #2 + 17948: f041 80af bne.w 18aaa + 1794c: 231f movs r3, #31 + 1794e: 213f movs r1, #63 ; 0x3f + 17950: 461c mov r4, r3 + 17952: f04f 0200 mov.w r2, #0 + 17956: f364 0204 bfi r2, r4, #0, #5 + 1795a: f361 124a bfi r2, r1, #5, #6 + 1795e: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar) - 17f0a: f248 0189 movw r1, #32905 ; 0x8089 - 17f0e: 4d44 ldr r5, [pc, #272] ; (18020 ) - 17f10: 47a8 blx r5 + 17962: f248 0189 movw r1, #32905 ; 0x8089 + 17966: 4d44 ldr r5, [pc, #272] ; (17a78 ) + 17968: 47a8 blx r5 lv_style_set_text_color(&styles->list_btn, LV_STATE_CHECKED, COLOR_BG_TEXT_CHK); - 17f12: 4c41 ldr r4, [pc, #260] ; (18018 ) - 17f14: 6820 ldr r0, [r4, #0] - 17f16: f04f 32ff mov.w r2, #4294967295 - 17f1a: f248 1189 movw r1, #33161 ; 0x8189 - 17f1e: 3078 adds r0, #120 ; 0x78 - 17f20: 47a8 blx r5 + 1796a: 4c41 ldr r4, [pc, #260] ; (17a70 ) + 1796c: 6820 ldr r0, [r4, #0] + 1796e: f04f 32ff mov.w r2, #4294967295 + 17972: f248 1189 movw r1, #33161 ; 0x8189 + 17976: 3078 adds r0, #120 ; 0x78 + 17978: 47a8 blx r5 lv_style_set_text_color(&styles->list_btn, LV_STATE_DISABLED, COLOR_BG_TEXT_DIS); - 17f22: 6820 ldr r0, [r4, #0] - 17f24: 6a23 ldr r3, [r4, #32] - 17f26: f013 0302 ands.w r3, r3, #2 - 17f2a: bf14 ite ne - 17f2c: 212a movne r1, #42 ; 0x2a - 17f2e: 2126 moveq r1, #38 ; 0x26 - 17f30: 2b00 cmp r3, #0 - 17f32: bf14 ite ne - 17f34: 2315 movne r3, #21 - 17f36: 2313 moveq r3, #19 - 17f38: f04f 0200 mov.w r2, #0 - 17f3c: f363 0204 bfi r2, r3, #0, #5 - 17f40: f361 124a bfi r2, r1, #5, #6 - 17f44: f363 22cf bfi r2, r3, #11, #5 - 17f48: f24a 0189 movw r1, #41097 ; 0xa089 - 17f4c: 3078 adds r0, #120 ; 0x78 - 17f4e: 47a8 blx r5 + 1797a: 6820 ldr r0, [r4, #0] + 1797c: 6a23 ldr r3, [r4, #32] + 1797e: f013 0302 ands.w r3, r3, #2 + 17982: bf14 ite ne + 17984: 212a movne r1, #42 ; 0x2a + 17986: 2126 moveq r1, #38 ; 0x26 + 17988: 2b00 cmp r3, #0 + 1798a: bf14 ite ne + 1798c: 2315 movne r3, #21 + 1798e: 2313 moveq r3, #19 + 17990: f04f 0200 mov.w r2, #0 + 17994: f363 0204 bfi r2, r3, #0, #5 + 17998: f361 124a bfi r2, r1, #5, #6 + 1799c: f363 22cf bfi r2, r3, #11, #5 + 179a0: f24a 0189 movw r1, #41097 ; 0xa089 + 179a4: 3078 adds r0, #120 ; 0x78 + 179a6: 47a8 blx r5 lv_style_set_image_recolor(&styles->list_btn, LV_STATE_DEFAULT, COLOR_BG_TEXT); - 17f50: 6820 ldr r0, [r4, #0] - 17f52: 3078 adds r0, #120 ; 0x78 - 17f54: 6a23 ldr r3, [r4, #32] - 17f56: f013 0f02 tst.w r3, #2 - 17f5a: f041 807f bne.w 1905c - 17f5e: 231f movs r3, #31 - 17f60: 213f movs r1, #63 ; 0x3f - 17f62: 461c mov r4, r3 - 17f64: f04f 0200 mov.w r2, #0 - 17f68: f364 0204 bfi r2, r4, #0, #5 - 17f6c: f361 124a bfi r2, r1, #5, #6 - 17f70: f363 22cf bfi r2, r3, #11, #5 + 179a8: 6820 ldr r0, [r4, #0] + 179aa: 3078 adds r0, #120 ; 0x78 + 179ac: 6a23 ldr r3, [r4, #32] + 179ae: f013 0f02 tst.w r3, #2 + 179b2: f041 807f bne.w 18ab4 + 179b6: 231f movs r3, #31 + 179b8: 213f movs r1, #63 ; 0x3f + 179ba: 461c mov r4, r3 + 179bc: f04f 0200 mov.w r2, #0 + 179c0: f364 0204 bfi r2, r4, #0, #5 + 179c4: f361 124a bfi r2, r1, #5, #6 + 179c8: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_RECOLOR, image_recolor, lv_color_t, _color, nonscalar) - 17f74: f248 01a9 movw r1, #32937 ; 0x80a9 - 17f78: 4d29 ldr r5, [pc, #164] ; (18020 ) - 17f7a: 47a8 blx r5 + 179cc: f248 01a9 movw r1, #32937 ; 0x80a9 + 179d0: 4d29 ldr r5, [pc, #164] ; (17a78 ) + 179d2: 47a8 blx r5 lv_style_set_image_recolor(&styles->list_btn, LV_STATE_CHECKED, COLOR_BG_TEXT_CHK); - 17f7c: 4c26 ldr r4, [pc, #152] ; (18018 ) - 17f7e: 6820 ldr r0, [r4, #0] - 17f80: f04f 32ff mov.w r2, #4294967295 - 17f84: f248 11a9 movw r1, #33193 ; 0x81a9 - 17f88: 3078 adds r0, #120 ; 0x78 - 17f8a: 47a8 blx r5 + 179d4: 4c26 ldr r4, [pc, #152] ; (17a70 ) + 179d6: 6820 ldr r0, [r4, #0] + 179d8: f04f 32ff mov.w r2, #4294967295 + 179dc: f248 11a9 movw r1, #33193 ; 0x81a9 + 179e0: 3078 adds r0, #120 ; 0x78 + 179e2: 47a8 blx r5 lv_style_set_image_recolor(&styles->list_btn, LV_STATE_DISABLED, COLOR_BG_TEXT_DIS); - 17f8c: 6820 ldr r0, [r4, #0] - 17f8e: 6a23 ldr r3, [r4, #32] - 17f90: f013 0302 ands.w r3, r3, #2 - 17f94: bf14 ite ne - 17f96: 212a movne r1, #42 ; 0x2a - 17f98: 2126 moveq r1, #38 ; 0x26 - 17f9a: 2b00 cmp r3, #0 - 17f9c: bf14 ite ne - 17f9e: 2315 movne r3, #21 - 17fa0: 2313 moveq r3, #19 - 17fa2: f04f 0200 mov.w r2, #0 - 17fa6: f363 0204 bfi r2, r3, #0, #5 - 17faa: f361 124a bfi r2, r1, #5, #6 - 17fae: f363 22cf bfi r2, r3, #11, #5 - 17fb2: f24a 01a9 movw r1, #41129 ; 0xa0a9 - 17fb6: 3078 adds r0, #120 ; 0x78 - 17fb8: 47a8 blx r5 + 179e4: 6820 ldr r0, [r4, #0] + 179e6: 6a23 ldr r3, [r4, #32] + 179e8: f013 0302 ands.w r3, r3, #2 + 179ec: bf14 ite ne + 179ee: 212a movne r1, #42 ; 0x2a + 179f0: 2126 moveq r1, #38 ; 0x26 + 179f2: 2b00 cmp r3, #0 + 179f4: bf14 ite ne + 179f6: 2315 movne r3, #21 + 179f8: 2313 moveq r3, #19 + 179fa: f04f 0200 mov.w r2, #0 + 179fe: f363 0204 bfi r2, r3, #0, #5 + 17a02: f361 124a bfi r2, r1, #5, #6 + 17a06: f363 22cf bfi r2, r3, #11, #5 + 17a0a: f24a 01a9 movw r1, #41129 ; 0xa0a9 + 17a0e: 3078 adds r0, #120 ; 0x78 + 17a10: 47a8 blx r5 lv_style_set_border_side(&styles->list_btn, LV_STATE_DEFAULT, LV_BORDER_SIDE_BOTTOM); - 17fba: 6820 ldr r0, [r4, #0] + 17a12: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_SIDE, border_side, lv_border_side_t, _int, scalar) - 17fbc: 2201 movs r2, #1 - 17fbe: 2131 movs r1, #49 ; 0x31 - 17fc0: 3078 adds r0, #120 ; 0x78 - 17fc2: 4b14 ldr r3, [pc, #80] ; (18014 ) - 17fc4: 4798 blx r3 + 17a14: 2201 movs r2, #1 + 17a16: 2131 movs r1, #49 ; 0x31 + 17a18: 3078 adds r0, #120 ; 0x78 + 17a1a: 4b14 ldr r3, [pc, #80] ; (17a6c ) + 17a1c: 4798 blx r3 lv_style_set_border_color(&styles->list_btn, LV_STATE_DEFAULT, COLOR_BG_BORDER); - 17fc6: 6820 ldr r0, [r4, #0] - 17fc8: 6a23 ldr r3, [r4, #32] - 17fca: f013 0302 ands.w r3, r3, #2 - 17fce: bf14 ite ne - 17fd0: 211a movne r1, #26 - 17fd2: 2110 moveq r1, #16 - 17fd4: 2b00 cmp r3, #0 - 17fd6: bf15 itete ne - 17fd8: 2437 movne r4, #55 ; 0x37 - 17fda: 2422 moveq r4, #34 ; 0x22 - 17fdc: 231c movne r3, #28 - 17fde: 2312 moveq r3, #18 - 17fe0: f04f 0200 mov.w r2, #0 - 17fe4: f363 0204 bfi r2, r3, #0, #5 - 17fe8: f364 124a bfi r2, r4, #5, #6 - 17fec: f361 22cf bfi r2, r1, #11, #5 + 17a1e: 6820 ldr r0, [r4, #0] + 17a20: 6a23 ldr r3, [r4, #32] + 17a22: f013 0302 ands.w r3, r3, #2 + 17a26: bf14 ite ne + 17a28: 211a movne r1, #26 + 17a2a: 2110 moveq r1, #16 + 17a2c: 2b00 cmp r3, #0 + 17a2e: bf15 itete ne + 17a30: 2437 movne r4, #55 ; 0x37 + 17a32: 2422 moveq r4, #34 ; 0x22 + 17a34: 231c movne r3, #28 + 17a36: 2312 moveq r3, #18 + 17a38: f04f 0200 mov.w r2, #0 + 17a3c: f363 0204 bfi r2, r3, #0, #5 + 17a40: f364 124a bfi r2, r4, #5, #6 + 17a44: f361 22cf bfi r2, r1, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_COLOR, border_color, lv_color_t, _color, nonscalar) - 17ff0: 2139 movs r1, #57 ; 0x39 - 17ff2: 3078 adds r0, #120 ; 0x78 - 17ff4: 47a8 blx r5 + 17a48: 2139 movs r1, #57 ; 0x39 + 17a4a: 3078 adds r0, #120 ; 0x78 + 17a4c: 47a8 blx r5 lv_style_set_border_color(&styles->list_btn, LV_STATE_FOCUSED, theme.color_primary); - 17ff6: 4c08 ldr r4, [pc, #32] ; (18018 ) - 17ff8: 6820 ldr r0, [r4, #0] - 17ffa: 89a2 ldrh r2, [r4, #12] - 17ffc: f240 2139 movw r1, #569 ; 0x239 - 18000: 3078 adds r0, #120 ; 0x78 - 18002: 47a8 blx r5 + 17a4e: 4c08 ldr r4, [pc, #32] ; (17a70 ) + 17a50: 6820 ldr r0, [r4, #0] + 17a52: 89a2 ldrh r2, [r4, #12] + 17a54: f240 2139 movw r1, #569 ; 0x239 + 17a58: 3078 adds r0, #120 ; 0x78 + 17a5a: 47a8 blx r5 lv_style_set_border_width(&styles->list_btn, LV_STATE_DEFAULT, 1); - 18004: 6820 ldr r0, [r4, #0] + 17a5c: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_WIDTH, border_width, lv_style_int_t, _int, scalar) - 18006: 2201 movs r2, #1 - 18008: 2130 movs r1, #48 ; 0x30 - 1800a: 3078 adds r0, #120 ; 0x78 - 1800c: 4b01 ldr r3, [pc, #4] ; (18014 ) - 1800e: 4798 blx r3 - 18010: e010 b.n 18034 - 18012: bf00 nop - 18014: 00006e89 .word 0x00006e89 - 18018: 20006bd8 .word 0x20006bd8 - 1801c: 00015009 .word 0x00015009 - 18020: 00006fcd .word 0x00006fcd - 18024: 00007111 .word 0x00007111 - 18028: 00020a68 .word 0x00020a68 - 1802c: 000114e5 .word 0x000114e5 - 18030: 000121ab .word 0x000121ab + 17a5e: 2201 movs r2, #1 + 17a60: 2130 movs r1, #48 ; 0x30 + 17a62: 3078 adds r0, #120 ; 0x78 + 17a64: 4b01 ldr r3, [pc, #4] ; (17a6c ) + 17a66: 4798 blx r3 + 17a68: e010 b.n 17a8c + 17a6a: bf00 nop + 17a6c: 000068e1 .word 0x000068e1 + 17a70: 20006bd8 .word 0x20006bd8 + 17a74: 00014a61 .word 0x00014a61 + 17a78: 00006a25 .word 0x00006a25 + 17a7c: 00006b69 .word 0x00006b69 + 17a80: 00029584 .word 0x00029584 + 17a84: 00010f3d .word 0x00010f3d + 17a88: 00011c03 .word 0x00011c03 lv_style_set_pad_left(&styles->list_btn, LV_STATE_DEFAULT, PAD_DEF); - 18034: 6824 ldr r4, [r4, #0] - 18036: 3478 adds r4, #120 ; 0x78 - 18038: 2000 movs r0, #0 - 1803a: 4bba ldr r3, [pc, #744] ; (18324 ) - 1803c: 4798 blx r3 - 1803e: 2801 cmp r0, #1 - 18040: f241 8011 bls.w 19066 - 18044: 2000 movs r0, #0 - 18046: 4bb8 ldr r3, [pc, #736] ; (18328 ) - 18048: 4798 blx r3 - 1804a: ebc0 1000 rsb r0, r0, r0, lsl #4 - 1804e: 0040 lsls r0, r0, #1 - 18050: 3050 adds r0, #80 ; 0x50 - 18052: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 18056: f281 8021 bge.w 1909c - 1805a: 2201 movs r2, #1 + 17a8c: 6824 ldr r4, [r4, #0] + 17a8e: 3478 adds r4, #120 ; 0x78 + 17a90: 2000 movs r0, #0 + 17a92: 4bba ldr r3, [pc, #744] ; (17d7c ) + 17a94: 4798 blx r3 + 17a96: 2801 cmp r0, #1 + 17a98: f241 8011 bls.w 18abe + 17a9c: 2000 movs r0, #0 + 17a9e: 4bb8 ldr r3, [pc, #736] ; (17d80 ) + 17aa0: 4798 blx r3 + 17aa2: ebc0 1000 rsb r0, r0, r0, lsl #4 + 17aa6: 0040 lsls r0, r0, #1 + 17aa8: 3050 adds r0, #80 ; 0x50 + 17aaa: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 17aae: f281 8021 bge.w 18af4 + 17ab2: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 1805c: 2112 movs r1, #18 - 1805e: 4620 mov r0, r4 - 18060: 4bb2 ldr r3, [pc, #712] ; (1832c ) - 18062: 4798 blx r3 + 17ab4: 2112 movs r1, #18 + 17ab6: 4620 mov r0, r4 + 17ab8: 4bb2 ldr r3, [pc, #712] ; (17d84 ) + 17aba: 4798 blx r3 lv_style_set_pad_right(&styles->list_btn, LV_STATE_DEFAULT, PAD_DEF); - 18064: 4bb2 ldr r3, [pc, #712] ; (18330 ) - 18066: 681c ldr r4, [r3, #0] - 18068: 3478 adds r4, #120 ; 0x78 - 1806a: 2000 movs r0, #0 - 1806c: 4bad ldr r3, [pc, #692] ; (18324 ) - 1806e: 4798 blx r3 - 18070: 2801 cmp r0, #1 - 18072: f241 8023 bls.w 190bc - 18076: 2000 movs r0, #0 - 18078: 4bab ldr r3, [pc, #684] ; (18328 ) - 1807a: 4798 blx r3 - 1807c: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18080: 0040 lsls r0, r0, #1 - 18082: 3050 adds r0, #80 ; 0x50 - 18084: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 18088: f281 8033 bge.w 190f2 - 1808c: 2201 movs r2, #1 + 17abc: 4bb2 ldr r3, [pc, #712] ; (17d88 ) + 17abe: 681c ldr r4, [r3, #0] + 17ac0: 3478 adds r4, #120 ; 0x78 + 17ac2: 2000 movs r0, #0 + 17ac4: 4bad ldr r3, [pc, #692] ; (17d7c ) + 17ac6: 4798 blx r3 + 17ac8: 2801 cmp r0, #1 + 17aca: f241 8023 bls.w 18b14 + 17ace: 2000 movs r0, #0 + 17ad0: 4bab ldr r3, [pc, #684] ; (17d80 ) + 17ad2: 4798 blx r3 + 17ad4: ebc0 1000 rsb r0, r0, r0, lsl #4 + 17ad8: 0040 lsls r0, r0, #1 + 17ada: 3050 adds r0, #80 ; 0x50 + 17adc: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 17ae0: f281 8033 bge.w 18b4a + 17ae4: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 1808e: 2113 movs r1, #19 - 18090: 4620 mov r0, r4 - 18092: 4ba6 ldr r3, [pc, #664] ; (1832c ) - 18094: 4798 blx r3 + 17ae6: 2113 movs r1, #19 + 17ae8: 4620 mov r0, r4 + 17aea: 4ba6 ldr r3, [pc, #664] ; (17d84 ) + 17aec: 4798 blx r3 lv_style_set_pad_top(&styles->list_btn, LV_STATE_DEFAULT, PAD_DEF); - 18096: 4ba6 ldr r3, [pc, #664] ; (18330 ) - 18098: 681c ldr r4, [r3, #0] - 1809a: 3478 adds r4, #120 ; 0x78 - 1809c: 2000 movs r0, #0 - 1809e: 4ba1 ldr r3, [pc, #644] ; (18324 ) - 180a0: 4798 blx r3 - 180a2: 2801 cmp r0, #1 - 180a4: f241 8035 bls.w 19112 - 180a8: 2000 movs r0, #0 - 180aa: 4b9f ldr r3, [pc, #636] ; (18328 ) - 180ac: 4798 blx r3 - 180ae: ebc0 1000 rsb r0, r0, r0, lsl #4 - 180b2: 0040 lsls r0, r0, #1 - 180b4: 3050 adds r0, #80 ; 0x50 - 180b6: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 180ba: f281 8045 bge.w 19148 - 180be: 2201 movs r2, #1 + 17aee: 4ba6 ldr r3, [pc, #664] ; (17d88 ) + 17af0: 681c ldr r4, [r3, #0] + 17af2: 3478 adds r4, #120 ; 0x78 + 17af4: 2000 movs r0, #0 + 17af6: 4ba1 ldr r3, [pc, #644] ; (17d7c ) + 17af8: 4798 blx r3 + 17afa: 2801 cmp r0, #1 + 17afc: f241 8035 bls.w 18b6a + 17b00: 2000 movs r0, #0 + 17b02: 4b9f ldr r3, [pc, #636] ; (17d80 ) + 17b04: 4798 blx r3 + 17b06: ebc0 1000 rsb r0, r0, r0, lsl #4 + 17b0a: 0040 lsls r0, r0, #1 + 17b0c: 3050 adds r0, #80 ; 0x50 + 17b0e: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 17b12: f281 8045 bge.w 18ba0 + 17b16: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) - 180c0: 2110 movs r1, #16 - 180c2: 4620 mov r0, r4 - 180c4: 4b99 ldr r3, [pc, #612] ; (1832c ) - 180c6: 4798 blx r3 + 17b18: 2110 movs r1, #16 + 17b1a: 4620 mov r0, r4 + 17b1c: 4b99 ldr r3, [pc, #612] ; (17d84 ) + 17b1e: 4798 blx r3 lv_style_set_pad_bottom(&styles->list_btn, LV_STATE_DEFAULT, PAD_DEF); - 180c8: 4b99 ldr r3, [pc, #612] ; (18330 ) - 180ca: 681c ldr r4, [r3, #0] - 180cc: 3478 adds r4, #120 ; 0x78 - 180ce: 2000 movs r0, #0 - 180d0: 4b94 ldr r3, [pc, #592] ; (18324 ) - 180d2: 4798 blx r3 - 180d4: 2801 cmp r0, #1 - 180d6: f241 8047 bls.w 19168 - 180da: 2000 movs r0, #0 - 180dc: 4b92 ldr r3, [pc, #584] ; (18328 ) - 180de: 4798 blx r3 - 180e0: ebc0 1000 rsb r0, r0, r0, lsl #4 - 180e4: 0040 lsls r0, r0, #1 - 180e6: 3050 adds r0, #80 ; 0x50 - 180e8: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 180ec: f281 8057 bge.w 1919e - 180f0: 2201 movs r2, #1 + 17b20: 4b99 ldr r3, [pc, #612] ; (17d88 ) + 17b22: 681c ldr r4, [r3, #0] + 17b24: 3478 adds r4, #120 ; 0x78 + 17b26: 2000 movs r0, #0 + 17b28: 4b94 ldr r3, [pc, #592] ; (17d7c ) + 17b2a: 4798 blx r3 + 17b2c: 2801 cmp r0, #1 + 17b2e: f241 8047 bls.w 18bc0 + 17b32: 2000 movs r0, #0 + 17b34: 4b92 ldr r3, [pc, #584] ; (17d80 ) + 17b36: 4798 blx r3 + 17b38: ebc0 1000 rsb r0, r0, r0, lsl #4 + 17b3c: 0040 lsls r0, r0, #1 + 17b3e: 3050 adds r0, #80 ; 0x50 + 17b40: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 17b44: f281 8057 bge.w 18bf6 + 17b48: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) - 180f2: 2111 movs r1, #17 - 180f4: 4620 mov r0, r4 - 180f6: 4b8d ldr r3, [pc, #564] ; (1832c ) - 180f8: 4798 blx r3 + 17b4a: 2111 movs r1, #17 + 17b4c: 4620 mov r0, r4 + 17b4e: 4b8d ldr r3, [pc, #564] ; (17d84 ) + 17b50: 4798 blx r3 lv_style_set_pad_inner(&styles->list_btn, LV_STATE_DEFAULT, PAD_DEF); - 180fa: 4b8d ldr r3, [pc, #564] ; (18330 ) - 180fc: 681c ldr r4, [r3, #0] - 180fe: 3478 adds r4, #120 ; 0x78 - 18100: 2000 movs r0, #0 - 18102: 4b88 ldr r3, [pc, #544] ; (18324 ) - 18104: 4798 blx r3 - 18106: 2801 cmp r0, #1 - 18108: f241 8059 bls.w 191be - 1810c: 2000 movs r0, #0 - 1810e: 4b86 ldr r3, [pc, #536] ; (18328 ) - 18110: 4798 blx r3 - 18112: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18116: 0040 lsls r0, r0, #1 - 18118: 3050 adds r0, #80 ; 0x50 - 1811a: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 1811e: f281 8069 bge.w 191f4 - 18122: 2201 movs r2, #1 + 17b52: 4b8d ldr r3, [pc, #564] ; (17d88 ) + 17b54: 681c ldr r4, [r3, #0] + 17b56: 3478 adds r4, #120 ; 0x78 + 17b58: 2000 movs r0, #0 + 17b5a: 4b88 ldr r3, [pc, #544] ; (17d7c ) + 17b5c: 4798 blx r3 + 17b5e: 2801 cmp r0, #1 + 17b60: f241 8059 bls.w 18c16 + 17b64: 2000 movs r0, #0 + 17b66: 4b86 ldr r3, [pc, #536] ; (17d80 ) + 17b68: 4798 blx r3 + 17b6a: ebc0 1000 rsb r0, r0, r0, lsl #4 + 17b6e: 0040 lsls r0, r0, #1 + 17b70: 3050 adds r0, #80 ; 0x50 + 17b72: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 17b76: f281 8069 bge.w 18c4c + 17b7a: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_INNER, pad_inner, lv_style_int_t, _int, scalar) - 18124: 2114 movs r1, #20 - 18126: 4620 mov r0, r4 - 18128: 4b80 ldr r3, [pc, #512] ; (1832c ) - 1812a: 4798 blx r3 + 17b7c: 2114 movs r1, #20 + 17b7e: 4620 mov r0, r4 + 17b80: 4b80 ldr r3, [pc, #512] ; (17d84 ) + 17b82: 4798 blx r3 lv_style_set_transform_width(&styles->list_btn, LV_STATE_DEFAULT, - PAD_DEF); - 1812c: 4b80 ldr r3, [pc, #512] ; (18330 ) - 1812e: 681c ldr r4, [r3, #0] - 18130: 3478 adds r4, #120 ; 0x78 - 18132: 2000 movs r0, #0 - 18134: 4b7b ldr r3, [pc, #492] ; (18324 ) - 18136: 4798 blx r3 - 18138: 2801 cmp r0, #1 - 1813a: f241 806b bls.w 19214 - 1813e: 2000 movs r0, #0 - 18140: 4b79 ldr r3, [pc, #484] ; (18328 ) - 18142: 4798 blx r3 - 18144: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18148: 0040 lsls r0, r0, #1 - 1814a: 3050 adds r0, #80 ; 0x50 - 1814c: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 18150: f281 807c bge.w 1924c - 18154: f04f 32ff mov.w r2, #4294967295 + 17b84: 4b80 ldr r3, [pc, #512] ; (17d88 ) + 17b86: 681c ldr r4, [r3, #0] + 17b88: 3478 adds r4, #120 ; 0x78 + 17b8a: 2000 movs r0, #0 + 17b8c: 4b7b ldr r3, [pc, #492] ; (17d7c ) + 17b8e: 4798 blx r3 + 17b90: 2801 cmp r0, #1 + 17b92: f241 806b bls.w 18c6c + 17b96: 2000 movs r0, #0 + 17b98: 4b79 ldr r3, [pc, #484] ; (17d80 ) + 17b9a: 4798 blx r3 + 17b9c: ebc0 1000 rsb r0, r0, r0, lsl #4 + 17ba0: 0040 lsls r0, r0, #1 + 17ba2: 3050 adds r0, #80 ; 0x50 + 17ba4: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 17ba8: f281 807c bge.w 18ca4 + 17bac: f04f 32ff mov.w r2, #4294967295 _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_WIDTH, transform_width, lv_style_int_t, _int, scalar) - 18158: 2104 movs r1, #4 - 1815a: 4620 mov r0, r4 - 1815c: 4d73 ldr r5, [pc, #460] ; (1832c ) - 1815e: 47a8 blx r5 + 17bb0: 2104 movs r1, #4 + 17bb2: 4620 mov r0, r4 + 17bb4: 4d73 ldr r5, [pc, #460] ; (17d84 ) + 17bb6: 47a8 blx r5 lv_style_set_transform_width(&styles->list_btn, LV_STATE_PRESSED, 0); - 18160: 4c73 ldr r4, [pc, #460] ; (18330 ) - 18162: 6820 ldr r0, [r4, #0] - 18164: 2200 movs r2, #0 - 18166: f241 0104 movw r1, #4100 ; 0x1004 - 1816a: 3078 adds r0, #120 ; 0x78 - 1816c: 47a8 blx r5 + 17bb8: 4c73 ldr r4, [pc, #460] ; (17d88 ) + 17bba: 6820 ldr r0, [r4, #0] + 17bbc: 2200 movs r2, #0 + 17bbe: f241 0104 movw r1, #4100 ; 0x1004 + 17bc2: 3078 adds r0, #120 ; 0x78 + 17bc4: 47a8 blx r5 lv_style_set_transform_width(&styles->list_btn, LV_STATE_CHECKED, 0); - 1816e: 6820 ldr r0, [r4, #0] - 18170: 2200 movs r2, #0 - 18172: f44f 7182 mov.w r1, #260 ; 0x104 - 18176: 3078 adds r0, #120 ; 0x78 - 18178: 47a8 blx r5 + 17bc6: 6820 ldr r0, [r4, #0] + 17bc8: 2200 movs r2, #0 + 17bca: f44f 7182 mov.w r1, #260 ; 0x104 + 17bce: 3078 adds r0, #120 ; 0x78 + 17bd0: 47a8 blx r5 lv_style_set_transform_width(&styles->list_btn, LV_STATE_DISABLED, 0); - 1817a: 6820 ldr r0, [r4, #0] - 1817c: 2200 movs r2, #0 - 1817e: f242 0104 movw r1, #8196 ; 0x2004 - 18182: 3078 adds r0, #120 ; 0x78 - 18184: 47a8 blx r5 + 17bd2: 6820 ldr r0, [r4, #0] + 17bd4: 2200 movs r2, #0 + 17bd6: f242 0104 movw r1, #8196 ; 0x2004 + 17bda: 3078 adds r0, #120 ; 0x78 + 17bdc: 47a8 blx r5 lv_style_set_transition_time(&styles->list_btn, LV_STATE_DEFAULT, TRANSITION_TIME); - 18186: 6820 ldr r0, [r4, #0] + 17bde: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_TIME, transition_time, lv_style_int_t, _int, scalar) - 18188: 2296 movs r2, #150 ; 0x96 - 1818a: 21b0 movs r1, #176 ; 0xb0 - 1818c: 3078 adds r0, #120 ; 0x78 - 1818e: 47a8 blx r5 + 17be0: 2296 movs r2, #150 ; 0x96 + 17be2: 21b0 movs r1, #176 ; 0xb0 + 17be4: 3078 adds r0, #120 ; 0x78 + 17be6: 47a8 blx r5 lv_style_set_transition_prop_6(&styles->list_btn, LV_STATE_DEFAULT, LV_STYLE_BG_COLOR); - 18190: 6820 ldr r0, [r4, #0] + 17be8: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_6, transition_prop_6, lv_style_int_t, _int, scalar) - 18192: 2229 movs r2, #41 ; 0x29 - 18194: 21b7 movs r1, #183 ; 0xb7 - 18196: 3078 adds r0, #120 ; 0x78 - 18198: 47a8 blx r5 + 17bea: 2229 movs r2, #41 ; 0x29 + 17bec: 21b7 movs r1, #183 ; 0xb7 + 17bee: 3078 adds r0, #120 ; 0x78 + 17bf0: 47a8 blx r5 lv_style_set_transition_prop_5(&styles->list_btn, LV_STATE_DEFAULT, LV_STYLE_TRANSFORM_WIDTH); - 1819a: 6820 ldr r0, [r4, #0] + 17bf2: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_5, transition_prop_5, lv_style_int_t, _int, scalar) - 1819c: 2204 movs r2, #4 - 1819e: 21b6 movs r1, #182 ; 0xb6 - 181a0: 3078 adds r0, #120 ; 0x78 - 181a2: 47a8 blx r5 + 17bf4: 2204 movs r2, #4 + 17bf6: 21b6 movs r1, #182 ; 0xb6 + 17bf8: 3078 adds r0, #120 ; 0x78 + 17bfa: 47a8 blx r5 style_init_reset(&styles->ddlist_page); - 181a4: 6820 ldr r0, [r4, #0] - 181a6: 3054 adds r0, #84 ; 0x54 - 181a8: 4b62 ldr r3, [pc, #392] ; (18334 ) - 181aa: 4798 blx r3 + 17bfc: 6820 ldr r0, [r4, #0] + 17bfe: 3054 adds r0, #84 ; 0x54 + 17c00: 4b62 ldr r3, [pc, #392] ; (17d8c ) + 17c02: 4798 blx r3 lv_style_set_text_line_space(&styles->ddlist_page, LV_STATE_DEFAULT, LV_DPX(20)); - 181ac: 6824 ldr r4, [r4, #0] - 181ae: 3454 adds r4, #84 ; 0x54 - 181b0: 2000 movs r0, #0 - 181b2: 4b5d ldr r3, [pc, #372] ; (18328 ) - 181b4: 4798 blx r3 - 181b6: eb00 0080 add.w r0, r0, r0, lsl #2 - 181ba: 0080 lsls r0, r0, #2 - 181bc: 3050 adds r0, #80 ; 0x50 - 181be: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 181c2: f281 8053 bge.w 1926c - 181c6: 2201 movs r2, #1 + 17c04: 6824 ldr r4, [r4, #0] + 17c06: 3454 adds r4, #84 ; 0x54 + 17c08: 2000 movs r0, #0 + 17c0a: 4b5d ldr r3, [pc, #372] ; (17d80 ) + 17c0c: 4798 blx r3 + 17c0e: eb00 0080 add.w r0, r0, r0, lsl #2 + 17c12: 0080 lsls r0, r0, #2 + 17c14: 3050 adds r0, #80 ; 0x50 + 17c16: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 17c1a: f281 8053 bge.w 18cc4 + 17c1e: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_LINE_SPACE, text_line_space, lv_style_int_t, _int, scalar) - 181c8: f248 0181 movw r1, #32897 ; 0x8081 - 181cc: 4620 mov r0, r4 - 181ce: 4d57 ldr r5, [pc, #348] ; (1832c ) - 181d0: 47a8 blx r5 + 17c20: f248 0181 movw r1, #32897 ; 0x8081 + 17c24: 4620 mov r0, r4 + 17c26: 4d57 ldr r5, [pc, #348] ; (17d84 ) + 17c28: 47a8 blx r5 lv_style_set_clip_corner(&styles->ddlist_page, LV_STATE_DEFAULT, true); - 181d2: 4c57 ldr r4, [pc, #348] ; (18330 ) - 181d4: 6820 ldr r0, [r4, #0] + 17c2a: 4c57 ldr r4, [pc, #348] ; (17d88 ) + 17c2c: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(CLIP_CORNER, clip_corner, bool, _int, scalar) - 181d6: 2201 movs r2, #1 - 181d8: 2102 movs r1, #2 - 181da: 3054 adds r0, #84 ; 0x54 - 181dc: 47a8 blx r5 + 17c2e: 2201 movs r2, #1 + 17c30: 2102 movs r1, #2 + 17c32: 3054 adds r0, #84 ; 0x54 + 17c34: 47a8 blx r5 style_init_reset(&styles->ddlist_sel); - 181de: 6820 ldr r0, [r4, #0] - 181e0: 3058 adds r0, #88 ; 0x58 - 181e2: 4b54 ldr r3, [pc, #336] ; (18334 ) - 181e4: 4798 blx r3 + 17c36: 6820 ldr r0, [r4, #0] + 17c38: 3058 adds r0, #88 ; 0x58 + 17c3a: 4b54 ldr r3, [pc, #336] ; (17d8c ) + 17c3c: 4798 blx r3 lv_style_set_bg_opa(&styles->ddlist_sel, LV_STATE_DEFAULT, LV_OPA_COVER); - 181e6: 6820 ldr r0, [r4, #0] + 17c3e: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 181e8: 22ff movs r2, #255 ; 0xff - 181ea: 212c movs r1, #44 ; 0x2c - 181ec: 3058 adds r0, #88 ; 0x58 - 181ee: 4b52 ldr r3, [pc, #328] ; (18338 ) - 181f0: 4798 blx r3 + 17c40: 22ff movs r2, #255 ; 0xff + 17c42: 212c movs r1, #44 ; 0x2c + 17c44: 3058 adds r0, #88 ; 0x58 + 17c46: 4b52 ldr r3, [pc, #328] ; (17d90 ) + 17c48: 4798 blx r3 lv_style_set_bg_color(&styles->ddlist_sel, LV_STATE_DEFAULT, theme.color_primary); - 181f2: 6820 ldr r0, [r4, #0] + 17c4a: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 181f4: 89a2 ldrh r2, [r4, #12] - 181f6: 2129 movs r1, #41 ; 0x29 - 181f8: 3058 adds r0, #88 ; 0x58 - 181fa: 4d50 ldr r5, [pc, #320] ; (1833c ) - 181fc: 47a8 blx r5 + 17c4c: 89a2 ldrh r2, [r4, #12] + 17c4e: 2129 movs r1, #41 ; 0x29 + 17c50: 3058 adds r0, #88 ; 0x58 + 17c52: 4d50 ldr r5, [pc, #320] ; (17d94 ) + 17c54: 47a8 blx r5 lv_style_set_text_color(&styles->ddlist_sel, LV_STATE_DEFAULT, IS_LIGHT ? lv_color_hex3(0xfff) : lv_color_hex3(0xfff)); - 181fe: 6820 ldr r0, [r4, #0] + 17c56: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar) - 18200: f04f 32ff mov.w r2, #4294967295 - 18204: f248 0189 movw r1, #32905 ; 0x8089 - 18208: 3058 adds r0, #88 ; 0x58 - 1820a: 47a8 blx r5 + 17c58: f04f 32ff mov.w r2, #4294967295 + 17c5c: f248 0189 movw r1, #32905 ; 0x8089 + 17c60: 3058 adds r0, #88 ; 0x58 + 17c62: 47a8 blx r5 lv_style_set_bg_color(&styles->ddlist_sel, LV_STATE_PRESSED, COLOR_BG_PR); - 1820c: 6820 ldr r0, [r4, #0] - 1820e: 3058 adds r0, #88 ; 0x58 - 18210: 6a23 ldr r3, [r4, #32] - 18212: f013 0f02 tst.w r3, #2 - 18216: f041 8039 bne.w 1928c - 1821a: 2309 movs r3, #9 - 1821c: 2113 movs r1, #19 - 1821e: 240a movs r4, #10 - 18220: f04f 0200 mov.w r2, #0 - 18224: f364 0204 bfi r2, r4, #0, #5 - 18228: f361 124a bfi r2, r1, #5, #6 - 1822c: f363 22cf bfi r2, r3, #11, #5 + 17c64: 6820 ldr r0, [r4, #0] + 17c66: 3058 adds r0, #88 ; 0x58 + 17c68: 6a23 ldr r3, [r4, #32] + 17c6a: f013 0f02 tst.w r3, #2 + 17c6e: f041 8039 bne.w 18ce4 + 17c72: 2309 movs r3, #9 + 17c74: 2113 movs r1, #19 + 17c76: 240a movs r4, #10 + 17c78: f04f 0200 mov.w r2, #0 + 17c7c: f364 0204 bfi r2, r4, #0, #5 + 17c80: f361 124a bfi r2, r1, #5, #6 + 17c84: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 18230: f241 0129 movw r1, #4137 ; 0x1029 - 18234: 4b41 ldr r3, [pc, #260] ; (1833c ) - 18236: 4798 blx r3 + 17c88: f241 0129 movw r1, #4137 ; 0x1029 + 17c8c: 4b41 ldr r3, [pc, #260] ; (17d94 ) + 17c8e: 4798 blx r3 lv_style_set_text_color(&styles->ddlist_sel, LV_STATE_PRESSED, COLOR_BG_TEXT_PR); - 18238: 4b3d ldr r3, [pc, #244] ; (18330 ) - 1823a: 6818 ldr r0, [r3, #0] - 1823c: 3058 adds r0, #88 ; 0x58 - 1823e: 6a1b ldr r3, [r3, #32] - 18240: f013 0f02 tst.w r3, #2 - 18244: f041 8027 bne.w 19296 - 18248: 231f movs r3, #31 - 1824a: 213f movs r1, #63 ; 0x3f - 1824c: 461c mov r4, r3 - 1824e: f04f 0200 mov.w r2, #0 - 18252: f364 0204 bfi r2, r4, #0, #5 - 18256: f361 124a bfi r2, r1, #5, #6 - 1825a: f363 22cf bfi r2, r3, #11, #5 + 17c90: 4b3d ldr r3, [pc, #244] ; (17d88 ) + 17c92: 6818 ldr r0, [r3, #0] + 17c94: 3058 adds r0, #88 ; 0x58 + 17c96: 6a1b ldr r3, [r3, #32] + 17c98: f013 0f02 tst.w r3, #2 + 17c9c: f041 8027 bne.w 18cee + 17ca0: 231f movs r3, #31 + 17ca2: 213f movs r1, #63 ; 0x3f + 17ca4: 461c mov r4, r3 + 17ca6: f04f 0200 mov.w r2, #0 + 17caa: f364 0204 bfi r2, r4, #0, #5 + 17cae: f361 124a bfi r2, r1, #5, #6 + 17cb2: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar) - 1825e: f249 0189 movw r1, #37001 ; 0x9089 - 18262: 4b36 ldr r3, [pc, #216] ; (1833c ) - 18264: 4798 blx r3 + 17cb6: f249 0189 movw r1, #37001 ; 0x9089 + 17cba: 4b36 ldr r3, [pc, #216] ; (17d94 ) + 17cbc: 4798 blx r3 style_init_reset(&styles->roller_bg); - 18266: 4c32 ldr r4, [pc, #200] ; (18330 ) - 18268: 6820 ldr r0, [r4, #0] - 1826a: 3088 adds r0, #136 ; 0x88 - 1826c: 4b31 ldr r3, [pc, #196] ; (18334 ) - 1826e: 4798 blx r3 + 17cbe: 4c32 ldr r4, [pc, #200] ; (17d88 ) + 17cc0: 6820 ldr r0, [r4, #0] + 17cc2: 3088 adds r0, #136 ; 0x88 + 17cc4: 4b31 ldr r3, [pc, #196] ; (17d8c ) + 17cc6: 4798 blx r3 lv_style_set_text_line_space(&styles->roller_bg, LV_STATE_DEFAULT, LV_DPX(25)); - 18270: 6824 ldr r4, [r4, #0] - 18272: 3488 adds r4, #136 ; 0x88 - 18274: 2000 movs r0, #0 - 18276: 4b2c ldr r3, [pc, #176] ; (18328 ) - 18278: 4798 blx r3 - 1827a: eb00 0080 add.w r0, r0, r0, lsl #2 - 1827e: eb00 0080 add.w r0, r0, r0, lsl #2 - 18282: 3050 adds r0, #80 ; 0x50 - 18284: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 18288: f281 800a bge.w 192a0 - 1828c: 2201 movs r2, #1 + 17cc8: 6824 ldr r4, [r4, #0] + 17cca: 3488 adds r4, #136 ; 0x88 + 17ccc: 2000 movs r0, #0 + 17cce: 4b2c ldr r3, [pc, #176] ; (17d80 ) + 17cd0: 4798 blx r3 + 17cd2: eb00 0080 add.w r0, r0, r0, lsl #2 + 17cd6: eb00 0080 add.w r0, r0, r0, lsl #2 + 17cda: 3050 adds r0, #80 ; 0x50 + 17cdc: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 17ce0: f281 800a bge.w 18cf8 + 17ce4: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_LINE_SPACE, text_line_space, lv_style_int_t, _int, scalar) - 1828e: f248 0181 movw r1, #32897 ; 0x8081 - 18292: 4620 mov r0, r4 - 18294: 4b25 ldr r3, [pc, #148] ; (1832c ) - 18296: 4798 blx r3 + 17ce6: f248 0181 movw r1, #32897 ; 0x8081 + 17cea: 4620 mov r0, r4 + 17cec: 4b25 ldr r3, [pc, #148] ; (17d84 ) + 17cee: 4798 blx r3 style_init_reset(&styles->roller_sel); - 18298: 4c25 ldr r4, [pc, #148] ; (18330 ) - 1829a: 6820 ldr r0, [r4, #0] - 1829c: 308c adds r0, #140 ; 0x8c - 1829e: 4e25 ldr r6, [pc, #148] ; (18334 ) - 182a0: 47b0 blx r6 + 17cf0: 4c25 ldr r4, [pc, #148] ; (17d88 ) + 17cf2: 6820 ldr r0, [r4, #0] + 17cf4: 308c adds r0, #140 ; 0x8c + 17cf6: 4e25 ldr r6, [pc, #148] ; (17d8c ) + 17cf8: 47b0 blx r6 lv_style_set_bg_opa(&styles->roller_sel, LV_STATE_DEFAULT, LV_OPA_COVER); - 182a2: 6820 ldr r0, [r4, #0] + 17cfa: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 182a4: 22ff movs r2, #255 ; 0xff - 182a6: 212c movs r1, #44 ; 0x2c - 182a8: 308c adds r0, #140 ; 0x8c - 182aa: 4d23 ldr r5, [pc, #140] ; (18338 ) - 182ac: 47a8 blx r5 + 17cfc: 22ff movs r2, #255 ; 0xff + 17cfe: 212c movs r1, #44 ; 0x2c + 17d00: 308c adds r0, #140 ; 0x8c + 17d02: 4d23 ldr r5, [pc, #140] ; (17d90 ) + 17d04: 47a8 blx r5 lv_style_set_bg_color(&styles->roller_sel, LV_STATE_DEFAULT, theme.color_primary); - 182ae: 6820 ldr r0, [r4, #0] + 17d06: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 182b0: 89a2 ldrh r2, [r4, #12] - 182b2: 2129 movs r1, #41 ; 0x29 - 182b4: 308c adds r0, #140 ; 0x8c - 182b6: 4f21 ldr r7, [pc, #132] ; (1833c ) - 182b8: 47b8 blx r7 + 17d08: 89a2 ldrh r2, [r4, #12] + 17d0a: 2129 movs r1, #41 ; 0x29 + 17d0c: 308c adds r0, #140 ; 0x8c + 17d0e: 4f21 ldr r7, [pc, #132] ; (17d94 ) + 17d10: 47b8 blx r7 lv_style_set_text_color(&styles->roller_sel, LV_STATE_DEFAULT, LV_COLOR_WHITE); - 182ba: 6820 ldr r0, [r4, #0] + 17d12: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar) - 182bc: 4b20 ldr r3, [pc, #128] ; (18340 ) - 182be: 881a ldrh r2, [r3, #0] - 182c0: f248 0189 movw r1, #32905 ; 0x8089 - 182c4: 308c adds r0, #140 ; 0x8c - 182c6: 47b8 blx r7 + 17d14: 4b20 ldr r3, [pc, #128] ; (17d98 ) + 17d16: 881a ldrh r2, [r3, #0] + 17d18: f248 0189 movw r1, #32905 ; 0x8089 + 17d1c: 308c adds r0, #140 ; 0x8c + 17d1e: 47b8 blx r7 style_init_reset(&styles->tabview_btns_bg); - 182c8: 6820 ldr r0, [r4, #0] - 182ca: 30a8 adds r0, #168 ; 0xa8 - 182cc: 47b0 blx r6 + 17d20: 6820 ldr r0, [r4, #0] + 17d22: 30a8 adds r0, #168 ; 0xa8 + 17d24: 47b0 blx r6 lv_style_set_bg_opa(&styles->tabview_btns_bg, LV_STATE_DEFAULT, LV_OPA_COVER); - 182ce: 6820 ldr r0, [r4, #0] + 17d26: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 182d0: 22ff movs r2, #255 ; 0xff - 182d2: 212c movs r1, #44 ; 0x2c - 182d4: 30a8 adds r0, #168 ; 0xa8 - 182d6: 47a8 blx r5 + 17d28: 22ff movs r2, #255 ; 0xff + 17d2a: 212c movs r1, #44 ; 0x2c + 17d2c: 30a8 adds r0, #168 ; 0xa8 + 17d2e: 47a8 blx r5 lv_style_set_bg_color(&styles->tabview_btns_bg, LV_STATE_DEFAULT, COLOR_BG); - 182d8: 6820 ldr r0, [r4, #0] - 182da: 30a8 adds r0, #168 ; 0xa8 - 182dc: 6a23 ldr r3, [r4, #32] - 182de: f013 0f02 tst.w r3, #2 - 182e2: f040 87ee bne.w 192c2 - 182e6: 230b movs r3, #11 - 182e8: 2118 movs r1, #24 - 182ea: 240e movs r4, #14 - 182ec: f04f 0200 mov.w r2, #0 - 182f0: f364 0204 bfi r2, r4, #0, #5 - 182f4: f361 124a bfi r2, r1, #5, #6 - 182f8: f363 22cf bfi r2, r3, #11, #5 + 17d30: 6820 ldr r0, [r4, #0] + 17d32: 30a8 adds r0, #168 ; 0xa8 + 17d34: 6a23 ldr r3, [r4, #32] + 17d36: f013 0f02 tst.w r3, #2 + 17d3a: f040 87ee bne.w 18d1a + 17d3e: 230b movs r3, #11 + 17d40: 2118 movs r1, #24 + 17d42: 240e movs r4, #14 + 17d44: f04f 0200 mov.w r2, #0 + 17d48: f364 0204 bfi r2, r4, #0, #5 + 17d4c: f361 124a bfi r2, r1, #5, #6 + 17d50: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 182fc: 2129 movs r1, #41 ; 0x29 - 182fe: 4b0f ldr r3, [pc, #60] ; (1833c ) - 18300: 4798 blx r3 + 17d54: 2129 movs r1, #41 ; 0x29 + 17d56: 4b0f ldr r3, [pc, #60] ; (17d94 ) + 17d58: 4798 blx r3 lv_style_set_border_color(&styles->tabview_btns_bg, LV_STATE_DEFAULT, - 18302: 4b0b ldr r3, [pc, #44] ; (18330 ) - 18304: 6818 ldr r0, [r3, #0] + 17d5a: 4b0b ldr r3, [pc, #44] ; (17d88 ) + 17d5c: 6818 ldr r0, [r3, #0] IS_LIGHT ? lv_color_hex(0xe4eaf0) : lv_color_hex(0x3b3e42)); - 18306: 6a1b ldr r3, [r3, #32] + 17d5e: 6a1b ldr r3, [r3, #32] lv_style_set_border_color(&styles->tabview_btns_bg, LV_STATE_DEFAULT, - 18308: f013 0302 ands.w r3, r3, #2 - 1830c: bf14 ite ne - 1830e: 211c movne r1, #28 - 18310: 2107 moveq r1, #7 - 18312: 2b00 cmp r3, #0 - 18314: bf15 itete ne - 18316: 243a movne r4, #58 ; 0x3a - 18318: 240f moveq r4, #15 - 1831a: 231e movne r3, #30 - 1831c: 2308 moveq r3, #8 - 1831e: f04f 0200 mov.w r2, #0 - 18322: e00f b.n 18344 - 18324: 00011501 .word 0x00011501 - 18328: 000114e5 .word 0x000114e5 - 1832c: 00006e89 .word 0x00006e89 - 18330: 20006bd8 .word 0x20006bd8 - 18334: 00015009 .word 0x00015009 - 18338: 00007111 .word 0x00007111 - 1833c: 00006fcd .word 0x00006fcd - 18340: 00020a68 .word 0x00020a68 - 18344: f363 0204 bfi r2, r3, #0, #5 - 18348: f364 124a bfi r2, r4, #5, #6 - 1834c: f361 22cf bfi r2, r1, #11, #5 + 17d60: f013 0302 ands.w r3, r3, #2 + 17d64: bf14 ite ne + 17d66: 211c movne r1, #28 + 17d68: 2107 moveq r1, #7 + 17d6a: 2b00 cmp r3, #0 + 17d6c: bf15 itete ne + 17d6e: 243a movne r4, #58 ; 0x3a + 17d70: 240f moveq r4, #15 + 17d72: 231e movne r3, #30 + 17d74: 2308 moveq r3, #8 + 17d76: f04f 0200 mov.w r2, #0 + 17d7a: e00f b.n 17d9c + 17d7c: 00010f59 .word 0x00010f59 + 17d80: 00010f3d .word 0x00010f3d + 17d84: 000068e1 .word 0x000068e1 + 17d88: 20006bd8 .word 0x20006bd8 + 17d8c: 00014a61 .word 0x00014a61 + 17d90: 00006b69 .word 0x00006b69 + 17d94: 00006a25 .word 0x00006a25 + 17d98: 00029584 .word 0x00029584 + 17d9c: f363 0204 bfi r2, r3, #0, #5 + 17da0: f364 124a bfi r2, r4, #5, #6 + 17da4: f361 22cf bfi r2, r1, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_COLOR, border_color, lv_color_t, _color, nonscalar) - 18350: 2139 movs r1, #57 ; 0x39 - 18352: 30a8 adds r0, #168 ; 0xa8 - 18354: 4bb6 ldr r3, [pc, #728] ; (18630 ) - 18356: 4798 blx r3 + 17da8: 2139 movs r1, #57 ; 0x39 + 17daa: 30a8 adds r0, #168 ; 0xa8 + 17dac: 4bb6 ldr r3, [pc, #728] ; (18088 ) + 17dae: 4798 blx r3 lv_style_set_border_width(&styles->tabview_btns_bg, LV_STATE_DEFAULT, LV_DPX(5)); - 18358: 4bb6 ldr r3, [pc, #728] ; (18634 ) - 1835a: 681c ldr r4, [r3, #0] - 1835c: 34a8 adds r4, #168 ; 0xa8 - 1835e: 2000 movs r0, #0 - 18360: 4bb5 ldr r3, [pc, #724] ; (18638 ) - 18362: 4798 blx r3 - 18364: eb00 0080 add.w r0, r0, r0, lsl #2 - 18368: 3050 adds r0, #80 ; 0x50 - 1836a: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 1836e: f280 87ad bge.w 192cc - 18372: 2201 movs r2, #1 + 17db0: 4bb6 ldr r3, [pc, #728] ; (1808c ) + 17db2: 681c ldr r4, [r3, #0] + 17db4: 34a8 adds r4, #168 ; 0xa8 + 17db6: 2000 movs r0, #0 + 17db8: 4bb5 ldr r3, [pc, #724] ; (18090 ) + 17dba: 4798 blx r3 + 17dbc: eb00 0080 add.w r0, r0, r0, lsl #2 + 17dc0: 3050 adds r0, #80 ; 0x50 + 17dc2: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 17dc6: f280 87ad bge.w 18d24 + 17dca: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_WIDTH, border_width, lv_style_int_t, _int, scalar) - 18374: 2130 movs r1, #48 ; 0x30 - 18376: 4620 mov r0, r4 - 18378: 4db0 ldr r5, [pc, #704] ; (1863c ) - 1837a: 47a8 blx r5 + 17dcc: 2130 movs r1, #48 ; 0x30 + 17dce: 4620 mov r0, r4 + 17dd0: 4db0 ldr r5, [pc, #704] ; (18094 ) + 17dd2: 47a8 blx r5 lv_style_set_border_side(&styles->tabview_btns_bg, LV_STATE_DEFAULT, LV_BORDER_SIDE_BOTTOM); - 1837c: 4cad ldr r4, [pc, #692] ; (18634 ) - 1837e: 6820 ldr r0, [r4, #0] + 17dd4: 4cad ldr r4, [pc, #692] ; (1808c ) + 17dd6: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_SIDE, border_side, lv_border_side_t, _int, scalar) - 18380: 2201 movs r2, #1 - 18382: 2131 movs r1, #49 ; 0x31 - 18384: 30a8 adds r0, #168 ; 0xa8 - 18386: 47a8 blx r5 + 17dd8: 2201 movs r2, #1 + 17dda: 2131 movs r1, #49 ; 0x31 + 17ddc: 30a8 adds r0, #168 ; 0xa8 + 17dde: 47a8 blx r5 lv_style_set_text_color(&styles->tabview_btns_bg, LV_STATE_DEFAULT, COLOR_SCR_TEXT); - 18388: 6820 ldr r0, [r4, #0] - 1838a: 6a23 ldr r3, [r4, #32] - 1838c: f013 0302 ands.w r3, r3, #2 - 18390: bf14 ite ne - 18392: 2107 movne r1, #7 - 18394: 211c moveq r1, #28 - 18396: 2b00 cmp r3, #0 - 18398: bf15 itete ne - 1839a: 240f movne r4, #15 - 1839c: 243a moveq r4, #58 ; 0x3a - 1839e: 2308 movne r3, #8 - 183a0: 231d moveq r3, #29 - 183a2: f04f 0200 mov.w r2, #0 - 183a6: f363 0204 bfi r2, r3, #0, #5 - 183aa: f364 124a bfi r2, r4, #5, #6 - 183ae: f361 22cf bfi r2, r1, #11, #5 + 17de0: 6820 ldr r0, [r4, #0] + 17de2: 6a23 ldr r3, [r4, #32] + 17de4: f013 0302 ands.w r3, r3, #2 + 17de8: bf14 ite ne + 17dea: 2107 movne r1, #7 + 17dec: 211c moveq r1, #28 + 17dee: 2b00 cmp r3, #0 + 17df0: bf15 itete ne + 17df2: 240f movne r4, #15 + 17df4: 243a moveq r4, #58 ; 0x3a + 17df6: 2308 movne r3, #8 + 17df8: 231d moveq r3, #29 + 17dfa: f04f 0200 mov.w r2, #0 + 17dfe: f363 0204 bfi r2, r3, #0, #5 + 17e02: f364 124a bfi r2, r4, #5, #6 + 17e06: f361 22cf bfi r2, r1, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar) - 183b2: f248 0189 movw r1, #32905 ; 0x8089 - 183b6: 30a8 adds r0, #168 ; 0xa8 - 183b8: 4d9d ldr r5, [pc, #628] ; (18630 ) - 183ba: 47a8 blx r5 + 17e0a: f248 0189 movw r1, #32905 ; 0x8089 + 17e0e: 30a8 adds r0, #168 ; 0xa8 + 17e10: 4d9d ldr r5, [pc, #628] ; (18088 ) + 17e12: 47a8 blx r5 lv_style_set_text_font(&styles->tabview_btns_bg, LV_STATE_DEFAULT, theme.font_normal); - 183bc: 4c9d ldr r4, [pc, #628] ; (18634 ) - 183be: 6820 ldr r0, [r4, #0] + 17e14: 4c9d ldr r4, [pc, #628] ; (1808c ) + 17e16: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_FONT, text_font, const lv_font_t *, _ptr, scalar) - 183c0: 6962 ldr r2, [r4, #20] - 183c2: f248 018e movw r1, #32910 ; 0x808e - 183c6: 30a8 adds r0, #168 ; 0xa8 - 183c8: 4b9d ldr r3, [pc, #628] ; (18640 ) - 183ca: 4798 blx r3 + 17e18: 6962 ldr r2, [r4, #20] + 17e1a: f248 018e movw r1, #32910 ; 0x808e + 17e1e: 30a8 adds r0, #168 ; 0xa8 + 17e20: 4b9d ldr r3, [pc, #628] ; (18098 ) + 17e22: 4798 blx r3 lv_style_set_image_recolor(&styles->tabview_btns_bg, LV_STATE_DEFAULT, lv_color_hex(0x979a9f)); - 183cc: 6820 ldr r0, [r4, #0] - 183ce: f04f 0200 mov.w r2, #0 - 183d2: 2313 movs r3, #19 - 183d4: f363 0204 bfi r2, r3, #0, #5 - 183d8: 2326 movs r3, #38 ; 0x26 - 183da: f363 124a bfi r2, r3, #5, #6 - 183de: 2312 movs r3, #18 - 183e0: f363 22cf bfi r2, r3, #11, #5 + 17e24: 6820 ldr r0, [r4, #0] + 17e26: f04f 0200 mov.w r2, #0 + 17e2a: 2313 movs r3, #19 + 17e2c: f363 0204 bfi r2, r3, #0, #5 + 17e30: 2326 movs r3, #38 ; 0x26 + 17e32: f363 124a bfi r2, r3, #5, #6 + 17e36: 2312 movs r3, #18 + 17e38: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_RECOLOR, image_recolor, lv_color_t, _color, nonscalar) - 183e4: f248 01a9 movw r1, #32937 ; 0x80a9 - 183e8: 30a8 adds r0, #168 ; 0xa8 - 183ea: 47a8 blx r5 + 17e3c: f248 01a9 movw r1, #32937 ; 0x80a9 + 17e40: 30a8 adds r0, #168 ; 0xa8 + 17e42: 47a8 blx r5 lv_style_set_pad_top(&styles->tabview_btns_bg, LV_STATE_DEFAULT, LV_DPX(7)); - 183ec: 6824 ldr r4, [r4, #0] - 183ee: 34a8 adds r4, #168 ; 0xa8 - 183f0: 2000 movs r0, #0 - 183f2: 4b91 ldr r3, [pc, #580] ; (18638 ) - 183f4: 4798 blx r3 - 183f6: ebc0 00c0 rsb r0, r0, r0, lsl #3 - 183fa: 3050 adds r0, #80 ; 0x50 - 183fc: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 18400: f280 8773 bge.w 192ea - 18404: 2201 movs r2, #1 + 17e44: 6824 ldr r4, [r4, #0] + 17e46: 34a8 adds r4, #168 ; 0xa8 + 17e48: 2000 movs r0, #0 + 17e4a: 4b91 ldr r3, [pc, #580] ; (18090 ) + 17e4c: 4798 blx r3 + 17e4e: ebc0 00c0 rsb r0, r0, r0, lsl #3 + 17e52: 3050 adds r0, #80 ; 0x50 + 17e54: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 17e58: f280 8773 bge.w 18d42 + 17e5c: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) - 18406: 2110 movs r1, #16 - 18408: 4620 mov r0, r4 - 1840a: 4b8c ldr r3, [pc, #560] ; (1863c ) - 1840c: 4798 blx r3 + 17e5e: 2110 movs r1, #16 + 17e60: 4620 mov r0, r4 + 17e62: 4b8c ldr r3, [pc, #560] ; (18094 ) + 17e64: 4798 blx r3 lv_style_set_pad_left(&styles->tabview_btns_bg, LV_STATE_DEFAULT, LV_DPX(7)); - 1840e: 4b89 ldr r3, [pc, #548] ; (18634 ) - 18410: 681c ldr r4, [r3, #0] - 18412: 34a8 adds r4, #168 ; 0xa8 - 18414: 2000 movs r0, #0 - 18416: 4b88 ldr r3, [pc, #544] ; (18638 ) - 18418: 4798 blx r3 - 1841a: ebc0 00c0 rsb r0, r0, r0, lsl #3 - 1841e: 3050 adds r0, #80 ; 0x50 - 18420: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 18424: f280 8774 bge.w 19310 - 18428: 2201 movs r2, #1 + 17e66: 4b89 ldr r3, [pc, #548] ; (1808c ) + 17e68: 681c ldr r4, [r3, #0] + 17e6a: 34a8 adds r4, #168 ; 0xa8 + 17e6c: 2000 movs r0, #0 + 17e6e: 4b88 ldr r3, [pc, #544] ; (18090 ) + 17e70: 4798 blx r3 + 17e72: ebc0 00c0 rsb r0, r0, r0, lsl #3 + 17e76: 3050 adds r0, #80 ; 0x50 + 17e78: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 17e7c: f280 8774 bge.w 18d68 + 17e80: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 1842a: 2112 movs r1, #18 - 1842c: 4620 mov r0, r4 - 1842e: 4b83 ldr r3, [pc, #524] ; (1863c ) - 18430: 4798 blx r3 + 17e82: 2112 movs r1, #18 + 17e84: 4620 mov r0, r4 + 17e86: 4b83 ldr r3, [pc, #524] ; (18094 ) + 17e88: 4798 blx r3 lv_style_set_pad_right(&styles->tabview_btns_bg, LV_STATE_DEFAULT, LV_DPX(7)); - 18432: 4b80 ldr r3, [pc, #512] ; (18634 ) - 18434: 681c ldr r4, [r3, #0] - 18436: 34a8 adds r4, #168 ; 0xa8 - 18438: 2000 movs r0, #0 - 1843a: 4b7f ldr r3, [pc, #508] ; (18638 ) - 1843c: 4798 blx r3 - 1843e: ebc0 00c0 rsb r0, r0, r0, lsl #3 - 18442: 3050 adds r0, #80 ; 0x50 - 18444: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 18448: f280 8771 bge.w 1932e - 1844c: 2201 movs r2, #1 + 17e8a: 4b80 ldr r3, [pc, #512] ; (1808c ) + 17e8c: 681c ldr r4, [r3, #0] + 17e8e: 34a8 adds r4, #168 ; 0xa8 + 17e90: 2000 movs r0, #0 + 17e92: 4b7f ldr r3, [pc, #508] ; (18090 ) + 17e94: 4798 blx r3 + 17e96: ebc0 00c0 rsb r0, r0, r0, lsl #3 + 17e9a: 3050 adds r0, #80 ; 0x50 + 17e9c: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 17ea0: f280 8771 bge.w 18d86 + 17ea4: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 1844e: 2113 movs r1, #19 - 18450: 4620 mov r0, r4 - 18452: 4b7a ldr r3, [pc, #488] ; (1863c ) - 18454: 4798 blx r3 + 17ea6: 2113 movs r1, #19 + 17ea8: 4620 mov r0, r4 + 17eaa: 4b7a ldr r3, [pc, #488] ; (18094 ) + 17eac: 4798 blx r3 style_init_reset(&styles->tabview_btns); - 18456: 4c77 ldr r4, [pc, #476] ; (18634 ) - 18458: 6820 ldr r0, [r4, #0] - 1845a: 30a4 adds r0, #164 ; 0xa4 - 1845c: 4b79 ldr r3, [pc, #484] ; (18644 ) - 1845e: 4798 blx r3 + 17eae: 4c77 ldr r4, [pc, #476] ; (1808c ) + 17eb0: 6820 ldr r0, [r4, #0] + 17eb2: 30a4 adds r0, #164 ; 0xa4 + 17eb4: 4b79 ldr r3, [pc, #484] ; (1809c ) + 17eb6: 4798 blx r3 lv_style_set_bg_opa(&styles->tabview_btns, LV_STATE_PRESSED, LV_OPA_50); - 18460: 6820 ldr r0, [r4, #0] + 17eb8: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 18462: 227f movs r2, #127 ; 0x7f - 18464: f241 012c movw r1, #4140 ; 0x102c - 18468: 30a4 adds r0, #164 ; 0xa4 - 1846a: 4b77 ldr r3, [pc, #476] ; (18648 ) - 1846c: 4798 blx r3 + 17eba: 227f movs r2, #127 ; 0x7f + 17ebc: f241 012c movw r1, #4140 ; 0x102c + 17ec0: 30a4 adds r0, #164 ; 0xa4 + 17ec2: 4b77 ldr r3, [pc, #476] ; (180a0 ) + 17ec4: 4798 blx r3 lv_style_set_bg_color(&styles->tabview_btns, LV_STATE_PRESSED, lv_color_hex3(0x888)); - 1846e: 6820 ldr r0, [r4, #0] - 18470: 2311 movs r3, #17 - 18472: f04f 0200 mov.w r2, #0 - 18476: f363 0204 bfi r2, r3, #0, #5 - 1847a: 2122 movs r1, #34 ; 0x22 - 1847c: f361 124a bfi r2, r1, #5, #6 - 18480: f363 22cf bfi r2, r3, #11, #5 + 17ec6: 6820 ldr r0, [r4, #0] + 17ec8: 2311 movs r3, #17 + 17eca: f04f 0200 mov.w r2, #0 + 17ece: f363 0204 bfi r2, r3, #0, #5 + 17ed2: 2122 movs r1, #34 ; 0x22 + 17ed4: f361 124a bfi r2, r1, #5, #6 + 17ed8: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 18484: f241 0129 movw r1, #4137 ; 0x1029 - 18488: 30a4 adds r0, #164 ; 0xa4 - 1848a: 4b69 ldr r3, [pc, #420] ; (18630 ) - 1848c: 4798 blx r3 + 17edc: f241 0129 movw r1, #4137 ; 0x1029 + 17ee0: 30a4 adds r0, #164 ; 0xa4 + 17ee2: 4b69 ldr r3, [pc, #420] ; (18088 ) + 17ee4: 4798 blx r3 lv_style_set_text_color(&styles->tabview_btns, LV_STATE_CHECKED, COLOR_SCR_TEXT); - 1848e: 6820 ldr r0, [r4, #0] - 18490: 6a23 ldr r3, [r4, #32] - 18492: f013 0302 ands.w r3, r3, #2 - 18496: bf14 ite ne - 18498: 2107 movne r1, #7 - 1849a: 211c moveq r1, #28 - 1849c: 2b00 cmp r3, #0 - 1849e: bf15 itete ne - 184a0: 240f movne r4, #15 - 184a2: 243a moveq r4, #58 ; 0x3a - 184a4: 2308 movne r3, #8 - 184a6: 231d moveq r3, #29 - 184a8: f04f 0200 mov.w r2, #0 - 184ac: f363 0204 bfi r2, r3, #0, #5 - 184b0: f364 124a bfi r2, r4, #5, #6 - 184b4: f361 22cf bfi r2, r1, #11, #5 + 17ee6: 6820 ldr r0, [r4, #0] + 17ee8: 6a23 ldr r3, [r4, #32] + 17eea: f013 0302 ands.w r3, r3, #2 + 17eee: bf14 ite ne + 17ef0: 2107 movne r1, #7 + 17ef2: 211c moveq r1, #28 + 17ef4: 2b00 cmp r3, #0 + 17ef6: bf15 itete ne + 17ef8: 240f movne r4, #15 + 17efa: 243a moveq r4, #58 ; 0x3a + 17efc: 2308 movne r3, #8 + 17efe: 231d moveq r3, #29 + 17f00: f04f 0200 mov.w r2, #0 + 17f04: f363 0204 bfi r2, r3, #0, #5 + 17f08: f364 124a bfi r2, r4, #5, #6 + 17f0c: f361 22cf bfi r2, r1, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar) - 184b8: f248 1189 movw r1, #33161 ; 0x8189 - 184bc: 30a4 adds r0, #164 ; 0xa4 - 184be: 4b5c ldr r3, [pc, #368] ; (18630 ) - 184c0: 4798 blx r3 + 17f10: f248 1189 movw r1, #33161 ; 0x8189 + 17f14: 30a4 adds r0, #164 ; 0xa4 + 17f16: 4b5c ldr r3, [pc, #368] ; (18088 ) + 17f18: 4798 blx r3 lv_style_set_pad_top(&styles->tabview_btns, LV_STATE_DEFAULT, LV_DPX(20)); - 184c2: 4b5c ldr r3, [pc, #368] ; (18634 ) - 184c4: 681c ldr r4, [r3, #0] - 184c6: 34a4 adds r4, #164 ; 0xa4 - 184c8: 2000 movs r0, #0 - 184ca: 4b5b ldr r3, [pc, #364] ; (18638 ) - 184cc: 4798 blx r3 - 184ce: eb00 0080 add.w r0, r0, r0, lsl #2 - 184d2: 0080 lsls r0, r0, #2 - 184d4: 3050 adds r0, #80 ; 0x50 - 184d6: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 184da: f280 8737 bge.w 1934c - 184de: 2201 movs r2, #1 + 17f1a: 4b5c ldr r3, [pc, #368] ; (1808c ) + 17f1c: 681c ldr r4, [r3, #0] + 17f1e: 34a4 adds r4, #164 ; 0xa4 + 17f20: 2000 movs r0, #0 + 17f22: 4b5b ldr r3, [pc, #364] ; (18090 ) + 17f24: 4798 blx r3 + 17f26: eb00 0080 add.w r0, r0, r0, lsl #2 + 17f2a: 0080 lsls r0, r0, #2 + 17f2c: 3050 adds r0, #80 ; 0x50 + 17f2e: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 17f32: f280 8737 bge.w 18da4 + 17f36: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) - 184e0: 2110 movs r1, #16 - 184e2: 4620 mov r0, r4 - 184e4: 4b55 ldr r3, [pc, #340] ; (1863c ) - 184e6: 4798 blx r3 + 17f38: 2110 movs r1, #16 + 17f3a: 4620 mov r0, r4 + 17f3c: 4b55 ldr r3, [pc, #340] ; (18094 ) + 17f3e: 4798 blx r3 lv_style_set_pad_bottom(&styles->tabview_btns, LV_STATE_DEFAULT, LV_DPX(20)); - 184e8: 4b52 ldr r3, [pc, #328] ; (18634 ) - 184ea: 681c ldr r4, [r3, #0] - 184ec: 34a4 adds r4, #164 ; 0xa4 - 184ee: 2000 movs r0, #0 - 184f0: 4b51 ldr r3, [pc, #324] ; (18638 ) - 184f2: 4798 blx r3 - 184f4: eb00 0080 add.w r0, r0, r0, lsl #2 - 184f8: 0080 lsls r0, r0, #2 - 184fa: 3050 adds r0, #80 ; 0x50 - 184fc: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 18500: f280 8734 bge.w 1936c - 18504: 2201 movs r2, #1 + 17f40: 4b52 ldr r3, [pc, #328] ; (1808c ) + 17f42: 681c ldr r4, [r3, #0] + 17f44: 34a4 adds r4, #164 ; 0xa4 + 17f46: 2000 movs r0, #0 + 17f48: 4b51 ldr r3, [pc, #324] ; (18090 ) + 17f4a: 4798 blx r3 + 17f4c: eb00 0080 add.w r0, r0, r0, lsl #2 + 17f50: 0080 lsls r0, r0, #2 + 17f52: 3050 adds r0, #80 ; 0x50 + 17f54: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 17f58: f280 8734 bge.w 18dc4 + 17f5c: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) - 18506: 2111 movs r1, #17 - 18508: 4620 mov r0, r4 - 1850a: 4b4c ldr r3, [pc, #304] ; (1863c ) - 1850c: 4798 blx r3 + 17f5e: 2111 movs r1, #17 + 17f60: 4620 mov r0, r4 + 17f62: 4b4c ldr r3, [pc, #304] ; (18094 ) + 17f64: 4798 blx r3 lv_style_set_text_color(&styles->tabview_btns, LV_STATE_FOCUSED, theme.color_primary); - 1850e: 4c49 ldr r4, [pc, #292] ; (18634 ) - 18510: 6820 ldr r0, [r4, #0] + 17f66: 4c49 ldr r4, [pc, #292] ; (1808c ) + 17f68: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar) - 18512: 89a2 ldrh r2, [r4, #12] - 18514: f248 2189 movw r1, #33417 ; 0x8289 - 18518: 30a4 adds r0, #164 ; 0xa4 - 1851a: 4d45 ldr r5, [pc, #276] ; (18630 ) - 1851c: 47a8 blx r5 + 17f6a: 89a2 ldrh r2, [r4, #12] + 17f6c: f248 2189 movw r1, #33417 ; 0x8289 + 17f70: 30a4 adds r0, #164 ; 0xa4 + 17f72: 4d45 ldr r5, [pc, #276] ; (18088 ) + 17f74: 47a8 blx r5 lv_style_set_text_color(&styles->tabview_btns, LV_STATE_EDITED, theme.color_secondary); - 1851e: 6820 ldr r0, [r4, #0] - 18520: 89e2 ldrh r2, [r4, #14] - 18522: f248 4189 movw r1, #33929 ; 0x8489 - 18526: 30a4 adds r0, #164 ; 0xa4 - 18528: 47a8 blx r5 + 17f76: 6820 ldr r0, [r4, #0] + 17f78: 89e2 ldrh r2, [r4, #14] + 17f7a: f248 4189 movw r1, #33929 ; 0x8489 + 17f7e: 30a4 adds r0, #164 ; 0xa4 + 17f80: 47a8 blx r5 style_init_reset(&styles->tabview_indic); - 1852a: 6820 ldr r0, [r4, #0] - 1852c: 30ac adds r0, #172 ; 0xac - 1852e: 4b45 ldr r3, [pc, #276] ; (18644 ) - 18530: 4798 blx r3 + 17f82: 6820 ldr r0, [r4, #0] + 17f84: 30ac adds r0, #172 ; 0xac + 17f86: 4b45 ldr r3, [pc, #276] ; (1809c ) + 17f88: 4798 blx r3 lv_style_set_bg_opa(&styles->tabview_indic, LV_STATE_DEFAULT, LV_OPA_COVER); - 18532: 6820 ldr r0, [r4, #0] + 17f8a: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 18534: 22ff movs r2, #255 ; 0xff - 18536: 212c movs r1, #44 ; 0x2c - 18538: 30ac adds r0, #172 ; 0xac - 1853a: 4b43 ldr r3, [pc, #268] ; (18648 ) - 1853c: 4798 blx r3 + 17f8c: 22ff movs r2, #255 ; 0xff + 17f8e: 212c movs r1, #44 ; 0x2c + 17f90: 30ac adds r0, #172 ; 0xac + 17f92: 4b43 ldr r3, [pc, #268] ; (180a0 ) + 17f94: 4798 blx r3 lv_style_set_bg_color(&styles->tabview_indic, LV_STATE_DEFAULT, theme.color_primary); - 1853e: 6820 ldr r0, [r4, #0] + 17f96: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 18540: 89a2 ldrh r2, [r4, #12] - 18542: 2129 movs r1, #41 ; 0x29 - 18544: 30ac adds r0, #172 ; 0xac - 18546: 47a8 blx r5 + 17f98: 89a2 ldrh r2, [r4, #12] + 17f9a: 2129 movs r1, #41 ; 0x29 + 17f9c: 30ac adds r0, #172 ; 0xac + 17f9e: 47a8 blx r5 lv_style_set_bg_color(&styles->tabview_indic, LV_STATE_EDITED, theme.color_secondary); - 18548: 6820 ldr r0, [r4, #0] - 1854a: 89e2 ldrh r2, [r4, #14] - 1854c: f240 4129 movw r1, #1065 ; 0x429 - 18550: 30ac adds r0, #172 ; 0xac - 18552: 47a8 blx r5 + 17fa0: 6820 ldr r0, [r4, #0] + 17fa2: 89e2 ldrh r2, [r4, #14] + 17fa4: f240 4129 movw r1, #1065 ; 0x429 + 17fa8: 30ac adds r0, #172 ; 0xac + 17faa: 47a8 blx r5 lv_style_set_size(&styles->tabview_indic, LV_STATE_DEFAULT, LV_DPX(5)); - 18554: 6824 ldr r4, [r4, #0] - 18556: 34ac adds r4, #172 ; 0xac - 18558: 2000 movs r0, #0 - 1855a: 4b37 ldr r3, [pc, #220] ; (18638 ) - 1855c: 4798 blx r3 - 1855e: eb00 0080 add.w r0, r0, r0, lsl #2 - 18562: 3050 adds r0, #80 ; 0x50 - 18564: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 18568: f280 8710 bge.w 1938c - 1856c: 2201 movs r2, #1 + 17fac: 6824 ldr r4, [r4, #0] + 17fae: 34ac adds r4, #172 ; 0xac + 17fb0: 2000 movs r0, #0 + 17fb2: 4b37 ldr r3, [pc, #220] ; (18090 ) + 17fb4: 4798 blx r3 + 17fb6: eb00 0080 add.w r0, r0, r0, lsl #2 + 17fba: 3050 adds r0, #80 ; 0x50 + 17fbc: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 17fc0: f280 8710 bge.w 18de4 + 17fc4: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(SIZE, size, lv_style_int_t, _int, scalar) - 1856e: 2103 movs r1, #3 - 18570: 4620 mov r0, r4 - 18572: 4d32 ldr r5, [pc, #200] ; (1863c ) - 18574: 47a8 blx r5 + 17fc6: 2103 movs r1, #3 + 17fc8: 4620 mov r0, r4 + 17fca: 4d32 ldr r5, [pc, #200] ; (18094 ) + 17fcc: 47a8 blx r5 lv_style_set_radius(&styles->tabview_indic, LV_STATE_DEFAULT, LV_RADIUS_CIRCLE); - 18576: 4c2f ldr r4, [pc, #188] ; (18634 ) - 18578: 6820 ldr r0, [r4, #0] + 17fce: 4c2f ldr r4, [pc, #188] ; (1808c ) + 17fd0: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 1857a: f647 72ff movw r2, #32767 ; 0x7fff - 1857e: 2101 movs r1, #1 - 18580: 30ac adds r0, #172 ; 0xac - 18582: 47a8 blx r5 + 17fd2: f647 72ff movw r2, #32767 ; 0x7fff + 17fd6: 2101 movs r1, #1 + 17fd8: 30ac adds r0, #172 ; 0xac + 17fda: 47a8 blx r5 style_init_reset(&styles->tabview_page_scrl); - 18584: 6820 ldr r0, [r4, #0] - 18586: 30b0 adds r0, #176 ; 0xb0 - 18588: 4b2e ldr r3, [pc, #184] ; (18644 ) - 1858a: 4798 blx r3 + 17fdc: 6820 ldr r0, [r4, #0] + 17fde: 30b0 adds r0, #176 ; 0xb0 + 17fe0: 4b2e ldr r3, [pc, #184] ; (1809c ) + 17fe2: 4798 blx r3 lv_style_set_pad_top(&styles->tabview_page_scrl, LV_STATE_DEFAULT, PAD_DEF); - 1858c: 6824 ldr r4, [r4, #0] - 1858e: 34b0 adds r4, #176 ; 0xb0 - 18590: 2000 movs r0, #0 - 18592: 4b2e ldr r3, [pc, #184] ; (1864c ) - 18594: 4798 blx r3 - 18596: 2801 cmp r0, #1 - 18598: f240 8707 bls.w 193aa - 1859c: 2000 movs r0, #0 - 1859e: 4b26 ldr r3, [pc, #152] ; (18638 ) - 185a0: 4798 blx r3 - 185a2: ebc0 1000 rsb r0, r0, r0, lsl #4 - 185a6: 0040 lsls r0, r0, #1 - 185a8: 3050 adds r0, #80 ; 0x50 - 185aa: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 185ae: f280 8717 bge.w 193e0 - 185b2: 2201 movs r2, #1 + 17fe4: 6824 ldr r4, [r4, #0] + 17fe6: 34b0 adds r4, #176 ; 0xb0 + 17fe8: 2000 movs r0, #0 + 17fea: 4b2e ldr r3, [pc, #184] ; (180a4 ) + 17fec: 4798 blx r3 + 17fee: 2801 cmp r0, #1 + 17ff0: f240 8707 bls.w 18e02 + 17ff4: 2000 movs r0, #0 + 17ff6: 4b26 ldr r3, [pc, #152] ; (18090 ) + 17ff8: 4798 blx r3 + 17ffa: ebc0 1000 rsb r0, r0, r0, lsl #4 + 17ffe: 0040 lsls r0, r0, #1 + 18000: 3050 adds r0, #80 ; 0x50 + 18002: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 18006: f280 8717 bge.w 18e38 + 1800a: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) - 185b4: 2110 movs r1, #16 - 185b6: 4620 mov r0, r4 - 185b8: 4b20 ldr r3, [pc, #128] ; (1863c ) - 185ba: 4798 blx r3 + 1800c: 2110 movs r1, #16 + 1800e: 4620 mov r0, r4 + 18010: 4b20 ldr r3, [pc, #128] ; (18094 ) + 18012: 4798 blx r3 lv_style_set_pad_bottom(&styles->tabview_page_scrl, LV_STATE_DEFAULT, PAD_DEF); - 185bc: 4b1d ldr r3, [pc, #116] ; (18634 ) - 185be: 681c ldr r4, [r3, #0] - 185c0: 34b0 adds r4, #176 ; 0xb0 - 185c2: 2000 movs r0, #0 - 185c4: 4b21 ldr r3, [pc, #132] ; (1864c ) - 185c6: 4798 blx r3 - 185c8: 2801 cmp r0, #1 - 185ca: f240 8719 bls.w 19400 - 185ce: 2000 movs r0, #0 - 185d0: 4b19 ldr r3, [pc, #100] ; (18638 ) - 185d2: 4798 blx r3 - 185d4: ebc0 1000 rsb r0, r0, r0, lsl #4 - 185d8: 0040 lsls r0, r0, #1 - 185da: 3050 adds r0, #80 ; 0x50 - 185dc: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 185e0: f280 8729 bge.w 19436 - 185e4: 2201 movs r2, #1 + 18014: 4b1d ldr r3, [pc, #116] ; (1808c ) + 18016: 681c ldr r4, [r3, #0] + 18018: 34b0 adds r4, #176 ; 0xb0 + 1801a: 2000 movs r0, #0 + 1801c: 4b21 ldr r3, [pc, #132] ; (180a4 ) + 1801e: 4798 blx r3 + 18020: 2801 cmp r0, #1 + 18022: f240 8719 bls.w 18e58 + 18026: 2000 movs r0, #0 + 18028: 4b19 ldr r3, [pc, #100] ; (18090 ) + 1802a: 4798 blx r3 + 1802c: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18030: 0040 lsls r0, r0, #1 + 18032: 3050 adds r0, #80 ; 0x50 + 18034: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 18038: f280 8729 bge.w 18e8e + 1803c: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) - 185e6: 2111 movs r1, #17 - 185e8: 4620 mov r0, r4 - 185ea: 4b14 ldr r3, [pc, #80] ; (1863c ) - 185ec: 4798 blx r3 + 1803e: 2111 movs r1, #17 + 18040: 4620 mov r0, r4 + 18042: 4b14 ldr r3, [pc, #80] ; (18094 ) + 18044: 4798 blx r3 lv_style_set_pad_left(&styles->tabview_page_scrl, LV_STATE_DEFAULT, PAD_DEF); - 185ee: 4b11 ldr r3, [pc, #68] ; (18634 ) - 185f0: 681c ldr r4, [r3, #0] - 185f2: 34b0 adds r4, #176 ; 0xb0 - 185f4: 2000 movs r0, #0 - 185f6: 4b15 ldr r3, [pc, #84] ; (1864c ) - 185f8: 4798 blx r3 - 185fa: 2801 cmp r0, #1 - 185fc: f240 872b bls.w 19456 - 18600: 2000 movs r0, #0 - 18602: 4b0d ldr r3, [pc, #52] ; (18638 ) - 18604: 4798 blx r3 - 18606: ebc0 1000 rsb r0, r0, r0, lsl #4 - 1860a: 0040 lsls r0, r0, #1 - 1860c: 3050 adds r0, #80 ; 0x50 - 1860e: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 18612: f280 873b bge.w 1948c - 18616: 2201 movs r2, #1 + 18046: 4b11 ldr r3, [pc, #68] ; (1808c ) + 18048: 681c ldr r4, [r3, #0] + 1804a: 34b0 adds r4, #176 ; 0xb0 + 1804c: 2000 movs r0, #0 + 1804e: 4b15 ldr r3, [pc, #84] ; (180a4 ) + 18050: 4798 blx r3 + 18052: 2801 cmp r0, #1 + 18054: f240 872b bls.w 18eae + 18058: 2000 movs r0, #0 + 1805a: 4b0d ldr r3, [pc, #52] ; (18090 ) + 1805c: 4798 blx r3 + 1805e: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18062: 0040 lsls r0, r0, #1 + 18064: 3050 adds r0, #80 ; 0x50 + 18066: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 1806a: f280 873b bge.w 18ee4 + 1806e: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 18618: 2112 movs r1, #18 - 1861a: 4620 mov r0, r4 - 1861c: 4b07 ldr r3, [pc, #28] ; (1863c ) - 1861e: 4798 blx r3 + 18070: 2112 movs r1, #18 + 18072: 4620 mov r0, r4 + 18074: 4b07 ldr r3, [pc, #28] ; (18094 ) + 18076: 4798 blx r3 lv_style_set_pad_right(&styles->tabview_page_scrl, LV_STATE_DEFAULT, PAD_DEF); - 18620: 4b04 ldr r3, [pc, #16] ; (18634 ) - 18622: 681c ldr r4, [r3, #0] - 18624: 34b0 adds r4, #176 ; 0xb0 - 18626: 2000 movs r0, #0 - 18628: 4b08 ldr r3, [pc, #32] ; (1864c ) - 1862a: 4798 blx r3 - 1862c: 2801 cmp r0, #1 - 1862e: e00f b.n 18650 - 18630: 00006fcd .word 0x00006fcd - 18634: 20006bd8 .word 0x20006bd8 - 18638: 000114e5 .word 0x000114e5 - 1863c: 00006e89 .word 0x00006e89 - 18640: 00007241 .word 0x00007241 - 18644: 00015009 .word 0x00015009 - 18648: 00007111 .word 0x00007111 - 1864c: 00011501 .word 0x00011501 - 18650: f240 872c bls.w 194ac - 18654: 2000 movs r0, #0 - 18656: 4bbd ldr r3, [pc, #756] ; (1894c ) - 18658: 4798 blx r3 - 1865a: ebc0 1000 rsb r0, r0, r0, lsl #4 - 1865e: 0040 lsls r0, r0, #1 - 18660: 3050 adds r0, #80 ; 0x50 - 18662: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 18666: f280 873c bge.w 194e2 - 1866a: 2201 movs r2, #1 + 18078: 4b04 ldr r3, [pc, #16] ; (1808c ) + 1807a: 681c ldr r4, [r3, #0] + 1807c: 34b0 adds r4, #176 ; 0xb0 + 1807e: 2000 movs r0, #0 + 18080: 4b08 ldr r3, [pc, #32] ; (180a4 ) + 18082: 4798 blx r3 + 18084: 2801 cmp r0, #1 + 18086: e00f b.n 180a8 + 18088: 00006a25 .word 0x00006a25 + 1808c: 20006bd8 .word 0x20006bd8 + 18090: 00010f3d .word 0x00010f3d + 18094: 000068e1 .word 0x000068e1 + 18098: 00006c99 .word 0x00006c99 + 1809c: 00014a61 .word 0x00014a61 + 180a0: 00006b69 .word 0x00006b69 + 180a4: 00010f59 .word 0x00010f59 + 180a8: f240 872c bls.w 18f04 + 180ac: 2000 movs r0, #0 + 180ae: 4bbd ldr r3, [pc, #756] ; (183a4 ) + 180b0: 4798 blx r3 + 180b2: ebc0 1000 rsb r0, r0, r0, lsl #4 + 180b6: 0040 lsls r0, r0, #1 + 180b8: 3050 adds r0, #80 ; 0x50 + 180ba: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 180be: f280 873c bge.w 18f3a + 180c2: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 1866c: 2113 movs r1, #19 - 1866e: 4620 mov r0, r4 - 18670: 4bb7 ldr r3, [pc, #732] ; (18950 ) - 18672: 4798 blx r3 + 180c4: 2113 movs r1, #19 + 180c6: 4620 mov r0, r4 + 180c8: 4bb7 ldr r3, [pc, #732] ; (183a8 ) + 180ca: 4798 blx r3 lv_style_set_pad_inner(&styles->tabview_page_scrl, LV_STATE_DEFAULT, PAD_DEF); - 18674: 4bb7 ldr r3, [pc, #732] ; (18954 ) - 18676: 681c ldr r4, [r3, #0] - 18678: 34b0 adds r4, #176 ; 0xb0 - 1867a: 2000 movs r0, #0 - 1867c: 4bb6 ldr r3, [pc, #728] ; (18958 ) - 1867e: 4798 blx r3 - 18680: 2801 cmp r0, #1 - 18682: f240 873e bls.w 19502 - 18686: 2000 movs r0, #0 - 18688: 4bb0 ldr r3, [pc, #704] ; (1894c ) - 1868a: 4798 blx r3 - 1868c: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18690: 0040 lsls r0, r0, #1 - 18692: 3050 adds r0, #80 ; 0x50 - 18694: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 18698: f280 874e bge.w 19538 - 1869c: 2201 movs r2, #1 + 180cc: 4bb7 ldr r3, [pc, #732] ; (183ac ) + 180ce: 681c ldr r4, [r3, #0] + 180d0: 34b0 adds r4, #176 ; 0xb0 + 180d2: 2000 movs r0, #0 + 180d4: 4bb6 ldr r3, [pc, #728] ; (183b0 ) + 180d6: 4798 blx r3 + 180d8: 2801 cmp r0, #1 + 180da: f240 873e bls.w 18f5a + 180de: 2000 movs r0, #0 + 180e0: 4bb0 ldr r3, [pc, #704] ; (183a4 ) + 180e2: 4798 blx r3 + 180e4: ebc0 1000 rsb r0, r0, r0, lsl #4 + 180e8: 0040 lsls r0, r0, #1 + 180ea: 3050 adds r0, #80 ; 0x50 + 180ec: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 180f0: f280 874e bge.w 18f90 + 180f4: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_INNER, pad_inner, lv_style_int_t, _int, scalar) - 1869e: 2114 movs r1, #20 - 186a0: 4620 mov r0, r4 - 186a2: 4bab ldr r3, [pc, #684] ; (18950 ) - 186a4: 4798 blx r3 + 180f6: 2114 movs r1, #20 + 180f8: 4620 mov r0, r4 + 180fa: 4bab ldr r3, [pc, #684] ; (183a8 ) + 180fc: 4798 blx r3 style_init_reset(&styles->table_cell); - 186a6: 4cab ldr r4, [pc, #684] ; (18954 ) - 186a8: 6820 ldr r0, [r4, #0] - 186aa: 30a0 adds r0, #160 ; 0xa0 - 186ac: 4bab ldr r3, [pc, #684] ; (1895c ) - 186ae: 4798 blx r3 + 180fe: 4cab ldr r4, [pc, #684] ; (183ac ) + 18100: 6820 ldr r0, [r4, #0] + 18102: 30a0 adds r0, #160 ; 0xa0 + 18104: 4bab ldr r3, [pc, #684] ; (183b4 ) + 18106: 4798 blx r3 lv_style_set_border_color(&styles->table_cell, LV_STATE_DEFAULT, COLOR_BG_BORDER); - 186b0: 6820 ldr r0, [r4, #0] - 186b2: 6a23 ldr r3, [r4, #32] - 186b4: f013 0302 ands.w r3, r3, #2 - 186b8: bf14 ite ne - 186ba: 211a movne r1, #26 - 186bc: 2110 moveq r1, #16 - 186be: 2b00 cmp r3, #0 - 186c0: bf15 itete ne - 186c2: 2437 movne r4, #55 ; 0x37 - 186c4: 2422 moveq r4, #34 ; 0x22 - 186c6: 231c movne r3, #28 - 186c8: 2312 moveq r3, #18 - 186ca: f04f 0200 mov.w r2, #0 - 186ce: f363 0204 bfi r2, r3, #0, #5 - 186d2: f364 124a bfi r2, r4, #5, #6 - 186d6: f361 22cf bfi r2, r1, #11, #5 + 18108: 6820 ldr r0, [r4, #0] + 1810a: 6a23 ldr r3, [r4, #32] + 1810c: f013 0302 ands.w r3, r3, #2 + 18110: bf14 ite ne + 18112: 211a movne r1, #26 + 18114: 2110 moveq r1, #16 + 18116: 2b00 cmp r3, #0 + 18118: bf15 itete ne + 1811a: 2437 movne r4, #55 ; 0x37 + 1811c: 2422 moveq r4, #34 ; 0x22 + 1811e: 231c movne r3, #28 + 18120: 2312 moveq r3, #18 + 18122: f04f 0200 mov.w r2, #0 + 18126: f363 0204 bfi r2, r3, #0, #5 + 1812a: f364 124a bfi r2, r4, #5, #6 + 1812e: f361 22cf bfi r2, r1, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_COLOR, border_color, lv_color_t, _color, nonscalar) - 186da: 2139 movs r1, #57 ; 0x39 - 186dc: 30a0 adds r0, #160 ; 0xa0 - 186de: 4ba0 ldr r3, [pc, #640] ; (18960 ) - 186e0: 4798 blx r3 + 18132: 2139 movs r1, #57 ; 0x39 + 18134: 30a0 adds r0, #160 ; 0xa0 + 18136: 4ba0 ldr r3, [pc, #640] ; (183b8 ) + 18138: 4798 blx r3 lv_style_set_border_width(&styles->table_cell, LV_STATE_DEFAULT, 1); - 186e2: 4c9c ldr r4, [pc, #624] ; (18954 ) - 186e4: 6820 ldr r0, [r4, #0] + 1813a: 4c9c ldr r4, [pc, #624] ; (183ac ) + 1813c: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_WIDTH, border_width, lv_style_int_t, _int, scalar) - 186e6: 2201 movs r2, #1 - 186e8: 2130 movs r1, #48 ; 0x30 - 186ea: 30a0 adds r0, #160 ; 0xa0 - 186ec: 4d98 ldr r5, [pc, #608] ; (18950 ) - 186ee: 47a8 blx r5 + 1813e: 2201 movs r2, #1 + 18140: 2130 movs r1, #48 ; 0x30 + 18142: 30a0 adds r0, #160 ; 0xa0 + 18144: 4d98 ldr r5, [pc, #608] ; (183a8 ) + 18146: 47a8 blx r5 lv_style_set_border_side(&styles->table_cell, LV_STATE_DEFAULT, LV_BORDER_SIDE_TOP | LV_BORDER_SIDE_BOTTOM); - 186f0: 6820 ldr r0, [r4, #0] + 18148: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_SIDE, border_side, lv_border_side_t, _int, scalar) - 186f2: 2203 movs r2, #3 - 186f4: 2131 movs r1, #49 ; 0x31 - 186f6: 30a0 adds r0, #160 ; 0xa0 - 186f8: 47a8 blx r5 + 1814a: 2203 movs r2, #3 + 1814c: 2131 movs r1, #49 ; 0x31 + 1814e: 30a0 adds r0, #160 ; 0xa0 + 18150: 47a8 blx r5 lv_style_set_pad_left(&styles->table_cell, LV_STATE_DEFAULT, PAD_DEF); - 186fa: 6824 ldr r4, [r4, #0] - 186fc: 34a0 adds r4, #160 ; 0xa0 - 186fe: 2000 movs r0, #0 - 18700: 4b95 ldr r3, [pc, #596] ; (18958 ) - 18702: 4798 blx r3 - 18704: 2801 cmp r0, #1 - 18706: f240 8727 bls.w 19558 - 1870a: 2000 movs r0, #0 - 1870c: 4b8f ldr r3, [pc, #572] ; (1894c ) - 1870e: 4798 blx r3 - 18710: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18714: 0040 lsls r0, r0, #1 - 18716: 3050 adds r0, #80 ; 0x50 - 18718: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 1871c: f280 8737 bge.w 1958e - 18720: 2201 movs r2, #1 + 18152: 6824 ldr r4, [r4, #0] + 18154: 34a0 adds r4, #160 ; 0xa0 + 18156: 2000 movs r0, #0 + 18158: 4b95 ldr r3, [pc, #596] ; (183b0 ) + 1815a: 4798 blx r3 + 1815c: 2801 cmp r0, #1 + 1815e: f240 8727 bls.w 18fb0 + 18162: 2000 movs r0, #0 + 18164: 4b8f ldr r3, [pc, #572] ; (183a4 ) + 18166: 4798 blx r3 + 18168: ebc0 1000 rsb r0, r0, r0, lsl #4 + 1816c: 0040 lsls r0, r0, #1 + 1816e: 3050 adds r0, #80 ; 0x50 + 18170: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 18174: f280 8737 bge.w 18fe6 + 18178: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 18722: 2112 movs r1, #18 - 18724: 4620 mov r0, r4 - 18726: 4b8a ldr r3, [pc, #552] ; (18950 ) - 18728: 4798 blx r3 + 1817a: 2112 movs r1, #18 + 1817c: 4620 mov r0, r4 + 1817e: 4b8a ldr r3, [pc, #552] ; (183a8 ) + 18180: 4798 blx r3 lv_style_set_pad_right(&styles->table_cell, LV_STATE_DEFAULT, PAD_DEF); - 1872a: 4b8a ldr r3, [pc, #552] ; (18954 ) - 1872c: 681c ldr r4, [r3, #0] - 1872e: 34a0 adds r4, #160 ; 0xa0 - 18730: 2000 movs r0, #0 - 18732: 4b89 ldr r3, [pc, #548] ; (18958 ) - 18734: 4798 blx r3 - 18736: 2801 cmp r0, #1 - 18738: f240 8739 bls.w 195ae - 1873c: 2000 movs r0, #0 - 1873e: 4b83 ldr r3, [pc, #524] ; (1894c ) - 18740: 4798 blx r3 - 18742: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18746: 0040 lsls r0, r0, #1 - 18748: 3050 adds r0, #80 ; 0x50 - 1874a: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 1874e: f280 8749 bge.w 195e4 - 18752: 2201 movs r2, #1 + 18182: 4b8a ldr r3, [pc, #552] ; (183ac ) + 18184: 681c ldr r4, [r3, #0] + 18186: 34a0 adds r4, #160 ; 0xa0 + 18188: 2000 movs r0, #0 + 1818a: 4b89 ldr r3, [pc, #548] ; (183b0 ) + 1818c: 4798 blx r3 + 1818e: 2801 cmp r0, #1 + 18190: f240 8739 bls.w 19006 + 18194: 2000 movs r0, #0 + 18196: 4b83 ldr r3, [pc, #524] ; (183a4 ) + 18198: 4798 blx r3 + 1819a: ebc0 1000 rsb r0, r0, r0, lsl #4 + 1819e: 0040 lsls r0, r0, #1 + 181a0: 3050 adds r0, #80 ; 0x50 + 181a2: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 181a6: f280 8749 bge.w 1903c + 181aa: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 18754: 2113 movs r1, #19 - 18756: 4620 mov r0, r4 - 18758: 4b7d ldr r3, [pc, #500] ; (18950 ) - 1875a: 4798 blx r3 + 181ac: 2113 movs r1, #19 + 181ae: 4620 mov r0, r4 + 181b0: 4b7d ldr r3, [pc, #500] ; (183a8 ) + 181b2: 4798 blx r3 lv_style_set_pad_top(&styles->table_cell, LV_STATE_DEFAULT, PAD_DEF); - 1875c: 4b7d ldr r3, [pc, #500] ; (18954 ) - 1875e: 681c ldr r4, [r3, #0] - 18760: 34a0 adds r4, #160 ; 0xa0 - 18762: 2000 movs r0, #0 - 18764: 4b7c ldr r3, [pc, #496] ; (18958 ) - 18766: 4798 blx r3 - 18768: 2801 cmp r0, #1 - 1876a: f240 874b bls.w 19604 - 1876e: 2000 movs r0, #0 - 18770: 4b76 ldr r3, [pc, #472] ; (1894c ) - 18772: 4798 blx r3 - 18774: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18778: 0040 lsls r0, r0, #1 - 1877a: 3050 adds r0, #80 ; 0x50 - 1877c: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 18780: f280 8760 bge.w 19644 - 18784: 2201 movs r2, #1 + 181b4: 4b7d ldr r3, [pc, #500] ; (183ac ) + 181b6: 681c ldr r4, [r3, #0] + 181b8: 34a0 adds r4, #160 ; 0xa0 + 181ba: 2000 movs r0, #0 + 181bc: 4b7c ldr r3, [pc, #496] ; (183b0 ) + 181be: 4798 blx r3 + 181c0: 2801 cmp r0, #1 + 181c2: f240 874b bls.w 1905c + 181c6: 2000 movs r0, #0 + 181c8: 4b76 ldr r3, [pc, #472] ; (183a4 ) + 181ca: 4798 blx r3 + 181cc: ebc0 1000 rsb r0, r0, r0, lsl #4 + 181d0: 0040 lsls r0, r0, #1 + 181d2: 3050 adds r0, #80 ; 0x50 + 181d4: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 181d8: f280 8760 bge.w 1909c + 181dc: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) - 18786: 2110 movs r1, #16 - 18788: 4620 mov r0, r4 - 1878a: 4b71 ldr r3, [pc, #452] ; (18950 ) - 1878c: 4798 blx r3 + 181de: 2110 movs r1, #16 + 181e0: 4620 mov r0, r4 + 181e2: 4b71 ldr r3, [pc, #452] ; (183a8 ) + 181e4: 4798 blx r3 lv_style_set_pad_bottom(&styles->table_cell, LV_STATE_DEFAULT, PAD_DEF); - 1878e: 4b71 ldr r3, [pc, #452] ; (18954 ) - 18790: 681c ldr r4, [r3, #0] - 18792: 34a0 adds r4, #160 ; 0xa0 - 18794: 2000 movs r0, #0 - 18796: 4b70 ldr r3, [pc, #448] ; (18958 ) - 18798: 4798 blx r3 - 1879a: 2801 cmp r0, #1 - 1879c: f240 8762 bls.w 19664 - 187a0: 2000 movs r0, #0 - 187a2: 4b6a ldr r3, [pc, #424] ; (1894c ) - 187a4: 4798 blx r3 - 187a6: ebc0 1000 rsb r0, r0, r0, lsl #4 - 187aa: 0040 lsls r0, r0, #1 - 187ac: 3050 adds r0, #80 ; 0x50 - 187ae: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 187b2: f280 8772 bge.w 1969a - 187b6: 2201 movs r2, #1 + 181e6: 4b71 ldr r3, [pc, #452] ; (183ac ) + 181e8: 681c ldr r4, [r3, #0] + 181ea: 34a0 adds r4, #160 ; 0xa0 + 181ec: 2000 movs r0, #0 + 181ee: 4b70 ldr r3, [pc, #448] ; (183b0 ) + 181f0: 4798 blx r3 + 181f2: 2801 cmp r0, #1 + 181f4: f240 8762 bls.w 190bc + 181f8: 2000 movs r0, #0 + 181fa: 4b6a ldr r3, [pc, #424] ; (183a4 ) + 181fc: 4798 blx r3 + 181fe: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18202: 0040 lsls r0, r0, #1 + 18204: 3050 adds r0, #80 ; 0x50 + 18206: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 1820a: f280 8772 bge.w 190f2 + 1820e: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) - 187b8: 2111 movs r1, #17 - 187ba: 4620 mov r0, r4 - 187bc: 4b64 ldr r3, [pc, #400] ; (18950 ) - 187be: 4798 blx r3 + 18210: 2111 movs r1, #17 + 18212: 4620 mov r0, r4 + 18214: 4b64 ldr r3, [pc, #400] ; (183a8 ) + 18216: 4798 blx r3 theme.apply_xcb = theme_apply; - 187c0: 4c64 ldr r4, [pc, #400] ; (18954 ) - 187c2: 4b68 ldr r3, [pc, #416] ; (18964 ) - 187c4: 60a3 str r3, [r4, #8] + 18218: 4c64 ldr r4, [pc, #400] ; (183ac ) + 1821a: 4b68 ldr r3, [pc, #416] ; (183bc ) + 1821c: 60a3 str r3, [r4, #8] inited = true; - 187c6: 2301 movs r3, #1 - 187c8: 7123 strb r3, [r4, #4] + 1821e: 2301 movs r3, #1 + 18220: 7123 strb r3, [r4, #4] lv_obj_report_style_mod(NULL); - 187ca: 2000 movs r0, #0 - 187cc: 4b66 ldr r3, [pc, #408] ; (18968 ) - 187ce: 4798 blx r3 + 18222: 2000 movs r0, #0 + 18224: 4b66 ldr r3, [pc, #408] ; (183c0 ) + 18226: 4798 blx r3 } - 187d0: f104 0008 add.w r0, r4, #8 - 187d4: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + 18228: f104 0008 add.w r0, r4, #8 + 1822c: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} LV_GC_ROOT(_lv_theme_material_styles) = lv_mem_alloc(sizeof(theme_styles_t)); - 187d8: 20bc movs r0, #188 ; 0xbc - 187da: 4b64 ldr r3, [pc, #400] ; (1896c ) - 187dc: 4798 blx r3 - 187de: 4b64 ldr r3, [pc, #400] ; (18970 ) - 187e0: 6018 str r0, [r3, #0] + 18230: 20bc movs r0, #188 ; 0xbc + 18232: 4b64 ldr r3, [pc, #400] ; (183c4 ) + 18234: 4798 blx r3 + 18236: 4b64 ldr r3, [pc, #400] ; (183c8 ) + 18238: 6018 str r0, [r3, #0] styles = (theme_styles_t *)LV_GC_ROOT(_lv_theme_material_styles); - 187e2: 4b5c ldr r3, [pc, #368] ; (18954 ) - 187e4: 6018 str r0, [r3, #0] - 187e6: f7fe bc8e b.w 17106 + 1823a: 4b5c ldr r3, [pc, #368] ; (183ac ) + 1823c: 6018 str r0, [r3, #0] + 1823e: f7fe bc8e b.w 16b5e lv_style_set_text_color(&styles->chart_bg, LV_STATE_DEFAULT, IS_LIGHT ? COLOR_BG_TEXT_DIS : lv_color_hex(0xa1adbd)); - 187ea: 2315 movs r3, #21 - 187ec: 212a movs r1, #42 ; 0x2a - 187ee: 461c mov r4, r3 - 187f0: f7fe bcb3 b.w 1715a + 18242: 2315 movs r3, #21 + 18244: 212a movs r1, #42 ; 0x2a + 18246: 461c mov r4, r3 + 18248: f7fe bcb3 b.w 16bb2 lv_style_set_line_width(&styles->chart_series_bg, LV_STATE_DEFAULT, LV_DPX(1)); - 187f4: 2000 movs r0, #0 - 187f6: 4b55 ldr r3, [pc, #340] ; (1894c ) - 187f8: 4798 blx r3 - 187fa: 3050 adds r0, #80 ; 0x50 - 187fc: 4b5d ldr r3, [pc, #372] ; (18974 ) - 187fe: fb83 2300 smull r2, r3, r3, r0 - 18802: 17c2 asrs r2, r0, #31 - 18804: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18808: b212 sxth r2, r2 - 1880a: f7fe bcc2 b.w 17192 + 1824c: 2000 movs r0, #0 + 1824e: 4b55 ldr r3, [pc, #340] ; (183a4 ) + 18250: 4798 blx r3 + 18252: 3050 adds r0, #80 ; 0x50 + 18254: 4b5d ldr r3, [pc, #372] ; (183cc ) + 18256: fb83 2300 smull r2, r3, r3, r0 + 1825a: 17c2 asrs r2, r0, #31 + 1825c: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18260: b212 sxth r2, r2 + 18262: f7fe bcc2 b.w 16bea lv_style_set_line_dash_width(&styles->chart_series_bg, LV_STATE_DEFAULT, LV_DPX(10)); - 1880e: 2000 movs r0, #0 - 18810: 4b4e ldr r3, [pc, #312] ; (1894c ) - 18812: 4798 blx r3 - 18814: eb00 0080 add.w r0, r0, r0, lsl #2 - 18818: 0040 lsls r0, r0, #1 - 1881a: 3050 adds r0, #80 ; 0x50 - 1881c: 4b55 ldr r3, [pc, #340] ; (18974 ) - 1881e: fb83 2300 smull r2, r3, r3, r0 - 18822: 17c2 asrs r2, r0, #31 - 18824: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18828: b212 sxth r2, r2 - 1882a: f7fe bcc5 b.w 171b8 + 18266: 2000 movs r0, #0 + 18268: 4b4e ldr r3, [pc, #312] ; (183a4 ) + 1826a: 4798 blx r3 + 1826c: eb00 0080 add.w r0, r0, r0, lsl #2 + 18270: 0040 lsls r0, r0, #1 + 18272: 3050 adds r0, #80 ; 0x50 + 18274: 4b55 ldr r3, [pc, #340] ; (183cc ) + 18276: fb83 2300 smull r2, r3, r3, r0 + 1827a: 17c2 asrs r2, r0, #31 + 1827c: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18280: b212 sxth r2, r2 + 18282: f7fe bcc5 b.w 16c10 lv_style_set_line_dash_gap(&styles->chart_series_bg, LV_STATE_DEFAULT, LV_DPX(10)); - 1882e: 2000 movs r0, #0 - 18830: 4b46 ldr r3, [pc, #280] ; (1894c ) - 18832: 4798 blx r3 - 18834: eb00 0080 add.w r0, r0, r0, lsl #2 - 18838: 0040 lsls r0, r0, #1 - 1883a: 3050 adds r0, #80 ; 0x50 - 1883c: 4b4d ldr r3, [pc, #308] ; (18974 ) - 1883e: fb83 2300 smull r2, r3, r3, r0 - 18842: 17c2 asrs r2, r0, #31 - 18844: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18848: b212 sxth r2, r2 - 1884a: f7fe bcc8 b.w 171de + 18286: 2000 movs r0, #0 + 18288: 4b46 ldr r3, [pc, #280] ; (183a4 ) + 1828a: 4798 blx r3 + 1828c: eb00 0080 add.w r0, r0, r0, lsl #2 + 18290: 0040 lsls r0, r0, #1 + 18292: 3050 adds r0, #80 ; 0x50 + 18294: 4b4d ldr r3, [pc, #308] ; (183cc ) + 18296: fb83 2300 smull r2, r3, r3, r0 + 1829a: 17c2 asrs r2, r0, #31 + 1829c: ebc2 12a3 rsb r2, r2, r3, asr #6 + 182a0: b212 sxth r2, r2 + 182a2: f7fe bcc8 b.w 16c36 lv_style_set_line_width(&styles->chart_series, LV_STATE_DEFAULT, LV_DPX(3)); - 1884e: 2000 movs r0, #0 - 18850: 4b3e ldr r3, [pc, #248] ; (1894c ) - 18852: 4798 blx r3 - 18854: eb00 0040 add.w r0, r0, r0, lsl #1 - 18858: 3050 adds r0, #80 ; 0x50 - 1885a: 4b46 ldr r3, [pc, #280] ; (18974 ) - 1885c: fb83 2300 smull r2, r3, r3, r0 - 18860: 17c2 asrs r2, r0, #31 - 18862: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18866: b212 sxth r2, r2 - 18868: f7fe bce9 b.w 1723e + 182a6: 2000 movs r0, #0 + 182a8: 4b3e ldr r3, [pc, #248] ; (183a4 ) + 182aa: 4798 blx r3 + 182ac: eb00 0040 add.w r0, r0, r0, lsl #1 + 182b0: 3050 adds r0, #80 ; 0x50 + 182b2: 4b46 ldr r3, [pc, #280] ; (183cc ) + 182b4: fb83 2300 smull r2, r3, r3, r0 + 182b8: 17c2 asrs r2, r0, #31 + 182ba: ebc2 12a3 rsb r2, r2, r3, asr #6 + 182be: b212 sxth r2, r2 + 182c0: f7fe bce9 b.w 16c96 lv_style_set_size(&styles->chart_series, LV_STATE_DEFAULT, LV_DPX(4)); - 1886c: 2000 movs r0, #0 - 1886e: 4b37 ldr r3, [pc, #220] ; (1894c ) - 18870: 4798 blx r3 - 18872: 3014 adds r0, #20 - 18874: 0080 lsls r0, r0, #2 - 18876: 4b3f ldr r3, [pc, #252] ; (18974 ) - 18878: fb83 2300 smull r2, r3, r3, r0 - 1887c: 17c2 asrs r2, r0, #31 - 1887e: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18882: b212 sxth r2, r2 - 18884: f7fe bcec b.w 17260 + 182c4: 2000 movs r0, #0 + 182c6: 4b37 ldr r3, [pc, #220] ; (183a4 ) + 182c8: 4798 blx r3 + 182ca: 3014 adds r0, #20 + 182cc: 0080 lsls r0, r0, #2 + 182ce: 4b3f ldr r3, [pc, #252] ; (183cc ) + 182d0: fb83 2300 smull r2, r3, r3, r0 + 182d4: 17c2 asrs r2, r0, #31 + 182d6: ebc2 12a3 rsb r2, r2, r3, asr #6 + 182da: b212 sxth r2, r2 + 182dc: f7fe bcec b.w 16cb8 lv_style_set_pad_inner(&styles->chart_series, LV_STATE_DEFAULT, LV_DPX(2)); /*Space between columns*/ - 18888: 2000 movs r0, #0 - 1888a: 4b30 ldr r3, [pc, #192] ; (1894c ) - 1888c: 4798 blx r3 - 1888e: 3028 adds r0, #40 ; 0x28 - 18890: 0040 lsls r0, r0, #1 - 18892: 4b38 ldr r3, [pc, #224] ; (18974 ) - 18894: fb83 2300 smull r2, r3, r3, r0 - 18898: 17c2 asrs r2, r0, #31 - 1889a: ebc2 12a3 rsb r2, r2, r3, asr #6 - 1889e: b212 sxth r2, r2 - 188a0: f7fe bcef b.w 17282 + 182e0: 2000 movs r0, #0 + 182e2: 4b30 ldr r3, [pc, #192] ; (183a4 ) + 182e4: 4798 blx r3 + 182e6: 3028 adds r0, #40 ; 0x28 + 182e8: 0040 lsls r0, r0, #1 + 182ea: 4b38 ldr r3, [pc, #224] ; (183cc ) + 182ec: fb83 2300 smull r2, r3, r3, r0 + 182f0: 17c2 asrs r2, r0, #31 + 182f2: ebc2 12a3 rsb r2, r2, r3, asr #6 + 182f6: b212 sxth r2, r2 + 182f8: f7fe bcef b.w 16cda lv_style_set_radius(&styles->chart_series, LV_STATE_DEFAULT, LV_DPX(1)); - 188a4: 2000 movs r0, #0 - 188a6: 4b29 ldr r3, [pc, #164] ; (1894c ) - 188a8: 4798 blx r3 - 188aa: 3050 adds r0, #80 ; 0x50 - 188ac: 4b31 ldr r3, [pc, #196] ; (18974 ) - 188ae: fb83 2300 smull r2, r3, r3, r0 - 188b2: 17c2 asrs r2, r0, #31 - 188b4: ebc2 12a3 rsb r2, r2, r3, asr #6 - 188b8: b212 sxth r2, r2 - 188ba: f7fe bcf2 b.w 172a2 + 182fc: 2000 movs r0, #0 + 182fe: 4b29 ldr r3, [pc, #164] ; (183a4 ) + 18300: 4798 blx r3 + 18302: 3050 adds r0, #80 ; 0x50 + 18304: 4b31 ldr r3, [pc, #196] ; (183cc ) + 18306: fb83 2300 smull r2, r3, r3, r0 + 1830a: 17c2 asrs r2, r0, #31 + 1830c: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18310: b212 sxth r2, r2 + 18312: f7fe bcf2 b.w 16cfa lv_style_set_pad_top(&styles->calendar_header, LV_STATE_DEFAULT, PAD_DEF); - 188be: 2000 movs r0, #0 - 188c0: 4b22 ldr r3, [pc, #136] ; (1894c ) - 188c2: 4798 blx r3 - 188c4: ebc0 1000 rsb r0, r0, r0, lsl #4 - 188c8: 3050 adds r0, #80 ; 0x50 - 188ca: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 188ce: da02 bge.n 188d6 - 188d0: 2201 movs r2, #1 - 188d2: f7fe bd03 b.w 172dc - 188d6: 2000 movs r0, #0 - 188d8: 4b1c ldr r3, [pc, #112] ; (1894c ) - 188da: 4798 blx r3 - 188dc: ebc0 1000 rsb r0, r0, r0, lsl #4 - 188e0: 3050 adds r0, #80 ; 0x50 - 188e2: 4b24 ldr r3, [pc, #144] ; (18974 ) - 188e4: fb83 2300 smull r2, r3, r3, r0 - 188e8: 17c2 asrs r2, r0, #31 - 188ea: ebc2 12a3 rsb r2, r2, r3, asr #6 - 188ee: b212 sxth r2, r2 - 188f0: f7fe bcf4 b.w 172dc - 188f4: 2000 movs r0, #0 - 188f6: 4b15 ldr r3, [pc, #84] ; (1894c ) - 188f8: 4798 blx r3 - 188fa: ebc0 1000 rsb r0, r0, r0, lsl #4 - 188fe: 0040 lsls r0, r0, #1 - 18900: 3050 adds r0, #80 ; 0x50 - 18902: 4b1c ldr r3, [pc, #112] ; (18974 ) - 18904: fb83 2300 smull r2, r3, r3, r0 - 18908: 17c2 asrs r2, r0, #31 - 1890a: ebc2 12a3 rsb r2, r2, r3, asr #6 - 1890e: b212 sxth r2, r2 - 18910: f7fe bce4 b.w 172dc + 18316: 2000 movs r0, #0 + 18318: 4b22 ldr r3, [pc, #136] ; (183a4 ) + 1831a: 4798 blx r3 + 1831c: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18320: 3050 adds r0, #80 ; 0x50 + 18322: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 18326: da02 bge.n 1832e + 18328: 2201 movs r2, #1 + 1832a: f7fe bd03 b.w 16d34 + 1832e: 2000 movs r0, #0 + 18330: 4b1c ldr r3, [pc, #112] ; (183a4 ) + 18332: 4798 blx r3 + 18334: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18338: 3050 adds r0, #80 ; 0x50 + 1833a: 4b24 ldr r3, [pc, #144] ; (183cc ) + 1833c: fb83 2300 smull r2, r3, r3, r0 + 18340: 17c2 asrs r2, r0, #31 + 18342: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18346: b212 sxth r2, r2 + 18348: f7fe bcf4 b.w 16d34 + 1834c: 2000 movs r0, #0 + 1834e: 4b15 ldr r3, [pc, #84] ; (183a4 ) + 18350: 4798 blx r3 + 18352: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18356: 0040 lsls r0, r0, #1 + 18358: 3050 adds r0, #80 ; 0x50 + 1835a: 4b1c ldr r3, [pc, #112] ; (183cc ) + 1835c: fb83 2300 smull r2, r3, r3, r0 + 18360: 17c2 asrs r2, r0, #31 + 18362: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18366: b212 sxth r2, r2 + 18368: f7fe bce4 b.w 16d34 lv_style_set_pad_left(&styles->calendar_header, LV_STATE_DEFAULT, PAD_DEF); - 18914: 2000 movs r0, #0 - 18916: 4b0d ldr r3, [pc, #52] ; (1894c ) - 18918: 4798 blx r3 - 1891a: ebc0 1000 rsb r0, r0, r0, lsl #4 - 1891e: 3050 adds r0, #80 ; 0x50 - 18920: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 18924: da02 bge.n 1892c - 18926: 2201 movs r2, #1 - 18928: f7fe bcf1 b.w 1730e - 1892c: 2000 movs r0, #0 - 1892e: 4b07 ldr r3, [pc, #28] ; (1894c ) - 18930: 4798 blx r3 - 18932: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18936: 3050 adds r0, #80 ; 0x50 - 18938: 4b0e ldr r3, [pc, #56] ; (18974 ) - 1893a: fb83 2300 smull r2, r3, r3, r0 - 1893e: 17c2 asrs r2, r0, #31 - 18940: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18944: b212 sxth r2, r2 - 18946: f7fe bce2 b.w 1730e - 1894a: bf00 nop - 1894c: 000114e5 .word 0x000114e5 - 18950: 00006e89 .word 0x00006e89 - 18954: 20006bd8 .word 0x20006bd8 - 18958: 00011501 .word 0x00011501 - 1895c: 00015009 .word 0x00015009 - 18960: 00006fcd .word 0x00006fcd - 18964: 000147a1 .word 0x000147a1 - 18968: 000042dd .word 0x000042dd - 1896c: 00012985 .word 0x00012985 - 18970: 20006d64 .word 0x20006d64 - 18974: 66666667 .word 0x66666667 - 18978: 2000 movs r0, #0 - 1897a: 4bc7 ldr r3, [pc, #796] ; (18c98 ) - 1897c: 4798 blx r3 - 1897e: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18982: 0040 lsls r0, r0, #1 - 18984: 3050 adds r0, #80 ; 0x50 - 18986: 4bc5 ldr r3, [pc, #788] ; (18c9c ) - 18988: fb83 2300 smull r2, r3, r3, r0 - 1898c: 17c2 asrs r2, r0, #31 - 1898e: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18992: b212 sxth r2, r2 - 18994: f7fe bcbb b.w 1730e + 1836c: 2000 movs r0, #0 + 1836e: 4b0d ldr r3, [pc, #52] ; (183a4 ) + 18370: 4798 blx r3 + 18372: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18376: 3050 adds r0, #80 ; 0x50 + 18378: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 1837c: da02 bge.n 18384 + 1837e: 2201 movs r2, #1 + 18380: f7fe bcf1 b.w 16d66 + 18384: 2000 movs r0, #0 + 18386: 4b07 ldr r3, [pc, #28] ; (183a4 ) + 18388: 4798 blx r3 + 1838a: ebc0 1000 rsb r0, r0, r0, lsl #4 + 1838e: 3050 adds r0, #80 ; 0x50 + 18390: 4b0e ldr r3, [pc, #56] ; (183cc ) + 18392: fb83 2300 smull r2, r3, r3, r0 + 18396: 17c2 asrs r2, r0, #31 + 18398: ebc2 12a3 rsb r2, r2, r3, asr #6 + 1839c: b212 sxth r2, r2 + 1839e: f7fe bce2 b.w 16d66 + 183a2: bf00 nop + 183a4: 00010f3d .word 0x00010f3d + 183a8: 000068e1 .word 0x000068e1 + 183ac: 20006bd8 .word 0x20006bd8 + 183b0: 00010f59 .word 0x00010f59 + 183b4: 00014a61 .word 0x00014a61 + 183b8: 00006a25 .word 0x00006a25 + 183bc: 000141f9 .word 0x000141f9 + 183c0: 00003c55 .word 0x00003c55 + 183c4: 000123dd .word 0x000123dd + 183c8: 20006d48 .word 0x20006d48 + 183cc: 66666667 .word 0x66666667 + 183d0: 2000 movs r0, #0 + 183d2: 4bc7 ldr r3, [pc, #796] ; (186f0 ) + 183d4: 4798 blx r3 + 183d6: ebc0 1000 rsb r0, r0, r0, lsl #4 + 183da: 0040 lsls r0, r0, #1 + 183dc: 3050 adds r0, #80 ; 0x50 + 183de: 4bc5 ldr r3, [pc, #788] ; (186f4 ) + 183e0: fb83 2300 smull r2, r3, r3, r0 + 183e4: 17c2 asrs r2, r0, #31 + 183e6: ebc2 12a3 rsb r2, r2, r3, asr #6 + 183ea: b212 sxth r2, r2 + 183ec: f7fe bcbb b.w 16d66 lv_style_set_pad_right(&styles->calendar_header, LV_STATE_DEFAULT, PAD_DEF); - 18998: 2000 movs r0, #0 - 1899a: 4bbf ldr r3, [pc, #764] ; (18c98 ) - 1899c: 4798 blx r3 - 1899e: ebc0 1000 rsb r0, r0, r0, lsl #4 - 189a2: 3050 adds r0, #80 ; 0x50 - 189a4: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 189a8: da02 bge.n 189b0 - 189aa: 2201 movs r2, #1 - 189ac: f7fe bcc8 b.w 17340 - 189b0: 2000 movs r0, #0 - 189b2: 4bb9 ldr r3, [pc, #740] ; (18c98 ) - 189b4: 4798 blx r3 - 189b6: ebc0 1000 rsb r0, r0, r0, lsl #4 - 189ba: 3050 adds r0, #80 ; 0x50 - 189bc: 4bb7 ldr r3, [pc, #732] ; (18c9c ) - 189be: fb83 2300 smull r2, r3, r3, r0 - 189c2: 17c2 asrs r2, r0, #31 - 189c4: ebc2 12a3 rsb r2, r2, r3, asr #6 - 189c8: b212 sxth r2, r2 - 189ca: f7fe bcb9 b.w 17340 - 189ce: 2000 movs r0, #0 - 189d0: 4bb1 ldr r3, [pc, #708] ; (18c98 ) - 189d2: 4798 blx r3 - 189d4: ebc0 1000 rsb r0, r0, r0, lsl #4 - 189d8: 0040 lsls r0, r0, #1 - 189da: 3050 adds r0, #80 ; 0x50 - 189dc: 4baf ldr r3, [pc, #700] ; (18c9c ) - 189de: fb83 2300 smull r2, r3, r3, r0 - 189e2: 17c2 asrs r2, r0, #31 - 189e4: ebc2 12a3 rsb r2, r2, r3, asr #6 - 189e8: b212 sxth r2, r2 - 189ea: f7fe bca9 b.w 17340 + 183f0: 2000 movs r0, #0 + 183f2: 4bbf ldr r3, [pc, #764] ; (186f0 ) + 183f4: 4798 blx r3 + 183f6: ebc0 1000 rsb r0, r0, r0, lsl #4 + 183fa: 3050 adds r0, #80 ; 0x50 + 183fc: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 18400: da02 bge.n 18408 + 18402: 2201 movs r2, #1 + 18404: f7fe bcc8 b.w 16d98 + 18408: 2000 movs r0, #0 + 1840a: 4bb9 ldr r3, [pc, #740] ; (186f0 ) + 1840c: 4798 blx r3 + 1840e: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18412: 3050 adds r0, #80 ; 0x50 + 18414: 4bb7 ldr r3, [pc, #732] ; (186f4 ) + 18416: fb83 2300 smull r2, r3, r3, r0 + 1841a: 17c2 asrs r2, r0, #31 + 1841c: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18420: b212 sxth r2, r2 + 18422: f7fe bcb9 b.w 16d98 + 18426: 2000 movs r0, #0 + 18428: 4bb1 ldr r3, [pc, #708] ; (186f0 ) + 1842a: 4798 blx r3 + 1842c: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18430: 0040 lsls r0, r0, #1 + 18432: 3050 adds r0, #80 ; 0x50 + 18434: 4baf ldr r3, [pc, #700] ; (186f4 ) + 18436: fb83 2300 smull r2, r3, r3, r0 + 1843a: 17c2 asrs r2, r0, #31 + 1843c: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18440: b212 sxth r2, r2 + 18442: f7fe bca9 b.w 16d98 lv_style_set_pad_bottom(&styles->calendar_header, LV_STATE_DEFAULT, PAD_DEF); - 189ee: 2000 movs r0, #0 - 189f0: 4ba9 ldr r3, [pc, #676] ; (18c98 ) - 189f2: 4798 blx r3 - 189f4: ebc0 1000 rsb r0, r0, r0, lsl #4 - 189f8: 3050 adds r0, #80 ; 0x50 - 189fa: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 189fe: da02 bge.n 18a06 - 18a00: 2201 movs r2, #1 - 18a02: f7fe bcb6 b.w 17372 - 18a06: 2000 movs r0, #0 - 18a08: 4ba3 ldr r3, [pc, #652] ; (18c98 ) - 18a0a: 4798 blx r3 - 18a0c: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18a10: 3050 adds r0, #80 ; 0x50 - 18a12: 4ba2 ldr r3, [pc, #648] ; (18c9c ) - 18a14: fb83 2300 smull r2, r3, r3, r0 - 18a18: 17c2 asrs r2, r0, #31 - 18a1a: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18a1e: b212 sxth r2, r2 - 18a20: f7fe bca7 b.w 17372 - 18a24: 2000 movs r0, #0 - 18a26: 4b9c ldr r3, [pc, #624] ; (18c98 ) - 18a28: 4798 blx r3 - 18a2a: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18a2e: 0040 lsls r0, r0, #1 - 18a30: 3050 adds r0, #80 ; 0x50 - 18a32: 4b9a ldr r3, [pc, #616] ; (18c9c ) - 18a34: fb83 2300 smull r2, r3, r3, r0 - 18a38: 17c2 asrs r2, r0, #31 - 18a3a: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18a3e: b212 sxth r2, r2 - 18a40: f7fe bc97 b.w 17372 + 18446: 2000 movs r0, #0 + 18448: 4ba9 ldr r3, [pc, #676] ; (186f0 ) + 1844a: 4798 blx r3 + 1844c: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18450: 3050 adds r0, #80 ; 0x50 + 18452: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 18456: da02 bge.n 1845e + 18458: 2201 movs r2, #1 + 1845a: f7fe bcb6 b.w 16dca + 1845e: 2000 movs r0, #0 + 18460: 4ba3 ldr r3, [pc, #652] ; (186f0 ) + 18462: 4798 blx r3 + 18464: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18468: 3050 adds r0, #80 ; 0x50 + 1846a: 4ba2 ldr r3, [pc, #648] ; (186f4 ) + 1846c: fb83 2300 smull r2, r3, r3, r0 + 18470: 17c2 asrs r2, r0, #31 + 18472: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18476: b212 sxth r2, r2 + 18478: f7fe bca7 b.w 16dca + 1847c: 2000 movs r0, #0 + 1847e: 4b9c ldr r3, [pc, #624] ; (186f0 ) + 18480: 4798 blx r3 + 18482: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18486: 0040 lsls r0, r0, #1 + 18488: 3050 adds r0, #80 ; 0x50 + 1848a: 4b9a ldr r3, [pc, #616] ; (186f4 ) + 1848c: fb83 2300 smull r2, r3, r3, r0 + 18490: 17c2 asrs r2, r0, #31 + 18492: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18496: b212 sxth r2, r2 + 18498: f7fe bc97 b.w 16dca lv_style_set_text_color(&styles->calendar_daynames, LV_STATE_DEFAULT, IS_LIGHT ? lv_color_hex(0x31404f) : lv_color_hex3(0xeee)); - 18a44: 2306 movs r3, #6 - 18a46: 2110 movs r1, #16 - 18a48: 2409 movs r4, #9 - 18a4a: f7fe bcdc b.w 17406 + 1849c: 2306 movs r3, #6 + 1849e: 2110 movs r1, #16 + 184a0: 2409 movs r4, #9 + 184a2: f7fe bcdc b.w 16e5e lv_style_set_pad_left(&styles->calendar_daynames, LV_STATE_DEFAULT, PAD_DEF); - 18a4e: 2000 movs r0, #0 - 18a50: 4b91 ldr r3, [pc, #580] ; (18c98 ) - 18a52: 4798 blx r3 - 18a54: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18a58: 3050 adds r0, #80 ; 0x50 - 18a5a: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 18a5e: da02 bge.n 18a66 - 18a60: 2201 movs r2, #1 - 18a62: f7fe bcf1 b.w 17448 - 18a66: 2000 movs r0, #0 - 18a68: 4b8b ldr r3, [pc, #556] ; (18c98 ) - 18a6a: 4798 blx r3 - 18a6c: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18a70: 3050 adds r0, #80 ; 0x50 - 18a72: 4b8a ldr r3, [pc, #552] ; (18c9c ) - 18a74: fb83 2300 smull r2, r3, r3, r0 - 18a78: 17c2 asrs r2, r0, #31 - 18a7a: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18a7e: b212 sxth r2, r2 - 18a80: f7fe bce2 b.w 17448 - 18a84: 2000 movs r0, #0 - 18a86: 4b84 ldr r3, [pc, #528] ; (18c98 ) - 18a88: 4798 blx r3 - 18a8a: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18a8e: 0040 lsls r0, r0, #1 - 18a90: 3050 adds r0, #80 ; 0x50 - 18a92: 4b82 ldr r3, [pc, #520] ; (18c9c ) - 18a94: fb83 2300 smull r2, r3, r3, r0 - 18a98: 17c2 asrs r2, r0, #31 - 18a9a: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18a9e: b212 sxth r2, r2 - 18aa0: f7fe bcd2 b.w 17448 + 184a6: 2000 movs r0, #0 + 184a8: 4b91 ldr r3, [pc, #580] ; (186f0 ) + 184aa: 4798 blx r3 + 184ac: ebc0 1000 rsb r0, r0, r0, lsl #4 + 184b0: 3050 adds r0, #80 ; 0x50 + 184b2: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 184b6: da02 bge.n 184be + 184b8: 2201 movs r2, #1 + 184ba: f7fe bcf1 b.w 16ea0 + 184be: 2000 movs r0, #0 + 184c0: 4b8b ldr r3, [pc, #556] ; (186f0 ) + 184c2: 4798 blx r3 + 184c4: ebc0 1000 rsb r0, r0, r0, lsl #4 + 184c8: 3050 adds r0, #80 ; 0x50 + 184ca: 4b8a ldr r3, [pc, #552] ; (186f4 ) + 184cc: fb83 2300 smull r2, r3, r3, r0 + 184d0: 17c2 asrs r2, r0, #31 + 184d2: ebc2 12a3 rsb r2, r2, r3, asr #6 + 184d6: b212 sxth r2, r2 + 184d8: f7fe bce2 b.w 16ea0 + 184dc: 2000 movs r0, #0 + 184de: 4b84 ldr r3, [pc, #528] ; (186f0 ) + 184e0: 4798 blx r3 + 184e2: ebc0 1000 rsb r0, r0, r0, lsl #4 + 184e6: 0040 lsls r0, r0, #1 + 184e8: 3050 adds r0, #80 ; 0x50 + 184ea: 4b82 ldr r3, [pc, #520] ; (186f4 ) + 184ec: fb83 2300 smull r2, r3, r3, r0 + 184f0: 17c2 asrs r2, r0, #31 + 184f2: ebc2 12a3 rsb r2, r2, r3, asr #6 + 184f6: b212 sxth r2, r2 + 184f8: f7fe bcd2 b.w 16ea0 lv_style_set_pad_right(&styles->calendar_daynames, LV_STATE_DEFAULT, PAD_DEF); - 18aa4: 2000 movs r0, #0 - 18aa6: 4b7c ldr r3, [pc, #496] ; (18c98 ) - 18aa8: 4798 blx r3 - 18aaa: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18aae: 3050 adds r0, #80 ; 0x50 - 18ab0: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 18ab4: da02 bge.n 18abc - 18ab6: 2201 movs r2, #1 - 18ab8: f7fe bcdf b.w 1747a - 18abc: 2000 movs r0, #0 - 18abe: 4b76 ldr r3, [pc, #472] ; (18c98 ) - 18ac0: 4798 blx r3 - 18ac2: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18ac6: 3050 adds r0, #80 ; 0x50 - 18ac8: 4b74 ldr r3, [pc, #464] ; (18c9c ) - 18aca: fb83 2300 smull r2, r3, r3, r0 - 18ace: 17c2 asrs r2, r0, #31 - 18ad0: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18ad4: b212 sxth r2, r2 - 18ad6: f7fe bcd0 b.w 1747a - 18ada: 2000 movs r0, #0 - 18adc: 4b6e ldr r3, [pc, #440] ; (18c98 ) - 18ade: 4798 blx r3 - 18ae0: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18ae4: 0040 lsls r0, r0, #1 - 18ae6: 3050 adds r0, #80 ; 0x50 - 18ae8: 4b6c ldr r3, [pc, #432] ; (18c9c ) - 18aea: fb83 2300 smull r2, r3, r3, r0 - 18aee: 17c2 asrs r2, r0, #31 - 18af0: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18af4: b212 sxth r2, r2 - 18af6: f7fe bcc0 b.w 1747a + 184fc: 2000 movs r0, #0 + 184fe: 4b7c ldr r3, [pc, #496] ; (186f0 ) + 18500: 4798 blx r3 + 18502: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18506: 3050 adds r0, #80 ; 0x50 + 18508: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 1850c: da02 bge.n 18514 + 1850e: 2201 movs r2, #1 + 18510: f7fe bcdf b.w 16ed2 + 18514: 2000 movs r0, #0 + 18516: 4b76 ldr r3, [pc, #472] ; (186f0 ) + 18518: 4798 blx r3 + 1851a: ebc0 1000 rsb r0, r0, r0, lsl #4 + 1851e: 3050 adds r0, #80 ; 0x50 + 18520: 4b74 ldr r3, [pc, #464] ; (186f4 ) + 18522: fb83 2300 smull r2, r3, r3, r0 + 18526: 17c2 asrs r2, r0, #31 + 18528: ebc2 12a3 rsb r2, r2, r3, asr #6 + 1852c: b212 sxth r2, r2 + 1852e: f7fe bcd0 b.w 16ed2 + 18532: 2000 movs r0, #0 + 18534: 4b6e ldr r3, [pc, #440] ; (186f0 ) + 18536: 4798 blx r3 + 18538: ebc0 1000 rsb r0, r0, r0, lsl #4 + 1853c: 0040 lsls r0, r0, #1 + 1853e: 3050 adds r0, #80 ; 0x50 + 18540: 4b6c ldr r3, [pc, #432] ; (186f4 ) + 18542: fb83 2300 smull r2, r3, r3, r0 + 18546: 17c2 asrs r2, r0, #31 + 18548: ebc2 12a3 rsb r2, r2, r3, asr #6 + 1854c: b212 sxth r2, r2 + 1854e: f7fe bcc0 b.w 16ed2 lv_style_set_pad_bottom(&styles->calendar_daynames, LV_STATE_DEFAULT, PAD_DEF); - 18afa: 2000 movs r0, #0 - 18afc: 4b66 ldr r3, [pc, #408] ; (18c98 ) - 18afe: 4798 blx r3 - 18b00: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18b04: 3050 adds r0, #80 ; 0x50 - 18b06: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 18b0a: da02 bge.n 18b12 - 18b0c: 2201 movs r2, #1 - 18b0e: f7fe bccd b.w 174ac - 18b12: 2000 movs r0, #0 - 18b14: 4b60 ldr r3, [pc, #384] ; (18c98 ) - 18b16: 4798 blx r3 - 18b18: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18b1c: 3050 adds r0, #80 ; 0x50 - 18b1e: 4b5f ldr r3, [pc, #380] ; (18c9c ) - 18b20: fb83 2300 smull r2, r3, r3, r0 - 18b24: 17c2 asrs r2, r0, #31 - 18b26: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18b2a: b212 sxth r2, r2 - 18b2c: f7fe bcbe b.w 174ac - 18b30: 2000 movs r0, #0 - 18b32: 4b59 ldr r3, [pc, #356] ; (18c98 ) - 18b34: 4798 blx r3 - 18b36: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18b3a: 0040 lsls r0, r0, #1 - 18b3c: 3050 adds r0, #80 ; 0x50 - 18b3e: 4b57 ldr r3, [pc, #348] ; (18c9c ) - 18b40: fb83 2300 smull r2, r3, r3, r0 - 18b44: 17c2 asrs r2, r0, #31 - 18b46: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18b4a: b212 sxth r2, r2 - 18b4c: f7fe bcae b.w 174ac + 18552: 2000 movs r0, #0 + 18554: 4b66 ldr r3, [pc, #408] ; (186f0 ) + 18556: 4798 blx r3 + 18558: ebc0 1000 rsb r0, r0, r0, lsl #4 + 1855c: 3050 adds r0, #80 ; 0x50 + 1855e: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 18562: da02 bge.n 1856a + 18564: 2201 movs r2, #1 + 18566: f7fe bccd b.w 16f04 + 1856a: 2000 movs r0, #0 + 1856c: 4b60 ldr r3, [pc, #384] ; (186f0 ) + 1856e: 4798 blx r3 + 18570: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18574: 3050 adds r0, #80 ; 0x50 + 18576: 4b5f ldr r3, [pc, #380] ; (186f4 ) + 18578: fb83 2300 smull r2, r3, r3, r0 + 1857c: 17c2 asrs r2, r0, #31 + 1857e: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18582: b212 sxth r2, r2 + 18584: f7fe bcbe b.w 16f04 + 18588: 2000 movs r0, #0 + 1858a: 4b59 ldr r3, [pc, #356] ; (186f0 ) + 1858c: 4798 blx r3 + 1858e: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18592: 0040 lsls r0, r0, #1 + 18594: 3050 adds r0, #80 ; 0x50 + 18596: 4b57 ldr r3, [pc, #348] ; (186f4 ) + 18598: fb83 2300 smull r2, r3, r3, r0 + 1859c: 17c2 asrs r2, r0, #31 + 1859e: ebc2 12a3 rsb r2, r2, r3, asr #6 + 185a2: b212 sxth r2, r2 + 185a4: f7fe bcae b.w 16f04 lv_style_set_radius(&styles->calendar_date_nums, LV_STATE_DEFAULT, LV_DPX(4)); - 18b50: 2000 movs r0, #0 - 18b52: 4b51 ldr r3, [pc, #324] ; (18c98 ) - 18b54: 4798 blx r3 - 18b56: 3014 adds r0, #20 - 18b58: 0080 lsls r0, r0, #2 - 18b5a: 4b50 ldr r3, [pc, #320] ; (18c9c ) - 18b5c: fb83 2300 smull r2, r3, r3, r0 - 18b60: 17c2 asrs r2, r0, #31 - 18b62: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18b66: b212 sxth r2, r2 - 18b68: f7fe bcb5 b.w 174d6 + 185a8: 2000 movs r0, #0 + 185aa: 4b51 ldr r3, [pc, #324] ; (186f0 ) + 185ac: 4798 blx r3 + 185ae: 3014 adds r0, #20 + 185b0: 0080 lsls r0, r0, #2 + 185b2: 4b50 ldr r3, [pc, #320] ; (186f4 ) + 185b4: fb83 2300 smull r2, r3, r3, r0 + 185b8: 17c2 asrs r2, r0, #31 + 185ba: ebc2 12a3 rsb r2, r2, r3, asr #6 + 185be: b212 sxth r2, r2 + 185c0: f7fe bcb5 b.w 16f2e lv_style_set_text_color(&styles->calendar_date_nums, LV_STATE_CHECKED, IS_LIGHT ? lv_color_hex(0x31404f) : LV_COLOR_WHITE); - 18b6c: 2306 movs r3, #6 - 18b6e: 2110 movs r1, #16 - 18b70: 2409 movs r4, #9 - 18b72: f7fe bcbf b.w 174f4 + 185c4: 2306 movs r3, #6 + 185c6: 2110 movs r1, #16 + 185c8: 2409 movs r4, #9 + 185ca: f7fe bcbf b.w 16f4c lv_style_set_pad_inner(&styles->calendar_date_nums, LV_STATE_DEFAULT, LV_DPX(3)); - 18b76: 2000 movs r0, #0 - 18b78: 4b47 ldr r3, [pc, #284] ; (18c98 ) - 18b7a: 4798 blx r3 - 18b7c: eb00 0040 add.w r0, r0, r0, lsl #1 - 18b80: 3050 adds r0, #80 ; 0x50 - 18b82: 4b46 ldr r3, [pc, #280] ; (18c9c ) - 18b84: fb83 2300 smull r2, r3, r3, r0 - 18b88: 17c2 asrs r2, r0, #31 - 18b8a: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18b8e: b212 sxth r2, r2 - 18b90: f7fe bd20 b.w 175d4 + 185ce: 2000 movs r0, #0 + 185d0: 4b47 ldr r3, [pc, #284] ; (186f0 ) + 185d2: 4798 blx r3 + 185d4: eb00 0040 add.w r0, r0, r0, lsl #1 + 185d8: 3050 adds r0, #80 ; 0x50 + 185da: 4b46 ldr r3, [pc, #280] ; (186f4 ) + 185dc: fb83 2300 smull r2, r3, r3, r0 + 185e0: 17c2 asrs r2, r0, #31 + 185e2: ebc2 12a3 rsb r2, r2, r3, asr #6 + 185e6: b212 sxth r2, r2 + 185e8: f7fe bd20 b.w 1702c lv_style_set_pad_left(&styles->calendar_date_nums, LV_STATE_DEFAULT, PAD_DEF); - 18b94: 2000 movs r0, #0 - 18b96: 4b40 ldr r3, [pc, #256] ; (18c98 ) - 18b98: 4798 blx r3 - 18b9a: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18b9e: 3050 adds r0, #80 ; 0x50 - 18ba0: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 18ba4: da02 bge.n 18bac - 18ba6: 2201 movs r2, #1 - 18ba8: f7fe bd2d b.w 17606 - 18bac: 2000 movs r0, #0 - 18bae: 4b3a ldr r3, [pc, #232] ; (18c98 ) - 18bb0: 4798 blx r3 - 18bb2: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18bb6: 3050 adds r0, #80 ; 0x50 - 18bb8: 4b38 ldr r3, [pc, #224] ; (18c9c ) - 18bba: fb83 2300 smull r2, r3, r3, r0 - 18bbe: 17c2 asrs r2, r0, #31 - 18bc0: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18bc4: b212 sxth r2, r2 - 18bc6: f7fe bd1e b.w 17606 - 18bca: 2000 movs r0, #0 - 18bcc: 4b32 ldr r3, [pc, #200] ; (18c98 ) - 18bce: 4798 blx r3 - 18bd0: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18bd4: 0040 lsls r0, r0, #1 - 18bd6: 3050 adds r0, #80 ; 0x50 - 18bd8: 4b30 ldr r3, [pc, #192] ; (18c9c ) - 18bda: fb83 2300 smull r2, r3, r3, r0 - 18bde: 17c2 asrs r2, r0, #31 - 18be0: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18be4: b212 sxth r2, r2 - 18be6: f7fe bd0e b.w 17606 + 185ec: 2000 movs r0, #0 + 185ee: 4b40 ldr r3, [pc, #256] ; (186f0 ) + 185f0: 4798 blx r3 + 185f2: ebc0 1000 rsb r0, r0, r0, lsl #4 + 185f6: 3050 adds r0, #80 ; 0x50 + 185f8: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 185fc: da02 bge.n 18604 + 185fe: 2201 movs r2, #1 + 18600: f7fe bd2d b.w 1705e + 18604: 2000 movs r0, #0 + 18606: 4b3a ldr r3, [pc, #232] ; (186f0 ) + 18608: 4798 blx r3 + 1860a: ebc0 1000 rsb r0, r0, r0, lsl #4 + 1860e: 3050 adds r0, #80 ; 0x50 + 18610: 4b38 ldr r3, [pc, #224] ; (186f4 ) + 18612: fb83 2300 smull r2, r3, r3, r0 + 18616: 17c2 asrs r2, r0, #31 + 18618: ebc2 12a3 rsb r2, r2, r3, asr #6 + 1861c: b212 sxth r2, r2 + 1861e: f7fe bd1e b.w 1705e + 18622: 2000 movs r0, #0 + 18624: 4b32 ldr r3, [pc, #200] ; (186f0 ) + 18626: 4798 blx r3 + 18628: ebc0 1000 rsb r0, r0, r0, lsl #4 + 1862c: 0040 lsls r0, r0, #1 + 1862e: 3050 adds r0, #80 ; 0x50 + 18630: 4b30 ldr r3, [pc, #192] ; (186f4 ) + 18632: fb83 2300 smull r2, r3, r3, r0 + 18636: 17c2 asrs r2, r0, #31 + 18638: ebc2 12a3 rsb r2, r2, r3, asr #6 + 1863c: b212 sxth r2, r2 + 1863e: f7fe bd0e b.w 1705e lv_style_set_pad_right(&styles->calendar_date_nums, LV_STATE_DEFAULT, PAD_DEF); - 18bea: 2000 movs r0, #0 - 18bec: 4b2a ldr r3, [pc, #168] ; (18c98 ) - 18bee: 4798 blx r3 - 18bf0: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18bf4: 3050 adds r0, #80 ; 0x50 - 18bf6: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 18bfa: da02 bge.n 18c02 - 18bfc: 2201 movs r2, #1 - 18bfe: f7fe bd1b b.w 17638 - 18c02: 2000 movs r0, #0 - 18c04: 4b24 ldr r3, [pc, #144] ; (18c98 ) - 18c06: 4798 blx r3 - 18c08: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18c0c: 3050 adds r0, #80 ; 0x50 - 18c0e: 4b23 ldr r3, [pc, #140] ; (18c9c ) - 18c10: fb83 2300 smull r2, r3, r3, r0 - 18c14: 17c2 asrs r2, r0, #31 - 18c16: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18c1a: b212 sxth r2, r2 - 18c1c: f7fe bd0c b.w 17638 - 18c20: 2000 movs r0, #0 - 18c22: 4b1d ldr r3, [pc, #116] ; (18c98 ) - 18c24: 4798 blx r3 - 18c26: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18c2a: 0040 lsls r0, r0, #1 - 18c2c: 3050 adds r0, #80 ; 0x50 - 18c2e: 4b1b ldr r3, [pc, #108] ; (18c9c ) - 18c30: fb83 2300 smull r2, r3, r3, r0 - 18c34: 17c2 asrs r2, r0, #31 - 18c36: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18c3a: b212 sxth r2, r2 - 18c3c: f7fe bcfc b.w 17638 + 18642: 2000 movs r0, #0 + 18644: 4b2a ldr r3, [pc, #168] ; (186f0 ) + 18646: 4798 blx r3 + 18648: ebc0 1000 rsb r0, r0, r0, lsl #4 + 1864c: 3050 adds r0, #80 ; 0x50 + 1864e: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 18652: da02 bge.n 1865a + 18654: 2201 movs r2, #1 + 18656: f7fe bd1b b.w 17090 + 1865a: 2000 movs r0, #0 + 1865c: 4b24 ldr r3, [pc, #144] ; (186f0 ) + 1865e: 4798 blx r3 + 18660: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18664: 3050 adds r0, #80 ; 0x50 + 18666: 4b23 ldr r3, [pc, #140] ; (186f4 ) + 18668: fb83 2300 smull r2, r3, r3, r0 + 1866c: 17c2 asrs r2, r0, #31 + 1866e: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18672: b212 sxth r2, r2 + 18674: f7fe bd0c b.w 17090 + 18678: 2000 movs r0, #0 + 1867a: 4b1d ldr r3, [pc, #116] ; (186f0 ) + 1867c: 4798 blx r3 + 1867e: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18682: 0040 lsls r0, r0, #1 + 18684: 3050 adds r0, #80 ; 0x50 + 18686: 4b1b ldr r3, [pc, #108] ; (186f4 ) + 18688: fb83 2300 smull r2, r3, r3, r0 + 1868c: 17c2 asrs r2, r0, #31 + 1868e: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18692: b212 sxth r2, r2 + 18694: f7fe bcfc b.w 17090 lv_style_set_pad_bottom(&styles->calendar_date_nums, LV_STATE_DEFAULT, PAD_DEF); - 18c40: 2000 movs r0, #0 - 18c42: 4b15 ldr r3, [pc, #84] ; (18c98 ) - 18c44: 4798 blx r3 - 18c46: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18c4a: 3050 adds r0, #80 ; 0x50 - 18c4c: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 18c50: da02 bge.n 18c58 - 18c52: 2201 movs r2, #1 - 18c54: f7fe bd09 b.w 1766a - 18c58: 2000 movs r0, #0 - 18c5a: 4b0f ldr r3, [pc, #60] ; (18c98 ) - 18c5c: 4798 blx r3 - 18c5e: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18c62: 3050 adds r0, #80 ; 0x50 - 18c64: 4b0d ldr r3, [pc, #52] ; (18c9c ) - 18c66: fb83 2300 smull r2, r3, r3, r0 - 18c6a: 17c2 asrs r2, r0, #31 - 18c6c: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18c70: b212 sxth r2, r2 - 18c72: f7fe bcfa b.w 1766a - 18c76: 2000 movs r0, #0 - 18c78: 4b07 ldr r3, [pc, #28] ; (18c98 ) - 18c7a: 4798 blx r3 - 18c7c: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18c80: 0040 lsls r0, r0, #1 - 18c82: 3050 adds r0, #80 ; 0x50 - 18c84: 4b05 ldr r3, [pc, #20] ; (18c9c ) - 18c86: fb83 2300 smull r2, r3, r3, r0 - 18c8a: 17c2 asrs r2, r0, #31 - 18c8c: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18c90: b212 sxth r2, r2 - 18c92: f7fe bcea b.w 1766a - 18c96: bf00 nop - 18c98: 000114e5 .word 0x000114e5 - 18c9c: 66666667 .word 0x66666667 + 18698: 2000 movs r0, #0 + 1869a: 4b15 ldr r3, [pc, #84] ; (186f0 ) + 1869c: 4798 blx r3 + 1869e: ebc0 1000 rsb r0, r0, r0, lsl #4 + 186a2: 3050 adds r0, #80 ; 0x50 + 186a4: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 186a8: da02 bge.n 186b0 + 186aa: 2201 movs r2, #1 + 186ac: f7fe bd09 b.w 170c2 + 186b0: 2000 movs r0, #0 + 186b2: 4b0f ldr r3, [pc, #60] ; (186f0 ) + 186b4: 4798 blx r3 + 186b6: ebc0 1000 rsb r0, r0, r0, lsl #4 + 186ba: 3050 adds r0, #80 ; 0x50 + 186bc: 4b0d ldr r3, [pc, #52] ; (186f4 ) + 186be: fb83 2300 smull r2, r3, r3, r0 + 186c2: 17c2 asrs r2, r0, #31 + 186c4: ebc2 12a3 rsb r2, r2, r3, asr #6 + 186c8: b212 sxth r2, r2 + 186ca: f7fe bcfa b.w 170c2 + 186ce: 2000 movs r0, #0 + 186d0: 4b07 ldr r3, [pc, #28] ; (186f0 ) + 186d2: 4798 blx r3 + 186d4: ebc0 1000 rsb r0, r0, r0, lsl #4 + 186d8: 0040 lsls r0, r0, #1 + 186da: 3050 adds r0, #80 ; 0x50 + 186dc: 4b05 ldr r3, [pc, #20] ; (186f4 ) + 186de: fb83 2300 smull r2, r3, r3, r0 + 186e2: 17c2 asrs r2, r0, #31 + 186e4: ebc2 12a3 rsb r2, r2, r3, asr #6 + 186e8: b212 sxth r2, r2 + 186ea: f7fe bcea b.w 170c2 + 186ee: bf00 nop + 186f0: 00010f3d .word 0x00010f3d + 186f4: 66666667 .word 0x66666667 lv_style_set_scale_width(&styles->cpicker_bg, LV_STATE_DEFAULT, LV_DPX(30)); - 18ca0: 2000 movs r0, #0 - 18ca2: 4bc9 ldr r3, [pc, #804] ; (18fc8 ) - 18ca4: 4798 blx r3 - 18ca6: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18caa: 0040 lsls r0, r0, #1 - 18cac: 3050 adds r0, #80 ; 0x50 - 18cae: 4bc7 ldr r3, [pc, #796] ; (18fcc ) - 18cb0: fb83 2300 smull r2, r3, r3, r0 - 18cb4: 17c2 asrs r2, r0, #31 - 18cb6: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18cba: b212 sxth r2, r2 - 18cbc: f7fe bcec b.w 17698 + 186f8: 2000 movs r0, #0 + 186fa: 4bc9 ldr r3, [pc, #804] ; (18a20 ) + 186fc: 4798 blx r3 + 186fe: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18702: 0040 lsls r0, r0, #1 + 18704: 3050 adds r0, #80 ; 0x50 + 18706: 4bc7 ldr r3, [pc, #796] ; (18a24 ) + 18708: fb83 2300 smull r2, r3, r3, r0 + 1870c: 17c2 asrs r2, r0, #31 + 1870e: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18712: b212 sxth r2, r2 + 18714: f7fe bcec b.w 170f0 lv_style_set_pad_inner(&styles->cpicker_bg, LV_STATE_DEFAULT, LV_DPX(20)); - 18cc0: 2000 movs r0, #0 - 18cc2: 4bc1 ldr r3, [pc, #772] ; (18fc8 ) - 18cc4: 4798 blx r3 - 18cc6: eb00 0080 add.w r0, r0, r0, lsl #2 - 18cca: 0080 lsls r0, r0, #2 - 18ccc: 3050 adds r0, #80 ; 0x50 - 18cce: 4bbf ldr r3, [pc, #764] ; (18fcc ) - 18cd0: fb83 2300 smull r2, r3, r3, r0 - 18cd4: 17c2 asrs r2, r0, #31 - 18cd6: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18cda: b212 sxth r2, r2 - 18cdc: f7fe bd21 b.w 17722 + 18718: 2000 movs r0, #0 + 1871a: 4bc1 ldr r3, [pc, #772] ; (18a20 ) + 1871c: 4798 blx r3 + 1871e: eb00 0080 add.w r0, r0, r0, lsl #2 + 18722: 0080 lsls r0, r0, #2 + 18724: 3050 adds r0, #80 ; 0x50 + 18726: 4bbf ldr r3, [pc, #764] ; (18a24 ) + 18728: fb83 2300 smull r2, r3, r3, r0 + 1872c: 17c2 asrs r2, r0, #31 + 1872e: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18732: b212 sxth r2, r2 + 18734: f7fe bd21 b.w 1717a lv_style_set_pad_left(&styles->cpicker_indic, LV_STATE_DEFAULT, LV_DPX(13)); - 18ce0: 2000 movs r0, #0 - 18ce2: 4bb9 ldr r3, [pc, #740] ; (18fc8 ) - 18ce4: 4798 blx r3 - 18ce6: eb00 0240 add.w r2, r0, r0, lsl #1 - 18cea: eb00 0082 add.w r0, r0, r2, lsl #2 - 18cee: 3050 adds r0, #80 ; 0x50 - 18cf0: 4bb6 ldr r3, [pc, #728] ; (18fcc ) - 18cf2: fb83 2300 smull r2, r3, r3, r0 - 18cf6: 17c2 asrs r2, r0, #31 - 18cf8: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18cfc: b212 sxth r2, r2 - 18cfe: f7fe bd57 b.w 177b0 + 18738: 2000 movs r0, #0 + 1873a: 4bb9 ldr r3, [pc, #740] ; (18a20 ) + 1873c: 4798 blx r3 + 1873e: eb00 0240 add.w r2, r0, r0, lsl #1 + 18742: eb00 0082 add.w r0, r0, r2, lsl #2 + 18746: 3050 adds r0, #80 ; 0x50 + 18748: 4bb6 ldr r3, [pc, #728] ; (18a24 ) + 1874a: fb83 2300 smull r2, r3, r3, r0 + 1874e: 17c2 asrs r2, r0, #31 + 18750: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18754: b212 sxth r2, r2 + 18756: f7fe bd57 b.w 17208 lv_style_set_pad_right(&styles->cpicker_indic, LV_STATE_DEFAULT, LV_DPX(13)); - 18d02: 2000 movs r0, #0 - 18d04: 4bb0 ldr r3, [pc, #704] ; (18fc8 ) - 18d06: 4798 blx r3 - 18d08: eb00 0240 add.w r2, r0, r0, lsl #1 - 18d0c: eb00 0082 add.w r0, r0, r2, lsl #2 - 18d10: 3050 adds r0, #80 ; 0x50 - 18d12: 4bae ldr r3, [pc, #696] ; (18fcc ) - 18d14: fb83 2300 smull r2, r3, r3, r0 - 18d18: 17c2 asrs r2, r0, #31 - 18d1a: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18d1e: b212 sxth r2, r2 - 18d20: f7fe bd5a b.w 177d8 + 1875a: 2000 movs r0, #0 + 1875c: 4bb0 ldr r3, [pc, #704] ; (18a20 ) + 1875e: 4798 blx r3 + 18760: eb00 0240 add.w r2, r0, r0, lsl #1 + 18764: eb00 0082 add.w r0, r0, r2, lsl #2 + 18768: 3050 adds r0, #80 ; 0x50 + 1876a: 4bae ldr r3, [pc, #696] ; (18a24 ) + 1876c: fb83 2300 smull r2, r3, r3, r0 + 18770: 17c2 asrs r2, r0, #31 + 18772: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18776: b212 sxth r2, r2 + 18778: f7fe bd5a b.w 17230 lv_style_set_pad_top(&styles->cpicker_indic, LV_STATE_DEFAULT, LV_DPX(13)); - 18d24: 2000 movs r0, #0 - 18d26: 4ba8 ldr r3, [pc, #672] ; (18fc8 ) - 18d28: 4798 blx r3 - 18d2a: eb00 0240 add.w r2, r0, r0, lsl #1 - 18d2e: eb00 0082 add.w r0, r0, r2, lsl #2 - 18d32: 3050 adds r0, #80 ; 0x50 - 18d34: 4ba5 ldr r3, [pc, #660] ; (18fcc ) - 18d36: fb83 2300 smull r2, r3, r3, r0 - 18d3a: 17c2 asrs r2, r0, #31 - 18d3c: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18d40: b212 sxth r2, r2 - 18d42: f7fe bd5d b.w 17800 + 1877c: 2000 movs r0, #0 + 1877e: 4ba8 ldr r3, [pc, #672] ; (18a20 ) + 18780: 4798 blx r3 + 18782: eb00 0240 add.w r2, r0, r0, lsl #1 + 18786: eb00 0082 add.w r0, r0, r2, lsl #2 + 1878a: 3050 adds r0, #80 ; 0x50 + 1878c: 4ba5 ldr r3, [pc, #660] ; (18a24 ) + 1878e: fb83 2300 smull r2, r3, r3, r0 + 18792: 17c2 asrs r2, r0, #31 + 18794: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18798: b212 sxth r2, r2 + 1879a: f7fe bd5d b.w 17258 lv_style_set_pad_bottom(&styles->cpicker_indic, LV_STATE_DEFAULT, LV_DPX(13)); - 18d46: 2000 movs r0, #0 - 18d48: 4b9f ldr r3, [pc, #636] ; (18fc8 ) - 18d4a: 4798 blx r3 - 18d4c: eb00 0240 add.w r2, r0, r0, lsl #1 - 18d50: eb00 0082 add.w r0, r0, r2, lsl #2 - 18d54: 3050 adds r0, #80 ; 0x50 - 18d56: 4b9d ldr r3, [pc, #628] ; (18fcc ) - 18d58: fb83 2300 smull r2, r3, r3, r0 - 18d5c: 17c2 asrs r2, r0, #31 - 18d5e: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18d62: b212 sxth r2, r2 - 18d64: f7fe bd60 b.w 17828 + 1879e: 2000 movs r0, #0 + 187a0: 4b9f ldr r3, [pc, #636] ; (18a20 ) + 187a2: 4798 blx r3 + 187a4: eb00 0240 add.w r2, r0, r0, lsl #1 + 187a8: eb00 0082 add.w r0, r0, r2, lsl #2 + 187ac: 3050 adds r0, #80 ; 0x50 + 187ae: 4b9d ldr r3, [pc, #628] ; (18a24 ) + 187b0: fb83 2300 smull r2, r3, r3, r0 + 187b4: 17c2 asrs r2, r0, #31 + 187b6: ebc2 12a3 rsb r2, r2, r3, asr #6 + 187ba: b212 sxth r2, r2 + 187bc: f7fe bd60 b.w 17280 lv_style_set_radius(&styles->cb_bg, LV_STATE_DEFAULT, LV_DPX(4)); - 18d68: 2000 movs r0, #0 - 18d6a: 4b97 ldr r3, [pc, #604] ; (18fc8 ) - 18d6c: 4798 blx r3 - 18d6e: 3014 adds r0, #20 - 18d70: 0080 lsls r0, r0, #2 - 18d72: 4b96 ldr r3, [pc, #600] ; (18fcc ) - 18d74: fb83 2300 smull r2, r3, r3, r0 - 18d78: 17c2 asrs r2, r0, #31 - 18d7a: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18d7e: b212 sxth r2, r2 - 18d80: f7fe bd67 b.w 17852 + 187c0: 2000 movs r0, #0 + 187c2: 4b97 ldr r3, [pc, #604] ; (18a20 ) + 187c4: 4798 blx r3 + 187c6: 3014 adds r0, #20 + 187c8: 0080 lsls r0, r0, #2 + 187ca: 4b96 ldr r3, [pc, #600] ; (18a24 ) + 187cc: fb83 2300 smull r2, r3, r3, r0 + 187d0: 17c2 asrs r2, r0, #31 + 187d2: ebc2 12a3 rsb r2, r2, r3, asr #6 + 187d6: b212 sxth r2, r2 + 187d8: f7fe bd67 b.w 172aa lv_style_set_pad_inner(&styles->cb_bg, LV_STATE_DEFAULT, LV_DPX(10)); - 18d84: 2000 movs r0, #0 - 18d86: 4b90 ldr r3, [pc, #576] ; (18fc8 ) - 18d88: 4798 blx r3 - 18d8a: eb00 0080 add.w r0, r0, r0, lsl #2 - 18d8e: 0040 lsls r0, r0, #1 - 18d90: 3050 adds r0, #80 ; 0x50 - 18d92: 4b8e ldr r3, [pc, #568] ; (18fcc ) - 18d94: fb83 2300 smull r2, r3, r3, r0 - 18d98: 17c2 asrs r2, r0, #31 - 18d9a: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18d9e: b212 sxth r2, r2 - 18da0: f7fe bd6a b.w 17878 + 187dc: 2000 movs r0, #0 + 187de: 4b90 ldr r3, [pc, #576] ; (18a20 ) + 187e0: 4798 blx r3 + 187e2: eb00 0080 add.w r0, r0, r0, lsl #2 + 187e6: 0040 lsls r0, r0, #1 + 187e8: 3050 adds r0, #80 ; 0x50 + 187ea: 4b8e ldr r3, [pc, #568] ; (18a24 ) + 187ec: fb83 2300 smull r2, r3, r3, r0 + 187f0: 17c2 asrs r2, r0, #31 + 187f2: ebc2 12a3 rsb r2, r2, r3, asr #6 + 187f6: b212 sxth r2, r2 + 187f8: f7fe bd6a b.w 172d0 lv_style_set_outline_width(&styles->cb_bg, LV_STATE_DEFAULT, LV_DPX(3)); - 18da4: 2000 movs r0, #0 - 18da6: 4b88 ldr r3, [pc, #544] ; (18fc8 ) - 18da8: 4798 blx r3 - 18daa: eb00 0040 add.w r0, r0, r0, lsl #1 - 18dae: 3050 adds r0, #80 ; 0x50 - 18db0: 4b86 ldr r3, [pc, #536] ; (18fcc ) - 18db2: fb83 2300 smull r2, r3, r3, r0 - 18db6: 17c2 asrs r2, r0, #31 - 18db8: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18dbc: b212 sxth r2, r2 - 18dbe: f7fe bd7f b.w 178c0 + 187fc: 2000 movs r0, #0 + 187fe: 4b88 ldr r3, [pc, #544] ; (18a20 ) + 18800: 4798 blx r3 + 18802: eb00 0040 add.w r0, r0, r0, lsl #1 + 18806: 3050 adds r0, #80 ; 0x50 + 18808: 4b86 ldr r3, [pc, #536] ; (18a24 ) + 1880a: fb83 2300 smull r2, r3, r3, r0 + 1880e: 17c2 asrs r2, r0, #31 + 18810: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18814: b212 sxth r2, r2 + 18816: f7fe bd7f b.w 17318 lv_style_set_outline_pad(&styles->cb_bg, LV_STATE_DEFAULT, LV_DPX(10)); - 18dc2: 2000 movs r0, #0 - 18dc4: 4b80 ldr r3, [pc, #512] ; (18fc8 ) - 18dc6: 4798 blx r3 - 18dc8: eb00 0080 add.w r0, r0, r0, lsl #2 - 18dcc: 0040 lsls r0, r0, #1 - 18dce: 3050 adds r0, #80 ; 0x50 - 18dd0: 4b7e ldr r3, [pc, #504] ; (18fcc ) - 18dd2: fb83 2300 smull r2, r3, r3, r0 - 18dd6: 17c2 asrs r2, r0, #31 - 18dd8: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18ddc: b212 sxth r2, r2 - 18dde: f7fe bd82 b.w 178e6 + 1881a: 2000 movs r0, #0 + 1881c: 4b80 ldr r3, [pc, #512] ; (18a20 ) + 1881e: 4798 blx r3 + 18820: eb00 0080 add.w r0, r0, r0, lsl #2 + 18824: 0040 lsls r0, r0, #1 + 18826: 3050 adds r0, #80 ; 0x50 + 18828: 4b7e ldr r3, [pc, #504] ; (18a24 ) + 1882a: fb83 2300 smull r2, r3, r3, r0 + 1882e: 17c2 asrs r2, r0, #31 + 18830: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18834: b212 sxth r2, r2 + 18836: f7fe bd82 b.w 1733e lv_style_set_radius(&styles->cb_bullet, LV_STATE_DEFAULT, LV_DPX(4)); - 18de2: 2000 movs r0, #0 - 18de4: 4b78 ldr r3, [pc, #480] ; (18fc8 ) - 18de6: 4798 blx r3 - 18de8: 3014 adds r0, #20 - 18dea: 0080 lsls r0, r0, #2 - 18dec: 4b77 ldr r3, [pc, #476] ; (18fcc ) - 18dee: fb83 2300 smull r2, r3, r3, r0 - 18df2: 17c2 asrs r2, r0, #31 - 18df4: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18df8: b212 sxth r2, r2 - 18dfa: f7fe bd9a b.w 17932 + 1883a: 2000 movs r0, #0 + 1883c: 4b78 ldr r3, [pc, #480] ; (18a20 ) + 1883e: 4798 blx r3 + 18840: 3014 adds r0, #20 + 18842: 0080 lsls r0, r0, #2 + 18844: 4b77 ldr r3, [pc, #476] ; (18a24 ) + 18846: fb83 2300 smull r2, r3, r3, r0 + 1884a: 17c2 asrs r2, r0, #31 + 1884c: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18850: b212 sxth r2, r2 + 18852: f7fe bd9a b.w 1738a lv_style_set_pad_left(&styles->cb_bullet, LV_STATE_DEFAULT, LV_DPX(3)); - 18dfe: 2000 movs r0, #0 - 18e00: 4b71 ldr r3, [pc, #452] ; (18fc8 ) - 18e02: 4798 blx r3 - 18e04: eb00 0040 add.w r0, r0, r0, lsl #1 - 18e08: 3050 adds r0, #80 ; 0x50 - 18e0a: 4b70 ldr r3, [pc, #448] ; (18fcc ) - 18e0c: fb83 2300 smull r2, r3, r3, r0 - 18e10: 17c2 asrs r2, r0, #31 - 18e12: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18e16: b212 sxth r2, r2 - 18e18: f7fe bdb2 b.w 17980 + 18856: 2000 movs r0, #0 + 18858: 4b71 ldr r3, [pc, #452] ; (18a20 ) + 1885a: 4798 blx r3 + 1885c: eb00 0040 add.w r0, r0, r0, lsl #1 + 18860: 3050 adds r0, #80 ; 0x50 + 18862: 4b70 ldr r3, [pc, #448] ; (18a24 ) + 18864: fb83 2300 smull r2, r3, r3, r0 + 18868: 17c2 asrs r2, r0, #31 + 1886a: ebc2 12a3 rsb r2, r2, r3, asr #6 + 1886e: b212 sxth r2, r2 + 18870: f7fe bdb2 b.w 173d8 lv_style_set_pad_right(&styles->cb_bullet, LV_STATE_DEFAULT, LV_DPX(3)); - 18e1c: 2000 movs r0, #0 - 18e1e: 4b6a ldr r3, [pc, #424] ; (18fc8 ) - 18e20: 4798 blx r3 - 18e22: eb00 0040 add.w r0, r0, r0, lsl #1 - 18e26: 3050 adds r0, #80 ; 0x50 - 18e28: 4b68 ldr r3, [pc, #416] ; (18fcc ) - 18e2a: fb83 2300 smull r2, r3, r3, r0 - 18e2e: 17c2 asrs r2, r0, #31 - 18e30: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18e34: b212 sxth r2, r2 - 18e36: f7fe bdb5 b.w 179a4 + 18874: 2000 movs r0, #0 + 18876: 4b6a ldr r3, [pc, #424] ; (18a20 ) + 18878: 4798 blx r3 + 1887a: eb00 0040 add.w r0, r0, r0, lsl #1 + 1887e: 3050 adds r0, #80 ; 0x50 + 18880: 4b68 ldr r3, [pc, #416] ; (18a24 ) + 18882: fb83 2300 smull r2, r3, r3, r0 + 18886: 17c2 asrs r2, r0, #31 + 18888: ebc2 12a3 rsb r2, r2, r3, asr #6 + 1888c: b212 sxth r2, r2 + 1888e: f7fe bdb5 b.w 173fc lv_style_set_pad_top(&styles->cb_bullet, LV_STATE_DEFAULT, LV_DPX(3)); - 18e3a: 2000 movs r0, #0 - 18e3c: 4b62 ldr r3, [pc, #392] ; (18fc8 ) - 18e3e: 4798 blx r3 - 18e40: eb00 0040 add.w r0, r0, r0, lsl #1 - 18e44: 3050 adds r0, #80 ; 0x50 - 18e46: 4b61 ldr r3, [pc, #388] ; (18fcc ) - 18e48: fb83 2300 smull r2, r3, r3, r0 - 18e4c: 17c2 asrs r2, r0, #31 - 18e4e: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18e52: b212 sxth r2, r2 - 18e54: f7fe bdb8 b.w 179c8 + 18892: 2000 movs r0, #0 + 18894: 4b62 ldr r3, [pc, #392] ; (18a20 ) + 18896: 4798 blx r3 + 18898: eb00 0040 add.w r0, r0, r0, lsl #1 + 1889c: 3050 adds r0, #80 ; 0x50 + 1889e: 4b61 ldr r3, [pc, #388] ; (18a24 ) + 188a0: fb83 2300 smull r2, r3, r3, r0 + 188a4: 17c2 asrs r2, r0, #31 + 188a6: ebc2 12a3 rsb r2, r2, r3, asr #6 + 188aa: b212 sxth r2, r2 + 188ac: f7fe bdb8 b.w 17420 lv_style_set_pad_bottom(&styles->cb_bullet, LV_STATE_DEFAULT, LV_DPX(3)); - 18e58: 2000 movs r0, #0 - 18e5a: 4b5b ldr r3, [pc, #364] ; (18fc8 ) - 18e5c: 4798 blx r3 - 18e5e: eb00 0040 add.w r0, r0, r0, lsl #1 - 18e62: 3050 adds r0, #80 ; 0x50 - 18e64: 4b59 ldr r3, [pc, #356] ; (18fcc ) - 18e66: fb83 2300 smull r2, r3, r3, r0 - 18e6a: 17c2 asrs r2, r0, #31 - 18e6c: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18e70: b212 sxth r2, r2 - 18e72: f7fe bdbb b.w 179ec + 188b0: 2000 movs r0, #0 + 188b2: 4b5b ldr r3, [pc, #364] ; (18a20 ) + 188b4: 4798 blx r3 + 188b6: eb00 0040 add.w r0, r0, r0, lsl #1 + 188ba: 3050 adds r0, #80 ; 0x50 + 188bc: 4b59 ldr r3, [pc, #356] ; (18a24 ) + 188be: fb83 2300 smull r2, r3, r3, r0 + 188c2: 17c2 asrs r2, r0, #31 + 188c4: ebc2 12a3 rsb r2, r2, r3, asr #6 + 188c8: b212 sxth r2, r2 + 188ca: f7fe bdbb b.w 17444 lv_style_set_border_width(&styles->kb_bg, LV_STATE_DEFAULT, LV_DPX(4)); - 18e76: 2000 movs r0, #0 - 18e78: 4b53 ldr r3, [pc, #332] ; (18fc8 ) - 18e7a: 4798 blx r3 - 18e7c: 3014 adds r0, #20 - 18e7e: 0080 lsls r0, r0, #2 - 18e80: 4b52 ldr r3, [pc, #328] ; (18fcc ) - 18e82: fb83 2300 smull r2, r3, r3, r0 - 18e86: 17c2 asrs r2, r0, #31 - 18e88: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18e8c: b212 sxth r2, r2 - 18e8e: f7fe bdda b.w 17a46 + 188ce: 2000 movs r0, #0 + 188d0: 4b53 ldr r3, [pc, #332] ; (18a20 ) + 188d2: 4798 blx r3 + 188d4: 3014 adds r0, #20 + 188d6: 0080 lsls r0, r0, #2 + 188d8: 4b52 ldr r3, [pc, #328] ; (18a24 ) + 188da: fb83 2300 smull r2, r3, r3, r0 + 188de: 17c2 asrs r2, r0, #31 + 188e0: ebc2 12a3 rsb r2, r2, r3, asr #6 + 188e4: b212 sxth r2, r2 + 188e6: f7fe bdda b.w 1749e lv_style_set_border_color(&styles->kb_bg, LV_STATE_DEFAULT, IS_LIGHT ? COLOR_BG_TEXT : LV_COLOR_BLACK); - 18e92: 2307 movs r3, #7 - 18e94: 210f movs r1, #15 - 18e96: 2408 movs r4, #8 - 18e98: f7fe bde9 b.w 17a6e + 188ea: 2307 movs r3, #7 + 188ec: 210f movs r1, #15 + 188ee: 2408 movs r4, #8 + 188f0: f7fe bde9 b.w 174c6 lv_style_set_pad_left(&styles->kb_bg, LV_STATE_DEFAULT, LV_DPX(5)); - 18e9c: 2000 movs r0, #0 - 18e9e: 4b4a ldr r3, [pc, #296] ; (18fc8 ) - 18ea0: 4798 blx r3 - 18ea2: eb00 0080 add.w r0, r0, r0, lsl #2 - 18ea6: 3050 adds r0, #80 ; 0x50 - 18ea8: 4b48 ldr r3, [pc, #288] ; (18fcc ) - 18eaa: fb83 2300 smull r2, r3, r3, r0 - 18eae: 17c2 asrs r2, r0, #31 - 18eb0: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18eb4: b212 sxth r2, r2 - 18eb6: f7fe bdf9 b.w 17aac + 188f4: 2000 movs r0, #0 + 188f6: 4b4a ldr r3, [pc, #296] ; (18a20 ) + 188f8: 4798 blx r3 + 188fa: eb00 0080 add.w r0, r0, r0, lsl #2 + 188fe: 3050 adds r0, #80 ; 0x50 + 18900: 4b48 ldr r3, [pc, #288] ; (18a24 ) + 18902: fb83 2300 smull r2, r3, r3, r0 + 18906: 17c2 asrs r2, r0, #31 + 18908: ebc2 12a3 rsb r2, r2, r3, asr #6 + 1890c: b212 sxth r2, r2 + 1890e: f7fe bdf9 b.w 17504 lv_style_set_pad_right(&styles->kb_bg, LV_STATE_DEFAULT, LV_DPX(5)); - 18eba: 2000 movs r0, #0 - 18ebc: 4b42 ldr r3, [pc, #264] ; (18fc8 ) - 18ebe: 4798 blx r3 - 18ec0: eb00 0080 add.w r0, r0, r0, lsl #2 - 18ec4: 3050 adds r0, #80 ; 0x50 - 18ec6: 4b41 ldr r3, [pc, #260] ; (18fcc ) - 18ec8: fb83 2300 smull r2, r3, r3, r0 - 18ecc: 17c2 asrs r2, r0, #31 - 18ece: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18ed2: b212 sxth r2, r2 - 18ed4: f7fe bdfc b.w 17ad0 + 18912: 2000 movs r0, #0 + 18914: 4b42 ldr r3, [pc, #264] ; (18a20 ) + 18916: 4798 blx r3 + 18918: eb00 0080 add.w r0, r0, r0, lsl #2 + 1891c: 3050 adds r0, #80 ; 0x50 + 1891e: 4b41 ldr r3, [pc, #260] ; (18a24 ) + 18920: fb83 2300 smull r2, r3, r3, r0 + 18924: 17c2 asrs r2, r0, #31 + 18926: ebc2 12a3 rsb r2, r2, r3, asr #6 + 1892a: b212 sxth r2, r2 + 1892c: f7fe bdfc b.w 17528 lv_style_set_pad_top(&styles->kb_bg, LV_STATE_DEFAULT, LV_DPX(5)); - 18ed8: 2000 movs r0, #0 - 18eda: 4b3b ldr r3, [pc, #236] ; (18fc8 ) - 18edc: 4798 blx r3 - 18ede: eb00 0080 add.w r0, r0, r0, lsl #2 - 18ee2: 3050 adds r0, #80 ; 0x50 - 18ee4: 4b39 ldr r3, [pc, #228] ; (18fcc ) - 18ee6: fb83 2300 smull r2, r3, r3, r0 - 18eea: 17c2 asrs r2, r0, #31 - 18eec: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18ef0: b212 sxth r2, r2 - 18ef2: f7fe bdff b.w 17af4 + 18930: 2000 movs r0, #0 + 18932: 4b3b ldr r3, [pc, #236] ; (18a20 ) + 18934: 4798 blx r3 + 18936: eb00 0080 add.w r0, r0, r0, lsl #2 + 1893a: 3050 adds r0, #80 ; 0x50 + 1893c: 4b39 ldr r3, [pc, #228] ; (18a24 ) + 1893e: fb83 2300 smull r2, r3, r3, r0 + 18942: 17c2 asrs r2, r0, #31 + 18944: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18948: b212 sxth r2, r2 + 1894a: f7fe bdff b.w 1754c lv_style_set_pad_bottom(&styles->kb_bg, LV_STATE_DEFAULT, LV_DPX(5)); - 18ef6: 2000 movs r0, #0 - 18ef8: 4b33 ldr r3, [pc, #204] ; (18fc8 ) - 18efa: 4798 blx r3 - 18efc: eb00 0080 add.w r0, r0, r0, lsl #2 - 18f00: 3050 adds r0, #80 ; 0x50 - 18f02: 4b32 ldr r3, [pc, #200] ; (18fcc ) - 18f04: fb83 2300 smull r2, r3, r3, r0 - 18f08: 17c2 asrs r2, r0, #31 - 18f0a: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18f0e: b212 sxth r2, r2 - 18f10: f7fe be02 b.w 17b18 + 1894e: 2000 movs r0, #0 + 18950: 4b33 ldr r3, [pc, #204] ; (18a20 ) + 18952: 4798 blx r3 + 18954: eb00 0080 add.w r0, r0, r0, lsl #2 + 18958: 3050 adds r0, #80 ; 0x50 + 1895a: 4b32 ldr r3, [pc, #200] ; (18a24 ) + 1895c: fb83 2300 smull r2, r3, r3, r0 + 18960: 17c2 asrs r2, r0, #31 + 18962: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18966: b212 sxth r2, r2 + 18968: f7fe be02 b.w 17570 lv_style_set_pad_inner(&styles->kb_bg, LV_STATE_DEFAULT, LV_DPX(3)); - 18f14: 2000 movs r0, #0 - 18f16: 4b2c ldr r3, [pc, #176] ; (18fc8 ) - 18f18: 4798 blx r3 - 18f1a: eb00 0040 add.w r0, r0, r0, lsl #1 - 18f1e: 3050 adds r0, #80 ; 0x50 - 18f20: 4b2a ldr r3, [pc, #168] ; (18fcc ) - 18f22: fb83 2300 smull r2, r3, r3, r0 - 18f26: 17c2 asrs r2, r0, #31 - 18f28: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18f2c: b212 sxth r2, r2 - 18f2e: f7fe be05 b.w 17b3c + 1896c: 2000 movs r0, #0 + 1896e: 4b2c ldr r3, [pc, #176] ; (18a20 ) + 18970: 4798 blx r3 + 18972: eb00 0040 add.w r0, r0, r0, lsl #1 + 18976: 3050 adds r0, #80 ; 0x50 + 18978: 4b2a ldr r3, [pc, #168] ; (18a24 ) + 1897a: fb83 2300 smull r2, r3, r3, r0 + 1897e: 17c2 asrs r2, r0, #31 + 18980: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18984: b212 sxth r2, r2 + 18986: f7fe be05 b.w 17594 lv_style_set_shadow_width(&styles->mbox_bg, LV_STATE_DEFAULT, LV_DPX(50)); - 18f32: 2000 movs r0, #0 - 18f34: 4b24 ldr r3, [pc, #144] ; (18fc8 ) - 18f36: 4798 blx r3 - 18f38: 2232 movs r2, #50 ; 0x32 - 18f3a: fb02 f000 mul.w r0, r2, r0 - 18f3e: 3050 adds r0, #80 ; 0x50 - 18f40: 4b22 ldr r3, [pc, #136] ; (18fcc ) - 18f42: fb83 2300 smull r2, r3, r3, r0 - 18f46: 17c2 asrs r2, r0, #31 - 18f48: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18f4c: b212 sxth r2, r2 - 18f4e: f7fe be0c b.w 17b6a + 1898a: 2000 movs r0, #0 + 1898c: 4b24 ldr r3, [pc, #144] ; (18a20 ) + 1898e: 4798 blx r3 + 18990: 2232 movs r2, #50 ; 0x32 + 18992: fb02 f000 mul.w r0, r2, r0 + 18996: 3050 adds r0, #80 ; 0x50 + 18998: 4b22 ldr r3, [pc, #136] ; (18a24 ) + 1899a: fb83 2300 smull r2, r3, r3, r0 + 1899e: 17c2 asrs r2, r0, #31 + 189a0: ebc2 12a3 rsb r2, r2, r3, asr #6 + 189a4: b212 sxth r2, r2 + 189a6: f7fe be0c b.w 175c2 lv_style_set_size(&styles->sb, LV_STATE_DEFAULT, LV_DPX(7)); - 18f52: 2000 movs r0, #0 - 18f54: 4b1c ldr r3, [pc, #112] ; (18fc8 ) - 18f56: 4798 blx r3 - 18f58: ebc0 00c0 rsb r0, r0, r0, lsl #3 - 18f5c: 3050 adds r0, #80 ; 0x50 - 18f5e: 4b1b ldr r3, [pc, #108] ; (18fcc ) - 18f60: fb83 2300 smull r2, r3, r3, r0 - 18f64: 17c2 asrs r2, r0, #31 - 18f66: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18f6a: b212 sxth r2, r2 - 18f6c: f7fe be52 b.w 17c14 + 189aa: 2000 movs r0, #0 + 189ac: 4b1c ldr r3, [pc, #112] ; (18a20 ) + 189ae: 4798 blx r3 + 189b0: ebc0 00c0 rsb r0, r0, r0, lsl #3 + 189b4: 3050 adds r0, #80 ; 0x50 + 189b6: 4b1b ldr r3, [pc, #108] ; (18a24 ) + 189b8: fb83 2300 smull r2, r3, r3, r0 + 189bc: 17c2 asrs r2, r0, #31 + 189be: ebc2 12a3 rsb r2, r2, r3, asr #6 + 189c2: b212 sxth r2, r2 + 189c4: f7fe be52 b.w 1766c lv_style_set_pad_right(&styles->sb, LV_STATE_DEFAULT, LV_DPX(7)); - 18f70: 2000 movs r0, #0 - 18f72: 4b15 ldr r3, [pc, #84] ; (18fc8 ) - 18f74: 4798 blx r3 - 18f76: ebc0 00c0 rsb r0, r0, r0, lsl #3 - 18f7a: 3050 adds r0, #80 ; 0x50 - 18f7c: 4b13 ldr r3, [pc, #76] ; (18fcc ) - 18f7e: fb83 2300 smull r2, r3, r3, r0 - 18f82: 17c2 asrs r2, r0, #31 - 18f84: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18f88: b212 sxth r2, r2 - 18f8a: f7fe be55 b.w 17c38 + 189c8: 2000 movs r0, #0 + 189ca: 4b15 ldr r3, [pc, #84] ; (18a20 ) + 189cc: 4798 blx r3 + 189ce: ebc0 00c0 rsb r0, r0, r0, lsl #3 + 189d2: 3050 adds r0, #80 ; 0x50 + 189d4: 4b13 ldr r3, [pc, #76] ; (18a24 ) + 189d6: fb83 2300 smull r2, r3, r3, r0 + 189da: 17c2 asrs r2, r0, #31 + 189dc: ebc2 12a3 rsb r2, r2, r3, asr #6 + 189e0: b212 sxth r2, r2 + 189e2: f7fe be55 b.w 17690 lv_style_set_pad_bottom(&styles->sb, LV_STATE_DEFAULT, LV_DPX(7)); - 18f8e: 2000 movs r0, #0 - 18f90: 4b0d ldr r3, [pc, #52] ; (18fc8 ) - 18f92: 4798 blx r3 - 18f94: ebc0 00c0 rsb r0, r0, r0, lsl #3 - 18f98: 3050 adds r0, #80 ; 0x50 - 18f9a: 4b0c ldr r3, [pc, #48] ; (18fcc ) - 18f9c: fb83 2300 smull r2, r3, r3, r0 - 18fa0: 17c2 asrs r2, r0, #31 - 18fa2: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18fa6: b212 sxth r2, r2 - 18fa8: f7fe be58 b.w 17c5c + 189e6: 2000 movs r0, #0 + 189e8: 4b0d ldr r3, [pc, #52] ; (18a20 ) + 189ea: 4798 blx r3 + 189ec: ebc0 00c0 rsb r0, r0, r0, lsl #3 + 189f0: 3050 adds r0, #80 ; 0x50 + 189f2: 4b0c ldr r3, [pc, #48] ; (18a24 ) + 189f4: fb83 2300 smull r2, r3, r3, r0 + 189f8: 17c2 asrs r2, r0, #31 + 189fa: ebc2 12a3 rsb r2, r2, r3, asr #6 + 189fe: b212 sxth r2, r2 + 18a00: f7fe be58 b.w 176b4 lv_style_set_border_width(&styles->ta_cursor, LV_STATE_DEFAULT, LV_DPX(2)); - 18fac: 2000 movs r0, #0 - 18fae: 4b06 ldr r3, [pc, #24] ; (18fc8 ) - 18fb0: 4798 blx r3 - 18fb2: 3028 adds r0, #40 ; 0x28 - 18fb4: 0040 lsls r0, r0, #1 - 18fb6: 4b05 ldr r3, [pc, #20] ; (18fcc ) - 18fb8: fb83 2300 smull r2, r3, r3, r0 - 18fbc: 17c2 asrs r2, r0, #31 - 18fbe: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18fc2: b212 sxth r2, r2 - 18fc4: f7fe be91 b.w 17cea - 18fc8: 000114e5 .word 0x000114e5 - 18fcc: 66666667 .word 0x66666667 + 18a04: 2000 movs r0, #0 + 18a06: 4b06 ldr r3, [pc, #24] ; (18a20 ) + 18a08: 4798 blx r3 + 18a0a: 3028 adds r0, #40 ; 0x28 + 18a0c: 0040 lsls r0, r0, #1 + 18a0e: 4b05 ldr r3, [pc, #20] ; (18a24 ) + 18a10: fb83 2300 smull r2, r3, r3, r0 + 18a14: 17c2 asrs r2, r0, #31 + 18a16: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18a1a: b212 sxth r2, r2 + 18a1c: f7fe be91 b.w 17742 + 18a20: 00010f3d .word 0x00010f3d + 18a24: 66666667 .word 0x66666667 lv_style_set_pad_left(&styles->ta_cursor, LV_STATE_DEFAULT, LV_DPX(1)); - 18fd0: 2000 movs r0, #0 - 18fd2: 4bcd ldr r3, [pc, #820] ; (19308 ) - 18fd4: 4798 blx r3 - 18fd6: 3050 adds r0, #80 ; 0x50 - 18fd8: 4bcc ldr r3, [pc, #816] ; (1930c ) - 18fda: fb83 2300 smull r2, r3, r3, r0 - 18fde: 17c2 asrs r2, r0, #31 - 18fe0: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18fe4: b212 sxth r2, r2 - 18fe6: f7fe be9d b.w 17d24 + 18a28: 2000 movs r0, #0 + 18a2a: 4bcd ldr r3, [pc, #820] ; (18d60 ) + 18a2c: 4798 blx r3 + 18a2e: 3050 adds r0, #80 ; 0x50 + 18a30: 4bcc ldr r3, [pc, #816] ; (18d64 ) + 18a32: fb83 2300 smull r2, r3, r3, r0 + 18a36: 17c2 asrs r2, r0, #31 + 18a38: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18a3c: b212 sxth r2, r2 + 18a3e: f7fe be9d b.w 1777c lv_style_set_text_color(&styles->ta_placeholder, LV_STATE_DEFAULT, IS_LIGHT ? COLOR_BG_TEXT_DIS : lv_color_hex(0xa1adbd)); - 18fea: 2315 movs r3, #21 - 18fec: 212a movs r1, #42 ; 0x2a - 18fee: 461c mov r4, r3 - 18ff0: f7fe beb0 b.w 17d54 + 18a42: 2315 movs r3, #21 + 18a44: 212a movs r1, #42 ; 0x2a + 18a46: 461c mov r4, r3 + 18a48: f7fe beb0 b.w 177ac lv_style_set_pad_top(&styles->spinbox_cursor, LV_STATE_DEFAULT, LV_DPX(100)); - 18ff4: 2000 movs r0, #0 - 18ff6: 4bc4 ldr r3, [pc, #784] ; (19308 ) - 18ff8: 4798 blx r3 - 18ffa: 2264 movs r2, #100 ; 0x64 - 18ffc: fb02 f000 mul.w r0, r2, r0 - 19000: 3050 adds r0, #80 ; 0x50 - 19002: 4bc2 ldr r3, [pc, #776] ; (1930c ) - 19004: fb83 2300 smull r2, r3, r3, r0 - 19008: 17c2 asrs r2, r0, #31 - 1900a: ebc2 12a3 rsb r2, r2, r3, asr #6 - 1900e: b212 sxth r2, r2 - 19010: f7fe bed1 b.w 17db6 + 18a4c: 2000 movs r0, #0 + 18a4e: 4bc4 ldr r3, [pc, #784] ; (18d60 ) + 18a50: 4798 blx r3 + 18a52: 2264 movs r2, #100 ; 0x64 + 18a54: fb02 f000 mul.w r0, r2, r0 + 18a58: 3050 adds r0, #80 ; 0x50 + 18a5a: 4bc2 ldr r3, [pc, #776] ; (18d64 ) + 18a5c: fb83 2300 smull r2, r3, r3, r0 + 18a60: 17c2 asrs r2, r0, #31 + 18a62: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18a66: b212 sxth r2, r2 + 18a68: f7fe bed1 b.w 1780e lv_style_set_pad_bottom(&styles->spinbox_cursor, LV_STATE_DEFAULT, LV_DPX(100)); - 19014: 2000 movs r0, #0 - 19016: 4bbc ldr r3, [pc, #752] ; (19308 ) - 19018: 4798 blx r3 - 1901a: 2264 movs r2, #100 ; 0x64 - 1901c: fb02 f000 mul.w r0, r2, r0 - 19020: 3050 adds r0, #80 ; 0x50 - 19022: 4bba ldr r3, [pc, #744] ; (1930c ) - 19024: fb83 2300 smull r2, r3, r3, r0 - 19028: 17c2 asrs r2, r0, #31 - 1902a: ebc2 12a3 rsb r2, r2, r3, asr #6 - 1902e: b212 sxth r2, r2 - 19030: f7fe bed4 b.w 17ddc + 18a6c: 2000 movs r0, #0 + 18a6e: 4bbc ldr r3, [pc, #752] ; (18d60 ) + 18a70: 4798 blx r3 + 18a72: 2264 movs r2, #100 ; 0x64 + 18a74: fb02 f000 mul.w r0, r2, r0 + 18a78: 3050 adds r0, #80 ; 0x50 + 18a7a: 4bba ldr r3, [pc, #744] ; (18d64 ) + 18a7c: fb83 2300 smull r2, r3, r3, r0 + 18a80: 17c2 asrs r2, r0, #31 + 18a82: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18a86: b212 sxth r2, r2 + 18a88: f7fe bed4 b.w 17834 lv_style_set_bg_color(&styles->list_btn, LV_STATE_DEFAULT, COLOR_BG); - 19034: 231f movs r3, #31 - 19036: 213f movs r1, #63 ; 0x3f - 19038: 461c mov r4, r3 - 1903a: f7fe bf09 b.w 17e50 + 18a8c: 231f movs r3, #31 + 18a8e: 213f movs r1, #63 ; 0x3f + 18a90: 461c mov r4, r3 + 18a92: f7fe bf09 b.w 178a8 lv_style_set_bg_color(&styles->list_btn, LV_STATE_PRESSED, COLOR_BG_PR); - 1903e: 231d movs r3, #29 - 19040: 213b movs r1, #59 ; 0x3b - 19042: 461c mov r4, r3 - 19044: f7fe bf1a b.w 17e7c + 18a96: 231d movs r3, #29 + 18a98: 213b movs r1, #59 ; 0x3b + 18a9a: 461c mov r4, r3 + 18a9c: f7fe bf1a b.w 178d4 lv_style_set_bg_color(&styles->list_btn, LV_STATE_DISABLED, COLOR_BG_DIS); - 19048: 231f movs r3, #31 - 1904a: 213f movs r1, #63 ; 0x3f - 1904c: 461c mov r4, r3 - 1904e: f7fe bf2c b.w 17eaa + 18aa0: 231f movs r3, #31 + 18aa2: 213f movs r1, #63 ; 0x3f + 18aa4: 461c mov r4, r3 + 18aa6: f7fe bf2c b.w 17902 lv_style_set_text_color(&styles->list_btn, LV_STATE_DEFAULT, COLOR_BG_TEXT); - 19052: 2307 movs r3, #7 - 19054: 210f movs r1, #15 - 19056: 2408 movs r4, #8 - 19058: f7fe bf4f b.w 17efa + 18aaa: 2307 movs r3, #7 + 18aac: 210f movs r1, #15 + 18aae: 2408 movs r4, #8 + 18ab0: f7fe bf4f b.w 17952 lv_style_set_image_recolor(&styles->list_btn, LV_STATE_DEFAULT, COLOR_BG_TEXT); - 1905c: 2307 movs r3, #7 - 1905e: 210f movs r1, #15 - 19060: 2408 movs r4, #8 - 19062: f7fe bf7f b.w 17f64 + 18ab4: 2307 movs r3, #7 + 18ab6: 210f movs r1, #15 + 18ab8: 2408 movs r4, #8 + 18aba: f7fe bf7f b.w 179bc lv_style_set_pad_left(&styles->list_btn, LV_STATE_DEFAULT, PAD_DEF); - 19066: 2000 movs r0, #0 - 19068: 4ba7 ldr r3, [pc, #668] ; (19308 ) - 1906a: 4798 blx r3 - 1906c: ebc0 1000 rsb r0, r0, r0, lsl #4 - 19070: 3050 adds r0, #80 ; 0x50 - 19072: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 19076: da02 bge.n 1907e - 19078: 2201 movs r2, #1 - 1907a: f7fe bfef b.w 1805c - 1907e: 2000 movs r0, #0 - 19080: 4ba1 ldr r3, [pc, #644] ; (19308 ) - 19082: 4798 blx r3 - 19084: ebc0 1000 rsb r0, r0, r0, lsl #4 - 19088: 3050 adds r0, #80 ; 0x50 - 1908a: 4ba0 ldr r3, [pc, #640] ; (1930c ) - 1908c: fb83 2300 smull r2, r3, r3, r0 - 19090: 17c2 asrs r2, r0, #31 - 19092: ebc2 12a3 rsb r2, r2, r3, asr #6 - 19096: b212 sxth r2, r2 - 19098: f7fe bfe0 b.w 1805c + 18abe: 2000 movs r0, #0 + 18ac0: 4ba7 ldr r3, [pc, #668] ; (18d60 ) + 18ac2: 4798 blx r3 + 18ac4: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18ac8: 3050 adds r0, #80 ; 0x50 + 18aca: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 18ace: da02 bge.n 18ad6 + 18ad0: 2201 movs r2, #1 + 18ad2: f7fe bfef b.w 17ab4 + 18ad6: 2000 movs r0, #0 + 18ad8: 4ba1 ldr r3, [pc, #644] ; (18d60 ) + 18ada: 4798 blx r3 + 18adc: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18ae0: 3050 adds r0, #80 ; 0x50 + 18ae2: 4ba0 ldr r3, [pc, #640] ; (18d64 ) + 18ae4: fb83 2300 smull r2, r3, r3, r0 + 18ae8: 17c2 asrs r2, r0, #31 + 18aea: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18aee: b212 sxth r2, r2 + 18af0: f7fe bfe0 b.w 17ab4 + 18af4: 2000 movs r0, #0 + 18af6: 4b9a ldr r3, [pc, #616] ; (18d60 ) + 18af8: 4798 blx r3 + 18afa: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18afe: 0040 lsls r0, r0, #1 + 18b00: 3050 adds r0, #80 ; 0x50 + 18b02: 4b98 ldr r3, [pc, #608] ; (18d64 ) + 18b04: fb83 2300 smull r2, r3, r3, r0 + 18b08: 17c2 asrs r2, r0, #31 + 18b0a: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18b0e: b212 sxth r2, r2 + 18b10: f7fe bfd0 b.w 17ab4 + lv_style_set_pad_right(&styles->list_btn, LV_STATE_DEFAULT, PAD_DEF); + 18b14: 2000 movs r0, #0 + 18b16: 4b92 ldr r3, [pc, #584] ; (18d60 ) + 18b18: 4798 blx r3 + 18b1a: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18b1e: 3050 adds r0, #80 ; 0x50 + 18b20: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 18b24: da02 bge.n 18b2c + 18b26: 2201 movs r2, #1 + 18b28: f7fe bfdd b.w 17ae6 + 18b2c: 2000 movs r0, #0 + 18b2e: 4b8c ldr r3, [pc, #560] ; (18d60 ) + 18b30: 4798 blx r3 + 18b32: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18b36: 3050 adds r0, #80 ; 0x50 + 18b38: 4b8a ldr r3, [pc, #552] ; (18d64 ) + 18b3a: fb83 2300 smull r2, r3, r3, r0 + 18b3e: 17c2 asrs r2, r0, #31 + 18b40: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18b44: b212 sxth r2, r2 + 18b46: f7fe bfce b.w 17ae6 + 18b4a: 2000 movs r0, #0 + 18b4c: 4b84 ldr r3, [pc, #528] ; (18d60 ) + 18b4e: 4798 blx r3 + 18b50: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18b54: 0040 lsls r0, r0, #1 + 18b56: 3050 adds r0, #80 ; 0x50 + 18b58: 4b82 ldr r3, [pc, #520] ; (18d64 ) + 18b5a: fb83 2300 smull r2, r3, r3, r0 + 18b5e: 17c2 asrs r2, r0, #31 + 18b60: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18b64: b212 sxth r2, r2 + 18b66: f7fe bfbe b.w 17ae6 + lv_style_set_pad_top(&styles->list_btn, LV_STATE_DEFAULT, PAD_DEF); + 18b6a: 2000 movs r0, #0 + 18b6c: 4b7c ldr r3, [pc, #496] ; (18d60 ) + 18b6e: 4798 blx r3 + 18b70: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18b74: 3050 adds r0, #80 ; 0x50 + 18b76: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 18b7a: da02 bge.n 18b82 + 18b7c: 2201 movs r2, #1 + 18b7e: f7fe bfcb b.w 17b18 + 18b82: 2000 movs r0, #0 + 18b84: 4b76 ldr r3, [pc, #472] ; (18d60 ) + 18b86: 4798 blx r3 + 18b88: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18b8c: 3050 adds r0, #80 ; 0x50 + 18b8e: 4b75 ldr r3, [pc, #468] ; (18d64 ) + 18b90: fb83 2300 smull r2, r3, r3, r0 + 18b94: 17c2 asrs r2, r0, #31 + 18b96: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18b9a: b212 sxth r2, r2 + 18b9c: f7fe bfbc b.w 17b18 + 18ba0: 2000 movs r0, #0 + 18ba2: 4b6f ldr r3, [pc, #444] ; (18d60 ) + 18ba4: 4798 blx r3 + 18ba6: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18baa: 0040 lsls r0, r0, #1 + 18bac: 3050 adds r0, #80 ; 0x50 + 18bae: 4b6d ldr r3, [pc, #436] ; (18d64 ) + 18bb0: fb83 2300 smull r2, r3, r3, r0 + 18bb4: 17c2 asrs r2, r0, #31 + 18bb6: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18bba: b212 sxth r2, r2 + 18bbc: f7fe bfac b.w 17b18 + lv_style_set_pad_bottom(&styles->list_btn, LV_STATE_DEFAULT, PAD_DEF); + 18bc0: 2000 movs r0, #0 + 18bc2: 4b67 ldr r3, [pc, #412] ; (18d60 ) + 18bc4: 4798 blx r3 + 18bc6: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18bca: 3050 adds r0, #80 ; 0x50 + 18bcc: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 18bd0: da02 bge.n 18bd8 + 18bd2: 2201 movs r2, #1 + 18bd4: f7fe bfb9 b.w 17b4a + 18bd8: 2000 movs r0, #0 + 18bda: 4b61 ldr r3, [pc, #388] ; (18d60 ) + 18bdc: 4798 blx r3 + 18bde: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18be2: 3050 adds r0, #80 ; 0x50 + 18be4: 4b5f ldr r3, [pc, #380] ; (18d64 ) + 18be6: fb83 2300 smull r2, r3, r3, r0 + 18bea: 17c2 asrs r2, r0, #31 + 18bec: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18bf0: b212 sxth r2, r2 + 18bf2: f7fe bfaa b.w 17b4a + 18bf6: 2000 movs r0, #0 + 18bf8: 4b59 ldr r3, [pc, #356] ; (18d60 ) + 18bfa: 4798 blx r3 + 18bfc: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18c00: 0040 lsls r0, r0, #1 + 18c02: 3050 adds r0, #80 ; 0x50 + 18c04: 4b57 ldr r3, [pc, #348] ; (18d64 ) + 18c06: fb83 2300 smull r2, r3, r3, r0 + 18c0a: 17c2 asrs r2, r0, #31 + 18c0c: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18c10: b212 sxth r2, r2 + 18c12: f7fe bf9a b.w 17b4a + lv_style_set_pad_inner(&styles->list_btn, LV_STATE_DEFAULT, PAD_DEF); + 18c16: 2000 movs r0, #0 + 18c18: 4b51 ldr r3, [pc, #324] ; (18d60 ) + 18c1a: 4798 blx r3 + 18c1c: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18c20: 3050 adds r0, #80 ; 0x50 + 18c22: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 18c26: da02 bge.n 18c2e + 18c28: 2201 movs r2, #1 + 18c2a: f7fe bfa7 b.w 17b7c + 18c2e: 2000 movs r0, #0 + 18c30: 4b4b ldr r3, [pc, #300] ; (18d60 ) + 18c32: 4798 blx r3 + 18c34: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18c38: 3050 adds r0, #80 ; 0x50 + 18c3a: 4b4a ldr r3, [pc, #296] ; (18d64 ) + 18c3c: fb83 2300 smull r2, r3, r3, r0 + 18c40: 17c2 asrs r2, r0, #31 + 18c42: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18c46: b212 sxth r2, r2 + 18c48: f7fe bf98 b.w 17b7c + 18c4c: 2000 movs r0, #0 + 18c4e: 4b44 ldr r3, [pc, #272] ; (18d60 ) + 18c50: 4798 blx r3 + 18c52: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18c56: 0040 lsls r0, r0, #1 + 18c58: 3050 adds r0, #80 ; 0x50 + 18c5a: 4b42 ldr r3, [pc, #264] ; (18d64 ) + 18c5c: fb83 2300 smull r2, r3, r3, r0 + 18c60: 17c2 asrs r2, r0, #31 + 18c62: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18c66: b212 sxth r2, r2 + 18c68: f7fe bf88 b.w 17b7c + lv_style_set_transform_width(&styles->list_btn, LV_STATE_DEFAULT, - PAD_DEF); + 18c6c: 2000 movs r0, #0 + 18c6e: 4b3c ldr r3, [pc, #240] ; (18d60 ) + 18c70: 4798 blx r3 + 18c72: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18c76: 3050 adds r0, #80 ; 0x50 + 18c78: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 18c7c: da03 bge.n 18c86 + 18c7e: f04f 32ff mov.w r2, #4294967295 + 18c82: f7fe bf95 b.w 17bb0 + 18c86: 2000 movs r0, #0 + 18c88: 4b35 ldr r3, [pc, #212] ; (18d60 ) + 18c8a: 4798 blx r3 + 18c8c: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18c90: 3050 adds r0, #80 ; 0x50 + 18c92: 4b34 ldr r3, [pc, #208] ; (18d64 ) + 18c94: fb83 2300 smull r2, r3, r3, r0 + 18c98: 17c2 asrs r2, r0, #31 + 18c9a: eba2 12a3 sub.w r2, r2, r3, asr #6 + 18c9e: b212 sxth r2, r2 + 18ca0: f7fe bf86 b.w 17bb0 + 18ca4: 2000 movs r0, #0 + 18ca6: 4b2e ldr r3, [pc, #184] ; (18d60 ) + 18ca8: 4798 blx r3 + 18caa: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18cae: 0040 lsls r0, r0, #1 + 18cb0: 3050 adds r0, #80 ; 0x50 + 18cb2: 4b2c ldr r3, [pc, #176] ; (18d64 ) + 18cb4: fb83 2300 smull r2, r3, r3, r0 + 18cb8: 17c2 asrs r2, r0, #31 + 18cba: eba2 12a3 sub.w r2, r2, r3, asr #6 + 18cbe: b212 sxth r2, r2 + 18cc0: f7fe bf76 b.w 17bb0 + lv_style_set_text_line_space(&styles->ddlist_page, LV_STATE_DEFAULT, LV_DPX(20)); + 18cc4: 2000 movs r0, #0 + 18cc6: 4b26 ldr r3, [pc, #152] ; (18d60 ) + 18cc8: 4798 blx r3 + 18cca: eb00 0080 add.w r0, r0, r0, lsl #2 + 18cce: 0080 lsls r0, r0, #2 + 18cd0: 3050 adds r0, #80 ; 0x50 + 18cd2: 4b24 ldr r3, [pc, #144] ; (18d64 ) + 18cd4: fb83 2300 smull r2, r3, r3, r0 + 18cd8: 17c2 asrs r2, r0, #31 + 18cda: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18cde: b212 sxth r2, r2 + 18ce0: f7fe bf9e b.w 17c20 + lv_style_set_bg_color(&styles->ddlist_sel, LV_STATE_PRESSED, COLOR_BG_PR); + 18ce4: 231d movs r3, #29 + 18ce6: 213b movs r1, #59 ; 0x3b + 18ce8: 461c mov r4, r3 + 18cea: f7fe bfc5 b.w 17c78 + lv_style_set_text_color(&styles->ddlist_sel, LV_STATE_PRESSED, COLOR_BG_TEXT_PR); + 18cee: 2307 movs r3, #7 + 18cf0: 210f movs r1, #15 + 18cf2: 2408 movs r4, #8 + 18cf4: f7fe bfd7 b.w 17ca6 + lv_style_set_text_line_space(&styles->roller_bg, LV_STATE_DEFAULT, LV_DPX(25)); + 18cf8: 2000 movs r0, #0 + 18cfa: 4b19 ldr r3, [pc, #100] ; (18d60 ) + 18cfc: 4798 blx r3 + 18cfe: eb00 0080 add.w r0, r0, r0, lsl #2 + 18d02: eb00 0080 add.w r0, r0, r0, lsl #2 + 18d06: 3050 adds r0, #80 ; 0x50 + 18d08: 4b16 ldr r3, [pc, #88] ; (18d64 ) + 18d0a: fb83 2300 smull r2, r3, r3, r0 + 18d0e: 17c2 asrs r2, r0, #31 + 18d10: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18d14: b212 sxth r2, r2 + 18d16: f7fe bfe6 b.w 17ce6 + lv_style_set_bg_color(&styles->tabview_btns_bg, LV_STATE_DEFAULT, COLOR_BG); + 18d1a: 231f movs r3, #31 + 18d1c: 213f movs r1, #63 ; 0x3f + 18d1e: 461c mov r4, r3 + 18d20: f7ff b810 b.w 17d44 + lv_style_set_border_width(&styles->tabview_btns_bg, LV_STATE_DEFAULT, LV_DPX(5)); + 18d24: 2000 movs r0, #0 + 18d26: 4b0e ldr r3, [pc, #56] ; (18d60 ) + 18d28: 4798 blx r3 + 18d2a: eb00 0080 add.w r0, r0, r0, lsl #2 + 18d2e: 3050 adds r0, #80 ; 0x50 + 18d30: 4b0c ldr r3, [pc, #48] ; (18d64 ) + 18d32: fb83 2300 smull r2, r3, r3, r0 + 18d36: 17c2 asrs r2, r0, #31 + 18d38: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18d3c: b212 sxth r2, r2 + 18d3e: f7ff b845 b.w 17dcc + lv_style_set_pad_top(&styles->tabview_btns_bg, LV_STATE_DEFAULT, LV_DPX(7)); + 18d42: 2000 movs r0, #0 + 18d44: 4b06 ldr r3, [pc, #24] ; (18d60 ) + 18d46: 4798 blx r3 + 18d48: ebc0 00c0 rsb r0, r0, r0, lsl #3 + 18d4c: 3050 adds r0, #80 ; 0x50 + 18d4e: 4b05 ldr r3, [pc, #20] ; (18d64 ) + 18d50: fb83 2300 smull r2, r3, r3, r0 + 18d54: 17c2 asrs r2, r0, #31 + 18d56: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18d5a: b212 sxth r2, r2 + 18d5c: f7ff b87f b.w 17e5e + 18d60: 00010f3d .word 0x00010f3d + 18d64: 66666667 .word 0x66666667 + lv_style_set_pad_left(&styles->tabview_btns_bg, LV_STATE_DEFAULT, LV_DPX(7)); + 18d68: 2000 movs r0, #0 + 18d6a: 4bca ldr r3, [pc, #808] ; (19094 ) + 18d6c: 4798 blx r3 + 18d6e: ebc0 00c0 rsb r0, r0, r0, lsl #3 + 18d72: 3050 adds r0, #80 ; 0x50 + 18d74: 4bc8 ldr r3, [pc, #800] ; (19098 ) + 18d76: fb83 2300 smull r2, r3, r3, r0 + 18d7a: 17c2 asrs r2, r0, #31 + 18d7c: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18d80: b212 sxth r2, r2 + 18d82: f7ff b87e b.w 17e82 + lv_style_set_pad_right(&styles->tabview_btns_bg, LV_STATE_DEFAULT, LV_DPX(7)); + 18d86: 2000 movs r0, #0 + 18d88: 4bc2 ldr r3, [pc, #776] ; (19094 ) + 18d8a: 4798 blx r3 + 18d8c: ebc0 00c0 rsb r0, r0, r0, lsl #3 + 18d90: 3050 adds r0, #80 ; 0x50 + 18d92: 4bc1 ldr r3, [pc, #772] ; (19098 ) + 18d94: fb83 2300 smull r2, r3, r3, r0 + 18d98: 17c2 asrs r2, r0, #31 + 18d9a: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18d9e: b212 sxth r2, r2 + 18da0: f7ff b881 b.w 17ea6 + lv_style_set_pad_top(&styles->tabview_btns, LV_STATE_DEFAULT, LV_DPX(20)); + 18da4: 2000 movs r0, #0 + 18da6: 4bbb ldr r3, [pc, #748] ; (19094 ) + 18da8: 4798 blx r3 + 18daa: eb00 0080 add.w r0, r0, r0, lsl #2 + 18dae: 0080 lsls r0, r0, #2 + 18db0: 3050 adds r0, #80 ; 0x50 + 18db2: 4bb9 ldr r3, [pc, #740] ; (19098 ) + 18db4: fb83 2300 smull r2, r3, r3, r0 + 18db8: 17c2 asrs r2, r0, #31 + 18dba: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18dbe: b212 sxth r2, r2 + 18dc0: f7ff b8ba b.w 17f38 + lv_style_set_pad_bottom(&styles->tabview_btns, LV_STATE_DEFAULT, LV_DPX(20)); + 18dc4: 2000 movs r0, #0 + 18dc6: 4bb3 ldr r3, [pc, #716] ; (19094 ) + 18dc8: 4798 blx r3 + 18dca: eb00 0080 add.w r0, r0, r0, lsl #2 + 18dce: 0080 lsls r0, r0, #2 + 18dd0: 3050 adds r0, #80 ; 0x50 + 18dd2: 4bb1 ldr r3, [pc, #708] ; (19098 ) + 18dd4: fb83 2300 smull r2, r3, r3, r0 + 18dd8: 17c2 asrs r2, r0, #31 + 18dda: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18dde: b212 sxth r2, r2 + 18de0: f7ff b8bd b.w 17f5e + lv_style_set_size(&styles->tabview_indic, LV_STATE_DEFAULT, LV_DPX(5)); + 18de4: 2000 movs r0, #0 + 18de6: 4bab ldr r3, [pc, #684] ; (19094 ) + 18de8: 4798 blx r3 + 18dea: eb00 0080 add.w r0, r0, r0, lsl #2 + 18dee: 3050 adds r0, #80 ; 0x50 + 18df0: 4ba9 ldr r3, [pc, #676] ; (19098 ) + 18df2: fb83 2300 smull r2, r3, r3, r0 + 18df6: 17c2 asrs r2, r0, #31 + 18df8: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18dfc: b212 sxth r2, r2 + 18dfe: f7ff b8e2 b.w 17fc6 + lv_style_set_pad_top(&styles->tabview_page_scrl, LV_STATE_DEFAULT, PAD_DEF); + 18e02: 2000 movs r0, #0 + 18e04: 4ba3 ldr r3, [pc, #652] ; (19094 ) + 18e06: 4798 blx r3 + 18e08: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18e0c: 3050 adds r0, #80 ; 0x50 + 18e0e: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 18e12: da02 bge.n 18e1a + 18e14: 2201 movs r2, #1 + 18e16: f7ff b8f9 b.w 1800c + 18e1a: 2000 movs r0, #0 + 18e1c: 4b9d ldr r3, [pc, #628] ; (19094 ) + 18e1e: 4798 blx r3 + 18e20: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18e24: 3050 adds r0, #80 ; 0x50 + 18e26: 4b9c ldr r3, [pc, #624] ; (19098 ) + 18e28: fb83 2300 smull r2, r3, r3, r0 + 18e2c: 17c2 asrs r2, r0, #31 + 18e2e: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18e32: b212 sxth r2, r2 + 18e34: f7ff b8ea b.w 1800c + 18e38: 2000 movs r0, #0 + 18e3a: 4b96 ldr r3, [pc, #600] ; (19094 ) + 18e3c: 4798 blx r3 + 18e3e: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18e42: 0040 lsls r0, r0, #1 + 18e44: 3050 adds r0, #80 ; 0x50 + 18e46: 4b94 ldr r3, [pc, #592] ; (19098 ) + 18e48: fb83 2300 smull r2, r3, r3, r0 + 18e4c: 17c2 asrs r2, r0, #31 + 18e4e: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18e52: b212 sxth r2, r2 + 18e54: f7ff b8da b.w 1800c + lv_style_set_pad_bottom(&styles->tabview_page_scrl, LV_STATE_DEFAULT, PAD_DEF); + 18e58: 2000 movs r0, #0 + 18e5a: 4b8e ldr r3, [pc, #568] ; (19094 ) + 18e5c: 4798 blx r3 + 18e5e: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18e62: 3050 adds r0, #80 ; 0x50 + 18e64: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 18e68: da02 bge.n 18e70 + 18e6a: 2201 movs r2, #1 + 18e6c: f7ff b8e7 b.w 1803e + 18e70: 2000 movs r0, #0 + 18e72: 4b88 ldr r3, [pc, #544] ; (19094 ) + 18e74: 4798 blx r3 + 18e76: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18e7a: 3050 adds r0, #80 ; 0x50 + 18e7c: 4b86 ldr r3, [pc, #536] ; (19098 ) + 18e7e: fb83 2300 smull r2, r3, r3, r0 + 18e82: 17c2 asrs r2, r0, #31 + 18e84: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18e88: b212 sxth r2, r2 + 18e8a: f7ff b8d8 b.w 1803e + 18e8e: 2000 movs r0, #0 + 18e90: 4b80 ldr r3, [pc, #512] ; (19094 ) + 18e92: 4798 blx r3 + 18e94: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18e98: 0040 lsls r0, r0, #1 + 18e9a: 3050 adds r0, #80 ; 0x50 + 18e9c: 4b7e ldr r3, [pc, #504] ; (19098 ) + 18e9e: fb83 2300 smull r2, r3, r3, r0 + 18ea2: 17c2 asrs r2, r0, #31 + 18ea4: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18ea8: b212 sxth r2, r2 + 18eaa: f7ff b8c8 b.w 1803e + lv_style_set_pad_left(&styles->tabview_page_scrl, LV_STATE_DEFAULT, PAD_DEF); + 18eae: 2000 movs r0, #0 + 18eb0: 4b78 ldr r3, [pc, #480] ; (19094 ) + 18eb2: 4798 blx r3 + 18eb4: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18eb8: 3050 adds r0, #80 ; 0x50 + 18eba: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 18ebe: da02 bge.n 18ec6 + 18ec0: 2201 movs r2, #1 + 18ec2: f7ff b8d5 b.w 18070 + 18ec6: 2000 movs r0, #0 + 18ec8: 4b72 ldr r3, [pc, #456] ; (19094 ) + 18eca: 4798 blx r3 + 18ecc: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18ed0: 3050 adds r0, #80 ; 0x50 + 18ed2: 4b71 ldr r3, [pc, #452] ; (19098 ) + 18ed4: fb83 2300 smull r2, r3, r3, r0 + 18ed8: 17c2 asrs r2, r0, #31 + 18eda: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18ede: b212 sxth r2, r2 + 18ee0: f7ff b8c6 b.w 18070 + 18ee4: 2000 movs r0, #0 + 18ee6: 4b6b ldr r3, [pc, #428] ; (19094 ) + 18ee8: 4798 blx r3 + 18eea: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18eee: 0040 lsls r0, r0, #1 + 18ef0: 3050 adds r0, #80 ; 0x50 + 18ef2: 4b69 ldr r3, [pc, #420] ; (19098 ) + 18ef4: fb83 2300 smull r2, r3, r3, r0 + 18ef8: 17c2 asrs r2, r0, #31 + 18efa: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18efe: b212 sxth r2, r2 + 18f00: f7ff b8b6 b.w 18070 + lv_style_set_pad_right(&styles->tabview_page_scrl, LV_STATE_DEFAULT, PAD_DEF); + 18f04: 2000 movs r0, #0 + 18f06: 4b63 ldr r3, [pc, #396] ; (19094 ) + 18f08: 4798 blx r3 + 18f0a: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18f0e: 3050 adds r0, #80 ; 0x50 + 18f10: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 18f14: da02 bge.n 18f1c + 18f16: 2201 movs r2, #1 + 18f18: f7ff b8d4 b.w 180c4 + 18f1c: 2000 movs r0, #0 + 18f1e: 4b5d ldr r3, [pc, #372] ; (19094 ) + 18f20: 4798 blx r3 + 18f22: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18f26: 3050 adds r0, #80 ; 0x50 + 18f28: 4b5b ldr r3, [pc, #364] ; (19098 ) + 18f2a: fb83 2300 smull r2, r3, r3, r0 + 18f2e: 17c2 asrs r2, r0, #31 + 18f30: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18f34: b212 sxth r2, r2 + 18f36: f7ff b8c5 b.w 180c4 + 18f3a: 2000 movs r0, #0 + 18f3c: 4b55 ldr r3, [pc, #340] ; (19094 ) + 18f3e: 4798 blx r3 + 18f40: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18f44: 0040 lsls r0, r0, #1 + 18f46: 3050 adds r0, #80 ; 0x50 + 18f48: 4b53 ldr r3, [pc, #332] ; (19098 ) + 18f4a: fb83 2300 smull r2, r3, r3, r0 + 18f4e: 17c2 asrs r2, r0, #31 + 18f50: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18f54: b212 sxth r2, r2 + 18f56: f7ff b8b5 b.w 180c4 + lv_style_set_pad_inner(&styles->tabview_page_scrl, LV_STATE_DEFAULT, PAD_DEF); + 18f5a: 2000 movs r0, #0 + 18f5c: 4b4d ldr r3, [pc, #308] ; (19094 ) + 18f5e: 4798 blx r3 + 18f60: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18f64: 3050 adds r0, #80 ; 0x50 + 18f66: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 18f6a: da02 bge.n 18f72 + 18f6c: 2201 movs r2, #1 + 18f6e: f7ff b8c2 b.w 180f6 + 18f72: 2000 movs r0, #0 + 18f74: 4b47 ldr r3, [pc, #284] ; (19094 ) + 18f76: 4798 blx r3 + 18f78: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18f7c: 3050 adds r0, #80 ; 0x50 + 18f7e: 4b46 ldr r3, [pc, #280] ; (19098 ) + 18f80: fb83 2300 smull r2, r3, r3, r0 + 18f84: 17c2 asrs r2, r0, #31 + 18f86: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18f8a: b212 sxth r2, r2 + 18f8c: f7ff b8b3 b.w 180f6 + 18f90: 2000 movs r0, #0 + 18f92: 4b40 ldr r3, [pc, #256] ; (19094 ) + 18f94: 4798 blx r3 + 18f96: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18f9a: 0040 lsls r0, r0, #1 + 18f9c: 3050 adds r0, #80 ; 0x50 + 18f9e: 4b3e ldr r3, [pc, #248] ; (19098 ) + 18fa0: fb83 2300 smull r2, r3, r3, r0 + 18fa4: 17c2 asrs r2, r0, #31 + 18fa6: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18faa: b212 sxth r2, r2 + 18fac: f7ff b8a3 b.w 180f6 + lv_style_set_pad_left(&styles->table_cell, LV_STATE_DEFAULT, PAD_DEF); + 18fb0: 2000 movs r0, #0 + 18fb2: 4b38 ldr r3, [pc, #224] ; (19094 ) + 18fb4: 4798 blx r3 + 18fb6: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18fba: 3050 adds r0, #80 ; 0x50 + 18fbc: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 18fc0: da02 bge.n 18fc8 + 18fc2: 2201 movs r2, #1 + 18fc4: f7ff b8d9 b.w 1817a + 18fc8: 2000 movs r0, #0 + 18fca: 4b32 ldr r3, [pc, #200] ; (19094 ) + 18fcc: 4798 blx r3 + 18fce: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18fd2: 3050 adds r0, #80 ; 0x50 + 18fd4: 4b30 ldr r3, [pc, #192] ; (19098 ) + 18fd6: fb83 2300 smull r2, r3, r3, r0 + 18fda: 17c2 asrs r2, r0, #31 + 18fdc: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18fe0: b212 sxth r2, r2 + 18fe2: f7ff b8ca b.w 1817a + 18fe6: 2000 movs r0, #0 + 18fe8: 4b2a ldr r3, [pc, #168] ; (19094 ) + 18fea: 4798 blx r3 + 18fec: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18ff0: 0040 lsls r0, r0, #1 + 18ff2: 3050 adds r0, #80 ; 0x50 + 18ff4: 4b28 ldr r3, [pc, #160] ; (19098 ) + 18ff6: fb83 2300 smull r2, r3, r3, r0 + 18ffa: 17c2 asrs r2, r0, #31 + 18ffc: ebc2 12a3 rsb r2, r2, r3, asr #6 + 19000: b212 sxth r2, r2 + 19002: f7ff b8ba b.w 1817a + lv_style_set_pad_right(&styles->table_cell, LV_STATE_DEFAULT, PAD_DEF); + 19006: 2000 movs r0, #0 + 19008: 4b22 ldr r3, [pc, #136] ; (19094 ) + 1900a: 4798 blx r3 + 1900c: ebc0 1000 rsb r0, r0, r0, lsl #4 + 19010: 3050 adds r0, #80 ; 0x50 + 19012: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 19016: da02 bge.n 1901e + 19018: 2201 movs r2, #1 + 1901a: f7ff b8c7 b.w 181ac + 1901e: 2000 movs r0, #0 + 19020: 4b1c ldr r3, [pc, #112] ; (19094 ) + 19022: 4798 blx r3 + 19024: ebc0 1000 rsb r0, r0, r0, lsl #4 + 19028: 3050 adds r0, #80 ; 0x50 + 1902a: 4b1b ldr r3, [pc, #108] ; (19098 ) + 1902c: fb83 2300 smull r2, r3, r3, r0 + 19030: 17c2 asrs r2, r0, #31 + 19032: ebc2 12a3 rsb r2, r2, r3, asr #6 + 19036: b212 sxth r2, r2 + 19038: f7ff b8b8 b.w 181ac + 1903c: 2000 movs r0, #0 + 1903e: 4b15 ldr r3, [pc, #84] ; (19094 ) + 19040: 4798 blx r3 + 19042: ebc0 1000 rsb r0, r0, r0, lsl #4 + 19046: 0040 lsls r0, r0, #1 + 19048: 3050 adds r0, #80 ; 0x50 + 1904a: 4b13 ldr r3, [pc, #76] ; (19098 ) + 1904c: fb83 2300 smull r2, r3, r3, r0 + 19050: 17c2 asrs r2, r0, #31 + 19052: ebc2 12a3 rsb r2, r2, r3, asr #6 + 19056: b212 sxth r2, r2 + 19058: f7ff b8a8 b.w 181ac + lv_style_set_pad_top(&styles->table_cell, LV_STATE_DEFAULT, PAD_DEF); + 1905c: 2000 movs r0, #0 + 1905e: 4b0d ldr r3, [pc, #52] ; (19094 ) + 19060: 4798 blx r3 + 19062: ebc0 1000 rsb r0, r0, r0, lsl #4 + 19066: 3050 adds r0, #80 ; 0x50 + 19068: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 1906c: da02 bge.n 19074 + 1906e: 2201 movs r2, #1 + 19070: f7ff b8b5 b.w 181de + 19074: 2000 movs r0, #0 + 19076: 4b07 ldr r3, [pc, #28] ; (19094 ) + 19078: 4798 blx r3 + 1907a: ebc0 1000 rsb r0, r0, r0, lsl #4 + 1907e: 3050 adds r0, #80 ; 0x50 + 19080: 4b05 ldr r3, [pc, #20] ; (19098 ) + 19082: fb83 2300 smull r2, r3, r3, r0 + 19086: 17c2 asrs r2, r0, #31 + 19088: ebc2 12a3 rsb r2, r2, r3, asr #6 + 1908c: b212 sxth r2, r2 + 1908e: f7ff b8a6 b.w 181de + 19092: bf00 nop + 19094: 00010f3d .word 0x00010f3d + 19098: 66666667 .word 0x66666667 1909c: 2000 movs r0, #0 - 1909e: 4b9a ldr r3, [pc, #616] ; (19308 ) + 1909e: 4b1d ldr r3, [pc, #116] ; (19114 ) 190a0: 4798 blx r3 190a2: ebc0 1000 rsb r0, r0, r0, lsl #4 190a6: 0040 lsls r0, r0, #1 190a8: 3050 adds r0, #80 ; 0x50 - 190aa: 4b98 ldr r3, [pc, #608] ; (1930c ) + 190aa: 4b1b ldr r3, [pc, #108] ; (19118 ) 190ac: fb83 2300 smull r2, r3, r3, r0 190b0: 17c2 asrs r2, r0, #31 190b2: ebc2 12a3 rsb r2, r2, r3, asr #6 190b6: b212 sxth r2, r2 - 190b8: f7fe bfd0 b.w 1805c - lv_style_set_pad_right(&styles->list_btn, LV_STATE_DEFAULT, PAD_DEF); + 190b8: f7ff b891 b.w 181de + lv_style_set_pad_bottom(&styles->table_cell, LV_STATE_DEFAULT, PAD_DEF); 190bc: 2000 movs r0, #0 - 190be: 4b92 ldr r3, [pc, #584] ; (19308 ) + 190be: 4b15 ldr r3, [pc, #84] ; (19114 ) 190c0: 4798 blx r3 190c2: ebc0 1000 rsb r0, r0, r0, lsl #4 190c6: 3050 adds r0, #80 ; 0x50 190c8: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 190cc: da02 bge.n 190d4 + 190cc: da02 bge.n 190d4 190ce: 2201 movs r2, #1 - 190d0: f7fe bfdd b.w 1808e + 190d0: f7ff b89e b.w 18210 190d4: 2000 movs r0, #0 - 190d6: 4b8c ldr r3, [pc, #560] ; (19308 ) + 190d6: 4b0f ldr r3, [pc, #60] ; (19114 ) 190d8: 4798 blx r3 190da: ebc0 1000 rsb r0, r0, r0, lsl #4 190de: 3050 adds r0, #80 ; 0x50 - 190e0: 4b8a ldr r3, [pc, #552] ; (1930c ) + 190e0: 4b0d ldr r3, [pc, #52] ; (19118 ) 190e2: fb83 2300 smull r2, r3, r3, r0 190e6: 17c2 asrs r2, r0, #31 190e8: ebc2 12a3 rsb r2, r2, r3, asr #6 190ec: b212 sxth r2, r2 - 190ee: f7fe bfce b.w 1808e + 190ee: f7ff b88f b.w 18210 190f2: 2000 movs r0, #0 - 190f4: 4b84 ldr r3, [pc, #528] ; (19308 ) + 190f4: 4b07 ldr r3, [pc, #28] ; (19114 ) 190f6: 4798 blx r3 190f8: ebc0 1000 rsb r0, r0, r0, lsl #4 190fc: 0040 lsls r0, r0, #1 190fe: 3050 adds r0, #80 ; 0x50 - 19100: 4b82 ldr r3, [pc, #520] ; (1930c ) + 19100: 4b05 ldr r3, [pc, #20] ; (19118 ) 19102: fb83 2300 smull r2, r3, r3, r0 19106: 17c2 asrs r2, r0, #31 19108: ebc2 12a3 rsb r2, r2, r3, asr #6 1910c: b212 sxth r2, r2 - 1910e: f7fe bfbe b.w 1808e - lv_style_set_pad_top(&styles->list_btn, LV_STATE_DEFAULT, PAD_DEF); - 19112: 2000 movs r0, #0 - 19114: 4b7c ldr r3, [pc, #496] ; (19308 ) - 19116: 4798 blx r3 - 19118: ebc0 1000 rsb r0, r0, r0, lsl #4 - 1911c: 3050 adds r0, #80 ; 0x50 - 1911e: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 19122: da02 bge.n 1912a - 19124: 2201 movs r2, #1 - 19126: f7fe bfcb b.w 180c0 - 1912a: 2000 movs r0, #0 - 1912c: 4b76 ldr r3, [pc, #472] ; (19308 ) - 1912e: 4798 blx r3 - 19130: ebc0 1000 rsb r0, r0, r0, lsl #4 - 19134: 3050 adds r0, #80 ; 0x50 - 19136: 4b75 ldr r3, [pc, #468] ; (1930c ) - 19138: fb83 2300 smull r2, r3, r3, r0 - 1913c: 17c2 asrs r2, r0, #31 - 1913e: ebc2 12a3 rsb r2, r2, r3, asr #6 - 19142: b212 sxth r2, r2 - 19144: f7fe bfbc b.w 180c0 - 19148: 2000 movs r0, #0 - 1914a: 4b6f ldr r3, [pc, #444] ; (19308 ) - 1914c: 4798 blx r3 - 1914e: ebc0 1000 rsb r0, r0, r0, lsl #4 - 19152: 0040 lsls r0, r0, #1 - 19154: 3050 adds r0, #80 ; 0x50 - 19156: 4b6d ldr r3, [pc, #436] ; (1930c ) - 19158: fb83 2300 smull r2, r3, r3, r0 - 1915c: 17c2 asrs r2, r0, #31 - 1915e: ebc2 12a3 rsb r2, r2, r3, asr #6 - 19162: b212 sxth r2, r2 - 19164: f7fe bfac b.w 180c0 - lv_style_set_pad_bottom(&styles->list_btn, LV_STATE_DEFAULT, PAD_DEF); - 19168: 2000 movs r0, #0 - 1916a: 4b67 ldr r3, [pc, #412] ; (19308 ) - 1916c: 4798 blx r3 - 1916e: ebc0 1000 rsb r0, r0, r0, lsl #4 - 19172: 3050 adds r0, #80 ; 0x50 - 19174: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 19178: da02 bge.n 19180 - 1917a: 2201 movs r2, #1 - 1917c: f7fe bfb9 b.w 180f2 - 19180: 2000 movs r0, #0 - 19182: 4b61 ldr r3, [pc, #388] ; (19308 ) - 19184: 4798 blx r3 - 19186: ebc0 1000 rsb r0, r0, r0, lsl #4 - 1918a: 3050 adds r0, #80 ; 0x50 - 1918c: 4b5f ldr r3, [pc, #380] ; (1930c ) - 1918e: fb83 2300 smull r2, r3, r3, r0 - 19192: 17c2 asrs r2, r0, #31 - 19194: ebc2 12a3 rsb r2, r2, r3, asr #6 - 19198: b212 sxth r2, r2 - 1919a: f7fe bfaa b.w 180f2 - 1919e: 2000 movs r0, #0 - 191a0: 4b59 ldr r3, [pc, #356] ; (19308 ) - 191a2: 4798 blx r3 - 191a4: ebc0 1000 rsb r0, r0, r0, lsl #4 - 191a8: 0040 lsls r0, r0, #1 - 191aa: 3050 adds r0, #80 ; 0x50 - 191ac: 4b57 ldr r3, [pc, #348] ; (1930c ) - 191ae: fb83 2300 smull r2, r3, r3, r0 - 191b2: 17c2 asrs r2, r0, #31 - 191b4: ebc2 12a3 rsb r2, r2, r3, asr #6 - 191b8: b212 sxth r2, r2 - 191ba: f7fe bf9a b.w 180f2 - lv_style_set_pad_inner(&styles->list_btn, LV_STATE_DEFAULT, PAD_DEF); - 191be: 2000 movs r0, #0 - 191c0: 4b51 ldr r3, [pc, #324] ; (19308 ) - 191c2: 4798 blx r3 - 191c4: ebc0 1000 rsb r0, r0, r0, lsl #4 - 191c8: 3050 adds r0, #80 ; 0x50 - 191ca: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 191ce: da02 bge.n 191d6 - 191d0: 2201 movs r2, #1 - 191d2: f7fe bfa7 b.w 18124 - 191d6: 2000 movs r0, #0 - 191d8: 4b4b ldr r3, [pc, #300] ; (19308 ) - 191da: 4798 blx r3 - 191dc: ebc0 1000 rsb r0, r0, r0, lsl #4 - 191e0: 3050 adds r0, #80 ; 0x50 - 191e2: 4b4a ldr r3, [pc, #296] ; (1930c ) - 191e4: fb83 2300 smull r2, r3, r3, r0 - 191e8: 17c2 asrs r2, r0, #31 - 191ea: ebc2 12a3 rsb r2, r2, r3, asr #6 - 191ee: b212 sxth r2, r2 - 191f0: f7fe bf98 b.w 18124 - 191f4: 2000 movs r0, #0 - 191f6: 4b44 ldr r3, [pc, #272] ; (19308 ) - 191f8: 4798 blx r3 - 191fa: ebc0 1000 rsb r0, r0, r0, lsl #4 - 191fe: 0040 lsls r0, r0, #1 - 19200: 3050 adds r0, #80 ; 0x50 - 19202: 4b42 ldr r3, [pc, #264] ; (1930c ) - 19204: fb83 2300 smull r2, r3, r3, r0 - 19208: 17c2 asrs r2, r0, #31 - 1920a: ebc2 12a3 rsb r2, r2, r3, asr #6 - 1920e: b212 sxth r2, r2 - 19210: f7fe bf88 b.w 18124 - lv_style_set_transform_width(&styles->list_btn, LV_STATE_DEFAULT, - PAD_DEF); - 19214: 2000 movs r0, #0 - 19216: 4b3c ldr r3, [pc, #240] ; (19308 ) - 19218: 4798 blx r3 - 1921a: ebc0 1000 rsb r0, r0, r0, lsl #4 - 1921e: 3050 adds r0, #80 ; 0x50 - 19220: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 19224: da03 bge.n 1922e - 19226: f04f 32ff mov.w r2, #4294967295 - 1922a: f7fe bf95 b.w 18158 - 1922e: 2000 movs r0, #0 - 19230: 4b35 ldr r3, [pc, #212] ; (19308 ) - 19232: 4798 blx r3 - 19234: ebc0 1000 rsb r0, r0, r0, lsl #4 - 19238: 3050 adds r0, #80 ; 0x50 - 1923a: 4b34 ldr r3, [pc, #208] ; (1930c ) - 1923c: fb83 2300 smull r2, r3, r3, r0 - 19240: 17c2 asrs r2, r0, #31 - 19242: eba2 12a3 sub.w r2, r2, r3, asr #6 - 19246: b212 sxth r2, r2 - 19248: f7fe bf86 b.w 18158 - 1924c: 2000 movs r0, #0 - 1924e: 4b2e ldr r3, [pc, #184] ; (19308 ) - 19250: 4798 blx r3 - 19252: ebc0 1000 rsb r0, r0, r0, lsl #4 - 19256: 0040 lsls r0, r0, #1 - 19258: 3050 adds r0, #80 ; 0x50 - 1925a: 4b2c ldr r3, [pc, #176] ; (1930c ) - 1925c: fb83 2300 smull r2, r3, r3, r0 - 19260: 17c2 asrs r2, r0, #31 - 19262: eba2 12a3 sub.w r2, r2, r3, asr #6 - 19266: b212 sxth r2, r2 - 19268: f7fe bf76 b.w 18158 - lv_style_set_text_line_space(&styles->ddlist_page, LV_STATE_DEFAULT, LV_DPX(20)); - 1926c: 2000 movs r0, #0 - 1926e: 4b26 ldr r3, [pc, #152] ; (19308 ) - 19270: 4798 blx r3 - 19272: eb00 0080 add.w r0, r0, r0, lsl #2 - 19276: 0080 lsls r0, r0, #2 - 19278: 3050 adds r0, #80 ; 0x50 - 1927a: 4b24 ldr r3, [pc, #144] ; (1930c ) - 1927c: fb83 2300 smull r2, r3, r3, r0 - 19280: 17c2 asrs r2, r0, #31 - 19282: ebc2 12a3 rsb r2, r2, r3, asr #6 - 19286: b212 sxth r2, r2 - 19288: f7fe bf9e b.w 181c8 - lv_style_set_bg_color(&styles->ddlist_sel, LV_STATE_PRESSED, COLOR_BG_PR); - 1928c: 231d movs r3, #29 - 1928e: 213b movs r1, #59 ; 0x3b - 19290: 461c mov r4, r3 - 19292: f7fe bfc5 b.w 18220 - lv_style_set_text_color(&styles->ddlist_sel, LV_STATE_PRESSED, COLOR_BG_TEXT_PR); - 19296: 2307 movs r3, #7 - 19298: 210f movs r1, #15 - 1929a: 2408 movs r4, #8 - 1929c: f7fe bfd7 b.w 1824e - lv_style_set_text_line_space(&styles->roller_bg, LV_STATE_DEFAULT, LV_DPX(25)); - 192a0: 2000 movs r0, #0 - 192a2: 4b19 ldr r3, [pc, #100] ; (19308 ) - 192a4: 4798 blx r3 - 192a6: eb00 0080 add.w r0, r0, r0, lsl #2 - 192aa: eb00 0080 add.w r0, r0, r0, lsl #2 - 192ae: 3050 adds r0, #80 ; 0x50 - 192b0: 4b16 ldr r3, [pc, #88] ; (1930c ) - 192b2: fb83 2300 smull r2, r3, r3, r0 - 192b6: 17c2 asrs r2, r0, #31 - 192b8: ebc2 12a3 rsb r2, r2, r3, asr #6 - 192bc: b212 sxth r2, r2 - 192be: f7fe bfe6 b.w 1828e - lv_style_set_bg_color(&styles->tabview_btns_bg, LV_STATE_DEFAULT, COLOR_BG); - 192c2: 231f movs r3, #31 - 192c4: 213f movs r1, #63 ; 0x3f - 192c6: 461c mov r4, r3 - 192c8: f7ff b810 b.w 182ec - lv_style_set_border_width(&styles->tabview_btns_bg, LV_STATE_DEFAULT, LV_DPX(5)); - 192cc: 2000 movs r0, #0 - 192ce: 4b0e ldr r3, [pc, #56] ; (19308 ) - 192d0: 4798 blx r3 - 192d2: eb00 0080 add.w r0, r0, r0, lsl #2 - 192d6: 3050 adds r0, #80 ; 0x50 - 192d8: 4b0c ldr r3, [pc, #48] ; (1930c ) - 192da: fb83 2300 smull r2, r3, r3, r0 - 192de: 17c2 asrs r2, r0, #31 - 192e0: ebc2 12a3 rsb r2, r2, r3, asr #6 - 192e4: b212 sxth r2, r2 - 192e6: f7ff b845 b.w 18374 - lv_style_set_pad_top(&styles->tabview_btns_bg, LV_STATE_DEFAULT, LV_DPX(7)); - 192ea: 2000 movs r0, #0 - 192ec: 4b06 ldr r3, [pc, #24] ; (19308 ) - 192ee: 4798 blx r3 - 192f0: ebc0 00c0 rsb r0, r0, r0, lsl #3 - 192f4: 3050 adds r0, #80 ; 0x50 - 192f6: 4b05 ldr r3, [pc, #20] ; (1930c ) - 192f8: fb83 2300 smull r2, r3, r3, r0 - 192fc: 17c2 asrs r2, r0, #31 - 192fe: ebc2 12a3 rsb r2, r2, r3, asr #6 - 19302: b212 sxth r2, r2 - 19304: f7ff b87f b.w 18406 - 19308: 000114e5 .word 0x000114e5 - 1930c: 66666667 .word 0x66666667 - lv_style_set_pad_left(&styles->tabview_btns_bg, LV_STATE_DEFAULT, LV_DPX(7)); - 19310: 2000 movs r0, #0 - 19312: 4bca ldr r3, [pc, #808] ; (1963c ) - 19314: 4798 blx r3 - 19316: ebc0 00c0 rsb r0, r0, r0, lsl #3 - 1931a: 3050 adds r0, #80 ; 0x50 - 1931c: 4bc8 ldr r3, [pc, #800] ; (19640 ) - 1931e: fb83 2300 smull r2, r3, r3, r0 - 19322: 17c2 asrs r2, r0, #31 - 19324: ebc2 12a3 rsb r2, r2, r3, asr #6 - 19328: b212 sxth r2, r2 - 1932a: f7ff b87e b.w 1842a - lv_style_set_pad_right(&styles->tabview_btns_bg, LV_STATE_DEFAULT, LV_DPX(7)); - 1932e: 2000 movs r0, #0 - 19330: 4bc2 ldr r3, [pc, #776] ; (1963c ) - 19332: 4798 blx r3 - 19334: ebc0 00c0 rsb r0, r0, r0, lsl #3 - 19338: 3050 adds r0, #80 ; 0x50 - 1933a: 4bc1 ldr r3, [pc, #772] ; (19640 ) - 1933c: fb83 2300 smull r2, r3, r3, r0 - 19340: 17c2 asrs r2, r0, #31 - 19342: ebc2 12a3 rsb r2, r2, r3, asr #6 - 19346: b212 sxth r2, r2 - 19348: f7ff b881 b.w 1844e - lv_style_set_pad_top(&styles->tabview_btns, LV_STATE_DEFAULT, LV_DPX(20)); - 1934c: 2000 movs r0, #0 - 1934e: 4bbb ldr r3, [pc, #748] ; (1963c ) - 19350: 4798 blx r3 - 19352: eb00 0080 add.w r0, r0, r0, lsl #2 - 19356: 0080 lsls r0, r0, #2 - 19358: 3050 adds r0, #80 ; 0x50 - 1935a: 4bb9 ldr r3, [pc, #740] ; (19640 ) - 1935c: fb83 2300 smull r2, r3, r3, r0 - 19360: 17c2 asrs r2, r0, #31 - 19362: ebc2 12a3 rsb r2, r2, r3, asr #6 - 19366: b212 sxth r2, r2 - 19368: f7ff b8ba b.w 184e0 - lv_style_set_pad_bottom(&styles->tabview_btns, LV_STATE_DEFAULT, LV_DPX(20)); - 1936c: 2000 movs r0, #0 - 1936e: 4bb3 ldr r3, [pc, #716] ; (1963c ) - 19370: 4798 blx r3 - 19372: eb00 0080 add.w r0, r0, r0, lsl #2 - 19376: 0080 lsls r0, r0, #2 - 19378: 3050 adds r0, #80 ; 0x50 - 1937a: 4bb1 ldr r3, [pc, #708] ; (19640 ) - 1937c: fb83 2300 smull r2, r3, r3, r0 - 19380: 17c2 asrs r2, r0, #31 - 19382: ebc2 12a3 rsb r2, r2, r3, asr #6 - 19386: b212 sxth r2, r2 - 19388: f7ff b8bd b.w 18506 - lv_style_set_size(&styles->tabview_indic, LV_STATE_DEFAULT, LV_DPX(5)); - 1938c: 2000 movs r0, #0 - 1938e: 4bab ldr r3, [pc, #684] ; (1963c ) - 19390: 4798 blx r3 - 19392: eb00 0080 add.w r0, r0, r0, lsl #2 - 19396: 3050 adds r0, #80 ; 0x50 - 19398: 4ba9 ldr r3, [pc, #676] ; (19640 ) - 1939a: fb83 2300 smull r2, r3, r3, r0 - 1939e: 17c2 asrs r2, r0, #31 - 193a0: ebc2 12a3 rsb r2, r2, r3, asr #6 - 193a4: b212 sxth r2, r2 - 193a6: f7ff b8e2 b.w 1856e - lv_style_set_pad_top(&styles->tabview_page_scrl, LV_STATE_DEFAULT, PAD_DEF); - 193aa: 2000 movs r0, #0 - 193ac: 4ba3 ldr r3, [pc, #652] ; (1963c ) - 193ae: 4798 blx r3 - 193b0: ebc0 1000 rsb r0, r0, r0, lsl #4 - 193b4: 3050 adds r0, #80 ; 0x50 - 193b6: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 193ba: da02 bge.n 193c2 - 193bc: 2201 movs r2, #1 - 193be: f7ff b8f9 b.w 185b4 - 193c2: 2000 movs r0, #0 - 193c4: 4b9d ldr r3, [pc, #628] ; (1963c ) - 193c6: 4798 blx r3 - 193c8: ebc0 1000 rsb r0, r0, r0, lsl #4 - 193cc: 3050 adds r0, #80 ; 0x50 - 193ce: 4b9c ldr r3, [pc, #624] ; (19640 ) - 193d0: fb83 2300 smull r2, r3, r3, r0 - 193d4: 17c2 asrs r2, r0, #31 - 193d6: ebc2 12a3 rsb r2, r2, r3, asr #6 - 193da: b212 sxth r2, r2 - 193dc: f7ff b8ea b.w 185b4 - 193e0: 2000 movs r0, #0 - 193e2: 4b96 ldr r3, [pc, #600] ; (1963c ) - 193e4: 4798 blx r3 - 193e6: ebc0 1000 rsb r0, r0, r0, lsl #4 - 193ea: 0040 lsls r0, r0, #1 - 193ec: 3050 adds r0, #80 ; 0x50 - 193ee: 4b94 ldr r3, [pc, #592] ; (19640 ) - 193f0: fb83 2300 smull r2, r3, r3, r0 - 193f4: 17c2 asrs r2, r0, #31 - 193f6: ebc2 12a3 rsb r2, r2, r3, asr #6 - 193fa: b212 sxth r2, r2 - 193fc: f7ff b8da b.w 185b4 - lv_style_set_pad_bottom(&styles->tabview_page_scrl, LV_STATE_DEFAULT, PAD_DEF); - 19400: 2000 movs r0, #0 - 19402: 4b8e ldr r3, [pc, #568] ; (1963c ) - 19404: 4798 blx r3 - 19406: ebc0 1000 rsb r0, r0, r0, lsl #4 - 1940a: 3050 adds r0, #80 ; 0x50 - 1940c: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 19410: da02 bge.n 19418 - 19412: 2201 movs r2, #1 - 19414: f7ff b8e7 b.w 185e6 - 19418: 2000 movs r0, #0 - 1941a: 4b88 ldr r3, [pc, #544] ; (1963c ) - 1941c: 4798 blx r3 - 1941e: ebc0 1000 rsb r0, r0, r0, lsl #4 - 19422: 3050 adds r0, #80 ; 0x50 - 19424: 4b86 ldr r3, [pc, #536] ; (19640 ) - 19426: fb83 2300 smull r2, r3, r3, r0 - 1942a: 17c2 asrs r2, r0, #31 - 1942c: ebc2 12a3 rsb r2, r2, r3, asr #6 - 19430: b212 sxth r2, r2 - 19432: f7ff b8d8 b.w 185e6 - 19436: 2000 movs r0, #0 - 19438: 4b80 ldr r3, [pc, #512] ; (1963c ) - 1943a: 4798 blx r3 - 1943c: ebc0 1000 rsb r0, r0, r0, lsl #4 - 19440: 0040 lsls r0, r0, #1 - 19442: 3050 adds r0, #80 ; 0x50 - 19444: 4b7e ldr r3, [pc, #504] ; (19640 ) - 19446: fb83 2300 smull r2, r3, r3, r0 - 1944a: 17c2 asrs r2, r0, #31 - 1944c: ebc2 12a3 rsb r2, r2, r3, asr #6 - 19450: b212 sxth r2, r2 - 19452: f7ff b8c8 b.w 185e6 - lv_style_set_pad_left(&styles->tabview_page_scrl, LV_STATE_DEFAULT, PAD_DEF); - 19456: 2000 movs r0, #0 - 19458: 4b78 ldr r3, [pc, #480] ; (1963c ) - 1945a: 4798 blx r3 - 1945c: ebc0 1000 rsb r0, r0, r0, lsl #4 - 19460: 3050 adds r0, #80 ; 0x50 - 19462: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 19466: da02 bge.n 1946e - 19468: 2201 movs r2, #1 - 1946a: f7ff b8d5 b.w 18618 - 1946e: 2000 movs r0, #0 - 19470: 4b72 ldr r3, [pc, #456] ; (1963c ) - 19472: 4798 blx r3 - 19474: ebc0 1000 rsb r0, r0, r0, lsl #4 - 19478: 3050 adds r0, #80 ; 0x50 - 1947a: 4b71 ldr r3, [pc, #452] ; (19640 ) - 1947c: fb83 2300 smull r2, r3, r3, r0 - 19480: 17c2 asrs r2, r0, #31 - 19482: ebc2 12a3 rsb r2, r2, r3, asr #6 - 19486: b212 sxth r2, r2 - 19488: f7ff b8c6 b.w 18618 - 1948c: 2000 movs r0, #0 - 1948e: 4b6b ldr r3, [pc, #428] ; (1963c ) - 19490: 4798 blx r3 - 19492: ebc0 1000 rsb r0, r0, r0, lsl #4 - 19496: 0040 lsls r0, r0, #1 - 19498: 3050 adds r0, #80 ; 0x50 - 1949a: 4b69 ldr r3, [pc, #420] ; (19640 ) - 1949c: fb83 2300 smull r2, r3, r3, r0 - 194a0: 17c2 asrs r2, r0, #31 - 194a2: ebc2 12a3 rsb r2, r2, r3, asr #6 - 194a6: b212 sxth r2, r2 - 194a8: f7ff b8b6 b.w 18618 - lv_style_set_pad_right(&styles->tabview_page_scrl, LV_STATE_DEFAULT, PAD_DEF); - 194ac: 2000 movs r0, #0 - 194ae: 4b63 ldr r3, [pc, #396] ; (1963c ) - 194b0: 4798 blx r3 - 194b2: ebc0 1000 rsb r0, r0, r0, lsl #4 - 194b6: 3050 adds r0, #80 ; 0x50 - 194b8: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 194bc: da02 bge.n 194c4 - 194be: 2201 movs r2, #1 - 194c0: f7ff b8d4 b.w 1866c - 194c4: 2000 movs r0, #0 - 194c6: 4b5d ldr r3, [pc, #372] ; (1963c ) - 194c8: 4798 blx r3 - 194ca: ebc0 1000 rsb r0, r0, r0, lsl #4 - 194ce: 3050 adds r0, #80 ; 0x50 - 194d0: 4b5b ldr r3, [pc, #364] ; (19640 ) - 194d2: fb83 2300 smull r2, r3, r3, r0 - 194d6: 17c2 asrs r2, r0, #31 - 194d8: ebc2 12a3 rsb r2, r2, r3, asr #6 - 194dc: b212 sxth r2, r2 - 194de: f7ff b8c5 b.w 1866c - 194e2: 2000 movs r0, #0 - 194e4: 4b55 ldr r3, [pc, #340] ; (1963c ) - 194e6: 4798 blx r3 - 194e8: ebc0 1000 rsb r0, r0, r0, lsl #4 - 194ec: 0040 lsls r0, r0, #1 - 194ee: 3050 adds r0, #80 ; 0x50 - 194f0: 4b53 ldr r3, [pc, #332] ; (19640 ) - 194f2: fb83 2300 smull r2, r3, r3, r0 - 194f6: 17c2 asrs r2, r0, #31 - 194f8: ebc2 12a3 rsb r2, r2, r3, asr #6 - 194fc: b212 sxth r2, r2 - 194fe: f7ff b8b5 b.w 1866c - lv_style_set_pad_inner(&styles->tabview_page_scrl, LV_STATE_DEFAULT, PAD_DEF); - 19502: 2000 movs r0, #0 - 19504: 4b4d ldr r3, [pc, #308] ; (1963c ) - 19506: 4798 blx r3 - 19508: ebc0 1000 rsb r0, r0, r0, lsl #4 - 1950c: 3050 adds r0, #80 ; 0x50 - 1950e: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 19512: da02 bge.n 1951a - 19514: 2201 movs r2, #1 - 19516: f7ff b8c2 b.w 1869e - 1951a: 2000 movs r0, #0 - 1951c: 4b47 ldr r3, [pc, #284] ; (1963c ) - 1951e: 4798 blx r3 - 19520: ebc0 1000 rsb r0, r0, r0, lsl #4 - 19524: 3050 adds r0, #80 ; 0x50 - 19526: 4b46 ldr r3, [pc, #280] ; (19640 ) - 19528: fb83 2300 smull r2, r3, r3, r0 - 1952c: 17c2 asrs r2, r0, #31 - 1952e: ebc2 12a3 rsb r2, r2, r3, asr #6 - 19532: b212 sxth r2, r2 - 19534: f7ff b8b3 b.w 1869e - 19538: 2000 movs r0, #0 - 1953a: 4b40 ldr r3, [pc, #256] ; (1963c ) - 1953c: 4798 blx r3 - 1953e: ebc0 1000 rsb r0, r0, r0, lsl #4 - 19542: 0040 lsls r0, r0, #1 - 19544: 3050 adds r0, #80 ; 0x50 - 19546: 4b3e ldr r3, [pc, #248] ; (19640 ) - 19548: fb83 2300 smull r2, r3, r3, r0 - 1954c: 17c2 asrs r2, r0, #31 - 1954e: ebc2 12a3 rsb r2, r2, r3, asr #6 - 19552: b212 sxth r2, r2 - 19554: f7ff b8a3 b.w 1869e - lv_style_set_pad_left(&styles->table_cell, LV_STATE_DEFAULT, PAD_DEF); - 19558: 2000 movs r0, #0 - 1955a: 4b38 ldr r3, [pc, #224] ; (1963c ) - 1955c: 4798 blx r3 - 1955e: ebc0 1000 rsb r0, r0, r0, lsl #4 - 19562: 3050 adds r0, #80 ; 0x50 - 19564: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 19568: da02 bge.n 19570 - 1956a: 2201 movs r2, #1 - 1956c: f7ff b8d9 b.w 18722 - 19570: 2000 movs r0, #0 - 19572: 4b32 ldr r3, [pc, #200] ; (1963c ) - 19574: 4798 blx r3 - 19576: ebc0 1000 rsb r0, r0, r0, lsl #4 - 1957a: 3050 adds r0, #80 ; 0x50 - 1957c: 4b30 ldr r3, [pc, #192] ; (19640 ) - 1957e: fb83 2300 smull r2, r3, r3, r0 - 19582: 17c2 asrs r2, r0, #31 - 19584: ebc2 12a3 rsb r2, r2, r3, asr #6 - 19588: b212 sxth r2, r2 - 1958a: f7ff b8ca b.w 18722 - 1958e: 2000 movs r0, #0 - 19590: 4b2a ldr r3, [pc, #168] ; (1963c ) - 19592: 4798 blx r3 - 19594: ebc0 1000 rsb r0, r0, r0, lsl #4 - 19598: 0040 lsls r0, r0, #1 - 1959a: 3050 adds r0, #80 ; 0x50 - 1959c: 4b28 ldr r3, [pc, #160] ; (19640 ) - 1959e: fb83 2300 smull r2, r3, r3, r0 - 195a2: 17c2 asrs r2, r0, #31 - 195a4: ebc2 12a3 rsb r2, r2, r3, asr #6 - 195a8: b212 sxth r2, r2 - 195aa: f7ff b8ba b.w 18722 - lv_style_set_pad_right(&styles->table_cell, LV_STATE_DEFAULT, PAD_DEF); - 195ae: 2000 movs r0, #0 - 195b0: 4b22 ldr r3, [pc, #136] ; (1963c ) - 195b2: 4798 blx r3 - 195b4: ebc0 1000 rsb r0, r0, r0, lsl #4 - 195b8: 3050 adds r0, #80 ; 0x50 - 195ba: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 195be: da02 bge.n 195c6 - 195c0: 2201 movs r2, #1 - 195c2: f7ff b8c7 b.w 18754 - 195c6: 2000 movs r0, #0 - 195c8: 4b1c ldr r3, [pc, #112] ; (1963c ) - 195ca: 4798 blx r3 - 195cc: ebc0 1000 rsb r0, r0, r0, lsl #4 - 195d0: 3050 adds r0, #80 ; 0x50 - 195d2: 4b1b ldr r3, [pc, #108] ; (19640 ) - 195d4: fb83 2300 smull r2, r3, r3, r0 - 195d8: 17c2 asrs r2, r0, #31 - 195da: ebc2 12a3 rsb r2, r2, r3, asr #6 - 195de: b212 sxth r2, r2 - 195e0: f7ff b8b8 b.w 18754 - 195e4: 2000 movs r0, #0 - 195e6: 4b15 ldr r3, [pc, #84] ; (1963c ) + 1910e: f7ff b87f b.w 18210 + 19112: bf00 nop + 19114: 00010f3d .word 0x00010f3d + 19118: 66666667 .word 0x66666667 + +0001911c : + * LV_DESIGN_DRAW: draw the object (always return 'true') + * LV_DESIGN_DRAW_POST: drawing after every children are drawn + * @param return an element of `lv_design_res_t` + */ +static lv_design_res_t lv_img_design(lv_obj_t * img, const lv_area_t * clip_area, lv_design_mode_t mode) +{ + 1911c: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} + 19120: b0a4 sub sp, #144 ; 0x90 + 19122: 4607 mov r7, r0 + 19124: 460e mov r6, r1 + 19126: 4614 mov r4, r2 + lv_img_ext_t * ext = lv_obj_get_ext_attr(img); + 19128: 4bb5 ldr r3, [pc, #724] ; (19400 ) + 1912a: 4798 blx r3 + 1912c: 4605 mov r5, r0 + + if(mode == LV_DESIGN_COVER_CHK) { + 1912e: 2c02 cmp r4, #2 + 19130: d00d beq.n 1914e + + if(lv_obj_get_style_image_opa(img, LV_IMG_PART_MAIN) != LV_OPA_COVER) return LV_DESIGN_RES_NOT_COVER; + + return LV_DESIGN_RES_COVER; + } + else if(mode == LV_DESIGN_DRAW_MAIN) { + 19132: 2c00 cmp r4, #0 + 19134: f040 81fa bne.w 1952c + if(ext->h == 0 || ext->w == 0) return true; + 19138: f9b0 300a ldrsh.w r3, [r0, #10] + 1913c: 2b00 cmp r3, #0 + 1913e: f000 81f3 beq.w 19528 + 19142: f9b0 3008 ldrsh.w r3, [r0, #8] + 19146: 2b00 cmp r3, #0 + 19148: d173 bne.n 19232 + 1914a: 2001 movs r0, #1 + 1914c: e1f1 b.n 19532 + _OBJ_GET_STYLE_##scalar(prop_name, func_name, value_type, style_type) \ + _OBJ_SET_STYLE_LOCAL_##scalar(prop_name, func_name, value_type, style_type) \ + _OBJ_SET_STYLE_##scalar(prop_name, func_name, value_type, style_type) + +_LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) +_LV_OBJ_STYLE_SET_GET_DECLARE(CLIP_CORNER, clip_corner, bool, _int, scalar) + 1914e: 2202 movs r2, #2 + 19150: 2100 movs r1, #0 + 19152: 4638 mov r0, r7 + 19154: 4bab ldr r3, [pc, #684] ; (19404 ) + 19156: 4798 blx r3 + if(lv_obj_get_style_clip_corner(img, LV_IMG_PART_MAIN)) return LV_DESIGN_RES_MASKED; + 19158: b108 cbz r0, 1915e + 1915a: 2003 movs r0, #3 + 1915c: e1e9 b.n 19532 + if(ext->src_type == LV_IMG_SRC_UNKNOWN || ext->src_type == LV_IMG_SRC_SYMBOL) return LV_DESIGN_RES_NOT_COVER; + 1915e: 7d2a ldrb r2, [r5, #20] + 19160: f002 0303 and.w r3, r2, #3 + 19164: 3b02 subs r3, #2 + 19166: b2db uxtb r3, r3 + 19168: 2b01 cmp r3, #1 + 1916a: f240 820f bls.w 1958c + if(ext->cf != LV_IMG_CF_TRUE_COLOR && ext->cf != LV_IMG_CF_RAW) return LV_DESIGN_RES_NOT_COVER; + 1916e: f002 02f8 and.w r2, r2, #248 ; 0xf8 + 19172: 2a20 cmp r2, #32 + 19174: d003 beq.n 1917e + 19176: 2a08 cmp r2, #8 + 19178: d001 beq.n 1917e + 1917a: 2002 movs r0, #2 + 1917c: e1d9 b.n 19532 +_LV_OBJ_STYLE_SET_GET_DECLARE(SIZE, size, lv_style_int_t, _int, scalar) +_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_WIDTH, transform_width, lv_style_int_t, _int, scalar) +_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_HEIGHT, transform_height, lv_style_int_t, _int, scalar) +_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_ANGLE, transform_angle, lv_style_int_t, _int, scalar) + 1917e: 2206 movs r2, #6 + 19180: 2100 movs r1, #0 + 19182: 4638 mov r0, r7 + 19184: 4b9f ldr r3, [pc, #636] ; (19404 ) + 19186: 4798 blx r3 + angle_final += ext->angle; + 19188: 89ab ldrh r3, [r5, #12] + if(angle_final == 0) return LV_DESIGN_RES_NOT_COVER; + 1918a: 42c3 cmn r3, r0 + 1918c: d101 bne.n 19192 + 1918e: 2002 movs r0, #2 + 19190: e1cf b.n 19532 +_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_ZOOM, transform_zoom, lv_style_int_t, _int, scalar) + 19192: 2207 movs r2, #7 + 19194: 2100 movs r1, #0 + 19196: 4638 mov r0, r7 + 19198: 4b9a ldr r3, [pc, #616] ; (19404 ) + 1919a: 4798 blx r3 + zoom_final = (zoom_final * ext->zoom) >> 8; + 1919c: 8a6b ldrh r3, [r5, #18] + 1919e: fb00 f303 mul.w r3, r0, r3 + 191a2: 121b asrs r3, r3, #8 + if(zoom_final != LV_IMG_ZOOM_NONE) { + 191a4: f5b3 7f80 cmp.w r3, #256 ; 0x100 + 191a8: d008 beq.n 191bc + if(_lv_area_is_in(clip_area, &img->coords, 0) == false) return LV_DESIGN_RES_NOT_COVER; + 191aa: 2200 movs r2, #0 + 191ac: f107 0110 add.w r1, r7, #16 + 191b0: 4630 mov r0, r6 + 191b2: 4b95 ldr r3, [pc, #596] ; (19408 ) + 191b4: 4798 blx r3 + 191b6: bb88 cbnz r0, 1921c + 191b8: 2002 movs r0, #2 + 191ba: e1ba b.n 19532 + _lv_img_buf_get_transformed_area(&a, lv_obj_get_width(img), lv_obj_get_height(img), 0, zoom_final, &ext->pivot); + 191bc: 4638 mov r0, r7 + 191be: 4b93 ldr r3, [pc, #588] ; (1940c ) + 191c0: 4798 blx r3 + 191c2: 4604 mov r4, r0 + 191c4: 4638 mov r0, r7 + 191c6: 4b92 ldr r3, [pc, #584] ; (19410 ) + 191c8: 4798 blx r3 + 191ca: 350e adds r5, #14 + 191cc: 9501 str r5, [sp, #4] + 191ce: f44f 7380 mov.w r3, #256 ; 0x100 + 191d2: 9300 str r3, [sp, #0] + 191d4: 2300 movs r3, #0 + 191d6: 4602 mov r2, r0 + 191d8: 4621 mov r1, r4 + 191da: a80f add r0, sp, #60 ; 0x3c + 191dc: 4c8d ldr r4, [pc, #564] ; (19414 ) + 191de: 47a0 blx r4 + a.x1 += img->coords.x1; + 191e0: 8a3a ldrh r2, [r7, #16] + 191e2: f8bd 303c ldrh.w r3, [sp, #60] ; 0x3c + 191e6: 4413 add r3, r2 + 191e8: f8ad 303c strh.w r3, [sp, #60] ; 0x3c + a.y1 += img->coords.y1; + 191ec: 8a7b ldrh r3, [r7, #18] + 191ee: f8bd 103e ldrh.w r1, [sp, #62] ; 0x3e + 191f2: 4419 add r1, r3 + 191f4: f8ad 103e strh.w r1, [sp, #62] ; 0x3e + a.x2 += img->coords.x1; + 191f8: f8bd 1040 ldrh.w r1, [sp, #64] ; 0x40 + 191fc: 440a add r2, r1 + 191fe: f8ad 2040 strh.w r2, [sp, #64] ; 0x40 + a.y2 += img->coords.y1; + 19202: f8bd 2042 ldrh.w r2, [sp, #66] ; 0x42 + 19206: 4413 add r3, r2 + 19208: f8ad 3042 strh.w r3, [sp, #66] ; 0x42 + if(_lv_area_is_in(clip_area, &a, 0) == false) return LV_DESIGN_RES_NOT_COVER; + 1920c: 2200 movs r2, #0 + 1920e: a90f add r1, sp, #60 ; 0x3c + 19210: 4630 mov r0, r6 + 19212: 4b7d ldr r3, [pc, #500] ; (19408 ) + 19214: 4798 blx r3 + 19216: b908 cbnz r0, 1921c + 19218: 2002 movs r0, #2 + 1921a: e18a b.n 19532 +_LV_OBJ_STYLE_SET_GET_DECLARE(LINE_ROUNDED, line_rounded, bool, _int, scalar) +_LV_OBJ_STYLE_SET_GET_DECLARE(LINE_COLOR, line_color, lv_color_t, _color, nonscalar) +_LV_OBJ_STYLE_SET_GET_DECLARE(LINE_OPA, line_opa, lv_opa_t, _opa, scalar) +_LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_BLEND_MODE, image_blend_mode, lv_blend_mode_t, _int, scalar) +_LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_RECOLOR, image_recolor, lv_color_t, _color, nonscalar) +_LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_OPA, image_opa, lv_opa_t, _opa, scalar) + 1921c: f248 02ac movw r2, #32940 ; 0x80ac + 19220: 2100 movs r1, #0 + 19222: 4638 mov r0, r7 + 19224: 4b7c ldr r3, [pc, #496] ; (19418 ) + 19226: 4798 blx r3 + return LV_DESIGN_RES_COVER; + 19228: 28ff cmp r0, #255 ; 0xff + 1922a: bf14 ite ne + 1922c: 2002 movne r0, #2 + 1922e: 2001 moveq r0, #1 + 19230: e17f b.n 19532 + lv_area_t img_coords; + + lv_obj_get_coords(img, &img_coords); + 19232: a902 add r1, sp, #8 + 19234: 4638 mov r0, r7 + 19236: 4b79 ldr r3, [pc, #484] ; (1941c ) + 19238: 4798 blx r3 + + lv_draw_rect_dsc_t bg_dsc; + lv_draw_rect_dsc_init(&bg_dsc); + 1923a: a80f add r0, sp, #60 ; 0x3c + 1923c: 4b78 ldr r3, [pc, #480] ; (19420 ) + 1923e: 4798 blx r3 + lv_obj_init_draw_rect_dsc(img, LV_IMG_PART_MAIN, &bg_dsc); + 19240: aa0f add r2, sp, #60 ; 0x3c + 19242: 2100 movs r1, #0 + 19244: 4638 mov r0, r7 + 19246: 4b77 ldr r3, [pc, #476] ; (19424 ) + 19248: 4798 blx r3 +_LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_POST, border_post, bool, _int, scalar) + 1924a: 2233 movs r2, #51 ; 0x33 + 1924c: 2100 movs r1, #0 + 1924e: 4638 mov r0, r7 + 19250: 4b6c ldr r3, [pc, #432] ; (19404 ) + 19252: 4798 blx r3 + + /*If the border is drawn later disable loading its properties*/ + if(lv_obj_get_style_border_post(img, LV_OBJ_PART_MAIN)) { + 19254: b110 cbz r0, 1925c + bg_dsc.border_opa = LV_OPA_TRANSP; + 19256: 2300 movs r3, #0 + 19258: f88d 3050 strb.w r3, [sp, #80] ; 0x50 +_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_ZOOM, transform_zoom, lv_style_int_t, _int, scalar) + 1925c: 2207 movs r2, #7 + 1925e: 2100 movs r1, #0 + 19260: 4638 mov r0, r7 + 19262: 4b68 ldr r3, [pc, #416] ; (19404 ) + 19264: 4798 blx r3 + } + + + int32_t zoom_final = lv_obj_get_style_transform_zoom(img, LV_IMG_PART_MAIN); + zoom_final = (zoom_final * ext->zoom) >> 8; + 19266: 8a6b ldrh r3, [r5, #18] + 19268: fb00 f003 mul.w r0, r0, r3 + + if(zoom_final == 0) return LV_DESIGN_RES_OK; + 1926c: 1204 asrs r4, r0, #8 + 1926e: d101 bne.n 19274 + 19270: 2000 movs r0, #0 + 19272: e15e b.n 19532 +_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_ANGLE, transform_angle, lv_style_int_t, _int, scalar) + 19274: 2206 movs r2, #6 + 19276: 2100 movs r1, #0 + 19278: 4638 mov r0, r7 + 1927a: f8df 8188 ldr.w r8, [pc, #392] ; 19404 + 1927e: 47c0 blx r8 + + int32_t angle_final = lv_obj_get_style_transform_angle(img, LV_IMG_PART_MAIN); + angle_final += ext->angle; + 19280: f8b5 900c ldrh.w r9, [r5, #12] + 19284: 4481 add r9, r0 + + lv_area_t bg_coords; + _lv_img_buf_get_transformed_area(&bg_coords, lv_area_get_width(&img_coords), lv_area_get_height(&img_coords), + 19286: b2a4 uxth r4, r4 + * @param area_p pointer to an area + * @return the height of the area (if y1 == y2 -> height = 1) + */ +static inline lv_coord_t lv_area_get_height(const lv_area_t * area_p) +{ + return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); + 19288: f8bd 200e ldrh.w r2, [sp, #14] + 1928c: 3201 adds r2, #1 + 1928e: f8bd 300a ldrh.w r3, [sp, #10] + 19292: 1ad2 subs r2, r2, r3 + return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); + 19294: f8bd 100c ldrh.w r1, [sp, #12] + 19298: 3101 adds r1, #1 + 1929a: f8bd 3008 ldrh.w r3, [sp, #8] + 1929e: 1ac9 subs r1, r1, r3 + 192a0: f105 030e add.w r3, r5, #14 + 192a4: 9301 str r3, [sp, #4] + 192a6: 9400 str r4, [sp, #0] + 192a8: fa0f f389 sxth.w r3, r9 + 192ac: b212 sxth r2, r2 + 192ae: b209 sxth r1, r1 + 192b0: a804 add r0, sp, #16 + 192b2: f8df a160 ldr.w sl, [pc, #352] ; 19414 + 192b6: 47d0 blx sl + angle_final, zoom_final, &ext->pivot); + bg_coords.x1 += img_coords.x1; + 192b8: f8bd 2008 ldrh.w r2, [sp, #8] + 192bc: f8bd 3010 ldrh.w r3, [sp, #16] + 192c0: 4413 add r3, r2 + 192c2: f8ad 3010 strh.w r3, [sp, #16] + bg_coords.y1 += img_coords.y1; + 192c6: f8bd 300a ldrh.w r3, [sp, #10] + 192ca: f8bd 1012 ldrh.w r1, [sp, #18] + 192ce: 4419 add r1, r3 + 192d0: f8ad 1012 strh.w r1, [sp, #18] + bg_coords.x2 += img_coords.x1; + 192d4: f8bd 1014 ldrh.w r1, [sp, #20] + 192d8: 440a add r2, r1 + 192da: f8ad 2014 strh.w r2, [sp, #20] + bg_coords.y2 += img_coords.y1; + 192de: f8bd 2016 ldrh.w r2, [sp, #22] + 192e2: 4413 add r3, r2 + 192e4: f8ad 3016 strh.w r3, [sp, #22] +_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) + 192e8: 2212 movs r2, #18 + 192ea: 2100 movs r1, #0 + 192ec: 4638 mov r0, r7 + 192ee: 47c0 blx r8 + bg_coords.x1 -= lv_obj_get_style_pad_left(img, LV_IMG_PART_MAIN); + 192f0: f8bd 3010 ldrh.w r3, [sp, #16] + 192f4: 1a18 subs r0, r3, r0 + 192f6: f8ad 0010 strh.w r0, [sp, #16] +_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) + 192fa: 2213 movs r2, #19 + 192fc: 2100 movs r1, #0 + 192fe: 4638 mov r0, r7 + 19300: 47c0 blx r8 + bg_coords.x2 += lv_obj_get_style_pad_right(img, LV_IMG_PART_MAIN); + 19302: f8bd 3014 ldrh.w r3, [sp, #20] + 19306: 4418 add r0, r3 + 19308: f8ad 0014 strh.w r0, [sp, #20] +_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) + 1930c: 2210 movs r2, #16 + 1930e: 2100 movs r1, #0 + 19310: 4638 mov r0, r7 + 19312: 47c0 blx r8 + bg_coords.y1 -= lv_obj_get_style_pad_top(img, LV_IMG_PART_MAIN); + 19314: f8bd 3012 ldrh.w r3, [sp, #18] + 19318: 1a18 subs r0, r3, r0 + 1931a: f8ad 0012 strh.w r0, [sp, #18] +_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) + 1931e: 2211 movs r2, #17 + 19320: 2100 movs r1, #0 + 19322: 4638 mov r0, r7 + 19324: 47c0 blx r8 + bg_coords.y2 += lv_obj_get_style_pad_bottom(img, LV_IMG_PART_MAIN); + 19326: f8bd 3016 ldrh.w r3, [sp, #22] + 1932a: 4418 add r0, r3 + 1932c: f8ad 0016 strh.w r0, [sp, #22] + + lv_draw_rect(&bg_coords, clip_area, &bg_dsc); + 19330: aa0f add r2, sp, #60 ; 0x3c + 19332: 4631 mov r1, r6 + 19334: a804 add r0, sp, #16 + 19336: 4b3c ldr r3, [pc, #240] ; (19428 ) + 19338: 4798 blx r3 +_LV_OBJ_STYLE_SET_GET_DECLARE(CLIP_CORNER, clip_corner, bool, _int, scalar) + 1933a: 2202 movs r2, #2 + 1933c: 2100 movs r1, #0 + 1933e: 4638 mov r0, r7 + 19340: 47c0 blx r8 + + if(lv_obj_get_style_clip_corner(img, LV_OBJ_PART_MAIN)) { + 19342: b9c8 cbnz r0, 19378 + lv_draw_mask_radius_init(mp, &bg_coords, r, false); + /*Add the mask and use `img+8` as custom id. Don't use `obj` directly because it might be used by the user*/ + lv_draw_mask_add(mp, img + 8); + } + + if(ext->src_type == LV_IMG_SRC_FILE || ext->src_type == LV_IMG_SRC_VARIABLE) { + 19344: 7d2b ldrb r3, [r5, #20] + 19346: f003 0303 and.w r3, r3, #3 + 1934a: 2b01 cmp r3, #1 + 1934c: d92a bls.n 193a4 + for(; cords_tmp.x1 <= img_coords.x2; cords_tmp.x1 += ext->w, cords_tmp.x2 += ext->w) { + lv_draw_img(&cords_tmp, clip_area, ext->src, &img_dsc); + } + } + } + else if(ext->src_type == LV_IMG_SRC_SYMBOL) { + 1934e: 2b02 cmp r3, #2 + 19350: f000 80d1 beq.w 194f6 + label_dsc.color = lv_obj_get_style_image_recolor(img, LV_IMG_PART_MAIN); + lv_draw_label(&img_coords, clip_area, &label_dsc, ext->src, NULL); + } + else { + /*Trigger the error handler of image drawer*/ + LV_LOG_WARN("lv_img_design: image source type is unknown"); + 19354: 4b35 ldr r3, [pc, #212] ; (1942c ) + 19356: 9300 str r3, [sp, #0] + 19358: 4b35 ldr r3, [pc, #212] ; (19430 ) + 1935a: f240 22bb movw r2, #699 ; 0x2bb + 1935e: 4935 ldr r1, [pc, #212] ; (19434 ) + 19360: 2002 movs r0, #2 + 19362: 4c35 ldr r4, [pc, #212] ; (19438 ) + 19364: 47a0 blx r4 + lv_draw_img(&img->coords, clip_area, NULL, NULL); + 19366: 2300 movs r3, #0 + 19368: 461a mov r2, r3 + 1936a: 4631 mov r1, r6 + 1936c: f107 0010 add.w r0, r7, #16 + 19370: 4c32 ldr r4, [pc, #200] ; (1943c ) + 19372: 47a0 blx r4 + lv_obj_init_draw_rect_dsc(img, LV_OBJ_PART_MAIN, &draw_dsc); + lv_draw_rect(&img->coords, clip_area, &draw_dsc); + } + } + + return LV_DESIGN_RES_OK; + 19374: 2000 movs r0, #0 + 19376: e0dc b.n 19532 + lv_draw_mask_radius_param_t * mp = _lv_mem_buf_get(sizeof(lv_draw_mask_radius_param_t)); + 19378: 201c movs r0, #28 + 1937a: 4b31 ldr r3, [pc, #196] ; (19440 ) + 1937c: 4798 blx r3 + 1937e: 4680 mov r8, r0 +_LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) + 19380: 2201 movs r2, #1 + 19382: 2100 movs r1, #0 + 19384: 4638 mov r0, r7 + 19386: 4b1f ldr r3, [pc, #124] ; (19404 ) + 19388: 4798 blx r3 + lv_draw_mask_radius_init(mp, &bg_coords, r, false); + 1938a: 2300 movs r3, #0 + 1938c: 4602 mov r2, r0 + 1938e: a904 add r1, sp, #16 + 19390: 4640 mov r0, r8 + 19392: f8df a0bc ldr.w sl, [pc, #188] ; 19450 + 19396: 47d0 blx sl + lv_draw_mask_add(mp, img + 8); + 19398: f507 7118 add.w r1, r7, #608 ; 0x260 + 1939c: 4640 mov r0, r8 + 1939e: 4b29 ldr r3, [pc, #164] ; (19444 ) + 193a0: 4798 blx r3 + 193a2: e7cf b.n 19344 + img_coords.x1 += ext->offset.x; + 193a4: f8bd 2008 ldrh.w r2, [sp, #8] + 193a8: 88ab ldrh r3, [r5, #4] + 193aa: 441a add r2, r3 + 193ac: b292 uxth r2, r2 + 193ae: b210 sxth r0, r2 + 193b0: f8ad 0008 strh.w r0, [sp, #8] + img_coords.y1 += ext->offset.y; + 193b4: f8bd 300a ldrh.w r3, [sp, #10] + 193b8: 88e9 ldrh r1, [r5, #6] + 193ba: 440b add r3, r1 + 193bc: b29b uxth r3, r3 + 193be: b219 sxth r1, r3 + 193c0: f8ad 100a strh.w r1, [sp, #10] + if(img_coords.x1 > img->coords.x1) img_coords.x1 -= ext->w; + 193c4: f9b7 e010 ldrsh.w lr, [r7, #16] + 193c8: 4586 cmp lr, r0 + 193ca: da03 bge.n 193d4 + 193cc: 8928 ldrh r0, [r5, #8] + 193ce: 1a12 subs r2, r2, r0 + 193d0: f8ad 2008 strh.w r2, [sp, #8] + if(img_coords.y1 > img->coords.y1) img_coords.y1 -= ext->h; + 193d4: f9b7 2012 ldrsh.w r2, [r7, #18] + 193d8: 428a cmp r2, r1 + 193da: da03 bge.n 193e4 + 193dc: 896a ldrh r2, [r5, #10] + 193de: 1a9b subs r3, r3, r2 + 193e0: f8ad 300a strh.w r3, [sp, #10] + lv_draw_img_dsc_init(&img_dsc); + 193e4: a808 add r0, sp, #32 + 193e6: 4b18 ldr r3, [pc, #96] ; (19448 ) + 193e8: 4798 blx r3 + lv_obj_init_draw_img_dsc(img, LV_IMG_PART_MAIN, &img_dsc); + 193ea: aa08 add r2, sp, #32 + 193ec: 2100 movs r1, #0 + 193ee: 4638 mov r0, r7 + 193f0: 4b16 ldr r3, [pc, #88] ; (1944c ) + 193f2: 4798 blx r3 + img_dsc.zoom = zoom_final; + 193f4: f8ad 4028 strh.w r4, [sp, #40] ; 0x28 + if(img_dsc.zoom == 0) return LV_DESIGN_RES_OK; + 193f8: bb64 cbnz r4, 19454 + 193fa: 2000 movs r0, #0 + 193fc: e099 b.n 19532 + 193fe: bf00 nop + 19400: 00004d9d .word 0x00004d9d + 19404: 000044d5 .word 0x000044d5 + 19408: 0001176d .word 0x0001176d + 1940c: 00002f5d .word 0x00002f5d + 19410: 00002fad .word 0x00002fad + 19414: 0000ec65 .word 0x0000ec65 + 19418: 0000460d .word 0x0000460d + 1941c: 00002e41 .word 0x00002e41 + 19420: 0000c269 .word 0x0000c269 + 19424: 000050c5 .word 0x000050c5 + 19428: 0000c331 .word 0x0000c331 + 1942c: 000250e0 .word 0x000250e0 + 19430: 00029590 .word 0x00029590 + 19434: 000296b8 .word 0x000296b8 + 19438: 0001225d .word 0x0001225d + 1943c: 000096e9 .word 0x000096e9 + 19440: 0001293d .word 0x0001293d + 19444: 0000bdc1 .word 0x0000bdc1 + 19448: 00009645 .word 0x00009645 + 1944c: 00005769 .word 0x00005769 + 19450: 0000c02d .word 0x0000c02d + img_dsc.angle = angle_final; + 19454: f8ad 9022 strh.w r9, [sp, #34] ; 0x22 + img_dsc.pivot.x = ext->pivot.x; + 19458: 89eb ldrh r3, [r5, #14] + 1945a: f8ad 3024 strh.w r3, [sp, #36] ; 0x24 + img_dsc.pivot.y = ext->pivot.y; + 1945e: 8a2b ldrh r3, [r5, #16] + 19460: f8ad 3026 strh.w r3, [sp, #38] ; 0x26 + img_dsc.antialias = ext->antialias; + 19464: 7d6a ldrb r2, [r5, #21] + 19466: f89d 302f ldrb.w r3, [sp, #47] ; 0x2f + 1946a: f362 0300 bfi r3, r2, #0, #1 + 1946e: f88d 302f strb.w r3, [sp, #47] ; 0x2f + cords_tmp.y1 = img_coords.y1; + 19472: f9bd 300a ldrsh.w r3, [sp, #10] + 19476: f8ad 301a strh.w r3, [sp, #26] + cords_tmp.y2 = img_coords.y1 + ext->h - 1; + 1947a: 1e5a subs r2, r3, #1 + 1947c: 8969 ldrh r1, [r5, #10] + 1947e: 440a add r2, r1 + 19480: f8ad 201e strh.w r2, [sp, #30] + for(; cords_tmp.y1 <= img_coords.y2; cords_tmp.y1 += ext->h, cords_tmp.y2 += ext->h) { + 19484: f9bd 200e ldrsh.w r2, [sp, #14] + 19488: 429a cmp r2, r3 + 1948a: f6ff af73 blt.w 19374 + lv_draw_img(&cords_tmp, clip_area, ext->src, &img_dsc); + 1948e: 4c40 ldr r4, [pc, #256] ; (19590 ) + cords_tmp.x1 = img_coords.x1; + 19490: f9bd 3008 ldrsh.w r3, [sp, #8] + 19494: f8ad 3018 strh.w r3, [sp, #24] + cords_tmp.x2 = img_coords.x1 + ext->w - 1; + 19498: 1e5a subs r2, r3, #1 + 1949a: 8929 ldrh r1, [r5, #8] + 1949c: 440a add r2, r1 + 1949e: f8ad 201c strh.w r2, [sp, #28] + for(; cords_tmp.x1 <= img_coords.x2; cords_tmp.x1 += ext->w, cords_tmp.x2 += ext->w) { + 194a2: f9bd 200c ldrsh.w r2, [sp, #12] + 194a6: 429a cmp r2, r3 + 194a8: db14 blt.n 194d4 + lv_draw_img(&cords_tmp, clip_area, ext->src, &img_dsc); + 194aa: ab08 add r3, sp, #32 + 194ac: 682a ldr r2, [r5, #0] + 194ae: 4631 mov r1, r6 + 194b0: a806 add r0, sp, #24 + 194b2: 47a0 blx r4 + for(; cords_tmp.x1 <= img_coords.x2; cords_tmp.x1 += ext->w, cords_tmp.x2 += ext->w) { + 194b4: 892a ldrh r2, [r5, #8] + 194b6: f8bd 3018 ldrh.w r3, [sp, #24] + 194ba: 4413 add r3, r2 + 194bc: b21b sxth r3, r3 + 194be: f8ad 3018 strh.w r3, [sp, #24] + 194c2: f8bd 101c ldrh.w r1, [sp, #28] + 194c6: 440a add r2, r1 + 194c8: f8ad 201c strh.w r2, [sp, #28] + 194cc: f9bd 200c ldrsh.w r2, [sp, #12] + 194d0: 429a cmp r2, r3 + 194d2: daea bge.n 194aa + for(; cords_tmp.y1 <= img_coords.y2; cords_tmp.y1 += ext->h, cords_tmp.y2 += ext->h) { + 194d4: 896a ldrh r2, [r5, #10] + 194d6: f8bd 301a ldrh.w r3, [sp, #26] + 194da: 4413 add r3, r2 + 194dc: b21b sxth r3, r3 + 194de: f8ad 301a strh.w r3, [sp, #26] + 194e2: f8bd 101e ldrh.w r1, [sp, #30] + 194e6: 440a add r2, r1 + 194e8: f8ad 201e strh.w r2, [sp, #30] + 194ec: f9bd 200e ldrsh.w r2, [sp, #14] + 194f0: 429a cmp r2, r3 + 194f2: dacd bge.n 19490 + 194f4: e73e b.n 19374 + lv_draw_label_dsc_init(&label_dsc); + 194f6: a808 add r0, sp, #32 + 194f8: 4b26 ldr r3, [pc, #152] ; (19594 ) + 194fa: 4798 blx r3 + lv_obj_init_draw_label_dsc(img, LV_IMG_PART_MAIN, &label_dsc); + 194fc: aa08 add r2, sp, #32 + 194fe: 2100 movs r1, #0 + 19500: 4638 mov r0, r7 + 19502: 4b25 ldr r3, [pc, #148] ; (19598 ) + 19504: 4798 blx r3 +_LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_RECOLOR, image_recolor, lv_color_t, _color, nonscalar) + 19506: f248 02a9 movw r2, #32937 ; 0x80a9 + 1950a: 2100 movs r1, #0 + 1950c: 4638 mov r0, r7 + 1950e: 4b23 ldr r3, [pc, #140] ; (1959c ) + 19510: 4798 blx r3 + label_dsc.color = lv_obj_get_style_image_recolor(img, LV_IMG_PART_MAIN); + 19512: f8ad 0020 strh.w r0, [sp, #32] + lv_draw_label(&img_coords, clip_area, &label_dsc, ext->src, NULL); + 19516: 682b ldr r3, [r5, #0] + 19518: 2200 movs r2, #0 + 1951a: 9200 str r2, [sp, #0] + 1951c: aa08 add r2, sp, #32 + 1951e: 4631 mov r1, r6 + 19520: a802 add r0, sp, #8 + 19522: 4c1f ldr r4, [pc, #124] ; (195a0 ) + 19524: 47a0 blx r4 + 19526: e725 b.n 19374 + if(ext->h == 0 || ext->w == 0) return true; + 19528: 2001 movs r0, #1 + 1952a: e002 b.n 19532 + else if(mode == LV_DESIGN_DRAW_POST) { + 1952c: 2c01 cmp r4, #1 + 1952e: d003 beq.n 19538 + return LV_DESIGN_RES_OK; + 19530: 2000 movs r0, #0 +} + 19532: b024 add sp, #144 ; 0x90 + 19534: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} +_LV_OBJ_STYLE_SET_GET_DECLARE(CLIP_CORNER, clip_corner, bool, _int, scalar) + 19538: 2202 movs r2, #2 + 1953a: 2100 movs r1, #0 + 1953c: 4638 mov r0, r7 + 1953e: 4b19 ldr r3, [pc, #100] ; (195a4 ) + 19540: 4798 blx r3 + if(lv_obj_get_style_clip_corner(img, LV_OBJ_PART_MAIN)) { + 19542: b950 cbnz r0, 1955a + lv_draw_rect_dsc_init(&draw_dsc); + 19544: a80f add r0, sp, #60 ; 0x3c + 19546: 4b18 ldr r3, [pc, #96] ; (195a8 ) + 19548: 4798 blx r3 +_LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_POST, border_post, bool, _int, scalar) + 1954a: 2233 movs r2, #51 ; 0x33 + 1954c: 2100 movs r1, #0 + 1954e: 4638 mov r0, r7 + 19550: 4b14 ldr r3, [pc, #80] ; (195a4 ) + 19552: 4798 blx r3 + if(lv_obj_get_style_border_post(img, LV_OBJ_PART_MAIN)) { + 19554: b940 cbnz r0, 19568 + return LV_DESIGN_RES_OK; + 19556: 2000 movs r0, #0 + 19558: e7eb b.n 19532 + lv_draw_mask_radius_param_t * param = lv_draw_mask_remove_custom(img + 8); + 1955a: f507 7018 add.w r0, r7, #608 ; 0x260 + 1955e: 4b13 ldr r3, [pc, #76] ; (195ac ) + 19560: 4798 blx r3 + _lv_mem_buf_release(param); + 19562: 4b13 ldr r3, [pc, #76] ; (195b0 ) + 19564: 4798 blx r3 + 19566: e7ed b.n 19544 + draw_dsc.bg_opa = LV_OPA_TRANSP; + 19568: 2100 movs r1, #0 + 1956a: f88d 1048 strb.w r1, [sp, #72] ; 0x48 + draw_dsc.pattern_opa = LV_OPA_TRANSP; + 1956e: f88d 1072 strb.w r1, [sp, #114] ; 0x72 + draw_dsc.shadow_opa = LV_OPA_TRANSP; + 19572: f88d 1064 strb.w r1, [sp, #100] ; 0x64 + lv_obj_init_draw_rect_dsc(img, LV_OBJ_PART_MAIN, &draw_dsc); + 19576: aa0f add r2, sp, #60 ; 0x3c + 19578: 4638 mov r0, r7 + 1957a: 4b0e ldr r3, [pc, #56] ; (195b4 ) + 1957c: 4798 blx r3 + lv_draw_rect(&img->coords, clip_area, &draw_dsc); + 1957e: aa0f add r2, sp, #60 ; 0x3c + 19580: 4631 mov r1, r6 + 19582: f107 0010 add.w r0, r7, #16 + 19586: 4b0c ldr r3, [pc, #48] ; (195b8 ) + 19588: 4798 blx r3 + 1958a: e7e4 b.n 19556 + if(ext->src_type == LV_IMG_SRC_UNKNOWN || ext->src_type == LV_IMG_SRC_SYMBOL) return LV_DESIGN_RES_NOT_COVER; + 1958c: 2002 movs r0, #2 + 1958e: e7d0 b.n 19532 + 19590: 000096e9 .word 0x000096e9 + 19594: 000099cd .word 0x000099cd + 19598: 000056b1 .word 0x000056b1 + 1959c: 00004581 .word 0x00004581 + 195a0: 00009a25 .word 0x00009a25 + 195a4: 000044d5 .word 0x000044d5 + 195a8: 0000c269 .word 0x0000c269 + 195ac: 0000be91 .word 0x0000be91 + 195b0: 00012571 .word 0x00012571 + 195b4: 000050c5 .word 0x000050c5 + 195b8: 0000c331 .word 0x0000c331 + +000195bc : +{ + 195bc: b530 push {r4, r5, lr} + 195be: b083 sub sp, #12 + 195c0: 4604 mov r4, r0 + LV_ASSERT_OBJ(img, LV_OBJX_NAME); + 195c2: 4b0c ldr r3, [pc, #48] ; (195f4 ) + 195c4: 4798 blx r3 + 195c6: b968 cbnz r0, 195e4 + 195c8: 4b0b ldr r3, [pc, #44] ; (195f8 ) + 195ca: 9300 str r3, [sp, #0] + 195cc: f44f 72e7 mov.w r2, #462 ; 0x1ce + 195d0: 490a ldr r1, [pc, #40] ; (195fc ) + 195d2: 2003 movs r0, #3 + 195d4: 4d0a ldr r5, [pc, #40] ; (19600 ) + 195d6: 47a8 blx r5 + 195d8: 4622 mov r2, r4 + 195da: 2300 movs r3, #0 + 195dc: 4809 ldr r0, [pc, #36] ; (19604 ) + 195de: 490a ldr r1, [pc, #40] ; (19608 ) + 195e0: 4788 blx r1 + 195e2: e7fe b.n 195e2 + lv_img_ext_t * ext = lv_obj_get_ext_attr(img); + 195e4: 4620 mov r0, r4 + 195e6: 4b09 ldr r3, [pc, #36] ; (1960c ) 195e8: 4798 blx r3 - 195ea: ebc0 1000 rsb r0, r0, r0, lsl #4 - 195ee: 0040 lsls r0, r0, #1 - 195f0: 3050 adds r0, #80 ; 0x50 - 195f2: 4b13 ldr r3, [pc, #76] ; (19640 ) - 195f4: fb83 2300 smull r2, r3, r3, r0 - 195f8: 17c2 asrs r2, r0, #31 - 195fa: ebc2 12a3 rsb r2, r2, r3, asr #6 - 195fe: b212 sxth r2, r2 - 19600: f7ff b8a8 b.w 18754 - lv_style_set_pad_top(&styles->table_cell, LV_STATE_DEFAULT, PAD_DEF); - 19604: 2000 movs r0, #0 - 19606: 4b0d ldr r3, [pc, #52] ; (1963c ) - 19608: 4798 blx r3 - 1960a: ebc0 1000 rsb r0, r0, r0, lsl #4 - 1960e: 3050 adds r0, #80 ; 0x50 - 19610: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 19614: da02 bge.n 1961c - 19616: 2201 movs r2, #1 - 19618: f7ff b8b5 b.w 18786 - 1961c: 2000 movs r0, #0 - 1961e: 4b07 ldr r3, [pc, #28] ; (1963c ) - 19620: 4798 blx r3 - 19622: ebc0 1000 rsb r0, r0, r0, lsl #4 - 19626: 3050 adds r0, #80 ; 0x50 - 19628: 4b05 ldr r3, [pc, #20] ; (19640 ) - 1962a: fb83 2300 smull r2, r3, r3, r0 - 1962e: 17c2 asrs r2, r0, #31 - 19630: ebc2 12a3 rsb r2, r2, r3, asr #6 - 19634: b212 sxth r2, r2 - 19636: f7ff b8a6 b.w 18786 - 1963a: bf00 nop - 1963c: 000114e5 .word 0x000114e5 - 19640: 66666667 .word 0x66666667 - 19644: 2000 movs r0, #0 - 19646: 4b1d ldr r3, [pc, #116] ; (196bc ) - 19648: 4798 blx r3 - 1964a: ebc0 1000 rsb r0, r0, r0, lsl #4 - 1964e: 0040 lsls r0, r0, #1 - 19650: 3050 adds r0, #80 ; 0x50 - 19652: 4b1b ldr r3, [pc, #108] ; (196c0 ) - 19654: fb83 2300 smull r2, r3, r3, r0 - 19658: 17c2 asrs r2, r0, #31 - 1965a: ebc2 12a3 rsb r2, r2, r3, asr #6 - 1965e: b212 sxth r2, r2 - 19660: f7ff b891 b.w 18786 - lv_style_set_pad_bottom(&styles->table_cell, LV_STATE_DEFAULT, PAD_DEF); - 19664: 2000 movs r0, #0 - 19666: 4b15 ldr r3, [pc, #84] ; (196bc ) - 19668: 4798 blx r3 - 1966a: ebc0 1000 rsb r0, r0, r0, lsl #4 - 1966e: 3050 adds r0, #80 ; 0x50 - 19670: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 19674: da02 bge.n 1967c - 19676: 2201 movs r2, #1 - 19678: f7ff b89e b.w 187b8 - 1967c: 2000 movs r0, #0 - 1967e: 4b0f ldr r3, [pc, #60] ; (196bc ) - 19680: 4798 blx r3 - 19682: ebc0 1000 rsb r0, r0, r0, lsl #4 - 19686: 3050 adds r0, #80 ; 0x50 - 19688: 4b0d ldr r3, [pc, #52] ; (196c0 ) - 1968a: fb83 2300 smull r2, r3, r3, r0 - 1968e: 17c2 asrs r2, r0, #31 - 19690: ebc2 12a3 rsb r2, r2, r3, asr #6 - 19694: b212 sxth r2, r2 - 19696: f7ff b88f b.w 187b8 - 1969a: 2000 movs r0, #0 - 1969c: 4b07 ldr r3, [pc, #28] ; (196bc ) + return ext->auto_size == 0 ? false : true; + 195ea: 7d00 ldrb r0, [r0, #20] +} + 195ec: f3c0 0080 ubfx r0, r0, #2, #1 + 195f0: b003 add sp, #12 + 195f2: bd30 pop {r4, r5, pc} + 195f4: 000022b1 .word 0x000022b1 + 195f8: 00029608 .word 0x00029608 + 195fc: 000296b8 .word 0x000296b8 + 19600: 0001225d .word 0x0001225d + 19604: 0002483c .word 0x0002483c + 19608: 000022b9 .word 0x000022b9 + 1960c: 00004d9d .word 0x00004d9d + +00019610 : +{ + 19610: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} + 19614: b086 sub sp, #24 + 19616: 4605 mov r5, r0 + 19618: 460e mov r6, r1 + LV_ASSERT_OBJ(img, LV_OBJX_NAME); + 1961a: 4b7c ldr r3, [pc, #496] ; (1980c ) + 1961c: 4798 blx r3 + 1961e: b960 cbnz r0, 1963a + 19620: 4b7b ldr r3, [pc, #492] ; (19810 ) + 19622: 9300 str r3, [sp, #0] + 19624: 228f movs r2, #143 ; 0x8f + 19626: 497b ldr r1, [pc, #492] ; (19814 ) + 19628: 2003 movs r0, #3 + 1962a: 4c7b ldr r4, [pc, #492] ; (19818 ) + 1962c: 47a0 blx r4 + 1962e: 462a mov r2, r5 + 19630: 2300 movs r3, #0 + 19632: 487a ldr r0, [pc, #488] ; (1981c ) + 19634: 497a ldr r1, [pc, #488] ; (19820 ) + 19636: 4788 blx r1 + 19638: e7fe b.n 19638 + lv_img_src_t src_type = lv_img_src_get_type(src_img); + 1963a: 4630 mov r0, r6 + 1963c: 4b79 ldr r3, [pc, #484] ; (19824 ) + 1963e: 4798 blx r3 + 19640: 4607 mov r7, r0 + lv_img_ext_t * ext = lv_obj_get_ext_attr(img); + 19642: 4628 mov r0, r5 + 19644: 4b78 ldr r3, [pc, #480] ; (19828 ) + 19646: 4798 blx r3 + 19648: 4604 mov r4, r0 + switch(src_type) { + 1964a: 2f02 cmp r7, #2 + 1964c: d83a bhi.n 196c4 + if(src_type == LV_IMG_SRC_UNKNOWN) { + 1964e: 2f03 cmp r7, #3 + 19650: d042 beq.n 196d8 + lv_img_decoder_get_info(src_img, &header); + 19652: a905 add r1, sp, #20 + 19654: 4630 mov r0, r6 + 19656: 4b75 ldr r3, [pc, #468] ; (1982c ) + 19658: 4798 blx r3 + if(src_type == LV_IMG_SRC_VARIABLE) { + 1965a: 2f00 cmp r7, #0 + 1965c: d055 beq.n 1970a + else if(src_type == LV_IMG_SRC_FILE || src_type == LV_IMG_SRC_SYMBOL) { + 1965e: 1e7b subs r3, r7, #1 + 19660: b2db uxtb r3, r3 + 19662: 2b01 cmp r3, #1 + 19664: d966 bls.n 19734 + if(src_type == LV_IMG_SRC_SYMBOL) { + 19666: 2f02 cmp r7, #2 + 19668: f000 8099 beq.w 1979e + ext->src_type = src_type; + 1966c: 7d21 ldrb r1, [r4, #20] + 1966e: f367 0101 bfi r1, r7, #0, #2 + ext->w = header.w; + 19672: 9a05 ldr r2, [sp, #20] + 19674: f3c2 228a ubfx r2, r2, #10, #11 + 19678: 8122 strh r2, [r4, #8] + ext->h = header.h; + 1967a: f8bd 3016 ldrh.w r3, [sp, #22] + 1967e: f3c3 134a ubfx r3, r3, #5, #11 + 19682: 8163 strh r3, [r4, #10] + ext->cf = header.cf; + 19684: f89d 0014 ldrb.w r0, [sp, #20] + 19688: f360 01c7 bfi r1, r0, #3, #5 + 1968c: 7521 strb r1, [r4, #20] + ext->pivot.x = header.w / 2; + 1968e: f3c2 0249 ubfx r2, r2, #1, #10 + 19692: 81e2 strh r2, [r4, #14] + ext->pivot.y = header.h / 2; + 19694: f3c3 0349 ubfx r3, r3, #1, #10 + 19698: 8223 strh r3, [r4, #16] + if(lv_img_get_auto_size(img) != false) { + 1969a: 4628 mov r0, r5 + 1969c: 4b64 ldr r3, [pc, #400] ; (19830 ) 1969e: 4798 blx r3 - 196a0: ebc0 1000 rsb r0, r0, r0, lsl #4 - 196a4: 0040 lsls r0, r0, #1 - 196a6: 3050 adds r0, #80 ; 0x50 - 196a8: 4b05 ldr r3, [pc, #20] ; (196c0 ) - 196aa: fb83 2300 smull r2, r3, r3, r0 - 196ae: 17c2 asrs r2, r0, #31 - 196b0: ebc2 12a3 rsb r2, r2, r3, asr #6 - 196b4: b212 sxth r2, r2 - 196b6: f7ff b87f b.w 187b8 - 196ba: bf00 nop - 196bc: 000114e5 .word 0x000114e5 - 196c0: 66666667 .word 0x66666667 - -000196c4 : + 196a0: 2800 cmp r0, #0 + 196a2: f040 80aa bne.w 197fa + if(ext->angle || ext->zoom != LV_IMG_ZOOM_NONE) lv_obj_refresh_ext_draw_pad(img); + 196a6: 89a3 ldrh r3, [r4, #12] + 196a8: b91b cbnz r3, 196b2 + 196aa: 8a63 ldrh r3, [r4, #18] + 196ac: f5b3 7f80 cmp.w r3, #256 ; 0x100 + 196b0: d002 beq.n 196b8 + 196b2: 4628 mov r0, r5 + 196b4: 4b5f ldr r3, [pc, #380] ; (19834 ) + 196b6: 4798 blx r3 + lv_obj_invalidate(img); + 196b8: 4628 mov r0, r5 + 196ba: 4b5f ldr r3, [pc, #380] ; (19838 ) + 196bc: 4798 blx r3 +} + 196be: b006 add sp, #24 + 196c0: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + LV_LOG_WARN("lv_img_set_src: unknown type"); + 196c4: 4b5d ldr r3, [pc, #372] ; (1983c ) + 196c6: 9300 str r3, [sp, #0] + 196c8: 4b51 ldr r3, [pc, #324] ; (19810 ) + 196ca: 22a0 movs r2, #160 ; 0xa0 + 196cc: 4951 ldr r1, [pc, #324] ; (19814 ) + 196ce: 2002 movs r0, #2 + 196d0: f8df 8144 ldr.w r8, [pc, #324] ; 19818 + 196d4: 47c0 blx r8 + 196d6: e7ba b.n 1964e + LV_LOG_WARN("lv_img_set_src: unknown image type"); + 196d8: 4b59 ldr r3, [pc, #356] ; (19840 ) + 196da: 9300 str r3, [sp, #0] + 196dc: 4b4c ldr r3, [pc, #304] ; (19810 ) + 196de: 22a6 movs r2, #166 ; 0xa6 + 196e0: 494c ldr r1, [pc, #304] ; (19814 ) + 196e2: 2002 movs r0, #2 + 196e4: 4d4c ldr r5, [pc, #304] ; (19818 ) + 196e6: 47a8 blx r5 + if(ext->src_type == LV_IMG_SRC_SYMBOL || ext->src_type == LV_IMG_SRC_FILE) { + 196e8: 7d23 ldrb r3, [r4, #20] + 196ea: f003 0303 and.w r3, r3, #3 + 196ee: 3b01 subs r3, #1 + 196f0: b2db uxtb r3, r3 + 196f2: 2b01 cmp r3, #1 + 196f4: d802 bhi.n 196fc + lv_mem_free(ext->src); + 196f6: 6820 ldr r0, [r4, #0] + 196f8: 4b52 ldr r3, [pc, #328] ; (19844 ) + 196fa: 4798 blx r3 + ext->src = NULL; + 196fc: 2300 movs r3, #0 + 196fe: 6023 str r3, [r4, #0] + ext->src_type = LV_IMG_SRC_UNKNOWN; + 19700: 7d23 ldrb r3, [r4, #20] + 19702: f043 0303 orr.w r3, r3, #3 + 19706: 7523 strb r3, [r4, #20] + return; + 19708: e7d9 b.n 196be + LV_LOG_INFO("lv_img_set_src: `LV_IMG_SRC_VARIABLE` type found"); + 1970a: 4b4f ldr r3, [pc, #316] ; (19848 ) + 1970c: 9300 str r3, [sp, #0] + 1970e: 4b40 ldr r3, [pc, #256] ; (19810 ) + 19710: 22b4 movs r2, #180 ; 0xb4 + 19712: 4940 ldr r1, [pc, #256] ; (19814 ) + 19714: 2001 movs r0, #1 + 19716: f8df 8100 ldr.w r8, [pc, #256] ; 19818 + 1971a: 47c0 blx r8 + if(ext->src_type == LV_IMG_SRC_FILE || ext->src_type == LV_IMG_SRC_SYMBOL) { + 1971c: 7d23 ldrb r3, [r4, #20] + 1971e: f003 0303 and.w r3, r3, #3 + 19722: 3b01 subs r3, #1 + 19724: b2db uxtb r3, r3 + 19726: 2b01 cmp r3, #1 + 19728: d802 bhi.n 19730 + lv_mem_free(ext->src); + 1972a: 6820 ldr r0, [r4, #0] + 1972c: 4b45 ldr r3, [pc, #276] ; (19844 ) + 1972e: 4798 blx r3 + ext->src = src_img; + 19730: 6026 str r6, [r4, #0] + 19732: e79b b.n 1966c + if(ext->src != src_img) { + 19734: f8d4 8000 ldr.w r8, [r4] + 19738: 4546 cmp r6, r8 + 1973a: d094 beq.n 19666 + if(ext->src_type == LV_IMG_SRC_FILE || ext->src_type == LV_IMG_SRC_SYMBOL) { + 1973c: 7d23 ldrb r3, [r4, #20] + 1973e: f003 0303 and.w r3, r3, #3 + 19742: 3b01 subs r3, #1 + 19744: b2db uxtb r3, r3 + const void * old_src = NULL; + 19746: 2b02 cmp r3, #2 + 19748: bf28 it cs + 1974a: f04f 0800 movcs.w r8, #0 + char * new_str = lv_mem_alloc(strlen(src_img) + 1); + 1974e: 4630 mov r0, r6 + 19750: 4b3e ldr r3, [pc, #248] ; (1984c ) + 19752: 4798 blx r3 + 19754: 3001 adds r0, #1 + 19756: 4b3e ldr r3, [pc, #248] ; (19850 ) + 19758: 4798 blx r3 + 1975a: 4681 mov r9, r0 + LV_ASSERT_MEM(new_str); + 1975c: 4b2b ldr r3, [pc, #172] ; (1980c ) + 1975e: 4798 blx r3 + 19760: b960 cbnz r0, 1977c + 19762: 4b2b ldr r3, [pc, #172] ; (19810 ) + 19764: 9300 str r3, [sp, #0] + 19766: 22c7 movs r2, #199 ; 0xc7 + 19768: 492a ldr r1, [pc, #168] ; (19814 ) + 1976a: 2003 movs r0, #3 + 1976c: 4c2a ldr r4, [pc, #168] ; (19818 ) + 1976e: 47a0 blx r4 + 19770: 464a mov r2, r9 + 19772: 2300 movs r3, #0 + 19774: 4837 ldr r0, [pc, #220] ; (19854 ) + 19776: 492a ldr r1, [pc, #168] ; (19820 ) + 19778: 4788 blx r1 + 1977a: e7fe b.n 1977a + if(new_str == NULL) return; + 1977c: f1b9 0f00 cmp.w r9, #0 + 19780: d09d beq.n 196be + strcpy(new_str, src_img); + 19782: 4631 mov r1, r6 + 19784: 4648 mov r0, r9 + 19786: 4b34 ldr r3, [pc, #208] ; (19858 ) + 19788: 4798 blx r3 + ext->src = new_str; + 1978a: f8c4 9000 str.w r9, [r4] + if(old_src) lv_mem_free(old_src); + 1978e: f1b8 0f00 cmp.w r8, #0 + 19792: f43f af68 beq.w 19666 + 19796: 4640 mov r0, r8 + 19798: 4b2a ldr r3, [pc, #168] ; (19844 ) + 1979a: 4798 blx r3 + 1979c: e763 b.n 19666 +_LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_FONT, text_font, const lv_font_t *, _ptr, scalar) + 1979e: f248 028e movw r2, #32910 ; 0x808e + 197a2: 2100 movs r1, #0 + 197a4: 4628 mov r0, r5 + 197a6: 4b2d ldr r3, [pc, #180] ; (1985c ) + 197a8: 4798 blx r3 + 197aa: 4681 mov r9, r0 +_LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_LETTER_SPACE, text_letter_space, lv_style_int_t, _int, scalar) + 197ac: f248 0280 movw r2, #32896 ; 0x8080 + 197b0: 2100 movs r1, #0 + 197b2: 4628 mov r0, r5 + 197b4: f8df 80b0 ldr.w r8, [pc, #176] ; 19868 + 197b8: 47c0 blx r8 + 197ba: 4682 mov sl, r0 +_LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_LINE_SPACE, text_line_space, lv_style_int_t, _int, scalar) + 197bc: f248 0281 movw r2, #32897 ; 0x8081 + 197c0: 2100 movs r1, #0 + 197c2: 4628 mov r0, r5 + 197c4: 47c0 blx r8 + _lv_txt_get_size(&size, src_img, font, letter_space, line_space, + 197c6: 2300 movs r3, #0 + 197c8: 9302 str r3, [sp, #8] + 197ca: f647 4318 movw r3, #31768 ; 0x7c18 + 197ce: 9301 str r3, [sp, #4] + 197d0: 9000 str r0, [sp, #0] + 197d2: 4653 mov r3, sl + 197d4: 464a mov r2, r9 + 197d6: 4631 mov r1, r6 + 197d8: a804 add r0, sp, #16 + 197da: 4e21 ldr r6, [pc, #132] ; (19860 ) + 197dc: 47b0 blx r6 + header.w = size.x; + 197de: 9b05 ldr r3, [sp, #20] + 197e0: f8bd 2010 ldrh.w r2, [sp, #16] + 197e4: f362 2394 bfi r3, r2, #10, #11 + 197e8: 9305 str r3, [sp, #20] + header.h = size.y; + 197ea: 0c1b lsrs r3, r3, #16 + 197ec: f8bd 2012 ldrh.w r2, [sp, #18] + 197f0: f362 134f bfi r3, r2, #5, #11 + 197f4: f8ad 3016 strh.w r3, [sp, #22] + 197f8: e738 b.n 1966c + lv_obj_set_size(img, ext->w, ext->h); + 197fa: f9b4 200a ldrsh.w r2, [r4, #10] + 197fe: f9b4 1008 ldrsh.w r1, [r4, #8] + 19802: 4628 mov r0, r5 + 19804: 4b17 ldr r3, [pc, #92] ; (19864 ) + 19806: 4798 blx r3 + 19808: e74d b.n 196a6 + 1980a: bf00 nop + 1980c: 000022b1 .word 0x000022b1 + 19810: 00029620 .word 0x00029620 + 19814: 000296b8 .word 0x000296b8 + 19818: 0001225d .word 0x0001225d + 1981c: 0002483c .word 0x0002483c + 19820: 000022b9 .word 0x000022b9 + 19824: 00009969 .word 0x00009969 + 19828: 00004d9d .word 0x00004d9d + 1982c: 0000fded .word 0x0000fded + 19830: 000195bd .word 0x000195bd + 19834: 00002c2d .word 0x00002c2d + 19838: 00003321 .word 0x00003321 + 1983c: 000296e4 .word 0x000296e4 + 19840: 00029704 .word 0x00029704 + 19844: 000124c5 .word 0x000124c5 + 19848: 00029728 .word 0x00029728 + 1984c: 0001b51f .word 0x0001b51f + 19850: 000123dd .word 0x000123dd + 19854: 00023fd8 .word 0x00023fd8 + 19858: 0001b50f .word 0x0001b50f + 1985c: 000046a1 .word 0x000046a1 + 19860: 0001407d .word 0x0001407d + 19864: 000042a1 .word 0x000042a1 + 19868: 000044d5 .word 0x000044d5 + +0001986c : +{ + 1986c: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} + 19870: b082 sub sp, #8 + 19872: 4680 mov r8, r0 + 19874: 460f mov r7, r1 + lv_obj_t * img = lv_obj_create(par, copy); + 19876: 4b58 ldr r3, [pc, #352] ; (199d8 ) + 19878: 4798 blx r3 + 1987a: 4605 mov r5, r0 + LV_ASSERT_MEM(img); + 1987c: 4b57 ldr r3, [pc, #348] ; (199dc ) + 1987e: 4798 blx r3 + 19880: b1d0 cbz r0, 198b8 + if(img == NULL) return NULL; + 19882: 2d00 cmp r5, #0 + 19884: f000 8086 beq.w 19994 + if(ancestor_signal == NULL) ancestor_signal = lv_obj_get_signal_cb(img); + 19888: 4b55 ldr r3, [pc, #340] ; (199e0 ) + 1988a: 681b ldr r3, [r3, #0] + 1988c: b30b cbz r3, 198d2 + lv_img_ext_t * ext = lv_obj_allocate_ext_attr(img, sizeof(lv_img_ext_t)); + 1988e: 2118 movs r1, #24 + 19890: 4628 mov r0, r5 + 19892: 4b54 ldr r3, [pc, #336] ; (199e4 ) + 19894: 4798 blx r3 + 19896: 4604 mov r4, r0 + LV_ASSERT_MEM(ext); + 19898: 4b50 ldr r3, [pc, #320] ; (199dc ) + 1989a: 4798 blx r3 + 1989c: b9f8 cbnz r0, 198de + 1989e: 4b52 ldr r3, [pc, #328] ; (199e8 ) + 198a0: 9300 str r3, [sp, #0] + 198a2: 2249 movs r2, #73 ; 0x49 + 198a4: 4951 ldr r1, [pc, #324] ; (199ec ) + 198a6: 2003 movs r0, #3 + 198a8: 4d51 ldr r5, [pc, #324] ; (199f0 ) + 198aa: 47a8 blx r5 + 198ac: 4622 mov r2, r4 + 198ae: 2300 movs r3, #0 + 198b0: 4850 ldr r0, [pc, #320] ; (199f4 ) + 198b2: 4951 ldr r1, [pc, #324] ; (199f8 ) + 198b4: 4788 blx r1 + 198b6: e7fe b.n 198b6 + LV_ASSERT_MEM(img); + 198b8: 4b4b ldr r3, [pc, #300] ; (199e8 ) + 198ba: 9300 str r3, [sp, #0] + 198bc: 2242 movs r2, #66 ; 0x42 + 198be: 494b ldr r1, [pc, #300] ; (199ec ) + 198c0: 2003 movs r0, #3 + 198c2: 4c4b ldr r4, [pc, #300] ; (199f0 ) + 198c4: 47a0 blx r4 + 198c6: 462a mov r2, r5 + 198c8: 2300 movs r3, #0 + 198ca: 484a ldr r0, [pc, #296] ; (199f4 ) + 198cc: 494a ldr r1, [pc, #296] ; (199f8 ) + 198ce: 4788 blx r1 + 198d0: e7fe b.n 198d0 + if(ancestor_signal == NULL) ancestor_signal = lv_obj_get_signal_cb(img); + 198d2: 4628 mov r0, r5 + 198d4: 4b49 ldr r3, [pc, #292] ; (199fc ) + 198d6: 4798 blx r3 + 198d8: 4b41 ldr r3, [pc, #260] ; (199e0 ) + 198da: 6018 str r0, [r3, #0] + 198dc: e7d7 b.n 1988e + if(ext == NULL) { + 198de: 2c00 cmp r4, #0 + 198e0: d05c beq.n 1999c + ext->src = NULL; + 198e2: 2600 movs r6, #0 + 198e4: 6026 str r6, [r4, #0] + ext->src_type = LV_IMG_SRC_UNKNOWN; + 198e6: 7d23 ldrb r3, [r4, #20] + ext->cf = LV_IMG_CF_UNKNOWN; + 198e8: f043 0303 orr.w r3, r3, #3 + 198ec: f366 03c7 bfi r3, r6, #3, #5 + 198f0: 7523 strb r3, [r4, #20] + ext->w = lv_obj_get_width(img); + 198f2: 4628 mov r0, r5 + 198f4: 4b42 ldr r3, [pc, #264] ; (19a00 ) + 198f6: 4798 blx r3 + 198f8: 8120 strh r0, [r4, #8] + ext->h = lv_obj_get_height(img); + 198fa: 4628 mov r0, r5 + 198fc: 4b41 ldr r3, [pc, #260] ; (19a04 ) + 198fe: 4798 blx r3 + 19900: 8160 strh r0, [r4, #10] + ext->angle = 0; + 19902: 81a6 strh r6, [r4, #12] + ext->zoom = LV_IMG_ZOOM_NONE; + 19904: f44f 7380 mov.w r3, #256 ; 0x100 + 19908: 8263 strh r3, [r4, #18] + ext->antialias = LV_ANTIALIAS ? 1 : 0; + 1990a: 7d63 ldrb r3, [r4, #21] + 1990c: f043 0301 orr.w r3, r3, #1 + 19910: 7563 strb r3, [r4, #21] + ext->auto_size = 1; + 19912: 7d23 ldrb r3, [r4, #20] + 19914: f043 0304 orr.w r3, r3, #4 + 19918: 7523 strb r3, [r4, #20] + ext->offset.x = 0; + 1991a: 80a6 strh r6, [r4, #4] + ext->offset.y = 0; + 1991c: 80e6 strh r6, [r4, #6] + ext->pivot.x = 0; + 1991e: 81e6 strh r6, [r4, #14] + ext->pivot.y = 0; + 19920: 8226 strh r6, [r4, #16] + lv_obj_set_signal_cb(img, lv_img_signal); + 19922: 4939 ldr r1, [pc, #228] ; (19a08 ) + 19924: 4628 mov r0, r5 + 19926: 4b39 ldr r3, [pc, #228] ; (19a0c ) + 19928: 4798 blx r3 + lv_obj_set_design_cb(img, lv_img_design); + 1992a: 4939 ldr r1, [pc, #228] ; (19a10 ) + 1992c: 4628 mov r0, r5 + 1992e: 4b39 ldr r3, [pc, #228] ; (19a14 ) + 19930: 4798 blx r3 + if(copy == NULL) { + 19932: 2f00 cmp r7, #0 + 19934: d037 beq.n 199a6 + lv_img_ext_t * copy_ext = lv_obj_get_ext_attr(copy); + 19936: 4638 mov r0, r7 + 19938: 4b37 ldr r3, [pc, #220] ; (19a18 ) + 1993a: 4798 blx r3 + ext->auto_size = copy_ext->auto_size; + 1993c: 7d03 ldrb r3, [r0, #20] + 1993e: f3c3 0380 ubfx r3, r3, #2, #1 + 19942: 7d22 ldrb r2, [r4, #20] + 19944: f363 0282 bfi r2, r3, #2, #1 + 19948: 7522 strb r2, [r4, #20] + ext->zoom = copy_ext->zoom; + 1994a: 8a43 ldrh r3, [r0, #18] + 1994c: 8263 strh r3, [r4, #18] + ext->angle = copy_ext->angle; + 1994e: 8983 ldrh r3, [r0, #12] + 19950: 81a3 strh r3, [r4, #12] + ext->antialias = copy_ext->antialias; + 19952: 7d42 ldrb r2, [r0, #21] + 19954: 7d63 ldrb r3, [r4, #21] + 19956: f362 0300 bfi r3, r2, #0, #1 + 1995a: 7563 strb r3, [r4, #21] + ext->offset.x = copy_ext->offset.x; + 1995c: f9b0 3004 ldrsh.w r3, [r0, #4] + 19960: 80a3 strh r3, [r4, #4] + ext->offset.y = copy_ext->offset.y; + 19962: f9b0 3006 ldrsh.w r3, [r0, #6] + 19966: 80e3 strh r3, [r4, #6] + ext->pivot.x = copy_ext->pivot.x; + 19968: f9b0 300e ldrsh.w r3, [r0, #14] + 1996c: 81e3 strh r3, [r4, #14] + ext->pivot.y = copy_ext->pivot.y; + 1996e: f9b0 3010 ldrsh.w r3, [r0, #16] + 19972: 8223 strh r3, [r4, #16] + lv_img_set_src(img, copy_ext->src); + 19974: 6801 ldr r1, [r0, #0] + 19976: 4628 mov r0, r5 + 19978: 4b28 ldr r3, [pc, #160] ; (19a1c ) + 1997a: 4798 blx r3 + lv_obj_refresh_style(img, LV_STYLE_PROP_ALL); + 1997c: 21ff movs r1, #255 ; 0xff + 1997e: 4628 mov r0, r5 + 19980: 4b27 ldr r3, [pc, #156] ; (19a20 ) + 19982: 4798 blx r3 + LV_LOG_INFO("image created"); + 19984: 4b27 ldr r3, [pc, #156] ; (19a24 ) + 19986: 9300 str r3, [sp, #0] + 19988: 4b17 ldr r3, [pc, #92] ; (199e8 ) + 1998a: 227f movs r2, #127 ; 0x7f + 1998c: 4917 ldr r1, [pc, #92] ; (199ec ) + 1998e: 2001 movs r0, #1 + 19990: 4c17 ldr r4, [pc, #92] ; (199f0 ) + 19992: 47a0 blx r4 +} + 19994: 4628 mov r0, r5 + 19996: b002 add sp, #8 + 19998: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + lv_obj_del(img); + 1999c: 4628 mov r0, r5 + 1999e: 4b22 ldr r3, [pc, #136] ; (19a28 ) + 199a0: 4798 blx r3 + return NULL; + 199a2: 2500 movs r5, #0 + 199a4: e7f6 b.n 19994 + lv_theme_apply(img, LV_THEME_IMAGE); + 199a6: 210f movs r1, #15 + 199a8: 4628 mov r0, r5 + 199aa: 4b20 ldr r3, [pc, #128] ; (19a2c ) + 199ac: 4798 blx r3 + lv_obj_set_click(img, false); + 199ae: 4631 mov r1, r6 + 199b0: 4628 mov r0, r5 + 199b2: 4b1f ldr r3, [pc, #124] ; (19a30 ) + 199b4: 4798 blx r3 + lv_obj_set_adv_hittest(img, true); /*Images have fast hit-testing*/ + 199b6: 2101 movs r1, #1 + 199b8: 4628 mov r0, r5 + 199ba: 4b1e ldr r3, [pc, #120] ; (19a34 ) + 199bc: 4798 blx r3 + if(par != NULL) { + 199be: f1b8 0f00 cmp.w r8, #0 + 199c2: d004 beq.n 199ce + ext->auto_size = 1; + 199c4: 7d23 ldrb r3, [r4, #20] + 199c6: f043 0304 orr.w r3, r3, #4 + 199ca: 7523 strb r3, [r4, #20] + 199cc: e7da b.n 19984 + ext->auto_size = 0; + 199ce: 7d23 ldrb r3, [r4, #20] + 199d0: f36f 0382 bfc r3, #2, #1 + 199d4: 7523 strb r3, [r4, #20] + 199d6: e7d5 b.n 19984 + 199d8: 00003e25 .word 0x00003e25 + 199dc: 000022b1 .word 0x000022b1 + 199e0: 20006bfc .word 0x20006bfc + 199e4: 00002bd1 .word 0x00002bd1 + 199e8: 00029630 .word 0x00029630 + 199ec: 000296b8 .word 0x000296b8 + 199f0: 0001225d .word 0x0001225d + 199f4: 00023fd8 .word 0x00023fd8 + 199f8: 000022b9 .word 0x000022b9 + 199fc: 00004d55 .word 0x00004d55 + 19a00: 00002f5d .word 0x00002f5d + 19a04: 00002fad .word 0x00002fad + 19a08: 00019a39 .word 0x00019a39 + 19a0c: 00002b2d .word 0x00002b2d + 19a10: 0001911d .word 0x0001911d + 19a14: 00002b89 .word 0x00002b89 + 19a18: 00004d9d .word 0x00004d9d + 19a1c: 00019611 .word 0x00019611 + 19a20: 00003a99 .word 0x00003a99 + 19a24: 0002975c .word 0x0002975c + 19a28: 00004f65 .word 0x00004f65 + 19a2c: 000141e9 .word 0x000141e9 + 19a30: 000029a1 .word 0x000029a1 + 19a34: 0000294d .word 0x0000294d + +00019a38 : + * @param sign a signal type from lv_signal_t enum + * @param param pointer to a signal specific variable + * @return LV_RES_OK: the object is not deleted in the function; LV_RES_INV: the object is deleted + */ +static lv_res_t lv_img_signal(lv_obj_t * img, lv_signal_t sign, void * param) +{ + 19a38: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} + 19a3c: b085 sub sp, #20 + 19a3e: 4607 mov r7, r0 + 19a40: 4615 mov r5, r2 + lv_res_t res; + if(sign == LV_SIGNAL_GET_STYLE) { + 19a42: 2908 cmp r1, #8 + 19a44: d021 beq.n 19a8a + 19a46: 460c mov r4, r1 + if(info->result != NULL) return LV_RES_OK; + else return ancestor_signal(img, sign, param); + } + + /* Include the ancient signal function */ + res = ancestor_signal(img, sign, param); + 19a48: 4b88 ldr r3, [pc, #544] ; (19c6c ) + 19a4a: 681b ldr r3, [r3, #0] + 19a4c: 4798 blx r3 + 19a4e: 4606 mov r6, r0 + if(res != LV_RES_OK) return res; + 19a50: 2801 cmp r0, #1 + 19a52: d121 bne.n 19a98 + + if(sign == LV_SIGNAL_GET_TYPE) return lv_obj_handle_get_type_signal(param, LV_OBJX_NAME); + 19a54: 2c07 cmp r4, #7 + 19a56: d02d beq.n 19ab4 + + lv_img_ext_t * ext = lv_obj_get_ext_attr(img); + 19a58: 4638 mov r0, r7 + 19a5a: 4b85 ldr r3, [pc, #532] ; (19c70 ) + 19a5c: 4798 blx r3 + 19a5e: 4680 mov r8, r0 + if(sign == LV_SIGNAL_CLEANUP) { + 19a60: bb74 cbnz r4, 19ac0 + if(ext->src_type == LV_IMG_SRC_FILE || ext->src_type == LV_IMG_SRC_SYMBOL) { + 19a62: 7d03 ldrb r3, [r0, #20] + 19a64: f003 0303 and.w r3, r3, #3 + 19a68: 3b01 subs r3, #1 + 19a6a: b2db uxtb r3, r3 + 19a6c: 2b01 cmp r3, #1 + 19a6e: d813 bhi.n 19a98 + lv_mem_free(ext->src); + 19a70: 6800 ldr r0, [r0, #0] + 19a72: 4b80 ldr r3, [pc, #512] ; (19c74 ) + 19a74: 4798 blx r3 + ext->src = NULL; + 19a76: 2300 movs r3, #0 + 19a78: f8c8 3000 str.w r3, [r8] + ext->src_type = LV_IMG_SRC_UNKNOWN; + 19a7c: f898 3014 ldrb.w r3, [r8, #20] + 19a80: f043 0303 orr.w r3, r3, #3 + 19a84: f888 3014 strb.w r3, [r8, #20] + 19a88: e006 b.n 19a98 + + +static lv_style_list_t * lv_img_get_style(lv_obj_t * img, uint8_t type) +{ + lv_style_list_t * style_dsc_p; + switch(type) { + 19a8a: 7813 ldrb r3, [r2, #0] + 19a8c: b943 cbnz r3, 19aa0 + case LV_IMG_PART_MAIN: + style_dsc_p = &img->style_list; + 19a8e: f100 0328 add.w r3, r0, #40 ; 0x28 + info->result = lv_img_get_style(img, info->part); + 19a92: 606b str r3, [r5, #4] + if(info->result != NULL) return LV_RES_OK; + 19a94: 2601 movs r6, #1 + 19a96: b12b cbz r3, 19aa4 +} + 19a98: 4630 mov r0, r6 + 19a9a: b005 add sp, #20 + 19a9c: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} + break; + default: + style_dsc_p = NULL; + 19aa0: 2300 movs r3, #0 + 19aa2: e7f6 b.n 19a92 + else return ancestor_signal(img, sign, param); + 19aa4: 4b71 ldr r3, [pc, #452] ; (19c6c ) + 19aa6: 681b ldr r3, [r3, #0] + 19aa8: 462a mov r2, r5 + 19aaa: 2108 movs r1, #8 + 19aac: 4638 mov r0, r7 + 19aae: 4798 blx r3 + 19ab0: 4606 mov r6, r0 + 19ab2: e7f1 b.n 19a98 + if(sign == LV_SIGNAL_GET_TYPE) return lv_obj_handle_get_type_signal(param, LV_OBJX_NAME); + 19ab4: 4970 ldr r1, [pc, #448] ; (19c78 ) + 19ab6: 4628 mov r0, r5 + 19ab8: 4b70 ldr r3, [pc, #448] ; (19c7c ) + 19aba: 4798 blx r3 + 19abc: 4606 mov r6, r0 + 19abe: e7eb b.n 19a98 + else if(sign == LV_SIGNAL_STYLE_CHG) { + 19ac0: 2c04 cmp r4, #4 + 19ac2: d053 beq.n 19b6c + else if(sign == LV_SIGNAL_REFR_EXT_DRAW_PAD) { + 19ac4: 2c06 cmp r4, #6 + 19ac6: d05b beq.n 19b80 + else if(sign == LV_SIGNAL_HIT_TEST) { + 19ac8: 2c0a cmp r4, #10 + 19aca: d1e5 bne.n 19a98 + if(ext->zoom != 256 && ext->angle == 0) { + 19acc: 8a43 ldrh r3, [r0, #18] + 19ace: f5b3 7f80 cmp.w r3, #256 ; 0x100 + 19ad2: f000 80c5 beq.w 19c60 + 19ad6: 8982 ldrh r2, [r0, #12] + 19ad8: 2a00 cmp r2, #0 + 19ada: f040 80c1 bne.w 19c60 + 19ade: 8aba ldrh r2, [r7, #20] + 19ae0: 3201 adds r2, #1 + 19ae2: 8a39 ldrh r1, [r7, #16] + 19ae4: 1a52 subs r2, r2, r1 + lv_coord_t scaled_width = (origin_width * ext->zoom + 255) / 256; + 19ae6: b212 sxth r2, r2 + return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); + 19ae8: 8af9 ldrh r1, [r7, #22] + 19aea: 3101 adds r1, #1 + 19aec: 8a78 ldrh r0, [r7, #18] + 19aee: 1a09 subs r1, r1, r0 + lv_coord_t scaled_height = (origin_height * ext->zoom + 255) / 256; + 19af0: b209 sxth r1, r1 + lv_coord_t scaled_width = (origin_width * ext->zoom + 255) / 256; + 19af2: fb03 f002 mul.w r0, r3, r2 + 19af6: 30ff adds r0, #255 ; 0xff + 19af8: bf48 it mi + 19afa: 30ff addmi r0, #255 ; 0xff + lv_coord_t width_offset = (origin_width - scaled_width) / 2; + 19afc: f340 200f sbfx r0, r0, #8, #16 + 19b00: 1a12 subs r2, r2, r0 + 19b02: eb02 72d2 add.w r2, r2, r2, lsr #31 + 19b06: 1054 asrs r4, r2, #1 + lv_coord_t scaled_height = (origin_height * ext->zoom + 255) / 256; + 19b08: fb01 f303 mul.w r3, r1, r3 + 19b0c: 33ff adds r3, #255 ; 0xff + 19b0e: bf48 it mi + 19b10: 33ff addmi r3, #255 ; 0xff + lv_coord_t height_offset = (origin_height - scaled_height) / 2; + 19b12: f343 230f sbfx r3, r3, #8, #16 + 19b16: 1acb subs r3, r1, r3 + 19b18: eb03 73d3 add.w r3, r3, r3, lsr #31 + 19b1c: 1058 asrs r0, r3, #1 + 19b1e: f107 030f add.w r3, r7, #15 + 19b22: 3717 adds r7, #23 + * @param src pointer to the source buffer + * @param len number of byte to copy + */ +LV_ATTRIBUTE_FAST_MEM static inline void * _lv_memcpy_small(void * dst, const void * src, size_t len) +{ + uint8_t * d8 = (uint8_t *)dst; + 19b24: aa02 add r2, sp, #8 + const uint8_t * s8 = (const uint8_t *)src; + + while(len) { + *d8 = *s8; + 19b26: f813 1f01 ldrb.w r1, [r3, #1]! + 19b2a: f802 1b01 strb.w r1, [r2], #1 + while(len) { + 19b2e: 42bb cmp r3, r7 + 19b30: d1f9 bne.n 19b26 + coords.x1 += width_offset; + 19b32: b2a2 uxth r2, r4 + 19b34: f8bd 3008 ldrh.w r3, [sp, #8] + 19b38: 4413 add r3, r2 + 19b3a: f8ad 3008 strh.w r3, [sp, #8] + coords.x2 -= width_offset; + 19b3e: f8bd 300c ldrh.w r3, [sp, #12] + 19b42: 1a9a subs r2, r3, r2 + 19b44: f8ad 200c strh.w r2, [sp, #12] + coords.y1 += height_offset; + 19b48: b283 uxth r3, r0 + 19b4a: f8bd 200a ldrh.w r2, [sp, #10] + 19b4e: 441a add r2, r3 + 19b50: f8ad 200a strh.w r2, [sp, #10] + coords.y2 -= height_offset; + 19b54: f8bd 200e ldrh.w r2, [sp, #14] + 19b58: 1ad3 subs r3, r2, r3 + 19b5a: f8ad 300e strh.w r3, [sp, #14] + info->result = _lv_area_is_point_on(&coords, info->point, 0); + 19b5e: 2200 movs r2, #0 + 19b60: 6829 ldr r1, [r5, #0] + 19b62: a802 add r0, sp, #8 + 19b64: 4b46 ldr r3, [pc, #280] ; (19c80 ) + 19b66: 4798 blx r3 + 19b68: 7128 strb r0, [r5, #4] + if(ext->zoom != 256 && ext->angle == 0) { + 19b6a: e795 b.n 19a98 + if(ext->src_type == LV_IMG_SRC_SYMBOL) { + 19b6c: 7d03 ldrb r3, [r0, #20] + 19b6e: f003 0303 and.w r3, r3, #3 + 19b72: 2b02 cmp r3, #2 + 19b74: d190 bne.n 19a98 + lv_img_set_src(img, ext->src); + 19b76: 6801 ldr r1, [r0, #0] + 19b78: 4638 mov r0, r7 + 19b7a: 4b42 ldr r3, [pc, #264] ; (19c84 ) + 19b7c: 4798 blx r3 + 19b7e: e78b b.n 19a98 +_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_ZOOM, transform_zoom, lv_style_int_t, _int, scalar) + 19b80: 2207 movs r2, #7 + 19b82: 2100 movs r1, #0 + 19b84: 4638 mov r0, r7 + 19b86: 4d40 ldr r5, [pc, #256] ; (19c88 ) + 19b88: 47a8 blx r5 + transf_zoom = (transf_zoom * ext->zoom) >> 8; + 19b8a: f8b8 3012 ldrh.w r3, [r8, #18] + 19b8e: fb00 f303 mul.w r3, r0, r3 + 19b92: 121c asrs r4, r3, #8 +_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_ANGLE, transform_angle, lv_style_int_t, _int, scalar) + 19b94: 2206 movs r2, #6 + 19b96: 2100 movs r1, #0 + 19b98: 4638 mov r0, r7 + 19b9a: 47a8 blx r5 + transf_angle += ext->angle; + 19b9c: f8b8 300c ldrh.w r3, [r8, #12] + 19ba0: 4403 add r3, r0 + 19ba2: b21b sxth r3, r3 + if(transf_angle || transf_zoom != LV_IMG_ZOOM_NONE) { + 19ba4: b91b cbnz r3, 19bae + 19ba6: b222 sxth r2, r4 + 19ba8: f5b2 7f80 cmp.w r2, #256 ; 0x100 + 19bac: d031 beq.n 19c12 + _lv_img_buf_get_transformed_area(&a, ext->w, ext->h, transf_angle, transf_zoom, &ext->pivot); + 19bae: f9b8 200a ldrsh.w r2, [r8, #10] + 19bb2: f9b8 1008 ldrsh.w r1, [r8, #8] + 19bb6: f108 000e add.w r0, r8, #14 + 19bba: 9001 str r0, [sp, #4] + 19bbc: b2a4 uxth r4, r4 + 19bbe: 9400 str r4, [sp, #0] + 19bc0: a802 add r0, sp, #8 + 19bc2: 4c32 ldr r4, [pc, #200] ; (19c8c ) + 19bc4: 47a0 blx r4 + img->ext_draw_pad = LV_MATH_MAX(img->ext_draw_pad, pad_ori - a.x1); + 19bc6: f9b7 1032 ldrsh.w r1, [r7, #50] ; 0x32 + 19bca: f9bd 3008 ldrsh.w r3, [sp, #8] + 19bce: 1acb subs r3, r1, r3 + 19bd0: 428b cmp r3, r1 + 19bd2: bfb8 it lt + 19bd4: 460b movlt r3, r1 + img->ext_draw_pad = LV_MATH_MAX(img->ext_draw_pad, pad_ori - a.y1); + 19bd6: b21b sxth r3, r3 + 19bd8: f9bd 200a ldrsh.w r2, [sp, #10] + 19bdc: 1a8a subs r2, r1, r2 + 19bde: 4293 cmp r3, r2 + 19be0: bfb8 it lt + 19be2: 4613 movlt r3, r2 + 19be4: b21b sxth r3, r3 + 19be6: 867b strh r3, [r7, #50] ; 0x32 + img->ext_draw_pad = LV_MATH_MAX(img->ext_draw_pad, pad_ori + a.x2 - ext->w); + 19be8: f9bd 200c ldrsh.w r2, [sp, #12] + 19bec: 440a add r2, r1 + 19bee: f9b8 0008 ldrsh.w r0, [r8, #8] + 19bf2: 1a12 subs r2, r2, r0 + 19bf4: 4293 cmp r3, r2 + 19bf6: bfb8 it lt + 19bf8: 4613 movlt r3, r2 + 19bfa: b21b sxth r3, r3 + 19bfc: 867b strh r3, [r7, #50] ; 0x32 + img->ext_draw_pad = LV_MATH_MAX(img->ext_draw_pad, pad_ori + a.y2 - ext->h); + 19bfe: f9bd 200e ldrsh.w r2, [sp, #14] + 19c02: 440a add r2, r1 + 19c04: f9b8 100a ldrsh.w r1, [r8, #10] + 19c08: 1a52 subs r2, r2, r1 + 19c0a: 4293 cmp r3, r2 + 19c0c: bfb8 it lt + 19c0e: 4613 movlt r3, r2 + 19c10: 867b strh r3, [r7, #50] ; 0x32 +_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) + 19c12: 2212 movs r2, #18 + 19c14: 2100 movs r1, #0 + 19c16: 4638 mov r0, r7 + 19c18: f8df 806c ldr.w r8, [pc, #108] ; 19c88 + 19c1c: 47c0 blx r8 + 19c1e: 4681 mov r9, r0 +_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) + 19c20: 2213 movs r2, #19 + 19c22: 2100 movs r1, #0 + 19c24: 4638 mov r0, r7 + 19c26: 47c0 blx r8 + 19c28: 4604 mov r4, r0 +_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) + 19c2a: 2210 movs r2, #16 + 19c2c: 2100 movs r1, #0 + 19c2e: 4638 mov r0, r7 + 19c30: 47c0 blx r8 + 19c32: 4605 mov r5, r0 +_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) + 19c34: 2211 movs r2, #17 + 19c36: 2100 movs r1, #0 + 19c38: 4638 mov r0, r7 + 19c3a: 47c0 blx r8 + img->ext_draw_pad = LV_MATH_MAX(img->ext_draw_pad, right); + 19c3c: 454c cmp r4, r9 + 19c3e: bfb8 it lt + 19c40: 464c movlt r4, r9 + 19c42: f9b7 3032 ldrsh.w r3, [r7, #50] ; 0x32 + 19c46: b222 sxth r2, r4 + img->ext_draw_pad = LV_MATH_MAX(img->ext_draw_pad, top); + 19c48: 4293 cmp r3, r2 + 19c4a: bfb8 it lt + 19c4c: 4613 movlt r3, r2 + 19c4e: 42ab cmp r3, r5 + 19c50: bfb8 it lt + 19c52: 462b movlt r3, r5 + img->ext_draw_pad = LV_MATH_MAX(img->ext_draw_pad, bottom); + 19c54: b21b sxth r3, r3 + 19c56: 4298 cmp r0, r3 + 19c58: bfb8 it lt + 19c5a: 4618 movlt r0, r3 + 19c5c: 8678 strh r0, [r7, #50] ; 0x32 + 19c5e: e71b b.n 19a98 + info->result = lv_obj_is_point_on_coords(img, info->point); + 19c60: 6829 ldr r1, [r5, #0] + 19c62: 4638 mov r0, r7 + 19c64: 4b0a ldr r3, [pc, #40] ; (19c90 ) + 19c66: 4798 blx r3 + 19c68: 7128 strb r0, [r5, #4] + 19c6a: e715 b.n 19a98 + 19c6c: 20006bfc .word 0x20006bfc + 19c70: 00004d9d .word 0x00004d9d + 19c74: 000124c5 .word 0x000124c5 + 19c78: 0002976c .word 0x0002976c + 19c7c: 00005095 .word 0x00005095 + 19c80: 000115b9 .word 0x000115b9 + 19c84: 00019611 .word 0x00019611 + 19c88: 000044d5 .word 0x000044d5 + 19c8c: 0000ec65 .word 0x0000ec65 + 19c90: 00005055 .word 0x00005055 + +00019c94 : * Free the dot_tmp_ptr field if it was previously allocated. * Always clears the field * @param label pointer to label object. */ static void lv_label_dot_tmp_free(lv_obj_t * label) { - 196c4: b510 push {r4, lr} + 19c94: b510 push {r4, lr} lv_label_ext_t * ext = lv_obj_get_ext_attr(label); - 196c6: 4b09 ldr r3, [pc, #36] ; (196ec ) - 196c8: 4798 blx r3 - 196ca: 4604 mov r4, r0 + 19c96: 4b09 ldr r3, [pc, #36] ; (19cbc ) + 19c98: 4798 blx r3 + 19c9a: 4604 mov r4, r0 if(ext->dot_tmp_alloc && ext->dot.tmp_ptr) { - 196cc: 7c43 ldrb r3, [r0, #17] - 196ce: f013 0f01 tst.w r3, #1 - 196d2: d003 beq.n 196dc - 196d4: 6840 ldr r0, [r0, #4] - 196d6: b108 cbz r0, 196dc + 19c9c: 7c43 ldrb r3, [r0, #17] + 19c9e: f013 0f01 tst.w r3, #1 + 19ca2: d003 beq.n 19cac + 19ca4: 6840 ldr r0, [r0, #4] + 19ca6: b108 cbz r0, 19cac lv_mem_free(ext->dot.tmp_ptr); - 196d8: 4b05 ldr r3, [pc, #20] ; (196f0 ) - 196da: 4798 blx r3 + 19ca8: 4b05 ldr r3, [pc, #20] ; (19cc0 ) + 19caa: 4798 blx r3 } ext->dot_tmp_alloc = false; - 196dc: 7c63 ldrb r3, [r4, #17] - 196de: f36f 0300 bfc r3, #0, #1 - 196e2: 7463 strb r3, [r4, #17] + 19cac: 7c63 ldrb r3, [r4, #17] + 19cae: f36f 0300 bfc r3, #0, #1 + 19cb2: 7463 strb r3, [r4, #17] ext->dot.tmp_ptr = NULL; - 196e4: 2300 movs r3, #0 - 196e6: 6063 str r3, [r4, #4] - 196e8: bd10 pop {r4, pc} - 196ea: bf00 nop - 196ec: 00005425 .word 0x00005425 - 196f0: 00012a6d .word 0x00012a6d + 19cb4: 2300 movs r3, #0 + 19cb6: 6063 str r3, [r4, #4] + 19cb8: bd10 pop {r4, pc} + 19cba: bf00 nop + 19cbc: 00004d9d .word 0x00004d9d + 19cc0: 000124c5 .word 0x000124c5 -000196f4 : +00019cc4 : { - 196f4: b5f8 push {r3, r4, r5, r6, r7, lr} - 196f6: 4607 mov r7, r0 + 19cc4: b5f8 push {r3, r4, r5, r6, r7, lr} + 19cc6: 4607 mov r7, r0 lv_label_ext_t * ext = lv_obj_get_ext_attr(label); - 196f8: 4b1e ldr r3, [pc, #120] ; (19774 ) - 196fa: 4798 blx r3 + 19cc8: 4b1e ldr r3, [pc, #120] ; (19d44 ) + 19cca: 4798 blx r3 if(ext->long_mode != LV_LABEL_LONG_DOT) return; - 196fc: 7c03 ldrb r3, [r0, #16] - 196fe: f003 0307 and.w r3, r3, #7 - 19702: 2b02 cmp r3, #2 - 19704: d000 beq.n 19708 - 19706: bdf8 pop {r3, r4, r5, r6, r7, pc} - 19708: 4604 mov r4, r0 + 19ccc: 7c03 ldrb r3, [r0, #16] + 19cce: f003 0307 and.w r3, r3, #7 + 19cd2: 2b02 cmp r3, #2 + 19cd4: d000 beq.n 19cd8 + 19cd6: bdf8 pop {r3, r4, r5, r6, r7, pc} + 19cd8: 4604 mov r4, r0 if(ext->dot_end == LV_LABEL_DOT_END_INV) return; - 1970a: 8901 ldrh r1, [r0, #8] - 1970c: f64f 73ff movw r3, #65535 ; 0xffff - 19710: 4299 cmp r1, r3 - 19712: d0f8 beq.n 19706 + 19cda: 8901 ldrh r1, [r0, #8] + 19cdc: f64f 73ff movw r3, #65535 ; 0xffff + 19ce0: 4299 cmp r1, r3 + 19ce2: d0f8 beq.n 19cd6 uint32_t byte_i = _lv_txt_encoded_get_byte_id(ext->text, letter_i); - 19714: 4b18 ldr r3, [pc, #96] ; (19778 ) - 19716: 681b ldr r3, [r3, #0] - 19718: 3903 subs r1, #3 - 1971a: 6800 ldr r0, [r0, #0] - 1971c: 4798 blx r3 - 1971e: 4606 mov r6, r0 + 19ce4: 4b18 ldr r3, [pc, #96] ; (19d48 ) + 19ce6: 681b ldr r3, [r3, #0] + 19ce8: 3903 subs r1, #3 + 19cea: 6800 ldr r0, [r0, #0] + 19cec: 4798 blx r3 + 19cee: 4606 mov r6, r0 lv_label_ext_t * ext = lv_obj_get_ext_attr(label); - 19720: 4638 mov r0, r7 - 19722: 4b14 ldr r3, [pc, #80] ; (19774 ) - 19724: 4798 blx r3 + 19cf0: 4638 mov r0, r7 + 19cf2: 4b14 ldr r3, [pc, #80] ; (19d44 ) + 19cf4: 4798 blx r3 if(ext->dot_tmp_alloc) { - 19726: 7c43 ldrb r3, [r0, #17] - 19728: f013 0f01 tst.w r3, #1 + 19cf6: 7c43 ldrb r3, [r0, #17] + 19cf8: f013 0f01 tst.w r3, #1 return ext->dot.tmp_ptr; - 1972c: bf14 ite ne - 1972e: 6840 ldrne r0, [r0, #4] + 19cfc: bf14 ite ne + 19cfe: 6840 ldrne r0, [r0, #4] return ext->dot.tmp; - 19730: 3004 addeq r0, #4 + 19d00: 3004 addeq r0, #4 while(ext->text[byte_i + i] != '\0') { - 19732: 6823 ldr r3, [r4, #0] - 19734: eb03 0e06 add.w lr, r3, r6 - 19738: 5d9b ldrb r3, [r3, r6] - 1973a: b1c3 cbz r3, 1976e - 1973c: 2500 movs r5, #0 - 1973e: 462b mov r3, r5 + 19d02: 6823 ldr r3, [r4, #0] + 19d04: eb03 0e06 add.w lr, r3, r6 + 19d08: 5d9b ldrb r3, [r3, r6] + 19d0a: b1c3 cbz r3, 19d3e + 19d0c: 2500 movs r5, #0 + 19d0e: 462b mov r3, r5 ext->text[byte_i + i] = dot_tmp[i]; - 19740: 5d42 ldrb r2, [r0, r5] - 19742: f88e 2000 strb.w r2, [lr] + 19d10: 5d42 ldrb r2, [r0, r5] + 19d12: f88e 2000 strb.w r2, [lr] i++; - 19746: 3301 adds r3, #1 - 19748: b2db uxtb r3, r3 + 19d16: 3301 adds r3, #1 + 19d18: b2db uxtb r3, r3 while(ext->text[byte_i + i] != '\0') { - 1974a: 461d mov r5, r3 - 1974c: 18f2 adds r2, r6, r3 - 1974e: 6821 ldr r1, [r4, #0] - 19750: eb01 0e02 add.w lr, r1, r2 - 19754: 5c8a ldrb r2, [r1, r2] - 19756: 2a00 cmp r2, #0 - 19758: d1f2 bne.n 19740 + 19d1a: 461d mov r5, r3 + 19d1c: 18f2 adds r2, r6, r3 + 19d1e: 6821 ldr r1, [r4, #0] + 19d20: eb01 0e02 add.w lr, r1, r2 + 19d24: 5c8a ldrb r2, [r1, r2] + 19d26: 2a00 cmp r2, #0 + 19d28: d1f2 bne.n 19d10 ext->text[byte_i + i] = dot_tmp[i]; - 1975a: 5d43 ldrb r3, [r0, r5] - 1975c: f88e 3000 strb.w r3, [lr] + 19d2a: 5d43 ldrb r3, [r0, r5] + 19d2c: f88e 3000 strb.w r3, [lr] lv_label_dot_tmp_free(label); - 19760: 4638 mov r0, r7 - 19762: 4b06 ldr r3, [pc, #24] ; (1977c ) - 19764: 4798 blx r3 + 19d30: 4638 mov r0, r7 + 19d32: 4b06 ldr r3, [pc, #24] ; (19d4c ) + 19d34: 4798 blx r3 ext->dot_end = LV_LABEL_DOT_END_INV; - 19766: f64f 73ff movw r3, #65535 ; 0xffff - 1976a: 8123 strh r3, [r4, #8] - 1976c: e7cb b.n 19706 + 19d36: f64f 73ff movw r3, #65535 ; 0xffff + 19d3a: 8123 strh r3, [r4, #8] + 19d3c: e7cb b.n 19cd6 while(ext->text[byte_i + i] != '\0') { - 1976e: 2500 movs r5, #0 - 19770: e7f3 b.n 1975a - 19772: bf00 nop - 19774: 00005425 .word 0x00005425 - 19778: 2000005c .word 0x2000005c - 1977c: 000196c5 .word 0x000196c5 - -00019780 : -{ - 19780: b538 push {r3, r4, r5, lr} - 19782: 4604 mov r4, r0 - 19784: 460d mov r5, r1 + 19d3e: 2500 movs r5, #0 + 19d40: e7f3 b.n 19d2a + 19d42: bf00 nop + 19d44: 00004d9d .word 0x00004d9d + 19d48: 2000005c .word 0x2000005c + 19d4c: 00019c95 .word 0x00019c95 + +00019d50 : +{ + 19d50: b538 push {r3, r4, r5, lr} + 19d52: 4604 mov r4, r0 + 19d54: 460d mov r5, r1 lv_label_ext_t * ext = lv_obj_get_ext_attr(label); - 19786: 4b03 ldr r3, [pc, #12] ; (19794 ) - 19788: 4798 blx r3 + 19d56: 4b03 ldr r3, [pc, #12] ; (19d64 ) + 19d58: 4798 blx r3 ext->offset.y = y; - 1978a: 81c5 strh r5, [r0, #14] + 19d5a: 81c5 strh r5, [r0, #14] lv_obj_invalidate(label); - 1978c: 4620 mov r0, r4 - 1978e: 4b02 ldr r3, [pc, #8] ; (19798 ) - 19790: 4798 blx r3 - 19792: bd38 pop {r3, r4, r5, pc} - 19794: 00005425 .word 0x00005425 - 19798: 000039a9 .word 0x000039a9 - -0001979c : -{ - 1979c: b538 push {r3, r4, r5, lr} - 1979e: 4604 mov r4, r0 - 197a0: 460d mov r5, r1 + 19d5c: 4620 mov r0, r4 + 19d5e: 4b02 ldr r3, [pc, #8] ; (19d68 ) + 19d60: 4798 blx r3 + 19d62: bd38 pop {r3, r4, r5, pc} + 19d64: 00004d9d .word 0x00004d9d + 19d68: 00003321 .word 0x00003321 + +00019d6c : +{ + 19d6c: b538 push {r3, r4, r5, lr} + 19d6e: 4604 mov r4, r0 + 19d70: 460d mov r5, r1 lv_label_ext_t * ext = lv_obj_get_ext_attr(label); - 197a2: 4b03 ldr r3, [pc, #12] ; (197b0 ) - 197a4: 4798 blx r3 + 19d72: 4b03 ldr r3, [pc, #12] ; (19d80 ) + 19d74: 4798 blx r3 ext->offset.x = x; - 197a6: 8185 strh r5, [r0, #12] + 19d76: 8185 strh r5, [r0, #12] lv_obj_invalidate(label); - 197a8: 4620 mov r0, r4 - 197aa: 4b02 ldr r3, [pc, #8] ; (197b4 ) - 197ac: 4798 blx r3 - 197ae: bd38 pop {r3, r4, r5, pc} - 197b0: 00005425 .word 0x00005425 - 197b4: 000039a9 .word 0x000039a9 + 19d78: 4620 mov r0, r4 + 19d7a: 4b02 ldr r3, [pc, #8] ; (19d84 ) + 19d7c: 4798 blx r3 + 19d7e: bd38 pop {r3, r4, r5, pc} + 19d80: 00004d9d .word 0x00004d9d + 19d84: 00003321 .word 0x00003321 -000197b8 : +00019d88 : } static void get_txt_coords(const lv_obj_t * label, lv_area_t * area) { - 197b8: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} - 197bc: 4606 mov r6, r0 - 197be: 460c mov r4, r1 + 19d88: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} + 19d8c: 4606 mov r6, r0 + 19d8e: 460c mov r4, r1 lv_obj_get_coords(label, area); - 197c0: 4b12 ldr r3, [pc, #72] ; (1980c ) - 197c2: 4798 blx r3 -_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_ANGLE, transform_angle, lv_style_int_t, _int, scalar) -_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_ZOOM, transform_zoom, lv_style_int_t, _int, scalar) -_LV_OBJ_STYLE_SET_GET_DECLARE(OPA_SCALE, opa_scale, lv_opa_t, _opa, scalar) -_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) -_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) + 19d90: 4b12 ldr r3, [pc, #72] ; (19ddc ) + 19d92: 4798 blx r3 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 197c4: 2212 movs r2, #18 - 197c6: 2100 movs r1, #0 - 197c8: 4630 mov r0, r6 - 197ca: 4d11 ldr r5, [pc, #68] ; (19810 ) - 197cc: 47a8 blx r5 - 197ce: 4680 mov r8, r0 + 19d94: 2212 movs r2, #18 + 19d96: 2100 movs r1, #0 + 19d98: 4630 mov r0, r6 + 19d9a: 4d11 ldr r5, [pc, #68] ; (19de0 ) + 19d9c: 47a8 blx r5 + 19d9e: 4680 mov r8, r0 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 197d0: 2213 movs r2, #19 - 197d2: 2100 movs r1, #0 - 197d4: 4630 mov r0, r6 - 197d6: 47a8 blx r5 - 197d8: 4681 mov r9, r0 + 19da0: 2213 movs r2, #19 + 19da2: 2100 movs r1, #0 + 19da4: 4630 mov r0, r6 + 19da6: 47a8 blx r5 + 19da8: 4681 mov r9, r0 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) - 197da: 2210 movs r2, #16 - 197dc: 2100 movs r1, #0 - 197de: 4630 mov r0, r6 - 197e0: 47a8 blx r5 - 197e2: 4607 mov r7, r0 + 19daa: 2210 movs r2, #16 + 19dac: 2100 movs r1, #0 + 19dae: 4630 mov r0, r6 + 19db0: 47a8 blx r5 + 19db2: 4607 mov r7, r0 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) - 197e4: 2211 movs r2, #17 - 197e6: 2100 movs r1, #0 - 197e8: 4630 mov r0, r6 - 197ea: 47a8 blx r5 + 19db4: 2211 movs r2, #17 + 19db6: 2100 movs r1, #0 + 19db8: 4630 mov r0, r6 + 19dba: 47a8 blx r5 lv_coord_t left = lv_obj_get_style_pad_left(label, LV_LABEL_PART_MAIN); lv_coord_t right = lv_obj_get_style_pad_right(label, LV_LABEL_PART_MAIN); lv_coord_t top = lv_obj_get_style_pad_top(label, LV_LABEL_PART_MAIN); lv_coord_t bottom = lv_obj_get_style_pad_bottom(label, LV_LABEL_PART_MAIN); area->x1 += left; - 197ec: 8823 ldrh r3, [r4, #0] - 197ee: 4498 add r8, r3 - 197f0: f8a4 8000 strh.w r8, [r4] + 19dbc: 8823 ldrh r3, [r4, #0] + 19dbe: 4498 add r8, r3 + 19dc0: f8a4 8000 strh.w r8, [r4] area->x2 -= right; - 197f4: 88a3 ldrh r3, [r4, #4] - 197f6: eba3 0309 sub.w r3, r3, r9 - 197fa: 80a3 strh r3, [r4, #4] + 19dc4: 88a3 ldrh r3, [r4, #4] + 19dc6: eba3 0309 sub.w r3, r3, r9 + 19dca: 80a3 strh r3, [r4, #4] area->y1 += top; - 197fc: 8863 ldrh r3, [r4, #2] - 197fe: 441f add r7, r3 - 19800: 8067 strh r7, [r4, #2] + 19dcc: 8863 ldrh r3, [r4, #2] + 19dce: 441f add r7, r3 + 19dd0: 8067 strh r7, [r4, #2] area->y2 -= bottom; - 19802: 88e3 ldrh r3, [r4, #6] - 19804: 1a18 subs r0, r3, r0 - 19806: 80e0 strh r0, [r4, #6] - 19808: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} - 1980c: 000034c9 .word 0x000034c9 - 19810: 00004b5d .word 0x00004b5d - -00019814 : -{ - 19814: b5f0 push {r4, r5, r6, r7, lr} - 19816: b083 sub sp, #12 - 19818: 4606 mov r6, r0 - 1981a: 460f mov r7, r1 - 1981c: 4615 mov r5, r2 + 19dd2: 88e3 ldrh r3, [r4, #6] + 19dd4: 1a18 subs r0, r3, r0 + 19dd6: 80e0 strh r0, [r4, #6] + 19dd8: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} + 19ddc: 00002e41 .word 0x00002e41 + 19de0: 000044d5 .word 0x000044d5 + +00019de4 : +{ + 19de4: b5f0 push {r4, r5, r6, r7, lr} + 19de6: b083 sub sp, #12 + 19de8: 4606 mov r6, r0 + 19dea: 460f mov r7, r1 + 19dec: 4615 mov r5, r2 lv_label_ext_t * ext = lv_obj_get_ext_attr(label); - 1981e: 4b18 ldr r3, [pc, #96] ; (19880 ) - 19820: 4798 blx r3 - 19822: 4604 mov r4, r0 + 19dee: 4b18 ldr r3, [pc, #96] ; (19e50 ) + 19df0: 4798 blx r3 + 19df2: 4604 mov r4, r0 lv_label_dot_tmp_free(label); /* Deallocate any existing space */ - 19824: 4630 mov r0, r6 - 19826: 4b17 ldr r3, [pc, #92] ; (19884 ) - 19828: 4798 blx r3 + 19df4: 4630 mov r0, r6 + 19df6: 4b17 ldr r3, [pc, #92] ; (19e54 ) + 19df8: 4798 blx r3 if(len > sizeof(char *)) { - 1982a: 2d04 cmp r5, #4 - 1982c: d91c bls.n 19868 + 19dfa: 2d04 cmp r5, #4 + 19dfc: d91c bls.n 19e38 ext->dot.tmp_ptr = lv_mem_alloc(len + 1); - 1982e: 1c68 adds r0, r5, #1 - 19830: 4b15 ldr r3, [pc, #84] ; (19888 ) - 19832: 4798 blx r3 - 19834: 6060 str r0, [r4, #4] + 19dfe: 1c68 adds r0, r5, #1 + 19e00: 4b15 ldr r3, [pc, #84] ; (19e58 ) + 19e02: 4798 blx r3 + 19e04: 6060 str r0, [r4, #4] if(ext->dot.tmp_ptr == NULL) { - 19836: b160 cbz r0, 19852 + 19e06: b160 cbz r0, 19e22 _lv_memcpy(ext->dot.tmp_ptr, data, len); - 19838: 462a mov r2, r5 - 1983a: 4639 mov r1, r7 - 1983c: 4b13 ldr r3, [pc, #76] ; (1988c ) - 1983e: 4798 blx r3 + 19e08: 462a mov r2, r5 + 19e0a: 4639 mov r1, r7 + 19e0c: 4b13 ldr r3, [pc, #76] ; (19e5c ) + 19e0e: 4798 blx r3 ext->dot.tmp_ptr[len] = '\0'; - 19840: 6863 ldr r3, [r4, #4] - 19842: 2200 movs r2, #0 - 19844: 555a strb r2, [r3, r5] + 19e10: 6863 ldr r3, [r4, #4] + 19e12: 2200 movs r2, #0 + 19e14: 555a strb r2, [r3, r5] ext->dot_tmp_alloc = true; - 19846: 7c63 ldrb r3, [r4, #17] - 19848: f043 0301 orr.w r3, r3, #1 - 1984c: 7463 strb r3, [r4, #17] + 19e16: 7c63 ldrb r3, [r4, #17] + 19e18: f043 0301 orr.w r3, r3, #1 + 19e1c: 7463 strb r3, [r4, #17] return true; - 1984e: 2001 movs r0, #1 - 19850: e014 b.n 1987c + 19e1e: 2001 movs r0, #1 + 19e20: e014 b.n 19e4c LV_LOG_ERROR("Failed to allocate memory for dot_tmp_ptr"); - 19852: 4b0f ldr r3, [pc, #60] ; (19890 ) - 19854: 9300 str r3, [sp, #0] - 19856: 4b0f ldr r3, [pc, #60] ; (19894 ) - 19858: f240 52b5 movw r2, #1461 ; 0x5b5 - 1985c: 490e ldr r1, [pc, #56] ; (19898 ) - 1985e: 2003 movs r0, #3 - 19860: 4c0e ldr r4, [pc, #56] ; (1989c ) - 19862: 47a0 blx r4 + 19e22: 4b0f ldr r3, [pc, #60] ; (19e60 ) + 19e24: 9300 str r3, [sp, #0] + 19e26: 4b0f ldr r3, [pc, #60] ; (19e64 ) + 19e28: f240 52b5 movw r2, #1461 ; 0x5b5 + 19e2c: 490e ldr r1, [pc, #56] ; (19e68 ) + 19e2e: 2003 movs r0, #3 + 19e30: 4c0e ldr r4, [pc, #56] ; (19e6c ) + 19e32: 47a0 blx r4 return false; - 19864: 2000 movs r0, #0 - 19866: e009 b.n 1987c + 19e34: 2000 movs r0, #0 + 19e36: e009 b.n 19e4c ext->dot_tmp_alloc = false; - 19868: 7c63 ldrb r3, [r4, #17] - 1986a: f36f 0300 bfc r3, #0, #1 - 1986e: 7463 strb r3, [r4, #17] + 19e38: 7c63 ldrb r3, [r4, #17] + 19e3a: f36f 0300 bfc r3, #0, #1 + 19e3e: 7463 strb r3, [r4, #17] _lv_memcpy(ext->dot.tmp, data, len); - 19870: 462a mov r2, r5 - 19872: 4639 mov r1, r7 - 19874: 1d20 adds r0, r4, #4 - 19876: 4b05 ldr r3, [pc, #20] ; (1988c ) - 19878: 4798 blx r3 + 19e40: 462a mov r2, r5 + 19e42: 4639 mov r1, r7 + 19e44: 1d20 adds r0, r4, #4 + 19e46: 4b05 ldr r3, [pc, #20] ; (19e5c ) + 19e48: 4798 blx r3 return true; - 1987a: 2001 movs r0, #1 -} - 1987c: b003 add sp, #12 - 1987e: bdf0 pop {r4, r5, r6, r7, pc} - 19880: 00005425 .word 0x00005425 - 19884: 000196c5 .word 0x000196c5 - 19888: 00012985 .word 0x00012985 - 1988c: 00012bfd .word 0x00012bfd - 19890: 00020cc4 .word 0x00020cc4 - 19894: 00020a74 .word 0x00020a74 - 19898: 00020c94 .word 0x00020c94 - 1989c: 00012805 .word 0x00012805 - -000198a0 : -{ - 198a0: b530 push {r4, r5, lr} - 198a2: b083 sub sp, #12 - 198a4: 4604 mov r4, r0 - 198a6: 460d mov r5, r1 + 19e4a: 2001 movs r0, #1 +} + 19e4c: b003 add sp, #12 + 19e4e: bdf0 pop {r4, r5, r6, r7, pc} + 19e50: 00004d9d .word 0x00004d9d + 19e54: 00019c95 .word 0x00019c95 + 19e58: 000123dd .word 0x000123dd + 19e5c: 00012655 .word 0x00012655 + 19e60: 000299c4 .word 0x000299c4 + 19e64: 00029774 .word 0x00029774 + 19e68: 00029994 .word 0x00029994 + 19e6c: 0001225d .word 0x0001225d + +00019e70 : +{ + 19e70: b530 push {r4, r5, lr} + 19e72: b083 sub sp, #12 + 19e74: 4604 mov r4, r0 + 19e76: 460d mov r5, r1 LV_ASSERT_OBJ(label, LV_OBJX_NAME); - 198a8: 4b10 ldr r3, [pc, #64] ; (198ec ) - 198aa: 4798 blx r3 - 198ac: b968 cbnz r0, 198ca - 198ae: 4b10 ldr r3, [pc, #64] ; (198f0 ) - 198b0: 9300 str r3, [sp, #0] - 198b2: f44f 72c4 mov.w r2, #392 ; 0x188 - 198b6: 490f ldr r1, [pc, #60] ; (198f4 ) - 198b8: 2003 movs r0, #3 - 198ba: 4d0f ldr r5, [pc, #60] ; (198f8 ) - 198bc: 47a8 blx r5 - 198be: 4622 mov r2, r4 - 198c0: 2300 movs r3, #0 - 198c2: 480e ldr r0, [pc, #56] ; (198fc ) - 198c4: 490e ldr r1, [pc, #56] ; (19900 ) - 198c6: 4788 blx r1 - 198c8: e7fe b.n 198c8 + 19e78: 4b10 ldr r3, [pc, #64] ; (19ebc ) + 19e7a: 4798 blx r3 + 19e7c: b968 cbnz r0, 19e9a + 19e7e: 4b10 ldr r3, [pc, #64] ; (19ec0 ) + 19e80: 9300 str r3, [sp, #0] + 19e82: f44f 72c4 mov.w r2, #392 ; 0x188 + 19e86: 490f ldr r1, [pc, #60] ; (19ec4 ) + 19e88: 2003 movs r0, #3 + 19e8a: 4d0f ldr r5, [pc, #60] ; (19ec8 ) + 19e8c: 47a8 blx r5 + 19e8e: 4622 mov r2, r4 + 19e90: 2300 movs r3, #0 + 19e92: 480e ldr r0, [pc, #56] ; (19ecc ) + 19e94: 490e ldr r1, [pc, #56] ; (19ed0 ) + 19e96: 4788 blx r1 + 19e98: e7fe b.n 19e98 lv_label_ext_t * ext = lv_obj_get_ext_attr(label); - 198ca: 4620 mov r0, r4 - 198cc: 4b0d ldr r3, [pc, #52] ; (19904 ) - 198ce: 4798 blx r3 + 19e9a: 4620 mov r0, r4 + 19e9c: 4b0d ldr r3, [pc, #52] ; (19ed4 ) + 19e9e: 4798 blx r3 if(ext->align == align) return; - 198d0: 7c03 ldrb r3, [r0, #16] - 198d2: f3c3 1301 ubfx r3, r3, #4, #2 - 198d6: 42ab cmp r3, r5 - 198d8: d006 beq.n 198e8 + 19ea0: 7c03 ldrb r3, [r0, #16] + 19ea2: f3c3 1301 ubfx r3, r3, #4, #2 + 19ea6: 42ab cmp r3, r5 + 19ea8: d006 beq.n 19eb8 ext->align = align; - 198da: 7c03 ldrb r3, [r0, #16] - 198dc: f365 1305 bfi r3, r5, #4, #2 - 198e0: 7403 strb r3, [r0, #16] + 19eaa: 7c03 ldrb r3, [r0, #16] + 19eac: f365 1305 bfi r3, r5, #4, #2 + 19eb0: 7403 strb r3, [r0, #16] lv_obj_invalidate(label); /*Enough to invalidate because alignment is only drawing related - 198e2: 4620 mov r0, r4 - 198e4: 4b08 ldr r3, [pc, #32] ; (19908 ) - 198e6: 4798 blx r3 -} - 198e8: b003 add sp, #12 - 198ea: bd30 pop {r4, r5, pc} - 198ec: 0000298d .word 0x0000298d - 198f0: 00020a8c .word 0x00020a8c - 198f4: 00020c94 .word 0x00020c94 - 198f8: 00012805 .word 0x00012805 - 198fc: 0001bd20 .word 0x0001bd20 - 19900: 00002995 .word 0x00002995 - 19904: 00005425 .word 0x00005425 - 19908: 000039a9 .word 0x000039a9 - -0001990c : -{ - 1990c: b530 push {r4, r5, lr} - 1990e: b083 sub sp, #12 - 19910: 4604 mov r4, r0 + 19eb2: 4620 mov r0, r4 + 19eb4: 4b08 ldr r3, [pc, #32] ; (19ed8 ) + 19eb6: 4798 blx r3 +} + 19eb8: b003 add sp, #12 + 19eba: bd30 pop {r4, r5, pc} + 19ebc: 000022b1 .word 0x000022b1 + 19ec0: 0002978c .word 0x0002978c + 19ec4: 00029994 .word 0x00029994 + 19ec8: 0001225d .word 0x0001225d + 19ecc: 0002483c .word 0x0002483c + 19ed0: 000022b9 .word 0x000022b9 + 19ed4: 00004d9d .word 0x00004d9d + 19ed8: 00003321 .word 0x00003321 + +00019edc : +{ + 19edc: b530 push {r4, r5, lr} + 19ede: b083 sub sp, #12 + 19ee0: 4604 mov r4, r0 LV_ASSERT_OBJ(label, LV_OBJX_NAME); - 19912: 4b0b ldr r3, [pc, #44] ; (19940 ) - 19914: 4798 blx r3 - 19916: b968 cbnz r0, 19934 - 19918: 4b0a ldr r3, [pc, #40] ; (19944 ) - 1991a: 9300 str r3, [sp, #0] - 1991c: f44f 72f2 mov.w r2, #484 ; 0x1e4 - 19920: 4909 ldr r1, [pc, #36] ; (19948 ) - 19922: 2003 movs r0, #3 - 19924: 4d09 ldr r5, [pc, #36] ; (1994c ) - 19926: 47a8 blx r5 - 19928: 4622 mov r2, r4 - 1992a: 2300 movs r3, #0 - 1992c: 4808 ldr r0, [pc, #32] ; (19950 ) - 1992e: 4909 ldr r1, [pc, #36] ; (19954 ) - 19930: 4788 blx r1 - 19932: e7fe b.n 19932 + 19ee2: 4b0b ldr r3, [pc, #44] ; (19f10 ) + 19ee4: 4798 blx r3 + 19ee6: b968 cbnz r0, 19f04 + 19ee8: 4b0a ldr r3, [pc, #40] ; (19f14 ) + 19eea: 9300 str r3, [sp, #0] + 19eec: f44f 72f2 mov.w r2, #484 ; 0x1e4 + 19ef0: 4909 ldr r1, [pc, #36] ; (19f18 ) + 19ef2: 2003 movs r0, #3 + 19ef4: 4d09 ldr r5, [pc, #36] ; (19f1c ) + 19ef6: 47a8 blx r5 + 19ef8: 4622 mov r2, r4 + 19efa: 2300 movs r3, #0 + 19efc: 4808 ldr r0, [pc, #32] ; (19f20 ) + 19efe: 4909 ldr r1, [pc, #36] ; (19f24 ) + 19f00: 4788 blx r1 + 19f02: e7fe b.n 19f02 lv_label_ext_t * ext = lv_obj_get_ext_attr(label); - 19934: 4620 mov r0, r4 - 19936: 4b08 ldr r3, [pc, #32] ; (19958 ) - 19938: 4798 blx r3 -} - 1993a: 6800 ldr r0, [r0, #0] - 1993c: b003 add sp, #12 - 1993e: bd30 pop {r4, r5, pc} - 19940: 0000298d .word 0x0000298d - 19944: 00020ad8 .word 0x00020ad8 - 19948: 00020c94 .word 0x00020c94 - 1994c: 00012805 .word 0x00012805 - 19950: 0001bd20 .word 0x0001bd20 - 19954: 00002995 .word 0x00002995 - 19958: 00005425 .word 0x00005425 - -0001995c : -{ - 1995c: b530 push {r4, r5, lr} - 1995e: b083 sub sp, #12 - 19960: 4604 mov r4, r0 + 19f04: 4620 mov r0, r4 + 19f06: 4b08 ldr r3, [pc, #32] ; (19f28 ) + 19f08: 4798 blx r3 +} + 19f0a: 6800 ldr r0, [r0, #0] + 19f0c: b003 add sp, #12 + 19f0e: bd30 pop {r4, r5, pc} + 19f10: 000022b1 .word 0x000022b1 + 19f14: 000297d8 .word 0x000297d8 + 19f18: 00029994 .word 0x00029994 + 19f1c: 0001225d .word 0x0001225d + 19f20: 0002483c .word 0x0002483c + 19f24: 000022b9 .word 0x000022b9 + 19f28: 00004d9d .word 0x00004d9d + +00019f2c : +{ + 19f2c: b530 push {r4, r5, lr} + 19f2e: b083 sub sp, #12 + 19f30: 4604 mov r4, r0 LV_ASSERT_OBJ(label, LV_OBJX_NAME); - 19962: 4b0c ldr r3, [pc, #48] ; (19994 ) - 19964: 4798 blx r3 - 19966: b968 cbnz r0, 19984 - 19968: 4b0b ldr r3, [pc, #44] ; (19998 ) - 1996a: 9300 str r3, [sp, #0] - 1996c: f44f 72f9 mov.w r2, #498 ; 0x1f2 - 19970: 490a ldr r1, [pc, #40] ; (1999c ) - 19972: 2003 movs r0, #3 - 19974: 4d0a ldr r5, [pc, #40] ; (199a0 ) - 19976: 47a8 blx r5 - 19978: 4622 mov r2, r4 - 1997a: 2300 movs r3, #0 - 1997c: 4809 ldr r0, [pc, #36] ; (199a4 ) - 1997e: 490a ldr r1, [pc, #40] ; (199a8 ) - 19980: 4788 blx r1 - 19982: e7fe b.n 19982 + 19f32: 4b0c ldr r3, [pc, #48] ; (19f64 ) + 19f34: 4798 blx r3 + 19f36: b968 cbnz r0, 19f54 + 19f38: 4b0b ldr r3, [pc, #44] ; (19f68 ) + 19f3a: 9300 str r3, [sp, #0] + 19f3c: f44f 72f9 mov.w r2, #498 ; 0x1f2 + 19f40: 490a ldr r1, [pc, #40] ; (19f6c ) + 19f42: 2003 movs r0, #3 + 19f44: 4d0a ldr r5, [pc, #40] ; (19f70 ) + 19f46: 47a8 blx r5 + 19f48: 4622 mov r2, r4 + 19f4a: 2300 movs r3, #0 + 19f4c: 4809 ldr r0, [pc, #36] ; (19f74 ) + 19f4e: 490a ldr r1, [pc, #40] ; (19f78 ) + 19f50: 4788 blx r1 + 19f52: e7fe b.n 19f52 lv_label_ext_t * ext = lv_obj_get_ext_attr(label); - 19984: 4620 mov r0, r4 - 19986: 4b09 ldr r3, [pc, #36] ; (199ac ) - 19988: 4798 blx r3 + 19f54: 4620 mov r0, r4 + 19f56: 4b09 ldr r3, [pc, #36] ; (19f7c ) + 19f58: 4798 blx r3 return ext->long_mode; - 1998a: 7c00 ldrb r0, [r0, #16] -} - 1998c: f000 0007 and.w r0, r0, #7 - 19990: b003 add sp, #12 - 19992: bd30 pop {r4, r5, pc} - 19994: 0000298d .word 0x0000298d - 19998: 00020aec .word 0x00020aec - 1999c: 00020c94 .word 0x00020c94 - 199a0: 00012805 .word 0x00012805 - 199a4: 0001bd20 .word 0x0001bd20 - 199a8: 00002995 .word 0x00002995 - 199ac: 00005425 .word 0x00005425 - -000199b0 : -{ - 199b0: b530 push {r4, r5, lr} - 199b2: b083 sub sp, #12 - 199b4: 4604 mov r4, r0 + 19f5a: 7c00 ldrb r0, [r0, #16] +} + 19f5c: f000 0007 and.w r0, r0, #7 + 19f60: b003 add sp, #12 + 19f62: bd30 pop {r4, r5, pc} + 19f64: 000022b1 .word 0x000022b1 + 19f68: 000297ec .word 0x000297ec + 19f6c: 00029994 .word 0x00029994 + 19f70: 0001225d .word 0x0001225d + 19f74: 0002483c .word 0x0002483c + 19f78: 000022b9 .word 0x000022b9 + 19f7c: 00004d9d .word 0x00004d9d + +00019f80 : +{ + 19f80: b530 push {r4, r5, lr} + 19f82: b083 sub sp, #12 + 19f84: 4604 mov r4, r0 LV_ASSERT_OBJ(label, LV_OBJX_NAME); - 199b6: 4b0e ldr r3, [pc, #56] ; (199f0 ) - 199b8: 4798 blx r3 - 199ba: b968 cbnz r0, 199d8 - 199bc: 4b0d ldr r3, [pc, #52] ; (199f4 ) - 199be: 9300 str r3, [sp, #0] - 199c0: f240 12ff movw r2, #511 ; 0x1ff - 199c4: 490c ldr r1, [pc, #48] ; (199f8 ) - 199c6: 2003 movs r0, #3 - 199c8: 4d0c ldr r5, [pc, #48] ; (199fc ) - 199ca: 47a8 blx r5 - 199cc: 4622 mov r2, r4 - 199ce: 2300 movs r3, #0 - 199d0: 480b ldr r0, [pc, #44] ; (19a00 ) - 199d2: 490c ldr r1, [pc, #48] ; (19a04 ) - 199d4: 4788 blx r1 - 199d6: e7fe b.n 199d6 + 19f86: 4b0e ldr r3, [pc, #56] ; (19fc0 ) + 19f88: 4798 blx r3 + 19f8a: b968 cbnz r0, 19fa8 + 19f8c: 4b0d ldr r3, [pc, #52] ; (19fc4 ) + 19f8e: 9300 str r3, [sp, #0] + 19f90: f240 12ff movw r2, #511 ; 0x1ff + 19f94: 490c ldr r1, [pc, #48] ; (19fc8 ) + 19f96: 2003 movs r0, #3 + 19f98: 4d0c ldr r5, [pc, #48] ; (19fcc ) + 19f9a: 47a8 blx r5 + 19f9c: 4622 mov r2, r4 + 19f9e: 2300 movs r3, #0 + 19fa0: 480b ldr r0, [pc, #44] ; (19fd0 ) + 19fa2: 490c ldr r1, [pc, #48] ; (19fd4 ) + 19fa4: 4788 blx r1 + 19fa6: e7fe b.n 19fa6 lv_label_ext_t * ext = lv_obj_get_ext_attr(label); - 199d8: 4620 mov r0, r4 - 199da: 4b0b ldr r3, [pc, #44] ; (19a08 ) - 199dc: 4798 blx r3 + 19fa8: 4620 mov r0, r4 + 19faa: 4b0b ldr r3, [pc, #44] ; (19fd8 ) + 19fac: 4798 blx r3 lv_label_align_t align = ext->align; - 199de: 7c00 ldrb r0, [r0, #16] - 199e0: f3c0 1001 ubfx r0, r0, #4, #2 + 19fae: 7c00 ldrb r0, [r0, #16] + 19fb0: f3c0 1001 ubfx r0, r0, #4, #2 align = LV_LABEL_ALIGN_LEFT; - 199e4: 2803 cmp r0, #3 -} - 199e6: bf08 it eq - 199e8: 2000 moveq r0, #0 - 199ea: b003 add sp, #12 - 199ec: bd30 pop {r4, r5, pc} - 199ee: bf00 nop - 199f0: 0000298d .word 0x0000298d - 199f4: 00020b04 .word 0x00020b04 - 199f8: 00020c94 .word 0x00020c94 - 199fc: 00012805 .word 0x00012805 - 19a00: 0001bd20 .word 0x0001bd20 - 19a04: 00002995 .word 0x00002995 - 19a08: 00005425 .word 0x00005425 - -00019a0c : -{ - 19a0c: b530 push {r4, r5, lr} - 19a0e: b083 sub sp, #12 - 19a10: 4604 mov r4, r0 + 19fb4: 2803 cmp r0, #3 +} + 19fb6: bf08 it eq + 19fb8: 2000 moveq r0, #0 + 19fba: b003 add sp, #12 + 19fbc: bd30 pop {r4, r5, pc} + 19fbe: bf00 nop + 19fc0: 000022b1 .word 0x000022b1 + 19fc4: 00029804 .word 0x00029804 + 19fc8: 00029994 .word 0x00029994 + 19fcc: 0001225d .word 0x0001225d + 19fd0: 0002483c .word 0x0002483c + 19fd4: 000022b9 .word 0x000022b9 + 19fd8: 00004d9d .word 0x00004d9d + +00019fdc : +{ + 19fdc: b530 push {r4, r5, lr} + 19fde: b083 sub sp, #12 + 19fe0: 4604 mov r4, r0 LV_ASSERT_OBJ(label, LV_OBJX_NAME); - 19a12: 4b0c ldr r3, [pc, #48] ; (19a44 ) - 19a14: 4798 blx r3 - 19a16: b968 cbnz r0, 19a34 - 19a18: 4b0b ldr r3, [pc, #44] ; (19a48 ) - 19a1a: 9300 str r3, [sp, #0] - 19a1c: f240 221b movw r2, #539 ; 0x21b - 19a20: 490a ldr r1, [pc, #40] ; (19a4c ) - 19a22: 2003 movs r0, #3 - 19a24: 4d0a ldr r5, [pc, #40] ; (19a50 ) - 19a26: 47a8 blx r5 - 19a28: 4622 mov r2, r4 - 19a2a: 2300 movs r3, #0 - 19a2c: 4809 ldr r0, [pc, #36] ; (19a54 ) - 19a2e: 490a ldr r1, [pc, #40] ; (19a58 ) - 19a30: 4788 blx r1 - 19a32: e7fe b.n 19a32 + 19fe2: 4b0c ldr r3, [pc, #48] ; (1a014 ) + 19fe4: 4798 blx r3 + 19fe6: b968 cbnz r0, 1a004 + 19fe8: 4b0b ldr r3, [pc, #44] ; (1a018 ) + 19fea: 9300 str r3, [sp, #0] + 19fec: f240 221b movw r2, #539 ; 0x21b + 19ff0: 490a ldr r1, [pc, #40] ; (1a01c ) + 19ff2: 2003 movs r0, #3 + 19ff4: 4d0a ldr r5, [pc, #40] ; (1a020 ) + 19ff6: 47a8 blx r5 + 19ff8: 4622 mov r2, r4 + 19ffa: 2300 movs r3, #0 + 19ffc: 4809 ldr r0, [pc, #36] ; (1a024 ) + 19ffe: 490a ldr r1, [pc, #40] ; (1a028 ) + 1a000: 4788 blx r1 + 1a002: e7fe b.n 1a002 lv_label_ext_t * ext = lv_obj_get_ext_attr(label); - 19a34: 4620 mov r0, r4 - 19a36: 4b09 ldr r3, [pc, #36] ; (19a5c ) - 19a38: 4798 blx r3 + 1a004: 4620 mov r0, r4 + 1a006: 4b09 ldr r3, [pc, #36] ; (1a02c ) + 1a008: 4798 blx r3 return ext->recolor == 0 ? false : true; - 19a3a: 7c00 ldrb r0, [r0, #16] -} - 19a3c: f3c0 1080 ubfx r0, r0, #6, #1 - 19a40: b003 add sp, #12 - 19a42: bd30 pop {r4, r5, pc} - 19a44: 0000298d .word 0x0000298d - 19a48: 00020b18 .word 0x00020b18 - 19a4c: 00020c94 .word 0x00020c94 - 19a50: 00012805 .word 0x00012805 - 19a54: 0001bd20 .word 0x0001bd20 - 19a58: 00002995 .word 0x00002995 - 19a5c: 00005425 .word 0x00005425 - -00019a60 : -{ - 19a60: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 19a64: b08f sub sp, #60 ; 0x3c - 19a66: 4605 mov r5, r0 - 19a68: 9105 str r1, [sp, #20] + 1a00a: 7c00 ldrb r0, [r0, #16] +} + 1a00c: f3c0 1080 ubfx r0, r0, #6, #1 + 1a010: b003 add sp, #12 + 1a012: bd30 pop {r4, r5, pc} + 1a014: 000022b1 .word 0x000022b1 + 1a018: 00029818 .word 0x00029818 + 1a01c: 00029994 .word 0x00029994 + 1a020: 0001225d .word 0x0001225d + 1a024: 0002483c .word 0x0002483c + 1a028: 000022b9 .word 0x000022b9 + 1a02c: 00004d9d .word 0x00004d9d + +0001a030 : +{ + 1a030: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 1a034: b08f sub sp, #60 ; 0x3c + 1a036: 4605 mov r5, r0 + 1a038: 9105 str r1, [sp, #20] LV_ASSERT_OBJ(label, LV_OBJX_NAME); - 19a6a: 4b9e ldr r3, [pc, #632] ; (19ce4 ) - 19a6c: 4798 blx r3 - 19a6e: b968 cbnz r0, 19a8c - 19a70: 4b9d ldr r3, [pc, #628] ; (19ce8 ) - 19a72: 9300 str r3, [sp, #0] - 19a74: f240 22a5 movw r2, #677 ; 0x2a5 - 19a78: 499c ldr r1, [pc, #624] ; (19cec ) - 19a7a: 2003 movs r0, #3 - 19a7c: 4c9c ldr r4, [pc, #624] ; (19cf0 ) - 19a7e: 47a0 blx r4 - 19a80: 462a mov r2, r5 - 19a82: 2300 movs r3, #0 - 19a84: 489b ldr r0, [pc, #620] ; (19cf4 ) - 19a86: 499c ldr r1, [pc, #624] ; (19cf8 ) - 19a88: 4788 blx r1 - 19a8a: e7fe b.n 19a8a + 1a03a: 4b9e ldr r3, [pc, #632] ; (1a2b4 ) + 1a03c: 4798 blx r3 + 1a03e: b968 cbnz r0, 1a05c + 1a040: 4b9d ldr r3, [pc, #628] ; (1a2b8 ) + 1a042: 9300 str r3, [sp, #0] + 1a044: f240 22a5 movw r2, #677 ; 0x2a5 + 1a048: 499c ldr r1, [pc, #624] ; (1a2bc ) + 1a04a: 2003 movs r0, #3 + 1a04c: 4c9c ldr r4, [pc, #624] ; (1a2c0 ) + 1a04e: 47a0 blx r4 + 1a050: 462a mov r2, r5 + 1a052: 2300 movs r3, #0 + 1a054: 489b ldr r0, [pc, #620] ; (1a2c4 ) + 1a056: 499c ldr r1, [pc, #624] ; (1a2c8 ) + 1a058: 4788 blx r1 + 1a05a: e7fe b.n 1a05a LV_ASSERT_NULL(pos); - 19a8c: 9e05 ldr r6, [sp, #20] - 19a8e: 4630 mov r0, r6 - 19a90: 4b94 ldr r3, [pc, #592] ; (19ce4 ) - 19a92: 4798 blx r3 - 19a94: b968 cbnz r0, 19ab2 - 19a96: 4b94 ldr r3, [pc, #592] ; (19ce8 ) - 19a98: 9300 str r3, [sp, #0] - 19a9a: f240 22a6 movw r2, #678 ; 0x2a6 - 19a9e: 4993 ldr r1, [pc, #588] ; (19cec ) - 19aa0: 2003 movs r0, #3 - 19aa2: 4c93 ldr r4, [pc, #588] ; (19cf0 ) - 19aa4: 47a0 blx r4 - 19aa6: 4632 mov r2, r6 - 19aa8: 2300 movs r3, #0 - 19aaa: 4892 ldr r0, [pc, #584] ; (19cf4 ) - 19aac: 4992 ldr r1, [pc, #584] ; (19cf8 ) - 19aae: 4788 blx r1 - 19ab0: e7fe b.n 19ab0 + 1a05c: 9e05 ldr r6, [sp, #20] + 1a05e: 4630 mov r0, r6 + 1a060: 4b94 ldr r3, [pc, #592] ; (1a2b4 ) + 1a062: 4798 blx r3 + 1a064: b968 cbnz r0, 1a082 + 1a066: 4b94 ldr r3, [pc, #592] ; (1a2b8 ) + 1a068: 9300 str r3, [sp, #0] + 1a06a: f240 22a6 movw r2, #678 ; 0x2a6 + 1a06e: 4993 ldr r1, [pc, #588] ; (1a2bc ) + 1a070: 2003 movs r0, #3 + 1a072: 4c93 ldr r4, [pc, #588] ; (1a2c0 ) + 1a074: 47a0 blx r4 + 1a076: 4632 mov r2, r6 + 1a078: 2300 movs r3, #0 + 1a07a: 4892 ldr r0, [pc, #584] ; (1a2c4 ) + 1a07c: 4992 ldr r1, [pc, #584] ; (1a2c8 ) + 1a07e: 4788 blx r1 + 1a080: e7fe b.n 1a080 get_txt_coords(label, &txt_coords); - 19ab2: a90c add r1, sp, #48 ; 0x30 - 19ab4: 4628 mov r0, r5 - 19ab6: 4b91 ldr r3, [pc, #580] ; (19cfc ) - 19ab8: 4798 blx r3 + 1a082: a90c add r1, sp, #48 ; 0x30 + 1a084: 4628 mov r0, r5 + 1a086: 4b91 ldr r3, [pc, #580] ; (1a2cc ) + 1a088: 4798 blx r3 const char * txt = lv_label_get_text(label); - 19aba: 4628 mov r0, r5 - 19abc: 4b90 ldr r3, [pc, #576] ; (19d00 ) - 19abe: 4798 blx r3 - 19ac0: 4607 mov r7, r0 + 1a08a: 4628 mov r0, r5 + 1a08c: 4b90 ldr r3, [pc, #576] ; (1a2d0 ) + 1a08e: 4798 blx r3 + 1a090: 4607 mov r7, r0 lv_label_ext_t * ext = lv_obj_get_ext_attr(label); - 19ac2: 4628 mov r0, r5 - 19ac4: 4b8f ldr r3, [pc, #572] ; (19d04 ) - 19ac6: 4798 blx r3 - 19ac8: 4606 mov r6, r0 - * @param area_p pointer to an area - * @return the width of the area (if x1 == x2 -> width = 1) - */ -static inline lv_coord_t lv_area_get_width(const lv_area_t * area_p) -{ + 1a092: 4628 mov r0, r5 + 1a094: 4b8f ldr r3, [pc, #572] ; (1a2d4 ) + 1a096: 4798 blx r3 + 1a098: 4606 mov r6, r0 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - 19aca: f8bd 3034 ldrh.w r3, [sp, #52] ; 0x34 - 19ace: 3301 adds r3, #1 - 19ad0: f8bd 2030 ldrh.w r2, [sp, #48] ; 0x30 - 19ad4: 1a9b subs r3, r3, r2 - 19ad6: b21b sxth r3, r3 - 19ad8: 9306 str r3, [sp, #24] -_LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_DECOR, text_decor, lv_text_decor_t, _int, scalar) -_LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_BLEND_MODE, text_blend_mode, lv_blend_mode_t, _int, scalar) -_LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar) -_LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_SEL_COLOR, text_sel_color, lv_color_t, _color, nonscalar) -_LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_OPA, text_opa, lv_opa_t, _opa, scalar) + 1a09a: f8bd 3034 ldrh.w r3, [sp, #52] ; 0x34 + 1a09e: 3301 adds r3, #1 + 1a0a0: f8bd 2030 ldrh.w r2, [sp, #48] ; 0x30 + 1a0a4: 1a9b subs r3, r3, r2 + 1a0a6: b21b sxth r3, r3 + 1a0a8: 9306 str r3, [sp, #24] _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_FONT, text_font, const lv_font_t *, _ptr, scalar) - 19ada: f248 028e movw r2, #32910 ; 0x808e - 19ade: 2100 movs r1, #0 - 19ae0: 4628 mov r0, r5 - 19ae2: 4b89 ldr r3, [pc, #548] ; (19d08 ) - 19ae4: 4798 blx r3 - 19ae6: 4681 mov r9, r0 - 19ae8: 9003 str r0, [sp, #12] + 1a0aa: f248 028e movw r2, #32910 ; 0x808e + 1a0ae: 2100 movs r1, #0 + 1a0b0: 4628 mov r0, r5 + 1a0b2: 4b89 ldr r3, [pc, #548] ; (1a2d8 ) + 1a0b4: 4798 blx r3 + 1a0b6: 4681 mov r9, r0 + 1a0b8: 9003 str r0, [sp, #12] _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_LINE_SPACE, text_line_space, lv_style_int_t, _int, scalar) - 19aea: f248 0281 movw r2, #32897 ; 0x8081 - 19aee: 2100 movs r1, #0 - 19af0: 4628 mov r0, r5 - 19af2: f8df 8230 ldr.w r8, [pc, #560] ; 19d24 - 19af6: 47c0 blx r8 - 19af8: 4604 mov r4, r0 + 1a0ba: f248 0281 movw r2, #32897 ; 0x8081 + 1a0be: 2100 movs r1, #0 + 1a0c0: 4628 mov r0, r5 + 1a0c2: f8df 8230 ldr.w r8, [pc, #560] ; 1a2f4 + 1a0c6: 47c0 blx r8 + 1a0c8: 4604 mov r4, r0 _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_LETTER_SPACE, text_letter_space, lv_style_int_t, _int, scalar) - 19afa: f248 0280 movw r2, #32896 ; 0x8080 - 19afe: 2100 movs r1, #0 - 19b00: 4628 mov r0, r5 - 19b02: 47c0 blx r8 - 19b04: 9004 str r0, [sp, #16] + 1a0ca: f248 0280 movw r2, #32896 ; 0x8080 + 1a0ce: 2100 movs r1, #0 + 1a0d0: 4628 mov r0, r5 + 1a0d2: 47c0 blx r8 + 1a0d4: 9004 str r0, [sp, #16] * @param font_p pointer to a font * @return the height of a font */ static inline lv_coord_t lv_font_get_line_height(const lv_font_t * font_p) { return font_p->line_height; - 19b06: f9b9 b008 ldrsh.w fp, [r9, #8] + 1a0d6: f9b9 b008 ldrsh.w fp, [r9, #8] if(ext->recolor != 0) flag |= LV_TXT_FLAG_RECOLOR; - 19b0a: 7c33 ldrb r3, [r6, #16] + 1a0da: 7c33 ldrb r3, [r6, #16] lv_txt_flag_t flag = LV_TXT_FLAG_NONE; - 19b0c: f3c3 1680 ubfx r6, r3, #6, #1 + 1a0dc: f3c3 1680 ubfx r6, r3, #6, #1 if(ext->expand != 0) flag |= LV_TXT_FLAG_EXPAND; - 19b10: f013 0f80 tst.w r3, #128 ; 0x80 - 19b14: bf18 it ne - 19b16: f046 0602 orrne.w r6, r6, #2 + 1a0e0: f013 0f80 tst.w r3, #128 ; 0x80 + 1a0e4: bf18 it ne + 1a0e6: f046 0602 orrne.w r6, r6, #2 if(ext->long_mode == LV_LABEL_LONG_EXPAND) flag |= LV_TXT_FLAG_FIT; - 19b1a: f013 0f07 tst.w r3, #7 - 19b1e: bf08 it eq - 19b20: f046 0610 orreq.w r6, r6, #16 + 1a0ea: f013 0f07 tst.w r3, #7 + 1a0ee: bf08 it eq + 1a0f0: f046 0610 orreq.w r6, r6, #16 lv_label_align_t align = lv_label_get_align(label); - 19b24: 4628 mov r0, r5 - 19b26: 4b79 ldr r3, [pc, #484] ; (19d0c ) - 19b28: 4798 blx r3 - 19b2a: 4682 mov sl, r0 + 1a0f4: 4628 mov r0, r5 + 1a0f6: 4b79 ldr r3, [pc, #484] ; (1a2dc ) + 1a0f8: 4798 blx r3 + 1a0fa: 4682 mov sl, r0 if(align == LV_LABEL_ALIGN_CENTER) flag |= LV_TXT_FLAG_CENTER; - 19b2c: 2801 cmp r0, #1 - 19b2e: d137 bne.n 19ba0 - 19b30: f046 0604 orr.w r6, r6, #4 + 1a0fc: 2801 cmp r0, #1 + 1a0fe: d137 bne.n 1a170 + 1a100: f046 0604 orr.w r6, r6, #4 while(txt[line_start] != '\0') { - 19b34: 783b ldrb r3, [r7, #0] - 19b36: 2b00 cmp r3, #0 - 19b38: d13a bne.n 19bb0 - 19b3a: 46b8 mov r8, r7 - 19b3c: 2500 movs r5, #0 - 19b3e: 462c mov r4, r5 + 1a104: 783b ldrb r3, [r7, #0] + 1a106: 2b00 cmp r3, #0 + 1a108: d13a bne.n 1a180 + 1a10a: 46b8 mov r8, r7 + 1a10c: 2500 movs r5, #0 + 1a10e: 462c mov r4, r5 line_w = _lv_txt_get_width(bidi_txt, new_line_start - line_start, font, letter_space, flag); - 19b40: 1b61 subs r1, r4, r5 - 19b42: 9600 str r6, [sp, #0] - 19b44: 9b04 ldr r3, [sp, #16] - 19b46: 9a03 ldr r2, [sp, #12] - 19b48: b289 uxth r1, r1 - 19b4a: 4640 mov r0, r8 - 19b4c: f8df 91d8 ldr.w r9, [pc, #472] ; 19d28 - 19b50: 47c8 blx r9 - 19b52: f8bd 3034 ldrh.w r3, [sp, #52] ; 0x34 - 19b56: 3301 adds r3, #1 - 19b58: f8bd 2030 ldrh.w r2, [sp, #48] ; 0x30 - 19b5c: 1a9b subs r3, r3, r2 + 1a110: 1b61 subs r1, r4, r5 + 1a112: 9600 str r6, [sp, #0] + 1a114: 9b04 ldr r3, [sp, #16] + 1a116: 9a03 ldr r2, [sp, #12] + 1a118: b289 uxth r1, r1 + 1a11a: 4640 mov r0, r8 + 1a11c: f8df 91d8 ldr.w r9, [pc, #472] ; 1a2f8 + 1a120: 47c8 blx r9 + 1a122: f8bd 3034 ldrh.w r3, [sp, #52] ; 0x34 + 1a126: 3301 adds r3, #1 + 1a128: f8bd 2030 ldrh.w r2, [sp, #48] ; 0x30 + 1a12c: 1a9b subs r3, r3, r2 x += lv_area_get_width(&txt_coords) / 2 - line_w / 2; - 19b5e: b21b sxth r3, r3 - 19b60: eb03 73d3 add.w r3, r3, r3, lsr #31 - 19b64: eb00 70d0 add.w r0, r0, r0, lsr #31 - 19b68: ea4f 0960 mov.w r9, r0, asr #1 - 19b6c: ebc9 0363 rsb r3, r9, r3, asr #1 - 19b70: fa0f f983 sxth.w r9, r3 + 1a12e: b21b sxth r3, r3 + 1a130: eb03 73d3 add.w r3, r3, r3, lsr #31 + 1a134: eb00 70d0 add.w r0, r0, r0, lsr #31 + 1a138: ea4f 0960 mov.w r9, r0, asr #1 + 1a13c: ebc9 0363 rsb r3, r9, r3, asr #1 + 1a140: fa0f f983 sxth.w r9, r3 lv_txt_cmd_state_t cmd_state = LV_TXT_CMD_STATE_WAIT; - 19b74: 2300 movs r3, #0 - 19b76: f88d 302f strb.w r3, [sp, #47] ; 0x2f + 1a144: 2300 movs r3, #0 + 1a146: f88d 302f strb.w r3, [sp, #47] ; 0x2f uint32_t i = 0; - 19b7a: 930a str r3, [sp, #40] ; 0x28 + 1a14a: 930a str r3, [sp, #40] ; 0x28 if(new_line_start > 0) { - 19b7c: 2c00 cmp r4, #0 - 19b7e: f040 80a1 bne.w 19cc4 + 1a14c: 2c00 cmp r4, #0 + 1a14e: f040 80a1 bne.w 1a294 logical_pos = _lv_txt_encoded_get_char_id(bidi_txt, i); - 19b82: 4e63 ldr r6, [pc, #396] ; (19d10 ) - 19b84: 6833 ldr r3, [r6, #0] - 19b86: 990a ldr r1, [sp, #40] ; 0x28 - 19b88: 4640 mov r0, r8 - 19b8a: 4798 blx r3 - 19b8c: 4604 mov r4, r0 + 1a152: 4e63 ldr r6, [pc, #396] ; (1a2e0 ) + 1a154: 6833 ldr r3, [r6, #0] + 1a156: 990a ldr r1, [sp, #40] ; 0x28 + 1a158: 4640 mov r0, r8 + 1a15a: 4798 blx r3 + 1a15c: 4604 mov r4, r0 return logical_pos + _lv_txt_encoded_get_char_id(txt, line_start); - 19b8e: 6833 ldr r3, [r6, #0] - 19b90: 4629 mov r1, r5 - 19b92: 4638 mov r0, r7 - 19b94: 4798 blx r3 - 19b96: 4420 add r0, r4 - 19b98: b280 uxth r0, r0 -} - 19b9a: b00f add sp, #60 ; 0x3c - 19b9c: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 1a15e: 6833 ldr r3, [r6, #0] + 1a160: 4629 mov r1, r5 + 1a162: 4638 mov r0, r7 + 1a164: 4798 blx r3 + 1a166: 4420 add r0, r4 + 1a168: b280 uxth r0, r0 +} + 1a16a: b00f add sp, #60 ; 0x3c + 1a16c: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} if(align == LV_LABEL_ALIGN_RIGHT) flag |= LV_TXT_FLAG_RIGHT; - 19ba0: 2802 cmp r0, #2 - 19ba2: f040 8096 bne.w 19cd2 - 19ba6: f046 0608 orr.w r6, r6, #8 + 1a170: 2802 cmp r0, #2 + 1a172: f040 8096 bne.w 1a2a2 + 1a176: f046 0608 orr.w r6, r6, #8 while(txt[line_start] != '\0') { - 19baa: 783b ldrb r3, [r7, #0] - 19bac: 2b00 cmp r3, #0 - 19bae: d048 beq.n 19c42 + 1a17a: 783b ldrb r3, [r7, #0] + 1a17c: 2b00 cmp r3, #0 + 1a17e: d048 beq.n 1a212 { - 19bb0: 46b8 mov r8, r7 - 19bb2: f04f 0900 mov.w r9, #0 - 19bb6: 464d mov r5, r9 + 1a180: 46b8 mov r8, r7 + 1a182: f04f 0900 mov.w r9, #0 + 1a186: 464d mov r5, r9 y += letter_height + line_space; - 19bb8: eb0b 0304 add.w r3, fp, r4 - 19bbc: 9307 str r3, [sp, #28] - 19bbe: e009 b.n 19bd4 - 19bc0: 9b07 ldr r3, [sp, #28] - 19bc2: 4499 add r9, r3 - 19bc4: fa0f f989 sxth.w r9, r9 + 1a188: eb0b 0304 add.w r3, fp, r4 + 1a18c: 9307 str r3, [sp, #28] + 1a18e: e009 b.n 1a1a4 + 1a190: 9b07 ldr r3, [sp, #28] + 1a192: 4499 add r9, r3 + 1a194: fa0f f989 sxth.w r9, r9 while(txt[line_start] != '\0') { - 19bc8: eb07 0800 add.w r8, r7, r0 + 1a198: eb07 0800 add.w r8, r7, r0 new_line_start += _lv_txt_get_next_line(&txt[line_start], font, letter_space, max_w, flag); - 19bcc: 4605 mov r5, r0 + 1a19c: 4605 mov r5, r0 while(txt[line_start] != '\0') { - 19bce: 5c3b ldrb r3, [r7, r0] - 19bd0: 2b00 cmp r3, #0 - 19bd2: d034 beq.n 19c3e + 1a19e: 5c3b ldrb r3, [r7, r0] + 1a1a0: 2b00 cmp r3, #0 + 1a1a2: d034 beq.n 1a20e new_line_start += _lv_txt_get_next_line(&txt[line_start], font, letter_space, max_w, flag); - 19bd4: 9600 str r6, [sp, #0] - 19bd6: 9b06 ldr r3, [sp, #24] - 19bd8: 9a04 ldr r2, [sp, #16] - 19bda: 9903 ldr r1, [sp, #12] - 19bdc: 4640 mov r0, r8 - 19bde: 4c4d ldr r4, [pc, #308] ; (19d14 ) - 19be0: 47a0 blx r4 - 19be2: 4428 add r0, r5 + 1a1a4: 9600 str r6, [sp, #0] + 1a1a6: 9b06 ldr r3, [sp, #24] + 1a1a8: 9a04 ldr r2, [sp, #16] + 1a1aa: 9903 ldr r1, [sp, #12] + 1a1ac: 4640 mov r0, r8 + 1a1ae: 4c4d ldr r4, [pc, #308] ; (1a2e4 ) + 1a1b0: 47a0 blx r4 + 1a1b2: 4428 add r0, r5 if(pos->y <= y + letter_height) { - 19be4: 9b05 ldr r3, [sp, #20] - 19be6: f9b3 2002 ldrsh.w r2, [r3, #2] - 19bea: eb09 030b add.w r3, r9, fp - 19bee: 429a cmp r2, r3 - 19bf0: dce6 bgt.n 19bc0 - 19bf2: 4604 mov r4, r0 + 1a1b4: 9b05 ldr r3, [sp, #20] + 1a1b6: f9b3 2002 ldrsh.w r2, [r3, #2] + 1a1ba: eb09 030b add.w r3, r9, fp + 1a1be: 429a cmp r2, r3 + 1a1c0: dce6 bgt.n 1a190 + 1a1c2: 4604 mov r4, r0 uint32_t tmp = new_line_start; - 19bf4: a90e add r1, sp, #56 ; 0x38 - 19bf6: f841 0d14 str.w r0, [r1, #-20]! + 1a1c4: a90e add r1, sp, #56 ; 0x38 + 1a1c6: f841 0d14 str.w r0, [r1, #-20]! letter = _lv_txt_encoded_prev(txt, &tmp); - 19bfa: 4b47 ldr r3, [pc, #284] ; (19d18 ) - 19bfc: 681b ldr r3, [r3, #0] - 19bfe: 4638 mov r0, r7 - 19c00: 4798 blx r3 + 1a1ca: 4b47 ldr r3, [pc, #284] ; (1a2e8 ) + 1a1cc: 681b ldr r3, [r3, #0] + 1a1ce: 4638 mov r0, r7 + 1a1d0: 4798 blx r3 if(letter != '\n' && txt[new_line_start] == '\0') new_line_start++; - 19c02: 280a cmp r0, #10 - 19c04: d002 beq.n 19c0c - 19c06: 5d3b ldrb r3, [r7, r4] - 19c08: b903 cbnz r3, 19c0c - 19c0a: 3401 adds r4, #1 + 1a1d2: 280a cmp r0, #10 + 1a1d4: d002 beq.n 1a1dc + 1a1d6: 5d3b ldrb r3, [r7, r4] + 1a1d8: b903 cbnz r3, 1a1dc + 1a1da: 3401 adds r4, #1 if(align == LV_LABEL_ALIGN_CENTER) { - 19c0c: f1ba 0f01 cmp.w sl, #1 - 19c10: d096 beq.n 19b40 + 1a1dc: f1ba 0f01 cmp.w sl, #1 + 1a1e0: d096 beq.n 1a110 else if(align == LV_LABEL_ALIGN_RIGHT) { - 19c12: f1ba 0f02 cmp.w sl, #2 - 19c16: d118 bne.n 19c4a + 1a1e2: f1ba 0f02 cmp.w sl, #2 + 1a1e6: d118 bne.n 1a21a line_w = _lv_txt_get_width(bidi_txt, new_line_start - line_start, font, letter_space, flag); - 19c18: 1b61 subs r1, r4, r5 - 19c1a: 9600 str r6, [sp, #0] - 19c1c: 9b04 ldr r3, [sp, #16] - 19c1e: 9a03 ldr r2, [sp, #12] - 19c20: b289 uxth r1, r1 - 19c22: 4640 mov r0, r8 - 19c24: f8df 9100 ldr.w r9, [pc, #256] ; 19d28 - 19c28: 47c8 blx r9 - 19c2a: f8bd 3034 ldrh.w r3, [sp, #52] ; 0x34 - 19c2e: 3301 adds r3, #1 - 19c30: f8bd 2030 ldrh.w r2, [sp, #48] ; 0x30 - 19c34: 1a9b subs r3, r3, r2 + 1a1e8: 1b61 subs r1, r4, r5 + 1a1ea: 9600 str r6, [sp, #0] + 1a1ec: 9b04 ldr r3, [sp, #16] + 1a1ee: 9a03 ldr r2, [sp, #12] + 1a1f0: b289 uxth r1, r1 + 1a1f2: 4640 mov r0, r8 + 1a1f4: f8df 9100 ldr.w r9, [pc, #256] ; 1a2f8 + 1a1f8: 47c8 blx r9 + 1a1fa: f8bd 3034 ldrh.w r3, [sp, #52] ; 0x34 + 1a1fe: 3301 adds r3, #1 + 1a200: f8bd 2030 ldrh.w r2, [sp, #48] ; 0x30 + 1a204: 1a9b subs r3, r3, r2 x += lv_area_get_width(&txt_coords) - line_w; - 19c36: 1a1b subs r3, r3, r0 - 19c38: fa0f f983 sxth.w r9, r3 - 19c3c: e79a b.n 19b74 - 19c3e: 4604 mov r4, r0 - 19c40: e7e4 b.n 19c0c + 1a206: 1a1b subs r3, r3, r0 + 1a208: fa0f f983 sxth.w r9, r3 + 1a20c: e79a b.n 1a144 + 1a20e: 4604 mov r4, r0 + 1a210: e7e4 b.n 1a1dc while(txt[line_start] != '\0') { - 19c42: 46b8 mov r8, r7 - 19c44: 2500 movs r5, #0 - 19c46: 462c mov r4, r5 - 19c48: e7e6 b.n 19c18 + 1a212: 46b8 mov r8, r7 + 1a214: 2500 movs r5, #0 + 1a216: 462c mov r4, r5 + 1a218: e7e6 b.n 1a1e8 lv_coord_t x = 0; - 19c4a: f04f 0900 mov.w r9, #0 - 19c4e: e791 b.n 19b74 + 1a21a: f04f 0900 mov.w r9, #0 + 1a21e: e791 b.n 1a144 x += lv_font_get_glyph_width(font, letter, letter_next); - 19c50: 9a07 ldr r2, [sp, #28] - 19c52: 9906 ldr r1, [sp, #24] - 19c54: 9803 ldr r0, [sp, #12] - 19c56: 4b31 ldr r3, [pc, #196] ; (19d1c ) - 19c58: 4798 blx r3 - 19c5a: eb00 0309 add.w r3, r0, r9 - 19c5e: b29b uxth r3, r3 + 1a220: 9a07 ldr r2, [sp, #28] + 1a222: 9906 ldr r1, [sp, #24] + 1a224: 9803 ldr r0, [sp, #12] + 1a226: 4b31 ldr r3, [pc, #196] ; (1a2ec ) + 1a228: 4798 blx r3 + 1a22a: eb00 0309 add.w r3, r0, r9 + 1a22e: b29b uxth r3, r3 if(pos->x < x || i + line_start == new_line_start || txt[i + line_start] == '\0') { - 19c60: 9a05 ldr r2, [sp, #20] - 19c62: f9b2 1000 ldrsh.w r1, [r2] - 19c66: b21a sxth r2, r3 - 19c68: 4291 cmp r1, r2 - 19c6a: db28 blt.n 19cbe - 19c6c: 9a0a ldr r2, [sp, #40] ; 0x28 - 19c6e: 1951 adds r1, r2, r5 - 19c70: 42a1 cmp r1, r4 - 19c72: d024 beq.n 19cbe - 19c74: 5c79 ldrb r1, [r7, r1] - 19c76: b311 cbz r1, 19cbe + 1a230: 9a05 ldr r2, [sp, #20] + 1a232: f9b2 1000 ldrsh.w r1, [r2] + 1a236: b21a sxth r2, r3 + 1a238: 4291 cmp r1, r2 + 1a23a: db28 blt.n 1a28e + 1a23c: 9a0a ldr r2, [sp, #40] ; 0x28 + 1a23e: 1951 adds r1, r2, r5 + 1a240: 42a1 cmp r1, r4 + 1a242: d024 beq.n 1a28e + 1a244: 5c79 ldrb r1, [r7, r1] + 1a246: b311 cbz r1, 1a28e x += letter_space; - 19c78: 9904 ldr r1, [sp, #16] - 19c7a: 440b add r3, r1 - 19c7c: fa0f f983 sxth.w r9, r3 + 1a248: 9904 ldr r1, [sp, #16] + 1a24a: 440b add r3, r1 + 1a24c: fa0f f983 sxth.w r9, r3 i_act = i; - 19c80: 4693 mov fp, r2 + 1a250: 4693 mov fp, r2 while(i + line_start < new_line_start) { - 19c82: 9b0a ldr r3, [sp, #40] ; 0x28 - 19c84: 442b add r3, r5 - 19c86: 42a3 cmp r3, r4 - 19c88: f4bf af7b bcs.w 19b82 + 1a252: 9b0a ldr r3, [sp, #40] ; 0x28 + 1a254: 442b add r3, r5 + 1a256: 42a3 cmp r3, r4 + 1a258: f4bf af7b bcs.w 1a152 uint32_t letter = _lv_txt_encoded_next(bidi_txt, &i); - 19c8c: f8da 3000 ldr.w r3, [sl] - 19c90: a90a add r1, sp, #40 ; 0x28 - 19c92: 4640 mov r0, r8 - 19c94: 4798 blx r3 - 19c96: 9006 str r0, [sp, #24] + 1a25c: f8da 3000 ldr.w r3, [sl] + 1a260: a90a add r1, sp, #40 ; 0x28 + 1a262: 4640 mov r0, r8 + 1a264: 4798 blx r3 + 1a266: 9006 str r0, [sp, #24] uint32_t letter_next = _lv_txt_encoded_next(&bidi_txt[i], NULL); - 19c98: f8da 3000 ldr.w r3, [sl] - 19c9c: 2100 movs r1, #0 - 19c9e: 980a ldr r0, [sp, #40] ; 0x28 - 19ca0: 4440 add r0, r8 - 19ca2: 4798 blx r3 - 19ca4: 9007 str r0, [sp, #28] + 1a268: f8da 3000 ldr.w r3, [sl] + 1a26c: 2100 movs r1, #0 + 1a26e: 980a ldr r0, [sp, #40] ; 0x28 + 1a270: 4440 add r0, r8 + 1a272: 4798 blx r3 + 1a274: 9007 str r0, [sp, #28] if((flag & LV_TXT_FLAG_RECOLOR) != 0) { - 19ca6: 2e00 cmp r6, #0 - 19ca8: d0d2 beq.n 19c50 + 1a276: 2e00 cmp r6, #0 + 1a278: d0d2 beq.n 1a220 if(_lv_txt_is_cmd(&cmd_state, bidi_txt[i]) != false) { - 19caa: 9b0a ldr r3, [sp, #40] ; 0x28 - 19cac: f818 1003 ldrb.w r1, [r8, r3] - 19cb0: f10d 002f add.w r0, sp, #47 ; 0x2f - 19cb4: 4b1a ldr r3, [pc, #104] ; (19d20 ) - 19cb6: 4798 blx r3 - 19cb8: 2800 cmp r0, #0 - 19cba: d1e2 bne.n 19c82 - 19cbc: e7c8 b.n 19c50 + 1a27a: 9b0a ldr r3, [sp, #40] ; 0x28 + 1a27c: f818 1003 ldrb.w r1, [r8, r3] + 1a280: f10d 002f add.w r0, sp, #47 ; 0x2f + 1a284: 4b1a ldr r3, [pc, #104] ; (1a2f0 ) + 1a286: 4798 blx r3 + 1a288: 2800 cmp r0, #0 + 1a28a: d1e2 bne.n 1a252 + 1a28c: e7c8 b.n 1a220 i = i_act; - 19cbe: f8cd b028 str.w fp, [sp, #40] ; 0x28 + 1a28e: f8cd b028 str.w fp, [sp, #40] ; 0x28 break; - 19cc2: e75e b.n 19b82 - 19cc4: f04f 0b00 mov.w fp, #0 + 1a292: e75e b.n 1a152 + 1a294: f04f 0b00 mov.w fp, #0 uint32_t letter = _lv_txt_encoded_next(bidi_txt, &i); - 19cc8: f8df a060 ldr.w sl, [pc, #96] ; 19d2c + 1a298: f8df a060 ldr.w sl, [pc, #96] ; 1a2fc if((flag & LV_TXT_FLAG_RECOLOR) != 0) { - 19ccc: f006 0601 and.w r6, r6, #1 - 19cd0: e7d7 b.n 19c82 + 1a29c: f006 0601 and.w r6, r6, #1 + 1a2a0: e7d7 b.n 1a252 while(txt[line_start] != '\0') { - 19cd2: 783b ldrb r3, [r7, #0] - 19cd4: 2b00 cmp r3, #0 - 19cd6: f47f af6b bne.w 19bb0 - 19cda: 46b8 mov r8, r7 - 19cdc: 2500 movs r5, #0 - 19cde: 462c mov r4, r5 + 1a2a2: 783b ldrb r3, [r7, #0] + 1a2a4: 2b00 cmp r3, #0 + 1a2a6: f47f af6b bne.w 1a180 + 1a2aa: 46b8 mov r8, r7 + 1a2ac: 2500 movs r5, #0 + 1a2ae: 462c mov r4, r5 lv_coord_t x = 0; - 19ce0: 46a9 mov r9, r5 - 19ce2: e747 b.n 19b74 - 19ce4: 0000298d .word 0x0000298d - 19ce8: 00020b60 .word 0x00020b60 - 19cec: 00020c94 .word 0x00020c94 - 19cf0: 00012805 .word 0x00012805 - 19cf4: 0001bd20 .word 0x0001bd20 - 19cf8: 00002995 .word 0x00002995 - 19cfc: 000197b9 .word 0x000197b9 - 19d00: 0001990d .word 0x0001990d - 19d04: 00005425 .word 0x00005425 - 19d08: 00004d29 .word 0x00004d29 - 19d0c: 000199b1 .word 0x000199b1 - 19d10: 20000064 .word 0x20000064 - 19d14: 00014359 .word 0x00014359 - 19d18: 20000068 .word 0x20000068 - 19d1c: 00010609 .word 0x00010609 - 19d20: 00014311 .word 0x00014311 - 19d24: 00004b5d .word 0x00004b5d - 19d28: 00014585 .word 0x00014585 - 19d2c: 20000058 .word 0x20000058 - -00019d30 : -{ - 19d30: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 19d34: b099 sub sp, #100 ; 0x64 - 19d36: 4604 mov r4, r0 + 1a2b0: 46a9 mov r9, r5 + 1a2b2: e747 b.n 1a144 + 1a2b4: 000022b1 .word 0x000022b1 + 1a2b8: 00029860 .word 0x00029860 + 1a2bc: 00029994 .word 0x00029994 + 1a2c0: 0001225d .word 0x0001225d + 1a2c4: 0002483c .word 0x0002483c + 1a2c8: 000022b9 .word 0x000022b9 + 1a2cc: 00019d89 .word 0x00019d89 + 1a2d0: 00019edd .word 0x00019edd + 1a2d4: 00004d9d .word 0x00004d9d + 1a2d8: 000046a1 .word 0x000046a1 + 1a2dc: 00019f81 .word 0x00019f81 + 1a2e0: 20000064 .word 0x20000064 + 1a2e4: 00013db1 .word 0x00013db1 + 1a2e8: 20000068 .word 0x20000068 + 1a2ec: 00010061 .word 0x00010061 + 1a2f0: 00013d69 .word 0x00013d69 + 1a2f4: 000044d5 .word 0x000044d5 + 1a2f8: 00013fdd .word 0x00013fdd + 1a2fc: 20000058 .word 0x20000058 + +0001a300 : +{ + 1a300: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 1a304: b099 sub sp, #100 ; 0x64 + 1a306: 4604 mov r4, r0 lv_label_ext_t * ext = lv_obj_get_ext_attr(label); - 19d38: 4baf ldr r3, [pc, #700] ; (19ff8 ) - 19d3a: 4798 blx r3 + 1a308: 4baf ldr r3, [pc, #700] ; (1a5c8 ) + 1a30a: 4798 blx r3 if(ext->text == NULL) return; - 19d3c: 6803 ldr r3, [r0, #0] - 19d3e: 2b00 cmp r3, #0 - 19d40: d048 beq.n 19dd4 - 19d42: 4605 mov r5, r0 + 1a30c: 6803 ldr r3, [r0, #0] + 1a30e: 2b00 cmp r3, #0 + 1a310: d048 beq.n 1a3a4 + 1a312: 4605 mov r5, r0 get_txt_coords(label, &txt_coords); - 19d44: a916 add r1, sp, #88 ; 0x58 - 19d46: 4620 mov r0, r4 - 19d48: 4bac ldr r3, [pc, #688] ; (19ffc ) - 19d4a: 4798 blx r3 - 19d4c: f8bd 605c ldrh.w r6, [sp, #92] ; 0x5c - 19d50: 3601 adds r6, #1 - 19d52: f8bd 3058 ldrh.w r3, [sp, #88] ; 0x58 - 19d56: 1af6 subs r6, r6, r3 - 19d58: b236 sxth r6, r6 + 1a314: a916 add r1, sp, #88 ; 0x58 + 1a316: 4620 mov r0, r4 + 1a318: 4bac ldr r3, [pc, #688] ; (1a5cc ) + 1a31a: 4798 blx r3 + 1a31c: f8bd 605c ldrh.w r6, [sp, #92] ; 0x5c + 1a320: 3601 adds r6, #1 + 1a322: f8bd 3058 ldrh.w r3, [sp, #88] ; 0x58 + 1a326: 1af6 subs r6, r6, r3 + 1a328: b236 sxth r6, r6 _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_FONT, text_font, const lv_font_t *, _ptr, scalar) - 19d5a: f248 028e movw r2, #32910 ; 0x808e - 19d5e: 2100 movs r1, #0 - 19d60: 4620 mov r0, r4 - 19d62: 4ba7 ldr r3, [pc, #668] ; (1a000 ) - 19d64: 4798 blx r3 - 19d66: 4680 mov r8, r0 + 1a32a: f248 028e movw r2, #32910 ; 0x808e + 1a32e: 2100 movs r1, #0 + 1a330: 4620 mov r0, r4 + 1a332: 4ba7 ldr r3, [pc, #668] ; (1a5d0 ) + 1a334: 4798 blx r3 + 1a336: 4680 mov r8, r0 _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_LINE_SPACE, text_line_space, lv_style_int_t, _int, scalar) - 19d68: f248 0281 movw r2, #32897 ; 0x8081 - 19d6c: 2100 movs r1, #0 - 19d6e: 4620 mov r0, r4 - 19d70: 4fa4 ldr r7, [pc, #656] ; (1a004 ) - 19d72: 47b8 blx r7 - 19d74: 4681 mov r9, r0 + 1a338: f248 0281 movw r2, #32897 ; 0x8081 + 1a33c: 2100 movs r1, #0 + 1a33e: 4620 mov r0, r4 + 1a340: 4fa4 ldr r7, [pc, #656] ; (1a5d4 ) + 1a342: 47b8 blx r7 + 1a344: 4681 mov r9, r0 _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_LETTER_SPACE, text_letter_space, lv_style_int_t, _int, scalar) - 19d76: f248 0280 movw r2, #32896 ; 0x8080 - 19d7a: 2100 movs r1, #0 - 19d7c: 4620 mov r0, r4 - 19d7e: 47b8 blx r7 - 19d80: 4607 mov r7, r0 + 1a346: f248 0280 movw r2, #32896 ; 0x8080 + 1a34a: 2100 movs r1, #0 + 1a34c: 4620 mov r0, r4 + 1a34e: 47b8 blx r7 + 1a350: 4607 mov r7, r0 if(ext->recolor != 0) flag |= LV_TXT_FLAG_RECOLOR; - 19d82: 7c2b ldrb r3, [r5, #16] + 1a352: 7c2b ldrb r3, [r5, #16] lv_txt_flag_t flag = LV_TXT_FLAG_NONE; - 19d84: f3c3 1280 ubfx r2, r3, #6, #1 + 1a354: f3c3 1280 ubfx r2, r3, #6, #1 if(ext->expand != 0) flag |= LV_TXT_FLAG_EXPAND; - 19d88: f013 0f80 tst.w r3, #128 ; 0x80 - 19d8c: bf18 it ne - 19d8e: f042 0202 orrne.w r2, r2, #2 + 1a358: f013 0f80 tst.w r3, #128 ; 0x80 + 1a35c: bf18 it ne + 1a35e: f042 0202 orrne.w r2, r2, #2 if(ext->long_mode == LV_LABEL_LONG_EXPAND) flag |= LV_TXT_FLAG_FIT; - 19d92: f013 0f07 tst.w r3, #7 - 19d96: bf08 it eq - 19d98: f042 0210 orreq.w r2, r2, #16 + 1a362: f013 0f07 tst.w r3, #7 + 1a366: bf08 it eq + 1a368: f042 0210 orreq.w r2, r2, #16 _lv_txt_get_size(&size, ext->text, font, letter_space, line_space, max_w, flag); - 19d9c: 6829 ldr r1, [r5, #0] - 19d9e: 9202 str r2, [sp, #8] - 19da0: 9601 str r6, [sp, #4] - 19da2: f8cd 9000 str.w r9, [sp] - 19da6: 4603 mov r3, r0 - 19da8: 4642 mov r2, r8 - 19daa: a815 add r0, sp, #84 ; 0x54 - 19dac: 4e96 ldr r6, [pc, #600] ; (1a008 ) - 19dae: 47b0 blx r6 + 1a36c: 6829 ldr r1, [r5, #0] + 1a36e: 9202 str r2, [sp, #8] + 1a370: 9601 str r6, [sp, #4] + 1a372: f8cd 9000 str.w r9, [sp] + 1a376: 4603 mov r3, r0 + 1a378: 4642 mov r2, r8 + 1a37a: a815 add r0, sp, #84 ; 0x54 + 1a37c: 4e96 ldr r6, [pc, #600] ; (1a5d8 ) + 1a37e: 47b0 blx r6 if(ext->long_mode == LV_LABEL_LONG_EXPAND) { - 19db0: 7c2b ldrb r3, [r5, #16] - 19db2: f013 0307 ands.w r3, r3, #7 - 19db6: d010 beq.n 19dda + 1a380: 7c2b ldrb r3, [r5, #16] + 1a382: f013 0307 ands.w r3, r3, #7 + 1a386: d010 beq.n 1a3aa else if(ext->long_mode == LV_LABEL_LONG_SROLL) { - 19db8: 2b03 cmp r3, #3 - 19dba: d034 beq.n 19e26 + 1a388: 2b03 cmp r3, #3 + 1a38a: d034 beq.n 1a3f6 else if(ext->long_mode == LV_LABEL_LONG_SROLL_CIRC) { - 19dbc: 2b04 cmp r3, #4 - 19dbe: f000 80d7 beq.w 19f70 + 1a38c: 2b04 cmp r3, #4 + 1a38e: f000 80d7 beq.w 1a540 else if(ext->long_mode == LV_LABEL_LONG_DOT) { - 19dc2: 2b02 cmp r3, #2 - 19dc4: f000 816d beq.w 1a0a2 + 1a392: 2b02 cmp r3, #2 + 1a394: f000 816d beq.w 1a672 else if(ext->long_mode == LV_LABEL_LONG_BREAK) { - 19dc8: 2b01 cmp r3, #1 - 19dca: f000 81fe beq.w 1a1ca + 1a398: 2b01 cmp r3, #1 + 1a39a: f000 81fe beq.w 1a79a lv_obj_invalidate(label); - 19dce: 4620 mov r0, r4 - 19dd0: 4b8e ldr r3, [pc, #568] ; (1a00c ) - 19dd2: 4798 blx r3 + 1a39e: 4620 mov r0, r4 + 1a3a0: 4b8e ldr r3, [pc, #568] ; (1a5dc ) + 1a3a2: 4798 blx r3 } - 19dd4: b019 add sp, #100 ; 0x64 - 19dd6: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 1a3a4: b019 add sp, #100 ; 0x64 + 1a3a6: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 19dda: 2212 movs r2, #18 - 19ddc: 2100 movs r1, #0 - 19dde: 4620 mov r0, r4 - 19de0: 4e88 ldr r6, [pc, #544] ; (1a004 ) - 19de2: 47b0 blx r6 - 19de4: 4605 mov r5, r0 + 1a3aa: 2212 movs r2, #18 + 1a3ac: 2100 movs r1, #0 + 1a3ae: 4620 mov r0, r4 + 1a3b0: 4e88 ldr r6, [pc, #544] ; (1a5d4 ) + 1a3b2: 47b0 blx r6 + 1a3b4: 4605 mov r5, r0 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 19de6: 2213 movs r2, #19 - 19de8: 2100 movs r1, #0 - 19dea: 4620 mov r0, r4 - 19dec: 47b0 blx r6 + 1a3b6: 2213 movs r2, #19 + 1a3b8: 2100 movs r1, #0 + 1a3ba: 4620 mov r0, r4 + 1a3bc: 47b0 blx r6 size.x += lv_obj_get_style_pad_left(label, LV_LABEL_PART_MAIN) + lv_obj_get_style_pad_right(label, LV_LABEL_PART_MAIN); - 19dee: 4428 add r0, r5 - 19df0: f8bd 5054 ldrh.w r5, [sp, #84] ; 0x54 - 19df4: 4428 add r0, r5 - 19df6: f8ad 0054 strh.w r0, [sp, #84] ; 0x54 + 1a3be: 4428 add r0, r5 + 1a3c0: f8bd 5054 ldrh.w r5, [sp, #84] ; 0x54 + 1a3c4: 4428 add r0, r5 + 1a3c6: f8ad 0054 strh.w r0, [sp, #84] ; 0x54 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) - 19dfa: 2210 movs r2, #16 - 19dfc: 2100 movs r1, #0 - 19dfe: 4620 mov r0, r4 - 19e00: 47b0 blx r6 - 19e02: 4605 mov r5, r0 + 1a3ca: 2210 movs r2, #16 + 1a3cc: 2100 movs r1, #0 + 1a3ce: 4620 mov r0, r4 + 1a3d0: 47b0 blx r6 + 1a3d2: 4605 mov r5, r0 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) - 19e04: 2211 movs r2, #17 - 19e06: 2100 movs r1, #0 - 19e08: 4620 mov r0, r4 - 19e0a: 47b0 blx r6 + 1a3d4: 2211 movs r2, #17 + 1a3d6: 2100 movs r1, #0 + 1a3d8: 4620 mov r0, r4 + 1a3da: 47b0 blx r6 size.y += lv_obj_get_style_pad_top(label, LV_LABEL_PART_MAIN) + lv_obj_get_style_pad_bottom(label, LV_LABEL_PART_MAIN); - 19e0c: 182a adds r2, r5, r0 - 19e0e: f8bd 0056 ldrh.w r0, [sp, #86] ; 0x56 - 19e12: 4402 add r2, r0 - 19e14: b212 sxth r2, r2 - 19e16: f8ad 2056 strh.w r2, [sp, #86] ; 0x56 + 1a3dc: 182a adds r2, r5, r0 + 1a3de: f8bd 0056 ldrh.w r0, [sp, #86] ; 0x56 + 1a3e2: 4402 add r2, r0 + 1a3e4: b212 sxth r2, r2 + 1a3e6: f8ad 2056 strh.w r2, [sp, #86] ; 0x56 lv_obj_set_size(label, size.x, size.y); - 19e1a: f9bd 1054 ldrsh.w r1, [sp, #84] ; 0x54 - 19e1e: 4620 mov r0, r4 - 19e20: 4b7b ldr r3, [pc, #492] ; (1a010 ) - 19e22: 4798 blx r3 - 19e24: e7d3 b.n 19dce + 1a3ea: f9bd 1054 ldrsh.w r1, [sp, #84] ; 0x54 + 1a3ee: 4620 mov r0, r4 + 1a3f0: 4b7b ldr r3, [pc, #492] ; (1a5e0 ) + 1a3f2: 4798 blx r3 + 1a3f4: e7d3 b.n 1a39e lv_anim_init(&a); - 19e26: a805 add r0, sp, #20 - 19e28: 4b7a ldr r3, [pc, #488] ; (1a014 ) - 19e2a: 4798 blx r3 + 1a3f6: a805 add r0, sp, #20 + 1a3f8: 4b7a ldr r3, [pc, #488] ; (1a5e4 ) + 1a3fa: 4798 blx r3 * @param a pointer to an initialized `lv_anim_t` variable * @param var pointer to a variable to animate */ static inline void lv_anim_set_var(lv_anim_t * a, void * var) { a->var = var; - 19e2c: 9405 str r4, [sp, #20] + 1a3fc: 9405 str r4, [sp, #20] * @param a pointer to an initialized `lv_anim_t` variable * @param cnt repeat count or `LV_ANIM_REPEAT_INFINITE` for infinite repetition. 0: to disable repetition. */ static inline void lv_anim_set_repeat_count(lv_anim_t * a, uint16_t cnt) { a->repeat_cnt = cnt; - 19e2e: f64f 73ff movw r3, #65535 ; 0xffff - 19e32: f8ad 3048 strh.w r3, [sp, #72] ; 0x48 + 1a3fe: f64f 73ff movw r3, #65535 ; 0xffff + 1a402: f8ad 3048 strh.w r3, [sp, #72] ; 0x48 lv_anim_set_playback_delay(&a, (((lv_font_get_glyph_width(font, ' ', ' ') + letter_space) * 1000) / - 19e36: 2220 movs r2, #32 - 19e38: 4611 mov r1, r2 - 19e3a: 4640 mov r0, r8 - 19e3c: 4b76 ldr r3, [pc, #472] ; (1a018 ) - 19e3e: 4798 blx r3 - 19e40: 4438 add r0, r7 - 19e42: f44f 737a mov.w r3, #1000 ; 0x3e8 - 19e46: fb03 f300 mul.w r3, r3, r0 + 1a406: 2220 movs r2, #32 + 1a408: 4611 mov r1, r2 + 1a40a: 4640 mov r0, r8 + 1a40c: 4b76 ldr r3, [pc, #472] ; (1a5e8 ) + 1a40e: 4798 blx r3 + 1a410: 4438 add r0, r7 + 1a412: f44f 737a mov.w r3, #1000 ; 0x3e8 + 1a416: fb03 f300 mul.w r3, r3, r0 ext->anim_speed) * - 19e4a: 8968 ldrh r0, [r5, #10] + 1a41a: 8968 ldrh r0, [r5, #10] lv_anim_set_playback_delay(&a, (((lv_font_get_glyph_width(font, ' ', ' ') + letter_space) * 1000) / - 19e4c: fb93 f3f0 sdiv r3, r3, r0 - 19e50: eb03 0343 add.w r3, r3, r3, lsl #1 + 1a41c: fb93 f3f0 sdiv r3, r3, r0 + 1a420: eb03 0343 add.w r3, r3, r3, lsl #1 a->playback_delay = delay; - 19e54: b29b uxth r3, r3 - 19e56: 930f str r3, [sp, #60] ; 0x3c + 1a424: b29b uxth r3, r3 + 1a426: 930f str r3, [sp, #60] ; 0x3c * @param a pointer to an initialized `lv_anim_t` variable * @param delay delay in milliseconds before repeating the animation. */ static inline void lv_anim_set_repeat_delay(lv_anim_t * a, uint16_t delay) { a->repeat_delay = delay; - 19e58: 9311 str r3, [sp, #68] ; 0x44 + 1a428: 9311 str r3, [sp, #68] ; 0x44 if(size.x > lv_area_get_width(&txt_coords)) { - 19e5a: f9bd 2054 ldrsh.w r2, [sp, #84] ; 0x54 - 19e5e: f8bd 305c ldrh.w r3, [sp, #92] ; 0x5c - 19e62: 3301 adds r3, #1 - 19e64: f8bd 1058 ldrh.w r1, [sp, #88] ; 0x58 - 19e68: 1a5b subs r3, r3, r1 - 19e6a: b29b uxth r3, r3 - 19e6c: b219 sxth r1, r3 - 19e6e: 428a cmp r2, r1 - 19e70: dd37 ble.n 19ee2 + 1a42a: f9bd 2054 ldrsh.w r2, [sp, #84] ; 0x54 + 1a42e: f8bd 305c ldrh.w r3, [sp, #92] ; 0x5c + 1a432: 3301 adds r3, #1 + 1a434: f8bd 1058 ldrh.w r1, [sp, #88] ; 0x58 + 1a438: 1a5b subs r3, r3, r1 + 1a43a: b29b uxth r3, r3 + 1a43c: b219 sxth r1, r3 + 1a43e: 428a cmp r2, r1 + 1a440: dd37 ble.n 1a4b2 lv_anim_set_values(&a, 0, lv_area_get_width(&txt_coords) - size.x); - 19e72: 1a9b subs r3, r3, r2 - 19e74: b21a sxth r2, r3 + 1a442: 1a9b subs r3, r3, r2 + 1a444: b21a sxth r2, r3 a->start = start; - 19e76: 2100 movs r1, #0 - 19e78: 910b str r1, [sp, #44] ; 0x2c + 1a446: 2100 movs r1, #0 + 1a448: 910b str r1, [sp, #44] ; 0x2c a->end = end; - 19e7a: 920c str r2, [sp, #48] ; 0x30 + 1a44a: 920c str r2, [sp, #48] ; 0x30 a->exec_cb = exec_cb; - 19e7c: 4e67 ldr r6, [pc, #412] ; (1a01c ) - 19e7e: 9606 str r6, [sp, #24] + 1a44c: 4e67 ldr r6, [pc, #412] ; (1a5ec ) + 1a44e: 9606 str r6, [sp, #24] lv_anim_set_time(&a, lv_anim_speed_to_time(ext->anim_speed, a.start, a.end)); - 19e80: 8968 ldrh r0, [r5, #10] - 19e82: 4b67 ldr r3, [pc, #412] ; (1a020 ) - 19e84: 4798 blx r3 + 1a450: 8968 ldrh r0, [r5, #10] + 1a452: 4b67 ldr r3, [pc, #412] ; (1a5f0 ) + 1a454: 4798 blx r3 a->time = duration; - 19e86: 900d str r0, [sp, #52] ; 0x34 - 19e88: 9010 str r0, [sp, #64] ; 0x40 + 1a456: 900d str r0, [sp, #52] ; 0x34 + 1a458: 9010 str r0, [sp, #64] ; 0x40 lv_anim_t * anim_cur = lv_anim_get(label, (lv_anim_exec_xcb_t)lv_label_set_offset_x); - 19e8a: 4631 mov r1, r6 - 19e8c: 4620 mov r0, r4 - 19e8e: 4b65 ldr r3, [pc, #404] ; (1a024 ) - 19e90: 4798 blx r3 + 1a45a: 4631 mov r1, r6 + 1a45c: 4620 mov r0, r4 + 1a45e: 4b65 ldr r3, [pc, #404] ; (1a5f4 ) + 1a460: 4798 blx r3 if(anim_cur) { - 19e92: b318 cbz r0, 19edc + 1a462: b318 cbz r0, 1a4ac act_time = anim_cur->act_time; - 19e94: 6a42 ldr r2, [r0, #36] ; 0x24 + 1a464: 6a42 ldr r2, [r0, #36] ; 0x24 playback_now = anim_cur->playback_now; - 19e96: f890 303c ldrb.w r3, [r0, #60] ; 0x3c - 19e9a: f003 0301 and.w r3, r3, #1 + 1a466: f890 303c ldrb.w r3, [r0, #60] ; 0x3c + 1a46a: f003 0301 and.w r3, r3, #1 if(act_time < a.time) { - 19e9e: 990d ldr r1, [sp, #52] ; 0x34 - 19ea0: 428a cmp r2, r1 - 19ea2: da11 bge.n 19ec8 + 1a46e: 990d ldr r1, [sp, #52] ; 0x34 + 1a470: 428a cmp r2, r1 + 1a472: da11 bge.n 1a498 a.act_time = act_time; /*To keep the old position*/ - 19ea4: 920e str r2, [sp, #56] ; 0x38 + 1a474: 920e str r2, [sp, #56] ; 0x38 a.early_apply = 0; - 19ea6: f89d 204a ldrb.w r2, [sp, #74] ; 0x4a - 19eaa: f36f 0200 bfc r2, #0, #1 - 19eae: f88d 204a strb.w r2, [sp, #74] ; 0x4a + 1a476: f89d 204a ldrb.w r2, [sp, #74] ; 0x4a + 1a47a: f36f 0200 bfc r2, #0, #1 + 1a47e: f88d 204a strb.w r2, [sp, #74] ; 0x4a if(playback_now) { - 19eb2: b14b cbz r3, 19ec8 + 1a482: b14b cbz r3, 1a498 a.playback_now = 1; - 19eb4: f89d 3050 ldrb.w r3, [sp, #80] ; 0x50 - 19eb8: f043 0301 orr.w r3, r3, #1 - 19ebc: f88d 3050 strb.w r3, [sp, #80] ; 0x50 + 1a484: f89d 3050 ldrb.w r3, [sp, #80] ; 0x50 + 1a488: f043 0301 orr.w r3, r3, #1 + 1a48c: f88d 3050 strb.w r3, [sp, #80] ; 0x50 tmp = a.start; - 19ec0: 9b0b ldr r3, [sp, #44] ; 0x2c + 1a490: 9b0b ldr r3, [sp, #44] ; 0x2c a.start = a.end; - 19ec2: 9a0c ldr r2, [sp, #48] ; 0x30 - 19ec4: 920b str r2, [sp, #44] ; 0x2c + 1a492: 9a0c ldr r2, [sp, #48] ; 0x30 + 1a494: 920b str r2, [sp, #44] ; 0x2c a.end = tmp; - 19ec6: 930c str r3, [sp, #48] ; 0x30 + 1a496: 930c str r3, [sp, #48] ; 0x30 lv_anim_start(&a); - 19ec8: a805 add r0, sp, #20 - 19eca: 4b57 ldr r3, [pc, #348] ; (1a028 ) - 19ecc: 4798 blx r3 + 1a498: a805 add r0, sp, #20 + 1a49a: 4b57 ldr r3, [pc, #348] ; (1a5f8 ) + 1a49c: 4798 blx r3 lv_anim_del(label, (lv_anim_exec_xcb_t)lv_label_set_offset_y); - 19ece: 4957 ldr r1, [pc, #348] ; (1a02c ) - 19ed0: 4620 mov r0, r4 - 19ed2: 4b57 ldr r3, [pc, #348] ; (1a030 ) - 19ed4: 4798 blx r3 + 1a49e: 4957 ldr r1, [pc, #348] ; (1a5fc ) + 1a4a0: 4620 mov r0, r4 + 1a4a2: 4b57 ldr r3, [pc, #348] ; (1a600 ) + 1a4a4: 4798 blx r3 ext->offset.y = 0; - 19ed6: 2300 movs r3, #0 - 19ed8: 81eb strh r3, [r5, #14] - 19eda: e778 b.n 19dce + 1a4a6: 2300 movs r3, #0 + 1a4a8: 81eb strh r3, [r5, #14] + 1a4aa: e778 b.n 1a39e bool playback_now = false; - 19edc: 2300 movs r3, #0 + 1a4ac: 2300 movs r3, #0 int32_t act_time = 0; - 19ede: 461a mov r2, r3 - 19ee0: e7dd b.n 19e9e + 1a4ae: 461a mov r2, r3 + 1a4b0: e7dd b.n 1a46e lv_anim_del(label, (lv_anim_exec_xcb_t)lv_label_set_offset_x); - 19ee2: 494e ldr r1, [pc, #312] ; (1a01c ) - 19ee4: 4620 mov r0, r4 - 19ee6: 4b52 ldr r3, [pc, #328] ; (1a030 ) - 19ee8: 4798 blx r3 + 1a4b2: 494e ldr r1, [pc, #312] ; (1a5ec ) + 1a4b4: 4620 mov r0, r4 + 1a4b6: 4b52 ldr r3, [pc, #328] ; (1a600 ) + 1a4b8: 4798 blx r3 ext->offset.x = 0; - 19eea: 2300 movs r3, #0 - 19eec: 81ab strh r3, [r5, #12] + 1a4ba: 2300 movs r3, #0 + 1a4bc: 81ab strh r3, [r5, #12] if(size.y > lv_area_get_height(&txt_coords) && hor_anim == false) { - 19eee: f9bd 2056 ldrsh.w r2, [sp, #86] ; 0x56 - * @param area_p pointer to an area - * @return the height of the area (if y1 == y2 -> height = 1) - */ -static inline lv_coord_t lv_area_get_height(const lv_area_t * area_p) -{ + 1a4be: f9bd 2056 ldrsh.w r2, [sp, #86] ; 0x56 return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - 19ef2: f8bd 305e ldrh.w r3, [sp, #94] ; 0x5e - 19ef6: 3301 adds r3, #1 - 19ef8: f8bd 105a ldrh.w r1, [sp, #90] ; 0x5a - 19efc: 1a5b subs r3, r3, r1 - 19efe: b29b uxth r3, r3 - 19f00: b219 sxth r1, r3 - 19f02: 428a cmp r2, r1 - 19f04: dde3 ble.n 19ece + 1a4c2: f8bd 305e ldrh.w r3, [sp, #94] ; 0x5e + 1a4c6: 3301 adds r3, #1 + 1a4c8: f8bd 105a ldrh.w r1, [sp, #90] ; 0x5a + 1a4cc: 1a5b subs r3, r3, r1 + 1a4ce: b29b uxth r3, r3 + 1a4d0: b219 sxth r1, r3 + 1a4d2: 428a cmp r2, r1 + 1a4d4: dde3 ble.n 1a49e lv_anim_set_values(&a, 0, lv_area_get_height(&txt_coords) - size.y - (lv_font_get_line_height(font))); - 19f06: 1a9a subs r2, r3, r2 - 19f08: f8b8 3008 ldrh.w r3, [r8, #8] - 19f0c: 1ad2 subs r2, r2, r3 - 19f0e: b212 sxth r2, r2 + 1a4d6: 1a9a subs r2, r3, r2 + 1a4d8: f8b8 3008 ldrh.w r3, [r8, #8] + 1a4dc: 1ad2 subs r2, r2, r3 + 1a4de: b212 sxth r2, r2 a->start = start; - 19f10: 2100 movs r1, #0 - 19f12: 910b str r1, [sp, #44] ; 0x2c + 1a4e0: 2100 movs r1, #0 + 1a4e2: 910b str r1, [sp, #44] ; 0x2c a->end = end; - 19f14: 920c str r2, [sp, #48] ; 0x30 + 1a4e4: 920c str r2, [sp, #48] ; 0x30 a->exec_cb = exec_cb; - 19f16: 4e45 ldr r6, [pc, #276] ; (1a02c ) - 19f18: 9606 str r6, [sp, #24] + 1a4e6: 4e45 ldr r6, [pc, #276] ; (1a5fc ) + 1a4e8: 9606 str r6, [sp, #24] lv_anim_set_time(&a, lv_anim_speed_to_time(ext->anim_speed, a.start, a.end)); - 19f1a: 8968 ldrh r0, [r5, #10] - 19f1c: 4b40 ldr r3, [pc, #256] ; (1a020 ) - 19f1e: 4798 blx r3 + 1a4ea: 8968 ldrh r0, [r5, #10] + 1a4ec: 4b40 ldr r3, [pc, #256] ; (1a5f0 ) + 1a4ee: 4798 blx r3 a->time = duration; - 19f20: 900d str r0, [sp, #52] ; 0x34 - 19f22: 9010 str r0, [sp, #64] ; 0x40 + 1a4f0: 900d str r0, [sp, #52] ; 0x34 + 1a4f2: 9010 str r0, [sp, #64] ; 0x40 lv_anim_t * anim_cur = lv_anim_get(label, (lv_anim_exec_xcb_t)lv_label_set_offset_y); - 19f24: 4631 mov r1, r6 - 19f26: 4620 mov r0, r4 - 19f28: 4b3e ldr r3, [pc, #248] ; (1a024 ) - 19f2a: 4798 blx r3 + 1a4f4: 4631 mov r1, r6 + 1a4f6: 4620 mov r0, r4 + 1a4f8: 4b3e ldr r3, [pc, #248] ; (1a5f4 ) + 1a4fa: 4798 blx r3 if(anim_cur) { - 19f2c: b1e8 cbz r0, 19f6a + 1a4fc: b1e8 cbz r0, 1a53a act_time = anim_cur->act_time; - 19f2e: 6a42 ldr r2, [r0, #36] ; 0x24 + 1a4fe: 6a42 ldr r2, [r0, #36] ; 0x24 playback_now = anim_cur->playback_now; - 19f30: f890 303c ldrb.w r3, [r0, #60] ; 0x3c - 19f34: f003 0301 and.w r3, r3, #1 + 1a500: f890 303c ldrb.w r3, [r0, #60] ; 0x3c + 1a504: f003 0301 and.w r3, r3, #1 if(act_time < a.time) { - 19f38: 990d ldr r1, [sp, #52] ; 0x34 - 19f3a: 428a cmp r2, r1 - 19f3c: da11 bge.n 19f62 + 1a508: 990d ldr r1, [sp, #52] ; 0x34 + 1a50a: 428a cmp r2, r1 + 1a50c: da11 bge.n 1a532 a.act_time = act_time; /*To keep the old position*/ - 19f3e: 920e str r2, [sp, #56] ; 0x38 + 1a50e: 920e str r2, [sp, #56] ; 0x38 a.early_apply = 0; - 19f40: f89d 204a ldrb.w r2, [sp, #74] ; 0x4a - 19f44: f36f 0200 bfc r2, #0, #1 - 19f48: f88d 204a strb.w r2, [sp, #74] ; 0x4a + 1a510: f89d 204a ldrb.w r2, [sp, #74] ; 0x4a + 1a514: f36f 0200 bfc r2, #0, #1 + 1a518: f88d 204a strb.w r2, [sp, #74] ; 0x4a if(playback_now) { - 19f4c: b14b cbz r3, 19f62 + 1a51c: b14b cbz r3, 1a532 a.playback_now = 1; - 19f4e: f89d 3050 ldrb.w r3, [sp, #80] ; 0x50 - 19f52: f043 0301 orr.w r3, r3, #1 - 19f56: f88d 3050 strb.w r3, [sp, #80] ; 0x50 + 1a51e: f89d 3050 ldrb.w r3, [sp, #80] ; 0x50 + 1a522: f043 0301 orr.w r3, r3, #1 + 1a526: f88d 3050 strb.w r3, [sp, #80] ; 0x50 tmp = a.start; - 19f5a: 9b0b ldr r3, [sp, #44] ; 0x2c + 1a52a: 9b0b ldr r3, [sp, #44] ; 0x2c a.start = a.end; - 19f5c: 9a0c ldr r2, [sp, #48] ; 0x30 - 19f5e: 920b str r2, [sp, #44] ; 0x2c + 1a52c: 9a0c ldr r2, [sp, #48] ; 0x30 + 1a52e: 920b str r2, [sp, #44] ; 0x2c a.end = tmp; - 19f60: 930c str r3, [sp, #48] ; 0x30 + 1a530: 930c str r3, [sp, #48] ; 0x30 lv_anim_start(&a); - 19f62: a805 add r0, sp, #20 - 19f64: 4b30 ldr r3, [pc, #192] ; (1a028 ) - 19f66: 4798 blx r3 + 1a532: a805 add r0, sp, #20 + 1a534: 4b30 ldr r3, [pc, #192] ; (1a5f8 ) + 1a536: 4798 blx r3 if(size.y > lv_area_get_height(&txt_coords) && hor_anim == false) { - 19f68: e731 b.n 19dce + 1a538: e731 b.n 1a39e bool playback_now = false; - 19f6a: 2300 movs r3, #0 + 1a53a: 2300 movs r3, #0 int32_t act_time = 0; - 19f6c: 461a mov r2, r3 - 19f6e: e7e3 b.n 19f38 + 1a53c: 461a mov r2, r3 + 1a53e: e7e3 b.n 1a508 lv_anim_init(&a); - 19f70: a805 add r0, sp, #20 - 19f72: 4b28 ldr r3, [pc, #160] ; (1a014 ) - 19f74: 4798 blx r3 + 1a540: a805 add r0, sp, #20 + 1a542: 4b28 ldr r3, [pc, #160] ; (1a5e4 ) + 1a544: 4798 blx r3 a->var = var; - 19f76: 9405 str r4, [sp, #20] + 1a546: 9405 str r4, [sp, #20] a->repeat_cnt = cnt; - 19f78: f64f 73ff movw r3, #65535 ; 0xffff - 19f7c: f8ad 3048 strh.w r3, [sp, #72] ; 0x48 + 1a548: f64f 73ff movw r3, #65535 ; 0xffff + 1a54c: f8ad 3048 strh.w r3, [sp, #72] ; 0x48 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - 19f80: f8bd 305c ldrh.w r3, [sp, #92] ; 0x5c - 19f84: 3301 adds r3, #1 - 19f86: f8bd 2058 ldrh.w r2, [sp, #88] ; 0x58 - 19f8a: 1a9b subs r3, r3, r2 + 1a550: f8bd 305c ldrh.w r3, [sp, #92] ; 0x5c + 1a554: 3301 adds r3, #1 + 1a556: f8bd 2058 ldrh.w r2, [sp, #88] ; 0x58 + 1a55a: 1a9b subs r3, r3, r2 if(size.x > lv_area_get_width(&txt_coords)) { - 19f8c: f9bd 2054 ldrsh.w r2, [sp, #84] ; 0x54 - 19f90: b21b sxth r3, r3 - 19f92: 429a cmp r2, r3 - 19f94: dd50 ble.n 1a038 + 1a55c: f9bd 2054 ldrsh.w r2, [sp, #84] ; 0x54 + 1a560: b21b sxth r3, r3 + 1a562: 429a cmp r2, r3 + 1a564: dd50 ble.n 1a608 lv_anim_set_values(&a, 0, -size.x - lv_font_get_glyph_width(font, ' ', ' ') * LV_LABEL_WAIT_CHAR_COUNT); - 19f96: 2220 movs r2, #32 - 19f98: 4611 mov r1, r2 - 19f9a: 4640 mov r0, r8 - 19f9c: 4b1e ldr r3, [pc, #120] ; (1a018 ) - 19f9e: 4798 blx r3 - 19fa0: ebc0 3380 rsb r3, r0, r0, lsl #14 - 19fa4: eb00 0283 add.w r2, r0, r3, lsl #2 - 19fa8: f8bd 3054 ldrh.w r3, [sp, #84] ; 0x54 - 19fac: 1ad2 subs r2, r2, r3 - 19fae: b212 sxth r2, r2 + 1a566: 2220 movs r2, #32 + 1a568: 4611 mov r1, r2 + 1a56a: 4640 mov r0, r8 + 1a56c: 4b1e ldr r3, [pc, #120] ; (1a5e8 ) + 1a56e: 4798 blx r3 + 1a570: ebc0 3380 rsb r3, r0, r0, lsl #14 + 1a574: eb00 0283 add.w r2, r0, r3, lsl #2 + 1a578: f8bd 3054 ldrh.w r3, [sp, #84] ; 0x54 + 1a57c: 1ad2 subs r2, r2, r3 + 1a57e: b212 sxth r2, r2 a->start = start; - 19fb0: 2100 movs r1, #0 - 19fb2: 910b str r1, [sp, #44] ; 0x2c + 1a580: 2100 movs r1, #0 + 1a582: 910b str r1, [sp, #44] ; 0x2c a->end = end; - 19fb4: 920c str r2, [sp, #48] ; 0x30 + 1a584: 920c str r2, [sp, #48] ; 0x30 a->exec_cb = exec_cb; - 19fb6: 4e19 ldr r6, [pc, #100] ; (1a01c ) - 19fb8: 9606 str r6, [sp, #24] + 1a586: 4e19 ldr r6, [pc, #100] ; (1a5ec ) + 1a588: 9606 str r6, [sp, #24] lv_anim_set_time(&a, lv_anim_speed_to_time(ext->anim_speed, a.start, a.end)); - 19fba: 8968 ldrh r0, [r5, #10] - 19fbc: 4b18 ldr r3, [pc, #96] ; (1a020 ) - 19fbe: 4798 blx r3 + 1a58a: 8968 ldrh r0, [r5, #10] + 1a58c: 4b18 ldr r3, [pc, #96] ; (1a5f0 ) + 1a58e: 4798 blx r3 a->time = duration; - 19fc0: 900d str r0, [sp, #52] ; 0x34 + 1a590: 900d str r0, [sp, #52] ; 0x34 lv_anim_t * anim_cur = lv_anim_get(label, (lv_anim_exec_xcb_t)lv_label_set_offset_x); - 19fc2: 4631 mov r1, r6 - 19fc4: 4620 mov r0, r4 - 19fc6: 4b17 ldr r3, [pc, #92] ; (1a024 ) - 19fc8: 4798 blx r3 + 1a592: 4631 mov r1, r6 + 1a594: 4620 mov r0, r4 + 1a596: 4b17 ldr r3, [pc, #92] ; (1a5f4 ) + 1a598: 4798 blx r3 int32_t act_time = anim_cur ? anim_cur->act_time : 0; - 19fca: 2800 cmp r0, #0 - 19fcc: d032 beq.n 1a034 - 19fce: 6a43 ldr r3, [r0, #36] ; 0x24 + 1a59a: 2800 cmp r0, #0 + 1a59c: d032 beq.n 1a604 + 1a59e: 6a43 ldr r3, [r0, #36] ; 0x24 if(act_time < a.time) { - 19fd0: 9a0d ldr r2, [sp, #52] ; 0x34 - 19fd2: 4293 cmp r3, r2 - 19fd4: da06 bge.n 19fe4 + 1a5a0: 9a0d ldr r2, [sp, #52] ; 0x34 + 1a5a2: 4293 cmp r3, r2 + 1a5a4: da06 bge.n 1a5b4 a.act_time = act_time; /*To keep the old position*/ - 19fd6: 930e str r3, [sp, #56] ; 0x38 + 1a5a6: 930e str r3, [sp, #56] ; 0x38 a.early_apply = 0; - 19fd8: f89d 304a ldrb.w r3, [sp, #74] ; 0x4a - 19fdc: f36f 0300 bfc r3, #0, #1 - 19fe0: f88d 304a strb.w r3, [sp, #74] ; 0x4a + 1a5a8: f89d 304a ldrb.w r3, [sp, #74] ; 0x4a + 1a5ac: f36f 0300 bfc r3, #0, #1 + 1a5b0: f88d 304a strb.w r3, [sp, #74] ; 0x4a lv_anim_start(&a); - 19fe4: a805 add r0, sp, #20 - 19fe6: 4b10 ldr r3, [pc, #64] ; (1a028 ) - 19fe8: 4798 blx r3 + 1a5b4: a805 add r0, sp, #20 + 1a5b6: 4b10 ldr r3, [pc, #64] ; (1a5f8 ) + 1a5b8: 4798 blx r3 lv_anim_del(label, (lv_anim_exec_xcb_t)lv_label_set_offset_y); - 19fea: 4910 ldr r1, [pc, #64] ; (1a02c ) - 19fec: 4620 mov r0, r4 - 19fee: 4b10 ldr r3, [pc, #64] ; (1a030 ) - 19ff0: 4798 blx r3 + 1a5ba: 4910 ldr r1, [pc, #64] ; (1a5fc ) + 1a5bc: 4620 mov r0, r4 + 1a5be: 4b10 ldr r3, [pc, #64] ; (1a600 ) + 1a5c0: 4798 blx r3 ext->offset.y = 0; - 19ff2: 2300 movs r3, #0 - 19ff4: 81eb strh r3, [r5, #14] - 19ff6: e6ea b.n 19dce - 19ff8: 00005425 .word 0x00005425 - 19ffc: 000197b9 .word 0x000197b9 - 1a000: 00004d29 .word 0x00004d29 - 1a004: 00004b5d .word 0x00004b5d - 1a008: 00014625 .word 0x00014625 - 1a00c: 000039a9 .word 0x000039a9 - 1a010: 00004929 .word 0x00004929 - 1a014: 0001188d .word 0x0001188d - 1a018: 00010609 .word 0x00010609 - 1a01c: 0001979d .word 0x0001979d - 1a020: 00011a39 .word 0x00011a39 - 1a024: 000119fd .word 0x000119fd - 1a028: 00011949 .word 0x00011949 - 1a02c: 00019781 .word 0x00019781 - 1a030: 000118d1 .word 0x000118d1 + 1a5c2: 2300 movs r3, #0 + 1a5c4: 81eb strh r3, [r5, #14] + 1a5c6: e6ea b.n 1a39e + 1a5c8: 00004d9d .word 0x00004d9d + 1a5cc: 00019d89 .word 0x00019d89 + 1a5d0: 000046a1 .word 0x000046a1 + 1a5d4: 000044d5 .word 0x000044d5 + 1a5d8: 0001407d .word 0x0001407d + 1a5dc: 00003321 .word 0x00003321 + 1a5e0: 000042a1 .word 0x000042a1 + 1a5e4: 000112e5 .word 0x000112e5 + 1a5e8: 00010061 .word 0x00010061 + 1a5ec: 00019d6d .word 0x00019d6d + 1a5f0: 00011491 .word 0x00011491 + 1a5f4: 00011455 .word 0x00011455 + 1a5f8: 000113a1 .word 0x000113a1 + 1a5fc: 00019d51 .word 0x00019d51 + 1a600: 00011329 .word 0x00011329 int32_t act_time = anim_cur ? anim_cur->act_time : 0; - 1a034: 2300 movs r3, #0 - 1a036: e7cb b.n 19fd0 + 1a604: 2300 movs r3, #0 + 1a606: e7cb b.n 1a5a0 lv_anim_del(label, (lv_anim_exec_xcb_t)lv_label_set_offset_x); - 1a038: 496e ldr r1, [pc, #440] ; (1a1f4 ) - 1a03a: 4620 mov r0, r4 - 1a03c: 4b6e ldr r3, [pc, #440] ; (1a1f8 ) - 1a03e: 4798 blx r3 + 1a608: 496e ldr r1, [pc, #440] ; (1a7c4 ) + 1a60a: 4620 mov r0, r4 + 1a60c: 4b6e ldr r3, [pc, #440] ; (1a7c8 ) + 1a60e: 4798 blx r3 ext->offset.x = 0; - 1a040: 2300 movs r3, #0 - 1a042: 81ab strh r3, [r5, #12] + 1a610: 2300 movs r3, #0 + 1a612: 81ab strh r3, [r5, #12] if(size.y > lv_area_get_height(&txt_coords) && hor_anim == false) { - 1a044: f9bd 2056 ldrsh.w r2, [sp, #86] ; 0x56 + 1a614: f9bd 2056 ldrsh.w r2, [sp, #86] ; 0x56 return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - 1a048: f8bd 305e ldrh.w r3, [sp, #94] ; 0x5e - 1a04c: 3301 adds r3, #1 - 1a04e: f8bd 105a ldrh.w r1, [sp, #90] ; 0x5a - 1a052: 1a5b subs r3, r3, r1 - 1a054: b21b sxth r3, r3 - 1a056: 429a cmp r2, r3 - 1a058: ddc7 ble.n 19fea + 1a618: f8bd 305e ldrh.w r3, [sp, #94] ; 0x5e + 1a61c: 3301 adds r3, #1 + 1a61e: f8bd 105a ldrh.w r1, [sp, #90] ; 0x5a + 1a622: 1a5b subs r3, r3, r1 + 1a624: b21b sxth r3, r3 + 1a626: 429a cmp r2, r3 + 1a628: ddc7 ble.n 1a5ba lv_anim_set_values(&a, 0, -size.y - (lv_font_get_line_height(font))); - 1a05a: f8b8 3008 ldrh.w r3, [r8, #8] - 1a05e: 441a add r2, r3 - 1a060: 4252 negs r2, r2 - 1a062: b212 sxth r2, r2 + 1a62a: f8b8 3008 ldrh.w r3, [r8, #8] + 1a62e: 441a add r2, r3 + 1a630: 4252 negs r2, r2 + 1a632: b212 sxth r2, r2 a->start = start; - 1a064: 2100 movs r1, #0 - 1a066: 910b str r1, [sp, #44] ; 0x2c + 1a634: 2100 movs r1, #0 + 1a636: 910b str r1, [sp, #44] ; 0x2c a->end = end; - 1a068: 920c str r2, [sp, #48] ; 0x30 + 1a638: 920c str r2, [sp, #48] ; 0x30 a->exec_cb = exec_cb; - 1a06a: 4e64 ldr r6, [pc, #400] ; (1a1fc ) - 1a06c: 9606 str r6, [sp, #24] + 1a63a: 4e64 ldr r6, [pc, #400] ; (1a7cc ) + 1a63c: 9606 str r6, [sp, #24] lv_anim_set_time(&a, lv_anim_speed_to_time(ext->anim_speed, a.start, a.end)); - 1a06e: 8968 ldrh r0, [r5, #10] - 1a070: 4b63 ldr r3, [pc, #396] ; (1a200 ) - 1a072: 4798 blx r3 + 1a63e: 8968 ldrh r0, [r5, #10] + 1a640: 4b63 ldr r3, [pc, #396] ; (1a7d0 ) + 1a642: 4798 blx r3 a->time = duration; - 1a074: 900d str r0, [sp, #52] ; 0x34 + 1a644: 900d str r0, [sp, #52] ; 0x34 lv_anim_t * anim_cur = lv_anim_get(label, (lv_anim_exec_xcb_t)lv_label_set_offset_y); - 1a076: 4631 mov r1, r6 - 1a078: 4620 mov r0, r4 - 1a07a: 4b62 ldr r3, [pc, #392] ; (1a204 ) - 1a07c: 4798 blx r3 + 1a646: 4631 mov r1, r6 + 1a648: 4620 mov r0, r4 + 1a64a: 4b62 ldr r3, [pc, #392] ; (1a7d4 ) + 1a64c: 4798 blx r3 int32_t act_time = anim_cur ? anim_cur->act_time : 0; - 1a07e: b170 cbz r0, 1a09e - 1a080: 6a43 ldr r3, [r0, #36] ; 0x24 + 1a64e: b170 cbz r0, 1a66e + 1a650: 6a43 ldr r3, [r0, #36] ; 0x24 if(act_time < a.time) { - 1a082: 9a0d ldr r2, [sp, #52] ; 0x34 - 1a084: 4293 cmp r3, r2 - 1a086: da06 bge.n 1a096 + 1a652: 9a0d ldr r2, [sp, #52] ; 0x34 + 1a654: 4293 cmp r3, r2 + 1a656: da06 bge.n 1a666 a.act_time = act_time; /*To keep the old position*/ - 1a088: 930e str r3, [sp, #56] ; 0x38 + 1a658: 930e str r3, [sp, #56] ; 0x38 a.early_apply = 0; - 1a08a: f89d 304a ldrb.w r3, [sp, #74] ; 0x4a - 1a08e: f36f 0300 bfc r3, #0, #1 - 1a092: f88d 304a strb.w r3, [sp, #74] ; 0x4a + 1a65a: f89d 304a ldrb.w r3, [sp, #74] ; 0x4a + 1a65e: f36f 0300 bfc r3, #0, #1 + 1a662: f88d 304a strb.w r3, [sp, #74] ; 0x4a lv_anim_start(&a); - 1a096: a805 add r0, sp, #20 - 1a098: 4b5b ldr r3, [pc, #364] ; (1a208 ) - 1a09a: 4798 blx r3 + 1a666: a805 add r0, sp, #20 + 1a668: 4b5b ldr r3, [pc, #364] ; (1a7d8 ) + 1a66a: 4798 blx r3 if(size.y > lv_area_get_height(&txt_coords) && hor_anim == false) { - 1a09c: e697 b.n 19dce + 1a66c: e697 b.n 1a39e int32_t act_time = anim_cur ? anim_cur->act_time : 0; - 1a09e: 2300 movs r3, #0 - 1a0a0: e7ef b.n 1a082 - 1a0a2: f8bd 305e ldrh.w r3, [sp, #94] ; 0x5e - 1a0a6: 3301 adds r3, #1 - 1a0a8: f8bd 205a ldrh.w r2, [sp, #90] ; 0x5a - 1a0ac: 1a9b subs r3, r3, r2 + 1a66e: 2300 movs r3, #0 + 1a670: e7ef b.n 1a652 + 1a672: f8bd 305e ldrh.w r3, [sp, #94] ; 0x5e + 1a676: 3301 adds r3, #1 + 1a678: f8bd 205a ldrh.w r2, [sp, #90] ; 0x5a + 1a67c: 1a9b subs r3, r3, r2 if(size.y <= lv_area_get_height(&txt_coords)) { /*No dots are required, the text is short enough*/ - 1a0ae: f9bd 2056 ldrsh.w r2, [sp, #86] ; 0x56 - 1a0b2: b21b sxth r3, r3 - 1a0b4: 429a cmp r2, r3 - 1a0b6: dc03 bgt.n 1a0c0 + 1a67e: f9bd 2056 ldrsh.w r2, [sp, #86] ; 0x56 + 1a682: b21b sxth r3, r3 + 1a684: 429a cmp r2, r3 + 1a686: dc03 bgt.n 1a690 ext->dot_end = LV_LABEL_DOT_END_INV; - 1a0b8: f64f 73ff movw r3, #65535 ; 0xffff - 1a0bc: 812b strh r3, [r5, #8] - 1a0be: e686 b.n 19dce + 1a688: f64f 73ff movw r3, #65535 ; 0xffff + 1a68c: 812b strh r3, [r5, #8] + 1a68e: e686 b.n 1a39e else if(_lv_txt_get_encoded_length(ext->text) <= LV_LABEL_DOT_NUM) { /*Don't turn to dots all the characters*/ - 1a0c0: 4b52 ldr r3, [pc, #328] ; (1a20c ) - 1a0c2: 681b ldr r3, [r3, #0] - 1a0c4: 6828 ldr r0, [r5, #0] - 1a0c6: 4798 blx r3 - 1a0c8: 2803 cmp r0, #3 - 1a0ca: d803 bhi.n 1a0d4 + 1a690: 4b52 ldr r3, [pc, #328] ; (1a7dc ) + 1a692: 681b ldr r3, [r3, #0] + 1a694: 6828 ldr r0, [r5, #0] + 1a696: 4798 blx r3 + 1a698: 2803 cmp r0, #3 + 1a69a: d803 bhi.n 1a6a4 ext->dot_end = LV_LABEL_DOT_END_INV; - 1a0cc: f64f 73ff movw r3, #65535 ; 0xffff - 1a0d0: 812b strh r3, [r5, #8] - 1a0d2: e67c b.n 19dce + 1a69c: f64f 73ff movw r3, #65535 ; 0xffff + 1a6a0: 812b strh r3, [r5, #8] + 1a6a2: e67c b.n 1a39e return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - 1a0d4: f8bd 605c ldrh.w r6, [sp, #92] ; 0x5c - 1a0d8: 3601 adds r6, #1 - 1a0da: f8bd 3058 ldrh.w r3, [sp, #88] ; 0x58 - 1a0de: 1af6 subs r6, r6, r3 - 1a0e0: b2b6 uxth r6, r6 + 1a6a4: f8bd 605c ldrh.w r6, [sp, #92] ; 0x5c + 1a6a8: 3601 adds r6, #1 + 1a6aa: f8bd 3058 ldrh.w r3, [sp, #88] ; 0x58 + 1a6ae: 1af6 subs r6, r6, r3 + 1a6b0: b2b6 uxth r6, r6 (lv_font_get_glyph_width(font, '.', '.') + letter_space) * - 1a0e2: 222e movs r2, #46 ; 0x2e - 1a0e4: 4611 mov r1, r2 - 1a0e6: 4640 mov r0, r8 - 1a0e8: 4b49 ldr r3, [pc, #292] ; (1a210 ) - 1a0ea: 4798 blx r3 - 1a0ec: 4438 add r0, r7 + 1a6b2: 222e movs r2, #46 ; 0x2e + 1a6b4: 4611 mov r1, r2 + 1a6b6: 4640 mov r0, r8 + 1a6b8: 4b49 ldr r3, [pc, #292] ; (1a7e0 ) + 1a6ba: 4798 blx r3 + 1a6bc: 4438 add r0, r7 p.x = lv_area_get_width(&txt_coords) - - 1a0ee: ebc0 3380 rsb r3, r0, r0, lsl #14 - 1a0f2: eb00 0083 add.w r0, r0, r3, lsl #2 - 1a0f6: 4430 add r0, r6 - 1a0f8: f8ad 0010 strh.w r0, [sp, #16] + 1a6be: ebc0 3380 rsb r3, r0, r0, lsl #14 + 1a6c2: eb00 0083 add.w r0, r0, r3, lsl #2 + 1a6c6: 4430 add r0, r6 + 1a6c8: f8ad 0010 strh.w r0, [sp, #16] return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - 1a0fc: f8bd 305e ldrh.w r3, [sp, #94] ; 0x5e - 1a100: 3301 adds r3, #1 - 1a102: f8bd 205a ldrh.w r2, [sp, #90] ; 0x5a - 1a106: 1a9b subs r3, r3, r2 - 1a108: b29b uxth r3, r3 + 1a6cc: f8bd 305e ldrh.w r3, [sp, #94] ; 0x5e + 1a6d0: 3301 adds r3, #1 + 1a6d2: f8bd 205a ldrh.w r2, [sp, #90] ; 0x5a + 1a6d6: 1a9b subs r3, r3, r2 + 1a6d8: b29b uxth r3, r3 p.y -= p.y % - 1a10a: b218 sxth r0, r3 + 1a6da: b218 sxth r0, r3 (lv_font_get_line_height(font) + line_space); /*Round down to the last line*/ - 1a10c: f9b8 2008 ldrsh.w r2, [r8, #8] - 1a110: 444a add r2, r9 + 1a6dc: f9b8 2008 ldrsh.w r2, [r8, #8] + 1a6e0: 444a add r2, r9 p.y -= p.y % - 1a112: fb90 f1f2 sdiv r1, r0, r2 - 1a116: fb02 0211 mls r2, r2, r1, r0 - 1a11a: 1a9b subs r3, r3, r2 + 1a6e2: fb90 f1f2 sdiv r1, r0, r2 + 1a6e6: fb02 0211 mls r2, r2, r1, r0 + 1a6ea: 1a9b subs r3, r3, r2 p.y -= line_space; /*Trim the last line space*/ - 1a11c: eba3 0909 sub.w r9, r3, r9 - 1a120: f8ad 9012 strh.w r9, [sp, #18] + 1a6ec: eba3 0909 sub.w r9, r3, r9 + 1a6f0: f8ad 9012 strh.w r9, [sp, #18] uint32_t letter_id = lv_label_get_letter_on(label, &p); - 1a124: a904 add r1, sp, #16 - 1a126: 4620 mov r0, r4 - 1a128: 4b3a ldr r3, [pc, #232] ; (1a214 ) - 1a12a: 4798 blx r3 - 1a12c: 4680 mov r8, r0 - 1a12e: 4607 mov r7, r0 + 1a6f4: a904 add r1, sp, #16 + 1a6f6: 4620 mov r0, r4 + 1a6f8: 4b3a ldr r3, [pc, #232] ; (1a7e4 ) + 1a6fa: 4798 blx r3 + 1a6fc: 4680 mov r8, r0 + 1a6fe: 4607 mov r7, r0 size_t txt_len = strlen(ext->text); - 1a130: 682e ldr r6, [r5, #0] - 1a132: 4630 mov r0, r6 - 1a134: 4b38 ldr r3, [pc, #224] ; (1a218 ) - 1a136: 4798 blx r3 - 1a138: 4681 mov r9, r0 + 1a700: 682e ldr r6, [r5, #0] + 1a702: 4630 mov r0, r6 + 1a704: 4b38 ldr r3, [pc, #224] ; (1a7e8 ) + 1a706: 4798 blx r3 + 1a708: 4681 mov r9, r0 uint32_t byte_id = _lv_txt_encoded_get_byte_id(ext->text, letter_id); - 1a13a: 4b38 ldr r3, [pc, #224] ; (1a21c ) - 1a13c: 681b ldr r3, [r3, #0] - 1a13e: 4641 mov r1, r8 - 1a140: 4630 mov r0, r6 - 1a142: 4798 blx r3 - 1a144: 4606 mov r6, r0 - 1a146: 9005 str r0, [sp, #20] + 1a70a: 4b38 ldr r3, [pc, #224] ; (1a7ec ) + 1a70c: 681b ldr r3, [r3, #0] + 1a70e: 4641 mov r1, r8 + 1a710: 4630 mov r0, r6 + 1a712: 4798 blx r3 + 1a714: 4606 mov r6, r0 + 1a716: 9005 str r0, [sp, #20] while(byte_id + LV_LABEL_DOT_NUM > txt_len) { - 1a148: f100 0803 add.w r8, r0, #3 - 1a14c: 45c1 cmp r9, r8 - 1a14e: d20e bcs.n 1a16e + 1a718: f100 0803 add.w r8, r0, #3 + 1a71c: 45c1 cmp r9, r8 + 1a71e: d20e bcs.n 1a73e byte_id -= _lv_txt_encoded_size(&ext->text[byte_id]); - 1a150: f8df a0dc ldr.w sl, [pc, #220] ; 1a230 - 1a154: 6828 ldr r0, [r5, #0] - 1a156: 4430 add r0, r6 - 1a158: f8da 3000 ldr.w r3, [sl] - 1a15c: 4798 blx r3 - 1a15e: 9e05 ldr r6, [sp, #20] - 1a160: 1a36 subs r6, r6, r0 - 1a162: 9605 str r6, [sp, #20] + 1a720: f8df a0dc ldr.w sl, [pc, #220] ; 1a800 + 1a724: 6828 ldr r0, [r5, #0] + 1a726: 4430 add r0, r6 + 1a728: f8da 3000 ldr.w r3, [sl] + 1a72c: 4798 blx r3 + 1a72e: 9e05 ldr r6, [sp, #20] + 1a730: 1a36 subs r6, r6, r0 + 1a732: 9605 str r6, [sp, #20] letter_id--; - 1a164: 3f01 subs r7, #1 + 1a734: 3f01 subs r7, #1 while(byte_id + LV_LABEL_DOT_NUM > txt_len) { - 1a166: f106 0803 add.w r8, r6, #3 - 1a16a: 45c1 cmp r9, r8 - 1a16c: d3f2 bcc.n 1a154 + 1a736: f106 0803 add.w r8, r6, #3 + 1a73a: 45c1 cmp r9, r8 + 1a73c: d3f2 bcc.n 1a724 int32_t act_time = anim_cur ? anim_cur->act_time : 0; - 1a16e: f04f 0a04 mov.w sl, #4 - 1a172: f04f 0900 mov.w r9, #0 + 1a73e: f04f 0a04 mov.w sl, #4 + 1a742: f04f 0900 mov.w r9, #0 len += _lv_txt_encoded_size(&ext->text[byte_id]); - 1a176: f8df b0b8 ldr.w fp, [pc, #184] ; 1a230 - 1a17a: 6828 ldr r0, [r5, #0] - 1a17c: 9b05 ldr r3, [sp, #20] - 1a17e: 4418 add r0, r3 - 1a180: f8db 3000 ldr.w r3, [fp] - 1a184: 4798 blx r3 - 1a186: 4481 add r9, r0 - 1a188: fa5f f989 uxtb.w r9, r9 + 1a746: f8df b0b8 ldr.w fp, [pc, #184] ; 1a800 + 1a74a: 6828 ldr r0, [r5, #0] + 1a74c: 9b05 ldr r3, [sp, #20] + 1a74e: 4418 add r0, r3 + 1a750: f8db 3000 ldr.w r3, [fp] + 1a754: 4798 blx r3 + 1a756: 4481 add r9, r0 + 1a758: fa5f f989 uxtb.w r9, r9 _lv_txt_encoded_next(ext->text, &byte_id); - 1a18c: a905 add r1, sp, #20 - 1a18e: 6828 ldr r0, [r5, #0] - 1a190: 4b23 ldr r3, [pc, #140] ; (1a220 ) - 1a192: 681b ldr r3, [r3, #0] - 1a194: 4798 blx r3 + 1a75c: a905 add r1, sp, #20 + 1a75e: 6828 ldr r0, [r5, #0] + 1a760: 4b23 ldr r3, [pc, #140] ; (1a7f0 ) + 1a762: 681b ldr r3, [r3, #0] + 1a764: 4798 blx r3 for(i = 0; i <= LV_LABEL_DOT_NUM; i++) { - 1a196: f1ba 0a01 subs.w sl, sl, #1 - 1a19a: d1ee bne.n 1a17a + 1a766: f1ba 0a01 subs.w sl, sl, #1 + 1a76a: d1ee bne.n 1a74a if(lv_label_set_dot_tmp(label, &ext->text[byte_id_ori], len)) { - 1a19c: 6829 ldr r1, [r5, #0] - 1a19e: 464a mov r2, r9 - 1a1a0: 4431 add r1, r6 - 1a1a2: 4620 mov r0, r4 - 1a1a4: 4b1f ldr r3, [pc, #124] ; (1a224 ) - 1a1a6: 4798 blx r3 - 1a1a8: 2800 cmp r0, #0 - 1a1aa: f43f ae10 beq.w 19dce - 1a1ae: 1cf1 adds r1, r6, #3 + 1a76c: 6829 ldr r1, [r5, #0] + 1a76e: 464a mov r2, r9 + 1a770: 4431 add r1, r6 + 1a772: 4620 mov r0, r4 + 1a774: 4b1f ldr r3, [pc, #124] ; (1a7f4 ) + 1a776: 4798 blx r3 + 1a778: 2800 cmp r0, #0 + 1a77a: f43f ae10 beq.w 1a39e + 1a77e: 1cf1 adds r1, r6, #3 ext->text[byte_id_ori + i] = '.'; - 1a1b0: 222e movs r2, #46 ; 0x2e - 1a1b2: 682b ldr r3, [r5, #0] - 1a1b4: 559a strb r2, [r3, r6] - 1a1b6: 3601 adds r6, #1 + 1a780: 222e movs r2, #46 ; 0x2e + 1a782: 682b ldr r3, [r5, #0] + 1a784: 559a strb r2, [r3, r6] + 1a786: 3601 adds r6, #1 for(i = 0; i < LV_LABEL_DOT_NUM; i++) { - 1a1b8: 428e cmp r6, r1 - 1a1ba: d1fa bne.n 1a1b2 + 1a788: 428e cmp r6, r1 + 1a78a: d1fa bne.n 1a782 ext->text[byte_id_ori + LV_LABEL_DOT_NUM] = '\0'; - 1a1bc: 682b ldr r3, [r5, #0] - 1a1be: 2200 movs r2, #0 - 1a1c0: f803 2008 strb.w r2, [r3, r8] + 1a78c: 682b ldr r3, [r5, #0] + 1a78e: 2200 movs r2, #0 + 1a790: f803 2008 strb.w r2, [r3, r8] ext->dot_end = letter_id + LV_LABEL_DOT_NUM; - 1a1c4: 3703 adds r7, #3 - 1a1c6: 812f strh r7, [r5, #8] - 1a1c8: e601 b.n 19dce + 1a794: 3703 adds r7, #3 + 1a796: 812f strh r7, [r5, #8] + 1a798: e601 b.n 1a39e _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) - 1a1ca: 2210 movs r2, #16 - 1a1cc: 2100 movs r1, #0 - 1a1ce: 4620 mov r0, r4 - 1a1d0: 4e15 ldr r6, [pc, #84] ; (1a228 ) - 1a1d2: 47b0 blx r6 - 1a1d4: 4605 mov r5, r0 + 1a79a: 2210 movs r2, #16 + 1a79c: 2100 movs r1, #0 + 1a79e: 4620 mov r0, r4 + 1a7a0: 4e15 ldr r6, [pc, #84] ; (1a7f8 ) + 1a7a2: 47b0 blx r6 + 1a7a4: 4605 mov r5, r0 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) - 1a1d6: 2211 movs r2, #17 - 1a1d8: 2100 movs r1, #0 - 1a1da: 4620 mov r0, r4 - 1a1dc: 47b0 blx r6 + 1a7a6: 2211 movs r2, #17 + 1a7a8: 2100 movs r1, #0 + 1a7aa: 4620 mov r0, r4 + 1a7ac: 47b0 blx r6 size.y += lv_obj_get_style_pad_top(label, LV_LABEL_PART_MAIN) + lv_obj_get_style_pad_bottom(label, LV_LABEL_PART_MAIN); - 1a1de: 1829 adds r1, r5, r0 - 1a1e0: f8bd 0056 ldrh.w r0, [sp, #86] ; 0x56 - 1a1e4: 4401 add r1, r0 - 1a1e6: b209 sxth r1, r1 - 1a1e8: f8ad 1056 strh.w r1, [sp, #86] ; 0x56 + 1a7ae: 1829 adds r1, r5, r0 + 1a7b0: f8bd 0056 ldrh.w r0, [sp, #86] ; 0x56 + 1a7b4: 4401 add r1, r0 + 1a7b6: b209 sxth r1, r1 + 1a7b8: f8ad 1056 strh.w r1, [sp, #86] ; 0x56 lv_obj_set_height(label, size.y); - 1a1ec: 4620 mov r0, r4 - 1a1ee: 4b0f ldr r3, [pc, #60] ; (1a22c ) - 1a1f0: 4798 blx r3 - 1a1f2: e5ec b.n 19dce - 1a1f4: 0001979d .word 0x0001979d - 1a1f8: 000118d1 .word 0x000118d1 - 1a1fc: 00019781 .word 0x00019781 - 1a200: 00011a39 .word 0x00011a39 - 1a204: 000119fd .word 0x000119fd - 1a208: 00011949 .word 0x00011949 - 1a20c: 20000060 .word 0x20000060 - 1a210: 00010609 .word 0x00010609 - 1a214: 00019a61 .word 0x00019a61 - 1a218: 0001af4f .word 0x0001af4f - 1a21c: 2000005c .word 0x2000005c - 1a220: 20000058 .word 0x20000058 - 1a224: 00019815 .word 0x00019815 - 1a228: 00004b5d .word 0x00004b5d - 1a22c: 00004a3d .word 0x00004a3d - 1a230: 20000054 .word 0x20000054 - -0001a234 : -{ - 1a234: b5f0 push {r4, r5, r6, r7, lr} - 1a236: b083 sub sp, #12 - 1a238: 4606 mov r6, r0 - 1a23a: 460d mov r5, r1 + 1a7bc: 4620 mov r0, r4 + 1a7be: 4b0f ldr r3, [pc, #60] ; (1a7fc ) + 1a7c0: 4798 blx r3 + 1a7c2: e5ec b.n 1a39e + 1a7c4: 00019d6d .word 0x00019d6d + 1a7c8: 00011329 .word 0x00011329 + 1a7cc: 00019d51 .word 0x00019d51 + 1a7d0: 00011491 .word 0x00011491 + 1a7d4: 00011455 .word 0x00011455 + 1a7d8: 000113a1 .word 0x000113a1 + 1a7dc: 20000060 .word 0x20000060 + 1a7e0: 00010061 .word 0x00010061 + 1a7e4: 0001a031 .word 0x0001a031 + 1a7e8: 0001b51f .word 0x0001b51f + 1a7ec: 2000005c .word 0x2000005c + 1a7f0: 20000058 .word 0x20000058 + 1a7f4: 00019de5 .word 0x00019de5 + 1a7f8: 000044d5 .word 0x000044d5 + 1a7fc: 000043b5 .word 0x000043b5 + 1a800: 20000054 .word 0x20000054 + +0001a804 : +{ + 1a804: b5f0 push {r4, r5, r6, r7, lr} + 1a806: b083 sub sp, #12 + 1a808: 4606 mov r6, r0 + 1a80a: 460d mov r5, r1 LV_ASSERT_OBJ(label, LV_OBJX_NAME); - 1a23c: 4b40 ldr r3, [pc, #256] ; (1a340 ) - 1a23e: 4798 blx r3 - 1a240: b960 cbnz r0, 1a25c - 1a242: 4b40 ldr r3, [pc, #256] ; (1a344 ) - 1a244: 9300 str r3, [sp, #0] - 1a246: 22b8 movs r2, #184 ; 0xb8 - 1a248: 493f ldr r1, [pc, #252] ; (1a348 ) - 1a24a: 2003 movs r0, #3 - 1a24c: 4c3f ldr r4, [pc, #252] ; (1a34c ) - 1a24e: 47a0 blx r4 - 1a250: 4632 mov r2, r6 - 1a252: 2300 movs r3, #0 - 1a254: 483e ldr r0, [pc, #248] ; (1a350 ) - 1a256: 493f ldr r1, [pc, #252] ; (1a354 ) - 1a258: 4788 blx r1 - 1a25a: e7fe b.n 1a25a + 1a80c: 4b40 ldr r3, [pc, #256] ; (1a910 ) + 1a80e: 4798 blx r3 + 1a810: b960 cbnz r0, 1a82c + 1a812: 4b40 ldr r3, [pc, #256] ; (1a914 ) + 1a814: 9300 str r3, [sp, #0] + 1a816: 22b8 movs r2, #184 ; 0xb8 + 1a818: 493f ldr r1, [pc, #252] ; (1a918 ) + 1a81a: 2003 movs r0, #3 + 1a81c: 4c3f ldr r4, [pc, #252] ; (1a91c ) + 1a81e: 47a0 blx r4 + 1a820: 4632 mov r2, r6 + 1a822: 2300 movs r3, #0 + 1a824: 483e ldr r0, [pc, #248] ; (1a920 ) + 1a826: 493f ldr r1, [pc, #252] ; (1a924 ) + 1a828: 4788 blx r1 + 1a82a: e7fe b.n 1a82a lv_obj_invalidate(label); - 1a25c: 4630 mov r0, r6 - 1a25e: 4b3e ldr r3, [pc, #248] ; (1a358 ) - 1a260: 4798 blx r3 + 1a82c: 4630 mov r0, r6 + 1a82e: 4b3e ldr r3, [pc, #248] ; (1a928 ) + 1a830: 4798 blx r3 lv_label_ext_t * ext = lv_obj_get_ext_attr(label); - 1a262: 4630 mov r0, r6 - 1a264: 4b3d ldr r3, [pc, #244] ; (1a35c ) - 1a266: 4798 blx r3 - 1a268: 4604 mov r4, r0 + 1a832: 4630 mov r0, r6 + 1a834: 4b3d ldr r3, [pc, #244] ; (1a92c ) + 1a836: 4798 blx r3 + 1a838: 4604 mov r4, r0 if(text == NULL) { - 1a26a: b305 cbz r5, 1a2ae + 1a83a: b305 cbz r5, 1a87e LV_ASSERT_STR(text); - 1a26c: 4628 mov r0, r5 - 1a26e: 4b34 ldr r3, [pc, #208] ; (1a340 ) - 1a270: 4798 blx r3 - 1a272: b308 cbz r0, 1a2b8 + 1a83c: 4628 mov r0, r5 + 1a83e: 4b34 ldr r3, [pc, #208] ; (1a910 ) + 1a840: 4798 blx r3 + 1a842: b308 cbz r0, 1a888 if(ext->text == text && ext->static_txt == 0) { - 1a274: 6827 ldr r7, [r4, #0] - 1a276: 42bd cmp r5, r7 - 1a278: d02b beq.n 1a2d2 + 1a844: 6827 ldr r7, [r4, #0] + 1a846: 42bd cmp r5, r7 + 1a848: d02b beq.n 1a8a2 if(ext->text != NULL && ext->static_txt == 0) { - 1a27a: b11f cbz r7, 1a284 - 1a27c: 7c23 ldrb r3, [r4, #16] - 1a27e: f013 0f08 tst.w r3, #8 - 1a282: d049 beq.n 1a318 + 1a84a: b11f cbz r7, 1a854 + 1a84c: 7c23 ldrb r3, [r4, #16] + 1a84e: f013 0f08 tst.w r3, #8 + 1a852: d049 beq.n 1a8e8 size_t len = strlen(text) + 1; - 1a284: 4628 mov r0, r5 - 1a286: 4b36 ldr r3, [pc, #216] ; (1a360 ) - 1a288: 4798 blx r3 + 1a854: 4628 mov r0, r5 + 1a856: 4b36 ldr r3, [pc, #216] ; (1a930 ) + 1a858: 4798 blx r3 ext->text = lv_mem_alloc(len); - 1a28a: 3001 adds r0, #1 - 1a28c: 4b35 ldr r3, [pc, #212] ; (1a364 ) - 1a28e: 4798 blx r3 - 1a290: 6020 str r0, [r4, #0] + 1a85a: 3001 adds r0, #1 + 1a85c: 4b35 ldr r3, [pc, #212] ; (1a934 ) + 1a85e: 4798 blx r3 + 1a860: 6020 str r0, [r4, #0] LV_ASSERT_MEM(ext->text); - 1a292: 4b2b ldr r3, [pc, #172] ; (1a340 ) - 1a294: 4798 blx r3 - 1a296: 2800 cmp r0, #0 - 1a298: d044 beq.n 1a324 + 1a862: 4b2b ldr r3, [pc, #172] ; (1a910 ) + 1a864: 4798 blx r3 + 1a866: 2800 cmp r0, #0 + 1a868: d044 beq.n 1a8f4 if(ext->text == NULL) return; - 1a29a: 6820 ldr r0, [r4, #0] - 1a29c: b150 cbz r0, 1a2b4 + 1a86a: 6820 ldr r0, [r4, #0] + 1a86c: b150 cbz r0, 1a884 strcpy(ext->text, text); - 1a29e: 4629 mov r1, r5 - 1a2a0: 4b31 ldr r3, [pc, #196] ; (1a368 ) - 1a2a2: 4798 blx r3 + 1a86e: 4629 mov r1, r5 + 1a870: 4b31 ldr r3, [pc, #196] ; (1a938 ) + 1a872: 4798 blx r3 ext->static_txt = 0; - 1a2a4: 7c23 ldrb r3, [r4, #16] - 1a2a6: f36f 03c3 bfc r3, #3, #1 - 1a2aa: 7423 strb r3, [r4, #16] - 1a2ac: e030 b.n 1a310 + 1a874: 7c23 ldrb r3, [r4, #16] + 1a876: f36f 03c3 bfc r3, #3, #1 + 1a87a: 7423 strb r3, [r4, #16] + 1a87c: e030 b.n 1a8e0 lv_label_refr_text(label); - 1a2ae: 4630 mov r0, r6 - 1a2b0: 4b2e ldr r3, [pc, #184] ; (1a36c ) - 1a2b2: 4798 blx r3 + 1a87e: 4630 mov r0, r6 + 1a880: 4b2e ldr r3, [pc, #184] ; (1a93c ) + 1a882: 4798 blx r3 } - 1a2b4: b003 add sp, #12 - 1a2b6: bdf0 pop {r4, r5, r6, r7, pc} + 1a884: b003 add sp, #12 + 1a886: bdf0 pop {r4, r5, r6, r7, pc} LV_ASSERT_STR(text); - 1a2b8: 4b22 ldr r3, [pc, #136] ; (1a344 ) - 1a2ba: 9300 str r3, [sp, #0] - 1a2bc: 22c4 movs r2, #196 ; 0xc4 - 1a2be: 4922 ldr r1, [pc, #136] ; (1a348 ) - 1a2c0: 2003 movs r0, #3 - 1a2c2: 4c22 ldr r4, [pc, #136] ; (1a34c ) - 1a2c4: 47a0 blx r4 - 1a2c6: 462a mov r2, r5 - 1a2c8: 2300 movs r3, #0 - 1a2ca: 4821 ldr r0, [pc, #132] ; (1a350 ) - 1a2cc: 4921 ldr r1, [pc, #132] ; (1a354 ) - 1a2ce: 4788 blx r1 - 1a2d0: e7fe b.n 1a2d0 + 1a888: 4b22 ldr r3, [pc, #136] ; (1a914 ) + 1a88a: 9300 str r3, [sp, #0] + 1a88c: 22c4 movs r2, #196 ; 0xc4 + 1a88e: 4922 ldr r1, [pc, #136] ; (1a918 ) + 1a890: 2003 movs r0, #3 + 1a892: 4c22 ldr r4, [pc, #136] ; (1a91c ) + 1a894: 47a0 blx r4 + 1a896: 462a mov r2, r5 + 1a898: 2300 movs r3, #0 + 1a89a: 4821 ldr r0, [pc, #132] ; (1a920 ) + 1a89c: 4921 ldr r1, [pc, #132] ; (1a924 ) + 1a89e: 4788 blx r1 + 1a8a0: e7fe b.n 1a8a0 if(ext->text == text && ext->static_txt == 0) { - 1a2d2: 7c23 ldrb r3, [r4, #16] - 1a2d4: f013 0f08 tst.w r3, #8 - 1a2d8: d1d4 bne.n 1a284 + 1a8a2: 7c23 ldrb r3, [r4, #16] + 1a8a4: f013 0f08 tst.w r3, #8 + 1a8a8: d1d4 bne.n 1a854 ext->text = lv_mem_realloc(ext->text, strlen(ext->text) + 1); - 1a2da: 4638 mov r0, r7 - 1a2dc: 4b20 ldr r3, [pc, #128] ; (1a360 ) - 1a2de: 4798 blx r3 - 1a2e0: 1c41 adds r1, r0, #1 - 1a2e2: 4638 mov r0, r7 - 1a2e4: 4b22 ldr r3, [pc, #136] ; (1a370 ) - 1a2e6: 4798 blx r3 - 1a2e8: 6020 str r0, [r4, #0] + 1a8aa: 4638 mov r0, r7 + 1a8ac: 4b20 ldr r3, [pc, #128] ; (1a930 ) + 1a8ae: 4798 blx r3 + 1a8b0: 1c41 adds r1, r0, #1 + 1a8b2: 4638 mov r0, r7 + 1a8b4: 4b22 ldr r3, [pc, #136] ; (1a940 ) + 1a8b6: 4798 blx r3 + 1a8b8: 6020 str r0, [r4, #0] LV_ASSERT_MEM(ext->text); - 1a2ea: 4b15 ldr r3, [pc, #84] ; (1a340 ) - 1a2ec: 4798 blx r3 - 1a2ee: b960 cbnz r0, 1a30a - 1a2f0: 4b14 ldr r3, [pc, #80] ; (1a344 ) - 1a2f2: 9300 str r3, [sp, #0] - 1a2f4: 22d5 movs r2, #213 ; 0xd5 - 1a2f6: 4914 ldr r1, [pc, #80] ; (1a348 ) - 1a2f8: 2003 movs r0, #3 - 1a2fa: 4d14 ldr r5, [pc, #80] ; (1a34c ) - 1a2fc: 47a8 blx r5 - 1a2fe: 6822 ldr r2, [r4, #0] - 1a300: 2300 movs r3, #0 - 1a302: 481c ldr r0, [pc, #112] ; (1a374 ) - 1a304: 4913 ldr r1, [pc, #76] ; (1a354 ) - 1a306: 4788 blx r1 - 1a308: e7fe b.n 1a308 + 1a8ba: 4b15 ldr r3, [pc, #84] ; (1a910 ) + 1a8bc: 4798 blx r3 + 1a8be: b960 cbnz r0, 1a8da + 1a8c0: 4b14 ldr r3, [pc, #80] ; (1a914 ) + 1a8c2: 9300 str r3, [sp, #0] + 1a8c4: 22d5 movs r2, #213 ; 0xd5 + 1a8c6: 4914 ldr r1, [pc, #80] ; (1a918 ) + 1a8c8: 2003 movs r0, #3 + 1a8ca: 4d14 ldr r5, [pc, #80] ; (1a91c ) + 1a8cc: 47a8 blx r5 + 1a8ce: 6822 ldr r2, [r4, #0] + 1a8d0: 2300 movs r3, #0 + 1a8d2: 481c ldr r0, [pc, #112] ; (1a944 ) + 1a8d4: 4913 ldr r1, [pc, #76] ; (1a924 ) + 1a8d6: 4788 blx r1 + 1a8d8: e7fe b.n 1a8d8 if(ext->text == NULL) return; - 1a30a: 6823 ldr r3, [r4, #0] - 1a30c: 2b00 cmp r3, #0 - 1a30e: d0d1 beq.n 1a2b4 + 1a8da: 6823 ldr r3, [r4, #0] + 1a8dc: 2b00 cmp r3, #0 + 1a8de: d0d1 beq.n 1a884 lv_label_refr_text(label); - 1a310: 4630 mov r0, r6 - 1a312: 4b16 ldr r3, [pc, #88] ; (1a36c ) - 1a314: 4798 blx r3 - 1a316: e7cd b.n 1a2b4 + 1a8e0: 4630 mov r0, r6 + 1a8e2: 4b16 ldr r3, [pc, #88] ; (1a93c ) + 1a8e4: 4798 blx r3 + 1a8e6: e7cd b.n 1a884 lv_mem_free(ext->text); - 1a318: 4638 mov r0, r7 - 1a31a: 4b17 ldr r3, [pc, #92] ; (1a378 ) - 1a31c: 4798 blx r3 + 1a8e8: 4638 mov r0, r7 + 1a8ea: 4b17 ldr r3, [pc, #92] ; (1a948 ) + 1a8ec: 4798 blx r3 ext->text = NULL; - 1a31e: 2300 movs r3, #0 - 1a320: 6023 str r3, [r4, #0] - 1a322: e7af b.n 1a284 + 1a8ee: 2300 movs r3, #0 + 1a8f0: 6023 str r3, [r4, #0] + 1a8f2: e7af b.n 1a854 LV_ASSERT_MEM(ext->text); - 1a324: 4b07 ldr r3, [pc, #28] ; (1a344 ) - 1a326: 9300 str r3, [sp, #0] - 1a328: 22ee movs r2, #238 ; 0xee - 1a32a: 4907 ldr r1, [pc, #28] ; (1a348 ) - 1a32c: 2003 movs r0, #3 - 1a32e: 4d07 ldr r5, [pc, #28] ; (1a34c ) - 1a330: 47a8 blx r5 - 1a332: 6822 ldr r2, [r4, #0] - 1a334: 2300 movs r3, #0 - 1a336: 480f ldr r0, [pc, #60] ; (1a374 ) - 1a338: 4906 ldr r1, [pc, #24] ; (1a354 ) - 1a33a: 4788 blx r1 - 1a33c: e7fe b.n 1a33c - 1a33e: bf00 nop - 1a340: 0000298d .word 0x0000298d - 1a344: 00020b78 .word 0x00020b78 - 1a348: 00020c94 .word 0x00020c94 - 1a34c: 00012805 .word 0x00012805 - 1a350: 0001bd20 .word 0x0001bd20 - 1a354: 00002995 .word 0x00002995 - 1a358: 000039a9 .word 0x000039a9 - 1a35c: 00005425 .word 0x00005425 - 1a360: 0001af4f .word 0x0001af4f - 1a364: 00012985 .word 0x00012985 - 1a368: 0001af3f .word 0x0001af3f - 1a36c: 00019d31 .word 0x00019d31 - 1a370: 00012e41 .word 0x00012e41 - 1a374: 0001b4bc .word 0x0001b4bc - 1a378: 00012a6d .word 0x00012a6d - -0001a37c : -{ - 1a37c: b570 push {r4, r5, r6, lr} - 1a37e: b082 sub sp, #8 - 1a380: 4605 mov r5, r0 - 1a382: 460e mov r6, r1 + 1a8f4: 4b07 ldr r3, [pc, #28] ; (1a914 ) + 1a8f6: 9300 str r3, [sp, #0] + 1a8f8: 22ee movs r2, #238 ; 0xee + 1a8fa: 4907 ldr r1, [pc, #28] ; (1a918 ) + 1a8fc: 2003 movs r0, #3 + 1a8fe: 4d07 ldr r5, [pc, #28] ; (1a91c ) + 1a900: 47a8 blx r5 + 1a902: 6822 ldr r2, [r4, #0] + 1a904: 2300 movs r3, #0 + 1a906: 480f ldr r0, [pc, #60] ; (1a944 ) + 1a908: 4906 ldr r1, [pc, #24] ; (1a924 ) + 1a90a: 4788 blx r1 + 1a90c: e7fe b.n 1a90c + 1a90e: bf00 nop + 1a910: 000022b1 .word 0x000022b1 + 1a914: 00029878 .word 0x00029878 + 1a918: 00029994 .word 0x00029994 + 1a91c: 0001225d .word 0x0001225d + 1a920: 0002483c .word 0x0002483c + 1a924: 000022b9 .word 0x000022b9 + 1a928: 00003321 .word 0x00003321 + 1a92c: 00004d9d .word 0x00004d9d + 1a930: 0001b51f .word 0x0001b51f + 1a934: 000123dd .word 0x000123dd + 1a938: 0001b50f .word 0x0001b50f + 1a93c: 0001a301 .word 0x0001a301 + 1a940: 00012899 .word 0x00012899 + 1a944: 00023fd8 .word 0x00023fd8 + 1a948: 000124c5 .word 0x000124c5 + +0001a94c : +{ + 1a94c: b570 push {r4, r5, r6, lr} + 1a94e: b082 sub sp, #8 + 1a950: 4605 mov r5, r0 + 1a952: 460e mov r6, r1 LV_ASSERT_OBJ(label, LV_OBJX_NAME); - 1a384: 4b14 ldr r3, [pc, #80] ; (1a3d8 ) - 1a386: 4798 blx r3 - 1a388: b968 cbnz r0, 1a3a6 - 1a38a: 4b14 ldr r3, [pc, #80] ; (1a3dc ) - 1a38c: 9300 str r3, [sp, #0] - 1a38e: f44f 72a6 mov.w r2, #332 ; 0x14c - 1a392: 4913 ldr r1, [pc, #76] ; (1a3e0 ) - 1a394: 2003 movs r0, #3 - 1a396: 4c13 ldr r4, [pc, #76] ; (1a3e4 ) - 1a398: 47a0 blx r4 - 1a39a: 462a mov r2, r5 - 1a39c: 2300 movs r3, #0 - 1a39e: 4812 ldr r0, [pc, #72] ; (1a3e8 ) - 1a3a0: 4912 ldr r1, [pc, #72] ; (1a3ec ) - 1a3a2: 4788 blx r1 - 1a3a4: e7fe b.n 1a3a4 + 1a954: 4b14 ldr r3, [pc, #80] ; (1a9a8 ) + 1a956: 4798 blx r3 + 1a958: b968 cbnz r0, 1a976 + 1a95a: 4b14 ldr r3, [pc, #80] ; (1a9ac ) + 1a95c: 9300 str r3, [sp, #0] + 1a95e: f44f 72a6 mov.w r2, #332 ; 0x14c + 1a962: 4913 ldr r1, [pc, #76] ; (1a9b0 ) + 1a964: 2003 movs r0, #3 + 1a966: 4c13 ldr r4, [pc, #76] ; (1a9b4 ) + 1a968: 47a0 blx r4 + 1a96a: 462a mov r2, r5 + 1a96c: 2300 movs r3, #0 + 1a96e: 4812 ldr r0, [pc, #72] ; (1a9b8 ) + 1a970: 4912 ldr r1, [pc, #72] ; (1a9bc ) + 1a972: 4788 blx r1 + 1a974: e7fe b.n 1a974 lv_label_ext_t * ext = lv_obj_get_ext_attr(label); - 1a3a6: 4628 mov r0, r5 - 1a3a8: 4b11 ldr r3, [pc, #68] ; (1a3f0 ) - 1a3aa: 4798 blx r3 - 1a3ac: 4604 mov r4, r0 + 1a976: 4628 mov r0, r5 + 1a978: 4b11 ldr r3, [pc, #68] ; (1a9c0 ) + 1a97a: 4798 blx r3 + 1a97c: 4604 mov r4, r0 if(ext->static_txt == 0 && ext->text != NULL) { - 1a3ae: 7c03 ldrb r3, [r0, #16] - 1a3b0: f013 0f08 tst.w r3, #8 - 1a3b4: d105 bne.n 1a3c2 - 1a3b6: 6800 ldr r0, [r0, #0] - 1a3b8: b118 cbz r0, 1a3c2 + 1a97e: 7c03 ldrb r3, [r0, #16] + 1a980: f013 0f08 tst.w r3, #8 + 1a984: d105 bne.n 1a992 + 1a986: 6800 ldr r0, [r0, #0] + 1a988: b118 cbz r0, 1a992 lv_mem_free(ext->text); - 1a3ba: 4b0e ldr r3, [pc, #56] ; (1a3f4 ) - 1a3bc: 4798 blx r3 + 1a98a: 4b0e ldr r3, [pc, #56] ; (1a9c4 ) + 1a98c: 4798 blx r3 ext->text = NULL; - 1a3be: 2300 movs r3, #0 - 1a3c0: 6023 str r3, [r4, #0] + 1a98e: 2300 movs r3, #0 + 1a990: 6023 str r3, [r4, #0] if(text != NULL) { - 1a3c2: b126 cbz r6, 1a3ce + 1a992: b126 cbz r6, 1a99e ext->static_txt = 1; - 1a3c4: 7c23 ldrb r3, [r4, #16] - 1a3c6: f043 0308 orr.w r3, r3, #8 - 1a3ca: 7423 strb r3, [r4, #16] + 1a994: 7c23 ldrb r3, [r4, #16] + 1a996: f043 0308 orr.w r3, r3, #8 + 1a99a: 7423 strb r3, [r4, #16] ext->text = (char *)text; - 1a3cc: 6026 str r6, [r4, #0] + 1a99c: 6026 str r6, [r4, #0] lv_label_refr_text(label); - 1a3ce: 4628 mov r0, r5 - 1a3d0: 4b09 ldr r3, [pc, #36] ; (1a3f8 ) - 1a3d2: 4798 blx r3 -} - 1a3d4: b002 add sp, #8 - 1a3d6: bd70 pop {r4, r5, r6, pc} - 1a3d8: 0000298d .word 0x0000298d - 1a3dc: 00020ba4 .word 0x00020ba4 - 1a3e0: 00020c94 .word 0x00020c94 - 1a3e4: 00012805 .word 0x00012805 - 1a3e8: 0001bd20 .word 0x0001bd20 - 1a3ec: 00002995 .word 0x00002995 - 1a3f0: 00005425 .word 0x00005425 - 1a3f4: 00012a6d .word 0x00012a6d - 1a3f8: 00019d31 .word 0x00019d31 - -0001a3fc : -{ - 1a3fc: b5f0 push {r4, r5, r6, r7, lr} - 1a3fe: b083 sub sp, #12 - 1a400: 4605 mov r5, r0 - 1a402: 460f mov r7, r1 + 1a99e: 4628 mov r0, r5 + 1a9a0: 4b09 ldr r3, [pc, #36] ; (1a9c8 ) + 1a9a2: 4798 blx r3 +} + 1a9a4: b002 add sp, #8 + 1a9a6: bd70 pop {r4, r5, r6, pc} + 1a9a8: 000022b1 .word 0x000022b1 + 1a9ac: 000298a4 .word 0x000298a4 + 1a9b0: 00029994 .word 0x00029994 + 1a9b4: 0001225d .word 0x0001225d + 1a9b8: 0002483c .word 0x0002483c + 1a9bc: 000022b9 .word 0x000022b9 + 1a9c0: 00004d9d .word 0x00004d9d + 1a9c4: 000124c5 .word 0x000124c5 + 1a9c8: 0001a301 .word 0x0001a301 + +0001a9cc : +{ + 1a9cc: b5f0 push {r4, r5, r6, r7, lr} + 1a9ce: b083 sub sp, #12 + 1a9d0: 4605 mov r5, r0 + 1a9d2: 460f mov r7, r1 LV_ASSERT_OBJ(label, LV_OBJX_NAME); - 1a404: 4b22 ldr r3, [pc, #136] ; (1a490 ) - 1a406: 4798 blx r3 - 1a408: b968 cbnz r0, 1a426 - 1a40a: 4b22 ldr r3, [pc, #136] ; (1a494 ) - 1a40c: 9300 str r3, [sp, #0] - 1a40e: f240 1265 movw r2, #357 ; 0x165 - 1a412: 4921 ldr r1, [pc, #132] ; (1a498 ) - 1a414: 2003 movs r0, #3 - 1a416: 4c21 ldr r4, [pc, #132] ; (1a49c ) - 1a418: 47a0 blx r4 - 1a41a: 462a mov r2, r5 - 1a41c: 2300 movs r3, #0 - 1a41e: 4820 ldr r0, [pc, #128] ; (1a4a0 ) - 1a420: 4920 ldr r1, [pc, #128] ; (1a4a4 ) - 1a422: 4788 blx r1 - 1a424: e7fe b.n 1a424 + 1a9d4: 4b22 ldr r3, [pc, #136] ; (1aa60 ) + 1a9d6: 4798 blx r3 + 1a9d8: b968 cbnz r0, 1a9f6 + 1a9da: 4b22 ldr r3, [pc, #136] ; (1aa64 ) + 1a9dc: 9300 str r3, [sp, #0] + 1a9de: f240 1265 movw r2, #357 ; 0x165 + 1a9e2: 4921 ldr r1, [pc, #132] ; (1aa68 ) + 1a9e4: 2003 movs r0, #3 + 1a9e6: 4c21 ldr r4, [pc, #132] ; (1aa6c ) + 1a9e8: 47a0 blx r4 + 1a9ea: 462a mov r2, r5 + 1a9ec: 2300 movs r3, #0 + 1a9ee: 4820 ldr r0, [pc, #128] ; (1aa70 ) + 1a9f0: 4920 ldr r1, [pc, #128] ; (1aa74 ) + 1a9f2: 4788 blx r1 + 1a9f4: e7fe b.n 1a9f4 lv_label_ext_t * ext = lv_obj_get_ext_attr(label); - 1a426: 4628 mov r0, r5 - 1a428: 4b1f ldr r3, [pc, #124] ; (1a4a8 ) - 1a42a: 4798 blx r3 - 1a42c: 4604 mov r4, r0 + 1a9f6: 4628 mov r0, r5 + 1a9f8: 4b1f ldr r3, [pc, #124] ; (1aa78 ) + 1a9fa: 4798 blx r3 + 1a9fc: 4604 mov r4, r0 lv_anim_del(label, (lv_anim_exec_xcb_t)lv_obj_set_x); - 1a42e: 491f ldr r1, [pc, #124] ; (1a4ac ) - 1a430: 4628 mov r0, r5 - 1a432: 4e1f ldr r6, [pc, #124] ; (1a4b0 ) - 1a434: 47b0 blx r6 + 1a9fe: 491f ldr r1, [pc, #124] ; (1aa7c ) + 1aa00: 4628 mov r0, r5 + 1aa02: 4e1f ldr r6, [pc, #124] ; (1aa80 ) + 1aa04: 47b0 blx r6 lv_anim_del(label, (lv_anim_exec_xcb_t)lv_obj_set_y); - 1a436: 491f ldr r1, [pc, #124] ; (1a4b4 ) - 1a438: 4628 mov r0, r5 - 1a43a: 47b0 blx r6 + 1aa06: 491f ldr r1, [pc, #124] ; (1aa84 ) + 1aa08: 4628 mov r0, r5 + 1aa0a: 47b0 blx r6 lv_anim_del(label, (lv_anim_exec_xcb_t)lv_label_set_offset_x); - 1a43c: 491e ldr r1, [pc, #120] ; (1a4b8 ) - 1a43e: 4628 mov r0, r5 - 1a440: 47b0 blx r6 + 1aa0c: 491e ldr r1, [pc, #120] ; (1aa88 ) + 1aa0e: 4628 mov r0, r5 + 1aa10: 47b0 blx r6 lv_anim_del(label, (lv_anim_exec_xcb_t)lv_label_set_offset_y); - 1a442: 491e ldr r1, [pc, #120] ; (1a4bc ) - 1a444: 4628 mov r0, r5 - 1a446: 47b0 blx r6 + 1aa12: 491e ldr r1, [pc, #120] ; (1aa8c ) + 1aa14: 4628 mov r0, r5 + 1aa16: 47b0 blx r6 ext->offset.x = 0; - 1a448: 2300 movs r3, #0 - 1a44a: 81a3 strh r3, [r4, #12] + 1aa18: 2300 movs r3, #0 + 1aa1a: 81a3 strh r3, [r4, #12] ext->offset.y = 0; - 1a44c: 81e3 strh r3, [r4, #14] + 1aa1c: 81e3 strh r3, [r4, #14] if(long_mode == LV_LABEL_LONG_SROLL || long_mode == LV_LABEL_LONG_SROLL_CIRC || long_mode == LV_LABEL_LONG_CROP) - 1a44e: 1efb subs r3, r7, #3 - 1a450: b2db uxtb r3, r3 - 1a452: 2b02 cmp r3, #2 + 1aa1e: 1efb subs r3, r7, #3 + 1aa20: b2db uxtb r3, r3 + 1aa22: 2b02 cmp r3, #2 ext->expand = 1; - 1a454: 7c23 ldrb r3, [r4, #16] - 1a456: bf94 ite ls - 1a458: f043 0380 orrls.w r3, r3, #128 ; 0x80 + 1aa24: 7c23 ldrb r3, [r4, #16] + 1aa26: bf94 ite ls + 1aa28: f043 0380 orrls.w r3, r3, #128 ; 0x80 ext->expand = 0; - 1a45c: f36f 13c7 bfchi r3, #7, #1 - 1a460: 7423 strb r3, [r4, #16] + 1aa2c: f36f 13c7 bfchi r3, #7, #1 + 1aa30: 7423 strb r3, [r4, #16] if(ext->long_mode == LV_LABEL_LONG_DOT && ext->dot_end != LV_LABEL_DOT_END_INV) { - 1a462: 7c23 ldrb r3, [r4, #16] - 1a464: f003 0307 and.w r3, r3, #7 - 1a468: 2b02 cmp r3, #2 - 1a46a: d008 beq.n 1a47e + 1aa32: 7c23 ldrb r3, [r4, #16] + 1aa34: f003 0307 and.w r3, r3, #7 + 1aa38: 2b02 cmp r3, #2 + 1aa3a: d008 beq.n 1aa4e ext->long_mode = long_mode; - 1a46c: 7c23 ldrb r3, [r4, #16] - 1a46e: f367 0302 bfi r3, r7, #0, #3 - 1a472: 7423 strb r3, [r4, #16] + 1aa3c: 7c23 ldrb r3, [r4, #16] + 1aa3e: f367 0302 bfi r3, r7, #0, #3 + 1aa42: 7423 strb r3, [r4, #16] lv_label_refr_text(label); - 1a474: 4628 mov r0, r5 - 1a476: 4b12 ldr r3, [pc, #72] ; (1a4c0 ) - 1a478: 4798 blx r3 + 1aa44: 4628 mov r0, r5 + 1aa46: 4b12 ldr r3, [pc, #72] ; (1aa90 ) + 1aa48: 4798 blx r3 } - 1a47a: b003 add sp, #12 - 1a47c: bdf0 pop {r4, r5, r6, r7, pc} + 1aa4a: b003 add sp, #12 + 1aa4c: bdf0 pop {r4, r5, r6, r7, pc} if(ext->long_mode == LV_LABEL_LONG_DOT && ext->dot_end != LV_LABEL_DOT_END_INV) { - 1a47e: 8922 ldrh r2, [r4, #8] - 1a480: f64f 73ff movw r3, #65535 ; 0xffff - 1a484: 429a cmp r2, r3 - 1a486: d0f1 beq.n 1a46c + 1aa4e: 8922 ldrh r2, [r4, #8] + 1aa50: f64f 73ff movw r3, #65535 ; 0xffff + 1aa54: 429a cmp r2, r3 + 1aa56: d0f1 beq.n 1aa3c lv_label_revert_dots(label); - 1a488: 4628 mov r0, r5 - 1a48a: 4b0e ldr r3, [pc, #56] ; (1a4c4 ) - 1a48c: 4798 blx r3 - 1a48e: e7ed b.n 1a46c - 1a490: 0000298d .word 0x0000298d - 1a494: 00020bc0 .word 0x00020bc0 - 1a498: 00020c94 .word 0x00020c94 - 1a49c: 00012805 .word 0x00012805 - 1a4a0: 0001bd20 .word 0x0001bd20 - 1a4a4: 00002995 .word 0x00002995 - 1a4a8: 00005425 .word 0x00005425 - 1a4ac: 00003bb1 .word 0x00003bb1 - 1a4b0: 000118d1 .word 0x000118d1 - 1a4b4: 00003c11 .word 0x00003c11 - 1a4b8: 0001979d .word 0x0001979d - 1a4bc: 00019781 .word 0x00019781 - 1a4c0: 00019d31 .word 0x00019d31 - 1a4c4: 000196f5 .word 0x000196f5 - -0001a4c8 : -{ - 1a4c8: b530 push {r4, r5, lr} - 1a4ca: b083 sub sp, #12 - 1a4cc: 4604 mov r4, r0 - 1a4ce: 460d mov r5, r1 + 1aa58: 4628 mov r0, r5 + 1aa5a: 4b0e ldr r3, [pc, #56] ; (1aa94 ) + 1aa5c: 4798 blx r3 + 1aa5e: e7ed b.n 1aa3c + 1aa60: 000022b1 .word 0x000022b1 + 1aa64: 000298c0 .word 0x000298c0 + 1aa68: 00029994 .word 0x00029994 + 1aa6c: 0001225d .word 0x0001225d + 1aa70: 0002483c .word 0x0002483c + 1aa74: 000022b9 .word 0x000022b9 + 1aa78: 00004d9d .word 0x00004d9d + 1aa7c: 00003529 .word 0x00003529 + 1aa80: 00011329 .word 0x00011329 + 1aa84: 00003589 .word 0x00003589 + 1aa88: 00019d6d .word 0x00019d6d + 1aa8c: 00019d51 .word 0x00019d51 + 1aa90: 0001a301 .word 0x0001a301 + 1aa94: 00019cc5 .word 0x00019cc5 + +0001aa98 : +{ + 1aa98: b530 push {r4, r5, lr} + 1aa9a: b083 sub sp, #12 + 1aa9c: 4604 mov r4, r0 + 1aa9e: 460d mov r5, r1 LV_ASSERT_OBJ(label, LV_OBJX_NAME); - 1a4d0: 4b10 ldr r3, [pc, #64] ; (1a514 ) - 1a4d2: 4798 blx r3 - 1a4d4: b968 cbnz r0, 1a4f2 - 1a4d6: 4b10 ldr r3, [pc, #64] ; (1a518 ) - 1a4d8: 9300 str r3, [sp, #0] - 1a4da: f44f 72cd mov.w r2, #410 ; 0x19a - 1a4de: 490f ldr r1, [pc, #60] ; (1a51c ) - 1a4e0: 2003 movs r0, #3 - 1a4e2: 4d0f ldr r5, [pc, #60] ; (1a520 ) - 1a4e4: 47a8 blx r5 - 1a4e6: 4622 mov r2, r4 - 1a4e8: 2300 movs r3, #0 - 1a4ea: 480e ldr r0, [pc, #56] ; (1a524 ) - 1a4ec: 490e ldr r1, [pc, #56] ; (1a528 ) - 1a4ee: 4788 blx r1 - 1a4f0: e7fe b.n 1a4f0 + 1aaa0: 4b10 ldr r3, [pc, #64] ; (1aae4 ) + 1aaa2: 4798 blx r3 + 1aaa4: b968 cbnz r0, 1aac2 + 1aaa6: 4b10 ldr r3, [pc, #64] ; (1aae8 ) + 1aaa8: 9300 str r3, [sp, #0] + 1aaaa: f44f 72cd mov.w r2, #410 ; 0x19a + 1aaae: 490f ldr r1, [pc, #60] ; (1aaec ) + 1aab0: 2003 movs r0, #3 + 1aab2: 4d0f ldr r5, [pc, #60] ; (1aaf0 ) + 1aab4: 47a8 blx r5 + 1aab6: 4622 mov r2, r4 + 1aab8: 2300 movs r3, #0 + 1aaba: 480e ldr r0, [pc, #56] ; (1aaf4 ) + 1aabc: 490e ldr r1, [pc, #56] ; (1aaf8 ) + 1aabe: 4788 blx r1 + 1aac0: e7fe b.n 1aac0 lv_label_ext_t * ext = lv_obj_get_ext_attr(label); - 1a4f2: 4620 mov r0, r4 - 1a4f4: 4b0d ldr r3, [pc, #52] ; (1a52c ) - 1a4f6: 4798 blx r3 + 1aac2: 4620 mov r0, r4 + 1aac4: 4b0d ldr r3, [pc, #52] ; (1aafc ) + 1aac6: 4798 blx r3 if(ext->recolor == en) return; - 1a4f8: 7c03 ldrb r3, [r0, #16] - 1a4fa: f3c3 1380 ubfx r3, r3, #6, #1 - 1a4fe: 42ab cmp r3, r5 - 1a500: d006 beq.n 1a510 + 1aac8: 7c03 ldrb r3, [r0, #16] + 1aaca: f3c3 1380 ubfx r3, r3, #6, #1 + 1aace: 42ab cmp r3, r5 + 1aad0: d006 beq.n 1aae0 ext->recolor = en == false ? 0 : 1; - 1a502: 7c03 ldrb r3, [r0, #16] - 1a504: f365 1386 bfi r3, r5, #6, #1 - 1a508: 7403 strb r3, [r0, #16] + 1aad2: 7c03 ldrb r3, [r0, #16] + 1aad4: f365 1386 bfi r3, r5, #6, #1 + 1aad8: 7403 strb r3, [r0, #16] lv_label_refr_text(label); /*Refresh the text because the potential colo codes in text needs to - 1a50a: 4620 mov r0, r4 - 1a50c: 4b08 ldr r3, [pc, #32] ; (1a530 ) - 1a50e: 4798 blx r3 -} - 1a510: b003 add sp, #12 - 1a512: bd30 pop {r4, r5, pc} - 1a514: 0000298d .word 0x0000298d - 1a518: 00020bd8 .word 0x00020bd8 - 1a51c: 00020c94 .word 0x00020c94 - 1a520: 00012805 .word 0x00012805 - 1a524: 0001bd20 .word 0x0001bd20 - 1a528: 00002995 .word 0x00002995 - 1a52c: 00005425 .word 0x00005425 - 1a530: 00019d31 .word 0x00019d31 - -0001a534 : -{ - 1a534: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - 1a538: b082 sub sp, #8 - 1a53a: 460f mov r7, r1 + 1aada: 4620 mov r0, r4 + 1aadc: 4b08 ldr r3, [pc, #32] ; (1ab00 ) + 1aade: 4798 blx r3 +} + 1aae0: b003 add sp, #12 + 1aae2: bd30 pop {r4, r5, pc} + 1aae4: 000022b1 .word 0x000022b1 + 1aae8: 000298d8 .word 0x000298d8 + 1aaec: 00029994 .word 0x00029994 + 1aaf0: 0001225d .word 0x0001225d + 1aaf4: 0002483c .word 0x0002483c + 1aaf8: 000022b9 .word 0x000022b9 + 1aafc: 00004d9d .word 0x00004d9d + 1ab00: 0001a301 .word 0x0001a301 + +0001ab04 : +{ + 1ab04: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} + 1ab08: b082 sub sp, #8 + 1ab0a: 460f mov r7, r1 lv_obj_t * new_label = lv_obj_create(par, copy); - 1a53c: 4b79 ldr r3, [pc, #484] ; (1a724 ) - 1a53e: 4798 blx r3 - 1a540: 4604 mov r4, r0 + 1ab0c: 4b79 ldr r3, [pc, #484] ; (1acf4 ) + 1ab0e: 4798 blx r3 + 1ab10: 4604 mov r4, r0 LV_ASSERT_MEM(new_label); - 1a542: 4b79 ldr r3, [pc, #484] ; (1a728 ) - 1a544: 4798 blx r3 - 1a546: b1e8 cbz r0, 1a584 + 1ab12: 4b79 ldr r3, [pc, #484] ; (1acf8 ) + 1ab14: 4798 blx r3 + 1ab16: b1e8 cbz r0, 1ab54 if(new_label == NULL) return NULL; - 1a548: 2c00 cmp r4, #0 - 1a54a: f000 809a beq.w 1a682 + 1ab18: 2c00 cmp r4, #0 + 1ab1a: f000 809a beq.w 1ac52 if(ancestor_signal == NULL) ancestor_signal = lv_obj_get_signal_cb(new_label); - 1a54e: 4b77 ldr r3, [pc, #476] ; (1a72c ) - 1a550: 681b ldr r3, [r3, #0] - 1a552: b323 cbz r3, 1a59e + 1ab1e: 4b77 ldr r3, [pc, #476] ; (1acfc ) + 1ab20: 681b ldr r3, [r3, #0] + 1ab22: b323 cbz r3, 1ab6e lv_obj_allocate_ext_attr(new_label, sizeof(lv_label_ext_t)); - 1a554: 2114 movs r1, #20 - 1a556: 4620 mov r0, r4 - 1a558: 4b75 ldr r3, [pc, #468] ; (1a730 ) - 1a55a: 4798 blx r3 + 1ab24: 2114 movs r1, #20 + 1ab26: 4620 mov r0, r4 + 1ab28: 4b75 ldr r3, [pc, #468] ; (1ad00 ) + 1ab2a: 4798 blx r3 lv_label_ext_t * ext = lv_obj_get_ext_attr(new_label); - 1a55c: 4620 mov r0, r4 - 1a55e: 4b75 ldr r3, [pc, #468] ; (1a734 ) - 1a560: 4798 blx r3 - 1a562: 4605 mov r5, r0 + 1ab2c: 4620 mov r0, r4 + 1ab2e: 4b75 ldr r3, [pc, #468] ; (1ad04 ) + 1ab30: 4798 blx r3 + 1ab32: 4605 mov r5, r0 LV_ASSERT_MEM(ext); - 1a564: 4b70 ldr r3, [pc, #448] ; (1a728 ) - 1a566: 4798 blx r3 - 1a568: b9f8 cbnz r0, 1a5aa - 1a56a: 4b73 ldr r3, [pc, #460] ; (1a738 ) - 1a56c: 9300 str r3, [sp, #0] - 1a56e: 225d movs r2, #93 ; 0x5d - 1a570: 4972 ldr r1, [pc, #456] ; (1a73c ) - 1a572: 2003 movs r0, #3 - 1a574: 4c72 ldr r4, [pc, #456] ; (1a740 ) - 1a576: 47a0 blx r4 - 1a578: 462a mov r2, r5 - 1a57a: 2300 movs r3, #0 - 1a57c: 4871 ldr r0, [pc, #452] ; (1a744 ) - 1a57e: 4972 ldr r1, [pc, #456] ; (1a748 ) - 1a580: 4788 blx r1 - 1a582: e7fe b.n 1a582 + 1ab34: 4b70 ldr r3, [pc, #448] ; (1acf8 ) + 1ab36: 4798 blx r3 + 1ab38: b9f8 cbnz r0, 1ab7a + 1ab3a: 4b73 ldr r3, [pc, #460] ; (1ad08 ) + 1ab3c: 9300 str r3, [sp, #0] + 1ab3e: 225d movs r2, #93 ; 0x5d + 1ab40: 4972 ldr r1, [pc, #456] ; (1ad0c ) + 1ab42: 2003 movs r0, #3 + 1ab44: 4c72 ldr r4, [pc, #456] ; (1ad10 ) + 1ab46: 47a0 blx r4 + 1ab48: 462a mov r2, r5 + 1ab4a: 2300 movs r3, #0 + 1ab4c: 4871 ldr r0, [pc, #452] ; (1ad14 ) + 1ab4e: 4972 ldr r1, [pc, #456] ; (1ad18 ) + 1ab50: 4788 blx r1 + 1ab52: e7fe b.n 1ab52 LV_ASSERT_MEM(new_label); - 1a584: 4b6c ldr r3, [pc, #432] ; (1a738 ) - 1a586: 9300 str r3, [sp, #0] - 1a588: 2254 movs r2, #84 ; 0x54 - 1a58a: 496c ldr r1, [pc, #432] ; (1a73c ) - 1a58c: 2003 movs r0, #3 - 1a58e: 4d6c ldr r5, [pc, #432] ; (1a740 ) - 1a590: 47a8 blx r5 - 1a592: 4622 mov r2, r4 - 1a594: 2300 movs r3, #0 - 1a596: 486b ldr r0, [pc, #428] ; (1a744 ) - 1a598: 496b ldr r1, [pc, #428] ; (1a748 ) - 1a59a: 4788 blx r1 - 1a59c: e7fe b.n 1a59c + 1ab54: 4b6c ldr r3, [pc, #432] ; (1ad08 ) + 1ab56: 9300 str r3, [sp, #0] + 1ab58: 2254 movs r2, #84 ; 0x54 + 1ab5a: 496c ldr r1, [pc, #432] ; (1ad0c ) + 1ab5c: 2003 movs r0, #3 + 1ab5e: 4d6c ldr r5, [pc, #432] ; (1ad10 ) + 1ab60: 47a8 blx r5 + 1ab62: 4622 mov r2, r4 + 1ab64: 2300 movs r3, #0 + 1ab66: 486b ldr r0, [pc, #428] ; (1ad14 ) + 1ab68: 496b ldr r1, [pc, #428] ; (1ad18 ) + 1ab6a: 4788 blx r1 + 1ab6c: e7fe b.n 1ab6c if(ancestor_signal == NULL) ancestor_signal = lv_obj_get_signal_cb(new_label); - 1a59e: 4620 mov r0, r4 - 1a5a0: 4b6a ldr r3, [pc, #424] ; (1a74c ) - 1a5a2: 4798 blx r3 - 1a5a4: 4b61 ldr r3, [pc, #388] ; (1a72c ) - 1a5a6: 6018 str r0, [r3, #0] - 1a5a8: e7d4 b.n 1a554 + 1ab6e: 4620 mov r0, r4 + 1ab70: 4b6a ldr r3, [pc, #424] ; (1ad1c ) + 1ab72: 4798 blx r3 + 1ab74: 4b61 ldr r3, [pc, #388] ; (1acfc ) + 1ab76: 6018 str r0, [r3, #0] + 1ab78: e7d4 b.n 1ab24 if(ext == NULL) { - 1a5aa: 2d00 cmp r5, #0 - 1a5ac: d06d beq.n 1a68a + 1ab7a: 2d00 cmp r5, #0 + 1ab7c: d06d beq.n 1ac5a ext->text = NULL; - 1a5ae: 2300 movs r3, #0 - 1a5b0: 602b str r3, [r5, #0] + 1ab7e: 2300 movs r3, #0 + 1ab80: 602b str r3, [r5, #0] ext->static_txt = 0; - 1a5b2: 7c2a ldrb r2, [r5, #16] + 1ab82: 7c2a ldrb r2, [r5, #16] ext->align = LV_LABEL_ALIGN_AUTO; - 1a5b4: f002 02b7 and.w r2, r2, #183 ; 0xb7 + 1ab84: f002 02b7 and.w r2, r2, #183 ; 0xb7 ext->dot_end = LV_LABEL_DOT_END_INV; - 1a5b8: f64f 71ff movw r1, #65535 ; 0xffff - 1a5bc: 8129 strh r1, [r5, #8] + 1ab88: f64f 71ff movw r1, #65535 ; 0xffff + 1ab8c: 8129 strh r1, [r5, #8] ext->long_mode = LV_LABEL_LONG_EXPAND; - 1a5be: f042 0230 orr.w r2, r2, #48 ; 0x30 - 1a5c2: f363 0202 bfi r2, r3, #0, #3 - 1a5c6: 742a strb r2, [r5, #16] + 1ab8e: f042 0230 orr.w r2, r2, #48 ; 0x30 + 1ab92: f363 0202 bfi r2, r3, #0, #3 + 1ab96: 742a strb r2, [r5, #16] ext->anim_speed = LV_LABEL_DEF_SCROLL_SPEED; - 1a5c8: 2219 movs r2, #25 - 1a5ca: 816a strh r2, [r5, #10] + 1ab98: 2219 movs r2, #25 + 1ab9a: 816a strh r2, [r5, #10] ext->offset.x = 0; - 1a5cc: 81ab strh r3, [r5, #12] + 1ab9c: 81ab strh r3, [r5, #12] ext->offset.y = 0; - 1a5ce: 81eb strh r3, [r5, #14] + 1ab9e: 81eb strh r3, [r5, #14] ext->dot.tmp_ptr = NULL; - 1a5d0: 606b str r3, [r5, #4] + 1aba0: 606b str r3, [r5, #4] ext->dot_tmp_alloc = 0; - 1a5d2: 7c6a ldrb r2, [r5, #17] - 1a5d4: f363 0200 bfi r2, r3, #0, #1 - 1a5d8: 746a strb r2, [r5, #17] + 1aba2: 7c6a ldrb r2, [r5, #17] + 1aba4: f363 0200 bfi r2, r3, #0, #1 + 1aba8: 746a strb r2, [r5, #17] lv_obj_set_design_cb(new_label, lv_label_design); - 1a5da: 495d ldr r1, [pc, #372] ; (1a750 ) - 1a5dc: 4620 mov r0, r4 - 1a5de: 4b5d ldr r3, [pc, #372] ; (1a754 ) - 1a5e0: 4798 blx r3 + 1abaa: 495d ldr r1, [pc, #372] ; (1ad20 ) + 1abac: 4620 mov r0, r4 + 1abae: 4b5d ldr r3, [pc, #372] ; (1ad24 ) + 1abb0: 4798 blx r3 lv_obj_set_signal_cb(new_label, lv_label_signal); - 1a5e2: 495d ldr r1, [pc, #372] ; (1a758 ) - 1a5e4: 4620 mov r0, r4 - 1a5e6: 4b5d ldr r3, [pc, #372] ; (1a75c ) - 1a5e8: 4798 blx r3 + 1abb2: 495d ldr r1, [pc, #372] ; (1ad28 ) + 1abb4: 4620 mov r0, r4 + 1abb6: 4b5d ldr r3, [pc, #372] ; (1ad2c ) + 1abb8: 4798 blx r3 if(copy == NULL) { - 1a5ea: 2f00 cmp r7, #0 - 1a5ec: d052 beq.n 1a694 + 1abba: 2f00 cmp r7, #0 + 1abbc: d052 beq.n 1ac64 lv_label_ext_t * copy_ext = lv_obj_get_ext_attr(copy); - 1a5ee: 4638 mov r0, r7 - 1a5f0: 4b50 ldr r3, [pc, #320] ; (1a734 ) - 1a5f2: 4798 blx r3 - 1a5f4: 4606 mov r6, r0 + 1abbe: 4638 mov r0, r7 + 1abc0: 4b50 ldr r3, [pc, #320] ; (1ad04 ) + 1abc2: 4798 blx r3 + 1abc4: 4606 mov r6, r0 lv_label_set_long_mode(new_label, lv_label_get_long_mode(copy)); - 1a5f6: 4638 mov r0, r7 - 1a5f8: 4b59 ldr r3, [pc, #356] ; (1a760 ) - 1a5fa: 4798 blx r3 - 1a5fc: 4601 mov r1, r0 - 1a5fe: 4620 mov r0, r4 - 1a600: 4b58 ldr r3, [pc, #352] ; (1a764 ) - 1a602: 4798 blx r3 + 1abc6: 4638 mov r0, r7 + 1abc8: 4b59 ldr r3, [pc, #356] ; (1ad30 ) + 1abca: 4798 blx r3 + 1abcc: 4601 mov r1, r0 + 1abce: 4620 mov r0, r4 + 1abd0: 4b58 ldr r3, [pc, #352] ; (1ad34 ) + 1abd2: 4798 blx r3 lv_label_set_recolor(new_label, lv_label_get_recolor(copy)); - 1a604: 4638 mov r0, r7 - 1a606: 4b58 ldr r3, [pc, #352] ; (1a768 ) - 1a608: 4798 blx r3 - 1a60a: 4601 mov r1, r0 - 1a60c: 4620 mov r0, r4 - 1a60e: 4b57 ldr r3, [pc, #348] ; (1a76c ) - 1a610: 4798 blx r3 + 1abd4: 4638 mov r0, r7 + 1abd6: 4b58 ldr r3, [pc, #352] ; (1ad38 ) + 1abd8: 4798 blx r3 + 1abda: 4601 mov r1, r0 + 1abdc: 4620 mov r0, r4 + 1abde: 4b57 ldr r3, [pc, #348] ; (1ad3c ) + 1abe0: 4798 blx r3 lv_label_set_align(new_label, lv_label_get_align(copy)); - 1a612: 4638 mov r0, r7 - 1a614: 4b56 ldr r3, [pc, #344] ; (1a770 ) - 1a616: 4798 blx r3 - 1a618: 4601 mov r1, r0 - 1a61a: 4620 mov r0, r4 - 1a61c: 4b55 ldr r3, [pc, #340] ; (1a774 ) - 1a61e: 4798 blx r3 + 1abe2: 4638 mov r0, r7 + 1abe4: 4b56 ldr r3, [pc, #344] ; (1ad40 ) + 1abe6: 4798 blx r3 + 1abe8: 4601 mov r1, r0 + 1abea: 4620 mov r0, r4 + 1abec: 4b55 ldr r3, [pc, #340] ; (1ad44 ) + 1abee: 4798 blx r3 if(copy_ext->static_txt == 0) - 1a620: 7c33 ldrb r3, [r6, #16] - 1a622: f013 0f08 tst.w r3, #8 - 1a626: d146 bne.n 1a6b6 + 1abf0: 7c33 ldrb r3, [r6, #16] + 1abf2: f013 0f08 tst.w r3, #8 + 1abf6: d146 bne.n 1ac86 lv_label_set_text(new_label, lv_label_get_text(copy)); - 1a628: 4638 mov r0, r7 - 1a62a: 4b53 ldr r3, [pc, #332] ; (1a778 ) - 1a62c: 4798 blx r3 - 1a62e: 4601 mov r1, r0 - 1a630: 4620 mov r0, r4 - 1a632: 4b52 ldr r3, [pc, #328] ; (1a77c ) - 1a634: 4798 blx r3 + 1abf8: 4638 mov r0, r7 + 1abfa: 4b53 ldr r3, [pc, #332] ; (1ad48 ) + 1abfc: 4798 blx r3 + 1abfe: 4601 mov r1, r0 + 1ac00: 4620 mov r0, r4 + 1ac02: 4b52 ldr r3, [pc, #328] ; (1ad4c ) + 1ac04: 4798 blx r3 if(copy_ext->long_mode == LV_LABEL_LONG_DOT) { - 1a636: 7c33 ldrb r3, [r6, #16] - 1a638: f003 0307 and.w r3, r3, #7 - 1a63c: 2b02 cmp r3, #2 - 1a63e: d042 beq.n 1a6c6 + 1ac06: 7c33 ldrb r3, [r6, #16] + 1ac08: f003 0307 and.w r3, r3, #7 + 1ac0c: 2b02 cmp r3, #2 + 1ac0e: d042 beq.n 1ac96 if(copy_ext->dot_tmp_alloc && copy_ext->dot.tmp_ptr) { - 1a640: 7c73 ldrb r3, [r6, #17] - 1a642: f013 0f01 tst.w r3, #1 - 1a646: d064 beq.n 1a712 - 1a648: 6870 ldr r0, [r6, #4] - 1a64a: 2800 cmp r0, #0 - 1a64c: d061 beq.n 1a712 + 1ac10: 7c73 ldrb r3, [r6, #17] + 1ac12: f013 0f01 tst.w r3, #1 + 1ac16: d064 beq.n 1ace2 + 1ac18: 6870 ldr r0, [r6, #4] + 1ac1a: 2800 cmp r0, #0 + 1ac1c: d061 beq.n 1ace2 uint16_t len = (uint16_t)strlen(copy_ext->dot.tmp_ptr); - 1a64e: 4b4c ldr r3, [pc, #304] ; (1a780 ) - 1a650: 4798 blx r3 + 1ac1e: 4b4c ldr r3, [pc, #304] ; (1ad50 ) + 1ac20: 4798 blx r3 lv_label_set_dot_tmp(new_label, ext->dot.tmp_ptr, len); - 1a652: b282 uxth r2, r0 - 1a654: 6869 ldr r1, [r5, #4] - 1a656: 4620 mov r0, r4 - 1a658: 4b4a ldr r3, [pc, #296] ; (1a784 ) - 1a65a: 4798 blx r3 + 1ac22: b282 uxth r2, r0 + 1ac24: 6869 ldr r1, [r5, #4] + 1ac26: 4620 mov r0, r4 + 1ac28: 4b4a ldr r3, [pc, #296] ; (1ad54 ) + 1ac2a: 4798 blx r3 ext->dot_tmp_alloc = copy_ext->dot_tmp_alloc; - 1a65c: 7c72 ldrb r2, [r6, #17] - 1a65e: 7c6b ldrb r3, [r5, #17] - 1a660: f362 0300 bfi r3, r2, #0, #1 - 1a664: 746b strb r3, [r5, #17] + 1ac2c: 7c72 ldrb r2, [r6, #17] + 1ac2e: 7c6b ldrb r3, [r5, #17] + 1ac30: f362 0300 bfi r3, r2, #0, #1 + 1ac34: 746b strb r3, [r5, #17] ext->dot_end = copy_ext->dot_end; - 1a666: 8933 ldrh r3, [r6, #8] - 1a668: 812b strh r3, [r5, #8] + 1ac36: 8933 ldrh r3, [r6, #8] + 1ac38: 812b strh r3, [r5, #8] lv_obj_refresh_style(new_label, LV_STYLE_PROP_ALL); - 1a66a: 21ff movs r1, #255 ; 0xff - 1a66c: 4620 mov r0, r4 - 1a66e: 4b46 ldr r3, [pc, #280] ; (1a788 ) - 1a670: 4798 blx r3 + 1ac3a: 21ff movs r1, #255 ; 0xff + 1ac3c: 4620 mov r0, r4 + 1ac3e: 4b46 ldr r3, [pc, #280] ; (1ad58 ) + 1ac40: 4798 blx r3 LV_LOG_INFO("label created"); - 1a672: 4b46 ldr r3, [pc, #280] ; (1a78c ) - 1a674: 9300 str r3, [sp, #0] - 1a676: 4b30 ldr r3, [pc, #192] ; (1a738 ) - 1a678: 22a8 movs r2, #168 ; 0xa8 - 1a67a: 4930 ldr r1, [pc, #192] ; (1a73c ) - 1a67c: 2001 movs r0, #1 - 1a67e: 4d30 ldr r5, [pc, #192] ; (1a740 ) - 1a680: 47a8 blx r5 -} - 1a682: 4620 mov r0, r4 - 1a684: b002 add sp, #8 - 1a686: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + 1ac42: 4b46 ldr r3, [pc, #280] ; (1ad5c ) + 1ac44: 9300 str r3, [sp, #0] + 1ac46: 4b30 ldr r3, [pc, #192] ; (1ad08 ) + 1ac48: 22a8 movs r2, #168 ; 0xa8 + 1ac4a: 4930 ldr r1, [pc, #192] ; (1ad0c ) + 1ac4c: 2001 movs r0, #1 + 1ac4e: 4d30 ldr r5, [pc, #192] ; (1ad10 ) + 1ac50: 47a8 blx r5 +} + 1ac52: 4620 mov r0, r4 + 1ac54: b002 add sp, #8 + 1ac56: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} lv_obj_del(new_label); - 1a68a: 4620 mov r0, r4 - 1a68c: 4b40 ldr r3, [pc, #256] ; (1a790 ) - 1a68e: 4798 blx r3 + 1ac5a: 4620 mov r0, r4 + 1ac5c: 4b40 ldr r3, [pc, #256] ; (1ad60 ) + 1ac5e: 4798 blx r3 return NULL; - 1a690: 2400 movs r4, #0 - 1a692: e7f6 b.n 1a682 + 1ac60: 2400 movs r4, #0 + 1ac62: e7f6 b.n 1ac52 lv_theme_apply(new_label, LV_THEME_LABEL); - 1a694: 2112 movs r1, #18 - 1a696: 4620 mov r0, r4 - 1a698: 4b3e ldr r3, [pc, #248] ; (1a794 ) - 1a69a: 4798 blx r3 + 1ac64: 2112 movs r1, #18 + 1ac66: 4620 mov r0, r4 + 1ac68: 4b3e ldr r3, [pc, #248] ; (1ad64 ) + 1ac6a: 4798 blx r3 lv_obj_set_click(new_label, false); - 1a69c: 2100 movs r1, #0 - 1a69e: 4620 mov r0, r4 - 1a6a0: 4b3d ldr r3, [pc, #244] ; (1a798 ) - 1a6a2: 4798 blx r3 + 1ac6c: 2100 movs r1, #0 + 1ac6e: 4620 mov r0, r4 + 1ac70: 4b3d ldr r3, [pc, #244] ; (1ad68 ) + 1ac72: 4798 blx r3 lv_label_set_long_mode(new_label, LV_LABEL_LONG_EXPAND); - 1a6a4: 2100 movs r1, #0 - 1a6a6: 4620 mov r0, r4 - 1a6a8: 4b2e ldr r3, [pc, #184] ; (1a764 ) - 1a6aa: 4798 blx r3 + 1ac74: 2100 movs r1, #0 + 1ac76: 4620 mov r0, r4 + 1ac78: 4b2e ldr r3, [pc, #184] ; (1ad34 ) + 1ac7a: 4798 blx r3 lv_label_set_text(new_label, "Text"); - 1a6ac: 493b ldr r1, [pc, #236] ; (1a79c ) - 1a6ae: 4620 mov r0, r4 - 1a6b0: 4b32 ldr r3, [pc, #200] ; (1a77c ) - 1a6b2: 4798 blx r3 - 1a6b4: e7dd b.n 1a672 + 1ac7c: 493b ldr r1, [pc, #236] ; (1ad6c ) + 1ac7e: 4620 mov r0, r4 + 1ac80: 4b32 ldr r3, [pc, #200] ; (1ad4c ) + 1ac82: 4798 blx r3 + 1ac84: e7dd b.n 1ac42 lv_label_set_text_static(new_label, lv_label_get_text(copy)); - 1a6b6: 4638 mov r0, r7 - 1a6b8: 4b2f ldr r3, [pc, #188] ; (1a778 ) - 1a6ba: 4798 blx r3 - 1a6bc: 4601 mov r1, r0 - 1a6be: 4620 mov r0, r4 - 1a6c0: 4b37 ldr r3, [pc, #220] ; (1a7a0 ) - 1a6c2: 4798 blx r3 - 1a6c4: e7b7 b.n 1a636 + 1ac86: 4638 mov r0, r7 + 1ac88: 4b2f ldr r3, [pc, #188] ; (1ad48 ) + 1ac8a: 4798 blx r3 + 1ac8c: 4601 mov r1, r0 + 1ac8e: 4620 mov r0, r4 + 1ac90: 4b37 ldr r3, [pc, #220] ; (1ad70 ) + 1ac92: 4798 blx r3 + 1ac94: e7b7 b.n 1ac06 ext->text = lv_mem_realloc(ext->text, _lv_mem_get_size(copy_ext->text)); - 1a6c6: 682f ldr r7, [r5, #0] - 1a6c8: 6830 ldr r0, [r6, #0] - 1a6ca: 4b36 ldr r3, [pc, #216] ; (1a7a4 ) - 1a6cc: 4798 blx r3 - 1a6ce: 4601 mov r1, r0 - 1a6d0: 4638 mov r0, r7 - 1a6d2: 4b35 ldr r3, [pc, #212] ; (1a7a8 ) - 1a6d4: 4798 blx r3 - 1a6d6: 6028 str r0, [r5, #0] + 1ac96: 682f ldr r7, [r5, #0] + 1ac98: 6830 ldr r0, [r6, #0] + 1ac9a: 4b36 ldr r3, [pc, #216] ; (1ad74 ) + 1ac9c: 4798 blx r3 + 1ac9e: 4601 mov r1, r0 + 1aca0: 4638 mov r0, r7 + 1aca2: 4b35 ldr r3, [pc, #212] ; (1ad78 ) + 1aca4: 4798 blx r3 + 1aca6: 6028 str r0, [r5, #0] LV_ASSERT_MEM(ext->text); - 1a6d8: 4b13 ldr r3, [pc, #76] ; (1a728 ) - 1a6da: 4798 blx r3 - 1a6dc: b960 cbnz r0, 1a6f8 - 1a6de: 4b16 ldr r3, [pc, #88] ; (1a738 ) - 1a6e0: 9300 str r3, [sp, #0] - 1a6e2: 2295 movs r2, #149 ; 0x95 - 1a6e4: 4915 ldr r1, [pc, #84] ; (1a73c ) - 1a6e6: 2003 movs r0, #3 - 1a6e8: 4c15 ldr r4, [pc, #84] ; (1a740 ) - 1a6ea: 47a0 blx r4 - 1a6ec: 682a ldr r2, [r5, #0] - 1a6ee: 2300 movs r3, #0 - 1a6f0: 4814 ldr r0, [pc, #80] ; (1a744 ) - 1a6f2: 4915 ldr r1, [pc, #84] ; (1a748 ) - 1a6f4: 4788 blx r1 - 1a6f6: e7fe b.n 1a6f6 + 1aca8: 4b13 ldr r3, [pc, #76] ; (1acf8 ) + 1acaa: 4798 blx r3 + 1acac: b960 cbnz r0, 1acc8 + 1acae: 4b16 ldr r3, [pc, #88] ; (1ad08 ) + 1acb0: 9300 str r3, [sp, #0] + 1acb2: 2295 movs r2, #149 ; 0x95 + 1acb4: 4915 ldr r1, [pc, #84] ; (1ad0c ) + 1acb6: 2003 movs r0, #3 + 1acb8: 4c15 ldr r4, [pc, #84] ; (1ad10 ) + 1acba: 47a0 blx r4 + 1acbc: 682a ldr r2, [r5, #0] + 1acbe: 2300 movs r3, #0 + 1acc0: 4814 ldr r0, [pc, #80] ; (1ad14 ) + 1acc2: 4915 ldr r1, [pc, #84] ; (1ad18 ) + 1acc4: 4788 blx r1 + 1acc6: e7fe b.n 1acc6 if(ext->text == NULL) return NULL; - 1a6f8: 682f ldr r7, [r5, #0] - 1a6fa: b187 cbz r7, 1a71e + 1acc8: 682f ldr r7, [r5, #0] + 1acca: b187 cbz r7, 1acee _lv_memcpy(ext->text, copy_ext->text, _lv_mem_get_size(copy_ext->text)); - 1a6fc: f8d6 8000 ldr.w r8, [r6] - 1a700: 4640 mov r0, r8 - 1a702: 4b28 ldr r3, [pc, #160] ; (1a7a4 ) - 1a704: 4798 blx r3 - 1a706: 4602 mov r2, r0 - 1a708: 4641 mov r1, r8 - 1a70a: 4638 mov r0, r7 - 1a70c: 4b27 ldr r3, [pc, #156] ; (1a7ac ) - 1a70e: 4798 blx r3 - 1a710: e796 b.n 1a640 + 1accc: f8d6 8000 ldr.w r8, [r6] + 1acd0: 4640 mov r0, r8 + 1acd2: 4b28 ldr r3, [pc, #160] ; (1ad74 ) + 1acd4: 4798 blx r3 + 1acd6: 4602 mov r2, r0 + 1acd8: 4641 mov r1, r8 + 1acda: 4638 mov r0, r7 + 1acdc: 4b27 ldr r3, [pc, #156] ; (1ad7c ) + 1acde: 4798 blx r3 + 1ace0: e796 b.n 1ac10 _lv_memcpy(ext->dot.tmp, copy_ext->dot.tmp, sizeof(ext->dot.tmp)); - 1a712: 2204 movs r2, #4 - 1a714: 18b1 adds r1, r6, r2 - 1a716: 18a8 adds r0, r5, r2 - 1a718: 4b24 ldr r3, [pc, #144] ; (1a7ac ) - 1a71a: 4798 blx r3 - 1a71c: e79e b.n 1a65c + 1ace2: 2204 movs r2, #4 + 1ace4: 18b1 adds r1, r6, r2 + 1ace6: 18a8 adds r0, r5, r2 + 1ace8: 4b24 ldr r3, [pc, #144] ; (1ad7c ) + 1acea: 4798 blx r3 + 1acec: e79e b.n 1ac2c if(ext->text == NULL) return NULL; - 1a71e: 2400 movs r4, #0 - 1a720: e7af b.n 1a682 - 1a722: bf00 nop - 1a724: 000044ad .word 0x000044ad - 1a728: 0000298d .word 0x0000298d - 1a72c: 20006bfc .word 0x20006bfc - 1a730: 00003259 .word 0x00003259 - 1a734: 00005425 .word 0x00005425 - 1a738: 00020bf0 .word 0x00020bf0 - 1a73c: 00020c94 .word 0x00020c94 - 1a740: 00012805 .word 0x00012805 - 1a744: 0001b4bc .word 0x0001b4bc - 1a748: 00002995 .word 0x00002995 - 1a74c: 000053dd .word 0x000053dd - 1a750: 0001a931 .word 0x0001a931 - 1a754: 00003211 .word 0x00003211 - 1a758: 0001a7b1 .word 0x0001a7b1 - 1a75c: 000031b5 .word 0x000031b5 - 1a760: 0001995d .word 0x0001995d - 1a764: 0001a3fd .word 0x0001a3fd - 1a768: 00019a0d .word 0x00019a0d - 1a76c: 0001a4c9 .word 0x0001a4c9 - 1a770: 000199b1 .word 0x000199b1 - 1a774: 000198a1 .word 0x000198a1 - 1a778: 0001990d .word 0x0001990d - 1a77c: 0001a235 .word 0x0001a235 - 1a780: 0001af4f .word 0x0001af4f - 1a784: 00019815 .word 0x00019815 - 1a788: 00004121 .word 0x00004121 - 1a78c: 00020cf8 .word 0x00020cf8 - 1a790: 000055ed .word 0x000055ed - 1a794: 00014791 .word 0x00014791 - 1a798: 00003029 .word 0x00003029 - 1a79c: 00020cf0 .word 0x00020cf0 - 1a7a0: 0001a37d .word 0x0001a37d - 1a7a4: 00012af9 .word 0x00012af9 - 1a7a8: 00012e41 .word 0x00012e41 - 1a7ac: 00012bfd .word 0x00012bfd - -0001a7b0 : -{ - 1a7b0: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - 1a7b4: 4607 mov r7, r0 - 1a7b6: 4615 mov r5, r2 + 1acee: 2400 movs r4, #0 + 1acf0: e7af b.n 1ac52 + 1acf2: bf00 nop + 1acf4: 00003e25 .word 0x00003e25 + 1acf8: 000022b1 .word 0x000022b1 + 1acfc: 20006c00 .word 0x20006c00 + 1ad00: 00002bd1 .word 0x00002bd1 + 1ad04: 00004d9d .word 0x00004d9d + 1ad08: 000298f0 .word 0x000298f0 + 1ad0c: 00029994 .word 0x00029994 + 1ad10: 0001225d .word 0x0001225d + 1ad14: 00023fd8 .word 0x00023fd8 + 1ad18: 000022b9 .word 0x000022b9 + 1ad1c: 00004d55 .word 0x00004d55 + 1ad20: 0001af01 .word 0x0001af01 + 1ad24: 00002b89 .word 0x00002b89 + 1ad28: 0001ad81 .word 0x0001ad81 + 1ad2c: 00002b2d .word 0x00002b2d + 1ad30: 00019f2d .word 0x00019f2d + 1ad34: 0001a9cd .word 0x0001a9cd + 1ad38: 00019fdd .word 0x00019fdd + 1ad3c: 0001aa99 .word 0x0001aa99 + 1ad40: 00019f81 .word 0x00019f81 + 1ad44: 00019e71 .word 0x00019e71 + 1ad48: 00019edd .word 0x00019edd + 1ad4c: 0001a805 .word 0x0001a805 + 1ad50: 0001b51f .word 0x0001b51f + 1ad54: 00019de5 .word 0x00019de5 + 1ad58: 00003a99 .word 0x00003a99 + 1ad5c: 000299f8 .word 0x000299f8 + 1ad60: 00004f65 .word 0x00004f65 + 1ad64: 000141e9 .word 0x000141e9 + 1ad68: 000029a1 .word 0x000029a1 + 1ad6c: 000299f0 .word 0x000299f0 + 1ad70: 0001a94d .word 0x0001a94d + 1ad74: 00012551 .word 0x00012551 + 1ad78: 00012899 .word 0x00012899 + 1ad7c: 00012655 .word 0x00012655 + +0001ad80 : +{ + 1ad80: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} + 1ad84: 4607 mov r7, r0 + 1ad86: 4615 mov r5, r2 if(sign == LV_SIGNAL_GET_STYLE) { - 1a7b8: 2908 cmp r1, #8 - 1a7ba: d015 beq.n 1a7e8 - 1a7bc: 460c mov r4, r1 + 1ad88: 2908 cmp r1, #8 + 1ad8a: d015 beq.n 1adb8 + 1ad8c: 460c mov r4, r1 res = ancestor_signal(label, sign, param); - 1a7be: 4b30 ldr r3, [pc, #192] ; (1a880 ) - 1a7c0: 681b ldr r3, [r3, #0] - 1a7c2: 4798 blx r3 - 1a7c4: 4606 mov r6, r0 + 1ad8e: 4b30 ldr r3, [pc, #192] ; (1ae50 ) + 1ad90: 681b ldr r3, [r3, #0] + 1ad92: 4798 blx r3 + 1ad94: 4606 mov r6, r0 if(res != LV_RES_OK) return res; - 1a7c6: 2801 cmp r0, #1 - 1a7c8: d115 bne.n 1a7f6 + 1ad96: 2801 cmp r0, #1 + 1ad98: d115 bne.n 1adc6 if(sign == LV_SIGNAL_GET_TYPE) return lv_obj_handle_get_type_signal(param, LV_OBJX_NAME); - 1a7ca: 2c07 cmp r4, #7 - 1a7cc: d020 beq.n 1a810 + 1ad9a: 2c07 cmp r4, #7 + 1ad9c: d020 beq.n 1ade0 lv_label_ext_t * ext = lv_obj_get_ext_attr(label); - 1a7ce: 4638 mov r0, r7 - 1a7d0: 4b2c ldr r3, [pc, #176] ; (1a884 ) - 1a7d2: 4798 blx r3 - 1a7d4: 4680 mov r8, r0 + 1ad9e: 4638 mov r0, r7 + 1ada0: 4b2c ldr r3, [pc, #176] ; (1ae54 ) + 1ada2: 4798 blx r3 + 1ada4: 4680 mov r8, r0 if(sign == LV_SIGNAL_CLEANUP) { - 1a7d6: bb44 cbnz r4, 1a82a + 1ada6: bb44 cbnz r4, 1adfa if(ext->static_txt == 0) { - 1a7d8: 7c03 ldrb r3, [r0, #16] - 1a7da: f013 0f08 tst.w r3, #8 - 1a7de: d01d beq.n 1a81c + 1ada8: 7c03 ldrb r3, [r0, #16] + 1adaa: f013 0f08 tst.w r3, #8 + 1adae: d01d beq.n 1adec lv_label_dot_tmp_free(label); - 1a7e0: 4638 mov r0, r7 - 1a7e2: 4b29 ldr r3, [pc, #164] ; (1a888 ) - 1a7e4: 4798 blx r3 - 1a7e6: e006 b.n 1a7f6 + 1adb0: 4638 mov r0, r7 + 1adb2: 4b29 ldr r3, [pc, #164] ; (1ae58 ) + 1adb4: 4798 blx r3 + 1adb6: e006 b.n 1adc6 switch(type) { - 1a7e8: 7813 ldrb r3, [r2, #0] - 1a7ea: b93b cbnz r3, 1a7fc + 1adb8: 7813 ldrb r3, [r2, #0] + 1adba: b93b cbnz r3, 1adcc style_dsc_p = &label->style_list; - 1a7ec: f100 0328 add.w r3, r0, #40 ; 0x28 + 1adbc: f100 0328 add.w r3, r0, #40 ; 0x28 info->result = lv_label_get_style(label, info->part); - 1a7f0: 606b str r3, [r5, #4] + 1adc0: 606b str r3, [r5, #4] if(info->result != NULL) return LV_RES_OK; - 1a7f2: 2601 movs r6, #1 - 1a7f4: b123 cbz r3, 1a800 + 1adc2: 2601 movs r6, #1 + 1adc4: b123 cbz r3, 1add0 } - 1a7f6: 4630 mov r0, r6 - 1a7f8: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + 1adc6: 4630 mov r0, r6 + 1adc8: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} style_dsc_p = NULL; - 1a7fc: 2300 movs r3, #0 - 1a7fe: e7f7 b.n 1a7f0 + 1adcc: 2300 movs r3, #0 + 1adce: e7f7 b.n 1adc0 else return ancestor_signal(label, sign, param); - 1a800: 4b1f ldr r3, [pc, #124] ; (1a880 ) - 1a802: 681b ldr r3, [r3, #0] - 1a804: 462a mov r2, r5 - 1a806: 2108 movs r1, #8 - 1a808: 4638 mov r0, r7 - 1a80a: 4798 blx r3 - 1a80c: 4606 mov r6, r0 - 1a80e: e7f2 b.n 1a7f6 + 1add0: 4b1f ldr r3, [pc, #124] ; (1ae50 ) + 1add2: 681b ldr r3, [r3, #0] + 1add4: 462a mov r2, r5 + 1add6: 2108 movs r1, #8 + 1add8: 4638 mov r0, r7 + 1adda: 4798 blx r3 + 1addc: 4606 mov r6, r0 + 1adde: e7f2 b.n 1adc6 if(sign == LV_SIGNAL_GET_TYPE) return lv_obj_handle_get_type_signal(param, LV_OBJX_NAME); - 1a810: 491e ldr r1, [pc, #120] ; (1a88c ) - 1a812: 4628 mov r0, r5 - 1a814: 4b1e ldr r3, [pc, #120] ; (1a890 ) - 1a816: 4798 blx r3 - 1a818: 4606 mov r6, r0 - 1a81a: e7ec b.n 1a7f6 + 1ade0: 491e ldr r1, [pc, #120] ; (1ae5c ) + 1ade2: 4628 mov r0, r5 + 1ade4: 4b1e ldr r3, [pc, #120] ; (1ae60 ) + 1ade6: 4798 blx r3 + 1ade8: 4606 mov r6, r0 + 1adea: e7ec b.n 1adc6 lv_mem_free(ext->text); - 1a81c: 6800 ldr r0, [r0, #0] - 1a81e: 4b1d ldr r3, [pc, #116] ; (1a894 ) - 1a820: 4798 blx r3 + 1adec: 6800 ldr r0, [r0, #0] + 1adee: 4b1d ldr r3, [pc, #116] ; (1ae64 ) + 1adf0: 4798 blx r3 ext->text = NULL; - 1a822: 2300 movs r3, #0 - 1a824: f8c8 3000 str.w r3, [r8] - 1a828: e7da b.n 1a7e0 + 1adf2: 2300 movs r3, #0 + 1adf4: f8c8 3000 str.w r3, [r8] + 1adf8: e7da b.n 1adb0 else if(sign == LV_SIGNAL_STYLE_CHG) { - 1a82a: 2c04 cmp r4, #4 - 1a82c: d014 beq.n 1a858 + 1adfa: 2c04 cmp r4, #4 + 1adfc: d014 beq.n 1ae28 else if(sign == LV_SIGNAL_COORD_CHG) { - 1a82e: 2c02 cmp r4, #2 - 1a830: d1e1 bne.n 1a7f6 + 1adfe: 2c02 cmp r4, #2 + 1ae00: d1e1 bne.n 1adc6 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - 1a832: 88aa ldrh r2, [r5, #4] - 1a834: 3201 adds r2, #1 - 1a836: 882b ldrh r3, [r5, #0] - 1a838: 1ad2 subs r2, r2, r3 - 1a83a: 8abb ldrh r3, [r7, #20] - 1a83c: 3301 adds r3, #1 - 1a83e: 8a39 ldrh r1, [r7, #16] - 1a840: 1a5b subs r3, r3, r1 + 1ae02: 88aa ldrh r2, [r5, #4] + 1ae04: 3201 adds r2, #1 + 1ae06: 882b ldrh r3, [r5, #0] + 1ae08: 1ad2 subs r2, r2, r3 + 1ae0a: 8abb ldrh r3, [r7, #20] + 1ae0c: 3301 adds r3, #1 + 1ae0e: 8a39 ldrh r1, [r7, #16] + 1ae10: 1a5b subs r3, r3, r1 if(lv_area_get_width(&label->coords) != lv_area_get_width(param) || - 1a842: b292 uxth r2, r2 - 1a844: b29b uxth r3, r3 - 1a846: 429a cmp r2, r3 - 1a848: d00d beq.n 1a866 + 1ae12: b292 uxth r2, r2 + 1ae14: b29b uxth r3, r3 + 1ae16: 429a cmp r2, r3 + 1ae18: d00d beq.n 1ae36 lv_label_revert_dots(label); - 1a84a: 4638 mov r0, r7 - 1a84c: 4b12 ldr r3, [pc, #72] ; (1a898 ) - 1a84e: 4798 blx r3 + 1ae1a: 4638 mov r0, r7 + 1ae1c: 4b12 ldr r3, [pc, #72] ; (1ae68 ) + 1ae1e: 4798 blx r3 lv_label_refr_text(label); - 1a850: 4638 mov r0, r7 - 1a852: 4b12 ldr r3, [pc, #72] ; (1a89c ) - 1a854: 4798 blx r3 - 1a856: e7ce b.n 1a7f6 + 1ae20: 4638 mov r0, r7 + 1ae22: 4b12 ldr r3, [pc, #72] ; (1ae6c ) + 1ae24: 4798 blx r3 + 1ae26: e7ce b.n 1adc6 lv_label_revert_dots(label); - 1a858: 4638 mov r0, r7 - 1a85a: 4b0f ldr r3, [pc, #60] ; (1a898 ) - 1a85c: 4798 blx r3 + 1ae28: 4638 mov r0, r7 + 1ae2a: 4b0f ldr r3, [pc, #60] ; (1ae68 ) + 1ae2c: 4798 blx r3 lv_label_refr_text(label); - 1a85e: 4638 mov r0, r7 - 1a860: 4b0e ldr r3, [pc, #56] ; (1a89c ) - 1a862: 4798 blx r3 - 1a864: e7c7 b.n 1a7f6 + 1ae2e: 4638 mov r0, r7 + 1ae30: 4b0e ldr r3, [pc, #56] ; (1ae6c ) + 1ae32: 4798 blx r3 + 1ae34: e7c7 b.n 1adc6 return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - 1a866: 88ea ldrh r2, [r5, #6] - 1a868: 3201 adds r2, #1 - 1a86a: 886b ldrh r3, [r5, #2] - 1a86c: 1ad2 subs r2, r2, r3 - 1a86e: 8afb ldrh r3, [r7, #22] - 1a870: 3301 adds r3, #1 - 1a872: 8a79 ldrh r1, [r7, #18] - 1a874: 1a5b subs r3, r3, r1 + 1ae36: 88ea ldrh r2, [r5, #6] + 1ae38: 3201 adds r2, #1 + 1ae3a: 886b ldrh r3, [r5, #2] + 1ae3c: 1ad2 subs r2, r2, r3 + 1ae3e: 8afb ldrh r3, [r7, #22] + 1ae40: 3301 adds r3, #1 + 1ae42: 8a79 ldrh r1, [r7, #18] + 1ae44: 1a5b subs r3, r3, r1 if(lv_area_get_width(&label->coords) != lv_area_get_width(param) || - 1a876: b292 uxth r2, r2 - 1a878: b29b uxth r3, r3 - 1a87a: 429a cmp r2, r3 - 1a87c: d1e5 bne.n 1a84a - 1a87e: e7ba b.n 1a7f6 - 1a880: 20006bfc .word 0x20006bfc - 1a884: 00005425 .word 0x00005425 - 1a888: 000196c5 .word 0x000196c5 - 1a88c: 00020d08 .word 0x00020d08 - 1a890: 000056dd .word 0x000056dd - 1a894: 00012a6d .word 0x00012a6d - 1a898: 000196f5 .word 0x000196f5 - 1a89c: 00019d31 .word 0x00019d31 - -0001a8a0 : -{ - 1a8a0: b530 push {r4, r5, lr} - 1a8a2: b083 sub sp, #12 - 1a8a4: 4604 mov r4, r0 + 1ae46: b292 uxth r2, r2 + 1ae48: b29b uxth r3, r3 + 1ae4a: 429a cmp r2, r3 + 1ae4c: d1e5 bne.n 1ae1a + 1ae4e: e7ba b.n 1adc6 + 1ae50: 20006c00 .word 0x20006c00 + 1ae54: 00004d9d .word 0x00004d9d + 1ae58: 00019c95 .word 0x00019c95 + 1ae5c: 00029a08 .word 0x00029a08 + 1ae60: 00005095 .word 0x00005095 + 1ae64: 000124c5 .word 0x000124c5 + 1ae68: 00019cc5 .word 0x00019cc5 + 1ae6c: 0001a301 .word 0x0001a301 + +0001ae70 : +{ + 1ae70: b530 push {r4, r5, lr} + 1ae72: b083 sub sp, #12 + 1ae74: 4604 mov r4, r0 LV_ASSERT_OBJ(label, LV_OBJX_NAME); - 1a8a6: 4b0a ldr r3, [pc, #40] ; (1a8d0 ) - 1a8a8: 4798 blx r3 - 1a8aa: b118 cbz r0, 1a8b4 + 1ae76: 4b0a ldr r3, [pc, #40] ; (1aea0 ) + 1ae78: 4798 blx r3 + 1ae7a: b118 cbz r0, 1ae84 } - 1a8ac: f64f 70ff movw r0, #65535 ; 0xffff - 1a8b0: b003 add sp, #12 - 1a8b2: bd30 pop {r4, r5, pc} + 1ae7c: f64f 70ff movw r0, #65535 ; 0xffff + 1ae80: b003 add sp, #12 + 1ae82: bd30 pop {r4, r5, pc} LV_ASSERT_OBJ(label, LV_OBJX_NAME); - 1a8b4: 4b07 ldr r3, [pc, #28] ; (1a8d4 ) - 1a8b6: 9300 str r3, [sp, #0] - 1a8b8: f240 321d movw r2, #797 ; 0x31d - 1a8bc: 4906 ldr r1, [pc, #24] ; (1a8d8 ) - 1a8be: 2003 movs r0, #3 - 1a8c0: 4d06 ldr r5, [pc, #24] ; (1a8dc ) - 1a8c2: 47a8 blx r5 - 1a8c4: 4622 mov r2, r4 - 1a8c6: 2300 movs r3, #0 - 1a8c8: 4805 ldr r0, [pc, #20] ; (1a8e0 ) - 1a8ca: 4906 ldr r1, [pc, #24] ; (1a8e4 ) - 1a8cc: 4788 blx r1 - 1a8ce: e7fe b.n 1a8ce - 1a8d0: 0000298d .word 0x0000298d - 1a8d4: 00020c18 .word 0x00020c18 - 1a8d8: 00020c94 .word 0x00020c94 - 1a8dc: 00012805 .word 0x00012805 - 1a8e0: 0001bd20 .word 0x0001bd20 - 1a8e4: 00002995 .word 0x00002995 - -0001a8e8 : -{ - 1a8e8: b530 push {r4, r5, lr} - 1a8ea: b083 sub sp, #12 - 1a8ec: 4604 mov r4, r0 + 1ae84: 4b07 ldr r3, [pc, #28] ; (1aea4 ) + 1ae86: 9300 str r3, [sp, #0] + 1ae88: f240 321d movw r2, #797 ; 0x31d + 1ae8c: 4906 ldr r1, [pc, #24] ; (1aea8 ) + 1ae8e: 2003 movs r0, #3 + 1ae90: 4d06 ldr r5, [pc, #24] ; (1aeac ) + 1ae92: 47a8 blx r5 + 1ae94: 4622 mov r2, r4 + 1ae96: 2300 movs r3, #0 + 1ae98: 4805 ldr r0, [pc, #20] ; (1aeb0 ) + 1ae9a: 4906 ldr r1, [pc, #24] ; (1aeb4 ) + 1ae9c: 4788 blx r1 + 1ae9e: e7fe b.n 1ae9e + 1aea0: 000022b1 .word 0x000022b1 + 1aea4: 00029918 .word 0x00029918 + 1aea8: 00029994 .word 0x00029994 + 1aeac: 0001225d .word 0x0001225d + 1aeb0: 0002483c .word 0x0002483c + 1aeb4: 000022b9 .word 0x000022b9 + +0001aeb8 : +{ + 1aeb8: b530 push {r4, r5, lr} + 1aeba: b083 sub sp, #12 + 1aebc: 4604 mov r4, r0 LV_ASSERT_OBJ(label, LV_OBJX_NAME); - 1a8ee: 4b0a ldr r3, [pc, #40] ; (1a918 ) - 1a8f0: 4798 blx r3 - 1a8f2: b118 cbz r0, 1a8fc + 1aebe: 4b0a ldr r3, [pc, #40] ; (1aee8 ) + 1aec0: 4798 blx r3 + 1aec2: b118 cbz r0, 1aecc } - 1a8f4: f64f 70ff movw r0, #65535 ; 0xffff - 1a8f8: b003 add sp, #12 - 1a8fa: bd30 pop {r4, r5, pc} + 1aec4: f64f 70ff movw r0, #65535 ; 0xffff + 1aec8: b003 add sp, #12 + 1aeca: bd30 pop {r4, r5, pc} LV_ASSERT_OBJ(label, LV_OBJX_NAME); - 1a8fc: 4b07 ldr r3, [pc, #28] ; (1a91c ) - 1a8fe: 9300 str r3, [sp, #0] - 1a900: f44f 724c mov.w r2, #816 ; 0x330 - 1a904: 4906 ldr r1, [pc, #24] ; (1a920 ) - 1a906: 2003 movs r0, #3 - 1a908: 4d06 ldr r5, [pc, #24] ; (1a924 ) - 1a90a: 47a8 blx r5 - 1a90c: 4622 mov r2, r4 - 1a90e: 2300 movs r3, #0 - 1a910: 4805 ldr r0, [pc, #20] ; (1a928 ) - 1a912: 4906 ldr r1, [pc, #24] ; (1a92c ) - 1a914: 4788 blx r1 - 1a916: e7fe b.n 1a916 - 1a918: 0000298d .word 0x0000298d - 1a91c: 00020c34 .word 0x00020c34 - 1a920: 00020c94 .word 0x00020c94 - 1a924: 00012805 .word 0x00012805 - 1a928: 0001bd20 .word 0x0001bd20 - 1a92c: 00002995 .word 0x00002995 - -0001a930 : + 1aecc: 4b07 ldr r3, [pc, #28] ; (1aeec ) + 1aece: 9300 str r3, [sp, #0] + 1aed0: f44f 724c mov.w r2, #816 ; 0x330 + 1aed4: 4906 ldr r1, [pc, #24] ; (1aef0 ) + 1aed6: 2003 movs r0, #3 + 1aed8: 4d06 ldr r5, [pc, #24] ; (1aef4 ) + 1aeda: 47a8 blx r5 + 1aedc: 4622 mov r2, r4 + 1aede: 2300 movs r3, #0 + 1aee0: 4805 ldr r0, [pc, #20] ; (1aef8 ) + 1aee2: 4906 ldr r1, [pc, #24] ; (1aefc ) + 1aee4: 4788 blx r1 + 1aee6: e7fe b.n 1aee6 + 1aee8: 000022b1 .word 0x000022b1 + 1aeec: 00029934 .word 0x00029934 + 1aef0: 00029994 .word 0x00029994 + 1aef4: 0001225d .word 0x0001225d + 1aef8: 0002483c .word 0x0002483c + 1aefc: 000022b9 .word 0x000022b9 + +0001af00 : if(mode == LV_DESIGN_COVER_CHK) - 1a930: 2a02 cmp r2, #2 - 1a932: f000 811e beq.w 1ab72 + 1af00: 2a02 cmp r2, #2 + 1af02: f000 811e beq.w 1b142 else if(mode == LV_DESIGN_DRAW_MAIN) { - 1a936: b10a cbz r2, 1a93c + 1af06: b10a cbz r2, 1af0c return LV_DESIGN_RES_OK; - 1a938: 2000 movs r0, #0 - 1a93a: 4770 bx lr + 1af08: 2000 movs r0, #0 + 1af0a: 4770 bx lr { - 1a93c: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} - 1a940: b0a9 sub sp, #164 ; 0xa4 - 1a942: 460f mov r7, r1 - 1a944: 4605 mov r5, r0 + 1af0c: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} + 1af10: b0a9 sub sp, #164 ; 0xa4 + 1af12: 460f mov r7, r1 + 1af14: 4605 mov r5, r0 lv_label_ext_t * ext = lv_obj_get_ext_attr(label); - 1a946: 4b8c ldr r3, [pc, #560] ; (1ab78 ) - 1a948: 4798 blx r3 - 1a94a: 4680 mov r8, r0 + 1af16: 4b8c ldr r3, [pc, #560] ; (1b148 ) + 1af18: 4798 blx r3 + 1af1a: 4680 mov r8, r0 _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_WIDTH, transform_width, lv_style_int_t, _int, scalar) - 1a94c: 2204 movs r2, #4 - 1a94e: 2100 movs r1, #0 - 1a950: 4628 mov r0, r5 - 1a952: 4c8a ldr r4, [pc, #552] ; (1ab7c ) - 1a954: 47a0 blx r4 - 1a956: 4681 mov r9, r0 + 1af1c: 2204 movs r2, #4 + 1af1e: 2100 movs r1, #0 + 1af20: 4628 mov r0, r5 + 1af22: 4c8a ldr r4, [pc, #552] ; (1b14c ) + 1af24: 47a0 blx r4 + 1af26: 4681 mov r9, r0 _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_HEIGHT, transform_height, lv_style_int_t, _int, scalar) - 1a958: 2205 movs r2, #5 - 1a95a: 2100 movs r1, #0 - 1a95c: 4628 mov r0, r5 - 1a95e: 47a0 blx r4 - 1a960: f105 030f add.w r3, r5, #15 - 1a964: f105 0617 add.w r6, r5, #23 - * @param src pointer to the source buffer - * @param len number of byte to copy - */ -LV_ATTRIBUTE_FAST_MEM static inline void * _lv_memcpy_small(void * dst, const void * src, size_t len) -{ + 1af28: 2205 movs r2, #5 + 1af2a: 2100 movs r1, #0 + 1af2c: 4628 mov r0, r5 + 1af2e: 47a0 blx r4 + 1af30: f105 030f add.w r3, r5, #15 + 1af34: f105 0617 add.w r6, r5, #23 uint8_t * d8 = (uint8_t *)dst; - 1a968: aa06 add r2, sp, #24 - const uint8_t * s8 = (const uint8_t *)src; - - while(len) { + 1af38: aa06 add r2, sp, #24 *d8 = *s8; - 1a96a: f813 4f01 ldrb.w r4, [r3, #1]! - 1a96e: f802 4b01 strb.w r4, [r2], #1 + 1af3a: f813 4f01 ldrb.w r4, [r3, #1]! + 1af3e: f802 4b01 strb.w r4, [r2], #1 while(len) { - 1a972: 42b3 cmp r3, r6 - 1a974: d1f9 bne.n 1a96a + 1af42: 42b3 cmp r3, r6 + 1af44: d1f9 bne.n 1af3a bg_coords.x1 -= w; - 1a976: fa1f f989 uxth.w r9, r9 - 1a97a: f8bd 3018 ldrh.w r3, [sp, #24] - 1a97e: eba3 0309 sub.w r3, r3, r9 - 1a982: f8ad 3018 strh.w r3, [sp, #24] + 1af46: fa1f f989 uxth.w r9, r9 + 1af4a: f8bd 3018 ldrh.w r3, [sp, #24] + 1af4e: eba3 0309 sub.w r3, r3, r9 + 1af52: f8ad 3018 strh.w r3, [sp, #24] bg_coords.x2 += w; - 1a986: f8bd 301c ldrh.w r3, [sp, #28] - 1a98a: 4499 add r9, r3 - 1a98c: f8ad 901c strh.w r9, [sp, #28] + 1af56: f8bd 301c ldrh.w r3, [sp, #28] + 1af5a: 4499 add r9, r3 + 1af5c: f8ad 901c strh.w r9, [sp, #28] bg_coords.y1 -= h; - 1a990: b280 uxth r0, r0 - 1a992: f8bd 301a ldrh.w r3, [sp, #26] - 1a996: 1a1b subs r3, r3, r0 - 1a998: f8ad 301a strh.w r3, [sp, #26] + 1af60: b280 uxth r0, r0 + 1af62: f8bd 301a ldrh.w r3, [sp, #26] + 1af66: 1a1b subs r3, r3, r0 + 1af68: f8ad 301a strh.w r3, [sp, #26] bg_coords.y2 += h; - 1a99c: f8bd 301e ldrh.w r3, [sp, #30] - 1a9a0: 4418 add r0, r3 - 1a9a2: f8ad 001e strh.w r0, [sp, #30] + 1af6c: f8bd 301e ldrh.w r3, [sp, #30] + 1af70: 4418 add r0, r3 + 1af72: f8ad 001e strh.w r0, [sp, #30] lv_draw_rect_dsc_init(&draw_rect_dsc); - 1a9a6: a813 add r0, sp, #76 ; 0x4c - 1a9a8: 4b75 ldr r3, [pc, #468] ; (1ab80 ) - 1a9aa: 4798 blx r3 + 1af76: a813 add r0, sp, #76 ; 0x4c + 1af78: 4b75 ldr r3, [pc, #468] ; (1b150 ) + 1af7a: 4798 blx r3 lv_obj_init_draw_rect_dsc(label, LV_LABEL_PART_MAIN, &draw_rect_dsc); - 1a9ac: aa13 add r2, sp, #76 ; 0x4c - 1a9ae: 2100 movs r1, #0 - 1a9b0: 4628 mov r0, r5 - 1a9b2: 4b74 ldr r3, [pc, #464] ; (1ab84 ) - 1a9b4: 4798 blx r3 + 1af7c: aa13 add r2, sp, #76 ; 0x4c + 1af7e: 2100 movs r1, #0 + 1af80: 4628 mov r0, r5 + 1af82: 4b74 ldr r3, [pc, #464] ; (1b154 ) + 1af84: 4798 blx r3 lv_draw_rect(&bg_coords, clip_area, &draw_rect_dsc); - 1a9b6: aa13 add r2, sp, #76 ; 0x4c - 1a9b8: 4639 mov r1, r7 - 1a9ba: a806 add r0, sp, #24 - 1a9bc: 4b72 ldr r3, [pc, #456] ; (1ab88 ) - 1a9be: 4798 blx r3 + 1af86: aa13 add r2, sp, #76 ; 0x4c + 1af88: 4639 mov r1, r7 + 1af8a: a806 add r0, sp, #24 + 1af8c: 4b72 ldr r3, [pc, #456] ; (1b158 ) + 1af8e: 4798 blx r3 get_txt_coords(label, &txt_coords); - 1a9c0: a908 add r1, sp, #32 - 1a9c2: 4628 mov r0, r5 - 1a9c4: 4b71 ldr r3, [pc, #452] ; (1ab8c ) - 1a9c6: 4798 blx r3 + 1af90: a908 add r1, sp, #32 + 1af92: 4628 mov r0, r5 + 1af94: 4b71 ldr r3, [pc, #452] ; (1b15c ) + 1af96: 4798 blx r3 bool is_common = _lv_area_intersect(&txt_clip, clip_area, &txt_coords); - 1a9c8: aa08 add r2, sp, #32 - 1a9ca: 4639 mov r1, r7 - 1a9cc: a80a add r0, sp, #40 ; 0x28 - 1a9ce: 4b70 ldr r3, [pc, #448] ; (1ab90 ) - 1a9d0: 4798 blx r3 + 1af98: aa08 add r2, sp, #32 + 1af9a: 4639 mov r1, r7 + 1af9c: a80a add r0, sp, #40 ; 0x28 + 1af9e: 4b70 ldr r3, [pc, #448] ; (1b160 ) + 1afa0: 4798 blx r3 if(!is_common) return LV_DESIGN_RES_OK; - 1a9d2: b910 cbnz r0, 1a9da + 1afa2: b910 cbnz r0, 1afaa } - 1a9d4: b029 add sp, #164 ; 0xa4 - 1a9d6: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} + 1afa4: b029 add sp, #164 ; 0xa4 + 1afa6: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} lv_label_align_t align = lv_label_get_align(label); - 1a9da: 4628 mov r0, r5 - 1a9dc: 4b6d ldr r3, [pc, #436] ; (1ab94 ) - 1a9de: 4798 blx r3 + 1afaa: 4628 mov r0, r5 + 1afac: 4b6d ldr r3, [pc, #436] ; (1b164 ) + 1afae: 4798 blx r3 if(ext->recolor != 0) flag |= LV_TXT_FLAG_RECOLOR; - 1a9e0: f898 3010 ldrb.w r3, [r8, #16] + 1afb0: f898 3010 ldrb.w r3, [r8, #16] lv_txt_flag_t flag = LV_TXT_FLAG_NONE; - 1a9e4: f3c3 1480 ubfx r4, r3, #6, #1 + 1afb4: f3c3 1480 ubfx r4, r3, #6, #1 if(ext->expand != 0) flag |= LV_TXT_FLAG_EXPAND; - 1a9e8: f013 0f80 tst.w r3, #128 ; 0x80 - 1a9ec: bf18 it ne - 1a9ee: f044 0402 orrne.w r4, r4, #2 + 1afb8: f013 0f80 tst.w r3, #128 ; 0x80 + 1afbc: bf18 it ne + 1afbe: f044 0402 orrne.w r4, r4, #2 if(ext->long_mode == LV_LABEL_LONG_EXPAND) flag |= LV_TXT_FLAG_FIT; - 1a9f2: f013 0f07 tst.w r3, #7 - 1a9f6: bf08 it eq - 1a9f8: f044 0410 orreq.w r4, r4, #16 + 1afc2: f013 0f07 tst.w r3, #7 + 1afc6: bf08 it eq + 1afc8: f044 0410 orreq.w r4, r4, #16 if(align == LV_LABEL_ALIGN_CENTER) flag |= LV_TXT_FLAG_CENTER; - 1a9fc: 2801 cmp r0, #1 - 1a9fe: d038 beq.n 1aa72 + 1afcc: 2801 cmp r0, #1 + 1afce: d038 beq.n 1b042 if(align == LV_LABEL_ALIGN_RIGHT) flag |= LV_TXT_FLAG_RIGHT; - 1aa00: 2802 cmp r0, #2 - 1aa02: bf08 it eq - 1aa04: f044 0408 orreq.w r4, r4, #8 + 1afd0: 2802 cmp r0, #2 + 1afd2: bf08 it eq + 1afd4: f044 0408 orreq.w r4, r4, #8 lv_draw_label_dsc_init(&label_draw_dsc); - 1aa08: a80c add r0, sp, #48 ; 0x30 - 1aa0a: 4b63 ldr r3, [pc, #396] ; (1ab98 ) - 1aa0c: 4798 blx r3 + 1afd8: a80c add r0, sp, #48 ; 0x30 + 1afda: 4b63 ldr r3, [pc, #396] ; (1b168 ) + 1afdc: 4798 blx r3 label_draw_dsc.sel_start = lv_label_get_text_sel_start(label); - 1aa0e: 4628 mov r0, r5 - 1aa10: 4b62 ldr r3, [pc, #392] ; (1ab9c ) - 1aa12: 4798 blx r3 - 1aa14: f8ad 003e strh.w r0, [sp, #62] ; 0x3e + 1afde: 4628 mov r0, r5 + 1afe0: 4b62 ldr r3, [pc, #392] ; (1b16c ) + 1afe2: 4798 blx r3 + 1afe4: f8ad 003e strh.w r0, [sp, #62] ; 0x3e label_draw_dsc.sel_end = lv_label_get_text_sel_end(label); - 1aa18: 4628 mov r0, r5 - 1aa1a: 4b61 ldr r3, [pc, #388] ; (1aba0 ) - 1aa1c: 4798 blx r3 - 1aa1e: f8ad 0040 strh.w r0, [sp, #64] ; 0x40 + 1afe8: 4628 mov r0, r5 + 1afea: 4b61 ldr r3, [pc, #388] ; (1b170 ) + 1afec: 4798 blx r3 + 1afee: f8ad 0040 strh.w r0, [sp, #64] ; 0x40 label_draw_dsc.ofs_x = ext->offset.x; - 1aa22: f9b8 300c ldrsh.w r3, [r8, #12] - 1aa26: f8ad 3042 strh.w r3, [sp, #66] ; 0x42 + 1aff2: f9b8 300c ldrsh.w r3, [r8, #12] + 1aff6: f8ad 3042 strh.w r3, [sp, #66] ; 0x42 label_draw_dsc.ofs_y = ext->offset.y; - 1aa2a: f9b8 300e ldrsh.w r3, [r8, #14] - 1aa2e: f8ad 3044 strh.w r3, [sp, #68] ; 0x44 + 1affa: f9b8 300e ldrsh.w r3, [r8, #14] + 1affe: f8ad 3044 strh.w r3, [sp, #68] ; 0x44 label_draw_dsc.flag = flag; - 1aa32: f88d 4047 strb.w r4, [sp, #71] ; 0x47 + 1b002: f88d 4047 strb.w r4, [sp, #71] ; 0x47 lv_obj_init_draw_label_dsc(label, LV_LABEL_PART_MAIN, &label_draw_dsc); - 1aa36: aa0c add r2, sp, #48 ; 0x30 - 1aa38: 2100 movs r1, #0 - 1aa3a: 4628 mov r0, r5 - 1aa3c: 4b59 ldr r3, [pc, #356] ; (1aba4 ) - 1aa3e: 4798 blx r3 + 1b006: aa0c add r2, sp, #48 ; 0x30 + 1b008: 2100 movs r1, #0 + 1b00a: 4628 mov r0, r5 + 1b00c: 4b59 ldr r3, [pc, #356] ; (1b174 ) + 1b00e: 4798 blx r3 if((ext->long_mode == LV_LABEL_LONG_SROLL || ext->long_mode == LV_LABEL_LONG_SROLL_CIRC) && - 1aa40: f898 2010 ldrb.w r2, [r8, #16] - 1aa44: f002 0307 and.w r3, r2, #7 - 1aa48: 3b03 subs r3, #3 - 1aa4a: b2db uxtb r3, r3 - 1aa4c: 2b01 cmp r3, #1 - 1aa4e: d913 bls.n 1aa78 + 1b010: f898 2010 ldrb.w r2, [r8, #16] + 1b014: f002 0307 and.w r3, r2, #7 + 1b018: 3b03 subs r3, #3 + 1b01a: b2db uxtb r3, r3 + 1b01c: 2b01 cmp r3, #1 + 1b01e: d913 bls.n 1b048 lv_draw_label(&txt_coords, &txt_clip, &label_draw_dsc, ext->text, hint); - 1aa50: f8d8 3000 ldr.w r3, [r8] - 1aa54: 2200 movs r2, #0 - 1aa56: 9200 str r2, [sp, #0] - 1aa58: aa0c add r2, sp, #48 ; 0x30 - 1aa5a: a90a add r1, sp, #40 ; 0x28 - 1aa5c: a808 add r0, sp, #32 - 1aa5e: 4d52 ldr r5, [pc, #328] ; (1aba8 ) - 1aa60: 47a8 blx r5 + 1b020: f8d8 3000 ldr.w r3, [r8] + 1b024: 2200 movs r2, #0 + 1b026: 9200 str r2, [sp, #0] + 1b028: aa0c add r2, sp, #48 ; 0x30 + 1b02a: a90a add r1, sp, #40 ; 0x28 + 1b02c: a808 add r0, sp, #32 + 1b02e: 4d52 ldr r5, [pc, #328] ; (1b178 ) + 1b030: 47a8 blx r5 if(ext->long_mode == LV_LABEL_LONG_SROLL_CIRC) { - 1aa62: f898 3010 ldrb.w r3, [r8, #16] - 1aa66: f003 0307 and.w r3, r3, #7 - 1aa6a: 2b04 cmp r3, #4 - 1aa6c: d02b beq.n 1aac6 + 1b032: f898 3010 ldrb.w r3, [r8, #16] + 1b036: f003 0307 and.w r3, r3, #7 + 1b03a: 2b04 cmp r3, #4 + 1b03c: d02b beq.n 1b096 return LV_DESIGN_RES_OK; - 1aa6e: 2000 movs r0, #0 - 1aa70: e7b0 b.n 1a9d4 + 1b03e: 2000 movs r0, #0 + 1b040: e7b0 b.n 1afa4 if(align == LV_LABEL_ALIGN_CENTER) flag |= LV_TXT_FLAG_CENTER; - 1aa72: f044 0404 orr.w r4, r4, #4 - 1aa76: e7c7 b.n 1aa08 + 1b042: f044 0404 orr.w r4, r4, #4 + 1b046: e7c7 b.n 1afd8 (ext->align == LV_LABEL_ALIGN_CENTER || ext->align == LV_LABEL_ALIGN_RIGHT)) { - 1aa78: f002 0230 and.w r2, r2, #48 ; 0x30 + 1b048: f002 0230 and.w r2, r2, #48 ; 0x30 if((ext->long_mode == LV_LABEL_LONG_SROLL || ext->long_mode == LV_LABEL_LONG_SROLL_CIRC) && - 1aa7c: 2a10 cmp r2, #16 - 1aa7e: d001 beq.n 1aa84 + 1b04c: 2a10 cmp r2, #16 + 1b04e: d001 beq.n 1b054 (ext->align == LV_LABEL_ALIGN_CENTER || ext->align == LV_LABEL_ALIGN_RIGHT)) { - 1aa80: 2a20 cmp r2, #32 - 1aa82: d1e5 bne.n 1aa50 + 1b050: 2a20 cmp r2, #32 + 1b052: d1e5 bne.n 1b020 _lv_txt_get_size(&size, ext->text, label_draw_dsc.font, label_draw_dsc.letter_space, label_draw_dsc.line_space, - 1aa84: f9bd 303c ldrsh.w r3, [sp, #60] ; 0x3c - 1aa88: f8d8 1000 ldr.w r1, [r8] - 1aa8c: 9402 str r4, [sp, #8] - 1aa8e: f647 4218 movw r2, #31768 ; 0x7c18 - 1aa92: 9201 str r2, [sp, #4] - 1aa94: f9bd 203a ldrsh.w r2, [sp, #58] ; 0x3a - 1aa98: 9200 str r2, [sp, #0] - 1aa9a: 9a0d ldr r2, [sp, #52] ; 0x34 - 1aa9c: a805 add r0, sp, #20 - 1aa9e: 4d43 ldr r5, [pc, #268] ; (1abac ) - 1aaa0: 47a8 blx r5 + 1b054: f9bd 303c ldrsh.w r3, [sp, #60] ; 0x3c + 1b058: f8d8 1000 ldr.w r1, [r8] + 1b05c: 9402 str r4, [sp, #8] + 1b05e: f647 4218 movw r2, #31768 ; 0x7c18 + 1b062: 9201 str r2, [sp, #4] + 1b064: f9bd 203a ldrsh.w r2, [sp, #58] ; 0x3a + 1b068: 9200 str r2, [sp, #0] + 1b06a: 9a0d ldr r2, [sp, #52] ; 0x34 + 1b06c: a805 add r0, sp, #20 + 1b06e: 4d43 ldr r5, [pc, #268] ; (1b17c ) + 1b070: 47a8 blx r5 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - 1aaa2: f8bd 3024 ldrh.w r3, [sp, #36] ; 0x24 - 1aaa6: 3301 adds r3, #1 - 1aaa8: f8bd 2020 ldrh.w r2, [sp, #32] - 1aaac: 1a9b subs r3, r3, r2 + 1b072: f8bd 3024 ldrh.w r3, [sp, #36] ; 0x24 + 1b076: 3301 adds r3, #1 + 1b078: f8bd 2020 ldrh.w r2, [sp, #32] + 1b07c: 1a9b subs r3, r3, r2 if(size.x > lv_area_get_width(&txt_coords)) { - 1aaae: f9bd 2014 ldrsh.w r2, [sp, #20] - 1aab2: b21b sxth r3, r3 - 1aab4: 429a cmp r2, r3 - 1aab6: ddcb ble.n 1aa50 + 1b07e: f9bd 2014 ldrsh.w r2, [sp, #20] + 1b082: b21b sxth r3, r3 + 1b084: 429a cmp r2, r3 + 1b086: ddcb ble.n 1b020 label_draw_dsc.flag &= ~LV_TXT_FLAG_CENTER; - 1aab8: f89d 3047 ldrb.w r3, [sp, #71] ; 0x47 - 1aabc: f023 030c bic.w r3, r3, #12 - 1aac0: f88d 3047 strb.w r3, [sp, #71] ; 0x47 - 1aac4: e7c4 b.n 1aa50 + 1b088: f89d 3047 ldrb.w r3, [sp, #71] ; 0x47 + 1b08c: f023 030c bic.w r3, r3, #12 + 1b090: f88d 3047 strb.w r3, [sp, #71] ; 0x47 + 1b094: e7c4 b.n 1b020 _lv_txt_get_size(&size, ext->text, label_draw_dsc.font, label_draw_dsc.letter_space, label_draw_dsc.line_space, - 1aac6: f9bd 303c ldrsh.w r3, [sp, #60] ; 0x3c - 1aaca: f8d8 1000 ldr.w r1, [r8] - 1aace: 9402 str r4, [sp, #8] - 1aad0: f647 4218 movw r2, #31768 ; 0x7c18 - 1aad4: 9201 str r2, [sp, #4] - 1aad6: f9bd 203a ldrsh.w r2, [sp, #58] ; 0x3a - 1aada: 9200 str r2, [sp, #0] - 1aadc: 9a0d ldr r2, [sp, #52] ; 0x34 - 1aade: a805 add r0, sp, #20 - 1aae0: 4c32 ldr r4, [pc, #200] ; (1abac ) - 1aae2: 47a0 blx r4 + 1b096: f9bd 303c ldrsh.w r3, [sp, #60] ; 0x3c + 1b09a: f8d8 1000 ldr.w r1, [r8] + 1b09e: 9402 str r4, [sp, #8] + 1b0a0: f647 4218 movw r2, #31768 ; 0x7c18 + 1b0a4: 9201 str r2, [sp, #4] + 1b0a6: f9bd 203a ldrsh.w r2, [sp, #58] ; 0x3a + 1b0aa: 9200 str r2, [sp, #0] + 1b0ac: 9a0d ldr r2, [sp, #52] ; 0x34 + 1b0ae: a805 add r0, sp, #20 + 1b0b0: 4c32 ldr r4, [pc, #200] ; (1b17c ) + 1b0b2: 47a0 blx r4 if(size.x > lv_area_get_width(&txt_coords)) { - 1aae4: f9bd 2014 ldrsh.w r2, [sp, #20] - 1aae8: f8bd 3024 ldrh.w r3, [sp, #36] ; 0x24 - 1aaec: 3301 adds r3, #1 - 1aaee: f8bd 1020 ldrh.w r1, [sp, #32] - 1aaf2: 1a5b subs r3, r3, r1 - 1aaf4: b21b sxth r3, r3 - 1aaf6: 429a cmp r2, r3 - 1aaf8: dc20 bgt.n 1ab3c + 1b0b4: f9bd 2014 ldrsh.w r2, [sp, #20] + 1b0b8: f8bd 3024 ldrh.w r3, [sp, #36] ; 0x24 + 1b0bc: 3301 adds r3, #1 + 1b0be: f8bd 1020 ldrh.w r1, [sp, #32] + 1b0c2: 1a5b subs r3, r3, r1 + 1b0c4: b21b sxth r3, r3 + 1b0c6: 429a cmp r2, r3 + 1b0c8: dc20 bgt.n 1b10c if(size.y > lv_area_get_height(&txt_coords)) { - 1aafa: f9bd 2016 ldrsh.w r2, [sp, #22] + 1b0ca: f9bd 2016 ldrsh.w r2, [sp, #22] return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - 1aafe: f8bd 3026 ldrh.w r3, [sp, #38] ; 0x26 - 1ab02: 3301 adds r3, #1 - 1ab04: f8bd 1022 ldrh.w r1, [sp, #34] ; 0x22 - 1ab08: 1a5b subs r3, r3, r1 - 1ab0a: b21b sxth r3, r3 - 1ab0c: 429a cmp r2, r3 - 1ab0e: ddae ble.n 1aa6e + 1b0ce: f8bd 3026 ldrh.w r3, [sp, #38] ; 0x26 + 1b0d2: 3301 adds r3, #1 + 1b0d4: f8bd 1022 ldrh.w r1, [sp, #34] ; 0x22 + 1b0d8: 1a5b subs r3, r3, r1 + 1b0da: b21b sxth r3, r3 + 1b0dc: 429a cmp r2, r3 + 1b0de: ddae ble.n 1b03e label_draw_dsc.ofs_x = ext->offset.x; - 1ab10: f9b8 300c ldrsh.w r3, [r8, #12] - 1ab14: f8ad 3042 strh.w r3, [sp, #66] ; 0x42 - 1ab18: 9b0d ldr r3, [sp, #52] ; 0x34 + 1b0e0: f9b8 300c ldrsh.w r3, [r8, #12] + 1b0e4: f8ad 3042 strh.w r3, [sp, #66] ; 0x42 + 1b0e8: 9b0d ldr r3, [sp, #52] ; 0x34 label_draw_dsc.ofs_y = ext->offset.y + size.y + lv_font_get_line_height(label_draw_dsc.font); - 1ab1a: 891b ldrh r3, [r3, #8] - 1ab1c: 4413 add r3, r2 - 1ab1e: f8b8 200e ldrh.w r2, [r8, #14] - 1ab22: 4413 add r3, r2 - 1ab24: f8ad 3044 strh.w r3, [sp, #68] ; 0x44 + 1b0ea: 891b ldrh r3, [r3, #8] + 1b0ec: 4413 add r3, r2 + 1b0ee: f8b8 200e ldrh.w r2, [r8, #14] + 1b0f2: 4413 add r3, r2 + 1b0f4: f8ad 3044 strh.w r3, [sp, #68] ; 0x44 lv_draw_label(&txt_coords, &txt_clip, &label_draw_dsc, ext->text, hint); - 1ab28: f8d8 3000 ldr.w r3, [r8] - 1ab2c: 2200 movs r2, #0 - 1ab2e: 9200 str r2, [sp, #0] - 1ab30: aa0c add r2, sp, #48 ; 0x30 - 1ab32: a90a add r1, sp, #40 ; 0x28 - 1ab34: a808 add r0, sp, #32 - 1ab36: 4c1c ldr r4, [pc, #112] ; (1aba8 ) - 1ab38: 47a0 blx r4 - 1ab3a: e798 b.n 1aa6e + 1b0f8: f8d8 3000 ldr.w r3, [r8] + 1b0fc: 2200 movs r2, #0 + 1b0fe: 9200 str r2, [sp, #0] + 1b100: aa0c add r2, sp, #48 ; 0x30 + 1b102: a90a add r1, sp, #40 ; 0x28 + 1b104: a808 add r0, sp, #32 + 1b106: 4c1c ldr r4, [pc, #112] ; (1b178 ) + 1b108: 47a0 blx r4 + 1b10a: e798 b.n 1b03e label_draw_dsc.ofs_x = ext->offset.x + size.x + - 1ab3c: f8b8 400c ldrh.w r4, [r8, #12] - 1ab40: 4422 add r2, r4 - 1ab42: b294 uxth r4, r2 + 1b10c: f8b8 400c ldrh.w r4, [r8, #12] + 1b110: 4422 add r2, r4 + 1b112: b294 uxth r4, r2 lv_font_get_glyph_width(label_draw_dsc.font, ' ', ' ') * LV_LABEL_WAIT_CHAR_COUNT; - 1ab44: 2220 movs r2, #32 - 1ab46: 4611 mov r1, r2 - 1ab48: 980d ldr r0, [sp, #52] ; 0x34 - 1ab4a: 4b19 ldr r3, [pc, #100] ; (1abb0 ) - 1ab4c: 4798 blx r3 - 1ab4e: eb00 0040 add.w r0, r0, r0, lsl #1 + 1b114: 2220 movs r2, #32 + 1b116: 4611 mov r1, r2 + 1b118: 980d ldr r0, [sp, #52] ; 0x34 + 1b11a: 4b19 ldr r3, [pc, #100] ; (1b180 ) + 1b11c: 4798 blx r3 + 1b11e: eb00 0040 add.w r0, r0, r0, lsl #1 label_draw_dsc.ofs_x = ext->offset.x + size.x + - 1ab52: 4404 add r4, r0 - 1ab54: f8ad 4042 strh.w r4, [sp, #66] ; 0x42 + 1b122: 4404 add r4, r0 + 1b124: f8ad 4042 strh.w r4, [sp, #66] ; 0x42 label_draw_dsc.ofs_y = ext->offset.y; - 1ab58: f9b8 300e ldrsh.w r3, [r8, #14] - 1ab5c: f8ad 3044 strh.w r3, [sp, #68] ; 0x44 + 1b128: f9b8 300e ldrsh.w r3, [r8, #14] + 1b12c: f8ad 3044 strh.w r3, [sp, #68] ; 0x44 lv_draw_label(&txt_coords, &txt_clip, &label_draw_dsc, ext->text, hint); - 1ab60: f8d8 3000 ldr.w r3, [r8] - 1ab64: 2200 movs r2, #0 - 1ab66: 9200 str r2, [sp, #0] - 1ab68: aa0c add r2, sp, #48 ; 0x30 - 1ab6a: a90a add r1, sp, #40 ; 0x28 - 1ab6c: a808 add r0, sp, #32 - 1ab6e: 47a8 blx r5 - 1ab70: e7c3 b.n 1aafa + 1b130: f8d8 3000 ldr.w r3, [r8] + 1b134: 2200 movs r2, #0 + 1b136: 9200 str r2, [sp, #0] + 1b138: aa0c add r2, sp, #48 ; 0x30 + 1b13a: a90a add r1, sp, #40 ; 0x28 + 1b13c: a808 add r0, sp, #32 + 1b13e: 47a8 blx r5 + 1b140: e7c3 b.n 1b0ca return LV_DESIGN_RES_NOT_COVER; - 1ab72: 2002 movs r0, #2 - 1ab74: 4770 bx lr - 1ab76: bf00 nop - 1ab78: 00005425 .word 0x00005425 - 1ab7c: 00004b5d .word 0x00004b5d - 1ab80: 0000c811 .word 0x0000c811 - 1ab84: 0000570d .word 0x0000570d - 1ab88: 0000c8d9 .word 0x0000c8d9 - 1ab8c: 000197b9 .word 0x000197b9 - 1ab90: 00011ac1 .word 0x00011ac1 - 1ab94: 000199b1 .word 0x000199b1 - 1ab98: 00009f75 .word 0x00009f75 - 1ab9c: 0001a8a1 .word 0x0001a8a1 - 1aba0: 0001a8e9 .word 0x0001a8e9 - 1aba4: 00005cf9 .word 0x00005cf9 - 1aba8: 00009fcd .word 0x00009fcd - 1abac: 00014625 .word 0x00014625 - 1abb0: 00010609 .word 0x00010609 - -0001abb4 <__aeabi_uldivmod>: - 1abb4: b953 cbnz r3, 1abcc <__aeabi_uldivmod+0x18> - 1abb6: b94a cbnz r2, 1abcc <__aeabi_uldivmod+0x18> - 1abb8: 2900 cmp r1, #0 - 1abba: bf08 it eq - 1abbc: 2800 cmpeq r0, #0 - 1abbe: bf1c itt ne - 1abc0: f04f 31ff movne.w r1, #4294967295 - 1abc4: f04f 30ff movne.w r0, #4294967295 - 1abc8: f000 b97a b.w 1aec0 <__aeabi_idiv0> - 1abcc: f1ad 0c08 sub.w ip, sp, #8 - 1abd0: e96d ce04 strd ip, lr, [sp, #-16]! - 1abd4: f000 f806 bl 1abe4 <__udivmoddi4> - 1abd8: f8dd e004 ldr.w lr, [sp, #4] - 1abdc: e9dd 2302 ldrd r2, r3, [sp, #8] - 1abe0: b004 add sp, #16 - 1abe2: 4770 bx lr - -0001abe4 <__udivmoddi4>: - 1abe4: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} - 1abe8: 468c mov ip, r1 - 1abea: 460d mov r5, r1 - 1abec: 4604 mov r4, r0 - 1abee: 9e08 ldr r6, [sp, #32] - 1abf0: 2b00 cmp r3, #0 - 1abf2: d151 bne.n 1ac98 <__udivmoddi4+0xb4> - 1abf4: 428a cmp r2, r1 - 1abf6: 4617 mov r7, r2 - 1abf8: d96d bls.n 1acd6 <__udivmoddi4+0xf2> - 1abfa: fab2 fe82 clz lr, r2 - 1abfe: f1be 0f00 cmp.w lr, #0 - 1ac02: d00b beq.n 1ac1c <__udivmoddi4+0x38> - 1ac04: f1ce 0c20 rsb ip, lr, #32 - 1ac08: fa01 f50e lsl.w r5, r1, lr - 1ac0c: fa20 fc0c lsr.w ip, r0, ip - 1ac10: fa02 f70e lsl.w r7, r2, lr - 1ac14: ea4c 0c05 orr.w ip, ip, r5 - 1ac18: fa00 f40e lsl.w r4, r0, lr - 1ac1c: ea4f 4a17 mov.w sl, r7, lsr #16 - 1ac20: 0c25 lsrs r5, r4, #16 - 1ac22: fbbc f8fa udiv r8, ip, sl - 1ac26: fa1f f987 uxth.w r9, r7 - 1ac2a: fb0a cc18 mls ip, sl, r8, ip - 1ac2e: ea45 450c orr.w r5, r5, ip, lsl #16 - 1ac32: fb08 f309 mul.w r3, r8, r9 - 1ac36: 42ab cmp r3, r5 - 1ac38: d90a bls.n 1ac50 <__udivmoddi4+0x6c> - 1ac3a: 19ed adds r5, r5, r7 - 1ac3c: f108 32ff add.w r2, r8, #4294967295 - 1ac40: f080 8123 bcs.w 1ae8a <__udivmoddi4+0x2a6> - 1ac44: 42ab cmp r3, r5 - 1ac46: f240 8120 bls.w 1ae8a <__udivmoddi4+0x2a6> - 1ac4a: f1a8 0802 sub.w r8, r8, #2 - 1ac4e: 443d add r5, r7 - 1ac50: 1aed subs r5, r5, r3 - 1ac52: b2a4 uxth r4, r4 - 1ac54: fbb5 f0fa udiv r0, r5, sl - 1ac58: fb0a 5510 mls r5, sl, r0, r5 - 1ac5c: ea44 4405 orr.w r4, r4, r5, lsl #16 - 1ac60: fb00 f909 mul.w r9, r0, r9 - 1ac64: 45a1 cmp r9, r4 - 1ac66: d909 bls.n 1ac7c <__udivmoddi4+0x98> - 1ac68: 19e4 adds r4, r4, r7 - 1ac6a: f100 33ff add.w r3, r0, #4294967295 - 1ac6e: f080 810a bcs.w 1ae86 <__udivmoddi4+0x2a2> - 1ac72: 45a1 cmp r9, r4 - 1ac74: f240 8107 bls.w 1ae86 <__udivmoddi4+0x2a2> - 1ac78: 3802 subs r0, #2 - 1ac7a: 443c add r4, r7 - 1ac7c: eba4 0409 sub.w r4, r4, r9 - 1ac80: ea40 4008 orr.w r0, r0, r8, lsl #16 - 1ac84: 2100 movs r1, #0 - 1ac86: 2e00 cmp r6, #0 - 1ac88: d061 beq.n 1ad4e <__udivmoddi4+0x16a> - 1ac8a: fa24 f40e lsr.w r4, r4, lr - 1ac8e: 2300 movs r3, #0 - 1ac90: 6034 str r4, [r6, #0] - 1ac92: 6073 str r3, [r6, #4] - 1ac94: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} - 1ac98: 428b cmp r3, r1 - 1ac9a: d907 bls.n 1acac <__udivmoddi4+0xc8> - 1ac9c: 2e00 cmp r6, #0 - 1ac9e: d054 beq.n 1ad4a <__udivmoddi4+0x166> - 1aca0: 2100 movs r1, #0 - 1aca2: e886 0021 stmia.w r6, {r0, r5} - 1aca6: 4608 mov r0, r1 - 1aca8: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} - 1acac: fab3 f183 clz r1, r3 - 1acb0: 2900 cmp r1, #0 - 1acb2: f040 808e bne.w 1add2 <__udivmoddi4+0x1ee> - 1acb6: 42ab cmp r3, r5 - 1acb8: d302 bcc.n 1acc0 <__udivmoddi4+0xdc> - 1acba: 4282 cmp r2, r0 - 1acbc: f200 80fa bhi.w 1aeb4 <__udivmoddi4+0x2d0> - 1acc0: 1a84 subs r4, r0, r2 - 1acc2: eb65 0503 sbc.w r5, r5, r3 - 1acc6: 2001 movs r0, #1 - 1acc8: 46ac mov ip, r5 - 1acca: 2e00 cmp r6, #0 - 1accc: d03f beq.n 1ad4e <__udivmoddi4+0x16a> - 1acce: e886 1010 stmia.w r6, {r4, ip} - 1acd2: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} - 1acd6: b912 cbnz r2, 1acde <__udivmoddi4+0xfa> - 1acd8: 2701 movs r7, #1 - 1acda: fbb7 f7f2 udiv r7, r7, r2 - 1acde: fab7 fe87 clz lr, r7 - 1ace2: f1be 0f00 cmp.w lr, #0 - 1ace6: d134 bne.n 1ad52 <__udivmoddi4+0x16e> - 1ace8: 1beb subs r3, r5, r7 - 1acea: 0c3a lsrs r2, r7, #16 - 1acec: fa1f fc87 uxth.w ip, r7 - 1acf0: 2101 movs r1, #1 - 1acf2: fbb3 f8f2 udiv r8, r3, r2 - 1acf6: 0c25 lsrs r5, r4, #16 - 1acf8: fb02 3318 mls r3, r2, r8, r3 - 1acfc: ea45 4503 orr.w r5, r5, r3, lsl #16 - 1ad00: fb0c f308 mul.w r3, ip, r8 - 1ad04: 42ab cmp r3, r5 - 1ad06: d907 bls.n 1ad18 <__udivmoddi4+0x134> - 1ad08: 19ed adds r5, r5, r7 - 1ad0a: f108 30ff add.w r0, r8, #4294967295 - 1ad0e: d202 bcs.n 1ad16 <__udivmoddi4+0x132> - 1ad10: 42ab cmp r3, r5 - 1ad12: f200 80d1 bhi.w 1aeb8 <__udivmoddi4+0x2d4> - 1ad16: 4680 mov r8, r0 - 1ad18: 1aed subs r5, r5, r3 - 1ad1a: b2a3 uxth r3, r4 - 1ad1c: fbb5 f0f2 udiv r0, r5, r2 - 1ad20: fb02 5510 mls r5, r2, r0, r5 - 1ad24: ea43 4405 orr.w r4, r3, r5, lsl #16 - 1ad28: fb0c fc00 mul.w ip, ip, r0 - 1ad2c: 45a4 cmp ip, r4 - 1ad2e: d907 bls.n 1ad40 <__udivmoddi4+0x15c> - 1ad30: 19e4 adds r4, r4, r7 - 1ad32: f100 33ff add.w r3, r0, #4294967295 - 1ad36: d202 bcs.n 1ad3e <__udivmoddi4+0x15a> - 1ad38: 45a4 cmp ip, r4 - 1ad3a: f200 80b8 bhi.w 1aeae <__udivmoddi4+0x2ca> - 1ad3e: 4618 mov r0, r3 - 1ad40: eba4 040c sub.w r4, r4, ip - 1ad44: ea40 4008 orr.w r0, r0, r8, lsl #16 - 1ad48: e79d b.n 1ac86 <__udivmoddi4+0xa2> - 1ad4a: 4631 mov r1, r6 - 1ad4c: 4630 mov r0, r6 - 1ad4e: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} - 1ad52: f1ce 0420 rsb r4, lr, #32 - 1ad56: fa05 f30e lsl.w r3, r5, lr - 1ad5a: fa07 f70e lsl.w r7, r7, lr - 1ad5e: fa20 f804 lsr.w r8, r0, r4 - 1ad62: 0c3a lsrs r2, r7, #16 - 1ad64: fa25 f404 lsr.w r4, r5, r4 - 1ad68: ea48 0803 orr.w r8, r8, r3 - 1ad6c: fbb4 f1f2 udiv r1, r4, r2 - 1ad70: ea4f 4518 mov.w r5, r8, lsr #16 - 1ad74: fb02 4411 mls r4, r2, r1, r4 - 1ad78: fa1f fc87 uxth.w ip, r7 - 1ad7c: ea45 4504 orr.w r5, r5, r4, lsl #16 - 1ad80: fb01 f30c mul.w r3, r1, ip - 1ad84: 42ab cmp r3, r5 - 1ad86: fa00 f40e lsl.w r4, r0, lr - 1ad8a: d909 bls.n 1ada0 <__udivmoddi4+0x1bc> - 1ad8c: 19ed adds r5, r5, r7 - 1ad8e: f101 30ff add.w r0, r1, #4294967295 - 1ad92: f080 808a bcs.w 1aeaa <__udivmoddi4+0x2c6> - 1ad96: 42ab cmp r3, r5 - 1ad98: f240 8087 bls.w 1aeaa <__udivmoddi4+0x2c6> - 1ad9c: 3902 subs r1, #2 - 1ad9e: 443d add r5, r7 - 1ada0: 1aeb subs r3, r5, r3 - 1ada2: fa1f f588 uxth.w r5, r8 - 1ada6: fbb3 f0f2 udiv r0, r3, r2 - 1adaa: fb02 3310 mls r3, r2, r0, r3 - 1adae: ea45 4503 orr.w r5, r5, r3, lsl #16 - 1adb2: fb00 f30c mul.w r3, r0, ip - 1adb6: 42ab cmp r3, r5 - 1adb8: d907 bls.n 1adca <__udivmoddi4+0x1e6> - 1adba: 19ed adds r5, r5, r7 - 1adbc: f100 38ff add.w r8, r0, #4294967295 - 1adc0: d26f bcs.n 1aea2 <__udivmoddi4+0x2be> - 1adc2: 42ab cmp r3, r5 - 1adc4: d96d bls.n 1aea2 <__udivmoddi4+0x2be> - 1adc6: 3802 subs r0, #2 - 1adc8: 443d add r5, r7 - 1adca: 1aeb subs r3, r5, r3 - 1adcc: ea40 4101 orr.w r1, r0, r1, lsl #16 - 1add0: e78f b.n 1acf2 <__udivmoddi4+0x10e> - 1add2: f1c1 0720 rsb r7, r1, #32 - 1add6: fa22 f807 lsr.w r8, r2, r7 - 1adda: 408b lsls r3, r1 - 1addc: fa05 f401 lsl.w r4, r5, r1 - 1ade0: ea48 0303 orr.w r3, r8, r3 - 1ade4: fa20 fe07 lsr.w lr, r0, r7 - 1ade8: ea4f 4c13 mov.w ip, r3, lsr #16 - 1adec: 40fd lsrs r5, r7 - 1adee: ea4e 0e04 orr.w lr, lr, r4 - 1adf2: fbb5 f9fc udiv r9, r5, ip - 1adf6: ea4f 441e mov.w r4, lr, lsr #16 - 1adfa: fb0c 5519 mls r5, ip, r9, r5 - 1adfe: fa1f f883 uxth.w r8, r3 - 1ae02: ea44 4505 orr.w r5, r4, r5, lsl #16 - 1ae06: fb09 f408 mul.w r4, r9, r8 - 1ae0a: 42ac cmp r4, r5 - 1ae0c: fa02 f201 lsl.w r2, r2, r1 - 1ae10: fa00 fa01 lsl.w sl, r0, r1 - 1ae14: d908 bls.n 1ae28 <__udivmoddi4+0x244> - 1ae16: 18ed adds r5, r5, r3 - 1ae18: f109 30ff add.w r0, r9, #4294967295 - 1ae1c: d243 bcs.n 1aea6 <__udivmoddi4+0x2c2> - 1ae1e: 42ac cmp r4, r5 - 1ae20: d941 bls.n 1aea6 <__udivmoddi4+0x2c2> - 1ae22: f1a9 0902 sub.w r9, r9, #2 - 1ae26: 441d add r5, r3 - 1ae28: 1b2d subs r5, r5, r4 - 1ae2a: fa1f fe8e uxth.w lr, lr - 1ae2e: fbb5 f0fc udiv r0, r5, ip - 1ae32: fb0c 5510 mls r5, ip, r0, r5 - 1ae36: ea4e 4405 orr.w r4, lr, r5, lsl #16 - 1ae3a: fb00 f808 mul.w r8, r0, r8 - 1ae3e: 45a0 cmp r8, r4 - 1ae40: d907 bls.n 1ae52 <__udivmoddi4+0x26e> - 1ae42: 18e4 adds r4, r4, r3 - 1ae44: f100 35ff add.w r5, r0, #4294967295 - 1ae48: d229 bcs.n 1ae9e <__udivmoddi4+0x2ba> - 1ae4a: 45a0 cmp r8, r4 - 1ae4c: d927 bls.n 1ae9e <__udivmoddi4+0x2ba> - 1ae4e: 3802 subs r0, #2 - 1ae50: 441c add r4, r3 - 1ae52: ea40 4009 orr.w r0, r0, r9, lsl #16 - 1ae56: eba4 0408 sub.w r4, r4, r8 - 1ae5a: fba0 8902 umull r8, r9, r0, r2 - 1ae5e: 454c cmp r4, r9 - 1ae60: 46c6 mov lr, r8 - 1ae62: 464d mov r5, r9 - 1ae64: d315 bcc.n 1ae92 <__udivmoddi4+0x2ae> - 1ae66: d012 beq.n 1ae8e <__udivmoddi4+0x2aa> - 1ae68: b156 cbz r6, 1ae80 <__udivmoddi4+0x29c> - 1ae6a: ebba 030e subs.w r3, sl, lr - 1ae6e: eb64 0405 sbc.w r4, r4, r5 - 1ae72: fa04 f707 lsl.w r7, r4, r7 - 1ae76: 40cb lsrs r3, r1 - 1ae78: 431f orrs r7, r3 - 1ae7a: 40cc lsrs r4, r1 - 1ae7c: 6037 str r7, [r6, #0] - 1ae7e: 6074 str r4, [r6, #4] - 1ae80: 2100 movs r1, #0 - 1ae82: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} - 1ae86: 4618 mov r0, r3 - 1ae88: e6f8 b.n 1ac7c <__udivmoddi4+0x98> - 1ae8a: 4690 mov r8, r2 - 1ae8c: e6e0 b.n 1ac50 <__udivmoddi4+0x6c> - 1ae8e: 45c2 cmp sl, r8 - 1ae90: d2ea bcs.n 1ae68 <__udivmoddi4+0x284> - 1ae92: ebb8 0e02 subs.w lr, r8, r2 - 1ae96: eb69 0503 sbc.w r5, r9, r3 - 1ae9a: 3801 subs r0, #1 - 1ae9c: e7e4 b.n 1ae68 <__udivmoddi4+0x284> - 1ae9e: 4628 mov r0, r5 - 1aea0: e7d7 b.n 1ae52 <__udivmoddi4+0x26e> - 1aea2: 4640 mov r0, r8 - 1aea4: e791 b.n 1adca <__udivmoddi4+0x1e6> - 1aea6: 4681 mov r9, r0 - 1aea8: e7be b.n 1ae28 <__udivmoddi4+0x244> - 1aeaa: 4601 mov r1, r0 - 1aeac: e778 b.n 1ada0 <__udivmoddi4+0x1bc> - 1aeae: 3802 subs r0, #2 - 1aeb0: 443c add r4, r7 - 1aeb2: e745 b.n 1ad40 <__udivmoddi4+0x15c> - 1aeb4: 4608 mov r0, r1 - 1aeb6: e708 b.n 1acca <__udivmoddi4+0xe6> - 1aeb8: f1a8 0802 sub.w r8, r8, #2 - 1aebc: 443d add r5, r7 - 1aebe: e72b b.n 1ad18 <__udivmoddi4+0x134> - -0001aec0 <__aeabi_idiv0>: - 1aec0: 4770 bx lr - 1aec2: bf00 nop - -0001aec4 <__libc_init_array>: - 1aec4: b570 push {r4, r5, r6, lr} - 1aec6: 4e0d ldr r6, [pc, #52] ; (1aefc <__libc_init_array+0x38>) - 1aec8: 4c0d ldr r4, [pc, #52] ; (1af00 <__libc_init_array+0x3c>) - 1aeca: 1ba4 subs r4, r4, r6 - 1aecc: 10a4 asrs r4, r4, #2 - 1aece: 2500 movs r5, #0 - 1aed0: 42a5 cmp r5, r4 - 1aed2: d109 bne.n 1aee8 <__libc_init_array+0x24> - 1aed4: 4e0b ldr r6, [pc, #44] ; (1af04 <__libc_init_array+0x40>) - 1aed6: 4c0c ldr r4, [pc, #48] ; (1af08 <__libc_init_array+0x44>) - 1aed8: f005 ff1c bl 20d14 <_init> - 1aedc: 1ba4 subs r4, r4, r6 - 1aede: 10a4 asrs r4, r4, #2 - 1aee0: 2500 movs r5, #0 - 1aee2: 42a5 cmp r5, r4 - 1aee4: d105 bne.n 1aef2 <__libc_init_array+0x2e> - 1aee6: bd70 pop {r4, r5, r6, pc} - 1aee8: f856 3025 ldr.w r3, [r6, r5, lsl #2] - 1aeec: 4798 blx r3 - 1aeee: 3501 adds r5, #1 - 1aef0: e7ee b.n 1aed0 <__libc_init_array+0xc> - 1aef2: f856 3025 ldr.w r3, [r6, r5, lsl #2] - 1aef6: 4798 blx r3 - 1aef8: 3501 adds r5, #1 - 1aefa: e7f2 b.n 1aee2 <__libc_init_array+0x1e> - 1aefc: 00020d20 .word 0x00020d20 - 1af00: 00020d20 .word 0x00020d20 - 1af04: 00020d20 .word 0x00020d20 - 1af08: 00020d24 .word 0x00020d24 - -0001af0c : - 1af0c: b510 push {r4, lr} - 1af0e: 3901 subs r1, #1 - 1af10: 4402 add r2, r0 - 1af12: 4290 cmp r0, r2 - 1af14: d101 bne.n 1af1a - 1af16: 2000 movs r0, #0 - 1af18: bd10 pop {r4, pc} - 1af1a: f810 3b01 ldrb.w r3, [r0], #1 - 1af1e: f811 4f01 ldrb.w r4, [r1, #1]! - 1af22: 42a3 cmp r3, r4 - 1af24: d0f5 beq.n 1af12 - 1af26: 1b18 subs r0, r3, r4 - 1af28: bd10 pop {r4, pc} - -0001af2a : - 1af2a: f810 2b01 ldrb.w r2, [r0], #1 - 1af2e: f811 3b01 ldrb.w r3, [r1], #1 - 1af32: 2a01 cmp r2, #1 - 1af34: bf28 it cs - 1af36: 429a cmpcs r2, r3 - 1af38: d0f7 beq.n 1af2a - 1af3a: 1ad0 subs r0, r2, r3 - 1af3c: 4770 bx lr - -0001af3e : - 1af3e: 4603 mov r3, r0 - 1af40: f811 2b01 ldrb.w r2, [r1], #1 - 1af44: f803 2b01 strb.w r2, [r3], #1 - 1af48: 2a00 cmp r2, #0 - 1af4a: d1f9 bne.n 1af40 - 1af4c: 4770 bx lr - -0001af4e : - 1af4e: 4603 mov r3, r0 - 1af50: f813 2b01 ldrb.w r2, [r3], #1 - 1af54: 2a00 cmp r2, #0 - 1af56: d1fb bne.n 1af50 - 1af58: 1a18 subs r0, r3, r0 - 1af5a: 3801 subs r0, #1 - 1af5c: 4770 bx lr - 1af5e: 0000 movs r0, r0 - 1af60: 682f2e2e .word 0x682f2e2e - 1af64: 702f6c70 .word 0x702f6c70 - 1af68: 2f74726f .word 0x2f74726f - 1af6c: 5f6c7068 .word 0x5f6c7068 - 1af70: 6f697067 .word 0x6f697067 - 1af74: 7361625f .word 0x7361625f - 1af78: 00682e65 .word 0x00682e65 - 1af7c: 682f2e2e .word 0x682f2e2e - 1af80: 732f6c61 .word 0x732f6c61 - 1af84: 682f6372 .word 0x682f6372 - 1af88: 695f6c61 .word 0x695f6c61 - 1af8c: 6d5f6332 .word 0x6d5f6332 - 1af90: 6e79735f .word 0x6e79735f - 1af94: 00632e63 .word 0x00632e63 - 1af98: 682f2e2e .word 0x682f2e2e - 1af9c: 732f6c61 .word 0x732f6c61 - 1afa0: 682f6372 .word 0x682f6372 - 1afa4: 695f6c61 .word 0x695f6c61 - 1afa8: 00632e6f .word 0x00632e6f - 1afac: 682f2e2e .word 0x682f2e2e - 1afb0: 732f6c61 .word 0x732f6c61 - 1afb4: 682f6372 .word 0x682f6372 - 1afb8: 745f6c61 .word 0x745f6c61 - 1afbc: 72656d69 .word 0x72656d69 - 1afc0: 0000632e .word 0x0000632e - 1afc4: 682f2e2e .word 0x682f2e2e - 1afc8: 732f6c61 .word 0x732f6c61 - 1afcc: 682f6372 .word 0x682f6372 - 1afd0: 755f6c61 .word 0x755f6c61 - 1afd4: 74726173 .word 0x74726173 - 1afd8: 7973615f .word 0x7973615f - 1afdc: 632e636e .word 0x632e636e - 1afe0: 00000000 .word 0x00000000 - 1afe4: 682f2e2e .word 0x682f2e2e - 1afe8: 752f6c61 .word 0x752f6c61 - 1afec: 736c6974 .word 0x736c6974 - 1aff0: 6372732f .word 0x6372732f - 1aff4: 6974752f .word 0x6974752f - 1aff8: 6c5f736c .word 0x6c5f736c - 1affc: 2e747369 .word 0x2e747369 - 1b000: 00000063 .word 0x00000063 - 1b004: 682f2e2e .word 0x682f2e2e - 1b008: 752f6c61 .word 0x752f6c61 - 1b00c: 736c6974 .word 0x736c6974 - 1b010: 6372732f .word 0x6372732f - 1b014: 6974752f .word 0x6974752f - 1b018: 725f736c .word 0x725f736c - 1b01c: 62676e69 .word 0x62676e69 - 1b020: 65666675 .word 0x65666675 - 1b024: 00632e72 .word 0x00632e72 - 1b028: 40003000 .word 0x40003000 - 1b02c: 40003400 .word 0x40003400 - 1b030: 41012000 .word 0x41012000 - 1b034: 41014000 .word 0x41014000 - 1b038: 43000000 .word 0x43000000 - 1b03c: 43000400 .word 0x43000400 - 1b040: 43000800 .word 0x43000800 - 1b044: 43000c00 .word 0x43000c00 - -0001b048 <_i2cms>: - 1b048: 00000003 00200014 00000100 000000ff ...... ......... - 1b058: 00d70000 07270400 682f2e2e 732f6c70 ......'.../hpl/s - 1b068: 6f637265 70682f6d 65735f6c 6d6f6372 ercom/hpl_sercom - 1b078: 0000632e 40003800 40003c00 4101a000 .c...8.@.<.@...A - 1b088: 4101c000 42001400 42001800 43001400 ...A...B...B...C - 1b098: 43001800 ...C - -0001b09c <_tcs>: - 1b09c: 006b0000 00000308 00000000 00003a97 ..k..........:.. - 1b0ac: 00000000 682f2e2e 742f6c70 70682f63 ....../hpl/tc/hp - 1b0bc: 63745f6c 0000632e 6c6c6548 6f57206f l_tc.c..Hello Wo - 1b0cc: 00646c72 rld. - -0001b0d0 <__func__.9536>: - 1b0d0: 645f766c 67756265 6568635f 735f6b63 lv_debug_check_s - 1b0e0: 00007274 tr.. - -0001b0e4 : - 1b0e4: 33323130 37363534 42413938 46454443 0123456789ABCDEF - 1b0f4: 00000000 .... - -0001b0f8 <__func__.9554>: - 1b0f8: 645f766c 67756265 676f6c5f 7272655f lv_debug_log_err - 1b108: 0000726f 742f2e2e 64726968 74726170 or..../thirdpart - 1b118: 766c2f79 732f6c67 6c2f6372 6f635f76 y/lvgl/src/lv_co - 1b128: 6c2f6572 65645f76 2e677562 00000063 re/lv_debug.c... - 1b138: 645f766c 67756265 6568635f 735f6b63 lv_debug_check_s - 1b148: 203a7274 6f6e2061 53412d6e 20494943 tr: a non-ASCII - 1b158: 72616863 73616820 70657220 65746165 char has repeate - 1b168: 6f6d2064 74206572 206e6168 445f564c d more than LV_D - 1b178: 47554245 5254535f 58414d5f 5045525f EBUG_STR_MAX_REP - 1b188: 20544145 656d6974 00002973 645f766c EAT times)..lv_d - 1b198: 67756265 6568635f 735f6b63 203a7274 ebug_check_str: - 1b1a8: 61766e69 2064696c 72616863 206e6920 invalid char in - 1b1b8: 20656874 69727473 2820676e 3031203c the string (< 10 - 1b1c8: 6c617620 00296575 645f766c 67756265 value).lv_debug - 1b1d8: 6568635f 735f6b63 203a7274 69727473 _check_str: stri - 1b1e8: 6920676e 6f6c2073 7265676e 61687420 ng is longer tha - 1b1f8: 564c206e 4245445f 535f4755 4d5f5254 n LV_DEBUG_STR_M - 1b208: 4c5f5841 54474e45 00000048 AX_LENGTH... - -0001b214 <__func__.9507>: - 1b214: 645f766c 5f707369 5f746567 5f726373 lv_disp_get_scr_ - 1b224: 00746361 act. - -0001b228 <__func__.9515>: - 1b228: 645f766c 5f707369 5f746567 6579616c lv_disp_get_laye - 1b238: 6f745f72 00000070 r_top... - -0001b240 <__func__.9519>: - 1b240: 645f766c 5f707369 5f746567 6579616c lv_disp_get_laye - 1b250: 79735f72 00000073 r_sys... - -0001b258 <__func__.9524>: - 1b258: 645f766c 5f707369 69737361 735f6e67 lv_disp_assign_s - 1b268: 65657263 0000006e creen... - -0001b270 <__func__.9529>: - 1b270: 645f766c 5f707369 5f746567 63616e69 lv_disp_get_inac - 1b280: 65766974 6d69745f 00000065 tive_time... - -0001b28c <__func__.9539>: - 1b28c: 645f766c 5f707369 67697274 7463615f lv_disp_trig_act - 1b29c: 74697669 00000079 ivity... - -0001b2a4 <__func__.9543>: - 1b2a4: 5f766c5f 70736964 7465675f 6665725f _lv_disp_get_ref - 1b2b4: 61745f72 00006b73 742f2e2e 64726968 r_task..../third - 1b2c4: 74726170 766c2f79 732f6c67 6c2f6372 party/lvgl/src/l - 1b2d4: 6f635f76 6c2f6572 69645f76 632e7073 v_core/lv_disp.c - 1b2e4: 00000000 735f766c 615f7263 203a7463 ....lv_scr_act: - 1b2f4: 64206f6e 6c707369 72207961 73696765 no display regis - 1b304: 65726574 6f742064 74656720 73746920 tered to get its - 1b314: 74636120 6373202e 6e656572 00000000 act. screen.... - 1b324: 6c5f766c 72657961 706f745f 6f6e203a lv_layer_top: no - 1b334: 73696420 79616c70 67657220 65747369 display registe - 1b344: 20646572 67206f74 69207465 74207374 red to get its t - 1b354: 6c20706f 72657961 00000000 6c5f766c op layer....lv_l - 1b364: 72657961 7379735f 6f6e203a 73696420 ayer_sys: no dis - 1b374: 79616c70 67657220 65747369 20646572 play registered - 1b384: 67206f74 69207465 73207374 202e7379 to get its sys. - 1b394: 6579616c 00000072 645f766c 5f707369 layer...lv_disp_ - 1b3a4: 69737361 735f6e67 65657263 74203a6e assign_screen: t - 1b3b4: 74207972 7361206f 6e676973 6e206120 ry to assign a n - 1b3c4: 732d6e6f 65657263 626f206e 7463656a on-screen object - 1b3d4: 00000000 645f766c 5f707369 5f746567 ....lv_disp_get_ - 1b3e4: 63616e69 65766974 6d69745f 6e203a65 inactive_time: n - 1b3f4: 6964206f 616c7073 65722079 74736967 o display regist - 1b404: 64657265 00000000 645f766c 5f707369 ered....lv_disp_ - 1b414: 67697274 7463615f 74697669 6e203a79 trig_activity: n - 1b424: 6964206f 616c7073 65722079 74736967 o display regist - 1b434: 64657265 00000000 645f766c 5f707369 ered....lv_disp_ - 1b444: 5f746567 72666572 7361745f 6e203a6b get_refr_task: n - 1b454: 6964206f 616c7073 65722079 74736967 o display regist - 1b464: 64657265 00000000 ered.... - -0001b46c <__func__.9740>: - 1b46c: 675f766c 70756f72 6572635f 00657461 lv_group_create. - -0001b47c <__func__.9754>: - 1b47c: 675f766c 70756f72 6464615f 6a626f5f lv_group_add_obj - 1b48c: 00000000 742f2e2e 64726968 74726170 ....../thirdpart - 1b49c: 766c2f79 732f6c67 6c2f6372 6f635f76 y/lvgl/src/lv_co - 1b4ac: 6c2f6572 72675f76 2e70756f 00000063 re/lv_group.c... - 1b4bc: 2074754f 6d20666f 726f6d65 00000079 Out of memory... - 1b4cc: 675f766c 70756f72 6464615f 6a626f5f lv_group_add_obj - 1b4dc: 6874203a 626f2065 7463656a 20736920 : the object is - 1b4ec: 65726c61 20796461 65646461 6f742064 already added to - 1b4fc: 69687420 72672073 0070756f 675f766c this group.lv_g - 1b50c: 70756f72 6464615f 6a626f5f 7361203a roup_add_obj: as - 1b51c: 6e676973 6a626f20 20746365 61206f74 sign object to a - 1b52c: 746f206e 20726568 756f7267 00000070 n other group... - -0001b53c <__func__.9914>: - 1b53c: 695f766c 0074696e lv_init. - -0001b544 <__func__.9921>: - 1b544: 645f766c 696e6965 00000074 lv_deinit... - -0001b550 <__func__.9946>: - 1b550: 6f5f766c 645f6a62 615f6c65 636e7973 lv_obj_del_async - 1b560: 00000000 .... - -0001b564 <__func__.10139>: - 1b564: 6f5f766c 735f6a62 615f7465 5f6f7475 lv_obj_set_auto_ - 1b574: 6c616572 006e6769 realign. - -0001b57c <__func__.10148>: - 1b57c: 6f5f766c 735f6a62 655f7465 635f7478 lv_obj_set_ext_c - 1b58c: 6b63696c 6572615f 00000061 lick_area... - -0001b598 <__func__.10276>: - 1b598: 6f5f766c 735f6a62 615f7465 685f7664 lv_obj_set_adv_h - 1b5a8: 65747469 00007473 ittest.. - -0001b5b0 <__func__.10282>: - 1b5b0: 6f5f766c 735f6a62 635f7465 6b63696c lv_obj_set_click - 1b5c0: 00000000 .... - -0001b5c4 <__func__.10288>: - 1b5c4: 6f5f766c 735f6a62 745f7465 0000706f lv_obj_set_top.. - -0001b5d4 <__func__.10294>: - 1b5d4: 6f5f766c 735f6a62 645f7465 00676172 lv_obj_set_drag. - -0001b5e4 <__func__.10300>: - 1b5e4: 6f5f766c 735f6a62 645f7465 5f676172 lv_obj_set_drag_ - 1b5f4: 00726964 dir. - -0001b5f8 <__func__.10306>: - 1b5f8: 6f5f766c 735f6a62 645f7465 5f676172 lv_obj_set_drag_ - 1b608: 6f726874 00000077 throw... - -0001b610 <__func__.10312>: - 1b610: 6f5f766c 735f6a62 645f7465 5f676172 lv_obj_set_drag_ - 1b620: 65726170 0000746e parent.. - -0001b628 <__func__.10322>: - 1b628: 6f5f766c 735f6a62 705f7465 6e657261 lv_obj_set_paren - 1b638: 76655f74 00746e65 t_event. - -0001b640 <__func__.10333>: - 1b640: 6f5f766c 615f6a62 705f6464 65746f72 lv_obj_add_prote - 1b650: 00007463 ct.. - -0001b654 <__func__.10339>: - 1b654: 6f5f766c 635f6a62 7261656c 6f72705f lv_obj_clear_pro - 1b664: 74636574 00000000 tect.... - -0001b66c <__func__.10390>: - 1b66c: 6f5f766c 735f6a62 655f7465 746e6576 lv_obj_set_event - 1b67c: 0062635f _cb. - -0001b680 <__func__.10406>: - 1b680: 655f766c 746e6576 6e65735f 75665f64 lv_event_send_fu - 1b690: 0000636e nc.. - -0001b694 <__func__.10397>: - 1b694: 655f766c 746e6576 6e65735f 00000064 lv_event_send... - -0001b6a4 <__func__.10419>: - 1b6a4: 6f5f766c 735f6a62 735f7465 616e6769 lv_obj_set_signa - 1b6b4: 62635f6c 00000000 l_cb.... - -0001b6bc <__func__.10431>: - 1b6bc: 6f5f766c 735f6a62 645f7465 67697365 lv_obj_set_desig - 1b6cc: 62635f6e 00000000 n_cb.... - -0001b6d4 <__func__.10437>: - 1b6d4: 6f5f766c 615f6a62 636f6c6c 5f657461 lv_obj_allocate_ - 1b6e4: 5f747865 72747461 00000000 ext_attr.... - -0001b6f0 <__func__.10443>: - 1b6f0: 6f5f766c 725f6a62 65726665 655f6873 lv_obj_refresh_e - 1b700: 645f7478 5f776172 00646170 xt_draw_pad. + 1b142: 2002 movs r0, #2 + 1b144: 4770 bx lr + 1b146: bf00 nop + 1b148: 00004d9d .word 0x00004d9d + 1b14c: 000044d5 .word 0x000044d5 + 1b150: 0000c269 .word 0x0000c269 + 1b154: 000050c5 .word 0x000050c5 + 1b158: 0000c331 .word 0x0000c331 + 1b15c: 00019d89 .word 0x00019d89 + 1b160: 00011519 .word 0x00011519 + 1b164: 00019f81 .word 0x00019f81 + 1b168: 000099cd .word 0x000099cd + 1b16c: 0001ae71 .word 0x0001ae71 + 1b170: 0001aeb9 .word 0x0001aeb9 + 1b174: 000056b1 .word 0x000056b1 + 1b178: 00009a25 .word 0x00009a25 + 1b17c: 0001407d .word 0x0001407d + 1b180: 00010061 .word 0x00010061 + +0001b184 <__aeabi_uldivmod>: + 1b184: b953 cbnz r3, 1b19c <__aeabi_uldivmod+0x18> + 1b186: b94a cbnz r2, 1b19c <__aeabi_uldivmod+0x18> + 1b188: 2900 cmp r1, #0 + 1b18a: bf08 it eq + 1b18c: 2800 cmpeq r0, #0 + 1b18e: bf1c itt ne + 1b190: f04f 31ff movne.w r1, #4294967295 + 1b194: f04f 30ff movne.w r0, #4294967295 + 1b198: f000 b97a b.w 1b490 <__aeabi_idiv0> + 1b19c: f1ad 0c08 sub.w ip, sp, #8 + 1b1a0: e96d ce04 strd ip, lr, [sp, #-16]! + 1b1a4: f000 f806 bl 1b1b4 <__udivmoddi4> + 1b1a8: f8dd e004 ldr.w lr, [sp, #4] + 1b1ac: e9dd 2302 ldrd r2, r3, [sp, #8] + 1b1b0: b004 add sp, #16 + 1b1b2: 4770 bx lr + +0001b1b4 <__udivmoddi4>: + 1b1b4: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} + 1b1b8: 468c mov ip, r1 + 1b1ba: 460d mov r5, r1 + 1b1bc: 4604 mov r4, r0 + 1b1be: 9e08 ldr r6, [sp, #32] + 1b1c0: 2b00 cmp r3, #0 + 1b1c2: d151 bne.n 1b268 <__udivmoddi4+0xb4> + 1b1c4: 428a cmp r2, r1 + 1b1c6: 4617 mov r7, r2 + 1b1c8: d96d bls.n 1b2a6 <__udivmoddi4+0xf2> + 1b1ca: fab2 fe82 clz lr, r2 + 1b1ce: f1be 0f00 cmp.w lr, #0 + 1b1d2: d00b beq.n 1b1ec <__udivmoddi4+0x38> + 1b1d4: f1ce 0c20 rsb ip, lr, #32 + 1b1d8: fa01 f50e lsl.w r5, r1, lr + 1b1dc: fa20 fc0c lsr.w ip, r0, ip + 1b1e0: fa02 f70e lsl.w r7, r2, lr + 1b1e4: ea4c 0c05 orr.w ip, ip, r5 + 1b1e8: fa00 f40e lsl.w r4, r0, lr + 1b1ec: ea4f 4a17 mov.w sl, r7, lsr #16 + 1b1f0: 0c25 lsrs r5, r4, #16 + 1b1f2: fbbc f8fa udiv r8, ip, sl + 1b1f6: fa1f f987 uxth.w r9, r7 + 1b1fa: fb0a cc18 mls ip, sl, r8, ip + 1b1fe: ea45 450c orr.w r5, r5, ip, lsl #16 + 1b202: fb08 f309 mul.w r3, r8, r9 + 1b206: 42ab cmp r3, r5 + 1b208: d90a bls.n 1b220 <__udivmoddi4+0x6c> + 1b20a: 19ed adds r5, r5, r7 + 1b20c: f108 32ff add.w r2, r8, #4294967295 + 1b210: f080 8123 bcs.w 1b45a <__udivmoddi4+0x2a6> + 1b214: 42ab cmp r3, r5 + 1b216: f240 8120 bls.w 1b45a <__udivmoddi4+0x2a6> + 1b21a: f1a8 0802 sub.w r8, r8, #2 + 1b21e: 443d add r5, r7 + 1b220: 1aed subs r5, r5, r3 + 1b222: b2a4 uxth r4, r4 + 1b224: fbb5 f0fa udiv r0, r5, sl + 1b228: fb0a 5510 mls r5, sl, r0, r5 + 1b22c: ea44 4405 orr.w r4, r4, r5, lsl #16 + 1b230: fb00 f909 mul.w r9, r0, r9 + 1b234: 45a1 cmp r9, r4 + 1b236: d909 bls.n 1b24c <__udivmoddi4+0x98> + 1b238: 19e4 adds r4, r4, r7 + 1b23a: f100 33ff add.w r3, r0, #4294967295 + 1b23e: f080 810a bcs.w 1b456 <__udivmoddi4+0x2a2> + 1b242: 45a1 cmp r9, r4 + 1b244: f240 8107 bls.w 1b456 <__udivmoddi4+0x2a2> + 1b248: 3802 subs r0, #2 + 1b24a: 443c add r4, r7 + 1b24c: eba4 0409 sub.w r4, r4, r9 + 1b250: ea40 4008 orr.w r0, r0, r8, lsl #16 + 1b254: 2100 movs r1, #0 + 1b256: 2e00 cmp r6, #0 + 1b258: d061 beq.n 1b31e <__udivmoddi4+0x16a> + 1b25a: fa24 f40e lsr.w r4, r4, lr + 1b25e: 2300 movs r3, #0 + 1b260: 6034 str r4, [r6, #0] + 1b262: 6073 str r3, [r6, #4] + 1b264: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + 1b268: 428b cmp r3, r1 + 1b26a: d907 bls.n 1b27c <__udivmoddi4+0xc8> + 1b26c: 2e00 cmp r6, #0 + 1b26e: d054 beq.n 1b31a <__udivmoddi4+0x166> + 1b270: 2100 movs r1, #0 + 1b272: e886 0021 stmia.w r6, {r0, r5} + 1b276: 4608 mov r0, r1 + 1b278: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + 1b27c: fab3 f183 clz r1, r3 + 1b280: 2900 cmp r1, #0 + 1b282: f040 808e bne.w 1b3a2 <__udivmoddi4+0x1ee> + 1b286: 42ab cmp r3, r5 + 1b288: d302 bcc.n 1b290 <__udivmoddi4+0xdc> + 1b28a: 4282 cmp r2, r0 + 1b28c: f200 80fa bhi.w 1b484 <__udivmoddi4+0x2d0> + 1b290: 1a84 subs r4, r0, r2 + 1b292: eb65 0503 sbc.w r5, r5, r3 + 1b296: 2001 movs r0, #1 + 1b298: 46ac mov ip, r5 + 1b29a: 2e00 cmp r6, #0 + 1b29c: d03f beq.n 1b31e <__udivmoddi4+0x16a> + 1b29e: e886 1010 stmia.w r6, {r4, ip} + 1b2a2: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + 1b2a6: b912 cbnz r2, 1b2ae <__udivmoddi4+0xfa> + 1b2a8: 2701 movs r7, #1 + 1b2aa: fbb7 f7f2 udiv r7, r7, r2 + 1b2ae: fab7 fe87 clz lr, r7 + 1b2b2: f1be 0f00 cmp.w lr, #0 + 1b2b6: d134 bne.n 1b322 <__udivmoddi4+0x16e> + 1b2b8: 1beb subs r3, r5, r7 + 1b2ba: 0c3a lsrs r2, r7, #16 + 1b2bc: fa1f fc87 uxth.w ip, r7 + 1b2c0: 2101 movs r1, #1 + 1b2c2: fbb3 f8f2 udiv r8, r3, r2 + 1b2c6: 0c25 lsrs r5, r4, #16 + 1b2c8: fb02 3318 mls r3, r2, r8, r3 + 1b2cc: ea45 4503 orr.w r5, r5, r3, lsl #16 + 1b2d0: fb0c f308 mul.w r3, ip, r8 + 1b2d4: 42ab cmp r3, r5 + 1b2d6: d907 bls.n 1b2e8 <__udivmoddi4+0x134> + 1b2d8: 19ed adds r5, r5, r7 + 1b2da: f108 30ff add.w r0, r8, #4294967295 + 1b2de: d202 bcs.n 1b2e6 <__udivmoddi4+0x132> + 1b2e0: 42ab cmp r3, r5 + 1b2e2: f200 80d1 bhi.w 1b488 <__udivmoddi4+0x2d4> + 1b2e6: 4680 mov r8, r0 + 1b2e8: 1aed subs r5, r5, r3 + 1b2ea: b2a3 uxth r3, r4 + 1b2ec: fbb5 f0f2 udiv r0, r5, r2 + 1b2f0: fb02 5510 mls r5, r2, r0, r5 + 1b2f4: ea43 4405 orr.w r4, r3, r5, lsl #16 + 1b2f8: fb0c fc00 mul.w ip, ip, r0 + 1b2fc: 45a4 cmp ip, r4 + 1b2fe: d907 bls.n 1b310 <__udivmoddi4+0x15c> + 1b300: 19e4 adds r4, r4, r7 + 1b302: f100 33ff add.w r3, r0, #4294967295 + 1b306: d202 bcs.n 1b30e <__udivmoddi4+0x15a> + 1b308: 45a4 cmp ip, r4 + 1b30a: f200 80b8 bhi.w 1b47e <__udivmoddi4+0x2ca> + 1b30e: 4618 mov r0, r3 + 1b310: eba4 040c sub.w r4, r4, ip + 1b314: ea40 4008 orr.w r0, r0, r8, lsl #16 + 1b318: e79d b.n 1b256 <__udivmoddi4+0xa2> + 1b31a: 4631 mov r1, r6 + 1b31c: 4630 mov r0, r6 + 1b31e: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + 1b322: f1ce 0420 rsb r4, lr, #32 + 1b326: fa05 f30e lsl.w r3, r5, lr + 1b32a: fa07 f70e lsl.w r7, r7, lr + 1b32e: fa20 f804 lsr.w r8, r0, r4 + 1b332: 0c3a lsrs r2, r7, #16 + 1b334: fa25 f404 lsr.w r4, r5, r4 + 1b338: ea48 0803 orr.w r8, r8, r3 + 1b33c: fbb4 f1f2 udiv r1, r4, r2 + 1b340: ea4f 4518 mov.w r5, r8, lsr #16 + 1b344: fb02 4411 mls r4, r2, r1, r4 + 1b348: fa1f fc87 uxth.w ip, r7 + 1b34c: ea45 4504 orr.w r5, r5, r4, lsl #16 + 1b350: fb01 f30c mul.w r3, r1, ip + 1b354: 42ab cmp r3, r5 + 1b356: fa00 f40e lsl.w r4, r0, lr + 1b35a: d909 bls.n 1b370 <__udivmoddi4+0x1bc> + 1b35c: 19ed adds r5, r5, r7 + 1b35e: f101 30ff add.w r0, r1, #4294967295 + 1b362: f080 808a bcs.w 1b47a <__udivmoddi4+0x2c6> + 1b366: 42ab cmp r3, r5 + 1b368: f240 8087 bls.w 1b47a <__udivmoddi4+0x2c6> + 1b36c: 3902 subs r1, #2 + 1b36e: 443d add r5, r7 + 1b370: 1aeb subs r3, r5, r3 + 1b372: fa1f f588 uxth.w r5, r8 + 1b376: fbb3 f0f2 udiv r0, r3, r2 + 1b37a: fb02 3310 mls r3, r2, r0, r3 + 1b37e: ea45 4503 orr.w r5, r5, r3, lsl #16 + 1b382: fb00 f30c mul.w r3, r0, ip + 1b386: 42ab cmp r3, r5 + 1b388: d907 bls.n 1b39a <__udivmoddi4+0x1e6> + 1b38a: 19ed adds r5, r5, r7 + 1b38c: f100 38ff add.w r8, r0, #4294967295 + 1b390: d26f bcs.n 1b472 <__udivmoddi4+0x2be> + 1b392: 42ab cmp r3, r5 + 1b394: d96d bls.n 1b472 <__udivmoddi4+0x2be> + 1b396: 3802 subs r0, #2 + 1b398: 443d add r5, r7 + 1b39a: 1aeb subs r3, r5, r3 + 1b39c: ea40 4101 orr.w r1, r0, r1, lsl #16 + 1b3a0: e78f b.n 1b2c2 <__udivmoddi4+0x10e> + 1b3a2: f1c1 0720 rsb r7, r1, #32 + 1b3a6: fa22 f807 lsr.w r8, r2, r7 + 1b3aa: 408b lsls r3, r1 + 1b3ac: fa05 f401 lsl.w r4, r5, r1 + 1b3b0: ea48 0303 orr.w r3, r8, r3 + 1b3b4: fa20 fe07 lsr.w lr, r0, r7 + 1b3b8: ea4f 4c13 mov.w ip, r3, lsr #16 + 1b3bc: 40fd lsrs r5, r7 + 1b3be: ea4e 0e04 orr.w lr, lr, r4 + 1b3c2: fbb5 f9fc udiv r9, r5, ip + 1b3c6: ea4f 441e mov.w r4, lr, lsr #16 + 1b3ca: fb0c 5519 mls r5, ip, r9, r5 + 1b3ce: fa1f f883 uxth.w r8, r3 + 1b3d2: ea44 4505 orr.w r5, r4, r5, lsl #16 + 1b3d6: fb09 f408 mul.w r4, r9, r8 + 1b3da: 42ac cmp r4, r5 + 1b3dc: fa02 f201 lsl.w r2, r2, r1 + 1b3e0: fa00 fa01 lsl.w sl, r0, r1 + 1b3e4: d908 bls.n 1b3f8 <__udivmoddi4+0x244> + 1b3e6: 18ed adds r5, r5, r3 + 1b3e8: f109 30ff add.w r0, r9, #4294967295 + 1b3ec: d243 bcs.n 1b476 <__udivmoddi4+0x2c2> + 1b3ee: 42ac cmp r4, r5 + 1b3f0: d941 bls.n 1b476 <__udivmoddi4+0x2c2> + 1b3f2: f1a9 0902 sub.w r9, r9, #2 + 1b3f6: 441d add r5, r3 + 1b3f8: 1b2d subs r5, r5, r4 + 1b3fa: fa1f fe8e uxth.w lr, lr + 1b3fe: fbb5 f0fc udiv r0, r5, ip + 1b402: fb0c 5510 mls r5, ip, r0, r5 + 1b406: ea4e 4405 orr.w r4, lr, r5, lsl #16 + 1b40a: fb00 f808 mul.w r8, r0, r8 + 1b40e: 45a0 cmp r8, r4 + 1b410: d907 bls.n 1b422 <__udivmoddi4+0x26e> + 1b412: 18e4 adds r4, r4, r3 + 1b414: f100 35ff add.w r5, r0, #4294967295 + 1b418: d229 bcs.n 1b46e <__udivmoddi4+0x2ba> + 1b41a: 45a0 cmp r8, r4 + 1b41c: d927 bls.n 1b46e <__udivmoddi4+0x2ba> + 1b41e: 3802 subs r0, #2 + 1b420: 441c add r4, r3 + 1b422: ea40 4009 orr.w r0, r0, r9, lsl #16 + 1b426: eba4 0408 sub.w r4, r4, r8 + 1b42a: fba0 8902 umull r8, r9, r0, r2 + 1b42e: 454c cmp r4, r9 + 1b430: 46c6 mov lr, r8 + 1b432: 464d mov r5, r9 + 1b434: d315 bcc.n 1b462 <__udivmoddi4+0x2ae> + 1b436: d012 beq.n 1b45e <__udivmoddi4+0x2aa> + 1b438: b156 cbz r6, 1b450 <__udivmoddi4+0x29c> + 1b43a: ebba 030e subs.w r3, sl, lr + 1b43e: eb64 0405 sbc.w r4, r4, r5 + 1b442: fa04 f707 lsl.w r7, r4, r7 + 1b446: 40cb lsrs r3, r1 + 1b448: 431f orrs r7, r3 + 1b44a: 40cc lsrs r4, r1 + 1b44c: 6037 str r7, [r6, #0] + 1b44e: 6074 str r4, [r6, #4] + 1b450: 2100 movs r1, #0 + 1b452: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + 1b456: 4618 mov r0, r3 + 1b458: e6f8 b.n 1b24c <__udivmoddi4+0x98> + 1b45a: 4690 mov r8, r2 + 1b45c: e6e0 b.n 1b220 <__udivmoddi4+0x6c> + 1b45e: 45c2 cmp sl, r8 + 1b460: d2ea bcs.n 1b438 <__udivmoddi4+0x284> + 1b462: ebb8 0e02 subs.w lr, r8, r2 + 1b466: eb69 0503 sbc.w r5, r9, r3 + 1b46a: 3801 subs r0, #1 + 1b46c: e7e4 b.n 1b438 <__udivmoddi4+0x284> + 1b46e: 4628 mov r0, r5 + 1b470: e7d7 b.n 1b422 <__udivmoddi4+0x26e> + 1b472: 4640 mov r0, r8 + 1b474: e791 b.n 1b39a <__udivmoddi4+0x1e6> + 1b476: 4681 mov r9, r0 + 1b478: e7be b.n 1b3f8 <__udivmoddi4+0x244> + 1b47a: 4601 mov r1, r0 + 1b47c: e778 b.n 1b370 <__udivmoddi4+0x1bc> + 1b47e: 3802 subs r0, #2 + 1b480: 443c add r4, r7 + 1b482: e745 b.n 1b310 <__udivmoddi4+0x15c> + 1b484: 4608 mov r0, r1 + 1b486: e708 b.n 1b29a <__udivmoddi4+0xe6> + 1b488: f1a8 0802 sub.w r8, r8, #2 + 1b48c: 443d add r5, r7 + 1b48e: e72b b.n 1b2e8 <__udivmoddi4+0x134> + +0001b490 <__aeabi_idiv0>: + 1b490: 4770 bx lr + 1b492: bf00 nop + +0001b494 <__libc_init_array>: + 1b494: b570 push {r4, r5, r6, lr} + 1b496: 4e0d ldr r6, [pc, #52] ; (1b4cc <__libc_init_array+0x38>) + 1b498: 4c0d ldr r4, [pc, #52] ; (1b4d0 <__libc_init_array+0x3c>) + 1b49a: 1ba4 subs r4, r4, r6 + 1b49c: 10a4 asrs r4, r4, #2 + 1b49e: 2500 movs r5, #0 + 1b4a0: 42a5 cmp r5, r4 + 1b4a2: d109 bne.n 1b4b8 <__libc_init_array+0x24> + 1b4a4: 4e0b ldr r6, [pc, #44] ; (1b4d4 <__libc_init_array+0x40>) + 1b4a6: 4c0c ldr r4, [pc, #48] ; (1b4d8 <__libc_init_array+0x44>) + 1b4a8: f00e fab4 bl 29a14 <_init> + 1b4ac: 1ba4 subs r4, r4, r6 + 1b4ae: 10a4 asrs r4, r4, #2 + 1b4b0: 2500 movs r5, #0 + 1b4b2: 42a5 cmp r5, r4 + 1b4b4: d105 bne.n 1b4c2 <__libc_init_array+0x2e> + 1b4b6: bd70 pop {r4, r5, r6, pc} + 1b4b8: f856 3025 ldr.w r3, [r6, r5, lsl #2] + 1b4bc: 4798 blx r3 + 1b4be: 3501 adds r5, #1 + 1b4c0: e7ee b.n 1b4a0 <__libc_init_array+0xc> + 1b4c2: f856 3025 ldr.w r3, [r6, r5, lsl #2] + 1b4c6: 4798 blx r3 + 1b4c8: 3501 adds r5, #1 + 1b4ca: e7f2 b.n 1b4b2 <__libc_init_array+0x1e> + 1b4cc: 00029a20 .word 0x00029a20 + 1b4d0: 00029a20 .word 0x00029a20 + 1b4d4: 00029a20 .word 0x00029a20 + 1b4d8: 00029a24 .word 0x00029a24 + +0001b4dc : + 1b4dc: b510 push {r4, lr} + 1b4de: 3901 subs r1, #1 + 1b4e0: 4402 add r2, r0 + 1b4e2: 4290 cmp r0, r2 + 1b4e4: d101 bne.n 1b4ea + 1b4e6: 2000 movs r0, #0 + 1b4e8: bd10 pop {r4, pc} + 1b4ea: f810 3b01 ldrb.w r3, [r0], #1 + 1b4ee: f811 4f01 ldrb.w r4, [r1, #1]! + 1b4f2: 42a3 cmp r3, r4 + 1b4f4: d0f5 beq.n 1b4e2 + 1b4f6: 1b18 subs r0, r3, r4 + 1b4f8: bd10 pop {r4, pc} + +0001b4fa : + 1b4fa: f810 2b01 ldrb.w r2, [r0], #1 + 1b4fe: f811 3b01 ldrb.w r3, [r1], #1 + 1b502: 2a01 cmp r2, #1 + 1b504: bf28 it cs + 1b506: 429a cmpcs r2, r3 + 1b508: d0f7 beq.n 1b4fa + 1b50a: 1ad0 subs r0, r2, r3 + 1b50c: 4770 bx lr + +0001b50e : + 1b50e: 4603 mov r3, r0 + 1b510: f811 2b01 ldrb.w r2, [r1], #1 + 1b514: f803 2b01 strb.w r2, [r3], #1 + 1b518: 2a00 cmp r2, #0 + 1b51a: d1f9 bne.n 1b510 + 1b51c: 4770 bx lr + +0001b51e : + 1b51e: 4603 mov r3, r0 + 1b520: f813 2b01 ldrb.w r2, [r3], #1 + 1b524: 2a00 cmp r2, #0 + 1b526: d1fb bne.n 1b520 + 1b528: 1a18 subs r0, r3, r0 + 1b52a: 3801 subs r0, #1 + 1b52c: 4770 bx lr + 1b52e: 0000 movs r0, r0 + 1b530: 682f2e2e .word 0x682f2e2e + 1b534: 702f6c70 .word 0x702f6c70 + 1b538: 2f74726f .word 0x2f74726f + 1b53c: 5f6c7068 .word 0x5f6c7068 + 1b540: 6f697067 .word 0x6f697067 + 1b544: 7361625f .word 0x7361625f + 1b548: 00682e65 .word 0x00682e65 + 1b54c: 682f2e2e .word 0x682f2e2e + 1b550: 732f6c61 .word 0x732f6c61 + 1b554: 682f6372 .word 0x682f6372 + 1b558: 695f6c61 .word 0x695f6c61 + 1b55c: 00632e6f .word 0x00632e6f + 1b560: 682f2e2e .word 0x682f2e2e + 1b564: 732f6c61 .word 0x732f6c61 + 1b568: 682f6372 .word 0x682f6372 + 1b56c: 745f6c61 .word 0x745f6c61 + 1b570: 72656d69 .word 0x72656d69 + 1b574: 0000632e .word 0x0000632e + 1b578: 682f2e2e .word 0x682f2e2e + 1b57c: 732f6c61 .word 0x732f6c61 + 1b580: 682f6372 .word 0x682f6372 + 1b584: 755f6c61 .word 0x755f6c61 + 1b588: 74726173 .word 0x74726173 + 1b58c: 7973615f .word 0x7973615f + 1b590: 632e636e .word 0x632e636e + 1b594: 00000000 .word 0x00000000 + 1b598: 682f2e2e .word 0x682f2e2e + 1b59c: 752f6c61 .word 0x752f6c61 + 1b5a0: 736c6974 .word 0x736c6974 + 1b5a4: 6372732f .word 0x6372732f + 1b5a8: 6974752f .word 0x6974752f + 1b5ac: 6c5f736c .word 0x6c5f736c + 1b5b0: 2e747369 .word 0x2e747369 + 1b5b4: 00000063 .word 0x00000063 + 1b5b8: 682f2e2e .word 0x682f2e2e + 1b5bc: 752f6c61 .word 0x752f6c61 + 1b5c0: 736c6974 .word 0x736c6974 + 1b5c4: 6372732f .word 0x6372732f + 1b5c8: 6974752f .word 0x6974752f + 1b5cc: 725f736c .word 0x725f736c + 1b5d0: 62676e69 .word 0x62676e69 + 1b5d4: 65666675 .word 0x65666675 + 1b5d8: 00632e72 .word 0x00632e72 + 1b5dc: 40003000 .word 0x40003000 + 1b5e0: 40003400 .word 0x40003400 + 1b5e4: 41012000 .word 0x41012000 + 1b5e8: 41014000 .word 0x41014000 + 1b5ec: 43000000 .word 0x43000000 + 1b5f0: 43000400 .word 0x43000400 + 1b5f4: 43000800 .word 0x43000800 + 1b5f8: 43000c00 .word 0x43000c00 + +0001b5fc <_i2cms>: + 1b5fc: 00000003 00200014 00000100 000000ff ...... ......... + 1b60c: 00d70000 07270400 682f2e2e 732f6c70 ......'.../hpl/s + 1b61c: 6f637265 70682f6d 65735f6c 6d6f6372 ercom/hpl_sercom + 1b62c: 0000632e 40003800 40003c00 4101a000 .c...8.@.<.@...A + 1b63c: 4101c000 42001400 42001800 43001400 ...A...B...B...C + 1b64c: 43001800 ...C + +0001b650 <_tcs>: + 1b650: 006b0000 00000308 00000000 00003a97 ..k..........:.. + 1b660: 00000000 682f2e2e 742f6c70 70682f63 ....../hpl/tc/hp + 1b670: 63745f6c 0000632e l_tc.c.. + +0001b678 : + 1b678: 1662e40a 0000855b 0001b684 ..b.[....... + +0001b684 : + 1b684: ff07060b ffac882c ff871f25 ff895139 ....,...%...9Q.. + 1b694: ffdcc46d ffc88348 ffc65632 ff46434d m...H...2V..MCF. + 1b6a4: ff480a16 ffbca25c ffc22d38 ff8b6c67 ..H.\...8-..gl.. + 1b6b4: ff48272d ff893622 ffc76d41 ffc38576 -'H."6..Am..v... + 1b6c4: ffc6a49a ffa53520 ff692621 ffa95139 .... 5..!&i.9Q.. + 1b6d4: ffe8e2a9 ff26242e ffe96e40 ffe98843 .....$&.@n..C... + 1b6e4: ffaea64b ff873848 ffc5c4c9 ffa86e33 K...H8......3n.. + 1b6f4: ff69646a ffe45640 ff69342e ff280917 jdi.@V...4i...(. + 1b704: ffa8554e ffe7a996 ff838383 ff67101b NU............g. + 1b714: ff9e8880 ffc76e60 ffe7a65f ffe99647 ....`n.._...G... + 1b724: ffe68779 ffa9202e ff694527 ff8a4335 y.... ..'Ei.5C.. + 1b734: ffa76f64 ff493329 ffc0b5af ff89575f do..)3I....._W.. + 1b744: ffc75543 ffa9462d ff9f9789 ffab603f CU..-F......?`.. + 1b754: ff882c1d ffc97948 ff27151b ffc69482 .,..Hy....'..... + 1b764: ff69282f ffe6b669 ffdfd484 ff48151b /(i.i.........H. + 1b774: ffc89364 ffe66e5b ffc14715 ffe4c4bc d...[n...G...... + 1b784: ff98371e ffc66343 ffe1e4e8 ff73542a .7..Cc......*Ts. + 1b794: ff673a3e ffb7532b ff872b32 ffe68a60 >:g.+S..2+..`... + 1b7a4: ff19141e ffd68448 ff38373f ffea9964 ....H...?78.d... + 1b7b4: ffd69881 ff875f47 ff592621 ff37161a ....G_..!&Y...7. + 1b7c4: ffe65550 ff886e77 ffd8a894 ffa97a73 PU..wn......sz.. + 1b7d4: ff571922 ffeba872 fff6f3de ffa3a59e ".W.r........... + 1b7e4: ffe03d49 ff671c24 ffa28c94 ffa86254 I=..$.g.....Tb.. + 1b7f4: ffecc483 ffd76e48 ffa9473f ffa93a38 ....Hn..?G..8:.. + 1b804: ffd5d4d6 ffa77937 ffe76254 ff595861 ....7y..Tb..aXY. + 1b814: ff884648 ffd6b4a7 ffb0999a ff9b5036 HF..........6P.. + 1b824: ff782620 ff392328 ffb3b5b4 ffe77a45 &x.(#9.....Ez.. + 1b834: ffe8b596 ff593331 ffd87a46 ffc19aa2 ....13Y.Fz...... + 1b844: ff160c16 ffb1887e ff886263 ff797679 ....~...cb..yvy. + 1b854: ff762930 ffc13d43 ff973c30 ff79362d 0)v.C=..0<..-6y. + 1b864: ff67474c ff994530 ffbfb560 fff7975f LGg.0E..`..._... + 1b874: ffd7624b ffc9875c ff952d18 ffe87959 Kb..\....-..Yy.. + 1b884: ffc04945 ff94968f ff9c9729 ffebddae EI......)....... + 1b894: ffc0aa64 ffe99a78 fff3ead1 ffc56232 d...x.......2b.. + 1b8a4: ffd8343e ff685a61 ffda9842 fff1643e >4..aZh.B...>d.. + 1b8b4: ff928678 ffd8b859 ffc67a62 ffe4dcdd x...Y...bz...... + 1b8c4: ff867c7c ff574a54 ffdaa94f ffd58a7b ||..TJW.O...{... + 1b8d4: ffafa9a4 ffd9a57b ffd6cdcd ff766b6f ....{.......okv. + 1b8e4: ffecd27c fff7b894 ffa99931 ff84766c |.......1...lv.. + 1b8f4: ffe1cb82 ffd85019 fff5b57b ffb96d49 .....P..{...Im.. + 1b904: ffbb7947 ffac2b34 ffd7895e ffa48654 Gy..4+..^...T... + 1b914: ff972129 ff570c18 ffc3aaaf ffede6bf )!....W......... + 1b924: ffacac64 ff370815 fff9a55c ff7b4432 d.....7.\...2D{. + 1b934: ffc1bcbf fff69b7e ff78575a ffb76e5f ....~...ZWx._n.. + 1b944: ff99614b ffb97a64 ff771a22 ff994747 Ka..dz..".w.GG.. + 1b954: ff986266 fff68745 fff6a996 ff77121c fb..E.........w. + 1b964: fff7964c ffd8544a fffbc7b6 ff783a40 L...JT......@:x. + 1b974: fffa875f fff5a67a ffae8b97 ff78484a _...z.......JHx. + 1b984: fff8d7bb fffbfaf8 fff2c89a ffeeebeb ................ + 1b994: fffb6e49 ffb7624f fffb6459 ffd97965 In..Ob..Yd..ey.. + 1b9a4: ff883930 ff973747 ff483942 ff291825 09..G7..B9H.%.). + 1b9b4: ffe4da9b ff481725 ffd79d99 ff381825 ....%.H.....%.8. + 1b9c4: fff75652 ff995249 ffe5bcb4 ff5a373e RV..IR......>7Z. + 1b9d4: ff98944c ffd99566 fffcd2d4 ffb7584e L...f.......NX.. + 1b9e4: ff97595d ffc3343f ffdc494b ff95786b ]Y..?4..KI..kx.. + 1b9f4: ffb9613b ff982931 fff97a43 ffd03c46 ;a..1)..Cz..F<.. + 1ba04: fffb785b ff997b7b ffa63c23 ffc79d8b [x..{{..#<...... + 1ba14: ffdadbdf ff885350 ff9f9b96 ffeab97a ....PS......z... + 1ba24: ffb7553a ff572a2f ffd7aba7 ffd9babb :U../*W......... + 1ba34: ff382938 ff8e8b89 ffdbbb69 ffecd7a1 8)8.....i....... + 1ba44: fff8b8ab ff966f68 ffab6c51 ffd86f5d ....ho..Ql..]o.. + 1ba54: fffb6e5b ff997077 ffd56331 ffd14848 [n..wp..1c..HH.. + 1ba64: fffc5a44 ffdccc73 ff4b4b54 ffc38c7a DZ..s...TKK.z... + 1ba74: ffc6ac9f ff2b2c37 ffcbcbcf ff6b6b6f ....7,+.....okk. + 1ba84: 70707070 70707070 70707070 70704870 pppppppppppppHpp + 1ba94: 48487070 36363648 e90c69cb 7744442d ppHHH666.i..-DDw + 1baa4: 771212e9 133179c8 c8763113 133179c8 ...w.y1..1v..y1. + 1bab4: e2e23131 407e40e2 40e2e2e2 25c531e2 11...@~@...@.1.% + 1bac4: 30c785a2 0d76b35e 46464646 404040dd ...0^.v.FFFF.@@@ + 1bad4: d1135e5f 5f762bb3 c876765f 9ca240c8 _^...+v__vv..@.. + 1bae4: e714c156 bd0439bd 9c263ae7 140404a7 V....9...:&..... + 1baf4: 7be0bce7 8047efef f3bc3d80 569c4733 ...{..G..=..3G.V + 1bb04: 5c56c1c1 9ce79cee 56ef39f9 9c86f93a ..V\.....9.V:... + 1bb14: 0e0ec785 9ccc55c7 c156e74b 9f35a2c2 .....U..K.V...5. + 1bb24: 9f9f9f9f 339f9f9f 67672033 20677979 .......33 ggyyg + 1bb34: dc132020 1e126717 7070704e 70707070 ...g..Nppppppp + 1bb44: 70707070 70487070 48487070 36364848 ppppppHpppHHHH66 + 1bb54: 694e0c36 2b2b2d69 744e1e2b 3179c877 6.Nii-+++.Ntw.y1 + 1bb64: 7631315e 3179c8c8 e2313113 3440e2e2 ^11v..y1.11...@4 + 1bb74: e2313140 9f9fd731 c72825c5 76b35e30 @11.1....%(.0^.v + 1bb84: 4634340d 40407e46 13b37640 2b2bb3d1 .44FF~@@@v....++ + 1bb94: 40765f5f 6e407676 86c1869c f9e73904 __v@vv@n.....9.. + 1bba4: 559c3955 ee9c869c f4bc5c14 4783ef7b U9.U.....\..{..G + 1bbb4: bc625e80 044720f3 c1c1c186 c28304f9 .^b.. G......... + 1bbc4: 9c39f9e7 a7f9ccc1 35354b9c a75cd535 ..9......K555.\. + 1bbd4: 565c55ef 3cd5efc1 7d7d7d7d 05050505 .U\V...<}}}}.... + 1bbe4: c59f9fa0 33333333 dc333333 77136e17 ....3333333..n.w + 1bbf4: 7070740d 70707070 70707070 36487070 .tppppppppppppH6 + 1bc04: 48707048 cb364848 4e4ecb36 bb1e1e0c HppHHH6.6.NN.... + 1bc14: 4ec82bb3 2bc87777 79797979 79c8c876 .+.Nww.+yyyyv..y + 1bc24: 31131331 40e2e231 1331e240 13c5af33 1..11..@@.1.3... + 1bc34: 28f3e831 b35ee8f3 34340d76 7e7e4646 1..(..^.v.44FF~~ + 1bc44: b3764040 2bb3d113 76315f2b 40767640 @@v....++_1v@vv@ + 1bc54: 86a79c6e e7393a56 f955553a 9c86e726 n...V:9.:UU.&... + 1bc64: b59c83ee 83efbce0 7cb35e4b 6e13f3e0 ........K^.|...n + 1bc74: c1c186e7 a73a3ac1 550455e7 0483c19c .....::..U.U.... + 1bc84: 67a2e73a 5c55a2a0 5c9e14a7 2683c156 :..g..U\...\V..& + 1bc94: 3c3c3cd5 7d7d3c3c 9f350505 9fdcdc9f .<<<<<}}..5..... + 1bca4: 3113c5c5 33336e0e 700d0d34 70707070 ...1.n334..ppppp + 1bcb4: 70707070 48707070 70704836 36484848 pppppppH6HppHHH6 + 1bcc4: 1e6936cb bb790c0c c82bbbbb c877744e .6i...y...+.Ntw. + 1bcd4: 2b2bc8c8 76c8c8c8 13133179 31313131 ..++...vy1..1111 + 1bce4: c53176e2 7613c5af 25e83176 b3e841f3 .v1....vv1.%.A.. + 1bcf4: 340d76b3 34343434 5f114040 b3d1d1b3 .v.44444@@._.... + 1bd04: 3131762b 76767676 c2e7f340 04a7c1c0 +v11vvvv@....... + 1bd14: 55553a04 86e72604 9ccc8d3a c2bce0b8 .:UU.&..:....... + 1bd24: b35e4bcc d13de07c c1a7396e 8383c1c1 .K^.|.=.n9...... + 1bd34: 042639a7 14c19c55 9f4b9ee7 99853564 .9&.U.....K.d5.. + 1bd44: 9e14a75c 83c186e7 7d3cd526 7d3c3c3c \.......&.<}<<<} + 1bd54: a005057d 33dc9f9f 13dcc5dc 0d794579 }......3....yEy. + 1bd64: 0d74680d 70707070 70707070 70707070 .ht.pppppppppppp + 1bd74: 70704836 36484870 cfcbcbcb 2b1e6912 6HpppHH6.....i.+ + 1bd84: 2b6dbbbb 7774122b 762b2bc8 c8c8c876 ..m++.tw.++vv... + 1bd94: 13317976 13313113 9f133131 407933af vy1..11.11...3y@ + 1bda4: 790d7676 5ee8e8e8 0d76b3b3 34343434 vv.y...^..v.4444 + 1bdb4: 11407e34 1313b35f 31767967 76767631 4~@._...gyv11vvv + 1bdc4: 390e7676 c1c156ef 39cc043a 39260426 vv.9.V..:..9&.&9 + 1bdd4: cc8def86 bce0b89c 5e4bcc5c 3dbc7c64 ........\.K^d|.= + 1bde4: a7550ed1 a7c1c1c1 26e7a7cc 569c55ee ..U........&.U.V + 1bdf4: 35475583 2149f1b0 14143a9c c186e79e .UG5..I!.:...... + 1be04: 3cd52683 7d7d7d7d 3505057d dc9fa035 .&.<}}}}}..55... + 1be14: 13133333 0d767979 12743379 70707068 33..yyv.y3t.hppp + 1be24: 70707070 70707070 70704848 36484870 ppppppppHHpppHH6 + 1be34: cbcbcb36 c80c3636 d344bb2b 7412bb79 6...66..+.D.y..t + 1be44: 792bc877 76797979 3179c8c8 13131313 w.+yyyyv..y1.... + 1be54: af9f1331 763113dc e6344040 3131e22c 1.....1v@@4.,.11 + 1be64: 7679b35e 34340d0d 40403434 13b35f11 ^.yv..4444@@._.. + 1be74: 76b31313 7679315f 417676c8 c1c11439 ...v_1yv.vvA9... + 1be84: 1404ccc1 26ee4be7 8d83a755 f4b89c3a .....K.&U...:... + 1be94: 4bcce7bc bc7cb35e 260e133d c1c1c183 ...K^.|.=..&.... + 1bea4: e7a79c83 e755e726 0e4befa7 a2f2f5dc ....&.U...K..... + 1beb4: 143acc5c ef55e714 d52683c1 a27d7d3c \.:...U...&.<}}. + 1bec4: 05057d7d 9f356e35 311333dc 40767979 }}..5n5..3.1yyv@ + 1bed4: c87d3334 70701268 70707070 70704870 43}.h.pppppppHpp + 1bee4: 70707070 48487070 cbcbcb36 773636cb ppppppHH6....66w + 1bef4: 44bb2b76 1ee91ebb 2bc87774 31317979 v+.D....tw.+yy11 + 1bf04: 79c8c879 e8e81331 c5b19fe8 31313131 y..y1.......1111 + 1bf14: 647e0d40 5e406fc1 b35e5e5e 34340d76 @.~d.o@^^^^.v.44 + 1bf24: 40343434 b35f4040 5e131313 31313176 444@@@_....^v111 + 1bf34: 76767631 56ef3941 f914c1c1 397b5ca7 1vvvA9.V.....\{9 + 1bf44: 83a72626 273a9c8d 3a39e0f4 b9b3804b &&....:'..9:K... + 1bf54: c5133dbc c1c18355 869c83c1 55e7269c .=..U........&.U + 1bf64: c75c3ae7 33e633dc 3a145cd5 bde714cc .:\..3.3.\.:.... + 1bf74: 26ef865c 7d7d3c3c 05057d7d 35491735 \..&<<}}}}..5.I5 + 1bf84: 1333dc9f 0d0d7979 c513680d 7074680d ..3.yy...h...htp + 1bf94: 48487070 70364870 70483670 48707070 ppHHpH6pp6HppppH + 1bfa4: cbcbcb48 cbcbcbcb bb2b7677 771e6d44 H.......wv+.Dm.w + 1bfb4: 77771277 3179792b c8c87931 e8131379 w.ww+yy11y..y... + 1bfc4: d78e8ec5 31e2e231 024040e2 40a6c1be ....1..1.@@....@ + 1bfd4: 5e5e5e5e 340d76b3 0d346834 5f404040 ^^^^.v.44h4.@@@_ + 1bfe4: 1313135e 31315e5e 795e3131 5c264176 ^...^^1111^yvA&\ + 1bff4: a7c1c186 7b9ca7f9 83264b55 3a048da7 .......{UK&....: + 1c004: bdf4f44b 5e807b3a 5b3de030 c18699af K...:{.^0.=[.... + 1c014: 9c14c1c1 554b9c86 4be75555 662ce89f ......KUUU.K..,f + 1c024: 145c4b33 e714cc3a efcc9ebd 7d3c7d85 3K\.:........}<} + 1c034: 057d7d7d 6e176e05 33dc9f35 0d767913 }}}..n.n5..3.yv. + 1c044: 79680d0d 74687413 70707070 48367070 ..hy.thtpppppp6H + 1c054: 36367070 48707048 cbcb3648 69cbcbcb pp66HppHH6.....i + 1c064: bb1e6936 bb44d344 777777c8 792b2b77 6i..D.D..wwww++y + 1c074: c8c87979 e8137979 e8257d8e 40403113 yy..yy...}%..1@@ + 1c084: 4040e2e2 60c1fe68 5e5e3176 0d76b35e ..@@h..`v1^^^.v. + 1c094: bb72680d 11e27eb2 13135e5f 315ee813 .hr..~.._^....^1 + 1c0a4: 5ee85e31 aa877931 c1c1869e 3aa7f9a7 1^.^1y.........: + 1c0b4: 4b4b267b ee26a783 f4f44b3a 307b9cad {&KK..&.:K....{0 + 1c0c4: 17e0e85e 83c210b1 a7c1c156 4b9c869c ^.......V......K + 1c0d4: 477b5555 6613dc0e 5c4bdc24 cc3a9ccc UU{G...f$.K\..:. + 1c0e4: 5cbdade7 7d7dd55c 7d7d7d7d 49173505 ...\\.}}}}}}.5.I + 1c0f4: dc9f9f35 76797913 340d0d0d 68687468 5....yyv...4hthh + 1c104: 70707068 70707070 48703670 70484836 hpppppppp6pH6HHp + 1c114: cbcb4848 cbcbcbcb 69cbcbcb 2b44d32d HH.........i-.D+ + 1c124: 770dc8ab 2b2b7777 c8c8792b 9f137979 ...www+++y..yy.. + 1c134: d7418e8e 344031e8 40e2e27e 5642e534 ..A..1@4~..@4.BV + 1c144: 5e5fd156 76b35e5e 2eb20d0d 7e7766c1 V._^^^.v.....fw~ + 1c154: 135e31e2 5ee81313 13133131 6e311313 .1^....^11....1n + 1c164: c156e7aa 863a86c1 4b4b7bcc 39a7cc4b ..V...:..{KKK..9 + 1c174: e04bf939 7be77bc6 27dc5e30 5510fc85 9.K..{.{0^.'...U + 1c184: c1c1569c 9c86f9a7 bcad4b4b 67dce80e .V......KK.....g + 1c194: d50eb4ac 9c9c3a5c 85ade7cc 7dd59e9e ....\:.........} + 1c1a4: 7d7d7d7d 4935057d dc9f3535 79791333 }}}}}.5I55..3.yy + 1c1b4: 0d0d4076 6868340d 70707474 70707070 v@...4hhttpppppp + 1c1c4: 70487070 4836cf48 cb484870 cb15cbcb ppHpH.6HpHH..... + 1c1d4: 0ccbcbcb 44d32d0c 7979ab2b 2b77c840 .....-.D+.yy@.w+ + 1c1e4: 7931792b 8edc7979 4141258e 7e1131d7 +y1yyy...%AA.1.~ + 1c1f4: 11117e34 c3e10240 4053c1c3 b35e5e5e 4~..@.....S@^^^. + 1c204: 340d0d76 42c142bb 5e3134f1 13131313 v..4.B.B.41^.... + 1c214: 13135e5e dcc535e8 569c4b27 3a86c1c1 ^^...5..'K.V...: + 1c224: 7b7bcca7 a73a4b4b 4bee2639 e7bcc6e0 ..{{KK:.9&.K.... + 1c234: 8ac5b97b 5b715255 c156ee47 86f9a7c1 {...URq[G.V..... + 1c244: bc7b4b3a 1313e85d 0ed11ab4 9c3ae7d5 :K{.].........:. + 1c254: ad5ccc9c a2555585 7d7d7d7d 05057d7d ..\..UU.}}}}}}.. + 1c264: 9f9f3505 793113dc 76767979 76767676 .5....1yyyvvvvvv + 1c274: 70120d0d 48707070 70707070 36cfcf70 ...ppppHppppp..6 + 1c284: 36487036 69cbcbcb e9cb6969 6d4477c8 6pH6...iii...wDm + 1c294: 132bd344 c80d795e dc13792b 8eaf1313 D.+.^y..+y...... + 1c2a4: 2541c525 11e2e841 117e347e 94684011 %.A%A...~4~..@h. + 1c2b4: 10c1c3c3 5e5e5e40 460d76b3 c172b240 ....@^^^.v.F@.r. + 1c2c4: c894c1c1 131313e2 135e5e5e dc3939e8 ........^^^..99. + 1c2d4: 9c47dcdc 56c1c156 27cca7f9 9c277bb8 ..G.V..V...'.{'. + 1c2e4: 394b39a7 bcc6e07b d5f37b55 20b13755 .9K9{...U{..U7. + 1c2f4: 86396ed1 f9a7c1c1 bc27efa7 e813e87f .n9.......'..... + 1c304: 13ac6679 f9e7856e 5c3a5c5c d5d585bd yf..n...\\:\.... + 1c314: 7d7d7dd5 05050505 35350505 1313dc35 .}}}......555... + 1c324: 79797979 79797979 c8797979 70707070 yyyyyyyyyyy.pppp + 1c334: 70707048 cbcf3600 48483636 cbcbcb36 Hppp.6..66HH6... + 1c344: cb696969 bb77c877 ababb3bb 0d763113 iii.w.w......1v. + 1c354: 13792bc8 9fb19fc5 41d7e813 e245e841 .+y........AA.E. + 1c364: 7e347e11 68401111 c1c3c32e 5e31c896 .~4~..@h......1^ + 1c374: 0d76b35e 5940460d c1c1c194 2079d160 ^.v..F@Y....`.y + 1c384: 5eb3b3d1 9f9895e8 47313113 c1c1869c ...^.....11G.... + 1c394: cca73a56 17b8bc27 b839a79c d0f4b8aa V:..'.....9..... + 1c3a4: 21b69ebc 205bb195 395dd1d1 a7c1c1a7 ...!..[ ..]9.... + 1c3b4: 273aa7f9 1313dc3d be1a79e8 e7ad47e8 ..:'=....y...G.. + 1c3c4: 3a5ce79c a285bd5c 7da24bd5 a005057d ..\:\....K.}}... + 1c3d4: 350505a0 13130e6e 79767979 31797979 ...5n...yyvyyyy1 + 1c3e4: 5e5e315e 70707079 70704848 36004870 ^1^^ypppHHpppH.6 + 1c3f4: 48cb36cf cbcbcb48 69696915 c8c869cb .6.HH....iii.i.. + 1c404: b3b32b1e 4076b32b 79797940 138e8e13 .+..+.v@@yyy.... + 1c414: 31317979 31314531 3440e2e2 40e2117e yy111E11..@4~..@ + 1c424: c3c360c8 31d1c3c1 7679b313 46460d0d .`.....1..yv..FF + 1c434: c1e47734 53c3c1c1 b3b31379 9fd59f5e 4w.....Sy...^... + 1c444: 31311313 c1a70447 a73a56c1 b8e04bcc ..11G....V:..K.. + 1c454: 55a7e7b5 e0b5bce0 babaadf4 b320c54c ...U........L. . + 1c464: 5db3d1b3 c1c18326 cc830486 13134127 ...]&.......'A.. + 1c474: e4d81313 adad5db4 e7e79c9e 85bd5c3a .....]......:\.. + 1c484: a285d5a2 a0057d7d a0a0a0a0 13339f9f ....}}........3. + 1c494: 0d2b7913 31797976 795e3131 70707979 .y+.vyy111^yyypp + 1c4a4: 70483648 480ce969 cb363670 cbcb4836 H6Hpi..Hp66.6H.. + 1c4b4: 696915cb 794ecb69 abab6d77 40312b67 ..iii.Nywm..g+1@ + 1c4c4: 13131376 13af8e33 79797979 e2317979 v...3...yyyyyy1. + 1c4d4: 4011e2e2 e2117e34 8f42e57e 53c1c342 ...@4~..~.B.B..S + 1c4e4: b37913e2 460d0d76 72a44034 c1c156c1 ..y.v..F4@.r.V.. + 1c4f4: b37971c1 13d75eb3 795e135e a7046e76 .qy..^..^.^yvn.. + 1c504: f956c1c1 e04b1414 14e7b8b5 bce06226 ..V...K.....&b.. + 1c514: babaadbc 5e807cad b3d1b364 c1cc265d .....|.^d...]&.. + 1c524: cc0486c1 31e8273a 24791331 ad47d860 ....:'.11.y$`.G. + 1c534: e79c9e85 bd5c9ce7 85d5a285 7d7d7da2 ......\......}}} + 1c544: a0a0057d 9f9fa0a0 79133333 760d0d0d }.......33.y...v + 1c554: 5e793179 7079795e 36364870 0c0c7000 y1y^^yyppH66.p.. + 1c564: 367070cb cb484836 6969cbcb 4ecb6969 .pp66HH...iiii.N + 1c574: bb1ee9c8 79b32b64 c5d71376 13c57d8e ....d+.yv....}.. + 1c584: 76767679 76797979 11e2e240 117e347e yvvvyyyv@...~4~. + 1c594: c3e57ee2 c1c3e4e4 79137610 0d0d7679 .~.......v.yyv.. + 1c5a4: 5f403434 c3c16602 37c1c1c1 5e5eb3c8 44@_.f.....7..^^ + 1c5b4: 315e5e5e ee6e7676 56c1c114 4b14ccf9 ^^^1vvn....V...K + 1c5c4: 39b5b5e0 bc414b3a adf0babd 80dabcbd ...9:KA......... + 1c5d4: 20b3645e 3a2641b3 0486c156 13179c9c ^d. .A&:V....... + 1c5e4: c8135e79 adc56aac 9c398585 5c9ce7e7 y^...j....9....\ + 1c5f4: 4bd585bd 3c7dd5ad 7d7d3c3c a0a07d7d ...K..}<<<}}}}.. + 1c604: 3333339f 0d2b6733 79790d0d b3b35e79 .3333g+...yyy^.. + 1c614: 36367070 36000070 7048360c 48487070 pp66p..6.6HpppHH + 1c624: 69cbcbcb cb696969 abe9cbcb 1364642b ...iiii.....+dd. + 1c634: c5133179 13c57d0f 76767913 79797976 y1...}...yvvvyyy + 1c644: 11404076 7e347e40 f17ee211 c36060c1 v@@.@~4~..~..``. + 1c654: 137696c1 0d767979 11403446 6077e211 ..v.yyv.F4@...w` + 1c664: 565642c3 5e0d6fc1 5e795e5e 5d40765e .BVV.o.^^^y^^v@] + 1c674: c1c1cc39 14ccf956 b5bce026 8ed59c26 9...V...&...&... + 1c684: e0f0d699 dae07be0 b3645e80 2741b320 .....{...^d. .A' + 1c694: 86c186f9 49040404 31137913 f35ae4e5 .......I.y.1..Z. + 1c6a4: 558555bd 9c9ee75c d5bdbd9c 9595b685 .U.U\........... + 1c6b4: 216c2121 52525252 b13ce395 13339fa0 !!l!RRRR..<...3. + 1c6c4: 0d34c879 b3797676 700036b3 70487048 y.4.vvy..6.pHpHp + 1c6d4: 36363670 48707070 15cbcb48 69696969 p666pppHH...iiii + 1c6e4: e90c69cb 206413bb c5137920 d7c58e0f .i....d y...... + 1c6f4: 76311313 79797676 11404079 347e4011 ..1vvvyyy@@..@~4 + 1c704: 02e21134 fe60c15a d856c1c3 76797931 4...Z.`...V.1yyv + 1c714: 40340d0d 11315f11 8fe4c12f 66c156c3 ..4@._1./....V.f + 1c724: 765e5e0d 0d765e5e 56cc3941 3af956c1 .^^v^^v.A9.V.V.: + 1c734: e0f426cc 219ebdb5 bc9eba65 e0bcc6c6 .&.....!e....... + 1c744: 195e75da d7b32064 c1860427 ee048d86 .u^.d ..'....... + 1c754: 1379136e f542e179 85555547 9e9ee755 n.y.y.B.GUU.U... + 1c764: 99993a3a d2baf06c 3c4c9521 7d7d3c3c ::..l...!.L<<<}} + 1c774: 4c3c7d7d fbce5252 c879139f 0d34340d }}E. + 1f4d8: e887dce8 06e845e8 4545e8e8 45e8dce8 .....E....EE...E + 1f4e8: 13f6de87 37797679 0d0db0fc 7774740d ....yvy7.....ttw + 1f4f8: 74777777 77777474 bbbb77bb 69e90c38 wwwtttww.w..8..i + 1f508: 0ccfcfcf 483648cf cbcb48cb 89579169 .....H6H.H..i.W. + 1f518: 69690c2d e944bf44 1ebb6444 771e1e1e -.iiD.D.Dd.....w + 1f528: 79792b77 0dc8c82b 4141e876 76797913 w+yy+...v.AA.yyv + 1f538: 76404040 79797676 40763131 e2e24040 @@@vvvyy11v@@@.. + 1f548: 7d333140 13a09552 31e23131 404040e2 @13}R...11.1.@@@ + 1f558: 12114011 ff735722 4a979797 00000000 .@.."Ws....J.... + 1f568: 00000000 1c1c97ec 739797ff 70704897 ...........s.Hpp + 1f578: 60cf7070 31134066 45313131 acace640 pp.`f@.1111E@... + 1f588: 32e1db24 4545e2e6 87dce8e8 4545e806 $..2..EE......EE + 1f598: 45e8e8e8 e8e8e845 13e80645 e3677631 ...EE...E...1vg. + 1f5a8: 7774b0fc 74747477 77777777 38747474 ..twwtttwwwwttt8 + 1f5b8: bb772b77 cde9bbab cfcfcf69 366969cf w+w.....i....ii6 + 1f5c8: 6d69cbcb e61c6969 6969ec91 d1e5780c ..imii....ii.x.. + 1f5d8: 1e6d6dab 1e1e6464 792b771e c8c82b2b .mm.dd...w+y++.. + 1f5e8: 5d30790d 76791341 40404076 79767676 .y0]A.yvv@@@vvvy + 1f5f8: 79313179 31404040 523c9f13 e2319f4c y11y@@@1.. + 20d98: 4a6391ab 00000048 00000000 70700000 ..cJH.........pp + 20da8: cf4fcfcf cd4ecd4f 545454cd cd54544e ..O.O.N..TTTNTT. + 20db8: 4e54543b 12771212 46a1df68 cd545459 ;TTN..w.h..FYTT. + 20dc8: 232354cd a9a9a9a5 a9a9a9a9 080808a9 .T##............ + 20dd8: 08080808 08080808 a5a5a508 a5a5a5a5 ................ + 20de8: a5a5a5a5 08a5a5a5 d9b2a9a9 2323a4df ..............## + 20df8: a5a52323 a5a90223 a5a5a5a5 b202b7a5 ##..#........... + 20e08: a4d9ddb7 89897391 4444e978 44ed4444 .....s..x.DDDD.D + 20e18: f7f7b975 5f75dff7 b702a4a1 59b2b2b7 u.....u_.......Y + 20e28: 54a55459 3b3ba93b 4f4fcdcd 1f4f3636 YT.T;.;;..OO66O. + 20e38: 1f363636 701f1f70 48707070 70707070 666.p..ppppHpppp + 20e48: cb364848 79690c69 ec89aef6 00000048 HH6.i.iy....H... + 20e58: 00000000 70000000 cd1fcd1f 4ecdcdcd .......p.......N + 20e68: 5454cdcd 54545454 54543b54 12124e54 ..TTTTTTT;TTTN.. + 20e78: a968d959 1f1f1f1f 701f1f1f a9a5a5a9 Y.h........p.... + 20e88: a9a9a9a9 a9a9a9a9 0808a908 08080808 ................ + 20e98: a5080808 a5a5a5a5 a9a908a5 08a9a9a9 ................ + 20ea8: dfd90254 2323a4d9 a5a52323 08a423a5 T.....####...#.. + 20eb8: a5a5a508 b7a5a5a5 02b7b2b2 89971c59 ............Y... + 20ec8: 6de96d89 2278d344 dd02dd74 a1a1a1a1 .m.mD.x"t....... + 20ed8: a4a4dda1 b2020202 54a55459 3ba90854 ........YT.TT..; + 20ee8: 4f3bcd3b 36361f4f 3636361f 361f1f70 ;.;OO.66.666p..6 + 20ef8: 70707036 70707070 36cb3670 770c69cb 6pppppppp6.6.i.w + 20f08: ec91338b 00000048 00007000 70000000 .3..H....p.....p + 20f18: 364fcf70 4e4fcdcd 54cd3b38 544e4e54 p.O6..ON8;.TTNNT + 20f28: 54545454 12545454 1f3bdd54 1f1f1f1f TTTTTTT.T.;..... + 20f38: 1f1f1f1f 0870701f a9a9a9a5 a9a9a9a9 .....pp......... + 20f48: a9a9a9a9 08080808 08080808 08a50808 ................ + 20f58: b2a5a9a9 d9a1a1dd d95858d9 2323a4a1 .........XX...## + 20f68: a5232323 a4a5a5a5 a5a5a959 a5a5a5a5 ###.....Y....... + 20f78: b2b223a5 89970cb7 e9e97889 89e9d36d .#.......x..m... + 20f88: dfda021c 2323b2a1 23b7b7b7 54232323 ......##...####T + 20f98: 3b545454 3ba93b3b 4f3b3b3b 1f1f1f4f TTT;;;.;;;;OO... + 20fa8: 361f1f36 3670701f 48707036 70707070 6..6.pp66ppHpppp + 20fb8: cb707048 6d69cf69 6944f606 00007036 Hpp.i.im..Di6p.. + 20fc8: 00700000 00000000 36cd7000 cdcdcd1f ..p......p.6.... + 20fd8: 4ecd4ee9 545454cd 54545454 54545454 .N.N.TTTTTTTTTTT + 20fe8: 1f3b5954 1f1f1fa9 1f1f1f1f 1f1f1f1f TY;............. + 20ff8: a9a5a970 a9a9a9a9 a9a9a9a9 0808a9a9 p............... + 21008: 08080808 a9080808 d9a10208 58585858 ............XXXX + 21018: d9d9dfdf 2323a4a1 a5232323 a508a5a5 ......#####..... + 21028: a51f0202 a5a5a5a5 23a5a5a5 97fae546 ...........#F... + 21038: e9788989 e96de9e9 2308911c a1d9a102 ..x...m....#.... + 21048: a523b2a4 080808a5 cd54543b a93b3b3b ..#.....;TT.;;;. + 21058: 1f4f3b3b 4fa91f1f 1f70704f 70707070 ;;O....OOpp.pppp + 21068: 70707036 70707070 70363670 d30c6936 6pppppppp66p6i.. + 21078: 69798b67 007048cb 00000000 00000000 g.yi.Hp......... + 21088: 4f700000 cdcd4f1f 543bcd1e 545438e9 ..pO.O....;T.8TT + 21098: 5454544e 54545454 a9545459 1f1f1fa9 NTTTTTTTYTT..... + 210a8: 1f1f1f1f 1f1f1f1f a9701f1f a9a9a9a5 ..........p..... + 210b8: a9a9a9a9 a9a9a9a9 0808a9a9 08a90808 ................ + 210c8: d9d9d9dd d9dfdfdf a1d9d9d9 23b702a1 ...............# + 210d8: a5232323 08a5a5a5 a9a10223 a5a5a508 ###.....#....... + 210e8: a5a5a5a5 6389e644 2d898989 6de90c0c ....D..c...-...m + 210f8: 0a1effe9 b7b2dda1 020202b2 02a4a402 ................ + 21108: 3ba559b2 3ba9a908 543ba9a9 d9a1ddb2 .Y.;...;..;T.... + 21118: 4f298888 70701f70 48707070 70707070 ..)Op.pppppHpppp + 21128: cb487070 78693636 0c3e06e5 7048cb69 ppH.66ix..>.i.Hp + ... + 21140: 70700000 4f4f7070 cdcd1e4e bbbb4e4e ..ppppOON...NN.. + 21150: 54544e54 54545454 08545454 1f1f1fa9 TNTTTTTTTTT..... + 21160: 1f1f1f1f 1f1f1f1f 1f1f1f1f a908a91f ................ + 21170: a9a9a9a9 a9a9a9a9 a9a9a9a9 591f08a9 ...............Y + 21180: d9a1a1d9 dfdfdfdf a1d9d9d9 23b70229 ............)..# + 21190: a5232323 a5a5a5a5 a1b22308 08a5a9b2 ###......#...... + 211a0: 54a5a5a5 69bfe651 918991ff 2d0c0c0c ...TQ..i.......- + 211b0: 741c6d2d 58585888 0a0a8858 b202dda1 -m.t.XXXX....... + 211c0: 88d9ddb2 d90ad9d9 88d9d9d9 88888888 ................ + 211d0: 88888888 701f7029 70707070 70707070 ....)p.ppppppppp + 211e0: 70487070 892d6936 0ce2c889 4848cb69 ppHp6i-.....i.HH + 211f0: 00000070 00000000 70000000 36707070 p..........pppp6 + 21200: 3b381ecd 381eab1e 54543864 54545454 ..8;...8d8TTTTTT + 21210: cd545454 1f1fa9a9 1f1f1f1f 1f1f1f1f TTT............. + 21220: 1f1f1f1f 081f1f1f a9a91f08 a9a9a9a9 ................ + 21230: a9a9a9a9 591f08a9 dfd9d958 d9d9df58 .......YX...X... + 21240: a1a1d9d9 232302a4 a5232323 a5a5a5a5 ......#####..... + 21250: b22308a5 08a9a1dd 44a508a5 08388ced ..#........D..8. + 21260: 89911cca 0c0c0c91 63d30c2d d9a12923 ........-..c#).. + 21270: 888888d9 58585858 59b229d9 d9d9a102 ....XXXX.).Y.... + 21280: 880a0ad9 0a0a0ad9 0a0a0a0a 704f0a0a ..............Op + 21290: 70707070 70707070 48707070 89cacb48 pppppppppppHH... + 212a0: 4e0d2d91 4836cbcb 00007070 00000000 .-.N..6Hpp...... + 212b0: 00000000 36707000 cd38cd1f bb1e7977 .....pp6..8.wy.. + 212c0: 54abbb1e 54545454 3b545454 a9a9083b ...TTTTTTTT;;... + 212d0: 1f1f1f1f a9a91f1f 1f1f1f1f 1f1f1f1f ................ + 212e0: a9a90800 a9a9a9a9 a9a9a9a9 08a9a9a9 ................ + 212f0: 0854dd88 d9465908 a1a1a1d9 b723b7a4 ..T..YF.......#. + 21300: a5232323 a5a5a5a5 2308a5a5 b2d902b2 ###........#.... + 21310: 5154081f a508bfed 918963a9 0ccdca63 ..TQ.....c..c... + 21320: 910c2d0c a4a4b791 0a0aa1a1 dfd9d90a .-.............. + 21330: 5858dfdf 6859ddd9 a1a1a129 0a0a0a0a ..XX..Yh)....... + 21340: a1a10a0a cfdda1a1 70703670 70707070 ........p6pppppp + 21350: 70707070 6391ec48 cdcd69ca 4836cbcb ppppH..c.i....6H + 21360: 00007048 00000000 00000000 70700000 Hp............pp + 21370: 4f4fcd4f 54c80e4e 641e1e1e 54545438 O.OON..T...d8TTT + 21380: 54545454 a9083b3b 1f1f1fa9 1f1f1f1f TTTT;;.......... + 21390: 1f1fa9a9 1f1f1f1f 08a9cd1f a9a9a9a9 ................ + 213a0: a9a9a9a9 1fa9a9a9 1f00a502 1f1f1f1f ................ + 213b0: a1d9dda9 2323b702 a5a5a523 a5a5a5a5 ......###....... + 213c0: 08a5a5a5 a1b2b223 e6d3540a 08084e90 ....#....T...N.. + 213d0: 91ffcb08 690c6391 0c2d0c0c a4b72d63 .....c.i..-.c-.. + 213e0: a1a12929 a1a1a1a1 88d9d9d9 d958dfd9 ))............X. + 213f0: a42959b2 a1a129a4 dda1a1a1 6846dddd .Y)..)........Fh + 21400: 7036703b 70707070 70707070 07910769 ;p6pppppppppi... + 21410: 36484815 48483648 00707048 00000000 .HH6H6HHHpp..... + 21420: 00000000 70007000 cdcd7070 12dc33cd .....p.ppp...3.. + 21430: 4e4e4e12 5454bbab 54545454 08543b54 .NNN..TTTTTTT;T. + 21440: 1f1fa9a9 1f1f1f1f 1fa91fa9 1f1f1f1f ................ + 21450: 12131e1f a9a9a9a9 a9a9a9a9 1fa9a9a9 ................ + 21460: a9000808 a9a9a9a9 021f1fa9 2323b2a1 ..............## + 21470: a5a5a523 a5a5a5a5 08a5a5a5 b2b22308 #............#.. + 21480: e69380a4 08080878 1c4a0808 69916391 ....x.....J..c.i + 21490: 0c0c0c69 a5cf632d a40223a5 29a12929 i...-c...#..)).) + 214a0: a1a1a1a1 d9df88d9 cd0258df 54545968 .........X..hYTT + 214b0: 59595454 59595959 1f70cd54 70707070 TTYYYYYYT.p.pppp + 214c0: cb707070 ec91fa4a 48707048 48484848 ppp.J...HppHHHHH + 214d0: 70704848 00000000 00000000 00000000 HHpp............ + 214e0: 36367000 77791e4f 54e94e77 54ab1e54 .p66O.ywwN.TT..T + 214f0: 54545454 54545454 1fa9a908 1f1f1f1f TTTTTTTT........ + 21500: a9a9a91f 1f1f1f1f 67331e1f a9084f79 ..........3gyO.. + 21510: 1fa9a9a9 a9a9a9a9 1f1fa91f 1f1f1f1f ................ + 21520: a9a9a91f 23dddd1f a5a52323 08a508a5 .......###...... + 21530: a5a5a5a5 b2230808 ceea5bb2 08a9a95e ......#..[..^... + 21540: 63a90808 ca639163 0c0c6969 a963ca0c ...cc.c.ii....c. + 21550: a5a508a5 a4a4b2a5 dda1dddd dfd9a1dd ................ + 21560: dfd9d9df b212cd68 595959b2 cdcd5454 ....h....YYYTT.. + 21570: 70cfcdcd 70707070 4acb7070 cbec0707 ...ppppppp.J.... + 21580: 70707048 48484870 48484848 00000070 HppppHHHHHHHp... + 21590: 00000000 001f0000 4f700000 541ecd4f ..........pOO..T + 215a0: 4e4e774e 3838544e 54545454 54595454 NwNNNT88TTTTTTYT + 215b0: a9a90854 1f1f1f1f a9a91f1f 1f1f1fa9 T............... + 215c0: 1379121f a9123113 a9a9a9a9 a9a91f1f ..y..1.......... + 215d0: 1fa91fa9 1f1f1f1f a91f1f1f a1a91fa9 ................ + 215e0: a5a5a5b2 08080808 08080808 23080808 ...............# + 215f0: 5ba66619 08290aa1 3608a91f 639191ff .f.[..)....6...c + 21600: 0cec690c fa91ec2d a5a5a508 a5080808 .i..-........... + 21610: 020202b2 4646dddd d9dfd9a1 cf54d9d9 ......FF......T. + 21620: 595454cd 59595959 cd545959 70707070 .TTYYYYYYYT.pppp + 21630: ca154870 70cb4a07 70700000 48487070 pH...J.p..ppppHH + 21640: 48484848 00007070 00000000 70000000 HHHHpp.........p + 21650: 70000070 4ecf3b36 381e543b 1e544e4e p..p6;.N;T.8NNT. + 21660: 54545454 59545454 08a53b59 a91f1fa9 TTTTTTTYY;...... + 21670: a9a91f1f 1fa9a9a9 0d34121f 79131379 ..........4.y..y + 21680: a9a908a9 1f1f1fa9 a91fa9a9 1f1f1f1f ................ + 21690: 1f1f1f1f 1fa91f1f a5a5a454 08080808 ........T....... + 216a0: 08080808 cd08a508 7453a6f1 0aa12902 ..........St.).. + 216b0: 1f1f23a1 6391ff4a ec696991 63ec2d0c .#..J..c.ii..-.c + 216c0: a5a508ca 3ba5a5a5 b2543b3b dd466802 .......;;;T..hF. + 216d0: d9dd5968 a1d9d9df cdcfcfcf cdcdcdcd hY.............. + 216e0: 545454cd 7070704f 07ca1548 7070154a .TTTOpppH...J.pp + 216f0: 70700070 70707070 48484848 00707070 p.ppppppHHHHppp. + ... + 2170c: 4f1f7000 38cd3b4e 544e5438 544e5454 .p.ON;.88TNTTTNT + 2171c: 54545454 a9595959 1fa9a908 a91f1f1f TTTTYYY......... + 2172c: 1fa9a9a9 686868a9 13790d34 08081279 .....hhh4.y.y... + 2173c: 1fa9a9a9 1f1f1f1f 1f1f1fa9 1f1f1f1f ................ + 2174c: 1f1f1f1f b7b21fa9 080808a5 08080808 ................ + 2175c: 44080808 596466e6 a1a40223 a4290a0a ...D.fdY#.....). + 2176c: 63fffaa9 69690763 0c0cecec 08086963 ...cc.ii....ci.. + 2177c: 08080808 3b3b3b3b 6868593b 5468dd68 ....;;;;;Yhhh.hT + 2178c: a1d9d946 cdcb68d9 cdcdcdcd cdcdcd54 F....h......T... + 2179c: 36704f54 4a07caec 70704815 70007070 TOp6...J.Hpppp.p + 217ac: 70707070 70704848 70707070 00000000 ppppHHpppppp.... + 217bc: 70000000 0000701f 70707000 cd3b544f ...p.p...pppOT;. + 217cc: 4e4e3838 4e4e5454 54545459 12595959 88NNTTNNYTTTYYY. + 217dc: 1f1fa959 a9a91f1f a91f1f1f 68686854 Y...........Thhh + 217ec: 76343468 08797979 a9a9a908 1f1f1f1f h44vyyy......... + 217fc: 1f1fa91f 1f1f1f1f 1f1f1f1f 3b1fa91f ...............; + 2180c: 0808a502 08080808 5154083b 23597294 ........;.TQ.rY# + 2181c: 02b223b2 a1a1a1a4 ffec0229 69ec631c .#......)....c.i + 2182c: ececec69 a5a963ca 3b3b3b08 3b3b3b3b i....c...;;;;;;; + 2183c: 54cdcd3b 46686868 d9745468 cfa1a1a1 ;..ThhhFhTt..... + 2184c: cdcdcdcf cdcdcdcd 1536cdcd cbec4aca ..........6..J.. + 2185c: 70707070 70707070 70707000 70707070 pppppppp.ppppppp + 2186c: 70704870 00000070 00000000 001f7000 pHppp........p.. + 2187c: a9700000 1f1f7070 381e38cd 3854544e ..p.pp...8.8NTT8 + 2188c: 5454541e 12595959 3b591212 1f1f1fa9 .TTTYYY...Y;.... + 2189c: 593ba91f 68b26868 34346868 310d0d0d ..;Yhh.hhh44...1 + 218ac: a9a9a912 1f1fa9a9 1f081f1f 1f1f1f1f ................ + 218bc: 1f1f1f1f a9a91f1f 0823021f 3b080808 ..........#....; + 218cc: e6783b3b a508e9ed 2323b259 a1a102b2 ;;x.....Y.##.... + 218dc: a5292929 699163ec ececec69 1ffa07ec )))..c.ii....... + 218ec: 3b3b0808 3b3b3b4f cdcd3b3b 686854cd ..;;O;;;;;...Thh + 218fc: cd6868b2 d9a1a168 cfcfcf54 cdcdcdcd .hh.h...T....... + 2190c: 36cdcdcd 704815ec 70707070 70707070 ...6..Hppppppppp + 2191c: 70707070 70707070 70484870 00000070 pppppppppHHpp... + 2192c: 00000000 00707000 00000000 1f70701f .....pp......pp. + 2193c: 1e38cd1f 5454381e 5412bb12 59595959 ..8..8TT...TYYYY + 2194c: 59121259 59595959 0d741259 6868680d Y..YYYYYY.t..hhh + 2195c: 34346868 0d343434 a9a97931 1fa9a9a9 hh44444.1y...... + 2196c: a91f1f1f 1f1f1fa9 1f1f1f1f a9a91f1f ................ + 2197c: b259364f 08080808 94e1e908 3b083bae O6Y..........;.; + 2198c: 23b223a5 a4b259a5 29292929 ca697002 .#.#.Y..)))).pi. + 2199c: ecec6969 4a91ecec 08a94fa9 4f4f3b3b ii.....J.O..;;OO + 219ac: 3bcf4f4f 54cdcdcd 6868b2b2 a1ddcd54 OO.;...T..hhT... + 219bc: cfcb46d9 cfcdcfcf cfcdcfcf 70707070 .F..........pppp + 219cc: 70707070 70364848 70707070 70707070 ppppHH6ppppppppp + 219dc: 70484870 00007070 00000000 00000000 pHHppp.......... + 219ec: 00000000 70707070 383b1f1f 544e3838 ....pppp..;888NT + 219fc: 12771254 59595959 59681259 b2595959 T.w.YYYYY.hYYYY. + 21a0c: 683468b2 0dc82bc8 34686868 34343434 .h4h.+..hhh44444 + 21a1c: 3b131340 a9a9a9a9 1f1f1f1f 1f1f081f @..;............ + 21a2c: 1f1f1f1f a91f1f1f 0d1e4f4f 083b3bb2 ........OO...;;. + 21a3c: 90e6ae08 083b08e9 59a5a53b b723a523 ......;.;..Y#.#. + 21a4c: 2929a4b2 cba92929 ec6969cf 63ececec ..))))...ii....c + 21a5c: a94fa9ec 4f4f4f4f cf4f4f4f cdcdcfcf ..O.OOOOOOO..... + 21a6c: 59b259cd 546868b2 cfa14654 cfcfcfcf .Y.Y.hhTTF...... + 21a7c: cdcfcfcf 7070001f 70707070 36363636 ......pppppp6666 + 21a8c: 00707048 70700070 70487070 00007070 Hpp.p.ppppHppp.. + ... + 21aa8: 701f7000 a91f7070 5454543b 38121254 .p.ppp..;TTTT..8 + 21ab8: 12125959 68126812 34685959 0d0d6868 YY...h.hYYh4hh.. + 21ac8: c8c87468 68340dc8 34343434 e8314034 ht....4h44444@1. + 21ad8: a9a9a912 1f1f1fa9 1f08701f 1f1f1f1f .........p...... + 21ae8: 4fa9a91f 161e4f4f 0854b245 78e6ed6d ...OOO..E.T.m..x + 21af8: 083b3b3b a5a53ba9 a5082359 2902b723 ;;;..;..Y#..#..) + 21b08: 1fa5b729 151569cb ecececec a9a936fa )....i.......6.. + 21b18: 4f4f4fa9 4f4f4f4f cfcfcfcf 54cdcd4f .OOOOOOO....O..T + 21b28: 36540259 54484848 cfcfcfcd cfcfcfcf Y.T6HHHT........ + 21b38: 707070cf 48707070 4e4f3636 0070704f .ppppppH66ONOpp. + 21b48: 00000000 70707000 00000000 00000000 .....ppp........ + 21b58: 00000000 00007070 00000000 3b707070 ....pp......ppp; + 21b68: 543ba9a9 59545454 59591259 68686868 ..;TTTTYY.YYhhhh + 21b78: 0db2b268 c8683476 6868680d 34c80d0d h...v4h..hhh...4 + 21b88: 34340234 31403434 a9a9c813 1f1fa91f 4.4444@1........ + 21b98: a91f1f1f 1f1f1fa9 a9a9a9a9 06774fa9 .............Ow. + 21ba8: 4e23e8b5 0c51e697 3b3bcd08 a53ba93b ..#N..Q...;;;.;. + 21bb8: a52323a5 b702b2a5 00000008 15360000 .##...........6. + 21bc8: ecec1569 4f1ffafa a9a9a9a9 4f4f4f4f i......O....OOOO + 21bd8: cfcf4f4f cf4fcfcf 483659cd 48cbcb36 OO....O..Y6H6..H + 21be8: cfcb4f36 cfcfcfcf 700036cf 36707070 6O.......6.pppp6 + 21bf8: 404f3636 70703640 00000000 70000000 66O@@6pp.......p + 21c08: 00000070 00000000 00000000 00000000 p............... + 21c18: 70000000 70700070 3b08a9a9 59125454 ...pp.pp...;TT.Y + 21c28: 77123812 68746812 b2b26868 3476130d .8.w.hthhh....v4 + 21c38: b268c876 0d346868 34023434 40343434 v.h.hh4.44.4444@ + 21c48: 3b797979 1f1f1fa9 701f1f1f a91fa9a9 yyy;.......p.... + 21c58: 1fa9a9a9 31c8cd1f bf79f687 a9d3edbe .......1..y..... + 21c68: 3bcdcd3b 3ba9083b 23a5a5a5 08022308 ;..;;..;...#.#.. + ... + 21c80: 70700000 1f15cb70 a9a9a9a9 4fa9a9a9 ..ppp..........O + 21c90: 4f4f4f4f cfcfcf4f 481f59cf 48483636 OOOOO....Y.H66HH + 21ca0: cf4f3648 4f4fcfcf 7070cf4f 70707070 H6O...OOO.pppppp + 21cb0: 344f4f36 7036129d 00000070 00000000 6OO4..6pp....... + 21cc0: 00000070 70007070 00007070 70700000 p...pp.ppp....pp + 21cd0: 00000000 70007070 4f1f1f70 3838593b ....pp.pp..O;Y88 + 21ce0: 12771212 74127477 68686868 340d68b2 ..w.wt.thhhh.h.4 + 21cf0: 68767634 0d68b2b2 3434340d 34343434 4vvh..h..4444444 + 21d00: af79400d 1f1f08b4 1f1f1f1f 1fa91f1f .@y............. + 21d10: 701fa9a9 79311e4f e35b7976 a94fbf5a ...pO.1yvy[.Z.O. + 21d20: cdcd3b3b 4f3b3bcd a508a53b 0023b2a5 ;;...;;O;.....#. + ... + 21d38: 70000000 701fa91f a94f1f4f a9a9a9a9 ...p...pO.O..... + 21d48: 4f4f4f4f cb364f4f 481f594f 48483636 OOOOOO6.OY.H66HH + 21d58: 363b4848 364fcfcf 0048cb36 70707070 HH;6..O66.H.pppp + 21d68: 124fcf36 364fe29d 00000070 70000000 6.O...O6p......p + 21d78: 00000000 48707000 70707048 00000070 .....ppHHpppp... + ... + 21d90: 1f1f7070 383854a9 77123838 59747412 pp...T8888.w.ttY + 21da0: 68681268 59b26868 3468b2b2 68686834 h.hhhh.Y..h44hhh + 21db0: 340dc8c8 34020234 fc37f279 a9543765 ...44..4y.7.e7T. + 21dc0: 1f1fa91f a91f1fa9 4f1f1fa9 7913791e ...........O.y.y + 21dd0: 65fbd176 3b081e0f cd3b4fa9 4f4fcdcd v..e...;.O;...OO + 21de0: a53b3b4f 00a559a5 00000000 00000000 O;;..Y.......... + 21df0: 00000000 4f1f1f1f 1f361f1f 3636361f .......O..6..666 + 21e00: 4f4f3636 364f3636 48a95436 48484836 66OO66O66T.H6HHH + 21e10: 1fcf4848 36364f36 0036cb36 70707070 HH..6O666.6.pppp + 21e20: 4ecf3670 36129d3e 70007036 00000000 p6.N>..66p.p.... + 21e30: 70000070 48487070 48484848 00004848 p..pppHHHHHHHH.. + ... + 21e48: 1f707000 7454a91f 12383874 74741274 .pp...Ttt88.t.tt + 21e58: 68b25959 68686868 b2686868 686868b2 YY.hhhhhhhh..hhh + 21e68: c8790d68 2c2b3434 fbfc2ee3 c831795b h.y.44+,....[y1. + 21e78: a91f1fa9 a91f1fa9 1e4f1f1f 79314513 ..........O..E1y + 21e88: e3657167 4f740dd1 3b4fa908 4fcfcdcd gqe...tO..O;...O + 21e98: 3b4f4f4f 00a9233b 00000000 00000000 OOO;;#.......... + 21ea8: 00000000 701f1f70 3670a91f 361f1f1f ....p..p..p6...6 + 21eb8: 36363636 364f4f36 70083b36 48484848 66666OO66;.pHHHH + 21ec8: 1f364848 36364f36 00363636 70707070 HH6.6O66666.pppp + 21ed8: 3b4f361f cde29d40 00004836 70007000 .6O;@...6H...p.p + 21ee8: 70707000 48484848 15484848 00fd1515 .pppHHHHHHH..... + 21ef8: 00007070 70000000 70707070 54a9361f pp.....ppppp.6.T + 21f08: 74747412 68121212 68595974 68686868 .ttt...htYYhhhhh + 21f18: 68686868 68b26868 0d343468 fce32c79 hhhhhh.hh44.y,.. + 21f28: 76d153e3 79764040 1fa97745 1f1f1f1f .S.v@@vyEw...... + 21f38: 13c84ea9 133113e8 f2fcfcaf 0d0d0dc8 .N....1......... + 21f48: a9a9a93b cfcdcd4f a9a94f4f 00a9543b ;...O...OO..;T.. + ... + 21f60: 48151500 1f007070 1fa9701f 36361f1f ...Hpp...p....66 + 21f70: 36361f1f 36363636 703b3b36 48484848 ..6666666;;pHHHH + 21f80: a9364848 36364f1f 70363636 70707000 HH6..O66666p.ppp + 21f90: 4f363670 123e3e12 00703636 00000000 p66O.>>.66p..... + 21fa0: 48487070 15484848 fd151515 07074a4a ppHHHHH.....JJ.. + ... + 21fb8: 1f700000 4f361f1f 7412543b 12681274 ..p...6O;T.tt.h. + 21fc8: 5959340d 740d6868 68687434 b2686868 .4YYhh.t4thhhhh. + 21fd8: c8346868 71fcfc53 34340dd1 76767676 hh4.S..q..44vvvv + 21fe8: 31453131 4e541277 e8e86777 af313113 11E1w.TNwg...11. + 21ff8: 79716510 0d0d0d0d a9a94e0d cfcf4fa9 .eqy.....N...O.. + 22008: a94f4fcf 001fa5a9 00000000 00000000 .OO............. + 22018: cb150000 70707048 1f1f7000 1f1f70a9 ....Hppp.p...p.. + 22028: 1f36361f 36363636 703b4f36 48484870 .66.66666O;ppHHH + 22038: 1f364848 36363648 70483636 70707070 HH6.H66666Hppppp + 22048: 36367070 343e403b 7048364f 00000000 pp66;@>4O6Hp.... + 22058: 48484870 15151548 07074afd 4a4a0707 pHHHH....J....JJ + 22068: 000000fd 00000000 70700000 361f1f1f ..........pp...6 + 22078: 12543b4f 68127474 b268130d 0d68b2b2 O;T.tt.h..h...h. + 22088: 34346874 68686868 712b6868 79b46ffc th44hhhhhh+q.o.y + 22098: 340d0d0d 76797634 31313176 13e8e813 ...44vyvv111.... + 220a8: 1313e845 37333113 76d13765 0d0dc876 E....137e7.vv... + 220b8: 4f74770d cf4fa9a9 a94fcfcf 007008a9 .wtO..O...O...p. + ... + 220d0: 15480000 70707015 70007070 1f70a91f ..H..ppppp.p..p. + 220e0: 361f1f1f 36363636 703b3636 70007070 ...6666666;ppp.p + 220f0: 36484848 48484870 00704836 70707070 HHH6pHHH6Hp.pppp + 22100: 36707070 e23e1236 704836cd 48707070 ppp66.>..6HppppH + 22110: 48484848 4afd1515 4a070707 1515fd4a HHHH...J...JJ... + 22120: 00004848 00000000 00000000 1f363670 HH..........p66. + 22130: 543b4f36 12747459 68c80d74 68b25959 6O;TYtt.t..hYY.h + 22140: 68686868 68686834 fc53c8b2 68345b10 hhhh4hhh..S..[4h + 22150: 0dc8c834 79763434 31313176 13131331 4...44vyv1111... + 22160: 13131313 650f1331 76795b10 c80dc876 ....1..e.[yvv... + 22170: 7474770d 4f3b1f4e 4f4fcfcf 0070a93b .wttN.;O..OO;.p. + ... + 22188: 15000000 700015cb 70707070 a91f0070 .......pppppp... + 22198: 36363670 36363636 704f3648 70701f70 p6666666H6Opp.pp + 221a8: 48487070 36364870 70707048 70707070 ppHHpH66Hppppppp + 221b8: 36707070 e240cf36 483636cd 48484870 ppp66.@..66HpHHH + 221c8: 15484848 07074afd 15fd4a4a 48481515 HHH..J..JJ....HH + 221d8: 00484848 00000000 00000000 1f700000 HHH...........p. + 221e8: cd363670 59595454 74127459 68685912 p66.TTYYYt.t.Yhh + 221f8: 68686868 b2683468 711053c8 34767664 hhhhh4h..S.qdvv4 + 22208: 0d0d3468 0d34340d 13137676 13133131 h4...44.vv..11.. + 22218: 31131313 eafcaf13 797979b1 c8c8c876 ...1.....yyyv... + 22228: 74770dc8 1fcf7474 3bcdcd3b 00001f3b ..wttt..;..;;... + ... + 22244: 00481515 70707070 00707070 36701f1f ..H.ppppppp...p6 + 22254: 48363636 70a94f36 70701f70 70707070 666H6O.pp.pppppp + 22264: 48707070 70007070 70707070 70707070 pppHpp.ppppppppp + 22274: 34cd3636 483636cd 48484848 4afd1548 66.4.66HHHHHH..J + 22284: fd4a074a 48151515 48484848 00707048 J.J....HHHHHHpp. + 22294: 00000000 70000000 70000000 4f367070 .......p...ppp6O + 222a4: 5454cdcd 12125959 68685974 0d686868 ..TTYY..tYhhhhh. + 222b4: 77b26868 2b241053 0d346868 34683434 hh.wS.$+hh4.44h4 + 222c4: 34343434 31404034 31313113 13131313 44444@@1.111.... + 222d4: 0f65e35b 79797967 c8c8c82b 777777c8 [.e.gyyy+....www + 222e4: 74383874 4f4f7070 0000701f 00000000 t88tppOO.p...... + ... + 222fc: 48151548 70707000 70707070 00707070 H..H.pppppppppp. + 2230c: 361f7070 701fa936 70707070 70707070 pp.66..ppppppppp + 2231c: 70707070 70707070 70707070 70707070 pppppppppppppppp + 2232c: cf364870 48cbcbcf 15484848 074afd15 pH6....HHHH...J. + 2233c: 1515fd4a 48484815 70484848 00000070 J....HHHHHHpp... + ... + 22354: 70000070 4f487070 121254cf 12125959 p..pppHO.T..YY.. + 22364: 68595974 68343434 f1746868 b2c85310 tYYh444hhht..S.. + 22374: 68686868 34343468 34686868 400d3434 hhhhh444hhh444.@ + 22384: 31311331 33313131 33e365fb 76797979 1.111113.e.3yyyv + 22394: c8c8c876 797977c8 38387477 00000038 v....wyywt888... + ... + 223b4: 15154800 70700000 70707070 70707070 .H....pppppppppp + 223c4: 70000070 70707070 70707070 70707070 p..ppppppppppppp + 223d4: 70707070 70707070 70707070 70707070 pppppppppppppppp + 223e4: 36487070 cbcbcb36 fd151515 fd4a074a ppH66.......J.J. + 223f4: 48481515 48484848 00707048 00000000 ..HHHHHHHpp..... + ... + 2240c: 70000000 36707070 0d12cdcd 59595968 ...pppp6....hYYY + 2241c: 59595959 34686868 66e56868 34682bbe YYYYhhh4hh.f.+h4 + 2242c: 68686868 34686868 34686834 34343434 hhhhhhh44hh44444 + 2243c: 31317634 b1133131 79f210fc 76767979 4v1111.....yyyvv + 2244c: c8c8c8c8 45c877c8 381e74c8 00006938 .....w.E.t.88i.. + 2245c: 00707070 00000000 00000000 00000000 ppp............. + 2246c: 15150000 70000015 70707070 70707070 .......ppppppppp + 2247c: 70707070 70707070 70707070 70707070 pppppppppppppppp + 2248c: 70707070 70707070 70707070 70707070 pppppppppppppppp + 2249c: 48487070 cbcbcbcb 074aec15 15fd4a07 ppHH......J..J.. + 224ac: 48484848 00704848 00000000 00000000 HHHHHHp......... + ... + 224c8: 70707070 4554cd4f 59595976 59595959 ppppO.TEvYYYYYYY + 224d8: 68685959 66be2b68 0d6868e5 68683434 YYhhh+.f.hh.44hh + 224e8: 68686868 34686868 34460d34 76763434 hhhhhhh44.F444vv + 224f8: e3f27940 7967b1fc c8767679 c8c8c8c8 @y....gyyvv..... + 22508: 77777777 381e1e77 00483838 70707000 wwwww..888H..ppp + ... + 22524: 15700000 00004815 70707070 70707070 ..p..H..pppppppp + 22534: 70707070 701f7070 70707070 70707070 pppppp.ppppppppp + 22544: 70707070 70707070 70707070 70707070 pppppppppppppppp + 22554: 48484848 15cb4848 ca91074a 4815694a HHHHHH..J...Ji.H + 22564: 70484848 00000000 00000000 00000000 HHHp............ + ... + 22580: 70700000 ab4f3636 59126887 59595959 ..pp66O..h.YYYYY + 22590: 68685959 dba6f174 6868b274 68340d0d YYhht...t.hh..4h + 225a0: 68686868 34686868 0d0d3434 40343446 hhhhhhh444..F44@ + 225b0: e3372c79 764067b1 c8c8c876 77c8c8c8 y,7..g@vv......w + 225c0: 77777777 1e1e1e1e 000c3838 70000000 wwww....88.....p + ... + 225dc: 48000000 00701515 70707000 70707070 ...H..p..ppppppp + 225ec: 70707070 70707070 70707070 70707070 pppppppppppppppp + 225fc: 70707070 70707070 70707070 70707070 pppppppppppppppp + 2260c: 48484848 ca15cbcb eccafa91 4815e969 HHHH........i..H + 2261c: 00004848 00000000 00000000 00000000 HH.............. + ... + 22634: 70000000 70007070 0c363636 121277dc ...ppp.p666..w.. + 22644: 59595959 68595959 646666d1 68686868 YYYYYYYh.ffdhhhh + 22654: 68680d68 68686868 34686868 46346834 h.hhhhhhhhh44h4F + 22664: 2b34460d f27171f1 76767679 c8c8c876 .F4+.qq.yvvvv... + 22674: 7777c8c8 77777777 381e1e1e cb384e38 ..wwwwww...88N8. + 22684: 00000000 00000070 00000000 00000000 ....p........... + 22694: 00000000 00151515 70700000 70707070 ..........pppppp + 226a4: 70707070 70707070 70707070 70707070 pppppppppppppppp + 226b4: 70707070 70707070 4f367070 48707070 pppppppppp6OpppH + 226c4: 48cb4848 6307fd48 15154a91 48e9e9cb HH.HH..c.J.....H + 226d4: 00007048 00000000 00000000 00000000 Hp.............. + ... + 226ec: 00007000 70707070 36cfcf1f 4e6979ab .p..pppp...6.yiN + 226fc: 54545454 12595959 74f16553 68686868 TTTTYYY.Se.thhhh + 2270c: 68686868 68686868 34686868 6868340d hhhhhhhhhhh4.4hh + 2271c: b02b4634 0d67f153 4076400d c80d0d0d 4F+.S.g..@v@.... + 2272c: 7777c8c8 1e1e7777 381e1e1e e94ee938 ..wwww.....88.N. + 2273c: 00000048 00007000 00000000 00000000 H....p.......... + 2274c: 00000000 1548fd00 70000000 70707070 ......H....ppppp + 2275c: 70707070 70707070 70707070 70707070 pppppppppppppppp + 2276c: 70707070 70707070 594f7070 4848703b ppppppppppOY;pHH + 2277c: 48cbcb48 9163faec 15cb154a 691e69cb H..H..c.J....i.i + 2278c: 00007048 00000000 00000000 00000000 Hp.............. + ... + 227a4: 00707000 70700000 4f367070 cf691e0c .pp...pppp6O..i. + 227b4: 54cdcdcf bb545954 682b5a66 68686868 ...TTYT.fZ+hhhhh + 227c4: 68686834 34686868 68686834 340d0d68 4hhhhhh44hhhh..4 + 227d4: b0640d68 34462bb0 0d0d0d34 0d0d0d0d h.d..+F44....... + 227e4: 7777c8c8 1e1e1e77 381e1e1e 4ee9e9e9 ..www......8...N + 227f4: 0000000c 00700000 00000000 00000000 ......p......... + 22804: 00000000 15fd4800 70000048 70707070 .....H..H..ppppp + 22814: 70707070 70707070 70707070 70707070 pppppppppppppppp + 22824: 70707070 70707070 59367070 48483659 pppppppppp6YY6HH + 22834: ec4848cb 4a631c63 cbcb1515 124ecbcb .HH.c.cJ......N. + 22844: 00007036 00000000 00000000 00000000 6p.............. + ... + 2285c: 70700000 70707070 36367070 cfcfcf36 ..pppppppp666... + 2286c: 59cdcfcf 2f545459 59597294 68686812 ...YYTT/.rYY.hhh + 2287c: 68346868 34686868 6874460d 0d466868 hh4hhhh4.FthhhF. + 2288c: 2b2bc80d 46464646 0d343446 0d0d0d0d ..++FFFFF44..... + 2289c: 7777c80d 1e1e7777 e91e3838 4ee9e9e9 ..wwww..88.....N + 228ac: 0000cb4e 70000000 00000000 00000000 N......p........ + 228bc: 00000000 15150000 00007015 70707070 .........p..pppp + 228cc: 70707070 70707070 70707070 70707070 pppppppppppppppp + 228dc: 48707070 70707048 cf487070 cb483654 pppHHpppppH.T6H. + 228ec: 631548cb 154a6397 484815cb 12693648 .H.c.cJ...HHH6i. + 228fc: 0070703b 00000000 00000000 00000000 ;pp............. + ... + 22914: 70700000 70707070 4f707070 3636364f ..pppppppppOO666 + 22924: 544fcf4f 0b545968 59a5bf94 74681259 O.OThYT....YY.ht + 22934: 34686868 6868400d 74460d68 74686868 hhh4.@hhh.Fthhht + 22944: 74460d0d 46746868 46746874 0d0d3434 ..FthhtFthtF44.. + 22954: c80dc80d 1e1e7779 e9e9381e 4ee9e9e9 ....yw...8.....N + 22964: 00480c0c 00000000 00000070 00000000 ..H.....p....... + 22974: 00000000 fd000000 00001548 70707000 ........H....ppp + 22984: 70707070 70707070 70707070 70707070 pppppppppppppppp + 22994: 361f7070 70363636 36707070 15cb36cf pp.6666pppp6.6.. + 229a4: 73071548 48154a1c 48484848 4e484848 H..s.J.HHHHHHHHN + 229b4: 00703612 00000000 00000000 00000000 .6p............. + ... + 229cc: 70700000 70707070 70707070 36364f4f ..ppppppppppOO66 + 229dc: cfcf3636 24387454 54541e94 12595959 66..Tt8$..TTYYY. + 229ec: 68687474 6831f640 68686868 74686874 tthh@.1hhhhhthht + 229fc: 68747474 68687468 74686868 0d464646 ttthhthhhhhtFFF. + 22a0c: 79c80d0d 387731f6 e9e9e938 0c0ce9e9 ...y.1w88....... + 22a1c: 0069cdcd 00000000 00007000 00000000 ..i......p...... + ... + 22a34: 001548fd 70700000 70707070 70707070 .H....pppppppppp + 22a44: 70707070 70707070 36367070 4f543636 pppppppppp6666TO + 22a54: 48707070 15cb3636 73ff4acb 48481507 pppH66...J.s..HH + 22a64: 48484848 cb484848 70704f12 00000000 HHHHHHH..Opp.... + ... + 22a84: 70000000 70707070 701f1f70 36361f70 ...pppppp..pp.66 + 22a94: cf363636 5a4ecdcf cd3b38e6 5959593b 666...NZ.8;.;YYY + 22aa4: 68747412 3487f634 68686834 74747468 .tth4..44hhhhttt + 22ab4: 74747474 68687474 74746868 46467468 tttttthhhhtthtFF + 22ac4: 31c8c80d 1ec8f616 e9e9e91e cd0ce9e9 ...1............ + 22ad4: cbcdcdcd 00000000 00000000 00000000 ................ + 22ae4: 70700000 00000070 4848fd48 48000000 ..ppp...H.HH...H + 22af4: 70707070 70707070 70707070 70707070 pppppppppppppppp + 22b04: 36367070 59684f36 48484836 cb15cb36 pp666OhY6HHH6... + 22b14: 63736315 48154815 48484848 48484848 .csc.H.HHHHHHHHH + 22b24: 7070cdcd 00000000 00000000 00000000 ..pp............ + ... + 22b40: 361f1f70 36361f1f 1f1f1f1f cf363636 p..6..66....666. + 22b50: 32e9cfcf cd54e932 59543b3b 74746859 ...22.T.;;TYYhtt + 22b60: 34877968 68686868 74746868 68686868 hy.4hhhhhhtthhhh + 22b70: 68686874 74746868 74747468 79c80d74 thhhhhtthtttt..y + 22b80: 7479165d e9e9e91e cd0c0c0c cdcdcdcd ].yt............ + 22b90: 00000048 00000000 70000000 36363636 H..........p6666 + 22ba0: 00363636 48151500 00000000 70707048 666....H....Hppp + 22bb0: 70707070 70707070 70707070 36484870 pppppppppppppHH6 + 22bc0: 34684f36 4848484f 15151548 4aff73ca 6Oh4OHHHH....s.J + 22bd0: 48481548 70704848 48487070 0048cd36 H.HHHHppppHH6.H. + ... + 22bf8: 361f1f00 36363636 36363636 36363636 ...6666666666666 + 22c08: e66dcfcb 59544e5a 543b3b54 74125959 ..m.ZNTYT;;TYY.t + 22c18: 34406874 68686868 68686868 68686868 th@4hhhhhhhhhhhh + 22c28: 68121268 74741212 74686874 c80d7474 h..h..ttthhttt.. + 22c38: 77e816f6 0ce9e91e cd0c0c0c cfcdcdcd ...w............ + 22c48: 00007069 00000000 cb000000 36cbcfcf ip.............6 + 22c58: 48703636 48fd0070 00000015 70704800 66pHp..H.....Hpp + 22c68: 70707070 70707070 70707070 36487070 ppppppppppppppH6 + 22c78: 7e593636 48363654 fdcb1548 15fa901c 66Y~T66HH....... + 22c88: 48481515 70704848 70707070 00363648 ..HHHHppppppH66. + ... + 22cb0: 1f1f0000 3636361f 36363636 36363636 .....66666666666 + 22cc0: 576d4f36 54cf4e24 3b3b5974 12595954 6OmW$N.TtY;;TYY. + 22cd0: 68747474 68686868 12686812 12747474 ttthhhhh.hh.ttt. + 22ce0: 12121274 74121212 12127474 c8747412 t......ttt...tt. + 22cf0: c8871606 0ce9381e cdcdcd0c cfcfcfcd .....8.......... + 22d00: 0000cbcf 00000000 36000000 36cbcfcf ...........6...6 + 22d10: 48363636 fd707048 00004848 70700000 666HHpp.HH....pp + 22d20: 70707070 70487070 48707070 48487048 ppppppHppppHHpHH + 22d30: 7e543636 cb36cf68 071515cb 484aff73 66T~h.6.....s.JH + 22d40: 48484815 70707048 70707070 70707070 .HHHHppppppppppp + ... + 22d68: 1f000000 361f1f1f 36363636 36363636 .......666666666 + 22d78: 57e93636 cfcd548c cd5454cf 59543b4f 66.W.T...TT.O;TY + 22d88: 74747459 12686868 12686812 38743812 Yttthhh..hh..8t8 + 22d98: 12121212 12121212 12383812 74741212 .........88...tt + 22da8: c8f61613 0ce9381e cfcdcdcd cfcfcfcf .....8.......... + 22db8: 0048cfcf 00000000 70000000 cbcbcfcf ..H........p.... + 22dc8: 483636cb 48704848 007048fd 70000000 .66HHHpH.Hp....p + 22dd8: 70707070 70707070 70707070 48484870 pppppppppppppHHH + 22de8: 343b3636 cbcbcd68 1cfd4815 1515fa22 66;4h....H.."... + 22df8: 48484815 70707048 70707070 00707070 .HHHHpppppppppp. + ... + 22e24: 1f36361f 3636361f 36363636 e60c3636 .66..666666666.. + 22e34: cdcfcded cfcfcfcf 3b4f4fcf 38121254 .........OO;T..8 + 22e44: 12121238 12686812 12121212 12121212 8....hh......... + 22e54: 12121212 12125959 12121212 c8f6f60d ....YY.......... + 22e64: 0ce93838 cfcfcdcd cfcfcfcf 70cfcfcf 88.............p + ... + 22e7c: cbcbcfcb 363636cb 70484848 004815fd .....666HHHp..H. + 22e8c: 00000000 70707070 70707070 70707070 ....pppppppppppp + 22e9c: 48487070 68cf3648 cbcb5402 7307cbcb ppHHH6.h.T.....s + 22eac: 1548fdff 70484848 70707070 70707070 ..H.HHHppppppppp + 22ebc: 00707070 00000000 00000000 00000000 ppp............. + ... + 22edc: 36363600 1f36361f 36361f1f edcd3636 .666.66...6666.. + 22eec: cf4f0c32 cfcfcfcf 3b4f54cf 12593b3b 2.O......TO;;;Y. + 22efc: 12121212 12681212 12121259 12123838 ......h.Y...88.. + 22f0c: 59121212 59595912 59595959 77310d12 ...Y.YYYYYYY..1w + 22f1c: 0ce94e12 cfcfcfcd cfcfcfcf 36cfcfcf .N.............6 + ... + 22f34: cbcfcf70 36363636 48484848 4848fd70 p...6666HHHHp.HH + 22f44: 00000000 70707000 48707070 70707070 .....ppppppHpppp + 22f54: 48707070 59364848 69695402 226315cb pppHHH6Y.Tii..c" + 22f64: 151515fa 70484848 70707070 70707070 ....HHHppppppppp + 22f74: 70707070 00000000 00000000 00000000 pppp............ + ... + 22f94: 1f1f0000 1f361f1f 1f1f1f36 9bcf3636 ......6.6...66.. + 22fa4: cf366d57 cfcfcfcf 3636cfcf 593b4f36 Wm6.......666O;Y + 22fb4: 59121212 59125959 12121212 12121212 ...YYY.Y........ + 22fc4: 59121212 54595959 54545454 4e125454 ...YYYYTTTTTTT.N + 22fd4: cd0c4e4e cfcfcfcf cfcfcfcf cb3636cb NN...........66. + 22fe4: 00000048 00000000 cbcfcb00 483636cb H............66H + 22ff4: 48484848 48fd4870 00000048 70700000 HHHHpH.HH.....pp + 23004: 70707070 70707048 70707070 cd484848 ppppHpppppppHHH. + 23014: 69695968 7397eccb 4815484a 70704848 hYii...sJH.HHHpp + 23024: 70707070 70707070 70707070 00000070 ppppppppppppp... + ... + 2304c: 1f000000 1f1f1f1f 361f1f1f 891f361f ...........6.6.. + 2305c: cb1f7857 cdcfcbcf 54cfcfcf 3b3b4fcd Wx.........T.O;; + 2306c: 59121259 59595959 59126812 59595959 Y..YYYYY.h.YYYYY + 2307c: 54595959 54545454 54545454 54545454 YYYTTTTTTTTTTTTT + 2308c: cdcdcd54 cfcfcfcf cbcbcbcf 363636cb T............666 + 2309c: 00007036 00000000 cbcf7000 703636cb 6p.......p...66p + 230ac: 48487070 15157048 00007048 70000000 ppHHHp..Hp.....p + 230bc: 70707070 70707070 70707070 36484870 pppppppppppppHH6 + 230cc: 15695454 6373cacb 48484815 70484848 TTi...sc.HHHHHHp + 230dc: 70707070 70707070 00000070 00000000 ppppppppp....... + ... + 23108: 70707070 1f707070 2d1f361f 364f9781 ppppppp..6.-..O6 + 23118: cd4f3636 cf69cfcd 4f4f4fcd 125959cd 66O...i..OOO.YY. + 23128: 59595959 59121259 54545959 54545454 YYYYY..YYYTTTTTT + 23138: 54545454 54545454 cdcd5454 cfcdcdcd TTTTTTTTTT...... + 23148: 4f4fcfcf 36363636 36363636 00003636 ..OO6666666666.. + 23158: 00000000 cb360000 483636cb 48707048 ......6..66HHppH + 23168: fd704848 00004848 00000000 70707070 HHp.HH......pppp + 23178: 70707070 70707070 48487070 cbcbcf36 ppppppppppHH6... + 23188: ca736315 48481548 70707048 70707070 .cs.H.HHHppppppp + 23198: 70707070 00000070 00000000 00000000 ppppp........... + ... + 231c0: 70707000 70707070 cf1f1f70 1f692273 .pppppppp...s"i. + 231d0: 36363636 cd69cf4f 36cf4e0c 5954cf36 6666O.i..N.66.TY + 231e0: 54595959 54545459 54545454 54544e54 YYYTYTTTTTTTTNTT + 231f0: 54545454 54545454 3bcdcd3b 4f4f3b3b TTTTTTTT;..;;;OO + 23200: 364f4f4f 36363636 36363636 00703636 OOO66666666666p. + 23210: 00000000 36000000 483636cb 48484848 .......6.66HHHHH + 23220: 48484848 0048484a 00000000 70707000 HHHHJHH......ppp + 23230: 70707070 70707070 48707070 cbcbcb48 pppppppppppHH... + 23240: fd1c1cec 48481548 70707070 70707070 ....H.HHpppppppp + 23250: 00707070 00000070 00000000 00000000 ppp.p........... + ... + 23278: 70700000 70707070 1f707070 7091ed91 ..ppppppppp....p + 23288: 36361f70 0ccdcf36 cd2b2b0c cdcf4fcf p.666....++..O.. + 23298: 54545454 54545454 54545454 54545454 TTTTTTTTTTTTTTTT + 232a8: 54545454 3b54cd54 4fa9a9a9 1f1fa91f TTTTT.T;...O.... + 232b8: 1f1f701f 361f1f1f 36361f1f 00701f36 .p.....6..666.p. + 232c8: 00000000 70000000 48363636 48704848 .......p666HHHpH + 232d8: 70484848 4848fd48 00000000 70480000 HHHpH.HH......Hp + 232e8: 70707048 70707070 48707070 cbcb4848 HppppppppppHHH.. + 232f8: 15631c4a 48484848 70707070 70707070 J.c.HHHHpppppppp + 23308: 00000000 70007000 00000000 00000000 .....p.p........ + ... + 23330: 70000000 70707070 70707070 361cff69 ...pppppppppi..6 + 23340: 36707070 cdcd3636 1e6eab0c 4f3636cf ppp666....n..66O + 23350: 545454cf 54545454 54545454 54545454 .TTTTTTTTTTTTTTT + 23360: 3b3b3b3b a93b3b3b 701f1f1f 70707070 ;;;;;;;....ppppp + 23370: 70707070 701f1f70 70707070 70707070 ppppp..ppppppppp + ... + 23388: 36367070 48484870 48487070 4815fd70 pp66pHHHppHHp..H + 23398: 00000070 70000000 70707070 70707070 p......ppppppppp + 233a8: 48707070 48cb4848 48071c4a 70484848 pppHHH.HJ..HHHHp + 233b8: 00000070 00007000 00000000 00007000 p....p.......p.. + ... + 233ec: 70707070 70707070 4affca70 70707070 ppppppppp..Jpppp + 233fc: cf363636 0e6ee9cd 3636cf0c 54544f36 666...n...666OTT + 2340c: 3bcdcd54 cdcdcdcd 3b54cd3b 3b3b3b3b T..;....;.T;;;;; + 2341c: 1f3b3b3b 7070701f 70707070 00007000 ;;;..ppppppp.p.. + 2342c: 70700000 70707070 00707070 00000000 ..ppppppppp..... + 2343c: 00000000 48707000 70484848 48484848 .....ppHHHHpHHHH + 2344c: 48fd0048 00000048 70000000 70707070 H..HH......ppppp + 2345c: 70700070 48707070 48484848 484a634a p.pppppHHHHHJcJH + 2346c: 70704848 00000070 00007070 00000070 HHppp...pp..p... + 2347c: 00707000 00000000 00000000 00000000 .pp............. + ... + 234a4: 70707000 70707070 91633670 70707036 .pppppppp6c.6ppp + 234b4: 36367070 b5670ccf 36cdcdab 3b4f3636 pp66..g....666O; + 234c4: 3b3b3bcd 3b3b3b3b 4f3b3b3b 1f1fa94f .;;;;;;;;;;OO... + 234d4: 701fa9a9 70707070 00707070 00000000 ...pppppppp..... + 234e4: 00000000 00707000 00700000 00000000 .....pp...p..... + 234f4: 00000000 70700000 70704870 70487070 ......pppHppppHp + 23504: 4a707048 00004848 00000000 00707000 HppJHH.......pp. + 23514: 00000000 70707000 48484848 48fd634a .....pppHHHHJc.H + 23524: 70704848 00007070 00000000 00000000 HHpppp.......... + 23534: 70700000 00000070 00000000 00000000 ..ppp........... + ... + 2355c: 70700000 70707070 63ec7000 707070ec ..pppppp.p.c.ppp + 2356c: 36707070 6e4e4f36 cf690c87 4f1f7036 ppp66ONn..i.6p.O + 2357c: 3b3b3b3b a9080808 70a9a91f 1f707070 ;;;;.......pppp. + 2358c: 7070701f 00707070 00000070 00000000 .pppppp.p....... + ... + 235b0: 70000000 70707070 70707070 48007070 ...ppppppppppp.H + 235c0: 007070fd 00000000 00700000 00000000 .pp.......p..... + 235d0: 70700000 48484848 4815fa4a 00704848 ..ppHHHHJ..HHHp. + 235e0: 00007000 00000000 00000000 70700000 .p............pp + 235f0: 00007036 00000000 00000000 00000000 6p.............. + ... + 23614: 70000000 00707070 4a700000 000036fa ...pppp...pJ.6.. + 23624: 70700000 2a363670 4f4f1e6e 70707036 ..ppp66*n.OO6ppp + 23634: 1f4f4f1f 1f1fa91f 70700070 70707070 .OO.....p.pppppp + 23644: 70707070 00707070 00000000 00000000 ppppppp......... + 23654: 00000000 00007000 00000000 00000000 .....p.......... + ... + 2366c: 70707000 70707070 00707070 00701515 .pppppppppp...p. + ... + 23688: 70700000 48484848 48154a4a 00704848 ..ppHHHHJJ.HHHp. + ... + 236a4: 70700000 00704f36 00000000 00000000 ..pp6Op......... + ... + 236d0: 00007070 70000000 00704a4a 70000000 pp.....pJJp....p + 236e0: 36367070 4f4fab67 70703636 1f1f7070 pp66g.OO66pppp.. + 236f0: 00707070 70707000 70707070 70707070 ppp..ppppppppppp + 23700: 70707070 00000000 00000000 00000000 pppp............ + 23710: 00700000 00000000 00000000 00000000 ..p............. + 23720: 00000000 70000000 00007070 00000000 .......ppp...... + 23730: 70481500 00000000 00000000 00000000 ..Hp............ + 23740: 70000000 48484848 48484afd 00007048 ...pHHHH.JHHHp.. + ... + 2375c: 70000000 00363b70 00000000 00000000 ...pp;6......... + ... + 23788: 00707000 00000000 70154a70 00000000 .pp.....pJ.p.... + 23798: 70707000 36364e4f 70703636 70707070 .pppON6666pppppp + 237a8: 70707070 00000070 70707000 70707070 ppppp....ppppppp + 237b8: 00707070 00000000 00000000 00000000 ppp............. + ... + 237e8: 00150000 00000000 00000000 00000000 ................ + 237f8: 70000000 48484870 4848fdfd 00007048 ...ppHHH..HHHp.. + ... + 23814: 70000000 703b4f70 00000000 00000000 ...ppO;p........ + ... + 23848: cb4a4800 00000000 70700000 36707070 .HJ.......ppppp6 + 23858: 7070701f 70707070 70707070 00007070 .ppppppppppppp.. + 23868: 00000000 70000000 00000000 00000000 .......p........ + ... + 238a0: 48700000 00000000 00000000 00000000 ..pH............ + 238b0: 00000000 48484870 4848fdfd 00007048 ....pHHH..HHHp.. + ... + 238d0: 364f1f70 00000070 00000000 00000000 p.O6p........... + ... + 23900: fd480000 00000048 00000000 70707070 ..H.H.......pppp + 23910: 70707070 70000070 70707070 00707070 ppppp..pppppppp. + ... + 2396c: 48487070 48481515 00000070 00000000 ppHH..HHp....... + ... + 23988: 4f4f7000 00000070 00000000 00000000 .pOOp........... + ... + 239b8: 48000000 00004848 00000000 70000000 ...HHH.........p + 239c8: 70707070 00000070 70707000 00000070 ppppp....pppp... + ... + 23a24: 48487000 48481515 00000070 00000000 .pHH..HHp....... + ... + 23a40: 4f1f0000 0000001f 00000000 00000000 ...O............ + ... + 23a70: 70000000 70484848 00000000 00000000 ...pHHHp........ + 23a80: 70000000 00000000 70000000 00000070 ...p.......pp... + ... + 23adc: 48700000 48481515 00000070 00000000 ..pH..HHp....... + ... + 23af8: 36700000 00007036 00000000 00000000 ..p66p.......... + ... + 23b2c: 48484870 00000000 00000000 00000000 pHHH............ + ... + 23b94: 70000000 70481548 00000070 00000000 ...pH.Hpp....... + ... + 23bb0: 70000000 00007036 00000000 00000000 ...p6p.......... + ... + 23be0: 6c6c6548 6f57206f 00646c72 Hello World. + +00023bec <__func__.9536>: + 23bec: 645f766c 67756265 6568635f 735f6b63 lv_debug_check_s + 23bfc: 00007274 tr.. + +00023c00 : + 23c00: 33323130 37363534 42413938 46454443 0123456789ABCDEF + 23c10: 00000000 .... + +00023c14 <__func__.9554>: + 23c14: 645f766c 67756265 676f6c5f 7272655f lv_debug_log_err + 23c24: 0000726f 742f2e2e 64726968 74726170 or..../thirdpart + 23c34: 766c2f79 732f6c67 6c2f6372 6f635f76 y/lvgl/src/lv_co + 23c44: 6c2f6572 65645f76 2e677562 00000063 re/lv_debug.c... + 23c54: 645f766c 67756265 6568635f 735f6b63 lv_debug_check_s + 23c64: 203a7274 6f6e2061 53412d6e 20494943 tr: a non-ASCII + 23c74: 72616863 73616820 70657220 65746165 char has repeate + 23c84: 6f6d2064 74206572 206e6168 445f564c d more than LV_D + 23c94: 47554245 5254535f 58414d5f 5045525f EBUG_STR_MAX_REP + 23ca4: 20544145 656d6974 00002973 645f766c EAT times)..lv_d + 23cb4: 67756265 6568635f 735f6b63 203a7274 ebug_check_str: + 23cc4: 61766e69 2064696c 72616863 206e6920 invalid char in + 23cd4: 20656874 69727473 2820676e 3031203c the string (< 10 + 23ce4: 6c617620 00296575 645f766c 67756265 value).lv_debug + 23cf4: 6568635f 735f6b63 203a7274 69727473 _check_str: stri + 23d04: 6920676e 6f6c2073 7265676e 61687420 ng is longer tha + 23d14: 564c206e 4245445f 535f4755 4d5f5254 n LV_DEBUG_STR_M + 23d24: 4c5f5841 54474e45 00000048 AX_LENGTH... + +00023d30 <__func__.9507>: + 23d30: 645f766c 5f707369 5f746567 5f726373 lv_disp_get_scr_ + 23d40: 00746361 act. + +00023d44 <__func__.9515>: + 23d44: 645f766c 5f707369 5f746567 6579616c lv_disp_get_laye + 23d54: 6f745f72 00000070 r_top... + +00023d5c <__func__.9519>: + 23d5c: 645f766c 5f707369 5f746567 6579616c lv_disp_get_laye + 23d6c: 79735f72 00000073 r_sys... + +00023d74 <__func__.9524>: + 23d74: 645f766c 5f707369 69737361 735f6e67 lv_disp_assign_s + 23d84: 65657263 0000006e creen... + +00023d8c <__func__.9529>: + 23d8c: 645f766c 5f707369 5f746567 63616e69 lv_disp_get_inac + 23d9c: 65766974 6d69745f 00000065 tive_time... + +00023da8 <__func__.9539>: + 23da8: 645f766c 5f707369 67697274 7463615f lv_disp_trig_act + 23db8: 74697669 00000079 ivity... + +00023dc0 <__func__.9543>: + 23dc0: 5f766c5f 70736964 7465675f 6665725f _lv_disp_get_ref + 23dd0: 61745f72 00006b73 742f2e2e 64726968 r_task..../third + 23de0: 74726170 766c2f79 732f6c67 6c2f6372 party/lvgl/src/l + 23df0: 6f635f76 6c2f6572 69645f76 632e7073 v_core/lv_disp.c + 23e00: 00000000 735f766c 615f7263 203a7463 ....lv_scr_act: + 23e10: 64206f6e 6c707369 72207961 73696765 no display regis + 23e20: 65726574 6f742064 74656720 73746920 tered to get its + 23e30: 74636120 6373202e 6e656572 00000000 act. screen.... + 23e40: 6c5f766c 72657961 706f745f 6f6e203a lv_layer_top: no + 23e50: 73696420 79616c70 67657220 65747369 display registe + 23e60: 20646572 67206f74 69207465 74207374 red to get its t + 23e70: 6c20706f 72657961 00000000 6c5f766c op layer....lv_l + 23e80: 72657961 7379735f 6f6e203a 73696420 ayer_sys: no dis + 23e90: 79616c70 67657220 65747369 20646572 play registered + 23ea0: 67206f74 69207465 73207374 202e7379 to get its sys. + 23eb0: 6579616c 00000072 645f766c 5f707369 layer...lv_disp_ + 23ec0: 69737361 735f6e67 65657263 74203a6e assign_screen: t + 23ed0: 74207972 7361206f 6e676973 6e206120 ry to assign a n + 23ee0: 732d6e6f 65657263 626f206e 7463656a on-screen object + 23ef0: 00000000 645f766c 5f707369 5f746567 ....lv_disp_get_ + 23f00: 63616e69 65766974 6d69745f 6e203a65 inactive_time: n + 23f10: 6964206f 616c7073 65722079 74736967 o display regist + 23f20: 64657265 00000000 645f766c 5f707369 ered....lv_disp_ + 23f30: 67697274 7463615f 74697669 6e203a79 trig_activity: n + 23f40: 6964206f 616c7073 65722079 74736967 o display regist + 23f50: 64657265 00000000 645f766c 5f707369 ered....lv_disp_ + 23f60: 5f746567 72666572 7361745f 6e203a6b get_refr_task: n + 23f70: 6964206f 616c7073 65722079 74736967 o display regist + 23f80: 64657265 00000000 ered.... + +00023f88 <__func__.9740>: + 23f88: 675f766c 70756f72 6572635f 00657461 lv_group_create. + +00023f98 <__func__.9754>: + 23f98: 675f766c 70756f72 6464615f 6a626f5f lv_group_add_obj + 23fa8: 00000000 742f2e2e 64726968 74726170 ....../thirdpart + 23fb8: 766c2f79 732f6c67 6c2f6372 6f635f76 y/lvgl/src/lv_co + 23fc8: 6c2f6572 72675f76 2e70756f 00000063 re/lv_group.c... + 23fd8: 2074754f 6d20666f 726f6d65 00000079 Out of memory... + 23fe8: 675f766c 70756f72 6464615f 6a626f5f lv_group_add_obj + 23ff8: 6874203a 626f2065 7463656a 20736920 : the object is + 24008: 65726c61 20796461 65646461 6f742064 already added to + 24018: 69687420 72672073 0070756f 675f766c this group.lv_g + 24028: 70756f72 6464615f 6a626f5f 7361203a roup_add_obj: as + 24038: 6e676973 6a626f20 20746365 61206f74 sign object to a + 24048: 746f206e 20726568 756f7267 00000070 n other group... + +00024058 <__func__.9914>: + 24058: 695f766c 0074696e lv_init. + +00024060 <__func__.9921>: + 24060: 645f766c 696e6965 00000074 lv_deinit... + +0002406c <__func__.9946>: + 2406c: 6f5f766c 645f6a62 615f6c65 636e7973 lv_obj_del_async + 2407c: 00000000 .... + +00024080 <__func__.10139>: + 24080: 6f5f766c 735f6a62 615f7465 5f6f7475 lv_obj_set_auto_ + 24090: 6c616572 006e6769 realign. + +00024098 <__func__.10148>: + 24098: 6f5f766c 735f6a62 655f7465 635f7478 lv_obj_set_ext_c + 240a8: 6b63696c 6572615f 00000061 lick_area... + +000240b4 <__func__.10276>: + 240b4: 6f5f766c 735f6a62 615f7465 685f7664 lv_obj_set_adv_h + 240c4: 65747469 00007473 ittest.. + +000240cc <__func__.10282>: + 240cc: 6f5f766c 735f6a62 635f7465 6b63696c lv_obj_set_click + 240dc: 00000000 .... + +000240e0 <__func__.10288>: + 240e0: 6f5f766c 735f6a62 745f7465 0000706f lv_obj_set_top.. + +000240f0 <__func__.10294>: + 240f0: 6f5f766c 735f6a62 645f7465 00676172 lv_obj_set_drag. + +00024100 <__func__.10300>: + 24100: 6f5f766c 735f6a62 645f7465 5f676172 lv_obj_set_drag_ + 24110: 00726964 dir. + +00024114 <__func__.10306>: + 24114: 6f5f766c 735f6a62 645f7465 5f676172 lv_obj_set_drag_ + 24124: 6f726874 00000077 throw... + +0002412c <__func__.10312>: + 2412c: 6f5f766c 735f6a62 645f7465 5f676172 lv_obj_set_drag_ + 2413c: 65726170 0000746e parent.. + +00024144 <__func__.10322>: + 24144: 6f5f766c 735f6a62 705f7465 6e657261 lv_obj_set_paren + 24154: 76655f74 00746e65 t_event. + +0002415c <__func__.10333>: + 2415c: 6f5f766c 615f6a62 705f6464 65746f72 lv_obj_add_prote + 2416c: 00007463 ct.. + +00024170 <__func__.10339>: + 24170: 6f5f766c 635f6a62 7261656c 6f72705f lv_obj_clear_pro + 24180: 74636574 00000000 tect.... + +00024188 <__func__.10390>: + 24188: 6f5f766c 735f6a62 655f7465 746e6576 lv_obj_set_event + 24198: 0062635f _cb. + +0002419c <__func__.10406>: + 2419c: 655f766c 746e6576 6e65735f 75665f64 lv_event_send_fu + 241ac: 0000636e nc.. + +000241b0 <__func__.10397>: + 241b0: 655f766c 746e6576 6e65735f 00000064 lv_event_send... + +000241c0 <__func__.10419>: + 241c0: 6f5f766c 735f6a62 735f7465 616e6769 lv_obj_set_signa + 241d0: 62635f6c 00000000 l_cb.... + +000241d8 <__func__.10431>: + 241d8: 6f5f766c 735f6a62 645f7465 67697365 lv_obj_set_desig + 241e8: 62635f6e 00000000 n_cb.... + +000241f0 <__func__.10437>: + 241f0: 6f5f766c 615f6a62 636f6c6c 5f657461 lv_obj_allocate_ + 24200: 5f747865 72747461 00000000 ext_attr.... + +0002420c <__func__.10443>: + 2420c: 6f5f766c 725f6a62 65726665 655f6873 lv_obj_refresh_e + 2421c: 645f7478 5f776172 00646170 xt_draw_pad. -0001b70c <__func__.10471>: - 1b70c: 6f5f766c 675f6a62 705f7465 6e657261 lv_obj_get_paren - 1b71c: 00000074 t... - -0001b720 <__func__.10448>: - 1b720: 6f5f766c 675f6a62 735f7465 65657263 lv_obj_get_scree - 1b730: 0000006e n... +00024228 <__func__.10471>: + 24228: 6f5f766c 675f6a62 705f7465 6e657261 lv_obj_get_paren + 24238: 00000074 t... + +0002423c <__func__.10448>: + 2423c: 6f5f766c 675f6a62 735f7465 65657263 lv_obj_get_scree + 2424c: 0000006e n... -0001b734 <__func__.10457>: - 1b734: 6f5f766c 675f6a62 645f7465 00707369 lv_obj_get_disp. +00024250 <__func__.10457>: + 24250: 6f5f766c 675f6a62 645f7465 00707369 lv_obj_get_disp. -0001b744 <__func__.10477>: - 1b744: 6f5f766c 675f6a62 635f7465 646c6968 lv_obj_get_child - 1b754: 00000000 .... +00024260 <__func__.10477>: + 24260: 6f5f766c 675f6a62 635f7465 646c6968 lv_obj_get_child + 24270: 00000000 .... -0001b758 <__func__.10328>: - 1b758: 6f5f766c 735f6a62 625f7465 5f657361 lv_obj_set_base_ - 1b768: 00726964 dir. +00024274 <__func__.10328>: + 24274: 6f5f766c 735f6a62 625f7465 5f657361 lv_obj_set_base_ + 24284: 00726964 dir. -0001b76c <__func__.10484>: - 1b76c: 6f5f766c 675f6a62 635f7465 646c6968 lv_obj_get_child - 1b77c: 6361625f 0000006b _back... +00024288 <__func__.10484>: + 24288: 6f5f766c 675f6a62 635f7465 646c6968 lv_obj_get_child + 24298: 6361625f 0000006b _back... -0001b784 <__func__.10490>: - 1b784: 6f5f766c 635f6a62 746e756f 6968635f lv_obj_count_chi - 1b794: 6572646c 0000006e ldren... +000242a0 <__func__.10490>: + 242a0: 6f5f766c 635f6a62 746e756f 6968635f lv_obj_count_chi + 242b0: 6572646c 0000006e ldren... -0001b79c <__func__.10500>: - 1b79c: 6f5f766c 635f6a62 746e756f 6968635f lv_obj_count_chi - 1b7ac: 6572646c 65725f6e 73727563 00657669 ldren_recursive. +000242b8 <__func__.10500>: + 242b8: 6f5f766c 635f6a62 746e756f 6968635f lv_obj_count_chi + 242c8: 6572646c 65725f6e 73727563 00657669 ldren_recursive. -0001b7bc <__func__.10511>: - 1b7bc: 6f5f766c 675f6a62 635f7465 64726f6f lv_obj_get_coord - 1b7cc: 00000073 s... +000242d8 <__func__.10511>: + 242d8: 6f5f766c 675f6a62 635f7465 64726f6f lv_obj_get_coord + 242e8: 00000073 s... -0001b7d0 <__func__.10524>: - 1b7d0: 6f5f766c 675f6a62 785f7465 00000000 lv_obj_get_x.... +000242ec <__func__.10524>: + 242ec: 6f5f766c 675f6a62 785f7465 00000000 lv_obj_get_x.... -0001b7e0 <__func__.10531>: - 1b7e0: 6f5f766c 675f6a62 795f7465 00000000 lv_obj_get_y.... +000242fc <__func__.10531>: + 242fc: 6f5f766c 675f6a62 795f7465 00000000 lv_obj_get_y.... -0001b7f0 <__func__.10538>: - 1b7f0: 6f5f766c 675f6a62 775f7465 68746469 lv_obj_get_width - 1b800: 00000000 .... +0002430c <__func__.10538>: + 2430c: 6f5f766c 675f6a62 775f7465 68746469 lv_obj_get_width + 2431c: 00000000 .... -0001b804 <__func__.10543>: - 1b804: 6f5f766c 675f6a62 685f7465 68676965 lv_obj_get_heigh - 1b814: 00000074 t... +00024320 <__func__.10543>: + 24320: 6f5f766c 675f6a62 685f7465 68676965 lv_obj_get_heigh + 24330: 00000074 t... -0001b818 <__func__.10588>: - 1b818: 6f5f766c 675f6a62 615f7465 5f6f7475 lv_obj_get_auto_ - 1b828: 6c616572 006e6769 realign. +00024334 <__func__.10588>: + 24334: 6f5f766c 675f6a62 615f7465 5f6f7475 lv_obj_get_auto_ + 24344: 6c616572 006e6769 realign. -0001b830 <__func__.10593>: - 1b830: 6f5f766c 675f6a62 655f7465 635f7478 lv_obj_get_ext_c - 1b840: 6b63696c 6461705f 66656c5f 00000074 lick_pad_left... +0002434c <__func__.10593>: + 2434c: 6f5f766c 675f6a62 655f7465 635f7478 lv_obj_get_ext_c + 2435c: 6b63696c 6461705f 66656c5f 00000074 lick_pad_left... -0001b850 <__func__.10598>: - 1b850: 6f5f766c 675f6a62 655f7465 635f7478 lv_obj_get_ext_c - 1b860: 6b63696c 6461705f 6769725f 00007468 lick_pad_right.. +0002436c <__func__.10598>: + 2436c: 6f5f766c 675f6a62 655f7465 635f7478 lv_obj_get_ext_c + 2437c: 6b63696c 6461705f 6769725f 00007468 lick_pad_right.. -0001b870 <__func__.10603>: - 1b870: 6f5f766c 675f6a62 655f7465 635f7478 lv_obj_get_ext_c - 1b880: 6b63696c 6461705f 706f745f 00000000 lick_pad_top.... +0002438c <__func__.10603>: + 2438c: 6f5f766c 675f6a62 655f7465 635f7478 lv_obj_get_ext_c + 2439c: 6b63696c 6461705f 706f745f 00000000 lick_pad_top.... -0001b890 <__func__.10608>: - 1b890: 6f5f766c 675f6a62 655f7465 635f7478 lv_obj_get_ext_c - 1b8a0: 6b63696c 6461705f 746f625f 006d6f74 lick_pad_bottom. +000243ac <__func__.10608>: + 243ac: 6f5f766c 675f6a62 655f7465 635f7478 lv_obj_get_ext_c + 243bc: 6b63696c 6461705f 746f625f 006d6f74 lick_pad_bottom. -0001b8b0 <__func__.10613>: - 1b8b0: 6f5f766c 675f6a62 655f7465 645f7478 lv_obj_get_ext_d - 1b8c0: 5f776172 00646170 raw_pad. +000243cc <__func__.10613>: + 243cc: 6f5f766c 675f6a62 655f7465 645f7478 lv_obj_get_ext_d + 243dc: 5f776172 00646170 raw_pad. -0001b8c8 <__func__.10162>: - 1b8c8: 6f5f766c 635f6a62 6e61656c 7974735f lv_obj_clean_sty - 1b8d8: 6c5f656c 00747369 le_list. +000243e4 <__func__.10162>: + 243e4: 6f5f766c 635f6a62 6e61656c 7974735f lv_obj_clean_sty + 243f4: 6c5f656c 00747369 le_list. -0001b8e0 <__func__.10700>: - 1b8e0: 6f5f766c 675f6a62 6c5f7465 6c61636f lv_obj_get_local - 1b8f0: 7974735f 0000656c _style.. +000243fc <__func__.10700>: + 243fc: 6f5f766c 675f6a62 6c5f7465 6c61636f lv_obj_get_local + 2440c: 7974735f 0000656c _style.. -0001b8f8 <__func__.10200>: - 1b8f8: 6f5f766c 725f6a62 766f6d65 74735f65 lv_obj_remove_st - 1b908: 5f656c79 61636f6c 72705f6c 0000706f yle_local_prop.. +00024414 <__func__.10200>: + 24414: 6f5f766c 725f6a62 766f6d65 74735f65 lv_obj_remove_st + 24424: 5f656c79 61636f6c 72705f6c 0000706f yle_local_prop.. -0001b918 <__func__.10706>: - 1b918: 6f5f766c 675f6a62 685f7465 65646469 lv_obj_get_hidde - 1b928: 0000006e n... +00024434 <__func__.10706>: + 24434: 6f5f766c 675f6a62 685f7465 65646469 lv_obj_get_hidde + 24444: 0000006e n... -0001b92c <__func__.9962>: - 1b92c: 6f5f766c 695f6a62 6c61766e 74616469 lv_obj_invalidat - 1b93c: 72615f65 00006165 e_area.. +00024448 <__func__.9962>: + 24448: 6f5f766c 695f6a62 6c61766e 74616469 lv_obj_invalidat + 24458: 72615f65 00006165 e_area.. -0001b944 <__func__.9977>: - 1b944: 6f5f766c 695f6a62 6c61766e 74616469 lv_obj_invalidat - 1b954: 00000065 e... +00024460 <__func__.9977>: + 24460: 6f5f766c 695f6a62 6c61766e 74616469 lv_obj_invalidat + 24470: 00000065 e... -0001b958 <__func__.9995>: - 1b958: 6f5f766c 6d5f6a62 5f65766f 65726f66 lv_obj_move_fore - 1b968: 756f7267 0000646e ground.. +00024474 <__func__.9995>: + 24474: 6f5f766c 6d5f6a62 5f65766f 65726f66 lv_obj_move_fore + 24484: 756f7267 0000646e ground.. -0001b970 <__func__.10001>: - 1b970: 6f5f766c 6d5f6a62 5f65766f 6b636162 lv_obj_move_back - 1b980: 756f7267 0000646e ground.. +0002448c <__func__.10001>: + 2448c: 6f5f766c 6d5f6a62 5f65766f 6b636162 lv_obj_move_back + 2449c: 756f7267 0000646e ground.. -0001b988 <__func__.10009>: - 1b988: 6f5f766c 735f6a62 705f7465 0000736f lv_obj_set_pos.. +000244a4 <__func__.10009>: + 244a4: 6f5f766c 735f6a62 705f7465 0000736f lv_obj_set_pos.. -0001b998 <__func__.10018>: - 1b998: 6f5f766c 735f6a62 785f7465 00000000 lv_obj_set_x.... +000244b4 <__func__.10018>: + 244b4: 6f5f766c 735f6a62 785f7465 00000000 lv_obj_set_x.... -0001b9a8 <__func__.10024>: - 1b9a8: 6f5f766c 735f6a62 795f7465 00000000 lv_obj_set_y.... +000244c4 <__func__.10024>: + 244c4: 6f5f766c 735f6a62 795f7465 00000000 lv_obj_set_y.... -0001b9b8 <__func__.10082>: - 1b9b8: 6f5f766c 615f6a62 6e67696c 00000000 lv_obj_align.... +000244d4 <__func__.10082>: + 244d4: 6f5f766c 615f6a62 6e67696c 00000000 lv_obj_align.... -0001b9c8 <__func__.10096>: - 1b9c8: 6f5f766c 615f6a62 6e67696c 69726f5f lv_obj_align_ori - 1b9d8: 00006f67 go.. +000244e4 <__func__.10096>: + 244e4: 6f5f766c 615f6a62 6e67696c 69726f5f lv_obj_align_ori + 244f4: 00006f67 go.. -0001b9dc <__func__.10133>: - 1b9dc: 6f5f766c 725f6a62 696c6165 00006e67 lv_obj_realign.. +000244f8 <__func__.10133>: + 244f8: 6f5f766c 725f6a62 696c6165 00006e67 lv_obj_realign.. -0001b9ec <__func__.10207>: - 1b9ec: 6f5f766c 725f6a62 65726665 735f6873 lv_obj_refresh_s - 1b9fc: 656c7974 00000000 tyle.... +00024508 <__func__.10207>: + 24508: 6f5f766c 725f6a62 65726665 735f6873 lv_obj_refresh_s + 24518: 656c7974 00000000 tyle.... -0001ba04 <__func__.10156>: - 1ba04: 6f5f766c 615f6a62 735f6464 656c7974 lv_obj_add_style - 1ba14: 00000000 .... +00024520 <__func__.10156>: + 24520: 6f5f766c 615f6a62 735f6464 656c7974 lv_obj_add_style + 24530: 00000000 .... -0001ba18 <__func__.10269>: - 1ba18: 6f5f766c 735f6a62 685f7465 65646469 lv_obj_set_hidde - 1ba28: 0000006e n... +00024534 <__func__.10269>: + 24534: 6f5f766c 735f6a62 685f7465 65646469 lv_obj_set_hidde + 24544: 0000006e n... -0001ba2c <__func__.10711>: - 1ba2c: 6f5f766c 675f6a62 615f7465 685f7664 lv_obj_get_adv_h - 1ba3c: 65747469 00007473 ittest.. +00024548 <__func__.10711>: + 24548: 6f5f766c 675f6a62 615f7465 685f7664 lv_obj_get_adv_h + 24558: 65747469 00007473 ittest.. -0001ba44 <__func__.10716>: - 1ba44: 6f5f766c 675f6a62 635f7465 6b63696c lv_obj_get_click - 1ba54: 00000000 .... +00024560 <__func__.10716>: + 24560: 6f5f766c 675f6a62 635f7465 6b63696c lv_obj_get_click + 24570: 00000000 .... -0001ba58 <__func__.10721>: - 1ba58: 6f5f766c 675f6a62 745f7465 0000706f lv_obj_get_top.. +00024574 <__func__.10721>: + 24574: 6f5f766c 675f6a62 745f7465 0000706f lv_obj_get_top.. -0001ba68 <__func__.10726>: - 1ba68: 6f5f766c 675f6a62 645f7465 00676172 lv_obj_get_drag. +00024584 <__func__.10726>: + 24584: 6f5f766c 675f6a62 645f7465 00676172 lv_obj_get_drag. -0001ba78 <__func__.10731>: - 1ba78: 6f5f766c 675f6a62 645f7465 5f676172 lv_obj_get_drag_ - 1ba88: 00726964 dir. +00024594 <__func__.10731>: + 24594: 6f5f766c 675f6a62 645f7465 5f676172 lv_obj_get_drag_ + 245a4: 00726964 dir. -0001ba8c <__func__.10736>: - 1ba8c: 6f5f766c 675f6a62 645f7465 5f676172 lv_obj_get_drag_ - 1ba9c: 6f726874 00000077 throw... +000245a8 <__func__.10736>: + 245a8: 6f5f766c 675f6a62 645f7465 5f676172 lv_obj_get_drag_ + 245b8: 6f726874 00000077 throw... -0001baa4 <__func__.10747>: - 1baa4: 6f5f766c 675f6a62 705f7465 6e657261 lv_obj_get_paren - 1bab4: 76655f74 00746e65 t_event. +000245c0 <__func__.10747>: + 245c0: 6f5f766c 675f6a62 705f7465 6e657261 lv_obj_get_paren + 245d0: 76655f74 00746e65 t_event. -0001babc <__func__.10752>: - 1babc: 6f5f766c 675f6a62 625f7465 5f657361 lv_obj_get_base_ - 1bacc: 00726964 dir. +000245d8 <__func__.10752>: + 245d8: 6f5f766c 675f6a62 625f7465 5f657361 lv_obj_get_base_ + 245e8: 00726964 dir. -0001bad0 <__func__.9928>: - 1bad0: 6f5f766c 635f6a62 74616572 00000065 lv_obj_create... +000245ec <__func__.9928>: + 245ec: 6f5f766c 635f6a62 74616572 00000065 lv_obj_create... -0001bae0 <__func__.9985>: - 1bae0: 6f5f766c 735f6a62 705f7465 6e657261 lv_obj_set_paren - 1baf0: 00000074 t... +000245fc <__func__.9985>: + 245fc: 6f5f766c 735f6a62 705f7465 6e657261 lv_obj_set_paren + 2460c: 00000074 t... -0001baf4 <__func__.10031>: - 1baf4: 6f5f766c 735f6a62 735f7465 00657a69 lv_obj_set_size. - -0001bb04 <__func__.10043>: - 1bb04: 6f5f766c 735f6a62 775f7465 68746469 lv_obj_set_width - 1bb14: 00000000 .... - -0001bb18 <__func__.10049>: - 1bb18: 6f5f766c 735f6a62 685f7465 68676965 lv_obj_set_heigh - 1bb28: 00000074 t... - -0001bb2c <__func__.10757>: - 1bb2c: 6f5f766c 675f6a62 705f7465 65746f72 lv_obj_get_prote - 1bb3c: 00007463 ct.. - -0001bb40 <__func__.10763>: - 1bb40: 6f5f766c 695f6a62 72705f73 6365746f lv_obj_is_protec - 1bb50: 00646574 ted. - -0001bb54 <__func__.10769>: - 1bb54: 6f5f766c 675f6a62 735f7465 65746174 lv_obj_get_state - 1bb64: 00000000 .... - -0001bb68 <__func__.10548>: - 1bb68: 6f5f766c 675f6a62 775f7465 68746469 lv_obj_get_width - 1bb78: 7469665f 00000000 _fit.... - -0001bb80 <__func__.10555>: - 1bb80: 6f5f766c 675f6a62 685f7465 68676965 lv_obj_get_heigh - 1bb90: 69665f74 00000074 t_fit... - -0001bb98 <__func__.10517>: - 1bb98: 6f5f766c 675f6a62 695f7465 72656e6e lv_obj_get_inner - 1bba8: 6f6f635f 00736472 0000ffff _coords..... - -0001bbb4 <__func__.10345>: - 1bbb4: 6f5f766c 735f6a62 735f7465 65746174 lv_obj_set_state - 1bbc4: 00000000 .... - -0001bbc8 <__func__.11002>: - 1bbc8: 6e617274 72635f73 65746165 00000000 trans_create.... - -0001bbd8 <__func__.10368>: - 1bbd8: 6f5f766c 615f6a62 735f6464 65746174 lv_obj_add_state - 1bbe8: 00000000 .... - -0001bbec <__func__.10375>: - 1bbec: 6f5f766c 635f6a62 7261656c 6174735f lv_obj_clear_sta - 1bbfc: 00006574 te.. - -0001bc00 <__func__.10775>: - 1bc00: 6f5f766c 675f6a62 735f7465 616e6769 lv_obj_get_signa - 1bc10: 62635f6c 00000000 l_cb.... - -0001bc18 <__func__.10780>: - 1bc18: 6f5f766c 675f6a62 645f7465 67697365 lv_obj_get_desig - 1bc28: 62635f6e 00000000 n_cb.... - -0001bc30 <__func__.10785>: - 1bc30: 6f5f766c 675f6a62 655f7465 746e6576 lv_obj_get_event - 1bc40: 0062635f _cb. - -0001bc44 <__func__.10790>: - 1bc44: 6f5f766c 675f6a62 655f7465 615f7478 lv_obj_get_ext_a - 1bc54: 00727474 ttr. - -0001bc58 <__func__.10796>: - 1bc58: 6f5f766c 675f6a62 745f7465 00657079 lv_obj_get_type. - -0001bc68 <__func__.10811>: - 1bc68: 6f5f766c 675f6a62 675f7465 70756f72 lv_obj_get_group - 1bc78: 00000000 .... - -0001bc7c <__func__.9935>: - 1bc7c: 6f5f766c 645f6a62 00006c65 lv_obj_del.. - -0001bc88 <__func__.10901>: - 1bc88: 6f5f766c 645f6a62 615f6c65 636e7973 lv_obj_del_async - 1bc98: 0062635f _cb. - -0001bc9c <__func__.9951>: - 1bc9c: 6f5f766c 635f6a62 6e61656c 00000000 lv_obj_clean.... - -0001bcac <__func__.10816>: - 1bcac: 6f5f766c 695f6a62 6f665f73 65737563 lv_obj_is_focuse - 1bcbc: 00000064 742f2e2e 64726968 74726170 d...../thirdpart - 1bccc: 766c2f79 732f6c67 6c2f6372 6f635f76 y/lvgl/src/lv_co - 1bcdc: 6c2f6572 626f5f76 00632e6a 695f766c re/lv_obj.c.lv_i - 1bcec: 3a74696e 726c6120 79646165 696e6920 nit: already ini - 1bcfc: 00646574 695f766c 2074696e 64616572 ted.lv_init read - 1bd0c: 00000079 645f766c 696e6965 6f642074 y...lv_deinit do - 1bd1c: 0000656e 4c4c554e 696f7020 7265746e ne..NULL pointer - 1bd2c: 00000000 735f766c 675f7263 645f7465 ....lv_scr_get_d - 1bd3c: 3a707369 72637320 206e6565 20746f6e isp: screen not - 1bd4c: 6e756f66 00000064 6f5f766c 735f6a62 found...lv_obj_s - 1bd5c: 625f7465 5f657361 3a726964 766e6920 et_base_dir: inv - 1bd6c: 64696c61 73616220 69642065 00000072 alid base dir... - 1bd7c: 6f5f766c 635f6a62 6e61656c 7974735f lv_obj_clean_sty - 1bd8c: 6c5f656c 3a747369 6e616320 66207427 le_list: can't f - 1bd9c: 20646e69 6c797473 69772065 60206874 ind style with ` - 1bdac: 74726170 00000060 6f5f766c 735f6a62 part`...lv_obj_s - 1bdbc: 705f7465 203a736f 20746f6e 6e616863 et_pos: not chan - 1bdcc: 676e6967 736f7020 6f697469 666f206e ging position of - 1bddc: 72637320 206e6565 656a626f 00007463 screen object.. - 1bdec: 6f5f766c 615f6a62 735f6464 656c7974 lv_obj_add_style - 1bdfc: 6163203a 2074276e 646e6966 79747320 : can't find sty - 1be0c: 7720656c 20687469 70797460 00006065 le with `type`.. - 1be1c: 6f5f766c 635f6a62 74616572 6e203a65 lv_obj_create: n - 1be2c: 6420746f 6c707369 63207961 74616572 ot display creat - 1be3c: 74206465 6f73206f 72616620 6f4e202e ed to so far. No - 1be4c: 616c7020 74206563 7361206f 6e676973 place to assign - 1be5c: 65687420 77656e20 72637320 006e6565 the new screen. - 1be6c: 656a624f 63207463 74616572 65722065 Object create re - 1be7c: 00796461 276e6143 65732074 68742074 ady.Can't set th - 1be8c: 61702065 746e6572 20666f20 63732061 e parent of a sc - 1be9c: 6e656572 00000000 276e6143 65732074 reen....Can't se - 1beac: 61702074 746e6572 203d3d20 4c4c554e t parent == NULL - 1bebc: 206f7420 6f206e61 63656a62 00000074 to an object... - 1becc: 6f5f766c 00006a62 lv_obj.. - -0001bed4 <__func__.9738>: - 1bed4: 725f766c 5f726665 61657261 00000000 lv_refr_area.... - 1bee4: 742f2e2e 64726968 74726170 766c2f79 ../thirdparty/lv - 1bef4: 732f6c67 6c2f6372 6f635f76 6c2f6572 gl/src/lv_core/l - 1bf04: 65725f76 632e7266 00000000 276e6143 v_refr.c....Can' - 1bf14: 65732074 44562074 65682042 74686769 t set VDB height - 1bf24: 69737520 7420676e 72206568 646e756f using the round - 1bf34: 6e756620 6f697463 28202e6e 6e6f7257 function. (Wron - 1bf44: 6f722067 5f646e75 6f206263 6f742072 g round_cb or to - 1bf54: 616d7320 56206c6c 00294244 small VDB). - -0001bf60 <__func__.9549>: - 1bf60: 5f766c5f 6c797473 696c5f65 725f7473 _lv_style_list_r - 1bf70: 766f6d65 74735f65 00656c79 emove_style. - -0001bf7c <__func__.9532>: - 1bf7c: 5f766c5f 6c797473 696c5f65 615f7473 _lv_style_list_a - 1bf8c: 735f6464 656c7974 00000000 dd_style.... - -0001bf98 <__func__.9777>: - 1bf98: 5f746567 6f6c6c61 6f6c5f63 5f6c6163 get_alloc_local_ - 1bfa8: 6c797473 00000065 style... - -0001bfb0 <__func__.9583>: - 1bfb0: 5f766c5f 6c797473 65735f65 6e695f74 _lv_style_set_in - 1bfc0: 00000074 t... - -0001bfc4 <__func__.9597>: - 1bfc4: 5f766c5f 6c797473 65735f65 6f635f74 _lv_style_set_co - 1bfd4: 00726f6c lor. - -0001bfd8 <__func__.9611>: - 1bfd8: 5f766c5f 6c797473 65735f65 706f5f74 _lv_style_set_op - 1bfe8: 00000061 a... - -0001bfec <__func__.9625>: - 1bfec: 5f766c5f 6c797473 65735f65 74705f74 _lv_style_set_pt - 1bffc: 00000072 r... - -0001c000 <__func__.9673>: - 1c000: 5f766c5f 6c797473 696c5f65 615f7473 _lv_style_list_a - 1c010: 745f6464 736e6172 7974735f 0000656c dd_trans_style.. - 1c020: 742f2e2e 64726968 74726170 766c2f79 ../thirdparty/lv - 1c030: 732f6c67 6c2f6372 6f635f76 6c2f6572 gl/src/lv_core/l - 1c040: 74735f76 2e656c79 00000063 735f766c v_style.c...lv_s - 1c050: 656c7974 73696c5f 65725f74 65766f6d tyle_list_remove - 1c060: 7974735f 203a656c 6c756f63 74276e64 _style: couldn't - 1c070: 61657220 636f6c6c 20657461 73616c63 reallocate clas - 1c080: 696c2073 00007473 735f766c 656c7974 s list..lv_style - 1c090: 73696c5f 64615f74 74735f64 3a656c79 _list_add_style: - 1c0a0: 756f6320 276e646c 64612074 68742064 couldn't add th - 1c0b0: 6c632065 00737361 5f746567 61636f6c e class.get_loca - 1c0c0: 74735f6c 3a656c79 756f6320 276e646c l_style: couldn' - 1c0d0: 72632074 65746165 636f6c20 73206c61 t create local s - 1c0e0: 656c7974 00000000 735f766c 656c7974 tyle....lv_style - 1c0f0: 73696c5f 64615f74 72745f64 5f736e61 _list_add_trans_ - 1c100: 6c797473 63203a65 646c756f 2074276e style: couldn't - 1c110: 61657263 74206574 736e6172 6f697469 create transitio - 1c120: 7473206e 00656c79 n style. - -0001c128 <__func__.9728>: - 1c128: 6c6c6966 656c625f 6465646e 00000000 fill_blended.... - -0001c138 <__func__.9860>: - 1c138: 5f70616d 6e656c62 00646564 742f2e2e map_blended.../t - 1c148: 64726968 74726170 766c2f79 732f6c67 hirdparty/lvgl/s - 1c158: 6c2f6372 72645f76 6c2f7761 72645f76 rc/lv_draw/lv_dr - 1c168: 625f7761 646e656c 0000632e 6c6c6966 aw_blend.c..fill - 1c178: 656c625f 6465646e 6e75203a 70707573 _blended: unsupp - 1c188: 6574726f 6c622064 20646e65 65646f6d orted blend mode - 1c198: 00000000 0000ffff ........ - -0001c1a0 <__func__.9554>: - 1c1a0: 645f766c 5f776172 00676d69 lv_draw_img. - -0001c1ac <__func__.9618>: - 1c1ac: 695f766c 645f676d 5f776172 65726f63 lv_img_draw_core - 1c1bc: 00000000 742f2e2e 64726968 74726170 ....../thirdpart - 1c1cc: 766c2f79 732f6c67 6c2f6372 72645f76 y/lvgl/src/lv_dr - 1c1dc: 6c2f7761 72645f76 695f7761 632e676d aw/lv_draw_img.c - 1c1ec: 00000000 67616d49 72642065 203a7761 ....Image draw: - 1c1fc: 20637273 4e207369 004c4c55 640a6f4e src is NULL.No.d - 1c20c: 00617461 67616d49 72642065 65207761 ata.Image draw e - 1c21c: 726f7272 00000000 67616d49 72642065 rror....Image dr - 1c22c: 63207761 74276e61 61657220 68742064 aw can't read th - 1c23c: 696c2065 0000656e e line.. - -0001c244 <_lv_bpp1_opa_table>: - 1c244: 0000ff00 .... - -0001c248 <_lv_bpp2_opa_table>: - 1c248: ffaa5500 .U.. - -0001c24c <_lv_bpp4_opa_table>: - 1c24c: 33221100 77665544 bbaa9988 ffeeddcc .."3DUfw........ - -0001c25c <_lv_bpp8_opa_table>: - 1c25c: 03020100 07060504 0b0a0908 0f0e0d0c ................ - 1c26c: 13121110 17161514 1b1a1918 1f1e1d1c ................ - 1c27c: 23222120 27262524 2b2a2928 2f2e2d2c !"#$%&'()*+,-./ - 1c28c: 33323130 37363534 3b3a3938 3f3e3d3c 0123456789:;<=>? - 1c29c: 43424140 47464544 4b4a4948 4f4e4d4c @ABCDEFGHIJKLMNO - 1c2ac: 53525150 57565554 5b5a5958 5f5e5d5c PQRSTUVWXYZ[\]^_ - 1c2bc: 63626160 67666564 6b6a6968 6f6e6d6c `abcdefghijklmno - 1c2cc: 73727170 77767574 7b7a7978 7f7e7d7c pqrstuvwxyz{|}~. - 1c2dc: 83828180 87868584 8b8a8988 8f8e8d8c ................ - 1c2ec: 93929190 97969594 9b9a9998 9f9e9d9c ................ - 1c2fc: a3a2a1a0 a7a6a5a4 abaaa9a8 afaeadac ................ - 1c30c: b3b2b1b0 b7b6b5b4 bbbab9b8 bfbebdbc ................ - 1c31c: c3c2c1c0 c7c6c5c4 cbcac9c8 cfcecdcc ................ - 1c32c: d3d2d1d0 d7d6d5d4 dbdad9d8 dfdedddc ................ - 1c33c: e3e2e1e0 e7e6e5e4 ebeae9e8 efeeedec ................ - 1c34c: f3f2f1f0 f7f6f5f4 fbfaf9f8 fffefdfc ................ - -0001c35c <__func__.9614>: - 1c35c: 645f766c 5f776172 7474656c 00007265 lv_draw_letter.. - -0001c36c <__func__.9696>: - 1c36c: 77617264 74656c5f 5f726574 70627573 draw_letter_subp - 1c37c: 00000078 x... - -0001c380 <__func__.9641>: - 1c380: 77617264 74656c5f 5f726574 6d726f6e draw_letter_norm - 1c390: 00006c61 al.. - -0001c394 <_lv_bpp3_opa_table>: - 1c394: 6d492400 ffdbb692 742f2e2e 64726968 .$Im....../third - 1c3a4: 74726170 766c2f79 732f6c67 6c2f6372 party/lvgl/src/l - 1c3b4: 72645f76 6c2f7761 72645f76 6c5f7761 v_draw/lv_draw_l - 1c3c4: 6c656261 0000632e 645f766c 5f776172 abel.c..lv_draw_ - 1c3d4: 7474656c 203a7265 746e6f66 20736920 letter: font is - 1c3e4: 4c4c554e 00000000 645f766c 5f776172 NULL....lv_draw_ - 1c3f4: 7474656c 203a7265 70796c67 73642068 letter: glyph ds - 1c404: 6e202e63 6620746f 646e756f 00000000 c. not found.... - 1c414: 645f766c 5f776172 7474656c 203a7265 lv_draw_letter: - 1c424: 72616863 65746361 20732772 6d746962 character's bitm - 1c434: 6e207061 6620746f 646e756f 00000000 ap not found.... - 1c444: 645f766c 5f776172 7474656c 203a7265 lv_draw_letter: - 1c454: 61766e69 2064696c 20707062 20746f6e invalid bpp not - 1c464: 6e756f66 00000064 645f766c 5f776172 found...lv_draw_ - 1c474: 7474656c 203a7265 61766e69 2064696c letter: invalid - 1c484: 00707062 bpp. - -0001c488 : - 1c488: 81808080 83828281 87868584 8d8c8a89 ................ - 1c498: 9593918f 9e9b9997 a7a5a2a0 b2afadaa ................ - 1c4a8: 000000b5 .... - -0001c4ac <__func__.9580>: - 1c4ac: 645f766c 5f776172 6b73616d 6464615f lv_draw_mask_add - 1c4bc: 00000000 .... - -0001c4c0 <__func__.9645>: - 1c4c0: 645f766c 5f776172 6b73616d 676e615f lv_draw_mask_ang - 1c4d0: 695f656c 0074696e 742f2e2e 64726968 le_init.../third - 1c4e0: 74726170 766c2f79 732f6c67 6c2f6372 party/lvgl/src/l - 1c4f0: 72645f76 6c2f7761 72645f76 6d5f7761 v_draw/lv_draw_m - 1c500: 2e6b7361 00000063 6d5f766c 5f6b7361 ask.c...lv_mask_ - 1c510: 3a646461 206f6e20 63616c70 6f742065 add: no place to - 1c520: 64646120 65687420 73616d20 0000006b add the mask... - 1c530: 78656e55 74636570 73206465 74726174 Unexpected start - 1c540: 676e615f 0000656c 78656e55 74636570 _angle..Unexpect - 1c550: 65206465 615f646e 656c676e 00000000 ed end_angle.... - 1c560: 0000ffff .... - -0001c564 <__func__.9886>: - 1c564: 77617264 7461705f 6e726574 00000000 draw_pattern.... - 1c574: 742f2e2e 64726968 74726170 766c2f79 ../thirdparty/lv - 1c584: 732f6c67 6c2f6372 72645f76 6c2f7761 gl/src/lv_draw/l - 1c594: 72645f76 725f7761 2e746365 00000063 v_draw_rect.c... - 1c5a4: 77617264 676d695f 6163203a 2074276e draw_img: can't - 1c5b4: 20746567 67616d69 6e692065 00006f66 get image info.. - 1c5c4: 695f766c 645f676d 67697365 69203a6e lv_img_design: i - 1c5d4: 6567616d 756f7320 20656372 65707974 mage source type - 1c5e4: 20736920 6e6b6e75 006e776f 33221100 is unknown..."3 - 1c5f4: 77665544 bbaa9988 ffeeddcc DUfw........ - -0001c600 <__func__.7156>: - 1c600: 695f766c 625f676d 735f6675 705f7465 lv_img_buf_set_p - 1c610: 74656c61 00006574 alette.. - -0001c618 <__func__.9528>: - 1c618: 5f766c5f 5f676d69 68636163 706f5f65 _lv_img_cache_op - 1c628: 00006e65 en.. - -0001c62c <__func__.9548>: - 1c62c: 695f766c 635f676d 65686361 7465735f lv_img_cache_set - 1c63c: 7a69735f 00000065 742f2e2e 64726968 _size...../third - 1c64c: 74726170 766c2f79 732f6c67 6c2f6372 party/lvgl/src/l - 1c65c: 72645f76 6c2f7761 6d695f76 61635f67 v_draw/lv_img_ca - 1c66c: 2e656863 00000063 695f766c 635f676d che.c...lv_img_c - 1c67c: 65686361 65706f5f 74203a6e 63206568 ache_open: the c - 1c68c: 65686361 7a697320 73692065 00003020 ache size is 0.. - 1c69c: 67616d69 72642065 203a7761 68636163 image draw: cach - 1c6ac: 696d2065 202c7373 736f6c63 6e612065 e miss, close an - 1c6bc: 65722064 20657375 65206e61 7972746e d reuse an entry - 1c6cc: 00000000 67616d69 72642065 203a7761 ....image draw: - 1c6dc: 68636163 696d2065 202c7373 68636163 cache miss, cach - 1c6ec: 74206465 6e61206f 706d6520 65207974 ed to an empty e - 1c6fc: 7972746e 00000000 67616d49 72642065 ntry....Image dr - 1c70c: 63207761 6f6e6e61 706f2074 74206e65 aw cannot open t - 1c71c: 69206568 6567616d 73657220 6372756f he image resourc - 1c72c: 00000065 e... - -0001c730 <__func__.9619>: - 1c730: 695f766c 645f676d 646f6365 625f7265 lv_img_decoder_b - 1c740: 746c6975 5f6e695f 6f666e69 00000000 uilt_in_info.... - -0001c750 <__func__.9626>: - 1c750: 695f766c 645f676d 646f6365 625f7265 lv_img_decoder_b - 1c760: 746c6975 5f6e695f 6e65706f 00000000 uilt_in_open.... - -0001c770 <__func__.9673>: - 1c770: 695f766c 645f676d 646f6365 625f7265 lv_img_decoder_b - 1c780: 746c6975 5f6e695f 656e696c 7572745f uilt_in_line_tru - 1c790: 6f635f65 00726f6c 33221100 77665544 e_color..."3DUfw - 1c7a0: bbaa9988 ffeeddcc ........ - -0001c7a8 <__func__.9656>: - 1c7a8: 695f766c 645f676d 646f6365 625f7265 lv_img_decoder_b - 1c7b8: 746c6975 5f6e695f 64616572 6e696c5f uilt_in_read_lin - 1c7c8: 00000065 e... - -0001c7cc <__func__.9588>: - 1c7cc: 695f766c 645f676d 646f6365 635f7265 lv_img_decoder_c - 1c7dc: 74616572 00000065 reate... - -0001c7e4 <__func__.9550>: - 1c7e4: 5f766c5f 5f676d69 6f636564 5f726564 _lv_img_decoder_ - 1c7f4: 74696e69 00000000 742f2e2e 64726968 init....../third - 1c804: 74726170 766c2f79 732f6c67 6c2f6372 party/lvgl/src/l - 1c814: 72645f76 6c2f7761 6d695f76 65645f67 v_draw/lv_img_de - 1c824: 65646f63 00632e72 67616d49 65672065 coder.c.Image ge - 1c834: 6e692074 67206f66 72207465 20646165 t info get read - 1c844: 656c6966 61656820 00726564 67616d49 file header.Imag - 1c854: 65672065 6e692074 66206f66 646e756f e get info found - 1c864: 6b6e7520 6e776f6e 63727320 70797420 unknown src typ - 1c874: 00000065 006e6962 6c697542 6e692d74 e...bin.Built-in - 1c884: 616d6920 64206567 646f6365 63207265 image decoder c - 1c894: 74276e61 65706f20 6874206e 69662065 an't open the fi - 1c8a4: 0000656c 5f676d69 6f636564 5f726564 le..img_decoder_ - 1c8b4: 6c697562 6e695f74 65706f5f 6f203a6e built_in_open: o - 1c8c4: 6f207475 656d2066 79726f6d 00000000 ut of memory.... - 1c8d4: 67616d49 65642065 65646f63 706f2072 Image decoder op - 1c8e4: 203a6e65 6e6b6e75 206e776f 6f6c6f63 en: unknown colo - 1c8f4: 6f662072 74616d72 00000000 6c697542 r format....Buil - 1c904: 6e692d74 616d6920 64206567 646f6365 t-in image decod - 1c914: 73207265 206b6565 6c696166 00006465 er seek failed.. - 1c924: 6c697542 6e692d74 616d6920 64206567 Built-in image d - 1c934: 646f6365 72207265 20646165 6c696166 ecoder read fail - 1c944: 00006465 6c697542 6e692d74 616d6920 ed..Built-in ima - 1c954: 64206567 646f6365 72207265 20646165 ge decoder read - 1c964: 20746f6e 70707573 7374726f 65687420 not supports the - 1c974: 6c6f6320 6620726f 616d726f 00000074 color format... - 1c984: 695f766c 645f676d 646f6365 695f7265 lv_img_decoder_i - 1c994: 3a74696e 74756f20 20666f20 6f6d656d nit: out of memo - 1c9a4: 00007972 ry.. - -0001c9a8 <__func__.9652>: - 1c9a8: 665f766c 5f746e6f 5f746567 6d746962 lv_font_get_bitm - 1c9b8: 665f7061 745f746d 00007478 742f2e2e ap_fmt_txt..../t - 1c9c8: 64726968 74726170 766c2f79 732f6c67 hirdparty/lvgl/s - 1c9d8: 6c2f6372 6f665f76 6c2f746e 6f665f76 rc/lv_font/lv_fo - 1c9e8: 665f746e 745f746d 632e7478 00000000 nt_fmt_txt.c.... - -0001c9f8 : - 1c9f8: 0001ca08 0001d654 0001d5b8 0000313d ....T.......=1.. - -0001ca08 : - 1ca08: 00000100 00000000 00000100 00000003 ................ - 1ca18: 00000200 00000000 00000000 00000000 ................ - 1ca28: 00010000 00000000 00000000 00000000 ................ - 1ca38: 000c0100 0000fa07 f1f20000 04060c02 ................ - 1ca48: 010d02f6 0008030b 00000000 00000000 ................ - 1ca58: 020f0000 000000fe 00000000 00000000 ................ - 1ca68: f8000500 00000000 0504fb00 00fd0000 ................ - 1ca78: fd0003fe fbfffd00 00000000 fd0000fd ................ - 1ca88: fd0000fc 0000fb00 00000000 fd000000 ................ - 1ca98: 00fc00fd 00e100f9 0500fb00 fb000008 ................ - 1caa8: 05080303 000005fc 000000f1 00000000 ................ - 1cab8: 00000000 000000f7 00000000 00000000 ................ - 1cac8: f9000000 f600f3fd 000000fe 000a0100 ................ - 1cad8: 01fffef8 0000fc00 0000edfe 00000000 ................ - 1cae8: 00000000 0afeec00 00000000 00000000 ................ - 1caf8: 00000000 000000f6 00000000 08000000 ................ - 1cb08: 00000300 000000fb 00000000 00000000 ................ - 1cb18: 00000000 020a0000 00000001 00000000 ................ +00024610 <__func__.10031>: + 24610: 6f5f766c 735f6a62 735f7465 00657a69 lv_obj_set_size. + +00024620 <__func__.10043>: + 24620: 6f5f766c 735f6a62 775f7465 68746469 lv_obj_set_width + 24630: 00000000 .... + +00024634 <__func__.10049>: + 24634: 6f5f766c 735f6a62 685f7465 68676965 lv_obj_set_heigh + 24644: 00000074 t... + +00024648 <__func__.10757>: + 24648: 6f5f766c 675f6a62 705f7465 65746f72 lv_obj_get_prote + 24658: 00007463 ct.. + +0002465c <__func__.10763>: + 2465c: 6f5f766c 695f6a62 72705f73 6365746f lv_obj_is_protec + 2466c: 00646574 ted. + +00024670 <__func__.10769>: + 24670: 6f5f766c 675f6a62 735f7465 65746174 lv_obj_get_state + 24680: 00000000 .... + +00024684 <__func__.10548>: + 24684: 6f5f766c 675f6a62 775f7465 68746469 lv_obj_get_width + 24694: 7469665f 00000000 _fit.... + +0002469c <__func__.10555>: + 2469c: 6f5f766c 675f6a62 685f7465 68676965 lv_obj_get_heigh + 246ac: 69665f74 00000074 t_fit... + +000246b4 <__func__.10517>: + 246b4: 6f5f766c 675f6a62 695f7465 72656e6e lv_obj_get_inner + 246c4: 6f6f635f 00736472 0000ffff _coords..... + +000246d0 <__func__.10345>: + 246d0: 6f5f766c 735f6a62 735f7465 65746174 lv_obj_set_state + 246e0: 00000000 .... + +000246e4 <__func__.11002>: + 246e4: 6e617274 72635f73 65746165 00000000 trans_create.... + +000246f4 <__func__.10368>: + 246f4: 6f5f766c 615f6a62 735f6464 65746174 lv_obj_add_state + 24704: 00000000 .... + +00024708 <__func__.10375>: + 24708: 6f5f766c 635f6a62 7261656c 6174735f lv_obj_clear_sta + 24718: 00006574 te.. + +0002471c <__func__.10775>: + 2471c: 6f5f766c 675f6a62 735f7465 616e6769 lv_obj_get_signa + 2472c: 62635f6c 00000000 l_cb.... + +00024734 <__func__.10780>: + 24734: 6f5f766c 675f6a62 645f7465 67697365 lv_obj_get_desig + 24744: 62635f6e 00000000 n_cb.... + +0002474c <__func__.10785>: + 2474c: 6f5f766c 675f6a62 655f7465 746e6576 lv_obj_get_event + 2475c: 0062635f _cb. + +00024760 <__func__.10790>: + 24760: 6f5f766c 675f6a62 655f7465 615f7478 lv_obj_get_ext_a + 24770: 00727474 ttr. + +00024774 <__func__.10796>: + 24774: 6f5f766c 675f6a62 745f7465 00657079 lv_obj_get_type. + +00024784 <__func__.10811>: + 24784: 6f5f766c 675f6a62 675f7465 70756f72 lv_obj_get_group + 24794: 00000000 .... + +00024798 <__func__.9935>: + 24798: 6f5f766c 645f6a62 00006c65 lv_obj_del.. + +000247a4 <__func__.10901>: + 247a4: 6f5f766c 645f6a62 615f6c65 636e7973 lv_obj_del_async + 247b4: 0062635f _cb. + +000247b8 <__func__.9951>: + 247b8: 6f5f766c 635f6a62 6e61656c 00000000 lv_obj_clean.... + +000247c8 <__func__.10816>: + 247c8: 6f5f766c 695f6a62 6f665f73 65737563 lv_obj_is_focuse + 247d8: 00000064 742f2e2e 64726968 74726170 d...../thirdpart + 247e8: 766c2f79 732f6c67 6c2f6372 6f635f76 y/lvgl/src/lv_co + 247f8: 6c2f6572 626f5f76 00632e6a 695f766c re/lv_obj.c.lv_i + 24808: 3a74696e 726c6120 79646165 696e6920 nit: already ini + 24818: 00646574 695f766c 2074696e 64616572 ted.lv_init read + 24828: 00000079 645f766c 696e6965 6f642074 y...lv_deinit do + 24838: 0000656e 4c4c554e 696f7020 7265746e ne..NULL pointer + 24848: 00000000 735f766c 675f7263 645f7465 ....lv_scr_get_d + 24858: 3a707369 72637320 206e6565 20746f6e isp: screen not + 24868: 6e756f66 00000064 6f5f766c 735f6a62 found...lv_obj_s + 24878: 625f7465 5f657361 3a726964 766e6920 et_base_dir: inv + 24888: 64696c61 73616220 69642065 00000072 alid base dir... + 24898: 6f5f766c 635f6a62 6e61656c 7974735f lv_obj_clean_sty + 248a8: 6c5f656c 3a747369 6e616320 66207427 le_list: can't f + 248b8: 20646e69 6c797473 69772065 60206874 ind style with ` + 248c8: 74726170 00000060 6f5f766c 735f6a62 part`...lv_obj_s + 248d8: 705f7465 203a736f 20746f6e 6e616863 et_pos: not chan + 248e8: 676e6967 736f7020 6f697469 666f206e ging position of + 248f8: 72637320 206e6565 656a626f 00007463 screen object.. + 24908: 6f5f766c 615f6a62 735f6464 656c7974 lv_obj_add_style + 24918: 6163203a 2074276e 646e6966 79747320 : can't find sty + 24928: 7720656c 20687469 70797460 00006065 le with `type`.. + 24938: 6f5f766c 635f6a62 74616572 6e203a65 lv_obj_create: n + 24948: 6420746f 6c707369 63207961 74616572 ot display creat + 24958: 74206465 6f73206f 72616620 6f4e202e ed to so far. No + 24968: 616c7020 74206563 7361206f 6e676973 place to assign + 24978: 65687420 77656e20 72637320 006e6565 the new screen. + 24988: 656a624f 63207463 74616572 65722065 Object create re + 24998: 00796461 276e6143 65732074 68742074 ady.Can't set th + 249a8: 61702065 746e6572 20666f20 63732061 e parent of a sc + 249b8: 6e656572 00000000 276e6143 65732074 reen....Can't se + 249c8: 61702074 746e6572 203d3d20 4c4c554e t parent == NULL + 249d8: 206f7420 6f206e61 63656a62 00000074 to an object... + 249e8: 6f5f766c 00006a62 lv_obj.. + +000249f0 <__func__.9738>: + 249f0: 725f766c 5f726665 61657261 00000000 lv_refr_area.... + 24a00: 742f2e2e 64726968 74726170 766c2f79 ../thirdparty/lv + 24a10: 732f6c67 6c2f6372 6f635f76 6c2f6572 gl/src/lv_core/l + 24a20: 65725f76 632e7266 00000000 276e6143 v_refr.c....Can' + 24a30: 65732074 44562074 65682042 74686769 t set VDB height + 24a40: 69737520 7420676e 72206568 646e756f using the round + 24a50: 6e756620 6f697463 28202e6e 6e6f7257 function. (Wron + 24a60: 6f722067 5f646e75 6f206263 6f742072 g round_cb or to + 24a70: 616d7320 56206c6c 00294244 small VDB). + +00024a7c <__func__.9549>: + 24a7c: 5f766c5f 6c797473 696c5f65 725f7473 _lv_style_list_r + 24a8c: 766f6d65 74735f65 00656c79 emove_style. + +00024a98 <__func__.9532>: + 24a98: 5f766c5f 6c797473 696c5f65 615f7473 _lv_style_list_a + 24aa8: 735f6464 656c7974 00000000 dd_style.... + +00024ab4 <__func__.9777>: + 24ab4: 5f746567 6f6c6c61 6f6c5f63 5f6c6163 get_alloc_local_ + 24ac4: 6c797473 00000065 style... + +00024acc <__func__.9583>: + 24acc: 5f766c5f 6c797473 65735f65 6e695f74 _lv_style_set_in + 24adc: 00000074 t... + +00024ae0 <__func__.9597>: + 24ae0: 5f766c5f 6c797473 65735f65 6f635f74 _lv_style_set_co + 24af0: 00726f6c lor. + +00024af4 <__func__.9611>: + 24af4: 5f766c5f 6c797473 65735f65 706f5f74 _lv_style_set_op + 24b04: 00000061 a... + +00024b08 <__func__.9625>: + 24b08: 5f766c5f 6c797473 65735f65 74705f74 _lv_style_set_pt + 24b18: 00000072 r... + +00024b1c <__func__.9673>: + 24b1c: 5f766c5f 6c797473 696c5f65 615f7473 _lv_style_list_a + 24b2c: 745f6464 736e6172 7974735f 0000656c dd_trans_style.. + 24b3c: 742f2e2e 64726968 74726170 766c2f79 ../thirdparty/lv + 24b4c: 732f6c67 6c2f6372 6f635f76 6c2f6572 gl/src/lv_core/l + 24b5c: 74735f76 2e656c79 00000063 735f766c v_style.c...lv_s + 24b6c: 656c7974 73696c5f 65725f74 65766f6d tyle_list_remove + 24b7c: 7974735f 203a656c 6c756f63 74276e64 _style: couldn't + 24b8c: 61657220 636f6c6c 20657461 73616c63 reallocate clas + 24b9c: 696c2073 00007473 735f766c 656c7974 s list..lv_style + 24bac: 73696c5f 64615f74 74735f64 3a656c79 _list_add_style: + 24bbc: 756f6320 276e646c 64612074 68742064 couldn't add th + 24bcc: 6c632065 00737361 5f746567 61636f6c e class.get_loca + 24bdc: 74735f6c 3a656c79 756f6320 276e646c l_style: couldn' + 24bec: 72632074 65746165 636f6c20 73206c61 t create local s + 24bfc: 656c7974 00000000 735f766c 656c7974 tyle....lv_style + 24c0c: 73696c5f 64615f74 72745f64 5f736e61 _list_add_trans_ + 24c1c: 6c797473 63203a65 646c756f 2074276e style: couldn't + 24c2c: 61657263 74206574 736e6172 6f697469 create transitio + 24c3c: 7473206e 00656c79 n style. + +00024c44 <__func__.9728>: + 24c44: 6c6c6966 656c625f 6465646e 00000000 fill_blended.... + +00024c54 <__func__.9860>: + 24c54: 5f70616d 6e656c62 00646564 742f2e2e map_blended.../t + 24c64: 64726968 74726170 766c2f79 732f6c67 hirdparty/lvgl/s + 24c74: 6c2f6372 72645f76 6c2f7761 72645f76 rc/lv_draw/lv_dr + 24c84: 625f7761 646e656c 0000632e 6c6c6966 aw_blend.c..fill + 24c94: 656c625f 6465646e 6e75203a 70707573 _blended: unsupp + 24ca4: 6574726f 6c622064 20646e65 65646f6d orted blend mode + 24cb4: 00000000 0000ffff ........ + +00024cbc <__func__.9554>: + 24cbc: 645f766c 5f776172 00676d69 lv_draw_img. + +00024cc8 <__func__.9618>: + 24cc8: 695f766c 645f676d 5f776172 65726f63 lv_img_draw_core + 24cd8: 00000000 742f2e2e 64726968 74726170 ....../thirdpart + 24ce8: 766c2f79 732f6c67 6c2f6372 72645f76 y/lvgl/src/lv_dr + 24cf8: 6c2f7761 72645f76 695f7761 632e676d aw/lv_draw_img.c + 24d08: 00000000 67616d49 72642065 203a7761 ....Image draw: + 24d18: 20637273 4e207369 004c4c55 640a6f4e src is NULL.No.d + 24d28: 00617461 67616d49 72642065 65207761 ata.Image draw e + 24d38: 726f7272 00000000 67616d49 72642065 rror....Image dr + 24d48: 63207761 74276e61 61657220 68742064 aw can't read th + 24d58: 696c2065 0000656e e line.. + +00024d60 <_lv_bpp1_opa_table>: + 24d60: 0000ff00 .... + +00024d64 <_lv_bpp2_opa_table>: + 24d64: ffaa5500 .U.. + +00024d68 <_lv_bpp4_opa_table>: + 24d68: 33221100 77665544 bbaa9988 ffeeddcc .."3DUfw........ + +00024d78 <_lv_bpp8_opa_table>: + 24d78: 03020100 07060504 0b0a0908 0f0e0d0c ................ + 24d88: 13121110 17161514 1b1a1918 1f1e1d1c ................ + 24d98: 23222120 27262524 2b2a2928 2f2e2d2c !"#$%&'()*+,-./ + 24da8: 33323130 37363534 3b3a3938 3f3e3d3c 0123456789:;<=>? + 24db8: 43424140 47464544 4b4a4948 4f4e4d4c @ABCDEFGHIJKLMNO + 24dc8: 53525150 57565554 5b5a5958 5f5e5d5c PQRSTUVWXYZ[\]^_ + 24dd8: 63626160 67666564 6b6a6968 6f6e6d6c `abcdefghijklmno + 24de8: 73727170 77767574 7b7a7978 7f7e7d7c pqrstuvwxyz{|}~. + 24df8: 83828180 87868584 8b8a8988 8f8e8d8c ................ + 24e08: 93929190 97969594 9b9a9998 9f9e9d9c ................ + 24e18: a3a2a1a0 a7a6a5a4 abaaa9a8 afaeadac ................ + 24e28: b3b2b1b0 b7b6b5b4 bbbab9b8 bfbebdbc ................ + 24e38: c3c2c1c0 c7c6c5c4 cbcac9c8 cfcecdcc ................ + 24e48: d3d2d1d0 d7d6d5d4 dbdad9d8 dfdedddc ................ + 24e58: e3e2e1e0 e7e6e5e4 ebeae9e8 efeeedec ................ + 24e68: f3f2f1f0 f7f6f5f4 fbfaf9f8 fffefdfc ................ + +00024e78 <__func__.9614>: + 24e78: 645f766c 5f776172 7474656c 00007265 lv_draw_letter.. + +00024e88 <__func__.9696>: + 24e88: 77617264 74656c5f 5f726574 70627573 draw_letter_subp + 24e98: 00000078 x... + +00024e9c <__func__.9641>: + 24e9c: 77617264 74656c5f 5f726574 6d726f6e draw_letter_norm + 24eac: 00006c61 al.. + +00024eb0 <_lv_bpp3_opa_table>: + 24eb0: 6d492400 ffdbb692 742f2e2e 64726968 .$Im....../third + 24ec0: 74726170 766c2f79 732f6c67 6c2f6372 party/lvgl/src/l + 24ed0: 72645f76 6c2f7761 72645f76 6c5f7761 v_draw/lv_draw_l + 24ee0: 6c656261 0000632e 645f766c 5f776172 abel.c..lv_draw_ + 24ef0: 7474656c 203a7265 746e6f66 20736920 letter: font is + 24f00: 4c4c554e 00000000 645f766c 5f776172 NULL....lv_draw_ + 24f10: 7474656c 203a7265 70796c67 73642068 letter: glyph ds + 24f20: 6e202e63 6620746f 646e756f 00000000 c. not found.... + 24f30: 645f766c 5f776172 7474656c 203a7265 lv_draw_letter: + 24f40: 72616863 65746361 20732772 6d746962 character's bitm + 24f50: 6e207061 6620746f 646e756f 00000000 ap not found.... + 24f60: 645f766c 5f776172 7474656c 203a7265 lv_draw_letter: + 24f70: 61766e69 2064696c 20707062 20746f6e invalid bpp not + 24f80: 6e756f66 00000064 645f766c 5f776172 found...lv_draw_ + 24f90: 7474656c 203a7265 61766e69 2064696c letter: invalid + 24fa0: 00707062 bpp. + +00024fa4 : + 24fa4: 81808080 83828281 87868584 8d8c8a89 ................ + 24fb4: 9593918f 9e9b9997 a7a5a2a0 b2afadaa ................ + 24fc4: 000000b5 .... + +00024fc8 <__func__.9580>: + 24fc8: 645f766c 5f776172 6b73616d 6464615f lv_draw_mask_add + 24fd8: 00000000 .... + +00024fdc <__func__.9645>: + 24fdc: 645f766c 5f776172 6b73616d 676e615f lv_draw_mask_ang + 24fec: 695f656c 0074696e 742f2e2e 64726968 le_init.../third + 24ffc: 74726170 766c2f79 732f6c67 6c2f6372 party/lvgl/src/l + 2500c: 72645f76 6c2f7761 72645f76 6d5f7761 v_draw/lv_draw_m + 2501c: 2e6b7361 00000063 6d5f766c 5f6b7361 ask.c...lv_mask_ + 2502c: 3a646461 206f6e20 63616c70 6f742065 add: no place to + 2503c: 64646120 65687420 73616d20 0000006b add the mask... + 2504c: 78656e55 74636570 73206465 74726174 Unexpected start + 2505c: 676e615f 0000656c 78656e55 74636570 _angle..Unexpect + 2506c: 65206465 615f646e 656c676e 00000000 ed end_angle.... + 2507c: 0000ffff .... + +00025080 <__func__.9886>: + 25080: 77617264 7461705f 6e726574 00000000 draw_pattern.... + 25090: 742f2e2e 64726968 74726170 766c2f79 ../thirdparty/lv + 250a0: 732f6c67 6c2f6372 72645f76 6c2f7761 gl/src/lv_draw/l + 250b0: 72645f76 725f7761 2e746365 00000063 v_draw_rect.c... + 250c0: 77617264 676d695f 6163203a 2074276e draw_img: can't + 250d0: 20746567 67616d69 6e692065 00006f66 get image info.. + 250e0: 695f766c 645f676d 67697365 69203a6e lv_img_design: i + 250f0: 6567616d 756f7320 20656372 65707974 mage source type + 25100: 20736920 6e6b6e75 006e776f 33221100 is unknown..."3 + 25110: 77665544 bbaa9988 ffeeddcc DUfw........ + +0002511c <__func__.7156>: + 2511c: 695f766c 625f676d 735f6675 705f7465 lv_img_buf_set_p + 2512c: 74656c61 00006574 alette.. + +00025134 <__func__.9528>: + 25134: 5f766c5f 5f676d69 68636163 706f5f65 _lv_img_cache_op + 25144: 00006e65 en.. + +00025148 <__func__.9548>: + 25148: 695f766c 635f676d 65686361 7465735f lv_img_cache_set + 25158: 7a69735f 00000065 742f2e2e 64726968 _size...../third + 25168: 74726170 766c2f79 732f6c67 6c2f6372 party/lvgl/src/l + 25178: 72645f76 6c2f7761 6d695f76 61635f67 v_draw/lv_img_ca + 25188: 2e656863 00000063 695f766c 635f676d che.c...lv_img_c + 25198: 65686361 65706f5f 74203a6e 63206568 ache_open: the c + 251a8: 65686361 7a697320 73692065 00003020 ache size is 0.. + 251b8: 67616d69 72642065 203a7761 68636163 image draw: cach + 251c8: 696d2065 202c7373 736f6c63 6e612065 e miss, close an + 251d8: 65722064 20657375 65206e61 7972746e d reuse an entry + 251e8: 00000000 67616d69 72642065 203a7761 ....image draw: + 251f8: 68636163 696d2065 202c7373 68636163 cache miss, cach + 25208: 74206465 6e61206f 706d6520 65207974 ed to an empty e + 25218: 7972746e 00000000 67616d49 72642065 ntry....Image dr + 25228: 63207761 6f6e6e61 706f2074 74206e65 aw cannot open t + 25238: 69206568 6567616d 73657220 6372756f he image resourc + 25248: 00000065 e... + +0002524c <__func__.9619>: + 2524c: 695f766c 645f676d 646f6365 625f7265 lv_img_decoder_b + 2525c: 746c6975 5f6e695f 6f666e69 00000000 uilt_in_info.... + +0002526c <__func__.9626>: + 2526c: 695f766c 645f676d 646f6365 625f7265 lv_img_decoder_b + 2527c: 746c6975 5f6e695f 6e65706f 00000000 uilt_in_open.... + +0002528c <__func__.9673>: + 2528c: 695f766c 645f676d 646f6365 625f7265 lv_img_decoder_b + 2529c: 746c6975 5f6e695f 656e696c 7572745f uilt_in_line_tru + 252ac: 6f635f65 00726f6c 33221100 77665544 e_color..."3DUfw + 252bc: bbaa9988 ffeeddcc ........ + +000252c4 <__func__.9656>: + 252c4: 695f766c 645f676d 646f6365 625f7265 lv_img_decoder_b + 252d4: 746c6975 5f6e695f 64616572 6e696c5f uilt_in_read_lin + 252e4: 00000065 e... + +000252e8 <__func__.9588>: + 252e8: 695f766c 645f676d 646f6365 635f7265 lv_img_decoder_c + 252f8: 74616572 00000065 reate... + +00025300 <__func__.9550>: + 25300: 5f766c5f 5f676d69 6f636564 5f726564 _lv_img_decoder_ + 25310: 74696e69 00000000 742f2e2e 64726968 init....../third + 25320: 74726170 766c2f79 732f6c67 6c2f6372 party/lvgl/src/l + 25330: 72645f76 6c2f7761 6d695f76 65645f67 v_draw/lv_img_de + 25340: 65646f63 00632e72 67616d49 65672065 coder.c.Image ge + 25350: 6e692074 67206f66 72207465 20646165 t info get read + 25360: 656c6966 61656820 00726564 67616d49 file header.Imag + 25370: 65672065 6e692074 66206f66 646e756f e get info found + 25380: 6b6e7520 6e776f6e 63727320 70797420 unknown src typ + 25390: 00000065 006e6962 6c697542 6e692d74 e...bin.Built-in + 253a0: 616d6920 64206567 646f6365 63207265 image decoder c + 253b0: 74276e61 65706f20 6874206e 69662065 an't open the fi + 253c0: 0000656c 5f676d69 6f636564 5f726564 le..img_decoder_ + 253d0: 6c697562 6e695f74 65706f5f 6f203a6e built_in_open: o + 253e0: 6f207475 656d2066 79726f6d 00000000 ut of memory.... + 253f0: 67616d49 65642065 65646f63 706f2072 Image decoder op + 25400: 203a6e65 6e6b6e75 206e776f 6f6c6f63 en: unknown colo + 25410: 6f662072 74616d72 00000000 6c697542 r format....Buil + 25420: 6e692d74 616d6920 64206567 646f6365 t-in image decod + 25430: 73207265 206b6565 6c696166 00006465 er seek failed.. + 25440: 6c697542 6e692d74 616d6920 64206567 Built-in image d + 25450: 646f6365 72207265 20646165 6c696166 ecoder read fail + 25460: 00006465 6c697542 6e692d74 616d6920 ed..Built-in ima + 25470: 64206567 646f6365 72207265 20646165 ge decoder read + 25480: 20746f6e 70707573 7374726f 65687420 not supports the + 25490: 6c6f6320 6620726f 616d726f 00000074 color format... + 254a0: 695f766c 645f676d 646f6365 695f7265 lv_img_decoder_i + 254b0: 3a74696e 74756f20 20666f20 6f6d656d nit: out of memo + 254c0: 00007972 ry.. + +000254c4 <__func__.9652>: + 254c4: 665f766c 5f746e6f 5f746567 6d746962 lv_font_get_bitm + 254d4: 665f7061 745f746d 00007478 742f2e2e ap_fmt_txt..../t + 254e4: 64726968 74726170 766c2f79 732f6c67 hirdparty/lvgl/s + 254f4: 6c2f6372 6f665f76 6c2f746e 6f665f76 rc/lv_font/lv_fo + 25504: 665f746e 745f746d 632e7478 00000000 nt_fmt_txt.c.... + +00025514 : + 25514: 00025524 00026170 000260d4 0000313d $U..pa...`..=1.. + +00025524 : + 25524: 00000100 00000000 00000100 00000003 ................ + 25534: 00000200 00000000 00000000 00000000 ................ + 25544: 00010000 00000000 00000000 00000000 ................ + 25554: 000c0100 0000fa07 f1f20000 04060c02 ................ + 25564: 010d02f6 0008030b 00000000 00000000 ................ + 25574: 020f0000 000000fe 00000000 00000000 ................ + 25584: f8000500 00000000 0504fb00 00fd0000 ................ + 25594: fd0003fe fbfffd00 00000000 fd0000fd ................ + 255a4: fd0000fc 0000fb00 00000000 fd000000 ................ + 255b4: 00fc00fd 00e100f9 0500fb00 fb000008 ................ + 255c4: 05080303 000005fc 000000f1 00000000 ................ + 255d4: 00000000 000000f7 00000000 00000000 ................ + 255e4: f9000000 f600f3fd 000000fe 000a0100 ................ + 255f4: 01fffef8 0000fc00 0000edfe 00000000 ................ + 25604: 00000000 0afeec00 00000000 00000000 ................ + 25614: 00000000 000000f6 00000000 08000000 ................ + 25624: 00000300 000000fb 00000000 00000000 ................ + 25634: 00000000 020a0000 00000001 00000000 ................ ... - 1cb48: 000000f7 00000000 00000000 00000000 ................ - 1cb58: 00000000 02000000 fd080305 fd050000 ................ - 1cb68: 0702ddf8 00fd0105 00080009 00e80008 ................ - 1cb78: 080008fd 000305fd 00fd0100 0014fc00 ................ - 1cb88: 00080014 0804030b f7000000 00000000 ................ - 1cb98: 0200fe01 02fbfdfb 0000fd00 0000f600 ................ + 25664: 000000f7 00000000 00000000 00000000 ................ + 25674: 00000000 02000000 fd080305 fd050000 ................ + 25684: 0702ddf8 00fd0105 00080009 00e80008 ................ + 25694: 080008fd 000305fd 00fd0100 0014fc00 ................ + 256a4: 00080014 0804030b f7000000 00000000 ................ + 256b4: 0200fe01 02fbfdfb 0000fd00 0000f600 ................ ... - 1cbb0: 0000ef00 00000000 00000000 00000000 ................ - 1cbc0: 00f20100 000000f0 1900fe00 0303fdfd ................ - 1cbd0: 03fd00fe 00f20000 00000000 00000000 ................ - 1cbe0: 00e70000 00000003 00000000 00000000 ................ - 1cbf0: 0f00f000 00f70000 e7ef0008 0008fbef ................ - 1cc00: 0300ef00 00fc00fa 00000000 00000000 ................ - 1cc10: 07000000 0000e108 00000000 00000000 ................ - 1cc20: 000c0000 00000002 02020000 ff00fbfd ................ - 1cc30: 0000fdff 000000fe 00fe00fb fa00fbfa ................ - 1cc40: 00fbf8f8 00fb00fb fe000000 00030000 ................ - 1cc50: 0100fd02 03000000 000000fe ff0303fe ................ - 1cc60: fb000000 0000ff00 01000000 00fe0300 ................ - 1cc70: 00fc00fd 0800fe00 00fd0000 00000000 ................ - 1cc80: fefe01ff 00fd0000 000000fd 00000000 ................ - 1cc90: ffff0000 00fdfd00 00000000 fe000001 ................ - 1cca0: fdfdfd00 00000000 00000000 0000fe00 ................ - 1ccb0: fdfe0000 f800fc00 0005f8fe 0503fb00 ................ - 1ccc0: fffa0007 f4ff00fd f202fe03 01000003 ................ - 1ccd0: fef200f3 f300feea 00070500 00000003 ................ - 1cce0: fb000100 00f800fd 00fd0000 00fd0000 ................ - 1ccf0: 00000000 ff00ffff 000000fd 00000000 ................ - 1cd00: fe00fdfd 0000fefd 000000fd 00000000 ................ - 1cd10: 00000000 fd00fefe fb00fe00 fd000003 ................ - 1cd20: 00030301 00000000 0000fe00 02000000 ................ - 1cd30: 00fd0000 00fdfefd 00000000 00020000 ................ - 1cd40: 000000fe 00fcfd00 fe0800fb 0000f801 ................ - 1cd50: f5f3f307 fe0003fb fb00fbef fb04fb00 ................ - 1cd60: 00f900f0 02ff0100 000300fe f300f6f8 ................ - 1cd70: f8fafbfa fbfff9fd 010002f9 0000fd00 ................ - 1cd80: 03000200 00000000 00000000 fd000000 ................ - 1cd90: ff00ff00 fafc00fd f800fffa 00000000 ................ - 1cda0: 00fe0000 01000000 000000fe 00000003 ................ - 1cdb0: 00000000 00000c00 00000000 00000002 ................ - 1cdc0: 000000fd 00000000 00000000 000300fb ................ + 256cc: 0000ef00 00000000 00000000 00000000 ................ + 256dc: 00f20100 000000f0 1900fe00 0303fdfd ................ + 256ec: 03fd00fe 00f20000 00000000 00000000 ................ + 256fc: 00e70000 00000003 00000000 00000000 ................ + 2570c: 0f00f000 00f70000 e7ef0008 0008fbef ................ + 2571c: 0300ef00 00fc00fa 00000000 00000000 ................ + 2572c: 07000000 0000e108 00000000 00000000 ................ + 2573c: 000c0000 00000002 02020000 ff00fbfd ................ + 2574c: 0000fdff 000000fe 00fe00fb fa00fbfa ................ + 2575c: 00fbf8f8 00fb00fb fe000000 00030000 ................ + 2576c: 0100fd02 03000000 000000fe ff0303fe ................ + 2577c: fb000000 0000ff00 01000000 00fe0300 ................ + 2578c: 00fc00fd 0800fe00 00fd0000 00000000 ................ + 2579c: fefe01ff 00fd0000 000000fd 00000000 ................ + 257ac: ffff0000 00fdfd00 00000000 fe000001 ................ + 257bc: fdfdfd00 00000000 00000000 0000fe00 ................ + 257cc: fdfe0000 f800fc00 0005f8fe 0503fb00 ................ + 257dc: fffa0007 f4ff00fd f202fe03 01000003 ................ + 257ec: fef200f3 f300feea 00070500 00000003 ................ + 257fc: fb000100 00f800fd 00fd0000 00fd0000 ................ + 2580c: 00000000 ff00ffff 000000fd 00000000 ................ + 2581c: fe00fdfd 0000fefd 000000fd 00000000 ................ + 2582c: 00000000 fd00fefe fb00fe00 fd000003 ................ + 2583c: 00030301 00000000 0000fe00 02000000 ................ + 2584c: 00fd0000 00fdfefd 00000000 00020000 ................ + 2585c: 000000fe 00fcfd00 fe0800fb 0000f801 ................ + 2586c: f5f3f307 fe0003fb fb00fbef fb04fb00 ................ + 2587c: 00f900f0 02ff0100 000300fe f300f6f8 ................ + 2588c: f8fafbfa fbfff9fd 010002f9 0000fd00 ................ + 2589c: 03000200 00000000 00000000 fd000000 ................ + 258ac: ff00ff00 fafc00fd f800fffa 00000000 ................ + 258bc: 00fe0000 01000000 000000fe 00000003 ................ + 258cc: 00000000 00000c00 00000000 00000002 ................ + 258dc: 000000fd 00000000 00000000 000300fb ................ ... - 1cddc: 000000fe 000000fb 00f8f300 f3fc0000 ................ - 1cdec: 03fd0000 0000f900 00000000 00000000 ................ - 1cdfc: fb0000fc 00000000 00000000 00000000 ................ - 1ce0c: 00fb0003 03000000 fbfb0200 fdfdfd00 ................ - 1ce1c: 00000000 00f80000 fdfc00fd f8fafa00 ................ - 1ce2c: 00fb00fe 000000f8 00001400 fd000001 ................ - 1ce3c: f5000300 00000000 08fbe800 00f5fe08 ................ - 1ce4c: f300fc03 ee03fdff 040003fd f8f7fcf7 ................ - 1ce5c: f10000f5 00000f00 000000ff f9fdffff ................ - 1ce6c: 00e8fff8 00000000 00000000 00000001 ................ + 258f8: 000000fe 000000fb 00f8f300 f3fc0000 ................ + 25908: 03fd0000 0000f900 00000000 00000000 ................ + 25918: fb0000fc 00000000 00000000 00000000 ................ + 25928: 00fb0003 03000000 fbfb0200 fdfdfd00 ................ + 25938: 00000000 00f80000 fdfc00fd f8fafa00 ................ + 25948: 00fb00fe 000000f8 00001400 fd000001 ................ + 25958: f5000300 00000000 08fbe800 00f5fe08 ................ + 25968: f300fc03 ee03fdff 040003fd f8f7fcf7 ................ + 25978: f10000f5 00000f00 000000ff f9fdffff ................ + 25988: 00e8fff8 00000000 00000000 00000001 ................ ... - 1ce88: ff00fd00 0000fcfd 00fd00fb 00000000 ................ + 259a4: ff00fd00 0000fcfd 00fd00fb 00000000 ................ ... - 1cea0: 00ff0000 050000fb fa0003ff f9fffe03 ................ - 1ceb0: fdfd00fd fcfc00fe fffe0000 00fdfcfe ................ - 1cec0: 0300fd00 00fa00fe 00fb0000 fcfc00fc ................ - 1ced0: 00000003 00000000 0003fb00 fdfe00fc ................ - 1cee0: fefefef8 fffdfeff 00000000 fefefd00 ................ - 1cef0: 00000000 fe00fe03 fe000000 fdfefefd ................ - 1cf00: 0a0200fe 00f900ff fd0005fe 0004fdf5 ................ - 1cf10: 03fcf400 fe0002fc fc00f8fe fc000001 ................ - 1cf20: 03000000 00fbfb03 fdfcfdfc 01fc00fd ................ - 1cf30: 0008fcfb 00000000 00000000 00000003 ................ + 259bc: 00ff0000 050000fb fa0003ff f9fffe03 ................ + 259cc: fdfd00fd fcfc00fe fffe0000 00fdfcfe ................ + 259dc: 0300fd00 00fa00fe 00fb0000 fcfc00fc ................ + 259ec: 00000003 00000000 0003fb00 fdfe00fc ................ + 259fc: fefefef8 fffdfeff 00000000 fefefd00 ................ + 25a0c: 00000000 fe00fe03 fe000000 fdfefefd ................ + 25a1c: 0a0200fe 00f900ff fd0005fe 0004fdf5 ................ + 25a2c: 03fcf400 fe0002fc fc00f8fe fc000001 ................ + 25a3c: 03000000 00fbfb03 fdfcfdfc 01fc00fd ................ + 25a4c: 0008fcfb 00000000 00000000 00000003 ................ ... - 1cf54: 000000fc 00000000 00000000 00000000 ................ + 25a70: 000000fc 00000000 00000000 00000000 ................ ... - 1cf80: 000000fe 00000000 00000000 00000000 ................ + 25a9c: 000000fe 00000000 00000000 00000000 ................ ... - 1cf9c: fdfe0000 00000000 00000000 00000000 ................ - 1cfac: fd0000fc fdfd0000 00000000 000000fd ................ - 1cfbc: 0000ff00 fe000000 00000000 00fb00fc ................ - 1cfcc: 00f80000 0105fa02 0000f4fe f600fdfa ................ - 1cfdc: 0000f9fa f6f6fdf5 00f900f4 00fd1102 ................ - 1cfec: fdfffdfa f7fbf9fc 00fdfaf6 0100fe00 ................ - 1cffc: feee0000 f7fa0608 00f80100 05fdfef3 ................ - 1d00c: 0001fde8 f3fdef00 0000edfd 010f00ee ................ - 1d01c: 0000fe00 feff0000 ef00fef6 00000000 ................ - 1d02c: 00fe00f8 00f4f9ff f8fcff00 00fe00fd ................ - 1d03c: f4000000 fef8f8fd fcfdfafc f8fefb00 ................ - 1d04c: fbfd00fc 0100fbfd 00f8fe00 00fb0005 ................ - 1d05c: 03000000 0afb0200 fdfdfd00 00000000 ................ - 1d06c: 00f80000 fdfc00fd f8fafa00 02fb00fe ................ - 1d07c: 0000000a 00001400 fd000001 00000300 ................ - 1d08c: 00000000 00ff0000 00000000 0000fbfe ................ - 1d09c: ff000000 fd000000 fb0000fd fb0000fd ................ - 1d0ac: 00ff0400 00000000 00000100 05040000 ................ - 1d0bc: f800fe02 f80800fc 0afbfbf8 feea0305 ................ - 1d0cc: fd00fd05 00f7fd03 fefd03fd 0000fef8 ................ - 1d0dc: f9000508 07fdf200 fd01f6fd 0afdf8f8 ................ - 1d0ec: 00fc0003 080200f9 faf6f7fa ed010008 ................ - 1d0fc: fefc03fe f7fa00fa 00fefcfc fdfbfa00 ................ - 1d10c: fd060800 fcf200f2 fff1f700 f9f8fcf8 ................ - 1d11c: fd000007 00fefb00 0400fbfd 000003f8 ................ - 1d12c: fafd00f2 faf8fefc f800faf8 f8fbfafd ................ - 1d13c: 010000fd f800fc0c fbfd00fd f6f9f9fa ................ - 1d14c: 0005fbfd fdf300fc f7f80502 fd08f8fb ................ - 1d15c: 05fbe801 00f7fcfa fdfdf5f8 f8fbfdfe ................ - 1d16c: 080000ff 00effe07 f606faf1 f5f7fbef ................ - 1d17c: 0005f8f3 fd000000 fd030000 05fb0205 ................ - 1d18c: fff80000 0100ff00 0000fe01 00000000 ................ - 1d19c: 000000fd 01080200 0000fd00 fefe0000 ................ - 1d1ac: 000000fd 00000201 00020000 000a00fe ................ - 1d1bc: fd010105 00000500 00000200 00000000 ................ - 1d1cc: 00000000 07000800 00000000 00000000 ................ - 1d1dc: 00000000 00f10000 080004fd 03190000 ................ - 1d1ec: 0303fbfb 00f301fe 00f10c00 00000000 ................ - 1d1fc: 00000000 0aef0000 00000024 00000000 ........$....... - 1d20c: 00000000 0000f100 00000000 00000000 ................ + 25ab8: fdfe0000 00000000 00000000 00000000 ................ + 25ac8: fd0000fc fdfd0000 00000000 000000fd ................ + 25ad8: 0000ff00 fe000000 00000000 00fb00fc ................ + 25ae8: 00f80000 0105fa02 0000f4fe f600fdfa ................ + 25af8: 0000f9fa f6f6fdf5 00f900f4 00fd1102 ................ + 25b08: fdfffdfa f7fbf9fc 00fdfaf6 0100fe00 ................ + 25b18: feee0000 f7fa0608 00f80100 05fdfef3 ................ + 25b28: 0001fde8 f3fdef00 0000edfd 010f00ee ................ + 25b38: 0000fe00 feff0000 ef00fef6 00000000 ................ + 25b48: 00fe00f8 00f4f9ff f8fcff00 00fe00fd ................ + 25b58: f4000000 fef8f8fd fcfdfafc f8fefb00 ................ + 25b68: fbfd00fc 0100fbfd 00f8fe00 00fb0005 ................ + 25b78: 03000000 0afb0200 fdfdfd00 00000000 ................ + 25b88: 00f80000 fdfc00fd f8fafa00 02fb00fe ................ + 25b98: 0000000a 00001400 fd000001 00000300 ................ + 25ba8: 00000000 00ff0000 00000000 0000fbfe ................ + 25bb8: ff000000 fd000000 fb0000fd fb0000fd ................ + 25bc8: 00ff0400 00000000 00000100 05040000 ................ + 25bd8: f800fe02 f80800fc 0afbfbf8 feea0305 ................ + 25be8: fd00fd05 00f7fd03 fefd03fd 0000fef8 ................ + 25bf8: f9000508 07fdf200 fd01f6fd 0afdf8f8 ................ + 25c08: 00fc0003 080200f9 faf6f7fa ed010008 ................ + 25c18: fefc03fe f7fa00fa 00fefcfc fdfbfa00 ................ + 25c28: fd060800 fcf200f2 fff1f700 f9f8fcf8 ................ + 25c38: fd000007 00fefb00 0400fbfd 000003f8 ................ + 25c48: fafd00f2 faf8fefc f800faf8 f8fbfafd ................ + 25c58: 010000fd f800fc0c fbfd00fd f6f9f9fa ................ + 25c68: 0005fbfd fdf300fc f7f80502 fd08f8fb ................ + 25c78: 05fbe801 00f7fcfa fdfdf5f8 f8fbfdfe ................ + 25c88: 080000ff 00effe07 f606faf1 f5f7fbef ................ + 25c98: 0005f8f3 fd000000 fd030000 05fb0205 ................ + 25ca8: fff80000 0100ff00 0000fe01 00000000 ................ + 25cb8: 000000fd 01080200 0000fd00 fefe0000 ................ + 25cc8: 000000fd 00000201 00020000 000a00fe ................ + 25cd8: fd010105 00000500 00000200 00000000 ................ + 25ce8: 00000000 07000800 00000000 00000000 ................ + 25cf8: 00000000 00f10000 080004fd 03190000 ................ + 25d08: 0303fbfb 00f301fe 00f10c00 00000000 ................ + 25d18: 00000000 0aef0000 00000024 00000000 ........$....... + 25d28: 00000000 0000f100 00000000 00000000 ................ ... - 1d22c: fb0000fc 000000fe 00000000 00000000 ................ + 25d48: fb0000fc 000000fe 00000000 00000000 ................ ... - 1d244: 00f900fe 00000100 fefb2103 03f90708 .........!...... - 1d254: 03030000 000000fd 00000000 00000000 ................ - 1d264: 000007df 00000000 00000000 00000000 ................ - 1d274: f9000000 f9000000 00000000 0000fffa ................ - 1d284: fd00fa00 0000f400 00000000 00000000 ................ - 1d294: 0000ef00 00010000 00000000 0000fd00 ................ - 1d2a4: 00fc00fb 000000f9 00fd03fc fafdf900 ................ - 1d2b4: 00f90000 00f400fd eb0000fd f7fdf6fb ................ - 1d2c4: 00ef0000 0000fff9 00000000 fbfc0000 ................ - 1d2d4: 0000fcfe 00fa0000 05fd03fa fefafe00 ................ - 1d2e4: fd00fbfc f902feff 000000ff 00fcfee9 ................ - 1d2f4: f4fe00fa fe0000fe 000000fe fe000200 ................ - 1d304: 0004fefc 00000000 00000000 00000000 ................ + 25d60: 00f900fe 00000100 fefb2103 03f90708 .........!...... + 25d70: 03030000 000000fd 00000000 00000000 ................ + 25d80: 000007df 00000000 00000000 00000000 ................ + 25d90: f9000000 f9000000 00000000 0000fffa ................ + 25da0: fd00fa00 0000f400 00000000 00000000 ................ + 25db0: 0000ef00 00010000 00000000 0000fd00 ................ + 25dc0: 00fc00fb 000000f9 00fd03fc fafdf900 ................ + 25dd0: 00f90000 00f400fd eb0000fd f7fdf6fb ................ + 25de0: 00ef0000 0000fff9 00000000 fbfc0000 ................ + 25df0: 0000fcfe 00fa0000 05fd03fa fefafe00 ................ + 25e00: fd00fbfc f902feff 000000ff 00fcfee9 ................ + 25e10: f4fe00fa fe0000fe 000000fe fe000200 ................ + 25e20: 0004fefc 00000000 00000000 00000000 ................ ... - 1d330: 00030000 00000000 fe00fa00 fb000000 ................ - 1d340: 00000003 00fbfdf9 fd00f900 0000f400 ................ - 1d350: 00e70000 00f3f7fb fe00ef00 000000fc ................ - 1d360: 00000000 fffcfd00 000001fc 0800fd04 ................ - 1d370: f8fdfd0d 06040d03 030b03f9 00070607 ................ + 25e4c: 00030000 00000000 fe00fa00 fb000000 ................ + 25e5c: 00000003 00fbfdf9 fd00f900 0000f400 ................ + 25e6c: 00e70000 00f3f7fb fe00ef00 000000fc ................ + 25e7c: 00000000 fffcfd00 000001fc 0800fd04 ................ + 25e8c: f8fdfd0d 06040d03 030b03f9 00070607 ................ ... - 1d388: 0c100000 fe00fdfb 00140b14 00030000 ................ - 1d398: 00000900 000000fc 00000000 00fe0000 ................ - 1d3a8: 00000000 04000000 00000000 f6fefdea ................ - 1d3b8: ef0000f3 00000000 00000000 00000000 ................ - 1d3c8: 00000000 0000fc00 00000000 fe000000 ................ + 25ea4: 0c100000 fe00fdfb 00140b14 00030000 ................ + 25eb4: 00000900 000000fc 00000000 00fe0000 ................ + 25ec4: 00000000 04000000 00000000 f6fefdea ................ + 25ed4: ef0000f3 00000000 00000000 00000000 ................ + 25ee4: 00000000 0000fc00 00000000 fe000000 ................ ... - 1d3e0: 00000004 fefdea00 0000f3f6 000000f6 ................ + 25efc: 00000004 fefdea00 0000f3f6 000000f6 ................ ... - 1d400: 000000fe fd0003fa f8030502 03feff00 ................ - 1d410: 00000200 00fa0000 00fbfefe 1000f6fe ................ - 1d420: fefa00fd 00fcfe00 fdfbf9fd fc000000 ................ + 25f1c: 000000fe fd0003fa f8030502 03feff00 ................ + 25f2c: 00000200 00fa0000 00fbfefe 1000f6fe ................ + 25f3c: fefa00fd 00fcfe00 fdfbf9fd fc000000 ................ ... - 1d438: 0000fe00 00000000 00040000 ea000000 ................ - 1d448: f3f6fefd 00ef0000 00000000 00000d00 ................ + 25f54: 0000fe00 00000000 00040000 ea000000 ................ + 25f64: f3f6fefd 00ef0000 00000000 00000d00 ................ ... - 1d460: fdf800fc fdfe08fe 01fe01f6 0601f9fe ................ - 1d470: 02010201 00fdf6fa f5f9fbf6 fbfc00f6 ................ - 1d480: fefefdfd fe00fefd 040004ff 000800fe ................ + 25f7c: fdf800fc fdfe08fe 01fe01f6 0601f9fe ................ + 25f8c: 02010201 00fdf6fa f5f9fbf6 fbfc00f6 ................ + 25f9c: fefefdfd fe00fefd 040004ff 000800fe ................ ... - 1d498: fe000000 0000fdfd 00ff00f9 000000fc ................ + 25fb4: fe000000 0000fdfd 00ff00f9 000000fc ................ ... - 1d4b0: 000000f1 00000000 00000000 fd00fdfd ................ - 1d4c0: 00000000 fc0000fe fc0003fd f900fefb ................ - 1d4d0: fdfefafe 0000fc00 00000000 00000000 ................ - 1d4e0: 0800ef00 00fb0000 fd000000 0000fd00 ................ - 1d4f0: fe0000ff 0000fa00 f8f8fd0b ff030302 ................ - 1d500: 020402f9 fe080208 f60000f9 f9f80000 ................ - 1d510: 00fb0000 fc00fcfd fe00fc00 f8fe0004 ................ - 1d520: 000009fd 00fb00fe 00fa0300 0002fd03 ................ - 1d530: fe00f800 03fd00ff 000000fe 00fafdf6 ................ - 1d540: f40000f8 00fd0900 000200fb f8fd00fd ................ - 1d550: 0003fd00 fe000000 fd030000 fd000001 ................ - 1d560: 00fd00fe 00000000 00000000 00000000 ................ - 1d570: 00000000 000600f0 0000fe00 00010000 ................ - 1d580: 0000fdfd 06000500 00000000 01f1f000 ................ - 1d590: f604080b 09000b02 00000500 00000000 ................ - 1d5a0: 00000000 00000e00 00000000 00000000 ................ + 25fcc: 000000f1 00000000 00000000 fd00fdfd ................ + 25fdc: 00000000 fc0000fe fc0003fd f900fefb ................ + 25fec: fdfefafe 0000fc00 00000000 00000000 ................ + 25ffc: 0800ef00 00fb0000 fd000000 0000fd00 ................ + 2600c: fe0000ff 0000fa00 f8f8fd0b ff030302 ................ + 2601c: 020402f9 fe080208 f60000f9 f9f80000 ................ + 2602c: 00fb0000 fc00fcfd fe00fc00 f8fe0004 ................ + 2603c: 000009fd 00fb00fe 00fa0300 0002fd03 ................ + 2604c: fe00f800 03fd00ff 000000fe 00fafdf6 ................ + 2605c: f40000f8 00fd0900 000200fb f8fd00fd ................ + 2606c: 0003fd00 fe000000 fd030000 fd000001 ................ + 2607c: 00fd00fe 00000000 00000000 00000000 ................ + 2608c: 00000000 000600f0 0000fe00 00010000 ................ + 2609c: 0000fdfd 06000500 00000000 01f1f000 ................ + 260ac: f604080b 09000b02 00000500 00000000 ................ + 260bc: 00000000 00000e00 00000000 00000000 ................ ... -0001d5b8 : - 1d5b8: 02010000 05040300 08070602 0a090a09 ................ - 1d5c8: 0e0d0c0b 0c11100f 15141312 00000015 ................ - 1d5d8: 19181716 19191917 1a191917 19191919 ................ - 1d5e8: 19171917 1d1c1b03 201f1e1d 00232221 ........... !"#. - 1d5f8: 26250024 00272727 29282627 2a2a2626 $.%&'''.'&()&&** - 1d608: 2a272a27 2e2d2c2b 302e2f2e 09230000 '*'*+,-../.0..#. - 1d618: 00000931 00000000 00000000 00000000 1............... +000260d4 : + 260d4: 02010000 05040300 08070602 0a090a09 ................ + 260e4: 0e0d0c0b 0c11100f 15141312 00000015 ................ + 260f4: 19181716 19191917 1a191917 19191919 ................ + 26104: 19171917 1d1c1b03 201f1e1d 00232221 ........... !"#. + 26114: 26250024 00272727 29282627 2a2a2626 $.%&'''.'&()&&** + 26124: 2a272a27 2e2d2c2b 302e2f2e 09230000 '*'*+,-../.0..#. + 26134: 00000931 00000000 00000000 00000000 1............... ... -0001d654 : - 1d654: 02010000 05040300 08070602 0a090a09 ................ - 1d664: 0d000c0b 11100f0e 140c1312 00000014 ................ - 1d674: 18171615 1b1a1619 1e1d1d1c 1d1d201f ............. .. - 1d684: 23222116 251e2403 28272625 002b2a29 .!"#.$.%%&'()*+. - 1d694: 2e2d002c 3231302f 34342d33 2d2d3035 ,.-./0123-4450-- - 1d6a4: 37362e2e 3a333938 3c3a3b3a 09000029 ..67893::;:<)... - 1d6b4: 0000093d 00000000 00000000 00000000 =............... +00026170 : + 26170: 02010000 05040300 08070602 0a090a09 ................ + 26180: 0d000c0b 11100f0e 140c1312 00000014 ................ + 26190: 18171615 1b1a1619 1e1d1d1c 1d1d201f ............. .. + 261a0: 23222116 251e2403 28272625 002b2a29 .!"#.$.%%&'()*+. + 261b0: 2e2d002c 3231302f 34342d33 2d2d3035 ,.-./0123-4450-- + 261c0: 37362e2e 3a333938 3c3a3b3a 09000029 ..67893::;:<)... + 261d0: 0000093d 00000000 00000000 00000000 =............... ... -0001d6f0 : - 1d6f0: 00000020 0001005f 00000000 00000000 ..._........... - 1d700: 00000000 000000b0 0060f7f3 0001d718 ..........`..... - 1d710: 00000000 0002003b ....;... - -0001d718 : - 1d718: 1f720000 ef58ef51 ef5cef5b ef61ef5d ..r.Q.X.[.\.].a. - 1d728: ef65ef63 ef6cef69 ef76ef71 ef78ef77 c.e.i.l.q.v.w.x. - 1d738: ef98ef8e ef9cef9b efa1ef9d efa3efa2 ................ - 1d748: efb7efa4 efbeefb8 efc1efc0 efc7efc4 ................ - 1d758: efc9efc8 efe3efcb f014efe5 f017f015 ................ - 1d768: f03af037 f06cf043 f0abf074 f190f13b 7.:.C.l.t...;... - 1d778: f192f191 f194f193 f1e3f1d7 f254f23d ............=.T. - 1d788: f712f4aa 0000f7f2 ........ - -0001d790 : +0002620c : + 2620c: 00000020 0001005f 00000000 00000000 ..._........... + 2621c: 00000000 000000b0 0060f7f3 00026234 ..........`.4b.. + 2622c: 00000000 0002003b ....;... + +00026234 : + 26234: 1f720000 ef58ef51 ef5cef5b ef61ef5d ..r.Q.X.[.\.].a. + 26244: ef65ef63 ef6cef69 ef76ef71 ef78ef77 c.e.i.l.q.v.w.x. + 26254: ef98ef8e ef9cef9b efa1ef9d efa3efa2 ................ + 26264: efb7efa4 efbeefb8 efc1efc0 efc7efc4 ................ + 26274: efc9efc8 efe3efcb f014efe5 f017f015 ................ + 26284: f03af037 f06cf043 f0abf074 f190f13b 7.:.C.l.t...;... + 26294: f192f191 f194f193 f1e3f1d7 f254f23d ............=.T. + 262a4: f712f4aa 0000f7f2 ........ + +000262ac : ... - 1d798: 04500000 00000000 04500000 00010c03 ..P.......P..... - 1d7a8: 06400012 07010505 0b40001f 00000c0b ..@.......@..... - 1d7b8: 09f00061 fe00100a 0d8000b1 00000c0d a............... - 1d7c8: 0b0000ff ff000d0b 03600147 07010502 ........G.`..... - 1d7d8: 0560014c fd010f04 0570016a fd000f04 L.`.....j.p..... - 1d7e8: 06600188 05000707 095001a1 02010808 ..`.......P..... - 1d7f8: 03a001c1 fe000503 062001c9 03000306 .......... ..... - 1d808: 03a001d2 00000303 05a001d7 feff1008 ................ - 1d818: 0ab00217 00000c0a 05f00253 00000c05 ........S....... - 1d828: 09300271 00000c09 092002a7 00000c09 q.0....... ..... - 1d838: 0ab002dd 00000c0b 0930031f 00000c09 ..........0..... - 1d848: 09e00355 00000c0a 09900391 00000c09 U............... - 1d858: 0a5003c7 00000c0a 09e00403 00000c0a ..P............. - 1d868: 03a0043f 00000903 03a0044d fd000c03 ?.......M....... - 1d878: 0950045f 02010808 0950047f 03010608 _.P.......P..... - 1d888: 09500497 02010808 093004b7 00000c09 ..P.......0..... - 1d898: 109004ed fd000f10 0bb00565 00ff0c0d ........e....... - 1d8a8: 0c2005b3 00010c0b 0b9005f5 00000c0b .. ............. - 1d8b8: 0d300637 00010c0c 0ac0067f 00010c09 7.0............. - 1d8c8: 0a3006b5 00010c09 0c6006eb 00000c0c ..0.......`..... - 1d8d8: 0d000733 00010c0b 04f00775 00010c03 3.......u....... - 1d8e8: 08300787 00ff0c08 0b8007b7 00010c0b ..0............. - 1d8f8: 098007f9 00010c09 0f40082f 00010c0d ......../.@..... - 1d908: 0d00087d 00010c0b 0d7008bf 00000c0d }.........p..... - 1d918: 0b90090d 00010c0a 0d700949 fd000f0e ........I.p..... - 1d928: 0ba009b2 00010c0a 09f009ee 00000c0a ................ - 1d938: 09600a2a 00000c0a 0ca00a66 00010c0b *.`.....f....... - 1d948: 0b600aa8 00ff0c0d 12000af6 00000c12 ..`............. - 1d958: 0ac00b62 00000c0b 0a600ba4 00ff0c0c b.........`..... - 1d968: 0a800bec 00000c0b 05500c2e fd010f05 ..........P..... - 1d978: 05a00c54 feff1008 05500c94 fd000f04 T.........P..... - 1d988: 09500cb2 02010708 08000cce fe000208 ..P............. - 1d998: 09a00cd6 0a010205 09900cdb 00000909 ................ - 1d9a8: 0af00d04 00010c0a 09200d40 00000909 ........@. ..... - 1d9b8: 0af00d69 00000c0a 09d00da5 0000090a i............... - 1d9c8: 05a00dd2 00000c07 0b100dfc fd000c0a ................ - 1d9d8: 0ae00e38 00010c09 04700e6e 00010c03 8.......n.p..... - 1d9e8: 04900e80 fdfe0f06 09e00ead 00010c09 ................ - 1d9f8: 04700ee3 00010c02 10f00eef 0001090f ..p............. - 1da08: 0ae00f33 00010909 0a300f5c 0000090a 3.......\.0..... - 1da18: 0af00f89 fd010c0a 0af00fc5 fd000c0a ................ - 1da28: 06901001 00010906 0800101c 00000908 ................ - 1da38: 06a01040 00000b07 0ad01067 00010909 @.......g....... - 1da48: 08f01090 00ff090a 0e6010bd 0000090f ..........`..... - 1da58: 08d01101 00000909 08f0112a fdff0c0a ........*....... - 1da68: 08501166 00000908 05a0118a fd000f06 f.P............. - 1da78: 04d011b7 fd010f03 05a011ce fd000f05 ................ - 1da88: 095011f4 04000509 06b0120b 06000606 ..P............. - 1da98: 0500121d 03010403 10001223 fe001110 ........#....... - 1daa8: 100012ab 00000c10 1000130b ff000e10 ................ - 1dab8: 1000137b 00000c10 0b0013db 00000c0b {............... - 1dac8: 1000141d fe001010 1000149d fe001010 ................ - 1dad8: 1200151d ff000e12 1000159b fe001010 ................ - 1dae8: 1200161b 00000c12 10001687 fe001010 ................ - 1daf8: 08001707 ff000e08 0c00173f ff000e0c ........?....... - 1db08: 12001793 fe001012 10001823 00000c10 ........#....... - 1db18: 0e001883 fe02100a 0e0018d3 fd00120e ................ - 1db28: 0e001951 ff000f0e 0e0019ba ff000e0e Q............... - 1db38: 0e001a1c fe02100a 0e001a6c ffff0e10 ........l....... - 1db48: 0a001adc ff000e0a 0a001b22 ff000e0a ........"....... - 1db58: 0e001b68 ff000e0e 0e001bca 0400040e h............... - 1db68: 12001be6 00000c12 14001c52 fe001014 ........R....... - 1db78: 12001cf2 feff1014 10001d92 fe001010 ................ - 1db88: 0e001e12 01000a0e 0e001e58 01000a0e ........X....... - 1db98: 14001e9e ff000e14 10001f2a 00000c10 ........*....... - 1dba8: 10001f8a fe001010 1000200a feff1111 ......... ...... - 1dbb8: 0e00209b ff000e0f 0e002104 fe00100e . .......!...... - 1dbc8: 0e002174 ff000e0e 0a0021d6 feff100c t!.......!...... - 1dbd8: 0e002236 fe00100e 0e0022a6 fe00100e 6"......."...... - 1dbe8: 12002316 00000c12 10002382 fdff1212 .#.......#...... - 1dbf8: 0c002424 fe00100c 14002484 ff000f14 $$.......$...... - 1dc08: 1400251a 01000a14 1400257e 01000a14 .%......~%...... - 1dc18: 140025e2 01000a14 14002646 01000a14 .%......F&...... - 1dc28: 140026aa 01000a14 1400270e ff000e15 .&.......'...... - 1dc38: 0e0027a1 fe01100c 0e002801 fe00100e .'.......(...... - 1dc48: 10002871 fdff1111 14002902 00000c14 q(.......)...... - 1dc58: 0c00297a fe00100c 102029da 01000b11 z).......) ..... - -0001dc68 : - 1dc68: aff00bbf 089ee00a c0078cd0 bf100000 ................ - 1dc78: 1ff5e01a e4f3513f f2403e0f 00100872 ....?Q...>@.r... - 1dc88: e003c005 007a0000 0900005c 01a00780 ......z.\....... - 1dc98: ffffffff 733e03fd 0030833c 00c500f2 ......>s<.0..... - 1dca8: 0e100f00 f0020030 9f00f200 ffffffff ....0........... - 1dcb8: 36c33841 890030e3 00005c00 a007700a A8.6.0...\...p.. - 1dcc8: 79000000 00000000 00000079 20e9ff5c ...y....y...\.. - 1dcd8: 9ebcfc06 79b00e90 800f1000 0d000079 .......y....y... - 1dce8: 000079f5 50fdef03 cf060000 000040fe .y.....P.....@.. - 1dcf8: 00f15e79 f3057900 07790007 bce92ff1 y^...y....y../.. - 1dd08: ae03a0af 0000d7ff 00007900 00790000 .........y....y. - 1dd18: 80de0300 00d00500 01500ce4 004c00e3 ..........P...L. - 1dd28: 00a9005a c004a006 4c00004e 500d5a00 Z.......N..L.Z.P - 1dd38: 1ce40000 0000a058 e173ce03 0000e93c ....X.....s.<... - 1dd48: 400ed600 7c0000a8 d003c003 3c202e00 ...@...|...... < - 1dd58: 0b003d00 09e20070 00d00680 00a0dd04 .=..p........... - 1dd68: 00b1ef09 3ce40900 d90000a0 00007d00 .......<.....}.. - 1dd78: a01cc00c ae3f0000 010000c1 0000c0df ......?......... - 1dd88: 708feb03 00db0018 3ff0657f ea8f0040 ...p.....e.?@... - 1dd98: 0000f703 f90b70cf 40bfcf66 30eadf08 .....p..f..@...0 - 1dda8: 000000a5 f5000000 72e4e4f5 f205da00 ...........r.... - 1ddb8: 700fc00b 205f403f 007f106f 205f106f ...p?@_ o...o._ - 1ddc8: 700f403f f205c00b 303fda00 f106b00c ?@.p......?0.... - 1ddd8: e900f601 ad00bc00 ad00ae00 e900bc00 ................ - 1dde8: f106f601 303fb00c 06004a00 2ba0a474 ......?0.J..t..+ - 1ddf8: 7f00e5ff 6b7b20fb a004008d 00130000 ..... {k........ - 1de08: 10050000 500f0000 500f0000 511f0100 .......P...P...Q - 1de18: ffffef10 744f34f3 500f0040 500f0000 .....4Ot@..P...P - 1de28: fd520900 0fc5a00b 10110100 04f3ff1f ..R............. - 1de38: 12034044 00901efc 00f10500 00b00a00 D@.............. - 1de48: 00600f00 00105f00 0000ab00 0000f600 ..`.._.......... - 1de58: 0000f105 0000b00a 0000600f 0000104f .........`..O... - 1de68: 000000ac 040000f6 0a0000f1 0e0000c0 ................ - 1de78: 4f000060 00000010 00c5ef08 cfa8cf00 `..O............ - 1de88: 00f50770 c00df20a 1ff80100 dc000080 p............... - 1de98: 0000603f 00603fbd 801fbd00 0ddc0000 ?`...?`......... - 1dea8: f80100c0 0a00f507 a8cf00f2 080070cf .............p.. - 1deb8: ef00c5ef f37a36ff 05305f00 305f00f3 .....6z.._0..._0 - 1dec8: 5f00f305 00f30530 f305305f 05305f00 ..._0..._0..._0. - 1ded8: fdbe04f3 98fd0770 002890cf 0000bf00 ....p.....(..... - 1dee8: 00f20700 00af0000 804f0000 c03f0000 ..........O...?. - 1def8: c13e0000 c12e0000 d12e0000 f82e0000 ..>............. - 1df08: ff467777 6ffaffff 02ffffff b09f7777 wwF....o....ww.. - 1df18: e10c0000 f3090000 f6050000 df000000 ................ - 1df28: 040010e9 0000fd59 00f40600 643f0000 ....Y.........?d - 1df38: f3080040 fb8cc9bf d7ff7c00 01000000 @........|...... - 1df48: 000000eb 0010be00 506f0000 2f000000 ..........oP.../ - 1df58: 00000090 0000d00c 01f30800 f80300d5 ................ - 1df68: 00602f00 f72322ed ffff6f21 5581ffff ./`.."#.!o.....U - 1df78: 52f95655 2f000000 00000060 0500f602 UV.R.../`....... - 1df88: 00ffffff 7077777f 0000e008 0000ad00 .....wwp........ - 1df98: 10c20b00 ffdf0000 550430fb 0020ff68 .........0.Uh. . - 1dfa8: 00f80400 920f0000 f6050050 fd8ad98f ........P....... - 1dfb8: e9ef5b10 ce050010 9f0060fc 05708bc8 .[.......`....p. - 1dfc8: 000000f8 0000d00c 00801f00 682f0000 ............../h - 1dfd8: 3f10faef d08f64ee 0600f12f 00c00ef4 ...?.d../....... - 1dfe8: f109f602 01f30600 b09f86de d8ef1900 ................ - 1dff8: ffff8f00 77f7e8ff 008ffc77 90554f00 .......ww....OU. - 1e008: 00e00b00 00f80200 109f0000 b00f0000 ................ - 1e018: f4060000 dd000000 3f000000 0a000070 ...........?p... - 1e028: 010000f1 000000f9 00d7ff5c af76fc06 ........\.....v. - 1e038: 00d00ca0 c00df109 07f20700 c05e11f7 ..............^. - 1e048: feffbf00 54f90910 802fd07e 4ff60400 .......T~./....O - 1e058: f8000050 0500a01f 76fb09f6 6c00d0af P..........v...l - 1e068: 0010d8ff 0080fd8e fc68f80c 00505f00 ..........h.._P. - 1e078: 008f703f 7fc00e00 f01f0030 cf13d41f ?p......0....... - 1e088: ffef04f1 0200f0a9 00f00a31 a00e0000 ........1....... - 1e098: 9f000000 8da70930 df0700f7 1e0040eb ....0........@.. - 1e0a8: 1003fc92 00000000 1efc1203 fc921e90 ................ - 1e0b8: 00001003 01000000 a8d01fe9 00a0300e .............0.. - 1e0c8: 00420000 03f37d01 bf10e89f ee0000b5 ..B..}.......... - 1e0d8: 17000081 0000b4df 00d2af04 ef820100 ................ - 1e0e8: 45f3ffff 00515555 01000000 ef101111 ...EUUQ......... - 1e0f8: 34f3ffff 50404444 ef000000 06000092 ...4DD@P........ - 1e108: 0000b5cf 00e29f03 02f36c00 bf20e99e .........l.... . - 1e118: 930000c6 04000000 0770fdbe a0bf77fc ..........p..w.. - 1e128: cf000027 09000000 010000f0 010000ea '............... - 1e138: 000010dd 000010ce 0000603f 00003001 ........?`...0.. - 1e148: 00000100 00f50600 405f0000 17000000 .........._@.... - 1e158: 00b5fdce fb050000 c27d2353 406e0000 ........S#}...n@ - 1e168: 8e000000 01f40210 493ffaae 1e900ab0 ..........?I.... - 1e178: 40ef5be6 8f300fe3 40af0010 d9001f98 .[.@..0....@.... - 1e188: 403f0000 e8003f6a 401f0000 d9001f5c ..?@j?.....@\... - 1e198: 403f0000 8f300f6a 40af0010 1e900a98 ..?@j.0....@.... - 1e1a8: a6de5ad6 01f303f2 ee16faaf 406e0050 .Z..........P.n@ - 1e1b8: 00000000 fb060000 00752353 17000000 ........S#u..... - 1e1c8: 00a3fdce 02000000 000000fd f49f0000 ................ - 1e1d8: 00000000 00b09e0f f2060000 0000207f ............. .. - 1e1e8: f801dc00 4f000000 00e00b60 00f00b00 .......O`....... - 1e1f8: 0100604f ed1111fa ff8f0000 00f3ffff O`.............. - 1e208: 4444c40e f406a04f af000000 0000cd10 ..DDO........... - 1e218: 5ff80200 40ebffff 5755f805 405f40df ..._...@..UW.@_@ - 1e228: 05fa0100 0f0000f4 11515fa0 ff05f43a ........._Q.:... - 1e238: 00faffff 5944745f 00f405fa 5ff20800 ...._tDY......._ - 1e248: 5f000040 0000f445 855ff209 05fb6a55 @.._E....._.Uj.. - 1e258: d7ffffff 8d020000 0400b4fe f99db8ff ................ - 1e268: 0020fd02 20bf5008 0f000000 000000a0 .. ..P. ........ - 1e278: 0000f602 602f0000 00000000 000000fa ....../`........ - 1e288: 00f20b00 2f000000 850000d2 89fb5f00 ......./....._.. - 1e298: 290080df 5f40ebdf 30eaffff 77975f00 ...)..@_...0._.w - 1e2a8: 5f00f89e af000040 00405f60 5fe00d00 ..._@...`_@...._ - 1e2b8: 06000040 00405ff4 5ff60300 03000040 @...._@...._@... - 1e2c8: 00405ff6 5ff40600 0d000040 00405fe0 ._@...._@...._@. - 1e2d8: 5f60af00 f89e7797 ffff5f00 5f0030ea ..`_.w..._...0._ - 1e2e8: 95ffffff 747777f9 0000405f 0000f405 .....wwt_@...... - 1e2f8: 11515f00 ffff0511 745fe0ff f4054444 ._Q......._tDD.. - 1e308: 5f000000 05000040 000000f4 7777975f ..._@......._.ww - 1e318: ffffff65 ffff5ffd 77f995ff 405f7477 e...._.....wwt_@ - 1e328: f4050000 5f000000 05000040 102222f5 ......._@...."". - 1e338: feffff5f 5555f805 00405f40 00f40500 _.....UU@_@..... - 1e348: 405f0000 f4050000 00000000 b5fe8d01 .._@............ - 1e358: fb4f0000 02b0df89 060020fd 00f20b60 ..O...... ..`... - 1e368: 0f000000 000000a0 00602f00 2f000000 ........./`..../ - 1e378: 09000060 00a00ff0 0bf00900 090000f2 `............... - 1e388: 20fd02f0 00f00a00 df89fb4f 8d0200c0 ... ....O....... - 1e398: 5f00c6fe 4f000040 0000f455 405ff504 ..._@..OU....._@ - 1e3a8: 554f0000 040000f4 22525ff5 ff555f22 ..OU....._R""_U. - 1e3b8: f5ffffff 5555855f 00f4558f 5ff50400 ...._.UU.U....._ - 1e3c8: 4f000040 0000f455 405ff504 554f0000 @..OU....._@..OU - 1e3d8: 040000f4 f4455ff5 5ff4455f 455ff445 ....._E._E._E._E - 1e3e8: f4455ff4 00f4455f 00faffff 00fa7777 ._E._E......ww.. - 1e3f8: 00fa0000 00fa0000 00fa0000 00fa0000 ................ - 1e408: 00fa0000 00fa0000 07f90000 0df60320 ............ ... - 1e418: 01f18ee9 5f30fbae eb020040 0100f405 ......0_@....... - 1e428: 405f00ec 0510de01 20ce00f4 bf405f00 .._@....... ._@. - 1e438: f4050030 0000909f 40efcf5f 91ff0500 0......._..@.... - 1e448: 5f0010ee 00fc03a0 0600f405 405f00f8 ..._.........._@ - 1e458: 05f50900 0c0000f4 00405ff2 00f40500 ........._@..... - 1e468: 405f0000 f4050000 5f000000 05000040 .._@......._@... - 1e478: 000000f4 0000405f 0000f405 00405f00 ...._@......._@. - 1e488: 00f40500 975f0000 ff257777 5ff5ffff ......_.ww%...._ - 1e498: 00000040 00fc951e f9080000 0000f55f @..........._... - 1e4a8: fd95ff02 ae0000e0 705f5ff9 955f3f00 .........__p.?_. - 1e4b8: 0b108ff3 315ff9c0 0ff304e9 f207f395 ......_1........ - 1e4c8: 5ff900db 20ef0d30 00f3950f f900905f ..._0.. ...._... - 1e4d8: 7100305f f3950f00 00000000 00505ff9 _0.q........._P. - 1e4e8: ff554f00 f5040020 0000fd5f f9fa554f .OU. ..._...OU.. - 1e4f8: 5ff50400 4f00f54a f20df455 405ff504 ..._J..OU....._@ - 1e508: 554fd02f 946f00f4 00405ff5 f455afaf /.OU..o.._@...U. - 1e518: f5df0000 0200405f 00f455ff 00f50600 ...._@...U...... - 1e528: b5fe8d01 ff040000 00fa9eb8 0020fd02 .............. . - 1e538: bf00f908 0a000020 00a00ff2 723f0000 .... .........?r - 1e548: 000000f6 602ff900 0f000000 0000fa90 ....../`........ - 1e558: 0bf70300 000000f2 d22f20af 908f0000 ......... /..... - 1e568: 89fb4f00 0000a0ef 50ebdf28 ffff5f00 .O......(..P._.. - 1e578: 975f00d7 5fc0bf78 f6070040 0000405f .._.x.._@..._@.. - 1e588: 00405ffa 405ffa00 5ff80300 f16e2362 ._@..._@..._b#n. - 1e598: fdffff5f 54855f30 405f0020 5f000000 _...0_.T ._@..._ - 1e5a8: 00000040 0000405f 8d010000 0000b5fe @..._@.......... - 1e5b8: 89fb4e00 0200a0ef 080020fd f20a00f9 .N....... ...... - 1e5c8: af000000 00a00f20 703f0000 0000602f .... .....?p/`.. - 1e5d8: 2f900f00 00000060 901f900f 2f000000 .../`........../ - 1e5e8: 00f10b70 20af0000 0010fc03 0000f907 p...... ........ - 1e5f8: df78fa6f 030000b0 00c5ffae 00000000 o.x............. - 1e608: b015d43e 02000000 0080ffbf 01000000 >............... - 1e618: ff5f0031 5f00d7ff c0bf7897 0700405f 1._...._.x.._@.. - 1e628: 00405ff6 405ffa00 5ffa0000 f8030040 ._@..._@..._@... - 1e638: 6e23525f ffff5fe1 855f30fc 5f00f955 _R#n._...0_.U.._ - 1e648: 407f0040 0c00405f 00405fe0 5c00f902 @..@_@..._@....\ - 1e658: 0720d9ef 90af87fc 0100c00e 00800f10 .. ............. - 1e668: f50d0000 03000000 0050eaef feae0500 ..........P..... - 1e678: 00000040 0000f14e 08f30500 f2080000 @...N........... - 1e688: bf77fa2f ff9d02a0 ffff00c7 67f5ffff /.w............g - 1e698: 7277fb78 00f70100 f7010000 01000000 x.wr............ - 1e6a8: 000000f7 0000f701 00f70100 f7010000 ................ - 1e6b8: 01000000 000000f7 0000f701 00f70100 ................ - 1e6c8: f7010000 306f0000 168f0000 080000f3 ......o0........ - 1e6d8: 00306ff1 f3168f00 f1080000 0000306f .o0.........o0.. - 1e6e8: 00f3168f 6ff10800 8f000030 0000f405 .......o0....... - 1e6f8: 703ff009 00cd0000 5f0020de a8ff0480 ..?p..... ._.... - 1e708: 0300d0bf 0081fdbe 0000e00c 6f306f00 .............o0o - 1e718: 0c000050 00fb00c0 00f60300 0000f209 P............... - 1e728: 2f0000ae 901f0080 00ce0000 0000f207 .../............ - 1e738: db00f605 0e000000 00504fc0 3b8f0000 .........OP....; - 1e748: 000000e0 00f8fb02 0b000000 000010ff ................ - 1e758: b04f0000 405f0000 00df0000 0ff50200 ..O..._@........ - 1e768: ff020090 f0070040 0700e00b 0c0090fe ....@........... - 1e778: 00f306b0 00e0aa0c f801601f f3541f00 .........`....T. - 1e788: 00106f00 107f00cd 00cc00f8 cb207f00 .o............ . - 1e798: f701ad00 712f0000 265f00f6 0d0000f2 ....../q.._&.... - 1e7a8: 0f00f1c6 0000d07b 00c0fd08 0080df0b ....{........... - 1e7b8: 70ff0300 30ff0600 ef000000 fe010020 ...p...0.... ... - 1e7c8: 903f0000 00cd0000 7f00408f 10de0030 ..?......@..0... - 1e7d8: 0300802f 00d00cfa f3fb0700 0c000000 /............... - 1e7e8: 000000f8 00c0ef01 7fbf0000 6f000070 ............p..o - 1e7f8: 0020af60 ed01b02f 00f10c00 f607f804 `. ./........... - 1e808: f3090000 0000e00c f703f207 901f0000 ................ - 1e818: 0010af00 1f00109e 00f602a0 0bf30800 ................ - 1e828: 000000d0 00404fec fb5f0000 00000000 .....O@..._..... - 1e838: 0000f20c f0090000 00000000 0000f009 ................ - 1e848: f0090000 00000000 0000f009 ffffff3f ............?... - 1e858: 777701fd 0090bf77 c01e0000 0c000000 ..www........... - 1e868: 000000f2 0000f508 00f90400 ec010000 ................ - 1e878: 00000000 000020cf 00508f00 904f0000 ..... ....P...O. - 1e888: 1e000000 777777f8 ffffff05 ff5ff0ff .....www......_. - 1e898: 5f50f705 00f30530 f305305f 05305f00 ..P_0..._0..._0. - 1e8a8: 305f00f3 5f00f305 00f30530 f705305f .._0..._0..._0.. - 1e8b8: 00ff5f50 0000007e 0000401f 0000900c P_..~....@...... - 1e8c8: 0000e007 0000f402 0000c900 00007e00 .............~.. - 1e8d8: 00402f00 00900c00 00e00700 00f30200 ./@............. - 1e8e8: 00d90000 007e0000 302f0000 900d0000 ......~.../0.... - 1e8f8: e0070000 ea35fabf ea00ea00 ea00ea00 ......5......... - 1e908: ea00ea00 ea00ea00 ea00ea00 ea35ea00 ..............5. - 1e918: 2f00fabf 9d000080 f30000e0 d00600d5 .../............ - 1e928: 600c007b 103f201f 009a800b ffffe004 {..`. ?......... - 1e938: 1111ffff f6071111 01e70300 0080fd9e ................ - 1e948: 90af87ce af000002 06000000 ffbe02f2 ................ - 1e958: 42ec20ff 502ff227 ec207f00 02f27f42 . .B'./P.. .B... - 1e968: 206ffbbf 0000008f 00008f00 008f0000 ..o ............ - 1e978: 8f000000 00b3fe2b ef78ec8f 00a08f30 ....+.....x.0... - 1e988: 208fc01e 8ff10700 f3050000 0700208f ... ......... .. - 1e998: 00a08ff1 ec8fd01e 8e30ef78 00b3fe2b ........x.0.+... - 1e9a8: c4ef3a00 7cd84f00 00d00df4 00f61307 .:...O.|........ - 1e9b8: 304f0000 f6030000 0d000000 100600d0 ..O0............ - 1e9c8: f47cd74f c4ef3a00 00000000 0000f701 O.|..:.......... - 1e9d8: 00f70100 f7010000 a3ff3b00 87fd04f7 .........;...... - 1e9e8: d00ef7ce 3ff70b00 f7030060 0100304f .......?`...O0.. - 1e9f8: 00503ff7 c00ef703 04f70a00 f7be65fc .?P..........e.. - 1ea08: b2ff3b00 fe3b00f7 fc0400a2 0e20ee67 .;....;.....g. . - 1ea18: a01e00c0 0700503f ffff4ff0 723ff1ff ....?P...O....?r - 1ea28: 0e202222 000200c0 af87fd04 ef3a0050 "" .........P.:. - 1ea38: 5d0000d6 b52f00fc 00f30470 a0ffff0c ...]../.p....... - 1ea48: 0053f748 0500305f 5f0000f3 f3050030 H.S._0....._0... - 1ea58: 305f0000 00f30500 00305f00 b2ff3b00 .._0....._0..;.. - 1ea68: 87fe04e9 d10ef9cf 3ff90a00 f9010060 ...........?`... - 1ea78: 0000404f 00603ff9 d00ef901 04f90900 O@...?`......... - 1ea88: f8cf87fd b3ff3b00 000000f7 e909f405 .....;.......... - 1ea98: 01b0af77 00d8ff7c 0000008f 0000f008 w...|........... - 1eaa8: 00008f00 bff20800 fb8f10ea f808fd89 ................ - 1eab8: 8ff40600 781f0010 f80000f0 0f00008f .......x........ - 1eac8: 0000f088 00008ff8 00f0880f 1a9ef800 ................ - 1ead8: f00800f2 8ff0088f 088ff008 f0088ff0 ................ - 1eae8: 00e20700 0000f309 f1070000 00f10700 ................ - 1eaf8: 0700f107 f10700f1 00f10700 0700f107 ................ - 1eb08: f10700f1 18f00800 fc3ec06e 00008f20 ........n.>. ... - 1eb18: 00f00800 008f0000 f0080000 8fd11d00 ................ - 1eb28: 08e21d00 00e21df0 00f32d8f 70fffe08 .........-.....p - 1eb38: bfe28f00 01f20830 008f10ee f008fb03 ....0........... - 1eb48: 8ff70700 8f8f8f8f 8f8f8f8f 8e8f8f8f ................ - 1eb58: 3b91fe3c ff08a2fe c6cf9f96 708fd08f <..;...........p - 1eb68: 00c09f00 00f1585f 0100f605 00008ff7 ...._X.......... - 1eb78: 0f00404f 0400f088 f80000f4 4f00008f O@.............O - 1eb88: 880f0040 f40400f0 8ff80000 404f0000 @.............O@ - 1eb98: 8e800f00 08a1fe3b d08fa6ff 6f00808f ....;..........o - 1eba8: 0100f148 00008ff7 00f0880f 008ff800 H............... - 1ebb8: f0880f00 8ff80000 800f0000 c4ef3b00 .............;.. - 1ebc8: 87fd0400 d00e60cf 3ff10b00 f5030060 .....`.....?`... - 1ebd8: 0100304f 00603ff7 d00ef503 04f10b00 O0...?`......... - 1ebe8: 60cf77fd c4ef3b00 fe3b8e00 fb8f00b3 .w.`.;....;..... - 1ebf8: 8f30df57 c00d0090 0700108f 00008ff1 W.0............. - 1ec08: 208ff305 8ff10700 d01e00a0 ef78ec8f ... ..........x. - 1ec18: fe2b8f30 008f00b3 8f000000 00000000 0.+............. - 1ec28: 0000008f ff3b0000 fd04f7a2 0ef7de87 ......;......... - 1ec38: f70b00d0 0300603f 00304ff7 603ff701 ....?`...O0...?` - 1ec48: 0ef70300 f70b00d0 ce77fd04 ff3b00f7 ..........w...;. - 1ec58: 0000f7a3 00f70100 f7010000 01000000 ................ - 1ec68: f02b8ef7 8f90ed8f 208f00a0 00008f00 ..+........ .... - 1ec78: 8f00008f 008f0000 00008f00 91fdae02 ................ - 1ec88: d069d71e 0000304f 0010b42f 60fdef06 ..i.O0../......` - 1ec98: f55b0100 f7000001 f36ba75f 40ecdf19 ..[....._.k....@ - 1eca8: 0000f305 cf00305f 8f04faff f3053075 ...._0......u0.. - 1ecb8: 305f0000 00f30500 00305f00 0000f404 .._0....._0..... - 1ecc8: 0080c61f ae10fc5d 5a2f0000 f50200e0 ....]...../Z.... - 1ecd8: 2f0000ae 0200e05a 0000aef5 00f0592f .../Z......./Y.. - 1ece8: 306ff504 ee51af00 02f5bf76 503ffbbe ..o0..Q.v.....?P - 1ecf8: 0000c00d 00f206cb f900f502 00e00900 ................ - 1ed08: 800f009e 6f602f00 c00c0010 050000cb ...../`o........ - 1ed18: 0000f4f6 00d0ef00 708f0000 0000bb00 ...........p.... - 1ed28: 4f00109f 0e00f116 c00900f6 fc05600f ...O.........`.. - 1ed38: 00f600b0 5fab00ac 05105f10 f7500ff1 ......._._....P. - 1ed48: 0f00b00a c009f076 ac0000f5 8f4f00ba ....v.........O. - 1ed58: ff040000 a0ef0040 e00e0000 00f40800 ....@........... - 1ed68: 00704f00 308f209f cd00505f 0200902e .Op.. .0_P...... - 1ed78: 0000d0ff 0000f60a 00e1fd04 c00deb01 ................ - 1ed88: 3f10be00 00406f80 c00d407f 06cb0000 ...?.o@..@...... - 1ed98: f40200f3 0900ea00 108f00d0 1f00701f .............p.. - 1eda8: 00107f70 00d9e00a f2f90300 cf000000 p............... - 1edb8: 000000b0 0000406f 0000ad00 00f5791c ....o@.......y.. - 1edc8: 70ee1a00 ff4f0000 5515f9ff 0000f45b ...p..O....U[... - 1edd8: 0100804f 0b0000ec 8f0000e1 f7040040 O...........@... - 1ede8: e51e0000 ff5f5355 2c00fcff 61af00f5 ....US_....,...a - 1edf8: 0000cc00 db0000db 00db0000 1f00ea02 ................ - 1ee08: fa0500f4 00db0000 0000db00 cc0000db ................ - 1ee18: 61af0000 5ff52c00 155ff115 f1155ff1 ...a.,._.._.._.. - 1ee28: 5ff1155f 155ff115 f1155ff1 80be105f _.._.._.._.._... - 1ee38: 0140af03 701f00f6 1f00f701 00f90070 ..@....p....p... - 1ee48: fb00fb0a 01701f20 701f00f7 af03f601 .... .p....p.... - 1ee58: 0090be40 00000000 00e43d00 f5860cb5 @........=...... - 1ee68: 03f0201e 000290ef 02001000 400d90ce . .............@ - 1ee78: 0e003b89 0d0e003b ce028940 f8080090 .;..;...@....... - 1ee88: 00f7e7ef 00000000 00000000 00000000 ................ - 1ee98: 00dc4900 16000000 00ffffbf ff8d0300 .I.............. - 1eea8: 00ffffff ffffcf00 00ffffff ffffff00 ................ - 1eeb8: 00ffc7ff eaffff00 00ff0051 0083ff00 ........Q....... - 1eec8: 00ff0000 0000ff00 00ff0000 0000ff00 ................ - 1eed8: 00ff0000 0000ff00 00ff0000 0000ff00 ................ - 1eee8: 00ffff2b 0000ff00 2bffffdf 0000ffff +..........+.... - 1eef8: dffdffdf 0000ffff dfb2ff2b 0000fdff ........+....... - 1ef08: 2b000000 0000b2ff d0000000 ffffff0f ...+............ - 1ef18: ff0df0ff 8888c8ff f0ffff8c 0000800f ................ - 1ef28: f00ff008 0000800f ff0ff008 000080ff ................ - 1ef38: f0ffff08 ccccec0f f00ff0ce ccccec0f ................ - 1ef48: ff0ff0ce 000080ff f0ffff08 0000800f ................ - 1ef58: f00ff008 0000800f ff0ff008 8888c8ff ................ - 1ef68: d0ffff8c ffffff0f df0df0ff ffff73ff .............s.. - 1ef78: fffdffff ffffa5ff ffffffff ffffa5ff ................ - 1ef88: dfffffff ffff73ff 00fdffff 00000000 .....s.......... - 1ef98: df000000 ffff73ff fffdffff ffffa5ff .....s.......... - 1efa8: ffffffff ffffa5ff dfffffff ffff73ff .............s.. - 1efb8: 00fdffff 00000000 df000000 ffff73ff .............s.. - 1efc8: fffdffff ffffa5ff ffffffff ffffa5ff ................ - 1efd8: dfffffff ffff73ff 00fdffff 00000000 .....s.......... - 1efe8: 00b10a00 00000000 00fcbf00 00000000 ................ - 1eff8: 00fbff0b 00000000 1bc0ffbf 0b0000a0 ................ - 1f008: cf00fcff bf0000fb bf00c0ff ff0bb0ff ................ - 1f018: 0c0000fc ffbffbff 000000c0 fbffffcf ................ - 1f028: 00000000 b0ffff0c 00000000 00fbbf00 ................ - 1f038: 00000000 00b00b00 03000000 03000000 ................ - 1f048: 0010fc08 fcfff81c f5ff1c10 ff2cfcff ..............,. - 1f058: ffff05f5 0500f5ff 00f5ffff fdff1d00 ................ - 1f068: ff1c0010 1c10fcff fcfff9ff 05f5ff1c ................ - 1f078: f5dffcff d1ff0500 040000a4 000000a1 ................ - 1f088: 0000e04f 10020000 1003f16f d05f0000 O.......o....._. - 1f098: d13ff16f f1ff0300 fd5ff16f 40ff0d00 o.?.....o._....@ - 1f0a8: ff09f16f 00f74f70 cf00f16f 00f09fe0 o...pO..o....... - 1f0b8: 5f00f16f 00c0bff3 2f00f16f 00c0bff5 o.._....o../.... - 1f0c8: 1f00e04f 00e0aff6 4f000000 00f46ff4 O..........O.o.. - 1f0d8: af000000 10fe0ff0 ff050000 d3ff06a0 ................ - 1f0e8: ff7f0000 ff9f0020 f4ffbeda ff060000 .... ........... - 1f0f8: 30fdffff 17000000 0050cabd 00000000 ...0......P..... - 1f108: 0000b88b 00000000 0000ffff 06300000 ..............0. - 1f118: 0360ffff dffd0400 effdffff ffff0d40 ..`.........@... - 1f128: ffffffff ffff4fd0 ffff9ff9 ffff08f4 .....O.......... - 1f138: ffff0220 f9ff0080 ff9f0000 f9ff0000 ............... - 1f148: ff9f0000 ffff0800 ffff0220 ffff4f80 ........ ....O.. - 1f158: ffff9ff9 ffff0df4 ffffffff dffe04d0 ................ - 1f168: dffdffff 06300040 0360ffff 00000000 ....@.0...`..... - 1f178: 0000ffff 00000000 0000b88b 00000000 ................ - 1f188: 3f30dd03 000000f3 f5ff6f00 0000f44f ..0?.....o..O... - 1f198: 99ff0900 00f4bfff f6bf0100 f4ff6f22 ............"o.. - 1f1a8: fe2d0000 ef53ff35 ff0400f4 f8ff8fc1 ..-.5.S......... - 1f1b8: 7f40fe2d ffff1afa f7afa1ff ffdf82cf -.@............. - 1f1c8: 28fdffff ff0e14fc ffffffff 0f0041e0 ...(.........A.. - 1f1d8: ffffffff 0000f0ff 00f9ff0f 00f0ff8f ................ - 1f1e8: f8ff0f00 f0ff8f00 ff0f0000 ff8f00f8 ................ - 1f1f8: 0e0000f0 6f00f6ff 0000e0ff fddf0000 .......o........ - 1f208: 00000000 ffff0000 00000000 ffff0000 ................ - 1f218: 00000000 ffff0000 00000000 ffff0000 ................ - 1f228: 00000000 ffff0000 00000000 ffffff4f ............O... - 1f238: 0000f4ff ffffff0b 0000b0ff ffffbf00 ................ - 1f248: 000000fb ffff0b00 000000b0 fbbf0000 ................ - 1f258: df000000 b11bfcff fffdffcf 2cc2ffff ..............., - 1f268: ffffffff ffffffff ffffffff ffffffff ................ - 1f278: dfffe0f0 ffffffff 00fdffff ffffef04 ................ - 1f288: 0040feff ffff1e00 e1ffffff b0af0000 ..@............. - 1f298: 0b000000 ff0500fa 00000010 1e50ff01 ..............P. - 1f2a8: 000000f6 e16f0000 0000b0af 0b000000 ......o......... - 1f2b8: fffffffa ff080080 ffffffff 1f00f1ff ................ - 1f2c8: ffffffff ffffffff ffffffff ffffffff ................ - 1f2d8: ffffffff ffffffff ffffffff ff8fffff ................ - 1f2e8: ffffffff 00f8ffff dabd0600 00ff0250 ............P... - 1f2f8: ffffef05 00ff42fe 7ba7ff7f 05fff9ff .....B.....{.... - 1f308: 0000c1ff 0effff2c 020000fc 5fffdf22 ....,.......".._ - 1f318: 0f0000f2 8fffffff 0f0000b0 00ffffff ................ + 262b4: 04500000 00000000 04500000 00010c03 ..P.......P..... + 262c4: 06400012 07010505 0b40001f 00000c0b ..@.......@..... + 262d4: 09f00061 fe00100a 0d8000b1 00000c0d a............... + 262e4: 0b0000ff ff000d0b 03600147 07010502 ........G.`..... + 262f4: 0560014c fd010f04 0570016a fd000f04 L.`.....j.p..... + 26304: 06600188 05000707 095001a1 02010808 ..`.......P..... + 26314: 03a001c1 fe000503 062001c9 03000306 .......... ..... + 26324: 03a001d2 00000303 05a001d7 feff1008 ................ + 26334: 0ab00217 00000c0a 05f00253 00000c05 ........S....... + 26344: 09300271 00000c09 092002a7 00000c09 q.0....... ..... + 26354: 0ab002dd 00000c0b 0930031f 00000c09 ..........0..... + 26364: 09e00355 00000c0a 09900391 00000c09 U............... + 26374: 0a5003c7 00000c0a 09e00403 00000c0a ..P............. + 26384: 03a0043f 00000903 03a0044d fd000c03 ?.......M....... + 26394: 0950045f 02010808 0950047f 03010608 _.P.......P..... + 263a4: 09500497 02010808 093004b7 00000c09 ..P.......0..... + 263b4: 109004ed fd000f10 0bb00565 00ff0c0d ........e....... + 263c4: 0c2005b3 00010c0b 0b9005f5 00000c0b .. ............. + 263d4: 0d300637 00010c0c 0ac0067f 00010c09 7.0............. + 263e4: 0a3006b5 00010c09 0c6006eb 00000c0c ..0.......`..... + 263f4: 0d000733 00010c0b 04f00775 00010c03 3.......u....... + 26404: 08300787 00ff0c08 0b8007b7 00010c0b ..0............. + 26414: 098007f9 00010c09 0f40082f 00010c0d ......../.@..... + 26424: 0d00087d 00010c0b 0d7008bf 00000c0d }.........p..... + 26434: 0b90090d 00010c0a 0d700949 fd000f0e ........I.p..... + 26444: 0ba009b2 00010c0a 09f009ee 00000c0a ................ + 26454: 09600a2a 00000c0a 0ca00a66 00010c0b *.`.....f....... + 26464: 0b600aa8 00ff0c0d 12000af6 00000c12 ..`............. + 26474: 0ac00b62 00000c0b 0a600ba4 00ff0c0c b.........`..... + 26484: 0a800bec 00000c0b 05500c2e fd010f05 ..........P..... + 26494: 05a00c54 feff1008 05500c94 fd000f04 T.........P..... + 264a4: 09500cb2 02010708 08000cce fe000208 ..P............. + 264b4: 09a00cd6 0a010205 09900cdb 00000909 ................ + 264c4: 0af00d04 00010c0a 09200d40 00000909 ........@. ..... + 264d4: 0af00d69 00000c0a 09d00da5 0000090a i............... + 264e4: 05a00dd2 00000c07 0b100dfc fd000c0a ................ + 264f4: 0ae00e38 00010c09 04700e6e 00010c03 8.......n.p..... + 26504: 04900e80 fdfe0f06 09e00ead 00010c09 ................ + 26514: 04700ee3 00010c02 10f00eef 0001090f ..p............. + 26524: 0ae00f33 00010909 0a300f5c 0000090a 3.......\.0..... + 26534: 0af00f89 fd010c0a 0af00fc5 fd000c0a ................ + 26544: 06901001 00010906 0800101c 00000908 ................ + 26554: 06a01040 00000b07 0ad01067 00010909 @.......g....... + 26564: 08f01090 00ff090a 0e6010bd 0000090f ..........`..... + 26574: 08d01101 00000909 08f0112a fdff0c0a ........*....... + 26584: 08501166 00000908 05a0118a fd000f06 f.P............. + 26594: 04d011b7 fd010f03 05a011ce fd000f05 ................ + 265a4: 095011f4 04000509 06b0120b 06000606 ..P............. + 265b4: 0500121d 03010403 10001223 fe001110 ........#....... + 265c4: 100012ab 00000c10 1000130b ff000e10 ................ + 265d4: 1000137b 00000c10 0b0013db 00000c0b {............... + 265e4: 1000141d fe001010 1000149d fe001010 ................ + 265f4: 1200151d ff000e12 1000159b fe001010 ................ + 26604: 1200161b 00000c12 10001687 fe001010 ................ + 26614: 08001707 ff000e08 0c00173f ff000e0c ........?....... + 26624: 12001793 fe001012 10001823 00000c10 ........#....... + 26634: 0e001883 fe02100a 0e0018d3 fd00120e ................ + 26644: 0e001951 ff000f0e 0e0019ba ff000e0e Q............... + 26654: 0e001a1c fe02100a 0e001a6c ffff0e10 ........l....... + 26664: 0a001adc ff000e0a 0a001b22 ff000e0a ........"....... + 26674: 0e001b68 ff000e0e 0e001bca 0400040e h............... + 26684: 12001be6 00000c12 14001c52 fe001014 ........R....... + 26694: 12001cf2 feff1014 10001d92 fe001010 ................ + 266a4: 0e001e12 01000a0e 0e001e58 01000a0e ........X....... + 266b4: 14001e9e ff000e14 10001f2a 00000c10 ........*....... + 266c4: 10001f8a fe001010 1000200a feff1111 ......... ...... + 266d4: 0e00209b ff000e0f 0e002104 fe00100e . .......!...... + 266e4: 0e002174 ff000e0e 0a0021d6 feff100c t!.......!...... + 266f4: 0e002236 fe00100e 0e0022a6 fe00100e 6"......."...... + 26704: 12002316 00000c12 10002382 fdff1212 .#.......#...... + 26714: 0c002424 fe00100c 14002484 ff000f14 $$.......$...... + 26724: 1400251a 01000a14 1400257e 01000a14 .%......~%...... + 26734: 140025e2 01000a14 14002646 01000a14 .%......F&...... + 26744: 140026aa 01000a14 1400270e ff000e15 .&.......'...... + 26754: 0e0027a1 fe01100c 0e002801 fe00100e .'.......(...... + 26764: 10002871 fdff1111 14002902 00000c14 q(.......)...... + 26774: 0c00297a fe00100c 102029da 01000b11 z).......) ..... + +00026784 : + 26784: aff00bbf 089ee00a c0078cd0 bf100000 ................ + 26794: 1ff5e01a e4f3513f f2403e0f 00100872 ....?Q...>@.r... + 267a4: e003c005 007a0000 0900005c 01a00780 ......z.\....... + 267b4: ffffffff 733e03fd 0030833c 00c500f2 ......>s<.0..... + 267c4: 0e100f00 f0020030 9f00f200 ffffffff ....0........... + 267d4: 36c33841 890030e3 00005c00 a007700a A8.6.0...\...p.. + 267e4: 79000000 00000000 00000079 20e9ff5c ...y....y...\.. + 267f4: 9ebcfc06 79b00e90 800f1000 0d000079 .......y....y... + 26804: 000079f5 50fdef03 cf060000 000040fe .y.....P.....@.. + 26814: 00f15e79 f3057900 07790007 bce92ff1 y^...y....y../.. + 26824: ae03a0af 0000d7ff 00007900 00790000 .........y....y. + 26834: 80de0300 00d00500 01500ce4 004c00e3 ..........P...L. + 26844: 00a9005a c004a006 4c00004e 500d5a00 Z.......N..L.Z.P + 26854: 1ce40000 0000a058 e173ce03 0000e93c ....X.....s.<... + 26864: 400ed600 7c0000a8 d003c003 3c202e00 ...@...|...... < + 26874: 0b003d00 09e20070 00d00680 00a0dd04 .=..p........... + 26884: 00b1ef09 3ce40900 d90000a0 00007d00 .......<.....}.. + 26894: a01cc00c ae3f0000 010000c1 0000c0df ......?......... + 268a4: 708feb03 00db0018 3ff0657f ea8f0040 ...p.....e.?@... + 268b4: 0000f703 f90b70cf 40bfcf66 30eadf08 .....p..f..@...0 + 268c4: 000000a5 f5000000 72e4e4f5 f205da00 ...........r.... + 268d4: 700fc00b 205f403f 007f106f 205f106f ...p?@_ o...o._ + 268e4: 700f403f f205c00b 303fda00 f106b00c ?@.p......?0.... + 268f4: e900f601 ad00bc00 ad00ae00 e900bc00 ................ + 26904: f106f601 303fb00c 06004a00 2ba0a474 ......?0.J..t..+ + 26914: 7f00e5ff 6b7b20fb a004008d 00130000 ..... {k........ + 26924: 10050000 500f0000 500f0000 511f0100 .......P...P...Q + 26934: ffffef10 744f34f3 500f0040 500f0000 .....4Ot@..P...P + 26944: fd520900 0fc5a00b 10110100 04f3ff1f ..R............. + 26954: 12034044 00901efc 00f10500 00b00a00 D@.............. + 26964: 00600f00 00105f00 0000ab00 0000f600 ..`.._.......... + 26974: 0000f105 0000b00a 0000600f 0000104f .........`..O... + 26984: 000000ac 040000f6 0a0000f1 0e0000c0 ................ + 26994: 4f000060 00000010 00c5ef08 cfa8cf00 `..O............ + 269a4: 00f50770 c00df20a 1ff80100 dc000080 p............... + 269b4: 0000603f 00603fbd 801fbd00 0ddc0000 ?`...?`......... + 269c4: f80100c0 0a00f507 a8cf00f2 080070cf .............p.. + 269d4: ef00c5ef f37a36ff 05305f00 305f00f3 .....6z.._0..._0 + 269e4: 5f00f305 00f30530 f305305f 05305f00 ..._0..._0..._0. + 269f4: fdbe04f3 98fd0770 002890cf 0000bf00 ....p.....(..... + 26a04: 00f20700 00af0000 804f0000 c03f0000 ..........O...?. + 26a14: c13e0000 c12e0000 d12e0000 f82e0000 ..>............. + 26a24: ff467777 6ffaffff 02ffffff b09f7777 wwF....o....ww.. + 26a34: e10c0000 f3090000 f6050000 df000000 ................ + 26a44: 040010e9 0000fd59 00f40600 643f0000 ....Y.........?d + 26a54: f3080040 fb8cc9bf d7ff7c00 01000000 @........|...... + 26a64: 000000eb 0010be00 506f0000 2f000000 ..........oP.../ + 26a74: 00000090 0000d00c 01f30800 f80300d5 ................ + 26a84: 00602f00 f72322ed ffff6f21 5581ffff ./`.."#.!o.....U + 26a94: 52f95655 2f000000 00000060 0500f602 UV.R.../`....... + 26aa4: 00ffffff 7077777f 0000e008 0000ad00 .....wwp........ + 26ab4: 10c20b00 ffdf0000 550430fb 0020ff68 .........0.Uh. . + 26ac4: 00f80400 920f0000 f6050050 fd8ad98f ........P....... + 26ad4: e9ef5b10 ce050010 9f0060fc 05708bc8 .[.......`....p. + 26ae4: 000000f8 0000d00c 00801f00 682f0000 ............../h + 26af4: 3f10faef d08f64ee 0600f12f 00c00ef4 ...?.d../....... + 26b04: f109f602 01f30600 b09f86de d8ef1900 ................ + 26b14: ffff8f00 77f7e8ff 008ffc77 90554f00 .......ww....OU. + 26b24: 00e00b00 00f80200 109f0000 b00f0000 ................ + 26b34: f4060000 dd000000 3f000000 0a000070 ...........?p... + 26b44: 010000f1 000000f9 00d7ff5c af76fc06 ........\.....v. + 26b54: 00d00ca0 c00df109 07f20700 c05e11f7 ..............^. + 26b64: feffbf00 54f90910 802fd07e 4ff60400 .......T~./....O + 26b74: f8000050 0500a01f 76fb09f6 6c00d0af P..........v...l + 26b84: 0010d8ff 0080fd8e fc68f80c 00505f00 ..........h.._P. + 26b94: 008f703f 7fc00e00 f01f0030 cf13d41f ?p......0....... + 26ba4: ffef04f1 0200f0a9 00f00a31 a00e0000 ........1....... + 26bb4: 9f000000 8da70930 df0700f7 1e0040eb ....0........@.. + 26bc4: 1003fc92 00000000 1efc1203 fc921e90 ................ + 26bd4: 00001003 01000000 a8d01fe9 00a0300e .............0.. + 26be4: 00420000 03f37d01 bf10e89f ee0000b5 ..B..}.......... + 26bf4: 17000081 0000b4df 00d2af04 ef820100 ................ + 26c04: 45f3ffff 00515555 01000000 ef101111 ...EUUQ......... + 26c14: 34f3ffff 50404444 ef000000 06000092 ...4DD@P........ + 26c24: 0000b5cf 00e29f03 02f36c00 bf20e99e .........l.... . + 26c34: 930000c6 04000000 0770fdbe a0bf77fc ..........p..w.. + 26c44: cf000027 09000000 010000f0 010000ea '............... + 26c54: 000010dd 000010ce 0000603f 00003001 ........?`...0.. + 26c64: 00000100 00f50600 405f0000 17000000 .........._@.... + 26c74: 00b5fdce fb050000 c27d2353 406e0000 ........S#}...n@ + 26c84: 8e000000 01f40210 493ffaae 1e900ab0 ..........?I.... + 26c94: 40ef5be6 8f300fe3 40af0010 d9001f98 .[.@..0....@.... + 26ca4: 403f0000 e8003f6a 401f0000 d9001f5c ..?@j?.....@\... + 26cb4: 403f0000 8f300f6a 40af0010 1e900a98 ..?@j.0....@.... + 26cc4: a6de5ad6 01f303f2 ee16faaf 406e0050 .Z..........P.n@ + 26cd4: 00000000 fb060000 00752353 17000000 ........S#u..... + 26ce4: 00a3fdce 02000000 000000fd f49f0000 ................ + 26cf4: 00000000 00b09e0f f2060000 0000207f ............. .. + 26d04: f801dc00 4f000000 00e00b60 00f00b00 .......O`....... + 26d14: 0100604f ed1111fa ff8f0000 00f3ffff O`.............. + 26d24: 4444c40e f406a04f af000000 0000cd10 ..DDO........... + 26d34: 5ff80200 40ebffff 5755f805 405f40df ..._...@..UW.@_@ + 26d44: 05fa0100 0f0000f4 11515fa0 ff05f43a ........._Q.:... + 26d54: 00faffff 5944745f 00f405fa 5ff20800 ...._tDY......._ + 26d64: 5f000040 0000f445 855ff209 05fb6a55 @.._E....._.Uj.. + 26d74: d7ffffff 8d020000 0400b4fe f99db8ff ................ + 26d84: 0020fd02 20bf5008 0f000000 000000a0 .. ..P. ........ + 26d94: 0000f602 602f0000 00000000 000000fa ....../`........ + 26da4: 00f20b00 2f000000 850000d2 89fb5f00 ......./....._.. + 26db4: 290080df 5f40ebdf 30eaffff 77975f00 ...)..@_...0._.w + 26dc4: 5f00f89e af000040 00405f60 5fe00d00 ..._@...`_@...._ + 26dd4: 06000040 00405ff4 5ff60300 03000040 @...._@...._@... + 26de4: 00405ff6 5ff40600 0d000040 00405fe0 ._@...._@...._@. + 26df4: 5f60af00 f89e7797 ffff5f00 5f0030ea ..`_.w..._...0._ + 26e04: 95ffffff 747777f9 0000405f 0000f405 .....wwt_@...... + 26e14: 11515f00 ffff0511 745fe0ff f4054444 ._Q......._tDD.. + 26e24: 5f000000 05000040 000000f4 7777975f ..._@......._.ww + 26e34: ffffff65 ffff5ffd 77f995ff 405f7477 e...._.....wwt_@ + 26e44: f4050000 5f000000 05000040 102222f5 ......._@...."". + 26e54: feffff5f 5555f805 00405f40 00f40500 _.....UU@_@..... + 26e64: 405f0000 f4050000 00000000 b5fe8d01 .._@............ + 26e74: fb4f0000 02b0df89 060020fd 00f20b60 ..O...... ..`... + 26e84: 0f000000 000000a0 00602f00 2f000000 ........./`..../ + 26e94: 09000060 00a00ff0 0bf00900 090000f2 `............... + 26ea4: 20fd02f0 00f00a00 df89fb4f 8d0200c0 ... ....O....... + 26eb4: 5f00c6fe 4f000040 0000f455 405ff504 ..._@..OU....._@ + 26ec4: 554f0000 040000f4 22525ff5 ff555f22 ..OU....._R""_U. + 26ed4: f5ffffff 5555855f 00f4558f 5ff50400 ...._.UU.U....._ + 26ee4: 4f000040 0000f455 405ff504 554f0000 @..OU....._@..OU + 26ef4: 040000f4 f4455ff5 5ff4455f 455ff445 ....._E._E._E._E + 26f04: f4455ff4 00f4455f 00faffff 00fa7777 ._E._E......ww.. + 26f14: 00fa0000 00fa0000 00fa0000 00fa0000 ................ + 26f24: 00fa0000 00fa0000 07f90000 0df60320 ............ ... + 26f34: 01f18ee9 5f30fbae eb020040 0100f405 ......0_@....... + 26f44: 405f00ec 0510de01 20ce00f4 bf405f00 .._@....... ._@. + 26f54: f4050030 0000909f 40efcf5f 91ff0500 0......._..@.... + 26f64: 5f0010ee 00fc03a0 0600f405 405f00f8 ..._.........._@ + 26f74: 05f50900 0c0000f4 00405ff2 00f40500 ........._@..... + 26f84: 405f0000 f4050000 5f000000 05000040 .._@......._@... + 26f94: 000000f4 0000405f 0000f405 00405f00 ...._@......._@. + 26fa4: 00f40500 975f0000 ff257777 5ff5ffff ......_.ww%...._ + 26fb4: 00000040 00fc951e f9080000 0000f55f @..........._... + 26fc4: fd95ff02 ae0000e0 705f5ff9 955f3f00 .........__p.?_. + 26fd4: 0b108ff3 315ff9c0 0ff304e9 f207f395 ......_1........ + 26fe4: 5ff900db 20ef0d30 00f3950f f900905f ..._0.. ...._... + 26ff4: 7100305f f3950f00 00000000 00505ff9 _0.q........._P. + 27004: ff554f00 f5040020 0000fd5f f9fa554f .OU. ..._...OU.. + 27014: 5ff50400 4f00f54a f20df455 405ff504 ..._J..OU....._@ + 27024: 554fd02f 946f00f4 00405ff5 f455afaf /.OU..o.._@...U. + 27034: f5df0000 0200405f 00f455ff 00f50600 ...._@...U...... + 27044: b5fe8d01 ff040000 00fa9eb8 0020fd02 .............. . + 27054: bf00f908 0a000020 00a00ff2 723f0000 .... .........?r + 27064: 000000f6 602ff900 0f000000 0000fa90 ....../`........ + 27074: 0bf70300 000000f2 d22f20af 908f0000 ......... /..... + 27084: 89fb4f00 0000a0ef 50ebdf28 ffff5f00 .O......(..P._.. + 27094: 975f00d7 5fc0bf78 f6070040 0000405f .._.x.._@..._@.. + 270a4: 00405ffa 405ffa00 5ff80300 f16e2362 ._@..._@..._b#n. + 270b4: fdffff5f 54855f30 405f0020 5f000000 _...0_.T ._@..._ + 270c4: 00000040 0000405f 8d010000 0000b5fe @..._@.......... + 270d4: 89fb4e00 0200a0ef 080020fd f20a00f9 .N....... ...... + 270e4: af000000 00a00f20 703f0000 0000602f .... .....?p/`.. + 270f4: 2f900f00 00000060 901f900f 2f000000 .../`........../ + 27104: 00f10b70 20af0000 0010fc03 0000f907 p...... ........ + 27114: df78fa6f 030000b0 00c5ffae 00000000 o.x............. + 27124: b015d43e 02000000 0080ffbf 01000000 >............... + 27134: ff5f0031 5f00d7ff c0bf7897 0700405f 1._...._.x.._@.. + 27144: 00405ff6 405ffa00 5ffa0000 f8030040 ._@..._@..._@... + 27154: 6e23525f ffff5fe1 855f30fc 5f00f955 _R#n._...0_.U.._ + 27164: 407f0040 0c00405f 00405fe0 5c00f902 @..@_@..._@....\ + 27174: 0720d9ef 90af87fc 0100c00e 00800f10 .. ............. + 27184: f50d0000 03000000 0050eaef feae0500 ..........P..... + 27194: 00000040 0000f14e 08f30500 f2080000 @...N........... + 271a4: bf77fa2f ff9d02a0 ffff00c7 67f5ffff /.w............g + 271b4: 7277fb78 00f70100 f7010000 01000000 x.wr............ + 271c4: 000000f7 0000f701 00f70100 f7010000 ................ + 271d4: 01000000 000000f7 0000f701 00f70100 ................ + 271e4: f7010000 306f0000 168f0000 080000f3 ......o0........ + 271f4: 00306ff1 f3168f00 f1080000 0000306f .o0.........o0.. + 27204: 00f3168f 6ff10800 8f000030 0000f405 .......o0....... + 27214: 703ff009 00cd0000 5f0020de a8ff0480 ..?p..... ._.... + 27224: 0300d0bf 0081fdbe 0000e00c 6f306f00 .............o0o + 27234: 0c000050 00fb00c0 00f60300 0000f209 P............... + 27244: 2f0000ae 901f0080 00ce0000 0000f207 .../............ + 27254: db00f605 0e000000 00504fc0 3b8f0000 .........OP....; + 27264: 000000e0 00f8fb02 0b000000 000010ff ................ + 27274: b04f0000 405f0000 00df0000 0ff50200 ..O..._@........ + 27284: ff020090 f0070040 0700e00b 0c0090fe ....@........... + 27294: 00f306b0 00e0aa0c f801601f f3541f00 .........`....T. + 272a4: 00106f00 107f00cd 00cc00f8 cb207f00 .o............ . + 272b4: f701ad00 712f0000 265f00f6 0d0000f2 ....../q.._&.... + 272c4: 0f00f1c6 0000d07b 00c0fd08 0080df0b ....{........... + 272d4: 70ff0300 30ff0600 ef000000 fe010020 ...p...0.... ... + 272e4: 903f0000 00cd0000 7f00408f 10de0030 ..?......@..0... + 272f4: 0300802f 00d00cfa f3fb0700 0c000000 /............... + 27304: 000000f8 00c0ef01 7fbf0000 6f000070 ............p..o + 27314: 0020af60 ed01b02f 00f10c00 f607f804 `. ./........... + 27324: f3090000 0000e00c f703f207 901f0000 ................ + 27334: 0010af00 1f00109e 00f602a0 0bf30800 ................ + 27344: 000000d0 00404fec fb5f0000 00000000 .....O@..._..... + 27354: 0000f20c f0090000 00000000 0000f009 ................ + 27364: f0090000 00000000 0000f009 ffffff3f ............?... + 27374: 777701fd 0090bf77 c01e0000 0c000000 ..www........... + 27384: 000000f2 0000f508 00f90400 ec010000 ................ + 27394: 00000000 000020cf 00508f00 904f0000 ..... ....P...O. + 273a4: 1e000000 777777f8 ffffff05 ff5ff0ff .....www......_. + 273b4: 5f50f705 00f30530 f305305f 05305f00 ..P_0..._0..._0. + 273c4: 305f00f3 5f00f305 00f30530 f705305f .._0..._0..._0.. + 273d4: 00ff5f50 0000007e 0000401f 0000900c P_..~....@...... + 273e4: 0000e007 0000f402 0000c900 00007e00 .............~.. + 273f4: 00402f00 00900c00 00e00700 00f30200 ./@............. + 27404: 00d90000 007e0000 302f0000 900d0000 ......~.../0.... + 27414: e0070000 ea35fabf ea00ea00 ea00ea00 ......5......... + 27424: ea00ea00 ea00ea00 ea00ea00 ea35ea00 ..............5. + 27434: 2f00fabf 9d000080 f30000e0 d00600d5 .../............ + 27444: 600c007b 103f201f 009a800b ffffe004 {..`. ?......... + 27454: 1111ffff f6071111 01e70300 0080fd9e ................ + 27464: 90af87ce af000002 06000000 ffbe02f2 ................ + 27474: 42ec20ff 502ff227 ec207f00 02f27f42 . .B'./P.. .B... + 27484: 206ffbbf 0000008f 00008f00 008f0000 ..o ............ + 27494: 8f000000 00b3fe2b ef78ec8f 00a08f30 ....+.....x.0... + 274a4: 208fc01e 8ff10700 f3050000 0700208f ... ......... .. + 274b4: 00a08ff1 ec8fd01e 8e30ef78 00b3fe2b ........x.0.+... + 274c4: c4ef3a00 7cd84f00 00d00df4 00f61307 .:...O.|........ + 274d4: 304f0000 f6030000 0d000000 100600d0 ..O0............ + 274e4: f47cd74f c4ef3a00 00000000 0000f701 O.|..:.......... + 274f4: 00f70100 f7010000 a3ff3b00 87fd04f7 .........;...... + 27504: d00ef7ce 3ff70b00 f7030060 0100304f .......?`...O0.. + 27514: 00503ff7 c00ef703 04f70a00 f7be65fc .?P..........e.. + 27524: b2ff3b00 fe3b00f7 fc0400a2 0e20ee67 .;....;.....g. . + 27534: a01e00c0 0700503f ffff4ff0 723ff1ff ....?P...O....?r + 27544: 0e202222 000200c0 af87fd04 ef3a0050 "" .........P.:. + 27554: 5d0000d6 b52f00fc 00f30470 a0ffff0c ...]../.p....... + 27564: 0053f748 0500305f 5f0000f3 f3050030 H.S._0....._0... + 27574: 305f0000 00f30500 00305f00 b2ff3b00 .._0....._0..;.. + 27584: 87fe04e9 d10ef9cf 3ff90a00 f9010060 ...........?`... + 27594: 0000404f 00603ff9 d00ef901 04f90900 O@...?`......... + 275a4: f8cf87fd b3ff3b00 000000f7 e909f405 .....;.......... + 275b4: 01b0af77 00d8ff7c 0000008f 0000f008 w...|........... + 275c4: 00008f00 bff20800 fb8f10ea f808fd89 ................ + 275d4: 8ff40600 781f0010 f80000f0 0f00008f .......x........ + 275e4: 0000f088 00008ff8 00f0880f 1a9ef800 ................ + 275f4: f00800f2 8ff0088f 088ff008 f0088ff0 ................ + 27604: 00e20700 0000f309 f1070000 00f10700 ................ + 27614: 0700f107 f10700f1 00f10700 0700f107 ................ + 27624: f10700f1 18f00800 fc3ec06e 00008f20 ........n.>. ... + 27634: 00f00800 008f0000 f0080000 8fd11d00 ................ + 27644: 08e21d00 00e21df0 00f32d8f 70fffe08 .........-.....p + 27654: bfe28f00 01f20830 008f10ee f008fb03 ....0........... + 27664: 8ff70700 8f8f8f8f 8f8f8f8f 8e8f8f8f ................ + 27674: 3b91fe3c ff08a2fe c6cf9f96 708fd08f <..;...........p + 27684: 00c09f00 00f1585f 0100f605 00008ff7 ...._X.......... + 27694: 0f00404f 0400f088 f80000f4 4f00008f O@.............O + 276a4: 880f0040 f40400f0 8ff80000 404f0000 @.............O@ + 276b4: 8e800f00 08a1fe3b d08fa6ff 6f00808f ....;..........o + 276c4: 0100f148 00008ff7 00f0880f 008ff800 H............... + 276d4: f0880f00 8ff80000 800f0000 c4ef3b00 .............;.. + 276e4: 87fd0400 d00e60cf 3ff10b00 f5030060 .....`.....?`... + 276f4: 0100304f 00603ff7 d00ef503 04f10b00 O0...?`......... + 27704: 60cf77fd c4ef3b00 fe3b8e00 fb8f00b3 .w.`.;....;..... + 27714: 8f30df57 c00d0090 0700108f 00008ff1 W.0............. + 27724: 208ff305 8ff10700 d01e00a0 ef78ec8f ... ..........x. + 27734: fe2b8f30 008f00b3 8f000000 00000000 0.+............. + 27744: 0000008f ff3b0000 fd04f7a2 0ef7de87 ......;......... + 27754: f70b00d0 0300603f 00304ff7 603ff701 ....?`...O0...?` + 27764: 0ef70300 f70b00d0 ce77fd04 ff3b00f7 ..........w...;. + 27774: 0000f7a3 00f70100 f7010000 01000000 ................ + 27784: f02b8ef7 8f90ed8f 208f00a0 00008f00 ..+........ .... + 27794: 8f00008f 008f0000 00008f00 91fdae02 ................ + 277a4: d069d71e 0000304f 0010b42f 60fdef06 ..i.O0../......` + 277b4: f55b0100 f7000001 f36ba75f 40ecdf19 ..[....._.k....@ + 277c4: 0000f305 cf00305f 8f04faff f3053075 ...._0......u0.. + 277d4: 305f0000 00f30500 00305f00 0000f404 .._0....._0..... + 277e4: 0080c61f ae10fc5d 5a2f0000 f50200e0 ....]...../Z.... + 277f4: 2f0000ae 0200e05a 0000aef5 00f0592f .../Z......./Y.. + 27804: 306ff504 ee51af00 02f5bf76 503ffbbe ..o0..Q.v.....?P + 27814: 0000c00d 00f206cb f900f502 00e00900 ................ + 27824: 800f009e 6f602f00 c00c0010 050000cb ...../`o........ + 27834: 0000f4f6 00d0ef00 708f0000 0000bb00 ...........p.... + 27844: 4f00109f 0e00f116 c00900f6 fc05600f ...O.........`.. + 27854: 00f600b0 5fab00ac 05105f10 f7500ff1 ......._._....P. + 27864: 0f00b00a c009f076 ac0000f5 8f4f00ba ....v.........O. + 27874: ff040000 a0ef0040 e00e0000 00f40800 ....@........... + 27884: 00704f00 308f209f cd00505f 0200902e .Op.. .0_P...... + 27894: 0000d0ff 0000f60a 00e1fd04 c00deb01 ................ + 278a4: 3f10be00 00406f80 c00d407f 06cb0000 ...?.o@..@...... + 278b4: f40200f3 0900ea00 108f00d0 1f00701f .............p.. + 278c4: 00107f70 00d9e00a f2f90300 cf000000 p............... + 278d4: 000000b0 0000406f 0000ad00 00f5791c ....o@.......y.. + 278e4: 70ee1a00 ff4f0000 5515f9ff 0000f45b ...p..O....U[... + 278f4: 0100804f 0b0000ec 8f0000e1 f7040040 O...........@... + 27904: e51e0000 ff5f5355 2c00fcff 61af00f5 ....US_....,...a + 27914: 0000cc00 db0000db 00db0000 1f00ea02 ................ + 27924: fa0500f4 00db0000 0000db00 cc0000db ................ + 27934: 61af0000 5ff52c00 155ff115 f1155ff1 ...a.,._.._.._.. + 27944: 5ff1155f 155ff115 f1155ff1 80be105f _.._.._.._.._... + 27954: 0140af03 701f00f6 1f00f701 00f90070 ..@....p....p... + 27964: fb00fb0a 01701f20 701f00f7 af03f601 .... .p....p.... + 27974: 0090be40 00000000 00e43d00 f5860cb5 @........=...... + 27984: 03f0201e 000290ef 02001000 400d90ce . .............@ + 27994: 0e003b89 0d0e003b ce028940 f8080090 .;..;...@....... + 279a4: 00f7e7ef 00000000 00000000 00000000 ................ + 279b4: 00dc4900 16000000 00ffffbf ff8d0300 .I.............. + 279c4: 00ffffff ffffcf00 00ffffff ffffff00 ................ + 279d4: 00ffc7ff eaffff00 00ff0051 0083ff00 ........Q....... + 279e4: 00ff0000 0000ff00 00ff0000 0000ff00 ................ + 279f4: 00ff0000 0000ff00 00ff0000 0000ff00 ................ + 27a04: 00ffff2b 0000ff00 2bffffdf 0000ffff +..........+.... + 27a14: dffdffdf 0000ffff dfb2ff2b 0000fdff ........+....... + 27a24: 2b000000 0000b2ff d0000000 ffffff0f ...+............ + 27a34: ff0df0ff 8888c8ff f0ffff8c 0000800f ................ + 27a44: f00ff008 0000800f ff0ff008 000080ff ................ + 27a54: f0ffff08 ccccec0f f00ff0ce ccccec0f ................ + 27a64: ff0ff0ce 000080ff f0ffff08 0000800f ................ + 27a74: f00ff008 0000800f ff0ff008 8888c8ff ................ + 27a84: d0ffff8c ffffff0f df0df0ff ffff73ff .............s.. + 27a94: fffdffff ffffa5ff ffffffff ffffa5ff ................ + 27aa4: dfffffff ffff73ff 00fdffff 00000000 .....s.......... + 27ab4: df000000 ffff73ff fffdffff ffffa5ff .....s.......... + 27ac4: ffffffff ffffa5ff dfffffff ffff73ff .............s.. + 27ad4: 00fdffff 00000000 df000000 ffff73ff .............s.. + 27ae4: fffdffff ffffa5ff ffffffff ffffa5ff ................ + 27af4: dfffffff ffff73ff 00fdffff 00000000 .....s.......... + 27b04: 00b10a00 00000000 00fcbf00 00000000 ................ + 27b14: 00fbff0b 00000000 1bc0ffbf 0b0000a0 ................ + 27b24: cf00fcff bf0000fb bf00c0ff ff0bb0ff ................ + 27b34: 0c0000fc ffbffbff 000000c0 fbffffcf ................ + 27b44: 00000000 b0ffff0c 00000000 00fbbf00 ................ + 27b54: 00000000 00b00b00 03000000 03000000 ................ + 27b64: 0010fc08 fcfff81c f5ff1c10 ff2cfcff ..............,. + 27b74: ffff05f5 0500f5ff 00f5ffff fdff1d00 ................ + 27b84: ff1c0010 1c10fcff fcfff9ff 05f5ff1c ................ + 27b94: f5dffcff d1ff0500 040000a4 000000a1 ................ + 27ba4: 0000e04f 10020000 1003f16f d05f0000 O.......o....._. + 27bb4: d13ff16f f1ff0300 fd5ff16f 40ff0d00 o.?.....o._....@ + 27bc4: ff09f16f 00f74f70 cf00f16f 00f09fe0 o...pO..o....... + 27bd4: 5f00f16f 00c0bff3 2f00f16f 00c0bff5 o.._....o../.... + 27be4: 1f00e04f 00e0aff6 4f000000 00f46ff4 O..........O.o.. + 27bf4: af000000 10fe0ff0 ff050000 d3ff06a0 ................ + 27c04: ff7f0000 ff9f0020 f4ffbeda ff060000 .... ........... + 27c14: 30fdffff 17000000 0050cabd 00000000 ...0......P..... + 27c24: 0000b88b 00000000 0000ffff 06300000 ..............0. + 27c34: 0360ffff dffd0400 effdffff ffff0d40 ..`.........@... + 27c44: ffffffff ffff4fd0 ffff9ff9 ffff08f4 .....O.......... + 27c54: ffff0220 f9ff0080 ff9f0000 f9ff0000 ............... + 27c64: ff9f0000 ffff0800 ffff0220 ffff4f80 ........ ....O.. + 27c74: ffff9ff9 ffff0df4 ffffffff dffe04d0 ................ + 27c84: dffdffff 06300040 0360ffff 00000000 ....@.0...`..... + 27c94: 0000ffff 00000000 0000b88b 00000000 ................ + 27ca4: 3f30dd03 000000f3 f5ff6f00 0000f44f ..0?.....o..O... + 27cb4: 99ff0900 00f4bfff f6bf0100 f4ff6f22 ............"o.. + 27cc4: fe2d0000 ef53ff35 ff0400f4 f8ff8fc1 ..-.5.S......... + 27cd4: 7f40fe2d ffff1afa f7afa1ff ffdf82cf -.@............. + 27ce4: 28fdffff ff0e14fc ffffffff 0f0041e0 ...(.........A.. + 27cf4: ffffffff 0000f0ff 00f9ff0f 00f0ff8f ................ + 27d04: f8ff0f00 f0ff8f00 ff0f0000 ff8f00f8 ................ + 27d14: 0e0000f0 6f00f6ff 0000e0ff fddf0000 .......o........ + 27d24: 00000000 ffff0000 00000000 ffff0000 ................ + 27d34: 00000000 ffff0000 00000000 ffff0000 ................ + 27d44: 00000000 ffff0000 00000000 ffffff4f ............O... + 27d54: 0000f4ff ffffff0b 0000b0ff ffffbf00 ................ + 27d64: 000000fb ffff0b00 000000b0 fbbf0000 ................ + 27d74: df000000 b11bfcff fffdffcf 2cc2ffff ..............., + 27d84: ffffffff ffffffff ffffffff ffffffff ................ + 27d94: dfffe0f0 ffffffff 00fdffff ffffef04 ................ + 27da4: 0040feff ffff1e00 e1ffffff b0af0000 ..@............. + 27db4: 0b000000 ff0500fa 00000010 1e50ff01 ..............P. + 27dc4: 000000f6 e16f0000 0000b0af 0b000000 ......o......... + 27dd4: fffffffa ff080080 ffffffff 1f00f1ff ................ + 27de4: ffffffff ffffffff ffffffff ffffffff ................ + 27df4: ffffffff ffffffff ffffffff ff8fffff ................ + 27e04: ffffffff 00f8ffff dabd0600 00ff0250 ............P... + 27e14: ffffef05 00ff42fe 7ba7ff7f 05fff9ff .....B.....{.... + 27e24: 0000c1ff 0effff2c 020000fc 5fffdf22 ....,.......".._ + 27e34: 0f0000f2 8fffffff 0f0000b0 00ffffff ................ ... - 1f334: ff000000 00f0ffff fff80b00 00f0ffff ................ - 1f344: fff42f00 002022fd ffe0cf00 0000c2ff ./..." ......... - 1f354: ff40ff2c 6ab7ff9f ff00f7ff ffffdf24 ,.@....j....$... - 1f364: ff0050fe dbac0520 00000060 00000000 .P.. ...`....... - 1f374: 008d0000 00ff0800 dfff8f00 ffffffff ................ - 1f384: ffffffff ffffffff ffffffff dfffffff ................ - 1f394: 00ffffff 00ff8f00 00ff0800 008d0000 ................ + 27e50: ff000000 00f0ffff fff80b00 00f0ffff ................ + 27e60: fff42f00 002022fd ffe0cf00 0000c2ff ./..." ......... + 27e70: ff40ff2c 6ab7ff9f ff00f7ff ffffdf24 ,.@....j....$... + 27e80: ff0050fe dbac0520 00000060 00000000 .P.. ...`....... + 27e90: 008d0000 00ff0800 dfff8f00 ffffffff ................ + 27ea0: ffffffff ffffffff ffffffff dfffffff ................ + 27eb0: 00ffffff 00ff8f00 00ff0800 008d0000 ................ ... - 1f3b0: 0000008d 00ff0800 8f000000 cf0000ff ................ - 1f3c0: 01ffffff ffffff50 fff706ff 00ffffff ....P........... - 1f3d0: ffffffbe ffae00ff 05ffffff ffffdff8 ................ - 1f3e0: 006002ff 00ff9f00 09000000 000000ff ..`............. - 1f3f0: 009e0000 00000000 00000000 00000000 ................ - 1f400: 00100600 00000000 d21f0000 00000000 ................ - 1f410: 0300008d 000010ee 0a00ff08 00b02fb1 ............./.. - 1f420: 00ff8f00 f407fc05 ffffffdf 605f5002 .............P_` - 1f430: fffffff9 0df706ff ffffbdc0 ae00ffff ................ - 1f440: ff9ff009 00ffffff 8ff009ae ffffffff ................ - 1f450: c00df706 ffffdfad 5f5002ff 0000e960 ..........P_`... - 1f460: 0500ff8f 00f406fc 00ff0800 b02fb10a ............../. - 1f470: 8d000000 ee020000 00000010 1f000000 ................ - 1f480: 000000d2 00000000 8f001006 ffffffff ................ - 1f490: fff8ffff fffffffc ffffffff ffff2f20 ............ /.. - 1f4a0: fcffffff ffff0c00 ffffffee feff2f20 ............ /.. - 1f4b0: ffffef22 e2fffffc ffff2e00 20fe4efe "............N. - 1f4c0: ffff0200 00c202e2 ffff0000 00000020 ............ ... - 1f4d0: ffff0000 00000000 ffff0000 ffffffff ................ - 1f4e0: 8fffffff ffffffff 00f8ffff 00000000 ................ - 1f4f0: 010030ff 0040ffcc 40ffff2d ffffef03 .0....@.-..@.... - 1f500: ffff3f40 ffff44ff ff9fffff ffffffff @?...D.......... - 1f510: ffffffff ffffffff ffffafff ff45ffff ..............E. - 1f520: 40ffffff ffffff4f ffef0340 2e0040ff ...@O...@....@.. - 1f530: 0030ffff 0000cc01 00000000 00000000 ..0............. - 1f540: 918f0000 00000000 70ffff00 00000000 ...........p.... - 1f550: 40fdffff ff000000 10faffff ffff0000 ...@............ - 1f560: 00f7ffff ffffff00 00d5ffff ffffffff ................ - 1f570: ffb2ffff ffffffff fffffdff ffffffff ................ - 1f580: fffffffd b2ffffff ffffffff ff00d5ff ................ - 1f590: f7ffffff ffff0000 0010faff fdffff00 ................ - 1f5a0: 00000040 0070ffff 8e000000 000000a1 @.....p......... + 27ecc: 0000008d 00ff0800 8f000000 cf0000ff ................ + 27edc: 01ffffff ffffff50 fff706ff 00ffffff ....P........... + 27eec: ffffffbe ffae00ff 05ffffff ffffdff8 ................ + 27efc: 006002ff 00ff9f00 09000000 000000ff ..`............. + 27f0c: 009e0000 00000000 00000000 00000000 ................ + 27f1c: 00100600 00000000 d21f0000 00000000 ................ + 27f2c: 0300008d 000010ee 0a00ff08 00b02fb1 ............./.. + 27f3c: 00ff8f00 f407fc05 ffffffdf 605f5002 .............P_` + 27f4c: fffffff9 0df706ff ffffbdc0 ae00ffff ................ + 27f5c: ff9ff009 00ffffff 8ff009ae ffffffff ................ + 27f6c: c00df706 ffffdfad 5f5002ff 0000e960 ..........P_`... + 27f7c: 0500ff8f 00f406fc 00ff0800 b02fb10a ............../. + 27f8c: 8d000000 ee020000 00000010 1f000000 ................ + 27f9c: 000000d2 00000000 8f001006 ffffffff ................ + 27fac: fff8ffff fffffffc ffffffff ffff2f20 ............ /.. + 27fbc: fcffffff ffff0c00 ffffffee feff2f20 ............ /.. + 27fcc: ffffef22 e2fffffc ffff2e00 20fe4efe "............N. + 27fdc: ffff0200 00c202e2 ffff0000 00000020 ............ ... + 27fec: ffff0000 00000000 ffff0000 ffffffff ................ + 27ffc: 8fffffff ffffffff 00f8ffff 00000000 ................ + 2800c: 010030ff 0040ffcc 40ffff2d ffffef03 .0....@.-..@.... + 2801c: ffff3f40 ffff44ff ff9fffff ffffffff @?...D.......... + 2802c: ffffffff ffffffff ffffafff ff45ffff ..............E. + 2803c: 40ffffff ffffff4f ffef0340 2e0040ff ...@O...@....@.. + 2804c: 0030ffff 0000cc01 00000000 00000000 ..0............. + 2805c: 918f0000 00000000 70ffff00 00000000 ...........p.... + 2806c: 40fdffff ff000000 10faffff ffff0000 ...@............ + 2807c: 00f7ffff ffffff00 00d5ffff ffffffff ................ + 2808c: ffb2ffff ffffffff fffffdff ffffffff ................ + 2809c: fffffffd b2ffffff ffffffff ff00d5ff ................ + 280ac: f7ffffff ffff0000 0010faff fdffff00 ................ + 280bc: 00000040 0070ffff 8e000000 000000a1 @.....p......... ... - 1f5c0: 00f8ff8f fff8ff8f ff00ffff ffffffff ................ - 1f5d0: ffff00ff ffffffff ffffff00 00ffffff ................ - 1f5e0: ffffffff ff00ffff ffffffff ffff00ff ................ - 1f5f0: ffffffff ffffff00 00ffffff ffffffff ................ - 1f600: ff00ffff ffffffff ffff00ff ffffffff ................ - 1f610: ffffff00 00ffffff 7fffffff 7f00f7ff ................ - 1f620: ff8ff7ff ffffffff fffffff8 ffffffff ................ - 1f630: ffffffff ffffffff ffffffff ffffffff ................ - 1f640: ffffffff ffffffff ffffffff ffffffff ................ - 1f650: ffffffff ffffffff ffffffff ffffffff ................ - 1f660: ffffffff ffffffff ffffffff ffffffff ................ - 1f670: ffffffff ffffffff ffffffff ffff8fff ................ - 1f680: f8ffffff 00000000 0010cc00 d2ffff03 ................ - 1f690: ffff0400 ff0430fe 04f4ffff ffffffff .....0.......... - 1f6a0: ffffff54 fffff9ff ffffffff ffffffff T............... - 1f6b0: ffffffff fffffff9 ffff44ff ff04f3ff .........D...... - 1f6c0: 0430feff 00d2ffff 10ccff04 00ff0300 ..0............. - 1f6d0: 00000000 2d000000 000000d2 ef010000 .......-........ - 1f6e0: 000010fe ff1d0000 0000d1ff ffcf0000 ................ - 1f6f0: 0000fcff ffff0b00 00b0ffff ffffaf00 ................ - 1f700: 00faffff ffffff09 90ffffff ffffff0f ................ - 1f710: f0ffffff ffffff08 80ffffff 00000000 ................ - 1f720: 00000000 ffffff0c c0ffffff ffffff0f ................ - 1f730: f0ffffff ffffff0f f0ffffff ffffff0c ................ - 1f740: c0ffffff 1a000000 01000040 0000f0df ........@....... - 1f750: 00a0ff1d 00fadf01 a0ff1d00 fadf0100 ................ - 1f760: ff0c0000 0d0000a0 000080ff 00f8df01 ................ - 1f770: ff1d0000 01000080 0000f8df 80ff1d00 ................ - 1f780: df010000 000000f0 a104501b 0f000000 .........P...... - 1f790: 000010fd 00d1ff0a fdaf0000 0a000010 ................ - 1f7a0: 0000d1ff 10fdaf00 ff0a0000 080000c0 ................ - 1f7b0: 0000d0ff 0010fd8f 00d1ff08 10fd8f00 ................ - 1f7c0: d1ff0800 fd0f0000 05000010 000000b1 ................ - 1f7d0: ff040000 00000040 80ff0800 00000000 ....@........... - 1f7e0: 0080ff08 08000000 000080ff ff080000 ................ - 1f7f0: 48000080 c8ff8c88 ffff8488 ffffffff ...H............ - 1f800: ffffffff ffffffff ff8c8848 008488c8 ........H....... - 1f810: 80ff0800 00000000 0080ff08 08000000 ................ - 1f820: 000080ff ff080000 00000080 40ff0400 ...............@ - 1f830: 44140000 44444444 ffffef41 feffffff ...DDDDDA....... - 1f840: ffffffff 7bffffff bbbbbbbb 0000b7bb .......{........ - 1f850: daffad05 00000050 88fcdf04 0040fdcf ....P.........@. - 1f860: 40fe7f00 f7ef0400 f4ff0700 4f809e00 ...@...........O - 1f870: ff4f70ff f8af00c0 dff4ff0c ff9a80ff .pO............. - 1f880: fdff08fe ef80ffdf ff08feff c0ff4ffd .............O.. - 1f890: 0cf8ff8f ff07f4ff 80ee08f4 0070ff4f ............O.p. - 1f8a0: 0040fe7f 00f8ef04 fcdf0400 40fdcf88 ..@............@ - 1f8b0: 05000000 50daffad 208c0000 00000000 .......P... .... - 1f8c0: 00000000 0000e4df 00000000 ff1b0000 ................ - 1f8d0: fddf4980 000000a5 ffff7f00 d4ff8cd8 .I.............. - 1f8e0: 04000000 0000f8ef 0070ff4e ff1c0000 ........N.p..... - 1f8f0: ff04e869 e30400f7 fffe9f00 40ffcf80 i..............@ - 1f900: 0570ff0d 8fe0ffff ff0dd0ff ff2d00f7 ..p...........-. - 1f910: d0ff8fe0 00fcff04 cff8af00 7f0030ff .............0.. - 1f920: 060040ff 00f7ffff f4ff0800 ff3e0000 .@............>. - 1f930: 000000a0 82c8ff4d 00f7bf01 5a000000 ....M..........Z - 1f940: 0810fcdf 0000a0ff 00000000 fd4e0000 ..............N. + 280dc: 00f8ff8f fff8ff8f ff00ffff ffffffff ................ + 280ec: ffff00ff ffffffff ffffff00 00ffffff ................ + 280fc: ffffffff ff00ffff ffffffff ffff00ff ................ + 2810c: ffffffff ffffff00 00ffffff ffffffff ................ + 2811c: ff00ffff ffffffff ffff00ff ffffffff ................ + 2812c: ffffff00 00ffffff 7fffffff 7f00f7ff ................ + 2813c: ff8ff7ff ffffffff fffffff8 ffffffff ................ + 2814c: ffffffff ffffffff ffffffff ffffffff ................ + 2815c: ffffffff ffffffff ffffffff ffffffff ................ + 2816c: ffffffff ffffffff ffffffff ffffffff ................ + 2817c: ffffffff ffffffff ffffffff ffffffff ................ + 2818c: ffffffff ffffffff ffffffff ffff8fff ................ + 2819c: f8ffffff 00000000 0010cc00 d2ffff03 ................ + 281ac: ffff0400 ff0430fe 04f4ffff ffffffff .....0.......... + 281bc: ffffff54 fffff9ff ffffffff ffffffff T............... + 281cc: ffffffff fffffff9 ffff44ff ff04f3ff .........D...... + 281dc: 0430feff 00d2ffff 10ccff04 00ff0300 ..0............. + 281ec: 00000000 2d000000 000000d2 ef010000 .......-........ + 281fc: 000010fe ff1d0000 0000d1ff ffcf0000 ................ + 2820c: 0000fcff ffff0b00 00b0ffff ffffaf00 ................ + 2821c: 00faffff ffffff09 90ffffff ffffff0f ................ + 2822c: f0ffffff ffffff08 80ffffff 00000000 ................ + 2823c: 00000000 ffffff0c c0ffffff ffffff0f ................ + 2824c: f0ffffff ffffff0f f0ffffff ffffff0c ................ + 2825c: c0ffffff 1a000000 01000040 0000f0df ........@....... + 2826c: 00a0ff1d 00fadf01 a0ff1d00 fadf0100 ................ + 2827c: ff0c0000 0d0000a0 000080ff 00f8df01 ................ + 2828c: ff1d0000 01000080 0000f8df 80ff1d00 ................ + 2829c: df010000 000000f0 a104501b 0f000000 .........P...... + 282ac: 000010fd 00d1ff0a fdaf0000 0a000010 ................ + 282bc: 0000d1ff 10fdaf00 ff0a0000 080000c0 ................ + 282cc: 0000d0ff 0010fd8f 00d1ff08 10fd8f00 ................ + 282dc: d1ff0800 fd0f0000 05000010 000000b1 ................ + 282ec: ff040000 00000040 80ff0800 00000000 ....@........... + 282fc: 0080ff08 08000000 000080ff ff080000 ................ + 2830c: 48000080 c8ff8c88 ffff8488 ffffffff ...H............ + 2831c: ffffffff ffffffff ff8c8848 008488c8 ........H....... + 2832c: 80ff0800 00000000 0080ff08 08000000 ................ + 2833c: 000080ff ff080000 00000080 40ff0400 ...............@ + 2834c: 44140000 44444444 ffffef41 feffffff ...DDDDDA....... + 2835c: ffffffff 7bffffff bbbbbbbb 0000b7bb .......{........ + 2836c: daffad05 00000050 88fcdf04 0040fdcf ....P.........@. + 2837c: 40fe7f00 f7ef0400 f4ff0700 4f809e00 ...@...........O + 2838c: ff4f70ff f8af00c0 dff4ff0c ff9a80ff .pO............. + 2839c: fdff08fe ef80ffdf ff08feff c0ff4ffd .............O.. + 283ac: 0cf8ff8f ff07f4ff 80ee08f4 0070ff4f ............O.p. + 283bc: 0040fe7f 00f8ef04 fcdf0400 40fdcf88 ..@............@ + 283cc: 05000000 50daffad 208c0000 00000000 .......P... .... + 283dc: 00000000 0000e4df 00000000 ff1b0000 ................ + 283ec: fddf4980 000000a5 ffff7f00 d4ff8cd8 .I.............. + 283fc: 04000000 0000f8ef 0070ff4e ff1c0000 ........N.p..... + 2840c: ff04e869 e30400f7 fffe9f00 40ffcf80 i..............@ + 2841c: 0570ff0d 8fe0ffff ff0dd0ff ff2d00f7 ..p...........-. + 2842c: d0ff8fe0 00fcff04 cff8af00 7f0030ff .............0.. + 2843c: 060040ff 00f7ffff f4ff0800 ff3e0000 .@............>. + 2844c: 000000a0 82c8ff4d 00f7bf01 5a000000 ....M..........Z + 2845c: 0810fcdf 0000a0ff 00000000 fd4e0000 ..............N. ... - 1f958: 0000c802 d22d0000 00000000 00000000 ......-......... - 1f968: 0000fbbf 00000000 ffff0500 00000050 ............P... - 1f978: 0d000000 00d0ffff 00000000 ffff7f00 ................ - 1f988: 000000f7 ff010000 10ff8dd8 00000000 ................ - 1f998: 0aa0ff0a 0000a0ff ff3f0000 f3ff0bb0 ..........?..... - 1f9a8: 00000000 0cc0ffcf 0000fcff ffff0500 ................ - 1f9b8: ffff0dd0 0e000050 9ff9ffff 00e0ffff ....P........... - 1f9c8: ffff8f00 ffff2ee2 ff0200f8 0990ffff ................ - 1f9d8: 10ffffff ffffff0a ffff3ee3 ff0fa0ff .........>...... - 1f9e8: ffffffff f0ffffff ffffff08 ffffffff ................ - 1f9f8: 000080ff 00000000 00000000 00000000 ................ - 1fa08: 000000d8 00000000 ffff80ff ff070070 ............p... - 1fa18: fffff8ff ff6f00f6 8e78fdff e8ff15ff ......o...x..... - 1fa28: 0200e2ff 20fe4fe5 000020fe 00f3ff13 .....O. . ...... - 1fa38: 00000052 0031ff3f 02000052 205ef4ef R...?.1.R.....^ - 1fa48: 8e7820fe e8ff51ff ffffe2ff ff6f00f6 . x..Q........o. - 1fa58: fffffdff ff070070 0000f8ff 00000000 ....p........... - 1fa68: 000080ff 00000000 000000d8 00000000 ................ + 28474: 0000c802 d22d0000 00000000 00000000 ......-......... + 28484: 0000fbbf 00000000 ffff0500 00000050 ............P... + 28494: 0d000000 00d0ffff 00000000 ffff7f00 ................ + 284a4: 000000f7 ff010000 10ff8dd8 00000000 ................ + 284b4: 0aa0ff0a 0000a0ff ff3f0000 f3ff0bb0 ..........?..... + 284c4: 00000000 0cc0ffcf 0000fcff ffff0500 ................ + 284d4: ffff0dd0 0e000050 9ff9ffff 00e0ffff ....P........... + 284e4: ffff8f00 ffff2ee2 ff0200f8 0990ffff ................ + 284f4: 10ffffff ffffff0a ffff3ee3 ff0fa0ff .........>...... + 28504: ffffffff f0ffffff ffffff08 ffffffff ................ + 28514: 000080ff 00000000 00000000 00000000 ................ + 28524: 000000d8 00000000 ffff80ff ff070070 ............p... + 28534: fffff8ff ff6f00f6 8e78fdff e8ff15ff ......o...x..... + 28544: 0200e2ff 20fe4fe5 000020fe 00f3ff13 .....O. . ...... + 28554: 00000052 0031ff3f 02000052 205ef4ef R...?.1.R.....^ + 28564: 8e7820fe e8ff51ff ffffe2ff ff6f00f6 . x..Q........o. + 28574: fffffdff ff070070 0000f8ff 00000000 ....p........... + 28584: 000080ff 00000000 000000d8 00000000 ................ ... - 1fa80: 01000000 000010dd ff1d0000 000000d1 ................ - 1fa90: fdffdf01 1d000010 d1ff99ff f9df0100 ................ - 1faa0: 10fd9f00 0090ff1d bfd1ff09 000000f9 ................ - 1fab0: 905ffb9f 09000000 000000f5 00000000 .._............. - 1fac0: 00000000 5f000000 00000090 f9bff509 ......._........ - 1fad0: 9f000000 90ff1dfb d1ff0900 00f9df01 ................ - 1fae0: 0010fd9f ff99ff1d 010000d1 10fdffdf ................ - 1faf0: 1d000000 0000d1ff dd010000 00000010 ................ + 2859c: 01000000 000010dd ff1d0000 000000d1 ................ + 285ac: fdffdf01 1d000010 d1ff99ff f9df0100 ................ + 285bc: 10fd9f00 0090ff1d bfd1ff09 000000f9 ................ + 285cc: 905ffb9f 09000000 000000f5 00000000 .._............. + 285dc: 00000000 5f000000 00000090 f9bff509 ......._........ + 285ec: 9f000000 90ff1dfb d1ff0900 00f9df01 ................ + 285fc: 0010fd9f ff99ff1d 010000d1 10fdffdf ................ + 2860c: 1d000000 0000d1ff dd010000 00000010 ................ ... - 1fb10: 00d11d00 00000000 df010000 ffef10fd ................ - 1fb20: 00d0ffff d1ffff1d ffffffaf cfcf00f0 ................ - 1fb30: 0000fcfc 00f00f00 b6f11f6b 0f000000 ........k....... - 1fb40: 0f0000f0 000000f0 00f00f00 00f00f00 ................ - 1fb50: 0f000000 0f0000f0 000000f0 b6f11f6b ............k... - 1fb60: 00f00f00 cfcf0000 0f00fcfc faffffff ................ - 1fb70: d1ffff1d ffff0d00 df01feff 000010fd ................ - 1fb80: 00000000 00d11d00 00000000 00000000 ................ - 1fb90: ff8f0000 0000e2ff ffff0000 0020feff .............. . - 1fba0: ffff0000 ffffffff fffff8ff ffffffff ................ - 1fbb0: ffffffff ffffffff ffffffff ffffffff ................ - 1fbc0: ffffffff ffffffff ffffffff ffffffff ................ - 1fbd0: ffffffff ffffffff ffffffff ffffffff ................ - 1fbe0: ffffffff ffffffff ff8fffff ffffffff ................ - 1fbf0: 0000f8ff 00b00b00 00000000 00fbbf00 ................ - 1fc00: 00000000 b0ffff0b 00000000 fbffffbf ................ - 1fc10: 0b000000 ffffffff 4f0000b0 ffffffff ...........O.... - 1fc20: 000000f4 00ffff00 00000000 00ffff00 ................ - 1fc30: 00000000 00ffff00 00000000 00ffff00 ................ - 1fc40: 00000000 00ffff00 ffdf0000 0ffddff0 ................ - 1fc50: fffffdff 9f0000f9 ffffffff ffffffff ................ - 1fc60: ffffffff f0ffffff ffdfffe0 ffffffff ................ - 1fc70: 0000fdff 00000000 00000000 00000000 ................ - 1fc80: 0062ea0a 00000000 f0ffff02 00000000 ..b............. - 1fc90: ffff9f00 00000000 ffff0f00 000000d0 ................ - 1fca0: ffff0200 000000fb ef030000 000070ff .............p.. - 1fcb0: 04000000 0000f2ff 00000000 0000fbbf ................ - 1fcc0: 00000000 0030ff6f 00000200 0090ff4f ....o.0.....O... - 1fcd0: 00f38f02 00d0ff6f e4ffff0a 00d1ffbf ....o........... - 1fce0: ffffef00 00d1ffff ffff0a00 0090ffff ................ - 1fcf0: ff6f0000 0030fbff ff020000 000072db ..o...0......r.. - 1fd00: 08000000 000080ee ff086106 2d0080ff .........a.....- - 1fd10: 33efd0ff ff2e00fe 3ff30ef3 f3ff2ee0 ...3.......?.... - 1fd20: ffff8f00 00f3ff6e ffff8e00 0000f3ff ....n........... - 1fd30: ffef0200 000000f3 ffff2e00 08000030 ............0... - 1fd40: ffffffef ff080030 ffeff6ff 33ef0030 ....0.......0..3 - 1fd50: ffef02fe 3ff30e30 ffef02e0 f8ff8f30 ....0..?....0... - 1fd60: fddf0200 00e88e00 10660000 ffdf0000 ..........f..... - 1fd70: 00200dff ffffff00 0000e20f 0fffffff .. ............. - 1fd80: fff0dffd 0020ffff fffff0ff ffffffff ...... ......... - 1fd90: fffffff0 f0ffffff ffffffff fff0ffff ................ - 1fda0: ffffffff fffff0ff ffffffff fffffff0 ................ - 1fdb0: f0ffffff ffffffff fff0ffff ffffffff ................ - 1fdc0: ffdff0ff fffdffff 000000f9 ffff0000 ................ - 1fdd0: 00ffffff ffffdf00 0000fdff ffffff8f ................ - 1fde0: ff00c2ff ffffffff 00ff20fe ff010000 ......... ...... - 1fdf0: 0000ffe2 fcff0000 000000ff ffffff00 ................ - 1fe00: 00000000 ffffffff ffffffff ffffffff ................ - 1fe10: ffffffff 11fbffff ffffffbf 1f00f1ff ................ - 1fe20: ffffffff ff1f00f1 fbffffff ffffbf11 ................ - 1fe30: ffffffff 8fffffff ffffffff df00f8ff ................ - 1fe40: 0000fdff fcffff01 ff030000 0000f7ff ................ - 1fe50: f2ffff06 ff080000 0000d0ff ffffff0a ................ - 1fe60: ff0cd0ff a0ffffff ffffff0e ff0d20ff ............. .. - 1fe70: 00f8ffff ff0a0000 000000e0 0050ff0e ..............P. - 1fe80: fc2f0000 00000000 0000f35f a09f0000 ../....._....... - 1fe90: 00000000 000010df 00d70000 04000000 ................ - 1fea0: 000040ee 99ffdf00 0000fdff ff99ffff .@.............. - 1feb0: ff0000ff ffffffff ffff0000 00000090 ................ - 1fec0: 0dffff00 200dffff ff0fffff ffe20fff ....... ........ - 1fed0: ffff0fff fffffd0f 20ffff0f 0fffff00 ........... .... - 1fee0: ffffffff ff0fffff ffffffff ffff0fff ................ - 1fef0: ffdfffff ffffff0f 0f0000ff ffffffff ................ - 1ff00: ff0f0000 00ffffff ffff0d00 0000fdff ................ - 1ff10: 0000cc00 02000000 000030ff ffbf0100 .........0...... - 1ff20: 000020fc ffffff1e 9f0000e1 f8ffffff . .............. - 1ff30: ffef0000 00fdffff ffffff00 0100ffff ................ - 1ff40: ffffffff ff0300ff ffffffff ffff0830 ............0... - 1ff50: 80ffffff ffffff1e cfe1ffff ffffffff ................ - 1ff60: ffcffcff ffffffff 000000fc 00000000 ................ - 1ff70: ff0e0000 000000e0 40ee0400 ff8f0000 ...........@.... - 1ff80: ffffffff fff8ffff ffffffff ffffffff ................ - 1ff90: 0ff000ff 000ff000 f000ffff 0ff0000f ................ - 1ffa0: ffffff00 ffffffff ffffffff 888008f8 ................ - 1ffb0: ff8f8008 8008f8ff 8f800888 ffffffff ................ - 1ffc0: ffffffff 00ffffff 000000f0 ffff000f ................ - 1ffd0: 0000f000 ff000f00 ffffffff ffffffff ................ - 1ffe0: ffff8fff ffffffff 0000f8ff 00000000 ................ + 2862c: 00d11d00 00000000 df010000 ffef10fd ................ + 2863c: 00d0ffff d1ffff1d ffffffaf cfcf00f0 ................ + 2864c: 0000fcfc 00f00f00 b6f11f6b 0f000000 ........k....... + 2865c: 0f0000f0 000000f0 00f00f00 00f00f00 ................ + 2866c: 0f000000 0f0000f0 000000f0 b6f11f6b ............k... + 2867c: 00f00f00 cfcf0000 0f00fcfc faffffff ................ + 2868c: d1ffff1d ffff0d00 df01feff 000010fd ................ + 2869c: 00000000 00d11d00 00000000 00000000 ................ + 286ac: ff8f0000 0000e2ff ffff0000 0020feff .............. . + 286bc: ffff0000 ffffffff fffff8ff ffffffff ................ + 286cc: ffffffff ffffffff ffffffff ffffffff ................ + 286dc: ffffffff ffffffff ffffffff ffffffff ................ + 286ec: ffffffff ffffffff ffffffff ffffffff ................ + 286fc: ffffffff ffffffff ff8fffff ffffffff ................ + 2870c: 0000f8ff 00b00b00 00000000 00fbbf00 ................ + 2871c: 00000000 b0ffff0b 00000000 fbffffbf ................ + 2872c: 0b000000 ffffffff 4f0000b0 ffffffff ...........O.... + 2873c: 000000f4 00ffff00 00000000 00ffff00 ................ + 2874c: 00000000 00ffff00 00000000 00ffff00 ................ + 2875c: 00000000 00ffff00 ffdf0000 0ffddff0 ................ + 2876c: fffffdff 9f0000f9 ffffffff ffffffff ................ + 2877c: ffffffff f0ffffff ffdfffe0 ffffffff ................ + 2878c: 0000fdff 00000000 00000000 00000000 ................ + 2879c: 0062ea0a 00000000 f0ffff02 00000000 ..b............. + 287ac: ffff9f00 00000000 ffff0f00 000000d0 ................ + 287bc: ffff0200 000000fb ef030000 000070ff .............p.. + 287cc: 04000000 0000f2ff 00000000 0000fbbf ................ + 287dc: 00000000 0030ff6f 00000200 0090ff4f ....o.0.....O... + 287ec: 00f38f02 00d0ff6f e4ffff0a 00d1ffbf ....o........... + 287fc: ffffef00 00d1ffff ffff0a00 0090ffff ................ + 2880c: ff6f0000 0030fbff ff020000 000072db ..o...0......r.. + 2881c: 08000000 000080ee ff086106 2d0080ff .........a.....- + 2882c: 33efd0ff ff2e00fe 3ff30ef3 f3ff2ee0 ...3.......?.... + 2883c: ffff8f00 00f3ff6e ffff8e00 0000f3ff ....n........... + 2884c: ffef0200 000000f3 ffff2e00 08000030 ............0... + 2885c: ffffffef ff080030 ffeff6ff 33ef0030 ....0.......0..3 + 2886c: ffef02fe 3ff30e30 ffef02e0 f8ff8f30 ....0..?....0... + 2887c: fddf0200 00e88e00 10660000 ffdf0000 ..........f..... + 2888c: 00200dff ffffff00 0000e20f 0fffffff .. ............. + 2889c: fff0dffd 0020ffff fffff0ff ffffffff ...... ......... + 288ac: fffffff0 f0ffffff ffffffff fff0ffff ................ + 288bc: ffffffff fffff0ff ffffffff fffffff0 ................ + 288cc: f0ffffff ffffffff fff0ffff ffffffff ................ + 288dc: ffdff0ff fffdffff 000000f9 ffff0000 ................ + 288ec: 00ffffff ffffdf00 0000fdff ffffff8f ................ + 288fc: ff00c2ff ffffffff 00ff20fe ff010000 ......... ...... + 2890c: 0000ffe2 fcff0000 000000ff ffffff00 ................ + 2891c: 00000000 ffffffff ffffffff ffffffff ................ + 2892c: ffffffff 11fbffff ffffffbf 1f00f1ff ................ + 2893c: ffffffff ff1f00f1 fbffffff ffffbf11 ................ + 2894c: ffffffff 8fffffff ffffffff df00f8ff ................ + 2895c: 0000fdff fcffff01 ff030000 0000f7ff ................ + 2896c: f2ffff06 ff080000 0000d0ff ffffff0a ................ + 2897c: ff0cd0ff a0ffffff ffffff0e ff0d20ff ............. .. + 2898c: 00f8ffff ff0a0000 000000e0 0050ff0e ..............P. + 2899c: fc2f0000 00000000 0000f35f a09f0000 ../....._....... + 289ac: 00000000 000010df 00d70000 04000000 ................ + 289bc: 000040ee 99ffdf00 0000fdff ff99ffff .@.............. + 289cc: ff0000ff ffffffff ffff0000 00000090 ................ + 289dc: 0dffff00 200dffff ff0fffff ffe20fff ....... ........ + 289ec: ffff0fff fffffd0f 20ffff0f 0fffff00 ........... .... + 289fc: ffffffff ff0fffff ffffffff ffff0fff ................ + 28a0c: ffdfffff ffffff0f 0f0000ff ffffffff ................ + 28a1c: ff0f0000 00ffffff ffff0d00 0000fdff ................ + 28a2c: 0000cc00 02000000 000030ff ffbf0100 .........0...... + 28a3c: 000020fc ffffff1e 9f0000e1 f8ffffff . .............. + 28a4c: ffef0000 00fdffff ffffff00 0100ffff ................ + 28a5c: ffffffff ff0300ff ffffffff ffff0830 ............0... + 28a6c: 80ffffff ffffff1e cfe1ffff ffffffff ................ + 28a7c: ffcffcff ffffffff 000000fc 00000000 ................ + 28a8c: ff0e0000 000000e0 40ee0400 ff8f0000 ...........@.... + 28a9c: ffffffff fff8ffff ffffffff ffffffff ................ + 28aac: 0ff000ff 000ff000 f000ffff 0ff0000f ................ + 28abc: ffffff00 ffffffff ffffffff 888008f8 ................ + 28acc: ff8f8008 8008f8ff 8f800888 ffffffff ................ + 28adc: ffffffff 00ffffff 000000f0 ffff000f ................ + 28aec: 0000f000 ff000f00 ffffffff ffffffff ................ + 28afc: ffff8fff ffffffff 0000f8ff 00000000 ................ ... - 1fff8: 70af0300 00000000 ffcf0400 000000f0 ...p............ - 20008: ffdf0600 0000a0ff ffef1700 0030ffff ..............0. - 20018: ffff1800 00fcffff ffff2a00 f4ffffff .........*...... - 20028: ffff0800 ffffffff ff0f00d0 ffffffff ................ - 20038: 080060ff ffffffff 0000feff 00000000 .`.............. - 20048: 00f7ffff 00000000 f1ffff00 00000000 ................ - 20058: ffff0000 00000080 ff000000 000010ff ................ - 20068: 00000000 0000faff 00000000 00f2ff00 ................ - 20078: 00000000 808f0000 00000000 00000000 ................ - 20088: 00000000 f0ffffdf ffff00d2 20fef0ff ............... - 20098: f0ffffff ffffe2ff fdfff0ff f2ffffff ................ - 200a8: ffff0000 ffffffff ffffffff ffffffff ................ - 200b8: ffffffff ffffffff ffffffff ffffffff ................ - 200c8: ffffffff ffffffff ffffffff ffffffff ................ - 200d8: ffffffff ffffffff ffffffff ffdfffff ................ - 200e8: fdffffff 00000000 00000000 00000000 ................ - 200f8: feef9c04 000040c9 ffef0700 feffffff .....@.......... - 20108: df040070 8aa8fcff 40fdffcf 00d5ff6f p..........@o... - 20118: 5d000000 f6cff6ff 00000000 fc6f0000 ...]..........o. - 20128: 5a00301a 00a5fddf 0000a103 ffffff4d .0.Z........M... - 20138: 0000d4ff feff0500 ffef8aa8 01000050 ............P... - 20148: 000070df 0010fd07 00120000 21000000 .p.............! - 20158: 00000000 e44e0000 00000000 00000000 ......N......... - 20168: 0000feef 00000000 feef0000 00000000 ................ - 20178: 00000000 0000e44e ff8f0000 ffffffff ....N........... - 20188: 80ffffff ffffffff ffffffff 00fff0ff ................ - 20198: 00000000 fd0f0000 ffff0fff ffffffff ................ - 201a8: 0fffff0f ffffffff ff00ffff ffff0fff ................ - 201b8: ffffffff 0fffff00 ffffffff ff0fffff ................ - 201c8: 000000ff 00000000 fffffd0f ffffffff ................ - 201d8: f0ffffff ffffff8f ffffffff ff8f80ff ................ - 201e8: ffffffff 80ffffff ffffffff ffffffff ................ - 201f8: 00fff0ff 00000000 fd0f0000 ffff0fff ................ - 20208: 00f0ffff 0fffff0f ffffffff ff0000f0 ................ - 20218: ffff0fff 00f0ffff 0fffff00 ffffffff ................ - 20228: ff0f00f0 000000ff 00000000 fffffd0f ................ - 20238: ffffffff f0ffffff ffffff8f ffffffff ................ - 20248: ff8f80ff ffffffff 80ffffff ffffffff ................ - 20258: ffffffff 00fff0ff 00000000 fd0f0000 ................ - 20268: ffff0fff 000000ff 0fffff0f 00ffffff ................ - 20278: ff000000 ffff0fff 000000ff 0fffff00 ................ - 20288: 00ffffff ff0f0000 000000ff 00000000 ................ - 20298: fffffd0f ffffffff f0ffffff ffffff8f ................ - 202a8: ffffffff ff8f80ff ffffffff 80ffffff ................ - 202b8: ffffffff ffffffff 00fff0ff 00000000 ................ - 202c8: fd0f0000 f0ff0fff 00000000 0fffff0f ................ - 202d8: 0000f0ff ff000000 f0ff0fff 00000000 ................ - 202e8: 0fffff00 0000f0ff ff0f0000 000000ff ................ - 202f8: 00000000 fffffd0f ffffffff f0ffffff ................ - 20308: ffffff8f ffffffff ff8f80ff ffffffff ................ - 20318: 80ffffff ffffffff ffffffff 00fff0ff ................ - 20328: 00000000 fd0f0000 000000ff 00000000 ................ - 20338: 00ffff0f 00000000 ff000000 000000ff ................ - 20348: 00000000 00ffff00 00000000 ff0f0000 ................ - 20358: 000000ff 00000000 fffffd0f ffffffff ................ - 20368: f0ffffff ffffff8f ffffffff 000080ff ................ - 20378: 01000000 00000000 00000000 10fd0700 ................ - 20388: 00000000 cf010000 0000f5ff 00000000 ................ - 20398: fe29b900 00000010 3f000000 00000210 ..)........?.... - 203a8: df030000 00900a80 70030000 77ffdf00 ...........p...w - 203b8: 555555f7 0fd38f55 dfccfdff cdccccdc .UUUU........... - 203c8: fe8fb0ff 00aa0010 404d0000 00104600 ..........M@.F.. - 203d8: 3302f201 00000010 09000000 00f9cfb1 ...3............ - 203e8: 00000000 ff0a0000 000090ff 00000000 ................ - 203f8: f9bf0000 00000000 00000000 00002201 .............".. - 20408: df180000 020092fd ffeffbef faff0d30 ............0... - 20418: 4fe0ff2e ff03faff fafa9ff5 cffa4f35 ...O........5O.. - 20428: 0b3d8ac0 03fbeffd fffe8f12 ff06b0ff ..=............. - 20438: d1ffffff efffff08 9f1011fd 59d1dfff ...............Y - 20448: affd0b3b 1d38fad7 faff5ffb 0df7df01 ;.....8.._...... - 20458: ff1dfaff fcef03f1 0050ffdf a3fedf18 ..........P..... - 20468: 7f000000 0000f7ff ffffffef effeffff ................ - 20478: ffffffff 0000feff 00000000 ffff0f00 ................ - 20488: f0ffffff ffffff0f 0ff0ffff f9999ff9 ................ - 20498: f80ff09f 8ff8888f 8ff80ff0 f08ff888 ................ - 204a8: 888ff80f 0ff08ff8 f8888ff8 f80ff08f ................ - 204b8: 8ff8888f 8ff80ff0 f08ff888 999ff90f ................ - 204c8: 0ff09ff9 ffffffff ff08f0ff ffffffff ................ - 204d8: 00000080 7f000000 000000a0 8f000000 ................ - 204e8: 0000b0ff 0d000000 00a0ffff 8a000000 ................ - 204f8: 00ffff1d 8f000000 70ff1dfa 8f000000 ...........p.... - 20508: 801dfaff 8f000000 00faffff 8f000000 ................ - 20518: 80ffffff 8f000000 80ffffff 8f000000 ................ - 20528: 80ffffff 8f000000 80ffffff 6f000000 ...............o - 20538: 80ffffff 0b000000 80ffffff 00000000 ................ - 20548: 80ffffdf 00000000 80ffff0e 00000000 ................ - 20558: 60dbde00 00000000 00000000 00000000 ...`............ - 20568: 00000000 ffffff1b e4ffffff ffdf0100 ................ - 20578: ffffffff 1d00feff effaffff ffffaffe ................ - 20588: ffffdf01 0ae22ea0 ff1dffff 02e2ffff ................ - 20598: ffff2e20 ffffffcf ef0220fe ffcfffff ........ ...... - 205a8: 20feffff ffffef02 ffffff1d 2e2002e2 ... .......... . - 205b8: df01ffff 2ea0ffff ffff0ae2 ffff1d00 ................ - 205c8: affeeffa 0100ffff ffffffdf feffffff ................ - 205d8: ff1b0000 ffffffff 0800e4ff e4ffffff ................ - 205e8: ffff8f00 f808feff ff400b0f 0b0ff88f ..........@..... - 205f8: f8ffff40 ff400b0f ffffffff ffffffff @.....@......... - 20608: ffffffff ffffffff ffffffff ffffffff ................ - 20618: ffffffff ffffffff ffffffff ffffffff ................ - 20628: ffffffff ffffffff ffffffff ffefffff ................ - 20638: feffffff ffffff4e 0000e4ff 00000000 ....N........... - 20648: 00000100 00000000 00e00300 00001000 ................ - 20658: 10ef0200 0000bf00 f17f0000 00f1cf00 ................ - 20668: ff070000 77ffcf11 bf777777 ffffcff1 .......wwww..... - 20678: ffffffff ffff17ff ffffffff ff07e0ff ................ - 20688: 000000f1 06000000 000010ff 00000000 ................ - 20698: 0000a005 00000000 ........ - -000206a0 <__func__.9667>: - 206a0: 645f766c 5f707369 5f767264 69676572 lv_disp_drv_regi - 206b0: 72657473 00000000 742f2e2e 64726968 ster....../third - 206c0: 74726170 766c2f79 732f6c67 6c2f6372 party/lvgl/src/l - 206d0: 61685f76 766c2f6c 6c61685f 7369645f v_hal/lv_hal_dis - 206e0: 00632e70 p.c. - -000206e4 : - 206e4: 00011629 00000000 )....... - -000206ec <__func__.9543>: - 206ec: 615f766c 5f6d696e 72617473 00000074 lv_anim_start... - 206fc: 742f2e2e 64726968 74726170 766c2f79 ../thirdparty/lv - 2070c: 732f6c67 6c2f6372 696d5f76 6c2f6373 gl/src/lv_misc/l - 2071c: 6e615f76 632e6d69 00000000 v_anim.c.... - -00020728 <__func__.9631>: - 20728: 665f766c 72645f73 65725f76 74736967 lv_fs_drv_regist - 20738: 00007265 er.. - -0002073c <__func__.9538>: - 2073c: 665f766c 706f5f73 00006e65 lv_fs_open.. - -00020748 <__func__.9602>: - 20748: 665f766c 69645f73 706f5f72 00006e65 lv_fs_dir_open.. - 20758: 742f2e2e 64726968 74726170 766c2f79 ../thirdparty/lv - 20768: 732f6c67 6c2f6372 696d5f76 6c2f6373 gl/src/lv_misc/l - 20778: 73665f76 0000632e v_fs.c.. - -00020780 : - 20780: 023c0000 06b30478 0b2808ee 0f990d61 ..<.x.....(.a... - 20790: 140611d0 186c163a 1ccb1a9d 21211ef7 ....:.l.......!! - 207a0: 256c2348 29ac278e 2ddf2bc7 32032ff3 H#l%.'.).+.-./.2 - 207b0: 36183410 3a1c381c 3e0e3c17 41ec3fff .4.6.8.:.<.>.?.A - 207c0: 45b643d4 496a4793 4d084b3c 508d4ecd .C.E.GjI: - 20838: 6d5f766c 615f6d65 636f6c6c 00000000 lv_mem_alloc.... - -00020848 <__func__.7297>: - 20848: 5f766c5f 5f6d656d 5f667562 656c6572 _lv_mem_buf_rele - 20858: 00657361 ase. - -0002085c <__func__.7240>: - 2085c: 6d5f766c 725f6d65 6c6c6165 0000636f lv_mem_realloc.. - -0002086c <__func__.7283>: - 2086c: 5f766c5f 5f6d656d 5f667562 00746567 _lv_mem_buf_get. - 2087c: 742f2e2e 64726968 74726170 766c2f79 ../thirdparty/lv - 2088c: 732f6c67 6c2f6372 696d5f76 6c2f6373 gl/src/lv_misc/l - 2089c: 656d5f76 00632e6d 6c756f43 74276e64 v_mem.c.Couldn't - 208ac: 6c6c6120 7461636f 656d2065 79726f6d allocate memory - 208bc: 00000000 6d5f766c 625f6d65 725f6675 ....lv_mem_buf_r - 208cc: 61656c65 203a6573 73692070 746f6e20 elease: p is not - 208dc: 6b206120 6e776f6e 66756220 00726566 a known buffer. - 208ec: 6d5f766c 625f6d65 675f6675 203a7465 lv_mem_buf_get: - 208fc: 2074754f 6d20666f 726f6d65 63202c79 Out of memory, c - 2090c: 74276e61 6c6c6120 7461636f 20612065 an't allocate a - 2091c: 2077656e 66756220 20726566 636e6928 new buffer (inc - 2092c: 73616572 6f792065 4c207275 454d5f56 rease your LV_ME - 2093c: 49535f4d 682f455a 20706165 657a6973 M_SIZE/heap size - 2094c: 00000029 6d5f766c 625f6d65 675f6675 )...lv_mem_buf_g - 2095c: 203a7465 66206f6e 20656572 66667562 et: no free buff - 2096c: 202e7265 72636e49 65736165 5f564c20 er. Increase LV_ - 2097c: 57415244 4655425f 58414d5f 4d554e5f DRAW_BUF_MAX_NUM - 2098c: 0000002e .... - -00020990 <__func__.9561>: - 20990: 745f766c 5f6b7361 61657263 625f6574 lv_task_create_b - 209a0: 63697361 00000000 asic.... - -000209a8 <__func__.9574>: - 209a8: 745f766c 5f6b7361 61657263 00006574 lv_task_create.. - 209b8: 742f2e2e 64726968 74726170 766c2f79 ../thirdparty/lv - 209c8: 732f6c67 6c2f6372 696d5f76 6c2f6373 gl/src/lv_misc/l - 209d8: 61745f76 632e6b73 00000000 v_task.c.... - -000209e4 <__func__.6088>: - 209e4: 5f766c5f 5f747874 5f746567 657a6973 _lv_txt_get_size - 209f4: 00000000 3b2e2c20 005f2d3a 742f2e2e .... ,.;:-_.../t - 20a04: 64726968 74726170 766c2f79 732f6c67 hirdparty/lvgl/s - 20a14: 6c2f6372 696d5f76 6c2f6373 78745f76 rc/lv_misc/lv_tx - 20a24: 00632e74 745f766c 675f7478 735f7465 t.c.lv_txt_get_s - 20a34: 3a657a69 746e6920 72656765 65766f20 ize: integer ove - 20a44: 6f6c6672 68772077 20656c69 636c6163 rflow while calc - 20a54: 74616c75 20676e69 74786574 69656820 ulating text hei - 20a64: 00746867 0000ffff 00008410 008c80ef ght............. - -00020a74 <__func__.10208>: - 20a74: 6c5f766c 6c656261 7465735f 746f645f lv_label_set_dot - 20a84: 706d745f 00000000 _tmp.... - -00020a8c <__func__.9902>: - 20a8c: 6c5f766c 6c656261 7465735f 696c615f lv_label_set_ali - 20a9c: 00006e67 gn.. - -00020aa0 <__func__.9923>: - 20aa0: 6c5f766c 6c656261 7465735f 7865745f lv_label_set_tex - 20ab0: 65735f74 74735f6c 00747261 t_sel_start. - -00020abc <__func__.9929>: - 20abc: 6c5f766c 6c656261 7465735f 7865745f lv_label_set_tex - 20acc: 65735f74 6e655f6c 00000064 t_sel_end... - -00020ad8 <__func__.9934>: - 20ad8: 6c5f766c 6c656261 7465675f 7865745f lv_label_get_tex - 20ae8: 00000074 t... - -00020aec <__func__.9940>: - 20aec: 6c5f766c 6c656261 7465675f 6e6f6c5f lv_label_get_lon - 20afc: 6f6d5f67 00006564 g_mode.. - -00020b04 <__func__.9946>: - 20b04: 6c5f766c 6c656261 7465675f 696c615f lv_label_get_ali - 20b14: 00006e67 gn.. - -00020b18 <__func__.9953>: - 20b18: 6c5f766c 6c656261 7465675f 6365725f lv_label_get_rec - 20b28: 726f6c6f 00000000 olor.... - -00020b30 <__func__.9959>: - 20b30: 6c5f766c 6c656261 7465675f 696e615f lv_label_get_ani - 20b40: 70735f6d 00646565 m_speed. - -00020b48 <__func__.9967>: - 20b48: 6c5f766c 6c656261 7465675f 74656c5f lv_label_get_let - 20b58: 5f726574 00736f70 ter_pos. - -00020b60 <__func__.9996>: - 20b60: 6c5f766c 6c656261 7465675f 74656c5f lv_label_get_let - 20b70: 5f726574 00006e6f ter_on.. - -00020b78 <__func__.9865>: - 20b78: 6c5f766c 6c656261 7465735f 7865745f lv_label_set_tex - 20b88: 00000074 t... - -00020b8c <__func__.9876>: - 20b8c: 6c5f766c 6c656261 7465735f 7865745f lv_label_set_tex - 20b9c: 6d665f74 00000074 t_fmt... - -00020ba4 <__func__.9888>: - 20ba4: 6c5f766c 6c656261 7465735f 7865745f lv_label_set_tex - 20bb4: 74735f74 63697461 00000000 t_static.... - -00020bc0 <__func__.9895>: - 20bc0: 6c5f766c 6c656261 7465735f 6e6f6c5f lv_label_set_lon - 20bd0: 6f6d5f67 00006564 g_mode.. - -00020bd8 <__func__.9909>: - 20bd8: 6c5f766c 6c656261 7465735f 6365725f lv_label_set_rec - 20be8: 726f6c6f 00000000 olor.... - -00020bf0 <__func__.9854>: - 20bf0: 6c5f766c 6c656261 6572635f 00657461 lv_label_create. - -00020c00 <__func__.9916>: - 20c00: 6c5f766c 6c656261 7465735f 696e615f lv_label_set_ani - 20c10: 70735f6d 00646565 m_speed. - -00020c18 <__func__.10033>: - 20c18: 6c5f766c 6c656261 7465675f 7865745f lv_label_get_tex - 20c28: 65735f74 74735f6c 00747261 t_sel_start. - -00020c34 <__func__.10038>: - 20c34: 6c5f766c 6c656261 7465675f 7865745f lv_label_get_tex - 20c44: 65735f74 6e655f6c 00000064 t_sel_end... - -00020c50 <__func__.10044>: - 20c50: 6c5f766c 6c656261 5f73695f 72616863 lv_label_is_char - 20c60: 646e755f 705f7265 0000736f _under_pos.. - -00020c6c <__func__.10089>: - 20c6c: 6c5f766c 6c656261 736e695f 7865745f lv_label_ins_tex - 20c7c: 00000074 t... - -00020c80 <__func__.10102>: - 20c80: 6c5f766c 6c656261 7475635f 7865745f lv_label_cut_tex - 20c90: 00000074 742f2e2e 64726968 74726170 t...../thirdpart - 20ca0: 766c2f79 732f6c67 6c2f6372 69775f76 y/lvgl/src/lv_wi - 20cb0: 74656764 766c2f73 62616c5f 632e6c65 dgets/lv_label.c - 20cc0: 00000000 6c696146 74206465 6c61206f ....Failed to al - 20cd0: 61636f6c 6d206574 726f6d65 6f662079 locate memory fo - 20ce0: 6f642072 6d745f74 74705f70 00000072 r dot_tmp_ptr... - 20cf0: 74786554 00000000 6562616c 7263206c Text....label cr - 20d00: 65746165 00000064 6c5f766c 6c656261 eated...lv_label - 20d10: 00000000 .... - -00020d14 <_init>: - 20d14: b5f8 push {r3, r4, r5, r6, r7, lr} - 20d16: bf00 nop - 20d18: bcf8 pop {r3, r4, r5, r6, r7} - 20d1a: bc08 pop {r3} - 20d1c: 469e mov lr, r3 - 20d1e: 4770 bx lr - -00020d20 <__init_array_start>: - 20d20: 00000289 .word 0x00000289 - -00020d24 <_fini>: - 20d24: b5f8 push {r3, r4, r5, r6, r7, lr} - 20d26: bf00 nop - 20d28: bcf8 pop {r3, r4, r5, r6, r7} - 20d2a: bc08 pop {r3} - 20d2c: 469e mov lr, r3 - 20d2e: 4770 bx lr - -00020d30 <__fini_array_start>: - 20d30: 00000265 .word 0x00000265 + 28b14: 70af0300 00000000 ffcf0400 000000f0 ...p............ + 28b24: ffdf0600 0000a0ff ffef1700 0030ffff ..............0. + 28b34: ffff1800 00fcffff ffff2a00 f4ffffff .........*...... + 28b44: ffff0800 ffffffff ff0f00d0 ffffffff ................ + 28b54: 080060ff ffffffff 0000feff 00000000 .`.............. + 28b64: 00f7ffff 00000000 f1ffff00 00000000 ................ + 28b74: ffff0000 00000080 ff000000 000010ff ................ + 28b84: 00000000 0000faff 00000000 00f2ff00 ................ + 28b94: 00000000 808f0000 00000000 00000000 ................ + 28ba4: 00000000 f0ffffdf ffff00d2 20fef0ff ............... + 28bb4: f0ffffff ffffe2ff fdfff0ff f2ffffff ................ + 28bc4: ffff0000 ffffffff ffffffff ffffffff ................ + 28bd4: ffffffff ffffffff ffffffff ffffffff ................ + 28be4: ffffffff ffffffff ffffffff ffffffff ................ + 28bf4: ffffffff ffffffff ffffffff ffdfffff ................ + 28c04: fdffffff 00000000 00000000 00000000 ................ + 28c14: feef9c04 000040c9 ffef0700 feffffff .....@.......... + 28c24: df040070 8aa8fcff 40fdffcf 00d5ff6f p..........@o... + 28c34: 5d000000 f6cff6ff 00000000 fc6f0000 ...]..........o. + 28c44: 5a00301a 00a5fddf 0000a103 ffffff4d .0.Z........M... + 28c54: 0000d4ff feff0500 ffef8aa8 01000050 ............P... + 28c64: 000070df 0010fd07 00120000 21000000 .p.............! + 28c74: 00000000 e44e0000 00000000 00000000 ......N......... + 28c84: 0000feef 00000000 feef0000 00000000 ................ + 28c94: 00000000 0000e44e ff8f0000 ffffffff ....N........... + 28ca4: 80ffffff ffffffff ffffffff 00fff0ff ................ + 28cb4: 00000000 fd0f0000 ffff0fff ffffffff ................ + 28cc4: 0fffff0f ffffffff ff00ffff ffff0fff ................ + 28cd4: ffffffff 0fffff00 ffffffff ff0fffff ................ + 28ce4: 000000ff 00000000 fffffd0f ffffffff ................ + 28cf4: f0ffffff ffffff8f ffffffff ff8f80ff ................ + 28d04: ffffffff 80ffffff ffffffff ffffffff ................ + 28d14: 00fff0ff 00000000 fd0f0000 ffff0fff ................ + 28d24: 00f0ffff 0fffff0f ffffffff ff0000f0 ................ + 28d34: ffff0fff 00f0ffff 0fffff00 ffffffff ................ + 28d44: ff0f00f0 000000ff 00000000 fffffd0f ................ + 28d54: ffffffff f0ffffff ffffff8f ffffffff ................ + 28d64: ff8f80ff ffffffff 80ffffff ffffffff ................ + 28d74: ffffffff 00fff0ff 00000000 fd0f0000 ................ + 28d84: ffff0fff 000000ff 0fffff0f 00ffffff ................ + 28d94: ff000000 ffff0fff 000000ff 0fffff00 ................ + 28da4: 00ffffff ff0f0000 000000ff 00000000 ................ + 28db4: fffffd0f ffffffff f0ffffff ffffff8f ................ + 28dc4: ffffffff ff8f80ff ffffffff 80ffffff ................ + 28dd4: ffffffff ffffffff 00fff0ff 00000000 ................ + 28de4: fd0f0000 f0ff0fff 00000000 0fffff0f ................ + 28df4: 0000f0ff ff000000 f0ff0fff 00000000 ................ + 28e04: 0fffff00 0000f0ff ff0f0000 000000ff ................ + 28e14: 00000000 fffffd0f ffffffff f0ffffff ................ + 28e24: ffffff8f ffffffff ff8f80ff ffffffff ................ + 28e34: 80ffffff ffffffff ffffffff 00fff0ff ................ + 28e44: 00000000 fd0f0000 000000ff 00000000 ................ + 28e54: 00ffff0f 00000000 ff000000 000000ff ................ + 28e64: 00000000 00ffff00 00000000 ff0f0000 ................ + 28e74: 000000ff 00000000 fffffd0f ffffffff ................ + 28e84: f0ffffff ffffff8f ffffffff 000080ff ................ + 28e94: 01000000 00000000 00000000 10fd0700 ................ + 28ea4: 00000000 cf010000 0000f5ff 00000000 ................ + 28eb4: fe29b900 00000010 3f000000 00000210 ..)........?.... + 28ec4: df030000 00900a80 70030000 77ffdf00 ...........p...w + 28ed4: 555555f7 0fd38f55 dfccfdff cdccccdc .UUUU........... + 28ee4: fe8fb0ff 00aa0010 404d0000 00104600 ..........M@.F.. + 28ef4: 3302f201 00000010 09000000 00f9cfb1 ...3............ + 28f04: 00000000 ff0a0000 000090ff 00000000 ................ + 28f14: f9bf0000 00000000 00000000 00002201 .............".. + 28f24: df180000 020092fd ffeffbef faff0d30 ............0... + 28f34: 4fe0ff2e ff03faff fafa9ff5 cffa4f35 ...O........5O.. + 28f44: 0b3d8ac0 03fbeffd fffe8f12 ff06b0ff ..=............. + 28f54: d1ffffff efffff08 9f1011fd 59d1dfff ...............Y + 28f64: affd0b3b 1d38fad7 faff5ffb 0df7df01 ;.....8.._...... + 28f74: ff1dfaff fcef03f1 0050ffdf a3fedf18 ..........P..... + 28f84: 7f000000 0000f7ff ffffffef effeffff ................ + 28f94: ffffffff 0000feff 00000000 ffff0f00 ................ + 28fa4: f0ffffff ffffff0f 0ff0ffff f9999ff9 ................ + 28fb4: f80ff09f 8ff8888f 8ff80ff0 f08ff888 ................ + 28fc4: 888ff80f 0ff08ff8 f8888ff8 f80ff08f ................ + 28fd4: 8ff8888f 8ff80ff0 f08ff888 999ff90f ................ + 28fe4: 0ff09ff9 ffffffff ff08f0ff ffffffff ................ + 28ff4: 00000080 7f000000 000000a0 8f000000 ................ + 29004: 0000b0ff 0d000000 00a0ffff 8a000000 ................ + 29014: 00ffff1d 8f000000 70ff1dfa 8f000000 ...........p.... + 29024: 801dfaff 8f000000 00faffff 8f000000 ................ + 29034: 80ffffff 8f000000 80ffffff 8f000000 ................ + 29044: 80ffffff 8f000000 80ffffff 6f000000 ...............o + 29054: 80ffffff 0b000000 80ffffff 00000000 ................ + 29064: 80ffffdf 00000000 80ffff0e 00000000 ................ + 29074: 60dbde00 00000000 00000000 00000000 ...`............ + 29084: 00000000 ffffff1b e4ffffff ffdf0100 ................ + 29094: ffffffff 1d00feff effaffff ffffaffe ................ + 290a4: ffffdf01 0ae22ea0 ff1dffff 02e2ffff ................ + 290b4: ffff2e20 ffffffcf ef0220fe ffcfffff ........ ...... + 290c4: 20feffff ffffef02 ffffff1d 2e2002e2 ... .......... . + 290d4: df01ffff 2ea0ffff ffff0ae2 ffff1d00 ................ + 290e4: affeeffa 0100ffff ffffffdf feffffff ................ + 290f4: ff1b0000 ffffffff 0800e4ff e4ffffff ................ + 29104: ffff8f00 f808feff ff400b0f 0b0ff88f ..........@..... + 29114: f8ffff40 ff400b0f ffffffff ffffffff @.....@......... + 29124: ffffffff ffffffff ffffffff ffffffff ................ + 29134: ffffffff ffffffff ffffffff ffffffff ................ + 29144: ffffffff ffffffff ffffffff ffefffff ................ + 29154: feffffff ffffff4e 0000e4ff 00000000 ....N........... + 29164: 00000100 00000000 00e00300 00001000 ................ + 29174: 10ef0200 0000bf00 f17f0000 00f1cf00 ................ + 29184: ff070000 77ffcf11 bf777777 ffffcff1 .......wwww..... + 29194: ffffffff ffff17ff ffffffff ff07e0ff ................ + 291a4: 000000f1 06000000 000010ff 00000000 ................ + 291b4: 0000a005 00000000 ........ + +000291bc <__func__.9667>: + 291bc: 645f766c 5f707369 5f767264 69676572 lv_disp_drv_regi + 291cc: 72657473 00000000 742f2e2e 64726968 ster....../third + 291dc: 74726170 766c2f79 732f6c67 6c2f6372 party/lvgl/src/l + 291ec: 61685f76 766c2f6c 6c61685f 7369645f v_hal/lv_hal_dis + 291fc: 00632e70 p.c. + +00029200 : + 29200: 00011081 00000000 ........ + +00029208 <__func__.9543>: + 29208: 615f766c 5f6d696e 72617473 00000074 lv_anim_start... + 29218: 742f2e2e 64726968 74726170 766c2f79 ../thirdparty/lv + 29228: 732f6c67 6c2f6372 696d5f76 6c2f6373 gl/src/lv_misc/l + 29238: 6e615f76 632e6d69 00000000 v_anim.c.... + +00029244 <__func__.9631>: + 29244: 665f766c 72645f73 65725f76 74736967 lv_fs_drv_regist + 29254: 00007265 er.. + +00029258 <__func__.9538>: + 29258: 665f766c 706f5f73 00006e65 lv_fs_open.. + +00029264 <__func__.9602>: + 29264: 665f766c 69645f73 706f5f72 00006e65 lv_fs_dir_open.. + 29274: 742f2e2e 64726968 74726170 766c2f79 ../thirdparty/lv + 29284: 732f6c67 6c2f6372 696d5f76 6c2f6373 gl/src/lv_misc/l + 29294: 73665f76 0000632e v_fs.c.. + +0002929c : + 2929c: 023c0000 06b30478 0b2808ee 0f990d61 ..<.x.....(.a... + 292ac: 140611d0 186c163a 1ccb1a9d 21211ef7 ....:.l.......!! + 292bc: 256c2348 29ac278e 2ddf2bc7 32032ff3 H#l%.'.).+.-./.2 + 292cc: 36183410 3a1c381c 3e0e3c17 41ec3fff .4.6.8.:.<.>.?.A + 292dc: 45b643d4 496a4793 4d084b3c 508d4ecd .C.E.GjI: + 29354: 6d5f766c 615f6d65 636f6c6c 00000000 lv_mem_alloc.... + +00029364 <__func__.7297>: + 29364: 5f766c5f 5f6d656d 5f667562 656c6572 _lv_mem_buf_rele + 29374: 00657361 ase. + +00029378 <__func__.7240>: + 29378: 6d5f766c 725f6d65 6c6c6165 0000636f lv_mem_realloc.. + +00029388 <__func__.7283>: + 29388: 5f766c5f 5f6d656d 5f667562 00746567 _lv_mem_buf_get. + 29398: 742f2e2e 64726968 74726170 766c2f79 ../thirdparty/lv + 293a8: 732f6c67 6c2f6372 696d5f76 6c2f6373 gl/src/lv_misc/l + 293b8: 656d5f76 00632e6d 6c756f43 74276e64 v_mem.c.Couldn't + 293c8: 6c6c6120 7461636f 656d2065 79726f6d allocate memory + 293d8: 00000000 6d5f766c 625f6d65 725f6675 ....lv_mem_buf_r + 293e8: 61656c65 203a6573 73692070 746f6e20 elease: p is not + 293f8: 6b206120 6e776f6e 66756220 00726566 a known buffer. + 29408: 6d5f766c 625f6d65 675f6675 203a7465 lv_mem_buf_get: + 29418: 2074754f 6d20666f 726f6d65 63202c79 Out of memory, c + 29428: 74276e61 6c6c6120 7461636f 20612065 an't allocate a + 29438: 2077656e 66756220 20726566 636e6928 new buffer (inc + 29448: 73616572 6f792065 4c207275 454d5f56 rease your LV_ME + 29458: 49535f4d 682f455a 20706165 657a6973 M_SIZE/heap size + 29468: 00000029 6d5f766c 625f6d65 675f6675 )...lv_mem_buf_g + 29478: 203a7465 66206f6e 20656572 66667562 et: no free buff + 29488: 202e7265 72636e49 65736165 5f564c20 er. Increase LV_ + 29498: 57415244 4655425f 58414d5f 4d554e5f DRAW_BUF_MAX_NUM + 294a8: 0000002e .... + +000294ac <__func__.9561>: + 294ac: 745f766c 5f6b7361 61657263 625f6574 lv_task_create_b + 294bc: 63697361 00000000 asic.... + +000294c4 <__func__.9574>: + 294c4: 745f766c 5f6b7361 61657263 00006574 lv_task_create.. + 294d4: 742f2e2e 64726968 74726170 766c2f79 ../thirdparty/lv + 294e4: 732f6c67 6c2f6372 696d5f76 6c2f6373 gl/src/lv_misc/l + 294f4: 61745f76 632e6b73 00000000 v_task.c.... + +00029500 <__func__.6088>: + 29500: 5f766c5f 5f747874 5f746567 657a6973 _lv_txt_get_size + 29510: 00000000 3b2e2c20 005f2d3a 742f2e2e .... ,.;:-_.../t + 29520: 64726968 74726170 766c2f79 732f6c67 hirdparty/lvgl/s + 29530: 6c2f6372 696d5f76 6c2f6373 78745f76 rc/lv_misc/lv_tx + 29540: 00632e74 745f766c 675f7478 735f7465 t.c.lv_txt_get_s + 29550: 3a657a69 746e6920 72656765 65766f20 ize: integer ove + 29560: 6f6c6672 68772077 20656c69 636c6163 rflow while calc + 29570: 74616c75 20676e69 74786574 69656820 ulating text hei + 29580: 00746867 0000ffff 00008410 008c80ef ght............. + +00029590 <__func__.9965>: + 29590: 695f766c 645f676d 67697365 0000006e lv_img_design... + +000295a0 <__func__.9838>: + 295a0: 695f766c 735f676d 615f7465 5f6f7475 lv_img_set_auto_ + 295b0: 657a6973 00000000 size.... + +000295b8 <__func__.9845>: + 295b8: 695f766c 735f676d 6f5f7465 65736666 lv_img_set_offse + 295c8: 00785f74 t_x. + +000295cc <__func__.9852>: + 295cc: 695f766c 735f676d 6f5f7465 65736666 lv_img_set_offse + 295dc: 00795f74 t_y. + +000295e0 <__func__.9888>: + 295e0: 695f766c 675f676d 735f7465 00006372 lv_img_get_src.. + +000295f0 <__func__.9894>: + 295f0: 695f766c 675f676d 665f7465 5f656c69 lv_img_get_file_ + 29600: 656d616e 00000000 name.... + +00029608 <__func__.9900>: + 29608: 695f766c 675f676d 615f7465 5f6f7475 lv_img_get_auto_ + 29618: 657a6973 00000000 size.... + +00029620 <__func__.9817>: + 29620: 695f766c 735f676d 735f7465 00006372 lv_img_set_src.. + +00029630 <__func__.9808>: + 29630: 695f766c 635f676d 74616572 00000065 lv_img_create... + +00029640 <__func__.9906>: + 29640: 695f766c 675f676d 6f5f7465 65736666 lv_img_get_offse + 29650: 00785f74 t_x. + +00029654 <__func__.9912>: + 29654: 695f766c 675f676d 6f5f7465 65736666 lv_img_get_offse + 29664: 00795f74 t_y. + +00029668 <__func__.9919>: + 29668: 695f766c 675f676d 705f7465 746f7669 lv_img_get_pivot + 29678: 00000000 .... + +0002967c <__func__.9925>: + 2967c: 695f766c 675f676d 615f7465 656c676e lv_img_get_angle + 2968c: 00000000 .... + +00029690 <__func__.9931>: + 29690: 695f766c 675f676d 7a5f7465 006d6f6f lv_img_get_zoom. + +000296a0 <__func__.9937>: + 296a0: 695f766c 675f676d 615f7465 6169746e lv_img_get_antia + 296b0: 7361696c 00000000 742f2e2e 64726968 lias....../third + 296c0: 74726170 766c2f79 732f6c67 6c2f6372 party/lvgl/src/l + 296d0: 69775f76 74656764 766c2f73 676d695f v_widgets/lv_img + 296e0: 0000632e 695f766c 735f676d 735f7465 .c..lv_img_set_s + 296f0: 203a6372 6e6b6e75 206e776f 65707974 rc: unknown type + 29700: 00000000 695f766c 735f676d 735f7465 ....lv_img_set_s + 29710: 203a6372 6e6b6e75 206e776f 67616d69 rc: unknown imag + 29720: 79742065 00006570 695f766c 735f676d e type..lv_img_s + 29730: 735f7465 203a6372 564c6020 474d495f et_src: `LV_IMG + 29740: 4352535f 5241565f 4c424149 74206045 _SRC_VARIABLE` t + 29750: 20657079 6e756f66 00000064 67616d69 ype found...imag + 29760: 72632065 65746165 00000064 695f766c e created...lv_i + 29770: 0000676d mg.. + +00029774 <__func__.10208>: + 29774: 6c5f766c 6c656261 7465735f 746f645f lv_label_set_dot + 29784: 706d745f 00000000 _tmp.... + +0002978c <__func__.9902>: + 2978c: 6c5f766c 6c656261 7465735f 696c615f lv_label_set_ali + 2979c: 00006e67 gn.. + +000297a0 <__func__.9923>: + 297a0: 6c5f766c 6c656261 7465735f 7865745f lv_label_set_tex + 297b0: 65735f74 74735f6c 00747261 t_sel_start. + +000297bc <__func__.9929>: + 297bc: 6c5f766c 6c656261 7465735f 7865745f lv_label_set_tex + 297cc: 65735f74 6e655f6c 00000064 t_sel_end... + +000297d8 <__func__.9934>: + 297d8: 6c5f766c 6c656261 7465675f 7865745f lv_label_get_tex + 297e8: 00000074 t... + +000297ec <__func__.9940>: + 297ec: 6c5f766c 6c656261 7465675f 6e6f6c5f lv_label_get_lon + 297fc: 6f6d5f67 00006564 g_mode.. + +00029804 <__func__.9946>: + 29804: 6c5f766c 6c656261 7465675f 696c615f lv_label_get_ali + 29814: 00006e67 gn.. + +00029818 <__func__.9953>: + 29818: 6c5f766c 6c656261 7465675f 6365725f lv_label_get_rec + 29828: 726f6c6f 00000000 olor.... + +00029830 <__func__.9959>: + 29830: 6c5f766c 6c656261 7465675f 696e615f lv_label_get_ani + 29840: 70735f6d 00646565 m_speed. + +00029848 <__func__.9967>: + 29848: 6c5f766c 6c656261 7465675f 74656c5f lv_label_get_let + 29858: 5f726574 00736f70 ter_pos. + +00029860 <__func__.9996>: + 29860: 6c5f766c 6c656261 7465675f 74656c5f lv_label_get_let + 29870: 5f726574 00006e6f ter_on.. + +00029878 <__func__.9865>: + 29878: 6c5f766c 6c656261 7465735f 7865745f lv_label_set_tex + 29888: 00000074 t... + +0002988c <__func__.9876>: + 2988c: 6c5f766c 6c656261 7465735f 7865745f lv_label_set_tex + 2989c: 6d665f74 00000074 t_fmt... + +000298a4 <__func__.9888>: + 298a4: 6c5f766c 6c656261 7465735f 7865745f lv_label_set_tex + 298b4: 74735f74 63697461 00000000 t_static.... + +000298c0 <__func__.9895>: + 298c0: 6c5f766c 6c656261 7465735f 6e6f6c5f lv_label_set_lon + 298d0: 6f6d5f67 00006564 g_mode.. + +000298d8 <__func__.9909>: + 298d8: 6c5f766c 6c656261 7465735f 6365725f lv_label_set_rec + 298e8: 726f6c6f 00000000 olor.... + +000298f0 <__func__.9854>: + 298f0: 6c5f766c 6c656261 6572635f 00657461 lv_label_create. + +00029900 <__func__.9916>: + 29900: 6c5f766c 6c656261 7465735f 696e615f lv_label_set_ani + 29910: 70735f6d 00646565 m_speed. + +00029918 <__func__.10033>: + 29918: 6c5f766c 6c656261 7465675f 7865745f lv_label_get_tex + 29928: 65735f74 74735f6c 00747261 t_sel_start. + +00029934 <__func__.10038>: + 29934: 6c5f766c 6c656261 7465675f 7865745f lv_label_get_tex + 29944: 65735f74 6e655f6c 00000064 t_sel_end... + +00029950 <__func__.10044>: + 29950: 6c5f766c 6c656261 5f73695f 72616863 lv_label_is_char + 29960: 646e755f 705f7265 0000736f _under_pos.. + +0002996c <__func__.10089>: + 2996c: 6c5f766c 6c656261 736e695f 7865745f lv_label_ins_tex + 2997c: 00000074 t... + +00029980 <__func__.10102>: + 29980: 6c5f766c 6c656261 7475635f 7865745f lv_label_cut_tex + 29990: 00000074 742f2e2e 64726968 74726170 t...../thirdpart + 299a0: 766c2f79 732f6c67 6c2f6372 69775f76 y/lvgl/src/lv_wi + 299b0: 74656764 766c2f73 62616c5f 632e6c65 dgets/lv_label.c + 299c0: 00000000 6c696146 74206465 6c61206f ....Failed to al + 299d0: 61636f6c 6d206574 726f6d65 6f662079 locate memory fo + 299e0: 6f642072 6d745f74 74705f70 00000072 r dot_tmp_ptr... + 299f0: 74786554 00000000 6562616c 7263206c Text....label cr + 29a00: 65746165 00000064 6c5f766c 6c656261 eated...lv_label + 29a10: 00000000 .... + +00029a14 <_init>: + 29a14: b5f8 push {r3, r4, r5, r6, r7, lr} + 29a16: bf00 nop + 29a18: bcf8 pop {r3, r4, r5, r6, r7} + 29a1a: bc08 pop {r3} + 29a1c: 469e mov lr, r3 + 29a1e: 4770 bx lr + +00029a20 <__init_array_start>: + 29a20: 00000289 .word 0x00000289 + +00029a24 <_fini>: + 29a24: b5f8 push {r3, r4, r5, r6, r7, lr} + 29a26: bf00 nop + 29a28: bcf8 pop {r3, r4, r5, r6, r7} + 29a2a: bc08 pop {r3} + 29a2c: 469e mov lr, r3 + 29a2e: 4770 bx lr + +00029a30 <__fini_array_start>: + 29a30: 00000265 .word 0x00000265 diff --git a/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/e54_gfx_learning.map b/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/e54_gfx_learning.map index 91219b3c..088af097 100644 --- a/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/e54_gfx_learning.map +++ b/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/e54_gfx_learning.map @@ -1594,6 +1594,7 @@ Discarded input sections .debug_macro 0x00000000 0x16 drivers/p_i2c.o .debug_macro 0x00000000 0x29 drivers/p_i2c.o .debug_macro 0x00000000 0x16 drivers/p_i2c.o + COMMON 0x00000000 0x20 drivers/p_i2c.o .group 0x00000000 0x8 drivers/p_tcc.o .group 0x00000000 0x8 drivers/p_tcc.o .group 0x00000000 0x8 drivers/p_tcc.o @@ -4229,6 +4230,12 @@ Discarded input sections .text 0x00000000 0x0 hal/src/hal_i2c_m_sync.o .data 0x00000000 0x0 hal/src/hal_i2c_m_sync.o .bss 0x00000000 0x0 hal/src/hal_i2c_m_sync.o + .text.i2c_m_sync_write + 0x00000000 0x30 hal/src/hal_i2c_m_sync.o + .text.i2c_m_sync_read + 0x00000000 0x30 hal/src/hal_i2c_m_sync.o + .text.i2c_m_sync_init + 0x00000000 0x40 hal/src/hal_i2c_m_sync.o .text.i2c_m_sync_deinit 0x00000000 0x34 hal/src/hal_i2c_m_sync.o .text.i2c_m_sync_enable @@ -4251,6 +4258,15 @@ Discarded input sections 0x00000000 0x8 hal/src/hal_i2c_m_sync.o .text.i2c_m_sync_get_version 0x00000000 0x4 hal/src/hal_i2c_m_sync.o + .rodata.str1.4 + 0x00000000 0x1c hal/src/hal_i2c_m_sync.o + .debug_info 0x00000000 0x89f hal/src/hal_i2c_m_sync.o + .debug_abbrev 0x00000000 0x1b7 hal/src/hal_i2c_m_sync.o + .debug_loc 0x00000000 0x736 hal/src/hal_i2c_m_sync.o + .debug_aranges + 0x00000000 0x88 hal/src/hal_i2c_m_sync.o + .debug_ranges 0x00000000 0x78 hal/src/hal_i2c_m_sync.o + .debug_macro 0x00000000 0x6c6 hal/src/hal_i2c_m_sync.o .debug_macro 0x00000000 0x8b6 hal/src/hal_i2c_m_sync.o .debug_macro 0x00000000 0x16d hal/src/hal_i2c_m_sync.o .debug_macro 0x00000000 0x22 hal/src/hal_i2c_m_sync.o @@ -4407,8 +4423,15 @@ Discarded input sections .debug_macro 0x00000000 0x4d8 hal/src/hal_i2c_m_sync.o .debug_macro 0x00000000 0x16 hal/src/hal_i2c_m_sync.o .debug_macro 0x00000000 0xca hal/src/hal_i2c_m_sync.o + .debug_macro 0x00000000 0x6a hal/src/hal_i2c_m_sync.o .debug_macro 0x00000000 0xc9 hal/src/hal_i2c_m_sync.o .debug_macro 0x00000000 0x16 hal/src/hal_i2c_m_sync.o + .debug_line 0x00000000 0xd0c hal/src/hal_i2c_m_sync.o + .debug_str 0x00000000 0x107026 hal/src/hal_i2c_m_sync.o + .comment 0x00000000 0x5a hal/src/hal_i2c_m_sync.o + .debug_frame 0x00000000 0x174 hal/src/hal_i2c_m_sync.o + .ARM.attributes + 0x00000000 0x37 hal/src/hal_i2c_m_sync.o .group 0x00000000 0x8 hal/src/hal_init.o .group 0x00000000 0x8 hal/src/hal_init.o .group 0x00000000 0x8 hal/src/hal_init.o @@ -11327,6 +11350,10 @@ Discarded input sections 0x00000000 0x42 hpl/sercom/hpl_sercom.o .text._spi_set_data_order 0x00000000 0x32 hpl/sercom/hpl_sercom.o + .text._get_i2cm_index + 0x00000000 0x2c hpl/sercom/hpl_sercom.o + .text._i2c_m_sync_init_impl + 0x00000000 0xdc hpl/sercom/hpl_sercom.o .text._i2c_s_init 0x00000000 0x80 hpl/sercom/hpl_sercom.o .text._usart_set_baud_rate @@ -11431,6 +11458,8 @@ Discarded input sections 0x00000000 0x16 hpl/sercom/hpl_sercom.o .text._i2c_m_async_get_bytes_left 0x00000000 0xe hpl/sercom/hpl_sercom.o + .text._i2c_m_sync_init + 0x00000000 0x30 hpl/sercom/hpl_sercom.o .text._i2c_m_sync_deinit 0x00000000 0x44 hpl/sercom/hpl_sercom.o .text._i2c_m_sync_enable @@ -11441,6 +11470,8 @@ Discarded input sections 0x00000000 0x178 hpl/sercom/hpl_sercom.o .text._i2c_m_async_set_irq_state 0x00000000 0x36 hpl/sercom/hpl_sercom.o + .text._i2c_m_sync_transfer + 0x00000000 0x51c hpl/sercom/hpl_sercom.o .text._i2c_m_sync_send_stop 0x00000000 0x16 hpl/sercom/hpl_sercom.o .text._i2c_s_sync_init @@ -12685,6 +12716,7 @@ Discarded input sections .group 0x00000000 0x8 oracle.o .group 0x00000000 0x8 oracle.o .group 0x00000000 0x8 oracle.o + .group 0x00000000 0x8 oracle.o .text 0x00000000 0x0 oracle.o .data 0x00000000 0x0 oracle.o .debug_macro 0x00000000 0x8b6 oracle.o @@ -13416,8 +13448,6 @@ Discarded input sections 0x00000000 0x54 thirdparty/lvgl/src/lv_core/lv_obj.o .text.lv_obj_set_ext_click_area 0x00000000 0x64 thirdparty/lvgl/src/lv_core/lv_obj.o - .text.lv_obj_set_adv_hittest - 0x00000000 0x54 thirdparty/lvgl/src/lv_core/lv_obj.o .text.lv_obj_set_top 0x00000000 0x54 thirdparty/lvgl/src/lv_core/lv_obj.o .text.lv_obj_set_drag @@ -13544,12 +13574,8 @@ Discarded input sections 0x00000000 0x50 thirdparty/lvgl/src/lv_core/lv_obj.o .text.lv_obj_clean 0x00000000 0x74 thirdparty/lvgl/src/lv_core/lv_obj.o - .text.lv_obj_is_point_on_coords - 0x00000000 0x40 thirdparty/lvgl/src/lv_core/lv_obj.o .text.lv_obj_hittest 0x00000000 0x30 thirdparty/lvgl/src/lv_core/lv_obj.o - .text.lv_obj_init_draw_img_dsc - 0x00000000 0xa0 thirdparty/lvgl/src/lv_core/lv_obj.o .text.lv_obj_init_draw_line_dsc 0x00000000 0xac thirdparty/lvgl/src/lv_core/lv_obj.o .text.lv_obj_fade_in @@ -21174,9 +21200,6 @@ Discarded input sections .group 0x00000000 0x8 thirdparty/lvgl/src/lv_widgets/lv_img.o .text 0x00000000 0x0 thirdparty/lvgl/src/lv_widgets/lv_img.o .data 0x00000000 0x0 thirdparty/lvgl/src/lv_widgets/lv_img.o - .bss 0x00000000 0x4 thirdparty/lvgl/src/lv_widgets/lv_img.o - .text.lv_img_design - 0x00000000 0x4a0 thirdparty/lvgl/src/lv_widgets/lv_img.o .text.lv_img_set_auto_size 0x00000000 0x58 thirdparty/lvgl/src/lv_widgets/lv_img.o .text.lv_img_set_offset_x @@ -21195,14 +21218,6 @@ Discarded input sections 0x00000000 0x50 thirdparty/lvgl/src/lv_widgets/lv_img.o .text.lv_img_get_file_name 0x00000000 0x60 thirdparty/lvgl/src/lv_widgets/lv_img.o - .text.lv_img_get_auto_size - 0x00000000 0x54 thirdparty/lvgl/src/lv_widgets/lv_img.o - .text.lv_img_set_src - 0x00000000 0x25c thirdparty/lvgl/src/lv_widgets/lv_img.o - .text.lv_img_create - 0x00000000 0x1cc thirdparty/lvgl/src/lv_widgets/lv_img.o - .text.lv_img_signal - 0x00000000 0x25c thirdparty/lvgl/src/lv_widgets/lv_img.o .text.lv_img_get_offset_x 0x00000000 0x54 thirdparty/lvgl/src/lv_widgets/lv_img.o .text.lv_img_get_offset_y @@ -21215,16 +21230,6 @@ Discarded input sections 0x00000000 0x50 thirdparty/lvgl/src/lv_widgets/lv_img.o .text.lv_img_get_antialias 0x00000000 0x54 thirdparty/lvgl/src/lv_widgets/lv_img.o - .rodata 0x00000000 0x125 thirdparty/lvgl/src/lv_widgets/lv_img.o - .rodata.str1.4 - 0x00000000 0x10b thirdparty/lvgl/src/lv_widgets/lv_img.o - .debug_info 0x00000000 0x4a81 thirdparty/lvgl/src/lv_widgets/lv_img.o - .debug_abbrev 0x00000000 0x4cf thirdparty/lvgl/src/lv_widgets/lv_img.o - .debug_loc 0x00000000 0x175d thirdparty/lvgl/src/lv_widgets/lv_img.o - .debug_aranges - 0x00000000 0xb8 thirdparty/lvgl/src/lv_widgets/lv_img.o - .debug_ranges 0x00000000 0x140 thirdparty/lvgl/src/lv_widgets/lv_img.o - .debug_macro 0x00000000 0x3f7 thirdparty/lvgl/src/lv_widgets/lv_img.o .debug_macro 0x00000000 0x8b6 thirdparty/lvgl/src/lv_widgets/lv_img.o .debug_macro 0x00000000 0x22 thirdparty/lvgl/src/lv_widgets/lv_img.o .debug_macro 0x00000000 0x87 thirdparty/lvgl/src/lv_widgets/lv_img.o @@ -21265,12 +21270,6 @@ Discarded input sections .debug_macro 0x00000000 0x58 thirdparty/lvgl/src/lv_widgets/lv_img.o .debug_macro 0x00000000 0x16 thirdparty/lvgl/src/lv_widgets/lv_img.o .debug_macro 0x00000000 0x5c thirdparty/lvgl/src/lv_widgets/lv_img.o - .debug_line 0x00000000 0x1370 thirdparty/lvgl/src/lv_widgets/lv_img.o - .debug_str 0x00000000 0xcacd thirdparty/lvgl/src/lv_widgets/lv_img.o - .comment 0x00000000 0x5a thirdparty/lvgl/src/lv_widgets/lv_img.o - .debug_frame 0x00000000 0x2ec thirdparty/lvgl/src/lv_widgets/lv_img.o - .ARM.attributes - 0x00000000 0x37 thirdparty/lvgl/src/lv_widgets/lv_img.o .group 0x00000000 0x8 thirdparty/lvgl/src/lv_widgets/lv_imgbtn.o .group 0x00000000 0x8 thirdparty/lvgl/src/lv_widgets/lv_imgbtn.o .group 0x00000000 0x8 thirdparty/lvgl/src/lv_widgets/lv_imgbtn.o @@ -25203,7 +25202,7 @@ LOAD c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin LOAD c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/crtn.o 0x00010000 STACK_SIZE = DEFINED (STACK_SIZE)?STACK_SIZE:DEFINED (__stack_size__)?__stack_size__:0x10000 -.text 0x00000000 0x20d34 +.text 0x00000000 0x29a34 0x00000000 . = ALIGN (0x4) 0x00000000 _sfixed = . *(.vectors .vectors.*) @@ -25212,1513 +25211,1527 @@ LOAD c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin *(.text .text.* .gnu.linkonce.t.*) .text 0x00000264 0x6c c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/crtbegin.o .text.ssd1963_init - 0x000002d0 0x964 devices/display/p_ssd1963.o + 0x000002d0 0x9d4 devices/display/p_ssd1963.o 0x000002d0 ssd1963_init .text.ssd1963_flush - 0x00000c34 0x2bc devices/display/p_ssd1963.o - 0x00000c34 ssd1963_flush + 0x00000ca4 0x2d0 devices/display/p_ssd1963.o + 0x00000ca4 ssd1963_flush .text.Dummy_Handler - 0x00000ef0 0x2 Device_Startup/startup_same54.o - 0x00000ef0 EIC_5_Handler - 0x00000ef0 SVCall_Handler - 0x00000ef0 SERCOM0_2_Handler - 0x00000ef0 EIC_13_Handler - 0x00000ef0 EVSYS_0_Handler - 0x00000ef0 TCC1_3_Handler - 0x00000ef0 DAC_3_Handler - 0x00000ef0 TRNG_Handler - 0x00000ef0 HardFault_Handler - 0x00000ef0 TC2_Handler - 0x00000ef0 PDEC_2_Handler - 0x00000ef0 EIC_4_Handler - 0x00000ef0 AC_Handler - 0x00000ef0 SERCOM3_1_Handler - 0x00000ef0 SysTick_Handler - 0x00000ef0 TCC2_3_Handler - 0x00000ef0 SERCOM3_2_Handler - 0x00000ef0 PendSV_Handler - 0x00000ef0 TC7_Handler - 0x00000ef0 ADC1_1_Handler - 0x00000ef0 EVSYS_3_Handler - 0x00000ef0 PDEC_0_Handler - 0x00000ef0 QSPI_Handler - 0x00000ef0 NonMaskableInt_Handler - 0x00000ef0 TCC0_0_Handler - 0x00000ef0 EIC_3_Handler - 0x00000ef0 MemManagement_Handler - 0x00000ef0 DAC_2_Handler - 0x00000ef0 SERCOM0_0_Handler - 0x00000ef0 RTC_Handler - 0x00000ef0 UsageFault_Handler - 0x00000ef0 SERCOM4_0_Handler - 0x00000ef0 EIC_10_Handler - 0x00000ef0 SERCOM0_3_Handler - 0x00000ef0 EIC_11_Handler - 0x00000ef0 EIC_9_Handler - 0x00000ef0 OSC32KCTRL_Handler - 0x00000ef0 TCC2_1_Handler - 0x00000ef0 SUPC_1_Handler - 0x00000ef0 TCC0_5_Handler - 0x00000ef0 TCC0_6_Handler - 0x00000ef0 SERCOM6_2_Handler - 0x00000ef0 EVSYS_1_Handler - 0x00000ef0 TCC1_4_Handler - 0x00000ef0 TC6_Handler - 0x00000ef0 DMAC_0_Handler - 0x00000ef0 WDT_Handler - 0x00000ef0 CAN0_Handler - 0x00000ef0 EIC_8_Handler - 0x00000ef0 EIC_15_Handler - 0x00000ef0 SERCOM6_0_Handler - 0x00000ef0 SERCOM5_0_Handler - 0x00000ef0 TC4_Handler - 0x00000ef0 TC1_Handler - 0x00000ef0 OSCCTRL_4_Handler - 0x00000ef0 SERCOM4_3_Handler - 0x00000ef0 EIC_12_Handler - 0x00000ef0 DMAC_4_Handler - 0x00000ef0 TCC4_2_Handler - 0x00000ef0 PAC_Handler - 0x00000ef0 TCC1_0_Handler - 0x00000ef0 USB_0_Handler - 0x00000ef0 OSCCTRL_0_Handler - 0x00000ef0 EIC_0_Handler - 0x00000ef0 OSCCTRL_3_Handler - 0x00000ef0 SERCOM4_1_Handler - 0x00000ef0 TC3_Handler - 0x00000ef0 Dummy_Handler - 0x00000ef0 TCC3_0_Handler - 0x00000ef0 TCC2_2_Handler - 0x00000ef0 SERCOM5_1_Handler - 0x00000ef0 TCC1_1_Handler - 0x00000ef0 DMAC_2_Handler - 0x00000ef0 ADC0_0_Handler - 0x00000ef0 SERCOM0_1_Handler - 0x00000ef0 OSCCTRL_2_Handler - 0x00000ef0 ADC1_0_Handler - 0x00000ef0 TCC1_2_Handler - 0x00000ef0 SERCOM7_1_Handler - 0x00000ef0 USB_1_Handler - 0x00000ef0 PM_Handler - 0x00000ef0 SERCOM6_3_Handler - 0x00000ef0 DAC_4_Handler - 0x00000ef0 TCC3_2_Handler - 0x00000ef0 SERCOM7_0_Handler - 0x00000ef0 TCC0_2_Handler - 0x00000ef0 DMAC_1_Handler - 0x00000ef0 TCC4_0_Handler - 0x00000ef0 SERCOM7_3_Handler - 0x00000ef0 GMAC_Handler - 0x00000ef0 SDHC1_Handler - 0x00000ef0 USB_3_Handler - 0x00000ef0 SERCOM7_2_Handler - 0x00000ef0 CAN1_Handler - 0x00000ef0 TCC2_0_Handler - 0x00000ef0 PDEC_1_Handler - 0x00000ef0 TCC4_1_Handler - 0x00000ef0 SERCOM5_3_Handler - 0x00000ef0 USB_2_Handler - 0x00000ef0 SERCOM6_1_Handler - 0x00000ef0 SDHC0_Handler - 0x00000ef0 SERCOM1_1_Handler - 0x00000ef0 I2S_Handler - 0x00000ef0 EIC_2_Handler - 0x00000ef0 PCC_Handler - 0x00000ef0 DAC_0_Handler - 0x00000ef0 TCC0_1_Handler - 0x00000ef0 SERCOM1_3_Handler - 0x00000ef0 EIC_6_Handler - 0x00000ef0 OSCCTRL_1_Handler - 0x00000ef0 SERCOM1_0_Handler - 0x00000ef0 PUKCC_Handler - 0x00000ef0 SERCOM1_2_Handler - 0x00000ef0 SERCOM3_0_Handler - 0x00000ef0 EIC_1_Handler - 0x00000ef0 SERCOM4_2_Handler - 0x00000ef0 EVSYS_4_Handler - 0x00000ef0 EIC_7_Handler - 0x00000ef0 NVMCTRL_1_Handler - 0x00000ef0 SERCOM5_2_Handler - 0x00000ef0 SERCOM3_3_Handler - 0x00000ef0 ADC0_1_Handler - 0x00000ef0 TCC3_1_Handler - 0x00000ef0 EIC_14_Handler - 0x00000ef0 DAC_1_Handler - 0x00000ef0 NVMCTRL_0_Handler - 0x00000ef0 MCLK_Handler - 0x00000ef0 EVSYS_2_Handler - 0x00000ef0 SUPC_0_Handler - 0x00000ef0 BusFault_Handler - 0x00000ef0 FREQM_Handler - 0x00000ef0 TCC0_3_Handler - 0x00000ef0 DMAC_3_Handler - 0x00000ef0 DebugMonitor_Handler - 0x00000ef0 TCC0_4_Handler - 0x00000ef0 TC5_Handler - 0x00000ef0 AES_Handler - 0x00000ef0 ICM_Handler - *fill* 0x00000ef2 0x2 + 0x00000f74 0x2 Device_Startup/startup_same54.o + 0x00000f74 EIC_5_Handler + 0x00000f74 SVCall_Handler + 0x00000f74 SERCOM0_2_Handler + 0x00000f74 EIC_13_Handler + 0x00000f74 EVSYS_0_Handler + 0x00000f74 TCC1_3_Handler + 0x00000f74 DAC_3_Handler + 0x00000f74 TRNG_Handler + 0x00000f74 HardFault_Handler + 0x00000f74 TC2_Handler + 0x00000f74 PDEC_2_Handler + 0x00000f74 EIC_4_Handler + 0x00000f74 AC_Handler + 0x00000f74 SERCOM3_1_Handler + 0x00000f74 SysTick_Handler + 0x00000f74 TCC2_3_Handler + 0x00000f74 SERCOM3_2_Handler + 0x00000f74 PendSV_Handler + 0x00000f74 TC7_Handler + 0x00000f74 ADC1_1_Handler + 0x00000f74 EVSYS_3_Handler + 0x00000f74 PDEC_0_Handler + 0x00000f74 QSPI_Handler + 0x00000f74 NonMaskableInt_Handler + 0x00000f74 TCC0_0_Handler + 0x00000f74 EIC_3_Handler + 0x00000f74 MemManagement_Handler + 0x00000f74 DAC_2_Handler + 0x00000f74 SERCOM0_0_Handler + 0x00000f74 RTC_Handler + 0x00000f74 UsageFault_Handler + 0x00000f74 SERCOM4_0_Handler + 0x00000f74 EIC_10_Handler + 0x00000f74 SERCOM0_3_Handler + 0x00000f74 EIC_11_Handler + 0x00000f74 EIC_9_Handler + 0x00000f74 OSC32KCTRL_Handler + 0x00000f74 TCC2_1_Handler + 0x00000f74 SUPC_1_Handler + 0x00000f74 TCC0_5_Handler + 0x00000f74 TCC0_6_Handler + 0x00000f74 SERCOM6_2_Handler + 0x00000f74 EVSYS_1_Handler + 0x00000f74 TCC1_4_Handler + 0x00000f74 TC6_Handler + 0x00000f74 DMAC_0_Handler + 0x00000f74 WDT_Handler + 0x00000f74 CAN0_Handler + 0x00000f74 EIC_8_Handler + 0x00000f74 EIC_15_Handler + 0x00000f74 SERCOM6_0_Handler + 0x00000f74 SERCOM5_0_Handler + 0x00000f74 TC4_Handler + 0x00000f74 TC1_Handler + 0x00000f74 OSCCTRL_4_Handler + 0x00000f74 SERCOM4_3_Handler + 0x00000f74 EIC_12_Handler + 0x00000f74 DMAC_4_Handler + 0x00000f74 TCC4_2_Handler + 0x00000f74 PAC_Handler + 0x00000f74 TCC1_0_Handler + 0x00000f74 USB_0_Handler + 0x00000f74 OSCCTRL_0_Handler + 0x00000f74 EIC_0_Handler + 0x00000f74 OSCCTRL_3_Handler + 0x00000f74 SERCOM4_1_Handler + 0x00000f74 TC3_Handler + 0x00000f74 Dummy_Handler + 0x00000f74 TCC3_0_Handler + 0x00000f74 TCC2_2_Handler + 0x00000f74 SERCOM5_1_Handler + 0x00000f74 TCC1_1_Handler + 0x00000f74 DMAC_2_Handler + 0x00000f74 ADC0_0_Handler + 0x00000f74 SERCOM0_1_Handler + 0x00000f74 OSCCTRL_2_Handler + 0x00000f74 ADC1_0_Handler + 0x00000f74 TCC1_2_Handler + 0x00000f74 SERCOM7_1_Handler + 0x00000f74 USB_1_Handler + 0x00000f74 PM_Handler + 0x00000f74 SERCOM6_3_Handler + 0x00000f74 DAC_4_Handler + 0x00000f74 TCC3_2_Handler + 0x00000f74 SERCOM7_0_Handler + 0x00000f74 TCC0_2_Handler + 0x00000f74 DMAC_1_Handler + 0x00000f74 TCC4_0_Handler + 0x00000f74 SERCOM7_3_Handler + 0x00000f74 GMAC_Handler + 0x00000f74 SDHC1_Handler + 0x00000f74 USB_3_Handler + 0x00000f74 SERCOM7_2_Handler + 0x00000f74 CAN1_Handler + 0x00000f74 TCC2_0_Handler + 0x00000f74 PDEC_1_Handler + 0x00000f74 TCC4_1_Handler + 0x00000f74 SERCOM5_3_Handler + 0x00000f74 USB_2_Handler + 0x00000f74 SERCOM6_1_Handler + 0x00000f74 SDHC0_Handler + 0x00000f74 SERCOM1_1_Handler + 0x00000f74 I2S_Handler + 0x00000f74 EIC_2_Handler + 0x00000f74 PCC_Handler + 0x00000f74 DAC_0_Handler + 0x00000f74 TCC0_1_Handler + 0x00000f74 SERCOM1_3_Handler + 0x00000f74 EIC_6_Handler + 0x00000f74 OSCCTRL_1_Handler + 0x00000f74 SERCOM1_0_Handler + 0x00000f74 PUKCC_Handler + 0x00000f74 SERCOM1_2_Handler + 0x00000f74 SERCOM3_0_Handler + 0x00000f74 EIC_1_Handler + 0x00000f74 SERCOM4_2_Handler + 0x00000f74 EVSYS_4_Handler + 0x00000f74 EIC_7_Handler + 0x00000f74 NVMCTRL_1_Handler + 0x00000f74 SERCOM5_2_Handler + 0x00000f74 SERCOM3_3_Handler + 0x00000f74 ADC0_1_Handler + 0x00000f74 TCC3_1_Handler + 0x00000f74 EIC_14_Handler + 0x00000f74 DAC_1_Handler + 0x00000f74 NVMCTRL_0_Handler + 0x00000f74 MCLK_Handler + 0x00000f74 EVSYS_2_Handler + 0x00000f74 SUPC_0_Handler + 0x00000f74 BusFault_Handler + 0x00000f74 FREQM_Handler + 0x00000f74 TCC0_3_Handler + 0x00000f74 DMAC_3_Handler + 0x00000f74 DebugMonitor_Handler + 0x00000f74 TCC0_4_Handler + 0x00000f74 TC5_Handler + 0x00000f74 AES_Handler + 0x00000f74 ICM_Handler + *fill* 0x00000f76 0x2 .text.Reset_Handler - 0x00000ef4 0x98 Device_Startup/startup_same54.o - 0x00000ef4 Reset_Handler + 0x00000f78 0x98 Device_Startup/startup_same54.o + 0x00000f78 Reset_Handler .text.p_gpio_set_port_data - 0x00000f8c 0x30 drivers/p_gpio.o - 0x00000f8c p_gpio_set_port_data + 0x00001010 0x30 drivers/p_gpio.o + 0x00001010 p_gpio_set_port_data .text.p_gpio_parallel_write - 0x00000fbc 0x2c drivers/p_gpio.o - 0x00000fbc p_gpio_parallel_write + 0x00001040 0x38 drivers/p_gpio.o + 0x00001040 p_gpio_parallel_write .text.p_gpio_parallel_write_arr - 0x00000fe8 0x2c drivers/p_gpio.o - 0x00000fe8 p_gpio_parallel_write_arr + 0x00001078 0x2c drivers/p_gpio.o + 0x00001078 p_gpio_parallel_write_arr .text.p_gpio_set_port_group_config - 0x00001014 0x1ac drivers/p_gpio.o - 0x00001014 p_gpio_set_port_group_config + 0x000010a4 0x1ac drivers/p_gpio.o + 0x000010a4 p_gpio_set_port_group_config .text.p_gpio_init - 0x000011c0 0x144 drivers/p_gpio.o - 0x000011c0 p_gpio_init + 0x00001250 0x134 drivers/p_gpio.o + 0x00001250 p_gpio_init .text.p_i2c_init - 0x00001304 0x98 drivers/p_i2c.o - 0x00001304 p_i2c_init + 0x00001384 0x2 drivers/p_i2c.o + 0x00001384 p_i2c_init + *fill* 0x00001386 0x2 .text.TIMER_0_task1_cb - 0x0000139c 0x24 drivers/p_tcc.o + 0x00001388 0x24 drivers/p_tcc.o .text.p_tcc_init - 0x000013c0 0x78 drivers/p_tcc.o - 0x000013c0 p_tcc_init + 0x000013ac 0x78 drivers/p_tcc.o + 0x000013ac p_tcc_init .text.p_usart_init - 0x00001438 0xac drivers/p_usart.o - 0x00001438 p_usart_init + 0x00001424 0xac drivers/p_usart.o + 0x00001424 p_usart_init .text.atomic_enter_critical - 0x000014e4 0xe hal/src/hal_atomic.o - 0x000014e4 atomic_enter_critical + 0x000014d0 0xe hal/src/hal_atomic.o + 0x000014d0 atomic_enter_critical .text.atomic_leave_critical - 0x000014f2 0xc hal/src/hal_atomic.o - 0x000014f2 atomic_leave_critical - *fill* 0x000014fe 0x2 + 0x000014de 0xc hal/src/hal_atomic.o + 0x000014de atomic_leave_critical + *fill* 0x000014ea 0x2 .text.delay_init - 0x00001500 0x14 hal/src/hal_delay.o - 0x00001500 delay_init + 0x000014ec 0x14 hal/src/hal_delay.o + 0x000014ec delay_init .text.delay_us - 0x00001514 0x20 hal/src/hal_delay.o - 0x00001514 delay_us + 0x00001500 0x20 hal/src/hal_delay.o + 0x00001500 delay_us .text.delay_ms - 0x00001534 0x20 hal/src/hal_delay.o - 0x00001534 delay_ms - .text.i2c_m_sync_write - 0x00001554 0x30 hal/src/hal_i2c_m_sync.o - .text.i2c_m_sync_read - 0x00001584 0x30 hal/src/hal_i2c_m_sync.o - .text.i2c_m_sync_init - 0x000015b4 0x40 hal/src/hal_i2c_m_sync.o - 0x000015b4 i2c_m_sync_init + 0x00001520 0x20 hal/src/hal_delay.o + 0x00001520 delay_ms .text.io_write - 0x000015f4 0x30 hal/src/hal_io.o - 0x000015f4 io_write + 0x00001540 0x30 hal/src/hal_io.o + 0x00001540 io_write .text.timer_add_timer_task - 0x00001624 0x58 hal/src/hal_timer.o + 0x00001570 0x58 hal/src/hal_timer.o .text.timer_process_counted - 0x0000167c 0x80 hal/src/hal_timer.o + 0x000015c8 0x80 hal/src/hal_timer.o .text.timer_init - 0x000016fc 0x3c hal/src/hal_timer.o - 0x000016fc timer_init + 0x00001648 0x3c hal/src/hal_timer.o + 0x00001648 timer_init .text.timer_start - 0x00001738 0x3c hal/src/hal_timer.o - 0x00001738 timer_start + 0x00001684 0x3c hal/src/hal_timer.o + 0x00001684 timer_start .text.timer_add_task - 0x00001774 0xa8 hal/src/hal_timer.o - 0x00001774 timer_add_task + 0x000016c0 0xa8 hal/src/hal_timer.o + 0x000016c0 timer_add_task .text.usart_transmission_complete - 0x0000181c 0x14 hal/src/hal_usart_async.o + 0x00001768 0x14 hal/src/hal_usart_async.o .text.usart_error - 0x00001830 0x14 hal/src/hal_usart_async.o + 0x0000177c 0x14 hal/src/hal_usart_async.o .text.usart_fill_rx_buffer - 0x00001844 0x1c hal/src/hal_usart_async.o + 0x00001790 0x1c hal/src/hal_usart_async.o .text.usart_async_write - 0x00001860 0x60 hal/src/hal_usart_async.o + 0x000017ac 0x60 hal/src/hal_usart_async.o .text.usart_process_byte_sent - 0x000018c0 0x34 hal/src/hal_usart_async.o + 0x0000180c 0x34 hal/src/hal_usart_async.o .text.usart_async_read - 0x000018f4 0xd8 hal/src/hal_usart_async.o + 0x00001840 0xd8 hal/src/hal_usart_async.o .text.usart_async_init - 0x000019cc 0x90 hal/src/hal_usart_async.o - 0x000019cc usart_async_init + 0x00001918 0x90 hal/src/hal_usart_async.o + 0x00001918 usart_async_init .text.usart_async_enable - 0x00001a5c 0x2c hal/src/hal_usart_async.o - 0x00001a5c usart_async_enable - .text.assert 0x00001a88 0x6 hal/utils/src/utils_assert.o - 0x00001a88 assert + 0x000019a8 0x2c hal/src/hal_usart_async.o + 0x000019a8 usart_async_enable + .text.assert 0x000019d4 0x6 hal/utils/src/utils_assert.o + 0x000019d4 assert .text.is_list_element - 0x00001a8e 0x20 hal/utils/src/utils_list.o - 0x00001a8e is_list_element - *fill* 0x00001aae 0x2 + 0x000019da 0x20 hal/utils/src/utils_list.o + 0x000019da is_list_element + *fill* 0x000019fa 0x2 .text.list_insert_as_head - 0x00001ab0 0x2c hal/utils/src/utils_list.o - 0x00001ab0 list_insert_as_head + 0x000019fc 0x2c hal/utils/src/utils_list.o + 0x000019fc list_insert_as_head .text.list_insert_after - 0x00001adc 0x8 hal/utils/src/utils_list.o - 0x00001adc list_insert_after + 0x00001a28 0x8 hal/utils/src/utils_list.o + 0x00001a28 list_insert_after .text.list_remove_head - 0x00001ae4 0xc hal/utils/src/utils_list.o - 0x00001ae4 list_remove_head + 0x00001a30 0xc hal/utils/src/utils_list.o + 0x00001a30 list_remove_head .text.ringbuffer_init - 0x00001af0 0x50 hal/utils/src/utils_ringbuffer.o - 0x00001af0 ringbuffer_init + 0x00001a3c 0x50 hal/utils/src/utils_ringbuffer.o + 0x00001a3c ringbuffer_init .text.ringbuffer_get - 0x00001b40 0x44 hal/utils/src/utils_ringbuffer.o - 0x00001b40 ringbuffer_get + 0x00001a8c 0x44 hal/utils/src/utils_ringbuffer.o + 0x00001a8c ringbuffer_get .text.ringbuffer_put - 0x00001b84 0x40 hal/utils/src/utils_ringbuffer.o - 0x00001b84 ringbuffer_put + 0x00001ad0 0x40 hal/utils/src/utils_ringbuffer.o + 0x00001ad0 ringbuffer_put .text.ringbuffer_num - 0x00001bc4 0x24 hal/utils/src/utils_ringbuffer.o - 0x00001bc4 ringbuffer_num + 0x00001b10 0x24 hal/utils/src/utils_ringbuffer.o + 0x00001b10 ringbuffer_num .text._irq_set - 0x00001be8 0x1c hpl/core/hpl_core_m4.o - 0x00001be8 _irq_set + 0x00001b34 0x1c hpl/core/hpl_core_m4.o + 0x00001b34 _irq_set .text._get_cycles_for_us - 0x00001c04 0x18 hpl/core/hpl_core_m4.o - 0x00001c04 _get_cycles_for_us + 0x00001b50 0x18 hpl/core/hpl_core_m4.o + 0x00001b50 _get_cycles_for_us .text._get_cycles_for_ms - 0x00001c1c 0x20 hpl/core/hpl_core_m4.o - 0x00001c1c _get_cycles_for_ms + 0x00001b68 0x20 hpl/core/hpl_core_m4.o + 0x00001b68 _get_cycles_for_ms .text._delay_init - 0x00001c3c 0x2 hpl/core/hpl_core_m4.o - 0x00001c3c _delay_init - *fill* 0x00001c3e 0x2 + 0x00001b88 0x2 hpl/core/hpl_core_m4.o + 0x00001b88 _delay_init + *fill* 0x00001b8a 0x6 .text._delay_cycles - 0x00001c40 0x8 hpl/core/hpl_core_m4.o - 0x00001c40 _delay_cycles + 0x00001b90 0x8 hpl/core/hpl_core_m4.o + 0x00001b90 _delay_cycles .text._init_chip - 0x00001c48 0x40 hpl/core/hpl_init.o - 0x00001c48 _init_chip + 0x00001b98 0x40 hpl/core/hpl_init.o + 0x00001b98 _init_chip .text._gclk_init_generators_by_fref - 0x00001c88 0x24 hpl/gclk/hpl_gclk.o - 0x00001c88 _gclk_init_generators_by_fref + 0x00001bd8 0x24 hpl/gclk/hpl_gclk.o + 0x00001bd8 _gclk_init_generators_by_fref .text._mclk_init - 0x00001cac 0xc hpl/mclk/hpl_mclk.o - 0x00001cac _mclk_init + 0x00001bfc 0xc hpl/mclk/hpl_mclk.o + 0x00001bfc _mclk_init .text._osc32kctrl_init_sources - 0x00001cb8 0x20 hpl/osc32kctrl/hpl_osc32kctrl.o - 0x00001cb8 _osc32kctrl_init_sources + 0x00001c08 0x20 hpl/osc32kctrl/hpl_osc32kctrl.o + 0x00001c08 _osc32kctrl_init_sources .text._oscctrl_init_sources - 0x00001cd8 0x2 hpl/oscctrl/hpl_oscctrl.o - 0x00001cd8 _oscctrl_init_sources - *fill* 0x00001cda 0x2 + 0x00001c28 0x2 hpl/oscctrl/hpl_oscctrl.o + 0x00001c28 _oscctrl_init_sources + *fill* 0x00001c2a 0x2 .text._oscctrl_init_referenced_generators - 0x00001cdc 0x44 hpl/oscctrl/hpl_oscctrl.o - 0x00001cdc _oscctrl_init_referenced_generators + 0x00001c2c 0x44 hpl/oscctrl/hpl_oscctrl.o + 0x00001c2c _oscctrl_init_referenced_generators .text.RAMECC_Handler - 0x00001d20 0x44 hpl/ramecc/hpl_ramecc.o - 0x00001d20 RAMECC_Handler + 0x00001c70 0x44 hpl/ramecc/hpl_ramecc.o + 0x00001c70 RAMECC_Handler .text._sercom_get_hardware_index - 0x00001d64 0x44 hpl/sercom/hpl_sercom.o + 0x00001cb4 0x44 hpl/sercom/hpl_sercom.o .text._sercom_usart_interrupt_handler - 0x00001da8 0x70 hpl/sercom/hpl_sercom.o + 0x00001cf8 0x70 hpl/sercom/hpl_sercom.o .text._sercom_get_irq_num - 0x00001e18 0x14 hpl/sercom/hpl_sercom.o + 0x00001d68 0x14 hpl/sercom/hpl_sercom.o .text._usart_init - 0x00001e2c 0xa0 hpl/sercom/hpl_sercom.o - .text._get_i2cm_index - 0x00001ecc 0x2c hpl/sercom/hpl_sercom.o - .text._i2c_m_sync_init_impl - 0x00001ef8 0xdc hpl/sercom/hpl_sercom.o + 0x00001d7c 0xa0 hpl/sercom/hpl_sercom.o .text._usart_async_init - 0x00001fd4 0x84 hpl/sercom/hpl_sercom.o - 0x00001fd4 _usart_async_init + 0x00001e1c 0x84 hpl/sercom/hpl_sercom.o + 0x00001e1c _usart_async_init .text._usart_async_enable - 0x00002058 0x14 hpl/sercom/hpl_sercom.o - 0x00002058 _usart_async_enable + 0x00001ea0 0x14 hpl/sercom/hpl_sercom.o + 0x00001ea0 _usart_async_enable .text._usart_async_write_byte - 0x0000206c 0x6 hpl/sercom/hpl_sercom.o - 0x0000206c _usart_async_write_byte + 0x00001eb4 0x6 hpl/sercom/hpl_sercom.o + 0x00001eb4 _usart_async_write_byte .text._usart_async_enable_byte_sent_irq - 0x00002072 0x8 hpl/sercom/hpl_sercom.o - 0x00002072 _usart_async_enable_byte_sent_irq + 0x00001eba 0x8 hpl/sercom/hpl_sercom.o + 0x00001eba _usart_async_enable_byte_sent_irq .text._usart_async_enable_tx_done_irq - 0x0000207a 0x8 hpl/sercom/hpl_sercom.o - 0x0000207a _usart_async_enable_tx_done_irq - *fill* 0x00002082 0x2 - .text._i2c_m_sync_init - 0x00002084 0x30 hpl/sercom/hpl_sercom.o - 0x00002084 _i2c_m_sync_init - .text._i2c_m_sync_transfer - 0x000020b4 0x51c hpl/sercom/hpl_sercom.o - 0x000020b4 _i2c_m_sync_transfer + 0x00001ec2 0x8 hpl/sercom/hpl_sercom.o + 0x00001ec2 _usart_async_enable_tx_done_irq + *fill* 0x00001eca 0x2 .text.SERCOM2_0_Handler - 0x000025d0 0x14 hpl/sercom/hpl_sercom.o - 0x000025d0 SERCOM2_0_Handler + 0x00001ecc 0x14 hpl/sercom/hpl_sercom.o + 0x00001ecc SERCOM2_0_Handler .text.SERCOM2_1_Handler - 0x000025e4 0x14 hpl/sercom/hpl_sercom.o - 0x000025e4 SERCOM2_1_Handler + 0x00001ee0 0x14 hpl/sercom/hpl_sercom.o + 0x00001ee0 SERCOM2_1_Handler .text.SERCOM2_2_Handler - 0x000025f8 0x14 hpl/sercom/hpl_sercom.o - 0x000025f8 SERCOM2_2_Handler + 0x00001ef4 0x14 hpl/sercom/hpl_sercom.o + 0x00001ef4 SERCOM2_2_Handler .text.SERCOM2_3_Handler - 0x0000260c 0x14 hpl/sercom/hpl_sercom.o - 0x0000260c SERCOM2_3_Handler + 0x00001f08 0x14 hpl/sercom/hpl_sercom.o + 0x00001f08 SERCOM2_3_Handler .text.get_tc_index - 0x00002620 0x60 hpl/tc/hpl_tc.o + 0x00001f1c 0x60 hpl/tc/hpl_tc.o .text._timer_init - 0x00002680 0x1a8 hpl/tc/hpl_tc.o - 0x00002680 _timer_init + 0x00001f7c 0x1a8 hpl/tc/hpl_tc.o + 0x00001f7c _timer_init .text._timer_start - 0x00002828 0x14 hpl/tc/hpl_tc.o - 0x00002828 _timer_start + 0x00002124 0x14 hpl/tc/hpl_tc.o + 0x00002124 _timer_start .text._timer_is_started - 0x0000283c 0x12 hpl/tc/hpl_tc.o - 0x0000283c _timer_is_started + 0x00002138 0x12 hpl/tc/hpl_tc.o + 0x00002138 _timer_is_started .text._tc_get_timer - 0x0000284e 0x4 hpl/tc/hpl_tc.o - 0x0000284e _tc_get_timer - *fill* 0x00002852 0x2 + 0x0000214a 0x4 hpl/tc/hpl_tc.o + 0x0000214a _tc_get_timer + *fill* 0x0000214e 0x2 .text._timer_set_irq - 0x00002854 0x40 hpl/tc/hpl_tc.o - 0x00002854 _timer_set_irq + 0x00002150 0x40 hpl/tc/hpl_tc.o + 0x00002150 _timer_set_irq .text.TC0_Handler - 0x00002894 0x20 hpl/tc/hpl_tc.o - 0x00002894 TC0_Handler - .text.main 0x000028b4 0x14 main.o - 0x000028b4 main + 0x00002190 0x20 hpl/tc/hpl_tc.o + 0x00002190 TC0_Handler + .text.main 0x000021b0 0x14 main.o + 0x000021b0 main .text.oracle_init - 0x000028c8 0xac oracle.o - 0x000028c8 oracle_init + 0x000021c4 0xd4 oracle.o + 0x000021c4 oracle_init .text.oracle_service - 0x00002974 0x18 oracle.o - 0x00002974 oracle_service + 0x00002298 0x18 oracle.o + 0x00002298 oracle_service .text.lv_debug_check_null - 0x0000298c 0x8 thirdparty/lvgl/src/lv_core/lv_debug.o - 0x0000298c lv_debug_check_null + 0x000022b0 0x8 thirdparty/lvgl/src/lv_core/lv_debug.o + 0x000022b0 lv_debug_check_null .text.lv_debug_log_error - 0x00002994 0x94 thirdparty/lvgl/src/lv_core/lv_debug.o - 0x00002994 lv_debug_log_error + 0x000022b8 0x94 thirdparty/lvgl/src/lv_core/lv_debug.o + 0x000022b8 lv_debug_log_error .text.lv_disp_get_scr_act - 0x00002a28 0x40 thirdparty/lvgl/src/lv_core/lv_disp.o - 0x00002a28 lv_disp_get_scr_act + 0x0000234c 0x40 thirdparty/lvgl/src/lv_core/lv_disp.o + 0x0000234c lv_disp_get_scr_act .text.lv_disp_get_layer_top - 0x00002a68 0x40 thirdparty/lvgl/src/lv_core/lv_disp.o - 0x00002a68 lv_disp_get_layer_top + 0x0000238c 0x40 thirdparty/lvgl/src/lv_core/lv_disp.o + 0x0000238c lv_disp_get_layer_top .text.lv_disp_get_layer_sys - 0x00002aa8 0x40 thirdparty/lvgl/src/lv_core/lv_disp.o - 0x00002aa8 lv_disp_get_layer_sys + 0x000023cc 0x40 thirdparty/lvgl/src/lv_core/lv_disp.o + 0x000023cc lv_disp_get_layer_sys .text.obj_to_foreground - 0x00002ae8 0x38 thirdparty/lvgl/src/lv_core/lv_group.o + 0x0000240c 0x38 thirdparty/lvgl/src/lv_core/lv_group.o .text.focus_next_core - 0x00002b20 0xe4 thirdparty/lvgl/src/lv_core/lv_group.o + 0x00002444 0xe4 thirdparty/lvgl/src/lv_core/lv_group.o .text._lv_group_init - 0x00002c04 0x14 thirdparty/lvgl/src/lv_core/lv_group.o - 0x00002c04 _lv_group_init + 0x00002528 0x14 thirdparty/lvgl/src/lv_core/lv_group.o + 0x00002528 _lv_group_init .text.lv_group_focus_next - 0x00002c18 0x18 thirdparty/lvgl/src/lv_core/lv_group.o - 0x00002c18 lv_group_focus_next + 0x0000253c 0x18 thirdparty/lvgl/src/lv_core/lv_group.o + 0x0000253c lv_group_focus_next .text.lv_group_focus_prev - 0x00002c30 0x18 thirdparty/lvgl/src/lv_core/lv_group.o - 0x00002c30 lv_group_focus_prev + 0x00002554 0x18 thirdparty/lvgl/src/lv_core/lv_group.o + 0x00002554 lv_group_focus_prev .text.lv_group_refocus - 0x00002c48 0x30 thirdparty/lvgl/src/lv_core/lv_group.o + 0x0000256c 0x30 thirdparty/lvgl/src/lv_core/lv_group.o .text.lv_group_add_obj - 0x00002c78 0xdc thirdparty/lvgl/src/lv_core/lv_group.o - 0x00002c78 lv_group_add_obj + 0x0000259c 0xdc thirdparty/lvgl/src/lv_core/lv_group.o + 0x0000259c lv_group_add_obj .text.lv_group_remove_obj - 0x00002d54 0xd0 thirdparty/lvgl/src/lv_core/lv_group.o - 0x00002d54 lv_group_remove_obj + 0x00002678 0xd0 thirdparty/lvgl/src/lv_core/lv_group.o + 0x00002678 lv_group_remove_obj .text.lv_group_get_focused - 0x00002e24 0x12 thirdparty/lvgl/src/lv_core/lv_group.o - 0x00002e24 lv_group_get_focused + 0x00002748 0x12 thirdparty/lvgl/src/lv_core/lv_group.o + 0x00002748 lv_group_get_focused .text.lv_group_get_editing - 0x00002e36 0xe thirdparty/lvgl/src/lv_core/lv_group.o - 0x00002e36 lv_group_get_editing + 0x0000275a 0xe thirdparty/lvgl/src/lv_core/lv_group.o + 0x0000275a lv_group_get_editing .text.lv_indev_get_act - 0x00002e44 0xc thirdparty/lvgl/src/lv_core/lv_indev.o - 0x00002e44 lv_indev_get_act + 0x00002768 0xc thirdparty/lvgl/src/lv_core/lv_indev.o + 0x00002768 lv_indev_get_act .text.lv_indev_reset - 0x00002e50 0x7c thirdparty/lvgl/src/lv_core/lv_indev.o - 0x00002e50 lv_indev_reset + 0x00002774 0x7c thirdparty/lvgl/src/lv_core/lv_indev.o + 0x00002774 lv_indev_reset .text._lv_indev_init - 0x00002ecc 0x10 thirdparty/lvgl/src/lv_core/lv_indev.o - 0x00002ecc _lv_indev_init + 0x000027f0 0x10 thirdparty/lvgl/src/lv_core/lv_indev.o + 0x000027f0 _lv_indev_init .text.lv_indev_get_obj_act - 0x00002edc 0xc thirdparty/lvgl/src/lv_core/lv_indev.o - 0x00002edc lv_indev_get_obj_act + 0x00002800 0xc thirdparty/lvgl/src/lv_core/lv_indev.o + 0x00002800 lv_indev_get_obj_act .text.refresh_children_position - 0x00002ee8 0x5c thirdparty/lvgl/src/lv_core/lv_obj.o - .text.lv_init 0x00002f44 0xe4 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00002f44 lv_init + 0x0000280c 0x5c thirdparty/lvgl/src/lv_core/lv_obj.o + .text.lv_init 0x00002868 0xe4 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00002868 lv_init + .text.lv_obj_set_adv_hittest + 0x0000294c 0x54 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x0000294c lv_obj_set_adv_hittest .text.lv_obj_set_click - 0x00003028 0x54 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00003028 lv_obj_set_click + 0x000029a0 0x54 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x000029a0 lv_obj_set_click .text.lv_event_send_func - 0x0000307c 0xd8 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x0000307c lv_event_send_func + 0x000029f4 0xd8 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x000029f4 lv_event_send_func .text.lv_event_send - 0x00003154 0x60 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00003154 lv_event_send + 0x00002acc 0x60 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00002acc lv_event_send .text.lv_obj_set_signal_cb - 0x000031b4 0x48 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x000031b4 lv_obj_set_signal_cb + 0x00002b2c 0x48 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00002b2c lv_obj_set_signal_cb .text.lv_signal_send - 0x000031fc 0x14 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x000031fc lv_signal_send + 0x00002b74 0x14 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00002b74 lv_signal_send .text.lv_obj_set_design_cb - 0x00003210 0x48 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00003210 lv_obj_set_design_cb + 0x00002b88 0x48 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00002b88 lv_obj_set_design_cb .text.lv_obj_allocate_ext_attr - 0x00003258 0x5c thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00003258 lv_obj_allocate_ext_attr + 0x00002bd0 0x5c thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00002bd0 lv_obj_allocate_ext_attr .text.lv_obj_refresh_ext_draw_pad - 0x000032b4 0x50 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x000032b4 lv_obj_refresh_ext_draw_pad + 0x00002c2c 0x50 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00002c2c lv_obj_refresh_ext_draw_pad .text.lv_obj_get_parent - 0x00003304 0x48 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00003304 lv_obj_get_parent + 0x00002c7c 0x48 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00002c7c lv_obj_get_parent .text.lv_obj_get_screen - 0x0000334c 0x5c thirdparty/lvgl/src/lv_core/lv_obj.o - 0x0000334c lv_obj_get_screen + 0x00002cc4 0x5c thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00002cc4 lv_obj_get_screen .text.lv_obj_get_disp - 0x000033a8 0xc0 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x000033a8 lv_obj_get_disp + 0x00002d20 0xc0 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00002d20 lv_obj_get_disp .text.lv_obj_get_child - 0x00003468 0x60 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00003468 lv_obj_get_child + 0x00002de0 0x60 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00002de0 lv_obj_get_child .text.lv_obj_get_coords - 0x000034c8 0x5c thirdparty/lvgl/src/lv_core/lv_obj.o - 0x000034c8 lv_obj_get_coords + 0x00002e40 0x5c thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00002e40 lv_obj_get_coords .text.lv_obj_get_x - 0x00003524 0x60 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00003524 lv_obj_get_x + 0x00002e9c 0x60 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00002e9c lv_obj_get_x .text.lv_obj_get_y - 0x00003584 0x60 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00003584 lv_obj_get_y + 0x00002efc 0x60 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00002efc lv_obj_get_y .text.lv_obj_get_width - 0x000035e4 0x50 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x000035e4 lv_obj_get_width + 0x00002f5c 0x50 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00002f5c lv_obj_get_width .text.lv_obj_get_height - 0x00003634 0x50 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00003634 lv_obj_get_height + 0x00002fac 0x50 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00002fac lv_obj_get_height .text.lv_obj_get_style_list - 0x00003684 0x2c thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00003684 lv_obj_get_style_list + 0x00002ffc 0x2c thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00002ffc lv_obj_get_style_list .text.trans_del - 0x000036b0 0xa4 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00003028 0xa4 thirdparty/lvgl/src/lv_core/lv_obj.o .text.lv_obj_clean_style_list - 0x00003754 0x54 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00003754 lv_obj_clean_style_list + 0x000030cc 0x54 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x000030cc lv_obj_clean_style_list .text.trans_anim_ready_cb - 0x000037a8 0x84 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00003120 0x84 thirdparty/lvgl/src/lv_core/lv_obj.o .text.lv_obj_get_hidden - 0x0000382c 0x4c thirdparty/lvgl/src/lv_core/lv_obj.o - 0x0000382c lv_obj_get_hidden + 0x000031a4 0x4c thirdparty/lvgl/src/lv_core/lv_obj.o + 0x000031a4 lv_obj_get_hidden .text.lv_obj_invalidate_area - 0x00003878 0x130 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00003878 lv_obj_invalidate_area + 0x000031f0 0x130 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x000031f0 lv_obj_invalidate_area .text.lv_obj_invalidate - 0x000039a8 0x94 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x000039a8 lv_obj_invalidate + 0x00003320 0x94 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00003320 lv_obj_invalidate .text.lv_obj_move_foreground - 0x00003a3c 0x88 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00003a3c lv_obj_move_foreground + 0x000033b4 0x88 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x000033b4 lv_obj_move_foreground .text.lv_obj_set_pos - 0x00003ac4 0xec thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00003ac4 lv_obj_set_pos + 0x0000343c 0xec thirdparty/lvgl/src/lv_core/lv_obj.o + 0x0000343c lv_obj_set_pos .text.lv_obj_set_x - 0x00003bb0 0x60 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00003bb0 lv_obj_set_x + 0x00003528 0x60 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00003528 lv_obj_set_x .text.lv_obj_set_y - 0x00003c10 0x60 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00003c10 lv_obj_set_y + 0x00003588 0x60 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00003588 lv_obj_set_y .text.lv_obj_align - 0x00003c70 0xe8 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00003c70 lv_obj_align + 0x000035e8 0xe8 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x000035e8 lv_obj_align .text.lv_obj_align_origo - 0x00003d58 0x310 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00003d58 lv_obj_align_origo + 0x000036d0 0x310 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x000036d0 lv_obj_align_origo .text.lv_obj_realign - 0x00004068 0x70 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00004068 lv_obj_realign + 0x000039e0 0x70 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x000039e0 lv_obj_realign .text.refresh_children_style - 0x000040d8 0x48 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00003a50 0x48 thirdparty/lvgl/src/lv_core/lv_obj.o .text.lv_obj_refresh_style - 0x00004120 0x104 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00004120 lv_obj_refresh_style + 0x00003a98 0x104 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00003a98 lv_obj_refresh_style .text.lv_obj_reset_style_list - 0x00004224 0x1c thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00004224 lv_obj_reset_style_list + 0x00003b9c 0x1c thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00003b9c lv_obj_reset_style_list .text.report_style_mod_core - 0x00004240 0x9c thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00003bb8 0x9c thirdparty/lvgl/src/lv_core/lv_obj.o .text.lv_obj_report_style_mod - 0x000042dc 0x58 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x000042dc lv_obj_report_style_mod + 0x00003c54 0x58 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00003c54 lv_obj_report_style_mod .text.trans_anim_cb - 0x00004334 0x130 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00003cac 0x130 thirdparty/lvgl/src/lv_core/lv_obj.o .text.lv_obj_get_base_dir - 0x00004464 0x48 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00004464 lv_obj_get_base_dir + 0x00003ddc 0x48 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00003ddc lv_obj_get_base_dir .text.lv_obj_create - 0x000044ac 0x47c thirdparty/lvgl/src/lv_core/lv_obj.o - 0x000044ac lv_obj_create + 0x00003e24 0x47c thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00003e24 lv_obj_create .text.lv_obj_set_size - 0x00004928 0x114 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00004928 lv_obj_set_size + 0x000042a0 0x114 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x000042a0 lv_obj_set_size .text.lv_obj_set_height - 0x00004a3c 0x60 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00004a3c lv_obj_set_height + 0x000043b4 0x60 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x000043b4 lv_obj_set_height .text.lv_obj_is_protected - 0x00004a9c 0x54 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00004a9c lv_obj_is_protected + 0x00004414 0x54 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00004414 lv_obj_is_protected .text.lv_obj_get_state - 0x00004af0 0x6c thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00004af0 lv_obj_get_state + 0x00004468 0x6c thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00004468 lv_obj_get_state .text._lv_obj_get_style_int - 0x00004b5c 0xac thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00004b5c _lv_obj_get_style_int + 0x000044d4 0xac thirdparty/lvgl/src/lv_core/lv_obj.o + 0x000044d4 _lv_obj_get_style_int .text._lv_obj_get_style_color - 0x00004c08 0x8c thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00004c08 _lv_obj_get_style_color + 0x00004580 0x8c thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00004580 _lv_obj_get_style_color .text._lv_obj_get_style_opa - 0x00004c94 0x94 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00004c94 _lv_obj_get_style_opa + 0x0000460c 0x94 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x0000460c _lv_obj_get_style_opa .text._lv_obj_get_style_ptr - 0x00004d28 0xa0 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00004d28 _lv_obj_get_style_ptr + 0x000046a0 0xa0 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x000046a0 _lv_obj_get_style_ptr .text.trans_anim_start_cb - 0x00004dc8 0x74 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00004740 0x74 thirdparty/lvgl/src/lv_core/lv_obj.o .text.lv_obj_set_state - 0x00004e3c 0x4e8 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00004e3c lv_obj_set_state + 0x000047b4 0x4e8 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x000047b4 lv_obj_set_state .text.lv_obj_add_state - 0x00005324 0x5c thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00005324 lv_obj_add_state + 0x00004c9c 0x5c thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00004c9c lv_obj_add_state .text.lv_obj_clear_state - 0x00005380 0x5c thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00005380 lv_obj_clear_state + 0x00004cf8 0x5c thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00004cf8 lv_obj_clear_state .text.lv_obj_get_signal_cb - 0x000053dc 0x48 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x000053dc lv_obj_get_signal_cb + 0x00004d54 0x48 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00004d54 lv_obj_get_signal_cb .text.lv_obj_get_ext_attr - 0x00005424 0x48 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00005424 lv_obj_get_ext_attr + 0x00004d9c 0x48 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00004d9c lv_obj_get_ext_attr .text.lv_obj_get_group - 0x0000546c 0x48 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x0000546c lv_obj_get_group + 0x00004de4 0x48 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00004de4 lv_obj_get_group .text.obj_del_core - 0x000054b4 0x138 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00004e2c 0x138 thirdparty/lvgl/src/lv_core/lv_obj.o .text.lv_obj_del - 0x000055ec 0x94 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x000055ec lv_obj_del + 0x00004f64 0x94 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00004f64 lv_obj_del .text.lv_obj_is_focused - 0x00005680 0x5c thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00005680 lv_obj_is_focused + 0x00004ff8 0x5c thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00004ff8 lv_obj_is_focused + .text.lv_obj_is_point_on_coords + 0x00005054 0x40 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00005054 lv_obj_is_point_on_coords .text.lv_obj_handle_get_type_signal - 0x000056dc 0x2e thirdparty/lvgl/src/lv_core/lv_obj.o - 0x000056dc lv_obj_handle_get_type_signal - *fill* 0x0000570a 0x2 + 0x00005094 0x2e thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00005094 lv_obj_handle_get_type_signal + *fill* 0x000050c2 0x2 .text.lv_obj_init_draw_rect_dsc - 0x0000570c 0x364 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x0000570c lv_obj_init_draw_rect_dsc + 0x000050c4 0x364 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x000050c4 lv_obj_init_draw_rect_dsc .text.lv_obj_design - 0x00005a70 0x288 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00005428 0x288 thirdparty/lvgl/src/lv_core/lv_obj.o .text.lv_obj_init_draw_label_dsc - 0x00005cf8 0xb8 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00005cf8 lv_obj_init_draw_label_dsc + 0x000056b0 0xb8 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x000056b0 lv_obj_init_draw_label_dsc + .text.lv_obj_init_draw_img_dsc + 0x00005768 0xa0 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00005768 lv_obj_init_draw_img_dsc .text.lv_obj_get_draw_rect_ext_pad_size - 0x00005db0 0x1fc thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00005db0 lv_obj_get_draw_rect_ext_pad_size + 0x00005808 0x1fc thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00005808 lv_obj_get_draw_rect_ext_pad_size .text.lv_obj_signal - 0x00005fac 0x114 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00005a04 0x114 thirdparty/lvgl/src/lv_core/lv_obj.o .text.lv_refr_get_top_obj - 0x000060c0 0x98 thirdparty/lvgl/src/lv_core/lv_refr.o + 0x00005b18 0x98 thirdparty/lvgl/src/lv_core/lv_refr.o .text.lv_refr_obj - 0x00006158 0x104 thirdparty/lvgl/src/lv_core/lv_refr.o + 0x00005bb0 0x104 thirdparty/lvgl/src/lv_core/lv_refr.o .text.lv_refr_obj_and_children - 0x0000625c 0x8c thirdparty/lvgl/src/lv_core/lv_refr.o + 0x00005cb4 0x8c thirdparty/lvgl/src/lv_core/lv_refr.o .text.lv_refr_vdb_flush - 0x000062e8 0x78 thirdparty/lvgl/src/lv_core/lv_refr.o + 0x00005d40 0x78 thirdparty/lvgl/src/lv_core/lv_refr.o .text.lv_refr_area_part - 0x00006360 0x9c thirdparty/lvgl/src/lv_core/lv_refr.o + 0x00005db8 0x9c thirdparty/lvgl/src/lv_core/lv_refr.o .text._lv_refr_init - 0x000063fc 0x2 thirdparty/lvgl/src/lv_core/lv_refr.o - 0x000063fc _lv_refr_init - *fill* 0x000063fe 0x2 + 0x00005e54 0x2 thirdparty/lvgl/src/lv_core/lv_refr.o + 0x00005e54 _lv_refr_init + *fill* 0x00005e56 0x2 .text._lv_inv_area - 0x00006400 0x110 thirdparty/lvgl/src/lv_core/lv_refr.o - 0x00006400 _lv_inv_area + 0x00005e58 0x110 thirdparty/lvgl/src/lv_core/lv_refr.o + 0x00005e58 _lv_inv_area .text._lv_refr_get_disp_refreshing - 0x00006510 0xc thirdparty/lvgl/src/lv_core/lv_refr.o - 0x00006510 _lv_refr_get_disp_refreshing + 0x00005f68 0xc thirdparty/lvgl/src/lv_core/lv_refr.o + 0x00005f68 _lv_refr_get_disp_refreshing .text._lv_disp_refr_task - 0x0000651c 0x564 thirdparty/lvgl/src/lv_core/lv_refr.o - 0x0000651c _lv_disp_refr_task + 0x00005f74 0x564 thirdparty/lvgl/src/lv_core/lv_refr.o + 0x00005f74 _lv_disp_refr_task .text.lv_style_init - 0x00006a80 0x10 thirdparty/lvgl/src/lv_core/lv_style.o - 0x00006a80 lv_style_init + 0x000064d8 0x10 thirdparty/lvgl/src/lv_core/lv_style.o + 0x000064d8 lv_style_init .text.lv_style_list_init - 0x00006a90 0x10 thirdparty/lvgl/src/lv_core/lv_style.o - 0x00006a90 lv_style_list_init + 0x000064e8 0x10 thirdparty/lvgl/src/lv_core/lv_style.o + 0x000064e8 lv_style_list_init .text._lv_style_list_remove_style - 0x00006aa0 0xe0 thirdparty/lvgl/src/lv_core/lv_style.o - 0x00006aa0 _lv_style_list_remove_style + 0x000064f8 0xe0 thirdparty/lvgl/src/lv_core/lv_style.o + 0x000064f8 _lv_style_list_remove_style .text._lv_style_list_add_style - 0x00006b80 0xd4 thirdparty/lvgl/src/lv_core/lv_style.o - 0x00006b80 _lv_style_list_add_style + 0x000065d8 0xd4 thirdparty/lvgl/src/lv_core/lv_style.o + 0x000065d8 _lv_style_list_add_style .text.get_alloc_local_style - 0x00006c54 0xb8 thirdparty/lvgl/src/lv_core/lv_style.o + 0x000066ac 0xb8 thirdparty/lvgl/src/lv_core/lv_style.o .text.lv_style_reset - 0x00006d0c 0x14 thirdparty/lvgl/src/lv_core/lv_style.o - 0x00006d0c lv_style_reset + 0x00006764 0x14 thirdparty/lvgl/src/lv_core/lv_style.o + 0x00006764 lv_style_reset .text._lv_style_get_mem_size - 0x00006d20 0x3e thirdparty/lvgl/src/lv_core/lv_style.o - 0x00006d20 _lv_style_get_mem_size - *fill* 0x00006d5e 0x2 + 0x00006778 0x3e thirdparty/lvgl/src/lv_core/lv_style.o + 0x00006778 _lv_style_get_mem_size + *fill* 0x000067b6 0x2 .text.lv_style_copy - 0x00006d60 0x34 thirdparty/lvgl/src/lv_core/lv_style.o - 0x00006d60 lv_style_copy + 0x000067b8 0x34 thirdparty/lvgl/src/lv_core/lv_style.o + 0x000067b8 lv_style_copy .text.lv_style_remove_prop - 0x00006d94 0xf4 thirdparty/lvgl/src/lv_core/lv_style.o - 0x00006d94 lv_style_remove_prop + 0x000067ec 0xf4 thirdparty/lvgl/src/lv_core/lv_style.o + 0x000067ec lv_style_remove_prop .text._lv_style_set_int - 0x00006e88 0x144 thirdparty/lvgl/src/lv_core/lv_style.o - 0x00006e88 _lv_style_set_int + 0x000068e0 0x144 thirdparty/lvgl/src/lv_core/lv_style.o + 0x000068e0 _lv_style_set_int .text._lv_style_set_color - 0x00006fcc 0x144 thirdparty/lvgl/src/lv_core/lv_style.o - 0x00006fcc _lv_style_set_color + 0x00006a24 0x144 thirdparty/lvgl/src/lv_core/lv_style.o + 0x00006a24 _lv_style_set_color .text._lv_style_set_opa - 0x00007110 0x130 thirdparty/lvgl/src/lv_core/lv_style.o - 0x00007110 _lv_style_set_opa + 0x00006b68 0x130 thirdparty/lvgl/src/lv_core/lv_style.o + 0x00006b68 _lv_style_set_opa .text._lv_style_set_ptr - 0x00007240 0x15c thirdparty/lvgl/src/lv_core/lv_style.o - 0x00007240 _lv_style_set_ptr + 0x00006c98 0x15c thirdparty/lvgl/src/lv_core/lv_style.o + 0x00006c98 _lv_style_set_ptr .text._lv_style_get_int - 0x0000739c 0xb6 thirdparty/lvgl/src/lv_core/lv_style.o - 0x0000739c _lv_style_get_int + 0x00006df4 0xb6 thirdparty/lvgl/src/lv_core/lv_style.o + 0x00006df4 _lv_style_get_int .text._lv_style_get_opa - 0x00007452 0xb0 thirdparty/lvgl/src/lv_core/lv_style.o - 0x00007452 _lv_style_get_opa + 0x00006eaa 0xb0 thirdparty/lvgl/src/lv_core/lv_style.o + 0x00006eaa _lv_style_get_opa .text._lv_style_get_color - 0x00007502 0xb6 thirdparty/lvgl/src/lv_core/lv_style.o - 0x00007502 _lv_style_get_color + 0x00006f5a 0xb6 thirdparty/lvgl/src/lv_core/lv_style.o + 0x00006f5a _lv_style_get_color .text._lv_style_get_ptr - 0x000075b8 0xbc thirdparty/lvgl/src/lv_core/lv_style.o - 0x000075b8 _lv_style_get_ptr + 0x00007010 0xbc thirdparty/lvgl/src/lv_core/lv_style.o + 0x00007010 _lv_style_get_ptr .text.lv_style_list_get_local_style - 0x00007674 0x1a thirdparty/lvgl/src/lv_core/lv_style.o - 0x00007674 lv_style_list_get_local_style + 0x000070cc 0x1a thirdparty/lvgl/src/lv_core/lv_style.o + 0x000070cc lv_style_list_get_local_style .text._lv_style_list_get_transition_style - 0x0000768e 0x10 thirdparty/lvgl/src/lv_core/lv_style.o - 0x0000768e _lv_style_list_get_transition_style - *fill* 0x0000769e 0x2 + 0x000070e6 0x10 thirdparty/lvgl/src/lv_core/lv_style.o + 0x000070e6 _lv_style_list_get_transition_style + *fill* 0x000070f6 0x2 .text._lv_style_list_reset - 0x000076a0 0x70 thirdparty/lvgl/src/lv_core/lv_style.o - 0x000076a0 _lv_style_list_reset + 0x000070f8 0x70 thirdparty/lvgl/src/lv_core/lv_style.o + 0x000070f8 _lv_style_list_reset .text.lv_style_list_copy - 0x00007710 0xcc thirdparty/lvgl/src/lv_core/lv_style.o - 0x00007710 lv_style_list_copy + 0x00007168 0xcc thirdparty/lvgl/src/lv_core/lv_style.o + 0x00007168 lv_style_list_copy .text._lv_style_list_add_trans_style - 0x000077dc 0xb0 thirdparty/lvgl/src/lv_core/lv_style.o - 0x000077dc _lv_style_list_add_trans_style + 0x00007234 0xb0 thirdparty/lvgl/src/lv_core/lv_style.o + 0x00007234 _lv_style_list_add_trans_style .text._lv_style_list_get_int - 0x0000788c 0xc4 thirdparty/lvgl/src/lv_core/lv_style.o - 0x0000788c _lv_style_list_get_int + 0x000072e4 0xc4 thirdparty/lvgl/src/lv_core/lv_style.o + 0x000072e4 _lv_style_list_get_int .text._lv_style_list_get_color - 0x00007950 0xc4 thirdparty/lvgl/src/lv_core/lv_style.o - 0x00007950 _lv_style_list_get_color + 0x000073a8 0xc4 thirdparty/lvgl/src/lv_core/lv_style.o + 0x000073a8 _lv_style_list_get_color .text._lv_style_list_get_opa - 0x00007a14 0xc4 thirdparty/lvgl/src/lv_core/lv_style.o - 0x00007a14 _lv_style_list_get_opa + 0x0000746c 0xc4 thirdparty/lvgl/src/lv_core/lv_style.o + 0x0000746c _lv_style_list_get_opa .text._lv_style_list_get_ptr - 0x00007ad8 0xb8 thirdparty/lvgl/src/lv_core/lv_style.o - 0x00007ad8 _lv_style_list_get_ptr + 0x00007530 0xb8 thirdparty/lvgl/src/lv_core/lv_style.o + 0x00007530 _lv_style_list_get_ptr .text.color_blend_true_color_additive - 0x00007b90 0xb6 thirdparty/lvgl/src/lv_draw/lv_draw_blend.o + 0x000075e8 0xb6 thirdparty/lvgl/src/lv_draw/lv_draw_blend.o .text.color_blend_true_color_subtractive - 0x00007c46 0xb2 thirdparty/lvgl/src/lv_draw/lv_draw_blend.o + 0x0000769e 0xb2 thirdparty/lvgl/src/lv_draw/lv_draw_blend.o .text._lv_blend_fill - 0x00007cf8 0xb30 thirdparty/lvgl/src/lv_draw/lv_draw_blend.o - 0x00007cf8 _lv_blend_fill + 0x00007750 0xb30 thirdparty/lvgl/src/lv_draw/lv_draw_blend.o + 0x00007750 _lv_blend_fill .text._lv_blend_map - 0x00008828 0xb4c thirdparty/lvgl/src/lv_draw/lv_draw_blend.o - 0x00008828 _lv_blend_map + 0x00008280 0xb4c thirdparty/lvgl/src/lv_draw/lv_draw_blend.o + 0x00008280 _lv_blend_map .text.lv_draw_map - 0x00009374 0x828 thirdparty/lvgl/src/lv_draw/lv_draw_img.o + 0x00008dcc 0x828 thirdparty/lvgl/src/lv_draw/lv_draw_img.o .text.show_error - 0x00009b9c 0x50 thirdparty/lvgl/src/lv_draw/lv_draw_img.o + 0x000095f4 0x50 thirdparty/lvgl/src/lv_draw/lv_draw_img.o .text.lv_draw_img_dsc_init - 0x00009bec 0x3c thirdparty/lvgl/src/lv_draw/lv_draw_img.o - 0x00009bec lv_draw_img_dsc_init + 0x00009644 0x3c thirdparty/lvgl/src/lv_draw/lv_draw_img.o + 0x00009644 lv_draw_img_dsc_init .text.lv_img_cf_get_px_size - 0x00009c28 0x32 thirdparty/lvgl/src/lv_draw/lv_draw_img.o - 0x00009c28 lv_img_cf_get_px_size + 0x00009680 0x32 thirdparty/lvgl/src/lv_draw/lv_draw_img.o + 0x00009680 lv_img_cf_get_px_size .text.lv_img_cf_is_chroma_keyed - 0x00009c5a 0x14 thirdparty/lvgl/src/lv_draw/lv_draw_img.o - 0x00009c5a lv_img_cf_is_chroma_keyed + 0x000096b2 0x14 thirdparty/lvgl/src/lv_draw/lv_draw_img.o + 0x000096b2 lv_img_cf_is_chroma_keyed .text.lv_img_cf_has_alpha - 0x00009c6e 0x20 thirdparty/lvgl/src/lv_draw/lv_draw_img.o - 0x00009c6e lv_img_cf_has_alpha - *fill* 0x00009c8e 0x2 + 0x000096c6 0x20 thirdparty/lvgl/src/lv_draw/lv_draw_img.o + 0x000096c6 lv_img_cf_has_alpha + *fill* 0x000096e6 0x2 .text.lv_draw_img - 0x00009c90 0x280 thirdparty/lvgl/src/lv_draw/lv_draw_img.o - 0x00009c90 lv_draw_img + 0x000096e8 0x280 thirdparty/lvgl/src/lv_draw/lv_draw_img.o + 0x000096e8 lv_draw_img .text.lv_img_src_get_type - 0x00009f10 0x22 thirdparty/lvgl/src/lv_draw/lv_draw_img.o - 0x00009f10 lv_img_src_get_type + 0x00009968 0x22 thirdparty/lvgl/src/lv_draw/lv_draw_img.o + 0x00009968 lv_img_src_get_type .text.hex_char_to_num - 0x00009f32 0x42 thirdparty/lvgl/src/lv_draw/lv_draw_label.o + 0x0000998a 0x42 thirdparty/lvgl/src/lv_draw/lv_draw_label.o .text.lv_draw_label_dsc_init - 0x00009f74 0x58 thirdparty/lvgl/src/lv_draw/lv_draw_label.o - 0x00009f74 lv_draw_label_dsc_init + 0x000099cc 0x58 thirdparty/lvgl/src/lv_draw/lv_draw_label.o + 0x000099cc lv_draw_label_dsc_init .text.lv_draw_label - 0x00009fcc 0xebc thirdparty/lvgl/src/lv_draw/lv_draw_label.o - 0x00009fcc lv_draw_label + 0x00009a24 0xebc thirdparty/lvgl/src/lv_draw/lv_draw_label.o + 0x00009a24 lv_draw_label .text.lv_draw_line_dsc_init - 0x0000ae88 0x30 thirdparty/lvgl/src/lv_draw/lv_draw_line.o - 0x0000ae88 lv_draw_line_dsc_init + 0x0000a8e0 0x30 thirdparty/lvgl/src/lv_draw/lv_draw_line.o + 0x0000a8e0 lv_draw_line_dsc_init .text.lv_draw_line - 0x0000aeb8 0x910 thirdparty/lvgl/src/lv_draw/lv_draw_line.o - 0x0000aeb8 lv_draw_line + 0x0000a910 0x910 thirdparty/lvgl/src/lv_draw/lv_draw_line.o + 0x0000a910 lv_draw_line .text.lv_draw_mask_line - 0x0000b7c8 0x5ac thirdparty/lvgl/src/lv_draw/lv_draw_mask.o + 0x0000b220 0x5ac thirdparty/lvgl/src/lv_draw/lv_draw_mask.o .text.lv_draw_mask_radius - 0x0000bd74 0x5f4 thirdparty/lvgl/src/lv_draw/lv_draw_mask.o + 0x0000b7cc 0x5f4 thirdparty/lvgl/src/lv_draw/lv_draw_mask.o .text.lv_draw_mask_add - 0x0000c368 0x5c thirdparty/lvgl/src/lv_draw/lv_draw_mask.o - 0x0000c368 lv_draw_mask_add + 0x0000bdc0 0x5c thirdparty/lvgl/src/lv_draw/lv_draw_mask.o + 0x0000bdc0 lv_draw_mask_add .text.lv_draw_mask_apply - 0x0000c3c4 0x50 thirdparty/lvgl/src/lv_draw/lv_draw_mask.o - 0x0000c3c4 lv_draw_mask_apply + 0x0000be1c 0x50 thirdparty/lvgl/src/lv_draw/lv_draw_mask.o + 0x0000be1c lv_draw_mask_apply .text.lv_draw_mask_remove_id - 0x0000c414 0x24 thirdparty/lvgl/src/lv_draw/lv_draw_mask.o - 0x0000c414 lv_draw_mask_remove_id + 0x0000be6c 0x24 thirdparty/lvgl/src/lv_draw/lv_draw_mask.o + 0x0000be6c lv_draw_mask_remove_id .text.lv_draw_mask_remove_custom - 0x0000c438 0x34 thirdparty/lvgl/src/lv_draw/lv_draw_mask.o - 0x0000c438 lv_draw_mask_remove_custom + 0x0000be90 0x34 thirdparty/lvgl/src/lv_draw/lv_draw_mask.o + 0x0000be90 lv_draw_mask_remove_custom .text.lv_draw_mask_get_cnt - 0x0000c46c 0x24 thirdparty/lvgl/src/lv_draw/lv_draw_mask.o - 0x0000c46c lv_draw_mask_get_cnt + 0x0000bec4 0x24 thirdparty/lvgl/src/lv_draw/lv_draw_mask.o + 0x0000bec4 lv_draw_mask_get_cnt .text.lv_draw_mask_line_points_init - 0x0000c490 0x144 thirdparty/lvgl/src/lv_draw/lv_draw_mask.o - 0x0000c490 lv_draw_mask_line_points_init + 0x0000bee8 0x144 thirdparty/lvgl/src/lv_draw/lv_draw_mask.o + 0x0000bee8 lv_draw_mask_line_points_init .text.lv_draw_mask_radius_init - 0x0000c5d4 0x60 thirdparty/lvgl/src/lv_draw/lv_draw_mask.o - 0x0000c5d4 lv_draw_mask_radius_init + 0x0000c02c 0x60 thirdparty/lvgl/src/lv_draw/lv_draw_mask.o + 0x0000c02c lv_draw_mask_radius_init .text.shadow_blur_corner - 0x0000c634 0x1dc thirdparty/lvgl/src/lv_draw/lv_draw_rect.o + 0x0000c08c 0x1dc thirdparty/lvgl/src/lv_draw/lv_draw_rect.o .text.lv_draw_rect_dsc_init - 0x0000c810 0xc8 thirdparty/lvgl/src/lv_draw/lv_draw_rect.o - 0x0000c810 lv_draw_rect_dsc_init + 0x0000c268 0xc8 thirdparty/lvgl/src/lv_draw/lv_draw_rect.o + 0x0000c268 lv_draw_rect_dsc_init .text.lv_draw_rect - 0x0000c8d8 0x25e8 thirdparty/lvgl/src/lv_draw/lv_draw_rect.o - 0x0000c8d8 lv_draw_rect + 0x0000c330 0x25e8 thirdparty/lvgl/src/lv_draw/lv_draw_rect.o + 0x0000c330 lv_draw_rect .text.lv_img_buf_get_px_color - 0x0000eec0 0x130 thirdparty/lvgl/src/lv_draw/lv_img_buf.o - 0x0000eec0 lv_img_buf_get_px_color + 0x0000e918 0x130 thirdparty/lvgl/src/lv_draw/lv_img_buf.o + 0x0000e918 lv_img_buf_get_px_color .text.lv_img_buf_get_px_alpha - 0x0000eff0 0x104 thirdparty/lvgl/src/lv_draw/lv_img_buf.o - 0x0000eff0 lv_img_buf_get_px_alpha + 0x0000ea48 0x104 thirdparty/lvgl/src/lv_draw/lv_img_buf.o + 0x0000ea48 lv_img_buf_get_px_alpha .text._lv_img_buf_transform_init - 0x0000f0f4 0x118 thirdparty/lvgl/src/lv_draw/lv_img_buf.o - 0x0000f0f4 _lv_img_buf_transform_init + 0x0000eb4c 0x118 thirdparty/lvgl/src/lv_draw/lv_img_buf.o + 0x0000eb4c _lv_img_buf_transform_init .text._lv_img_buf_get_transformed_area - 0x0000f20c 0x198 thirdparty/lvgl/src/lv_draw/lv_img_buf.o - 0x0000f20c _lv_img_buf_get_transformed_area + 0x0000ec64 0x198 thirdparty/lvgl/src/lv_draw/lv_img_buf.o + 0x0000ec64 _lv_img_buf_get_transformed_area .text._lv_img_buf_transform_anti_alias - 0x0000f3a4 0x404 thirdparty/lvgl/src/lv_draw/lv_img_buf.o - 0x0000f3a4 _lv_img_buf_transform_anti_alias + 0x0000edfc 0x404 thirdparty/lvgl/src/lv_draw/lv_img_buf.o + 0x0000edfc _lv_img_buf_transform_anti_alias .text._lv_img_cache_open - 0x0000f7a8 0x1c4 thirdparty/lvgl/src/lv_draw/lv_img_cache.o - 0x0000f7a8 _lv_img_cache_open + 0x0000f200 0x1c4 thirdparty/lvgl/src/lv_draw/lv_img_cache.o + 0x0000f200 _lv_img_cache_open .text.lv_img_cache_invalidate_src - 0x0000f96c 0x68 thirdparty/lvgl/src/lv_draw/lv_img_cache.o - 0x0000f96c lv_img_cache_invalidate_src + 0x0000f3c4 0x68 thirdparty/lvgl/src/lv_draw/lv_img_cache.o + 0x0000f3c4 lv_img_cache_invalidate_src .text.lv_img_cache_set_size - 0x0000f9d4 0xc0 thirdparty/lvgl/src/lv_draw/lv_img_cache.o - 0x0000f9d4 lv_img_cache_set_size + 0x0000f42c 0xc0 thirdparty/lvgl/src/lv_draw/lv_img_cache.o + 0x0000f42c lv_img_cache_set_size .text.lv_img_decoder_built_in_info - 0x0000fa94 0xfc thirdparty/lvgl/src/lv_draw/lv_img_decoder.o - 0x0000fa94 lv_img_decoder_built_in_info + 0x0000f4ec 0xfc thirdparty/lvgl/src/lv_draw/lv_img_decoder.o + 0x0000f4ec lv_img_decoder_built_in_info .text.lv_img_decoder_built_in_close - 0x0000fb90 0x3c thirdparty/lvgl/src/lv_draw/lv_img_decoder.o - 0x0000fb90 lv_img_decoder_built_in_close + 0x0000f5e8 0x3c thirdparty/lvgl/src/lv_draw/lv_img_decoder.o + 0x0000f5e8 lv_img_decoder_built_in_close .text.lv_img_decoder_built_in_open - 0x0000fbcc 0x3a0 thirdparty/lvgl/src/lv_draw/lv_img_decoder.o - 0x0000fbcc lv_img_decoder_built_in_open + 0x0000f624 0x3a0 thirdparty/lvgl/src/lv_draw/lv_img_decoder.o + 0x0000f624 lv_img_decoder_built_in_open .text.lv_img_decoder_built_in_read_line - 0x0000ff6c 0x428 thirdparty/lvgl/src/lv_draw/lv_img_decoder.o - 0x0000ff6c lv_img_decoder_built_in_read_line + 0x0000f9c4 0x428 thirdparty/lvgl/src/lv_draw/lv_img_decoder.o + 0x0000f9c4 lv_img_decoder_built_in_read_line .text.lv_img_decoder_get_info - 0x00010394 0x5c thirdparty/lvgl/src/lv_draw/lv_img_decoder.o - 0x00010394 lv_img_decoder_get_info + 0x0000fdec 0x5c thirdparty/lvgl/src/lv_draw/lv_img_decoder.o + 0x0000fdec lv_img_decoder_get_info .text.lv_img_decoder_open - 0x000103f0 0xc8 thirdparty/lvgl/src/lv_draw/lv_img_decoder.o - 0x000103f0 lv_img_decoder_open + 0x0000fe48 0xc8 thirdparty/lvgl/src/lv_draw/lv_img_decoder.o + 0x0000fe48 lv_img_decoder_open .text.lv_img_decoder_read_line - 0x000104b8 0x24 thirdparty/lvgl/src/lv_draw/lv_img_decoder.o - 0x000104b8 lv_img_decoder_read_line + 0x0000ff10 0x24 thirdparty/lvgl/src/lv_draw/lv_img_decoder.o + 0x0000ff10 lv_img_decoder_read_line .text.lv_img_decoder_close - 0x000104dc 0x2c thirdparty/lvgl/src/lv_draw/lv_img_decoder.o - 0x000104dc lv_img_decoder_close + 0x0000ff34 0x2c thirdparty/lvgl/src/lv_draw/lv_img_decoder.o + 0x0000ff34 lv_img_decoder_close .text.lv_img_decoder_create - 0x00010508 0x60 thirdparty/lvgl/src/lv_draw/lv_img_decoder.o - 0x00010508 lv_img_decoder_create + 0x0000ff60 0x60 thirdparty/lvgl/src/lv_draw/lv_img_decoder.o + 0x0000ff60 lv_img_decoder_create .text._lv_img_decoder_init - 0x00010568 0x90 thirdparty/lvgl/src/lv_draw/lv_img_decoder.o - 0x00010568 _lv_img_decoder_init + 0x0000ffc0 0x90 thirdparty/lvgl/src/lv_draw/lv_img_decoder.o + 0x0000ffc0 _lv_img_decoder_init .text.lv_font_get_glyph_bitmap - 0x000105f8 0x8 thirdparty/lvgl/src/lv_font/lv_font.o - 0x000105f8 lv_font_get_glyph_bitmap + 0x00010050 0x8 thirdparty/lvgl/src/lv_font/lv_font.o + 0x00010050 lv_font_get_glyph_bitmap .text.lv_font_get_glyph_dsc - 0x00010600 0x8 thirdparty/lvgl/src/lv_font/lv_font.o - 0x00010600 lv_font_get_glyph_dsc + 0x00010058 0x8 thirdparty/lvgl/src/lv_font/lv_font.o + 0x00010058 lv_font_get_glyph_dsc .text.lv_font_get_glyph_width - 0x00010608 0x20 thirdparty/lvgl/src/lv_font/lv_font.o - 0x00010608 lv_font_get_glyph_width + 0x00010060 0x20 thirdparty/lvgl/src/lv_font/lv_font.o + 0x00010060 lv_font_get_glyph_width .text.kern_pair_8_compare - 0x00010628 0x12 thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o + 0x00010080 0x12 thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o .text.kern_pair_16_compare - 0x0001063a 0x12 thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o + 0x00010092 0x12 thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o .text.unicode_list_compare - 0x0001064c 0x8 thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o + 0x000100a4 0x8 thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o .text.get_glyph_dsc_id - 0x00010654 0xec thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o + 0x000100ac 0xec thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o .text.lv_font_get_bitmap_fmt_txt - 0x00010740 0xa0c thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o - 0x00010740 lv_font_get_bitmap_fmt_txt + 0x00010198 0xa0c thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o + 0x00010198 lv_font_get_bitmap_fmt_txt .text.lv_font_get_glyph_dsc_fmt_txt - 0x0001114c 0x150 thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o - 0x0001114c lv_font_get_glyph_dsc_fmt_txt + 0x00010ba4 0x150 thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o + 0x00010ba4 lv_font_get_glyph_dsc_fmt_txt .text._lv_font_clean_up_fmt_txt - 0x0001129c 0x1c thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o - 0x0001129c _lv_font_clean_up_fmt_txt + 0x00010cf4 0x1c thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o + 0x00010cf4 _lv_font_clean_up_fmt_txt .text.lv_disp_drv_init - 0x000112b8 0x60 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o - 0x000112b8 lv_disp_drv_init + 0x00010d10 0x60 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + 0x00010d10 lv_disp_drv_init .text.lv_disp_buf_init - 0x00011318 0x20 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o - 0x00011318 lv_disp_buf_init + 0x00010d70 0x20 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + 0x00010d70 lv_disp_buf_init .text.lv_disp_drv_register - 0x00011338 0x150 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o - 0x00011338 lv_disp_drv_register + 0x00010d90 0x150 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + 0x00010d90 lv_disp_drv_register .text.lv_disp_get_default - 0x00011488 0xc thirdparty/lvgl/src/lv_hal/lv_hal_disp.o - 0x00011488 lv_disp_get_default + 0x00010ee0 0xc thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + 0x00010ee0 lv_disp_get_default .text.lv_disp_get_hor_res - 0x00011494 0x28 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o - 0x00011494 lv_disp_get_hor_res + 0x00010eec 0x28 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + 0x00010eec lv_disp_get_hor_res .text.lv_disp_get_ver_res - 0x000114bc 0x28 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o - 0x000114bc lv_disp_get_ver_res + 0x00010f14 0x28 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + 0x00010f14 lv_disp_get_ver_res .text.lv_disp_get_dpi - 0x000114e4 0x1c thirdparty/lvgl/src/lv_hal/lv_hal_disp.o - 0x000114e4 lv_disp_get_dpi + 0x00010f3c 0x1c thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + 0x00010f3c lv_disp_get_dpi .text.lv_disp_get_size_category - 0x00011500 0x54 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o - 0x00011500 lv_disp_get_size_category + 0x00010f58 0x54 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + 0x00010f58 lv_disp_get_size_category .text.lv_disp_flush_ready - 0x00011554 0xc thirdparty/lvgl/src/lv_hal/lv_hal_disp.o - 0x00011554 lv_disp_flush_ready + 0x00010fac 0xc thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + 0x00010fac lv_disp_flush_ready .text.lv_disp_get_next - 0x00011560 0x24 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o - 0x00011560 lv_disp_get_next + 0x00010fb8 0x24 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + 0x00010fb8 lv_disp_get_next .text.lv_disp_get_buf - 0x00011584 0x4 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o - 0x00011584 lv_disp_get_buf + 0x00010fdc 0x4 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + 0x00010fdc lv_disp_get_buf .text.lv_disp_is_double_buf - 0x00011588 0x14 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o - 0x00011588 lv_disp_is_double_buf + 0x00010fe0 0x14 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + 0x00010fe0 lv_disp_is_double_buf .text.lv_disp_is_true_double_buf - 0x0001159c 0x2c thirdparty/lvgl/src/lv_hal/lv_hal_disp.o - 0x0001159c lv_disp_is_true_double_buf + 0x00010ff4 0x2c thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + 0x00010ff4 lv_disp_is_true_double_buf .text.lv_indev_get_next - 0x000115c8 0x24 thirdparty/lvgl/src/lv_hal/lv_hal_indev.o - 0x000115c8 lv_indev_get_next + 0x00011020 0x24 thirdparty/lvgl/src/lv_hal/lv_hal_indev.o + 0x00011020 lv_indev_get_next .text.lv_tick_inc - 0x000115ec 0x14 thirdparty/lvgl/src/lv_hal/lv_hal_tick.o - 0x000115ec lv_tick_inc + 0x00011044 0x14 thirdparty/lvgl/src/lv_hal/lv_hal_tick.o + 0x00011044 lv_tick_inc .text.lv_tick_get - 0x00011600 0x18 thirdparty/lvgl/src/lv_hal/lv_hal_tick.o - 0x00011600 lv_tick_get + 0x00011058 0x18 thirdparty/lvgl/src/lv_hal/lv_hal_tick.o + 0x00011058 lv_tick_get .text.lv_tick_elaps - 0x00011618 0x10 thirdparty/lvgl/src/lv_hal/lv_hal_tick.o - 0x00011618 lv_tick_elaps + 0x00011070 0x10 thirdparty/lvgl/src/lv_hal/lv_hal_tick.o + 0x00011070 lv_tick_elaps .text.lv_anim_path_linear - 0x00011628 0x24 thirdparty/lvgl/src/lv_misc/lv_anim.o - 0x00011628 lv_anim_path_linear + 0x00011080 0x24 thirdparty/lvgl/src/lv_misc/lv_anim.o + 0x00011080 lv_anim_path_linear .text.anim_mark_list_change - 0x0001164c 0x38 thirdparty/lvgl/src/lv_misc/lv_anim.o + 0x000110a4 0x38 thirdparty/lvgl/src/lv_misc/lv_anim.o .text.anim_task - 0x00011684 0x1c0 thirdparty/lvgl/src/lv_misc/lv_anim.o + 0x000110dc 0x1c0 thirdparty/lvgl/src/lv_misc/lv_anim.o .text._lv_anim_core_init - 0x00011844 0x48 thirdparty/lvgl/src/lv_misc/lv_anim.o - 0x00011844 _lv_anim_core_init + 0x0001129c 0x48 thirdparty/lvgl/src/lv_misc/lv_anim.o + 0x0001129c _lv_anim_core_init .text.lv_anim_init - 0x0001188c 0x44 thirdparty/lvgl/src/lv_misc/lv_anim.o - 0x0001188c lv_anim_init + 0x000112e4 0x44 thirdparty/lvgl/src/lv_misc/lv_anim.o + 0x000112e4 lv_anim_init .text.lv_anim_del - 0x000118d0 0x78 thirdparty/lvgl/src/lv_misc/lv_anim.o - 0x000118d0 lv_anim_del + 0x00011328 0x78 thirdparty/lvgl/src/lv_misc/lv_anim.o + 0x00011328 lv_anim_del .text.lv_anim_start - 0x00011948 0xb4 thirdparty/lvgl/src/lv_misc/lv_anim.o - 0x00011948 lv_anim_start + 0x000113a0 0xb4 thirdparty/lvgl/src/lv_misc/lv_anim.o + 0x000113a0 lv_anim_start .text.lv_anim_get - 0x000119fc 0x3c thirdparty/lvgl/src/lv_misc/lv_anim.o - 0x000119fc lv_anim_get + 0x00011454 0x3c thirdparty/lvgl/src/lv_misc/lv_anim.o + 0x00011454 lv_anim_get .text.lv_anim_speed_to_time - 0x00011a38 0x28 thirdparty/lvgl/src/lv_misc/lv_anim.o - 0x00011a38 lv_anim_speed_to_time + 0x00011490 0x28 thirdparty/lvgl/src/lv_misc/lv_anim.o + 0x00011490 lv_anim_speed_to_time .text.lv_point_within_circle - 0x00011a60 0x3a thirdparty/lvgl/src/lv_misc/lv_area.o + 0x000114b8 0x3a thirdparty/lvgl/src/lv_misc/lv_area.o .text.lv_area_set_height - 0x00011a9a 0xa thirdparty/lvgl/src/lv_misc/lv_area.o - 0x00011a9a lv_area_set_height + 0x000114f2 0xa thirdparty/lvgl/src/lv_misc/lv_area.o + 0x000114f2 lv_area_set_height .text.lv_area_get_size - 0x00011aa4 0x1c thirdparty/lvgl/src/lv_misc/lv_area.o - 0x00011aa4 lv_area_get_size + 0x000114fc 0x1c thirdparty/lvgl/src/lv_misc/lv_area.o + 0x000114fc lv_area_get_size .text._lv_area_intersect - 0x00011ac0 0x56 thirdparty/lvgl/src/lv_misc/lv_area.o - 0x00011ac0 _lv_area_intersect + 0x00011518 0x56 thirdparty/lvgl/src/lv_misc/lv_area.o + 0x00011518 _lv_area_intersect .text._lv_area_join - 0x00011b16 0x48 thirdparty/lvgl/src/lv_misc/lv_area.o - 0x00011b16 _lv_area_join - *fill* 0x00011b5e 0x2 + 0x0001156e 0x48 thirdparty/lvgl/src/lv_misc/lv_area.o + 0x0001156e _lv_area_join + *fill* 0x000115b6 0x2 .text._lv_area_is_point_on - 0x00011b60 0x170 thirdparty/lvgl/src/lv_misc/lv_area.o - 0x00011b60 _lv_area_is_point_on + 0x000115b8 0x170 thirdparty/lvgl/src/lv_misc/lv_area.o + 0x000115b8 _lv_area_is_point_on .text._lv_area_is_on - 0x00011cd0 0x42 thirdparty/lvgl/src/lv_misc/lv_area.o - 0x00011cd0 _lv_area_is_on - *fill* 0x00011d12 0x2 + 0x00011728 0x42 thirdparty/lvgl/src/lv_misc/lv_area.o + 0x00011728 _lv_area_is_on + *fill* 0x0001176a 0x2 .text._lv_area_is_in - 0x00011d14 0xb8 thirdparty/lvgl/src/lv_misc/lv_area.o - 0x00011d14 _lv_area_is_in + 0x0001176c 0xb8 thirdparty/lvgl/src/lv_misc/lv_area.o + 0x0001176c _lv_area_is_in .text._lv_area_align - 0x00011dcc 0x316 thirdparty/lvgl/src/lv_misc/lv_area.o - 0x00011dcc _lv_area_align + 0x00011824 0x316 thirdparty/lvgl/src/lv_misc/lv_area.o + 0x00011824 _lv_area_align .text.lv_color_fill - 0x000120e2 0x6c thirdparty/lvgl/src/lv_misc/lv_color.o - 0x000120e2 lv_color_fill + 0x00011b3a 0x6c thirdparty/lvgl/src/lv_misc/lv_color.o + 0x00011b3a lv_color_fill .text.lv_color_lighten - 0x0001214e 0x5c thirdparty/lvgl/src/lv_misc/lv_color.o - 0x0001214e lv_color_lighten + 0x00011ba6 0x5c thirdparty/lvgl/src/lv_misc/lv_color.o + 0x00011ba6 lv_color_lighten .text.lv_color_darken - 0x000121aa 0x56 thirdparty/lvgl/src/lv_misc/lv_color.o - 0x000121aa lv_color_darken + 0x00011c02 0x56 thirdparty/lvgl/src/lv_misc/lv_color.o + 0x00011c02 lv_color_darken .text.lv_fs_get_real_path - 0x00012200 0x1e thirdparty/lvgl/src/lv_misc/lv_fs.o - *fill* 0x0001221e 0x2 + 0x00011c58 0x1e thirdparty/lvgl/src/lv_misc/lv_fs.o + *fill* 0x00011c76 0x2 .text._lv_fs_init - 0x00012220 0x14 thirdparty/lvgl/src/lv_misc/lv_fs.o - 0x00012220 _lv_fs_init + 0x00011c78 0x14 thirdparty/lvgl/src/lv_misc/lv_fs.o + 0x00011c78 _lv_fs_init .text.lv_fs_close - 0x00012234 0x30 thirdparty/lvgl/src/lv_misc/lv_fs.o - 0x00012234 lv_fs_close + 0x00011c8c 0x30 thirdparty/lvgl/src/lv_misc/lv_fs.o + 0x00011c8c lv_fs_close .text.lv_fs_read - 0x00012264 0x3c thirdparty/lvgl/src/lv_misc/lv_fs.o - 0x00012264 lv_fs_read + 0x00011cbc 0x3c thirdparty/lvgl/src/lv_misc/lv_fs.o + 0x00011cbc lv_fs_read .text.lv_fs_seek - 0x000122a0 0x1c thirdparty/lvgl/src/lv_misc/lv_fs.o - 0x000122a0 lv_fs_seek + 0x00011cf8 0x1c thirdparty/lvgl/src/lv_misc/lv_fs.o + 0x00011cf8 lv_fs_seek .text.lv_fs_get_drv - 0x000122bc 0x38 thirdparty/lvgl/src/lv_misc/lv_fs.o - 0x000122bc lv_fs_get_drv + 0x00011d14 0x38 thirdparty/lvgl/src/lv_misc/lv_fs.o + 0x00011d14 lv_fs_get_drv .text.lv_fs_open - 0x000122f4 0xd4 thirdparty/lvgl/src/lv_misc/lv_fs.o - 0x000122f4 lv_fs_open + 0x00011d4c 0xd4 thirdparty/lvgl/src/lv_misc/lv_fs.o + 0x00011d4c lv_fs_open .text.lv_fs_get_ext - 0x000123c8 0x58 thirdparty/lvgl/src/lv_misc/lv_fs.o - 0x000123c8 lv_fs_get_ext + 0x00011e20 0x58 thirdparty/lvgl/src/lv_misc/lv_fs.o + 0x00011e20 lv_fs_get_ext .text.node_set_next - 0x00012420 0x40 thirdparty/lvgl/src/lv_misc/lv_ll.o + 0x00011e78 0x40 thirdparty/lvgl/src/lv_misc/lv_ll.o .text.node_set_prev - 0x00012460 0x40 thirdparty/lvgl/src/lv_misc/lv_ll.o + 0x00011eb8 0x40 thirdparty/lvgl/src/lv_misc/lv_ll.o .text._lv_ll_init - 0x000124a0 0x16 thirdparty/lvgl/src/lv_misc/lv_ll.o - 0x000124a0 _lv_ll_init - *fill* 0x000124b6 0x2 + 0x00011ef8 0x16 thirdparty/lvgl/src/lv_misc/lv_ll.o + 0x00011ef8 _lv_ll_init + *fill* 0x00011f0e 0x2 .text._lv_ll_ins_head - 0x000124b8 0x4c thirdparty/lvgl/src/lv_misc/lv_ll.o - 0x000124b8 _lv_ll_ins_head + 0x00011f10 0x4c thirdparty/lvgl/src/lv_misc/lv_ll.o + 0x00011f10 _lv_ll_ins_head .text._lv_ll_ins_tail - 0x00012504 0x4c thirdparty/lvgl/src/lv_misc/lv_ll.o - 0x00012504 _lv_ll_ins_tail + 0x00011f5c 0x4c thirdparty/lvgl/src/lv_misc/lv_ll.o + 0x00011f5c _lv_ll_ins_tail .text._lv_ll_get_head - 0x00012550 0xa thirdparty/lvgl/src/lv_misc/lv_ll.o - 0x00012550 _lv_ll_get_head + 0x00011fa8 0xa thirdparty/lvgl/src/lv_misc/lv_ll.o + 0x00011fa8 _lv_ll_get_head .text._lv_ll_get_tail - 0x0001255a 0xa thirdparty/lvgl/src/lv_misc/lv_ll.o - 0x0001255a _lv_ll_get_tail + 0x00011fb2 0xa thirdparty/lvgl/src/lv_misc/lv_ll.o + 0x00011fb2 _lv_ll_get_tail .text._lv_ll_get_next - 0x00012564 0x2c thirdparty/lvgl/src/lv_misc/lv_ll.o - 0x00012564 _lv_ll_get_next + 0x00011fbc 0x2c thirdparty/lvgl/src/lv_misc/lv_ll.o + 0x00011fbc _lv_ll_get_next .text._lv_ll_get_prev - 0x00012590 0x2a thirdparty/lvgl/src/lv_misc/lv_ll.o - 0x00012590 _lv_ll_get_prev - *fill* 0x000125ba 0x2 + 0x00011fe8 0x2a thirdparty/lvgl/src/lv_misc/lv_ll.o + 0x00011fe8 _lv_ll_get_prev + *fill* 0x00012012 0x2 .text._lv_ll_ins_prev - 0x000125bc 0x80 thirdparty/lvgl/src/lv_misc/lv_ll.o - 0x000125bc _lv_ll_ins_prev + 0x00012014 0x80 thirdparty/lvgl/src/lv_misc/lv_ll.o + 0x00012014 _lv_ll_ins_prev .text._lv_ll_remove - 0x0001263c 0x8c thirdparty/lvgl/src/lv_misc/lv_ll.o - 0x0001263c _lv_ll_remove + 0x00012094 0x8c thirdparty/lvgl/src/lv_misc/lv_ll.o + 0x00012094 _lv_ll_remove .text._lv_ll_chg_list - 0x000126c8 0x74 thirdparty/lvgl/src/lv_misc/lv_ll.o - 0x000126c8 _lv_ll_chg_list + 0x00012120 0x74 thirdparty/lvgl/src/lv_misc/lv_ll.o + 0x00012120 _lv_ll_chg_list .text._lv_ll_move_before - 0x0001273c 0xb0 thirdparty/lvgl/src/lv_misc/lv_ll.o - 0x0001273c _lv_ll_move_before + 0x00012194 0xb0 thirdparty/lvgl/src/lv_misc/lv_ll.o + 0x00012194 _lv_ll_move_before .text._lv_ll_is_empty - 0x000127ec 0x18 thirdparty/lvgl/src/lv_misc/lv_ll.o - 0x000127ec _lv_ll_is_empty + 0x00012244 0x18 thirdparty/lvgl/src/lv_misc/lv_ll.o + 0x00012244 _lv_ll_is_empty .text._lv_log_add - 0x00012804 0x48 thirdparty/lvgl/src/lv_misc/lv_log.o - 0x00012804 _lv_log_add + 0x0001225c 0x48 thirdparty/lvgl/src/lv_misc/lv_log.o + 0x0001225c _lv_log_add .text._lv_trigo_sin - 0x0001284c 0x78 thirdparty/lvgl/src/lv_misc/lv_math.o - 0x0001284c _lv_trigo_sin + 0x000122a4 0x78 thirdparty/lvgl/src/lv_misc/lv_math.o + 0x000122a4 _lv_trigo_sin .text._lv_sqrt - 0x000128c4 0x24 thirdparty/lvgl/src/lv_misc/lv_math.o - 0x000128c4 _lv_sqrt + 0x0001231c 0x24 thirdparty/lvgl/src/lv_misc/lv_math.o + 0x0001231c _lv_sqrt .text.ent_get_next - 0x000128e8 0x28 thirdparty/lvgl/src/lv_misc/lv_mem.o + 0x00012340 0x28 thirdparty/lvgl/src/lv_misc/lv_mem.o .text.ent_trunc - 0x00012910 0x54 thirdparty/lvgl/src/lv_misc/lv_mem.o + 0x00012368 0x54 thirdparty/lvgl/src/lv_misc/lv_mem.o .text._lv_mem_init - 0x00012964 0x20 thirdparty/lvgl/src/lv_misc/lv_mem.o - 0x00012964 _lv_mem_init + 0x000123bc 0x20 thirdparty/lvgl/src/lv_misc/lv_mem.o + 0x000123bc _lv_mem_init .text.lv_mem_alloc - 0x00012984 0x84 thirdparty/lvgl/src/lv_misc/lv_mem.o - 0x00012984 lv_mem_alloc + 0x000123dc 0x84 thirdparty/lvgl/src/lv_misc/lv_mem.o + 0x000123dc lv_mem_alloc .text.lv_mem_defrag - 0x00012a08 0x64 thirdparty/lvgl/src/lv_misc/lv_mem.o - 0x00012a08 lv_mem_defrag + 0x00012460 0x64 thirdparty/lvgl/src/lv_misc/lv_mem.o + 0x00012460 lv_mem_defrag .text.lv_mem_free - 0x00012a6c 0x8c thirdparty/lvgl/src/lv_misc/lv_mem.o - 0x00012a6c lv_mem_free + 0x000124c4 0x8c thirdparty/lvgl/src/lv_misc/lv_mem.o + 0x000124c4 lv_mem_free .text._lv_mem_get_size - 0x00012af8 0x20 thirdparty/lvgl/src/lv_misc/lv_mem.o - 0x00012af8 _lv_mem_get_size + 0x00012550 0x20 thirdparty/lvgl/src/lv_misc/lv_mem.o + 0x00012550 _lv_mem_get_size .text._lv_mem_buf_release - 0x00012b18 0x88 thirdparty/lvgl/src/lv_misc/lv_mem.o - 0x00012b18 _lv_mem_buf_release + 0x00012570 0x88 thirdparty/lvgl/src/lv_misc/lv_mem.o + 0x00012570 _lv_mem_buf_release .text._lv_mem_buf_free_all - 0x00012ba0 0x5c thirdparty/lvgl/src/lv_misc/lv_mem.o - 0x00012ba0 _lv_mem_buf_free_all + 0x000125f8 0x5c thirdparty/lvgl/src/lv_misc/lv_mem.o + 0x000125f8 _lv_mem_buf_free_all .text._lv_memcpy - 0x00012bfc 0x242 thirdparty/lvgl/src/lv_misc/lv_mem.o - 0x00012bfc _lv_memcpy - *fill* 0x00012e3e 0x2 + 0x00012654 0x242 thirdparty/lvgl/src/lv_misc/lv_mem.o + 0x00012654 _lv_memcpy + *fill* 0x00012896 0x2 .text.lv_mem_realloc - 0x00012e40 0xa4 thirdparty/lvgl/src/lv_misc/lv_mem.o - 0x00012e40 lv_mem_realloc + 0x00012898 0xa4 thirdparty/lvgl/src/lv_misc/lv_mem.o + 0x00012898 lv_mem_realloc .text._lv_mem_buf_get - 0x00012ee4 0x144 thirdparty/lvgl/src/lv_misc/lv_mem.o - 0x00012ee4 _lv_mem_buf_get + 0x0001293c 0x144 thirdparty/lvgl/src/lv_misc/lv_mem.o + 0x0001293c _lv_mem_buf_get .text._lv_memset - 0x00013028 0xb6 thirdparty/lvgl/src/lv_misc/lv_mem.o - 0x00013028 _lv_memset + 0x00012a80 0xb6 thirdparty/lvgl/src/lv_misc/lv_mem.o + 0x00012a80 _lv_memset .text._lv_memset_00 - 0x000130de 0xb6 thirdparty/lvgl/src/lv_misc/lv_mem.o - 0x000130de _lv_memset_00 + 0x00012b36 0xb6 thirdparty/lvgl/src/lv_misc/lv_mem.o + 0x00012b36 _lv_memset_00 .text._lv_memset_ff - 0x00013194 0xba thirdparty/lvgl/src/lv_misc/lv_mem.o - 0x00013194 _lv_memset_ff + 0x00012bec 0xba thirdparty/lvgl/src/lv_misc/lv_mem.o + 0x00012bec _lv_memset_ff .text._out_buffer - 0x0001324e 0x8 thirdparty/lvgl/src/lv_misc/lv_printf.o + 0x00012ca6 0x8 thirdparty/lvgl/src/lv_misc/lv_printf.o .text._out_null - 0x00013256 0x2 thirdparty/lvgl/src/lv_misc/lv_printf.o + 0x00012cae 0x2 thirdparty/lvgl/src/lv_misc/lv_printf.o .text._ntoa_format - 0x00013258 0x1be thirdparty/lvgl/src/lv_misc/lv_printf.o - *fill* 0x00013416 0x2 + 0x00012cb0 0x1be thirdparty/lvgl/src/lv_misc/lv_printf.o + *fill* 0x00012e6e 0x2 .text._ntoa_long - 0x00013418 0x84 thirdparty/lvgl/src/lv_misc/lv_printf.o + 0x00012e70 0x84 thirdparty/lvgl/src/lv_misc/lv_printf.o .text._ntoa_long_long - 0x0001349c 0xbc thirdparty/lvgl/src/lv_misc/lv_printf.o + 0x00012ef4 0xbc thirdparty/lvgl/src/lv_misc/lv_printf.o .text._vsnprintf - 0x00013558 0x61c thirdparty/lvgl/src/lv_misc/lv_printf.o + 0x00012fb0 0x61c thirdparty/lvgl/src/lv_misc/lv_printf.o .text.lv_vsnprintf - 0x00013b74 0x20 thirdparty/lvgl/src/lv_misc/lv_printf.o - 0x00013b74 lv_vsnprintf + 0x000135cc 0x20 thirdparty/lvgl/src/lv_misc/lv_printf.o + 0x000135cc lv_vsnprintf .text._lv_task_core_init - 0x00013b94 0x24 thirdparty/lvgl/src/lv_misc/lv_task.o - 0x00013b94 _lv_task_core_init + 0x000135ec 0x24 thirdparty/lvgl/src/lv_misc/lv_task.o + 0x000135ec _lv_task_core_init .text.lv_task_create_basic - 0x00013bb8 0x11c thirdparty/lvgl/src/lv_misc/lv_task.o - 0x00013bb8 lv_task_create_basic + 0x00013610 0x11c thirdparty/lvgl/src/lv_misc/lv_task.o + 0x00013610 lv_task_create_basic .text.lv_task_del - 0x00013cd4 0x40 thirdparty/lvgl/src/lv_misc/lv_task.o - 0x00013cd4 lv_task_del + 0x0001372c 0x40 thirdparty/lvgl/src/lv_misc/lv_task.o + 0x0001372c lv_task_del .text.lv_task_exec - 0x00013d14 0x60 thirdparty/lvgl/src/lv_misc/lv_task.o + 0x0001376c 0x60 thirdparty/lvgl/src/lv_misc/lv_task.o .text.lv_task_handler - 0x00013d74 0x18c thirdparty/lvgl/src/lv_misc/lv_task.o - 0x00013d74 lv_task_handler + 0x000137cc 0x18c thirdparty/lvgl/src/lv_misc/lv_task.o + 0x000137cc lv_task_handler .text.lv_task_set_prio - 0x00013f00 0x8c thirdparty/lvgl/src/lv_misc/lv_task.o - 0x00013f00 lv_task_set_prio + 0x00013958 0x8c thirdparty/lvgl/src/lv_misc/lv_task.o + 0x00013958 lv_task_set_prio .text.lv_task_create - 0x00013f8c 0x70 thirdparty/lvgl/src/lv_misc/lv_task.o - 0x00013f8c lv_task_create + 0x000139e4 0x70 thirdparty/lvgl/src/lv_misc/lv_task.o + 0x000139e4 lv_task_create .text.lv_task_ready - 0x00013ffc 0x18 thirdparty/lvgl/src/lv_misc/lv_task.o - 0x00013ffc lv_task_ready + 0x00013a54 0x18 thirdparty/lvgl/src/lv_misc/lv_task.o + 0x00013a54 lv_task_ready .text.lv_txt_utf8_size - 0x00014014 0x32 thirdparty/lvgl/src/lv_misc/lv_txt.o + 0x00013a6c 0x32 thirdparty/lvgl/src/lv_misc/lv_txt.o .text.lv_txt_unicode_to_utf8 - 0x00014046 0x9e thirdparty/lvgl/src/lv_misc/lv_txt.o + 0x00013a9e 0x9e thirdparty/lvgl/src/lv_misc/lv_txt.o .text.lv_txt_utf8_conv_wc - 0x000140e4 0x40 thirdparty/lvgl/src/lv_misc/lv_txt.o + 0x00013b3c 0x40 thirdparty/lvgl/src/lv_misc/lv_txt.o .text.lv_txt_utf8_next - 0x00014124 0xfe thirdparty/lvgl/src/lv_misc/lv_txt.o - *fill* 0x00014222 0x2 + 0x00013b7c 0xfe thirdparty/lvgl/src/lv_misc/lv_txt.o + *fill* 0x00013c7a 0x2 .text.lv_txt_utf8_prev - 0x00014224 0x50 thirdparty/lvgl/src/lv_misc/lv_txt.o + 0x00013c7c 0x50 thirdparty/lvgl/src/lv_misc/lv_txt.o .text.lv_txt_utf8_get_byte_id - 0x00014274 0x38 thirdparty/lvgl/src/lv_misc/lv_txt.o + 0x00013ccc 0x38 thirdparty/lvgl/src/lv_misc/lv_txt.o .text.lv_txt_utf8_get_char_id - 0x000142ac 0x30 thirdparty/lvgl/src/lv_misc/lv_txt.o + 0x00013d04 0x30 thirdparty/lvgl/src/lv_misc/lv_txt.o .text.lv_txt_utf8_get_length - 0x000142dc 0x34 thirdparty/lvgl/src/lv_misc/lv_txt.o + 0x00013d34 0x34 thirdparty/lvgl/src/lv_misc/lv_txt.o .text._lv_txt_is_cmd - 0x00014310 0x46 thirdparty/lvgl/src/lv_misc/lv_txt.o - 0x00014310 _lv_txt_is_cmd - *fill* 0x00014356 0x2 + 0x00013d68 0x46 thirdparty/lvgl/src/lv_misc/lv_txt.o + 0x00013d68 _lv_txt_is_cmd + *fill* 0x00013dae 0x2 .text._lv_txt_get_next_line - 0x00014358 0x22c thirdparty/lvgl/src/lv_misc/lv_txt.o - 0x00014358 _lv_txt_get_next_line + 0x00013db0 0x22c thirdparty/lvgl/src/lv_misc/lv_txt.o + 0x00013db0 _lv_txt_get_next_line .text._lv_txt_get_width - 0x00014584 0xa0 thirdparty/lvgl/src/lv_misc/lv_txt.o - 0x00014584 _lv_txt_get_width + 0x00013fdc 0xa0 thirdparty/lvgl/src/lv_misc/lv_txt.o + 0x00013fdc _lv_txt_get_width .text._lv_txt_get_size - 0x00014624 0x108 thirdparty/lvgl/src/lv_misc/lv_txt.o - 0x00014624 _lv_txt_get_size + 0x0001407c 0x108 thirdparty/lvgl/src/lv_misc/lv_txt.o + 0x0001407c _lv_txt_get_size .text._lv_utils_bsearch - 0x0001472c 0x4c thirdparty/lvgl/src/lv_misc/lv_utils.o - 0x0001472c _lv_utils_bsearch + 0x00014184 0x4c thirdparty/lvgl/src/lv_misc/lv_utils.o + 0x00014184 _lv_utils_bsearch .text.lv_theme_set_act - 0x00014778 0xc thirdparty/lvgl/src/lv_themes/lv_theme.o - 0x00014778 lv_theme_set_act + 0x000141d0 0xc thirdparty/lvgl/src/lv_themes/lv_theme.o + 0x000141d0 lv_theme_set_act .text.lv_theme_get_font_normal - 0x00014784 0xc thirdparty/lvgl/src/lv_themes/lv_theme.o - 0x00014784 lv_theme_get_font_normal + 0x000141dc 0xc thirdparty/lvgl/src/lv_themes/lv_theme.o + 0x000141dc lv_theme_get_font_normal .text.lv_theme_apply - 0x00014790 0x10 thirdparty/lvgl/src/lv_themes/lv_theme.o - 0x00014790 lv_theme_apply + 0x000141e8 0x10 thirdparty/lvgl/src/lv_themes/lv_theme.o + 0x000141e8 lv_theme_apply .text.theme_apply - 0x000147a0 0x868 thirdparty/lvgl/src/lv_themes/lv_theme_material.o + 0x000141f8 0x868 thirdparty/lvgl/src/lv_themes/lv_theme_material.o .text.style_init_reset - 0x00015008 0x20 thirdparty/lvgl/src/lv_themes/lv_theme_material.o + 0x00014a60 0x20 thirdparty/lvgl/src/lv_themes/lv_theme_material.o .text.basic_init - 0x00015028 0x1248 thirdparty/lvgl/src/lv_themes/lv_theme_material.o + 0x00014a80 0x1248 thirdparty/lvgl/src/lv_themes/lv_theme_material.o .text.bar_init - 0x00016270 0x168 thirdparty/lvgl/src/lv_themes/lv_theme_material.o + 0x00015cc8 0x168 thirdparty/lvgl/src/lv_themes/lv_theme_material.o .text.slider_init - 0x000163d8 0x2a4 thirdparty/lvgl/src/lv_themes/lv_theme_material.o + 0x00015e30 0x2a4 thirdparty/lvgl/src/lv_themes/lv_theme_material.o .text.switch_init - 0x0001667c 0x144 thirdparty/lvgl/src/lv_themes/lv_theme_material.o + 0x000160d4 0x144 thirdparty/lvgl/src/lv_themes/lv_theme_material.o .text.linemeter_init - 0x000167c0 0x23c thirdparty/lvgl/src/lv_themes/lv_theme_material.o + 0x00016218 0x23c thirdparty/lvgl/src/lv_themes/lv_theme_material.o .text.gauge_init - 0x000169fc 0x4e0 thirdparty/lvgl/src/lv_themes/lv_theme_material.o + 0x00016454 0x4e0 thirdparty/lvgl/src/lv_themes/lv_theme_material.o .text.arc_init - 0x00016edc 0x110 thirdparty/lvgl/src/lv_themes/lv_theme_material.o + 0x00016934 0x110 thirdparty/lvgl/src/lv_themes/lv_theme_material.o .text.led_init - 0x00016fec 0x104 thirdparty/lvgl/src/lv_themes/lv_theme_material.o + 0x00016a44 0x104 thirdparty/lvgl/src/lv_themes/lv_theme_material.o .text.lv_theme_material_init - 0x000170f0 0x25d4 thirdparty/lvgl/src/lv_themes/lv_theme_material.o - 0x000170f0 lv_theme_material_init + 0x00016b48 0x25d4 thirdparty/lvgl/src/lv_themes/lv_theme_material.o + 0x00016b48 lv_theme_material_init + .text.lv_img_design + 0x0001911c 0x4a0 thirdparty/lvgl/src/lv_widgets/lv_img.o + .text.lv_img_get_auto_size + 0x000195bc 0x54 thirdparty/lvgl/src/lv_widgets/lv_img.o + 0x000195bc lv_img_get_auto_size + .text.lv_img_set_src + 0x00019610 0x25c thirdparty/lvgl/src/lv_widgets/lv_img.o + 0x00019610 lv_img_set_src + .text.lv_img_create + 0x0001986c 0x1cc thirdparty/lvgl/src/lv_widgets/lv_img.o + 0x0001986c lv_img_create + .text.lv_img_signal + 0x00019a38 0x25c thirdparty/lvgl/src/lv_widgets/lv_img.o .text.lv_label_dot_tmp_free - 0x000196c4 0x30 thirdparty/lvgl/src/lv_widgets/lv_label.o + 0x00019c94 0x30 thirdparty/lvgl/src/lv_widgets/lv_label.o .text.lv_label_revert_dots - 0x000196f4 0x8c thirdparty/lvgl/src/lv_widgets/lv_label.o + 0x00019cc4 0x8c thirdparty/lvgl/src/lv_widgets/lv_label.o .text.lv_label_set_offset_y - 0x00019780 0x1c thirdparty/lvgl/src/lv_widgets/lv_label.o + 0x00019d50 0x1c thirdparty/lvgl/src/lv_widgets/lv_label.o .text.lv_label_set_offset_x - 0x0001979c 0x1c thirdparty/lvgl/src/lv_widgets/lv_label.o + 0x00019d6c 0x1c thirdparty/lvgl/src/lv_widgets/lv_label.o .text.get_txt_coords - 0x000197b8 0x5c thirdparty/lvgl/src/lv_widgets/lv_label.o + 0x00019d88 0x5c thirdparty/lvgl/src/lv_widgets/lv_label.o .text.lv_label_set_dot_tmp - 0x00019814 0x8c thirdparty/lvgl/src/lv_widgets/lv_label.o + 0x00019de4 0x8c thirdparty/lvgl/src/lv_widgets/lv_label.o .text.lv_label_set_align - 0x000198a0 0x6c thirdparty/lvgl/src/lv_widgets/lv_label.o - 0x000198a0 lv_label_set_align + 0x00019e70 0x6c thirdparty/lvgl/src/lv_widgets/lv_label.o + 0x00019e70 lv_label_set_align .text.lv_label_get_text - 0x0001990c 0x50 thirdparty/lvgl/src/lv_widgets/lv_label.o - 0x0001990c lv_label_get_text + 0x00019edc 0x50 thirdparty/lvgl/src/lv_widgets/lv_label.o + 0x00019edc lv_label_get_text .text.lv_label_get_long_mode - 0x0001995c 0x54 thirdparty/lvgl/src/lv_widgets/lv_label.o - 0x0001995c lv_label_get_long_mode + 0x00019f2c 0x54 thirdparty/lvgl/src/lv_widgets/lv_label.o + 0x00019f2c lv_label_get_long_mode .text.lv_label_get_align - 0x000199b0 0x5c thirdparty/lvgl/src/lv_widgets/lv_label.o - 0x000199b0 lv_label_get_align + 0x00019f80 0x5c thirdparty/lvgl/src/lv_widgets/lv_label.o + 0x00019f80 lv_label_get_align .text.lv_label_get_recolor - 0x00019a0c 0x54 thirdparty/lvgl/src/lv_widgets/lv_label.o - 0x00019a0c lv_label_get_recolor + 0x00019fdc 0x54 thirdparty/lvgl/src/lv_widgets/lv_label.o + 0x00019fdc lv_label_get_recolor .text.lv_label_get_letter_on - 0x00019a60 0x2d0 thirdparty/lvgl/src/lv_widgets/lv_label.o - 0x00019a60 lv_label_get_letter_on + 0x0001a030 0x2d0 thirdparty/lvgl/src/lv_widgets/lv_label.o + 0x0001a030 lv_label_get_letter_on .text.lv_label_refr_text - 0x00019d30 0x504 thirdparty/lvgl/src/lv_widgets/lv_label.o + 0x0001a300 0x504 thirdparty/lvgl/src/lv_widgets/lv_label.o .text.lv_label_set_text - 0x0001a234 0x148 thirdparty/lvgl/src/lv_widgets/lv_label.o - 0x0001a234 lv_label_set_text + 0x0001a804 0x148 thirdparty/lvgl/src/lv_widgets/lv_label.o + 0x0001a804 lv_label_set_text .text.lv_label_set_text_static - 0x0001a37c 0x80 thirdparty/lvgl/src/lv_widgets/lv_label.o - 0x0001a37c lv_label_set_text_static + 0x0001a94c 0x80 thirdparty/lvgl/src/lv_widgets/lv_label.o + 0x0001a94c lv_label_set_text_static .text.lv_label_set_long_mode - 0x0001a3fc 0xcc thirdparty/lvgl/src/lv_widgets/lv_label.o - 0x0001a3fc lv_label_set_long_mode + 0x0001a9cc 0xcc thirdparty/lvgl/src/lv_widgets/lv_label.o + 0x0001a9cc lv_label_set_long_mode .text.lv_label_set_recolor - 0x0001a4c8 0x6c thirdparty/lvgl/src/lv_widgets/lv_label.o - 0x0001a4c8 lv_label_set_recolor + 0x0001aa98 0x6c thirdparty/lvgl/src/lv_widgets/lv_label.o + 0x0001aa98 lv_label_set_recolor .text.lv_label_create - 0x0001a534 0x27c thirdparty/lvgl/src/lv_widgets/lv_label.o - 0x0001a534 lv_label_create + 0x0001ab04 0x27c thirdparty/lvgl/src/lv_widgets/lv_label.o + 0x0001ab04 lv_label_create .text.lv_label_signal - 0x0001a7b0 0xf0 thirdparty/lvgl/src/lv_widgets/lv_label.o + 0x0001ad80 0xf0 thirdparty/lvgl/src/lv_widgets/lv_label.o .text.lv_label_get_text_sel_start - 0x0001a8a0 0x48 thirdparty/lvgl/src/lv_widgets/lv_label.o - 0x0001a8a0 lv_label_get_text_sel_start + 0x0001ae70 0x48 thirdparty/lvgl/src/lv_widgets/lv_label.o + 0x0001ae70 lv_label_get_text_sel_start .text.lv_label_get_text_sel_end - 0x0001a8e8 0x48 thirdparty/lvgl/src/lv_widgets/lv_label.o - 0x0001a8e8 lv_label_get_text_sel_end + 0x0001aeb8 0x48 thirdparty/lvgl/src/lv_widgets/lv_label.o + 0x0001aeb8 lv_label_get_text_sel_end .text.lv_label_design - 0x0001a930 0x284 thirdparty/lvgl/src/lv_widgets/lv_label.o - .text 0x0001abb4 0x30 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m\libgcc.a(_aeabi_uldivmod.o) - 0x0001abb4 __aeabi_uldivmod - .text 0x0001abe4 0x2dc c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m\libgcc.a(_udivmoddi4.o) - 0x0001abe4 __udivmoddi4 - .text 0x0001aec0 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m\libgcc.a(_dvmd_tls.o) - 0x0001aec0 __aeabi_idiv0 - 0x0001aec0 __aeabi_ldiv0 + 0x0001af00 0x284 thirdparty/lvgl/src/lv_widgets/lv_label.o + .text 0x0001b184 0x30 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m\libgcc.a(_aeabi_uldivmod.o) + 0x0001b184 __aeabi_uldivmod + .text 0x0001b1b4 0x2dc c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m\libgcc.a(_udivmoddi4.o) + 0x0001b1b4 __udivmoddi4 + .text 0x0001b490 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m\libgcc.a(_dvmd_tls.o) + 0x0001b490 __aeabi_idiv0 + 0x0001b490 __aeabi_ldiv0 .text.__libc_init_array - 0x0001aec4 0x48 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m\libc_nano.a(lib_a-init.o) - 0x0001aec4 __libc_init_array - .text.memcmp 0x0001af0c 0x1e c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m\libc_nano.a(lib_a-memcmp.o) - 0x0001af0c memcmp - .text 0x0001af2a 0x14 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m\libc_nano.a(lib_a-strcmp.o) - 0x0001af2a strcmp - .text.strcpy 0x0001af3e 0x10 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m\libc_nano.a(lib_a-strcpy.o) - 0x0001af3e strcpy - .text 0x0001af4e 0x10 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m\libc_nano.a(lib_a-strlen.o) - 0x0001af4e strlen + 0x0001b494 0x48 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m\libc_nano.a(lib_a-init.o) + 0x0001b494 __libc_init_array + .text.memcmp 0x0001b4dc 0x1e c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m\libc_nano.a(lib_a-memcmp.o) + 0x0001b4dc memcmp + .text 0x0001b4fa 0x14 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m\libc_nano.a(lib_a-strcmp.o) + 0x0001b4fa strcmp + .text.strcpy 0x0001b50e 0x10 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m\libc_nano.a(lib_a-strcpy.o) + 0x0001b50e strcpy + .text 0x0001b51e 0x10 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m\libc_nano.a(lib_a-strlen.o) + 0x0001b51e strlen *(.glue_7t) - .glue_7t 0x0001af5e 0x0 linker stubs + .glue_7t 0x0001b52e 0x0 linker stubs *(.glue_7) - .glue_7 0x0001af5e 0x0 linker stubs + .glue_7 0x0001b52e 0x0 linker stubs *(.rodata .rodata* .gnu.linkonce.r.*) - *fill* 0x0001af5e 0x2 + *fill* 0x0001b52e 0x2 .rodata.str1.4 - 0x0001af60 0x1c drivers/p_gpio.o + 0x0001b530 0x1c drivers/p_gpio.o .rodata.str1.4 - 0x0001af7c 0x1c hal/src/hal_i2c_m_sync.o + 0x0001b54c 0x14 hal/src/hal_io.o .rodata.str1.4 - 0x0001af98 0x14 hal/src/hal_io.o + 0x0001b560 0x17 hal/src/hal_timer.o + *fill* 0x0001b577 0x1 .rodata.str1.4 - 0x0001afac 0x17 hal/src/hal_timer.o - *fill* 0x0001afc3 0x1 + 0x0001b578 0x1d hal/src/hal_usart_async.o + *fill* 0x0001b595 0x3 .rodata.str1.4 - 0x0001afc4 0x1d hal/src/hal_usart_async.o - *fill* 0x0001afe1 0x3 + 0x0001b598 0x1e hal/utils/src/utils_list.o + *fill* 0x0001b5b6 0x2 .rodata.str1.4 - 0x0001afe4 0x1e hal/utils/src/utils_list.o - *fill* 0x0001b002 0x2 + 0x0001b5b8 0x24 hal/utils/src/utils_ringbuffer.o + .rodata 0x0001b5dc 0x38 hpl/sercom/hpl_sercom.o .rodata.str1.4 - 0x0001b004 0x24 hal/utils/src/utils_ringbuffer.o - .rodata 0x0001b028 0x38 hpl/sercom/hpl_sercom.o + 0x0001b614 0x1b hpl/sercom/hpl_sercom.o + *fill* 0x0001b62f 0x1 + .rodata 0x0001b630 0x34 hpl/tc/hpl_tc.o .rodata.str1.4 - 0x0001b060 0x1b hpl/sercom/hpl_sercom.o - *fill* 0x0001b07b 0x1 - .rodata 0x0001b07c 0x34 hpl/tc/hpl_tc.o + 0x0001b664 0x13 hpl/tc/hpl_tc.o + *fill* 0x0001b677 0x1 + .rodata 0x0001b678 0x8567 oracle.o + 0x0001b678 hornet + 0x0001b684 hornet_map + *fill* 0x00023bdf 0x1 .rodata.str1.4 - 0x0001b0b0 0x13 hpl/tc/hpl_tc.o - *fill* 0x0001b0c3 0x1 + 0x00023be0 0xc oracle.o + .rodata 0x00023bec 0x3b thirdparty/lvgl/src/lv_core/lv_debug.o + *fill* 0x00023c27 0x1 .rodata.str1.4 - 0x0001b0c4 0xc oracle.o - .rodata 0x0001b0d0 0x3b thirdparty/lvgl/src/lv_core/lv_debug.o - *fill* 0x0001b10b 0x1 + 0x00023c28 0x106 thirdparty/lvgl/src/lv_core/lv_debug.o + *fill* 0x00023d2e 0x2 + .rodata 0x00023d30 0xa7 thirdparty/lvgl/src/lv_core/lv_disp.o + *fill* 0x00023dd7 0x1 .rodata.str1.4 - 0x0001b10c 0x106 thirdparty/lvgl/src/lv_core/lv_debug.o - *fill* 0x0001b212 0x2 - .rodata 0x0001b214 0xa7 thirdparty/lvgl/src/lv_core/lv_disp.o - *fill* 0x0001b2bb 0x1 + 0x00023dd8 0x1ad thirdparty/lvgl/src/lv_core/lv_disp.o + *fill* 0x00023f85 0x3 + .rodata 0x00023f88 0x21 thirdparty/lvgl/src/lv_core/lv_group.o + *fill* 0x00023fa9 0x3 .rodata.str1.4 - 0x0001b2bc 0x1ad thirdparty/lvgl/src/lv_core/lv_disp.o - *fill* 0x0001b469 0x3 - .rodata 0x0001b46c 0x21 thirdparty/lvgl/src/lv_core/lv_group.o - *fill* 0x0001b48d 0x3 + 0x00023fac 0xaa thirdparty/lvgl/src/lv_core/lv_group.o + *fill* 0x00024056 0x2 + .rodata 0x00024058 0x782 thirdparty/lvgl/src/lv_core/lv_obj.o + *fill* 0x000247da 0x2 .rodata.str1.4 - 0x0001b490 0xaa thirdparty/lvgl/src/lv_core/lv_group.o - *fill* 0x0001b53a 0x2 - .rodata 0x0001b53c 0x782 thirdparty/lvgl/src/lv_core/lv_obj.o - *fill* 0x0001bcbe 0x2 - .rodata.str1.4 - 0x0001bcc0 0x213 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x000247dc 0x213 thirdparty/lvgl/src/lv_core/lv_obj.o 0x223 (size before relaxing) - *fill* 0x0001bed3 0x1 - .rodata 0x0001bed4 0xd thirdparty/lvgl/src/lv_core/lv_refr.o - *fill* 0x0001bee1 0x3 + *fill* 0x000249ef 0x1 + .rodata 0x000249f0 0xd thirdparty/lvgl/src/lv_core/lv_refr.o + *fill* 0x000249fd 0x3 .rodata.str1.4 - 0x0001bee4 0x7c thirdparty/lvgl/src/lv_core/lv_refr.o - .rodata 0x0001bf60 0xbf thirdparty/lvgl/src/lv_core/lv_style.o - *fill* 0x0001c01f 0x1 + 0x00024a00 0x7c thirdparty/lvgl/src/lv_core/lv_refr.o + .rodata 0x00024a7c 0xbf thirdparty/lvgl/src/lv_core/lv_style.o + *fill* 0x00024b3b 0x1 .rodata.str1.4 - 0x0001c020 0x108 thirdparty/lvgl/src/lv_core/lv_style.o + 0x00024b3c 0x108 thirdparty/lvgl/src/lv_core/lv_style.o 0x118 (size before relaxing) - .rodata 0x0001c128 0x1c thirdparty/lvgl/src/lv_draw/lv_draw_blend.o + .rodata 0x00024c44 0x1c thirdparty/lvgl/src/lv_draw/lv_draw_blend.o .rodata.str1.4 - 0x0001c144 0x55 thirdparty/lvgl/src/lv_draw/lv_draw_blend.o - *fill* 0x0001c199 0x3 - .rodata 0x0001c19c 0x21 thirdparty/lvgl/src/lv_draw/lv_draw_img.o - *fill* 0x0001c1bd 0x3 + 0x00024c60 0x55 thirdparty/lvgl/src/lv_draw/lv_draw_blend.o + *fill* 0x00024cb5 0x3 + .rodata 0x00024cb8 0x21 thirdparty/lvgl/src/lv_draw/lv_draw_img.o + *fill* 0x00024cd9 0x3 .rodata.str1.4 - 0x0001c1c0 0x83 thirdparty/lvgl/src/lv_draw/lv_draw_img.o - *fill* 0x0001c243 0x1 - .rodata 0x0001c244 0x158 thirdparty/lvgl/src/lv_draw/lv_draw_label.o - 0x0001c244 _lv_bpp1_opa_table - 0x0001c248 _lv_bpp2_opa_table - 0x0001c24c _lv_bpp4_opa_table - 0x0001c25c _lv_bpp8_opa_table - 0x0001c394 _lv_bpp3_opa_table + 0x00024cdc 0x83 thirdparty/lvgl/src/lv_draw/lv_draw_img.o + *fill* 0x00024d5f 0x1 + .rodata 0x00024d60 0x158 thirdparty/lvgl/src/lv_draw/lv_draw_label.o + 0x00024d60 _lv_bpp1_opa_table + 0x00024d64 _lv_bpp2_opa_table + 0x00024d68 _lv_bpp4_opa_table + 0x00024d78 _lv_bpp8_opa_table + 0x00024eb0 _lv_bpp3_opa_table .rodata.str1.4 - 0x0001c39c 0xec thirdparty/lvgl/src/lv_draw/lv_draw_label.o - .rodata 0x0001c488 0x21 thirdparty/lvgl/src/lv_draw/lv_draw_line.o - *fill* 0x0001c4a9 0x3 - .rodata 0x0001c4ac 0x2c thirdparty/lvgl/src/lv_draw/lv_draw_mask.o + 0x00024eb8 0xec thirdparty/lvgl/src/lv_draw/lv_draw_label.o + .rodata 0x00024fa4 0x21 thirdparty/lvgl/src/lv_draw/lv_draw_line.o + *fill* 0x00024fc5 0x3 + .rodata 0x00024fc8 0x2c thirdparty/lvgl/src/lv_draw/lv_draw_mask.o .rodata.str1.4 - 0x0001c4d8 0x85 thirdparty/lvgl/src/lv_draw/lv_draw_mask.o - *fill* 0x0001c55d 0x3 - .rodata 0x0001c560 0x11 thirdparty/lvgl/src/lv_draw/lv_draw_rect.o - *fill* 0x0001c571 0x3 + 0x00024ff4 0x85 thirdparty/lvgl/src/lv_draw/lv_draw_mask.o + *fill* 0x00025079 0x3 + .rodata 0x0002507c 0x11 thirdparty/lvgl/src/lv_draw/lv_draw_rect.o + *fill* 0x0002508d 0x3 .rodata.str1.4 - 0x0001c574 0x7c thirdparty/lvgl/src/lv_draw/lv_draw_rect.o - .rodata 0x0001c5f0 0x27 thirdparty/lvgl/src/lv_draw/lv_img_buf.o - *fill* 0x0001c617 0x1 - .rodata 0x0001c618 0x2a thirdparty/lvgl/src/lv_draw/lv_img_cache.o - *fill* 0x0001c642 0x2 + 0x00025090 0x7c thirdparty/lvgl/src/lv_draw/lv_draw_rect.o + .rodata 0x0002510c 0x27 thirdparty/lvgl/src/lv_draw/lv_img_buf.o + *fill* 0x00025133 0x1 + .rodata 0x00025134 0x2a thirdparty/lvgl/src/lv_draw/lv_img_cache.o + *fill* 0x0002515e 0x2 .rodata.str1.4 - 0x0001c644 0xea thirdparty/lvgl/src/lv_draw/lv_img_cache.o + 0x00025160 0xea thirdparty/lvgl/src/lv_draw/lv_img_cache.o 0xfa (size before relaxing) - *fill* 0x0001c72e 0x2 - .rodata 0x0001c730 0xc9 thirdparty/lvgl/src/lv_draw/lv_img_decoder.o - *fill* 0x0001c7f9 0x3 + *fill* 0x0002524a 0x2 + .rodata 0x0002524c 0xc9 thirdparty/lvgl/src/lv_draw/lv_img_decoder.o + *fill* 0x00025315 0x3 .rodata.str1.4 - 0x0001c7fc 0x1ab thirdparty/lvgl/src/lv_draw/lv_img_decoder.o + 0x00025318 0x1ab thirdparty/lvgl/src/lv_draw/lv_img_decoder.o 0x1bb (size before relaxing) - *fill* 0x0001c9a7 0x1 - .rodata 0x0001c9a8 0x1b thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o - *fill* 0x0001c9c3 0x1 + *fill* 0x000254c3 0x1 + .rodata 0x000254c4 0x1b thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o + *fill* 0x000254df 0x1 .rodata.str1.4 - 0x0001c9c4 0x31 thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o + 0x000254e0 0x31 thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o 0x42 (size before relaxing) - *fill* 0x0001c9f5 0x3 - .rodata 0x0001c9f8 0x3ca8 thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.o - .rodata 0x000206a0 0x15 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o - *fill* 0x000206b5 0x3 + *fill* 0x00025511 0x3 + .rodata 0x00025514 0x3ca8 thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.o + .rodata 0x000291bc 0x15 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + *fill* 0x000291d1 0x3 .rodata.str1.4 - 0x000206b8 0x2c thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + 0x000291d4 0x2c thirdparty/lvgl/src/lv_hal/lv_hal_disp.o 0x3a (size before relaxing) - .rodata 0x000206e4 0x16 thirdparty/lvgl/src/lv_misc/lv_anim.o - 0x000206e4 lv_anim_path_def - *fill* 0x000206fa 0x2 + .rodata 0x00029200 0x16 thirdparty/lvgl/src/lv_misc/lv_anim.o + 0x00029200 lv_anim_path_def + *fill* 0x00029216 0x2 .rodata.str1.4 - 0x000206fc 0x29 thirdparty/lvgl/src/lv_misc/lv_anim.o + 0x00029218 0x29 thirdparty/lvgl/src/lv_misc/lv_anim.o 0x3a (size before relaxing) - *fill* 0x00020725 0x3 - .rodata 0x00020728 0x2f thirdparty/lvgl/src/lv_misc/lv_fs.o - *fill* 0x00020757 0x1 + *fill* 0x00029241 0x3 + .rodata 0x00029244 0x2f thirdparty/lvgl/src/lv_misc/lv_fs.o + *fill* 0x00029273 0x1 .rodata.str1.4 - 0x00020758 0x27 thirdparty/lvgl/src/lv_misc/lv_fs.o + 0x00029274 0x27 thirdparty/lvgl/src/lv_misc/lv_fs.o 0x39 (size before relaxing) - *fill* 0x0002077f 0x1 - .rodata 0x00020780 0xb6 thirdparty/lvgl/src/lv_misc/lv_math.o - *fill* 0x00020836 0x2 - .rodata 0x00020838 0x44 thirdparty/lvgl/src/lv_misc/lv_mem.o + *fill* 0x0002929b 0x1 + .rodata 0x0002929c 0xb6 thirdparty/lvgl/src/lv_misc/lv_math.o + *fill* 0x00029352 0x2 + .rodata 0x00029354 0x44 thirdparty/lvgl/src/lv_misc/lv_mem.o .rodata.str1.4 - 0x0002087c 0x112 thirdparty/lvgl/src/lv_misc/lv_mem.o - *fill* 0x0002098e 0x2 - .rodata 0x00020990 0x27 thirdparty/lvgl/src/lv_misc/lv_task.o - *fill* 0x000209b7 0x1 + 0x00029398 0x112 thirdparty/lvgl/src/lv_misc/lv_mem.o + *fill* 0x000294aa 0x2 + .rodata 0x000294ac 0x27 thirdparty/lvgl/src/lv_misc/lv_task.o + *fill* 0x000294d3 0x1 .rodata.str1.4 - 0x000209b8 0x29 thirdparty/lvgl/src/lv_misc/lv_task.o + 0x000294d4 0x29 thirdparty/lvgl/src/lv_misc/lv_task.o 0x3a (size before relaxing) - *fill* 0x000209e1 0x3 - .rodata 0x000209e4 0x11 thirdparty/lvgl/src/lv_misc/lv_txt.o - *fill* 0x000209f5 0x3 + *fill* 0x000294fd 0x3 + .rodata 0x00029500 0x11 thirdparty/lvgl/src/lv_misc/lv_txt.o + *fill* 0x00029511 0x3 + .rodata.str1.4 + 0x00029514 0x70 thirdparty/lvgl/src/lv_misc/lv_txt.o + .rodata 0x00029584 0x6 thirdparty/lvgl/src/lv_themes/lv_theme_material.o + *fill* 0x0002958a 0x2 .rodata.str1.4 - 0x000209f8 0x70 thirdparty/lvgl/src/lv_misc/lv_txt.o - .rodata 0x00020a68 0x6 thirdparty/lvgl/src/lv_themes/lv_theme_material.o - *fill* 0x00020a6e 0x2 + 0x0002958c 0x4 thirdparty/lvgl/src/lv_themes/lv_theme_material.o + .rodata 0x00029590 0x125 thirdparty/lvgl/src/lv_widgets/lv_img.o + *fill* 0x000296b5 0x3 .rodata.str1.4 - 0x00020a70 0x4 thirdparty/lvgl/src/lv_themes/lv_theme_material.o - .rodata 0x00020a74 0x21e thirdparty/lvgl/src/lv_widgets/lv_label.o - *fill* 0x00020c92 0x2 + 0x000296b8 0xbb thirdparty/lvgl/src/lv_widgets/lv_img.o + 0x10b (size before relaxing) + *fill* 0x00029773 0x1 + .rodata 0x00029774 0x21e thirdparty/lvgl/src/lv_widgets/lv_label.o + *fill* 0x00029992 0x2 .rodata.str1.4 - 0x00020c94 0x80 thirdparty/lvgl/src/lv_widgets/lv_label.o + 0x00029994 0x80 thirdparty/lvgl/src/lv_widgets/lv_label.o 0x9d (size before relaxing) *(.ARM.extab* .gnu.linkonce.armextab.*) - 0x00020d14 . = ALIGN (0x4) + 0x00029a14 . = ALIGN (0x4) *(.init) - .init 0x00020d14 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/crti.o - 0x00020d14 _init - .init 0x00020d18 0x8 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/crtn.o - 0x00020d20 . = ALIGN (0x4) - 0x00020d20 __preinit_array_start = . + .init 0x00029a14 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/crti.o + 0x00029a14 _init + .init 0x00029a18 0x8 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/crtn.o + 0x00029a20 . = ALIGN (0x4) + 0x00029a20 __preinit_array_start = . *(.preinit_array) - 0x00020d20 __preinit_array_end = . - 0x00020d20 . = ALIGN (0x4) - 0x00020d20 __init_array_start = . + 0x00029a20 __preinit_array_end = . + 0x00029a20 . = ALIGN (0x4) + 0x00029a20 __init_array_start = . *(SORT(.init_array.*)) *(.init_array) - .init_array 0x00020d20 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/crtbegin.o - 0x00020d24 __init_array_end = . - 0x00020d24 . = ALIGN (0x4) + .init_array 0x00029a20 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/crtbegin.o + 0x00029a24 __init_array_end = . + 0x00029a24 . = ALIGN (0x4) *crtbegin.o(.ctors) *(EXCLUDE_FILE(*crtend.o) .ctors) *(SORT(.ctors.*)) *crtend.o(.ctors) - 0x00020d24 . = ALIGN (0x4) + 0x00029a24 . = ALIGN (0x4) *(.fini) - .fini 0x00020d24 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/crti.o - 0x00020d24 _fini - .fini 0x00020d28 0x8 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/crtn.o - 0x00020d30 . = ALIGN (0x4) - 0x00020d30 __fini_array_start = . + .fini 0x00029a24 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/crti.o + 0x00029a24 _fini + .fini 0x00029a28 0x8 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/crtn.o + 0x00029a30 . = ALIGN (0x4) + 0x00029a30 __fini_array_start = . *(.fini_array) - .fini_array 0x00020d30 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/crtbegin.o + .fini_array 0x00029a30 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/crtbegin.o *(SORT(.fini_array.*)) - 0x00020d34 __fini_array_end = . + 0x00029a34 __fini_array_end = . *crtbegin.o(.dtors) *(EXCLUDE_FILE(*crtend.o) .dtors) *(SORT(.dtors.*)) *crtend.o(.dtors) - 0x00020d34 . = ALIGN (0x4) - 0x00020d34 _efixed = . + 0x00029a34 . = ALIGN (0x4) + 0x00029a34 _efixed = . [!provide] PROVIDE (__exidx_start, .) -.vfp11_veneer 0x00020d34 0x0 - .vfp11_veneer 0x00020d34 0x0 linker stubs +.vfp11_veneer 0x00029a34 0x0 + .vfp11_veneer 0x00029a34 0x0 linker stubs -.v4_bx 0x00020d34 0x0 - .v4_bx 0x00020d34 0x0 linker stubs +.v4_bx 0x00029a34 0x0 + .v4_bx 0x00029a34 0x0 linker stubs -.iplt 0x00020d34 0x0 - .iplt 0x00020d34 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/crtbegin.o +.iplt 0x00029a34 0x0 + .iplt 0x00029a34 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/crtbegin.o -.ARM.exidx 0x00020d34 0x8 +.ARM.exidx 0x00029a34 0x8 *(.ARM.exidx* .gnu.linkonce.armexidx.*) - .ARM.exidx 0x00020d34 0x8 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m\libgcc.a(_udivmoddi4.o) + .ARM.exidx 0x00029a34 0x8 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m\libgcc.a(_udivmoddi4.o) [!provide] PROVIDE (__exidx_end, .) -.eh_frame 0x00020d3c 0x0 - .eh_frame 0x00020d3c 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/crtbegin.o +.eh_frame 0x00029a3c 0x0 + .eh_frame 0x00029a3c 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/crtbegin.o -.rel.dyn 0x00020d3c 0x0 - .rel.iplt 0x00020d3c 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/crtbegin.o +.rel.dyn 0x00029a3c 0x0 + .rel.iplt 0x00029a3c 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/crtbegin.o -.jcr 0x00020d3c 0x0 - .jcr 0x00020d3c 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/crtbegin.o +.jcr 0x00029a3c 0x0 + .jcr 0x00029a3c 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/crtbegin.o -.igot.plt 0x00020d3c 0x0 - .igot.plt 0x00020d3c 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/crtbegin.o - 0x00020d3c . = ALIGN (0x4) - 0x00020d3c _etext = . +.igot.plt 0x00029a3c 0x0 + .igot.plt 0x00029a3c 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/crtbegin.o + 0x00029a3c . = ALIGN (0x4) + 0x00029a3c _etext = . -.relocate 0x20000000 0x74 load address 0x00020d3c +.relocate 0x20000000 0x74 load address 0x00029a3c 0x20000000 . = ALIGN (0x4) 0x20000000 _srelocate = . *(.ramfunc .ramfunc.*) @@ -26755,7 +26768,7 @@ LOAD c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin 0x04000000 . = ALIGN (0x8) 0x04000000 _eqspi = . -.bss 0x20000078 0x6da8 load address 0x00020db8 +.bss 0x20000078 0x6d8c load address 0x00029ab8 0x20000078 . = ALIGN (0x4) 0x20000078 _sbss = . 0x20000078 _szero = . @@ -26785,47 +26798,47 @@ LOAD c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin .bss 0x20006bb8 0x1c thirdparty/lvgl/src/lv_misc/lv_task.o .bss 0x20006bd4 0x4 thirdparty/lvgl/src/lv_themes/lv_theme.o .bss 0x20006bd8 0x24 thirdparty/lvgl/src/lv_themes/lv_theme_material.o - .bss 0x20006bfc 0x4 thirdparty/lvgl/src/lv_widgets/lv_label.o + .bss 0x20006bfc 0x4 thirdparty/lvgl/src/lv_widgets/lv_img.o + .bss 0x20006c00 0x4 thirdparty/lvgl/src/lv_widgets/lv_label.o *(COMMON) - COMMON 0x20006c00 0x20 drivers/p_i2c.o - 0x20006c00 p_i2c_master - COMMON 0x20006c20 0x1c drivers/p_tcc.o - 0x20006c20 p_tcc_inst - COMMON 0x20006c3c 0x50 drivers/p_usart.o - 0x20006c3c p_usart_debug_inst - COMMON 0x20006c8c 0x10 hpl/ramecc/hpl_ramecc.o - 0x20006c8c device - COMMON 0x20006c9c 0x184 thirdparty/lvgl/src/lv_misc/lv_gc.o - 0x20006c9c _lv_task_ll - 0x20006ca8 _lv_indev_ll - 0x20006cb4 _lv_disp_ll - 0x20006cc0 _lv_img_defoder_ll - 0x20006ccc _lv_mem_buf - 0x20006d4c _lv_drv_ll - 0x20006d58 _lv_obj_style_trans_ll - 0x20006d64 _lv_theme_material_styles - 0x20006d68 _lv_task_act - 0x20006d6c _lv_theme_mono_styles - 0x20006d70 _lv_theme_template_styles - 0x20006d74 _lv_img_cache_array - 0x20006d78 _lv_anim_ll - 0x20006d84 _lv_theme_empty_styles - 0x20006d88 _lv_draw_mask_list - 0x20006e08 _lv_group_ll - 0x20006e14 _lv_file_ll - 0x20006e20 . = ALIGN (0x4) - 0x20006e20 _ebss = . - 0x20006e20 _ezero = . + COMMON 0x20006c04 0x1c drivers/p_tcc.o + 0x20006c04 p_tcc_inst + COMMON 0x20006c20 0x50 drivers/p_usart.o + 0x20006c20 p_usart_debug_inst + COMMON 0x20006c70 0x10 hpl/ramecc/hpl_ramecc.o + 0x20006c70 device + COMMON 0x20006c80 0x184 thirdparty/lvgl/src/lv_misc/lv_gc.o + 0x20006c80 _lv_task_ll + 0x20006c8c _lv_indev_ll + 0x20006c98 _lv_disp_ll + 0x20006ca4 _lv_img_defoder_ll + 0x20006cb0 _lv_mem_buf + 0x20006d30 _lv_drv_ll + 0x20006d3c _lv_obj_style_trans_ll + 0x20006d48 _lv_theme_material_styles + 0x20006d4c _lv_task_act + 0x20006d50 _lv_theme_mono_styles + 0x20006d54 _lv_theme_template_styles + 0x20006d58 _lv_img_cache_array + 0x20006d5c _lv_anim_ll + 0x20006d68 _lv_theme_empty_styles + 0x20006d6c _lv_draw_mask_list + 0x20006dec _lv_group_ll + 0x20006df8 _lv_file_ll + 0x20006e04 . = ALIGN (0x4) + 0x20006e04 _ebss = . + 0x20006e04 _ezero = . -.stack 0x20006e20 0x10000 load address 0x00027b60 - 0x20006e20 . = ALIGN (0x8) - 0x20006e20 _sstack = . - 0x20016e20 . = (. + STACK_SIZE) - *fill* 0x20006e20 0x10000 - 0x20016e20 . = ALIGN (0x8) - 0x20016e20 _estack = . - 0x20016e20 . = ALIGN (0x4) - 0x20016e20 _end = . +.stack 0x20006e04 0x10004 load address 0x00030844 + 0x20006e08 . = ALIGN (0x8) + *fill* 0x20006e04 0x4 + 0x20006e08 _sstack = . + 0x20016e08 . = (. + STACK_SIZE) + *fill* 0x20006e08 0x10000 + 0x20016e08 . = ALIGN (0x8) + 0x20016e08 _estack = . + 0x20016e08 . = ALIGN (0x4) + 0x20016e08 _end = . OUTPUT(e54_gfx_learning.elf elf32-littlearm) .ARM.attributes @@ -26851,115 +26864,115 @@ OUTPUT(e54_gfx_learning.elf elf32-littlearm) .ARM.attributes 0x000001cd 0x37 hal/src/hal_delay.o .ARM.attributes - 0x00000204 0x37 hal/src/hal_i2c_m_sync.o + 0x00000204 0x37 hal/src/hal_io.o .ARM.attributes - 0x0000023b 0x37 hal/src/hal_io.o + 0x0000023b 0x37 hal/src/hal_timer.o .ARM.attributes - 0x00000272 0x37 hal/src/hal_timer.o + 0x00000272 0x37 hal/src/hal_usart_async.o .ARM.attributes - 0x000002a9 0x37 hal/src/hal_usart_async.o + 0x000002a9 0x37 hal/utils/src/utils_assert.o .ARM.attributes - 0x000002e0 0x37 hal/utils/src/utils_assert.o + 0x000002e0 0x37 hal/utils/src/utils_list.o .ARM.attributes - 0x00000317 0x37 hal/utils/src/utils_list.o + 0x00000317 0x37 hal/utils/src/utils_ringbuffer.o .ARM.attributes - 0x0000034e 0x37 hal/utils/src/utils_ringbuffer.o + 0x0000034e 0x37 hpl/core/hpl_core_m4.o .ARM.attributes - 0x00000385 0x37 hpl/core/hpl_core_m4.o + 0x00000385 0x37 hpl/core/hpl_init.o .ARM.attributes - 0x000003bc 0x37 hpl/core/hpl_init.o + 0x000003bc 0x37 hpl/gclk/hpl_gclk.o .ARM.attributes - 0x000003f3 0x37 hpl/gclk/hpl_gclk.o + 0x000003f3 0x37 hpl/mclk/hpl_mclk.o .ARM.attributes - 0x0000042a 0x37 hpl/mclk/hpl_mclk.o + 0x0000042a 0x37 hpl/osc32kctrl/hpl_osc32kctrl.o .ARM.attributes - 0x00000461 0x37 hpl/osc32kctrl/hpl_osc32kctrl.o + 0x00000461 0x37 hpl/oscctrl/hpl_oscctrl.o .ARM.attributes - 0x00000498 0x37 hpl/oscctrl/hpl_oscctrl.o + 0x00000498 0x37 hpl/ramecc/hpl_ramecc.o .ARM.attributes - 0x000004cf 0x37 hpl/ramecc/hpl_ramecc.o + 0x000004cf 0x37 hpl/sercom/hpl_sercom.o .ARM.attributes - 0x00000506 0x37 hpl/sercom/hpl_sercom.o + 0x00000506 0x37 hpl/tc/hpl_tc.o .ARM.attributes - 0x0000053d 0x37 hpl/tc/hpl_tc.o + 0x0000053d 0x37 main.o .ARM.attributes - 0x00000574 0x37 main.o + 0x00000574 0x37 oracle.o .ARM.attributes - 0x000005ab 0x37 oracle.o + 0x000005ab 0x37 thirdparty/lvgl/src/lv_core/lv_debug.o .ARM.attributes - 0x000005e2 0x37 thirdparty/lvgl/src/lv_core/lv_debug.o + 0x000005e2 0x37 thirdparty/lvgl/src/lv_core/lv_disp.o .ARM.attributes - 0x00000619 0x37 thirdparty/lvgl/src/lv_core/lv_disp.o + 0x00000619 0x37 thirdparty/lvgl/src/lv_core/lv_group.o .ARM.attributes - 0x00000650 0x37 thirdparty/lvgl/src/lv_core/lv_group.o + 0x00000650 0x37 thirdparty/lvgl/src/lv_core/lv_indev.o .ARM.attributes - 0x00000687 0x37 thirdparty/lvgl/src/lv_core/lv_indev.o + 0x00000687 0x37 thirdparty/lvgl/src/lv_core/lv_obj.o .ARM.attributes - 0x000006be 0x37 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x000006be 0x37 thirdparty/lvgl/src/lv_core/lv_refr.o .ARM.attributes - 0x000006f5 0x37 thirdparty/lvgl/src/lv_core/lv_refr.o + 0x000006f5 0x37 thirdparty/lvgl/src/lv_core/lv_style.o .ARM.attributes - 0x0000072c 0x37 thirdparty/lvgl/src/lv_core/lv_style.o + 0x0000072c 0x37 thirdparty/lvgl/src/lv_draw/lv_draw_blend.o .ARM.attributes - 0x00000763 0x37 thirdparty/lvgl/src/lv_draw/lv_draw_blend.o + 0x00000763 0x37 thirdparty/lvgl/src/lv_draw/lv_draw_img.o .ARM.attributes - 0x0000079a 0x37 thirdparty/lvgl/src/lv_draw/lv_draw_img.o + 0x0000079a 0x37 thirdparty/lvgl/src/lv_draw/lv_draw_label.o .ARM.attributes - 0x000007d1 0x37 thirdparty/lvgl/src/lv_draw/lv_draw_label.o + 0x000007d1 0x37 thirdparty/lvgl/src/lv_draw/lv_draw_line.o .ARM.attributes - 0x00000808 0x37 thirdparty/lvgl/src/lv_draw/lv_draw_line.o + 0x00000808 0x37 thirdparty/lvgl/src/lv_draw/lv_draw_mask.o .ARM.attributes - 0x0000083f 0x37 thirdparty/lvgl/src/lv_draw/lv_draw_mask.o + 0x0000083f 0x37 thirdparty/lvgl/src/lv_draw/lv_draw_rect.o .ARM.attributes - 0x00000876 0x37 thirdparty/lvgl/src/lv_draw/lv_draw_rect.o + 0x00000876 0x37 thirdparty/lvgl/src/lv_draw/lv_img_buf.o .ARM.attributes - 0x000008ad 0x37 thirdparty/lvgl/src/lv_draw/lv_img_buf.o + 0x000008ad 0x37 thirdparty/lvgl/src/lv_draw/lv_img_cache.o .ARM.attributes - 0x000008e4 0x37 thirdparty/lvgl/src/lv_draw/lv_img_cache.o + 0x000008e4 0x37 thirdparty/lvgl/src/lv_draw/lv_img_decoder.o .ARM.attributes - 0x0000091b 0x37 thirdparty/lvgl/src/lv_draw/lv_img_decoder.o + 0x0000091b 0x37 thirdparty/lvgl/src/lv_font/lv_font.o .ARM.attributes - 0x00000952 0x37 thirdparty/lvgl/src/lv_font/lv_font.o + 0x00000952 0x37 thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o .ARM.attributes - 0x00000989 0x37 thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o + 0x00000989 0x37 thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.o .ARM.attributes - 0x000009c0 0x37 thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.o + 0x000009c0 0x37 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o .ARM.attributes - 0x000009f7 0x37 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + 0x000009f7 0x37 thirdparty/lvgl/src/lv_hal/lv_hal_indev.o .ARM.attributes - 0x00000a2e 0x37 thirdparty/lvgl/src/lv_hal/lv_hal_indev.o + 0x00000a2e 0x37 thirdparty/lvgl/src/lv_hal/lv_hal_tick.o .ARM.attributes - 0x00000a65 0x37 thirdparty/lvgl/src/lv_hal/lv_hal_tick.o + 0x00000a65 0x37 thirdparty/lvgl/src/lv_misc/lv_anim.o .ARM.attributes - 0x00000a9c 0x37 thirdparty/lvgl/src/lv_misc/lv_anim.o + 0x00000a9c 0x37 thirdparty/lvgl/src/lv_misc/lv_area.o .ARM.attributes - 0x00000ad3 0x37 thirdparty/lvgl/src/lv_misc/lv_area.o + 0x00000ad3 0x37 thirdparty/lvgl/src/lv_misc/lv_color.o .ARM.attributes - 0x00000b0a 0x37 thirdparty/lvgl/src/lv_misc/lv_color.o + 0x00000b0a 0x37 thirdparty/lvgl/src/lv_misc/lv_fs.o .ARM.attributes - 0x00000b41 0x37 thirdparty/lvgl/src/lv_misc/lv_fs.o + 0x00000b41 0x37 thirdparty/lvgl/src/lv_misc/lv_gc.o .ARM.attributes - 0x00000b78 0x37 thirdparty/lvgl/src/lv_misc/lv_gc.o + 0x00000b78 0x37 thirdparty/lvgl/src/lv_misc/lv_ll.o .ARM.attributes - 0x00000baf 0x37 thirdparty/lvgl/src/lv_misc/lv_ll.o + 0x00000baf 0x37 thirdparty/lvgl/src/lv_misc/lv_log.o .ARM.attributes - 0x00000be6 0x37 thirdparty/lvgl/src/lv_misc/lv_log.o + 0x00000be6 0x37 thirdparty/lvgl/src/lv_misc/lv_math.o .ARM.attributes - 0x00000c1d 0x37 thirdparty/lvgl/src/lv_misc/lv_math.o + 0x00000c1d 0x37 thirdparty/lvgl/src/lv_misc/lv_mem.o .ARM.attributes - 0x00000c54 0x37 thirdparty/lvgl/src/lv_misc/lv_mem.o + 0x00000c54 0x37 thirdparty/lvgl/src/lv_misc/lv_printf.o .ARM.attributes - 0x00000c8b 0x37 thirdparty/lvgl/src/lv_misc/lv_printf.o + 0x00000c8b 0x37 thirdparty/lvgl/src/lv_misc/lv_task.o .ARM.attributes - 0x00000cc2 0x37 thirdparty/lvgl/src/lv_misc/lv_task.o + 0x00000cc2 0x37 thirdparty/lvgl/src/lv_misc/lv_txt.o .ARM.attributes - 0x00000cf9 0x37 thirdparty/lvgl/src/lv_misc/lv_txt.o + 0x00000cf9 0x37 thirdparty/lvgl/src/lv_misc/lv_utils.o .ARM.attributes - 0x00000d30 0x37 thirdparty/lvgl/src/lv_misc/lv_utils.o + 0x00000d30 0x37 thirdparty/lvgl/src/lv_themes/lv_theme.o .ARM.attributes - 0x00000d67 0x37 thirdparty/lvgl/src/lv_themes/lv_theme.o + 0x00000d67 0x37 thirdparty/lvgl/src/lv_themes/lv_theme_material.o .ARM.attributes - 0x00000d9e 0x37 thirdparty/lvgl/src/lv_themes/lv_theme_material.o + 0x00000d9e 0x37 thirdparty/lvgl/src/lv_widgets/lv_img.o .ARM.attributes 0x00000dd5 0x37 thirdparty/lvgl/src/lv_widgets/lv_label.o .ARM.attributes @@ -26991,7 +27004,6 @@ OUTPUT(e54_gfx_learning.elf elf32-littlearm) .comment 0x00000059 0x5a drivers/p_usart.o .comment 0x00000059 0x5a hal/src/hal_atomic.o .comment 0x00000059 0x5a hal/src/hal_delay.o - .comment 0x00000059 0x5a hal/src/hal_i2c_m_sync.o .comment 0x00000059 0x5a hal/src/hal_io.o .comment 0x00000059 0x5a hal/src/hal_timer.o .comment 0x00000059 0x5a hal/src/hal_usart_async.o @@ -27046,205 +27058,205 @@ OUTPUT(e54_gfx_learning.elf elf32-littlearm) .comment 0x00000059 0x5a thirdparty/lvgl/src/lv_misc/lv_utils.o .comment 0x00000059 0x5a thirdparty/lvgl/src/lv_themes/lv_theme.o .comment 0x00000059 0x5a thirdparty/lvgl/src/lv_themes/lv_theme_material.o + .comment 0x00000059 0x5a thirdparty/lvgl/src/lv_widgets/lv_img.o .comment 0x00000059 0x5a thirdparty/lvgl/src/lv_widgets/lv_label.o -.debug_info 0x00000000 0x9cf6b - .debug_info 0x00000000 0xa3b5 devices/display/p_ssd1963.o - .debug_info 0x0000a3b5 0xd7d Device_Startup/startup_same54.o - .debug_info 0x0000b132 0x2f70 drivers/p_gpio.o - .debug_info 0x0000e0a2 0x47ae drivers/p_i2c.o - .debug_info 0x00012850 0x31a7 drivers/p_tcc.o - .debug_info 0x000159f7 0x4790 drivers/p_usart.o - .debug_info 0x0001a187 0x1fa hal/src/hal_atomic.o - .debug_info 0x0001a381 0x205 hal/src/hal_delay.o - .debug_info 0x0001a586 0x89f hal/src/hal_i2c_m_sync.o - .debug_info 0x0001ae25 0x2c5 hal/src/hal_io.o - .debug_info 0x0001b0ea 0xbe9 hal/src/hal_timer.o - .debug_info 0x0001bcd3 0x13fa hal/src/hal_usart_async.o - .debug_info 0x0001d0cd 0x130 hal/utils/src/utils_assert.o - .debug_info 0x0001d1fd 0x33a hal/utils/src/utils_list.o - .debug_info 0x0001d537 0x33e hal/utils/src/utils_ringbuffer.o - .debug_info 0x0001d875 0xc67 hpl/core/hpl_core_m4.o - .debug_info 0x0001e4dc 0xbce hpl/core/hpl_init.o - .debug_info 0x0001f0aa 0x5e7 hpl/gclk/hpl_gclk.o - .debug_info 0x0001f691 0xa55 hpl/mclk/hpl_mclk.o - .debug_info 0x000200e6 0x819 hpl/osc32kctrl/hpl_osc32kctrl.o - .debug_info 0x000208ff 0x12ce hpl/oscctrl/hpl_oscctrl.o - .debug_info 0x00021bcd 0xc15 hpl/ramecc/hpl_ramecc.o - .debug_info 0x000227e2 0xbed1 hpl/sercom/hpl_sercom.o - .debug_info 0x0002e6b3 0x2bf0 hpl/tc/hpl_tc.o - .debug_info 0x000312a3 0xa28 main.o - .debug_info 0x00031ccb 0x1ec6 oracle.o - .debug_info 0x00033b91 0x1de6 thirdparty/lvgl/src/lv_core/lv_debug.o - .debug_info 0x00035977 0x1c6e thirdparty/lvgl/src/lv_core/lv_disp.o - .debug_info 0x000375e5 0x2753 thirdparty/lvgl/src/lv_core/lv_group.o - .debug_info 0x00039d38 0x4140 thirdparty/lvgl/src/lv_core/lv_indev.o - .debug_info 0x0003de78 0xed77 thirdparty/lvgl/src/lv_core/lv_obj.o - .debug_info 0x0004cbef 0x2b81 thirdparty/lvgl/src/lv_core/lv_refr.o - .debug_info 0x0004f770 0x3374 thirdparty/lvgl/src/lv_core/lv_style.o - .debug_info 0x00052ae4 0x322d thirdparty/lvgl/src/lv_draw/lv_draw_blend.o - .debug_info 0x00055d11 0x3794 thirdparty/lvgl/src/lv_draw/lv_draw_img.o - .debug_info 0x000594a5 0x3305 thirdparty/lvgl/src/lv_draw/lv_draw_label.o - .debug_info 0x0005c7aa 0x2ce2 thirdparty/lvgl/src/lv_draw/lv_draw_line.o - .debug_info 0x0005f48c 0x334f thirdparty/lvgl/src/lv_draw/lv_draw_mask.o - .debug_info 0x000627db 0x592d thirdparty/lvgl/src/lv_draw/lv_draw_rect.o - .debug_info 0x00068108 0x22f2 thirdparty/lvgl/src/lv_draw/lv_img_buf.o - .debug_info 0x0006a3fa 0x18a6 thirdparty/lvgl/src/lv_draw/lv_img_cache.o - .debug_info 0x0006bca0 0x314a thirdparty/lvgl/src/lv_draw/lv_img_decoder.o - .debug_info 0x0006edea 0xcf2 thirdparty/lvgl/src/lv_font/lv_font.o - .debug_info 0x0006fadc 0x223a thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o - .debug_info 0x00071d16 0x13df thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.o - .debug_info 0x000730f5 0x2868 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o - .debug_info 0x0007595d 0x2342 thirdparty/lvgl/src/lv_hal/lv_hal_indev.o - .debug_info 0x00077c9f 0x161 thirdparty/lvgl/src/lv_hal/lv_hal_tick.o - .debug_info 0x00077e00 0x1f30 thirdparty/lvgl/src/lv_misc/lv_anim.o - .debug_info 0x00079d30 0x1563 thirdparty/lvgl/src/lv_misc/lv_area.o - .debug_info 0x0007b293 0x654 thirdparty/lvgl/src/lv_misc/lv_color.o - .debug_info 0x0007b8e7 0x23bb thirdparty/lvgl/src/lv_misc/lv_fs.o - .debug_info 0x0007dca2 0x153e thirdparty/lvgl/src/lv_misc/lv_gc.o - .debug_info 0x0007f1e0 0x16a3 thirdparty/lvgl/src/lv_misc/lv_ll.o - .debug_info 0x00080883 0xb4b thirdparty/lvgl/src/lv_misc/lv_log.o - .debug_info 0x000813ce 0xcc4 thirdparty/lvgl/src/lv_misc/lv_math.o - .debug_info 0x00082092 0x1dff thirdparty/lvgl/src/lv_misc/lv_mem.o - .debug_info 0x00083e91 0xdc7 thirdparty/lvgl/src/lv_misc/lv_printf.o - .debug_info 0x00084c58 0x1d65 thirdparty/lvgl/src/lv_misc/lv_task.o - .debug_info 0x000869bd 0x1947 thirdparty/lvgl/src/lv_misc/lv_txt.o - .debug_info 0x00088304 0xddd thirdparty/lvgl/src/lv_misc/lv_utils.o - .debug_info 0x000890e1 0x1689 thirdparty/lvgl/src/lv_themes/lv_theme.o - .debug_info 0x0008a76a 0xc43a thirdparty/lvgl/src/lv_themes/lv_theme_material.o - .debug_info 0x00096ba4 0x63c7 thirdparty/lvgl/src/lv_widgets/lv_label.o +.debug_info 0x00000000 0x9d63d + .debug_info 0x00000000 0xa3ff devices/display/p_ssd1963.o + .debug_info 0x0000a3ff 0xd7d Device_Startup/startup_same54.o + .debug_info 0x0000b17c 0x2dd7 drivers/p_gpio.o + .debug_info 0x0000df53 0xbc1 drivers/p_i2c.o + .debug_info 0x0000eb14 0x31a7 drivers/p_tcc.o + .debug_info 0x00011cbb 0x4790 drivers/p_usart.o + .debug_info 0x0001644b 0x1fa hal/src/hal_atomic.o + .debug_info 0x00016645 0x205 hal/src/hal_delay.o + .debug_info 0x0001684a 0x2c5 hal/src/hal_io.o + .debug_info 0x00016b0f 0xbe9 hal/src/hal_timer.o + .debug_info 0x000176f8 0x13fa hal/src/hal_usart_async.o + .debug_info 0x00018af2 0x130 hal/utils/src/utils_assert.o + .debug_info 0x00018c22 0x33a hal/utils/src/utils_list.o + .debug_info 0x00018f5c 0x33e hal/utils/src/utils_ringbuffer.o + .debug_info 0x0001929a 0xc67 hpl/core/hpl_core_m4.o + .debug_info 0x00019f01 0xbce hpl/core/hpl_init.o + .debug_info 0x0001aacf 0x5e7 hpl/gclk/hpl_gclk.o + .debug_info 0x0001b0b6 0xa55 hpl/mclk/hpl_mclk.o + .debug_info 0x0001bb0b 0x819 hpl/osc32kctrl/hpl_osc32kctrl.o + .debug_info 0x0001c324 0x12ce hpl/oscctrl/hpl_oscctrl.o + .debug_info 0x0001d5f2 0xc15 hpl/ramecc/hpl_ramecc.o + .debug_info 0x0001e207 0xbed1 hpl/sercom/hpl_sercom.o + .debug_info 0x0002a0d8 0x2bf0 hpl/tc/hpl_tc.o + .debug_info 0x0002ccc8 0xa28 main.o + .debug_info 0x0002d6f0 0x20f2 oracle.o + .debug_info 0x0002f7e2 0x1de6 thirdparty/lvgl/src/lv_core/lv_debug.o + .debug_info 0x000315c8 0x1c6e thirdparty/lvgl/src/lv_core/lv_disp.o + .debug_info 0x00033236 0x2753 thirdparty/lvgl/src/lv_core/lv_group.o + .debug_info 0x00035989 0x4140 thirdparty/lvgl/src/lv_core/lv_indev.o + .debug_info 0x00039ac9 0xed77 thirdparty/lvgl/src/lv_core/lv_obj.o + .debug_info 0x00048840 0x2b81 thirdparty/lvgl/src/lv_core/lv_refr.o + .debug_info 0x0004b3c1 0x3374 thirdparty/lvgl/src/lv_core/lv_style.o + .debug_info 0x0004e735 0x322d thirdparty/lvgl/src/lv_draw/lv_draw_blend.o + .debug_info 0x00051962 0x3794 thirdparty/lvgl/src/lv_draw/lv_draw_img.o + .debug_info 0x000550f6 0x3305 thirdparty/lvgl/src/lv_draw/lv_draw_label.o + .debug_info 0x000583fb 0x2ce2 thirdparty/lvgl/src/lv_draw/lv_draw_line.o + .debug_info 0x0005b0dd 0x334f thirdparty/lvgl/src/lv_draw/lv_draw_mask.o + .debug_info 0x0005e42c 0x592d thirdparty/lvgl/src/lv_draw/lv_draw_rect.o + .debug_info 0x00063d59 0x22f2 thirdparty/lvgl/src/lv_draw/lv_img_buf.o + .debug_info 0x0006604b 0x18a6 thirdparty/lvgl/src/lv_draw/lv_img_cache.o + .debug_info 0x000678f1 0x314a thirdparty/lvgl/src/lv_draw/lv_img_decoder.o + .debug_info 0x0006aa3b 0xcf2 thirdparty/lvgl/src/lv_font/lv_font.o + .debug_info 0x0006b72d 0x223a thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o + .debug_info 0x0006d967 0x13df thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.o + .debug_info 0x0006ed46 0x2868 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + .debug_info 0x000715ae 0x2342 thirdparty/lvgl/src/lv_hal/lv_hal_indev.o + .debug_info 0x000738f0 0x161 thirdparty/lvgl/src/lv_hal/lv_hal_tick.o + .debug_info 0x00073a51 0x1f30 thirdparty/lvgl/src/lv_misc/lv_anim.o + .debug_info 0x00075981 0x1563 thirdparty/lvgl/src/lv_misc/lv_area.o + .debug_info 0x00076ee4 0x654 thirdparty/lvgl/src/lv_misc/lv_color.o + .debug_info 0x00077538 0x23bb thirdparty/lvgl/src/lv_misc/lv_fs.o + .debug_info 0x000798f3 0x153e thirdparty/lvgl/src/lv_misc/lv_gc.o + .debug_info 0x0007ae31 0x16a3 thirdparty/lvgl/src/lv_misc/lv_ll.o + .debug_info 0x0007c4d4 0xb4b thirdparty/lvgl/src/lv_misc/lv_log.o + .debug_info 0x0007d01f 0xcc4 thirdparty/lvgl/src/lv_misc/lv_math.o + .debug_info 0x0007dce3 0x1dff thirdparty/lvgl/src/lv_misc/lv_mem.o + .debug_info 0x0007fae2 0xdc7 thirdparty/lvgl/src/lv_misc/lv_printf.o + .debug_info 0x000808a9 0x1d65 thirdparty/lvgl/src/lv_misc/lv_task.o + .debug_info 0x0008260e 0x1947 thirdparty/lvgl/src/lv_misc/lv_txt.o + .debug_info 0x00083f55 0xddd thirdparty/lvgl/src/lv_misc/lv_utils.o + .debug_info 0x00084d32 0x1689 thirdparty/lvgl/src/lv_themes/lv_theme.o + .debug_info 0x000863bb 0xc43a thirdparty/lvgl/src/lv_themes/lv_theme_material.o + .debug_info 0x000927f5 0x4a81 thirdparty/lvgl/src/lv_widgets/lv_img.o + .debug_info 0x00097276 0x63c7 thirdparty/lvgl/src/lv_widgets/lv_label.o -.debug_abbrev 0x00000000 0xc72f +.debug_abbrev 0x00000000 0xc8ba .debug_abbrev 0x00000000 0x37f devices/display/p_ssd1963.o .debug_abbrev 0x0000037f 0x171 Device_Startup/startup_same54.o - .debug_abbrev 0x000004f0 0x3c7 drivers/p_gpio.o - .debug_abbrev 0x000008b7 0x349 drivers/p_i2c.o - .debug_abbrev 0x00000c00 0x337 drivers/p_tcc.o - .debug_abbrev 0x00000f37 0x3a2 drivers/p_usart.o - .debug_abbrev 0x000012d9 0x155 hal/src/hal_atomic.o - .debug_abbrev 0x0000142e 0xf9 hal/src/hal_delay.o - .debug_abbrev 0x00001527 0x1b7 hal/src/hal_i2c_m_sync.o - .debug_abbrev 0x000016de 0x12d hal/src/hal_io.o - .debug_abbrev 0x0000180b 0x232 hal/src/hal_timer.o - .debug_abbrev 0x00001a3d 0x2a8 hal/src/hal_usart_async.o - .debug_abbrev 0x00001ce5 0x9e hal/utils/src/utils_assert.o - .debug_abbrev 0x00001d83 0x18d hal/utils/src/utils_list.o - .debug_abbrev 0x00001f10 0x119 hal/utils/src/utils_ringbuffer.o - .debug_abbrev 0x00002029 0x2c2 hpl/core/hpl_core_m4.o - .debug_abbrev 0x000022eb 0x1dd hpl/core/hpl_init.o - .debug_abbrev 0x000024c8 0x1b8 hpl/gclk/hpl_gclk.o - .debug_abbrev 0x00002680 0x1bd hpl/mclk/hpl_mclk.o - .debug_abbrev 0x0000283d 0x1fc hpl/osc32kctrl/hpl_osc32kctrl.o - .debug_abbrev 0x00002a39 0x216 hpl/oscctrl/hpl_oscctrl.o - .debug_abbrev 0x00002c4f 0x2c8 hpl/ramecc/hpl_ramecc.o - .debug_abbrev 0x00002f17 0x5ef hpl/sercom/hpl_sercom.o - .debug_abbrev 0x00003506 0x4f9 hpl/tc/hpl_tc.o - .debug_abbrev 0x000039ff 0x1b6 main.o - .debug_abbrev 0x00003bb5 0x2a3 oracle.o - .debug_abbrev 0x00003e58 0x334 thirdparty/lvgl/src/lv_core/lv_debug.o - .debug_abbrev 0x0000418c 0x2ac thirdparty/lvgl/src/lv_core/lv_disp.o - .debug_abbrev 0x00004438 0x39e thirdparty/lvgl/src/lv_core/lv_group.o - .debug_abbrev 0x000047d6 0x500 thirdparty/lvgl/src/lv_core/lv_indev.o - .debug_abbrev 0x00004cd6 0x56d thirdparty/lvgl/src/lv_core/lv_obj.o - .debug_abbrev 0x00005243 0x4eb thirdparty/lvgl/src/lv_core/lv_refr.o - .debug_abbrev 0x0000572e 0x469 thirdparty/lvgl/src/lv_core/lv_style.o - .debug_abbrev 0x00005b97 0x49d thirdparty/lvgl/src/lv_draw/lv_draw_blend.o - .debug_abbrev 0x00006034 0x48c thirdparty/lvgl/src/lv_draw/lv_draw_img.o - .debug_abbrev 0x000064c0 0x445 thirdparty/lvgl/src/lv_draw/lv_draw_label.o - .debug_abbrev 0x00006905 0x3b8 thirdparty/lvgl/src/lv_draw/lv_draw_line.o - .debug_abbrev 0x00006cbd 0x49e thirdparty/lvgl/src/lv_draw/lv_draw_mask.o - .debug_abbrev 0x0000715b 0x471 thirdparty/lvgl/src/lv_draw/lv_draw_rect.o - .debug_abbrev 0x000075cc 0x430 thirdparty/lvgl/src/lv_draw/lv_img_buf.o - .debug_abbrev 0x000079fc 0x2c7 thirdparty/lvgl/src/lv_draw/lv_img_cache.o - .debug_abbrev 0x00007cc3 0x4b0 thirdparty/lvgl/src/lv_draw/lv_img_decoder.o - .debug_abbrev 0x00008173 0x21a thirdparty/lvgl/src/lv_font/lv_font.o - .debug_abbrev 0x0000838d 0x421 thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o - .debug_abbrev 0x000087ae 0x1f0 thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.o - .debug_abbrev 0x0000899e 0x3ee thirdparty/lvgl/src/lv_hal/lv_hal_disp.o - .debug_abbrev 0x00008d8c 0x292 thirdparty/lvgl/src/lv_hal/lv_hal_indev.o - .debug_abbrev 0x0000901e 0xcb thirdparty/lvgl/src/lv_hal/lv_hal_tick.o - .debug_abbrev 0x000090e9 0x46e thirdparty/lvgl/src/lv_misc/lv_anim.o - .debug_abbrev 0x00009557 0x41f thirdparty/lvgl/src/lv_misc/lv_area.o - .debug_abbrev 0x00009976 0x287 thirdparty/lvgl/src/lv_misc/lv_color.o - .debug_abbrev 0x00009bfd 0x3b6 thirdparty/lvgl/src/lv_misc/lv_fs.o - .debug_abbrev 0x00009fb3 0x20f thirdparty/lvgl/src/lv_misc/lv_gc.o - .debug_abbrev 0x0000a1c2 0x416 thirdparty/lvgl/src/lv_misc/lv_ll.o - .debug_abbrev 0x0000a5d8 0x227 thirdparty/lvgl/src/lv_misc/lv_log.o - .debug_abbrev 0x0000a7ff 0x24b thirdparty/lvgl/src/lv_misc/lv_math.o - .debug_abbrev 0x0000aa4a 0x404 thirdparty/lvgl/src/lv_misc/lv_mem.o - .debug_abbrev 0x0000ae4e 0x2e1 thirdparty/lvgl/src/lv_misc/lv_printf.o - .debug_abbrev 0x0000b12f 0x41c thirdparty/lvgl/src/lv_misc/lv_task.o - .debug_abbrev 0x0000b54b 0x467 thirdparty/lvgl/src/lv_misc/lv_txt.o - .debug_abbrev 0x0000b9b2 0x238 thirdparty/lvgl/src/lv_misc/lv_utils.o - .debug_abbrev 0x0000bbea 0x270 thirdparty/lvgl/src/lv_themes/lv_theme.o - .debug_abbrev 0x0000be5a 0x381 thirdparty/lvgl/src/lv_themes/lv_theme_material.o - .debug_abbrev 0x0000c1db 0x554 thirdparty/lvgl/src/lv_widgets/lv_label.o + .debug_abbrev 0x000004f0 0x3bf drivers/p_gpio.o + .debug_abbrev 0x000008af 0x1a2 drivers/p_i2c.o + .debug_abbrev 0x00000a51 0x337 drivers/p_tcc.o + .debug_abbrev 0x00000d88 0x3a2 drivers/p_usart.o + .debug_abbrev 0x0000112a 0x155 hal/src/hal_atomic.o + .debug_abbrev 0x0000127f 0xf9 hal/src/hal_delay.o + .debug_abbrev 0x00001378 0x12d hal/src/hal_io.o + .debug_abbrev 0x000014a5 0x232 hal/src/hal_timer.o + .debug_abbrev 0x000016d7 0x2a8 hal/src/hal_usart_async.o + .debug_abbrev 0x0000197f 0x9e hal/utils/src/utils_assert.o + .debug_abbrev 0x00001a1d 0x18d hal/utils/src/utils_list.o + .debug_abbrev 0x00001baa 0x119 hal/utils/src/utils_ringbuffer.o + .debug_abbrev 0x00001cc3 0x2c2 hpl/core/hpl_core_m4.o + .debug_abbrev 0x00001f85 0x1dd hpl/core/hpl_init.o + .debug_abbrev 0x00002162 0x1b8 hpl/gclk/hpl_gclk.o + .debug_abbrev 0x0000231a 0x1bd hpl/mclk/hpl_mclk.o + .debug_abbrev 0x000024d7 0x1fc hpl/osc32kctrl/hpl_osc32kctrl.o + .debug_abbrev 0x000026d3 0x216 hpl/oscctrl/hpl_oscctrl.o + .debug_abbrev 0x000028e9 0x2c8 hpl/ramecc/hpl_ramecc.o + .debug_abbrev 0x00002bb1 0x5ef hpl/sercom/hpl_sercom.o + .debug_abbrev 0x000031a0 0x4f9 hpl/tc/hpl_tc.o + .debug_abbrev 0x00003699 0x1b6 main.o + .debug_abbrev 0x0000384f 0x2c5 oracle.o + .debug_abbrev 0x00003b14 0x334 thirdparty/lvgl/src/lv_core/lv_debug.o + .debug_abbrev 0x00003e48 0x2ac thirdparty/lvgl/src/lv_core/lv_disp.o + .debug_abbrev 0x000040f4 0x39e thirdparty/lvgl/src/lv_core/lv_group.o + .debug_abbrev 0x00004492 0x500 thirdparty/lvgl/src/lv_core/lv_indev.o + .debug_abbrev 0x00004992 0x56d thirdparty/lvgl/src/lv_core/lv_obj.o + .debug_abbrev 0x00004eff 0x4eb thirdparty/lvgl/src/lv_core/lv_refr.o + .debug_abbrev 0x000053ea 0x469 thirdparty/lvgl/src/lv_core/lv_style.o + .debug_abbrev 0x00005853 0x49d thirdparty/lvgl/src/lv_draw/lv_draw_blend.o + .debug_abbrev 0x00005cf0 0x48c thirdparty/lvgl/src/lv_draw/lv_draw_img.o + .debug_abbrev 0x0000617c 0x445 thirdparty/lvgl/src/lv_draw/lv_draw_label.o + .debug_abbrev 0x000065c1 0x3b8 thirdparty/lvgl/src/lv_draw/lv_draw_line.o + .debug_abbrev 0x00006979 0x49e thirdparty/lvgl/src/lv_draw/lv_draw_mask.o + .debug_abbrev 0x00006e17 0x471 thirdparty/lvgl/src/lv_draw/lv_draw_rect.o + .debug_abbrev 0x00007288 0x430 thirdparty/lvgl/src/lv_draw/lv_img_buf.o + .debug_abbrev 0x000076b8 0x2c7 thirdparty/lvgl/src/lv_draw/lv_img_cache.o + .debug_abbrev 0x0000797f 0x4b0 thirdparty/lvgl/src/lv_draw/lv_img_decoder.o + .debug_abbrev 0x00007e2f 0x21a thirdparty/lvgl/src/lv_font/lv_font.o + .debug_abbrev 0x00008049 0x421 thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o + .debug_abbrev 0x0000846a 0x1f0 thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.o + .debug_abbrev 0x0000865a 0x3ee thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + .debug_abbrev 0x00008a48 0x292 thirdparty/lvgl/src/lv_hal/lv_hal_indev.o + .debug_abbrev 0x00008cda 0xcb thirdparty/lvgl/src/lv_hal/lv_hal_tick.o + .debug_abbrev 0x00008da5 0x46e thirdparty/lvgl/src/lv_misc/lv_anim.o + .debug_abbrev 0x00009213 0x41f thirdparty/lvgl/src/lv_misc/lv_area.o + .debug_abbrev 0x00009632 0x287 thirdparty/lvgl/src/lv_misc/lv_color.o + .debug_abbrev 0x000098b9 0x3b6 thirdparty/lvgl/src/lv_misc/lv_fs.o + .debug_abbrev 0x00009c6f 0x20f thirdparty/lvgl/src/lv_misc/lv_gc.o + .debug_abbrev 0x00009e7e 0x416 thirdparty/lvgl/src/lv_misc/lv_ll.o + .debug_abbrev 0x0000a294 0x227 thirdparty/lvgl/src/lv_misc/lv_log.o + .debug_abbrev 0x0000a4bb 0x24b thirdparty/lvgl/src/lv_misc/lv_math.o + .debug_abbrev 0x0000a706 0x404 thirdparty/lvgl/src/lv_misc/lv_mem.o + .debug_abbrev 0x0000ab0a 0x2e1 thirdparty/lvgl/src/lv_misc/lv_printf.o + .debug_abbrev 0x0000adeb 0x41c thirdparty/lvgl/src/lv_misc/lv_task.o + .debug_abbrev 0x0000b207 0x467 thirdparty/lvgl/src/lv_misc/lv_txt.o + .debug_abbrev 0x0000b66e 0x238 thirdparty/lvgl/src/lv_misc/lv_utils.o + .debug_abbrev 0x0000b8a6 0x270 thirdparty/lvgl/src/lv_themes/lv_theme.o + .debug_abbrev 0x0000bb16 0x381 thirdparty/lvgl/src/lv_themes/lv_theme_material.o + .debug_abbrev 0x0000be97 0x4cf thirdparty/lvgl/src/lv_widgets/lv_img.o + .debug_abbrev 0x0000c366 0x554 thirdparty/lvgl/src/lv_widgets/lv_label.o -.debug_loc 0x00000000 0x4cd3b - .debug_loc 0x00000000 0x626e devices/display/p_ssd1963.o - .debug_loc 0x0000626e 0x6b Device_Startup/startup_same54.o - .debug_loc 0x000062d9 0x1981 drivers/p_gpio.o - .debug_loc 0x00007c5a 0x256 drivers/p_i2c.o - .debug_loc 0x00007eb0 0xda drivers/p_tcc.o - .debug_loc 0x00007f8a 0x24c drivers/p_usart.o - .debug_loc 0x000081d6 0x13 hal/src/hal_atomic.o - .debug_loc 0x000081e9 0xc3 hal/src/hal_delay.o - .debug_loc 0x000082ac 0x736 hal/src/hal_i2c_m_sync.o - .debug_loc 0x000089e2 0x152 hal/src/hal_io.o - .debug_loc 0x00008b34 0x691 hal/src/hal_timer.o - .debug_loc 0x000091c5 0xded hal/src/hal_usart_async.o - .debug_loc 0x00009fb2 0x29f hal/utils/src/utils_list.o - .debug_loc 0x0000a251 0x2bd hal/utils/src/utils_ringbuffer.o - .debug_loc 0x0000a50e 0x1d7 hpl/core/hpl_core_m4.o - .debug_loc 0x0000a6e5 0x4c hpl/core/hpl_init.o - .debug_loc 0x0000a731 0x72 hpl/gclk/hpl_gclk.o - .debug_loc 0x0000a7a3 0x2c hpl/mclk/hpl_mclk.o - .debug_loc 0x0000a7cf 0x11b hpl/osc32kctrl/hpl_osc32kctrl.o - .debug_loc 0x0000a8ea 0x11e hpl/oscctrl/hpl_oscctrl.o - .debug_loc 0x0000aa08 0x130 hpl/ramecc/hpl_ramecc.o - .debug_loc 0x0000ab38 0x7c8b hpl/sercom/hpl_sercom.o - .debug_loc 0x000127c3 0xa38 hpl/tc/hpl_tc.o - .debug_loc 0x000131fb 0x20 main.o - .debug_loc 0x0001321b 0x8a oracle.o - .debug_loc 0x000132a5 0x6fb thirdparty/lvgl/src/lv_core/lv_debug.o - .debug_loc 0x000139a0 0x495 thirdparty/lvgl/src/lv_core/lv_disp.o - .debug_loc 0x00013e35 0xb4d thirdparty/lvgl/src/lv_core/lv_group.o - .debug_loc 0x00014982 0xfdf thirdparty/lvgl/src/lv_core/lv_indev.o - .debug_loc 0x00015961 0x86b4 thirdparty/lvgl/src/lv_core/lv_obj.o - .debug_loc 0x0001e015 0xcc3 thirdparty/lvgl/src/lv_core/lv_refr.o - .debug_loc 0x0001ecd8 0x32ce thirdparty/lvgl/src/lv_core/lv_style.o - .debug_loc 0x00021fa6 0x37b2 thirdparty/lvgl/src/lv_draw/lv_draw_blend.o - .debug_loc 0x00025758 0x1706 thirdparty/lvgl/src/lv_draw/lv_draw_img.o - .debug_loc 0x00026e5e 0x1bc8 thirdparty/lvgl/src/lv_draw/lv_draw_label.o - .debug_loc 0x00028a26 0x1cbd thirdparty/lvgl/src/lv_draw/lv_draw_line.o - .debug_loc 0x0002a6e3 0x428c thirdparty/lvgl/src/lv_draw/lv_draw_mask.o - .debug_loc 0x0002e96f 0x402c thirdparty/lvgl/src/lv_draw/lv_draw_rect.o - .debug_loc 0x0003299b 0x2c56 thirdparty/lvgl/src/lv_draw/lv_img_buf.o - .debug_loc 0x000355f1 0x372 thirdparty/lvgl/src/lv_draw/lv_img_cache.o - .debug_loc 0x00035963 0x1779 thirdparty/lvgl/src/lv_draw/lv_img_decoder.o - .debug_loc 0x000370dc 0x1e1 thirdparty/lvgl/src/lv_font/lv_font.o - .debug_loc 0x000372bd 0x2598 thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o - .debug_loc 0x00039855 0x637 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o - .debug_loc 0x00039e8c 0x269 thirdparty/lvgl/src/lv_hal/lv_hal_indev.o - .debug_loc 0x0003a0f5 0x80 thirdparty/lvgl/src/lv_hal/lv_hal_tick.o - .debug_loc 0x0003a175 0xc3c thirdparty/lvgl/src/lv_misc/lv_anim.o - .debug_loc 0x0003adb1 0xedb thirdparty/lvgl/src/lv_misc/lv_area.o - .debug_loc 0x0003bc8c 0x94b thirdparty/lvgl/src/lv_misc/lv_color.o - .debug_loc 0x0003c5d7 0x1237 thirdparty/lvgl/src/lv_misc/lv_fs.o - .debug_loc 0x0003d80e 0x20 thirdparty/lvgl/src/lv_misc/lv_gc.o - .debug_loc 0x0003d82e 0xea8 thirdparty/lvgl/src/lv_misc/lv_ll.o - .debug_loc 0x0003e6d6 0xfe thirdparty/lvgl/src/lv_misc/lv_log.o - .debug_loc 0x0003e7d4 0x789 thirdparty/lvgl/src/lv_misc/lv_math.o - .debug_loc 0x0003ef5d 0x16bd thirdparty/lvgl/src/lv_misc/lv_mem.o - .debug_loc 0x0004061a 0x152f thirdparty/lvgl/src/lv_misc/lv_printf.o - .debug_loc 0x00041b49 0x63c thirdparty/lvgl/src/lv_misc/lv_task.o - .debug_loc 0x00042185 0x149d thirdparty/lvgl/src/lv_misc/lv_txt.o - .debug_loc 0x00043622 0x2f1 thirdparty/lvgl/src/lv_misc/lv_utils.o - .debug_loc 0x00043913 0x62 thirdparty/lvgl/src/lv_themes/lv_theme.o - .debug_loc 0x00043975 0x66df thirdparty/lvgl/src/lv_themes/lv_theme_material.o - .debug_loc 0x0004a054 0x2ce7 thirdparty/lvgl/src/lv_widgets/lv_label.o +.debug_loc 0x00000000 0x4d923 + .debug_loc 0x00000000 0x62bb devices/display/p_ssd1963.o + .debug_loc 0x000062bb 0x6b Device_Startup/startup_same54.o + .debug_loc 0x00006326 0x1717 drivers/p_gpio.o + .debug_loc 0x00007a3d 0xda drivers/p_tcc.o + .debug_loc 0x00007b17 0x24c drivers/p_usart.o + .debug_loc 0x00007d63 0x13 hal/src/hal_atomic.o + .debug_loc 0x00007d76 0xc3 hal/src/hal_delay.o + .debug_loc 0x00007e39 0x152 hal/src/hal_io.o + .debug_loc 0x00007f8b 0x691 hal/src/hal_timer.o + .debug_loc 0x0000861c 0xded hal/src/hal_usart_async.o + .debug_loc 0x00009409 0x29f hal/utils/src/utils_list.o + .debug_loc 0x000096a8 0x2bd hal/utils/src/utils_ringbuffer.o + .debug_loc 0x00009965 0x1d7 hpl/core/hpl_core_m4.o + .debug_loc 0x00009b3c 0x4c hpl/core/hpl_init.o + .debug_loc 0x00009b88 0x72 hpl/gclk/hpl_gclk.o + .debug_loc 0x00009bfa 0x2c hpl/mclk/hpl_mclk.o + .debug_loc 0x00009c26 0x11b hpl/osc32kctrl/hpl_osc32kctrl.o + .debug_loc 0x00009d41 0x11e hpl/oscctrl/hpl_oscctrl.o + .debug_loc 0x00009e5f 0x130 hpl/ramecc/hpl_ramecc.o + .debug_loc 0x00009f8f 0x7c8b hpl/sercom/hpl_sercom.o + .debug_loc 0x00011c1a 0xa38 hpl/tc/hpl_tc.o + .debug_loc 0x00012652 0x20 main.o + .debug_loc 0x00012672 0xbe oracle.o + .debug_loc 0x00012730 0x6fb thirdparty/lvgl/src/lv_core/lv_debug.o + .debug_loc 0x00012e2b 0x495 thirdparty/lvgl/src/lv_core/lv_disp.o + .debug_loc 0x000132c0 0xb4d thirdparty/lvgl/src/lv_core/lv_group.o + .debug_loc 0x00013e0d 0xfdf thirdparty/lvgl/src/lv_core/lv_indev.o + .debug_loc 0x00014dec 0x86b4 thirdparty/lvgl/src/lv_core/lv_obj.o + .debug_loc 0x0001d4a0 0xcc3 thirdparty/lvgl/src/lv_core/lv_refr.o + .debug_loc 0x0001e163 0x32ce thirdparty/lvgl/src/lv_core/lv_style.o + .debug_loc 0x00021431 0x37b2 thirdparty/lvgl/src/lv_draw/lv_draw_blend.o + .debug_loc 0x00024be3 0x1706 thirdparty/lvgl/src/lv_draw/lv_draw_img.o + .debug_loc 0x000262e9 0x1bc8 thirdparty/lvgl/src/lv_draw/lv_draw_label.o + .debug_loc 0x00027eb1 0x1cbd thirdparty/lvgl/src/lv_draw/lv_draw_line.o + .debug_loc 0x00029b6e 0x428c thirdparty/lvgl/src/lv_draw/lv_draw_mask.o + .debug_loc 0x0002ddfa 0x402c thirdparty/lvgl/src/lv_draw/lv_draw_rect.o + .debug_loc 0x00031e26 0x2c56 thirdparty/lvgl/src/lv_draw/lv_img_buf.o + .debug_loc 0x00034a7c 0x372 thirdparty/lvgl/src/lv_draw/lv_img_cache.o + .debug_loc 0x00034dee 0x1779 thirdparty/lvgl/src/lv_draw/lv_img_decoder.o + .debug_loc 0x00036567 0x1e1 thirdparty/lvgl/src/lv_font/lv_font.o + .debug_loc 0x00036748 0x2598 thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o + .debug_loc 0x00038ce0 0x637 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + .debug_loc 0x00039317 0x269 thirdparty/lvgl/src/lv_hal/lv_hal_indev.o + .debug_loc 0x00039580 0x80 thirdparty/lvgl/src/lv_hal/lv_hal_tick.o + .debug_loc 0x00039600 0xc3c thirdparty/lvgl/src/lv_misc/lv_anim.o + .debug_loc 0x0003a23c 0xedb thirdparty/lvgl/src/lv_misc/lv_area.o + .debug_loc 0x0003b117 0x94b thirdparty/lvgl/src/lv_misc/lv_color.o + .debug_loc 0x0003ba62 0x1237 thirdparty/lvgl/src/lv_misc/lv_fs.o + .debug_loc 0x0003cc99 0x20 thirdparty/lvgl/src/lv_misc/lv_gc.o + .debug_loc 0x0003ccb9 0xea8 thirdparty/lvgl/src/lv_misc/lv_ll.o + .debug_loc 0x0003db61 0xfe thirdparty/lvgl/src/lv_misc/lv_log.o + .debug_loc 0x0003dc5f 0x789 thirdparty/lvgl/src/lv_misc/lv_math.o + .debug_loc 0x0003e3e8 0x16bd thirdparty/lvgl/src/lv_misc/lv_mem.o + .debug_loc 0x0003faa5 0x152f thirdparty/lvgl/src/lv_misc/lv_printf.o + .debug_loc 0x00040fd4 0x63c thirdparty/lvgl/src/lv_misc/lv_task.o + .debug_loc 0x00041610 0x149d thirdparty/lvgl/src/lv_misc/lv_txt.o + .debug_loc 0x00042aad 0x2f1 thirdparty/lvgl/src/lv_misc/lv_utils.o + .debug_loc 0x00042d9e 0x62 thirdparty/lvgl/src/lv_themes/lv_theme.o + .debug_loc 0x00042e00 0x66df thirdparty/lvgl/src/lv_themes/lv_theme_material.o + .debug_loc 0x000494df 0x175d thirdparty/lvgl/src/lv_widgets/lv_img.o + .debug_loc 0x0004ac3c 0x2ce7 thirdparty/lvgl/src/lv_widgets/lv_label.o -.debug_aranges 0x00000000 0x1fd0 +.debug_aranges 0x00000000 0x2000 .debug_aranges 0x00000000 0x28 devices/display/p_ssd1963.o .debug_aranges @@ -27262,119 +27274,119 @@ OUTPUT(e54_gfx_learning.elf elf32-littlearm) .debug_aranges 0x00000140 0x38 hal/src/hal_delay.o .debug_aranges - 0x00000178 0x88 hal/src/hal_i2c_m_sync.o + 0x00000178 0x30 hal/src/hal_io.o .debug_aranges - 0x00000200 0x30 hal/src/hal_io.o + 0x000001a8 0x70 hal/src/hal_timer.o .debug_aranges - 0x00000230 0x70 hal/src/hal_timer.o + 0x00000218 0xe0 hal/src/hal_usart_async.o .debug_aranges - 0x000002a0 0xe0 hal/src/hal_usart_async.o + 0x000002f8 0x20 hal/utils/src/utils_assert.o .debug_aranges - 0x00000380 0x20 hal/utils/src/utils_assert.o + 0x00000318 0x48 hal/utils/src/utils_list.o .debug_aranges - 0x000003a0 0x48 hal/utils/src/utils_list.o + 0x00000360 0x40 hal/utils/src/utils_ringbuffer.o .debug_aranges - 0x000003e8 0x40 hal/utils/src/utils_ringbuffer.o + 0x000003a0 0x80 hpl/core/hpl_core_m4.o .debug_aranges - 0x00000428 0x80 hpl/core/hpl_core_m4.o + 0x00000420 0x20 hpl/core/hpl_init.o .debug_aranges - 0x000004a8 0x20 hpl/core/hpl_init.o + 0x00000440 0x28 hpl/gclk/hpl_gclk.o .debug_aranges - 0x000004c8 0x28 hpl/gclk/hpl_gclk.o + 0x00000468 0x20 hpl/mclk/hpl_mclk.o .debug_aranges - 0x000004f0 0x20 hpl/mclk/hpl_mclk.o + 0x00000488 0x20 hpl/osc32kctrl/hpl_osc32kctrl.o .debug_aranges - 0x00000510 0x20 hpl/osc32kctrl/hpl_osc32kctrl.o + 0x000004a8 0x28 hpl/oscctrl/hpl_oscctrl.o .debug_aranges - 0x00000530 0x28 hpl/oscctrl/hpl_oscctrl.o + 0x000004d0 0x30 hpl/ramecc/hpl_ramecc.o .debug_aranges - 0x00000558 0x30 hpl/ramecc/hpl_ramecc.o + 0x00000500 0x500 hpl/sercom/hpl_sercom.o .debug_aranges - 0x00000588 0x500 hpl/sercom/hpl_sercom.o + 0x00000a00 0x78 hpl/tc/hpl_tc.o .debug_aranges - 0x00000a88 0x78 hpl/tc/hpl_tc.o + 0x00000a78 0x20 main.o .debug_aranges - 0x00000b00 0x20 main.o + 0x00000a98 0x28 oracle.o .debug_aranges - 0x00000b20 0x28 oracle.o + 0x00000ac0 0x60 thirdparty/lvgl/src/lv_core/lv_debug.o .debug_aranges - 0x00000b48 0x60 thirdparty/lvgl/src/lv_core/lv_debug.o + 0x00000b20 0x58 thirdparty/lvgl/src/lv_core/lv_disp.o .debug_aranges - 0x00000ba8 0x58 thirdparty/lvgl/src/lv_core/lv_disp.o + 0x00000b78 0xd8 thirdparty/lvgl/src/lv_core/lv_group.o .debug_aranges - 0x00000c00 0xd8 thirdparty/lvgl/src/lv_core/lv_group.o + 0x00000c50 0xe8 thirdparty/lvgl/src/lv_core/lv_indev.o .debug_aranges - 0x00000cd8 0xe8 thirdparty/lvgl/src/lv_core/lv_indev.o + 0x00000d38 0x470 thirdparty/lvgl/src/lv_core/lv_obj.o .debug_aranges - 0x00000dc0 0x470 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x000011a8 0x70 thirdparty/lvgl/src/lv_core/lv_refr.o .debug_aranges - 0x00001230 0x70 thirdparty/lvgl/src/lv_core/lv_refr.o + 0x00001218 0x108 thirdparty/lvgl/src/lv_core/lv_style.o .debug_aranges - 0x000012a0 0x108 thirdparty/lvgl/src/lv_core/lv_style.o + 0x00001320 0x38 thirdparty/lvgl/src/lv_draw/lv_draw_blend.o .debug_aranges - 0x000013a8 0x38 thirdparty/lvgl/src/lv_draw/lv_draw_blend.o + 0x00001358 0x58 thirdparty/lvgl/src/lv_draw/lv_draw_img.o .debug_aranges - 0x000013e0 0x58 thirdparty/lvgl/src/lv_draw/lv_draw_img.o + 0x000013b0 0x30 thirdparty/lvgl/src/lv_draw/lv_draw_label.o .debug_aranges - 0x00001438 0x30 thirdparty/lvgl/src/lv_draw/lv_draw_label.o + 0x000013e0 0x28 thirdparty/lvgl/src/lv_draw/lv_draw_line.o .debug_aranges - 0x00001468 0x28 thirdparty/lvgl/src/lv_draw/lv_draw_line.o + 0x00001408 0x98 thirdparty/lvgl/src/lv_draw/lv_draw_mask.o .debug_aranges - 0x00001490 0x98 thirdparty/lvgl/src/lv_draw/lv_draw_mask.o + 0x000014a0 0x38 thirdparty/lvgl/src/lv_draw/lv_draw_rect.o .debug_aranges - 0x00001528 0x38 thirdparty/lvgl/src/lv_draw/lv_draw_rect.o + 0x000014d8 0x70 thirdparty/lvgl/src/lv_draw/lv_img_buf.o .debug_aranges - 0x00001560 0x70 thirdparty/lvgl/src/lv_draw/lv_img_buf.o + 0x00001548 0x30 thirdparty/lvgl/src/lv_draw/lv_img_cache.o .debug_aranges - 0x000015d0 0x30 thirdparty/lvgl/src/lv_draw/lv_img_cache.o + 0x00001578 0x90 thirdparty/lvgl/src/lv_draw/lv_img_decoder.o .debug_aranges - 0x00001600 0x90 thirdparty/lvgl/src/lv_draw/lv_img_decoder.o + 0x00001608 0x30 thirdparty/lvgl/src/lv_font/lv_font.o .debug_aranges - 0x00001690 0x30 thirdparty/lvgl/src/lv_font/lv_font.o + 0x00001638 0x50 thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o .debug_aranges - 0x000016c0 0x50 thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o + 0x00001688 0x18 thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.o .debug_aranges - 0x00001710 0x18 thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.o + 0x000016a0 0xb8 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o .debug_aranges - 0x00001728 0xb8 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + 0x00001758 0x40 thirdparty/lvgl/src/lv_hal/lv_hal_indev.o .debug_aranges - 0x000017e0 0x40 thirdparty/lvgl/src/lv_hal/lv_hal_indev.o + 0x00001798 0x30 thirdparty/lvgl/src/lv_hal/lv_hal_tick.o .debug_aranges - 0x00001820 0x30 thirdparty/lvgl/src/lv_hal/lv_hal_tick.o + 0x000017c8 0xa0 thirdparty/lvgl/src/lv_misc/lv_anim.o .debug_aranges - 0x00001850 0xa0 thirdparty/lvgl/src/lv_misc/lv_anim.o + 0x00001868 0x78 thirdparty/lvgl/src/lv_misc/lv_area.o .debug_aranges - 0x000018f0 0x78 thirdparty/lvgl/src/lv_misc/lv_area.o + 0x000018e0 0x48 thirdparty/lvgl/src/lv_misc/lv_color.o .debug_aranges - 0x00001968 0x48 thirdparty/lvgl/src/lv_misc/lv_color.o + 0x00001928 0xd8 thirdparty/lvgl/src/lv_misc/lv_fs.o .debug_aranges - 0x000019b0 0xd8 thirdparty/lvgl/src/lv_misc/lv_fs.o + 0x00001a00 0x20 thirdparty/lvgl/src/lv_misc/lv_gc.o .debug_aranges - 0x00001a88 0x20 thirdparty/lvgl/src/lv_misc/lv_gc.o + 0x00001a20 0x98 thirdparty/lvgl/src/lv_misc/lv_ll.o .debug_aranges - 0x00001aa8 0x98 thirdparty/lvgl/src/lv_misc/lv_ll.o + 0x00001ab8 0x28 thirdparty/lvgl/src/lv_misc/lv_log.o .debug_aranges - 0x00001b40 0x28 thirdparty/lvgl/src/lv_misc/lv_log.o + 0x00001ae0 0x40 thirdparty/lvgl/src/lv_misc/lv_math.o .debug_aranges - 0x00001b68 0x40 thirdparty/lvgl/src/lv_misc/lv_math.o + 0x00001b20 0xa8 thirdparty/lvgl/src/lv_misc/lv_mem.o .debug_aranges - 0x00001ba8 0xa8 thirdparty/lvgl/src/lv_misc/lv_mem.o + 0x00001bc8 0x58 thirdparty/lvgl/src/lv_misc/lv_printf.o .debug_aranges - 0x00001c50 0x58 thirdparty/lvgl/src/lv_misc/lv_printf.o + 0x00001c20 0x88 thirdparty/lvgl/src/lv_misc/lv_task.o .debug_aranges - 0x00001ca8 0x88 thirdparty/lvgl/src/lv_misc/lv_task.o + 0x00001ca8 0x88 thirdparty/lvgl/src/lv_misc/lv_txt.o .debug_aranges - 0x00001d30 0x88 thirdparty/lvgl/src/lv_misc/lv_txt.o + 0x00001d30 0x28 thirdparty/lvgl/src/lv_misc/lv_utils.o .debug_aranges - 0x00001db8 0x28 thirdparty/lvgl/src/lv_misc/lv_utils.o + 0x00001d58 0x68 thirdparty/lvgl/src/lv_themes/lv_theme.o .debug_aranges - 0x00001de0 0x68 thirdparty/lvgl/src/lv_themes/lv_theme.o + 0x00001dc0 0x70 thirdparty/lvgl/src/lv_themes/lv_theme_material.o .debug_aranges - 0x00001e48 0x70 thirdparty/lvgl/src/lv_themes/lv_theme_material.o + 0x00001e30 0xb8 thirdparty/lvgl/src/lv_widgets/lv_img.o .debug_aranges - 0x00001eb8 0x118 thirdparty/lvgl/src/lv_widgets/lv_label.o + 0x00001ee8 0x118 thirdparty/lvgl/src/lv_widgets/lv_label.o -.debug_ranges 0x00000000 0x3e50 +.debug_ranges 0x00000000 0x3f18 .debug_ranges 0x00000000 0x18 devices/display/p_ssd1963.o .debug_ranges 0x00000018 0x18 Device_Startup/startup_same54.o .debug_ranges 0x00000030 0xf0 drivers/p_gpio.o @@ -27383,63 +27395,63 @@ OUTPUT(e54_gfx_learning.elf elf32-littlearm) .debug_ranges 0x00000150 0x20 drivers/p_usart.o .debug_ranges 0x00000170 0x20 hal/src/hal_atomic.o .debug_ranges 0x00000190 0x28 hal/src/hal_delay.o - .debug_ranges 0x000001b8 0x78 hal/src/hal_i2c_m_sync.o - .debug_ranges 0x00000230 0x20 hal/src/hal_io.o - .debug_ranges 0x00000250 0xa8 hal/src/hal_timer.o - .debug_ranges 0x000002f8 0xf0 hal/src/hal_usart_async.o - .debug_ranges 0x000003e8 0x10 hal/utils/src/utils_assert.o - .debug_ranges 0x000003f8 0x58 hal/utils/src/utils_list.o - .debug_ranges 0x00000450 0x30 hal/utils/src/utils_ringbuffer.o - .debug_ranges 0x00000480 0x70 hpl/core/hpl_core_m4.o - .debug_ranges 0x000004f0 0x10 hpl/core/hpl_init.o - .debug_ranges 0x00000500 0x18 hpl/gclk/hpl_gclk.o - .debug_ranges 0x00000518 0x10 hpl/mclk/hpl_mclk.o - .debug_ranges 0x00000528 0x10 hpl/osc32kctrl/hpl_osc32kctrl.o - .debug_ranges 0x00000538 0x18 hpl/oscctrl/hpl_oscctrl.o - .debug_ranges 0x00000550 0x38 hpl/ramecc/hpl_ramecc.o - .debug_ranges 0x00000588 0x978 hpl/sercom/hpl_sercom.o - .debug_ranges 0x00000f00 0x98 hpl/tc/hpl_tc.o - .debug_ranges 0x00000f98 0x10 main.o - .debug_ranges 0x00000fa8 0x18 oracle.o - .debug_ranges 0x00000fc0 0xb8 thirdparty/lvgl/src/lv_core/lv_debug.o - .debug_ranges 0x00001078 0x48 thirdparty/lvgl/src/lv_core/lv_disp.o - .debug_ranges 0x000010c0 0xc8 thirdparty/lvgl/src/lv_core/lv_group.o - .debug_ranges 0x00001188 0x258 thirdparty/lvgl/src/lv_core/lv_indev.o - .debug_ranges 0x000013e0 0x6c0 thirdparty/lvgl/src/lv_core/lv_obj.o - .debug_ranges 0x00001aa0 0x130 thirdparty/lvgl/src/lv_core/lv_refr.o - .debug_ranges 0x00001bd0 0x268 thirdparty/lvgl/src/lv_core/lv_style.o - .debug_ranges 0x00001e38 0x230 thirdparty/lvgl/src/lv_draw/lv_draw_blend.o - .debug_ranges 0x00002068 0x168 thirdparty/lvgl/src/lv_draw/lv_draw_img.o - .debug_ranges 0x000021d0 0x110 thirdparty/lvgl/src/lv_draw/lv_draw_label.o - .debug_ranges 0x000022e0 0xa0 thirdparty/lvgl/src/lv_draw/lv_draw_line.o - .debug_ranges 0x00002380 0x4d0 thirdparty/lvgl/src/lv_draw/lv_draw_mask.o - .debug_ranges 0x00002850 0x400 thirdparty/lvgl/src/lv_draw/lv_draw_rect.o - .debug_ranges 0x00002c50 0xa0 thirdparty/lvgl/src/lv_draw/lv_img_buf.o - .debug_ranges 0x00002cf0 0x48 thirdparty/lvgl/src/lv_draw/lv_img_cache.o - .debug_ranges 0x00002d38 0xe0 thirdparty/lvgl/src/lv_draw/lv_img_decoder.o - .debug_ranges 0x00002e18 0x20 thirdparty/lvgl/src/lv_font/lv_font.o - .debug_ranges 0x00002e38 0x2f8 thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o - .debug_ranges 0x00003130 0xa8 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o - .debug_ranges 0x000031d8 0x30 thirdparty/lvgl/src/lv_hal/lv_hal_indev.o - .debug_ranges 0x00003208 0x20 thirdparty/lvgl/src/lv_hal/lv_hal_tick.o - .debug_ranges 0x00003228 0x108 thirdparty/lvgl/src/lv_misc/lv_anim.o - .debug_ranges 0x00003330 0x98 thirdparty/lvgl/src/lv_misc/lv_area.o - .debug_ranges 0x000033c8 0x58 thirdparty/lvgl/src/lv_misc/lv_color.o - .debug_ranges 0x00003420 0xc8 thirdparty/lvgl/src/lv_misc/lv_fs.o - .debug_ranges 0x000034e8 0x10 thirdparty/lvgl/src/lv_misc/lv_gc.o - .debug_ranges 0x000034f8 0xd0 thirdparty/lvgl/src/lv_misc/lv_ll.o - .debug_ranges 0x000035c8 0x18 thirdparty/lvgl/src/lv_misc/lv_log.o - .debug_ranges 0x000035e0 0x30 thirdparty/lvgl/src/lv_misc/lv_math.o - .debug_ranges 0x00003610 0xd0 thirdparty/lvgl/src/lv_misc/lv_mem.o - .debug_ranges 0x000036e0 0x118 thirdparty/lvgl/src/lv_misc/lv_printf.o - .debug_ranges 0x000037f8 0xa8 thirdparty/lvgl/src/lv_misc/lv_task.o - .debug_ranges 0x000038a0 0x138 thirdparty/lvgl/src/lv_misc/lv_txt.o - .debug_ranges 0x000039d8 0x30 thirdparty/lvgl/src/lv_misc/lv_utils.o - .debug_ranges 0x00003a08 0x58 thirdparty/lvgl/src/lv_themes/lv_theme.o - .debug_ranges 0x00003a60 0x1b0 thirdparty/lvgl/src/lv_themes/lv_theme_material.o - .debug_ranges 0x00003c10 0x240 thirdparty/lvgl/src/lv_widgets/lv_label.o + .debug_ranges 0x000001b8 0x20 hal/src/hal_io.o + .debug_ranges 0x000001d8 0xa8 hal/src/hal_timer.o + .debug_ranges 0x00000280 0xf0 hal/src/hal_usart_async.o + .debug_ranges 0x00000370 0x10 hal/utils/src/utils_assert.o + .debug_ranges 0x00000380 0x58 hal/utils/src/utils_list.o + .debug_ranges 0x000003d8 0x30 hal/utils/src/utils_ringbuffer.o + .debug_ranges 0x00000408 0x70 hpl/core/hpl_core_m4.o + .debug_ranges 0x00000478 0x10 hpl/core/hpl_init.o + .debug_ranges 0x00000488 0x18 hpl/gclk/hpl_gclk.o + .debug_ranges 0x000004a0 0x10 hpl/mclk/hpl_mclk.o + .debug_ranges 0x000004b0 0x10 hpl/osc32kctrl/hpl_osc32kctrl.o + .debug_ranges 0x000004c0 0x18 hpl/oscctrl/hpl_oscctrl.o + .debug_ranges 0x000004d8 0x38 hpl/ramecc/hpl_ramecc.o + .debug_ranges 0x00000510 0x978 hpl/sercom/hpl_sercom.o + .debug_ranges 0x00000e88 0x98 hpl/tc/hpl_tc.o + .debug_ranges 0x00000f20 0x10 main.o + .debug_ranges 0x00000f30 0x18 oracle.o + .debug_ranges 0x00000f48 0xb8 thirdparty/lvgl/src/lv_core/lv_debug.o + .debug_ranges 0x00001000 0x48 thirdparty/lvgl/src/lv_core/lv_disp.o + .debug_ranges 0x00001048 0xc8 thirdparty/lvgl/src/lv_core/lv_group.o + .debug_ranges 0x00001110 0x258 thirdparty/lvgl/src/lv_core/lv_indev.o + .debug_ranges 0x00001368 0x6c0 thirdparty/lvgl/src/lv_core/lv_obj.o + .debug_ranges 0x00001a28 0x130 thirdparty/lvgl/src/lv_core/lv_refr.o + .debug_ranges 0x00001b58 0x268 thirdparty/lvgl/src/lv_core/lv_style.o + .debug_ranges 0x00001dc0 0x230 thirdparty/lvgl/src/lv_draw/lv_draw_blend.o + .debug_ranges 0x00001ff0 0x168 thirdparty/lvgl/src/lv_draw/lv_draw_img.o + .debug_ranges 0x00002158 0x110 thirdparty/lvgl/src/lv_draw/lv_draw_label.o + .debug_ranges 0x00002268 0xa0 thirdparty/lvgl/src/lv_draw/lv_draw_line.o + .debug_ranges 0x00002308 0x4d0 thirdparty/lvgl/src/lv_draw/lv_draw_mask.o + .debug_ranges 0x000027d8 0x400 thirdparty/lvgl/src/lv_draw/lv_draw_rect.o + .debug_ranges 0x00002bd8 0xa0 thirdparty/lvgl/src/lv_draw/lv_img_buf.o + .debug_ranges 0x00002c78 0x48 thirdparty/lvgl/src/lv_draw/lv_img_cache.o + .debug_ranges 0x00002cc0 0xe0 thirdparty/lvgl/src/lv_draw/lv_img_decoder.o + .debug_ranges 0x00002da0 0x20 thirdparty/lvgl/src/lv_font/lv_font.o + .debug_ranges 0x00002dc0 0x2f8 thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o + .debug_ranges 0x000030b8 0xa8 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + .debug_ranges 0x00003160 0x30 thirdparty/lvgl/src/lv_hal/lv_hal_indev.o + .debug_ranges 0x00003190 0x20 thirdparty/lvgl/src/lv_hal/lv_hal_tick.o + .debug_ranges 0x000031b0 0x108 thirdparty/lvgl/src/lv_misc/lv_anim.o + .debug_ranges 0x000032b8 0x98 thirdparty/lvgl/src/lv_misc/lv_area.o + .debug_ranges 0x00003350 0x58 thirdparty/lvgl/src/lv_misc/lv_color.o + .debug_ranges 0x000033a8 0xc8 thirdparty/lvgl/src/lv_misc/lv_fs.o + .debug_ranges 0x00003470 0x10 thirdparty/lvgl/src/lv_misc/lv_gc.o + .debug_ranges 0x00003480 0xd0 thirdparty/lvgl/src/lv_misc/lv_ll.o + .debug_ranges 0x00003550 0x18 thirdparty/lvgl/src/lv_misc/lv_log.o + .debug_ranges 0x00003568 0x30 thirdparty/lvgl/src/lv_misc/lv_math.o + .debug_ranges 0x00003598 0xd0 thirdparty/lvgl/src/lv_misc/lv_mem.o + .debug_ranges 0x00003668 0x118 thirdparty/lvgl/src/lv_misc/lv_printf.o + .debug_ranges 0x00003780 0xa8 thirdparty/lvgl/src/lv_misc/lv_task.o + .debug_ranges 0x00003828 0x138 thirdparty/lvgl/src/lv_misc/lv_txt.o + .debug_ranges 0x00003960 0x30 thirdparty/lvgl/src/lv_misc/lv_utils.o + .debug_ranges 0x00003990 0x58 thirdparty/lvgl/src/lv_themes/lv_theme.o + .debug_ranges 0x000039e8 0x1b0 thirdparty/lvgl/src/lv_themes/lv_theme_material.o + .debug_ranges 0x00003b98 0x140 thirdparty/lvgl/src/lv_widgets/lv_img.o + .debug_ranges 0x00003cd8 0x240 thirdparty/lvgl/src/lv_widgets/lv_label.o -.debug_macro 0x00000000 0x3fcb4 +.debug_macro 0x00000000 0x3f994 .debug_macro 0x00000000 0xf8b devices/display/p_ssd1963.o .debug_macro 0x00000f8b 0x8b6 devices/display/p_ssd1963.o .debug_macro 0x00001841 0x16d devices/display/p_ssd1963.o @@ -27671,353 +27683,353 @@ OUTPUT(e54_gfx_learning.elf elf32-littlearm) .debug_macro 0x0002d0fc 0x9c2 drivers/p_usart.o .debug_macro 0x0002dabe 0x686 hal/src/hal_atomic.o .debug_macro 0x0002e144 0x6bd hal/src/hal_delay.o - .debug_macro 0x0002e801 0x6c6 hal/src/hal_i2c_m_sync.o - .debug_macro 0x0002eec7 0x6a hal/src/hal_i2c_m_sync.o - .debug_macro 0x0002ef31 0x69b hal/src/hal_io.o - .debug_macro 0x0002f5cc 0x6d2 hal/src/hal_timer.o - .debug_macro 0x0002fc9e 0x6ea hal/src/hal_usart_async.o - .debug_macro 0x00030388 0x690 hal/utils/src/utils_assert.o - .debug_macro 0x00030a18 0x10 hal/utils/src/utils_assert.o - .debug_macro 0x00030a28 0x695 hal/utils/src/utils_list.o - .debug_macro 0x000310bd 0x695 hal/utils/src/utils_ringbuffer.o - .debug_macro 0x00031752 0x6c5 hpl/core/hpl_core_m4.o - .debug_macro 0x00031e17 0x729 hpl/core/hpl_init.o - .debug_macro 0x00032540 0x2e hpl/core/hpl_init.o - .debug_macro 0x0003256e 0xd7b hpl/core/hpl_init.o - .debug_macro 0x000332e9 0x69f hpl/gclk/hpl_gclk.o - .debug_macro 0x00033988 0x2f0 hpl/gclk/hpl_gclk.o - .debug_macro 0x00033c78 0x69a hpl/mclk/hpl_mclk.o - .debug_macro 0x00034312 0x695 hpl/osc32kctrl/hpl_osc32kctrl.o - .debug_macro 0x000349a7 0x80 hpl/osc32kctrl/hpl_osc32kctrl.o - .debug_macro 0x00034a27 0x69f hpl/oscctrl/hpl_oscctrl.o - .debug_macro 0x000350c6 0x216 hpl/oscctrl/hpl_oscctrl.o - .debug_macro 0x000352dc 0x6b0 hpl/ramecc/hpl_ramecc.o - .debug_macro 0x0003598c 0x8e2 hpl/sercom/hpl_sercom.o - .debug_macro 0x0003626e 0x14d hpl/sercom/hpl_sercom.o - .debug_macro 0x000363bb 0x10 hpl/sercom/hpl_sercom.o - .debug_macro 0x000363cb 0x1c hpl/sercom/hpl_sercom.o - .debug_macro 0x000363e7 0x22 hpl/sercom/hpl_sercom.o - .debug_macro 0x00036409 0x10 hpl/sercom/hpl_sercom.o - .debug_macro 0x00036419 0x70d hpl/tc/hpl_tc.o - .debug_macro 0x00036b26 0x10 hpl/tc/hpl_tc.o - .debug_macro 0x00036b36 0x83 hpl/tc/hpl_tc.o - .debug_macro 0x00036bb9 0x9b3 main.o - .debug_macro 0x0003756c 0xf72 oracle.o - .debug_macro 0x000384de 0x29c oracle.o - .debug_macro 0x0003877a 0x322 thirdparty/lvgl/src/lv_core/lv_debug.o - .debug_macro 0x00038a9c 0x52 thirdparty/lvgl/src/lv_core/lv_debug.o - .debug_macro 0x00038aee 0x62 thirdparty/lvgl/src/lv_core/lv_debug.o - .debug_macro 0x00038b50 0x318 thirdparty/lvgl/src/lv_core/lv_disp.o - .debug_macro 0x00038e68 0x19 thirdparty/lvgl/src/lv_core/lv_disp.o - .debug_macro 0x00038e81 0x399 thirdparty/lvgl/src/lv_core/lv_group.o - .debug_macro 0x0003921a 0x5c thirdparty/lvgl/src/lv_core/lv_group.o - .debug_macro 0x00039276 0x22 thirdparty/lvgl/src/lv_core/lv_group.o - .debug_macro 0x00039298 0x347 thirdparty/lvgl/src/lv_core/lv_indev.o - .debug_macro 0x000395df 0x415 thirdparty/lvgl/src/lv_core/lv_obj.o - .debug_macro 0x000399f4 0x3b1 thirdparty/lvgl/src/lv_core/lv_refr.o - .debug_macro 0x00039da5 0x348 thirdparty/lvgl/src/lv_core/lv_style.o - .debug_macro 0x0003a0ed 0x35b thirdparty/lvgl/src/lv_draw/lv_draw_blend.o - .debug_macro 0x0003a448 0x16 thirdparty/lvgl/src/lv_draw/lv_draw_blend.o - .debug_macro 0x0003a45e 0x355 thirdparty/lvgl/src/lv_draw/lv_draw_img.o - .debug_macro 0x0003a7b3 0x52 thirdparty/lvgl/src/lv_draw/lv_draw_img.o - .debug_macro 0x0003a805 0x342 thirdparty/lvgl/src/lv_draw/lv_draw_label.o - .debug_macro 0x0003ab47 0x3ea thirdparty/lvgl/src/lv_draw/lv_draw_line.o - .debug_macro 0x0003af31 0x10 thirdparty/lvgl/src/lv_draw/lv_draw_line.o - .debug_macro 0x0003af41 0x35f thirdparty/lvgl/src/lv_draw/lv_draw_mask.o - .debug_macro 0x0003b2a0 0x34c thirdparty/lvgl/src/lv_draw/lv_draw_rect.o - .debug_macro 0x0003b5ec 0x234 thirdparty/lvgl/src/lv_draw/lv_img_buf.o - .debug_macro 0x0003b820 0x367 thirdparty/lvgl/src/lv_draw/lv_img_cache.o - .debug_macro 0x0003bb87 0x369 thirdparty/lvgl/src/lv_draw/lv_img_decoder.o - .debug_macro 0x0003bef0 0x19e thirdparty/lvgl/src/lv_font/lv_font.o - .debug_macro 0x0003c08e 0x38e thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o - .debug_macro 0x0003c41c 0x63b thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.o - .debug_macro 0x0003ca57 0x3ba thirdparty/lvgl/src/lv_hal/lv_hal_disp.o - .debug_macro 0x0003ce11 0x371 thirdparty/lvgl/src/lv_hal/lv_hal_indev.o - .debug_macro 0x0003d182 0x92 thirdparty/lvgl/src/lv_hal/lv_hal_tick.o - .debug_macro 0x0003d214 0x36b thirdparty/lvgl/src/lv_misc/lv_anim.o - .debug_macro 0x0003d57f 0x175 thirdparty/lvgl/src/lv_misc/lv_area.o - .debug_macro 0x0003d6f4 0x8e thirdparty/lvgl/src/lv_misc/lv_color.o - .debug_macro 0x0003d782 0x34d thirdparty/lvgl/src/lv_misc/lv_fs.o - .debug_macro 0x0003dacf 0x267 thirdparty/lvgl/src/lv_misc/lv_gc.o - .debug_macro 0x0003dd36 0x10 thirdparty/lvgl/src/lv_misc/lv_gc.o - .debug_macro 0x0003dd46 0x182 thirdparty/lvgl/src/lv_misc/lv_ll.o - .debug_macro 0x0003dec8 0x154 thirdparty/lvgl/src/lv_misc/lv_log.o - .debug_macro 0x0003e01c 0x174 thirdparty/lvgl/src/lv_misc/lv_math.o - .debug_macro 0x0003e190 0x64 thirdparty/lvgl/src/lv_misc/lv_math.o - .debug_macro 0x0003e1f4 0x10e thirdparty/lvgl/src/lv_misc/lv_math.o - .debug_macro 0x0003e302 0x86 thirdparty/lvgl/src/lv_misc/lv_math.o - .debug_macro 0x0003e388 0x29b thirdparty/lvgl/src/lv_misc/lv_mem.o - .debug_macro 0x0003e623 0x113 thirdparty/lvgl/src/lv_misc/lv_printf.o - .debug_macro 0x0003e736 0x35b thirdparty/lvgl/src/lv_misc/lv_task.o - .debug_macro 0x0003ea91 0x1ae thirdparty/lvgl/src/lv_misc/lv_txt.o - .debug_macro 0x0003ec3f 0x1d3 thirdparty/lvgl/src/lv_misc/lv_utils.o - .debug_macro 0x0003ee12 0x34b thirdparty/lvgl/src/lv_themes/lv_theme.o - .debug_macro 0x0003f15d 0x737 thirdparty/lvgl/src/lv_themes/lv_theme_material.o - .debug_macro 0x0003f894 0x420 thirdparty/lvgl/src/lv_widgets/lv_label.o + .debug_macro 0x0002e801 0x69b hal/src/hal_io.o + .debug_macro 0x0002ee9c 0x6d2 hal/src/hal_timer.o + .debug_macro 0x0002f56e 0x6ea hal/src/hal_usart_async.o + .debug_macro 0x0002fc58 0x690 hal/utils/src/utils_assert.o + .debug_macro 0x000302e8 0x10 hal/utils/src/utils_assert.o + .debug_macro 0x000302f8 0x695 hal/utils/src/utils_list.o + .debug_macro 0x0003098d 0x695 hal/utils/src/utils_ringbuffer.o + .debug_macro 0x00031022 0x6c5 hpl/core/hpl_core_m4.o + .debug_macro 0x000316e7 0x729 hpl/core/hpl_init.o + .debug_macro 0x00031e10 0x2e hpl/core/hpl_init.o + .debug_macro 0x00031e3e 0xd7b hpl/core/hpl_init.o + .debug_macro 0x00032bb9 0x69f hpl/gclk/hpl_gclk.o + .debug_macro 0x00033258 0x2f0 hpl/gclk/hpl_gclk.o + .debug_macro 0x00033548 0x69a hpl/mclk/hpl_mclk.o + .debug_macro 0x00033be2 0x695 hpl/osc32kctrl/hpl_osc32kctrl.o + .debug_macro 0x00034277 0x80 hpl/osc32kctrl/hpl_osc32kctrl.o + .debug_macro 0x000342f7 0x69f hpl/oscctrl/hpl_oscctrl.o + .debug_macro 0x00034996 0x216 hpl/oscctrl/hpl_oscctrl.o + .debug_macro 0x00034bac 0x6b0 hpl/ramecc/hpl_ramecc.o + .debug_macro 0x0003525c 0x8e2 hpl/sercom/hpl_sercom.o + .debug_macro 0x00035b3e 0x14d hpl/sercom/hpl_sercom.o + .debug_macro 0x00035c8b 0x10 hpl/sercom/hpl_sercom.o + .debug_macro 0x00035c9b 0x1c hpl/sercom/hpl_sercom.o + .debug_macro 0x00035cb7 0x22 hpl/sercom/hpl_sercom.o + .debug_macro 0x00035cd9 0x10 hpl/sercom/hpl_sercom.o + .debug_macro 0x00035ce9 0x70d hpl/tc/hpl_tc.o + .debug_macro 0x000363f6 0x10 hpl/tc/hpl_tc.o + .debug_macro 0x00036406 0x83 hpl/tc/hpl_tc.o + .debug_macro 0x00036489 0x9b3 main.o + .debug_macro 0x00036e3c 0xf7b oracle.o + .debug_macro 0x00037db7 0x29c oracle.o + .debug_macro 0x00038053 0x10 oracle.o + .debug_macro 0x00038063 0x322 thirdparty/lvgl/src/lv_core/lv_debug.o + .debug_macro 0x00038385 0x52 thirdparty/lvgl/src/lv_core/lv_debug.o + .debug_macro 0x000383d7 0x62 thirdparty/lvgl/src/lv_core/lv_debug.o + .debug_macro 0x00038439 0x318 thirdparty/lvgl/src/lv_core/lv_disp.o + .debug_macro 0x00038751 0x19 thirdparty/lvgl/src/lv_core/lv_disp.o + .debug_macro 0x0003876a 0x399 thirdparty/lvgl/src/lv_core/lv_group.o + .debug_macro 0x00038b03 0x5c thirdparty/lvgl/src/lv_core/lv_group.o + .debug_macro 0x00038b5f 0x22 thirdparty/lvgl/src/lv_core/lv_group.o + .debug_macro 0x00038b81 0x347 thirdparty/lvgl/src/lv_core/lv_indev.o + .debug_macro 0x00038ec8 0x415 thirdparty/lvgl/src/lv_core/lv_obj.o + .debug_macro 0x000392dd 0x3b1 thirdparty/lvgl/src/lv_core/lv_refr.o + .debug_macro 0x0003968e 0x348 thirdparty/lvgl/src/lv_core/lv_style.o + .debug_macro 0x000399d6 0x35b thirdparty/lvgl/src/lv_draw/lv_draw_blend.o + .debug_macro 0x00039d31 0x16 thirdparty/lvgl/src/lv_draw/lv_draw_blend.o + .debug_macro 0x00039d47 0x355 thirdparty/lvgl/src/lv_draw/lv_draw_img.o + .debug_macro 0x0003a09c 0x52 thirdparty/lvgl/src/lv_draw/lv_draw_img.o + .debug_macro 0x0003a0ee 0x342 thirdparty/lvgl/src/lv_draw/lv_draw_label.o + .debug_macro 0x0003a430 0x3ea thirdparty/lvgl/src/lv_draw/lv_draw_line.o + .debug_macro 0x0003a81a 0x10 thirdparty/lvgl/src/lv_draw/lv_draw_line.o + .debug_macro 0x0003a82a 0x35f thirdparty/lvgl/src/lv_draw/lv_draw_mask.o + .debug_macro 0x0003ab89 0x34c thirdparty/lvgl/src/lv_draw/lv_draw_rect.o + .debug_macro 0x0003aed5 0x234 thirdparty/lvgl/src/lv_draw/lv_img_buf.o + .debug_macro 0x0003b109 0x367 thirdparty/lvgl/src/lv_draw/lv_img_cache.o + .debug_macro 0x0003b470 0x369 thirdparty/lvgl/src/lv_draw/lv_img_decoder.o + .debug_macro 0x0003b7d9 0x19e thirdparty/lvgl/src/lv_font/lv_font.o + .debug_macro 0x0003b977 0x38e thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o + .debug_macro 0x0003bd05 0x63b thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.o + .debug_macro 0x0003c340 0x3ba thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + .debug_macro 0x0003c6fa 0x371 thirdparty/lvgl/src/lv_hal/lv_hal_indev.o + .debug_macro 0x0003ca6b 0x92 thirdparty/lvgl/src/lv_hal/lv_hal_tick.o + .debug_macro 0x0003cafd 0x36b thirdparty/lvgl/src/lv_misc/lv_anim.o + .debug_macro 0x0003ce68 0x175 thirdparty/lvgl/src/lv_misc/lv_area.o + .debug_macro 0x0003cfdd 0x8e thirdparty/lvgl/src/lv_misc/lv_color.o + .debug_macro 0x0003d06b 0x34d thirdparty/lvgl/src/lv_misc/lv_fs.o + .debug_macro 0x0003d3b8 0x267 thirdparty/lvgl/src/lv_misc/lv_gc.o + .debug_macro 0x0003d61f 0x10 thirdparty/lvgl/src/lv_misc/lv_gc.o + .debug_macro 0x0003d62f 0x182 thirdparty/lvgl/src/lv_misc/lv_ll.o + .debug_macro 0x0003d7b1 0x154 thirdparty/lvgl/src/lv_misc/lv_log.o + .debug_macro 0x0003d905 0x174 thirdparty/lvgl/src/lv_misc/lv_math.o + .debug_macro 0x0003da79 0x64 thirdparty/lvgl/src/lv_misc/lv_math.o + .debug_macro 0x0003dadd 0x10e thirdparty/lvgl/src/lv_misc/lv_math.o + .debug_macro 0x0003dbeb 0x86 thirdparty/lvgl/src/lv_misc/lv_math.o + .debug_macro 0x0003dc71 0x29b thirdparty/lvgl/src/lv_misc/lv_mem.o + .debug_macro 0x0003df0c 0x113 thirdparty/lvgl/src/lv_misc/lv_printf.o + .debug_macro 0x0003e01f 0x35b thirdparty/lvgl/src/lv_misc/lv_task.o + .debug_macro 0x0003e37a 0x1ae thirdparty/lvgl/src/lv_misc/lv_txt.o + .debug_macro 0x0003e528 0x1d3 thirdparty/lvgl/src/lv_misc/lv_utils.o + .debug_macro 0x0003e6fb 0x34b thirdparty/lvgl/src/lv_themes/lv_theme.o + .debug_macro 0x0003ea46 0x737 thirdparty/lvgl/src/lv_themes/lv_theme_material.o + .debug_macro 0x0003f17d 0x3f7 thirdparty/lvgl/src/lv_widgets/lv_img.o + .debug_macro 0x0003f574 0x420 thirdparty/lvgl/src/lv_widgets/lv_label.o -.debug_line 0x00000000 0x3a73b - .debug_line 0x00000000 0x27d2 devices/display/p_ssd1963.o - .debug_line 0x000027d2 0x89d Device_Startup/startup_same54.o - .debug_line 0x0000306f 0x112e drivers/p_gpio.o - .debug_line 0x0000419d 0xf54 drivers/p_i2c.o - .debug_line 0x000050f1 0x1de6 drivers/p_tcc.o - .debug_line 0x00006ed7 0xf7a drivers/p_usart.o - .debug_line 0x00007e51 0xbe9 hal/src/hal_atomic.o - .debug_line 0x00008a3a 0xc1d hal/src/hal_delay.o - .debug_line 0x00009657 0xd0c hal/src/hal_i2c_m_sync.o - .debug_line 0x0000a363 0xc09 hal/src/hal_io.o - .debug_line 0x0000af6c 0xd96 hal/src/hal_timer.o - .debug_line 0x0000bd02 0xed3 hal/src/hal_usart_async.o - .debug_line 0x0000cbd5 0xbbe hal/utils/src/utils_assert.o - .debug_line 0x0000d793 0xc51 hal/utils/src/utils_list.o - .debug_line 0x0000e3e4 0xc5d hal/utils/src/utils_ringbuffer.o - .debug_line 0x0000f041 0xd39 hpl/core/hpl_core_m4.o - .debug_line 0x0000fd7a 0xccc hpl/core/hpl_init.o - .debug_line 0x00010a46 0xc0b hpl/gclk/hpl_gclk.o - .debug_line 0x00011651 0xbe1 hpl/mclk/hpl_mclk.o - .debug_line 0x00012232 0xc02 hpl/osc32kctrl/hpl_osc32kctrl.o - .debug_line 0x00012e34 0xc30 hpl/oscctrl/hpl_oscctrl.o - .debug_line 0x00013a64 0xc84 hpl/ramecc/hpl_ramecc.o - .debug_line 0x000146e8 0x2bbc hpl/sercom/hpl_sercom.o - .debug_line 0x000172a4 0xef8 hpl/tc/hpl_tc.o - .debug_line 0x0001819c 0xf0f main.o - .debug_line 0x000190ab 0x1e2b oracle.o - .debug_line 0x0001aed6 0xa6b thirdparty/lvgl/src/lv_core/lv_debug.o - .debug_line 0x0001b941 0xa0a thirdparty/lvgl/src/lv_core/lv_disp.o - .debug_line 0x0001c34b 0xe01 thirdparty/lvgl/src/lv_core/lv_group.o - .debug_line 0x0001d14c 0xf68 thirdparty/lvgl/src/lv_core/lv_indev.o - .debug_line 0x0001e0b4 0x24bc thirdparty/lvgl/src/lv_core/lv_obj.o - .debug_line 0x00020570 0xd05 thirdparty/lvgl/src/lv_core/lv_refr.o - .debug_line 0x00021275 0x10cf thirdparty/lvgl/src/lv_core/lv_style.o - .debug_line 0x00022344 0xf5f thirdparty/lvgl/src/lv_draw/lv_draw_blend.o - .debug_line 0x000232a3 0xebd thirdparty/lvgl/src/lv_draw/lv_draw_img.o - .debug_line 0x00024160 0xdbe thirdparty/lvgl/src/lv_draw/lv_draw_label.o - .debug_line 0x00024f1e 0xc89 thirdparty/lvgl/src/lv_draw/lv_draw_line.o - .debug_line 0x00025ba7 0x12d3 thirdparty/lvgl/src/lv_draw/lv_draw_mask.o - .debug_line 0x00026e7a 0x125f thirdparty/lvgl/src/lv_draw/lv_draw_rect.o - .debug_line 0x000280d9 0x9df thirdparty/lvgl/src/lv_draw/lv_img_buf.o - .debug_line 0x00028ab8 0xc34 thirdparty/lvgl/src/lv_draw/lv_img_cache.o - .debug_line 0x000296ec 0xebb thirdparty/lvgl/src/lv_draw/lv_img_decoder.o - .debug_line 0x0002a5a7 0x443 thirdparty/lvgl/src/lv_font/lv_font.o - .debug_line 0x0002a9ea 0xfc7 thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o - .debug_line 0x0002b9b1 0x1456 thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.o - .debug_line 0x0002ce07 0xfc5 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o - .debug_line 0x0002ddcc 0xc1a thirdparty/lvgl/src/lv_hal/lv_hal_indev.o - .debug_line 0x0002e9e6 0x301 thirdparty/lvgl/src/lv_hal/lv_hal_tick.o - .debug_line 0x0002ece7 0xd87 thirdparty/lvgl/src/lv_misc/lv_anim.o - .debug_line 0x0002fa6e 0x6bc thirdparty/lvgl/src/lv_misc/lv_area.o - .debug_line 0x0003012a 0x3d1 thirdparty/lvgl/src/lv_misc/lv_color.o - .debug_line 0x000304fb 0xe4a thirdparty/lvgl/src/lv_misc/lv_fs.o - .debug_line 0x00031345 0x80e thirdparty/lvgl/src/lv_misc/lv_gc.o - .debug_line 0x00031b53 0x576 thirdparty/lvgl/src/lv_misc/lv_ll.o - .debug_line 0x000320c9 0x38d thirdparty/lvgl/src/lv_misc/lv_log.o - .debug_line 0x00032456 0x414 thirdparty/lvgl/src/lv_misc/lv_math.o - .debug_line 0x0003286a 0xb43 thirdparty/lvgl/src/lv_misc/lv_mem.o - .debug_line 0x000333ad 0x579 thirdparty/lvgl/src/lv_misc/lv_printf.o - .debug_line 0x00033926 0xccc thirdparty/lvgl/src/lv_misc/lv_task.o - .debug_line 0x000345f2 0x711 thirdparty/lvgl/src/lv_misc/lv_txt.o - .debug_line 0x00034d03 0x4d5 thirdparty/lvgl/src/lv_misc/lv_utils.o - .debug_line 0x000351d8 0xb93 thirdparty/lvgl/src/lv_themes/lv_theme.o - .debug_line 0x00035d6b 0x31b7 thirdparty/lvgl/src/lv_themes/lv_theme_material.o - .debug_line 0x00038f22 0x1819 thirdparty/lvgl/src/lv_widgets/lv_label.o +.debug_line 0x00000000 0x3ad4e + .debug_line 0x00000000 0x27d8 devices/display/p_ssd1963.o + .debug_line 0x000027d8 0x89d Device_Startup/startup_same54.o + .debug_line 0x00003075 0x1100 drivers/p_gpio.o + .debug_line 0x00004175 0xf1c drivers/p_i2c.o + .debug_line 0x00005091 0x1de6 drivers/p_tcc.o + .debug_line 0x00006e77 0xf7a drivers/p_usart.o + .debug_line 0x00007df1 0xbe9 hal/src/hal_atomic.o + .debug_line 0x000089da 0xc1d hal/src/hal_delay.o + .debug_line 0x000095f7 0xc09 hal/src/hal_io.o + .debug_line 0x0000a200 0xd96 hal/src/hal_timer.o + .debug_line 0x0000af96 0xed3 hal/src/hal_usart_async.o + .debug_line 0x0000be69 0xbbe hal/utils/src/utils_assert.o + .debug_line 0x0000ca27 0xc51 hal/utils/src/utils_list.o + .debug_line 0x0000d678 0xc5d hal/utils/src/utils_ringbuffer.o + .debug_line 0x0000e2d5 0xd39 hpl/core/hpl_core_m4.o + .debug_line 0x0000f00e 0xccc hpl/core/hpl_init.o + .debug_line 0x0000fcda 0xc0b hpl/gclk/hpl_gclk.o + .debug_line 0x000108e5 0xbe1 hpl/mclk/hpl_mclk.o + .debug_line 0x000114c6 0xc02 hpl/osc32kctrl/hpl_osc32kctrl.o + .debug_line 0x000120c8 0xc30 hpl/oscctrl/hpl_oscctrl.o + .debug_line 0x00012cf8 0xc84 hpl/ramecc/hpl_ramecc.o + .debug_line 0x0001397c 0x2bbc hpl/sercom/hpl_sercom.o + .debug_line 0x00016538 0xef8 hpl/tc/hpl_tc.o + .debug_line 0x00017430 0xf0f main.o + .debug_line 0x0001833f 0x1e3a oracle.o + .debug_line 0x0001a179 0xa6b thirdparty/lvgl/src/lv_core/lv_debug.o + .debug_line 0x0001abe4 0xa0a thirdparty/lvgl/src/lv_core/lv_disp.o + .debug_line 0x0001b5ee 0xe01 thirdparty/lvgl/src/lv_core/lv_group.o + .debug_line 0x0001c3ef 0xf68 thirdparty/lvgl/src/lv_core/lv_indev.o + .debug_line 0x0001d357 0x24bc thirdparty/lvgl/src/lv_core/lv_obj.o + .debug_line 0x0001f813 0xd05 thirdparty/lvgl/src/lv_core/lv_refr.o + .debug_line 0x00020518 0x10cf thirdparty/lvgl/src/lv_core/lv_style.o + .debug_line 0x000215e7 0xf5f thirdparty/lvgl/src/lv_draw/lv_draw_blend.o + .debug_line 0x00022546 0xebd thirdparty/lvgl/src/lv_draw/lv_draw_img.o + .debug_line 0x00023403 0xdbe thirdparty/lvgl/src/lv_draw/lv_draw_label.o + .debug_line 0x000241c1 0xc89 thirdparty/lvgl/src/lv_draw/lv_draw_line.o + .debug_line 0x00024e4a 0x12d3 thirdparty/lvgl/src/lv_draw/lv_draw_mask.o + .debug_line 0x0002611d 0x125f thirdparty/lvgl/src/lv_draw/lv_draw_rect.o + .debug_line 0x0002737c 0x9df thirdparty/lvgl/src/lv_draw/lv_img_buf.o + .debug_line 0x00027d5b 0xc34 thirdparty/lvgl/src/lv_draw/lv_img_cache.o + .debug_line 0x0002898f 0xebb thirdparty/lvgl/src/lv_draw/lv_img_decoder.o + .debug_line 0x0002984a 0x443 thirdparty/lvgl/src/lv_font/lv_font.o + .debug_line 0x00029c8d 0xfc7 thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o + .debug_line 0x0002ac54 0x1456 thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.o + .debug_line 0x0002c0aa 0xfc5 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + .debug_line 0x0002d06f 0xc1a thirdparty/lvgl/src/lv_hal/lv_hal_indev.o + .debug_line 0x0002dc89 0x301 thirdparty/lvgl/src/lv_hal/lv_hal_tick.o + .debug_line 0x0002df8a 0xd87 thirdparty/lvgl/src/lv_misc/lv_anim.o + .debug_line 0x0002ed11 0x6bc thirdparty/lvgl/src/lv_misc/lv_area.o + .debug_line 0x0002f3cd 0x3d1 thirdparty/lvgl/src/lv_misc/lv_color.o + .debug_line 0x0002f79e 0xe4a thirdparty/lvgl/src/lv_misc/lv_fs.o + .debug_line 0x000305e8 0x80e thirdparty/lvgl/src/lv_misc/lv_gc.o + .debug_line 0x00030df6 0x576 thirdparty/lvgl/src/lv_misc/lv_ll.o + .debug_line 0x0003136c 0x38d thirdparty/lvgl/src/lv_misc/lv_log.o + .debug_line 0x000316f9 0x414 thirdparty/lvgl/src/lv_misc/lv_math.o + .debug_line 0x00031b0d 0xb43 thirdparty/lvgl/src/lv_misc/lv_mem.o + .debug_line 0x00032650 0x579 thirdparty/lvgl/src/lv_misc/lv_printf.o + .debug_line 0x00032bc9 0xccc thirdparty/lvgl/src/lv_misc/lv_task.o + .debug_line 0x00033895 0x711 thirdparty/lvgl/src/lv_misc/lv_txt.o + .debug_line 0x00033fa6 0x4d5 thirdparty/lvgl/src/lv_misc/lv_utils.o + .debug_line 0x0003447b 0xb93 thirdparty/lvgl/src/lv_themes/lv_theme.o + .debug_line 0x0003500e 0x31b7 thirdparty/lvgl/src/lv_themes/lv_theme_material.o + .debug_line 0x000381c5 0x1370 thirdparty/lvgl/src/lv_widgets/lv_img.o + .debug_line 0x00039535 0x1819 thirdparty/lvgl/src/lv_widgets/lv_label.o -.debug_str 0x00000000 0x12adf3 +.debug_str 0x00000000 0x12b007 .debug_str 0x00000000 0x1122e8 devices/display/p_ssd1963.o 0x112a12 (size before relaxing) .debug_str 0x001122e8 0xbf6 Device_Startup/startup_same54.o 0xf0d82 (size before relaxing) - .debug_str 0x00112ede 0x242 drivers/p_gpio.o - 0x10d1db (size before relaxing) - .debug_str 0x00113120 0xc12 drivers/p_i2c.o - 0x10dc6e (size before relaxing) - .debug_str 0x00113d32 0x49c drivers/p_tcc.o + .debug_str 0x00112ede 0x243 drivers/p_gpio.o + 0x10d1f4 (size before relaxing) + .debug_str 0x00113121 0x99 drivers/p_i2c.o + 0x10cc7c (size before relaxing) + .debug_str 0x001131ba 0x8c1 drivers/p_tcc.o 0x1122ce (size before relaxing) - .debug_str 0x001141ce 0x191 drivers/p_usart.o + .debug_str 0x00113a7b 0x8c3 drivers/p_usart.o 0x10dc84 (size before relaxing) - .debug_str 0x0011435f 0xb7 hal/src/hal_atomic.o + .debug_str 0x0011433e 0xb7 hal/src/hal_atomic.o 0x106735 (size before relaxing) - .debug_str 0x00114416 0x89 hal/src/hal_delay.o + .debug_str 0x001143f5 0x89 hal/src/hal_delay.o 0x10679f (size before relaxing) - .debug_str 0x0011449f 0x15f hal/src/hal_i2c_m_sync.o - 0x107026 (size before relaxing) - .debug_str 0x001145fe 0x34 hal/src/hal_io.o + .debug_str 0x0011447e 0x34 hal/src/hal_io.o 0x1067d0 (size before relaxing) - .debug_str 0x00114632 0x25e hal/src/hal_timer.o + .debug_str 0x001144b2 0x25e hal/src/hal_timer.o 0x107062 (size before relaxing) - .debug_str 0x00114890 0x668 hal/src/hal_usart_async.o + .debug_str 0x00114710 0x674 hal/src/hal_usart_async.o 0x10761a (size before relaxing) - .debug_str 0x00114ef8 0x2a hal/utils/src/utils_assert.o + .debug_str 0x00114d84 0x2a hal/utils/src/utils_assert.o 0x106745 (size before relaxing) - .debug_str 0x00114f22 0x31 hal/utils/src/utils_list.o + .debug_str 0x00114dae 0x31 hal/utils/src/utils_list.o 0x1067ef (size before relaxing) - .debug_str 0x00114f53 0x24 hal/utils/src/utils_ringbuffer.o + .debug_str 0x00114ddf 0x24 hal/utils/src/utils_ringbuffer.o 0x1067d9 (size before relaxing) - .debug_str 0x00114f77 0x892 hpl/core/hpl_core_m4.o + .debug_str 0x00114e03 0x892 hpl/core/hpl_core_m4.o 0x10780c (size before relaxing) - .debug_str 0x00115809 0x310e hpl/core/hpl_init.o + .debug_str 0x00115695 0x310e hpl/core/hpl_init.o 0x10ab6d (size before relaxing) - .debug_str 0x00118917 0xbf4 hpl/gclk/hpl_gclk.o + .debug_str 0x001187a3 0xbf4 hpl/gclk/hpl_gclk.o 0x107470 (size before relaxing) - .debug_str 0x0011950b 0x47 hpl/mclk/hpl_mclk.o + .debug_str 0x00119397 0x47 hpl/mclk/hpl_mclk.o 0x106d30 (size before relaxing) - .debug_str 0x00119552 0x50f hpl/osc32kctrl/hpl_osc32kctrl.o + .debug_str 0x001193de 0x50f hpl/osc32kctrl/hpl_osc32kctrl.o 0x106c55 (size before relaxing) - .debug_str 0x00119a61 0xb8d hpl/oscctrl/hpl_oscctrl.o + .debug_str 0x001198ed 0xb8d hpl/oscctrl/hpl_oscctrl.o 0x107e90 (size before relaxing) - .debug_str 0x0011a5ee 0x25d hpl/ramecc/hpl_ramecc.o + .debug_str 0x0011a47a 0x25d hpl/ramecc/hpl_ramecc.o 0x10767b (size before relaxing) - .debug_str 0x0011a84b 0x4aea hpl/sercom/hpl_sercom.o + .debug_str 0x0011a6d7 0x4b81 hpl/sercom/hpl_sercom.o 0x10d1bf (size before relaxing) - .debug_str 0x0011f335 0xa2d hpl/tc/hpl_tc.o + .debug_str 0x0011f258 0xa2d hpl/tc/hpl_tc.o 0x10859f (size before relaxing) - .debug_str 0x0011fd62 0x27 main.o + .debug_str 0x0011fc85 0x27 main.o 0x10cbaa (size before relaxing) - .debug_str 0x0011fd89 0x22e oracle.o - 0x112a2e (size before relaxing) - .debug_str 0x0011ffb7 0x667 thirdparty/lvgl/src/lv_core/lv_debug.o + .debug_str 0x0011fcac 0x577 oracle.o + 0x112db6 (size before relaxing) + .debug_str 0x00120223 0x667 thirdparty/lvgl/src/lv_core/lv_debug.o 0xac91 (size before relaxing) - .debug_str 0x0012061e 0x12a thirdparty/lvgl/src/lv_core/lv_disp.o + .debug_str 0x0012088a 0x12a thirdparty/lvgl/src/lv_core/lv_disp.o 0xa88d (size before relaxing) - .debug_str 0x00120748 0xca1 thirdparty/lvgl/src/lv_core/lv_group.o + .debug_str 0x001209b4 0xc85 thirdparty/lvgl/src/lv_core/lv_group.o 0xb720 (size before relaxing) - .debug_str 0x001213e9 0xa15 thirdparty/lvgl/src/lv_core/lv_indev.o + .debug_str 0x00121639 0xa15 thirdparty/lvgl/src/lv_core/lv_indev.o 0xb81c (size before relaxing) - .debug_str 0x00121dfe 0x2ee0 thirdparty/lvgl/src/lv_core/lv_obj.o + .debug_str 0x0012204e 0x2ecb thirdparty/lvgl/src/lv_core/lv_obj.o 0xf0d2 (size before relaxing) - .debug_str 0x00124cde 0x32f thirdparty/lvgl/src/lv_core/lv_refr.o + .debug_str 0x00124f19 0x32f thirdparty/lvgl/src/lv_core/lv_refr.o 0xb319 (size before relaxing) - .debug_str 0x0012500d 0x31a thirdparty/lvgl/src/lv_core/lv_style.o + .debug_str 0x00125248 0x31a thirdparty/lvgl/src/lv_core/lv_style.o 0xad71 (size before relaxing) - .debug_str 0x00125327 0x7a2 thirdparty/lvgl/src/lv_draw/lv_draw_blend.o + .debug_str 0x00125562 0x7a2 thirdparty/lvgl/src/lv_draw/lv_draw_blend.o 0xb01f (size before relaxing) - .debug_str 0x00125ac9 0x664 thirdparty/lvgl/src/lv_draw/lv_draw_img.o + .debug_str 0x00125d04 0x398 thirdparty/lvgl/src/lv_draw/lv_draw_img.o 0xb5a7 (size before relaxing) - .debug_str 0x0012612d 0x398 thirdparty/lvgl/src/lv_draw/lv_draw_label.o + .debug_str 0x0012609c 0x398 thirdparty/lvgl/src/lv_draw/lv_draw_label.o 0xb567 (size before relaxing) - .debug_str 0x001264c5 0x23e thirdparty/lvgl/src/lv_draw/lv_draw_line.o + .debug_str 0x00126434 0x23e thirdparty/lvgl/src/lv_draw/lv_draw_line.o 0xc07d (size before relaxing) - .debug_str 0x00126703 0x329 thirdparty/lvgl/src/lv_draw/lv_draw_mask.o + .debug_str 0x00126672 0x329 thirdparty/lvgl/src/lv_draw/lv_draw_mask.o 0xb2fd (size before relaxing) - .debug_str 0x00126a2c 0x2fa thirdparty/lvgl/src/lv_draw/lv_draw_rect.o + .debug_str 0x0012699b 0x2fa thirdparty/lvgl/src/lv_draw/lv_draw_rect.o 0xb74e (size before relaxing) - .debug_str 0x00126d26 0x108 thirdparty/lvgl/src/lv_draw/lv_img_buf.o + .debug_str 0x00126c95 0x108 thirdparty/lvgl/src/lv_draw/lv_img_buf.o 0x9d97 (size before relaxing) - .debug_str 0x00126e2e 0xdf thirdparty/lvgl/src/lv_draw/lv_img_cache.o + .debug_str 0x00126d9d 0xdf thirdparty/lvgl/src/lv_draw/lv_img_cache.o 0xae77 (size before relaxing) - .debug_str 0x00126f0d 0x49a thirdparty/lvgl/src/lv_draw/lv_img_decoder.o + .debug_str 0x00126e7c 0x49a thirdparty/lvgl/src/lv_draw/lv_img_decoder.o 0xb68b (size before relaxing) - .debug_str 0x001273a7 0x3d thirdparty/lvgl/src/lv_font/lv_font.o + .debug_str 0x00127316 0x3d thirdparty/lvgl/src/lv_font/lv_font.o 0x80f7 (size before relaxing) - .debug_str 0x001273e4 0x50b thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o + .debug_str 0x00127353 0x50b thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o 0xac81 (size before relaxing) - .debug_str 0x001278ef 0xe9 thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.o + .debug_str 0x0012785e 0xe9 thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.o 0xb60f (size before relaxing) - .debug_str 0x001279d8 0x158 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + .debug_str 0x00127947 0x158 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o 0xb774 (size before relaxing) - .debug_str 0x00127b30 0x6e thirdparty/lvgl/src/lv_hal/lv_hal_indev.o + .debug_str 0x00127a9f 0x6e thirdparty/lvgl/src/lv_hal/lv_hal_indev.o 0xb502 (size before relaxing) - .debug_str 0x00127b9e 0x50 thirdparty/lvgl/src/lv_hal/lv_hal_tick.o + .debug_str 0x00127b0d 0x50 thirdparty/lvgl/src/lv_hal/lv_hal_tick.o 0x4848 (size before relaxing) - .debug_str 0x00127bee 0x1d1 thirdparty/lvgl/src/lv_misc/lv_anim.o + .debug_str 0x00127b5d 0x1d1 thirdparty/lvgl/src/lv_misc/lv_anim.o 0xb022 (size before relaxing) - .debug_str 0x00127dbf 0xc3 thirdparty/lvgl/src/lv_misc/lv_area.o + .debug_str 0x00127d2e 0xc3 thirdparty/lvgl/src/lv_misc/lv_area.o 0x7edf (size before relaxing) - .debug_str 0x00127e82 0xcd thirdparty/lvgl/src/lv_misc/lv_color.o + .debug_str 0x00127df1 0xcd thirdparty/lvgl/src/lv_misc/lv_color.o 0x5489 (size before relaxing) - .debug_str 0x00127f4f 0x1a4 thirdparty/lvgl/src/lv_misc/lv_fs.o + .debug_str 0x00127ebe 0x1a4 thirdparty/lvgl/src/lv_misc/lv_fs.o 0xb0cb (size before relaxing) - .debug_str 0x001280f3 0x90 thirdparty/lvgl/src/lv_misc/lv_gc.o + .debug_str 0x00128062 0x90 thirdparty/lvgl/src/lv_misc/lv_gc.o 0x9e58 (size before relaxing) - .debug_str 0x00128183 0x18a thirdparty/lvgl/src/lv_misc/lv_ll.o + .debug_str 0x001280f2 0x18a thirdparty/lvgl/src/lv_misc/lv_ll.o 0x7a92 (size before relaxing) - .debug_str 0x0012830d 0x6d thirdparty/lvgl/src/lv_misc/lv_log.o + .debug_str 0x0012827c 0x6d thirdparty/lvgl/src/lv_misc/lv_log.o 0x7862 (size before relaxing) - .debug_str 0x0012837a 0x8a thirdparty/lvgl/src/lv_misc/lv_math.o + .debug_str 0x001282e9 0x8a thirdparty/lvgl/src/lv_misc/lv_math.o 0x79d8 (size before relaxing) - .debug_str 0x00128404 0x28f thirdparty/lvgl/src/lv_misc/lv_mem.o + .debug_str 0x00128373 0x28f thirdparty/lvgl/src/lv_misc/lv_mem.o 0xa185 (size before relaxing) - .debug_str 0x00128693 0x2e8 thirdparty/lvgl/src/lv_misc/lv_printf.o + .debug_str 0x00128602 0x2e8 thirdparty/lvgl/src/lv_misc/lv_printf.o 0x4c45 (size before relaxing) - .debug_str 0x0012897b 0x1da thirdparty/lvgl/src/lv_misc/lv_task.o + .debug_str 0x001288ea 0x1da thirdparty/lvgl/src/lv_misc/lv_task.o 0xaff1 (size before relaxing) - .debug_str 0x00128b55 0x290 thirdparty/lvgl/src/lv_misc/lv_txt.o + .debug_str 0x00128ac4 0x290 thirdparty/lvgl/src/lv_misc/lv_txt.o 0x8902 (size before relaxing) - .debug_str 0x00128de5 0x56 thirdparty/lvgl/src/lv_misc/lv_utils.o + .debug_str 0x00128d54 0x56 thirdparty/lvgl/src/lv_misc/lv_utils.o 0x868f (size before relaxing) - .debug_str 0x00128e3b 0xdd thirdparty/lvgl/src/lv_themes/lv_theme.o + .debug_str 0x00128daa 0xdd thirdparty/lvgl/src/lv_themes/lv_theme.o 0xa968 (size before relaxing) - .debug_str 0x00128f18 0x1953 thirdparty/lvgl/src/lv_themes/lv_theme_material.o + .debug_str 0x00128e87 0x1953 thirdparty/lvgl/src/lv_themes/lv_theme_material.o 0xe456 (size before relaxing) - .debug_str 0x0012a86b 0x588 thirdparty/lvgl/src/lv_widgets/lv_label.o + .debug_str 0x0012a7da 0x2ca thirdparty/lvgl/src/lv_widgets/lv_img.o + 0xcacd (size before relaxing) + .debug_str 0x0012aaa4 0x563 thirdparty/lvgl/src/lv_widgets/lv_label.o 0xc90e (size before relaxing) -.debug_frame 0x00000000 0x6374 +.debug_frame 0x00000000 0x64d4 .debug_frame 0x00000000 0x54 devices/display/p_ssd1963.o .debug_frame 0x00000054 0x38 Device_Startup/startup_same54.o - .debug_frame 0x0000008c 0xcc drivers/p_gpio.o - .debug_frame 0x00000158 0x28 drivers/p_i2c.o - .debug_frame 0x00000180 0x58 drivers/p_tcc.o - .debug_frame 0x000001d8 0x64 drivers/p_usart.o - .debug_frame 0x0000023c 0x40 hal/src/hal_atomic.o - .debug_frame 0x0000027c 0x68 hal/src/hal_delay.o - .debug_frame 0x000002e4 0x174 hal/src/hal_i2c_m_sync.o - .debug_frame 0x00000458 0x58 hal/src/hal_io.o - .debug_frame 0x000004b0 0x148 hal/src/hal_timer.o - .debug_frame 0x000005f8 0x2b0 hal/src/hal_usart_async.o - .debug_frame 0x000008a8 0x20 hal/utils/src/utils_assert.o - .debug_frame 0x000008c8 0x9c hal/utils/src/utils_list.o - .debug_frame 0x00000964 0x94 hal/utils/src/utils_ringbuffer.o - .debug_frame 0x000009f8 0xec hpl/core/hpl_core_m4.o - .debug_frame 0x00000ae4 0x28 hpl/core/hpl_init.o - .debug_frame 0x00000b0c 0x30 hpl/gclk/hpl_gclk.o - .debug_frame 0x00000b3c 0x20 hpl/mclk/hpl_mclk.o - .debug_frame 0x00000b5c 0x20 hpl/osc32kctrl/hpl_osc32kctrl.o - .debug_frame 0x00000b7c 0x30 hpl/oscctrl/hpl_oscctrl.o - .debug_frame 0x00000bac 0x4c hpl/ramecc/hpl_ramecc.o - .debug_frame 0x00000bf8 0xec4 hpl/sercom/hpl_sercom.o - .debug_frame 0x00001abc 0x10c hpl/tc/hpl_tc.o - .debug_frame 0x00001bc8 0x28 main.o - .debug_frame 0x00001bf0 0x48 oracle.o - .debug_frame 0x00001c38 0x120 thirdparty/lvgl/src/lv_core/lv_debug.o - .debug_frame 0x00001d58 0x10c thirdparty/lvgl/src/lv_core/lv_disp.o - .debug_frame 0x00001e64 0x284 thirdparty/lvgl/src/lv_core/lv_group.o - .debug_frame 0x000020e8 0x2a0 thirdparty/lvgl/src/lv_core/lv_indev.o - .debug_frame 0x00002388 0x1328 thirdparty/lvgl/src/lv_core/lv_obj.o - .debug_frame 0x000036b0 0x168 thirdparty/lvgl/src/lv_core/lv_refr.o - .debug_frame 0x00003818 0x528 thirdparty/lvgl/src/lv_core/lv_style.o - .debug_frame 0x00003d40 0xb0 thirdparty/lvgl/src/lv_draw/lv_draw_blend.o - .debug_frame 0x00003df0 0xf0 thirdparty/lvgl/src/lv_draw/lv_draw_img.o - .debug_frame 0x00003ee0 0x68 thirdparty/lvgl/src/lv_draw/lv_draw_label.o - .debug_frame 0x00003f48 0x5c thirdparty/lvgl/src/lv_draw/lv_draw_line.o - .debug_frame 0x00003fa4 0x234 thirdparty/lvgl/src/lv_draw/lv_draw_mask.o - .debug_frame 0x000041d8 0x9c thirdparty/lvgl/src/lv_draw/lv_draw_rect.o - .debug_frame 0x00004274 0x19c thirdparty/lvgl/src/lv_draw/lv_img_buf.o - .debug_frame 0x00004410 0x8c thirdparty/lvgl/src/lv_draw/lv_img_cache.o - .debug_frame 0x0000449c 0x1d0 thirdparty/lvgl/src/lv_draw/lv_img_decoder.o - .debug_frame 0x0000466c 0x60 thirdparty/lvgl/src/lv_font/lv_font.o - .debug_frame 0x000046cc 0xe8 thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o - .debug_frame 0x000047b4 0x1c0 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o - .debug_frame 0x00004974 0xa4 thirdparty/lvgl/src/lv_hal/lv_hal_indev.o - .debug_frame 0x00004a18 0x48 thirdparty/lvgl/src/lv_hal/lv_hal_tick.o - .debug_frame 0x00004a60 0x1fc thirdparty/lvgl/src/lv_misc/lv_anim.o - .debug_frame 0x00004c5c 0x154 thirdparty/lvgl/src/lv_misc/lv_area.o - .debug_frame 0x00004db0 0xcc thirdparty/lvgl/src/lv_misc/lv_color.o - .debug_frame 0x00004e7c 0x324 thirdparty/lvgl/src/lv_misc/lv_fs.o - .debug_frame 0x000051a0 0x28 thirdparty/lvgl/src/lv_misc/lv_gc.o - .debug_frame 0x000051c8 0x1e4 thirdparty/lvgl/src/lv_misc/lv_ll.o - .debug_frame 0x000053ac 0x48 thirdparty/lvgl/src/lv_misc/lv_log.o - .debug_frame 0x000053f4 0x88 thirdparty/lvgl/src/lv_misc/lv_math.o - .debug_frame 0x0000547c 0x244 thirdparty/lvgl/src/lv_misc/lv_mem.o - .debug_frame 0x000056c0 0x138 thirdparty/lvgl/src/lv_misc/lv_printf.o - .debug_frame 0x000057f8 0x170 thirdparty/lvgl/src/lv_misc/lv_task.o - .debug_frame 0x00005968 0x1f4 thirdparty/lvgl/src/lv_misc/lv_txt.o - .debug_frame 0x00005b5c 0x68 thirdparty/lvgl/src/lv_misc/lv_utils.o - .debug_frame 0x00005bc4 0xb8 thirdparty/lvgl/src/lv_themes/lv_theme.o - .debug_frame 0x00005c7c 0x150 thirdparty/lvgl/src/lv_themes/lv_theme_material.o - .debug_frame 0x00005dcc 0x4b4 thirdparty/lvgl/src/lv_widgets/lv_label.o - .debug_frame 0x00006280 0x2c c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m\libgcc.a(_aeabi_uldivmod.o) - .debug_frame 0x000062ac 0x34 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m\libgcc.a(_udivmoddi4.o) - .debug_frame 0x000062e0 0x2c c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m\libc_nano.a(lib_a-init.o) - .debug_frame 0x0000630c 0x28 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m\libc_nano.a(lib_a-memcmp.o) - .debug_frame 0x00006334 0x20 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m\libc_nano.a(lib_a-strcmp.o) - .debug_frame 0x00006354 0x20 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m\libc_nano.a(lib_a-strcpy.o) + .debug_frame 0x0000008c 0xbc drivers/p_gpio.o + .debug_frame 0x00000148 0x20 drivers/p_i2c.o + .debug_frame 0x00000168 0x58 drivers/p_tcc.o + .debug_frame 0x000001c0 0x64 drivers/p_usart.o + .debug_frame 0x00000224 0x40 hal/src/hal_atomic.o + .debug_frame 0x00000264 0x68 hal/src/hal_delay.o + .debug_frame 0x000002cc 0x58 hal/src/hal_io.o + .debug_frame 0x00000324 0x148 hal/src/hal_timer.o + .debug_frame 0x0000046c 0x2b0 hal/src/hal_usart_async.o + .debug_frame 0x0000071c 0x20 hal/utils/src/utils_assert.o + .debug_frame 0x0000073c 0x9c hal/utils/src/utils_list.o + .debug_frame 0x000007d8 0x94 hal/utils/src/utils_ringbuffer.o + .debug_frame 0x0000086c 0xec hpl/core/hpl_core_m4.o + .debug_frame 0x00000958 0x28 hpl/core/hpl_init.o + .debug_frame 0x00000980 0x30 hpl/gclk/hpl_gclk.o + .debug_frame 0x000009b0 0x20 hpl/mclk/hpl_mclk.o + .debug_frame 0x000009d0 0x20 hpl/osc32kctrl/hpl_osc32kctrl.o + .debug_frame 0x000009f0 0x30 hpl/oscctrl/hpl_oscctrl.o + .debug_frame 0x00000a20 0x4c hpl/ramecc/hpl_ramecc.o + .debug_frame 0x00000a6c 0xec4 hpl/sercom/hpl_sercom.o + .debug_frame 0x00001930 0x10c hpl/tc/hpl_tc.o + .debug_frame 0x00001a3c 0x28 main.o + .debug_frame 0x00001a64 0x48 oracle.o + .debug_frame 0x00001aac 0x120 thirdparty/lvgl/src/lv_core/lv_debug.o + .debug_frame 0x00001bcc 0x10c thirdparty/lvgl/src/lv_core/lv_disp.o + .debug_frame 0x00001cd8 0x284 thirdparty/lvgl/src/lv_core/lv_group.o + .debug_frame 0x00001f5c 0x2a0 thirdparty/lvgl/src/lv_core/lv_indev.o + .debug_frame 0x000021fc 0x1328 thirdparty/lvgl/src/lv_core/lv_obj.o + .debug_frame 0x00003524 0x168 thirdparty/lvgl/src/lv_core/lv_refr.o + .debug_frame 0x0000368c 0x528 thirdparty/lvgl/src/lv_core/lv_style.o + .debug_frame 0x00003bb4 0xb0 thirdparty/lvgl/src/lv_draw/lv_draw_blend.o + .debug_frame 0x00003c64 0xf0 thirdparty/lvgl/src/lv_draw/lv_draw_img.o + .debug_frame 0x00003d54 0x68 thirdparty/lvgl/src/lv_draw/lv_draw_label.o + .debug_frame 0x00003dbc 0x5c thirdparty/lvgl/src/lv_draw/lv_draw_line.o + .debug_frame 0x00003e18 0x234 thirdparty/lvgl/src/lv_draw/lv_draw_mask.o + .debug_frame 0x0000404c 0x9c thirdparty/lvgl/src/lv_draw/lv_draw_rect.o + .debug_frame 0x000040e8 0x19c thirdparty/lvgl/src/lv_draw/lv_img_buf.o + .debug_frame 0x00004284 0x8c thirdparty/lvgl/src/lv_draw/lv_img_cache.o + .debug_frame 0x00004310 0x1d0 thirdparty/lvgl/src/lv_draw/lv_img_decoder.o + .debug_frame 0x000044e0 0x60 thirdparty/lvgl/src/lv_font/lv_font.o + .debug_frame 0x00004540 0xe8 thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o + .debug_frame 0x00004628 0x1c0 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + .debug_frame 0x000047e8 0xa4 thirdparty/lvgl/src/lv_hal/lv_hal_indev.o + .debug_frame 0x0000488c 0x48 thirdparty/lvgl/src/lv_hal/lv_hal_tick.o + .debug_frame 0x000048d4 0x1fc thirdparty/lvgl/src/lv_misc/lv_anim.o + .debug_frame 0x00004ad0 0x154 thirdparty/lvgl/src/lv_misc/lv_area.o + .debug_frame 0x00004c24 0xcc thirdparty/lvgl/src/lv_misc/lv_color.o + .debug_frame 0x00004cf0 0x324 thirdparty/lvgl/src/lv_misc/lv_fs.o + .debug_frame 0x00005014 0x28 thirdparty/lvgl/src/lv_misc/lv_gc.o + .debug_frame 0x0000503c 0x1e4 thirdparty/lvgl/src/lv_misc/lv_ll.o + .debug_frame 0x00005220 0x48 thirdparty/lvgl/src/lv_misc/lv_log.o + .debug_frame 0x00005268 0x88 thirdparty/lvgl/src/lv_misc/lv_math.o + .debug_frame 0x000052f0 0x244 thirdparty/lvgl/src/lv_misc/lv_mem.o + .debug_frame 0x00005534 0x138 thirdparty/lvgl/src/lv_misc/lv_printf.o + .debug_frame 0x0000566c 0x170 thirdparty/lvgl/src/lv_misc/lv_task.o + .debug_frame 0x000057dc 0x1f4 thirdparty/lvgl/src/lv_misc/lv_txt.o + .debug_frame 0x000059d0 0x68 thirdparty/lvgl/src/lv_misc/lv_utils.o + .debug_frame 0x00005a38 0xb8 thirdparty/lvgl/src/lv_themes/lv_theme.o + .debug_frame 0x00005af0 0x150 thirdparty/lvgl/src/lv_themes/lv_theme_material.o + .debug_frame 0x00005c40 0x2ec thirdparty/lvgl/src/lv_widgets/lv_img.o + .debug_frame 0x00005f2c 0x4b4 thirdparty/lvgl/src/lv_widgets/lv_label.o + .debug_frame 0x000063e0 0x2c c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m\libgcc.a(_aeabi_uldivmod.o) + .debug_frame 0x0000640c 0x34 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m\libgcc.a(_udivmoddi4.o) + .debug_frame 0x00006440 0x2c c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m\libc_nano.a(lib_a-init.o) + .debug_frame 0x0000646c 0x28 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m\libc_nano.a(lib_a-memcmp.o) + .debug_frame 0x00006494 0x20 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m\libc_nano.a(lib_a-strcmp.o) + .debug_frame 0x000064b4 0x20 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m\libc_nano.a(lib_a-strcpy.o) diff --git a/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/e54_gfx_learning.srec b/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/e54_gfx_learning.srec index be9f810c..86be5fd6 100644 --- a/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/e54_gfx_learning.srec +++ b/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/e54_gfx_learning.srec @@ -1,8415 +1,10671 @@ S01800006535345F6766785F6C6561726E696E672E73726563EB -S214000000206E0120F50E0000F10E0000F10E00003B -S214000010F10E0000F10E0000F10E000000000000DE -S214000020000000000000000000000000F10E0000CC -S214000030F10E000000000000F10E0000F10E0000BE -S214000040F10E0000F10E0000F10E0000F10E0000AF -S214000050F10E0000F10E0000F10E0000F10E00009F -S214000060F10E0000F10E0000F10E0000F10E00008F -S214000070F10E0000F10E0000F10E0000F10E00007F -S214000080F10E0000F10E0000F10E0000F10E00006F -S214000090F10E0000F10E0000F10E0000F10E00005F -S2140000A0F10E0000F10E0000F10E0000F10E00004F -S2140000B0F10E0000F10E0000F10E0000F10E00003F -S2140000C0F10E0000F10E0000F10E0000F10E00002F -S2140000D0F10E0000F10E0000F10E0000F10E00001F -S2140000E0F10E0000F10E000000000000000000000D -S2140000F000000000211D0000F10E0000F10E0000BF -S214000100F10E0000F10E0000F10E0000F10E0000EE -S214000110F10E0000F10E0000D1250000E5250000DC -S214000120F92500000D260000F10E0000F10E00007B -S214000130F10E0000F10E0000F10E0000F10E0000BE -S214000140F10E0000F10E0000F10E0000F10E0000AE -S214000150F10E0000F10E0000F10E0000F10E00009E -S214000160F10E0000F10E0000F10E0000F10E00008E -S214000170F10E0000F10E0000F10E0000F10E00007E -S214000180F10E0000F10E0000F10E0000F10E00006E -S214000190F10E0000F10E0000F10E0000F10E00005E -S2140001A0F10E0000F10E0000F10E0000F10E00004E -S2140001B0F10E0000F10E0000F10E0000F10E00003E -S2140001C0F10E0000F10E0000F10E0000F10E00002E -S2140001D0F10E0000F10E0000F10E0000F10E00001E -S2140001E0F10E0000F10E0000F10E00009528000050 -S2140001F0F10E0000F10E0000F10E0000F10E0000FE -S214000200F10E0000F10E0000F10E0000F10E0000ED -S214000210F10E0000F10E0000F10E0000F10E0000DD -S214000220F10E0000F10E0000F10E0000F10E0000CD -S214000230F10E0000F10E0000F10E0000F10E0000BD -S214000240F10E0000F10E0000F10E0000F10E0000AD -S214000250F10E0000F10E0000F10E0000F10E00009D -S214000260F10E000010B5054C237833B9044B13B1DA +S214000000086E0120790F0000750F0000750F0000C4 +S214000010750F0000750F0000750F0000000000004F +S214000020000000000000000000000000750F000047 +S214000030750F000000000000750F0000750F00002F +S214000040750F0000750F0000750F0000750F00009B +S214000050750F0000750F0000750F0000750F00008B +S214000060750F0000750F0000750F0000750F00007B +S214000070750F0000750F0000750F0000750F00006B +S214000080750F0000750F0000750F0000750F00005B +S214000090750F0000750F0000750F0000750F00004B +S2140000A0750F0000750F0000750F0000750F00003B +S2140000B0750F0000750F0000750F0000750F00002B +S2140000C0750F0000750F0000750F0000750F00001B +S2140000D0750F0000750F0000750F0000750F00000B +S2140000E0750F0000750F0000000000000000000003 +S2140000F000000000711C0000750F0000750F000066 +S214000100750F0000750F0000750F0000750F0000DA +S214000110750F0000750F0000CD1E0000E11E0000E8 +S214000120F51E0000091F0000750F0000750F000087 +S214000130750F0000750F0000750F0000750F0000AA +S214000140750F0000750F0000750F0000750F00009A +S214000150750F0000750F0000750F0000750F00008A +S214000160750F0000750F0000750F0000750F00007A +S214000170750F0000750F0000750F0000750F00006A +S214000180750F0000750F0000750F0000750F00005A +S214000190750F0000750F0000750F0000750F00004A +S2140001A0750F0000750F0000750F0000750F00003A +S2140001B0750F0000750F0000750F0000750F00002A +S2140001C0750F0000750F0000750F0000750F00001A +S2140001D0750F0000750F0000750F0000750F00000A +S2140001E0750F0000750F0000750F000091210000CC +S2140001F0750F0000750F0000750F0000750F0000EA +S214000200750F0000750F0000750F0000750F0000D9 +S214000210750F0000750F0000750F0000750F0000C9 +S214000220750F0000750F0000750F0000750F0000B9 +S214000230750F0000750F0000750F0000750F0000A9 +S214000240750F0000750F0000750F0000750F000099 +S214000250750F0000750F0000750F0000750F000089 +S214000260750F000010B5054C237833B9044B13B155 S2140002700448AFF300800123237010BD78000020EF -S214000280000000003C0D02000C4B43B10C480D4929 +S214000280000000003C9A02000C4B43B10C480D499C S21400029010B5AFF300800C48036823B910BD0A48B8 S2140002A0036833B97047094B002BF7D0BDE8104000 S2140002B01847064B002BF5D0184700BF000000007B -S2140002C03C0D02007C0000203C0D020000000000F7 -S2140002D070B58B4C1026A66132208A4DA847666101 -S2140002E03220A847A6613220A84700BF4026666194 -S2140002F00A20A847A6610520A8476661824B1B789E -S21400030023B923465E6101227F4B1A7001227F4982 -S2140003107F48804B98477A4C4025A5611420794B3E -S21400032098476561784B1B7823B923465D610122A7 -S214000330754B1A70012275497548764B9847704C74 -S2140003404025A56114206F4B984765616E4B1B785E -S21400035023B923465D6101226B4B1A7001226B495B -S2140003606B486C4B9847664C4025A5611420654B3E -S21400037098476561644B1B7823B923465D6101226B -S214000380614B1A70E22261496148624B98475C4BA8 -S21400039040229A615A615C4B1B7823B1584B9A6194 -S2140003A00022594B1A70232258495948594B9847EE -S2140003B0534B40229A615A61534B1B7823B1504BE2 -S2140003C09A610022504B1A70022250495048514BF5 -S2140003D098474B4B40229A615A614B4B1B7823B18E -S2140003E0474B9A610022484B1A70542247494848A6 -S2140003F0484B9847424B40229A615A61424B1B78C1 -S21400040023B93F4B5A6101223F4B1A70E0223F4905 -S2140004103F48404B98473A4B40229A615A613A4BC4 -S2140004201B7823B1364B9A610022374B1A70012293 -S21400043036493748374B9847314C4025A5616420EC -S214000440354B98476561304B1B7823B923465D6171 -S21400045001222D4B1A70E0222C492D482D4B98472F -S214000460274B40229A615A61274B1B7823B1244BB5 -S2140004709A610022244B1A70032224492448254BF3 -S21400048098471F4C4025A56101201E4B9847656183 -S2140004901D4B1B7823B923465D6101221A4B1A7047 -S2140004A001221A491A481B4B9847154C4025A5614E -S2140004B00120144B98476561134B1B7823B92346DC -S2140004C05D610122104B1A70E62210491048114B4C -S2140004D098470B4B40229A615A610B4B1B7823B10D -S2140004E0074B9A610022084B1A70042207490848F5 -S2140004F0084B9847024B40229A615A610EE000BFB3 -S214000500008000413515000000000020F7C3031CE2 -S21400051080800041BD0F000015150000874B1B783A -S21400052023B1874B9A610022844B1A703A22854980 -S2140005308548864B9847824B40229A615A617F4B8A -S2140005401B7823B17E4B9A6100227C4B1A70B62230 -S2140005507C497D487D4B9847794B40229A615A6189 -S214000560764B1B7823B9764B5A610122734B1A706F -S214000570B02274497448754B9847714B40229A6173 -S2140005805A616E4B1B7823B16D4B9A6100226B4B00 -S2140005901A7028226B496C486C4B9847684B40226F -S2140005A09A615A61654B1B7823B1654B9A610022AC -S2140005B0624B1A70802263496348644B9847604CCC -S2140005C04025A561624B9847624B9847421E12121F -S2140005D065615A4B1B7823B123469D610021574B1A -S2140005E01970D2B257495848584B9847544C402532 -S2140005F0A561574B9847574B9847421ED2B2656144 -S2140006004E4B1B7823B123469D6100214B4B19703E -S2140006104C494D484D4B9847494C4025A5614C4B9D -S21400062098474D4B9847421E12126561434B1B7804 -S21400063023B123469D610021404B1970D2B2414937 -S2140006404148424B98473E4C4025A561404B984751 -S214000650414B9847421ED2B26561384B1B7823B196 -S21400066023469D610021354B197036493648374B75 -S2140006709847334B40229A615A61304B1B7823B11E -S2140006802F4B9A6100222D4B1A7000222D492E48BE -S2140006902E4B98472A4B40229A615A61274B1B786B -S2140006A023B9274B5A610122244B1A70F0222549A0 -S2140006B02548264B9847224B40229A615A611F4B89 -S2140006C01B7823B11E4B9A6100221C4B1A70032222 -S2140006D01C491D481D4B9847194B40229A615A6188 -S2140006E0164B1B7823B9164B5A610122134B1A700E -S2140006F03A2214491448154B9847114B40229A61E8 -S2140007005A610E4B1B7823B10D4B9A6100220B4B9E -S2140007101A7055220B490C480C4B9847084B402240 -S2140007209A615A61054B1B7823B9054B5A61012221 -S214000730024B1A70B422034910E000BF00000020EC -S21400074000800041F7C3031C80800041BD0F0000FD -S2140007508914010095140100BD1401008648874BDA -S2140007609847874B40229A615A61864B1B7823B183 -S214000770834B9A610022834B1A70022282497E487C -S2140007807E4B98477E4B40229A615A617D4B1B7880 -S21400079023B17B4B9A6100227A4B1A700D227A495C -S2140007A07548764B9847764B40229A615A61754B4E -S2140007B01B7823B1724B9A610022724B1A7000228A -S2140007C071496D486D4B98476D4B40229A615A614E -S2140007D06C4B1B7823B16A4B9A610022694B1A70E6 -S2140007E02B2269496448654B9847654B40229A61BD -S2140007F05A61644B1B7823B1614B9A610022614BAE -S2140008001A70282260495C485C4B98475C4B402233 -S2140008109A615A615B4B1B7823B1594B9A6100224F -S214000820584B1A70002258495348544B9847544B1B -S21400083040229A615A61534B1B7823B1504B9A6100 -S2140008400022504B1A7000224F494B484B4B98479A -S2140008504B4B40229A615A614A4B1B7823B1484B56 -S2140008609A610022474B1A70002247494248434B80 -S2140008709847434B40229A615A61424B1B7823B9F2 -S2140008803F4B5A6101223F4B1A70B6223E493A4806 -S2140008903A4B98473A4B40229A615A61394B1B783B -S2140008A023B1374B9A610022364B1A700122364923 -S2140008B03148324B9847324B40229A615A61314B4D -S2140008C01B7823B12E4B9A6100222E4B1A701D22E4 -S2140008D02D492948294B9847294B40229A615A614D -S2140008E0284B1B7823B1264B9A610022254B1A70A1 -S2140008F0002225492048214B9847214B40229A61E7 -S2140009005A61204B1B7823B11D4B9A6100221D4B68 -S2140009101A700C221C491848184B9847184B40224E -S2140009209A615A61174B1B7823B1154B9A610022C6 -S214000930144B1A70092214490F48104B9847104B55 -S21400094040229A615A610F4B1B7823B10C4B9A6177 -S21400095000220C4B1A7000220B490748074B984799 -S214000960074B40229A615A61064B1B7883B1044BB1 -S2140009709A6100220AE000BF80800041BD0F00009F -S2140009800080004100000020F7C3031C864B1A704D -S214000990002286498648874B9847874B40229A61B3 -S2140009A05A61814B1B7823B9834B5A6101227E4BD7 -S2140009B01A702A227D497E487E4B98477E4B4022FD -S2140009C09A615A61784B1B7823B17B4B9A6100225F -S2140009D0754B1A70002275497548764B9847764BCA -S2140009E040229A615A61704B1B7823B1724B9A6110 -S2140009F000226D4B1A7000226C496D486D4B98476B -S214000A006D4B40229A615A61674B1B7823B16A4B43 -S214000A109A610022644B1A70012264496448654B4F -S214000A209847654B40229A615A615F4B1B7823B109 -S214000A30614B9A6100225C4B1A70DF225B495C486E -S214000A405C4B98475C4B40229A615A61564B1B7828 -S214000A5023B9594B5A610122534B1A702B22534922 -S214000A605348544B9847544B40229A615A614E4B18 -S214000A701B7823B1504B9A6100224B4B1A70002210 -S214000A804A494B484B4B98474B4B40229A615A6118 -S214000A90454B1B7823B1484B9A610022424B1A7093 -S214000AA0002242494248434B9847434B40229A61B2 -S214000AB05A613D4B1B7823B13F4B9A6100223A4B5B -S214000AC01A70012239493A483A4B98473A4B402225 -S214000AD09A615A61344B1B7823B1374B9A610022D6 -S214000AE0314B1A700F2231493148324B9847324BFE -S214000AF040229A615A612C4B1B7823B92E4B5A61BF -S214000B000122294B1A70292228492948294B98473F -S214000B10294B40229A615A61234B1B7823B9264BF6 -S214000B205A610122204B1A70BE2220492048214BD0 -S214000B309847214B40229A615A611B4B1B7823B180 -S214000B401D4B9A610022184B1A7006221749184846 -S214000B50184B9847184B40229A615A61124B1B78E3 -S214000B6023B1154B9A6100220F4B1A70FF220F49D2 -S214000B700F48104B9847104B40229A615A610A4B17 -S214000B801B7823B10C4B9A610022074B1A70012286 -S214000B9006490748074B9847074B40229A615A6117 -S214000BA0014B1B787BB109E000000020F7C3031C53 -S214000BB080800041BD0F000000800041184B9A6104 -S214000BC00022184B1A70FF2217491848184B9847EE -S214000BD0134B40229A615A61124B1B7823B1104B7B -S214000BE09A6100220F4B1A7000220F490F48104BD3 -S214000BF098470B4B40229A615A610A4B1B7823B1E7 -S214000C00074B9A610022074B1A70012206490748D3 -S214000C10074B9847024B40229A619A6170BD00BF0D -S214000C200080004100000020F7C3031C80800041C4 -S214000C30BD0F00002DE9F84FB1F90430002B0FDB93 -S214000C4081468A461546B1F90630002B08DBB1F915 -S214000C500040934B9847934B98470138844201DDF8 -S214000C60BDE8F88FBAF902408D4B98478E4B9847EF -S214000C7001388442F4DCBAF9006026EAE676BAF96E -S214000C80024024EAE474A346BAF90470844B9847F9 -S214000C90844B98470138874200F31681BAF90470EE -S214000CA0BAF906807E4B98477F4B984701388045B7 -S214000CB000F31081BAF9068040227C4B5A617C4BC7 -S214000CC01B7823B9794B5A610122794B1A702A2274 -S214000CD078497948794B9847744B4021996132128C -S214000CE05961734B1B7823B1704B99610021704B8F -S214000CF01970D2B26F497048704B98476B4B4021C1 -S214000D009961F2B259616A4B1B7823B1674B9961BE -S214000D100021674B197067496748684B9847634BD3 -S214000D20402199613A125961614B1B7823B15F4BA0 -S214000D30996100215E4B1970D2B25E495E485F4BE6 -S214000D4098475A4B40229A615A61594B1B7823B1F7 -S214000D50564B9A610022564B1A70FAB255495648BD -S214000D60564B9847514B40229A615A61504B1B781C -S214000D7023B94E4B5A6101224D4B1A702B224D4916 -S214000D804D484E4B9847494B402199614FEA2B22DC -S214000D905961474B1B7823B1444B99610021444B62 -S214000DA01970D2B243494448444B98473F4B4021C0 -S214000DB09961E2B259613E4B1B7823B13B4B996176 -S214000DC000213B4B19703B493B483C4B9847374BFF -S214000DD0402199614FEA28225961354B1B7823B18F -S214000DE0324B99610021324B1970D2B231493248E8 -S214000DF0324B98472D4B40229A615A612C4B1B78F8 -S214000E0023B12A4B9A610022294B1A705FFA88F2A6 -S214000E1028492948294B9847244B40229A615A6111 -S214000E20234B1B7823B9214B5A610122204B1A70A1 -S214000E302C2220492048214B984740221B4B9A6180 -S214000E40BAF804300133BAF800209B1A9BB2184A4D -S214000E5012782AB14021154A91610021144A117076 -S214000E604021124A5161C6F101063E44B6B2D84549 -S214000E700EDB5F00DFF83CB0DFF848A033462A46BA -S214000E8059460D48D0473D44013424B2A045F5DA12 -S214000E904022064B9A614846094B9847E0E600BF59 -S214000EA08914010095140100BD1401000080004162 -S214000EB000000020F7C3031C80800041BD0F000027 -S214000EC055150100E90F0000064B9847064B98475A -S214000ED0471EE5E6034B9847044B984700F1FF385A -S214000EE0EAE600BF8914010095140100BD14010054 -S214000EF0FEE7000008B51C4B1C4A9A4210D01C4B5B -S214000F00194A9A420CD2013B9B1A23F0030304337E -S214000F101344164951F8040B42F8040B9A42F9D1CF -S214000F20144B154A9A420AD2013B9B1A23F003033C -S214000F3004331344002142F8041B9342FBD10F4BA9 -S214000F400F4A22F07F029A60D3F8882042F470029B -S214000F50C3F88820BFF34F8FBFF36F8F094B9847B6 -S214000F60094B9847FEE700BF000000203C0D02003A -S214000F7074000020206E00207800002000ED00E0C5 -S214000F8000000000C5AE0100B528000010B45300F4 -S214000F9003F47C73540104F47034234302F0070412 -S214000FA02343520302F0E0521A4302EA010383612C -S214000FB021EA020141615DF8044B7047F8B5074C21 -S214000FC040256561064B9847802767610120054EDE -S214000FD0B047A7610120B047A561F8BD0080004179 -S214000FE08D0F0000151500008BB12DE9F8431D4646 -S214000FF090460F4606460024DFF8149042463946CF -S2140010003046C8470134AC42F8D1BDE8F883704793 -S214001010BD0F00002DE9F04F83B08B4600924001D3 -S214001020C3B201930026DFF8949165E009EBC7137D -S2140010305D60AAB242F080429A622A0C42F04042B8 -S2140010409A62009B1B78012B77D023B3022B00F00B -S2140010508480892257490020574B984724E009EBA3 -S214001060C7125560ABB243F0804343F4003393623B -S2140010702B0C43F0404343F400339362E1E709EB63 -S214001080C7139D60AAB242F080429A622A0C42F0D0 -S21400109040429A62D5E709EBC713434493F84020D1 -S2140010A002F0FB0283F84020009B5A686409B2F104 -S2140010B0FF3F62D0E4B209EBC411414491F84030DE -S2140010C003F0FE0343F0010381F840301AF0010FED -S2140010D05ED109EBC41404EB580898F8303003F0DE -S2140010E0F00302F00F021A4388F8302009EBC71706 -S2140010F07D610136202E59D0F4B22BFA06F313F098 -S214001100010FF6D004F01F04019B1C445FFA84FA1A -S2140011104FEA5A170AF01F08012505FA08F5009B42 -S2140011205B78012B9BD0002B80D0022BA7D04622C9 -S21400113020490020204B984783E7012303FA08F351 -S21400114009EBC712536002EB080090F8401041F01C -S214001150040180F840109361A6E7012303FA08F320 -S21400116009EBC712536002EB080090F8401041F0FC -S214001170040180F84010536196E7E4B209EBC4140A -S214001180A04498F8403003F0FE0388F84030ADE7FE -S21400119009EBC41404EB580898F8303003F00F033A -S2140011A043EA0212D2B288F830209FE703B0BDE8C7 -S2140011B0F08F00BF60AF0100891A00000080004178 -S2140011C070B582B00023009302238DF801308DF8AD -S2140011D000304FF0FF3301936A4643490120434BEA -S2140011E09847434B40229A60424E9E624FF04041E1 -S2140011F099625A6093F8460040F0040083F846006F -S2140012005A6193F8460000F0FE0083F84600102569 -S2140012109D603948986299625D6093F8440040F09A -S214001220040083F844005D6193F8440000F0FE007B -S21400123083F8440008249C603048986299625C6099 -S21400124093F8430040F0040083F843005C6193F891 -S214001250430000F0FE0083F843009A609E629962A5 -S2140012605A6093F8460040F0040083F846005A613E -S21400127093F8460000F0FE0083F846008020986051 -S21400128040369E629962586093F8471041F0040118 -S21400129083F84710586193F8471001F0FE0183F871 -S2140012A047104FF48071C3F8841106F50036803677 -S2140012B0C3F8A861124EC3F8A861C3F8841193F866 -S2140012C0C86146F0040683F8C861C3F8941193F821 -S2140012D0C81101F0FE0183F8C8119A619D619C61F6 -S2140012E0986102B070BD00BFF7C3031C1510000064 -S2140012F00080004140000040100000400800004010 -S214001300000002C008B51F4B4022C3F8E02043226D -S214001310C3F88C201C4A936943F4806393611B498D -S2140013201B481C4B98471C4B93F8562002F0FB02B8 -S21400133083F8562093F8562002F0FE0242F001028F -S21400134083F8562093F83B2002F0F00242F00202A7 -S21400135083F83B2093F8572002F0FB0283F85720CF -S21400136093F8572002F0FE0242F0010283F857205D -S21400137093F83B2002F00F0242F0200283F83B2055 -S21400138008BD00BF001C00400008004000400141AE -S214001390006C0020B51500000080004108B5064925 -S2140013A0D1E90023013243F10003C1E90023012003 -S2140013B0024B984708BD00BF98000020ED150100BD -S2140013C010B51148114B9847114A536943F48043AE -S2140013D0536140220F4BC3F8A4200F4B98470F4C85 -S2140013E002460F4920460F4B98470F4901230B61D1 -S2140013F00E4A4A610B76083120460D4B9847204628 -S2140014000C4B984710BD00BF10E000E0011500002F -S21400141000080040001C00404F280000206C002000 -S21400142000380040FD160000980000209D130000C4 -S214001430751700003917000030B583B01F4B4022E7 -S214001440C3F8DC204322C3F88C201D4A936943F47A -S214001450007393611B4C0023009310231A4A1B4908 -S21400146020461B4DA8471B4B93F8D82002F0FE02DF -S21400147042F0010283F8D82093F8BC2002F0F00274 -S21400148042F0030283F8BC2093F8D92002F0FE0253 -S21400149042F0010283F8D92093F8BC2002F00F0234 -S2140014A042F0300283F8BC2020460B4B98470C22B3 -S2140014B00A4920460A4B984703B030BD001C00403E -S2140014C0000800403C6C0020B400002000200141D1 -S2140014D0CD190000008000415D1A000004000020C5 -S2140014E0F5150000EFF31083036072B6BFF35F8F4D -S2140014F07047BFF35F8F036883F310887047000060 -S21400150008B5024B1860024B984708BDC40000207F -S2140015103D1C000010B5044B1C68044B9847014660 -S2140015202046034B984710BDC4000020051C000051 -S214001530411C000010B5044B1C68044B984701463C -S2140015402046034B984710BDC40000201D1C000019 -S214001550411C000010B584B014460389ADF8043071 -S21400156002924FF40043ADF80630039101A91438F7 -S214001570034B9847002808BF204604B010BD00BFA4 -S214001580B520000010B584B014460389ADF80430C9 -S214001590029248F20103ADF80630039101A914380F -S2140015A0034B9847002808BF204604B010BD00BF74 -S2140015B0B520000038B50D4604465E2208490030C6 -S2140015C018BF0120074B984729462046064B9847E8 -S2140015D0034618B9054AA261054A6261184638BD35 -S2140015E07CAF0100891A00008520000085150000E8 -S2140015F05515000070B50D461646044660B1081C29 -S21400160018BF012034220549054B98472368324607 -S21400161029462046984770BD0020F3E798AF0100A2 -S214001620891A0000F8B5844607682FB18D683C46D5 -S2140016300026C2F1010E0BE00E4B9847F8BD73442E -S214001640A0680344AB420AD22368264653B11C4620 -S21400165063689342F3D8A06803449B1AF2E7A74254 -S21400166004D034462046044B9847F8BD6046014BEC -S2140016709847F8BDB11A0000DD1A00002DE9F047C2 -S2140016804469076901370761037E13F0010F13D120 -S214001690037E13F0020F0FD154B36368FB1AA268DF -S2140016A0934207D3064600F11408DFF84890DFF8A7 -S2140016B048A012E0BDE8F087037E43F002030376FD -S2140016C0BDE8F0877569E3682046984785B12C46E3 -S2140016D06B68FB1AAA6893420AD34046C847237C25 -S2140016E0012BEFD167603A4621464046D047E9E7EE -S2140016F0BDE8F087E51A00002516000038B50D464F -S214001700044678B1081C18BF01203B220649074B47 -S214001710984729462046064B984700202061054BEF -S214001720236038BD0020F0E7ACAF0100891A000046 -S214001730812600007D16000010B504465322094994 -S214001740003018BF0120084B98472046074B9847A3 -S21400175020B92046064B9847002010BD6FF01000B9 -S21400176010BD00BFACAF0100891A00003D28000084 -S2140017702928000070B582B00D46044618B3081C30 -S21400178018BF01207A221E491E4B9847237E43F03D -S2140017900103237604F11406294630461A4B98476F -S2140017A098B923696B60226929463046174B9847DB -S2140017B0237E03F0FE032376237E13F0020F10D160 -S2140017C0002002B070BD0020DCE7237E03F0FE039D -S2140017D023767F220A4900200A4B98476FF01100B3 -S2140017E0EFE701A80A4B9847237E03F0FD03237614 -S2140017F02046084B984701A8074B98470020E0E78B -S214001800ACAF0100891A00008F1A000025160000F0 -S214001810E514000055280000F314000008B5002366 -S2140018208362C3691BB1A0F108021046984708BD41 -S21400183008B500238362436A1BB1A0F10802104674 -S214001840984708BD38B50446A0F108052C30034B70 -S2140018509847236A0BB12846984738BD851B000079 -S21400186070B50E4615460446E0B1E9B1101C18BF27 -S214001870012040F23B120F490F4B9847B4F8442022 -S214001880B4F84C309A4211D1A664A4F84C50002308 -S214001890A4F844300123236304F10800074B98475B -S2140018A0284670BD0020E4E70020E2E76FF01B004A -S2140018B070BD00BFC4AF0100891A0000732000008D -S2140018C010B50446838FB0F844209A4209D0026CC3 -S2140018D0591C8187D15C044B98472046034B984798 -S2140018E010BD034B984710BD6D200000732000000C -S2140018F07B2000002DE9F04782B00F469046064652 -S214001900A0B199B1002A2DD14FF4AC72294900201C -S214001910294B984701A8294B984706F13400284BD5 -S214001920984701A8274B984700253EE04FF4AC7235 -S21400193020490020204B984701A8204B984706F1E5 -S214001940340A50461E4B9847814601A81D4B9847BF -S214001950B9F1000F04D0B8F1000F19D1002524E02A -S214001960002522E04FF4AC7212490120124B984732 -S21400197001A8124B984706F1340A5046104B984778 -S214001980814601A80F4B98470025B9F1000F0CD0EF -S21400199000240D4E601C85B239195046B0470134FC -S2140019A04C4502D2A3B29845F4D8284602B0BDE80A -S2140019B0F08700BFC4AF0100891A0000E5140000DC -S2140019C0C51B0000F3140000411B0000F8B50D46CF -S2140019D016461F46044620B329B332B3181C18BF58 -S2140019E001203A221349144B98473A46314604F1EF -S2140019F03400124B9847D0B9294604F10800104B22 -S214001A009847034658B90F4A62600F4A22600F4A49 -S214001A10A2600F4AE2600F4A22610F4A62611846CE -S214001A20F8BD0020DDE70020DBE70020D9E76FF0F7 -S214001A300C03F4E7C4AF0100891A0000F11A000095 -S214001A40D51F0000F518000061180000C11800003E -S214001A50451800001D1800003118000010B5044697 -S214001A6061220649003018BF0120054B984704F153 -S214001A700800044B9847002010BD00BFC4AF01000B -S214001A80891A00005920000000B900BE704703689C -S214001A904BB18B4209D01B681BB19942FBD1012088 -S214001AA070470020704700207047012070470000F4 -S214001AB038B504460D46064B984780F0010039229B -S214001AC00449C0B2044B984723682B60256038BD94 -S214001AD08F1A0000E4AF0100891A000003680B604B -S214001AE00160704703680BB11A68026018467047B9 -S214001AF070B50E461546044678B181B1A2B10120F4 -S214001B0028220D490D4B98476B1E1D4209D1636074 -S214001B100020A060E060266070BD0020F0E7002096 -S214001B20EEE76FF00C0070BD282203490020034B3F -S214001B3098476B1EEBE700BF04B00100891A00004F -S214001B4038B50D460446A0B1081C18BF0120402237 -S214001B500A490B4B9847A368E2689A420BD0626822 -S214001B6013402268D35C2B70A3680133A360002067 -S214001B7038BD0020EBE76FF0090038BD04B0010067 -S214001B80891A000038B50D46044651220B4900302C -S214001B9018BF01200A4B9847E36862681340226822 -S214001BA0D554E3686168A2689A1A8A4284BF591AB3 -S214001BB0A1600133E360002038BD00BF04B001001F -S214001BC0891A000010B5044667220549003018BF80 -S214001BD00120044B9847E068A368C01A10BD00BFF8 -S214001BE004B00100891A0000430900F01F0001221A -S214001BF002FA00F04033024A42F82300704700BF62 -S214001C0000E100E0C0EBC00000EB00100230024B29 -S214001C10A3FB003040087047ABAAAAAAC0EBC000DE -S214001C2000EB00100230044BA3FB003040084FF4DA -S214001C307A7303FB00F07047ABAAAAAA70470000AD -S214001C400139FDD8704700BF08B5094A13889BB212 -S214001C5043F4A0631380074B9847074B9847074BFE -S214001C609847074B984740F6FF70064B984708BDC5 -S214001C7000400041B91C0000D91C0000AD1C00004B -S214001C80DD1C0000891C000010F0010F08D0054A7A -S214001C90054B1A62194643F6FD724B681342FCD197 -S214001CA0704700BF07010100001C00400122014BE5 -S214001CB05A71704700080040064B42F28E329A82F4 -S214001CC000229A75DA75DA6902F47C52DA6101222A -S214001CD01A74704700140040704700000E4A0F4BFD -S214001CE05A631A46D36B13F0060FFBD10B4B4FF417 -S214001CF002629A63022283F830201A46D36B13F0EE -S214001D00020FFBD1054B1A6C12F0010F03D11A6CAF -S214001D1012F0020FF7D070474D0E01000010004081 -S214001D2000B583B00D4B9B78DBB20193019B13F09B -S214001D30020F06D00A4B1B681BB1084A506898472A -S214001D4009E0019B13F0010F05D0054B5B6813B14A -S214001D50024A5068984703B05DF804FB0000024151 -S214001D608C6C002070B489B006466C460D4D0FCDC5 -S214001D700FC495E80F0084E80F00009BB3420DD017 -S214001D80314601AB012053F8042B8A4207D00130BC -S214001D900828F8D1002009B070BC70470020C0B2F7 -S214001DA0F9E700BF28B0010010B58469237E13F060 -S214001DB0010F03D0A37D13F0010F12D1237E13F081 -S214001DC0020F03D0A37D13F0020F0FD1237E13F072 -S214001DD0040F15D0638B03F0370363B1FF236383CF -S214001DE010BD012323750368984710BD0223237591 -S214001DF08368984710BDA16A4368C9B2984710BD6A -S214001E00237EDB0900D110BD80232376C368984764 -S214001E10638B9BB26383F6E708B5034B9847800055 -S214001E202E3000F0FE0008BD651D000010B504460B -S214001E30214B9847022805D040F26B221F4900200C -S214001E401F4B9847E36913F0010F19D1E36913F0AC -S214001E50030FFBD1236813F0020F0BD0236823F087 -S214001E6002032360E36913F0030FFBD1E36913F069 -S214001E70020FFBD105232360E36913F0030FFBD1A8 -S214001E80E36913F0010FFBD10E4B2360E36913F0F7 -S214001E90030FFBD14FF440336360E36913F01F0F69 -S214001EA0FBD1094BA3604FF61143A3810020A0731A -S214001EB084F8300010BD00BF651D000060B0010052 -S214001EC0891A0000040010400200700008B5074B95 -S214001ED09847032808D040F2CE3205490020054B2B -S214001EE098474FF0FF3008BD002008BD651D000074 -S214001EF060B00100891A000038B505460C46084651 -S214001F00324B9847C0B2E36913F0010F22D100EBC1 -S214001F1040032F4A02EBC3035A6A02F01C02E3692D -S214001F2013F0030FFBD1236813F0020F0BD02368C6 -S214001F3023F002032360E36913F0030FFBD1E36988 -S214001F4013F0020FFBD142F001022260E36913F0A6 -S214001F50030FFBD1E36913F0010FFBD100EB400345 -S214001F601B4A02EBC3035A6A2260E36913F0030FAD -S214001F70FBD100EB4003164901EBC3039B6A636089 -S214001F80E36913F0040FFBD100EB4003104901EBAB -S214001F90C303DB6AE360C2F30163AB81626A22F4C7 -S214001FA08042012B94BF0023012342EA83336362FD -S214001FB0E36913F0040FFBD100EB4000044B03EB86 -S214001FC0C000438EEB81002038BD00BFCD1E000050 -S214001FD028B0010070B50D460646CB2218490030E1 -S214001FE018BF0120174B98472846174B98470446BA -S214001FF008B1204670BDB561144B9D4204BF144B1A -S2140020001E602846134B9847011DC9B2012500F0F3 -S2140020101F0205FA02F243099B0003F1604303F531 -S2140020206143C3F88020BFF34F8FBFF36F8FC3F8B1 -S21400203080211A600130C0B28142E8D1D9E700BFE2 -S21400204060B00100891A00002D1E0000002001412A -S214002050C8000020191E00008269136843F00203BE -S2140020601360D36913F0030FFBD17047836999623D -S2140020707047836901229A757047836902229A75B0 -S2140020807047000038B50D4604464FF4A86206496E -S214002090003018BF0120054B984725612946204689 -S2140020A0034B984738BD00BF60B00100891A000096 -S2140020B0F91E00002DE9F84305460E46046910F1A6 -S2140020C0000818BF4FF00108DFF8C4924FF4BF6253 -S2140020D049464046AD4FB847286940F2F95249464E -S2140020E0003018BF0120B84740F2FA524946301C6B -S2140020F018BF0120B8476B8813F4807F40F0188221 -S21400210073889BB243F48073738096E8070085E873 -S2140021100700636843F480736360E36913F0040F99 -S214002120FBD12F69D7F8009040F2CD52984940462F -S214002130964B98476B68012B5ED07B6823F4802310 -S2140021407B60FB6913F0040FFBD12B8813F4806FC0 -S2140021505ED06A8812F0010F04D06A8892B242F408 -S21400216080626A8040F2FE7202EA4302FB6913F064 -S214002170040FFBD17B6A03F4804343F4004313430C -S2140021807B62FB6913F0040FFBD129690B7EDBB27F -S2140021904FF6FF7213F0030F03D10B7EDBB2013A4A -S2140021A0F8D13968FA6912F0040FFBD17A8B92B233 -S2140021B013F0010F00F0A38012F0020F3CD00123B1 -S2140021C03B766B889BB243F480536B806B8823F41A -S2140021D080731B041B0C6B8002F00102002A14BFE4 -S2140021E06FF004006FF003006B8823F480731B0409 -S2140021F01B0C6B80BDE8F88319F0006F9DD07B68E0 -S21400220043F480237B60FB6913F0040FFBD19CE74B -S21400221069885A00D2B201F001031A43FB6913F031 -S214002220040FFBD17B6A03F480431A437A62FB698E -S21400223013F0040FFBD1A8E712F0040F1DD16B8832 -S21400224013F4806F37D02B88DB0903F00602FB6996 -S21400225013F0040FFBD17B6A03F4804343F0F103D1 -S21400226013437B62FB6913F0040FFBD16B8823F4E6 -S21400227080631B041B0C6B8069E06B68002B04DD1D -S2140022806B889BB243F480536B806B8813F4004FCB -S21400229008D16B8823F480731B041B0C6B806FF0D3 -S2140022A00100A1E77B6843F440337B60FB6913F0D1 -S2140022B0040FFBD1EDE76B689BB96B8813F4004FF6 -S2140022C006D16B8823F480731B041B0C6B803EE0E6 -S2140022D07B6843F440337B60FB6913F0040FFBD14B -S2140022E0EFE7AB681B78BB62FB6913F0040FFBD10A -S2140022F0AB680133AB606B68013B6B6027E013F0A3 -S214002300020F24D06B68002B3AD012F0040F37D19E -S214002310C1F3C061013B6B60002B40F00D810029CA -S21400232000F010816B8813F4004F18D16B8823F4EB -S21400233080731B041B0C6B80AA68531CAB60FB6984 -S21400234013F0040FFBD1BB6A137002233B76002206 -S214002350104602276FF0010C4FF0010EB0E07B68CC -S21400236023F480737B60FB6913F0040FFBD17B685A -S21400237043F440337B60FB6913F0040FFBD1D5E7D1 -S21400238002233B766FF001002EE700BF891A00009B -S21400239060B00100636843F440336360E36913F0A0 -S2140023A0040FFBD1A1E012F0040F1ED16B8813F4CA -S2140023B0806F37D02B88DB0903F00602E36913F041 -S2140023C0040FFBD1636A03F4804343F0F103134325 -S2140023D06362E36913F0040FFBD16B8823F4806318 -S2140023E01B041B0C6B8002466AE06B68002B04DD46 -S2140023F06B889BB243F480536B806B8813F4004F5A -S21400240007D16B8823F480731B041B0C6B80624619 -S21400241056E0636843F440336360E36913F0040FE7 -S214002420FBD1EEE76B68A3B96B8813F4004F07D1B6 -S2140024306B8823F480731B041B0C6B8002463FE002 -S214002440636843F440336360E36913F0040FFBD121 -S214002450EEE7AB681B78A362E36913F0040FFBD1C9 -S214002460AB680133AB606B68013B6B60024627E0EC -S21400247013F0020F57D06B68002B51D012F0040FE8 -S2140024804ED1C1F3C061013B6B60002B40F08C80E5 -S214002490002900F08F806B8813F4004F2FD16B88D3 -S2140024A023F480731B041B0C6B80AA68531CAB6060 -S2140024B0E36913F0040FFBD1A36A13702776024674 -S2140024C06B8813F4807F30D029690B7EDBB24FF621 -S2140024D0FF7213F0030F42D10B7EDBB2013AF8D144 -S2140024E0738813F4004F7FF455AF6B8823F4807322 -S2140024F01B041B0C6B806FF00400BDE8F883636858 -S21400250023F480736360E36913F0040FFBD1636800 -S21400251043F440336360E36913F0040FFBD1BEE776 -S21400252027766246CCE70246CAE71046BDE8F8833F -S2140025306FF00500BDE8F883012B7FF4FDAE00299F -S2140025403FF4FAAE7B6843F480237B60FB6913F0AC -S214002550040FFBD16B68002B3FF4E4AEECE6216879 -S214002560E26912F0040FFBD1628B92B213F0010FF6 -S2140025703FF47EAF12F0020F3FF415AF84F818E078 -S2140025806B889BB243F480536B806B8823F4807314 -S2140025901B041B0C6B8002F00102002A14BF6FF0B4 -S2140025A004026FF003028BE7012B7FF47EAF002955 -S2140025B03FF47BAF636843F480236360E36913F002 -S2140025C0040FFBD16B68002B3FF465AF6DE700BFCF -S2140025D008B5024B1868024B984708BDC800002093 -S2140025E0A91D000008B5024B1868024B984708BDA5 -S2140025F0C8000020A91D000008B5024B1868024B51 -S214002600984708BDC8000020A91D000008B5024B69 -S2140026101868024B984708BDC8000020A91D000096 -S21400262070B588B006466C46124D0FCD0FC495E8BF -S2140026300F0084E80F00009BB3420BD0304601AA7F -S214002640012352F8041B814205D00133082BF8D130 -S21400265000200BE0002313F0FF0F09D04FF49E720A -S21400266005490020054B98474FF0FF3008B070BD75 -S2140026700020FBE77CB00100B0B00100891A000022 -S21400268070B506460C460846604B98470546F4600B -S2140026908D225F4901205F4B9847236913F0010F95 -S2140026A019D1236913F0030FFBD1236813F0020F2F -S2140026B00BD0236823F002032360236913F0030F73 -S2140026C0FBD1236913F0020FFBD10123236023699A -S2140026D013F0030FFBD1236913F0010FFBD105EBB9 -S2140026E085034D4A02EB83035A6A2260236913F07E -S2140026F0030FFBD105EB8503474901EB830393F8F2 -S2140027002A10E1731B8DE3800123237302F00C0271 -S214002710082A48D0002A58D105EB85033E4A02EB2A -S21400272083039B8DA383236913F0C00FFBD1002383 -S214002730E383236913F0C00FFBD101236372374B89 -S2140027409C4204BF364B1E6005EB8503324A02EB03 -S2140027508303B3F92230002B23DB5A0903F01F034F -S214002760012101FA03F320322E4941F82230BFF34B -S2140027704F8FBFF36F8F05EB8505274B03EB850562 -S214002780B5F92230002B0CDB590903F01F03012298 -S21400279002FA03F3234A01F1600042F8203042F8BF -S2140027A02130002070BD05EB85031B4A02EB830336 -S2140027B0DB6AE361236913F0C00FFBD100232362B9 -S2140027C0236913F0C00FFBD1B7E7042AB5D105EB98 -S2140027D08503114A02EB830393F82C302377236991 -S2140027E013F0C00FFBD100236377236913F0C00FEB -S2140027F0FBD105EB8503084A02EB830393F82B30E5 -S214002800E376236913F0200FFBD196E7212600001C -S214002810B0B00100891A00007CB00100003800400A -S214002820CC00002000E100E0C268136843F0020319 -S2140028301360136913F0030FFBD17047C268136966 -S21400284013F0030FFBD11068C0F340007047002060 -S2140028507047000010B5C068094B9847044640F220 -S2140028600F1208490120084B984704EB8404074BD5 -S21400287003EB840494F82200054B984710BD00BF74 -S21400288021260000B0B00100891A00007CB00100CB -S214002890E91B000008B5064B1868C3689A7A12F060 -S2140028A0010F00D108BD01229A7203689847F9E724 -S2140028B0CC00002008B5024B9847024CA047FDE725 -S2140028C0C92800007529000030B58DB0174B984711 -S2140028D0174B9847174B9847174B9847174B9847EF -S2140028E0174B9847174B9847174C4FF496530022B0 -S2140028F016492046164DA84701A8164B9847164B72 -S2140029000493029401A8154B98470020144B98474F -S2140029100021144B9847044623225A21124B98470D -S21400292012492046124B98470DB030BD491C000096 -S2140029303914000005130000C1110000C113000087 -S214002940452F0000D102000050260020D0000020B5 -S21400295019130100B9120100350C000039130100EB -S214002960292A000035A50100C53A0000C4B00100C0 -S21400297035A2010008B50120024B9847024B984744 -S21400298008BD00BF35150000753D0100003018BFBA -S21400299001207047F0B5C3B0054614461C4B984757 -S2140029A0E5282CD8064602AF024629463846194B7B -S2140029B09847BD192023BB5528236B703023AB7076 -S2140029C07823EB70291D1C22134824FA02F303F027 -S2140029D00F0303441B7D01F8013B043A12F1040F78 -S2140029E0F3D129232B7300236B7302AB00930B4B9D -S2140029F0BC220B4903200B4CA04743B0F0BD00950A -S214002A00064BBF2206490320064CA047F5E700BF49 -S214002A104FAF0100FD2B0100D0B00100F8B001005F -S214002A200CB101000528010008B1C06B704710B555 -S214002A3082B0084B984710B1C06B02B010BD064B71 -S214002A400093064B2E2206490220064CA047002083 -S214002A50F3E700BF89140100E8B2010014B20100D8 -S214002A60BCB201000528010008B1006C704710B523 -S214002A7082B0084B984710B1006C02B010BD064BF0 -S214002A800093064B4B2206490220064CA047002026 -S214002A90F3E700BF8914010024B3010028B2010047 -S214002AA0BCB201000528010008B1406C704710B5A3 -S214002AB082B0084B984710B1406C02B010BD064B70 -S214002AC00093064B5C2206490220064CA0470020D5 -S214002AD0F3E700BF8914010060B3010040B20100B3 -S214002AE0BCB2010005280100A0B138B50346002499 -S214002AF0094D93F8342002F02002002A18BF1C4625 -S214002B001846A84703460028F3D114B12046034BC5 -S214002B10984738BD704700BF053300003D3A0000B7 -S214002B202DE9F84F037D13F0010F2AD117468A4688 -S214002B300646C4684FF001090025DFF8C480AB469E -S214002B404AE0337D13F0100F00D1D5B9B9F1000F6C -S214002B5017D03046D0470446002D35D0D94646E03B -S214002B60F368A3420DD093B11868C36900221721F9 -S214002B709847F36800220E2118681E4B98470128D4 -S214002B8001D0BDE8F88FF36818681B4B9847F460CF -S214002B902068C369002216219847F36800220D2199 -S214002BA01868144B98470128EBD1F3681868134B44 -S214002BB09847F3681868104B98473369002BE0D0A5 -S214002BC030469847BDE8F88F0028DAD00546D94643 -S214002BD02068C0470028C3D0002CB2D0002D08BF04 -S214002BE0254621463046B8470446A842C9D0002CA0 -S214002BF0EED1F1E755310000A9390000E92A0000BE -S214002C002D38000008B518210148024B984708BD2A -S214002C10086E0020A124010008B5024A0249034BB1 -S214002C20984708BD6525010051250100212B0000AD -S214002C3008B5024A0249034B984708BD9125010092 -S214002C405B250100212B000038B50446037DC3F345 -S214002C50001543F01003037513F0080F0CBF044B68 -S214002C60044B9847237D65F30413237538BD00BFD6 -S214002C70192C0000312C000000284FD0F0B583B08E -S214002C8005460C460746264B98470146A0B1036802 -S214002C909C4207D0234E3846B047014660B10B68C9 -S214002CA0A342F8D1204B0093204B752220490120E7 -S214002CB0204CA04703B0F0BDA36B73B120461E4B5B -S214002CC0984750B1A06B1D4B98471D4B0093174B70 -S214002CD07F2217490120174EB047A5632846194B97 -S214002CE098470646184B984758B1002EE2D03460F5 -S214002CF028460B4B98478642DCD128460F4B984710 -S214002D00D8E70A4B0093852209490320094CA047BF -S214002D10324600230D480E498847FEE7704700BF3D -S214002D205125010065250100CCB401007CB40100EA -S214002D3090B401000528010081560000492C0000CF -S214002D4008B50100052501008D290000BCB401006E -S214002D50952900002DE9F041D0F83880B8F1000F31 -S214002D6051D0D8F80C30002B4DD005461B68984241 -S214002D701ED046464046254B98470446002842D07B -S214002D8003689D4209D0224F21463046B847044684 -S214002D90002838D023689D42F6D1214640461D4B78 -S214002DA0984720461C4B98470023AB63BDE8F0814C -S214002DB098F8143013F0010F05D098F814306FF31C -S214002DC0000388F814304046104B9847D8F80C306B -S214002DD083420BD04046114B9847D8F80C301B68FE -S214002DE09D4204BF0023C8F80C30C2E740460C4B97 -S214002DF09847D8F80C309842ECD10068C369002296 -S214002E0017219847E9E7BDE8F08100BF512501008A -S214002E10652501003D2601006D2A0100492C0000B1 -S214002E205B25010018B1C3681BB118687047002005 -S214002E3070470020704718B1007DC0F3400070470F -S214002E4000207047014B5868704700BF742600206A -S214002E50F8B5B0B1034690F8502042F0020280F870 -S214002E605020184A5268904204D039B1DA6B914229 -S214002E7004D0F8BD0020134A1060F6E70022DA639B -S214002E80F8BD0C460020104B984703460028F0D0AB -S214002E900C4D00270C4E05E0DF631846B04703468E -S214002EA00028E6D093F8502042F0020283F8502023 -S214002EB06A689A4208BF2F60002CEDD0DA6B944205 -S214002EC0EBD1E9E774260020C915010008B50021FA -S214002ED00846014B984708BD512E0000014B186864 -S214002EE0704700BF742600202DE9F04789469046BB -S214002EF000F1040A5046114B9847E0B104461FFA09 -S214002F0089F61FFA88F50E4F238A33442382638A94 -S214002F102B446382A38A3344A382E38A2B44E3824E -S214002F20424649462046FFF7DFFF21465046B8474F -S214002F3004460028E8D1BDE8F08700BF512501000F -S214002F406525010030B585B0214B1B78002B36D1A6 -S214002F50204B9847204B9847204B9847204B984744 -S214002F60204B984710212048204CA047204B029326 -S214002F700193009302224FF01F014FF600001D4DF3 -S214002F80A8471D4B98471D4B98474FF4B8711C48EF -S214002F90A04760211B48A0471B4B98471B4B9847F0 -S214002FA001201B4B98470120094B1870194B0093C2 -S214002FB0194BA22219491A4CA04705B030BD194B2F -S214002FC00093154B782215490220154CA047F4E7CC -S214002FD07C26002065290100953B01002122010086 -S214002FE045180100052C0000586D0020A1240100A2 -S214002FF010000020F170010079470100FD63000019 -S214003000B46C0020A86C0020CD2E000069050100DD -S214003010D5F9000000BD01003CB50100C0BC0100B0 -S21400302005280100E8BC010030B583B004460D4613 -S2140030300C4B984738B194F8343065F3000384F8A5 -S214003040343003B030BD084B00934FF4B4620749E8 -S2140030500320074DA847224600230648064988470E -S214003060FEE700BF8D290000B0B50100C0BC01001E -S2140030700528010020BD0100952900002DE9F0413A -S21400308086B0074615461E460C4621B10846284B14 -S2140030909847002833D0039400238DF8103005930A -S2140030A0244B5B6803B10593224B03AA5A60D3F8FE -S2140030B008809E60204B984718B183680BB129465C -S2140030C0984717B129462046B8471A4BC3F80880D8 -S2140030D05A6892685A609DF81030F3B90CB394F8A9 -S2140030E0343013F0400F1ED02068F0B13246294627 -S2140030F0124B9847012814BF002001200EE0104B09 -S21400310000934FF4DB620F4903200F4DA847224679 -S21400311000230E480E498847FEE7002006B0BDE8AB -S214003120F0810120FAE70120F8E70120F6E700BF6A -S2140031308D2900007C260020452E00005531000019 -S21400314080B60100C0BC01000528010020BD0100BA -S21400315095290000E8B170B582B0044616460D46C3 -S2140031600D4B984768B90D4B009340F2C4620C496A -S21400317003200C4DA847224600230B480B498847DE -S214003180FEE733462A462146A069094CA04702B00E -S21400319070BD0120704700BF8D29000094B6010065 -S2140031A0C0BC01000528010020BD010095290000D3 -S2140031B07D30000030B583B004460D46094B984775 -S2140031C010B1E56103B030BD074B009340F21B72AF -S2140031D006490320064DA84722460023054806490F -S2140031E08847FEE78D290000A4B60100C0BC010098 -S2140031F00528010020BD01009529000020B110B56A -S214003200C4691CB1A04710BD01207047012010BD45 -S21400321030B583B004460D46094B984710B1256279 -S21400322003B030BD074B009340F2377206490320C7 -S214003230064DA84722460023054806498847FEE76C -S2140032408D290000BCB60100C0BC010005280100A5 -S21400325020BD01009529000030B583B004460D4618 -S2140032600D4B984768B90D4B009340F249720C49D4 -S21400327003200C4DA847224600230B480B498847DD -S214003280FEE72946606A0A4B9847034600B160622B -S214003290184603B030BD00BF8D290000D4B601002B -S2140032A0C0BC01000528010020BD010095290000D2 -S2140032B0412E010030B583B004460C4B984768B9E0 -S2140032C00B4B009340F259720A4903200A4DA84757 -S2140032D02246002309480A498847FEE700226286FC -S2140032E0E36906212046984703B030BD8D290000CB -S2140032F0F0B60100C0BC01000528010020BD010099 -S2140033009529000030B583B004460A4B984710B1A3 -S214003310206803B030BD084B009340F29F72074907 -S2140033200320074DA847224600230648064988473B -S214003330FEE700BF8D2900000CB70100C0BC0100ED -S2140033400528010020BD01009529000030B583B096 -S21400335004460E4B984708B10D4D0EE00D4B0093FA -S21400336040F26B720C4903200C4DA84722460023FE -S2140033700B480C498847FEE71C462046A8470346EC -S2140033800028F9D1204603B030BD00BF8D290000CB -S2140033900533000020B70100C0BC0100052801006D -S2140033A020BD0100952900002DE9F04383B00446B6 -S2140033B0224B984780B123681BB12046204B984784 -S2140033C004462048204B9847054660B3DFF87890BF -S2140033D01E4EDFF8708012E01D4B009340F27F72A5 -S2140033E01C4903201C4DA847224600231B481C49A5 -S2140033F08847FEE729464046B047054698B105F19E -S21400340030073846C84701460028F3D0844206D025 -S2140034103846B04701460028ECD08C42F8D1284602 -S21400342003B0BDE8F0830F4B0093094B4FF4F262F4 -S21400343008490220084CA0470025F0E78D29000027 -S2140034404D330000B46C00205125010065250100B5 -S21400345034B70100C0BC01000528010020BD0100F2 -S2140034609529000030BD010030B583B004460D46F6 -S2140034700D4B984730B19DB12946201D0B4B984700 -S21400348003B030BD0A4B009340F2AD7209490320E9 -S214003490094DA84722460023084809498847FEE701 -S2140034A0201D084B9847EBE78D2900006525010095 -S2140034B044B70100C0BC01000528010020BD010082 -S2140034C0952900005125010030B583B005460C460D -S2140034D00E4B984760B105F10F0204F10800234631 -S2140034E012F8011F03F8011B8342F9D103B030BD67 -S2140034F0074B009340F6010206490320064CA047FE -S2140035002A460023054806498847FEE78D2900001D -S214003510BCB70100C0BC01000528010020BD0100A9 -S2140035209529000030B583B004460F4B984768B91C -S2140035300E4B009340F622020D4903200D4DA8477E -S214003540224600230C480D498847FEE720460C4BD0 -S2140035509847034628B1208A1B8AC01A00B203B0D7 -S21400356030BDB4F91000FAE78D290000D0B701008D -S214003570C0BC01000528010020BD010095290000FF -S2140035800533000030B583B004460F4B984768B942 -S2140035900E4B009340F636020D4903200D4DA8470A -S2140035A0224600230C480D498847FEE720460C4B70 -S2140035B09847034628B1608A5B8AC01A00B203B0F7 -S2140035C030BDB4F91200FAE78D290000E0B701001B -S2140035D0C0BC01000528010020BD0100952900009F -S2140035E00533000030B583B004460C4B984730B125 -S2140035F0A08A0130238AC01A00B203B030BD084B3F -S214003600009340F64A0207490320074DA847224682 -S2140036100023064806498847FEE700BF8D290000BC -S214003620F0B70100C0BC01000528010020BD010064 -S2140036309529000030B583B004460C4B984730B14E -S214003640E08A0130638AC01A00B203B030BD084B6E -S214003650009340F6560207490320074DA847224626 -S2140036600023064806498847FEE700BF8D2900006C -S21400367004B80100C0BC01000528010020BD0100FF -S2140036809529000009B92830704700B583B08DF839 -S2140036900010002301936A460821044B984701282E -S2140036A00CBF0198002003B05DF804FBFD3100005C -S2140036B02DE9F84F80468A4693461E461C481D4B09 -S2140036C09847002831D00546B0422ED0DFF86090EB -S2140036D0194F09E0AB885B4514D0BBF1FF0F11D042 -S2140036E01CB32546A64220D029464846B84704467D -S2140036F028684045F4D1A9795145EBD0BAF1FF0FBF -S214003700EED1E7E70D4B98470D4B9847A9880D4B30 -S2140037109847002128460C4B9847294648460B4BAD -S214003720984728460A4B9847DAE7BDE8F88F00BF67 -S214003730586D00205B2501009125010085360000AC -S2140037408F760000956D0000D11801003D2601001F -S2140037506D2A010030B583B004460D460B4B9847E2 -S21400376048B10B4B98470023FF2229462046094CB8 -S214003770A04703B030BD084B0093084B40F292427E -S21400378007490220074CA047F3E700BF8536000034 -S214003790A1760000B13600007CBD0100C8B801006B -S2140037A0C0BC010005280100F8B504681748184B8E -S2140037B0984708B301460027144E164D03E03046DE -S2140037C0A847014678B18C42F9D00A6823689A4225 -S2140037D0F5D14B6823F07F42636823F07F439A421B -S2140037E008BF0127EBE73FB1214608480A4B984738 -S2140037F020460A4B9847F8BDA1792068084B9847A1 -S214003800084B9847A188084B9847EDE7586D00206D -S21400381051250100652501003D2601006D2A0100A5 -S214003820853600008F760000956D000030B583B0B9 -S21400383004460B4B984728B194F83400C0F30010A8 -S21400384003B030BD074B009340F6412206490320E3 -S214003850064DA84722460023054806498847FEE746 -S2140038608D29000018B90100C0BC01000528010020 -S21400387020BD0100952900002DE9F04186B00446E0 -S2140038800E463A4B984768B9394B00934FF4F0729E -S21400389038490320384DA847224600233748384980 -S2140038A08847FEE72046374B984710B106B0BDE87C -S2140038B0F0812046344B98470746344B98470546D8 -S2140038C0334B9847874209D02846324B9847874261 -S2140038D004D02846304B98478742E7D1B4F93230B7 -S2140038E004F10F0204F1170002A912F8017F01F893 -S2140038F0017B8242F9D19BB2BDF80820D21AADF8FE -S2140039000820BDF80A20D21AADF80A20BDF80C200F -S2140039101A44ADF80C20BDF80E201344ADF80E3056 -S21400392002AA314604A81D4B98470028BED0204660 -S2140039301B4B9847044698B1DFF86080114F184E2D -S21400394004F1100204A90846C0470028AED020465D -S214003950B8470028AAD12046B04704460028EFD131 -S21400396004A928460F4B9847A0E700BF8D29000002 -S2140039702CB90100C0BC01000528010020BD0100D3 -S214003980952900002D3800004D330000A9330000B3 -S214003990292A0000692A0000A92A0000C11A01008D -S2140039A0053300000164000030B585B004461C4BAA -S2140039B0984738B3B4F9323004F10F0204F1170512 -S2140039C002A912F8010F01F8010BAA42F9D19BB225 -S2140039D0BDF80820D21AADF80820BDF80A20D21A81 -S2140039E0ADF80A20BDF80C201A44ADF80C20BDF83E -S2140039F00E201344ADF80E3002A92046094B984716 -S214003A0005B030BD084B009340F20D220749032055 -S214003A10074DA84722460023064807498847FEE781 -S214003A208D2900007938000044B90100C0BC0100AF -S214003A300528010020BD010095290000F0B583B0DF -S214003A400546164B984768B9154B009340F262221C -S214003A5014490320144CA0472A460023134814494F -S214003A608847FEE72846134B98470446061D30460F -S214003A70114B984785420FD02046104FB847012378 -S214003A802A46314630460E4EB047E3692A460121A3 -S214003A90204698472046B84703B0F0BD8D29000061 -S214003AA058B90100C0BC01000528010020BD010076 -S214003AB0952900000533000051250100A9390000B2 -S214003AC0C92601002DE9F04784B004468A46174609 -S214003AD02D4B984700283ED02668002E49D0338AC2 -S214003AE0228A9B1A53441FFA83FA0FFA8AF8758AB9 -S214003AF0638AED1A3D44ADB20FFA85F9B8F1000FAE -S214003B0002D1B9F1000F23D02046204FB84702A9B2 -S214003B1020461F4B9847238A53442382638A2B44AC -S214003B206382A38A5344A382E38A1D44E5824A46FD -S214003B3041462046174B9847E36902AA02212046D1 -S214003B409847F36922460121304698472046B847F1 -S214003B5004B0BDE8F087104B009340F296220F4960 -S214003B6003200F4DA847224600230E480E498847DB -S214003B70FEE70E4B0093084B4FF4277207490220CE -S214003B80074CA047E4E700BF8D290000A9390000D4 -S214003B90C9340000E92E000088B90100C0BC01004D -S214003BA00528010020BD010095290000B4BD0100D4 -S214003BB030B583B004460D460D4B984768B90D4B9B -S214003BC000934FF433720C4903200C4DA84722464D -S214003BD000230B480B498847FEE720460A4B9847C8 -S214003BE0024629462046094B984703B030BD00BF21 -S214003BF08D29000098B90100C0BC0100052801000D -S214003C0020BD01009529000085350000C53A00005A -S214003C1030B583B004460D460D4B984768B90D4B3A -S214003C2000934FF436720C4903200C4DA8472246E9 -S214003C3000230B480B498847FEE720460A4B984767 -S214003C402A4601462046094B984703B030BD00BFC0 -S214003C508D290000A8B90100C0BC0100052801009C -S214003C6020BD01009529000025350000C53A00005A -S214003C702DE9F04385B004460D4690461F46BDF933 -S214003C8030602C4B984768B92B4B009340F26D324E -S214003C902A4903202A4DA8472246002329482A49B4 -S214003CA08847FEE78DB12846224B984790B9224BAD -S214003CB0009340F2713221490320214CA0472A4646 -S214003CC00023204820498847FEE720461F4B984798 -S214003CD00546E8E703AB424604F1100105F1100083 -S214003CE0DFF87090C8472046184B9847B0F9123056 -S214003CF0BDF80E203244BDF80C103944008A091A6B -S214003D0009B2ADF80C10D21A12B2ADF80E20204649 -S214003D100F4B984784F84880A4F84470A4F846608F -S214003D20256494F849306FF3410384F8493005B0B0 -S214003D30BDE8F0838D290000B8B90100C0BC0100C1 -S214003D400528010020BD010095290000053300006C -S214003D50C53A0000CD1D01002DE9F04F85B0814623 -S214003D600E4692460393BDF938B0A34B984768B900 -S214003D70A24B009340F29532A1490320A14CA047E4 -S214003D804A460023A048A1498847FEE74846A04B7C -S214003D909847054648469F4B9847044648469E4BDC -S214003DA0984700EBD07040F34F0848469B4B984727 -S214003DB000EBD07040F34F07EEB130468E4B98477D -S214003DC0F0B1BAF1140F39D8DFE81AF028005C0019 -S214003DD062006D0076007F008D009900A500B4009B -S214003DE0BA00C500CE00D700E500F100F7000301D9 -S214003DF00C012E013D014846894B98470646DCE7F4 -S214003E007E4B009340F2A1327D4903207D4CA047B3 -S214003E10324600237C487D498847FEE730467E4B85 -S214003E20984700EBD070C8EB60052DB230467B4B50 -S214003E30984700EBD070C7EB600424B24846784B36 -S214003E409847318A039F39442944038AC91A728ADB -S214003E505A442244438AD21A12B209B24846714BD7 -S214003E60984789F848A0A9F84470A9F846B0C9F858 -S214003E70406099F8493043F0020389F8493005B0AC -S214003E80BDE8F08FC8F100052DB27C4224B2D5E71C -S214003E903046614B984700EBD070C8EB60052DB2FA -S214003EA07C4224B2CAE730465B4B9847A0EB08003A -S214003EB005B27C4224B2C1E7C8F100052DB23046F7 -S214003EC0564B9847C01B04B2B8E73046524B98474B -S214003ED000EBD070C8EB60052DB230464F4B9847CC -S214003EE0C01B04B2AAE730464B4B9847A0EB08002D -S214003EF005B23046494B9847C01B04B29EE7C8F14E -S214003F0000052DB23046454B984700EBD070C7EB06 -S214003F10600424B292E730463F4B9847A0EB080077 -S214003F2005B230463D4B984700EBD070C7EB6004B7 -S214003F3024B283E7C8F100052DB27C4224B27DE7A7 -S214003F403046354B984700EBD070C8EB60052DB275 -S214003F507C4224B272E730462F4B9847A0EB08000D -S214003F6005B27C4224B269E7C8F100052DB230469E -S214003F702A4B9847C01B04B260E73046264B98474A -S214003F8000EBD070C8EB60052DB23046234B984747 -S214003F90C01B04B252E730461F4B9847A0EB080000 -S214003FA005B230461D4B9847C01B04B246E7C8F121 -S214003FB000052DB27C4224B240E7C8F100052DB2C0 -S214003FC03046164B984700EBD070C7EB600424B21F -S214003FD034E7C8F100052DB23046104B9847C01B99 -S214003FE004B22BE730460C4B9847A0EB080005B20E -S214003FF07C4224B222E700BF8D290000C8B9010028 -S214004000C0BC01000528010020BD01009529000064 -S2140040102535000085350000E53500003536000002 -S21400402005330000C53A000030460D4B9847A0EB1C -S214004030080005B230460B4B984700EBD070C7EB34 -S214004040600424B2FAE63046054B9847A0EB080019 -S21400405005B23046034B9847C01B04B2EEE600BFDD -S214004060E53500003536000030B583B00446124B07 -S214004070984790B194F8493013F0020FB4F94430E1 -S21400408094F84820B4F946100091216C204614BFDD -S2140040900A4C0B4CA04703B030BD0A4B009340F2CD -S2140040A02A4209490320094DA8472246002308480A -S2140040B008498847FEE700BF8D290000593D0000EB -S2140040C0713C0000DCB90100C0BC010005280100FD -S2140040D020BD0100952900002DE9F041064600218B -S2140040E00D4B9847B0B104460C4D4FF000080A4FF0 -S2140040F02046A847E36942460421204698472046C2 -S214004100A8472046FFF7E8FF21463046B847044652 -S2140041100028EDD1BDE8F08169340000A93900001F -S21400412030B583B005460C46364B984798B1712C8F -S21400413046D8702C23D2412C1BD8402C1FD2022CE0 -S21400414005D3072C1BD9A4F11003082B17D9284632 -S2140041502D4B98472FE02D4B009340F21D522C49D3 -S21400416003202C4CA0472A4600232B482B4988477F -S214004170FEE7532C21D8502C01D24C2CE7D12846F0 -S214004180214B9847EB690022042128469847152CB6 -S21400419009D3182C01D9FF2C05D1286818B1C3699A -S2140041A00022012198472846174B9847FF2C24D019 -S2140041B014F4004F21D103B030BD5C2CC7D1DEE72C -S2140041C07F2C0CD948F281039C4211D848F2800318 -S2140041D09C42D4D2902CD2D0FF2CB8D1CFE77E2CE4 -S2140041E0CDD2732CB3D3752CC9D97C2CAFD1C6E7EE -S2140041F048F28E039C42AAD1C1E72846084B98474E -S214004200D9E700BF8D290000A9390000ECB90100EC -S214004210C0BC01000528010020BD01009529000052 -S214004220D940000010B50446034B9847FF212046AE -S214004230024B984710BD00BF5537000021410000D3 -S2140042402DE9F84304460F460026DFF888803546F9 -S214004250DFF8849005E0FF213846C8470136402E37 -S21400426022D0F1B23846C0478646E8B10179002927 -S214004270F4D090F805C00CF0060C0023DAB2BCF1BE -S214004280060F04BF0132D2B28A423ABFDEF80000FF -S21400429050F822202A469442DDD0002CDBD0013391 -S2140042A0DAB28A42EAD3D9E700213846084B984763 -S2140042B0054650B1064E29462046FFF7C1FF29465F -S2140042C03846B04705460028F5D1BDE8F88300BF5C -S2140042D06934000085360000214100002DE9F047D2 -S2140042E0804600200F4B9847C8B18146DFF840A0B3 -S2140042F00D4F0E4E09F130052846D047044640B112 -S21400430021464046B84721462846B047044600287E -S214004310F6D14846034B984781460028EAD1BDE8C7 -S214004320F08700BF611501004142000065250100CD -S21400433051250100F8B504460D4681790068424BC8 -S2140043409847424B9847A18801F00F03082B19DCC9 -S21400435045B9B4F908203E4B9847A18820683D4BE4 -S2140043609847F8BDFF2D0AD0B4F90820B4F90C30F0 -S2140043709B1A05FB03F502EB252212B2EBE7B4F914 -S2140043800C20E8E70B2B43DC002D05DDFE2D05DDBC -S214004390A289314B9847E0E72289FAE7EDB2C5F1EA -S2140043A0FF02637BDB08667AF60802FB06F605FB6F -S2140043B0036303EB032703EBC713C3F3C457A389B5 -S2140043C0C3F345132689C6F3451602FB06F605FB1E -S2140043D0036303EB032603EBC613C3F3C556237B25 -S2140043E003F01F0394F808E00EF01F0E02FB0EF217 -S2140043F005FB032505EB052305EBC315ED0D4FF077 -S214004400000265F3040266F34A1267F3CF22C0E7A0 -S2140044100D2B12DC002D05DDFE2D05DD227B0F4B5E -S21400442098479AE7227AFAE7227A237B9B1A05FBBB -S21400443003F502EB2522D2B2F1E77F2DD4BFA268A6 -S214004440E268074B984788E7853600008F760000BD -S214004450896E000021410000CD6F00001171000040 -S2140044604172000030B583B004460A4B984710B13D -S214004470002003B030BD084B009340F6B122074938 -S2140044800320074DA84722460023064806498847CA -S214004490FEE700BF8D290000BCBA0100C0BC0100C9 -S2140044A00528010020BD010095290000F0B583B065 -S2140044B00D46064688B19D4B9847002840F064811B -S2140044C09B4B0093ED229B4903209B4CA047324612 -S2140044D000239A489A498847FEE79A4B984748B976 -S2140044E0994B0093924BCF2292490220924CA047C0 -S2140044F03446F5E13030954B984704468B4B984749 -S21400450060B98B4B0093D4228A4903208A4DA84772 -S214004510224600238E488A498847FEE7002C00F092 -S214004520DF814C2120468B4B984794F835306FF34B -S214004530051384F83530884BE361884B23620027E7 -S214004540A761278267823846854B98470138A08244 -S2140045503846844B98470138E0824C21201D824B18 -S21400456098470023638684F8303084F8313084F826 -S2140045704830A4F84430A4F84630236494F8492020 -S21400458063F3000284F84920A36394F8342002F011 -S2140045907F0242F0010294F83510032060F34301D5 -S2140045A084F83C3002F0C10263F3861284F83420AB -S2140045B041F0010184F8351084F83D30636204F15F -S2140045C028073846694B9847002D00F06C8105F1A6 -S2140045D028013846664B984705F10F0204F118018A -S2140045E004F1100312F8010F03F8010B8B42F9D106 -S2140045F0B5F93230638695F8303084F8303095F867 -S214004600313084F8313095F8483084F84830B5F9C0 -S2140046104430A4F84430B5F94630A4F846302B6C44 -S214004620236495F8492094F8493062F3000384F82F -S2140046304930AB69A36195F83430DB0994F834202F -S21400464063F3C71284F8342095F8342094F8343095 -S21400465062F3000384F8343095F83430C3F3400333 -S21400466094F8342063F3410284F8342095F835300A -S214004670C3F3420394F8352063F3430284F83520ED -S21400468095F83430C3F3800394F8342063F3820241 -S21400469084F8342095F83430C3F3C003D2B263F301 -S2140046A0C30284F8342095F83430C3F30013D2B232 -S2140046B063F3041284F8342095F83430C3F34013BF -S2140046C0D2B263F3451284F8342095F83430C3F33D -S2140046D08013D2B263F3861284F8342095F83C3007 -S2140046E084F83C3095F8352094F8353062F30003B2 -S2140046F084F83530A86B10B121461E4B98472846E3 -S2140047001D4B9847002800F0D980002E00F0DF806F -S21400471028461A4B984707462846194B984702469C -S21400472039462046174B9847C9E000BF8D29000040 -S214004730D0BA0100C0BC01000528010020BD010060 -S21400474095290000891401001CBE0100B92401004F -S214004750BCB40100DF300100AD5F0000715A0000FC -S21400476095140100BD140100A1240100916A000007 -S21400477011770000792C0000053300002535000075 -S21400478085350000C53A0000301D574B9847044653 -S214004790564B9847002847D0002C00F0A1804C21AB -S2140047A02046534B9847266094F835306FF3051330 -S2140047B084F835304F4BE3614F4B23620020A061F5 -S2140047C0B6F912306382778A4C4B9847322303FB44 -S2140047D000F35033B3F5A07F33DA01233B44E38282 -S2140047E02046474B984701283AD0B6F91030238226 -S2140047F0378A0020414B9847642303FB00F350336D -S214004800B3F5A07F4DDB00203C4B9847642303FBA9 -S21400481000F350333B4A82FB0312DB17C3EBA213B1 -S2140048209BB23B44A38298E6374B0093F02237496D -S2140048300320374DA8472246002336483649884786 -S214004840FEE700202D4B9847322303FB00F350333E -S2140048502C4A82FB0312DB17C3EBA2139BB2BDE705 -S214004860B6F91430A382B78A0020244B98476423F5 -S21400487003FB00F35033B3F5A07F10DB00201F4B83 -S2140048809847642303FB00F350331E4A82FB03124F -S214004890DB17C3EBA2139BB2FB1A23825DE6012350 -S2140048A0FAE70123BDE726B1022120461B4B9847B5 -S2140048B005E001212046194B984708E03EB1F36910 -S2140048C022460121304698472046154B9847154BFF -S2140048D000930D4B40F287120C4901200C4DA8475F -S2140048E0204603B0F0BD00BFB92401008D290000AA -S2140048F0DF300100AD5F0000715A0000E5140100D2 -S2140049006544000067666666D0BA0100C0BC010058 -S21400491005280100BCB4010095290000914701005C -S214004920A93900006CBE01002DE9F04184B00446B0 -S2140049300D461646324B984768B9324B009340F204 -S214004940E52231490320314DA8472246002330484E -S21400495030498847FEE720462F4B9847A8423FD06D -S21400496020462E4B984702A920462D4B9847731E8B -S214004970628A1344E38220462A4B9847012835D0A2 -S2140049806B1E228A1344A382E36902AA02212046F0 -S21400499098472046244B984718B1C56922460121FE -S2140049A0A847261D3046214B9847054668B14FF06C -S2140049B003081F4FEB6902AA414628469847294636 -S2140049C03046B84705460028F4D12046134B984792 -S2140049D094F8493013F0010F0ED104B0BDE8F08111 -S2140049E02046144B9847B042BAD1F6E7C5F101030A -S2140049F0A28A13442382C7E720460F4B9847ECE76A -S214004A008D290000F4BA0100C0BC01000528010091 -S214004A1020BD010095290000E5350000A9390000F9 -S214004A20C93400006544000005330000512501002C -S214004A3065250100353600006940000030B583B0BA -S214004A4004460D460D4B984768B90D4B009340F24F -S214004A5027320C4903200C4DA847224600230B485A -S214004A600B498847FEE720460A4B98472A460146E8 -S214004A702046094B984703B030BD00BF8D29000083 -S214004A8018BB0100C0BC01000528010020BD0100C4 -S214004A9095290000E53500002949000030B583B0AF -S214004AA004460D460C4B984738B194F83C301D42EE -S214004AB014BF0120002003B030BD084B009340F621 -S214004AC0D72207490320074DA84722460023064859 -S214004AD006498847FEE700BF8D29000040BB01005D -S214004AE0C0BC01000528010020BD0100952900007A -S214004AF030B585B004460D46114B984728B13F2D7A -S214004B0011D894F83D0005B030BD0E4B009340F62A -S214004B10DE220D4903200D4DA847224600230C48EF -S214004B200C498847FEE78DF80C5000238DF80D30B1 -S214004B3003AA09212046084B98479DF80D00E2E796 -S214004B408D29000054BB0100C0BC010005280100EF -S214004B5020BD010095290000FD3100002DE9F04F31 -S214004B6085B0174660B30D464FEA122B0646DFF8AF -S214004B708CA0DFF88C90DFF88C8006E0BDF90E0084 -S214004B8005B0BDE8F08F0025DEB129463046D04797 -S214004B90019029463046C84707EB002084B20DF145 -S214004BA00E0221460198C0470128E7D01BF0800F6F -S214004BB007D0002DE7D130460F4B98470646E2E770 -S214004BC0144624F4FE44A4B2222C0FD006D8032C9C -S214004BD00AD0072C0CD14FF48070D1E7312C09D0C5 -S214004BE0C02C05D11020CBE70620C9E7FF20C7E779 -S214004BF00020C5E70F20C3E7053300008536000018 -S214004C00F14A00008D7800002DE9F04F85B0174678 -S214004C1048B30D464FEA122B0646DFF86CA0DFF8C5 -S214004C206C90DFF86C8004E0BDF80C0025E00025F1 -S214004C30D6B129463046D047019029463046C84767 -S214004C4007EB002084B203AA21460198C04701283A -S214004C50EAD01BF0800F07D0002DE8D13046084B75 -S214004C6098470646E3E7144624F4FE44293C012C04 -S214004C709ABF044BB3F87406002005B0BDE8F08F69 -S214004C80053300003CB5010085360000F14A0000FF -S214004C90517900002DE9F04F85B0174650B30D4608 -S214004CA04FEA122B0646DFF874A0DFF87490DFF8A0 -S214004CB0748004E09DF80F0029E00025DEB1294647 -S214004CC03046D047019029463046C84707EB0020BB -S214004CD084B20DF10F0221460198C0470128E9D0A1 -S214004CE01BF0800F07D0002DE7D130460A4B9847BF -S214004CF00646E2E7144624F4FE44A4B26D2C09D01E -S214004D0048F2AD039C4205D02C2C03D0FF2005B002 -S214004D10BDE8F08F0020FAE7053300008536000076 -S214004D20F14A0000157A00002DE9F04F85B01746CD -S214004D3050B30D464FEA122B0646DFF880A0DFF888 -S214004D408090DFF8808005E0039805B0BDE8F08F1E -S214004D500025D6B129463046D04701902946304630 -S214004D60C84707EB002084B203AA21460198C04733 -S214004D700128E9D01BF0800F07D0002DE8D130467F -S214004D800B4B98470646E3E7144624F4FE44A4B2C9 -S214004D90BE2C0AD048F28E039C4203D07E2C01D053 -S214004DA00020D2E7034B9847CFE70348CDE700BF84 -S214004DB00533000085470100E40602008536000042 -S214004DC0F14A0000D97A000070B50468A58805F09D -S214004DD00F03082B13DD0B2B18DD0D2B1DDD2A46CC -S214004DE0A1792068104B9847A0600023A380234633 -S214004DF02A46A17920680D4EB047A58070BD2A4688 -S214004E00A17920680A4B98472081EEE72A46A179C7 -S214004E102068084B98472081E7E72A46A179206852 -S214004E20054B98472072E0E7294D0000B136000098 -S214004E305D4B0000094C0000954C000090F83D309A -S214004E408B4200F052822DE9F04FA1B0894682468F -S214004E50AB4B984740B19AF83DB08AF83D90002396 -S214004E600693A84DD846D2E1A74B009340F237628E -S214004E70A6490320A64CA04752460023A548A649AB -S214004E808847FEE7737943F0040373718AF83D8020 -S214004E902246DDF80CB059465046A84707468AF821 -S214004EA03D902246CDF80CB059465046A84783465A -S214004EB073796FF38203737187424AD08AF83D8014 -S214004EC0224603995046A84706468AF83D90024671 -S214004ED021460498914B9847012C00F09480904806 -S214004EE0904B98470746864B9847002800F0A280CC -S214004EF0002F2ED03E81A7F80CB0C7F800A0BC80CB -S214004F009DF80C30BB7110A8874B98471097874BBD -S214004F101193874B1293874B139300231693FF230B -S214004F2017930A9B1893099B5B421993089A531E82 -S214004F30D01D14AA13F8011F02F8011B8342F9D1F1 -S214004F409DF876306FF300038DF8763010A87A4B14 -S214004F509847059B10AA934200F05481059B33F8AE -S214004F60024B0593002CF4D00798744B984703998E -S214004F705046734B98470646724B9847049004F089 -S214004F800F03082B7FF77EAF0B2B61DD0D2B00F395 -S214004F90E980737943F0040373718AF83D802246F2 -S214004FA0DDF80CB059465046674FB8470B908AF864 -S214004FB03D902246CDF80CB059465046B847834639 -S214004FC073796FF3820373710B9B8342C1D08AF8A7 -S214004FD03D80224603995046B84706468AF83D90DB -S214004FE0024621460498594B98474D484D4B9847E2 -S214004FF00746434B9847002874D0002FA9D03E722E -S21400500087F80CB079E747F6FF739E4200F04C81B4 -S2140050109B457FF464AF5046DFF844B1D84700EBB9 -S214005020D07040F34F075046D84700EBD07040F39F -S2140050304F0351E1464B009340F6B26233490320DA -S214005040334CA0473A460023424833498847FEE798 -S214005050737943F0040373718AF83D8022460399FE -S21400506050463D4FB84783468AF83D9022460399FE -S2140050705046B847ADF82C0073796FF3820373710E -S2140050801FFA8BFB83B29B453FF463AF8AF83D80E3 -S214005090224603995046B84783468AF83D90024612 -S2140050A0214604982D4B98471D481E4B98470746A7 -S2140050B0134B984740B1002F3FF44BAFA7F808B00A -S2140050C0BDF82C30BB8118E7214B009340F6C66232 -S2140050D00E4903200E4CA0473A4600231D480E49B1 -S2140050E08847FEE71A4B009340F6DB620749032029 -S2140050F0074CA0473A460023164807498847FEE76C -S2140051008D2900005D4B0000B4BB0100C0BC01004F -S2140051100528010020BD010095290000896E0000C9 -S214005120586D0020B92401008D1801003543000099 -S214005130C94D0000A937000049190100DD770000BD -S214005140853600008F760000954C00001171000037 -S214005150C8BB0100BCB40100094C0000CD6F0000C4 -S214005160E53500008AF83D80737943F004037371D7 -S2140051702246DDF80CB0594650465C4FB8470C90B6 -S2140051808AF83D902246CDF80CB059465046B847AE -S214005190834620A941F8400D73796FF3820373713B -S2140051A004220CA8524B984700283FF4D2AE8AF847 -S2140051B03D80224603995046B84706460C908AF82A -S2140051C03D900246214604984A4B98474A484B4B26 -S2140051D0984707464A4B984730B1002F3FF4B9AE80 -S2140051E0BE60C7F80CB088E6464B009340F6EF6208 -S2140051F045490320454CA0473A46002344484549C4 -S2140052008847FEE7069B01330693402B45D09DF862 -S21400521018300393194650463F4B9847079000288E -S2140052203BD0437913F0080FECD1B022039C214603 -S2140052305046A8470A90B12221465046A8470990F2 -S214005240BE2221465046294B98470890B222214656 -S2140052505046A847ADF83400B32221465046A8472A -S214005260ADF83600B42221465046A847ADF83800BF -S214005270B52221465046A847ADF83A00B622214648 -S2140052805046A847ADF83C00B72221465046A847EE -S214005290ADF83E000DAB059360E6FF2150461F4B70 -S2140052A0984721B0BDE8F08F50461D4EB04700EB42 -S2140052B0D07040F34F075046B04700EBD07040F335 -S2140052C04F035E1C7A1C9642A8BF164636B247F6B7 -S2140052D0FF7293457FF403AE03F1010B0137BB4524 -S2140052E0A8BFBB460FFA8BFBF9E57047294D0000B7 -S2140052F00DAF010041720000586D0020B924010076 -S2140053008D290000C8BB0100C0BC010005280100B3 -S214005310BCB401009529000085360000214100003C -S214005320E535000030B583B005460C460D4B984772 -S21400533050B195F83D3043EA04018B4202D028462E -S214005340094B984703B030BD084B009340F27E628D -S21400535007490320074CA0472A460023064807496A -S2140053608847FEE78D2900003D4E0000D8BB0100AF -S214005370C0BC01000528010020BD010095290000E1 -S21400538030B583B005460C460D4B984750B195F89E -S2140053903D3023EA04018B4202D02846094B984749 -S2140053A003B030BD084B009340F28F6207490320DC -S2140053B0074CA0472A460023064807498847FEE7C9 -S2140053C08D2900003D4E0000ECBB0100C0BC010072 -S2140053D00528010020BD01009529000030B583B0E6 -S2140053E004460A4B984710B1E06903B030BD084B3D -S2140053F0009340F6F52207490320074DA8472246AA -S2140054000023064806498847FEE700BF8D290000AE -S21400541000BC0100C0BC01000528010020BD010041 -S2140054209529000030B583B004460A4B984710B162 -S214005430606A03B030BD084B009340F61E32074941 -S2140054400320074DA84722460023064806498847FA -S214005450FEE700BF8D29000044BC0100C0BC01006F -S2140054600528010020BD01009529000030B583B055 -S21400547004460A4B984710B1A06B03B030BD084BEA -S214005480009340F66F3207490320074DA84722468F -S2140054900023064806498847FEE700BF8D2900001E -S2140054A068BC0100C0BC01000528010020BD010049 -S2140054B0952900002DE9F8430546002215213C4BAE -S2140054C0984728463B4B9847074610B128463A4B24 -S2140054D0984700212846394B98470023FF2211465B -S2140054E02846374CA04705F104084046354B9847F8 -S2140054F0044658B1DFF8E89021464046C8470646BD -S2140055002046FFF7D7FF3446002EF5D12E4B5B68BA -S2140055103BB101211A68954208BF19719B68002BA0 -S214005520F8D10020294B9847044610B3DFF8B48022 -S214005530DFF8B490254E0EE029462046C047E36BC0 -S2140055409D4204BF0023E363A36D9F420AD020461A -S214005550B047044668B1636B9D42EDD0A36B9D4295 -S214005560EDD1E9E7C8478542F1D129462046C04734 -S214005570EDE7EB6900221146284698472846144B6B -S214005580984760B129460430124B9847686A08B1BC -S214005590114B98472846104B9847BDE8F883284695 -S2140055A00E4B9847294630300A4B9847EEE700BF27 -S2140055B0553100006D540000552D0000D118010033 -S2140055C0B1360000512501007C260020C9150100D7 -S2140055D0053300003D2601006D2A0100A9330000B6 -S2140055E065250100512E0000DD2E000070B582B04A -S2140055F00446194B984768B9184B009340F293122B -S21400560017490320174DA847224600231648174976 -S2140056108847FEE72046164B98472046154B984786 -S214005620054640B12046144B9847EB6900220121FD -S214005630284698470CE02046104B9847054638B158 -S214005640C66B20460C4B9847B44201D10023EB634F -S214005650002002B070BD00BF8D2900007CBC010098 -S214005660C0BC01000528010020BD010095290000EE -S214005670A939000005330000B5540000A933000026 -S21400568030B583B004460E4B984748B1A06BA8B11E -S2140056900C4B9847844214BF0020012003B030BD55 -S2140056A0094B00934FF4386208490320084DA84779 -S2140056B022460023074808498847FEE70020EDE712 -S2140056C08D290000252E0000ACBC0100C0BC0100E6 -S2140056D00528010020BD01009529000003687BB164 -S2140056E010B4021D012352F8044B1CB10133DBB287 -S2140056F0072BF8D140F8231001205DF8044B7047C3 -S214005700002340F823100120704700002DE9F041E7 -S21400571005460E4614460122A84B9847208048F2BC -S2140057200C0231462846A64B9847052842D907461C -S214005730237B002B49D1237D002B76D1237F002BA2 -S21400574040F0988094F83630002B40F0B88094F8FB -S2140057502830052B00F2018194F84430052B00F226 -S2140057603781F92F24D8BFB2237B13FB07F3C3F38B -S21400577007232373237D13FB07F3C3F30723237544 -S21400578094F8283013FB07F3C3F3072384F8283074 -S21400579094F8363013FB07F3C3F3072384F8363048 -S2140057A094F8443013FB07F7C7F3072784F84470D0 -S2140057B0BDE8F08100232373237584F8283084F82D -S2140057C0363084F84430BDE8F0812C223146284635 -S2140057D07B4B984720730528ADD9292231462846A9 -S2140057E0784B98476080232231462846734B98476B -S2140057F0C0B2A07130B92022314628466F4B984778 -S214005800607398E72A22314628466E4B9847A08058 -S214005810212231462846DFF8A481C0472081222273 -S21400582031462846C0476081E5E7302231462846A3 -S214005830624B98472082002880D03C22314628467A -S2140058405F4B98472075052806D8322231462846F1 -S2140058505A4B9847607571E7312231462846574BB8 -S2140058609847C0B26082392231462846554B984741 -S214005870E081EAE7402231462846504B984720838D -S21400588000283FF45FAF4C22314628464C4B9847E1 -S2140058902077052806D8422231462846474B9847A7 -S2140058A060774FE7412231462846444B984760834D -S2140058B0492231462846434B9847E082EBE76E2262 -S2140058C031462846404B9847E06200283FF43FAFF9 -S2140058D06C22314628463A4B984784F8360005280D -S2140058E07FF635AF6D2231462846354B984784F80B -S2140058F03700612231462846304B9847003018BFA3 -S214005900012094F8383060F3000384F83830E06AF9 -S2140059102E4B984702280BD094F83730052B15D815 -S214005920602231462846254B984784F839000EE712 -S214005930692231462846234B9847A08648F28E02B5 -S21400594031462846204B98472063E9E769223146CE -S21400595028461C4B9847A086E2E750223146284648 -S214005960164B9847208400283FF4F6AE5C2231465A -S2140059702846134B984784F8280005287FF6ECAE97 -S214005980512231462846DFF83480C04760845222D0 -S21400599031462846C047A084532231462846C04791 -S2140059A0E084592231462846064B9847E083542225 -S2140059B031462846C04784F82900CDE65D4B0000F6 -S2140059C0954C0000094C0000294D0000119F000076 -S2140059D07F2231462846224B9847E06300283FF452 -S2140059E0C0AE7C22314628461E4B984784F84400B9 -S2140059F005287FF6B6AE732231462846DFF86C805F -S214005A00C047A4F84800742231462846C047A4F888 -S214005A104A00792231462846134B9847A4F8460098 -S214005A207E22314628460E4B984720647022314627 -S214005A302846C047A4F84C00712231462846C04785 -S214005A40A4F84E00752231462846C04784F8500018 -S214005A50722231462846C04784F8510081E600BFCE -S214005A60294D0000954C0000094C00005D4B0000DD -S214005A702DE9F04198B004460E46022A08D0002AC6 -S214005A806CD0012A00F0CC80002018B0BDE8F08170 -S214005A9000218E4B984708B10320F6E7012200212B -S214005AA020468A4DA8470746042200212046A847DC -S214005AB08046052200212046A84704F10F0304F182 -S214005AC0170503AA13F8011F02F8011B9D42F9D11E -S214005AD01FFA88F8BDF80C30A3EB0803ADF80C30BD -S214005AE0BDF810309844ADF8108080B2BDF80E3086 -S214005AF01B1AADF80E30BDF812301844ADF812007F -S214005B003A4603A93046724B984708B90220BCE7CC -S214005B102C22002120466F4B9847F92801D80220F6 -S214005B20B3E7202200212046684B9847C0B208B150 -S214005B300220AAE7322200212046644B9847C0B2D2 -S214005B4008B10220A1E748F20C0200212046614B72 -S214005B509847FA2834BF0220012096E703A85E4B38 -S214005B609847332200212046584B984710B100230F -S214005B708DF8203003AA00212046584B984704226F -S214005B8000212046514DA847804605220021204688 -S214005B90A84704F1100704F10F0304F1170501AA42 -S214005BA013F8011F02F8011BAB42F9D11FFA88F85F -S214005BB0BDF80430A3EB0803ADF80430BDF8083098 -S214005BC09844ADF8088080B2BDF806301B1AADF8D0 -S214005BD00630BDF80A301844ADF80A0003AA31466C -S214005BE001A83F4B9847022200212046374B984792 -S214005BF008B9002049E71C203A4B98470546012281 -S214005C0000212046314B9847002302463946284655 -S214005C10354EB04704F518712846344B9847E8E7E8 -S214005C2002220021294B984738B93322002120460A -S214005C30264B984740B9002027E704F518702C4BF0 -S214005C4098472C4B9847F0E703A8234B9847002724 -S214005C508DF818708DF842708DF8347003AA3946A6 -S214005C6020461E4B9847042239462046174DA84723 -S214005C708046052239462046A84704F10F0317340C -S214005C8001AA13F8011F02F8011BA342F9D11FFA5B -S214005C9088F3BDF80420D21AADF80420BDF8082019 -S214005CA01344ADF8083080B2BDF806301B1AADF8C4 -S214005CB00630BDF80A301844ADF80A0003AA31468B -S214005CC001A8074B98470020DFE600BF5D4B0000A9 -S214005CD0151D0100954C000011C800000D5700006E -S214005CE0D9C80000E52E0100D5C5000069C3000034 -S214005CF039C40000192B0100F8B505460E461446B7 -S214005D0048F28C02264B98472072052800D8F8BD2A -S214005D1048F20C0231462846214B9847F92805D808 -S214005D20237A13FB00F0C0F307202072237A052B9A -S214005D30EDD948F28902314628461A4B984720800A -S214005D4048F2800231462846174FB847A08148F2ED -S214005D50810231462846B847608148F282023146C1 -S214005D602846B847207648F2830231462846B84788 -S214005D70607648F28E02314628460C4B98476060A3 -S214005D80E2894FF6FF739A42C1D0228A9A42BED069 -S214005D9048F28A0231462846024B98472080B6E7EA -S214005DA0954C0000094C00005D4B0000294D00009A -S214005DB02DE9F04F89B004460E465022764B9847A0 -S214005DC0074668BB7F2231462046744B984780467C -S214005DD030B17C2231462046714B984705284CD876 -S214005DE04022314620466C4B98470546002840F036 -S214005DF0BF80042231462046DFF89C81C047054616 -S214005E00052231462046C047A842B8BF284600B201 -S214005E100028C4BFC01907B2384609B0BDE8F08FE5 -S214005E205C22314620465E4B9847052801D800275D -S214005E30C8E7532231462046574DA84707EBD77789 -S214005E4000EB67070137BFB2512231462046A8470C -S214005E508046522231462046A8470028B8BF404216 -S214005E60B8F1000FB8BFC8F100084045ACBF3F18F6 -S214005E70474438B220EAE077A4E77022314620464D -S214005E80454DA8478246702231462046A84783469D -S214005E907E2231462046414B98474FF00009CDF808 -S214005EA0089047F618430193CDF800B053460246D3 -S214005EB0414604A8DFF8EC80C047ADF81890ADF86E -S214005EC01A90BDF81030013BADF81C30BDF812300A -S214005ED0013BADF81E30752231462046A847814664 -S214005EE0732231462046A847804674223146204613 -S214005EF0A847054605AB5FFA89F206A904F110002B -S214005F00DFF8A490C847BDF8143043449BB2BDF8F0 -S214005F1016202A4492B2B4F91000BDF8181019449D -S214005F2009B2401AB842B8BF3846B4F91210BDF8E4 -S214005F301A7017443FB2CF1B00B28742B8BF07465D -S214005F40BDF81C0003441BB2B4F91400181A3BB287 -S214005F508342B8BF0346BDF81E00104400B2B4F931 -S214005F601670C71B18B2B842B8BF384607B237E734 -S214005F704C22314620460A4B984705287FF639AF13 -S214005F80412231462046044B98472844B842B8BFC1 -S214005F90384607B22DE700BF5D4B0000294D0000D4 -S214005FA0954C000025460100CD1D010008291AD099 -S214005FB010B50446072920D0012923D0062927D06A -S214005FC0032930D0042939D00B293BD0A1F10D0389 -S214005FD0DBB2012B3BD916293ED0172951D0002918 -S214005FE054D0012010BD13781BB928305060012012 -S214005FF07047002353600120704726491046264B01 -S214006000984710BD254B984780F00100C0B210BDE0 -S2140060100021234B9847B4F932309842B8BF18464F -S2140060206086012010BD90F8493013F0010F01D1B1 -S214006030012010BD1B4B9847012010BD1A4B9847F6 -S214006040012010BD1021194B9847012010BD1021CA -S214006050174B9847012010BD164B9847164B98478C -S21400606028B106212046114B9847012010BD022179 -S21400607020460E4B9847042120460D4B984701209A -S21400608010BD06210A4B9847012010BD0B4B9847C0 -S214006090012010BDCCBE0100DD5600009D4A000068 -S2140060A0B15D000069400000B532000025530000D5 -S2140060B0815300006D540000372E00005537000055 -S2140060C02DE9F84305468846002210311F4B9847B5 -S2140060D050B398F8343013F0100F27D1D8F820308A -S2140060E043B30222294640469847814603281FD0DC -S2140060F008F104063046164B9847044660B1154F23 -S21400610021462846FFF7DCFF034650B921463046B5 -S214006110B84704460028F3D1B9F1010F0CBF434637 -S21400612000231846BDE8F8830023FAE70023F8E7C3 -S2140061300023F6E708F104063046054B9847044668 -S2140061404FF002090028DAD10346EAE7151D0100E0 -S214006150512501006525010090F8343013F0100F2A -S21400616000D070472DE9F0438BB00E460546B0F9D7 -S214006170324004A9354B9847A3B2BDF81020D21A76 -S214006180ADF81020BDF81220D21AADF81220BDF8D6 -S21400619014201A44ADF81420BDF816201344ADF8A8 -S2140061A0163004AA314606A8294B9847A8B12B6A90 -S2140061B01BB1002206A92846984704A92846234B67 -S2140061C0984704AA314608A8214B984740B92B6A3D -S2140061D01BB1012206A9284698470BB0BDE8F083FC -S2140061E005F1040840461B4B984704460028EED0AD -S2140061F0DFF85890164E184F05E021464046B8473F -S21400620004460028E3D002A92046C847638EBDF89E -S2140062100820D21AADF80820BDF80A20D21AADF828 -S2140062200A20BDF80C201A44ADF80C20BDF80E204C -S2140062301344ADF80E3002AA08A96846B0470028F5 -S214006240DBD069462046FFF787FFD6E7C934000053 -S214006250C11A01005B250100912501002DE9F047D8 -S2140062600F46044670B1394620461A4B98472046DA -S214006270194B9847814660B1184EDFF85880DFF812 -S21400628058A00EE0164B1868164B98470446002890 -S214006290E9D1BDE8F0874846D0474C4681460028FD -S2140062A0F7D009F1040521462846B047044640B118 -S2140062B039462046C04721462846B04704460028AF -S2140062C0F6D1D9F82030002BE5D0012239464846D1 -S2140062D09847E0E75961000005330000912501006A -S2140062E088260020292A000038B51A4D28681A4B3F -S2140062F0984704462868194B984778B90123A36144 -S214006300144B186843681A6A12F0010F10D01B6A03 -S21400631013F0020F0CD00123E3610BE00D4D28684B -S214006320A369002BEAD0C369002BF9D09847F6E79B -S2140063300023E361C3681BB1A26804F1100198470B -S214006340236833B1626822B1A1688B4208BF134646 -S214006350A36038BD88260020851501008915010038 -S21400636070B582B006461A4D28681A4B9847044600 -S2140063702868194B984738B92868A36923B1C369B8 -S214006380002BFAD09847F7E704F11002314668462A -S214006390124B98470E4C2068114B984701466846AA -S2140063A0104B98476946104DA84720680F4B9847F2 -S2140063B06946A84720680E4B98476946A847206854 -S2140063C00C4B984708B102B070BD0B4B9847FAE7E4 -S2140063D0882600208515010089150100C11A0100D4 -S2140063E0292A0000C16000005D620000692A0000E2 -S2140063F0A92A00009D150100E96200007047000010 -S214006400F0B585B00C460546002854D0002C57D071 -S2140064100023ADF80830ADF80A302846364B9847CA -S2140064200138ADF80C002846344B98470138ADF8D3 -S2140064300E0002AA21466846314B9847002845D0F0 -S2140064402B6913B1694628469847B5F86831C3F3F7 -S21400645009039BB100210C460F462A4E09313A46E5 -S21400646005EBC1016846B04780BB0134A4B22146A3 -S214006470B5F86831C3F309039C42EFDB1F2B27DC1A -S214006480093305EBC3030DF1FF3203F1080012F8E0 -S214006490011F03F8011B8342F9D1B5F86831C3F335 -S2140064A00902013262F30903A5F868310321E86A9C -S2140064B0154B98470AE0154B9847054630B1A5E7B7 -S2140064C0B5F868316FF30903A5F8683105B0F0BD7B -S2140064D0B5F868316FF30903A5F868310DF10702C6 -S2140064E005F1500005F1480312F8011F03F8011BDF -S2140064F08342F9D1D1E700BF95140100BD14010015 -S214006500C11A0100151D0100013F01008914010098 -S214006510014B1868704700BF882600202DE9F04F11 -S2140065208DB00546B74B98470990B74CEB6823608B -S21400653000212846B54B98472068C36B7BB1B0F85E -S2140065406831C3F30903002B00F078824FF0480847 -S2140065500027AD4DDFF8E4A2DFF8C8B24DE0B0F892 -S21400656068316FF30903A0F8683162E2264401231C -S21400657086F8483101342868B0F86831C3F3090357 -S2140065809C4230D2031993F84831002BF2D1A7422F -S214006590F0D004F10906F60081194044D0470028DF -S2140065A0E8D029688A1941440AA8994B98470AA84E -S2140065B0D847039028684044D84781462868304426 -S2140065C0D8474844039B8342D4D22E6806EB080380 -S2140065D00DF1270203F1080012F8011F03F8011B52 -S2140065E08342F9D1C2E701372868B0F86831C3F3AF -S2140065F0090308F108089F420ED2384490F8483143 -S214006600002BF0D12868B0F86831C3F30903002BDB -S21400661000F0FA810024B5E700217B4A5160002B88 -S21400662000F0FA815A1E1146079232D4821892F868 -S21400663048217AB103F2471303440A46013AB2F1FD -S214006640FF3F05D013F8011D0029F7D1079201E09E -S21400665000230793426892F820306FF3000382F815 -S2140066602030426892F820306FF3410382F82030E1 -S214006670654B1C68B4F86831C3F30903002B00F0BF -S214006680CB81482306934FF0000ADFF87CB12746FB -S21400669045E000230793DDE77A6892F8203043F060 -S2140066A0010382F8203043E0DBF80000594B98479E -S2140066B0044600250582DBF80000574B9847013852 -S2140066C0A0826582DBF80000544B98470138E082D0 -S2140066D0DBF800305A6892F8203043F0020382F864 -S2140066E0203003984E4B9847DBF80000836943B18F -S2140066F0069B18444B4B9847DBF804300344CBF812 -S21400670004300AF1010ADBF80070069B0833069392 -S214006710B7F86831C3F309039A4580F27D8107EB29 -S2140067200A0393F84831002BEBD1079B5345B3D0AF -S2140067307A6892F820306FF3410382F82030069B87 -S214006740FB1803933846384B98470028ACD1DBF843 -S2140067500000304B9847064607EBCA07B7F84C4090 -S2140067600134B7F84830E41A24B2B7F94E5005F1B0 -S2140067700108B7F84A30A8EB03080FFA88F8DBF8E8 -S2140067800000264B9847854234DAB7F94E90F368F6 -S214006790B3FBF4F39845A8BF9846DBF800301B69B6 -S2140067A0002B52D00023ADF82830ADF82C30ADF8D1 -S2140067B02A300FFA88F56C1E24B2ADF82E40DBF8AE -S2140067C0000003690AA99847BDF92E104B1CBDF8B6 -S2140067D02A209B1A1BB2984532DA2546002CEADCA2 -S2140067E0124B0093124B40F29F1212490220124C99 -S2140067F0A04779E7DBF80000084B984701380FFA06 -S21400680080F9C4E70116010088260020013F010038 -S214006810171B01008515010095140100BD14010029 -S21400682061630000A51A01009D15010010BF01005C -S214006830D4BE0100E4BE010005280100D11C010001 -S214006840002DC8BF01F10108CADDB7F94A40CDF8EE -S214006850109004EB0803013B4B454BDC1FFA88F312 -S2140068600593013BCDF820A09A460DE0A9451CD023 -S2140068700398784B9847059B1C4424B204EB080306 -S214006880013B049A93421ADCB7F948303382B7F9D1 -S2140068904C30B3827482A4B204EB0A052DB2F582A2 -S2140068A0A945E3DAA6F816904D46DBF800305A689C -S2140068B092F8203043F0020382F82030D8E7DDF863 -S2140068C020A0A9453FF410AFB7F948303382B7F996 -S2140068D04C30B3827482A6F81690DBF800305A6803 -S2140068E092F8203043F0020382F820300398594B88 -S2140068F09847F9E60025E4E7574B984718B1574BF9 -S21400690018684369EBB1554C20684FF480714830E5 -S214006910534DA8472068202100F5A470A847236897 -S214006920B3F868216FF30902A3F8682109984D4B64 -S2140069309847014620688369002B76D0626898479E -S21400694073E0494B98470446484B9847A369002B89 -S214006950FCD1A3680393D4F800A0534508BFD4F82D -S21400696004A03E4C2068424B984704902368B3F836 -S2140069706821C2F30902002AC5D0450000229046CD -S214006980A1460CE008F101081FFA88F84246D9F83B -S2140069900030B3F86811C1F309018845B3DA9918D5 -S2140069A091F848110029EDD103EBC203B3F94A7000 -S2140069B0B3F94810049807FB00167600B3F84C307D -S2140069C001335B1A1BB25B000593D9F8003003EB6A -S2140069D0C203B3F94E30BB42D4DB039B03EB060B7A -S2140069E056440932D400059A31465846214B9847FA -S2140069F001373FB2AB442E44D9F800302344B3F9F4 -S214006A000630BB42EFDABDE70022144B5A60B0F8FE -S214006A106831C3F309037BB9104B1868B0F86831C6 -S214006A20C3F30903002B7FF467AF134B9847134B50 -S214006A3098470DB0BDE8F08F07920BE60022074B93 -S214006A405A60B0F86831C3F30903002BEDD0079203 -S214006A5000E600BF616300009D1501008826002047 -S214006A60DF3001001916010085150100E9620000FB -S214006A7095140100FD2B0100A12B01009D120100C1 -S214006A8008B50421014B984708BD00BFDF30010060 -S214006A9008B50821014B984708BD00BFDF3001004C -S214006AA070B582B00679002E55D00446006803689B -S214006AB099420AD00346751EEDB200EB85059D424D -S214006AC049D053F8042F8A42F9D10D46012E0ED034 -S214006AD0711E8900214B98470646214B984780B186 -S214006AE0EEB12179002933D00022134626E01D4B53 -S214006AF09847002323602371627963F30002627172 -S214006B0029E0194B00934FF4827218490320184C61 -S214006B10A04732460023174817498847FEE7174B19 -S214006B200093114B4FF4837210490220104CA0477B -S214006B3011E00133DBB22179994209D9216851F875 -S214006B4023108D42F5D046F822100132D2B2F0E77B -S214006B5001392171266002B070BD00BF412E0100D0 -S214006B608D2900006D2A010060BF010020C00100D1 -S214006B7005280100BCB40100952900004CC00100A6 -S214006B80002851D070B582B004460E46274B984771 -S214006B90237963BB0420264B984705462846254B99 -S214006BA0984758B3002D36D06379C3F3400013F0EE -S214006BB0010F18BF01302379984210D205EB8301EC -S214006BC003F18042013A013B1B1ADBB2D31A05EBF4 -S214006BD0830351F8042C41F804299942F9D145F869 -S214006BE02060237901332371256002B070BD013324 -S214006BF099002068104B98470546CFE70F4B009347 -S214006C00D0220F4903200F4CA0472A4600230E48E7 -S214006C100E498847FEE70E4B0093084BD2220849E0 -S214006C200220084CA047E0E7704700BFA16A0000BA -S214006C30852901008D290000412E01007CBF01003E -S214006C4020C0010005280100BCB401009529000001 -S214006C5088C0010030B583B0437913F0010F10D01F -S214006C6003F00603062B14BF002301230279002A33 -S214006C7034D09A4234D9026852F82340204603B0F2 -S214006C8030BD05460420174B98470446164B9847D8 -S214006C9060B1CCB12046154B984721462846144B88 -S214006CA098476B7943F001036B71E7E7114B00934C -S214006CB040F2354210490320104DA84722460023D3 -S214006CC00F4810498847FEE70F4B0093094B40F2E8 -S214006CD0374209490220094DA847CFE70024CDE7EF -S214006CE00024CBE7852901008D290000816A000079 -S214006CF0816B000098BF010020C00100052801003C -S214006D00BCB4010095290000B8C0010010B50446C7 -S214006D100068024B98470023236010BD6D2A0100CF -S214006D200268D2B11378FF2B13D0002006E00B2B9D -S214006D300ADC02300230135CFF2B0BD003F00F038B -S214006D40082BF4DC0230F5E70D2BD4BF01300430FD -S214006D50F0E70020023080B2704700207047000045 -S214006D6081B170B50C460A685AB105460846064B0E -S214006D7098470646054B9847286032462168044BDC -S214006D80984770BD704700BF216D0000852901003F -S214006D90FD2B010000286BD02DE9F843074600685C -S214006DA000286AD0CDB20E0AB4460378FF2B3BD03B -S214006DB04FF0FF3EF0460022CCF3060C27E0841886 -S214006DC0647886EA040919F07F0F0BD004F07F047C -S214006DD034EA0C091DD14445C4BF0FFA84F80FFAF3 -S214006DE082FE16E09646BEF1000F43DB7446704402 -S214006DF043785E4016F07F0F19D00020BDE8F88378 -S214006E000B2B0CDC02320232835CFF2BEBD09D4254 -S214006E10D5D003F00F03082BF2DC0232F3E70D2B7C -S214006E20D4BF01320432EEE74FF0FF3EDBE70D46FB -S214006E303846134B984705F00F010B2904DD0E2941 -S214006E40B4BF0321062100E004210D46411A8C42FE -S214006E5007D223463A685419E45CD45401338B4273 -S214006E60F8D13868074B984738600120BDE8F883AA -S214006E70002070470020BDE8F8830020BDE8F883B6 -S214006E80216D0000412E01002DE9F04186B0ADF8DD -S214006E900E10ADF80C200468002C48D0CFB20D0AB6 -S214006EA0AE462378FF2B2CD04FF0FF3188460022C9 -S214006EB0CEF3060E18E0A618767885EA060C1CF0C7 -S214006EC07F0F21D006F07F0636EA0E0C0ED146451F -S214006ED0C4BF0FFA86F811B208E00B2B0CDC0232A6 -S214006EE00232A35CFF2B0ED09F42E4D003F00F03C8 -S214006EF0082BF2DC0232F3E70D2BD4BF013204324A -S214006F00EEE74FF0FF310A46002A10DBA3185B7845 -S214006F105D4015F07F0F0AD10232A3189DF80C10C1 -S214006F20A1549DF80D205A7006B0BDE8F0810646C3 -S214006F30FF23ADF816301D4B9847002808BF0220E7 -S214006F40051DADB229462046194B98473060194BAF -S214006F509847E8B1002EE7D0AB1F3268D1189DF8ED -S214006F600E00D0549DF80F304B702B1F3268D1188E -S214006F709DF80C00D0549DF80D304B70023D3368E0 -S214006F805A199DF8161059559DF817305370CBE7CF -S214006F90094B00934FF4C37208490320084CA047DE -S214006FA032680023074808498847FEE7216D00003D -S214006FB0412E01008D290000B0BF010020C0010055 -S214006FC005280100BCB40100952900002DE9F04118 -S214006FD086B0ADF80C20ADF80E100468002C48D032 -S214006FE0CFB20D0AAE462378FF2B2CD04FF0FF31E0 -S214006FF088460022CEF3060E18E0A618767885EAB4 -S214007000060C1CF07F0F21D006F07F0636EA0E0C29 -S2140070100ED14645C4BF0FFA86F811B208E00B2B16 -S2140070200CDC02320232A35CFF2B0ED09F42E4D06F -S21400703003F00F03082BF2DC0232F3E70D2BD4BF6C -S21400704001320432EEE74FF0FF310A46002A10DB29 -S214007050A3185B785D4015F07F0F0AD10232A318A3 -S2140070609DF80C10A1549DF80D205A7006B0BDE88E -S214007070F0810646FF23ADF816301D4B98470028D2 -S21400708008BF0220051DADB229462046194B984779 -S2140070903060194B9847E8B1002EE7D0AB1F326836 -S2140070A0D1189DF80E00D0549DF80F304B702B1F52 -S2140070B03268D1189DF80C00D0549DF80D304B70F6 -S2140070C0023D33685A199DF8161059559DF8173029 -S2140070D05370CBE7094B009340F2B51208490320E2 -S2140070E0084CA04732680023074808498847FEE74F -S2140070F0216D0000412E01008D290000C4BF010053 -S21400710020C0010005280100BCB40100952900003C -S2140071102DE9F04387B0ADF80E100468002C43D07C -S2140071205FFA81FE0D0AAC462378FF2B2CD04FF079 -S214007130FF37B8460021CCF3060C18E066187678C0 -S21400714085EA060919F07F0F21D006F07F0636EA99 -S2140071500C090ED14645C4BF0FFA86F80FB208E0F8 -S2140071600B2B0CDC02310231635CFF2B0ED09E45EC -S214007170E4D003F00F03082BF2DC0231F3E70D2B0B -S214007180D4BF01310431EEE74FF0FF37394600290E -S2140071900ADB63185B785D4015F07F0F04D121444D -S2140071A08A7007B0BDE8F08317460646FF23ADF8A1 -S2140071B016301B4B9847002808BF0220C51CADB2EE -S2140071C029462046174B98473060174B9847C0B162 -S2140071D0002EE6D06B1F3268D1189DF80E00D054F2 -S2140071E09DF80F304B7033682B4403F8037C023D48 -S2140071F033685A199DF8161059559DF81730537074 -S214007200CFE70A4B00934FF4F27209490320094C6A -S214007210A04732680023084808498847FEE700BFB1 -S214007220216D0000412E01008D290000D8BF01000D -S21400723020C0010005280100BCB40100952900000B -S2140072402DE9F04186B00292ADF80E100468002CCD -S2140072504ED0CFB20D0AAE462378FF2B2CD04FF07F -S214007260FF3188460022CEF3060E18E0A618767880 -S21400727085EA060C1CF07F0F21D006F07F0636EA62 -S2140072800E0C0ED14645C4BF0FFA86F811B208E0C0 -S2140072900B2B0CDC02320232A35CFF2B0ED09F427B -S2140072A0E4D003F00F03082BF2DC0232F3E70D2BD9 -S2140072B0D4BF01320432EEE74FF0FF310A46002A0F -S2140072C016DBA3185B785D4015F07F0F10D10232F5 -S2140072D0A3189DF80810A1549DF809205A709DF82F -S2140072E00A209A709DF80B20DA7006B0BDE8F0818F -S2140072F00646FF23ADF81630204B9847002808BFF7 -S2140073000220851DADB2294620461D4B98473060A9 -S2140073101C4B984720B3002EE7D0A5F1080332682F -S214007320D1189DF80E00D0549DF80F304B70AA1F50 -S21400733031688B189DF8080088549DF809205A700B -S2140073409DF80A209A709DF80B20DA70023D33688B -S2140073505A199DF8161059559DF817305370C4E702 -S214007360094B009340F2132208490320084CA0471B -S21400737032680023074808498847FEE7216D000069 -S214007380412E01008D290000ECBF010020C0010045 -S21400739005280100BCB401009529000000284DD046 -S2140073A02DE9F04384460468002C4AD0CEB2090A80 -S2140073B08E462378FF2B3ED04FF0FF37B84600208E -S2140073C0CEF3060E2AE025186D7881EA050919F035 -S2140073D07F0F0AD005F07F0535EA0E0920D1454516 -S2140073E0C4BF0FFA85F807B21AE00746002F2CDB59 -S2140073F0BB1CE018E35C137043785370DCF80000A5 -S21400740007447878C1F306010840BDE8F0830B2BEB -S2140074100CDC02300230235CFF2BE7D09E42D2D039 -S21400742003F00F03082BF2DC0230F3E70D2BD4BF7A -S21400743001300430EEE74FF0FF37D7E74FF0FF306C -S21400744070474FF0FF30BDE8F0834FF0FF30BDE8E7 -S214007450F08300284AD02DE9F04386460468002CC5 -S21400746047D0CEB2090A8C462378FF2B3BD04FF08C -S214007470FF37B8460020CCF3060C27E025186D78B9 -S21400748081EA050919F07F0F0AD005F07F0535EA75 -S2140074900C091DD14545C4BF0FFA85F807B217E0A1 -S2140074A00746002F29DB3C44A3781370DEF8000063 -S2140074B007447878C1F306010840BDE8F0830B2B3B -S2140074C00CDC02300230235CFF2BEAD09E42D5D083 -S2140074D003F00F03082BF2DC0230F3E70D2BD4BFCA -S2140074E001300430EEE74FF0FF37DAE74FF0FF30B9 -S2140074F070474FF0FF30BDE8F0834FF0FF30BDE837 -S214007500F08300284DD02DE9F04384460468002C13 -S2140075104AD0CEB2090A8E462378FF2B3ED04FF0D3 -S214007520FF37B8460020CEF3060E2AE025186D7801 -S21400753081EA050919F07F0F0AD005F07F0535EAC4 -S2140075400E0920D14545C4BF0FFA85F807B21AE0E8 -S2140075500746002F2CDBBB1CE018E35C1370437857 -S2140075605370DCF8000007447878C1F30601084041 -S214007570BDE8F0830B2B0CDC02300230235CFF2BC3 -S214007580E7D09E42D2D003F00F03082BF2DC023085 -S214007590F3E70D2BD4BF01300430EEE74FF0FF3792 -S2140075A0D7E74FF0FF3070474FF0FF30BDE8F0836D -S2140075B04FF0FF30BDE8F083002850D02DE9F043AF -S2140075C007460468002C4DD0CEB2090A8C462378B4 -S2140075D0FF2B2DD04FF0FF3EF0460020CCF3060CDC -S2140075E019E025186D7881EA050919F07F0F22D079 -S2140075F005F07F0535EA0C090FD14545C4BF0FFAE3 -S21400760085F80FFA80FE08E00B2B0CDC0230023007 -S214007610235CFF2B0ED09E42E3D003F00F03082B13 -S214007620F2DC0230F3E70D2BD4BF01300430EEE776 -S2140076304FF0FF3E7046002818DB05460130231841 -S214007640141D13F8010F02F8010B9442F9D13B68A0 -S2140076502B445878C1F306010840BDE8F0834FF08C -S214007660FF3070474FF0FF30BDE8F0834FF0FF303B -S214007670BDE8F083437913F0010F06D013F0020F34 -S214007680036814BF5868186870470020704743792D -S21400769013F0020F1ABF0368186800207047000036 -S2140076A000282CD038B50446437913F0010F08D0D3 -S2140076B0134B9847054620B1124B98472846124B65 -S2140076C09847637913F0020F09D020460F4B98476E -S2140076D0054620B10B4B984728460B4B9847237915 -S2140076E04BB9002222602271637903F0FC0362F337 -S2140076F08203637138BD2068034B9847F1E77047F3 -S214007700757600000D6D00006D2A01008F76000072 -S21400771070B505460C462C4B98472368002B41D085 -S214007720637913F0010F20D113F0020F10D02079E7 -S21400773001388000254B984728602279013A216855 -S21400774092000431224B98472379013B2B7170BD80 -S214007750207980001D4B9847286022799200216886 -S2140077601B4B984723792B7170BD13F0020F1AD06C -S214007770207902388000154B984728602279023A13 -S214007780216892000831124B98472379023B2B71EF -S2140077902846104DA84706462046A84701463046CC -S2140077A00D4B984770BD207901388000074B9847ED -S2140077B028602279013A216892000431044B9847E8 -S2140077C02379013B2B71E3E7A176000085290100B0 -S2140077D0FD2B0100556C0000616D000030B583B0D4 -S2140077E00446437913F0020F05D01D4B9847054613 -S2140077F0284603B030BD04201A4B984705461A4B5E -S2140078009847A8B115B32846184B984729462046EE -S214007810174B9847637943F00203637113F0010F27 -S214007820E6D023681A685968196023685A60DFE74B -S214007830104B009340F2CD220F4903200F4CA04777 -S2140078402A4600230E480F498847FEE70E4B009352 -S214007850084B40F2CF2208490220084CA047C7E751 -S2140078608F760000852901008D290000816A0000BE -S214007870816B000000C0010020C001000528010047 -S214007880BCB4010095290000E8C00100002859D0CA -S2140078902DE9F04F83B005460368002B54D04FEA1D -S2140078A011280023ADF806300079002842D0934610 -S2140078B089461C464FF0FF369A46244F1CE0504639 -S2140078C00DF106024946B847804527D06B7913F07C -S2140078D0020F05D0002803DB14B913F0040F23D0E1 -S2140078E0B04204DDBDF80630ABF800300646013481 -S2140078F024B2287984421FDAE2B26B7903F00603D9 -S214007900062B04BF0132D2B20028D8D0824203D25E -S2140079102B6853F82200D3E75046D1E7BDF806306F -S214007920ABF8003001200AE0BDF80630ABF80030B6 -S214007930012004E04FF0FF36F043C0F3C03003B040 -S214007940BDE8F08F002070470020F8E79D73000028 -S214007950002858D02DE9F04F83B005460368002B69 -S21400796053D04FEA11280023ADF8043000790028E0 -S21400797041D0934689461C464FF0FF369A46244F20 -S2140079801BE0504601AA4946B847804527D06B7988 -S21400799013F0020F05D0002803DB14B913F0040F10 -S2140079A023D0B04204DDBDF80430ABF80030064604 -S2140079B0013424B2287984421FDAE2B26B7903F0EC -S2140079C00603062B04BF0132D2B20028D9D0824269 -S2140079D003D22B6853F82200D4E75046D2E7BDF80E -S2140079E00430ABF8003001200AE0BDF80430ABF8F4 -S2140079F00030012004E04FF0FF36F043C0F3C03003 -S214007A0003B0BDE8F08F002070470020F8E700BF05 -S214007A1003750000002859D02DE9F04F83B00546C5 -S214007A200368002B54D04FEA112800238DF8073046 -S214007A300079002842D0934689461C464FF0FF3610 -S214007A409A46244F1CE050460DF107024946B847B7 -S214007A50804527D06B7913F0020F05D0002803DB92 -S214007A6014B913F0040F23D0B04204DD9DF807309C -S214007A708BF800300646013424B2287984421FDA97 -S214007A80E2B26B7903F00603062B04BF0132D2B2D2 -S214007A900028D8D0824203D22B6853F82200D3E7BE -S214007AA05046D1E79DF807308BF8003001200AE0F9 -S214007AB09DF807308BF80030012004E04FF0FF36C9 -S214007AC0F043C0F3C03003B0BDE8F08F002070472D -S214007AD00020F8E753740000002852D02DE9F04F3C -S214007AE083B005460368002B4DD04FEA1128007975 -S214007AF000283ED09346894600244FF0FF36A24623 -S214007B00224F1AE0504601AA4946B847804526D07B -S214007B106B7913F0020F05D0002803DB14B913F0BD -S214007B20040F21D0B04203DD019BCBF8003006469F -S214007B30013424B2287984421DDAE2B26B7903F06C -S214007B400603062B04BF0132D2B20028DAD08242E6 -S214007B5003D22B6853F82200D5E75046D3E7019BA3 -S214007B60CBF80030012009E0019BCBF80030012063 -S214007B7004E04FF0FF36F043C0F3C03003B0BDE87A -S214007B80F08F002070470020F8E700BFB9750000AE -S214007B90F0B501F01F0EC1F34516C1F3C421052A46 -S214007BA03FD9C0F3C4240C441F2C28BF1F2404F064 -S214007BB01F04C0F3451333443F2B28BF3F2303F075 -S214007BC03F0500F01F0070441F2828BF1F2000F04C -S214007BD01F03FF2A2ED0C2F1FF0707FB0EF002FBA1 -S214007BE0030000EB002300EBC310C30D4FF00000B2 -S214007BF063F3040007FB06F302FB053303EB0325E0 -S214007C0003EBC513DB0D63F34A1007FB01F102FB20 -S214007C10041202EB022302EBC312D20D62F3CF2052 -S214007C20F0BD4FF000006EF3040066F34A1061F3F7 -S214007C30CF20F0BD4FF0000063F3040065F34A1058 -S214007C4064F3CF20F0BDF0B501F01F0EC1F345166A -S214007C50C1F3C421052A3DD9C0F3C4240C1B24EA71 -S214007C60E47404F01F04C0F34513F31A23EAE37325 -S214007C7003F03F0500F01F00AEEB000020EAE070C6 -S214007C8000F01F03FF2A2ED0C2F1FF0707FB0EF0FD -S214007C9002FB030000EB002300EBC310C30D4FF004 -S214007CA0000063F3040007FB06F302FB053303EB57 -S214007CB0032503EBC513DB0D63F34A1007FB01F145 -S214007CC002FB041202EB022302EBC312D20D62F394 -S214007CD0CF20F0BD4FF000006EF3040066F34A10AC -S214007CE061F3CF20F0BD4FF0000063F3040065F3AE -S214007CF04A1064F3CF20F0BD2DE9F04F93B09DF805 -S214007D0070409DF874B09DF87890BBF1040F00D9D0 -S214007D1014B913B0BDE8F08F0893ADF824200E46D2 -S214007D200546BA4B98478046B94B9847074682683F -S214007D3006923246294610A8B64B98470028E8D047 -S214007D403A8ABDF840309B1A99B20D460A9108B29D -S214007D500B90ADF840007B8ABDF84210C91A0FFAA6 -S214007D6081FCADF842C0BDF84400801A80B2ADF880 -S214007D704400BDF846E0AEEB030E0FFA8EFEADF8FB -S214007D8046E0089AAAB198F8083013F0010F10D10F -S214007D90411C491B09B200290BDD134611441A7811 -S214007DA0802A4FF0FF3298BF002203F8012B8B4247 -S214007DB0F5D1D8F81430002B77D0BDF82480934B3B -S214007DC098470546BB8A01333A8A9B1A1BB207932B -S214007DD0012C3ED0BDF94020089B9F1ABDF84430C8 -S214007DE001339B1A1BB20893BDF942A0BDF9463079 -S214007DF09A458EDCBDF940603446BDF944309E425B -S214007E001EDC3E440FFA8AF905964B46B9461F46D5 -S214007E10059A12F8013B059203FB0BF3C3F3072305 -S214007E200293ADF80480009723B2079A0699284675 -S214007E306E69B0470134BDF944309C42E8DD4F46D8 -S214007E40089B1F440AF1010ABDF946309A45D1DD68 -S214007E505FE7BDF94290BDF9463099453FF759AF07 -S214007E60DDF81CA05E46DDF818B0BDF94040BDF94F -S214007E7044309C4212DC0FFA89F705970296ADF85B -S214007E800480059B009323B25246594628466F69E4 -S214007E90B8470134BDF944309C42EFDD09F10109D1 -S214007EA0BDF946309945E0DD33E7B9F1000F40F003 -S214007EB0A083BDF82430ADF81C30544B98470646D6 -S214007EC0BB8A01333F8ADF1B3FB2BDF94020BDF8B5 -S214007ED0443001339B1A1BB20B931D46BDF9460076 -S214007EE0BDF94230411CC91A09B20C910A9303FB32 -S214007EF00722069901EB42010591012C29D0BBF11E -S214007F00FA0F00F2088183423FF703AF069B33F86F -S214007F101230BDF82460C6F3C42CC6F345121046D2 -S214007F2006F01F0214467A000C920B9A0899013943 -S214007F30069152000E9219464FF0000E7246B6B2E7 -S214007F400896CDF824B00D95A146CDF81CB0834612 -S214007F5045E3BBF1FA0F25D9736A23B110A82E4B5F -S214007F609847F02813D80C9B002B7FF7D2AE7F00E3 -S214007F7000242A4DDDF83080059E0B9ABDF81C10B3 -S214007F803046A8473E440134A045F6D1C1E6BDF8C8 -S214007F902430ADF80030746A10AB3A460699304685 -S214007FA0A047B6E6336A002B3CD010A81A4B984779 -S214007FB0F02837D90B9900290CDDBDF82480184A23 -S214007FC0931E01F10041013902EB410223F8028FB2 -S214007FD09A42FBD1BDF94250BDF946309D423FF76B -S214007FE098AE4FEA4708DFF838A0DDF814905C46F4 -S214007FF000940B9B524649463046376AB847C14400 -S2140080000135BDF946309D42F2DD82E6116500007D -S21400801085150100C11A0100A51A0100E320010020 -S214008020902600204FF0000EBDF8242002F01F0915 -S214008030C2F34518C2F3C42C0BFB0CF303EB03216D -S21400804003EBC113C3F3C4510BFB08F303EB032488 -S21400805003EBC413C3F3C5540BFB09F303EB032272 -S21400806003EBC213C3F3C4521FFA8BF30CFB03FCDF -S21400807008FB03F809FB03F96FEA0B03DBB20C9865 -S21400808000287FF746AE780007900B9840000890CF -S214008090002006909FB236E0307862F3040030701D -S2140080A0308864F34A103080000A61F3C7007070AD -S2140080B002339B451CD01E461FFA8EF0B3F800A074 -S2140080C05045E9D0B3F800E05978C90801FB07C16C -S2140080D0C1F30421CEF3451404FB0784C4F305243E -S2140080E01A7802F01F0202FB0792C2F30422D3E7BB -S2140080F0059B079803440593069B013306930C984B -S21400810098423FF406AE002DF2DD05980346089E21 -S21400811000EB060BCFE70C9B002B7FF7FAAD0B9B13 -S214008120043B0D937B000F9300230A93BDF81C209D -S214008130C2F3C42CC2F3451EC2F304030693DEE169 -S214008140BDF81C303B80434601318D4200F04C8325 -S214008150023718F0030F00F0558318F8013B002B88 -S214008160F1D0FF2BECD0C3F1FF097A78D20809FBD7 -S21400817002F203FB0C2202EB022002EBC012C2F357 -S214008180C4523888C0F3451009FB00F003FB0E000C -S21400819000EB002600EBC610C0F3C5503E7806F094 -S2140081A01F0A09FB0AF903FB049303EB032903EBFD -S2140081B0C913DB0D63F304063E703B8860F34A1375 -S2140081C03B801B0A62F3C7037B70BCE7BDF81C400C -S2140081D020F8064C20F8044C20F8024C04800431A9 -S2140081E0043308308F42C0F229811A4653F8044CF3 -S2140081F0002CF4D0B4F1FF3FE8D013F8048CB8F1AB -S214008200000F3FD0B8F1FF0F00F00581C8F1FF0660 -S21400821010F8054CE40806FB04F408FB0C4404EBD9 -S214008220042504EBC514C4F3C454099430F8065C62 -S214008230C5F3451506FB05F508FB0E5505EB0529A8 -S21400824005EBC915C5F3C55510F8069C09F01F0BBC -S21400825006FB0BF6069C08FB046808EB082608EBF2 -S214008260C616F60D66F3040900F8069C30F8066C90 -S21400827065F34A1620F8066C360A099C64F3C706AE -S21400828000F8056C12F8038CB8F1000F3FD0B8F177 -S214008290FF0F00F0C580C8F1FF0610F8034CE40895 -S2140082A006FB04F408FB0C4404EB042504EBC5149D -S2140082B0C4F3C454099430F8045CC5F3451506FBB2 -S2140082C005F508FB0E5505EB052905EBC915C5F3A5 -S2140082D0C55510F8049C09F01F0B06FB0BF6069C10 -S2140082E008FB046808EB082608EBC616F60D66F3CE -S2140082F0040900F8049C30F8046C65F34A1620F86C -S214008300046C360A099C64F3C70600F8036C12F87E -S214008310028CB8F1000F3FD0B8F1FF0F00F0858057 -S214008320C8F1FF0610F8014CE40806FB04F408FB4D -S2140083300C4404EB042504EBC514C4F3C45409949C -S21400834030F8025CC5F3451506FB05F508FB0E552F -S21400835005EB052905EBC915C5F3C55510F8029CB4 -S21400836009F01F0B06FB0BF6069C08FB046808EBDF -S214008370082608EBC616F60D66F3040900F8029CFC -S21400838030F8026C65F34A1620F8026C360A099C2F -S21400839064F3C70600F8016C12F8018CB8F1000F00 -S2140083A03FF41DAFB8F1FF0F44D0C8F1FF06447884 -S2140083B0E40806FB04F408FB0C4404EB042504EB79 -S2140083C0C514C4F3C45B0588C5F3451506FB05F55F -S2140083D008FB0E5505EB052905EBC915C5F3C55574 -S2140083E090F8009009F01F0A06FB0AF6069C08FBA8 -S2140083F0046808EB082608EBC616F60D66F30409B3 -S21400840080F80090068865F34A160680360A6BF3F5 -S214008410C7064670E3E6BDF81C4020F8064C31E778 -S214008420BDF81C4020F8044C71E7BDF81C4020F84D -S214008430024CB1E7BDF81C400480D0E60E9D8D428C -S2140084404EDD541E059B03EB4108069E08E0BDF872 -S2140084501C30A8F80030013108F102088D423FDDDB -S21400846014F8013F002BF6D0FF2BF0D0C3F1FF0924 -S21400847098F80120D20809FB02F203FB0C2202EB5B -S214008480022002EBC012C2F3C452B8F80000C0F3D8 -S214008490451009FB00F003FB0E0000EB002700EB85 -S2140084A0C710C0F3C55098F8007007F01F0A09FB04 -S2140084B00AF903FB069303EB032903EBC913DB0D51 -S2140084C063F3040788F80070B8F8003060F34A13C6 -S2140084D0A8F800301B0A62F3C70388F80130BAE731 -S2140084E0059B0F9A13440593089B0B9A1344089315 -S2140084F00A9B01330A930C9A9A423FF40AAC002D69 -S21400850040F37081089A12F0030F00F07981059FFE -S21400851090460021069C20E6FF2A02D0DDF824E0E3 -S21400852004E0DDF824E02A889A4232D0BEF1FF0F3C -S21400853042D0CEF1FF046B78DB080EFB0CF204FB96 -S214008540032303EB032203EBC213C3F3C4532A88AB -S214008550C2F345120BFB0EF104FB021202EB0221E2 -S21400856002EBC112C2F3C552297801F01F0109FBC4 -S2140085700EF604FB016101EB012601EBC611C90DE5 -S21400858061F3040A62F34A1A63F3CF2A1FFA8AF1E8 -S2140085902B88298002460235A8450FD017F8010F10 -S2140085A00028F8D09042BED0FF28B5D0079B03FB2A -S2140085B000FECEF3072EB9E70899E9E705980C9C6C -S2140085C0204405900A98013004460A9006980B9DB0 -S2140085D028440690BDF9460084423FF79AAB0D98B2 -S2140085E00028EBDD059805460E9C00EB0408069F68 -S2140085F0D4E7BDF82450B9F1010F40D0B9F1020F0D -S21400860032D1834B0593BDF8242002F01F08C2F335 -S2140086104516C2F3C4239946BA8A01323B8AD31A56 -S2140086201FB2CDF824C00CFB07F3069A02EB4302F8 -S2140086300792012C26D001300A9A801A02B20C92B8 -S214008640089A0B99521A0892069A32F81320F445A3 -S2140086503FF75FAB7B000B9310460021CDF818B0B8 -S214008660CDF828B0CB46B0E06A4B00936A4B4FF487 -S21400867004726A4902206A4CA047FFF74ABB694B5E -S2140086800593C0E74FF0000A0BFB09F303EB03204A -S21400869003EBC013C3F3C4500BFB06F303EB032238 -S2140086A003EBC213C3F3C5520BFB08F303EB032122 -S2140086B003EBC113C3F3C453F4453FF72AAB790069 -S2140086C00891CDF818B0CB463AE0217863F3040160 -S2140086D02170218862F34A112180090A60F3C701DC -S2140086E0617009F101090237BDF9441089451ADCA9 -S2140086F03C461FFA8AF1B7F800E07145E5D0B7F8B6 -S21400870000A068F3040566F34A156BF3CF25069AB6 -S21400871051462846059B984700F01F03C0F34512B4 -S214008720C0F3C420D1E70799089C21440791099912 -S21400873001310C460991BDF946108C423FF7E9AA73 -S214008740BDF94070B946BDF944108F42EBDC07997D -S21400875001EB4707CCE7F92B9DBF0A9A5343C3F3B7 -S2140087600722069A68F3040566F34A156BF3CF25CD -S21400877021882846059B984780B29AF800102288E0 -S214008780208009F1010901370234BDF944309945CA -S2140087900ADCBA463B78002BF3D08B42DBD1B4F828 -S2140087A000E09645D7D1EBE7079B0B9C2344079345 -S2140087B0089B0C9C23440893099B01331C46099391 -S2140087C0BDF946309C423FF7A4AABDF94040A146F9 -S2140087D0BDF944309C42E7DC089B1F19079B03EB5E -S2140087E04404D6E7089B00210D9A8A42FFF678AE2D -S2140087F00433C81C059A02EB40000E950D9FF4E466 -S214008800089B00210D9A8A42F2DA1A4619E600BF42 -S214008810477C000074C1010028C1010044C101006A -S21400882005280100917B00002DE9F04F91B09DF8DE -S21400883068409DF86CA09DF87050BAF1040F00D9FE -S21400884014B911B0BDE8F08F049307920F460146A5 -S2140088503A460EA8BC4B98470028F2D0BB4B984728 -S2140088608046BB4B9847064683680593028ABDF848 -S21400887038309B1A9BB20693BDF918C0ADF838C0C5 -S214008880438ABDF83AB0ABEB030B1FFA8BFB0FFA2B -S2140088908BFEADF83AE0BDF83C10891A89B2ADF807 -S2140088A03C10BDF83E00C01A80B202B20892ADF885 -S2140088B03E20049AD2B198F8083013F0010F15D173 -S2140088C001F10109069BA9EB03090FFA89F9B9F131 -S2140088D0000F0BDD134691441A78802A4FF0FF32C2 -S2140088E098BF002203F8012B4B45F5D1D8F8143079 -S2140088F0002B00F0A980954B98470546B6F9100066 -S214008900B38A01331B1A1BB20693BDF93810B7F9A8 -S2140089100020B7F8049009F10109A9EB02090FFA43 -S21400892089F9BDF93AE0B7F90230B6F912609B1B37 -S214008930AEEB0303121A8A1A09FB03234FEA410B14 -S214008940CBEB430B079B5B449B46012C46D0049B1A -S2140089505B1A0793BDF93E309E453FF772AFBDF9EF -S2140089603C304FEA490208920133591A0BB2099378 -S214008970F146BDF938603446BDF93C309E4220DCF5 -S214008980079B03EB06080BEB46060FFA89F70496DF -S21400899018F8013B03FB0AF3C3F307230293049A78 -S2140089A032F8023B0492ADF80430009723B2069AE0 -S2140089B0059928466E69B0470134BDF93C309C42A3 -S2140089C0E6DD079B099A13440793089B9B4409F12D -S2140089D00109BDF93E309945CBDD32E7BDF93E30A1 -S2140089E07345FFF62EAF4FEA4909F046BDF93870D9 -S2140089F03C46BDF93C309F421EDC0BEB47070FFAA6 -S214008A0088F6049733465646CA4699460296049A0E -S214008A1032F8023B0492ADF80430CDF8009023B251 -S214008A20069A059928466F69B8470134BDF93C3067 -S214008A309C42EBDDD146B246CB4408F10108BDF9B5 -S214008A403E309845D2DDFCE6002D40F09983B6F91D -S214008A501030B6F8148008F10108A8EB03080FFAE6 -S214008A6088F80131069A891A0AB209921546013029 -S214008A70A0EB0B0B0FFA8BF20892B7F90010B7F8C1 -S214008A80049009F10109A9EB01090FFA89F90EFB17 -S214008A9008C2059800EB42020592B7F90220B6F923 -S214008AA01200121AAEEB020ECB1AACEB030309FB54 -S214008AB00E33079A02EB43030693244B9847064669 -S214008AC0012C1BD0BAF1FA0F00F2C580089B002BD0 -S214008AD07FF7B7AE4FEA48030A934FEA49030B9372 -S214008AE0099B049A013A04925B000D934FF0000B29 -S214008AF0CDF81CA00C95DDF8189036E3036A5BB33E -S214008B000EA8144B9847F02826D9BDF93A50BDF95F -S214008B103E309D423FF795AE4FEA48084FEA490976 -S214008B20DDF814B0069FCDF800A0099B3A465946DA -S214008B303046346AA047C3444F440135BDF93E3041 -S214008B409D42F0DD7DE600BFC11A01001165000000 -S214008B5085150100A51A0100BAF1FA0F10D8089B76 -S214008B60002B7FF76EAE4FEA480304934FEA49099D -S214008B70099B4FEA430B4FF00008CAF1FF0E26E0B0 -S214008B80089B002B7FF75DAE099A56004FEA48080F -S214008B904FEA49090024664D9B46059FDDF818A05C -S214008BA0324651463846A8474744CA440134A3458E -S214008BB0F6D146E6059B049A13440593069B4B4460 -S214008BC0069308F10108089B43453FF43AAE002D92 -S214008BD0F0DD069B1F46059C03EB0B0C7B78DB0841 -S214008BE06278D2080EFB02F20AFB032303EB032291 -S214008BF003EBC213C3F3C4533A88C2F34512218869 -S214008C00C1F345110EFB01F10AFB021202EB022131 -S214008C1002EBC112C2F3C55217F8021B01F01F0186 -S214008C20207800F01F060EFB06F60AFB016101EB3A -S214008C30012601EBC611C90D61F3040020702188DE -S214008C4062F34A112180090A63F3C7016170023496 -S214008C50BC45C3D1AEE7099B043B0A93089B002B97 -S214008C607FF7EFAD4FEA48030C934FEA49030D93A5 -S214008C700023079365E3B8F80030AEF8003063468B -S214008C8001318D4200F0478308F102080EF1020E12 -S214008C901CF0030F00F02D831CF8014B002CEED0C7 -S214008CA0FF2CE8D0C4F1FF0698F80130DB089EF8E8 -S214008CB00120D20806FB02F204FB032303EB032287 -S214008CC003EBC213C3F3C453B8F80000C0F3451057 -S214008CD0BEF80020C2F3451206FB02F204FB002099 -S214008CE000EB002200EBC210C0F3C55098F800203D -S214008CF002F01F029EF8007007F01F0906FB09F637 -S214008D0004FB026202EB022402EBC412D20D3C46C4 -S214008D1062F304048EF80040BEF8002060F34A12A6 -S214008D20AEF80020120A63F3C7028EF80120A6E709 -S214008D30FD2B010034F8065C20F8065C34F8045C71 -S214008D4020F8045C34F8025C20F8025C2588058074 -S214008D5004310433083408308E4540F347811A4600 -S214008D6053F8045C002DF3D0B5F1FF3FE2D013F8C2 -S214008D7004CCBCF1000F47D0BCF1FF0F00F02481FB -S214008D80CCF1FF0914F8055CED0810F8056CF60840 -S214008D9009FB06F60CFB056505EB052605EBC61577 -S214008DA0C5F3C45534F8066CC6F3451630F8067C91 -S214008DB0C7F3451709FB07F70CFB067606EB0627F5 -S214008DC006EBC716C6F3C55614F8067C07F01F0751 -S214008DD010F8068C08F01F0B09FB0BF90CFB079725 -S214008DE007EB072C07EBCC17FF0D67F3040800F81A -S214008DF0068C30F8067C66F34A1720F8067C3F0A95 -S214008E0065F3C70700F8057C12F803CCBCF1000F29 -S214008E1047D0BCF1FF0F00F0DC80CCF1FF0914F85E -S214008E20035CED0810F8036CF60809FB06F60CFB6D -S214008E30056505EB052605EBC615C5F3C45534F8E0 -S214008E40046CC6F3451630F8047CC7F3451709FBD7 -S214008E5007F70CFB067606EB062706EBC716C6F3E7 -S214008E60C55614F8047C07F01F0710F8048C08F0A9 -S214008E701F0B09FB0BF90CFB079707EB072C07EBFF -S214008E80CC17FF0D67F3040800F8048C30F8047C58 -S214008E9066F34A1720F8047C3F0A65F3C70700F814 -S214008EA0037C12F802CCBCF1000F47D0BCF1FF0FD8 -S214008EB000F09480CCF1FF0914F8015CED0810F87E -S214008EC0016CF60809FB06F60CFB056505EB0526A6 -S214008ED005EBC615C5F3C45534F8026CC6F3451643 -S214008EE030F8027CC7F3451709FB07F70CFB06763C -S214008EF006EB062706EBC716C6F3C55614F8027C23 -S214008F0007F01F0710F8028C08F01F0B09FB0BF97F -S214008F100CFB079707EB072C07EBCC17FF0D67F347 -S214008F20040800F8028C30F8027C66F34A1720F832 -S214008F30027C3F0A65F3C70700F8017C12F8018C33 -S214008F40B8F1000F3FF404AFB8F1FF0F4BD0C8F1F3 -S214008F50FF096578ED084678F60809FB06F608FB73 -S214008F60056505EB052605EBC615C5F3C45526882D -S214008F70C6F345160788C7F3451709FB07F708FB2E -S214008F80067606EB062706EBC716C6F3C556277801 -S214008F9007F01F0790F800C00CF01F0A09FB0AF93B -S214008FA008FB079707EB072807EBC817FF0D67F3C3 -S214008FB0040C80F800C0078866F34A1707803F0A4B -S214008FC065F3C7074770C3E634F8065C20F8065C0E -S214008FD01AE734F8045C20F8045C62E734F8025CB4 -S214008FE020F8025CAAE725880580B1E60B9D8D4235 -S214008FF040F39481561E4FEA410C069B03EB0C0887 -S214009000059B9C440BE0B8F80030ACF8003001310A -S21400901008F102080CF1020C8D4240F37F8116F82D -S214009020014F002CF3D0FF2CEDD0C4F1FF0798F8C9 -S2140090300130DB089CF80120D20807FB02F204FB93 -S214009040032303EB032203EBC213C3F3C453B8F8A2 -S2140090500000C0F34510BCF80020C2F3451207FB21 -S21400906002F204FB002000EB002200EBC210C0F36B -S214009070C55098F8002002F01F029CF800E00EF0A1 -S2140090801F0907FB09F704FB027202EB022402EB3E -S214009090C412D20D744662F304048CF80040BCF887 -S2140090A0002060F34A12ACF80020120A63F3C702ED -S2140090B08CF80120ABE702370236474545D01CF84E -S2140090C0011F0029F7D0F9299ABF01FB0AF1C1F365 -S2140090D00724079CC4F1FF057B78DB087278D2086A -S2140090E005FB02F204FB032303EB032203EBC2138C -S2140090F0C3F3C4533A88C2F345123188C1F345110D -S21400910005FB01F104FB021202EB022102EBC11285 -S214009110C2F3C552397801F01F01307800F01F0EF7 -S21400912005FB0EF504FB015101EB012401EBC41114 -S214009130C90D61F304003070318862F34A11318042 -S214009140090A63F3C7017170B5E7059B0A9A1344D1 -S21400915005930B9B99440BF1010B049B099A13444E -S2140091600493089B5B453FF46CAB0C9B002BECDD3B -S2140091704F46059E0D9B09EB0308DDF810C09EE7E1 -S214009180012D49D0022D3CD1DFF8E081B6F9103030 -S2140091900993B08A0130C01A00B2B7F90020BB8824 -S2140091A001339B1A1DB2F1460EFB00FB059B03EB39 -S2140091B04B0BB7F90230B6F912609F1BAEEB0707F0 -S2140091C005FB07F7079B03EB4707012C27D0049BFB -S2140091D0A3EB0C031A46A7EB4C030493089B9E458F -S2140091E03FF72FAB430007936B000893CDF814A00E -S2140091F04B1C06995B1A1BB20993CDF818A0924631 -S21400920066E0564B0093564B40F2533255490220C7 -S214009210554CA047FFF715BBDFF85481B6E7099B0E -S2140092209B1A07EB4307089B9E453FF70AAB430094 -S21400923004936B0005933B4647469846BDF9383085 -S2140092401C46BDF93C20934210DC5B000BEB03058B -S21400925008EB03065246298836F8020BB84725F86D -S214009260020B0134BDF93C309C42F3DD049B9B4469 -S214009270059B984409F10109BDF93E309945DDDDAD -S214009280FFF7DFBA013502360234BDF93C309D42A5 -S2140092900FDC17F8013B002BF4D0F92B9DBF069A84 -S2140092A05343C3F30722059A31882088C04730808D -S2140092B0E8E7079B9B44099B9A44049B089A13443F -S2140092C0049309F10109BDF93E3099453FF7B9AA63 -S2140092D0BDF938301D46BDF93C209342E9DC0AEB67 -S2140092E003075B000BEB0306049AD418D1E7049B34 -S2140092F000210A9A8A420ADD0433C81C4000069AF6 -S2140093001418059A10440B95DDF828E027E51A4650 -S21400931070E6049B00210A9A9142EDDB059B0C9AAD -S21400932013440593049B099A13440493069B0D9AD1 -S21400933013440693079B01330793089A9A423FF417 -S21400934080AA002DE5DD049A12F0030FCFD0DDF8D9 -S2140093501880DDF814E0944600219DE474C10100F5 -S21400936038C1010044C1010005280100477C000007 -S214009370917B00002DE9F04FBDB01B90239117465E -S21400938008939DF818310A939DF81C3106934B1EDE -S214009390C81D3AAA13F8011F02F8011B8342F9D12F -S2140093A0A34B9847A34B98471890018ABDF8E8301E -S2140093B05B1AADF8E830428ABDF8EA309B1AADF881 -S2140093C0EA30BDF8EC305B1AADF8EC30BDF8EE30A4 -S2140093D09B1AADF8EE30984B9847199030B9089A1A -S2140093E053881BB91389B3F5807F71D0069B002B79 -S2140093F014BF4FF0030B4FF0020B1B990B46B1F94D -S21400940000208D880135AD1A2DB2BDF9EA00189EF0 -S214009410B6F91210D846BDF9E840B6F91060B3F9AF -S21400942002305B1AC31A921BA21A05FB032303FB26 -S2140094300B731493A4B2A21992B2ADF89820BDF89B -S214009440EC3001331B1B9BB21CB21694013B134439 -S214009450ADF89C3080B243181BB2ADF89A30ADF828 -S2140094609E30BDF8EE600136361A36B208994B8843 -S214009470002B40F053830B89B3F5807218BF01228E -S2140094800592199A002A40F07083B3F5807F40F069 -S21400949049830A9B23B98B7A13B9069B002B31D1DB -S2140094A03AA8664B9847B0F5F07F40F2AC804FF490 -S2140094B07070634CA0471A904FF4F070A047179056 -S2140094C0482128A85F4B98474FF4F0731C93E4E0BC -S2140094D00A9B002B8AD1069B8BB9937A13B14FF067 -S2140094E0020B8AE7937B0293137801930123009380 -S2140094F000233A461B992398534CA0470BE34FF0A2 -S214009500030B7AE73AA84D4B9847B0F5F07F14D88E -S2140095103AA84A4B984781464FEA4900484CA0472C -S21400952082464846A04704460596002E4FDD08FBB7 -S21400953005F80025AC46149E25E04FF4F079EBE7DD -S2140095405B44023796450AD0997802F8011B002939 -S214009550F6D05878197801EB00213980F0E74644B8 -S214009560BDF8EC300133BDF8E8209B1A0CFA83F303 -S214009570994514D9BDF89E300133ADF89E300135BB -S214009580059B9D4223D0169B002BE8DD04EB0C02C6 -S2140095900AEB4C079C4404EB0C0E3346D4E7089ABF -S2140095A0937B02931378019302230093234652463B -S2140095B026A92398244FB847BDF89E3001331BB226 -S2140095C0ADF89A30ADF89E304FF0000CD7E7BDF9F5 -S2140095D09E30BDF99A209A420FD0013BADF89E30DE -S2140095E0089A937B029313780193022300932346F1 -S2140095F0524626A92398144DA8472046134CA04748 -S2140096005046A04787E23AA80C4B98471C901C9BF4 -S21400961058000B4CA0471A901C98A047179048215A -S21400962028A8084B9847059B002B36D091E200BF30 -S21400963011650000851501006DC40000A51A010023 -S214009640E52E0100DF30010029880000192B0100FB -S214009650052208984388ADF8AC300389ADF8AE30E3 -S2140096602897ADF8A4501B99CB88013349885B1A1C -S214009670ADF8A6308DF8B2208388ADF8A830C38840 -S214009680ADF8AA308389ADF8B030C37BC3F30003CE -S2140096908DF8B33028A8934B98470898837ADA4316 -S2140096A0D2B2129203B39BB2427BD20802FB03F201 -S2140096B010928289C2F3451202FB03F21192027BDA -S2140096C002F01F0202FB03F31393069B8BB90A9B5F -S2140096D053BB089A538853BB1389B3F5807F14BFD6 -S2140096E0022301231D9306E0002313931193109386 -S2140096F0EBE702231D93199BE3B9189BB3F91230CD -S214009700BDF9EA2013441B9AB2F902209B1A229351 -S2140097101F96002E40F3E48108FB05F31E930023FA -S2140097200E930F93D14654E102231D93E3E70223E1 -S2140097301D93E0E71C9917986B4B9847DDE70C9B49 -S2140097402B441BB2BDF9A8209B1ABDF9AA200D997F -S2140097508A1ABDF8AE10B1F5807F56D0BDF9AC10B0 -S214009760002965D1BDF8D610319C01FB034309934F -S214009770329B01FB02330B93099B1F12BDF9A430E9 -S2140097809F4280F2AB80002FC0F2A8800B9A121284 -S21400979010461592BDF9A620904280F29F800028C0 -S2140097A0C0F29C809DF8D42012F0040F6AD028994D -S2140097B012F0020F55D103FB00735A00881811F8F7 -S2140097C013308DF8B43043788DF8B53002219DF80B -S2140097D0D43013F0010F0DD0209B6FF3040343F435 -S2140097E0FC636FF3CF23ADF88030BDF8B4009BB2B6 -S2140097F0984273D09DF8B330002B59D19DF8B630FF -S2140098008AF80030BDF8B43086E03498339900FB0F -S21400981003F401FB1247319C04EBE714099400FBA8 -S21400982002F201FB0323329A02EBE3130B93A3E746 -S214009830BDF8D61001FB03F301FB02F2349933980E -S21400984001FB03F400FB1247319C04EBE734099458 -S21400985001FB02F200FB0323329A02EBE3330B9385 -S2140098608AE7159A03FB027303EB43028B18895CA5 -S2140098708DF8B41059788DF8B5109B788DF8B63001 -S2140098800321A4E739B2BDF95420BDF8B0302592C3 -S21400989024912EA8154CA047ADF8B400259A24991B -S2140098A02EA8134B98478DF8B600002211468EE777 -S2140098B0BDF82430ADF8D830BDF82C30ADF8DA302D -S2140098C0ADF8DC70BDF85430ADF8DE3038928DF867 -S2140098D0E41028A8074B984700288FD100238AF861 -S2140098E000303DE0F5F0000095310100C1EE0000CB -S2140098F0F1EF0000A5F30000E0070000FF238AF860 -S21400990000307278337803EB02239BB20A9A1AB1BE -S2140099103FF81C209A4236D0089A927AEAB1BDF8EF -S2140099204820D90A109801FB0201C1F30421C3F3B1 -S2140099304510119C00FB0240C0F3052003F01F03F6 -S214009940139C03FB0243C3F3072363F3040960F38A -S2140099504A1961F3CF291FFA89F3079A22F81530BE -S21400996001355E440AF1010A454510D0059B002BDF -S2140099707FF4E5AE069B002BC0D0B3788AF80030A3 -S214009980002BEDD0BDE700238AF80030E8E7169BF1 -S2140099900F9A9C18199B002B3ED1149B1E9A1344B9 -S2140099A01493BDF8EC300133BDF8E8209B1A04FA96 -S2140099B083F31C9A9A425CD9BDF89E300133ADF809 -S2140099C09E300F940E9B01330E931F9A934200F025 -S2140099D08780189BB3F91030BDF9E82013441B9A12 -S2140099E0B2F900209B1A0C93169B9846002B11DDAB -S2140099F0179B19460F9A01EB020A1A9B194601EBB0 -S214009A0042030793149E0025229B0E9A13441BB212 -S214009A100D93ABE70F9CBDE70F9B179A13441E46AA -S214009A20BDF8E810BDF8EC3001335B1ABDF8EA204B -S214009A30189D688A02440E980244288A01441BB284 -S214009A4012B209B230464E4DA84728B102281D9AD8 -S214009A5008BF02461D92A0E7BDF8EC100131BDF824 -S214009A60E830C91A09B23046464B984702231D9380 -S214009A7093E7089DAB7B02932B7801931D9B009385 -S214009A80179B1A9A26A923983F4CA047BDF89E30EC -S214009A9001331BB2ADF89A30ADF89E30069B5BB929 -S214009AA00A9B83B96B888BB92B89B3F5807F14BF6B -S214009AB0022301231D9301E002231D93199B43B942 -S214009AC000230F937EE702231D93F7E702231D93DF -S214009AD0F4E71C9917982D4B984700230F9371E7CE -S214009AE0BDF99E30BDF99A209A420FD0013BADF8E1 -S214009AF09E30089A937B0293137801931D9B0093E4 -S214009B00179B1A9A26A923981F4CA0471798204CF3 -S214009B10A0471A98A0473DB0BDE8F08F199B13BB2D -S214009B20012305933AA81B4B9847B0F5F07F7FF6C4 -S214009B306AAD4FF47070184CA0471A904FF4F0704E -S214009B40A0471790482128A80E4B98474FF4F0736B -S214009B501C93069B002B7FF47BAD0A9B002B0CBF4F -S214009B600422062275E5012305933AA8094B984777 -S214009B70B0F5F07F7FF647AD4FF4F0731C9346E5E3 -S214009B80C5C30000DF3001002988000095310100C0 -S214009B90192B0100A51A0100E52E010070B59EB034 -S214009BA004460D46164609A80B4B98470B4B1B88D8 -S214009BB0ADF8263009AA29462046094B984702A840 -S214009BC0084B984700230093334602AA29462046AE -S214009BD0054CA0471EB070BD11C800009CC1010016 -S214009BE0D9C80000759F0000CD9F000010B5044640 -S214009BF010210C4B9847237B6FF304032373A38930 -S214009C006FF34A13A3811B0A6FF3C7036373FF2323 -S214009C1023704FF480732381E37B43F00103E373E7 -S214009C2010BD00BFDF30010004380A2813D8DFE873 -S214009C3000F00608060A0C0E100A0C0E1000102083 -S214009C407047182070470120704702207047042094 -S214009C5070470820704700207047032805D002D3BD -S214009C600638042801D900207047012070470238C2 -S214009C700C2808D8DFE800F00907070907090909D2 -S214009C8009090909090000207047012070470000F3 -S214009C902DE9F04F8FB005460E463AB11C461046E9 -S214009CA01B78052B10D80FB0BDE8F08F844B0093BF -S214009CB0844B4D2284490220844CA047844A314676 -S214009CC02846844B9847EEE7A189834B984707467A -S214009CD0002800F0B58090F80C9009F01F0948465F -S214009CE07E4B9847804648467D4B98478146BB69E1 -S214009CF06BB17C4B00937C4BF72273490220734C6C -S214009D00A047BA6931462846724B9847CBE73B696D -S214009D10002B49D06B1EE81D0AAA13F8011F02F893 -S214009D20011B9842F9D163881BB92289B2F5807F5E -S214009D3028D0EA8801326988521AA9880131288811 -S214009D40091A201D0190208900901BB212B209B298 -S214009D500AA8DFF8B8A1D0472A88BDF828301344EF -S214009D60ADF828306B88BDF82A101944ADF82A10D3 -S214009D70BDF82C100A44ADF82C20BDF82E20134454 -S214009D80ADF82E300AAA31460CA8584B9847002842 -S214009D9089D03A69CDF80490CDF8008023460CA906 -S214009DA02846534CA0477EE72A46314608A84F4B24 -S214009DB0984700283FF477AFBDF824300133BDF84C -S214009DC020209B1A1BB2039303EB4300494B984792 -S214009DD002900DF11F020AAB0CA812F8011F03F83F -S214009DE0011B8342F9D101210AA8434B9847BDF9CC -S214009DF02030B5F90020BDF922A0B5F90210AAEB73 -S214009E0001010846BDF926108A4555DCDFF8DCB0AE -S214009E109B1A1BB20593079506944446804623E09A -S214009E20079D0498354B9847354B00932E4B4FF4BF -S214009E309A7225490220254CA0470298314B984734 -S214009E40284B00931F4B58221F4902201F4CA04747 -S214009E501F4A314628461F4B984724E70AF1010A55 -S214009E60BDF926309A4527DC0AAA31460CA8D84701 -S214009E700028F3D00497029B0093039B0FFA88F206 -S214009E8005993846204DA8470128C9D1CDF8049039 -S214009E900094069B029A0CA90AA8154DA847BDF87F -S214009EA02A300133ADF82A30BDF82E300133ADF834 -S214009EB02E3008F10108D1E70298124B9847F2E6D7 -S214009EC0F0C10100A0C10100C0C1010005280100C9 -S214009ED008C201009D9B0000A9F700005B9C0000E3 -S214009EE06F9C000010C20100ACC10100C11A010045 -S214009EF075930000E52E01009B1A0100DD040100A9 -S214009F0024C20100192B0100B90401000DF2000063 -S214009F1058B10278A2F12003DBB25F2B07D952B208 -S214009F20002AB4BF0220002070470320704701209B -S214009F307047A0F13003DBB2092B17D9602884BF25 -S214009F402038C0B2413805280ED8DFE800F01103EB -S214009F500507090B0B2070470C2070470D20704733 -S214009F600E2070470F207047002070471846704735 -S214009F700A20704710B504461C21124B9847FF2351 -S214009F80237223786FF30403237023886FF34A1336 -S214009F9023801B0A6FF3C70363700B4B63604FF697 -S214009FA0FF73E3812382A37843F01F03A3706388C3 -S214009FB06FF34A1363801B0A6FF3C703E370002333 -S214009FC0A37510BDDF300100100000202DE9F04F12 -S214009FD0D9B0629C157A052D01D91D7815B959B0EE -S214009FE0BDE8F08F0A9393460A460D9105461390F6 -S214009FF0DBF804300593014656A8AA4B984700287C -S21400A000EDD09BF8172012F0020F21D1AB88013358 -S21400A0102A889B1A1BB2059AB2F908A0BBF90A90C7 -S21400A020D1441399B1F900201F92B1F90200BBF98F -S21400A03012201A92BBF91410421892B215B2002CD4 -S21400A0404AD000294BD1002814DB0E95002629E0C3 -S21400A050BBF90C30029247F618420192BBF90A206F -S21400A0600092DBF804200A993AA88F4DA847BDF95C -S21400A070E830D0E7A168081A80EAE071A1EBE07149 -S21400A080C9F50070B1EB400F05DD4FF0FF322260DE -S21400A0900E95002606E02668002E23DB61680A443B -S21400A0A012B20E921BB219461093BBF90C209BF805 -S21400A0B0173000930B4605990A9830447B4DA84705 -S21400A0C083192F46DFF8F8813146CDF81890D1462F -S21400A0D00E9D26461C460FE00E950026E2E70E95DE -S21400A0E00026DFE70E950026DCE721469AF80030CA -S21400A0F0002B3FF474AF044605EB09030D9AB2F942 -S21400A1000220934220DA0A9B03EB040ABBF90C20D8 -S21400A1109BF817300093109B05995046B84720448B -S21400A120069B1D442DB2002EDFD04545DDDB33688F -S21400A130002BDADA3460139AB2F90230EB1A736045 -S21400A140B2F90230B360D0E70E460794DDF81890F7 -S21400A1500E959BF8172012F0040F2FD112F0080F5F -S21400A16045D19BF808300B93BBF80E70BBF8103047 -S21400A170194608939F4202D93B460F4608939BF820 -S21400A180183013F0030F49D13DA8494B9847BBF848 -S21400A1900230ADF8F6300B9BFA2B88BFFF231693E0 -S21400A1A01FFA89F31793BDF8383011931F9D0023CB -S21400A1B01993BA46D846B34600F0D3BDBBF90C3067 -S21400A1C0A11B0092059A89B20A983044394CA047E0 -S21400A1D0139A9388013312889B1A1BB2181A00EB45 -S21400A1E0D0701F9B03EB60031BB21F93B9E7BBF94C -S21400A1F00C300799891B0092059A89B20A98304458 -S21400A2002C4CA047139A9388013312889B1A1BB2D2 -S21400A2101B1A1F9A13441BB21F93A2E753A8264B80 -S21400A2209847BBF80030ADF84C31DBF80430B3F992 -S21400A23008300533214A82FB0312DB17C3EBA20367 -S21400A240ADF84E319BF808308DF854319DF85531F5 -S21400A2509BF8192062F301038DF8553194E7002529 -S21400A260AAE00025A8E0069B2BB9BDF84831199353 -S21400A270012306938AE0069B012B00F0F185022B52 -S21400A28000F03385B8F80060B5E0202C7ED1529BF4 -S21400A290199A9B1A072B15D0B8F800300C93022396 -S21400A2A0069373E0C11A01002546010059430100D8 -S21400A2B011C800008545010089AE00006766666625 -S21400A2C000FCFFFF099B9818431E05303AAA13F8B6 -S21400A2D0011F02F8011B8342F9D19DF8E8008C4C5F -S21400A2E0A04705469DF8E900A04700EB05159DF838 -S21400A2F0EA00A04706469DF8EB00A04700EB0616CE -S21400A3009DF8EC00A04707469DF8ED00A04700EB3F -S21400A3100713C3F3C4032E9A63F304021346C6F36B -S21400A320850666F34A13C5F3C40565F3CF23ADF877 -S21400A330B8309BB20C930223069327E0ADF8E8A052 -S21400A3400E9AADF8EA20B8F80C30013B53440344AB -S21400A350ADF8EC30179B013B1344ADF8EE303DAA48 -S21400A3600D993AA86B4B984756E06B4B00936B4B96 -S21400A37040F297126A4902206A4CA047002F05DD7A -S21400A380B8F80C3053443B440FFA83FA5299079BB3 -S21400A390A3EB0B038B4240F2AC844FF6FF73994558 -S21400A3A03FF45DAF089A9A423FF45BAF59440A986F -S21400A3B05D4B1B68984785B25C4E336852A9099F6F -S21400A3C038469847044633680021529838449847E0 -S21400A3D098F8173013F0010F06D0232C3FF443AF44 -S21400A3E0069B012B3FF451AFB8F800600C9B069A11 -S21400A3F0022A08BF1E460246214605984C4B98473F -S21400A40007464FF6FF73994506D00899994203D040 -S21400A410A94501D8A94291D80B9B042BAED9059B20 -S21400A420002BA2D098F819300F93002322463AA9A1 -S21400A4300598404DA84758B91F2C9FD93E4B00930E -S21400A440364B40F2A11236490220364CA04795E71B -S21400A450BDF8EC201AB9BDF8EA30002B8ED0BDF955 -S21400A460EE505544BDF8EA302B440D98B0F9001074 -S21400A4708B4283DBB0F904309D423FF77FAF059BEC -S21400A480B3F90810B3F90A30CB1A0E990B44991A8F -S21400A490BDF9F030CB1A15931A44B0F902309A423F -S21400A4A0FFF66CAFB0F90630159999423FF766AFE4 -S21400A4B021460598214B98478646F0B1059B1B7BA5 -S21400A4C013F0030F00F05E822BB21893BDF95430E0 -S21400A4D01D939DF8F2301293032B00F0FF80013B92 -S21400A4E0072B00F20281DFE813F00A012D000001BD -S21400A4F0FB000001000100011101114B0093074B06 -S21400A50040F2B71206490220064CA04736E700BFC5 -S21400A510339F0000D9C80000CCC301005CC3010013 -S21400A5209CC301000528010064000020580000209C -S21400A5300906010001060100ECC30100F90501004F -S21400A54014C40100C0231B93AC4B2093BDF8EA3023 -S21400A5501E93BDF8EC10129A02FB03F20D9BB3F9A2 -S21400A5600030189C9C42BABF1B1B03EB430300231E -S21400A57027930D9BB3F904301E980446A04880FB31 -S21400A5800440189C20449842C3BF1B1B013303EBB6 -S21400A59043031E9B14930D9BB3F902301D9C9C42F3 -S21400A5A0B4BF1B1B002325930D9BB3F906301D9CDF -S21400A5B00819984240F3B1801B1B0133289306F01C -S21400A5C01F032293C6F345132493C6F3C423239391 -S21400A5D0129B1846279B00FB03F3259800FB0232CC -S21400A5E00EEBE206319602F007061E9801FB00F11C -S21400A5F0B1F5F07FA8BF4FF4F07129910846814C61 -S21400A600A047219029994800A04730907E4B984754 -S21400A6107E4B9847B0F91040838A01331B1B19B252 -S21400A62026918168279B764A82FB03E2A2EBE372BF -S21400A630B0F912301D98C31A2698864618980EFB55 -S21400A64003031B1B259C0EFB0420034401EB430164 -S21400A6501891ADB22A44ADF8E020149A964668499F -S21400A66081FB0EE3A3EBE273013D2B44ADF8E4302F -S21400A670159D25442BB2ADF8E230ADF8E630644BBC -S21400A68098472A90289DAC4280F261811499279AB7 -S21400A6908C1A2B941E9D6B1A1344129901FB03F31C -S21400A6A02C93574A82FB0423C3EBE4732698034497 -S21400A6B05B002D93002326931593CDF8C8B0CDF8F4 -S21400A6C0CC903497DDF86090DDF8C4B0CDF8C4A027 -S21400A6D0DDF8C0A0CDF8D4808846EAE004231293C3 -S21400A6E0F0231B934B4B209330E74B4B00934B4B85 -S21400A6F040F27A224A4902204A4CA0473EE601230D -S21400A700129380231B93484B20931FE70823129332 -S21400A710FF231B93454B209318E728914FE7B8F18A -S21400A720080F04D0DBB2209AD25C00E0159A58AB32 -S21400A7300B4403F8842C0131032928D0B44540F398 -S21400A7409480129B43441E462EFA08FE0135149B45 -S21400A750AB4200F0908012969BF8003003EA0E029F -S21400A760ACEB060322FA03F313F0FF02DED01698D2 -S21400A770FF28D4D0B8F1080F0FBFDAB2DBB2209AA8 -S21400A780D25C169B03FB02F2C2F30722CFE79DF8CA -S21400A790DC109AF80130DB08C1F1FF00239A01FBB8 -S21400A7A002F200FB0323C3F304231D939DF8DE305F -S21400A7B018939AF8002002F01F02C3F1FF00229BB4 -S21400A7C0189C04FB03F300FB0232C2F304231E931F -S21400A7D09DF8DD00BAF80030C3F34514C0F1FF035E -S21400A7E0249A00FB02F203FB0423C3F30523F9B902 -S21400A7F0F0B9189AE2B9219AD1551DE048C2010075 -S21400A80056555555E52E01001165000085150100C9 -S21400A8106DC400004CC2010044C401006CC30100BA -S21400A8209CC301000528010044C201005CC201006F -S21400A830219A4FF0FF31D15509EB470019F8171050 -S21400A8401E9A62F3040109F8171039F8172063F30B -S21400A8504A1229F81720120A1D9B63F3C70242709A -S21400A86001370AF1020A002168E70BF1010BDDF857 -S21400A8706CE0159E6AE75346CA4699462A9B4BBB30 -S21400A8802B9B3B44299A9A4241DDBDF8E6300133C2 -S21400A890ADF8E63026972C9B1E440BEBE60B06F035 -S21400A8A007062D9B9944259B01332593289A9342AE -S21400A8B044DA1B9B23FA06FE279D149A954207DA74 -S21400A8C0269F0021C8F1080C4B46D1469A4642E71F -S21400A8D0269FD3E7269B219A13441C46BDF9E01019 -S21400A8E0BDF8E43001335B1A1BB2BDF9E620204602 -S21400A8F0AB4DA8470028C3D1BDF8E4100131BDF820 -S21400A900E030C91A09B22046A64B9847B8E70F9B15 -S21400A9100293169B019302230093219B524638A96B -S21400A9200D98A14CA047BDF8E63001331BB2ADF838 -S21400A930E230ADF8E63000232693ACE7DDF8C8B089 -S21400A940DDF8CC90349FDDF8C4A0DDF8D480BDF9E6 -S21400A950E630BDF9E2209A420ED0013BADF8E63073 -S21400A9600F9B0293169B019302230093219B309A20 -S21400A97038A90D988C4CA04721988C4CA04730984D -S21400A980A047FBE42CB2BDF95400ADF88C609DF8EE -S21400A990F2302093032B00F0C180013B072B00F21E -S21400A9A0C580DFE813F0CD000800C300BD00C3007B -S21400A9B0C300C300D5000423C02212927C4A229210 -S21400A9C01699F9292BD87B4A92F800218A4200F082 -S21400A9D0C880D3B1229E721E76490139013B06EB30 -S21400A9E0030C169B1E46CDF850B09B4612F8013F4E -S21400A9F0FF2B1ABF0BFB03F3C3F30723334601F801 -S21400AA00013F9445F2D1DDF850B06A4B9DF85820CE -S21400AA1083F80021209AC3F804211C9B2293BDF8DA -S21400AA20EA302493BDF8EC20209901FB03FC0D9B33 -S21400AA30B3F900309C42B4BF1B1B002314930D9B3C -S21400AA40B3F90430249921449942C6BF1B1B013335 -S21400AA50249B25930D9BB3F902309842B4BF1B1A72 -S21400AA60002326930D9BB3F9063011189942C3BFF5 -S21400AA701B1A01331B931B92149B2193209903FBF3 -S21400AA8001F4269800FB0C440EEBD40604F00704F1 -S21400AA90249902FB01FE7246BEF5F07FA8BF4FF474 -S21400AAA0F0721D921046444B98471890ADB2149B16 -S21400AAB0EB18ADF8E030013D259AAB18ADF8E43060 -S21400AAC0159D269805442BB2ADF8E230ADF8E63079 -S21400AAD03A4B98471E902099C1F10805249A149B7A -S21400AAE0D318259A9B1A01FB03F3209326981B9BE9 -S21400AAF0984280F2DF804FF0000ECDF890B0CDF88F -S21400AB00989027970F461595CDF8A0A0DDF894A04D -S21400AB108146CDF89480DDF888807AE0042320937F -S21400AB201023F0221292264A229249E7254B0093E0 -S21400AB30254B40F2E51225490220254CA0471DE48E -S21400AB4001232093022380221292224A229237E780 -S21400AB50082320934FF48073FF2212921E4A2292FB -S21400AB602EE7144AD2F80421209991427FF431AF9F -S21400AB704BE701361298002401318C452ED03378ED -S21400AB8003402A1BD34013F0FF0F1ABFDBB218F89E -S21400AB90033000230B70A542EBD93C44F840EBE7AA -S21400ABA0C5C30000DF30010029880000192B010012 -S21400ABB048C20100502A0020E52E01006DC40000A6 -S21400ABC04CC201006CC4010080C301009CC301009C -S21400ABD00528010044C201005CC2010015951E9BB9 -S21400ABE053BB149BAAEB03035B441D9A9A423FD9BE -S21400ABF0BDF8E6300133ADF8E630DE46209B1C4457 -S21400AC0006EBD40604F0070409F101091B9B9945DD -S21400AC1047DA129B23FA04F0149B53450ADA189A73 -S21400AC2002EB0E01219BAAEB030BF34402EB0B0C89 -S21400AC30159DA4E7F346D2E7189B73441846229363 -S21400AC40BDF9E010BDF8E43001335B1A1BB2BDF964 -S21400AC50E620854DA8470028C3D1BDF8E410013191 -S21400AC60BDF8E030C91A09B22298804B9847B8E779 -S21400AC700F9B0293FF23019302230093189BBDF8BA -S21400AC808C2038A90D98DFF8E8B1D847BDF8E63033 -S21400AC9001331BB2ADF8E230ADF8E6304FF0000EEF -S21400ACA0ACE7DDF890B0DDF89890279FDDF8A0A01F -S21400ACB0DDF89480BDF9E630BDF9E2209A420FD067 -S21400ACC0013BADF8E6300F9B0293FF23019302236E -S21400ACD00093189BBDF88C2038A90D98644CA047AB -S21400ACE01898644B9847FFF749BB00230693FFF775 -S21400ACF04DBB5346CA46994698F8183013F0020FD3 -S21400AD0046D198F8183013F0010F62D10A9A079DC1 -S21400AD105619B8F90C2098F817300093109B05992F -S21400AD203046554CA0474419139BB3F9005098F889 -S21400AD30172012F0040F6CD112F0080F7ED10E9B74 -S21400AD4017990B441BB2119A0A4492B21192DDF87D -S21400AD501CB00E930D9AB2F906209A42FFF63FA950 -S21400AD6007940A9A13465B44099312F80B30002B9B -S21400AD703FF435A91A9B1D440FFA85F90023529318 -S21400AD8006933E4B1C934B46D1469A46FFF7FEBAB7 -S21400AD90BDF87C30ADF8E030D8F80430B3F90830B0 -S21400ADA003EBD372BDF94E3103EBD3735B1003EBA9 -S21400ADB06203119A13441BB2ADF8E230ADF8E89086 -S21400ADC0ADF8EA3053AB0D9A3AA938A82C4CA047F8 -S21400ADD097E7BDF87C30ADF8E030D8F80420BDF930 -S21400ADE04E3103EBD3735B10013311890B44528948 -S21400ADF09B1A119A13441BB2ADF8E230ADF8E890F6 -S21400AE00ADF8EA3053AB0D9A3AA938A81C4CA047C7 -S21400AE107CE7B8F90C300092059A01463046194E88 -S21400AE20B047139A9388013312889B1A1BB2181ADC -S21400AE3000EBD07005EB60052DB280E7B8F90C305A -S21400AE400092059A014630460E4EB047139A9388F4 -S21400AE50013312889B1A1BB2181A05442DB26EE7EE -S21400AE6000230693FFF70EBAC5C30000DF300100CB -S21400AE70F97C0000192B010059430100502A0020DC -S21400AE80B9AE00008545010010B504460A21094BFD -S21400AE90984701236380FF23237223786FF304030C -S21400AEA0237023886FF34A1323801B0A6FF3C703AC -S21400AEB0637010BDDF3001002DE9F04FCBB0B3F961 -S21400AEC00250002D00F018841C7A052C40F21484E1 -S21400AED0B0F90060B1F90070BE4200F030811C4647 -S21400AEE0964608920791069005EBD575C5F34F0573 -S21400AEF0BE42D4BFC5EB0603C5EB0703ADF8203151 -S21400AF00BE42ACBFAB19EB19ADF824310F46B1F910 -S21400AF1002200646B0F902309A42D4BFC5EB0201C1 -S21400AF20C5EB0301ADF822119A42ACBFAD18ED187F -S21400AF30ADF82651724648A90846AB4B98470028FC -S21400AF4000F0DA83B6F90260B7F90250AE4200F0BC -S21400AF50FE80069BB3F900301A460593079BB3F9AB -S21400AF6000A0524500F00182AE4206DB33462E4674 -S21400AF701D46059BCDF814A09A46059BAAEB030335 -S21400AF800993AA1B0A92002BB8BF5B429B46002A75 -S21400AF90B8BF52429046B4F902909342C7BF5301DD -S21400AFA093FBFBF34FEA4B1393FBF2F38F4AD35C0E -S21400AFB009FB03F909F13F094FEAE9131F469BB263 -S21400AFC005988245D4BFC3EB0A02C3EB0002ADF876 -S21400AFD038208245ACBF03EB0A021A18ADF83C20B5 -S21400AFE0B542D4BFC3EB0502C3EB0602ADF83A2068 -S21400AFF0B542ACBF5B199B19ADF83E3048AA0EA906 -S21400B0000846794B9847002800F072834FEA2929B2 -S21400B01007F001034B440B93C34540F3B682099AED -S21400B020002A40F38E821FFA86FB1FFA89F31FFA66 -S21400B03085F9ABEB030200210191A9EB03031BB2D8 -S21400B0400093534612B2059912A8694FB847BDF847 -S21400B0502C800BEB080201230193C1440FFA89F3FD -S21400B0600093534612B205991DA8B847002112A8AE -S21400B070DFF89C81C0470B9000211DA8C0470C90AC -S21400B080637A13F0100F00F0A4824FF0FF330D9395 -S21400B0900A93584B9847584B98478246068ABDF8FD -S21400B0A03850AD1BAAB2ADF83820408ABDF83A1029 -S21400B0B0091AADF83A10BDF83C309B1B9BB2ADF8B0 -S21400B0C03C30BDF83E10091AADF83E105D1CAD1AB6 -S21400B0D02DB20EA8494B9847B0F5F07FC0F0A2827B -S21400B0E04FF4F07B5846464B98478146BAF81030E6 -S21400B0F0BDF838201A4412B20592ADF84020BDF8CB -S21400B1003C201344ADF84430BDF83A30BAF812206B -S21400B11013441BB2ADF84230ADF846305946394BB1 -S21400B1209847BAF91220BDF93A601644BDF93E3088 -S21400B13013449E4200F3B98200270994A0E2B0F9B6 -S21400B14002E0B1F90240A6457FF4C9AED4E294F815 -S21400B1500890284B9847284B98470746B4F9023082 -S21400B160013B5E1003F001039D19B4F90630002B75 -S21400B17035D0B4F9048018F1000818BF4FF0010864 -S21400B180214B984770BB88F00102079BB3F900304B -S21400B1900699B1F9001018468B42A8BF0846ADF8CC -S21400B1A0A0008B42B8BF0B46013BADF8A430069911 -S21400B1B04B885D1BADF8A2503344ADF8A6304AB3B9 -S21400B1C0637A03F003030293CDF8049001230093FF -S21400B1D00023228828A948A80C4DA84788E24FF0EB -S21400B1E00008CDE70022D0E7C11A010088C401009C -S21400B1F091C400001165000085150100A51A010024 -S21400B200E52E0100953101006DC40000F97C0000B8 -S21400B21069C3000028AA48A91046A14B98470028F1 -S21400B22000F06682BDF9A0E0B7F910108BB2AEEB65 -S21400B230030292B20FFA82FCADF8A0C0BDF9A200DC -S21400B240B7F81290A0EB0905ADF8A250BDF9A460BE -S21400B250F31A9BB2ADF8A430BDF8A650A5EB0905CD -S21400B260ADF8A65001339A1A15B2ADF8CCE0ADF899 -S21400B270D060ADF8CE00ADF8D200B8F1000F1CD00B -S21400B2806144B4F90620B4F904301A4491FBF2F391 -S21400B29002FB13110BB20A9309952846814B984777 -S21400B2A08246BDF9A260BDF9A630B34259DBDFF88D -S21400B2B01092DFF808B2059535E00021EAE7B4F908 -S21400B2C006E073449A42BABF0AF8001013460B46CB -S21400B2D0013000B201331AB2854207DDB4F90430FA -S21400B2E09342ECDB1844801A00B2F1E70595022081 -S21400B2F0637A03F003030293237A01930090534684 -S21400B300228833A948A8D847BDF8CE300133ADF817 -S21400B310CE30BDF8D2300133ADF8D2300136BDF9AB -S21400B320A6309E421DDC09995046C8477A8A3244A8 -S21400B330398ABDF8A0301944059B12B209B25046AE -S21400B340594DA847B8F1000FD2D00028D0D0059BA1 -S21400B350002B04DD0A9A002001461D46BEE70220A7 -S21400B360C6E75046514B9847C2E194F80890504BB8 -S21400B3709847504B98478046B4F90250013D6F10ED -S21400B38005F001053D44B4F906302BB1B4F904606C -S21400B390003618BF012600E00026474B984710B934 -S21400B3A086F0010200E0002206990B885D1BADF8CE -S21400B3B0A0501F44ADF8A470079BB3F90230B1F952 -S21400B3C0021018468B42A8BF0846ADF8A2008B4272 -S21400B3D0B8BF0B46013BADF8A63072B1637A03F0F6 -S21400B3E003030293CDF804900123009300232288E0 -S21400B3F028A948A8314DA8477AE128AA48A91046A6 -S21400B400274B9847002800F07381BDF9A000B8F8D4 -S21400B4101030C51AADB2ADF8A050BDF9A220B8F8EC -S21400B4201270D11BADF8A210BDF9A410CB1A9BB2B6 -S21400B430ADF8A430BDF8A6E0AEEB0707ADF8A670F1 -S21400B44001335B1B1BB20993ADF8CC00ADF8D010EE -S21400B450ADF8CE20ADF8D2200A931846114B984787 -S21400B460059076B1B8F91020BDF9A0703A44B4F949 -S21400B4700630B4F904703B4492FBF3F703FB17273E -S21400B48000E000273FB2BDF9A250BDF9A6309D42AC -S21400B49053DCDFF82C90DFF810A0DFF820B02CE0AB -S21400B4A0C11A0100E52E0100C5C30000192B0100DA -S21400B4B011650000851501006DC40000F97C0000D0 -S21400B4C09531010001373FB200230293237A01939E -S21400B4D00090059B228833A948A8D847BDF8CE30EF -S21400B4E00133ADF8CE30BDF8D2300133ADF8D230EE -S21400B4F00135BDF9A6309D421FDC0A990598C8475C -S21400B500B8F812202A44B8F81010BDF8A030194434 -S21400B510099B12B209B20598D047002ED4D0002855 -S21400B520D0D0B4F90420BA42B8BF0020B4F906302F -S21400B53013449F42A8BF0027C4E70598974B984737 -S21400B540D6E01FFA86FBBDF82C80A9B20BEB0802EA -S21400B550002301930F4688440FFA88F3009353465E -S21400B56012B2059912A8DFF83882C0471FFA89F38D -S21400B570ABEB030201210191FB1A1BB20093534669 -S21400B58012B205991DA8C04770E5BDF814B0BDF805 -S21400B5902C801FFA8AF31F464344D84400220192A7 -S21400B5A000951BB232460FFA88F112A8DFF8F08138 -S21400B5B0C0471FFA89F9A7EB0903ABEB090901227B -S21400B5C0019200951BB232460FFA89F11DA8C047BA -S21400B5D04CE5BDF82880BDF824900599A1EB08033A -S21400B5E00322019209EB060212B200921BB2324607 -S21400B5F028A86B4EB047AAEB08030222019209EB7B -S21400B600050212B200921BB22A46514633A8B04732 -S21400B610002128A8634DA8470A90002133A8A84710 -S21400B6200D9036E50EA8604B984783465AE52946A6 -S21400B63040465E4B98472DE0099A537A03F0030381 -S21400B6400293137A0193022300934B46128848A96B -S21400B65010A8574CA047BDF8463001331BB2ADF8D2 -S21400B6604230ADF8463059464846524B9847002778 -S21400B6700136BDF93E30BAF9122013449E4213DC5F -S21400B68009EB07082B4632B2059940464A4CA047BC -S21400B6900028CCD02F44EB199B45CDD9BDF84630B9 -S21400B6A00133ADF84630E3E7099CBDF94630BDF9F5 -S21400B6B042209A4210D0013BADF84630637A03F040 -S21400B6C003030293237A0193022300934B462288B6 -S21400B6D048A910A8364DA8474846304B98470B98BF -S21400B6E0364DA8470C98A8470A98A8470D98A8472B -S21400B6F0637A13F00C0F02D14BB0BDE8F08F33A87D -S21400B7002F4B98472388ADF8CE3047F6FF73ADF839 -S21400B710CC30237A8DF8D830B4F902305E1083F03E -S21400B720010303F00105637A13F0040F1CD1637A5A -S21400B73013F0080FE0D007990A88B6B2931BADF84D -S21400B740A03049888B1BADF8A230ABB23244D21A77 -S21400B750ADF8A4200E44F31AADF8A63033AA089923 -S21400B76028A8184B9847C7E706980288B3B2D11A9C -S21400B770ADF8A0104088C11AADF8A210A9B21A44BC -S21400B780521AADF8A42003445B1AADF8A63033AACB -S21400B790089928A80B4B9847C9E700BF192B01004A -S21400B7A091C4000069C30000A51A0100DF30010043 -S21400B7B0F97C000095310100C5C3000015C40000E7 -S21400B7C011C80000D9C800002DE9F041069CA58AE2 -S21400B7D0521B12B2658A4D1B2DB2216A00294BD12D -S21400B7E094F8281011F0010F16D0237C03F0030301 -S21400B7F0012B40F2DB81022B04D0032B06D0002065 -S21400B800BDE8F0810132D00FBDE8F081002AD4BF38 -S21400B81000200120BDE8F081227C02F00302911E88 -S21400B820C9B2012940F2C581012A0CD0B2B9E91883 -S21400B83000F1C2816D42002DC0F2C181AB4207DC2F -S21400B8400220BDE8F081002D08DD0120BDE8F08172 -S21400B8502844CD4B98470220BDE8F081DD4200F138 -S21400B860B181694221EAE1718B4240F3AE81C64B59 -S21400B87098470220BDE8F08194F8286016F0010F82 -S21400B8800FD1A76902FB07F18912002FCCBF01F187 -S21400B890010E8E46754540F39880C6F34000BDE81D -S21400B8A0F081E16905FB01F7BF12002906DD97422A -S21400B8B040F3B881C6F34000BDE8F081974280F2BD -S21400B8C0ED81C6F34000BDE8F08186F00200C0F3CB -S21400B8D04000BDE8F08186F00200C0F34000BDE8FD -S21400B8E0F0810025D4E1F44688F800C0636AD21AD5 -S21400B8F001350136BD4249DA636A9A421DDD002DE4 -S21400B900F4DBBD42F2DAA2EB6303DBB294F828C0A4 -S21400B9101CF0020F1CBFDB43DBB2B04696F800C03B -S21400B920F92BE1D8052BDED903FB0CF303EB032C34 -S21400B93003EBCC13C3F3C75CD6E7BD4226DA002D73 -S21400B94024DBA36903FB02F39B1202FB03F2C2F3A0 -S21400B9504722E369002BBCBFD243D2B294F828300A -S21400B96013F0020F1CBFD243D2B24619435DF92A28 -S21400B9700BD8052A08D902FB03F202EB022302EBDE -S21400B980C312C2F3C75300E00023337094F8283084 -S21400B99013F0020F0AD08F42C0F21A810029C0F2BB -S21400B9A01A81794B98470220BDE8F081013500F1F5 -S21400B9B01581BD4202DD0220BDE8F081791B2844D6 -S21400B9C0714B98470220BDE8F08105EB030E7145E8 -S21400B9D005DD86F00200C0F34000BDE8F0811102EC -S21400B9E007FB01F14FEAA148C1F387210132120299 -S21400B9F007FB02F24FEAA24CA8EB050EE04563D027 -S21400BA00002F5BDBC1F1FF01E26902FB01F2951238 -S21400BA10BEF1000F1CDB73451ADD05FB01F1C1F317 -S21400BA20472216F0020F04BFD243D2B200EB0E0636 -S21400BA3010F80E10F92A0AD8052A40F2A18002FB57 -S21400BA4001F202EB022102EBC112C2F3C7513170C0 -S21400BA501EF1010120D48B421EDDC5F1FF02A5694F -S21400BA6005FB02F5AD1202FB05F2C2F3472294F87D -S21400BA70285015F0020F1CBFD243D2B2455CF92AFB -S21400BA8009D8052A7ED902FB05F202EB022502EB55 -S21400BA90C512C2F3C755455494F8282012F0020F79 -S21400BAA074D07345C0F2B280BEF1000FC0F2B18010 -S21400BAB07146354B98470220BDE8F081002940F0DA -S21400BAC000810EF1FF3EFF21BEF1000F1EDB734525 -S21400BAD01CDDC2F387220A44C2F3470216F0020FA7 -S21400BAE01CBFD243D2B200EB0E0610F80E10F92A95 -S21400BAF00BD8052A08D902FB01F202EB022102EB61 -S21400BB00C112C2F3C75100E00021317094F828201A -S21400BB1012F0020F0AD0ACEB05018B4261DD002962 -S21400BB2062DB194B98470220BDE8F0810EF1010256 -S21400BB309A42A8BF1A46002A59D0002A5ADD991AF6 -S21400BB401044114B98470220BDE8F0810025DCE048 -S21400BB50002500E1002950DD0B4B98470220BDE888 -S21400BB60F0810EF1010E73454ADBBEF1000F4ADB91 -S21400BB70A3EB0E017044044B98470220BDE8F08109 -S21400BB80002164E7002586E7DF3001000EF102029F -S21400BB909A42A8BF1A46002A3ED0002A3FDD991ACC -S21400BBA01044734B98470220BDE8F0810120BDE8A1 -S21400BBB0F0810120BDE8F0810120BDE8F081002081 -S21400BBC0BDE8F0810020BDE8F0810020BDE8F081EE -S21400BBD00020BDE8F0810220BDE8F0810020BDE82D -S21400BBE0F0810020BDE8F0810220BDE8F081002051 -S21400BBF0BDE8F0810220BDE8F0810220BDE8F081BA -S21400BC000120BDE8F0810220BDE8F0810020BDE8FB -S21400BC10F0810220BDE8F0810020BDE8F08102201E -S21400BC20BDE8F0811F462B4401FB03F1B2EBA12FC8 -S21400BC303FF74BAE1202A36903FB02F39B121912E5 -S21400BC4013F0FF0339D0C3F1FF03626A02FB03F26D -S21400BC504FEA222ECEF1FF02491B1AD4B94218DA57 -S21400BC600EFB03F3C3F3472316F0020F04BFDB43B8 -S21400BC70DBB24618455CF92B0AD8052B7FF631AEA9 -S21400BC8003FB05F303EB032503EBC513C3F3C7550B -S21400BC9035704D1C46194FF0000E2DE61F462B44FE -S21400BCA001FB03F1B2EBA12FFFF615AE0132120233 -S21400BCB0A36903FB02F39B12C1E74D1B2946FF2233 -S21400BCC0E8E7E269524201FB02F29212BEF1000F6F -S21400BCD01CDB73451ADD02FB01F1C1F3472116F0A8 -S21400BCE0020F1CBFC943C9B200EB0E0610F80E5077 -S21400BCF0F9290AD805297FF629AF01FB05F101EBE2 -S21400BD00012501EBC511C1F3C7553570BEF1010120 -S21400BD1022D48B4220DDC2F1FF02A5696D4202FBF0 -S21400BD2005F5AD1202FB05F2C2F3472294F828503F -S21400BD3015F0020F04BFD243D2B2455CF92A0AD8E6 -S21400BD40052A7FF605AF02FB05F202EB022502EBA1 -S21400BD50C512C2F3C755455494F8282012F0020FB6 -S21400BD603FF4FFAE8B42BFF6F5AE0220BDE8F08191 -S21400BD70DF3001002DE9F04F8DB0169DAE7C06F049 -S21400BD800106B5F91080EC1D05F10F090DF1280E1E -S21400BD9014F8017F0EF8017B4C45F9D1002E3DD1F9 -S21400BDA0BDF92A40944200F32B82BDF92E409442FE -S21400BDB0C0F22A829B460F460290BDF9289008EBF7 -S21400BDC00903994206DB5944BDF92C30A3EB08035E -S21400BDD099420BDDBDF92A3003EB08018A4253DB9A -S21400BDE0BDF92E10A1EB08018A424DDC86BBA9EBFB -S21400BDF007045C4500F30C82002C03DB2146029806 -S21400BE009F4B9847BDF92C00C01B0130002840F31B -S21400BE10018283450DDCBCB10220F2E1BDF92A4067 -S21400BE20944200F3F381BDF92E409442C2DA012019 -S21400BE30E7E1ABEB0001029B03441846904B9847A2 -S21400BE40002CE9D10220DCE18345E5D10120D8E1D0 -S21400BE50A9EB070020EAE070584501DD0220D0E19A -S21400BE60BDF92C10C91B091A013143189B45B8BFF0 -S21400BE70ABEB00010029C0F2CF81029B03441846B9 -S21400BE807F4B98470220BCE1BDF92CA09BB2BDF8C1 -S21400BE902E100131C91A09B2D21A08FB08F3019311 -S21400BEA012B2904500F3D181A1EB0803013B9A4200 -S21400BEB000F3B4810220A4E16B8BADF81A302B8B13 -S21400BEC0ADF81830D6E1049A07A9019B00FB1030A4 -S21400BED06C4B9847049A06A9019B04FB1430694BE7 -S21400BEE098476C61BDF81A306B83BDF818302B8309 -S21400BEF0D1E1BDF81E10002940F0D581013AADF819 -S21400BF001C20FF22ADF81E20CDE1BDF81A20BDF89A -S21400BF101E100A44C2F347020EB1D243D2B2A8EBB7 -S21400BF200303013BF91811D459450FDA0298405C17 -S21400BF30F92A09D8052A35D902FB00F000EB0024BF -S21400BF4000EBC410C0F3C750029C6054A9EB030377 -S21400BF50013BDF1911D45F450FDA029BDB5DF92A3E -S21400BF6009D8052A20D902FB03F202EB022302EBD2 -S21400BF70C312C2F3C753029AD355BEB1481C20EA77 -S21400BF80E0705F45D4BF391AABEB0001584580F22C -S21400BF9019810029C0F21681029B03441846384BCB -S21400BFA098470FE10020CFE70023E4E7594500F368 -S21400BFB02581002902DB0298314B9847013700F1B2 -S21400BFC01D815F4500F3FE80ABEB0701029B3B44FF -S21400BFD018462B4B9847F5E0049A09A9019B08FBE5 -S21400BFE01830284B9847BDF82610BDF81A30C3F114 -S21400BFF0FF02C1F1FF0303FB02F3C3F347230EB9AD -S21400C000DB43DBB203980246002811DB58450FDA03 -S21400C010029C2018A25CF92B09D8052B29D903FB12 -S21400C02002F202EB022402EBC412C2F3C752027001 -S21400C030BAF1000F13DBDA4511DA029C04EB0A00B2 -S21400C04014F80A20F92B09D8052B14D903FB02F3A0 -S21400C05003EB032203EBC213C3F3C7520270039B26 -S21400C060013B03930AF1010AADF8221008F101081A -S21400C0705EE10022DBE70022F0E7002739E000BFA0 -S21400C080DF300100C528010000270EF808700138CF -S21400C090013401311A46019DA94240D809EB121716 -S21400C0A001FB11A307FB07FCCCEB03234FEA470C6D -S21400C0B093FBFCF31F44C7F30F1C3F0107F0F0038C -S21400C0C01A44C2F347020EB1D243D2B2002812DBA2 -S21400C0D0834510DD80461EF80070F92A09D8052A27 -S21400C0E0CBD902FB07F505EB052705EBC717C7F30A -S21400C0F0C7570EF80870002CC9DBA345C7DDA0465D -S21400C1001EF80470F92AC0D8052ABDD902FB07F22A -S21400C11002EB022702EBC717C7F3C757B5E7DDF8F0 -S21400C1201080DDF814A0EA434244039911440391B9 -S21400C1300135AA44AAEB080AADF82230ADF824C0AF -S21400C140ADF82630BDF82230002B3AD0BDF81E20C0 -S21400C15003FB02F3C3F347230EB1DB43DBB2039AC0 -S21400C160002A12DB934510DD029801461144825CDA -S21400C170F92B09D8052B27D903FB02F202EB022084 -S21400C18002EBC012C2F3C7520A70BAF1000F13DBFB -S21400C190D34511DD029800EB0A0110F80A20F92BAE -S21400C1A009D8052B12D903FB02F303EB032203EB9A -S21400C1B0C213C3F3C7520A70039B013B03930AF1F1 -S21400C1C0010A2EB102201CE00022DDE70022F2E781 -S21400C1D003990131594511DC002902DB0298604BB6 -S21400C1E09847BAF1000F09DBDA45EBDAABEB0A0148 -S21400C1F0029B534418465A4B9847E3E7002000E05A -S21400C20000200DB0BDE8F08F0020FAE70120F8E727 -S21400C2100020F6E70020F4E70220F2E7B8F5807F7A -S21400C220D4BF4FF400634FF400430493891AA8EB7D -S21400C2300100441C6B6998427FF445AE6B8BADF8E9 -S21400C2401E302B8BADF81C3044E6B8F5807FD4BF8B -S21400C2504FF400634FF400430493A8EB02046B69A9 -S21400C2609C423FF429AE049A06A9019B04FB1430B5 -S21400C2703C4B9847631E049A07A90393019803FB57 -S21400C2801300384B9847039B6B61BDF81E306B83D9 -S21400C290BDF81C302B83BDF81830BDF81C20511E8D -S21400C2A08B423FF426AEA9EB07070AF1010AAAEB78 -S21400C2B009090FFA89F9BDF81C209A423FF425AE09 -S21400C2C00133A8EB030807EB08030393A9EB080860 -S21400C2D008F1FF3ABA4486B1581C20EAE070DA4505 -S21400C2E0D4BFAAEB0001ABEB0001584505DA0029E4 -S21400C2F003DB029B18441A4B9847BDF8180000F160 -S21400C3000108049A08A9019B00FB1030154B9847BA -S21400C310BDF822303BB9BDF82030013BADF82030E7 -S21400C320FF23ADF82230BDF820309C427FF754AE94 -S21400C330BDF81C50A8453FF605AFBDF820904FEA63 -S21400C3400919BDF82220414654460398CDF81080BE -S21400C350CDF814A0DDF804A00195DDF808E09DE610 -S21400C360DF300100C528010010B582B0104B1B68F5 -S21400C3709BB10F4A0123946884B10133DBB20832C3 -S21400C380102BF8D10B4B00930B4B57220B49022076 -S21400C3900B4CA0474FF0FF3007E00023044A42F85A -S21400C3A0330002EBC302516018B202B010BD00BFEA -S21400C3B0886D002008C50100ACC40100D8C4010087 -S21400C3C0052801002DE9F04782B0114C2468ECB135 -S21400C3D09A469146884607460D4E002500942468E6 -S21400C3E053464A4641463846A047044650B10228BE -S21400C3F008BF012556F8084F002CEFD1002D14BFBA -S21400C40002240124204602B0BDE8F0870124F9E7A3 -S21400C410886D0020B0F1FF3F0AD0064B53F830106D -S21400C420002243F8302003EBC0035A6008467047EA -S21400C4300021FBE7886D002070B40B4B1A1D03F13A -S21400C44080040026354603E008330832A34208D0AD -S21400C45059688142F8D152F8046C42F8045C5D6079 -S21400C460F2E7304670BC7047886D002000231846FF -S21400C470064902E00133102B06D051F83320002A7B -S21400C480F8D00130C0B2F5E7704700BF886D0020D5 -S21400C4902DE9F04104460F4615469846BDF918604A -S21400C4A02C214A4B9847B54205DD2B4635461E469D -S21400C4B03B464746984627816581A4F80C80E6816E -S21400C4C0237C9DF81C2062F3010323746782A582F7 -S21400C4D0A8EB0707751B87EAE771A1EBE77185EA0A -S21400C4E0E573A3EBE5739942D4BF0021012194F8CC -S21400C4F0282061F3000284F828200021E161A16170 -S21400C500334B2360217112F0010F25D03FB14FF459 -S21400C510801393FBF7F305FB03F39B12E3613DB136 -S21400C5204FF4801696FBF5F507FB05F7BF12A761DB -S21400C530E3692362237C13F0030322D194F82830A6 -S21400C5406FF3410384F82830236A9A10002BB8BF93 -S21400C55052426262BDE8F0813DB14FF4801393FB16 -S21400C560F5F307FB03F39B12A3613FB14FF480186A -S21400C57098FBF7F705FB07F5AD12E561A3692362A3 -S21400C580D8E7012B0FD0022B14D0032BDCD1236A63 -S21400C590002B94F82830CCBF6FF3410343F002031E -S21400C5A084F82830D0E794F8283043F0020384F863 -S21400C5B02830C9E7236A002B94F82830CCBF43F014 -S21400C5C002036FF3410384F82830BDE7DF30010033 -S21400C5D0C9B7000070B4CC8801344D88641B8D88C0 -S21400C5E001350E88AD1B24B22DB2AC42A8BF2C4636 -S21400C5F06410A242C8BF22B2013900F1100600F151 -S21400C600080411F8015F04F8015BB442F9D1028214 -S21400C610827C63F300028274054B0360022303717D -S21400C6204FF00043436100234383038370BC70478D -S21400C63075BD00002DE9F04F8BB006908946079235 -S21400C6404FEA610BCDF808B011F0010F06BF0BF1F1 -S21400C650FF330893CDF820B0069C67003846694B38 -S21400C66098470590002C40F3BE80BA1EC11903916E -S21400C670079D4FF0000804F1FF3A0899AAEB010164 -S21400C68004910646CDF824B09346CDF8049035F8CC -S21400C6900B3009FB03F3BAF1000F1BDB029A02EB27 -S21400C6A00A01049A013A03984FF0000E20F8023D62 -S21400C6B08C42CCBF35F811C0F446A3EB0C03002A1D -S21400C6C0B4BFB5F800C035F812C063440139013A6A -S21400C6D0B042EBD13A46314628464B4B98473D444C -S21400C6E008F10108A045D0D1DDF824B0079A1388D8 -S21400C6F0019993FBF1F31380069B03FB03F5012DD1 -S21400C70011D9079A0121019E104632F8023F00888F -S21400C71098421CBF93FBF6F313800131A942F3D372 -S21400C720069B002B59DD079E0296089901FB0772AF -S21400C7306FEA0B035B1A069D05FB03F306936B1E5D -S21400C74005FB03F306EB430307934FF0000A931E23 -S21400C750089301F10109029B1E4602331A46029312 -S21400C7603388019901FB03F308998D18059AA2F105 -S21400C770020CE046B6460022CDF80CC00496069E93 -S21400C780DDF81CC0002BACBF9911002128F8021F51 -S21400C7901146A2EB0B000028D4BFBEF8000035F807 -S21400C7A016001B1A49448C42CCBF29883CF81A1044 -S21400C7B00B440132BE443D44A242E3DBDDF80CC02C -S21400C7C0049E00233CF8022F328001333E44A342ED -S21400C7D0F8DB0AF1010AA245BDDB05980B4B98472A -S21400C7E00BB0BDE8F08FCDF80490079A138893FB42 -S21400C7F0F9F9A2F80090069B03FB03F5012D80D8FB -S21400C800EBE700BFE52E0100FD2B0100192B010010 -S21400C81010B5044654212D4B98472D4B1B8863803A -S21400C82023796FF304032371A3886FF34A13A3805D -S21400C8301B0A6FF3C7036371A37B6FF30403A37331 -S21400C840E3896FF34A13E3811B0A6FF3C703E373AD -S21400C85094F834306FF3040384F83430A38E6FF307 -S21400C8604A13A3861B0A6FF3C70384F8353094F87F -S21400C87046306FF3040384F84630B4F846306FF35E -S21400C8804A13A4F846301B0A6FF3C70384F84730F0 -S21400C890A37F6FF30403A377E38B6FF34A13E3835B -S21400C8A01B0A6FF3C703E377FF23638123732377A2 -S21400C8B0237584F83630074A226384F844302264AD -S21400C8C084F828300F23638210BD00BFDF300100DC -S21400C8D060C50100100000202DE9F04FB1B0C488FB -S21400C8E04588631C5B1B1BB2002B41F30F808688B8 -S21400C8F0B0F80080731CA3EB08031BB2002B41F3B7 -S21400C9000580924604910690B2F92070002F00F040 -S21400C910198792F828300993052B40F21387136A7B -S21400C920012B00F0F680BAF82220BAF82630D11A89 -S21400C93088441FFA88F8ADF850801A441644B6B2F8 -S21400C940ADF85460BAF82420D11A0D44ADB2ADF853 -S21400C950525013441C44A4B2ADF8564007EBD773AC -S21400C9606FEA630292B208EB0201ADF858105B1052 -S21400C97001339BB2F118ADF85C102A44ADF85A208A -S21400C9802344ADF85E30099BFB2B28BFFF23099399 -S21400C990BE4B9847BE4B98478146049A16A918A8DE -S21400C9A0BC4B9847002800F0CD86B9F81010BDF8AB -S21400C9B060305B1AADF86030B9F81220BDF862300E -S21400C9C09B1AADF86230BDF864305B1AADF864307F -S21400C9D0BDF866309B1AADF86630069A531ED01D19 -S21400C9E01AAA13F8011F02F8011B9842F9D1BDF8E4 -S21400C9F0683001331FFA83FEADF868E0BDF86A10B0 -S21400CA00013188B2ADF86A00BDF86C305A1EADF838 -S21400CA106C20BDF86E104A1EADF86E20BAF90020E4 -S21400CA20A3EB0E031BB2091A09B28B42A8BF0B4632 -S21400CA305B109342A8BF13460E930136A6EB08067A -S21400CA40B6B233B20134641BA4B225B29D42A8BF6D -S21400CA501D466D109542A8BF154607EB050909FB54 -S21400CA6009F040008C4B98470A90BAF920B02AB2D9 -S21400CA7002EB0B070DF14F0122AB0DF1900E11F8F2 -S21400CA80010F03F8010B7345F9D10BEBDB71C1F312 -S21400CA904F014B1E1BF0010010900CBF0120002020 -S21400CAA01B1A2B449BB2ADF88C30013189B2ADF81D -S21400CAB08A109B1BADF888302144ADF88E100023F9 -S21400CAC022A929A8754CA047BBF1010F02F0D88116 -S21400CAD04FEA6B030B93079738466F4B98470C90BB -S21400CAE0002F5CDD079B4FEA430B07F10043013B39 -S21400CAF05B000A9C0025DFF8B8813AB20892CDF8B0 -S21400CB00349005970C9E9946CDF83CA0DDF82CA0F5 -S21400CB1014E0B2F92430002B7FF405AFB2F92630CA -S21400CB20002B3FF700AF00F00DBE594620465C4B89 -S21400CB3098475C440135059BAB422BDD0799304690 -S21400CB40C04729AB0093089B2AB200213046299F94 -S21400CB50B8470028E9D0D64633789B0193FBFAF312 -S21400CB602380059B012BE4DD3146224604EB0900B9 -S21400CB701F468C4611F8013F9CF800C09C450EBF2E -S21400CB8013889B0193FBFEF3538002329042F0D150 -S21400CB900597CEE7DDF834901F46DDF83CA00C98EC -S21400CBA0404B98470B9B012B02F04D813CB20A9EEE -S21400CBB032460B9D294620463B4B9847109A2A44FE -S21400CBC011B2012922DD0D4633889B0193FBF1F358 -S21400CBD032463380079800FB00F0012812D900F196 -S21400CBE00040013806EB400001E082420AD01646BB -S21400CBF032F8023F36889E42F7D09B0193FBF5F34E -S21400CC001380F2E70A9A2046274B984707FB07F758 -S21400CC1057B10A990B464A1E01EB470033F8021B30 -S21400CC2002F8011F8342F9D1BDF85A20BDF85E30E4 -S21400CC3001339B1A1BB203EBD37302EB63039BB265 -S21400CC400F931BB20C93BDF85820BDF85C3001332F -S21400CC509B1A1BB203EBD37302EB63039BB21093D6 -S21400CC601BB20D93114B984720BBBAF92230002B0C -S21400CC7040F0BC81BAF92430002B40F0BA81BAF9F2 -S21400CC802630B3FA83F35B09079315E011650000BD -S21400CC9085150100C11A0100E52E0100D5C500006A -S21400CCA0DF300100192B010035C600006DC40000FE -S21400CCB09531010000230793BDF85C000130BDF8F4 -S21400CCC05830C01A00B2C24B9847059001230E9AFE -S21400CCD01AA929A8BF4CA047002129A8BE4B9847EF -S21400CCE00E90BDF95C30ADF874301FFA89FB013345 -S21400CCF0A3EB0B03ADF87030BDF95A30ADF87230C7 -S21400CD00013B5B44ADF87630049A1CA91EA8B34BD1 -S21400CD109847002872D0BDF97E300C998B42C4BF6C -S21400CD200B46ADF87E30BDF978300D9A934203DCA1 -S21400CD30109B0133ADF87830BDF97820BDF87C3013 -S21400CD4001339B1A1BB20893002B57DDBDF97E708A -S21400CD50BDF97A40BDF97250651BBDF97030D21A24 -S21400CD6009FB05250A9B1D440DF1770222AB24A87A -S21400CD7012F8011F03F8011B8342F9D1BDF88A306F -S21400CD80ADF88E3001373F1B3FB2002F36DD002650 -S21400CD90DFF85482CDF844B0BB46099B0B93089A43 -S21400CDA02946059F38468E4CA04730AC089BBDF9F7 -S21400CDB08A2034F9381D059738468A4FB847012827 -S21400CDC008BF02209AF8293002930B9A019200902D -S21400CDD0059BBAF81E2021460498C047BDF88A3045 -S21400CDE00133ADF88A30BDF88E300133ADF88E30A1 -S21400CDF04D4401365E45D2D1DDF844B0BDF95C3015 -S21400CE00ADF874300133A3EB0B03ADF87030BDF909 -S21400CE105E20531CA3EB0B03ADF87230ADF8762002 -S21400CE20049A1CA91EA86D4B9847002873D0BDF91C -S21400CE307A300C9A934203DC0F9B0133ADF87A30BC -S21400CE40BDF978300D9A934203DC109B0133ADF8A0 -S21400CE507830BDF97820BDF87C3001339B1A1BB2C0 -S21400CE600893002B57DDBDF97E40BDF97A60BDF909 -S21400CE7076502D1BBDF97030D21A09FB05250A9B8A -S21400CE801D440DF1770222AB24A812F8011F03F807 -S21400CE90011B8342F9D1BDF88E30ADF88A30671C8D -S21400CEA0BF1B3FB2002F36DD0026DFF83C81CDF8F1 -S21400CEB040B0BB46099B0B93089A2946059F384607 -S21400CEC0474CA04730AC089BBDF98A2034F9381D82 -S21400CED005973846434FB847012808BF02209AF8FE -S21400CEE0293002930B9A01920090059BBAF81E20F7 -S21400CEF021460498C047BDF88A30013BADF88A3019 -S21400CF00BDF88E30013BADF88E304D4401365E459F -S21400CF10D2D1DDF840B0BDF95C30ADF874300133E5 -S21400CF20A3EB0B03ADF87030BDF85A305B44ADF898 -S21400CF307230BDF85E30A3EB0B03ADF87630049A82 -S21400CF401CA91EA8254B9847002800F08580079B43 -S21400CF504BB1069BB3F90430BDF978209342B8BFB5 -S21400CF601346ADF87830BDF97830BDF87C20013234 -S21400CF70D21A0FFA82F8B8F1000F6DDDBDF87E40C8 -S21400CF800134BDF87A20A41A24B209F1FF31BDF9A4 -S21400CF9070209B1A09FB01330A9AD31808930DF1E7 -S21400CFA0770222AB24A812F8011F03F8011B834264 -S21400CFB0F9D1BDF88A30ADF88E302546002C4BDD11 -S21400CFC00024074FCDF82C90A946079D3AE000BFF5 -S21400CFD0E52E0100D5C5000069C30000C11A010096 -S21400CFE0FD2B0100C5C30000F97C00000023079359 -S21400CFF062E6002307935FE64346BDF98A20BDF943 -S21400D00088100598234EB047012808BF02209AF8DA -S21400D010293002939AF8283001930090059BBAF8BD -S21400D0201E2022A904981C4EB047BDF88A30013352 -S21400D030ADF88A30BDF88E300133ADF88E3001344D -S21400D0404C4507D0424608990598B847002DD3D0DE -S21400D0500220DCE7DDF82C90B9F1000F1EDD09EBAD -S21400D060D9777F100A9D00260CE0197812F8010C7B -S21400D07003F8010B02F8011DA342F6D14D44013618 -S21400D080B1450BD0002FF9DD2B4605EB0902EC1954 -S21400D090EBE700BFC5C30000F97C0000BDF95830BF -S21400D0A0ADF87030013B5B44ADF87430BDF95A30D2 -S21400D0B0ADF87230013B5B44ADF87630049A1CA99B -S21400D0C01EA8AE4B9847002871D0BDF97E300C994B -S21400D0D08B42C4BF0B46ADF87E30BDF97C300D994F -S21400D0E08B42C4BF0B46ADF87C30BDF97820BDF846 -S21400D0F07C3001339B1A1BB20893002B57DDBDF919 -S21400D1007E70BDF97A40BDF97250651BBDF970306E -S21400D110D21A09FB05250A9B1D440DF1770222ABA6 -S21400D12024A812F8011F03F8011B8342F9D1BDF8A9 -S21400D1308A30ADF88E3001373F1B3FB2002F36DD08 -S21400D1400026DFF84482CDF840B0BB46099B0B931F -S21400D150089A2946059F3846894CA04730AC089B5C -S21400D160BDF98A2034F9381D05973846854FB847EB -S21400D170012808BF02209AF8293002930B9A0192E0 -S21400D1800090059BBAF81E2021460498C047BDF8BB -S21400D1908A300133ADF88A30BDF88E300133ADF8F1 -S21400D1A08E304D4401365E45D2D1DDF840B0BDF933 -S21400D1B05830ADF87030013B5B44ADF87430BDF9C3 -S21400D1C05E20531CA3EB0B03ADF87230ADF876204F -S21400D1D0049A1CA91EA8694B9847002872D0BDF96E -S21400D1E07A300C9A934203DC0F9B0133ADF87A3009 -S21400D1F0BDF97C300D998B42C4BF0B46ADF87C3030 -S21400D200BDF97820BDF87C3001339B1A1BB2089319 -S21400D210002B57DDBDF97E40BDF97A60BDF976502A -S21400D2202D1BBDF97030D21A09FB05250A9B1D443B -S21400D2300DF1770222AB24A812F8011F03F8011B98 -S21400D2408342F9D1BDF88E30ADF88A30671CBF1B1B -S21400D2503FB2002F36DD0026DFF82C81CDF830B047 -S21400D260BB46099B0B93089A2946059F3846444CB3 -S21400D270A04730AC089BBDF98A2034F9381D0597C5 -S21400D2803846404FB847012808BF02209AF8293090 -S21400D29002930B9A01920090059BBAF81E20214635 -S21400D2A00498C047BDF88A30013BADF88A30BDF817 -S21400D2B08E30013BADF88E304D4401365E45D2D1FE -S21400D2C0DDF830B0BDF95830ADF87030013B5B4446 -S21400D2D0ADF87430BDF85A305B44ADF87230BDF826 -S21400D2E05E30A3EB0B03ADF87630049A1CA91EA89B -S21400D2F0224B9847002879D0079B4BB1BDF97C306C -S21400D300069AB2F900209342A8BF1346ADF87C30C7 -S21400D310BDF97830BDF87C8008F10108A8EB030859 -S21400D3200FFA88F8B8F1000F60DDBDF87E400134D2 -S21400D330BDF87A20A41A24B209F1FF31BDF9702095 -S21400D3409B1A09FB01330A9AD31808930DF177024A -S21400D35022AB24A812F8011F03F8011B8342F9D15F -S21400D360BDF88A30ADF88E302546002C3EDD002410 -S21400D370034FCDF82C90A946079D2DE0C11A010059 -S21400D380FD2B0100C5C30000F97C00004346BDF933 -S21400D3908A20BDF988100598AA4EB047012808BF14 -S21400D3A002209AF8293002939AF8283001930090C8 -S21400D3B0059BBAF81E2022A90498A34EB047BDF8D4 -S21400D3C08A300133ADF88A30BDF88E300133ADF8BF -S21400D3D08E3001344C4507D0424608990598B84728 -S21400D3E0002DD3D00220DCE7DDF82C90BDF85830B5 -S21400D3F05B44ADF87030BDF85C30A3EB0B03ADF8C2 -S21400D4007430BDF95A30ADF87230013B5B44ADF86C -S21400D4107630049A1CA91EA88C4B984700287DD00D -S21400D420079B4BB1069BB3F90230BDF97E209342B1 -S21400D430A8BF1346ADF87E30BDF87C300133BDF88A -S21400D44078209B1A1BB20893BDF97A30BDF87E503F -S21400D4500135ED1A2DB2C846BDF972401C1B09F104 -S21400D460FF3309FB04340A9B1C440DF1770222AB00 -S21400D47024A812F8011F03F8011B8342F9D1BDF856 -S21400D4808A30ADF88E302B46002D47DD0025704FD4 -S21400D490CDF82C90DDF82490CDF830B09B462AE0ED -S21400D4A0B9F1FF0F2AD149462CE0089BBDF98A2026 -S21400D4B0BDF988100598634EB047012808BF0220C2 -S21400D4C09AF829300293FF2301930090059BBAF83F -S21400D4D01E2022A904985C4EB047BDF88A3001335E -S21400D4E0ADF88A30BDF88E300133ADF88E30444446 -S21400D4F001355D450ED02378FF2BD1D003FB09F311 -S21400D500C3F30721089A0598B847079B002BCCD091 -S21400D5100220D5E7DDF82C90DDF830B0BDF85830A5 -S21400D5205B44ADF87030BDF85C30A3EB0B03ADF890 -S21400D5307430BDF95E20531CA3EB0B03ADF87230BC -S21400D540ADF87620049A1CA91EA8404B98470028E0 -S21400D55000F08280079B4BB1069BB3F90630BDF9FD -S21400D5607A209342B8BF1346ADF87A30BDF87C30C7 -S21400D5700133BDF878209B1A1BB20893BDF97E30A4 -S21400D5805D1CBDF87A20AD1A2DB2C846BDF97640AE -S21400D590E41A09F1FF3309FB04340A9B1C440DF11D -S21400D5A0770222AB24A812F8011F03F8011B83425E -S21400D5B0F9D1BDF88E30ADF88A30A946002D4BDD86 -S21400D5C00025234FCDF82CB0DDF824B02AE0BBF1BF -S21400D5D0FF0F2AD159462CE0089BBDF98A20BDF9D9 -S21400D5E088100598174EB047012808BF02209AF801 -S21400D5F029300293FF2301930090059BBAF81E2062 -S21400D60022A90498104EB047BDF88A30013BADF809 -S21400D6108A30BDF88E30013BADF88E30444401357B -S21400D6204D4517D02378FF2BD1D003FB0BF3C3F364 -S21400D6300721089A0598B847079B002BCCD00220F4 -S21400D640D5E700BFC5C30000F97C0000C11A010081 -S21400D65029300100DDF82CB0BDF858305B44ADF839 -S21400D6607030BDF85C30A3EB0B03ADF87430BDF83A -S21400D6705A305B44ADF87230BDF85E30A3EB0B0B4E -S21400D680ADF876B0049A1CA91EA8A24B98470028AD -S21400D69050D0079B002B4DD1BDF87C600136BDF8FD -S21400D6A07830F61A36B2BDF87E400134BDF87A30CE -S21400D6B0E41A24B20DF1770222AB24A812F8011F57 -S21400D6C003F8011B8342F9D1BDF88A30ADF88E30DD -S21400D6D0A346002C2EDD0025DFF85492DFF8548296 -S21400D6E08D4F32469AF828100598C84730AC334616 -S21400D6F0BDF98A2034F9381D0598C047012808BFAF -S21400D70002209AF829300293FF2301930090059B8C -S21400D710BAF81E2021460498B847BDF88A3001336F -S21400D720ADF88A30BDF88E300133ADF88E30013555 -S21400D7305D45D6D10E98794B98470598784CA0470A -S21400D7400A98A0479AF80C70052F42D9069A531EDD -S21400D750D01D1AAA13F8011F02F8011B9842F9D12E -S21400D760BAF91030012B24DD9AF81430F92B20D9A1 -S21400D770BAF90030EBB1BAF81230C3F38002BDF844 -S21400D78068100A44ADF86820C3F34002BDF86A107A -S21400D7900A44ADF86A20C3F3C001BDF86C20521AE3 -S21400D7A0ADF86C2003F00103BDF86E20D31AADF877 -S21400D7B06E30FB2F28BFFF275A4B98475A4B984787 -S21400D7C08046049A1AA91CA8524B9847002840F095 -S21400D7D0B380DAF82C0020B19AF83630052B00F228 -S21400D7E0EB839AF81440052C15D9BAF9103093B18A -S21400D7F0BAF912307BB1FB2C28BFFF24494B98475F -S21400D800494B98470546049A069918A8414B9847ED -S21400D810002840F04685DAF83C1021B19AF84430EA -S21400D820052B01F253809AF81CB0BBF1050F6DD999 -S21400D830BAF91830002B69D0BBF1FB0F28BF4FF0A8 -S21400D840FF0B3A4B98470990069A531ED01D16AA0E -S21400D85013F8011F02F8011B8342F9D1BAF81A50D7 -S21400D860BDF858305B1B9BB20693ADF85830BDF838 -S21400D8705A305B1B9BB20793ADF85A30BDF85C601C -S21400D8802E44B6B2ADF85C60BDF85E301D44ADB255 -S21400D890ADF85E50BAF900300893BAF9183005931F -S21400D8A00DF1570218AB1AA812F8011F03F8011B56 -S21400D8B08342F9D1BDF81440BDF86090A9EB040985 -S21400D8C01FFA89F30A93ADF86030BDF864702744F8 -S21400D8D0BFB2ADF86470BDF86280A8EB04081FFA0A -S21400D8E088F8ADF86280BDF866301C44A4B2ADF886 -S21400D8F066400C4B98470C4B98478146049A18A9EB -S21400D9001AA8044B9847002841F0448031B0BDE87F -S21400D910F08F00BFC11A0100F97C000015C400009A -S21400D920192B010011650000851501006DC400006B -S21400D93029300100C5C30000B8F81010BDF87030DB -S21400D9405B1A9AB2ADF87020B8F81200BDF87230C3 -S21400D9501B1AADF87230BDF874305B1A9BB2ADF886 -S21400D9607430BDF87610091AADF8761001339B1A9C -S21400D9701BB209930A931846934B98470590934B0E -S21400D980984783B20B9343BB9AF80630023B18BF06 -S21400D99001230793BDF86C500135BDF86830ED1AC9 -S21400D9A02DB22C46BAF90020BDF86E300133BDF812 -S21400D9B06A609B1B1EB23346AE42A8BF2B465E1063 -S21400D9C09642A8BF1646079BDBB1D6B99AF8063032 -S21400D9D033B14FF0FF330E9321E000230793D9E7CE -S21400D9E09AF80D3002930197012300930023BAF8AA -S21400D9F002201AA90498764CA0474FF0FF330E93E6 -S21400DA0076E2002E32DD002332461AA929A8DFF876 -S21400DA10D091C847002129A86E4B98470E90BAF8B7 -S21400DA2002B09AF80630022B24D000230D93BDF9DD -S21400DA306C20BDF96810531C5B1A1BB2A3EB460999 -S21400DA40ADF87810ADF87C20BDF97220B8F8123029 -S21400DA5013441BB2ADF87A30ADF87E301546BDF9EA -S21400DA6076309A4200F337820897FAE04FF0FF3399 -S21400DA700E93D4E7BAF804309B4500F0898068001E -S21400DA80514B98470D90002DD1DD4FF000090896B8 -S21400DA9006461BE09AF8023003F01F03BAF802109D -S21400DAA0C1F345119AF80320D208287863F30400DE -S21400DAB028702B8861F34A132B801B0A62F3C70376 -S21400DAC06B7009F1010902364C455FD03546BAF94C -S21400DAD0080000FB04F31B120FFA89F18B42D9DA17 -S21400DAE0BAF90A2002FB04FEB1EB2E2F42DA121A14 -S21400DAF004FB02F2A9EB03031BB2C3EB03231212CF -S21400DB0093FBF2F3DBB2C3F1FF0E9AF80520D208BE -S21400DB109AF80310C9080EFB01F103FB021202EB90 -S21400DB20022102EBC112C2F3C452BAF80410C1F3C8 -S21400DB304511BAF80200C0F345100EFB00F003FBD7 -S21400DB40010101EB012001EBC011C1F3C5519AF8A8 -S21400DB50040000F01F009AF802C00CF01F0C0EFB29 -S21400DB600CFE03FB00E303EB032003EBC013C3F33D -S21400DB70C4539AE79AF8043003F01F03BAF8041067 -S21400DB80C1F345119AF80520D2088EE7089E4EE7A5 -S21400DB9000230D934BE70A99059F38460E4B98478E -S21400DBA0B8F812202A44B8F81010BDF8703019449E -S21400DBB0099B12B209B23846084FB84707469AF88A -S21400DBC00630012B29D17AE0E52E01006DC4000055 -S21400DBD0F97C000069C3000095310100C5C3000050 -S21400DBE0D5C500000A99059F3846B64B9847B8F841 -S21400DBF012202A44B8F81010BDF870301944099B5A -S21400DC0012B209B23846B04FB84707469AF80630FF -S21400DC10012B54D0079A002A3AD1022B00F04481F7 -S21400DC200B9B13B9B9F1320F0BDC9AF80D30029347 -S21400DC30089B01930097059B5A461EA90498A34C7F -S21400DC40A047BDF87A300133ADF87A30BDF87E30A3 -S21400DC500133ADF87E300135BDF976309D4200F3D4 -S21400DC603981B8F912402C44BDF96A303344013387 -S21400DC709C42B7DDBDF96E309B1B013B9C42B1DA7E -S21400DC80079B002B87D09AF80630012B16D0012769 -S21400DC90B9F1320F00F39380022B00F00581012BBF -S21400DCA0BED19AF80D300293089B01930097059B0E -S21400DCB05A461EA90498854CA047C2E70127BAF821 -S21400DCC00220BAF804309A426FD0BDF86A10621A81 -S21400DCD093B21A460C93BAF908E0BDF86E300133D9 -S21400DCE05B1A1BB203FB0EF1091210B281424BDA2B -S21400DCF0BAF90AC00CFB03F2B0EB222F80F2B08018 -S21400DD00ACEB0E0E03FB0EF30C9A521A12B2C2EBD9 -S21400DD1002221B1292FBF3F3DBB2C3F1FF019AF867 -S21400DD200520D2089AF80300C00801FB00F003FBA8 -S21400DD30020202EB022002EBC012C2F3C452BAF88F -S21400DD400400C0F34510BAF802E0CEF3451E01FB0E -S21400DD500EFE03FB00E000EB002E00EBCE10C0F33F -S21400DD60C5509AF804E00EF01F0E9AF802C00CF0A8 -S21400DD701F0C01FB0CF103FB0E1303EB032103EB5B -S21400DD80C113C3F3C4530AE09AF8023003F01F032A -S21400DD90BAF80200C0F345109AF80320D20863F3DD -S21400DDA0040B60F34A1B62F3CF2B079B002B3FF458 -S21400DDB078AFB9F1320FC8BF01237FF772AFBDF954 -S21400DDC06A2032440132944206DBBDF96E20921B73 -S21400DDD0013A94427FF760AFBDF96830ADF88830FD -S21400DDE0B2B20C92013B1344ADF88C30BDF87A30D9 -S21400DDF0ADF88A30BDF87E30ADF88E309AF80D302A -S21400DE000293089B01930097059B5A4622A9049803 -S21400DE102E4CA0479AF80630012B2DD0BDF96C3059 -S21400DE205A1C0C99541AADF88840ADF88C309B1BE0 -S21400DE300133B8F91020BDF970100A449B1A9AF8FD -S21400DE400D200292089A01920097059A002BA8BF0F -S21400DE50D21813465A4622A904981C4CA047F0E64E -S21400DE609AF8043003F01F03BAF80400C0F3451014 -S21400DE709AF80520D20892E7BDF868300C9A134449 -S21400DE80ADF88830BDF86C309B1AADF88C309AF837 -S21400DE900D300293089B01930123009300235A46FA -S21400DEA022A90498A047B9E79AF80D300293089B78 -S21400DEB001930097059B0D9A1EA90498044CA04751 -S21400DEC0BFE600BF95310100C5C30000F97C000025 -S21400DED029880000089F9AF8063023B90B9B13B9CF -S21400DEE0B9F1320F0BDC0D9B13B11846B34B9847B4 -S21400DEF00E98B34B98470598B04B984769E4B6B26E -S21400DF00BDF868303344ADF87830BDF86C309B1BF4 -S21400DF10ADF87C30BDF96A30ADF87A303344ADF8F0 -S21400DF207E309AF80D300293019701230093002368 -S21400DF30BAF802201EA90498A24CA047BDF96E109C -S21400DF408A1B12B2ADF87A20BDF97E309A42DCBF49 -S21400DF500133ADF87A30ADF87E109AF80D300293A2 -S21400DF600197012500950023BAF802201EA9DDF8C6 -S21400DF7010804046934CA047BDF86830ADF8783026 -S21400DF80BDF86C30ADF87C30BDF86A302B443344B5 -S21400DF90ADF87A30BDF86E30013B9E1BADF87E6062 -S21400DFA09AF80D300293019700950023BAF80220E4 -S21400DFB01EA94046A04796E7834B9847054601288A -S21400DFC012D9022839D0814B0093814B40F2AE52D1 -S21400DFD080490220804CA04700231A4604990698E0 -S21400DFE07E4CA047FFF7FDBB29A9DAF82C007C4B36 -S21400DFF0984701280AD07B4B0093754B40F2945209 -S21400E00074490220744CA047FFF7EBBB299BC3F36F -S21400E0108A29BDF8A670C7F34A171EA8724B984700 -S21400E0209AF836308DF878309AF837308DF8823096 -S21400E030BAF83430ADF8843020E022A86B4B98470D -S21400E040BAF83430ADF88830DAF8302023929AF8EF -S21400E05036308DF89030BDF994300021029147F6A5 -S21400E06018410191BDF992100091DAF82C1029A8F8 -S21400E0705F4CA047BDF9A490BDF9A6709AF8383059 -S21400E08013F0010F3FD1069C21886088E288013298 -S21400E090121A12B2A38801335B1A1BB2A3EB090350 -S21400E0A003EBD37301EB63039BB2ADF87030D21B66 -S21400E0B002EBD27100EB610189B2ADF8721009F182 -S21400E0C0FF399944ADF874907B1E0B449BB2ADF8B3 -S21400E0D07630022D00F0BD80BAF9002006991CA803 -S21400E0E0444B98474FF0FF34002800F0D4861EAB10 -S21400E0F0DAF82C2004991CA8384DA8472046304B47 -S21400E1009847FFF76EBB0023BAF90020069E3146FB -S21400E11029A8394CA047002129A8384B98470790D2 -S21400E120B3880133344632889B1A1BB293FBF9F24C -S21400E13009FB123303EBD3734FEA630BB6F90610F1 -S21400E14073884A1CD21A10B290FBF7F207FB120231 -S21400E15002EBD272A3EB62039BB21AB2ADF8722046 -S21400E160BFB2781E0344ADF8763091426CDBDFF820 -S21400E17090801A4ECDF81490A14652E000230093EA -S21400E180DAF82C3022AA04991CA8C047BDF87030D3 -S21400E19023441BB2ADF87030BDF874202244ADF8AD -S21400E1A07420B9F904209A422CDB022DE6D01EAB6F -S21400E1B0DAF82C2004991CA8B047E7E7192B0100D1 -S21400E1C015C40000F97C0000119F0000C4C50100C2 -S21400E1D064C5010074C5010005280100919C00007B -S21400E1E095030100A4C50100ED9B0000759F00008B -S21400E1F025460100151D0100D5C5000069C30000B5 -S21400E200CD9F0000BDF872303B441BB2ADF87230B3 -S21400E210BDF876203A44ADF87620B9F906209A4241 -S21400E22012DBB9F80030A3EB0B039BB21AB2ADF8C1 -S21400E2307020BDF81440611E0B44ADF87430B9F977 -S21400E24004309342B1DADDE707988A4B9847FFF728 -S21400E250C8BA02F001021144ADF872101344ADF8CA -S21400E2607630BAF9002021461CA8834B9847A8B9F7 -S21400E2700023BAF90020069929A8804CA04700215F -S21400E28029A87F4B9847044600230093DAF82C30E1 -S21400E29022AA04991CA87B4DA8472FE74FF0FF340D -S21400E2A0F2E7298ABDF860305B1A9AB2ADF86020B2 -S21400E2B0688ABDF862301B1AADF86230BDF864306B -S21400E2C05B1A9BB2ADF86430BDF86610091AADF85B -S21400E2D0661001339B1A1BB20893099318466A4BC3 -S21400E2E098478346694B984748B9BAF91280B8F1FF -S21400E2F00F0F14BF4FF000084FF0010801E04FF079 -S21400E3000008BAF90020069EB388013331885B1AEC -S21400E31019B2F388013370881B1A1BB28B42A8BF50 -S21400E3200B465B109342A8BF13461A460A93002B6F -S21400E33040F388800023314622A8504EB047002183 -S21400E34022A84F4B98470E90BAF91060069A531EB3 -S21400E350D01D1AAA13F8011F02F8011B8342F9D137 -S21400E360BDF86820BAF8123013F0040F6ED0B1B2C0 -S21400E3700A44ADF86820BDF86C2013F0080F6AD088 -S21400E380B1B2521AADF86C20BDF86A2013F0020F35 -S21400E39066D0B1B20A44ADF86A20BDF86E2013F01C -S21400E3A0010F62D0B3B2D31AADF86E30DDF8289004 -S21400E3B01FFA89F7BA1B012312B21AA929A82F4EF1 -S21400E3C0B047002129A82E4B98470F90BAF9103075 -S21400E3D0013B4B45B8BF4B4619460D93BAF80E3075 -S21400E3E0ADF814309AF81560B8F1000F00F0BF8150 -S21400E3F0B5F912300698B0F90220D21A0A44BDF9CF -S21400E40066109142A8BF11460B910288ADF87020A5 -S21400E4108288ADF87420BDF9622013441BB2ADF8B3 -S21400E4207230ADF8763090460B9B9342C0F2B380C4 -S21400E430DFF85C90CDF81CB0B3462646CDF830A089 -S21400E440824655E04FF0FF330E937DE70A99711828 -S21400E450494289B28CE70A997118494289B290E715 -S21400E4600A997118494289B294E70A9BF3185B42ED -S21400E4709BB298E715C40000151D0100D5C5000025 -S21400E48069C30000CD9F0000E52E01006DC40000AA -S21400E490F97C0000BAF904305A1CD21BADF878207B -S21400E4A0ADF87C300A9A9B1A0133B5F91020BDF9F5 -S21400E4B060100A449B1ACDF808B001960094079A9B -S21400E4C0002BA8BFD2181346BDF814201EA9049826 -S21400E4D0C847BDF872300133ADF87230BDF87630FB -S21400E4E00133ADF8763008F101080B9B43454CDB51 -S21400E4F00999079C2046C74B98476A8A4244298A4E -S21400E500BDF860301944089B12B209B20794204641 -S21400E510C14CA0470446BDF87230ADF87A30BDF85D -S21400E5207630ADF87E30BAF90030ADF87830013B81 -S21400E5303B44ADF87C30CDF808B001960090079BC0 -S21400E540BDF814201EA90498C847BDF97E20BAF964 -S21400E55002300C99B1F910100B449A429ADABAF8C4 -S21400E56000303B44ADF87830BAF80430DB1BADF829 -S21400E5707C30CDF808B00196012300930023BDF847 -S21400E58014201EA90498C84784E734465E46DDF882 -S21400E5901CB0DDF830A0B5F91230069AB2F90620A4 -S21400E5A0D21A0D99521ABDF962809045B8BF9046AE -S21400E5B00B994145A8BF01F1010843441BB2ADF8D1 -S21400E5C07230ADF87630BDF96630984500F38D8030 -S21400E5D0DFF84892CDF81CB0B3462646CDF82CA0FE -S21400E5E0DDF818A02EE0BAF904305A1CD21BADF89C -S21400E5F07820ADF87C300A9A9B1A0133B5F91020C2 -S21400E600BDF960100A449B1ACDF808B00196009434 -S21400E610079A002BA8BFD2181346BDF814201EA9CF -S21400E6200498C847BDF872300133ADF87230BDF8B3 -S21400E63076300133ADF8763008F10108BDF9663062 -S21400E64098454CDC0999079C2046724B98476A8A85 -S21400E6504244298ABDF860301944089B12B209B2B8 -S21400E660079420466C4CA0470446BAF90030ADF833 -S21400E6707830013B3B44ADF87C30BDF87230ADF8E5 -S21400E6807A30BDF87630ADF87E30CDF808B0019619 -S21400E6900090079BBDF814201EA90498C847BDF932 -S21400E6A07E20BAF906300B99B1F910105B1A9A421F -S21400E6B099DDBAF800303B44ADF87830BAF804304B -S21400E6C0DB1BADF87C30CDF808B001960123009333 -S21400E6D00023BDF814201EA90498C84783E73446D3 -S21400E6E05E46DDF81CB0DDF82CA0BDF83420069997 -S21400E6F04B8801331344ADF87230CB88013B9B1A2C -S21400E700ADF87630B1F90030ADF87030BAF81020B8 -S21400E710013A1344ADF8743002960194012700972D -S21400E7200023BDF814904A461CA9DDF81080404628 -S21400E7303A4DA847069BB3F90420BAF81030FB1AE6 -S21400E7401344ADF87030ADF874200296019400972B -S21400E75000234A461CA94046A8470F98304CA047BD -S21400E7600E98A04758462F4B9847FFF754B8069A7E -S21400E770B2F90010ADF87010B2F90420ADF87420AC -S21400E780BDF962006B8A03441BB2ADF87230ADF877 -S21400E7907630BAF91230042B29D0082B44D0002248 -S21400E7A08DF84E208DF84F20022B29D101238DF8AD -S21400E7B04E309DF84E301BB99DF84F8088F001080A -S21400E7C008F001088DF850800746BDF9663098427B -S21400E7D0C3DCDFF84080DFF844900A94CDF81CB024 -S21400E7E0DDF818B0CDF82CA0DDF834A04EE00D9A78 -S21400E7F01144ADF8741000228DF84E208DF84F208D -S21400E800012B16D0032BD4D101238DF84E308DF872 -S21400E8104F30CEE795310100C5C30000F97C0000FB -S21400E82015C40000192B01000D99521AADF870207E -S21400E830E1E78DF84F30BCE70999079C2046C047B2 -S21400E8406A8A3A44298ABDF860301944089B12B295 -S21400E85009B207942046984CA04702960A9A01925D -S21400E8600090079BBDF814201CA90498C847BDF863 -S21400E87072300133ADF87230BDF876300133ADF842 -S21400E88076300137BDF966309F421ADC9DF850306D -S21400E890002BD1D19DF84E3033B1BDF97220BBF9B3 -S21400E8A0023053449A42C7DD9DF84F30002BDED02D -S21400E8B0BDF97220BBF90630A3EB0A039A42D6DBF9 -S21400E8C0BAE7DDF81CB0DDF82CA046E7BAF94C3004 -S21400E8D00024029447F618420192BAF94E2000929C -S21400E8E0DAF840201CA8754DA847ADF88840ADF86A -S21400E8F08A40BDF87030013BADF88C30BDF8723000 -S21400E900013BADF88E301EAB9AF8502022A906982F -S21400E9106B4DA847BDF87820BAF848301A4492B232 -S21400E920BDF888301344ADF88830BDF87A30BAF8B0 -S21400E9304A100B449BB2BDF88A101944ADF88A10F1 -S21400E940BDF88C100A44ADF88C20BDF88E20134418 -S21400E950ADF88E3029A85B4B9847DAF840302A93FA -S21400E960BAF84C30ADF8B030BAF84E30ADF8AE303C -S21400E970BAF84630ADF8A4309AF844308DF8AC308A -S21400E9800094DAF83C3029AA049922A84E4CA047F5 -S21400E990FEF749BF721C069BD21A12B26B1C07996F -S21400E9A05B1A1BB29A42A8BF1A465210089B9A429C -S21400E9B0A8BF1A46059B134401370A99791A08B26C -S21400E9C0611CA1EB080109B28142A8BF01464910AB -S21400E9D09942A8BF19460F460691B9F81000BDF82F -S21400E9E068301B1A99B2ADF86810B9F81240BDF835 -S21400E9F06A301B1BADF86A30BDF86C301B1A9BB230 -S21400EA00ADF86C30BDF86E00001BADF86E0001333B -S21400EA105B1A1BB21E460793012316A922A82B4D8C -S21400EA20A847002122A82A4CA0470C9000233AB2FF -S21400EA3018A929A8A847002129A8A0470D9008963C -S21400EA403046244B98470B90BAF91830BAF816207F -S21400EA50ADF814209AF81D50099A002A40F0A681B5 -S21400EA60013BBB42B8BF3B4619460E93B9F912307C -S21400EA70BDF96220D21A0A4411460992BDF86020F8 -S21400EA80ADF87020BDF86420ADF87420BDF96A209A -S21400EA9013441BB2ADF87230ADF87630164691428C -S21400EAA0C0F29D80DFF830802B465D46CDF828A06A -S21400EAB082469B463FE000BFC5C3000025460100D6 -S21400EAC0CD1D0100759F0000CD9F0000D5C500003C -S21400EAD069C30000E52E0100F97C0000BDF9643032 -S21400EAE05A1C141BADF87840ADF87C30069A9B1A79 -S21400EAF00133B9F91020BDF968100A449B1ACDF805 -S21400EB0008B001950097002BACBF53440AF10003F0 -S21400EB10BDF814201EA90498C047BDF87230013312 -S21400EB20ADF87230BDF876300133ADF87630013688 -S21400EB30099BB3424EDB08995046CC4B9847B9F830 -S21400EB4012203244B9F81010BDF868301944079BFB -S21400EB5012B209B25046C64CA0470746BDF87230FE -S21400EB60ADF87A30BDF87630ADF87E30BDF960305D -S21400EB70ADF87830BDF81840013B2344ADF87C3042 -S21400EB80CDF808B0019500905346BDF814201EA994 -S21400EB900498C047BDF97E20BDF962300A99B1F9E4 -S21400EBA018100B449A4299DABDF860302344ADF849 -S21400EBB07830BDF864301B1BADF87C30CDF808B05B -S21400EBC00195012300930023BDF814201EA9049884 -S21400EBD0C04783E75B46AB46DDF828A01D46B9F97B -S21400EBE01230BDF96660F61A0E9AB61A09990A46E8 -S21400EBF0B142A4BF0132164633441BB2ADF87230A0 -S21400EC00ADF87630BDF96E309E4200F38C80DFF8AA -S21400EC1064822B465D46CDF824A0DDF82CA09B46EA -S21400EC202DE0BDF964305A1C141BADF87840ADF8E1 -S21400EC307C30069A9B1A0133B9F91020BDF968108A -S21400EC400A449B1ACDF808B001950097002BACBF7C -S21400EC5053440AF10003BDF814201EA90498C047C7 -S21400EC60BDF872300133ADF87230BDF8763001333E -S21400EC70ADF876300136BDF96E309E424EDC08990E -S21400EC8050467A4B9847B9F812203244B9F810101B -S21400EC90BDF868301944079B12B209B25046744C4E -S21400ECA0A0470746BDF96030ADF87830BDF818408B -S21400ECB0013B2344ADF87C30BDF87230ADF87A30B5 -S21400ECC0BDF87630ADF87E30CDF808B001950090EE -S21400ECD05346BDF814201EA90498C047BDF97E20EF -S21400ECE0BDF966300999B1F918105B1A9A4298DD99 -S21400ECF0BDF860302344ADF87830BDF864301B1B97 -S21400ED00ADF87C30CDF808B00195012300930023C0 -S21400ED10BDF814201EA90498C04782E75B46AB46A0 -S21400ED20DDF824A01D46BDF83830BDF8622001325B -S21400ED301A44ADF87220BDF86620013AD31AADF831 -S21400ED407630BDF96030ADF87030013BBAF8182067 -S21400ED501344ADF874300295CDF804B00126009641 -S21400ED600023BDF8148042461CA9049F3846414C37 -S21400ED70A047BDF964209319BAF818105B1AADF8CD -S21400ED807030ADF874200295CDF804B000960023DC -S21400ED9042461CA93846A0470C98374CA0470D9809 -S21400EDA0A0470B98354B9847FEF7B0BDBDF86030CE -S21400EDB0ADF87030BDF86430ADF87430BDF96A2037 -S21400EDC0B9F8123013441BB2ADF87230ADF8763095 -S21400EDD01446BDF96E309A42DEDCDFF89080244F90 -S21400EDE0244EDDF82CA02B465D469B4608995046DF -S21400EDF0C047B9F812202244B9F81010BDF86830A0 -S21400EE001944079B12B209B25046B847CDF808B06D -S21400EE10019500905346BDF814201CA90498B047ED -S21400EE20BDF872300133ADF87230BDF8763001337C -S21400EE30ADF876300134BDF96E309C42D6DDABE7D6 -S21400EE400C980E4B984707FB07F7002F3DF4ECAEE7 -S21400EE500A980246411E00EB470032F8023B9B0927 -S21400EE6001F8013F9042F8D1FDF7DEBE9531010072 -S21400EE70C5C30000F97C000015C40000192B010072 -S21400EE80079738460B4B98470C90002FD8DD012388 -S21400EE900B93FDF727BE0023BAF90020069929A890 -S21400EEA0054CA047002129A8044B98470446FFF7C5 -S21400EEB01EB900BFE52E0100D5C5000069C30000DD -S21400EEC0F0B583B09DF804406FF304048DF8044059 -S21400EED0BDF804406FF34A14ADF80440240A6FF3FB -S21400EEE0C7048DF805408668047804F01F04251FC3 -S21400EEF0EDB2022D0ED9072C28D0082C3BD0092CB9 -S21400EF0050D00A2C66D00B3CE4B2032C98BFADF868 -S21400EF10043017E014460F460546007800F01F0040 -S21400EF20324B98472B68C3F38A2304FB0372C0F363 -S21400EF30C70000FB02F2B318B25C8DF804205B78C1 -S21400EF408DF80530BDF8040003B0F0BD01F00703EE -S21400EF50C3F107040368C3F38A230733DB1002FBFD -S21400EF60036606EBE1010B7A0122A240134023411F -S21400EF70ADF80430E6E701F003046400C4F10604CB -S21400EF800368C3F38A2303339B1002FB036606EB76 -S21400EF90A1010B7C0322A240134043FA04F4ADF80F -S21400EFA00440CFE701F00104A400C4F104040368A0 -S21400EFB0C3F38A2301335B1002FB036606EB610191 -S21400EFC091F840300F22A240134043FA04F4ADF803 -S21400EFD00440B7E70368C3F38A23314402FB0311F6 -S21400EFE091F80034ADF80430ACE700BF299C00006F -S21400EFF0F0B585B004460D4617468668037803F0DC -S21400F0001F03052B0AD00B2B12D00C2B27D00D2B51 -S21400F01049D00E2B64D0FF2005B0F0BD0268C2F3C5 -S21400F0208A2207FB021505EB45053544A878F3E769 -S21400F03001F00703C3F107010268C2F38A22073210 -S21400F040D210ED1007FB0262535D01228A40134086 -S21400F0500B4113F0FF0F0CBFFF200020DCE700235E -S21400F0608DF8003055238DF80130AA238DF8023034 -S21400F070FF238DF8033001F003035B00C3F10601A4 -S21400F0800268C2F38A2203329210AD1007FB0262B6 -S21400F090535D03228A4013400B4104AA52FA83F3BD -S21400F0A013F8100CB8E7124B0FCB0DF1100E0EE94B -S21400F0B00F0005F001039B00C3F104012268C2F3B0 -S21400F0C08A22013252106D1007FB0262535D0F2236 -S21400F0D08A4013400B415EFA83F313F8100C9BE74B -S21400F0E00268C2F38A2207FB0262505C94E700BF04 -S21400F0F0F0C501002DE9F84F0446B0F908301B02B0 -S21400F1004362B0F90A301B028362B0F90C00DFF8E4 -S21400F110F48088FB0023C517C5EBA3052DB26FF05E -S21400F120090707FB05071FFA85FACAF1000000B2B7 -S21400F130DFF8D490C84706460135ADB2684200B243 -S21400F140C8478346CAF15A0000B2C8478246C5F18E -S21400F1505A0528B2C847C7F10A0307FB0BFB03FB97 -S21400F16006B688FB062BF617C6EBAB06E66207FB71 -S21400F17000F003FB0A0088FB0038C017C0EBA800AD -S21400F1802063A07C1D4B984794F8343060F300034E -S21400F19084F83430A07C1A4B984794F8343060F3E7 -S21400F1A0410384F83430A27C131FDBB2022B94F8A0 -S21400F1B0343094BF43F004036FF3820384F8343092 -S21400F1C023682362237E03F01F0362F3040323767F -S21400F1D0A369A28862F39423A3611B0CE28862F3FE -S21400F1E04F136383E2894FF4803393FBF2F3E38695 -S21400F1F0FF23A375238AA382BDE8F88F5B9C0000DB -S21400F2006F9C0000676666664D2801002DE9F04F8A -S21400F21087B0039004910592BDF840400194DDF854 -S21400F22044B05E4F87FB0360DD17C5EBA0052DB22B -S21400F23005F101096FF0090606FB05362846DFF8DA -S21400F2406081C04704460FFA89F0C047824605F140 -S21400F2505A0000B2C047054609F15A0000B2C0473E -S21400F260C6F10A0306FB0AFA03FB04A487FB04EABA -S21400F270E417C4EBAA0406FB00F003FB050587FBB6 -S21400F2800537ED17C5EBA707BBF900C0BBF9028031 -S21400F290CCF10003019D05FB03F343F30F2303FBAF -S21400F2A007FAC8F1000205FB02F242F30F2202FB46 -S21400F2B004FE1FFA8CF6AAEB0E0B06EBEB3B0FFADE -S21400F2C08BFB03FB04F302FB07F21FFA88F0991886 -S21400F2D000EBE13109B202910499A1EB0C0C05FB9D -S21400F2E00CFC4CF30F2C0CFB07F9A9EB0E0E06EBEF -S21400F2F0EE3E0FFA8EFE0CFB04FC624400EBE2329C -S21400F30012B20599A1EB080805FB08F848F30F2888 -S21400F31008FB04F4AAEB040506EBE5352DB208FB62 -S21400F32007F73B4400EBE3331BB2A9EB040406EB00 -S21400F330E43636B2BC4400EBEC3000B25C46F34533 -S21400F340A8BF7446AC42A8BF2C46B442A8BF3446F9 -S21400F35003990F460C80DE45B8BFDE467545B8BF3C -S21400F3607546AE42B8BF2E468E8002990C46914234 -S21400F370A8BF14469C42A8BF1C468442A8BF0446A9 -S21400F3807C809142B8BF11468B42B8BF0B4698426C -S21400F390B8BF1846F88007B0BDE8F08F67666666A7 -S21400F3A04D2801002DE9F04F89B00446B0F93850D9 -S21400F3B0EAB2B0F93A60F3B26F2A74DCB0F93C10E6 -S21400F3C04942C917803DEDB26F2B7EDCB4F93EB0E2 -S21400F3D0CBF1000B4FEAEB7B803EF6B294F814902C -S21400F3E009F01F09B4F81480C8F34518677DFF08B4 -S21400F3F0A37D009394F834C01CF0040F7BD02368E0 -S21400F400206C94F844E00EFB01015A1813F801A092 -S21400F4108DF81CA052788DF81D20B4F904200EFB40 -S21400F42002F20BFB02FB58441A1813F800A08DF8E2 -S21400F43018A052788DF8192001EB0B0203EB020A94 -S21400F44013F802B08DF814B09AF801A08DF815A044 -S21400F4501CF0020F00F081800EF1FF3E734413F89B -S21400F46001B013F800A0985CC5F1FF0303FB0BF195 -S21400F470009A05FB021103FB00F305FB0A33C3F3F6 -S21400F4800723C6F1FF02C1F3072106FB01FE02FBBC -S21400F49003E21212A275052900F2DC80052B40F269 -S21400F4A07D810026D9E0902A0CDDB0F93C100131B0 -S21400F4B0B0F904209142ACBF00210121C5F17F05BF -S21400F4C0EDB281E7FF2500217EE7902B0FDDB4F932 -S21400F4D03EB00BF1010BB4F906209345ACBF4FF0DC -S21400F4E0000B4FF0010BC6F17F06F6B276E7FF265B -S21400F4F04FF0000B72E704F1180318468BB2A18F89 -S21400F50002931944238AB4F93E2009B20190DFF829 -S21400F51094A2D047ADF81C001FFA8BF1E28F03913E -S21400F5200A44238A12B2B4F93C10DDF804B05846F7 -S21400F530D047ADF81800E28F03990A44A18F029BCA -S21400F5401944238A12B209B25846D047ADF81400BF -S21400F55094F8343013F0020F52D1FF23A3752B46D4 -S21400F560002B40F08B809DF81C9009F01F09BDF819 -S21400F5701C80C8F345189DF81D70FF08002D40F04C -S21400F580AC809DF8145005F01F05BDF81430C3F389 -S21400F59045139DF81510C908002E00F0E380FF2ED5 -S21400F5A000F0EE80C6F1FF0202FB05F506FB0955EA -S21400F5B005EB052905EBC915ED0D207D65F3040067 -S21400F5C0207502FB03F306FB083808EB082308EB5C -S21400F5D0C3184FEAD858A38A68F34A13A38202FBDB -S21400F5E001F106FB071606EB062706EBC716F60D17 -S21400F5F01B0A66F3C7036375012009B0BDE8F08FE8 -S21400F600A18F029B1944B4F93E2009B2DDF804A08C -S21400F6105046634B98478346E28F03990A4412B2DA -S21400F620B4F93C10CDF804A050465D4B984782468E -S21400F630E28F03990A44A18F029B194412B209B2C1 -S21400F6400198574B984794F8343013F0020F7FF424 -S21400F6500BAF82E7052B98BFFF26009B052B8CBFC0 -S21400F6602B460023BBF1050F98BFFF23BAF1050F09 -S21400F67098BF0025052898BFFF2571E7FF2B3FF4AC -S21400F6807DAFC3F1FF019DF81D20D20803FB07F7ED -S21400F69001FB027707EB072207EBC217C7F3C45735 -S21400F6A0BDF81C20C2F3451203FB08F801FB0288D4 -S21400F6B008EB082208EBC218C8F3C5589DF81C20B2 -S21400F6C002F01F0203FB09F901FB029909EB09236B -S21400F6D009EBC319C9F3C45950E7FF2D36D0C5F15D -S21400F6E0FF009DF81910C9089DF81530DB0800FBCF -S21400F6F003F305FB013101EB012301EBC311C1F359 -S21400F700C451BDF81830C3F34513BDF81420C2F336 -S21400F710451200FB02F205FB032303EB032203EB77 -S21400F720C213C3F3C5539DF8182002F01F029DF8BC -S21400F73014E00EF01F0E00FB0EF005FB020505EBB5 -S21400F740052205EBC215C5F3C45525E79DF81850EC -S21400F75005F01F05BDF81830C3F345139DF81910C2 -S21400F760C90819E7227D65F304022275A28A63F3AD -S21400F7704A12A282120A61F3C702627501203CE7B0 -S21400F780237D69F304032375A38A68F34A13A382CF -S21400F7901B0A67F3C703637501202EE700202CE7DA -S21400F7A0F1EF0000C1EE00002DE9F04F83B088466F -S21400F7B05D4B1988E1B107465C4B1E68334601393C -S21400F7C089B2013101EBC10106EB810158481A6A82 -S21400F7D08242A4BF02F1FF321A6224338B42F6D172 -S21400F7E00024DFF88091DFF880B1DFF83CA111E05B -S21400F7F0504B0093504B442250490220504CA04797 -S21400F800002525E0012827D00134A4B2BAF800303C -S21400F810A3422AD904EBC40506EB85056868C847E9 -S21400F8200028EFD16B68BB42EED128891FFA88F317 -S21400F830984214BF002001200028E5D02B6A6A6990 -S21400F8401344B3F57A7F0EDD4FF47A732B6265B1FD -S21400F850284603B0BDE8F08F39466868D847B0FA46 -S21400F86080F04009E8E72B62F1E72F4B1A88012A5F -S21400F87037D906F12403023A92B202EBC20206EB33 -S21400F880820248323546186A296A8842B8BF1D4641 -S21400F89024339342F7D16B682BB32846294B9847FD -S21400F8A0294B0093244B772224490120244CA0475F -S21400F8B0264B9847044600236B6142463946284645 -S21400F8C0234B9847C0B100232B626B69002BBFD136 -S21400F8D02046204B984768610028B9D101236B6108 -S21400F8E0B6E73546D7E71C4B0093134B7A221349ED -S21400F8F00120134CA047DBE7184B00930E4B8322E6 -S21400F9000E4902200E4CA04728460E4B9847202151 -S21400F9102846134CA04724212846A0474FF0004312 -S21400F9202B62002594E700BF582B0020746D002042 -S21400F9300200008074C6010018C6010044C601001B -S21400F94005280100DD0401009CC601000116010027 -S21400F950F103010019160100D0C6010004C701001A -S21400F960DF300100119F00002BAF01002DE9F047AA -S21400F970144B1F68144B1B880BB306460024DFF895 -S21400F9804C90DFF84CA0DFF840800EE00BB1284624 -S21400F990D04720212846C84724212846C847013496 -S21400F9A0A4B2B8F80030A34209D904EBC40507EBAB -S21400F9B085056B68B342E9D0002EF0D1E6E7BDE8D6 -S21400F9C0F08700BF746D0020582B0020DF30010048 -S21400F9D0DD0401002DE9F04182B00446214B1B688E -S21400F9E033B10020204B98471E4B18681F4B984792 -S21400F9F004EBC40080001E4B98471A4B18601D4B42 -S21400FA009847E8B1174B1B6843B31B4B1C80A4B147 -S21400FA100024144F194E984604EBC405AD00386810 -S21400FA2020212844B047386824212844B0470134B0 -S21400FA30A4B2B8F80030A342EED802B0BDE8F08118 -S21400FA400F4B0093A8220F4903200F4CA047054BED -S21400FA501A6800230D480E498847FEE70022064B29 -S21400FA601A80EAE7746D00206DF900006D2A010027 -S21400FA70852901008D290000582B0020DF30010069 -S21400FA802CC6010044C6010005280100BCB40100D4 -S21400FA909529000030B587B00C4615460846334B0E -S21400FAA09847D8B92378C3F30403043BDBB20A2B88 -S21400FAB059D82368C3F38A232A6863F394222A60FA -S21400FAC06388C3F34A136A8863F34F126A80227806 -S21400FAD02B7862F304032B7001200DE001280DD073 -S21400FAE0022832D0224B0093224B4FF49A722249BE -S21400FAF00220224CA047002007B030BD022221463B -S21400FB0004A81F4B984738B12B781C3303F01F030B -S21400FB100A2B18D80120EFE703AB0422294604A8D5 -S21400FB20184CA047044604A8174B984714B9039BE3 -S21400FB30042BE9D0154B00930E4B40F221120E49D0 -S21400FB4002200E4CA0470020D6E72B68012060F369 -S21400FB5094232B601A0C60F34F126A800B2262F318 -S21400FB6004032B70C8E70020C6E700BF119F000003 -S21400FB7050C8010030C70100FCC70100052801007D -S21400FB80F522010065220100352201002CC8010083 -S21400FB9038B5CC69A4B10D46206820B1094B98470A -S21400FBA02068094B9847606808B1074B9847A068DB -S21400FBB008B1054B98472046034B98470023EB6156 -S21400FBC038BD00BF352201006D2A01002DE9F04343 -S21400FBD085B005460C468B7A012B16D0002B40F0DC -S21400FBE0AA814B689B68002B00F0A381087B00F07D -S21400FBF01F00031FDBB2022B00F2858063689B6840 -S21400FC002361012005B0BDE8F0834868964B98470D -S21400FC109649974B984700282AD10222616802A885 -S21400FC20944B9847D8B9E36923B3E6690820924B0A -S21400FC3098473060914B9847002840D03368002B97 -S21400FC404BD18F4B00938F4B40F25F128E490320AF -S21400FC508E4EB047214628468D4B984708E08D4B80 -S21400FC600093884B4FF4A67287490220874CA04722 -S21400FC700020C7E70C20804B9847E0617F4B9847F1 -S21400FC8068B9804B009340F253127F4903207F4DA2 -S21400FC90A847E2690023804880498847FEE7E06974 -S21400FCA048B9774B0093774B40F2551276490320BC -S21400FCB0764CA047DCE70C21794B9847B5E7714BAB -S21400FCC0009340F25D1270490320704CA0473268E2 -S21400FCD00023714871498847FEE70DF1070203F1DA -S21400FCE0080112F8010F03F8010B8B42F9D1207BB3 -S21400FCF000F01F00031FDBB2022B04D8A37A002BF0 -S21400FD003FF47CAF1FE1C31FDBB2032B09D9A0F180 -S21400FD100B03DBB2032B00F2FD80002323610120DE -S21400FD2070E7604B98470746E369BBB1E669022077 -S21400FD30B840514B98477060504B9847002837D1D1 -S21400FD40504B009340F297124F4903204F4CA04768 -S21400FD5072680023504851498847FEE70C20464BFE -S21400FD609847E061454B984768B9464B00934FF477 -S21400FD70C67245490320454DA847E2690023464818 -S21400FD8046498847FEE7E06970B93D4B00933D4B16 -S21400FD904FF4C7723C4903203C4EB04721462846E4 -S21400FDA03B4B984700202DE70C213D4B9847BDE77D -S21400FDB0012303FA07F738462F4B9847B0602F4BBE -S21400FDC09847002832D07368002B3DD0B368002BCC -S21400FDD03AD0A37A012B67D063689A68002F00F0A8 -S21400FDE095800023706800EB430C92F801E04FEA20 -S21400FDF09E0E9578ED081178C90810F8138061F307 -S21400FE00040800F8138030F813106EF34A1120F837 -S21400FE101310090A65F3C7018CF80110D078B16891 -S21400FE20C854013304329F42DCD16FE0154B009377 -S21400FE3040F2991214490320144CA047B2680023DC -S21400FE40154816498847FEE70D4B00930D4B40F2C8 -S21400FE509B120D4903200D4EB047214628460C4BF9 -S21400FE6098470020CEE600BFC923010078C80100ED -S21400FE702BAF0100F5220100852901008D29000025 -S21400FE80A8C8010050C70100FCC7010005280100F2 -S21400FE9091FB00007CC80100BCB40100952900005D -S21400FEA0DF300100299C000004213068284B984769 -S21400FEB067B30025A946DFF8B0804B46042202A9A6 -S21400FEC03068C047726802EB450E9DF8090080084E -S21400FED09DF80A10C9089DF80830DB0812F815C00E -S21400FEE063F3040C02F815C032F8153060F34A13B9 -S21400FEF022F815301B0A61F3C7038EF801309DF80F -S21400FF000B20B3685A550135AF42D6D10023236182 -S21400FF10012077E6214628460E4B98470E4B009365 -S21400FF200E4B40F2D3120E4902200E4CA047002082 -S21400FF3068E6002066E6087B00F01F00031FDBB2C1 -S21400FF40022B3FF6E0AE0023236101205AE600BFF5 -S21400FF50A122010091FB0000D4C8010050C7010097 -S21400FF60FCC7010005280100652201002DE9F04FBD -S21400FF708BB00D4614469A46BDF950600B7B03F0D5 -S21400FF801F031A1FD2B2022A45D88B7A012B03D040 -S21400FF9000200BB0BDE8F08FD1F81C80087B00F085 -S21400FFA01F009E4B98470746E968C1F38A210AFB63 -S21400FFB0014100FB01F1C9100431D8F80000984B4C -S21400FFC09847D8B9C7F3C70706FB07F60AAB00225F -S21400FFD043F8102D32461599D8F80000914CA047EA -S21400FFE0069B9E4215D0904B0093904B40F23522D4 -S21400FFF08F4902208F4CA0470020CAE78E4B009303 -S2140100008A4B40F22E228A4902208A4CA0470020C1 -S214010010BFE70120BDE7A3F10B02D2B2032A0FD935 -S214010020073BDBB2032B40F2DF80844B0093844B0B -S2140100304FF4FE727E4902207E4CA0470020A8E7BE -S21401004000228DF81020FF238DF811308DF8142032 -S21401005055228DF81520AA228DF816208DF8173016 -S214010060784B0FCB0AAF07E90F002989002E0CDD6C -S214010070080A159B721E92B2013202EB42021A4422 -S2140100801970587003339A42FAD1287B00F01F008A -S214010090624B9847804601278740013FBFB22B7BC2 -S2140100A003F01F030B3B032B00F28380DFE803F012 -S2140100B0024C6176EB68C3F38A23DA1013F0070F5C -S2140100C00CBF0FFA82FB02F1010BE3100AFB0B3A9D -S2140100D0E44304F007040DF11009EB690393584655 -S2140100E0594B98470290AB7A002B6BD16B689B6893 -S2140100F09A44002E23DD159A711E89B2013101EB57 -S21401010041011144C8F1080040B29AF8003007FADC -S21401011004F6334023412E7B06F01F060E2EDBB27B -S21401012018BF19F803309370A4EB080464B2002CCE -S214010130BCBF04460AF1010A03328A42E5D102989D -S214010140424B9847012024E7EB68C3F38A239A10B1 -S21401015013F0030F0CBF0FFA82FB02F1010BA31081 -S2140101600AFB0B3AE44304F0030464000DF114099E -S214010170B3E7EB68C3F38A235A1013F0010F0CBFE1 -S2140101800FFA82FB02F1010B63100AFB0B3A14F023 -S214010190010F13D000240DF118099EE7EB68C3F395 -S2140101A08A239AB20FFA83FB0AFB024A0024A1466D -S2140101B093E70024A246A346A1468EE704240DF148 -S2140101C018098AE70AF10401039B1868144B98473B -S2140101D000235A46DDF808B0594603980068DFF850 -S2140101E044A0D047DA4684E7087B00F01F000B4B9B -S2140101F0984781464FF0010808FA00F808F1FF38E1 -S2140102001FFA88F82B7B03F01F03073B032B00F232 -S214010210A580DFE803F01D687E9600BF299C0000DC -S214010220A12201006522010024C9010070C7010056 -S214010230FCC701000528010000C9010048C90100EA -S214010240A8C7010098C70100E52E0100192B01007F -S214010250EB68C3F38A234FEAE30B13F0070F0CBFD7 -S2140102600FFA8BFB0BF1010BE3100AFB0B3A0AF1B9 -S214010270080AE44304F00704EF695846414B9847DF -S2140102800290AB7A002B6ED16B689B689A44002E65 -S21401029024DD159A711E89B2013101EB4101114429 -S2140102A0C9F108056DB29AF8003008FA04F0034067 -S2140102B02341DBB2786830F813001070000A5070E2 -S2140102C0B868C35C9370A4EB090464B2002CBCBF8D -S2140102D02C460AF1010A03328A42E4D102982A4BDB -S2140102E09847012055E6EB68C3F38A234FEAA30B30 -S2140102F013F0030F0CBF0FFA8BFB0BF1010BA310CE -S2140103000AFB0B3A0AF1100AE44304F00304640002 -S214010310B2E7EB68C3F38A234FEA630B13F0010FCE -S2140103200CBF0FFA8BFB0BF1010B63100AFB0B3AA8 -S2140103300AF1400A04F00104002C0CBF0424002436 -S2140103409AE7EB68C3F38A2B1FFA8BF30FFA8BFB42 -S2140103500AFB034A0AF5806A00248DE74FF0000A7B -S2140103605446D34688E70AF104013868074B984794 -S21401037000235A46DDF808A051463868044DA847C0 -S21401038085E700BFE52E0100192B0100A12201001F -S214010390652201002DE9F04781460E460B786FF382 -S2140103A047130B700F48104B9847C8B104464FF0DF -S2140103B0000ADFF830800D4F05E0554621464046DD -S2140103C0B847044648B12368002BF6D03246494662 -S2140103D02046984705460128F0D12846BDE8F08713 -S2140103E00025FAE7C06C00205125010065250100B3 -S2140103F02DE9F0478246884602810846264B9847F3 -S2140104008AF80A000023CAF81C3001280DD0CAF861 -S21401041004802248224B98470446002836D00025FF -S2140104200AF10C091D4F1F4E10E040461E4B98471F -S21401043001301E4B9847CAF8040041461C4B9847AA -S214010440E7E721463846B0470446D8B12368002B73 -S214010450F7D06268002AF4D04A46414620469847BB -S21401046005460128EDD10023CAF81830CAF8103025 -S214010470CAF8004063685146204698470546012859 -S214010480DFD100E01DB12846BDE8F0870025202118 -S2140104905046084B9847F6E7119F0000C06C0020B5 -S2140104A051250100652501004FAF01008529010096 -S2140104B03FAF0100DF30010070B582B00668B46856 -S2140104C054B11D4613460A4601460698019000950A -S2140104D03046A04702B070BD0020FBE7036883B139 -S2140104E010B50446DA6812B1014618469047A37A59 -S2140104F0012B00D010BD6068024B98470023636053 -S214010500F8E770476D2A010030B583B00D480E4BF1 -S214010510984704460D4B984738B11CB11021204628 -S2140105200B4B9847204603B030BD0A4B0093C922B7 -S21401053009490320094DA8472246002308480949CE -S2140105408847FEE7C06C0020B92401008D29000011 -S214010550DF300100CCC70100FCC7010005280100FF -S214010560BCB401009529000010B582B010211448D2 -S214010570144B9847144B984748B1144A0260144AE2 -S2140105804260144A8260144AC26002B010BD134B26 -S2140105900093134B472213490220134CA047002017 -S2140105A0124B98470028F0D10D4B009348220D4975 -S2140105B00320A047002200230D480E498847FEE786 -S2140105C0C06C0020A12401000905010095FA000075 -S2140105D0CDFB00006DFF000091FB000084C9010007 -S2140105E0E4C70100FCC70100052801008D290000B1 -S2140105F0BCB401009529000008B54368984708BDBA -S21401060010B50468A04710BD10B584B013460A465D -S21401061001A9044CA04718B1BDF8040004B010BDF0 -S2140106200020FBE70106010003780A78934211BF18 -S214010630981A40784B78C01A704703880A88934204 -S21401064011BF981A40884B88C01A704700880B88DB -S214010650C01A70470B4600296CD0F0B585B0046906 -S214010660A269914215D0678AC7F30907002F5DD0AA -S214010670A16808681A1A0392888882420BD8002655 -S2140106801D468B7CE3B9C8881044A561E06105B0BE -S214010690F0BDE069FBE700250135ADB2BD4245DAA4 -S2140106A005EB85008200164601EB020E51F820206C -S2140106B09A1A0392BEF804008242EDD87146DFE72B -S2140106C0012B05D0022B08D0032B18D00020DCE725 -S2140106D0CB689B5CC8881844D7E70A8A8968164B9A -S2140106E00093022303A8154FB8470346D0B1A2686A -S2140106F01644B068181AF38803EB5000C5E70A8A57 -S21401070089680D4B0093022303A80C4FB84758B1D4 -S214010710A2681644B268831A5B08F268D35CF08854 -S2140107201844B2E70020B0E70020AEE7A36100203E -S214010730E061ACE7084670474D0601002D47010011 -S2140107402DE9F04F9FB00929056908BF2021A04B6C -S2140107509847002800F0EA8480466F6807EBC006D9 -S2140107602B7D13F0030F0BD1002E00F0E28457F817 -S2140107703030C3F31303286818441FB0BDE8F08F68 -S2140107803379747904FB03F4002C00F0D584EB7CF8 -S214010790C3F38303013B032B05D8DFE803F002759F -S2140107A0787B0734E4088B4B18688B4B9847844258 -S2140107B011D9DFF820922146D9F80000874B9847D7 -S2140107C0C9F80000864B9847002866D0814B1B6805 -S2140107D0002B00F0B48457F83810C1F313012B68CE -S2140107E019447C4BD3F8009033790C939B461AB28C -S2140107F01746189272791592EA7CC2F38302D3B235 -S2140108000F93032B14BF184604200890714B5960B0 -S2140108101A7200225A72DA601A745A745846714C67 -S214010820A04716905846A0471790002F00F0518217 -S214010830684B197C03915C7C5F68DD6893F808A0BF -S214010840012202FA0AF2511ED046CAF108060A9699 -S214010850CAF11006099693F809C0169800F1FF3EF2 -S2140108600BF1FF339BB20D9300EB030B764600238F -S214010870059307931A460AF1FF3A01230493CBB274 -S2140108800B930692614634E00334A4088BE70134E7 -S214010890640888E70134640885E7534B00937222A5 -S2140108A052490320524CA047D9F800200023514852 -S2140108B051498847FEE70320EB0805F0070202EBE3 -S2140108C0080CBCF1070F35D817F803C00A9B9A1A13 -S2140108D04CFA02F3034015B1039A934238D04544CB -S2140108E0039301220498069006F8013F5E4500F046 -S2140108F04E81A1BBBAF1070F18D801A353F82AF00D -S21401090031090100B708010021090100250901008C -S2140109102D0901002D0901002D09010029090100F9 -S2140109200720C9E70F20C7E7FF20C5E70B98C3E7F5 -S2140109300120C1E717F803C03B445B7803EB0C23A7 -S2140109401FFA83FC099B9A1A4CFA02F30340C2E78A -S214010950012205920024049A07921146BFE7012955 -S21401096004D0022900F0CD800023BDE7EB0805F096 -S214010970070202F1010CBCF1070F13D8FB5CD2434E -S2140109800832134103F001030134E4B26A1CB3B91F -S214010990BAF1070F00F2A580DFE80AF0A5849D9F53 -S2140109A0A3A3A3A117F803C03B445B7803EB0C2376 -S2140109B09BB2D2431032134103F00103E4E70B2C40 -S2140109C01CD01546039B01220592049A8CE700BFB2 -S2140109D0550601005C2B0020F92A0100412E01007A -S2140109E08D290000E52E0100A8C90100C4C9010037 -S2140109F005280100BCB4010095290000D30802F0C7 -S214010A000702911D072913D8FC5CC2F1020244FAC1 -S214010A1002F202F03F040735002C40F0AD80BAF137 -S214010A20070F26D8DFE80AF027101F2125252523E2 -S214010A30F95C3B445C7804EB0124A4B2C2F10A02DF -S214010A40144104F03F04E6E70320EA0805F0070333 -S214010A5003EB0801072910D8BA5C0A99CB1A42FAA7 -S214010A6003F3034014E00720EFE70F20EDE7FF2034 -S214010A70EBE70B98E9E70120E7E7B95C3A445278DF -S214010A8002EB012292B20999CB1A42FA03F3034010 -S214010A9045440393012205920498024607900021DB -S214010AA0069021E70320D10802F0070303EB0805AF -S214010AB0072D1AD8795C0A9DEB1A41FA03F3034015 -S214010AC002EB08050393012205920498024607905B -S214010AD00021069008E70720E5E70F20E3E7FF205F -S214010AE0E1E70B98DFE70120DDE77D5C39444978D3 -S214010AF001EB052189B2099DEB1A41FA03F3034084 -S214010B00DEE7013C14F0FF043DD1BAF1070F23D80C -S214010B10DFE80AF024041C1E222222200320EA0811 -S214010B2005F0070303EB0801072919D8BA5C0A99EF -S214010B30CB1A42FA03F3034045440393012205927C -S214010B4004980246079000210690CDE60720E6E7C6 -S214010B500F20E4E7FF20E2E70B98E0E70120DEE75D -S214010B60B95C3A44527802EB012292B20999CB1A47 -S214010B7042FA03F30340DFE7039B01220592049A3E -S214010B8007920221B0E6039B01200590ACE6069889 -S214010B908C46C8B90AB19F4BDD60079B13B19D4BCC -S214010BA083F809C0059B0BB19A4B5C7400200F9B20 -S214010BB0039304274FF00F0C4FF00D084FF00B0A6C -S214010BC04FF0090B049728E0924B9DF80C1019740E -S214010BD0E0E707293DD8DFE801F004272A2D303366 -S214010BE036393D46002100F00702C2F10802521BC9 -S214010BF0C0F3CF044FF0FF33AB4063F0FF039340E5 -S214010C0019F804502B4001FA02F2134309F8043094 -S214010C10089A13461044B6451DD01EF8011F0F9BB7 -S214010C20032BD6D0039DDEE73D460221DBE73D469A -S214010C300499D8E73D460621D5E73D465946D2E711 -S214010C403D465146CFE73D464146CCE73D466146E7 -S214010C50C9E73D46C7E70D9A02FB03330E93159B82 -S214010C60012B40F355826B4BD3F804801A7A104659 -S214010C701992012202FA00F10139C9B21B9101460B -S214010C808246587C0790C1F108010B91CAF1100108 -S214010C900D91197C0391D3F80CC093F809B008990B -S214010CA012910C9B013B9BB201FB03F11A910021AF -S214010CB00A910C91069108911092179AD3181C93D9 -S214010CC0012304930F9A099204221D920593664606 -S214010CD0F5E100230E93C2E74FF003090CE04FF055 -S214010CE0070909E04FF00F0906E0E14604E0DDF8E8 -S214010CF0449001E0DDF81090F30806F0070202EBDD -S214010D000A0BBBF1070F31D818F803300B9DAA1A4E -S214010D1043FA02F202EA09095FFA89F916B1039B5E -S214010D204B4533D05644CDF80C90049B0693059B57 -S214010D30089304F8019FA04200F05D8169BB079B00 -S214010D401A46072AD3D801A353F822F0F50C01005E -S214010D50D90C0100DF0C0100E50C0100EF0C0100CD -S214010D60EF0C0100EF0C0100EB0C010018F803B0CA -S214010D7043445B7803EB0B239BB20D9DAA1A43FAFF -S214010D8002F202EA09025FFA82F9C7E7049B0A93B4 -S214010D907746059B0C931946C4E7012904D002291E -S214010DA000F0D780F146C4E7F30806F0070202F127 -S214010DB00109B9F1070F15D818F80330D2430832E4 -S214010DC0134103F001037A1CD7B2721CBBB9079B0F -S214010DD01946072900F28E80DFE801F08E848688A6 -S214010DE08C8C8C8A18F8039043445B7803EB0923B8 -S214010DF09BB2D2431032134103F00103E3E70B2FFA -S214010E000AD01646DDF80C90049B0A93059B0693C0 -S214010E108FE700BF5C2B0020D30802F00702911D6C -S214010E20072915D818F80330C2F1020243FA02F274 -S214010E3002F03F070736002F40F0CF80079B1A4687 -S214010E40072A39D8DFE802F03B1230333838383613 -S214010E5018F8031043445B7803EB01239BB2C2F1FD -S214010E600A0243FA02F202F03F07E3E74FF00309F2 -S214010E70F30806F0070202EB0A01072922D818F840 -S214010E8003300B998A1A43FA02F202EA09025FFA60 -S214010E9082F95644CDF80C90049B0A93059B0C935B -S214010EA071460693089344E74FF00709E0E74FF0D1 -S214010EB00F09DDE7E146DBE7DDF84490D8E7DDF82A -S214010EC01090D5E718F8031043445B7803EB012331 -S214010ED09BB20D998A1A43FA02F202EA09025FFAF4 -S214010EE082F9D6E7032608E0072606E00F2604E087 -S214010EF0664602E0119E00E0049ED30802F0070158 -S214010F0001EB0A09B9F1070F14D818F803300B9D45 -S214010F10691A43FA01F131405FFA81F902EB0A06D8 -S214010F20CDF80C90049B0A93059B0C93714606938F -S214010F300893FEE618F8039043445B7803EB092315 -S214010F409BB20D9D691A43FA01F131405FFA81F9AE -S214010F50E4E77B1E13F0FF0748D1079B1A46072AD2 -S214010F600DD8DFE802F00E0406080C0C0C0A03216B -S214010F7008E0072106E00F2104E0614602E011992E -S214010F8000E00499F30806F0070202EB0A09B9F13A -S214010F90070F13D818F803300B9DAA1A43FA02F26A -S214010FA00A405FFA82F95644CDF80C90049B0A93E6 -S214010FB0059B0C93714606930893BAE618F80390BE -S214010FC043445B7803EB09239BB20D9DAA1A43FAAF -S214010FD002F20A405FFA82F9E5E7DDF80C90049B1D -S214010FE00A93059B0C9302210693A2E6DDF80C906A -S214010FF0049B0A939DE6DDF84C900797149F169B79 -S21401100003F1FF3E0E9DDDF83CC011961391DDF80D -S21401101048B021E0072A40D8DFE802F0042A2D3044 -S2140110203336393C0423002205F00701C1F10801DB -S214011030C91AC5F3CF00012606FA03F35B4263F033 -S214011040FF038B4019F8006033408A40134309F8C8 -S21401105000305D44BC4222D017F8012F9EF80130C3 -S2140110605A400EF8012FBCF1030FD3D0099BDBE7E2 -S21401107004230222D8E704231D9AD5E70423062277 -S214011080D2E704230922CFE704230B22CCE704236B -S2140110900D22C9E704230F22C6E70423C4E7119EE5 -S2140110A0DDF84CB01A9B129A13440E9A1A440E920B -S2140110B0109B01331BB21093159A9A4215D0189BB8 -S2140110C0002BF5D0179B5F1E3C464FF0000E199B78 -S2140110D05D1E1B9B11934FF0FF0CCDF84C905946AB -S2140110E01497079F07951C9828E6B446089BC3B932 -S2140110F0069B13B1134BC3F80CC00C9B13B1114BD9 -S21401110083F809B00A9B1BB10E4B9DF81C205A743C -S21401111016980D4CA0471798A0470A4B1868FFF77A -S2140111202CBB084B9DF80C201A74E1E70020FFF752 -S21401113024BB0020FFF721BB0020FFF71EBB0020C9 -S214011140FFF71BBB5C2B0020192B01002DE9F04794 -S21401115084B007460C469946092A06BF0125202277 -S214011160002506691146494B98478046002800F03D -S2140111708680F368002B7CD049463846434B984717 -S214011180034618BB0023706800EBC800328A03FBD5 -S21401119002F31B114288C2F30B1205B15200083349 -S2140111A013441B0923804379A3800279628090F956 -S2140111B00630E38090F907302381F37CC3F3830381 -S2140111C0A372002D60D05200628059E03A69D17C4A -S2140111D011F0400F3CD1D768FA7A12F0030203D01F -S2140111E0012A1BD00023CEE7D7F8009008EB002396 -S2140111F004A820F8043DBA68254B0093022322F088 -S2140112007F424946DFF890A0D04728B1A0EB0903FA -S2140112105B087A68D356B6E70023B4E7D7F80090A0 -S21401122008EB002304A840F8043DBA68194B009364 -S214011230042322F07F424946DFF85CA0D04728B15C -S214011240A0EB09031B097A68D3569CE700239AE7AB -S214011250D1684A6812F808206AB18868C35C63B12D -S214011260013A487B09680B4400FB023212F9013C43 -S21401127089E7002387E7002385E7002383E7002526 -S214011280284604B0BDE8F0870125F9E755060100B8 -S214011290290601003B0601002D47010008B5044B55 -S2140112A0186820B1034B98470022014B1A6008BD0D -S2140112B05C2B00206D2A010010B504462C21154B2D -S2140112C098470023E3604FF4F07222804FF488724F -S2140112D062806360227A63F34102227294F82820C6 -S2140112E063F3040284F82820228D42F4FC622285EE -S2140112F0120A63F3C70284F829202289822161F346 -S2140113008B02228142F001022272236263626361D0 -S21401131010BD00BFDF300100F8B504460D46174684 -S2140113201E462421034B984725606760A560E6604A -S214011330F8BD00BFDF300100F0B583B005463F4879 -S2140113403F4B98470446002854D04FF4B8713D4BA4 -S21401135098472C22294620463B4B98474C2104F1BE -S21401136030003A4B98470023C4F86C31384B1B6861 -S214011370002B50D0364B1F681C60234603221E21CB -S2140113803448354DA847E062344B9847002845D08D -S214011390E36A002B4FD0B4F868316FF30903A4F861 -S2140113A068310025C4F86C51294628462C4EB047B2 -S2140113B0E06329462846B047206429462846B047B8 -S2140113C060642946206C274EB0472946606CB047BA -S2140113D02946206C244EB0472946606CB047E06B26 -S2140113E0224B98471A4B1F60E06A214B98472046CC -S2140113F003B0F0BD194B98470028F8D11D4B009358 -S2140114007C221D4903201D4CA047002200231C48B6 -S2140114101C498847FEE70E4B1C60ABE7154B009353 -S2140114208D2215490320154DA847E26A002314486A -S21401143014498847FEE70024D9E700BFB46C0020B2 -S214011440B9240100DF300100FD2B0100A1240100B9 -S214011450702B00201D6500008D3F01008D290000C6 -S214011460AD4400002542000029300000A9390000E3 -S214011470FD3F0100A0060200B80602000528010093 -S214011480BCB4010095290000014B1868704700BFE5 -S214011490702B0020034640B11A7A12F0020F0CBFDF -S2140114A0B3F90000B3F902007047034B1B68002B29 -S2140114B0F2D14FF4F0707047702B0020034640B114 -S2140114C01A7A12F0020F0CBFB3F90200B3F900004A -S2140114D07047034B1B68002BF2D14FF4887070479E -S2140114E0702B0020034618B11889C0F38900704795 -S2140114F0024B1B68002BF7D182207047702B00200F -S21401150038B50546A0B128460F4B984704462846ED -S2140115100E4B984704EB84046400B4FBF0F01D28DE -S2140115200DD931280DD9462834BF0220032038BDF5 -S214011530074B1D684FF4F074002DE8D0E3E7002058 -S21401154038BD012038BD00BF95140100E514010027 -S214011550702B00204268002393614268D361704774 -S21401156008B520B101460448044B984708BD024817 -S214011570034B984708BD00BFB46C002065250100E9 -S214011580512501004068704743681A6822B15868BF -S214011590003018BF012070470020704710B5044680 -S2140115A0084B9847034658B1B4F90020B4F9023005 -S2140115B003FB02F36268D268934214BF002301233F -S2140115C0184610BD8915010008B520B1014604482A -S2140115D0044B984708BD0248034B984708BD00BF17 -S2140115E0A86C00206525010051250100034B00224F -S2140115F01A705A6810445860704700BF742B002058 -S214011600044B4FF0010119701A78002AFBD0014BE8 -S21401161058687047742B002010B50446014B984754 -S214011620001B10BD011601000A6A486A82421ABFF1 -S214011630800290FBF2F04FF480608A69CB699B1AB6 -S21401164000FB03F002EBA02000B2704708B50122B0 -S214011650084B1A700848094B984728B10421054BD6 -S2140116605868074B984708BD0021024B5868044B41 -S214011670984708BD7C2B0020786D0020512501007D -S214011680013F01002DE9F04391B06348634B984751 -S21401169068B10146604D624C91F83C306FF34103EE -S2140116A081F83C302846A04701460028F4D15D4B1E -S2140116B098685D4B984780465748584B984704466C -S2140116C0002800F08980574D4FF00007524EDFF892 -S2140116D04C911CE013EB080300F18580A268002AF8 -S2140116E000F08880204690471EE0214604F1100055 -S2140116F04E4B984728E0626A236A9A422BDA2B7887 -S214011700002B71D03046C8470446002C64D02F7099 -S21401171094F83C3013F0020F66D143F0020384F8CC -S2140117203C30636A002BD5DD636A43446362002B59 -S214011730E5DB226A9A42B8BF62622369002BD4D0E5 -S214011740214604F1100098476368002BD3D001B2FC -S21401175020689847CFE794F83C3013F0010308D18E -S214011760A28E002A48D04FF6FF718A424BD0013A2A -S214011770A286A28ECAB1226B52426262E26A002A35 -S214011780BDD0002B3BD083F0010394F83C1063F3EB -S214011790000184F83C10A369E069A061E36111F0DF -S2140117A0010F08BFA26B2262A9E7E26A02B133B356 -S2140117B04022214668461E4B9847214630461D4B1F -S2140117C0984720461C4B98471C4B9847039B002B79 -S2140117D095D06846984792E7194B9847114B986001 -S2140117E011B0BDE8F0836362214630460C4B984742 -S2140117F004468AE763629CE7E26A002AD8D0A16AB7 -S21401180049426162BFE7226B52426262E26A002A83 -S2140118103FF475AFF3E700BF786D00205125010056 -S214011820652501007C2B00201916010029160100F0 -S214011830FD2B01003D2601006D2A01004D16010019 -S2140118400116010038B5402109480A4B98470A4B52 -S21401185098470A4CA060002304221E210848094D1F -S214011860A8476060084B98470023237038BD00BF27 -S214011870786D0020A1240100011601007C2B0020B8 -S214011880851601008D3F01004D16010010B5044676 -S21401189040210D4B98474FF4FA7323620023A3614E -S2140118A06423E361094B1A7822745A7862749A7831 -S2140118B0A274DB78E3740123A38694F8363043F0F0 -S2140118C0010384F8363010BDDF300100E406020063 -S2140118D02DE9F84F074689461548164B984710B329 -S2140118E004464FF0000ADFF84880134EDFF854B084 -S2140118F00BE021464046D8472046104B9847104BF0 -S21401190098474FF0010A2C467DB121464046B04724 -S21401191005462368BB42F6D163684B45E9D0B9F169 -S214011920000FF0D1E5E74FF0000A5046BDE8F88F0A -S214011930786D002051250100652501006D2A010002 -S2140119404D1601003D26010030B583B005464168BD -S21401195011B100681B4B98471B481C4B9847F0B9C0 -S21401196019481B4B984704461A4B9847E8B1A4B14F -S2140119702B6AAB63402229462046174B984794F8BA -S214011980363013F0010F06D0636823B1206810B11A -S214011990B4F918109847114B984703B030BD104B57 -S2140119A0984701380F4B9860DAE70F4B00936A228D -S2140119B00E4903200E4DA847224600230D480E4926 -S2140119C08847FEE7D1180100786D0020ED27010059 -S2140119D0B92401008D290000FD2B01004D160100E0 -S2140119E0011601007C2B0020EC060200FC0602001A -S2140119F005280100BCB4010095290000F8B504468D -S214011A000F460A480A4B9847014660B1074E094DF2 -S214011A1003E03046A847014628B10B68A342F8D137 -S214011A204B68BB42F5D10846F8BD00BF786D002073 -S214011A305125010065250100891A0029B8BF4942D0 -S214011A404FF47A7202FB01F292FBF0F04FF6FF724E -S214011A50904228BF1046002808BF012080B2704778 -S214011A6030B4B0F90050B0F904305B1B03EBD3730C -S214011A705B109CB20A88521B121B49884088081AC0 -S214011A80001B13FB03F310FB00F012FB0202934250 -S214011A90B4BF0020012030BC704701394388194487 -S214011AA0C1807047B0F90420B0F90030D21AB0F9FD -S214011AB00630B0F90200181A013002FB0000704728 -S214011AC070B4B2F90050B1F900309D42B8BF1D465E -S214011AD00580B2F90230B1F90240A342B8BF2346ED -S214011AE04380B2F90440B1F90460B442A8BF344659 -S214011AF08480B2F90620B1F906108A42A8BF0A46C8 -S214011B00C280A54205DC9342CCBF0020012070BCF8 -S214011B1070470020FBE710B4B2F90030B1F900407D -S214011B20A342A8BF23460380B2F90230B1F90240AE -S214011B30A342A8BF23464380B2F90430B1F904405A -S214011B40A342B8BF23468380B2F90630B1F9062016 -S214011B509342B8BF1346C3805DF8044B704700003C -S214011B602DE9F04F85B0B1F90050B0F900E07545A8 -S214011B70C0F29D80B0F90480454500F39C80B1F920 -S214011B800230B0F902A05345C0F29780B0F90600C2 -S214011B900190834200F39380002A40F392808C46A2 -S214011BA01FFA88F91FFA8EF687B21FFA8AF5ADF882 -S214011BB008E009F101039B1B1BB203EBD3747B1CEA -S214011BC05B1B1BB203EBD37164104B10A342A8BF7F -S214011BD023469342A8BF13469CB22644B6B2ADF83C -S214011BE00C60ADF80AA02544ADB20FFA85FBADF83E -S214011BF00EB00022CDF800C0614602A8FFF7B0FF84 -S214011C0050B12644ADF80C602C44ADF80E40009956 -S214011C1002A82E4B98474BE03F1BBFB2ADF80A70A7 -S214011C20BDF80430ADF80E300022009902A8FFF787 -S214011C3097FF50B12644ADF80C603C1BADF80A4046 -S214011C40009902A8214B984732E0A9EB04091FFA34 -S214011C5089F9ADF80890ADF80C800022009E314657 -S214011C6002A8FFF77DFF58B1A9EB0409ADF808906B -S214011C703C1BADF80A40314602A8144B984717E0C2 -S214011C80ADF80AA0ADF80EB00022009E314602A8BB -S214011C90FFF766FFB8B1A9EB0409ADF808902C442C -S214011CA0ADF80E40314602A8084B984700E00020E8 -S214011CB005B0BDE8F08F0020FAE70020F8E7002025 -S214011CC0F6E70120F4E70120F2E700BF611A010000 -S214011CD0B0F90020B1F904309A4214DCB0F90420BE -S214011CE0B1F900309A4210DBB0F90220B1F90630A2 -S214011CF09A420CDCB0F90600B1F902309842B4BF42 -S214011D000020012070470020704700207047002007 -S214011D10704700002DE9F04182B0B0F90050B1F9EA -S214011D200030AB4214DCB0F90240B1F902309C42FB -S214011D3014DBB0F90440B1F904309C4210DCB0F970 -S214011D400630B1F90640A342CCBF0023012300E0D0 -S214011D5000233AB9184602B0BDE8F0810023F8E73F -S214011D600023F6E717460C460646ADF804504388AE -S214011D70ADF8063001A92046134B984703460028C4 -S214011D80E8D0B6F9048002A921F8048D3A46204627 -S214011D900D4B984703460028DCD0ADF80450F38875 -S214011DA0ADF806303A4601A92046074B9847034648 -S214011DB00028CFD002A921F8048D3A462046024BCE -S214011DC098470346C6E700BF611B010030B4142ADA -S214011DD03AD8DFE812F01500430047005C006700C0 -S214011DE072008D009E00B300CE00D600EE00FC000F -S214011DF004011C012A0132014A01580160017801DF -S214011E00828801320488121B12B202EBD2748A88CD -S214011E1001320D88521B12B202EBD2725210C2EB83 -S214011E2064021A80C28801324488121B12B202EB85 -S214011E30D274CA8801324988521A12B202EBD2729F -S214011E405210C2EB64025A801A8801880A441A802A -S214011E505A8841880A445A8030BC704700221A804A -S214011E605A80F1E7828801320488121B12B202EB13 -S214011E70D2748A8801320988521A12B202EBD272DF -S214011E805210C2EB64021A8000225A80DCE7828874 -S214011E908C88121B0488121B09880A441A800022A7 -S214011EA05A80D1E700221A80C288CC88121B448847 -S214011EB0121B49880A445A80C6E782880132048880 -S214011EC0121B12B202EBD2748A8801320D88521BA1 -S214011ED012B202EBD2725210C2EB64021A80C288AE -S214011EE0CC88121B4488121B49880A445A80ABE7E7 -S214011EF082888C88121B0488121B0C8822441A8044 -S214011F00C288CC88121B4488121B49880A445A800E -S214011F109AE700221A80C28801324488121B12B244 -S214011F2002EBD274CA8801324988521A12B202EB05 -S214011F30D2725210C2EB64025A8085E782888C887E -S214011F40121B0488121B0C8822441A80C288013294 -S214011F504488121B12B202EBD274CA880132498835 -S214011F60521A12B202EBD2725210C2EB64025A80BB -S214011F706AE700221A80CA884988521AD2435A80D0 -S214011F8062E7828801320488121B12B202EBD27415 -S214011F908A8801320D88521B12B202EBD27252109D -S214011FA0C2EB64021A80CA884988521AD2435A8000 -S214011FB04AE782888C88121B0488121B0C882244EC -S214011FC01A80CA884988521AD2435A803CE70022AE -S214011FD01A80C28801324188521A5A8034E78288B0 -S214011FE001320488121B12B202EBD2748A880132C3 -S214011FF00988521A12B202EBD2725210C2EB640274 -S2140120001A80C28801324188521A5A801CE7828897 -S2140120108C88121B0488121B09880A441A80C288FD -S21401202001324188521A5A800EE78A880988521A64 -S214012030D2431A8000225A8006E78A880C88121B2F -S214012040D2431A80C28801324488121B12B202EBB4 -S214012050D274CA8801324988521A12B202EBD2727D -S2140120605210C2EB64025A80EEE68A880C88121B74 -S214012070D2431A80C288CC88121B4488121B498816 -S2140120800A445A80E0E6828801320188521A1A8090 -S21401209000225A80D8E6828801320488121B1A80F0 -S2140120A0C28801324488121B12B202EBD274CA886B -S2140120B001324988521A12B202EBD2725210C2EBA6 -S2140120C064025A80C0E6828801320488121B1A8094 -S2140120D0C288CC88121B4488121B49880A445A803D -S2140120E0B2E630B48DB210F0030F1CBF20F8021B0D -S2140120F002F1FF3205EB0541102A21D900F1200338 -S214012100144643F8201C43F81C1C43F8181C43F8DB -S214012110141C43F8101C43F80C1C43F8081C43F825 -S214012120041C103C2033102CEBD8A2F111031B0920 -S214012130591C103AC3EB037302EB031200EB411078 -S2140121401AB120F8025B013AFBD130BC704730B4BB -S214012150C1EB4115C1F1FF04C0F3C42304FB0353D3 -S21401216003EB032203EBC213C3F3C452C0F34513BC -S214012170C1EB811104FB031101EB012301EBC31138 -S214012180C1F3C55100F01F0004FB005000EB002313 -S21401219000EBC310C30D4FF0000063F3040061F3BE -S2140121A04A1062F3CF2030BC704710B4C1F1FF0172 -S2140121B0C0F3C42301FB03F303EB032203EBC213B7 -S2140121C0C3F3C453C0F3451201FB02F202EB02242F -S2140121D002EBC412C2F3C55200F01F0001FB00F16E -S2140121E001EB012001EBC011C90D4FF0000061F3B6 -S2140121F0040062F34A1063F3CF205DF8044B704786 -S214012200421C43781BB908E012F8013F2BB13A2B68 -S214012210FAD05C2BF8D02F2BF6D010467047000072 -S21401222008B544210148024B984708BD4C6D002073 -S214012230A124010038B5436873B11A6972B1044626 -S21401224001681846904705462068054B98470023C5 -S21401225023606360284638BD0B25FBE70925F9E7AF -S2140122606D2A0100F0B585B01E460BB10023336020 -S21401227045688DB1AF698FB113460A46044604A876 -S214012280002140F8041D216800902846B8470EB189 -S214012290039B336005B0F0BD0B20FBE70920F9E78F -S2140122A038B5446834B1256A35B10A460168204616 -S2140122B0A84738BD0B2038BD092038BD70B5044687 -S2140122C009480A4B9847014658B10378A34208D0FB -S2140122D0054E074D3046A847014610B10B78A3427C -S2140122E0F8D1084670BD00BF4C6D00205125010095 -S2140122F0652501002DE9F04383B0002343600360A8 -S214012300002945D00D46914604460878244B984747 -S214012310606040B1836853B1984740B90023636059 -S2140123202360012535E000232360032531E063683F -S21401233058881C4B984720601B4B984728B1266845 -S21401234086B9002363600A2523E0184B00936F22A9 -S21401235017490320174DA847226800231648174936 -S2140123608847FEE7D4F80480D8F80C70AFB1284649 -S214012370134B98474B46024631464046B8470546FA -S21401238038B120680F4B984700232360636000E054 -S2140123900B25284603B0BDE8F0830925F9E700BF01 -S2140123A0BD220100852901008D2900003C0702009D -S2140123B05807020005280100BCB401009529000059 -S2140123C0012201006D2A010010B50446124B984700 -S2140123D0C8B102462118235C2E2B0FD02F2B14D008 -S2140123E05C2B14D0013A0CD011F8013D2E2B05D0F0 -S2140123F02F2B0ED05C2BF5D1084810BD0132A0184A -S21401240010BD064810BD054810BD044810BD034860 -S21401241010BD024810BD00BF4FAF0100E8C3010068 -S21401242010B582B0019281B10C4682B103680433C3 -S214012430CA189DF80410E1549DF8053053709DF8B4 -S214012440063093709DF80730D37002B010BD006857 -S214012450043004212044014B9847F6E7DF300100A1 -S21401246000B583B0019281B10A46019B83B1016830 -S21401247053189DF8040050549DF805205A709DF895 -S21401248006209A709DF80720DA7003B05DF804FB09 -S214012490006804211044014B9847F6E7DF3001003D -S2140124A000234360836011F0030F1CBF21F003017A -S2140124B0043101607047000038B5044600680830F2 -S2140124C00D4B9847054690B10022014620460B4B1E -S2140124D09847626829462046094B9847616819B1B2 -S2140124E02A462046054B98476560A3680BB12846E7 -S2140124F038BDA560FBE700BF852901006124010006 -S2140125002124010038B50446006808300D4B984771 -S214012510054690B10022014620460B4B9847A2681B -S21401252029462046094B9847A16819B12A462046F4 -S214012530054B9847A56063680BB1284638BD6560B2 -S214012540FBE700BF85290100212401006124010069 -S21401255008B1406870470020704708B1806870472E -S2140125600020704782B00023019370B103680433E2 -S214012570CA18CB5C8DF8043053788DF80530937803 -S2140125808DF80630D3788DF80730019802B0704781 -S21401259082B00023019368B102688B188A5C8DF8BB -S2140125A004205A788DF805209A788DF80620DB7875 -S2140125B08DF80730019802B07047000060B32DE92E -S2140125C0F041044651B30D464368994220D0006855 -S2140125D00830154B9847064618B329462046134B34 -S2140125E098478046324601462046114FB847424634 -S2140125F031462046DFF84080C0473246294620460D -S214012600C0472A4631462046B8473046BDE8F081E5 -S214012610084B9847BDE8F081002070470846BDE8A2 -S214012620F081BDE8F08100BF8529010091250100F8 -S21401263021240100B92401006124010070B50D4672 -S214012640044650B34368994229D08368994217D00B -S21401265029462046184B9847064629462046174BDA -S21401266098470546024631462046154B984732465E -S21401267029462046134B984770BD0023A36070BDC2 -S2140126800D4B9847A06028B10022014620460C4B0E -S214012690984770BD0023636070BD0029D8D12946D4 -S2140126A02046064B984760600028E6D00022014687 -S2140126B02046044B984770BD912501006525010011 -S2140126C0212401006124010070B50C4615461E4602 -S2140126D01146174B9847AEB1002229462046154BA6 -S2140126E09847626829462046134B9847616819B196 -S2140126F02A4620460F4B98476560A36803B170BD14 -S214012700A56070BDA268294620460A4B984700225C -S21401271029462046084B9847A16819B12A46204603 -S214012720054B9847A5606368002BE8D16560E6E72E -S2140127303D260100612401002124010091424CD074 -S2140127402DE9F84317460C46054612B31146234BAE -S2140127509847064684421AD021462846204B984779 -S214012760224631462846DFF87C80C047324621465D -S2140127702846DFF87490C847224639462846C84797 -S2140127803A4621462846C04706B3BDE8F883BDE869 -S214012790F883F0B18668B4421DD021462846104B16 -S2140127A098472246314628460E4FB84732462146BC -S2140127B02846DFF83480C047224600212846C04715 -S2140127C0002221462846B847AC60DDE76C60BDE8CC -S2140127D0F8831646DFE7BDE8F883704791250100C8 -S2140127E03D260100212401006124010040B1426818 -S2140127F00AB1002070478068B0FA80F0400970473F -S214012800012070472DE9F041C4B0441EE4B2042C07 -S21401281015D81F4616460D4680464BAB03934A9A7B -S2140128204FF4807104A8074CA047074B1C6834B1CD -S21401283004AB00933B46324629464046A04744B087 -S214012840BDE8F081753B0100882B00201B4B83FB04 -S21401285000231A18C317C3EB22234FF4B47202FBEA -S214012860130000B20028BCBF801800B2592813DD3F -S21401287080B2A0F15A039BB2592B11D9A0F1B4032F -S2140128809BB2592B13D9C0F5B47000B20C4B33F878 -S2140128901000404200B27047094B33F910007047F0 -S2140128A0C0F1B40000B2064B33F9100070471BB2FA -S2140128B0034A32F81300404200B27047B7600BB6C5 -S2140128C08007020030B400020024131903FB03F54D -S2140128D0A84228BF1C465208F7D123090B802401C1 -S2140128E0E4B24C8030BC7047034660B104301B68CC -S2140128F000EB5300021D054B1B6803F580439A420B -S21401290028BF00207047014B186870478C2B0020A9 -S21401291011F0030F1CBF21F0030104310368C3F358 -S2140129205E030A1D934217D0994216D010B4021DB9 -S214012930535C6FF3000353540368C3F35E03043B15 -S2140129405B1A545863F35F045450036861F35F03E2 -S21401295003605DF8044B70471146036861F35F033B -S21401296003607047064B1A1D1A601A796FF300024E -S2140129701A715A6843F6FC7161F35F025A60704738 -S2140129808C2B002000282ED0F0B583B0054610F021 -S214012990030F1CBF20F0030504350024134E144F0B -S2140129A008E02946B847237843F00103204600F89B -S2140129B0043BB0B92046B047044648B1037813F04B -S2140129C0010FF7D10368C3F35E039D42E9D9F1E72E -S2140129D0084B0093084BD12208490220084CA04717 -S2140129E0002003B0F0BD0748704700BFE92801008A -S2140129F011290100A4080200380802007C08020020 -S214012A0005280100906B002038B50020164B98472A -S214012A100446154D1BE038BD2046A847014608B3BD -S214012A20037813F0010F11D12368C3F35E02043259 -S214012A30086802EB500262F35F0323600846A8476A -S214012A40014670B10B7813F0010FEDD00C46002C47 -S214012A50E1D0237813F0010FDED02046A8470446C4 -S214012A60F5E738BD38BD00BFE928010038B51E4B73 -S214012A70984238D0002836D0044610F8043C6FF34C -S214012A80000300F8043C194AB2F8203D01339BB21A -S214012A90A2F8203D0F2B20D80438154B9847014645 -S214012AA008B3037813F0010F15D1114D54F8043C07 -S214012AB0C3F35E020432086802EB500262F35F035E -S214012AC044F8043C0846A847014628B10B7813F0A1 -S214012AD0010FEBD038BD38BD38BD0022034BA3F83B -S214012AE0202D044B984738BD906B0020745E002063 -S214012AF0E9280100092A010038B1064A904206D0A9 -S214012B0050F8040CC0F35E007047002070470020A8 -S214012B10704700BF906B00201B4B1B68984220D06B -S214012B20194B9B68834208BF01221BD010B582B0A7 -S214012B30164B1B6898421DD0012314491C4651F8B8 -S214012B403320904217D00133102BF7D1104B00934E -S214012B50104B40F2322210490320104CA04702B01D -S214012B6010BD0022084B03EBC2039A796FF30002F3 -S214012B709A7170470024054B03EBC404A3796FF3E5 -S214012B800003A371EBE700BF44000020CC6C0020DB -S214012B90C0080200480802007C080200052801005F -S214012BA02DE9F041124B9A796FF300029A719A7BE4 -S214012BB06FF300029A730F4C0025DFF83C802E4617 -S214012BC0271F03E001350834102D0ED054F8040CED -S214012BD00028F7D0C04744F8046C07EBC5039A7980 -S214012BE066F300029A712680ECE7BDE8F08100BF2B -S214012BF044000020D06C00206D2A0100F0B400F0E3 -S214012C00030301F00304A34200F0A680202A40F249 -S214012C10A18000F1200401F12003154613F8206C71 -S214012C2004F8206C13F81F6C04F81F6C13F81E6C64 -S214012C3004F81E6C13F81D6C04F81D6C13F81C6C5C -S214012C4004F81C6C13F81B6C04F81B6C13F81A6C54 -S214012C5004F81A6C13F8196C04F8196C13F8186C4C -S214012C6004F8186C13F8176C04F8176C13F8166C44 -S214012C7004F8166C13F8156C04F8156C13F8146C3C -S214012C8004F8146C13F8136C04F8136C13F8126C34 -S214012C9004F8126C13F8116C04F8116C13F8106C2C -S214012CA004F8106C13F80F6C04F80F6C13F80E6C24 -S214012CB004F80E6C13F80D6C04F80D6C13F80C6C1C -S214012CC004F80C6C13F80B6C04F80B6C13F80A6C14 -S214012CD004F80A6C13F8096C04F8096C13F8086C0C -S214012CE004F8086C13F8076C04F8076C13F8066C04 -S214012CF004F8066C13F8056C04F8056C13F8046CFC -S214012D0004F8046C13F8036C04F8036C13F8026CF3 -S214012D1004F8026C13F8016C04F8016C203D2034B1 -S214012D202033202D3FF67AAFA2F1210525F01F04AE -S214012D30203403192144203A25F01F05521B3AB1CD -S214012D4001391A4411F8014F03F8014B9A42F9D19F -S214012D50F0BC70470346F2E7002B5BD10546202AFC -S214012D6034D905F1200401F12003164653F8207CDE -S214012D7044F8207C53F81C7C44F81C7C53F8187CDF -S214012D8044F8187C53F8147C44F8147C53F8107CEF -S214012D9044F8107C53F80C7C44F80C7C53F8087CFF -S214012DA044F8087C53F8047C44F8047C203E203424 -S214012DB02033202EDAD8A2F1210323F01F04203479 -S214012DC025442144203A23F01F03D21A042A32D97B -S214012DD00E1F2C46134656F8047F44F8047B043B2A -S214012DE0042BF8D8541F24F003030433043A24F0C8 -S214012DF00304121B19442B44002AA9D001391A4492 -S214012E0011F8014F03F8014B9342F9D1A0E7294687 -S214012E101D46A4E7C3F104037AB1C418034611F8AA -S214012E20015B03F8015B0D46013AA342EFD0002A8D -S214012E30F5D10022E0E72B46DEE70346F9E700007E -S214012E40F0B583B004460D4611F0030F1CBF21F008 -S214012E500305043538B110F8043C03F00103002BD8 -S214012E6014BF044600242046154B98470646854263 -S214012E7024D011D32846134B98470746A0B184B1F6 -S214012E807EB12A46B54228BF324621460E4B9847A8 -S214012E9020460E4B984704E02946201F0C4B9847C6 -S214012EA02746384603B0F0BD0A4B00930A4B40F262 -S214012EB03F120A4902200A4CA047F2E72746F0E7EC -S214012EC0F92A010085290100FD2B01006D2A010068 -S214012ED011290100A40802005C0802007C08020017 -S214012EE005280100002800F08D80014610280BD827 -S214012EF0454B9B7913F0010F0ED0434B9B7B13F090 -S214012F00010F08BF012008D070B582B03F4A0023E8 -S214012F104FF0FF36144619E000203B4A02EBC00191 -S214012F208B7943F001038B7152F830007047374AB2 -S214012F3002EBC3018B7943F001038B7152F8350024 -S214012F4023E05EB201330832102B13D01D4604EB8A -S214012F50C300807910F0010FF4D190888142F1D836 -S214012F60E5D0002EEDDB04EBC605AD88854288BFB3 -S214012F705EB2E7E7002E0ADB244A02EBC6018B7934 -S214012F8043F001038B7152F8360002B070BD1F4B3F -S214012F909B7913F0010F08BF002416D001231B48AC -S214012FA01C4600EBC302927912F0010F0DD00133DB -S214012FB0102BF5D1164B0093164B40F216221649EC -S214012FC00320164CA0470020DFE7104D05EBC40395 -S214012FD09A7942F001029A71998055F83400104BA3 -S214012FE0984745F8340018B1084B53F83400CCE73D -S214012FF00C4B0093074B4FF4047207490320074D0F -S214013000A847F1E70020704744000020CC6C002060 -S214013010500902006C0802007C0802000528010025 -S214013020412E0100EC08020010F0030313D0C3F197 -S21401303004033AB1034400F8011B013A98420AD04E -S214013040002AF8D10022002A48D0024400F8011BC9 -S2140130509042FBD1704730B401EB012404EB0144EC -S21401306004EB0164202A20D900F12003154643F819 -S214013070204C43F81C4C43F8184C43F8144C43F8C6 -S214013080104C43F80C4C43F8084C43F8044C203DD4 -S2140130902033202DEBD8A2F1210323F01F05203584 -S2140130A02844203A23F01F03D21A042A0FD90546D2 -S2140130B0134645F8044B043B042BFAD8531F23F060 -S2140130C003040434043A23F00303D21A204422B141 -S2140130D0024400F8011B9042FBD130BC704710F04F -S2140130E0030341D110B4202921D900F120030C4655 -S2140130F0002243F8202C43F81C2C43F8182C43F8E4 -S214013100142C43F8102C43F80C2C43F8082C43F8E5 -S214013110042C203C2033202CEBD8A1F1210323F0F2 -S2140131201F0220321044203923F01F03C91A042934 -S21401313010D902460B46002442F8044B043B042BEC -S214013140FAD84B1F23F003020432043923F0030399 -S214013150C91A104429B10144002300F8013B8842F2 -S214013160FBD15DF8044B7047C3F1040341B103443E -S214013170002200F8012B01399842B3D00029F8D17A -S21401318000210029EFD00144002300F8013B8842CA -S214013190FBD1704710F0030343D110B4202922D984 -S2140131A000F120030C464FF0FF3243F8202C43F881 -S2140131B01C2C43F8182C43F8142C43F8102C43F815 -S2140131C00C2C43F8082C43F8042C203C2033202CEC -S2140131D0EBD8A1F1210323F01F022032104420393D -S2140131E023F01F03C91A042911D902460B464FF0D2 -S2140131F0FF3442F8044B043B042BFAD84B1F23F050 -S21401320003020432043923F00303C91A104429B116 -S2140132100144FF2300F8013B8842FBD15DF8044BD3 -S2140132207047C3F1040341B10344FF2200F8012BA8 -S21401323001399842B1D00029F8D100210029EFD0F8 -S2140132400144FF2300F8013B8842FBD170479A42B4 -S21401325038BF8854704770472DE9F04F83B0074652 -S214013260009193469846DDF830900D9C9DF83850B5 -S2140132701099DDF844A0129A12F00203019335D199 -S214013280BAF1000F0ED012F0010F00F0B68015B99A -S21401329012F00C0F01D00AF1FF3A8C4213D21F2C08 -S2140132A004D910E08C420BD21F2C09D809EB040379 -S2140132B03020013403F8010BA14201D9202CF8D1AA -S2140132C012F0010F12D0A24510D91F2C09D809EB14 -S2140132D004033020013403F8010B544505D0202C9B -S2140132E0F8D112F0100F04D144E0A24612F0100FEC -S2140132F013D012F4806F04D11CB1A1421BD05445E7 -S21401330019D00F9B102B1ED00F9B022B27D01F2CE2 -S21401331030D8302309F8043001341F2C2AD82DBBAD -S21401332012F0040F3AD112F0080F23D0202309F827 -S214013330043001341EE0631E0FD00F99102901D00E -S2140133401C46E1E7023C12F0200F5DD11F2CDED8AF -S214013350782309F804300134D9E71C46D1E71F2C3D -S21401336008D8622309F804300134D0E72D2309F880 -S2140133700430013412F0030F15D1544528BF5E46C0 -S21401338012D20BEB0A052D1B5A46561C43460099D2 -S2140133902020B8473246AE42F7D105E02B2309F884 -S2140133A004300134E6E75E4635465CB1A144344458 -S2140133B03246551C4346009919F8010DB8472A466E -S2140133C0AC42F6D1019BA3B1A5EB0B03534512D238 -S2140133D020262A46009D541C434629463046B847B7 -S2140133E02246A4EB0B035345F5D3204603B0BDE8B4 -S2140133F0F08F2C46F9E72C46F7E78C42BFF476AF00 -S2140134001F2C7FF653AF71E71F2CB3D8582309F84A -S214013410043001347BE700002DE9F04190B0169DA1 -S214013420189EDDF86C802DB928F0100418F4806F12 -S2140134302FD1A04618F0200F0DF11F0E4FF00007F8 -S21401344014BF4FF0370C4FF0570CB5FBF6F406FBE4 -S2140134501454E4B20137092C94BF30346444E4B206 -S2140134600EF8014FB5FBF6F50DB1202FEDD1CDF8D5 -S21401347018801A9C0594199C049403969DF85C4048 -S2140134800294019708AC0094034CA04710B0BDE825 -S214013490F081A0460027EAE7593201002DE9F04FF6 -S2140134A095B0089009910A920B93DDE91E45DDF867 -S2140134B08890DDF88C8054EA050307D1269B23F01B -S2140134C01003269A12F4806F3ED12693269B13F0A2 -S2140134D0200F0DF12F0A4FF000061D4F14BF4FF0BD -S2140134E0370B4FF0570B4A46434620462946B84706 -S2140134F0D2B20136092A94BF30325A44D2B20AF8FF -S214013500012F4A46434620462946B84704460D46FB -S21401351054EA050301D0202EE5D1269B0693259B70 -S2140135200593249B0493CDF80C909DF8803002936C -S21401353001960CAB00930B9B0A9A09990898054CC7 -S214013540A04715B0BDE8F08F26930026E5E700BF3B -S214013550B5AB0100593201002DE9F04F91B00A9246 -S2140135601C461A9E0B91934B002914BF814699461F -S2140135704FF0000B2078002800F06A82252808D03A -S2140135800BF101050A9B5A460B99C8470134AB4615 -S214013590F0E7621C002101E041F00101144601320E -S2140135A02378203B102B31D801A050F823F000BF20 -S2140135B0013601000D3601000D3601000736010007 -S2140135C00D3601000D3601000D3601000D360100E5 -S2140135D00D3601000D3601000D360100FB350100E8 -S2140135E00D360100F53501000D3601000D360100DE -S2140135F09935010041F00201D0E741F00401CDE721 -S21401360041F00801CAE741F01001C7E72378A3F1AA -S2140136103002D2B2092A16D92A2B22D000252378C5 -S2140136202E2B28D000272378683B122B4FD8DFE8B3 -S21401363003F0AA4EB84E454E4E4E4E4E4E4EB44E2A -S2140136404E4E4E4EBC00002505EB850503EB4505A9 -S214013650303D14F8013FA3F13002D2B2092AF3D962 -S214013660DDE7331D3568002DBCBF41F002016D4218 -S21401367001341E46D3E741F48061601C6378A3F1F0 -S2140136803002D2B2092A04D92A2B11D004460027C7 -S214013690C9E7002707EB870703EB4707303F10F81A -S2140136A0013FA3F13002D2B2092AF3D90446BAE7A0 -S2140136B0376827EAE77702340436B4E763786C2B79 -S2140136C019BF41F48071013441F44071023420780D -S2140136D0A0F12503532B00F2B281DFE813F0A60117 -S2140136E0B001B001B001B001B001B001B001B0014C -S2140136F0B001B001B001B001B001B001B001B0013C -S214013700B001B001B001B001B001B001B001B0012B -S214013710B001B001B001B001B001B001B001B0011B -S214013720B001B001B001B001B001B001B001B0010B -S214013730B001B001B001B001B001B001B001B001FB -S214013740B001B0016D00B001B001B001B001B0012F -S214013750B001B001B001B0016D0014016D00B001FF -S214013760B001B001B0016D00B001B001B001B0010F -S214013770B0016D008F01B001B0013701B0016D00DD -S214013780B001B0016D006378682B19BF41F080016C -S214013790013441F0C001023499E741F480710134EB -S2140137A095E741F40071013491E741F480710134E9 -S2140137B08DE700BF57320100782800F0D5815828E0 -S2140137C000F054816F2800F0D181622800F0D0818A -S2140137D021F01003692826D111F4806F40F0C081D2 -S2140137E00A2213F4007F24D113F4807F44D113F00E -S2140137F0400F57D113F0800F14BFB6F9001031688F -S21401380004360593049503970292CB0F0193002982 -S214013810B8BF494200910A9B5A460B994846AC4D9F -S214013820A847834652E1642800F0568119460A22C9 -S2140138301FE1F11D21F0070101F10806086849683A -S214013840089307950697049200230593CB0F0293DE -S21401385002460B46002873F1000109DBCDE900237F -S2140138600A9B5A460B9948469A4DA84783462DE12E -S214013870424263EB4303F1E706F10408316805931E -S214013880049503970292CB0F01930029B8BF4942D2 -S21401389000910A9B5A460B9948468D4DA847834688 -S2140138A0464613E131780436ABE7F11D21F00701F6 -S2140138B001F10806089307950697002304920593DD -S2140138C00293D1E90023CDE900230A9B5A460B99BE -S2140138D04846804DA8478346F8E006F1040805935C -S2140138E004950397029200230193336800930A9B81 -S2140138F05A460B994846764DA84783464646E5E024 -S21401390031780436D4E011F0020F40F0EA80012D40 -S21401391040F203810BF1FF372F444FF020085A463F -S214013920551C0A9B0B994046C8472A46BD42F7D10B -S214013930371D05F1010B0A9B2A460B993078C847BB -S2140139403E46013416E60C9EBB46FAE7331D0E933F -S21401395033681A460C93002F14BF3B464FF0FF33D3 -S2140139601078002800F0DB8012F8016F0EB1013BE1 -S214013970FAD10C9BD31A0D9311F4806A03D0BB4283 -S21401398028BF3B460D9311F002030F9340F0CE8003 -S2140139900D990B4601338D4240F2C38005EB0B08AF -S2140139A0A8EB01085A46561C0A9B0B992020C847CB -S2140139B032464645F7D16B1C0D930C9B18780028B0 -S2140139C000F0B280DDF830803246564609E01F46E8 -S2140139D002F1010B0A9B0B99C84718F8010F30B189 -S2140139E05A46002EF4D07B1E002FF0D193460F9B33 -S2140139F0002B40F09F8001340E9EBBE5351D41F043 -S214013A0021010591082304930397102302930023B1 -S214013A100193336800930A9B5A460B9948462C4EED -S214013A20B047834601342E46A4E50BF101050A9BF7 -S214013A305A460B992520C8470134AB469AE50BF147 -S214013A4001050A9B5A460B99C8470134AB4691E5D6 -S214013A500A9A93452CBF02F1FF325A460A9B0B99EC -S214013A600020C847584611B0BDE8F08F41F020014C -S214013A70102221F00C0311F4806F07D021F00D0302 -S214013A8069283FF4AEAE64283FF4ABAE13F4007F72 -S214013A907FF40BAF13F4807F7FF41FAF13F0400F5A -S214013AA07FF42EAF13F0800F14BF318831680436CF -S214013AB005930495039702920023019300910A9BB4 -S214013AC05A460B994846024DA8478346013451E5AC -S214013AD0193401009D34010011F4806F3CD10A2293 -S214013AE07FE6331D0C930BF101070A9B5A460B998F -S214013AF03078C847012D7FF626AF05EB0B0A4FF04D -S214013B0020083A46561C0A9B0B994046C84732463F -S214013B10B245F7D1AB440C9E13E75D4608E70C9A15 -S214013B2027E70D935E4648E7B34664E75E460028FE -S214013B307FF448AF0D9A95427FF65DAF5D44AD1AAE -S214013B405A46202602F1010B0A9B0B993046C847BC -S214013B505A46AB45F6D14EE721F011030A2240E65C -S214013B6021F011030A223CE6102282E7082280E7B0 -S214013B7002227EE710B582B0009313460A4601463C -S214013B800248034CA04702B010BD00BF4F320100EF -S214013B905935010008B518210448054B9847054BCF -S214013BA000221A7001225A7008BD00BF9C6C0020CA -S214013BB0A1240100B86B0020F0B583B03748384B1C -S214013BC0984710B30446354E364D237D03F0070360 -S214013BD0032B30DD21463046A84704460028F4D1A1 -S214013BE02E48314B98470546304B9847002852D10E -S214013BF02F4B0093E5222F4903202F4CA0472A463E -S214013C0000232E482E498847FEE724482D4B984727 -S214013C100546264B984760B9254B0093D322254984 -S214013C200320254CA0472A460023244824498847D8 -S214013C30FEE75DB91FE021461848234B9847054625 -S214013C401A4B9847D0B1B5B1002CC9D01F4C0126EC -S214013C5026704FF4FA732B600027AF602B7D03228A -S214013C6062F302032B754FF0FF332B61184B984715 -S214013C706860EF60A670284603B0F0BD0C4B009359 -S214013C80DB220C4903200C4CA0472A4600230B4894 -S214013C900B498847FEE7002DD8D1ECE79C6C002045 -S214013CA05125010065250100052501008D2900002B -S214013CB090090200B809020005280100BCB4010001 -S214013CC095290000B9240100BD250100B86B00202C -S214013CD00116010010B5044601460948094B9847EC -S214013CE00122094B1A702046084B9847084B1B685F -S214013CF09C4200D010BD0122034BDA70FAE700BFE8 -S214013D009C6C00203D260100B86B00206D2A010046 -S214013D10686D002010B504464068124B984723682A -S214013D20984201D2002010BD0F4B984760600F4BA0 -S214013D300022DA709A70A3682BB1204698470B4B85 -S214013D40D87800B110BD2369002BC4BF03F1FF333F -S214013D50236123690BB10120F4E72046044B984701 -S214013D60012010BD1916010001160100B86B0020D4 -S214013D70D53C01002DE9F843584B1B79002B40F048 -S214013D80A980564B01221A715B782BB90022534B3E -S214013D901A710120BDE8F883514B98474F4B986044 -S214013DA000261D46DFF84C814E4CDFF850916DE041 -S214013DB02760002609E04C4B9847AB7833BBEB787D -S214013DC023BB2B78002B5FD127602168F1B14046D9 -S214013DD0C84707462068037D13F0070316D08642BE -S214013DE0E6D0052BE7D0002E42D0027D02F0070276 -S214013DF0337D03F007039A42DFDD3B4B98470028EB -S214013E00DBD0AB7813B9EB78002B2FD0334CA068FE -S214013E10364DA847E3680344E3602069A847B0F538 -S214013E20FA7F15D3E268642303FB02F3304AA2FB50 -S214013E300323C3F34713642B9ABFC3F16403DBB2B6 -S214013E400023264C23750023E360254B9847206109 -S214013E504FF0FF32214B9A612648274B984704467C -S214013E60002831D0214F1D4E224D1DE026680DE061 -S214013E701D4B98470028A0D0AB78002BC6D1EB7815 -S214013E80002BC3D1266801E000262E700023EB70BC -S214013E90AB704046184B9847206096E72146284667 -S214013EA0164B9847044678B1237D13F0070FF5D0DB -S214013EB06068B8472368984234BF1B1A0023B2696A -S214013EC09A4288BFB361E9E7044B00221A719869E8 -S214013ED0BDE8F8830120BDE8F88300BFB86B002079 -S214013EE001160100686D0020153D0100191601003C -S214013EF0D34D62109C6C0020512501006525010000 -S214013F002DE9F843037D03F007038B4231D00D46BC -S214013F10884681461848194B9847044618B3037DCE -S214013F2003F007039D420BDA134F154E2146384620 -S214013F30B0470446B8B1237D03F007039D42F5DB85 -S214013F40A14505D0224649460B480E4B984754B129 -S214013F5001220D4B1A7099F8143068F3020389F8A0 -S214013F601430BDE8F883002249460348054B9847BC -S214013F70EEE7BDE8F88300BF9C6C002051250100E8 -S214013F80652501003D270100B86B00202DE9F041B1 -S214013F9082B080460F4616461D46104B984704468B -S214013FA00F4B984760B13CB1C4F808802760314692 -S214013FB020460C4B9847E560204602B0BDE8F081EC -S214013FC0094B00934FF4837208490320084DA84714 -S214013FD022460023074808498847FEE7B93B010007 -S214013FE08D290000013F0100A8090200B80902005E -S214013FF005280100BCB401009529000010B504464F -S214014000034B98472368DB430344636010BD00BF3E -S21401401001160100037813F0800F01D101207047CB -S21401402003F0E002C02A0AD003F0F002E02A08D02A -S21401403003F0F803F02B0CBF042000207047022089 -S2140140407047032070477F2816D982B0B0F5006FFD -S21401405013D2C0F3841363F03F038DF8043000F0ED -S2140140603F0060F07F008DF8050000238DF80630D4 -S2140140708DF80730019802B07047B0F5803F15D231 -S214014080C0F3033363F01F038DF80430C0F38513C8 -S21401409063F07F038DF8053000F03F0060F07F008D -S2140140A08DF8060000238DF80730E3E7B0F5881F8A -S2140140B0E0D2C0F3824363F00F038DF80430C0F3FF -S2140140C0053363F07F038DF80530C0F3851363F085 -S2140140D07F038DF8063000F03F0060F07F008DF81A -S2140140E00700C7E782B0019010F0800F17D09DF847 -S2140140F004309DF80520120402EB03629DF8063099 -S21401410002EB03229DF807301A44042312F0FF0F36 -S21401411008BF120A013B13F0FF03F7D10192019881 -S21401412002B0704770B483B0002301930C4651B1BE -S2140141302268835C13F0800F07D118460132226093 -S21401414003B070BC704701ACF2E703F0E001C02990 -S2140141500BD003F0F001E02919D003F0F801F029A3 -S21401416033D0013222600020EAE7511C2160405C16 -S21401417000F0C001802901D00020E1E79B0103F493 -S214014180F86300F03F00184402322260D8E7511C61 -S2140141902160415C01F0C005802D01D00020CFE7F1 -S2140141A0951C2560405D00F0C005802D01D00020E3 -S2140141B0C6E71B039BB200F03F000344880100F4EE -S2140141C07C60184403322260BAE7511C2160415CCE -S2140141D001F0C005802D01D00020B1E7951C2560B7 -S2140141E0455D05F0C006802E01D00020A8E7D61C4C -S2140141F02660865D06F0C000802801D000209FE77B -S2140142009B0403F4E013090301F47C300343A80183 -S21401421000F47C6006F03F06304418440432226005 -S2140142208EE70000F0B583B006460D460B68013BED -S2140142300B6004240E4F05E001382860631E13F05E -S214014240FF0408D0286830443B68984728B9286896 -S2140142500028F1D109E0002007E02B6802A941F807 -S214014260043D034B5B683046984703B0F0BD00BF82 -S214014270540000202DE9F0410E4691B10746002476 -S2140142802546DFF824803819D8F8003098470028EA -S21401429008BF012004440135AE42F4D12046BDE8F2 -S2140142A0F0810C46FAE700BF54000020F0B583B059 -S2140142B0002301930D4669B106461C46064F01A927 -S2140142C030467B6898470134019BAB42F7D32046C2 -S2140142D003B0F0BD0C46FAE75400002070B582B07A -S2140142E000230193037873B104460025074E01A904 -S2140142F02046736898470135019BE35C002BF6D195 -S214014300284602B070BD0025FAE700BF5400002021 -S214014310232904D00378012B15D000207047037899 -S2140143201BB90123037018467047012B03D0022BDB -S21401433005D00020704700230370184670470023FD -S214014340037001207047202903D102230370012046 -S21401435070470120704700002DE9F04F91B005919C -S214014360069207939DF8683004930890002800F0A1 -S214014370F080002900F0EF8013F0120F17D00378B9 -S2140143800A2B00F0EA800D2B00F0ED80002B00F0E8 -S214014390EC8001460022013211F8013F0A2B00F0A1 -S2140143A0DD800D2B00F0DA80002BF4D1D7E0049BE2 -S2140143B003F002031A460B9347F618430799002A9F -S2140143C018BF1946079100238DF83F300E93DFF88A -S2140143D0AC91DFF8ACA178E0019A21460598644BD0 -S2140143E098470544ADB200B2002802DD069B1D4485 -S2140143F0ADB22DB2B7F1FF3F38D0A4F10A02162AAA -S2140144003BD85C4BD34013F0010F39D101232C224A -S214014410944235D00133DBB21AF80320002AF7D1D3 -S214014420B7F1FF3F08BFAB460C9E0D9B0C93039B59 -S2140144300293019C18F80630002B6ED0D9F8043090 -S2140144400DA9404698470190029B01330393049BB4 -S21401445013F0010FC0D021460DF13F00464B98479F -S2140144600028B9D00C9E0D9B0C93E0E7069BEB1A37 -S214014470099A9342C8BF3746BFE701232C22C7E7F4 -S214014480002E4AD1B7F1FF3F4AD1AB46029B23B17A -S2140144900D2C03D1019B0A2B00D10C9EB6B2079BB3 -S2140144A0A3EB0B0B0FFA8BF30793002E3AD00E9F5C -S2140144B03E440E96089A13780A2B3FD00D2B3DD01A -S2140144C0935D0A2B38D00D2B36D00E9B0A93089994 -S2140144D001EB0308CB5C002B30D0079B002B2DDDB6 -S2140144E0B8F1000F1ED047F61843079A0B9900291A -S2140144F008BF1346099300260C960D96D9F804308A -S2140145000CA94046984704460C9B0D93B3464FF0C2 -S214014510FF370296354601968CE7B7F1FF3FB5D0D7 -S2140145200A9B3BB10E9B5BB9144B5B680EA90898BE -S214014530984703E0BEB2B2E701360E960E9B13B162 -S214014540BDF838000CE00D4B5B680EA9089898473B -S214014550F6E7002004E0002002E00022013290B2DB -S21401456011B0BDE8F08F0022F8E70022F7E700BFA0 -S2140145700906010009004000114301005400002013 -S214014580F80902002DE9F04F85B0002840D0054615 -S214014590002A3FD0002003908DF80B0049B19B46BE -S2140145A00192894600241C4F9DF838A00AF0010AA2 -S2140145B00CE0044628E0424631460198174B9847DE -S2140145C003B2002B02DD5C44044424B2039B9945EC -S2140145D015D97B6803A92846984706467B680021BB -S2140145E00398284498478046BAF1000FE3D0314635 -S2140145F00DF10B000A4B98470028E7D1DBE7002CAA -S21401460002DDA4EB0B0424B2204605B0BDE8F08F12 -S2140146100024F9E70024F7E754000020090601000A -S214014620114301002DE9F04F89B0BDF948400694C9 -S214014630BDF94C509DF85080002404804480002928 -S2140146405BD00F46002A58D00393114602920446C7 -S21401465008F0020347F61842002B18BF15460495CA -S214014660B1F9082007921FFA82FA3B78002B4CD04A -S2140146703E460025DFF8B0B0069B9A441FFA8AF939 -S2140146804746B0460097049B039A02993046D8479E -S2140146900544B4F902300AEB0302B2F5004F24D206 -S2140146A0CDF814904B4463800097039B029A014611 -S2140146B03046184EB047B4F900309842B8BF184695 -S2140146C0208008EB050618F80530002BDAD12DB14D -S2140146D016F8013C0A2B13D00D2B11D0B4F9023079 -S2140146E09BB1069A9B1A638007E00B4B00930B4B1A -S2140146F071220B4902200B4CA04709B0BDE8F08F90 -S2140147006388059A1A446280E8E7BDF81C30638026 -S214014710F3E700BF85450100280A0200E40902000C -S214014720000A020005280100594301002DE9F0475F -S21401473081468A461F46DDF82080144632B900209D -S214014740BDE8F087002814DA2C467CB1650807FB23 -S21401475005A631464846C0470028F3DD84F001042B -S21401476004F001042C1B06EB070AEEE70020BDE867 -S214014770F0873046BDE8F087014B1860704700BFF0 -S214014780D46B0020014B1B68D8687047D46B00209F -S21401479008B5024B1B681B68984708BDD46B002000 -S2140147A02DE9F84304460139272934D8DFE811F00A -S2140147B028003900EC00A10053006000A303D800D4 -S2140147C04401B2024600CC037302FE03DC00E000A3 -S2140147D08100E4009301E80047026602E3036A01F0 -S2140147E07C013F02A00123021F017503910308010A -S2140147F0B800E002C901F4014703040212033A03B8 -S21401480000219B4B9847002120469A4B98479A4B8C -S21401481019689A4B9847FF212046994B9847BDE85F -S214014820F8830021924B984700212046914B9847E8 -S214014830914B19680431914B9847ECE700218C4B5A -S2140148409847002120468B4B98478B4B19680431BB -S2140148508A4B9847DFE70021854B98470021204681 -S214014860844B9847844B19681031844B9847D2E79C -S2140148700021DFF8FC81C047002120467D4FB84764 -S21401488081467D4E316804317C4DA8473168183128 -S2140148904846A84701212046C04701212046B8477F -S2140148A0074631680431A847316808313846A847B9 -S2140148B0B1E70021DFF8B881C047002120466D4FDF -S2140148C0B84781466C4E31686C4DA84731686831EF -S2140148D04846A84701212046C04701212046B8473F -S2140148E0074631680431A847316808313846A84779 -S2140148F091E70021DFF87881C047002120465D4F0F -S214014900B8475D4E316824315C4DA84701212046E9 -S214014910C04701212046B84731682831A8477AE7C1 -S2140149200021DFF84C81C04700212046514FB8478F -S214014930514E31682431514DA84701212046C047C8 -S21401494001212046B84731682831A8470221204670 -S214014950C04702212046B84731689C31A8475AE72C -S2140149600021434B984756E70021414B984752E7B1 -S21401497000213F4B98474EE700213D4B98474AE7B9 -S21401498000213B4B984746E70021DFF8E480C0470B -S21401499000212046374FB8478146374E31680431EB -S2140149A0364DA847316820314846A84701212046A0 -S2140149B0C04701212046B84731681C31A8472AE77D -S2140149C00021DFF8AC80C04700212046294FB847B8 -S2140149D0294E31682031294DA84701212046C0477C -S2140149E001212046B84731681C31A84713E700214A -S2140149F0DFF87C80C047002120461E4FB84781461D -S214014A001D4E316824311D4DA84731689431484602 -S214014A10A84701212046C04701212046B8473168F2 -S214014A202831A84702212046C04702212046B84720 -S214014A3031689031A847EEE60021DFF83480C047A0 -S214014A40002120460B4FB8470B4E31684C310B4DB9 -S214014A50A84740212046C04740212046B847074680 -S214014A6031681031A847316850313846A847D2E638 -S214014A705537000085360000D86B0020816B00009A -S214014A802141000000219F4B9847002120469E4B64 -S214014A90984707469D4E316804319D4DA8473168B9 -S214014AA07C313846A847B6E64021DFF85882C04731 -S214014AB040212046944FB847944E31681831944DA2 -S214014AC0A84741212046C04741212046B8473168C2 -S214014AD01031A8479FE600218A4B984700212046BF -S214014AE0894B9847894B19686C31894B984792E6F0 -S214014AF00021DFF81082C04700212046824FB847C8 -S214014B00824E31680431824DA84740212046C04775 -S214014B1040212046B84731681431A8470121204674 -S214014B20C04701212046B84731688031A847022195 -S214014B302046C04702212046B84731688431A8473D -S214014B4069E600216F4DA84700212046DFF8B881AD -S214014B50C0476E4F39686E4EB04740212046A84781 -S214014B6041212046A84741212046C0473968A8313F -S214014B70B04743212046A84743212046C04739680D -S214014B80AC31B04742212046A84742212046C047C3 -S214014B903968A431B0473EE600215A4DA847402166 -S214014BA02046A84740212046574B9847574B19683F -S214014BB0B031574B98472EE60021DFF84881C047B1 -S214014BC000212046504FB847504E3168504DA847F7 -S214014BD001212046C04701212046B847316880316F -S214014BE0A84702212046C04702212046B84731681F -S214014BF08431A8470FE60021DFF80881C04700216D -S214014C002046414FB8478146404E31680431404DF9 -S214014C10A847316888314846A84703212046C0473F -S214014C2003212046B84731688C31A847F3E50021B7 -S214014C30344B984700212046334B9847EBE500213B -S214014C40304FB84700212046DFF8BC80C047814678 -S214014C502E4E316804312E4DA847316874314846CE -S214014C60A84740212046B84701212046B8470121E0 -S214014C702046C04731688031A847CCE50021214B4A -S214014C80984700212046204B9847204B19687831D9 -S214014C901F4B9847BFE50021DFF86880C047002119 -S214014CA02046194FB8478146184E31680431184DD1 -S214014CB0A847316808314846A84731681831484640 -S214014CC0A84740212046C04740212046B847814694 -S214014CD031680431A847316854314846A847412114 -S214014CE02046C04741212046B84731688031A84751 -S214014CF042212046C04742212046B84731685831F4 -S214014D00A84788E55537000085360000D86B002097 -S214014D10816B00000021DFF89082C0470021204609 -S214014D209E4FB84781469E4E316804319D4DA84737 -S214014D30316840314846A847316818314846A84787 -S214014D4001212046C04701212046B84781463168E7 -S214014D501831A847316844314846A8470221204601 -S214014D60C04702212046B84731684831A84752E576 -S214014D700021DFF83482C04700212046874FB8471C -S214014D80874E31680431874DA84701212046C04728 -S214014D9001212046B8473168A031A84702212046A4 -S214014DA0C04702212046B8473168A031A8470321F1 -S214014DB02046C04703212046B8473168A031A8479E -S214014DC004212046C04704212046B8473168A03157 -S214014DD0A84720E50021DFF8D081C0470021204602 -S214014DE06E4FB8476E4E31686E4DA8474221204639 -S214014DF0C04742212046B84731688031A847412143 -S214014E002046C04741212046B8473168B031A847FF -S214014E1040212046C04740212046B8473168A83186 -S214014E20A847F8E40021604B9847002120465B4BD9 -S214014E3098475B4B1968A4315A4B9847EBE400211D -S214014E40DFF86481C04700212046544FB8478146A9 -S214014E50534E31680431534DA847316818314846DE -S214014E60A84704212046C04704212046B847316898 -S214014E70B831A84703212046C04703212046B8473A -S214014E803168B431A84701212046C0470121204698 -S214014E90B84731688031A847BDE40021DFF80881B2 -S214014EA0C047002120463D4FB84781463C4E3168F9 -S214014EB004313C4DA847316818314846A8470321BC -S214014EC02046C04703212046B84731689831A84795 -S214014ED0A1E40021344B9847002120462F4B9847E8 -S214014EE007462F4E316804312E4DA84731680831E8 -S214014EF03846A8478FE40021DFF8AC80C047002180 -S214014F002046264FB847264E31680431254DA8471E -S214014F1003212046C04703212046B84731682C317B -S214014F20A84701212046C04701212046B8473168DD -S214014F303031A84702212046C04702212046B84703 -S214014F4031683431A84766E40021DFF85C80C04749 -S214014F5000212046114FB847114E31683831114DA6 -S214014F60A84701212046C04701212046B84731689D -S214014F703C31A8474FE400210B4B984700212046BF -S214014F80064B98470746064E31680431054DA8473B -S214014F90316870313846A8473DE400BF85360000C9 -S214014FA0D86B0020816B0000553700000021DFF828 -S214014FB05480C047002120460F4FB84781460F4E08 -S214014FC0316804310E4DA84731685C314846A84720 -S214014FD001212046C04701212046B847316860318B -S214014FE0A84702212046C04702212046B84731681B -S214014FF06431A8470FE400BF85360000D86B002057 -S214015000816B00005537000008B5044B1B7913B9B6 -S214015010034B984708BD034B984708BDD86B002043 -S214015020816A00000D6D000070B5B34C2068B34B6B -S2140150309847FF222C212068B14B9847236A13F02A -S214015040020314BF1D210821002B15BF3B2012208F -S2140150501E230B234FF0000263F3040260F34A128F -S21401506061F3CF2229212068A64B98472046236A60 -S21401507013F0020314BF07211C21002B15BF0F24B8 -S2140150803A2408231D234FF0000263F3040264F35D -S2140150904A1261F3CF2248F289010068994B98477A -S2140150A09548036A13F0020314BF07211C21002B45 -S2140150B015BF0F243A2408231D234FF0000263F383 -S2140150C0040264F34A1261F3CF22792100688D4B02 -S2140150D09847894C626948F28E0120688A4DA84734 -S2140150E062697E212068A84720680430834B984770 -S2140150F0246804340020854B98470A30C000B0F578 -S214015100A07F80F24686012201212046804B9847E7 -S214015110794C2068FF222C210430794B984720686F -S2140151200430236A13F0020F40F041860B23182146 -S2140151300E244FF0000264F3040261F34A1263F393 -S214015140CF2229216F4B98476B4B18681B6A13F0C7 -S214015150020314BF1A211021002B15BF3724222465 -S2140151601C2312234FF0000263F3040264F34A1275 -S21401517061F3CF2239210430624DA8475E4C206886 -S214015180A28940F239210430A8472068E28940F21A -S21401519039410430A8472468043400205B4B984703 -S2140151A028304000B0F5A07F80F20686012230212B -S2140151B02046574DA847504C206801223321043021 -S2140151C0A8472068626948F28E0104304E4B984722 -S2140151D020680430236A13F0020F40F0FB851F237A -S2140151E03F211C464FF0000264F3040261F34A12A9 -S2140151F063F3CF2248F28901424B98473E4C206820 -S21401520062697E210430404B984720680430236A47 -S21401521013F0020F40F0E3851F233F211C464FF099 -S214015220000264F3040261F34A1263F3CF22792188 -S214015230344B9847304B186804301B6A13F0020F42 -S21401524040F0D2851F233F211C464FF0000264F335 -S214015250040261F34A1263F3CF2248F2A901294BF3 -S2140152609847254B186804301B6A13F0020F40F06C -S214015270C0851F233F211C464FF0000264F3040241 -S21401528061F34A1263F3CF2299211E4B98471A4CB9 -S21401529020680122902104301D4B9847256804356B -S2140152A000201C4B9847012840F2A8850020174B88 -S2140152B09847C0EB001040005030B0F5A07F80F258 -S2140152C0B88501240020114B984728304000B0F5DE -S2140152D0A07F80F2BE850122224412B21221284606 -S2140152E00B4B9847044B1D6804350020094B984723 -S2140152F0012840F2BC850FE0D86B00200950010060 -S21401530011710000CD6F000041720000E51401002C -S214015310896E0000011501000020B14B9847C0EBD3 -S214015320001040005030B0F5A07F80F2BB8501240C -S2140153300020AB4B984728304000B0F5A07F80F2A4 -S214015340C1850122224412B213212846A54B984753 -S214015350A54B1D6804350020A44B9847012840F250 -S214015360BF8500209E4B9847C0EB00104000503090 -S214015370B0F5A07F80F2CF8501240020984B984796 -S21401538028304000B0F5A07F80F2D5850122224466 -S21401539012B210212846934B9847934B1D6804354B -S2140153A00020924B9847012840F2D38500208C4B71 -S2140153B09847C0EB001040005030B0F5A07F80F257 -S2140153C0F48501240020864B984728304000B0F52C -S2140153D0A07F80F2FA850122224412B211212846CA -S2140153E0804B9847804B1C68043400207F4B9847BD -S2140153F0012840F2F8850020794B9847C0EB001051 -S21401540040005030B0F5A07F80F2088601221421BA -S2140154102046744DA847744C20689622B02104306B -S214015420A84720683922B7210430A84720680C30E5 -S2140154306F4B98472068011D0C306E4B98472068CB -S214015440236A13F0020314BF1A210821002B15BF8B -S214015450352412241B2309234FF0000263F30402B0 -S21401546064F34A1261F3CF2229210C30624B98472C -S2140154705D4B18680C301B6A13F0020F40F0DE8596 -S214015480082310211C464FF0000264F3040261F366 -S2140154904A1263F3CF223921574B9847524B18686B -S2140154A01B6A13F0020314BF06211421002B15BF3B -S2140154B010242A24092315234FF0000263F3040263 -S2140154C064F34A1261F3CF2248F289010C304A4B49 -S2140154D09847454B18681B6A13F0020314BF062150 -S2140154E01421002B15BF10242A24092315234FF05D -S2140154F0000263F3040264F34A1261F3CF227921B6 -S2140155000C303D4B9847384B18681B6A13F0020362 -S21401551014BF06211421002B15BF10242A240923A9 -S21401552015234FF0000263F3040264F34A1261F399 -S214015530CF2248F2A9010C302F4B98472A4B186806 -S2140155401B6A13F0020314BF06211421002B15BF9A -S21401555010242A24092315234FF0000263F30402C2 -S21401556064F34A1261F3CF2299210C30224B9847FB -S2140155701D4C206808301E4B984720680830236A67 -S21401558013F0020F40F05F85092313210A244FF020 -S214015590000264F3040261F34A1263F3CF2241F27C -S2140155A02901154DA847104C2068A28940F22911FF -S2140155B00830A847266808363321A0890F4B98473C -S2140155C0024641F229113046A84720680830236A6E -S2140155D013F0020F40F03C850B2318210E240FE038 -S2140155E0E5140100896E0000D86B0020011501004A -S2140155F009500100616D0000CD6F0000AB21010074 -S2140156004FF0000264F3040261F34A1263F3CF22FF -S21401561042F22901BB4EB047BB4C206800224FF432 -S21401562098710830B94B9847256808353321A08909 -S214015630B74B9847024641F239212846B0472068C1 -S2140156400830236A13F0020F40F007850B23192157 -S2140156500D244FF0000264F3040261F34A1263F36F -S214015660CF2241F23901A74B9847A74B18681B6A0E -S21401567013F0020314BF07210B21002B15BF0F24C3 -S214015680192408230D234FF0000263F3040264F388 -S2140156904A1261F3CF2240F239110830994B9847EC -S2140156A0994B18681B6A13F0020314BF07210B21DC -S2140156B0002B15BF0F24192408230D234FF00002D9 -S2140156C063F3040264F34A1261F3CF2241F2391103 -S2140156D008308C4B98478C4B18681B6A13F00203F2 -S2140156E014BF1A210B21002B15BF372419241C23A4 -S2140156F00D234FF0000263F3040264F34A1261F3D0 -S214015700CF2242F2390108307E4B98477E4B18680B -S21401571008301B6A13F0020F40F0A4841F233F21B8 -S2140157201C464FF0000264F3040261F34A1263F36D -S214015730CF2249F28901734DA847734C20684FF078 -S214015740FF3248F289110830A84720684FF0FF322F -S21401575049F289110830A8472068236A13F002032A -S21401576014BF2A212621002B14BF152313234FF023 -S214015770000263F3040261F34A1263F3CF224AF292 -S21401578089010830A84720680830236A13F0020F01 -S21401579040F06D841F233F211C464FF0000264F346 -S2140157A0040261F34A1263F3CF2249F2A901554D6F -S2140157B0A847554C20684FF0FF3248F2A91108302F -S2140157C0A84720684FF0FF3249F2A9110830A847D0 -S2140157D02068236A13F0020314BF2A212621002B16 -S2140157E014BF152313234FF0000263F3040261F381 -S2140157F04A1263F3CF224AF2A9010830A84720686B -S2140158002922B6210830414DA84720681030414B67 -S2140158109847206847F6FF7201211030A847206894 -S214015820FF222C2110303C4B984720681030236A09 -S21401583013F0020F40F020840B2318210E244FF0A2 -S214015840000264F3040261F34A1263F3CF222921B2 -S2140158502C4B98472C4B186810301B6A13F0020F1C -S21401586000F00F8428494B7BDB0803EB830303EB33 -S214015870830341F6DA352B4403EB032203EBC21311 -S214015880C3F3C4538A89C2F3451202EB820202EBC8 -S214015890820202F562521A3202EB022402EBC412B1 -S2140158A0C2F3C554097B01F01F0101EB810101EB35 -S2140158B08101294401EB012201EBC211C1F3C4515C -S2140158C04FF0000261F3040264F34A1263F3CF223D -S2140158D041F229010B4DA8470B4C2068A28940F2E2 -S2140158E029111030A847266810364C21A089084B8C -S2140158F09847024641F229113046A84720681030E1 -S214015900236A0BE0CD6F0000D86B0020896E000083 -S214015910AB210100095001001171000013F0020FC4 -S21401592040F0D9830B2318210E244FF0000264F3B4 -S214015930040261F34A1263F3CF2242F22901C64BF5 -S2140159409847C64B18681B6A13F0020314BF33212D -S2140159502221002B14BF192311234FF0000263F3F9 -S214015960040261F34A1263F3CF2242F22911103086 -S214015970B94DA847B94C2068A28939211030A847EB -S2140159802068A28941F239011030A8472068236AAD -S21401599013F0020314BF22211021002B14BF112380 -S2140159A008234FF0000263F3040261F34A1263F323 -S2140159B0CF2242F239011030A84724681034002063 -S2140159C0A74B984728304000B0F5A07F80F2878328 -S2140159D0012230212046A34B9847A04C2068002284 -S2140159E04FF49E711030A04B984720681030236A00 -S2140159F013F0020F40F080831F233F211C464FF017 -S214015A00000264F3040261F34A1263F3CF2248F200 -S214015A108901914B9847914B186810301B6A13F017 -S214015A20020F40F06D831F233F211C464FF00002FA -S214015A3064F3040261F34A1263F3CF2249F2890147 -S214015A40854DA847854C20684FF0FF3248F28911F2 -S214015A501030A84720684FF0FF3249F28911103004 -S214015A60A847206811234FF0000263F304022221A5 -S214015A7061F34A1263F3CF224AF289011030A84734 -S214015A8020681030236A13F0020F40F03D831F2375 -S214015A903F211C464FF0000264F3040261F34A12F0 -S214015AA063F3CF2248F2A9016B4B98476B4B1868FA -S214015AB010301B6A13F0020F40F02A831F233F2188 -S214015AC01C464FF0000264F3040261F34A1263F3CA -S214015AD0CF2249F2A901604DA847604C20684FF0DB -S214015AE0FF3249F2A9011030A84720684FF0FF3273 -S214015AF049F2A9111030A847206811234FF000027F -S214015B0063F30402222161F34A1263F3CF224AF2BD -S214015B10A9011030A84720681030236A13F0020F3D -S214015B2040F0FA821F233F211C464FF0000264F327 -S214015B30040261F34A1263F3CF227921464B984758 -S214015B40464B186810301B6A13F0020F40F0E882CB -S214015B501F233F211C464FF0000264F3040261F349 -S214015B604A1263F3CF2241F279013B4DA8473B4CE1 -S214015B7020684FF0FF3240F279111030A8472068B4 -S214015B804FF0FF3241F279111030A84720681123F7 -S214015B904FF0000263F30402222161F34A1263F319 -S214015BA0CF2242F279011030A84724681034002031 -S214015BB02B4B984700EB8000C0005030B0F5A07F1B -S214015BC080F2B282012212212046264B9847234BAF -S214015BD01C6810340020224B984700EB8000C00060 -S214015BE05030B0F5A07F80F2AE820122132120460C -S214015BF01C4B9847194B1C6810340020184B9847CB -S214015C00C0EB00105030B0F5A07F80F2AB820122CD -S214015C1010212046134B9847104B1C681034002067 -S214015C200F4B9847C0EB00105030B0F5A07F80F2C4 -S214015C30A7820122112120460A4B9847074B1C6870 -S214015C4010340020064B984700EB8000800050304F -S214015C50B0F5A07F0AE000BFCD6F0000D86B002032 -S214015C60E5140100896E00001171000080F2968231 -S214015C70012214212046BD4DA847BD4C20680322B1 -S214015C8040211030A847206800224C211030B94E20 -S214015C90B04720687F224FF413711030B047206858 -S214015CA0A28949211030B44EB0472068E28940F2FB -S214015CB049411030B04720689622B0211030A847DD -S214015CC020683C22B5211030A84720682922B62139 -S214015CD01030A84720684C22B7211030A84720680A -S214015CE09622B1211030A8472068002241F2B10166 -S214015CF01030A84720681430A04B98472468143405 -S214015D0000209F4B9847322800F2668200209D4B68 -S214015D10984700EB800080005030B0F5A07F80F2FD -S214015D204C82012214212046904B9847904B1868CC -S214015D301830924B98470020914B9847322800F232 -S214015D40758200208F4B984700EB80004000503052 -S214015D50B0F5A07F80F25B820124854E3068224632 -S214015D6012211830814DA847306822461321183079 -S214015D70A8473068224610211830A84730682246C6 -S214015D8011211830A8473068224614211830A84738 -S214015D9070BD00207B4B98470A30C0007A4B83FBCE -S214015DA00023C217C2EBA31212B2FFF7ADB91F232D -S214015DB03F211C46FFF7BDB90020724B984728309B -S214015DC04000714B83FB0023C217C2EBA31212B231 -S214015DD0FFF7EDB907230F210824FFF703BA0723BE -S214015DE00F210824FFF71BBA07230F210824FFF70A -S214015DF02CBA07230F210824FFF73EBA0020614B77 -S214015E009847C0EB00105030B0F5A07F02DA0124AD -S214015E10FFF758BA00205B4B9847C0EB0010503094 -S214015E20594A82FB0032C417C4EBA214A4B2FFF78E -S214015E3049BA0020534B9847C0EB00104000503041 -S214015E40514A82FB0032C417C4EBA214A4B2FFF776 -S214015E5039BA00204B4B9847283040004A4B83FB09 -S214015E600023C217C2EBA31292B2FFF735BA002085 -S214015E70444B9847C0EB00105030B0F5A07F02DAD3 -S214015E800124FFF755BA00203E4B9847C0EB00109F -S214015E9050303D4A82FB0032C417C4EBA214A4B2B0 -S214015EA0FFF746BA0020374B9847C0EB001040007A -S214015EB05030354A82FB0032C417C4EBA214A4B298 -S214015EC0FFF736BA00202F4B9847283040002E4B5C -S214015ED083FB0023C217C2EBA31292B2FFF732BABA -S214015EE00020284B9847C0EB00105030B0F5A07F3B -S214015EF002DA0124FFF741BA0020224B9847C0EB93 -S214015F0000105030204A82FB0032C417C4EBA214A2 -S214015F10A4B2FFF732BA00201A4B9847C0EB001024 -S214015F2040005030184A82FB0032C417C4EBA2145A -S214015F30A4B2FFF722BA0020124B9847283040003F -S214015F40114B83FB0023C217C2EBA31292B2FFF7D9 -S214015F501EBA00200B4B9847C0EB00105030B0F52E -S214015F60A07F13DA0124FFF72DBA00BF896E000067 -S214015F70D86B002011710000CD6F000009500100A0 -S214015F8001150100E5140100676666660020B54B41 -S214015F909847C0EB00105030B34A82FB0032C4175A -S214015FA0C4EBA214A4B2FFF70DBA0020AD4B98477C -S214015FB0C0EB001040005030AB4A82FB0032C417E1 -S214015FC0C4EBA214A4B2FFF7FDB90020A54B984775 -S214015FD028304000A44B83FB0023C217C2EBA31258 -S214015FE092B2FFF7F9B900209E4B9847C0EB00101C -S214015FF05030B0F5A07F02DA0122FFF708BA002080 -S214016000984B9847C0EB00105030974B83FB00230A -S214016010C217C2EBA31212B2FFF7F9B90020914BD7 -S2140160209847C0EB0010400050308F4B83FB002395 -S214016030C217C2EBA31212B2FFF7E9B91B2339212B -S2140160401D24FFF720BA1D233B211C46FFF79FBAEC -S2140160501F233F211C46FFF7D3BA192333211C46C1 -S214016060FFF7F7BA07230F210824FFF75ABB0723C8 -S2140160700F210824FFF791BB1F233F211C46FFF782 -S214016080DEBB7A4D6B7BDB084C2101FB03F303F28D -S214016090B17303EB032203EBC213C3F3C453AC89FE -S2140160A0C4F3451441F2C80201FB042404EB0422A4 -S2140160B004EBC214C4F3C5542A7B02F01F0201FB91 -S2140160C002F101F6CA1101EB012201EBC211C1F383 -S2140160D0C451FFF7F5BB1F233F211C4625E40020D2 -S2140160E0604B9847283040005F4B83FB0023C21764 -S2140160F0C2EBA31212B26CE40623102109247EE43B -S21401610006231021092491E4062310210924C1E461 -S214016110062310210924D4E406231021092404E5CA -S21401612006231021092416E500204E4B984700EB64 -S2140161308000C00050304C4B83FB0023C217C2EBDB -S214016140A31212B23FE50020464B984700EB8000B1 -S214016150C0005030444B83FB0023C217C2EBA3128E -S21401616012B243E500203F4B9847C0EB0010503079 -S2140161703D4B83FB0023C217C2EBA31212B247E5C5 -S2140161800020384B9847C0EB00105030364B83FB4D -S2140161900023C217C2EBA31212B24BE50020314B0B -S2140161A0984700EB8000800050302F4B83FB002384 -S2140161B0C217C2EBA31212B25BE50020294B984727 -S2140161C000EB800080005030274B83FB0023C21772 -S2140161D0C2EBA31212B2A5E50020224B984700EBB2 -S2140161E08000C0005030B0F5A07F01DA012299E5A9 -S2140161F000201C4B984700EB8000C00050301A4B23 -S21401620083FB0023C217C2EBA31212B28AE5002059 -S214016210144B984700EB800040005030124B83FB34 -S2140162200023C417C4EBA31424B296E500200D4B3B -S214016230984700EB800080005030B0F5A07F01DA6F -S21401624001248AE50020074B984700EB8000800078 -S2140162505030054B83FB0023C417C4EBA31424B2B0 -S2140162607BE500BFE514010067666666D86B002013 -S214016270F8B5544C20682430534B9847206847F6AD -S214016280FF7201212430514B98472068FF222C21B0 -S21401629024304F4B98472068236A13F0020314BF3B -S2140162A01A210821002B15BF352412241B2309238C -S2140162B04FF0000263F3040264F34A1261F3CF2243 -S2140162C029212430434B98473E4B186824301B6ADB -S2140162D013F0020F6DD11F233F211C464FF0000221 -S2140162E064F3040261F34A1263F3CF227921394D34 -S2140162F0A847344C2068A28949212430A847206841 -S214016300E28940F249412430A847206800224C2106 -S21401631024302F4FB84720687F224FF41371243062 -S214016320B8472068032240212430284EB047206811 -S2140163309622B0212430B04720684C22B721243061 -S214016340B04720682830204B98472068FF222C2130 -S2140163502830B847206847F6FF7201212830B04739 -S2140163602068A28929212830A847206811234FF0E8 -S214016370000263F30402222161F34A1263F3CF227F -S21401638042F229012830A84720682830236A13F0F2 -S214016390020F12D11F233F211C464FF0000264F367 -S2140163A0040261F34A1263F3CF227921094B98471D -S2140163B0F8BD06231021092490E70823102109249B -S2140163C0EBE700BFD86B002009500100896E000082 -S2140163D011710000CD6F000010B5A04C2068903000 -S2140163E09F4B98472068FF222C2190309D4B984761 -S2140163F020689030236A13F0020F19BF23469A894A -S214016400994B1A882921994B9847944B18689030D4 -S2140164101B6A13F0020F40F0A9801F233F211C4680 -S2140164204FF0000264F3040261F34A1263F3CF22D1 -S21401643079218E4B9847894C206847F6FF720121D7 -S21401644090308B4B9847246890340020894B9847AE -S214016450C0EBC0005030B0F5A07F80F28B800122E7 -S21401646012212046824B98477C4B1C6890340020B2 -S214016470804B9847C0EBC0005030B0F5A07F80F24B -S2140164808780012213212046794B9847734B1C685D -S21401649090340020774B9847C0EBC0005030B0F5E1 -S2140164A0A07F80F28380012210212046704B9847FE -S2140164B06A4B1C68903400206E4B9847C0EBC000B6 -S2140164C05030B0F5A07F7FDA012211212046684BBB -S2140164D09847624C20689430614B984724689434FE -S2140164E00020644B984700EB800040005030B0F528 -S2140164F0A07F77DA0122172120465D4B9847574B3C -S2140165001C68943400205B4B984700EB80004000E9 -S2140165105030B0F5A07F74DA012218212046544B82 -S21401652098474E4B1C6894340020524B984700EB1A -S214016530800040005030B0F5A07F71DA01221521AD -S21401654020464B4B9847454B1C6894340020494BDA -S214016550984700EB800040005030B0F5A07F6EDA1F -S214016560012216212046424B984710BD06231021D2 -S214016570092455E700203F4B9847C0EBC000503038 -S2140165803D4B83FB0023C217C2EBA31212B267E78F -S2140165900020384B9847C0EBC0005030364B83FB89 -S2140165A00023C217C2EBA31212B26BE70020314BD5 -S2140165B09847C0EBC00050302F4B83FB0023C21717 -S2140165C0C2EBA31212B26FE700202A4B9847C0EB2A -S2140165D0C0005030284B83FB0023C217C2EBA31226 -S2140165E012B272E70020234B984700EB8000400070 -S2140165F05030214B83FB0023C217C2EBA31212B209 -S21401660079E700201B4B984700EB80004000503094 -S214016610194B83FB0023C217C2EBA31212B27CE70D -S2140166200020144B984700EB800040005030124B7E -S21401663083FB0023C217C2EBA31212B27FE700202E -S2140166400C4B984700EB8000400050300A4B83FB10 -S2140166500023C217C2EBA31212B282E7D86B002046 -S2140166600950010011710000680A0200CD6F000098 -S214016670896E0000E51401006766666610B5484C31 -S21401668020689C30474B98472068FF222C219C307D -S214016690454B98472068454B1A8829219C30444B26 -S2140166A09847206847F6FF7201219C30414B984776 -S2140166B024689C340020404B984714308000B0F585 -S2140166C0A07F39DA4FF0FF3210212046394B984728 -S2140166D0334B1C689C340020374B9847143080009D -S2140166E0B0F5A07F35DA4FF0FF3211212046314B4D -S2140166F098472B4B1C689C3400202F4B984714302E -S2140167008000B0F5A07F31DA4FF0FF32122120462B -S214016710284B9847224B1C689C340020264B9847F0 -S21401672014308000B0F5A07F2DDA4FF0FF32132130 -S2140167302046204B984710BD00201F4B9847143029 -S21401674080001E4B83FB0023C217A2EBA31212B2DA -S214016750BAE70020184B984714308000174B83FB8C -S2140167600023C217A2EBA31212B2BEE70020124BFF -S214016770984714308000114B83FB0023C217A2EB0D -S214016780A31212B2C2E700200B4B984714308000C8 -S2140167900A4B83FB0023C217A2EBA31212B2C6E771 -S2140167A0D86B00200950010011710000680A020030 -S2140167B0CD6F0000896E0000E5140100676666660D -S2140167C038B5884C20687030874B9847206847F664 -S2140167D0FF7201217030854B984724687034002081 -S2140167E0834B984700EB800080005030B0F5A07FC7 -S2140167F080F28E800122122120467C4B9847794BED -S2140168001C68703400207A4B984700EB80008000AB -S2140168105030B0F5A07F80F28A80012213212046F5 -S214016820724B98476F4B1C6870340020704B98472A -S21401683000EB800080005030B0F5A07F80F28680AB -S214016840012210212046694B9847664B1C6870341C -S2140168500020674B9847C0EB001040005030B0F561 -S214016860A07F80F282800122142120465F4B984748 -S2140168705C4B1C68703400205D4B984700EB800031 -S21401688000EB80005030B0F5A07F7DDA0122C021F8 -S2140168902046564B9847534C2068A2899921703060 -S2140168A0544DA8472068A289C9217030A84720689E -S2140168B011234FF0000263F30402222161F34A120E -S2140168C063F3CF22CA217030A847246870340020B1 -S2140168D0474B984700EB800040005030B0F5A07F52 -S2140168E062DA012290212046404B98473D4B1C68B6 -S2140168F0703400203E4B9847C0EBC0005030B0F5D6 -S214016900A07F60DA0122C3212046384B984738BD64 -S2140169100020374B984700EB800080005030364B04 -S21401692083FB0023C217C2EBA31212B263E7002057 -S2140169302F4B984700EB8000800050302E4B83FB96 -S2140169400023C217C2EBA31212B267E70020284B3E -S214016950984700EB800080005030274B83FB0023D4 -S214016960C217C2EBA31212B26BE70020204B984766 -S214016970C0EB0010400050301F4B83FB0023C217B2 -S214016980C2EBA31212B26FE70020194B984700EB37 -S214016990800000EB80005030174B83FB0023C217AA -S2140169A0C2EBA31212B272E70020114B984700EB1C -S2140169B0800040005030104B83FB0023C217C2EB0F -S2140169C0A31212B28EE70020094B9847C0EBC00015 -S2140169D05030094B83FB0023C217C2EBA31212B23D -S2140169E091E700BFD86B002009500100896E0000B6 -S2140169F0E5140100CD6F000067666666F8B5C04C09 -S214016A0020685C30BF4B9847206811254FF0000284 -S214016A1065F30402222767F34A1265F3CF22992110 -S214016A205C30B94EB04720684FF0000265F30402AF -S214016A3067F34A1265F3CF22C9215C30B04720685C -S214016A40A289CA215C30B04724685C340020AF4B71 -S214016A50984700EB80005030B0F5A07F80F2688147 -S214016A60012290212046AA4B9847A54B1C685C340E -S214016A700020A64B984714308000B0F5A07F80F226 -S214016A8065810122C3212046A14B98479C4B1C6877 -S214016A905C3400209D4B98470A30C000B0F5A07FBB -S214016AA080F261810122C2212046994B9847944B7E -S214016AB01C685C340020954B984700EB80008000F2 -S214016AC05030B0F5A07F80F25B8101221221204672 -S214016AD08F4B98478A4B1C685C3400208B4B984739 -S214016AE000EB800080005030B0F5A07F80F2578127 -S214016AF0012213212046864B9847814B1C685C3443 -S214016B000020824B984700EB800080005030B0F5A3 -S214016B10A07F80F253810122102120467C4B9847AA -S214016B20774B1C685C340020784B984700EB80005C -S214016B3080005030B0F5A07F80F24F8101221421F1 -S214016B402046734B98476E4B1C685C3400206F4B95 -S214016B509847C0EB00105030B0F5A07F80F24C8112 -S214016B600122C02120466A4DA847654C206847F699 -S214016B70FF7201215C30A84720686030614B98475E -S214016B80206811254FF0000265F30402222767F3FF -S214016B904A1265F3CF22992160305B4EB0472068D8 -S214016BA04FF0000265F3040267F34A1265F3CF2241 -S214016BB0C9216030B0472068A289CA216030B04739 -S214016BC0246860340020514B98470A30C000B0F565 -S214016BD0A07F80F21F810122902120464C4B9847CE -S214016BE0474B1C6860340020484B98470A30C00069 -S214016BF0B0F5A07F80F21B810122C3212046444BC1 -S214016C0098473F4B1C6860340020404B984700EB88 -S214016C10800000EB80005030B0F5A07F80F2148138 -S214016C200122C02120463A4B9847354C20686430F3 -S214016C30344B984720686430236A13F0020F40F003 -S214016C4013811F233F211C464FF0000264F3040208 -S214016C5061F34A1263F3CF2299212B4B9847284BB5 -S214016C601C6864340020294B98470A30C000B0F5F0 -S214016C70A07F80F2FD80012290212046244B984778 -S214016C801F4C2068FF222C216430224B9847206835 -S214016C906430236A13F0020F40F0F7801F233F2170 -S214016CA01C464FF0000264F3040261F34A1263F3D8 -S214016CB0CF222921144B9847114C206847F6FF72C2 -S214016CC001216430124B98472468643400200F4B2E -S214016CD09847C0EB001040005030B0F5A07F80F21E -S214016CE0D880012203212046094B9847044B1C6893 -S214016CF064340020054B984700EB80000CE000BF91 -S214016D00D86B002009500100CD6F0000E51401008A -S214016D10896E00001171000040005030B0F5A07F70 -S214016D2080F2C680012214212046694B9847F8BD9F -S214016D300020684B984700EB80005030664B83FB81 -S214016D400023C217C2EBA31212B28AE60020614BDF -S214016D50984714308000604B83FB0023C217C2EBB8 -S214016D60A31212B28EE600205A4B98470A30C00092 -S214016D70594B83FB0023C217C2EBA31212B292E651 -S214016D800020544B984700EB800080005030524B57 -S214016D9083FB0023C217C2EBA31212B296E60020B1 -S214016DA04C4B984700EB8000800050304A4B83FBE9 -S214016DB00023C217C2EBA31212B29AE60020454B7B -S214016DC0984700EB800080005030434B83FB002344 -S214016DD0C217C2EBA31212B29EE600203D4B9847A3 -S214016DE000EB8000800050303B4B83FB0023C21732 -S214016DF0C2EBA31212B2A2E60020364B9847C0EBB4 -S214016E0000105030344B83FB0023C217C2EBA31291 -S214016E1012B2A6E600202F4B98470A30C0002E4B30 -S214016E2083FB0023C217C2EBA31212B2D4E60020E2 -S214016E30284B98470A30C000274B83FB0023C21714 -S214016E40C2EBA31212B2D8E60020224B984700EB01 -S214016E50800000EB800050301F4B83FB0023C217DD -S214016E60C2EBA31212B2DCE6082312210B24EBE6D6 -S214016E700020184B98470A30C000174B83FB0023AD -S214016E80C217C2EBA31212B2F6E6082312210B2494 -S214016E9007E700200F4B9847C0EB0010400050302A -S214016EA00D4B83FB0023C217C2EBA31212B219E7E4 -S214016EB00020084B984700EB800040005030064BFE -S214016EC083FB0023C217C2EBA31212B22BE700BF4B -S214016ED0896E0000E51401006766666638B53D4CAC -S214016EE020681C303C4B98472068A28999211C30A9 -S214016EF03A4B984724681C340020394B984700EBDE -S214016F00800000EB80005030B0F5A07F41DA01220E -S214016F1090212046334DA8472E4C2068012294210B -S214016F201C30A847206820302B4B98472068236ADE -S214016F3013F0020314BF1A210821002B15BF3524B4 -S214016F4012241B2309234FF0000263F3040264F3A7 -S214016F504A1261F3CF2299212030204B98471D4BCE -S214016F601C68203400201E4B984700EB800000EB85 -S214016F7080005030B0F5A07F1BDA01229021204618 -S214016F80184CA047134B1868012294212030A047C3 -S214016F9038BD0020124B984700EB800000EB8000C4 -S214016FA05030114B83FB0023C217C2EBA31212B25F -S214016FB0AEE700200A4B984700EB800000EB80000C -S214016FC05030094B83FB0023C217C2EBA31212B247 -S214016FD0D4E700BFD86B002009500100CD6F000038 -S214016FE0E5140100896E000067666666F8B5384CE0 -S214016FF020686C30374B98472068FF222C216C3074 -S214017000354DA8472068A28929216C30334FB847EF -S2140170102068022230216C30314EB04720687F2232 -S2140170203C216C30A84725686C354C21A0892D4B36 -S2140170309847024639212846B847206847F6FF7226 -S21401704001216C30B04724686C340020264B9847E9 -S214017050C0EB00105030B0F5A07F1CDA01225021A1 -S21401706020461F4B98471A4C2068A28959216C303C -S2140170701A4B984724686C3400201B4B984700EB4A -S21401708080005030B0F5A07F13DA0122532120464C -S214017090134B9847F8BD0020134B9847C0EB0010E0 -S2140170A05030124B83FB0023C217C2EBA31212B25D -S2140170B0D5E700200C4B984700EB800050300B4B77 -S2140170C083FB0023C217C2EBA31212B2DEE700BF96 -S2140170D0D86B00200950010011710000CD6F00002F -S2140170E0896E00004F210100E5140100676666669F -S2140170F02DE9F04180460F4615461E46B24B1B79D8 -S214017100002B01F06983B04CA4F80C80E78126615E -S214017110069B6361079BA361089BE3612562AB4BFA -S2140171209847AB4B9847AB4B9847AB4B9847AB4B05 -S2140171309847AB4B9847AB4B9847AB4B9847206863 -S2140171404030AA4B984720684030236A13F0020F5C -S21401715041F04B8314232B2117244FF0000264F3D4 -S214017160040261F34A1263F3CF2248F28901A04B6D -S2140171709847954C206844309C4B98472468443483 -S21401718000209C4B98475030B0F5A07F81F23283A7 -S214017190012290212046984B98478B4B1C6844341B -S2140171A00020944B984700EB800040005030B0F52B -S2140171B0A07F81F22C830122922120468E4B984794 -S2140171C0814B1C68443400208A4B984700EB8000B2 -S2140171D040005030B0F5A07F81F22983012293212F -S2140171E02046854B9847784B18681B6A13F00203B4 -S2140171F014BF1A211021002B15BF372422241C236B -S21401720012234FF0000263F3040264F34A1261F39F -S214017210CF2299214430764B98476B4C20684830F2 -S214017220724B9847246848340020724B984700EB0D -S21401723040005030B0F5A07F81F2098301229021F1 -S21401724020466D4B9847604B1C6848340020694BBC -S214017250984714308000B0F5A07F81F207830122A1 -S21401726003212046644B9847574B1C68483400203E -S214017270604B984728304000B0F5A07F81F2048328 -S2140172800122142120465C4B98474F4B1C6848341A -S2140172900020584B98475030B0F5A07F81F202830A -S2140172A0012201212046544B9847474C2068303034 -S2140172B04E4B9847246830340020504B984701289D -S2140172C041F2FD8200204B4B9847C0EB0010400076 -S2140172D05030B0F5A07F81F20D83012210212046A7 -S2140172E0454B9847384B1C6830340020434B984731 -S2140172F0012841F20F8300203E4B9847C0EB001057 -S21401730040005030B0F5A07F81F236830122122171 -S2140173102046394B98472C4B1C6830340020374B9D -S2140173209847012841F238830020324B9847C0EB3A -S214017330001040005030B0F5A07F81F24883012252 -S214017340132120462C4B98471F4B1C6830340020D5 -S2140173502A4B9847012841F24A830020254B98473B -S214017360C0EB001040005030B0F5A07F81F25A8388 -S214017370012211212046204B9847134B18681B6A9F -S21401738013F0020314BF22213F21002B14BF112347 -S2140173901F234FF0000263F3040261F34A1263F302 -S2140173A0CF2249F289013030114B9847064C2068AC -S2140173B034300E4B984720683430236A13F0020F9E -S2140173C041F040831CE000BFD86B0020295001002B -S2140173D071620100ED6F0100D96301007D66010055 -S2140173E0C1670100FD690100DD6E01000950010061 -S2140173F0CD6F0000E5140100896E00000115010043 -S2140174001D233B211C464FF0000264F3040261F386 -S2140174104A1263F3CF2248F28901B84B9847B84B1A -S2140174201C6834340020B74B9847012841F20F837B -S2140174300020B54B9847C0EB001040005030B0F527 -S214017440A07F81F21F83012212212046AF4B98476D -S214017450AB4B1C6834340020AA4B9847012841F2F4 -S21401746021830020A84B9847C0EB00104000503005 -S214017470B0F5A07F81F23183012213212046A34B70 -S21401748098479F4B1C68343400209E4B9847012830 -S21401749041F2338300209C4B9847C0EB001040001C -S2140174A05030B0F5A07F81F243830122112120469E -S2140174B0964B9847924C20682C30954B98472468F9 -S2140174C02C340020904B984714308000B0F5A07FF4 -S2140174D081F23E830122012120468C4B9847884B3E -S2140174E018682C301B6A13F0020F41F03F831F23EC -S2140174F03F211C464FF0000264F3040261F34A1276 -S21401750063F3CF2248F289117C4B98477C4B18686D -S2140175101B6A13F0020F14BF332266224FF49671D2 -S2140175202C307C4DA847764C2068332241F22C0142 -S2140175302C30A8472068FF224FF40B712C30A84747 -S2140175402068754B1A8848F289212C306B4DA84764 -S2140175502068A28940F229212C30A8472068236A96 -S21401756013F0020314BF19213F21002B14BF0C2373 -S2140175701F234FF0000263F3040261F34A1263F320 -S214017580CF2229212C30A8472068A28940F2291150 -S2140175902C30A847206802224FF498712C305B4E9D -S2140175A0B0472068042240F231112C30B0472068E1 -S2140175B0A28940F239112C30A84724682C340020C7 -S2140175C0514B984700EB40005030B0F5A07F81F258 -S2140175D0D2820122142120464C4B9847484B1C6806 -S2140175E02C340020474B9847012841F2D3820020D3 -S2140175F0454B9847C0EB001040005030B0F5A07FD7 -S21401760081F2E382012212212046404B98473C4BEF -S2140176101C682C3400203B4B9847012841F2E58238 -S2140176200020394B9847C0EB001040005030B0F5B1 -S214017630A07F81F2F582012213212046334B984721 -S2140176402F4B1C682C3400202E4B9847012841F202 -S214017650F78200202C4B9847C0EB001040005030BA -S214017660B0F5A07F81F20783012211212046274B26 -S2140176709847234C20683830254B9847246838347F -S2140176800020214B9847C0EB001040005030B0F569 -S214017690A07F81F205830122C02120461B4B98471B -S2140176A0174C2068FF222C2138301A4B9847206847 -S2140176B0236A13F0020314BF1D210821002B15BFF6 -S2140176C03B2412241E230B234FF0000263F3040213 -S2140176D064F34A1261F3CF2229213830074B9847C9 -S2140176E0074B1C6838340020074B984700EB800096 -S2140176F080005030B0F5A07F10E000BFCD6F0000D5 -S214017700D86B002001150100E5140100896E000008 -S2140177100950010011710000680A020081F2D0824E -S214017720012214212046B64EB047B64C206847F6D3 -S214017730FF7201213830B04720683C30B24B984781 -S214017740206847F6FF7201213C30B0472068AF4FF2 -S2140177503A8829213C30AE4DA8472068FF222C21CB -S2140177603C30AC4B98472068022230213C30B04771 -S2140177702068BA8839213C30A8472068A28940F29F -S21401778039213C30A8472068E28940F239413C3033 -S214017790A84724683C3400209F4B984700EB4003E1 -S2140177A000EB83005030B0F5A07F81F29982012270 -S2140177B012212046924B9847924B1C683C3400207D -S2140177C0954B984700EB400300EB83005030B0F533 -S2140177D0A07F81F29682012213212046884B98478A -S2140177E0884B1C683C3400208B4B984700EB4003C9 -S2140177F000EB83005030B0F5A07F81F29382012226 -S214017800102120467E4B98477E4B1C683C34002056 -S214017810814B984700EB400300EB83005030B0F5F6 -S214017820A07F81F29082012211212046744B984755 -S214017830744C20684C30744B984724684C340020B4 -S214017840754B984714308000B0F5A07F81F28C828A -S2140178500122012120466A4B98476A4B1C684C342A -S21401786000206D4B984700EB800040005030B0F58B -S214017870A07F81F28782012214212046604B98471F -S214017880604C2068A28949214C30614B984720689A -S21401789000224C2108445F4DA84720687F224FF400 -S2140178A013714C30A84724684C3400205A4B984733 -S2140178B000EB40005030B0F5A07F81F273820122C8 -S2140178C0402120464E4B98474E4B1C684C340020B6 -S2140178D0514B984700EB800040005030B0F5A07F38 -S2140178E081F26F82012241212046454DA847454C31 -S2140178F020689622B0214C30A84720684C22B72138 -S2140179001044A847206850303F4B98472068002213 -S2140179104FF4137150303F4B984724685034002081 -S2140179203D4B984714308000B0F5A07F81F2598214 -S214017930012201212046324B9847324C2068374AB3 -S2140179404FF4B7715030364DA84720682F4B1A8830 -S21401795040F2691150302E4B98472068226948F250 -S2140179608E115030A8472468503400202A4B98477F -S21401797000EB40005030B0F5A07F81F2408201223A -S214017980122120461E4B98471E4B1C68503400207F -S214017990214B984700EB40005030B0F5A07F81F2B4 -S2140179A03D82012213212046154B9847154B1C6832 -S2140179B050340020184B984700EB40005030B0F58B -S2140179C0A07F81F23A820122102120460C4B984773 -S2140179D00C4B1C68503400200F4B984700EB4000BE -S2140179E05030B0F5A07F81F2378201221121204666 -S2140179F0034DA847034C20686830034B984711E0B5 -S214017A00896E0000D86B002009500100680A020048 -S214017A10CD6F000011710000E5140100700A02002C -S214017A20417200002068002201216830A8472468BE -S214017A3068340020B54B984714308000B0F5A07F1D -S214017A4081F21982012230212046B14DA847B14C5E -S214017A502068022231216830A84720686830236AEE -S214017A6013F0020F41F01582002319461C464FF011 -S214017A70000264F3040261F34A1263F3CF22392150 -S214017A80A54DA847A34C2068E28940F239416830E9 -S214017A90A8472468683400209C4B984700EB800078 -S214017AA05030B0F5A07F81F2F981012212212046E3 -S214017AB0974B9847974B1C6868340020934B984720 -S214017AC000EB80005030B0F5A07F81F2F6810122F4 -S214017AD0132120468E4B98478E4B1C686834002035 -S214017AE08A4B984700EB80005030B0F5A07F81F2BA -S214017AF0F381012210212046854B9847854B1C684F -S214017B0068340020814B984700EB80005030B0F578 -S214017B10A07F81F2F0810122112120467C4B9847FB -S214017B207C4B1C6868340020784B984700EB40007B -S214017B305030B0F5A07F81F2ED810122142120465C -S214017B40734B9847734C20687C30744B9847246875 -S214017B507C3400206D4B9847322303FB00F05030F5 -S214017B60B0F5A07F81F2E581012250212046684BC5 -S214017B709847684B18681B6A13F002030CBF26214E -S214017B803021002B0CBF132318234FF0000263F3A0 -S214017B90040261F34A1263F3CF2259217C305E4B13 -S214017BA098475C4C206880305C4B98472068FF22E1 -S214017BB02C2180305A4B98472068236A13F0020321 -S214017BC014BF19210E21002B15BF33241F241A239D -S214017BD010234FF0000263F3040264F34A1261F3C8 -S214017BE0CF22292180304C4B98474A4C206847F6D3 -S214017BF0FF7201218030464B98472468803400206C -S214017C00424B9847C0EBC0005030B0F5A07F81F2E0 -S214017C10A0810122032120463D4B98473D4B1C681D -S214017C2080340020394B9847C0EBC0005030B0F587 -S214017C30A07F81F29D81012213212046344B984773 -S214017C40344B1C6880340020304B9847C0EBC00092 -S214017C505030B0F5A07F81F29A8101221121204691 -S214017C602B4B98472B4C206884302C4DA847206816 -S214017C70FF222C2184302A4B9847206811234FF08D -S214017C80000263F30402222161F34A1263F3CF2256 -S214017C9029218430204B98472068B430A8472068B3 -S214017CA0236A13F0020314BF06211421002B15BF0B -S214017CB010242A24092315234FF0000263F304023B -S214017CC064F34A1261F3CF223921B430124B98473C -S214017CD0104B1C68B43400200C4B984728304000E9 -S214017CE0B0F5A07F81F26281012230212046084B47 -S214017CF09847084B1C68B4340020044B9847503012 -S214017D00B0F5A07F81F2648101220BE0E514010049 -S214017D10896E0000D86B0020CD6F0000095001006D -S214017D201171000012212046BA4DA847BA4C2068AE -S214017D3004223121B430A8472068B830B74B9847A1 -S214017D402068B830236A13F0020F41F04E811423E5 -S214017D502B2117244FF0000264F3040261F34A1248 -S214017D6063F3CF2248F28901AD4DA847AA4C20689B -S214017D709830AA4B98472068FF222C219830A94BAF -S214017D8098472068A28929219830A8472068A64BE1 -S214017D901A8848F289019830A84724689834002048 -S214017DA0A24B9847642303FB00F05030B0F5A07F48 -S214017DB081F22081012210212046964B9847964B4E -S214017DC01C6898340020994B9847642303FB00F005 -S214017DD05030B0F5A07F81F21D810122112120468D -S214017DE08C4DA8478C4C206874308C4EB047206868 -S214017DF0012202217430A847206800221221743023 -S214017E00A8472068002213217430A8472068002262 -S214017E1010217430A8472068002211217430A84729 -S214017E202068002214217430A84720687830B047B3 -S214017E302068FF222C2178307A4B984720687830CA -S214017E40236A13F0020F41F0F5800B2318210E244C -S214017E504FF0000264F3040261F34A1263F3CF2287 -S214017E6029216F4B98476C4B186878301B6A13F0C2 -S214017E70020F41F0E480092313210A244FF0000287 -S214017E8064F3040261F34A1263F3CF2241F229013B -S214017E90634B9847604B186878301B6A13F0020FE3 -S214017EA041F0D2800B2318210E244FF0000264F318 -S214017EB0040261F34A1263F3CF2242F22901584DBC -S214017EC0A847554C2068A28940F229117830A84766 -S214017ED0266878363321A089554B9847024641F2E9 -S214017EE029113046A84720687830236A13F0020F1C -S214017EF041F0AF801F233F211C464FF0000264F380 -S214017F00040261F34A1263F3CF2248F28901444D19 -S214017F10A847414C20684FF0FF3248F2891178306B -S214017F20A8472068236A13F0020314BF2A212621DA -S214017F30002B14BF152313234FF0000263F3040232 -S214017F4061F34A1263F3CF224AF289017830A847D7 -S214017F5020687830236A13F0020F41F07F801F23D8 -S214017F603F211C464FF0000264F3040261F34A12FB -S214017F7063F3CF2248F2A901294DA847264C206871 -S214017F804FF0FF3248F2A9117830A8472068236ADB -S214017F9013F0020314BF2A212621002B14BF152338 -S214017FA013234FF0000263F3040261F34A1263F3F2 -S214017FB0CF224AF2A9017830A84720680122312150 -S214017FC07830144B98472068236A13F0020314BFD5 -S214017FD01A211021002B15BF372422241C2312231B -S214017FE04FF0000263F3040264F34A1261F3CF22F6 -S214017FF039217830A847084C2068A28940F23921F7 -S2140180007830A8472068012230217830014B984704 -S21401801010E000BF896E0000D86B002009500100F7 -S214018020CD6F000011710000680A0200E51401001E -S214018030AB210100246878340020BA4B9847012808 -S21401804041F211800020B84B9847C0EB0010400069 -S2140180505030B0F5A07F81F2218001221221204606 -S214018060B24B9847B24B1C6878340020AD4B98470A -S214018070012841F223800020AB4B9847C0EB00104B -S21401808040005030B0F5A07F81F2338001221321E9 -S2140180902046A64B9847A64B1C6878340020A14B77 -S2140180A09847012841F2358000209F4B9847C0EB46 -S2140180B0001040005030B0F5A07F81F245800122CB -S2140180C010212046994B9847994B1C68783400201C -S2140180D0944B9847012841F247800020924B9847DD -S2140180E0C0EB001040005030B0F5A07F81F2578001 -S2140180F00122112120468D4B98478D4B1C68783400 -S2140181000020884B9847012841F259800020864B71 -S2140181109847C0EB001040005030B0F5A07F81F2C8 -S2140181206980012214212046804B9847804B1C68A9 -S214018130783400207B4B9847012841F26B80002061 -S214018140794B9847C0EB001040005030B0F5A07F47 -S21401815081F27C804FF0FF3204212046734DA84700 -S214018160734C2068002241F204017830A847206849 -S21401817000224FF482717830A8472068002242F22C -S21401818004017830A84720689622B0217830A847A5 -S21401819020682922B7217830A84720680422B62112 -S2140181A07830A84720685430624B98472468543486 -S2140181B000205D4B984700EB800080005030B0F502 -S2140181C0A07F81F25380012248F281012046574D5B -S2140181D0A847574C2068012202215430A84720683E -S2140181E05830544B98472068FF222C215830524B68 -S2140181F098472068A28929215830504DA847206801 -S2140182004FF0FF3248F289015830A84720685830AD -S214018210236A13F0020F41F03980092313210A243F -S2140182204FF0000264F3040261F34A1263F3CF22B3 -S21401823041F22901414B98473D4B186858301B6A5B -S21401824013F0020F41F027801F233F211C464FF0F9 -S214018250000264F3040261F34A1263F3CF2249F287 -S2140182608901364B9847324C20688830314B984705 -S2140182702468883400202C4B984700EB800000EBE4 -S21401828080005030B0F5A07F81F20A80012248F2CA -S21401829081012046254B9847254C20688C30254E79 -S2140182A0B0472068FF222C218C30234DA847206838 -S2140182B0A28929218C30214FB8472068204B1A8883 -S2140182C048F289018C30B8472068A830B04720684A -S2140182D0FF222C21A830A8472068A830236A13F073 -S2140182E0020F40F0EE870B2318210E244FF00002F8 -S2140182F064F3040261F34A1263F3CF2229210F4B80 -S21401830098470B4B18681B6A13F0020314BF1C2115 -S2140183100721002B15BF3A240F241E2308234FF0F4 -S21401832000020FE001150100E5140100896E00004E -S214018330D86B00200950010011710000CD6F0000BC -S214018340680A020063F3040264F34A1261F3CF225F -S2140183503921A830B64B9847B64B1C68A834002084 -S214018360B54B984700EB80005030B0F5A07F80F207 -S214018370AD87012230212046B04DA847AD4C20687C -S21401838001223121A830A8472068236A13F002038E -S21401839014BF07211C21002B15BF0F243A240823E4 -S2140183A01D234FF0000263F3040264F34A1261F3E3 -S2140183B0CF2248F28901A8309D4DA8479D4C2068E0 -S2140183C0626948F28E01A8309D4B984720684FF0AD -S2140183D00002132363F30402262363F34A121223D3 -S2140183E063F3CF2248F2A901A830A8472468A8342D -S2140183F00020914B9847C0EBC0005030B0F5A07FED -S21401840080F273870122102120468C4B9847894BB6 -S2140184101C68A8340020884B9847C0EBC000503039 -S214018420B0F5A07F80F27487012212212046834B8B -S2140184309847804B1C68A83400207F4B9847C0EBB8 -S214018440C0005030B0F5A07F80F271870122132161 -S21401845020467A4B9847774C2068A430794B98474A -S21401846020687F2241F22C01A430774B9847206880 -S21401847011234FF0000263F30402222161F34A1232 -S21401848063F3CF2241F22901A430694B9847206853 -S214018490236A13F0020314BF07211C21002B15BF0A -S2140184A00F243A2408231D234FF0000263F304022D -S2140184B064F34A1261F3CF2248F28911A4305C4B6F -S2140184C098475C4B1C68A43400205B4B984700EB34 -S2140184D0800080005030B0F5A07F80F237870122FF -S2140184E010212046554B9847524B1C68A434002057 -S2140184F0514B984700EB800080005030B0F5A07FCC -S21401850080F234870122112120464C4B9847494C72 -S2140185102068A28948F28921A430454DA8472068E1 -S214018520E28948F28941A430A8472068AC30454B1F -S21401853098472068FF222C21AC30434B984720688F -S214018540A2892921AC30A8472068E28940F2294156 -S214018550AC30A8472468AC340020374B984700EB72 -S21401856080005030B0F5A07F80F2108701220321F1 -S2140185702046324DA8472F4C206847F6FF7201214E -S214018580AC30A8472068B0302E4B98472468B034EA -S21401859000202E4B9847012840F207870020264BE3 -S2140185A09847C0EB001040005030B0F5A07F80F235 -S2140185B01787012210212046204B98471D4B1C6827 -S2140185C0B0340020214B9847012840F2198700203B -S2140185D0194B9847C0EB001040005030B0F5A07F13 -S2140185E080F22987012211212046144B9847114B0E -S2140185F01C68B0340020154B9847012840F22B87A1 -S21401860000200D4B9847C0EB001040005030B0F5ED -S214018610A07F80F23B87012212212046074B984714 -S214018620044B1C68B0340020084B984701280FE023 -S214018630CD6F0000D86B0020E5140100896E0000A4 -S214018640417200000950010011710000011501007E -S21401865040F22C870020BD4B9847C0EB001040002D -S2140186605030B0F5A07F80F23C87012213212046CE -S214018670B74B9847B74B1C68B0340020B64B9847A9 -S214018680012840F23E870020B04B9847C0EB00100F -S21401869040005030B0F5A07F80F24E8701221421B1 -S2140186A02046AB4B9847AB4C2068A030AB4B984765 -S2140186B02068236A13F0020314BF1A211021002B2D -S2140186C015BF372422241C2312234FF0000263F324 -S2140186D0040264F34A1261F3CF223921A030A04B81 -S2140186E098479C4C206801223021A030984DA8471D -S2140186F0206803223121A030A8472468A034002036 -S214018700954B9847012840F2278700208F4B9847C2 -S214018710C0EB001040005030B0F5A07F80F23787E4 -S2140187200122122120468A4B98478A4B1C68A034A6 -S2140187300020894B9847012840F239870020834B57 -S2140187409847C0EB001040005030B0F5A07F80F293 -S21401875049870122132120467D4B98477D4B1C6893 -S214018760A03400207C4B9847012840F24B8700201C -S214018770764B9847C0EB001040005030B0F5A07F14 -S21401878080F26087012210212046714B9847714B79 -S2140187901C68A0340020704B9847012840F262877D -S2140187A000206A4B9847C0EB001040005030B0F5EF -S2140187B0A07F80F27287012211212046644B9847E0 -S2140187C0644C684BA360012323710020664B9847D5 -S2140187D004F10800BDE8F081BC20644B9847644B67 -S2140187E018605C4B1860FEF78EBC15232A211C46C8 -S2140187F0FEF7B3BC0020554B984750305D4B83FBCA -S2140188000023C217C2EBA31212B2FEF7C2BC0020AD -S2140188104E4B984700EB800040005030554B83FB91 -S2140188200023C217C2EBA31212B2FEF7C5BC00208A -S214018830464B984700EB8000400050304D4B83FB81 -S2140188400023C217C2EBA31212B2FEF7C8BC002067 -S2140188503E4B984700EB40005030464B83FB0023CD -S214018860C217C2EBA31212B2FEF7E9BC0020374BC7 -S2140188709847143080003F4B83FB0023C217C2EB9E -S214018880A31212B2FEF7ECBC0020304B98472830FA -S2140188904000384B83FB0023C217C2EBA31212B26F -S2140188A0FEF7EFBC0020294B98475030314B83FB35 -S2140188B00023C217C2EBA31212B2FEF7F2BC0020CD -S2140188C0224B9847C0EB00105030B0F5A07F02DA7B -S2140188D00122FEF703BD00201C4B9847C0EB001099 -S2140188E05030244B83FB0023C217C2EBA31212B2F3 -S2140188F0FEF7F4BC0020154B9847C0EB0010400073 -S21401890050301C4B83FB0023C217C2EBA31212B2DA -S214018910FEF7E4BC00200D4B9847C0EB001050302A -S214018920B0F5A07F02DA0122FEF7F1BC0020074B6A -S2140189309847C0EB001050300E4B83FB0023C21744 -S214018940C2EBA31212B2FEF7E2BC00BFE5140100AF -S214018950896E0000D86B0020011501000950010046 -S214018960CD6F0000A1470100DD420000852901000E -S214018970646D0020676666660020C74B9847C0EBAB -S214018980001040005030C54B83FB0023C217C2EBDA -S214018990A31212B2FEF7BBBC0020BF4B9847C0EB38 -S2140189A000105030B0F5A07F02DA0122FEF7C8BCF5 -S2140189B00020B94B9847C0EB00105030B74B83FBF3 -S2140189C00023C217C2EBA31212B2FEF7B9BC0020F5 -S2140189D0B14B9847C0EB001040005030AF4B83FBC3 -S2140189E00023C217C2EBA31212B2FEF7A9BC0020E5 -S2140189F0A94B9847C0EB00105030B0F5A07F02DAC3 -S214018A000122FEF7B6BC0020A34B9847C0EB00102E -S214018A105030A24B83FB0023C217C2EBA31212B243 -S214018A20FEF7A7BC00209C4B9847C0EB0010400007 -S214018A3050309A4B83FB0023C217C2EBA31212B22B -S214018A40FEF797BC062310210924FEF7DCBC0020A4 -S214018A50914B9847C0EB00105030B0F5A07F02DA7A -S214018A600122FEF7F1BC00208B4B9847C0EB0010AB -S214018A7050308A4B83FB0023C217C2EBA31212B2FB -S214018A80FEF7E2BC0020844B9847C0EB0010400084 -S214018A905030824B83FB0023C217C2EBA31212B2E3 -S214018AA0FEF7D2BC00207C4B9847C0EB001050303C -S214018AB0B0F5A07F02DA0122FEF7DFBC0020764B7C -S214018AC09847C0EB00105030744B83FB0023C2174D -S214018AD0C2EBA31212B2FEF7D0BC00206E4B984731 -S214018AE0C0EB0010400050306C4B83FB0023C217D4 -S214018AF0C2EBA31212B2FEF7C0BC0020664B984729 -S214018B00C0EB00105030B0F5A07F02DA0122FEF76C -S214018B10CDBC0020604B9847C0EB001050305F4B37 -S214018B2083FB0023C217C2EBA31212B2FEF7BEBC30 -S214018B300020594B9847C0EB001040005030574B6F -S214018B4083FB0023C217C2EBA31212B2FEF7AEBC20 -S214018B500020514B984714308000504B83FB002374 -S214018B60C217C2EBA31212B2FEF7B5BC0623102140 -S214018B700924FEF7BFBC0020474B984700EB400096 -S214018B805030464B83FB0023C217C2EBA31212B22E -S214018B90FEF720BD0020404B9847C0EB0010503038 -S214018BA0B0F5A07F02DA0122FEF72DBD00203A4B78 -S214018BB09847C0EB00105030384B83FB0023C21798 -S214018BC0C2EBA31212B2FEF71EBD0020324B98472D -S214018BD0C0EB001040005030304B83FB0023C2171F -S214018BE0C2EBA31212B2FEF70EBD00202A4B984725 -S214018BF0C0EB00105030B0F5A07F02DA0122FEF77C -S214018C001BBD0020244B9847C0EB00105030234B6F -S214018C1083FB0023C217C2EBA31212B2FEF70CBDF0 -S214018C2000201D4B9847C0EB0010400050301B4BF6 -S214018C3083FB0023C217C2EBA31212B2FEF7FCBCE1 -S214018C400020154B9847C0EB00105030B0F5A07FC0 -S214018C5002DA0122FEF709BD00200F4B9847C0EB50 -S214018C60001050300D4B83FB0023C217C2EBA3123A -S214018C7012B2FEF7FABC0020074B9847C0EB001073 -S214018C8040005030054B83FB0023C217C2EBA312F2 -S214018C9012B2FEF7EABC00BFE5140100676666661D -S214018CA00020C94B9847C0EB001040005030C74B1E -S214018CB083FB0023C217C2EBA31212B2FEF7ECBC71 -S214018CC00020C14B984700EB800080005030BF4B1E -S214018CD083FB0023C217C2EBA31212B2FEF721BD1B -S214018CE00020B94B984700EB400200EB8200503061 -S214018CF0B64B83FB0023C217C2EBA31212B2FEF7D8 -S214018D0057BD0020B04B984700EB400200EB8200B5 -S214018D105030AE4B83FB0023C217C2EBA31212B234 -S214018D20FEF75ABD0020A84B984700EB400200EB27 -S214018D3082005030A54B83FB0023C217C2EBA3125F -S214018D4012B2FEF75DBD00209F4B984700EB400234 -S214018D5000EB820050309D4B83FB0023C217C2EB11 -S214018D60A31212B2FEF760BD0020974B984714304D -S214018D708000964B83FB0023C217C2EBA31212B2EC -S214018D80FEF767BD0020904B984700EB800040003F -S214018D9050308E4B83FB0023C217C2EBA31212B2D4 -S214018DA0FEF76ABD0020884B984700EB4000503024 -S214018DB0864B83FB0023C217C2EBA31212B2FEF747 -S214018DC07FBD0020804B984700EB8000400050306C -S214018DD07E4B83FB0023C217C2EBA31212B2FEF72F -S214018DE082BD0020784B984714308000774B83FB78 -S214018DF00023C217C2EBA31212B2FEF79ABD0020DF -S214018E00714B984700EB40005030704B83FB0023BA -S214018E10C217C2EBA31212B2FEF7B2BD00206A4B14 -S214018E20984700EB40005030684B83FB0023C21785 -S214018E30C2EBA31212B2FEF7B5BD0020624B9847F3 -S214018E4000EB40005030614B83FB0023C217C2EB9E -S214018E50A31212B2FEF7B8BD00205B4B984700EB99 -S214018E6040005030594B83FB0023C217C2EBA312BC -S214018E7012B2FEF7BBBD0020534B9847143080005A -S214018E80524B83FB0023C217C2EBA31212B2FEF7AA -S214018E90DABD07230F210824FEF7E9BD00204A4B5F -S214018EA0984700EB80005030484B83FB0023C217E5 -S214018EB0C2EBA31212B2FEF7F9BD0020424B98474F -S214018EC000EB80005030414B83FB0023C217C2EBFE -S214018ED0A31212B2FEF7FCBD00203B4B984700EBF5 -S214018EE080005030394B83FB0023C217C2EBA3121C -S214018EF012B2FEF7FFBD0020334B984700EB80000F -S214018F005030324B83FB0023C217C2EBA31212B2BE -S214018F10FEF702BE00202C4B984700EB4000503075 -S214018F202A4B83FB0023C217C2EBA31212B2FEF731 -S214018F3005BE0020244B9847322202FB00F0503039 -S214018F40224B83FB0023C217C2EBA31212B2FEF719 -S214018F500CBE00201C4B9847C0EBC00050301B4B8A -S214018F6083FB0023C217C2EBA31212B2FEF752BE56 -S214018F700020154B9847C0EBC0005030134B83FBC5 -S214018F800023C217C2EBA31212B2FEF755BE002091 -S214018F900D4B9847C0EBC00050300C4B83FB0023B1 -S214018FA0C217C2EBA31212B2FEF758BE0020064B40 -S214018FB0984728304000054B83FB0023C217C2EBBD -S214018FC0A31212B2FEF791BEE5140100676666664B -S214018FD00020CD4B98475030CC4B83FB0023C21763 -S214018FE0C2EBA31212B2FEF79DBE15232A211C4620 -S214018FF0FEF7B0BE0020C44B9847642202FB00F087 -S2140190005030C24B83FB0023C217C2EBA31212B22D -S214019010FEF7D1BE0020BC4B9847642202FB00F04D -S2140190205030BA4B83FB0023C217C2EBA31212B215 -S214019030FEF7D4BE1F233F211C46FEF709BF1D23A2 -S2140190403B211C46FEF71ABF1F233F211C46FEF795 -S2140190502CBF07230F210824FEF74FBF07230F213C -S2140190600824FEF77FBF0020A74B9847C0EB0010EF -S2140190705030B0F5A07F02DA0122FEF7EFBF0020E4 -S214019080A14B9847C0EB00105030A04B83FB002348 -S214019090C217C2EBA31212B2FEF7E0BF00209A4B32 -S2140190A09847C0EB001040005030984B83FB0023DC -S2140190B0C217C2EBA31212B2FEF7D0BF0020924B2A +S2140002C03C9A02007C0000203C9A020000000000DD +S2140002D070B500BF8C4C1026A66132208B4DA84707 +S2140002E0666100BF3220A847A6613220A84700BF3B +S2140002F0402666610A20A847A6610520A8476661D1 +S214000300834B1B7823B9202262610122804B1A702E +S214000310012280498048814B98477B4C4025A56147 +S21400032014207A4B98476561794B1B7823B92022B5 +S21400033062610122764B1A70012276497648774B25 +S2140003409847714C4025A5611420704B984765610D +S2140003506F4B1B7823B92022626101226C4B1A7006 +S21400036001226C496C486D4B9847674C4025A56147 +S2140003701420664B984765616561654B1B7823B909 +S214000380202262610122624B1A70E22261496248B1 +S214000390624B98475C4B40229A615A615C4B1B78D3 +S2140003A02BB12022584B9A610022594B1A702322F7 +S2140003B058495948594B9847534B40229A615A61BD +S2140003C0534B1B782BB120224F4B9A610022504B87 +S2140003D01A7002224F495048504B98474A4B4022C9 +S2140003E09A615A614A4B1B782BB12022464B9A6180 +S2140003F00022474B1A70542246494748474B9847B5 +S214000400414B40229A615A61414B1B782BB92022FE +S2140004103D4B5A6101223E4B1A70E0223D493E4850 +S2140004203E4B9847384B40229A615A61384B1B78AE +S2140004302BB12022344B9A610022354B1A700122D0 +S21400044034493548354B98472F4C4025A5616420E4 +S214000450334B984765612E4B1B7823B92022626187 +S21400046001222B4B1A70E0222A492B482B4B984727 +S214000470254B40229A615A61254B1B782BB12022CE +S214000480214B9A610022224B1A70032221492248EE +S214000490224B98471C4C4025A56101201B4B9847D2 +S2140004A065611B4B1B7823B9202262610122184B21 +S2140004B01A70012217491848184B9847124C4025C5 +S2140004C0A5610120114B98476561114B1B7823B934 +S2140004D02022626101220E4B1A70E6220D490E4858 +S2140004E00E4B9847084B40229A615A61084B1B787E +S2140004F02BB12022044B9A610022054B1A7004226D +S214000500044905480EE000BF0080004121150000A8 +S21400051000000020F7C3031C80800041411000004B +S214000520011500008A4B98478A4B40229A615A610F +S214000530894B1B782BB12022864B9A610022864B72 +S2140005401A703A2285498648814B9847814B40224B +S2140005509A615A61804B1B782BB120227D4B9A61A1 +S21400056000227D4B1A70B6227C497D48784B98470E +S214000570784B40229A615A61774B1B782BB9202220 +S214000580744B5A610122744B1A70B0227349744836 +S2140005906F4B98476F4B40229A615A616E4B1B789F +S2140005A02BB120226B4B9A6100226B4B1A702822CB +S2140005B06A496B48664B9847664B40229A615A6177 +S2140005C0654B1B782BB12022624B9A610022624B4E +S2140005D01A708022614962485D4B98475D4C402501 +S2140005E0A561604B9847604B9847421EC2F30722AE +S2140005F06561594B1B7823B12021A1610021564B20 +S214000600197056495648524B9847524C4025A5619A +S214000610544B9847544B9847421ED2B265614E4B96 +S2140006201B7823B12021A16100214B4B19704B4947 +S2140006304B48474B9847474C4025A561494B984740 +S2140006404A4B9847421EC2F307226561424B1B780D +S21400065023B12021A16100213F4B19703F4940483A +S2140006603B4B98473B4C4025A5613E4B98473F4B3C +S2140006709847421ED2B26561374B1B7823B12021C2 +S214000680A1610021344B197034493548304B9847E6 +S214000690304B40229A615A612F4B1B782BB1202297 +S2140006A02C4B9A6100222C4B1A7000222B492C48A6 +S2140006B0274B9847274B40229A615A61264B1B7856 +S2140006C02BB92022234B5A610122234B1A70F022A9 +S2140006D0224923481E4B98471E4B40229A615A6176 +S2140006E01D4B1B782BB120221A4B9A6100221A4B05 +S2140006F01A70032219491A48154B9847154B402281 +S2140007009A615A61144B1B782BB92022114B5A61FF +S2140007100122114B1A703A22104911480C4B984787 +S2140007200C4B40229A615A610B4B1B782BB120224E +S214000730084B9A610022084B1A7055220749084850 +S214000740034B9847034B40229A615A6110E000BF62 +S214000750411000000080004100000020F7C3031C89 +S21400076080800041E10E0100ED0E0100150F010032 +S2140007708A4B1B782BB92022894B5A610122874B62 +S2140007801A70B42287498848884B9847844B402281 +S2140007909A615A61814B1B782BB12022804B9A615B +S2140007A000227E4B1A7002227E497F487F4B984774 +S2140007B07B4B40229A615A61784B1B782BB12022E2 +S2140007C0774B9A610022754B1A700D227549764850 +S2140007D0764B9847724B40229A615A616F4B1B7852 +S2140007E02BB120226E4B9A6100226C4B1A700022AD +S2140007F06C496D486D4B9847694B40229A615A6127 +S214000800664B1B782BB12022654B9A610022634B06 +S2140008101A702B2263496448644B9847604B402209 +S2140008209A615A615D4B1B782BB120225C4B9A6112 +S21400083000225A4B1A7028225A495B485B4B98474D +S214000840574B40229A615A61544B1B782BB1202299 +S214000850534B9A610022514B1A700022514952485C +S214000860524B98474E4B40229A615A614B4B1B782D +S2140008702BB120224A4B9A610022484B1A70002264 +S21400088048494948494B9847454B40229A615A6126 +S214000890424B1B782BB12022414B9A6100223F4BE2 +S2140008A01A7000223F494048404B98473C4B402234 +S2140008B09A615A61394B1B782BB92022384B5A6102 +S2140008C00122364B1A70B62236493748374B9847BE +S2140008D0334B40229A615A61304B1B782BB1202251 +S2140008E02F4B9A6100222D4B1A7001222D492E485B +S2140008F02E4B98472A4B40229A615A61274B1B7809 +S2140009002BB12022264B9A610022244B1A701D22FE +S21400091024492548254B9847214B40229A615A6125 +S2140009201E4B1B782BB120221D4B9A6100221B4BBD +S2140009301A7000221B491C481C4B9847184B402233 +S2140009409A615A61154B1B782BB12022144B9A6181 +S2140009500022124B1A700C2212491348134B984768 +S2140009600F4B40229A615A610C4B1B782BB1202208 +S2140009700B4B9A610022094B1A70092209490A4852 +S2140009800A4B9847064B40229A615A61034B1B78E4 +S2140009908BB12022024B9A610AE000BF00000020C3 +S2140009A000800041F7C3031C808000414110000016 +S2140009B000228B4B1A7000228A498B488B4B984733 +S2140009C08B4B40229A615A61854B1B782BB12022B3 +S2140009D0874B9A610022824B1A7000228149824816 +S2140009E0824B9847824B40229A615A617C4B1B7817 +S2140009F02BB920227E4B5A610122794B1A702A228B +S214000A0078497948794B9847794B40229A615A61E0 +S214000A10734B1B782BB12022754B9A610022704BCA +S214000A201A7000226F497048704B9847704B4022EE +S214000A309A615A616A4B1B782BB120226C4B9A61E3 +S214000A400022674B1A70002266496748674B984732 +S214000A50674B40229A615A61614B1B782BB120226A +S214000A60634B9A6100225E4B1A7001225D495E4814 +S214000A705E4B98475E4B40229A615A61584B1B78F2 +S214000A802BB120225A4B9A610022554B1A70DF2256 +S214000A9054495548554B9847554B40229A615A61E0 +S214000AA04F4B1B782BB92022514B5A6101224C4BDD +S214000AB01A702B224B494C484C4B98474C4B4022C3 +S214000AC09A615A61464B1B782BB12022484B9A619B +S214000AD00022434B1A70002242494348434B984732 +S214000AE0434B40229A615A613D4B1B782BB1202222 +S214000AF03F4B9A6100223A4B1A70002239493A4815 +S214000B003A4B98473A4B40229A615A61344B1B78CD +S214000B102BB12022364B9A610022314B1A700122EB +S214000B2030493148314B9847314B40229A615A61DF +S214000B302B4B1B782BB120222D4B9A610022284B81 +S214000B401A700F2227492848284B9847284B4022DE +S214000B509A615A61224B1B782BB92022244B5A618A +S214000B6001221F4B1A7029221E491F481F4B984707 +S214000B701F4B40229A615A61194B1B782BB92022D1 +S214000B801B4B5A610122164B1A70BE221549164895 +S214000B90164B9847164B40229A615A61104B1B78A9 +S214000BA02BB12022124B9A6100220D4B1A7006229E +S214000BB00C490D480D4B98470D4B40229A615A61DF +S214000BC0074B1B782BB12022094B9A610022044B5D +S214000BD01A70FF2203490448044B98470AE000BFF6 +S214000BE000000020F7C3031C808000414110000075 +S214000BF000800041264B40229A615A61254B1B78A3 +S214000C002BB12022224B9A610022224B1A7001221D +S214000C1021492248224B98471D4B40229A615A612F +S214000C201C4B1B782BB12022194B9A610022194BC2 +S214000C301A70FF2218491948194B9847144B40223E +S214000C409A615A61134B1B782BB12022104B9A6184 +S214000C500022104B1A7000220F491048104B98477C +S214000C600B4B40229A615A610A4B1B782BB120220B +S214000C70074B9A610022074B1A7001220649074863 +S214000C80074B9847024B40229A619A6170BD00BF9D +S214000C900080004100000020F7C3031C8080004154 +S214000CA0411000002DE9F84FB1F90430002B0FDB9E +S214000CB081468A461546B1F90630002B08DBB1F9A5 +S214000CC00040044B9847044B98470138844205DDA2 +S214000CD0BDE8F88FE10E0100ED0E0100BAF9024002 +S214000CE0944B9847944B984701388442F0DCBAF905 +S214000CF0006026EAE676BAF9024024EAE474A346DF +S214000D00BAF904708B4B98478C4B9847013887424A +S214000D1000F30A81BAF90470BAF90680854B984741 +S214000D20854B98470138804500F31881BAF906804C +S214000D304022834B5A61834B1B782BB92022804B71 +S214000D405A6101227F4B1A702A227F497F48804BC6 +S214000D5098477B4B40219961C6F307225961794B2E +S214000D601B782BB12021764B99610021754B1970A9 +S214000D7075497648764B9847714B40229A615A617E +S214000D80704B1B782BB120226D4B9A6100226D4B65 +S214000D901A70F2B26C496D486D4B9847684B40210B +S214000DA09961C7F307225961664B1B782BB1202146 +S214000DB0634B99610021634B197063496348644B28 +S214000DC098475F4B40219961FAB259615D4B1B7899 +S214000DD02BB120215A4B996100215A4B19705A4960 +S214000DE05A485B4B9847564B40229A615A61554B7E +S214000DF01B782BB92022524B5A610122514B1A7094 +S214000E002B2251495148524B98474D4B40219961EE +S214000E10CBF3072259614B4B1B782BB12021484B53 +S214000E2099610021474B197047494848484B9847F5 +S214000E30434B40229A615A61424B1B782BB12022C9 +S214000E403F4B9A6100223F4B1A70E2B23E493F4840 +S214000E503F4B98473A4B40219961C8F307225961A6 +S214000E60384B1B782BB12021354B99610021354B2F +S214000E70197035493548364B9847314B40219961B2 +S214000E805FFA88F259612F4B1B782BB120212C4B2F +S214000E90996100212B4B19702B492C482C4B9847F5 +S214000EA0274B40229A615A61264B1B782BB9202289 +S214000EB0234B5A610122234B1A702C2222492348C5 +S214000EC0234B984740221E4B9A61BAF804300133F0 +S214000ED0BAF800209B1A9BB21A4A12782AB120212F +S214000EE0174A91610021174A11704021144A516136 +S214000EF0C6F101063E44B6B2D8450EDB5F00DFF809 +S214000F0048B0DFF854A033462A4659460F48D04723 +S214000F103D44013424B2A045F5DA4022084B9A61DC +S214000F2048460C4B9847D3E6024B9847034B9847E6 +S214000F30471EF1E6E10E0100150F0100ED0E01005F +S214000F400080004100000020F7C3031C80800041A1 +S214000F5041100000AD0F010079100000034B9847C8 +S214000F60034B984700F1FF38E2E600BFE10E0100B0 +S214000F70150F0100FEE7000008B51C4B1C4A9A42FC +S214000F8010D01C4B194A9A420CD2013B9B1A23F0F4 +S214000F90030304331344164951F8040B42F8040BB8 +S214000FA09A42F9D1144B154A9A420AD2013B9B1A2F +S214000FB023F0030304331344002142F8041B934236 +S214000FC0FBD10F4B0F4A22F07F029A60D3F888209D +S214000FD042F47002C3F88820BFF34F8FBFF36F8FC1 +S214000FE0094B9847094B9847FEE700BF00000020D2 +S214000FF03C9A020074000020046E00207800002056 +S21400100000ED00E00000000095B40100B1210000F2 +S21400101010B4530003F47C73540104F47034234377 +S21400102002F007042343520302F0E0521A4302EA96 +S2140010300103836121EA020141615DF8044B7047B8 +S21400104010B540240A4B5C610A4B9847082300BF42 +S214001050013BFCD18022064B5A61082300BF013BAE +S214001060FCD1034B80229A6140229A6110BD00BFDA +S21400107000800041111000008BB12DE9F0410F46B1 +S2140010800646144602EB4305DFF8148034F8022BBC +S21400109039463046C047AC42F8D1BDE8F0817047CB +S2140010A0411000002DE9F04F83B08B4600924001BE +S2140010B0C3B201930026DFF8949165E009EBC713ED +S2140010C05D60AAB242F080429A622A0C42F0404228 +S2140010D09A62009B1B78012B77D023B3022B00F07B +S2140010E08480892257490020574B984724E009EB13 +S2140010F0C7125560ABB243F0804343F400339362AB +S2140011002B0C43F0404343F400339362E1E709EBD2 +S214001110C7139D60AAB242F080429A622A0C42F03F +S21400112040429A62D5E709EBC713434493F8402040 +S21400113002F0FB0283F84020009B5A686409B2F173 +S214001140FF3F62D0E4B209EBC411414491F840304D +S21400115003F0FE0343F0010381F840301AF0010F5C +S2140011605ED109EBC41404EB580898F8303003F04D +S214001170F00302F00F021A4388F8302009EBC71775 +S2140011807D610136202E59D0F4B22BFA06F313F007 +S214001190010FF6D004F01F04019B1C445FFA84FA8A +S2140011A04FEA5A170AF01F08012505FA08F5009BB2 +S2140011B05B78012B9BD0002B80D0022BA7D0462239 +S2140011C020490020204B984783E7012303FA08F3C1 +S2140011D009EBC712536002EB080090F8401041F08C +S2140011E0040180F840109361A6E7012303FA08F390 +S2140011F009EBC712536002EB080090F8401041F06C +S214001200040180F84010536196E7E4B209EBC41479 +S214001210A04498F8403003F0FE0388F84030ADE76D +S21400122009EBC41404EB580898F8303003F00F03A9 +S21400123043EA0212D2B288F830209FE703B0BDE836 +S214001240F08F00BF30B50100D519000000800041C6 +S21400125070B582B00023009302238DF801304FF062 +S214001260FF3301936A463F4901203F4B98473F4B67 +S21400127040269E603E4A9A624FF040429A6293F839 +S214001280461001F0FB0183F8461093F8461001F073 +S214001290FE0183F8461010259D60364999629A62D1 +S2140012A093F8441001F0FB0183F8441093F84410BF +S2140012B001F0FE0183F8441008249C602E499962D0 +S2140012C09A6293F8431001F0FB0183F8431093F8F9 +S2140012D0431001F0FE0183F843102021996001F1CC +S2140012E0804199629A6293F8451001F0FB0183F8F9 +S2140012F0451093F8451001F0FE0183F84510802054 +S21400130098601E4999629A6293F8472002F0FB02A1 +S21400131083F8472093F8472002F0FE0283F8472020 +S2140013204FF48072C3F8842101F500318031C3F890 +S214001330A8111349C3F8A811C3F8842193F8C8115B +S21400134041F0040183F8C811C3F8942193F8C8212A +S21400135002F0FE0283F8C8219E619D619C6198613F +S21400136002B070BDF7C3031CA5100000008000414A +S2140013704000004010000040080000408000004090 +S214001380000002C07047000008B50649D1E90023F6 +S214001390013243F10003C1E900230120024B9847C4 +S2140013A008BD00BF980000204510010010B5114888 +S2140013B0114B9847114A536943F4804353614022C6 +S2140013C00F4BC3F8A4200F4B98470F4C02460F490B +S2140013D020460F4B98470F4901230B610E4A4A617E +S2140013E00B76083120460D4B984720460C4B984705 +S2140013F010BD00BF10E000E0ED1400000008004043 +S214001400001C00404B210000046C00200038004007 +S214001410491600009800002089130000C11600003D +S2140014208516000030B583B01F4B4022C3F8DC2081 +S2140014304322C3F88C201D4A936943F400739361DA +S2140014401B4C0023009310231A4A1B4920461B4DB1 +S214001450A8471B4B93F8D82002F0FE0242F0010288 +S21400146083F8D82093F8BC2002F0F00242F0030282 +S21400147083F8BC2093F8D92002F0FE0242F0010265 +S21400148083F8D92093F8BC2002F00F0242F0300215 +S21400149083F8BC2020460B4B98470C220A4920466E +S2140014A00A4B984703B030BD001C004000080040BF +S2140014B0206C0020B4000020002001411919000013 +S2140014C000800041A919000004000020411500001A +S2140014D0EFF31083036072B6BFF35F8F7047BFF3FE +S2140014E05F8F036883F310887047000008B5024BCF +S2140014F01860024B984708BDC4000020891B0000F6 +S21400150010B5044B1C68044B984701462046034B15 +S214001510984710BDC4000020511B0000911B00001E +S21400152010B5044B1C68044B984701462046034BF5 +S214001530984710BDC4000020691B0000911B0000E6 +S21400154070B50D461646044660B1081C18BF01204B +S21400155034220549054B98472368324629462046DB +S214001560984770BD0020F3E74CB50100D519000080 +S214001570F8B5844607682FB18D683C460026C2F150 +S214001580010E0BE00E4B9847F8BD7344A068034469 +S214001590AB420AD22368264653B11C466368934280 +S2140015A0F3D8A06803449B1AF2E7A74204D0344657 +S2140015B02046044B9847F8BD6046014B9847F8BD57 +S2140015C0FD190000291A00002DE9F0474469076953 +S2140015D001370761037E13F0010F13D1037E13F06A +S2140015E0020F0FD154B36368FB1AA268934207D365 +S2140015F0064600F11408DFF84890DFF848A012E02D +S214001600BDE8F087037E43F002030376BDE8F0876B +S2140016107569E3682046984785B12C466B68FB1AC7 +S214001620AA6893420AD34046C847237C012BEFD1D1 +S21400163067603A4621464046D047E9E7BDE8F0876E +S214001640311A00007115000038B50D46044678B111 +S214001650081C18BF01203B220649074B984729461D +S2140016602046064B984700202061054B236038BD76 +S2140016700020F0E760B50100D51900007D1F0000CE +S214001680C915000010B5044653220949003018BF9A +S2140016900120084B98472046074B984720B920461C +S2140016A0064B9847002010BD6FF0100010BD00BF1D +S2140016B060B50100D5190000392100002521000081 +S2140016C070B582B00D46044618B3081C18BF01203A +S2140016D07A221E491E4B9847237E43F00103237649 +S2140016E004F11406294630461A4B984798B92369E0 +S2140016F06B60226929463046174B9847237E03F0D5 +S214001700FE032376237E13F0020F10D1002002B0D2 +S21400171070BD0020DCE7237E03F0FE0323767F22E5 +S2140017200A4900200A4B98476FF01100EFE701A81E +S2140017300A4B9847237E03F0FD0323762046084B8A +S214001740984701A8074B98470020E0E760B50100DE +S214001750D5190000DB19000071150000D114000037 +S21400176051210000DF14000008B500238362C3691E +S2140017701BB1A0F108021046984708BD08B5002323 +S2140017808362436A1BB1A0F108021046984708BD61 +S21400179038B50446A0F108052C30034B9847236A59 +S2140017A00BB12846984738BDD11A000070B50E46D2 +S2140017B015460446E0B1E9B1101C18BF012040F2FE +S2140017C03B120F490F4B9847B4F84420B4F84C30FE +S2140017D09A4211D1A664A4F84C500023A4F84430D1 +S2140017E00123236304F10800074B9847284670BD81 +S2140017F00020E4E70020E2E76FF01B0070BD00BFAA +S21400180078B50100D5190000BB1E000010B50446CF +S214001810838FB0F844209A4209D0026C591C818705 +S214001820D15C044B98472046034B984710BD034BAA +S214001830984710BDB51E0000BB1E0000C31E00006A +S2140018402DE9F04782B00F4690460646A0B199B102 +S214001850002A2DD14FF4AC7229490020294B984715 +S21400186001A8294B984706F13400284B984701A851 +S214001870274B984700253EE04FF4AC7220490020E5 +S214001880204B984701A8204B984706F1340A50464B +S2140018901E4B9847814601A81D4B9847B9F1000F8B +S2140018A004D0B8F1000F19D1002524E0002522E06D +S2140018B04FF4AC7212490120124B984701A8124B04 +S2140018C0984706F1340A5046104B9847814601A8BF +S2140018D00F4B98470025B9F1000F0CD000240D4E91 +S2140018E0601C85B239195046B04701344C4502D2C7 +S2140018F0A3B29845F4D8284602B0BDE8F08700BFEA +S21400190078B50100D5190000D1140000111B0000A5 +S214001910DF1400008D1A0000F8B50D4616461F4667 +S214001920044620B329B332B3181C18BF01203A224C +S2140019301349144B98473A46314604F13400124B8B +S2140019409847D0B9294604F10800104B984703463B +S21400195058B90F4A62600F4A22600F4AA2600F4AC7 +S214001960E2600F4A22610F4A62611846F8BD002005 +S214001970DDE70020DBE70020D9E76FF00C03F4E793 +S21400198078B50100D51900003D1A00001D1E0000A4 +S21400199041180000AD1700000D1800009117000058 +S2140019A0691700007D17000010B50446612206493D +S2140019B0003018BF0120054B984704F10800044B7F +S2140019C09847002010BD00BF78B50100D51900006B +S2140019D0A11E000000B900BE704703684BB18B42E1 +S2140019E009D01B681BB19942FBD10120704700202B +S2140019F070470020704701207047000038B5044645 +S214001A000D46064B984780F0010039220449C0B2C3 +S214001A10044B984723682B60256038BDDB1900000F +S214001A2098B50100D519000003680B600160704787 +S214001A3003680BB11A6802601846704770B50E4608 +S214001A401546044678B181B1A2B1012028220D497D +S214001A500D4B98476B1E1D4209D163600020A060A5 +S214001A60E060266070BD0020F0E70020EEE76FF033 +S214001A700C0070BD282203490020034B98476B1EBC +S214001A80EBE700BFB8B50100D519000038B50D4624 +S214001A900446A0B1081C18BF012040220A490B4B7F +S214001AA09847A368E2689A420BD06268134022689F +S214001AB0D35C2B70A3680133A360002038BD0020E0 +S214001AC0EBE76FF0090038BDB8B50100D519000086 +S214001AD038B50D46044651220B49003018BF012088 +S214001AE00A4B9847E368626813402268D554E36857 +S214001AF06168A2689A1A8A4284BF591AA1600133A3 +S214001B00E360002038BD00BFB8B50100D51900005D +S214001B1010B5044667220549003018BF0120044B63 +S214001B209847E068A368C01A10BD00BFB8B50100AA +S214001B30D5190000430900F01F00012202FA00F048 +S214001B404033024A42F82300704700BF00E100E03D +S214001B50C0EBC00000EB00100230024BA3FB0030CD +S214001B6040087047ABAAAAAAC0EBC00000EB001062 +S214001B700230044BA3FB003040084FF47A7303FB9B +S214001B8000F07047ABAAAAAA704700000000000049 +S214001B900139FDD8704700BF08B5094A13889BB2C3 +S214001BA043F4A0631380074B9847074B9847074BAF +S214001BB09847074B984740F6FF70064B984708BD76 +S214001BC000400041091C0000291C0000FD1B00000D +S214001BD02D1C0000D91B000010F0010F08D0054A8C +S214001BE0054B1A62194643F6FD724B681342FCD148 +S214001BF0704700BF07010100001C00400122014B96 +S214001C005A71704700080040064B42F28E329A82A4 +S214001C1000229A75DA75DA6902F47C52DA610122DA +S214001C201A74704700140040704700000E4A0F4BAD +S214001C305A631A46D36B13F0060FFBD10B4B4FF4C7 +S214001C4002629A63022283F830201A46D36B13F09E +S214001C50020FFBD1054B1A6C12F0010F03D11A6C60 +S214001C6012F0020FF7D070474D0E01000010004032 +S214001C7000B583B00D4B9B78DBB20193019B13F04C +S214001C80020F06D00A4B1B681BB1084A50689847DB +S214001C9009E0019B13F0010F05D0054B5B6813B1FB +S214001CA0024A5068984703B05DF804FB0000024102 +S214001CB0706C002070B489B006466C460D4D0FCD92 +S214001CC00FC495E80F0084E80F00009BB3420DD0C8 +S214001CD0314601AB012053F8042B8A4207D001306D +S214001CE00828F8D1002009B070BC70470020C0B2A8 +S214001CF0F9E700BFDCB5010010B58469237E13F058 +S214001D00010F03D0A37D13F0010F12D1237E13F031 +S214001D10020F03D0A37D13F0020F0FD1237E13F022 +S214001D20040F15D0638B03F0370363B1FF2363837F +S214001D3010BD012323750368984710BD0223237541 +S214001D408368984710BDA16A4368C9B2984710BD1A +S214001D50237EDB0900D110BD80232376C368984715 +S214001D60638B9BB26383F6E708B5034B9847800006 +S214001D702E3000F0FE0008BDB51C000010B504466D +S214001D80214B9847022805D040F26B221F490020BD +S214001D901F4B9847E36913F0010F19D1E36913F05D +S214001DA0030FFBD1236813F0020F0BD0236823F038 +S214001DB002032360E36913F0030FFBD1E36913F01A +S214001DC0020FFBD105232360E36913F0030FFBD159 +S214001DD0E36913F0010FFBD10E4B2360E36913F0A8 +S214001DE0030FFBD14FF440336360E36913F01F0F1A +S214001DF0FBD1094BA3604FF61143A3810020A073CB +S214001E0084F8300010BD00BFB51C000014B60100F9 +S214001E10D5190000040010400200700070B50D4691 +S214001E200646CB221849003018BF0120174B9847AA +S214001E302846174B9847044608B1204670BDB56142 +S214001E40144B9D4204BF144B1E602846134B984704 +S214001E50011DC9B2012500F01F0205FA02F243096E +S214001E609B0003F1604303F56143C3F88020BFF392 +S214001E704F8FBFF36F8FC3F880211A600130C0B256 +S214001E808142E8D1D9E700BF14B60100D519000099 +S214001E907D1D000000200141C8000020691D0000D3 +S214001EA08269136843F002031360D36913F0030FCB +S214001EB0FBD17047836999627047836901229A75DE +S214001EC07047836902229A757047000008B5024B76 +S214001ED01868024B984708BDC8000020F91C00008F +S214001EE008B5024B1868024B984708BDC80000208A +S214001EF0F91C000008B5024B1868024B984708BD4D +S214001F00C8000020F91C000008B5024B1868024BF8 +S214001F10984708BDC8000020F91C000070B588B0BE +S214001F2006466C46124D0FCD0FC495E80F0084E8A8 +S214001F300F00009BB3420BD0304601AA012352F893 +S214001F40041B814205D00133082BF8D100200BE09A +S214001F50002313F0FF0F09D04FF49E7205490020AE +S214001F60054B98474FF0FF3008B070BD0020FBE7E8 +S214001F7030B6010064B60100D519000070B50646FB +S214001F800C460846604B98470546F4608D225F492C +S214001F9001205F4B9847236913F0010F19D123697D +S214001FA013F0030FFBD1236813F0020F0BD0236846 +S214001FB023F002032360236913F0030FFBD1236988 +S214001FC013F0020FFBD101232360236913F0030FE4 +S214001FD0FBD1236913F0010FFBD105EB85034D4AB6 +S214001FE002EB83035A6A2260236913F0030FFBD1C6 +S214001FF005EB8503474901EB830393F82A10E17349 +S2140020001B8DE3800123237302F00C02082A48D0BC +S214002010002A58D105EB85033E4A02EB83039B8DCD +S214002020A383236913F0C00FFBD10023E383236946 +S21400203013F0C00FFBD101236372374B9C4204BFE1 +S214002040364B1E6005EB8503324A02EB8303B3F979 +S2140020502230002B23DB5A0903F01F03012101FA6B +S21400206003F320322E4941F82230BFF34F8FBFF3DF +S2140020706F8F05EB8505274B03EB8505B5F92230F9 +S214002080002B0CDB590903F01F03012202FA03F3AD +S214002090234A01F1600042F8203042F82130002047 +S2140020A070BD05EB85031B4A02EB8303DB6AE36125 +S2140020B0236913F0C00FFBD100232362236913F0BA +S2140020C0C00FFBD1B7E7042AB5D105EB8503114A4B +S2140020D002EB830393F82C302377236913F0C00FA9 +S2140020E0FBD100236377236913F0C00FFBD105EB08 +S2140020F08503084A02EB830393F82B30E3762369C3 +S21400210013F0200FFBD196E71D1F000064B60100F8 +S214002110D519000030B6010000380040CC00002081 +S21400212000E100E0C268136843F00203136013691D +S21400213013F0030FFBD17047C268136913F0030F47 +S214002140FBD11068C0F340007047002070470000C5 +S21400215010B5C068094B9847044640F20F1208496C +S2140021600120084B984704EB8404074B03EB8404D8 +S21400217094F82200054B984710BD00BF1D1F0000B5 +S21400218064B60100D519000030B60100351B00000A +S21400219008B5064B1868C3689A7A12F0010F00D18A +S2140021A008BD01229A7203689847F9E7CC00002020 +S2140021B008B5024B9847024CA047FDE7C521000032 +S2140021C09922000030B58DB01E4B98471E4B98479D +S2140021D01E4B98471E4B98471E4B98471E4B9847DA +S2140021E01E4B98471E4C4FF4965300221D4920461E +S2140021F01D4DA84701A81D4B98471D4B04930294FC +S21400220001A81C4B984700201B4B98470546002109 +S2140022101A4B984704461A491A4B9847002211460B +S2140022202046194CA04700212846184B98470546DB +S21400223023225A21A04716492846164B98470DB028 +S21400224030BD00BF991B0000251400008513000058 +S21400225051120000AD13000069280000D1020000F2 +S21400226050260020D0000020710D0100110D010045 +S214002270A50C0000910D01004D2300006D98010093 +S21400228078B60100119601003D34000005AB010050 +S214002290E03B020005A8010008B50120024B984764 +S2140022A0024B984708BD00BF21150000CD3701003E +S2140022B0003018BF01207047F0B5C3B0054614467D +S2140022C01C4B9847E5282CD8064602AF02462946FE +S2140022D03846194B9847BD192023BB5528236B70E9 +S2140022E03023AB707823EB70291D1C22134824FA88 +S2140022F002F303F00F0303441B7D01F8013B043A8D +S21400230012F1040FF3D129232B7300236B7302AB56 +S21400231000930B4BBC220B4903200B4CA04743B049 +S214002320F0BD0095064BBF2206490320064CA04789 +S214002330F5E700BF1FB5010055260100EC3B020083 +S214002340143C0200283C02005D22010008B1C06B6C +S214002350704710B582B0084B984710B1C06B02B0FA +S21400236010BD064B0093064B2E2206490220064C53 +S214002370A0470020F3E700BFE10E0100043E020084 +S214002380303D0200D83D02005D22010008B1006C1D +S214002390704710B582B0084B984710B1006C02B079 +S2140023A010BD064B0093064B4B2206490220064CF6 +S2140023B0A0470020F3E700BFE10E0100403E020008 +S2140023C0443D0200D83D02005D22010008B1406C89 +S2140023D0704710B582B0084B984710B1406C02B0F9 +S2140023E010BD064B0093064B5C2206490220064CA5 +S2140023F0A0470020F3E700BFE10E01007C3E02008C +S2140024005C3D0200D83D02005D220100A0B138B557 +S21400241003460024094D93F8342002F02002002AD7 +S21400242018BF1C461846A84703460028F3D114B127 +S2140024302046034B984738BD704700BF7D2C0000F0 +S214002440B53300002DE9F84F037D13F0010F2AD1B4 +S21400245017468A460646C4684FF001090025DFF88D +S214002460C480AB464AE0337D13F0100F00D1D5B9D7 +S214002470B9F1000F17D03046D0470446002D35D0AE +S214002480D94646E0F368A3420DD093B11868C369F5 +S214002490002217219847F36800220E2118681E4B69 +S2140024A09847012801D0BDE8F88FF36818681B4BE1 +S2140024B09847F4602068C369002216219847F3689D +S2140024C000220D211868144B98470128EBD1F368B9 +S2140024D01868134B9847F3681868104B9847336989 +S2140024E0002BE0D030469847BDE8F88F0028DAD0B9 +S2140024F00546D9462068C0470028C3D0002CB2D075 +S214002500002D08BF254621463046B8470446A84257 +S214002510C9D0002CEED1F1E7CD2A0000213300000F +S2140025200D240000A531000008B518210148024B13 +S214002530984708BDEC6D0020F91E010008B5024A58 +S2140025400249034B984708BDBD1F0100A91F0100A3 +S2140025504524000008B5024A0249034B984708BDC7 +S214002560E91F0100B31F01004524000038B50446EA +S214002570037DC3F3001543F01003037513F0080F33 +S2140025800CBF044B044B9847237D65F30413237557 +S21400259038BD00BF3D2500005525000000284FD05F +S2140025A0F0B583B005460C460746264B98470146CD +S2140025B0A0B103689C4207D0234E3846B047014678 +S2140025C060B10B68A342F8D1204B0093204B7522D4 +S2140025D020490120204CA04703B0F0BDA36B73B187 +S2140025E020461E4B984750B1A06B1D4B98471D4B7D +S2140025F00093174B7F2217490120174EB047A5635B +S2140026002846194B98470646184B984758B1002E4F +S214002610E2D0346028460B4B98478642DCD12846E9 +S2140026200F4B9847D8E70A4B0093852209490320A9 +S214002630094CA047324600230D480E498847FEE75E +S214002640704700BFA91F0100BD1F0100E83F020040 +S214002650983F0200AC3F02005D220100F94F0000E7 +S2140026606D250000244002005D1F0100B12200001D +S214002670D83F0200B92200002DE9F041D0F838809A +S214002680B8F1000F51D0D8F80C30002B4DD00546CD +S2140026901B6898421ED046464046254B984704463F +S2140026A0002842D003689D4209D0224F214630467A +S2140026B0B8470446002838D023689D42F6D1214604 +S2140026C040461D4B984720461C4B98470023AB635B +S2140026D0BDE8F08198F8143013F0010F05D098F893 +S2140026E014306FF3000388F814304046104B9847B8 +S2140026F0D8F80C3083420BD04046114B9847D8F898 +S2140027000C301B689D4204BF0023C8F80C30C2E79B +S21400271040460C4B9847D8F80C309842ECD10068ED +S214002720C369002217219847E9E7BDE8F08100BF9A +S214002730A91F0100BD1F010095200100C52401004E +S2140027406D250000B31F010018B1C3681BB11868DF +S2140027507047002070470020704718B1007DC0F316 +S2140027604000704700207047014B5868704700BF14 +S21400277074260020F8B5B0B1034690F8502042F019 +S214002780020280F85020184A5268904204D039B1AC +S214002790DA6B914204D0F8BD0020134A1060F6E7C9 +S2140027A00022DA63F8BD0C460020104B984703461B +S2140027B00028F0D00C4D00270C4E05E0DF631846CD +S2140027C0B04703460028E6D093F8502042F00202B5 +S2140027D083F850206A689A4208BF2F60002CEDD01C +S2140027E0DA6B9442EBD1E9E7742600202110010051 +S2140027F008B500210846014B984708BD752700001C +S214002800014B1868704700BF742600202DE9F0477A +S2140028108946904600F1040A5046114B9847E0B1AD +S21400282004461FFA89F61FFA88F50E4F238A3344AA +S2140028302382638A2B446382A38A3344A382E38A77 +S2140028402B44E382424649462046FFF7DFFF2146F7 +S2140028505046B84704460028E8D1BDE8F08700BFD8 +S214002860A91F0100BD1F010030B585B0214B1B78A4 +S214002870002B36D1204B9847204B9847204B984743 +S214002880204B9847204B984710212048204CA047C3 +S214002890204B02930193009302224FF01F014FF644 +S2140028A000001D4DA8471D4B98471D4B98474FF4F9 +S2140028B0B8711C48A04760211B48A0471B4B98478F +S2140028C01B4B984701201B4B98470120094B18705B +S2140028D0194B0093194BA22219491A4CA04705B070 +S2140028E030BD194B0093154B782215490220154C24 +S2140028F0A047F4E77C260020BD230100ED3501004B +S214002900791C01009D120100292500003C6D002065 +S214002910F91E010010000020496B0100D1410100A2 +S214002920555E0000986C00208C6C0020F12700009B +S214002930C1FF00002DF400001C48020058400200B1 +S214002940DC4702005D2201000448020030B583B077 +S21400295004460D460C4B984738B194F8343065F36E +S214002960C71384F8343003B030BD084B009340F2F0 +S214002970945207490320074DA847224600230648DD +S21400298006498847FEE700BFB1220000B4400200B7 +S214002990DC4702005D2201003C480200B92200002C +S2140029A030B583B004460D460C4B984738B194F8C2 +S2140029B0343065F3000384F8343003B030BD084B80 +S2140029C000934FF4B46207490320074DA8472246F8 +S2140029D00023064806498847FEE700BFB1220000EC +S2140029E0CC400200DC4702005D2201003C480200A9 +S2140029F0B92200002DE9F04186B0074615461E466E +S214002A000C4621B10846284B9847002833D003943B +S214002A1000238DF810300593244B5B6803B10593B3 +S214002A20224B03AA5A60D3F808809E60204B984732 +S214002A3018B183680BB12946984717B12946204636 +S214002A40B8471A4BC3F808805A6892685A609DF8CF +S214002A501030F3B90CB394F8343013F0400F1ED096 +S214002A602068F0B132462946124B9847012814BF19 +S214002A70002001200EE0104B00934FF4DB620F495C +S214002A8003200F4DA847224600230E480E498847CC +S214002A90FEE7002006B0BDE8F0810120FAE701203D +S214002AA0F8E70120F6E700BFB12200007C260020F0 +S214002AB069270000CD2A00009C410200DC47020086 +S214002AC05D2201003C480200B9220000E8B170B562 +S214002AD082B0044616460D460D4B984768B90D4B16 +S214002AE0009340F2C4620C4903200C4DA8472246CE +S214002AF000230B480B498847FEE733462A46214603 +S214002B00A069094CA04702B070BD0120704700BF05 +S214002B10B1220000B0410200DC4702005D22010045 +S214002B203C480200B9220000F529000030B583B009 +S214002B3004460D46094B984710B1E56103B030BD19 +S214002B40074B009340F21B7206490320064DA84728 +S214002B5022460023054806498847FEE7B1220000C2 +S214002B60C0410200DC4702005D2201003C48020032 +S214002B70B922000020B110B5C4691CB1A04710BD31 +S214002B8001207047012010BD30B583B004460D46C5 +S214002B90094B984710B1256203B030BD074B009330 +S214002BA040F2377206490320064DA8472246002306 +S214002BB0054806498847FEE7B1220000D8410200D2 +S214002BC0DC4702005D2201003C480200B9220000FA +S214002BD030B583B004460D460D4B984768B90D4B8B +S214002BE0009340F249720C4903200C4DA847224638 +S214002BF000230B480B498847FEE72946606A0A4BC4 +S214002C009847034600B16062184603B030BD00BF67 +S214002C10B1220000F0410200DC4702005D22010004 +S214002C203C480200B92200009928010030B583B064 +S214002C3004460C4B984768B90B4B009340F2597208 +S214002C400A4903200A4DA8472246002309480A4994 +S214002C508847FEE700226286E369062120469847F9 +S214002C6003B030BDB12200000C420200DC47020077 +S214002C705D2201003C480200B922000030B583B056 +S214002C8004460A4B984710B1206803B030BD084B85 +S214002C90009340F29F7207490320074DA84722463B +S214002CA00023064806498847FEE700BFB122000019 +S214002CB028420200DC4702005D2201003C48020078 +S214002CC0B922000030B583B004460E4B984708B1D1 +S214002CD00D4D0EE00D4B009340F26B720C49032035 +S214002CE00C4DA847224600230B480C498847FEE7B0 +S214002CF01C462046A84703460028F9D1204603B0C4 +S214002D0030BD00BFB12200007D2C00003C42020016 +S214002D10DC4702005D2201003C480200B9220000A8 +S214002D202DE9F04383B00446224B984780B12368D0 +S214002D301BB12046204B984704462048204B984716 +S214002D40054660B3DFF878901E4EDFF8708012E01C +S214002D501D4B009340F27F721C4903201C4DA84770 +S214002D60224600231B481C498847FEE72946404662 +S214002D70B047054698B105F130073846C8470146C2 +S214002D800028F3D0844206D03846B04701460028D3 +S214002D90ECD08C42F8D1284603B0BDE8F0830F4B48 +S214002DA00093094B4FF4F26208490220084CA047F2 +S214002DB00025F0E7B1220000C52C0000986C00202A +S214002DC0A91F0100BD1F010050420200DC4702009F +S214002DD05D2201003C480200B92200004C48020077 +S214002DE030B583B004460D460D4B984730B19DB1C3 +S214002DF02946201D0B4B984703B030BD0A4B009365 +S214002E0040F2AD7209490320094DA8472246002327 +S214002E10084809498847FEE7201D084B9847EBE716 +S214002E20B1220000BD1F010060420200DC47020024 +S214002E305D2201003C480200B9220000A91F0100E3 +S214002E4030B583B005460C460E4B984760B105F189 +S214002E500F0204F10800234612F8011F03F8011BB5 +S214002E608342F9D103B030BD074B009340F6010210 +S214002E7006490320064CA0472A4600230548064973 +S214002E808847FEE7B1220000D8420200DC47020075 +S214002E905D2201003C480200B922000030B583B034 +S214002EA004460F4B984768B90E4B009340F6220233 +S214002EB00D4903200D4DA847224600230C480D4916 +S214002EC08847FEE720460C4B9847034628B1208AE1 +S214002ED01B8AC01A00B203B030BDB4F91000FAE77E +S214002EE0B1220000EC420200DC4702005D22010035 +S214002EF03C480200B92200007D2C000030B583B0AB +S214002F0004460F4B984768B90E4B009340F63602BE +S214002F100D4903200D4DA847224600230C480D49B5 +S214002F208847FEE720460C4B9847034628B1608A40 +S214002F305B8AC01A00B203B030BDB4F91200FAE7DB +S214002F40B1220000FC420200DC4702005D220100C4 +S214002F503C480200B92200007D2C000030B583B04A +S214002F6004460C4B984730B1A08A0130238AC01A19 +S214002F7000B203B030BD084B009340F64A02074942 +S214002F800320074DA84722460023064806498847DF +S214002F90FEE700BFB12200000C430200DC4702003F +S214002FA05D2201003C480200B922000030B583B023 +S214002FB004460C4B984730B1E08A0130638AC01A49 +S214002FC000B203B030BD084B009340F656020749E6 +S214002FD00320074DA847224600230648064988478F +S214002FE0FEE700BFB122000020430200DC470200DB +S214002FF05D2201003C480200B922000009B92830D1 +S214003000704700B583B08DF80010002301936A4620 +S2140030100821044B984701280CBF0198002003B0F4 +S2140030205DF804FB752B00002DE9F84F80468A46B4 +S21400303093461E461C481D4B9847002831D005462F +S214003040B0422ED0DFF86090194F09E0AB885B45A0 +S21400305014D0BBF1FF0F11D01CB32546A64220D0DA +S21400306029464846B847044628684045F4D1A97919 +S2140030705145EBD0BAF1FF0FEED1E7E70D4B98477D +S2140030800D4B9847A9880D4B9847002128460C4BB6 +S2140030909847294648460B4B984728460A4B984778 +S2140030A0DAE7BDE8F88F00BF3C6D0020B31F0100D3 +S2140030B0E91F0100FD2F0000E7700000ED6700002B +S2140030C02913010095200100C524010030B583B006 +S2140030D004460D460B4B984748B10B4B98470023C8 +S2140030E0FF2229462046094CA04703B030BD084BB6 +S2140030F00093084B40F2924207490220074CA04733 +S214003100F3E700BFFD2F0000F97000002930000033 +S21400311098480200E4430200DC4702005D220100FA +S214003120F8B504681748184B984708B301460027B7 +S214003130144E164D03E03046A847014678B18C423F +S214003140F9D00A6823689A42F5D14B6823F07F428B +S214003150636823F07F439A4208BF0127EBE73FB13D +S214003160214608480A4B984720460A4B9847F8BD20 +S214003170A1792068084B9847084B9847A188084BC8 +S2140031809847EDE73C6D0020A91F0100BD1F010018 +S21400319095200100C5240100FD2F0000E770000007 +S2140031A0ED67000030B583B004460B4B984728B156 +S2140031B094F83400C0F3001003B030BD074B009302 +S2140031C040F6412206490320064DA8472246002322 +S2140031D0054806498847FEE7B1220000344402004D +S2140031E0DC4702005D2201003C480200B9220000D4 +S2140031F02DE9F04186B004460E463A4B984768B92A +S214003200394B00934FF4F07238490320384DA847E5 +S21400321022460023374838498847FEE72046374B82 +S214003220984710B106B0BDE8F0812046344B984769 +S2140032300746344B98470546334B9847874209D094 +S2140032402846324B9847874204D02846304B98474A +S2140032508742E7D1B4F9323004F10F0204F11700C7 +S21400326002A912F8017F01F8017B8242F9D19BB2D4 +S214003270BDF80820D21AADF80820BDF80A20D21AE8 +S214003280ADF80A20BDF80C201A44ADF80C20BDF8A5 +S2140032900E201344ADF80E3002AA314604A81D4B8A +S2140032A098470028BED020461B4B9847044698B146 +S2140032B0DFF86080114F184E04F1100204A908468A +S2140032C0C0470028AED02046B8470028AAD12046DE +S2140032D0B04704460028EFD104A928460F4B98476C +S2140032E0A0E700BFB122000048440200DC4702000D +S2140032F05D2201003C480200B9220000A531000012 +S214003300C52C0000212D00004D2300008D23000059 +S214003310CD230000191501007D2C0000595E000029 +S21400332030B585B004461C4B984738B3B4F93230F4 +S21400333004F10F0204F1170502A912F8010F01F8B3 +S214003340010BAA42F9D19BB2BDF80820D21AADF8FB +S2140033500820BDF80A20D21AADF80A20BDF80C20C5 +S2140033601A44ADF80C20BDF80E201344ADF80E300C +S21400337002A92046094B984705B030BD084B00937C +S21400338040F20D2207490320074DA8472246002396 +S214003390064807498847FEE7B1220000F1310000E1 +S2140033A060440200DC4702005D2201003C48020047 +S2140033B0B9220000F0B583B00546164B984768B9A9 +S2140033C0154B009340F2622214490320144CA04788 +S2140033D02A460023134814498847FEE72846134B1D +S2140033E098470446061D3046114B984785420FD035 +S2140033F02046104FB84701232A46314630460E4E27 +S214003400B047E3692A460121204698472046B84738 +S21400341003B0F0BDB122000074440200DC47020095 +S2140034205D2201003C480200B92200007D2C00000D +S214003430A91F010021330000212101002DE9F047DA +S21400344084B004468A4617462D4B984700283ED03F +S2140034502668002E49D0338A228A9B1A53441FFAC4 +S21400346083FA0FFA8AF8758A638AED1A3D44ADB27C +S2140034700FFA85F9B8F1000F02D1B9F1000F23D089 +S2140034802046204FB84702A920461F4B9847238A5C +S21400349053442382638A2B446382A38A5344A382C1 +S2140034A0E38A1D44E5824A4641462046174B984724 +S2140034B0E36902AA022120469847F36922460121C1 +S2140034C0304698472046B84704B0BDE8F087104B12 +S2140034D0009340F296220F4903200F4DA84722463C +S2140034E000230E480E498847FEE70E4B0093084B14 +S2140034F04FF4277207490220074CA047E4E700BFB5 +S214003500B122000021330000412E00000D280000EB +S214003510A4440200DC4702005D2201003C48020091 +S214003520B9220000D048020030B583B004460D46EC +S2140035300D4B984768B90D4B00934FF433720C4906 +S21400354003200C4DA847224600230B480B4988470A +S214003550FEE720460A4B9847024629462046094B76 +S214003560984703B030BD00BFB1220000B44402004B +S214003570DC4702005D2201003C480200B922000040 +S214003580FD2E00003D34000030B583B004460D46E5 +S2140035900D4B984768B90D4B00934FF436720C49A3 +S2140035A003200C4DA847224600230B480B498847AA +S2140035B0FEE720460A4B98472A4601462046094B16 +S2140035C0984703B030BD00BFB1220000C4440200DB +S2140035D0DC4702005D2201003C480200B9220000E0 +S2140035E09D2E00003D3400002DE9F04385B00446D2 +S2140035F00D4690461F46BDF930602C4B984768B97B +S2140036002B4B009340F26D322A4903202A4DA847DF +S2140036102246002329482A498847FEE78DB12846D6 +S214003620224B984790B9224B009340F271322149C1 +S2140036300320214CA0472A460023204820498847DB +S214003640FEE720461F4B98470546E8E703AB424691 +S21400365004F1100105F11000DFF87090C84720460D +S214003660184B9847B0F91230BDF80E203244BDF81A +S2140036700C103944008A091A09B2ADF80C10D21A97 +S21400368012B2ADF80E2020460F4B984784F84880BB +S214003690A4F84470A4F84660256494F849306FF3A3 +S2140036A0410384F8493005B0BDE8F083B12200003C +S2140036B0D4440200DC4702005D2201003C480200C0 +S2140036C0B92200007D2C00003D34000025180100C2 +S2140036D02DE9F04F85B081460E4692460393BDF91C +S2140036E038B0A34B984768B9A24B009340F2953286 +S2140036F0A1490320A14CA0474A460023A048A1495F +S2140037008847FEE74846A04B9847054648469F4BE5 +S2140037109847044648469E4B984700EBD07040F3C7 +S2140037204F0848469B4B984700EBD07040F34F0736 +S214003730EEB130468E4B9847F0B1BAF1140F39D837 +S214003740DFE81AF028005C0062006D0076007F005B +S2140037508D009900A500B400BA00C500CE00D700C1 +S214003760E500F100F70003010C012E013D0148467B +S214003770894B98470646DCE77E4B009340F2A13221 +S2140037807D4903207D4CA047324600237C487D4976 +S2140037908847FEE730467E4B984700EBD070C8EB74 +S2140037A060052DB230467B4B984700EBD070C7EBD8 +S2140037B0600424B24846784B9847318A039F3944C0 +S2140037C02944038AC91A728A5A442244438AD21A5E +S2140037D012B209B24846714B984789F848A0A9F832 +S2140037E04470A9F846B0C9F8406099F8493043F0EB +S2140037F0020389F8493005B0BDE8F08FC8F100052E +S2140038002DB27C4224B2D5E73046614B984700EB98 +S214003810D070C8EB60052DB27C4224B2CAE73046B1 +S2140038205B4B9847A0EB080005B27C4224B2C1E788 +S214003830C8F100052DB23046564B9847C01B04B25F +S214003840B8E73046524B984700EBD070C8EB60059F +S2140038502DB230464F4B9847C01B04B2AAE73046FD +S2140038604B4B9847A0EB080005B23046494B9847AB +S214003870C01B04B29EE7C8F100052DB23046454B8A +S214003880984700EBD070C7EB600424B292E730464E +S2140038903F4B9847A0EB080005B230463D4B984793 +S2140038A000EBD070C7EB600424B283E7C8F10005D4 +S2140038B02DB27C4224B27DE73046354B984700EB6C +S2140038C0D070C8EB60052DB27C4224B272E7304659 +S2140038D02F4B9847A0EB080005B27C4224B269E75C +S2140038E0C8F100052DB230462A4B9847C01B04B2DB +S2140038F060E73046264B984700EBD070C8EB600573 +S2140039002DB23046234B9847C01B04B252E73046D0 +S2140039101F4B9847A0EB080005B230461D4B984752 +S214003920C01B04B246E7C8F100052DB27C4224B2A3 +S21400393040E7C8F100052DB23046164B984700EB1D +S214003940D070C7EB600424B234E7C8F100052DB28E +S2140039503046104B9847C01B04B22BE730460C4B42 +S2140039609847A0EB080005B27C4224B222E700BFCD +S214003970B1220000E4440200DC4702005D220100A0 +S2140039803C480200B92200009D2E0000FD2E0000DB +S2140039905D2F0000AD2F00007D2C00003D340000A0 +S2140039A030460D4B9847A0EB080005B230460B4B4F +S2140039B0984700EBD070C7EB600424B2FAE63046B6 +S2140039C0054B9847A0EB080005B23046034B9847D6 +S2140039D0C01B04B2EEE600BF5D2F0000AD2F000056 +S2140039E030B583B00446124B984790B194F84930EE +S2140039F013F0020FB4F9443094F84820B4F9461096 +S214003A000091216C204614BF0A4C0B4CA04703B013 +S214003A1030BD0A4B009340F22A4209490320094D63 +S214003A20A84722460023084808498847FEE700BF03 +S214003A30B1220000D1360000E9350000F84402004B +S214003A40DC4702005D2201003C480200B92200006B +S214003A502DE9F041064600210D4B9847B0B10446CB +S214003A600C4D4FF000080A4F2046A847E36942462F +S214003A700421204698472046A8472046FFF7E8FF3F +S214003A8021463046B84704460028EDD1BDE8F0810F +S214003A90E12D00002133000030B583B005460C460A +S214003AA0364B984798B1712C46D8702C23D2412CAF +S214003AB01BD8402C1FD2022C05D3072C1BD9A4F1EF +S214003AC01003082B17D928462D4B98472FE02D4B6F +S214003AD0009340F21D522C4903202C4CA0472A4646 +S214003AE000232B482B498847FEE7532C21D8502C1F +S214003AF001D24C2CE7D12846214B9847EB6900228F +S214003B00042128469847152C09D3182C01D9FF2CD8 +S214003B1005D1286818B1C3690022012198472846B4 +S214003B20174B9847FF2C24D014F4004F21D103B034 +S214003B3030BD5C2CC7D1DEE77F2C0CD948F2810360 +S214003B409C4211D848F280039C42D4D2902CD2D00A +S214003B50FF2CB8D1CFE77E2CCDD2732CB3D3752CE7 +S214003B60C9D97C2CAFD1C6E748F28E039C42AAD1B5 +S214003B70C1E72846084B9847D9E700BFB1220000A6 +S214003B802133000008450200DC4702005D220100E8 +S214003B903C480200B9220000513A000010B5044625 +S214003BA0034B9847FF212046024B984710BD00BFA5 +S214003BB0CD300000993A00002DE9F84304460F4640 +S214003BC00026DFF888803546DFF8849005E0FF2180 +S214003BD03846C8470136402E22D0F1B23846C04794 +S214003BE08646E8B101790029F4D090F805C00CF0BB +S214003BF0060C0023DAB2BCF1060F04BF0132D2B2C3 +S214003C008A423ABFDEF8000050F822202A46944244 +S214003C10DDD0002CDBD00133DAB28A42EAD3D9E712 +S214003C2000213846084B9847054650B1064E2946AF +S214003C302046FFF7C1FF29463846B047054600280C +S214003C40F5D1BDE8F88300BFE12D0000FD2F000090 +S214003C50993A00002DE9F047804600200F4B984720 +S214003C60C8B18146DFF840A00D4F0E4E09F1300571 +S214003C702846D047044640B121464046B84721462C +S214003C802846B04704460028F6D14846034B9847D6 +S214003C9081460028EAD1BDE8F08700BFB90F0100D1 +S214003CA0B93B0000BD1F0100A91F0100F8B504467E +S214003CB00D4681790068424B9847424B9847A18849 +S214003CC001F00F03082B19DC45B9B4F908203E4B68 +S214003CD09847A18820683D4B9847F8BDFF2D0AD02D +S214003CE0B4F90820B4F90C309B1A05FB03F502EB77 +S214003CF0252212B2EBE7B4F90C20E8E70B2B43DCE5 +S214003D00002D05DDFE2D05DDA289314B9847E0E745 +S214003D102289FAE7EDB2C5F1FF02637BDB08667A1B +S214003D20F60802FB06F605FB036303EB032703EB2B +S214003D30C713C3F3C457A389C3F345132689C6F331 +S214003D40451602FB06F605FB036303EB032603EBAF +S214003D50C613C3F3C556237B03F01F0394F808E08D +S214003D600EF01F0E02FB0EF205FB032505EB0523E6 +S214003D7005EBC315ED0D4FF0000265F3040266F384 +S214003D804A1267F3CF22C0E70D2B12DC002D05DDAB +S214003D90FE2D05DD227B0F4B98479AE7227AFAE73D +S214003DA0227A237B9B1A05FB03F502EB2522D2B26F +S214003DB0F1E77F2DD4BFA268E268074B984788E7F3 +S214003DC0FD2F0000E7700000E1680000993A00004F +S214003DD0256A0000696B0000996C000030B583B05E +S214003DE004460A4B984710B1002003B030BD084B7C +S214003DF0009340F6B12207490320074DA847224604 +S214003E000023064806498847FEE700BFB1220000A7 +S214003E10D8450200DC4702005D2201003C48020053 +S214003E20B9220000F0B583B00D46064688B19D4B1A +S214003E309847002840F064819B4B0093ED229B49F5 +S214003E4003209B4CA047324600239A489A4988474D +S214003E50FEE79A4B984748B9994B0093924BCF226E +S214003E6092490220924CA0473446F5E13030954BFB +S214003E70984704468B4B984760B98B4B0093D422E7 +S214003E808A4903208A4DA847224600238E488A493D +S214003E908847FEE7002C00F0DF814C2120468B4B44 +S214003EA0984794F835306FF3051384F83530884B0F +S214003EB0E361884B23620027A76127826782384622 +S214003EC0854B98470138A0823846844B984701387E +S214003ED0E0824C21201D824B98470023638684F89D +S214003EE0303084F8313084F84830A4F84430A4F8F0 +S214003EF04630236494F8492063F3000284F849208E +S214003F00A36394F8342002F07F0242F0010294F892 +S214003F103510032060F3430184F83C3002F0C10200 +S214003F2063F3861284F8342041F0010184F83510DA +S214003F3084F83D30636204F128073846694B984799 +S214003F40002D00F06C8105F128013846664B984735 +S214003F5005F10F0204F1180104F1100312F8010F25 +S214003F6003F8010B8B42F9D1B5F93230638695F828 +S214003F70303084F8303095F8313084F8313095F8A8 +S214003F80483084F84830B5F94430A4F84430B5F9E0 +S214003F904630A4F846302B6C236495F8492094F8F4 +S214003FA0493062F3000384F84930AB69A36195F8A1 +S214003FB03430DB0994F8342063F3C71284F83420D5 +S214003FC095F8342094F8343062F3000384F83430E3 +S214003FD095F83430C3F3400394F8342063F3410279 +S214003FE084F8342095F83530C3F3420394F835202E +S214003FF063F3430284F8352095F83430C3F3800326 +S21400400094F8342063F3820284F8342095F8343030 +S214004010C3F3C003D2B263F3C30284F8342095F826 +S2140040203430C3F30013D2B263F3041284F834209E +S21400403095F83430C3F34013D2B263F3451284F8D4 +S214004040342095F83430C3F38013D2B263F386126B +S21400405084F8342095F83C3084F83C3095F83520C8 +S21400406094F8353062F3000384F83530A86B10B14D +S21400407021461E4B984728461D4B9847002800F0BF +S214004080D980002E00F0DF8028461A4B9847074656 +S2140040902846194B9847024639462046174B9847FC +S2140040A0C9E000BFB1220000EC450200DC47020078 +S2140040B05D2201003C480200B9220000E10E01002A +S2140040C038490200111F0100D83F0200372B0100BB +S2140040D0055A000029540000ED0E0100150F0100DE +S2140040E0F91E0100E9640000697100009D250000CA +S2140040F07D2C00009D2E0000FD2E00003D340000AB +S214004100301D574B98470446564B9847002847D0D3 +S214004110002C00F0A1804C212046534B9847266087 +S21400412094F835306FF3051384F835304F4BE36160 +S2140041304F4B23620020A061B6F912306382778A63 +S2140041404C4B9847322303FB00F35033B3F5A07F64 +S21400415033DA01233B44E3822046474B9847012845 +S2140041603AD0B6F910302382378A0020414B984760 +S214004170642303FB00F35033B3F5A07F4DDB002030 +S2140041803C4B9847642303FB00F350333B4A82FBC7 +S2140041900312DB17C3EBA2139BB23B44A38298E641 +S2140041A0374B0093F02237490320374DA847224665 +S2140041B00023364836498847FEE700202D4B9847AF +S2140041C0322303FB00F350332C4A82FB0312DB1727 +S2140041D0C3EBA2139BB2BDE7B6F91430A382B78A2D +S2140041E00020244B9847642303FB00F35033B3F5B9 +S2140041F0A07F10DB00201F4B9847642303FB00F3CF +S21400420050331E4A82FB0312DB17C3EBA2139BB28A +S214004210FB1A23825DE60123FAE70123BDE726B1F8 +S214004220022120461B4B984705E001212046194BEA +S214004230984708E03EB1F369224601213046984788 +S2140042402046154B9847154B00930D4B40F28712AE +S2140042500C4901200C4DA847204603B0F0BD00BF16 +S214004260111F0100B1220000372B0100055A000083 +S214004270295400003D0F0100DD3D000067666666BC +S214004280EC450200DC4702005D220100D83F020038 +S214004290B9220000E94101002133000088490200EC +S2140042A02DE9F04184B004460D461646324B984739 +S2140042B068B9324B009340F2E52231490320314D74 +S2140042C0A84722460023304830498847FEE7204664 +S2140042D02F4B9847A8423FD020462E4B984702A91E +S2140042E020462D4B9847731E628A1344E38220466D +S2140042F02A4B9847012835D06B1E228A1344A38286 +S214004300E36902AA0221204698472046244B984794 +S21400431018B1C56922460121A847261D3046214B03 +S2140043209847054668B14FF003081F4FEB6902AA8D +S21400433041462846984729463046B847054600284D +S214004340F4D12046134B984794F8493013F0010FE8 +S2140043500ED104B0BDE8F0812046144B9847B04219 +S214004360BAD1F6E7C5F10103A28A13442382C7E750 +S21400437020460F4B9847ECE7B1220000104602009B +S214004380DC4702005D2201003C480200B922000022 +S2140043905D2F000021330000412E0000DD3D0000AF +S2140043A07D2C0000A91F0100BD1F0100AD2F0000DD +S2140043B0E139000030B583B004460D460D4B9847F2 +S2140043C068B90D4B009340F227320C4903200C4D80 +S2140043D0A847224600230B480B498847FEE720469D +S2140043E00A4B98472A4601462046094B984703B091 +S2140043F030BD00BFB122000034460200DC47020098 +S2140044005D2201003C480200B92200005D2F00003A +S214004410A142000030B583B004460D460C4B9847C9 +S21400442038B194F83C301D4214BF0120002003B080 +S21400443030BD084B009340F6D72207490320074DAE +S214004440A84722460023064806498847FEE700BFDD +S214004450B12200005C460200DC4702005D2201003B +S2140044603C480200B922000030B585B004460D462F +S214004470114B984728B13F2D11D894F83D0005B050 +S21400448030BD0E4B009340F6DE220D4903200D4D45 +S214004490A847224600230C480C498847FEE78DF8BB +S2140044A00C5000238DF80D3003AA09212046084B36 +S2140044B098479DF80D00E2E7B12200007046020022 +S2140044C0DC4702005D2201003C480200B9220000E1 +S2140044D0752B00002DE9F04F85B0174660B30D46EA +S2140044E04FEA122B0646DFF88CA0DFF88C90DFF838 +S2140044F08C8006E0BDF90E0005B0BDE8F08F002503 +S214004500DEB129463046D047019029463046C84796 +S21400451007EB002084B20DF10E0221460198C04739 +S2140045200128E7D01BF0800F07D0002DE7D13046DA +S2140045300F4B98470646E2E7144624F4FE44A4B21E +S214004540222C0FD006D8032C0AD0072C0CD14FF4FF +S2140045508070D1E7312C09D0C02C05D11020CBE7D4 +S2140045600620C9E7FF20C7E70020C5E70F20C3E7FE +S2140045707D2C0000FD2F000069440000E57200005D +S2140045802DE9F04F85B0174648B30D464FEA122B7B +S2140045900646DFF86CA0DFF86C90DFF86C8004E06D +S2140045A0BDF80C0025E00025D6B129463046D04798 +S2140045B0019029463046C84707EB002084B203AA7C +S2140045C021460198C0470128EAD01BF0800F07D08B +S2140045D0002DE8D13046084B98470646E3E71446D8 +S2140045E024F4FE44293C012C9ABF044BB3F874060D +S2140045F0002005B0BDE8F08F7D2C0000584002007A +S214004600FD2F000069440000A97300002DE9F04F5B +S21400461085B0174650B30D464FEA122B0646DFF814 +S21400462074A0DFF87490DFF8748004E09DF80F0043 +S21400463029E00025DEB129463046D04701902946BC +S2140046403046C84707EB002084B20DF10F02214622 +S2140046500198C0470128E9D01BF0800F07D0002D35 +S214004660E7D130460A4B98470646E2E7144624F45C +S214004670FE44A4B26D2C09D048F2AD039C4205D08E +S2140046802C2C03D0FF2005B0BDE8F08F0020FAE701 +S2140046907D2C0000FD2F0000694400006D740000B2 +S2140046A02DE9F04F85B0174650B30D464FEA122B52 +S2140046B00646DFF880A0DFF88090DFF8808005E00F +S2140046C0039805B0BDE8F08F0025D6B129463046E0 +S2140046D0D047019029463046C84707EB002084B2F1 +S2140046E003AA21460198C0470128E9D01BF0800F95 +S2140046F007D0002DE8D130460B4B98470646E3E737 +S214004700144624F4FE44A4B2BE2C0AD048F28E030B +S2140047109C4203D07E2C01D00020D2E7034B984762 +S214004720CFE70348CDE700BF7D2C0000DD41010048 +S21400473000920200FD2F0000694400003175000061 +S21400474070B50468A58805F00F03082B13DD0B2B46 +S21400475018DD0D2B1DDD2A46A1792068104B9847E1 +S214004760A0600023A38023462A46A17920680D4E28 +S214004770B047A58070BD2A46A17920680A4B9847A5 +S2140047802081EEE72A46A1792068084B98472081C9 +S214004790E7E72A46A1792068054B98472072E0E7AC +S2140047A0A146000029300000D544000081450000E5 +S2140047B00D46000090F83D308B4200F052822DE905 +S2140047C0F04FA1B089468246AB4B984740B19AF865 +S2140047D03DB08AF83D9000230693A84DD846D2E116 +S2140047E0A74B009340F23762A6490320A64CA04789 +S2140047F052460023A548A6498847FEE7737943F04A +S214004800040373718AF83D802246DDF80CB05946E1 +S2140048105046A84707468AF83D902246CDF80CB089 +S21400482059465046A847834673796FF382037371DF +S21400483087424AD08AF83D80224603995046A847C8 +S21400484006468AF83D90024621460498914B9847C2 +S214004850012C00F094809048904B98470746864B72 +S2140048609847002800F0A280002F2ED03E81A7F89F +S2140048700CB0C7F800A0BC809DF80C30BB7110A827 +S214004880874B98471097874B1193874B1293874B0C +S214004890139300231693FF2317930A9B1893099BE1 +S2140048A05B421993089A531ED01D14AA13F8011FD1 +S2140048B002F8011B8342F9D19DF876306FF30003AE +S2140048C08DF8763010A87A4B9847059B10AA93422D +S2140048D000F05481059B33F8024B0593002CF4D06E +S2140048E00798744B984703995046734B984706466B +S2140048F0724B9847049004F00F03082B7FF77EAFA7 +S2140049000B2B61DD0D2B00F3E980737943F0040374 +S21400491073718AF83D802246DDF80CB05946504641 +S214004920674FB8470B908AF83D902246CDF80CB0FA +S21400493059465046B847834673796FF382037371BE +S2140049400B9B8342C1D08AF83D802246039950468D +S214004950B84706468AF83D90024621460498594BC9 +S21400496098474D484D4B98470746434B9847002875 +S21400497074D0002FA9D03E7287F80CB079E747F6BE +S214004980FF739E4200F04C819B457FF464AF504617 +S214004990DFF844B1D84700EBD07040F34F075046DD +S2140049A0D84700EBD07040F34F0351E1464B0093DD +S2140049B040F6B26233490320334CA0473A46002300 +S2140049C0424833498847FEE7737943F0040373711E +S2140049D08AF83D802246039950463D4FB8478346A5 +S2140049E08AF83D90224603995046B847ADF82C0009 +S2140049F073796FF3820373711FFA8BFB83B29B4547 +S214004A003FF463AF8AF83D80224603995046B84784 +S214004A1083468AF83D900246214604982D4B9847D7 +S214004A201D481E4B98470746134B984740B1002F2A +S214004A303FF44BAFA7F808B0BDF82C30BB8118E7A1 +S214004A40214B009340F6C6620E4903200E4CA04749 +S214004A503A4600231D480E498847FEE71A4B009346 +S214004A6040F6DB6207490320074CA0473A4600237E +S214004A70164807498847FEE7B1220000D5440000E3 +S214004A80D0460200DC4702005D2201003C480200DE +S214004A90B9220000E16800003C6D0020111F0100F3 +S214004AA0E5120100AD3C0000414700002131000046 +S214004AB0A113010035720000FD2F0000E770000012 +S214004AC00D460000696B0000E4460200D83F020075 +S214004AD081450000256A00005D2F00008AF83D80B1 +S214004AE0737943F0040373712246DDF80CB059461F +S214004AF050465C4FB8470C908AF83D902246CDF859 +S214004B000CB059465046B847834620A941F8400D98 +S214004B1073796FF38203737104220CA8524B984783 +S214004B2000283FF4D2AE8AF83D80224603995046CC +S214004B30B84706460C908AF83D90024621460498EF +S214004B404A4B98474A484B4B984707464A4B984724 +S214004B5030B1002F3FF4B9AEBE60C7F80CB088E69F +S214004B60464B009340F6EF6245490320454CA0476C +S214004B703A460023444845498847FEE7069B0133EA +S214004B800693402B45D09DF818300393194650469F +S214004B903F4B9847079000283BD0437913F0080F07 +S214004BA0ECD1B022039C21465046A8470A90B12279 +S214004BB021465046A8470990BE2221465046294B1A +S214004BC098470890B22221465046A847ADF83400D0 +S214004BD0B32221465046A847ADF83600B4222146F7 +S214004BE05046A847ADF83800B52221465046A8479B +S214004BF0ADF83A00B62221465046A847ADF83C002C +S214004C00B72221465046A847ADF83E000DAB0593A7 +S214004C1060E6FF2150461F4B984721B0BDE8F08F55 +S214004C2050461D4EB04700EBD07040F34F0750463D +S214004C30B04700EBD07040F34F035E1C7A1C9642E0 +S214004C40A8BF164636B247F6FF7293457FF403AE0A +S214004C5003F1010B0137BB45A8BFBB460FFA8BFB20 +S214004C60F9E57047A1460000DDB40100996C00002C +S214004C703C6D0020111F0100B1220000E446020036 +S214004C80DC4702005D220100D83F0200B922000086 +S214004C90FD2F0000993A00005D2F000030B583B06C +S214004CA005460C460D4B984750B195F83D3043EA03 +S214004CB004018B4202D02846094B984703B030BD0A +S214004CC0084B009340F27E6207490320074CA0473A +S214004CD02A460023064807498847FEE7B122000017 +S214004CE0B5470000F4460200DC4702005D220100E2 +S214004CF03C480200B922000030B583B005460C4699 +S214004D000D4B984750B195F83D3023EA04018B428D +S214004D1002D02846094B984703B030BD084B009395 +S214004D2040F28F6207490320074CA0472A4600231B +S214004D30064807498847FEE7B1220000B54700004D +S214004D4008470200DC4702005D2201003C480200E2 +S214004D50B922000030B583B004460A4B984710B11C +S214004D60E06903B030BD084B009340F6F5220749D2 +S214004D700320074DA84722460023064806498847D1 +S214004D80FEE700BFB12200001C470200DC4702001D +S214004D905D2201003C480200B922000030B583B015 +S214004DA004460A4B984710B1606A03B030BD084B02 +S214004DB0009340F61E3207490320074DA8472246B7 +S214004DC00023064806498847FEE700BFB1220000D8 +S214004DD060470200DC4702005D2201003C480200FA +S214004DE0B922000030B583B004460A4B984710B18C +S214004DF0A06B03B030BD084B009340F66F320749F6 +S214004E000320074DA8472246002306480649884740 +S214004E10FEE700BFB122000084470200DC47020024 +S214004E205D2201003C480200B92200002DE9F8434B +S214004E300546002215213C4B984728463B4B984791 +S214004E40074610B128463A4B984700212846394B6A +S214004E5098470023FF2211462846374CA04705F105 +S214004E6004084046354B9847044658B1DFF8E890AA +S214004E7021464046C84706462046FFF7D7FF344639 +S214004E80002EF5D12E4B5B683BB101211A68954286 +S214004E9008BF19719B68002BF8D10020294B984752 +S214004EA0044610B3DFF8B480DFF8B490254E0EE069 +S214004EB029462046C047E36B9D4204BF0023E363B8 +S214004EC0A36D9F420AD02046B047044668B1636B84 +S214004ED09D42EDD0A36B9D42EDD1E9E7C8478542E0 +S214004EE0F1D129462046C047EDE7EB69002211467E +S214004EF0284698472846144B984760B12946043000 +S214004F00124B9847686A08B1114B98472846104BD1 +S214004F109847BDE8F88328460E4B98472946303018 +S214004F200A4B9847EEE700BFCD2A0000E54D00008B +S214004F30792600002913010029300000A91F01006E +S214004F407C260020211001007D2C00009520010009 +S214004F50C5240100212D0000BD1F0100752700009B +S214004F600128000070B582B00446194B984768B90E +S214004F70184B009340F2931217490320174DA84789 +S214004F8022460023164817498847FEE72046164B58 +S214004F9098472046154B9847054640B12046144B87 +S214004FA09847EB6900220121284698470CE02046E6 +S214004FB0104B9847054638B1C66B20460C4B9847B1 +S214004FC0B44201D10023EB63002002B070BD00BFE5 +S214004FD0B122000098470200DC4702005D22010073 +S214004FE03C480200B9220000213300007D2C00005E +S214004FF02D4E0000212D000030B583B004460E4B28 +S214005000984748B1A06BA8B10C4B9847844214BF90 +S2140050100020012003B030BD094B00934FF43862E6 +S21400502008490320084DA847224600230748084998 +S2140050308847FEE70020EDE7B12200004927000080 +S214005040C8470200DC4702005D2201003C4802001F +S214005050B922000000B583B090F83030028AD21A28 +S214005060ADF80020828A1344ADF8043090F8313051 +S214005070428AD21AADF80220C28A1344ADF806302E +S21400508000226846024B984703B05DF804FB00BF59 +S214005090B915010003687BB110B4021D012352F854 +S2140050A0044B1CB10133DBB2072BF8D140F82310B8 +S2140050B001205DF8044B7047002340F823100120C0 +S2140050C0704700002DE9F04105460E4614460122C1 +S2140050D0A84B9847208048F20C0231462846A64B3B +S2140050E09847052842D90746237B002B49D1237DC4 +S2140050F0002B76D1237F002B40F0988094F8363032 +S214005100002B40F0B88094F82830052B00F201817F +S21400511094F84430052B00F23781F92F24D8BFB21B +S214005120237B13FB07F3C3F307232373237D13FBB0 +S21400513007F3C3F30723237594F8283013FB07F30C +S214005140C3F3072384F8283094F8363013FB07F3AC +S214005150C3F3072384F8363094F8443013FB07F77C +S214005160C7F3072784F84470BDE8F0810023237353 +S214005170237584F8283084F8363084F84430BDE847 +S214005180F0812C22314628467B4B98472073052811 +S214005190ADD9292231462846784B9847608023228D +S2140051A031462846734B9847C0B2A07130B92022CA +S2140051B0314628466F4B9847607398E72A22314657 +S2140051C028466E4B9847A080212231462846DFF8B5 +S2140051D0A481C0472081222231462846C0476081EC +S2140051E0E5E7302231462846624B98472082002861 +S2140051F080D03C22314628465F4B984720750528CC +S21400520006D83222314628465A4B9847607571E7D1 +S214005210312231462846574B9847C0B26082392221 +S21400522031462846554B9847E081EAE7402231460A +S2140052302846504B9847208300283FF45FAF4C2207 +S214005240314628464C4B98472077052806D84222F8 +S21400525031462846474B984760774FE7412231460C +S2140052602846444B98476083492231462846434B9C +S2140052709847E082EBE76E2231462846404B984737 +S214005280E06200283FF43FAF6C22314628463A4B96 +S214005290984784F8360005287FF635AF6D223146EC +S2140052A02846354B984784F8370061223146284611 +S2140052B0304B9847003018BF012094F8383060F320 +S2140052C0000384F83830E06A2E4B984702280BD04B +S2140052D094F83730052B15D8602231462846254BE2 +S2140052E0984784F839000EE7692231462846234B52 +S2140052F09847A08648F28E0231462846204B9847AB +S2140053002063E9E76922314628461C4B9847A08669 +S214005310E2E7502231462846164B9847208400285C +S2140053203FF4F6AE5C2231462846134B984784F885 +S214005330280005287FF6ECAE512231462846DFF8D5 +S2140053403480C0476084522231462846C047A08435 +S214005350532231462846C047E08459223146284623 +S214005360064B9847E083542231462846C04784F8C7 +S2140053702900CDE6D54400000D460000814500001A +S214005380A1460000699900007F2231462846224B3C +S2140053909847E06300283FF4C0AE7C22314628469A +S2140053A01E4B984784F8440005287FF6B6AE732255 +S2140053B031462846DFF86C80C047A4F848007422BF +S2140053C031462846C047A4F84A0079223146284686 +S2140053D0134B9847A4F846007E22314628460E4BCB +S2140053E098472064702231462846C047A4F84C00EF +S2140053F0712231462846C047A4F84E007522314631 +S2140054002846C04784F85000722231462846C047D6 +S21400541084F8510081E600BFA14600000D4600005A +S21400542081450000D54400002DE9F04198B00446BF +S2140054300E46022A08D0002A6CD0012A00F0CC8042 +S214005440002018B0BDE8F08100218E4B984708B1C7 +S2140054500320F6E70122002120468A4DA84707468A +S214005460042200212046A847804605220021204627 +S214005470A84704F10F0304F1170503AA13F8011F48 +S21400548002F8011B9D42F9D11FFA88F8BDF80C30CE +S214005490A3EB0803ADF80C30BDF810309844ADF817 +S2140054A0108080B2BDF80E301B1AADF80E30BDF875 +S2140054B012301844ADF812003A4603A93046724B33 +S2140054C0984708B90220BCE72C22002120466F4BE3 +S2140054D09847F92801D80220B3E720220021204669 +S2140054E0684B9847C0B208B10220AAE732220021D2 +S2140054F02046644B9847C0B208B10220A1E748F2A4 +S2140055000C0200212046614B9847FA2834BF02203F +S214005510012096E703A85E4B9847332200212046D9 +S214005520584B984710B100238DF8203003AA00216D +S2140055302046584B9847042200212046514DA84744 +S2140055408046052200212046A84704F1100704F1F2 +S2140055500F0304F1170501AA13F8011F02F8011B37 +S214005560AB42F9D11FFA88F8BDF80430A3EB080364 +S214005570ADF80430BDF808309844ADF8088080B225 +S214005580BDF806301B1AADF80630BDF80A301844D0 +S214005590ADF80A0003AA314601A83F4B98470222FD +S2140055A000212046374B984708B9002049E71C20C1 +S2140055B03A4B98470546012200212046314B984732 +S2140055C00023024639462846354EB04704F5187182 +S2140055D02846344B9847E8E702220021294B984793 +S2140055E038B9332200212046264B984740B9002080 +S2140055F027E704F518702C4B98472C4B9847F0E794 +S21400560003A8234B984700278DF818708DF8427032 +S2140056108DF8347003AA394620461E4B984704225C +S21400562039462046174DA84780460522394620466B +S214005630A84704F10F03173401AA13F8011F02F854 +S214005640011BA342F9D11FFA88F3BDF80420D21A31 +S214005650ADF80420BDF808201344ADF8083080B239 +S214005660BDF806301B1AADF80630BDF80A301844EF +S214005670ADF80A0003AA314601A8074B9847002058 +S214005680DFE600BFD54400006D1701000D460000A0 +S21400569069C20000C550000031C300003D2901006A +S2140056A02DC00000C1BD000091BE000071250100A4 +S2140056B0F8B505460E46144648F28C02264B984727 +S2140056C02072052800D8F8BD48F20C02314628465C +S2140056D0214B9847F92805D8237A13FB00F0C0F32E +S2140056E007202072237A052BEDD948F2890231462D +S2140056F028461A4B9847208048F2800231462846B2 +S214005700174FB847A08148F2810231462846B8476D +S214005710608148F2820231462846B847207648F231 +S214005720830231462846B847607648F28E023146F4 +S21400573028460C4B98476060E2894FF6FF739A4202 +S214005740C1D0228A9A42BED048F28A023146284602 +S214005750024B98472080B6E70D46000081450000C2 +S214005760D5440000A146000070B505460E46144616 +S21400577048F2AC02214B98472070052800D870BD2F +S21400578048F20C02314628461C4B9847F92805D8A3 +S214005790237813FB00F0C0F3072020702378052B36 +S2140057A0EDD9002363804FF480732381AB8A0133E5 +S2140057B02A8A9B1A1BB203EBD3735B10A380EB8A77 +S2140057C001336A8A9B1A1BB203EBD3735B10E38028 +S2140057D048F2AD0231462846084B9847A07248F278 +S2140057E0A90231462846064B9847A08148F2A002F7 +S2140057F031462846034B9847A073C0E70D46000085 +S21400580081450000D54400002DE9F04F89B00446DC +S2140058100E465022764B9847074668BB7F22314695 +S2140058202046744B9847804630B17C22314620464D +S214005830714B984705284CD84022314620466C4B81 +S21400584098470546002840F0BF800422314620468F +S214005850DFF89C81C0470546052231462046C047F2 +S214005860A842B8BF284600B20028C4BFC01907B275 +S214005870384609B0BDE8F08F5C22314620465E4BC4 +S2140058809847052801D80027C8E753223146204606 +S214005890574DA84707EBD77700EB67070137BFB22E +S2140058A0512231462046A84780465222314620469D +S2140058B0A8470028B8BF4042B8F1000FB8BFC8F1EB +S2140058C000084045ACBF3F18474438B220EAE077AE +S2140058D0A4E7702231462046454DA84782467022EE +S2140058E031462046A84783467E2231462046414B15 +S2140058F098474FF00009CDF8089047F618430193F3 +S214005900CDF800B053460246414604A8DFF8EC80C6 +S214005910C047ADF81890ADF81A90BDF81030013BAE +S214005920ADF81C30BDF81230013BADF81E307522C4 +S21400593031462046A8478146732231462046A8476E +S2140059408046742231462046A847054605AB5FFAD6 +S21400595089F206A904F11000DFF8A490C847BDF844 +S214005960143043449BB2BDF816202A4492B2B4F9D0 +S2140059701000BDF81810194409B2401AB842B8BF52 +S2140059803846B4F91210BDF81A7017443FB2CF1B50 +S21400599000B28742B8BF0746BDF81C0003441BB2DE +S2140059A0B4F91400181A3BB28342B8BF0346BDF8D8 +S2140059B01E00104400B2B4F91670C71B18B2B842E5 +S2140059C0B8BF384607B237E74C22314620460A4B66 +S2140059D0984705287FF639AF412231462046044BCA +S2140059E098472844B842B8BF384607B22DE700BFEC +S2140059F0D5440000A14600000D4600007D40010091 +S214005A002518010008291AD010B50446072920D009 +S214005A10012923D0062927D0032930D0042939D0DC +S214005A200B293BD0A1F10D03DBB2012B3BD9162984 +S214005A303ED0172951D0002954D0012010BD13782C +S214005A401BB92830506001207047002353600120A6 +S214005A50704726491046264B984710BD254B984759 +S214005A6080F00100C0B210BD0021234B9847B4F966 +S214005A7032309842B8BF18466086012010BD90F8B4 +S214005A80493013F0010F01D1012010BD1B4B984780 +S214005A90012010BD1A4B9847012010BD1021194B4C +S214005AA09847012010BD1021174B9847012010BDC4 +S214005AB0164B9847164B984728B106212046114B9F +S214005AC09847012010BD022120460E4B984704211E +S214005AD020460D4B9847012010BD06210A4B9847DB +S214005AE0012010BD0B4B9847012010BDE84902006D +S214005AF0955000001544000009580000E1390000E8 +S214005B002D2C00009D4C0000F94C0000E54D0000D7 +S214005B105B270000CD3000002DE9F8430546884697 +S214005B20002210311F4B984750B398F8343013F0CA +S214005B30100F27D1D8F8203043B30222294640461A +S214005B409847814603281FD008F104063046164BB6 +S214005B509847044660B1154F21462846FFF7DCFFFC +S214005B60034650B921463046B84704460028F3D1CC +S214005B70B9F1010F0CBF434600231846BDE8F88371 +S214005B800023FAE70023F8E70023F6E708F1040607 +S214005B903046054B984704464FF002090028DAD1F4 +S214005BA00346EAE76D170100A91F0100BD1F0100AB +S214005BB090F8343013F0100F00D070472DE9F04302 +S214005BC08BB00E460546B0F9324004A9354B9847CF +S214005BD0A3B2BDF81020D21AADF81020BDF81220DE +S214005BE0D21AADF81220BDF814201A44ADF81420CD +S214005BF0BDF816201344ADF8163004AA314606A8A0 +S214005C00294B9847A8B12B6A1BB1002206A9284643 +S214005C10984704A92846234B984704AA314608A863 +S214005C20214B984740B92B6A1BB1012206A928468A +S214005C3098470BB0BDE8F08305F1040840461B4BBF +S214005C40984704460028EED0DFF85890164E184FB6 +S214005C5005E021464046B84704460028E3D002A99E +S214005C602046C847638EBDF80820D21AADF8082033 +S214005C70BDF80A20D21AADF80A20BDF80C201A4446 +S214005C80ADF80C20BDF80E201344ADF80E3002AA75 +S214005C9008A96846B0470028DBD069462046FFF7CB +S214005CA087FFD6E7412E000019150100B31F01003B +S214005CB0E91F01002DE9F0470F46044670B139464A +S214005CC020461A4B98472046194B9847814660B1A4 +S214005CD0184EDFF85880DFF858A00EE0164B18680C +S214005CE0164B984704460028E9D1BDE8F087484699 +S214005CF0D0474C4681460028F7D009F104052146D6 +S214005D002846B047044640B139462046C04721469B +S214005D102846B04704460028F6D1D9F82030002B94 +S214005D20E5D00122394648469847E0E7B15B0000D7 +S214005D307D2C0000E91F0100882600204D2300006E +S214005D4038B51A4D28681A4B984704462868194BE8 +S214005D50984778B90123A361144B186843681A6AF8 +S214005D6012F0010F10D01B6A13F0020F0CD00123A3 +S214005D70E3610BE00D4D2868A369002BEAD0C369E8 +S214005D80002BF9D09847F6E70023E361C3681BB100 +S214005D90A26804F110019847236833B1626822B103 +S214005DA0A1688B4208BF1346A36038BD8826002032 +S214005DB0DD0F0100E10F010070B582B006461A4DF6 +S214005DC028681A4B984704462868194B984738B9EC +S214005DD02868A36923B1C369002BFAD09847F7E770 +S214005DE004F1100231466846124B98470E4C206864 +S214005DF0114B984701466846104B98476946104D28 +S214005E00A84720680F4B98476946A84720680E4B5E +S214005E1098476946A84720680C4B984708B102B0D7 +S214005E2070BD0B4B9847FAE788260020DD0F01006F +S214005E30E10F0100191501004D230000195B000059 +S214005E40B55C00008D230000CD230000F50F010097 +S214005E50415D000070470000F0B585B00C46054671 +S214005E60002854D0002C57D00023ADF80830ADF8E9 +S214005E700A302846364B98470138ADF80C002846BD +S214005E80344B98470138ADF80E0002AA2146684602 +S214005E90314B9847002845D02B6913B169462846F0 +S214005EA09847B5F86831C3F309039BB100210C4647 +S214005EB00F462A4E09313A4605EBC1016846B047FF +S214005EC080BB0134A4B22146B5F86831C3F3090398 +S214005ED09C42EFDB1F2B27DC093305EBC3030DF1D8 +S214005EE0FF3203F1080012F8011F03F8011B83427A +S214005EF0F9D1B5F86831C3F30902013262F3090338 +S214005F00A5F868310321E86A154B98470AE0154B57 +S214005F109847054630B1A5E7B5F868316FF3090331 +S214005F20A5F8683105B0F0BDB5F868316FF3090320 +S214005F30A5F868310DF1070205F1500005F1480398 +S214005F4012F8011F03F8011B8342F9D1D1E700BF05 +S214005F50ED0E0100150F0100191501006D17010067 +S214005F6059390100E10E0100014B1868704700BF67 +S214005F70882600202DE9F04F8DB00546B74B984790 +S214005F800990B74CEB68236000212846B54B98472C +S214005F902068C36B7BB1B0F86831C3F30903002BEC +S214005FA000F078824FF048080027AD4DDFF8E4A2F5 +S214005FB0DFF8C8B24DE0B0F868316FF30903A0F817 +S214005FC0683162E22644012386F8483101342868A5 +S214005FD0B0F86831C3F309039C4230D2031993F832 +S214005FE04831002BF2D1A742F0D004F10906F600A2 +S214005FF081194044D0470028E8D029688A194144CE +S2140060000AA8994B98470AA8D8470390286840449E +S214006010D847814628683044D8474844039B834283 +S214006020D4D22E6806EB08030DF1270203F1080010 +S21400603012F8011F03F8011B8342F9D1C2E70137AA +S2140060402868B0F86831C3F3090308F108089F42CE +S2140060500ED2384490F84831002BF0D12868B0F8BA +S2140060606831C3F30903002B00F0FA810024B5E77A +S21400607000217B4A5160002B00F0FA815A1E11461F +S214006080079232D4821892F848217AB103F2471365 +S21400609003440A46013AB2F1FF3F05D013F8011D4A +S2140060A00029F7D1079201E000230793426892F88F +S2140060B020306FF3000382F82030426892F82030D8 +S2140060C06FF3410382F82030654B1C68B4F86831E2 +S2140060D0C3F30903002B00F0CB81482306934FF04F +S2140060E0000ADFF87CB1274645E000230793DDE78A +S2140060F07A6892F8203043F0010382F8203043E0BB +S214006100DBF80000594B9847044600250582DBF86B +S2140061100000574B98470138A0826582DBF80000E4 +S214006120544B98470138E082DBF800305A6892F802 +S214006130203043F0020382F8203003984E4B9847F5 +S214006140DBF80000836943B1069B18444B4B984725 +S214006150DBF804300344CBF804300AF1010ADBF81C +S2140061600070069B08330693B7F86831C3F309033B +S2140061709A4580F27D8107EB0A0393F84831002B9D +S214006180EBD1079B5345B3D07A6892F820306FF373 +S214006190410382F82030069BFB1803933846384BA1 +S2140061A098470028ACD1DBF80000304B98470646ED +S2140061B007EBCA07B7F84C400134B7F84830E41A82 +S2140061C024B2B7F94E5005F10108B7F84A30A8EBEB +S2140061D003080FFA88F8DBF80000264B984785423C +S2140061E034DAB7F94E90F368B3FBF4F39845A8BFDA +S2140061F09846DBF800301B69002B52D00023ADF820 +S2140062002830ADF82C30ADF82A300FFA88F56C1E21 +S21400621024B2ADF82E40DBF8000003690AA99847BF +S214006220BDF92E104B1CBDF82A209B1A1BB29845B0 +S21400623032DA2546002CEADC124B0093124B40F271 +S2140062409F1212490220124CA04779E7DBF80000A3 +S214006250084B984701380FFA80F9C4E75910010037 +S21400626088260020593901006F150100DD0F010056 +S214006270ED0E0100150F0100B95D0000FD140100D0 +S214006280F50F01002C4A0200F0490200004A020005 +S2140062905D22010029170100002DC8BF01F1010889 +S2140062A0CADDB7F94A40CDF8109004EB0803013B6D +S2140062B04B454BDC1FFA88F30593013BCDF820A035 +S2140062C09A460DE0A9451CD00398784B9847059B45 +S2140062D01C4424B204EB0803013B049A93421ADCE4 +S2140062E0B7F948303382B7F94C30B3827482A4B21F +S2140062F004EB0A052DB2F582A945E3DAA6F8169056 +S2140063004D46DBF800305A6892F8203043F002031E +S21400631082F82030D8E7DDF820A0A9453FF410AF7A +S214006320B7F948303382B7F94C30B3827482A6F896 +S2140063301690DBF800305A6892F8203043F00203DB +S21400634082F820300398594B9847F9E60025E4E791 +S214006350574B984718B1574B18684369EBB1554CE3 +S21400636020684FF480714830534DA847206820219C +S21400637000F5A470A8472368B3F868216FF30902F4 +S214006380A3F8682109984D4B984701462068836911 +S214006390002B76D06268984773E0494B98470446CE +S2140063A0484B9847A369002BFCD1A3680393D4F805 +S2140063B000A0534508BFD4F804A03E4C2068424BCA +S2140063C0984704902368B3F86821C2F30902002AAC +S2140063D0C5D0450000229046A1460CE008F1010811 +S2140063E01FFA88F84246D9F80030B3F86811C1F3AE +S2140063F009018845B3DA991891F848110029EDD1BA +S21400640003EBC203B3F94A70B3F94810049807FBCC +S21400641000167600B3F84C3001335B1A1BB25B00F3 +S2140064200593D9F8003003EBC203B3F94E30BB42F4 +S214006430D4DB039B03EB060B56440932D400059AC3 +S21400644031465846214B984701373FB2AB442E445D +S214006450D9F800302344B3F90630BB42EFDABDE783 +S2140064600022144B5A60B0F86831C3F309037BB9B5 +S214006470104B1868B0F86831C3F30903002B7FF49B +S21400648067AF134B9847134B98470DB0BDE8F08F96 +S21400649007920BE60022074B5A60B0F86831C3F348 +S2140064A00903002BEDD0079200E600BFB95D00009F +S2140064B0F50F010088260020372B0100711001001F +S2140064C0DD0F0100415D0000ED0E010055260100C4 +S2140064D0F9250100F50C010008B50421014B984789 +S2140064E008BD00BF372B010008B50821014B9847AF +S2140064F008BD00BF372B010070B582B00679002EAC +S21400650055D004460068036899420AD00346751EB3 +S214006510EDB200EB85059D4249D053F8042F8A4220 +S214006520F9D10D46012E0ED0711E8900214B9847D9 +S2140065300646214B984780B1EEB12179002933D029 +S2140065400022134626E01D4B984700232360237144 +S214006550627963F30002627129E0194B00934FF4ED +S214006560827218490320184CA04732460023174869 +S21400657017498847FEE7174B0093114B4FF4837279 +S21400658010490220104CA04711E00133DBB22179FC +S214006590994209D9216851F823108D42F5D046F862 +S2140065A022100132D2B2F0E701392171266002B022 +S2140065B070BD00BF99280100B1220000C52401006B +S2140065C07C4A02003C4B02005D220100D83F0200DC +S2140065D0B9220000684B0200002851D070B582B086 +S2140065E004460E46274B9847237963BB0420264B68 +S2140065F0984705462846254B984758B3002D36D071 +S2140066006379C3F3400013F0010F18BF01302379FC +S214006610984210D205EB830103F18042013A013B18 +S2140066201B1ADBB2D31A05EB830351F8042C41F88E +S21400663004299942F9D145F8206023790133237162 +S214006640256002B070BD013399002068104B984752 +S2140066500546CFE70F4B0093D0220F4903200F4C7F +S214006660A0472A4600230E480E498847FEE70E4BF1 +S2140066700093084BD22208490220084CA047E0E7C6 +S214006680704700BFF9640000DD230100B12200005E +S21400669099280100984A02003C4B02005D22010046 +S2140066A0D83F0200B9220000A44B020030B583B0E8 +S2140066B0437913F0010F10D003F00603062B14BF26 +S2140066C0002301230279002A34D09A4234D9026882 +S2140066D052F82340204603B030BD05460420174B31 +S2140066E098470446164B984760B1CCB12046154BE8 +S2140066F0984721462846144B98476B7943F0010388 +S2140067006B71E7E7114B009340F2354210490320C6 +S214006710104DA847224600230F4810498847FEE739 +S2140067200F4B0093094B40F2374209490220094DAE +S214006730A847CFE70024CDE70024CBE7DD23010000 +S214006740B1220000D9640000D9650000B44A0200F6 +S2140067503C4B02005D220100D83F0200B922000037 +S214006760D44B020010B504460068024B984700233D +S214006770236010BDC52401000268D2B11378FF2B38 +S21400678013D0002006E00B2B0ADC02300230135C2C +S214006790FF2B0BD003F00F03082BF4DC0230F5E7D9 +S2140067A00D2BD4BF01300430F0E70020023080B259 +S2140067B0704700207047000081B170B50C460A682B +S2140067C05AB105460846064B98470646054B984775 +S2140067D0286032462168044B984770BD704700BF5A +S2140067E079670000DD2301005526010000286BD0E4 +S2140067F02DE9F8430746006800286AD0CDB20E0A95 +S214006800B4460378FF2B3BD04FF0FF3EF046002205 +S214006810CCF3060C27E08418647886EA040919F09D +S2140068207F0F0BD004F07F0434EA0C091DD14445D9 +S214006830C4BF0FFA84F80FFA82FE16E09646BEF141 +S214006840000F43DB7446704443785E4016F07F0FBB +S21400685019D00020BDE8F8830B2B0CDC0232023284 +S214006860835CFF2BEBD09D42D5D003F00F03082BA3 +S214006870F2DC0232F3E70D2BD4BF01320432EEE72E +S2140068804FF0FF3EDBE70D463846134B984705F0C2 +S2140068900F010B2904DD0E29B4BF0321062100E0F9 +S2140068A004210D46411A8C4207D223463A685419F1 +S2140068B0E45CD45401338B42F8D13868074B9847D0 +S2140068C038600120BDE8F883002070470020BDE84E +S2140068D0F8830020BDE8F883796700009928010056 +S2140068E02DE9F04186B0ADF80E10ADF80C20046826 +S2140068F0002C48D0CFB20D0AAE462378FF2B2CD002 +S2140069004FF0FF3188460022CEF3060E18E0A61898 +S214006910767885EA060C1CF07F0F21D006F07F06FD +S21400692036EA0E0C0ED14645C4BF0FFA86F811B2F1 +S21400693008E00B2B0CDC02320232A35CFF2B0ED0DD +S2140069409F42E4D003F00F03082BF2DC0232F3E799 +S2140069500D2BD4BF01320432EEE74FF0FF310A466A +S214006960002A10DBA3185B785D4015F07F0F0AD174 +S2140069700232A3189DF80C10A1549DF80D205A70F1 +S21400698006B0BDE8F0810646FF23ADF816301D4B75 +S2140069909847002808BF0220051DADB229462046AC +S2140069A0194B98473060194B9847E8B1002EE7D04E +S2140069B0AB1F3268D1189DF80E00D0549DF80F30EA +S2140069C04B702B1F3268D1189DF80C00D0549DF8E0 +S2140069D00D304B70023D33685A199DF81610595504 +S2140069E09DF817305370CBE7094B00934FF4C372F2 +S2140069F008490320084CA047326800230748084986 +S214006A008847FEE77967000099280100B122000058 +S214006A10CC4A02003C4B02005D220100D83F020037 +S214006A20B92200002DE9F04186B0ADF80C20ADF893 +S214006A300E100468002C48D0CFB20D0AAE4623785C +S214006A40FF2B2CD04FF0FF3188460022CEF3060EE7 +S214006A5018E0A618767885EA060C1CF07F0F21D081 +S214006A6006F07F0636EA0E0C0ED14645C4BF0FFA76 +S214006A7086F811B208E00B2B0CDC02320232A35C63 +S214006A80FF2B0ED09F42E4D003F00F03082BF2DC5E +S214006A900232F3E70D2BD4BF01320432EEE74FF09B +S214006AA0FF310A46002A10DBA3185B785D4015F01C +S214006AB07F0F0AD10232A3189DF80C10A1549DF83E +S214006AC00D205A7006B0BDE8F0810646FF23ADF8EB +S214006AD016301D4B9847002808BF0220051DADB292 +S214006AE029462046194B98473060194B9847E8B11D +S214006AF0002EE7D0AB1F3268D1189DF80E00D05498 +S214006B009DF80F304B702B1F3268D1189DF80C0083 +S214006B10D0549DF80D304B70023D33685A199DF8DD +S214006B20161059559DF817305370CBE7094B009354 +S214006B3040F2B51208490320084CA04732680023EB +S214006B40074808498847FEE779670000992801004A +S214006B50B1220000E04A02003C4B02005D22010028 +S214006B60D83F0200B92200002DE9F04387B0ADF807 +S214006B700E100468002C43D05FFA81FE0D0AAC4666 +S214006B802378FF2B2CD04FF0FF37B8460021CCF3EC +S214006B90060C18E06618767885EA060919F07F0F65 +S214006BA021D006F07F0636EA0C090ED14645C4BF52 +S214006BB00FFA86F80FB208E00B2B0CDC023102311C +S214006BC0635CFF2B0ED09E45E4D003F00F03082B2A +S214006BD0F2DC0231F3E70D2BD4BF01310431EEE7CE +S214006BE04FF0FF37394600290ADB63185B785D40B3 +S214006BF015F07F0F04D121448A7007B0BDE8F083FA +S214006C0017460646FF23ADF816301B4B984700285C +S214006C1008BF0220C51CADB229462046174B984730 +S214006C203060174B9847C0B1002EE6D06B1F326815 +S214006C30D1189DF80E00D0549DF80F304B70336875 +S214006C402B4403F8037C023D33685A199DF816104E +S214006C5059559DF817305370CFE70A4B00934FF401 +S214006C60F27209490320094CA047326800230848FD +S214006C7008498847FEE700BF7967000099280100A9 +S214006C80B1220000F44A02003C4B02005D220100E3 +S214006C90D83F0200B92200002DE9F04186B00292EA +S214006CA0ADF80E100468002C4ED0CFB20D0AAE46DA +S214006CB02378FF2B2CD04FF0FF3188460022CEF3EE +S214006CC0060E18E0A618767885EA060C1CF07F0FEC +S214006CD021D006F07F0636EA0E0C0ED14645C4BF1C +S214006CE00FFA86F811B208E00B2B0CDC02320232E7 +S214006CF0A35CFF2B0ED09F42E4D003F00F03082BBB +S214006D00F2DC0232F3E70D2BD4BF01320432EEE799 +S214006D104FF0FF310A46002A16DBA3185B785D4069 +S214006D2015F07F0F10D10232A3189DF80810A15459 +S214006D309DF809205A709DF80A209A709DF80B203D +S214006D40DA7006B0BDE8F0810646FF23ADF81630CF +S214006D50204B9847002808BF0220851DADB2294663 +S214006D6020461D4B984730601C4B984720B3002E9A +S214006D70E7D0A5F108033268D1189DF80E00D0546C +S214006D809DF80F304B70AA1F31688B189DF80800CD +S214006D9088549DF809205A709DF80A209A709DF82C +S214006DA00B20DA70023D33685A199DF816105955B3 +S214006DB09DF817305370C4E7094B009340F2132236 +S214006DC008490320084CA0473268002307480849B2 +S214006DD08847FEE77967000099280100B122000085 +S214006DE0084B02003C4B02005D220100D83F020027 +S214006DF0B922000000284DD02DE9F04384460468EF +S214006E00002C4AD0CEB2090A8E462378FF2B3ED0FD +S214006E104FF0FF37B8460020CEF3060E2AE02518BE +S214006E206D7881EA050919F07F0F0AD005F07F0515 +S214006E3035EA0E0920D14545C4BF0FFA85F807B2DA +S214006E401AE00746002F2CDBBB1CE018E35C13702F +S214006E5043785370DCF8000007447878C1F30601E5 +S214006E600840BDE8F0830B2B0CDC02300230235CBC +S214006E70FF2BE7D09E42D2D003F00F03082BF2DCA4 +S214006E800230F3E70D2BD4BF01300430EEE74FF0AD +S214006E90FF37D7E74FF0FF3070474FF0FF30BDE8C1 +S214006EA0F0834FF0FF30BDE8F08300284AD02DE98C +S214006EB0F04386460468002C47D0CEB2090A8C46BA +S214006EC02378FF2B3BD04FF0FF37B8460020CCF39B +S214006ED0060C27E025186D7881EA050919F07F0F62 +S214006EE00AD005F07F0535EA0C091DD14545C4BF1B +S214006EF00FFA85F807B217E00746002F29DB3C4457 +S214006F00A3781370DEF8000007447878C1F3060112 +S214006F100840BDE8F0830B2B0CDC02300230235C0B +S214006F20FF2BEAD09E42D5D003F00F03082BF2DCED +S214006F300230F3E70D2BD4BF01300430EEE74FF0FC +S214006F40FF37DAE74FF0FF3070474FF0FF30BDE80D +S214006F50F0834FF0FF30BDE8F08300284DD02DE9D8 +S214006F60F04384460468002C4AD0CEB2090A8E4606 +S214006F702378FF2B3ED04FF0FF37B8460020CEF3E5 +S214006F80060E2AE025186D7881EA050919F07F0FAC +S214006F900AD005F07F0535EA0E0920D14545C4BF65 +S214006FA00FFA85F807B21AE00746002F2CDBBB1C49 +S214006FB0E018E35C137043785370DCF80000074475 +S214006FC07878C1F306010840BDE8F0830B2B0CDC93 +S214006FD002300230235CFF2BE7D09E42D2D003F073 +S214006FE00F03082BF2DC0230F3E70D2BD4BF013081 +S214006FF00430EEE74FF0FF37D7E74FF0FF3070472B +S2140070004FF0FF30BDE8F0834FF0FF30BDE8F0836F +S214007010002850D02DE9F04307460468002C4DD0D8 +S214007020CEB2090A8C462378FF2B2DD04FF0FF3EB8 +S214007030F0460020CCF3060C19E025186D7881EA9E +S214007040050919F07F0F22D005F07F0535EA0C09F7 +S2140070500FD14545C4BF0FFA85F80FFA80FE08E049 +S2140070600B2B0CDC02300230235CFF2B0ED09E4232 +S214007070E3D003F00F03082BF2DC0230F3E70D2B0E +S214007080D4BF01300430EEE74FF0FF3E70460028D4 +S21400709018DB054601302318141D13F8010F02F8FB +S2140070A0010B9442F9D13B682B445878C1F3060192 +S2140070B00840BDE8F0834FF0FF3070474FF0FF30D8 +S2140070C0BDE8F0834FF0FF30BDE8F083437913F05E +S2140070D0010F06D013F0020F036814BF5868186833 +S2140070E0704700207047437913F0020F1ABF0368F9 +S2140070F0186800207047000000282CD038B50446D9 +S214007100437913F0010F08D0134B9847054620B17A +S214007110124B98472846124B9847637913F0020F94 +S21400712009D020460F4B9847054620B10B4B984791 +S21400713028460B4B984723794BB9002222602271D0 +S214007140637903F0FC0362F38203637138BD206841 +S214007150034B9847F1E77047CD7000006567000065 +S214007160C5240100E770000070B505460C462C4BA0 +S21400717098472368002B41D0637913F0010F20D184 +S21400718013F0020F10D0207901388000254B984765 +S21400719028602279013A216892000431224B9847F0 +S2140071A02379013B2B7170BD207980001D4B9847D9 +S2140071B028602279920021681B4B984723792B710F +S2140071C070BD13F0020F1AD0207902388000154BDC +S2140071D0984728602279023A216892000831124BBB +S2140071E098472379023B2B712846104DA847064640 +S2140071F02046A847014630460D4B984770BD20797B +S21400720001388000074B984728602279013A2168A8 +S21400721092000431044B98472379013B2B71E3E736 +S214007220F9700000DD23010055260100AD66000060 +S214007230B967000030B583B00446437913F0020FF7 +S21400724005D01D4B98470546284603B030BD0420A0 +S2140072501A4B984705461A4B9847A8B115B32846C7 +S214007260184B984729462046174B9847637943F0B2 +S2140072700203637113F0010FE6D023681A68596899 +S214007280196023685A60DFE7104B009340F2CD2266 +S2140072900F4903200F4CA0472A4600230E480F49EB +S2140072A08847FEE70E4B0093084B40F2CF22084972 +S2140072B00220084CA047C7E7E7700000DD23010066 +S2140072C0B1220000D9640000D96500001C4B020002 +S2140072D03C4B02005D220100D83F0200B9220000AC +S2140072E0044C0200002859D02DE9F04F83B0054623 +S2140072F00368002B54D04FEA11280023ADF806305F +S2140073000079002842D0934689461C464FF0FF3647 +S2140073109A46244F1CE050460DF106024946B847EF +S214007320804527D06B7913F0020F05D0002803DBC9 +S21400733014B913F0040F23D0B04204DDBDF80630B4 +S214007340ABF800300646013424B2287984421FDAAE +S214007350E2B26B7903F00603062B04BF0132D2B209 +S2140073600028D8D0824203D22B6853F82200D3E7F5 +S2140073705046D1E7BDF80630ABF8003001200AE0F1 +S214007380BDF80630ABF80030012004E04FF0FF36C1 +S214007390F043C0F3C03003B0BDE8F08F0020704764 +S2140073A00020F8E7F56D0000002858D02DE9F04FD2 +S2140073B083B005460368002B53D04FEA11280023FC +S2140073C0ADF804300079002841D0934689461C4623 +S2140073D04FF0FF369A46244F1BE0504601AA494616 +S2140073E0B847804527D06B7913F0020F05D00028E8 +S2140073F003DB14B913F0040F23D0B04204DDBDF84C +S2140074000430ABF800300646013424B228798442B2 +S2140074101FDAE2B26B7903F00603062B04BF0132D3 +S214007420D2B20028D9D0824203D22B6853F8220069 +S214007430D4E75046D2E7BDF80430ABF80030012060 +S2140074400AE0BDF80430ABF80030012004E04FF04D +S214007450FF36F043C0F3C03003B0BDE8F08F002025 +S21400746070470020F8E700BF5B6F0000002859D087 +S2140074702DE9F04F83B005460368002B54D04FEA41 +S214007480112800238DF807300079002842D0934653 +S21400749089461C464FF0FF369A46244F1CE050465D +S2140074A00DF107024946B847804527D06B7913F09F +S2140074B0020F05D0002803DB14B913F0040F23D005 +S2140074C0B04204DD9DF807308BF8003006460134E4 +S2140074D024B2287984421FDAE2B26B7903F00603FD +S2140074E0062B04BF0132D2B20028D8D0824203D283 +S2140074F02B6853F82200D3E75046D1E79DF80730B3 +S2140075008BF8003001200AE09DF807308BF8003039 +S214007510012004E04FF0FF36F043C0F3C03003B064 +S214007520BDE8F08F002070470020F8E7AB6E000043 +S214007530002852D02DE9F04F83B005460368002B93 +S2140075404DD04FEA1128007900283ED09346894650 +S21400755000244FF0FF36A246224F1AE0504601AAFA +S2140075604946B847804526D06B7913F0020F05D000 +S214007570002803DB14B913F0040F21D0B04203DD5A +S214007580019BCBF800300646013424B228798442A9 +S2140075901DDAE2B26B7903F00603062B04BF013254 +S2140075A0D2B20028DAD0824203D22B6853F82200E7 +S2140075B0D5E75046D3E7019BCBF80030012009E021 +S2140075C0019BCBF80030012004E04FF0FF36F0437B +S2140075D0C0F3C03003B0BDE8F08F00207047002035 +S2140075E0F8E700BF11700000F0B501F01F0EC1F300 +S2140075F04516C1F3C421052A3FD9C0F3C4240C4460 +S2140076001F2C28BF1F2404F01F04C0F34513334467 +S2140076103F2B28BF3F2303F03F0500F01F007044B8 +S2140076201F2828BF1F2000F01F03FF2A2ED0C2F1FC +S214007630FF0707FB0EF002FB030000EB002300EB46 +S214007640C310C30D4FF0000063F3040007FB06F3FE +S21400765002FB053303EB032503EBC513DB0D63F3D6 +S2140076604A1007FB01F102FB041202EB022302EBB5 +S214007670C312D20D62F3CF20F0BD4FF000006EF3C0 +S214007680040066F34A1061F3CF20F0BD4FF000000F +S21400769063F3040065F34A1064F3CF20F0BDF0B541 +S2140076A001F01F0EC1F34516C1F3C421052A3DD9CA +S2140076B0C0F3C4240C1B24EAE47404F01F04C0F3D3 +S2140076C04513F31A23EAE37303F03F0500F01F00A7 +S2140076D0AEEB000020EAE07000F01F03FF2A2ED079 +S2140076E0C2F1FF0707FB0EF002FB030000EB0023CE +S2140076F000EBC310C30D4FF0000063F3040007FB5C +S21400770006F302FB053303EB032503EBC513DB0D82 +S21400771063F34A1007FB01F102FB041202EB02239B +S21400772002EBC312D20D62F3CF20F0BD4FF0000083 +S2140077306EF3040066F34A1061F3CF20F0BD4FF0FD +S214007740000063F3040065F34A1064F3CF20F0BD35 +S2140077502DE9F04F93B09DF870409DF874B09DF8F9 +S2140077607890BBF1040F00D914B913B0BDE8F08FC0 +S2140077700893ADF824200E460546BA4B9847804637 +S214007780B94B98470746826806923246294610A8A3 +S214007790B64B98470028E8D03A8ABDF840309B1A86 +S2140077A099B20D460A9108B20B90ADF840007B8A5C +S2140077B0BDF84210C91A0FFA81FCADF842C0BDF8F8 +S2140077C04400801A80B2ADF84400BDF846E0AEEB47 +S2140077D0030E0FFA8EFEADF846E0089AAAB198F8A6 +S2140077E0083013F0010F10D1411C491B09B20029C3 +S2140077F00BDD134611441A78802A4FF0FF3298BFEB +S214007800002203F8012B8B42F5D1D8F81430002B58 +S21400781077D0BDF82480934B98470546BB8A013342 +S2140078203A8A9B1A1BB20793012C3ED0BDF9402022 +S214007830089B9F1ABDF8443001339B1A1BB208936D +S214007840BDF942A0BDF946309A458EDCBDF94060D0 +S2140078503446BDF944309E421EDC3E440FFA8AF997 +S21400786005964B46B9461F46059A12F8013B059207 +S21400787003FB0BF3C3F307230293ADF804800097D2 +S21400788023B2079A069928466E69B0470134BDF9B7 +S21400789044309C42E8DD4F46089B1F440AF1010A2B +S2140078A0BDF946309A45D1DD5FE7BDF94290BDF996 +S2140078B0463099453FF759AFDDF81CA05E46DDF827 +S2140078C018B0BDF94040BDF944309C4212DC0FFAB6 +S2140078D089F705970296ADF80480059B009323B2BE +S2140078E05246594628466F69B8470134BDF94430B8 +S2140078F09C42EFDD09F10109BDF946309945E0DD0E +S21400790033E7B9F1000F40F0A083BDF82430ADF89E +S2140079101C30544B98470646BB8A01333F8ADF1B10 +S2140079203FB2BDF94020BDF8443001339B1A1BB26C +S2140079300B931D46BDF94600BDF94230411CC91ADD +S21400794009B20C910A9303FB0722069901EB420148 +S2140079500591012C29D0BBF1FA0F00F20881834271 +S2140079603FF703AF069B33F81230BDF82460C6F32A +S214007970C42CC6F34512104606F01F0214467A00C1 +S2140079800C920B9A08990139069152000E921946EC +S2140079904FF0000E7246B6B20896CDF824B00D959C +S2140079A0A146CDF81CB0834645E3BBF1FA0F25D9B6 +S2140079B0736A23B110A82E4B9847F02813D80C9B57 +S2140079C0002B7FF7D2AE7F0000242A4DDDF83080F2 +S2140079D0059E0B9ABDF81C103046A8473E4401345D +S2140079E0A045F6D1C1E6BDF82430ADF80030746A83 +S2140079F010AB3A4606993046A047B6E6336A002BE7 +S214007A003CD010A81A4B9847F02837D90B99002974 +S214007A100CDDBDF82480184A931E01F1004101399F +S214007A2002EB410223F8028F9A42FBD1BDF9425085 +S214007A30BDF946309D423FF798AE4FEA4708DFF85B +S214007A4038A0DDF814905C4600940B9B52464946DD +S214007A503046376AB847C1440135BDF946309D42C5 +S214007A60F2DD82E6695F0000DD0F010019150100F6 +S214007A70FD1401003B1B0100902600204FF0000E75 +S214007A80BDF8242002F01F09C2F34518C2F3C42C27 +S214007A900BFB0CF303EB032103EBC113C3F3C4513D +S214007AA00BFB08F303EB032403EBC413C3F3C55427 +S214007AB00BFB09F303EB032203EBC213C3F3C4521D +S214007AC01FFA8BF30CFB03FC08FB03F809FB03F916 +S214007AD06FEA0B03DBB20C9800287FF746AE7800FF +S214007AE007900B9840000890002006909FB236E062 +S214007AF0307862F304003070308864F34A103080C7 +S214007B00000A61F3C700707002339B451CD01E4606 +S214007B101FFA8EF0B3F800A05045E9D0B3F800E0A5 +S214007B205978C90801FB07C1C1F30421CEF34514F7 +S214007B3004FB0784C4F305241A7802F01F0202FB34 +S214007B400792C2F30422D3E7059B079803440593E4 +S214007B50069B013306930C9898423FF406AE002D20 +S214007B60F2DD05980346089E00EB060BCFE70C9B5C +S214007B70002B7FF7FAAD0B9B043B0D937B000F9316 +S214007B8000230A93BDF81C20C2F3C42CC2F3451E82 +S214007B90C2F304030693DEE1BDF81C303B80434687 +S214007BA001318D4200F04C83023718F0030F00F0CD +S214007BB0558318F8013B002BF1D0FF2BECD0C3F116 +S214007BC0FF097A78D20809FB02F203FB0C2202EBCB +S214007BD0022002EBC012C2F3C4523888C0F345102C +S214007BE009FB00F003FB0E0000EB002600EBC610BE +S214007BF0C0F3C5503E7806F01F0A09FB0AF903FBDE +S214007C00049303EB032903EBC913DB0D63F30406AC +S214007C103E703B8860F34A133B801B0A62F3C7033F +S214007C207B70BCE7BDF81C4020F8064C20F8044CDE +S214007C3020F8024C04800431043308308F42C0F22E +S214007C4029811A4653F8044C002CF4D0B4F1FF3FB7 +S214007C50E8D013F8048CB8F1000F3FD0B8F1FF0F4E +S214007C6000F00581C8F1FF0610F8054CE40806FB95 +S214007C7004F408FB0C4404EB042504EBC514C4F31D +S214007C80C454099430F8065CC5F3451506FB05F5A3 +S214007C9008FB0E5505EB052905EBC915C5F3C555BB +S214007CA010F8069C09F01F0B06FB0BF6069C08FB5B +S214007CB0046808EB082608EBC616F60D66F30409FA +S214007CC000F8069C30F8066C65F34A1620F8066C39 +S214007CD0360A099C64F3C70600F8056C12F8038C94 +S214007CE0B8F1000F3FD0B8F1FF0F00F0C580C8F123 +S214007CF0FF0610F8034CE40806FB04F408FB0C44EB +S214007D0004EB042504EBC514C4F3C454099430F8FA +S214007D10045CC5F3451506FB05F508FB0E5505EB9B +S214007D20052905EBC915C5F3C55510F8049C09F0DF +S214007D301F0B06FB0BF6069C08FB046808EB0826E0 +S214007D4008EBC616F60D66F3040900F8049C30F836 +S214007D50046C65F34A1620F8046C360A099C64F332 +S214007D60C70600F8036C12F8028CB8F1000F3FD07B +S214007D70B8F1FF0F00F08580C8F1FF0610F8014C3F +S214007D80E40806FB04F408FB0C4404EB042504EBAF +S214007D90C514C4F3C454099430F8025CC5F3451501 +S214007DA006FB05F508FB0E5505EB052905EBC91581 +S214007DB0C5F3C55510F8029C09F01F0B06FB0BF621 +S214007DC0069C08FB046808EB082608EBC616F60DAA +S214007DD066F3040900F8029C30F8026C65F34A1654 +S214007DE020F8026C360A099C64F3C70600F8016C9A +S214007DF012F8018CB8F1000F3FF41DAFB8F1FF0F79 +S214007E0044D0C8F1FF064478E40806FB04F408FBF7 +S214007E100C4404EB042504EBC514C4F3C45B0588CA +S214007E20C5F3451506FB05F508FB0E5505EB0529BC +S214007E3005EBC915C5F3C55590F8009009F01F0A63 +S214007E4006FB0AF6069C08FB046808EB082608EB07 +S214007E50C616F60D66F3040980F80090068865F3EA +S214007E604A160680360A6BF3C7064670E3E6BDF888 +S214007E701C4020F8064C31E7BDF81C4020F8044CA6 +S214007E8071E7BDF81C4020F8024CB1E7BDF81C4075 +S214007E900480D0E60E9D8D424EDD541E059B03EBFE +S214007EA04108069E08E0BDF81C30A8F800300131F5 +S214007EB008F102088D423FDD14F8013F002BF6D092 +S214007EC0FF2BF0D0C3F1FF0998F80120D20809FB78 +S214007ED002F203FB0C2202EB022002EBC012C2F3FA +S214007EE0C452B8F80000C0F3451009FB00F003FBCD +S214007EF00E0000EB002700EBC710C0F3C55098F843 +S214007F00007007F01F0A09FB0AF903FB069303EB50 +S214007F10032903EBC913DB0D63F3040788F800702D +S214007F20B8F8003060F34A13A8F800301B0A62F372 +S214007F30C70388F80130BAE7059B0F9A13440593E8 +S214007F40089B0B9A134408930A9B01330A930C9AD6 +S214007F509A423FF40AAC002D40F37081089A12F062 +S214007F60030F00F07981059F90460021069C20E6CD +S214007F70FF2A02D0DDF824E004E0DDF824E02A88B9 +S214007F809A4232D0BEF1FF0F42D0CEF1FF046B789A +S214007F90DB080EFB0CF204FB032303EB032203EBCC +S214007FA0C213C3F3C4532A88C2F345120BFB0EF167 +S214007FB004FB021202EB022102EBC112C2F3C5520D +S214007FC0297801F01F0109FB0EF604FB016101EBA5 +S214007FD0012601EBC611C90D61F3040A62F34A1AC1 +S214007FE063F3CF2A1FFA8AF12B88298002460235CE +S214007FF0A8450FD017F8010F0028F8D09042BED041 +S214008000FF28B5D0079B03FB00FECEF3072EB9E78B +S2140080100899E9E705980C9C204405900A980130D9 +S21400802004460A9006980B9D28440690BDF9460023 +S21400803084423FF79AAB0D980028EBDD059805467D +S2140080400E9C00EB0408069FD4E7BDF82450B9F157 +S214008050010F40D0B9F1020F32D1834B0593BDF822 +S214008060242002F01F08C2F34516C2F3C423994623 +S214008070BA8A01323B8AD31A1FB2CDF824C00CFB51 +S21400808007F3069A02EB43020792012C26D0013032 +S2140080900A9A801A02B20C92089A0B99521A0892FF +S2140080A0069A32F81320F4453FF75FAB7B000B933C +S2140080B010460021CDF818B0CDF828B0CB46B0E079 +S2140080C06A4B00936A4B4FF404726A4902206A4C6A +S2140080D0A047FFF74ABB694B0593C0E74FF0000A7D +S2140080E00BFB09F303EB032003EBC013C3F3C450ED +S2140080F00BFB06F303EB032203EBC213C3F3C552D9 +S2140081000BFB08F303EB032103EBC113C3F3C453C8 +S214008110F4453FF72AAB79000891CDF818B0CB4666 +S2140081203AE0217863F304012170218862F34A1152 +S2140081302180090A60F3C701617009F1010902375D +S214008140BDF9441089451ADC3C461FFA8AF1B7F897 +S21400815000E07145E5D0B7F800A068F3040566F3C3 +S2140081604A156BF3CF25069A51462846059B984735 +S21400817000F01F03C0F34512C0F3C420D1E70799EF +S214008180089C21440791099901310C460991BDF9D3 +S21400819046108C423FF7E9AABDF94070B946BDF9D2 +S2140081A044108F42EBDC079901EB4707CCE7F92B2D +S2140081B09DBF0A9A5343C3F30722069A68F3040541 +S2140081C066F34A156BF3CF2521882846059B98470A +S2140081D080B29AF800102288208009F10109013740 +S2140081E00234BDF9443099450ADCBA463B78002B88 +S2140081F0F3D08B42DBD1B4F800E09645D7D1EBE75D +S214008200079B0B9C23440793089B0C9C23440893D2 +S214008210099B01331C460993BDF946309C423FF743 +S214008220A4AABDF94040A146BDF944309C42E7DC13 +S214008230089B1F19079B03EB4404D6E7089B002105 +S2140082400D9A8A42FFF678AE0433C81C059A02EBF4 +S21400825040000E950D9FF4E4089B00210D9A8A427B +S214008260F2DA1A4619E600BF9F760000904C02002C +S214008270444C0200604C02005D220100E9750000DB +S2140082802DE9F04F91B09DF868409DF86CA09DF8E0 +S2140082907050BAF1040F00D914B911B0BDE8F08FD0 +S2140082A0049307920F4601463A460EA8BC4B9847E1 +S2140082B00028F2D0BB4B98478046BB4B98470646F3 +S2140082C083680593028ABDF838309B1A9BB20693E2 +S2140082D0BDF918C0ADF838C0438ABDF83AB0ABEB6C +S2140082E0030B1FFA8BFB0FFA8BFEADF83AE0BDF8D6 +S2140082F03C10891A89B2ADF83C10BDF83E00C01A91 +S21400830080B202B20892ADF83E20049AD2B198F834 +S214008310083013F0010F15D101F10109069BA9EBF6 +S21400832003090FFA89F9B9F1000F0BDD13469144E2 +S2140083301A78802A4FF0FF3298BF002203F8012BEC +S2140083404B45F5D1D8F81430002B00F0A980954B9A +S21400835098470546B6F91000B38A01331B1A1BB2BC +S2140083600693BDF93810B7F90020B7F8049009F164 +S2140083700109A9EB02090FFA89F9BDF93AE0B7F944 +S2140083800230B6F912609B1BAEEB0303121A8A1A70 +S21400839009FB03234FEA410BCBEB430B079B5B44E4 +S2140083A09B46012C46D0049B5B1A0793BDF93E30D2 +S2140083B09E453FF772AFBDF93C304FEA490208923E +S2140083C00133591A0BB20993F146BDF938603446A9 +S2140083D0BDF93C309E4220DC079B03EB06080BEB06 +S2140083E046060FFA89F7049618F8013B03FB0AF3D2 +S2140083F0C3F307230293049A32F8023B0492ADF8C3 +S2140084000430009723B2069A059928466E69B0474D +S2140084100134BDF93C309C42E6DD079B099A1344C3 +S2140084200793089B9B4409F10109BDF93E30994525 +S214008430CBDD32E7BDF93E307345FFF62EAF4FEA8F +S2140084404909F046BDF938703C46BDF93C309F42BC +S2140084501EDC0BEB47070FFA88F6049733465646A2 +S214008460CA4699460296049A32F8023B0492ADF840 +S2140084700430CDF8009023B2069A059928466F6915 +S214008480B8470134BDF93C309C42EBDDD146B246DC +S214008490CB4408F10108BDF93E309845D2DDFCE634 +S2140084A0002D40F09983B6F91030B6F8148008F124 +S2140084B00108A8EB03080FFA88F80131069A891A12 +S2140084C00AB2099215460130A0EB0B0B0FFA8BF29D +S2140084D00892B7F90010B7F8049009F10109A9EB62 +S2140084E001090FFA89F90EFB08C2059800EB420253 +S2140084F00592B7F90220B6F91200121AAEEB020E78 +S214008500CB1AACEB030309FB0E33079A02EB4303CB +S2140085100693244B98470646012C1BD0BAF1FA0F57 +S21400852000F2C580089B002B7FF7B7AE4FEA4803E2 +S2140085300A934FEA49030B93099B049A013A049263 +S2140085405B000D934FF0000BCDF81CA00C95DDF8EA +S214008550189036E3036A5BB30EA8144B9847F028CE +S21400856026D9BDF93A50BDF93E309D423FF795AE4B +S2140085704FEA48084FEA4909DDF814B0069FCDF8DF +S21400858000A0099B3A4659463046346AA047C34481 +S2140085904F440135BDF93E309D42F0DD7DE600BF1B +S2140085A019150100695F0000DD0F0100FD140100D0 +S2140085B0BAF1FA0F10D8089B002B7FF76EAE4FEA81 +S2140085C0480304934FEA4909099B4FEA430B4FF0CF +S2140085D00008CAF1FF0E26E0089B002B7FF75DAE71 +S2140085E0099A56004FEA48084FEA49090024664DA2 +S2140085F09B46059FDDF818A0324651463846A847E8 +S2140086004744CA440134A345F6D146E6059B049A7E +S21400861013440593069B4B44069308F10108089BF8 +S21400862043453FF43AAE002DF0DD069B1F46059C01 +S21400863003EB0B0C7B78DB086278D2080EFB02F2A9 +S2140086400AFB032303EB032203EBC213C3F3C45357 +S2140086503A88C2F345122188C1F345110EFB01F199 +S2140086600AFB021202EB022102EBC112C2F3C55250 +S21400867017F8021B01F01F01207800F01F060EFB02 +S21400868006F60AFB016101EB012601EBC611C90DD6 +S21400869061F304002070218862F34A112180090AE0 +S2140086A063F3C70161700234BC45C3D1AEE7099BD2 +S2140086B0043B0A93089B002B7FF7EFAD4FEA480375 +S2140086C00C934FEA49030D930023079365E3B8F82C +S2140086D00030AEF80030634601318D4200F047832B +S2140086E008F102080EF1020E1CF0030F00F02D83B5 +S2140086F01CF8014B002CEED0FF2CE8D0C4F1FF068E +S21400870098F80130DB089EF80120D20806FB02F23A +S21400871004FB032303EB032203EBC213C3F3C4538C +S214008720B8F80000C0F34510BEF80020C2F34512AA +S21400873006FB02F204FB002000EB002200EBC21056 +S214008740C0F3C55098F8002002F01F029EF8007093 +S21400875007F01F0906FB09F604FB026202EB02247F +S21400876002EBC412D20D3C4662F304048EF80040BD +S214008770BEF8002060F34A12AEF80020120A63F337 +S214008780C7028EF80120A6E75526010034F8065CDD +S21400879020F8065C34F8045C20F8045C34F8025CCC +S2140087A020F8025C2588058004310433083408303C +S2140087B08E4540F347811A4653F8045C002DF3D0EB +S2140087C0B5F1FF3FE2D013F804CCBCF1000F47D060 +S2140087D0BCF1FF0F00F02481CCF1FF0914F8055C12 +S2140087E0ED0810F8056CF60809FB06F60CFB0565A7 +S2140087F005EB052605EBC615C5F3C45534F8066C1F +S214008800C6F3451630F8067CC7F3451709FB07F78D +S2140088100CFB067606EB062706EBC716C6F3C55610 +S21400882014F8067C07F01F0710F8068C08F01F0BDC +S21400883009FB0BF90CFB079707EB072C07EBCC178C +S214008840FF0D67F3040800F8068C30F8067C66F324 +S2140088504A1720F8067C3F0A65F3C70700F8057C30 +S21400886012F803CCBCF1000F47D0BCF1FF0F00F0AC +S214008870DC80CCF1FF0914F8035CED0810F8036CFB +S214008880F60809FB06F60CFB056505EB052605EB69 +S214008890C615C5F3C45534F8046CC6F3451630F84F +S2140088A0047CC7F3451709FB07F70CFB067606EBB7 +S2140088B0062706EBC716C6F3C55614F8047C07F061 +S2140088C01F0710F8048C08F01F0B09FB0BF90CFBB4 +S2140088D0079707EB072C07EBCC17FF0D67F3040889 +S2140088E000F8048C30F8047C66F34A1720F8047C01 +S2140088F03F0A65F3C70700F8037C12F802CCBCF108 +S214008900000F47D0BCF1FF0F00F09480CCF1FF09B8 +S21400891014F8015CED0810F8016CF60809FB06F681 +S2140089200CFB056505EB052605EBC615C5F3C4551A +S21400893034F8026CC6F3451630F8027CC7F34517C8 +S21400894009FB07F70CFB067606EB062706EBC716B1 +S214008950C6F3C55614F8027C07F01F0710F8028C01 +S21400896008F01F0B09FB0BF90CFB079707EB072C0E +S21400897007EBCC17FF0D67F3040800F8028C30F8FD +S214008980027C66F34A1720F8027C3F0A65F3C707A5 +S21400899000F8017C12F8018CB8F1000F3FF404AF28 +S2140089A0B8F1FF0F4BD0C8F1FF096578ED0846789F +S2140089B0F60809FB06F608FB056505EB052605EB3C +S2140089C0C615C5F3C4552688C6F345160788C7F3EB +S2140089D0451709FB07F708FB067606EB062706EBA6 +S2140089E0C716C6F3C556277807F01F0790F800C0CD +S2140089F00CF01F0A09FB0AF908FB079707EB072884 +S214008A0007EBC817FF0D67F3040C80F800C0078853 +S214008A1066F34A1707803F0A65F3C7074770C3E641 +S214008A2034F8065C20F8065C1AE734F8045C20F894 +S214008A30045C62E734F8025C20F8025CAAE725884A +S214008A400580B1E60B9D8D4240F39481561E4FEA99 +S214008A50410C069B03EB0C08059B9C440BE0B8F806 +S214008A600030ACF80030013108F102080CF1020CBD +S214008A708D4240F37F8116F8014F002CF3D0FF2C77 +S214008A80EDD0C4F1FF0798F80130DB089CF8012010 +S214008A90D20807FB02F204FB032303EB032203EBDB +S214008AA0C213C3F3C453B8F80000C0F34510BCF8B3 +S214008AB00020C2F3451207FB02F204FB002000EB85 +S214008AC0002200EBC210C0F3C55098F8002002F058 +S214008AD01F029CF800E00EF01F0907FB09F704FBD5 +S214008AE0027202EB022402EBC412D20D744662F349 +S214008AF004048CF80040BCF8002060F34A12ACF87E +S214008B000020120A63F3C7028CF80120ABE7023795 +S214008B100236474545D01CF8011F0029F7D0F92931 +S214008B209ABF01FB0AF1C1F30724079CC4F1FF05B5 +S214008B307B78DB087278D20805FB02F204FB03237D +S214008B4003EB032203EBC213C3F3C4533A88C2F306 +S214008B5045123188C1F3451105FB01F104FB0212F1 +S214008B6002EB022102EBC112C2F3C552397801F0C2 +S214008B701F01307800F01F0E05FB0EF504FB0151B7 +S214008B8001EB012401EBC411C90D61F30400307040 +S214008B90318862F34A113180090A63F3C7017170A4 +S214008BA0B5E7059B0A9A134405930B9B99440BF172 +S214008BB0010B049B099A13440493089B5B453FF4FE +S214008BC06CAB0C9B002BECDD4F46059E0D9B09EB1A +S214008BD00308DDF810C09EE7012D49D0022D3CD1D8 +S214008BE0DFF8E081B6F910300993B08A0130C01A78 +S214008BF000B2B7F90020BB8801339B1A1DB2F146BC +S214008C000EFB00FB059B03EB4B0BB7F90230B6F9E6 +S214008C1012609F1BAEEB070705FB07F7079B03EBEE +S214008C204707012C27D0049BA3EB0C031A46A7EB9F +S214008C304C030493089B9E453FF72FAB43000793D6 +S214008C406B000893CDF814A04B1C06995B1A1BB258 +S214008C500993CDF818A0924666E0564B0093564B03 +S214008C6040F2533255490220554CA047FFF715BB3A +S214008C70DFF85481B6E7099B9B1A07EB4307089B6E +S214008C809E453FF70AAB430004936B0005933B46B3 +S214008C9047469846BDF938301C46BDF93C209342FD +S214008CA010DC5B000BEB030508EB03065246298835 +S214008CB036F8020BB84725F8020B0134BDF93C30F4 +S214008CC09C42F3DD049B9B44059B984409F10109F3 +S214008CD0BDF93E309945DDDDFFF7DFBA01350236D6 +S214008CE00234BDF93C309D420FDC17F8013B002BE7 +S214008CF0F4D0F92B9DBF069A5343C3F30722059A77 +S214008D0031882088C0473080E8E7079B9B44099B52 +S214008D109A44049B089A1344049309F10109BDF987 +S214008D203E3099453FF7B9AABDF938301D46BDF922 +S214008D303C209342E9DC0AEB03075B000BEB0306DF +S214008D40049AD418D1E7049B00210A9A8A420ADDC5 +S214008D500433C81C4000069A1418059A10440B9554 +S214008D60DDF828E027E51A4670E6049B00210A9AFB +S214008D709142EDDB059B0C9A13440593049B099ADC +S214008D8013440493069B0D9A13440693079B0133E2 +S214008D900793089A9A423FF480AA002DE5DD049ACC +S214008DA012F0030FCFD0DDF81880DDF814E09446FB +S214008DB000219DE4904C0200544C0200604C0200DE +S214008DC05D2201009F760000E97500002DE9F04F56 +S214008DD0BDB01B902391174608939DF818310A934F +S214008DE09DF81C3106934B1EC81D3AAA13F8011FA6 +S214008DF002F8011B8342F9D1A34B9847A34B98472F +S214008E001890018ABDF8E8305B1AADF8E830428A5F +S214008E10BDF8EA309B1AADF8EA30BDF8EC305B1AC4 +S214008E20ADF8EC30BDF8EE309B1AADF8EE30984B4E +S214008E309847199030B9089A53881BB91389B3F527 +S214008E40807F71D0069B002B14BF4FF0030B4FF0B2 +S214008E50020B1B990B46B1F900208D880135AD1A1F +S214008E602DB2BDF9EA00189EB6F91210D846BDF923 +S214008E70E840B6F91060B3F902305B1AC31A921BC9 +S214008E80A21A05FB032303FB0B731493A4B2A219C7 +S214008E9092B2ADF89820BDF8EC3001331B1B9BB2A4 +S214008EA01CB21694013B1344ADF89C3080B24318B4 +S214008EB01BB2ADF89A30ADF89E30BDF8EE600136C4 +S214008EC0361A36B208994B88002B40F053830B892C +S214008ED0B3F5807218BF01220592199A002A40F055 +S214008EE07083B3F5807F40F049830A9B23B98B7A61 +S214008EF013B9069B002B31D13AA8664B9847B0F5BC +S214008F00F07F40F2AC804FF47070634CA0471A902C +S214008F104FF4F070A0471790482128A85F4B984759 +S214008F204FF4F0731C93E4E00A9B002B8AD1069B57 +S214008F308BB9937A13B14FF0020B8AE7937B0293B7 +S214008F40137801930123009300233A461B99239834 +S214008F50534CA0470BE34FF0030B7AE73AA84D4B70 +S214008F609847B0F5F07F14D83AA84A4B9847814600 +S214008F704FEA4900484CA04782464846A047044668 +S214008F800596002E4FDD08FB05F80025AC46149E1E +S214008F9025E04FF4F079EBE75B44023796450AD0BC +S214008FA0997802F8011B0029F6D05878197801EB59 +S214008FB000213980F0E74644BDF8EC300133BDF8B7 +S214008FC0E8209B1A0CFA83F3994514D9BDF89E3015 +S214008FD00133ADF89E300135059B9D4223D0169B8C +S214008FE0002BE8DD04EB0C020AEB4C079C4404EB78 +S214008FF00C0E3346D4E7089A937B029313780193BA +S214009000022300932346524626A92398244FB847A6 +S214009010BDF89E3001331BB2ADF89A30ADF89E30E5 +S2140090204FF0000CD7E7BDF99E30BDF99A209A4262 +S2140090300FD0013BADF89E30089A937B02931378CD +S2140090400193022300932346524626A92398144DE3 +S214009050A8472046134CA0475046A04787E23AA8A8 +S2140090600C4B98471C901C9B58000B4CA0471A9022 +S2140090701C98A0471790482128A8084B9847059B9E +S214009080002B36D091E200BF695F0000DD0F0100C3 +S214009090C5BE0000FD1401003D290100372B01006C +S2140090A08182000071250100052208984388ADF8EA +S2140090B0AC300389ADF8AE302897ADF8A4501B99B4 +S2140090C0CB88013349885B1AADF8A6308DF8B220FC +S2140090D08388ADF8A830C388ADF8AA308389ADF888 +S2140090E0B030C37BC3F300038DF8B33028A8934B8E +S2140090F098470898837ADA43D2B2129203B39BB2A7 +S214009100427BD20802FB03F210928289C2F3451218 +S21400911002FB03F21192027B02F01F0202FB03F332 +S2140091201393069B8BB90A9B53BB089A538853BB71 +S2140091301389B3F5807F14BF022301231D9306E035 +S2140091400023139311931093EBE702231D93199BAF +S214009150E3B9189BB3F91230BDF9EA2013441B9A01 +S214009160B2F902209B1A22931F96002E40F3E48148 +S21400917008FB05F31E9300230E930F93D14654E18C +S21400918002231D93E3E702231D93E0E71C9917983B +S2140091906B4B9847DDE70C9B2B441BB2BDF9A82010 +S2140091A09B1ABDF9AA200D998A1ABDF8AE10B1F522 +S2140091B0807F56D0BDF9AC10002965D1BDF8D61019 +S2140091C0319C01FB03430993329B01FB02330B9353 +S2140091D0099B1F12BDF9A4309F4280F2AB80002F7E +S2140091E0C0F2A8800B9A121210461592BDF9A6205E +S2140091F0904280F29F800028C0F29C809DF8D42088 +S21400920012F0040F6AD0289912F0020F55D103FB12 +S21400921000735A00881811F813308DF8B43043786C +S2140092208DF8B53002219DF8D43013F0010F0DD023 +S214009230209B6FF3040343F4FC636FF3CF23ADF876 +S2140092408030BDF8B4009BB2984273D09DF8B3301E +S214009250002B59D19DF8B6308AF80030BDF8B430EE +S21400926086E03498339900FB03F401FB1247319CE7 +S21400927004EBE714099400FB02F201FB0323329A85 +S21400928002EBE3130B93A3E7BDF8D61001FB03F341 +S21400929001FB02F23499339801FB03F400FB1247FA +S2140092A0319C04EBE734099401FB02F200FB032334 +S2140092B0329A02EBE3330B938AE7159A03FB0273A9 +S2140092C003EB43028B18895C8DF8B41059788DF83F +S2140092D0B5109B788DF8B6300321A4E739B2BDF9F6 +S2140092E05420BDF8B030259224912EA8154CA047E6 +S2140092F0ADF8B400259A24992EA8134B98478DF8FC +S214009300B600002211468EE7BDF82430ADF8D830FE +S214009310BDF82C30ADF8DA30ADF8DC70BDF854305E +S214009320ADF8DE3038928DF8E41028A8074B984741 +S21400933000288FD100238AF800303DE04DEB000076 +S214009340ED2B010019E9000049EA0000FDED0000E0 +S214009350E0070000FF238AF800307278337803EBCA +S21400936002239BB20A9A1AB13FF81C209A4236D0C2 +S214009370089A927AEAB1BDF84820D90A109801FBFB +S2140093800201C1F30421C3F34510119C00FB024007 +S214009390C0F3052003F01F03139C03FB0243C3F333 +S2140093A0072363F3040960F34A1961F3CF291FFA10 +S2140093B089F3079A22F8153001355E440AF1010A4E +S2140093C0454510D0059B002B7FF4E5AE069B002B91 +S2140093D0C0D0B3788AF80030002BEDD0BDE700236C +S2140093E08AF80030E8E7169B0F9A9C18199B002B0A +S2140093F03ED1149B1E9A13441493BDF8EC300133EF +S214009400BDF8E8209B1A04FA83F31C9A9A425CD9AA +S214009410BDF89E300133ADF89E300F940E9B01339D +S2140094200E931F9A934200F08780189BB3F9103072 +S214009430BDF9E82013441B9AB2F900209B1A0C933E +S214009440169B9846002B11DD179B19460F9A01EBC9 +S214009450020A1A9B194601EB42030793149E002545 +S214009460229B0E9A13441BB20D93ABE70F9CBDE7ED +S2140094700F9B179A13441E46BDF8E810BDF8EC3053 +S21400948001335B1ABDF8EA20189D688A02440E98DC +S2140094900244288A01441BB212B209B230464E4D2D +S2140094A0A84728B102281D9A08BF02461D92A0E7C9 +S2140094B0BDF8EC100131BDF8E830C91A09B23046E3 +S2140094C0464B984702231D9393E7089DAB7B029378 +S2140094D02B7801931D9B0093179B1A9A26A9239815 +S2140094E03F4CA047BDF89E3001331BB2ADF89A3012 +S2140094F0ADF89E30069B5BB90A9B83B96B888BB927 +S2140095002B89B3F5807F14BF022301231D9301E04E +S21400951002231D93199B43B900230F937EE7022372 +S2140095201D93F7E702231D93F4E71C9917982D4B1C +S214009530984700230F9371E7BDF99E30BDF99A2036 +S2140095409A420FD0013BADF89E30089A937B029367 +S214009550137801931D9B0093179B1A9A26A92398AC +S2140095601F4CA0471798204CA0471A98A0473DB01C +S214009570BDE8F08F199B13BB012305933AA81B4B3C +S2140095809847B0F5F07F7FF66AAD4FF47070184CD0 +S214009590A0471A904FF4F070A0471790482128A8CB +S2140095A00E4B98474FF4F0731C93069B002B7FF4EA +S2140095B07BAD0A9B002B0CBF0422062275E5012317 +S2140095C005933AA8094B9847B0F5F07F7FF647AD6C +S2140095D04FF4F0731C9346E51DBE0000372B0100C8 +S2140095E081820000ED2B010071250100FD140100B1 +S2140095F03D29010070B59EB004460D46164609A8E2 +S2140096000B4B98470B4B1B88ADF8263009AA29460A +S2140096102046094B984702A8084B9847002300931A +S214009620334602AA29462046054CA0471EB070BD08 +S21400963069C20000B84C020031C30000CD9900009A +S214009640259A000010B5044610210C4B9847237B42 +S2140096506FF304032373A3896FF34A13A3811B0AD2 +S2140096606FF3C7036373FF2323704FF48073238164 +S214009670E37B43F00103E37310BD00BF372B01000B +S21400968004380A2813D8DFE800F00608060A0C0E8D +S214009690100A0C0E1000102070471820704701208A +S2140096A0704702207047042070470820704700204B +S2140096B07047032805D002D30638042801D90020B5 +S2140096C070470120704702380C2808D8DFE800F001 +S2140096D009070709070909090909090909000020F6 +S2140096E070470120704700002DE9F04F8FB0054607 +S2140096F00E463AB11C4610461B78052B10D80FB004 +S214009700BDE8F08F844B0093844B4D2284490220A1 +S214009710844CA047844A31462846844B9847EEE757 +S214009720A189834B98470746002800F0B58090F83B +S2140097300C9009F01F0948467E4B984780464846DD +S2140097407D4B98478146BB696BB17C4B00937C4B45 +S214009750F72273490220734CA047BA69314628465F +S214009760724B9847CBE73B69002B49D06B1EE81D30 +S2140097700AAA13F8011F02F8011B9842F9D1638860 +S2140097801BB92289B2F5807F28D0EA880132698821 +S214009790521AA98801312888091A201D01902089AB +S2140097A000901BB212B209B20AA8DFF8B8A1D047DF +S2140097B02A88BDF828301344ADF828306B88BDF8E9 +S2140097C02A101944ADF82A10BDF82C100A44ADF83A +S2140097D02C20BDF82E201344ADF82E300AAA3146B0 +S2140097E00CA8584B9847002889D03A69CDF80490C1 +S2140097F0CDF8008023460CA92846534CA0477EE7A8 +S2140098002A46314608A84F4B984700283FF477AFC2 +S214009810BDF824300133BDF820209B1A1BB20393F9 +S21400982003EB4300494B984702900DF11F020AAB29 +S2140098300CA812F8011F03F8011B8342F9D101217D +S2140098400AA8434B9847BDF92030B5F90020BDF96A +S21400985022A0B5F90210AAEB01010846BDF92610B0 +S2140098608A4555DCDFF8DCB09B1A1BB205930795DA +S21400987006944446804623E0079D0498354B984757 +S214009880354B00932E4B4FF49A7225490220254CF7 +S214009890A0470298314B9847284B00931F4B5822FD +S2140098A01F4902201F4CA0471F4A314628461F4B1F +S2140098B0984724E70AF1010ABDF926309A4527DCC5 +S2140098C00AAA31460CA8D8470028F3D00497029B72 +S2140098D00093039B0FFA88F205993846204DA84757 +S2140098E00128C9D1CDF804900094069B029A0CA9D1 +S2140098F00AA8154DA847BDF82A300133ADF82A301E +S214009900BDF82E300133ADF82E3008F10108D1E74E +S2140099100298124B9847F2E60C4D0200BC4C02002F +S214009920DC4C02005D220100244D0200F59500008B +S21400993001F20000B3960000C79600002C4D02000E +S214009940C84C020019150100CD8D00003D2901000C +S214009950F314010035FF0000404D020071250100A0 +S21400996011FF000065EC000058B10278A2F1200358 +S214009970DBB25F2B07D952B2002AB4BF0220002008 +S21400998070470320704701207047A0F13003DBB218 +S214009990092B17D9602884BF2038C0B24138052863 +S2140099A00ED8DFE800F011030507090B0B207047FF +S2140099B00C2070470D2070470E2070470F20704710 +S2140099C000207047184670470A20704710B50446B6 +S2140099D01C21124B9847FF23237223786FF304034E +S2140099E0237023886FF34A1323801B0A6FF3C70381 +S2140099F063700B4B63604FF6FF73E3812382A3789B +S214009A0043F01F03A37063886FF34A1363801B0A37 +S214009A106FF3C703E3700023A37510BD372B010057 +S214009A20100000202DE9F04FD9B0629C157A052D64 +S214009A3001D91D7815B959B0BDE8F08F0A93934641 +S214009A400A460D9105461390DBF80430059301464F +S214009A5056A8AA4B98470028EDD09BF8172012F07E +S214009A60020F21D1AB8801332A889B1A1BB2059AB4 +S214009A70B2F908A0BBF90A90D1441399B1F90020B5 +S214009A801F92B1F90200BBF912201A92BBF914100A +S214009A90421892B215B2002C4AD000294BD10028A9 +S214009AA014DB0E95002629E0BBF90C30029247F62F +S214009AB018420192BBF90A200092DBF804200A99AA +S214009AC03AA88F4DA847BDF9E830D0E7A168081A34 +S214009AD080EAE071A1EBE071C9F50070B1EB400FD0 +S214009AE005DD4FF0FF3222600E95002606E0266860 +S214009AF0002E23DB61680A4412B20E921BB219468E +S214009B001093BBF90C209BF8173000930B46059971 +S214009B100A9830447B4DA84783192F46DFF8F88112 +S214009B203146CDF81890D1460E9D26461C460FE0CD +S214009B300E950026E2E70E950026DFE70E95002636 +S214009B40DCE721469AF80030002B3FF474AF044659 +S214009B5005EB09030D9AB2F90220934220DA0A9B1C +S214009B6003EB040ABBF90C209BF817300093109BFC +S214009B7005995046B8472044069B1D442DB2002E3A +S214009B80DFD04545DDDB3368002BDADA3460139A24 +S214009B90B2F90230EB1A7360B2F90230B360D0E764 +S214009BA00E460794DDF818900E959BF8172012F0D5 +S214009BB0040F2FD112F0080F45D19BF808300B93F5 +S214009BC0BBF80E70BBF81030194608939F4202D9B6 +S214009BD03B460F4608939BF8183013F0030F49D105 +S214009BE03DA8494B9847BBF80230ADF8F6300B9BC2 +S214009BF0FA2B88BFFF2316931FFA89F31793BDF835 +S214009C00383011931F9D00231993BA46D846B346A1 +S214009C1000F0D3BDBBF90C30A11B0092059A89B2A7 +S214009C200A983044394CA047139A93880133128817 +S214009C309B1A1BB2181A00EBD0701F9B03EB600335 +S214009C401BB21F93B9E7BBF90C300799891B00922A +S214009C50059A89B20A9830442C4CA047139A9388E8 +S214009C60013312889B1A1BB21B1A1F9A13441BB28D +S214009C701F93A2E753A8264B9847BBF80030ADF8D1 +S214009C804C31DBF80430B3F908300533214A82FB47 +S214009C900312DB17C3EBA203ADF84E319BF8083076 +S214009CA08DF854319DF855319BF8192062F3010365 +S214009CB08DF8553194E70025AAE00025A8E0069B1C +S214009CC02BB9BDF848311993012306938AE0069B09 +S214009CD0012B00F0F185022B00F03385B8F8006008 +S214009CE0B5E0202C7ED1529B199A9B1A072B15D0D3 +S214009CF0B8F800300C930223069373E019150100A0 +S214009D007D400100B13D010069C20000DD3F010059 +S214009D10E1A800006766666600FCFFFF099B9818CE +S214009D20431E05303AAA13F8011F02F8011B8342AE +S214009D30F9D19DF8E8008C4CA04705469DF8E9004F +S214009D40A04700EB05159DF8EA00A04706469DF8DB +S214009D50EB00A04700EB06169DF8EC00A047074670 +S214009D609DF8ED00A04700EB0713C3F3C4032E9A3B +S214009D7063F304021346C6F3850666F34A13C5F377 +S214009D80C40565F3CF23ADF8B8309BB20C9302231D +S214009D90069327E0ADF8E8A00E9AADF8EA20B8F8EA +S214009DA00C30013B53440344ADF8EC30179B013BA9 +S214009DB01344ADF8EE303DAA0D993AA86B4B984780 +S214009DC056E06B4B00936B4B40F297126A490220A9 +S214009DD06A4CA047002F05DDB8F80C3053443B44CE +S214009DE00FFA83FA5299079BA3EB0B038B4240F2C0 +S214009DF0AC844FF6FF7399453FF45DAF089A9A42DC +S214009E003FF45BAF59440A985D4B1B68984785B290 +S214009E105C4E336852A9099F384698470446336813 +S214009E20002152983844984798F8173013F0010FDD +S214009E3006D0232C3FF443AF069B012B3FF451AFD3 +S214009E40B8F800600C9B069A022A08BF1E46024617 +S214009E50214605984C4B984707464FF6FF739945A1 +S214009E6006D00899994203D0A94501D8A94291D8AD +S214009E700B9B042BAED9059B002BA2D098F819306B +S214009E800F93002322463AA90598404DA84758B993 +S214009E901F2C9FD93E4B0093364B40F2A1123649F9 +S214009EA00220364CA04795E7BDF8EC201AB9BDF85D +S214009EB0EA30002B8ED0BDF9EE505544BDF8EA309E +S214009EC02B440D98B0F900108B4283DBB0F90430B8 +S214009ED09D423FF77FAF059BB3F90810B3F90A30F0 +S214009EE0CB1A0E990B44991ABDF9F030CB1A15937C +S214009EF01A44B0F902309A42FFF66CAFB0F9063059 +S214009F00159999423FF766AF21460598214B984729 +S214009F108646F0B1059B1B7B13F0030F00F05E82B4 +S214009F202BB21893BDF954301D939DF8F23012935E +S214009F30032B00F0FF80013B072B00F20281DFE8D5 +S214009F4013F00A012D000001FB00000100010001D2 +S214009F501101114B0093074B40F2B712064902203D +S214009F60064CA04736E700BF8B99000031C30000BF +S214009F70E84E0200784E0200B84E02005D22010054 +S214009F806400002058000020610001005900010014 +S214009F90084F020051000100304F0200C0231B93FF +S214009FA0AC4B2093BDF8EA301E93BDF8EC10129A25 +S214009FB002FB03F20D9BB3F90030189C9C42BABF1B +S214009FC01B1B03EB4303002327930D9BB3F90430BD +S214009FD01E980446A04880FB0440189C20449842E3 +S214009FE0C3BF1B1B013303EB43031E9B14930D9B44 +S214009FF0B3F902301D9C9C42B4BF1B1B0023259363 +S21400A0000D9BB3F906301D9C0819984240F3B180A9 +S21400A0101B1B0133289306F01F032293C6F3451338 +S21400A0202493C6F3C4232393129B1846279B00FB56 +S21400A03003F3259800FB02320EEBE206319602F09F +S21400A04007061E9801FB00F1B1F5F07FA8BF4FF49C +S21400A050F07129910846814CA04721902999480023 +S21400A060A04730907E4B98477E4B9847B0F91040FB +S21400A070838A01331B1B19B226918168279B764A77 +S21400A08082FB03E2A2EBE372B0F912301D98C31A0A +S21400A0902698864618980EFB03031B1B259C0EFB72 +S21400A0A00420034401EB43011891ADB22A44ADF8F5 +S21400A0B0E020149A9646684981FB0EE3A3EBE27310 +S21400A0C0013D2B44ADF8E430159D25442BB2ADF888 +S21400A0D0E230ADF8E630644B98472A90289DAC42B3 +S21400A0E080F261811499279A8C1A2B941E9D6B1A04 +S21400A0F01344129901FB03F32C93574A82FB042363 +S21400A100C3EBE473269803445B002D930023269349 +S21400A1101593CDF8C8B0CDF8CC903497DDF86090A4 +S21400A120DDF8C4B0CDF8C4A0DDF8C0A0CDF8D4806A +S21400A1308846EAE004231293F0231B934B4B2093AC +S21400A14030E74B4B00934B4B40F27A224A490220B1 +S21400A1504A4CA0473EE60123129380231B93484BAC +S21400A16020931FE708231293FF231B93454B20934E +S21400A17018E728914FE7B8F1080F04D0DBB2209A11 +S21400A180D25C00E0159A58AB0B4403F8842C0131DE +S21400A190032928D0B44540F39480129B43441E46BE +S21400A1A02EFA08FE0135149BAB4200F09080129602 +S21400A1B09BF8003003EA0E02ACEB060322FA03F328 +S21400A1C013F0FF02DED01698FF28D4D0B8F1080F9F +S21400A1D00FBFDAB2DBB2209AD25C169B03FB02F208 +S21400A1E0C2F30722CFE79DF8DC109AF80130DB08AF +S21400A1F0C1F1FF00239A01FB02F200FB0323C3F325 +S21400A20004231D939DF8DE3018939AF8002002F080 +S21400A2101F02C3F1FF00229B189C04FB03F300FB04 +S21400A2200232C2F304231E939DF8DD00BAF8003014 +S21400A230C3F34514C0F1FF03249A00FB02F203FBAC +S21400A2400423C3F30523F9B9F0B9189AE2B9219AA1 +S21400A250D1551DE0644D0200565555553D29010067 +S21400A260695F0000DD0F0100C5BE0000684D0200FA +S21400A270604F0200884E0200B84E02005D220100C8 +S21400A280604D0200784D0200219A4FF0FF31D15503 +S21400A29009EB470019F817101E9A62F3040109F833 +S21400A2A0171039F8172063F34A1229F81720120AF4 +S21400A2B01D9B63F3C702427001370AF1020A0021B0 +S21400A2C068E70BF1010BDDF86CE0159E6AE7534674 +S21400A2D0CA4699462A9B4BBB2B9B3B44299A9A42DB +S21400A2E041DDBDF8E6300133ADF8E63026972C9B0D +S21400A2F01E440BEBE60B06F007062D9B9944259BA8 +S21400A30001332593289A934244DA1B9B23FA06FED0 +S21400A310279D149A954207DA269F0021C8F1080C5B +S21400A3204B46D1469A4642E7269FD3E7269B219A7C +S21400A33013441C46BDF9E010BDF8E43001335B1A47 +S21400A3401BB2BDF9E6202046AB4DA8470028C3D176 +S21400A350BDF8E4100131BDF8E030C91A09B2204654 +S21400A360A64B9847B8E70F9B0293169B01930223D0 +S21400A3700093219B524638A90D98A14CA047BDF8E2 +S21400A380E63001331BB2ADF8E230ADF8E63000231C +S21400A3902693ACE7DDF8C8B0DDF8CC90349FDDF846 +S21400A3A0C4A0DDF8D480BDF9E630BDF9E2209A42BB +S21400A3B00ED0013BADF8E6300F9B0293169B01933F +S21400A3C002230093219B309A38A90D988C4CA04705 +S21400A3D021988C4CA0473098A047FBE42CB2BDF9DE +S21400A3E05400ADF88C609DF8F2302093032B00F0FB +S21400A3F0C180013B072B00F2C580DFE813F0CD00DB +S21400A4000800C300BD00C300C300C300D50004237A +S21400A410C02212927C4A22921699F9292BD87B4A9E +S21400A42092F800218A4200F0C880D3B1229E721EA4 +S21400A43076490139013B06EB030C169B1E46CDF808 +S21400A44050B09B4612F8013FFF2B1ABF0BFB03F3DD +S21400A450C3F30723334601F8013F9445F2D1DDF8F4 +S21400A46050B06A4B9DF8582083F80021209AC3F814 +S21400A47004211C9B2293BDF8EA302493BDF8EC20FF +S21400A480209901FB03FC0D9BB3F900309C42B4BF3E +S21400A4901B1B002314930D9BB3F90430249921440D +S21400A4A09942C6BF1B1B0133249B25930D9BB3F912 +S21400A4B002309842B4BF1B1A002326930D9BB3F9B3 +S21400A4C0063011189942C3BF1B1A01331B931B9207 +S21400A4D0149B2193209903FB01F4269800FB0C445F +S21400A4E00EEBD40604F00704249902FB01FE724624 +S21400A4F0BEF5F07FA8BF4FF4F0721D921046444B95 +S21400A50098471890ADB2149BEB18ADF8E030013DBB +S21400A510259AAB18ADF8E430159D269805442BB265 +S21400A520ADF8E230ADF8E6303A4B98471E902099E9 +S21400A530C1F10805249A149BD318259A9B1A01FB8F +S21400A54003F3209326981B9B984280F2DF804FF0FF +S21400A550000ECDF890B0CDF8989027970F46159539 +S21400A560CDF8A0A0DDF894A08146CDF89480DDF863 +S21400A57088807AE0042320931023F0221292264A41 +S21400A580229249E7254B0093254B40F2E5122549D8 +S21400A5900220254CA0471DE401232093022380229D +S21400A5A01292224A229237E7082320934FF48073B0 +S21400A5B0FF2212921E4A22922EE7144AD2F8042153 +S21400A5C0209991427FF431AF4BE701361298002470 +S21400A5D001318C452ED0337803402A1BD34013F02C +S21400A5E0FF0F1ABFDBB218F8033000230B70A5422A +S21400A5F0EBD93C44F840EBE71DBE0000372B0100CA +S21400A6008182000071250100644D0200502A00205E +S21400A6103D290100C5BE0000684D0200884F0200BB +S21400A6209C4E0200B84E02005D220100604D020002 +S21400A630784D020015951E9B53BB149BAAEB030393 +S21400A6405B441D9A9A423FD9BDF8E6300133ADF817 +S21400A650E630DE46209B1C4406EBD40604F00704D6 +S21400A66009F101091B9B994547DA129B23FA04F06E +S21400A670149B53450ADA189A02EB0E01219BAAEBAB +S21400A680030BF34402EB0B0C159DA4E7F346D2E74D +S21400A690189B734418462293BDF9E010BDF8E430C9 +S21400A6A001335B1A1BB2BDF9E620854DA84700288A +S21400A6B0C3D1BDF8E4100131BDF8E030C91A09B2C3 +S21400A6C02298804B9847B8E70F9B0293FF2301938D +S21400A6D002230093189BBDF88C2038A90D98DFF84C +S21400A6E0E8B1D847BDF8E63001331BB2ADF8E2302A +S21400A6F0ADF8E6304FF0000EACE7DDF890B0DDF8D0 +S21400A7009890279FDDF8A0A0DDF89480BDF9E6308C +S21400A710BDF9E2209A420FD0013BADF8E6300F9B20 +S21400A7200293FF23019302230093189BBDF88C200D +S21400A73038A90D98644CA0471898644B9847FFF7C3 +S21400A74049BB00230693FFF74DBB5346CA469946BE +S21400A75098F8183013F0020F46D198F8183013F016 +S21400A760010F62D10A9A079D5619B8F90C2098F87D +S21400A77017300093109B05993046554CA047441956 +S21400A780139BB3F9005098F8172012F0040F6CD101 +S21400A79012F0080F7ED10E9B17990B441BB2119A2C +S21400A7A00A4492B21192DDF81CB00E930D9AB2F9DB +S21400A7B006209A42FFF63FA907940A9A13465B447E +S21400A7C0099312F80B30002B3FF435A91A9B1D4451 +S21400A7D00FFA85F90023529306933E4B1C934B4683 +S21400A7E0D1469A46FFF7FEBABDF87C30ADF8E030A9 +S21400A7F0D8F80430B3F9083003EBD372BDF94E3104 +S21400A80003EBD3735B1003EB6203119A13441BB282 +S21400A810ADF8E230ADF8E890ADF8EA3053AB0D9AFB +S21400A8203AA938A82C4CA04797E7BDF87C30ADF87D +S21400A830E030D8F80420BDF94E3103EBD3735B103B +S21400A840013311890B4452899B1A119A13441BB287 +S21400A850ADF8E230ADF8E890ADF8EA3053AB0D9ABB +S21400A8603AA938A81C4CA0477CE7B8F90C300092EF +S21400A870059A01463046194EB047139A938801331D +S21400A88012889B1A1BB2181A00EBD07005EB6005F5 +S21400A8902DB280E7B8F90C300092059A0146304692 +S21400A8A00E4EB047139A9388013312889B1A1BB238 +S21400A8B0181A05442DB26EE700230693FFF70EBA6A +S21400A8C01DBE0000372B01005177000071250100E6 +S21400A8D0B13D0100502A002011A90000DD3F010013 +S21400A8E010B504460A21094B984701236380FF23CD +S21400A8F0237223786FF30403237023886FF34A13BD +S21400A90023801B0A6FF3C703637010BD372B01004B +S21400A9102DE9F04FCBB0B3F90250002D00F01884AB +S21400A9201C7A052C40F21484B0F90060B1F900706E +S21400A930BE4200F030811C4696460892079106906B +S21400A94005EBD575C5F34F05BE42D4BFC5EB060370 +S21400A950C5EB0703ADF82031BE42ACBFAB19EB190F +S21400A960ADF824310F46B1F902200646B0F90230A0 +S21400A9709A42D4BFC5EB0201C5EB0301ADF8221124 +S21400A9809A42ACBFAD18ED18ADF82651724648A9EC +S21400A9900846AB4B9847002800F0DA83B6F9026009 +S21400A9A0B7F90250AE4200F0FE80069BB3F90030C5 +S21400A9B01A460593079BB3F900A0524500F00182A2 +S21400A9C0AE4206DB33462E461D46059BCDF814A048 +S21400A9D09A46059BAAEB03030993AA1B0A92002B2F +S21400A9E0B8BF5B429B46002AB8BF52429046B4F9B5 +S21400A9F002909342C7BF530193FBFBF34FEA4B13FE +S21400AA0093FBF2F38F4AD35C09FB03F909F13F0984 +S21400AA104FEAE9131F469BB205988245D4BFC3EBA5 +S21400AA200A02C3EB0002ADF838208245ACBF03EB48 +S21400AA300A021A18ADF83C20B542D4BFC3EB050293 +S21400AA40C3EB0602ADF83A20B542ACBF5B199B19C2 +S21400AA50ADF83E3048AA0EA90846794B984700281C +S21400AA6000F072834FEA292907F001034B440B9349 +S21400AA70C34540F3B682099A002A40F38E821FFA35 +S21400AA8086FB1FFA89F31FFA85F9ABEB0302002158 +S21400AA900191A9EB03031BB20093534612B205992A +S21400AAA012A8694FB847BDF82C800BEB08020123AB +S21400AAB00193C1440FFA89F30093534612B20599E5 +S21400AAC01DA8B847002112A8DFF89C81C0470B904C +S21400AAD000211DA8C0470C90637A13F0100F00F0F9 +S21400AAE0A4824FF0FF330D930A93584B9847584B68 +S21400AAF098478246068ABDF83850AD1BAAB2ADF814 +S21400AB003820408ABDF83A10091AADF83A10BDF858 +S21400AB103C309B1B9BB2ADF83C30BDF83E10091A8A +S21400AB20ADF83E105D1CAD1A2DB20EA8494B9847E5 +S21400AB30B0F5F07FC0F0A2824FF4F07B5846464B4B +S21400AB4098478146BAF81030BDF838201A4412B239 +S21400AB500592ADF84020BDF83C201344ADF84430D3 +S21400AB60BDF83A30BAF8122013441BB2ADF84230A2 +S21400AB70ADF846305946394B9847BAF91220BDF918 +S21400AB803A601644BDF93E3013449E4200F3B98243 +S21400AB9000270994A0E2B0F902E0B1F90240A64508 +S21400ABA07FF4C9AED4E294F80890284B9847284B17 +S21400ABB098470746B4F90230013B5E1003F00103E4 +S21400ABC09D19B4F90630002B35D0B4F9048018F17D +S21400ABD0000818BF4FF00108214B984770BB88F05B +S21400ABE00102079BB3F900300699B1F90010184628 +S21400ABF08B42A8BF0846ADF8A0008B42B8BF0B46F4 +S21400AC00013BADF8A43006994B885D1BADF8A25009 +S21400AC103344ADF8A6304AB3637A03F003030293D5 +S21400AC20CDF80490012300930023228828A948A881 +S21400AC300C4DA84788E24FF00008CDE70022D0E789 +S21400AC4019150100A44F0200E9BE0000695F00006C +S21400AC50DD0F0100FD1401003D290100ED2B010070 +S21400AC60C5BE000051770000C1BD000028AA48A953 +S21400AC701046A14B9847002800F06682BDF9A0E078 +S21400AC80B7F910108BB2AEEB030292B20FFA82FC49 +S21400AC90ADF8A0C0BDF9A200B7F81290A0EB090568 +S21400ACA0ADF8A250BDF9A460F31A9BB2ADF8A4307B +S21400ACB0BDF8A650A5EB0905ADF8A65001339A1AC3 +S21400ACC015B2ADF8CCE0ADF8D060ADF8CE00ADF87A +S21400ACD0D200B8F1000F1CD06144B4F90620B4F9D4 +S21400ACE004301A4491FBF2F302FB13110BB20A93E1 +S21400ACF009952846814B98478246BDF9A260BDF962 +S21400AD00A630B34259DBDFF81092DFF808B205959B +S21400AD1035E00021EAE7B4F906E073449A42BABF88 +S21400AD200AF8001013460B46013000B201331AB27F +S21400AD30854207DDB4F904309342ECDB1844801AF0 +S21400AD4000B2F1E705950220637A03F0030302934D +S21400AD50237A019300905346228833A948A8D847FF +S21400AD60BDF8CE300133ADF8CE30BDF8D230013369 +S21400AD70ADF8D2300136BDF9A6309E421DDC0999E9 +S21400AD805046C8477A8A3244398ABDF8A0301944FA +S21400AD90059B12B209B25046594DA847B8F1000FAC +S21400ADA0D2D00028D0D0059B002B04DD0A9A0020C4 +S21400ADB001461D46BEE70220C6E75046514B98475F +S21400ADC0C2E194F80890504B9847504B98478046FD +S21400ADD0B4F90250013D6F1005F001053D44B4F989 +S21400ADE006302BB1B4F90460003618BF012600E027 +S21400ADF00026474B984710B986F0010200E0002273 +S21400AE0006990B885D1BADF8A0501F44ADF8A470E2 +S21400AE10079BB3F90230B1F9021018468B42A8BF5F +S21400AE200846ADF8A2008B42B8BF0B46013BADF812 +S21400AE30A63072B1637A03F003030293CDF8049050 +S21400AE40012300930023228828A948A8314DA8474B +S21400AE507AE128AA48A91046274B9847002800F010 +S21400AE607381BDF9A000B8F81030C51AADB2ADF8C0 +S21400AE70A050BDF9A220B8F81270D11BADF8A210F0 +S21400AE80BDF9A410CB1A9BB2ADF8A430BDF8A6E06D +S21400AE90AEEB0707ADF8A67001335B1B1BB2099338 +S21400AEA0ADF8CC00ADF8D010ADF8CE20ADF8D2207D +S21400AEB00A931846114B9847059076B1B8F91020BA +S21400AEC0BDF9A0703A44B4F90630B4F904703B44B6 +S21400AED092FBF3F703FB172700E000273FB2BDF90C +S21400AEE0A250BDF9A6309D4253DCDFF82C90DFF867 +S21400AEF010A0DFF820B02CE0191501003D29010054 +S21400AF001DBE000071250100695F0000DD0F010015 +S21400AF10C5BE000051770000ED2B010001373FB29F +S21400AF2000230293237A01930090059B228833A97D +S21400AF3048A8D847BDF8CE300133ADF8CE30BDF8BE +S21400AF40D2300133ADF8D2300135BDF9A6309D427E +S21400AF501FDC0A990598C847B8F812202A44B8F8A2 +S21400AF601010BDF8A0301944099B12B209B205981A +S21400AF70D047002ED4D00028D0D0B4F90420BA424E +S21400AF80B8BF0020B4F9063013449F42A8BF00277C +S21400AF90C4E70598974B9847D6E01FFA86FBBDF89E +S21400AFA02C80A9B20BEB0802002301930F468844BD +S21400AFB00FFA88F30093534612B2059912A8DFF8E9 +S21400AFC03882C0471FFA89F3ABEB030201210191D7 +S21400AFD0FB1A1BB20093534612B205991DA8C04730 +S21400AFE070E5BDF814B0BDF82C801FFA8AF31F4632 +S21400AFF04344D8440022019200951BB232460FFA11 +S21400B00088F112A8DFF8F081C0471FFA89F9A7EB8C +S21400B0100903ABEB09090122019200951BB23246E7 +S21400B0200FFA89F11DA8C0474CE5BDF82880BDF889 +S21400B03024900599A1EB08030322019209EB06026E +S21400B04012B200921BB2324628A86B4EB047AAEB4B +S21400B05008030222019209EB050212B200921BB20B +S21400B0602A46514633A8B047002128A8634DA84772 +S21400B0700A90002133A8A8470D9036E50EA8604B2D +S21400B080984783465AE5294640465E4B98472DE04A +S21400B090099A537A03F003030293137A0193022367 +S21400B0A000934B46128848A910A8574CA047BDF8F5 +S21400B0B0463001331BB2ADF84230ADF84630594643 +S21400B0C04846524B984700270136BDF93E30BAF93C +S21400B0D0122013449E4213DC09EB07082B4632B2BB +S21400B0E0059940464A4CA0470028CCD02F44EB197F +S21400B0F09B45CDD9BDF846300133ADF84630E3E781 +S21400B100099CBDF94630BDF942209A4210D0013B59 +S21400B110ADF84630637A03F003030293237A019373 +S21400B120022300934B46228848A910A8364DA8470C +S21400B1304846304B98470B98364DA8470C98A8477A +S21400B1400A98A8470D98A847637A13F00C0F02D107 +S21400B1504BB0BDE8F08F33A82F4B98472388ADF847 +S21400B160CE3047F6FF73ADF8CC30237A8DF8D83062 +S21400B170B4F902305E1083F0010303F00105637A30 +S21400B18013F0040F1CD1637A13F0080FE0D0079970 +S21400B1900A88B6B2931BADF8A03049888B1BADF871 +S21400B1A0A230ABB23244D21AADF8A4200E44F31A41 +S21400B1B0ADF8A63033AA089928A8184B9847C7E7D1 +S21400B1C006980288B3B2D11AADF8A0104088C11A0A +S21400B1D0ADF8A210A9B21A44521AADF8A42003443E +S21400B1E05B1AADF8A63033AA089928A80B4B9847E7 +S21400B1F0C9E700BF71250100E9BE0000C1BD00001F +S21400B200FD140100372B010051770000ED2B0100E3 +S21400B2101DBE00006DBE000069C2000031C3000004 +S21400B2202DE9F041069CA58A521B12B2658A4D1B79 +S21400B2302DB2216A00294BD194F8281011F0010F85 +S21400B24016D0237C03F00303012B40F2DB81022B94 +S21400B25004D0032B06D00020BDE8F0810132D00FC9 +S21400B260BDE8F081002AD4BF00200120BDE8F081AF +S21400B270227C02F00302911EC9B2012940F2C58168 +S21400B280012A0CD0B2B9E91800F1C2816D42002D36 +S21400B290C0F2C181AB4207DC0220BDE8F081002D80 +S21400B2A008DD0120BDE8F0812844CD4B98470220F8 +S21400B2B0BDE8F081DD4200F1B181694221EAE17129 +S21400B2C08B4240F3AE81C64B98470220BDE8F08122 +S21400B2D094F8286016F0010F0FD1A76902FB07F15A +S21400B2E08912002FCCBF01F1010E8E46754540F342 +S21400B2F09880C6F34000BDE8F081E16905FB01F7E0 +S21400B300BF12002906DD974240F3B881C6F340001D +S21400B310BDE8F081974280F2ED81C6F34000BDE8BB +S21400B320F08186F00200C0F34000BDE8F08186F0B0 +S21400B3300200C0F34000BDE8F0810025D4E1F446E9 +S21400B34088F800C0636AD21A01350136BD4249DA70 +S21400B350636A9A421DDD002DF4DBBD42F2DAA2EBF1 +S21400B3606303DBB294F828C01CF0020F1CBFDB435B +S21400B370DBB2B04696F800C0F92BE1D8052BDED933 +S21400B38003FB0CF303EB032C03EBCC13C3F3C75CF8 +S21400B390D6E7BD4226DA002D24DBA36903FB02F3C1 +S21400B3A09B1202FB03F2C2F34722E369002BBCBFE9 +S21400B3B0D243D2B294F8283013F0020F1CBFD24307 +S21400B3C0D2B24619435DF92A0BD8052A08D902FBE2 +S21400B3D003F202EB022302EBC312C2F3C75300E0F0 +S21400B3E00023337094F8283013F0020F0AD08F42EF +S21400B3F0C0F21A810029C0F21A81794B98470220C0 +S21400B400BDE8F081013500F11581BD4202DD022064 +S21400B410BDE8F081791B2844714B98470220BDE8AF +S21400B420F08105EB030E714505DD86F00200C0F3E2 +S21400B4304000BDE8F081110207FB01F14FEAA14888 +S21400B440C1F387210132120207FB02F24FEAA24C37 +S21400B450A8EB050EE04563D0002F5BDBC1F1FF01D2 +S21400B460E26902FB01F29512BEF1000F1CDB734588 +S21400B4701ADD05FB01F1C1F3472216F0020F04BFE7 +S21400B480D243D2B200EB0E0610F80E10F92A0AD8F4 +S21400B490052A40F2A18002FB01F202EB022102EB38 +S21400B4A0C112C2F3C75131701EF1010120D48B4284 +S21400B4B01EDDC5F1FF02A56905FB02F5AD1202FB14 +S21400B4C005F2C2F3472294F8285015F0020F1CBF6D +S21400B4D0D243D2B2455CF92A09D8052A7ED902FBA6 +S21400B4E005F202EB022502EBC512C2F3C75545541E +S21400B4F094F8282012F0020F74D07345C0F2B28080 +S21400B500BEF1000FC0F2B1807146354B984702205D +S21400B510BDE8F081002940F000810EF1FF3EFF21DA +S21400B520BEF1000F1EDB73451CDDC2F387220A4402 +S21400B530C2F3470216F0020F1CBFD243D2B200EB92 +S21400B5400E0610F80E10F92A0BD8052A08D902FBA9 +S21400B55001F202EB022102EBC112C2F3C75100E076 +S21400B5600021317094F8282012F0020F0AD0ACEBBC +S21400B57005018B4261DD002962DB194B98470220EA +S21400B580BDE8F0810EF101029A42A8BF1A46002AD1 +S21400B59059D0002A5ADD991A1044114B98470220B8 +S21400B5A0BDE8F0810025DCE0002500E1002950DD43 +S21400B5B00B4B98470220BDE8F0810EF1010E734553 +S21400B5C04ADBBEF1000F4ADBA3EB0E017044044BCE +S21400B5D098470220BDE8F081002164E7002586E751 +S21400B5E0372B01000EF102029A42A8BF1A46002A23 +S21400B5F03ED0002A3FDD991A1044734B984702202C +S21400B600BDE8F0810120BDE8F0810120BDE8F081B1 +S21400B6100120BDE8F0810020BDE8F0810020BDE8F3 +S21400B620F0810020BDE8F0810020BDE8F081022016 +S21400B630BDE8F0810020BDE8F0810020BDE8F08183 +S21400B6400220BDE8F0810020BDE8F0810220BDE8C0 +S21400B650F0810220BDE8F0810120BDE8F0810220E3 +S21400B660BDE8F0810020BDE8F0810220BDE8F08151 +S21400B6700020BDE8F0810220BDE8F0811F462B4483 +S21400B68001FB03F1B2EBA12F3FF74BAE1202A36909 +S21400B69003FB02F39B12191213F0FF0339D0C3F118 +S21400B6A0FF03626A02FB03F24FEA222ECEF1FF028C +S21400B6B0491B1AD4B94218DA0EFB03F3C3F3472327 +S21400B6C016F0020F04BFDB43DBB24618455CF92BCD +S21400B6D00AD8052B7FF631AE03FB05F303EB0325F3 +S21400B6E003EBC513C3F3C75535704D1C46194FF011 +S21400B6F0000E2DE61F462B4401FB03F1B2EBA12FF3 +S21400B700FFF615AE01321202A36903FB02F39B1289 +S21400B710C1E74D1B2946FF22E8E7E269524201FBDA +S21400B72002F29212BEF1000F1CDB73451ADD02FB1B +S21400B73001F1C1F3472116F0020F1CBFC943C9B27D +S21400B74000EB0E0610F80E50F9290AD805297FF6E8 +S21400B75029AF01FB05F101EB012501EBC511C1F392 +S21400B760C7553570BEF1010122D48B4220DDC2F1EF +S21400B770FF02A5696D4202FB05F5AD1202FB05F25C +S21400B780C2F3472294F8285015F0020F04BFD243A4 +S21400B790D2B2455CF92A0AD8052A7FF605AF02FB25 +S21400B7A005F202EB022502EBC512C2F3C75545545B +S21400B7B094F8282012F0020F3FF4FFAE8B42BFF63B +S21400B7C0F5AE0220BDE8F081372B01002DE9F04FE1 +S21400B7D08DB0169DAE7C06F00106B5F91080EC1D06 +S21400B7E005F10F090DF1280E14F8017F0EF8017B04 +S21400B7F04C45F9D1002E3DD1BDF92A40944200F3C4 +S21400B8002B82BDF92E409442C0F22A829B460F46F8 +S21400B8100290BDF9289008EB0903994206DB5944CB +S21400B820BDF92C30A3EB080399420BDDBDF92A3095 +S21400B83003EB08018A4253DBBDF92E10A1EB080189 +S21400B8408A424DDC86BBA9EB07045C4500F30C82FC +S21400B850002C03DB214602989F4B9847BDF92C002D +S21400B860C01B0130002840F3018283450DDCBCB1CB +S21400B8700220F2E1BDF92A40944200F3F381BDF9BB +S21400B8802E409442C2DA0120E7E1ABEB0001029BB6 +S21400B89003441846904B9847002CE9D10220DCE17F +S21400B8A08345E5D10120D8E1A9EB070020EAE07046 +S21400B8B0584501DD0220D0E1BDF92C10C91B091A3C +S21400B8C0013143189B45B8BFABEB00010029C0F21D +S21400B8D0CF81029B034418467F4B98470220BCE169 +S21400B8E0BDF92CA09BB2BDF82E100131C91A09B2C1 +S21400B8F0D21A08FB08F3019312B2904500F3D181E7 +S21400B900A1EB0803013B9A4200F3B4810220A4E1B4 +S21400B9106B8BADF81A302B8BADF81830D6E1049A45 +S21400B92007A9019B00FB10306C4B9847049A06A9A8 +S21400B930019B04FB1430694B98476C61BDF81A30C4 +S21400B9406B83BDF818302B83D1E1BDF81E1000299B +S21400B95040F0D581013AADF81C20FF22ADF81E203C +S21400B960CDE1BDF81A20BDF81E100A44C2F3470206 +S21400B9700EB1D243D2B2A8EB0303013BF91811D49F +S21400B98059450FDA0298405CF92A09D8052A35D9B4 +S21400B99002FB00F000EB002400EBC410C0F3C7501D +S21400B9A0029C6054A9EB0303013BDF1911D45F45E9 +S21400B9B00FDA029BDB5DF92A09D8052A20D902FB9B +S21400B9C003F202EB022302EBC312C2F3C753029A3E +S21400B9D0D355BEB1481C20EAE0705F45D4BF391A83 +S21400B9E0ABEB0001584580F219810029C0F21681A0 +S21400B9F0029B03441846384B98470FE10020CFE7D8 +S21400BA000023E4E7594500F32581002902DB02986C +S21400BA10314B9847013700F11D815F4500F3FE80EA +S21400BA20ABEB0701029B3B4418462B4B9847F5E0CF +S21400BA30049A09A9019B08FB1830284B9847BDF8C3 +S21400BA402610BDF81A30C3F1FF02C1F1FF0303FB55 +S21400BA5002F3C3F347230EB9DB43DBB20398024677 +S21400BA60002811DB58450FDA029C2018A25CF92B3F +S21400BA7009D8052B29D903FB02F202EB022402EBBC +S21400BA80C412C2F3C7520270BAF1000F13DBDA45D4 +S21400BA9011DA029C04EB0A0014F80A20F92B09D8E4 +S21400BAA0052B14D903FB02F303EB032203EBC213AB +S21400BAB0C3F3C7520270039B013B03930AF1010ACA +S21400BAC0ADF8221008F101085EE10022DBE7002253 +S21400BAD0F0E7002739E000BF372B01001D230100E7 +S21400BAE000270EF808700138013401311A46019D0E +S21400BAF0A94240D809EB121701FB11A307FB07FC6C +S21400BB00CCEB03234FEA470C93FBFCF31F44C7F32D +S21400BB100F1C3F0107F0F0031A44C2F347020EB1B0 +S21400BB20D243D2B2002812DB834510DD80461EF8D1 +S21400BB300070F92A09D8052ACBD902FB07F505EBD0 +S21400BB40052705EBC717C7F3C7570EF80870002C74 +S21400BB50C9DBA345C7DDA0461EF80470F92AC0D885 +S21400BB60052ABDD902FB07F202EB022702EBC71734 +S21400BB70C7F3C757B5E7DDF81080DDF814A0EA4331 +S21400BB8042440399114403910135AA44AAEB080ADA +S21400BB90ADF82230ADF824C0ADF82630BDF822301E +S21400BBA0002B3AD0BDF81E2003FB02F3C3F3472355 +S21400BBB00EB1DB43DBB2039A002A12DB934510DD9D +S21400BBC0029801461144825CF92B09D8052B27D927 +S21400BBD003FB02F202EB022002EBC012C2F3C752D2 +S21400BBE00A70BAF1000F13DBD34511DD029800EBA3 +S21400BBF00A0110F80A20F92B09D8052B12D903FBE5 +S21400BC0002F303EB032203EBC213C3F3C7520A701B +S21400BC10039B013B03930AF1010A2EB102201CE0AC +S21400BC200022DDE70022F2E703990131594511DCD5 +S21400BC30002902DB0298604B9847BAF1000F09DB37 +S21400BC40DA45EBDAABEB0A01029B534418465A4B33 +S21400BC509847E3E7002000E000200DB0BDE8F08F35 +S21400BC600020FAE70120F8E70020F6E70020F4E7D6 +S21400BC700220F2E7B8F5807FD4BF4FF400634FF49C +S21400BC8000430493891AA8EB0100441C6B69984290 +S21400BC907FF445AE6B8BADF81E302B8BADF81C30A9 +S21400BCA044E6B8F5807FD4BF4FF400634FF40043FA +S21400BCB00493A8EB02046B699C423FF429AE049AF5 +S21400BCC006A9019B04FB14303C4B9847631E049A5C +S21400BCD007A90393019803FB1300384B9847039B6F +S21400BCE06B61BDF81E306B83BDF81C302B83BDF82E +S21400BCF01830BDF81C20511E8B423FF426AEA9EB2F +S21400BD0007070AF1010AAAEB09090FFA89F9BDF833 +S21400BD101C209A423FF425AE0133A8EB030807EB3C +S21400BD2008030393A9EB080808F1FF3ABA4486B162 +S21400BD30581C20EAE070DA45D4BFAAEB0001ABEB52 +S21400BD400001584505DA002903DB029B18441A4B0C +S21400BD509847BDF8180000F10108049A08A9019B4D +S21400BD6000FB1030154B9847BDF822303BB9BDF8A4 +S21400BD702030013BADF82030FF23ADF82230BDF86F +S21400BD8020309C427FF754AEBDF81C50A8453FF6C5 +S21400BD9005AFBDF820904FEA0919BDF822204146AC +S21400BDA054460398CDF81080CDF814A0DDF804A012 +S21400BDB00195DDF808E09DE6372B01001D23010004 +S21400BDC010B582B0104B1B689BB10F4A01239468D4 +S21400BDD084B10133DBB20832102BF8D10B4B009341 +S21400BDE00B4B57220B4902200B4CA0474FF0FF305D +S21400BDF007E00023044A42F8330002EBC302516016 +S21400BE0018B202B010BD00BF6C6D002024500200B6 +S21400BE10C84F0200F44F02005D2201002DE9F047F2 +S21400BE2082B0114C2468ECB19A4691468846074683 +S21400BE300D4E00250094246853464A46414638462F +S21400BE40A047044650B1022808BF012556F8084FFF +S21400BE50002CEFD1002D14BF02240124204602B08E +S21400BE60BDE8F0870124F9E76C6D0020B0F1FF3FD4 +S21400BE700AD0064B53F83010002243F8302003EB6C +S21400BE80C0035A60084670470021FBE76C6D00202F +S21400BE9070B40B4B1A1D03F180040026354603E0F0 +S21400BEA008330832A34208D059688142F8D152F8C4 +S21400BEB0046C42F8045C5D60F2E7304670BC704784 +S21400BEC06C6D002000231846064902E00133102B53 +S21400BED006D051F83320002AF8D00130C0B2F5E77A +S21400BEE0704700BF6C6D00202DE9F04104460F46F8 +S21400BEF015469846BDF918602C214A4B9847B5421E +S21400BF0005DD2B4635461E463B4647469846278166 +S21400BF106581A4F80C80E681237C9DF81C2062F3E2 +S21400BF20010323746782A582A8EB0707751B87EABF +S21400BF30E771A1EBE77185EAE573A3EBE573994238 +S21400BF40D4BF0021012194F8282061F3000284F870 +S21400BF5028200021E161A161334B2360217112F09A +S21400BF60010F25D03FB14FF4801393FBF7F305FB89 +S21400BF7003F39B12E3613DB14FF4801696FBF5F593 +S21400BF8007FB05F7BF12A761E3692362237C13F062 +S21400BF90030322D194F828306FF3410384F8283045 +S21400BFA0236A9A10002BB8BF52426262BDE8F08145 +S21400BFB03DB14FF4801393FBF5F307FB03F39B129D +S21400BFC0A3613FB14FF4801898FBF7F705FB07F520 +S21400BFD0AD12E561A3692362D8E7012B0FD0022BCF +S21400BFE014D0032BDCD1236A002B94F82830CCBF66 +S21400BFF06FF3410343F0020384F82830D0E794F847 +S21400C000283043F0020384F82830C9E7236A002B5F +S21400C01094F82830CCBF43F002036FF3410384F852 +S21400C0202830BDE7372B010021B2000070B4CC8861 +S21400C03001344D88641B8D8801350E88AD1B24B2F3 +S21400C0402DB2AC42A8BF2C466410A242C8BF22B292 +S21400C050013900F1100600F1080411F8015F04F838 +S21400C060015BB442F9D10282827C63F300028274DF +S21400C070054B0360022303714FF000434361002326 +S21400C0804383038370BC7047CDB700002DE9F04FA3 +S21400C0908BB00690894607924FEA610BCDF808B040 +S21400C0A011F0010F06BF0BF1FF330893CDF820B057 +S21400C0B0069C67003846694B98470590002C40F36D +S21400C0C0BE80BA1EC1190391079D4FF0000804F107 +S21400C0D0FF3A0899AAEB010104910646CDF824B070 +S21400C0E09346CDF8049035F80B3009FB03F3BAF10C +S21400C0F0000F1BDB029A02EB0A01049A013A03982E +S21400C1004FF0000E20F8023D8C42CCBF35F811C02F +S21400C110F446A3EB0C03002AB4BFB5F800C035F80C +S21400C12012C063440139013AB042EBD13A46314677 +S21400C13028464B4B98473D4408F10108A045D0D10E +S21400C140DDF824B0079A1388019993FBF1F3138066 +S21400C150069B03FB03F5012D11D9079A0121019EC9 +S21400C160104632F8023F008898421CBF93FBF6F355 +S21400C17013800131A942F3D3069B002B59DD079E9D +S21400C1800296089901FB07726FEA0B035B1A069D7D +S21400C19005FB03F306936B1E05FB03F306EB430355 +S21400C1A007934FF0000A931E089301F10109029BC2 +S21400C1B01E4602331A4602933388019901FB03F3A5 +S21400C1C008998D18059AA2F1020CE046B6460022A0 +S21400C1D0CDF80CC00496069EDDF81CC0002BACBF44 +S21400C1E09911002128F8021F1146A2EB0B00002827 +S21400C1F0D4BFBEF8000035F816001B1A49448C421E +S21400C200CCBF29883CF81A100B440132BE443D448A +S21400C210A242E3DBDDF80CC0049E00233CF8022FAC +S21400C220328001333E44A342F8DB0AF1010AA245FC +S21400C230BDDB05980B4B98470BB0BDE8F08FCDF8EB +S21400C2400490079A138893FBF9F9A2F80090069BCE +S21400C25003FB03F5012D80D8EBE700BF3D29010065 +S21400C260552601007125010010B5044654212D4BBA +S21400C27098472D4B1B88638023796FF30403237143 +S21400C280A3886FF34A13A3801B0A6FF3C703637177 +S21400C290A37B6FF30403A373E3896FF34A13E3816D +S21400C2A01B0A6FF3C703E37394F834306FF3040389 +S21400C2B084F83430A38E6FF34A13A3861B0A6FF3F9 +S21400C2C0C70384F8353094F846306FF3040384F8D7 +S21400C2D04630B4F846306FF34A13A4F846301B0ACB +S21400C2E06FF3C70384F84730A37F6FF30403A37785 +S21400C2F0E38B6FF34A13E3831B0A6FF3C703E377FB +S21400C300FF23638123732377237584F83630074A27 +S21400C310226384F84430226484F828300F23638232 +S21400C32010BD00BF372B01007C500200100000201B +S21400C3302DE9F04FB1B0C4884588631C5B1B1BB267 +S21400C340002B41F30F808688B0F80080731CA3EBA7 +S21400C35008031BB2002B41F3058092460491069019 +S21400C360B2F92070002F00F0198792F82830099350 +S21400C370052B40F21387136A012B00F0F680BAF8FB +S21400C3802220BAF82630D11A88441FFA88F8ADF869 +S21400C39050801A441644B6B2ADF85460BAF8242059 +S21400C3A0D11A0D44ADB2ADF8525013441C44A4B299 +S21400C3B0ADF8564007EBD7736FEA630292B208EB0C +S21400C3C00201ADF858105B1001339BB2F118ADF8BE +S21400C3D05C102A44ADF85A202344ADF85E30099B21 +S21400C3E0FB2B28BFFF230993BE4B9847BE4B9847AD +S21400C3F08146049A16A918A8BC4B9847002800F056 +S21400C400CD86B9F81010BDF860305B1AADF8603014 +S21400C410B9F81220BDF862309B1AADF86230BDF84C +S21400C42064305B1AADF86430BDF866309B1AADF820 +S21400C4306630069A531ED01D1AAA13F8011F02F87A +S21400C440011B9842F9D1BDF8683001331FFA83FE0C +S21400C450ADF868E0BDF86A10013188B2ADF86A0040 +S21400C460BDF86C305A1EADF86C20BDF86E104A1E32 +S21400C470ADF86E20BAF90020A3EB0E031BB2091A22 +S21400C48009B28B42A8BF0B465B109342A8BF134667 +S21400C4900E930136A6EB0806B6B233B20134641B1F +S21400C4A0A4B225B29D42A8BF1D466D109542A8BFF6 +S21400C4B0154607EB050909FB09F040008C4B984729 +S21400C4C00A90BAF920B02AB202EB0B070DF14F0121 +S21400C4D022AB0DF1900E11F8010F03F8010B734516 +S21400C4E0F9D10BEBDB71C1F34F014B1E1BF00100C2 +S21400C4F010900CBF012000201B1A2B449BB2ADF8F5 +S21400C5008C30013189B2ADF88A109B1BADF88830AB +S21400C5102144ADF88E10002322A929A8754CA04707 +S21400C520BBF1010F02F0D8814FEA6B030B9307971C +S21400C53038466F4B98470C90002F5CDD079B4FEA00 +S21400C540430B07F10043013B5B000A9C0025DFF824 +S21400C550B8813AB20892CDF8349005970C9E994669 +S21400C560CDF83CA0DDF82CA014E0B2F92430002B66 +S21400C5707FF405AFB2F92630002B3FF700AF00F08E +S21400C5800DBE594620465C4B98475C440135059BDA +S21400C590AB422BDD07993046C04729AB0093089B7A +S21400C5A02AB200213046299FB8470028E9D0D6464F +S21400C5B033789B0193FBFAF32380059B012BE4DD84 +S21400C5C03146224604EB09001F468C4611F8013F0F +S21400C5D09CF800C09C450EBF13889B0193FBFEF39E +S21400C5E0538002329042F0D10597CEE7DDF83490C2 +S21400C5F01F46DDF83CA00C98404B98470B9B012B40 +S21400C60002F04D813CB20A9E32460B9D29462046DA +S21400C6103B4B9847109A2A4411B2012922DD0D4659 +S21400C62033889B0193FBF1F332463380079800FB77 +S21400C63000F0012812D900F10040013806EB400056 +S21400C64001E082420AD0164632F8023F36889E4201 +S21400C650F7D09B0193FBF5F31380F2E70A9A204686 +S21400C660274B984707FB07F757B10A990B464A1E10 +S21400C67001EB470033F8021B02F8011F8342F9D191 +S21400C680BDF85A20BDF85E3001339B1A1BB203EB8F +S21400C690D37302EB63039BB20F931BB20C93BDF8EC +S21400C6A05820BDF85C3001339B1A1BB203EBD373E2 +S21400C6B002EB63039BB210931BB20D93114B98478A +S21400C6C020BBBAF92230002B40F0BC81BAF92430E6 +S21400C6D0002B40F0BA81BAF92630B3FA83F35B092F +S21400C6E0079315E0695F0000DD0F010019150100D2 +S21400C6F03D2901002DC00000372B010071250100E7 +S21400C7008DC00000C5BE0000ED2B0100002307937E +S21400C710BDF85C000130BDF85830C01A00B2C24BFC +S21400C7209847059001230E9A1AA929A8BF4CA0473E +S21400C730002129A8BE4B98470E90BDF95C30ADF895 +S21400C74074301FFA89FB0133A3EB0B03ADF870308E +S21400C750BDF95A30ADF87230013B5B44ADF8763027 +S21400C760049A1CA91EA8B34B9847002872D0BDF99E +S21400C7707E300C998B42C4BF0B46ADF87E30BDF9B7 +S21400C78078300D9A934203DC109B0133ADF8783075 +S21400C790BDF97820BDF87C3001339B1A1BB2089394 +S21400C7A0002B57DDBDF97E70BDF97A40BDF9725099 +S21400C7B0651BBDF97030D21A09FB05250A9B1D447E +S21400C7C00DF1770222AB24A812F8011F03F8011B13 +S21400C7D08342F9D1BDF88A30ADF88E3001373F1B61 +S21400C7E03FB2002F36DD0026DFF85482CDF844B085 +S21400C7F0BB46099B0B93089A2946059F38468E4CE4 +S21400C800A04730AC089BBDF98A2034F9381D05973F +S21400C81038468A4FB847012808BF02209AF82930C0 +S21400C82002930B9A01920090059BBAF81E202146AF +S21400C8300498C047BDF88A300133ADF88A30BDF899 +S21400C8408E300133ADF88E304D4401365E45D2D180 +S21400C850DDF844B0BDF95C30ADF874300133A3EBBD +S21400C8600B03ADF87030BDF95E20531CA3EB0B0331 +S21400C870ADF87230ADF87620049A1CA91EA86D4B50 +S21400C8809847002873D0BDF97A300C9A934203DC9F +S21400C8900F9B0133ADF87A30BDF978300D9A93428C +S21400C8A003DC109B0133ADF87830BDF97820BDF875 +S21400C8B07C3001339B1A1BB20893002B57DDBDF961 +S21400C8C07E40BDF97A60BDF976502D1BBDF97030FB +S21400C8D0D21A09FB05250A9B1D440DF1770222ABEF +S21400C8E024A812F8011F03F8011B8342F9D1BDF8F2 +S21400C8F08E30ADF88A30671CBF1B3FB2002F36DD86 +S21400C9000026DFF83C81CDF840B0BB46099B0B9370 +S21400C910089A2946059F3846474CA04730AC089BE6 +S21400C920BDF98A2034F9381D05973846434FB84775 +S21400C930012808BF02209AF8293002930B9A019228 +S21400C9400090059BBAF81E2021460498C047BDF803 +S21400C9508A30013BADF88A30BDF88E30013BADF829 +S21400C9608E304D4401365E45D2D1DDF840B0BDF97B +S21400C9705C30ADF874300133A3EB0B03ADF87030C8 +S21400C980BDF85A305B44ADF87230BDF85E30A3EBAC +S21400C9900B03ADF87630049A1CA91EA8254B9847C1 +S21400C9A0002800F08580079B4BB1069BB3F9043046 +S21400C9B0BDF978209342B8BF1346ADF87830BDF97C +S21400C9C07830BDF87C200132D21A0FFA82F8B8F11E +S21400C9D0000F6DDDBDF87E400134BDF87A20A41A44 +S21400C9E024B209F1FF31BDF970209B1A09FB01330F +S21400C9F00A9AD31808930DF1770222AB24A812F8EE +S21400CA00011F03F8011B8342F9D1BDF88A30ADF847 +S21400CA108E302546002C4BDD0024074FCDF82C9099 +S21400CA20A946079D3AE000BF3D2901002DC0000041 +S21400CA30C1BD000019150100552601001DBE0000ED +S21400CA40517700000023079362E6002307935FE612 +S21400CA504346BDF98A20BDF988100598234EB04795 +S21400CA60012808BF02209AF8293002939AF8283045 +S21400CA7001930090059BBAF81E2022A904981C4E2C +S21400CA80B047BDF88A300133ADF88A30BDF88E3035 +S21400CA900133ADF88E3001344C4507D04246089934 +S21400CAA00598B847002DD3D00220DCE7DDF82C909F +S21400CAB0B9F1000F1EDD09EBD9777F100A9D00261D +S21400CAC00CE0197812F8010C03F8010B02F8011DAE +S21400CAD0A342F6D14D440136B1450BD0002FF9DD07 +S21400CAE02B4605EB0902EC19EBE700BF1DBE000064 +S21400CAF051770000BDF95830ADF87030013B5B440B +S21400CB00ADF87430BDF95A30ADF87230013B5B4475 +S21400CB10ADF87630049A1CA91EA8AE4B984700289C +S21400CB2071D0BDF97E300C998B42C4BF0B46ADF870 +S21400CB307E30BDF97C300D998B42C4BF0B46ADF8F4 +S21400CB407C30BDF97820BDF87C3001339B1A1BB2CF +S21400CB500893002B57DDBDF97E70BDF97A40BDF90C +S21400CB607250651BBDF97030D21A09FB05250A9B69 +S21400CB701D440DF1770222AB24A812F8011F03F81A +S21400CB80011B8342F9D1BDF88A30ADF88E300137EB +S21400CB903F1B3FB2002F36DD0026DFF84482CDF87B +S21400CBA040B0BB46099B0B93089A2946059F38461A +S21400CBB0894CA04730AC089BBDF98A2034F9381D53 +S21400CBC005973846854FB847012808BF02209AF8CF +S21400CBD0293002930B9A01920090059BBAF81E200A +S21400CBE021460498C047BDF88A300133ADF88A3034 +S21400CBF0BDF88E300133ADF88E304D4401365E45BB +S21400CC00D2D1DDF840B0BDF95830ADF87030013BF8 +S21400CC105B44ADF87430BDF95E20531CA3EB0B03E8 +S21400CC20ADF87230ADF87620049A1CA91EA8694BA0 +S21400CC309847002872D0BDF97A300C9A934203DCEC +S21400CC400F9B0133ADF87A30BDF97C300D998B42DD +S21400CC50C4BF0B46ADF87C30BDF97820BDF87C30FB +S21400CC6001339B1A1BB20893002B57DDBDF97E409B +S21400CC70BDF97A60BDF976502D1BBDF97030D21A19 +S21400CC8009FB05250A9B1D440DF1770222AB24A85B +S21400CC9012F8011F03F8011B8342F9D1BDF88E304C +S21400CCA0ADF88A30671CBF1B3FB2002F36DD00266A +S21400CCB0DFF82C81CDF830B0BB46099B0B93089A61 +S21400CCC02946059F3846444CA04730AC089BBDF922 +S21400CCD08A2034F9381D05973846404FB847012852 +S21400CCE008BF02209AF8293002930B9A019200900E +S21400CCF0059BBAF81E2021460498C047BDF88A3026 +S21400CD00013BADF88A30BDF88E30013BADF88E3071 +S21400CD104D4401365E45D2D1DDF830B0BDF958300D +S21400CD20ADF87030013B5B44ADF87430BDF85A3056 +S21400CD305B44ADF87230BDF85E30A3EB0B03ADF884 +S21400CD407630049A1CA91EA8224B9847002879D052 +S21400CD50079B4BB1BDF97C30069AB2F9002093428E +S21400CD60A8BF1346ADF87C30BDF97830BDF87C809E +S21400CD7008F10108A8EB03080FFA88F8B8F1000FCD +S21400CD8060DDBDF87E400134BDF87A20A41A24B2D6 +S21400CD9009F1FF31BDF970209B1A09FB01330A9A8D +S21400CDA0D31808930DF1770222AB24A812F8011FBE +S21400CDB003F8011B8342F9D1BDF88A30ADF88E30F6 +S21400CDC02546002C3EDD0024034FCDF82C90A946C6 +S21400CDD0079D2DE019150100552601001DBE000017 +S21400CDE0517700004346BDF98A20BDF988100598A2 +S21400CDF0AA4EB047012808BF02209AF829300293AD +S21400CE009AF8283001930090059BBAF81E2022A9B4 +S21400CE100498A34EB047BDF88A300133ADF88A3087 +S21400CE20BDF88E300133ADF88E3001344C4507D056 +S21400CE30424608990598B847002DD3D00220DCE773 +S21400CE40DDF82C90BDF858305B44ADF87030BDF876 +S21400CE505C30A3EB0B03ADF87430BDF95A30ADF877 +S21400CE607230013B5B44ADF87630049A1CA91EA8CC +S21400CE708C4B984700287DD0079B4BB1069BB3F997 +S21400CE800230BDF97E209342A8BF1346ADF87E302F +S21400CE90BDF87C300133BDF878209B1A1BB208938E +S21400CEA0BDF97A30BDF87E500135ED1A2DB2C84670 +S21400CEB0BDF972401C1B09F1FF3309FB04340A9BC1 +S21400CEC01C440DF1770222AB24A812F8011F03F8C8 +S21400CED0011B8342F9D1BDF88A30ADF88E302B465F +S21400CEE0002D47DD0025704FCDF82C90DDF82490FE +S21400CEF0CDF830B09B462AE0B9F1FF0F2AD149465B +S21400CF002CE0089BBDF98A20BDF988100598634E71 +S21400CF10B047012808BF02209AF829300293FF2361 +S21400CF2001930090059BBAF81E2022A904985C4E37 +S21400CF30B047BDF88A300133ADF88A30BDF88E3080 +S21400CF400133ADF88E30444401355D450ED023786C +S21400CF50FF2BD1D003FB09F3C3F30721089A0598EA +S21400CF60B847079B002BCCD00220D5E7DDF82C90E5 +S21400CF70DDF830B0BDF858305B44ADF87030BDF821 +S21400CF805C30A3EB0B03ADF87430BDF95E20531C88 +S21400CF90A3EB0B03ADF87230ADF87620049A1CA90B +S21400CFA01EA8404B9847002800F08280079B4BB194 +S21400CFB0069BB3F90630BDF97A209342B8BF1346F4 +S21400CFC0ADF87A30BDF87C300133BDF878209B1A76 +S21400CFD01BB20893BDF97E305D1CBDF87A20AD1AF1 +S21400CFE02DB2C846BDF97640E41A09F1FF3309FBB5 +S21400CFF004340A9B1C440DF1770222AB24A812F8D5 +S21400D000011F03F8011B8342F9D1BDF88E30ADF83D +S21400D0108A30A946002D4BDD0025234FCDF82CB0D5 +S21400D020DDF824B02AE0BBF1FF0F2AD159462CE0E8 +S21400D030089BBDF98A20BDF988100598174EB047A1 +S21400D040012808BF02209AF829300293FF23019393 +S21400D0500090059BBAF81E2022A90498104EB047EF +S21400D060BDF88A30013BADF88A30BDF88E30013B02 +S21400D070ADF88E30444401354D4517D02378FF2B4C +S21400D080D1D003FB0BF3C3F30721089A0598B847E2 +S21400D090079B002BCCD00220D5E700BF1DBE0000AA +S21400D0A05177000019150100812A0100DDF82CB027 +S21400D0B0BDF858305B44ADF87030BDF85C30A3EB7B +S21400D0C00B03ADF87430BDF85A305B44ADF87230DF +S21400D0D0BDF85E30A3EB0B0BADF876B0049A1CA936 +S21400D0E01EA8A24B9847002850D0079B002B4DD176 +S21400D0F0BDF87C600136BDF87830F61A36B2BDF859 +S21400D1007E400134BDF87A30E41A24B20DF177027D +S21400D11022AB24A812F8011F03F8011B8342F9D1A1 +S21400D120BDF88A30ADF88E30A346002C2EDD0025E3 +S21400D130DFF85492DFF854828D4F32469AF8281062 +S21400D1400598C84730AC3346BDF98A2034F9381DF7 +S21400D1500598C047012808BF02209AF82930029394 +S21400D160FF2301930090059BBAF81E2021460498E1 +S21400D170B847BDF88A300133ADF88A30BDF88E3036 +S21400D1800133ADF88E3001355D45D6D10E98794B1A +S21400D19098470598784CA0470A98A0479AF80C70CC +S21400D1A0052F42D9069A531ED01D1AAA13F8011F3E +S21400D1B002F8011B9842F9D1BAF91030012B24DD90 +S21400D1C09AF81430F92B20D9BAF90030EBB1BAF836 +S21400D1D01230C3F38002BDF868100A44ADF8682028 +S21400D1E0C3F34002BDF86A100A44ADF86A20C3F3E0 +S21400D1F0C001BDF86C20521AADF86C2003F0010394 +S21400D200BDF86E20D31AADF86E30FB2F28BFFF276F +S21400D2105A4B98475A4B98478046049A1AA91CA816 +S21400D220524B9847002840F0B380DAF82C0020B123 +S21400D2309AF83630052B00F2EB839AF81440052C4A +S21400D24015D9BAF9103093B1BAF912307BB1FB2C6C +S21400D25028BFFF24494B9847494B98470546049AF0 +S21400D260069918A8414B9847002840F04685DAF8FA +S21400D2703C1021B19AF84430052B01F253809AF8FD +S21400D2801CB0BBF1050F6DD9BAF91830002B69D068 +S21400D290BBF1FB0F28BF4FF0FF0B3A4B98470990A6 +S21400D2A0069A531ED01D16AA13F8011F02F8011B7A +S21400D2B08342F9D1BAF81A50BDF858305B1B9BB2BE +S21400D2C00693ADF85830BDF85A305B1B9BB20793F7 +S21400D2D0ADF85A30BDF85C602E44B6B2ADF85C606E +S21400D2E0BDF85E301D44ADB2ADF85E50BAF9003000 +S21400D2F00893BAF9183005930DF1570218AB1AA81F +S21400D30012F8011F03F8011B8342F9D1BDF814403F +S21400D310BDF86090A9EB04091FFA89F30A93ADF8EB +S21400D3206030BDF864702744BFB2ADF86470BDF8D5 +S21400D3306280A8EB04081FFA88F8ADF86280BDF892 +S21400D34066301C44A4B2ADF866400C4B98470C4BB4 +S21400D35098478146049A18A91AA8044B98470028AB +S21400D36041F0448031B0BDE8F08F00BF19150100D0 +S21400D370517700006DBE000071250100695F000056 +S21400D380DD0F0100C5BE0000812A01001DBE0000A1 +S21400D390B8F81010BDF870305B1A9AB2ADF870206D +S21400D3A0B8F81200BDF872301B1AADF87230BDF82E +S21400D3B074305B1A9BB2ADF87430BDF87610091A5B +S21400D3C0ADF8761001339B1A1BB209930A931846E0 +S21400D3D0934B98470590934B984783B20B9343BB68 +S21400D3E09AF80630023B18BF01230793BDF86C502D +S21400D3F00135BDF86830ED1A2DB22C46BAF900207A +S21400D400BDF86E300133BDF86A609B1B1EB2334612 +S21400D410AE42A8BF2B465E109642A8BF1646079B94 +S21400D420DBB1D6B99AF8063033B14FF0FF330E931E +S21400D43021E000230793D9E79AF80D30029301976D +S21400D440012300930023BAF802201AA90498764C08 +S21400D450A0474FF0FF330E9376E2002E32DD002316 +S21400D46032461AA929A8DFF8D091C847002129A872 +S21400D4706E4B98470E90BAF802B09AF80630022B18 +S21400D48024D000230D93BDF96C20BDF96810531C01 +S21400D4905B1A1BB2A3EB4609ADF87810ADF87C20FA +S21400D4A0BDF97220B8F8123013441BB2ADF87A30CA +S21400D4B0ADF87E301546BDF976309A4200F33782D5 +S21400D4C00897FAE04FF0FF330E93D4E7BAF804302B +S21400D4D09B4500F089806800514B98470D90002DC1 +S21400D4E0D1DD4FF00009089606461BE09AF8023098 +S21400D4F003F01F03BAF80210C1F345119AF803208F +S21400D500D208287863F3040028702B8861F34A1346 +S21400D5102B801B0A62F3C7036B7009F10109023600 +S21400D5204C455FD03546BAF9080000FB04F31B12E1 +S21400D5300FFA89F18B42D9DABAF90A2002FB04FE07 +S21400D540B1EB2E2F42DA121A04FB02F2A9EB030308 +S21400D5501BB2C3EB0323121293FBF2F3DBB2C3F14D +S21400D560FF0E9AF80520D2089AF80310C9080EFB99 +S21400D57001F103FB021202EB022102EBC112C2F31D +S21400D580C452BAF80410C1F34511BAF80200C0F349 +S21400D59045100EFB00F003FB010101EB012001EB3F +S21400D5A0C011C1F3C5519AF8040000F01F009AF8A4 +S21400D5B002C00CF01F0C0EFB0CFE03FB00E303EB9B +S21400D5C0032003EBC013C3F3C4539AE79AF804305E +S21400D5D003F01F03BAF80410C1F345119AF80520AA +S21400D5E0D2088EE7089E4EE700230D934BE70A9974 +S21400D5F0059F38460E4B9847B8F812202A44B8F8CC +S21400D6001010BDF870301944099B12B209B23846A2 +S21400D610084FB84707469AF80630012B29D17AE01A +S21400D6203D290100C5BE000051770000C1BD0000C5 +S21400D630ED2B01001DBE00002DC000000A99059FBD +S21400D6403846B64B9847B8F812202A44B8F8101057 +S21400D650BDF870301944099B12B209B23846B04F73 +S21400D660B84707469AF80630012B54D0079A002A86 +S21400D6703AD1022B00F044810B9B13B9B9F1320F5B +S21400D6800BDC9AF80D300293089B01930097059BDC +S21400D6905A461EA90498A34CA047BDF87A30013319 +S21400D6A0ADF87A30BDF87E300133ADF87E30013506 +S21400D6B0BDF976309D4200F33981B8F912402C440A +S21400D6C0BDF96A30334401339C42B7DDBDF96E3094 +S21400D6D09B1B013B9C42B1DA079B002B87D09AF834 +S21400D6E00630012B16D00127B9F1320F00F39380D4 +S21400D6F0022B00F00581012BBED19AF80D30029363 +S21400D700089B01930097059B5A461EA90498854CD2 +S21400D710A047C2E70127BAF80220BAF804309A42B6 +S21400D7206FD0BDF86A10621A93B21A460C93BAF913 +S21400D73008E0BDF86E3001335B1A1BB203FB0EF136 +S21400D740091210B281424BDABAF90AC00CFB03F296 +S21400D750B0EB222F80F2B080ACEB0E0E03FB0EF384 +S21400D7600C9A521A12B2C2EB02221B1292FBF3F36D +S21400D770DBB2C3F1FF019AF80520D2089AF803003D +S21400D780C00801FB00F003FB020202EB022002EBE2 +S21400D790C012C2F3C452BAF80400C0F34510BAF877 +S21400D7A002E0CEF3451E01FB0EFE03FB00E000EB9D +S21400D7B0002E00EBCE10C0F3C5509AF804E00EF031 +S21400D7C01F0E9AF802C00CF01F0C01FB0CF103FBB5 +S21400D7D00E1303EB032103EBC113C3F3C4530AE098 +S21400D7E09AF8023003F01F03BAF80200C0F345109F +S21400D7F09AF80320D20863F3040B60F34A1B62F323 +S21400D800CF2B079B002B3FF478AFB9F1320FC8BF80 +S21400D81001237FF772AFBDF96A2032440132944289 +S21400D82006DBBDF96E20921B013A94427FF760AF8B +S21400D830BDF96830ADF88830B2B20C92013B1344A3 +S21400D840ADF88C30BDF87A30ADF88A30BDF87E3051 +S21400D850ADF88E309AF80D300293089B019300972E +S21400D860059B5A4622A904982E4CA0479AF80630E3 +S21400D870012B2DD0BDF96C305A1C0C99541AADF8FA +S21400D8808840ADF88C309B1B0133B8F91020BDF9E9 +S21400D89070100A449B1A9AF80D200292089A019278 +S21400D8A00097059A002BA8BFD21813465A4622A9FD +S21400D8B004981C4CA047F0E69AF8043003F01F03C7 +S21400D8C0BAF80400C0F345109AF80520D20892E78B +S21400D8D0BDF868300C9A1344ADF88830BDF86C304B +S21400D8E09B1AADF88C309AF80D300293089B019382 +S21400D8F00123009300235A4622A90498A047B9E7BB +S21400D9009AF80D300293089B01930097059B0D9A99 +S21400D9101EA90498044CA047BFE600BFED2B0100EB +S21400D9201DBE00005177000081820000089F9AF813 +S21400D930063023B90B9B13B9B9F1320F0BDC0D9BE4 +S21400D94013B11846B34B98470E98B34B98470598B3 +S21400D950B04B984769E4B6B2BDF868303344ADF8CA +S21400D9607830BDF86C309B1BADF87C30BDF96A3062 +S21400D970ADF87A303344ADF87E309AF80D30029325 +S21400D9800197012300930023BAF802201EA90498E9 +S21400D990A24CA047BDF96E108A1B12B2ADF87A20D1 +S21400D9A0BDF97E309A42DCBF0133ADF87A30ADF86F +S21400D9B07E109AF80D3002930197012500950023FA +S21400D9C0BAF802201EA9DDF810804046934CA04706 +S21400D9D0BDF86830ADF87830BDF86C30ADF87C3006 +S21400D9E0BDF86A302B443344ADF87A30BDF86E305B +S21400D9F0013B9E1BADF87E609AF80D3002930197AE +S21400DA0000950023BAF802201EA94046A04796E7D4 +S21400DA10834B98470546012812D9022839D0814BF6 +S21400DA200093814B40F2AE5280490220804CA047C2 +S21400DA3000231A46049906987E4CA047FFF7FDBBC4 +S21400DA4029A9DAF82C007C4B984701280AD07B4B92 +S21400DA500093754B40F2945274490220744CA047D0 +S21400DA60FFF7EBBB299BC3F38A29BDF8A670C7F363 +S21400DA704A171EA8724B98479AF836308DF87830B9 +S21400DA809AF837308DF88230BAF83430ADF88430F2 +S21400DA9020E022A86B4B9847BAF83430ADF88830AF +S21400DAA0DAF8302023929AF836308DF89030BDF9A7 +S21400DAB094300021029147F618410191BDF9921069 +S21400DAC00091DAF82C1029A85F4CA047BDF9A49065 +S21400DAD0BDF9A6709AF8383013F0010F3FD1069CB6 +S21400DAE021886088E2880132121A12B2A3880133B4 +S21400DAF05B1A1BB2A3EB090303EBD37301EB6303BF +S21400DB009BB2ADF87030D21B02EBD27100EB610114 +S21400DB1089B2ADF8721009F1FF399944ADF87490E6 +S21400DB207B1E0B449BB2ADF87630022D00F0BD8014 +S21400DB30BAF9002006991CA8444B98474FF0FF34CA +S21400DB40002800F0D4861EABDAF82C2004991CA816 +S21400DB50384DA8472046304B9847FFF76EBB00234A +S21400DB60BAF90020069E314629A8394CA047002164 +S21400DB7029A8384B98470790B38801333446328833 +S21400DB809B1A1BB293FBF9F209FB123303EBD37318 +S21400DB904FEA630BB6F9061073884A1CD21A10B205 +S21400DBA090FBF7F207FB120202EBD272A3EB6203C2 +S21400DBB09BB21AB2ADF87220BFB2781E0344ADF81D +S21400DBC0763091426CDBDFF890801A4ECDF81490D8 +S21400DBD0A14652E000230093DAF82C3022AA0499DA +S21400DBE01CA8C047BDF8703023441BB2ADF8703097 +S21400DBF0BDF874202244ADF87420B9F904209A4286 +S21400DC002CDB022DE6D01EABDAF82C2004991CA8DB +S21400DC10B047E7E7712501006DBE000051770000B0 +S21400DC2069990000E0500200805002009050020007 +S21400DC305D220100E9960000EDFD0000C0500200E4 +S21400DC4045960000CD9900007D4001006D1701004B +S21400DC502DC00000C1BD0000259A0000BDF872303E +S21400DC603B441BB2ADF87230BDF876203A44ADF8AE +S21400DC707620B9F906209A4212DBB9F80030A3EBF9 +S21400DC800B039BB21AB2ADF87020BDF81440611EAB +S21400DC900B44ADF87430B9F904309342B1DADDE7DD +S21400DCA007988A4B9847FFF7C8BA02F0010211445A +S21400DCB0ADF872101344ADF87630BAF9002021465C +S21400DCC01CA8834B9847A8B90023BAF900200699E8 +S21400DCD029A8804CA047002129A87F4B98470446D6 +S21400DCE000230093DAF82C3022AA04991CA87B4D56 +S21400DCF0A8472FE74FF0FF34F2E7298ABDF86030D7 +S21400DD005B1A9AB2ADF86020688ABDF862301B1ABA +S21400DD10ADF86230BDF864305B1A9BB2ADF8643083 +S21400DD20BDF86610091AADF8661001339B1A1BB2CF +S21400DD300893099318466A4B98478346694B984759 +S21400DD4048B9BAF91280B8F10F0F14BF4FF00008A7 +S21400DD504FF0010801E04FF00008BAF90020069ED7 +S21400DD60B388013331885B1A19B2F388013370889F +S21400DD701B1A1BB28B42A8BF0B465B109342A8BF70 +S21400DD8013461A460A93002B40F388800023314638 +S21400DD9022A8504EB047002122A84F4B98470E901D +S21400DDA0BAF91060069A531ED01D1AAA13F8011F5E +S21400DDB002F8011B8342F9D1BDF86820BAF8123088 +S21400DDC013F0040F6ED0B1B20A44ADF86820BDF867 +S21400DDD06C2013F0080F6AD0B1B2521AADF86C205E +S21400DDE0BDF86A2013F0020F66D0B1B20A44ADF84F +S21400DDF06A20BDF86E2013F0010F62D0B3B2D31ABA +S21400DE00ADF86E30DDF828901FFA89F7BA1B0123AB +S21400DE1012B21AA929A82F4EB047002129A82E4BC6 +S21400DE2098470F90BAF91030013B4B45B8BF4B46A8 +S21400DE3019460D93BAF80E30ADF814309AF81560FE +S21400DE40B8F1000F00F0BF81B5F912300698B0F9AE +S21400DE500220D21A0A44BDF966109142A8BF1146A4 +S21400DE600B910288ADF870208288ADF87420BDF959 +S21400DE70622013441BB2ADF87230ADF8763090468F +S21400DE800B9B9342C0F2B380DFF85C90CDF81CB0D9 +S21400DE90B3462646CDF830A0824655E04FF0FF3315 +S21400DEA00E937DE70A997118494289B28CE70A9960 +S21400DEB07118494289B290E70A997118494289B2A5 +S21400DEC094E70A9BF3185B429BB298E76DBE00008E +S21400DED06D1701002DC00000C1BD0000259A00008E +S21400DEE03D290100C5BE000051770000BAF9043094 +S21400DEF05A1CD21BADF87820ADF87C300A9A9B1AD3 +S21400DF000133B5F91020BDF960100A449B1ACDF80C +S21400DF1008B001960094079A002BA8BFD2181346A3 +S21400DF20BDF814201EA90498C847BDF87230013306 +S21400DF30ADF87230BDF876300133ADF8763008F1C2 +S21400DF4001080B9B43454CDB0999079C2046C74BB1 +S21400DF5098476A8A4244298ABDF860301944089B6B +S21400DF6012B209B207942046C14CA0470446BDF839 +S21400DF707230ADF87A30BDF87630ADF87E30BAF94A +S21400DF800030ADF87830013B3B44ADF87C30CDF83E +S21400DF9008B001960090079BBDF814201EA90498AF +S21400DFA0C847BDF97E20BAF902300C99B1F91010B5 +S21400DFB00B449A429ADABAF800303B44ADF878300F +S21400DFC0BAF80430DB1BADF87C30CDF808B001960B +S21400DFD0012300930023BDF814201EA90498C84707 +S21400DFE084E734465E46DDF81CB0DDF830A0B5F9AF +S21400DFF01230069AB2F90620D21A0D99521ABDF9B5 +S21400E00062809045B8BF90460B994145A8BF01F184 +S21400E010010843441BB2ADF87230ADF87630BDF956 +S21400E0206630984500F38D80DFF84892CDF81CB036 +S21400E030B3462646CDF82CA0DDF818A02EE0BAF997 +S21400E04004305A1CD21BADF87820ADF87C300A9A02 +S21400E0509B1A0133B5F91020BDF960100A449B1ACB +S21400E060CDF808B001960094079A002BA8BFD218E6 +S21400E0701346BDF814201EA90498C847BDF8723090 +S21400E0800133ADF87230BDF876300133ADF8763036 +S21400E09008F10108BDF9663098454CDC0999079CE3 +S21400E0A02046724B98476A8A4244298ABDF86030F7 +S21400E0B01944089B12B209B2079420466C4CA0473C +S21400E0C00446BAF90030ADF87830013B3B44ADF871 +S21400E0D07C30BDF87230ADF87A30BDF87630ADF8E9 +S21400E0E07E30CDF808B001960090079BBDF814204E +S21400E0F01EA90498C847BDF97E20BAF906300B99C8 +S21400E100B1F910105B1A9A4299DDBAF800303B4418 +S21400E110ADF87830BAF80430DB1BADF87C30CDF8BB +S21400E12008B00196012300930023BDF814201EA911 +S21400E1300498C84783E734465E46DDF81CB0DDF831 +S21400E1402CA0BDF8342006994B8801331344ADF853 +S21400E1507230CB88013B9B1AADF87630B1F90030AF +S21400E160ADF87030BAF81020013A1344ADF87430A8 +S21400E17002960194012700970023BDF814904A46A2 +S21400E1801CA9DDF8108040463A4DA847069BB3F917 +S21400E1900420BAF81030FB1A1344ADF87030ADF80E +S21400E1A0742002960194009700234A461CA9404614 +S21400E1B0A8470F98304CA0470E98A04758462F4BBC +S21400E1C09847FFF754B8069AB2F90010ADF87010E9 +S21400E1D0B2F90420ADF87420BDF962006B8A0344DE +S21400E1E01BB2ADF87230ADF87630BAF91230042BA7 +S21400E1F029D0082B44D000228DF84E208DF84F20D1 +S21400E200022B29D101238DF84E309DF84E301BB9D4 +S21400E2109DF84F8088F0010808F001088DF85080BE +S21400E2200746BDF966309842C3DCDFF84080DFF869 +S21400E23044900A94CDF81CB0DDF818B0CDF82CA0A8 +S21400E240DDF834A04EE00D9A1144ADF874100022AB +S21400E2508DF84E208DF84F20012B16D0032BD4D1ED +S21400E26001238DF84E308DF84F30CEE7ED2B0100B0 +S21400E2701DBE0000517700006DBE00007125010034 +S21400E2800D99521AADF87020E1E78DF84F30BCE7D3 +S21400E2900999079C2046C0476A8A3A44298ABDF8ED +S21400E2A060301944089B12B209B207942046984C75 +S21400E2B0A04702960A9A01920090079BBDF8142088 +S21400E2C01CA90498C847BDF872300133ADF8723007 +S21400E2D0BDF876300133ADF876300137BDF96630DB +S21400E2E09F421ADC9DF85030002BD1D19DF84E305D +S21400E2F033B1BDF97220BBF9023053449A42C7DDF0 +S21400E3009DF84F30002BDED0BDF97220BBF90630E9 +S21400E310A3EB0A039A42D6DBBAE7DDF81CB0DDF8B9 +S21400E3202CA046E7BAF94C300024029447F618426F +S21400E3300192BAF94E200092DAF840201CA8754DDA +S21400E340A847ADF88840ADF88A40BDF87030013B6C +S21400E350ADF88C30BDF87230013BADF88E301EAB98 +S21400E3609AF8502022A906986B4DA847BDF8782049 +S21400E370BAF848301A4492B2BDF888301344ADF863 +S21400E3808830BDF87A30BAF84A100B449BB2BDF814 +S21400E3908A101944ADF88A10BDF88C100A44ADF8FE +S21400E3A08C20BDF88E201344ADF88E3029A85B4B28 +S21400E3B09847DAF840302A93BAF84C30ADF8B030C7 +S21400E3C0BAF84E30ADF8AE30BAF84630ADF8A430F4 +S21400E3D09AF844308DF8AC300094DAF83C3029AA2C +S21400E3E0049922A84E4CA047FEF749BF721C069B14 +S21400E3F0D21A12B26B1C07995B1A1BB29A42A8BFBC +S21400E4001A465210089B9A42A8BF1A46059B134408 +S21400E41001370A99791A08B2611CA1EB080109B202 +S21400E4208142A8BF014649109942A8BF19460F4627 +S21400E4300691B9F81000BDF868301B1A99B2ADF80D +S21400E4406810B9F81240BDF86A301B1BADF86A3088 +S21400E450BDF86C301B1A9BB2ADF86C30BDF86E0080 +S21400E460001BADF86E0001335B1A1BB21E46079305 +S21400E470012316A922A82B4DA847002122A82A4C22 +S21400E480A0470C9000233AB218A929A8A847002153 +S21400E49029A8A0470D9008963046244B98470B9025 +S21400E4A0BAF91830BAF81620ADF814209AF81D50AC +S21400E4B0099A002A40F0A681013BBB42B8BF3B4602 +S21400E4C019460E93B9F91230BDF96220D21A0A44E1 +S21400E4D011460992BDF86020ADF87020BDF86420A2 +S21400E4E0ADF87420BDF96A2013441BB2ADF8723043 +S21400E4F0ADF8763016469142C0F29D80DFF8308047 +S21400E5002B465D46CDF828A082469B463FE000BFDE +S21400E5101DBE00007D40010025180100CD990000B9 +S21400E520259A00002DC00000C1BD00003D29010055 +S21400E53051770000BDF964305A1C141BADF87840C2 +S21400E540ADF87C30069A9B1A0133B9F91020BDF954 +S21400E55068100A449B1ACDF808B001950097002B66 +S21400E560ACBF53440AF10003BDF814201EA904985A +S21400E570C047BDF872300133ADF87230BDF8763062 +S21400E5800133ADF876300136099BB3424EDB08996D +S21400E5905046CC4B9847B9F812203244B9F81010C0 +S21400E5A0BDF868301944079B12B209B25046C64CF3 +S21400E5B0A0470746BDF87230ADF87A30BDF8763021 +S21400E5C0ADF87E30BDF96030ADF87830BDF8184053 +S21400E5D0013B2344ADF87C30CDF808B0019500909F +S21400E5E05346BDF814201EA90498C047BDF97E20E6 +S21400E5F0BDF962300A99B1F918100B449A4299DABB +S21400E600BDF860302344ADF87830BDF864301B1B8D +S21400E610ADF87C30CDF808B00195012300930023B7 +S21400E620BDF814201EA90498C04783E75B46AB4696 +S21400E630DDF828A01D46B9F91230BDF96660F61A55 +S21400E6400E9AB61A09990A46B142A4BF0132164676 +S21400E65033441BB2ADF87230ADF87630BDF96E308B +S21400E6609E4200F38C80DFF864822B465D46CDF830 +S21400E67024A0DDF82CA09B462DE0BDF964305A1C82 +S21400E680141BADF87840ADF87C30069A9B1A01331F +S21400E690B9F91020BDF968100A449B1ACDF808B0E5 +S21400E6A001950097002BACBF53440AF10003BDF858 +S21400E6B014201EA90498C047BDF872300133ADF887 +S21400E6C07230BDF876300133ADF876300136BDF9DC +S21400E6D06E309E424EDC089950467A4B9847B9F801 +S21400E6E012203244B9F81010BDF868301944079B60 +S21400E6F012B209B25046744CA0470746BDF96030C6 +S21400E700ADF87830BDF81840013B2344ADF87C30B6 +S21400E710BDF87230ADF87A30BDF87630ADF87E30A0 +S21400E720CDF808B0019500905346BDF814201EA9F8 +S21400E7300498C047BDF97E20BDF966300999B1F945 +S21400E74018105B1A9A4298DDBDF860302344ADF885 +S21400E7507830BDF864301B1BADF87C30CDF808B0BF +S21400E7600195012300930023BDF814201EA90498E8 +S21400E770C04782E75B46AB46DDF824A01D46BDF8E1 +S21400E7803830BDF8622001321A44ADF87220BDF868 +S21400E7906620013AD31AADF87630BDF96030ADF890 +S21400E7A07030013BBAF818201344ADF87430029567 +S21400E7B0CDF804B0012600960023BDF8148042462A +S21400E7C01CA9049F3846414CA047BDF96420931904 +S21400E7D0BAF818105B1AADF87030ADF874200295D0 +S21400E7E0CDF804B00096002342461CA93846A04740 +S21400E7F00C98374CA0470D98A0470B98354B984778 +S21400E800FEF7B0BDBDF86030ADF87030BDF86430CE +S21400E810ADF87430BDF96A20B9F8123013441BB253 +S21400E820ADF87230ADF876301446BDF96E309A42C7 +S21400E830DEDCDFF89080244F244EDDF82CA02B463B +S21400E8405D469B4608995046C047B9F812202244B8 +S21400E850B9F81010BDF868301944079B12B209B217 +S21400E8605046B847CDF808B0019500905346BDF81D +S21400E87014201CA90498B047BDF872300133ADF8D7 +S21400E8807230BDF876300133ADF876300134BDF91C +S21400E8906E309C42D6DDABE70C980E4B984707FBD4 +S21400E8A007F7002F3DF4ECAE0A980246411E00EB37 +S21400E8B0470032F8023B9B0901F8013F9042F8D12D +S21400E8C0FDF7DEBEED2B01001DBE000051770000F7 +S21400E8D06DBE000071250100079738460B4B984720 +S21400E8E00C90002FD8DD01230B93FDF727BE0023E5 +S21400E8F0BAF90020069929A8054CA047002129A8A6 +S21400E900044B98470446FFF71EB900BF3D29010097 +S21400E9102DC00000C1BD0000F0B583B09DF80440D6 +S21400E9206FF304048DF80440BDF804406FF34A14F6 +S21400E930ADF80440240A6FF3C7048DF805408668D6 +S21400E940047804F01F04251FEDB2022D0ED9072C03 +S21400E95028D0082C3BD0092C50D00A2C66D00B3C73 +S21400E960E4B2032C98BFADF8043017E014460F4607 +S21400E9700546007800F01F00324B98472B68C3F31B +S21400E9808A2304FB0372C0F3C70000FB02F2B3182D +S21400E990B25C8DF804205B788DF80530BDF8040075 +S21400E9A003B0F0BD01F00703C3F107040368C3F327 +S21400E9B08A230733DB1002FB036606EBE1010B7AC2 +S21400E9C00122A24013402341ADF80430E6E701F0EF +S21400E9D003046400C4F106040368C3F38A23033304 +S21400E9E09B1002FB036606EBA1010B7C0322A240F0 +S21400E9F0134043FA04F4ADF80440CFE701F00104F5 +S21400EA00A400C4F104040368C3F38A2301335B1033 +S21400EA1002FB036606EB610191F840300F22A2402C +S21400EA20134043FA04F4ADF80440B7E70368C3F3B1 +S21400EA308A23314402FB031191F80034ADF8043008 +S21400EA40ACE700BF81960000F0B585B004460D46E1 +S21400EA5017468668037803F01F03052B0AD00B2B96 +S21400EA6012D00C2B27D00D2B49D00E2B64D0FF20B4 +S21400EA7005B0F0BD0268C2F38A2207FB021505EB5B +S21400EA8045053544A878F3E701F00703C3F107010D +S21400EA900268C2F38A220732D210ED1007FB026228 +S21400EAA0535D01228A4013400B4113F0FF0F0CBF49 +S21400EAB0FF200020DCE700238DF8003055238DF87A +S21400EAC00130AA238DF80230FF238DF8033001F0C1 +S21400EAD003035B00C3F106010268C2F38A22033215 +S21400EAE09210AD1007FB0262535D03228A4013406A +S21400EAF00B4104AA52FA83F313F8100CB8E7124B32 +S21400EB000FCB0DF1100E0EE90F0005F001039B0070 +S21400EB10C3F104012268C2F38A22013252106D103A +S21400EB2007FB0262535D0F228A4013400B415EFAD8 +S21400EB3083F313F8100C9BE70268C2F38A2207FBE4 +S21400EB400262505C94E700BF0C5102002DE9F84FBA +S21400EB500446B0F908301B024362B0F90A301B02C3 +S21400EB608362B0F90C00DFF8F48088FB0023C51739 +S21400EB70C5EBA3052DB26FF0090707FB05071FFAC3 +S21400EB8085FACAF1000000B2DFF8D490C8470646FE +S21400EB900135ADB2684200B2C8478346CAF15A0092 +S21400EBA000B2C8478246C5F15A0528B2C847C7F121 +S21400EBB00A0307FB0BFB03FB06B688FB062BF617C0 +S21400EBC0C6EBAB06E66207FB00F003FB0A0088FB19 +S21400EBD00038C017C0EBA8002063A07C1D4B9847E8 +S21400EBE094F8343060F3000384F83430A07C1A4B79 +S21400EBF0984794F8343060F3410384F83430A27CAC +S21400EC00131FDBB2022B94F8343094BF43F0040396 +S21400EC106FF3820384F8343023682362237E03F084 +S21400EC201F0362F304032376A369A28862F3942386 +S21400EC30A3611B0CE28862F34F136383E2894FF4EF +S21400EC40803393FBF2F3E386FF23A375238AA38224 +S21400EC50BDE8F88FB3960000C79600006766666644 +S21400EC60A52201002DE9F04F87B00390049105928C +S21400EC70BDF840400194DDF844B05E4F87FB03606A +S21400EC80DD17C5EBA0052DB205F101096FF00906E9 +S21400EC9006FB05362846DFF86081C04704460FFAB3 +S21400ECA089F0C047824605F15A0000B2C0470546C3 +S21400ECB009F15A0000B2C047C6F10A0306FB0AFA79 +S21400ECC003FB04A487FB04EAE417C4EBAA0406FBD0 +S21400ECD000F003FB050587FB0537ED17C5EBA70717 +S21400ECE0BBF900C0BBF90280CCF10003019D05FB17 +S21400ECF003F343F30F2303FB07FAC8F1000205FBF7 +S21400ED0002F242F30F2202FB04FE1FFA8CF6AAEB75 +S21400ED100E0B06EBEB3B0FFA8BFB03FB04F302FB3D +S21400ED2007F21FFA88F0991800EBE13109B2029158 +S21400ED300499A1EB0C0C05FB0CFC4CF30F2C0CFB04 +S21400ED4007F9A9EB0E0E06EBEE3E0FFA8EFE0CFB55 +S21400ED5004FC624400EBE23212B20599A1EB08080B +S21400ED6005FB08F848F30F2808FB04F4AAEB040593 +S21400ED7006EBE5352DB208FB07F73B4400EBE33323 +S21400ED801BB2A9EB040406EBE43636B2BC4400EB37 +S21400ED90EC3000B25C46F345A8BF7446AC42A8BF50 +S21400EDA02C46B442A8BF344603990F460C80DE4575 +S21400EDB0B8BFDE467545B8BF7546AE42B8BF2E46EC +S21400EDC08E8002990C469142A8BF14469C42A8BF6A +S21400EDD01C468442A8BF04467C809142B8BF1146B8 +S21400EDE08B42B8BF0B469842B8BF1846F88007B0AB +S21400EDF0BDE8F08F67666666A52201002DE9F04F34 +S21400EE0089B00446B0F93850EAB2B0F93A60F3B2C5 +S21400EE106F2A74DCB0F93C104942C917803DEDB248 +S21400EE206F2B7EDCB4F93EB0CBF1000B4FEAEB7BE8 +S21400EE30803EF6B294F8149009F01F09B4F81480D6 +S21400EE40C8F34518677DFF08A37D009394F834C087 +S21400EE501CF0040F7BD02368206C94F844E00EFB73 +S21400EE6001015A1813F801A08DF81CA052788DF8ED +S21400EE701D20B4F904200EFB02F20BFB02FB5844E3 +S21400EE801A1813F800A08DF818A052788DF81920DB +S21400EE9001EB0B0203EB020A13F802B08DF814B074 +S21400EEA09AF801A08DF815A01CF0020F00F08180E2 +S21400EEB00EF1FF3E734413F801B013F800A0985CFF +S21400EEC0C5F1FF0303FB0BF1009A05FB021103FBE0 +S21400EED000F305FB0A33C3F30723C6F1FF02C1F3B1 +S21400EEE0072106FB01FE02FB03E21212A2750529AA +S21400EEF000F2DC80052B40F27D810026D9E0902AC6 +S21400EF000CDDB0F93C100131B0F904209142ACBFE1 +S21400EF1000210121C5F17F05EDB281E7FF25002123 +S21400EF207EE7902B0FDDB4F93EB00BF1010BB4F980 +S21400EF3006209345ACBF4FF0000B4FF0010BC6F117 +S21400EF407F06F6B276E7FF264FF0000B72E704F175 +S21400EF50180318468BB2A18F02931944238AB4F97A +S21400EF603E2009B20190DFF894A2D047ADF81C000D +S21400EF701FFA8BF1E28F03910A44238A12B2B4F986 +S21400EF803C10DDF804B05846D047ADF81800E28FC4 +S21400EF9003990A44A18F029B1944238A12B209B22C +S21400EFA05846D047ADF8140094F8343013F0020FEA +S21400EFB052D1FF23A3752B46002B40F08B809DF883 +S21400EFC01C9009F01F09BDF81C80C8F345189DF871 +S21400EFD01D70FF08002D40F0AC809DF8145005F021 +S21400EFE01F05BDF81430C3F345139DF81510C90866 +S21400EFF0002E00F0E380FF2E00F0EE80C6F1FF0248 +S21400F00002FB05F506FB095505EB052905EBC915B9 +S21400F010ED0D207D65F30400207502FB03F306FB6F +S21400F020083808EB082308EBC3184FEAD858A38A19 +S21400F03068F34A13A38202FB01F106FB071606EBF0 +S21400F040062706EBC716F60D1B0A66F3C70363759D +S21400F050012009B0BDE8F08FA18F029B1944B4F9D6 +S21400F0603E2009B2DDF804A05046634B984783461D +S21400F070E28F03990A4412B2B4F93C10CDF804A00A +S21400F08050465D4B98478246E28F03990A44A18F0B +S21400F090029B194412B209B20198574B984794F84C +S21400F0A0343013F0020F7FF40BAF82E7052B98BFC6 +S21400F0B0FF26009B052B8CBF2B460023BBF1050FBC +S21400F0C098BFFF23BAF1050F98BF0025052898BF03 +S21400F0D0FF2571E7FF2B3FF47DAFC3F1FF019DF8DD +S21400F0E01D20D20803FB07F701FB027707EB072278 +S21400F0F007EBC217C7F3C457BDF81C20C2F345126E +S21400F10003FB08F801FB028808EB082208EBC2188C +S21400F110C8F3C5589DF81C2002F01F0203FB09F92E +S21400F12001FB029909EB092309EBC319C9F3C4597A +S21400F13050E7FF2D36D0C5F1FF009DF81910C9081D +S21400F1409DF81530DB0800FB03F305FB013101EBEE +S21400F150012301EBC311C1F3C451BDF81830C3F34A +S21400F1604513BDF81420C2F3451200FB02F205FB5E +S21400F170032303EB032203EBC213C3F3C5539DF82B +S21400F180182002F01F029DF814E00EF01F0E00FB80 +S21400F1900EF005FB020505EB052205EBC215C5F3CF +S21400F1A0C45525E79DF8185005F01F05BDF8183022 +S21400F1B0C3F345139DF81910C90819E7227D65F3B6 +S21400F1C004022275A28A63F34A12A282120A61F32B +S21400F1D0C702627501203CE7237D69F304032375AB +S21400F1E0A38A68F34A13A3821B0A67F3C7036375EF +S21400F1F001202EE700202CE749EA000019E900006C +S21400F2002DE9F04F83B088465D4B1988E1B107467B +S21400F2105C4B1E683346013989B2013101EBC101EE +S21400F22006EB810158481A6A8242A4BF02F1FF32F7 +S21400F2301A6224338B42F6D10024DFF88091DFF87F +S21400F24080B1DFF83CA111E0504B0093504B4422B4 +S21400F25050490220504CA047002525E0012827D021 +S21400F2600134A4B2BAF80030A3422AD904EBC4058C +S21400F27006EB85056868C8470028EFD16B68BB4277 +S21400F280EED128891FFA88F3984214BF0020012087 +S21400F2900028E5D02B6A6A691344B3F57A7F0EDD41 +S21400F2A04FF47A732B6265B1284603B0BDE8F08F41 +S21400F2B039466868D847B0FA80F04009E8E72B621C +S21400F2C0F1E72F4B1A88012A37D906F12403023AB0 +S21400F2D092B202EBC20206EB820248323546186A48 +S21400F2E0296A8842B8BF1D4624339342F7D16B681B +S21400F2F02BB32846294B9847294B0093244B77225B +S21400F30024490120244CA047264B98470446002356 +S21400F3106B61424639462846234B9847C0B10023C6 +S21400F3202B626B69002BBFD12046204B9847686143 +S21400F3300028B9D101236B61B6E73546D7E71C4BE9 +S21400F3400093134B7A2213490120134CA047DBE7A6 +S21400F350184B00930E4B83220E4902200E4CA047FA +S21400F36028460E4B984720212846134CA0472421B8 +S21400F3702846A0474FF000432B62002594E700BFC5 +S21400F380582B0020586D002002000080905102008B +S21400F39034510200605102005D22010035FF00007A +S21400F3A0B85102005910010049FE0000711001001A +S21400F3B0EC51020020520200372B01006999000030 +S21400F3C0FBB401002DE9F047144B1F68144B1B8853 +S21400F3D00BB306460024DFF84C90DFF84CA0DFF8AD +S21400F3E040800EE00BB12846D04720212846C8476B +S21400F3F024212846C8470134A4B2B8F80030A342F6 +S21400F40009D904EBC40507EB85056B68B342E9D060 +S21400F410002EF0D1E6E7BDE8F08700BF586D00206B +S21400F420582B0020372B010035FF00002DE9F04156 +S21400F43082B00446214B1B6833B10020204B98470E +S21400F4401E4B18681F4B984704EBC40080001E4BE9 +S21400F45098471A4B18601D4B9847E8B1174B1B6826 +S21400F46043B31B4B1C80A4B10024144F194E98467E +S21400F47004EBC405AD00386820212844B04738683E +S21400F48024212844B0470134A4B2B8F80030A3427F +S21400F490EED802B0BDE8F0810F4B0093A8220F49CA +S21400F4A003200F4CA047054B1A6800230D480E4951 +S21400F4B08847FEE70022064B1A80EAE7586D0020D0 +S21400F4C0C5F30000C5240100DD230100B1220000C1 +S21400F4D0582B0020372B01004851020060510200D3 +S21400F4E05D220100D83F0200B922000030B587B087 +S21400F4F00C4615460846334B9847D8B92378C3F3CD +S21400F5000403043BDBB20A2B59D82368C3F38A23CF +S21400F5102A6863F394222A606388C3F34A136A88CE +S21400F52063F34F126A8022782B7862F304032B7001 +S21400F53001200DE001280DD0022832D0224B009386 +S21400F540224B4FF49A7222490220224CA0470020F8 +S21400F55007B030BD0222214604A81F4B984738B199 +S21400F5602B781C3303F01F030A2B18D80120EFE773 +S21400F57003AB0422294604A8184CA047044604A856 +S21400F580174B984714B9039B042BE9D0154B0093EF +S21400F5900E4B40F221120E4902200E4CA0470020CE +S21400F5A0D6E72B68012060F394232B601A0C60F3D7 +S21400F5B04F126A800B2262F304032B70C8E7002008 +S21400F5C0C6E700BF699900006C5302004C52020067 +S21400F5D0185302005D2201004D1D0100BD1C0100F4 +S21400F5E08D1C01004853020038B5CC69A4B10D4605 +S21400F5F0206820B1094B98472068094B98476068F7 +S21400F60008B1074B9847A06808B1054B98472046B5 +S21400F610034B98470023EB6138BD00BF8D1C0100EB +S21400F620C52401002DE9F04385B005460C468B7ACB +S21400F630012B16D0002B40F0AA814B689B68002B4C +S21400F64000F0A381087B00F01F00031FDBB2022B33 +S21400F65000F2858063689B682361012005B0BDE8E1 +S21400F660F0834868964B98479649974B98470028EA +S21400F6702AD10222616802A8944B9847D8B9E36958 +S21400F68023B3E6690820924B98473060914B984721 +S21400F690002840D03368002B4BD18F4B00938F4B04 +S21400F6A040F25F128E4903208E4EB0472146284610 +S21400F6B08D4B984708E08D4B0093884B4FF4A6720D +S21400F6C087490220874CA0470020C7E70C20804BC4 +S21400F6D09847E0617F4B984768B9804B009340F2AB +S21400F6E053127F4903207F4DA847E26900238048D4 +S21400F6F080498847FEE7E06948B9774B0093774B27 +S21400F70040F2551276490320764CA047DCE70C21E0 +S21400F710794B9847B5E7714B009340F25D127049FC +S21400F7200320704CA047326800237148714988470F +S21400F730FEE70DF1070203F1080112F8010F03F8C6 +S21400F740010B8B42F9D1207B00F01F00031FDBB2B8 +S21400F750022B04D8A37A002B3FF47CAF1FE1C31F13 +S21400F760DBB2032B09D9A0F10B03DBB2032B00F2AB +S21400F770FD8000232361012070E7604B9847074611 +S21400F780E369BBB1E6690220B840514B9847706008 +S21400F790504B9847002837D1504B009340F29712B1 +S21400F7A04F4903204F4CA0477268002350485149E8 +S21400F7B08847FEE70C20464B9847E061454B984744 +S21400F7C068B9464B00934FF4C67245490320454D31 +S21400F7D0A847E2690023464846498847FEE7E069AD +S21400F7E070B93D4B00933D4B4FF4C7723C49032024 +S21400F7F03C4EB047214628463B4B984700202DE715 +S21400F8000C213D4B9847BDE7012303FA07F738461E +S21400F8102F4B9847B0602F4B9847002832D073681C +S21400F820002B3DD0B368002B3AD0A37A012B67D0CB +S21400F83063689A68002F00F095800023706800EBDC +S21400F840430C92F801E04FEA9E0E9578ED08117889 +S21400F850C90810F8138061F3040800F8138030F824 +S21400F86013106EF34A1120F81310090A65F3C70146 +S21400F8708CF80110D078B168C854013304329F4226 +S21400F880DCD16FE0154B009340F299121449032027 +S21400F890144CA047B2680023154816498847FEE76F +S21400F8A00D4B00930D4B40F29B120D4903200D4E5D +S21400F8B0B047214628460C4B98470020CEE600BFAE +S21400F8C0211E010094530200FBB401004D1D0100EF +S21400F8D0DD230100B1220000C45302006C52020076 +S21400F8E0185302005D220100E9F50000985302005B +S21400F8F0D83F0200B9220000372B01008196000095 +S21400F90004213068284B984767B30025A946DFF8DE +S21400F910B0804B46042202A93068C047726802EBEA +S21400F920450E9DF8090080089DF80A10C9089DF844 +S21400F9300830DB0812F815C063F3040C02F815C093 +S21400F94032F8153060F34A1322F815301B0A61F3BB +S21400F950C7038EF801309DF80B20B3685A55013561 +S21400F960AF42D6D100232361012077E62146284600 +S21400F9700E4B98470E4B00930E4B40F2D3120E4997 +S21400F98002200E4CA047002068E6002066E6087BB2 +S21400F99000F01F00031FDBB2022B3FF6E0AE002391 +S21400F9A0236101205AE600BFF91C0100E9F50000BA +S21400F9B0F05302006C520200185302005D22010050 +S21400F9C0BD1C01002DE9F04F8BB00D4614469A463B +S21400F9D0BDF950600B7B03F01F031A1FD2B2022A38 +S21400F9E045D88B7A012B03D000200BB0BDE8F08FF2 +S21400F9F0D1F81C80087B00F01F009E4B98470746F6 +S21400FA00E968C1F38A210AFB014100FB01F1C91034 +S21400FA100431D8F80000984B9847D8B9C7F3C70701 +S21400FA2006FB07F60AAB002243F8102D324615995E +S21400FA30D8F80000914CA047069B9E4215D0904BEC +S21400FA400093904B40F235228F4902208F4CA047FE +S21400FA500020CAE78E4B00938A4B40F22E228A493A +S21400FA6002208A4CA0470020BFE70120BDE7A3F193 +S21400FA700B02D2B2032A0FD9073BDBB2032B40F2AC +S21400FA80DF80844B0093844B4FF4FE727E49022045 +S21400FA907E4CA0470020A8E700228DF81020FF2308 +S21400FAA08DF811308DF8142055228DF81520AA22D5 +S21400FAB08DF816208DF81730784B0FCB0AAF07E974 +S21400FAC00F002989002E0CDD080A159B721E92B2C3 +S21400FAD0013202EB42021A441970587003339A42FC +S21400FAE0FAD1287B00F01F00624B9847804601271A +S21400FAF08740013FBFB22B7B03F01F030B3B032B5A +S21400FB0000F28380DFE803F0024C6176EB68C3F313 +S21400FB108A23DA1013F0070F0CBF0FFA82FB02F1EC +S21400FB20010BE3100AFB0B3AE44304F007040DF163 +S21400FB301009EB6903935846594B98470290AB7AE5 +S21400FB40002B6BD16B689B689A44002E23DD159AB8 +S21400FB50711E89B2013101EB41011144C8F1080060 +S21400FB6040B29AF8003007FA04F6334023412E7B61 +S21400FB7006F01F060E2EDBB218BF19F8033093707E +S21400FB80A4EB080464B2002CBCBF04460AF1010AC8 +S21400FB9003328A42E5D10298424B9847012024E777 +S21400FBA0EB68C3F38A239A1013F0030F0CBF0FFA07 +S21400FBB082FB02F1010BA3100AFB0B3AE44304F0AC +S21400FBC0030464000DF11409B3E7EB68C3F38A235A +S21400FBD05A1013F0010F0CBF0FFA82FB02F1010B53 +S21400FBE063100AFB0B3A14F0010F13D000240DF13A +S21400FBF018099EE7EB68C3F38A239AB20FFA83FBD1 +S21400FC000AFB024A0024A14693E70024A246A34624 +S21400FC10A1468EE704240DF118098AE70AF10401CB +S21400FC20039B1868144B984700235A46DDF808B023 +S21400FC30594603980068DFF844A0D047DA4684E7C0 +S21400FC40087B00F01F000B4B984781464FF00108D9 +S21400FC5008FA00F808F1FF381FFA88F82B7B03F043 +S21400FC601F03073B032B00F2A580DFE803F01D68A7 +S21400FC707E9600BF81960000F91C0100BD1C0100A5 +S21400FC80405402008C520200185302005D2201000C +S21400FC901C54020064540200C4520200B452020013 +S21400FCA03D29010071250100EB68C3F38A234FEA62 +S21400FCB0E30B13F0070F0CBF0FFA8BFB0BF1010BD6 +S21400FCC0E3100AFB0B3A0AF1080AE44304F00704BF +S21400FCD0EF695846414B98470290AB7A002B6ED19D +S21400FCE06B689B689A44002E24DD159A711E89B2B3 +S21400FCF0013101EB41011144C9F108056DB29AF8D2 +S21400FD00003008FA04F003402341DBB2786830F88C +S21400FD1013001070000A5070B868C35C9370A4EBB0 +S21400FD20090464B2002CBCBF2C460AF1010A033257 +S21400FD308A42E4D102982A4B9847012055E6EB68A0 +S21400FD40C3F38A234FEAA30B13F0030F0CBF0FFA7B +S21400FD508BFB0BF1010BA3100AFB0B3A0AF1100AFE +S21400FD60E44304F003046400B2E7EB68C3F38A23B9 +S21400FD704FEA630B13F0010F0CBF0FFA8BFB0BF16E +S21400FD80010B63100AFB0B3A0AF1400A04F0010467 +S21400FD90002C0CBF042400249AE7EB68C3F38A2BDC +S21400FDA01FFA8BF30FFA8BFB0AFB034A0AF5806AED +S21400FDB000248DE74FF0000A5446D34688E70AF140 +S21400FDC004013868074B984700235A46DDF808A018 +S21400FDD051463868044DA84785E700BF3D29010015 +S21400FDE071250100F91C0100BD1C01002DE9F0473A +S21400FDF081460E460B786FF347130B700F48104B77 +S21400FE009847C8B104464FF0000ADFF830800D4F1F +S21400FE1005E0554621464046B847044648B12368A3 +S21400FE20002BF6D03246494620469847054601281C +S21400FE30F0D12846BDE8F0870025FAE7A46C00203C +S21400FE40A91F0100BD1F01002DE9F0478246884624 +S21400FE5002810846264B98478AF80A000023CAF80B +S21400FE601C3001280DD0CAF804802248224B98473F +S21400FE700446002836D000250AF10C091D4F1F4EF7 +S21400FE8010E040461E4B984701301E4B9847CAF874 +S21400FE90040041461C4B9847E7E721463846B047E2 +S21400FEA00446D8B12368002BF7D06268002AF4D045 +S21400FEB04A4641462046984705460128EDD100238C +S21400FEC0CAF81830CAF81030CAF8004063685146BD +S21400FED02046984705460128DFD100E01DB1284698 +S21400FEE0BDE8F087002520215046084B9847F6E7E6 +S21400FEF069990000A46C0020A91F0100BD1F010025 +S21400FF001FB50100DD2301000FB50100372B0100EE +S21400FF1070B582B00668B46854B11D4613460A46EA +S21400FF2001460698019000953046A04702B070BD85 +S21400FF300020FBE7036883B110B50446DA6812B107 +S21400FF40014618469047A37A012B00D010BD606882 +S21400FF50024B984700236360F8E77047C52401000A +S21400FF6030B583B00D480E4B984704460D4B984766 +S21400FF7038B11CB1102120460B4B9847204603B0E1 +S21400FF8030BD0A4B0093C92209490320094DA847F2 +S21400FF9022460023084809498847FEE7A46C00204B +S21400FFA0111F0100B1220000372B0100E8520200A9 +S21400FFB0185302005D220100D83F0200B92200005B +S21400FFC010B582B010211448144B9847144B98472C +S21400FFD048B1144A0260144A4260144A8260144AC5 +S21400FFE0C26002B010BD134B0093134B4722134957 +S21400FFF00220134CA0470020124B98470028F0D14F +S2140100000D4B009348220D490320A04700220023F0 +S2140100100D480E498847FEE7A46C0020F91E010032 +S21401002061FF0000EDF4000025F60000C5F90000B0 +S214010030E9F50000A0540200005302001853020024 +S2140100405D220100B1220000D83F0200B922000063 +S21401005008B54368984708BD10B50468A04710BDA9 +S21401006010B584B013460A4601A9044CA04718B13E +S214010070BDF8040004B010BD0020FBE759000100E4 +S21401008003780A78934211BF981A40784B78C01AC1 +S214010090704703880A88934211BF981A40884B8894 +S2140100A0C01A704700880B88C01A70470B46002993 +S2140100B06CD0F0B585B00469A269914215D0678A03 +S2140100C0C7F30907002F5DD0A16808681A1A0392C2 +S2140100D0888882420BD800261D468B7CE3B9C888E7 +S2140100E01044A561E06105B0F0BDE069FBE70025BD +S2140100F00135ADB2BD4245DA05EB850082001646F4 +S21401010001EB020E51F820209A1A0392BEF8040061 +S2140101108242EDD87146DFE7012B05D0022B08D0CD +S214010120032B18D00020DCE7CB689B5CC8881844FA +S214010130D7E70A8A8968164B0093022303A8154F4E +S214010140B8470346D0B1A2681644B068181AF388B7 +S21401015003EB5000C5E70A8A89680D4B009302231A +S21401016003A80C4FB84758B1A2681644B268831A60 +S2140101705B08F268D35CF0881844B2E70020B0E769 +S2140101800020AEE7A3610020E061ACE708467047B7 +S214010190A5000100854101002DE9F04F9FB0092916 +S2140101A0056908BF2021A04B9847002800F0EA8483 +S2140101B080466F6807EBC0062B7D13F0030F0BD14B +S2140101C0002E00F0E28457F83030C3F3130328689A +S2140101D018441FB0BDE8F08F3379747904FB03F43B +S2140101E0002C00F0D584EB7CC3F38303013B032B87 +S2140101F005D8DFE803F00275787B0734E4088B4BFB +S21401020018688B4B9847844211D9DFF82092214613 +S214010210D9F80000874B9847C9F80000864B9847E5 +S214010220002866D0814B1B68002B00F0B48457F879 +S2140102303810C1F313012B6819447C4BD3F8009096 +S21401024033790C939B461AB2174618927279159217 +S214010250EA7CC2F38302D3B20F93032B14BF184672 +S21401026004200890714B59601A7200225A72DA60A3 +S2140102701A745A745846714CA04716905846A047AF +S2140102801790002F00F05182684B197C03915C7C1B +S2140102905F68DD6893F808A0012202FA0AF2511E8F +S2140102A0D046CAF108060A96CAF11006099693F8CE +S2140102B009C0169800F1FF3E0BF1FF339BB20D9378 +S2140102C000EB030B76460023059307931A460AF1C3 +S2140102D0FF3A01230493CBB20B930692614634E0B6 +S2140102E00334A4088BE70134640888E70134640802 +S2140102F085E7534B0093722252490320524CA04784 +S214010300D9F800200023514851498847FEE70320C9 +S214010310EB0805F0070202EB080CBCF1070F35D815 +S21401032017F803C00A9B9A1A4CFA02F3034015B158 +S214010330039A934238D045440393012204980690C9 +S21401034006F8013F5E4500F04E81A1BBBAF1070FEA +S21401035018D801A353F82AF0890301000F030100FE +S214010360790301007D030100850301008503010077 +S21401037085030100810301000720C9E70F20C7E7B5 +S214010380FF20C5E70B98C3E70120C1E717F803C0B4 +S2140103903B445B7803EB0C231FFA83FC099B9A1AF8 +S2140103A04CFA02F30340C2E7012205920024049AA4 +S2140103B007921146BFE7012904D0022900F0CD803B +S2140103C00023BDE7EB0805F0070202F1010CBCF1C2 +S2140103D0070F13D8FB5CD2430832134103F0010325 +S2140103E00134E4B26A1CB3B9BAF1070F00F2A58072 +S2140103F0DFE80AF0A5849D9FA3A3A3A117F803C075 +S2140104003B445B7803EB0C239BB2D243103213417F +S21401041003F00103E4E70B2C1CD01546039B0122D5 +S2140104200592049A8CE700BFAD0001005C2B00200A +S2140104305125010099280100B12200003D29010043 +S214010440C4540200E05402005D220100D83F0200BD +S214010450B9220000D30802F00702911D072913D81C +S214010460FC5CC2F1020244FA02F202F03F040735D4 +S214010470002C40F0AD80BAF1070F26D8DFE80AF06D +S21401048027101F2125252523F95C3B445C7804EBC6 +S2140104900124A4B2C2F10A02144104F03F04E6E7C3 +S2140104A00320EA0805F0070303EB0801072910D823 +S2140104B0BA5C0A99CB1A42FA03F3034014E0072008 +S2140104C0EFE70F20EDE7FF20EBE70B98E9E70120C8 +S2140104D0E7E7B95C3A44527802EB012292B20999F5 +S2140104E0CB1A42FA03F303404544039301220592D3 +S2140104F00498024607900021069021E70320D108C0 +S21401050002F0070303EB0805072D1AD8795C0A9D4C +S214010510EB1A41FA03F3034002EB080503930122A9 +S21401052005920498024607900021069008E70720E6 +S214010530E5E70F20E3E7FF20E1E70B98DFE701207F +S214010540DDE77D5C3944497801EB052189B2099DD7 +S214010550EB1A41FA03F30340DEE7013C14F0FF0413 +S2140105603DD1BAF1070F23D8DFE80AF024041C1E98 +S214010570222222200320EA0805F0070303EB0801E4 +S214010580072919D8BA5C0A99CB1A42FA03F3034031 +S21401059045440393012205920498024607900021E0 +S2140105A00690CDE60720E6E70F20E4E7FF20E2E726 +S2140105B00B98E0E70120DEE7B95C3A44527802EB9B +S2140105C0012292B20999CB1A42FA03F30340DFE7FC +S2140105D0039B01220592049A07920221B0E6039B2F +S2140105E001200590ACE606988C46C8B90AB19F4B27 +S2140105F0DD60079B13B19D4B83F809C0059B0BB1CA +S2140106009A4B5C7400200F9B039304274FF00F0C4A +S2140106104FF00D084FF00B0A4FF0090B049728E036 +S214010620924B9DF80C101974E0E707293DD8DFE8D6 +S21401063001F004272A2D303336393D46002100F0DB +S2140106400702C2F10802521BC0F3CF044FF0FF337A +S214010650AB4063F0FF03934019F804502B4001FAB6 +S21401066002F2134309F80430089A13461044B645BB +S2140106701DD01EF8011F0F9B032BD6D0039DDEE76E +S2140106803D460221DBE73D460499D8E73D46062173 +S214010690D5E73D465946D2E73D465146CFE73D466A +S2140106A04146CCE73D466146C9E73D46C7E70D9A58 +S2140106B002FB03330E93159B012B40F355826B4BC4 +S2140106C0D3F804801A7A10461992012202FA00F130 +S2140106D00139C9B21B9101468246587C0790C1F187 +S2140106E008010B91CAF110010D91197C0391D3F801 +S2140106F00CC093F809B0089912910C9B013B9BB270 +S21401070001FB03F11A9100210A910C9106910891BF +S2140107101092179AD3181C93012304930F9A0992E7 +S21401072004221D9205936646F5E100230E93C2E767 +S2140107304FF003090CE04FF0070909E04FF00F09ED +S21401074006E0E14604E0DDF8449001E0DDF81090B3 +S214010750F30806F0070202EB0A0BBBF1070F31D8CC +S21401076018F803300B9DAA1A43FA02F202EA0909A5 +S2140107705FFA89F916B1039B4B4533D05644CDF841 +S2140107800C90049B0693059B089304F8019FA042D6 +S21401079000F05D8169BB079B1A46072AD3D801A3DF +S2140107A053F822F04D070100310701003707010019 +S2140107B03D07010047070100470701004707010001 +S2140107C04307010018F803B043445B7803EB0B239F +S2140107D09BB20D9DAA1A43FA02F202EA09025FFAD7 +S2140107E082F9C7E7049B0A937746059B0C93194643 +S2140107F0C4E7012904D0022900F0D780F146C4E7F6 +S214010800F30806F0070202F10109B9F1070F15D83E +S21401081018F80330D2430832134103F001037A1C5F +S214010820D7B2721CBBB9079B1946072900F28E8006 +S214010830DFE801F08E8486888C8C8C8A18F8039009 +S21401084043445B7803EB09239BB2D2431032134136 +S21401085003F00103E3E70B2F0AD01646DDF80C90F0 +S214010860049B0A93059B06938FE700BF5C2B002031 +S214010870D30802F00702911D072915D818F803308E +S214010880C2F1020243FA02F202F03F070736002FD6 +S21401089040F0CF80079B1A46072A39D8DFE802F0D6 +S2140108A03B1230333838383618F8031043445B7837 +S2140108B003EB01239BB2C2F10A0243FA02F202F0F1 +S2140108C03F07E3E74FF00309F30806F0070202EBE0 +S2140108D00A01072922D818F803300B998A1A43FA15 +S2140108E002F202EA09025FFA82F95644CDF80C9048 +S2140108F0049B0A93059B0C9371460693089344E761 +S2140109004FF00709E0E74FF00F09DDE7E146DBE7C7 +S214010910DDF84490D8E7DDF81090D5E718F8031015 +S21401092043445B7803EB01239BB20D998A1A43FA81 +S21401093002F202EA09025FFA82F9D6E7032608E024 +S214010940072606E00F2604E0664602E0119E00E058 +S214010950049ED30802F0070101EB0A09B9F1070F5B +S21401096014D818F803300B9D691A43FA01F1314087 +S2140109705FFA81F902EB0A06CDF80C90049B0A9304 +S214010980059B0C93714606930893FEE618F80390B0 +S21401099043445B7803EB09239BB20D9D691A43FA26 +S2140109A001F131405FFA81F9E4E77B1E13F0FF079E +S2140109B048D1079B1A46072A0DD8DFE802F00E0435 +S2140109C006080C0C0C0A032108E0072106E00F219B +S2140109D004E0614602E0119900E00499F30806F08C +S2140109E0070202EB0A09B9F1070F13D818F803300A +S2140109F00B9DAA1A43FA02F20A405FFA82F956449C +S214010A00CDF80C90049B0A93059B0C9371460693B4 +S214010A100893BAE618F8039043445B7803EB09237E +S214010A209BB20D9DAA1A43FA02F20A405FFA82F9B6 +S214010A30E5E7DDF80C90049B0A93059B0C930221D5 +S214010A400693A2E6DDF80C90049B0A939DE6DDF87A +S214010A504C900797149F169B03F1FF3E0E9DDDF801 +S214010A603CC011961391DDF848B021E0072A40D822 +S214010A70DFE802F0042A2D303336393C0423002205 +S214010A8005F00701C1F10801C91AC5F3CF00012617 +S214010A9006FA03F35B4263F0FF038B4019F800602C +S214010AA033408A40134309F800305D44BC4222D0EB +S214010AB017F8012F9EF801305A400EF8012FBCF1AD +S214010AC0030FD3D0099BDBE704230222D8E70423D4 +S214010AD01D9AD5E704230622D2E704230922CFE78D +S214010AE004230B22CCE704230D22C9E704230F229B +S214010AF0C6E70423C4E7119EDDF84CB01A9B129A90 +S214010B0013440E9A1A440E92109B01331BB2109393 +S214010B10159A9A4215D0189B002BF5D0179B5F1E8D +S214010B203C464FF0000E199B5D1E1B9B11934FF028 +S214010B30FF0CCDF84C9059461497079F07951C98C3 +S214010B4028E6B446089BC3B9069B13B1134BC3F8FA +S214010B500CC00C9B13B1114B83F809B00A9B1BB157 +S214010B600E4B9DF81C205A7416980D4CA0471798EA +S214010B70A0470A4B1868FFF72CBB084B9DF80C20C2 +S214010B801A74E1E70020FFF724BB0020FFF721BB22 +S214010B900020FFF71EBB0020FFF71BBB5C2B0020CD +S214010BA0712501002DE9F04784B007460C469946A9 +S214010BB0092A06BF01252022002506691146494B50 +S214010BC098478046002800F08680F368002B7CD08A +S214010BD049463846434B9847034618BB002370687E +S214010BE000EBC800328A03FB02F31B114288C2F3F2 +S214010BF00B1205B15200083313441B0923804379B5 +S214010C00A3800279628090F90630E38090F907307C +S214010C102381F37CC3F38303A372002D60D05200BB +S214010C20628059E03A69D17C11F0400F3CD1D76817 +S214010C30FA7A12F0030203D0012A1BD00023CEE772 +S214010C40D7F8009008EB002304A820F8043DBA6802 +S214010C50254B0093022322F07F424946DFF890A0FD +S214010C60D04728B1A0EB09035B087A68D356B6E7EC +S214010C700023B4E7D7F8009008EB002304A840F857 +S214010C80043DBA68194B0093042322F07F4249467B +S214010C90DFF85CA0D04728B1A0EB09031B097A68EE +S214010CA0D3569CE700239AE7D1684A6812F80820D1 +S214010CB06AB18868C35C63B1013A487B09680B4432 +S214010CC000FB023212F9013C89E7002387E7002383 +S214010CD085E7002383E70025284604B0BDE8F087B2 +S214010CE00125F9E7AD000100810001009300010034 +S214010CF08541010008B5044B186820B1034B98479D +S214010D000022014B1A6008BD5C2B0020C52401009F +S214010D1010B504462C21154B98470023E3604FF489 +S214010D20F07222804FF4887262806360227A63F3E5 +S214010D304102227294F8282063F3040284F82820E2 +S214010D40228D42F4FC622285120A63F3C70284F8FC +S214010D5029202289822161F38B02228142F001023D +S214010D60227223626362636110BD00BF372B0100EC +S214010D70F8B504460D4617461E462421034B9847F0 +S214010D8025606760A560E660F8BD00BF372B0100EF +S214010D90F0B583B005463F483F4B984704460028C8 +S214010DA054D04FF4B8713D4B98472C222946204623 +S214010DB03B4B98474C2104F130003A4B98470023AF +S214010DC0C4F86C31384B1B68002B50D0364B1F686B +S214010DD01C60234603221E213448354DA847E06295 +S214010DE0344B9847002845D0E36A002B4FD0B4F81F +S214010DF068316FF30903A4F868310025C4F86C5113 +S214010E00294628462C4EB047E06329462846B04777 +S214010E10206429462846B04760642946206C274E40 +S214010E20B0472946606CB0472946206C244EB0472F +S214010E302946606CB047E06B224B98471A4B1F60FF +S214010E40E06A214B9847204603B0F0BD194B9847FE +S214010E500028F8D11D4B00937C221D4903201D4C10 +S214010E60A047002200231C481C498847FEE70E4B7A +S214010E701C60ABE7154B00938D2215490320154DD9 +S214010E80A847E26A0023144814498847FEE700246D +S214010E90D9E700BF986C0020111F0100372B010015 +S214010EA055260100F91E0100702B0020755F000019 +S214010EB0E5390100B1220000253E00009D3B0000FF +S214010EC0A129000021330000553A0100BC9102001F +S214010ED0D49102005D220100D83F0200B922000031 +S214010EE0014B1868704700BF702B0020034640B1C5 +S214010EF01A7A12F0020F0CBFB3F90000B3F9020020 +S214010F007047034B1B68002BF2D14FF4F07070470B +S214010F10702B0020034640B11A7A12F0020F0CBF64 +S214010F20B3F90200B3F900007047034B1B68002BAE +S214010F30F2D14FF488707047702B0020034618B129 +S214010F401889C0F389007047024B1B68002BF7D144 +S214010F5082207047702B002038B50546A0B1284680 +S214010F600F4B9847044628460E4B984704EB8404DB +S214010F706400B4FBF0F01D280DD931280DD94628A0 +S214010F8034BF0220032038BD074B1D684FF4F074B0 +S214010F90002DE8D0E3E7002038BD012038BD00BFB2 +S214010FA0ED0E01003D0F0100702B0020426800236A +S214010FB093614268D361704708B520B10146044881 +S214010FC0044B984708BD0248034B984708BD00BF2D +S214010FD0986C0020BD1F0100A91F010040687047E2 +S214010FE043681A6822B15868003018BF012070475C +S214010FF00020704710B50446084B9847034658B181 +S214011000B4F90020B4F9023003FB02F36268D26837 +S214011010934214BF00230123184610BDE10F0100BF +S21401102008B520B101460448044B984708BD02485C +S214011030034B984708BD00BF8C6C0020BD1F010004 +S214011040A91F0100034B00221A705A681044586009 +S214011050704700BF742B0020044B4FF0010119703C +S2140110601A78002AFBD0014B58687047742B002071 +S21401107010B50446014B9847001B10BD59100100DE +S2140110800A6A486A82421ABF800290FBF2F04FF465 +S21401109080608A69CB699B1A00FB03F002EBA020F3 +S2140110A000B2704708B50122084B1A700848094B70 +S2140110B0984728B10421054B5868074B984708BD47 +S2140110C00021024B5868044B984708BD7C2B002032 +S2140110D05C6D0020A91F0100593901002DE9F0437C +S2140110E091B06348634B984768B10146604D624CC6 +S2140110F091F83C306FF3410381F83C302846A04715 +S21401110001460028F4D15D4B98685D4B98478046B0 +S2140111105748584B98470446002800F08980574D99 +S2140111204FF00007524EDFF84C911CE013EB08031A +S21401113000F18580A268002A00F08880204690474A +S2140111401EE0214604F110004E4B984728E0626AE3 +S214011150236A9A422BDA2B78002B71D03046C84787 +S2140111600446002C64D02F7094F83C3013F0020F24 +S21401117066D143F0020384F83C30636A002BD5DD68 +S214011180636A43446362002BE5DB226A9A42B8BF76 +S21401119062622369002BD4D0214604F110009847DF +S2140111A06368002BD3D001B220689847CFE794F844 +S2140111B03C3013F0010308D1A28E002A48D04FF626 +S2140111C0FF718A424BD0013AA286A28ECAB1226B27 +S2140111D052426262E26A002ABDD0002B3BD083F005 +S2140111E0010394F83C1063F3000184F83C10A369F2 +S2140111F0E069A061E36111F0010F08BFA26B2262F2 +S214011200A9E7E26A02B133B34022214668461E4B83 +S2140112109847214630461D4B984720461C4B984719 +S2140112201C4B9847039B002B95D06846984792E73E +S214011230194B9847114B986011B0BDE8F083636273 +S214011240214630460C4B984704468AE763629CE782 +S214011250E26A002AD8D0A16A49426162BFE7226BDE +S21401126052426262E26A002A3FF475AFF3E700BFBA +S2140112705C6D0020A91F0100BD1F01007C2B002012 +S2140112807110010081100100552601009520010012 +S214011290C5240100A51001005910010038B54021F0 +S2140112A009480A4B98470A4B98470A4CA060002306 +S2140112B004221E210848094DA8476060084B98473C +S2140112C00023237038BD00BF5C6D0020F91E0100AD +S2140112D0591001007C2B0020DD100100E5390100CA +S2140112E0A510010010B5044640210D4B98474FF458 +S2140112F0FA7323620023A3616423E361094B1A781E +S21401130022745A7862749A78A274DB78E3740123A3 +S214011310A38694F8363043F0010384F8363010BDC6 +S214011320372B0100009202002DE9F84F0746894647 +S2140113301548164B984710B304464FF0000ADFF8DD +S2140113404880134EDFF854B00BE021464046D8479C +S2140113502046104B9847104B98474FF0010A2C46F1 +S2140113607DB121464046B04705462368BB42F6D1CB +S21401137063684B45E9D0B9F1000FF0D1E5E74FF0CE +S214011380000A5046BDE8F88F5C6D0020A91F0100D9 +S214011390BD1F0100C5240100A51001009520010014 +S2140113A030B583B00546416811B100681B4B9847BC +S2140113B01B481C4B9847F0B919481B4B98470446E5 +S2140113C01A4B9847E8B1A4B12B6AAB634022294671 +S2140113D02046174B984794F8363013F0010F06D085 +S2140113E0636823B1206810B1B4F918109847114BFF +S2140113F0984703B030BD104B984701380F4B9860A3 +S214011400DAE70F4B00936A220E4903200E4DA847D8 +S214011410224600230D480E498847FEE7291301009E +S2140114205C6D002045220100111F0100B122000061 +S21401143055260100A5100100591001007C2B002043 +S21401144008920200189202005D220100D83F0200B5 +S214011450B9220000F8B504460F460A480A4B9847D9 +S214011460014660B1074E094D03E03046A8470146E4 +S21401147028B10B68A342F8D14B68BB42F5D10846A8 +S214011480F8BD00BF5C6D0020A91F0100BD1F010053 +S214011490891A0029B8BF49424FF47A7202FB01F259 +S2140114A092FBF0F04FF6FF72904228BF10460028DC +S2140114B008BF012080B2704730B4B0F90050B0F9CF +S2140114C004305B1B03EBD3735B109CB20A88521B80 +S2140114D0121B49884088081A001B13FB03F310FBF4 +S2140114E000F012FB02029342B4BF0020012030BC80 +S2140114F07047013943881944C1807047B0F9042008 +S214011500B0F90030D21AB0F90630B0F90200181A54 +S214011510013002FB0000704770B4B2F90050B1F917 +S21401152000309D42B8BF1D460580B2F90230B1F9C0 +S2140115300240A342B8BF23464380B2F90440B1F942 +S2140115400460B442A8BF34468480B2F90620B1F9DB +S21401155006108A42A8BF0A46C280A54205DC93420D +S214011560CCBF0020012070BC70470020FBE710B400 +S214011570B2F90030B1F90040A342A8BF2346038068 +S214011580B2F90230B1F90240A342A8BF2346438014 +S214011590B2F90430B1F90440A342B8BF23468380B0 +S2140115A0B2F90630B1F906209342B8BF1346C3809C +S2140115B05DF8044B704700002DE9F04F85B0B1F996 +S2140115C00050B0F900E07545C0F29D80B0F9048086 +S2140115D0454500F39C80B1F90230B0F902A05345AD +S2140115E0C0F29780B0F906000190834200F3938021 +S2140115F0002A40F392808C461FFA88F91FFA8EF66D +S21401160087B21FFA8AF5ADF808E009F101039B1BC2 +S2140116101BB203EBD3747B1C5B1B1BB203EBD371B6 +S21401162064104B10A342A8BF23469342A8BF13469B +S2140116309CB22644B6B2ADF80C60ADF80AA02544BB +S214011640ADB20FFA85FBADF80EB00022CDF800C0A2 +S214011650614602A8FFF7B0FF50B12644ADF80C6012 +S2140116602C44ADF80E40009902A82E4B98474BE04B +S2140116703F1BBFB2ADF80A70BDF80430ADF80E30AE +S2140116800022009902A8FFF797FF50B12644ADF853 +S2140116900C603C1BADF80A40009902A8214B984704 +S2140116A032E0A9EB04091FFA89F9ADF80890ADF804 +S2140116B00C800022009E314602A8FFF77DFF58B13C +S2140116C0A9EB0409ADF808903C1BADF80A40314679 +S2140116D002A8144B984717E0ADF80AA0ADF80EB073 +S2140116E00022009E314602A8FFF766FFB8B1A9EBBB +S2140116F00409ADF808902C44ADF80E40314602A816 +S214011700084B984700E0002005B0BDE8F08F0020A8 +S214011710FAE70020F8E70020F6E70120F4E70120C9 +S214011720F2E700BFB9140100B0F90020B1F90430A6 +S2140117309A4214DCB0F90420B1F900309A4210DB69 +S214011740B0F90220B1F906309A420CDCB0F9060075 +S214011750B1F902309842B4BF002001207047002042 +S2140117607047002070470020704700002DE9F041C7 +S21401177082B0B0F90050B1F90030AB4214DCB0F9D8 +S2140117800240B1F902309C4214DBB0F90440B1F9D1 +S21401179004309C4210DCB0F90630B1F90640A34291 +S2140117A0CCBF0023012300E000233AB9184602B05B +S2140117B0BDE8F0810023F8E70023F6E717460C465C +S2140117C00646ADF804504388ADF8063001A9204618 +S2140117D0134B984703460028E8D0B6F9048002A9BF +S2140117E021F8048D3A4620460D4B984703460028BB +S2140117F0DCD0ADF80450F388ADF806303A4601A9BE +S2140118002046074B984703460028CFD002A921F867 +S214011810048D3A462046024B98470346C6E700BF6A +S214011820B915010030B4142A3AD8DFE812F01500D1 +S214011830430047005C00670072008D009E00B30005 +S214011840CE00D600EE00FC0004011C012A01320184 +S2140118504A01580160017801828801320488121B0E +S21401186012B202EBD2748A8801320D88521B12B270 +S21401187002EBD2725210C2EB64021A80C2880132A5 +S2140118804488121B12B202EBD274CA88013249880C +S214011890521A12B202EBD2725210C2EB64025A8092 +S2140118A01A8801880A441A805A8841880A445A804C +S2140118B030BC704700221A805A80F1E782880132D4 +S2140118C00488121B12B202EBD2748A88013209888C +S2140118D0521A12B202EBD2725210C2EB64021A8092 +S2140118E000225A80DCE782888C88121B0488121B2F +S2140118F009880A441A8000225A80D1E700221A80F9 +S214011900C288CC88121B4488121B49880A445A8014 +S214011910C6E7828801320488121B12B202EBD27427 +S2140119208A8801320D88521B12B202EBD272521013 +S214011930C2EB64021A80C288CC88121B4488121B30 +S21401194049880A445A80ABE782888C88121B04882F +S214011950121B0C8822441A80C288CC88121B448829 +S214011960121B49880A445A809AE700221A80C288C4 +S21401197001324488121B12B202EBD274CA880132B9 +S2140119804988521A12B202EBD2725210C2EB6402AA +S2140119905A8085E782888C88121B0488121B0C8863 +S2140119A022441A80C28801324488121B12B202EB0A +S2140119B0D274CA8801324988521A12B202EBD27224 +S2140119C05210C2EB64025A806AE700221A80CA8863 +S2140119D04988521AD2435A8062E7828801320488C3 +S2140119E0121B12B202EBD2748A8801320D88521B86 +S2140119F012B202EBD2725210C2EB64021A80CA888B +S214011A004988521AD2435A804AE782888C88121B28 +S214011A100488121B0C8822441A80CA884988521AE4 +S214011A20D2435A803CE700221A80C288013241889C +S214011A30521A5A8034E7828801320488121B12B285 +S214011A4002EBD2748A8801320988521A12B202EB6A +S214011A50D2725210C2EB64021A80C28801324188E7 +S214011A60521A5A801CE782888C88121B0488121B23 +S214011A7009880A441A80C28801324188521A5A805B +S214011A800EE78A880988521AD2431A8000225A80A1 +S214011A9006E78A880C88121BD2431A80C288013254 +S214011AA04488121B12B202EBD274CA8801324988EA +S214011AB0521A12B202EBD2725210C2EB64025A8070 +S214011AC0EEE68A880C88121BD2431A80C288CC881C +S214011AD0121B4488121B49880A445A80E0E6828811 +S214011AE001320188521A1A8000225A80D8E682886A +S214011AF001320488121B1A80C28801324488121BE4 +S214011B0012B202EBD274CA8801324988521A12B252 +S214011B1002EBD2725210C2EB64025A80C0E682888F +S214011B2001320488121B1A80C288CC88121B448892 +S214011B30121B49880A445A80B2E630B48DB210F0BE +S214011B40030F1CBF20F8021B02F1FF3205EB054113 +S214011B50102A21D900F12003144643F8201C43F82B +S214011B601C1C43F8181C43F8141C43F8101C43F8BB +S214011B700C1C43F8081C43F8041C103C2033102CA2 +S214011B80EBD8A2F111031B09591C103AC3EB0373DE +S214011B9002EB031200EB41101AB120F8025B013A86 +S214011BA0FBD130BC704730B4C1EB4115C1F1FF0425 +S214011BB0C0F3C42304FB035303EB032203EBC2135A +S214011BC0C3F3C452C0F34513C1EB811104FB0311E7 +S214011BD001EB012301EBC311C1F3C55100F01F0056 +S214011BE004FB005000EB002300EBC310C30D4FF0C5 +S214011BF0000063F3040061F34A1062F3CF2030BCA7 +S214011C00704710B4C1F1FF01C0F3C42301FB03F315 +S214011C1003EB032203EBC213C3F3C453C0F3451211 +S214011C2001FB02F202EB022402EBC412C2F3C5521C +S214011C3000F01F0001FB00F101EB012001EBC011D8 +S214011C40C90D4FF0000061F3040062F34A1063F31C +S214011C50CF205DF8044B7047421C43781BB908E05F +S214011C6012F8013F2BB13A2BFAD05C2BF8D02F2B70 +S214011C70F6D010467047000008B544210148024BD3 +S214011C80984708BD306D0020F91E010038B543683D +S214011C9073B11A6972B10446016818469047054641 +S214011CA02068054B9847002323606360284638BDAB +S214011CB00B25FBE70925F9E7C5240100F0B585B03A +S214011CC01E460BB10023336045688DB1AF698FB1F5 +S214011CD013460A46044604A8002140F8041D21685C +S214011CE000902846B8470EB1039B336005B0F0BD9F +S214011CF00B20FBE70920F9E738B5446834B1256ABB +S214011D0035B10A4601682046A84738BD0B2038BDC4 +S214011D10092038BD70B5044609480A4B9847014664 +S214011D2058B10378A34208D0054E074D3046A84760 +S214011D30014610B10B78A342F8D1084670BD00BF2A +S214011D40306D0020A91F0100BD1F01002DE9F043E1 +S214011D5083B0002343600360002945D00D469146B9 +S214011D6004460878244B9847606040B1836853B1B5 +S214011D70984740B9002363602360012535E00023BE +S214011D802360032531E0636858881C4B9847206020 +S214011D901B4B984728B1266886B9002363600A253D +S214011DA023E0184B00936F2217490320174DA847CD +S214011DB022680023164817498847FEE7D4F80480AE +S214011DC0D8F80C70AFB12846134B98474B460246DD +S214011DD031464046B847054638B120680F4B98470C +S214011DE000232360636000E00B25284603B0BDE8AE +S214011DF0F0830925F9E700BF151D0100DD23010069 +S214011E00B122000058920200749202005D22010085 +S214011E10D83F0200B9220000591C0100C524010068 +S214011E2010B50446124B9847C8B102462118235CE8 +S214011E302E2B0FD02F2B14D05C2B14D0013A0CD0A4 +S214011E4011F8013D2E2B05D02F2B0ED05C2BF5D192 +S214011E50084810BD0132A01810BD064810BD05483F +S214011E6010BD044810BD034810BD024810BD00BF98 +S214011E701FB50100044F020010B582B0019281B176 +S214011E800C4682B103680433CA189DF80410E15465 +S214011E909DF8053053709DF8063093709DF8073015 +S214011EA0D37002B010BD0068043004212044014BF9 +S214011EB09847F6E7372B010000B583B0019281B150 +S214011EC00A46019B83B1016853189DF804005054DB +S214011ED09DF805205A709DF806209A709DF80720F7 +S214011EE0DA7003B05DF804FB006804211044014B6E +S214011EF09847F6E7372B010000234360836011F013 +S214011F00030F1CBF21F0030104310160704700007C +S214011F1038B50446006808300D4B9847054690B121 +S214011F200022014620460B4B984762682946204608 +S214011F30094B9847616819B12A462046054B9847D0 +S214011F406560A3680BB1284638BDA560FBE700BFF6 +S214011F50DD230100B91E0100791E010038B50446D3 +S214011F60006808300D4B9847054690B1002201469F +S214011F7020460B4B9847A26829462046094B9847AE +S214011F80A16819B12A462046054B9847A5606368A3 +S214011F900BB1284638BD6560FBE700BFDD230100B5 +S214011FA0791E0100B91E010008B140687047002083 +S214011FB0704708B1806870470020704782B00023E0 +S214011FC0019370B103680433CA18CB5C8DF80430F2 +S214011FD053788DF8053093788DF80630D3788DF8E0 +S214011FE00730019802B0704782B00023019368B1B0 +S214011FF002688B188A5C8DF804205A788DF80520C3 +S2140120009A788DF80620DB788DF80730019802B0B3 +S2140120107047000060B32DE9F041044651B30D4608 +S2140120204368994220D000680830154B9847064609 +S21401203018B329462046134B984780463246014638 +S2140120402046114FB847424631462046DFF84080C9 +S214012050C047324629462046C0472A4631462046D2 +S214012060B8473046BDE8F081084B9847BDE8F08197 +S214012070002070470846BDE8F081BDE8F08100BF4A +S214012080DD230100E91F0100791E0100111F010077 +S214012090B91E010070B50D46044650B34368994217 +S2140120A029D08368994217D029462046184B98476D +S2140120B0064629462046174B9847054602463146AE +S2140120C02046154B9847324629462046134B9847DB +S2140120D070BD0023A36070BD0D4B9847A06028B16A +S2140120E00022014620460C4B984770BD00236360D2 +S2140120F070BD0029D8D129462046064B9847606016 +S2140121000028E6D0002201462046044B984770BDC1 +S214012110E91F0100BD1F0100791E0100B91E010063 +S21401212070B50C4615461E461146174B9847AEB17C +S214012130002229462046154B9847626829462046C4 +S214012140134B9847616819B12A4620460F4B9847AA +S2140121506560A36803B170BDA56070BDA26829461D +S21401216020460A4B9847002229462046084B9847A6 +S214012170A16819B12A462046054B9847A5606368B1 +S214012180002BE8D16560E6E795200100B91E010045 +S214012190791E010091424CD02DE9F84317460C46B2 +S2140121A0054612B31146234B9847064684421AD079 +S2140121B021462846204B9847224631462846DFF8D6 +S2140121C07C80C047324621462846DFF87490C847CF +S2140121D0224639462846C8473A4621462846C04739 +S2140121E006B3BDE8F883BDE8F883F0B18668B4426B +S2140121F01DD021462846104B984722463146284690 +S2140122000E4FB847324621462846DFF83480C0478D +S214012210224600212846C047002221462846B847C4 +S214012220AC60DDE76C60BDE8F8831646DFE7BDE825 +S214012230F8837047E91F010095200100791E01000F +S214012240B91E010040B142680AB10020704780689B +S214012250B0FA80F040097047012070472DE9F0413F +S214012260C4B0441EE4B2042C15D81F4616460D46CB +S21401227080464BAB03934A9A4FF4807104A8074CEF +S214012280A047074B1C6834B104AB00933B4632466B +S21401229029464046A04744B0BDE8F081CD3501004F +S2140122A0882B00201B4B83FB00231A18C317C3EB94 +S2140122B022234FF4B47202FB130000B20028BCBF05 +S2140122C0801800B2592813DD80B2A0F15A039BB2E0 +S2140122D0592B11D9A0F1B4039BB2592B13D9C0F5D0 +S2140122E0B47000B20C4B33F81000404200B2704795 +S2140122F0094B33F910007047C0F1B40000B2064B29 +S21401230033F9100070471BB2034A32F813004042FB +S21401231000B27047B7600BB69C92020030B4000260 +S2140123200024131903FB03F5A84228BF1C465208D4 +S214012330F7D123090B802401E4B24C8030BC7047EE +S214012340034660B104301B6800EB5300021D054BC9 +S2140123501B6803F580439A4228BF00207047014B53 +S214012360186870478C2B002011F0030F1CBF21F05A +S214012370030104310368C3F35E030A1D934217D0B9 +S214012380994216D010B4021D535C6FF300035354E8 +S2140123900368C3F35E03043B5B1A545863F35F049C +S2140123A05450036861F35F0303605DF8044B7047A4 +S2140123B01146036861F35F0303607047064B1A1DFD +S2140123C01A601A796FF300021A715A6843F6FC71A3 +S2140123D061F35F025A6070478C2B002000282ED0D4 +S2140123E0F0B583B0054610F0030F1CBF20F00305BF +S2140123F004350024134E144F08E02946B8472378C5 +S21401240043F00103204600F8043BB0B92046B0472C +S214012410044648B1037813F0010FF7D10368C3F3FC +S2140124205E039D42E9D9F1E7084B0093084BD122A0 +S21401243008490220084CA047002003B0F0BD074819 +S214012440704700BF4123010069230100C0930200C9 +S21401245054930200989302005D220100906B0020C5 +S21401246038B50020164B98470446154D1BE038BD7D +S2140124702046A847014608B3037813F0010F11D18F +S2140124802368C3F35E020432086802EB500262F36B +S2140124905F0323600846A847014670B10B7813F026 +S2140124A0010FEDD00C46002CE1D0237813F0010F7C +S2140124B0DED02046A8470446F5E738BD38BD00BF44 +S2140124C04123010038B51E4B984238D0002836D03B +S2140124D0044610F8043C6FF3000300F8043C194A64 +S2140124E0B2F8203D01339BB2A2F8203D0F2B20D835 +S2140124F00438154B9847014608B3037813F0010FCB +S21401250015D1114D54F8043CC3F35E020432086839 +S21401251002EB500262F35F0344F8043C0846A84706 +S214012520014628B10B7813F0010FEBD038BD38BD4A +S21401253038BD0022034BA3F8202D044B984738BD25 +S214012540906B0020745E002041230100612401008D +S21401255038B1064A904206D050F8040CC0F35E002B +S2140125607047002070470020704700BF906B002026 +S2140125701B4B1B68984220D0194B9B68834208BFAF +S21401258001221BD010B582B0164B1B6898421DD095 +S214012590012314491C4651F83320904217D00133C9 +S2140125A0102BF7D1104B0093104B40F232221049FA +S2140125B00320104CA04702B010BD0022084B03EBCD +S2140125C0C2039A796FF300029A7170470024054B93 +S2140125D003EBC404A3796FF30003A371EBE700BF19 +S2140125E044000020B06C0020DC93020064930200DB +S2140125F0989302005D2201002DE9F041124B9A7971 +S2140126006FF300029A719A7B6FF300029A730F4C74 +S2140126100025DFF83C802E46271F03E001350834ED +S214012620102D0ED054F8040C0028F7D0C04744F8FB +S214012630046C07EBC5039A7966F300029A7126804B +S214012640ECE7BDE8F08100BF44000020B46C002038 +S214012650C5240100F0B400F0030301F00304A34213 +S21401266000F0A680202A40F2A18000F1200401F1AA +S2140126702003154613F8206C04F8206C13F81F6C21 +S21401268004F81F6C13F81E6C04F81E6C13F81D6C0E +S21401269004F81D6C13F81C6C04F81C6C13F81B6C06 +S2140126A004F81B6C13F81A6C04F81A6C13F8196CFE +S2140126B004F8196C13F8186C04F8186C13F8176CF6 +S2140126C004F8176C13F8166C04F8166C13F8156CEE +S2140126D004F8156C13F8146C04F8146C13F8136CE6 +S2140126E004F8136C13F8126C04F8126C13F8116CDE +S2140126F004F8116C13F8106C04F8106C13F80F6CD6 +S21401270004F80F6C13F80E6C04F80E6C13F80D6CCD +S21401271004F80D6C13F80C6C04F80C6C13F80B6CC5 +S21401272004F80B6C13F80A6C04F80A6C13F8096CBD +S21401273004F8096C13F8086C04F8086C13F8076CB5 +S21401274004F8076C13F8066C04F8066C13F8056CAD +S21401275004F8056C13F8046C04F8046C13F8036CA5 +S21401276004F8036C13F8026C04F8026C13F8016C9D +S21401277004F8016C203D20342033202D3FF67AAF3B +S214012780A2F1210525F01F04203403192144203A23 +S21401279025F01F05521B3AB101391A4411F8014FB1 +S2140127A003F8014B9A42F9D1F0BC70470346F2E7B1 +S2140127B0002B5BD10546202A34D905F1200401F10E +S2140127C02003164653F8207C44F8207C53F81C7CE2 +S2140127D044F81C7C53F8187C44F8187C53F8147C95 +S2140127E044F8147C53F8107C44F8107C53F80C7CA5 +S2140127F044F80C7C53F8087C44F8087C53F8047CB5 +S21401280044F8047C203E20342033202EDAD8A2F16E +S214012810210323F01F04203425442144203A23F0C9 +S2140128201F03D21A042A32D90E1F2C46134656F815 +S214012830047F44F8047B043B042BF8D8541F24F08F +S21401284003030433043A24F00304121B19442B44F3 +S214012850002AA9D001391A4411F8014F03F8014B97 +S2140128609342F9D1A0E729461D46A4E7C3F1040324 +S2140128707AB1C418034611F8015B03F8015B0D46F3 +S214012880013AA342EFD0002AF5D10022E0E72B4619 +S214012890DEE70346F9E70000F0B583B004460D46CF +S2140128A011F0030F1CBF21F00305043538B110F8F1 +S2140128B0043C03F00103002B14BF04460024204609 +S2140128C0154B98470646854224D011D32846134B0C +S2140128D098470746A0B184B17EB12A46B54228BFC3 +S2140128E0324621460E4B984720460E4B984704E049 +S2140128F02946201F0C4B98472746384603B0F0BDA3 +S2140129000A4B00930A4B40F23F120A4902200A4C36 +S214012910A047F2E72746F0E751250100DD23010035 +S21401292055260100C524010069230100C093020059 +S21401293078930200989302005D220100002800F0BF +S2140129408D80014610280BD8454B9B7913F0010F5B +S2140129500ED0434B9B7B13F0010F08BF012008D01C +S21401296070B582B03F4A00234FF0FF36144619E097 +S21401297000203B4A02EBC0018B7943F001038B71C7 +S21401298052F830007047374A02EBC3018B7943F0A7 +S21401299001038B7152F8350023E05EB20133083231 +S2140129A0102B13D01D4604EBC300807910F0010FE5 +S2140129B0F4D190888142F1D8E5D0002EEDDB04EB0E +S2140129C0C605AD88854288BF5EB2E7E7002E0ADB02 +S2140129D0244A02EBC6018B7943F001038B7152F84E +S2140129E0360002B070BD1F4B9B7913F0010F08BF74 +S2140129F0002416D001231B481C4600EBC302927923 +S214012A0012F0010F0DD00133102BF5D1164B0093A8 +S214012A10164B40F2162216490320164CA0470020FA +S214012A20DFE7104D05EBC4039A7942F001029A7173 +S214012A30998055F83400104B984745F8340018B182 +S214012A40084B53F83400CCE70C4B0093074B4FF47C +S214012A50047207490320074DA847F1E70020704795 +S214012A6044000020B06C00206C94020088930200A1 +S214012A70989302005D220100992801000894020043 +S214012A8010F0030313D0C3F104033AB1034400F872 +S214012A90011B013A98420AD0002AF8D10022002AE6 +S214012AA048D0024400F8011B9042FBD1704730B475 +S214012AB001EB012404EB014404EB0164202A20D934 +S214012AC000F12003154643F8204C43F81C4C43F80C +S214012AD0184C43F8144C43F8104C43F80C4C43F88C +S214012AE0084C43F8044C203D2033202DEBD8A2F1AE +S214012AF0210323F01F0520352844203A23F01F0325 +S214012B00D21A042A0FD90546134645F8044B043B4E +S214012B10042BFAD8531F23F003040434043A23F099 +S214012B200303D21A204422B1024400F8011B90424A +S214012B30FBD130BC704710F0030341D110B42029FB +S214012B4021D900F120030C46002243F8202C43F83B +S214012B501C2C43F8182C43F8142C43F8102C43F87B +S214012B600C2C43F8082C43F8042C203C2033202C52 +S214012B70EBD8A1F1210323F01F02203210442039A3 +S214012B8023F01F03C91A042910D902460B46002454 +S214012B9042F8044B043B042BFAD84B1F23F00302E4 +S214012BA00432043923F00303C91A104429B101443D +S214012BB0002300F8013B8842FBD15DF8044B7047C7 +S214012BC0C3F1040341B10344002200F8012B01398B +S214012BD09842B3D00029F8D100210029EFD0014452 +S214012BE0002300F8013B8842FBD1704710F0030335 +S214012BF043D110B4202922D900F120030C464FF00E +S214012C00FF3243F8202C43F81C2C43F8182C43F8C9 +S214012C10142C43F8102C43F80C2C43F8082C43F8DA +S214012C20042C203C2033202CEBD8A1F1210323F0E7 +S214012C301F0220321044203923F01F03C91A042929 +S214012C4011D902460B464FF0FF3442F8044B043BC1 +S214012C50042BFAD84B1F23F003020432043923F065 +S214012C600303C91A104429B10144FF2300F8013BAC +S214012C708842FBD15DF8044B7047C3F1040341B1B0 +S214012C800344FF2200F8012B01399842B1D00029F4 +S214012C90F8D100210029EFD00144FF2300F8013BC1 +S214012CA08842FBD170479A4238BF885470477047B4 +S214012CB02DE9F04F83B00746009193469846DDF81C +S214012CC030900D9C9DF838501099DDF844A0129A6A +S214012CD012F00203019335D1BAF1000F0ED012F0B3 +S214012CE0010F00F0B68015B912F00C0F01D00AF1F1 +S214012CF0FF3A8C4213D21F2C04D910E08C420BD21F +S214012D001F2C09D809EB04033020013403F8010B0A +S214012D10A14201D9202CF8D112F0010F12D0A24500 +S214012D2010D91F2C09D809EB04033020013403F80D +S214012D30010B544505D0202CF8D112F0100F04D108 +S214012D4044E0A24612F0100F13D012F4806F04D1A3 +S214012D501CB1A1421BD0544519D00F9B102B1ED07D +S214012D600F9B022B27D01F2C30D8302309F80430B4 +S214012D7001341F2C2AD82DBB12F0040F3AD112F0C1 +S214012D80080F23D0202309F8043001341EE0631E07 +S214012D900FD00F99102901D01C46E1E7023C12F032 +S214012DA0200F5DD11F2CDED8782309F804300134BA +S214012DB0D9E71C46D1E71F2C08D8622309F804304E +S214012DC00134D0E72D2309F80430013412F0030F43 +S214012DD015D1544528BF5E4612D20BEB0A052D1BB2 +S214012DE05A46561C434600992020B8473246AE4202 +S214012DF0F7D105E02B2309F804300134E6E75E46F7 +S214012E0035465CB1A14434443246551C43460099CC +S214012E1019F8010DB8472A46AC42F6D1019BA3B179 +S214012E20A5EB0B03534512D220262A46009D541CBF +S214012E30434629463046B8472246A4EB0B03534582 +S214012E40F5D3204603B0BDE8F08F2C46F9E72C46B3 +S214012E50F7E78C42BFF476AF1F2C7FF653AF71E7CE +S214012E601F2CB3D8582309F8043001347BE700003F +S214012E702DE9F04190B0169D189EDDF86C802DB9B5 +S214012E8028F0100418F4806F2FD1A04618F0200FF8 +S214012E900DF11F0E4FF0000714BF4FF0370C4FF027 +S214012EA0570CB5FBF6F406FB1454E4B20137092CB3 +S214012EB094BF30346444E4B20EF8014FB5FBF6F526 +S214012EC00DB1202FEDD1CDF818801A9C0594199CD0 +S214012ED0049403969DF85C400294019708AC009414 +S214012EE0034CA04710B0BDE8F081A0460027EAE7F2 +S214012EF0B12C01002DE9F04F95B0089009910A9286 +S214012F000B93DDE91E45DDF88890DDF88C8054EAE8 +S214012F10050307D1269B23F01003269A12F4806F2F +S214012F203ED12693269B13F0200F0DF12F0A4FF06A +S214012F3000061D4F14BF4FF0370B4FF0570B4A4694 +S214012F40434620462946B847D2B20136092A94BFDD +S214012F5030325A44D2B20AF8012F4A464346204636 +S214012F602946B84704460D4654EA050301D0202EEB +S214012F70E5D1269B0693259B0593249B0493CDF8C8 +S214012F800C909DF88030029301960CAB00930B9B3E +S214012F900A9A09990898054CA04715B0BDE8F08F24 +S214012FA026930026E5E700BF85B10100B12C01009C +S214012FB02DE9F04F91B00A921C461A9E0B91934B45 +S214012FC0002914BF814699464FF0000B207800284F +S214012FD000F06A82252808D00BF101050A9B5A46A3 +S214012FE00B99C8470134AB46F0E7621C002101E0AB +S214012FF041F00101144601322378203B102B31D8D1 +S21401300001A050F823F000BF5930010065300100DF +S214013010653001005F300100653001006530010058 +S2140130206530010065300100653001006530010042 +S2140130306530010053300100653001004D3001005C +S2140130406530010065300100F12F010041F00201F9 +S214013050D0E741F00401CDE741F00801CAE741F0AD +S2140130601001C7E72378A3F13002D2B2092A16D994 +S2140130702A2B22D0002523782E2B28D00027237830 +S214013080683B122B4FD8DFE803F0AA4EB84E454EE8 +S2140130904E4E4E4E4E4EB44E4E4E4E4EBC0000253B +S2140130A005EB850503EB4505303D14F8013FA3F11B +S2140130B03002D2B2092AF3D9DDE7331D3568002D77 +S2140130C0BCBF41F002016D4201341E46D3E741F414 +S2140130D08061601C6378A3F13002D2B2092A04D958 +S2140130E02A2B11D004460027C9E7002707EB8707DC +S2140130F003EB4707303F10F8013FA3F13002D2B28D +S214013100092AF3D90446BAE7376827EAE77702348B +S2140131100436B4E763786C2B19BF41F4807101342F +S21401312041F4407102342078A0F12503532B00F2BC +S214013130B281DFE813F0A601B001B001B001B00121 +S214013140B001B001B001B001B001B001B001B001F1 +S214013150B001B001B001B001B001B001B001B001E1 +S214013160B001B001B001B001B001B001B001B001D1 +S214013170B001B001B001B001B001B001B001B001C1 +S214013180B001B001B001B001B001B001B001B001B1 +S214013190B001B001B001B001B001B0016D00B001E5 +S2140131A0B001B001B001B001B001B001B001B00191 +S2140131B06D0014016D00B001B001B001B0016D00E9 +S2140131C0B001B001B001B001B0016D008F01B001D6 +S2140131D0B0013701B0016D00B001B0016D00637838 +S2140131E0682B19BF41F08001013441F0C00102345F +S2140131F099E741F48071013495E741F40071013497 +S21401320091E741F4807101348DE700BFAF2C0100D6 +S214013210782800F0D581582800F054816F2800F0F6 +S214013220D181622800F0D08121F01003692826D1CF +S21401323011F4806F40F0C0810A2213F4007F24D17C +S21401324013F4807F44D113F0400F57D113F0800F51 +S21401325014BFB6F900103168043605930495039738 +S2140132600292CB0F01930029B8BF494200910A9BF5 +S2140132705A460B994846AC4DA847834652E1642806 +S21401328000F0568119460A221FE1F11D21F00701BF +S21401329001F108060868496808930795069704929D +S2140132A000230593CB0F029302460B46002873F1C9 +S2140132B0000109DBCDE900230A9B5A460B994846D3 +S2140132C09A4DA84783462DE1424263EB4303F1E75B +S2140132D006F1040831680593049503970292CB0F13 +S2140132E001930029B8BF494200910A9B5A460B999F +S2140132F048468D4DA8478346464613E13178043645 +S214013300ABE7F11D21F0070101F1080608930795C7 +S21401331006970023049205930293D1E90023CDE991 +S21401332000230A9B5A460B994846804DA847834678 +S214013330F8E006F10408059304950397029200232A +S2140133400193336800930A9B5A460B994846764D7B +S214013350A84783464646E5E031780436D4E011F0C6 +S214013360020F40F0EA80012D40F203810BF1FF3796 +S2140133702F444FF020085A46551C0A9B0B9940468D +S214013380C8472A46BD42F7D1371D05F1010B0A9BF6 +S2140133902A460B993078C8473E46013416E60C9EFD +S2140133A0BB46FAE7331D0E9333681A460C93002F7B +S2140133B014BF3B464FF0FF331078002800F0DB8047 +S2140133C012F8016F0EB1013BFAD10C9BD31A0D9383 +S2140133D011F4806A03D0BB4228BF3B460D9311F01F +S2140133E002030F9340F0CE800D990B4601338D42B8 +S2140133F040F2C38005EB0B08A8EB01085A46561CA1 +S2140134000A9B0B992020C84732464645F7D16B1CCC +S2140134100D930C9B1878002800F0B280DDF8308000 +S2140134203246564609E01F4602F1010B0A9B0B99EC +S214013430C84718F8010F30B15A46002EF4D07B1E4B +S214013440002FF0D193460F9B002B40F09F80013454 +S2140134500E9EBBE5351D41F021010591082304931D +S21401346003971023029300230193336800930A9B6A +S2140134705A460B9948462C4EB047834601342E4691 +S214013480A4E50BF101050A9B5A460B992520C8476E +S2140134900134AB469AE50BF101050A9B5A460B9996 +S2140134A0C8470134AB4691E50A9A93452CBF02F111 +S2140134B0FF325A460A9B0B990020C847584611B05E +S2140134C0BDE8F08F41F02001102221F00C0311F429 +S2140134D0806F07D021F00D0369283FF4AEAE642853 +S2140134E03FF4ABAE13F4007F7FF40BAF13F4807F91 +S2140134F07FF41FAF13F0400F7FF42EAF13F0800F51 +S21401350014BF3188316804360593049503970292F7 +S2140135100023019300910A9B5A460B994846024D97 +S214013520A8478346013451E5712E0100F52E0100AE +S21401353011F4806F3CD10A227FE6331D0C930BF108 +S21401354001070A9B5A460B993078C847012D7FF62A +S21401355026AF05EB0B0A4FF020083A46561C0A9B8D +S2140135600B994046C8473246B245F7D1AB440C9E4C +S21401357013E75D4608E70C9A27E70D935E4648E792 +S214013580B34664E75E4600287FF448AF0D9A95423D +S2140135907FF65DAF5D44AD1A5A46202602F1010B57 +S2140135A00A9B0B993046C8475A46AB45F6D14EE7BB +S2140135B021F011030A2240E621F011030A223CE61B +S2140135C0102282E7082280E702227EE710B582B049 +S2140135D0009313460A4601460248034CA04702B030 +S2140135E010BD00BFA72C0100B12F010008B518219E +S2140135F00448054B9847054B00221A7001225A7061 +S21401360008BD00BF806C0020F91E0100B86B0020C9 +S214013610F0B583B03748384B984710B30446354E5B +S214013620364D237D03F00703032B30DD214630465C +S214013630A84704460028F4D12E48314B9847054642 +S214013640304B9847002852D12F4B0093E5222F4943 +S21401365003202F4CA0472A4600232E482E49884790 +S214013660FEE724482D4B98470546264B984760B9F8 +S214013670254B0093D32225490320254CA0472A46F3 +S2140136800023244824498847FEE75DB91FE0214608 +S2140136901848234B984705461A4B9847D0B1B5B101 +S2140136A0002CC9D01F4C012626704FF4FA732B60EC +S2140136B00027AF602B7D032262F302032B754FF0C8 +S2140136C0FF332B61184B98476860EF60A670284659 +S2140136D003B0F0BD0C4B0093DB220C4903200C4CCD +S2140136E0A0472A4600230B480B498847FEE7002DD2 +S2140136F0D8D1ECE7806C0020A91F0100BD1F010096 +S2140137005D1F0100B1220000AC940200D4940200B7 +S2140137105D220100D83F0200B9220000111F0100FE +S21401372015200100B86B00205910010010B50446A1 +S21401373001460948094B98470122094B1A70204651 +S214013740084B9847084B1B689C4200D010BD0122CD +S214013750034BDA70FAE700BF806C00209520010069 +S214013760B86B0020C52401004C6D002010B504463E +S2140137704068124B98472368984201D2002010BD3A +S2140137800F4B984760600F4B0022DA709A70A3685F +S2140137902BB1204698470B4BD87800B110BD236952 +S2140137A0002BC4BF03F1FF33236123690BB1012052 +S2140137B0F4E72046044B9847012010BD7110010024 +S2140137C059100100B86B00202D3701002DE9F84390 +S2140137D0584B1B79002B40F0A980564B01221A71D9 +S2140137E05B782BB90022534B1A710120BDE8F88390 +S2140137F0514B98474F4B986000261D46DFF84C8189 +S2140138004E4CDFF850916DE02760002609E04C4BE6 +S2140138109847AB7833BBEB7823BB2B78002B5FD173 +S21401382027602168F1B14046C84707462068037DF6 +S21401383013F0070316D08642E6D0052BE7D0002EFC +S21401384042D0027D02F00702337D03F007039A425D +S214013850DFDD3B4B98470028DBD0AB7813B9EB781C +S214013860002B2FD0334CA068364DA847E36803449D +S214013870E3602069A847B0F5FA7F15D3E2686423B0 +S21401388003FB02F3304AA2FB0323C3F34713642B63 +S2140138909ABFC3F16403DBB20023264C23750023D1 +S2140138A0E360254B984720614FF0FF32214B9A6128 +S2140138B02648274B98470446002831D0214F1D4EF5 +S2140138C0224D1DE026680DE01D4B98470028A0D02C +S2140138D0AB78002BC6D1EB78002BC3D1266801E06C +S2140138E000262E700023EB70AB704046184B9847AD +S2140138F0206096E721462846164B9847044678B13D +S214013900237D13F0070FF5D06068B8472368984207 +S21401391034BF1B1A0023B2699A4288BFB361E9E734 +S214013920044B00221A719869BDE8F8830120BDE8AE +S214013930F88300BFB86B0020591001004C6D0020C1 +S2140139406D37010071100100D34D6210806C0020AC +S214013950A91F0100BD1F01002DE9F843037D03F0F7 +S21401396007038B4231D00D46884681461848194BCD +S2140139709847044618B3037D03F007039D420BDA0C +S214013980134F154E21463846B0470446B8B1237D3D +S21401399003F007039D42F5DBA14505D022464946C3 +S2140139A00B480E4B984754B101220D4B1A7099F8EB +S2140139B0143068F3020389F81430BDE8F883002256 +S2140139C049460348054B9847EEE7BDE8F88300BF34 +S2140139D0806C0020A91F0100BD1F01009521010078 +S2140139E0B86B00202DE9F04182B080460F4616469E +S2140139F01D46104B984704460F4B984760B13CB1A3 +S214013A00C4F808802760314620460C4B9847E5608D +S214013A10204602B0BDE8F081094B00934FF4837253 +S214013A2008490320084DA8472246002307480849AD +S214013A308847FEE711360100B1220000593901001E +S214013A40C4940200D49402005D220100D83F020013 +S214013A50B922000010B50446034B98472368DB43A0 +S214013A600344636010BD00BF59100100037813F0D2 +S214013A70800F01D10120704703F0E002C02A0AD06E +S214013A8003F0F002E02A08D003F0F803F02B0CBF95 +S214013A9004200020704702207047032070477F28CB +S214013AA016D982B0B0F5006F13D2C0F3841363F059 +S214013AB03F038DF8043000F03F0060F07F008DF882 +S214013AC0050000238DF806308DF80730019802B006 +S214013AD07047B0F5803F15D2C0F3033363F01F0380 +S214013AE08DF80430C0F3851363F07F038DF805303D +S214013AF000F03F0060F07F008DF8060000238DF88F +S214013B000730E3E7B0F5881FE0D2C0F3824363F0E5 +S214013B100F038DF80430C0F3053363F07F038DF88F +S214013B200530C0F3851363F07F038DF8063000F08F +S214013B303F0060F07F008DF80700C7E782B0019074 +S214013B4010F0800F17D09DF804309DF80520120460 +S214013B5002EB03629DF8063002EB03229DF8073064 +S214013B601A44042312F0FF0F08BF120A013B13F098 +S214013B70FF03F7D10192019802B0704770B483B089 +S214013B80002301930C4651B12268835C13F0800F29 +S214013B9007D118460132226003B070BC704701ACF1 +S214013BA0F2E703F0E001C0290BD003F0F001E029B1 +S214013BB019D003F0F801F02933D001322260002039 +S214013BC0EAE7511C2160405C00F0C001802901D069 +S214013BD00020E1E79B0103F4F86300F03F0018447E +S214013BE002322260D8E7511C2160415C01F0C00519 +S214013BF0802D01D00020CFE7951C2560405D00F0A8 +S214013C00C005802D01D00020C6E71B039BB200F043 +S214013C103F000344880100F47C60184403322260AC +S214013C20BAE7511C2160415C01F0C005802D01D02E +S214013C300020B1E7951C2560455D05F0C006802E85 +S214013C4001D00020A8E7D61C2660865D06F0C000DD +S214013C50802801D000209FE79B0403F4E0130903AA +S214013C6001F47C300343A80100F47C6006F03F06B3 +S214013C7030441844043222608EE70000F0B583B069 +S214013C8006460D460B68013B0B6004240E4F05E00B +S214013C9001382860631E13F0FF0408D028683044FA +S214013CA03B68984728B928680028F1D109E0002028 +S214013CB007E02B6802A941F8043D034B5B683046D8 +S214013CC0984703B0F0BD00BF540000202DE9F04135 +S214013CD00E4691B1074600242546DFF824803819A0 +S214013CE0D8F800309847002808BF01200444013561 +S214013CF0AE42F4D12046BDE8F0810C46FAE700BF9B +S214013D0054000020F0B583B0002301930D4669B13D +S214013D1006461C46064F01A930467B689847013483 +S214013D20019BAB42F7D3204603B0F0BD0C46FAE741 +S214013D305400002070B582B000230193037873B15C +S214013D4004460025074E01A92046736898470135A9 +S214013D50019BE35C002BF6D1284602B070BD00251E +S214013D60FAE700BF54000020232904D00378012B72 +S214013D7015D00020704703781BB90123037018463D +S214013D807047012B03D0022B05D00020704700237B +S214013D9003701846704700230370012070472029DE +S214013DA003D10223037001207047012070470000F1 +S214013DB02DE9F04F91B00591069207939DF8683072 +S214013DC004930890002800F0F080002900F0EF80AE +S214013DD013F0120F17D003780A2B00F0EA800D2B90 +S214013DE000F0ED80002B00F0EC800146002201324D +S214013DF011F8013F0A2B00F0DD800D2B00F0DA8070 +S214013E00002BF4D1D7E0049B03F002031A460B9370 +S214013E1047F618430799002A18BF19460791002349 +S214013E208DF83F300E93DFF8AC91DFF8ACA178E067 +S214013E30019A21460598644B98470544ADB200B2F5 +S214013E40002802DD069B1D44ADB22DB2B7F1FF3F3F +S214013E5038D0A4F10A02162A3BD85C4BD34013F0A3 +S214013E60010F39D101232C22944235D00133DBB224 +S214013E701AF80320002AF7D1B7F1FF3F08BFAB4677 +S214013E800C9E0D9B0C93039B0293019C18F8063025 +S214013E90002B6ED0D9F804300DA940469847019002 +S214013EA0029B01330393049B13F0010FC0D02146FC +S214013EB00DF13F00464B98470028B9D00C9E0D9B4C +S214013EC00C93E0E7069BEB1A099A9342C8BF374664 +S214013ED0BFE701232C22C7E7002E4AD1B7F1FF3FE7 +S214013EE04AD1AB46029B23B10D2C03D1019B0A2B71 +S214013EF000D10C9EB6B2079BA3EB0B0B0FFA8BF30C +S214013F000793002E3AD00E9F3E440E96089A1378D9 +S214013F100A2B3FD00D2B3DD0935D0A2B38D00D2BAD +S214013F2036D00E9B0A93089901EB0308CB5C002B55 +S214013F3030D0079B002B2DDDB8F1000F1ED047F6C1 +S214013F401843079A0B99002908BF134609930026C0 +S214013F500C960D96D9F804300CA9404698470446AD +S214013F600C9B0D93B3464FF0FF37029635460196EC +S214013F708CE7B7F1FF3FB5D00A9B3BB10E9B5BB90F +S214013F80144B5B680EA90898984703E0BEB2B2E7E7 +S214013F9001360E960E9B13B1BDF838000CE00D4BA2 +S214013FA05B680EA908989847F6E7002004E0002011 +S214013FB002E00022013290B211B0BDE8F08F00227B +S214013FC0F8E70022F7E700BF6100010009004000A2 +S214013FD0693D010054000020149502002DE9F04FC0 +S214013FE085B0002840D00546002A3FD00020039027 +S214013FF08DF80B0049B19B460192894600241C4F5F +S2140140009DF838A00AF0010A0CE0044628E0424672 +S21401401031460198174B984703B2002B02DD5C44EA +S214014020044424B2039B994515D97B6803A9284605 +S214014030984706467B68002103982844984780469F +S214014040BAF1000FE3D031460DF10B000A4B984749 +S2140140500028E7D1DBE7002C02DDA4EB0B0424B239 +S214014060204605B0BDE8F08F0024F9E70024F7E705 +S2140140705400002061000100693D01002DE9F04F68 +S21401408089B0BDF948400694BDF94C509DF8508062 +S21401409000240480448000295BD00F46002A58D0B3 +S2140140A0039311460292044608F0020347F61842AB +S2140140B0002B18BF15460495B1F9082007921FFA80 +S2140140C082FA3B78002B4CD03E460025DFF8B0B094 +S2140140D0069B9A441FFA8AF94746B0460097049B06 +S2140140E0039A02993046D8470544B4F902300AEBE0 +S2140140F00302B2F5004F24D2CDF814904B446380EE +S2140141000097039B029A01463046184EB047B4F911 +S21401411000309842B8BF1846208008EB050618F80C +S2140141200530002BDAD12DB116F8013C0A2B13D03D +S2140141300D2B11D0B4F902309BB1069A9B1A6380FD +S21401414007E00B4B00930B4B71220B4902200B4CE3 +S214014150A04709B0BDE8F08F6388059A1A446280CB +S214014160E8E7BDF81C306380F3E700BFDD3F0100E0 +S21401417044950200009502001C9502005D22010094 +S214014180B13D01002DE9F04781468A461F46DDF81C +S2140141902080144632B90020BDE8F087002814DAE2 +S2140141A02C467CB1650807FB05A631464846C04744 +S2140141B00028F3DD84F0010404F001042C1B06EB57 +S2140141C0070AEEE70020BDE8F0873046BDE8F08735 +S2140141D0014B1860704700BFD46B0020014B1B6871 +S2140141E0D8687047D46B002008B5024B1B681B6863 +S2140141F0984708BDD46B00202DE9F84304460139E1 +S214014200272934D8DFE811F028003900EC00A10096 +S21401421053006000A303D8004401B2024600CC0359 +S2140142207302FE03DC00E0008100E4009301E80075 +S21401423047026602E3036A017C013F02A0012302F2 +S2140142401F01750391030801B800E002C901F401DA +S2140142504703040212033A0300219B4B98470021AF +S21401426020469A4B98479A4B19689A4B9847FF21D4 +S2140142702046994B9847BDE8F8830021924B984712 +S21401428000212046914B9847914B19680431914B78 +S2140142909847ECE700218C4B9847002120468B4B32 +S2140142A098478B4B196804318A4B9847DFE7002102 +S2140142B0854B984700212046844B9847844B1968C4 +S2140142C01031844B9847D2E70021DFF8FC81C047C4 +S2140142D0002120467D4FB84781467D4E3168043126 +S2140142E07C4DA847316818314846A8470121204629 +S2140142F0C04701212046B847074631680431A84720 +S214014300316808313846A847B1E70021DFF8B8819F +S214014310C047002120466D4FB84781466C4E316834 +S2140143206C4DA847316868314846A84701212046A8 +S214014330C04701212046B847074631680431A847DF +S214014340316808313846A84791E70021DFF87881BF +S214014350C047002120465D4FB8475D4E3168243185 +S2140143605C4DA84701212046C04701212046B84799 +S21401437031682831A8477AE70021DFF84C81C04729 +S21401438000212046514FB847514E31682431514DD6 +S214014390A84701212046C04701212046B847316879 +S2140143A02831A84702212046C04702212046B847A7 +S2140143B031689C31A8475AE70021434B984756E796 +S2140143C00021414B984752E700213F4B98474EE763 +S2140143D000213D4B98474AE700213B4B984746E76B +S2140143E00021DFF8E480C04700212046374FB84758 +S2140143F08146374E31680431364DA8473168203141 +S2140144004846A84701212046C04701212046B84713 +S21401441031681C31A8472AE70021DFF8AC80C04785 +S21401442000212046294FB847294E31682031294DB1 +S214014430A84701212046C04701212046B8473168D8 +S2140144401C31A84713E70021DFF87C80C047002114 +S21401445020461E4FB84781461D4E316824311D4DFA +S214014460A847316894314846A84701212046C047ED +S21401447001212046B84731682831A8470221204645 +S214014480C04702212046B84731689031A847EEE67A +S2140144900021DFF83480C047002120460B4FB84783 +S2140144A00B4E31684C310B4DA84740212046C04782 +S2140144B040212046B847074631681031A847316881 +S2140144C050313846A847D2E6CD300000FD2F000017 +S2140144D0D86B0020D9650000993A000000219F4B57 +S2140144E09847002120469E4B984707469D4E3168C7 +S2140144F004319D4DA84731687C313846A847B6E659 +S2140145004021DFF85882C04740212046944FB847E3 +S214014510944E31681831944DA84741212046C04732 +S21401452041212046B84731681031A8479FE600214F +S2140145308A4B984700212046894B9847894B196832 +S2140145406C31894B984792E60021DFF81082C0470C +S21401455000212046824FB847824E31680431824D91 +S214014560A84740212046C04740212046B847316829 +S2140145701431A84701212046C04701212046B847EB +S21401458031688031A84702212046C04702212046D3 +S214014590B84731688431A84769E600216F4DA847BE +S2140145A000212046DFF8B881C0476E4F39686E4E4D +S2140145B0B04740212046A84741212046A84741212F +S2140145C02046C0473968A831B04743212046A8474E +S2140145D043212046C0473968AC31B04742212046C6 +S2140145E0A84742212046C0473968A431B0473EE675 +S2140145F000215A4DA84740212046A8474021204681 +S214014600574B9847574B1968B031574B98472EE68A +S2140146100021DFF84881C04700212046504FB847A7 +S214014620504E3168504DA84701212046C047012110 +S2140146302046B84731688031A84702212046C04746 +S21401464002212046B84731688431A8470FE6002189 +S214014650DFF80881C04700212046414FB847814610 +S214014660404E31680431404DA8473168883148468C +S214014670A84703212046C04703212046B847316892 +S2140146808C31A847F3E50021344B9847002120469A +S214014690334B9847EBE50021304FB84700212046C1 +S2140146A0DFF8BC80C04781462E4E316804312E4D5E +S2140146B0A847316874314846A84740212046B84784 +S2140146C001212046B84701212046C0473168803184 +S2140146D0A847CCE50021214B984700212046204BD6 +S2140146E09847204B196878311F4B9847BFE5002142 +S2140146F0DFF86880C04700212046194FB847814639 +S214014700184E31680431184DA847316808314846BB +S214014710A847316818314846A84740212046C04777 +S21401472040212046B847814631680431A8473168A0 +S21401473054314846A84741212046C04741212046DA +S214014740B84731688031A84742212046C0474221F8 +S2140147502046B84731685831A84788E5CD30000073 +S214014760FD2F0000D86B0020D96500000021DFF87E +S2140147709082C047002120469E4FB84781469E4EF4 +S214014780316804319D4DA847316840314846A847F5 +S214014790316818314846A84701212046C047012103 +S2140147A02046B847814631681831A84731684431F8 +S2140147B04846A84702212046C04702212046B8475E +S2140147C031684831A84752E50021DFF83482C047F6 +S2140147D000212046874FB847874E31680431874D00 +S2140147E0A84701212046C04701212046B847316825 +S2140147F0A031A84702212046C04702212046B847DB +S2140148003168A031A84703212046C047032120462E +S214014810B8473168A031A84704212046C047042183 +S2140148202046B8473168A031A84720E50021DFF8C7 +S214014830D081C047002120466E4FB8476E4E316882 +S2140148406E4DA84742212046C04742212046B84720 +S21401485031688031A84741212046C0474121204682 +S214014860B8473168B031A84740212046C0474021AB +S2140148702046B8473168A831A847F8E40021604BC4 +S2140148809847002120465B4B98475B4B1968A4313B +S2140148905A4B9847EBE40021DFF86481C0470021BA +S2140148A02046544FB8478146534E31680431534D24 +S2140148B0A847316818314846A84704212046C04712 +S2140148C004212046B8473168B831A847032120465D +S2140148D0C04703212046B8473168B431A8470121B3 +S2140148E02046C04701212046B84731688031A84795 +S2140148F0BDE40021DFF80881C047002120463D4F76 +S214014900B84781463C4E316804313C4DA847316872 +S21401491018314846A84703212046C04703212046B0 +S214014920B84731689831A847A1E40021344B98472D +S214014930002120462F4B984707462F4E31680431F9 +S2140149402E4DA847316808313846A8478FE4002124 +S214014950DFF8AC80C04700212046264FB847264ED8 +S21401496031680431254DA84703212046C04703215D +S2140149702046B84731682C31A84701212046C04758 +S21401498001212046B84731683031A8470221204628 +S214014990C04702212046B84731683431A84766E44B +S2140149A00021DFF85C80C04700212046114FB84740 +S2140149B0114E31683831114DA84701212046C047B4 +S2140149C001212046B84731683C31A8474FE4002111 +S2140149D00B4B984700212046064B98470746064E44 +S2140149E031680431054DA847316870313846A8470B +S2140149F03DE400BFFD2F0000D86B0020D965000004 +S214014A00CD3000000021DFF85480C0470021204649 +S214014A100F4FB84781460F4E316804310E4DA847F7 +S214014A2031685C314846A84701212046C04701212C +S214014A302046B84731686031A84702212046C04762 +S214014A4002212046B84731686431A8470FE400BF09 +S214014A50FD2F0000D86B0020D9650000CD30000086 +S214014A6008B5044B1B7913B9034B984708BD034B94 +S214014A70984708BDD86B0020D96400006567000020 +S214014A8070B5B34C2068B34B9847FF222C212068A1 +S214014A90B14B9847236A13F0020314BF1D21082166 +S214014AA0002B15BF3B2012201E230B234FF00002C4 +S214014AB063F3040260F34A1261F3CF2229212068CE +S214014AC0A64B98472046236A13F0020314BF07211A +S214014AD01C21002B15BF0F243A2408231D234FF059 +S214014AE0000263F3040264F34A1261F3CF2248F230 +S214014AF089010068994B98479548036A13F00203A9 +S214014B0014BF07211C21002B15BF0F243A240823AC +S214014B101D234FF0000263F3040264F34A1261F3AB +S214014B20CF22792100688D4B9847894C626948F2FB +S214014B308E0120688A4DA84762697E212068A847B1 +S214014B4020680430834B9847246804340020854B42 +S214014B5098470A30C000B0F5A07F80F24686012251 +S214014B6001212046804B9847794C2068FF222C2152 +S214014B700430794B984720680430236A13F0020FFB +S214014B8040F041860B2318210E244FF0000264F3F7 +S214014B90040261F34A1263F3CF2229216F4B98472F +S214014BA06B4B18681B6A13F0020314BF1A211021FD +S214014BB0002B15BF372422241C2312234FF000029A +S214014BC063F3040264F34A1261F3CF2239210430FD +S214014BD0624DA8475E4C2068A28940F23921043014 +S214014BE0A8472068E28940F239410430A847246882 +S214014BF0043400205B4B984728304000B0F5A07F76 +S214014C0080F20686012230212046574DA847504C97 +S214014C102068012233210430A8472068626948F2DF +S214014C208E0104304E4B984720680430236A13F0F7 +S214014C30020F40F0FB851F233F211C464FF0000268 +S214014C4064F3040261F34A1263F3CF2248F2890146 +S214014C50424B98473E4C206862697E210430404BA7 +S214014C60984720680430236A13F0020F40F0E3856A +S214014C701F233F211C464FF0000264F3040261F338 +S214014C804A1263F3CF227921344B9847304B186888 +S214014C9004301B6A13F0020F40F0D2851F233F2118 +S214014CA01C464FF0000264F3040261F34A1263F3F8 +S214014CB0CF2248F2A901294B9847254B18680430A2 +S214014CC01B6A13F0020F40F0C0851F233F211C46CC +S214014CD04FF0000264F3040261F34A1263F3CF2239 +S214014CE099211E4B98471A4C2068012290210430C6 +S214014CF01D4B98472568043500201C4B9847012812 +S214014D0040F2A8850020174B9847C0EB00104000E2 +S214014D105030B0F5A07F80F2B88501240020114BF9 +S214014D20984728304000B0F5A07F80F2BE8501226A +S214014D30224412B2122128460B4B9847044B1D6899 +S214014D4004350020094B9847012840F2BC850FE046 +S214014D50D86B0020614A0100696B0000256A0000DB +S214014D60996C00003D0F0100E1680000590F010039 +S214014D700020B14B9847C0EB001040005030B0F512 +S214014D80A07F80F2BB8501240020AB4B98472830DA +S214014D904000B0F5A07F80F2C1850122224412B204 +S214014DA013212846A54B9847A54B1D6804350020BE +S214014DB0A44B9847012840F2BF8500209E4B984798 +S214014DC0C0EB001040005030B0F5A07F80F2CF85D8 +S214014DD001240020984B984728304000B0F5A07F6A +S214014DE080F2D5850122224412B210212846934B27 +S214014DF09847934B1D6804350020924B984701282D +S214014E0040F2D38500208C4B9847C0EB0010400041 +S214014E105030B0F5A07F80F2F48501240020864B47 +S214014E20984728304000B0F5A07F80F2FA8501222D +S214014E30224412B211212846804B9847804B1C68A9 +S214014E40043400207F4B9847012840F2F885002063 +S214014E50794B9847C0EB001040005030B0F5A07F6A +S214014E6080F20886012214212046744DA847744C0E +S214014E7020689622B0210430A84720683922B7213D +S214014E800430A84720680C306F4B98472068011DF6 +S214014E900C306E4B98472068236A13F0020314BF48 +S214014EA01A210821002B15BF352412241B230923A0 +S214014EB04FF0000263F3040264F34A1261F3CF2257 +S214014EC029210C30624B98475D4B18680C301B6AE1 +S214014ED013F0020F40F0DE85082310211C464FF028 +S214014EE0000264F3040261F34A1263F3CF2239210C +S214014EF0574B9847524B18681B6A13F0020314BFAE +S214014F0006211421002B15BF10242A24092315235A +S214014F104FF0000263F3040264F34A1261F3CF22F6 +S214014F2048F289010C304A4B9847454B18681B6A72 +S214014F3013F0020314BF06211421002B15BF102401 +S214014F402A24092315234FF0000263F3040264F3B5 +S214014F504A1261F3CF2279210C303D4B9847384BEA +S214014F6018681B6A13F0020314BF06211421002BD4 +S214014F7015BF10242A24092315234FF0000263F3DA +S214014F80040264F34A1261F3CF2248F2A9010C30FD +S214014F902F4B98472A4B18681B6A13F0020314BF5D +S214014FA006211421002B15BF10242A2409231523BA +S214014FB04FF0000263F3040264F34A1261F3CF2256 +S214014FC099210C30224B98471D4C206808301E4B07 +S214014FD0984720680830236A13F0020F40F05F8577 +S214014FE0092313210A244FF0000264F3040261F33B +S214014FF04A1263F3CF2241F22901154DA847104CFE +S2140150002068A28940F229110830A8472668083688 +S2140150103321A0890F4B9847024641F229113046A9 +S214015020A84720680830236A13F0020F40F03C8539 +S2140150300B2318210E240FE03D0F0100E16800004C +S214015040D86B0020590F0100614A0100B9670000C2 +S214015050256A0000031C01004FF0000264F30402FD +S21401506061F34A1263F3CF2242F22901BB4EB047E5 +S214015070BB4C206800224FF498710830B94B984712 +S214015080256808353321A089B74B9847024641F277 +S21401509039212846B04720680830236A13F0020FEA +S2140150A040F007850B2319210D244FF0000264F30D +S2140150B0040261F34A1263F3CF2241F23901A74B8E +S2140150C09847A74B18681B6A13F0020314BF072101 +S2140150D00B21002B15BF0F24192408230D234FF095 +S2140150E0000263F3040264F34A1261F3CF2240F232 +S2140150F039110830994B9847994B18681B6A13F079 +S214015100020314BF07210B21002B15BF0F241924FE +S21401511008230D234FF0000263F3040264F34A12DE +S21401512061F3CF2241F2391108308C4B98478C4BF2 +S21401513018681B6A13F0020314BF1A210B21002BF7 +S21401514015BF372419241C230D234FF0000263F3E7 +S214015150040264F34A1261F3CF2242F239010830A5 +S2140151607E4B98477E4B186808301B6A13F0020F77 +S21401517040F0A4841F233F211C464FF0000264F335 +S214015180040261F34A1263F3CF2249F28901734D97 +S214015190A847734C20684FF0FF3248F28911083057 +S2140151A0A84720684FF0FF3249F289110830A84716 +S2140151B02068236A13F0020314BF2A212621002B3C +S2140151C014BF152313234FF0000263F3040261F3A7 +S2140151D04A1263F3CF224AF289010830A8472068B1 +S2140151E00830236A13F0020F40F06D841F233F211D +S2140151F01C464FF0000264F3040261F34A1263F3A3 +S214015200CF2249F2A901554DA847554C20684FF0C9 +S214015210FF3248F2A9110830A84720684FF0FF3244 +S21401522049F2A9110830A8472068236A13F002033F +S21401523014BF2A212621002B14BF152313234FF058 +S214015240000263F3040261F34A1263F3CF224AF2C7 +S214015250A9010830A84720682922B6210830414D07 +S214015260A84720681030414B9847206847F6FF72E0 +S21401527001211030A8472068FF222C2110303C4B1A +S214015280984720681030236A13F0020F40F02084FC +S2140152900B2318210E244FF0000264F3040261F37D +S2140152A04A1263F3CF2229212C4B98472C4B1868BE +S2140152B010301B6A13F0020F00F00F8428494B7B55 +S2140152C0DB0803EB830303EB830341F6DA352B4458 +S2140152D003EB032203EBC213C3F3C4538A89C2F35D +S2140152E0451202EB820202EB820202F562521A3288 +S2140152F002EB022402EBC412C2F3C554097B01F08F +S2140153001F0101EB810101EB8101294401EB01221F +S21401531001EBC211C1F3C4514FF0000261F3040264 +S21401532064F34A1263F3CF2241F229010B4DA847D9 +S2140153300B4C2068A28940F229111030A847266834 +S21401534010364C21A089084B9847024641F2291194 +S2140153503046A84720681030236A0BE0256A000013 +S214015360D86B0020E1680000031C0100614A0100BF +S214015370696B000013F0020F40F0D9830B2318214C +S2140153800E244FF0000264F3040261F34A1263F341 +S214015390CF2242F22901C64B9847C64B18681B6AB2 +S2140153A013F0020314BF33212221002B14BF19234B +S2140153B011234FF0000263F3040261F34A1263F310 +S2140153C0CF2242F229111030B94DA847B94C2068B6 +S2140153D0A28939211030A8472068A28941F23901F3 +S2140153E01030A8472068236A13F0020314BF222155 +S2140153F01021002B14BF112308234FF0000263F382 +S214015400040261F34A1263F3CF2242F239011030EB +S214015410A847246810340020A74B9847283040003E +S214015420B0F5A07F80F28783012230212046A34B6E +S2140154309847A04C206800224FF49E711030A04B74 +S214015440984720681030236A13F0020F40F08083DB +S2140154501F233F211C464FF0000264F3040261F350 +S2140154604A1263F3CF2248F28901914B9847914B38 +S214015470186810301B6A13F0020F40F06D831F236B +S2140154803F211C464FF0000264F3040261F34A1206 +S21401549063F3CF2249F28901854DA847854C2068E0 +S2140154A04FF0FF3248F289111030A84720684FF0BC +S2140154B0FF3249F289111030A847206811234FF0B6 +S2140154C0000263F30402222161F34A1263F3CF223E +S2140154D04AF289011030A84720681030236A13F079 +S2140154E0020F40F03D831F233F211C464FF0000270 +S2140154F064F3040261F34A1263F3CF2248F2A9016E +S2140155006B4B98476B4B186810301B6A13F0020FF1 +S21401551040F02A831F233F211C464FF0000264F30C +S214015520040261F34A1263F3CF2249F2A901604DE6 +S214015530A847604C20684FF0FF3249F2A9011030AD +S214015540A84720684FF0FF3249F2A9111030A8474A +S214015550206811234FF0000263F30402222161F355 +S2140155604A1263F3CF224AF2A9011030A8472068F5 +S2140155701030236A13F0020F40F0FA821F233F21F6 +S2140155801C464FF0000264F3040261F34A1263F30F +S214015590CF227921464B9847464B186810301B6A34 +S2140155A013F0020F40F0E8821F233F211C464FF004 +S2140155B0000264F3040261F34A1263F3CF2241F25C +S2140155C079013B4DA8473B4C20684FF0FF3240F233 +S2140155D079111030A84720684FF0FF3241F2791157 +S2140155E01030A847206811234FF0000263F304022D +S2140155F0222161F34A1263F3CF2242F2790110307D +S214015600A8472468103400202B4B984700EB8000F5 +S214015610C0005030B0F5A07F80F2B2820122122184 +S2140156202046264B9847234B1C6810340020224BFB +S214015630984700EB8000C0005030B0F5A07F80F2A4 +S214015640AE820122132120461C4B9847194B1C6839 +S21401565010340020184B9847C0EB00105030B0F5BE +S214015660A07F80F2AB82012210212046134B98477F +S214015670104B1C68103400200F4B9847C0EB0010ED +S2140156805030B0F5A07F80F2A7820122112120467A +S2140156900A4B9847074B1C6810340020064B984766 +S2140156A000EB800080005030B0F5A07F0AE000BF1C +S2140156B0256A0000D86B00203D0F0100E16800005C +S2140156C0696B000080F29682012214212046BD4DAE +S2140156D0A847BD4C2068032240211030A847206807 +S2140156E000224C211030B94EB04720687F224FF47B +S2140156F013711030B0472068A28949211030B44E8A +S214015700B0472068E28940F249411030B04720682E +S2140157109622B0211030A84720683C22B5211030CF +S214015720A84720682922B6211030A84720684C22B5 +S214015730B7211030A84720689622B1211030A8471B +S2140157402068002241F2B1011030A84720681430C9 +S214015750A04B98472468143400209F4B9847322862 +S21401576000F2668200209D4B984700EB8000800087 +S2140157705030B0F5A07F80F24C82012214212046E1 +S214015780904B9847904B18681830924B98470020DA +S214015790914B9847322800F2758200208F4B98472C +S2140157A000EB800040005030B0F5A07F80F25B82B5 +S2140157B00124854E3068224612211830814DA847B3 +S2140157C03068224613211830A84730682246102137 +S2140157D01830A8473068224611211830A84730688B +S2140157E0224614211830A84770BD00207B4B9847ED +S2140157F00A30C0007A4B83FB0023C217C2EBA31208 +S21401580012B2FFF7ADB91F233F211C46FFF7BDB902 +S2140158100020724B984728304000714B83FB0023D1 +S214015820C217C2EBA31212B2FFF7EDB907230F217D +S2140158300824FFF703BA07230F210824FFF71BBA32 +S21401584007230F210824FFF72CBA07230F2108246A +S214015850FFF73EBA0020614B9847C0EB001050306E +S214015860B0F5A07F02DA0124FFF758BA00205B4B9F +S2140158709847C0EB00105030594A82FB0032C417DB +S214015880C4EBA214A4B2FFF749BA0020534B9847C1 +S214015890C0EB001040005030514A82FB0032C41762 +S2140158A0C4EBA214A4B2FFF739BA00204B4B9847B9 +S2140158B0283040004A4B83FB0023C217C2EBA312D9 +S2140158C092B2FFF735BA0020444B9847C0EB001060 +S2140158D05030B0F5A07F02DA0124FFF755BA002058 +S2140158E03E4B9847C0EB001050303D4A82FB0032D9 +S2140158F0C417C4EBA214A4B2FFF746BA0020374B74 +S2140159009847C0EB001040005030354A82FB003209 +S214015910C417C4EBA214A4B2FFF736BA00202F4B6B +S2140159209847283040002E4B83FB0023C217C2EB5A +S214015930A31292B2FFF732BA0020284B9847C0EB69 +S21401594000105030B0F5A07F02DA0124FFF741BA0B +S2140159500020224B9847C0EB00105030204A82FBB3 +S2140159600032C417C4EBA214A4B2FFF732BA002067 +S2140159701A4B9847C0EB001040005030184A82FB83 +S2140159800032C417C4EBA214A4B2FFF722BA002057 +S214015990124B984728304000114B83FB0023C21757 +S2140159A0C2EBA31292B2FFF71EBA00200B4B984728 +S2140159B0C0EB00105030B0F5A07F13DA0124FFF7DA +S2140159C02DBA00BFE1680000D86B0020696B0000AB +S2140159D0256A0000614A0100590F01003D0F0100D0 +S2140159E0676666660020B54B9847C0EB00105030DE +S2140159F0B34A82FB0032C417C4EBA214A4B2FFF769 +S214015A000DBA0020AD4B9847C0EB00104000503057 +S214015A10AB4A82FB0032C417C4EBA214A4B2FFF750 +S214015A20FDB90020A54B984728304000A44B83FBC6 +S214015A300023C217C2EBA31292B2FFF7F9B90020F6 +S214015A409E4B9847C0EB00105030B0F5A07F02DAAD +S214015A500122FFF708BA0020984B9847C0EB0010C8 +S214015A605030974B83FB0023C217C2EBA31212B22E +S214015A70FFF7F9B90020914B9847C0EB00104000A2 +S214015A8050308F4B83FB0023C217C2EBA31212B216 +S214015A90FFF7E9B91B2339211D24FFF720BA1D237F +S214015AA03B211C46FFF79FBA1F233F211C46FFF7E9 +S214015AB0D3BA192333211C46FFF7F7BA07230F2160 +S214015AC00824FFF75ABB07230F210824FFF791BBD1 +S214015AD01F233F211C46FFF7DEBB7A4D6B7BDB089D +S214015AE04C2101FB03F303F2B17303EB032203EB37 +S214015AF0C213C3F3C453AC89C4F3451441F2C802BC +S214015B0001FB042404EB042204EBC214C4F3C554C1 +S214015B102A7B02F01F0201FB02F101F6CA1101EB1A +S214015B20012201EBC211C1F3C451FFF7F5BB1F23DC +S214015B303F211C4625E40020604B98472830400052 +S214015B405F4B83FB0023C217C2EBA31212B26CE4B5 +S214015B500623102109247EE406231021092491E45A +S214015B60062310210924C1E4062310210924D4E4C4 +S214015B7006231021092404E506231021092416E52D +S214015B8000204E4B984700EB8000C00050304C4B35 +S214015B9083FB0023C217C2EBA31212B23FE500201B +S214015BA0464B984700EB8000C0005030444B83FBC7 +S214015BB00023C217C2EBA31212B243E500203F4BEB +S214015BC09847C0EB001050303D4B83FB0023C217B3 +S214015BD0C2EBA31212B247E50020384B9847C0EB40 +S214015BE000105030364B83FB0023C217C2EBA312C2 +S214015BF012B24BE50020314B984700EB8000800045 +S214015C0050302F4B83FB0023C217C2EBA31212B2F4 +S214015C105BE50020294B984700EB80008000503060 +S214015C20274B83FB0023C217C2EBA31212B2A5E5D2 +S214015C300020224B984700EB8000C0005030B0F5A2 +S214015C40A07F01DA012299E500201C4B984700EB62 +S214015C508000C00050301A4B83FB0023C217C2EBF2 +S214015C60A31212B28AE50020144B984700EB80007D +S214015C7040005030124B83FB0023C417C4EBA3141F +S214015C8024B296E500200D4B984700EB800080007B +S214015C905030B0F5A07F01DA01248AE50020074BD9 +S214015CA0984700EB800080005030054B83FB0023B3 +S214015CB0C417C4EBA31424B27BE500BF3D0F01005B +S214015CC067666666D86B0020F8B5544C20682430A9 +S214015CD0534B9847206847F6FF7201212430514BF9 +S214015CE098472068FF222C2124304F4B9847206884 +S214015CF0236A13F0020314BF1A210821002B15BFD3 +S214015D00352412241B2309234FF0000263F30402F7 +S214015D1064F34A1261F3CF2229212430434B98477A +S214015D203E4B186824301B6A13F0020F6DD11F23F7 +S214015D303F211C464FF0000264F3040261F34A124D +S214015D4063F3CF227921394DA847344C2068A289C4 +S214015D5049212430A8472068E28940F2494124308D +S214015D60A847206800224C2124302F4FB8472068CE +S214015D707F224FF413712430B84720680322402154 +S214015D802430284EB04720689622B0212430B047F0 +S214015D9020684C22B7212430B04720682830204B99 +S214015DA098472068FF222C212830B847206847F6FC +S214015DB0FF7201212830B0472068A28929212830A6 +S214015DC0A847206811234FF0000263F30402222142 +S214015DD061F34A1263F3CF2242F229012830A84721 +S214015DE020682830236A13F0020F12D11F233F21A7 +S214015DF01C464FF0000264F3040261F34A1263F397 +S214015E00CF227921094B9847F8BD06231021092492 +S214015E1090E7082310210924EBE700BFD86B002088 +S214015E20614A0100E1680000696B0000256A000014 +S214015E3010B5A04C206890309F4B98472068FF22F1 +S214015E402C2190309D4B984720689030236A13F0A0 +S214015E50020F19BF23469A89994B1A882921994B13 +S214015E609847944B186890301B6A13F0020F40F065 +S214015E70A9801F233F211C464FF0000264F3040251 +S214015E8061F34A1263F3CF2279218E4B9847894CEE +S214015E90206847F6FF72012190308B4B98472468A3 +S214015EA090340020894B9847C0EBC0005030B0F5C5 +S214015EB0A07F80F28B80012212212046824B9847D8 +S214015EC07C4B1C6890340020804B9847C0EBC00088 +S214015ED05030B0F5A07F80F2878001221321204642 +S214015EE0794B9847734B1C6890340020774B984742 +S214015EF0C0EBC0005030B0F5A07F80F28380012255 +S214015F0010212046704B98476A4B1C68903400203D +S214015F106E4B9847C0EBC0005030B0F5A07F7FDADB +S214015F20012211212046684B9847624C2068943024 +S214015F30614B9847246894340020644B984700EBE3 +S214015F40800040005030B0F5A07F77DA012217219B +S214015F5020465D4B9847574B1C68943400205B4B9A +S214015F60984700EB800040005030B0F5A07F74DA0F +S214015F70012218212046544B98474E4B1C689434F6 +S214015F800020524B984700EB800040005030B0F59F +S214015F90A07F71DA0122152120464B4B9847454BCD +S214015FA01C6894340020494B984700EB8000400061 +S214015FB05030B0F5A07F6EDA012216212046424B02 +S214015FC0984710BD06231021092455E700203F4BB2 +S214015FD09847C0EBC00050303D4B83FB0023C217EF +S214015FE0C2EBA31212B267E70020384B9847C0EB0A +S214015FF0C0005030364B83FB0023C217C2EBA312FE +S21401600012B26BE70020314B9847C0EBC00050300E +S2140160102F4B83FB0023C217C2EBA31212B26FE70A +S21401602000202A4B9847C0EBC0005030284B83FB1A +S2140160300023C217C2EBA31212B272E70020234B51 +S214016040984700EB800040005030214B83FB002333 +S214016050C217C2EBA31212B279E700201B4B984776 +S21401606000EB800040005030194B83FB0023C21721 +S214016070C2EBA31212B27CE70020144B984700EB48 +S214016080800040005030124B83FB0023C217C2EB46 +S214016090A31212B27FE700200C4B984700EB80005A +S2140160A0400050300A4B83FB0023C217C2EBA312F9 +S2140160B012B282E7D86B0020614A0100696B0000CA +S2140160C084950200256A0000E16800003D0F01008A +S2140160D06766666610B5484C20689C30474B984703 +S2140160E02068FF222C219C30454B98472068454B61 +S2140160F01A8829219C30444B9847206847F6FF723E +S21401610001219C30414B984724689C340020404B29 +S214016110984714308000B0F5A07F39DA4FF0FF328F +S21401612010212046394B9847334B1C689C3400207D +S214016130374B984714308000B0F5A07F35DA4FF022 +S214016140FF3211212046314B98472B4B1C689C345B +S21401615000202F4B984714308000B0F5A07F31DA2D +S2140161604FF0FF3212212046284B9847224B1C68DD +S2140161709C340020264B984714308000B0F5A07F51 +S2140161802DDA4FF0FF3213212046204B984710BDE1 +S21401619000201F4B9847143080001E4B83FB0023C2 +S2140161A0C217A2EBA31212B2BAE70020184B984707 +S2140161B014308000174B83FB0023C217A2EBA312F7 +S2140161C012B2BEE70020124B984714308000114BE4 +S2140161D083FB0023C217A2EBA31212B2C2E7002070 +S2140161E00B4B9847143080000A4B83FB0023C217E1 +S2140161F0A2EBA31212B2C6E7D86B0020614A0100D7 +S214016200696B000084950200256A0000E1680000C1 +S2140162103D0F01006766666638B5884C20687030A9 +S214016220874B9847206847F6FF7201217030854BEF +S2140162309847246870340020834B984700EB800011 +S21401624080005030B0F5A07F80F28E8001221221AE +S21401625020467C4B9847794B1C68703400207A4B5B +S214016260984700EB800080005030B0F5A07F80F2A8 +S2140162708A80012213212046724B98476F4B1C6877 +S21401628070340020704B984700EB8000800050303F +S214016290B0F5A07F80F28680012210212046694B4E +S2140162A09847664B1C6870340020674B9847C0EBD4 +S2140162B0001040005030B0F5A07F80F282800122AD +S2140162C0142120465F4B98475C4B1C6870340020B5 +S2140162D05D4B984700EB800000EB80005030B0F536 +S2140162E0A07F7DDA0122C0212046564B9847534CA9 +S2140162F02068A28999217030544DA8472068A28948 +S214016300C9217030A847206811234FF0000263F3BB +S2140163100402222161F34A1263F3CF22CA217030AC +S214016320A847246870340020474B984700EB80004C +S21401633040005030B0F5A07F62DA0122902120465D +S214016340404B98473D4B1C68703400203E4B9847A5 +S214016350C0EBC0005030B0F5A07F60DA0122C32147 +S2140163602046384B984738BD0020374B984700EBFE +S214016370800080005030364B83FB0023C217C2EBEF +S214016380A31212B263E700202F4B984700EB800060 +S214016390800050302E4B83FB0023C217C2EBA312A2 +S2140163A012B267E70020284B984700EB8000800078 +S2140163B05030274B83FB0023C217C2EBA31212B245 +S2140163C06BE70020204B9847C0EB00104000503090 +S2140163D01F4B83FB0023C217C2EBA31212B26FE757 +S2140163E00020194B984700EB800000EB80005030EE +S2140163F0174B83FB0023C217C2EBA31212B272E73C +S2140164000020114B984700EB800040005030104BA5 +S21401641083FB0023C217C2EBA31212B28EE7002041 +S214016420094B9847C0EBC0005030094B83FB002353 +S214016430C217C2EBA31212B291E700BFD86B0020BD +S214016440614A0100E16800003D0F0100256A000075 +S21401645067666666F8B5C04C20685C30BF4B9847E7 +S214016460206811254FF0000265F30402222767F326 +S2140164704A1265F3CF2299215C30B94EB0472068A5 +S2140164804FF0000265F3040267F34A1265F3CF2268 +S214016490C9215C30B0472068A289CA215C30B04768 +S2140164A024685C340020AF4B984700EB80005030E6 +S2140164B0B0F5A07F80F26881012290212046AA4B88 +S2140164C09847A54B1C685C340020A64B98471430AF +S2140164D08000B0F5A07F80F265810122C3212046AD +S2140164E0A14B98479C4B1C685C3400209D4B9847F9 +S2140164F00A30C000B0F5A07F80F261810122C2217E +S2140165002046994B9847944B1C685C340020954B69 +S214016510984700EB800080005030B0F5A07F80F2F5 +S2140165205B810122122120468F4B98478A4B1C68BB +S2140165305C3400208B4B984700EB80008000503085 +S214016540B0F5A07F80F25781012213212046864BA9 +S2140165509847814B1C685C340020824B984700EBBF +S214016560800080005030B0F5A07F80F25381012278 +S214016570102120467C4B9847774B1C685C340020E2 +S214016580784B984700EB800080005030B0F5A07F34 +S21401659080F24F81012214212046734B98476E4B9F +S2140165A01C685C3400206F4B9847C0EB00105030DD +S2140165B0B0F5A07F80F24C810122C02120466A4DB1 +S2140165C0A847654C206847F6FF7201215C30A84752 +S2140165D020686030614B9847206811254FF0000213 +S2140165E065F30402222767F34A1265F3CF22992145 +S2140165F060305B4EB04720684FF0000265F304023E +S21401660067F34A1265F3CF22C9216030B04720688C +S214016610A289CA216030B047246860340020514BFB +S21401662098470A30C000B0F5A07F80F21F81012292 +S214016630902120464C4B9847474B1C6860340020FD +S214016640484B98470A30C000B0F5A07F80F21B8106 +S2140166500122C3212046444B98473F4B1C686034B7 +S2140166600020404B984700EB800000EB8000503044 +S214016670B0F5A07F80F214810122C02120463A4B5A +S2140166809847354C20686430344B9847206864300E +S214016690236A13F0020F40F013811F233F211C468B +S2140166A04FF0000264F3040261F34A1263F3CF224F +S2140166B099212B4B9847284B1C6864340020294BA2 +S2140166C098470A30C000B0F5A07F80F2FD80012215 +S2140166D090212046244B98471F4C2068FF222C21EE +S2140166E06430224B984720686430236A13F0020F07 +S2140166F040F0F7801F233F211C464FF0000264F351 +S214016700040261F34A1263F3CF222921144B9847FE +S214016710114C206847F6FF7201216430124B9847EE +S2140167202468643400200F4B9847C0EB00104000EB +S2140167305030B0F5A07F80F2D88001220321204698 +S214016740094B9847044B1C6864340020054B984756 +S21401675000EB80000CE000BFD86B0020614A01000E +S214016760256A00003D0F0100E1680000696B00002A +S21401677040005030B0F5A07F80F2C680012214217F +S2140167802046694B9847F8BD0020684B984700EBB8 +S21401679080005030664B83FB0023C217C2EBA31266 +S2140167A012B28AE60020614B984714308000604B95 +S2140167B083FB0023C217C2EBA31212B28EE600209F +S2140167C05A4B98470A30C000594B83FB0023C21727 +S2140167D0C2EBA31212B292E60020544B984700EB8C +S2140167E0800080005030524B83FB0023C217C2EB5F +S2140167F0A31212B296E600204C4B984700EB80009D +S214016800800050304A4B83FB0023C217C2EBA31211 +S21401681012B29AE60020454B984700EB80008000B4 +S2140168205030434B83FB0023C217C2EBA31212B2B4 +S2140168309EE600203D4B984700EB800080005030DC +S2140168403B4B83FB0023C217C2EBA31212B2A2E694 +S2140168500020364B9847C0EB00105030344B83FB7A +S2140168600023C217C2EBA31212B2A6E600202F4BDA +S21401687098470A30C0002E4B83FB0023C217C2EB99 +S214016880A31212B2D4E60020284B98470A30C00063 +S214016890274B83FB0023C217C2EBA31212B2D8E622 +S2140168A00020224B984700EB800000EB8000503020 +S2140168B01F4B83FB0023C217C2EBA31212B2DCE606 +S2140168C0082312210B24EBE60020184B98470A30C8 +S2140168D0C000174B83FB0023C217C2EBA31212B2F0 +S2140168E0F6E6082312210B2407E700200F4B9847F2 +S2140168F0C0EB0010400050300D4B83FB0023C21745 +S214016900C2EBA31212B219E70020084B984700EB1E +S214016910800040005030064B83FB0023C217C2EBB9 +S214016920A31212B22BE700BFE16800003D0F010081 +S2140169306766666638B53D4C20681C303C4B984708 +S2140169402068A28999211C303A4B984724681C3448 +S2140169500020394B984700EB800000EB8000503058 +S214016960B0F5A07F41DA012290212046334DA84799 +S2140169702E4C2068012294211C30A8472068203024 +S2140169802B4B98472068236A13F0020314BF1A2181 +S2140169900821002B15BF352412241B2309234FF091 +S2140169A0000263F3040264F34A1261F3CF229921D1 +S2140169B02030204B98471D4B1C68203400201E4B6E +S2140169C0984700EB800000EB80005030B0F5A07FC8 +S2140169D01BDA012290212046184CA047134B186859 +S2140169E0012294212030A04738BD0020124B984741 +S2140169F000EB800000EB80005030114B83FB00233E +S214016A00C217C2EBA31212B2AEE700200A4B984798 +S214016A1000EB800000EB80005030094B83FB002325 +S214016A20C217C2EBA31212B2D4E700BFD86B002084 +S214016A30614A0100256A00003D0F0100E16800007F +S214016A4067666666F8B5384C20686C30374B9847F1 +S214016A502068FF222C216C30354DA8472068A2897A +S214016A6029216C30334FB8472068022230216C3020 +S214016A70314EB04720687F223C216C30A8472568FC +S214016A806C354C21A0892D4B984702463921284662 +S214016A90B847206847F6FF7201216C30B04724687A +S214016AA06C340020264B9847C0EB00105030B0F5F0 +S214016AB0A07F1CDA0122502120461F4B98471A4C12 +S214016AC02068A28959216C301A4B984724686C3487 +S214016AD000201B4B984700EB80005030B0F5A07F9C +S214016AE013DA012253212046134B9847F8BD0020A4 +S214016AF0134B9847C0EB00105030124B83FB00231A +S214016B00C217C2EBA31212B2D5E700200C4B98476E +S214016B1000EB800050300B4B83FB0023C217C2EB07 +S214016B20A31212B2DEE700BFD86B0020614A010053 +S214016B30696B0000256A0000E1680000A71B0100E0 +S214016B403D0F0100676666662DE9F04180460F46F7 +S214016B5015461E46B24B1B79002B01F06983B04CDB +S214016B60A4F80C80E7812661069B6361079BA361FD +S214016B70089BE3612562AB4B9847AB4B9847AB4B01 +S214016B809847AB4B9847AB4B9847AB4B9847AB4BAB +S214016B909847AB4B984720684030AA4B98472068E7 +S214016BA04030236A13F0020F41F04B8314232B214C +S214016BB017244FF0000264F3040261F34A1263F3F0 +S214016BC0CF2248F28901A04B9847954C2068443063 +S214016BD09C4B98472468443400209C4B984750307F +S214016BE0B0F5A07F81F23283012290212046984B96 +S214016BF098478B4B1C6844340020944B984700EB15 +S214016C00800040005030B0F5A07F81F22C83012235 +S214016C10922120468E4B9847814B1C6844340020B5 +S214016C208A4B984700EB800040005030B0F5A07FBB +S214016C3081F22983012293212046854B9847784B80 +S214016C4018681B6A13F0020314BF1A211021002BC7 +S214016C5015BF372422241C2312234FF0000263F3AE +S214016C60040264F34A1261F3CF2299214430764B31 +S214016C7098476B4C20684830724B984724684834D4 +S214016C800020724B984700EB40005030B0F5A07FD3 +S214016C9081F209830122902120466D4B9847604B73 +S214016CA01C6848340020694B984714308000B0F5C2 +S214016CB0A07F81F20783012203212046644B984777 +S214016CC0574B1C6848340020604B984728304000DA +S214016CD0B0F5A07F81F204830122142120465C4B8B +S214016CE098474F4B1C6848340020584B9847503003 +S214016CF0B0F5A07F81F20283012201212046544B88 +S214016D009847474C206830304E4B984724683034BB +S214016D100020504B9847012841F2FD8200204B4B42 +S214016D209847C0EB001040005030B0F5A07F81F2CC +S214016D300D83012210212046454B9847384B1C688D +S214016D4030340020434B9847012841F20F8300203E +S214016D503E4B9847C0EB001040005030B0F5A07F86 +S214016D6081F23683012212212046394B98472C4B5B +S214016D701C6830340020374B9847012841F238838D +S214016D800020324B9847C0EB001040005030B0F561 +S214016D90A07F81F248830122132120462C4B98477D +S214016DA01F4B1C68303400202A4B9847012841F2BB +S214016DB04A830020254B9847C0EB00104000503016 +S214016DC0B0F5A07F81F25A83012211212046204B83 +S214016DD09847134B18681B6A13F0020314BF22214D +S214016DE03F21002B14BF11231F234FF0000263F332 +S214016DF0040261F34A1263F3CF2249F2890130306B +S214016E00114B9847064C206834300E4B9847206843 +S214016E103430236A13F0020F41F040831CE000BFB8 +S214016E20D86B0020814A0100C95C0100456A010057 +S214016E30315E0100D5600100196201005564010050 +S214016E4035690100614A0100256A00003D0F010015 +S214016E50E1680000590F01001D233B211C464FF03D +S214016E60000264F3040261F34A1263F3CF2248F28C +S214016E708901B84B9847B84B1C6834340020B74B8F +S214016E809847012841F20F830020B54B9847C0EB85 +S214016E90001040005030B0F5A07F81F21F83012220 +S214016EA012212046AF4B9847AB4B1C683434002068 +S214016EB0AA4B9847012841F221830020A84B984706 +S214016EC0C0EB001040005030B0F5A07F81F2318356 +S214016ED0012213212046A34B98479F4B1C6834344C +S214016EE000209E4B9847012841F2338300209C4B9B +S214016EF09847C0EB001040005030B0F5A07F81F2FB +S214016F004383012211212046964B9847924C2068D4 +S214016F102C30954B984724682C340020904B98478A +S214016F2014308000B0F5A07F81F23E83012201215A +S214016F3020468C4B9847884B18682C301B6A13F0F8 +S214016F40020F41F03F831F233F211C464FF00002F2 +S214016F5064F3040261F34A1263F3CF2248F2891103 +S214016F607C4B98477C4B18681B6A13F0020F14BFC2 +S214016F70332266224FF496712C307C4DA847764C0E +S214016F802068332241F22C012C30A8472068FF22CA +S214016F904FF40B712C30A8472068754B1A8848F2BD +S214016FA089212C306B4DA8472068A28940F22921FF +S214016FB02C30A8472068236A13F0020314BF192156 +S214016FC03F21002B14BF0C231F234FF0000263F355 +S214016FD0040261F34A1263F3CF2229212C30A84719 +S214016FE02068A28940F229112C30A8472068022285 +S214016FF04FF498712C305B4EB0472068042240F263 +S21401700031112C30B0472068A28940F239112C305A +S214017010A84724682C340020514B984700EB4000C9 +S2140170205030B0F5A07F81F2D28201221421204691 +S2140170304C4B9847484B1C682C340020474B9847CC +S214017040012841F2D3820020454B9847C0EB00103F +S21401705040005030B0F5A07F81F2E3820122122178 +S2140170602046404B98473C4B1C682C3400203B4B39 +S2140170709847012841F2E5820020394B9847C0EB3A +S214017080001040005030B0F5A07F81F2F582012259 +S21401709013212046334B98472F4B1C682C34002075 +S2140170A02E4B9847012841F2F78200202C4B984737 +S2140170B0C0EB001040005030B0F5A07F81F207838E +S2140170C0012211212046274B9847234C206838304F +S2140170D0254B9847246838340020214B9847C0EB4D +S2140170E0001040005030B0F5A07F81F205830122E8 +S2140170F0C02120461B4B9847174C2068FF222C21A5 +S21401710038301A4B98472068236A13F0020314BFDD +S2140171101D210821002B15BF3B2412241E230B23FF +S2140171204FF0000263F3040264F34A1261F3CF22C4 +S21401713029213830074B9847074B1C683834002004 +S214017140074B984700EB800080005030B0F5A07FD9 +S21401715010E000BF256A0000D86B0020590F01001F +S2140171603D0F0100E1680000614A0100696B000003 +S2140171708495020081F2D082012214212046B64E67 +S214017180B047B64C206847F6FF7201213830B04749 +S21401719020683C30B24B9847206847F6FF720121C1 +S2140171A03C30B0472068AF4F3A8829213C30AE4D7D +S2140171B0A8472068FF222C213C30AC4B984720681A +S2140171C0022230213C30B0472068BA8839213C3051 +S2140171D0A8472068A28940F239213C30A847206898 +S2140171E0E28940F239413C30A84724683C3400200B +S2140171F09F4B984700EB400300EB83005030B0F5FF +S214017200A07F81F29982012212212046924B984753 +S214017210924B1C683C340020954B984700EB40038A +S21401722000EB83005030B0F5A07F81F296820122F8 +S21401723013212046884B9847884B1C683C34002015 +S2140172408B4B984700EB400300EB83005030B0F5C2 +S214017250A07F81F293820122102120467E4B98471F +S2140172607E4B1C683C340020814B984700EB400362 +S21401727000EB83005030B0F5A07F81F290820122AE +S21401728011212046744B9847744C20684C30744B3F +S214017290984724684C340020754B9847143080007A +S2140172A0B0F5A07F81F28C820122012120466A4B33 +S2140172B098476A4B1C684C3400206D4B984700EB8E +S2140172C0800040005030B0F5A07F81F28782012215 +S2140172D014212046604B9847604C2068A2894921BA +S2140172E04C30614B9847206800224C2108445F4D82 +S2140172F0A84720687F224FF413714C30A8472468B2 +S2140173004C3400205A4B984700EB40005030B0F503 +S214017310A07F81F273820122402120464E4B98477E +S2140173204E4B1C684C340020514B984700EB8000B4 +S21401733040005030B0F5A07F81F26F8201224121DA +S2140173402046454DA847454C20689622B0214C3032 +S214017350A84720684C22B7211044A847206850301F +S2140173603F4B9847206800224FF4137150303F4B33 +S21401737098472468503400203D4B984714308000CD +S214017380B0F5A07F81F25982012201212046324BBD +S2140173909847324C2068374A4FF4B7715030364D13 +S2140173A0A84720682F4B1A8840F2691150302E4B9F +S2140173B098472068226948F28E115030A847246801 +S2140173C0503400202A4B984700EB40005030B0F56F +S2140173D0A07F81F240820122122120461E4B98474F +S2140173E01E4B1C6850340020214B984700EB400090 +S2140173F05030B0F5A07F81F23D8201221321204654 +S214017400154B9847154B1C6850340020184B98476D +S21401741000EB40005030B0F5A07F81F23A820122A5 +S214017420102120460C4B98470C4B1C68503400200A +S2140174300F4B984700EB40005030B0F5A07F81F22B +S2140174403782012211212046034DA847034C2068AC +S2140174506830034B984711E0E1680000D86B0020C4 +S214017460614A010084950200256A0000696B0000EC +S2140174703D0F01008C950200996C000020680022E7 +S21401748001216830A847246868340020B54B984726 +S21401749014308000B0F5A07F81F2198201223021DC +S2140174A02046B14DA847B14C2068022231216830F0 +S2140174B0A84720686830236A13F0020F41F015824E +S2140174C0002319461C464FF0000264F3040261F3E0 +S2140174D04A1263F3CF223921A54DA847A34C206851 +S2140174E0E28940F239416830A847246868340020B0 +S2140174F09C4B984700EB80005030B0F5A07F81F29E +S214017500F981012212212046974B9847974B1C6818 +S21401751068340020934B984700EB80005030B0F55C +S214017520A07F81F2F6810122132120468E4B9847D7 +S2140175308E4B1C68683400208A4B984700EB80000D +S2140175405030B0F5A07F81F2F38101221021204650 +S214017550854B9847854B1C6868340020814B9847BB +S21401756000EB80005030B0F5A07F81F2F08101225F +S214017570112120467C4B98477C4B1C6868340020C0 +S214017580784B984700EB40005030B0F5A07F81F271 +S214017590ED81012214212046734B9847734C2068D5 +S2140175A07C30744B984724687C3400206D4B984798 +S2140175B0322303FB00F05030B0F5A07F81F2E58165 +S2140175C0012250212046684B9847684B18681B6A71 +S2140175D013F002030CBF26213021002B0CBF13230E +S2140175E018234FF0000263F3040261F34A1263F3B7 +S2140175F0CF2259217C305E4B98475C4C2068803006 +S2140176005C4B98472068FF222C2180305A4B9847C4 +S2140176102068236A13F0020314BF19210E21002BE0 +S21401762015BF33241F241A2310234FF0000263F3DF +S214017630040264F34A1261F3CF22292180304C4BB5 +S21401764098474A4C206847F6FF7201218030464B26 +S2140176509847246880340020424B9847C0EBC0000E +S2140176605030B0F5A07F81F2A0810122032120468F +S2140176703D4B98473D4B1C6880340020394B98475A +S214017680C0EBC0005030B0F5A07F81F29D81012291 +S21401769013212046344B9847344B1C688034002015 +S2140176A0304B9847C0EBC0005030B0F5A07F81F258 +S2140176B09A810122112120462B4B98472B4C20689A +S2140176C084302C4DA8472068FF222C2184302A4B79 +S2140176D09847206811234FF0000263F30402222129 +S2140176E061F34A1263F3CF2229218430204B984755 +S2140176F02068B430A8472068236A13F0020314BF39 +S21401770006211421002B15BF10242A240923152332 +S2140177104FF0000263F3040264F34A1261F3CF22CE +S2140177203921B430124B9847104B1C68B4340020F2 +S2140177300C4B984728304000B0F5A07F81F262815B +S214017740012230212046084B9847084B1C68B43468 +S2140177500020044B98475030B0F5A07F81F2648139 +S21401776001220BE03D0F0100E1680000D86B00200C +S214017770256A0000614A0100696B0000122120465B +S214017780BA4DA847BA4C206804223121B430A84724 +S2140177902068B830B74B98472068B830236A13F092 +S2140177A0020F41F04E8114232B2117244FF00002C3 +S2140177B064F3040261F34A1263F3CF2248F28901AB +S2140177C0AD4DA847AA4C20689830AA4B9847206828 +S2140177D0FF222C219830A94B98472068A28929219D +S2140177E09830A8472068A64B1A8848F28901983035 +S2140177F0A847246898340020A24B9847642303FBCB +S21401780000F05030B0F5A07F81F2208101221021D6 +S2140178102046964B9847964B1C6898340020994B07 +S2140178209847642303FB00F05030B0F5A07F81F247 +S2140178301D810122112120468C4DA8478C4C2068C1 +S21401784074308C4EB0472068012202217430A8475C +S2140178502068002212217430A847206800221321D4 +S2140178607430A8472068002210217430A847206889 +S214017870002211217430A847206800221421743098 +S214017880A84720687830B0472068FF222C2178303E +S2140178907A4B984720687830236A13F0020F41F03C +S2140178A0F5800B2318210E244FF0000264F3040226 +S2140178B061F34A1263F3CF2229216F4B98476C4B31 +S2140178C0186878301B6A13F0020F41F0E480092330 +S2140178D013210A244FF0000264F3040261F34A12F2 +S2140178E063F3CF2241F22901634B9847604B186836 +S2140178F078301B6A13F0020F41F0D2800B23182157 +S2140179000E244FF0000264F3040261F34A1263F39B +S214017910CF2242F22901584DA847554C2068A2892A +S21401792040F229117830A847266878363321A08995 +S214017930554B9847024641F229113046A847206820 +S2140179407830236A13F0020F41F0AF801F233F21E6 +S2140179501C464FF0000264F3040261F34A1263F31B +S214017960CF2248F28901444DA847414C20684FF088 +S214017970FF3248F289117830A8472068236A13F04D +S214017980020314BF2A212621002B14BF152313231B +S2140179904FF0000263F3040261F34A1263F3CF224D +S2140179A04AF289017830A84720687830236A13F0B4 +S2140179B0020F41F07F801F233F211C464FF000023B +S2140179C064F3040261F34A1263F3CF2248F2A90179 +S2140179D0294DA847264C20684FF0FF3248F2A911DE +S2140179E07830A8472068236A13F0020314BF2A21BF +S2140179F02621002B14BF152313234FF0000263F337 +S214017A00040261F34A1263F3CF224AF2A9017830E5 +S214017A10A8472068012231217830144B9847206806 +S214017A20236A13F0020314BF1A211021002B15BF7D +S214017A30372422241C2312234FF0000263F304028E +S214017A4064F34A1261F3CF2239217830A847084CF3 +S214017A502068A28940F239217830A847206801229F +S214017A6030217830014B984710E000BFE1680000F4 +S214017A70D86B0020614A0100256A0000696B00008E +S214017A80849502003D0F0100031C01002468783430 +S214017A900020BA4B9847012841F211800020B84BCC +S214017AA09847C0EB001040005030B0F5A07F81F23F +S214017AB02180012212212046B24B9847B24B1C6806 +S214017AC078340020AD4B9847012841F223800020EE +S214017AD0AB4B9847C0EB001040005030B0F5A07F8C +S214017AE081F23380012213212046A64B9847A64BEC +S214017AF01C6878340020A14B9847012841F2358054 +S214017B0000209F4B9847C0EB001040005030B0F566 +S214017B10A07F81F24580012210212046994B98478B +S214017B20994B1C6878340020944B9847012841F201 +S214017B3047800020924B9847C0EB00104000503021 +S214017B40B0F5A07F81F257800122112120468D4B8E +S214017B5098478D4B1C6878340020884B984701283D +S214017B6041F259800020864B9847C0EB0010400038 +S214017B705030B0F5A07F81F26980012214212046A1 +S214017B80804B9847804B1C68783400207B4B984785 +S214017B90012841F26B800020794B9847C0EB00101A +S214017BA040005030B0F5A07F81F27C804FF0FF326C +S214017BB004212046734DA847734C2068002241F2E9 +S214017BC004017830A847206800224FF4827178308B +S214017BD0A8472068002242F204017830A8472068AE +S214017BE09622B0217830A84720682922B72178301C +S214017BF0A84720680422B6217830A8472068543068 +S214017C00624B98472468543400205D4B984700EB3C +S214017C10800080005030B0F5A07F81F253800122B1 +S214017C2048F281012046574DA847574C206801224B +S214017C3002215430A84720685830544B9847206892 +S214017C40FF222C215830524B98472068A2892921BF +S214017C505830504DA84720684FF0FF3248F289014E +S214017C605830A84720685830236A13F0020F41F0B5 +S214017C703980092313210A244FF0000264F3040219 +S214017C8061F34A1263F3CF2241F22901414B98472F +S214017C903D4B186858301B6A13F0020F41F02780DD +S214017CA01F233F211C464FF0000264F3040261F3D8 +S214017CB04A1263F3CF2249F28901364B9847324C78 +S214017CC020688830314B98472468883400202C4B34 +S214017CD0984700EB800000EB80005030B0F5A07FA5 +S214017CE081F20A80012248F281012046254B9847FD +S214017CF0254C20688C30254EB0472068FF222C2169 +S214017D008C30234DA8472068A28929218C30214F29 +S214017D10B8472068204B1A8848F289018C30B8474A +S214017D202068A830B0472068FF222C21A830A84739 +S214017D302068A830236A13F0020F40F0EE870B2369 +S214017D4018210E244FF0000264F3040261F34A1274 +S214017D5063F3CF2229210F4B98470B4B18681B6AF8 +S214017D6013F0020314BF1C210721002B15BF3A2470 +S214017D700F241E2308234FF000020FE0590F0100C5 +S214017D803D0F0100E1680000D86B0020614A010048 +S214017D90696B0000256A00008495020063F3040203 +S214017DA064F34A1261F3CF223921A830B64B9847C3 +S214017DB0B64B1C68A8340020B54B984700EB8000F2 +S214017DC05030B0F5A07F80F2AD87012230212046E9 +S214017DD0B04DA847AD4C206801223121A830A847F4 +S214017DE02068236A13F0020314BF07211C21002B0D +S214017DF015BF0F243A2408231D234FF0000263F316 +S214017E00040264F34A1261F3CF2248F28901A830D2 +S214017E109D4DA8479D4C2068626948F28E01A830A6 +S214017E209D4B984720684FF00002132363F304022A +S214017E30262363F34A12122363F3CF2248F2A901E1 +S214017E40A830A8472468A8340020914B9847C0EB77 +S214017E50C0005030B0F5A07F80F273870122102158 +S214017E6020468C4B9847894B1C68A8340020884BC9 +S214017E709847C0EBC0005030B0F5A07F80F2748701 +S214017E80012212212046834B9847804B1C68A83458 +S214017E9000207F4B9847C0EBC0005030B0F5A07F64 +S214017EA080F271870122132120467A4B9847774C3E +S214017EB02068A430794B984720687F2241F22C0134 +S214017EC0A430774B9847206811234FF0000263F3E4 +S214017ED00402222161F34A1263F3CF2241F22901FF +S214017EE0A430694B98472068236A13F0020314BF35 +S214017EF007211C21002B15BF0F243A2408231D231C +S214017F004FF0000263F3040264F34A1261F3CF22D6 +S214017F1048F28911A4305C4B98475C4B1C68A4342A +S214017F2000205B4B984700EB800080005030B0F596 +S214017F30A07F80F23787012210212046554B9847B3 +S214017F40524B1C68A4340020514B984700EB80002C +S214017F5080005030B0F5A07F80F2348701221121D5 +S214017F6020464C4B9847494C2068A28948F2892103 +S214017F70A430454DA8472068E28948F28941A430DB +S214017F80A8472068AC30454B98472068FF222C2133 +S214017F90AC30434B98472068A2892921AC30A847CA +S214017FA02068E28940F22941AC30A8472468AC3405 +S214017FB00020374B984700EB80005030B0F5A07F8B +S214017FC080F21087012203212046324DA8472F4C0C +S214017FD0206847F6FF720121AC30A8472068B03010 +S214017FE02E4B98472468B03400202E4B9847012822 +S214017FF040F207870020264B9847C0EB0010400050 +S2140180005030B0F5A07F80F217870122102120465C +S214018010204B98471D4B1C68B0340020214B9847D5 +S214018020012840F219870020194B9847C0EB001031 +S21401803040005030B0F5A07F80F22987012211213F +S2140180402046144B9847114B1C68B0340020154B42 +S2140180509847012840F22B8700200D4B9847C0EB2C +S214018060001040005030B0F5A07F80F23B8701221F +S21401807012212046074B9847044B1C68B034002059 +S214018080084B984701280FE0256A0000D86B0020AE +S2140180903D0F0100E1680000996C0000614A010093 +S2140180A0696B0000590F010040F22C870020BD4B80 +S2140180B09847C0EB001040005030B0F5A07F80F22A +S2140180C03C87012213212046B74B9847B74B1C68C3 +S2140180D0B0340020B64B9847012840F23E87002076 +S2140180E0B04B9847C0EB001040005030B0F5A07F71 +S2140180F080F24E87012214212046AB4B9847AB4CA9 +S2140181002068A030AB4B98472068236A13F002031F +S21401811014BF1A211021002B15BF372422241C233B +S21401812012234FF0000263F3040264F34A1261F370 +S214018130CF223921A030A04B98479C4C20680122C1 +S2140181403021A030984DA847206803223121A03065 +S214018150A8472468A0340020954B9847012840F290 +S214018160278700208F4B9847C0EB00104000503007 +S214018170B0F5A07F80F237870122122120468A4B74 +S21401818098478A4B1C68A0340020894B98470128E1 +S21401819040F239870020834B9847C0EB001040001F +S2140181A05030B0F5A07F80F2498701221321204686 +S2140181B07D4B98477D4B1C68A03400207C4B98472C +S2140181C0012840F24B870020764B9847C0EB001001 +S2140181D040005030B0F5A07F80F260870122102168 +S2140181E02046714B9847714B1C68A0340020704B99 +S2140181F09847012840F2628700206A4B9847C0EBF7 +S214018200001040005030B0F5A07F80F27287012246 +S21401821011212046644B9847644C684BA3600123A8 +S21401822023710020664B984704F10800BDE8F081F1 +S214018230BC20644B9847644B18605C4B1860FEF793 +S2140182408EBC15232A211C46FEF7B3BC0020554BD5 +S214018250984750305D4B83FB0023C217C2EBA31235 +S21401826012B2FEF7C2BC00204E4B984700EB8000CE +S21401827040005030554B83FB0023C217C2EBA312BC +S21401828012B2FEF7C5BC0020464B984700EB8000B3 +S214018290400050304D4B83FB0023C217C2EBA312A4 +S2140182A012B2FEF7C8BC00203E4B984700EB4000D8 +S2140182B05030464B83FB0023C217C2EBA31212B207 +S2140182C0FEF7E9BC0020374B9847143080003F4B3F +S2140182D083FB0023C217C2EBA31212B2FEF7ECBC5B +S2140182E00020304B984728304000384B83FB002352 +S2140182F0C217C2EBA31212B2FEF7EFBC0020294B45 +S21401830098475030314B83FB0023C217C2EBA312B0 +S21401831012B2FEF7F2BC0020224B9847C0EB0010C9 +S2140183205030B0F5A07F02DA0122FEF703BD00202F +S2140183301C4B9847C0EB00105030244B83FB0023A6 +S214018340C217C2EBA31212B2FEF7F4BC0020154B03 +S2140183509847C0EB0010400050301C4B83FB0023B5 +S214018360C217C2EBA31212B2FEF7E4BC00200D4BFB +S2140183709847C0EB00105030B0F5A07F02DA01221A +S214018380FEF7F1BC0020074B9847C0EB00105030B9 +S2140183900E4B83FB0023C217C2EBA31212B2FEF7E9 +S2140183A0E2BC00BF3D0F0100E1680000D86B002071 +S2140183B0590F0100614A0100256A0000F9410100D8 +S2140183C0553C0000DD230100486D002067666666A7 +S2140183D00020C74B9847C0EB001040005030C54BFB +S2140183E083FB0023C217C2EBA31212B2FEF7BBBC7B +S2140183F00020BF4B9847C0EB00105030B0F5A07F6F +S21401840002DA0122FEF7C8BC0020B94B9847C0EB40 +S21401841000105030B74B83FB0023C217C2EBA312E8 +S21401842012B2FEF7B9BC0020B14B9847C0EB001062 +S21401843040005030AF4B83FB0023C217C2EBA312A0 +S21401844012B2FEF7A9BC0020A94B9847C0EB00105A +S2140184505030B0F5A07F02DA0122FEF7B6BC00204C +S214018460A34B9847C0EB00105030A24B83FB002370 +S214018470C217C2EBA31212B2FEF7A7BC00209C4B98 +S2140184809847C0EB0010400050309A4B83FB002306 +S214018490C217C2EBA31212B2FEF797BC0623102135 +S2140184A00924FEF7DCBC0020914B9847C0EB001076 +S2140184B05030B0F5A07F02DA0122FEF7F1BC0020B1 +S2140184C08B4B9847C0EB001050308A4B83FB002340 +S2140184D0C217C2EBA31212B2FEF7E2BC0020844B15 +S2140184E09847C0EB001040005030824B83FB0023BE +S2140184F0C217C2EBA31212B2FEF7D2BC00207C4B0D +S2140185009847C0EB00105030B0F5A07F02DA012288 +S214018510FEF7DFBC0020764B9847C0EB00105030CA +S214018520744B83FB0023C217C2EBA31212B2FEF7F1 +S214018530D0BC00206E4B9847C0EB00104000503076 +S2140185406C4B83FB0023C217C2EBA31212B2FEF7D9 +S214018550C0BC0020664B9847C0EB00105030B0F509 +S214018560A07F02DA0122FEF7CDBC0020604B9847BF +S214018570C0EB001050305F4B83FB0023C217C2EBE9 +S214018580A31212B2FEF7BEBC0020594B9847C0EBAF +S214018590001040005030574B83FB0023C217C2EB3C +S2140185A0A31212B2FEF7AEBC0020514B984714300E +S2140185B08000504B83FB0023C217C2EBA31212B2FA +S2140185C0FEF7B5BC062310210924FEF7BFBC002028 +S2140185D0474B984700EB40005030464B83FB002347 +S2140185E0C217C2EBA31212B2FEF720BD0020404B09 +S2140185F09847C0EB00105030B0F5A07F02DA012298 +S214018600FEF72DBD00203A4B9847C0EB00105030C6 +S214018610384B83FB0023C217C2EBA31212B2FEF73C +S2140186201EBD0020324B9847C0EB00104000503072 +S214018630304B83FB0023C217C2EBA31212B2FEF724 +S2140186400EBD00202A4B9847C0EB00105030B0F505 +S214018650A07F02DA0122FEF71BBD0020244B9847BB +S214018660C0EB00105030234B83FB0023C217C2EB34 +S214018670A31212B2FEF70CBD00201D4B9847C0EBAB +S2140186800010400050301B4B83FB0023C217C2EB87 +S214018690A31212B2FEF7FCBC0020154B9847C0EBA4 +S2140186A000105030B0F5A07F02DA0122FEF709BDB6 +S2140186B000200F4B9847C0EB001050300D4B83FB4A +S2140186C00023C217C2EBA31212B2FEF7FABC0020B7 +S2140186D0074B9847C0EB001040005030054B83FB1A +S2140186E00023C217C2EBA31212B2FEF7EABC00BF08 +S2140186F03D0F0100676666660020C94B9847C0EBD0 +S214018700001040005030C74B83FB0023C217C2EB5A +S214018710A31212B2FEF7ECBC0020C14B984700EB47 +S214018720800080005030BF4B83FB0023C217C2EB92 +S214018730A31212B2FEF721BD0020B94B984700EBF9 +S214018740400200EB82005030B64B83FB0023C21779 +S214018750C2EBA31212B2FEF757BD0020B04B9847EA +S21401876000EB400200EB82005030AE4B83FB00234F +S214018770C217C2EBA31212B2FEF75ABD0020A84BD5 +S214018780984700EB400200EB82005030A54B83FB7C +S2140187900023C217C2EBA31212B2FEF75DBD002082 +S2140187A09F4B984700EB400200EB820050309D4BF8 +S2140187B083FB0023C217C2EBA31212B2FEF760BD01 +S2140187C00020974B984714308000964B83FB00237C +S2140187D0C217C2EBA31212B2FEF767BD0020904B80 +S2140187E0984700EB8000400050308E4B83FB0023FF +S2140187F0C217C2EBA31212B2FEF76ABD0020884B65 +S214018800984700EB40005030864B83FB0023C2178D +S214018810C2EBA31212B2FEF77FBD0020804B984731 +S21401882000EB8000400050307E4B83FB0023C217D4 +S214018830C2EBA31212B2FEF782BD0020784B984716 +S21401884014308000774B83FB0023C217C2EBA312C0 +S21401885012B2FEF79ABD0020714B984700EB40001C +S2140188605030704B83FB0023C217C2EBA31212B227 +S214018870FEF7B2BD00206A4B984700EB400050302F +S214018880684B83FB0023C217C2EBA31212B2FEF79A +S214018890B5BD0020624B984700EB40005030614B5D +S2140188A083FB0023C217C2EBA31212B2FEF7B8BDB8 +S2140188B000205B4B984700EB40005030594B83FB40 +S2140188C00023C217C2EBA31212B2FEF7BBBD0020F3 +S2140188D0534B984714308000524B83FB0023C2173A +S2140188E0C2EBA31212B2FEF7DABD07230F2108244A +S2140188F0FEF7E9BD00204A4B984700EB8000503058 +S214018900484B83FB0023C217C2EBA31212B2FEF739 +S214018910F9BD0020424B984700EB80005030414B98 +S21401892083FB0023C217C2EBA31212B2FEF7FCBDF3 +S21401893000203B4B984700EB80005030394B83FBBF +S2140189400023C217C2EBA31212B2FEF7FFBD00202E +S214018950334B984700EB80005030324B83FB0023AB +S214018960C217C2EBA31212B2FEF702BE00202C4BB6 +S214018970984700EB400050302A4B83FB0023C21778 +S214018980C2EBA31212B2FEF705BE0020244B984795 +S214018990322202FB00F05030224B83FB0023C21729 +S2140189A0C2EBA31212B2FEF70CBE00201C4B984776 +S2140189B0C0EBC00050301B4B83FB0023C217C2EB39 +S2140189C0A31212B2FEF752BE0020154B9847C0EB19 +S2140189D0C0005030134B83FB0023C217C2EBA31217 +S2140189E012B2FEF755BE00200D4B9847C0EBC000F3 +S2140189F050300C4B83FB0023C217C2EBA31212B2FA +S214018A00FEF758BE0020064B984728304000054B1D +S214018A1083FB0023C217C2EBA31212B2FEF791BE6C +S214018A203D0F0100676666660020CD4B98475030C3 +S214018A30CC4B83FB0023C217C2EBA31212B2FEF784 +S214018A409DBE15232A211C46FEF7B0BE0020C44B4E +S214018A509847642202FB00F05030C24B83FB002390 +S214018A60C217C2EBA31212B2FEF7D1BE0020BC4B56 +S214018A709847642202FB00F05030BA4B83FB002378 +S214018A80C217C2EBA31212B2FEF7D4BE1F233F21B8 +S214018A901C46FEF709BF1D233B211C46FEF71ABFE5 +S214018AA01F233F211C46FEF72CBF07230F21082456 +S214018AB0FEF74FBF07230F210824FEF77FBF0020D4 +S214018AC0A74B9847C0EB00105030B0F5A07F02DAF4 +S214018AD00122FEF7EFBF0020A14B9847C0EB001024 +S214018AE05030A04B83FB0023C217C2EBA31212B275 +S214018AF0FEF7E0BF00209A4B9847C0EB00104000FD +S214018B005030984B83FB0023C217C2EBA31212B25C +S214018B10FEF7D0BF0020924B9847C0EB00105030B4 +S214018B20B0F5A07F02DA0122FEF7DDBF00208C4BF4 +S214018B309847C0EB001050308A4B83FB0023C217C6 +S214018B40C2EBA31212B2FEF7CEBF0020844B9847A9 +S214018B50C0EB001040005030824B83FB0023C2174D +S214018B60C2EBA31212B2FEF7BEBF00207C4B9847A1 +S214018B70C0EB00105030B0F5A07F02DA0122FEF7FC +S214018B80CBBF0020764B9847C0EB00105030754B9A +S214018B9083FB0023C217C2EBA31212B2FEF7BCBFBF +S214018BA000206F4B9847C0EB0010400050306D4BD3 +S214018BB083FB0023C217C2EBA31212B2FEF7ACBFAF +S214018BC00020674B9847C0EB00105030B0F5A07FEF +S214018BD002DA0122FEF7B9BF0020614B9847C0EBCD +S214018BE0001050305F4B83FB0023C217C2EBA31269 +S214018BF012B2FEF7AABF0020594B9847C0EB0010EF +S214018C0040005030574B83FB0023C217C2EBA31220 +S214018C1012B2FEF79ABF0020514B9847C0EB0010E6 +S214018C205030B0F5A07F02DA0122FEF7A7BF002080 +S214018C304B4B9847C0EB001050304A4B83FB002348 +S214018C40C217C2EBA31212B2FEF798BF0020444B24 +S214018C509847C0EB001040005030424B83FB002386 +S214018C60C217C2EBA31212B2FEF788BF00203C4B1C +S214018C709847C0EB00105030B0F5A07F03DA4FF0F4 +S214018C80FF32FEF795BF0020354B9847C0EB00102A +S214018C905030344B83FB0023C217A2EBA31212B24F +S214018CA0FEF786BF00202E4B9847C0EB0010400011 +S214018CB050302C4B83FB0023C217A2EBA31212B237 +S214018CC0FEF776BF0020264B984700EB8000800019 +S214018CD05030244B83FB0023C217C2EBA31212B2FF +S214018CE0FEF79EBF1D233B211C46FEF7C5BF07238B +S214018CF00F210824FEF7D7BF0020194B984700EB39 +S214018D00800000EB80005030164B83FB0023C21717 +S214018D10C2EBA31212B2FEF7E6BF1F233F211C4689 +S214018D20FFF710B800200E4B984700EB800050303C +S214018D300C4B83FB0023C217C2EBA31212B2FFF740 +S214018D4045B80020064B9847C0EBC0005030054B95 +S214018D5083FB0023C217C2EBA31212B2FFF77FB840 +S214018D603D0F0100676666660020CA4B9847C0EB58 +S214018D70C0005030C84B83FB0023C217C2EBA312BE +S214018D8012B2FFF77EB80020C24B9847C0EBC00076 +S214018D905030C14B83FB0023C217C2EBA31212B2A1 +S214018DA0FFF781B80020BB4B984700EB800080009E +S214018DB05030B94B83FB0023C217C2EBA31212B289 +S214018DC0FFF7BAB80020B34B984700EB800080004D +S214018DD05030B14B83FB0023C217C2EBA31212B271 +S214018DE0FFF7BDB80020AB4B984700EB8000503032 +S214018DF0A94B83FB0023C217C2EBA31212B2FFF7E3 +S214018E00E2B80020A34B9847C0EB00105030B0F5F5 +S214018E10A07F02DA0122FFF7F9B800209D4B9847A0 +S214018E20C0EB001050309C4B83FB0023C217C2EBF3 +S214018E30A31212B2FFF7EAB80020964B9847C0EB90 +S214018E40001040005030944B83FB0023C217C2EB46 +S214018E50A31212B2FFF7DAB800208E4B9847C0EB88 +S214018E6000105030B0F5A07F02DA0122FFF7E7B814 +S214018E700020884B9847C0EB00105030864B83FB90 +S214018E800023C217C2EBA31212B2FFF7D8B8002014 +S214018E90804B9847C0EB0010400050307E4B83FB60 +S214018EA00023C217C2EBA31212B2FFF7C8B8002004 +S214018EB0784B9847C0EB00105030B0F5A07F02DA2F +S214018EC00122FFF7D5B80020724B9847C0EB00107F +S214018ED05030714B83FB0023C217C2EBA31212B2B0 +S214018EE0FFF7C6B800206B4B9847C0EB0010400058 +S214018EF05030694B83FB0023C217C2EBA31212B298 +S214018F00FFF7B6B80020634B9847C0EB001050300F +S214018F10B0F5A07F02DA0122FFF7D4B800205D4B3E +S214018F209847C0EB001050305B4B83FB0023C21701 +S214018F30C2EBA31212B2FFF7C5B80020554B9847F3 +S214018F40C0EB001040005030534B83FB0023C21788 +S214018F50C2EBA31212B2FFF7B5B800204D4B9847EB +S214018F60C0EB00105030B0F5A07F02DA0122FFF707 +S214018F70C2B80020474B9847C0EB00105030464B14 +S214018F8083FB0023C217C2EBA31212B2FFF7B3B8DA +S214018F900020404B9847C0EB0010400050303E4B3D +S214018FA083FB0023C217C2EBA31212B2FFF7A3B8CA +S214018FB00020384B9847C0EB00105030B0F5A07F2A +S214018FC002DA0122FFF7D9B80020324B9847C0EBEE +S214018FD000105030304B83FB0023C217C2EBA312A4 +S214018FE012B2FFF7CAB800202A4B9847C0EB001010 +S214018FF040005030284B83FB0023C217C2EBA3125C +S21401900012B2FFF7BAB80020224B9847C0EB001007 +S2140190105030B0F5A07F02DA0122FFF7C7B8002072 +S2140190201C4B9847C0EB001050301B4B83FB0023B2 +S214019030C217C2EBA31212B2FFF7B8B80020154B45 +S2140190409847C0EB001040005030134B83FB0023C1 +S214019050C217C2EBA31212B2FFF7A8B800200D4B3D +S2140190609847C0EB00105030B0F5A07F02DA01221D +S214019070FFF7B5B80020074B9847C0EB00105030FB +S214019080054B83FB0023C217C2EBA31212B2FFF7F4 +S214019090A6B800BF3D0F01006766666600201D4B3F +S2140190A09847C0EB0010400050301B4B83FB002359 +S2140190B0C217C2EBA31212B2FFF791B80020154BEC S2140190C09847C0EB00105030B0F5A07F02DA0122BD -S2140190D0FEF7DDBF00208C4B9847C0EB00105030E8 -S2140190E08A4B83FB0023C217C2EBA31212B2FEF710 -S2140190F0CEBF0020844B9847C0EB00104000503094 -S214019100824B83FB0023C217C2EBA31212B2FEF7F7 -S214019110BEBF00207C4B9847C0EB00105030B0F526 -S214019120A07F02DA0122FEF7CBBF0020764B9847DC -S214019130C0EB00105030754B83FB0023C217C2EB07 -S214019140A31212B2FEF7BCBF00206F4B9847C0EBCC -S2140191500010400050306D4B83FB0023C217C2EB5A -S214019160A31212B2FEF7ACBF0020674B9847C0EBC4 -S21401917000105030B0F5A07F02DA0122FEF7B9BF29 -S2140191800020614B9847C0EB001050305F4B83FBCB -S2140191900023C217C2EBA31212B2FEF7AABF002029 -S2140191A0594B9847C0EB001040005030574B83FB9B -S2140191B00023C217C2EBA31212B2FEF79ABF002019 -S2140191C0514B9847C0EB00105030B0F5A07F02DA43 -S2140191D00122FEF7A7BF00204B4B9847C0EB0010BB -S2140191E050304A4B83FB0023C217C2EBA31212B2C4 -S2140191F0FEF798BF0020444B9847C0EB0010400094 -S2140192005030424B83FB0023C217C2EBA31212B2AB -S214019210FEF788BF00203C4B9847C0EB001050304B -S214019220B0F5A07F03DA4FF0FF32FEF795BF0020BE -S214019230354B9847C0EB00105030344B83FB00236E -S214019240C217A2EBA31212B2FEF786BF00202E4B66 -S2140192509847C0EB0010400050302C4B83FB002396 -S214019260C217A2EBA31212B2FEF776BF0020264B5E -S214019270984700EB800080005030244B83FB00238E -S214019280C217C2EBA31212B2FEF79EBF1D233B21EB -S2140192901C46FEF7C5BF07230F210824FEF7D7BFDC -S2140192A00020194B984700EB800000EB80005030FF -S2140192B0164B83FB0023C217C2EBA31212B2FEF7B2 -S2140192C0E6BF1F233F211C46FFF710B800200E4BB8 -S2140192D0984700EB800050300C4B83FB0023C217ED -S2140192E0C2EBA31212B2FFF745B80020064B98470F -S2140192F0C0EBC0005030054B83FB0023C217C2EB06 -S214019300A31212B2FFF77FB8E5140100676666661E -S2140193100020CA4B9847C0EBC0005030C84B83FBB7 -S2140193200023C217C2EBA31212B2FFF77EB80020C9 -S214019330C24B9847C0EBC0005030C14B83FB0023A3 -S214019340C217C2EBA31212B2FFF781B80020BB4BC3 -S214019350984700EB800080005030B94B83FB002318 -S214019360C217C2EBA31212B2FFF7BAB80020B34B72 -S214019370984700EB800080005030B14B83FB002300 -S214019380C217C2EBA31212B2FFF7BDB80020AB4B57 -S214019390984700EB80005030A94B83FB0023C2178F -S2140193A0C2EBA31212B2FFF7E2B80020A34B984714 -S2140193B0C0EB00105030B0F5A07F02DA0122FFF7B3 -S2140193C0F9B800209D4B9847C0EB001050309C4BDD -S2140193D083FB0023C217C2EBA31212B2FFF7EAB84F -S2140193E00020964B9847C0EB001040005030944B3D -S2140193F083FB0023C217C2EBA31212B2FFF7DAB83F -S21401940000208E4B9847C0EB00105030B0F5A07F7F -S21401941002DA0122FFF7E7B80020884B9847C0EB35 -S21401942000105030864B83FB0023C217C2EBA312F9 -S21401943012B2FFF7D8B80020804B9847C0EB001057 -S214019440400050307E4B83FB0023C217C2EBA312B1 -S21401945012B2FFF7C8B80020784B9847C0EB00104F -S2140194605030B0F5A07F02DA0122FFF7D5B8002010 -S214019470724B9847C0EB00105030714B83FB0023B2 -S214019480C217C2EBA31212B2FFF7C6B800206B4B8D -S2140194909847C0EB001040005030694B83FB002317 -S2140194A0C217C2EBA31212B2FFF7B6B80020634B85 -S2140194B09847C0EB00105030B0F5A07F02DA0122C9 -S2140194C0FFF7D4B800205D4B9847C0EB0010503032 -S2140194D05B4B83FB0023C217C2EBA31212B2FFF74A -S2140194E0C5B80020554B9847C0EB001040005030DF -S2140194F0534B83FB0023C217C2EBA31212B2FFF732 -S214019500B5B800204D4B9847C0EB00105030B0F571 -S214019510A07F02DA0122FFF7C2B80020474B984726 -S214019520C0EB00105030464B83FB0023C217C2EB42 -S214019530A31212B2FFF7B3B80020404B9847C0EB16 -S2140195400010400050303E4B83FB0023C217C2EB95 -S214019550A31212B2FFF7A3B80020384B9847C0EB0E -S21401956000105030B0F5A07F02DA0122FFF7D9B81B -S2140195700020324B9847C0EB00105030304B83FB35 -S2140195800023C217C2EBA31212B2FFF7CAB800201B -S2140195902A4B9847C0EB001040005030284B83FB05 -S2140195A00023C217C2EBA31212B2FFF7BAB800200B -S2140195B0224B9847C0EB00105030B0F5A07F02DA7E -S2140195C00122FFF7C7B800201C4B9847C0EB0010DC -S2140195D050301B4B83FB0023C217C2EBA31212B2FF -S2140195E0FFF7B8B80020154B9847C0EB00104000B5 -S2140195F05030134B83FB0023C217C2EBA31212B2E7 -S214019600FFF7A8B800200D4B9847C0EB001050306C -S214019610B0F5A07F02DA0122FFF7B5B80020074BAC -S2140196209847C0EB00105030054B83FB0023C21750 -S214019630C2EBA31212B2FFF7A6B800BFE5140100F1 -S2140196406766666600201D4B9847C0EB0010400019 -S21401965050301B4B83FB0023C217C2EBA31212B27E -S214019660FFF791B80020154B9847C0EB001050301B -S214019670B0F5A07F02DA0122FFF79EB800200F4B5B -S2140196809847C0EB001050300D4B83FB0023C217E8 -S214019690C2EBA31212B2FFF78FB80020074B984710 -S2140196A0C0EB001040005030054B83FB0023C2176F -S2140196B0C2EBA31212B2FFF77FB800BFE514010098 -S2140196C06766666610B5094B98470446437C13F0F7 -S2140196D0010F03D0406808B1054B9847637C6FF3D0 -S2140196E0000363740023636010BD00BF25540000AF -S2140196F06D2A0100F8B507461E4B9847037C03F018 -S2140197000703022B00D0F8BD044601894FF6FF730C -S2140197109942F8D0184B1B680339006898470646EB -S2140197203846144B9847437C13F0010F14BF40682A -S2140197300430236803EB060E9B5DC3B100252B4660 -S214019740425D8EF800200133DBB21D46F218216817 -S21401975001EB020E8A5C002AF2D1435D8EF80030DE -S2140197603846064B98474FF6FF732381CBE7002513 -S214019770F3E700BF255400005C000020C5960100F9 -S21401978038B504460D46034B9847C5812046024B23 -S214019790984738BD25540000A939000038B504465D -S2140197A00D46034B984785812046024B984738BDA6 -S2140197B025540000A93900002DE9F84306460C4659 -S2140197C0124B9847122200213046114DA847804679 -S2140197D0132200213046A847814610220021304638 -S2140197E0A8470746112200213046A84723889844F7 -S2140197F0A4F80080A388A3EB0903A38063881F4411 -S2140198006780E388181AE080BDE8F883C934000051 -S2140198105D4B0000F0B583B006460F461546184B63 -S214019820984704463046174B9847042D1CD9681CA8 -S214019830154B9847606060B12A463946134B9847E6 -S214019840636800225A55637C43F001036374012068 -S21401985014E00F4B00930F4B40F2B5520E49032014 -S2140198600E4CA047002009E0637C6FF3000363748D -S2140198702A463946201D054B9847012003B0F0BD06 -S21401988025540000C596010085290100FD2B010025 -S214019890C40C0200740A0200940C020005280100A0 -S2140198A030B583B004460D46104B984768B9104B47 -S2140198B000934FF4C4720F4903200F4DA847224668 -S2140198C000230E480E498847FEE720460D4B984771 -S2140198D0037CC3F30113AB4206D0037C65F3051387 -S2140198E003742046084B984703B030BD8D2900000D -S2140198F08C0A0200940C02000528010020BD01001C -S2140199009529000025540000A939000030B583B020 -S21401991004460B4B984768B90A4B00934FF4F27212 -S21401992009490320094DA84722460023084809494A -S2140199308847FEE72046084B9847006803B030BDCD -S2140199408D290000D80A0200940C020005280100A7 -S21401995020BD0100952900002554000030B583B0D4 -S21401996004460C4B984768B90B4B00934FF4F972B9 -S2140199700A4903200A4DA8472246002309480A49F6 -S2140199808847FEE72046094B9847007C00F0070011 -S21401999003B030BD8D290000EC0A0200940C0200D1 -S2140199A00528010020BD010095290000255400006E -S2140199B030B583B004460E4B984768B90D4B0093FB -S2140199C040F2FF120C4903200C4DA8472246002303 -S2140199D00B480C498847FEE720460B4B9847007C0E -S2140199E0C0F30110032808BF002003B030BD00BF3C -S2140199F08D290000040B0200940C020005280100CA -S214019A0020BD0100952900002554000030B583B023 -S214019A1004460C4B984768B90B4B009340F21B2247 -S214019A200A4903200A4DA8472246002309480A4945 -S214019A308847FEE72046094B9847007CC0F3801014 -S214019A4003B030BD8D290000180B0200940C0200F3 -S214019A500528010020BD01009529000025540000BD -S214019A602DE9F04F8FB0054605919E4B984768B992 -S214019A709D4B009340F2A5229C4903209C4CA04795 -S214019A802A4600239B489C498847FEE7059E3046A8 -S214019A90944B984768B9944B009340F2A622934999 -S214019AA00320934CA04732460023924892498847A8 -S214019AB0FEE70CA92846914B98472846904B9847B5 -S214019AC0074628468F4B98470646BDF83430013383 -S214019AD0BDF830209B1A1BB2069348F28E02002175 -S214019AE02846894B98478146039048F28102002117 -S214019AF02846DFF83082C047044648F2800200213B -S214019B002846C0470490B9F908B0337CC3F38016E1 -S214019B1013F0800F18BF46F0020613F0070F08BFB8 -S214019B2046F010062846794B98478246012837D1D9 -S214019B3046F004063B78002B3AD1B84600252C4661 -S214019B40611B0096049B039A89B24046DFF8D891C0 -S214019B50C847BDF834300133BDF830209B1A1BB21C -S214019B6003EBD37300EBD0704FEA6009C9EB6303D4 -S214019B700FFA83F900238DF82F300A93002C40F05A -S214019B80A180634E33680A99404698470446336875 -S214019B90294638469847204480B20FB0BDE8F08F7A -S214019BA0022840F0968046F008063B78002B48D005 -S214019BB0B8464FF000094D460BEB0403079309E046 -S214019BC0079B99440FFA89F907EB000805463B5CA9 -S214019BD0002B34D00096069B049A039940464D4CC0 -S214019BE0A0472844059BB3F9022009EB0B039A42D0 -S214019BF0E6DC04460EA941F8140D474B1B683846AF -S214019C0098470A2802D03B5D03B90134BAF1010F27 -S214019C1096D0BAF1020F18D1611B0096049B039AE5 -S214019C2089B24046DFF80091C847BDF834300133A9 -S214019C30BDF830209B1A1B1A0FFA83F99AE70446DF -S214019C40E4E7B84600252C46E6E74FF0000991E721 -S214019C50079A06990398314B984700EB09039BB284 -S214019C60059AB2F900101AB2914228DB0A9A5119E4 -S214019C70A14224D0795C11B304990B440FFA83F9FD -S214019C8093460A9B2B44A342BFF47BAFDAF800301D -S214019C900AA9404698470690DAF8003000210A984B -S214019CA0404498470790002ED2D00A9B18F803101C -S214019CB00DF12F001A4B98470028E2D1C8E7CDF8DE -S214019CC028B05EE74FF0000BDFF860A006F0010653 -S214019CD0D7E73B78002B7FF46BAFB84600252C46C0 -S214019CE0A94647E78D290000600B0200940C02008C -S214019CF00528010020BD010095290000B997010043 -S214019D000D99010025540000294D0000B19901006C -S214019D106400002059430100680000200906010084 -S214019D20114301005D4B00008545010058000020ED -S214019D302DE9F04F99B00446AF4B98470368002BC6 -S214019D4048D0054616A92046AC4B9847BDF85C603E -S214019D500136BDF85830F61A36B248F28E020021A6 -S214019D602046A74B9847804648F2810200212046AC -S214019D70A44FB847814648F2800200212046B847E2 -S214019D8007462B7CC3F3801213F0800F18BF42F0F6 -S214019D90020213F0070F08BF42F010022968029270 -S214019DA00196CDF800900346424615A8964EB04758 -S214019DB02B7C13F0070310D0032B34D0042B00F0B8 -S214019DC0D780022B00F06D81012B00F0FE8120462A -S214019DD08E4B984719B0BDE8F08F1222002120461D -S214019DE0884EB0470546132200212046B047284436 -S214019DF0BDF854502844ADF85400102200212046E6 -S214019E00B0470546112200212046B0472A18BDF862 -S214019E105600024412B2ADF85620BDF95410204641 -S214019E207B4B9847D3E705A87A4B984705944FF69E -S214019E30FF73ADF84830202211464046764B9847CE -S214019E4038444FF47A7303FB00F3688993FBF0F30D -S214019E5003EB43039BB20F931193BDF95420BDF856 -S214019E605C300133BDF858105B1A9BB219B28A42B6 -S214019E7037DD9B1A1AB200210B910C92674E06969B -S214019E806889674B98470D90109031462046654B80 -S214019E90984718B3426A90F83C3003F001030D99D5 -S214019EA08A4211DA0E929DF84A206FF300028DF86D -S214019EB04A204BB19DF8503043F001038DF85030E5 -S214019EC00B9B0C9A0B920C9305A8574B9847574936 -S214019ED02046574B98470023EB8178E700231A4624 -S214019EE0DDE74E492046524B98470023AB81BDF92A -S214019EF05620BDF85E300133BDF85A105B1A9BB28E -S214019F0019B28A42E3DD9A1AB8F80830D21A12B2A8 -S214019F1000210B910C92454E06966889404B984756 -S214019F200D901090314620463E4B9847E8B1426A64 -S214019F3090F83C3003F001030D998A4211DA0E9233 -S214019F409DF84A206FF300028DF84A204BB19DF828 -S214019F50503043F001038DF850300B9B0C9A0B9256 -S214019F600C9305A8304B984731E700231A46E3E7E0 -S214019F7005A8284B984705944FF6FF73ADF848306F -S214019F80BDF85C300133BDF858209B1ABDF954204A -S214019F901BB29A4250DD2022114640461E4B98477E -S214019FA0C0EB803300EB8302BDF85430D21A12B2F4 -S214019FB000210B910C92194E06966889184B98470A -S214019FC00D9031462046174B9847002832D0436AF9 -S214019FD00D9A934206DA0E939DF84A306FF300030A -S214019FE08DF84A3005A8104B984710492046104B6B -S214019FF098470023EB81EAE625540000B997010053 -S21401A000294D00005D4B000025460100A9390000DE -S21401A010294900008D180100090601009D970100DD -S21401A020391A0100FD190100491901008197010043 -S21401A030D11801000023CBE76E4920466E4B9847A6 -S21401A0400023AB81BDF95620BDF85E300133BDF863 -S21401A0505A105B1A1BB29A42C7DDB8F808301A4488 -S21401A060524212B200210B910C92644E06966889F8 -S21401A070634B98470D9031462046624B984770B126 -S21401A080436A0D9A934206DA0E939DF84A306FF3AF -S21401A09000038DF84A3005A85B4B984797E60023E6 -S21401A0A0EFE7BDF85E300133BDF85A209B1ABDF9C3 -S21401A0B056201BB29A4203DC4FF6FF732B8186E6CD -S21401A0C0524B1B6828689847032803D84FF6FF733E -S21401A0D02B817CE6BDF85C600136BDF85830F61A77 -S21401A0E0B6B22E2211464046494B98473844C0EB3B -S21401A0F0803300EB83003044ADF81000BDF85E30CD -S21401A1000133BDF85A209B1A9BB218B2B8F9082041 -S21401A1104A4490FBF2F102FB11029B1AA3EB0909D8 -S21401A120ADF8129004A920463A4B98478046074658 -S21401A1302E683046384B98478146384B1B68414657 -S21401A140304698470646059000F10308C1450ED2F1 -S21401A150DFF8DCA028683044DAF800309847059E1E -S21401A160361A0596013F06F10308C145F2D34FF0B2 -S21401A170040A4FF00009DFF8B8B02868059B1844B8 -S21401A180DBF80030984781445FFA89F905A9286809 -S21401A190234B1B689847BAF1010AEED129684A4653 -S21401A1A0314420461F4B984700283FF410AEF11C5F -S21401A1B02E222B689A5501368E42FAD12B68002240 -S21401A1C003F8082003372F8101E6102200212046DC -S21401A1D0154EB0470546112200212046B0472918E2 -S21401A1E0BDF85600014409B2ADF8561020460F4B93 -S21401A1F09847ECE59D970100D11801008197010071 -S21401A200391A0100FD1901004919010060000020FA -S21401A21009060100619A01004FAF01005C000020B1 -S21401A22058000020159801005D4B00003D4A0000D3 -S21401A23054000020F0B583B006460D46404B9847C3 -S21401A24060B9404B0093B8223F4903203F4CA047DA -S21401A250324600233E483F498847FEE730463E4B9C -S21401A260984730463D4B9847044605B32846344B3D -S21401A270984708B32768BD422BD01FB1237C13F043 -S21401A280080F49D02846364B98470130354B98473A -S21401A29020602B4B9847002844D0206850B12946AF -S21401A2A0314B9847237C6FF3C303237430E0304669 -S21401A2B02E4B984703B0F0BD224B0093C42222498F -S21401A2C00320224CA0472A460023214821498847DB -S21401A2D0FEE7237C13F0080FD4D13846204B98476D -S21401A2E0411C3846224B98472060154B984760B969 -S21401A2F0144B0093D52214490320144DA847226815 -S21401A30000231C4813498847FEE72368002BD1D059 -S21401A3103046164B9847CDE73846174B98470023EB -S21401A3202360AFE7074B0093EE2207490320074D52 -S21401A330A847226800230F4806498847FEE700BF62 -S21401A3408D290000780B0200940C020005280100FC -S21401A35020BD010095290000A93900002554000000 -S21401A3604FAF0100852901003FAF0100319D01007B -S21401A370412E0100BCB401006D2A010070B582B007 -S21401A38005460E46144B984768B9144B00934FF494 -S21401A390A67213490320134CA0472A4600231248ED -S21401A3A012498847FEE72846114B98470446037C26 -S21401A3B013F0080F05D1006818B10E4B984700231B -S21401A3C0236026B1237C43F00803237426602846C5 -S21401A3D0094B984702B070BD8D290000A40B0200FE -S21401A3E0940C02000528010020BD010095290000FB -S21401A3F0255400006D2A0100319D0100F0B583B09F -S21401A40005460F46224B984768B9224B009340F207 -S21401A410651221490320214CA0472A4600232048E3 -S21401A42020498847FEE728461F4B984704461F49A0 -S21401A43028461F4EB0471F492846B0471E492846A2 -S21401A440B0471E492846B0470023A381E381FB1E7F -S21401A450DBB2022B237C94BF43F080036FF3C71358 -S21401A4602374237C03F00703022B08D0237C67F3B5 -S21401A470020323742846124B984703B0F0BD228985 -S21401A4804FF6FF739A42F1D028460E4B9847EDE7F8 -S21401A4908D290000C00B0200940C02000528010063 -S21401A4A020BD01009529000025540000B13B0000A5 -S21401A4B0D1180100113C00009D9701008197010011 -S21401A4C0319D0100F596010030B583B004460D4676 -S21401A4D0104B984768B9104B00934FF4CD720F4953 -S21401A4E003200F4DA847224600230E480E498847F1 -S21401A4F0FEE720460D4B9847037CC3F38013AB421F -S21401A50006D0037C65F3861303742046084B9847F0 -S21401A51003B030BD8D290000D80B0200940C020058 -S21401A5200528010020BD01009529000025540000E2 -S21401A530319D01002DE9F04182B00F46794B9847D5 -S21401A5400446794B9847E8B1002C00F09A80774B87 -S21401A5501B6823B314212046754B98472046754B3C -S21401A56098470546704B9847F8B9734B00935D22A0 -S21401A57072490320724CA0472A460023714872494B -S21401A5808847FEE76C4B009354226C4903206C4DC0 -S21401A590A847224600236B486B498847FEE72046BA -S21401A5A06A4B9847614B1860D4E7002D6DD00023A5 -S21401A5B02B602A7C02F0B7024FF6FF71298142F028 -S21401A5C0300263F302022A7419226A81AB81EB819D -S21401A5D06B606A7C63F300026A745D4920465D4BDA -S21401A5E098475D4920465D4B9847002F52D0384624 -S21401A5F0504B984706463846594B984701462046E1 -S21401A600584B98473846584B984701462046574B73 -S21401A61098473846564B984701462046554B98472B -S21401A620337C13F0080F46D13846534B9847014602 -S21401A6302046524B9847337C03F00703022B42D047 -S21401A640737C13F0010F64D07068002861D04C4B06 -S21401A650984782B2696820464A4B9847727C6B7C61 -S21401A66062F300036B7433892B81FF212046464B2E -S21401A6709847464B0093304BA82230490120304D75 -S21401A680A847204602B0BDE8F0812046404B9847D7 -S21401A6900024F6E7122120463E4B9847002120462B -S21401A6A03D4B9847002120462E4B98473B49204674 -S21401A6B0324B9847DDE738462F4B984701462046F0 -S21401A6C0374B9847B7E72F683068364B98470146AF -S21401A6D03846354B98472860134B984760B9164B58 -S21401A6E00093952215490320154CA0472A6800239C -S21401A6F0144815498847FEE72F6887B1D6F80080C9 -S21401A7004046284B9847024641463846274B9847CD -S21401A71096E70422B118A818244B98479EE7002410 -S21401A720AFE700BFAD4400008D290000FC6B0020A0 -S21401A7305932000025540000F00B0200940C020070 -S21401A74005280100BCB4010095290000DD53000076 -S21401A75031A9010011320000B1A70100B531000096 -S21401A7605D990100FDA301000D9A0100C9A4010035 -S21401A770B1990100A19801000D99010035A20100CF -S21401A7804FAF01001598010021410000F80C0200AE -S21401A790ED5500009147010029300000F00C020041 -S21401A7A07DA30100F92A0100412E0100FD2B0100C5 -S21401A7B02DE9F04107461546082915D00C46304BC1 -S21401A7C01B6898470646012815D1072C20D0384625 -S21401A7D02C4B9847804644BB037C13F0080F1DD0D2 -S21401A7E03846294B984706E013783BB900F1280311 -S21401A7F06B60012623B13046BDE8F0810023F7E700 -S21401A8001F4B1B682A460821384698470646F2E73A -S21401A8101E4928461E4B98470646ECE700681D4B26 -S21401A82098470023C8F80030DAE7042C14D0022C2D -S21401A830E1D1AA8801322B88D21ABB8A0133398A20 -S21401A8405B1A92B29BB29A420DD03846124B984789 -S21401A8503846124B9847CEE738460F4B984738464E -S21401A8600E4B9847C7E7EA8801326B88D21AFB8AF3 -S21401A8700133798A5B1A92B29BB29A42E5D1BAE762 -S21401A880FC6B002025540000C5960100080D02004F -S21401A890DD5600006D2A0100F5960100319D01008C -S21401A8A030B583B004460A4B984718B14FF6FF708F -S21401A8B003B030BD074B009340F21D32064903201A -S21401A8C0064DA84722460023054806498847FEE765 -S21401A8D08D290000180C0200940C020005280100C6 -S21401A8E020BD01009529000030B583B004460A4B0F -S21401A8F0984718B14FF6FF7003B030BD074B009371 -S21401A9004FF44C7206490320064DA8472246002301 -S21401A910054806498847FEE78D290000340C0200E9 -S21401A920940C02000528010020BD010095290000B5 -S21401A930022A00F01E810AB1002070472DE9F0437B -S21401A940A9B00F4605468C4B984780460422002145 -S21401A95028468A4CA0478146052200212846A04762 -S21401A96005F10F0305F1170606AA13F8014F02F8C1 -S21401A970014BB342F9D11FFA89F9BDF81830A3EBA0 -S21401A9800903ADF81830BDF81C309944ADF81C9099 -S21401A99080B2BDF81A301B1AADF81A30BDF81E3059 -S21401A9A01844ADF81E0013A8754B984713AA00214A -S21401A9B02846744B984713AA394606A8724B9847FF -S21401A9C008A92846714B984708AA39460AA8704B29 -S21401A9D0984710B929B0BDE8F08328466D4B9847D3 -S21401A9E098F81030C3F3801413F0800F18BF44F0AA -S21401A9F0020413F0070F08BF44F01004012838D0F2 -S21401AA00022808BF44F008040CA8634B9847284660 -S21401AA10624B9847ADF83E002846614B9847ADF823 -S21401AA204000B8F90C30ADF84230B8F90E30ADF848 -S21401AA3044308DF847400CAA00212846594B9847C8 -S21401AA4098F8102002F00703033BDBB2012B13D961 -S21401AA50D8F80030002200920CAA0AA908A8524D84 -S21401AA60A84798F8103003F00703042B2BD00020DA -S21401AA70B0E744F00404C7E702F03002102A01D020 -S21401AA80202AE5D1BDF93C30D8F80010029447F6EB -S21401AA9018420192BDF93A2000920D9A05A8434D3D -S21401AAA0A847BDF824300133BDF820209B1ABDF914 -S21401AAB014201BB29A42CBDD9DF8473023F00C03DD -S21401AAC08DF84730C4E7BDF93C30D8F80010029441 -S21401AAD047F618420192BDF93A2000920D9A05A850 -S21401AAE0324CA047BDF91420BDF824300133BDF81F -S21401AAF020105B1A1BB29A4220DCBDF91620BDF865 -S21401AB0026300133BDF822105B1A1BB29A42AEDD25 -S21401AB10B8F90C30ADF842300D9B1B891344B8F8D8 -S21401AB200E201344ADF84430D8F8003000220092CD -S21401AB300CAA0AA908A81C4CA04798E7B8F80C402C -S21401AB40224494B2202211460D98194B984700EBE7 -S21401AB5040000444ADF84240B8F90E30ADF8443038 -S21401AB60D8F80030002200920CAA0AA908A8A84723 -S21401AB70C3E70220704700BF255400005D4B00006C -S21401AB8011C800000D570000D9C80000B997010090 -S21401AB90C11A0100B1990100759F0000A1A801002A -S21401ABA0E9A80100F95C0000CD9F000025460100E0 -S21401ABB00906010053B94AB9002908BF00281CBF7D -S21401ABC04FF0FF314FF0FF3000F07AB9ADF1080CCD -S21401ABD06DE904CE00F006F8DDF804E0DDE90223B5 -S21401ABE004B070472DE9F0478C460D460446089E92 -S21401ABF0002B51D18A4217466DD9B2FA82FEBEF1B8 -S21401AC00000F0BD0CEF1200C01FA0EF520FA0CFC49 -S21401AC1002FA0EF74CEA050C00FA0EF44FEA174A50 -S21401AC20250CBCFBFAF81FFA87F90AFB18CC45EA93 -S21401AC300C4508FB09F3AB420AD9ED1908F1FF32BE -S21401AC4080F02381AB4240F22081A8F102083D4406 -S21401AC50ED1AA4B2B5FBFAF00AFB105544EA054416 -S21401AC6000FB09F9A14509D9E41900F1FF3380F089 -S21401AC700A81A14540F2078102383C44A4EB09044D -S21401AC8040EA08400021002E61D024FA0EF4002389 -S21401AC9034607360BDE8F0878B4207D9002E54D02C -S21401ACA0002186E821000846BDE8F087B3FA83F163 -S21401ACB0002940F08E80AB4202D3824200F2FA8035 -S21401ACC0841A65EB03050120AC46002E3FD086E8CA -S21401ACD01010BDE8F08712B90127B7FBF2F7B7FAF3 -S21401ACE087FEBEF1000F34D1EB1B3A0C1FFA87FC2E -S21401ACF00121B3FBF2F8250C02FB183345EA0345A4 -S21401AD000CFB08F3AB4207D9ED1908F1FF3002D26C -S21401AD10AB4200F2D1808046ED1AA3B2B5FBF2F049 -S21401AD2002FB105543EA05440CFB00FCA44507D979 -S21401AD30E41900F1FF3302D2A44500F2B8801846A8 -S21401AD40A4EB0C0440EA08409DE731463046BDE8D6 -S21401AD50F087CEF1200405FA0EF307FA0EF720FA73 -S21401AD6004F83A0C25FA04F448EA0308B4FBF2F1B5 -S21401AD704FEA184502FB11441FFA87FC45EA0445D1 -S21401AD8001FB0CF3AB4200FA0EF409D9ED1901F1FF -S21401AD90FF3080F08A80AB4240F2878002393D4422 -S21401ADA0EB1A1FFA88F5B3FBF2F002FB103345EA03 -S21401ADB0034500FB0CF3AB4207D9ED1900F1FF3850 -S21401ADC06FD2AB426DD902383D44EB1A40EA0141DD -S21401ADD08FE7C1F1200722FA07F88B4005FA01F444 -S21401ADE048EA030320FA07FE4FEA134CFD404EEAF9 -S21401ADF0040EB5FBFCF94FEA1E440CFB19551FFA6D -S21401AE0083F844EA054509FB08F4AC4202FA01F26C -S21401AE1000FA01FA08D9ED1809F1FF3043D2AC4225 -S21401AE2041D9A9F102091D442D1B1FFA8EFEB5FB5F -S21401AE30FCF00CFB10554EEA054400FB08F8A04553 -S21401AE4007D9E41800F1FF3529D2A04527D90238E1 -S21401AE501C4440EA0940A4EB0804A0FB02894C45C7 -S21401AE60C6464D4615D312D056B1BAEB0E0364EB67 -S21401AE70050404FA07F7CB401F43CC4037607460E3 -S21401AE800021BDE8F0871846F8E69046E0E6C245A0 -S21401AE90EAD2B8EB020E69EB03050138E4E728466F -S21401AEA0D7E7404691E78146BEE7014678E7023894 -S21401AEB03C4445E7084608E7A8F102083D442BE76D -S21401AEC0704700BF70B50D4E0D4CA41BA410002595 -S21401AED0A54209D10B4E0C4C05F01CFFA41BA41077 -S21401AEE00025A54205D170BD56F825309847013595 -S21401AEF0EEE756F8253098470135F2E7200D0200B7 -S21401AF00200D0200200D0200240D020010B50139AB -S21401AF100244904201D1002010BD10F8013B11F807 -S21401AF20014FA342F5D0181B10BD10F8012B11F8E4 -S21401AF30013B012A28BF9A42F7D0D01A7047034630 -S21401AF4011F8012B03F8012B002AF9D170470346AB -S21401AF5013F8012B002AFBD1181A0138704700009C -S21401AF602E2E2F68706C2F706F72742F68706C5F46 -S21401AF706770696F5F626173652E68002E2E2F6899 -S21401AF80616C2F7372632F68616C5F6932635F6DEA -S21401AF905F73796E632E63002E2E2F68616C2F739C -S21401AFA072632F68616C5F696F2E63002E2E2F68A7 -S21401AFB0616C2F7372632F68616C5F74696D657263 -S21401AFC02E6300002E2E2F68616C2F7372632F681C -S21401AFD0616C5F75736172745F6173796E632E6302 -S21401AFE0000000002E2E2F68616C2F7574696C733B -S21401AFF02F7372632F7574696C735F6C6973742E2B -S21401B000630000002E2E2F68616C2F7574696C73B7 -S21401B0102F7372632F7574696C735F72696E6762E2 -S21401B02075666665722E630000300040003400408D -S21401B030002001410040014100000043000400439C -S21401B04000080043000C0043030000001400200029 -S21401B05000010000FF0000000000D70000042707E1 -S21401B0602E2E2F68706C2F736572636F6D2F68704C -S21401B0706C5F736572636F6D2E630000003800406D -S21401B080003C004000A0014100C001410014004204 -S21401B09000180042001400430018004300006B0033 -S21401B0A00803000000000000973A000000000000BE -S21401B0B02E2E2F68706C2F74632F68706C5F74630C -S21401B0C02E63000048656C6C6F20576F726C6400CD -S21401B0D06C765F64656275675F636865636B5F73F3 -S21401B0E074720000303132333435363738394142E4 -S21401B0F043444546000000006C765F6465627567F0 -S21401B1005F6C6F675F6572726F7200002E2E2F7410 -S21401B1106869726470617274792F6C76676C2F73CC -S21401B12072632F6C765F636F72652F6C765F6465F2 -S21401B1306275672E630000006C765F6465627567F2 -S21401B1405F636865636B5F7374723A2061206E6F2C -S21401B1506E2D4153434949206368617220686173CB -S21401B160207265706561746564206D6F7265207408 -S21401B17068616E204C565F44454255475F535452B2 -S21401B1805F4D41585F5245504541542074696D6585 -S21401B190732900006C765F64656275675F63686536 -S21401B1A0636B5F7374723A20696E76616C696420B2 -S21401B1B06368617220696E207468652073747269B1 -S21401B1C06E6720283C2031302076616C7565290039 -S21401B1D06C765F64656275675F636865636B5F73F2 -S21401B1E074723A20737472696E67206973206C6F8B -S21401B1F06E676572207468616E204C565F444542E6 -S21401B20055475F5354525F4D41585F4C454E475426 -S21401B210480000006C765F646973705F6765745FF1 -S21401B2207363725F616374006C765F646973705FE9 -S21401B2306765745F6C617965725F746F700000009A -S21401B2406C765F646973705F6765745F6C6179655E -S21401B250725F7379730000006C765F646973705F68 -S21401B26061737369676E5F73637265656E00000074 -S21401B2706C765F646973705F6765745F696E61633E -S21401B280746976655F74696D650000006C765F644D -S21401B2906973705F747269675F61637469766974F4 -S21401B2A0790000005F6C765F646973705F67657430 -S21401B2B05F726566725F7461736B00002E2E2F7469 -S21401B2C06869726470617274792F6C76676C2F731B -S21401B2D072632F6C765F636F72652F6C765F64693D -S21401B2E073702E63000000006C765F7363725F619B -S21401B2F063743A206E6F20646973706C6179207292 -S21401B30065676973746572656420746F2067657418 -S21401B31020697473206163742E2073637265656E91 -S21401B320000000006C765F6C617965725F746F7007 -S21401B3303A206E6F20646973706C6179207265675C -S21401B3406973746572656420746F2067657420691B -S21401B350747320746F70206C617965720000000050 -S21401B3606C765F6C617965725F7379733A206E6F84 -S21401B37020646973706C617920726567697374659E -S21401B38072656420746F2067657420697473207316 -S21401B39079732E206C617965720000006C765F64AB -S21401B3A06973705F61737369676E5F7363726565F6 -S21401B3B06E3A2074727920746F2061737369676EB8 -S21401B3C02061206E6F6E2D73637265656E206F62ED -S21401B3D06A656374000000006C765F646973705F71 -S21401B3E06765745F696E6163746976655F74696DBC -S21401B3F0653A206E6F20646973706C61792072659E -S21401B4006769737465726564000000006C765F643A -S21401B4106973705F747269675F6163746976697472 -S21401B420793A206E6F20646973706C617920726559 -S21401B4306769737465726564000000006C765F640A -S21401B4406973705F6765745F726566725F74617356 -S21401B4506B3A206E6F20646973706C617920726537 -S21401B4606769737465726564000000006C765F67D7 -S21401B470726F75705F637265617465006C765F6785 -S21401B480726F75705F6164645F6F626A00000000CE -S21401B4902E2E2F746869726470617274792F6C76BF -S21401B4A0676C2F7372632F6C765F636F72652F6C98 -S21401B4B0765F67726F75702E630000004F7574209B -S21401B4C06F66206D656D6F72790000006C765F6740 -S21401B4D0726F75705F6164645F6F626A3A20746848 -S21401B4E065206F626A65637420697320616C72659A -S21401B4F061647920616464656420746F207468698E -S21401B500732067726F7570006C765F67726F757007 -S21401B5105F6164645F6F626A3A2061737369676E24 -S21401B520206F626A65637420746F20616E206F7489 -S21401B5306865722067726F75700000006C765F69CF -S21401B5406E6974006C765F6465696E6974000000EC -S21401B5506C765F6F626A5F64656C5F6173796E6358 -S21401B560000000006C765F6F626A5F7365745F61EE -S21401B57075746F5F7265616C69676E006C765F6F7C -S21401B580626A5F7365745F6578745F636C69636B29 -S21401B5905F617265610000006C765F6F626A5F735F -S21401B5A065745F6164765F686974746573740000BE -S21401B5B06C765F6F626A5F7365745F636C69636BF9 -S21401B5C0000000006C765F6F626A5F7365745F747B -S21401B5D06F7000006C765F6F626A5F7365745F649C -S21401B5E0726167006C765F6F626A5F7365745F6431 -S21401B5F07261675F646972006C765F6F626A5F731F -S21401B60065745F647261675F7468726F77000000CB -S21401B6106C765F6F626A5F7365745F647261675FA1 -S21401B620706172656E7400006C765F6F626A5F733C -S21401B63065745F706172656E745F6576656E7400C1 -S21401B6406C765F6F626A5F6164645F70726F746567 -S21401B650637400006C765F6F626A5F636C6561722B -S21401B6605F70726F74656374000000006C765F6FC4 -S21401B670626A5F7365745F6576656E745F636200A8 -S21401B6806C765F6576656E745F73656E645F66750E -S21401B6906E6300006C765F6576656E745F73656ECB -S21401B6A0640000006C765F6F626A5F7365745F7337 -S21401B6B069676E616C5F6362000000006C765F6FA5 -S21401B6C0626A5F7365745F64657369676E5F636200 -S21401B6D0000000006C765F6F626A5F616C6C6F637E -S21401B6E06174655F6578745F617474720000000050 -S21401B6F06C765F6F626A5F726566726573685F65B6 -S21401B70078745F647261775F706164006C765F6FF6 -S21401B710626A5F6765745F706172656E74000000CF -S21401B7206C765F6F626A5F6765745F736372656587 -S21401B7306E0000006C765F6F626A5F6765745F64B7 -S21401B740697370006C765F6F626A5F6765745F63CA -S21401B75068696C64000000006C765F6F626A5F73F4 -S21401B76065745F626173655F646972006C765F6FB2 -S21401B770626A5F6765745F6368696C645F62616370 -S21401B7806B0000006C765F6F626A5F636F756E7444 -S21401B7905F6368696C6472656E0000006C765F6F4B -S21401B7A0626A5F636F756E745F6368696C64726505 -S21401B7B06E5F726563757273697665006C765F6F2E -S21401B7C0626A5F6765745F636F6F7264730000001F -S21401B7D06C765F6F626A5F6765745F780000000071 -S21401B7E06C765F6F626A5F6765745F790000000060 -S21401B7F06C765F6F626A5F6765745F7769647468A9 -S21401B800000000006C765F6F626A5F6765745F6850 -S21401B81065696768740000006C765F6F626A5F67CF -S21401B82065745F6175746F5F7265616C69676E00E0 -S21401B8306C765F6F626A5F6765745F6578745F6375 -S21401B8406C69636B5F7061645F6C656674000000B1 -S21401B8506C765F6F626A5F6765745F6578745F6355 -S21401B8606C69636B5F7061645F726967687400001E -S21401B8706C765F6F626A5F6765745F6578745F6335 -S21401B8806C69636B5F7061645F746F7000000000C9 -S21401B8906C765F6F626A5F6765745F6578745F6315 -S21401B8A06C69636B5F7061645F626F74746F6D0067 -S21401B8B06C765F6F626A5F6765745F6578745F64F4 -S21401B8C07261775F706164006C765F6F626A5F6356 -S21401B8D06C65616E5F7374796C655F6C6973740017 -S21401B8E06C765F6F626A5F6765745F6C6F63616CCD -S21401B8F05F7374796C6500006C765F6F626A5F7265 -S21401B900656D6F76655F7374796C655F6C6F636187 -S21401B9106C5F70726F7000006C765F6F626A5F6753 -S21401B92065745F68696464656E0000006C765F6FBD -S21401B930626A5F696E76616C69646174655F617283 -S21401B940656100006C765F6F626A5F696E76616C36 -S21401B95069646174650000006C765F6F626A5F6D92 -S21401B9606F76655F666F726567726F756E640000ED -S21401B9706C765F6F626A5F6D6F76655F6261636B3F -S21401B98067726F756E6400006C765F6F626A5F73D4 -S21401B99065745F706F7300006C765F6F626A5F73C9 -S21401B9A065745F78000000006C765F6F626A5F7393 -S21401B9B065745F79000000006C765F6F626A5F6194 -S21401B9C06C69676E000000006C765F6F626A5F618B -S21401B9D06C69676E5F6F7269676F00006C765F6F88 -S21401B9E0626A5F7265616C69676E00006C765F6F94 -S21401B9F0626A5F726566726573685F7374796C6597 -S21401BA00000000006C765F6F626A5F6164645F735A -S21401BA1074796C65000000006C765F6F626A5F7314 -S21401BA2065745F68696464656E0000006C765F6FBC -S21401BA30626A5F6765745F6164765F68697474657E -S21401BA40737400006C765F6F626A5F6765745F632C -S21401BA506C69636B000000006C765F6F626A5F67FB -S21401BA6065745F746F7000006C765F6F626A5F6703 -S21401BA7065745F64726167006C765F6F626A5F67A8 -S21401BA8065745F647261675F646972006C765F6F8C -S21401BA90626A5F6765745F647261675F7468726F1C -S21401BAA0770000006C765F6F626A5F6765745F702F -S21401BAB06172656E745F6576656E74006C765F6F35 -S21401BAC0626A5F6765745F626173655F646972006D -S21401BAD06C765F6F626A5F63726561746500000011 -S21401BAE06C765F6F626A5F7365745F706172656EB4 -S21401BAF0740000006C765F6F626A5F7365745F73D3 -S21401BB00697A65006C765F6F626A5F7365745F77EA -S21401BB1069647468000000006C765F6F626A5F7328 -S21401BB2065745F6865696768740000006C765F6FAE -S21401BB30626A5F6765745F70726F74656374000034 -S21401BB406C765F6F626A5F69735F70726F7465634C -S21401BB50746564006C765F6F626A5F6765745F73B5 -S21401BB6074617465000000006C765F6F626A5F67DF -S21401BB7065745F77696474685F66697400000000C5 -S21401BB806C765F6F626A5F6765745F686569676830 -S21401BB90745F6669740000006C765F6F626A5F6747 -S21401BBA065745F696E6E65725F636F6F7264730052 -S21401BBB0FFFF00006C765F6F626A5F7365745F7388 -S21401BBC074617465000000007472616E735F637265 -S21401BBD065617465000000006C765F6F626A5F6184 -S21401BBE064645F7374617465000000006C765F6F57 -S21401BBF0626A5F636C6561725F737461746500008D -S21401BC006C765F6F626A5F6765745F7369676E61A2 -S21401BC106C5F6362000000006C765F6F626A5F674C -S21401BC2065745F64657369676E5F63620000000038 -S21401BC306C765F6F626A5F6765745F6576656E7462 -S21401BC405F6362006C765F6F626A5F6765745F65EB -S21401BC5078745F61747472006C765F6F626A5F6796 -S21401BC6065745F74797065006C765F6F626A5F6792 -S21401BC7065745F67726F7570000000006C765F6FA9 -S21401BC80626A5F64656C00006C765F6F626A5F640F -S21401BC90656C5F6173796E635F6362006C765F6F7C -S21401BCA0626A5F636C65616E000000006C765F6FB0 -S21401BCB0626A5F69735F666F63757365640000002F -S21401BCC02E2E2F746869726470617274792F6C7687 -S21401BCD0676C2F7372632F6C765F636F72652F6C60 -S21401BCE0765F6F626A2E63006C765F696E69743A7E -S21401BCF020616C726561647920696E69746564009F -S21401BD006C765F696E697420726561647900000003 -S21401BD106C765F6465696E697420646F6E65000099 -S21401BD204E554C4C20706F696E74657200000000B1 -S21401BD306C765F7363725F6765745F646973703A8C -S21401BD402073637265656E206E6F7420666F756E04 -S21401BD50640000006C765F6F626A5F7365745F6291 -S21401BD606173655F6469723A20696E76616C6964B5 -S21401BD702062617365206469720000006C765F6FF3 -S21401BD80626A5F636C65616E5F7374796C655F6C24 -S21401BD906973743A2063616E27742066696E642045 -S21401BDA07374796C65207769746820607061727449 -S21401BDB0600000006C765F6F626A5F7365745F7027 -S21401BDC06F733A206E6F74206368616E67696E6781 -S21401BDD020706F736974696F6E206F66207363726B -S21401BDE065656E206F626A65637400006C765F6FCE -S21401BDF0626A5F6164645F7374796C653A2063613B -S21401BE006E27742066696E64207374796C6520777A -S21401BE106974682060747970656000006C765F6F85 -S21401BE20626A5F6372656174653A206E6F7420643E -S21401BE306973706C617920637265617465642074DE -S21401BE406F20736F206661722E204E6F20706C61BA -S21401BE50636520746F2061737369676E207468650B -S21401BE60206E65772073637265656E004F626A6542 -S21401BE70637420637265617465207265616479001C -S21401BE8043616E2774207365742074686520706141 -S21401BE9072656E74206F6620612073637265656ECD -S21401BEA00000000043616E27742073657420706182 -S21401BEB072656E74203D3D204E554C4C20746F20AB -S21401BEC0616E206F626A6563740000006C765F6F56 -S21401BED0626A00006C765F726566725F61726561A8 -S21401BEE0000000002E2E2F746869726470617274EF -S21401BEF0792F6C76676C2F7372632F6C765F636F26 -S21401BF0072652F6C765F726566722E6300000000A4 -S21401BF1043616E2774207365742056444220686519 -S21401BF2069676874207573696E6720746865207226 -S21401BF306F756E642066756E6374696F6E2E202849 -S21401BF4057726F6E6720726F756E645F6362206FE3 -S21401BF507220746F20736D616C6C20564442290008 -S21401BF605F6C765F7374796C655F6C6973745F720E -S21401BF70656D6F76655F7374796C65005F6C765F6F -S21401BF807374796C655F6C6973745F6164645F7305 -S21401BF9074796C65000000006765745F616C6C6F96 -S21401BFA0635F6C6F63616C5F7374796C650000002E -S21401BFB05F6C765F7374796C655F7365745F696EC9 -S21401BFC0740000005F6C765F7374796C655F7365EF -S21401BFD0745F636F6C6F72005F6C765F7374796CFD -S21401BFE0655F7365745F6F70610000005F6C765FFC -S21401BFF07374796C655F7365745F707472000000AA -S21401C0005F6C765F7374796C655F6C6973745F617E -S21401C01064645F7472616E735F7374796C6500003B -S21401C0202E2E2F746869726470617274792F6C7623 -S21401C030676C2F7372632F6C765F636F72652F6CFC -S21401C040765F7374796C652E630000006C765F739F -S21401C05074796C655F6C6973745F72656D6F766514 -S21401C0605F7374796C653A20636F756C646E2774C0 -S21401C070207265616C6C6F6361746520636C6173BB -S21401C08073206C69737400006C765F7374796C65E9 -S21401C0905F6C6973745F6164645F7374796C653A2D -S21401C0A020636F756C646E27742061646420746805 -S21401C0B06520636C617373006765745F6C6F6361A1 -S21401C0C06C5F7374796C653A20636F756C646E2768 -S21401C0D07420637265617465206C6F63616C207394 -S21401C0E074796C65000000006C765F7374796C651A -S21401C0F05F6C6973745F6164645F7472616E735FB1 -S21401C1007374796C653A20636F756C646E2774205E -S21401C110637265617465207472616E736974696FA8 -S21401C1206E207374796C650066696C6C5F626C6511 -S21401C1306E646564000000006D61705F626C656E20 -S21401C140646564002E2E2F7468697264706172745F -S21401C150792F6C76676C2F7372632F6C765F6472BF -S21401C16061772F6C765F647261775F626C656E646F -S21401C1702E63000066696C6C5F626C656E64656454 -S21401C1803A20756E737570706F7274656420626C98 -S21401C190656E64206D6F646500000000FFFF00009F -S21401C1A06C765F647261775F696D67006C765F6954 -S21401C1B06D675F647261775F636F72650000000090 -S21401C1C02E2E2F746869726470617274792F6C7682 -S21401C1D0676C2F7372632F6C765F647261772F6C56 -S21401C1E0765F647261775F696D672E630000000099 -S21401C1F0496D61676520647261773A2073726320C6 -S21401C2006973204E554C4C004E6F0A646174610090 -S21401C210496D6167652064726177206572726F721D -S21401C22000000000496D61676520647261772063D4 -S21401C230616E2774207265616420746865206C697C -S21401C2406E65000000FF00000055AAFF00112233B2 -S21401C250445566778899AABBCCDDEEFF0001020340 -S21401C2600405060708090A0B0C0D0E0F1011121310 -S21401C2701415161718191A1B1C1D1E1F2021222300 -S21401C2802425262728292A2B2C2D2E2F30313233F0 -S21401C2903435363738393A3B3C3D3E3F40414243E0 -S21401C2A04445464748494A4B4C4D4E4F50515253D0 -S21401C2B05455565758595A5B5C5D5E5F60616263C0 -S21401C2C06465666768696A6B6C6D6E6F70717273B0 -S21401C2D07475767778797A7B7C7D7E7F80818283A0 -S21401C2E08485868788898A8B8C8D8E8F9091929390 -S21401C2F09495969798999A9B9C9D9E9FA0A1A2A380 -S21401C300A4A5A6A7A8A9AAABACADAEAFB0B1B2B36F -S21401C310B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C35F -S21401C320C4C5C6C7C8C9CACBCCCDCECFD0D1D2D34F -S21401C330D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E33F -S21401C340E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F32F -S21401C350F4F5F6F7F8F9FAFBFCFDFEFF6C765F6480 -S21401C3607261775F6C6574746572000064726177E0 -S21401C3705F6C65747465725F737562707800000037 -S21401C380647261775F6C65747465725F6E6F726DEF -S21401C390616C00000024496D92B6DBFF2E2E2F74CF -S21401C3A06869726470617274792F6C76676C2F732A -S21401C3B072632F6C765F647261772F6C765F64723E -S21401C3C061775F6C6162656C2E6300006C765F64FA -S21401C3D07261775F6C65747465723A20666F6E740D -S21401C3E0206973204E554C4C000000006C765F644B -S21401C3F07261775F6C65747465723A20676C7970E8 -S21401C40068206473632E206E6F7420666F756E6489 -S21401C410000000006C765F647261775F6C6574740F -S21401C42065723A206368617261637465722773206E -S21401C4306269746D6170206E6F7420666F756E64CC -S21401C440000000006C765F647261775F6C657474DF -S21401C45065723A20696E76616C696420627070203C -S21401C4606E6F7420666F756E640000006C765F6494 -S21401C4707261775F6C65747465723A20696E766175 -S21401C4806C69642062707000808080818182828302 -S21401C49084858687898A8C8D8F91939597999B9EA3 -S21401C4A0A0A2A5A7AAADAFB2B50000006C765F64E6 -S21401C4B07261775F6D61736B5F6164640000000099 -S21401C4C06C765F647261775F6D61736B5F616E67D7 -S21401C4D06C655F696E6974002E2E2F7468697264CC -S21401C4E070617274792F6C76676C2F7372632F6C20 -S21401C4F0765F647261772F6C765F647261775F6DC9 -S21401C50061736B2E630000006C765F6D61736B5F09 -S21401C5106164643A206E6F20706C61636520746F8D -S21401C5202061646420746865206D61736B0000008F -S21401C530556E657870656374656420737461727492 -S21401C5405F616E676C650000556E65787065637433 -S21401C550656420656E645F616E676C65000000004F -S21401C560FFFF0000647261775F7061747465726EBC -S21401C570000000002E2E2F74686972647061727458 -S21401C580792F6C76676C2F7372632F6C765F64728B -S21401C59061772F6C765F647261775F726563742E64 -S21401C5A063000000647261775F696D673A206361BA -S21401C5B06E27742067657420696D61676520696EF2 -S21401C5C0666F00006C765F696D675F6465736967A7 -S21401C5D06E3A20696D61676520736F7572636520B9 -S21401C5E07479706520697320756E6B6E6F776E0057 -S21401C5F000112233445566778899AABBCCDDEEFF3D -S21401C6006C765F696D675F6275665F7365745F7090 -S21401C610616C6574746500005F6C765F696D675F59 -S21401C62063616368655F6F70656E00006C765F6955 -S21401C6306D675F63616368655F7365745F73697A6D -S21401C640650000002E2E2F74686972647061727422 -S21401C650792F6C76676C2F7372632F6C765F6472BA -S21401C66061772F6C765F696D675F63616368652EBE -S21401C670630000006C765F696D675F636163686580 -S21401C6805F6F70656E3A20746865206361636865E4 -S21401C6902073697A6520697320300000696D6167CF -S21401C6A06520647261773A206361636865206D690D -S21401C6B073732C20636C6F736520616E64207265E2 -S21401C6C075736520616E20656E74727900000000D6 -S21401C6D0696D61676520647261773A20636163689A -S21401C6E065206D6973732C206361636865642074CB -S21401C6F06F20616E20656D70747920656E74727935 -S21401C70000000000496D61676520647261772063EF -S21401C710616E6E6F74206F70656E20746865206937 -S21401C7206D616765207265736F75726365000000E1 -S21401C7306C765F696D675F6465636F6465725F627F -S21401C74075696C745F696E5F696E666F00000000E4 -S21401C7506C765F696D675F6465636F6465725F625F -S21401C76075696C745F696E5F6F70656E00000000BE -S21401C7706C765F696D675F6465636F6465725F623F -S21401C78075696C745F696E5F6C696E655F747275EE -S21401C790655F636F6C6F72000011223344556677D4 -S21401C7A08899AABBCCDDEEFF6C765F696D675F6426 -S21401C7B065636F6465725F6275696C745F696E5FED -S21401C7C0726561645F6C696E650000006C765F6916 -S21401C7D06D675F6465636F6465725F6372656174DC -S21401C7E0650000005F6C765F696D675F6465636F07 -S21401C7F06465725F696E6974000000002E2E2F74E6 -S21401C8006869726470617274792F6C76676C2F73C5 -S21401C81072632F6C765F647261772F6C765F696DD9 -S21401C820675F6465636F6465722E6300496D616757 -S21401C830652067657420696E666F2067657420726F -S21401C8406561642066696C6520686561646572006F -S21401C850496D6167652067657420696E666F20663D -S21401C8606F756E6420756E6B6E6F776E2073726374 -S21401C870207479706500000062696E004275696C0B -S21401C880742D696E20696D616765206465636F64E8 -S21401C89065722063616E2774206F70656E20746800 -S21401C8A0652066696C650000696D675F6465636F26 -S21401C8B06465725F6275696C745F696E5F6F7065DF -S21401C8C06E3A206F7574206F66206D656D6F727994 -S21401C8D000000000496D616765206465636F6465EB -S21401C8E072206F70656E3A20756E6B6E6F776E2074 -S21401C8F0636F6C6F7220666F726D6174000000006A -S21401C9004275696C742D696E20696D616765206476 -S21401C91065636F646572207365656B206661696C1B -S21401C920656400004275696C742D696E20696D61DD -S21401C9306765206465636F64657220726561642053 -S21401C9406661696C656400004275696C742D696E78 -S21401C95020696D616765206465636F646572207226 -S21401C960656164206E6F7420737570706F72747376 -S21401C9702074686520636F6C6F7220666F726D61DC -S21401C980740000006C765F696D675F6465636F6451 -S21401C99065725F696E69743A206F7574206F6620E0 -S21401C9A06D656D6F727900006C765F666F6E745F91 -S21401C9B06765745F6269746D61705F666D745F74DC -S21401C9C0787400002E2E2F74686972647061727418 -S21401C9D0792F6C76676C2F7372632F6C765F666F38 -S21401C9E06E742F6C765F666F6E745F666D745F74BF -S21401C9F078742E630000000008CA010054D60100B6 -S21401CA00B8D501003D310000000100000000000023 -S21401CA10000100000300000000020000000000000A -S21401CA2000000000000000000000010000000000FF -S21401CA30000000000000000000010C0007FA0000E2 -S21401CA400000F2F1020C0604F6020D010B030800C9 -S21401CA50000000000000000000000F02FE000000C1 -S21401CA600000000000000000000500F800000000C3 -S21401CA7000FB04050000FD00FE0300FD00FDFFFBBA -S21401CA8000000000FD0000FDFC0000FD00FB0000B2 -S21401CA9000000000000000FDFD00FC00F900E100C0 -S21401CAA000FB0005080000FB03030805FC05000069 -S21401CAB0F10000000000000000000000F700000088 -S21401CAC00000000000000000000000F9FDF300F681 -S21401CAD0FE00000000010A00F8FEFF0100FC000055 -S21401CAE0FEED0000000000000000000000ECFE0A61 -S21401CAF0000000000000000000000000F60000003A -S21401CB00000000000000000800030000FB00000019 -S21401CB1000000000000000000000000000000A0203 -S21401CB2001000000000000000000000000000000FE -S21401CB3000000000000000000000000000000000EF -S21401CB400000000000000000F700000000000000E8 -S21401CB5000000000000000000000000000000002CD -S21401CB60050308FD000005FDF8DD02070501FD00CF -S21401CB70090008000800E800FD080008FD0503009C -S21401CB800001FD0000FC1400140008000B0304085B -S21401CB90000000F70000000001FE0002FBFDFB02A2 -S21401CBA000FD000000F6000000000000000000008C -S21401CBB000EF000000000000000000000000000080 -S21401CBC00001F200F000000000FE0019FDFD030365 -S21401CBD0FE00FD030000F20000000000000000005F -S21401CBE00000E70003000000000000000000000055 -S21401CBF000F0000F0000F7000800EFE7EFFB080069 -S21401CC0000EF0003FA00FC00000000000000000036 -S21401CC100000000708E1000000000000000000001E -S21401CC2000000C000200000000000202FDFB00FFF5 -S21401CC30FFFD0000FE000000FB00FE00FAFB00FA0C -S21401CC40F8F8FB00FB00FB00000000FE00000300FC -S21401CC5002FD000100000003FE000000FE0303FFCA -S21401CC60000000FB00FF0000000000010003FE00C2 -S21401CC70FD00FC0000FE00080000FD0000000000B2 -S21401CC80FF01FEFE0000FD00FD00000000000000A8 -S21401CC900000FFFF00FDFD0000000000010000FE97 -S21401CCA000FDFDFD000000000000000000FE000089 -S21401CCB00000FEFD00FC00F8FEF8050000FB030581 -S21401CCC00700FAFFFD00FFF403FE02F20300000175 -S21401CCD0F300F2FEEAFE00F3000507000300000081 -S21401CCE0000100FBFD00F8000000FD000000FD0053 -S21401CCF000000000FFFF00FFFD0000000000000034 -S21401CD00FDFD00FEFDFE0000FD000000000000002D -S21401CD1000000000FEFE00FD00FE00FB030000FD1B -S21401CD20010303000000000000FE000000000002F6 -S21401CD300000FD00FDFEFD000000000000000200F6 -S21401CD40FE00000000FDFC00FB0008FE01F80000EC -S21401CD5007F3F3F5FB0300FEEFFB00FB00FB04FB10 -S21401CD60F000F9000001FF02FE000300F8F600F3F0 -S21401CD70FAFBFAF8FDF9FFFBF902000100FD0000DD -S21401CD80000200030000000000000000000000FD9B -S21401CD9000FF00FFFD00FCFAFAFF00F800000000AB -S21401CDA00000FE0000000001FE000000030000007D -S21401CDB000000000000C000000000000020000005F -S21401CDC0FD0000000000000000000000FB00030062 -S21401CDD0000000000000000000000000FE0000004F -S21401CDE0FB00000000F3F8000000FCF30000FD0368 -S21401CDF000F900000000000000000000FC0000FB3D -S21401CE000000000000000000000000000300FB001E -S21401CE10000000030002FBFB00FDFDFD000000001A -S21401CE200000F800FD00FCFD00FAFAF8FE00FB0029 -S21401CE30F800000000140000010000FD000300F5EA -S21401CE400000000000E8FB0808FEF50003FC00F304 -S21401CE50FFFD03EEFD030004F7FCF7F8F50000F113 -S21401CE60000F0000FF000000FFFFFDF9F8FFE800DB -S21401CE7000000000000000000100000000000000AB -S21401CE80000000000000000000FD00FFFDFC0000A7 -S21401CE90FB00FD0000000000000000000000000094 -S21401CEA00000FF00FB000005FF0300FA03FEFFF988 -S21401CEB0FD00FDFDFE00FCFC0000FEFFFEFCFD008B -S21401CEC000FD0003FE00FA000000FB00FC00FCFC75 -S21401CED0030000000000000000FB0300FC00FEFD54 -S21401CEE0F8FEFEFEFFFEFDFF0000000000FDFEFE58 -S21401CEF00000000003FE00FE000000FEFDFEFEFD39 -S21401CF00FE00020AFF00F900FE0500FDF5FD040023 -S21401CF1000F4FC03FC0200FEFEF800FC010000FC2D -S21401CF200000000303FBFB00FCFDFCFDFD00FC0113 -S21401CF30FBFC0800000000000000000003000000E9 -S21401CF4000000000000000000000000000000000DB -S21401CF5000000000FC0000000000000000000000CF -S21401CF6000000000000000000000000000000000BB -S21401CF7000000000000000000000000000000000AB -S21401CF80FE0000000000000000000000000000009D -S21401CF900000000000000000000000000000FEFD90 -S21401CFA0000000000000000000000000FC0000FD82 -S21401CFB00000FDFD00000000FD00000000FF000075 -S21401CFC0000000FE00000000FC00FB000000F8006E -S21401CFD002FA0501FEF40000FAFD00F6FAF9000077 -S21401CFE0F5FDF6F6F400F9000211FD00FAFDFFFD6D -S21401CFF0FCF9FBF7F6FAFD0000FE00010000EEFE6C -S21401D0000806FAF70001F800F3FEFD05E8FD010049 -S21401D01000EFFDF3FDED0000EE000F0100FE000045 -S21401D0200000FFFEF6FE00EF00000000F800FE0024 -S21401D030FFF9F40000FFFCF8FD00FE00000000F41C -S21401D040FDF8F8FEFCFAFDFC00FBFEF8FC00FDFB1B -S21401D050FDFB000100FEF8000500FB0000000003D8 -S21401D0600002FB0A00FDFDFD000000000000F800C4 -S21401D070FD00FCFD00FAFAF8FE00FB020A000000C3 -S21401D08000140000010000FD000300000000000085 -S21401D0900000FF0000000000FEFB0000000000FF93 -S21401D0A0000000FDFD0000FBFD0000FB0004FF008A -S21401D0B000000000000100000000040502FE00F868 -S21401D0C0FC0008F8F8FBFB0A0503EAFE05FD00FD77 -S21401D0D003FDF700FD03FDFEF8FE0000080500F95C -S21401D0E000F2FD07FDF601FDF8F8FD0A0300FC005D -S21401D0F0F9000208FAF7F6FA080001EDFE03FCFE55 -S21401D100FA00FAF7FCFCFE0000FAFBFD000806FD3B -S21401D110F200F2FC00F7F1FFF8FCF8F9070000FD59 -S21401D12000FBFE00FDFB0004F8030000F200FDFA20 -S21401D130FCFEF8FAF8FA00F8FDFAFBF8FD0000012B -S21401D1400CFC00F8FD00FDFBFAF9F9F6FDFB050005 -S21401D150FC00F3FD0205F8F7FBF808FD01E8FB0506 -S21401D160FAFCF700F8F5FDFDFEFDFBF8FF000008F0 -S21401D17007FEEF00F1FA06F6EFFBF7F5F3F8050008 -S21401D180000000FD000003FD0502FB050000F8FF9E -S21401D19000FF000101FE000000000000FD0000008D -S21401D1A00002080100FD00000000FEFEFD00000078 -S21401D1B00102000000000200FE000A00050101FD58 -S21401D1C00005000000020000000000000000000052 -S21401D1D0000800070000000000000000000000003A -S21401D1E00000F100FD04000800001903FBFB030327 -S21401D1F0FE01F300000CF10000000000000000003A -S21401D2000000EF0A240000000000000000000000FB -S21401D21000F1000000000000000000000000000017 -S21401D220000000000000000000000000FC0000FB01 -S21401D230FE000000000000000000000000000000EA -S21401D24000000000FE00F900000100000321FBFEC3 -S21401D2500807F90300000303FD00000000000000BA -S21401D26000000000DF0700000000000000000000D2 -S21401D27000000000000000F9000000F900000000B6 -S21401D280FAFF000000FA00FD00F4000000000000B4 -S21401D2900000000000EF0000000001000000000098 -S21401D2A000FD0000FB00FC00F9000000FC03FD008F -S21401D2B000F9FDFA0000F900FD00F400FD0000EBA6 -S21401D2C0FBF6FDF70000EF00F9FF0000000000008C -S21401D2D00000FCFBFEFC00000000FA00FA03FD055E -S21401D2E000FEFAFEFCFB00FDFFFE02F9FF00000057 -S21401D2F0E9FEFC00FA00FEF4FE0000FEFE0000005F -S21401D300000200FEFCFE0400000000000000000019 -S21401D3100000000000000000000000000000000007 -S21401D32000000000000000000000000000000000F7 -S21401D330000003000000000000FA00FE000000FBF1 -S21401D34003000000F9FDFB0000F900FD00F40000F9 -S21401D3500000E700FBF7F30000EF00FEFC00000012 -S21401D3600000000000FDFCFFFC01000004FD0008B9 -S21401D3700DFDFDF8030D0406F9030B030706070070 -S21401D38000000000000000000000100CFBFD00FE85 -S21401D390140B14000000030000090000FC0000004C -S21401D3A0000000000000FE00000000000000000475 -S21401D3B000000000EAFDFEF6F30000EF00000000AA -S21401D3C000000000000000000000000000FC00005B -S21401D3D000000000000000FE000000000000000049 -S21401D3E00400000000EAFDFEF6F30000F60000006F -S21401D3F00000000000000000000000000000000027 -S21401D400FE000000FA0300FD020503F800FFFE031C -S21401D410000200000000FA00FEFEFB00FEF600100F -S21401D420FD00FAFE00FEFC00FDF9FBFD000000FC1D -S21401D430000000000000000000FE000000000000E8 -S21401D44000000400000000EAFDFEF6F30000EF0015 -S21401D45000000000000D00000000000000000000B9 -S21401D460FC00F8FDFE08FEFDF601FE01FEF90106D0 -S21401D47001020102FAF6FD00F6FBF9F5F600FCFBE7 -S21401D480FDFDFEFEFDFE00FEFF040004FE0008009A -S21401D4900000000000000000000000FEFDFD00008E -S21401D4A0F900FF00FC000000000000000000000082 -S21401D4B0F10000000000000000000000FDFD00FD7E -S21401D4C000000000FE0000FCFD0300FCFBFE00F96E -S21401D4D0FEFAFEFD00FC0000000000000000000057 -S21401D4E000EF00080000FB00000000FD00FD00004A -S21401D4F0FF0000FE00FA00000BFDF8F8020303FF30 -S21401D500F9020402080208FEF90000F60000F8F924 -S21401D5100000FB00FDFC00FC00FC00FE0400FEF821 -S21401D520FD090000FE00FB000003FA0003FD0200F7 -S21401D53000F800FEFF00FD03FE000000F6FDFA0005 -S21401D540F80000F40009FD00FB000200FD00FDF8F4 -S21401D55000FD0300000000FE000003FD010000FDC9 -S21401D560FE00FD00000000000000000000000000BA -S21401D57000000000F000060000FE000000000100B0 -S21401D580FDFD0000000500060000000000F0F101AE -S21401D5900B0804F6020B000900050000000000005D -S21401D5A000000000000E0000000000000000000067 -S21401D5B00000000000000000000001020003040556 -S21401D5C002060708090A090A0B0C0D0E0F10110CAA -S21401D5D01213141515000000161718191719191922 -S21401D5E01719191A1919191917191719031B1C1DB7 -S21401D5F01D1E1F2021222300240025262727270061 -S21401D6002726282926262A2A272A272A2B2C2D2E82 -S21401D6102E2F2E30000023093109000000000000E3 -S21401D62000000000000000000000000000000000F4 -S21401D63000000000000000000000000000000000E4 -S21401D64000000000000000000000000000000000D4 -S21401D650000000000000010200030405020607089E -S21401D660090A090A0B0C000D0E0F101112130C14E7 -S21401D670140000001516171819161A1B1C1D1D1E5E -S21401D6801F201D1D1621222303241E25252627289B -S21401D690292A2B002C002D2E2F303132332D3434F5 -S21401D6A035302D2D2E2E36373839333A3A3B3A3C23 -S21401D6B0290000093D0900000000000000000000EC -S21401D6C00000000000000000000000000000000054 -S21401D6D00000000000000000000000000000000044 -S21401D6E00000000000000000000000000000000034 -S21401D6F0200000005F0001000000000000000000A4 -S21401D70000000000B0000000F3F7600018D7010029 -S21401D710000000003B0002000000721F51EF58EFAE -S21401D7205BEF5CEF5DEF61EF63EF65EF69EF6CEF69 -S21401D73071EF76EF77EF78EF8EEF98EF9BEF9CEF38 -S21401D7409DEFA1EFA2EFA3EFA4EFB7EFB8EFBEEF07 -S21401D750C0EFC1EFC4EFC7EFC8EFC9EFCBEFE3EF00 -S21401D760E5EF14F015F017F037F03AF043F06CF0EF -S21401D77074F0ABF03BF190F191F192F193F194F1E9 -S21401D780D7F1E3F13DF254F2AAF412F7F2F70000F2 -S21401D790000000000000000000005004000000002F -S21401D7A000005004030C01001200400605050107A5 -S21401D7B01F00400B0B0C00006100F0090A1000FE70 -S21401D7C0B100800D0D0C0000FF00000B0B0D00FFDB -S21401D7D047016003020501074C016005040F01FDC6 -S21401D7E06A017005040F00FD880160060707000541 -S21401D7F0A101500908080102C101A003030500FEAA -S21401D800C901200606030003D201A003030300009A -S21401D810D701A0050810FFFE1702B00A0A0C000087 -S21401D8205302F005050C000071023009090C0000D6 -S21401D830A7022009090C0000DD02B00A0B0C00004B -S21401D8401F033009090C00005503E0090A0C00000B -S21401D85091039009090C0000C703500A0A0C000046 -S21401D8600304E0090A0C00003F04A00303090000BA -S21401D8704D04A003030C00FD5F04500908080102D3 -S21401D8807F0450090806010397045009080801029D -S21401D890B7043009090C0000ED049010100F00FDCC -S21401D8A06505B00B0D0CFF00B305200C0B0C010039 -S21401D8B0F505900B0B0C00003706300D0C0C010023 -S21401D8C07F06C00A090C0100B506300A090C0100E2 -S21401D8D0EB06600C0C0C00003307000D0B0C01006E -S21401D8E07507F004030C010087073008080CFF00D9 -S21401D8F0B707800B0B0C0100F9078009090C010022 -S21401D9002F08400F0D0C01007D08000D0B0C0100C7 -S21401D910BF08700D0D0C00000D09900B0A0C0100DC -S21401D9204909700D0E0F00FDB209A00B0A0C01008B -S21401D930EE09F0090A0C00002A0A60090A0C000028 -S21401D940660AA00C0B0C0100A80A600B0D0CFF0068 -S21401D950F60A0012120C0000620BC00A0B0C000043 -S21401D960A40B600A0C0CFF00EC0B800A0B0C0000E9 -S21401D9702E0C5005050F01FD540CA0050810FFFEE6 -S21401D980940C5005040F00FDB20C50090807010263 -S21401D990CE0C0008080200FED60CA0090502010AFA -S21401D9A0DB0C900909090000040DF00A0A0C0100BD -S21401D9B0400D200909090000690DF00A0A0C000053 -S21401D9C0A50DD0090A090000D20DA005070C00001C -S21401D9D0FC0D100B0A0C00FD380EE00A090C0100C4 -S21401D9E06E0E7004030C0100800E9004060FFEFDFF -S21401D9F0AD0EE009090C0100E30E7004020C0100F3 -S21401DA00EF0EF0100F090100330FE00A09090100BB -S21401DA105C0F300A0A090000890FF00A0A0C01FDA2 -S21401DA20C50FF00A0A0C00FD011090060609010058 -S21401DA301C100008080900004010A006070B000093 -S21401DA406710D00A090901009010F0080A09FF00C2 -S21401DA50BD10600E0F0900000111D0080909000071 -S21401DA602A11F0080A0CFFFD66115008080900008B -S21401DA708A11A005060F00FDB711D004030F01FDA2 -S21401DA80CE11A005050F00FDF4115009090500048B -S21401DA900B12B006060600061D120005030401035C -S21401DAA023120010101100FEAB120010100C000023 -S21401DAB00B130010100E00FF7B130010100C00005B -S21401DAC0DB13000B0B0C00001D140010101000FEE1 -S21401DAD09D140010101000FE1D150012120E00FFFE -S21401DAE09B150010101000FE1B160012120C0000F1 -S21401DAF087160010101000FE07170008080E00FF1A -S21401DB003F17000C0C0E00FF93170012121000FEB8 -S21401DB1023180010100C00008318000E0A1002FED5 -S21401DB20D318000E0E1200FD5119000E0E0F00FF45 -S21401DB30BA19000E0E0E00FF1C1A000E0A1002FE85 -S21401DB406C1A000E100EFFFFDC1A000A0A0E00FF08 -S21401DB50221B000A0A0E00FF681B000E0E0E00FFB5 -S21401DB60CA1B000E0E040004E61B0012120C000075 -S21401DB70521C0014141000FEF21C00121410FFFEBA -S21401DB80921D0010101000FE121E000E0E0A00015B -S21401DB90581E000E0E0A00019E1E0014140E00FFF1 -S21401DBA02A1F0010100C00008A1F0010101000FE23 -S21401DBB00A2000101111FFFE9B20000E0F0E00FF21 -S21401DBC00421000E0E1000FE7421000E0E0E00FF42 -S21401DBD0D621000A0C10FFFE3622000E0E1000FEA3 -S21401DBE0A622000E0E1000FE16230012120C0000D4 -S21401DBF0822300101212FFFD2424000C0C1000FEDC -S21401DC0084240014140F00FF1A250014140A0001BE -S21401DC107E250014140A0001E2250014140A0001EE -S21401DC2046260014140A0001AA260014140A00014C -S21401DC300E270014150E00FFA127000E0C1001FE82 -S21401DC400128000E0E1000FE712800101111FFFDB4 -S21401DC5002290014140C00007A29000C0C1000FE96 -S21401DC60DA292010110B0001BF0BF0AF0AE09E0865 -S21401DC70D08C07C0000010BF1AE0F51F3F51F3E437 -S21401DC800F3E40F27208100005C003E000007A0063 -S21401DC905C0000098007A001FFFFFFFFFD033E7344 -S21401DCA03C833000F200C500000F100E300002F079 -S21401DCB000F2009FFFFFFFFF4138C336E3300089C3 -S21401DCC0005C00000A7007A0000000790000000058 -S21401DCD0790000005CFFE92006FCBC9E900EB0793E -S21401DCE000100F807900000DF579000003EFFD505C -S21401DCF0000006CFFE400000795EF100007905F3D2 -S21401DD0007007907F12FE9BCAFA003AEFFD70000EB -S21401DD1000790000000079000003DE800005D000D5 -S21401DD20E40C5001E3004C005A00A90006A004C010 -S21401DD304E00004C005A0D500000E41C58A0000094 -S21401DD4003CE73E13CE9000000D60E40A800007C3B -S21401DD5003C003D0002E203C003D000B7000E209FA -S21401DD608006D00004DDA00009EFB1000009E43C04 -S21401DD70A00000D9007D00000CC01CA000003FAE32 -S21401DD80C1000001DFC0000003EB8F701800DB004C -S21401DD907F65F03F40008FEA03F70000CF700BF974 -S21401DDA066CFBF4008DFEA30A5000000000000F59E -S21401DDB0F5E4E47200DA05F20BC00F703F405F2015 -S21401DDC06F107F006F105F203F400F700BC005F291 -S21401DDD000DA3F300CB006F101F600E900BC00ADF8 -S21401DDE000AE00AD00BC00E901F606F10CB03F3014 -S21401DDF0004A000674A4A02BFFE5007FFB207B6B86 -S21401DE008D0004A0000013000000051000000F5054 -S21401DE1000000F5000011F5110EFFFFFF3344F7445 -S21401DE2040000F5000000F50000952FD0BA0C50F17 -S21401DE30000111101FFFF30444400312FC1E900062 -S21401DE400005F100000AB000000F6000005F10003E -S21401DE5000AB000000F6000005F100000AB000006B -S21401DE600F6000004F100000AC000000F600000438 -S21401DE70F100000AC000000E6000004F1000000014 -S21401DE8008EFC50000CFA8CF7007F5000AF20DC055 -S21401DE900001F81F800000DC3F600000BD3F60000D -S21401DEA000BD1F800000DC0DC00001F807F5000A68 -S21401DEB0F200CFA8CF700008EFC500EFFF367AF367 -S21401DEC0005F3005F3005F3005F3005F3005F300B7 -S21401DED05F3005F3005F3005F304BEFD7007FD9863 -S21401DEE0CF90280000BF00000007F2000000AF003E -S21401DEF000004F8000003FC000003EC100002EC160 -S21401DF0000002ED100002EF8777746FFFFFFFA6F4C -S21401DF10FFFFFF0277779FB000000CE1000009F3D6 -S21401DF20000005F6000000DFE910000459FD0000BE -S21401DF300006F40000003F64400008F3BFC98CFBF4 -S21401DF40007CFFD700000001EB00000000BE1000BF -S21401DF5000006F500000002F900000000CD0000061 -S21401DF600008F301D50003F8002F6000ED2223F727 -S21401DF70216FFFFFFFFF81555556F9520000002F14 -S21401DF806000000002F60005FFFFFF007F77777054 -S21401DF9008E0000000AD0000000BC2100000DFFF2B -S21401DFA0FB30045568FF20000004F80000000F92C3 -S21401DFB0500005F68FD98AFD105BEFE9100005CEFB -S21401DFC0FC60009FC88B7005F80000000CD00000B4 -S21401DFD0001F800000002F68EFFA103FEE648FD01C -S21401DFE02FF10006F40EC00002F609F10006F30157 -S21401DFF0DE869FB00019EFD8008FFFFFFFE8F777A6 -S21401E00077FC8F00004F5590000BE0000002F800EF -S21401E01000009F1000000FB0000006F4000000DDB5 -S21401E0200000003F7000000AF1000001F900000046 -S21401E0305CFFD70006FC76AFA00CD00009F10DC03E -S21401E0400007F207F7115EC000BFFFFE1009F95482 -S21401E0507ED02F800004F64F500000F81FA0000568 -S21401E060F609FB76AFD0006CFFD810008EFD80005D -S21401E0700CF868FC005F50003F708F00000EC07FF8 -S21401E08030001FF01FD413CFF104EFFFA9F00002F8 -S21401E090310AF00000000EA00000009F3009A78D95 -S21401E0A0F70007DFEB40001E92FC031000000000A3 -S21401E0B00312FC1E901E92FC0310000000000001DB -S21401E0C0E91FD0A80E30A00000004200017DF30336 -S21401E0D09FE810BFB50000EE81000017DFB4000016 -S21401E0E004AFD200000182EFFFFFF3455555510002 -S21401E0F000000001111110EFFFFFF33444444050BB -S21401E100000000EF92000006CFB50000039FE2007A -S21401E110006CF3029EE920BFC600009300000004D5 -S21401E120BEFD7007FC77BFA0270000CF00000009E6 -S21401E130F0000001EA000001DD100000CE10000032 -S21401E1403F60000001300000000100000006F500FD -S21401E15000005F4000000017CEFDB500000005FB83 -S21401E16053237DC200006E400000008E1002F401B1 -S21401E170AEFA3F49B00A901EE65BEF40E30F308FE0 -S21401E1801000AF40981F00D900003F406A3F00E8EA -S21401E19000001F405C1F00D900003F406A0F308F0F -S21401E1A01000AF40980A901ED65ADEA6F203F3017D -S21401E1B0AFFA16EE50006E4000000000000006FBAD -S21401E1C05323750000000017CEFDA30000000002D7 -S21401E1D0FD00000000009FF4000000000F9EB0004C -S21401E1E0000006F27F20000000DC01F80000004F6E -S21401E1F0600BE000000BF0004F600001FA1111ED1A -S21401E20000008FFFFFFFF3000EC444444FA006F446 -S21401E210000000AF10CD00000002F85FFFFFEB40EA -S21401E22005F85557DF405F400001FA05F400000F7E -S21401E230A05F51113AF405FFFFFFFA005F744459DD -S21401E240FA05F4000008F25F4000005F45F40000A4 -S21401E25009F25F85556AFB05FFFFFFD70000028DB7 -S21401E260FEB40004FFB89DF902FD20000850BF204F -S21401E2700000000FA000000002F6000000002F6062 -S21401E28000000000FA000000000BF2000000002F62 -S21401E290D2000085005FFB89DF800029DFEB405F4D -S21401E2A0FFFFEA30005F97779EF8005F400000AFFF -S21401E2B0605F4000000DE05F40000006F45F400034 -S21401E2C00003F65F40000003F65F40000006F45FBF -S21401E2D04000000DE05F400000AF605F97779EF85A -S21401E2E0005FFFFFEA30005FFFFFFF95F977777465 -S21401E2F05F40000005F40000005F51111105FFFFAB -S21401E300FFE05F74444405F40000005F4000000530 -S21401E310F40000005F97777765FFFFFFFD5FFFFF63 -S21401E320FF95F97777745F40000005F40000005F01 -S21401E33040000005F52222105FFFFFFE05F8555547 -S21401E340405F40000005F40000005F40000005F457 -S21401E35000000000018DFEB500004FFB89DFB00212 -S21401E360FD200006600BF2000000000FA000000078 -S21401E370002F60000000002F60000009F00FA000D1 -S21401E3800009F00BF2000009F002FD20000AF0007F -S21401E3904FFB89DFC000028DFEC6005F4000004FC4 -S21401E3A055F4000004F55F4000004F55F4000004EA -S21401E3B0F55F5222225F55FFFFFFFFF55F8555553A -S21401E3C08F55F4000004F55F4000004F55F400003F -S21401E3D004F55F4000004F55F4000004F55F45F476 -S21401E3E05F45F45F45F45F45F45F45F45F45F4002F -S21401E3F0FFFFFA007777FA000000FA000000FA0043 -S21401E4000000FA000000FA000000FA000000FA001E -S21401E4100000F9072003F60DE98EF101AEFB305F2F -S21401E420400002EB05F40001EC005F4001DE100540 -S21401E430F400CE20005F40BF300005F49F9000003E -S21401E4405FCFEF400005FF91EE10005FA003FC00D8 -S21401E45005F40006F8005F400009F505F400000C1D -S21401E460F25F40000005F40000005F40000005F484 -S21401E4700000005F40000005F40000005F4000005F -S21401E48005F40000005F40000005F40000005F97FF -S21401E490777725FFFFFFF55F400000001E95FC0023 -S21401E4A0000008F95FF5000002FF95FDE00000AEF0 -S21401E4B0F95F5F70003F5F95F38F100BC0F95F3116 -S21401E4C0E904F30F95F307F2DB00F95F300DEF2057 -S21401E4D00F95F3005F9000F95F300071000F95F320 -S21401E4E000000000F95F5000004F55FF200004F5C2 -S21401E4F05FFD00004F55FAF90004F55F4AF5004F3D -S21401E50055F40DF204F55F402FD04F55F4006F948B -S21401E510F55F4000AFAF55F40000DFF55F40000245 -S21401E520FF55F4000006F500018DFEB5000004FF5E -S21401E530B89EFA0002FD200008F900BF2000000A7C -S21401E540F20FA00000003F72F600000000F92F60F5 -S21401E5500000000F90FA00000003F70BF200000025 -S21401E560AF202FD200008F90004FFB89EFA0000054 -S21401E57028DFEB50005FFFFFD7005F9778BFC05FD3 -S21401E580400007F65F400000FA5F400000FA5F4077 -S21401E5900003F85F62236EF15FFFFFFD305F855475 -S21401E5A020005F400000005F400000005F40000068 -S21401E5B00000018DFEB50000004EFB89EFA00002B1 -S21401E5C0FD200008F9000AF2000000AF200FA000AD -S21401E5D000003F702F600000000F902F60000000C9 -S21401E5E00F901F900000002F700BF1000000AF206D -S21401E5F003FC100007F900006FFA78DFB000000393 -S21401E600AEFFC500000000003ED415B000000002B9 -S21401E610BFFF80000000000131005FFFFFD7005FF1 -S21401E6209778BFC05F400007F65F400000FA5F4082 -S21401E6300000FA5F400003F85F52236EE15FFFFFC0 -S21401E640FC305F8555F9005F40007F405F40000C5D -S21401E650E05F400002F9005CEFD92007FC87AF902D -S21401E6600EC00001100F800000000DF50000000331 -S21401E670EFEA50000005AEFE400000004EF100003B -S21401E6800005F308000008F22FFA77BFA0029DFFED -S21401E690C700FFFFFFFFF56778FB77720001F70001 -S21401E6A0000001F700000001F700000001F700007C -S21401E6B00001F700000001F700000001F70000006C -S21401E6C001F700000001F700000001F700006F30BD -S21401E6D000008F16F3000008F16F3000008F16F36C -S21401E6E0000008F16F3000008F16F3000008F16F8C -S21401E6F03000008F05F4000009F03F700000CD00E7 -S21401E700DE20005F8004FFA8BFD00003BEFD8100AD -S21401E7100CE00000006F306F5000000CC000FB00E2 -S21401E7200003F60009F20000AE00002F80001F90E3 -S21401E7300000CE0007F2000005F600DB0000000E28 -S21401E740C04F500000008F3BE000000002FBF800C5 -S21401E7500000000BFF10000000004FB000005F40FB -S21401E7600000DF000002F50F900002FF400007F0F6 -S21401E7700BE00007FE90000CB006F3000CAAE000C8 -S21401E7801F6001F8001F54F3006F1000CD007F10CA -S21401E790F800CC00007F20CB00AD01F700002F7100 -S21401E7A0F6005F26F200000DC6F1000F7BD00000D8 -S21401E7B008FDC0000BDF80000003FF700006FF307D -S21401E7C0000000EF200001FE00003F900000CD0099 -S21401E7D08F40007F3000DE102F800003FA0CD0003F -S21401E7E00007FBF30000000CF800000001EFC0007A -S21401E7F00000BF7F7000006F60AF20002FB001EDFA -S21401E800000CF10004F807F6000009F30CE0000024 -S21401E81007F203F700001F9000AF10009E10001FC4 -S21401E820A002F6000008F30BD0000000EC4F4000F9 -S21401E83000005FFB000000000CF20000000009F081 -S21401E8400000000009F00000000009F000000000D0 -S21401E85009F000003FFFFFFFFD01777777BF9000CB -S21401E86000001EC00000000CF200000008F50000C9 -S21401E8700004F900000001EC00000000CF200000B9 -S21401E880008F500000004F900000001EF877777749 -S21401E89005FFFFFFFFF05FFF05F7505F3005F30050 -S21401E8A05F3005F3005F3005F3005F3005F3005F6E -S21401E8B03005F3005F3005F7505FFF007E00000073 -S21401E8C01F4000000C90000007E0000002F400006A -S21401E8D000C90000007E0000002F4000000C9000E0 -S21401E8E00007E0000002F3000000D90000007E00EF -S21401E8F000002F3000000D90000007E0BFFA35EA57 -S21401E90000EA00EA00EA00EA00EA00EA00EA00EAB1 -S21401E91000EA00EA00EA35EABFFA002F8000009D0F -S21401E920E00000F3D50006D07B000C601F203F10EE -S21401E9300B809A0004E0FFFFFFFF1111111107F68B -S21401E9400003E7019EFD8000CE87AF90020000AF76 -S21401E95000000006F202BEFFFF20EC4227F22F5015 -S21401E960007F20EC427FF202BFFB6F208F00000089 -S21401E970008F000000008F000000008F2BFEB30008 -S21401E9808FEC78EF308FA0001EC08F200007F18F2C -S21401E990000005F38F200007F18FA0001ED08FEC3A -S21401E9A078EF308E2BFEB300003AEFC4004FD87CD0 -S21401E9B0F40DD0000713F60000004F30000003F6F8 -S21401E9C00000000DD00006104FD77CF4003AEFC4CB -S21401E9D00000000001F700000001F700000001F749 -S21401E9E0003BFFA3F704FD87CEF70ED0000BF73FE1 -S21401E9F0600003F74F300001F73F500003F70EC0E9 -S21401EA00000AF704FC65BEF7003BFFB2F7003BFEC9 -S21401EA10A20004FC67EE200EC0001EA03F500007B7 -S21401EA20F04FFFFFFFF13F722222200EC0000200CE -S21401EA3004FD87AF50003AEFD600005DFC002FB50D -S21401EA407004F3000CFFFFA048F753005F30000589 -S21401EA50F300005F300005F300005F300005F300AF -S21401EA60005F3000003BFFB2E904FE87CFF90ED10C -S21401EA70000AF93F600001F94F400000F93F6000CD -S21401EA8001F90ED00009F904FD87CFF8003BFFB36A -S21401EA90F700000005F409E977AFB0017CFFD80064 -S21401EAA08F00000008F00000008F00000008F2BF91 -S21401EAB0EA108FFB89FD08F80006F48F10001F7816 -S21401EAC0F00000F88F00000F88F00000F88F0000BB -S21401EAD00F88F00000F89E1AF20008F08F08F08FF9 -S21401EAE008F08F08F08F08F00007E20009F3000035 -S21401EAF0000007F10007F10007F10007F10007F138 -S21401EB000007F10007F10007F10007F10008F0180F -S21401EB106EC03EFC208F00000008F00000008F0051 -S21401EB20000008F0001DD18F001DE208F01DE20074 -S21401EB308F2DF30008FEFF70008FE2BF3008F20150 -S21401EB40EE108F0003FB08F00007F78F8F8F8F8F73 -S21401EB508F8F8F8F8F8F8F8E3CFE913BFEA208FF8B -S21401EB60969FCFC68FD08F70009FC0005F58F10070 -S21401EB7005F60001F78F00004F40000F88F00004F3 -S21401EB80F40000F88F00004F40000F88F00004F4F6 -S21401EB900000F88F00004F40000F808E3BFEA1085A -S21401EBA0FFA68FD08F80006F48F10001F78F00001D -S21401EBB00F88F00000F88F00000F88F00000F88F33 -S21401EBC000000F80003BEFC40004FD87CF600ED02D -S21401EBD0000BF13F600003F54F300001F73F600086 -S21401EBE003F50ED0000BF104FD77CF60003BEFC4B8 -S21401EBF0008E3BFEB3008FFB57DF308F90000DC0B9 -S21401EC008F100007F18F000005F38F200007F18FAA -S21401EC10A0001ED08FEC78EF308F2BFEB3008F0054 -S21401EC200000008F000000008F00000000003BFF86 -S21401EC30A2F704FD87DEF70ED0000BF73F60000356 -S21401EC40F74F300001F73F600003F70ED0000BF7D7 -S21401EC5004FD77CEF7003BFFA3F700000001F700A5 -S21401EC60000001F700000001F78E2BF08FED908F6A -S21401EC70A0008F20008F00008F00008F00008F0003 -S21401EC80008F000002AEFD911ED769D04F30000004 -S21401EC902FB4100006EFFD6000015BF5010000F7E0 -S21401ECA05FA76BF319DFEC4005F300005F3000CF80 -S21401ECB0FFFA048F753005F300005F300005F3009E -S21401ECC0005F300004F400001FC680005DFC10AE3B -S21401ECD000002F5AE00002F5AE00002F5AE00002B5 -S21401ECE0F5AE00002F59F00004F56F3000AF51EE7D -S21401ECF076BFF502BEFB3F500DC00000CB06F2000A -S21401ED0002F500F90009E0009E000F80002F606FF9 -S21401ED1010000CC0CB000005F6F4000000EFD00098 -S21401ED2000008F7000BB00009F10004F16F1000E10 -S21401ED30F60009C00F6005FCB000F600AC00AB5F42 -S21401ED40105F1005F10F50F70AB0000F76F009C0FA -S21401ED50F50000ACBA004F8F000004FF4000EFA0A2 -S21401ED6000000EE00008F400004F70009F208F3076 -S21401ED705F5000CD2E900002FFD000000AF6000082 -S21401ED8004FDE10001EB0DC000BE103F806F4000A6 -S21401ED907F400DC00000CB06F30002F400EA000934 -S21401EDA0D0008F101F70001F707F10000AE0D9007E -S21401EDB00003F9F2000000CFB00000006F40000031 -S21401EDC000AD00001C79F500001AEE7000004FFF40 -S21401EDD0FFF915555BF400004F800001EC00000BB5 -S21401EDE0E100008F400004F700001EE555535FFF69 -S21401EDF0FFFC002CF500AF6100CC0000DB0000DB5F -S21401EE000000DB0002EA001FF40005FA0000DB0048 -S21401EE1000DB0000DB0000CC0000AF61002CF55FDA -S21401EE2015F15F15F15F15F15F15F15F15F15F15CE -S21401EE30F15F15F15F10BE8003AF4001F6001F7051 -S21401EE4001F7001F7000F9000AFB00FB201F70018C -S21401EE50F7001F7001F603AF40BE900000000000EF -S21401EE60003DE400B50C86F51E20F003EF9002008D -S21401EE7000100002CE900D40893B000E3B000E0DA7 -S21401EE80408902CE900008F8EFE7F7000000000086 -S21401EE9000000000000000000049DC000000001631 -S21401EEA0BFFFFF0000038DFFFFFFFF0000CFFFFF46 -S21401EEB0FFFFFF0000FFFFFFFFC7FF0000FFFFEAA5 -S21401EEC05100FF0000FF83000000FF0000FF00006C -S21401EED00000FF0000FF00000000FF0000FF000030 -S21401EEE00000FF0000FF00002BFFFF0000FF0000F6 -S21401EEF0DFFFFF2BFFFF0000DFFFFDDFFFFF00004E -S21401EF002BFFB2DFFFFD00000000002BFFB2000068 -S21401EF10000000D00FFFFFFFFFF00DFFFFC888883D -S21401EF208CFFFFF00F80000008F00FF00F8000004C -S21401EF3008F00FFFFF80000008FFFFF00FECCCCCBD -S21401EF40CEF00FF00FECCCCCCEF00FFFFF80000020 -S21401EF5008FFFFF00F80000008F00FF00F800000A0 -S21401EF6008F00FFFFFC888888CFFFFD00FFFFFFF58 -S21401EF70FFF00DDFFF73FFFFFFFFFDFFFFA5FFFFA4 -S21401EF80FFFFFFFFFFA5FFFFFFFFFFDFFF73FFFF91 -S21401EF90FFFFFD0000000000000000DFFF73FFFF21 -S21401EFA0FFFFFDFFFFA5FFFFFFFFFFFFFFA5FFFF21 -S21401EFB0FFFFFFDFFF73FFFFFFFFFD000000000004 -S21401EFC0000000DFFF73FFFFFFFFFDFFFFA5FFFF50 -S21401EFD0FFFFFFFFFFA5FFFFFFFFFFDFFF73FFFF41 -S21401EFE0FFFFFD0000000000000AB1000000000065 -S21401EFF000BFFC00000000000BFFFB00000000004B -S21401F000BFFFC01BA000000BFFFC00CFFB0000BF32 -S21401F010FFC000BFFFB00BFFFC00000CFFFBBFFFF3 -S21401F020C0000000CFFFFFFB000000000CFFFFB098 -S21401F0300000000000BFFB0000000000000BB00055 -S21401F040000000030000000308FC10001CF8FFFC91 -S21401F050101CFFF5FFFC2CFFF505FFFFFFF5000573 -S21401F060FFFFF500001DFFFD10001CFFFFFC101C3C -S21401F070FFF9FFFC1CFFF505FFFCDFF50005FFD1DE -S21401F080A4000004A10000004FE0000000000210F0 -S21401F0906FF1031000005FD06FF13FD10003FFF165 -S21401F0A06FF15FFD000DFF406FF109FF704FF70034 -S21401F0B06FF100CFE09FF0006FF1005FF3BFC0007B -S21401F0C06FF1002FF5BFC0004FE0001FF6AFE00064 -S21401F0D00000004FF46FF400000000AFF00FFE10C8 -S21401F0E0000005FFA006FFD300007FFF20009FFF62 -S21401F0F0DABEFFF4000006FFFFFFFD300000001738 -S21401F100BDCA5000000000008BB8000000000000DF -S21401F110FFFF000000003006FFFF60030004FDDF74 -S21401F120FFFFFDEF400DFFFFFFFFFFFFD04FFFFF8B -S21401F130F99FFFFFF408FFFF2002FFFF8000FFF9A1 -S21401F14000009FFF0000FFF900009FFF0008FFFF7F -S21401F1502002FFFF804FFFFFF99FFFFFF40DFFFF27 -S21401F160FFFFFFFFD004FEDFFFFFFDDF400030069C -S21401F170FFFF600300000000FFFF0000000000002A -S21401F1808BB800000000000003DD303FF3000000F4 -S21401F190006FFFF54FF400000009FF99FFBFF40070 -S21401F1A00001BFF6226FFFF400002DFE35FF53EF7E -S21401F1B0F40004FFC18FFFF82DFE407FFA1AFFFF0F -S21401F1C0FFA1AFF7CF82DFFFFFFFFD28FC140EFF84 -S21401F1D0FFFFFFFFE041000FFFFFFFFFFFF0000012 -S21401F1E00FFFF9008FFFF000000FFFF8008FFFF010 -S21401F1F000000FFFF8008FFFF000000EFFF6006F13 -S21401F200FFE000000000DFFD000000000000FFFF3F -S21401F210000000000000FFFF000000000000FFFFEC -S21401F220000000000000FFFF000000000000FFFFDC -S21401F230000000004FFFFFFFFFF400000BFFFFFF81 -S21401F240FFB0000000BFFFFFFB000000000BFFFF48 -S21401F250B00000000000BFFB000000DFFFFC1BB198 -S21401F260CFFFFDFFFFFFC22CFFFFFFFFFFFFFFFFEA -S21401F270FFFFFFFFFFFFFFFFF0E0FFDFFFFFFFFFE6 -S21401F280FFFFFD0004EFFFFFFFFE4000001EFFFF33 -S21401F290FFFFFFE10000AFB00000000BFA0005FF22 -S21401F2A01000000001FF501EF600000000006FE194 -S21401F2B0AFB000000000000BFAFFFFFF800008FF60 -S21401F2C0FFFFFFFFFFF1001FFFFFFFFFFFFFFFFF35 -S21401F2D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF38 -S21401F2E0FFFFFFFFFFFF8FFFFFFFFFFFFFFFF8009E -S21401F2F00006BDDA5002FF0005EFFFFFFE42FF00E9 -S21401F3007FFFA77BFFF9FF05FFC100002CFFFF0E63 -S21401F310FC00000222DFFF5FF200000FFFFFFF8FFD -S21401F320B000000FFFFFFF0000000000000000001B -S21401F33000000000000000FFFFFFF000000BF8FFD8 -S21401F340FFFFF000002FF4FFFD22200000CFE0FFBA -S21401F350FFC200002CFF40FF9FFFB76AFFF700FFC8 -S21401F36024DFFFFFFE5000FF2005ACDB600000003D -S21401F3700000000000008D000008FF00008FFFDF86 -S21401F380FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF87 -S21401F390FFFFFFDFFFFFFF00008FFF000008FF00F9 -S21401F3A000008D00000000000000000000000000CA -S21401F3B08D0000000008FF000000008FFF0000CF56 -S21401F3C0FFFFFF0150FFFFFFFF06F7FFFFFFFF00F4 -S21401F3D0BEFFFFFFFF00AEFFFFFFFF05F8DFFFFFE9 -S21401F3E0FF026000009FFF0000000009FF00000010 -S21401F3F000009E0000000000000000000000000069 -S21401F400000610000000000000001FD200000000EF -S21401F4108D000003EE10000008FF000AB12FB000B7 -S21401F420008FFF0005FC07F4DFFFFFFF02505F605F -S21401F430F9FFFFFFFF06F70DC0BDFFFFFFFF00AEA0 -S21401F44009F09FFFFFFFFF00AE09F08FFFFFFFFFF0 -S21401F45006F70DC0ADDFFFFFFF02505F60E9000059 -S21401F4608FFF0005FC06F4000008FF000AB12FB06C -S21401F4700000008D000002EE100000000000001FDA -S21401F480D2000000000000000610008FFFFFFFFF03 -S21401F490FFFFF8FFFCFFFFFFFFFFFFFF202FFFFF2F -S21401F4A0FFFFFFFC000CFFFFEEFFFFFF202FFFFE1C -S21401F4B022EFFFFFFCFFFFE2002EFFFFFE4EFE20C5 -S21401F4C00002FFFFE202C2000000FFFF2000000072 -S21401F4D00000FFFF000000000000FFFFFFFFFFFF2E -S21401F4E0FFFFFF8FFFFFFFFFFFFFF8000000000098 -S21401F4F0FF300001CCFF40002DFFFF4003EFFFFF70 -S21401F500403FFFFFFF44FFFFFFFF9FFFFFFFFFFF9F -S21401F510FFFFFFFFFFFFFFFFFFAFFFFFFFFF45FFFF -S21401F520FFFFFF404FFFFFFF4003EFFFFF40002EAE -S21401F530FFFF300001CC00000000000000000000CA -S21401F54000008F910000000000FFFF700000000027 -S21401F550FFFFFD40000000FFFFFFFA100000FFFF65 -S21401F560FFFFF70000FFFFFFFFFFD500FFFFFFFFD4 -S21401F570FFFFB2FFFFFFFFFFFFFDFFFFFFFFFFFFE4 -S21401F580FDFFFFFFFFFFFFB2FFFFFFFFFFD500FFFD -S21401F590FFFFFFF70000FFFFFFFA100000FFFFFD6F -S21401F5A040000000FFFF70000000008EA100000078 -S21401F5B00000000000000000000000000000000045 -S21401F5C08FFFF8008FFFF8FFFFFF00FFFFFFFFFF31 -S21401F5D0FF00FFFFFFFFFFFF00FFFFFFFFFFFF0032 -S21401F5E0FFFFFFFFFFFF00FFFFFFFFFFFF00FFFF23 -S21401F5F0FFFFFFFF00FFFFFFFFFFFF00FFFFFFFF13 -S21401F600FFFF00FFFFFFFFFFFF00FFFFFFFFFFFF02 -S21401F61000FFFFFFFFFFFF00FFFFFF7FFFF7007FF9 -S21401F620FFF78FFFFFFFFFFFF8FFFFFFFFFFFFFF63 -S21401F630FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD4 -S21401F640FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4 -S21401F650FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4 -S21401F660FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4 -S21401F670FFFFFFFFFFFFFFFFFFFFFFFFFF8FFFFF04 -S21401F680FFFFFFF80000000000CC100003FFFFD2D0 -S21401F6900004FFFFFE3004FFFFFFF404FFFFFFFF3F -S21401F6A054FFFFFFFFF9FFFFFFFFFFFFFFFFFFFF15 -S21401F6B0FFFFFFFFF9FFFFFFFF44FFFFFFF304FF1C -S21401F6C0FFFE3004FFFFD20004FFCC100003FF0052 -S21401F6D0000000000000002DD2000000000001EF35 -S21401F6E0FE10000000001DFFFFD100000000CFFF4C -S21401F6F0FFFC0000000BFFFFFFFFB00000AFFFFFA5 -S21401F700FFFFFA0009FFFFFFFFFFFF900FFFFFFF5C -S21401F710FFFFFFF008FFFFFFFFFFFF800000000074 -S21401F720000000000CFFFFFFFFFFFFC00FFFFFFF01 -S21401F730FFFFFFF00FFFFFFFFFFFFFF00CFFFFFFD4 -S21401F740FFFFFFC00000001A40000001DFF00000CC -S21401F7501DFFA00001DFFA00001DFFA00001DFFA77 -S21401F76000000CFFA000000DFF80000001DFF80084 -S21401F77000001DFF80000001DFF80000001DFF8073 -S21401F780000001DFF00000001B5004A10000000F84 -S21401F790FD1000000AFFD1000000AFFD1000000AB6 -S21401F7A0FFD1000000AFFD1000000AFFC0000008F6 -S21401F7B0FFD000008FFD100008FFD100008FFD1064 -S21401F7C00008FFD100000FFD10000005B100000089 -S21401F7D0000004FF400000000008FF800000000059 -S21401F7E008FF800000000008FF800000000008FFFE -S21401F7F080000048888CFFC88884FFFFFFFFFFFF5A -S21401F800FFFFFFFFFFFFFFFF48888CFFC8888400CB -S21401F8100008FF800000000008FF800000000008CC -S21401F820FF800000000008FF800000000004FF4089 -S21401F830000014444444444441EFFFFFFFFFFFFE31 -S21401F840FFFFFFFFFFFFFF7BBBBBBBBBBBB70000E0 -S21401F85005ADFFDA5000000004DFFC88CFFD400054 -S21401F860007FFE400004EFF70007FFF4009E804F84 -S21401F870FF704FFFC000AFF80CFFF4DFFF809AFF68 -S21401F880FE08FFFDDFFF80EFFFFE08FFFD4FFFC014 -S21401F8908FFFF80CFFF407FFF408EE804FFF7000AF -S21401F8A07FFE400004EFF8000004DFFC88CFFD4037 -S21401F8B000000005ADFFDA5000008C2000000000BB -S21401F8C000000000DFE400000000000000001BFF55 -S21401F8D08049DFFDA5000000007FFFFFD88CFFD424 -S21401F8E000000004EFF800004EFF700000001CFF4F -S21401F8F069E804FFF70004E3009FFEFF80CFFF40A6 -S21401F9000DFF7005FFFFE08FFFD00DFFF7002DFF05 -S21401F910E08FFFD004FFFC0000AFF8CFFF30007F80 -S21401F920FF400006FFFFF7000008FFF400003EFF5F -S21401F930A00000004DFFC88201BFF7000000005A7A -S21401F940DFFC1008FFA000000000000000004EFDD4 -S21401F950000000000000000002C8000000002DD2D8 -S21401F9600000000000000000BFFB000000000000D7 -S21401F9700005FFFF500000000000000DFFFFD00053 -S21401F98000000000007FFFFFF7000000000001FFFD -S21401F990D88DFF10000000000AFFA00AFFA000009B -S21401F9A000003FFFB00BFFF300000000CFFFC00CCC -S21401F9B0FFFC00000005FFFFD00DFFFF5000000E0A -S21401F9C0FFFFF99FFFFFE000008FFFFFE22EFFFF22 -S21401F9D0F80002FFFFFF9009FFFFFF100AFFFFFF7D -S21401F9E0E33EFFFFFFA00FFFFFFFFFFFFFFFFFF05C -S21401F9F008FFFFFFFFFFFFFFFF8000000000000081 -S21401FA000000000000000000D80000000000000018 -S21401FA10FF80FFFF700007FFFFF8FFFFF6006FFF94 -S21401FA20FFFD788EFF15FFE8FFE20002E54FFE209E -S21401FA30FE20000013FFF300520000003FFF3100DC -S21401FA4052000002EFF45E20FE20788EFF51FFE8A0 -S21401FA50FFE2FFFFF6006FFFFFFDFFFF700007FFED -S21401FA60FFF8000000000000FF800000000000001A -S21401FA70D8000000000000000000000000000000A8 -S21401FA8000000001DD10000000001DFFD100000095 -S21401FA9001DFFFFD1000001DFF99FFD10001DFF916 -S21401FAA0009FFD101DFF900009FFD1BFF900000067 -S21401FAB09FFB5F9000000009F500000000000000B9 -S21401FAC0000000000000005F9000000009F5BFF98B -S21401FAD00000009FFB1DFF900009FFD101DFF90028 -S21401FAE09FFD10001DFF99FFD1000001DFFFFD10F3 -S21401FAF00000001DFFD10000000001DD1000000025 -S21401FB0000000000000000000000000000000000EF -S21401FB10001DD10000000000000001DFFD10EFFF16 -S21401FB20FFFFD0001DFFFFD1AFFFFFFFF000CFCFDB -S21401FB30FCFC0000000FF0006B1FF1B60000000F88 -S21401FB40F000000FF0000000000FF000000FF000C2 -S21401FB500000000FF000000FF00000006B1FF1B670 -S21401FB60000FF0000000CFCFFCFC000FFFFFFFFAF4 -S21401FB701DFFFFD1000DFFFFFFFE01DFFD1000009E -S21401FB8000000000001DD100000000000000000081 -S21401FB9000008FFFFFE200000000FFFFFFFE2000D5 -S21401FBA00000FFFFFFFFFFFFFFF8FFFFFFFFFFFF64 -S21401FBB0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F -S21401FBC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F -S21401FBD0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F -S21401FBE0FFFFFFFFFFFFFFFFFFFF8FFFFFFFFFFF8F -S21401FBF0FFF80000000BB0000000000000BFFB0093 -S21401FC00000000000BFFFFB000000000BFFFFFFB7D -S21401FC100000000BFFFFFFFFB000004FFFFFFFFFDC -S21401FC20F400000000FFFF000000000000FFFF00DE -S21401FC300000000000FFFF000000000000FFFF00C2 -S21401FC400000000000FFFF000000DFFFF0DFFD0FF7 -S21401FC50FFFDFFFFF900009FFFFFFFFFFFFFFFFF14 -S21401FC60FFFFFFFFFFFFFFF0E0FFDFFFFFFFFFFFEC -S21401FC70FFFD000000000000000000000000000082 -S21401FC800AEA62000000000002FFFFF00000000028 -S21401FC90009FFFFF00000000000FFFFFD0000000E4 -S21401FCA00002FFFFFB000000000003EFFF700000F2 -S21401FCB000000004FFF2000000000000BFFB00008F -S21401FCC0000000006FFF3000000200004FFF9000B0 -S21401FCD0028FF3006FFFD0000AFFFFE4BFFFD100E1 -S21401FCE000EFFFFFFFFFD100000AFFFFFFFF9000BC -S21401FCF000006FFFFFFB3000000002FFDB72000018 -S21401FD0000000008EE800000066108FFFF80002D5D -S21401FD10FFD0EF33FE002EFFF30EF33FE02EFFF38E -S21401FD20008FFFFF6EFFF300008EFFFFFFF3000062 -S21401FD300002EFFFF3000000002EFFFF3000000876 -S21401FD40EFFFFFFF300008FFFFF6EFFF3000EF3355 -S21401FD50FE02EFFF300EF33FE002EFFF308FFFF8B9 -S21401FD600002DFFD008EE800000066100000DFFFE5 -S21401FD70FF0D200000FFFFFF0FE20000FFFFFF0F57 -S21401FD80FDDFF0FFFFFF2000FFF0FFFFFFFFFFFF9B -S21401FD90F0FFFFFFFFFFFFF0FFFFFFFFFFFFF0FF9A -S21401FDA0FFFFFFFFFFF0FFFFFFFFFFFFF0FFFFFF7B -S21401FDB0FFFFFFF0FFFFFFFFFFFFF0FFFFFFFFFF6B -S21401FDC0FFF0DFFFFFFFFDFFF90000000000FFFF6F -S21401FDD0FFFFFF0000DFFFFFFFFD00008FFFFFFFBB -S21401FDE0FFC200FFFFFFFFFFFE20FF00000001FF34 -S21401FDF0E2FF00000000FFFCFF00000000FFFFFF25 -S21401FE0000000000FFFFFFFFFFFFFFFFFFFFFFFFF8 -S21401FE10FFFFFFFFFFFFFB11BFFFFFFFFFF1001F0B -S21401FE20FFFFFFFFF1001FFFFFFFFFFB11BFFFFFFB -S21401FE30FFFFFFFFFFFFFF8FFFFFFFFFFFF800DF62 -S21401FE40FFFD000001FFFFFC000003FFFFF70000BD -S21401FE5006FFFFF2000008FFFFD000000AFFFFFFC9 -S21401FE60FFD00CFFFFFFFFA00EFFFFFFFF200DFFDF -S21401FE70FFFFF80000000AFFE00000000EFF500040 -S21401FE8000002FFC000000005FF3000000009FA0B0 -S21401FE9000000000DF1000000000D7000000000492 -S21401FEA0EE40000000DFFF99FFFD0000FFFF99FF15 -S21401FEB0FF0000FFFFFFFFFF0000FFFF90000000B4 -S21401FEC000FFFF0DFFFF0D20FFFF0FFFFF0FE2FFFB -S21401FED0FF0FFFFF0FFDFFFF0FFFFF2000FFFF0FCC -S21401FEE0FFFFFFFFFFFF0FFFFFFFFFFFFF0FFFFFFC -S21401FEF0FFFFDFFF0FFFFFFFFF00000FFFFFFFFF0A -S21401FF0000000FFFFFFFFF00000DFFFFFFFD0000D9 -S21401FF1000CC000000000002FF3000000001BFFF1F -S21401FF20FC2000001EFFFFFFE100009FFFFFFFF81F -S21401FF300000EFFFFFFFFD0000FFFFFFFFFF0001D6 -S21401FF40FFFFFFFFFF0003FFFFFFFFFF3008FFFF7C -S21401FF50FFFFFF801EFFFFFFFFFFE1CFFFFFFFFF59 -S21401FF60FFFCCFFFFFFFFFFFFC00000000000000CA -S21401FF7000000EFFE00000000004EE4000008FFFCE -S21401FF80FFFFFFFFFFFFF8FFFFFFFFFFFFFFFFFF82 -S21401FF90FF00F00F00F00F00FFFF00F00F00F00F62 -S21401FFA000FFFFFFFFFFFFFFFFFFFFFFF80880884E -S21401FFB008808FFFFFF808808808808FFFFFFFFF0B -S21401FFC0FFFFFFFFFFFFFF00F00000000F00FFFF35 -S21401FFD000F00000000F00FFFFFFFFFFFFFFFFFF25 -S21401FFE0FF8FFFFFFFFFFFFFFFF80000000000008C -S21401FFF000000000000000000003AF7000000000D9 -S2140200000004CFFFF00000000006DFFFFFA00000A4 -S2140200100017EFFFFFFF30000018FFFFFFFFFC0096 -S214020020002AFFFFFFFFFFF40008FFFFFFFFFFFFAE -S214020030D0000FFFFFFFFFFFFF600008FFFFFFFF7C -S214020040FFFE000000000000FFFFF70000000000B7 -S21402005000FFFFF1000000000000FFFF800000002C -S214020060000000FFFF10000000000000FFFA000082 -S2140200700000000000FFF2000000000000008F8079 -S214020080000000000000000000000000DFFFFFF09C -S214020090D200FFFFFFF0FE20FFFFFFF0FFE2FFFFB0 -S2140200A0FFF0FFFDFFFFFFF20000FFFFFFFFFFFF75 -S2140200B0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF49 -S2140200C0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF39 -S2140200D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF29 -S2140200E0FFFFFFFFFFFFDFFFFFFFFFFD0000000037 -S2140200F00000000000000000049CEFFEC940000063 -S2140201000007EFFFFFFFFFFE700004DFFFFCA88A78 -S214020110CFFFFD406FFFD5000000005DFFF6CFF673 -S2140201200000000000006FFC1A30005ADFFDA50038 -S21402013003A100004DFFFFFFFFD400000005FFFEF5 -S214020140A88AEFFF50000001DF70000007FD1000D4 -S21402015000001200000000210000000000004EE433 -S2140201600000000000000000EFFE0000000000009B -S2140201700000EFFE00000000000000004EE4000059 -S21402018000008FFFFFFFFFFFFFFFFF80FFFFFFFF65 -S214020190FFFFFFFFFFF0FF000000000000000FFD62 -S2140201A0FF0FFFFFFFFFFFFF0FFFFF0FFFFFFFFF28 -S2140201B0FFFF00FFFF0FFFFFFFFFFFFF00FFFF0F26 -S2140201C0FFFFFFFFFFFF0FFFFF0000000000000021 -S2140201D00FFDFFFFFFFFFFFFFFFFFFF08FFFFFFF99 -S2140201E0FFFFFFFFFF808FFFFFFFFFFFFFFFFF8086 -S2140201F0FFFFFFFFFFFFFFFFFFF0FF000000000012 -S21402020000000FFDFF0FFFFFFFFFF0000FFFFF0FC5 -S214020210FFFFFFFFF00000FFFF0FFFFFFFFFF000F2 -S21402022000FFFF0FFFFFFFFFF0000FFFFF000000C1 -S214020230000000000FFDFFFFFFFFFFFFFFFFFFF0C4 -S2140202408FFFFFFFFFFFFFFFFF808FFFFFFFFFFF16 -S214020250FFFFFF80FFFFFFFFFFFFFFFFFFF0FF0034 -S2140202600000000000000FFDFF0FFFFFFF00000070 -S2140202700FFFFF0FFFFFFF00000000FFFF0FFFFF53 -S214020280FF00000000FFFF0FFFFFFF0000000FFF50 -S214020290FF000000000000000FFDFFFFFFFFFFFF52 -S2140202A0FFFFFFF08FFFFFFFFFFFFFFFFF808FFFC5 -S2140202B0FFFFFFFFFFFFFF80FFFFFFFFFFFFFFFFC6 -S2140202C0FFF0FF000000000000000FFDFF0FFFF030 -S2140202D0000000000FFFFF0FFFF00000000000FF0D -S2140202E0FF0FFFF00000000000FFFF0FFFF000000E -S2140202F000000FFFFF000000000000000FFDFFFFE0 -S214020300FFFFFFFFFFFFFFF08FFFFFFFFFFFFFFF75 -S214020310FF808FFFFFFFFFFFFFFFFF80FFFFFFFF54 -S214020320FFFFFFFFFFF0FF000000000000000FFDD0 -S214020330FF000000000000000FFFFF0000000000AA -S214020340000000FFFF0000000000000000FFFF00AA -S2140203500000000000000FFFFF0000000000000089 -S2140203600FFDFFFFFFFFFFFFFFFFFFF08FFFFFFF07 -S214020370FFFFFFFFFF8000000000000100000000FA -S214020380000000000007FD1000000000000001CF82 -S214020390FFF500000000000000B929FE1000000072 -S2140203A00000003F10020000000003DF800A9000F9 -S2140203B00000037000DFFF77F7555555558FD30FB2 -S2140203C0FFFDCCDFDCCCCCCDFFB08FFE1000AA0048 -S2140203D000004D400046100001F2023310000000FB -S2140203E000000009B1CFF9000000000000000AFF7B -S2140203F0FF900000000000000000BFF900000000AF -S2140204000000000001220000000018DFFD9200023A -S214020410EFFBEFFF300DFFFA2EFFE04FFFFA03FF70 -S214020420F59FFAFA354FFACFC08A3D0BFDEFFB0374 -S214020430128FFEFFFFB006FFFFFFFFD108FFFFEFA0 -S214020440FD11109FFFDFD1593B0BFDAFD7FA381DC8 -S214020450FB5FFFFA01DFF70DFFFA1DFFF103EFFC6A -S214020460DFFF500018DFFEA30000007FFFF700004A -S214020470EFFFFFFFFFFFFEEFFFFFFFFFFFFE0000A5 -S21402048000000000000FFFFFFFFFFFF00FFFFFFF5F -S214020490FFFFF00FF99F99F99FF00FF88F88F88FFA -S2140204A0F00FF88F88F88FF00FF88F88F88FF00F1C -S2140204B0F88F88F88FF00FF88F88F88FF00FF88F84 -S2140204C088F88FF00FF99F99F99FF00FFFFFFFFF53 -S2140204D0FFF008FFFFFFFFFF800000000000007F24 -S2140204E0A00000000000008FFFB000000000000D1A -S2140204F0FFFFA0000000008A1DFFFF000000008F23 -S214020500FA1DFF700000008FFFFA1D800000008FAA -S214020510FFFFFA000000008FFFFFFF800000008F41 -S214020520FFFFFF800000008FFFFFFF800000008FAC -S214020530FFFFFF800000006FFFFFFF800000000B40 -S214020540FFFFFF8000000000DFFFFF8000000000CA -S2140205500EFFFF800000000000DEDB6000000000EF -S2140205600000000000000000000000001BFFFFFF6C -S214020570FFFFFFE40001DFFFFFFFFFFFFFFE001D9E -S214020580FFFFFAEFFEAFFFFF01DFFFFFA02EE20A3A -S214020590FFFF1DFFFFFFE202202EFFFFCFFFFFFF40 -S2140205A0FE2002EFFFFFCFFFFFFFFE2002EFFFFF5E -S2140205B01DFFFFFFE202202EFFFF01DFFFFFA02E3E -S2140205C0E20AFFFF001DFFFFFAEFFEAFFFFF00018A -S2140205D0DFFFFFFFFFFFFFFE00001BFFFFFFFFFF27 -S2140205E0FFE40008FFFFFFE4008FFFFFFFFE08F8AE -S2140205F00F0B40FF8FF80F0B40FFFFF80F0B40FF6B -S214020600FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3 -S214020610FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3 -S214020620FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3 -S214020630FFFFFFFFFFFFEFFFFFFFFFFE4EFFFFFF85 -S214020640FFE40000000000000001000000000000BF -S2140206500003E000001000000002EF1000BF0000E0 -S21402066000007FF100CFF100000007FF11CFFF77F7 -S214020670777777BFF1CFFFFFFFFFFFFFFF17FFFF81 -S214020680FFFFFFFFFFE007FFF1000000000000068B -S214020690FF1000000000000005A00000000000009F -S2140206A06C765F646973705F6472765F72656769A1 -S2140206B073746572000000002E2E2F7468697264CF -S2140206C070617274792F6C76676C2F7372632F6CFD -S2140206D0765F68616C2F6C765F68616C5F646973C5 -S2140206E0702E630029160100000000006C765F6120 -S2140206F06E696D5F73746172740000002E2E2F7423 -S2140207006869726470617274792F6C76676C2F7385 -S21402071072632F6C765F6D6973632F6C765F616EA2 -S214020720696D2E63000000006C765F66735F64720C -S214020730765F726567697374657200006C765F66D1 -S214020740735F6F70656E00006C765F66735F6469D8 -S214020750725F6F70656E00002E2E2F746869726469 -S21402076070617274792F6C76676C2F7372632F6C5C -S214020770765F6D6973632F6C765F66732E63000017 -S21402078000003C027804B306EE08280B610D990FB0 -S214020790D01106143A166C189D1ACB1CF71E21218E -S2140207A048236C258E27AC29C72BDF2DF32F033267 -S2140207B0103418361C381C3A173C0E3EFF3FEC41EC -S2140207C0D443B64593476A493C4B084DCD4E8D50AF -S2140207D04652F953A5554B57EA58825A135C9C5D0C -S2140207E01F5F9A600D627963DD6439668D67D9682A -S2140207F01D6A596B8C6CB76DD96EF36F04710C72EF -S2140208000B730174EE74D275AD767F7747780679EE -S214020810BB79677A0A7BA27B327CB77C337DA57D67 -S2140208200D7E6C7EC07E0B7F4B7F827FAF7FD27F3A -S214020830EB7FFA7FFF7F00006C765F6D656D5F6110 -S2140208406C6C6F63000000005F6C765F6D656D5FB9 -S2140208506275665F72656C65617365006C765F6D66 -S214020860656D5F7265616C6C6F6300005F6C765FCE -S2140208706D656D5F6275665F676574002E2E2F74F8 -S2140208806869726470617274792F6C76676C2F7304 -S21402089072632F6C765F6D6973632F6C765F6D651E -S2140208A06D2E6300436F756C646E277420616C6CEA -S2140208B06F63617465206D656D6F7279000000006C -S2140208C06C765F6D656D5F6275665F72656C65619D -S2140208D073653A2070206973206E6F742061206BF6 -S2140208E06E6F776E20627566666572006C765F6DF7 -S2140208F0656D5F6275665F6765743A204F75742032 -S2140209006F66206D656D6F72792C2063616E277439 -S21402091020616C6C6F636174652061206E65772060 -S214020920206275666665722028696E6372656173F9 -S2140209306520796F7572204C565F4D454D5F534961 -S2140209405A452F686561702073697A652900000030 -S2140209506C765F6D656D5F6275665F6765743A207B -S2140209606E6F2066726565206275666665722E20F9 -S214020970496E637265617365204C565F44524157F7 -S2140209805F4255465F4D41585F4E554D2E00000062 -S2140209906C765F7461736B5F6372656174655F62C8 -S2140209A061736963000000006C765F7461736B5F4D -S2140209B063726561746500002E2E2F746869726416 -S2140209C070617274792F6C76676C2F7372632F6CFA -S2140209D0765F6D6973632F6C765F7461736B2E63DB -S2140209E0000000005F6C765F7478745F6765745F02 -S2140209F073697A6500000000202C2E3B3A2D5F00BA -S214020A002E2E2F746869726470617274792F6C76F8 -S214020A10676C2F7372632F6C765F6D6973632F6CCE -S214020A20765F7478742E63006C765F7478745F6792 -S214020A3065745F73697A653A20696E746567657274 -S214020A40206F766572666C6F77207768696C6520B2 -S214020A5063616C63756C6174696E67207465787423 -S214020A602068656967687400FFFF00001084000054 -S214020A70EF808C006C765F6C6162656C5F73657488 -S214020A805F646F745F746D70000000006C765F6C5C -S214020A906162656C5F7365745F616C69676E0000A6 -S214020AA06C765F6C6162656C5F7365745F746578A3 -S214020AB0745F73656C5F7374617274006C765F6CDE -S214020AC06162656C5F7365745F746578745F736585 -S214020AD06C5F656E640000006C765F6C6162656CCC -S214020AE05F6765745F746578740000006C765F6C8F -S214020AF06162656C5F6765745F6C6F6E675F6D6F72 -S214020B00646500006C765F6C6162656C5F67657435 -S214020B105F616C69676E00006C765F6C6162656C23 -S214020B205F6765745F7265636F6C6F7200000000CA -S214020B306C765F6C6162656C5F6765745F616E6937 -S214020B406D5F7370656564006C765F6C6162656C80 -S214020B505F6765745F6C65747465725F706F73004F -S214020B606C765F6C6162656C5F6765745F6C6574FA -S214020B707465725F6F6E00006C765F6C6162656CA6 -S214020B805F7365745F746578740000006C765F6CE2 -S214020B906162656C5F7365745F746578745F666DB9 -S214020BA0740000006C765F6C6162656C5F736574DE -S214020BB05F746578745F7374617469630000000023 -S214020BC06C765F6C6162656C5F7365745F6C6F6E8A -S214020BD0675F6D6F646500006C765F6C6162656C62 -S214020BE05F7365745F7265636F6C6F7200000000FE -S214020BF06C765F6C6162656C5F63726561746500DA -S214020C006C765F6C6162656C5F7365745F616E695A -S214020C106D5F7370656564006C765F6C6162656CAF -S214020C205F6765745F746578745F73656C5F737411 -S214020C30617274006C765F6C6162656C5F67657486 -S214020C405F746578745F73656C5F656E6400000040 -S214020C506C765F6C6162656C5F69735F6368617214 -S214020C605F756E6465725F706F7300006C765F6CA2 -S214020C706162656C5F696E735F746578740000000C -S214020C806C765F6C6162656C5F6375745F746578C1 -S214020C90740000002E2E2F7468697264706172747C -S214020CA0792F6C76676C2F7372632F6C765F776919 -S214020CB064676574732F6C765F6C6162656C2E6315 -S214020CC0000000004661696C656420746F20616CE8 -S214020CD06C6F63617465206D656D6F727920666FE7 -S214020CE07220646F745F746D705F707472000000BF -S214020CF054657874000000006C6162656C20637253 -S214020D0065617465640000006C765F6C6162656C98 -S214020D1000000000F8B500BFF8BC08BC9E4670474D -S214020D2089020000F8B500BFF8BC08BC9E467047B2 -S208020D306502000051 -S20C020D34B09EFF7F01000000E3 -S214020D3C0100000048656C6C6F20576F726C642162 -S214020D4C4D110100410701001200030000000000D3 -S214020D5C2400002068DC010090D70100F0D60100C8 -S214020D6CF8C901001000025000000000000000004C -S214020D7C00000000A86B002010000000986B0020FA -S214020D8C10000000154001002541010075420100CB -S214020D9CDD420100AD42010025420100E5400100A2 -S208020DAC47400100B4 +S2140190D0FFF79EB800200F4B9847C0EB00105030AA +S2140190E00D4B83FB0023C217C2EBA31212B2FFF78C +S2140190F08FB80020074B9847C0EB00104000503057 +S214019100054B83FB0023C217C2EBA31212B2FFF773 +S2140191107FB800BF3D0F0100676666662DE9F04720 +S214019120A4B007460E461446B54B98470546022C92 +S2140191300DD0002C40F0FA81B0F90A30002B00F077 +S214019140F381B0F90830002B73D10120F1E102223E +S21401915000213846AB4B984708B10320E9E12A7D48 +S21401916002F00303023BDBB2012B40F20F8202F056 +S214019170F802202A03D0082A01D00220D9E10622CB +S214019180002138469F4B9847AB89C34201D1022044 +S214019190CFE10722002138469A4B98476B8A00FB9D +S2140191A003F31B12B3F5807F08D0002207F11001EC +S2140191B03046954B984788BB0220BAE13846934B18 +S2140191C0984704463846924B98470E3501954FF41A +S2140191D0807300930023024621460FA88D4CA047BA +S2140191E03A8ABDF83C301344ADF83C307B8ABDF872 +S2140191F03E101944ADF83E10BDF840100A44ADF8D3 +S2140192004020BDF842201344ADF8423000220FA999 +S21401921030467D4B984708B902208AE148F2AC02F5 +S214019220002138467C4B9847FF2814BF02200120B6 +S2140192307FE102A93846794B98470FA8784B9847A3 +S2140192400FAA00213846774B98473322002138462B +S2140192506C4B984710B100238DF85030072200213F +S2140192603846684B98476B8A00FB03F0041201D11D +S21401927000205EE1062200213846DFF88881C047DB +S214019280B5F80C908144A4B2BDF80E200132BDF8A9 +S2140192900A30D21ABDF80C100131BDF80830C91ACF +S2140192A005F10E03019300940FFA89F312B209B285 +S2140192B004A8DFF860A1D047BDF80820BDF810303B +S2140192C01344ADF81030BDF80A30BDF81210194439 +S2140192D0ADF81210BDF814100A44ADF81420BDF80C +S2140192E016201344ADF81630122200213846C04726 +S2140192F0BDF81030181AADF81000132200213846B8 +S214019300C047BDF814301844ADF8140010220021EF +S2140193103846C047BDF81230181AADF812001122AF +S21401932000213846C047BDF816301844ADF816007F +S2140193300FAA314604A83C4B984702220021384622 +S214019340C047C8B92B7D03F00303012B2AD9022B92 +S21401935000F0D180354B0093354B40F2BB223549A6 +S2140193600220354CA04700231A46314607F110006B +S214019370324CA0470020DCE01C20314B9847804649 +S2140193800122002138461F4B98470023024604A9B4 +S2140193904046DFF8BCA0D04707F518714046294B78 +S2140193A09847CFE7BDF80820AB881A4492B210B2AE +S2140193B0ADF80800BDF80A30E9880B449BB219B233 +S2140193C0ADF80A10B7F910E0864503DA2889121AB3 +S2140193D0ADF80820B7F912208A4203DA6A899B1A87 +S2140193E0ADF80A3008A8184B984708AA0021384655 +S2140193F0164B9847ADF8284064BB002099E000BFA3 +S2140194009D4D0000D54400006D1701005D2F000042 +S214019410AD2F000065EC00000D460000412E000057 +S21401942069C20000C550000031C30000E0500200D0 +S21401943090950200B89602005D220100E9960000B0 +S2140194403D290100C1BD0000459600006957000096 +S2140194502DC00000ADF82290EB89ADF824302B8AA0 +S214019460ADF826306A7D9DF82F3062F300038DF843 +S2140194702F30BDF90A30ADF81A305A1E69890A44F0 +S214019480ADF81E20BDF90E209A42FFF673AF404C90 +S214019490BDF90830ADF818305A1E29890A44ADF8CE +S2140194A01C20BDF90C209A4214DB08AB2A68314611 +S2140194B006A8A0472A89BDF8183013441BB2ADF898 +S2140194C01830BDF81C100A44ADF81C20BDF90C205C +S2140194D09A42EADA6A89BDF81A3013441BB2ADF82B +S2140194E01A30BDF81E100A44ADF81E20BDF90E2034 +S2140194F09A42CDDA3EE708A8264B984708AA0021EB +S2140195003846254B984748F2A90200213846234B96 +S2140195109847ADF820002B680022009208AA314631 +S21401952002A81F4CA04725E7012002E0012C03D02A +S214019530002024B0BDE8F087022200213846194BEE +S214019540984750B90FA8184B984733220021384640 +S214019550144B984740B90020EBE707F51870134BFA +S2140195609847134B9847EDE700218DF848108DF882 +S21401957072108DF864100FAA38460E4B98470FAA42 +S214019580314607F110000C4B9847E4E70220D0E77C +S214019590E9960000CD990000B15600008145000013 +S2140195A0259A0000D544000069C2000091BE000063 +S2140195B071250100C550000031C3000030B583B0ED +S2140195C004460C4B984768B90B4B00934FF4E7726F +S2140195D00A4903200A4DA8472246002309480A499A +S2140195E08847FEE72046094B9847007DC0F3800078 +S2140195F003B030BDB122000008960200B896020002 +S2140196005D2201003C480200B92200009D4D000089 +S2140196102DE9F04786B005460E467C4B984760B963 +S2140196207B4B00938F227B4903207B4CA0472A4625 +S21401963000237A487A498847FEE73046794B9847AF +S21401964007462846784B98470446022F3AD8032FF8 +S21401965042D005A93046754B9847002F55D07B1E42 +S214019660DBB2012B66D9022F00F09980217D67F3CA +S2140196700101059AC2F38A222281BDF81630C3F38E +S2140196804A1363819DF8140060F3C7012175C2F384 +S2140196904902E281C3F3490323822846644B984773 +S2140196A0002840F0AA80A3891BB9638AB3F5807F9E +S2140196B002D028465F4B984728465F4B984706B02E +S2140196C0BDE8F0875D4B0093514BA0225149022023 +S2140196D0DFF84481C047BAE7594B00934C4BA622AA +S2140196E04C4902204C4DA847237D03F00303013B60 +S2140196F0DBB2012B02D82068524B98470023236027 +S214019700237D43F003032375D9E74F4B0093404B6A +S214019710B42240490120DFF80081C047237D03F0D1 +S2140197200303013BDBB2012B02D82068454B984767 +S21401973026609BE7D4F80080464594D0237D03F04D +S2140197400303013BDBB2022B28BF4FF00008304673 +S2140197503E4B984701303E4B984781462B4B9847E6 +S21401976060B92B4B0093C7222A4903202A4CA047F5 +S2140197704A46002337482A498847FEE7B9F1000FD1 +S2140197809DD031464846344B9847C4F80090B8F10E +S214019790000F3FF468AF40462A4B984763E748F20C +S2140197A08E02002128462D4B9847814648F28002BA +S2140197B000212846DFF8B080C047824648F2810281 +S2140197C000212846C0470023029347F61843019319 +S2140197D0009053464A46314604A8214EB047059BA1 +S2140197E0BDF8102062F3942305931B0CBDF81220DC +S2140197F062F34F13ADF8163038E7B4F90A20B4F91E +S21401980008102846174B98474DE700BFB1220000C5 +S21401981020960200B89602005D2201003C48020034 +S214019820B9220000699900009D4D0000EDFD000081 +S214019830BD9501002D2C000021330000E4960200A6 +S21401984004970200C5240100289702001FB50100F5 +S214019850DD230100D83F02000FB50100A14600003C +S2140198607D400100A1420000D54400002DE9F041F1 +S21401987082B080460F46584B98470546574B984747 +S214019880D0B1002D00F08680554B1B680BB3182114 +S2140198902846544B98470446504B9847F8B9524BC4 +S2140198A00093492251490320514DA84722460023DF +S2140198B0504851498847FEE74B4B009342224B499B +S2140198C003204B4CA0472A4600234A484A4988476A +S2140198D0FEE72846494B9847414B1860D7E7002CCE +S2140198E05CD000262660237D43F0030366F3C7039E +S2140198F023752846424B984720812846414B984776 +S2140199006081A6814FF480736382637D43F0010317 +S2140199106375237D43F004032375A680E680E68104 +S214019920268239492846394B984739492846394BC2 +S2140199309847002F37D03846374B9847037DC3F3F7 +S2140199408003227D63F382022275438A63828389C0 +S214019950A381427D637D62F300036375B0F9043031 +S214019960A380B0F90630E380B0F90E30E381B0F998 +S2140199701030238201682846284B9847FF21284645 +S214019980274B9847274B0093174B7F2217490120F7 +S214019990174CA047284602B0BDE8F0812846224B66 +S2140199A098470025F6E70F212846204B9847314671 +S2140199B028461F4B9847012128461E4B9847B8F169 +S2140199C0000F04D0237D43F004032375DAE7237DDB +S2140199D06FF382032375D5E7253E0000B122000010 +S2140199E0FC6B0020D12B000030960200B8960200D6 +S2140199F05D220100D83F0200B9220000554D00004B +S214019A005D2F0000AD2F0000399A01002D2B0000BC +S214019A101D910100892B00009D4D0000119601004B +S214019A20993A00005C970200654F0000E941010089 +S214019A30A12900004D2900002DE9F04385B0074615 +S214019A401546082921D00C46884B1B6898470646C0 +S214019A50012821D1072C2DD03846854B98478046C2 +S214019A6074BB037D03F00303013BDBB2012B13D868 +S214019A700068804B98470023C8F8003098F81430E7 +S214019A8043F0030388F8143006E0137843B900F175 +S214019A9028036B6001262BB1304605B0BDE8F08384 +S214019AA00023F6E7714B1B682A460821384698477B +S214019AB00646F1E770492846704B98470646EBE79D +S214019AC0042C53D0062C5BD00A2CE5D1438AB3F57F +S214019AD0807F00F0C5808289002A40F0C180BA8A62 +S214019AE00132398A521A12B2F98A0131788A091A70 +S214019AF009B203FB02F0FF3048BFFF3040F30F20EE +S214019B00121A02EBD272541001FB03F3FF3348BF63 +S214019B10FF3343F30F23CB1A03EBD373581007F12C +S214019B200F03173702AA13F8011F02F8011BBB42E5 +S214019B30F9D1A2B2BDF808301344ADF80830BDF82B +S214019B400C309A1AADF80C2083B2BDF80A201A44DC +S214019B50ADF80A20BDF80E20D31AADF80E3000225B +S214019B60296802A8464B9847287195E7037D03F0BC +S214019B700303022B90D101683846424B98478BE786 +S214019B80072200213846404DA847B8F8123000FB9E +S214019B9003F31C12062200213846A847B8F80C30F9 +S214019BA003441BB21BB922B2B2F5807F31D0B8F99B +S214019BB00A20B8F9081008F10E000190A4B200942A +S214019BC002A8324CA047B7F93210BDF90830CB1ABB +S214019BD08B42B8BF0B461BB2BDF90A208A1A9342C4 +S214019BE0B8BF13461BB27B86BDF90C200A44B8F9F0 +S214019BF00800121A9342B8BF13461BB27B86BDF902 +S214019C000E200A44B8F90A10521A9342B8BF1346F6 +S214019C107B86122200213846DFF86C80C0478146D9 +S214019C20132200213846C047044610220021384638 +S214019C30C0470546112200213846C0474C45B8BFEB +S214019C404C46B7F9323022B29342B8BF1346AB4204 +S214019C50B8BF2B461BB29842B8BF184678861BE79A +S214019C60296838460A4B9847287115E7FC6B00208F +S214019C709D4D0000C52401006C9702009550000020 +S214019C80B915010011960100D544000065EC0000ED +S214019C905550000010B5094B98470446437C13F015 +S214019CA0010F03D0406808B1054B9847637C6FF3FA +S214019CB0000363740023636010BD00BF9D4D000068 +S214019CC0C5240100F8B507461E4B9847037C03F0F0 +S214019CD00703022B00D0F8BD044601894FF6FF7337 +S214019CE09942F8D0184B1B68033900689847064616 +S214019CF03846144B9847437C13F0010F14BF406855 +S214019D000430236803EB060E9B5DC3B100252B468A +S214019D10425D8EF800200133DBB21D46F218216841 +S214019D2001EB020E8A5C002AF2D1435D8EF8003008 +S214019D303846064B98474FF6FF732381CBE700253D +S214019D40F3E700BF9D4D00005C000020959C0100DC +S214019D5038B504460D46034B9847C5812046024B4D +S214019D60984738BD9D4D00002133000038B50446A4 +S214019D700D46034B984785812046024B984738BDD0 +S214019D809D4D0000213300002DE9F84306460C46A0 +S214019D90124B9847122200213046114DA8478046A3 +S214019DA0132200213046A847814610220021304662 +S214019DB0A8470746112200213046A8472388984421 +S214019DC0A4F80080A388A3EB0903A38063881F443B +S214019DD06780E388181AE080BDE8F883412E00000A +S214019DE0D5440000F0B583B006460F461546184B1D +S214019DF0984704463046174B9847042D1CD9681CD3 +S214019E00154B9847606060B12A463946134B984710 +S214019E10636800225A55637C43F001036374012092 +S214019E2014E00F4B00930F4B40F2B5520E4903203E +S214019E300E4CA047002009E0637C6FF300036374B7 +S214019E402A463946201D054B9847012003B0F0BD30 +S214019E509D4D0000959C0100DD2301005526010063 +S214019E60C499020074970200949902005D220100D1 +S214019E7030B583B004460D46104B984768B9104B71 +S214019E8000934FF4C4720F4903200F4DA847224692 +S214019E9000230E480E498847FEE720460D4B98479B +S214019EA0037CC3F30113AB4206D0037C65F30513B1 +S214019EB003742046084B984703B030BDB12200001A +S214019EC08C970200949902005D2201003C48020032 +S214019ED0B92200009D4D00002133000030B583B04B +S214019EE004460B4B984768B90A4B00934FF4F2723D +S214019EF009490320094DA847224600230848094975 +S214019F008847FEE72046084B9847006803B030BDF7 +S214019F10B1220000D8970200949902005D22010048 +S214019F203C480200B92200009D4D000030B583B0C8 +S214019F3004460C4B984768B90B4B00934FF4F972E3 +S214019F400A4903200A4DA8472246002309480A4920 +S214019F508847FEE72046094B9847007C00F007003B +S214019F6003B030BDB1220000EC97020094990200C4 +S214019F705D2201003C480200B92200009D4D000010 +S214019F8030B583B004460E4B984768B90D4B009325 +S214019F9040F2FF120C4903200C4DA847224600232D +S214019FA00B480C498847FEE720460B4B9847007C38 +S214019FB0C0F30110032808BF002003B030BD00BF66 +S214019FC0B122000004980200949902005D2201006B +S214019FD03C480200B92200009D4D000030B583B018 +S214019FE004460C4B984768B90B4B009340F21B2272 +S214019FF00A4903200A4DA8472246002309480A4970 +S21401A0008847FEE72046094B9847007CC0F380103E +S21401A01003B030BDB12200001898020094990200E6 +S21401A0205D2201003C480200B92200009D4D00005F +S21401A0302DE9F04F8FB0054605919E4B984768B9BC +S21401A0409D4B009340F2A5229C4903209C4CA047BF +S21401A0502A4600239B489C498847FEE7059E3046D2 +S21401A060944B984768B9944B009340F2A6229349C3 +S21401A0700320934CA04732460023924892498847D2 +S21401A080FEE70CA92846914B98472846904B9847DF +S21401A090074628468F4B98470646BDF834300133AD +S21401A0A0BDF830209B1A1BB2069348F28E0200219F +S21401A0B02846894B98478146039048F28102002141 +S21401A0C02846DFF83082C047044648F28002002165 +S21401A0D02846C0470490B9F908B0337CC3F380160C +S21401A0E013F0800F18BF46F0020613F0070F08BFE3 +S21401A0F046F010062846794B98478246012837D104 +S21401A10046F004063B78002B3AD1B84600252C468B +S21401A110611B0096049B039A89B24046DFF8D891EA +S21401A120C847BDF834300133BDF830209B1A1BB246 +S21401A13003EBD37300EBD0704FEA6009C9EB6303FE +S21401A1400FFA83F900238DF82F300A93002C40F084 +S21401A150A180634E33680A9940469847044633689F +S21401A160294638469847204480B20FB0BDE8F08FA4 +S21401A170022840F0968046F008063B78002B48D02F +S21401A180B8464FF000094D460BEB0403079309E070 +S21401A190079B99440FFA89F907EB000805463B5CD3 +S21401A1A0002B34D00096069B049A039940464D4CEA +S21401A1B0A0472844059BB3F9022009EB0B039A42FA +S21401A1C0E6DC04460EA941F8140D474B1B683846D9 +S21401A1D098470A2802D03B5D03B90134BAF1010F52 +S21401A1E096D0BAF1020F18D1611B0096049B039A10 +S21401A1F089B24046DFF80091C847BDF834300133D4 +S21401A200BDF830209B1A1B1A0FFA83F99AE7044609 +S21401A210E4E7B84600252C46E6E74FF0000991E74B +S21401A220079A06990398314B984700EB09039BB2AE +S21401A230059AB2F900101AB2914228DB0A9A51190E +S21401A240A14224D0795C11B304990B440FFA83F927 +S21401A25093460A9B2B44A342BFF47BAFDAF8003047 +S21401A2600AA9404698470690DAF8003000210A9875 +S21401A270404498470790002ED2D00A9B18F8031046 +S21401A2800DF12F001A4B98470028E2D1C8E7CDF808 +S21401A29028B05EE74FF0000BDFF860A006F001067D +S21401A2A0D7E73B78002B7FF46BAFB84600252C46EA +S21401A2B0A94647E7B122000060980200949902007F +S21401A2C05D2201003C480200B9220000899D010080 +S21401A2D0DD9E01009D4D0000A1460000819F01000A +S21401A2E064000020B13D010068000020610001000B +S21401A2F0693D0100D5440000DD3F01005800002003 +S21401A3002DE9F04F99B00446AF4B98470368002BF0 +S21401A31048D0054616A92046AC4B9847BDF85C6068 +S21401A3200136BDF85830F61A36B248F28E020021D0 +S21401A3302046A74B9847804648F2810200212046D6 +S21401A340A44FB847814648F2800200212046B8470C +S21401A35007462B7CC3F3801213F0800F18BF42F020 +S21401A360020213F0070F08BF42F01002296802929A +S21401A3700196CDF800900346424615A8964EB04782 +S21401A3802B7C13F0070310D0032B34D0042B00F0E2 +S21401A390D780022B00F06D81012B00F0FE81204654 +S21401A3A08E4B984719B0BDE8F08F12220021204647 +S21401A3B0884EB0470546132200212046B047284460 +S21401A3C0BDF854502844ADF8540010220021204610 +S21401A3D0B0470546112200212046B0472A18BDF88D +S21401A3E05600024412B2ADF85620BDF9541020466C +S21401A3F07B4B9847D3E705A87A4B984705944FF6C9 +S21401A400FF73ADF84830202211464046764B9847F8 +S21401A41038444FF47A7303FB00F3688993FBF0F337 +S21401A42003EB43039BB20F931193BDF95420BDF880 +S21401A4305C300133BDF858105B1A9BB219B28A42E0 +S21401A44037DD9B1A1AB200210B910C92674E0696C5 +S21401A4506889674B98470D90109031462046654BAA +S21401A460984718B3426A90F83C3003F001030D99FF +S21401A4708A4211DA0E929DF84A206FF300028DF897 +S21401A4804A204BB19DF8503043F001038DF850300F +S21401A4900B9B0C9A0B920C9305A8574B9847574960 +S21401A4A02046574B98470023EB8178E700231A464E +S21401A4B0DDE74E492046524B98470023AB81BDF954 +S21401A4C05620BDF85E300133BDF85A105B1A9BB2B8 +S21401A4D019B28A42E3DD9A1AB8F80830D21A12B2D3 +S21401A4E000210B910C92454E06966889404B984781 +S21401A4F00D901090314620463E4B9847E8B1426A8F +S21401A50090F83C3003F001030D998A4211DA0E925D +S21401A5109DF84A206FF300028DF84A204BB19DF852 +S21401A520503043F001038DF850300B9B0C9A0B9280 +S21401A5300C9305A8304B984731E700231A46E3E70A +S21401A54005A8284B984705944FF6FF73ADF8483099 +S21401A550BDF85C300133BDF858209B1ABDF9542074 +S21401A5601BB29A4250DD2022114640461E4B9847A8 +S21401A570C0EB803300EB8302BDF85430D21A12B21E +S21401A58000210B910C92194E06966889184B984734 +S21401A5900D9031462046174B9847002832D0436A23 +S21401A5A00D9A934206DA0E939DF84A306FF3000334 +S21401A5B08DF84A3005A8104B984710492046104B95 +S21401A5C098470023EB81EAE69D4D0000899D010036 +S21401A5D0A1460000D54400007D4001002133000063 +S21401A5E0A1420000E5120100610001006D9D01001D +S21401A5F09114010055140100A1130100519D0100A1 +S21401A600291301000023CBE76E4920466E4B98477D +S21401A6100023AB81BDF95620BDF85E300133BDF88D +S21401A6205A105B1A1BB29A42C7DDB8F808301A44B2 +S21401A630524212B200210B910C92644E0696688922 +S21401A640634B98470D9031462046624B984770B150 +S21401A650436A0D9A934206DA0E939DF84A306FF3D9 +S21401A66000038DF84A3005A85B4B984797E6002310 +S21401A670EFE7BDF85E300133BDF85A209B1ABDF9ED +S21401A68056201BB29A4203DC4FF6FF732B8186E6F7 +S21401A690524B1B6828689847032803D84FF6FF7368 +S21401A6A02B817CE6BDF85C600136BDF85830F61AA1 +S21401A6B0B6B22E2211464046494B98473844C0EB65 +S21401A6C0803300EB83003044ADF81000BDF85E30F7 +S21401A6D00133BDF85A209B1A9BB218B2B8F908206C +S21401A6E04A4490FBF2F102FB11029B1AA3EB090903 +S21401A6F0ADF8129004A920463A4B98478046074683 +S21401A7002E683046384B98478146384B1B68414681 +S21401A710304698470646059000F10308C1450ED21B +S21401A720DFF8DCA028683044DAF800309847059E48 +S21401A730361A0596013F06F10308C145F2D34FF0DC +S21401A740040A4FF00009DFF8B8B02868059B1844E2 +S21401A750DBF80030984781445FFA89F905A9286833 +S21401A760234B1B689847BAF1010AEED129684A467D +S21401A770314420461F4B984700283FF410AEF11C89 +S21401A7802E222B689A5501368E42FAD12B6800226A +S21401A79003F8082003372F8101E610220021204606 +S21401A7A0154EB0470546112200212046B04729180C +S21401A7B0BDF85600014409B2ADF8561020460F4BBD +S21401A7C09847ECE56D9D010029130100519D01009C +S21401A7D09114010055140100A1130100600000202E +S21401A7E06100010031A001001FB501005C000020DE +S21401A7F058000020E59D0100D5440000B543000047 +S21401A80054000020F0B583B006460D46404B9847ED +S21401A81060B9404B0093B8223F4903203F4CA04704 +S21401A820324600233E483F498847FEE730463E4BC6 +S21401A830984730463D4B9847044605B32846344B67 +S21401A840984708B32768BD422BD01FB1237C13F06D +S21401A850080F49D02846364B98470130354B984764 +S21401A86020602B4B9847002844D0206850B12946D9 +S21401A870314B9847237C6FF3C303237430E0304693 +S21401A8802E4B984703B0F0BD224B0093C4222249B9 +S21401A8900320224CA0472A46002321482149884705 +S21401A8A0FEE7237C13F0080FD4D13846204B984797 +S21401A8B0411C3846224B98472060154B984760B993 +S21401A8C0144B0093D52214490320144DA84722683F +S21401A8D000231C4813498847FEE72368002BD1D084 +S21401A8E03046164B9847CDE73846174B9847002316 +S21401A8F02360AFE7074B0093EE2207490320074D7D +S21401A900A847226800230F4806498847FEE700BF8C +S21401A910B122000078980200949902005D2201009D +S21401A9203C480200B9220000213300009D4D000082 +S21401A9301FB50100DD2301000FB5010001A30100D1 +S21401A94099280100D83F0200C524010070B582B0E5 +S21401A95005460E46144B984768B9144B00934FF4BE +S21401A960A67213490320134CA0472A460023124817 +S21401A97012498847FEE72846114B98470446037C50 +S21401A98013F0080F05D1006818B10E4B9847002345 +S21401A990236026B1237C43F00803237426602846EF +S21401A9A0094B984702B070BDB1220000A49802007E +S21401A9B0949902005D2201003C480200B922000081 +S21401A9C09D4D0000C524010001A30100F0B583B030 +S21401A9D005460F46224B984768B9224B009340F232 +S21401A9E0651221490320214CA0472A46002320480E +S21401A9F020498847FEE728461F4B984704461F49CB +S21401AA0028461F4EB0471F492846B0471E492846CC +S21401AA10B0471E492846B0470023A381E381FB1EA9 +S21401AA20DBB2022B237C94BF43F080036FF3C71382 +S21401AA302374237C03F00703022B08D0237C67F3DF +S21401AA40020323742846124B984703B0F0BD2289AF +S21401AA504FF6FF739A42F1D028460E4B9847EDE722 +S21401AA60B1220000C0980200949902005D22010004 +S21401AA703C480200B92200009D4D00002935000027 +S21401AA8029130100893500006D9D0100519D0100CB +S21401AA9001A30100C59C010030B583B004460D46F4 +S21401AAA0104B984768B9104B00934FF4CD720F497D +S21401AAB003200F4DA847224600230E480E4988471B +S21401AAC0FEE720460D4B9847037CC3F38013AB4249 +S21401AAD006D0037C65F3861303742046084B98471B +S21401AAE003B030BDB1220000D8980200949902004C +S21401AAF05D2201003C480200B92200009D4D000085 +S21401AB0001A301002DE9F04182B00F46794B984729 +S21401AB100446794B9847E8B1002C00F09A80774BB1 +S21401AB201B6823B314212046754B98472046754B66 +S21401AB3098470546704B9847F8B9734B00935D22CA +S21401AB4072490320724CA0472A4600237148724975 +S21401AB508847FEE76C4B009354226C4903206C4DEA +S21401AB60A847224600236B486B498847FEE72046E4 +S21401AB706A4B9847614B1860D4E7002D6DD00023CF +S21401AB802B602A7C02F0B7024FF6FF71298142F052 +S21401AB90300263F302022A7419226A81AB81EB81C7 +S21401ABA06B606A7C63F300026A745D4920465D4B04 +S21401ABB098475D4920465D4B9847002F52D038464E +S21401ABC0504B984706463846594B9847014620460B +S21401ABD0584B98473846584B984701462046574B9E +S21401ABE098473846564B984701462046554B984756 +S21401ABF0337C13F0080F46D13846534B984701462D +S21401AC002046524B9847337C03F00703022B42D071 +S21401AC10737C13F0010F64D07068002861D04C4B30 +S21401AC20984782B2696820464A4B9847727C6B7C8B +S21401AC3062F300036B7433892B81FF212046464B58 +S21401AC409847464B0093304BA82230490120304D9F +S21401AC50A847204602B0BDE8F0812046404B984701 +S21401AC600024F6E7122120463E4B98470021204655 +S21401AC703D4B9847002120462E4B98473B4920469E +S21401AC80324B9847DDE738462F4B9847014620461A +S21401AC90374B9847B7E72F683068364B98470146D9 +S21401ACA03846354B98472860134B984760B9164B82 +S21401ACB00093952215490320154CA0472A680023C6 +S21401ACC0144815498847FEE72F6887B1D6F80080F3 +S21401ACD04046284B9847024641463846274B9847F8 +S21401ACE096E70422B118A818244B98479EE700243B +S21401ACF0AFE700BF253E0000B1220000006C002037 +S21401AD00D12B00009D4D0000F0980200949902009E +S21401AD105D220100D83F0200B9220000554D000017 +S21401AD2001AF0100892B000081AD01002D2B000031 +S21401AD302D9F0100CDA90100DD9F010099AA010008 +S21401AD40819F0100719E0100DD9E010005A80100A2 +S21401AD501FB50100E59D0100993A0000F89902002F +S21401AD60654F0000E9410100A1290000F0990200A9 +S21401AD704DA9010051250100992801005526010021 +S21401AD802DE9F04107461546082915D00C46304BEB +S21401AD901B6898470646012815D1072C20D038464F +S21401ADA02C4B9847804644BB037C13F0080F1DD0FC +S21401ADB03846294B984706E013783BB900F128033B +S21401ADC06B60012623B13046BDE8F0810023F7E72A +S21401ADD01F4B1B682A460821384698470646F2E765 +S21401ADE01E4928461E4B98470646ECE700681D4B51 +S21401ADF098470023C8F80030DAE7042C14D0022C58 +S21401AE00E1D1AA8801322B88D21ABB8A0133398A4A +S21401AE105B1A92B29BB29A420DD03846124B9847B3 +S21401AE203846124B9847CEE738460F4B9847384678 +S21401AE300E4B9847C7E7EA8801326B88D21AFB8A1D +S21401AE400133798A5B1A92B29BB29A42E5D1BAE78C +S21401AE50006C00209D4D0000959C0100089A0200A0 +S21401AE6095500000C5240100C59C010001A3010006 +S21401AE7030B583B004460A4B984718B14FF6FF70B9 +S21401AE8003B030BD074B009340F21D320649032044 +S21401AE90064DA84722460023054806498847FEE78F +S21401AEA0B122000018990200949902005D22010067 +S21401AEB03C480200B922000030B583B004460A4B74 +S21401AEC0984718B14FF6FF7003B030BD074B00939B +S21401AED04FF44C7206490320064DA847224600232C +S21401AEE0054806498847FEE7B1220000349902006A +S21401AEF0949902005D2201003C480200B92200003C +S21401AF00022A00F01E810AB1002070472DE9F043A5 +S21401AF10A9B00F4605468C4B98478046042200216F +S21401AF2028468A4CA0478146052200212846A0478C +S21401AF3005F10F0305F1170606AA13F8014F02F8EB +S21401AF40014BB342F9D11FFA89F9BDF81830A3EBCA +S21401AF500903ADF81830BDF81C309944ADF81C90C3 +S21401AF6080B2BDF81A301B1AADF81A30BDF81E3083 +S21401AF701844ADF81E0013A8754B984713AA002174 +S21401AF802846744B984713AA394606A8724B984729 +S21401AF9008A92846714B984708AA39460AA8704B53 +S21401AFA0984710B929B0BDE8F08328466D4B9847FD +S21401AFB098F81030C3F3801413F0800F18BF44F0D4 +S21401AFC0020413F0070F08BF44F01004012838D01C +S21401AFD0022808BF44F008040CA8634B984728468B +S21401AFE0624B9847ADF83E002846614B9847ADF84E +S21401AFF04000B8F90C30ADF84230B8F90E30ADF873 +S21401B00044308DF847400CAA00212846594B9847F2 +S21401B01098F8102002F00703033BDBB2012B13D98B +S21401B020D8F80030002200920CAA0AA908A8524DAE +S21401B030A84798F8103003F00703042B2BD0002004 +S21401B040B0E744F00404C7E702F03002102A01D04A +S21401B050202AE5D1BDF93C30D8F80010029447F615 +S21401B06018420192BDF93A2000920D9A05A8434D67 +S21401B070A847BDF824300133BDF820209B1ABDF93E +S21401B08014201BB29A42CBDD9DF8473023F00C0307 +S21401B0908DF84730C4E7BDF93C30D8F8001002946B +S21401B0A047F618420192BDF93A2000920D9A05A87A +S21401B0B0324CA047BDF91420BDF824300133BDF849 +S21401B0C020105B1A1BB29A4220DCBDF91620BDF88F +S21401B0D026300133BDF822105B1A1BB29A42AEDD50 +S21401B0E0B8F90C30ADF842300D9B1B891344B8F803 +S21401B0F00E201344ADF84430D8F8003000220092F8 +S21401B1000CAA0AA908A81C4CA04798E7B8F80C4056 +S21401B110224494B2202211460D98194B984700EB11 +S21401B12040000444ADF84240B8F90E30ADF8443062 +S21401B130D8F80030002200920CAA0AA908A8A8474D +S21401B140C3E70220704700BF9D4D0000D5440000B4 +S21401B15069C20000C550000031C30000899D01008E +S21401B16019150100819F0100CD99000071AE010003 +S21401B170B9AE0100B1560000259A00007D400100DD +S21401B1806100010053B94AB9002908BF00281CBF55 +S21401B1904FF0FF314FF0FF3000F07AB9ADF1080CF7 +S21401B1A06DE904CE00F006F8DDF804E0DDE90223DF +S21401B1B004B070472DE9F0478C460D460446089EBC +S21401B1C0002B51D18A4217466DD9B2FA82FEBEF1E2 +S21401B1D0000F0BD0CEF1200C01FA0EF520FA0CFC74 +S21401B1E002FA0EF74CEA050C00FA0EF44FEA174A7B +S21401B1F0250CBCFBFAF81FFA87F90AFB18CC45EABE +S21401B2000C4508FB09F3AB420AD9ED1908F1FF32E8 +S21401B21080F02381AB4240F22081A8F102083D4430 +S21401B220ED1AA4B2B5FBFAF00AFB105544EA054440 +S21401B23000FB09F9A14509D9E41900F1FF3380F0B3 +S21401B2400A81A14540F2078102383C44A4EB090477 +S21401B25040EA08400021002E61D024FA0EF40023B3 +S21401B26034607360BDE8F0878B4207D9002E54D056 +S21401B270002186E821000846BDE8F087B3FA83F18D +S21401B280002940F08E80AB4202D3824200F2FA805F +S21401B290841A65EB03050120AC46002E3FD086E8F4 +S21401B2A01010BDE8F08712B90127B7FBF2F7B7FA1D +S21401B2B087FEBEF1000F34D1EB1B3A0C1FFA87FC58 +S21401B2C00121B3FBF2F8250C02FB183345EA0345CE +S21401B2D00CFB08F3AB4207D9ED1908F1FF3002D297 +S21401B2E0AB4200F2D1808046ED1AA3B2B5FBF2F074 +S21401B2F002FB105543EA05440CFB00FCA44507D9A4 +S21401B300E41900F1FF3302D2A44500F2B8801846D2 +S21401B310A4EB0C0440EA08409DE731463046BDE800 +S21401B320F087CEF1200405FA0EF307FA0EF720FA9D +S21401B33004F83A0C25FA04F448EA0308B4FBF2F1DF +S21401B3404FEA184502FB11441FFA87FC45EA0445FB +S21401B35001FB0CF3AB4200FA0EF409D9ED1901F129 +S21401B360FF3080F08A80AB4240F2878002393D444C +S21401B370EB1A1FFA88F5B3FBF2F002FB103345EA2D +S21401B380034500FB0CF3AB4207D9ED1900F1FF387A +S21401B3906FD2AB426DD902383D44EB1A40EA014107 +S21401B3A08FE7C1F1200722FA07F88B4005FA01F46E +S21401B3B048EA030320FA07FE4FEA134CFD404EEA23 +S21401B3C0040EB5FBFCF94FEA1E440CFB19551FFA97 +S21401B3D083F844EA054509FB08F4AC4202FA01F297 +S21401B3E000FA01FA08D9ED1809F1FF3043D2AC4250 +S21401B3F041D9A9F102091D442D1B1FFA8EFEB5FB8A +S21401B400FCF00CFB10554EEA054400FB08F8A0457D +S21401B41007D9E41800F1FF3529D2A04527D902380B +S21401B4201C4440EA0940A4EB0804A0FB02894C45F1 +S21401B430C6464D4615D312D056B1BAEB0E0364EB91 +S21401B440050404FA07F7CB401F43CC40376074600D +S21401B4500021BDE8F0871846F8E69046E0E6C245CA +S21401B460EAD2B8EB020E69EB03050138E4E7284699 +S21401B470D7E7404691E78146BEE7014678E70238BE +S21401B4803C4445E7084608E7A8F102083D442BE797 +S21401B490704700BF70B50D4E0D4CA41BA4100025BF +S21401B4A0A54209D10B4E0C4C0EF0B4FAA41BA41005 +S21401B4B00025A54205D170BD56F8253098470135BF +S21401B4C0EEE756F8253098470135F2E7209A020054 +S21401B4D0209A0200209A0200249A020010B501392F +S21401B4E00244904201D1002010BD10F8013B11F832 +S21401B4F0014FA342F5D0181B10BD10F8012B11F80F +S21401B500013B012A28BF9A42F7D0D01A704703465A +S21401B51011F8012B03F8012B002AF9D170470346D5 +S21401B52013F8012B002AFBD1181A013870470000C6 +S21401B5302E2E2F68706C2F706F72742F68706C5F70 +S21401B5406770696F5F626173652E68002E2E2F68C3 +S21401B550616C2F7372632F68616C5F696F2E630075 +S21401B5602E2E2F68616C2F7372632F68616C5F7467 +S21401B570696D65722E6300002E2E2F68616C2F7325 +S21401B58072632F68616C5F75736172745F61737942 +S21401B5906E632E63000000002E2E2F68616C2F75DF +S21401B5A074696C732F7372632F7574696C735F6C37 +S21401B5B06973742E630000002E2E2F68616C2F7540 +S21401B5C074696C732F7372632F7574696C735F7211 +S21401B5D0696E676275666665722E630000300040AC +S21401B5E000340040002001410040014100000043BA +S21401B5F00004004300080043000C00430300000061 +S21401B6001400200000010000FF0000000000D70029 +S21401B610000427072E2E2F68706C2F736572636FD8 +S21401B6206D2F68706C5F736572636F6D2E630000BB +S21401B63000380040003C004000A0014100C001412C +S21401B6400014004200180042001400430018004392 +S21401B65000006B000803000000000000973A00009D +S21401B660000000002E2E2F68706C2F74632F6870F8 +S21401B6706C5F74632E6300000AE462165B8500004B +S21401B68084B601000B0607FF2C88ACFF251F87FF39 +S21401B690395189FF6DC4DCFF4883C8FF3256C6FFA7 +S21401B6A04D4346FF160A48FF5CA2BCFF382DC2FF79 +S21401B6B0676C8BFF2D2748FF223689FF416DC7FF38 +S21401B6C07685C3FF9AA4C6FF2035A5FF212669FF0C +S21401B6D03951A9FFA9E2E8FF2E2426FF406EE9FFB3 +S21401B6E04388E9FF4BA6AEFF483887FFC9C4C5FFAC +S21401B6F0336EA8FF6A6469FF4056E4FF2E3469FF83 +S21401B700170928FF4E55A8FF96A9E7FF838383FFF5 +S21401B7101B1067FF80889EFF606EC7FF5FA6E7FF6E +S21401B7204796E9FF7987E6FF2E20A9FF274569FF9F +S21401B73035438AFF646FA7FF293349FFAFB5C0FFC2 +S21401B7405F5789FF4355C7FF2D46A9FF89979FFF7E +S21401B7503F60ABFF1D2C88FF4879C9FF1B1527FFEB +S21401B7608294C6FF2F2869FF69B6E6FF84D4DFFFFF +S21401B7701B1548FF6493C8FF5B6EE6FF1547C1FFC4 +S21401B780BCC4E4FF1E3798FF4363C6FFE8E4E1FF4D +S21401B7902A5473FF3E3A67FF2B53B7FF322B87FFBE +S21401B7A0608AE6FF1E1419FF4884D6FF3F3738FF2C +S21401B7B06499EAFF8198D6FF475F87FF212659FFE4 +S21401B7C01A1637FF5055E6FF776E88FF94A8D8FF04 +S21401B7D0737AA9FF221957FF72A8EBFFDEF3F6FF73 +S21401B7E09EA5A3FF493DE0FF241C67FF948CA2FFA2 +S21401B7F05462A8FF83C4ECFF486ED7FF3F47A9FFFA +S21401B800383AA9FFD6D4D5FF3779A7FF5462E7FFA8 +S21401B810615859FF484688FFA7B4D6FF9A99B0FFEA +S21401B82036509BFF202678FF282339FFB4B5B3FF97 +S21401B830457AE7FF96B5E8FF313359FF467AD8FFD8 +S21401B840A29AC1FF160C16FF7E88B1FF636288FFBD +S21401B850797679FF302976FF433DC1FF303C97FF6B +S21401B8602D3679FF4C4767FF304599FF60B5BFFF1E +S21401B8705F97F7FF4B62D7FF5C87C9FF182D95FFCF +S21401B8805979E8FF4549C0FF8F9694FF29979CFF99 +S21401B890AEDDEBFF64AAC0FF789AE9FFD1EAF3FFB9 +S21401B8A03262C5FF3E34D8FF615A68FF4298DAFF1C +S21401B8B03E64F1FF788692FF59B8D8FF627AC6FFD8 +S21401B8C0DDDCE4FF7C7C86FF544A57FF4FA9DAFF94 +S21401B8D07B8AD5FFA4A9AFFF7BA5D9FFCDCDD6FF27 +S21401B8E06F6B76FF7CD2ECFF94B8F7FF3199A9FF16 +S21401B8F06C7684FF82CBE1FF1950D8FF7BB5F5FF4C +S21401B900496DB9FF4779BBFF342BACFF5E89D7FF82 +S21401B9105486A4FF292197FF180C57FFAFAAC3FF2F +S21401B920BFE6EDFF64ACACFF150837FF5CA5F9FF79 +S21401B93032447BFFBFBCC1FF7E9BF6FF5A5778FFA0 +S21401B9405F6EB7FF4B6199FF647AB9FF221A77FFE2 +S21401B950474799FF666298FF4587F6FF96A9F6FF67 +S21401B9601C1277FF4C96F7FF4A54D8FFB6C7FBFF69 +S21401B970403A78FF5F87FAFF7AA6F5FF978BAEFF0E +S21401B9804A4878FFBBD7F8FFF8FAFBFF9AC8F2FFE0 +S21401B990EBEBEEFF496EFBFF4F62B7FF5964FBFF0F +S21401B9A06579D9FF303988FF473797FF423948FF15 +S21401B9B0251829FF9BDAE4FF251748FF999DD7FF35 +S21401B9C0251838FF5256F7FF495299FFB4BCE5FFD8 +S21401B9D03E375AFF4C9498FF6695D9FFD4D2FCFFA8 +S21401B9E04E58B7FF5D5997FF3F34C3FF4B49DCFF05 +S21401B9F06B7895FF3B61B9FF312998FF437AF9FFD0 +S21401BA00463CD0FF5B78FBFF7B7B99FF233CA6FF80 +S21401BA108B9DC7FFDFDBDAFF505388FF969B9FFFA6 +S21401BA207AB9EAFF3A55B7FF2F2A57FFA7ABD7FFD8 +S21401BA30BBBAD9FF382938FF898B8EFF69BBDBFF7C +S21401BA40A1D7ECFFABB8F8FF686F96FF516CABFF60 +S21401BA505D6FD8FF5B6EFBFF777099FF3163D5FF93 +S21401BA604848D1FF445AFCFF73CCDCFF544B4BFFD4 +S21401BA707A8CC3FF9FACC6FF372C2BFFCFCBCBFFF7 +S21401BA806F6B6BFF7070707070707070707070702C +S21401BA90704870707070484848363636CB690CE985 +S21401BAA02D444477E9121277C8793113133176C8D9 +S21401BAB0C87931133131E2E2E2407E40E2E2E2400F +S21401BAC0E231C525A285C7305EB3760D46464646A9 +S21401BAD0DD4040405F5E13D1B32B765F5F7676C85C +S21401BAE0C840A29C56C114E7BD3904BDE73A269C5E +S21401BAF0A7040414E7BCE07BEFEF4780803DBCF36E +S21401BB0033479C56C1C1565CEE9CE79CF939EF560B +S21401BB103AF9869C85C70E0EC755CC9C4BE756C195 +S21401BB20C2A2359F9F9F9F9F9F9F9F33332067672A +S21401BB3079796720202013DC1767121E4E7070700B +S21401BB407070707070707070707048707070484867 +S21401BB5048483636360C4E69692D2B2B2B1E4E74F3 +S21401BB6077C879315E313176C8C87931133131E21F +S21401BB70E2E24034403131E231D79F9FC52528C7E4 +S21401BB80305EB3760D343446467E40404076B3137D +S21401BB90D1B32B2B5F5F76407676406E9C86C1864E +S21401BBA00439E7F955399C559C869CEE145CBCF427 +S21401BBB07BEF8347805E62BCF320470486C1C1C128 +S21401BBC0F90483C2E7F9399CC1CCF9A79C4B3535FA +S21401BBD035D55CA7EF555C56C1EFD53C7D7D7D7DA7 +S21401BBE005050505A09F9FC533333333333333DC57 +S21401BBF0176E13770D74707070707070707070704F +S21401BC007070483648707048484836CB36CB4E4E32 +S21401BC100C1E1EBBB32BC84E7777C82B7979797962 +S21401BC2076C8C8793113133131E2E24040E231136C +S21401BC3033AFC51331E8F328F3E85EB3760D343439 +S21401BC4046467E7E404076B313D1B32B2B5F3176CA +S21401BC50407676406E9CA786563A39E73A5555F9AE +S21401BC6026E7869CEE839CB5E0BCEF834B5EB37CF7 +S21401BC70E0F3136EE786C1C1C13A3AA7E75504550A +S21401BC809CC183043AE7A267A0A2555CA7149E5CF8 +S21401BC9056C18326D53C3C3C3C3C7D7D0505359F05 +S21401BCA09FDCDC9FC5C513310E6E3333340D0D702A +S21401BCB07070707070707070707070483648707008 +S21401BCC048484836CB36691E0C0C79BBBBBB2BC823 +S21401BCD04E7477C8C8C82B2BC8C8C87679311313D9 +S21401BCE031313131E27631C5AFC513767631E8258B +S21401BCF0F341E8B3B3760D34343434344040115F45 +S21401BD00B3D1D1B32B7631317676767640F3E7C26E +S21401BD10C0C1A704043A55550426E7863A8DCC9C43 +S21401BD20B8E0BCC2CC4B5EB37CE03DD16E39A7C156 +S21401BD30C1C18383A7392604559CC114E79E4B9F36 +S21401BD40643585995CA7149EE786C18326D53C7D1C +S21401BD503C3C3C7D7D0505A09F9FDC33DCC5DC13A8 +S21401BD607945790D0D68740D707070707070707013 +S21401BD70707070703648707070484836CBCBCBCF39 +S21401BD8012691E2BBBBB6D2B2B127477C82B2B761F +S21401BD9076C8C8C876793113133131133131139F00 +S21401BDA0AF33794076760D79E8E8E85EB3B3760D81 +S21401BDB034343434347E40115FB3131367797631EB +S21401BDC03176767676760E39EF56C1C13A04CC399D +S21401BDD02604263986EF8DCC9CB8E0BC5CCC4B5E45 +S21401BDE0647CBC3DD10E55A7C1C1C1A7CCA7E7262F +S21401BDF0EE559C5683554735B0F149219C3A1414AB +S21401BE009EE786C18326D53C7D7D7D7D7D050535F6 +S21401BE1035A09FDC333313137979760D7933741299 +S21401BE206870707070707070707070704848707064 +S21401BE307048483636CBCBCB36360CC82BBB44D3F2 +S21401BE4079BB127477C82B7979797976C8C8793134 +S21401BE501313131331139FAFDC133176404034E6CE +S21401BE602CE231315EB379760D0D343434344040F2 +S21401BE70115FB3131313B3765F317976C8767641C3 +S21401BE803914C1C1C1CC0414E74BEE2655A7838DE6 +S21401BE903A9CB8F4BCE7CC4B5EB37CBC3D130E2693 +S21401BEA083C1C1C1839CA7E726E755E7A7EF4B0EE1 +S21401BEB0DCF5F2A25CCC3A1414E755EFC18326D523 +S21401BEC03C7D7DA27D7D0505356E359FDC331331C6 +S21401BED07979764034337DC86812707070707070EE +S21401BEE070487070707070707070484836CBCBCBED +S21401BEF0CB363677762BBB44BB1EE91E7477C82B30 +S21401BF007979313179C8C8793113E8E8E89FB1C544 +S21401BF1031313131400D7E64C16F405E5E5E5EB38D +S21401BF20760D34343434344040405FB31313135E1B +S21401BF3076313131317676764139EF56C1C114F911 +S21401BF40A75C7B392626A7838D9C3A27F4E0393AED +S21401BF504B80B3B9BC3D13C55583C1C1C1839C8613 +S21401BF609C26E755E73A5CC7DC33E633D55C143AE2 +S21401BF70CC14E7BD5C86EF263C3C7D7D7D7D0505CA +S21401BF80351749359FDC331379790D0D0D6813C5C7 +S21401BF900D68747070704848704836707036487016 +S21401BFA07070704848CBCBCBCBCBCBCB77762BBB4B +S21401BFB0446D1E77771277772B7979313179C8C836 +S21401BFC0791313E8C58E8ED731E2E231E2404002A2 +S21401BFD0BEC1A6405E5E5E5EB3760D343468340D37 +S21401BFE04040405F5E1313135E5E313131315E793E +S21401BFF07641265C86C1C1A7F9A79C7B554B268353 +S21401C000A78D043A4BF4F4BD3A7B805E30E03D5B8D +S21401C010AF9986C1C1C1149C869C4B555555E74BBB +S21401C0209FE82C66334B5C143ACC14E7BD9ECCEFEC +S21401C030857D3C7D7D7D7D05056E176E359FDC33E8 +S21401C0401379760D0D0D68791374687470707070BD +S21401C0507070364870703636487070484836CBCBAC +S21401C060CBCBCB6936691EBB44D344BBC877777745 +S21401C070772B2B797979C8C8797913E88E7D25E8ED +S21401C08013314040E2E2404068FEC16076315E5EB8 +S21401C0905EB3760D0D6872BBB27EE2115F5E13135E +S21401C0A013E85E31315EE85E317987AA9E86C1C1AA +S21401C0B0A7F9A73A7B264B4B83A726EE3A4BF4F417 +S21401C0C0AD9C7B305EE8E017B110C28356C1C1A7B4 +S21401C0D09C869C4B55557B470EDC136624DC4B5CDB +S21401C0E0CC9C3ACCE7ADBD5C5CD57D7D7D7D7D7D10 +S21401C0F005351749359F9FDC137979760D0D0D347B +S21401C10068746868687070707070707070367048A7 +S21401C110364848704848CBCBCBCBCBCBCBCBCB69C7 +S21401C1202DD3442BABC80D7777772B2B2B79C8C82B +S21401C1307979139F8E8E41D7E83140347EE2E24012 +S21401C14034E5425656D15F5E5E5EB3760D0DB22E75 +S21401C150C166777EE2315E131313E85E3131131345 +S21401C1601313316EAAE756C1C1863A86CC7B4B4B78 +S21401C1704BCCA73939F94BE0C67BE77B305EDC2731 +S21401C18085FC10559C56C1C1A7F9869C4B4BADBC8E +S21401C1900EE8DC67ACB40ED55C3A9C9CCCE7AD856A +S21401C1A09E9ED57D7D7D7D7D7D05354935359FDC22 +S21401C1B03313797976400D0D0D3468687474707098 +S21401C1C0707070707070487048CF3648704848CBB1 +S21401C1D0CBCB15CBCBCBCB0C0C2DD3442BAB79795E +S21401C1E040C8772B2B7931797979DC8E8E254141C0 +S21401C1F0D731117E347E11114002E1C3C3C15340D1 +S21401C2005E5E5EB3760D0D34BB42C142F134315EE3 +S21401C210131313135E5E1313E835C5DC274B9C56C8 +S21401C220C1C1863AA7CC7B7B4B4B3AA73926EE4B4E +S21401C230E0C6BCE77BB9C58A5552715B47EE56C16D +S21401C240C1A7F9863A4B7BBC5DE81313B41AD10E2D +S21401C250D5E73A9C9CCC5CAD855555A27D7D7D7D10 +S21401C2607D7D050505359F9FDC13317979797676D5 +S21401C270767676760D0D12707070704870707070EC +S21401C28070CFCF3636704836CBCBCB696969CBE9F0 +S21401C290C877446D44D32B135E790DC82B7913DC14 +S21401C2A01313AF8E25C5412541E8E2117E347E1178 +S21401C2B011406894C3C3C110405E5E5EB3760D46FE +S21401C2C040B272C1C1C194C8E21313135E5E5E131D +S21401C2D0E83939DCDCDC479C56C1C156F9A7CC27C6 +S21401C2E0B87B279CA7394B397BE0C6BC557BF3D579 +S21401C2F05537B120D16E3986C1C1A7F9A7EF27BC42 +S21401C3007FE813E87966AC136E85E7F95C5C3A5C06 +S21401C310BD85D5D5D57D7D7D050505050505353557 +S21401C32035DC13137979797979797979797979C8D5 +S21401C33070707070487070700036CFCB36364848D3 +S21401C34036CBCBCB696969CB77C877BBBBB3ABAB15 +S21401C3501331760DC82B7913C59FB19F13E8D741CA +S21401C36041E845E2117E347E111140682EC3C3C1F7 +S21401C37096C8315E5EB3760D0D46405994C1C1C173 +S21401C38060D17920D1B3B35EE895989F13313147D8 +S21401C3909C86C1C1563AA7CC27BCB8179CA739B80A +S21401C3A0AAB8F4D0BC9EB62195B15B20D1D15D3937 +S21401C3B0A7C1C1A7F9A73A273DDC1313E8791ABE2E +S21401C3C0E847ADE79CE75C3A5CBD85A2D54BA27D0C +S21401C3D07D0505A0A00505356E0E131379797679CE +S21401C3E0797979315E315E5E797070704848707027 +S21401C3F070480036CF36CB4848CBCBCB1569696938 +S21401C400CB69C8C81E2BB3B32BB376404079797974 +S21401C410138E8E137979313131453131E2E2403470 +S21401C4207E11E240C860C3C3C1C3D13113B379766C +S21401C4300D0D46463477E4C1C1C1C3537913B3B376 +S21401C4405E9FD59F131331314704A7C1C1563AA742 +S21401C450CC4BE0B8B5E7A755E0BCB5E0F4ADBABA49 +S21401C4604CC520B3B3D1B35D2683C1C1860483CC4A +S21401C470274113131313D8E4B45DADAD9E9CE7E7D3 +S21401C4803A5CBD85A2D585A27D7D05A0A0A0A0A011 +S21401C4909F9F331313792B0D7679793131315E797C +S21401C4A0797970704836487069E90C48703636CB31 +S21401C4B03648CBCBCB15696969CB4E79776DABAB7B +S21401C4C0672B314076131313338EAF13797979794D +S21401C4D0797931E2E2E21140347E11E27EE5428F63 +S21401C4E042C3C153E21379B3760D0D463440A472AC +S21401C4F0C156C1C1C17179B3B35ED7135E135E79FC +S21401C500766E04A7C1C156F914144BE0B5B8E7140A +S21401C5102662E0BCBCADBABAAD7C805E64B3D1B372 +S21401C5205D26CCC1C18604CC3A27E8313113792483 +S21401C53060D847AD859E9CE7E79C5CBD85A2D58506 +S21401C540A27D7D7D7D05A0A0A0A09F9F333313799A +S21401C5500D0D0D767931795E5E79797070483636D3 +S21401C56000700C0CCB707036364848CBCBCB696963 +S21401C5706969CB4EC8E91EBB642BB3797613D7C560 +S21401C5808E7DC513797676767979797640E2E211F1 +S21401C5907E347E11E27EE5C3E4E4C3C110761379EE +S21401C5A079760D0D3434405F0266C1C3C1C1C1370F +S21401C5B0C8B35E5E5E5E5E3176766EEE14C1C156BF +S21401C5C0F9CC144BE0B5B5393A4B41BCBDBAF0AD28 +S21401C5D0BDBCDA805E64B320B341263A56C18604F8 +S21401C5E09C9C1713795E13C8AC6AC5AD8585399CCA +S21401C5F0E7E79C5CBD85D54BADD57D3C3C3C7D7D60 +S21401C6007D7DA0A09F33333333672B0D0D0D7979D4 +S21401C610795EB3B370703636700000360C364870EB +S21401C62070704848CBCBCB69696969CBCBCBE9AB9A +S21401C6302B646413793113C50F7DC5131379767690 +S21401C6407679797976404011407E347E11E27EF12A +S21401C650C16060C3C19676137979760D4634401170 +S21401C66011E27760C3425656C16F0D5E5E5E795E1B +S21401C6705E76405D39CCC1C156F9CC1426E0BCB516 +S21401C680269CD58E99D6F0E0E07BE0DA805E64B336 +S21401C69020B34127F986C18604040449137913316E +S21401C6A0E5E45AF3BD5585555CE79E9C9CBDBDD51A +S21401C6B085B6959521216C215252525295E33CB193 +S21401C6C0A09F331379C8340D767679B3B3360070EC +S21401C6D048704870703636367070704848CBCB1547 +S21401C6E069696969CB690CE9BB136420207913C5B4 +S21401C6F00F8EC5D713133176767679797940401146 +S21401C70011407E343411E2025AC160FEC3C156D8CC +S21401C710317979760D0D3440115F31112FC1E48FD7 +S21401C720C356C1660D5E5E765E5E760D4139CC56A9 +S21401C730C156F93ACC26F4E0B5BD9E2165BA9EBC39 +S21401C740C6C6BCE0DA755E196420B3D7270486C175 +S21401C750868D04EE6E13791379E142F547555585BA +S21401C76055E79E9E3A3A99996CF0BAD221954C3C7F +S21401C7703C3C7D7D7D7D3C4C5252CEFB9F1379C85F +S21401C7800D34340D76796948000048440C0048366B +S21401C790364870704848CBCB696969691569124E8D +S21401C7A0E92B64D1412013AF0FC5D741C5E813313A +S21401C7B079767679797976E2E211117E343411E26E +S21401C7C00266C1961AC3C1C171761379760D0D340E +S21401C7D0405F5F3180342E5660608F56C16F405E79 +S21401C7E0767676760D41553A86C156F9F9CC26E02D +S21401C7F0BC7B99BA650FBC7BE0C6C6BCE0DA755E49 +S21401C800196420B3D72704A7C1868D8D260E6779B4 +S21401C81013C894605B4B39554B555CE79983A7C0A9 +S21401C820BAF02121D53C7D7D05A0A0A0A09F9F3315 +S21401C83033F27D4C52527D3376C8C8746874C87022 +S21401C840487000481EE9487036364870704848CB34 +S21401C850CBCB6969690C696969E91EB3C5C5C5B100 +S21401C86093C513D74141C5E813317676797979E2D4 +S21401C870E2E2E2117E343411E23494C1FE1A42C17E +S21401C880C1AC76137979C80D34401131315EE2645A +S21401C890428F9660C3C1C17134767676760DE855BF +S21401C8A03AA7C156F904CC55BCADBABAB6AF20E02A +S21401C8B0B8DEC6C6BCF450755F196420B3E8178DA0 +S21401C8C08356A78D924B0E13673164606AC5BD39D6 +S21401C8D055559EC2BAC0A7A7C2B685A2A27D053588 +S21401C8E0359F9F9F9F9FC5DC333333339FB13C52A7 +S21401C8F0E3F22BC8777459747000000000CB6936D8 +S21401C9007048367070704848CB691EE969690C69D1 +S21401C910690C1E79D7C525938EC5D7E8D7C541C5FD +S21401C920D7E831317979797976E2E2E2117E3434E9 +S21401C93040E2342E56FE1A60C1C1C3D1797979C856 +S21401C9400D3440E231315E5E40E1C1966060C3C1A4 +S21401C950C171347676C8C8E826F9A7C156F904CC61 +S21401C960C2F0BAB67B7F205EF4B8DEC6C6BCF4D091 +S21401C970805F1964B3B313178DCC56A78D274B7DF3 +S21401C980331376F542E641BD39E7F0C0C0C2999847 +S21401C990145CADD5A2A2053535A09FDC9F35A09FBE +S21401C9A0DC131379671333C5A03752B12B0D777497 +S21401C9B012007070700C7036364800007070704847 +S21401C9C0486977E90C0C0C69690CE9771320254C4A +S21401C9D08E13D7C5E8D7C5C5DCE8E8411379797960 +S21401C9E0797640E2E2E27E343440E268ACC3FE1A75 +S21401C9F0FE56C1C153797979C80D0D40E23131E84F +S21401CA005E310DACC3966060C3C1C1534676C8C8DB +S21401CA105E4BF91456563A9CA7C0B6BCBCE062B34E +S21401CA20B362B5B5F4C6BCF4D0F75F1919B3B31346 +S21401CA306B923A86A78D2726A06713C894E4E1F384 +S21401CA409EEFC0BA995C9E559C149C85A2A2A20535 +S21401CA5035A09F9F9F9F358EA09FDC1379797679AD +S21401CA601333AFFB520F2B46774636704448364891 +S21401CA70703670700070707070697769691EE96948 +S21401CA800CE94EE92B67AF4C8EC51313E8D7D7D701 +S21401CA90DCE8DC0EDC79797979797640E2E2E2400D +S21401CAA00D7E40E268ACC3FE1A1A42C1C16576B378 +S21401CAB079C80D0D40E231315E5E31E2E5C360605A +S21401CAC0606056C1C1B4462BC8314B04CC5656A73C +S21401CAD0C0CCE7E0F4DEE062B3B362B8B5F4C6E01A +S21401CAE0F4D0F75F19196464B31692F986A78D27F7 +S21401CAF04BC5675E64FEFEF1BDC0C05C5555E7558B +S21401CB005504149C4BA2D58549359F9F9F9F9FA096 +S21401CB10358EA0C51379797940C86733AF0F52B106 +S21401CB202B4676E948CB36003670707070707036DA +S21401CB303670E9E9156DBB2D2DE90C4EC879AF931A +S21401CB4025C5C53179131313D7D7E8DCE8317979D0 +S21401CB5079797976E2E2E2E2407E7EE2E2341AC355 +S21401CB60FE1A1A60C1C1C3D179790D0D0D40E231AB +S21401CB70315E5E315E0D5AC3966060E456C1426412 +S21401CB800DC85E4B9C1456C183E70426F4F4DEE020 +S21401CB90B9B3B36B7BDEC6C6E0F4D0F7C91919B3D7 +S21401CBA064B35D92F986868D276B136776F5E46A22 +S21401CBB071BA99E7554B55395555E7143A85A2850B +S21401CBC0ADA2350E359F9FDC9F9F8E359FC513798D +S21401CBD031790D0D79C5B1FBEAAF2B2BCBCB0036E6 +S21401CBE0703670707070707048364869CB0C1E6D68 +S21401CBF00CE9E9772BC85B93C533D7137679131302 +S21401CC0013D7D7E8133179797979797976E2E2E23F +S21401CC1031407931E2E277FEC3FE1A1A1AC3C1C166 +S21401CC20BE4079400D3440E23131805E5E315EBBFC +S21401CC30608F966060E456C160770D13BD8386569B +S21401CC40569C268D27F4F4C4E0B9B32017B5DEC68A +S21401CC50F8E0F4C6F719BB64B3B3B3F62704A786A6 +S21401CC60EE171631B379666066B1AD4B39394B555F +S21401CC70E75555E714CC554B85ADA2353505A0DCF7 +S21401CC80DCDC358E8E359FDC13131376343479C590 +S21401CC90B14C525BC800367036367070707070706A +S21401CCA04870704848CBE96D2D1E77C8B379F20FEE +S21401CCB0D167201379C8765E13131313133179796C +S21401CCC0797913797979E2313131DC6E45E2E20D19 +S21401CCD0FEC3FE1A1A1AE4C1C18F7931760D347E6D +S21401CCE01131315E5E5E31137951C3966060608F9B +S21401CCF0C1C12E7737BAEFCC8656F9279226F4F4BF +S21401CD00C4E0B9B32030C4DEC6D0E0F4C6DA19BB3D +S21401CD10B313B3B3412704868604176213F2B4AC87 +S21401CD20FE5A41BC4B39394B55E7555539CCCC5594 +S21401CD305555AD47358E7D8E9FDCDC358E8E35356F +S21401CD40C53131201376346879C50FEAFBB37069B3 +S21401CD503600707070707070CF3670704836690C1F +S21401CD600C1E77772B79AF0F67796779792BC80D0A +S21401CD7076797979797979797913DC13317979E268 +S21401CD8031310EB84140E2E20DFEC3FE1A1A1AFE18 +S21401CD90C1C1C153407640343440E2315E5E313128 +S21401CDA05EE8BBAC8F9660606042C1C1E62C8539F7 +S21401CDB03AA756F9272627E0F4C4E062B3B3B35086 +S21401CDC0F4C6D0F4F4F45019BBB3D7D7D130170456 +S21401CDD0A78604173D0FE324601AF541BC4B2626AF +S21401CDE04B4B39555539CC14399E55854735057DFC +S21401CDF00535DCDC9F35358E35C5797913C5137657 +S21401CE006874B3AF37EAF2703636007070707070BF +S21401CE1048CFCB70704869CB0C1E1E772BC8F20F1B +S21401CE20672B7979131379C8770D0DC879797979D4 +S21401CE307967DCE813313179313135B8877640E2EC +S21401CE40E268ACC3FE1A1AFE1A42C1C19640764089 +S21401CE500D3440E2315E3131315E13B30BC396605F +S21401CE6060E4E4C3C1C1AE5D39F9A756F9272727A7 +S21401CE70E0F4DEE062B3191980F4C650F4F4C6D0CB +S21401CE80C919136E0ED1E81704A786F9AAB6525B24 +S21401CE906660ACD85D474B26264B4B55555539CC6D +S21401CEA0A70404E785A205057D0535DCDC9F8E8E8B +S21401CEB08E9F13797613C5C5137668C820B152FBC9 +S21401CEC0700070707070007036384870704848E9AD +S21401CED00CE977772BAB5BFB03C82B2B79202079EA +S21401CEE0C8770D0D76793131797967133131313162 +S21401CEF079E2E86E45314040E2E2342EC3FE1AFE86 +S21401CF00FE1AFEC1C1C12C7E400D343440E25E31B2 +S21401CF1031315E13132B2E8F966060E460C3C142DD +S21401CF20D826F9A756F9172727E0E0BCBCC6B319DF +S21401CF301976D0C650F4F4C6C65EB35D17E8D113B1 +S21401CF406B8DA78683BA85DC2BFEFE6A676E4B4B1C +S21401CF5026264B4B55555539CCA79CF90485A20579 +S21401CF607D7D0535DCDC9F8E8EA0DC1379C879D7F4 +S21401CF70C5C5130D742B5B37E3000000700048CF66 +S21401CF8036360C69707036360CE9E9772B2BB037DC +S21401CF90D1C8C877C879132079C8770D0D793113B0 +S21401CFA031797979791313313179E231313131407F +S21401CFB040E2E2342EC3FE1AFE1AFE1A42C1C196A0 +S21401CFC00D404034344011313131315E132013723B +S21401CFD04296606060E4E456C1FE6198A7563A172F +S21401CFE01727DEB8B8E0C65EBBBB1975D0F7C6F426 +S21401CFF0C6C6F7416B7CD7D12049EEA756144B160F +S21401D000E2B4E41A66316E4B4B26264B4B5555550A +S21401D010393A863AF9044B057D7D7D050EDCE8C577 +S21401D0209FA0C59F0567C87613C5C5D7797477795C +S21401D0302C100000007070000C1E3636707070CB1D +S21401D0400CCB0CE9792BD8375B2B2B0D772B79136F +S21401D0501379C80D0D0D79793131797931E81313CA +S21401D060313179E2E2314545767E11E2346AC3FE1A +S21401D0701A1A1A1A1AFE56C1C12C344034347E11BB +S21401D0805FE25F3113C5AF4CB42EE4FE6060E4602E +S21401D090E4C1C1570986863A271727B8AADEE0C633 +S21401D0A0B3BBBBBBC9758062F4C6C6F8DEC4B9D7CC +S21401D0B020F2929C86563A178B76BE601AE1316E44 +S21401D0C04B4B2626264B555555393A863AF9E7D520 +S21401D0D0057D7D7D059FE8E8E8DCC5C58D3C79C802 +S21401D0E0C831135E7976747419D1E300007000CFED +S21401D0F0E9706D1E7070707036E9690C2B64D83754 +S21401D1005B2B2B0DC8C8C879B31379C80D0D0DC894 +S21401D11079797979130E0E1331313179E2E231E8FA +S21401D12031404011E23494C3FE1A1A1A1AFE1A8FBD +S21401D130C1C1E44640403434405F315EE8AF374C0D +S21401D1400F1372C31A606060E46042C1C181CC569D +S21401D1503A27B5B8AAE0F4E0C65EBBBB7474C95EF4 +S21401D160B9C6C6C6C427B550D75B849C9CA756F9DA +S21401D170278B76ACFEACB4455D4B4B4B26264B5508 +S21401D1805555559CA73AE755497DA27D7D359FE8C3 +S21401D190DC331313058D3379C80D76760D7474461A +S21401D1A07446646F7070700000691ECF0C70704812 +S21401D1B07036E969ABB3D137B12B2B770D76C879C9 +S21401D1C079202079C80D0D0DC8797979799F3513A5 +S21401D1D03131317976E2E23131407E7E115F34942D +S21401D1E0C3FE1A1A1AFEFEFEFEC3C1C12402403453 +S21401D1F0344031E8AF4C4C0FC5135E77FE60FE60DD +S21401D20060E4E460C3C14257563A27B5B8B5F4F4B2 +S21401D210F4C65EBBBB7438741930F8C6C6DE92B568 +S21401D220B9D73C0495921456F9271DB4E4AC2ED117 +S21401D230DC5D4B4B4B26264B555555559CA79C55AF +S21401D240A2057D7D7D7D8EDCE8DC336767A0F27903 +S21401D25079C80D40760D6868747446D810707000F1 +S21401D26048360048E9367070480C36CF0C2BD1375B +S21401D2709313B37777770DC87913D7C5310D0D0D95 +S21401D2800D7679317913DC1379317979797640E243 +S21401D290E2E2400D7E11E234E6C3FE1A1A1A1A1AA9 +S21401D2A0FE1A60C1C1C3BB7E404031C5934C8EC5DA +S21401D2B0332013B30DE1C3AC606060E4E4E4C1C1A4 +S21401D2C0FE941417DE17DEC6C6C4C65EBB74743879 +S21401D2D038BB80F8C6C6DE8D277CFB6571418A1493 +S21401D2E056F927B9BEE4AC9431415D4B4B4B26262B +S21401D2F04B4B55555504CC9C4B49497D7D05050E38 +S21401D300E813DC13676767797979C8C83113137630 +S21401D31046B25974B4FC70700036BB4470703670F7 +S21401D3207070E9690CAB640F4C5B202B77777777CD +S21401D330C87913410E13760D0D0D7931317979794E +S21401D3407979797931797640E2E2E2407E7E115F41 +S21401D350025AC360AC1A1A1A1AFEFE1A42C1C194C6 +S21401D360B231330F37B1E81313131313B376ABE4AB +S21401D3701AFE606060E46042C1C1E67A27DE17DE0D +S21401D380C6C6C4F480BB74743838BB5ED0C6C6DE6D +S21401D3908D262152AFD1E88ACC563A2730AC60AC04 +S21401D3A0BE31DC5D4B4B4B26264B4B555555E7F9AD +S21401D3B0E7D5A2497D05358EDC131313137967670C +S21401D3C0677979C879C5AFAFD776685974B4FC70F8 +S21401D3D070700070E938367070487036691E2BAF71 +S21401D3E0CEC520B3C877777777C879130EC513767D +S21401D3F00D0D407931317979797976797931797686 +S21401D40040E2E2E2407E7E11E27EE1C360AC1A1A9F +S21401D4101A1A1A1A1AFE56C1C172C537AF1331311C +S21401D420315E13135EB35E4694E4AC606060E4E480 +S21401D43060C3C1C18C17DE17DEC6C6C4F4B9197441 +S21401D440743838745E1DC6C6DEEEC2B6415EB35E83 +S21401D45049CC863A27C5E4AC1A2C45DC5D4B4B4BD0 +S21401D46026264B4B4B5555E7E755A2494905353519 +S21401D47035DC13131379797979797979C85E257D45 +S21401D4808EAF13465959D8FC70000036BB6936CFAB +S21401D490707036E936E9ABD1CEAF20B377777777C0 +S21401D4A077C8767913D7D713760D0D407931797908 +S21401D4B07679C876797979797640E2E2E2407E7EBD +S21401D4C040E27E724260AC1A1A1A1A1A1A1A1AE442 +S21401D4D0C1C142E5315FE211115F5E13135EB3B362 +S21401D4E040B4422EFE606060E46060C1C160B0DEA0 +S21401D4F017DEC6C6C4F450197474383874B3F7C648 +S21401D500F4ADC29E16805EB35E493A863A05BE42C7 +S21401D5106AACD8E8415D4B4B4B26264B4B4B4B55E3 +S21401D52055554BA2490535358E9FE8131331797948 +S21401D530797979792BC833A27D8E8E13465959D8BD +S21401D540A670707000691E3670707070CD0C1EABC0 +S21401D55037B12013C877C87777C8B3B3797913136F +S21401D56031C80D0D0D79797979797676767979796B +S21401D570797940E2E2E2407E7E11E27EE542E41AFB +S21401D580AC1A1A1A1A1A1AFE1AE4C1C12E3411401C +S21401D59011115F5E5E13B379793119601AAC606060 +S21401D5A06060E46042C1C13206B5DEC6C6C6F4504C +S21401D5B0767474383874B380C6AD999E278BF75E3F +S21401D5C0B35E6EF9A73AA0A6E46A2E13DC0E5D4B95 +S21401D5D04B4B26264B4B4B4B555585474905353509 +S21401D5E035359F13131379767679797979767905B6 +S21401D5F0D58E8EAF5E685474B4A670E9BB4436709F +S21401D600367070CF36486DBB53FB64D12B77ABC8F1 +S21401D610C8C879B3792B795E5E79C8770D0D762BFC +S21401D620797979797976767979797940E2E2E240A1 +S21401D6307E7E11E211AB60E41AACACAC1A1A1A1A6F +S21401D6401A1A1AE4C1C15A025F11115F31B313B33A +S21401D65079765E4666E42EFE60606060606056C164 +S21401D660C14DB5B5C6C6C6F4C65EBB743838BB6414 +S21401D670D7AD997B26268BF75EB35E5D04A7F9A32B +S21401D680601A6A6631410E0E474B4B26264B4B4BB2 +S21401D6904B55554BA24935350E3535DC13133179CB +S21401D6A07676797979797633D58E8E2513745959AC +S21401D6B074F56500480CBBBBCF707070CF0C0C2A9C +S21401D6C04D104DABAB77ABC8C8C8797979C8C82BB4 +S21401D6D079792BC877770DC8C82B797979797676D9 +S21401D6E0797979764040E2E2407E7E115F1177AC2F +S21401D6F042FEACACACACACAC1A1A1A1AFE42C1C1B2 +S21401D700F5A4E25F5F315E13B37976794072E46A1D +S21401D7101A6060606060FE60C1C1AC33B5C6C6C643 +S21401D720F4F480BB74383877D8E3BDBCC427268BA5 +S21401D730805EB35E5DEEA78D71426A1A5345410E57 +S21401D7400E474B4B26264B4B4B4B5585474935359C +S21401D7500E0E0E0EDC1331797676792B2B2B2B2BB6 +S21401D76020C59F8EC50D59745938F565480000705F +S21401D77069E93670707036D3AB3753ABAB77AB2BEA +S21401D780792BC8C8C80D77772B792BC8C80D770DAC +S21401D790C8C8797979797976797979797640404006 +S21401D7A0E2407E7E115FE2349442FEACACACACAC9F +S21401D7B0ACACAC1A1A1AFE42C1C1E57E5F5F315E9F +S21401D7C05EB37976765FBBFEAC2E96606060606075 +S21401D7D0FE42C1C18C16F4C6C6F4C4B919743838F1 +S21401D7E0E5E3266BC4C427278B805EB35EF68D14F3 +S21401D7F009A642941A5BE80E0E35474B4B262626A1 +S21401D8004B4B4B55854735350E0E0E9F9FDCE83149 +S21401D8107976797979C8C8C8C8C8C813DC797474A8 +S21401D82059A938F56F44440C700070487036690C7D +S21401D830AB2CE303AB77772B33332BC80D77777796 +S21401D840AB2B79792BC80D0D0DC876797679797958 +S21401D850767979797976404040E2407E7E11E21110 +S21401D86034E142FEACACACACACACACAC1A1A1A1A95 +S21401D870FEC3C1426411315E5E5EB37976765E4662 +S21401D880571A941A6060606060FE60C1C14233F44A +S21401D890C6C6F4C48BC974382F10D5351DC6C42727 +S21401D8A0278B5EB3B35EF692CC71FEFE57AC138740 +S21401D8B00E0E35494B4B2626264B4B5555554B0ED2 +S21401D8C00E41DCDCDCDCDC331376767913792BC88D +S21401D8D0C8C877770DC8741259543BBBBEBE360C08 +S21401D8E044E936707070706944D1CE2CAB771E2B2C +S21401D8F0A00567C8C877121E77AB2B79792BC80DA0 +S21401D9000D0DC87979797679767676797979764052 +S21401D9104040E2407E7E11E2E240724260ACACAC36 +S21401D920ACACACACACACAC1A1AACFEC3C18FB31188 +S21401D9305E5E5EB37976765E46E11A94ACFE606012 +S21401D940FEFEFEFE42C1C15AB9C6C6C6C4C45E7456 +S21401D950B4A653C51380C6C417278B5EB3B35EF651 +S21401D96092F9BE42AC94A613410E35356E474B264E +S21401D97026264B4B4B55554B0EE8E84545131313DE +S21401D980133176767913792BC8C8C87774745954CD +S21401D99054083B54646FB400007036367070707073 +S21401D9A069BFFBCED1AB1E77330567ABAB7777127A +S21401D9B01E77772B797979C80D0D0D767979797976 +S21401D9C076767676797979764040E2E2407E7EE236 +S21401D9D03131D77260E4ACACACACACACACACACAC9A +S21401D9E0AC1A1AACFEC3C18FB3E25E5EB37976762B +S21401D9F05E402FFE946A1AFEFEFEFEFEFEFEC1C1CA +S21401DA00E45EC6C6C6DEDE80B4A6B4BB64195EC6D6 +S21401DA10C417278B5EB3B35E302684A64294AC66E9 +S21401DA20450E0E35356E474B2626264B4B5555551E +S21401DA304B6EE84545133113131379767679133116 +S21401DA40792BC877747459747459591259B46F6420 +S21401DA5036700000007070706944BFD2B1641E1E3B +S21401DA60AB672BABAB777777121E77C82B797979B3 +S21401DA7076400D0D76797979797676767676797936 +S21401DA80764040E211407E4031C58E4C4D6AE4AC92 +S21401DA902EACACACACACACACACACACACACACFEC3D5 +S21401DAA0C18FB35F13B379765F5E76BF1A9494AC79 +S21401DAB0FE1AFEFEFEFE1A42C1C1E150C6C6DEB522 +S21401DAC047A6B438381919C950C61727165EB35E6B +S21401DAD05E3026A3FE60E61A53870E35353549A219 +S21401DAE04B2626264B4B5555554B0EDCE84531311A +S21401DAF079793179767679131313792B777712C87A +S21401DB00791259741274BEBEBBE9E9CB707070709D +S21401DB107069D353EAD1AB1E1E777777ABAB7777B5 +S21401DB2077127777C82B7913133176400DC8797938 +S21401DB3079797976C87676797976404011E2E27617 +S21401DB40137D4C8EE80DE642AC2E2E2E2EACACACE0 +S21401DB50ACACACACACACACACFEC3C142D8765E7976 +S21401DB60765F5E5FBB2E9494AC1A1AFEFEFEFEFE36 +S21401DB70FE56C1FE5EC6C6DE9EBA5B7438381919FB +S21401DB8019F7C61727165EB35E5E301771E4ACE66A +S21401DB901AAF0E0E3535054949474B26264B4B85A0 +S21401DBA0555547350E0EDC451331797979C8C87657 +S21401DBB07979131379C8747479747454A93B19105C +S21401DBC0F5387069CD367036E90CE944102CAB1E79 +S21401DBD0127777777777777777771E7777C82B7986 +S21401DBE013D7E8317640C8797979797976C8767627 +S21401DBF079767640E23113D78E3C8EDC31E27E0BAD +S21401DC00421A2E2E2E2E2E2E2E2EACACACACACAC3A +S21401DC10ACAC1AC3C1C32C76B3765F5E5F749494C2 +S21401DC20576A1A1A1A1A1A1AFE1AE4C1C153D0C42C +S21401DC30ADC07B5E7438381919195FF8B527165EC2 +S21401DC405E5E5E415D94429457940E6E0E353505C8 +S21401DC504949474B26264B4B4B554BA26E35350E45 +S21401DC600EDC13137979C80D0DC879131331C874F6 +S21401DC7074747412545438B41064540000707000F4 +S21401DC8069E90CD3F510BF441E777777777777C8A5 +S21401DC902BC877777777C82B7913C5D75E797676D1 +S21401DCA0797979797976C876767676793131DC0F35 +S21401DCB04CB113313140407EBFFEFE2E2E2E2E2E4D +S21401DCC02E2E2E2EACACACACACACACACACE4C1C124 +S21401DCD0530D795E5E5F466A6A576A1A1A1A1A1AED +S21401DCE01A1A1A1AC1C1FE80ADBA5527807438387F +S21401DCF0191919C9DADE27165E5E805E4141FE609B +S21401DD00E694665D6E0E3535054949494B26264B28 +S21401DD104B4B4BA26E353535350E0EDCE813797656 +S21401DD200DC8C8C82B7979C8C82B12745474766488 +S21401DD3066BE74A9000000707000366DBF10E14425 +S21401DD40E91E77C8C8C8C8C87913B3C8777777C833 +S21401DD50797913D7C513797676797979797976765B +S21401DD607679793113338E4C0F33E24040E24040EE +S21401DD7040746A602E2E2E2E2E2E2E2E2E6A6A2E7F +S21401DD80AC6AACACAC2EAC96C3C1370D315E314635 +S21401DD90946A576A1A1A1A1A1A1A1A1AACE4C1C1DC +S21401DDA071B6BC2726B9463838461919465FC427C6 +S21401DDB0C4808080E806B1E41A326A716B0E35358C +S21401DDC0054949496EA24B4B4B4747490E0E0E0E6D +S21401DDD00E0E0E0E0E9FE81379C80DC877C8C8C878 +S21401DDE07479C8745959C8B3B4A6B454A9690070F3 +S21401DDF0363670CF44E16FBFD34E772BB3B379B3CA +S21401DE00B313D713C877770DC879B3B3E8C5E879E4 +S21401DE10407679797979797676767913338E4C7D71 +S21401DE20C531E27E7E40E240404034EDE42E94A6C9 +S21401DE302E2E2E2E2E6A6A6A6A6A6A6A6A2E2E2E1C +S21401DE402EAC8FC165B3115F191A945794ACAC1AF6 +S21401DE501A1A1A1A1A1A1AC1C11A41C48A9216C96A +S21401DE60383846C91946C91DDEC4308030E84566D3 +S21401DE70422E32ACB1170E353505054949356E4986 +S21401DE8049496E0E41E845454545E8E8DCDC0EDCCF +S21401DE90E81379C8C8C8C877777767772B5974C8E5 +S21401DEA0D1BE6FBB084F0C70CB0CCB700C786FE1FA +S21401DEB0D32D1E2BB3B3B3D1D1D120D713C8770D31 +S21401DEC0C8765E131313D7E879407679797976792F +S21401DED076767913AF37FBC51331E2400D0D40E27C +S21401DEE04040407E7260AC949494A6A62E2E6A6A38 +S21401DEF06A6A6A6A6A6A6A6A2E2E2E2E96C18F53DB +S21401DF0046516A325794ACACACACACACAC1A1A6A9B +S21401DF1042C1C320C427926BC9747446C919191922 +S21401DF205F1DC47C303030131AE49466A635170E94 +S21401DF3035050505494935353535350E41DCE845A4 +S21401DF4031313131313113E8E8E8133179762BC8B4 +S21401DF50C877742BC8C859741971EBB454A94F36D5 +S21401DF607069E96D360CAEA6AE2D0C772BB3B3D126 +S21401DF70201320D7D713C877C8C8C813D7E813E823 +S21401DF80E87640767979797679797933FB37B11302 +S21401DF9031E24040400D0D40E240404040AB1A1A8D +S21401DFA094949494A69494949494946A6A6A6A94C1 +S21401DFB06A2E2E2E2E2EACE4C3FEFE9457946A6A69 +S21401DFC0ACACACACACACACAC6A1AC1C15A1D278DBA +S21401DFD0175F747446C9C94619765FB962B9B93014 +S21401DFE05BE4FE3294946E490E35050505494935C4 +S21401DFF0350E0E0E0E41DCDCE8453131313179311A +S21401E00031311313313113137979C87438125954D5 +S21401E01074D1EA10BBA94FA97070CF0CE9690C2422 +S21401E020EB2FE9691EC82BB3D113132020C5137734 +S21401E03077792BC8B3D7C5D7D7E87640767979767E +S21401E040796713B14C0F3313794040E2E2400D7EFD +S21401E05040E24040404034E6609494949494949412 +S21401E0609494949494949494949494A62E2E2EA678 +S21401E0706AAC60606060FEAC6A6A6A6A6A6A6A6A0A +S21401E0806A6A6A42C1FEE8B592175E747446C9C9E7 +S21401E09046197676807C7C7C06BEE4AC5A6A71179B +S21401E0A06E0E350505050549350E0E0E0E0EDC0EF7 +S21401E0B00E41DCE84531317679797979793113DCAD +S21401E0C0DC0E872B74C8745954592CEBB4CDA93B7C +S21401E0D03B707036CF0CCBD310D2B46DCF0C1EC8AC +S21401E0E02BB3D1132020D713C87779792B7913C591 +S21401E0F04141E879407679797913AF37FBC5133119 +S21401E10079767640E2E2407E7E40E2404040407EC4 +S21401E1100B602E94949494949494949494949494DC +S21401E1209494949494A6A6A6A69494946AACAC2EC1 +S21401E1306A6A6A6A6A6A6A6A6A6A6A941AC3C15BBE +S21401E1406B921775467446C9C9191976765E3041C1 +S21401E1507CE82E609424ACB11735353505050535B8 +S21401E16005350E0E0E8787DC0E0E41414141E8E86B +S21401E1703131797676767613DC6EB5DC797779741B +S21401E1805954BBA66F38A93B3B3B707036CFCB6961 +S21401E19078A66F2FE9690CE977C82BB3D1D1202077 +S21401E1A013C87779B3797913D74141D7314076319E +S21401E1B01333FB4CB1137979797976404040E240CC +S21401E1C07E40E2E24040404040AB1AAC94949494C6 +S21401E1D094949494949494949494949494949494F9 +S21401E1E09494949494949494946A6A6A6A6A6A6A0F +S21401E1F06A6A6A6A946AE4C16641261780194646C5 +S21401E200C9C9C9C976765E5E067CC596FE66322E9B +S21401E2108E170E0E350505353535350E0E87DCDCC9 +S21401E220DC0E0E0E41410E35350E9FDC13797676E7 +S21401E23079E8B56E337977C812543871EB2F3B54B1 +S21401E240CD3B3B0C0CCB70002D89A651D30C690C31 +S21401E250E91EC82B2BB3B3132020790DC8B37979E7 +S21401E260B3E8D741305E796733B14C0F3313797613 +S21401E27079797976404040E2404040E2E2E240402F +S21401E28040E234E6FE9494949494949457575757E6 +S21401E29057575794949494949494949494949494EF +S21401E2A094949494949494946A6A6A6A6A6A57FEF7 +S21401E2B0C196332627F7C9C946C9C9C976767631C4 +S21401E2C031E88071E4AC3257A60E6E0E0E350505A8 +S21401E2D0353535350E87DCDCDCDC0E0E41415D6BF9 +S21401E2E06EA2A2A2A235DC1379795D6B13792B7429 +S21401E2F0385459B4EBE3B33B54CD3B3B440C704824 +S21401E30048EC0BA6AEEC36CF690C1E77C82B2B2B30 +S21401E310B31320B30D0D7979797913E83041C5200F +S21401E320AF3737AF13797676767679797640E240ED +S21401E330E24011E23131E240404040400B609494AB +S21401E34094949494575757575757575757579494E9 +S21401E35094949494949494949494949494945794B4 +S21401E3609494949494949457ACC3C3F12727B95FBB +S21401E3705FC9C9C9C97676315EE8E831A6E4942456 +S21401E3806A6F0E0E0E0E3535353535350E0EDCDC64 +S21401E390DCDCDC0E0E410EDE6B49A2D58585D5A2EE +S21401E3A035E8E85D792BC8C8747459BB1065F279F5 +S21401E3B0540808080869707036702DE1A6AED30CB3 +S21401E3C0CFCB691E7777C8C8C8B3B313B3C877C8AD +S21401E3D07979797913C5258E934CB1206779797649 +S21401E3E0767676797976404040E240E2E23131E273 +S21401E3F0404040E2E2641AAC579494575757575737 +S21401E40057575757575757579494949494949494AE +S21401E41057575757575757575757575757949494CF +S21401E4205794E4C15A354BB975755F5F5FC9765E1F +S21401E430DC35DC315B969657242E710E0E0E0E35AA +S21401E4403535353535350EDCDCDCDCDC0E0E416B66 +S21401E4506B0E49A2D5858585D5A235DC137976C89C +S21401E46077C8C87753EB71B346A908080808CB36B6 +S21401E4704870702D51A672D8640CCB69E91E77BB23 +S21401E480C8C82BB3B379C87777C879797913C59398 +S21401E490B685C5137979797976404076797976406B +S21401E4A0404040E2E2E23131404040E2E23140E6C3 +S21401E4B0FE57575757575757E657575757575757B0 +S21401E4C057575757575757575757575757575757D6 +S21401E4D0575757575757575757575796C1AC1B4B10 +S21401E4E0B975B9805E5E5F5E33D57DE83171E41A39 +S21401E4F03232ACAF350E0E0E0E3535353535350E9E +S21401E500DCDCDCDCDC4141415D0E0E49A2D58585B3 +S21401E510D57D8E9FDCC5135E79C82077E565E3D18E +S21401E5207659125408083B6969004848699065AEF7 +S21401E530E5D1E969690C1E1E77BBC8C82B2BC8C874 +S21401E5407777C82BB3203393218525137979797989 +S21401E550797640407679797640404040E2E2E23191 +S21401E56031404040E23131E2D8FE94575757E657E2 +S21401E570E6E6E6E6E6E6E6E6E6E6E657E6E6E65753 +S21401E5805757575757575757575757575757575715 +S21401E590575757571AC38FB04B7C756262805E5EC1 +S21401E5A0133C92DCE831A6E42E2466A6C5350E0E91 +S21401E5B00E0E3535353535350EDCDCDCE8E8414107 +S21401E5C087410E0E49A2D5D5D5A225DCD7DC9F9F63 +S21401E5D0335EC813646FEBB4B37754791908083BFC +S21401E5E069690C694869F5FCAE0C440C69690C0C48 +S21401E5F01E7777BBABC82BC8777777C8B3D1AF4C3C +S21401E6003725F3415E79797676767640767679792E +S21401E6107640404040E24040E2E2404040E2313154 +S21401E62031C82EACE657E6E6E6E6E6E6E6E6E6E6D8 +S21401E630E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E674 +S21401E640E65757575757575757575757E66A42C1CE +S21401E65024493D7562E07C5E31DC05DC1331D1FE78 +S21401E6609694249466DC350E0E0E0E35353535350A +S21401E670350EDCDCDCE8E841DCDCDC410E49A2A23C +S21401E680A2A28EDC1313DC9F9FC513C82071EB5327 +S21401E69077B33838B3C808083BCB44694836694D68 +S21401E6A052712D696969E9446DE91E777777ABC8C0 +S21401E6B0C87777C879D1B14CB120133041E8797960 +S21401E6C079767676407676797976E2E24040404011 +S21401E6D040E2E2404040E231313140E1FE57E6E6B9 +S21401E6E0E6E6E6E6E6E6E6E6E6E68132323232E6F9 +S21401E6F0E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6B4 +S21401E7005757575757E657E4C110353D80627F7F0C +S21401E71030E8133131313153E4FE32249471870EDF +S21401E7200E0E0E0E3535353535350EDCDCE8E8E8EF +S21401E730DCDCE8E8410E49A2A2A2359FE81313DC0F +S21401E7409F9FC513C8B1EB10BB59745477B33808F3 +S21401E75054A56969CB69CB0C1B5266CA0C0C69E9D6 +S21401E760BFBF6D6D77BB777777C877C82B5BFB4CE0 +S21401E770AF677976E87C3031797976767640767649 +S21401E78079797640E2E240404040E2E2E24040E20F +S21401E790E23131E22BAC2E32E6E6E6E6E6E6E6E6E6 +S21401E7A0E6818157575757E63232323232E6E6E68D +S21401E7B0E6E6E6E6E6E6E6E6E6E6E6575757E6E6A0 +S21401E7C096C1AC357F80627F6B6EE831313131E2C4 +S21401E7D09460AC32246AB10E0E0E0E0E0E3535352F +S21401E7E03535350EDCDCE845E8DCDCE8E8DC0E49EE +S21401E7F0A2A2359FDC331313DC9F9F2079D1656578 +S21401E8005B7754A55477795908A554000CE936CBA3 +S21401E810431B71A6780C0C690C44E544E977BB7779 +S21401E8207777772B642CE30F5BD179C80D5E414176 +S21401E83013797976767640767979797640E2E2E2EE +S21401E840407E4040E240404040403131317EE1FE72 +S21401E850E6323232323232818181E6E61C787897AE +S21401E8608CE6E681818181818181818181818181BD +S21401E87081E6E6E6E6575757E61AC3969F7F807C01 +S21401E8806B27174531313131B3FEFE9424322EC544 +S21401E8900E0E870E0E0E0E353535350E0EDCDCE807 +S21401E8A045E8DCE845E8DC0E49A27D0EDCE81313FA +S21401E8B013DC9FC5B3D1E3EB2C77745438745454EE +S21401E8C0543BA53B704870696D2A0CAE65E1440C5B +S21401E8D0CB69E9BF44E91EBBBB77772B03B1E35392 +S21401E8E0D1677979C80D7930411379767676764095 +S21401E8F07676797979764076E2407E7E40E2E2402D +S21401E900114040E23131E264AC2E323232818181F3 +S21401E910818181E691001FA93B547890E68181812F +S21401E92081818181818181818181818181E6E6E6A2 +S21401E930E6E62EC3E4AF7F807C17276E4531313182 +S21401E940E2F1E41A66246694E80E0E870E0E0E0EA9 +S21401E950353535350E0EDCE84545E8DCE845E8DCBE +S21401E9600E35A235DCE833131313339FC513373F37 +S21401E9705374595474D1203808543B54540000360B +S21401E980446DCB482D10A62F0C69690C4444E91E32 +S21401E9901E1EAB64D1FBE35B6779797979C80D40BC +S21401E9A0E84113797676797676767679797976404E +S21401E9B076E2407E7E40E2E240404040E231E23193 +S21401E9C04024FEE63232818181818181ED367036C6 +S21401E9D04FCD3BA94F7881E68181818181818181FB +S21401E9E081818181818181E6E6E6E6944242B16BCE +S21401E9F0305DB8175D803131317E6660AC3224946B +S21401EA0071E80E0E87870E0E0E0E350E0E0E0EDCFC +S21401EA10E8454545E8E84545DC0E353535DCDC138B +S21401EA20133113339FC5FB3F37BB5974772BD1B3D3 +S21401EA305438543B083870707070366936690BEB81 +S21401EA40BE0C69690C6D0C0C1E1E4464B037FBD1FC +S21401EA502B2B2B79792BC80D0D5ED713797676790A +S21401EA6076767676797976404076E2404040E2E204 +S21401EA70E240404040E2E2E231E203AC948132817E +S21401EA8081818181812236701F364F4F4F4F1FEC97 +S21401EA90ED81ED81EDEDEDED8181818181818181D8 +S21401EAA081E6E6E657E4C3716E411717177F80319A +S21401EAB03131791AFE6A2424942CDC0E0E0E414163 +S21401EAC00E0E0E0E0E0E0E41DC45454545E845453B +S21401EAD045E8410E0E0E9FDC13131313339FFB3FC5 +S21401EAE0E32B38385B2B2B20121219543B08777016 +S21401EAF07000CB6D0C36CB69243F72CF690C0C6964 +S21401EB000CE964D82CE3B1032BC8C82B79792BC840 +S21401EB100D0D791331797676767676767679767600 +S21401EB207640E2E2E24040E23131E2404040E2E259 +S21401EB30E2E2317E8C1AE68181818181ED819070DD +S21401EB4070701F36363636367069ED81EDEDEDEDB7 +S21401EB50EDEDEDEDED818181818181E6E65760C3C2 +S21401EB60375D5D6E6E477F063131E2B4601A66240A +S21401EB70329433870E0E8741410E0E0E0E0E0E0E88 +S21401EB80DCE845E84545E8453145E8410E0E0EDC32 +S21401EB90DC1313131333FB3FFC037474B3D1772BCD +S21401EBA074547774543B3B777070000C6D36363670 +S21401EBB0702D6F2E78CD0C69690CD3D80FE32C031A +S21401EBC0C877C8C87979792BC80D0D0D797979760A +S21401EBD076767676767679797676E2313131E2E254 +S21401EBE0456E45E2E24040E23131E231E2AB6A9401 +S21401EBF0ED81EDEDEDED81737070701F1F1F1F1F0E +S21401EC00707000EC81EDEDEDEDEDEDEDEDEDEDED82 +S21401EC1081818181E632E696C3100E5D065D476E00 +S21401EC200631317EBEE4AC248C3266E80E0E418796 +S21401EC308741410E0E0E0E0E0EDCDCE8E845E8E8D4 +S21401EC40453145E8410E0E0E5DDC13131313B13F3B +S21401EC5065B077742BF2D12B77385938123B54CDE7 +S21401EC603870707070487070703669D3A6A678696F +S21401EC70690CD3BFFBE3D864C877C8C8C87979796B +S21401EC802BC8C80D0D0D76797679767676767679F7 +S21401EC90317931313131313145276B453131E2E25C +S21401ECA031313131313134901A81EDEDEDEDEDED4B +S21401ECB07370007070701F7070707070009181EDCD +S21401ECC0EDEDEDEDEDEDEDEDEDED81818181E6E62C +S21401ECD060C3FC8730315D476E80313176ACFE6AA9 +S21401ECE0248C57BE450E0E41878741410E0E0E0EEF +S21401ECF00E0E0E41E845454545133131E8DC0E5D03 +S21401ED00DE5D13131379F2EBD22C2B19742B5BD126 +S21401ED107777D17454545454CD5470707000007089 +S21401ED2070706944E9D3A6A67869D3BFBE66E5BF0D +S21401ED30BB1E7777C82B79797979C80D0D0D0D76BD +S21401ED407976797976404076793131313131454578 +S21401ED504517270645313131E23131313131E2E2B1 +S21401ED6077576AEDEDEDEDEDED22480070707070AD +S21401ED707070707070707097ED2222222222EDED75 +S21401ED80EDEDED818181E697E972C3A6314531301B +S21401ED906E418031E2D8601A5724249453E80E0E4F +S21401EDA041414141410E0E0E0E0E0E0EDCE845139A +S21401EDB0134513313145E8416BDEDC13317933EA13 +S21401EDC0D20FB32BC87774B32BBB772B7454545420 +S21401EDD0CDCD4E7070706970707048692DE90C2D3C +S21401EDE05A2EE1AEBE24BF78BB1E1E1E77C87979A7 +S21401EDF0797979C8C80D0D0D767676767676407671 +S21401EE00767931313145418745411787454531315D +S21401EE1031313131313131E2E240AE1A32EDEDEDD0 +S21401EE20EDEDEDCB007070707070707070707000EA +S21401EE30ECED90909022222222EDEDEDED8181CA3B +S21401EE401F0859602E403131458706313140BE607A +S21401EE501A32E124945B87410E41878787410E0E63 +S21401EE600E410E0E0EDC4513131313313131454599 +S21401EE7041DE5DE813313352D20F33B32B19777469 +S21401EE8038BB2B3838385454CD3B541E4870000CD0 +S21401EE904469363636CFCB69CFE9E1A6EB6FAE448F +S21401EEA0E9BB1E1E1E77C82B79B37979C80D0D0DE7 +S21401EEB00D767976767676407631131313E8176EEB +S21401EEC0E845064545E845313131E23131E2E2E2D5 +S21401EED0E2E230B3EDACEDEDEDEDEDED4A00707034 +S21401EEE070707070000070707070FF22909090903B +S21401EEF090222222EDED819100A95459962E40319F +S21401EF0031313131313176ACFEAC24E132571387E1 +S21401EF10414141878787410E0E4141410E41E845F7 +S21401EF20131313133131313145410EDCDC1333E356 +S21401EF30D20F3333B32B2B77777777B3BB121254B9 +S21401EF4054CDCD54CD4870700069440C69CB36362B +S21401EF5036694472106610A6BEF572BFBB2B77C821 +S21401EF602B797979C8C80D0D0D0D79131367132008 +S21401EF705B9FAFAF9FDC17AA8745453131F6063157 +S21401EF8031E2E2E2E231E2E2E2E2E2E8F3E55757B9 +S21401EF9022EDED22ED63007000000000000000008D +S21401EFA00070000722737373739090222222ED7310 +S21401EFB07070A93B5996A640313131313145E2D8BE +S21401EFC0FE1A94E1E132BE454141414187878741BE +S21401EFD0410E41414141DCE8131313131331313122 +S21401EFE03131E8DCDCE8C552D2B1133333B32B2B15 +S21401EFF07777C8C87479E8125454CDCDCDE9690045 +S21401F00070700036D30C6DCB3669D3AEA653AEE521 +S21401F010722410A610E3E30FB1B1B1AFAFF2F25B09 +S21401F020F2F2AF0F930F0F0F0FB1AFC533E86EAA11 +S21401F0300E45453145F606313131404040E2E2E2C7 +S21401F040E2E2E2E2313041AEAC8122ED222290488A +S21401F05000000000000000007070700015737373EC +S21401F06073737390902222EDEC00701F3B5960661B +S21401F070403131313145451124FE1A32E1245753CE +S21401F080458741414187878741414187414141DC6D +S21401F090E84545131313133131313113E8DC9F5220 +S21401F0A0D20F79B33333B32BC877772B2BC86B7951 +S21401F0B05454CDCDCD4EE9360070707000362D2DEE +S21401F0C02DCBD3AEA624AEE5ABE9E944BF725371AE +S21401F0D037E3CECECECEE33737FBFB0F0F938E9FB3 +S21401F0E0336779797979E8275D131313314531E26E +S21401F0F0313140404040E2E2E2E2E2E24040E25D9D +S21401F1002C222E8C222290EDCA0000000000000066 +S21401F1100000000000701C7373737373737390EDBB +S21401F120890070701F3B12E4714031313131314535 +S21401F130406AFEAC24E124945B4587414141870641 +S21401F140878787DCE887DCDCDCE84545454545877D +S21401F150453131313113C552D20F1379B32020B363 +S21401F1602BBB7777B3B3DCDC124E54CDCDCDE9CFD4 +S21401F17048707070707000CB692D2D78662478BF4A +S21401F180E5BBD36DE92DE91E1E1E2BD1202020D113 +S21401F190677979797913C5E879767640767979E869 +S21401F1A0E813313131314040E231E240404040E243 +S21401F1B031E2E2E2E240E29F4C85BFE69490909015 +S21401F1C09073700000000000000000000000006363 +S21401F1D07397737373737373EDEC0070701F08BBD2 +S21401F1E0422CE2313131314531D11A1A94E1E12410 +S21401F1F0571306E887414187060687E8E8E8DCDC1E +S21401F20041DC45454545455D16453176767613E341 +S21401F210D20F137979B3131379BB7777BBB37979A7 +S21401F2201E4E4E54CDCD0CCD697048487070704856 +S21401F23048362D78716678D3444444BB442D6D6DB1 +S21401F240E9E91EBBC879B37979C80D0D0D7613DCD3 +S21401F25013317979767979797931313131314040A3 +S21401F2604040E2E240E2E2E23131E240E231DC3CBF +S21401F2704C350E877894E673907390FA0000000080 +S21401F28000000000000000000773979797737373E0 +S21401F2909073707070701F080B42673131313131D5 +S21401F2A045E2E1FE1AE6DBE1325A3106E8DC878701 +S21401F2B006060606E8E8E8E84141DCE8454545F685 +S21401F2C0DEF63176767679E3EBB179797979B3B38F +S21401F2D0B3C8777777772B771E4E387754CDCDCF57 +S21401F2E0690C7048487070702D69CBD3DBE3AED3E0 +S21401F2F00C44446464D36DD36DE9E9772B2B2BB3AF +S21401F300792BC80DC80D79E8D7E8E8797676767650 +S21401F310797979797976E240404040E2E2314531C7 +S21401F3203131E24040333C957DDC870E457E896A6B +S21401F330ED73737373EC0000000000000000000022 +S21401F340004A97FF97979773739063007070701FCA +S21401F35008941A4031313131314576941AAC24E1A2 +S21401F360E157E13106E8E887DC06E8E830E8E8E856 +S21401F370E8DC4141E845E841DEDE4579764079E35F +S21401F380EBB17976762B2B792BC8777477777777ED +S21401F3907738E91E64E9CFCFCF0C0C704848704827 +S21401F3A0700C6DEC89100B78696944BFBF446DBB66 +S21401F3B0AB6DE9E9BB642B2B79792BC8C8C80D79ED +S21401F3C0E8418713797976767676767679767676E3 +S21401F3D0407E7E40E231458731E2E2E2137D524CC7 +S21401F3E09F13870E13E21168FF6A227373737315F6 +S21401F3F000000000000000000000EC971CFF97973B +S21401F4007373904A007070701F4EE453E2133131EB +S21401F410311331D16A1A6A8CE12494B431E8E8E8F0 +S21401F420DC8706E8E8E8E8E84545E8DCDCE8454549 +S21401F43016DE4131790D79E3EB2C7676C8C87777FD +S21401F440777777747477777774BB1EE9E9640CCFA6 +S21401F450CFCF0C69483648484848360CCA24247829 +S21401F4602D6969D3BFD3E944D1641EE9E9772B2B13 +S21401F4702BB32B2BC8C80D0D314141137979767604 +S21401F480764076767676797979407E7E40E2454595 +S21401F49031E231137D52953513E2458731E2404022 +S21401F4A01168739473977397971500000000000016 +S21401F4B0000000EC971C1C9797977373CB00707035 +S21401F4C07070E1E476313131313145E2F51AACE65E +S21401F4D0DBE12494D13E45E8E8DC87E8E845E80628 +S21401F4E0E8E84545E8DCE84587DEF61379767937BE +S21401F4F0FCB00D0D0D747477777777747474777725 +S21401F500BB77BBBB380CE969CFCFCF0CCF483648A9 +S21401F510CB48CBCB699157892D0C696944BF44E927 +S21401F5204464BB1E1E1E1E77772B79792BC8C80D27 +S21401F53076E8414113797976404040767676797956 +S21401F540313176404040E2E24031337D5295A0139E +S21401F5503131E231E240404011401112225773FF2F +S21401F5609797974A0000000000000000EC971C1CCB +S21401F570FF979773974870707070CF60664013312D +S21401F5803131314540E6ACAC24DBE132E6E24545BB +S21401F590E8E8DC8706E84545E8E8E84545E8E8E8C0 +S21401F5A04506E813317667E3FCB0747777747474B4 +S21401F5B07777777774747438772B77BBABBBE9CDE5 +S21401F5C069CFCFCFCF696936CBCB696D69691CE648 +S21401F5D091EC69690C78E5D1AB6D6D1E64641E1EF5 +S21401F5E01E772B792B2BC8C80D79305D41137976A0 +S21401F5F076404040767676797931317940404031AF +S21401F600139F3C524C9F31E231313140404040E241 +S21401F6103111404011122257731CFF1C97631500CD +S21401F62000000070004A1C1C1C1CFF977397487052 +S21401F63070700090422B31313131313131B36AACC7 +S21401F6406AE1DBE1572411454545E8DC8706E845D4 +S21401F6504545E8E84513E8E8E81331315E7667E3A7 +S21401F660FC5B0DC8C8C80D7777777777777774779F +S21401F67077772BBB7764BB1E0CCDCFCFCFCF69CBB3 +S21401F6804869EC432ACBEC97ED78D3696969BFE505 +S21401F6905BC5BBE9BBD1641EE91E772B797979C8B6 +S21401F6A00DC85E41F341137676404040404076797E +S21401F6B031317979404079C57D95957DDC79404039 +S21401F6C0E2313131404040E245451140404011129F +S21401F6D07357971C1C1C1C1C91EC48000000911CC5 +S21401F6E0891C1C1C1C971C7070700091425A7E313C +S21401F6F03131313131E2F51AAC57DBDB8C94F1E272 +S21401F700314545E8E84187E845314545E845311347 +S21401F71013133131317620E3FCB046C8C8C8C8C8D7 +S21401F720C8C8C87777777738772BBB777774BBBB32 +S21401F73013E969CFCF4F69D3480C0C434D69CBEC25 +S21401F74097902D0C0C782DD3E5D825201EBBD1AB78 +S21401F750E94EE97779797979C80D765E7CF34113BC +S21401F76076764040404040767979767913330F9526 +S21401F770524C8E87457E7E404040E231E2407E40DC +S21401F780E231404040404040E212FFE6731C1C89D3 +S21401F790891C1C63FA4A07898989891C1C1C971CC9 +S21401F7A0700070071A1A74313131313131314066C7 +S21401F7B0ACAC24DBDB246AD131313145E8E8D7E84B +S21401F7C0E845453131E845315E5E5E7976765BFC2B +S21401F7D052D846747446C8C8C8C8C8C877777777F9 +S21401F7E074BB2B7777777477DCDC1ECFCFCF4F696E +S21401F7F0D30C692D4D2DCBCBEC97E1D3690CAEBF65 +S21401F8002D642FAF25641EBB1EE9E91E7779791397 +S21401F81013790D765E7CF37C137976400D0D0D40E1 +S21401F8204076135B0F526CCEB133138787E27E7E30 +S21401F83040404076E240407E4040407E404040406E +S21401F8404040E268918173891C1C8963636363632A +S21401F8506389891C1C1C1C1C97CBCB89E66078111C +S21401F86031313131313131B36A6A6A8CDBDB329442 +S21401F8707931313145E8E8D7E84545453131315EE2 +S21401F880315E5E5E79765B65E320C8467474747794 +S21401F890C8C8C877777474BBBB7477BB771E777498 +S21401F8A0790EBB640CCFCF36696948362AD3CB486C +S21401F8B048691C2478696D78D30CBFE55B25D86D43 +S21401F8C0E9E90CE91E7779DC5DE8790DC85E413D12 +S21401F8D05DE87640400D0D4079F2FB526552935B30 +S21401F8E0797E40E8873140407E4040404040407E3F +S21401F8F07E7E40407E404040404040401134D373BD +S21401F9007363FA07CACA2D2D2D2D2DCACAFA636351 +S21401F910FF73977322FE973431313131313131E241 +S21401F920B4AC6A94DBDBDB57E6113131313145E8A3 +S21401F930E8E8E845453131313131315E7979F265B2 +S21401F94037B37676C8747474747474743838383807 +S21401F950BBBB38747774C8C8772B1E0C44BBCFCF9B +S21401F960360C0C48690CCB484848CB89E691690CA3 +S21401F97078690C44E55B5BC5BB0C0CE9E91EAB334F +S21401F9806B4179797976E87C3DF3E879797933AF1B +S21401F990FBCE52CE0F5B3176407E7EE213E24040D4 +S21401F9A0407E7E40404040407E7E7E407E7E7E7E23 +S21401F9B040404040E2117E5969D338744646686833 +S21401F9C002020202DD464674E9CAFAFF221A90686C +S21401F9D0E2E2313131313145405AACAC32F1DBE152 +S21401F9E094E1113131313145E8E8E8E85E313131F1 +S21401F9F03131315EB379B1657176C8C8C8C846740D +S21401FA007474743838387777387777381E77C887BC +S21401FA102B1EE90C0C69440CCBCB692D0C484869AC +S21401FA2048487070CA5A5AAE0C78690C44E55B5B5C +S21401FA30C5D16D1E1E7777136B5D13797931E84159 +S21401FA403D7F28930FFBE3E3E3FBF2137976404017 +S21401FA5076407E347E40407E7E7E7E7E40407E4086 +S21401FA60407E7E7E407E7E7E7E7E4040E20D12128D +S21401FA7046DD461254CDCDCFCFCF4F4F4FCD545943 +S21401FA8046DD5FC938891C34E240E231313131311B +S21401FA9031766A6A6A24F1DB8C6AB4E2313131313B +S21401FAA0E8E8E8E85E313131313131797913FB65C7 +S21401FAB02CC8C8C8C8C8C84646467774743838774C +S21401FAC01E381E38381E770E0E1EE90C0C69696941 +S21401FAD069CBCBCBBB690C48CB0C70707069CAED97 +S21401FAE06590CA690C44D1D1D825C5BBBB2BB313CD +S21401FAF01616136767202528ADB6F0F0214C7DAFAA +S21401FB00D1790D0D0D7679797676400D340D40401C +S21401FB107E7E7E7E7E4040404040407E7E7E7E7E73 +S21401FB207E7E7E40E26874DDDD744ECFCFCFCFCFD0 +S21401FB30CFCF363636A9A9A9A9A94F5474C95F747F +S21401FB401234E2E23131313131E2D8AC6A94DBF180 +S21401FB50DB2494B3313131313131E8E8E85E3131BB +S21401FB6031313179761337FCF276C8C8C8C8C87700 +S21401FB707477467774383838383838383838381320 +S21401FB80B52B6DE90C0C6969CFCBCBCBCB44CB69DC +S21401FB90E9BB1E70707069366DF15A5AE12CA0B03F +S21401FBA0E5B4C7285BE5B45B6E6B8E8E934C4C2137 +S21401FBB0B6B6AD287FF34113400D0D0D0D0D7676CB +S21401FBC0797676400D340D40407E7E7E7E40404004 +S21401FBD04040404040407E7E7E7E7E7E7E114E745A +S21401FBE012CD5454CDCDCFCFCF4F4F4F1FA9A9A97A +S21401FBF0A9A93B3B3B3B5412765E1934E2E2313114 +S21401FC003131405A6A6AE6F1DBDB32667631315FC2 +S21401FC103131315EE85E3131315F76767620E31040 +S21401FC205B76C8C8C8C8C87774747474747438129C +S21401FC304E38384E4E3838776E331E44E90C0C4435 +S21401FC40E9CBCBCBCB36E9484869E94470707036CE +S21401FC5048D3D3CB78533C4C71BEE3F0F0213771D7 +S21401FC608E6E8E8E0F0F93C725417C7C7CF3F341FD +S21401FC7013760D0D0D0D0D4076797676407E340D9A +S21401FC8040407E7E7E7E7E40404040404040404038 +S21401FC907E7E7E7E7E7E40404FCFCD544ECDCDCDF6 +S21401FCA0CFCF4F4FA9A9A9A9A9A9A908083B545480 +S21401FCB05912465E767E3131313131766A6A6A246E +S21401FCC0F1DBDB942411315F5F5F31315E135E5EE1 +S21401FCD0315F7676765B1037D1762BC8C8C8C8C830 +S21401FCE0777474383874383812545454544E38383B +S21401FCF02B13E9BB6D0C0CD3446DCFCBCBCB360CA1 +S21401FD00707069CB384870707070363648CBAB036C +S21401FD10BFAEBF5B8EAFAFAFD12B2BABB320D741FE +S21401FD20D75E315EE8417CF341D731400D0D0D0DB4 +S21401FD304076767676400D343440407E40407E7E76 +S21401FD4040404040404040E2407E7E7E7E7E7E4097 +S21401FD50400D4FCD541254CDCDCFCF4FA9A9A9A94F +S21401FD60A9A9A9A908083B5454596874C974403113 +S21401FD70313131E2D8AC946ADBF1DBE16AB411319E +S21401FD805F5F5F5F315E135E3176767676AFFC0F2E +S21401FD90797676C8C8C8C819777474747474743858 +S21401FDA012545454545454381E1EE90C6D0C69698F +S21401FDB00C0C69CBCBCBCB360C707048CBE9CB00A7 +S21401FDC07070696948690C2D2D6DBF1EB3641EBB2A +S21401FDD06464C87777C85E2013B3C80D0D7631D733 +S21401FDE07C7C41E876400D0D0D4040767676400DE0 +S21401FDF0343440404040407E7E40407E7E7E7E40A1 +S21401FE004040407E7E7E7E7E407E1134CF4E4E1E2A +S21401FE104ECDCDCF4FA9A9A9A9A9A9A9A908080876 +S21401FE2054545968DD3868E2E231313140E16A6A9A +S21401FE3057F1F1DB246AB35F315F5F5F5F315E5E6E +S21401FE405E31767676B1FCB179767976C819464612 +S21401FE507474743838747438125454545454545452 +S21401FE604EE90C0C0C69696969690CCFCBCBCBCB1D +S21401FE703644707070700C360070702D0CCBD30C3D +S21401FE8069CB0C78BBD16D6D441E77C8C8C8C82B2A +S21401FE902BC8777468340D7631417C41D731760DA5 +S21401FEA00D0D0D40404040400D343440407E4040F2 +S21401FEB07E7E40407E7E7E7E404040407E7E7E7ED0 +S21401FEC07E4040E2310D4E676738CDCDCF4FA9A9B0 +S21401FED0A9A9A9A9A9A9080808545468465468E21A +S21401FEE0E2313131314094946A24F1F1DB32947677 +S21401FEF05F5F5F5F5F5F315E5E5E5E765EFB105BDF +S21401FF0076795E7979C846747474747438123838A0 +S21401FF101254545454CD54544E4E0C0C69690C6909 +S21401FF2069690C440C36CBCBCBCBBB000000000C74 +S21401FF30367070702D0CCBD32D69690C0CBB414407 +S21401FF40E96D1E1E1E2BC877C82B77121212683455 +S21401FF500D76E8414141E831760D0D0D40404040B7 +S21401FF60403434347E7E7E7E7E7E7E7E7E7E7E7EC7 +S21401FF707E7E40407E7E347E347E4031454531DC97 +S21401FF80172B4E54CDCD4FA9A9A9A9A9A9A9A9084E +S21401FF90080854B2B25434E2E2E2E23131E2D16A04 +S21401FFA0576ADBF1F1DB325ADD5F5F5F5F5F5F5FF0 +S21401FFB0315E5E5F13E3E320767679797976C8C899 +S21401FFC046747474383812125954541254CDCDCD27 +S21401FFD0CD544E0C6969E90C696969CBCBCBCBCBA7 +S21401FFE0CB366944700000000C367048702D0C3614 +S21401FFF06DE96969690C20F3D1E90CE91E1EBB6441 +S2140200001E77B3C812121212340D0D31414141D778 +S2140200101379400D0D0D0D40400D3434347E7E3480 +S214020020347E34347E7E7E407E7E34347E34343477 +S2140200307E347EE24541E887B533E91254CDCD4F92 +S214020040A9A9A9A9A9A9A9A9080854235412111152 +S2140200501111E2E2313140E16A9457F1F1DBDB94AF +S214020060F57E315F5F5F5F5F5F315E31C5FC375E95 +S214020070767676767676C819C877747438383859AC +S2140200805959543854CDCDCDCDCD54CD6969690C6E +S2140200906969696969690C69CBCB480C4448700088 +S2140200A0000C36484848CBCBCBD36D6969366944D9 +S2140200B020C564E9E91EE91E2BABAB2BB374121202 +S2140200C01268770D79E84141D7E83176400D0D0D7B +S2140200D00D400D3434340D0D34343434347E0D7EFC +S2140200E07E407E3434343434347E7E40E2065D0E06 +S2140200F0B55DE24E5454CDCD4F4FA9A9A9A9A9A9E1 +S2140201000808A5A56D67E21111111111E2E231404E +S21402011057576A240BF1DBDB6AD8115F5F5F5F76A5 +S214020120765F5F31B1EA0F79767676767619C819F8 +S21402013019747474383812595959545454CDCDCD53 +S214020140CDCDCDCDCD6969CFCF6969696969690CB5 +S2140201506936CB480C4470487070CB4848CBCB48C5 +S21402016070CB44440C69366D2D6DD1D7BB6D1EE93C +S2140201701E67DC2BBBC87712121212740D7679E852 +S214020180D7D7E813794040407E7E407E34347E40A6 +S2140201907E343434347E7E407E34681268347E3454 +S2140201A034347E4031E8415DB56B31E234CD54CD16 +S2140201B0CD4F4F4FA9A9A9A9A908080843180513A6 +S2140201C0111111111111E2E2646AE694DB0BF1DB04 +S2140201D08C94195F5F5F5F7676767631FB65AF76D5 +S2140201E07676767676C819191919747438383812EC +S2140201F054545454CDCDCDCDCDCDCDCDCD0C0C0C4F +S214020200CB690C69CFCBCB690C0CCBCB480CD3009B +S21402021070484848CB696DCB4848CB6D0C69CBCB50 +S2140202206DD3694420D11E1EE92B6E337777771E75 +S21402023012121212680D0D0D7913E8E8E831790DE5 +S21402024068125412595454546834347E7E344040F2 +S214020250126846DD466854687E3434403141F35DA8 +S2140202606B6BE8E24040CDCDCDCD4F4F3B4FA9A9B9 +S214020270080808086D7A189AA0311111111111E2B6 +S2140202807EF56AE6570B0BF1DB2466345F5F5F5F31 +S2140202907676405EE3FC33767676767676C80DC85A +S2140202A076C8197438383812545454CD3B3B3BCD7B +S2140202B0CDCDCDCDCDCD0CE90CCBCBCBCBCB690CFC +S2140202C02D2D693636480C2D70704848CB2DB02A35 +S2140202D0CB36367048363636690C0C690CABD1BB59 +S2140202E0E91EDC33771E771E124E4E121212340DA2 +S2140202F00D0D7913E813C86846DDA1A1D9D9D9A195 +S214020300A1DD026812687E405959A175DF5858D996 +S21402031059127E7EE206F3F35D5DE83140407E547C +S214020320CDCDCD4F4F3B3B4F3BA5083B543BD47AFC +S214020330189ADCE211111111E27EE69457327272BB +S214020340F10BE6E1A45F5F767676402010E3137643 +S21402035076760D0D76760D0D7676C87774121212B5 +S214020360545454CDCD3B4F4F3BCDCDCD0CCDCDE9E6 +S2140203706D2DCBCF6969CBCBCBCB69693636486955 +S2140203806948484836691B012DCB363648704836D0 +S21402039036CB690C0C0C6D64774E772BAB1E1E1E8B +S2140203A01E124E4E121212680D0D0D400D1268A14D +S2140203B0DF5858DFDFDFDFDF5858585858D9025960 +S2140203C0A9A52323A4A175DFDFD968681145F3F335 +S2140203D041E83131407E40125954CDCD4F3B543B1B +S2140203E03B3BA5543B54A5437A189A6131E211115E +S2140203F011112B6A3257DB7272F10B94D8DD5F76DD +S214020400767640AF650F76767676760D4646460D5C +S2140204100D76C8467438125954545454CD3B4F4F37 +S2140204204F4F4FCDCD0CCDCD0C0C6DCF0C0CCBCB96 +S214020430CB696969CB3636483669484848CB438A21 +S2140204404369CB36487070690C0C69D3D3440CE907 +S214020450BB774E4E1E2B1E1E1E1E12124E4E121222 +S2140204607434340D1254A1F7DAF7DFDF757575D9D7 +S214020470D9A1A1A10AD9DF58D90208A923B702A196 +S214020480DFDFD9A15931416E4131E240407E4068FA +S214020490596854CDCD4F5454CDCDCD5454CDCD59AD +S2140204A059D47A1801DCE21111117E726A3257723F +S2140204B02F72F1DB6AC811767640760F65F24076C7 +S2140204C0767676760D464646460D190D74743812C3 +S2140204D054545454CDCD4F4FA94F4FCFCDCD0CCD04 +S2140204E0CDCFCB69CB69CBCB6969CBCB69364848D4 +S2140204F048CBCB4848CB0C056169CBCB484870CB80 +S214020500D3E90C0CD36D440CE91E774E0CBB641E6B +S2140205101E1E1E38124E54127477770D4E74DFDA92 +S214020520DF75755FA1A1A1A1A1A402020202A429FE +S214020530A1D958DFB2A9A5B202A1DFD9A1B2133D53 +S2140205400E3140407E7E400D54025954CDCDA959FD +S2140205505954CDCD545954CD54B277A818821BE2C3 +S21402056011111102ED943232E52F720B24944611CA +S21402057040DD5EE31013DD764076767676464646B6 +S2140205804646460D4674381254545454CDCDCD4F7B +S214020590A9A94F4FCFCDCDCFCFCFCFCB36CB696921 +S2140205A0CBCBCBCB696969CB4848CB484848CB43D1 +S2140205B0A06DCBCB3648487069D3E9E9690C6D4427 +S2140205C00C0CE9774E4E2BAB1E1E77771E1E12546E +S2140205D0121277C8CD46DAD9DD46B25959A5A5A575 +S2140205E0A5A5A5A5A5A5A52323B7A4A1D9DFA1A541 +S2140205F008B2A4A1D9A1B2795D45407E3434400D3B +S2140206005402B25454CD4FA9B25954CD54545954ED +S214020610CD545902E5A8821B31E2111177573232C6 +S214020620DBE52F0B0B325AA440405B653776DD4084 +S2140206300D767676760D46467474747474747438D1 +S21402064059545454CDCDCD4F4FA91F4F4FCFCF4FF6 +S2140206504F4FCBCB36CBCB69CBCBCBCB690C0C0C71 +S2140206603670364870484869436D36CB48484870FD +S2140206707070691EE9690CE9E90C0CE9774E1E2BCD +S214020680BB7777AB771E1E124E1212774E46F7DDF9 +S214020690B25959540808A9A9A9A9A9A9A90808A537 +S2140206A0A5A5A523B70229D9DF46A52329D9A102E4 +S2140206B01231407E347E40683BDD02235454CD1F07 +S2140206C054B259545454545959545459B2DD4D8263 +S2140206D01B31E2E27EAE6AED3272E52F0B7294B403 +S2140206E002760F65AF40DDDD46C9C90D464668B2E3 +S2140206F0B27474686868121212545454CDCDCDCFB9 +S2140207004FA91F1F4F4FCFCF1FCFCB363636CB69E1 +S214020710CB696969CB6969693648484848480070B8 +S21402072036CB484848484870707070CF440C0CE985 +S214020730D30CCD0C3877381E771E1E776477777702 +S21402074012124E741E127546595408A9A908A559C4 +S214020750B2020202B259A508A9A9A908A5A5A5230D +S214020760B729D9D9B25902A1A4B2687E3434684FE7 +S2140207703BA10223A554543B1FB2B25954545454BD +S21402078059B2545454B702A143613111E268225758 +S214020790ED8CE5E572727294D125EAFC137E40DD9B +S2140207A0DD46464676E8D7805E5F68B26859595994 +S2140207B059545454CDCDCDCF4F4FA91F1F1F4FCFE5 +S2140207C0CF1FCFCB3636363636CB6969CBCB3636ED +S2140207D04848484848484800007070484848707082 +S2140207E070701F1F360CCF0C6DBFE9CD0C4E1E3835 +S2140207F04E4E4E1E2B2B77AB77121254684E5F4628 +S21402080054A91F08B2A1DF58585858585858585873 +S21402081058D9A102A5A9A9A523232302A4D9A1B226 +S214020820595423A95454A91F59D90223A5A5A5543E +S214020830A93BB25954543B545459B2593B5423B76A +S214020840DD5F7779E2111E57EDED51BFE572725109 +S214020850E6AFD6F02534DD404668465E62E0E0E06C +S214020860F4C6C6B96859595959545454CDCDCDCF4A +S214020870CF4F4F4F1F1F1F4FCFCB1FCB3636CBCB83 +S21402088036CBCB6969CBCB364848484848484848B7 +S21402089000000000007070707070701F363636CF21 +S2140208A00CD344CDCD0C4E4E124E544E1EABBBBB9B +S2140208B02B741E1254545468A9A954DD75F7F7DF39 +S2140208C075D9A1A1A1A1A1A10A0AD9885858D9020D +S2140208D008A908A52323B7A4A129A402B22354B2C7 +S2140208E0D9D9B223A5A5A5A5541FB2B259A55408B5 +S2140208F0A5A55959B254A5A5B7B7DD7546347E7875 +S214020900578C8C2FBFE5724D8C5A6F217C3D5E341E +S21402091034025E62F4F43D3D3D62625050DA59594B +S21402092059545454CDCDCD4F4F4F4FCF4F361F1F36 +S2140209301FCF3670483636CBCBCB36CB6969CB3633 +S21402094036364848487070704870000000000070E4 +S214020950707070701F1F36CF0C0C6D0CCD5454CDBA +S214020960544E4E5412777777C87712777459543BA1 +S214020970A9545FDFDF75D9A1A1A1A1292929A1A1C7 +S214020980A1A1292929A1A1D958DFDDB223A5A5A5B0 +S214020990080808A559B2DDA1D9A423A5A5A5A5A531 +S2140209A0A5A9A502B223A55408A5A523B2B7B208E5 +S2140209B0A523B7B7DDF7DD0873328C90BFBFBF72D1 +S2140209C0E532E120D7805E46B75F62F4C6623D3DFF +S2140209D06262625050DA50C954545454CDCDCDCFD1 +S2140209E04F4F4FCFCF4F361F1F1F1F7070363636F2 +S2140209F0CB363636CBCBCBCB363636484848704825 +S214020A00FDFA707000000000007070701F1F1F4F0C +S214020A100C0CCDCDCD54544E54CD545454742B2B73 +S214020A207777127477127412A946DF75D9A1A1DD01 +S214020A30DDA1DD020202020202B702A4A42929A154 +S214020A40A1A10AD9D9D9D9A1A1DDDDDDA1A1A1A192 +S214020A500223A5A5A5A5A5A5A5A5A9020223A5A528 +S214020A60230854A5A5B259B259082323B7B7DDDA2D +S214020A7074228C900BABBFBF2FAEE6E54076022306 +S214020A800230F4F4626262626250B9505050F7DF8C +S214020A90A1545454CDCDCD4F4F4F4F4F4F363636CF +S214020AA01F1F1F1F701FCB363636363636CBCB3659 +S214020AB036CBCB3648484848FDFA63007000000043 +S214020AC000007070701F1F1F4FCFCDCDCDCD545478 +S214020AD05454543B3B54122BB3B3C874771212745B +S214020AE074A175755FA1A1A1DD02B223A50808084D +S214020AF00808A5A5A523B7B7B7B702A4A4DDA1A188 +S214020B00A1A1A1A129A4B7B723A5A5A5A5A5A5A579 +S214020B10A5A51F02A42323A5A52308A5A5A523B240 +S214020B2023A4B2A92323B7B7A4D381909BAEBBBF9D +S214020B30BFAEAEE674B223028062F462625050B96F +S214020B40B9B9626250F775A1DDB23B54CDCDCD3B4B +S214020B504F4F4F3636363636361F1F1F70703636B4 +S214020B6048483669693636363636CBCB3648484834 +S214020B701507FAFD007070707000007070701F1F0D +S214020B80A9CFCDCDE94ECD54545454CD3B3B3B1268 +S214020B9077C8D1B379C8741246D9755FA1DD5FA153 +S214020BA0B2A5080808080808080808A5A5A5A5A566 +S214020BB0A52323232323B7B7B7B7B72323A5A5A512 +S214020BC0A5A5A5A5A5A5A5A5A5A5A9B2A1B22323B8 +S214020BD0A5A52308A5A5A5A5B2B223A16808232327 +S214020BE0B7A563ED9797BFBBBFBFBF7232685F30D2 +S214020BF062627CB9B9B9F7F7F7B950B9805FDD021E +S214020C00B2B2233B3B3BCDCD4F4F4F4F36363636F7 +S214020C10361F701F1F7070484836484836364836AA +S214020C203636CBCBCBCBCBCB150763FD150070701E +S214020C30007000007070701F1FA9CF4FCDE9CDCD98 +S214020C40544E545454545454541E772BB379137739 +S214020C5046755FA1A1DDA1DD23080808080808087B +S214020C6008080808080808080808080808A5A5A526 +S214020C70A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A51D +S214020C80A5A5A902D9022323A508A559A9A5A5A504 +S214020C90A523B2B223A1A1A5A5233B7373979744BC +S214020CA044BFBF789090F7F462B9B9F7F7F7F7DA6E +S214020CB0DADAF775C934B2B2B2B2B2A5083B3B3B38 +S214020CC04F4F4F4F4F36363636361F707036487097 +S214020CD0707048484848484836CBCBCBCBCB0C1E26 +S214020CE0ECFA634A480000007000007000707070F2 +S214020CF0CF4F4F4F4F4EE9CD54544E4E545454544A +S214020D005454121277BB2B2B4675D9A1A1A1A1A1CF +S214020D10B2A5080808A9A90808A908080808080822 +S214020D200808080808A508A5A5A5A5A5A5A5A5A51A +S214020D30A5A5A5A5A5A5A5A5A5A908DDDFA4232388 +S214020D4023A5A523B208A5A5A5A5A5B702B7B7A151 +S214020D50D902A52D22971C891E44447844ED72F7C9 +S214020D60B9F7F7F7F7B9DADADFD9A1A468686859EC +S214020D7059592323083B3B3B3B4F4F4F36363636BB +S214020D8036363670707036707070707070484848BC +S214020D904836CB6969690C3EAB91634A480000004D +S214020DA00000000000007070CFCF4FCF4FCD4ECD69 +S214020DB0CD5454544E5454CD3B54544E12127712C2 +S214020DC068DFA146595454CDCD542323A5A9A9A919 +S214020DD0A9A9A9A9A9080808080808080808080867 +S214020DE008A5A5A5A5A5A5A5A5A5A5A5A5A5A508E6 +S214020DF0A9A9B2D9DFA423232323A5A52302A9A543 +S214020E00A5A5A5A5A5B702B2B7DDD9A49173898910 +S214020E1078E944444444ED4475B9F7F7F7DF755F63 +S214020E20A1A402B7B7B2B2595954A5543BA93B3B49 +S214020E30CDCD4F4F36364F1F3636361F701F1F70BA +S214020E407070704870707070484836CB690C69795B +S214020E50F6AE89EC480000000000000000000070BA +S214020E601FCD1FCDCDCDCD4ECDCD5454545454545C +S214020E70543B5454544E121259D968A91F1F1F1FAF +S214020E801F1F1F70A9A5A5A9A9A9A9A9A9A9A9A9AA +S214020E9008A9080808080808080808A5A5A5A5A519 +S214020EA0A508A9A9A9A9A9085402D9DFD9A4232368 +S214020EB02323A5A5A523A40808A5A5A5A5A5A5B78A +S214020EC0B2B2B702591C9789896DE96D44D378226C +S214020ED074DD02DDA1A1A1A1A1DDA4A4020202B2D9 +S214020EE05954A5545408A93B3BCD3B4F4F1F3636A9 +S214020EF01F363636701F1F36367070707070707000 +S214020F007036CB36CB690C778B3391EC48000000F9 +S214020F10007000000000007070CF4F36CDCD4F4EEF +S214020F20383BCD54544E4E54545454545454541284 +S214020F3054DD3B1F1F1F1F1F1F1F1F1F1F70700820 +S214020F40A5A9A9A9A9A9A9A9A9A9A9A90808080892 +S214020F50080808080808A508A9A9A5B2DDA1A1D90C +S214020F60D95858D9A1A42323232323A5A5A5A5A4EC +S214020F7059A9A5A5A5A5A5A5A523B2B2B70C97897B +S214020F808978E9E96DD3E9891C02DADFA1B2232365 +S214020F90B7B7B723232323545454543B3B3BA93BB4 +S214020FA03B3B3B4F4F1F1F1F361F1F361F707036AF +S214020FB03670704870707070487070CB69CF696D0B +S214020FC006F644693670000000007000000000005B +S214020FD00070CD361FCDCDCDE94ECD4ECD545454F6 +S214020FE0545454545454545454593B1FA91F1F1F4D +S214020FF01F1F1F1F1F1F1F1F70A9A5A9A9A9A9A9E7 +S214021000A9A9A9A9A9A9080808080808080808A9F2 +S2140210100802A1D958585858DFDFD9D9A1A42323EA +S214021020232323A5A5A508A502021FA5A5A5A5A558 +S214021030A5A5A52346E5FA97898978E9E9E96DE940 +S2140210401C91082302A1D9A1A4B223A5A5080808C9 +S2140210503B5454CD3B3B3BA93B3B4F1F1F1FA94F65 +S2140210604F70701F70707070367070707070707025 +S2140210707036367036690CD3678B7969CB48700048 +S21402108000000000000000000000704F1F4FCDCD92 +S2140210901ECD3B54E93854544E545454545454546C +S2140210A0595454A9A91F1F1F1F1F1F1F1F1F1F1F91 +S2140210B01F1F70A9A5A9A9A9A9A9A9A9A9A9A9A9EA +S2140210C0A9A908080808A908DDD9D9D9DFDFDFD918 +S2140210D0D9D9D9A1A102B723232323A5A5A5A5085B +S2140210E02302A1A908A5A5A5A5A5A5A544E68963E9 +S2140210F08989892D0C0CE96DE9FF1E0AA1DDB2B7BC +S214021100B202020202A4A402B259A53B08A9A93B54 +S214021110A9A93B54B2DDA1D98888294F701F7070E7 +S2140211207070704870707070707048CB3636697820 +S214021130E5063E0C69CB4870000000000000000087 +S2140211400000707070704F4F4E1ECDCD4E4EBBBB22 +S214021150544E54545454545454545408A91F1F1FE4 +S2140211601F1F1F1F1F1F1F1F1F1F1F1F1FA908A98B +S214021170A9A9A9A9A9A9A9A9A9A9A9A9A9081F5953 +S214021180D9A1A1D9DFDFDFDFD9D9D9A12902B723B7 +S214021190232323A5A5A5A5A50823B2A1B2A9A50820 +S2140211A0A5A5A55451E6BF69FF9189910C0C0C2D9B +S2140211B02D6D1C748858585858880A0AA1DD02B248 +S2140211C0B2DDD988D9D90AD9D9D9D9888888888860 +S2140211D08888888829701F70707070707070707040 +S2140211E07070487036692D8989C8E20C69CB484808 +S2140211F07000000000000000000000707070703682 +S214021200CD1E383B1EAB1E386438545454545454C6 +S214021210545454CDA9A91F1F1F1F1F1F1F1F1F1F76 +S2140212201F1F1F1F1F1F1F08081FA9A9A9A9A9A9B9 +S214021230A9A9A9A9A9081F5958D9D9DF58DFD9D908 +S214021240D9D9A1A1A4022323232323A5A5A5A5A515 +S214021250A50823B2DDA1A908A508A544ED8C380887 +S214021260CA1C9189910C0C0C2D0CD3632329A1D98D +S214021270D988888858585858D929B25902A1D9D934 +S214021280D90A0A88D90A0A0A0A0A0A0A0A0A4F70F0 +S21402129070707070707070707070704848CBCA89C9 +S2140212A0912D0D4ECBCB364870700000000000002A +S2140212B000000000007070361FCD38CD77791EBB57 +S2140212C01EBBAB54545454545454543B3B08A9A923 +S2140212D01F1F1F1F1F1FA9A91F1F1F1F1F1F1F1F03 +S2140212E00008A9A9A9A9A9A9A9A9A9A9A9A9A90852 +S2140212F088DD5408085946D9D9A1A1A1A4B723B7B5 +S214021300232323A5A5A5A5A5A5A50823B202D9B280 +S2140213101F085451EDBF08A5A963899163CACD0C75 +S2140213200C2D0C9191B7A4A4A1A10A0A0AD9D9DF5F +S214021330DFDF5858D9DD596829A1A1A10A0A0A0A8D +S2140213400A0AA1A1A1A1DDCF70367070707070700C +S2140213507070707048EC9163CA69CDCDCBCB3648BD +S21402136048700000000000000000000000007070DE +S2140213704FCD4F4F4E0EC8541E1E1E643854545442 +S214021380545454543B3B08A9A91F1F1F1F1F1F1F5D +S214021390A9A91F1F1F1F1F1F1FCDA908A9A9A9A9F9 +S2140213A0A9A9A9A9A9A9A91F02A5001F1F1F1F1F36 +S2140213B0A9DDD9A102B7232323A5A5A5A5A5A5A581 +S2140213C0A5A5A50823B2B2A10A54D3E6904E0808F2 +S2140213D008CBFF9191630C690C0C2D0C632DB7A4FE +S2140213E02929A1A1A1A1A1A1D9D9D988D9DF58D9E2 +S2140213F0B25929A4A429A1A1A1A1A1DDDDDD4668D7 +S2140214003B703670707070707070707069079107FC +S21402141015484836483648484870700000000000B4 +S21402142000000000007000707070CDCDCD33DC126D +S214021430124E4E4EABBB545454545454543B540860 +S214021440A9A91F1F1F1F1F1FA91FA91F1F1F1F1F7D +S2140214501F1E1312A9A9A9A9A9A9A9A9A9A9A91FC1 +S214021460080800A9A9A9A9A9A91F1F02A1B2232396 +S21402147023A5A5A5A5A5A5A5A5A5A5080823B2B239 +S214021480A48093E67808080808084A1C91639169C4 +S214021490690C0C0C2D63CFA5A52302A42929A1292A +S2140214A0A1A1A1A1D988DFD9DF5802CD6859545429 +S2140214B0545459595959595954CD701F70707070F7 +S2140214C0707070CB4AFA91EC4870704848484848A9 +S2140214D04848707000000000000000000000000095 +S2140214E0007036364F1E7977774EE954541EAB5449 +S2140214F0545454545454545408A9A91F1F1F1F1F50 +S2140215001FA9A9A91F1F1F1F1F1E3367794F08A9EE +S214021510A9A9A91FA9A9A9A91FA91F1F1F1F1F1F84 +S2140215201FA9A9A91FDDDD232323A5A5A508A508B4 +S214021530A5A5A5A5080823B2B25BEACE5EA9A908AE +S2140215400808A963639163CA69690C0C0CCA63A98B +S214021550A508A5A5A5B2A4A4DDDDA1DDDDA1D9DF80 +S214021560DFD9D9DF68CD12B2B25959595454CDCD0C +S214021570CDCDCF70707070707070CB4A0707ECCB11 +S21402158048707070704848484848484870000000E4 +S2140215900000000000001F000000704F4FCD1E54D8 +S2140215A04E774E4E4E54383854545454545459541C +S2140215B05408A9A91F1F1F1F1F1FA9A9A91F1F1F64 +S2140215C01F127913133112A9A9A9A9A91F1FA9A924 +S2140215D0A91FA91F1F1F1F1F1F1F1FA9A91FA9A1E0 +S2140215E0B2A5A5A5080808080808080808080823D8 +S2140215F01966A65BA10A29081FA90836FF919163FE +S2140216000C69EC0C2DEC91FA08A5A5A5080808A50E +S214021610B2020202DDDD4646A1D9DFD9D9D954CFBE +S214021620CD54545959595959595954CD70707070EE +S214021630704815CA074ACB70000070707070484830 +S2140216404848484870700000000000000000007023 +S21402165070000070363BCF4E3B541E384E4E541E22 +S2140216605454545454545459593BA508A91F1FA9FD +S2140216701F1FA9A9A9A9A91F1F12340D791313792F +S214021680A908A9A9A91F1F1FA9A91FA91F1F1F1FB4 +S2140216901F1F1F1F1F1FA91F54A4A5A5080808085F +S2140216A00808080808A508CDF1A653740229A10A5D +S2140216B0A1231F1F4AFF9163916969EC0C2DEC630D +S2140216C0CA08A5A5A5A5A53B3B3B54B2026846DDC4 +S2140216D06859DDD9DFD9D9A1CFCFCFCDCDCDCDCDEC +S2140216E0CD5454544F7070704815CA074A1570701E +S2140216F07000707070707070484848487070700063 +S21402170000000000000000000000000000701F4FF4 +S2140217104E3BCD3838544E5454544E54545454546C +S214021720595959A908A9A91F1F1F1FA9A9A9A91F65 +S214021730A9686868340D791379120808A9A9A91F3F +S2140217401F1F1F1FA91F1F1F1F1F1F1F1F1F1F1F18 +S214021750A91FB2B7A5080808080808080808084418 +S214021760E66664592302A4A10A0A29A4A9FAFF6319 +S21402177063076969ECEC0C0C63690808080808083A +S2140217803B3B3B3B3B59686868DD685446D9D9A168 +S214021790D968CBCDCDCDCDCD54CDCDCD544F703631 +S2140217A0ECCA074A154870707070007070707070DE +S2140217B04848707070707070000000000000007082 +S2140217C01F700000007070704F543BCD38384E4E7C +S2140217D054544E4E595454545959591259A91F1F0C +S2140217E01F1FA9A91F1F1FA954686868683434768A +S2140217F07979790808A9A9A91F1F1F1F1FA91F1FEA +S2140218001F1F1F1F1F1F1F1F1FA91F3B02A5080800 +S214021810080808083B08545194725923B223B202AE +S214021820A4A1A1A12902ECFF1C63EC6969ECECEC13 +S214021830CA63A9A5083B3B3B3B3B3B3B3BCDCD5458 +S21402184068686846685474D9A1A1A1CFCFCDCDCD22 +S214021850CDCDCDCDCDCD3615CA4AECCB70707070DD +S2140218607070707000707070707070707048707009 +S214021870700000000000000000701F00000070A949 +S21402188070701F1FCD381E384E5454381E54545490 +S214021890595959121212593BA91F1F1F1FA93B590A +S2140218A06868B268686834340D0D0D3112A9A9A9AA +S2140218B0A9A91F1F1F1F081F1F1F1F1F1F1F1F1F34 +S2140218C01F1FA9A91F0223080808083B3B3B78E60E +S2140218D0EDE908A559B22323B202A1A1292929A517 +S2140218E0EC63916969ECECECEC07FA1F08083B3BE9 +S2140218F04F3B3B3B3B3BCDCDCD546868B26868CD91 +S21402190068A1A1D954CFCFCFCDCDCDCDCDCDCD36BB +S214021910EC154870707070707070707070707070C7 +S2140219207070707070484870700000000000000010 +S21402193000707000000000001F70701F1FCD381E60 +S2140219401E38545412BB1254595959595912125925 +S214021950595959595912740D0D68686868683434B3 +S2140219603434340D3179A9A9A9A9A91F1F1F1FA9AB +S214021970A91F1F1F1F1F1F1F1F1FA9A94F3659B2BE +S2140219800808080808E9E194AE3B083BA523B22301 +S214021990A559B2A429292929027069CA6969ECECF9 +S2140219A0ECEC914AA94FA9083B3B4F4F4F4FCF3B18 +S2140219B0CDCDCD54B2B2686854CDDDA1D946CBCFD9 +S2140219C0CFCFCDCFCFCFCDCF70707070707070701C +S2140219D048483670707070707070707070484870DA +S2140219E07070000000000000000000000000000010 +S2140219F0707070701F1F3B3838384E54541277126E +S214021A005959595959126859595959B2B2683468CC +S214021A10C82BC80D68686834343434344013133B1A +S214021A20A9A9A9A91F1F1F1F1F081F1F1F1F1F1FAE +S214021A301F1F1FA94F4F1E0DB23B3B0808AEE69074 +S214021A40E9083B083BA5A55923A523B7B2A4292933 +S214021A502929A9CBCF6969ECECECEC63ECA94FA978 +S214021A604F4F4F4F4F4F4FCFCFCFCDCDCD59B2590E +S214021A70B26868545446A1CFCFCFCFCFCFCFCFCD09 +S214021A801F00707070707070363636364870700090 +S214021A907000707070704870707000000000000077 +S214021AA0000000000000000000701F7070701FA988 +S214021AB03B5454545412123859591212126812686E +S214021AC05959683468680D0D6874C8C8C80D3468FA +S214021AD034343434344031E812A9A9A9A91F1F1F8F +S214021AE01F70081F1F1F1F1F1FA9A94F4F4F1E162B +S214021AF045B254086DEDE6783B3B3B08A93BA5A5ED +S214021B00592308A523B7022929B7A51FCB6915159E +S214021B10ECECECECFA36A9A9A94F4F4F4F4F4F4FBA +S214021B20CFCFCFCF4FCDCD54590254364848485424 +S214021B30CDCFCFCFCFCFCFCFCF7070707070704871 +S214021B4036364F4E4F707000000000000070707006 +S214021B50000000000000000000000000707000009E +S214021B60000000007070703BA9A93B5454545459AD +S214021B70591259596868686868B2B20D763468C8EE +S214021B800D6868680D0DC83434023434343440317C +S214021B9013C8A9A91FA91F1F1F1F1FA9A91F1F1FFF +S214021BA0A9A9A9A9A94F7706B5E8234E97E6510C2D +S214021BB008CD3B3B3BA93BA5A52323A5A5B202B76F +S214021BC008000000000036156915ECECFAFA1F4F03 +S214021BD0A9A9A9A94F4F4F4F4F4FCFCFCFCF4FCF26 +S214021BE0CD59364836CBCB48364FCBCFCFCFCFCFDB +S214021BF0CF3600707070703636364F404036707092 +S214021C0000000000000000707000000000000000ED +S214021C1000000000000000000000007070007070FD +S214021C20A9A9083B545412591238127712687468DC +S214021C306868B2B20D13763476C868B26868340D36 +S214021C4034340234343434407979793BA91F1F1F67 +S214021C501F1F1F70A9A91FA9A9A9A91F1FCDC83197 +S214021C6087F679BFBEEDD3A93BCDCD3B3B08A93B5A +S214021C70A5A5A52308230208000000000000000016 +S214021C800000707070CB151FA9A9A9A9A9A9A94F10 +S214021C904F4F4F4F4FCFCFCFCF591F4836364848BA +S214021CA048364FCFCFCF4F4F4FCF70707070707097 +S214021CB0364F4F349D123670700000000000000050 +S214021CC0700000007070007070700000000070708D +S214021CD00000000070700070701F1F4F3B593838AC +S214021CE0121277127774127468686868B2680D34D4 +S214021CF034767668B2B2680D0D3434343434343403 +S214021D000D4079AFB4081F1F1F1F1F1F1F1FA91FDB +S214021D10A9A91F704F1E317976795BE35ABF4FA986 +S214021D203B3BCDCDCD3B3B4F3BA508A5A5B2230003 +S214021D300000000000000000000000701FA91F70D5 +S214021D404F1F4FA9A9A9A9A94F4F4F4F4F4F36CBA7 +S214021D504F591F483636484848483B36CFCF4F364D +S214021D6036CB48007070707036CF4F129DE24F36F9 +S214021D707000000000000070000000000070704854 +S214021D804870707070000000000000000000000044 +S214021D9070701F1FA9543838383812771274745965 +S214021DA0681268686868B259B2B26834346868689B +S214021DB0C8C80D343402023479F237FC653754A9A8 +S214021DC01FA91F1FA91F1FA9A91F1F4F1E7913791D +S214021DD076D1FB650F1E083BA94F3BCDCDCD4F4FAD +S214021DE04F3B3BA5A559A5000000000000000000DF +S214021DF0000000001F1F1F4F1F1F361F1F363636DC +S214021E0036364F4F36364F363654A9483648484847 +S214021E104848CF1F364F363636CB36007070707055 +S214021E207036CF4E3E9D12363670007000000000AF +S214021E30700000707070484848484848484800009B +S214021E4000000000000000000070701F1FA95474FC +S214021E5074383812741274745959B26868686868AB +S214021E60686868B2B2686868680D79C834342B2C22 +S214021E70E32EFCFB5B7931C8A91F1FA9A91F1FA966 +S214021E801F1F4F1E13453179677165E3D10D744FDD +S214021E9008A94F3BCDCDCF4F4F4F4F3B3B23A90019 +S214021EA0000000000000000000000000701F1F700D +S214021EB01FA970361F1F1F3636363636364F4F3638 +S214021EC0363B0870484848484848361F364F36362C +S214021ED036363600707070701F364F3B409DE2CD2E +S214021EE0364800000070007000707070484848481D +S214021EF0484848151515FD00707000000000007077 +S214021F00707070701F36A9541274747412121268AC +S214021F107459596868686868686868686868B26802 +S214021F206834340D792CE3FCE353D176404076795D +S214021F304577A91F1F1F1F1FA94EC813E813311389 +S214021F40AFFCFCF2C80D0D0D3BA9A9A94FCDCDCF14 +S214021F504F4FA9A93B54A900000000000000000052 +S214021F60001515487070001F1F70A91F1F1F3636F8 +S214021F701F1F363636363636363B3B70484848489C +S214021F80484836A91F4F363636363670007070709F +S214021F907036364F123E3E12363670000000000093 +S214021FA07070484848484815151515FD4A4A0707EF +S214021FB000000000000000000000701F1F1F364FC8 +S214021FC03B541274741268120D34595968680D74B1 +S214021FD034746868686868B2686834C853FCFC7110 +S214021FE0D10D343476767676313145317712544EC9 +S214021FF07767E8E8133131AF106571790D0D0D0D75 +S2140220000D4EA9A9A94FCFCFCF4F4FA9A9A51F0003 +S2140220100000000000000000000015CB4870707041 +S21402202000701F1FA9701F1F1F36361F3636363622 +S214022030364F3B70704848484848361F4836363652 +S2140220403636487070707070707036363B403E346C +S2140220504F3648700000000070484848481515156D +S214022060FD4A070707074A4AFD0000000000000075 +S214022070000070701F1F1F364F3B54127474126894 +S2140220800D1368B2B2B2680D746834346868686852 +S21402209068682B71FC6FB4790D0D0D343476797641 +S2140220A07631313113E8E81345E813131331333729 +S2140220B06537D17676C80D0D0D77744FA9A94FCF27 +S2140220C0CFCF4FA9A9087000000000000000000052 +S2140220D00000481515707070707000701FA9701F90 +S2140220E01F1F1F363636363636363B707070007017 +S2140220F048484836704848483648700070707070D5 +S2140221007070703636123EE2CD3648707070704887 +S214022110484848481515FD4A0707074A4AFD151557 +S2140221204848000000000000000000007036361F1D +S214022130364F3B5459747412740DC8685959B268B4 +S2140221406868686834686868B2C853FC105B3468AC +S21402215034C8C80D343476797631313131131313DD +S2140221601313131331130F65105B797676C80DC8F7 +S2140221700D7774744E1F3B4FCFCF4F4F3BA9700065 +S214022180000000000000000000000015CB150070E3 +S2140221907070707070001FA9703636363636363656 +S2140221A048364F70701F70707070484870483636E8 +S2140221B048707070707070707070703636CF40E213 +S2140221C0CD3636487048484848484815FD4A0707FD +S2140221D04A4AFD15151548484848480000000000C0 +S2140221E0000000000000701F703636CD5454595956 +S2140221F0597412741259686868686868683468B2F4 +S214022200C85310716476763468340D0D0D34340D6F +S21402221076761313313113131313133113AFFCEA0B +S214022220B179797976C8C8C8C80D77747474CF1F27 +S2140222303BCDCD3B3B1F000000000000000000002D +S2140222400000000015154800707070707070700005 +S2140222501F1F703636363648364FA970701F70709C +S21402226070707070707070487070007070707070FF +S214022270707070703636CD34CD3636484848484889 +S2140222804815FD4A4A074AFD151515484848484864 +S214022290487070000000000000000070000000702F +S2140222A07070364FCDCD545459591212745968680D +S2140222B06868680D6868B2775310242B6868340D16 +S2140222C034346834343434343440403113313131A8 +S2140222D0131313135BE3650F677979792BC8C8C8A4 +S2140222E0C87777777438387470704F4F1F70000055 +S2140222F0000000000000000000000000481515481D +S21402230000707070707070707070700070701F3631 +S21402231036A91F7070707070707070707070707008 +S214022320707070707070707070707070704836CFA9 +S214022330CFCBCB484848481515FD4A074AFD151528 +S21402234015484848484848707000000000000000E1 +S21402235000000000700000707070484FCF541212D8 +S214022360595912127459596834343468686874F1C9 +S2140223701053C8B268686868683434346868683469 +S21402238034340D403113313131313133FB65E333AF +S2140223907979797676C8C8C8C877797977743838FB +S2140223A038000000000000000000000000000000EE +S2140223B00000000000481515000070707070707004 +S2140223C070707070700000707070707070707070E6 +S2140223D070707070707070707070707070707070F6 +S2140223E0707070707070483636CBCBCB151515FDF5 +S2140223F04A074AFD1515484848484848487070003C +S2140224000000000000000000000000000000007055 +S21402241070707036CDCD120D68595959595959599F +S214022420686868346868E566BE2B683468686868F9 +S2140224306868683434686834343434343476313115 +S214022440313113B1FC10F27979797676C8C8C8C8EA +S214022450C877C845C8741E383869000070707000A6 +S214022460000000000000000000000000000015153B +S2140224701500007070707070707070707070707090 +S2140224807070707070707070707070707070707045 +S2140224907070707070707070707070707070484885 +S2140224A0CBCBCBCB15EC4A07074AFD154848484824 +S2140224B04848700000000000000000000000000015 +S2140224C00000000000000000707070704FCD544590 +S2140224D0765959595959595959596868682BBE66D7 +S2140224E0E568680D343468686868686868686834DF +S2140224F0340D4634343476764079F2E3FCB16779AB +S214022500797676C8C8C8C8C877777777771E1E38B0 +S21402251038384800007070700000000000000000AC +S2140225200000000000007015154800007070707002 +S214022530707070707070707070701F7070707070E5 +S2140225407070707070707070707070707070707084 +S21402255070707070484848484848CB154A0791CA78 +S2140225604A6915484848487000000000000000000C +S2140225700000000000000000000000000000000054 +S2140225800000707036364FAB876812595959595940 +S2140225905959686874F1A6DB74B268680D0D346820 +S2140225A0686868686868683434340D0D46343440A8 +S2140225B0792C37E3B167407676C8C8C8C8C8C877EA +S2140225C0777777771E1E1E1E38380C0000000070C4 +S2140225D000000000000000000000000000000048AC +S2140225E0151570000070707070707070707070707A +S2140225F070707070707070707070707070707070D4 +S2140226007070707070707070707070704848484863 +S214022610CBCB15CA91FACAEC69E9154848480000BE +S21402262000000000000000000000000000000000A3 +S2140226300000000000000070707000703636360C25 +S214022640DC7712125959595959595968D166666434 +S21402265068686868680D6868686868686868683482 +S214022660346834460D46342BF17171F279767676FB +S21402267076C8C8C8C8C87777777777771E1E1E3899 +S214022680384E38CB0000000070000000000000004A +S2140226900000000000000000151515000000707014 +S2140226A07070707070707070707070707070707023 +S2140226B07070707070707070707070707070364F6E +S2140226C0707070484848CB4848FD0763914A151514 +S2140226D0CBE9E94848700000000000000000000056 +S2140226E00000000000000000000000000070000073 +S2140226F0707070701FCFCF36AB79694E54545454F5 +S214022700595959125365F174686868686868686848 +S21402271068686868686868340D34686834462BB040 +S21402272053F1670D0D4076400D0D0DC8C8C877777A +S21402273077771E1E1E1E1E3838E94EE94800000036 +S2140227400070000000000000000000000000000012 +S21402275000FD481500000070707070707070707028 +S2140227607070707070707070707070707070707062 +S2140227707070707070704F593B70484848CBCB48A9 +S214022780ECFA63914A15CB15CB691E6948700000B6 +S2140227900000000000000000000000000000000032 +S2140227A00000000000707000000070707070364FFD +S2140227B00C1E69CFCFCDCD54545954BB665A2B68E4 +S2140227C0686868683468686868686834346868681E +S2140227D0680D0D34680D64B0B02B4634340D0D0D03 +S2140227E00D0D0D0DC8C87777771E1E1E1E1E1E38CD +S2140227F0E9E9E94E0C00000000007000000000004D +S21402280000000000000000000048FD1548000070AF +S21402281070707070707070707070707070707070B1 +S21402282070707070707070707070707070703659F2 +S21402283059364848CB4848EC631C634A1515CBCB3F +S214022840CBCB4E12367000000000000000000000E5 +S2140228500000000000000000000000000000707091 +S214022860707070707070363636CFCFCFCFCFCD59EE +S2140228705954542F947259591268686868683468B3 +S214022880686868340D4674686868460D0DC82B2B58 +S214022890464646464634340D0D0D0D0D0DC8777767 +S2140228A077771E1E38381EE9E9E9E94E4ECB00005E +S2140228B000000070000000000000000000000000A1 +S2140228C000001515157000007070707070707070D2 +S2140228D07070707070707070707070707070704819 +S2140228E048707070707048CF543648CBCB4815632A +S2140228F097634A15CB154848483669123B707000F4 +S21402290000000000000000000000000000000000C0 +S2140229100000000000007070707070707070704F71 +S2140229204F3636364FCF4F546859540B94BFA5597D +S21402293059126874686868340D406868680D467491 +S214022940686868740D0D46746868744674687446E0 +S21402295034340D0D0DC80DC879771E1E1E38E9E9F0 +S214022960E9E9E94E0C0C4800000000007000000087 +S2140229700000000000000000000000FD48150000F6 +S21402298000707070707070707070707070707070B0 +S2140229907070707070701F363636367070707036A3 +S2140229A0CF36CB15481507731C4A15484848484881 +S2140229B04848484E12367000000000000000000032 +S2140229C00000000000000000000000000000707020 +S2140229D070707070707070704F4F36363636CFCF5C +S2140229E054743824941E545459595912747468688D +S2140229F040F63168686868687468687474747468E5 +S214022A0068746868686868744646460D0D0DC8792D +S214022A10F631773838E9E9E9E9E90C0CCDCD6900F9 +S214022A20000000000070000000000000000000002F +S214022A3000000000FD481500000070707070707095 +S214022A4070707070707070707070707070703636F3 +S214022A503636544F707070483636CB15CB4AFF73F5 +S214022A600715484848484848484848CB124F7070AF +S214022A70000000000000000000000000000000004F +S214022A80000000000000007070707070701F1F70F1 +S214022A90701F3636363636CFCFCD4E5AE6383BCD59 +S214022AA03B5959591274746834F687343468686826 +S214022AB0687474747474747474746868686874740B +S214022AC0687446460DC8C83116F6C81E1EE9E9E9FE +S214022AD0E9E90CCDCDCDCDCB000000000000000012 +S214022AE000000000000070707000000048FD4848BA +S214022AF00000004870707070707070707070707047 +S214022B007070707070703636364F6859364848485E +S214022B1036CB15CB156373631548154848484848A5 +S214022B2048484848CDCD7070000000000000000004 +S214022B30000000000000000000000000000000008E +S214022B40701F1F361F1F36361F1F1F1F363636CF03 +S214022B50CFCFE93232E954CD3B3B545959687474AD +S214022B6068798734686868686868747468686868CA +S214022B70746868686868747468747474740DC87964 +S214022B805D1679741EE9E9E90C0C0CCDCDCDCDCDE0 +S214022B90480000000000000000000070363636369E +S214022BA03636360000151548000000004870707072 +S214022BB07070707070707070707070707048483698 +S214022BC0364F68344F48484848151515CA73FF4AA9 +S214022BD048154848484870707070484836CD4800D6 +S214022BE000000000000000000000000000000000DE +S214022BF00000000000000000001F1F363636363682 +S214022C003636363636363636CBCF6DE65A4E5459CB +S214022C10543B3B5459591274746840346868686867 +S214022C20686868686868686868121268121274745D +S214022C307468687474740DC8F616E8771EE9E90CB1 +S214022C400C0C0CCDCDCDCDCF69700000000000007D +S214022C50000000CBCFCFCB36363670487000FD482A +S214022C6015000000004870707070707070707070A0 +S214022C7070707070707048363636597E54363648E4 +S214022C804815CBFD1C90FA15151548484848707033 +S214022C9070707070483636000000000000000000B9 +S214022CA0000000000000000000000000000000001D +S214022CB000001F1F1F36363636363636363636365E +S214022CC0364F6D57244ECF5474593B3B54595912C4 +S214022CD07474746868686868126868127474741227 +S214022CE0741212121212127474741212127474C8BB +S214022CF0061687C81E38E90C0CCDCDCDCDCFCFCF6A +S214022D00CFCB00000000000000000036CFCFCB364D +S214022D1036363648487070FD48480000000070702D +S214022D207070707070704870707070484870484864 +S214022D303636547E68CF36CBCB15150773FF4A4816 +S214022D401548484848707070707070707070707077 +S214022D50000000000000000000000000000000006C +S214022D6000000000000000000000001F1F1F1F36AA +S214022D7036363636363636363636E9578C54CDCF74 +S214022D80CF5454CD4F3B54595974747468686812C2 +S214022D9012686812123874381212121212121212B2 +S214022DA012383812121274741316F6C81E38E90C4A +S214022DB0CDCDCDCFCFCFCFCFCFCF480000000000B4 +S214022DC000000070CFCFCBCBCB3636484848704891 +S214022DD0FD48700000000070707070707070707047 +S214022DE0707070707048484836363B3468CDCBCB2E +S214022DF01548FD1C22FA151515484848487070708B +S214022E0070707070707070000000000000000000AB +S214022E1000000000000000000000000000000000AB +S214022E20000000001F36361F1F3636363636363658 +S214022E3036360CE6EDCDCFCDCFCFCFCFCF4F4F3BF3 +S214022E405412123838121212126868121212121221 +S214022E5012121212121212125959121212121212BD +S214022E600DF6F6C83838E90CCDCDCFCFCFCFCFCFC1 +S214022E70CFCFCF700000000000000000CBCFCBCB3E +S214022E80CB36363648484870FD154800000000002C +S214022E90707070707070707070707070707048487B +S214022EA04836CF680254CBCBCBCB0773FFFD481511 +S214022EB048484870707070707070707070707000F3 +S214022EC000000000000000000000000000000000FB +S214022ED00000000000000000000000000036363649 +S214022EE01F36361F1F1F36363636CDED320C4FCF05 +S214022EF0CFCFCFCFCF544F3B3B3B591212121212B9 +S214022F00121268125912121238381212121212596A +S214022F101259595959595959120D3177124EE90C0D +S214022F20CDCFCFCFCFCFCFCFCFCFCF360000000081 +S214022F300000000070CFCFCB3636363648484848B9 +S214022F4070FD484800000000007070707070704895 +S214022F5070707070707070484848365902546969CB +S214022F60CB156322FA1515154848487070707070B4 +S214022F7070707070707070700000000000000000CA +S214022F80000000000000000000000000000000003A +S214022F900000000000001F1F1F1F361F361F1F1FC6 +S214022FA03636CF9B576D36CFCFCFCFCFCFCF363635 +S214022FB0364F3B59121212595959125912121212FD +S214022FC01212121212121259595959545454545474 +S214022FD05454124E4E4E0CCDCFCFCFCFCFCFCFCFF5 +S214022FE0CB3636CB480000000000000000CBCFCB2B +S214022FF0CB363648484848487048FD4848000000E6 +S21402300000007070707070704870707070707070C1 +S214023010484848CD68596969CBEC97734A481548C1 +S21402302048487070707070707070707070707070E9 +S2140230307000000000000000000000000000000019 +S2140230400000000000000000000000000000001F5A +S2140230501F1F1F1F1F1F1F361F361F8957781FCBA4 +S214023060CFCBCFCDCFCFCF54CD4F3B3B59121259FA +S214023070595959591268125959595959595959543D +S21402308054545454545454545454545454CDCDCD8E +S214023090CFCFCFCFCFCBCBCBCB36363636700000AA +S2140230A0000000000070CFCBCB36367070704848F8 +S2140230B0487015154870000000000070707070703F +S2140230C0707070707070707070484836545469151D +S2140230D0CBCA736315484848484848707070707089 +S2140230E070707070700000000000000000000000A9 +S2140230F000000000000000000000000000000000C9 +S2140231000000000000000000707070707070701F89 +S2140231101F361F2D81974F3636364FCDCDCF69CF0E +S214023120CD4F4F4FCD595912595959595912125913 +S214023130595954545454545454545454545454543E +S2140231405454CDCDCDCDCDCFCFCF4F4F36363636EC +S214023150363636363636000000000000000036CB23 +S214023160CB36364848707048484870FD48480000DC +S2140231700000000070707070707070707070707008 +S2140231807070484836CFCBCB156373CA481548488B +S21402319048707070707070707070707070000000A0 +S2140231A00000000000000000000000000000000018 +S2140231B00000000000000000000000000000000008 +S2140231C00070707070707070701F1FCF7322691F4E +S2140231D0363636364FCF69CD0C4ECF3636CF5459AB +S2140231E0595959545954545454545454544E54548A +S2140231F054545454545454543BCDCD3B3B3B4F4F04 +S2140232004F4F4F3636363636363636363636700008 +S2140232100000000000000036CB36364848484848D2 +S214023220484848484A48480000000000007070704D +S21402323070707070707070707070704848CBCBCBC6 +S214023240EC1C1CFD481548487070707070707070E9 +S21402325070707000700000000000000000000000A7 +S2140232600000000000000000000000000000000057 +S21402327000000000000000000000707070707070A7 +S2140232807070701F91ED9170701F363636CFCD0C70 +S2140232900C2B2BCDCF4FCFCD54545454545454549E +S2140232A054545454545454545454545454CD543B77 +S2140232B0A9A9A94F1FA91F1F1F701F1F1F1F1F3657 +S2140232C01F1F3636361F7000000000000000007018 +S2140232D036363648484870484848487048FD484898 +S2140232E000000000000048704870707070707070C7 +S2140232F0707070484848CBCB4A1C6315484848480B +S2140233007070707070707070000000000070007056 +S21402331000000000000000000000000000000000A6 +S2140233200000000000000000000000000000000096 +S21402333000000070707070707070707069FF1C36DC +S214023340707070363636CDCD0CAB6E1ECF36364F1D +S214023350CF545454545454545454545454545454AB +S2140233603B3B3B3B3B3B3BA91F1F1F707070707083 +S21402337070707070701F1F707070707070707070E8 +S21402338000000000000000007070363670484848A2 +S2140233907070484870FD154870000000000000700C +S2140233A07070707070707070707070484848CB485B +S2140233B04A1C074848484870700000000070000029 +S2140233C00000000000700000000000000000000086 +S2140233D000000000000000000000000000000000E6 +S2140233E00000000000000000000000007070707016 +S2140233F07070707070CAFF4A70707070363636CF52 +S214023400CDE96E0E0CCF3636364F545454CDCD3BE6 +S214023410CDCDCDCD3BCD543B3B3B3B3B3B3B3B1F1E +S2140234201F70707070707070007000000000707016 +S2140234307070707070707000000000000000000075 +S2140234400070704848484870484848484800FD4858 +S214023450480000000000007070707070700070709D +S21402346070707048484848484A634A4848487070EE +S21402347070000000707000007000000000707000A5 +S2140234800000000000000000000000000000000035 +S2140234900000000000000000000000000000000025 +S2140234A0000000000070707070707070703663916B +S2140234B03670707070703636CF0C67B5ABCDCD36C1 +S2140234C036364F3BCD3B3B3B3B3B3B3B3B3B3B4F95 +S2140234D04FA91F1FA9A91F707070707070707000BE +S2140234E00000000000000000007070000000700085 +S2140234F0000000000000000000007070704870704D +S214023500707048704870704A48480000000000001A +S2140235100070700000000000007070704848484854 +S2140235204A63FD4848487070707000000000000052 +S2140235300000000000007070700000000000000034 +S2140235400000000000000000000000000000000074 +S2140235500000000000000000000000000000707084 +S214023560707070700070EC63EC7070707070703613 +S214023570364F4E6E870C69CF36701F4F3B3B3B3B38 +S214023580080808A91FA9A9707070701F1F707070B4 +S2140235907070700070000000000000000000000064 +S2140235A00000000000000000000000000000000014 +S2140235B000000070707070707070707070700048EC +S2140235C0FD707000000000000000700000000000A7 +S2140235D000007070484848484AFA15484848700043 +S2140235E00070000000000000000000000000707084 +S2140235F0367000000000000000000000000000001E +S21402360000000000000000000000000000000000B3 +S2140236100000000000000070707070000000704A29 +S214023620FA360000000070707036362A6E1E4F4F53 +S214023630367070701F4F4F1F1FA91F1F70007070CB +S21402364070707070707070707070700000000000A3 +S21402365000000000000000000070000000000000F3 +S2140236600000000000000000000000000070707003 +S2140236707070707070707000151570000000000099 +S2140236800000000000000000000070704848484833 +S2140236904A4A154848487000000000000000000032 +S2140236A00000000000007070364F7000000000003E +S2140236B00000000000000000000000000000000003 +S2140236C000000000000000000000000000000000F3 +S2140236D070700000000000704A4A7000000000701F +S2140236E07070363667AB4F4F3636707070701F1F6D +S2140236F070707000007070707070707070707070A3 +S21402370070707070000000000000000000000000F2 +S2140237100000700000000000000000000000000032 +S2140237200000000000000070707000000000000042 +S21402373000154870000000000000000000000000B5 +S2140237400000007048484848FD4A48484870000053 +S21402375000000000000000000000000000000070F2 +S214023760703B360000000000000000000000000071 +S2140237700000000000000000000000000000000042 +S2140237800000000000000000007070000000000052 +S214023790704A157000000000007070704F4E36368A +S2140237A036367070707070707070707070000000D6 +S2140237B000707070707070707070700000000000A2 +S2140237C000000000000000000000000000000000F2 +S2140237D000000000000000000000000000000000E2 +S2140237E000000000000000000000150000000000BD +S2140237F0000000000000000000000070704848480A +S214023800FDFD48484870000000000000000000006F +S2140238100000000000000070704F3B7000000000C7 +S2140238200000000000000000000000000000000091 +S2140238300000000000000000000000000000000081 +S214023840000000000000000000484ACB0000000014 +S21402385000007070707070361F70707070707070CC +S2140238607070707070700000000000000000007041 +S2140238700000000000000000000000000000000041 +S2140238800000000000000000000000000000000031 +S2140238900000000000000000000000000000000021 +S2140238A00000704800000000000000000000000059 +S2140238B00000000070484848FDFD48484870000077 +S2140238C000000000000000000000000000000000F1 +S2140238D0701F4F367000000000000000000000005D +S2140238E000000000000000000000000000000000D1 +S2140238F000000000000000000000000000000000C1 +S214023900000048FD48000000000000007070707063 +S21402391070707070700000707070707070707000F0 +S2140239200000000000000000000000000000000090 +S2140239300000000000000000000000000000000080 +S2140239400000000000000000000000000000000070 +S2140239500000000000000000000000000000000060 +S21402396000000000000000000000000070704848E0 +S2140239701515484870000000000000000000000016 +S214023980000000000000000000704F4F70000000B2 +S2140239900000000000000000000000000000000020 +S2140239A00000000000000000000000000000000010 +S2140239B00000000000000000000000484848000028 +S2140239C00000000000000070707070707000000050 +S2140239D00070707070000000000000000000000020 +S2140239E000000000000000000000000000000000D0 +S2140239F000000000000000000000000000000000C0 +S214023A0000000000000000000000000000000000AF +S214023A10000000000000000000000000000000009F +S214023A200000000000704848151548487000000065 +S214023A30000000000000000000000000000000007F +S214023A4000001F4F1F0000000000000000000000E2 +S214023A50000000000000000000000000000000005F +S214023A60000000000000000000000000000000004F +S214023A700000007048484870000000000000000087 +S214023A8000000070000000000000007070000000DF +S214023A90000000000000000000000000000000001F +S214023AA0000000000000000000000000000000000F +S214023AB000000000000000000000000000000000FF +S214023AC000000000000000000000000000000000EF +S214023AD00000000000000000000000000000704827 +S214023AE015154848700000000000000000000000A5 +S214023AF00000000000000000000070363670000073 +S214023B0000000000000000000000000000000000AE +S214023B10000000000000000000000000000000009E +S214023B200000000000000000000000007048484846 +S214023B30000000000000000000000000000000007E +S214023B40000000000000000000000000000000006E +S214023B50000000000000000000000000000000005E +S214023B60000000000000000000000000000000004E +S214023B70000000000000000000000000000000003E +S214023B80000000000000000000000000000000002E +S214023B900000000000000070481548707000000029 +S214023BA0000000000000000000000000000000000E +S214023BB000000070367000000000000000000000E8 +S214023BC000000000000000000000000000000000EE +S214023BD000000000000000000000000000000000DE +S214023BE048656C6C6F20576F726C64006C765F640D +S214023BF0656275675F636865636B5F737472000006 +S214023C00303132333435363738394142434445460B +S214023C10000000006C765F64656275675F6C6F67B4 +S214023C205F6572726F7200002E2E2F74686972645E +S214023C3070617274792F6C76676C2F7372632F6C57 +S214023C40765F636F72652F6C765F64656275672E4A +S214023C50630000006C765F64656275675F63686523 +S214023C60636B5F7374723A2061206E6F6E2D4153E0 +S214023C7043494920636861722068617320726570E7 +S214023C806561746564206D6F7265207468616E206C +S214023C904C565F44454255475F5354525F4D415818 +S214023CA05F5245504541542074696D657329000082 +S214023CB06C765F64656275675F636865636B5F7386 +S214023CC074723A20696E76616C6964206368617208 +S214023CD020696E2074686520737472696E67202886 +S214023CE03C2031302076616C756529006C765F6405 +S214023CF0656275675F636865636B5F7374723A20AB +S214023D00737472696E67206973206C6F6E67657272 +S214023D10207468616E204C565F44454255475F5397 +S214023D2054525F4D41585F4C454E47544800000080 +S214023D306C765F646973705F6765745F7363725FE6 +S214023D40616374006C765F646973705F6765745F45 +S214023D506C617965725F746F700000006C765F64E8 +S214023D606973705F6765745F6C617965725F73799A +S214023D70730000006C765F646973705F61737369C9 +S214023D80676E5F73637265656E0000006C765F64D3 +S214023D906973705F6765745F696E6163746976657F +S214023DA05F74696D650000006C765F646973705FAE +S214023DB0747269675F61637469766974790000007A +S214023DC05F6C765F646973705F6765745F72656661 +S214023DD0725F7461736B00002E2E2F7468697264B2 +S214023DE070617274792F6C76676C2F7372632F6CA6 +S214023DF0765F636F72652F6C765F646973702E638D +S214023E00000000006C765F7363725F6163743A2031 +S214023E106E6F20646973706C61792072656769736E +S214023E20746572656420746F2067657420697473A4 +S214023E30206163742E2073637265656E0000000055 +S214023E406C765F6C617965725F746F703A206E6F24 +S214023E5020646973706C6179207265676973746532 +S214023E6072656420746F20676574206974732074A9 +S214023E706F70206C61796572000000006C765F6C72 +S214023E80617965725F7379733A206E6F2064697325 +S214023E90706C6179207265676973746572656420F7 +S214023EA0746F2067657420697473207379732E208B +S214023EB06C617965720000006C765F646973705F8E +S214023EC061737369676E5F73637265656E3A2074B9 +S214023ED0727920746F2061737369676E2061206E39 +S214023EE06F6E2D73637265656E206F626A656374AA +S214023EF0000000006C765F646973705F6765745FCC +S214023F00696E6163746976655F74696D653A206E81 +S214023F106F20646973706C61792072656769737467 +S214023F2065726564000000006C765F646973705F9A +S214023F30747269675F61637469766974793A206E30 +S214023F406F20646973706C61792072656769737437 +S214023F5065726564000000006C765F646973705F6A +S214023F606765745F726566725F7461736B3A206E22 +S214023F706F20646973706C61792072656769737407 +S214023F8065726564000000006C765F67726F75701C +S214023F905F637265617465006C765F67726F7570D9 +S214023FA05F6164645F6F626A000000002E2E2F74E9 +S214023FB06869726470617274792F6C76676C2F739D +S214023FC072632F6C765F636F72652F6C765F6772B3 +S214023FD06F75702E630000004F7574206F66206D3B +S214023FE0656D6F72790000006C765F67726F757030 +S214023FF05F6164645F6F626A3A20746865206F620C +S2140240006A65637420697320616C726561647920E5 +S214024010616464656420746F2074686973206772D3 +S2140240206F7570006C765F67726F75705F6164643F +S2140240305F6F626A3A2061737369676E206F626AA5 +S21402404065637420746F20616E206F7468657220D9 +S21402405067726F75700000006C765F696E69740037 +S2140240606C765F6465696E69740000006C765F6FDB +S214024070626A5F64656C5F6173796E63000000005C +S2140240806C765F6F626A5F7365745F6175746F5F8B +S2140240907265616C69676E006C765F6F626A5F73E9 +S2140240A065745F6578745F636C69636B5F61726584 +S2140240B0610000006C765F6F626A5F7365745F61B1 +S2140240C064765F6869747465737400006C765F6FFB +S2140240D0626A5F7365745F636C69636B00000000FD +S2140240E06C765F6F626A5F7365745F746F700000F0 +S2140240F06C765F6F626A5F7365745F647261670095 +S2140241006C765F6F626A5F7365745F647261675F25 +S214024110646972006C765F6F626A5F7365745F646F +S2140241207261675F7468726F770000006C765F6F0B +S214024130626A5F7365745F647261675F70617265FD +S2140241406E7400006C765F6F626A5F7365745F7090 +S2140241506172656E745F6576656E74006C765F6F0D +S214024160626A5F6164645F70726F74656374000094 +S2140241706C765F6F626A5F636C6561725F70726FA6 +S21402418074656374000000006C765F6F626A5F732A +S21402419065745F6576656E745F6362006C765F65F4 +S2140241A076656E745F73656E645F66756E63000037 +S2140241B06C765F6576656E745F73656E640000008C +S2140241C06C765F6F626A5F7365745F7369676E6150 +S2140241D06C5F6362000000006C765F6F626A5F73FA +S2140241E065745F64657369676E5F636200000000F2 +S2140241F06C765F6F626A5F616C6C6F636174655F39 +S2140242006578745F61747472000000006C765F6F8C +S214024210626A5F726566726573685F6578745F640A +S2140242207261775F706164006C765F6F626A5F6767 +S21402423065745F706172656E740000006C765F6F05 +S214024240626A5F6765745F73637265656E0000001D +S2140242506C765F6F626A5F6765745F64697370002D +S2140242606C765F6F626A5F6765745F6368696C64C9 +S214024270000000006C765F6F626A5F7365745F624F +S2140242806173655F646972006C765F6F626A5F670E +S21402429065745F6368696C645F6261636B000000EB +S2140242A06C765F6F626A5F636F756E745F63686970 +S2140242B06C6472656E0000006C765F6F626A5F63A4 +S2140242C06F756E745F6368696C6472656E5F726543 +S2140242D063757273697665006C765F6F626A5F6794 +S2140242E065745F636F6F7264730000006C765F6F55 +S2140242F0626A5F6765745F78000000006C765F6FC5 +S214024300626A5F6765745F79000000006C765F6FB3 +S214024310626A5F6765745F776964746800000000AC +S2140243206C765F6F626A5F6765745F686569676807 +S214024330740000006C765F6F626A5F6765745F6127 +S21402434075746F5F7265616C69676E006C765F6F1D +S214024350626A5F6765745F6578745F636C69636BD6 +S2140243605F7061645F6C6566740000006C765F6FF8 +S214024370626A5F6765745F6578745F636C69636BB6 +S2140243805F7061645F726967687400006C765F6F65 +S214024390626A5F6765745F6578745F636C69636B96 +S2140243A05F7061645F746F70000000006C765F6F10 +S2140243B0626A5F6765745F6578745F636C69636B76 +S2140243C05F7061645F626F74746F6D006C765F6FAE +S2140243D0626A5F6765745F6578745F647261775F4F +S2140243E0706164006C765F6F626A5F636C65616EB3 +S2140243F05F7374796C655F6C697374006C765F6F5B +S214024400626A5F6765745F6C6F63616C5F73747911 +S2140244106C6500006C765F6F626A5F72656D6F76C0 +S214024420655F7374796C655F6C6F63616C5F7072E5 +S2140244306F7000006C765F6F626A5F6765745F68B4 +S214024440696464656E0000006C765F6F626A5F691D +S2140244506E76616C69646174655F617265610000A5 +S2140244606C765F6F626A5F696E76616C69646174AE +S214024470650000006C765F6F626A5F6D6F76655FDF +S214024480666F726567726F756E6400006C765F6F3A +S214024490626A5F6D6F76655F6261636B67726F7586 +S2140244A06E6400006C765F6F626A5F7365745F703D +S2140244B06F7300006C765F6F626A5F7365745F7815 +S2140244C0000000006C765F6F626A5F7365745F79E6 +S2140244D0000000006C765F6F626A5F616C69676EEF +S2140244E0000000006C765F6F626A5F616C69676EDF +S2140244F05F6F7269676F00006C765F6F626A5F72E9 +S21402450065616C69676E00006C765F6F626A5F72E7 +S2140245106566726573685F7374796C650000000087 +S2140245206C765F6F626A5F6164645F7374796C65F0 +S214024530000000006C765F6F626A5F7365745F6886 +S214024540696464656E0000006C765F6F626A5F671E +S21402455065745F6164765F6869747465737400007D +S2140245606C765F6F626A5F6765745F636C69636BC4 +S214024570000000006C765F6F626A5F6765745F7446 +S2140245806F7000006C765F6F626A5F6765745F6467 +S214024590726167006C765F6F626A5F6765745F64FC +S2140245A07261675F646972006C765F6F626A5F67EA +S2140245B065745F647261675F7468726F770000008B +S2140245C06C765F6F626A5F6765745F706172656E54 +S2140245D0745F6576656E74006C765F6F626A5F679D +S2140245E065745F626173655F646972006C765F6FA3 +S2140245F0626A5F6372656174650000006C765F6F65 +S214024600626A5F7365745F706172656E7400000043 +S2140246106C765F6F626A5F7365745F73697A650052 +S2140246206C765F6F626A5F7365745F7769647468DD +S214024630000000006C765F6F626A5F7365745F6885 +S21402464065696768740000006C765F6F626A5F6710 +S21402465065745F70726F7465637400006C765F6F6A +S214024660626A5F69735F70726F7465637465640013 +S2140246706C765F6F626A5F6765745F737461746598 +S214024680000000006C765F6F626A5F6765745F7732 +S214024690696474685F666974000000006C765F6F18 +S2140246A0626A5F6765745F6865696768745F666992 +S2140246B0740000006C765F6F626A5F6765745F699C +S2140246C06E6E65725F636F6F72647300FFFF000049 +S2140246D06C765F6F626A5F7365745F73746174652C +S2140246E0000000007472616E735F637265617465C8 +S2140246F0000000006C765F6F626A5F6164645F73DD +S21402470074617465000000006C765F6F626A5F63B6 +S2140247106C6561725F737461746500006C765F6FBE +S214024720626A5F6765745F7369676E616C5F636216 +S214024730000000006C765F6F626A5F6765745F6494 +S214024740657369676E5F6362000000006C765F6F78 +S214024750626A5F6765745F6576656E745F63620042 +S2140247606C765F6F626A5F6765745F6578745F61B7 +S214024770747472006C765F6F626A5F6765745F74EA +S214024780797065006C765F6F626A5F6765745F67F3 +S214024790726F7570000000006C765F6F626A5F640D +S2140247A0656C00006C765F6F626A5F64656C5F6161 +S2140247B073796E635F6362006C765F6F626A5F63D3 +S2140247C06C65616E000000006C765F6F626A5F69FE +S2140247D0735F666F63757365640000002E2E2F7418 +S2140247E06869726470617274792F6C76676C2F7365 +S2140247F072632F6C765F636F72652F6C765F6F6283 +S2140248006A2E63006C765F696E69743A20616C7218 +S2140248106561647920696E69746564006C765F69A7 +S2140248206E69742072656164790000006C765F645C +S21402483065696E697420646F6E6500004E554C4C57 +S21402484020706F696E746572000000006C765F738C +S21402485063725F6765745F646973703A207363722C +S21402486065656E206E6F7420666F756E640000005C +S2140248706C765F6F626A5F7365745F626173655FB1 +S2140248806469723A20696E76616C6964206261734B +S21402489065206469720000006C765F6F626A5F630F +S2140248A06C65616E5F7374796C655F6C6973743A7C +S2140248B02063616E27742066696E64207374796C57 +S2140248C06520776974682060706172746000000009 +S2140248D06C765F6F626A5F7365745F706F733A209F +S2140248E06E6F74206368616E67696E6720706F739F +S2140248F06974696F6E206F662073637265656E20D9 +S2140249006F626A65637400006C765F6F626A5F61ED +S21402491064645F7374796C653A2063616E277420F1 +S21402492066696E64207374796C6520776974682092 +S21402493060747970656000006C765F6F626A5F63B0 +S21402494072656174653A206E6F7420646973706C68 +S2140249506179206372656174656420746F20736F79 +S214024960206661722E204E6F20706C616365207423 +S2140249706F2061737369676E20746865206E657751 +S2140249802073637265656E004F626A6563742063A6 +S21402499072656174652072656164790043616E2791 +S2140249A074207365742074686520706172656E7415 +S2140249B0206F6620612073637265656E00000000DA +S2140249C043616E27742073657420706172656E741D +S2140249D0203D3D204E554C4C20746F20616E206F5A +S2140249E0626A6563740000006C765F6F626A00003C +S2140249F06C765F726566725F6172656100000000C8 +S214024A002E2E2F746869726470617274792F6C76B8 +S214024A10676C2F7372632F6C765F636F72652F6C91 +S214024A20765F726566722E630000000043616E2731 +S214024A3074207365742056444220686569676874FA +S214024A40207573696E672074686520726F756E6470 +S214024A502066756E6374696F6E2E202857726F6EAD +S214024A606720726F756E645F6362206F7220746F68 +S214024A7020736D616C6C2056444229005F6C765F31 +S214024A807374796C655F6C6973745F72656D6F764B +S214024A90655F7374796C65005F6C765F7374796CAE +S214024AA0655F6C6973745F6164645F7374796C6567 +S214024AB0000000006765745F616C6C6F635F6C6F0B +S214024AC063616C5F7374796C650000005F6C765F7F +S214024AD07374796C655F7365745F696E7400000049 +S214024AE05F6C765F7374796C655F7365745F636F12 +S214024AF06C6F72005F6C765F7374796C655F73655A +S214024B00745F6F70610000005F6C765F7374796C1F +S214024B10655F7365745F7074720000005F6C765F29 +S214024B207374796C655F6C6973745F6164645F74D7 +S214024B3072616E735F7374796C6500002E2E2F742B +S214024B406869726470617274792F6C76676C2F7301 +S214024B5072632F6C765F636F72652F6C765F737409 +S214024B60796C652E630000006C765F7374796C65F1 +S214024B705F6C6973745F72656D6F76655F73747967 +S214024B806C653A20636F756C646E2774207265617B +S214024B906C6C6F6361746520636C617373206C69FF +S214024BA0737400006C765F7374796C655F6C6973FE +S214024BB0745F6164645F7374796C653A20636F75C1 +S214024BC06C646E2774206164642074686520636C6C +S214024BD0617373006765745F6C6F63616C5F737497 +S214024BE0796C653A20636F756C646E277420637205 +S214024BF065617465206C6F63616C207374796C6593 +S214024C00000000006C765F7374796C655F6C697384 +S214024C10745F6164645F7472616E735F7374796CDF +S214024C20653A20636F756C646E27742063726561E3 +S214024C307465207472616E736974696F6E20737422 +S214024C40796C650066696C6C5F626C656E6465643F +S214024C50000000006D61705F626C656E64656400E2 +S214024C602E2E2F746869726470617274792F6C7656 +S214024C70676C2F7372632F6C765F647261772F6C2A +S214024C80765F647261775F626C656E642E630000A5 +S214024C9066696C6C5F626C656E6465643A20756EFC +S214024CA0737570706F7274656420626C656E6420D2 +S214024CB06D6F646500000000FFFF00006C765F64A5 +S214024CC07261775F696D67006C765F696D675F64B6 +S214024CD07261775F636F7265000000002E2E2F747C +S214024CE06869726470617274792F6C76676C2F7360 +S214024CF072632F6C765F647261772F6C765F647274 +S214024D0061775F696D672E6300000000496D616719 +S214024D106520647261773A20737263206973204E4D +S214024D20554C4C004E6F0A6461746100496D6167B0 +S214024D30652064726177206572726F7200000000EF +S214024D40496D61676520647261772063616E2774BE +S214024D50207265616420746865206C696E65000067 +S214024D6000FF00000055AAFF001122334455667763 +S214024D708899AABBCCDDEEFF0001020304050607F4 +S214024D8008090A0B0C0D0E0F101112131415161724 +S214024D9018191A1B1C1D1E1F202122232425262714 +S214024DA028292A2B2C2D2E2F303132333435363704 +S214024DB038393A3B3C3D3E3F4041424344454647F4 +S214024DC048494A4B4C4D4E4F5051525354555657E4 +S214024DD058595A5B5C5D5E5F6061626364656667D4 +S214024DE068696A6B6C6D6E6F7071727374757677C4 +S214024DF078797A7B7C7D7E7F8081828384858687B4 +S214024E0088898A8B8C8D8E8F9091929394959697A3 +S214024E1098999A9B9C9D9E9FA0A1A2A3A4A5A6A793 +S214024E20A8A9AAABACADAEAFB0B1B2B3B4B5B6B783 +S214024E30B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C773 +S214024E40C8C9CACBCCCDCECFD0D1D2D3D4D5D6D763 +S214024E50D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E753 +S214024E60E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F743 +S214024E70F8F9FAFBFCFDFEFF6C765F647261775F01 +S214024E806C65747465720000647261775F6C657439 +S214024E907465725F73756270780000006472617781 +S214024EA05F6C65747465725F6E6F726D616C000024 +S214024EB00024496D92B6DBFF2E2E2F746869726449 +S214024EC070617274792F6C76676C2F7372632F6CB5 +S214024ED0765F647261772F6C765F647261775F6C5F +S214024EE06162656C2E6300006C765F647261775F48 +S214024EF06C65747465723A20666F6E7420697320EE +S214024F004E554C4C000000006C765F647261775F11 +S214024F106C65747465723A20676C79706820647385 +S214024F20632E206E6F7420666F756E64000000003C +S214024F306C765F647261775F6C65747465723A2032 +S214024F406368617261637465722773206269746D47 +S214024F506170206E6F7420666F756E6400000000CC +S214024F606C765F647261775F6C65747465723A2002 +S214024F70696E76616C696420627070206E6F742050 +S214024F80666F756E640000006C765F647261775FB0 +S214024F906C65747465723A20696E76616C69642019 +S214024FA06270700080808081818282838485868799 +S214024FB0898A8C8D8F91939597999B9EA0A2A5A77F +S214024FC0AAADAFB2B50000006C765F647261775F1F +S214024FD06D61736B5F616464000000006C765F64F1 +S214024FE07261775F6D61736B5F616E676C655F6937 +S214024FF06E6974002E2E2F74686972647061727402 +S214025000792F6C76676C2F7372632F6C765F64727F +S21402501061772F6C765F647261775F6D61736B2E5A +S214025020630000006C765F6D61736B5F6164643A67 +S214025030206E6F20706C61636520746F20616464FB +S21402504020746865206D61736B000000556E65788C +S2140250507065637465642073746172745F616E67F1 +S2140250606C650000556E65787065637465642065CE +S2140250706E645F616E676C6500000000FFFF0000F3 +S214025080647261775F7061747465726E000000000E +S2140250902E2E2F746869726470617274792F6C7622 +S2140250A0676C2F7372632F6C765F647261772F6CF6 +S2140250B0765F647261775F726563742E63000000C8 +S2140250C0647261775F696D673A2063616E27742048 +S2140250D067657420696D61676520696E666F00009A +S2140250E06C765F696D675F64657369676E3A20699F +S2140250F06D61676520736F7572636520747970657C +S21402510020697320756E6B6E6F776E000011223306 +S214025110445566778899AABBCCDDEEFF6C765F694C +S2140251206D675F6275665F7365745F70616C6574E8 +S214025130746500005F6C765F696D675F63616368C4 +S214025140655F6F70656E00006C765F696D675F63A2 +S214025150616368655F7365745F73697A65000000F2 +S2140251602E2E2F746869726470617274792F6C7651 +S214025170676C2F7372632F6C765F647261772F6C25 +S214025180765F696D675F63616368652E6300000022 +S2140251906C765F696D675F63616368655F6F706594 +S2140251A06E3A207468652063616368652073697A65 +S2140251B06520697320300000696D6167652064723E +S2140251C061773A206361636865206D6973732C208A +S2140251D0636C6F736520616E6420726575736520FB +S2140251E0616E20656E74727900000000696D6167F9 +S2140251F06520647261773A206361636865206D6931 +S21402520073732C2063616368656420746F20616E1B +S21402521020656D70747920656E74727900000000E6 +S214025220496D61676520647261772063616E6E6F97 +S21402523074206F70656E2074686520696D6167659D +S214025240207265736F757263650000006C765F6925 +S2140252506D675F6465636F6465725F6275696C74BF +S2140252605F696E5F696E666F000000006C765F694C +S2140252706D675F6465636F6465725F6275696C749F +S2140252805F696E5F6F70656E000000006C765F6926 +S2140252906D675F6465636F6465725F6275696C747F +S2140252A05F696E5F6C696E655F747275655F636F6A +S2140252B06C6F720000112233445566778899AABB38 +S2140252C0CCDDEEFF6C765F696D675F6465636F6465 +S2140252D065725F6275696C745F696E5F7265616440 +S2140252E05F6C696E650000006C765F696D675F646F +S2140252F065636F6465725F63726561746500000062 +S2140253005F6C765F696D675F6465636F6465725F25 +S214025310696E6974000000002E2E2F74686972642C +S21402532070617274792F6C76676C2F7372632F6C50 +S214025330765F647261772F6C765F696D675F64650E +S214025340636F6465722E6300496D616765206765E9 +S2140253507420696E666F20676574207265616420CA +S21402536066696C652068656164657200496D61678F +S214025370652067657420696E666F20666F756E6459 +S21402538020756E6B6E6F776E207372632074797001 +S2140253906500000062696E004275696C742D696E64 +S2140253A020696D616765206465636F64657220635A +S2140253B0616E2774206F70656E207468652066695A +S2140253C06C650000696D675F6465636F6465725F34 +S2140253D06275696C745F696E5F6F70656E3A206F96 +S2140253E07574206F66206D656D6F7279000000001F +S2140253F0496D616765206465636F646572206F70CE +S214025400656E3A20756E6B6E6F776E20636F6C6F8B +S2140254107220666F726D6174000000004275696CDE +S214025420742D696E20696D616765206465636F64BB +S2140254306572207365656B206661696C6564000041 +S2140254404275696C742D696E20696D6167652064AA +S21402545065636F6465722072656164206661696C5B +S214025460656400004275696C742D696E20696D6111 +S2140254706765206465636F64657220726561642087 +S2140254806E6F7420737570706F72747320746865B3 +S21402549020636F6C6F7220666F726D61740000001D +S2140254A06C765F696D675F6465636F6465725F697A +S2140254B06E69743A206F7574206F66206D656D6F25 +S2140254C0727900006C765F666F6E745F6765745FF4 +S2140254D06269746D61705F666D745F7478740000E3 +S2140254E02E2E2F746869726470617274792F6C76CE +S2140254F0676C2F7372632F6C765F666F6E742F6C99 +S214025500765F666F6E745F666D745F7478742E6312 +S214025510000000002455020070610200D460020000 +S2140255203D31000000010000000000000001000004 +S214025530030000000002000000000000000000005F +S2140255400000000000000100000000000000000053 +S2140255500000000000010C0007FA00000000F2F153 +S214025560020C0604F6020D010B0308000000000000 +S2140255700000000000000F02FE0000000000000015 +S21402558000000000000500F80000000000FB040513 +S2140255900000FD00FE0300FD00FDFFFB0000000012 +S2140255A0FD0000FDFC0000FD00FB00000000000006 +S2140255B0000000FDFD00FC00F900E10000FB000514 +S2140255C0080000FB03030805FC050000F1000000CC +S2140255D00000000000000000F700000000000000CD +S2140255E000000000000000F9FDF300F6FE000000D7 +S2140255F000010A00F8FEFF0100FC0000FEED0000BC +S214025600000000000000000000ECFE0A000000009F +S2140256100000000000000000F6000000000000008D +S2140256200000000800030000FB000000000000006D +S214025630000000000000000000000A020100000056 +S2140256400000000000000000000000000000000053 +S2140256500000000000000000000000000000000043 +S21402566000000000F700000000000000000000003C +S214025670000000000000000000000002050308FD14 +S214025680000005FDF8DD02070501FD00090008001F +S2140256900800E800FD080008FD0503000001FD0003 +S2140256A000FC1400140008000B030408000000F7B6 +S2140256B00000000001FE0002FBFDFB0200FD0000F0 +S2140256C000F60000000000000000000000EF0000EE +S2140256D00000000000000000000000000001F200D0 +S2140256E0F000000000FE0019FDFD0303FE00FD03AE +S2140256F00000F20000000000000000000000E700CA +S21402570003000000000000000000000000F0000F90 +S2140257100000F7000800EFE7EFFB080000EF0003C9 +S214025720FA00FC0000000000000000000000000775 +S21402573008E10000000000000000000000000C006D +S2140257400200000000000202FDFB00FFFFFD000059 +S214025750FE000000FB00FE00FAFB00FAF8F8FB0071 +S214025760FB00FB00000000FE0000030002FD00013B +S21402577000000003FE000000FE0303FF000000FB23 +S21402578000FF0000000000010003FE00FD00FC0018 +S21402579000FE00080000FD0000000000FF01FEFE03 +S2140257A00000FD00FD000000000000000000FFFFFA +S2140257B000FDFD0000000000010000FE00FDFDFDF2 +S2140257C0000000000000000000FE00000000FEFDD9 +S2140257D000FC00F8FEF8050000FB03050700FAFFD0 +S2140257E0FD00FFF403FE02F203000001F300F2FEE6 +S2140257F0EAFE00F30005070003000000000100FBBC +S214025800FD00F8000000FD000000FD0000000000A2 +S214025810FFFF00FFFD00000000000000FDFD00FE8F +S214025820FDFE0000FD000000000000000000000079 +S214025830FEFE00FD00FE00FB030000FD0103030068 +S2140258400000000000FE0000000000020000FD0054 +S214025850FDFEFD000000000000000200FE00000049 +S21402586000FDFC00FB0008FE01F8000007F3F3F55C +S214025870FB0300FEEFFB00FB00FB04FBF000F9005D +S2140258800001FF02FE000300F8F600F3FAFBFAF846 +S214025890FDF9FFFBF902000100FD00000002000313 +S2140258A00000000000000000000000FD00FF00FFF6 +S2140258B0FD00FCFAFAFF00F8000000000000FE00FF +S2140258C000000001FE0000000300000000000000CF +S2140258D0000C00000000000002000000FD000000B6 +S2140258E00000000000000000FB00030000000000B3 +S2140258F00000000000000000FE000000FB000000A8 +S21402590000F3F8000000FCF30000FD0300F90000BD +S2140259100000000000000000FC0000FB0000000089 +S21402592000000000000000000300FB00000000036F +S2140259300002FBFB00FDFDFD000000000000F80079 +S214025940FD00FCFD00FAFAF8FE00FB00F80000007D +S21402595000140000010000FD000300F50000000036 +S21402596000E8FB0808FEF50003FC00F3FFFD03EE6B +S214025970FD030004F7FCF7F8F50000F1000F000045 +S214025980FF000000FFFFFDF9F8FFE800000000003E +S21402599000000000010000000000000000000000FF +S2140259A00000000000FD00FFFDFC0000FB00FD0003 +S2140259B00000000000000000000000000000FF00E1 +S2140259C0FB000005FF0300FA03FEFFF9FD00FDFDE4 +S2140259D0FE00FCFC0000FEFFFEFCFD0000FD0003D6 +S2140259E0FE00FA000000FB00FC00FCFC03000000C6 +S2140259F00000000000FB0300FC00FEFDF8FEFEFEB9 +S214025A00FFFEFDFF0000000000FDFEFE000000009D +S214025A1003FE00FE000000FEFDFEFEFDFE00020A82 +S214025A20FF00F900FE0500FDF5FD040000F4FC038E +S214025A30FC0200FEFEF800FC010000FC0000000371 +S214025A4003FBFB00FCFDFCFDFD00FC01FBFC08006B +S214025A50000000000000000003000000000000003C +S214025A60000000000000000000000000000000002F +S214025A70FC00000000000000000000000000000023 +S214025A80000000000000000000000000000000000F +S214025A90000000000000000000000000FE00000001 +S214025AA000000000000000000000000000000000EF +S214025AB000000000000000000000FEFD00000000E4 +S214025AC00000000000000000FC0000FD0000FDFDDC +S214025AD000000000FD00000000FF0000000000FEC5 +S214025AE000000000FC00FB000000F80002FA0501BE +S214025AF0FEF40000FAFD00F6FAF90000F5FDF6F6EF +S214025B00F400F9000211FD00FAFDFFFDFCF9FBF7B7 +S214025B10F6FAFD0000FE00010000EEFE0806FAF7A7 +S214025B200001F800F3FEFD05E8FD010000EFFDF3BD +S214025B30FDED0000EE000F0100FE00000000FFFE7B +S214025B40F6FE00EF00000000F800FE00FFF9F40089 +S214025B5000FFFCF8FD00FE00000000F4FDF8F8FE71 +S214025B60FCFAFDFC00FBFEF8FC00FDFBFDFB000161 +S214025B7000FEF8000500FB00000000030002FB0A1E +S214025B8000FDFDFD000000000000F800FD00FCFD29 +S214025B9000FAFAF8FE00FB020A00000000140000F9 +S214025BA0010000FD00030000000000000000FF00EE +S214025BB000000000FEFB0000000000FF000000FDE9 +S214025BC0FD0000FBFD0000FB0004FF0000000000DB +S214025BD0000100000000040502FE00F8FC0008F8C0 +S214025BE0F8FBFB0A0503EAFE05FD00FD03FDF700D0 +S214025BF0FD03FDFEF8FE0000080500F900F2FD07B1 +S214025C00FDF601FDF8F8FD0A0300FC00F9000208A3 +S214025C10FAF7F6FA080001EDFE03FCFEFA00FAF7C0 +S214025C20FCFCFE0000FAFBFD000806FDF200F2FC9A +S214025C3000F7F1FFF8FCF8F9070000FD00FBFE0094 +S214025C40FDFB0004F8030000F200FDFAFCFEF8FA81 +S214025C50F8FA00F8FDFAFBF8FD0000010CFC00F86B +S214025C60FD00FDFBFAF9F9F6FDFB0500FC00F3FD6D +S214025C700205F8F7FBF808FD01E8FB05FAFCF70059 +S214025C80F8F5FDFDFEFDFBF8FF00000807FEEF003D +S214025C90F1FA06F6EFFBF7F5F3F80500000000FD53 +S214025CA0000003FD0502FB050000F8FF00FF0001EF +S214025CB001FE000000000000FD00000000020801D6 +S214025CC000FD00000000FEFEFD00000001020000D4 +S214025CD000000200FE000A00050101FD00050000AA +S214025CE0000200000000000000000000000800079C +S214025CF00000000000000000000000000000F100AC +S214025D00FD04000800001903FBFB0303FE01F30079 +S214025D10000CF10000000000000000000000EF0A86 +S214025D2024000000000000000000000000F1000057 +S214025D30000000000000000000000000000000005C +S214025D400000000000000000FC0000FBFE00000057 +S214025D50000000000000000000000000000000003C +S214025D60FE00F900000100000321FBFE0807F9030C +S214025D7000000303FD000000000000000000000019 +S214025D80DF07000000000000000000000000000026 +S214025D90000000F9000000F900000000FAFF000011 +S214025DA000FA00FD00F40000000000000000000001 +S214025DB000EF0000000001000000000000FD0000EF +S214025DC0FB00FC00F9000000FC03FD0000F9FDFAF0 +S214025DD00000F900FD00F400FD0000EBFBF6FDF705 +S214025DE00000EF00F9FF0000000000000000FCFBCE +S214025DF0FEFC00000000FA00FA03FD0500FEFAFEB3 +S214025E00FCFB00FDFFFE02F9FF000000E9FEFC00BD +S214025E10FA00FEF4FE0000FEFE000000000200FE95 +S214025E20FCFE04000000000000000000000000006D +S214025E30000000000000000000000000000000005B +S214025E400000000000000000000000000000030048 +S214025E500000000000FA00FE000000FB0300000045 +S214025E60F9FDFB0000F900FD00F400000000E70069 +S214025E70FBF7F30000EF00FEFC000000000000004D +S214025E8000FDFCFFFC01000004FD00080DFDFDF80E +S214025E90030D0406F9030B030706070000000000C3 +S214025EA0000000000000100CFBFD00FE140B1400A6 +S214025EB00000030000090000FC00000000000000D3 +S214025EC00000FE00000000000000000400000000C9 +S214025ED0EAFDFEF6F30000EF0000000000000000FE +S214025EE0000000000000000000FC000000000000AF +S214025EF0000000FE00000000000000000400000099 +S214025F0000EAFDFEF6F30000F600000000000000C6 +S214025F10000000000000000000000000FE0000007C +S214025F20FA0300FD020503F800FFFE03000200006C +S214025F300000FA00FEFEFB00FEF60010FD00FAFE70 +S214025F4000FEFC00FDF9FBFD000000FC0000000066 +S214025F500000000000FE0000000000000000040038 +S214025F60000000EAFDFEF6F30000EF00000000006D +S214025F70000D00000000000000000000FC00F8FD1C +S214025F80FE08FEFDF601FE01FEF90106010201020F +S214025F90FAF6FD00F6FBF9F5F600FCFBFDFDFEFE4B +S214025FA0FDFE00FEFF040004FE00080000000000E4 +S214025FB000000000000000FEFDFD0000F900FF00EA +S214025FC0FC0000000000000000000000F1000000DD +S214025FD00000000000000000FDFD00FD00000000C3 +S214025FE0FE0000FCFD0300FCFBFE00F9FEFAFEFDCF +S214025FF000FC0000000000000000000000EF0008A7 +S2140260000000FB00000000FD00FD0000FF0000FE97 +S21402601000FA00000BFDF8F8020303FFF90204027F +S214026020080208FEF90000F60000F8F90000FB007E +S214026030FDFC00FC00FC00FE0400FEF8FD0900006A +S214026040FE00FB000003FA0003FD020000F800FE5B +S214026050FF00FD03FE000000F6FDFA00F80000F463 +S2140260600009FD00FB000200FD00FDF800FD030034 +S214026070000000FE000003FD010000FDFE00FD0022 +S2140260800000000000000000000000000000000009 +S214026090F000060000FE000000000100FDFD00000A +S2140260A0000500060000000000F0F1010B0804F6EF +S2140260B0020B0009000500000000000000000000BE +S2140260C0000E0000000000000000000000000000BB +S2140260D00000000000000102000304050206070893 +S2140260E0090A090A0B0C0D0E0F10110C12131415C7 +S2140260F01500000016171819171919191719191A61 +S2140261001919191917191719031B1C1D1D1E1F20F3 +S2140261102122230024002526272727002726282990 +S21402612026262A2A272A272A2B2C2D2E2E2F2E30B9 +S21402613000002309310900000000000000000000F2 +S2140261400000000000000000000000000000000048 +S2140261500000000000000000000000000000000038 +S2140261600000000000000000000000000000000028 +S214026170000001020003040502060708090A090ACC +S2140261800B0C000D0E0F101112130C14140000004D +S2140261901516171819161A1B1C1D1D1E1F201D1D4D +S2140261A01621222303241E2525262728292A2B00EA +S2140261B02C002D2E2F303132332D343435302D2D08 +S2140261C02E2E36373839333A3A3B3A3C2900000904 +S2140261D03D09000000000000000000000000000072 +S2140261E000000000000000000000000000000000A8 +S2140261F00000000000000000000000000000000098 +S2140262000000000000000000000000002000000067 +S2140262105F00010000000000000000000000000017 +S214026220B0000000F3F760003462020000000000D5 +S2140262303B0002000000721F51EF58EF5BEF5CEF6D +S2140262405DEF61EF63EF65EF69EF6CEF71EF76EF8D +S21402625077EF78EF8EEF98EF9BEF9CEF9DEFA1EF35 +S214026260A2EFA3EFA4EFB7EFB8EFBEEFC0EFC1EF18 +S214026270C4EFC7EFC8EFC9EFCBEFE3EFE5EF14F0DB +S21402628015F017F037F03AF043F06CF074F0ABF01C +S2140262903BF190F191F192F193F194F1D7F1E3F1A0 +S2140262A03DF254F2AAF412F7F2F7000000000000E2 +S2140262B0000000000000500400000000000050042F +S2140262C0030C010012004006050501071F00400BE3 +S2140262D00B0C00006100F0090A1000FEB100800DF0 +S2140262E00D0C0000FF00000B0B0D00FF47016003C2 +S2140262F0020501074C016005040F01FD6A017005E5 +S214026300040F00FD8801600607070005A101500979 +S21402631008080102C101A003030500FEC901200608 +S21402632006030003D201A00303030000D701A00561 +S2140263300810FFFE1702B00A0A0C00005302F0050E +S214026340050C000071023009090C0000A7022009A2 +S214026350090C0000DD02B00A0B0C00001F03300916 +S214026360090C00005503E0090A0C0000910390098D +S214026370090C0000C703500A0A0C00000304E009D7 +S2140263800A0C00003F04A003030900004D04A0030A +S214026390030C00FD5F045009080801027F0450093F +S2140263A0080601039704500908080102B7043009D9 +S2140263B0090C0000ED049010100F00FD6505B00BEF +S2140263C00D0CFF00B305200C0B0C0100F505900B1D +S2140263D00B0C00003706300D0C0C01007F06C00ABD +S2140263E0090C0100B506300A090C0100EB06600C28 +S2140263F00C0C00003307000D0B0C01007507F004AF +S214026400030C010087073008080CFF00B707800B53 +S2140264100B0C0100F9078009090C01002F08400F38 +S2140264200D0C01007D08000D0B0C0100BF08700D5D +S2140264300D0C00000D09900B0A0C01004909700DA5 +S2140264400E0F00FDB209A00B0A0C0100EE09F009BE +S2140264500A0C00002A0A60090A0C0000660AA00C50 +S2140264600B0C0100A80A600B0D0CFF00F60A0012C6 +S214026470120C0000620BC00A0B0C0000A40B600A90 +S2140264800C0CFF00EC0B800A0B0C00002E0C5005C7 +S214026490050F01FD540CA0050810FFFE940C5005D4 +S2140264A0040F00FDB20C500908070102CE0C0008CA +S2140264B0080200FED60CA0090502010ADB0C9009B0 +S2140264C009090000040DF00A0A0C0100400D20091B +S2140264D009090000690DF00A0A0C0000A50DD00992 +S2140264E00A090000D20DA005070C0000FC0D100BD7 +S2140264F00A0C00FD380EE00A090C01006E0E70044C +S214026500030C0100800E9004060FFEFDAD0EE0099E +S214026510090C0100E30E7004020C0100EF0EF010ED +S2140265200F090100330FE00A090901005C0F300A67 +S2140265300A090000890FF00A0A0C01FDC50FF00ACD +S2140265400A0C00FD01109006060901001C10000846 +S214026550080900004010A006070B00006710D00ACA +S214026560090901009010F0080A09FF00BD10600E2C +S2140265700F0900000111D008090900002A11F008CD +S2140265800A0CFFFD66115008080900008A11A005D2 +S214026590060F00FDB711D004030F01FDCE11A005B2 +S2140265A0050F00FDF4115009090500040B12B00690 +S2140265B0060600061D12000503040103231200103E +S2140265C0101100FEAB120010100C00000B1300108E +S2140265D0100E00FF7B130010100C0000DB13000BE4 +S2140265E00B0C00001D140010101000FE9D1400106D +S2140265F0101000FE1D150012120E00FF9B15001053 +S214026600101000FE1B160012120C00008716001057 +S214026610101000FE07170008080E00FF3F17000CB8 +S2140266200C0E00FF93170012121000FE2318001023 +S214026630100C00008318000E0A1002FED318000E7B +S2140266400E1200FD5119000E0E0F00FFBA19000EB1 +S2140266500E0E00FF1C1A000E0A1002FE6C1A000E26 +S214026660100EFFFFDC1A000A0A0E00FF221B000AA9 +S2140266700A0E00FF681B000E0E0E00FFCA1B000E5D +S2140266800E040004E61B0012120C0000521C00143A +S214026690141000FEF21C00121410FFFE921D0010D1 +S2140266A0101000FE121E000E0E0A0001581E000EEA +S2140266B00E0A00019E1E0014140E00FF2A1F001070 +S2140266C0100C00008A1F0010101000FE0A20001096 +S2140266D01111FFFE9B20000E0F0E00FF0421000E7C +S2140266E00E1000FE7421000E0E0E00FFD621000AC8 +S2140266F00C10FFFE3622000E0E1000FEA622000E22 +S2140267000E1000FE16230012120C00008223001048 +S2140267101212FFFD2424000C0C1000FE8424001428 +S214026720140F00FF1A250014140A00017E25001417 +S214026730140A0001E2250014140A00014626001479 +S214026740140A0001AA260014140A00010E270014D7 +S214026750150E00FFA127000E0C1001FE0128000EE8 +S2140267600E1000FE712800101111FFFD0229001400 +S214026770140C00007A29000C0C1000FEDA292010F6 +S214026780110B0001BF0BF0AF0AE09E08D08C07C0C9 +S214026790000010BF1AE0F51F3F51F3E40F3E40F22F +S2140267A07208100005C003E000007A005C000009D1 +S2140267B08007A001FFFFFFFFFD033E733C8330000E +S2140267C0F200C500000F100E300002F000F2009F2B +S2140267D0FFFFFFFF4138C336E3300089005C00004C +S2140267E00A7007A00000007900000000790000008F +S2140267F05CFFE92006FCBC9E900EB07900100F806C +S2140268007900000DF579000003EFFD50000006CF79 +S214026810FE400000795EF100007905F30700790773 +S214026820F12FE9BCAFA003AEFFD70000007900004D +S214026830000079000003DE800005D000E40C500161 +S214026840E3004C005A00A90006A004C04E00004C0B +S214026850005A0D500000E41C58A0000003CE73E15D +S2140268603CE9000000D60E40A800007C03C003D01E +S214026870002E203C003D000B7000E2098006D0008E +S21402688004DDA00009EFB1000009E43CA00000D935 +S214026890007D00000CC01CA000003FAEC10000013D +S2140268A0DFC0000003EB8F701800DB007F65F03F4F +S2140268B040008FEA03F70000CF700BF966CFBF40A7 +S2140268C008DFEA30A5000000000000F5F5E4E472F7 +S2140268D000DA05F20BC00F703F405F206F107F009A +S2140268E06F105F203F400F700BC005F200DA3F309A +S2140268F00CB006F101F600E900BC00AD00AE00AD3A +S21402690000BC00E901F606F10CB03F30004A000672 +S21402691074A4A02BFFE5007FFB207B6B8D0004A0F8 +S214026920000013000000051000000F5000000F507A +S21402693000011F5110EFFFFFF3344F7440000F5059 +S21402694000000F50000952FD0BA0C50F00011110E8 +S2140269501FFFF30444400312FC1E90000005F100E2 +S214026960000AB000000F6000005F100000AB0000DD +S21402697000F6000005F100000AB000000F600000FB +S2140269804F100000AC000000F6000004F100000A00 +S214026990C000000E6000004F1000000008EFC500A7 +S2140269A000CFA8CF7007F5000AF20DC00001F81F4D +S2140269B0800000DC3F600000BD3F600000BD1F801D +S2140269C00000DC0DC00001F807F5000AF200CFA8AF +S2140269D0CF700008EFC500EFFF367AF3005F300590 +S2140269E0F3005F3005F3005F3005F3005F3005F318 +S2140269F0005F3005F304BEFD7007FD98CF902800B7 +S214026A0000BF00000007F2000000AF0000004F8049 +S214026A1000003FC000003EC100002EC100002ED183 +S214026A2000002EF8777746FFFFFFFA6FFFFFFF02A0 +S214026A3077779FB000000CE1000009F3000005F62E +S214026A40000000DFE910000459FD00000006F40013 +S214026A5000003F64400008F3BFC98CFB007CFFD7F0 +S214026A6000000001EB00000000BE100000006F50A6 +S214026A700000002F900000000CD000000008F30178 +S214026A80D50003F8002F6000ED2223F7216FFFFFE9 +S214026A90FFFF81555556F9520000002F6000000096 +S214026AA002F60005FFFFFF007F77777008E0000020 +S214026AB000AD0000000BC2100000DFFFFB300455E3 +S214026AC068FF20000004F80000000F92500005F650 +S214026AD08FD98AFD105BEFE9100005CEFC60009F9F +S214026AE0C88B7005F80000000CD00000001F800064 +S214026AF000002F68EFFA103FEE648FD02FF10006E9 +S214026B00F40EC00002F609F10006F301DE869FB01D +S214026B100019EFD8008FFFFFFFE8F77777FC8F00AA +S214026B20004F5590000BE0000002F80000009F1096 +S214026B3000000FB0000006F4000000DD0000003F79 +S214026B407000000AF1000001F90000005CFFD700A7 +S214026B5006FC76AFA00CD00009F10DC00007F207C4 +S214026B60F7115EC000BFFFFE1009F9547ED02F80D9 +S214026B700004F64F500000F81FA00005F609FB7649 +S214026B80AFD0006CFFD810008EFD80000CF868FCB9 +S214026B90005F50003F708F00000EC07F30001FF075 +S214026BA01FD413CFF104EFFFA9F00002310AF00060 +S214026BB000000EA00000009F3009A78DF70007DF37 +S214026BC0EB40001E92FC0310000000000312FC1EA5 +S214026BD0901E92FC0310000000000001E91FD0A8DE +S214026BE00E30A00000004200017DF3039FE810BFB4 +S214026BF0B50000EE81000017DFB4000004AFD2003B +S214026C00000182EFFFFFF3455555510000000001D9 +S214026C10111110EFFFFFF33444444050000000EF20 +S214026C2092000006CFB50000039FE200006CF3025C +S214026C309EE920BFC600009300000004BEFD700758 +S214026C40FC77BFA0270000CF00000009F00000017B +S214026C50EA000001DD100000CE1000003F600000D8 +S214026C6001300000000100000006F50000005F4051 +S214026C7000000017CEFDB500000005FB53237DC2C1 +S214026C8000006E400000008E1002F401AEFA3F498A +S214026C90B00A901EE65BEF40E30F308F1000AF4065 +S214026CA0981F00D900003F406A3F00E800001F40DE +S214026CB05C1F00D900003F406A0F308F1000AF40C3 +S214026CC0980A901ED65ADEA6F203F301AFFA16EE23 +S214026CD050006E4000000000000006FB53237500C3 +S214026CE000000017CEFDA30000000002FD00000019 +S214026CF000009FF4000000000F9EB000000006F2A5 +S214026D007F20000000DC01F80000004F600BE0006E +S214026D10000BF0004F600001FA1111ED00008FFF2A +S214026D20FFFFF3000EC444444FA006F4000000AF79 +S214026D3010CD00000002F85FFFFFEB4005F8555744 +S214026D40DF405F400001FA05F400000FA05F51111A +S214026D503AF405FFFFFFFA005F744459FA05F4009F +S214026D600008F25F4000005F45F4000009F25F850C +S214026D70556AFB05FFFFFFD70000028DFEB4000434 +S214026D80FFB89DF902FD20000850BF200000000F4A +S214026D90A000000002F6000000002F6000000000C5 +S214026DA0FA000000000BF2000000002FD20000855F +S214026DB0005FFB89DF800029DFEB405FFFFFEA30E0 +S214026DC0005F97779EF8005F400000AF605F40006C +S214026DD0000DE05F40000006F45F40000003F65F2F +S214026DE040000003F65F40000006F45F4000000D1E +S214026DF0E05F400000AF605F97779EF8005FFFFF9E +S214026E00EA30005FFFFFFF95F97777745F40000076 +S214026E1005F40000005F51111105FFFFFFE05F74EB +S214026E20444405F40000005F40000005F400000042 +S214026E305F97777765FFFFFFFD5FFFFFFF95F977A7 +S214026E4077745F40000005F40000005F4000000514 +S214026E50F52222105FFFFFFE05F85555405F400001 +S214026E600005F40000005F40000005F4000000008A +S214026E70018DFEB500004FFB89DFB002FD20000643 +S214026E80600BF2000000000FA0000000002F600060 +S214026E900000002F60000009F00FA0000009F00BB0 +S214026EA0F2000009F002FD20000AF0004FFB89DF25 +S214026EB0C000028DFEC6005F4000004F55F4000081 +S214026EC004F55F4000004F55F4000004F55F5222BF +S214026ED0225F55FFFFFFFFF55F8555558F55F4007E +S214026EE00004F55F4000004F55F4000004F55F40D3 +S214026EF000004F55F4000004F55F45F45F45F45F6B +S214026F0045F45F45F45F45F45F45F400FFFFFA0081 +S214026F107777FA000000FA000000FA000000FA0094 +S214026F200000FA000000FA000000FA000000F9076C +S214026F302003F60DE98EF101AEFB305F400002EB56 +S214026F4005F40001EC005F4001DE1005F400CE20DF +S214026F50005F40BF300005F49F9000005FCFEF4017 +S214026F600005FF91EE10005FA003FC0005F400068A +S214026F70F8005F400009F505F400000CF25F4000DF +S214026F800005F40000005F40000005F40000005F0A +S214026F9040000005F40000005F40000005F4000019 +S214026FA0005F40000005F40000005F97777725FF3A +S214026FB0FFFFF55F400000001E95FC00000008F988 +S214026FC05FF5000002FF95FDE00000AEF95F5F701E +S214026FD0003F5F95F38F100BC0F95F31E904F30FA2 +S214026FE095F307F2DB00F95F300DEF200F95F30003 +S214026FF05F9000F95F300071000F95F3000000000B +S214027000F95F5000004F55FF200004F55FFD0000B9 +S2140270104F55FAF90004F55F4AF5004F55F40DF2A4 +S21402702004F55F402FD04F55F4006F94F55F400093 +S214027030AFAF55F40000DFF55F400002FF55F400E5 +S2140270400006F500018DFEB5000004FFB89EFA00AA +S21402705002FD200008F900BF2000000AF20FA0007F +S21402706000003F72F600000000F92F600000000FDB +S21402707090FA00000003F70BF2000000AF202FD2B8 +S21402708000008F90004FFB89EFA0000028DFEB5036 +S214027090005FFFFFD7005F9778BFC05F400007F62C +S2140270A05F400000FA5F400000FA5F400003F85FAE +S2140270B062236EF15FFFFFFD305F855420005F4064 +S2140270C00000005F400000005F4000000000018DED +S2140270D0FEB50000004EFB89EFA00002FD2000086E +S2140270E0F9000AF2000000AF200FA00000003F7077 +S2140270F02F600000000F902F600000000F901F907E +S2140271000000002F700BF1000000AF2003FC1000FF +S21402711007F900006FFA78DFB0000003AEFFC50083 +S214027120000000003ED415B000000002BFFF800041 +S2140271300000000131005FFFFFD7005F9778BFC0F5 +S2140271405F400007F65F400000FA5F400000FA5F0B +S214027150400003F85F52236EE15FFFFFFC305F855D +S21402716055F9005F40007F405F40000CE05F400042 +S21402717002F9005CEFD92007FC87AF900EC0000131 +S214027180100F800000000DF500000003EFEA50002B +S2140271900005AEFE400000004EF100000005F308B8 +S2140271A0000008F22FFA77BFA0029DFFC700FFFF7C +S2140271B0FFFFF56778FB77720001F700000001F722 +S2140271C000000001F700000001F700000001F700D0 +S2140271D0000001F700000001F700000001F70000C0 +S2140271E00001F700000001F700006F3000008F1664 +S2140271F0F3000008F16F3000008F16F3000008F16C +S2140272006F3000008F16F3000008F16F3000008F19 +S21402721005F4000009F03F700000CD00DE20005F9C +S2140272208004FFA8BFD00003BEFD81000CE0000072 +S214027230006F306F5000000CC000FB000003F60029 +S21402724009F20000AE00002F80001F900000CE0062 +S21402725007F2000005F600DB0000000EC04F5000EB +S21402726000008F3BE000000002FBF8000000000B6D +S214027270FF10000000004FB000005F400000DF007B +S2140272800002F50F900002FF400007F00BE0000737 +S214027290FE90000CB006F3000CAAE0001F6001F896 +S2140272A0001F54F3006F1000CD007F10F800CC00D2 +S2140272B0007F20CB00AD01F700002F71F6005F269D +S2140272C0F200000DC6F1000F7BD0000008FDC000E2 +S2140272D00BDF80000003FF700006FF30000000EFA7 +S2140272E0200001FE00003F900000CD008F40007F8E +S2140272F03000DE102F800003FA0CD0000007FBF3EC +S2140273000000000CF800000001EFC0000000BF7F84 +S2140273107000006F60AF20002FB001ED000CF1008E +S21402732004F807F6000009F30CE0000007F203F782 +S21402733000001F9000AF10009E10001FA002F60073 +S2140273400008F30BD0000000EC4F400000005FFB8B +S214027350000000000CF20000000009F0000000002F +S21402736009F00000000009F00000000009F000002B +S2140273703FFFFFFFFD01777777BF900000001EC03A +S2140273800000000CF200000008F500000004F900FE +S214027390000001EC00000000CF200000008F50002B +S2140273A000004F900000001EF877777705FFFFFF7A +S2140273B0FFF05FFF05F7505F3005F3005F3005F31F +S2140273C0005F3005F3005F3005F3005F3005F30021 +S2140273D05F3005F7505FFF007E0000001F40000090 +S2140273E00C90000007E0000002F4000000C9000054 +S2140273F0007E0000002F4000000C90000007E00016 +S2140274000002F3000000D90000007E0000002F30CA +S21402741000000D90000007E0BFFA35EA00EA00EA35 +S21402742000EA00EA00EA00EA00EA00EA00EA00EA05 +S21402743000EA35EABFFA002F8000009DE00000F364 +S214027440D50006D07B000C601F203F100B809A00F0 +S21402745004E0FFFFFFFF1111111107F60003E70119 +S2140274609EFD8000CE87AF90020000AF00000006AF +S214027470F202BEFFFF20EC4227F22F50007F20ECE4 +S214027480427FF202BFFB6F208F000000008F0000D9 +S21402749000008F000000008F2BFEB3008FEC78EF09 +S2140274A0308FA0001EC08F200007F18F000005F36A +S2140274B08F200007F18FA0001ED08FEC78EF308E61 +S2140274C02BFEB300003AEFC4004FD87CF40DD00078 +S2140274D00713F60000004F30000003F60000000D10 +S2140274E0D00006104FD77CF4003AEFC4000000002C +S2140274F001F700000001F700000001F7003BFFA3C0 +S214027500F704FD87CEF70ED0000BF73F600003F7B7 +S2140275104F300001F73F500003F70EC0000AF70491 +S214027520FC65BEF7003BFFB2F7003BFEA20004FC80 +S21402753067EE200EC0001EA03F500007F04FFFFF70 +S214027540FFF13F722222200EC000020004FD87AF28 +S21402755050003AEFD600005DFC002FB57004F30031 +S2140275600CFFFFA048F753005F300005F300005FF2 +S214027570300005F300005F300005F300005F3000C6 +S214027580003BFFB2E904FE87CFF90ED1000AF93FAD +S214027590600001F94F400000F93F600001F90ED08B +S2140275A00009F904FD87CFF8003BFFB3F70000009F +S2140275B005F409E977AFB0017CFFD8008F00000020 +S2140275C008F00000008F00000008F2BFEA108FFBF0 +S2140275D089FD08F80006F48F10001F78F00000F806 +S2140275E08F00000F88F00000F88F00000F88F00070 +S2140275F000F89E1AF20008F08F08F08F08F08F0845 +S214027600F08F08F00007E20009F30000000007F11F +S2140276100007F10007F10007F10007F10007F1008B +S21402762007F10007F10007F10008F0186EC03EFCF3 +S214027630208F00000008F00000008F00000008F015 +S214027640001DD18F001DE208F01DE2008F2DF30011 +S21402765008FEFF70008FE2BF3008F201EE108F00C6 +S21402766003FB08F00007F78F8F8F8F8F8F8F8F8F18 +S2140276708F8F8F8E3CFE913BFEA208FF969FCFC651 +S2140276808FD08F70009FC0005F58F10005F6000192 +S214027690F78F00004F40000F88F00004F40000F857 +S2140276A08F00004F40000F88F00004F40000F88FAF +S2140276B000004F40000F808E3BFEA108FFA68FD031 +S2140276C08F80006F48F10001F78F00000F88F000EE +S2140276D000F88F00000F88F00000F88F00000F807F +S2140276E0003BEFC40004FD87CF600ED0000BF13FD5 +S2140276F0600003F54F300001F73F600003F50ED03F +S214027700000BF104FD77CF60003BEFC4008E3BFE1A +S214027710B3008FFB57DF308F90000DC08F1000072D +S214027720F18F000005F38F200007F18FA0001ED016 +S2140277308FEC78EF308F2BFEB3008F000000008FA7 +S214027740000000008F00000000003BFFA2F704FDCF +S21402775087DEF70ED0000BF73F600003F74F3000CE +S21402776001F73F600003F70ED0000BF704FD77CE5B +S214027770F7003BFFA3F700000001F700000001F747 +S21402778000000001F78E2BF08FED908FA0008F2067 +S214027790008F00008F00008F00008F00008F000017 +S2140277A002AEFD911ED769D04F3000002FB41000F4 +S2140277B006EFFD6000015BF5010000F75FA76BF3C3 +S2140277C019DFEC4005F300005F3000CFFFFA048FAC +S2140277D0753005F300005F300005F300005F3000EF +S2140277E004F400001FC680005DFC10AE00002F5A95 +S2140277F0E00002F5AE00002F5AE00002F5AE0000EF +S2140278002F59F00004F56F3000AF51EE76BFF50247 +S214027810BEFB3F500DC00000CB06F20002F500F999 +S2140278200009E0009E000F80002F606F10000CC061 +S214027830CB000005F6F4000000EFD00000008F70C9 +S21402784000BB00009F10004F16F1000EF60009C0A4 +S2140278500F6005FCB000F600AC00AB5F105F1005D1 +S214027860F10F50F70AB0000F76F009C0F50000AC31 +S214027870BA004F8F000004FF4000EFA000000EE0A9 +S2140278800008F400004F70009F208F305F5000CD3C +S2140278902E900002FFD000000AF6000004FDE10070 +S2140278A001EB0DC000BE103F806F40007F400DC050 +S2140278B00000CB06F30002F400EA0009D0008F10A5 +S2140278C01F70001F707F10000AE0D9000003F9F253 +S2140278D0000000CFB00000006F40000000AD0000C6 +S2140278E01C79F500001AEE7000004FFFFFF91555DF +S2140278F05BF400004F800001EC00000BE100008FFB +S214027900400004F700001EE555535FFFFFFC002C05 +S214027910F500AF6100CC0000DB0000DB0000DB00FE +S21402792002EA001FF40005FA0000DB0000DB00009C +S214027930DB0000CC0000AF61002CF55F15F15F158F +S214027940F15F15F15F15F15F15F15F15F15F15F146 +S2140279505F10BE8003AF4001F6001F7001F7001FE4 +S2140279607000F9000AFB00FB201F7001F7001F7071 +S21402797001F603AF40BE900000000000003DE400A8 +S214027980B50C86F51E20F003EF90020000100002F0 +S214027990CE900D40893B000E3B000E0D408902CE74 +S2140279A0900008F8EFE7F700000000000000000073 +S2140279B0000000000049DC0000000016BFFFFF00C8 +S2140279C000038DFFFFFFFF0000CFFFFFFFFFFF005A +S2140279D000FFFFFFFFC7FF0000FFFFEA5100FF00A6 +S2140279E000FF83000000FF0000FF00000000FF0011 +S2140279F000FF00000000FF0000FF00000000FF0084 +S214027A0000FF00002BFFFF0000FF0000DFFFFF2B40 +S214027A10FFFF0000DFFFFDDFFFFF00002BFFB2DFEE +S214027A20FFFD00000000002BFFB20000000000D0A7 +S214027A300FFFFFFFFFF00DFFFFC888888CFFFFF0E7 +S214027A400F80000008F00FF00F80000008F00FFF14 +S214027A50FF80000008FFFFF00FECCCCCCEF00FF05A +S214027A600FECCCCCCEF00FFFFF80000008FFFFF03B +S214027A700F80000008F00FF00F80000008F00FFFE4 +S214027A80FFC888888CFFFFD00FFFFFFFFFF00DDFD7 +S214027A90FF73FFFFFFFFFDFFFFA5FFFFFFFFFFFFD7 +S214027AA0FFA5FFFFFFFFFFDFFF73FFFFFFFFFD00E6 +S214027AB000000000000000DFFF73FFFFFFFFFDFF76 +S214027AC0FFA5FFFFFFFFFFFFFFA5FFFFFFFFFFDF93 +S214027AD0FF73FFFFFFFFFD0000000000000000DF55 +S214027AE0FF73FFFFFFFFFDFFFFA5FFFFFFFFFFFF87 +S214027AF0FFA5FFFFFFFFFFDFFF73FFFFFFFFFD0096 +S214027B0000000000000AB1000000000000BFFC00F8 +S214027B10000000000BFFFB0000000000BFFFC01BC0 +S214027B20A000000BFFFC00CFFB0000BFFFC000BFA1 +S214027B30FFB00BFFFC00000CFFFBBFFFC000000005 +S214027B40CFFFFFFB000000000CFFFFB000000000AC +S214027B5000BFFB0000000000000BB00000000003A6 +S214027B600000000308FC10001CF8FFFC101CFFF5C8 +S214027B70FFFC2CFFF505FFFFFFF50005FFFFF500F4 +S214027B80001DFFFD10001CFFFFFC101CFFF9FFFC90 +S214027B901CFFF505FFFCDFF50005FFD1A40000047D +S214027BA0A10000004FE00000000002106FF1031079 +S214027BB000005FD06FF13FD10003FFF16FF15FFD70 +S214027BC0000DFF406FF109FF704FF7006FF100CF15 +S214027BD0E09FF0006FF1005FF3BFC0006FF1002F6F +S214027BE0F5BFC0004FE0001FF6AFE0000000004FF8 +S214027BF0F46FF400000000AFF00FFE10000005FF67 +S214027C00A006FFD300007FFF20009FFFDABEFFF42E +S214027C10000006FFFFFFFD3000000017BDCA50003F +S214027C20000000008BB8000000000000FFFF00000C +S214027C3000003006FFFF60030004FDDFFFFFFDEFDC +S214027C40400DFFFFFFFFFFFFD04FFFFFF99FFFFF33 +S214027C50F408FFFF2002FFFF8000FFF900009FFFED +S214027C600000FFF900009FFF0008FFFF2002FFFF51 +S214027C70804FFFFFF99FFFFFF40DFFFFFFFFFFFF9F +S214027C80D004FEDFFFFFFDDF40003006FFFF60038B +S214027C9000000000FFFF0000000000008BB800009C +S214027CA00000000003DD303FF3000000006FFFF528 +S214027CB04FF400000009FF99FFBFF4000001BFF671 +S214027CC0226FFFF400002DFE35FF53EFF40004FF91 +S214027CD0C18FFFF82DFE407FFA1AFFFFFFA1AFF714 +S214027CE0CF82DFFFFFFFFD28FC140EFFFFFFFFFF22 +S214027CF0E041000FFFFFFFFFFFF000000FFFF9005B +S214027D008FFFF000000FFFF8008FFFF000000FFF5C +S214027D10F8008FFFF000000EFFF6006FFFE0000095 +S214027D200000DFFD000000000000FFFF0000000072 +S214027D300000FFFF000000000000FFFF0000000040 +S214027D400000FFFF000000000000FFFF0000000030 +S214027D504FFFFFFFFFF400000BFFFFFFFFB0000026 +S214027D6000BFFFFFFB000000000BFFFFB00000009B +S214027D700000BFFB000000DFFFFC1BB1CFFFFDFFD2 +S214027D80FFFFC22CFFFFFFFFFFFFFFFFFFFFFFFF0C +S214027D90FFFFFFFFF0E0FFDFFFFFFFFFFFFFFD003B +S214027DA004EFFFFFFFFE4000001EFFFFFFFFFFE1A4 +S214027DB00000AFB00000000BFA0005FF1000000044 +S214027DC001FF501EF600000000006FE1AFB0000099 +S214027DD00000000BFAFFFFFF800008FFFFFFFFFF17 +S214027DE0FFF1001FFFFFFFFFFFFFFFFFFFFFFFFF89 +S214027DF0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C +S214027E00FFFF8FFFFFFFFFFFFFFFF8000006BDDA50 +S214027E105002FF0005EFFFFFFE42FF007FFFA77B39 +S214027E20FFF9FF05FFC100002CFFFF0EFC00000259 +S214027E3022DFFF5FF200000FFFFFFF8FB000000F90 +S214027E40FFFFFF000000000000000000000000002E +S214027E50000000FFFFFFF000000BF8FFFFFFF0003E +S214027E60002FF4FFFD22200000CFE0FFFFC200003B +S214027E702CFF40FF9FFFB76AFFF700FF24DFFFFFDC +S214027E80FE5000FF2005ACDB600000000000000092 +S214027E9000008D000008FF00008FFFDFFFFFFFFFDE +S214027EA0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFB +S214027EB0FFFFFF00008FFF000008FF0000008D009C +S214027EC00000000000000000000000008D0000001E +S214027ED00008FF000000008FFF0000CFFFFFFF0139 +S214027EE050FFFFFFFF06F7FFFFFFFF00BEFFFFFF8B +S214027EF0FF00AEFFFFFFFF05F8DFFFFFFF02600097 +S214027F00009FFF0000000009FF00000000009E0026 +S214027F100000000000000000000000000006100044 +S214027F200000000000001FD2000000008D000003C9 +S214027F30EE10000008FF000AB12FB000008FFF000D +S214027F4005FC07F4DFFFFFFF02505F60F9FFFFFF4B +S214027F50FF06F70DC0BDFFFFFFFF00AE09F09FFF53 +S214027F60FFFFFF00AE09F08FFFFFFFFF06F70DC011 +S214027F70ADDFFFFFFF02505F60E900008FFF0005E4 +S214027F80FC06F4000008FF000AB12FB00000008DC6 +S214027F90000002EE100000000000001FD2000000E9 +S214027FA0000000000610008FFFFFFFFFFFFFF8FF34 +S214027FB0FCFFFFFFFFFFFFFF202FFFFFFFFFFFFC7F +S214027FC0000CFFFFEEFFFFFF202FFFFE22EFFFFF5A +S214027FD0FCFFFFE2002EFFFFFE4EFE200002FFFF28 +S214027FE0E202C2000000FFFF200000000000FFFFC8 +S214027FF0000000000000FFFFFFFFFFFFFFFFFF8FF4 +S214028000FFFFFFFFFFFFF80000000000FF30000147 +S214028010CCFF40002DFFFF4003EFFFFF403FFFFF76 +S214028020FF44FFFFFFFF9FFFFFFFFFFFFFFFFFFF74 +S214028030FFFFFFFFFFAFFFFFFFFF45FFFFFFFF4012 +S2140280404FFFFFFF4003EFFFFF40002EFFFF300011 +S21402805001CC0000000000000000000000008F912C +S2140280600000000000FFFF7000000000FFFFFD4060 +S214028070000000FFFFFFFA100000FFFFFFFFF700FF +S21402808000FFFFFFFFFFD500FFFFFFFFFFFFB2FF6E +S214028090FFFFFFFFFFFDFFFFFFFFFFFFFDFFFFFFED +S2140280A0FFFFFFB2FFFFFFFFFFD500FFFFFFFFF757 +S2140280B00000FFFFFFFA100000FFFFFD4000000077 +S2140280C0FFFF70000000008EA1000000000000000C +S2140280D00000000000000000000000008FFFF80013 +S2140280E08FFFF8FFFFFF00FFFFFFFFFFFF00FFFF0E +S2140280F0FFFFFFFF00FFFFFFFFFFFF00FFFFFFFF87 +S214028100FFFF00FFFFFFFFFFFF00FFFFFFFFFFFF76 +S21402811000FFFFFFFFFFFF00FFFFFFFFFFFF00FF65 +S214028120FFFFFFFFFF00FFFFFFFFFFFF00FFFFFF56 +S214028130FFFFFF00FFFFFF7FFFF7007FFFF78FFFC6 +S214028140FFFFFFFFF8FFFFFFFFFFFFFFFFFFFFFF3F +S214028150FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28 +S214028160FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18 +S214028170FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF08 +S214028180FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8 +S214028190FFFFFFFFFFFFFFFFFF8FFFFFFFFFFFF85F +S2140281A00000000000CC100003FFFFD20004FFFF17 +S2140281B0FE3004FFFFFFF404FFFFFFFF54FFFFFF44 +S2140281C0FFF9FFFFFFFFFFFFFFFFFFFFFFFFFFFFBE +S2140281D0F9FFFFFFFF44FFFFFFF304FFFFFE30043B +S2140281E0FFFFD20004FFCC100003FF0000000000D7 +S2140281F00000002DD2000000000001EFFE1000007B +S21402820000001DFFFFD100000000CFFFFFFC0000B2 +S214028210000BFFFFFFFFB00000AFFFFFFFFFFA00FB +S21402822009FFFFFFFFFFFF900FFFFFFFFFFFFFF0BB +S21402823008FFFFFFFFFFFF800000000000000000B5 +S2140282400CFFFFFFFFFFFFC00FFFFFFFFFFFFFF068 +S2140282500FFFFFFFFFFFFFF00CFFFFFFFFFFFFC058 +S2140282600000001A40000001DFF000001DFFA00021 +S21402827001DFFA00001DFFA00001DFFA00000CFF7C +S214028280A000000DFF80000001DFF80000001DFFC7 +S21402829080000001DFF80000001DFF80000001DF03 +S2140282A0F00000001B5004A10000000FFD100000AB +S2140282B00AFFD1000000AFFD1000000AFFD1000047 +S2140282C000AFFD1000000AFFC0000008FFD000004B +S2140282D08FFD100008FFD100008FFD100008FFD1AF +S2140282E000000FFD10000005B1000000000004FFB2 +S2140282F0400000000008FF800000000008FF800029 +S21402830000000008FF800000000008FF8000004810 +S214028310888CFFC88884FFFFFFFFFFFFFFFFFFFF79 +S214028320FFFFFFFF48888CFFC88884000008FF8094 +S2140283300000000008FF800000000008FF80000028 +S214028340000008FF800000000004FF400000144404 +S2140283504444444441EFFFFFFFFFFFFEFFFFFFFFE1 +S214028360FFFFFF7BBBBBBBBBBBB7000005ADFFDAA5 +S2140283705000000004DFFC88CFFD4000007FFE4076 +S2140283800004EFF70007FFF4009E804FFF704FFFD8 +S214028390C000AFF80CFFF4DFFF809AFFFE08FFFD77 +S2140283A0DFFF80EFFFFE08FFFD4FFFC08FFFF80CD8 +S2140283B0FFF407FFF408EE804FFF70007FFE4000D8 +S2140283C004EFF8000004DFFC88CFFD400000000543 +S2140283D0ADFFDA5000008C20000000000000000014 +S2140283E0DFE400000000000000001BFF8049DFFD04 +S2140283F0A5000000007FFFFFD88CFFD40000000419 +S214028400EFF800004EFF700000001CFF69E804FF52 +S214028410F70004E3009FFEFF80CFFF400DFF7005CC +S214028420FFFFE08FFFD00DFFF7002DFFE08FFFD09C +S21402843004FFFC0000AFF8CFFF30007FFF400006CD +S214028440FFFFF7000008FFF400003EFFA000000058 +S2140284504DFFC88201BFF7000000005ADFFC10087B +S214028460FFA000000000000000004EFD000000001B +S2140284700000000002C8000000002DD2000000002C +S21402848000000000BFFB0000000000000005FFFF28 +S214028490500000000000000DFFFFD00000000000AA +S2140284A0007FFFFFF7000000000001FFD88DFF10DD +S2140284B0000000000AFFA00AFFA0000000003FFF25 +S2140284C0B00BFFF300000000CFFFC00CFFFC000063 +S2140284D00005FFFFD00DFFFF5000000EFFFFF99FC3 +S2140284E0FFFFE000008FFFFFE22EFFFFF80002FF13 +S2140284F0FFFF9009FFFFFF100AFFFFFFE33EFFFFAB +S214028500FFA00FFFFFFFFFFFFFFFFFF008FFFFFFC9 +S214028510FFFFFFFFFF8000000000000000000000D9 +S21402852000000000D800000000000000FF80FFFFEF +S214028530700007FFFFF8FFFFF6006FFFFFFD788E63 +S214028540FF15FFE8FFE20002E54FFE20FE200000D6 +S21402855013FFF300520000003FFF310052000002FA +S214028560EFF45E20FE20788EFF51FFE8FFE2FFFF69 +S214028570F6006FFFFFFDFFFF700007FFFFF8000029 +S21402858000000000FF80000000000000D80000008D +S21402859000000000000000000000000000000001D3 +S2140285A0DD10000000001DFFD100000001DFFFFD0E +S2140285B01000001DFF99FFD10001DFF9009FFD109A +S2140285C01DFF900009FFD1BFF90000009FFB5F90DE +S2140285D000000009F5000000000000000000000096 +S2140285E00000005F9000000009F5BFF90000009F40 +S2140285F0FB1DFF900009FFD101DFF9009FFD10006F +S2140286001DFF99FFD1000001DFFFFD100000001DD5 +S214028610FFD10000000001DD100000000000000095 +S214028620000000000000000000000000001DD10055 +S21402863000000000000001DFFD10EFFFFFFFD0008A +S2140286401DFFFFD1AFFFFFFFF000CFCFFCFC000005 +S214028650000FF0006B1FF1B60000000FF000000FD5 +S214028660F0000000000FF000000FF0000000000F06 +S214028670F000000FF00000006B1FF1B6000FF000D4 +S2140286800000CFCFFCFC000FFFFFFFFA1DFFFFD15B +S214028690000DFFFFFFFE01DFFD10000000000000DE +S2140286A0001DD100000000000000000000008FFF47 +S2140286B0FFE200000000FFFFFFFE20000000FFFFB9 +S2140286C0FFFFFFFFFFF8FFFFFFFFFFFFFFFFFFFFBA +S2140286D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3 +S2140286E0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93 +S2140286F0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83 +S214028700FFFFFFFFFFFF8FFFFFFFFFFFFFF80000E7 +S214028710000BB0000000000000BFFB0000000000DD +S2140287200BFFFFB000000000BFFFFFFB0000000BC6 +S214028730FFFFFFFFB000004FFFFFFFFFF400000047 +S21402874000FFFF000000000000FFFF000000000026 +S21402875000FFFF000000000000FFFF000000000016 +S21402876000FFFF000000DFFFF0DFFD0FFFFDFFFF51 +S214028770F900009FFFFFFFFFFFFFFFFFFFFFFFFF66 +S214028780FFFFFFF0E0FFDFFFFFFFFFFFFFFD000040 +S2140287900000000000000000000000000AEA62007C +S2140287A00000000002FFFFF000000000009FFFFF35 +S2140287B000000000000FFFFFD00000000002FFFFD5 +S2140287C0FB000000000003EFFF7000000000000442 +S2140287D0FFF2000000000000BFFB000000000000E7 +S2140287E06FFF3000000200004FFF9000028FF30080 +S2140287F06FFFD0000AFFFFE4BFFFD10000EFFFFFCC +S214028800FFFFD100000AFFFFFFFF900000006FFF8E +S214028810FFFB3000000002FFDB72000000000008D1 +S214028820EE800000066108FFFF80002DFFD0EF33C8 +S214028830FE002EFFF30EF33FE02EFFF3008FFFFF46 +S2140288406EFFF300008EFFFFFFF300000002EFFF53 +S214028850F3000000002EFFFF30000008EFFFFFFFCE +S214028860300008FFFFF6EFFF3000EF33FE02EFFFA7 +S214028870300EF33FE002EFFF308FFFF80002DFFD1D +S214028880008EE800000066100000DFFFFF0D2000EB +S21402889000FFFFFF0FE20000FFFFFF0FFDDFF0FF0C +S2140288A0FFFF2000FFF0FFFFFFFFFFFFF0FFFFFFCD +S2140288B0FFFFFFF0FFFFFFFFFFFFF0FFFFFFFFFFDF +S2140288C0FFF0FFFFFFFFFFFFF0FFFFFFFFFFFFF0DE +S2140288D0FFFFFFFFFFFFF0FFFFFFFFFFFFF0DFFFDF +S2140288E0FFFFFDFFF90000000000FFFFFFFFFF0093 +S2140288F000DFFFFFFFFD00008FFFFFFFFFC200FF4C +S214028900FFFFFFFFFE20FF00000001FFE2FF000066 +S2140289100000FFFCFF00000000FFFFFF0000000059 +S214028920FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50 +S214028930FFFFFB11BFFFFFFFFFF1001FFFFFFFFF5F +S214028940F1001FFFFFFFFFFB11BFFFFFFFFFFFFF4F +S214028950FFFFFF8FFFFFFFFFFFF800DFFFFD0000B6 +S21402896001FFFFFC000003FFFFF7000006FFFFF217 +S214028970000008FFFFD000000AFFFFFFFFD00CFF39 +S214028980FFFFFFA00EFFFFFFFF200DFFFFFFF80017 +S21402899000000AFFE00000000EFF500000002FFC5F +S2140289A0000000005FF3000000009FA0000000002F +S2140289B0DF1000000000D70000000004EE400000B8 +S2140289C000DFFF99FFFD0000FFFF99FFFF0000FF99 +S2140289D0FFFFFFFF0000FFFF9000000000FFFF0DFB +S2140289E0FFFF0D20FFFF0FFFFF0FE2FFFF0FFFFF4E +S2140289F00FFDFFFF0FFFFF2000FFFF0FFFFFFFFF30 +S214028A00FFFF0FFFFFFFFFFFFF0FFFFFFFFFDFFF6F +S214028A100FFFFFFFFF00000FFFFFFFFF00000FFF2B +S214028A20FFFFFF00000DFFFFFFFD000000CC00006F +S214028A3000000002FF3000000001BFFFFC20000023 +S214028A401EFFFFFFE100009FFFFFFFF80000EFFFA1 +S214028A50FFFFFD0000FFFFFFFFFF0001FFFFFFFF1C +S214028A60FF0003FFFFFFFFFF3008FFFFFFFFFF804F +S214028A701EFFFFFFFFFFE1CFFFFFFFFFFFFCCFFF61 +S214028A80FFFFFFFFFC0000000000000000000EFFDA +S214028A90E00000000004EE4000008FFFFFFFFFFF33 +S214028AA0FFFFF8FFFFFFFFFFFFFFFFFFFF00F00FD4 +S214028AB000F00F00FFFF00F00F00F00F00FFFFFFB7 +S214028AC0FFFFFFFFFFFFFFFFF808808808808FFF89 +S214028AD0FFF808808808808FFFFFFFFFFFFFFFFF79 +S214028AE0FFFFFF00F00000000F00FFFF00F0000095 +S214028AF0000F00FFFFFFFFFFFFFFFFFFFF8FFFFFDD +S214028B00FFFFFFFFFFF8000000000000000000006B +S214028B10000000000003AF70000000000004CFFF5A +S214028B20F00000000006DFFFFFA000000017EFFFC6 +S214028B30FFFF30000018FFFFFFFFFC00002AFFFFC8 +S214028B40FFFFFFF40008FFFFFFFFFFFFD0000FFF4D +S214028B50FFFFFFFFFF600008FFFFFFFFFFFE0000B2 +S214028B6000000000FFFFF7000000000000FFFFF11A +S214028B70000000000000FFFF80000000000000FF71 +S214028B80FF10000000000000FFFA000000000000D6 +S214028B9000FFF2000000000000008F8000000000CE +S214028BA00000000000000000DFFFFFF0D200FFFF21 +S214028BB0FFF0FE20FFFFFFF0FFE2FFFFFFF0FFFDEA +S214028BC0FFFFFFF20000FFFFFFFFFFFFFFFFFFFFB9 +S214028BD0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E +S214028BE0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E +S214028BF0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E +S214028C00FFFFDFFFFFFFFFFD000000000000000087 +S214028C1000000000049CEFFEC94000000007EFFFC2 +S214028C20FFFFFFFE700004DFFFFCA88ACFFFFD40B7 +S214028C306FFFD5000000005DFFF6CFF600000000D3 +S214028C4000006FFC1A30005ADFFDA50003A10000E9 +S214028C504DFFFFFFFFD400000005FFFEA88AEFFFCE +S214028C6050000001DF70000007FD10000000120037 +S214028C70000000210000000000004EE4000000009A +S214028C8000000000EFFE0000000000000000EFFE03 +S214028C9000000000000000004EE4000000008FFF0D +S214028CA0FFFFFFFFFFFFFF80FFFFFFFFFFFFFFFF4C +S214028CB0FFF0FF000000000000000FFDFF0FFFFFA7 +S214028CC0FFFFFFFF0FFFFF0FFFFFFFFFFFFF00FF8C +S214028CD0FF0FFFFFFFFFFFFF00FFFF0FFFFFFFFF7C +S214028CE0FFFF0FFFFF000000000000000FFDFFFF68 +S214028CF0FFFFFFFFFFFFFFF08FFFFFFFFFFFFFFFFC +S214028D00FF808FFFFFFFFFFFFFFFFF80FFFFFFFFDA +S214028D10FFFFFFFFFFF0FF000000000000000FFD56 +S214028D20FF0FFFFFFFFFF0000FFFFF0FFFFFFFFF2A +S214028D30F00000FFFF0FFFFFFFFFF00000FFFF0F36 +S214028D40FFFFFFFFF0000FFFFF0000000000000023 +S214028D500FFDFFFFFFFFFFFFFFFFFFF08FFFFFFF8D +S214028D60FFFFFFFFFF808FFFFFFFFFFFFFFFFF807A +S214028D70FFFFFFFFFFFFFFFFFFF0FF000000000006 +S214028D8000000FFDFF0FFFFFFF0000000FFFFF0FA9 +S214028D90FFFFFF00000000FFFF0FFFFFFF000000C5 +S214028DA000FFFF0FFFFFFF0000000FFFFF000000A5 +S214028DB0000000000FFDFFFFFFFFFFFFFFFFFFF0B9 +S214028DC08FFFFFFFFFFFFFFFFF808FFFFFFFFFFF0B +S214028DD0FFFFFF80FFFFFFFFFFFFFFFFFFF0FF0029 +S214028DE00000000000000FFDFF0FFFF00000000073 +S214028DF00FFFFF0FFFF00000000000FFFF0FFFF065 +S214028E000000000000FFFF0FFFF0000000000FFF51 +S214028E10FF000000000000000FFDFFFFFFFFFFFF46 +S214028E20FFFFFFF08FFFFFFFFFFFFFFFFF808FFFB9 +S214028E30FFFFFFFFFFFFFF80FFFFFFFFFFFFFFFFBA +S214028E40FFF0FF000000000000000FFDFF00000022 +S214028E50000000000FFFFF0000000000000000FFFF +S214028E60FF0000000000000000FFFF0000000000FE +S214028E7000000FFFFF000000000000000FFDFFFFD4 +S214028E80FFFFFFFFFFFFFFF08FFFFFFFFFFFFFFF6A +S214028E90FF8000000000000100000000000000004B +S214028EA00007FD1000000000000001CFFFF50000E3 +S214028EB00000000000B929FE100000000000003F7C +S214028EC010020000000003DF800A9000000003701A +S214028ED000DFFF77F7555555558FD30FFFFDCCDFD3 +S214028EE0DCCCCCCDFFB08FFE1000AA0000004D40B7 +S214028EF00046100001F202331000000000000009D4 +S214028F00B1CFF9000000000000000AFFFF90000049 +S214028F10000000000000BFF9000000000000000092 +S214028F2001220000000018DFFD920002EFFBEFFFB7 +S214028F30300DFFFA2EFFE04FFFFA03FFF59FFAFA15 +S214028F40354FFACFC08A3D0BFDEFFB03128FFEFFB3 +S214028F50FFB006FFFFFFFFD108FFFFEFFD11109FD6 +S214028F60FFDFD1593B0BFDAFD7FA381DFB5FFFFA87 +S214028F7001DFF70DFFFA1DFFF103EFFCDFFF5000E4 +S214028F8018DFFEA30000007FFFF70000EFFFFFFFE1 +S214028F90FFFFFEEFFFFFFFFFFFFE000000000000E6 +S214028FA0000FFFFFFFFFFFF00FFFFFFFFFFFF00FB7 +S214028FB0F99F99F99FF00FF88F88F88FF00FF88FC6 +S214028FC088F88FF00FF88F88F88FF00FF88F88F8F0 +S214028FD08FF00FF88F88F88FF00FF88F88F88FF0E1 +S214028FE00FF99F99F99FF00FFFFFFFFFFFF008FFB1 +S214028FF0FFFFFFFF800000000000007FA0000000CF +S2140290000000008FFFB000000000000DFFFFA00070 +S2140290100000008A1DFFFF000000008FFA1DFF708F +S2140290200000008FFFFA1D800000008FFFFFFA008D +S2140290300000008FFFFFFF800000008FFFFFFF8011 +S2140290400000008FFFFFFF800000008FFFFFFF8001 +S2140290500000006FFFFFFF800000000BFFFFFF8095 +S21402906000000000DFFFFF80000000000EFFFF8010 +S2140290700000000000DEDB600000000000000000D0 +S21402908000000000000000001BFFFFFFFFFFFFE4E0 +S2140290900001DFFFFFFFFFFFFFFE001DFFFFFAEFED +S2140290A0FEAFFFFF01DFFFFFA02EE20AFFFF1DFF5C +S2140290B0FFFFE202202EFFFFCFFFFFFFFE2002EFA0 +S2140290C0FFFFCFFFFFFFFE2002EFFFFF1DFFFFFFA8 +S2140290D0E202202EFFFF01DFFFFFA02EE20AFFFFC3 +S2140290E0001DFFFFFAEFFEAFFFFF0001DFFFFFFFED +S2140290F0FFFFFFFE00001BFFFFFFFFFFFFE400086D +S214029100FFFFFFE4008FFFFFFFFE08F80F0B40FF94 +S2140291108FF80F0B40FFFFF80F0B40FFFFFFFFFF1C +S214029120FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48 +S214029130FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF38 +S214029140FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28 +S214029150FFFFEFFFFFFFFFFE4EFFFFFFFFE40000F3 +S2140291600000000000010000000000000003E00014 +S214029170001000000002EF1000BF000000007FF1A8 +S21402918000CFF100000007FF11CFFF77777777BF98 +S214029190F1CFFFFFFFFFFFFFFF17FFFFFFFFFFFFFE +S2140291A0FFE007FFF100000000000006FF100000CD +S2140291B00000000005A00000000000006C765F645E +S2140291C06973705F6472765F7265676973746572DD +S2140291D0000000002E2E2F7468697264706172742B +S2140291E0792F6C76676C2F7372632F6C765F68616B +S2140291F06C2F6C765F68616C5F646973702E6300B7 +S21402920081100100000000006C765F616E696D5F80 +S21402921073746172740000002E2E2F746869726473 +S21402922070617274792F6C76676C2F7372632F6C11 +S214029230765F6D6973632F6C765F616E696D2E6300 +S214029240000000006C765F66735F6472765F72651C +S21402925067697374657200006C765F66735F6F7021 +S214029260656E00006C765F66735F6469725F6F702E +S214029270656E00002E2E2F746869726470617274B7 +S214029280792F6C76676C2F7372632F6C765F6D69BD +S21402929073632F6C765F66732E63000000003C02D9 +S2140292A07804B306EE08280B610D990FD011061448 +S2140292B03A166C189D1ACB1CF71E212148236C25E2 +S2140292C08E27AC29C72BDF2DF32F03321034183626 +S2140292D01C381C3A173C0E3EFF3FEC41D443B645C1 +S2140292E093476A493C4B084DCD4E8D504652F95332 +S2140292F0A5554B57EA58825A135C9C5D1F5F9A60CD +S2140293000D627963DD6439668D67D9681D6A596BAB +S2140293108C6CB76DD96EF36F04710C720B7301749B +S214029320EE74D275AD767F7747780679BB79677A21 +S2140293300A7BA27B327CB77C337DA57D0D7E6C7E5C +S214029340C07E0B7F4B7F827FAF7FD27FEB7FFA7F21 +S214029350FF7F00006C765F6D656D5F616C6C6F639E +S214029360000000005F6C765F6D656D5F6275665F1C +S21402937072656C65617365006C765F6D656D5F72B4 +S21402938065616C6C6F6300005F6C765F6D656D5F28 +S2140293906275665F676574002E2E2F746869726444 +S2140293A070617274792F6C76676C2F7372632F6C90 +S2140293B0765F6D6973632F6C765F6D656D2E6300E5 +S2140293C0436F756C646E277420616C6C6F63617496 +S2140293D065206D656D6F7279000000006C765F6DBA +S2140293E0656D5F6275665F72656C656173653A206E +S2140293F070206973206E6F742061206B6E6F776EBB +S21402940020627566666572006C765F6D656D5F627A +S21402941075665F6765743A204F7574206F66206DB7 +S214029420656D6F72792C2063616E277420616C6C97 +S2140294306F636174652061206E65772020627566B1 +S2140294406665722028696E63726561736520796F3E +S2140294507572204C565F4D454D5F53495A452F68ED +S2140294606561702073697A65290000006C765F6D0D +S214029470656D5F6275665F6765743A206E6F20661B +S214029480726565206275666665722E20496E637225 +S21402949065617365204C565F445241575F4255469C +S2140294A05F4D41585F4E554D2E0000006C765F743E +S2140294B061736B5F6372656174655F626173696332 +S2140294C0000000006C765F7461736B5F63726561A7 +S2140294D0746500002E2E2F7468697264706172744F +S2140294E0792F6C76676C2F7372632F6C765F6D695B +S2140294F073632F6C765F7461736B2E6300000000DB +S2140295005F6C765F7478745F6765745F73697A659B +S21402951000000000202C2E3B3A2D5F002E2E2F74CA +S2140295206869726470617274792F6C76676C2F73D7 +S21402953072632F6C765F6D6973632F6C765F7478D7 +S214029540742E63006C765F7478745F6765745F73FD +S214029550697A653A20696E7465676572206F76650A +S21402956072666C6F77207768696C652063616C63DE +S214029570756C6174696E67207465787420686569B5 +S21402958067687400FFFF000010840000EF808C0004 +S2140295906C765F696D675F64657369676E0000006D +S2140295A06C765F696D675F7365745F6175746F5F14 +S2140295B073697A65000000006C765F696D675F7399 +S2140295C065745F6F66667365745F78006C765F6954 +S2140295D06D675F7365745F6F66667365745F790047 +S2140295E06C765F696D675F6765745F7372630000B0 +S2140295F06C765F696D675F6765745F66696C655FE9 +S2140296006E616D65000000006C765F696D675F676E +S21402961065745F6175746F5F73697A650000000038 +S2140296206C765F696D675F7365745F737263000063 +S2140296306C765F696D675F637265617465000000D2 +S2140296406C765F696D675F6765745F6F6666736584 +S214029650745F78006C765F696D675F6765745F6FCD +S21402966066667365745F79006C765F696D675F67BF +S21402967065745F7069766F74000000006C765F69CF +S2140296806D675F6765745F616E676C6500000000FA +S2140296906C765F696D675F6765745F7A6F6F6D0082 +S2140296A06C765F696D675F6765745F616E7469612A +S2140296B06C696173000000002E2E2F746869726454 +S2140296C070617274792F6C76676C2F7372632F6C6D +S2140296D0765F776964676574732F6C765F696D670A +S2140296E02E6300006C765F696D675F7365745F73E7 +S2140296F072633A20756E6B6E6F776E207479706542 +S214029700000000006C765F696D675F7365745F7357 +S21402971072633A20756E6B6E6F776E20696D616745 +S21402972065207479706500006C765F696D675F739B +S21402973065745F7372633A2020604C565F494D47EA +S2140297405F5352435F5641524941424C4560207432 +S21402975079706520666F756E64000000696D6167DA +S2140297606520637265617465640000006C765F69EB +S2140297706D6700006C765F6C6162656C5F73657422 +S2140297805F646F745F746D70000000006C765F6CCF +S2140297906162656C5F7365745F616C69676E000019 +S2140297A06C765F6C6162656C5F7365745F74657816 +S2140297B0745F73656C5F7374617274006C765F6C51 +S2140297C06162656C5F7365745F746578745F7365F8 +S2140297D06C5F656E640000006C765F6C6162656C3F +S2140297E05F6765745F746578740000006C765F6C02 +S2140297F06162656C5F6765745F6C6F6E675F6D6FE5 +S214029800646500006C765F6C6162656C5F676574A8 +S2140298105F616C69676E00006C765F6C6162656C96 +S2140298205F6765745F7265636F6C6F72000000003D +S2140298306C765F6C6162656C5F6765745F616E69AA +S2140298406D5F7370656564006C765F6C6162656CF3 +S2140298505F6765745F6C65747465725F706F7300C2 +S2140298606C765F6C6162656C5F6765745F6C65746D +S2140298707465725F6F6E00006C765F6C6162656C19 +S2140298805F7365745F746578740000006C765F6C55 +S2140298906162656C5F7365745F746578745F666D2C +S2140298A0740000006C765F6C6162656C5F73657451 +S2140298B05F746578745F7374617469630000000096 +S2140298C06C765F6C6162656C5F7365745F6C6F6EFD +S2140298D0675F6D6F646500006C765F6C6162656CD5 +S2140298E05F7365745F7265636F6C6F720000000071 +S2140298F06C765F6C6162656C5F637265617465004D +S2140299006C765F6C6162656C5F7365745F616E69CD +S2140299106D5F7370656564006C765F6C6162656C22 +S2140299205F6765745F746578745F73656C5F737484 +S214029930617274006C765F6C6162656C5F676574F9 +S2140299405F746578745F73656C5F656E64000000B3 +S2140299506C765F6C6162656C5F69735F6368617287 +S2140299605F756E6465725F706F7300006C765F6C15 +S2140299706162656C5F696E735F746578740000007F +S2140299806C765F6C6162656C5F6375745F74657834 +S214029990740000002E2E2F746869726470617274EF +S2140299A0792F6C76676C2F7372632F6C765F77698C +S2140299B064676574732F6C765F6C6162656C2E6388 +S2140299C0000000004661696C656420746F20616C5B +S2140299D06C6F63617465206D656D6F727920666F5A +S2140299E07220646F745F746D705F70747200000032 +S2140299F054657874000000006C6162656C206372C6 +S214029A0065617465640000006C765F6C6162656C0B +S214029A1000000000F8B500BFF8BC08BC9E467047C0 +S214029A2089020000F8B500BFF8BC08BC9E46704725 +S208029A3065020000C4 +S20C029A348017FF7F010000000D +S214029A3C0100000048656C6C6F20576F726C6421D5 +S214029A4CA50B0100990101001200030000000000A2 +S214029A5C2400002084670200AC6202000C62020042 +S214029A6C1455020010000250000000000000000016 +S214029A7C00000000A86B002010000000986B00206D +S214029A8C100000006D3A01007D3B0100CD3C010048 +S214029A9C353D0100053D01007D3C01003D3B0100CA +S208029AAC9F3A0100D5 S804000000FB diff --git a/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/main.o b/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/main.o index ef188d19..811199e6 100644 Binary files a/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/main.o and b/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/main.o differ diff --git a/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/oracle.d b/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/oracle.d index f1c383c0..f9fc5e2b 100644 --- a/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/oracle.d +++ b/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/oracle.d @@ -332,7 +332,7 @@ oracle.d oracle.o: .././oracle.c .././oracle.h ../Config/pc_board.h \ ../thirdparty/lvgl/src/lv_draw/lv_img_cache.h \ ../thirdparty/lvgl/src/lv_draw/lv_img_decoder.h \ ../thirdparty/lvgl/src/lv_api_map.h ../thirdparty/lvgl/src/../lvgl.h \ - ../devices/display/p_ssd1963.h + ../devices/display/p_ssd1963.h .././hornet.h .././oracle.h: @@ -1101,3 +1101,5 @@ c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\arm\arm-gnu-toolchain\arm-no ../thirdparty/lvgl/src/../lvgl.h: ../devices/display/p_ssd1963.h: + +.././hornet.h: diff --git a/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/oracle.o b/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/oracle.o index c19315c1..03d8ffae 100644 Binary files a/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/oracle.o and b/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/oracle.o differ diff --git a/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/devices/display/p_ssd1963.c b/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/devices/display/p_ssd1963.c index 74a03cf5..48c96911 100644 --- a/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/devices/display/p_ssd1963.c +++ b/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/devices/display/p_ssd1963.c @@ -57,6 +57,7 @@ static bool cmd_mode = true; void ssd1963_init(void) { ssd1963_reset(); + LV_DRV_DISP_PAR_CS(0); ssd1963_cmd(0xE2); //PLL multiplier, set PLL clock to 120M ssd1963_data(0x23); //N=0x36 for 6.5M, 0x23 for 10M crystal ssd1963_data(0x02); @@ -75,7 +76,9 @@ void ssd1963_init(void) ssd1963_data(0x04); ssd1963_data(0x3A); ssd1963_data(0xB6); - + //ssd1963_data(0x01); + //ssd1963_data(0x55); + //ssd1963_data(0x54); ssd1963_cmd(0xB0); ssd1963_data(0x28); // set 18-bit for 7" panel TY700TFT800480 ssd1963_data(0x80); // set TTL mode @@ -203,9 +206,11 @@ static void ssd1963_io_init(void) static void ssd1963_reset(void) { /*Hardware reset*/ + asm volatile("nop"); LV_DRV_DISP_RST(1); LV_DRV_DELAY_MS(50); LV_DRV_DISP_RST(0); + asm volatile("nop"); LV_DRV_DELAY_MS(50); LV_DRV_DISP_RST(1); LV_DRV_DELAY_MS(50); diff --git a/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/drivers/p_gpio.c b/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/drivers/p_gpio.c index bdd8a7d2..c95f2f9f 100644 --- a/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/drivers/p_gpio.c +++ b/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/drivers/p_gpio.c @@ -1,41 +1,48 @@ #include "p_gpio.h" +static void p_weird_delay(void) +{ + for(int x = 0; x < 8; x++) + { + asm volatile("nop"); + } +} void p_gpio_init(void) { // set data port config p_port_config data_config; memset(&data_config, 0, sizeof(data_config)); data_config.direction = GPIO_DIRECTION_OUT; - data_config.pull_mode = GPIO_PULL_DOWN; + data_config.pull_mode = GPIO_PULL_OFF; data_config.function = GPIO_PIN_FUNCTION_OFF; p_gpio_set_port_group_config(SSD1963_TFT_DATA_PORT, SSD1963_TFT_DATA_MASK, &data_config); // set lcd control pin configs // Chip select gpio_set_pin_direction(SSD1963_TFT_CS, GPIO_DIRECTION_OUT); - gpio_set_pin_pull_mode(SSD1963_TFT_CS, GPIO_PULL_DOWN); + gpio_set_pin_pull_mode(SSD1963_TFT_CS, GPIO_PULL_OFF); gpio_set_pin_function(SSD1963_TFT_CS, GPIO_PIN_FUNCTION_OFF); // Reset pin gpio_set_pin_direction(SSD1963_TFT_nRST, GPIO_DIRECTION_OUT); - gpio_set_pin_pull_mode(SSD1963_TFT_nRST, GPIO_PULL_DOWN); + gpio_set_pin_pull_mode(SSD1963_TFT_nRST, GPIO_PULL_OFF); gpio_set_pin_function(SSD1963_TFT_nRST, GPIO_PIN_FUNCTION_OFF); // Read pin gpio_set_pin_direction(SSD1963_TFT_RD, GPIO_DIRECTION_OUT); - gpio_set_pin_pull_mode(SSD1963_TFT_RD, GPIO_PULL_DOWN); + gpio_set_pin_pull_mode(SSD1963_TFT_RD, GPIO_PULL_OFF); gpio_set_pin_function(SSD1963_TFT_RD, GPIO_PIN_FUNCTION_OFF); // RSDC pin, aka Read/Send Data/Command pin gpio_set_pin_direction(SSD1963_TFT_RSDC, GPIO_DIRECTION_OUT); - gpio_set_pin_pull_mode(SSD1963_TFT_RSDC, GPIO_PULL_DOWN); + gpio_set_pin_pull_mode(SSD1963_TFT_RSDC, GPIO_PULL_OFF); gpio_set_pin_function(SSD1963_TFT_RSDC, GPIO_PIN_FUNCTION_OFF); // Write Pin gpio_set_pin_direction(SSD1963_TFT_WR, GPIO_DIRECTION_OUT); - gpio_set_pin_pull_mode(SSD1963_TFT_WR, GPIO_PULL_DOWN); + gpio_set_pin_pull_mode(SSD1963_TFT_WR, GPIO_PULL_OFF); gpio_set_pin_function(SSD1963_TFT_WR, GPIO_PIN_FUNCTION_OFF); // TE, tear enable, aka frame sync @@ -43,31 +50,32 @@ void p_gpio_init(void) gpio_set_pin_pull_mode(SSD1963_TFT_TE, GPIO_PULL_DOWN); gpio_set_pin_function(SSD1963_TFT_TE, GPIO_PIN_FUNCTION_OFF); - gpio_set_pin_level(SSD1963_TFT_CS, 1); gpio_set_pin_level(SSD1963_TFT_nRST, 1); gpio_set_pin_level(SSD1963_TFT_RD, 1); gpio_set_pin_level(SSD1963_TFT_WR, 1); + } -void p_gpio_parallel_write(PortGroup* group, uint32_t mask, uint32_t data) +void p_gpio_parallel_write(PortGroup* group, uint32_t mask, uint16_t data) { gpio_set_pin_level(SSD1963_TFT_CS, 0); - p_gpio_set_port_data(group, mask, data); + p_gpio_set_port_data(group, mask, (uint32_t)data); + p_weird_delay(); gpio_set_pin_level(SSD1963_TFT_WR, 0); - delay_us(1); + p_weird_delay(); gpio_set_pin_level(SSD1963_TFT_WR, 1); - delay_us(1); + gpio_set_pin_level(SSD1963_TFT_CS, 1); } -void p_gpio_parallel_write_arr(PortGroup* group, uint32_t mask, uint32_t* data, uint32_t len) +void p_gpio_parallel_write_arr(PortGroup* group, uint32_t mask, uint16_t* data, uint16_t len) { for(int ind = 0; ind < len; ind++) { - p_gpio_parallel_write(group, mask, data); + p_gpio_parallel_write(group, mask, data[ind]); } } diff --git a/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/drivers/p_gpio.h b/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/drivers/p_gpio.h index 3e8e84a8..61da91a5 100644 --- a/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/drivers/p_gpio.h +++ b/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/drivers/p_gpio.h @@ -17,9 +17,9 @@ typedef struct p_port_config void p_gpio_init(void); -void p_gpio_parallel_write(PortGroup* group, uint32_t mask, uint32_t data); +void p_gpio_parallel_write(PortGroup* group, uint32_t mask, uint16_t data); -void p_gpio_parallel_write_arr(PortGroup* group, uint32_t mask, uint32_t* data, uint32_t len); +void p_gpio_parallel_write_arr(PortGroup* group, uint32_t mask, uint16_t* data, uint16_t len); void p_gpio_set_port_data(PortGroup* const port, const uint32_t mask, const uint32_t data); diff --git a/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/drivers/p_i2c.c b/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/drivers/p_i2c.c index 182506c4..5c4bdb61 100644 --- a/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/drivers/p_i2c.c +++ b/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/drivers/p_i2c.c @@ -4,19 +4,19 @@ struct i2c_m_sync_desc p_i2c_master; void p_i2c_init(void) { - // clock init - hri_gclk_write_PCHCTRL_reg(GCLK, SERCOM3_GCLK_ID_CORE, CONF_GCLK_SERCOM3_CORE_SRC | (1 << GCLK_PCHCTRL_CHEN_Pos)); - hri_gclk_write_PCHCTRL_reg(GCLK, SERCOM3_GCLK_ID_SLOW, CONF_GCLK_SERCOM3_SLOW_SRC | (1 << GCLK_PCHCTRL_CHEN_Pos)); - - hri_mclk_set_APBBMASK_SERCOM3_bit(MCLK); - - i2c_m_sync_init(&p_i2c_master, I2C_MASTER_SERCOM); - - // port init - gpio_set_pin_pull_mode(I2C_MASTER_SDA, GPIO_PULL_OFF); - gpio_set_pin_function(I2C_MASTER_SDA, I2C_MASTER_SDA_MUX); - gpio_set_pin_pull_mode(I2C_MASTER_SCL, GPIO_PULL_OFF); - gpio_set_pin_function(I2C_MASTER_SCL, I2C_MASTER_SCL_MUX); + //// clock init + //hri_gclk_write_PCHCTRL_reg(GCLK, SERCOM3_GCLK_ID_CORE, CONF_GCLK_SERCOM3_CORE_SRC | (1 << GCLK_PCHCTRL_CHEN_Pos)); + //hri_gclk_write_PCHCTRL_reg(GCLK, SERCOM3_GCLK_ID_SLOW, CONF_GCLK_SERCOM3_SLOW_SRC | (1 << GCLK_PCHCTRL_CHEN_Pos)); +// + //hri_mclk_set_APBBMASK_SERCOM3_bit(MCLK); + // + //i2c_m_sync_init(&p_i2c_master, I2C_MASTER_SERCOM); + // + //// port init + //gpio_set_pin_pull_mode(I2C_MASTER_SDA, GPIO_PULL_OFF); + //gpio_set_pin_function(I2C_MASTER_SDA, I2C_MASTER_SDA_MUX); + //gpio_set_pin_pull_mode(I2C_MASTER_SCL, GPIO_PULL_OFF); + //gpio_set_pin_function(I2C_MASTER_SCL, I2C_MASTER_SCL_MUX); } // diff --git a/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/drivers/p_tcc.c b/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/drivers/p_tcc.c index 3e5ece24..279556bf 100644 --- a/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/drivers/p_tcc.c +++ b/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/drivers/p_tcc.c @@ -45,7 +45,7 @@ void p_tcc_init(void) //TIMER_0_task2.interval = 200; //TIMER_0_task2.cb = TIMER_0_task2_cb; //TIMER_0_task2.mode = TIMER_TASK_REPEAT; - + timer_add_task(&p_tcc_inst, &TIMER_0_task1); //timer_add_task(&p_tcc_inst, &TIMER_0_task2); timer_start(&p_tcc_inst); diff --git a/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/e54_gfx_learning.cproj b/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/e54_gfx_learning.cproj index 99808566..a3cd8986 100644 --- a/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/e54_gfx_learning.cproj +++ b/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/e54_gfx_learning.cproj @@ -20,10 +20,10 @@ false true true - + 0x20000000 true - + exception_table 2 0 0 @@ -706,6 +706,9 @@ compile + + compile + compile diff --git a/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/hornet.h b/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/hornet.h new file mode 100644 index 00000000..98a27304 --- /dev/null +++ b/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/hornet.h @@ -0,0 +1,469 @@ +/* + * hornet.h + * + * Created: 5/25/2020 11:23:30 AM + * Author: Penguin + */ +#ifndef _HORNET_H_ +#define _HORNET_H_ +#include "lvgl/lvgl.h" + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_HORNET +#define LV_ATTRIBUTE_IMG_HORNET +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_IMG_HORNET uint8_t hornet_map[] = { + 0x0b, 0x06, 0x07, 0xff, /*Color of index 0*/ + 0x2c, 0x88, 0xac, 0xff, /*Color of index 1*/ + 0x25, 0x1f, 0x87, 0xff, /*Color of index 2*/ + 0x39, 0x51, 0x89, 0xff, /*Color of index 3*/ + 0x6d, 0xc4, 0xdc, 0xff, /*Color of index 4*/ + 0x48, 0x83, 0xc8, 0xff, /*Color of index 5*/ + 0x32, 0x56, 0xc6, 0xff, /*Color of index 6*/ + 0x4d, 0x43, 0x46, 0xff, /*Color of index 7*/ + 0x16, 0x0a, 0x48, 0xff, /*Color of index 8*/ + 0x5c, 0xa2, 0xbc, 0xff, /*Color of index 9*/ + 0x38, 0x2d, 0xc2, 0xff, /*Color of index 10*/ + 0x67, 0x6c, 0x8b, 0xff, /*Color of index 11*/ + 0x2d, 0x27, 0x48, 0xff, /*Color of index 12*/ + 0x22, 0x36, 0x89, 0xff, /*Color of index 13*/ + 0x41, 0x6d, 0xc7, 0xff, /*Color of index 14*/ + 0x76, 0x85, 0xc3, 0xff, /*Color of index 15*/ + 0x9a, 0xa4, 0xc6, 0xff, /*Color of index 16*/ + 0x20, 0x35, 0xa5, 0xff, /*Color of index 17*/ + 0x21, 0x26, 0x69, 0xff, /*Color of index 18*/ + 0x39, 0x51, 0xa9, 0xff, /*Color of index 19*/ + 0xa9, 0xe2, 0xe8, 0xff, /*Color of index 20*/ + 0x2e, 0x24, 0x26, 0xff, /*Color of index 21*/ + 0x40, 0x6e, 0xe9, 0xff, /*Color of index 22*/ + 0x43, 0x88, 0xe9, 0xff, /*Color of index 23*/ + 0x4b, 0xa6, 0xae, 0xff, /*Color of index 24*/ + 0x48, 0x38, 0x87, 0xff, /*Color of index 25*/ + 0xc9, 0xc4, 0xc5, 0xff, /*Color of index 26*/ + 0x33, 0x6e, 0xa8, 0xff, /*Color of index 27*/ + 0x6a, 0x64, 0x69, 0xff, /*Color of index 28*/ + 0x40, 0x56, 0xe4, 0xff, /*Color of index 29*/ + 0x2e, 0x34, 0x69, 0xff, /*Color of index 30*/ + 0x17, 0x09, 0x28, 0xff, /*Color of index 31*/ + 0x4e, 0x55, 0xa8, 0xff, /*Color of index 32*/ + 0x96, 0xa9, 0xe7, 0xff, /*Color of index 33*/ + 0x83, 0x83, 0x83, 0xff, /*Color of index 34*/ + 0x1b, 0x10, 0x67, 0xff, /*Color of index 35*/ + 0x80, 0x88, 0x9e, 0xff, /*Color of index 36*/ + 0x60, 0x6e, 0xc7, 0xff, /*Color of index 37*/ + 0x5f, 0xa6, 0xe7, 0xff, /*Color of index 38*/ + 0x47, 0x96, 0xe9, 0xff, /*Color of index 39*/ + 0x79, 0x87, 0xe6, 0xff, /*Color of index 40*/ + 0x2e, 0x20, 0xa9, 0xff, /*Color of index 41*/ + 0x27, 0x45, 0x69, 0xff, /*Color of index 42*/ + 0x35, 0x43, 0x8a, 0xff, /*Color of index 43*/ + 0x64, 0x6f, 0xa7, 0xff, /*Color of index 44*/ + 0x29, 0x33, 0x49, 0xff, /*Color of index 45*/ + 0xaf, 0xb5, 0xc0, 0xff, /*Color of index 46*/ + 0x5f, 0x57, 0x89, 0xff, /*Color of index 47*/ + 0x43, 0x55, 0xc7, 0xff, /*Color of index 48*/ + 0x2d, 0x46, 0xa9, 0xff, /*Color of index 49*/ + 0x89, 0x97, 0x9f, 0xff, /*Color of index 50*/ + 0x3f, 0x60, 0xab, 0xff, /*Color of index 51*/ + 0x1d, 0x2c, 0x88, 0xff, /*Color of index 52*/ + 0x48, 0x79, 0xc9, 0xff, /*Color of index 53*/ + 0x1b, 0x15, 0x27, 0xff, /*Color of index 54*/ + 0x82, 0x94, 0xc6, 0xff, /*Color of index 55*/ + 0x2f, 0x28, 0x69, 0xff, /*Color of index 56*/ + 0x69, 0xb6, 0xe6, 0xff, /*Color of index 57*/ + 0x84, 0xd4, 0xdf, 0xff, /*Color of index 58*/ + 0x1b, 0x15, 0x48, 0xff, /*Color of index 59*/ + 0x64, 0x93, 0xc8, 0xff, /*Color of index 60*/ + 0x5b, 0x6e, 0xe6, 0xff, /*Color of index 61*/ + 0x15, 0x47, 0xc1, 0xff, /*Color of index 62*/ + 0xbc, 0xc4, 0xe4, 0xff, /*Color of index 63*/ + 0x1e, 0x37, 0x98, 0xff, /*Color of index 64*/ + 0x43, 0x63, 0xc6, 0xff, /*Color of index 65*/ + 0xe8, 0xe4, 0xe1, 0xff, /*Color of index 66*/ + 0x2a, 0x54, 0x73, 0xff, /*Color of index 67*/ + 0x3e, 0x3a, 0x67, 0xff, /*Color of index 68*/ + 0x2b, 0x53, 0xb7, 0xff, /*Color of index 69*/ + 0x32, 0x2b, 0x87, 0xff, /*Color of index 70*/ + 0x60, 0x8a, 0xe6, 0xff, /*Color of index 71*/ + 0x1e, 0x14, 0x19, 0xff, /*Color of index 72*/ + 0x48, 0x84, 0xd6, 0xff, /*Color of index 73*/ + 0x3f, 0x37, 0x38, 0xff, /*Color of index 74*/ + 0x64, 0x99, 0xea, 0xff, /*Color of index 75*/ + 0x81, 0x98, 0xd6, 0xff, /*Color of index 76*/ + 0x47, 0x5f, 0x87, 0xff, /*Color of index 77*/ + 0x21, 0x26, 0x59, 0xff, /*Color of index 78*/ + 0x1a, 0x16, 0x37, 0xff, /*Color of index 79*/ + 0x50, 0x55, 0xe6, 0xff, /*Color of index 80*/ + 0x77, 0x6e, 0x88, 0xff, /*Color of index 81*/ + 0x94, 0xa8, 0xd8, 0xff, /*Color of index 82*/ + 0x73, 0x7a, 0xa9, 0xff, /*Color of index 83*/ + 0x22, 0x19, 0x57, 0xff, /*Color of index 84*/ + 0x72, 0xa8, 0xeb, 0xff, /*Color of index 85*/ + 0xde, 0xf3, 0xf6, 0xff, /*Color of index 86*/ + 0x9e, 0xa5, 0xa3, 0xff, /*Color of index 87*/ + 0x49, 0x3d, 0xe0, 0xff, /*Color of index 88*/ + 0x24, 0x1c, 0x67, 0xff, /*Color of index 89*/ + 0x94, 0x8c, 0xa2, 0xff, /*Color of index 90*/ + 0x54, 0x62, 0xa8, 0xff, /*Color of index 91*/ + 0x83, 0xc4, 0xec, 0xff, /*Color of index 92*/ + 0x48, 0x6e, 0xd7, 0xff, /*Color of index 93*/ + 0x3f, 0x47, 0xa9, 0xff, /*Color of index 94*/ + 0x38, 0x3a, 0xa9, 0xff, /*Color of index 95*/ + 0xd6, 0xd4, 0xd5, 0xff, /*Color of index 96*/ + 0x37, 0x79, 0xa7, 0xff, /*Color of index 97*/ + 0x54, 0x62, 0xe7, 0xff, /*Color of index 98*/ + 0x61, 0x58, 0x59, 0xff, /*Color of index 99*/ + 0x48, 0x46, 0x88, 0xff, /*Color of index 100*/ + 0xa7, 0xb4, 0xd6, 0xff, /*Color of index 101*/ + 0x9a, 0x99, 0xb0, 0xff, /*Color of index 102*/ + 0x36, 0x50, 0x9b, 0xff, /*Color of index 103*/ + 0x20, 0x26, 0x78, 0xff, /*Color of index 104*/ + 0x28, 0x23, 0x39, 0xff, /*Color of index 105*/ + 0xb4, 0xb5, 0xb3, 0xff, /*Color of index 106*/ + 0x45, 0x7a, 0xe7, 0xff, /*Color of index 107*/ + 0x96, 0xb5, 0xe8, 0xff, /*Color of index 108*/ + 0x31, 0x33, 0x59, 0xff, /*Color of index 109*/ + 0x46, 0x7a, 0xd8, 0xff, /*Color of index 110*/ + 0xa2, 0x9a, 0xc1, 0xff, /*Color of index 111*/ + 0x16, 0x0c, 0x16, 0xff, /*Color of index 112*/ + 0x7e, 0x88, 0xb1, 0xff, /*Color of index 113*/ + 0x63, 0x62, 0x88, 0xff, /*Color of index 114*/ + 0x79, 0x76, 0x79, 0xff, /*Color of index 115*/ + 0x30, 0x29, 0x76, 0xff, /*Color of index 116*/ + 0x43, 0x3d, 0xc1, 0xff, /*Color of index 117*/ + 0x30, 0x3c, 0x97, 0xff, /*Color of index 118*/ + 0x2d, 0x36, 0x79, 0xff, /*Color of index 119*/ + 0x4c, 0x47, 0x67, 0xff, /*Color of index 120*/ + 0x30, 0x45, 0x99, 0xff, /*Color of index 121*/ + 0x60, 0xb5, 0xbf, 0xff, /*Color of index 122*/ + 0x5f, 0x97, 0xf7, 0xff, /*Color of index 123*/ + 0x4b, 0x62, 0xd7, 0xff, /*Color of index 124*/ + 0x5c, 0x87, 0xc9, 0xff, /*Color of index 125*/ + 0x18, 0x2d, 0x95, 0xff, /*Color of index 126*/ + 0x59, 0x79, 0xe8, 0xff, /*Color of index 127*/ + 0x45, 0x49, 0xc0, 0xff, /*Color of index 128*/ + 0x8f, 0x96, 0x94, 0xff, /*Color of index 129*/ + 0x29, 0x97, 0x9c, 0xff, /*Color of index 130*/ + 0xae, 0xdd, 0xeb, 0xff, /*Color of index 131*/ + 0x64, 0xaa, 0xc0, 0xff, /*Color of index 132*/ + 0x78, 0x9a, 0xe9, 0xff, /*Color of index 133*/ + 0xd1, 0xea, 0xf3, 0xff, /*Color of index 134*/ + 0x32, 0x62, 0xc5, 0xff, /*Color of index 135*/ + 0x3e, 0x34, 0xd8, 0xff, /*Color of index 136*/ + 0x61, 0x5a, 0x68, 0xff, /*Color of index 137*/ + 0x42, 0x98, 0xda, 0xff, /*Color of index 138*/ + 0x3e, 0x64, 0xf1, 0xff, /*Color of index 139*/ + 0x78, 0x86, 0x92, 0xff, /*Color of index 140*/ + 0x59, 0xb8, 0xd8, 0xff, /*Color of index 141*/ + 0x62, 0x7a, 0xc6, 0xff, /*Color of index 142*/ + 0xdd, 0xdc, 0xe4, 0xff, /*Color of index 143*/ + 0x7c, 0x7c, 0x86, 0xff, /*Color of index 144*/ + 0x54, 0x4a, 0x57, 0xff, /*Color of index 145*/ + 0x4f, 0xa9, 0xda, 0xff, /*Color of index 146*/ + 0x7b, 0x8a, 0xd5, 0xff, /*Color of index 147*/ + 0xa4, 0xa9, 0xaf, 0xff, /*Color of index 148*/ + 0x7b, 0xa5, 0xd9, 0xff, /*Color of index 149*/ + 0xcd, 0xcd, 0xd6, 0xff, /*Color of index 150*/ + 0x6f, 0x6b, 0x76, 0xff, /*Color of index 151*/ + 0x7c, 0xd2, 0xec, 0xff, /*Color of index 152*/ + 0x94, 0xb8, 0xf7, 0xff, /*Color of index 153*/ + 0x31, 0x99, 0xa9, 0xff, /*Color of index 154*/ + 0x6c, 0x76, 0x84, 0xff, /*Color of index 155*/ + 0x82, 0xcb, 0xe1, 0xff, /*Color of index 156*/ + 0x19, 0x50, 0xd8, 0xff, /*Color of index 157*/ + 0x7b, 0xb5, 0xf5, 0xff, /*Color of index 158*/ + 0x49, 0x6d, 0xb9, 0xff, /*Color of index 159*/ + 0x47, 0x79, 0xbb, 0xff, /*Color of index 160*/ + 0x34, 0x2b, 0xac, 0xff, /*Color of index 161*/ + 0x5e, 0x89, 0xd7, 0xff, /*Color of index 162*/ + 0x54, 0x86, 0xa4, 0xff, /*Color of index 163*/ + 0x29, 0x21, 0x97, 0xff, /*Color of index 164*/ + 0x18, 0x0c, 0x57, 0xff, /*Color of index 165*/ + 0xaf, 0xaa, 0xc3, 0xff, /*Color of index 166*/ + 0xbf, 0xe6, 0xed, 0xff, /*Color of index 167*/ + 0x64, 0xac, 0xac, 0xff, /*Color of index 168*/ + 0x15, 0x08, 0x37, 0xff, /*Color of index 169*/ + 0x5c, 0xa5, 0xf9, 0xff, /*Color of index 170*/ + 0x32, 0x44, 0x7b, 0xff, /*Color of index 171*/ + 0xbf, 0xbc, 0xc1, 0xff, /*Color of index 172*/ + 0x7e, 0x9b, 0xf6, 0xff, /*Color of index 173*/ + 0x5a, 0x57, 0x78, 0xff, /*Color of index 174*/ + 0x5f, 0x6e, 0xb7, 0xff, /*Color of index 175*/ + 0x4b, 0x61, 0x99, 0xff, /*Color of index 176*/ + 0x64, 0x7a, 0xb9, 0xff, /*Color of index 177*/ + 0x22, 0x1a, 0x77, 0xff, /*Color of index 178*/ + 0x47, 0x47, 0x99, 0xff, /*Color of index 179*/ + 0x66, 0x62, 0x98, 0xff, /*Color of index 180*/ + 0x45, 0x87, 0xf6, 0xff, /*Color of index 181*/ + 0x96, 0xa9, 0xf6, 0xff, /*Color of index 182*/ + 0x1c, 0x12, 0x77, 0xff, /*Color of index 183*/ + 0x4c, 0x96, 0xf7, 0xff, /*Color of index 184*/ + 0x4a, 0x54, 0xd8, 0xff, /*Color of index 185*/ + 0xb6, 0xc7, 0xfb, 0xff, /*Color of index 186*/ + 0x40, 0x3a, 0x78, 0xff, /*Color of index 187*/ + 0x5f, 0x87, 0xfa, 0xff, /*Color of index 188*/ + 0x7a, 0xa6, 0xf5, 0xff, /*Color of index 189*/ + 0x97, 0x8b, 0xae, 0xff, /*Color of index 190*/ + 0x4a, 0x48, 0x78, 0xff, /*Color of index 191*/ + 0xbb, 0xd7, 0xf8, 0xff, /*Color of index 192*/ + 0xf8, 0xfa, 0xfb, 0xff, /*Color of index 193*/ + 0x9a, 0xc8, 0xf2, 0xff, /*Color of index 194*/ + 0xeb, 0xeb, 0xee, 0xff, /*Color of index 195*/ + 0x49, 0x6e, 0xfb, 0xff, /*Color of index 196*/ + 0x4f, 0x62, 0xb7, 0xff, /*Color of index 197*/ + 0x59, 0x64, 0xfb, 0xff, /*Color of index 198*/ + 0x65, 0x79, 0xd9, 0xff, /*Color of index 199*/ + 0x30, 0x39, 0x88, 0xff, /*Color of index 200*/ + 0x47, 0x37, 0x97, 0xff, /*Color of index 201*/ + 0x42, 0x39, 0x48, 0xff, /*Color of index 202*/ + 0x25, 0x18, 0x29, 0xff, /*Color of index 203*/ + 0x9b, 0xda, 0xe4, 0xff, /*Color of index 204*/ + 0x25, 0x17, 0x48, 0xff, /*Color of index 205*/ + 0x99, 0x9d, 0xd7, 0xff, /*Color of index 206*/ + 0x25, 0x18, 0x38, 0xff, /*Color of index 207*/ + 0x52, 0x56, 0xf7, 0xff, /*Color of index 208*/ + 0x49, 0x52, 0x99, 0xff, /*Color of index 209*/ + 0xb4, 0xbc, 0xe5, 0xff, /*Color of index 210*/ + 0x3e, 0x37, 0x5a, 0xff, /*Color of index 211*/ + 0x4c, 0x94, 0x98, 0xff, /*Color of index 212*/ + 0x66, 0x95, 0xd9, 0xff, /*Color of index 213*/ + 0xd4, 0xd2, 0xfc, 0xff, /*Color of index 214*/ + 0x4e, 0x58, 0xb7, 0xff, /*Color of index 215*/ + 0x5d, 0x59, 0x97, 0xff, /*Color of index 216*/ + 0x3f, 0x34, 0xc3, 0xff, /*Color of index 217*/ + 0x4b, 0x49, 0xdc, 0xff, /*Color of index 218*/ + 0x6b, 0x78, 0x95, 0xff, /*Color of index 219*/ + 0x3b, 0x61, 0xb9, 0xff, /*Color of index 220*/ + 0x31, 0x29, 0x98, 0xff, /*Color of index 221*/ + 0x43, 0x7a, 0xf9, 0xff, /*Color of index 222*/ + 0x46, 0x3c, 0xd0, 0xff, /*Color of index 223*/ + 0x5b, 0x78, 0xfb, 0xff, /*Color of index 224*/ + 0x7b, 0x7b, 0x99, 0xff, /*Color of index 225*/ + 0x23, 0x3c, 0xa6, 0xff, /*Color of index 226*/ + 0x8b, 0x9d, 0xc7, 0xff, /*Color of index 227*/ + 0xdf, 0xdb, 0xda, 0xff, /*Color of index 228*/ + 0x50, 0x53, 0x88, 0xff, /*Color of index 229*/ + 0x96, 0x9b, 0x9f, 0xff, /*Color of index 230*/ + 0x7a, 0xb9, 0xea, 0xff, /*Color of index 231*/ + 0x3a, 0x55, 0xb7, 0xff, /*Color of index 232*/ + 0x2f, 0x2a, 0x57, 0xff, /*Color of index 233*/ + 0xa7, 0xab, 0xd7, 0xff, /*Color of index 234*/ + 0xbb, 0xba, 0xd9, 0xff, /*Color of index 235*/ + 0x38, 0x29, 0x38, 0xff, /*Color of index 236*/ + 0x89, 0x8b, 0x8e, 0xff, /*Color of index 237*/ + 0x69, 0xbb, 0xdb, 0xff, /*Color of index 238*/ + 0xa1, 0xd7, 0xec, 0xff, /*Color of index 239*/ + 0xab, 0xb8, 0xf8, 0xff, /*Color of index 240*/ + 0x68, 0x6f, 0x96, 0xff, /*Color of index 241*/ + 0x51, 0x6c, 0xab, 0xff, /*Color of index 242*/ + 0x5d, 0x6f, 0xd8, 0xff, /*Color of index 243*/ + 0x5b, 0x6e, 0xfb, 0xff, /*Color of index 244*/ + 0x77, 0x70, 0x99, 0xff, /*Color of index 245*/ + 0x31, 0x63, 0xd5, 0xff, /*Color of index 246*/ + 0x48, 0x48, 0xd1, 0xff, /*Color of index 247*/ + 0x44, 0x5a, 0xfc, 0xff, /*Color of index 248*/ + 0x73, 0xcc, 0xdc, 0xff, /*Color of index 249*/ + 0x54, 0x4b, 0x4b, 0xff, /*Color of index 250*/ + 0x7a, 0x8c, 0xc3, 0xff, /*Color of index 251*/ + 0x9f, 0xac, 0xc6, 0xff, /*Color of index 252*/ + 0x37, 0x2c, 0x2b, 0xff, /*Color of index 253*/ + 0xcf, 0xcb, 0xcb, 0xff, /*Color of index 254*/ + 0x6f, 0x6b, 0x6b, 0xff, /*Color of index 255*/ + + 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x48, 0x70, 0x70, 0x70, 0x70, 0x48, 0x48, 0x48, 0x36, 0x36, 0x36, 0xcb, 0x69, 0x0c, 0xe9, 0x2d, 0x44, 0x44, 0x77, 0xe9, 0x12, 0x12, 0x77, 0xc8, 0x79, 0x31, 0x13, 0x13, 0x31, 0x76, 0xc8, 0xc8, 0x79, 0x31, 0x13, 0x31, 0x31, 0xe2, 0xe2, 0xe2, 0x40, 0x7e, 0x40, 0xe2, 0xe2, 0xe2, 0x40, 0xe2, 0x31, 0xc5, 0x25, 0xa2, 0x85, 0xc7, 0x30, 0x5e, 0xb3, 0x76, 0x0d, 0x46, 0x46, 0x46, 0x46, 0xdd, 0x40, 0x40, 0x40, 0x5f, 0x5e, 0x13, 0xd1, 0xb3, 0x2b, 0x76, 0x5f, 0x5f, 0x76, 0x76, 0xc8, 0xc8, 0x40, 0xa2, 0x9c, 0x56, 0xc1, 0x14, 0xe7, 0xbd, 0x39, 0x04, 0xbd, 0xe7, 0x3a, 0x26, 0x9c, 0xa7, 0x04, 0x04, 0x14, 0xe7, 0xbc, 0xe0, 0x7b, 0xef, 0xef, 0x47, 0x80, 0x80, 0x3d, 0xbc, 0xf3, 0x33, 0x47, 0x9c, 0x56, 0xc1, 0xc1, 0x56, 0x5c, 0xee, 0x9c, 0xe7, 0x9c, 0xf9, 0x39, 0xef, 0x56, 0x3a, 0xf9, 0x86, 0x9c, 0x85, 0xc7, 0x0e, 0x0e, 0xc7, 0x55, 0xcc, 0x9c, 0x4b, 0xe7, 0x56, 0xc1, 0xc2, 0xa2, 0x35, 0x9f, 0x9f, 0x9f, 0x9f, 0x9f, 0x9f, 0x9f, 0x9f, 0x33, 0x33, 0x20, 0x67, 0x67, 0x79, 0x79, 0x67, 0x20, 0x20, 0x20, 0x13, 0xdc, 0x17, 0x67, 0x12, 0x1e, 0x4e, + 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x48, 0x70, 0x70, 0x70, 0x48, 0x48, 0x48, 0x48, 0x36, 0x36, 0x36, 0x0c, 0x4e, 0x69, 0x69, 0x2d, 0x2b, 0x2b, 0x2b, 0x1e, 0x4e, 0x74, 0x77, 0xc8, 0x79, 0x31, 0x5e, 0x31, 0x31, 0x76, 0xc8, 0xc8, 0x79, 0x31, 0x13, 0x31, 0x31, 0xe2, 0xe2, 0xe2, 0x40, 0x34, 0x40, 0x31, 0x31, 0xe2, 0x31, 0xd7, 0x9f, 0x9f, 0xc5, 0x25, 0x28, 0xc7, 0x30, 0x5e, 0xb3, 0x76, 0x0d, 0x34, 0x34, 0x46, 0x46, 0x7e, 0x40, 0x40, 0x40, 0x76, 0xb3, 0x13, 0xd1, 0xb3, 0x2b, 0x2b, 0x5f, 0x5f, 0x76, 0x40, 0x76, 0x76, 0x40, 0x6e, 0x9c, 0x86, 0xc1, 0x86, 0x04, 0x39, 0xe7, 0xf9, 0x55, 0x39, 0x9c, 0x55, 0x9c, 0x86, 0x9c, 0xee, 0x14, 0x5c, 0xbc, 0xf4, 0x7b, 0xef, 0x83, 0x47, 0x80, 0x5e, 0x62, 0xbc, 0xf3, 0x20, 0x47, 0x04, 0x86, 0xc1, 0xc1, 0xc1, 0xf9, 0x04, 0x83, 0xc2, 0xe7, 0xf9, 0x39, 0x9c, 0xc1, 0xcc, 0xf9, 0xa7, 0x9c, 0x4b, 0x35, 0x35, 0x35, 0xd5, 0x5c, 0xa7, 0xef, 0x55, 0x5c, 0x56, 0xc1, 0xef, 0xd5, 0x3c, 0x7d, 0x7d, 0x7d, 0x7d, 0x05, 0x05, 0x05, 0x05, 0xa0, 0x9f, 0x9f, 0xc5, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0xdc, 0x17, 0x6e, 0x13, 0x77, 0x0d, 0x74, + 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x48, 0x36, 0x48, 0x70, 0x70, 0x48, 0x48, 0x48, 0x36, 0xcb, 0x36, 0xcb, 0x4e, 0x4e, 0x0c, 0x1e, 0x1e, 0xbb, 0xb3, 0x2b, 0xc8, 0x4e, 0x77, 0x77, 0xc8, 0x2b, 0x79, 0x79, 0x79, 0x79, 0x76, 0xc8, 0xc8, 0x79, 0x31, 0x13, 0x13, 0x31, 0x31, 0xe2, 0xe2, 0x40, 0x40, 0xe2, 0x31, 0x13, 0x33, 0xaf, 0xc5, 0x13, 0x31, 0xe8, 0xf3, 0x28, 0xf3, 0xe8, 0x5e, 0xb3, 0x76, 0x0d, 0x34, 0x34, 0x46, 0x46, 0x7e, 0x7e, 0x40, 0x40, 0x76, 0xb3, 0x13, 0xd1, 0xb3, 0x2b, 0x2b, 0x5f, 0x31, 0x76, 0x40, 0x76, 0x76, 0x40, 0x6e, 0x9c, 0xa7, 0x86, 0x56, 0x3a, 0x39, 0xe7, 0x3a, 0x55, 0x55, 0xf9, 0x26, 0xe7, 0x86, 0x9c, 0xee, 0x83, 0x9c, 0xb5, 0xe0, 0xbc, 0xef, 0x83, 0x4b, 0x5e, 0xb3, 0x7c, 0xe0, 0xf3, 0x13, 0x6e, 0xe7, 0x86, 0xc1, 0xc1, 0xc1, 0x3a, 0x3a, 0xa7, 0xe7, 0x55, 0x04, 0x55, 0x9c, 0xc1, 0x83, 0x04, 0x3a, 0xe7, 0xa2, 0x67, 0xa0, 0xa2, 0x55, 0x5c, 0xa7, 0x14, 0x9e, 0x5c, 0x56, 0xc1, 0x83, 0x26, 0xd5, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x7d, 0x7d, 0x05, 0x05, 0x35, 0x9f, 0x9f, 0xdc, 0xdc, 0x9f, 0xc5, 0xc5, 0x13, 0x31, 0x0e, 0x6e, 0x33, 0x33, 0x34, 0x0d, 0x0d, + 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x48, 0x36, 0x48, 0x70, 0x70, 0x48, 0x48, 0x48, 0x36, 0xcb, 0x36, 0x69, 0x1e, 0x0c, 0x0c, 0x79, 0xbb, 0xbb, 0xbb, 0x2b, 0xc8, 0x4e, 0x74, 0x77, 0xc8, 0xc8, 0xc8, 0x2b, 0x2b, 0xc8, 0xc8, 0xc8, 0x76, 0x79, 0x31, 0x13, 0x13, 0x31, 0x31, 0x31, 0x31, 0xe2, 0x76, 0x31, 0xc5, 0xaf, 0xc5, 0x13, 0x76, 0x76, 0x31, 0xe8, 0x25, 0xf3, 0x41, 0xe8, 0xb3, 0xb3, 0x76, 0x0d, 0x34, 0x34, 0x34, 0x34, 0x34, 0x40, 0x40, 0x11, 0x5f, 0xb3, 0xd1, 0xd1, 0xb3, 0x2b, 0x76, 0x31, 0x31, 0x76, 0x76, 0x76, 0x76, 0x40, 0xf3, 0xe7, 0xc2, 0xc0, 0xc1, 0xa7, 0x04, 0x04, 0x3a, 0x55, 0x55, 0x04, 0x26, 0xe7, 0x86, 0x3a, 0x8d, 0xcc, 0x9c, 0xb8, 0xe0, 0xbc, 0xc2, 0xcc, 0x4b, 0x5e, 0xb3, 0x7c, 0xe0, 0x3d, 0xd1, 0x6e, 0x39, 0xa7, 0xc1, 0xc1, 0xc1, 0x83, 0x83, 0xa7, 0x39, 0x26, 0x04, 0x55, 0x9c, 0xc1, 0x14, 0xe7, 0x9e, 0x4b, 0x9f, 0x64, 0x35, 0x85, 0x99, 0x5c, 0xa7, 0x14, 0x9e, 0xe7, 0x86, 0xc1, 0x83, 0x26, 0xd5, 0x3c, 0x7d, 0x3c, 0x3c, 0x3c, 0x7d, 0x7d, 0x05, 0x05, 0xa0, 0x9f, 0x9f, 0xdc, 0x33, 0xdc, 0xc5, 0xdc, 0x13, 0x79, 0x45, 0x79, 0x0d, 0x0d, 0x68, 0x74, 0x0d, + 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x36, 0x48, 0x70, 0x70, 0x70, 0x48, 0x48, 0x36, 0xcb, 0xcb, 0xcb, 0xcf, 0x12, 0x69, 0x1e, 0x2b, 0xbb, 0xbb, 0x6d, 0x2b, 0x2b, 0x12, 0x74, 0x77, 0xc8, 0x2b, 0x2b, 0x76, 0x76, 0xc8, 0xc8, 0xc8, 0x76, 0x79, 0x31, 0x13, 0x13, 0x31, 0x31, 0x13, 0x31, 0x31, 0x13, 0x9f, 0xaf, 0x33, 0x79, 0x40, 0x76, 0x76, 0x0d, 0x79, 0xe8, 0xe8, 0xe8, 0x5e, 0xb3, 0xb3, 0x76, 0x0d, 0x34, 0x34, 0x34, 0x34, 0x34, 0x7e, 0x40, 0x11, 0x5f, 0xb3, 0x13, 0x13, 0x67, 0x79, 0x76, 0x31, 0x31, 0x76, 0x76, 0x76, 0x76, 0x76, 0x0e, 0x39, 0xef, 0x56, 0xc1, 0xc1, 0x3a, 0x04, 0xcc, 0x39, 0x26, 0x04, 0x26, 0x39, 0x86, 0xef, 0x8d, 0xcc, 0x9c, 0xb8, 0xe0, 0xbc, 0x5c, 0xcc, 0x4b, 0x5e, 0x64, 0x7c, 0xbc, 0x3d, 0xd1, 0x0e, 0x55, 0xa7, 0xc1, 0xc1, 0xc1, 0xa7, 0xcc, 0xa7, 0xe7, 0x26, 0xee, 0x55, 0x9c, 0x56, 0x83, 0x55, 0x47, 0x35, 0xb0, 0xf1, 0x49, 0x21, 0x9c, 0x3a, 0x14, 0x14, 0x9e, 0xe7, 0x86, 0xc1, 0x83, 0x26, 0xd5, 0x3c, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x05, 0x05, 0x35, 0x35, 0xa0, 0x9f, 0xdc, 0x33, 0x33, 0x13, 0x13, 0x79, 0x79, 0x76, 0x0d, 0x79, 0x33, 0x74, 0x12, 0x68, + 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x48, 0x48, 0x70, 0x70, 0x70, 0x48, 0x48, 0x36, 0x36, 0xcb, 0xcb, 0xcb, 0x36, 0x36, 0x0c, 0xc8, 0x2b, 0xbb, 0x44, 0xd3, 0x79, 0xbb, 0x12, 0x74, 0x77, 0xc8, 0x2b, 0x79, 0x79, 0x79, 0x79, 0x76, 0xc8, 0xc8, 0x79, 0x31, 0x13, 0x13, 0x13, 0x13, 0x31, 0x13, 0x9f, 0xaf, 0xdc, 0x13, 0x31, 0x76, 0x40, 0x40, 0x34, 0xe6, 0x2c, 0xe2, 0x31, 0x31, 0x5e, 0xb3, 0x79, 0x76, 0x0d, 0x0d, 0x34, 0x34, 0x34, 0x34, 0x40, 0x40, 0x11, 0x5f, 0xb3, 0x13, 0x13, 0x13, 0xb3, 0x76, 0x5f, 0x31, 0x79, 0x76, 0xc8, 0x76, 0x76, 0x41, 0x39, 0x14, 0xc1, 0xc1, 0xc1, 0xcc, 0x04, 0x14, 0xe7, 0x4b, 0xee, 0x26, 0x55, 0xa7, 0x83, 0x8d, 0x3a, 0x9c, 0xb8, 0xf4, 0xbc, 0xe7, 0xcc, 0x4b, 0x5e, 0xb3, 0x7c, 0xbc, 0x3d, 0x13, 0x0e, 0x26, 0x83, 0xc1, 0xc1, 0xc1, 0x83, 0x9c, 0xa7, 0xe7, 0x26, 0xe7, 0x55, 0xe7, 0xa7, 0xef, 0x4b, 0x0e, 0xdc, 0xf5, 0xf2, 0xa2, 0x5c, 0xcc, 0x3a, 0x14, 0x14, 0xe7, 0x55, 0xef, 0xc1, 0x83, 0x26, 0xd5, 0x3c, 0x7d, 0x7d, 0xa2, 0x7d, 0x7d, 0x05, 0x05, 0x35, 0x6e, 0x35, 0x9f, 0xdc, 0x33, 0x13, 0x31, 0x79, 0x79, 0x76, 0x40, 0x34, 0x33, 0x7d, 0xc8, 0x68, 0x12, + 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x48, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x48, 0x48, 0x36, 0xcb, 0xcb, 0xcb, 0xcb, 0x36, 0x36, 0x77, 0x76, 0x2b, 0xbb, 0x44, 0xbb, 0x1e, 0xe9, 0x1e, 0x74, 0x77, 0xc8, 0x2b, 0x79, 0x79, 0x31, 0x31, 0x79, 0xc8, 0xc8, 0x79, 0x31, 0x13, 0xe8, 0xe8, 0xe8, 0x9f, 0xb1, 0xc5, 0x31, 0x31, 0x31, 0x31, 0x40, 0x0d, 0x7e, 0x64, 0xc1, 0x6f, 0x40, 0x5e, 0x5e, 0x5e, 0x5e, 0xb3, 0x76, 0x0d, 0x34, 0x34, 0x34, 0x34, 0x34, 0x40, 0x40, 0x40, 0x5f, 0xb3, 0x13, 0x13, 0x13, 0x5e, 0x76, 0x31, 0x31, 0x31, 0x31, 0x76, 0x76, 0x76, 0x41, 0x39, 0xef, 0x56, 0xc1, 0xc1, 0x14, 0xf9, 0xa7, 0x5c, 0x7b, 0x39, 0x26, 0x26, 0xa7, 0x83, 0x8d, 0x9c, 0x3a, 0x27, 0xf4, 0xe0, 0x39, 0x3a, 0x4b, 0x80, 0xb3, 0xb9, 0xbc, 0x3d, 0x13, 0xc5, 0x55, 0x83, 0xc1, 0xc1, 0xc1, 0x83, 0x9c, 0x86, 0x9c, 0x26, 0xe7, 0x55, 0xe7, 0x3a, 0x5c, 0xc7, 0xdc, 0x33, 0xe6, 0x33, 0xd5, 0x5c, 0x14, 0x3a, 0xcc, 0x14, 0xe7, 0xbd, 0x5c, 0x86, 0xef, 0x26, 0x3c, 0x3c, 0x7d, 0x7d, 0x7d, 0x7d, 0x05, 0x05, 0x35, 0x17, 0x49, 0x35, 0x9f, 0xdc, 0x33, 0x13, 0x79, 0x79, 0x0d, 0x0d, 0x0d, 0x68, 0x13, 0xc5, 0x0d, 0x68, 0x74, + 0x70, 0x70, 0x70, 0x48, 0x48, 0x70, 0x48, 0x36, 0x70, 0x70, 0x36, 0x48, 0x70, 0x70, 0x70, 0x70, 0x48, 0x48, 0xcb, 0xcb, 0xcb, 0xcb, 0xcb, 0xcb, 0xcb, 0x77, 0x76, 0x2b, 0xbb, 0x44, 0x6d, 0x1e, 0x77, 0x77, 0x12, 0x77, 0x77, 0x2b, 0x79, 0x79, 0x31, 0x31, 0x79, 0xc8, 0xc8, 0x79, 0x13, 0x13, 0xe8, 0xc5, 0x8e, 0x8e, 0xd7, 0x31, 0xe2, 0xe2, 0x31, 0xe2, 0x40, 0x40, 0x02, 0xbe, 0xc1, 0xa6, 0x40, 0x5e, 0x5e, 0x5e, 0x5e, 0xb3, 0x76, 0x0d, 0x34, 0x34, 0x68, 0x34, 0x0d, 0x40, 0x40, 0x40, 0x5f, 0x5e, 0x13, 0x13, 0x13, 0x5e, 0x5e, 0x31, 0x31, 0x31, 0x31, 0x5e, 0x79, 0x76, 0x41, 0x26, 0x5c, 0x86, 0xc1, 0xc1, 0xa7, 0xf9, 0xa7, 0x9c, 0x7b, 0x55, 0x4b, 0x26, 0x83, 0xa7, 0x8d, 0x04, 0x3a, 0x4b, 0xf4, 0xf4, 0xbd, 0x3a, 0x7b, 0x80, 0x5e, 0x30, 0xe0, 0x3d, 0x5b, 0xaf, 0x99, 0x86, 0xc1, 0xc1, 0xc1, 0x14, 0x9c, 0x86, 0x9c, 0x4b, 0x55, 0x55, 0x55, 0xe7, 0x4b, 0x9f, 0xe8, 0x2c, 0x66, 0x33, 0x4b, 0x5c, 0x14, 0x3a, 0xcc, 0x14, 0xe7, 0xbd, 0x9e, 0xcc, 0xef, 0x85, 0x7d, 0x3c, 0x7d, 0x7d, 0x7d, 0x7d, 0x05, 0x05, 0x6e, 0x17, 0x6e, 0x35, 0x9f, 0xdc, 0x33, 0x13, 0x79, 0x76, 0x0d, 0x0d, 0x0d, 0x68, 0x79, 0x13, 0x74, 0x68, 0x74, + 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x36, 0x48, 0x70, 0x70, 0x36, 0x36, 0x48, 0x70, 0x70, 0x48, 0x48, 0x36, 0xcb, 0xcb, 0xcb, 0xcb, 0xcb, 0x69, 0x36, 0x69, 0x1e, 0xbb, 0x44, 0xd3, 0x44, 0xbb, 0xc8, 0x77, 0x77, 0x77, 0x77, 0x2b, 0x2b, 0x79, 0x79, 0x79, 0xc8, 0xc8, 0x79, 0x79, 0x13, 0xe8, 0x8e, 0x7d, 0x25, 0xe8, 0x13, 0x31, 0x40, 0x40, 0xe2, 0xe2, 0x40, 0x40, 0x68, 0xfe, 0xc1, 0x60, 0x76, 0x31, 0x5e, 0x5e, 0x5e, 0xb3, 0x76, 0x0d, 0x0d, 0x68, 0x72, 0xbb, 0xb2, 0x7e, 0xe2, 0x11, 0x5f, 0x5e, 0x13, 0x13, 0x13, 0xe8, 0x5e, 0x31, 0x31, 0x5e, 0xe8, 0x5e, 0x31, 0x79, 0x87, 0xaa, 0x9e, 0x86, 0xc1, 0xc1, 0xa7, 0xf9, 0xa7, 0x3a, 0x7b, 0x26, 0x4b, 0x4b, 0x83, 0xa7, 0x26, 0xee, 0x3a, 0x4b, 0xf4, 0xf4, 0xad, 0x9c, 0x7b, 0x30, 0x5e, 0xe8, 0xe0, 0x17, 0xb1, 0x10, 0xc2, 0x83, 0x56, 0xc1, 0xc1, 0xa7, 0x9c, 0x86, 0x9c, 0x4b, 0x55, 0x55, 0x7b, 0x47, 0x0e, 0xdc, 0x13, 0x66, 0x24, 0xdc, 0x4b, 0x5c, 0xcc, 0x9c, 0x3a, 0xcc, 0xe7, 0xad, 0xbd, 0x5c, 0x5c, 0xd5, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x05, 0x35, 0x17, 0x49, 0x35, 0x9f, 0x9f, 0xdc, 0x13, 0x79, 0x79, 0x76, 0x0d, 0x0d, 0x0d, 0x34, 0x68, 0x74, 0x68, 0x68, 0x68, + 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x36, 0x70, 0x48, 0x36, 0x48, 0x48, 0x70, 0x48, 0x48, 0xcb, 0xcb, 0xcb, 0xcb, 0xcb, 0xcb, 0xcb, 0xcb, 0xcb, 0x69, 0x2d, 0xd3, 0x44, 0x2b, 0xab, 0xc8, 0x0d, 0x77, 0x77, 0x77, 0x2b, 0x2b, 0x2b, 0x79, 0xc8, 0xc8, 0x79, 0x79, 0x13, 0x9f, 0x8e, 0x8e, 0x41, 0xd7, 0xe8, 0x31, 0x40, 0x34, 0x7e, 0xe2, 0xe2, 0x40, 0x34, 0xe5, 0x42, 0x56, 0x56, 0xd1, 0x5f, 0x5e, 0x5e, 0x5e, 0xb3, 0x76, 0x0d, 0x0d, 0xb2, 0x2e, 0xc1, 0x66, 0x77, 0x7e, 0xe2, 0x31, 0x5e, 0x13, 0x13, 0x13, 0xe8, 0x5e, 0x31, 0x31, 0x13, 0x13, 0x13, 0x13, 0x31, 0x6e, 0xaa, 0xe7, 0x56, 0xc1, 0xc1, 0x86, 0x3a, 0x86, 0xcc, 0x7b, 0x4b, 0x4b, 0x4b, 0xcc, 0xa7, 0x39, 0x39, 0xf9, 0x4b, 0xe0, 0xc6, 0x7b, 0xe7, 0x7b, 0x30, 0x5e, 0xdc, 0x27, 0x85, 0xfc, 0x10, 0x55, 0x9c, 0x56, 0xc1, 0xc1, 0xa7, 0xf9, 0x86, 0x9c, 0x4b, 0x4b, 0xad, 0xbc, 0x0e, 0xe8, 0xdc, 0x67, 0xac, 0xb4, 0x0e, 0xd5, 0x5c, 0x3a, 0x9c, 0x9c, 0xcc, 0xe7, 0xad, 0x85, 0x9e, 0x9e, 0xd5, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x05, 0x35, 0x49, 0x35, 0x35, 0x9f, 0xdc, 0x33, 0x13, 0x79, 0x79, 0x76, 0x40, 0x0d, 0x0d, 0x0d, 0x34, 0x68, 0x68, 0x74, 0x74, + 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x48, 0x70, 0x48, 0xcf, 0x36, 0x48, 0x70, 0x48, 0x48, 0xcb, 0xcb, 0xcb, 0x15, 0xcb, 0xcb, 0xcb, 0xcb, 0x0c, 0x0c, 0x2d, 0xd3, 0x44, 0x2b, 0xab, 0x79, 0x79, 0x40, 0xc8, 0x77, 0x2b, 0x2b, 0x79, 0x31, 0x79, 0x79, 0x79, 0xdc, 0x8e, 0x8e, 0x25, 0x41, 0x41, 0xd7, 0x31, 0x11, 0x7e, 0x34, 0x7e, 0x11, 0x11, 0x40, 0x02, 0xe1, 0xc3, 0xc3, 0xc1, 0x53, 0x40, 0x5e, 0x5e, 0x5e, 0xb3, 0x76, 0x0d, 0x0d, 0x34, 0xbb, 0x42, 0xc1, 0x42, 0xf1, 0x34, 0x31, 0x5e, 0x13, 0x13, 0x13, 0x13, 0x5e, 0x5e, 0x13, 0x13, 0xe8, 0x35, 0xc5, 0xdc, 0x27, 0x4b, 0x9c, 0x56, 0xc1, 0xc1, 0x86, 0x3a, 0xa7, 0xcc, 0x7b, 0x7b, 0x4b, 0x4b, 0x3a, 0xa7, 0x39, 0x26, 0xee, 0x4b, 0xe0, 0xc6, 0xbc, 0xe7, 0x7b, 0xb9, 0xc5, 0x8a, 0x55, 0x52, 0x71, 0x5b, 0x47, 0xee, 0x56, 0xc1, 0xc1, 0xa7, 0xf9, 0x86, 0x3a, 0x4b, 0x7b, 0xbc, 0x5d, 0xe8, 0x13, 0x13, 0xb4, 0x1a, 0xd1, 0x0e, 0xd5, 0xe7, 0x3a, 0x9c, 0x9c, 0xcc, 0x5c, 0xad, 0x85, 0x55, 0x55, 0xa2, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x05, 0x05, 0x05, 0x35, 0x9f, 0x9f, 0xdc, 0x13, 0x31, 0x79, 0x79, 0x79, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x0d, 0x0d, 0x12, + 0x70, 0x70, 0x70, 0x70, 0x48, 0x70, 0x70, 0x70, 0x70, 0x70, 0xcf, 0xcf, 0x36, 0x36, 0x70, 0x48, 0x36, 0xcb, 0xcb, 0xcb, 0x69, 0x69, 0x69, 0xcb, 0xe9, 0xc8, 0x77, 0x44, 0x6d, 0x44, 0xd3, 0x2b, 0x13, 0x5e, 0x79, 0x0d, 0xc8, 0x2b, 0x79, 0x13, 0xdc, 0x13, 0x13, 0xaf, 0x8e, 0x25, 0xc5, 0x41, 0x25, 0x41, 0xe8, 0xe2, 0x11, 0x7e, 0x34, 0x7e, 0x11, 0x11, 0x40, 0x68, 0x94, 0xc3, 0xc3, 0xc1, 0x10, 0x40, 0x5e, 0x5e, 0x5e, 0xb3, 0x76, 0x0d, 0x46, 0x40, 0xb2, 0x72, 0xc1, 0xc1, 0xc1, 0x94, 0xc8, 0xe2, 0x13, 0x13, 0x13, 0x5e, 0x5e, 0x5e, 0x13, 0xe8, 0x39, 0x39, 0xdc, 0xdc, 0xdc, 0x47, 0x9c, 0x56, 0xc1, 0xc1, 0x56, 0xf9, 0xa7, 0xcc, 0x27, 0xb8, 0x7b, 0x27, 0x9c, 0xa7, 0x39, 0x4b, 0x39, 0x7b, 0xe0, 0xc6, 0xbc, 0x55, 0x7b, 0xf3, 0xd5, 0x55, 0x37, 0xb1, 0x20, 0xd1, 0x6e, 0x39, 0x86, 0xc1, 0xc1, 0xa7, 0xf9, 0xa7, 0xef, 0x27, 0xbc, 0x7f, 0xe8, 0x13, 0xe8, 0x79, 0x66, 0xac, 0x13, 0x6e, 0x85, 0xe7, 0xf9, 0x5c, 0x5c, 0x3a, 0x5c, 0xbd, 0x85, 0xd5, 0xd5, 0xd5, 0x7d, 0x7d, 0x7d, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x35, 0x35, 0x35, 0xdc, 0x13, 0x13, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0xc8, + 0x70, 0x70, 0x70, 0x70, 0x48, 0x70, 0x70, 0x70, 0x00, 0x36, 0xcf, 0xcb, 0x36, 0x36, 0x48, 0x48, 0x36, 0xcb, 0xcb, 0xcb, 0x69, 0x69, 0x69, 0xcb, 0x77, 0xc8, 0x77, 0xbb, 0xbb, 0xb3, 0xab, 0xab, 0x13, 0x31, 0x76, 0x0d, 0xc8, 0x2b, 0x79, 0x13, 0xc5, 0x9f, 0xb1, 0x9f, 0x13, 0xe8, 0xd7, 0x41, 0x41, 0xe8, 0x45, 0xe2, 0x11, 0x7e, 0x34, 0x7e, 0x11, 0x11, 0x40, 0x68, 0x2e, 0xc3, 0xc3, 0xc1, 0x96, 0xc8, 0x31, 0x5e, 0x5e, 0xb3, 0x76, 0x0d, 0x0d, 0x46, 0x40, 0x59, 0x94, 0xc1, 0xc1, 0xc1, 0x60, 0xd1, 0x79, 0x20, 0xd1, 0xb3, 0xb3, 0x5e, 0xe8, 0x95, 0x98, 0x9f, 0x13, 0x31, 0x31, 0x47, 0x9c, 0x86, 0xc1, 0xc1, 0x56, 0x3a, 0xa7, 0xcc, 0x27, 0xbc, 0xb8, 0x17, 0x9c, 0xa7, 0x39, 0xb8, 0xaa, 0xb8, 0xf4, 0xd0, 0xbc, 0x9e, 0xb6, 0x21, 0x95, 0xb1, 0x5b, 0x20, 0xd1, 0xd1, 0x5d, 0x39, 0xa7, 0xc1, 0xc1, 0xa7, 0xf9, 0xa7, 0x3a, 0x27, 0x3d, 0xdc, 0x13, 0x13, 0xe8, 0x79, 0x1a, 0xbe, 0xe8, 0x47, 0xad, 0xe7, 0x9c, 0xe7, 0x5c, 0x3a, 0x5c, 0xbd, 0x85, 0xa2, 0xd5, 0x4b, 0xa2, 0x7d, 0x7d, 0x05, 0x05, 0xa0, 0xa0, 0x05, 0x05, 0x35, 0x6e, 0x0e, 0x13, 0x13, 0x79, 0x79, 0x76, 0x79, 0x79, 0x79, 0x79, 0x31, 0x5e, 0x31, 0x5e, 0x5e, 0x79, + 0x70, 0x70, 0x70, 0x48, 0x48, 0x70, 0x70, 0x70, 0x48, 0x00, 0x36, 0xcf, 0x36, 0xcb, 0x48, 0x48, 0xcb, 0xcb, 0xcb, 0x15, 0x69, 0x69, 0x69, 0xcb, 0x69, 0xc8, 0xc8, 0x1e, 0x2b, 0xb3, 0xb3, 0x2b, 0xb3, 0x76, 0x40, 0x40, 0x79, 0x79, 0x79, 0x13, 0x8e, 0x8e, 0x13, 0x79, 0x79, 0x31, 0x31, 0x31, 0x45, 0x31, 0x31, 0xe2, 0xe2, 0x40, 0x34, 0x7e, 0x11, 0xe2, 0x40, 0xc8, 0x60, 0xc3, 0xc3, 0xc1, 0xc3, 0xd1, 0x31, 0x13, 0xb3, 0x79, 0x76, 0x0d, 0x0d, 0x46, 0x46, 0x34, 0x77, 0xe4, 0xc1, 0xc1, 0xc1, 0xc3, 0x53, 0x79, 0x13, 0xb3, 0xb3, 0x5e, 0x9f, 0xd5, 0x9f, 0x13, 0x13, 0x31, 0x31, 0x47, 0x04, 0xa7, 0xc1, 0xc1, 0x56, 0x3a, 0xa7, 0xcc, 0x4b, 0xe0, 0xb8, 0xb5, 0xe7, 0xa7, 0x55, 0xe0, 0xbc, 0xb5, 0xe0, 0xf4, 0xad, 0xba, 0xba, 0x4c, 0xc5, 0x20, 0xb3, 0xb3, 0xd1, 0xb3, 0x5d, 0x26, 0x83, 0xc1, 0xc1, 0x86, 0x04, 0x83, 0xcc, 0x27, 0x41, 0x13, 0x13, 0x13, 0x13, 0xd8, 0xe4, 0xb4, 0x5d, 0xad, 0xad, 0x9e, 0x9c, 0xe7, 0xe7, 0x3a, 0x5c, 0xbd, 0x85, 0xa2, 0xd5, 0x85, 0xa2, 0x7d, 0x7d, 0x05, 0xa0, 0xa0, 0xa0, 0xa0, 0xa0, 0x9f, 0x9f, 0x33, 0x13, 0x13, 0x79, 0x2b, 0x0d, 0x76, 0x79, 0x79, 0x31, 0x31, 0x31, 0x5e, 0x79, 0x79, 0x79, + 0x70, 0x70, 0x48, 0x36, 0x48, 0x70, 0x69, 0xe9, 0x0c, 0x48, 0x70, 0x36, 0x36, 0xcb, 0x36, 0x48, 0xcb, 0xcb, 0xcb, 0x15, 0x69, 0x69, 0x69, 0xcb, 0x4e, 0x79, 0x77, 0x6d, 0xab, 0xab, 0x67, 0x2b, 0x31, 0x40, 0x76, 0x13, 0x13, 0x13, 0x33, 0x8e, 0xaf, 0x13, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x31, 0xe2, 0xe2, 0xe2, 0x11, 0x40, 0x34, 0x7e, 0x11, 0xe2, 0x7e, 0xe5, 0x42, 0x8f, 0x42, 0xc3, 0xc1, 0x53, 0xe2, 0x13, 0x79, 0xb3, 0x76, 0x0d, 0x0d, 0x46, 0x34, 0x40, 0xa4, 0x72, 0xc1, 0x56, 0xc1, 0xc1, 0xc1, 0x71, 0x79, 0xb3, 0xb3, 0x5e, 0xd7, 0x13, 0x5e, 0x13, 0x5e, 0x79, 0x76, 0x6e, 0x04, 0xa7, 0xc1, 0xc1, 0x56, 0xf9, 0x14, 0x14, 0x4b, 0xe0, 0xb5, 0xb8, 0xe7, 0x14, 0x26, 0x62, 0xe0, 0xbc, 0xbc, 0xad, 0xba, 0xba, 0xad, 0x7c, 0x80, 0x5e, 0x64, 0xb3, 0xd1, 0xb3, 0x5d, 0x26, 0xcc, 0xc1, 0xc1, 0x86, 0x04, 0xcc, 0x3a, 0x27, 0xe8, 0x31, 0x31, 0x13, 0x79, 0x24, 0x60, 0xd8, 0x47, 0xad, 0x85, 0x9e, 0x9c, 0xe7, 0xe7, 0x9c, 0x5c, 0xbd, 0x85, 0xa2, 0xd5, 0x85, 0xa2, 0x7d, 0x7d, 0x7d, 0x7d, 0x05, 0xa0, 0xa0, 0xa0, 0xa0, 0x9f, 0x9f, 0x33, 0x33, 0x13, 0x79, 0x0d, 0x0d, 0x0d, 0x76, 0x79, 0x31, 0x79, 0x5e, 0x5e, 0x79, 0x79, + 0x70, 0x70, 0x48, 0x36, 0x36, 0x00, 0x70, 0x0c, 0x0c, 0xcb, 0x70, 0x70, 0x36, 0x36, 0x48, 0x48, 0xcb, 0xcb, 0xcb, 0x69, 0x69, 0x69, 0x69, 0xcb, 0x4e, 0xc8, 0xe9, 0x1e, 0xbb, 0x64, 0x2b, 0xb3, 0x79, 0x76, 0x13, 0xd7, 0xc5, 0x8e, 0x7d, 0xc5, 0x13, 0x79, 0x76, 0x76, 0x76, 0x79, 0x79, 0x79, 0x76, 0x40, 0xe2, 0xe2, 0x11, 0x7e, 0x34, 0x7e, 0x11, 0xe2, 0x7e, 0xe5, 0xc3, 0xe4, 0xe4, 0xc3, 0xc1, 0x10, 0x76, 0x13, 0x79, 0x79, 0x76, 0x0d, 0x0d, 0x34, 0x34, 0x40, 0x5f, 0x02, 0x66, 0xc1, 0xc3, 0xc1, 0xc1, 0xc1, 0x37, 0xc8, 0xb3, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x31, 0x76, 0x76, 0x6e, 0xee, 0x14, 0xc1, 0xc1, 0x56, 0xf9, 0xcc, 0x14, 0x4b, 0xe0, 0xb5, 0xb5, 0x39, 0x3a, 0x4b, 0x41, 0xbc, 0xbd, 0xba, 0xf0, 0xad, 0xbd, 0xbc, 0xda, 0x80, 0x5e, 0x64, 0xb3, 0x20, 0xb3, 0x41, 0x26, 0x3a, 0x56, 0xc1, 0x86, 0x04, 0x9c, 0x9c, 0x17, 0x13, 0x79, 0x5e, 0x13, 0xc8, 0xac, 0x6a, 0xc5, 0xad, 0x85, 0x85, 0x39, 0x9c, 0xe7, 0xe7, 0x9c, 0x5c, 0xbd, 0x85, 0xd5, 0x4b, 0xad, 0xd5, 0x7d, 0x3c, 0x3c, 0x3c, 0x7d, 0x7d, 0x7d, 0x7d, 0xa0, 0xa0, 0x9f, 0x33, 0x33, 0x33, 0x33, 0x67, 0x2b, 0x0d, 0x0d, 0x0d, 0x79, 0x79, 0x79, 0x5e, 0xb3, 0xb3, + 0x70, 0x70, 0x36, 0x36, 0x70, 0x00, 0x00, 0x36, 0x0c, 0x36, 0x48, 0x70, 0x70, 0x70, 0x48, 0x48, 0xcb, 0xcb, 0xcb, 0x69, 0x69, 0x69, 0x69, 0xcb, 0xcb, 0xcb, 0xe9, 0xab, 0x2b, 0x64, 0x64, 0x13, 0x79, 0x31, 0x13, 0xc5, 0x0f, 0x7d, 0xc5, 0x13, 0x13, 0x79, 0x76, 0x76, 0x76, 0x79, 0x79, 0x79, 0x76, 0x40, 0x40, 0x11, 0x40, 0x7e, 0x34, 0x7e, 0x11, 0xe2, 0x7e, 0xf1, 0xc1, 0x60, 0x60, 0xc3, 0xc1, 0x96, 0x76, 0x13, 0x79, 0x79, 0x76, 0x0d, 0x46, 0x34, 0x40, 0x11, 0x11, 0xe2, 0x77, 0x60, 0xc3, 0x42, 0x56, 0x56, 0xc1, 0x6f, 0x0d, 0x5e, 0x5e, 0x5e, 0x79, 0x5e, 0x5e, 0x76, 0x40, 0x5d, 0x39, 0xcc, 0xc1, 0xc1, 0x56, 0xf9, 0xcc, 0x14, 0x26, 0xe0, 0xbc, 0xb5, 0x26, 0x9c, 0xd5, 0x8e, 0x99, 0xd6, 0xf0, 0xe0, 0xe0, 0x7b, 0xe0, 0xda, 0x80, 0x5e, 0x64, 0xb3, 0x20, 0xb3, 0x41, 0x27, 0xf9, 0x86, 0xc1, 0x86, 0x04, 0x04, 0x04, 0x49, 0x13, 0x79, 0x13, 0x31, 0xe5, 0xe4, 0x5a, 0xf3, 0xbd, 0x55, 0x85, 0x55, 0x5c, 0xe7, 0x9e, 0x9c, 0x9c, 0xbd, 0xbd, 0xd5, 0x85, 0xb6, 0x95, 0x95, 0x21, 0x21, 0x6c, 0x21, 0x52, 0x52, 0x52, 0x52, 0x95, 0xe3, 0x3c, 0xb1, 0xa0, 0x9f, 0x33, 0x13, 0x79, 0xc8, 0x34, 0x0d, 0x76, 0x76, 0x79, 0xb3, 0xb3, + 0x36, 0x00, 0x70, 0x48, 0x70, 0x48, 0x70, 0x70, 0x36, 0x36, 0x36, 0x70, 0x70, 0x70, 0x48, 0x48, 0xcb, 0xcb, 0x15, 0x69, 0x69, 0x69, 0x69, 0xcb, 0x69, 0x0c, 0xe9, 0xbb, 0x13, 0x64, 0x20, 0x20, 0x79, 0x13, 0xc5, 0x0f, 0x8e, 0xc5, 0xd7, 0x13, 0x13, 0x31, 0x76, 0x76, 0x76, 0x79, 0x79, 0x79, 0x40, 0x40, 0x11, 0x11, 0x40, 0x7e, 0x34, 0x34, 0x11, 0xe2, 0x02, 0x5a, 0xc1, 0x60, 0xfe, 0xc3, 0xc1, 0x56, 0xd8, 0x31, 0x79, 0x79, 0x76, 0x0d, 0x0d, 0x34, 0x40, 0x11, 0x5f, 0x31, 0x11, 0x2f, 0xc1, 0xe4, 0x8f, 0xc3, 0x56, 0xc1, 0x66, 0x0d, 0x5e, 0x5e, 0x76, 0x5e, 0x5e, 0x76, 0x0d, 0x41, 0x39, 0xcc, 0x56, 0xc1, 0x56, 0xf9, 0x3a, 0xcc, 0x26, 0xf4, 0xe0, 0xb5, 0xbd, 0x9e, 0x21, 0x65, 0xba, 0x9e, 0xbc, 0xc6, 0xc6, 0xbc, 0xe0, 0xda, 0x75, 0x5e, 0x19, 0x64, 0x20, 0xb3, 0xd7, 0x27, 0x04, 0x86, 0xc1, 0x86, 0x8d, 0x04, 0xee, 0x6e, 0x13, 0x79, 0x13, 0x79, 0xe1, 0x42, 0xf5, 0x47, 0x55, 0x55, 0x85, 0x55, 0xe7, 0x9e, 0x9e, 0x3a, 0x3a, 0x99, 0x99, 0x6c, 0xf0, 0xba, 0xd2, 0x21, 0x95, 0x4c, 0x3c, 0x3c, 0x3c, 0x7d, 0x7d, 0x7d, 0x7d, 0x3c, 0x4c, 0x52, 0x52, 0xce, 0xfb, 0x9f, 0x13, 0x79, 0xc8, 0x0d, 0x34, 0x34, 0x0d, 0x76, 0x79, + 0x69, 0x48, 0x00, 0x00, 0x48, 0x44, 0x0c, 0x00, 0x48, 0x36, 0x36, 0x48, 0x70, 0x70, 0x48, 0x48, 0xcb, 0xcb, 0x69, 0x69, 0x69, 0x69, 0x15, 0x69, 0x12, 0x4e, 0xe9, 0x2b, 0x64, 0xd1, 0x41, 0x20, 0x13, 0xaf, 0x0f, 0xc5, 0xd7, 0x41, 0xc5, 0xe8, 0x13, 0x31, 0x79, 0x76, 0x76, 0x79, 0x79, 0x79, 0x76, 0xe2, 0xe2, 0x11, 0x11, 0x7e, 0x34, 0x34, 0x11, 0xe2, 0x02, 0x66, 0xc1, 0x96, 0x1a, 0xc3, 0xc1, 0xc1, 0x71, 0x76, 0x13, 0x79, 0x76, 0x0d, 0x0d, 0x34, 0x40, 0x5f, 0x5f, 0x31, 0x80, 0x34, 0x2e, 0x56, 0x60, 0x60, 0x8f, 0x56, 0xc1, 0x6f, 0x40, 0x5e, 0x76, 0x76, 0x76, 0x76, 0x0d, 0x41, 0x55, 0x3a, 0x86, 0xc1, 0x56, 0xf9, 0xf9, 0xcc, 0x26, 0xe0, 0xbc, 0x7b, 0x99, 0xba, 0x65, 0x0f, 0xbc, 0x7b, 0xe0, 0xc6, 0xc6, 0xbc, 0xe0, 0xda, 0x75, 0x5e, 0x19, 0x64, 0x20, 0xb3, 0xd7, 0x27, 0x04, 0xa7, 0xc1, 0x86, 0x8d, 0x8d, 0x26, 0x0e, 0x67, 0x79, 0x13, 0xc8, 0x94, 0x60, 0x5b, 0x4b, 0x39, 0x55, 0x4b, 0x55, 0x5c, 0xe7, 0x99, 0x83, 0xa7, 0xc0, 0xba, 0xf0, 0x21, 0x21, 0xd5, 0x3c, 0x7d, 0x7d, 0x05, 0xa0, 0xa0, 0xa0, 0xa0, 0x9f, 0x9f, 0x33, 0x33, 0xf2, 0x7d, 0x4c, 0x52, 0x52, 0x7d, 0x33, 0x76, 0xc8, 0xc8, 0x74, 0x68, 0x74, 0xc8, + 0x70, 0x48, 0x70, 0x00, 0x48, 0x1e, 0xe9, 0x48, 0x70, 0x36, 0x36, 0x48, 0x70, 0x70, 0x48, 0x48, 0xcb, 0xcb, 0xcb, 0x69, 0x69, 0x69, 0x0c, 0x69, 0x69, 0x69, 0xe9, 0x1e, 0xb3, 0xc5, 0xc5, 0xc5, 0xb1, 0x93, 0xc5, 0x13, 0xd7, 0x41, 0x41, 0xc5, 0xe8, 0x13, 0x31, 0x76, 0x76, 0x79, 0x79, 0x79, 0xe2, 0xe2, 0xe2, 0xe2, 0x11, 0x7e, 0x34, 0x34, 0x11, 0xe2, 0x34, 0x94, 0xc1, 0xfe, 0x1a, 0x42, 0xc1, 0xc1, 0xac, 0x76, 0x13, 0x79, 0x79, 0xc8, 0x0d, 0x34, 0x40, 0x11, 0x31, 0x31, 0x5e, 0xe2, 0x64, 0x42, 0x8f, 0x96, 0x60, 0xc3, 0xc1, 0xc1, 0x71, 0x34, 0x76, 0x76, 0x76, 0x76, 0x0d, 0xe8, 0x55, 0x3a, 0xa7, 0xc1, 0x56, 0xf9, 0x04, 0xcc, 0x55, 0xbc, 0xad, 0xba, 0xba, 0xb6, 0xaf, 0x20, 0xe0, 0xb8, 0xde, 0xc6, 0xc6, 0xbc, 0xf4, 0x50, 0x75, 0x5f, 0x19, 0x64, 0x20, 0xb3, 0xe8, 0x17, 0x8d, 0x83, 0x56, 0xa7, 0x8d, 0x92, 0x4b, 0x0e, 0x13, 0x67, 0x31, 0x64, 0x60, 0x6a, 0xc5, 0xbd, 0x39, 0x55, 0x55, 0x9e, 0xc2, 0xba, 0xc0, 0xa7, 0xa7, 0xc2, 0xb6, 0x85, 0xa2, 0xa2, 0x7d, 0x05, 0x35, 0x35, 0x9f, 0x9f, 0x9f, 0x9f, 0x9f, 0xc5, 0xdc, 0x33, 0x33, 0x33, 0x33, 0x9f, 0xb1, 0x3c, 0x52, 0xe3, 0xf2, 0x2b, 0xc8, 0x77, 0x74, 0x59, 0x74, + 0x70, 0x00, 0x00, 0x00, 0x00, 0xcb, 0x69, 0x36, 0x70, 0x48, 0x36, 0x70, 0x70, 0x70, 0x48, 0x48, 0xcb, 0x69, 0x1e, 0xe9, 0x69, 0x69, 0x0c, 0x69, 0x69, 0x0c, 0x1e, 0x79, 0xd7, 0xc5, 0x25, 0x93, 0x8e, 0xc5, 0xd7, 0xe8, 0xd7, 0xc5, 0x41, 0xc5, 0xd7, 0xe8, 0x31, 0x31, 0x79, 0x79, 0x79, 0x79, 0x76, 0xe2, 0xe2, 0xe2, 0x11, 0x7e, 0x34, 0x34, 0x40, 0xe2, 0x34, 0x2e, 0x56, 0xfe, 0x1a, 0x60, 0xc1, 0xc1, 0xc3, 0xd1, 0x79, 0x79, 0x79, 0xc8, 0x0d, 0x34, 0x40, 0xe2, 0x31, 0x31, 0x5e, 0x5e, 0x40, 0xe1, 0xc1, 0x96, 0x60, 0x60, 0xc3, 0xc1, 0xc1, 0x71, 0x34, 0x76, 0x76, 0xc8, 0xc8, 0xe8, 0x26, 0xf9, 0xa7, 0xc1, 0x56, 0xf9, 0x04, 0xcc, 0xc2, 0xf0, 0xba, 0xb6, 0x7b, 0x7f, 0x20, 0x5e, 0xf4, 0xb8, 0xde, 0xc6, 0xc6, 0xbc, 0xf4, 0xd0, 0x80, 0x5f, 0x19, 0x64, 0xb3, 0xb3, 0x13, 0x17, 0x8d, 0xcc, 0x56, 0xa7, 0x8d, 0x27, 0x4b, 0x7d, 0x33, 0x13, 0x76, 0xf5, 0x42, 0xe6, 0x41, 0xbd, 0x39, 0xe7, 0xf0, 0xc0, 0xc0, 0xc2, 0x99, 0x98, 0x14, 0x5c, 0xad, 0xd5, 0xa2, 0xa2, 0x05, 0x35, 0x35, 0xa0, 0x9f, 0xdc, 0x9f, 0x35, 0xa0, 0x9f, 0xdc, 0x13, 0x13, 0x79, 0x67, 0x13, 0x33, 0xc5, 0xa0, 0x37, 0x52, 0xb1, 0x2b, 0x0d, 0x77, 0x74, 0x12, + 0x00, 0x70, 0x70, 0x70, 0x0c, 0x70, 0x36, 0x36, 0x48, 0x00, 0x00, 0x70, 0x70, 0x70, 0x48, 0x48, 0x69, 0x77, 0xe9, 0x0c, 0x0c, 0x0c, 0x69, 0x69, 0x0c, 0xe9, 0x77, 0x13, 0x20, 0x25, 0x4c, 0x8e, 0x13, 0xd7, 0xc5, 0xe8, 0xd7, 0xc5, 0xc5, 0xdc, 0xe8, 0xe8, 0x41, 0x13, 0x79, 0x79, 0x79, 0x79, 0x76, 0x40, 0xe2, 0xe2, 0xe2, 0x7e, 0x34, 0x34, 0x40, 0xe2, 0x68, 0xac, 0xc3, 0xfe, 0x1a, 0xfe, 0x56, 0xc1, 0xc1, 0x53, 0x79, 0x79, 0x79, 0xc8, 0x0d, 0x0d, 0x40, 0xe2, 0x31, 0x31, 0xe8, 0x5e, 0x31, 0x0d, 0xac, 0xc3, 0x96, 0x60, 0x60, 0xc3, 0xc1, 0xc1, 0x53, 0x46, 0x76, 0xc8, 0xc8, 0x5e, 0x4b, 0xf9, 0x14, 0x56, 0x56, 0x3a, 0x9c, 0xa7, 0xc0, 0xb6, 0xbc, 0xbc, 0xe0, 0x62, 0xb3, 0xb3, 0x62, 0xb5, 0xb5, 0xf4, 0xc6, 0xbc, 0xf4, 0xd0, 0xf7, 0x5f, 0x19, 0x19, 0xb3, 0xb3, 0x13, 0x6b, 0x92, 0x3a, 0x86, 0xa7, 0x8d, 0x27, 0x26, 0xa0, 0x67, 0x13, 0xc8, 0x94, 0xe4, 0xe1, 0xf3, 0x9e, 0xef, 0xc0, 0xba, 0x99, 0x5c, 0x9e, 0x55, 0x9c, 0x14, 0x9c, 0x85, 0xa2, 0xa2, 0xa2, 0x05, 0x35, 0xa0, 0x9f, 0x9f, 0x9f, 0x9f, 0x35, 0x8e, 0xa0, 0x9f, 0xdc, 0x13, 0x79, 0x79, 0x76, 0x79, 0x13, 0x33, 0xaf, 0xfb, 0x52, 0x0f, 0x2b, 0x46, 0x77, 0x46, + 0x36, 0x70, 0x44, 0x48, 0x36, 0x48, 0x70, 0x36, 0x70, 0x70, 0x00, 0x70, 0x70, 0x70, 0x70, 0x69, 0x77, 0x69, 0x69, 0x1e, 0xe9, 0x69, 0x0c, 0xe9, 0x4e, 0xe9, 0x2b, 0x67, 0xaf, 0x4c, 0x8e, 0xc5, 0x13, 0x13, 0xe8, 0xd7, 0xd7, 0xd7, 0xdc, 0xe8, 0xdc, 0x0e, 0xdc, 0x79, 0x79, 0x79, 0x79, 0x79, 0x76, 0x40, 0xe2, 0xe2, 0xe2, 0x40, 0x0d, 0x7e, 0x40, 0xe2, 0x68, 0xac, 0xc3, 0xfe, 0x1a, 0x1a, 0x42, 0xc1, 0xc1, 0x65, 0x76, 0xb3, 0x79, 0xc8, 0x0d, 0x0d, 0x40, 0xe2, 0x31, 0x31, 0x5e, 0x5e, 0x31, 0xe2, 0xe5, 0xc3, 0x60, 0x60, 0x60, 0x60, 0x56, 0xc1, 0xc1, 0xb4, 0x46, 0x2b, 0xc8, 0x31, 0x4b, 0x04, 0xcc, 0x56, 0x56, 0xa7, 0xc0, 0xcc, 0xe7, 0xe0, 0xf4, 0xde, 0xe0, 0x62, 0xb3, 0xb3, 0x62, 0xb8, 0xb5, 0xf4, 0xc6, 0xe0, 0xf4, 0xd0, 0xf7, 0x5f, 0x19, 0x19, 0x64, 0x64, 0xb3, 0x16, 0x92, 0xf9, 0x86, 0xa7, 0x8d, 0x27, 0x4b, 0xc5, 0x67, 0x5e, 0x64, 0xfe, 0xfe, 0xf1, 0xbd, 0xc0, 0xc0, 0x5c, 0x55, 0x55, 0xe7, 0x55, 0x55, 0x04, 0x14, 0x9c, 0x4b, 0xa2, 0xd5, 0x85, 0x49, 0x35, 0x9f, 0x9f, 0x9f, 0x9f, 0x9f, 0xa0, 0x35, 0x8e, 0xa0, 0xc5, 0x13, 0x79, 0x79, 0x79, 0x40, 0xc8, 0x67, 0x33, 0xaf, 0x0f, 0x52, 0xb1, 0x2b, 0x46, 0x76, + 0xe9, 0x48, 0xcb, 0x36, 0x00, 0x36, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x36, 0x36, 0x70, 0xe9, 0xe9, 0x15, 0x6d, 0xbb, 0x2d, 0x2d, 0xe9, 0x0c, 0x4e, 0xc8, 0x79, 0xaf, 0x93, 0x25, 0xc5, 0xc5, 0x31, 0x79, 0x13, 0x13, 0x13, 0xd7, 0xd7, 0xe8, 0xdc, 0xe8, 0x31, 0x79, 0x79, 0x79, 0x79, 0x79, 0x76, 0xe2, 0xe2, 0xe2, 0xe2, 0x40, 0x7e, 0x7e, 0xe2, 0xe2, 0x34, 0x1a, 0xc3, 0xfe, 0x1a, 0x1a, 0x60, 0xc1, 0xc1, 0xc3, 0xd1, 0x79, 0x79, 0x0d, 0x0d, 0x0d, 0x40, 0xe2, 0x31, 0x31, 0x5e, 0x5e, 0x31, 0x5e, 0x0d, 0x5a, 0xc3, 0x96, 0x60, 0x60, 0xe4, 0x56, 0xc1, 0x42, 0x64, 0x0d, 0xc8, 0x5e, 0x4b, 0x9c, 0x14, 0x56, 0xc1, 0x83, 0xe7, 0x04, 0x26, 0xf4, 0xf4, 0xde, 0xe0, 0xb9, 0xb3, 0xb3, 0x6b, 0x7b, 0xde, 0xc6, 0xc6, 0xe0, 0xf4, 0xd0, 0xf7, 0xc9, 0x19, 0x19, 0xb3, 0x64, 0xb3, 0x5d, 0x92, 0xf9, 0x86, 0x86, 0x8d, 0x27, 0x6b, 0x13, 0x67, 0x76, 0xf5, 0xe4, 0x6a, 0x71, 0xba, 0x99, 0xe7, 0x55, 0x4b, 0x55, 0x39, 0x55, 0x55, 0xe7, 0x14, 0x3a, 0x85, 0xa2, 0x85, 0xad, 0xa2, 0x35, 0x0e, 0x35, 0x9f, 0x9f, 0xdc, 0x9f, 0x9f, 0x8e, 0x35, 0x9f, 0xc5, 0x13, 0x79, 0x31, 0x79, 0x0d, 0x0d, 0x79, 0xc5, 0xb1, 0xfb, 0xea, 0xaf, 0x2b, 0x2b, + 0xcb, 0xcb, 0x00, 0x36, 0x70, 0x36, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x48, 0x36, 0x48, 0x69, 0xcb, 0x0c, 0x1e, 0x6d, 0x0c, 0xe9, 0xe9, 0x77, 0x2b, 0xc8, 0x5b, 0x93, 0xc5, 0x33, 0xd7, 0x13, 0x76, 0x79, 0x13, 0x13, 0x13, 0xd7, 0xd7, 0xe8, 0x13, 0x31, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x76, 0xe2, 0xe2, 0xe2, 0x31, 0x40, 0x79, 0x31, 0xe2, 0xe2, 0x77, 0xfe, 0xc3, 0xfe, 0x1a, 0x1a, 0x1a, 0xc3, 0xc1, 0xc1, 0xbe, 0x40, 0x79, 0x40, 0x0d, 0x34, 0x40, 0xe2, 0x31, 0x31, 0x80, 0x5e, 0x5e, 0x31, 0x5e, 0xbb, 0x60, 0x8f, 0x96, 0x60, 0x60, 0xe4, 0x56, 0xc1, 0x60, 0x77, 0x0d, 0x13, 0xbd, 0x83, 0x86, 0x56, 0x56, 0x9c, 0x26, 0x8d, 0x27, 0xf4, 0xf4, 0xc4, 0xe0, 0xb9, 0xb3, 0x20, 0x17, 0xb5, 0xde, 0xc6, 0xf8, 0xe0, 0xf4, 0xc6, 0xf7, 0x19, 0xbb, 0x64, 0xb3, 0xb3, 0xb3, 0xf6, 0x27, 0x04, 0xa7, 0x86, 0xee, 0x17, 0x16, 0x31, 0xb3, 0x79, 0x66, 0x60, 0x66, 0xb1, 0xad, 0x4b, 0x39, 0x39, 0x4b, 0x55, 0xe7, 0x55, 0x55, 0xe7, 0x14, 0xcc, 0x55, 0x4b, 0x85, 0xad, 0xa2, 0x35, 0x35, 0x05, 0xa0, 0xdc, 0xdc, 0xdc, 0x35, 0x8e, 0x8e, 0x35, 0x9f, 0xdc, 0x13, 0x13, 0x13, 0x76, 0x34, 0x34, 0x79, 0xc5, 0xb1, 0x4c, 0x52, 0x5b, 0xc8, + 0x00, 0x36, 0x70, 0x36, 0x36, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x48, 0x70, 0x70, 0x48, 0x48, 0xcb, 0xe9, 0x6d, 0x2d, 0x1e, 0x77, 0xc8, 0xb3, 0x79, 0xf2, 0x0f, 0xd1, 0x67, 0x20, 0x13, 0x79, 0xc8, 0x76, 0x5e, 0x13, 0x13, 0x13, 0x13, 0x13, 0x31, 0x79, 0x79, 0x79, 0x79, 0x13, 0x79, 0x79, 0x79, 0xe2, 0x31, 0x31, 0x31, 0xdc, 0x6e, 0x45, 0xe2, 0xe2, 0x0d, 0xfe, 0xc3, 0xfe, 0x1a, 0x1a, 0x1a, 0xe4, 0xc1, 0xc1, 0x8f, 0x79, 0x31, 0x76, 0x0d, 0x34, 0x7e, 0x11, 0x31, 0x31, 0x5e, 0x5e, 0x5e, 0x31, 0x13, 0x79, 0x51, 0xc3, 0x96, 0x60, 0x60, 0x60, 0x8f, 0xc1, 0xc1, 0x2e, 0x77, 0x37, 0xba, 0xef, 0xcc, 0x86, 0x56, 0xf9, 0x27, 0x92, 0x26, 0xf4, 0xf4, 0xc4, 0xe0, 0xb9, 0xb3, 0x20, 0x30, 0xc4, 0xde, 0xc6, 0xd0, 0xe0, 0xf4, 0xc6, 0xda, 0x19, 0xbb, 0xb3, 0x13, 0xb3, 0xb3, 0x41, 0x27, 0x04, 0x86, 0x86, 0x04, 0x17, 0x62, 0x13, 0xf2, 0xb4, 0xac, 0xfe, 0x5a, 0x41, 0xbc, 0x4b, 0x39, 0x39, 0x4b, 0x55, 0xe7, 0x55, 0x55, 0x39, 0xcc, 0xcc, 0x55, 0x55, 0x55, 0xad, 0x47, 0x35, 0x8e, 0x7d, 0x8e, 0x9f, 0xdc, 0xdc, 0x35, 0x8e, 0x8e, 0x35, 0x35, 0xc5, 0x31, 0x31, 0x20, 0x13, 0x76, 0x34, 0x68, 0x79, 0xc5, 0x0f, 0xea, 0xfb, 0xb3, + 0x70, 0x69, 0x36, 0x00, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0xcf, 0x36, 0x70, 0x70, 0x48, 0x36, 0x69, 0x0c, 0x0c, 0x1e, 0x77, 0x77, 0x2b, 0x79, 0xaf, 0x0f, 0x67, 0x79, 0x67, 0x79, 0x79, 0x2b, 0xc8, 0x0d, 0x76, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x13, 0xdc, 0x13, 0x31, 0x79, 0x79, 0xe2, 0x31, 0x31, 0x0e, 0xb8, 0x41, 0x40, 0xe2, 0xe2, 0x0d, 0xfe, 0xc3, 0xfe, 0x1a, 0x1a, 0x1a, 0xfe, 0xc1, 0xc1, 0xc1, 0x53, 0x40, 0x76, 0x40, 0x34, 0x34, 0x40, 0xe2, 0x31, 0x5e, 0x5e, 0x31, 0x31, 0x5e, 0xe8, 0xbb, 0xac, 0x8f, 0x96, 0x60, 0x60, 0x60, 0x42, 0xc1, 0xc1, 0xe6, 0x2c, 0x85, 0x39, 0x3a, 0xa7, 0x56, 0xf9, 0x27, 0x26, 0x27, 0xe0, 0xf4, 0xc4, 0xe0, 0x62, 0xb3, 0xb3, 0xb3, 0x50, 0xf4, 0xc6, 0xd0, 0xf4, 0xf4, 0xf4, 0x50, 0x19, 0xbb, 0xb3, 0xd7, 0xd7, 0xd1, 0x30, 0x17, 0x04, 0xa7, 0x86, 0x04, 0x17, 0x3d, 0x0f, 0xe3, 0x24, 0x60, 0x1a, 0xf5, 0x41, 0xbc, 0x4b, 0x26, 0x26, 0x4b, 0x4b, 0x39, 0x55, 0x55, 0x39, 0xcc, 0x14, 0x39, 0x9e, 0x55, 0x85, 0x47, 0x35, 0x05, 0x7d, 0x05, 0x35, 0xdc, 0xdc, 0x9f, 0x35, 0x35, 0x8e, 0x35, 0xc5, 0x79, 0x79, 0x13, 0xc5, 0x13, 0x76, 0x68, 0x74, 0xb3, 0xaf, 0x37, 0xea, 0xf2, + 0x70, 0x36, 0x36, 0x00, 0x70, 0x70, 0x70, 0x70, 0x70, 0x48, 0xcf, 0xcb, 0x70, 0x70, 0x48, 0x69, 0xcb, 0x0c, 0x1e, 0x1e, 0x77, 0x2b, 0xc8, 0xf2, 0x0f, 0x67, 0x2b, 0x79, 0x79, 0x13, 0x13, 0x79, 0xc8, 0x77, 0x0d, 0x0d, 0xc8, 0x79, 0x79, 0x79, 0x79, 0x79, 0x67, 0xdc, 0xe8, 0x13, 0x31, 0x31, 0x79, 0x31, 0x31, 0x35, 0xb8, 0x87, 0x76, 0x40, 0xe2, 0xe2, 0x68, 0xac, 0xc3, 0xfe, 0x1a, 0x1a, 0xfe, 0x1a, 0x42, 0xc1, 0xc1, 0x96, 0x40, 0x76, 0x40, 0x0d, 0x34, 0x40, 0xe2, 0x31, 0x5e, 0x31, 0x31, 0x31, 0x5e, 0x13, 0xb3, 0x0b, 0xc3, 0x96, 0x60, 0x60, 0xe4, 0xe4, 0xc3, 0xc1, 0xc1, 0xae, 0x5d, 0x39, 0xf9, 0xa7, 0x56, 0xf9, 0x27, 0x27, 0x27, 0xe0, 0xf4, 0xde, 0xe0, 0x62, 0xb3, 0x19, 0x19, 0x80, 0xf4, 0xc6, 0x50, 0xf4, 0xf4, 0xc6, 0xd0, 0xc9, 0x19, 0x13, 0x6e, 0x0e, 0xd1, 0xe8, 0x17, 0x04, 0xa7, 0x86, 0xf9, 0xaa, 0xb6, 0x52, 0x5b, 0x66, 0x60, 0xac, 0xd8, 0x5d, 0x47, 0x4b, 0x26, 0x26, 0x4b, 0x4b, 0x55, 0x55, 0x55, 0x39, 0xcc, 0xa7, 0x04, 0x04, 0xe7, 0x85, 0xa2, 0x05, 0x05, 0x7d, 0x05, 0x35, 0xdc, 0xdc, 0x9f, 0x8e, 0x8e, 0x8e, 0x9f, 0x13, 0x79, 0x76, 0x13, 0xc5, 0xc5, 0x13, 0x76, 0x68, 0xc8, 0x20, 0xb1, 0x52, 0xfb, + 0x70, 0x00, 0x70, 0x70, 0x70, 0x70, 0x00, 0x70, 0x36, 0x38, 0x48, 0x70, 0x70, 0x48, 0x48, 0xe9, 0x0c, 0xe9, 0x77, 0x77, 0x2b, 0xab, 0x5b, 0xfb, 0x03, 0xc8, 0x2b, 0x2b, 0x79, 0x20, 0x20, 0x79, 0xc8, 0x77, 0x0d, 0x0d, 0x76, 0x79, 0x31, 0x31, 0x79, 0x79, 0x67, 0x13, 0x31, 0x31, 0x31, 0x31, 0x79, 0xe2, 0xe8, 0x6e, 0x45, 0x31, 0x40, 0x40, 0xe2, 0xe2, 0x34, 0x2e, 0xc3, 0xfe, 0x1a, 0xfe, 0xfe, 0x1a, 0xfe, 0xc1, 0xc1, 0xc1, 0x2c, 0x7e, 0x40, 0x0d, 0x34, 0x34, 0x40, 0xe2, 0x5e, 0x31, 0x31, 0x31, 0x5e, 0x13, 0x13, 0x2b, 0x2e, 0x8f, 0x96, 0x60, 0x60, 0xe4, 0x60, 0xc3, 0xc1, 0x42, 0xd8, 0x26, 0xf9, 0xa7, 0x56, 0xf9, 0x17, 0x27, 0x27, 0xe0, 0xe0, 0xbc, 0xbc, 0xc6, 0xb3, 0x19, 0x19, 0x76, 0xd0, 0xc6, 0x50, 0xf4, 0xf4, 0xc6, 0xc6, 0x5e, 0xb3, 0x5d, 0x17, 0xe8, 0xd1, 0x13, 0x6b, 0x8d, 0xa7, 0x86, 0x83, 0xba, 0x85, 0xdc, 0x2b, 0xfe, 0xfe, 0x6a, 0x67, 0x6e, 0x4b, 0x4b, 0x26, 0x26, 0x4b, 0x4b, 0x55, 0x55, 0x55, 0x39, 0xcc, 0xa7, 0x9c, 0xf9, 0x04, 0x85, 0xa2, 0x05, 0x7d, 0x7d, 0x05, 0x35, 0xdc, 0xdc, 0x9f, 0x8e, 0x8e, 0xa0, 0xdc, 0x13, 0x79, 0xc8, 0x79, 0xd7, 0xc5, 0xc5, 0x13, 0x0d, 0x74, 0x2b, 0x5b, 0x37, 0xe3, + 0x00, 0x00, 0x00, 0x70, 0x00, 0x48, 0xcf, 0x36, 0x36, 0x0c, 0x69, 0x70, 0x70, 0x36, 0x36, 0x0c, 0xe9, 0xe9, 0x77, 0x2b, 0x2b, 0xb0, 0x37, 0xd1, 0xc8, 0xc8, 0x77, 0xc8, 0x79, 0x13, 0x20, 0x79, 0xc8, 0x77, 0x0d, 0x0d, 0x79, 0x31, 0x13, 0x31, 0x79, 0x79, 0x79, 0x79, 0x13, 0x13, 0x31, 0x31, 0x79, 0xe2, 0x31, 0x31, 0x31, 0x31, 0x40, 0x40, 0xe2, 0xe2, 0x34, 0x2e, 0xc3, 0xfe, 0x1a, 0xfe, 0x1a, 0xfe, 0x1a, 0x42, 0xc1, 0xc1, 0x96, 0x0d, 0x40, 0x40, 0x34, 0x34, 0x40, 0x11, 0x31, 0x31, 0x31, 0x31, 0x5e, 0x13, 0x20, 0x13, 0x72, 0x42, 0x96, 0x60, 0x60, 0x60, 0xe4, 0xe4, 0x56, 0xc1, 0xfe, 0x61, 0x98, 0xa7, 0x56, 0x3a, 0x17, 0x17, 0x27, 0xde, 0xb8, 0xb8, 0xe0, 0xc6, 0x5e, 0xbb, 0xbb, 0x19, 0x75, 0xd0, 0xf7, 0xc6, 0xf4, 0xc6, 0xc6, 0xf7, 0x41, 0x6b, 0x7c, 0xd7, 0xd1, 0x20, 0x49, 0xee, 0xa7, 0x56, 0x14, 0x4b, 0x16, 0xe2, 0xb4, 0xe4, 0x1a, 0x66, 0x31, 0x6e, 0x4b, 0x4b, 0x26, 0x26, 0x4b, 0x4b, 0x55, 0x55, 0x55, 0x39, 0x3a, 0x86, 0x3a, 0xf9, 0x04, 0x4b, 0x05, 0x7d, 0x7d, 0x7d, 0x05, 0x0e, 0xdc, 0xe8, 0xc5, 0x9f, 0xa0, 0xc5, 0x9f, 0x05, 0x67, 0xc8, 0x76, 0x13, 0xc5, 0xc5, 0xd7, 0x79, 0x74, 0x77, 0x79, 0x2c, 0x10, + 0x00, 0x00, 0x00, 0x70, 0x70, 0x00, 0x0c, 0x1e, 0x36, 0x36, 0x70, 0x70, 0x70, 0xcb, 0x0c, 0xcb, 0x0c, 0xe9, 0x79, 0x2b, 0xd8, 0x37, 0x5b, 0x2b, 0x2b, 0x0d, 0x77, 0x2b, 0x79, 0x13, 0x13, 0x79, 0xc8, 0x0d, 0x0d, 0x0d, 0x79, 0x79, 0x31, 0x31, 0x79, 0x79, 0x31, 0xe8, 0x13, 0x13, 0x31, 0x31, 0x79, 0xe2, 0xe2, 0x31, 0x45, 0x45, 0x76, 0x7e, 0x11, 0xe2, 0x34, 0x6a, 0xc3, 0xfe, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0xfe, 0x56, 0xc1, 0xc1, 0x2c, 0x34, 0x40, 0x34, 0x34, 0x7e, 0x11, 0x5f, 0xe2, 0x5f, 0x31, 0x13, 0xc5, 0xaf, 0x4c, 0xb4, 0x2e, 0xe4, 0xfe, 0x60, 0x60, 0xe4, 0x60, 0xe4, 0xc1, 0xc1, 0x57, 0x09, 0x86, 0x86, 0x3a, 0x27, 0x17, 0x27, 0xb8, 0xaa, 0xde, 0xe0, 0xc6, 0xb3, 0xbb, 0xbb, 0xbb, 0xc9, 0x75, 0x80, 0x62, 0xf4, 0xc6, 0xc6, 0xf8, 0xde, 0xc4, 0xb9, 0xd7, 0x20, 0xf2, 0x92, 0x9c, 0x86, 0x56, 0x3a, 0x17, 0x8b, 0x76, 0xbe, 0x60, 0x1a, 0xe1, 0x31, 0x6e, 0x4b, 0x4b, 0x26, 0x26, 0x26, 0x4b, 0x55, 0x55, 0x55, 0x39, 0x3a, 0x86, 0x3a, 0xf9, 0xe7, 0xd5, 0x05, 0x7d, 0x7d, 0x7d, 0x05, 0x9f, 0xe8, 0xe8, 0xe8, 0xdc, 0xc5, 0xc5, 0x8d, 0x3c, 0x79, 0xc8, 0xc8, 0x31, 0x13, 0x5e, 0x79, 0x76, 0x74, 0x74, 0x19, 0xd1, 0xe3, + 0x00, 0x00, 0x70, 0x00, 0xcf, 0xe9, 0x70, 0x6d, 0x1e, 0x70, 0x70, 0x70, 0x70, 0x36, 0xe9, 0x69, 0x0c, 0x2b, 0x64, 0xd8, 0x37, 0x5b, 0x2b, 0x2b, 0x0d, 0xc8, 0xc8, 0xc8, 0x79, 0xb3, 0x13, 0x79, 0xc8, 0x0d, 0x0d, 0x0d, 0xc8, 0x79, 0x79, 0x79, 0x79, 0x13, 0x0e, 0x0e, 0x13, 0x31, 0x31, 0x31, 0x79, 0xe2, 0xe2, 0x31, 0xe8, 0x31, 0x40, 0x40, 0x11, 0xe2, 0x34, 0x94, 0xc3, 0xfe, 0x1a, 0x1a, 0x1a, 0x1a, 0xfe, 0x1a, 0x8f, 0xc1, 0xc1, 0xe4, 0x46, 0x40, 0x40, 0x34, 0x34, 0x40, 0x5f, 0x31, 0x5e, 0xe8, 0xaf, 0x37, 0x4c, 0x0f, 0x13, 0x72, 0xc3, 0x1a, 0x60, 0x60, 0x60, 0xe4, 0x60, 0x42, 0xc1, 0xc1, 0x81, 0xcc, 0x56, 0x3a, 0x27, 0xb5, 0xb8, 0xaa, 0xe0, 0xf4, 0xe0, 0xc6, 0x5e, 0xbb, 0xbb, 0x74, 0x74, 0xc9, 0x5e, 0xb9, 0xc6, 0xc6, 0xc6, 0xc4, 0x27, 0xb5, 0x50, 0xd7, 0x5b, 0x84, 0x9c, 0x9c, 0xa7, 0x56, 0xf9, 0x27, 0x8b, 0x76, 0xac, 0xfe, 0xac, 0xb4, 0x45, 0x5d, 0x4b, 0x4b, 0x4b, 0x26, 0x26, 0x4b, 0x55, 0x55, 0x55, 0x55, 0x9c, 0xa7, 0x3a, 0xe7, 0x55, 0x49, 0x7d, 0xa2, 0x7d, 0x7d, 0x35, 0x9f, 0xe8, 0xdc, 0x33, 0x13, 0x13, 0x05, 0x8d, 0x33, 0x79, 0xc8, 0x0d, 0x76, 0x76, 0x0d, 0x74, 0x74, 0x46, 0x74, 0x46, 0x64, 0x6f, + 0x70, 0x70, 0x70, 0x00, 0x00, 0x69, 0x1e, 0xcf, 0x0c, 0x70, 0x70, 0x48, 0x70, 0x36, 0xe9, 0x69, 0xab, 0xb3, 0xd1, 0x37, 0xb1, 0x2b, 0x2b, 0x77, 0x0d, 0x76, 0xc8, 0x79, 0x79, 0x20, 0x20, 0x79, 0xc8, 0x0d, 0x0d, 0x0d, 0xc8, 0x79, 0x79, 0x79, 0x79, 0x9f, 0x35, 0x13, 0x31, 0x31, 0x31, 0x79, 0x76, 0xe2, 0xe2, 0x31, 0x31, 0x40, 0x7e, 0x7e, 0x11, 0x5f, 0x34, 0x94, 0xc3, 0xfe, 0x1a, 0x1a, 0x1a, 0xfe, 0xfe, 0xfe, 0xfe, 0xc3, 0xc1, 0xc1, 0x24, 0x02, 0x40, 0x34, 0x34, 0x40, 0x31, 0xe8, 0xaf, 0x4c, 0x4c, 0x0f, 0xc5, 0x13, 0x5e, 0x77, 0xfe, 0x60, 0xfe, 0x60, 0x60, 0xe4, 0xe4, 0x60, 0xc3, 0xc1, 0x42, 0x57, 0x56, 0x3a, 0x27, 0xb5, 0xb8, 0xb5, 0xf4, 0xf4, 0xf4, 0xc6, 0x5e, 0xbb, 0xbb, 0x74, 0x38, 0x74, 0x19, 0x30, 0xf8, 0xc6, 0xc6, 0xde, 0x92, 0xb5, 0xb9, 0xd7, 0x3c, 0x04, 0x95, 0x92, 0x14, 0x56, 0xf9, 0x27, 0x1d, 0xb4, 0xe4, 0xac, 0x2e, 0xd1, 0xdc, 0x5d, 0x4b, 0x4b, 0x4b, 0x26, 0x26, 0x4b, 0x55, 0x55, 0x55, 0x55, 0x9c, 0xa7, 0x9c, 0x55, 0xa2, 0x05, 0x7d, 0x7d, 0x7d, 0x7d, 0x8e, 0xdc, 0xe8, 0xdc, 0x33, 0x67, 0x67, 0xa0, 0xf2, 0x79, 0x79, 0xc8, 0x0d, 0x40, 0x76, 0x0d, 0x68, 0x68, 0x74, 0x74, 0x46, 0xd8, 0x10, + 0x70, 0x70, 0x00, 0x48, 0x36, 0x00, 0x48, 0xe9, 0x36, 0x70, 0x70, 0x48, 0x0c, 0x36, 0xcf, 0x0c, 0x2b, 0xd1, 0x37, 0x93, 0x13, 0xb3, 0x77, 0x77, 0x77, 0x0d, 0xc8, 0x79, 0x13, 0xd7, 0xc5, 0x31, 0x0d, 0x0d, 0x0d, 0x0d, 0x76, 0x79, 0x31, 0x79, 0x13, 0xdc, 0x13, 0x79, 0x31, 0x79, 0x79, 0x79, 0x76, 0x40, 0xe2, 0xe2, 0xe2, 0x40, 0x0d, 0x7e, 0x11, 0xe2, 0x34, 0xe6, 0xc3, 0xfe, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0xfe, 0x1a, 0x60, 0xc1, 0xc1, 0xc3, 0xbb, 0x7e, 0x40, 0x40, 0x31, 0xc5, 0x93, 0x4c, 0x8e, 0xc5, 0x33, 0x20, 0x13, 0xb3, 0x0d, 0xe1, 0xc3, 0xac, 0x60, 0x60, 0x60, 0xe4, 0xe4, 0xe4, 0xc1, 0xc1, 0xfe, 0x94, 0x14, 0x17, 0xde, 0x17, 0xde, 0xc6, 0xc6, 0xc4, 0xc6, 0x5e, 0xbb, 0x74, 0x74, 0x38, 0x38, 0xbb, 0x80, 0xf8, 0xc6, 0xc6, 0xde, 0x8d, 0x27, 0x7c, 0xfb, 0x65, 0x71, 0x41, 0x8a, 0x14, 0x56, 0xf9, 0x27, 0xb9, 0xbe, 0xe4, 0xac, 0x94, 0x31, 0x41, 0x5d, 0x4b, 0x4b, 0x4b, 0x26, 0x26, 0x4b, 0x4b, 0x55, 0x55, 0x55, 0x04, 0xcc, 0x9c, 0x4b, 0x49, 0x49, 0x7d, 0x7d, 0x05, 0x05, 0x0e, 0xe8, 0x13, 0xdc, 0x13, 0x67, 0x67, 0x67, 0x79, 0x79, 0x79, 0xc8, 0xc8, 0x31, 0x13, 0x13, 0x76, 0x46, 0xb2, 0x59, 0x74, 0xb4, 0xfc, + 0x70, 0x70, 0x00, 0x36, 0xbb, 0x44, 0x70, 0x70, 0x36, 0x70, 0x70, 0x70, 0xe9, 0x69, 0x0c, 0xab, 0x64, 0x0f, 0x4c, 0x5b, 0x20, 0x2b, 0x77, 0x77, 0x77, 0x77, 0xc8, 0x79, 0x13, 0x41, 0x0e, 0x13, 0x76, 0x0d, 0x0d, 0x0d, 0x79, 0x31, 0x31, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x31, 0x79, 0x76, 0x40, 0xe2, 0xe2, 0xe2, 0x40, 0x7e, 0x7e, 0x11, 0x5f, 0x02, 0x5a, 0xc3, 0x60, 0xac, 0x1a, 0x1a, 0x1a, 0x1a, 0xfe, 0xfe, 0x1a, 0x42, 0xc1, 0xc1, 0x94, 0xb2, 0x31, 0x33, 0x0f, 0x37, 0xb1, 0xe8, 0x13, 0x13, 0x13, 0x13, 0x13, 0xb3, 0x76, 0xab, 0xe4, 0x1a, 0xfe, 0x60, 0x60, 0x60, 0xe4, 0x60, 0x42, 0xc1, 0xc1, 0xe6, 0x7a, 0x27, 0xde, 0x17, 0xde, 0xc6, 0xc6, 0xc4, 0xf4, 0x80, 0xbb, 0x74, 0x74, 0x38, 0x38, 0xbb, 0x5e, 0xd0, 0xc6, 0xc6, 0xde, 0x8d, 0x26, 0x21, 0x52, 0xaf, 0xd1, 0xe8, 0x8a, 0xcc, 0x56, 0x3a, 0x27, 0x30, 0xac, 0x60, 0xac, 0xbe, 0x31, 0xdc, 0x5d, 0x4b, 0x4b, 0x4b, 0x26, 0x26, 0x4b, 0x4b, 0x55, 0x55, 0x55, 0xe7, 0xf9, 0xe7, 0xd5, 0xa2, 0x49, 0x7d, 0x05, 0x35, 0x8e, 0xdc, 0x13, 0x13, 0x13, 0x13, 0x79, 0x67, 0x67, 0x67, 0x79, 0x79, 0xc8, 0x79, 0xc5, 0xaf, 0xaf, 0xd7, 0x76, 0x68, 0x59, 0x74, 0xb4, 0xfc, + 0x70, 0x70, 0x70, 0x00, 0x70, 0xe9, 0x38, 0x36, 0x70, 0x70, 0x48, 0x70, 0x36, 0x69, 0x1e, 0x2b, 0xaf, 0xce, 0xc5, 0x20, 0xb3, 0xc8, 0x77, 0x77, 0x77, 0x77, 0xc8, 0x79, 0x13, 0x0e, 0xc5, 0x13, 0x76, 0x0d, 0x0d, 0x40, 0x79, 0x31, 0x31, 0x79, 0x79, 0x79, 0x79, 0x76, 0x79, 0x79, 0x31, 0x79, 0x76, 0x40, 0xe2, 0xe2, 0xe2, 0x40, 0x7e, 0x7e, 0x11, 0xe2, 0x7e, 0xe1, 0xc3, 0x60, 0xac, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0xfe, 0x56, 0xc1, 0xc1, 0x72, 0xc5, 0x37, 0xaf, 0x13, 0x31, 0x31, 0x31, 0x5e, 0x13, 0x13, 0x5e, 0xb3, 0x5e, 0x46, 0x94, 0xe4, 0xac, 0x60, 0x60, 0x60, 0xe4, 0xe4, 0x60, 0xc3, 0xc1, 0xc1, 0x8c, 0x17, 0xde, 0x17, 0xde, 0xc6, 0xc6, 0xc4, 0xf4, 0xb9, 0x19, 0x74, 0x74, 0x38, 0x38, 0x74, 0x5e, 0x1d, 0xc6, 0xc6, 0xde, 0xee, 0xc2, 0xb6, 0x41, 0x5e, 0xb3, 0x5e, 0x49, 0xcc, 0x86, 0x3a, 0x27, 0xc5, 0xe4, 0xac, 0x1a, 0x2c, 0x45, 0xdc, 0x5d, 0x4b, 0x4b, 0x4b, 0x26, 0x26, 0x4b, 0x4b, 0x4b, 0x55, 0x55, 0xe7, 0xe7, 0x55, 0xa2, 0x49, 0x49, 0x05, 0x35, 0x35, 0x35, 0xdc, 0x13, 0x13, 0x13, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0xc8, 0x5e, 0x25, 0x7d, 0x8e, 0xaf, 0x13, 0x46, 0x59, 0x59, 0xd8, 0xfc, + 0x70, 0x00, 0x00, 0x36, 0xbb, 0x69, 0x36, 0xcf, 0x70, 0x70, 0x36, 0xe9, 0x36, 0xe9, 0xab, 0xd1, 0xce, 0xaf, 0x20, 0xb3, 0x77, 0x77, 0x77, 0x77, 0x77, 0xc8, 0x76, 0x79, 0x13, 0xd7, 0xd7, 0x13, 0x76, 0x0d, 0x0d, 0x40, 0x79, 0x31, 0x79, 0x79, 0x76, 0x79, 0xc8, 0x76, 0x79, 0x79, 0x79, 0x79, 0x76, 0x40, 0xe2, 0xe2, 0xe2, 0x40, 0x7e, 0x7e, 0x40, 0xe2, 0x7e, 0x72, 0x42, 0x60, 0xac, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0xe4, 0xc1, 0xc1, 0x42, 0xe5, 0x31, 0x5f, 0xe2, 0x11, 0x11, 0x5f, 0x5e, 0x13, 0x13, 0x5e, 0xb3, 0xb3, 0x40, 0xb4, 0x42, 0x2e, 0xfe, 0x60, 0x60, 0x60, 0xe4, 0x60, 0x60, 0xc1, 0xc1, 0x60, 0xb0, 0xde, 0x17, 0xde, 0xc6, 0xc6, 0xc4, 0xf4, 0x50, 0x19, 0x74, 0x74, 0x38, 0x38, 0x74, 0xb3, 0xf7, 0xc6, 0xf4, 0xad, 0xc2, 0x9e, 0x16, 0x80, 0x5e, 0xb3, 0x5e, 0x49, 0x3a, 0x86, 0x3a, 0x05, 0xbe, 0x42, 0x6a, 0xac, 0xd8, 0xe8, 0x41, 0x5d, 0x4b, 0x4b, 0x4b, 0x26, 0x26, 0x4b, 0x4b, 0x4b, 0x4b, 0x55, 0x55, 0x55, 0x4b, 0xa2, 0x49, 0x05, 0x35, 0x35, 0x8e, 0x9f, 0xe8, 0x13, 0x13, 0x31, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x2b, 0xc8, 0x33, 0xa2, 0x7d, 0x8e, 0x8e, 0x13, 0x46, 0x59, 0x59, 0xd8, 0xa6, + 0x70, 0x70, 0x70, 0x00, 0x69, 0x1e, 0x36, 0x70, 0x70, 0x70, 0x70, 0xcd, 0x0c, 0x1e, 0xab, 0x37, 0xb1, 0x20, 0x13, 0xc8, 0x77, 0xc8, 0x77, 0x77, 0xc8, 0xb3, 0xb3, 0x79, 0x79, 0x13, 0x13, 0x31, 0xc8, 0x0d, 0x0d, 0x0d, 0x79, 0x79, 0x79, 0x79, 0x79, 0x76, 0x76, 0x76, 0x79, 0x79, 0x79, 0x79, 0x79, 0x40, 0xe2, 0xe2, 0xe2, 0x40, 0x7e, 0x7e, 0x11, 0xe2, 0x7e, 0xe5, 0x42, 0xe4, 0x1a, 0xac, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0xfe, 0x1a, 0xe4, 0xc1, 0xc1, 0x2e, 0x34, 0x11, 0x40, 0x11, 0x11, 0x5f, 0x5e, 0x5e, 0x13, 0xb3, 0x79, 0x79, 0x31, 0x19, 0x60, 0x1a, 0xac, 0x60, 0x60, 0x60, 0x60, 0xe4, 0x60, 0x42, 0xc1, 0xc1, 0x32, 0x06, 0xb5, 0xde, 0xc6, 0xc6, 0xc6, 0xf4, 0x50, 0x76, 0x74, 0x74, 0x38, 0x38, 0x74, 0xb3, 0x80, 0xc6, 0xad, 0x99, 0x9e, 0x27, 0x8b, 0xf7, 0x5e, 0xb3, 0x5e, 0x6e, 0xf9, 0xa7, 0x3a, 0xa0, 0xa6, 0xe4, 0x6a, 0x2e, 0x13, 0xdc, 0x0e, 0x5d, 0x4b, 0x4b, 0x4b, 0x26, 0x26, 0x4b, 0x4b, 0x4b, 0x4b, 0x55, 0x55, 0x85, 0x47, 0x49, 0x05, 0x35, 0x35, 0x35, 0x35, 0x9f, 0x13, 0x13, 0x13, 0x79, 0x76, 0x76, 0x79, 0x79, 0x79, 0x79, 0x76, 0x79, 0x05, 0xd5, 0x8e, 0x8e, 0xaf, 0x5e, 0x68, 0x54, 0x74, 0xb4, 0xa6, + 0x70, 0xe9, 0xbb, 0x44, 0x36, 0x70, 0x36, 0x70, 0x70, 0xcf, 0x36, 0x48, 0x6d, 0xbb, 0x53, 0xfb, 0x64, 0xd1, 0x2b, 0x77, 0xab, 0xc8, 0xc8, 0xc8, 0x79, 0xb3, 0x79, 0x2b, 0x79, 0x5e, 0x5e, 0x79, 0xc8, 0x77, 0x0d, 0x0d, 0x76, 0x2b, 0x79, 0x79, 0x79, 0x79, 0x79, 0x76, 0x76, 0x79, 0x79, 0x79, 0x79, 0x40, 0xe2, 0xe2, 0xe2, 0x40, 0x7e, 0x7e, 0x11, 0xe2, 0x11, 0xab, 0x60, 0xe4, 0x1a, 0xac, 0xac, 0xac, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0xe4, 0xc1, 0xc1, 0x5a, 0x02, 0x5f, 0x11, 0x11, 0x5f, 0x31, 0xb3, 0x13, 0xb3, 0x79, 0x76, 0x5e, 0x46, 0x66, 0xe4, 0x2e, 0xfe, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x56, 0xc1, 0xc1, 0x4d, 0xb5, 0xb5, 0xc6, 0xc6, 0xc6, 0xf4, 0xc6, 0x5e, 0xbb, 0x74, 0x38, 0x38, 0xbb, 0x64, 0xd7, 0xad, 0x99, 0x7b, 0x26, 0x26, 0x8b, 0xf7, 0x5e, 0xb3, 0x5e, 0x5d, 0x04, 0xa7, 0xf9, 0xa3, 0x60, 0x1a, 0x6a, 0x66, 0x31, 0x41, 0x0e, 0x0e, 0x47, 0x4b, 0x4b, 0x26, 0x26, 0x4b, 0x4b, 0x4b, 0x4b, 0x55, 0x55, 0x4b, 0xa2, 0x49, 0x35, 0x35, 0x0e, 0x35, 0x35, 0xdc, 0x13, 0x13, 0x31, 0x79, 0x76, 0x76, 0x79, 0x79, 0x79, 0x79, 0x76, 0x33, 0xd5, 0x8e, 0x8e, 0x25, 0x13, 0x74, 0x59, 0x59, 0x74, 0xf5, 0x65, + 0x00, 0x48, 0x0c, 0xbb, 0xbb, 0xcf, 0x70, 0x70, 0x70, 0xcf, 0x0c, 0x0c, 0x2a, 0x4d, 0x10, 0x4d, 0xab, 0xab, 0x77, 0xab, 0xc8, 0xc8, 0xc8, 0x79, 0x79, 0x79, 0xc8, 0xc8, 0x2b, 0x79, 0x79, 0x2b, 0xc8, 0x77, 0x77, 0x0d, 0xc8, 0xc8, 0x2b, 0x79, 0x79, 0x79, 0x79, 0x76, 0x76, 0x79, 0x79, 0x79, 0x76, 0x40, 0x40, 0xe2, 0xe2, 0x40, 0x7e, 0x7e, 0x11, 0x5f, 0x11, 0x77, 0xac, 0x42, 0xfe, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0x1a, 0x1a, 0x1a, 0x1a, 0xfe, 0x42, 0xc1, 0xc1, 0xf5, 0xa4, 0xe2, 0x5f, 0x5f, 0x31, 0x5e, 0x13, 0xb3, 0x79, 0x76, 0x79, 0x40, 0x72, 0xe4, 0x6a, 0x1a, 0x60, 0x60, 0x60, 0x60, 0x60, 0xfe, 0x60, 0xc1, 0xc1, 0xac, 0x33, 0xb5, 0xc6, 0xc6, 0xc6, 0xf4, 0xf4, 0x80, 0xbb, 0x74, 0x38, 0x38, 0x77, 0xd8, 0xe3, 0xbd, 0xbc, 0xc4, 0x27, 0x26, 0x8b, 0x80, 0x5e, 0xb3, 0x5e, 0x5d, 0xee, 0xa7, 0x8d, 0x71, 0x42, 0x6a, 0x1a, 0x53, 0x45, 0x41, 0x0e, 0x0e, 0x47, 0x4b, 0x4b, 0x26, 0x26, 0x4b, 0x4b, 0x4b, 0x4b, 0x55, 0x85, 0x47, 0x49, 0x35, 0x35, 0x0e, 0x0e, 0x0e, 0x0e, 0xdc, 0x13, 0x31, 0x79, 0x76, 0x76, 0x79, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x20, 0xc5, 0x9f, 0x8e, 0xc5, 0x0d, 0x59, 0x74, 0x59, 0x38, 0xf5, 0x65, + 0x48, 0x00, 0x00, 0x70, 0x69, 0xe9, 0x36, 0x70, 0x70, 0x70, 0x36, 0xd3, 0xab, 0x37, 0x53, 0xab, 0xab, 0x77, 0xab, 0x2b, 0x79, 0x2b, 0xc8, 0xc8, 0xc8, 0x0d, 0x77, 0x77, 0x2b, 0x79, 0x2b, 0xc8, 0xc8, 0x0d, 0x77, 0x0d, 0xc8, 0xc8, 0x79, 0x79, 0x79, 0x79, 0x79, 0x76, 0x79, 0x79, 0x79, 0x79, 0x76, 0x40, 0x40, 0x40, 0xe2, 0x40, 0x7e, 0x7e, 0x11, 0x5f, 0xe2, 0x34, 0x94, 0x42, 0xfe, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0x1a, 0x1a, 0x1a, 0xfe, 0x42, 0xc1, 0xc1, 0xe5, 0x7e, 0x5f, 0x5f, 0x31, 0x5e, 0x5e, 0xb3, 0x79, 0x76, 0x76, 0x5f, 0xbb, 0xfe, 0xac, 0x2e, 0x96, 0x60, 0x60, 0x60, 0x60, 0x60, 0xfe, 0x42, 0xc1, 0xc1, 0x8c, 0x16, 0xf4, 0xc6, 0xc6, 0xf4, 0xc4, 0xb9, 0x19, 0x74, 0x38, 0x38, 0xe5, 0xe3, 0x26, 0x6b, 0xc4, 0xc4, 0x27, 0x27, 0x8b, 0x80, 0x5e, 0xb3, 0x5e, 0xf6, 0x8d, 0x14, 0x09, 0xa6, 0x42, 0x94, 0x1a, 0x5b, 0xe8, 0x0e, 0x0e, 0x35, 0x47, 0x4b, 0x4b, 0x26, 0x26, 0x26, 0x4b, 0x4b, 0x4b, 0x55, 0x85, 0x47, 0x35, 0x35, 0x0e, 0x0e, 0x0e, 0x9f, 0x9f, 0xdc, 0xe8, 0x31, 0x79, 0x76, 0x79, 0x79, 0x79, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0x13, 0xdc, 0x79, 0x74, 0x74, 0x59, 0xa9, 0x38, 0xf5, 0x6f, + 0x44, 0x44, 0x0c, 0x70, 0x00, 0x70, 0x48, 0x70, 0x36, 0x69, 0x0c, 0xab, 0x2c, 0xe3, 0x03, 0xab, 0x77, 0x77, 0x2b, 0x33, 0x33, 0x2b, 0xc8, 0x0d, 0x77, 0x77, 0x77, 0xab, 0x2b, 0x79, 0x79, 0x2b, 0xc8, 0x0d, 0x0d, 0x0d, 0xc8, 0x76, 0x79, 0x76, 0x79, 0x79, 0x79, 0x76, 0x79, 0x79, 0x79, 0x79, 0x76, 0x40, 0x40, 0x40, 0xe2, 0x40, 0x7e, 0x7e, 0x11, 0xe2, 0x11, 0x34, 0xe1, 0x42, 0xfe, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0x1a, 0x1a, 0x1a, 0x1a, 0xfe, 0xc3, 0xc1, 0x42, 0x64, 0x11, 0x31, 0x5e, 0x5e, 0x5e, 0xb3, 0x79, 0x76, 0x76, 0x5e, 0x46, 0x57, 0x1a, 0x94, 0x1a, 0x60, 0x60, 0x60, 0x60, 0x60, 0xfe, 0x60, 0xc1, 0xc1, 0x42, 0x33, 0xf4, 0xc6, 0xc6, 0xf4, 0xc4, 0x8b, 0xc9, 0x74, 0x38, 0x2f, 0x10, 0xd5, 0x35, 0x1d, 0xc6, 0xc4, 0x27, 0x27, 0x8b, 0x5e, 0xb3, 0xb3, 0x5e, 0xf6, 0x92, 0xcc, 0x71, 0xfe, 0xfe, 0x57, 0xac, 0x13, 0x87, 0x0e, 0x0e, 0x35, 0x49, 0x4b, 0x4b, 0x26, 0x26, 0x26, 0x4b, 0x4b, 0x55, 0x55, 0x55, 0x4b, 0x0e, 0x0e, 0x41, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0x33, 0x13, 0x76, 0x76, 0x79, 0x13, 0x79, 0x2b, 0xc8, 0xc8, 0xc8, 0x77, 0x77, 0x0d, 0xc8, 0x74, 0x12, 0x59, 0x54, 0x3b, 0xbb, 0xbe, 0xbe, + 0x36, 0x0c, 0x44, 0xe9, 0x36, 0x70, 0x70, 0x70, 0x70, 0x69, 0x44, 0xd1, 0xce, 0x2c, 0xab, 0x77, 0x1e, 0x2b, 0xa0, 0x05, 0x67, 0xc8, 0xc8, 0x77, 0x12, 0x1e, 0x77, 0xab, 0x2b, 0x79, 0x79, 0x2b, 0xc8, 0x0d, 0x0d, 0x0d, 0xc8, 0x79, 0x79, 0x79, 0x76, 0x79, 0x76, 0x76, 0x76, 0x79, 0x79, 0x79, 0x76, 0x40, 0x40, 0x40, 0xe2, 0x40, 0x7e, 0x7e, 0x11, 0xe2, 0xe2, 0x40, 0x72, 0x42, 0x60, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0x1a, 0x1a, 0xac, 0xfe, 0xc3, 0xc1, 0x8f, 0xb3, 0x11, 0x5e, 0x5e, 0x5e, 0xb3, 0x79, 0x76, 0x76, 0x5e, 0x46, 0xe1, 0x1a, 0x94, 0xac, 0xfe, 0x60, 0x60, 0xfe, 0xfe, 0xfe, 0xfe, 0x42, 0xc1, 0xc1, 0x5a, 0xb9, 0xc6, 0xc6, 0xc6, 0xc4, 0xc4, 0x5e, 0x74, 0xb4, 0xa6, 0x53, 0xc5, 0x13, 0x80, 0xc6, 0xc4, 0x17, 0x27, 0x8b, 0x5e, 0xb3, 0xb3, 0x5e, 0xf6, 0x92, 0xf9, 0xbe, 0x42, 0xac, 0x94, 0xa6, 0x13, 0x41, 0x0e, 0x35, 0x35, 0x6e, 0x47, 0x4b, 0x26, 0x26, 0x26, 0x4b, 0x4b, 0x4b, 0x55, 0x55, 0x4b, 0x0e, 0xe8, 0xe8, 0x45, 0x45, 0x13, 0x13, 0x13, 0x13, 0x31, 0x76, 0x76, 0x79, 0x13, 0x79, 0x2b, 0xc8, 0xc8, 0xc8, 0x77, 0x74, 0x74, 0x59, 0x54, 0x54, 0x08, 0x3b, 0x54, 0x64, 0x6f, 0xb4, + 0x00, 0x00, 0x70, 0x36, 0x36, 0x70, 0x70, 0x70, 0x70, 0x69, 0xbf, 0xfb, 0xce, 0xd1, 0xab, 0x1e, 0x77, 0x33, 0x05, 0x67, 0xab, 0xab, 0x77, 0x77, 0x12, 0x1e, 0x77, 0x77, 0x2b, 0x79, 0x79, 0x79, 0xc8, 0x0d, 0x0d, 0x0d, 0x76, 0x79, 0x79, 0x79, 0x79, 0x76, 0x76, 0x76, 0x76, 0x79, 0x79, 0x79, 0x76, 0x40, 0x40, 0xe2, 0xe2, 0x40, 0x7e, 0x7e, 0xe2, 0x31, 0x31, 0xd7, 0x72, 0x60, 0xe4, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0x1a, 0x1a, 0xac, 0xfe, 0xc3, 0xc1, 0x8f, 0xb3, 0xe2, 0x5e, 0x5e, 0xb3, 0x79, 0x76, 0x76, 0x5e, 0x40, 0x2f, 0xfe, 0x94, 0x6a, 0x1a, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xc1, 0xc1, 0xe4, 0x5e, 0xc6, 0xc6, 0xc6, 0xde, 0xde, 0x80, 0xb4, 0xa6, 0xb4, 0xbb, 0x64, 0x19, 0x5e, 0xc6, 0xc4, 0x17, 0x27, 0x8b, 0x5e, 0xb3, 0xb3, 0x5e, 0x30, 0x26, 0x84, 0xa6, 0x42, 0x94, 0xac, 0x66, 0x45, 0x0e, 0x0e, 0x35, 0x35, 0x6e, 0x47, 0x4b, 0x26, 0x26, 0x26, 0x4b, 0x4b, 0x55, 0x55, 0x55, 0x4b, 0x6e, 0xe8, 0x45, 0x45, 0x13, 0x31, 0x13, 0x13, 0x13, 0x79, 0x76, 0x76, 0x79, 0x13, 0x31, 0x79, 0x2b, 0xc8, 0x77, 0x74, 0x74, 0x59, 0x74, 0x74, 0x59, 0x59, 0x12, 0x59, 0xb4, 0x6f, 0x64, + 0x36, 0x70, 0x00, 0x00, 0x00, 0x70, 0x70, 0x70, 0x69, 0x44, 0xbf, 0xd2, 0xb1, 0x64, 0x1e, 0x1e, 0xab, 0x67, 0x2b, 0xab, 0xab, 0x77, 0x77, 0x77, 0x12, 0x1e, 0x77, 0xc8, 0x2b, 0x79, 0x79, 0x79, 0x76, 0x40, 0x0d, 0x0d, 0x76, 0x79, 0x79, 0x79, 0x79, 0x76, 0x76, 0x76, 0x76, 0x76, 0x79, 0x79, 0x76, 0x40, 0x40, 0xe2, 0x11, 0x40, 0x7e, 0x40, 0x31, 0xc5, 0x8e, 0x4c, 0x4d, 0x6a, 0xe4, 0xac, 0x2e, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xfe, 0xc3, 0xc1, 0x8f, 0xb3, 0x5f, 0x13, 0xb3, 0x79, 0x76, 0x5f, 0x5e, 0x76, 0xbf, 0x1a, 0x94, 0x94, 0xac, 0xfe, 0x1a, 0xfe, 0xfe, 0xfe, 0xfe, 0x1a, 0x42, 0xc1, 0xc1, 0xe1, 0x50, 0xc6, 0xc6, 0xde, 0xb5, 0x47, 0xa6, 0xb4, 0x38, 0x38, 0x19, 0x19, 0xc9, 0x50, 0xc6, 0x17, 0x27, 0x16, 0x5e, 0xb3, 0x5e, 0x5e, 0x30, 0x26, 0xa3, 0xfe, 0x60, 0xe6, 0x1a, 0x53, 0x87, 0x0e, 0x35, 0x35, 0x35, 0x49, 0xa2, 0x4b, 0x26, 0x26, 0x26, 0x4b, 0x4b, 0x55, 0x55, 0x55, 0x4b, 0x0e, 0xdc, 0xe8, 0x45, 0x31, 0x31, 0x79, 0x79, 0x31, 0x79, 0x76, 0x76, 0x79, 0x13, 0x13, 0x13, 0x79, 0x2b, 0x77, 0x77, 0x12, 0xc8, 0x79, 0x12, 0x59, 0x74, 0x12, 0x74, 0xbe, 0xbe, 0xbb, + 0xe9, 0xe9, 0xcb, 0x70, 0x70, 0x70, 0x70, 0x70, 0x69, 0xd3, 0x53, 0xea, 0xd1, 0xab, 0x1e, 0x1e, 0x77, 0x77, 0x77, 0xab, 0xab, 0x77, 0x77, 0x77, 0x12, 0x77, 0x77, 0xc8, 0x2b, 0x79, 0x13, 0x13, 0x31, 0x76, 0x40, 0x0d, 0xc8, 0x79, 0x79, 0x79, 0x79, 0x79, 0x76, 0xc8, 0x76, 0x76, 0x79, 0x79, 0x76, 0x40, 0x40, 0x11, 0xe2, 0xe2, 0x76, 0x13, 0x7d, 0x4c, 0x8e, 0xe8, 0x0d, 0xe6, 0x42, 0xac, 0x2e, 0x2e, 0x2e, 0x2e, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xfe, 0xc3, 0xc1, 0x42, 0xd8, 0x76, 0x5e, 0x79, 0x76, 0x5f, 0x5e, 0x5f, 0xbb, 0x2e, 0x94, 0x94, 0xac, 0x1a, 0x1a, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x56, 0xc1, 0xfe, 0x5e, 0xc6, 0xc6, 0xde, 0x9e, 0xba, 0x5b, 0x74, 0x38, 0x38, 0x19, 0x19, 0x19, 0xf7, 0xc6, 0x17, 0x27, 0x16, 0x5e, 0xb3, 0x5e, 0x5e, 0x30, 0x17, 0x71, 0xe4, 0xac, 0xe6, 0x1a, 0xaf, 0x0e, 0x0e, 0x35, 0x35, 0x05, 0x49, 0x49, 0x47, 0x4b, 0x26, 0x26, 0x4b, 0x4b, 0x85, 0x55, 0x55, 0x47, 0x35, 0x0e, 0x0e, 0xdc, 0x45, 0x13, 0x31, 0x79, 0x79, 0x79, 0xc8, 0xc8, 0x76, 0x79, 0x79, 0x13, 0x13, 0x79, 0xc8, 0x74, 0x74, 0x79, 0x74, 0x74, 0x54, 0xa9, 0x3b, 0x19, 0x10, 0xf5, 0x38, + 0x70, 0x69, 0xcd, 0x36, 0x70, 0x36, 0xe9, 0x0c, 0xe9, 0x44, 0x10, 0x2c, 0xab, 0x1e, 0x12, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x1e, 0x77, 0x77, 0xc8, 0x2b, 0x79, 0x13, 0xd7, 0xe8, 0x31, 0x76, 0x40, 0xc8, 0x79, 0x79, 0x79, 0x79, 0x79, 0x76, 0xc8, 0x76, 0x76, 0x79, 0x76, 0x76, 0x40, 0xe2, 0x31, 0x13, 0xd7, 0x8e, 0x3c, 0x8e, 0xdc, 0x31, 0xe2, 0x7e, 0x0b, 0x42, 0x1a, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0x1a, 0xc3, 0xc1, 0xc3, 0x2c, 0x76, 0xb3, 0x76, 0x5f, 0x5e, 0x5f, 0x74, 0x94, 0x94, 0x57, 0x6a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0xfe, 0x1a, 0xe4, 0xc1, 0xc1, 0x53, 0xd0, 0xc4, 0xad, 0xc0, 0x7b, 0x5e, 0x74, 0x38, 0x38, 0x19, 0x19, 0x19, 0x5f, 0xf8, 0xb5, 0x27, 0x16, 0x5e, 0x5e, 0x5e, 0x5e, 0x41, 0x5d, 0x94, 0x42, 0x94, 0x57, 0x94, 0x0e, 0x6e, 0x0e, 0x35, 0x35, 0x05, 0x49, 0x49, 0x47, 0x4b, 0x26, 0x26, 0x4b, 0x4b, 0x4b, 0x55, 0x4b, 0xa2, 0x6e, 0x35, 0x35, 0x0e, 0x0e, 0xdc, 0x13, 0x13, 0x79, 0x79, 0xc8, 0x0d, 0x0d, 0xc8, 0x79, 0x13, 0x13, 0x31, 0xc8, 0x74, 0x74, 0x74, 0x74, 0x12, 0x54, 0x54, 0x38, 0xb4, 0x10, 0x64, 0x54, + 0x00, 0x00, 0x70, 0x70, 0x00, 0x69, 0xe9, 0x0c, 0xd3, 0xf5, 0x10, 0xbf, 0x44, 0x1e, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0xc8, 0x2b, 0xc8, 0x77, 0x77, 0x77, 0x77, 0xc8, 0x2b, 0x79, 0x13, 0xc5, 0xd7, 0x5e, 0x79, 0x76, 0x76, 0x79, 0x79, 0x79, 0x79, 0x79, 0x76, 0xc8, 0x76, 0x76, 0x76, 0x76, 0x79, 0x31, 0x31, 0xdc, 0x0f, 0x4c, 0xb1, 0x13, 0x31, 0x31, 0x40, 0x40, 0x7e, 0xbf, 0xfe, 0xfe, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xe4, 0xc1, 0xc1, 0x53, 0x0d, 0x79, 0x5e, 0x5e, 0x5f, 0x46, 0x6a, 0x6a, 0x57, 0x6a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0xc1, 0xc1, 0xfe, 0x80, 0xad, 0xba, 0x55, 0x27, 0x80, 0x74, 0x38, 0x38, 0x19, 0x19, 0x19, 0xc9, 0xda, 0xde, 0x27, 0x16, 0x5e, 0x5e, 0x80, 0x5e, 0x41, 0x41, 0xfe, 0x60, 0xe6, 0x94, 0x66, 0x5d, 0x6e, 0x0e, 0x35, 0x35, 0x05, 0x49, 0x49, 0x49, 0x4b, 0x26, 0x26, 0x4b, 0x4b, 0x4b, 0x4b, 0xa2, 0x6e, 0x35, 0x35, 0x35, 0x35, 0x0e, 0x0e, 0xdc, 0xe8, 0x13, 0x79, 0x76, 0x0d, 0xc8, 0xc8, 0xc8, 0x2b, 0x79, 0x79, 0xc8, 0xc8, 0x2b, 0x12, 0x74, 0x54, 0x74, 0x76, 0x64, 0x66, 0xbe, 0x74, 0xa9, + 0x00, 0x00, 0x00, 0x70, 0x70, 0x00, 0x36, 0x6d, 0xbf, 0x10, 0xe1, 0x44, 0xe9, 0x1e, 0x77, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0x79, 0x13, 0xb3, 0xc8, 0x77, 0x77, 0x77, 0xc8, 0x79, 0x79, 0x13, 0xd7, 0xc5, 0x13, 0x79, 0x76, 0x76, 0x79, 0x79, 0x79, 0x79, 0x79, 0x76, 0x76, 0x76, 0x79, 0x79, 0x31, 0x13, 0x33, 0x8e, 0x4c, 0x0f, 0x33, 0xe2, 0x40, 0x40, 0xe2, 0x40, 0x40, 0x40, 0x74, 0x6a, 0x60, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x6a, 0x6a, 0x2e, 0xac, 0x6a, 0xac, 0xac, 0xac, 0x2e, 0xac, 0x96, 0xc3, 0xc1, 0x37, 0x0d, 0x31, 0x5e, 0x31, 0x46, 0x94, 0x6a, 0x57, 0x6a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0xac, 0xe4, 0xc1, 0xc1, 0x71, 0xb6, 0xbc, 0x27, 0x26, 0xb9, 0x46, 0x38, 0x38, 0x46, 0x19, 0x19, 0x46, 0x5f, 0xc4, 0x27, 0xc4, 0x80, 0x80, 0x80, 0xe8, 0x06, 0xb1, 0xe4, 0x1a, 0x32, 0x6a, 0x71, 0x6b, 0x0e, 0x35, 0x35, 0x05, 0x49, 0x49, 0x49, 0x6e, 0xa2, 0x4b, 0x4b, 0x4b, 0x47, 0x47, 0x49, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x9f, 0xe8, 0x13, 0x79, 0xc8, 0x0d, 0xc8, 0x77, 0xc8, 0xc8, 0xc8, 0x74, 0x79, 0xc8, 0x74, 0x59, 0x59, 0xc8, 0xb3, 0xb4, 0xa6, 0xb4, 0x54, 0xa9, + 0x69, 0x00, 0x70, 0x36, 0x36, 0x70, 0xcf, 0x44, 0xe1, 0x6f, 0xbf, 0xd3, 0x4e, 0x77, 0x2b, 0xb3, 0xb3, 0x79, 0xb3, 0xb3, 0x13, 0xd7, 0x13, 0xc8, 0x77, 0x77, 0x0d, 0xc8, 0x79, 0xb3, 0xb3, 0xe8, 0xc5, 0xe8, 0x79, 0x40, 0x76, 0x79, 0x79, 0x79, 0x79, 0x79, 0x76, 0x76, 0x76, 0x79, 0x13, 0x33, 0x8e, 0x4c, 0x7d, 0xc5, 0x31, 0xe2, 0x7e, 0x7e, 0x40, 0xe2, 0x40, 0x40, 0x40, 0x34, 0xed, 0xe4, 0x2e, 0x94, 0xa6, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x6a, 0x6a, 0x6a, 0x6a, 0x6a, 0x6a, 0x6a, 0x6a, 0x2e, 0x2e, 0x2e, 0x2e, 0xac, 0x8f, 0xc1, 0x65, 0xb3, 0x11, 0x5f, 0x19, 0x1a, 0x94, 0x57, 0x94, 0xac, 0xac, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0xc1, 0xc1, 0x1a, 0x41, 0xc4, 0x8a, 0x92, 0x16, 0xc9, 0x38, 0x38, 0x46, 0xc9, 0x19, 0x46, 0xc9, 0x1d, 0xde, 0xc4, 0x30, 0x80, 0x30, 0xe8, 0x45, 0x66, 0x42, 0x2e, 0x32, 0xac, 0xb1, 0x17, 0x0e, 0x35, 0x35, 0x05, 0x05, 0x49, 0x49, 0x35, 0x6e, 0x49, 0x49, 0x49, 0x6e, 0x0e, 0x41, 0xe8, 0x45, 0x45, 0x45, 0x45, 0xe8, 0xe8, 0xdc, 0xdc, 0x0e, 0xdc, 0xe8, 0x13, 0x79, 0xc8, 0xc8, 0xc8, 0xc8, 0x77, 0x77, 0x77, 0x67, 0x77, 0x2b, 0x59, 0x74, 0xc8, 0xd1, 0xbe, 0x6f, 0xbb, 0x08, 0x4f, + 0x0c, 0x70, 0xcb, 0x0c, 0xcb, 0x70, 0x0c, 0x78, 0x6f, 0xe1, 0xd3, 0x2d, 0x1e, 0x2b, 0xb3, 0xb3, 0xb3, 0xd1, 0xd1, 0xd1, 0x20, 0xd7, 0x13, 0xc8, 0x77, 0x0d, 0xc8, 0x76, 0x5e, 0x13, 0x13, 0x13, 0xd7, 0xe8, 0x79, 0x40, 0x76, 0x79, 0x79, 0x79, 0x76, 0x79, 0x76, 0x76, 0x79, 0x13, 0xaf, 0x37, 0xfb, 0xc5, 0x13, 0x31, 0xe2, 0x40, 0x0d, 0x0d, 0x40, 0xe2, 0x40, 0x40, 0x40, 0x7e, 0x72, 0x60, 0xac, 0x94, 0x94, 0x94, 0xa6, 0xa6, 0x2e, 0x2e, 0x6a, 0x6a, 0x6a, 0x6a, 0x6a, 0x6a, 0x6a, 0x6a, 0x6a, 0x6a, 0x2e, 0x2e, 0x2e, 0x2e, 0x96, 0xc1, 0x8f, 0x53, 0x46, 0x51, 0x6a, 0x32, 0x57, 0x94, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0x1a, 0x1a, 0x6a, 0x42, 0xc1, 0xc3, 0x20, 0xc4, 0x27, 0x92, 0x6b, 0xc9, 0x74, 0x74, 0x46, 0xc9, 0x19, 0x19, 0x19, 0x5f, 0x1d, 0xc4, 0x7c, 0x30, 0x30, 0x30, 0x13, 0x1a, 0xe4, 0x94, 0x66, 0xa6, 0x35, 0x17, 0x0e, 0x35, 0x05, 0x05, 0x05, 0x49, 0x49, 0x35, 0x35, 0x35, 0x35, 0x35, 0x0e, 0x41, 0xdc, 0xe8, 0x45, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x13, 0xe8, 0xe8, 0xe8, 0x13, 0x31, 0x79, 0x76, 0x2b, 0xc8, 0xc8, 0x77, 0x74, 0x2b, 0xc8, 0xc8, 0x59, 0x74, 0x19, 0x71, 0xeb, 0xb4, 0x54, 0xa9, 0x4f, + 0x36, 0x70, 0x69, 0xe9, 0x6d, 0x36, 0x0c, 0xae, 0xa6, 0xae, 0x2d, 0x0c, 0x77, 0x2b, 0xb3, 0xb3, 0xd1, 0x20, 0x13, 0x20, 0xd7, 0xd7, 0x13, 0xc8, 0x77, 0xc8, 0xc8, 0xc8, 0x13, 0xd7, 0xe8, 0x13, 0xe8, 0xe8, 0x76, 0x40, 0x76, 0x79, 0x79, 0x79, 0x76, 0x79, 0x79, 0x79, 0x33, 0xfb, 0x37, 0xb1, 0x13, 0x31, 0xe2, 0x40, 0x40, 0x40, 0x0d, 0x0d, 0x40, 0xe2, 0x40, 0x40, 0x40, 0x40, 0xab, 0x1a, 0x1a, 0x94, 0x94, 0x94, 0x94, 0xa6, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x6a, 0x6a, 0x6a, 0x6a, 0x94, 0x6a, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0xac, 0xe4, 0xc3, 0xfe, 0xfe, 0x94, 0x57, 0x94, 0x6a, 0x6a, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0x6a, 0x1a, 0xc1, 0xc1, 0x5a, 0x1d, 0x27, 0x8d, 0x17, 0x5f, 0x74, 0x74, 0x46, 0xc9, 0xc9, 0x46, 0x19, 0x76, 0x5f, 0xb9, 0x62, 0xb9, 0xb9, 0x30, 0x5b, 0xe4, 0xfe, 0x32, 0x94, 0x94, 0x6e, 0x49, 0x0e, 0x35, 0x05, 0x05, 0x05, 0x49, 0x49, 0x35, 0x35, 0x0e, 0x0e, 0x0e, 0x0e, 0x41, 0xdc, 0xdc, 0xe8, 0x45, 0x31, 0x31, 0x31, 0x31, 0x79, 0x31, 0x31, 0x31, 0x13, 0x13, 0x31, 0x31, 0x13, 0x13, 0x79, 0x79, 0xc8, 0x74, 0x38, 0x12, 0x59, 0x54, 0x74, 0xd1, 0xea, 0x10, 0xbb, 0xa9, 0x4f, 0xa9, + 0x70, 0x70, 0xcf, 0x0c, 0xe9, 0x69, 0x0c, 0x24, 0xeb, 0x2f, 0xe9, 0x69, 0x1e, 0xc8, 0x2b, 0xb3, 0xd1, 0x13, 0x13, 0x20, 0x20, 0xc5, 0x13, 0x77, 0x77, 0x79, 0x2b, 0xc8, 0xb3, 0xd7, 0xc5, 0xd7, 0xd7, 0xe8, 0x76, 0x40, 0x76, 0x79, 0x79, 0x76, 0x79, 0x67, 0x13, 0xb1, 0x4c, 0x0f, 0x33, 0x13, 0x79, 0x40, 0x40, 0xe2, 0xe2, 0x40, 0x0d, 0x7e, 0x40, 0xe2, 0x40, 0x40, 0x40, 0x40, 0x34, 0xe6, 0x60, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0xa6, 0x2e, 0x2e, 0x2e, 0xa6, 0x6a, 0xac, 0x60, 0x60, 0x60, 0x60, 0xfe, 0xac, 0x6a, 0x6a, 0x6a, 0x6a, 0x6a, 0x6a, 0x6a, 0x6a, 0x6a, 0x6a, 0x6a, 0x42, 0xc1, 0xfe, 0xe8, 0xb5, 0x92, 0x17, 0x5e, 0x74, 0x74, 0x46, 0xc9, 0xc9, 0x46, 0x19, 0x76, 0x76, 0x80, 0x7c, 0x7c, 0x7c, 0x06, 0xbe, 0xe4, 0xac, 0x5a, 0x6a, 0x71, 0x17, 0x6e, 0x0e, 0x35, 0x05, 0x05, 0x05, 0x05, 0x49, 0x35, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0xdc, 0x0e, 0x0e, 0x41, 0xdc, 0xe8, 0x45, 0x31, 0x31, 0x76, 0x79, 0x79, 0x79, 0x79, 0x79, 0x31, 0x13, 0xdc, 0xdc, 0x0e, 0x87, 0x2b, 0x74, 0xc8, 0x74, 0x59, 0x54, 0x59, 0x2c, 0xeb, 0xb4, 0xcd, 0xa9, 0x3b, 0x3b, + 0x70, 0x70, 0x36, 0xcf, 0x0c, 0xcb, 0xd3, 0x10, 0xd2, 0xb4, 0x6d, 0xcf, 0x0c, 0x1e, 0xc8, 0x2b, 0xb3, 0xd1, 0x13, 0x20, 0x20, 0xd7, 0x13, 0xc8, 0x77, 0x79, 0x79, 0x2b, 0x79, 0x13, 0xc5, 0x41, 0x41, 0xe8, 0x79, 0x40, 0x76, 0x79, 0x79, 0x79, 0x13, 0xaf, 0x37, 0xfb, 0xc5, 0x13, 0x31, 0x79, 0x76, 0x76, 0x40, 0xe2, 0xe2, 0x40, 0x7e, 0x7e, 0x40, 0xe2, 0x40, 0x40, 0x40, 0x40, 0x7e, 0x0b, 0x60, 0x2e, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0xa6, 0xa6, 0xa6, 0xa6, 0x94, 0x94, 0x94, 0x6a, 0xac, 0xac, 0x2e, 0x6a, 0x6a, 0x6a, 0x6a, 0x6a, 0x6a, 0x6a, 0x6a, 0x6a, 0x6a, 0x6a, 0x94, 0x1a, 0xc3, 0xc1, 0x5b, 0x6b, 0x92, 0x17, 0x75, 0x46, 0x74, 0x46, 0xc9, 0xc9, 0x19, 0x19, 0x76, 0x76, 0x5e, 0x30, 0x41, 0x7c, 0xe8, 0x2e, 0x60, 0x94, 0x24, 0xac, 0xb1, 0x17, 0x35, 0x35, 0x35, 0x05, 0x05, 0x05, 0x35, 0x05, 0x35, 0x0e, 0x0e, 0x0e, 0x87, 0x87, 0xdc, 0x0e, 0x0e, 0x41, 0x41, 0x41, 0x41, 0xe8, 0xe8, 0x31, 0x31, 0x79, 0x76, 0x76, 0x76, 0x76, 0x13, 0xdc, 0x6e, 0xb5, 0xdc, 0x79, 0x77, 0x79, 0x74, 0x59, 0x54, 0xbb, 0xa6, 0x6f, 0x38, 0xa9, 0x3b, 0x3b, 0x3b, + 0x70, 0x70, 0x36, 0xcf, 0xcb, 0x69, 0x78, 0xa6, 0x6f, 0x2f, 0xe9, 0x69, 0x0c, 0xe9, 0x77, 0xc8, 0x2b, 0xb3, 0xd1, 0xd1, 0x20, 0x20, 0x13, 0xc8, 0x77, 0x79, 0xb3, 0x79, 0x79, 0x13, 0xd7, 0x41, 0x41, 0xd7, 0x31, 0x40, 0x76, 0x31, 0x13, 0x33, 0xfb, 0x4c, 0xb1, 0x13, 0x79, 0x79, 0x79, 0x79, 0x76, 0x40, 0x40, 0x40, 0xe2, 0x40, 0x7e, 0x40, 0xe2, 0xe2, 0x40, 0x40, 0x40, 0x40, 0x40, 0xab, 0x1a, 0xac, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x6a, 0x6a, 0x6a, 0x6a, 0x6a, 0x6a, 0x6a, 0x6a, 0x6a, 0x6a, 0x6a, 0x94, 0x6a, 0xe4, 0xc1, 0x66, 0x41, 0x26, 0x17, 0x80, 0x19, 0x46, 0x46, 0xc9, 0xc9, 0xc9, 0xc9, 0x76, 0x76, 0x5e, 0x5e, 0x06, 0x7c, 0xc5, 0x96, 0xfe, 0x66, 0x32, 0x2e, 0x8e, 0x17, 0x0e, 0x0e, 0x35, 0x05, 0x05, 0x35, 0x35, 0x35, 0x35, 0x0e, 0x0e, 0x87, 0xdc, 0xdc, 0xdc, 0x0e, 0x0e, 0x0e, 0x41, 0x41, 0x0e, 0x35, 0x35, 0x0e, 0x9f, 0xdc, 0x13, 0x79, 0x76, 0x76, 0x79, 0xe8, 0xb5, 0x6e, 0x33, 0x79, 0x77, 0xc8, 0x12, 0x54, 0x38, 0x71, 0xeb, 0x2f, 0x3b, 0x54, 0xcd, 0x3b, 0x3b, + 0x0c, 0x0c, 0xcb, 0x70, 0x00, 0x2d, 0x89, 0xa6, 0x51, 0xd3, 0x0c, 0x69, 0x0c, 0xe9, 0x1e, 0xc8, 0x2b, 0x2b, 0xb3, 0xb3, 0x13, 0x20, 0x20, 0x79, 0x0d, 0xc8, 0xb3, 0x79, 0x79, 0xb3, 0xe8, 0xd7, 0x41, 0x30, 0x5e, 0x79, 0x67, 0x33, 0xb1, 0x4c, 0x0f, 0x33, 0x13, 0x79, 0x76, 0x79, 0x79, 0x79, 0x76, 0x40, 0x40, 0x40, 0xe2, 0x40, 0x40, 0x40, 0xe2, 0xe2, 0xe2, 0x40, 0x40, 0x40, 0xe2, 0x34, 0xe6, 0xfe, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x6a, 0x6a, 0x6a, 0x6a, 0x6a, 0x6a, 0x57, 0xfe, 0xc1, 0x96, 0x33, 0x26, 0x27, 0xf7, 0xc9, 0xc9, 0x46, 0xc9, 0xc9, 0xc9, 0x76, 0x76, 0x76, 0x31, 0x31, 0xe8, 0x80, 0x71, 0xe4, 0xac, 0x32, 0x57, 0xa6, 0x0e, 0x6e, 0x0e, 0x0e, 0x35, 0x05, 0x05, 0x35, 0x35, 0x35, 0x35, 0x0e, 0x87, 0xdc, 0xdc, 0xdc, 0xdc, 0x0e, 0x0e, 0x41, 0x41, 0x5d, 0x6b, 0x6e, 0xa2, 0xa2, 0xa2, 0xa2, 0x35, 0xdc, 0x13, 0x79, 0x79, 0x5d, 0x6b, 0x13, 0x79, 0x2b, 0x74, 0x38, 0x54, 0x59, 0xb4, 0xeb, 0xe3, 0xb3, 0x3b, 0x54, 0xcd, 0x3b, 0x3b, + 0x44, 0x0c, 0x70, 0x48, 0x48, 0xec, 0x0b, 0xa6, 0xae, 0xec, 0x36, 0xcf, 0x69, 0x0c, 0x1e, 0x77, 0xc8, 0x2b, 0x2b, 0x2b, 0xb3, 0x13, 0x20, 0xb3, 0x0d, 0x0d, 0x79, 0x79, 0x79, 0x79, 0x13, 0xe8, 0x30, 0x41, 0xc5, 0x20, 0xaf, 0x37, 0x37, 0xaf, 0x13, 0x79, 0x76, 0x76, 0x76, 0x76, 0x79, 0x79, 0x76, 0x40, 0xe2, 0x40, 0xe2, 0x40, 0x11, 0xe2, 0x31, 0x31, 0xe2, 0x40, 0x40, 0x40, 0x40, 0x40, 0x0b, 0x60, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x57, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x57, 0xac, 0xc3, 0xc3, 0xf1, 0x27, 0x27, 0xb9, 0x5f, 0x5f, 0xc9, 0xc9, 0xc9, 0xc9, 0x76, 0x76, 0x31, 0x5e, 0xe8, 0xe8, 0x31, 0xa6, 0xe4, 0x94, 0x24, 0x6a, 0x6f, 0x0e, 0x0e, 0x0e, 0x0e, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x0e, 0x0e, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0x0e, 0x0e, 0x41, 0x0e, 0xde, 0x6b, 0x49, 0xa2, 0xd5, 0x85, 0x85, 0xd5, 0xa2, 0x35, 0xe8, 0xe8, 0x5d, 0x79, 0x2b, 0xc8, 0xc8, 0x74, 0x74, 0x59, 0xbb, 0x10, 0x65, 0xf2, 0x79, 0x54, 0x08, 0x08, 0x08, 0x08, + 0x69, 0x70, 0x70, 0x36, 0x70, 0x2d, 0xe1, 0xa6, 0xae, 0xd3, 0x0c, 0xcf, 0xcb, 0x69, 0x1e, 0x77, 0x77, 0xc8, 0xc8, 0xc8, 0xb3, 0xb3, 0x13, 0xb3, 0xc8, 0x77, 0xc8, 0x79, 0x79, 0x79, 0x79, 0x13, 0xc5, 0x25, 0x8e, 0x93, 0x4c, 0xb1, 0x20, 0x67, 0x79, 0x79, 0x76, 0x76, 0x76, 0x76, 0x79, 0x79, 0x76, 0x40, 0x40, 0x40, 0xe2, 0x40, 0xe2, 0xe2, 0x31, 0x31, 0xe2, 0x40, 0x40, 0x40, 0xe2, 0xe2, 0x64, 0x1a, 0xac, 0x57, 0x94, 0x94, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x94, 0x94, 0x94, 0x57, 0x94, 0xe4, 0xc1, 0x5a, 0x35, 0x4b, 0xb9, 0x75, 0x75, 0x5f, 0x5f, 0x5f, 0xc9, 0x76, 0x5e, 0xdc, 0x35, 0xdc, 0x31, 0x5b, 0x96, 0x96, 0x57, 0x24, 0x2e, 0x71, 0x0e, 0x0e, 0x0e, 0x0e, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x0e, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0x0e, 0x0e, 0x41, 0x6b, 0x6b, 0x0e, 0x49, 0xa2, 0xd5, 0x85, 0x85, 0x85, 0xd5, 0xa2, 0x35, 0xdc, 0x13, 0x79, 0x76, 0xc8, 0x77, 0xc8, 0xc8, 0x77, 0x53, 0xeb, 0x71, 0xb3, 0x46, 0xa9, 0x08, 0x08, 0x08, 0x08, + 0xcb, 0x36, 0x48, 0x70, 0x70, 0x2d, 0x51, 0xa6, 0x72, 0xd8, 0x64, 0x0c, 0xcb, 0x69, 0xe9, 0x1e, 0x77, 0xbb, 0xc8, 0xc8, 0x2b, 0xb3, 0xb3, 0x79, 0xc8, 0x77, 0x77, 0xc8, 0x79, 0x79, 0x79, 0x13, 0xc5, 0x93, 0xb6, 0x85, 0xc5, 0x13, 0x79, 0x79, 0x79, 0x79, 0x76, 0x40, 0x40, 0x76, 0x79, 0x79, 0x76, 0x40, 0x40, 0x40, 0x40, 0xe2, 0xe2, 0xe2, 0x31, 0x31, 0x40, 0x40, 0x40, 0xe2, 0xe2, 0x31, 0x40, 0xe6, 0xfe, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0xe6, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x96, 0xc1, 0xac, 0x1b, 0x4b, 0xb9, 0x75, 0xb9, 0x80, 0x5e, 0x5e, 0x5f, 0x5e, 0x33, 0xd5, 0x7d, 0xe8, 0x31, 0x71, 0xe4, 0x1a, 0x32, 0x32, 0xac, 0xaf, 0x35, 0x0e, 0x0e, 0x0e, 0x0e, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x0e, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0x41, 0x41, 0x41, 0x5d, 0x0e, 0x0e, 0x49, 0xa2, 0xd5, 0x85, 0x85, 0xd5, 0x7d, 0x8e, 0x9f, 0xdc, 0xc5, 0x13, 0x5e, 0x79, 0xc8, 0x20, 0x77, 0xe5, 0x65, 0xe3, 0xd1, 0x76, 0x59, 0x12, 0x54, 0x08, 0x08, 0x3b, + 0x69, 0x69, 0x00, 0x48, 0x48, 0x69, 0x90, 0x65, 0xae, 0xe5, 0xd1, 0xe9, 0x69, 0x69, 0x0c, 0x1e, 0x1e, 0x77, 0xbb, 0xc8, 0xc8, 0x2b, 0x2b, 0xc8, 0xc8, 0x77, 0x77, 0xc8, 0x2b, 0xb3, 0x20, 0x33, 0x93, 0x21, 0x85, 0x25, 0x13, 0x79, 0x79, 0x79, 0x79, 0x79, 0x76, 0x40, 0x40, 0x76, 0x79, 0x79, 0x76, 0x40, 0x40, 0x40, 0x40, 0xe2, 0xe2, 0xe2, 0x31, 0x31, 0x40, 0x40, 0x40, 0xe2, 0x31, 0x31, 0xe2, 0xd8, 0xfe, 0x94, 0x57, 0x57, 0x57, 0xe6, 0x57, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0x57, 0xe6, 0xe6, 0xe6, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x1a, 0xc3, 0x8f, 0xb0, 0x4b, 0x7c, 0x75, 0x62, 0x62, 0x80, 0x5e, 0x5e, 0x13, 0x3c, 0x92, 0xdc, 0xe8, 0x31, 0xa6, 0xe4, 0x2e, 0x24, 0x66, 0xa6, 0xc5, 0x35, 0x0e, 0x0e, 0x0e, 0x0e, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x0e, 0xdc, 0xdc, 0xdc, 0xe8, 0xe8, 0x41, 0x41, 0x87, 0x41, 0x0e, 0x0e, 0x49, 0xa2, 0xd5, 0xd5, 0xd5, 0xa2, 0x25, 0xdc, 0xd7, 0xdc, 0x9f, 0x9f, 0x33, 0x5e, 0xc8, 0x13, 0x64, 0x6f, 0xeb, 0xb4, 0xb3, 0x77, 0x54, 0x79, 0x19, 0x08, 0x08, 0x3b, + 0x69, 0x69, 0x0c, 0x69, 0x48, 0x69, 0xf5, 0xfc, 0xae, 0x0c, 0x44, 0x0c, 0x69, 0x69, 0x0c, 0x0c, 0x1e, 0x77, 0x77, 0xbb, 0xab, 0xc8, 0x2b, 0xc8, 0x77, 0x77, 0x77, 0xc8, 0xb3, 0xd1, 0xaf, 0x4c, 0x37, 0x25, 0xf3, 0x41, 0x5e, 0x79, 0x79, 0x76, 0x76, 0x76, 0x76, 0x40, 0x76, 0x76, 0x79, 0x79, 0x76, 0x40, 0x40, 0x40, 0x40, 0xe2, 0x40, 0x40, 0xe2, 0xe2, 0x40, 0x40, 0x40, 0xe2, 0x31, 0x31, 0x31, 0xc8, 0x2e, 0xac, 0xe6, 0x57, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0xe6, 0x6a, 0x42, 0xc1, 0x24, 0x49, 0x3d, 0x75, 0x62, 0xe0, 0x7c, 0x5e, 0x31, 0xdc, 0x05, 0xdc, 0x13, 0x31, 0xd1, 0xfe, 0x96, 0x94, 0x24, 0x94, 0x66, 0xdc, 0x35, 0x0e, 0x0e, 0x0e, 0x0e, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x0e, 0xdc, 0xdc, 0xdc, 0xe8, 0xe8, 0x41, 0xdc, 0xdc, 0xdc, 0x41, 0x0e, 0x49, 0xa2, 0xa2, 0xa2, 0xa2, 0x8e, 0xdc, 0x13, 0x13, 0xdc, 0x9f, 0x9f, 0xc5, 0x13, 0xc8, 0x20, 0x71, 0xeb, 0x53, 0x77, 0xb3, 0x38, 0x38, 0xb3, 0xc8, 0x08, 0x08, 0x3b, + 0xcb, 0x44, 0x69, 0x48, 0x36, 0x69, 0x4d, 0x52, 0x71, 0x2d, 0x69, 0x69, 0x69, 0xe9, 0x44, 0x6d, 0xe9, 0x1e, 0x77, 0x77, 0x77, 0xab, 0xc8, 0xc8, 0x77, 0x77, 0xc8, 0x79, 0xd1, 0xb1, 0x4c, 0xb1, 0x20, 0x13, 0x30, 0x41, 0xe8, 0x79, 0x79, 0x79, 0x76, 0x76, 0x76, 0x40, 0x76, 0x76, 0x79, 0x79, 0x76, 0xe2, 0xe2, 0x40, 0x40, 0x40, 0x40, 0x40, 0xe2, 0xe2, 0x40, 0x40, 0x40, 0xe2, 0x31, 0x31, 0x31, 0x40, 0xe1, 0xfe, 0x57, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0x81, 0x32, 0x32, 0x32, 0x32, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0x57, 0x57, 0x57, 0x57, 0x57, 0xe6, 0x57, 0xe4, 0xc1, 0x10, 0x35, 0x3d, 0x80, 0x62, 0x7f, 0x7f, 0x30, 0xe8, 0x13, 0x31, 0x31, 0x31, 0x31, 0x53, 0xe4, 0xfe, 0x32, 0x24, 0x94, 0x71, 0x87, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x0e, 0xdc, 0xdc, 0xe8, 0xe8, 0xe8, 0xdc, 0xdc, 0xe8, 0xe8, 0x41, 0x0e, 0x49, 0xa2, 0xa2, 0xa2, 0x35, 0x9f, 0xe8, 0x13, 0x13, 0xdc, 0x9f, 0x9f, 0xc5, 0x13, 0xc8, 0xb1, 0xeb, 0x10, 0xbb, 0x59, 0x74, 0x54, 0x77, 0xb3, 0x38, 0x08, 0x54, 0xa5, + 0x69, 0x69, 0xcb, 0x69, 0xcb, 0x0c, 0x1b, 0x52, 0x66, 0xca, 0x0c, 0x0c, 0x69, 0xe9, 0xbf, 0xbf, 0x6d, 0x6d, 0x77, 0xbb, 0x77, 0x77, 0x77, 0xc8, 0x77, 0xc8, 0x2b, 0x5b, 0xfb, 0x4c, 0xaf, 0x67, 0x79, 0x76, 0xe8, 0x7c, 0x30, 0x31, 0x79, 0x79, 0x76, 0x76, 0x76, 0x40, 0x76, 0x76, 0x79, 0x79, 0x76, 0x40, 0xe2, 0xe2, 0x40, 0x40, 0x40, 0x40, 0xe2, 0xe2, 0xe2, 0x40, 0x40, 0xe2, 0xe2, 0x31, 0x31, 0xe2, 0x2b, 0xac, 0x2e, 0x32, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0x81, 0x81, 0x57, 0x57, 0x57, 0x57, 0xe6, 0x32, 0x32, 0x32, 0x32, 0x32, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0x57, 0x57, 0x57, 0xe6, 0xe6, 0x96, 0xc1, 0xac, 0x35, 0x7f, 0x80, 0x62, 0x7f, 0x6b, 0x6e, 0xe8, 0x31, 0x31, 0x31, 0x31, 0xe2, 0x94, 0x60, 0xac, 0x32, 0x24, 0x6a, 0xb1, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x0e, 0xdc, 0xdc, 0xe8, 0x45, 0xe8, 0xdc, 0xdc, 0xe8, 0xe8, 0xdc, 0x0e, 0x49, 0xa2, 0xa2, 0x35, 0x9f, 0xdc, 0x33, 0x13, 0x13, 0xdc, 0x9f, 0x9f, 0x20, 0x79, 0xd1, 0x65, 0x65, 0x5b, 0x77, 0x54, 0xa5, 0x54, 0x77, 0x79, 0x59, 0x08, 0xa5, 0x54, + 0x00, 0x0c, 0xe9, 0x36, 0xcb, 0x43, 0x1b, 0x71, 0xa6, 0x78, 0x0c, 0x0c, 0x69, 0x0c, 0x44, 0xe5, 0x44, 0xe9, 0x77, 0xbb, 0x77, 0x77, 0x77, 0x77, 0x2b, 0x64, 0x2c, 0xe3, 0x0f, 0x5b, 0xd1, 0x79, 0xc8, 0x0d, 0x5e, 0x41, 0x41, 0x13, 0x79, 0x79, 0x76, 0x76, 0x76, 0x40, 0x76, 0x79, 0x79, 0x79, 0x76, 0x40, 0xe2, 0xe2, 0xe2, 0x40, 0x7e, 0x40, 0x40, 0xe2, 0x40, 0x40, 0x40, 0x40, 0x40, 0x31, 0x31, 0x31, 0x7e, 0xe1, 0xfe, 0xe6, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x81, 0x81, 0x81, 0xe6, 0xe6, 0x1c, 0x78, 0x78, 0x97, 0x8c, 0xe6, 0xe6, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0xe6, 0xe6, 0xe6, 0xe6, 0x57, 0x57, 0x57, 0xe6, 0x1a, 0xc3, 0x96, 0x9f, 0x7f, 0x80, 0x7c, 0x6b, 0x27, 0x17, 0x45, 0x31, 0x31, 0x31, 0x31, 0xb3, 0xfe, 0xfe, 0x94, 0x24, 0x32, 0x2e, 0xc5, 0x0e, 0x0e, 0x87, 0x0e, 0x0e, 0x0e, 0x0e, 0x35, 0x35, 0x35, 0x35, 0x0e, 0x0e, 0xdc, 0xdc, 0xe8, 0x45, 0xe8, 0xdc, 0xe8, 0x45, 0xe8, 0xdc, 0x0e, 0x49, 0xa2, 0x7d, 0x0e, 0xdc, 0xe8, 0x13, 0x13, 0x13, 0xdc, 0x9f, 0xc5, 0xb3, 0xd1, 0xe3, 0xeb, 0x2c, 0x77, 0x74, 0x54, 0x38, 0x74, 0x54, 0x54, 0x54, 0x3b, 0xa5, 0x3b, + 0x70, 0x48, 0x70, 0x69, 0x6d, 0x2a, 0x0c, 0xae, 0x65, 0xe1, 0x44, 0x0c, 0xcb, 0x69, 0xe9, 0xbf, 0x44, 0xe9, 0x1e, 0xbb, 0xbb, 0x77, 0x77, 0x2b, 0x03, 0xb1, 0xe3, 0x53, 0xd1, 0x67, 0x79, 0x79, 0xc8, 0x0d, 0x79, 0x30, 0x41, 0x13, 0x79, 0x76, 0x76, 0x76, 0x76, 0x40, 0x76, 0x76, 0x79, 0x79, 0x79, 0x76, 0x40, 0x76, 0xe2, 0x40, 0x7e, 0x7e, 0x40, 0xe2, 0xe2, 0x40, 0x11, 0x40, 0x40, 0xe2, 0x31, 0x31, 0xe2, 0x64, 0xac, 0x2e, 0x32, 0x32, 0x32, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0xe6, 0x91, 0x00, 0x1f, 0xa9, 0x3b, 0x54, 0x78, 0x90, 0xe6, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0x2e, 0xc3, 0xe4, 0xaf, 0x7f, 0x80, 0x7c, 0x17, 0x27, 0x6e, 0x45, 0x31, 0x31, 0x31, 0xe2, 0xf1, 0xe4, 0x1a, 0x66, 0x24, 0x66, 0x94, 0xe8, 0x0e, 0x0e, 0x87, 0x0e, 0x0e, 0x0e, 0x0e, 0x35, 0x35, 0x35, 0x35, 0x0e, 0x0e, 0xdc, 0xe8, 0x45, 0x45, 0xe8, 0xdc, 0xe8, 0x45, 0xe8, 0xdc, 0x0e, 0x35, 0xa2, 0x35, 0xdc, 0xe8, 0x33, 0x13, 0x13, 0x13, 0x33, 0x9f, 0xc5, 0x13, 0x37, 0x3f, 0x53, 0x74, 0x59, 0x54, 0x74, 0xd1, 0x20, 0x38, 0x08, 0x54, 0x3b, 0x54, 0x54, + 0x00, 0x00, 0x36, 0x44, 0x6d, 0xcb, 0x48, 0x2d, 0x10, 0xa6, 0x2f, 0x0c, 0x69, 0x69, 0x0c, 0x44, 0x44, 0xe9, 0x1e, 0x1e, 0x1e, 0xab, 0x64, 0xd1, 0xfb, 0xe3, 0x5b, 0x67, 0x79, 0x79, 0x79, 0x79, 0xc8, 0x0d, 0x40, 0xe8, 0x41, 0x13, 0x79, 0x76, 0x76, 0x79, 0x76, 0x76, 0x76, 0x76, 0x79, 0x79, 0x79, 0x76, 0x40, 0x76, 0xe2, 0x40, 0x7e, 0x7e, 0x40, 0xe2, 0xe2, 0x40, 0x40, 0x40, 0x40, 0xe2, 0x31, 0xe2, 0x31, 0x40, 0x24, 0xfe, 0xe6, 0x32, 0x32, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0xed, 0x36, 0x70, 0x36, 0x4f, 0xcd, 0x3b, 0xa9, 0x4f, 0x78, 0x81, 0xe6, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0xe6, 0xe6, 0xe6, 0xe6, 0x94, 0x42, 0x42, 0xb1, 0x6b, 0x30, 0x5d, 0xb8, 0x17, 0x5d, 0x80, 0x31, 0x31, 0x31, 0x7e, 0x66, 0x60, 0xac, 0x32, 0x24, 0x94, 0x71, 0xe8, 0x0e, 0x0e, 0x87, 0x87, 0x0e, 0x0e, 0x0e, 0x0e, 0x35, 0x0e, 0x0e, 0x0e, 0x0e, 0xdc, 0xe8, 0x45, 0x45, 0x45, 0xe8, 0xe8, 0x45, 0x45, 0xdc, 0x0e, 0x35, 0x35, 0x35, 0xdc, 0xdc, 0x13, 0x13, 0x31, 0x13, 0x33, 0x9f, 0xc5, 0xfb, 0x3f, 0x37, 0xbb, 0x59, 0x74, 0x77, 0x2b, 0xd1, 0xb3, 0x54, 0x38, 0x54, 0x3b, 0x08, 0x38, + 0x70, 0x70, 0x70, 0x70, 0x36, 0x69, 0x36, 0x69, 0x0b, 0xeb, 0xbe, 0x0c, 0x69, 0x69, 0x0c, 0x6d, 0x0c, 0x0c, 0x1e, 0x1e, 0x44, 0x64, 0xb0, 0x37, 0xfb, 0xd1, 0x2b, 0x2b, 0x2b, 0x79, 0x79, 0x2b, 0xc8, 0x0d, 0x0d, 0x5e, 0xd7, 0x13, 0x79, 0x76, 0x76, 0x79, 0x76, 0x76, 0x76, 0x76, 0x79, 0x79, 0x76, 0x40, 0x40, 0x76, 0xe2, 0x40, 0x40, 0x40, 0xe2, 0xe2, 0xe2, 0x40, 0x40, 0x40, 0x40, 0xe2, 0xe2, 0xe2, 0x31, 0xe2, 0x03, 0xac, 0x94, 0x81, 0x32, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x22, 0x36, 0x70, 0x1f, 0x36, 0x4f, 0x4f, 0x4f, 0x4f, 0x1f, 0xec, 0xed, 0x81, 0xed, 0x81, 0xed, 0xed, 0xed, 0xed, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0xe6, 0xe6, 0xe6, 0x57, 0xe4, 0xc3, 0x71, 0x6e, 0x41, 0x17, 0x17, 0x17, 0x7f, 0x80, 0x31, 0x31, 0x31, 0x79, 0x1a, 0xfe, 0x6a, 0x24, 0x24, 0x94, 0x2c, 0xdc, 0x0e, 0x0e, 0x0e, 0x41, 0x41, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x41, 0xdc, 0x45, 0x45, 0x45, 0x45, 0xe8, 0x45, 0x45, 0x45, 0xe8, 0x41, 0x0e, 0x0e, 0x0e, 0x9f, 0xdc, 0x13, 0x13, 0x13, 0x13, 0x33, 0x9f, 0xfb, 0x3f, 0xe3, 0x2b, 0x38, 0x38, 0x5b, 0x2b, 0x2b, 0x20, 0x12, 0x12, 0x19, 0x54, 0x3b, 0x08, 0x77, + 0x70, 0x70, 0x00, 0xcb, 0x6d, 0x0c, 0x36, 0xcb, 0x69, 0x24, 0x3f, 0x72, 0xcf, 0x69, 0x0c, 0x0c, 0x69, 0x0c, 0xe9, 0x64, 0xd8, 0x2c, 0xe3, 0xb1, 0x03, 0x2b, 0xc8, 0xc8, 0x2b, 0x79, 0x79, 0x2b, 0xc8, 0x0d, 0x0d, 0x79, 0x13, 0x31, 0x79, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x79, 0x76, 0x76, 0x76, 0x40, 0xe2, 0xe2, 0xe2, 0x40, 0x40, 0xe2, 0x31, 0x31, 0xe2, 0x40, 0x40, 0x40, 0xe2, 0xe2, 0xe2, 0xe2, 0x31, 0x7e, 0x8c, 0x1a, 0xe6, 0x81, 0x81, 0x81, 0x81, 0x81, 0xed, 0x81, 0x90, 0x70, 0x70, 0x70, 0x1f, 0x36, 0x36, 0x36, 0x36, 0x36, 0x70, 0x69, 0xed, 0x81, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0xe6, 0xe6, 0x57, 0x60, 0xc3, 0x37, 0x5d, 0x5d, 0x6e, 0x6e, 0x47, 0x7f, 0x06, 0x31, 0x31, 0xe2, 0xb4, 0x60, 0x1a, 0x66, 0x24, 0x32, 0x94, 0x33, 0x87, 0x0e, 0x0e, 0x87, 0x41, 0x41, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0xdc, 0xe8, 0x45, 0xe8, 0x45, 0x45, 0xe8, 0x45, 0x31, 0x45, 0xe8, 0x41, 0x0e, 0x0e, 0x0e, 0xdc, 0xdc, 0x13, 0x13, 0x13, 0x13, 0x33, 0xfb, 0x3f, 0xfc, 0x03, 0x74, 0x74, 0xb3, 0xd1, 0x77, 0x2b, 0x74, 0x54, 0x77, 0x74, 0x54, 0x3b, 0x3b, 0x77, + 0x70, 0x70, 0x00, 0x0c, 0x6d, 0x36, 0x36, 0x36, 0x70, 0x2d, 0x6f, 0x2e, 0x78, 0xcd, 0x0c, 0x69, 0x69, 0x0c, 0xd3, 0xd8, 0x0f, 0xe3, 0x2c, 0x03, 0xc8, 0x77, 0xc8, 0xc8, 0x79, 0x79, 0x79, 0x2b, 0xc8, 0x0d, 0x0d, 0x0d, 0x79, 0x79, 0x79, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x79, 0x79, 0x76, 0x76, 0xe2, 0x31, 0x31, 0x31, 0xe2, 0xe2, 0x45, 0x6e, 0x45, 0xe2, 0xe2, 0x40, 0x40, 0xe2, 0x31, 0x31, 0xe2, 0x31, 0xe2, 0xab, 0x6a, 0x94, 0xed, 0x81, 0xed, 0xed, 0xed, 0xed, 0x81, 0x73, 0x70, 0x70, 0x70, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x70, 0x70, 0x00, 0xec, 0x81, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0x81, 0x81, 0x81, 0x81, 0xe6, 0x32, 0xe6, 0x96, 0xc3, 0x10, 0x0e, 0x5d, 0x06, 0x5d, 0x47, 0x6e, 0x06, 0x31, 0x31, 0x7e, 0xbe, 0xe4, 0xac, 0x24, 0x8c, 0x32, 0x66, 0xe8, 0x0e, 0x0e, 0x41, 0x87, 0x87, 0x41, 0x41, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0xdc, 0xdc, 0xe8, 0xe8, 0x45, 0xe8, 0xe8, 0x45, 0x31, 0x45, 0xe8, 0x41, 0x0e, 0x0e, 0x0e, 0x5d, 0xdc, 0x13, 0x13, 0x13, 0x13, 0xb1, 0x3f, 0x65, 0xb0, 0x77, 0x74, 0x2b, 0xf2, 0xd1, 0x2b, 0x77, 0x38, 0x59, 0x38, 0x12, 0x3b, 0x54, 0xcd, 0x38, + 0x70, 0x70, 0x70, 0x70, 0x48, 0x70, 0x70, 0x70, 0x36, 0x69, 0xd3, 0xa6, 0xa6, 0x78, 0x69, 0x69, 0x0c, 0xd3, 0xbf, 0xfb, 0xe3, 0xd8, 0x64, 0xc8, 0x77, 0xc8, 0xc8, 0xc8, 0x79, 0x79, 0x79, 0x2b, 0xc8, 0xc8, 0x0d, 0x0d, 0x0d, 0x76, 0x79, 0x76, 0x79, 0x76, 0x76, 0x76, 0x76, 0x76, 0x79, 0x31, 0x79, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x45, 0x27, 0x6b, 0x45, 0x31, 0x31, 0xe2, 0xe2, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x34, 0x90, 0x1a, 0x81, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0x73, 0x70, 0x00, 0x70, 0x70, 0x70, 0x1f, 0x70, 0x70, 0x70, 0x70, 0x70, 0x00, 0x91, 0x81, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0x81, 0x81, 0x81, 0x81, 0xe6, 0xe6, 0x60, 0xc3, 0xfc, 0x87, 0x30, 0x31, 0x5d, 0x47, 0x6e, 0x80, 0x31, 0x31, 0x76, 0xac, 0xfe, 0x6a, 0x24, 0x8c, 0x57, 0xbe, 0x45, 0x0e, 0x0e, 0x41, 0x87, 0x87, 0x41, 0x41, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x41, 0xe8, 0x45, 0x45, 0x45, 0x45, 0x13, 0x31, 0x31, 0xe8, 0xdc, 0x0e, 0x5d, 0xde, 0x5d, 0x13, 0x13, 0x13, 0x79, 0xf2, 0xeb, 0xd2, 0x2c, 0x2b, 0x19, 0x74, 0x2b, 0x5b, 0xd1, 0x77, 0x77, 0xd1, 0x74, 0x54, 0x54, 0x54, 0x54, 0xcd, 0x54, + 0x70, 0x70, 0x70, 0x00, 0x00, 0x70, 0x70, 0x70, 0x69, 0x44, 0xe9, 0xd3, 0xa6, 0xa6, 0x78, 0x69, 0xd3, 0xbf, 0xbe, 0x66, 0xe5, 0xbf, 0xbb, 0x1e, 0x77, 0x77, 0xc8, 0x2b, 0x79, 0x79, 0x79, 0x79, 0xc8, 0x0d, 0x0d, 0x0d, 0x0d, 0x76, 0x79, 0x76, 0x79, 0x79, 0x76, 0x40, 0x40, 0x76, 0x79, 0x31, 0x31, 0x31, 0x31, 0x31, 0x45, 0x45, 0x45, 0x17, 0x27, 0x06, 0x45, 0x31, 0x31, 0x31, 0xe2, 0x31, 0x31, 0x31, 0x31, 0x31, 0xe2, 0xe2, 0x77, 0x57, 0x6a, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0x22, 0x48, 0x00, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x97, 0xed, 0x22, 0x22, 0x22, 0x22, 0x22, 0xed, 0xed, 0xed, 0xed, 0xed, 0x81, 0x81, 0x81, 0xe6, 0x97, 0xe9, 0x72, 0xc3, 0xa6, 0x31, 0x45, 0x31, 0x30, 0x6e, 0x41, 0x80, 0x31, 0xe2, 0xd8, 0x60, 0x1a, 0x57, 0x24, 0x24, 0x94, 0x53, 0xe8, 0x0e, 0x0e, 0x41, 0x41, 0x41, 0x41, 0x41, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0xdc, 0xe8, 0x45, 0x13, 0x13, 0x45, 0x13, 0x31, 0x31, 0x45, 0xe8, 0x41, 0x6b, 0xde, 0xdc, 0x13, 0x31, 0x79, 0x33, 0xea, 0xd2, 0x0f, 0xb3, 0x2b, 0xc8, 0x77, 0x74, 0xb3, 0x2b, 0xbb, 0x77, 0x2b, 0x74, 0x54, 0x54, 0x54, 0xcd, 0xcd, 0x4e, + 0x70, 0x70, 0x70, 0x69, 0x70, 0x70, 0x70, 0x48, 0x69, 0x2d, 0xe9, 0x0c, 0x2d, 0x5a, 0x2e, 0xe1, 0xae, 0xbe, 0x24, 0xbf, 0x78, 0xbb, 0x1e, 0x1e, 0x1e, 0x77, 0xc8, 0x79, 0x79, 0x79, 0x79, 0x79, 0xc8, 0xc8, 0x0d, 0x0d, 0x0d, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x40, 0x76, 0x76, 0x79, 0x31, 0x31, 0x31, 0x45, 0x41, 0x87, 0x45, 0x41, 0x17, 0x87, 0x45, 0x45, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0xe2, 0xe2, 0x40, 0xae, 0x1a, 0x32, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xcb, 0x00, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x00, 0xec, 0xed, 0x90, 0x90, 0x90, 0x22, 0x22, 0x22, 0x22, 0xed, 0xed, 0xed, 0xed, 0x81, 0x81, 0xca, 0x1f, 0x08, 0x59, 0x60, 0x2e, 0x40, 0x31, 0x31, 0x45, 0x87, 0x06, 0x31, 0x31, 0x40, 0xbe, 0x60, 0x1a, 0x32, 0xe1, 0x24, 0x94, 0x5b, 0x87, 0x41, 0x0e, 0x41, 0x87, 0x87, 0x87, 0x41, 0x0e, 0x0e, 0x0e, 0x41, 0x0e, 0x0e, 0x0e, 0xdc, 0x45, 0x13, 0x13, 0x13, 0x13, 0x31, 0x31, 0x31, 0x45, 0x45, 0x41, 0xde, 0x5d, 0xe8, 0x13, 0x31, 0x33, 0x52, 0xd2, 0x0f, 0x33, 0xb3, 0x2b, 0x19, 0x77, 0x74, 0x38, 0xbb, 0x2b, 0x38, 0x38, 0x38, 0x54, 0x54, 0xcd, 0x3b, 0x54, 0x1e, + 0x48, 0x70, 0x00, 0x0c, 0x44, 0x69, 0x36, 0x36, 0x36, 0xcf, 0xcb, 0x69, 0xcf, 0xe9, 0xe1, 0xa6, 0xeb, 0x6f, 0xae, 0x44, 0xe9, 0xbb, 0x1e, 0x1e, 0x1e, 0x77, 0xc8, 0x2b, 0x79, 0xb3, 0x79, 0x79, 0xc8, 0x0d, 0x0d, 0x0d, 0x0d, 0x76, 0x79, 0x76, 0x76, 0x76, 0x76, 0x40, 0x76, 0x31, 0x13, 0x13, 0x13, 0xe8, 0x17, 0x6e, 0xe8, 0x45, 0x06, 0x45, 0x45, 0xe8, 0x45, 0x31, 0x31, 0x31, 0xe2, 0x31, 0x31, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0x30, 0xb3, 0xed, 0xac, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0x4a, 0x00, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x00, 0x00, 0x70, 0x70, 0x70, 0x70, 0xff, 0x22, 0x90, 0x90, 0x90, 0x90, 0x90, 0x22, 0x22, 0x22, 0xed, 0xed, 0x81, 0x91, 0x00, 0xa9, 0x54, 0x59, 0x96, 0x2e, 0x40, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x76, 0xac, 0xfe, 0xac, 0x24, 0xe1, 0x32, 0x57, 0x13, 0x87, 0x41, 0x41, 0x41, 0x87, 0x87, 0x87, 0x41, 0x0e, 0x0e, 0x41, 0x41, 0x41, 0x0e, 0x41, 0xe8, 0x45, 0x13, 0x13, 0x13, 0x13, 0x31, 0x31, 0x31, 0x31, 0x45, 0x41, 0x0e, 0xdc, 0xdc, 0x13, 0x33, 0xe3, 0xd2, 0x0f, 0x33, 0x33, 0xb3, 0x2b, 0x2b, 0x77, 0x77, 0x77, 0x77, 0xb3, 0xbb, 0x12, 0x12, 0x54, 0x54, 0xcd, 0xcd, 0x54, 0xcd, + 0x48, 0x70, 0x70, 0x00, 0x69, 0x44, 0x0c, 0x69, 0xcb, 0x36, 0x36, 0x36, 0x69, 0x44, 0x72, 0x10, 0x66, 0x10, 0xa6, 0xbe, 0xf5, 0x72, 0xbf, 0xbb, 0x2b, 0x77, 0xc8, 0x2b, 0x79, 0x79, 0x79, 0xc8, 0xc8, 0x0d, 0x0d, 0x0d, 0x0d, 0x79, 0x13, 0x13, 0x67, 0x13, 0x20, 0x5b, 0x9f, 0xaf, 0xaf, 0x9f, 0xdc, 0x17, 0xaa, 0x87, 0x45, 0x45, 0x31, 0x31, 0xf6, 0x06, 0x31, 0x31, 0xe2, 0xe2, 0xe2, 0xe2, 0x31, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe8, 0xf3, 0xe5, 0x57, 0x57, 0x22, 0xed, 0xed, 0x22, 0xed, 0x63, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x07, 0x22, 0x73, 0x73, 0x73, 0x73, 0x90, 0x90, 0x22, 0x22, 0x22, 0xed, 0x73, 0x70, 0x70, 0xa9, 0x3b, 0x59, 0x96, 0xa6, 0x40, 0x31, 0x31, 0x31, 0x31, 0x31, 0x45, 0xe2, 0xd8, 0xfe, 0x1a, 0x94, 0xe1, 0xe1, 0x32, 0xbe, 0x45, 0x41, 0x41, 0x41, 0x41, 0x87, 0x87, 0x87, 0x41, 0x41, 0x0e, 0x41, 0x41, 0x41, 0x41, 0xdc, 0xe8, 0x13, 0x13, 0x13, 0x13, 0x13, 0x31, 0x31, 0x31, 0x31, 0x31, 0xe8, 0xdc, 0xdc, 0xe8, 0xc5, 0x52, 0xd2, 0xb1, 0x13, 0x33, 0x33, 0xb3, 0x2b, 0x2b, 0x77, 0x77, 0xc8, 0xc8, 0x74, 0x79, 0xe8, 0x12, 0x54, 0x54, 0xcd, 0xcd, 0xcd, 0xe9, + 0x69, 0x00, 0x70, 0x70, 0x00, 0x36, 0xd3, 0x0c, 0x6d, 0xcb, 0x36, 0x69, 0xd3, 0xae, 0xa6, 0x53, 0xae, 0xe5, 0x72, 0x24, 0x10, 0xa6, 0x10, 0xe3, 0xe3, 0x0f, 0xb1, 0xb1, 0xb1, 0xaf, 0xaf, 0xf2, 0xf2, 0x5b, 0xf2, 0xf2, 0xaf, 0x0f, 0x93, 0x0f, 0x0f, 0x0f, 0x0f, 0xb1, 0xaf, 0xc5, 0x33, 0xe8, 0x6e, 0xaa, 0x0e, 0x45, 0x45, 0x31, 0x45, 0xf6, 0x06, 0x31, 0x31, 0x31, 0x40, 0x40, 0x40, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0x31, 0x30, 0x41, 0xae, 0xac, 0x81, 0x22, 0xed, 0x22, 0x22, 0x90, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x70, 0x00, 0x15, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x90, 0x90, 0x22, 0x22, 0xed, 0xec, 0x00, 0x70, 0x1f, 0x3b, 0x59, 0x60, 0x66, 0x40, 0x31, 0x31, 0x31, 0x31, 0x45, 0x45, 0x11, 0x24, 0xfe, 0x1a, 0x32, 0xe1, 0x24, 0x57, 0x53, 0x45, 0x87, 0x41, 0x41, 0x41, 0x87, 0x87, 0x87, 0x41, 0x41, 0x41, 0x87, 0x41, 0x41, 0x41, 0xdc, 0xe8, 0x45, 0x45, 0x13, 0x13, 0x13, 0x13, 0x31, 0x31, 0x31, 0x31, 0x13, 0xe8, 0xdc, 0x9f, 0x52, 0xd2, 0x0f, 0x79, 0xb3, 0x33, 0x33, 0xb3, 0x2b, 0xc8, 0x77, 0x77, 0x2b, 0x2b, 0xc8, 0x6b, 0x79, 0x54, 0x54, 0xcd, 0xcd, 0xcd, 0x4e, 0xe9, + 0x36, 0x00, 0x70, 0x70, 0x70, 0x00, 0x36, 0x2d, 0x2d, 0x2d, 0xcb, 0xd3, 0xae, 0xa6, 0x24, 0xae, 0xe5, 0xab, 0xe9, 0xe9, 0x44, 0xbf, 0x72, 0x53, 0x71, 0x37, 0xe3, 0xce, 0xce, 0xce, 0xce, 0xe3, 0x37, 0x37, 0xfb, 0xfb, 0x0f, 0x0f, 0x93, 0x8e, 0x9f, 0x33, 0x67, 0x79, 0x79, 0x79, 0x79, 0xe8, 0x27, 0x5d, 0x13, 0x13, 0x13, 0x31, 0x45, 0x31, 0xe2, 0x31, 0x31, 0x40, 0x40, 0x40, 0x40, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0x40, 0x40, 0xe2, 0x5d, 0x2c, 0x22, 0x2e, 0x8c, 0x22, 0x22, 0x90, 0xed, 0xca, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x1c, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x90, 0xed, 0x89, 0x00, 0x70, 0x70, 0x1f, 0x3b, 0x12, 0xe4, 0x71, 0x40, 0x31, 0x31, 0x31, 0x31, 0x31, 0x45, 0x40, 0x6a, 0xfe, 0xac, 0x24, 0xe1, 0x24, 0x94, 0x5b, 0x45, 0x87, 0x41, 0x41, 0x41, 0x87, 0x06, 0x87, 0x87, 0x87, 0xdc, 0xe8, 0x87, 0xdc, 0xdc, 0xdc, 0xe8, 0x45, 0x45, 0x45, 0x45, 0x45, 0x87, 0x45, 0x31, 0x31, 0x31, 0x31, 0x13, 0xc5, 0x52, 0xd2, 0x0f, 0x13, 0x79, 0xb3, 0x20, 0x20, 0xb3, 0x2b, 0xbb, 0x77, 0x77, 0xb3, 0xb3, 0xdc, 0xdc, 0x12, 0x4e, 0x54, 0xcd, 0xcd, 0xcd, 0xe9, 0xcf, + 0x48, 0x70, 0x70, 0x70, 0x70, 0x70, 0x00, 0xcb, 0x69, 0x2d, 0x2d, 0x78, 0x66, 0x24, 0x78, 0xbf, 0xe5, 0xbb, 0xd3, 0x6d, 0xe9, 0x2d, 0xe9, 0x1e, 0x1e, 0x1e, 0x2b, 0xd1, 0x20, 0x20, 0x20, 0xd1, 0x67, 0x79, 0x79, 0x79, 0x79, 0x13, 0xc5, 0xe8, 0x79, 0x76, 0x76, 0x40, 0x76, 0x79, 0x79, 0xe8, 0xe8, 0x13, 0x31, 0x31, 0x31, 0x31, 0x40, 0x40, 0xe2, 0x31, 0xe2, 0x40, 0x40, 0x40, 0x40, 0xe2, 0x31, 0xe2, 0xe2, 0xe2, 0xe2, 0x40, 0xe2, 0x9f, 0x4c, 0x85, 0xbf, 0xe6, 0x94, 0x90, 0x90, 0x90, 0x90, 0x73, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0x73, 0x97, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0xed, 0xec, 0x00, 0x70, 0x70, 0x1f, 0x08, 0xbb, 0x42, 0x2c, 0xe2, 0x31, 0x31, 0x31, 0x31, 0x45, 0x31, 0xd1, 0x1a, 0x1a, 0x94, 0xe1, 0xe1, 0x24, 0x57, 0x13, 0x06, 0xe8, 0x87, 0x41, 0x41, 0x87, 0x06, 0x06, 0x87, 0xe8, 0xe8, 0xe8, 0xdc, 0xdc, 0x41, 0xdc, 0x45, 0x45, 0x45, 0x45, 0x45, 0x5d, 0x16, 0x45, 0x31, 0x76, 0x76, 0x76, 0x13, 0xe3, 0xd2, 0x0f, 0x13, 0x79, 0x79, 0xb3, 0x13, 0x13, 0x79, 0xbb, 0x77, 0x77, 0xbb, 0xb3, 0x79, 0x79, 0x1e, 0x4e, 0x4e, 0x54, 0xcd, 0xcd, 0x0c, 0xcd, 0x69, + 0x70, 0x48, 0x48, 0x70, 0x70, 0x70, 0x48, 0x48, 0x36, 0x2d, 0x78, 0x71, 0x66, 0x78, 0xd3, 0x44, 0x44, 0x44, 0xbb, 0x44, 0x2d, 0x6d, 0x6d, 0xe9, 0xe9, 0x1e, 0xbb, 0xc8, 0x79, 0xb3, 0x79, 0x79, 0xc8, 0x0d, 0x0d, 0x0d, 0x76, 0x13, 0xdc, 0x13, 0x31, 0x79, 0x79, 0x76, 0x79, 0x79, 0x79, 0x79, 0x31, 0x31, 0x31, 0x31, 0x31, 0x40, 0x40, 0x40, 0x40, 0xe2, 0xe2, 0x40, 0xe2, 0xe2, 0xe2, 0x31, 0x31, 0xe2, 0x40, 0xe2, 0x31, 0xdc, 0x3c, 0x4c, 0x35, 0x0e, 0x87, 0x78, 0x94, 0xe6, 0x73, 0x90, 0x73, 0x90, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x73, 0x97, 0x97, 0x97, 0x73, 0x73, 0x73, 0x90, 0x73, 0x70, 0x70, 0x70, 0x70, 0x1f, 0x08, 0x0b, 0x42, 0x67, 0x31, 0x31, 0x31, 0x31, 0x31, 0x45, 0xe2, 0xe1, 0xfe, 0x1a, 0xe6, 0xdb, 0xe1, 0x32, 0x5a, 0x31, 0x06, 0xe8, 0xdc, 0x87, 0x87, 0x06, 0x06, 0x06, 0x06, 0xe8, 0xe8, 0xe8, 0xe8, 0x41, 0x41, 0xdc, 0xe8, 0x45, 0x45, 0x45, 0xf6, 0xde, 0xf6, 0x31, 0x76, 0x76, 0x76, 0x79, 0xe3, 0xeb, 0xb1, 0x79, 0x79, 0x79, 0x79, 0xb3, 0xb3, 0xb3, 0xc8, 0x77, 0x77, 0x77, 0x77, 0x2b, 0x77, 0x1e, 0x4e, 0x38, 0x77, 0x54, 0xcd, 0xcd, 0xcf, 0x69, 0x0c, + 0x70, 0x48, 0x48, 0x70, 0x70, 0x70, 0x2d, 0x69, 0xcb, 0xd3, 0xdb, 0xe3, 0xae, 0xd3, 0x0c, 0x44, 0x44, 0x64, 0x64, 0xd3, 0x6d, 0xd3, 0x6d, 0xe9, 0xe9, 0x77, 0x2b, 0x2b, 0x2b, 0xb3, 0x79, 0x2b, 0xc8, 0x0d, 0xc8, 0x0d, 0x79, 0xe8, 0xd7, 0xe8, 0xe8, 0x79, 0x76, 0x76, 0x76, 0x76, 0x79, 0x79, 0x79, 0x79, 0x79, 0x76, 0xe2, 0x40, 0x40, 0x40, 0x40, 0xe2, 0xe2, 0x31, 0x45, 0x31, 0x31, 0x31, 0xe2, 0x40, 0x40, 0x33, 0x3c, 0x95, 0x7d, 0xdc, 0x87, 0x0e, 0x45, 0x7e, 0x89, 0x6a, 0xed, 0x73, 0x73, 0x73, 0x73, 0xec, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4a, 0x97, 0xff, 0x97, 0x97, 0x97, 0x73, 0x73, 0x90, 0x63, 0x00, 0x70, 0x70, 0x70, 0x1f, 0x08, 0x94, 0x1a, 0x40, 0x31, 0x31, 0x31, 0x31, 0x31, 0x45, 0x76, 0x94, 0x1a, 0xac, 0x24, 0xe1, 0xe1, 0x57, 0xe1, 0x31, 0x06, 0xe8, 0xe8, 0x87, 0xdc, 0x06, 0xe8, 0xe8, 0x30, 0xe8, 0xe8, 0xe8, 0xe8, 0xdc, 0x41, 0x41, 0xe8, 0x45, 0xe8, 0x41, 0xde, 0xde, 0x45, 0x79, 0x76, 0x40, 0x79, 0xe3, 0xeb, 0xb1, 0x79, 0x76, 0x76, 0x2b, 0x2b, 0x79, 0x2b, 0xc8, 0x77, 0x74, 0x77, 0x77, 0x77, 0x77, 0x77, 0x38, 0xe9, 0x1e, 0x64, 0xe9, 0xcf, 0xcf, 0xcf, 0x0c, 0x0c, + 0x70, 0x48, 0x48, 0x70, 0x48, 0x70, 0x0c, 0x6d, 0xec, 0x89, 0x10, 0x0b, 0x78, 0x69, 0x69, 0x44, 0xbf, 0xbf, 0x44, 0x6d, 0xbb, 0xab, 0x6d, 0xe9, 0xe9, 0xbb, 0x64, 0x2b, 0x2b, 0x79, 0x79, 0x2b, 0xc8, 0xc8, 0xc8, 0x0d, 0x79, 0xe8, 0x41, 0x87, 0x13, 0x79, 0x79, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x79, 0x76, 0x76, 0x76, 0x40, 0x7e, 0x7e, 0x40, 0xe2, 0x31, 0x45, 0x87, 0x31, 0xe2, 0xe2, 0xe2, 0x13, 0x7d, 0x52, 0x4c, 0x9f, 0x13, 0x87, 0x0e, 0x13, 0xe2, 0x11, 0x68, 0xff, 0x6a, 0x22, 0x73, 0x73, 0x73, 0x73, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xec, 0x97, 0x1c, 0xff, 0x97, 0x97, 0x73, 0x73, 0x90, 0x4a, 0x00, 0x70, 0x70, 0x70, 0x1f, 0x4e, 0xe4, 0x53, 0xe2, 0x13, 0x31, 0x31, 0x31, 0x13, 0x31, 0xd1, 0x6a, 0x1a, 0x6a, 0x8c, 0xe1, 0x24, 0x94, 0xb4, 0x31, 0xe8, 0xe8, 0xe8, 0xdc, 0x87, 0x06, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0x45, 0x45, 0xe8, 0xdc, 0xdc, 0xe8, 0x45, 0x45, 0x16, 0xde, 0x41, 0x31, 0x79, 0x0d, 0x79, 0xe3, 0xeb, 0x2c, 0x76, 0x76, 0xc8, 0xc8, 0x77, 0x77, 0x77, 0x77, 0x77, 0x74, 0x74, 0x77, 0x77, 0x77, 0x74, 0xbb, 0x1e, 0xe9, 0xe9, 0x64, 0x0c, 0xcf, 0xcf, 0xcf, 0x0c, 0x69, + 0x48, 0x36, 0x48, 0x48, 0x48, 0x48, 0x36, 0x0c, 0xca, 0x24, 0x24, 0x78, 0x2d, 0x69, 0x69, 0xd3, 0xbf, 0xd3, 0xe9, 0x44, 0xd1, 0x64, 0x1e, 0xe9, 0xe9, 0x77, 0x2b, 0x2b, 0x2b, 0xb3, 0x2b, 0x2b, 0xc8, 0xc8, 0x0d, 0x0d, 0x31, 0x41, 0x41, 0x13, 0x79, 0x79, 0x76, 0x76, 0x76, 0x40, 0x76, 0x76, 0x76, 0x76, 0x79, 0x79, 0x79, 0x40, 0x7e, 0x7e, 0x40, 0xe2, 0x45, 0x45, 0x31, 0xe2, 0x31, 0x13, 0x7d, 0x52, 0x95, 0x35, 0x13, 0xe2, 0x45, 0x87, 0x31, 0xe2, 0x40, 0x40, 0x11, 0x68, 0x73, 0x94, 0x73, 0x97, 0x73, 0x97, 0x97, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xec, 0x97, 0x1c, 0x1c, 0x97, 0x97, 0x97, 0x73, 0x73, 0xcb, 0x00, 0x70, 0x70, 0x70, 0x70, 0xe1, 0xe4, 0x76, 0x31, 0x31, 0x31, 0x31, 0x31, 0x45, 0xe2, 0xf5, 0x1a, 0xac, 0xe6, 0xdb, 0xe1, 0x24, 0x94, 0xd1, 0x3e, 0x45, 0xe8, 0xe8, 0xdc, 0x87, 0xe8, 0xe8, 0x45, 0xe8, 0x06, 0xe8, 0xe8, 0x45, 0x45, 0xe8, 0xdc, 0xe8, 0x45, 0x87, 0xde, 0xf6, 0x13, 0x79, 0x76, 0x79, 0x37, 0xfc, 0xb0, 0x0d, 0x0d, 0x0d, 0x74, 0x74, 0x77, 0x77, 0x77, 0x77, 0x74, 0x74, 0x74, 0x77, 0x77, 0xbb, 0x77, 0xbb, 0xbb, 0x38, 0x0c, 0xe9, 0x69, 0xcf, 0xcf, 0xcf, 0x0c, 0xcf, + 0x48, 0x36, 0x48, 0xcb, 0x48, 0xcb, 0xcb, 0x69, 0x91, 0x57, 0x89, 0x2d, 0x0c, 0x69, 0x69, 0x44, 0xbf, 0x44, 0xe9, 0x44, 0x64, 0xbb, 0x1e, 0x1e, 0x1e, 0x1e, 0x77, 0x77, 0x2b, 0x79, 0x79, 0x2b, 0xc8, 0xc8, 0x0d, 0x76, 0xe8, 0x41, 0x41, 0x13, 0x79, 0x79, 0x76, 0x40, 0x40, 0x40, 0x76, 0x76, 0x76, 0x79, 0x79, 0x31, 0x31, 0x76, 0x40, 0x40, 0x40, 0xe2, 0xe2, 0x40, 0x31, 0x33, 0x7d, 0x52, 0x95, 0xa0, 0x13, 0x31, 0x31, 0xe2, 0x31, 0xe2, 0x40, 0x40, 0x40, 0x11, 0x40, 0x11, 0x12, 0x22, 0x57, 0x73, 0xff, 0x97, 0x97, 0x97, 0x4a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xec, 0x97, 0x1c, 0x1c, 0xff, 0x97, 0x97, 0x73, 0x97, 0x48, 0x70, 0x70, 0x70, 0x70, 0xcf, 0x60, 0x66, 0x40, 0x13, 0x31, 0x31, 0x31, 0x31, 0x45, 0x40, 0xe6, 0xac, 0xac, 0x24, 0xdb, 0xe1, 0x32, 0xe6, 0xe2, 0x45, 0x45, 0xe8, 0xe8, 0xdc, 0x87, 0x06, 0xe8, 0x45, 0x45, 0xe8, 0xe8, 0xe8, 0x45, 0x45, 0xe8, 0xe8, 0xe8, 0x45, 0x06, 0xe8, 0x13, 0x31, 0x76, 0x67, 0xe3, 0xfc, 0xb0, 0x74, 0x77, 0x77, 0x74, 0x74, 0x74, 0x77, 0x77, 0x77, 0x77, 0x74, 0x74, 0x74, 0x38, 0x77, 0x2b, 0x77, 0xbb, 0xab, 0xbb, 0xe9, 0xcd, 0x69, 0xcf, 0xcf, 0xcf, 0xcf, 0x69, + 0x69, 0x36, 0xcb, 0xcb, 0x69, 0x6d, 0x69, 0x69, 0x1c, 0xe6, 0x91, 0xec, 0x69, 0x69, 0x0c, 0x78, 0xe5, 0xd1, 0xab, 0x6d, 0x6d, 0x1e, 0x64, 0x64, 0x1e, 0x1e, 0x1e, 0x77, 0x2b, 0x79, 0x2b, 0x2b, 0xc8, 0xc8, 0x0d, 0x79, 0x30, 0x5d, 0x41, 0x13, 0x79, 0x76, 0x76, 0x40, 0x40, 0x40, 0x76, 0x76, 0x76, 0x79, 0x79, 0x31, 0x31, 0x79, 0x40, 0x40, 0x40, 0x31, 0x13, 0x9f, 0x3c, 0x52, 0x4c, 0x9f, 0x31, 0xe2, 0x31, 0x31, 0x31, 0x40, 0x40, 0x40, 0x40, 0xe2, 0x31, 0x11, 0x40, 0x40, 0x11, 0x12, 0x22, 0x57, 0x73, 0x1c, 0xff, 0x1c, 0x97, 0x63, 0x15, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x4a, 0x1c, 0x1c, 0x1c, 0x1c, 0xff, 0x97, 0x73, 0x97, 0x48, 0x70, 0x70, 0x70, 0x00, 0x90, 0x42, 0x2b, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0xb3, 0x6a, 0xac, 0x6a, 0xe1, 0xdb, 0xe1, 0x57, 0x24, 0x11, 0x45, 0x45, 0x45, 0xe8, 0xdc, 0x87, 0x06, 0xe8, 0x45, 0x45, 0x45, 0xe8, 0xe8, 0x45, 0x13, 0xe8, 0xe8, 0xe8, 0x13, 0x31, 0x31, 0x5e, 0x76, 0x67, 0xe3, 0xfc, 0x5b, 0x0d, 0xc8, 0xc8, 0xc8, 0x0d, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x74, 0x77, 0x77, 0x77, 0x2b, 0xbb, 0x77, 0x64, 0xbb, 0x1e, 0x0c, 0xcd, 0xcf, 0xcf, 0xcf, 0xcf, 0x69, + 0xcb, 0x48, 0x69, 0xec, 0x43, 0x2a, 0xcb, 0xec, 0x97, 0xed, 0x78, 0xd3, 0x69, 0x69, 0x69, 0xbf, 0xe5, 0x5b, 0xc5, 0xbb, 0xe9, 0xbb, 0xd1, 0x64, 0x1e, 0xe9, 0x1e, 0x77, 0x2b, 0x79, 0x79, 0x79, 0xc8, 0x0d, 0xc8, 0x5e, 0x41, 0xf3, 0x41, 0x13, 0x76, 0x76, 0x40, 0x40, 0x40, 0x40, 0x40, 0x76, 0x79, 0x31, 0x31, 0x79, 0x79, 0x40, 0x40, 0x79, 0xc5, 0x7d, 0x95, 0x95, 0x7d, 0xdc, 0x79, 0x40, 0x40, 0xe2, 0x31, 0x31, 0x31, 0x40, 0x40, 0x40, 0xe2, 0x45, 0x45, 0x11, 0x40, 0x40, 0x40, 0x11, 0x12, 0x73, 0x57, 0x97, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x91, 0xec, 0x48, 0x00, 0x00, 0x00, 0x91, 0x1c, 0x89, 0x1c, 0x1c, 0x1c, 0x1c, 0x97, 0x1c, 0x70, 0x70, 0x70, 0x00, 0x91, 0x42, 0x5a, 0x7e, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0xe2, 0xf5, 0x1a, 0xac, 0x57, 0xdb, 0xdb, 0x8c, 0x94, 0xf1, 0xe2, 0x31, 0x45, 0x45, 0xe8, 0xe8, 0x41, 0x87, 0xe8, 0x45, 0x31, 0x45, 0x45, 0xe8, 0x45, 0x31, 0x13, 0x13, 0x13, 0x31, 0x31, 0x31, 0x76, 0x20, 0xe3, 0xfc, 0xb0, 0x46, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0x77, 0x77, 0x77, 0x77, 0x38, 0x77, 0x2b, 0xbb, 0x77, 0x77, 0x74, 0xbb, 0xbb, 0x13, 0xe9, 0x69, 0xcf, 0xcf, 0x4f, 0x69, 0xd3, + 0x48, 0x0c, 0x0c, 0x43, 0x4d, 0x69, 0xcb, 0xec, 0x97, 0x90, 0x2d, 0x0c, 0x0c, 0x78, 0x2d, 0xd3, 0xe5, 0xd8, 0x25, 0x20, 0x1e, 0xbb, 0xd1, 0xab, 0xe9, 0x4e, 0xe9, 0x77, 0x79, 0x79, 0x79, 0x79, 0xc8, 0x0d, 0x76, 0x5e, 0x7c, 0xf3, 0x41, 0x13, 0x76, 0x76, 0x40, 0x40, 0x40, 0x40, 0x40, 0x76, 0x79, 0x79, 0x76, 0x79, 0x13, 0x33, 0x0f, 0x95, 0x52, 0x4c, 0x8e, 0x87, 0x45, 0x7e, 0x7e, 0x40, 0x40, 0x40, 0xe2, 0x31, 0xe2, 0x40, 0x7e, 0x40, 0xe2, 0x31, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0xe2, 0x12, 0xff, 0xe6, 0x73, 0x1c, 0x1c, 0x89, 0x89, 0x1c, 0x1c, 0x63, 0xfa, 0x4a, 0x07, 0x89, 0x89, 0x89, 0x89, 0x1c, 0x1c, 0x1c, 0x97, 0x1c, 0x70, 0x00, 0x70, 0x07, 0x1a, 0x1a, 0x74, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x40, 0x66, 0xac, 0xac, 0x24, 0xdb, 0xdb, 0x24, 0x6a, 0xd1, 0x31, 0x31, 0x31, 0x45, 0xe8, 0xe8, 0xd7, 0xe8, 0xe8, 0x45, 0x45, 0x31, 0x31, 0xe8, 0x45, 0x31, 0x5e, 0x5e, 0x5e, 0x79, 0x76, 0x76, 0x5b, 0xfc, 0x52, 0xd8, 0x46, 0x74, 0x74, 0x46, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0x77, 0x77, 0x77, 0x77, 0x74, 0xbb, 0x2b, 0x77, 0x77, 0x77, 0x74, 0x77, 0xdc, 0xdc, 0x1e, 0xcf, 0xcf, 0xcf, 0x4f, 0x69, 0xd3, + 0x0c, 0x69, 0x2d, 0x4d, 0x2d, 0xcb, 0xcb, 0xec, 0x97, 0xe1, 0xd3, 0x69, 0x0c, 0xae, 0xbf, 0x2d, 0x64, 0x2f, 0xaf, 0x25, 0x64, 0x1e, 0xbb, 0x1e, 0xe9, 0xe9, 0x1e, 0x77, 0x79, 0x79, 0x13, 0x13, 0x79, 0x0d, 0x76, 0x5e, 0x7c, 0xf3, 0x7c, 0x13, 0x79, 0x76, 0x40, 0x0d, 0x0d, 0x0d, 0x40, 0x40, 0x76, 0x13, 0x5b, 0x0f, 0x52, 0x6c, 0xce, 0xb1, 0x33, 0x13, 0x87, 0x87, 0xe2, 0x7e, 0x7e, 0x40, 0x40, 0x40, 0x76, 0xe2, 0x40, 0x40, 0x7e, 0x40, 0x40, 0x40, 0x7e, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0xe2, 0x68, 0x91, 0x81, 0x73, 0x89, 0x1c, 0x1c, 0x89, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x89, 0x89, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x97, 0xcb, 0xcb, 0x89, 0xe6, 0x60, 0x78, 0x11, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0xb3, 0x6a, 0x6a, 0x6a, 0x8c, 0xdb, 0xdb, 0x32, 0x94, 0x79, 0x31, 0x31, 0x31, 0x45, 0xe8, 0xe8, 0xd7, 0xe8, 0x45, 0x45, 0x45, 0x31, 0x31, 0x31, 0x5e, 0x31, 0x5e, 0x5e, 0x5e, 0x79, 0x76, 0x5b, 0x65, 0xe3, 0x20, 0xc8, 0x46, 0x74, 0x74, 0x74, 0x77, 0xc8, 0xc8, 0xc8, 0x77, 0x77, 0x74, 0x74, 0xbb, 0xbb, 0x74, 0x77, 0xbb, 0x77, 0x1e, 0x77, 0x74, 0x79, 0x0e, 0xbb, 0x64, 0x0c, 0xcf, 0xcf, 0x36, 0x69, 0x69, + 0x48, 0x36, 0x2a, 0xd3, 0xcb, 0x48, 0x48, 0x69, 0x1c, 0x24, 0x78, 0x69, 0x6d, 0x78, 0xd3, 0x0c, 0xbf, 0xe5, 0x5b, 0x25, 0xd8, 0x6d, 0xe9, 0xe9, 0x0c, 0xe9, 0x1e, 0x77, 0x79, 0xdc, 0x5d, 0xe8, 0x79, 0x0d, 0xc8, 0x5e, 0x41, 0x3d, 0x5d, 0xe8, 0x76, 0x40, 0x40, 0x0d, 0x0d, 0x40, 0x79, 0xf2, 0xfb, 0x52, 0x65, 0x52, 0x93, 0x5b, 0x79, 0x7e, 0x40, 0xe8, 0x87, 0x31, 0x40, 0x40, 0x7e, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x7e, 0x7e, 0x7e, 0x40, 0x40, 0x7e, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x11, 0x34, 0xd3, 0x73, 0x73, 0x63, 0xfa, 0x07, 0xca, 0xca, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0xca, 0xca, 0xfa, 0x63, 0x63, 0xff, 0x73, 0x97, 0x73, 0x22, 0xfe, 0x97, 0x34, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0xe2, 0xb4, 0xac, 0x6a, 0x94, 0xdb, 0xdb, 0xdb, 0x57, 0xe6, 0x11, 0x31, 0x31, 0x31, 0x31, 0x45, 0xe8, 0xe8, 0xe8, 0xe8, 0x45, 0x45, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x5e, 0x79, 0x79, 0xf2, 0x65, 0x37, 0xb3, 0x76, 0x76, 0xc8, 0x74, 0x74, 0x74, 0x74, 0x74, 0x74, 0x74, 0x38, 0x38, 0x38, 0x38, 0xbb, 0xbb, 0x38, 0x74, 0x77, 0x74, 0xc8, 0xc8, 0x77, 0x2b, 0x1e, 0x0c, 0x44, 0xbb, 0xcf, 0xcf, 0x36, 0x0c, 0x0c, + 0x48, 0x69, 0x0c, 0xcb, 0x48, 0x48, 0x48, 0xcb, 0x89, 0xe6, 0x91, 0x69, 0x0c, 0x78, 0x69, 0x0c, 0x44, 0xe5, 0x5b, 0x5b, 0xc5, 0xbb, 0x0c, 0x0c, 0xe9, 0xe9, 0x1e, 0xab, 0x33, 0x6b, 0x41, 0x79, 0x79, 0x79, 0x76, 0xe8, 0x7c, 0x3d, 0xf3, 0xe8, 0x79, 0x79, 0x79, 0x33, 0xaf, 0xfb, 0xce, 0x52, 0xce, 0x0f, 0x5b, 0x31, 0x76, 0x40, 0x7e, 0x7e, 0xe2, 0x13, 0xe2, 0x40, 0x40, 0x40, 0x7e, 0x7e, 0x40, 0x40, 0x40, 0x40, 0x40, 0x7e, 0x7e, 0x7e, 0x40, 0x7e, 0x7e, 0x7e, 0x7e, 0x40, 0x40, 0x40, 0x40, 0xe2, 0x11, 0x7e, 0x59, 0x69, 0xd3, 0x38, 0x74, 0x46, 0x46, 0x68, 0x68, 0x02, 0x02, 0x02, 0x02, 0xdd, 0x46, 0x46, 0x74, 0xe9, 0xca, 0xfa, 0xff, 0x22, 0x1a, 0x90, 0x68, 0xe2, 0xe2, 0x31, 0x31, 0x31, 0x31, 0x31, 0x45, 0x40, 0x5a, 0xac, 0xac, 0x32, 0xf1, 0xdb, 0xe1, 0x94, 0xe1, 0x11, 0x31, 0x31, 0x31, 0x31, 0x45, 0xe8, 0xe8, 0xe8, 0xe8, 0x5e, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x5e, 0xb3, 0x79, 0xb1, 0x65, 0x71, 0x76, 0xc8, 0xc8, 0xc8, 0xc8, 0x46, 0x74, 0x74, 0x74, 0x74, 0x38, 0x38, 0x38, 0x77, 0x77, 0x38, 0x77, 0x77, 0x38, 0x1e, 0x77, 0xc8, 0x87, 0x2b, 0x1e, 0xe9, 0x0c, 0x0c, 0x69, 0x44, 0x0c, 0xcb, 0xcb, 0x69, 0x2d, + 0x0c, 0x48, 0x48, 0x69, 0x48, 0x48, 0x70, 0x70, 0xca, 0x5a, 0x5a, 0xae, 0x0c, 0x78, 0x69, 0x0c, 0x44, 0xe5, 0x5b, 0x5b, 0xc5, 0xd1, 0x6d, 0x1e, 0x1e, 0x77, 0x77, 0x13, 0x6b, 0x5d, 0x13, 0x79, 0x79, 0x31, 0xe8, 0x41, 0x3d, 0x7f, 0x28, 0x93, 0x0f, 0xfb, 0xe3, 0xe3, 0xe3, 0xfb, 0xf2, 0x13, 0x79, 0x76, 0x40, 0x40, 0x76, 0x40, 0x7e, 0x34, 0x7e, 0x40, 0x40, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x40, 0x40, 0x7e, 0x40, 0x40, 0x7e, 0x7e, 0x7e, 0x40, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x40, 0x40, 0xe2, 0x0d, 0x12, 0x12, 0x46, 0xdd, 0x46, 0x12, 0x54, 0xcd, 0xcd, 0xcf, 0xcf, 0xcf, 0x4f, 0x4f, 0x4f, 0xcd, 0x54, 0x59, 0x46, 0xdd, 0x5f, 0xc9, 0x38, 0x89, 0x1c, 0x34, 0xe2, 0x40, 0xe2, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x76, 0x6a, 0x6a, 0x6a, 0x24, 0xf1, 0xdb, 0x8c, 0x6a, 0xb4, 0xe2, 0x31, 0x31, 0x31, 0x31, 0xe8, 0xe8, 0xe8, 0xe8, 0x5e, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x79, 0x79, 0x13, 0xfb, 0x65, 0x2c, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0x46, 0x46, 0x46, 0x77, 0x74, 0x74, 0x38, 0x38, 0x77, 0x1e, 0x38, 0x1e, 0x38, 0x38, 0x1e, 0x77, 0x0e, 0x0e, 0x1e, 0xe9, 0x0c, 0x0c, 0x69, 0x69, 0x69, 0x69, 0xcb, 0xcb, 0xcb, 0xbb, + 0x69, 0x0c, 0x48, 0xcb, 0x0c, 0x70, 0x70, 0x70, 0x69, 0xca, 0xed, 0x65, 0x90, 0xca, 0x69, 0x0c, 0x44, 0xd1, 0xd1, 0xd8, 0x25, 0xc5, 0xbb, 0xbb, 0x2b, 0xb3, 0x13, 0x16, 0x16, 0x13, 0x67, 0x67, 0x20, 0x25, 0x28, 0xad, 0xb6, 0xf0, 0xf0, 0x21, 0x4c, 0x7d, 0xaf, 0xd1, 0x79, 0x0d, 0x0d, 0x0d, 0x76, 0x79, 0x79, 0x76, 0x76, 0x40, 0x0d, 0x34, 0x0d, 0x40, 0x40, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x40, 0xe2, 0x68, 0x74, 0xdd, 0xdd, 0x74, 0x4e, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0x36, 0x36, 0x36, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0x4f, 0x54, 0x74, 0xc9, 0x5f, 0x74, 0x12, 0x34, 0xe2, 0xe2, 0x31, 0x31, 0x31, 0x31, 0x31, 0xe2, 0xd8, 0xac, 0x6a, 0x94, 0xdb, 0xf1, 0xdb, 0x24, 0x94, 0xb3, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0xe8, 0xe8, 0xe8, 0x5e, 0x31, 0x31, 0x31, 0x31, 0x31, 0x79, 0x76, 0x13, 0x37, 0xfc, 0xf2, 0x76, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0x77, 0x74, 0x77, 0x46, 0x77, 0x74, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x13, 0xb5, 0x2b, 0x6d, 0xe9, 0x0c, 0x0c, 0x69, 0x69, 0xcf, 0xcb, 0xcb, 0xcb, 0xcb, 0x44, + 0xcb, 0x69, 0xe9, 0xbb, 0x1e, 0x70, 0x70, 0x70, 0x69, 0x36, 0x6d, 0xf1, 0x5a, 0x5a, 0xe1, 0x2c, 0xa0, 0xb0, 0xe5, 0xb4, 0xc7, 0x28, 0x5b, 0xe5, 0xb4, 0x5b, 0x6e, 0x6b, 0x8e, 0x8e, 0x93, 0x4c, 0x4c, 0x21, 0xb6, 0xb6, 0xad, 0x28, 0x7f, 0xf3, 0x41, 0x13, 0x40, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x76, 0x76, 0x79, 0x76, 0x76, 0x40, 0x0d, 0x34, 0x0d, 0x40, 0x40, 0x7e, 0x7e, 0x7e, 0x7e, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x11, 0x4e, 0x74, 0x12, 0xcd, 0x54, 0x54, 0xcd, 0xcd, 0xcf, 0xcf, 0xcf, 0x4f, 0x4f, 0x4f, 0x1f, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0x3b, 0x3b, 0x3b, 0x3b, 0x54, 0x12, 0x76, 0x5e, 0x19, 0x34, 0xe2, 0xe2, 0x31, 0x31, 0x31, 0x31, 0x40, 0x5a, 0x6a, 0x6a, 0xe6, 0xf1, 0xdb, 0xdb, 0x32, 0x66, 0x76, 0x31, 0x31, 0x5f, 0x31, 0x31, 0x31, 0x5e, 0xe8, 0x5e, 0x31, 0x31, 0x31, 0x5f, 0x76, 0x76, 0x76, 0x20, 0xe3, 0x10, 0x5b, 0x76, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0x77, 0x74, 0x74, 0x74, 0x74, 0x74, 0x74, 0x38, 0x12, 0x4e, 0x38, 0x38, 0x4e, 0x4e, 0x38, 0x38, 0x77, 0x6e, 0x33, 0x1e, 0x44, 0xe9, 0x0c, 0x0c, 0x44, 0xe9, 0xcb, 0xcb, 0xcb, 0xcb, 0x36, 0xe9, + 0x48, 0x48, 0x69, 0xe9, 0x44, 0x70, 0x70, 0x70, 0x36, 0x48, 0xd3, 0xd3, 0xcb, 0x78, 0x53, 0x3c, 0x4c, 0x71, 0xbe, 0xe3, 0xf0, 0xf0, 0x21, 0x37, 0x71, 0x8e, 0x6e, 0x8e, 0x8e, 0x0f, 0x0f, 0x93, 0xc7, 0x25, 0x41, 0x7c, 0x7c, 0x7c, 0xf3, 0xf3, 0x41, 0x13, 0x76, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x40, 0x76, 0x79, 0x76, 0x76, 0x40, 0x7e, 0x34, 0x0d, 0x40, 0x40, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x40, 0x40, 0x4f, 0xcf, 0xcd, 0x54, 0x4e, 0xcd, 0xcd, 0xcd, 0xcf, 0xcf, 0x4f, 0x4f, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0x08, 0x08, 0x3b, 0x54, 0x54, 0x59, 0x12, 0x46, 0x5e, 0x76, 0x7e, 0x31, 0x31, 0x31, 0x31, 0x31, 0x76, 0x6a, 0x6a, 0x6a, 0x24, 0xf1, 0xdb, 0xdb, 0x94, 0x24, 0x11, 0x31, 0x5f, 0x5f, 0x5f, 0x31, 0x31, 0x5e, 0x13, 0x5e, 0x5e, 0x31, 0x5f, 0x76, 0x76, 0x76, 0x5b, 0x10, 0x37, 0xd1, 0x76, 0x2b, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0x77, 0x74, 0x74, 0x38, 0x38, 0x74, 0x38, 0x38, 0x12, 0x54, 0x54, 0x54, 0x54, 0x4e, 0x38, 0x38, 0x2b, 0x13, 0xe9, 0xbb, 0x6d, 0x0c, 0x0c, 0xd3, 0x44, 0x6d, 0xcf, 0xcb, 0xcb, 0xcb, 0x36, 0x0c, + 0x70, 0x70, 0x69, 0xcb, 0x38, 0x48, 0x70, 0x70, 0x70, 0x70, 0x36, 0x36, 0x48, 0xcb, 0xab, 0x03, 0xbf, 0xae, 0xbf, 0x5b, 0x8e, 0xaf, 0xaf, 0xaf, 0xd1, 0x2b, 0x2b, 0xab, 0xb3, 0x20, 0xd7, 0x41, 0xd7, 0x5e, 0x31, 0x5e, 0xe8, 0x41, 0x7c, 0xf3, 0x41, 0xd7, 0x31, 0x40, 0x0d, 0x0d, 0x0d, 0x0d, 0x40, 0x76, 0x76, 0x76, 0x76, 0x40, 0x0d, 0x34, 0x34, 0x40, 0x40, 0x7e, 0x40, 0x40, 0x7e, 0x7e, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0xe2, 0x40, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x40, 0x40, 0x0d, 0x4f, 0xcd, 0x54, 0x12, 0x54, 0xcd, 0xcd, 0xcf, 0xcf, 0x4f, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0x08, 0x08, 0x3b, 0x54, 0x54, 0x59, 0x68, 0x74, 0xc9, 0x74, 0x40, 0x31, 0x31, 0x31, 0x31, 0xe2, 0xd8, 0xac, 0x94, 0x6a, 0xdb, 0xf1, 0xdb, 0xe1, 0x6a, 0xb4, 0x11, 0x31, 0x5f, 0x5f, 0x5f, 0x5f, 0x31, 0x5e, 0x13, 0x5e, 0x31, 0x76, 0x76, 0x76, 0x76, 0xaf, 0xfc, 0x0f, 0x79, 0x76, 0x76, 0xc8, 0xc8, 0xc8, 0xc8, 0x19, 0x77, 0x74, 0x74, 0x74, 0x74, 0x74, 0x74, 0x38, 0x12, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x38, 0x1e, 0x1e, 0xe9, 0x0c, 0x6d, 0x0c, 0x69, 0x69, 0x0c, 0x0c, 0x69, 0xcb, 0xcb, 0xcb, 0xcb, 0x36, 0x0c, + 0x70, 0x70, 0x48, 0xcb, 0xe9, 0xcb, 0x00, 0x70, 0x70, 0x69, 0x69, 0x48, 0x69, 0x0c, 0x2d, 0x2d, 0x6d, 0xbf, 0x1e, 0xb3, 0x64, 0x1e, 0xbb, 0x64, 0x64, 0xc8, 0x77, 0x77, 0xc8, 0x5e, 0x20, 0x13, 0xb3, 0xc8, 0x0d, 0x0d, 0x76, 0x31, 0xd7, 0x7c, 0x7c, 0x41, 0xe8, 0x76, 0x40, 0x0d, 0x0d, 0x0d, 0x40, 0x40, 0x76, 0x76, 0x76, 0x40, 0x0d, 0x34, 0x34, 0x40, 0x40, 0x40, 0x40, 0x40, 0x7e, 0x7e, 0x40, 0x40, 0x7e, 0x7e, 0x7e, 0x7e, 0x40, 0x40, 0x40, 0x40, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x40, 0x7e, 0x11, 0x34, 0xcf, 0x4e, 0x4e, 0x1e, 0x4e, 0xcd, 0xcd, 0xcf, 0x4f, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0x08, 0x08, 0x08, 0x54, 0x54, 0x59, 0x68, 0xdd, 0x38, 0x68, 0xe2, 0xe2, 0x31, 0x31, 0x31, 0x40, 0xe1, 0x6a, 0x6a, 0x57, 0xf1, 0xf1, 0xdb, 0x24, 0x6a, 0xb3, 0x5f, 0x31, 0x5f, 0x5f, 0x5f, 0x5f, 0x31, 0x5e, 0x5e, 0x5e, 0x31, 0x76, 0x76, 0x76, 0xb1, 0xfc, 0xb1, 0x79, 0x76, 0x79, 0x76, 0xc8, 0x19, 0x46, 0x46, 0x74, 0x74, 0x74, 0x38, 0x38, 0x74, 0x74, 0x38, 0x12, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x4e, 0xe9, 0x0c, 0x0c, 0x0c, 0x69, 0x69, 0x69, 0x69, 0x69, 0x0c, 0xcf, 0xcb, 0xcb, 0xcb, 0xcb, 0x36, 0x44, + 0x70, 0x70, 0x70, 0x70, 0x0c, 0x36, 0x00, 0x70, 0x70, 0x2d, 0x0c, 0xcb, 0xd3, 0x0c, 0x69, 0xcb, 0x0c, 0x78, 0xbb, 0xd1, 0x6d, 0x6d, 0x44, 0x1e, 0x77, 0xc8, 0xc8, 0xc8, 0xc8, 0x2b, 0x2b, 0xc8, 0x77, 0x74, 0x68, 0x34, 0x0d, 0x76, 0x31, 0x41, 0x7c, 0x41, 0xd7, 0x31, 0x76, 0x0d, 0x0d, 0x0d, 0x0d, 0x40, 0x40, 0x40, 0x40, 0x40, 0x0d, 0x34, 0x34, 0x40, 0x40, 0x7e, 0x40, 0x40, 0x7e, 0x7e, 0x40, 0x40, 0x7e, 0x7e, 0x7e, 0x7e, 0x40, 0x40, 0x40, 0x40, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x40, 0x40, 0xe2, 0x31, 0x0d, 0x4e, 0x67, 0x67, 0x38, 0xcd, 0xcd, 0xcf, 0x4f, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0x08, 0x08, 0x08, 0x54, 0x54, 0x68, 0x46, 0x54, 0x68, 0xe2, 0xe2, 0x31, 0x31, 0x31, 0x31, 0x40, 0x94, 0x94, 0x6a, 0x24, 0xf1, 0xf1, 0xdb, 0x32, 0x94, 0x76, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x31, 0x5e, 0x5e, 0x5e, 0x5e, 0x76, 0x5e, 0xfb, 0x10, 0x5b, 0x76, 0x79, 0x5e, 0x79, 0x79, 0xc8, 0x46, 0x74, 0x74, 0x74, 0x74, 0x74, 0x38, 0x12, 0x38, 0x38, 0x12, 0x54, 0x54, 0x54, 0x54, 0xcd, 0x54, 0x54, 0x4e, 0x4e, 0x0c, 0x0c, 0x69, 0x69, 0x0c, 0x69, 0x69, 0x69, 0x0c, 0x44, 0x0c, 0x36, 0xcb, 0xcb, 0xcb, 0xcb, 0xbb, + 0x00, 0x00, 0x00, 0x00, 0x0c, 0x36, 0x70, 0x70, 0x70, 0x2d, 0x0c, 0xcb, 0xd3, 0x2d, 0x69, 0x69, 0x0c, 0x0c, 0xbb, 0x41, 0x44, 0xe9, 0x6d, 0x1e, 0x1e, 0x1e, 0x2b, 0xc8, 0x77, 0xc8, 0x2b, 0x77, 0x12, 0x12, 0x12, 0x68, 0x34, 0x0d, 0x76, 0xe8, 0x41, 0x41, 0x41, 0xe8, 0x31, 0x76, 0x0d, 0x0d, 0x0d, 0x40, 0x40, 0x40, 0x40, 0x40, 0x34, 0x34, 0x34, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x40, 0x40, 0x7e, 0x7e, 0x34, 0x7e, 0x34, 0x7e, 0x40, 0x31, 0x45, 0x45, 0x31, 0xdc, 0x17, 0x2b, 0x4e, 0x54, 0xcd, 0xcd, 0x4f, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0x08, 0x08, 0x08, 0x54, 0xb2, 0xb2, 0x54, 0x34, 0xe2, 0xe2, 0xe2, 0xe2, 0x31, 0x31, 0xe2, 0xd1, 0x6a, 0x57, 0x6a, 0xdb, 0xf1, 0xf1, 0xdb, 0x32, 0x5a, 0xdd, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x31, 0x5e, 0x5e, 0x5f, 0x13, 0xe3, 0xe3, 0x20, 0x76, 0x76, 0x79, 0x79, 0x79, 0x76, 0xc8, 0xc8, 0x46, 0x74, 0x74, 0x74, 0x38, 0x38, 0x12, 0x12, 0x59, 0x54, 0x54, 0x12, 0x54, 0xcd, 0xcd, 0xcd, 0xcd, 0x54, 0x4e, 0x0c, 0x69, 0x69, 0xe9, 0x0c, 0x69, 0x69, 0x69, 0xcb, 0xcb, 0xcb, 0xcb, 0xcb, 0xcb, 0x36, 0x69, 0x44, + 0x70, 0x00, 0x00, 0x00, 0x0c, 0x36, 0x70, 0x48, 0x70, 0x2d, 0x0c, 0x36, 0x6d, 0xe9, 0x69, 0x69, 0x69, 0x0c, 0x20, 0xf3, 0xd1, 0xe9, 0x0c, 0xe9, 0x1e, 0x1e, 0xbb, 0x64, 0x1e, 0x77, 0xb3, 0xc8, 0x12, 0x12, 0x12, 0x12, 0x34, 0x0d, 0x0d, 0x31, 0x41, 0x41, 0x41, 0xd7, 0x13, 0x79, 0x40, 0x0d, 0x0d, 0x0d, 0x0d, 0x40, 0x40, 0x0d, 0x34, 0x34, 0x34, 0x7e, 0x7e, 0x34, 0x34, 0x7e, 0x34, 0x34, 0x7e, 0x7e, 0x7e, 0x40, 0x7e, 0x7e, 0x34, 0x34, 0x7e, 0x34, 0x34, 0x34, 0x7e, 0x34, 0x7e, 0xe2, 0x45, 0x41, 0xe8, 0x87, 0xb5, 0x33, 0xe9, 0x12, 0x54, 0xcd, 0xcd, 0x4f, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0x08, 0x08, 0x54, 0x23, 0x54, 0x12, 0x11, 0x11, 0x11, 0x11, 0xe2, 0xe2, 0x31, 0x31, 0x40, 0xe1, 0x6a, 0x94, 0x57, 0xf1, 0xf1, 0xdb, 0xdb, 0x94, 0xf5, 0x7e, 0x31, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x31, 0x5e, 0x31, 0xc5, 0xfc, 0x37, 0x5e, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0xc8, 0x19, 0xc8, 0x77, 0x74, 0x74, 0x38, 0x38, 0x38, 0x59, 0x59, 0x59, 0x54, 0x38, 0x54, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0x54, 0xcd, 0x69, 0x69, 0x69, 0x0c, 0x69, 0x69, 0x69, 0x69, 0x69, 0x69, 0x0c, 0x69, 0xcb, 0xcb, 0x48, 0x0c, 0x44, + 0x48, 0x70, 0x00, 0x00, 0x0c, 0x36, 0x48, 0x48, 0x48, 0xcb, 0xcb, 0xcb, 0xd3, 0x6d, 0x69, 0x69, 0x36, 0x69, 0x44, 0x20, 0xc5, 0x64, 0xe9, 0xe9, 0x1e, 0xe9, 0x1e, 0x2b, 0xab, 0xab, 0x2b, 0xb3, 0x74, 0x12, 0x12, 0x12, 0x68, 0x77, 0x0d, 0x79, 0xe8, 0x41, 0x41, 0xd7, 0xe8, 0x31, 0x76, 0x40, 0x0d, 0x0d, 0x0d, 0x0d, 0x40, 0x0d, 0x34, 0x34, 0x34, 0x0d, 0x0d, 0x34, 0x34, 0x34, 0x34, 0x34, 0x7e, 0x0d, 0x7e, 0x7e, 0x40, 0x7e, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x7e, 0x7e, 0x40, 0xe2, 0x06, 0x5d, 0x0e, 0xb5, 0x5d, 0xe2, 0x4e, 0x54, 0x54, 0xcd, 0xcd, 0x4f, 0x4f, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0x08, 0x08, 0xa5, 0xa5, 0x6d, 0x67, 0xe2, 0x11, 0x11, 0x11, 0x11, 0x11, 0xe2, 0xe2, 0x31, 0x40, 0x57, 0x57, 0x6a, 0x24, 0x0b, 0xf1, 0xdb, 0xdb, 0x6a, 0xd8, 0x11, 0x5f, 0x5f, 0x5f, 0x5f, 0x76, 0x76, 0x5f, 0x5f, 0x31, 0xb1, 0xea, 0x0f, 0x79, 0x76, 0x76, 0x76, 0x76, 0x76, 0x19, 0xc8, 0x19, 0x19, 0x74, 0x74, 0x74, 0x38, 0x38, 0x12, 0x59, 0x59, 0x59, 0x54, 0x54, 0x54, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0x69, 0x69, 0xcf, 0xcf, 0x69, 0x69, 0x69, 0x69, 0x69, 0x69, 0x0c, 0x69, 0x36, 0xcb, 0x48, 0x0c, 0x44, + 0x70, 0x48, 0x70, 0x70, 0xcb, 0x48, 0x48, 0xcb, 0xcb, 0x48, 0x70, 0xcb, 0x44, 0x44, 0x0c, 0x69, 0x36, 0x6d, 0x2d, 0x6d, 0xd1, 0xd7, 0xbb, 0x6d, 0x1e, 0xe9, 0x1e, 0x67, 0xdc, 0x2b, 0xbb, 0xc8, 0x77, 0x12, 0x12, 0x12, 0x12, 0x74, 0x0d, 0x76, 0x79, 0xe8, 0xd7, 0xd7, 0xe8, 0x13, 0x79, 0x40, 0x40, 0x40, 0x7e, 0x7e, 0x40, 0x7e, 0x34, 0x34, 0x7e, 0x40, 0x7e, 0x34, 0x34, 0x34, 0x34, 0x7e, 0x7e, 0x40, 0x7e, 0x34, 0x68, 0x12, 0x68, 0x34, 0x7e, 0x34, 0x34, 0x34, 0x7e, 0x40, 0x31, 0xe8, 0x41, 0x5d, 0xb5, 0x6b, 0x31, 0xe2, 0x34, 0xcd, 0x54, 0xcd, 0xcd, 0x4f, 0x4f, 0x4f, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0x08, 0x08, 0x08, 0x43, 0x18, 0x05, 0x13, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0xe2, 0xe2, 0x64, 0x6a, 0xe6, 0x94, 0xdb, 0x0b, 0xf1, 0xdb, 0x8c, 0x94, 0x19, 0x5f, 0x5f, 0x5f, 0x5f, 0x76, 0x76, 0x76, 0x76, 0x31, 0xfb, 0x65, 0xaf, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0xc8, 0x19, 0x19, 0x19, 0x19, 0x74, 0x74, 0x38, 0x38, 0x38, 0x12, 0x54, 0x54, 0x54, 0x54, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0x0c, 0x0c, 0x0c, 0xcb, 0x69, 0x0c, 0x69, 0xcf, 0xcb, 0xcb, 0x69, 0x0c, 0x0c, 0xcb, 0xcb, 0x48, 0x0c, 0xd3, + 0x00, 0x70, 0x48, 0x48, 0x48, 0xcb, 0x69, 0x6d, 0xcb, 0x48, 0x48, 0xcb, 0x6d, 0x0c, 0x69, 0xcb, 0xcb, 0x6d, 0xd3, 0x69, 0x44, 0x20, 0xd1, 0x1e, 0x1e, 0xe9, 0x2b, 0x6e, 0x33, 0x77, 0x77, 0x77, 0x1e, 0x12, 0x12, 0x12, 0x12, 0x68, 0x0d, 0x0d, 0x0d, 0x79, 0x13, 0xe8, 0xe8, 0xe8, 0x31, 0x79, 0x0d, 0x68, 0x12, 0x54, 0x12, 0x59, 0x54, 0x54, 0x54, 0x68, 0x34, 0x34, 0x7e, 0x7e, 0x34, 0x40, 0x40, 0x12, 0x68, 0x46, 0xdd, 0x46, 0x68, 0x54, 0x68, 0x7e, 0x34, 0x34, 0x40, 0x31, 0x41, 0xf3, 0x5d, 0x6b, 0x6b, 0xe8, 0xe2, 0x40, 0x40, 0xcd, 0xcd, 0xcd, 0xcd, 0x4f, 0x4f, 0x3b, 0x4f, 0xa9, 0xa9, 0x08, 0x08, 0x08, 0x08, 0x6d, 0x7a, 0x18, 0x9a, 0xa0, 0x31, 0x11, 0x11, 0x11, 0x11, 0x11, 0xe2, 0x7e, 0xf5, 0x6a, 0xe6, 0x57, 0x0b, 0x0b, 0xf1, 0xdb, 0x24, 0x66, 0x34, 0x5f, 0x5f, 0x5f, 0x5f, 0x76, 0x76, 0x40, 0x5e, 0xe3, 0xfc, 0x33, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0xc8, 0x0d, 0xc8, 0x76, 0xc8, 0x19, 0x74, 0x38, 0x38, 0x38, 0x12, 0x54, 0x54, 0x54, 0xcd, 0x3b, 0x3b, 0x3b, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0x0c, 0xe9, 0x0c, 0xcb, 0xcb, 0xcb, 0xcb, 0xcb, 0x69, 0x0c, 0x2d, 0x2d, 0x69, 0x36, 0x36, 0x48, 0x0c, 0x2d, + 0x70, 0x70, 0x48, 0x48, 0xcb, 0x2d, 0xb0, 0x2a, 0xcb, 0x36, 0x36, 0x70, 0x48, 0x36, 0x36, 0x36, 0x69, 0x0c, 0x0c, 0x69, 0x0c, 0xab, 0xd1, 0xbb, 0xe9, 0x1e, 0xdc, 0x33, 0x77, 0x1e, 0x77, 0x1e, 0x12, 0x4e, 0x4e, 0x12, 0x12, 0x12, 0x34, 0x0d, 0x0d, 0x0d, 0x79, 0x13, 0xe8, 0x13, 0xc8, 0x68, 0x46, 0xdd, 0xa1, 0xa1, 0xd9, 0xd9, 0xd9, 0xa1, 0xa1, 0xdd, 0x02, 0x68, 0x12, 0x68, 0x7e, 0x40, 0x59, 0x59, 0xa1, 0x75, 0xdf, 0x58, 0x58, 0xd9, 0x59, 0x12, 0x7e, 0x7e, 0xe2, 0x06, 0xf3, 0xf3, 0x5d, 0x5d, 0xe8, 0x31, 0x40, 0x40, 0x7e, 0x54, 0xcd, 0xcd, 0xcd, 0x4f, 0x4f, 0x3b, 0x3b, 0x4f, 0x3b, 0xa5, 0x08, 0x3b, 0x54, 0x3b, 0xd4, 0x7a, 0x18, 0x9a, 0xdc, 0xe2, 0x11, 0x11, 0x11, 0x11, 0xe2, 0x7e, 0xe6, 0x94, 0x57, 0x32, 0x72, 0x72, 0xf1, 0x0b, 0xe6, 0xe1, 0xa4, 0x5f, 0x5f, 0x76, 0x76, 0x76, 0x40, 0x20, 0x10, 0xe3, 0x13, 0x76, 0x76, 0x76, 0x0d, 0x0d, 0x76, 0x76, 0x0d, 0x0d, 0x76, 0x76, 0xc8, 0x77, 0x74, 0x12, 0x12, 0x12, 0x54, 0x54, 0x54, 0xcd, 0xcd, 0x3b, 0x4f, 0x4f, 0x3b, 0xcd, 0xcd, 0xcd, 0x0c, 0xcd, 0xcd, 0xe9, 0x6d, 0x2d, 0xcb, 0xcf, 0x69, 0x69, 0xcb, 0xcb, 0xcb, 0xcb, 0x69, 0x69, 0x36, 0x36, 0x48, 0x69, 0x69, + 0x48, 0x48, 0x48, 0x36, 0x69, 0x1b, 0x01, 0x2d, 0xcb, 0x36, 0x36, 0x48, 0x70, 0x48, 0x36, 0x36, 0xcb, 0x69, 0x0c, 0x0c, 0x0c, 0x6d, 0x64, 0x77, 0x4e, 0x77, 0x2b, 0xab, 0x1e, 0x1e, 0x1e, 0x1e, 0x12, 0x4e, 0x4e, 0x12, 0x12, 0x12, 0x68, 0x0d, 0x0d, 0x0d, 0x40, 0x0d, 0x12, 0x68, 0xa1, 0xdf, 0x58, 0x58, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0x58, 0x58, 0x58, 0x58, 0x58, 0xd9, 0x02, 0x59, 0xa9, 0xa5, 0x23, 0x23, 0xa4, 0xa1, 0x75, 0xdf, 0xdf, 0xd9, 0x68, 0x68, 0x11, 0x45, 0xf3, 0xf3, 0x41, 0xe8, 0x31, 0x31, 0x40, 0x7e, 0x40, 0x12, 0x59, 0x54, 0xcd, 0xcd, 0x4f, 0x3b, 0x54, 0x3b, 0x3b, 0x3b, 0xa5, 0x54, 0x3b, 0x54, 0xa5, 0x43, 0x7a, 0x18, 0x9a, 0x61, 0x31, 0xe2, 0x11, 0x11, 0x11, 0x11, 0x2b, 0x6a, 0x32, 0x57, 0xdb, 0x72, 0x72, 0xf1, 0x0b, 0x94, 0xd8, 0xdd, 0x5f, 0x76, 0x76, 0x76, 0x40, 0xaf, 0x65, 0x0f, 0x76, 0x76, 0x76, 0x76, 0x76, 0x0d, 0x46, 0x46, 0x46, 0x0d, 0x0d, 0x76, 0xc8, 0x46, 0x74, 0x38, 0x12, 0x59, 0x54, 0x54, 0x54, 0x54, 0xcd, 0x3b, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0xcd, 0xcd, 0x0c, 0xcd, 0xcd, 0x0c, 0x0c, 0x6d, 0xcf, 0x0c, 0x0c, 0xcb, 0xcb, 0xcb, 0x69, 0x69, 0x69, 0xcb, 0x36, 0x36, 0x48, 0x36, 0x69, + 0x48, 0x48, 0x48, 0xcb, 0x43, 0x8a, 0x43, 0x69, 0xcb, 0x36, 0x48, 0x70, 0x70, 0x69, 0x0c, 0x0c, 0x69, 0xd3, 0xd3, 0x44, 0x0c, 0xe9, 0xbb, 0x77, 0x4e, 0x4e, 0x1e, 0x2b, 0x1e, 0x1e, 0x1e, 0x1e, 0x12, 0x12, 0x4e, 0x4e, 0x12, 0x12, 0x74, 0x34, 0x34, 0x0d, 0x12, 0x54, 0xa1, 0xf7, 0xda, 0xf7, 0xdf, 0xdf, 0x75, 0x75, 0x75, 0xd9, 0xd9, 0xa1, 0xa1, 0xa1, 0x0a, 0xd9, 0xdf, 0x58, 0xd9, 0x02, 0x08, 0xa9, 0x23, 0xb7, 0x02, 0xa1, 0xdf, 0xdf, 0xd9, 0xa1, 0x59, 0x31, 0x41, 0x6e, 0x41, 0x31, 0xe2, 0x40, 0x40, 0x7e, 0x40, 0x68, 0x59, 0x68, 0x54, 0xcd, 0xcd, 0x4f, 0x54, 0x54, 0xcd, 0xcd, 0xcd, 0x54, 0x54, 0xcd, 0xcd, 0x59, 0x59, 0xd4, 0x7a, 0x18, 0x01, 0xdc, 0xe2, 0x11, 0x11, 0x11, 0x7e, 0x72, 0x6a, 0x32, 0x57, 0x72, 0x2f, 0x72, 0xf1, 0xdb, 0x6a, 0xc8, 0x11, 0x76, 0x76, 0x40, 0x76, 0x0f, 0x65, 0xf2, 0x40, 0x76, 0x76, 0x76, 0x76, 0x76, 0x0d, 0x46, 0x46, 0x46, 0x46, 0x0d, 0x19, 0x0d, 0x74, 0x74, 0x38, 0x12, 0x54, 0x54, 0x54, 0x54, 0xcd, 0xcd, 0x4f, 0x4f, 0xa9, 0x4f, 0x4f, 0xcf, 0xcd, 0xcd, 0x0c, 0xcd, 0xcd, 0xcf, 0xcb, 0x69, 0xcb, 0x69, 0xcb, 0xcb, 0x69, 0x69, 0xcb, 0xcb, 0x69, 0x36, 0x48, 0x48, 0x48, 0xcb, 0xcb, + 0x48, 0x48, 0xcb, 0x0c, 0x05, 0x61, 0x69, 0xcb, 0xcb, 0x48, 0x48, 0x70, 0xcb, 0xd3, 0xe9, 0x0c, 0x0c, 0xd3, 0x6d, 0x44, 0x0c, 0xe9, 0x1e, 0x77, 0x4e, 0x0c, 0xbb, 0x64, 0x1e, 0x1e, 0x1e, 0x1e, 0x38, 0x12, 0x4e, 0x54, 0x12, 0x74, 0x77, 0x77, 0x0d, 0x4e, 0x74, 0xdf, 0xda, 0xdf, 0x75, 0x75, 0x5f, 0xa1, 0xa1, 0xa1, 0xa1, 0xa1, 0xa4, 0x02, 0x02, 0x02, 0x02, 0xa4, 0x29, 0xa1, 0xd9, 0x58, 0xdf, 0xb2, 0xa9, 0xa5, 0xb2, 0x02, 0xa1, 0xdf, 0xd9, 0xa1, 0xb2, 0x13, 0x3d, 0x0e, 0x31, 0x40, 0x40, 0x7e, 0x7e, 0x40, 0x0d, 0x54, 0x02, 0x59, 0x54, 0xcd, 0xcd, 0xa9, 0x59, 0x59, 0x54, 0xcd, 0xcd, 0x54, 0x59, 0x54, 0xcd, 0x54, 0xb2, 0x77, 0xa8, 0x18, 0x82, 0x1b, 0xe2, 0x11, 0x11, 0x11, 0x02, 0xed, 0x94, 0x32, 0x32, 0xe5, 0x2f, 0x72, 0x0b, 0x24, 0x94, 0x46, 0x11, 0x40, 0xdd, 0x5e, 0xe3, 0x10, 0x13, 0xdd, 0x76, 0x40, 0x76, 0x76, 0x76, 0x76, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x0d, 0x46, 0x74, 0x38, 0x12, 0x54, 0x54, 0x54, 0x54, 0xcd, 0xcd, 0xcd, 0x4f, 0xa9, 0xa9, 0x4f, 0x4f, 0xcf, 0xcd, 0xcd, 0xcf, 0xcf, 0xcf, 0xcf, 0xcb, 0x36, 0xcb, 0x69, 0x69, 0xcb, 0xcb, 0xcb, 0xcb, 0x69, 0x69, 0x69, 0xcb, 0x48, 0x48, 0xcb, 0x48, + 0x48, 0x48, 0xcb, 0x43, 0xa0, 0x6d, 0xcb, 0xcb, 0x36, 0x48, 0x48, 0x70, 0x69, 0xd3, 0xe9, 0xe9, 0x69, 0x0c, 0x6d, 0x44, 0x0c, 0x0c, 0xe9, 0x77, 0x4e, 0x4e, 0x2b, 0xab, 0x1e, 0x1e, 0x77, 0x77, 0x1e, 0x1e, 0x12, 0x54, 0x12, 0x12, 0x77, 0xc8, 0xcd, 0x46, 0xda, 0xd9, 0xdd, 0x46, 0xb2, 0x59, 0x59, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0x23, 0x23, 0xb7, 0xa4, 0xa1, 0xd9, 0xdf, 0xa1, 0xa5, 0x08, 0xb2, 0xa4, 0xa1, 0xd9, 0xa1, 0xb2, 0x79, 0x5d, 0x45, 0x40, 0x7e, 0x34, 0x34, 0x40, 0x0d, 0x54, 0x02, 0xb2, 0x54, 0x54, 0xcd, 0x4f, 0xa9, 0xb2, 0x59, 0x54, 0xcd, 0x54, 0x54, 0x59, 0x54, 0xcd, 0x54, 0x59, 0x02, 0xe5, 0xa8, 0x82, 0x1b, 0x31, 0xe2, 0x11, 0x11, 0x77, 0x57, 0x32, 0x32, 0xdb, 0xe5, 0x2f, 0x0b, 0x0b, 0x32, 0x5a, 0xa4, 0x40, 0x40, 0x5b, 0x65, 0x37, 0x76, 0xdd, 0x40, 0x0d, 0x76, 0x76, 0x76, 0x76, 0x0d, 0x46, 0x46, 0x74, 0x74, 0x74, 0x74, 0x74, 0x74, 0x74, 0x38, 0x59, 0x54, 0x54, 0x54, 0xcd, 0xcd, 0xcd, 0x4f, 0x4f, 0xa9, 0x1f, 0x4f, 0x4f, 0xcf, 0xcf, 0x4f, 0x4f, 0x4f, 0xcb, 0xcb, 0x36, 0xcb, 0xcb, 0x69, 0xcb, 0xcb, 0xcb, 0xcb, 0x69, 0x0c, 0x0c, 0x0c, 0x36, 0x70, 0x36, 0x48, 0x70, + 0x48, 0x48, 0x69, 0x43, 0x6d, 0x36, 0xcb, 0x48, 0x48, 0x48, 0x70, 0x70, 0x70, 0x69, 0x1e, 0xe9, 0x69, 0x0c, 0xe9, 0xe9, 0x0c, 0x0c, 0xe9, 0x77, 0x4e, 0x1e, 0x2b, 0xbb, 0x77, 0x77, 0xab, 0x77, 0x1e, 0x1e, 0x12, 0x4e, 0x12, 0x12, 0x77, 0x4e, 0x46, 0xf7, 0xdd, 0xb2, 0x59, 0x59, 0x54, 0x08, 0x08, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0x08, 0x08, 0xa5, 0xa5, 0xa5, 0xa5, 0x23, 0xb7, 0x02, 0x29, 0xd9, 0xdf, 0x46, 0xa5, 0x23, 0x29, 0xd9, 0xa1, 0x02, 0x12, 0x31, 0x40, 0x7e, 0x34, 0x7e, 0x40, 0x68, 0x3b, 0xdd, 0x02, 0x23, 0x54, 0x54, 0xcd, 0x1f, 0x54, 0xb2, 0x59, 0x54, 0x54, 0x54, 0x54, 0x59, 0x59, 0x54, 0x54, 0x59, 0xb2, 0xdd, 0x4d, 0x82, 0x1b, 0x31, 0xe2, 0xe2, 0x7e, 0xae, 0x6a, 0xed, 0x32, 0x72, 0xe5, 0x2f, 0x0b, 0x72, 0x94, 0xb4, 0x02, 0x76, 0x0f, 0x65, 0xaf, 0x40, 0xdd, 0xdd, 0x46, 0xc9, 0xc9, 0x0d, 0x46, 0x46, 0x68, 0xb2, 0xb2, 0x74, 0x74, 0x68, 0x68, 0x68, 0x12, 0x12, 0x12, 0x54, 0x54, 0x54, 0xcd, 0xcd, 0xcd, 0xcf, 0x4f, 0xa9, 0x1f, 0x1f, 0x4f, 0x4f, 0xcf, 0xcf, 0x1f, 0xcf, 0xcb, 0x36, 0x36, 0x36, 0xcb, 0x69, 0xcb, 0x69, 0x69, 0x69, 0xcb, 0x69, 0x69, 0x69, 0x36, 0x48, 0x48, 0x48, 0x48, 0x48, + 0x00, 0x70, 0x36, 0xcb, 0x48, 0x48, 0x48, 0x48, 0x48, 0x70, 0x70, 0x70, 0x70, 0xcf, 0x44, 0x0c, 0x0c, 0xe9, 0xd3, 0x0c, 0xcd, 0x0c, 0x38, 0x77, 0x38, 0x1e, 0x77, 0x1e, 0x1e, 0x77, 0x64, 0x77, 0x77, 0x77, 0x12, 0x12, 0x4e, 0x74, 0x1e, 0x12, 0x75, 0x46, 0x59, 0x54, 0x08, 0xa9, 0xa9, 0x08, 0xa5, 0x59, 0xb2, 0x02, 0x02, 0x02, 0xb2, 0x59, 0xa5, 0x08, 0xa9, 0xa9, 0xa9, 0x08, 0xa5, 0xa5, 0xa5, 0x23, 0xb7, 0x29, 0xd9, 0xd9, 0xb2, 0x59, 0x02, 0xa1, 0xa4, 0xb2, 0x68, 0x7e, 0x34, 0x34, 0x68, 0x4f, 0x3b, 0xa1, 0x02, 0x23, 0xa5, 0x54, 0x54, 0x3b, 0x1f, 0xb2, 0xb2, 0x59, 0x54, 0x54, 0x54, 0x54, 0x59, 0xb2, 0x54, 0x54, 0x54, 0xb7, 0x02, 0xa1, 0x43, 0x61, 0x31, 0x11, 0xe2, 0x68, 0x22, 0x57, 0xed, 0x8c, 0xe5, 0xe5, 0x72, 0x72, 0x72, 0x94, 0xd1, 0x25, 0xea, 0xfc, 0x13, 0x7e, 0x40, 0xdd, 0xdd, 0x46, 0x46, 0x46, 0x76, 0xe8, 0xd7, 0x80, 0x5e, 0x5f, 0x68, 0xb2, 0x68, 0x59, 0x59, 0x59, 0x59, 0x54, 0x54, 0x54, 0xcd, 0xcd, 0xcd, 0xcf, 0x4f, 0x4f, 0xa9, 0x1f, 0x1f, 0x1f, 0x4f, 0xcf, 0xcf, 0x1f, 0xcf, 0xcb, 0x36, 0x36, 0x36, 0x36, 0x36, 0xcb, 0x69, 0x69, 0xcb, 0xcb, 0x36, 0x36, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, + 0x00, 0x00, 0x70, 0x70, 0x48, 0x48, 0x48, 0x70, 0x70, 0x70, 0x70, 0x1f, 0x1f, 0x36, 0x0c, 0xcf, 0x0c, 0x6d, 0xbf, 0xe9, 0xcd, 0x0c, 0x4e, 0x1e, 0x38, 0x4e, 0x4e, 0x4e, 0x1e, 0x2b, 0x2b, 0x77, 0xab, 0x77, 0x12, 0x12, 0x54, 0x68, 0x4e, 0x5f, 0x46, 0x54, 0xa9, 0x1f, 0x08, 0xb2, 0xa1, 0xdf, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0xd9, 0xa1, 0x02, 0xa5, 0xa9, 0xa9, 0xa5, 0x23, 0x23, 0x23, 0x02, 0xa4, 0xd9, 0xa1, 0xb2, 0x59, 0x54, 0x23, 0xa9, 0x54, 0x54, 0xa9, 0x1f, 0x59, 0xd9, 0x02, 0x23, 0xa5, 0xa5, 0xa5, 0x54, 0xa9, 0x3b, 0xb2, 0x59, 0x54, 0x54, 0x3b, 0x54, 0x54, 0x59, 0xb2, 0x59, 0x3b, 0x54, 0x23, 0xb7, 0xdd, 0x5f, 0x77, 0x79, 0xe2, 0x11, 0x1e, 0x57, 0xed, 0xed, 0x51, 0xbf, 0xe5, 0x72, 0x72, 0x51, 0xe6, 0xaf, 0xd6, 0xf0, 0x25, 0x34, 0xdd, 0x40, 0x46, 0x68, 0x46, 0x5e, 0x62, 0xe0, 0xe0, 0xe0, 0xf4, 0xc6, 0xc6, 0xb9, 0x68, 0x59, 0x59, 0x59, 0x59, 0x54, 0x54, 0x54, 0xcd, 0xcd, 0xcd, 0xcf, 0xcf, 0x4f, 0x4f, 0x4f, 0x1f, 0x1f, 0x1f, 0x4f, 0xcf, 0xcb, 0x1f, 0xcb, 0x36, 0x36, 0xcb, 0xcb, 0x36, 0xcb, 0xcb, 0x69, 0x69, 0xcb, 0xcb, 0x36, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x1f, 0x36, 0x36, 0x36, 0xcf, 0x0c, 0xd3, 0x44, 0xcd, 0xcd, 0x0c, 0x4e, 0x4e, 0x12, 0x4e, 0x54, 0x4e, 0x1e, 0xab, 0xbb, 0xbb, 0x2b, 0x74, 0x1e, 0x12, 0x54, 0x54, 0x54, 0x68, 0xa9, 0xa9, 0x54, 0xdd, 0x75, 0xf7, 0xf7, 0xdf, 0x75, 0xd9, 0xa1, 0xa1, 0xa1, 0xa1, 0xa1, 0xa1, 0x0a, 0x0a, 0xd9, 0x88, 0x58, 0x58, 0xd9, 0x02, 0x08, 0xa9, 0x08, 0xa5, 0x23, 0x23, 0xb7, 0xa4, 0xa1, 0x29, 0xa4, 0x02, 0xb2, 0x23, 0x54, 0xb2, 0xd9, 0xd9, 0xb2, 0x23, 0xa5, 0xa5, 0xa5, 0xa5, 0x54, 0x1f, 0xb2, 0xb2, 0x59, 0xa5, 0x54, 0x08, 0xa5, 0xa5, 0x59, 0x59, 0xb2, 0x54, 0xa5, 0xa5, 0xb7, 0xb7, 0xdd, 0x75, 0x46, 0x34, 0x7e, 0x78, 0x57, 0x8c, 0x8c, 0x2f, 0xbf, 0xe5, 0x72, 0x4d, 0x8c, 0x5a, 0x6f, 0x21, 0x7c, 0x3d, 0x5e, 0x34, 0x34, 0x02, 0x5e, 0x62, 0xf4, 0xf4, 0x3d, 0x3d, 0x3d, 0x62, 0x62, 0x50, 0x50, 0xda, 0x59, 0x59, 0x59, 0x54, 0x54, 0x54, 0xcd, 0xcd, 0xcd, 0x4f, 0x4f, 0x4f, 0x4f, 0xcf, 0x4f, 0x36, 0x1f, 0x1f, 0x1f, 0xcf, 0x36, 0x70, 0x48, 0x36, 0x36, 0xcb, 0xcb, 0xcb, 0x36, 0xcb, 0x69, 0x69, 0xcb, 0x36, 0x36, 0x36, 0x48, 0x48, 0x48, 0x70, 0x70, 0x70, 0x48, + 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x70, 0x70, 0x70, 0x1f, 0x1f, 0x36, 0xcf, 0x0c, 0x0c, 0x6d, 0x0c, 0xcd, 0x54, 0x54, 0xcd, 0x54, 0x4e, 0x4e, 0x54, 0x12, 0x77, 0x77, 0x77, 0xc8, 0x77, 0x12, 0x77, 0x74, 0x59, 0x54, 0x3b, 0xa9, 0x54, 0x5f, 0xdf, 0xdf, 0x75, 0xd9, 0xa1, 0xa1, 0xa1, 0xa1, 0x29, 0x29, 0x29, 0xa1, 0xa1, 0xa1, 0xa1, 0x29, 0x29, 0x29, 0xa1, 0xa1, 0xd9, 0x58, 0xdf, 0xdd, 0xb2, 0x23, 0xa5, 0xa5, 0xa5, 0x08, 0x08, 0x08, 0xa5, 0x59, 0xb2, 0xdd, 0xa1, 0xd9, 0xa4, 0x23, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa9, 0xa5, 0x02, 0xb2, 0x23, 0xa5, 0x54, 0x08, 0xa5, 0xa5, 0x23, 0xb2, 0xb7, 0xb2, 0x08, 0xa5, 0x23, 0xb7, 0xb7, 0xdd, 0xf7, 0xdd, 0x08, 0x73, 0x32, 0x8c, 0x90, 0xbf, 0xbf, 0xbf, 0x72, 0xe5, 0x32, 0xe1, 0x20, 0xd7, 0x80, 0x5e, 0x46, 0xb7, 0x5f, 0x62, 0xf4, 0xc6, 0x62, 0x3d, 0x3d, 0x62, 0x62, 0x62, 0x50, 0x50, 0xda, 0x50, 0xc9, 0x54, 0x54, 0x54, 0x54, 0xcd, 0xcd, 0xcd, 0xcf, 0x4f, 0x4f, 0x4f, 0xcf, 0xcf, 0x4f, 0x36, 0x1f, 0x1f, 0x1f, 0x1f, 0x70, 0x70, 0x36, 0x36, 0x36, 0xcb, 0x36, 0x36, 0x36, 0xcb, 0xcb, 0xcb, 0xcb, 0x36, 0x36, 0x36, 0x48, 0x48, 0x48, 0x70, 0x48, 0xfd, 0xfa, + 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x70, 0x1f, 0x1f, 0x1f, 0x4f, 0x0c, 0x0c, 0xcd, 0xcd, 0xcd, 0x54, 0x54, 0x4e, 0x54, 0xcd, 0x54, 0x54, 0x54, 0x74, 0x2b, 0x2b, 0x77, 0x77, 0x12, 0x74, 0x77, 0x12, 0x74, 0x12, 0xa9, 0x46, 0xdf, 0x75, 0xd9, 0xa1, 0xa1, 0xdd, 0xdd, 0xa1, 0xdd, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0xb7, 0x02, 0xa4, 0xa4, 0x29, 0x29, 0xa1, 0xa1, 0xa1, 0x0a, 0xd9, 0xd9, 0xd9, 0xd9, 0xa1, 0xa1, 0xdd, 0xdd, 0xdd, 0xa1, 0xa1, 0xa1, 0xa1, 0x02, 0x23, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa9, 0x02, 0x02, 0x23, 0xa5, 0xa5, 0x23, 0x08, 0x54, 0xa5, 0xa5, 0xb2, 0x59, 0xb2, 0x59, 0x08, 0x23, 0x23, 0xb7, 0xb7, 0xdd, 0xda, 0x74, 0x22, 0x8c, 0x90, 0x0b, 0xab, 0xbf, 0xbf, 0x2f, 0xae, 0xe6, 0xe5, 0x40, 0x76, 0x02, 0x23, 0x02, 0x30, 0xf4, 0xf4, 0x62, 0x62, 0x62, 0x62, 0x62, 0x50, 0xb9, 0x50, 0x50, 0x50, 0xf7, 0xdf, 0xa1, 0x54, 0x54, 0x54, 0xcd, 0xcd, 0xcd, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x36, 0x36, 0x36, 0x1f, 0x1f, 0x1f, 0x1f, 0x70, 0x1f, 0xcb, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0xcb, 0xcb, 0x36, 0x36, 0xcb, 0xcb, 0x36, 0x48, 0x48, 0x48, 0x48, 0xfd, 0xfa, 0x63, + 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x70, 0x1f, 0x1f, 0x1f, 0x4f, 0xcf, 0xcd, 0xcd, 0xcd, 0xcd, 0x54, 0x54, 0x54, 0x54, 0x54, 0x3b, 0x3b, 0x54, 0x12, 0x2b, 0xb3, 0xb3, 0xc8, 0x74, 0x77, 0x12, 0x12, 0x74, 0x74, 0xa1, 0x75, 0x75, 0x5f, 0xa1, 0xa1, 0xa1, 0xdd, 0x02, 0xb2, 0x23, 0xa5, 0x08, 0x08, 0x08, 0x08, 0x08, 0xa5, 0xa5, 0xa5, 0x23, 0xb7, 0xb7, 0xb7, 0xb7, 0x02, 0xa4, 0xa4, 0xdd, 0xa1, 0xa1, 0xa1, 0xa1, 0xa1, 0xa1, 0x29, 0xa4, 0xb7, 0xb7, 0x23, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0x1f, 0x02, 0xa4, 0x23, 0x23, 0xa5, 0xa5, 0x23, 0x08, 0xa5, 0xa5, 0xa5, 0x23, 0xb2, 0x23, 0xa4, 0xb2, 0xa9, 0x23, 0x23, 0xb7, 0xb7, 0xa4, 0xd3, 0x81, 0x90, 0x9b, 0xae, 0xbb, 0xbf, 0xbf, 0xae, 0xae, 0xe6, 0x74, 0xb2, 0x23, 0x02, 0x80, 0x62, 0xf4, 0x62, 0x62, 0x50, 0x50, 0xb9, 0xb9, 0xb9, 0x62, 0x62, 0x50, 0xf7, 0x75, 0xa1, 0xdd, 0xb2, 0x3b, 0x54, 0xcd, 0xcd, 0xcd, 0x3b, 0x4f, 0x4f, 0x4f, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x1f, 0x1f, 0x1f, 0x70, 0x70, 0x36, 0x36, 0x48, 0x48, 0x36, 0x69, 0x69, 0x36, 0x36, 0x36, 0x36, 0x36, 0xcb, 0xcb, 0x36, 0x48, 0x48, 0x48, 0x15, 0x07, 0xfa, 0xfd, + 0x00, 0x70, 0x70, 0x70, 0x70, 0x00, 0x00, 0x70, 0x70, 0x70, 0x1f, 0x1f, 0xa9, 0xcf, 0xcd, 0xcd, 0xe9, 0x4e, 0xcd, 0x54, 0x54, 0x54, 0x54, 0xcd, 0x3b, 0x3b, 0x3b, 0x12, 0x77, 0xc8, 0xd1, 0xb3, 0x79, 0xc8, 0x74, 0x12, 0x46, 0xd9, 0x75, 0x5f, 0xa1, 0xdd, 0x5f, 0xa1, 0xb2, 0xa5, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0x23, 0x23, 0x23, 0x23, 0x23, 0xb7, 0xb7, 0xb7, 0xb7, 0xb7, 0x23, 0x23, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa9, 0xb2, 0xa1, 0xb2, 0x23, 0x23, 0xa5, 0xa5, 0x23, 0x08, 0xa5, 0xa5, 0xa5, 0xa5, 0xb2, 0xb2, 0x23, 0xa1, 0x68, 0x08, 0x23, 0x23, 0xb7, 0xa5, 0x63, 0xed, 0x97, 0x97, 0xbf, 0xbb, 0xbf, 0xbf, 0xbf, 0x72, 0x32, 0x68, 0x5f, 0x30, 0x62, 0x62, 0x7c, 0xb9, 0xb9, 0xb9, 0xf7, 0xf7, 0xf7, 0xb9, 0x50, 0xb9, 0x80, 0x5f, 0xdd, 0x02, 0xb2, 0xb2, 0x23, 0x3b, 0x3b, 0x3b, 0xcd, 0xcd, 0x4f, 0x4f, 0x4f, 0x4f, 0x36, 0x36, 0x36, 0x36, 0x36, 0x1f, 0x70, 0x1f, 0x1f, 0x70, 0x70, 0x48, 0x48, 0x36, 0x48, 0x48, 0x36, 0x36, 0x48, 0x36, 0x36, 0x36, 0xcb, 0xcb, 0xcb, 0xcb, 0xcb, 0xcb, 0x15, 0x07, 0x63, 0xfd, 0x15, + 0x00, 0x70, 0x70, 0x00, 0x70, 0x00, 0x00, 0x70, 0x70, 0x70, 0x1f, 0x1f, 0xa9, 0xcf, 0x4f, 0xcd, 0xe9, 0xcd, 0xcd, 0x54, 0x4e, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x1e, 0x77, 0x2b, 0xb3, 0x79, 0x13, 0x77, 0x46, 0x75, 0x5f, 0xa1, 0xa1, 0xdd, 0xa1, 0xdd, 0x23, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa9, 0x02, 0xd9, 0x02, 0x23, 0x23, 0xa5, 0x08, 0xa5, 0x59, 0xa9, 0xa5, 0xa5, 0xa5, 0xa5, 0x23, 0xb2, 0xb2, 0x23, 0xa1, 0xa1, 0xa5, 0xa5, 0x23, 0x3b, 0x73, 0x73, 0x97, 0x97, 0x44, 0x44, 0xbf, 0xbf, 0x78, 0x90, 0x90, 0xf7, 0xf4, 0x62, 0xb9, 0xb9, 0xf7, 0xf7, 0xf7, 0xf7, 0xda, 0xda, 0xda, 0xf7, 0x75, 0xc9, 0x34, 0xb2, 0xb2, 0xb2, 0xb2, 0xb2, 0xa5, 0x08, 0x3b, 0x3b, 0x3b, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x36, 0x36, 0x36, 0x36, 0x36, 0x1f, 0x70, 0x70, 0x36, 0x48, 0x70, 0x70, 0x70, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x36, 0xcb, 0xcb, 0xcb, 0xcb, 0xcb, 0x0c, 0x1e, 0xec, 0xfa, 0x63, 0x4a, 0x48, 0x00, + 0x00, 0x00, 0x70, 0x00, 0x00, 0x70, 0x00, 0x70, 0x70, 0x70, 0xcf, 0x4f, 0x4f, 0x4f, 0x4f, 0x4e, 0xe9, 0xcd, 0x54, 0x54, 0x4e, 0x4e, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x12, 0x12, 0x77, 0xbb, 0x2b, 0x2b, 0x46, 0x75, 0xd9, 0xa1, 0xa1, 0xa1, 0xa1, 0xa1, 0xb2, 0xa5, 0x08, 0x08, 0x08, 0xa9, 0xa9, 0x08, 0x08, 0xa9, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0xa5, 0x08, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa9, 0x08, 0xdd, 0xdf, 0xa4, 0x23, 0x23, 0x23, 0xa5, 0xa5, 0x23, 0xb2, 0x08, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xb7, 0x02, 0xb7, 0xb7, 0xa1, 0xd9, 0x02, 0xa5, 0x2d, 0x22, 0x97, 0x1c, 0x89, 0x1e, 0x44, 0x44, 0x78, 0x44, 0xed, 0x72, 0xf7, 0xb9, 0xf7, 0xf7, 0xf7, 0xf7, 0xb9, 0xda, 0xda, 0xdf, 0xd9, 0xa1, 0xa4, 0x68, 0x68, 0x68, 0x59, 0x59, 0x59, 0x23, 0x23, 0x08, 0x3b, 0x3b, 0x3b, 0x3b, 0x4f, 0x4f, 0x4f, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x70, 0x70, 0x70, 0x36, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x48, 0x48, 0x48, 0x48, 0x36, 0xcb, 0x69, 0x69, 0x69, 0x0c, 0x3e, 0xab, 0x91, 0x63, 0x4a, 0x48, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0xcf, 0xcf, 0x4f, 0xcf, 0x4f, 0xcd, 0x4e, 0xcd, 0xcd, 0x54, 0x54, 0x54, 0x4e, 0x54, 0x54, 0xcd, 0x3b, 0x54, 0x54, 0x4e, 0x12, 0x12, 0x77, 0x12, 0x68, 0xdf, 0xa1, 0x46, 0x59, 0x54, 0x54, 0xcd, 0xcd, 0x54, 0x23, 0x23, 0xa5, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0x08, 0xa9, 0xa9, 0xb2, 0xd9, 0xdf, 0xa4, 0x23, 0x23, 0x23, 0x23, 0xa5, 0xa5, 0x23, 0x02, 0xa9, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xb7, 0x02, 0xb2, 0xb7, 0xdd, 0xd9, 0xa4, 0x91, 0x73, 0x89, 0x89, 0x78, 0xe9, 0x44, 0x44, 0x44, 0x44, 0xed, 0x44, 0x75, 0xb9, 0xf7, 0xf7, 0xf7, 0xdf, 0x75, 0x5f, 0xa1, 0xa4, 0x02, 0xb7, 0xb7, 0xb2, 0xb2, 0x59, 0x59, 0x54, 0xa5, 0x54, 0x3b, 0xa9, 0x3b, 0x3b, 0xcd, 0xcd, 0x4f, 0x4f, 0x36, 0x36, 0x4f, 0x1f, 0x36, 0x36, 0x36, 0x1f, 0x70, 0x1f, 0x1f, 0x70, 0x70, 0x70, 0x70, 0x48, 0x70, 0x70, 0x70, 0x70, 0x48, 0x48, 0x36, 0xcb, 0x69, 0x0c, 0x69, 0x79, 0xf6, 0xae, 0x89, 0xec, 0x48, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x1f, 0xcd, 0x1f, 0xcd, 0xcd, 0xcd, 0xcd, 0x4e, 0xcd, 0xcd, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x3b, 0x54, 0x54, 0x54, 0x4e, 0x12, 0x12, 0x59, 0xd9, 0x68, 0xa9, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x70, 0xa9, 0xa5, 0xa5, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0x08, 0xa9, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0x08, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0x08, 0x54, 0x02, 0xd9, 0xdf, 0xd9, 0xa4, 0x23, 0x23, 0x23, 0x23, 0xa5, 0xa5, 0xa5, 0x23, 0xa4, 0x08, 0x08, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xb7, 0xb2, 0xb2, 0xb7, 0x02, 0x59, 0x1c, 0x97, 0x89, 0x89, 0x6d, 0xe9, 0x6d, 0x44, 0xd3, 0x78, 0x22, 0x74, 0xdd, 0x02, 0xdd, 0xa1, 0xa1, 0xa1, 0xa1, 0xa1, 0xdd, 0xa4, 0xa4, 0x02, 0x02, 0x02, 0xb2, 0x59, 0x54, 0xa5, 0x54, 0x54, 0x08, 0xa9, 0x3b, 0x3b, 0xcd, 0x3b, 0x4f, 0x4f, 0x1f, 0x36, 0x36, 0x1f, 0x36, 0x36, 0x36, 0x70, 0x1f, 0x1f, 0x36, 0x36, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x36, 0xcb, 0x36, 0xcb, 0x69, 0x0c, 0x77, 0x8b, 0x33, 0x91, 0xec, 0x48, 0x00, 0x00, 0x00, 0x00, + 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0xcf, 0x4f, 0x36, 0xcd, 0xcd, 0x4f, 0x4e, 0x38, 0x3b, 0xcd, 0x54, 0x54, 0x4e, 0x4e, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x12, 0x54, 0xdd, 0x3b, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x70, 0x70, 0x08, 0xa5, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0xa5, 0x08, 0xa9, 0xa9, 0xa5, 0xb2, 0xdd, 0xa1, 0xa1, 0xd9, 0xd9, 0x58, 0x58, 0xd9, 0xa1, 0xa4, 0x23, 0x23, 0x23, 0x23, 0x23, 0xa5, 0xa5, 0xa5, 0xa5, 0xa4, 0x59, 0xa9, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0x23, 0xb2, 0xb2, 0xb7, 0x0c, 0x97, 0x89, 0x89, 0x78, 0xe9, 0xe9, 0x6d, 0xd3, 0xe9, 0x89, 0x1c, 0x02, 0xda, 0xdf, 0xa1, 0xb2, 0x23, 0x23, 0xb7, 0xb7, 0xb7, 0x23, 0x23, 0x23, 0x23, 0x54, 0x54, 0x54, 0x54, 0x3b, 0x3b, 0x3b, 0xa9, 0x3b, 0x3b, 0x3b, 0x3b, 0x4f, 0x4f, 0x1f, 0x1f, 0x1f, 0x36, 0x1f, 0x1f, 0x36, 0x1f, 0x70, 0x70, 0x36, 0x36, 0x70, 0x70, 0x48, 0x70, 0x70, 0x70, 0x70, 0x48, 0x70, 0x70, 0xcb, 0x69, 0xcf, 0x69, 0x6d, 0x06, 0xf6, 0x44, 0x69, 0x36, 0x70, 0x00, 0x00, 0x00, 0x00, + 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0xcd, 0x36, 0x1f, 0xcd, 0xcd, 0xcd, 0xe9, 0x4e, 0xcd, 0x4e, 0xcd, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x59, 0x3b, 0x1f, 0xa9, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x70, 0xa9, 0xa5, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0xa9, 0x08, 0x02, 0xa1, 0xd9, 0x58, 0x58, 0x58, 0x58, 0xdf, 0xdf, 0xd9, 0xd9, 0xa1, 0xa4, 0x23, 0x23, 0x23, 0x23, 0x23, 0xa5, 0xa5, 0xa5, 0x08, 0xa5, 0x02, 0x02, 0x1f, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0x23, 0x46, 0xe5, 0xfa, 0x97, 0x89, 0x89, 0x78, 0xe9, 0xe9, 0xe9, 0x6d, 0xe9, 0x1c, 0x91, 0x08, 0x23, 0x02, 0xa1, 0xd9, 0xa1, 0xa4, 0xb2, 0x23, 0xa5, 0xa5, 0x08, 0x08, 0x08, 0x3b, 0x54, 0x54, 0xcd, 0x3b, 0x3b, 0x3b, 0xa9, 0x3b, 0x3b, 0x4f, 0x1f, 0x1f, 0x1f, 0xa9, 0x4f, 0x4f, 0x70, 0x70, 0x1f, 0x70, 0x70, 0x70, 0x70, 0x36, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x36, 0x36, 0x70, 0x36, 0x69, 0x0c, 0xd3, 0x67, 0x8b, 0x79, 0x69, 0xcb, 0x48, 0x70, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x4f, 0x1f, 0x4f, 0xcd, 0xcd, 0x1e, 0xcd, 0x3b, 0x54, 0xe9, 0x38, 0x54, 0x54, 0x4e, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x59, 0x54, 0x54, 0xa9, 0xa9, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x70, 0xa9, 0xa5, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0x08, 0x08, 0x08, 0x08, 0xa9, 0x08, 0xdd, 0xd9, 0xd9, 0xd9, 0xdf, 0xdf, 0xdf, 0xd9, 0xd9, 0xd9, 0xd9, 0xa1, 0xa1, 0x02, 0xb7, 0x23, 0x23, 0x23, 0x23, 0xa5, 0xa5, 0xa5, 0xa5, 0x08, 0x23, 0x02, 0xa1, 0xa9, 0x08, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0x44, 0xe6, 0x89, 0x63, 0x89, 0x89, 0x89, 0x2d, 0x0c, 0x0c, 0xe9, 0x6d, 0xe9, 0xff, 0x1e, 0x0a, 0xa1, 0xdd, 0xb2, 0xb7, 0xb2, 0x02, 0x02, 0x02, 0x02, 0xa4, 0xa4, 0x02, 0xb2, 0x59, 0xa5, 0x3b, 0x08, 0xa9, 0xa9, 0x3b, 0xa9, 0xa9, 0x3b, 0x54, 0xb2, 0xdd, 0xa1, 0xd9, 0x88, 0x88, 0x29, 0x4f, 0x70, 0x1f, 0x70, 0x70, 0x70, 0x70, 0x70, 0x48, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x48, 0xcb, 0x36, 0x36, 0x69, 0x78, 0xe5, 0x06, 0x3e, 0x0c, 0x69, 0xcb, 0x48, 0x70, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x70, 0x70, 0x4f, 0x4f, 0x4e, 0x1e, 0xcd, 0xcd, 0x4e, 0x4e, 0xbb, 0xbb, 0x54, 0x4e, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x08, 0xa9, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0xa9, 0x08, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0x08, 0x1f, 0x59, 0xd9, 0xa1, 0xa1, 0xd9, 0xdf, 0xdf, 0xdf, 0xdf, 0xd9, 0xd9, 0xd9, 0xa1, 0x29, 0x02, 0xb7, 0x23, 0x23, 0x23, 0x23, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0x08, 0x23, 0xb2, 0xa1, 0xb2, 0xa9, 0xa5, 0x08, 0xa5, 0xa5, 0xa5, 0x54, 0x51, 0xe6, 0xbf, 0x69, 0xff, 0x91, 0x89, 0x91, 0x0c, 0x0c, 0x0c, 0x2d, 0x2d, 0x6d, 0x1c, 0x74, 0x88, 0x58, 0x58, 0x58, 0x58, 0x88, 0x0a, 0x0a, 0xa1, 0xdd, 0x02, 0xb2, 0xb2, 0xdd, 0xd9, 0x88, 0xd9, 0xd9, 0x0a, 0xd9, 0xd9, 0xd9, 0xd9, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x29, 0x70, 0x1f, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x48, 0x70, 0x36, 0x69, 0x2d, 0x89, 0x89, 0xc8, 0xe2, 0x0c, 0x69, 0xcb, 0x48, 0x48, 0x70, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x70, 0x70, 0x36, 0xcd, 0x1e, 0x38, 0x3b, 0x1e, 0xab, 0x1e, 0x38, 0x64, 0x38, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0xcd, 0xa9, 0xa9, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x08, 0x08, 0x1f, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0x08, 0x1f, 0x59, 0x58, 0xd9, 0xd9, 0xdf, 0x58, 0xdf, 0xd9, 0xd9, 0xd9, 0xd9, 0xa1, 0xa1, 0xa4, 0x02, 0x23, 0x23, 0x23, 0x23, 0x23, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0x08, 0x23, 0xb2, 0xdd, 0xa1, 0xa9, 0x08, 0xa5, 0x08, 0xa5, 0x44, 0xed, 0x8c, 0x38, 0x08, 0xca, 0x1c, 0x91, 0x89, 0x91, 0x0c, 0x0c, 0x0c, 0x2d, 0x0c, 0xd3, 0x63, 0x23, 0x29, 0xa1, 0xd9, 0xd9, 0x88, 0x88, 0x88, 0x58, 0x58, 0x58, 0x58, 0xd9, 0x29, 0xb2, 0x59, 0x02, 0xa1, 0xd9, 0xd9, 0xd9, 0x0a, 0x0a, 0x88, 0xd9, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x4f, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x48, 0x48, 0xcb, 0xca, 0x89, 0x91, 0x2d, 0x0d, 0x4e, 0xcb, 0xcb, 0x36, 0x48, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x36, 0x1f, 0xcd, 0x38, 0xcd, 0x77, 0x79, 0x1e, 0xbb, 0x1e, 0xbb, 0xab, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x3b, 0x3b, 0x08, 0xa9, 0xa9, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0xa9, 0xa9, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x00, 0x08, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0x08, 0x88, 0xdd, 0x54, 0x08, 0x08, 0x59, 0x46, 0xd9, 0xd9, 0xa1, 0xa1, 0xa1, 0xa4, 0xb7, 0x23, 0xb7, 0x23, 0x23, 0x23, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0x08, 0x23, 0xb2, 0x02, 0xd9, 0xb2, 0x1f, 0x08, 0x54, 0x51, 0xed, 0xbf, 0x08, 0xa5, 0xa9, 0x63, 0x89, 0x91, 0x63, 0xca, 0xcd, 0x0c, 0x0c, 0x2d, 0x0c, 0x91, 0x91, 0xb7, 0xa4, 0xa4, 0xa1, 0xa1, 0x0a, 0x0a, 0x0a, 0xd9, 0xd9, 0xdf, 0xdf, 0xdf, 0x58, 0x58, 0xd9, 0xdd, 0x59, 0x68, 0x29, 0xa1, 0xa1, 0xa1, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0xa1, 0xa1, 0xa1, 0xa1, 0xdd, 0xcf, 0x70, 0x36, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x48, 0xec, 0x91, 0x63, 0xca, 0x69, 0xcd, 0xcd, 0xcb, 0xcb, 0x36, 0x48, 0x48, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x4f, 0xcd, 0x4f, 0x4f, 0x4e, 0x0e, 0xc8, 0x54, 0x1e, 0x1e, 0x1e, 0x64, 0x38, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x3b, 0x3b, 0x08, 0xa9, 0xa9, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0xa9, 0xa9, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0xcd, 0xa9, 0x08, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0x1f, 0x02, 0xa5, 0x00, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0xa9, 0xdd, 0xd9, 0xa1, 0x02, 0xb7, 0x23, 0x23, 0x23, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0x08, 0x23, 0xb2, 0xb2, 0xa1, 0x0a, 0x54, 0xd3, 0xe6, 0x90, 0x4e, 0x08, 0x08, 0x08, 0xcb, 0xff, 0x91, 0x91, 0x63, 0x0c, 0x69, 0x0c, 0x0c, 0x2d, 0x0c, 0x63, 0x2d, 0xb7, 0xa4, 0x29, 0x29, 0xa1, 0xa1, 0xa1, 0xa1, 0xa1, 0xa1, 0xd9, 0xd9, 0xd9, 0x88, 0xd9, 0xdf, 0x58, 0xd9, 0xb2, 0x59, 0x29, 0xa4, 0xa4, 0x29, 0xa1, 0xa1, 0xa1, 0xa1, 0xa1, 0xdd, 0xdd, 0xdd, 0x46, 0x68, 0x3b, 0x70, 0x36, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x69, 0x07, 0x91, 0x07, 0x15, 0x48, 0x48, 0x36, 0x48, 0x36, 0x48, 0x48, 0x48, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x70, 0x70, 0x70, 0xcd, 0xcd, 0xcd, 0x33, 0xdc, 0x12, 0x12, 0x4e, 0x4e, 0x4e, 0xab, 0xbb, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x3b, 0x54, 0x08, 0xa9, 0xa9, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0xa9, 0x1f, 0xa9, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1e, 0x13, 0x12, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0x1f, 0x08, 0x08, 0x00, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0x1f, 0x1f, 0x02, 0xa1, 0xb2, 0x23, 0x23, 0x23, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0x08, 0x08, 0x23, 0xb2, 0xb2, 0xa4, 0x80, 0x93, 0xe6, 0x78, 0x08, 0x08, 0x08, 0x08, 0x08, 0x4a, 0x1c, 0x91, 0x63, 0x91, 0x69, 0x69, 0x0c, 0x0c, 0x0c, 0x2d, 0x63, 0xcf, 0xa5, 0xa5, 0x23, 0x02, 0xa4, 0x29, 0x29, 0xa1, 0x29, 0xa1, 0xa1, 0xa1, 0xa1, 0xd9, 0x88, 0xdf, 0xd9, 0xdf, 0x58, 0x02, 0xcd, 0x68, 0x59, 0x54, 0x54, 0x54, 0x54, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x54, 0xcd, 0x70, 0x1f, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0xcb, 0x4a, 0xfa, 0x91, 0xec, 0x48, 0x70, 0x70, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x36, 0x36, 0x4f, 0x1e, 0x79, 0x77, 0x77, 0x4e, 0xe9, 0x54, 0x54, 0x1e, 0xab, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x08, 0xa9, 0xa9, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0xa9, 0xa9, 0xa9, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1e, 0x33, 0x67, 0x79, 0x4f, 0x08, 0xa9, 0xa9, 0xa9, 0xa9, 0x1f, 0xa9, 0xa9, 0xa9, 0xa9, 0x1f, 0xa9, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0xa9, 0xa9, 0xa9, 0x1f, 0xdd, 0xdd, 0x23, 0x23, 0x23, 0xa5, 0xa5, 0xa5, 0x08, 0xa5, 0x08, 0xa5, 0xa5, 0xa5, 0xa5, 0x08, 0x08, 0x23, 0xb2, 0xb2, 0x5b, 0xea, 0xce, 0x5e, 0xa9, 0xa9, 0x08, 0x08, 0x08, 0xa9, 0x63, 0x63, 0x91, 0x63, 0xca, 0x69, 0x69, 0x0c, 0x0c, 0x0c, 0xca, 0x63, 0xa9, 0xa5, 0x08, 0xa5, 0xa5, 0xa5, 0xb2, 0xa4, 0xa4, 0xdd, 0xdd, 0xa1, 0xdd, 0xdd, 0xa1, 0xd9, 0xdf, 0xdf, 0xd9, 0xd9, 0xdf, 0x68, 0xcd, 0x12, 0xb2, 0xb2, 0x59, 0x59, 0x59, 0x54, 0x54, 0xcd, 0xcd, 0xcd, 0xcd, 0xcf, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0xcb, 0x4a, 0x07, 0x07, 0xec, 0xcb, 0x48, 0x70, 0x70, 0x70, 0x70, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x70, 0x4f, 0x4f, 0xcd, 0x1e, 0x54, 0x4e, 0x77, 0x4e, 0x4e, 0x4e, 0x54, 0x38, 0x38, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x59, 0x54, 0x54, 0x08, 0xa9, 0xa9, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0xa9, 0xa9, 0xa9, 0x1f, 0x1f, 0x1f, 0x1f, 0x12, 0x79, 0x13, 0x13, 0x31, 0x12, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0x1f, 0x1f, 0xa9, 0xa9, 0xa9, 0x1f, 0xa9, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0xa9, 0xa9, 0x1f, 0xa9, 0xa1, 0xb2, 0xa5, 0xa5, 0xa5, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x23, 0x19, 0x66, 0xa6, 0x5b, 0xa1, 0x0a, 0x29, 0x08, 0x1f, 0xa9, 0x08, 0x36, 0xff, 0x91, 0x91, 0x63, 0x0c, 0x69, 0xec, 0x0c, 0x2d, 0xec, 0x91, 0xfa, 0x08, 0xa5, 0xa5, 0xa5, 0x08, 0x08, 0x08, 0xa5, 0xb2, 0x02, 0x02, 0x02, 0xdd, 0xdd, 0x46, 0x46, 0xa1, 0xd9, 0xdf, 0xd9, 0xd9, 0xd9, 0x54, 0xcf, 0xcd, 0x54, 0x54, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x54, 0xcd, 0x70, 0x70, 0x70, 0x70, 0x70, 0x48, 0x15, 0xca, 0x07, 0x4a, 0xcb, 0x70, 0x00, 0x00, 0x70, 0x70, 0x70, 0x70, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x00, 0x00, 0x70, 0x36, 0x3b, 0xcf, 0x4e, 0x3b, 0x54, 0x1e, 0x38, 0x4e, 0x4e, 0x54, 0x1e, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x59, 0x59, 0x3b, 0xa5, 0x08, 0xa9, 0x1f, 0x1f, 0xa9, 0x1f, 0x1f, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0x1f, 0x1f, 0x12, 0x34, 0x0d, 0x79, 0x13, 0x13, 0x79, 0xa9, 0x08, 0xa9, 0xa9, 0xa9, 0x1f, 0x1f, 0x1f, 0xa9, 0xa9, 0x1f, 0xa9, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0xa9, 0x1f, 0x54, 0xa4, 0xa5, 0xa5, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0xa5, 0x08, 0xcd, 0xf1, 0xa6, 0x53, 0x74, 0x02, 0x29, 0xa1, 0x0a, 0xa1, 0x23, 0x1f, 0x1f, 0x4a, 0xff, 0x91, 0x63, 0x91, 0x69, 0x69, 0xec, 0x0c, 0x2d, 0xec, 0x63, 0xca, 0x08, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0x3b, 0x3b, 0x3b, 0x54, 0xb2, 0x02, 0x68, 0x46, 0xdd, 0x68, 0x59, 0xdd, 0xd9, 0xdf, 0xd9, 0xd9, 0xa1, 0xcf, 0xcf, 0xcf, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0x54, 0x54, 0x54, 0x4f, 0x70, 0x70, 0x70, 0x48, 0x15, 0xca, 0x07, 0x4a, 0x15, 0x70, 0x70, 0x70, 0x00, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x48, 0x48, 0x48, 0x48, 0x70, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x1f, 0x4f, 0x4e, 0x3b, 0xcd, 0x38, 0x38, 0x54, 0x4e, 0x54, 0x54, 0x54, 0x4e, 0x54, 0x54, 0x54, 0x54, 0x54, 0x59, 0x59, 0x59, 0xa9, 0x08, 0xa9, 0xa9, 0x1f, 0x1f, 0x1f, 0x1f, 0xa9, 0xa9, 0xa9, 0xa9, 0x1f, 0xa9, 0x68, 0x68, 0x68, 0x34, 0x0d, 0x79, 0x13, 0x79, 0x12, 0x08, 0x08, 0xa9, 0xa9, 0xa9, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0xa9, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0xa9, 0x1f, 0xb2, 0xb7, 0xa5, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x44, 0xe6, 0x66, 0x64, 0x59, 0x23, 0x02, 0xa4, 0xa1, 0x0a, 0x0a, 0x29, 0xa4, 0xa9, 0xfa, 0xff, 0x63, 0x63, 0x07, 0x69, 0x69, 0xec, 0xec, 0x0c, 0x0c, 0x63, 0x69, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x59, 0x68, 0x68, 0x68, 0xdd, 0x68, 0x54, 0x46, 0xd9, 0xd9, 0xa1, 0xd9, 0x68, 0xcb, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0x54, 0xcd, 0xcd, 0xcd, 0x54, 0x4f, 0x70, 0x36, 0xec, 0xca, 0x07, 0x4a, 0x15, 0x48, 0x70, 0x70, 0x70, 0x70, 0x00, 0x70, 0x70, 0x70, 0x70, 0x70, 0x48, 0x48, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x70, 0x1f, 0x70, 0x00, 0x00, 0x00, 0x70, 0x70, 0x70, 0x4f, 0x54, 0x3b, 0xcd, 0x38, 0x38, 0x4e, 0x4e, 0x54, 0x54, 0x4e, 0x4e, 0x59, 0x54, 0x54, 0x54, 0x59, 0x59, 0x59, 0x12, 0x59, 0xa9, 0x1f, 0x1f, 0x1f, 0x1f, 0xa9, 0xa9, 0x1f, 0x1f, 0x1f, 0xa9, 0x54, 0x68, 0x68, 0x68, 0x68, 0x34, 0x34, 0x76, 0x79, 0x79, 0x79, 0x08, 0x08, 0xa9, 0xa9, 0xa9, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0xa9, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0xa9, 0x1f, 0x3b, 0x02, 0xa5, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x3b, 0x08, 0x54, 0x51, 0x94, 0x72, 0x59, 0x23, 0xb2, 0x23, 0xb2, 0x02, 0xa4, 0xa1, 0xa1, 0xa1, 0x29, 0x02, 0xec, 0xff, 0x1c, 0x63, 0xec, 0x69, 0x69, 0xec, 0xec, 0xec, 0xca, 0x63, 0xa9, 0xa5, 0x08, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0xcd, 0xcd, 0x54, 0x68, 0x68, 0x68, 0x46, 0x68, 0x54, 0x74, 0xd9, 0xa1, 0xa1, 0xa1, 0xcf, 0xcf, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0x36, 0x15, 0xca, 0x4a, 0xec, 0xcb, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x00, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x48, 0x70, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x70, 0x1f, 0x00, 0x00, 0x00, 0x70, 0xa9, 0x70, 0x70, 0x1f, 0x1f, 0xcd, 0x38, 0x1e, 0x38, 0x4e, 0x54, 0x54, 0x38, 0x1e, 0x54, 0x54, 0x54, 0x59, 0x59, 0x59, 0x12, 0x12, 0x12, 0x59, 0x3b, 0xa9, 0x1f, 0x1f, 0x1f, 0x1f, 0xa9, 0x3b, 0x59, 0x68, 0x68, 0xb2, 0x68, 0x68, 0x68, 0x34, 0x34, 0x0d, 0x0d, 0x0d, 0x31, 0x12, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0x1f, 0x1f, 0x1f, 0x1f, 0x08, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0xa9, 0xa9, 0x1f, 0x02, 0x23, 0x08, 0x08, 0x08, 0x08, 0x3b, 0x3b, 0x3b, 0x78, 0xe6, 0xed, 0xe9, 0x08, 0xa5, 0x59, 0xb2, 0x23, 0x23, 0xb2, 0x02, 0xa1, 0xa1, 0x29, 0x29, 0x29, 0xa5, 0xec, 0x63, 0x91, 0x69, 0x69, 0xec, 0xec, 0xec, 0xec, 0x07, 0xfa, 0x1f, 0x08, 0x08, 0x3b, 0x3b, 0x4f, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0xcd, 0xcd, 0xcd, 0x54, 0x68, 0x68, 0xb2, 0x68, 0x68, 0xcd, 0x68, 0xa1, 0xa1, 0xd9, 0x54, 0xcf, 0xcf, 0xcf, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0x36, 0xec, 0x15, 0x48, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x48, 0x48, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x70, 0x70, 0x1f, 0x1f, 0xcd, 0x38, 0x1e, 0x1e, 0x38, 0x54, 0x54, 0x12, 0xbb, 0x12, 0x54, 0x59, 0x59, 0x59, 0x59, 0x59, 0x12, 0x12, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x12, 0x74, 0x0d, 0x0d, 0x68, 0x68, 0x68, 0x68, 0x68, 0x34, 0x34, 0x34, 0x34, 0x34, 0x0d, 0x31, 0x79, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0x1f, 0x1f, 0x1f, 0x1f, 0xa9, 0xa9, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0xa9, 0xa9, 0x4f, 0x36, 0x59, 0xb2, 0x08, 0x08, 0x08, 0x08, 0x08, 0xe9, 0xe1, 0x94, 0xae, 0x3b, 0x08, 0x3b, 0xa5, 0x23, 0xb2, 0x23, 0xa5, 0x59, 0xb2, 0xa4, 0x29, 0x29, 0x29, 0x29, 0x02, 0x70, 0x69, 0xca, 0x69, 0x69, 0xec, 0xec, 0xec, 0xec, 0x91, 0x4a, 0xa9, 0x4f, 0xa9, 0x08, 0x3b, 0x3b, 0x4f, 0x4f, 0x4f, 0x4f, 0xcf, 0x3b, 0xcd, 0xcd, 0xcd, 0x54, 0xb2, 0xb2, 0x68, 0x68, 0x54, 0xcd, 0xdd, 0xa1, 0xd9, 0x46, 0xcb, 0xcf, 0xcf, 0xcf, 0xcd, 0xcf, 0xcf, 0xcf, 0xcd, 0xcf, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x48, 0x48, 0x36, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x48, 0x48, 0x70, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x70, 0x70, 0x1f, 0x1f, 0x3b, 0x38, 0x38, 0x38, 0x4e, 0x54, 0x54, 0x12, 0x77, 0x12, 0x59, 0x59, 0x59, 0x59, 0x59, 0x12, 0x68, 0x59, 0x59, 0x59, 0x59, 0xb2, 0xb2, 0x68, 0x34, 0x68, 0xc8, 0x2b, 0xc8, 0x0d, 0x68, 0x68, 0x68, 0x34, 0x34, 0x34, 0x34, 0x34, 0x40, 0x13, 0x13, 0x3b, 0xa9, 0xa9, 0xa9, 0xa9, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x08, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0xa9, 0x4f, 0x4f, 0x1e, 0x0d, 0xb2, 0x3b, 0x3b, 0x08, 0x08, 0xae, 0xe6, 0x90, 0xe9, 0x08, 0x3b, 0x08, 0x3b, 0xa5, 0xa5, 0x59, 0x23, 0xa5, 0x23, 0xb7, 0xb2, 0xa4, 0x29, 0x29, 0x29, 0x29, 0xa9, 0xcb, 0xcf, 0x69, 0x69, 0xec, 0xec, 0xec, 0xec, 0x63, 0xec, 0xa9, 0x4f, 0xa9, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0xcf, 0xcf, 0xcf, 0xcd, 0xcd, 0xcd, 0x59, 0xb2, 0x59, 0xb2, 0x68, 0x68, 0x54, 0x54, 0x46, 0xa1, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcd, 0x1f, 0x00, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x36, 0x36, 0x36, 0x36, 0x48, 0x70, 0x70, 0x00, 0x70, 0x00, 0x70, 0x70, 0x70, 0x70, 0x48, 0x70, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x1f, 0x70, 0x70, 0x70, 0x1f, 0xa9, 0x3b, 0x54, 0x54, 0x54, 0x54, 0x12, 0x12, 0x38, 0x59, 0x59, 0x12, 0x12, 0x12, 0x68, 0x12, 0x68, 0x59, 0x59, 0x68, 0x34, 0x68, 0x68, 0x0d, 0x0d, 0x68, 0x74, 0xc8, 0xc8, 0xc8, 0x0d, 0x34, 0x68, 0x34, 0x34, 0x34, 0x34, 0x34, 0x40, 0x31, 0xe8, 0x12, 0xa9, 0xa9, 0xa9, 0xa9, 0x1f, 0x1f, 0x1f, 0x1f, 0x70, 0x08, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0xa9, 0xa9, 0x4f, 0x4f, 0x4f, 0x1e, 0x16, 0x45, 0xb2, 0x54, 0x08, 0x6d, 0xed, 0xe6, 0x78, 0x3b, 0x3b, 0x3b, 0x08, 0xa9, 0x3b, 0xa5, 0xa5, 0x59, 0x23, 0x08, 0xa5, 0x23, 0xb7, 0x02, 0x29, 0x29, 0xb7, 0xa5, 0x1f, 0xcb, 0x69, 0x15, 0x15, 0xec, 0xec, 0xec, 0xec, 0xfa, 0x36, 0xa9, 0xa9, 0xa9, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0xcf, 0xcf, 0xcf, 0xcf, 0x4f, 0xcd, 0xcd, 0x54, 0x59, 0x02, 0x54, 0x36, 0x48, 0x48, 0x48, 0x54, 0xcd, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x48, 0x36, 0x36, 0x4f, 0x4e, 0x4f, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x70, 0x3b, 0xa9, 0xa9, 0x3b, 0x54, 0x54, 0x54, 0x54, 0x59, 0x59, 0x12, 0x59, 0x59, 0x68, 0x68, 0x68, 0x68, 0x68, 0xb2, 0xb2, 0x0d, 0x76, 0x34, 0x68, 0xc8, 0x0d, 0x68, 0x68, 0x68, 0x0d, 0x0d, 0xc8, 0x34, 0x34, 0x02, 0x34, 0x34, 0x34, 0x34, 0x40, 0x31, 0x13, 0xc8, 0xa9, 0xa9, 0x1f, 0xa9, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0xa9, 0xa9, 0x1f, 0x1f, 0x1f, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0x4f, 0x77, 0x06, 0xb5, 0xe8, 0x23, 0x4e, 0x97, 0xe6, 0x51, 0x0c, 0x08, 0xcd, 0x3b, 0x3b, 0x3b, 0xa9, 0x3b, 0xa5, 0xa5, 0x23, 0x23, 0xa5, 0xa5, 0xb2, 0x02, 0xb7, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x15, 0x69, 0x15, 0xec, 0xec, 0xfa, 0xfa, 0x1f, 0x4f, 0xa9, 0xa9, 0xa9, 0xa9, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0xcf, 0xcf, 0xcf, 0xcf, 0x4f, 0xcf, 0xcd, 0x59, 0x36, 0x48, 0x36, 0xcb, 0xcb, 0x48, 0x36, 0x4f, 0xcb, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0x36, 0x00, 0x70, 0x70, 0x70, 0x70, 0x36, 0x36, 0x36, 0x4f, 0x40, 0x40, 0x36, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x00, 0x70, 0x70, 0xa9, 0xa9, 0x08, 0x3b, 0x54, 0x54, 0x12, 0x59, 0x12, 0x38, 0x12, 0x77, 0x12, 0x68, 0x74, 0x68, 0x68, 0x68, 0xb2, 0xb2, 0x0d, 0x13, 0x76, 0x34, 0x76, 0xc8, 0x68, 0xb2, 0x68, 0x68, 0x34, 0x0d, 0x34, 0x34, 0x02, 0x34, 0x34, 0x34, 0x34, 0x40, 0x79, 0x79, 0x79, 0x3b, 0xa9, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x70, 0xa9, 0xa9, 0x1f, 0xa9, 0xa9, 0xa9, 0xa9, 0x1f, 0x1f, 0xcd, 0xc8, 0x31, 0x87, 0xf6, 0x79, 0xbf, 0xbe, 0xed, 0xd3, 0xa9, 0x3b, 0xcd, 0xcd, 0x3b, 0x3b, 0x08, 0xa9, 0x3b, 0xa5, 0xa5, 0xa5, 0x23, 0x08, 0x23, 0x02, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x70, 0xcb, 0x15, 0x1f, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0xcf, 0xcf, 0xcf, 0xcf, 0x59, 0x1f, 0x48, 0x36, 0x36, 0x48, 0x48, 0x48, 0x36, 0x4f, 0xcf, 0xcf, 0xcf, 0x4f, 0x4f, 0x4f, 0xcf, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x36, 0x4f, 0x4f, 0x34, 0x9d, 0x12, 0x36, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x70, 0x70, 0x00, 0x70, 0x70, 0x70, 0x00, 0x00, + 0x00, 0x00, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x00, 0x70, 0x70, 0x1f, 0x1f, 0x4f, 0x3b, 0x59, 0x38, 0x38, 0x12, 0x12, 0x77, 0x12, 0x77, 0x74, 0x12, 0x74, 0x68, 0x68, 0x68, 0x68, 0xb2, 0x68, 0x0d, 0x34, 0x34, 0x76, 0x76, 0x68, 0xb2, 0xb2, 0x68, 0x0d, 0x0d, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x0d, 0x40, 0x79, 0xaf, 0xb4, 0x08, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0xa9, 0x1f, 0xa9, 0xa9, 0x1f, 0x70, 0x4f, 0x1e, 0x31, 0x79, 0x76, 0x79, 0x5b, 0xe3, 0x5a, 0xbf, 0x4f, 0xa9, 0x3b, 0x3b, 0xcd, 0xcd, 0xcd, 0x3b, 0x3b, 0x4f, 0x3b, 0xa5, 0x08, 0xa5, 0xa5, 0xb2, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x1f, 0xa9, 0x1f, 0x70, 0x4f, 0x1f, 0x4f, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x36, 0xcb, 0x4f, 0x59, 0x1f, 0x48, 0x36, 0x36, 0x48, 0x48, 0x48, 0x48, 0x3b, 0x36, 0xcf, 0xcf, 0x4f, 0x36, 0x36, 0xcb, 0x48, 0x00, 0x70, 0x70, 0x70, 0x70, 0x36, 0xcf, 0x4f, 0x12, 0x9d, 0xe2, 0x4f, 0x36, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x48, 0x48, 0x70, 0x70, 0x70, 0x70, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x1f, 0x1f, 0xa9, 0x54, 0x38, 0x38, 0x38, 0x38, 0x12, 0x77, 0x12, 0x74, 0x74, 0x59, 0x68, 0x12, 0x68, 0x68, 0x68, 0x68, 0xb2, 0x59, 0xb2, 0xb2, 0x68, 0x34, 0x34, 0x68, 0x68, 0x68, 0xc8, 0xc8, 0x0d, 0x34, 0x34, 0x02, 0x02, 0x34, 0x79, 0xf2, 0x37, 0xfc, 0x65, 0x37, 0x54, 0xa9, 0x1f, 0xa9, 0x1f, 0x1f, 0xa9, 0x1f, 0x1f, 0xa9, 0xa9, 0x1f, 0x1f, 0x4f, 0x1e, 0x79, 0x13, 0x79, 0x76, 0xd1, 0xfb, 0x65, 0x0f, 0x1e, 0x08, 0x3b, 0xa9, 0x4f, 0x3b, 0xcd, 0xcd, 0xcd, 0x4f, 0x4f, 0x4f, 0x3b, 0x3b, 0xa5, 0xa5, 0x59, 0xa5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x1f, 0x4f, 0x1f, 0x1f, 0x36, 0x1f, 0x1f, 0x36, 0x36, 0x36, 0x36, 0x36, 0x4f, 0x4f, 0x36, 0x36, 0x4f, 0x36, 0x36, 0x54, 0xa9, 0x48, 0x36, 0x48, 0x48, 0x48, 0x48, 0x48, 0xcf, 0x1f, 0x36, 0x4f, 0x36, 0x36, 0x36, 0xcb, 0x36, 0x00, 0x70, 0x70, 0x70, 0x70, 0x70, 0x36, 0xcf, 0x4e, 0x3e, 0x9d, 0x12, 0x36, 0x36, 0x70, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x70, 0x70, 0x70, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x1f, 0x1f, 0xa9, 0x54, 0x74, 0x74, 0x38, 0x38, 0x12, 0x74, 0x12, 0x74, 0x74, 0x59, 0x59, 0xb2, 0x68, 0x68, 0x68, 0x68, 0x68, 0x68, 0x68, 0x68, 0xb2, 0xb2, 0x68, 0x68, 0x68, 0x68, 0x0d, 0x79, 0xc8, 0x34, 0x34, 0x2b, 0x2c, 0xe3, 0x2e, 0xfc, 0xfb, 0x5b, 0x79, 0x31, 0xc8, 0xa9, 0x1f, 0x1f, 0xa9, 0xa9, 0x1f, 0x1f, 0xa9, 0x1f, 0x1f, 0x4f, 0x1e, 0x13, 0x45, 0x31, 0x79, 0x67, 0x71, 0x65, 0xe3, 0xd1, 0x0d, 0x74, 0x4f, 0x08, 0xa9, 0x4f, 0x3b, 0xcd, 0xcd, 0xcf, 0x4f, 0x4f, 0x4f, 0x4f, 0x3b, 0x3b, 0x23, 0xa9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x1f, 0x1f, 0x70, 0x1f, 0xa9, 0x70, 0x36, 0x1f, 0x1f, 0x1f, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x4f, 0x4f, 0x36, 0x36, 0x3b, 0x08, 0x70, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x36, 0x1f, 0x36, 0x4f, 0x36, 0x36, 0x36, 0x36, 0x36, 0x00, 0x70, 0x70, 0x70, 0x70, 0x1f, 0x36, 0x4f, 0x3b, 0x40, 0x9d, 0xe2, 0xcd, 0x36, 0x48, 0x00, 0x00, 0x00, 0x70, 0x00, 0x70, 0x00, 0x70, 0x70, 0x70, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x15, 0x15, 0x15, 0xfd, + 0x00, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x70, 0x70, 0x70, 0x1f, 0x36, 0xa9, 0x54, 0x12, 0x74, 0x74, 0x74, 0x12, 0x12, 0x12, 0x68, 0x74, 0x59, 0x59, 0x68, 0x68, 0x68, 0x68, 0x68, 0x68, 0x68, 0x68, 0x68, 0x68, 0x68, 0xb2, 0x68, 0x68, 0x34, 0x34, 0x0d, 0x79, 0x2c, 0xe3, 0xfc, 0xe3, 0x53, 0xd1, 0x76, 0x40, 0x40, 0x76, 0x79, 0x45, 0x77, 0xa9, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0xa9, 0x4e, 0xc8, 0x13, 0xe8, 0x13, 0x31, 0x13, 0xaf, 0xfc, 0xfc, 0xf2, 0xc8, 0x0d, 0x0d, 0x0d, 0x3b, 0xa9, 0xa9, 0xa9, 0x4f, 0xcd, 0xcd, 0xcf, 0x4f, 0x4f, 0xa9, 0xa9, 0x3b, 0x54, 0xa9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x15, 0x48, 0x70, 0x70, 0x00, 0x1f, 0x1f, 0x70, 0xa9, 0x1f, 0x1f, 0x1f, 0x36, 0x36, 0x1f, 0x1f, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x3b, 0x3b, 0x70, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x36, 0xa9, 0x1f, 0x4f, 0x36, 0x36, 0x36, 0x36, 0x36, 0x70, 0x00, 0x70, 0x70, 0x70, 0x70, 0x36, 0x36, 0x4f, 0x12, 0x3e, 0x3e, 0x12, 0x36, 0x36, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x48, 0x48, 0x48, 0x48, 0x48, 0x15, 0x15, 0x15, 0x15, 0xfd, 0x4a, 0x4a, 0x07, 0x07, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x1f, 0x1f, 0x1f, 0x36, 0x4f, 0x3b, 0x54, 0x12, 0x74, 0x74, 0x12, 0x68, 0x12, 0x0d, 0x34, 0x59, 0x59, 0x68, 0x68, 0x0d, 0x74, 0x34, 0x74, 0x68, 0x68, 0x68, 0x68, 0x68, 0xb2, 0x68, 0x68, 0x34, 0xc8, 0x53, 0xfc, 0xfc, 0x71, 0xd1, 0x0d, 0x34, 0x34, 0x76, 0x76, 0x76, 0x76, 0x31, 0x31, 0x45, 0x31, 0x77, 0x12, 0x54, 0x4e, 0x77, 0x67, 0xe8, 0xe8, 0x13, 0x31, 0x31, 0xaf, 0x10, 0x65, 0x71, 0x79, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x4e, 0xa9, 0xa9, 0xa9, 0x4f, 0xcf, 0xcf, 0xcf, 0x4f, 0x4f, 0xa9, 0xa9, 0xa5, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0xcb, 0x48, 0x70, 0x70, 0x70, 0x00, 0x70, 0x1f, 0x1f, 0xa9, 0x70, 0x1f, 0x1f, 0x1f, 0x36, 0x36, 0x1f, 0x36, 0x36, 0x36, 0x36, 0x36, 0x4f, 0x3b, 0x70, 0x70, 0x48, 0x48, 0x48, 0x48, 0x48, 0x36, 0x1f, 0x48, 0x36, 0x36, 0x36, 0x36, 0x36, 0x48, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x36, 0x36, 0x3b, 0x40, 0x3e, 0x34, 0x4f, 0x36, 0x48, 0x70, 0x00, 0x00, 0x00, 0x00, 0x70, 0x48, 0x48, 0x48, 0x48, 0x15, 0x15, 0x15, 0xfd, 0x4a, 0x07, 0x07, 0x07, 0x07, 0x4a, 0x4a, 0xfd, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x1f, 0x1f, 0x1f, 0x36, 0x4f, 0x3b, 0x54, 0x12, 0x74, 0x74, 0x12, 0x68, 0x0d, 0x13, 0x68, 0xb2, 0xb2, 0xb2, 0x68, 0x0d, 0x74, 0x68, 0x34, 0x34, 0x68, 0x68, 0x68, 0x68, 0x68, 0x68, 0x2b, 0x71, 0xfc, 0x6f, 0xb4, 0x79, 0x0d, 0x0d, 0x0d, 0x34, 0x34, 0x76, 0x79, 0x76, 0x76, 0x31, 0x31, 0x31, 0x13, 0xe8, 0xe8, 0x13, 0x45, 0xe8, 0x13, 0x13, 0x13, 0x31, 0x33, 0x37, 0x65, 0x37, 0xd1, 0x76, 0x76, 0xc8, 0x0d, 0x0d, 0x0d, 0x77, 0x74, 0x4f, 0xa9, 0xa9, 0x4f, 0xcf, 0xcf, 0xcf, 0x4f, 0xa9, 0xa9, 0x08, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x15, 0x15, 0x70, 0x70, 0x70, 0x70, 0x70, 0x00, 0x70, 0x1f, 0xa9, 0x70, 0x1f, 0x1f, 0x1f, 0x1f, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x3b, 0x70, 0x70, 0x70, 0x00, 0x70, 0x48, 0x48, 0x48, 0x36, 0x70, 0x48, 0x48, 0x48, 0x36, 0x48, 0x70, 0x00, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x36, 0x36, 0x12, 0x3e, 0xe2, 0xcd, 0x36, 0x48, 0x70, 0x70, 0x70, 0x70, 0x48, 0x48, 0x48, 0x48, 0x48, 0x15, 0x15, 0xfd, 0x4a, 0x07, 0x07, 0x07, 0x4a, 0x4a, 0xfd, 0x15, 0x15, 0x48, 0x48, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x36, 0x36, 0x1f, 0x36, 0x4f, 0x3b, 0x54, 0x59, 0x74, 0x74, 0x12, 0x74, 0x0d, 0xc8, 0x68, 0x59, 0x59, 0xb2, 0x68, 0x68, 0x68, 0x68, 0x68, 0x34, 0x68, 0x68, 0x68, 0xb2, 0xc8, 0x53, 0xfc, 0x10, 0x5b, 0x34, 0x68, 0x34, 0xc8, 0xc8, 0x0d, 0x34, 0x34, 0x76, 0x79, 0x76, 0x31, 0x31, 0x31, 0x31, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x31, 0x13, 0x0f, 0x65, 0x10, 0x5b, 0x79, 0x76, 0x76, 0xc8, 0x0d, 0xc8, 0x0d, 0x77, 0x74, 0x74, 0x4e, 0x1f, 0x3b, 0x4f, 0xcf, 0xcf, 0x4f, 0x4f, 0x3b, 0xa9, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0xcb, 0x15, 0x00, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x00, 0x1f, 0xa9, 0x70, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x48, 0x36, 0x4f, 0x70, 0x70, 0x1f, 0x70, 0x70, 0x70, 0x70, 0x48, 0x48, 0x70, 0x48, 0x36, 0x36, 0x48, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x36, 0x36, 0xcf, 0x40, 0xe2, 0xcd, 0x36, 0x36, 0x48, 0x70, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x15, 0xfd, 0x4a, 0x07, 0x07, 0x4a, 0x4a, 0xfd, 0x15, 0x15, 0x15, 0x48, 0x48, 0x48, 0x48, 0x48, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x1f, 0x70, 0x36, 0x36, 0xcd, 0x54, 0x54, 0x59, 0x59, 0x59, 0x74, 0x12, 0x74, 0x12, 0x59, 0x68, 0x68, 0x68, 0x68, 0x68, 0x68, 0x68, 0x34, 0x68, 0xb2, 0xc8, 0x53, 0x10, 0x71, 0x64, 0x76, 0x76, 0x34, 0x68, 0x34, 0x0d, 0x0d, 0x0d, 0x34, 0x34, 0x0d, 0x76, 0x76, 0x13, 0x13, 0x31, 0x31, 0x13, 0x13, 0x13, 0x13, 0x13, 0x31, 0x13, 0xaf, 0xfc, 0xea, 0xb1, 0x79, 0x79, 0x79, 0x76, 0xc8, 0xc8, 0xc8, 0xc8, 0x0d, 0x77, 0x74, 0x74, 0x74, 0xcf, 0x1f, 0x3b, 0xcd, 0xcd, 0x3b, 0x3b, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x15, 0x48, 0x00, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x00, 0x1f, 0x1f, 0x70, 0x36, 0x36, 0x36, 0x36, 0x48, 0x36, 0x4f, 0xa9, 0x70, 0x70, 0x1f, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x48, 0x70, 0x70, 0x00, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x36, 0x36, 0xcd, 0x34, 0xcd, 0x36, 0x36, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x15, 0xfd, 0x4a, 0x4a, 0x07, 0x4a, 0xfd, 0x15, 0x15, 0x15, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x70, 0x70, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x70, 0x70, 0x70, 0x36, 0x4f, 0xcd, 0xcd, 0x54, 0x54, 0x59, 0x59, 0x12, 0x12, 0x74, 0x59, 0x68, 0x68, 0x68, 0x68, 0x68, 0x0d, 0x68, 0x68, 0xb2, 0x77, 0x53, 0x10, 0x24, 0x2b, 0x68, 0x68, 0x34, 0x0d, 0x34, 0x34, 0x68, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x40, 0x40, 0x31, 0x13, 0x31, 0x31, 0x31, 0x13, 0x13, 0x13, 0x13, 0x5b, 0xe3, 0x65, 0x0f, 0x67, 0x79, 0x79, 0x79, 0x2b, 0xc8, 0xc8, 0xc8, 0xc8, 0x77, 0x77, 0x77, 0x74, 0x38, 0x38, 0x74, 0x70, 0x70, 0x4f, 0x4f, 0x1f, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x15, 0x15, 0x48, 0x00, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x00, 0x70, 0x70, 0x1f, 0x36, 0x36, 0xa9, 0x1f, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x48, 0x36, 0xcf, 0xcf, 0xcb, 0xcb, 0x48, 0x48, 0x48, 0x48, 0x15, 0x15, 0xfd, 0x4a, 0x07, 0x4a, 0xfd, 0x15, 0x15, 0x15, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x70, 0x70, 0x70, 0x48, 0x4f, 0xcf, 0x54, 0x12, 0x12, 0x59, 0x59, 0x12, 0x12, 0x74, 0x59, 0x59, 0x68, 0x34, 0x34, 0x34, 0x68, 0x68, 0x68, 0x74, 0xf1, 0x10, 0x53, 0xc8, 0xb2, 0x68, 0x68, 0x68, 0x68, 0x68, 0x34, 0x34, 0x34, 0x68, 0x68, 0x68, 0x34, 0x34, 0x34, 0x0d, 0x40, 0x31, 0x13, 0x31, 0x31, 0x31, 0x31, 0x31, 0x33, 0xfb, 0x65, 0xe3, 0x33, 0x79, 0x79, 0x79, 0x76, 0x76, 0xc8, 0xc8, 0xc8, 0xc8, 0x77, 0x79, 0x79, 0x77, 0x74, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x15, 0x15, 0x00, 0x00, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x00, 0x00, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x48, 0x36, 0x36, 0xcb, 0xcb, 0xcb, 0x15, 0x15, 0x15, 0xfd, 0x4a, 0x07, 0x4a, 0xfd, 0x15, 0x15, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x70, 0x70, 0x36, 0xcd, 0xcd, 0x12, 0x0d, 0x68, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x68, 0x68, 0x68, 0x34, 0x68, 0x68, 0xe5, 0x66, 0xbe, 0x2b, 0x68, 0x34, 0x68, 0x68, 0x68, 0x68, 0x68, 0x68, 0x68, 0x34, 0x34, 0x68, 0x68, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x76, 0x31, 0x31, 0x31, 0x31, 0x13, 0xb1, 0xfc, 0x10, 0xf2, 0x79, 0x79, 0x79, 0x76, 0x76, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0x77, 0xc8, 0x45, 0xc8, 0x74, 0x1e, 0x38, 0x38, 0x69, 0x00, 0x00, 0x70, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x15, 0x15, 0x00, 0x00, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x48, 0x48, 0xcb, 0xcb, 0xcb, 0xcb, 0x15, 0xec, 0x4a, 0x07, 0x07, 0x4a, 0xfd, 0x15, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x70, 0x70, 0x4f, 0xcd, 0x54, 0x45, 0x76, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x68, 0x68, 0x68, 0x2b, 0xbe, 0x66, 0xe5, 0x68, 0x68, 0x0d, 0x34, 0x34, 0x68, 0x68, 0x68, 0x68, 0x68, 0x68, 0x68, 0x68, 0x68, 0x34, 0x34, 0x0d, 0x46, 0x34, 0x34, 0x34, 0x76, 0x76, 0x40, 0x79, 0xf2, 0xe3, 0xfc, 0xb1, 0x67, 0x79, 0x79, 0x76, 0x76, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0x77, 0x77, 0x77, 0x77, 0x77, 0x1e, 0x1e, 0x38, 0x38, 0x38, 0x48, 0x00, 0x00, 0x70, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x15, 0x15, 0x48, 0x00, 0x00, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x1f, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0xcb, 0x15, 0x4a, 0x07, 0x91, 0xca, 0x4a, 0x69, 0x15, 0x48, 0x48, 0x48, 0x48, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x36, 0x36, 0x4f, 0xab, 0x87, 0x68, 0x12, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x68, 0x68, 0x74, 0xf1, 0xa6, 0xdb, 0x74, 0xb2, 0x68, 0x68, 0x0d, 0x0d, 0x34, 0x68, 0x68, 0x68, 0x68, 0x68, 0x68, 0x68, 0x68, 0x34, 0x34, 0x34, 0x0d, 0x0d, 0x46, 0x34, 0x34, 0x40, 0x79, 0x2c, 0x37, 0xe3, 0xb1, 0x67, 0x40, 0x76, 0x76, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0x77, 0x77, 0x77, 0x77, 0x77, 0x1e, 0x1e, 0x1e, 0x1e, 0x38, 0x38, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x15, 0x15, 0x70, 0x00, 0x00, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x48, 0x48, 0x48, 0x48, 0xcb, 0xcb, 0x15, 0xca, 0x91, 0xfa, 0xca, 0xec, 0x69, 0xe9, 0x15, 0x48, 0x48, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x70, 0x00, 0x70, 0x36, 0x36, 0x36, 0x0c, 0xdc, 0x77, 0x12, 0x12, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x68, 0xd1, 0x66, 0x66, 0x64, 0x68, 0x68, 0x68, 0x68, 0x68, 0x0d, 0x68, 0x68, 0x68, 0x68, 0x68, 0x68, 0x68, 0x68, 0x68, 0x34, 0x34, 0x68, 0x34, 0x46, 0x0d, 0x46, 0x34, 0x2b, 0xf1, 0x71, 0x71, 0xf2, 0x79, 0x76, 0x76, 0x76, 0x76, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x1e, 0x1e, 0x1e, 0x38, 0x38, 0x4e, 0x38, 0xcb, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x15, 0x15, 0x00, 0x00, 0x00, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x36, 0x4f, 0x70, 0x70, 0x70, 0x48, 0x48, 0x48, 0xcb, 0x48, 0x48, 0xfd, 0x07, 0x63, 0x91, 0x4a, 0x15, 0x15, 0xcb, 0xe9, 0xe9, 0x48, 0x48, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x70, 0x70, 0x70, 0x70, 0x1f, 0xcf, 0xcf, 0x36, 0xab, 0x79, 0x69, 0x4e, 0x54, 0x54, 0x54, 0x54, 0x59, 0x59, 0x59, 0x12, 0x53, 0x65, 0xf1, 0x74, 0x68, 0x68, 0x68, 0x68, 0x68, 0x68, 0x68, 0x68, 0x68, 0x68, 0x68, 0x68, 0x68, 0x68, 0x68, 0x34, 0x0d, 0x34, 0x68, 0x68, 0x34, 0x46, 0x2b, 0xb0, 0x53, 0xf1, 0x67, 0x0d, 0x0d, 0x40, 0x76, 0x40, 0x0d, 0x0d, 0x0d, 0xc8, 0xc8, 0xc8, 0x77, 0x77, 0x77, 0x77, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x38, 0x38, 0xe9, 0x4e, 0xe9, 0x48, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfd, 0x48, 0x15, 0x00, 0x00, 0x00, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x4f, 0x59, 0x3b, 0x70, 0x48, 0x48, 0x48, 0xcb, 0xcb, 0x48, 0xec, 0xfa, 0x63, 0x91, 0x4a, 0x15, 0xcb, 0x15, 0xcb, 0x69, 0x1e, 0x69, 0x48, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x70, 0x70, 0x00, 0x00, 0x00, 0x70, 0x70, 0x70, 0x70, 0x36, 0x4f, 0x0c, 0x1e, 0x69, 0xcf, 0xcf, 0xcd, 0xcd, 0x54, 0x54, 0x59, 0x54, 0xbb, 0x66, 0x5a, 0x2b, 0x68, 0x68, 0x68, 0x68, 0x68, 0x34, 0x68, 0x68, 0x68, 0x68, 0x68, 0x68, 0x34, 0x34, 0x68, 0x68, 0x68, 0x68, 0x0d, 0x0d, 0x34, 0x68, 0x0d, 0x64, 0xb0, 0xb0, 0x2b, 0x46, 0x34, 0x34, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0xc8, 0xc8, 0x77, 0x77, 0x77, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x38, 0xe9, 0xe9, 0xe9, 0x4e, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0xfd, 0x15, 0x48, 0x00, 0x00, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x36, 0x59, 0x59, 0x36, 0x48, 0x48, 0xcb, 0x48, 0x48, 0xec, 0x63, 0x1c, 0x63, 0x4a, 0x15, 0x15, 0xcb, 0xcb, 0xcb, 0xcb, 0x4e, 0x12, 0x36, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x36, 0x36, 0x36, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcd, 0x59, 0x59, 0x54, 0x54, 0x2f, 0x94, 0x72, 0x59, 0x59, 0x12, 0x68, 0x68, 0x68, 0x68, 0x68, 0x34, 0x68, 0x68, 0x68, 0x68, 0x34, 0x0d, 0x46, 0x74, 0x68, 0x68, 0x68, 0x46, 0x0d, 0x0d, 0xc8, 0x2b, 0x2b, 0x46, 0x46, 0x46, 0x46, 0x46, 0x34, 0x34, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0xc8, 0x77, 0x77, 0x77, 0x77, 0x1e, 0x1e, 0x38, 0x38, 0x1e, 0xe9, 0xe9, 0xe9, 0xe9, 0x4e, 0x4e, 0xcb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x15, 0x15, 0x70, 0x00, 0x00, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x48, 0x48, 0x70, 0x70, 0x70, 0x70, 0x70, 0x48, 0xcf, 0x54, 0x36, 0x48, 0xcb, 0xcb, 0x48, 0x15, 0x63, 0x97, 0x63, 0x4a, 0x15, 0xcb, 0x15, 0x48, 0x48, 0x48, 0x36, 0x69, 0x12, 0x3b, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x4f, 0x4f, 0x36, 0x36, 0x36, 0x4f, 0xcf, 0x4f, 0x54, 0x68, 0x59, 0x54, 0x0b, 0x94, 0xbf, 0xa5, 0x59, 0x59, 0x12, 0x68, 0x74, 0x68, 0x68, 0x68, 0x34, 0x0d, 0x40, 0x68, 0x68, 0x68, 0x0d, 0x46, 0x74, 0x68, 0x68, 0x68, 0x74, 0x0d, 0x0d, 0x46, 0x74, 0x68, 0x68, 0x74, 0x46, 0x74, 0x68, 0x74, 0x46, 0x34, 0x34, 0x0d, 0x0d, 0x0d, 0xc8, 0x0d, 0xc8, 0x79, 0x77, 0x1e, 0x1e, 0x1e, 0x38, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0x4e, 0x0c, 0x0c, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfd, 0x48, 0x15, 0x00, 0x00, 0x00, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x1f, 0x36, 0x36, 0x36, 0x36, 0x70, 0x70, 0x70, 0x70, 0x36, 0xcf, 0x36, 0xcb, 0x15, 0x48, 0x15, 0x07, 0x73, 0x1c, 0x4a, 0x15, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x4e, 0x12, 0x36, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x4f, 0x4f, 0x36, 0x36, 0x36, 0x36, 0xcf, 0xcf, 0x54, 0x74, 0x38, 0x24, 0x94, 0x1e, 0x54, 0x54, 0x59, 0x59, 0x59, 0x12, 0x74, 0x74, 0x68, 0x68, 0x40, 0xf6, 0x31, 0x68, 0x68, 0x68, 0x68, 0x68, 0x74, 0x68, 0x68, 0x74, 0x74, 0x74, 0x74, 0x68, 0x68, 0x74, 0x68, 0x68, 0x68, 0x68, 0x68, 0x74, 0x46, 0x46, 0x46, 0x0d, 0x0d, 0x0d, 0xc8, 0x79, 0xf6, 0x31, 0x77, 0x38, 0x38, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0x0c, 0x0c, 0xcd, 0xcd, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfd, 0x48, 0x15, 0x00, 0x00, 0x00, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x36, 0x36, 0x36, 0x36, 0x54, 0x4f, 0x70, 0x70, 0x70, 0x48, 0x36, 0x36, 0xcb, 0x15, 0xcb, 0x4a, 0xff, 0x73, 0x07, 0x15, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0xcb, 0x12, 0x4f, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x1f, 0x1f, 0x70, 0x70, 0x1f, 0x36, 0x36, 0x36, 0x36, 0x36, 0xcf, 0xcf, 0xcd, 0x4e, 0x5a, 0xe6, 0x38, 0x3b, 0xcd, 0x3b, 0x59, 0x59, 0x59, 0x12, 0x74, 0x74, 0x68, 0x34, 0xf6, 0x87, 0x34, 0x34, 0x68, 0x68, 0x68, 0x68, 0x74, 0x74, 0x74, 0x74, 0x74, 0x74, 0x74, 0x74, 0x74, 0x68, 0x68, 0x68, 0x68, 0x74, 0x74, 0x68, 0x74, 0x46, 0x46, 0x0d, 0xc8, 0xc8, 0x31, 0x16, 0xf6, 0xc8, 0x1e, 0x1e, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0x0c, 0xcd, 0xcd, 0xcd, 0xcd, 0xcb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x70, 0x00, 0x00, 0x00, 0x48, 0xfd, 0x48, 0x48, 0x00, 0x00, 0x00, 0x48, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x36, 0x36, 0x36, 0x4f, 0x68, 0x59, 0x36, 0x48, 0x48, 0x48, 0x36, 0xcb, 0x15, 0xcb, 0x15, 0x63, 0x73, 0x63, 0x15, 0x48, 0x15, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0xcd, 0xcd, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x70, 0x1f, 0x1f, 0x36, 0x1f, 0x1f, 0x36, 0x36, 0x1f, 0x1f, 0x1f, 0x1f, 0x36, 0x36, 0x36, 0xcf, 0xcf, 0xcf, 0xe9, 0x32, 0x32, 0xe9, 0x54, 0xcd, 0x3b, 0x3b, 0x54, 0x59, 0x59, 0x68, 0x74, 0x74, 0x68, 0x79, 0x87, 0x34, 0x68, 0x68, 0x68, 0x68, 0x68, 0x68, 0x74, 0x74, 0x68, 0x68, 0x68, 0x68, 0x74, 0x68, 0x68, 0x68, 0x68, 0x68, 0x74, 0x74, 0x68, 0x74, 0x74, 0x74, 0x74, 0x0d, 0xc8, 0x79, 0x5d, 0x16, 0x79, 0x74, 0x1e, 0xe9, 0xe9, 0xe9, 0x0c, 0x0c, 0x0c, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x00, 0x00, 0x15, 0x15, 0x48, 0x00, 0x00, 0x00, 0x00, 0x48, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x48, 0x48, 0x36, 0x36, 0x4f, 0x68, 0x34, 0x4f, 0x48, 0x48, 0x48, 0x48, 0x15, 0x15, 0x15, 0xca, 0x73, 0xff, 0x4a, 0x48, 0x15, 0x48, 0x48, 0x48, 0x48, 0x70, 0x70, 0x70, 0x70, 0x48, 0x48, 0x36, 0xcd, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x1f, 0x1f, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0xcb, 0xcf, 0x6d, 0xe6, 0x5a, 0x4e, 0x54, 0x59, 0x54, 0x3b, 0x3b, 0x54, 0x59, 0x59, 0x12, 0x74, 0x74, 0x68, 0x40, 0x34, 0x68, 0x68, 0x68, 0x68, 0x68, 0x68, 0x68, 0x68, 0x68, 0x68, 0x68, 0x68, 0x68, 0x12, 0x12, 0x68, 0x12, 0x12, 0x74, 0x74, 0x74, 0x68, 0x68, 0x74, 0x74, 0x74, 0x0d, 0xc8, 0xf6, 0x16, 0xe8, 0x77, 0x1e, 0xe9, 0xe9, 0x0c, 0x0c, 0x0c, 0x0c, 0xcd, 0xcd, 0xcd, 0xcd, 0xcf, 0x69, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcb, 0xcf, 0xcf, 0xcb, 0x36, 0x36, 0x36, 0x70, 0x48, 0x70, 0x00, 0xfd, 0x48, 0x15, 0x00, 0x00, 0x00, 0x00, 0x48, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x48, 0x36, 0x36, 0x36, 0x59, 0x7e, 0x54, 0x36, 0x36, 0x48, 0x48, 0x15, 0xcb, 0xfd, 0x1c, 0x90, 0xfa, 0x15, 0x15, 0x15, 0x48, 0x48, 0x48, 0x48, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x48, 0x36, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x1f, 0x1f, 0x1f, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x4f, 0x6d, 0x57, 0x24, 0x4e, 0xcf, 0x54, 0x74, 0x59, 0x3b, 0x3b, 0x54, 0x59, 0x59, 0x12, 0x74, 0x74, 0x74, 0x68, 0x68, 0x68, 0x68, 0x68, 0x12, 0x68, 0x68, 0x12, 0x74, 0x74, 0x74, 0x12, 0x74, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x74, 0x74, 0x74, 0x12, 0x12, 0x12, 0x74, 0x74, 0xc8, 0x06, 0x16, 0x87, 0xc8, 0x1e, 0x38, 0xe9, 0x0c, 0x0c, 0xcd, 0xcd, 0xcd, 0xcd, 0xcf, 0xcf, 0xcf, 0xcf, 0xcb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0xcf, 0xcf, 0xcb, 0x36, 0x36, 0x36, 0x36, 0x48, 0x48, 0x70, 0x70, 0xfd, 0x48, 0x48, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x48, 0x70, 0x70, 0x70, 0x70, 0x48, 0x48, 0x70, 0x48, 0x48, 0x36, 0x36, 0x54, 0x7e, 0x68, 0xcf, 0x36, 0xcb, 0xcb, 0x15, 0x15, 0x07, 0x73, 0xff, 0x4a, 0x48, 0x15, 0x48, 0x48, 0x48, 0x48, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x1f, 0x1f, 0x1f, 0x1f, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0xe9, 0x57, 0x8c, 0x54, 0xcd, 0xcf, 0xcf, 0x54, 0x54, 0xcd, 0x4f, 0x3b, 0x54, 0x59, 0x59, 0x74, 0x74, 0x74, 0x68, 0x68, 0x68, 0x12, 0x12, 0x68, 0x68, 0x12, 0x12, 0x38, 0x74, 0x38, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x38, 0x38, 0x12, 0x12, 0x12, 0x74, 0x74, 0x13, 0x16, 0xf6, 0xc8, 0x1e, 0x38, 0xe9, 0x0c, 0xcd, 0xcd, 0xcd, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0xcf, 0xcf, 0xcb, 0xcb, 0xcb, 0x36, 0x36, 0x48, 0x48, 0x48, 0x70, 0x48, 0xfd, 0x48, 0x70, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x48, 0x48, 0x48, 0x36, 0x36, 0x3b, 0x34, 0x68, 0xcd, 0xcb, 0xcb, 0x15, 0x48, 0xfd, 0x1c, 0x22, 0xfa, 0x15, 0x15, 0x15, 0x48, 0x48, 0x48, 0x48, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x1f, 0x36, 0x36, 0x1f, 0x1f, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x0c, 0xe6, 0xed, 0xcd, 0xcf, 0xcd, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0x4f, 0x4f, 0x3b, 0x54, 0x12, 0x12, 0x38, 0x38, 0x12, 0x12, 0x12, 0x12, 0x68, 0x68, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x59, 0x59, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x0d, 0xf6, 0xf6, 0xc8, 0x38, 0x38, 0xe9, 0x0c, 0xcd, 0xcd, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcb, 0xcf, 0xcb, 0xcb, 0xcb, 0x36, 0x36, 0x36, 0x48, 0x48, 0x48, 0x70, 0xfd, 0x15, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x48, 0x48, 0x48, 0x36, 0xcf, 0x68, 0x02, 0x54, 0xcb, 0xcb, 0xcb, 0xcb, 0x07, 0x73, 0xff, 0xfd, 0x48, 0x15, 0x48, 0x48, 0x48, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x36, 0x36, 0x36, 0x1f, 0x36, 0x36, 0x1f, 0x1f, 0x1f, 0x36, 0x36, 0x36, 0x36, 0xcd, 0xed, 0x32, 0x0c, 0x4f, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0x54, 0x4f, 0x3b, 0x3b, 0x3b, 0x59, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x68, 0x12, 0x59, 0x12, 0x12, 0x12, 0x38, 0x38, 0x12, 0x12, 0x12, 0x12, 0x12, 0x59, 0x12, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x12, 0x0d, 0x31, 0x77, 0x12, 0x4e, 0xe9, 0x0c, 0xcd, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0xcf, 0xcf, 0xcb, 0x36, 0x36, 0x36, 0x36, 0x48, 0x48, 0x48, 0x48, 0x70, 0xfd, 0x48, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x48, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x48, 0x48, 0x48, 0x36, 0x59, 0x02, 0x54, 0x69, 0x69, 0xcb, 0x15, 0x63, 0x22, 0xfa, 0x15, 0x15, 0x15, 0x48, 0x48, 0x48, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x1f, 0x1f, 0x1f, 0x1f, 0x36, 0x1f, 0x36, 0x1f, 0x1f, 0x1f, 0x36, 0x36, 0xcf, 0x9b, 0x57, 0x6d, 0x36, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0x36, 0x36, 0x36, 0x4f, 0x3b, 0x59, 0x12, 0x12, 0x12, 0x59, 0x59, 0x59, 0x12, 0x59, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x59, 0x59, 0x59, 0x59, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x12, 0x4e, 0x4e, 0x4e, 0x0c, 0xcd, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcb, 0x36, 0x36, 0xcb, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcb, 0xcf, 0xcb, 0xcb, 0x36, 0x36, 0x48, 0x48, 0x48, 0x48, 0x48, 0x70, 0x48, 0xfd, 0x48, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x48, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x48, 0x48, 0x48, 0xcd, 0x68, 0x59, 0x69, 0x69, 0xcb, 0xec, 0x97, 0x73, 0x4a, 0x48, 0x15, 0x48, 0x48, 0x48, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x36, 0x1f, 0x36, 0x1f, 0x89, 0x57, 0x78, 0x1f, 0xcb, 0xcf, 0xcb, 0xcf, 0xcd, 0xcf, 0xcf, 0xcf, 0x54, 0xcd, 0x4f, 0x3b, 0x3b, 0x59, 0x12, 0x12, 0x59, 0x59, 0x59, 0x59, 0x59, 0x12, 0x68, 0x12, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0xcd, 0xcd, 0xcd, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcb, 0xcb, 0xcb, 0xcb, 0x36, 0x36, 0x36, 0x36, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0xcf, 0xcb, 0xcb, 0x36, 0x36, 0x70, 0x70, 0x70, 0x48, 0x48, 0x48, 0x70, 0x15, 0x15, 0x48, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x48, 0x48, 0x36, 0x54, 0x54, 0x69, 0x15, 0xcb, 0xca, 0x73, 0x63, 0x15, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x1f, 0x1f, 0x36, 0x1f, 0x2d, 0x81, 0x97, 0x4f, 0x36, 0x36, 0x36, 0x4f, 0xcd, 0xcd, 0xcf, 0x69, 0xcf, 0xcd, 0x4f, 0x4f, 0x4f, 0xcd, 0x59, 0x59, 0x12, 0x59, 0x59, 0x59, 0x59, 0x59, 0x12, 0x12, 0x59, 0x59, 0x59, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcf, 0xcf, 0xcf, 0x4f, 0x4f, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0xcb, 0xcb, 0x36, 0x36, 0x48, 0x48, 0x70, 0x70, 0x48, 0x48, 0x48, 0x70, 0xfd, 0x48, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x48, 0x48, 0x36, 0xcf, 0xcb, 0xcb, 0x15, 0x63, 0x73, 0xca, 0x48, 0x15, 0x48, 0x48, 0x48, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x1f, 0x1f, 0xcf, 0x73, 0x22, 0x69, 0x1f, 0x36, 0x36, 0x36, 0x36, 0x4f, 0xcf, 0x69, 0xcd, 0x0c, 0x4e, 0xcf, 0x36, 0x36, 0xcf, 0x54, 0x59, 0x59, 0x59, 0x59, 0x54, 0x59, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x4e, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x3b, 0xcd, 0xcd, 0x3b, 0x3b, 0x3b, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0xcb, 0x36, 0x36, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x4a, 0x48, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x48, 0x48, 0xcb, 0xcb, 0xcb, 0xec, 0x1c, 0x1c, 0xfd, 0x48, 0x15, 0x48, 0x48, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x1f, 0x91, 0xed, 0x91, 0x70, 0x70, 0x1f, 0x36, 0x36, 0x36, 0xcf, 0xcd, 0x0c, 0x0c, 0x2b, 0x2b, 0xcd, 0xcf, 0x4f, 0xcf, 0xcd, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0xcd, 0x54, 0x3b, 0xa9, 0xa9, 0xa9, 0x4f, 0x1f, 0xa9, 0x1f, 0x1f, 0x1f, 0x70, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x36, 0x1f, 0x1f, 0x36, 0x36, 0x36, 0x1f, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x36, 0x36, 0x36, 0x48, 0x48, 0x48, 0x70, 0x48, 0x48, 0x48, 0x48, 0x70, 0x48, 0xfd, 0x48, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x70, 0x48, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x48, 0x48, 0x48, 0xcb, 0xcb, 0x4a, 0x1c, 0x63, 0x15, 0x48, 0x48, 0x48, 0x48, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x69, 0xff, 0x1c, 0x36, 0x70, 0x70, 0x70, 0x36, 0x36, 0x36, 0xcd, 0xcd, 0x0c, 0xab, 0x6e, 0x1e, 0xcf, 0x36, 0x36, 0x4f, 0xcf, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0xa9, 0x1f, 0x1f, 0x1f, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x1f, 0x1f, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x36, 0x36, 0x70, 0x48, 0x48, 0x48, 0x70, 0x70, 0x48, 0x48, 0x70, 0xfd, 0x15, 0x48, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x48, 0x48, 0x48, 0xcb, 0x48, 0x4a, 0x1c, 0x07, 0x48, 0x48, 0x48, 0x48, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0xca, 0xff, 0x4a, 0x70, 0x70, 0x70, 0x70, 0x36, 0x36, 0x36, 0xcf, 0xcd, 0xe9, 0x6e, 0x0e, 0x0c, 0xcf, 0x36, 0x36, 0x36, 0x4f, 0x54, 0x54, 0x54, 0xcd, 0xcd, 0x3b, 0xcd, 0xcd, 0xcd, 0xcd, 0x3b, 0xcd, 0x54, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x1f, 0x1f, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x48, 0x48, 0x48, 0x48, 0x70, 0x48, 0x48, 0x48, 0x48, 0x48, 0x00, 0xfd, 0x48, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x00, 0x70, 0x70, 0x70, 0x70, 0x70, 0x48, 0x48, 0x48, 0x48, 0x48, 0x4a, 0x63, 0x4a, 0x48, 0x48, 0x48, 0x70, 0x70, 0x70, 0x00, 0x00, 0x00, 0x70, 0x70, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x36, 0x63, 0x91, 0x36, 0x70, 0x70, 0x70, 0x70, 0x70, 0x36, 0x36, 0xcf, 0x0c, 0x67, 0xb5, 0xab, 0xcd, 0xcd, 0x36, 0x36, 0x36, 0x4f, 0x3b, 0xcd, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x4f, 0x4f, 0xa9, 0x1f, 0x1f, 0xa9, 0xa9, 0x1f, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x70, 0x48, 0x70, 0x70, 0x70, 0x70, 0x48, 0x70, 0x48, 0x70, 0x70, 0x4a, 0x48, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x70, 0x48, 0x48, 0x48, 0x48, 0x4a, 0x63, 0xfd, 0x48, 0x48, 0x48, 0x70, 0x70, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x00, 0x70, 0xec, 0x63, 0xec, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x36, 0x36, 0x4f, 0x4e, 0x6e, 0x87, 0x0c, 0x69, 0xcf, 0x36, 0x70, 0x1f, 0x4f, 0x3b, 0x3b, 0x3b, 0x3b, 0x08, 0x08, 0x08, 0xa9, 0x1f, 0xa9, 0xa9, 0x70, 0x70, 0x70, 0x70, 0x1f, 0x1f, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x00, 0x48, 0xfd, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x48, 0x48, 0x48, 0x48, 0x4a, 0xfa, 0x15, 0x48, 0x48, 0x48, 0x70, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x36, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x70, 0x70, 0x70, 0x70, 0x00, 0x00, 0x00, 0x70, 0x4a, 0xfa, 0x36, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x70, 0x36, 0x36, 0x2a, 0x6e, 0x1e, 0x4f, 0x4f, 0x36, 0x70, 0x70, 0x70, 0x1f, 0x4f, 0x4f, 0x1f, 0x1f, 0xa9, 0x1f, 0x1f, 0x70, 0x00, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x00, 0x15, 0x15, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x48, 0x48, 0x48, 0x48, 0x4a, 0x4a, 0x15, 0x48, 0x48, 0x48, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x36, 0x4f, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x4a, 0x4a, 0x70, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x70, 0x36, 0x36, 0x67, 0xab, 0x4f, 0x4f, 0x36, 0x36, 0x70, 0x70, 0x70, 0x70, 0x1f, 0x1f, 0x70, 0x70, 0x70, 0x00, 0x00, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x48, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x48, 0x48, 0x48, 0x48, 0xfd, 0x4a, 0x48, 0x48, 0x48, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x3b, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x4a, 0x15, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x70, 0x4f, 0x4e, 0x36, 0x36, 0x36, 0x36, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x48, 0x48, 0x48, 0xfd, 0xfd, 0x48, 0x48, 0x48, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x4f, 0x3b, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x4a, 0xcb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x70, 0x70, 0x70, 0x36, 0x1f, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x48, 0x48, 0x48, 0xfd, 0xfd, 0x48, 0x48, 0x48, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x1f, 0x4f, 0x36, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0xfd, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x00, 0x00, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x48, 0x48, 0x15, 0x15, 0x48, 0x48, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x4f, 0x4f, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x48, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x48, 0x48, 0x15, 0x15, 0x48, 0x48, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x4f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x48, 0x48, 0x48, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x48, 0x15, 0x15, 0x48, 0x48, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x36, 0x36, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x48, 0x48, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x48, 0x15, 0x48, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x36, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; + +const lv_img_dsc_t hornet = { + .header.always_zero = 0, + .header.w = 185, + .header.h = 179, + .data_size = 34139, + .header.cf = LV_IMG_CF_INDEXED_8BIT, + .data = hornet_map, +}; + + + +#endif \ No newline at end of file diff --git a/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/oracle.c b/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/oracle.c index 7f7b385d..826a74d4 100644 --- a/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/oracle.c +++ b/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/oracle.c @@ -11,6 +11,7 @@ #include "p_tcc.h" #include "lvgl/lvgl.h" #include "p_ssd1963.h" +#include "hornet.h" static lv_disp_buf_t disp_buf; static lv_color_t buf[LV_HOR_RES_MAX * 10]; /*Declare a buffer for 10 lines*/ @@ -47,6 +48,10 @@ void oracle_init(void) lv_obj_t* scr = lv_disp_get_scr_act(NULL); + lv_obj_t* hornet_image = lv_img_create(scr, NULL); + lv_img_set_src(hornet_image, &hornet); + lv_obj_set_pos(hornet_image, 0, 0); + lv_obj_t* random_text = lv_label_create(scr, NULL); lv_obj_set_pos(random_text, 90, 35); lv_label_set_text(random_text, "Hello World");