zhubaomin
2025-04-07 39bf16fdaa41ea3ab9a8962e00bae7342904483e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
Êþº¾@B
 java/lang/Object<init>()V        
com/dy/rtuMw/Serverconf)Lcom/dy/common/util/ConfigXml4Springboot;     docLorg/jdom2/Document;      showStartInfoZjava/util/ArrayList
     unitsLjava/util/List;
  doStartServer()Z
!"# $com/dy/rtuMw/ServerShutDownHook
OnShutDown
&'( )*java/lang/SystemcurrentTimeMillis()J
, -.getClass()Ljava/lang/Class;0/config.properties
234 56java/lang/ClassgetResourceAsStream)(Ljava/lang/String;)Ljava/io/InputStream;
89: ;<#com/dy/common/util/ConfigPropertiesinit(Ljava/io/InputStream;Z)V>'com/dy/common/util/ConfigXml4Springboot
=    A BCresourceLoader,Lorg/springframework/core/io/ResourceLoader;E
config.xml
=G HI    createDomT(Lorg/springframework/core/io/ResourceLoader;Ljava/lang/String;)Lorg/jdom2/Document;K config.server
=N OPgetSetAttrBoolean_(Lorg/jdom2/Document;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
R S
startUnitsUname
WXY Z[java/lang/BooleanvalueOf(Z)Ljava/lang/Boolean;
=] ^_ getSetAttrTxtƒ(Lorg/jdom2/Document;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Boolean;Ljava/lang/String;)Ljava/lang/String;ajava/lang/Exceptionc    efg hi$com/dy/rtuMw/server/ServerProperties
isLowPowerLjava/lang/Boolean;
Wk l booleanValuen(低功耗)p qrmakeConcatWithConstants8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;tcompany    &v wxoutLjava/io/PrintStream;z,OOOOOOOOOO           OOOOOOOO       OOOOOOOO
|}~ €java/io/PrintStreamprintln(Ljava/lang/String;)V‚-@@@@@@@@@@@@@@@@#O    $@@@@@@@@&    @@@@@@@@#„,@@@@@@@@@@@@@@@@@@@#    @@@@@@@@# $@@@@@@@@&†+@@@@@@@@@@@@@@@@@@@@@#   #@@@@@@@@@@@@@@@@Oˆ)@@@@@@@@@@@@@@@@@@@@@@@   &@@@@@@@@@@@@@@Š(@@@@@@$      $@@@@@@@@@&   O@@@@@@@@@@@#    Œ ŽorgTagLjava/lang/String;p    ‘ ’Ž
HttpSvPath    ” •Ž
HttpSvPortp˜&@@@@@@$       O@@@@@@@@@     &@@@@@@@@    š ›ŽTcpSvUrl qž&(Ljava/lang/String;)Ljava/lang/String;      ¡ŽRmiSvUrl¤&@@@@@@$      #@@@@@@@@@$     &@@@@@@@@¦G@@@@@@@@@@@@@@@@@@@@@@#      &@@@@@@@@       Running in standalone mode¨ q©(J)Ljava/lang/String;¬&@@@@@@@@@@@@@@@@#O           &@@@@@@@@
`® ¯printStackTrace± config.base    eŒ
µ¶· ¸¹java/lang/Stringtrim()Ljava/lang/String;
µ» ¼½equals(Ljava/lang/Object;)Z¿机构tag不能为空
`Á €hÄ onlyDealRtus    eÆ ÇionlyDealRtusTestÉ,Ë,
µÍ Îr
replaceAllР
µÒ ÓÔsplit'(Ljava/lang/String;)[Ljava/lang/String;    eÖ Ä×[Ljava/lang/String;ÙonlyOneProtocol    eÛ ÙiÝdownComandMaxResendTimes
ßàá Zâjava/lang/Integer(I)Ljava/lang/Integer;
=ä åægetSetAttrPlusInt—(Lorg/jdom2/Document;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/String;)Ljava/lang/Integer;
ßè éê    byteValue()B
ìíî Zïjava/lang/Byte(B)Ljava/lang/Byte;    eñ ÝòLjava/lang/Byte;ôcommandSendInterval
ßö ÷øintValue()Iè
üýþ Zÿjava/lang/Long(J)Ljava/lang/Long;    e ôLjava/lang/Long;fastCommandSendIntervalœ@    e     cacheWaitResultTimeout    e      offLineCacheTimeout£    e  lastUpDataTimeLive    e dbDataIdSuffix
= æ getSetAttrInt    e Ljava/lang/Integer;cacheUpDownDataWarnCount    e  "cacheUpDownDataMaxCount    e$ "&;cacheUpDownDataMaxCount必须大于cacheUpDownDataWarnCount(disconnectedByNoUpDataMinutes    e* (
ü, -*    longValued11disconnectedByNoUpDataMinutes取值必须是1~100<5workReportDealOneByTimes    e7 59intakeAlarmLossMinValue
;<= Z>java/lang/Double(D)Ljava/lang/Double;A.„€
=B CDgetSetAttrPlusDouble”(Lorg/jdom2/Document;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Double;Ljava/lang/Double;Ljava/lang/String;)Ljava/lang/Double;    eF 9GLjava/lang/Double;IsendDingDingAlarmMsInterval    eK I
MNO PQ"com/dy/common/util/IDLongGenerator    setSuffix(I)VS*com/dy/common/mw/protocol/ProtocolConfigVo
RVconfig.protocolX
centerAddr    RZ X\synchroRtuClock    R^ \i`synchroRtuClockTimepieces    Rb `    Rd if+com/dy/rtuMw/server/AdapterImp_ProtocolUnit
e
ei jk    setConfig/(Lcom/dy/common/mw/protocol/ProtocolConfigVo;)V
mno pq&com/dy/common/mw/protocol/ProtocolUnit getInstance*()Lcom/dy/common/mw/protocol/ProtocolUnit;
ms tu
setAdapter*(Lcom/dy/common/mw/UnitAdapterInterface;)Vw xycall*()Lcom/dy/common/mw/UnitCallbackInterface;
m{ |}start+(Lcom/dy/common/mw/UnitCallbackInterface;)V € ‚½java/util/Listadd„,com/dy/common/mw/support/SupportUnitConfigVo
ƒ‡config.support‰short_maxThread    ƒ‹ ‰ŒIŽshort_minThread    ƒ ŽŒ’short_freeTimeout    ƒ” ’•J—short_busyTimeout    ƒ™ —•    ƒ› œenableShortThreadPoolžlong_maxThread    ƒ  žŒ¢long_minThread    ƒ¤ ¢Œ¦long_freeTimeout    ƒ¨ ¦•ªlong_busyTimeout    ƒ¬ ª•ÿÿÿÿÿÿÿÿ    ƒ° ±enableLongThreadPool    ƒd´*com/dy/rtuMw/server/AdapterImp_SupportUnit
³
³· j¸1(Lcom/dy/common/mw/support/SupportUnitConfigVo;)V
º»¼ p½$com/dy/common/mw/support/SupportUnit(()Lcom/dy/common/mw/support/SupportUnit;
ºsw
º{Â*com/dy/rtuMw/resource/ResourceUnitConfigVo
ÁÅconfig.resourceÇ    rtuLogDir    ÁÉ ǎËrtuLogFileMaxSize„€    ÁÎ ËŒÐrtuLogFileMaxCount    ÁÒ ÐŒÔmonitorInterval    ÁÖ ÔŒØsaveDbInterval    ÁÚ ØŒÜ+com/dy/rtuMw/server/AdapterImp_ResourceUnit
Û
Ûß jà/(Lcom/dy/rtuMw/resource/ResourceUnitConfigVo;)V
âãä på"com/dy/rtuMw/resource/ResourceUnit&()Lcom/dy/rtuMw/resource/ResourceUnit;
âs
èéê ëì*com/dy/common/springUtil/SpringContextUtilgetApplicationContext2()Lorg/springframework/context/ApplicationContext;
âî ïðsetSpringContext3(Lorg/springframework/context/ApplicationContext;)V    w
â{ô-com/dy/rtuMw/server/msCenter/MsCenterConfigVo
ó÷config.msCenterùenable    óû ùiýnotifyInterval    óÿ notifyMsInterval    ód+com/dy/rtuMw/server/AdapterImp_MsCenterUnit
 
 j2(Lcom/dy/rtuMw/server/msCenter/MsCenterConfigVo;)V
    
 p )com/dy/rtuMw/server/msCenter/MsCenterUnit-()Lcom/dy/rtuMw/server/msCenter/MsCenterUnit;
    s
w
    {/com/dy/rtuMw/server/upgrade/UpgradeUnitConfigVo
config.upgrade    û openNoUpgrade     ilastOpenMaxGoOn~@      noOneRtuUpgradeMaxDuration    "  $runningAndIdleDuration    & $( failTryTimes    * (,ugMaxRtuAtOnceB@    / ,1rtuOffLineWaitDuration6   4 16notifyStateInterval    8 6:notifyTimesAfterOver    < :    d?*com/dy/rtuMw/server/AdapterImp_UpgradeUnit
>
>B jC4(Lcom/dy/rtuMw/server/upgrade/UpgradeUnitConfigVo;)V
EFG pH'com/dy/rtuMw/server/upgrade/UpgradeUnit+()Lcom/dy/rtuMw/server/upgrade/UpgradeUnit;
Es w
E{M/com/dy/rtuMw/server/rtuData/RtuDataUnitConfigVo
L    LAQ*com/dy/rtuMw/server/AdapterImp_RtuDataUnit
P
PT jU4(Lcom/dy/rtuMw/server/rtuData/RtuDataUnitConfigVo;)V
WXY pZ'com/dy/rtuMw/server/rtuData/RtuDataUnit+()Lcom/dy/rtuMw/server/rtuData/RtuDataUnit;
Ws w
W{_&com/dy/common/mw/core/CoreUnitConfigVo
^b config.cored coreInterval
ß,    ^g d    ^i j queueWarnSize    ^l m queueMaxSize    ^dp'com/dy/rtuMw/server/AdapterImp_CoreUnit
o
os jt+(Lcom/dy/common/mw/core/CoreUnitConfigVo;)V
vwx pycom/dy/common/mw/core/CoreUnit"()Lcom/dy/common/mw/core/CoreUnit;
vs|-com/dy/rtuMw/server/tasks/RtuDownConstantTask
{
v €addConstantTask#(Lcom/dy/common/mw/core/CoreTask;)Vƒ1com/dy/rtuMw/server/tasks/FromRtuDataConstantTask
‚†6com/dy/rtuMw/server/tasks/FromRtuComResultConstantTask
…‰,com/dy/rtuMw/server/tasks/SendMsConstantTask
ˆ w
v{Ž(com/dy/common/mw/channel/tcp/TcpConfigVo
‘
config.tcp    “ ù•portÿÿ    ˜ •š
processors    œ šžidle      ž    d£&com/dy/rtuMw/server/AdapterImp_TcpUnit
¢
¢¦ j§-(Lcom/dy/common/mw/channel/tcp/TcpConfigVo;)V
©ª« p¬$com/dy/common/mw/channel/tcp/TcpUnit(()Lcom/dy/common/mw/channel/tcp/TcpUnit;
©sw
©{± q²'(Ljava/lang/Integer;)Ljava/lang/String;RuntimeVisibleAnnotations4Lorg/springframework/beans/factory/annotation/Value;value${server.port}${server.servlet.context-path}8Lorg/springframework/beans/factory/annotation/Autowired;    Signature2Ljava/util/List<Lcom/dy/common/mw/UnitInterface;>;CodeLineNumberTableLocalVariableTablethisLcom/dy/rtuMw/Server; startServer StackMapTablesvNameeLjava/lang/Exception;runningtcpAdap(Lcom/dy/rtuMw/server/AdapterImp_TcpUnit;tcpUnit&Lcom/dy/common/mw/channel/tcp/TcpUnit;protoVo,Lcom/dy/common/mw/protocol/ProtocolConfigVo;    protoAdap-Lcom/dy/rtuMw/server/AdapterImp_ProtocolUnit;    protoUnit(Lcom/dy/common/mw/protocol/ProtocolUnit;supVo.Lcom/dy/common/mw/support/SupportUnitConfigVo;supAdap,Lcom/dy/rtuMw/server/AdapterImp_SupportUnit;supUnit&Lcom/dy/common/mw/support/SupportUnit;resVo,Lcom/dy/rtuMw/resource/ResourceUnitConfigVo;resAdap-Lcom/dy/rtuMw/server/AdapterImp_ResourceUnit;resUnit$Lcom/dy/rtuMw/resource/ResourceUnit;mscVo/Lcom/dy/rtuMw/server/msCenter/MsCenterConfigVo;mscAdapt-Lcom/dy/rtuMw/server/AdapterImp_MsCenterUnit;mscUnit+Lcom/dy/rtuMw/server/msCenter/MsCenterUnit;ugVo1Lcom/dy/rtuMw/server/upgrade/UpgradeUnitConfigVo;ugAdap,Lcom/dy/rtuMw/server/AdapterImp_UpgradeUnit;ugUnit)Lcom/dy/rtuMw/server/upgrade/UpgradeUnit;rducVo1Lcom/dy/rtuMw/server/rtuData/RtuDataUnitConfigVo;rducAdap,Lcom/dy/rtuMw/server/AdapterImp_RtuDataUnit;rducUnit)Lcom/dy/rtuMw/server/rtuData/RtuDataUnit;
coreConfVo(Lcom/dy/common/mw/core/CoreUnitConfigVo;coreAdap)Lcom/dy/rtuMw/server/AdapterImp_CoreUnit;coreUnit Lcom/dy/common/mw/core/CoreUnit;tcpVo*Lcom/dy/common/mw/channel/tcp/TcpConfigVo;lambda$startUnits$7(Ljava/lang/Object;)VobjLjava/lang/Object;
Exceptionslambda$startUnits$6lambda$startUnits$5lambda$startUnits$4lambda$startUnits$3lambda$startUnits$2lambda$startUnits$1lambda$startUnits$0
SourceFile Server.java*Lorg/springframework/stereotype/Component;BootstrapMethods
    
q $java/lang/invoke/StringConcatFactory˜(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; -;@@@@@@$        @@@@@@@@@     @@@@@@@@@&      RtuMw 1.0.00;@@@@@@$       O@@@@@@@@@     &@@@@@@@@       HttpSv [ip]:4@@@@@@$       O@@@@@@@@@     &@@@@@@@@       TcpSv 4@@@@@@$      #@@@@@@@@@$     &@@@@@@@@       RmiSv <@@@@@@@@@@@@@@@@@@@@@&       &@@@@@@@@       Startup in  MS.@@@@@@@@@@@@@@@@@@@#         &@@@@@@@@       
  "java/lang/invoke/LambdaMetafactory metafactoryÌ(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;÷#
$ ÷&
' ÷)
* ÿ÷,
- þ÷/
0 ý÷2
3 ü÷5
6 û÷8
9 ö÷;[ip]: InnerClasses>%java/lang/invoke/MethodHandles$Lookup@java/lang/invoke/MethodHandlesLookup!
 Ž¡Ž›Ž•޳ ´µs¶’޳ ´µs·BC³¸¹º »Y*·*µ*µ *µ*»Y·µ±¼(*    +,9½ ¾¿À»F *¶™¸ ±¼OP
R½  ¾¿Á
»%<¸%A*¶+/¶1¸7*»=Y·?µ**´*´@D¶Fµ **´*´ JL¶Mµ*¶Q*´*´ JT¸V¶\:§    :b:²d¶j™m§bºo:*´*´ Js¸V¶\:§    :b:²uy¶{²u¶{²uƒ¶{²u…¶{²u‡¶{²u‰¶{²u*´‹º¶{*´Æ *´“Ʋu*´“*´º–¶{§ ²u—¶{*´™Æ²u*´™ºœ¶{§ ²u—¶{*´ŸÆ²u*´Ÿº¢¶{§ ²u£¶{²u¥¶{²u¸% eº§¶{²uºª¶{²u«¶{<§ :¶­<¬H_b`˜›`‚`¼ª*WXZ\]/`DbHf_ibgdhhjn˜q›op¡r©s±t¹uÁvÉwÑxâyðz|€'‚/„6…H‡P‰XŠh‹uŒ}‘‚Ž„‰‹’½f
_ŽdÃĘtŽÃÄhŽ¡ÞtŽ„Ãč¾¿‹Å‡|•ÁRÿb`üµOµÿµµµ``üµûdÿ1`S»
 
ã*´*´ °²¸V¶\³³²³Æ²³¶´b¶º™ »`Y¾·À¿*²³µ‹*´*´ °Â¶M¸V³d²dÇ
¸V³d*´*´ °Ã¸V¶\L+Æ+¶´b¶º™ ¸V³Å§<+ÈʶÌL+Ïb¶ÌL+Ê¶Ñ³Õ²ÕÆ²Õ¾ž ¸V³Å§
¸V³Å*´*´ °Ø¶M¸V³Ú²ÚÇ
¸V³Ú*´*´ °Ü¸Þ¸Þ¶ã¶ç¸ë³ð*´*´ °ó¸Þ(¸Þ¶ã¶õ…ùi¸û³*´*´ °¸Þ¸Þ¶ã¶õ…
i¸û³*´*´ °
¸Þh¸Þ¶ã¶õ…ùi¸û³
*´*´ ° ¸Þ¸Þ¶ã¶õ…ùi¸û³*´*´ °¸Þˆ¸Þ¶ã¶õ…
i¸û³*´*´ °¸Þc¸Þ¶³*´*´ °¸Þ¶ã³*´*´ °!¸Þ¶ã³#²#¶õ²¶õ£»`Y%·À¿    *´*´ °'¸Þd¸Þ¶ã¶õ…a¸û³)²)¶+
”›²)¶+.”ž»`Y0·À¿²)¶+2iùi¸û³)*´*´ °4¸Þd¸Þ¶ã³6*´*´ °8¸:?¸:¶A³E*´*´ °H¸ÞX¸Þ¶ã³J²¶õ¸L»RY·TM,*´*´ UW¸Þ¸Þ¶ãµY,*´*´ U[¶M¸Vµ],è*´*´ U_¶ã¶õh¸Þµa,*´¸Vµc»eY·gN-,¶h¸l:-¶rºv¶z*´¹~W»ƒY·…:*´*´ †ˆ¸Þè¸Þ¶ã¶õµŠ´Šœ    µŠ*´*´ †¸Þd¸Þ¶ã¶õµ´œ    µ*´*´ †‘¸ÞZ¸Þ¶ã¶õèh…µ“*´*´ †–¸Þ
¸Þ¶ã¶õèh…µ˜´Š™ ´š µš§    µš*´*´ †¸Þè¸Þ¶¶õµŸ´Ÿœ    µŸ*´*´ †¡¸Þd¸Þ¶ã¶õµ£´£œ    µ£*´*´ †¥¸ÞZ¸Þ¶ã¶õèh…µ§*´*´ †©¸Þ
¸Þ¶¶õ…µ«´«    ”œ ­µ«´Ÿ™ ´£š µ¯§    µ¯*´¸Vµ²»³Y·µ:¶¶¸¹:¶¾º¿¶À*´¹~W»ÁY·Ã:*´*´ ÄÆ¸V¶\µÈ*´*´ ÄÊ
¸Þ̸Þ¶ã¶õµÍ*´*´ ÄϸÞ
¸Þ¶ã¶õµÑ*´*´ ÄÓ¸Þ¸Þ¶ã¶õµÕ*´*´ Ä׸޸޶ã¶õµÙ»ÛY·Ý:        ¶Þ¸á:
 
    ¶æ
¸ç¶í
ºñ¶ò*´
¹~W»óY·õ:  *´*´ öø¶M¸Vµú *´*´ öü¸ÞX¸Þ¶ã¶õ…ùi¸ûµþ *´¸Vµ»Y·:   ¶¸:   ¶  º¶*´ ¹~W»Y·:*´*´ ø¶M¸Vµ*´*´ ¶M¸Vµ*´*´ ¸Þ¸Þ¶ãµ´¶õèh¸Þµ*´*´ ¸Þ¸Þ¶ãµ!´!¶õèh¸Þµ!*´*´ #¸Þ¸Þ¶ãµ%´%¶õèh¸Þµ%*´*´ '¸Þd¸Þ¶ãµ)*´*´ +¸Þ-¸Þ¶ãµ.*´*´ 0¸Þ2¸Þ¶ãµ3´3¶õèh¸Þµ3*´*´ 5¸Þ,¸Þ¶ãµ7´7¶õèh¸Þµ7*´*´ 9¸Þ¶ãµ;*´¸Vµ=»>Y·@:¶A¸D:¶IºJ¶K*´¹~W»LY·N:*´@µO»PY·R:¶S¸V:¶[º\¶]*´¹~W»^Y·`:*´*´ ac¸ÞȸÞ¶ã¶e¸ûµf²µh²#µk*´¸Vµn»oY·q:¶r¸u:¶z»{Y·}¸~»‚Y·„¸~»…Y·‡¸~»ˆY·Џ~º‹¶Œ*´¹~W»Y·:*´*´ ø¶Mµ’´’™´*´*´ ”d¸Þ–¸Þ¶ãµ—*´*´ ™¸Þd¸Þ¶ãµ›*´*´ ¸Þ¸Þ¶ãµŸ*´¸Vµ¡»¢Y·¤:¶¥¸¨:¶­º®¶¯*´—º°µ™*´¹~W§L+¶­±
Ú
Ý`¼¢¨™š,›6=žTŸZ a£w¤‡¥‘§š¨£©¬ª¹«Ã­Êµá¶ç·îº¼8¾`À‹Â¶ÄÞÆüÈÊ0Ë?ÌJÏqÐ‰Ñ”Ó¨ÖÆÙåÜß äå4æNèqé|ê„ë‰ìŽí”îžðªô³öØ÷àøæú
ûüþAÿjzƒ‰®¶    ¼ à è î<FN^gmy‚‰Ž• Ÿ"«'´)Ð+ö-0=2a6j7q8v9};…=?›Y¤Z¿[ì\ø]^_ `ac*h3iNjik‹lŸmÁnÕo÷p q,rNspt„u¦vºw×xãyìzó{ø|ÿ}            ƒ    „    '…    0†    7‡    <ˆ    C‰    M‹    Y‘    b’    Š“    ’”    š•    ¦–    ¯—    ¶˜    »™    Âš    Ì›    Öœ    à    êž    ô 
    ¦
!§
)¨
L©
mª
Ž«
š¬
£­
ª®
¯¯
¶°
À²
γ
Ú·
ݵ
Þ¶
⸽
£7ÆÇ
¯+ÈÉw
cĎÅÊË„VÌÍŽLÎϳ'ÐÑ‚XÒÓŽLÔÕ´&Ö×jpØÙ    vdÚÛ
¤6ÜÝ ÙÞß  Íàá 3§âãìîäåøâæç    ¼èé    0ªêë    <žìí    bxîï    ¯+ðñ    »òó
    Ñôõ
ÞÃÄ
㾿ÁJ,    *ü%µ    1#û[>
ÿQµRemƒ1ûa21û_ÿlB`
ö÷»+±¼±½ øùú`
û÷»+±¼Ÿ½ øùú`
ü÷»+±¼Š½ øùú`
ý÷»+±¼~½ øùú`
þ÷»+±¼b½ øùú`
ÿ÷»+±¼>½ øùú`
÷»+±¼!½ øùú`
÷»+±¼ï½ øùú`³‚ !"!!%!!(!!+!!.!!1!!4!!7!:<
=?A