你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】IAR_STM32_BootLoader

[复制链接]
STMCU小助手 发布时间:2022-1-23 16:34
  1.STM32 Bootloader与APP
  IROM中可以分成两个区域,起始代码运行地址为0x08000000,这是基本固定的,可以将IROM的0x08000000 ~ 0x08002000这8KB的空间存放Bootloader代码,而0x08002000 ~ 上限的位置存放APP代码。
  需要实现两个工程,分别为bootloader工程与app工程。
6 Z6 \  G1 e7 r/ B' t4 T' e* G1 u
  1.1 先说bootloader工程,以IAR为例
  建立基本stm32工程需要的工程文件等,工程的建立这里不去说明,有了工程后,需要将该工程代码的链接地址配置为0x08000000 ~ 0x08002000,对于IAR可以在icf文件中进行修改参数达到效果,也可在工程配置中修改达到效果,中断向量表的地址为程序运行起始地址就行。
  1.1.1 在icf中修改链接地址,__ICFEDIT_intvec_start__是中断向量表位置,按照上面说的bootloader地址范围,这里要填起始地址0x08000000,__ICFEDIT_region_ROM_start和__ICFEDIT_region_ROM_end__是配置这部分bootloader代码在IROM中的位置,根据上面说的划分区域,这里start应是0x08000000、end应是0x08002000,后面的RAM_Start与RAM_end是内存的起始地址与结束地址,IROM和RAM的范围应该能根据实际芯片手册去划分修改。修改后到时编译好程序,链接脚本就会将程序链接到对应IROM中。
  直接通过icf文件修改,其实就是一个链接脚本
: J3 g4 q6 L+ O' u% |$ G( d
1468469-20180829144642456-585152571.png
% ^, ?, A( N4 c5 q
  直接通过工程修改,Vector Table是设置向量表的位置

5 l: {" E. e' N0 a5 p
1468469-20180829150400969-1520660678.png
$ A5 _* w6 d, f/ e$ j; Z
  1.1.2 之后就可以开始撸起bootloader代码了,看你的需求是什么,普遍bootloader的需求都是起到一个搬运工的作用,当发现有app的升级文件需要升级时,从一个存放的介质中搬运到IROM中对应的APP代码位置,然后跳转到APP代码位置进行运行。
先贴代码
  头文件
  1. #ifndef __TOTOAL_H__
    " V9 `, g8 A6 e& e6 J* C% ?
  2. #define __TOTOAL_H__
    9 m7 I* R. H8 |3 [+ m

  3. 2 q; Z6 S3 y4 a7 E7 Z
  4. #include <stdio.h>2 @% a0 C" e: g2 u% d" X, R
  5. #include <string.h>
    : i" t$ G9 V, r: t7 i7 N! Y
  6. #include <stdlib.h>
    3 ^" b" |; f; e% `5 V! N

  7. * c% r' J& J( _& z" R, @) M

  8. + g$ i7 n2 x( Q! x+ i, D; _' A  k" R
  9. /****************ST*********************/% s' x) T$ X& |, ?. y7 ~0 _
  10. #include "stm32l1xx.h"/ t' u. F' K4 W$ d/ H- y: {3 Y
  11. #include "misc.h"' ]5 F* y3 Z0 A2 `: w
  12. #include "stm32l1xx_flash.h") O) R: l5 I2 r- m3 o$ f( j7 Y. o/ H% D
  13. #include "stm32l1xx_usart.h"
    6 o- s* E" X* D; j
  14. #include "stm32l1xx_gpio.h"; j  r" O  G- x5 U- `, y. Z
  15. #include "stm32l1xx_rcc.h"
    1 ~1 E, C9 j& B, _6 M( R# E4 o
  16. #include "stm32l1xx_syscfg.h"8 Y$ H0 y: c/ X' N5 g1 u; t& h
  17. /**************************************/
    % J( f6 i, |7 h/ |
  18. % m& A8 {  y: H$ G" p

  19. " X' V  F6 t7 Q2 K: _
  20. /*****************SELF********************/7 p9 R' K# o9 F# w5 c/ q7 K+ r
  21. #include "bsp.h"
    / V+ [# P5 b- R9 s! [
  22. #include "spi.h"
    3 c, _( P# ?: ?& t
  23. #include "flash.h"
    9 D) q/ @, [9 E  X8 ?8 K5 f$ F
  24. #include "USART.h". _4 P* A6 Y# D4 p; `* [/ ]
  25. /***************************************/) g# E- N' w4 q, z$ J. Q
  26. * S$ x. p- g- [; s7 a
  27. #define CONFIG_RELASE  0( e5 u7 O  W: x5 C% e

  28. 6 J* ~9 d( W: o
  29. #if (CONFIG_RELASE == 0)
    * Z) O# J/ p: |4 Y! H" G2 x, O
  30.   #define Debug(fmt,arg...) printf(fmt,##arg)3 l% }6 K) D7 i6 i0 n
  31. #else
    ; L" @8 c& q4 S+ _$ s1 e1 O
  32.   #define Debug(fmt,arg...)
    , p! d2 a, K: @7 V7 |' n
  33. #endif2 I& [1 D) f- r/ h$ U- w! K

  34. * M4 B0 z, J+ j/ i
  35. #define u8 unsigned char
    7 u5 I/ S. @( m7 c2 u9 [
  36. #define u16 unsigned short
    : u; {* W# N9 h3 W# m# ]
  37. #define u32 unsigned int
    / Z( D* Z8 A3 v1 T- H
  38.   o9 W- ~4 t; Z4 e: v0 w6 [
  39. #define SPIFLASHBUF_MAX_LEN             (4096)  //spi flash最大缓冲  C" u% m4 ~# C
  40. 2 h/ q0 ~/ p$ R
  41. #define APPLICATIONADDRESS                  (0x08002000)7 O1 `' o. l0 E
  42. / ?- w  y$ U' i& U7 r& u

  43. ( W  e. X" [% v! `+ d
  44. extern unsigned char SPI_FLASH_BUF[];    //Spi Flash使用的临时缓冲2 |4 b) `8 }% u" Q9 ^

  45. 6 \8 L. u# F  i/ b5 Q* c# @$ I3 @
  46. #endif //__TOTOAL_H__
复制代码
2 B& F2 P- L' p
- J* V! C1 t! T  \
  C文件
  1. #include "total.h"# \/ Q4 Y* H+ c
  2. - W6 E; ]5 G2 T
  3. 0 \) {! U9 y$ g+ d, n3 o8 k8 U, }; F8 N
  4. unsigned char SPI_FLASH_BUF[4096];    //Spi Flash使用的临时缓冲( a7 f$ s. R7 U
  5. 8 i7 t$ V& f* R8 _( ^2 P1 H6 u
  6.   M! `' D% N0 v
  7. typedef  void (*pFunction)(void);
    2 |% A- B& l  d; ~# ~$ @- O" p" b
  8. pFunction Jump_To_Application;
    5 l) u# h& \* P0 h7 O% ^
  9. unsigned int JumpAddress;/ G* S4 U; ~5 q3 c1 \# K

  10. 3 m$ P, x* P, n5 o# o

  11. 1 |# ?  g0 `! P; B1 R; U
  12. extern int LoopCount;2 I# L' q* G& N6 q, o1 r
  13. / X' j9 R$ p8 S! b2 X
  14. /*************************************/ y) f0 F/ |0 Y* w* i* a
  15. *! s/ L( \2 Y; |: i- L* d* Z' M+ d
  16. * Funciton Name : System_Initializes
    - ]! t1 F% r; X! f: C! x' g
  17. * Function      :
    ( a! [9 u- R& f0 U8 x/ ~
  18. *0 I4 I7 e3 h5 \- y1 |( c
  19. *************************************/
    / d' }0 L5 @- \0 U
  20. void System_Initializes(void): h$ @  X1 ~+ V
  21. {) \  I3 N6 _" F3 j' J. ?) B5 V7 K
  22.     unsigned int UpdateFileLogo = 0;
    8 M6 y, t+ z+ S! R1 V: q2 E6 h
  23.     unsigned int WriteUpdateFileLogo = 0x00000000;
    - r" s6 p) d. V

  24. * K) @* A# i* w6 c6 i) @6 A9 p
  25.     memset(SPI_FLASH_BUF, 0, sizeof(SPI_FLASH_BUF));* y- C3 ^5 E+ m
  26. + b, Y0 S& P3 ]5 J, ]  f
  27.     BSP_Initializes();) t9 L4 P2 _& Z6 J9 J
  28.   _' H4 F# [8 l) o0 M
  29.     Debug("----[Boot]BootLoader Running... \r\n");5 Q4 E; M9 K& A5 A5 s! |
  30. 0 k. \: H" [' G9 B# H/ z
  31.     SysTick_Config(36000000 / 1000);+ {$ G9 \. m( `6 u9 }  x1 N! v
  32. - P& g9 q# x6 }' J9 e# ~
  33.     // 读取外部flash有无升级文件需要更新2 W8 q3 k" R- R& ?7 q- b/ S5 p0 M, ]
  34.     SPI_Flash_Read((unsigned char *)&UpdateFileLogo, CONFIG_UPDATE_FILE_ADDR_LOGO, 4);0 o4 J( c- E8 E
  35. # {; O9 M1 y% {, t9 F
  36.     // 是否有未更新的升级文件在外部flash中4 R1 x5 O0 e: B+ S2 y6 e
  37.     if ( UpdateFileLogo == 0x98765432 )) h* I* z; H+ c( D
  38.     {0 ~2 m0 r7 i3 m$ F2 A9 q% O/ ?/ Z
  39.         unsigned int i = 0;
    * \1 v+ u5 o" u8 b- o( s
  40.         unsigned int FalshData = 0x0;' f/ O1 }( D- r' Q
  41. % @1 J- l1 J2 R+ h+ [7 ^% z
  42.         FLASH_Unlock();
    & E5 s/ e( V$ k6 I+ B& m6 g, e  w
  43.   q( E3 x( j9 O7 a
  44.         //擦除内部app程序flash位置
    3 N4 o1 \/ h+ M# q4 t: B0 c
  45.         for ( i = 0; i < 100; i++ )
    ; {+ L  k9 W3 v5 F2 h( S
  46.         {) N; B( h5 \# C" T9 T! D1 b
  47.             FLASH_ErasePage(0x8002000 + (0x400 * i));   //1K 1K擦0 i$ H* y/ X3 A- a
  48.         }* k( X5 U/ W; n
  49. 1 U/ c  p7 E- @4 F9 G/ ]8 B- L
  50.         // 将外部flash存储升级文件的数据,复制到IROM中的APP区域,,升级包的校验什么的都应该去做处理计算 0x19000 100KB7 }7 f: S, o: K/ h1 j) Q
  51.         for ( i = 0; i < 0x19000 / 4; i++ )' ?1 [: e8 q3 K0 Y
  52.         {7 ^0 J4 w% z0 d" h% A6 _
  53.             SPI_Flash_Read((unsigned char *)&FalshData, CONFIG_FLASH_SAVE_UPDATE_INDEX + i * 4, 4);, k* c! ~; ?/ B, U
  54. ) {: Z) u5 {5 F1 q& h& M2 Y3 [% e. F
  55.             FLASH_FastProgramWord(0x8002000 + i * 4, FalshData);
    - w' ~6 S5 n; e$ U7 }) }. k5 M+ Q! m
  56.         }
    & Y  _( p# M- F$ `! m. _
  57. + a' L2 a. @& E3 n/ p/ b8 A
  58.         FLASH_Lock();
    : A! b5 m0 V* L# k8 T

  59. / a$ D& ~" \( x8 l
  60.         // 更新完毕,将外部flash代表有无未更新的升级标志变为无更新
    ' v7 X6 }% q1 W& r& t; S9 c5 z
  61.         SPI_Flash_Write((unsigned char *)&WriteUpdateFileLogo, CONFIG_UPDATE_FILE_ADDR_LOGO, 4);
    ( y4 x- y& J; H& ^. Q  {- O) x7 B6 B* v

  62. ; P( C# P4 _: W
  63.         NVIC_SystemReset(); //复位
    2 c5 g$ D) }4 w) J9 q% A9 C. W3 d
  64.     }# M" u. q- \: n

  65. * ~' J* \; b# j% g" n
  66.     while ( LoopCount > 0 );$ s# U$ d( I4 g! e- q: b5 Y

  67.   p* n" t1 ~: s$ Z% q0 v2 R
  68.     __disable_irq();
    * T6 v( l( i! H' W0 E2 e
  69. $ u- a7 j8 x( z5 r8 b
  70.     /* Test if user code is programmed starting from address "ApplicationAddress" */
    9 d8 D3 S9 w8 A: P3 q
  71.     if (((*(__IO uint32_t*)APPLICATIONADDRESS) & 0x2FFE0000 ) == 0x20000000)" D  A" o: o* N9 @5 n; s  ]5 u4 R
  72.     {
    , y  ]$ K! H" r+ J+ }
  73. 2 u$ k# g  g0 e7 b0 Y* x
  74.       Debug("----[Boot]Jump_To_Application!!!\r\n");! a- X2 C5 P5 ~0 i% @6 @
  75. 8 b- D" n& D/ i! p" L/ |' l8 l
  76.         /* Jump to user application */
    7 L. z4 f; w" g3 y/ A
  77.       JumpAddress = *(__IO uint32_t*) (APPLICATIONADDRESS + 4);
    ! }) L' _! W' M# ]3 `) H' ]5 ]+ f
  78.       Jump_To_Application = (pFunction) JumpAddress;
    " q4 J( ?, j$ w+ O3 {5 r* e
  79.       /* Initialize user application's Stack Pointer */1 e! U  g1 x2 _* C: r/ t3 z* R
  80.       __set_MSP(*(__IO uint32_t*) APPLICATIONADDRESS);
      V. w# `$ H  A( f$ s
  81.       Jump_To_Application();
    ; g7 g6 B5 ^: M: u- @/ ^3 W
  82.     }5 r# c; u! z6 }+ o* h
  83.     else& ^9 J0 T. M4 `' o% ?; R
  84.     {
    * x. y' Z% @" C8 t& Q4 X
  85.         Debug("----[Boot]APPLICATIONADDRESS is ERROR!!!\r\n");0 ~/ f  A' ~8 }' ^
  86.     }
    1 J$ c) c6 V; E2 j' H  F& Y
  87. }
    - G& Q* V& m' J% `5 L1 D  g/ {: @

  88. 4 ^3 O0 `+ m% I6 Z
  89. int main(void)  W# a) ^4 J7 ^& m* w
  90. {
    1 Z! `5 k# p) H; O
  91.     System_Initializes();8 g3 }% i7 S! A/ h& R7 p4 s5 d0 t

  92. $ I( x5 x4 r: }2 J! d: y+ p

  93. 7 }3 P1 S+ f, g. Q
  94.     while (1);
    " J6 a& ^+ j; b& {1 q6 F
  95. }
复制代码
" O8 g& a# A- N+ G* c, A7 M
( v. p4 G: X7 ~6 g$ s2 Q9 H
  说明:主要就是判断介质中是否有升级文件需要升级,如果有则擦除IROM中APP代码对应的位置,然后将介质中的APP升级文件搬运到IROM中的APP位置去,没问题后,定义一个函数指针指向APP应用程序代码段的地址,就是链接地址0x08002000,然后调用函数指针直接到这个代码段运行,运行之前设置一下APP链接地址数的堆栈。栈顶设置为起始地址的前4个字节,函数指针指向的其实是这个起始地址的后4个字节,表示中断向量表的复位中断向量位置。所以起始地址+4,然后运行。

0 h+ ~  {1 H! N& f- W) B/ E# w
  1.2 APP工程,APP的工程搭建好后,同样的要修改链接位置,将程序代码链接到指定的位置去,同样的可以通过icf文件修改,也可以直接通过工程修改,这里就不在进行说明,IROM链接的起始地址为0x08002000,上限就是IROM的上限即可。配置好链接地址后,就可以撸起你的代码了,但如果想要让bootloader跳转到app能够成功,则必须在app代码的开始设置好中断向量的表偏移,因为app的代码是在0x08002000开始,所以中断向量表的位置设置为0x08002000即可。
  1. 1     /* 设置中断向量表位置 0x08002000 */9 c" w7 ~" p4 ~$ Y
  2. 2     NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x2000);
复制代码
3 E) @8 ?6 B7 g+ D$ O
   如此就完成了bootloader与app工程。一般bootloader写好后是不需要重复的更改的,而只会该应用程序,可以将bootloader代码编译成bin文件,因为bin文件全都是数据,所以可以转换成一个数组,表示一个代码段,然后将这个数据放入到APP的工程中,将这个bootloader的数组指定到一个IROM的位置,这样就可以达到一次烧写两个工程的效果。
  如何将bootloader的数组指定到固定的IROM中,使用#pragma loation = 0Xxxxxxxxx  __root 就可以指定,我是这么指定的,指定到了0x08000000位置。同时APP的工程链接地址要为0x08002000,因为按照上面说的对IROM的划分,应该要如此划分。
  1. #pragma location = 0x08000000" F5 @" i1 c1 {
  2. __root const unsigned char STM32L15_BootLoader[]={200,20,0,32,117,20,0,8,5,18,0,8,7,18,0,8,' w: M& C1 [, B" y$ S% K& I
  3. 9,18,0,8,11,18,0,8,13,18,0,8,0,0,0,0,  I3 V$ ?1 B5 C1 `- T! L. v
  4. 0,0,0,0,0,0,0,0,0,0,0,0,145,20,0,8,6 L( X% u6 V* d  T- ?
  5. 15,18,0,8,0,0,0,0,149,20,0,8,17,18,0,8,7 M. @6 S# _. x+ S  Q
  6. 153,20,0,8,157,20,0,8,161,20,0,8,209,18,0,8,
    5 ?9 D' g$ E+ U# A" T! \3 ]
  7. 165,20,0,8,169,20,0,8,173,20,0,8,177,20,0,8,1 ?% W7 l! q1 o+ {% v
  8. 181,20,0,8,185,20,0,8,189,20,0,8,193,20,0,8,
    / W6 a. k* K' q
  9. 197,20,0,8,201,20,0,8,205,20,0,8,209,20,0,8,/ @* `. M" {" z2 c" [9 H
  10. 213,20,0,8,217,20,0,8,221,20,0,8,225,20,0,8,
      _! A: C. J: O6 u8 T7 u
  11. 229,20,0,8,233,20,0,8,237,20,0,8,241,20,0,8,
    - E$ U, `% P# ?* u4 U  N
  12. 245,20,0,8,249,20,0,8,253,20,0,8,1,21,0,8,( A5 n; G" w: m0 W2 D' C5 e5 W
  13. 5,21,0,8,205,18,0,8,9,21,0,8,13,21,0,8,: M' c+ P) `! G' a: P2 x- p
  14. 17,21,0,8,21,21,0,8,25,21,0,8,29,21,0,8,
    ( x4 x: F$ y; @5 _1 n5 m
  15. 33,21,0,8,37,21,0,8,41,21,0,8,45,21,0,8,6 w7 \3 w+ A# S; Z
  16. 207,18,0,8,49,21,0,8,53,21,0,8,57,21,0,8,
    8 G% T8 R5 T7 W' l7 Z
  17. 61,21,0,8,56,181,0,36,79,244,128,81,223,248,204,2,0 x0 n9 t2 D. l6 E5 T; E
  18. 0,240,223,249,5,32,0,240,100,250,255,32,0,240,97,250,
    3 I7 ]+ i* f9 l  U
  19. 5,0,79,244,128,81,223,248,180,2,0,240,208,249,40,0,
    : g7 c& f% R# {
  20. 192,178,50,189,128,181,79,244,128,81,223,248,160,2,0,240,4 B: |, P1 O$ x$ W8 y
  21. 200,249,6,32,0,240,77,250,79,244,128,81,223,248,140,2,
    ( L6 g2 J; C  X, M
  22. 0,240,189,249,1,189,45,233,240,65,4,0,13,0,22,0,
    % L$ z9 U' m' X$ L
  23. 0,39,79,244,128,81,223,248,116,2,0,240,178,249,3,32,& E( K! \$ W( ?  L7 v7 k4 F
  24. 0,240,55,250,40,0,0,12,192,178,0,240,50,250,40,0,; L. j$ T- s9 H* ~6 K1 t
  25. 0,10,192,178,0,240,45,250,40,0,192,178,0,240,41,250,
    6 Y/ F$ N$ i1 ~! Y7 f5 Y2 s# ^
  26. 95,240,0,8,64,70,49,0,128,178,137,178,136,66,8,210,
    * X" s) y6 |2 N7 l$ Z' m+ Q
  27. 255,32,0,240,30,250,65,70,137,178,96,84,24,241,1,8,
    , {0 D2 E: C! y7 t  W
  28. 240,231,79,244,128,81,223,248,36,2,0,240,136,249,189,232,
    6 i4 x, a4 g: I1 d: x- s8 }
  29. 240,129,248,181,4,0,13,0,22,0,255,247,179,255,79,244,( w" ]6 {; u' K) W. y7 J1 U, f8 j
  30. 128,81,130,72,0,240,125,249,2,32,0,240,2,250,40,0,
    3 }" W2 i+ `. F
  31. 0,12,192,178,0,240,253,249,40,0,0,10,192,178,0,240,
    4 }" _- X& E, i- N9 L1 [! O- e
  32. 248,249,40,0,192,178,0,240,244,249,0,39,56,0,49,0,' R2 c; x4 a1 j+ [% e
  33. 128,178,137,178,136,66,6,210,56,0,128,178,32,92,0,240,- [7 s! y1 U' K" K; j
  34. 232,249,127,28,242,231,79,244,128,81,112,72,0,240,87,249,' A+ q9 u, d/ {# w/ J: C* }
  35. 0,240,214,248,241,189,248,181,4,0,13,0,22,0,21,240,  l# B$ S- D  x0 D
  36. 255,7,215,245,128,119,56,0,49,0,128,178,137,178,136,66,% i1 }6 H& e+ B; t& r
  37. 0,211,55,0,58,0,146,178,41,0,32,0,255,247,185,255,
    # g) C2 P) X( N1 p' G; p
  38. 48,0,57,0,128,178,137,178,136,66,18,208,56,0,128,178,
    / I- |' r! ^; D$ ?
  39. 4,68,56,0,128,178,69,25,246,27,48,0,128,178,64,242,1 M8 ^- ?. {2 T$ N4 E4 d7 w
  40. 1,17,136,66,3,219,79,244,128,112,7,0,226,231,55,0,
    3 t% t5 v6 b: `1 q6 |
  41. 224,231,241,189,45,233,240,71,4,0,13,0,22,0,47,0,
    & X" y5 Y& v+ u" H
  42. 63,11,168,70,95,234,8,88,95,234,24,88,216,245,128,89,
    3 Z- b3 Y) q7 W
  43. 72,70,49,0,128,178,137,178,136,66,0,211,177,70,79,244,
    ( @  [/ v2 p% P  k% E6 ?
  44. 128,82,79,244,128,81,1,251,7,241,73,72,255,247,75,255,
    * k% o$ F% D- I8 w
  45. 0,32,130,70,80,70,73,70,128,178,137,178,136,66,11,210,
    / L" H. V9 W$ ?/ N7 @
  46. 67,73,66,70,146,178,80,70,128,178,130,24,136,92,255,40,
    7 k1 E: _( u! y* |( F2 _
  47. 2,209,26,241,1,10,237,231,80,70,73,70,128,178,137,178,) {, w- l7 N5 [* n
  48. 136,66,33,210,56,0,0,240,68,248,0,32,130,70,80,70,
    ) Z; C7 u, C: }8 }8 L
  49. 73,70,128,178,137,178,136,66,12,210,80,70,128,178,33,92,# ~! E, P' k+ B1 [
  50. 51,74,83,70,155,178,64,70,128,178,195,24,209,84,26,241,
      r' |8 A% r4 W
  51. 1,10,236,231,79,244,128,82,79,244,128,81,1,251,7,241,
    2 ^$ R* w& n; ]
  52. 43,72,255,247,120,255,5,224,74,70,146,178,41,0,32,0,
    ; B# r  f% |& [! O1 q: m* B4 Q
  53. 255,247,113,255,48,0,73,70,128,178,137,178,136,66,22,208,. x6 m6 F1 n1 S( M; ^3 R
  54. 127,28,0,32,128,70,72,70,128,178,4,68,72,70,128,178,# G9 I& H1 a4 f* {. L& O
  55. 69,25,182,235,9,6,48,0,128,178,65,242,1,1,136,66,
    1 u  Z1 h# f4 q* g8 K4 U% n0 n
  56. 3,219,79,244,128,80,129,70,153,231,177,70,151,231,189,232,0 b- M7 T4 c  ?: l; G6 w0 K0 b# {' A
  57. 240,135,16,181,4,0,79,244,128,80,68,67,255,247,210,254,
    ! [! P/ u1 i* e3 |$ t
  58. 0,240,30,248,79,244,128,81,16,72,0,240,154,248,32,32,5 G1 }, o- W! z( B5 D
  59. 0,240,31,249,32,0,0,12,192,178,0,240,26,249,32,0,- z, \6 g: O3 U" e9 [5 k) V
  60. 0,10,192,178,0,240,21,249,32,0,192,178,0,240,17,249,0 a4 k( U" F6 S
  61. 79,244,128,81,5,72,0,240,130,248,0,240,1,248,16,189,/ _  r. `# Q' X) U( t
  62. 128,181,255,247,151,254,192,7,251,212,1,189,0,4,2,64,
    $ I0 U7 V2 h  X! d" g6 o8 f
  63. 104,0,0,32,240,180,0,34,0,35,0,36,0,39,0,37,/ r! \4 s) e9 n5 A' Y
  64. 16,45,92,210,1,34,170,64,19,0,10,104,26,64,20,0,
    + D& k, b$ K; e7 T$ N- \3 S# i: z
  65. 156,66,82,209,6,104,95,240,3,12,42,0,210,178,82,0,4 X. L9 l' n  m
  66. 28,250,2,252,54,234,12,6,145,248,4,192,42,0,210,178,
    ' n4 }1 ^8 }/ i0 x5 Z6 ^
  67. 82,0,28,250,2,252,92,234,6,6,6,96,10,121,1,42,, ^0 J6 N% O- V# @) B) U
  68. 2,208,10,121,2,42,36,209,135,104,95,240,3,12,42,0,. j. y* @6 u) K
  69. 210,178,82,0,28,250,2,252,55,234,12,7,145,248,5,192,
    5 \8 g$ O) X0 V9 p0 v3 B7 Q4 _
  70. 42,0,210,178,82,0,28,250,2,252,92,234,7,7,135,96,/ [- X9 g# z, G8 R9 _: t) |- W3 ?
  71. 130,136,95,240,1,12,28,250,5,252,50,234,12,2,145,248,* d9 a, F1 @9 Z; A( V+ a
  72. 6,192,28,250,5,252,31,250,140,252,92,234,2,2,22,0,% e% C7 @  f3 E; n! U
  73. 134,128,194,104,95,240,3,12,47,0,255,178,127,0,28,250,. {, u: ]8 S4 L* }, l
  74. 7,247,50,234,7,7,145,248,7,192,42,0,210,178,82,0,+ b9 c% e9 u4 q; b- I
  75. 28,250,2,252,92,234,7,7,199,96,109,28,160,231,240,188,  s! ^/ N. l7 }
  76. 112,71,16,180,2,0,0,35,16,138,12,0,164,178,32,66,* N  i1 L& N4 j; J" p5 e/ E
  77. 1,208,1,32,0,224,0,32,192,178,16,188,112,71,1,131,
    + r, H4 |" e6 @8 L7 C! n
  78. 112,71,65,131,112,71,240,181,0,36,0,37,19,0,219,178,
    4 {* H+ {+ l. Q; G% t) `; G' R
  79. 17,240,7,6,246,178,182,0,19,250,6,246,11,0,155,178,2 X. Q& _2 V: w: C  X0 n; w
  80. 219,16,0,235,131,7,11,0,155,178,219,16,0,235,131,3,* s5 ?: L( ?; B& D, @
  81. 211,248,32,192,95,240,15,14,17,240,7,3,219,178,155,0,, E$ ?% @( W: _
  82. 30,250,3,254,60,234,14,12,199,248,32,192,11,0,155,178,9 p" L$ [& d% [8 l# ^0 j
  83. 219,16,0,235,131,3,27,106,51,67,15,0,191,178,255,16,* \, N& Q0 H9 Y  u
  84. 0,235,135,7,59,98,240,189,224,181,79,244,0,96,0,144,' g( ]6 w  K: p( A) c
  85. 1,32,141,248,4,0,0,32,141,248,6,0,1,32,141,248,
    ' ^* E$ b; o2 Y
  86. 5,0,105,70,65,72,255,247,69,255,79,244,0,97,63,72,# e1 v) p4 Z8 H3 r- h
  87. 255,247,181,255,79,244,32,64,0,144,1,32,141,248,5,0,
    ( j. D2 Q0 I. L5 G5 D9 ~
  88. 1,32,141,248,4,0,0,32,141,248,6,0,105,70,55,72,
    5 E. D% ^$ O. H( j( l1 T
  89. 255,247,48,255,79,244,128,80,0,144,105,70,51,72,255,247,
    $ i$ L3 Y' J6 _" b
  90. 41,255,79,244,128,112,0,144,105,70,49,72,255,247,34,255,
    9 ?, H* W1 T, d. S: T/ h
  91. 79,244,128,64,0,144,0,32,141,248,7,0,0,32,141,248,
    ) B" R" d$ e- P8 s& O6 [+ l, [$ P
  92. 4,0,105,70,41,72,255,247,21,255,7,189,128,181,255,247,) l3 ]7 g5 g- c+ h) U. z
  93. 187,255,79,244,128,81,37,72,255,247,129,255,79,244,128,113,  e6 J& b) E  x' }+ R" I
  94. 35,72,255,247,124,255,79,244,0,81,32,72,255,247,121,255,6 X* |7 ]9 v; ?, w" s
  95. 1,189,56,181,4,0,0,32,0,37,40,0,192,178,8,40,6 O7 ^5 j9 B+ n- p5 r5 e- Q0 {+ s* w; h, s
  96. 43,218,79,244,0,81,25,72,255,247,107,255,32,6,5,213,
    0 v1 e1 Q' X; o& x+ {7 i0 a
  97. 79,244,0,65,21,72,255,247,98,255,4,224,79,244,0,65,+ ^$ I; G* e2 C1 q' \0 Z
  98. 18,72,255,247,94,255,79,244,0,81,16,72,255,247,87,255,
    ' `5 b( v$ i( n+ o$ p
  99. 100,0,0,191,0,191,0,191,0,191,79,244,128,65,11,72,- O: l: D( @! }8 T+ Q
  100. 255,247,63,255,0,40,1,208,84,240,1,4,79,244,0,81,
    9 _4 E  x+ b7 o% V' H
  101. 6,72,255,247,70,255,109,28,207,231,79,244,0,81,3,72,
    5 ^" q: q6 ?, [! |3 F5 g+ J4 R
  102. 255,247,63,255,32,0,192,178,50,189,0,0,0,4,2,64,
    8 n4 Y, y' b0 t
  103. 0,0,2,64,16,180,2,0,82,178,0,42,9,213,10,1,* f. R4 v& m$ W& y' t9 M1 ^
  104. 83,75,4,0,100,178,20,240,15,4,35,68,3,248,4,44,( f2 W. `" l$ d9 E8 ?7 p- c
  105. 4,224,10,1,79,75,4,0,100,178,26,85,16,188,112,71,
    ! w- @8 H! a5 I2 n9 G. _
  106. 191,243,79,143,76,72,1,104,17,244,224,97,75,72,1,67,3 k3 C$ W8 F. Y% J- c* D
  107. 73,72,1,96,191,243,79,143,254,231,16,181,4,0,96,30,0 ~7 [( C, U( [( H
  108. 176,241,128,127,1,211,1,32,14,224,96,30,68,73,8,96,0 G0 ]" c' \0 G
  109. 15,33,95,240,255,48,255,247,205,255,0,32,65,73,8,96,
    4 d' @* d1 p2 j; |9 ]* V9 i' E
  110. 7,32,65,73,8,96,0,32,16,189,127,181,0,32,1,144,
    ' [, ^5 y% o6 A# j
  111. 0,32,2,144,79,244,128,84,0,37,60,78,42,0,33,0,
    ) F0 g  F9 @. T( z' K
  112. 48,0,0,240,141,248,0,240,4,249,57,72,0,240,34,249,7 f7 q) Q% h$ `; k; S8 I" G
  113. 72,246,160,64,255,247,209,255,4,34,95,244,80,1,1,168,) ]+ @- N5 T/ R. I" s2 f1 a( J
  114. 255,247,33,253,1,152,51,73,136,66,45,209,0,36,0,32,* ?1 }! w; G, N! k- ~: \* Y& t
  115. 0,144,0,240,35,249,0,37,100,45,8,210,79,244,128,96,
    ) Z+ f- T5 F$ E" d2 e4 [
  116. 45,73,0,251,5,16,0,240,53,249,109,28,244,231,0,36,5 Q! B8 R' X7 j: ]
  117. 180,245,200,79,14,210,4,34,161,0,17,245,80,1,104,70,* r3 l. I, w, t7 q9 I' s
  118. 255,247,1,253,0,153,36,72,16,235,132,0,0,240,88,249,
    ! D* ^* c+ Y* ]2 g. v
  119. 100,28,237,231,0,240,21,249,4,34,95,244,80,1,2,168,
    ! E1 \" F( L3 U+ M
  120. 255,247,136,253,255,247,140,255,28,72,0,104,1,40,251,218,' O4 C3 |, T6 C8 y7 |' d: ~
  121. 114,182,25,72,1,104,26,72,1,64,177,241,0,95,18,209,
    # j  U8 {( v; I+ B- I
  122. 24,72,0,240,215,248,24,72,0,104,24,73,8,96,23,72,
    1 W& _3 a" ]% S
  123. 0,104,23,73,8,96,16,72,0,104,128,243,8,136,20,72,6 S& R8 k" _6 W7 f4 [- E. q
  124. 0,104,128,71,2,224,19,72,0,240,196,248,127,189,0,0,
    ) A$ W; Y( Q! l. ^
  125. 24,237,0,224,0,228,0,224,12,237,0,224,4,0,250,5,
    " b6 ~- B5 `2 O6 ~' V0 }9 W4 Y
  126. 20,224,0,224,24,224,0,224,16,224,0,224,104,0,0,32,' J: M0 v! G& Q" Y0 D6 e
  127. 160,19,0,8,50,84,118,152,0,32,0,8,0,0,0,32,
    " G' S: d: L7 Z6 z  `5 a4 _3 j
  128. 0,0,254,47,196,19,0,8,4,32,0,8,188,16,0,32,
    2 F& A5 ~3 f  S3 Z
  129. 184,16,0,32,76,19,0,8,128,181,255,247,102,255,254,231,
      F( A& Q) n0 U4 o" U: A& j
  130. 98,243,15,34,98,243,31,66,64,24,16,240,3,3,8,208,
    ( s( r0 q6 |% P- ?- D
  131. 201,26,31,211,219,7,72,191,0,248,1,45,40,191,32,248,
    3 \1 }6 R8 k1 _& a
  132. 2,45,19,0,48,180,20,70,21,70,16,57,40,191,32,233," `% s4 d: D( j
  133. 60,0,250,216,73,7,40,191,32,233,12,0,72,191,64,248,
    0 R5 k; L3 K& H6 N' ~
  134. 4,45,137,0,40,191,32,248,2,45,72,191,0,248,1,45,
    9 k, l% C- q/ K9 U8 b% d5 [
  135. 48,188,112,71,201,24,24,191,0,248,1,45,203,7,40,191,
    8 i, y$ x5 W& Y4 ]* c
  136. 0,248,1,45,112,71,0,0,128,181,1,33,15,32,0,240,+ x1 |5 l& [$ ~4 o" H5 L# p+ t
  137. 215,249,1,33,79,244,128,64,0,240,226,249,1,189,224,181,
    % R; R! }7 E& I
  138. 128,32,0,144,1,32,141,248,4,0,0,32,141,248,6,0,
    / A. S& Z4 l0 m9 F+ O
  139. 1,32,141,248,5,0,105,70,34,72,255,247,155,253,128,33,
    / N0 J- ]+ t; g( A' s1 o
  140. 32,72,255,247,12,254,7,189,224,181,79,244,0,80,0,144,: {. Y) J) V6 d" c
  141. 1,32,141,248,4,0,0,32,141,248,6,0,1,32,141,248,
    2 p4 K* g, z8 r5 F
  142. 5,0,105,70,24,72,255,247,133,253,16,32,0,144,1,32,0 Q" x$ G8 L) d% o
  143. 141,248,4,0,0,32,141,248,6,0,1,32,141,248,5,0,
    2 W# S0 M$ b- O1 K
  144. 105,70,18,72,255,247,118,253,16,33,16,72,255,247,231,253,7 ]  h+ D: ~; z  f/ J
  145. 7,189,128,181,255,247,184,255,255,247,193,255,255,247,212,255,
    # a; \% s! `7 l
  146. 79,244,0,81,8,72,255,247,218,253,1,32,0,144,0,35,& e+ S* `: j7 h
  147. 8,34,95,244,225,49,6,72,0,240,195,249,255,247,70,254,
    9 Q! X3 w/ a1 i) O+ T5 K' J
  148. 1,189,0,0,0,4,2,64,0,8,2,64,0,0,2,64,) c4 o$ g6 M; e, t0 z8 h5 X
  149. 0,56,1,64,14,180,192,181,2,70,3,168,0,33,1,144,9 C$ k; v. y2 }4 @0 s* f
  150. 0,145,1,171,1,33,4,72,120,68,12,48,0,240,42,250,. y- J' A; R: V! i
  151. 6,188,93,248,16,251,0,191,249,10,0,0,128,181,223,248,
    . @0 C: }7 }. E7 I5 N4 k0 Y" F
  152. 28,1,0,104,128,7,11,213,0,240,96,248,223,248,16,1,! Y% S" w& C6 L% R; n& g+ n% W
  153. 223,248,16,17,8,96,223,248,16,1,223,248,8,17,8,96,7 D( R6 J8 a2 i2 @
  154. 1,189,223,248,248,0,0,104,80,240,2,0,223,248,236,16,
    8 K/ i& L; n3 {8 J
  155. 8,96,112,71,112,181,4,0,4,38,79,244,0,64,0,240,
    $ ]3 T0 v- v6 }2 E
  156. 125,248,5,0,40,0,192,178,4,40,38,209,223,248,204,0,
    $ E+ _2 C- H. B7 z
  157. 0,104,80,244,0,112,223,248,196,16,8,96,223,248,188,0,, \9 t. ?5 |8 m1 d$ G: s% S. i
  158. 0,104,80,240,8,0,223,248,180,16,8,96,0,32,32,96,
    8 c3 n  c! q' Y& j  j; ~% ~7 U3 K# V
  159. 79,244,0,64,0,240,98,248,5,0,223,248,160,0,0,104,1 Y/ k9 E$ _, L" s9 X
  160. 48,240,8,0,223,248,148,16,8,96,223,248,144,0,0,104,
    7 O  y* L6 P0 }
  161. 48,244,0,112,223,248,132,16,8,96,40,0,192,178,112,189,
    5 c9 n6 e; i  w
  162. 248,181,4,0,13,0,4,38,79,244,0,64,0,240,70,248,
    $ K4 g# I3 Y) O; q. B0 T) J* ]
  163. 7,0,56,0,192,178,4,40,5,209,37,96,79,244,0,64,
    4 A# q( K6 i7 k+ s" n1 l, J# H
  164. 0,240,60,248,7,0,56,0,192,178,242,189,223,248,76,0,6 c. f4 N/ m1 n4 e, i
  165. 0,104,192,7,9,213,223,248,84,0,223,248,84,16,8,96,+ V! k1 x1 \! v4 Z: W
  166. 223,248,80,0,223,248,72,16,8,96,112,71,4,33,18,72,
    + V/ n) _' R* A* a- [3 p
  167. 0,104,192,7,1,213,1,32,13,224,15,72,0,104,192,5,& w) w+ Y( T" K% X% g0 D
  168. 1,213,2,32,7,224,12,72,0,104,16,244,240,95,1,208,1 u* h( h, N: a. u2 \9 A$ K! \: n
  169. 3,32,0,224,4,32,192,178,112,71,0,0,4,60,2,64,$ C8 \& C% e4 z4 x# N+ L
  170. 191,174,157,140,16,60,2,64,22,21,20,19,239,205,171,137,
    * G8 S- ~% n# |+ S1 S
  171. 12,60,2,64,5,4,3,2,24,60,2,64,28,181,4,0,8 U# b' L- I7 W! h' A% K" `9 o0 A
  172. 4,32,141,248,0,0,255,247,209,255,141,248,0,0,157,248,: O1 }% l" s* L& s0 K
  173. 0,0,1,40,7,209,0,44,5,208,255,247,199,255,141,248,
    " f8 o+ D6 h2 z
  174. 0,0,100,30,243,231,0,44,2,209,5,32,141,248,0,0,
    ( M6 g5 D% v( x& p$ c2 C1 a
  175. 157,248,0,0,22,189,0,0,45,233,240,79,0,34,0,35,
    + a2 [/ U; g9 m5 T" l0 ~$ b0 {% z. R
  176. 0,36,0,33,0,37,0,38,223,248,116,113,63,104,23,240,
    6 y% S9 {2 m4 Q) y+ \% J3 }& d
  177. 12,7,188,70,188,241,0,15,9,208,188,241,4,15,24,208,4 t) J8 H! v' ^+ B4 ?
  178. 188,241,8,15,25,208,188,241,12,15,26,208,67,224,223,248,- [, R; o9 N+ F, ~9 |6 [( C% D
  179. 84,33,18,104,194,243,66,50,22,0,95,240,1,12,114,28,
    3 @0 p) q7 b- B( r, i
  180. 28,250,2,252,79,244,0,66,2,251,12,252,192,248,0,192,+ @& A! k9 b4 g8 A* L- _8 L
  181. 65,224,223,248,52,33,2,96,61,224,223,248,48,33,2,96,- V4 Y$ Z, Y% P' Y+ z+ k: K
  182. 57,224,71,74,18,104,18,244,112,18,223,248,20,193,220,248,
    % P% V# P- _6 ~" o4 E9 ~$ T
  183. 0,192,28,244,64,12,223,248,24,225,146,12,30,248,2,32,
    ( z7 |7 O2 Q; J1 N
  184. 19,0,95,234,156,92,28,241,1,12,100,70,60,74,18,104,+ b$ }* ]* z9 [, Z# Q
  185. 18,244,128,50,17,0,0,41,6,209,59,74,2,251,3,242,  Q: J/ W9 g) c- s+ Z. P
  186. 178,251,244,242,2,96,5,224,56,74,2,251,3,242,178,251,
    3 ?: \+ F% J; J6 O
  187. 244,242,2,96,15,224,51,74,18,104,194,243,66,50,22,0,1 q9 ^" Y2 Q3 n7 \
  188. 95,240,1,12,114,28,28,250,2,252,79,244,0,66,2,251,! @) G6 u  h. @7 z
  189. 12,252,192,248,0,192,42,74,18,104,18,240,240,2,18,9,
    4 W6 W# E' n" W3 t8 [3 r. L  t
  190. 223,248,176,192,28,248,2,192,208,248,0,224,62,250,12,254," ^3 @$ `$ _5 t' l
  191. 192,248,4,224,223,248,136,224,222,248,0,224,30,244,224,110,
    , ^! F7 V- x/ |0 x/ w3 D
  192. 95,234,30,46,223,248,140,128,24,248,14,128,208,248,4,144,
    / X) o2 J3 K/ g2 o
  193. 57,250,8,249,192,248,8,144,223,248,100,144,217,248,0,144,
    4 N$ j% T: L$ J
  194. 25,244,96,89,95,234,217,41,223,248,104,160,26,248,9,160,
    # m, r; l, S0 h/ m# F; w. f
  195. 208,248,4,176,59,250,10,251,192,248,12,176,189,232,240,143,
    4 b) G1 _: f5 `# y; t! j$ ]( s
  196. 10,0,210,178,0,42,5,208,19,74,18,104,2,67,18,75,& ?* C/ Z* Z) W1 P) V9 Q
  197. 26,96,4,224,16,74,18,104,130,67,15,75,26,96,112,71,5 |0 J2 A) Q6 R) [! O4 g3 j+ O* L
  198. 10,0,210,178,0,42,5,208,12,74,18,104,2,67,11,75,
    $ M8 E' A  r; W' r( D
  199. 26,96,4,224,9,74,18,104,130,67,8,75,26,96,112,71,
    * u* C+ P; K: N- O% R2 R( C4 V2 [
  200. 8,56,2,64,4,56,2,64,0,36,244,0,0,18,122,0,1 q" |' f  m: Y9 q+ O6 L' I# u0 {
  201. 4,0,0,32,16,0,0,32,28,56,2,64,32,56,2,64,
    1 |, n. y" g9 j8 w7 x+ S. K, o
  202. 56,181,4,0,13,0,33,0,201,178,137,178,60,72,0,240,
    " }: H$ F0 W  u* `: N+ n. A
  203. 152,249,128,33,58,72,0,240,208,249,0,40,249,208,32,0,
    % |  }6 \1 L. A" z" e& i" W! {
  204. 50,189,248,181,134,176,4,0,13,0,22,0,31,0,79,244,
    7 V+ N$ _7 }, c( Y6 o( ]
  205. 0,112,0,144,2,32,141,248,4,0,0,32,141,248,6,0,) `: \! W5 t6 e3 [/ a' }* k* j
  206. 3,32,141,248,5,0,1,32,141,248,7,0,105,70,45,72,
    $ g: [6 k# r5 |! t4 }+ f! a, ^
  207. 255,247,128,251,79,244,128,96,0,144,105,70,41,72,255,247,
    7 [. y+ r1 b8 S- |# x. K
  208. 121,251,7,34,9,33,39,72,255,247,237,251,7,34,10,33,4 H+ q$ K: [2 R5 }
  209. 36,72,255,247,232,251,2,149,0,32,173,248,14,0,56,0,
    7 R3 F4 ~2 d( h
  210. 192,178,0,40,6,209,0,32,173,248,12,0,0,32,173,248,
    ! A, q* ]& M4 X5 a& o5 M
  211. 16,0,31,224,56,0,192,178,1,40,8,209,79,244,128,80,
    4 k: S- p% p* f" J  y, p7 W0 a2 r
  212. 173,248,12,0,79,244,192,96,173,248,16,0,18,224,56,0,1 q: c3 e3 }+ }; c7 Y
  213. 192,178,2,40,8,209,79,244,128,80,173,248,12,0,79,244,/ v7 \% @$ z% [/ V2 h
  214. 128,96,173,248,16,0,5,224,0,32,173,248,12,0,0,32,. R3 F% b  R# y& W2 x
  215. 173,248,16,0,0,32,173,248,20,0,12,32,173,248,18,0,: z! B, P" p) G4 v, t- W
  216. 2,169,7,72,0,240,178,248,1,34,64,242,37,81,4,72,! N7 M! `5 e1 i% t+ w8 G
  217. 0,240,43,249,1,33,2,72,0,240,20,249,7,176,240,189,
    ( I$ [; N% |3 c( z7 d( j
  218. 0,56,1,64,0,0,2,64,112,181,28,0,5,70,22,70,4 G" B; ^5 t7 W2 K2 @& _& l
  219. 6,208,8,70,22,248,1,27,168,71,100,30,250,209,1,70,% x. E, `# a! N4 T" O) \! l
  220. 8,70,112,189,45,233,252,67,131,176,129,70,136,70,23,70,
    # K" {8 R9 W6 [
  221. 29,70,7,224,1,35,58,70,65,70,72,70,255,247,228,255,
    6 L) s# Y- m9 C
  222. 128,70,127,28,56,120,224,177,37,40,243,209,121,120,191,28,
    9 i3 i  B" N; p3 A* b
  223. 37,41,18,208,88,41,90,208,99,41,21,208,100,41,24,191,
    9 _0 H4 b- i/ r% Q; `; o# R
  224. 105,41,24,208,111,41,82,208,112,41,86,208,115,41,91,208," T/ ^* L+ W0 c$ z: B
  225. 117,41,24,191,120,41,74,208,228,231,64,70,200,71,128,70,  o( p' j1 N; {
  226. 224,231,5,176,189,232,240,131,40,104,40,96,80,248,4,27,
    4 ^) y( W2 O, F- ~* h
  227. 40,96,201,178,241,231,40,104,40,96,80,248,4,107,40,96,
    , h# ?7 O* o) r* H7 n5 E
  228. 0,46,3,213,45,33,64,70,200,71,128,70,100,33,111,41,6 C% m$ v& O' q- e: R& d
  229. 8,191,8,34,5,208,65,240,32,0,120,40,20,191,10,34,, Y$ n2 @1 m, H, G! H) O
  230. 16,34,11,36,100,41,48,70,2,209,0,46,72,191,64,66,
    ! E* a: b  J& T+ a" }% E! [
  231. 176,251,242,252,2,251,28,0,48,48,100,30,195,178,58,43,
      {9 }: I; M! ~" w* K1 u9 M8 ?1 u
  232. 164,191,161,241,81,3,24,24,13,248,4,0,95,234,12,0,
    : j/ a* j4 E; v/ {3 o' j( ]" Y. `
  233. 1,208,0,44,236,220,13,235,4,6,212,241,11,4,64,70,7 ~" o/ u, g+ k! @9 V! R5 g. `# o3 Y
  234. 189,208,22,248,1,27,200,71,100,30,250,209,183,231,40,104,
    2 @( U$ o! t3 }8 a
  235. 40,96,80,248,4,107,40,96,201,231,40,104,40,96,120,33,, N% R0 f+ j6 v
  236. 80,248,4,107,40,96,194,231,40,104,40,96,80,248,4,107,
    6 L5 \% Z/ y8 l- i, ^9 ?
  237. 40,96,48,70,0,240,208,248,4,0,64,70,159,208,22,248,
    3 p0 ^* P' j* v
  238. 1,27,200,71,100,30,250,209,153,231,0,0,45,233,240,79,/ j, l, ]) E; A
  239. 133,176,4,0,13,0,0,38,0,39,95,240,0,8,95,240,8 h4 O* {8 d- l) r6 I0 f
  240. 0,9,168,137,0,40,33,138,49,244,64,81,232,136,1,67,
    5 q) d- [0 {( O+ p5 y" k
  241. 0,145,0,152,32,130,180,248,12,160,41,72,16,234,10,10,
    + @; k; r) F* L0 g
  242. 169,136,40,137,1,67,104,137,1,67,81,234,10,10,164,248,+ P" U* N  ]- f4 [
  243. 12,160,180,248,20,176,59,244,64,123,168,137,80,234,11,11,+ Q/ f8 \" p5 i
  244. 164,248,20,176,1,168,255,247,215,253,28,72,132,66,1,209,
    ) d- \0 ^+ s* k' k/ H  f5 ]" ^
  245. 4,153,0,224,3,153,160,137,0,4,7,213,25,32,0,251,
    3 ^, z1 p3 b5 ~( i; W0 {" k
  246. 1,240,42,104,82,0,176,251,242,242,6,224,25,32,0,251,
    / `- W1 ]7 a, l# O% d1 Q! b
  247. 1,240,42,104,146,0,176,251,242,242,100,32,178,251,240,246,. {" I( t4 d" b& E! j- V) Z0 s8 S
  248. 54,1,51,0,27,9,100,32,0,251,19,35,160,137,0,4,
    / W* C& V5 z9 y( O! \8 e/ `
  249. 8,213,216,0,50,48,100,39,176,251,247,240,16,240,7,0,# j0 W& k6 m1 [9 ]2 l: v. B
  250. 6,67,7,224,24,1,50,48,100,39,176,251,247,240,16,240,
    6 V- ]9 ?5 H$ l* ]- C
  251. 15,0,6,67,38,129,5,176,189,232,240,143,0,56,1,64,& `3 t) D- @$ n. F
  252. 243,233,255,255,10,0,210,178,0,42,4,208,130,137,82,244,* p5 A- _8 h" w( z
  253. 0,82,130,129,4,224,131,137,77,246,255,114,19,64,131,129,
    7 w) g6 k  \7 A1 K) H% m" L
  254. 112,71,202,5,210,13,130,128,112,71,45,233,240,65,0,35,$ k$ f2 L5 Z  {7 Z- T0 z
  255. 0,37,0,39,95,240,0,14,12,0,164,178,64,246,106,22,
    6 u# f, L; u: X
  256. 180,66,128,70,12,0,228,178,100,9,228,178,14,0,182,178,- }! Y: V$ P- F3 w
  257. 22,240,31,6,95,240,1,12,28,250,6,252,1,44,2,209,
    1 W1 Q/ g+ J  z+ `- u+ C1 K$ x5 t; S4 [
  258. 24,241,12,8,6,224,2,44,2,209,24,241,16,8,1,224,
    4 H( @. b8 _- ^. S' s1 s' g- `* \
  259. 24,241,20,8,19,0,219,178,0,43,6,208,216,248,0,48,
    2 N, x9 `$ C* _) d8 f* w0 I
  260. 92,234,3,3,200,248,0,48,5,224,216,248,0,48,51,234,
    ; T2 o3 O$ @8 B# G; G8 V* a
  261. 12,3,200,248,0,48,189,232,240,129,2,0,0,35,8,0,
    ' b/ Y( r' @% U/ {$ A
  262. 128,178,176,245,0,127,16,136,8,66,1,208,1,32,0,224,
    2 ]0 Z. Y' o5 C! |5 v
  263. 0,32,192,178,112,71,0,0,0,241,1,3,129,7,4,208,# T0 {3 L! [% A! h
  264. 16,248,1,27,137,177,129,7,250,209,2,104,178,241,1,49,+ X7 F& r  H+ ^
  265. 145,67,17,240,128,63,4,191,80,248,4,47,246,231,16,248,6 g$ k/ q8 T# P- [
  266. 1,27,17,177,16,248,1,27,251,231,192,26,112,71,0,0,/ s. Z8 f* g4 g$ E. L/ |
  267. 128,181,82,72,0,104,80,244,128,112,80,73,8,96,80,72,$ U9 v9 l6 m1 g! g! n
  268. 1,104,80,72,1,64,78,72,1,96,76,72,1,104,78,72,
    $ \+ Z% N+ _" z9 }) P
  269. 1,64,74,72,1,96,73,72,0,104,48,244,128,32,71,73,6 M3 Q6 {+ u6 ]) R' z( _4 c
  270. 8,96,71,72,0,104,48,244,125,0,69,73,8,96,0,32,' B) M3 F' _6 f! `
  271. 70,73,8,96,0,240,5,248,95,240,0,96,68,73,8,96,  ]% ~5 q0 {  R, n/ @. H7 ^
  272. 1,189,130,176,0,32,1,144,0,32,0,144,59,72,0,104,  g6 `. t  l3 a' K' n8 h& A
  273. 80,244,128,48,57,73,8,96,56,72,0,104,16,244,0,48,& ?: }% w& p: H# {3 s
  274. 0,144,1,152,64,28,1,144,0,152,0,40,3,209,1,152,! w% y# F) R) m: w. u
  275. 176,245,160,79,240,209,49,72,0,104,128,3,2,213,1,32,. t3 N& _( `: H0 m
  276. 0,144,1,224,0,32,0,144,0,152,1,40,83,209,49,72,+ k$ x3 s7 q- W0 O* ]# j$ ~
  277. 0,104,80,240,4,0,47,73,8,96,46,72,0,104,80,240,3 N3 S$ i$ \0 T! g( |9 s
  278. 2,0,44,73,8,96,43,72,0,104,80,240,1,0,41,73,9 U2 l2 e5 {. D& h' z6 z+ ]
  279. 8,96,41,72,0,104,80,240,128,80,39,73,8,96,79,244,
      q; p1 v# R5 b9 h' j# f; X
  280. 0,96,38,73,8,96,38,72,0,104,192,6,251,212,28,72,# J# D1 ]  ?/ e0 z
  281. 0,104,27,73,8,96,26,72,0,104,25,73,8,96,24,72,+ A; n- L# o! p) G6 b7 C) J
  282. 0,104,23,73,8,96,22,72,0,104,48,244,125,0,20,73,+ q. D$ N' A/ w* A; t
  283. 8,96,19,72,0,104,80,244,17,0,17,73,8,96,15,72,2 q; d+ C3 F+ p7 C+ B, I; h
  284. 0,104,80,240,128,112,13,73,8,96,12,72,0,104,128,1,
    7 W# H0 S( Q4 T, Q1 i
  285. 251,213,11,72,0,104,128,8,128,0,9,73,8,96,8,72,
    ) r5 Y; A( i( W1 o
  286. 0,104,80,240,3,0,6,73,8,96,5,72,0,104,16,240,' k( Z& U$ \1 ~& k3 S. s
  287. 12,0,12,40,249,209,2,176,112,71,0,0,0,56,2,64,9 P  ~: w% ]! n+ Q6 c2 `, G; `
  288. 8,56,2,64,12,192,255,136,254,255,254,238,12,56,2,64,
      U, ~/ m. J( D
  289. 8,237,0,224,0,60,2,64,36,56,2,64,0,112,0,64,
    5 m$ q/ V$ |% {2 c
  290. 4,112,0,64,112,71,254,231,254,231,254,231,254,231,112,71,' i- U( i2 b0 M9 g5 F
  291. 128,181,43,72,0,104,65,28,41,74,17,96,64,242,245,17,% Z" a( r& i2 n9 D
  292. 136,66,7,211,0,32,38,73,8,96,38,72,0,104,64,30,! T, \; t1 ]* y, t' u! r) c: q: @
  293. 36,73,8,96,34,72,0,104,50,40,4,210,128,33,34,72,
    # v/ u- D, L, `$ [
  294. 255,247,63,249,59,224,30,72,0,104,100,40,4,210,128,33,
      H$ W* v- x" P8 U! z
  295. 29,72,255,247,52,249,50,224,25,72,0,104,150,40,4,210,
    * W7 k3 C% k2 T% E  k) {8 t
  296. 128,33,25,72,255,247,45,249,41,224,21,72,0,104,200,40,4 z6 n2 P2 M, I2 f  N7 e% o% ]: l
  297. 4,210,128,33,20,72,255,247,34,249,32,224,16,72,0,104,
    : A2 B; i& s% h' E: Q- T+ R+ O
  298. 250,40,4,210,128,33,16,72,255,247,27,249,23,224,12,72,
    : I' M. j$ y& c2 k! @; C3 o
  299. 0,104,176,245,150,127,4,210,128,33,11,72,255,247,15,249,/ o; t8 ]+ S9 W" K, ^7 W
  300. 13,224,7,72,0,104,176,245,175,127,4,210,128,33,6,72,
    " F9 Q: {, J) p. j: P
  301. 255,247,7,249,3,224,128,33,3,72,255,247,0,249,1,189,
    # {- }+ U3 ^9 q* l) W- ^7 ~" O
  302. 192,16,0,32,0,0,0,32,0,4,2,64,112,71,112,71,
    . S$ z4 {$ l& c/ f8 Z
  303. 112,71,25,224,80,248,4,43,211,7,68,191,169,241,1,3,
    & K2 v- n6 R' T3 ]
  304. 154,24,9,31,0,35,4,41,66,248,4,59,249,210,95,234,
    8 r7 ^! u: G% D9 g1 ]9 k
  305. 129,124,19,70,4,213,79,240,0,12,162,248,0,192,155,28,
    - B, a4 G3 ^5 ^- K0 L0 S
  306. 201,7,68,191,0,33,25,112,80,248,4,27,0,41,225,209,
    3 J) U+ W+ Z* }4 u# p& F5 `
  307. 112,71,48,181,1,104,132,104,66,24,65,104,2,235,81,3,
    , G5 y+ b$ y7 x. S/ o
  308. 201,7,11,213,76,68,9,224,18,249,1,27,18,248,1,91,
    , {$ o. g1 v: }
  309. 0,41,4,248,1,91,5,213,73,28,249,209,154,66,243,209,
    : g: M, N0 r$ a
  310. 12,48,48,189,73,30,241,213,248,231,0,0,45,45,45,45,; n# H0 h9 ]8 [8 c
  311. 91,66,111,111,116,93,65,80,80,76,73,67,65,84,73,79,. H$ \" _( k3 A
  312. 78,65,68,68,82,69,83,83,32,105,115,32,69,82,82,79,
      ^+ u0 K$ @4 O% e1 y9 I- ^
  313. 82,33,33,33,13,10,0,0,16,181,7,73,121,68,24,49,
    5 j& L. Z# ~% |. |" w0 B" l
  314. 6,76,124,68,22,52,4,224,10,104,8,29,17,68,136,71,4 |0 _, E; k, s7 @+ h, A8 S
  315. 1,70,161,66,248,209,16,189,80,0,0,0,108,0,0,0,! ^1 r) Y4 E. P9 A
  316. 45,45,45,45,91,66,111,111,116,93,66,111,111,116,76,111,6 @' u0 `, l* `: R, q
  317. 97,100,101,114,32,82,117,110,110,105,110,103,46,46,46,32,
    ! p" k9 ]; y0 N; K3 S# m5 k
  318. 13,10,0,0,45,45,45,45,91,66,111,111,116,93,74,117,/ w0 @- E4 ~9 M7 q& y4 C7 ]
  319. 109,112,95,84,111,95,65,112,112,108,105,99,97,116,105,111,
    ( v) O+ C! ]4 U/ t) K  g* {
  320. 110,33,33,33,13,10,0,0,235,254,255,255,92,16,0,0,
    * G6 i0 H0 X0 s; o% }
  321. 104,0,0,32,0,0,0,0,27,255,255,255,68,1,0,0,& Q! Z0 O2 G4 Y) `) m
  322. 138,0,0,0,0,0,0,32,0,240,13,248,0,40,1,208,
    + G# l3 o7 h6 F5 ^
  323. 255,247,178,255,175,243,0,128,0,32,175,243,0,128,255,247,8 ?: V) s, }4 r, q; _9 n3 w1 f7 J
  324. 235,249,0,240,2,248,1,32,112,71,0,240,1,184,0,0,
    7 i" C+ D, _% F; W
  325. 7,70,56,70,0,240,2,248,251,231,0,0,128,181,175,243,
    5 V6 L5 u1 F3 i6 b% _2 n, @
  326. 0,128,2,74,17,0,24,32,171,190,251,231,38,0,2,0,
    : a% y( I: t" t+ u. ^
  327. 56,181,4,70,13,70,40,70,0,240,6,248,168,66,24,191,0 K' f0 v& d5 I0 o: M% A! g
  328. 0,36,32,70,50,189,0,0,1,73,255,247,9,188,0,191,
    $ {  Q4 q- P" G1 e! p3 a
  329. 32,0,0,32,1,72,128,71,1,72,0,71,145,16,0,8,6 [/ A4 t# ]$ y0 Q& v, ~
  330. 133,20,0,8,175,243,0,128,175,243,0,128,255,247,188,255,) V6 Q6 o/ ?- ^+ J0 h
  331. 255,247,254,191,255,247,254,191,255,247,254,191,255,247,254,191,, c& a. W6 ^% ^8 ]
  332. 255,247,254,191,255,247,254,191,255,247,254,191,255,247,254,191,5 ^' I; _% d& c
  333. 255,247,254,191,255,247,254,191,255,247,254,191,255,247,254,191,
    0 [, s" m7 T4 b% h
  334. 255,247,254,191,255,247,254,191,255,247,254,191,255,247,254,191,5 M4 H) |2 b" `1 c: ~: O" v5 F- {
  335. 255,247,254,191,255,247,254,191,255,247,254,191,255,247,254,191,
    . Z  G& Z9 [1 ?+ T0 j7 {1 D
  336. 255,247,254,191,255,247,254,191,255,247,254,191,255,247,254,191,
    8 G4 p9 a9 c3 o- G: b
  337. 255,247,254,191,255,247,254,191,255,247,254,191,255,247,254,191,# Z$ E- x  A- N3 U# d$ x/ H/ p! F! a: ?3 ]
  338. 255,247,254,191,255,247,254,191,255,247,254,191,255,247,254,191,6 y+ |( U. m7 J- c$ _- s  P0 O/ {
  339. 255,247,254,191,255,247,254,191,255,247,254,191,255,247,254,191,. Z8 M/ x" [: b* ?( V: k
  340. 255,247,254,191,255,247,254,191,255,247,254,191,255,247,254,191,
    ' @5 d9 M" z% _( \+ n
  341. 255,247,254,191,255,247,254,191,255,247,254,191,255,247,254,191,$ C, _7 ^  n+ B+ }- n5 Q0 q
  342. 0,10,253,0,8,3,4,6,8,12,16,24,32,48,249,0,
    ! Z; S5 r0 D7 ]% J+ m: t- e
  343. 31,1,2,3,4,1,2,3,4,6,7,8,9,2,4,1,
    2 z& d2 l' U% s: {2 H
  344. 1,104,16,0,32,184,16,0,32,104,16,0,32,104,16,0,% O' J" N9 D+ N- @
  345. 32,252,0,3,104,16,0,32,252,0,7,100,0,0,32,80,
    + v& P6 u% I  i" `1 W
  346. 0,0,32,224,0};
复制代码

& N0 T5 @: n5 x. T. S) Y2 f7 _
" A% L2 {  U( P9 w, t
收藏 评论0 发布时间:2022-1-23 16:34

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版