5a!# t =btplg.uwaterloo.ca/theses/shihthesis.pdfj < 5 = rp1n9jeo@nr t ebv p $ ro7?1 = 58r <...

112

Upload: doque

Post on 28-Jun-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

����������� ��� �������������������������������

!#"

$&%('*),+.-/+

021436587:9;7<>= 587?5A@#1B5DC�1BEF1B365HG�@#9JIK5 = 7L9M1N"FEPO(QSRP145 =BT EKE

9M@UOWV TYX6TMZ 5A@>1�E8O(1B3[51436587:9;7 = 5D\]V>9 = 5 Z 5^@>1(OWE = 1B365C>5A_ = 5A5`EPO

a Rb7N1B5 = E8O a RP14365 Z RP1N9;c^79M@

d(E ZF< V6145 =He cf9M5A@gch5

QSRP145 =BT EKE[ikjl@#1mR = 9ME6i�d�RP@nRoC6R>i�p^qbqor

csut V6@ e 3>9M3up^qbqbr

� 365 = 5A!#" C#58c T R = 5 143nRP1 � R Z 1B3[5�7NE T 5 R8V61B3[E = E8O�143>9 7 1436587L9 7��� R8V61B3[E = 9��A5F1B3[5 G�@>9MIK5 = 7:9M1?"�EPO QuR81B5 =4T EKE�1BE T 5A@gC�143>9 7 1436587:9;7�14EUEo1B365 = 9M@n7?1N9J14V61?9MEo@n7

E = 9M@nC]9MIK9;C#VnR T 7 OWE = 14365 < V =m< E 7?5 EPO 7Bcm36E T R =BT " = 587?5DR = cm3��

� OWV = 14365 = R8V61B36E = 9��A5 14365HG�@>9MIK5 = 7:9M1?" EPO(QSRP145 =BT EKE 1BE = 5 <#= E#C>Vnc 5�1B3#9;7�1B3[587L9 7 !#" < 36E��1BE#c E < "]9M@6_E = !#"�Eo1B365 = Z 58R8@n7hib9M@ 1BEo1mR T E = 9J@ < R = 1Ai#RP1�1B365 = 58\KV6587N1�EPO Eb14365 = 9M@n7?1N9J14V61?9MEo@n7E = 9M@nC]9MIK9;C#VnR T 7 OWE = 14365 < V =m< E 7?5 EPO 7Bcm36E T R =BT " = 587?5DR = cm3��

9Y9Y9

� 365�G`@>9MIK5 = 7:9J1N" E8O�QSRP145 =BT EKE = 58\KV>9 = 587�1B3657:9J_o@nRP14V = 5D7 EPO�R TYT�< 5 = 7?Eb@g7 Vn7:9M@6_ E =`< 36E��1BE#c E < "]9M@6_ 143>9 7 1436587:9;7���� T 58Ro7?5 7:9M_b@�!n5 T E��Hi&RP@nC _P9MIK5RbC6C = 587B7lRP@gC�C6R81B5 �

I

����������� �

� 5A![V6_b_89J@[_uchEo@nchV =4= 5A@#1 <#= Eb_ = R Z 7�9 7 C]9�� chV T 1 !n58c^RPVn7N5�c Eb@nchV =B= 5^@>1 <>= Eo_ = R Z 7 c Eb@#1mRD9M@!nEb143 7?58\KV65A@#1?9 R T 5 =B= E = 7UR8@nC RbC6C]9M1N9JEo@nR T c Eb@nchV =B= 5^@>1 5 =B= E = 7�� � 1 9 7 58747?5A@#1?9 R T 14E 3gRDIK5Ru7N" Z !nE T 9 c C>5A!6V6_o_b5 = 1B3nR81 1 = V T " V6@nC>5 = 7?1 RP@nC67 chEb@nc V =B= 5A@nch" 1BEu9 ZF<>= E8IK5 c Eb@nchV =B= 5^@>1C>5A![V6_b_89J@[_�c^R < R8!>9 T 9M1N9J5D7 RP@nC = 58C>Vnch5 C>5A!6V[_b_P9M@6_ 1N9 Z 5 ��� ��� ��Ro7�C>587:9J_o@658C 1BE !n5 7?Vncm3RFchEb@nc V =B= 5A@>1 C>5A!6V[_b_b5 = i636E�� 5^IK5 = 9M1 ��Rb7 O/R = O = E Z chE Z�<>T 5A145 �

� 3>9 7 1B3[587L9 7 <>= 587N5A@#1m7 5��[1B5A@g7L9MEb@n7�1BE�� ����� 7 OWV[@nch1?9MEo@nR T 9M1N"KibVn74RP!>9 T 9M1?" i>R8@nC < E = 1mR8!>9 T 9J1N" �� 587?1 = 9 ch1B5DC chEb@nCK9J1N9MEb@nR T ! = 58R�� < E89J@#1m7 i RP1B1 Rbcm3 Z 5A@>1`EPO�� ��� 14E�R = V6@6@>9M@6_ R <6<>T 9 cAR81?9MEb@�i!n5A3nRAIK9JEoV = R T _ = EoV < 7 i <>= Eb_ = R ZFZ R81?9 c 9J@#1B5 = O/Rbc 5KiKRP@gC 9 ZF<>= E8IK58C�Vn7N5 = 9M@#1B5 = O/Rbch5�3nRAIK5�! 5^5A@RbC[C>58C�1BE�� ��� 14E 5��[1B5A@nC�9M1m7�OWV6@nch1N9JEo@nR T 9M1N" ��� ��� 3nRo7 !n5A5^@ Z E#C]9 X 5DC�1BEFV6@nC>5 = 7?1 RP@nC� d! " <>= Eb_ = R Z 7 !n5A1B145 = 7NE�1B3gRP1.9M@n7N5 = 1458CFchE#C>5�9;7(3>9 C6C>5A@FO = E Z Vg7?5 = 7,9 ZF<>= E8IK9M@6_#� ����� 7Vn74RP!>9 T 9M1?" �%$ 9M@nR TYT "Ki&� ��� 3gRb7�! 5^5A@ < E = 1458C 1BEF1B365 9('*)br R = cm3>9M1B58ch14V = 5`Eb@�14365,+ 9M@>V-� j e i9M@nc = 58Rb7:9J@[_ < E = 1 RP!>9 T 9M1N" �

� ��� 9 7 � = 9M141B5A@ 9J@ � d! " R8@nC 9 7�RFchEb@gchV =B= 5A@#1�R <6<>T 9 cARP1N9JEo@�i 7?E�9M1 ��Ro7 < EK7B7:9M! T 5�14E1B5D7?1 14365�5��[1B5^@n7L9MEb@g7���3>9 T 5C>5A!6V6_o_P9M@6_F1B365 C>5AIK5 T E <[Z 5A@#1(EPO 14365�5��[1B5A@g7L9MEb@n7�� � 3>9 7�C]9 = 58c 1OW5A58C#!nRbc.��365 TJ< 58C 9J@ V6@gC>5 = 7N1mR8@nC]9M@6_�9YO,RP@ 5/�6145A@n7L9MEo@ ��Ro7 Rbc 1BVnR T T " 3[5 TM< OWV T 9M@ C>5A!6V[_b_P9M@6_RFchEb@nc V =B= 5A@>1 <>= Eo_ = R Z �

I]9Y9

� � ������������� �� �� � �

� ��EbV T C T 9 �K5F1BE�1B3nR8@ � Z " 7?V < 5 = I]9 7?E = i ��5^1B5 = � V[3 = i�OWE = 3#9;7H1?9 Z 5Ki _oV>9 C6RP@nc 5Ki�5A@nchEoV = �RP_o5 Z 5A@>1 RP@nC < RP1N9M5A@nch5 143 = EoV6_b36EoV61�14365 C>5AIK5 T E <6Z 5A@>1FEPO 1B3>9 7 1B3[587L9 7 � � R T 7NE 143nRP@ �� = E8OW587B7NE =e 1B5 < 365A@ a R8@6@ OWE = 3>9 7 O/Ro7?1 = 58RoC]9M@6_ R8@nCUIoR T VnR8! T 5FchE ZFZ 5A@>1 7.Eo@ Z " 1436587L9 7��� � EoV T C�R T 7NE T 9(�K5�1BE 143nRP@ � <>= E8OW587B7NE = � 36E Z Ro7 �HV6@ � OWE =�= 58RbC]9M@6_ Z " 1B3[587L9 7hinRo7 � 5 TYT Rb73>9 7.Vg7?5hOWV T 7NV6_b_o587?1N9JEo@n7 � � 1B3nR8@ � a R = 1?9M@ �R = 7?145A@�OWE = R8@n7 ��5 = 9M@6_F\KV6587N1?9MEb@n7�RP!nEbV[1%� ���RP@gC�3>9 7H7?V[_b_b5D7?1?9MEo@n7 � � ��EbV T C T 9(�K5 1BE 1B3gRP@ � � Eo@nR T C � R �A5 T O = E Z � ��a OWE = RP@g7 � 5 = 9M@6_\KV6587?1N9MEb@n7�R8!nEbV61�14365h9 = C>5A!6V6_o_b5 = � � � RP@#1 14E�143nRP@ � � IoRP@��(V OWE = 3#9;7lC]9 7Bc Vn7B7:9JEo@�� � R T 7?E1B3gRP@ � � Eo!n5 = 1 � 5 = �[7�RP@gC � Vn747?5 TYT a E � OWE = 365 TM< 9M@6_ Z 5 <>= 5 < R = 5 Z " <>= 587N5A@#1mRP1N9MEb@�� �

_ = RP145hOWV TYT " Roc �#@6E�� T 58C>_o5U14365 X @nR8@ncf9 R T 7NV <6< E = 1 � = 58ch5 9JIK5DC O = E Z���e�� � dli � �%� d RP@nC1B3[5 G`Q � = RoC>VnR81B5 e cf36E T R = 7N3>9 < �

eK< 58cf9 R T 143nRP@ �[7�1BE Z "UO/R Z 9 T "�OWE = 14365h9 =HT E8IK5Ki&V6@nC>5 = 7?1 RP@nC]9M@6_ R8@nC 7?V <6< E = 1 � � R T 7?E��R8@>1`1BE 143nRP@ � Z " O = 9M5A@nC67 i e 14VnR = 1Ai � RAIK5Ki � Eb!n5 = 1^i � Eo!>"Ki � C i �R = 7?145A@�i �(3>9 T 9 < i��(V6@ �< 9M@6_[i + 9 7BR#i �(R81Ai&��R �(5A5Ki a R = coi�� 9MI]9 RP@ R8@nCU14365�Eo1B365 = 7 OWE = @6Eb@ �/1B5Dcf36@#9;c^R T 7?V <6< E = 1 Rb7� 5 T T Ro7 ![V6_b_89J@[_ Z 5 � � 3gRbC�R � Eo@nC>5 = OWV T 1?9 Z 5 � 9J143�"KEoVU_oV6"[7 �

9��

� �����������

� �� ������������������� �p �Mp � 5 X @>9M1?9MEb@n7 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �p � � � 5A![V6_b_89J@[_ � 747?V6587.9M@ d(Eb@nchV =B= 5^@>1 e "[7?145 Z 7 � � � � � � � � � � � � � � � '

p � � �Mp a V T 1?9 �:143 = 5DRbC>58C e "67N1B5 Z 7 � � � � � � � � � � � � � � � � � � � � '

p � � � � � 9�� chV T 1N" 9M@ � 5^!6V6_b_89M@6_�d(Eb@gchV =B= 5A@#1l0 <6<>T 9 cARP1N9MEb@n7 � � � � � � � !p � � � 36587:9 7 j = _KR8@>9��8RP1N9MEb@ � � � � � � � � � � � � � � � � � � � � � � � � � � � r

" #%$'& (� �Mp � ��� � 587L9M_o@ � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � q

� �Mp �Mp � @gC>5 < 5A@nC>5^@>1�d(Eo@>1 = E T E8O(GH7N5 = + 5AIK5 T � 3 = 58RoC67 � � � � � � � � � q� � � � ��� $ 5DRP1BV = 587 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � p��

� � � �Mp j < 5 = RP1N9JEo@nR T � = EbV < � � � � � � � � � � � � � � � � � � � � � � � p��� � � � � $ Ro7?1 � = 58R�� < E89J@#1m7 � � � � � � � � � � � � � � � � � � � � � � � � p�'� � � � � GH7L9M@6_�� ��� d(E#C>5 � � � � � � � � � � � � � � � � � � � � � � � � p�'

) *,+.-�/0�1+2�435�6��7 �68� �Mp � 365 ��E = 1mRP! T 5 �(R = R TYT 5 T�9 � 9 7N1 = 9 !6V61458C � 5A!6V6_o_b5 = � � � � � � � � � � � � � p;:

�>9

� � � � 365 a RP@#1?9 7 �(R = R TYT 5 T � 5^!6V6_b_o5 = � � � � � � � � � � � � � � � � � � � � � pAq� � � � ��a�� 9 7?1 = 9M!6V61458C � 5A!6V[_b_b5 = � � � � � � � � � � � � � � � � � � � � � � � pAq

� � ���/6 ��.+2����+0/0� � ��+�� " )' �Mp � @63nR8@nch58C � = 58R�� < EP9M@#1 � � � � � � � � � � � � � � � � � � � � � � � � � � ���

' �Mp �Mp $ Ro7?1 � = 58R�� < E89J@#1m7 � � � � � � � � � � � � � � � � � � � � � � � � � '' �Mp � � $ Ro7?1 � 5D7?1 = 9 ch1B58C�d(Eo@nC]9M1?9MEb@gR T � = 58R�� < E89J@#1m7 � � � � � � � � � � � �br

' � � 0�1B1mRocf3 Z 5A@#1 E8O�14365 � 5A!6V[_b_b5 = 14E R � V6@6@>9M@6_ 0 <6<>T 9 cARP1N9MEb@ � � � � � � � � '' � � �Mp 0�ch1?9MIoRP1N9M@6_ 1B3[5 + E#c^R T � 5A!6V6_o_b5 = � � � � � � � � � � � � � � � � � � :' � � � � � 7N1mR8! T 9;7N3 143650�7?"#@ncm3 = Eo@6EbVg7 d(E ZFZ V6@>9 cARP1N9MEb@ud(3nR8@6@65 T � � � � �bq' � � � � � = RP@n7:OW5 =B= 9J@[_ 1B365 d(V =4= 5A@#1 � �65DchV61?9MEo@ � @>IK9 = Eo@ Z 5^@>1 � � � � � � �bq

' � � � 5A3nRAIK9MEbV = R T � = EbV < 7 � � � � � � � � � � � � � � � � � � � � � � � � � � � '�

' � ' � = Eo_ = R Z�Z RP1N9 c � @#1B5 = O/Rbc 5 � � � � � � � � � � � � � � � � � � � � � � � � � '.�' � ! jl1B365 = � @[3nRP@nc 58C $n58R81BV = 587 � � � � � � � � � � � � � � � � � � � � � � � !��

' � ! �Mp G < C6RP1N9J@[_�� ��� � � � � � � � � � � � � � � � � � � � � � � � � � !��' � ! � � GH7?5 = � @#1B5 = O/Rbch5 � � � � � � � � � � � � � � � � � � � � � � � � � � !�!

$'+����� � ��� � �� ��/6 ���-�/0�1+2��� ����+ (! �Mp � E =mZ R T $nV6@nch1N9MEb@n7 � � � � � � � � � � � � � � � � � � � � � � � � � � � � r��

! �Mp �Mp e 9M@6_ T 5 e 145 <6< 9M@6_ � � � � � � � � � � � � � � � � � � � � � � � � � r��! �Mp � � � 9 C]9M@6_ � = RP@g7 T RP1458C d(E#C>5 � � � � � � � � � � � � � � � � � � � � r��! �Mp � � e cf3[58C>V T 9M@6_ e 1 RP145 Z 5^@>1 7 � � � � � � � � � � � � � � � � � � � � � r�!! �Mp � ' � IK5^@>1 � = Roch5 � � � � � � � � � � � � � � � � � � � � � � � � � � � rbr

! � � d(E = EbV61N9M@65#$nV6@nch1N9JEo@n7 � � � � � � � � � � � � � � � � � � � � � � � � � � r :! � � �Mp Q 3nRP1�9 7 R d(E = EbV61N9J@[5�� � � � � � � � � � � � � � � � � � � � � � � r :

�>9Y9

! � � � � � 5A!6V6_o_P9M@6_ d(E = EbV61N9M@6587 � � � � � � � � � � � � � � � � � � � � � r )! � � � Z�<#T 5 Z 5A@#1mR81?9MEb@ � = Eb! T 5 Z 7 � � � � � � � � � � � � � � � � � � � � � � � :1�

� ����� -�+��+2 ���� � #%$'& �� �� �� �� 8�r �Mp � = E#ch5D7B7�d(Eb@#1 = E T V[@nC>5 = + 9M@#V-� � � � � � � � � � � � � � � � � � � � � � � :8rr � � e 5A141?9M@6_ RP@nC � 5D7?5A141?9M@6_ R � = 58R � < EP9M@>1 � � � � � � � � � � � � � � � � � � :�:

r � � �Mp e RAI]9M@6_ R8@nC � 5D7?1BE = 9M@6_ 14365,+ E#cAR T�e 1 RP1B5 � � � � � � � � � � � � � :�:r � � � � d = 58R81?9M@6_ 14365 � 5 ZF< E = R = " � @n7N1 = Vgch1?9MEb@g7 � � � � � � � � � � � � � )��

r � � d(Eb@gC]9M1?9MEb@nR T � = 58R�� < EP9M@#1m7 � � � � � � � � � � � � � � � � � � � � � � � � ) '

r � ' 0 V6_ Z 5^@>1N9J@[_ � ��� d(E#C>5 � � � � � � � � � � � � � � � � � � � � � � � � )�!

8 � �� ���-��������� � 8: �Mp e V ZFZ R = " � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ) :: � � � � < 5 = 9M5A@nch5 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ) )

: � � $nV61BV = 5HQ E = � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � q��

& � ��- ��� ���/���� � (��

�#9Y9Y9

� � %� ��� � ��� � ��

! �Mp eK< 58cf9 R T � @n7N5 = 1458C�d(E#C>5 � 9M1B3 0�ch1N9JEo@n7 � � � � � � � � � � � � � � � � � � : '

r �Mp 0 ��Eb145A@#1?9 R T � = Eo! T 5 Z � � � � � � � � � � � � � � � � � � � � � � � � � � )>p

�[I

� � %� ��� � ����� � ��

� �Mp � 9 7?1 = 9M!6V61N9MEb@ EPO(Q E = � !n5A1 � 5A5A@ � 5^!6V6_b_o5 = RP@gC � R = _o5A1 � � � � � � � � � pbp� � � � @>145 = Roch1?9MIK5 � 5A!6V6_o_P9M@6_ R8@nC � IK5A@#1 �l5A@65 = RP1N9MEb@ � � � � � � � � � � � � � p��

� �Mp < �oC6� � 7 d T 9M5A@#1 � e 5 = IK5 = 0 = cm3>9M1B58c 1BV = 5 � � � � � � � � � � � � � � � � � � � p )

' �Mp � = 5DR � < E89M@>1 �HRP@gC T 9J@[_�9M@ 0 <6<#T 9 cAR81?9MEb@ud(E#C#5 � � � � � � � � � � � � � � ��!' � � �lV65AV65DC d(Eo@nC]9M1?9MEo@n7 9;C#5A@>1N9 X 58CU!#" � = 58R�� < EP9M@#1 � V Z !n5 = R8@nC � 3 = 58RbC � C � )' � � �HR8@nC T 9M@6_ � = 5DR � < E89M@>1Hd(Eb@nCK9J1N9MEb@ � � � � � � � � � � � � � � � � � � � � ���' � ' � 365 e ��0 � d G 7?5 =He 1 Rbc.� $ = R Z 5 � � � � � � � � � � � � � � � � � � � � � ���' � ! � 365 � = 58R�� < EP9M@#1 �HRP@gC T 5 = d�R TYT e 1 Rbc.� � � � � � � � � � � � � � � � � � � ���' � r a RD9M@�Q 9J@gC>E�� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �br' � : 0 � 5A3nRAIK9JEoV = R T � = EbV < Q 9J@gC>E�� � � � � � � � � � � � � � � � � � � � � � '.�' � ) 0�cAc 587B7 � ��� V61?9 T 9M1?9M587 � � � � � � � � � � � � � � � � � � � � � � � � � � ! '' � q � 365 � 3 = 58RoC Q 9J@gC>E�� � � � � � � � � � � � � � � � � � � � � � � � � � � ! )

! �Mp 0 e R ZF<>T 5�d! " � = Eb_ = R Z RP@gC 9M1m7 � = RP@n7 T RP1B5DC d! - d(E#C>5 � � � � � � � r>p! � � e 5 Z 9 �Bd(E = EoV61?9M@65 � = E#C#Vnch5 = �Bd(Eo@n7?V Z 5 = � � � � � � � � � � � � � � � � � � rbq! � � $nV TYT �Bd(E = EbV[1?9M@65 � = E#C>Vnch5 = �4d(Eb@n7NV Z 5 = � � � � � � � � � � � � � � � � � � : �

�6IK9Y9

r �Mp � 365! = 58R�� < E89J@#1 � RP@nC T 5 =e 1 Rbc.� $ = R Z 5 � � � � � � � � � � � � � � � � � :8qr � � � 5 Z�< E = R = " d(E#C>5 � � � � � � � � � � � � � � � � � � � � � � � � � � � � )��r � � � @nchE =B= 5Dch1 � Rbc.�>1 = Roch5 � � � � � � � � � � � � � � � � � � � � � � � � � � � )��r � ' d(E =4= 58c 1 � Rbc.�>1 = Rbc 5 � � � � � � � � � � � � � � � � � � � � � � � � � � � � )��

�6IK9Y9 9

� � ��� ��� � �

� ��� � ��� � � � � ���

� 365(OWE#chVn7�EPO&1B3>9 7�1B365D7L9 7k9 7 Eb@ C>5AIK5 T E < 9M@6_�1BEKE T 7.R8@nC 1458cm36@>9 \]V[587k14E�RA9 C 9J@ 14365�C>5A!6V[_b_P9M@6_EPO chEo@nchV =4= 5A@#1 <>= Eb_ = R Z 7 � Q 365A@ C>5A![V6_b_89J@[_ Ru7N58\]V[5A@>1N9 R TH<>= Eb_ = R Z i�1B3[5 <>= E#ch587B7�9 77?"#@ncm3 = Eo@6EbVg7 ! 5^1 ��5A5A@ 14365HC>5^!6V6_b_o5 = RP@gC 14365HR <6<>T 9 cARP1N9JEo@�� ��E���5AIK5 = i ��365^@ C>5A!6V[_b_P9M@6_R chEo@nchV =4= 5A@#1 <>= Eb_ = R Z i�1B365D7?5 74R Z 5FchEb@#1 = E T R8@nC Z R8@>9 < V T RP1N9JEo@ Z 58cf3gRP@>9 7 Z 7 Z Vn7N1�!n5<>= EPIK9 C>58C�9M@nC#5 < 5A@nC>5A@#1 T " OWE = 5AIK5 = "1B3 = 58RbCFEPO c Eb@#1 = E T �.G�@#OWE = 14V6@nR81B5 T "Ki Z E 7?1�C>5A!6V[_b_b5 = 7C>EF@6Eb1 ��E = � � 9M143 chEo@nchV =4= 5A@#1 <>= Eb_ = R ZFZ 9J@[_ T RP@6_oVnRP_o587�E = 5A@#I]9 = Eb@ Z 5A@#1m7 �

j�O�1B3[EK7?5`1B3nR81�C>E C>58R T � 9M1B3 chEb@nc V =B= 5A@nch"Ki Z EK7N1���E = ��Eo@ T " � 9M1B3 �K5 = @65 T� E < 5 = RP1N9M@6_ �7?"[7?145 Z� 143 = 58RoC67 � �H5 = @65 T 1B3 = 58RbC67 R = 5 chEb@#1 = E TYT 58C RP@nC 74cf365DC>V T 58C !#" 1B365�E < 5 = RP1?9M@6_7?"[7?145 Z @6Eo1U!#" 1B3[5 = V6@>1N9 Z 5 5A@#I]9 = Eo@ Z 5A@>1 EPO 14365SR <6<>T 9 cAR81?9MEb@ Vn7L9M@6_ 14365 Z � Q 3#9 T 5�K5 = @65 T 143 = 5DRbC67FR = 5�58747?5A@#1?9 R T il7?ES1BEKE R = 5�Vg7?5 = 143 = 58RoC67 � 0 � +!+�q����:i ��3>9 cf3 7NV6!&C]9MI]9 C>5R �K5 = @65 T 143 = 5DRbC � 7�5��[58chV[1?9MEb@ R Z Eb@[_ Vn7N5 = 1B3 = 58RoC67 9M@ RP@ R <6<>T 9 cARP1N9MEb@�� GH7N5 = 1B3 = 58RbC[73nRAIK5F1B365 < Eb1B5^@>1N9;R T 1BE�! 5 7L9M_b@>9 X c^RP@#1 T " T 587B7�5/� < 5A@n7:9MIK5�143nRP@ �K5 = @65 T 1B3 = 58RbC67�9M@ Z R8@>"cARo7?587�!n58cARPVg7?5�14365 T RP@6_oVnRP_o5 = V6@>1N9 Z 5 7?"[7?1B5 Z 3nRb7l7 < 58cm9 X c �#@6E�� T 5DC>_b5FR8! EoV61�14365�OWE =mZEPO.chEb@nc V =B= 5A@nch" RP@nC 9M1m7 9 ZF<>T 5 Z 5A@#1mRP1N9MEb@��

p

� ������������ ���������������������� ���

��9JIK5^@u1B3nR81�Vn7N5 = 1B3 = 58RbC[7�R = 5�9 ZF< E = 1 RP@#1Ai(7NE Z 5 Z 5Dcf3nR8@>9 7 Z Z Vn7N1H5��>9 7N1�1BE C>5A!6V[_chEo@nchV =4= 5A@#1 <#= Eb_ = R Z 7 Vn7:9J@[_ 14365 Z � � 365 = 58Ro7?Eo@ 9 7 7N1 = RA9M_b3#1?OWE = ��R = C i�58Rocf3 T RP@6_oVnRP_o5RP@gC 9 E = 143 = 58RoC T 9M! = R = "u9 7 C]9"! 5 = 5A@#1Ai,RP@nCu365A@gch5Ki 5DRbcm3 = 58\KV>9 = 5D7 9M@nC]9MIK9;C#VnR T C>5A!6V[_b_P9M@6_7?V <6< E = 1 � $nV = 1B365 =mZ E = 5 i>c E ZF< V61B5 = IK5A@nC#E = 7�cARP@[@6Eb1�!n5�5�� < 58ch1458C�1BE 7?V <[< E = 1`R TYT 5��[1mR8@>1RP@gCSOWV[1BV = 5 T R8@6_bVnR8_b587 RP@nCu1B3 = 58RoC T 9M! = R = 9M587�� � 365 � ��� C#5A!6V6_o_b5 = � ��R = q�!>i � � e qbr��:iC>5AIK5 T E < 58CU!#" a R = 1?9M@ �R = 7?145A@�in7N36E��l7 1B3nR81 9M1�9 7 < EK747L9M! T 5F1BEF!6V>9 T C�IK5 = " < E ��5 = OWV T RP@nC#n5��#9M! T 5 C>5^!6V6_b_89M@6_ 7?V <6< E = 1�OWE = Vn7N5 = 1B3 = 58RbC[7 �

� ��� �%$ R T T 9 � 7'&b5)(8V6_o_b5 = 9 7 R Z V T 1N9 �/1B3 = 58RoC>58CHC>5A!6V[_b_b5 = OWE = C>5A!6V6_o_P9M@6_ Z V T 1?9 �/1B3 = 58RbC>5DC� d! " R <6<#T 9 cAR81?9MEb@g7 � � d! - � � e qor ��9 7 RP@u5/�6145A@nC>58C IK5 = 7L9MEb@uE8OHd! - <>= E8I]9 C]9M@6_ T 9J_o3>1 �� 5 9J_o3>1 1 Rb7 �K9M@6_ O/Rocf9 T 9J1N9M587�Vn7L9M@6_ R 7N3nR = 58C � Z 5 Z E = " Z E#C>5 T � � Eo1B3 V6@>9 <>= E#ch587B7NE = RP@nCZ V T 1?9 <>= E#ch58747?E = � d! " R <[<>T 9;c^RP1?9MEo@n7 Z RA"�!n5 C#5A!6V6_o_b58C �

G�@>OWE = 1BV[@nRP145 T "Ki!� ��� OW5 T T 7?3[E = 1�9M@SR @#V Z !n5 = EPO ��RA"[7�C>V65 14E 1?9 Z 5Fc Eb@n7N1 = RA9M@>1 7`9M@9M1m7�C#587L9M_b@ R8@nCU9 Z�<#T 5 Z 5A@#1mR81?9MEb@ � � 3>9 7 1436587L9 7 <#= 587N5A@>1 7 14365 ��E = � � CK9;CU9M@ R8V6_ Z 5A@#1?9M@6_� ��� 1BE <>= E8IK9;C#5�RF7L9M_o@>9 X cARP@#1 T "�! 5^1B1B5 = chEb@nc V =B= 5A@>1 C>5A!6V[_b_b5 = OWE = Vn7N5 = 1B3 = 58RoC67 �

� El5��[1B5A@gC � ����� 7 OWV6@gch1?9MEb@gR T 9M1?" i � RbC6C>5DC O/Rb7N1 chEb@gC]9M1?9MEb@nR T ! = 58R � < EP9M@>1 7hiKR81B1 Rbcm3 Z 5^@>1EPO � ��� 14E R = V6@6@#9J@[_FR <6<>T 9 cAR81?9MEb@�i&! 5^3nRAI]9MEbV = R T _ = EbV < 7 i <>= Eo_ = R ZFZ R81?9 c 9J@#1B5 = O/Rbc 5Ki#RP@nC7?5^IK5 = R T�Z 9J@[E = 5A@63nR8@nch5 Z 5A@#1m7.14E � ����� 7 Vn7?5 = 9J@#1B5 = O/Rbc 5 �

0�7 � 5 TYT i � 7?E T IK58C R CK9 � chV T 1 <#= Eb! T 5 Z = 5 T RP1N9J@[_ 14E 3#9;C[C>5A@ chE#C>5 9M@n7?5 = 1B58C !#"u14365� d! " 1 = RP@g7 T RP14E = � � Rocf3 � d! " �7?1 RP145 Z 5^@>1�9 7 1 = R8@n7LOWE =mZ 58C 9J@#1BE Eo@65 E =�Z E = 5 d! - 7?1 RP145 Z 5^@>1 7 � � 365H_b5^@65 = R81B58C chE#C#5 9 7�@6E = Z R TYT " 9M@#I]9 7L9M! T 5 14E�Vn7N5 = 7 i>!6V[1 !n58chE Z 5D7 I]9 7L9M! T 5��365A@ C#5A!6V6_o_P9M@6_ � d! - <>= Eo_ = R Z 7�� Q 9M1B36EoV61 �>@[E � T 58C#_b5 EPO1B365�9M@6@[5 = � E = �K9M@6_K7 EPO� d! " i 9M1 ��Ro7 58Ro7?" 1BE 7?1B5 < 9M@>14EU9M@n7?5 = 1B5DCuchE#C>5 C#V = 9M@6_ C>5^!6V6_b_89M@6_uR8@nC !n58chE Z 5 T EK7N1 �� @ < R = 1?9 chV T R = i 1B3#9;7 <>= Eb! T 5 Z chEo@>OWVn7?5DC R8@nC CK9;74chEbV = RP_o58C 7?14VnC>5A@#1m7 O = E Z Vg7L9M@6_ � ��� �

)� )� � ���� � ��� ����� �

� 365 7?E T V61N9MEb@ � Rb7 14E Z R �K5,� ��� Z E = 5 R ��R = 5 EPO � d! " �7NE 1B3nR81 _o5A@65 = RP1458C d! - c E#C>5= 5 Z RA9J@[58C 3>9 C>58C�C#V = 9M@6_ C#5A!6V6_o_P9M@6_6i ��3>9 cm3 7?V[!n7?1 RP@#1?9 R TYT "U9 ZF<>= E8IK58C � ����� 7 Vg7BRP!#9 T 9M1N" �

$ 9M@nR TYT "Ki � ��� ��Ro7kE = 9M_P9M@nR TYT "FC#587L9M_b@[58C 14El7?V <6< E = 1 Z V T 1?9 <>T 5�R = cm3>9M1B58ch14V = 5D7��836E�� 5AIK5 = ia R = 1?9M@�Eo@ T " 3nRoCU1?9 Z 5H1BE�9 Z�<#T 5 Z 5A@#1 Eo@65 R = cm3>9M1B58c 1BV = 5�� e � 0 � d � � E C>5A1B5 =mZ 9J@[5 9YO�14365E = 9M_P9M@nR T C>587:9J_o@ 9 7 1 = V T " _b5A@65 = R T 9��A58C&i � < E = 1B58C � ��� 14Eu1B3[5 � @#1B5 T ' )br R = cm3>9M1B58ch14V = 5Eb@ 14365 + 9M@#V-� E < 5 = R81?9M@6_ 7N"67N1B5 Z � + 9M@>V-� 9 9('*)br � Rb7 cm36E 7?5A@ ! 5DcARPVn7N5 1B365 9(' )bru3nRo7 R7L9M_o@>9 X cARP@#1 T " C]9"!&5 = 5A@#1 R = cm3>9M1B58ch14V = 5 O = E Z 1B3[5 e ��0 � dli�RP@gC 9M1�9 7 RuVn7?5hOWV T�<>T R81?OWE = ZVn7N58C !>" Z RP@#" 7N1BVnC>5^@>1 7 �

�� �� ��� � �� � �

� 365�OWE TYT E�� 9M@6_�C>5 X @>9M1N9JEo@n7�R = 5�Vg7?58C�9M@�143>9 7 1436587L9 7��

����������������� 9 7 1B365 <#= E#ch58747�EPO T E#cARP1N9J@[_6ilRP@nR T " �h9M@6_[i�RP@gC c E =B= 58ch1N9J@[_ 7?Vn7 < 5Dch1B58C O/R8V T 1m7143nRP1`cARPVg7?5R <#= Eb_ = R Z 14E�O/RD9 T 1BE < 5 = OWE = Z 9M1m7 = 58\KV>9 = 5DC OWV[@nch1?9MEo@��

0 ��!#"�$ �&%�% 9;7lR <>= Eo_ = R Z chE ZF< Eb@65A@#1 � 9M1B3 9J1 7 E���@�1B3 = 58RbC �

0('*) %�+ � 7?E Z 5A1N9 Z 587FcAR T T 58C R T 9M_o3>1 � ��5h9M_b3#1 <#= E#ch58747 9 7 7:9 Z 9 T R = 1BE R <>= E#ch58747�5��gch5 < 1= 58C>Vnch5DCUR T Eb@6_�7?E Z 5 < R = 1?9 chV T R = CK9 Z 5A@n7:9MEb@�� � 1�9 7 EPOW145A@�14365 c^Rb7?51B3nR81HR <>= E#ch5D7B73nRo7 9M1 7 E ��@ Z 5 Z E = " RbC6C = 587B7�7 < Rbc 5Ki ��3>9 T 5�1mRo7 �[7 7N3nR = 5R chE ZFZ Eo@ Z 5 Z E = " ��0`7��5 TYT inR <#= E#ch58747 � 7 143 = 58RoC�9;7�Vn7NVnR TYT "�7Bcm3658C>V T 58C !#"�14365 j e i ��3>9 T 5 R 1mRo7 � � 7 143 = 58RoC9 7�Vn7?VnR TYT " 7Bcm3658C>V T 5DC � 9M143>9M@ 1B365R <[<>T 9;c^RP1?9MEo@��

, )�!#)�-.- � - �.%�/ E#cAc V = 7�Eb@ T " ��365A@ Z V T 1?9 <>T 5 <>= E#ch587B7NE = 7 � d �(GH7 R = 5 <>= 587N5A@#1 9M@ 5��[58chV61N9JEo@E8O(R <>= Eo_ = R Z �

' ������������ ���������������������� ���

� " � $ � !�! �#� $���C>5^@6Eb14587 ��365A@1B365�5��[58chV61N9JEo@ EPO R <>= Eo_ = R Z )���� � )�! % 1BE�E#c^chV = 9J@ < R = R TYT 5 T �

0 $�! � ' � $�)�- % � $�' � " � 9 7 R _ = EbV < EPO 9J@g7?1 = Vnch1N9JEo@n7 143nRP1 Z Vn7?1�!n5 < 5 = OWE =mZ 58C RP14E Z 9;c^R TYT " �

��� ��� � � � ��� � ����� � � � � � � �� �� �� �� � �!� � �

�������� � �������������! #"%$'&(")& *�+,-��"/.0,

a Rbcm3>9M@65R = cf3#9J1458ch14V = 587 143nRP1`7?V <6< E = 1 Z V T 1?9 �/1B3 = 58RbC#58C <>= Eb_ = R ZFZ 9J@[_ 5��#9;7N1�Eb@ �

1�2436587�9;:;<-=�>4>8:?9A@#BC<8D6583#=;> � <>= Eo_ = R Z 7 R = 5 = V6@chEo@nchV =4= 5A@#1 T "lI]9 R�chEo@>145��[1 �L7 � 9M1mcm3>9M@6_R Z Eo@6_ CK9 !&5 = 5A@#1 <>= E#ch5D7B7?5D7 R8@nCU1 Rb7 �[7 � 9J143>9M@ <>= E#c 587B7N587 �

1E@;26FHG�5I7�9;:;<4=4>->H:J9A@6B;<ID#5836=�> � <#= Eb_ = R Z 7 R = 5 = V6@�9M@ < R = R TYT 5 T Vn7:9M@6_H7?5 < R = RP1B5�d �(GH7!6V[1l7?3nR = 9M@6_ 143657BR Z 5 Z 5 Z E = " �

1LK;5;>8G49M58N-2�G�=HKO>8P6>8GM=Q@)> � <>= Eo_ = R Z 7�R = 5 = V6@u9M@ < R = R TYT 5 T Eo@ CK9 !&5 = 5A@#1 Z Rocf3>9M@65D7Vn7:9M@6_ 7?5 < R = RP1B5 d �(GH7lRP@nC�7?5 < R = R81B5 Z 5 Z E = 9M587��

� 365 = 5R = 5H1 � E 1N" < 587 EPO 9M@>145 = � <>= E#c 587B7lchE ZFZ V6@>9 cAR81?9MEb@ � � ��d Vn7?5DCU1BE 5^@nRP! T 5 chE ZFZ V �@>9 cAR81?9MEb@ R Z Eo@6_ CK9 !&5 = 5A@#1 143 = 58RoC67 EPO.chEb@#1 = E T �

1R>�D�BS9�=SKA@T=Q@6:S94P � Z 5 Z E = "�cARP@ !n5FRocAch58747?58C�!#" Z E = 5�143nRP@ Eb@[5 <>= E#ch5D7B7 E =H<>= E��ch5D7B7?E =

1E@U=;>4>HB?V�=�7CBM>4>S5I3�V � @6E 7?3nR = 58C Z 5 Z E = " R Z Eb@[_ <>= E#ch58747?E = 7hi�7NE <#= E#ch58747?E = 7�chE Z �

Z V6@#9;c^RP1B5�!>"7N5A@nC]9M@6_HR8@nC = 5Dch5h9MI]9M@6_ Z 587B74RP_b5D7 1B3 = EbV6_o3FchE ZFZ V6@>9 cAR81?9MEb@ cm3nRP@6@[5 T 7

a V T 1?9 �/1B3 = 58RbC>5DC R <6<>T 9 cAR81?9MEb@n7chEb@g7L9 7?1�E8O�RF7?5A1lEPO�c Eb@nchV =B= 5^@>1�143 = 58RoC67�1B3nR81�R = 5 CK9;7 �1?9M@6_oV>9 7?365DC�!>"�9M1 7 c = 58RP1N9MEb@ �

)� � � � �� �����)� ��� � � � � �� � � � ������� �%�� � ���� ��� � � !

1 ��=J9S3#=-F G?D�9M= B4K � c = 58RP1458C RP@nC Z R8@nRP_o58CU!#" 1B3[5 E < 5 = R81?9M@6_ 7N"67N1B5 Z �K5 = @65 T �

1�2 >?=H9��-F4=��=4F�GSD�9M= B-K �(c = 58RP1458C�R8@nC Z R8@nRP_o58C�!#" 1B365 = V6@#1?9 Z 5 7N"67N1B5 Z EPO R <>= E��_ = R ZFZ 9J@[_ T RP@[_bVnR8_b5 E = R 1B3 = 58RbC < Roc �oRP_o5 � 9M1B3#9J@ 14365 <>= E#c 587B7 � 7�RbC[C = 58747 7 < Rbc 5 �

jl@ R T T 7?"[7?1B5 Z 7 i Vn7?5 = � T 5^IK5 T 1B3 = 58RbC[7 R = 5�5��[58chV61458Cu!>" �K5 = @65 T 1B3 = 58RbC67�� � 365 RoC6C = 5D7B77 < Rbch5EPO RP@ R <6<>T 9 cARP1N9JEo@ 9 7 Vn7NVnR TYT "uCK9JIK9 C>58CU9M@#1BE chE#C#5 RP@gC C6RP1 R Z 5 Z E = " � � O Z V T 1?9 <>T 51B3 = 58RoC67 7?3nR = 5�1B365�7BR Z 5�chE#C#5 Z 5 Z E = "Ki�1B365^" Vn7NVnR TYT " R T 7?ES7?3nR = 5�14365�C6RP1 R Z 5 Z E = " �� 365 = 5^IK5 = 7N5 9 7 @6Eo1 @[58ch58747BR = 9 T " 1 = V65 �

�������� � �����%����J+ ����� "�� ����� ������� � ���%�! ; C"!�'�#"%$&$ � �'�U$/���(� �,

d(Eb@gchV =B= 5A@#1 <>= Eb_ = R ZFZ 9J@[_ 9 7�CK9 � chV T 1`C>V65 14E�14365 RoC6C]9M1?9MEb@gR T 1B5 ZF< E = R T C]9 Z 5A@n7:9JEo@ = 5 �7?V T 1N9M@6_�O = E Z chEo@nchV =4= 5A@gch" � � 3>9 7�1B5 Z�< E = R T C]9 Z 5A@g7L9MEb@ Z R �K587 9M1 7:9J_o@>9 X cAR8@>1 T " 3nR = C>5 =1BE�C>5^!6V6_�chV =4= 5A@#1 <#= Eb_ = R Z 7H1B3nR8@u7N58\]V[5A@>1N9 R T(<>= Eb_ = R Z 7hi,7L9M@nch5 14365A" chEb@#1mRA9J@ !nEb143 7?5 �\KV65A@#1?9 R T 5 =B= E = 7�RP@nCFRbC[C]9M1?9MEb@nR T chEb@nc V =B= 5A@>1 5 =4= E = 7 �(0�C[C]9M1?9MEb@nR T 7?EbV = ch587 EPO&5 =B= E = 9M@nc T VnC>5C>58RoC T E#c � � a � q>p �:i = Roch5lchEo@nC]9M1?9MEb@g7 � � a q�� �:i#R8@nC�@6Eo@ �NC#5A1B5 = Z 9M@>9 7 Z � a ��)bq��:i ��3>9 cm3 R = 5V6@ �#@6E���@ 9J@ 1B3[5 7?58\KV65A@#1?9 R T C>E Z RD9M@�� � Rocf3 �]9M@nC E8OFchEo@nchV =4= 5A@#1 5 =4= E = 9 7UCK9;74chVn747?58C!n5 T E�� �

1LK;=SB4K;FS:;<� �nE#cAchV = 7 ��365A@ 1 � E`E =(Z E = 5�1mRb7 �67 OWE =mZ R`C>5 < 5A@nC>5^@nch"ch"[c T 5�EPO&36E T C]9M@6_= 587?EoV = ch5D7�RP@nC ��RD9M1N9J@[_�OWE = 1B36E 7?57BR Z 5 = 587?EoV = ch5D7 �

1 9�BC<4=R< : 3CKC5HG�5S:J3 ��E#c^chV = 7 ��365A@ Rbc^ch587B7�1BE Z 5 Z E = " !>"�C]9"!&5 = 5^@>1�143 = 5DRbC67 9 7�@6Eo1<>= E < 5 =4T "7N">@ncm3 = Eb@>9��A58C&i ��3>9 cf3cAR8Vn7?587�@6Eo@ �NR81BE Z 9 c.5/�658c V61?9MEb@HE8OnRlc = 9M1N9;c^R T 7?5Dch1?9MEb@ �� Rbch5 chEb@nCK9J1N9MEb@n7 5/�>9 7?1(9M@U!nEo1B3 7N3nR = 58C � Z 5 Z E = " RP@nC Z 587B74RP_b5�� < Ro7B7:9J@[_ E < 5 = RP1?9M@6_7N"67N1B5 Z 7 �

r ������������ ���������������������� ���

1�3C: 3 � KC=HGM=H9H@65I3#54>�@ ��7?5D\]V65^@>1N9;R TH<>= Eb_ = R Z 7 R = 5 C#5A1B5 = Z 9M@>9 7N1?9 c�� _89MIK5A@ 1B365 74R Z 59M@ < V[1m7hi&1B365 = 587NV T 1 9 7�R T ��RA"[7�1B365 7BR Z 5 � ��E�� 5^IK5 = inchEo@nchV =4= 5A@#1 <>= Eb_ = R Z 7HC>E @6Eo1R T � RA"67 = 5 <>= E#C>Vgch5 1B365 7BR Z 5 !n5A3nRAIK9MEbV = � � 3>9 7 7L9M1BVnR81?9MEb@ 9;7 < R = 1N9;c V T R =BT " 3nR = C14EuC>5DR T � 9M1B3�il7:9J@gch5 R <>= Eo_ = R ZFZ 5 = EPOW145A@ 3nRb7F@6Euc Eb@#1 = E T E8IK5 = 9M1 � � 365 = 5hOWE = 5KiC>5^1B5 = Z 9M@>9 7?1N9 cAR TYT " = 5 <>T RD"K9M@6_ 1B3[5�5��[58chV[1?9MEb@ EPO`R <>= Eb_ = R Z 9 7HIK5 = " 9 ZF< E = 1mRP@#1 9M@C>5^!6V6_b_89M@6_ chEo@nchV =4= 5A@#1 <>= Eb_ = R Z 7 �

0�7�R = 5D7?V T 1�EPO,@6Eo@ �NC#5A1B5 = Z 9M@>9 7 Z 9M@ chEo@nchV =4= 5A@#1 <>= Eb_ = R Z 7hi614365 = 5 9 7 R < 3[5A@6E Z 5A@6Eo@cAR T T 58C <>= Eo!n5 5 ! 5Dch1 � ��RA9 )br �:i ��3>9 cf3 E#cAc V = 7 ��365^@�R c Eb@nchV =B= 5^@>1 <>= Eo_ = R Z 9 7�RPV6_ Z 5^@>1458C� 9M1B3 C>5A![V6_b_89J@[_ E = < 5 = OWE = Z R8@nch5 R8@nR T "[7L9 7 <#= Eb!n587 i ��3>9 cf3 9J@gc = 58Ro7?587�E = C>5Dc = 58Ro7?587�14365<>= Eb_ = R Z � 7H@6Eb@ �LC>5A145 =mZ 9M@>9 7 Z i = 587?V T 1N9J@[_U9M@ C]9"!&5 = 5^@>1 <>= Eb_ = R Z !n5A3nRAI]9MEoV = � � 365 <#= Eb!n55�!&58ch1 Z R �K587�C#5A!6V6_o_P9M@6_�RP@nC RP@gR T "67:9M@6_ chEo@nchV =4= 5A@#1 <>= Eb_ = R Z 7�IK5 = " C]9�� chV T 1^i�! 5DcARPVn7N51B3[5 5 =B= E = E =`< 5 = OWE =mZ RP@nch5 <>= Eb! T 5 Z Z RA"�@6Eo1 E#c^chV = C>V651BE 14365 <>= Eo! 55�!&58ch1 �

��� ��� � � ��� � � ����� �� �� �

d(3nR < 1B5 = � _89MIK587 RP@ EPIK5 = IK9J5 � EPO � ��� � � 1 <>= 587?5^@>1 7�1B365 R = cm3>9M1B58c 1BV = 5 RP@nC OW58RP14V = 5D7EPO�� ��� ��d(3nR < 1B5 = ��CK9;74chVn747?587 7NE Z 5 < R = R TYT 5 T RP@gCuC]9 7?1 = 9M!6V61458C C>5A!6V6_o_b5 = 7hi ��3>9 cm3 R = 5chEo@>1 = Rb7N1B58C � 9M1B3 � ��� ��d(3nR < 145 = 7�'6i !uR8@nC r chEb@#1mRA9J@ 14365 c Eb@#1 = 9M!6V[1?9MEb@n7 143nRP1 ��5 = 5Z RbC>5�9M@�14365�OWE =mZ EPO(5��[1B5^@n7L9MEb@g7 14E#� ��� �

d(3nR < 1B5 = ' CK9;74chVn747?587H1B365 5A@[3nRP@nc 5 Z 5^@>1 7 1BE 1B3[5�OWV6@gch1?9MEb@gR T 9M1?"SEPO�� ��� i ��3>9 cf3 9M@ �c T VnC>5�O/Ro7?1 = 587?1 = 9 ch1458C chEb@gC]9M1?9MEb@nR T ! = 58R�� < E89J@#1m7 i !n5A3nRAIK9MEbV = R T _ = EbV < 7 i�R81B1mRocf3 Z 5A@#1FEPO� ��� 14E R <>= Eb_ = R Z i <>= Eb_ = R ZFZ R81?9 c�9M@>145 = O/Roch5 R8@nC�9 ZF<>= E8IK5 Z 5A@#1m7�1BE�1B365FVn7?5 = 9M@>145 = �O/Rbc 5 �

)� � ����� �� � ��� � ����� ���)� ��� ��� :

d(3nR < 1B5 = ! C]9 7BchVg7B7?5D7�C>5A![V6_b_89J@[_�1 = RP@n7 T RP1B5DCuchE#C>5 � � 58cARPVg7?5 � d! " 9 7HR 1 = R8@n7 T R81BE =RP@gC @6Eb1 R�chE Z�< 9 T 5 = i(R � d! - 7?1 RP145 Z 5^@>1 Z RD" !n5 1 = R8@n7 T RP1458C 9M@>14E�Eb@[5 E = Z E = 5 d! - 7?1 RP145 Z 5^@>1 7 � � 3>9 7�cm3nR < 145 =`<>= 587N5A@#1�R Z 5A1436E#CU14E Z R��K5H1B365H9J@g7?5 = 1B58C chE#C#5�9J@#IK9;7:9M! T 5�14EVn7N5 = 7 ��365^@ C>5A![V6_b_89J@[_ R � d! - <>= Eo_ = R Z �

d(3nR < 1B5 = rC]9 7BchVn747?587 14365 9 ZF<>T 5 Z 5^@>1 RP1?9MEo@UE8O � ��� Eo@�R8@ � @>145 T ' )or R = cm3>9M1B5Dch1BV = 5 9M@1B3[5 + 9M@#V-��5A@#I]9 = Eo@ Z 5A@>1 �

� � ��� ��� � �

� � �

����� � �R T T 9 � 7 � 5 � V6_o_b5 = � � � e qbr�� � �R = q�!�� 9 7 R c Eb@nchV =B= 5^@>1�9M@#1B5 = Rbch1N9MIK5 7?EbV = ch5 � T 5AIK5 TC>5A![V6_b_o5 = = V6@6@>9M@6_ Eb@�G � � !nRb7N58C�7N" ZFZ 5A1 = 9;cH7N3nR = 58C � Z 5 Z E = " Z V T 1?9 <>= E#ch58747?E = 7�1B3nR81<>= EPIK9 C>587�9J@gC>5 < 5A@nC>5^@>1FchEo@>1 = E T E8O�Vg7?5 = � T 5AIK5 T 143 = 58RoC67 � � 365 C>587:9M_b@ EPO�� ��� � !6V61 @6Eo11B3[5 9 Z�<>T 5 Z 5A@#1mR81?9MEb@ 9 7�R <6<>T 9 cARP! T 5 14E�!nEb143�7N3nR = 58C Z 5 Z E = "FRP@gCUCK9;7N1 = 9J![V61B58C Z 5 Z E = "7?"[7?145 Z 7 RP@nC 9 7 9M@>145A@nC>58Cu14E ! 5 < E = 1mR8! T 5 RP@gC 9M@>145 = �/E < 5 = RP! T 5 � 9J143 Eb1B3[5 = C>5A!6V[_b_P9M@6_1BEKE T 7 �

� � � � � �� �

�������� ��&("�$ " �&(" �'� � � �'�- ��� ����� ,;"U �� "�� "%��� �! �")$'&(,

d(V =4= 5A@#1 T "Ki chE Z�< V[1B5 = IK5^@nC>E = 7 <>= EPIK9 C]9M@6_ 7?3gR = 5DC � Z 5 Z E = " chEo@nchV =4= 5A@nc "�3nR = C � R = 5 R = 5c = 58RP1N9J@[_�7NV <6< E = 1 OWE =�Z V T 1N9 <>T 5 �K5 = @[5 T 143 = 5DRbC67 9M@uR8@ RbC[C = 58747H7 < Roch5 � G � � <#= E#ch58747 i7?Vgcf3SRb7 e E T R = 9 7 � 3 = 58RbC67�� 0 T Eo@6_ � 9M1B3 �K5 = @65 T 1B3 = 58RbC[7 c E Z 587HRbC6C]9M1N9JEo@nR T 7NV <6< E = 1 OWE =

q

p � ����� �'��� � � � ���

C>5A![V6_b_89J@[_�9J@F1B3[5 OWE =mZ E8O�@65 � cAR < RP!>9 T 9M1?9M587�1BE\KV65 = " RP@nC Z RP@nR8_b5��K5 = @65 T 1B3 = 58RbC[7hiK5 � _ �Ji5��[1B5A@g7L9MEb@n7 9M@�� 7;9�:;< OWE = �K5 = @65 T � T 5AIK5 T 1B3 = 58RoC67 �

��E�� 5AIK5 = i Vg7?5 = � T 5AIK5 T 1B3 = 58RbC[7 R = 5 58747?5A@#1?9 R T � 0 � +!+�q�� �:i(R8@nC � 9 T T R T � RD"[7�5��#9 7?1 � � 19 7 @nRA9MIK5 EPOlE < 5 = RP1N9M@6_u7N"67N1B5 Z C#5AIK5 T E < 5 = 7 1BE�Ro7B7?V Z 5 143nRP11B365 7?V <6< E = 1 1B3[5A" <>= E8IK9 C>51BE#C[RD" � 9 T T 5A@gchE ZF< Rb747�R TYT 5/�61 RP@#1 E = OWV614V = 5Fc Eb@nchV =B= 5^@nch" < R = RoC]9M_ Z 7 � � 365 = 5 OWE = 5 ig9M1 9 79 Z�< E = 1mR8@>1�14E 3nRAIK5HR�C#5A!6V6_o_b5 = 143nRP1 ��E = �[7�� 9M143UVg7?5 = � T 5AIK5 T 1B3 = 58RbC[7 RP@gCUc Eb@#1 = E T 7 58Rocf31B3 = 58RoC 9J@gC>5 < 5A@nC>5^@>1 T " � a EK7?1 5��>9 7N1?9M@6_ G � � C#5A!6V6_o_b5 = 7�Vn7?5 C#5A!6V6_o_P9M@6_ <>= 9 Z 9M1?9MIK587!nRo7?58C Eb@ 7;G49�BC<4= � e V6@#! � E = � 7�9;:;< � e V[@nR �/i ��3>9 cf3FEb@ T " R TYT E�� 7?"#@ncm3 = Eo@6EbVn7 9M@#1B5 = Rbch1N9JEo@��� 3>9 7 5��#9 7?1N9J@[_�R <6<>= EKRbcm3 ! T E#c.�67 � ��d R8@nC�1B365 = 5hOWE = 5 <>= 5Dc T VnC>587 9M@nC>5 < 5A@nC#5A@>1 chEb@#1 = E T EPOVn7N5 = � T 5AIK5 T 143 = 5DRbC67 i R8@nC <>= E < 5 = 3nR8@nC T 9M@6_ EPO Z V T 1?9 <>T 5�G � � <>= E#c 587B7N587 �

� 365 Z 58cm3nRP@#9;7 Z Vn7?58C 9M@#� ��� 14E�Rocf3#9J5^IK5 5�� cf9M5A@#1 Rb7?"#@ncm3 = Eo@>"H!n5A1 � 5^5A@H1B365 C>5A!6V6_��_b5 = RP@gC 14365�1 R = _o5A1�R <6<>T 9 cARP1N9MEb@�i�Ro7���5 TYT Rb7.9M@nC#5 < 5A@nC>5A@#1�c Eb@#1 = E T E8O Vn7?5 = � T 5AIK5 T 143 = 5DRbC67 i9 7�14E C]9 7?1 = 9M!6V6145 < R = 1 EPO`1B365�C>5A![V6_b_o5 = 9M@#1BE 14365 1mR = _b5A1 R <[<>T 9;c^RP1?9MEo@�ilcAR TYT 58C 14365 - " $�)�-� ��������� � ! � 7?5^5 $ 9M_bV = 5 � �Mp i�RP@nC�14365 � - " � )�-�� ��������� � !�Vn7L9M@6_ 1 � E 9M@nC>5 < 5A@nC#5A@>1 chE ZFZ V �@>9 cAR81?9MEb@ cm3nRP@[@65 T 7 � 9M143�1B3[5 1 R = _b5A1lR <6<>T 9 cARP1N9JEo@ �

1���:-K;5M54<SBSG�5H: 3��JD�BJ3-3#=4F � ��3#9;cm3u9 7 7?"#@ncf3 = Eb@[EbVn7 R8@nC c = 58RP1458C !#" Vg7L9M@6_ 1 = RoC]9 �1N9JEo@nR T C#5A!6V6_o_P9M@6_ <>= 9 Z 9J1N9MIK587 � 7�G-9�B;<-= E = � 7�9;:;< � � 1 9 7�587?1 RP! T 9 7?3[58C Eo@ T " 145 Z �

< E = R = 9 T " OWE = 14365�_ T Eo!nR T C#5A!6V6_o_b5 = 14E Z E#C]9YOW" 14365�1 R = _o5A1�R <6<>T 9 cARP1N9MEb@ � 7�chE#C>5Ki#5 � _ �Ji9M@n7N5 = 1N9J@[_ R�! = 5DR � < E89M@>1 �

1 �4: 3�G49;:;FLBJ3�K���:?G�5��54<SBSG;5S:I3�� DCBJ3-3#=-F � ��3>9 cm3 9 7�Ro7?"#@ncf3 = Eb@[EbVn7 RP@nCH587?1 RP! T 9 7?3[58C143 = EoV6_b3 R 7?E#c.�K5A1�!n5A1 ��5A5A@ T E#cAR T R8@nC _ T Eb!nR T C#5A!6V6_o_b5 = � � 365 T E#cAR T C>5A!6V[_b_b5 =cAR81mcm36587�1mR = _b5^1HR <6<#T 9 cAR81?9MEb@ C>5^!6V6_b_89M@6_ 5AIK5A@#1m7hi T 9(�K5 5A@nc EbV6@#1B5 = 9M@6_ R�! = 58R � < EP9M@#1AiR8@nC = 5 < E = 1m7�14365 Z 1BE 1B3[5 _ T Eb!gR T C>5A![V6_b_o5 = � � 365 _ T Eo!nR T C>5A!6V[_b_b5 = 1B3[5A@ 7?5A@nC[7

� � )� � ��� � ���� � � pbp

chEo@>1 = E T chE Z�Z RP@gC67hi T 9(�K5FchEo@>1N9J@#V65FR�143 = 5DRbC i 14E 1B3[5 T E#cAR T C>5^!6V6_b_o5 = � � 3#9;7HchE Z �

Z V6@#9;c^RP1?9MEo@ cm3nRP@6@[5 T C>EK5D7 @6Eo1�! T E#c � 5h9M1B365 = 1 R = _b5A1lR <6<>T 9 cARP1N9JEo@ E = _ T Eb!gR T C>5A!6V6_��_o5 = � � 3>Vn7 i 9J1FOWV TYX6TYT 7 1B365 = 58\KV>9 = 5 Z 5A@#1m7 EPOH9M@nC>5 < 5^@nC>5A@#1 chEo@>1 = E T EPOVn7N5 = � T 5AIK5 T143 = 58RoC67 � � @�O/Rbch1^i 9YO 9M1 � Rb7 < EK7B7:9M! T 5�OWE = 1B3[5 T E#c^R T C>5A!6V[_b_b5 = 1BE Z E#C]9YOW" 1B3651mR = �_o5A1 � 7 chE#C>5 CK9 = 58ch1 T " i 1B365�7N">@ncm3 = Eb@6EoVn7 Z E#C]9 X cARP1N9MEb@ cm3nRP@6@[5 T chEbV T C !n5 Z 5 = _b58C9M@#1BEF1B365Rb7N">@gcf3 = Eb@6EoVn7lchEb@#1 = E T RP@gCU@6Eo1?9 X cAR81?9MEb@ cm3nRP@[@65 T �

User-levelGlobalDebugger

modification channelsynchronous

control channelasynchronous

Kernel Thread Control

Thread ControlSymbol

Information Local Debugger

User Interface

Debugger Target

$ 9M_bV = 5 � �Mp�� � 9 7?1 = 9M!6V61?9MEo@ E8O�Q E = �U!n5A1 ��5A5A@ � 5^!6V6_b_o5 = RP@nC � R = _b5^1

� � �1�1/ � � - � � �

��E = 1mR8!>9 T 9J1N" Roc = E 7B7 C]9"!&5 = 5A@>1HE < 5 = RP1N9M@6_u7N"67N1B5 Z 7HRP@nCSR = cm3>9M1B5Dch1BV = 587hi,RP@nC OWE = CK9 !&5 = 5A@#17?EoV = c 5 T RP@6_oVnRP_o587 9 7�9 ZF< E = 1 RP@#1 � ��E = 1 RP!>9 T 9M1?" c^RP@ !n5 Rocf3>9M5AIK5DC !#" 5A@ncAR < 7?V T R81?9MEb@ EPOC>5 < 5A@gC>5A@#1HchE#C>5 � � 365 7?5 < R = R81?9MEb@SEPO�1B365FC#5A!6V6_o_b5 = 9M@>14E Z V T 1?9 <>T 5 Z E#C>V T 587H1BE 5^@n7?V = 5ch5 = 1mRA9J@ < E = 1 RP!>9 T 9M1N" Rb7 < 58ch1m7 9 7 7N36E���@U9M@ $ 9J_oV = 5 � �Mp �

� 365HRAIoRD9 T RP!>9 T 9M1N"UE8O,RP@#" C#5A!6V6_o_P9M@6_ 3nR = C � R = 5 7?V <6< E = 1 Z R �K587 9 Z�<#T 5 Z 5A@#1mR81?9MEb@ E8O,RC>5A![V6_b_o5 = 58Rb7:9J5 = R8@nC 5�� cm9J5^@>1 ��$ E = 5��nR Z�<#T 5 i�7?E Z 5 3nR = C � R = 5�3nRo7H7?V <6< E = 1 OWE = 7L9M@6_ T 57?145 <6< 9M@6_ � �`E ��5AIK5 = inR C>5A!6V[_b_b5 = cARP@ @[Eb1 = 5 T "�Eb@ 1436587N5�OW58RP14V = 587�� � 3#Vn7hi&1B365 = 5 T 5AIoRP@#1

p�� ����� �'��� � � � ���

chE#C>5 Z Vn7?1F!n5�5A@gcAR < 7NV T RP1458C 7?Eu143nRP1 9M1 cAR8@ !n5 RoC6R < 1458C 1BE C]9"! 5 = 5A@#1 R = cm3>9M1B58c 1BV = 587 �� @ 14365 cARb7N5 EPO T 9M1B1 T 5 E = @[E�3nR = C � R = 5 7?V <6< E = 1Ai(1B3[587?5 O/Rbcf9 T 9M1?9M587 Z Vn7N1H! 5 5 Z V T RP1458C 9M@7?E8OW1 ��R = 5 ��$nE = 5��gR ZF<>T 5Ki#7L9M@6_ T 57N1B5 <6< 9J@[_ cAR8@ !n5 9 ZF<>T 5 Z 5^@>1458C�!>"F7N5A1B1N9M@6_ RH! = 58R�� < E89J@#1RP1`R <>= E < 5 =lT E#c^RP1?9MEo@uR8@nC�chEo@>1N9M@>V>9M@6_F5��[58chV61N9MEb@��

� @ � ��� i614365�OWE TYT E�� 9J@[_ < R = 1 7 EPO(14365C>5A!6V[_b_b5 = 3nRAIK5�!n5A5^@U5^@ncAR < 7?V T RP1458C �

1 3nR = C � R = 5 7?V <6< E = 1

1 chE Z�Z V[@>9 cARP1N9JEo@ � 9M1B3�1B365HE < 5 = RP1N9M@6_ 7?"[7?145 Z � 5 � _ �Ji6c Eb@#1 = E T EPO �K5 = @[5 T 143 = 58RoC67

1 chE Z�Z V[@>9 cARP1N9JEo@ � 9M1B3�1B365 = V6@>1N9 Z 57?"[7?145 Z � 5 � _ �Ji6c Eb@#1 = E T EPO,Vn7?5 = � T 5^IK5 T 1B3 = 58RbC[7

1 C]9"!&5 = 5A@>1�5/�658c V61mR8! T 5 X[T 5HOWE = Z R81m7

1 1 R = _o5A1`R <6<>T 9 cAR81?9MEb@ � 7 _ T Eo!nR T 7N" Z !nE T 1mRP! T 5 RP@nC�chE#C>5C>5A![V6_b_89J@[_�9M@>OWE = Z R81?9MEb@

1 Vn7N5 = 9M@>145 = O/Roch5

� �1+.� � � � + ��/ ��� - � � �

� IK5A@#1�chE TYT 5Dch1?9MEb@SRP@gC�_ = R < 3>9 cAR T IK9 7?VnR T 9 �DRP1?9MEK@uE8O�14365�!n5A3nRAIK9MEbV = EPO R c Eb@nchV =B= 5^@>1 <>= E��_ = R Z c^RP@ 365 TJ< 7:9J_o@>9 X cAR8@>1 T " 9M@ V6@nC>5 = 7?1 RP@nCK9J@[_�9M1 � � 3#Vn7.9M@#1B5A_ = RP1N9M@6_ R TYT 1B36587N5�R8!>9 T 9J1N9M5879M@>14E 1B365FC>5^!6V6_b_89M@6_�5A@#IK9 = Eb@ Z 5A@#1 9 7HR = 58Ro7?Eo@nRP! T 5 _oEKR T �#$ 9M_oV = 5 � � � 7?36E��l7HR < EK7B7:9M! T 5= 5 T R81?9MEb@g7?3>9 < EPO RPV-�#9 T 9 R = " RP@gCUC#5A!6V6_o_P9M@6_ 14EKE T 7 �

� �� � � � �� � � �

� ��� <>= E8IK9;C#58CHR @>V Z !n5 = E8O < E�� 5 = OWV T C>5^!6V6_b_89M@6_�R8@nC 9 ZF<>T 5 Z 5A@>1 RP1N9JEo@ OW58R81BV = 587 � � 36E 7?5OW58R81BV = 587 143nRP1FR = 5�C]9 = 58c 1 T "u5��[1B5A@gC>58C E = 3nRAIK5 R = 5 T RP1B5DC 5/�6145A@n7L9MEo@ 9M@ 1B3#9;7 1B3[587L9 7 R = 5

� � � � � ����� �� �%� �� � p��

event handling

control

notification

target control

events

local code

Debugger interaction Analysis/Visualization

Target

$ 9M_bV = 5 � � � � � @#1B5 = Rbch1N9MIK5 � 5A!6V[_b_P9M@6_ RP@nC � IK5^@>1 � 5^@65 = R81?9MEb@

C]9 7Bc Vn7B7N58C 9M@ C#5A1mRA9 T �

������� � $ "U �$/�;�'� ��$ ��� ����$

0 @ E < 5 = R81?9MEb@nR T _ = EbV < 9 7 Z RA9J@ T " R chEb@#IK5A@>9M5A@nc 5 O/Rbcf9 T 9M1N"�OWE = R�Vn7N5 = � � @n7N1B58RoC EPO 9;747?V>9M@6_1B3[5F7BR Z 5FchE Z�Z RP@nC Z V T 1N9 <>T 5�1N9 Z 587 OWE = R _ = EoV < E8O�1B3 = 58RbC67 i�1B365FchE Z�Z RP@gCU9;7 9 7B7NV658CEb@gch5�OWE = 1B365FE < 5 = RP1?9MEo@nR T _ = EbV < � � 3>9 7 chEb@#IK5A@>9M5A@gch5 O/Rocf9 T 9M1N" 9;7RP@ 9 ZF< E = 1 RP@#1 OW58R81BV = 5OWE = 74cAR T 9M@6_u14E Z 58C]9MV Z E = T R = _b5 @#V Z !n5 = 7HEPOH143 = 58RoC67 � jl@nc 5U_ = EoV < 7 EPO`1B3 = 58RbC67FR = 5OWE = Z 5DC i R Vn7N5 = cARP@ 58Ro7L9 T " < 5 = OWE =mZ chE ZFZ Eo@ E < 5 = R81?9MEb@g7 Eo@ 14365 _ = EoV < � � @n7?1458RbC EPO9M@>145 = Roch1?9M@6_ � 9M143 R T R = _b5 = @>V Z !n5 = E8O 9M@nC]9MIK9 C>VnR T 1B3 = 58RoC67hi�14365 Vn7N5 = 9M@#1B5 = Rbch1 7 � 9J143 R7 Z R TYT @>V Z !n5 = E8Ol_ = EoV < 7�� � 3 = 58RbC[7�cAR8@u!n5 R = !>9M1 = R = 9 T "u_ = EbV < 58C 9M@#1BE R8@uE < 5 = RP1N9JEo@nR T_ = EbV < i]![V61(ch5 = 1mRA9J@Fc E ZFZ R8@nC67�R = 5 Z 58RP@>9M@6_8OWV T 14EHR TYT 1B3 = 58RbC[7k9M@ 1B365�_ = EbV < Eo@ T " 9YO�14365A"R TYT 7N3nR = 5�14365 74R Z 5F7?EbV = ch5 chE#C>5 ��$ E = 9M@n7N1mR8@nch5Ki�7N5A1B1N9M@6_ R chE Z�Z Eb@�! = 5DR � < E89M@>1 ��EbV T C

p�' ����� �'��� � � � ���

!n5 Z 58RP@#9J@[_ T 587B7�OWE = 1B3 = 58RbC67�1B3gRP1`C>E @6Eo1�7N3nR = 5 7?EoV = c 5 chE#C>5 � 0 1B3 = 58RbC�cARP@ !n5 T Eb@6_ 14ERP@#" @#V Z !n5 = EPO,E < 5 = RP1N9JEo@nR T _ = EoV < 7��

������� � $ ,4���A �")$���$ �����'��,

� = 5DR � < E89M@>1 7 9M@ � ��� R = 5H9 ZF<>T 5 Z 5A@#1B58C !>"�7?14E = 9J@[_U14365 ! = 58R � < EP9M@>1`3nRP@nC T 9M@6_ chE#C>5FR817?E Z 5 chEb@#IK5A@>9M5A@#1 <>T Rbc 5 9J@ Z 5 Z E = "HRP@nC 9M@n7N5 = 1N9M@6_HR ! = RP@ncm3�14E�1B3[5 ! = 58R � < EP9M@>1,3nRP@nC T 9M@6_chE#C>5�9M@ <>T Rbch5FEPO�14365 E = 9J_89M@nR T chE#C>5 � � 3>9 7 9 7�E <6< E 7?58C 1BE 1B3[5 1 = RoC]9M1?9MEb@gR T R <6<>= EKRbcm3 EPO9M@n7?5 = 1?9M@6_ R �%� 0 �*9M@n7N1 = Vnch1?9MEo@ 1B3nR81 = 58\]V#9 = 587�9J@#1B5 = Rbc 1?9MEb@ � 9J143 1B365 j e i(R8@nC 365^@nch5Ki9 7 5�� < 5A@n7:9JIK5 � 0�7 � 5 TYT i < 5 = OWE =mZ RP@gch5 c^RP@u!n5�9M@nc = 58Rb7N58C�9 Ol14365F! = 58R�� < E89J@#1�9 7 3nR8@nC T 58C9M@ Vn7?5 = chE#C>5Ki(7:9M@nch5 14365 @#V Z !n5 = E8O��K5 = @65 T c Eb@#1B5��[17 � 9M1mcm36587�!n5A1 � 5^5A@uC#5A!6V6_o_b5 = RP@nC1mR = _o5A1 9 7lC>58c = 58Rb7N58C �$nE = 5��nR Z�<#T 5 inR�7:9J@[_ T 5 ! = 5DR � < E89M@>1lEPOW145A@ R <6<>T 9M587 Eb@ T "�1BE R�7 Z R TYT@#V Z !n5 = E8O1B3 = 58RbC67�����E�� 5AIK5 = i�9J@ RP@ R <6<>T 9 cARP1N9MEb@ � 9M1B3 Z RP@#" 1B3 = 58RoC67 7?3gR = 9M@6_ 143657BR Z 5 c E#C>5�9 Z R8_b5KilR ! = 58R � < EP9M@#1�c^RP@ !n5 1 = 9J_o_b5 = 58C !#" Eo1B365 = 1B3 = 58RbC[7�1B36EoVn7BR8@nC67 EPO1?9 Z 587 � � 365 cm3658c.�U14E�7?5A5 9YO�1B3[5�! = 58R � < EP9M@#1 9 7R <6<>T 9 cAR8! T 5U14E 1B365 chV =4= 5A@#1�1B3 = 58RoC cAR8@!n5�C>Eb@65 \]V#9;c.� T "S!>" 1B365 T E#cAR T ! = 58R � < EP9M@#1�3nR8@nC T 5 = 9M@n7?1458RbC EPOH14365 _ T Eb!nR T C#5A!6V6_o_b5 = iRP@gC 14365�_ T Eo!nR T C#5A!6V6_o_b5 = 9 7 @6Eo1?9 X 58C Eb@ T "F9 O,1B3[5 ! = 58R � < EP9M@#1 9 7�R <[<>T 9;c^RP! T 5 � � 1�9 7�7?36E���@9M@ � ��R = q�! � 143nRP1lcm3658c.�K9J@[_�1B3[5HR <6<#T 9 cAR8!>9 T 9J1N"�EPO R�! = 58R�� < E89J@#1�Vn7:9J@[_ R T E#cAR T ! = 58R�� < E89J@#13nR8@nC T 5 = 9;7lR <[<>= E �#9 Z RP145 T " � '� ��1?9 Z 587.O/Rb7N1B5 = 1B3gRP@�Vg7L9M@6_F1B365H_ T Eo!nR T C#5A!6V6_o_b5 = �

������� � ,;����� �%��� � �&("

e 9M@nch5 � = 9M1?9M@6_ R C>5^!6V6_b_o5 = O = E Z 74c = R81mcm3�9 7 IK5 = "�C]9�� c V T 1Ai RP@nC 1BEF9J@gc = 58Ro7?5F1B365 < E = 1mR �!>9 T 9M1?" E8O�14365 C>5A![V6_b_o5 = RP@nC RAIKEP9 CuV6@6@[58ch58747BR = " 9 Z�<#T 5 Z 5A@#1mR81?9MEb@ i < R = 1 7�E8O�14365�� ���C>5A![V6_b_o5 = � e ��q�! � � R < E = 1mR8! T 5 7N58\]V[5A@>1N9 R T C>5A![V6_b_o5 = � 9M1B3 7NEbV = ch5�O = 5A5 T " RAIoRD9 T RP! T 5 ��5 = 5

� � � � � ����� �� �%� �� � p�!

= 5��:Vn7N58C �lGH7L9M@6_�� ��� chE#C>5FR T 7NEU_89MIK587 1B3[5 RbC#IbR8@>1 RP_o5 EPO < EK7B7:9M! T 5 !n5A@65 X 1�O = E Z OWV61BV = 5� ��� C>5AIK5 T E <[Z 5A@#1�Ro7 ��5 TYT Rb7 9M1m7 < E = 1 RP!>9 T 9M1?"�OWE = C]9"!&5 = 5A@#1 <>T RP1?OWE =mZ 7 �� ��� c E#C>5 9 7�Vn7?58C 14E

1 C>5DR T � 9M1B3 C]9"! 5 = 5A@#1�5��[58chV61 RP! T 5 X6T 5 OWE =mZ RP1m7 i65 � _ �Ji ) �" � 'Wi � - ��5^1mc �

1 RocAch58747U7N" Z !nE T 9 cuC#5A!6V6_ 9J@#OWE =mZ RP1N9MEb@�i ��3>9 cf3 9;7 9M@n7?5 = 1B58C 9M@>14E 14365uR <6<>T 9 cARP1N9MEb@��365^@ 9M1�9 7 chE Z�< 9 T 58C � 9M1B3�14365

-g#&R8_

1 9M@#1B5 = <>= 5A1lR <6<>T 9 cARP1N9MEb@SC6RP1 R>i T 9(�K5 7?1 Rbc.� RP@gCUIoR = 9;R8! T 5FchEb@#1B5^@>1 7

� E _ RD9M@ 7?"#@ncm3 = Eo@6EbVn7 c Eb@#1 = E T E8Ol1B365 1 R = _b5A1 <>= E#ch5D7B7hi � ��� i�36E�� 5AIK5 = i 9 7�@6Eb1 = V6@Rb7HR 7?5 < R = RP1B5 <#= E#ch58747HRP@nC R TYT�< R = 1m7�EPO�14365 � ��� chE#C#5 1B3nR81�c^RP@ _KRD9M@SchEb@#1 = E T E8IK5 = RG � � <#= E#ch58747 E =`Z E#CK9 OW" 14365H1mR = _b5A1 <>= E#ch587B7�3nRAIK5�!n5A5A@ = 5 Z E8IK58C �

� � ��� ��� � �

� � � � ��� � � ���

� � ��� � � � � � � � � � ����� � �!� � � ��� � �� ��� � � �

� 365 ��E = 1mR8! T 5 �(R = R TYT 5 T�9 � 9 7N1 = 9 !6V61458C � 5^!6V6_b_o5 = � ��EKE qbr �/i < �bC6�#i ��Ro7(C>587L9M_o@658C R8@nC�!6V>9 T 1RP1 � 0 e 1BE RbcAchE Z�<#T 9 7N3�1B3[5 OWE TYT E�� 9M@6_ 1 � E Z RD9M@�Eo!��m58ch1N9JIK5D7��

1 < E = 1mR8! T 5 5A@6EbV[_b3�14E = V6@�Eb@ 1B3[5 IoR = 9M58C�c E TYT 58ch1?9MEo@ EPO Z Rbcm3>[email protected]@ � 0 e

1 cAR < RP! T 5 EPO�chEb@#1 = E TYT 9M@6_ 1B365 5/�658c V61?9MEb@ E8O ��!br <#= E#ch58747?587 i � 9M1B3[EbV61 = 58\KV>9 = 9M@6_ R� 9M@nC>E�� OWE = 5DRbcm3 <#= E#ch58747 �

< �oC6� OW5DRP1BV = 587�R c T 9M5A@#1 �L7?5 = IK5 = R = cm3>9M1B58c 1BV = 5Ki67N5A5�$ 9M_bV = 5 � �Jp � � 365C>5A!6V6_o_b5 = c T 9M5A@#1lchEb@ �7L9 7N1m7�EPO R�Vn7N5 = 9J@#1B5 = O/Rbc 5 � 9M1B3 ��3>9 cf3 14365�Vg7?5 = 9M@#1B5 = Rbch1 7hi&RP@nC R C]9 7?1 = 9M!6V61?9MEo@ Z R8@nRP_o5 =1B3gRP1��K5A5 < 7(1 = Roc � EPO <>= E#ch58747?587lRP@nC <>= E#c 587B7�_ = EbV < 7���0�7 � 5 TYT inRFC>5A!6V6_o_b5 = 7?5 = IK5 =lZ RP@ �RP_o587 7?5 = IK5 = E < 5 = RP1N9MEb@n7�c E ZFZ V6@>9 cARP1458CHRbc = EK747k14365(@65A1 � E = �l1BE < EK747L9M! T " Z V T 1?9 <>T 5 = 5 Z Eb1B57?5 = IK5 = 7 chEo@>1 = E TYT 9M@6_ Z V T 1?9 <>T 5�1 R = _b5A1 <>= E#c 587B7N587 �

p;:

p ) ����� �'��� � � � �� � � ��� �����

remote

server

remote

server

target

target

manager

distribution

interface

user debugger

server

.

.

.

client

$ 9M_bV = 5 � �Mp�� < �oC6� � 7 d T 9M5A@#1 � e 5 = IK5 = 0 = cm3>9M1B5Dch1BV = 5

+ 9(�K5 � ��� i81B365 < �bC6�HC>5A![V6_b_o5 = 7?5 = IK5 = 9 7�!nRo7?58C Eb@ V;KJN iD9M@ O/Rbch1^i]5DRbcm3 = 5 Z Eo1B5l7?5 = IK5 =9 7HRP@ 9J@g7?1mR8@nch5FEPO � ��� � � 365 C>5A!6V6_o_b5 = 7?5 = IK5 = 9 7 = 587 < Eo@n7L9M! T 5�OWE = 7?5A@nCK9J@[_ chE Z�Z RP@nC[71BE�1B365 R <[<>= E <>= 9 RP145 9J@g7?1mR8@nch5 E8O � ��� RP@nC < R = 7L9M@6_ RP@#" = 5 <>T 9J5D7 � G�@ T 9(�K5 � ��� i � ���9 7 Vn7?58C 14E chEb@#1 = E T 14365 1mR = _b5^1 <>= E#c 587B7�� � 365 < �oC6� C>5^!6V6_b_o5 = � Rb7 @6Eb1�C>5D7L9M_b@65DC 14E7?V <6< E = 1FVn7N5 = � T 5AIK5 T 143 = 5DRbC67�� j @ 1B365 Eb1B3[5 = 3nRP@gC i%� ��� 7?V <6< E = 1m7�9M@nC>5 < 5A@gC>5A@#1FRP@nCRb7N">@gcf3 = Eb@6EoVn7lchEb@#1 = E T EPO Vn7?5 = � T 5AIK5 T 1B3 = 58RoC67 �

< �bC ��7NV <6< E = 1m7 14365�OWE TYT E � 9M@6_ Vn7N5hOWV T OW58R81BV = 587��

1 chEo@>1 = E T 7?5A1 ��7L9 Z 9 T R = 1BEF1B365E < 5 = RP1?9MEo@nR T _ = EbV < 9M@ � ��� i ��3>9 cf3 R TYT E �l7HR Vn7?5 = 14E7N5A@nC R�c E ZFZ R8@nC 1BE R 7?5A1lEPO <>= E#c 587B7N587 �

1 OWE#chVg7 _ = EoV < �(C]9 7 <#T RA"[7 Z E = 5lC>5A1mRA9 T 5DC�9M@>OWE = Z R81?9MEb@ R8!nEbV61 R 3gRP@nC]OWV T E8O <>= E#ch58747?587 i5 � _ �Mi <>= E#ch587B7 � 7 � � i Z Rbcm3>9M@65H@nR Z 5RP@nC 5��[58chV61 RP! T 5H@nR Z 5Kin7N1mRP145�9J@#OWE =mZ RP1N9MEb@��

� � � ����� � ������� ��� � ��� � � �� � ������� �� pAq

� �� ��� � � � � � � ,� � � � ��� � � �

a RP@#1?9 7 � + d�qbr �/i�R _ = R < 3>9 cAR T C>5A![V6_b_o5 = OWE = < R = R TYT 5 T <>= Eo_ = R Z 7 i <#= E8I]9 C>5D7 9M@>145A_ = RP1458C7?V <6< E = 1 OWE = 14365 eK<>T 9M1 �4d T R8@6_bVgRP_b5 � d � ����q�� � � � 3[5 a RP@#1?9 7 9M@#1B5 = O/Rbch5 cARP@ R T 7?E !n5�Vn7N58COWE = 7?58\KV65A@#1?9 R T C#5A!6V6_o_P9M@6_�9M@�dli d! " $nE = 1 = R8@�i6R8@nC�Eo1B365 =�T RP@6_oVnRP_o587hinR T T E�� 9M@6_ R7L9M@6_ T 55A@#I]9 = Eb@ Z 5A@#1.OWE = !nEb143 7?5D\]V65^@>1N9;R T RP@nC < R = R TYT 5 T C>5A!6V6_o_P9M@6_ �

a RP@#1?9 7 9 7R T 7?E !nRo7?58C Eb@ � ��� � 9M1B3 RbC6C>5DC T RP@6_oVnRP_o5�7NV <6< E = 1 ��0 C#5A!6V6_ 7?58747L9MEb@chEo@n7L9 7?1 7 EPO,R�_ T Eo!nR T C#5A!6V6_o_b5 = RP@nC Z V T 1N9 <>T 5 @[E#C>5HC>5A![V6_b_o5 = 7�� � Eo1B3 14365 _ T Eb!nR T C>5A!6V6_��_b5 = R8@nC 14365�@[E#C>5 C>5A![V6_b_o5 = R = 5 !nRo7?58C Eb@ � ��� � 9J143u_ T Eo!nR T�T RP@[_bVnR8_b5�7?V <[< E = 1 RP@nC@6E#C6R TnT R8@6_bVgRP_b5 7?V <6< E = 1 = 587 < 58ch1?9MIK5 T " � � Rbcm3 @6E#C>5`C>5A!6V6_o_b5 = 9J@#1B5 = Rbc 1m7 � 9M1B3 R Vn7?5 =(<>= E��ch58747 � � 365�_ T Eb!gR T C#5A!6V6_o_b5 = _KR81B365 = 7 9M@>OWE = Z R81?9MEb@�O = E Z 1B365�@6E#C#5�C>5^!6V6_b_o5 = 7(R8@nC�CK9 = 58ch1 7Vn7N5 =�= 58\KV6587N1m7 14E�14365 Z � a RP@#1?9 7 ��Ro7 @6Eo1 9M@#1B5A@gC>58C 1BEF7NV <6< E = 1�Vn7?5 = � T 5^IK5 T 143 = 58RoC67 �

� �� � � � � �!� � � ��� � �� ��� � � �

� 365 � ��a � 9 7?1 = 9M!6V61458C � 5^!6V6_b_o5 = � a a � � qbr �K7NV <6< E = 1m7�1B365�C>5^!6V6_b_89M@6_ E8O Z V T 1?9 �/1B3 = 58RbC#58C iZ V T 1?9 � <>= E#c 587B7�R8@nC Z V T 1?9 � T R8@6_bVnR8_b5 R <6<>T 9 cAR81?9MEb@n7l1B3nR81 Vn7N5 Z V T 1?9 <>T 5 Z 9 C6C T 5 ��R = 587 ��3#9 T 55��[58chV61N9M@6_U9M@ R�3[5A1B5 = Eb_o5A@65AEoVn7 C]9 7?1 = 9M!6V61458C 5A@#IK9 = Eb@ Z 5A@#1 � � 3[5�C#5A!6V6_o_b5 = chEo@n7L9 7N1m7 EPO1B3[5 OWE TYT E�� 9M@6_ 1 � E < R = 1 7��

1�49;:J3�G �4=I3CK � chEo@n7L9 7N1m7 EPO 14365lVn7?5 = 9M@#1B5 = O/Rbch5�IK9M5 �l7hiK14365Hch5A@#1 = R T 9��A58C T Eb_P9 c = 5D\]V>9 = 58C14E chEo@>1 = E T 1B3[5�CK9;7N1 = 9J![V61B58C R <6<>T 9 cARP1N9MEb@�i RP@gCUR8@�5AIK5^@>1 Z Eo@>9M1BE = �

1�NCBC<����-=83�K � Vn7N587�R <>T RP1NOWE = Z 9M@nC#5 < 5A@nC>5A@#1lc T Rb747 T 9J! = R = "�RP@nC 5��65DchV61B5D7 Eo@ 58Rbcm3 EPO14365 Z Rocf3>9M@65D7 Eb@ ��3#9;cm3�14365R <6<#T 9 cAR81?9MEb@ 5��[58chV614587 �

��� ����� �'��� � � � �� � � ��� �����

0 C>5A!6V6_ 7?58747L9MEb@ chEo@n7L9 7N1m7�EPO`R O = Eo@>1 �:5A@gCuRP@nC Z V T 1?9 <>T 5 !nRoc � �:5^@nC67�c Eb@#1 = E TYT 9M@6_SR�CK9;7 �1 = 9M!6V61B5DC R <6<>T 9 cAR81?9MEb@�� � 365 R = cm3>9M1B58c 1BV = 5U9 7 7L9 Z 9 T R = 14Eu1B3nR81 EPO1B365 < �bC � C#5A!6V6_o_b5 = i5��gch5 < 1(9M1 9 7 Z E = 57?E < 3>9 7?1N9;c^RP1B5DC �

� 365lc T 9M5A@#1(RP@nC�14365�C#5A!6V6_o_b5 = 7N5 = IK5 = E8O 14365 < �bC6�HC>5A![V6_b_o5 = R = 5l7L9 Z 9 T R = 14E�1B3[5 O = Eb@#1 �5A@nCuE8O�14365 � ��a C]9 7?1 = 9M!6V61458C C>5^!6V6_b_o5 = i(!6V61 14365 � ��a C]9 7?1 = 9M!6V61458C C#5A!6V6_o_b5 = 3nRo7�R8@5AIK5A@#1�5A@[_P9M@65`chEb@n7:9 7?1?9M@6_FEPOkRP@ =���=I3�G <S:;F4F-=4<JG�:S9 1B3nR81�chE TYT 58ch1 7 RP@gC 7?14E = 5D7.5AIK5A@#1m7 1B3nR81R = 5�_o5A@65 = RP1B5DC�!>" 1B3[5 C]9 7?1 = 9M!6V61458C R <6<>T 9 cAR81?9MEb@ R8@nC RP@ =���=I3�GL@6:J3#5JG�:?9 1B3gRP1`C]9 7 <>T RA"671B3[5U5^IK5A@>1 7HchE TYT 58ch1458Cu!>" 1B365 5AIK5^@>1chE T T 58c 1BE = � � 365 5AIK5A@#1H5A@6_P9M@65 9 7 !nRb7N58CuEb@ � RAI]9 C� RD" T E = � 7�5AIK5A@#1 Z Eb@>9M1BE = 9M@6_ 14EKE T � � RA"6q�� � O = E Z 1B3[5 G`@>9MIK5 = 7:9J1N" E8O�QSRP145 =BT EKE �

� 365 = 5 Z Eb145F7?5 = IK5 = E8O�14365 < �bC6� C>5A![V6_b_o5 = 9;77?E Z 5 ��3gRP1 T 9 �K5F1B3[5 !nRbc.� �/5A@nC�E8O�14365� ��a CK9;7N1 = 9J![V61B58C C>5A![V6_b_o5 = � � Rocf3 = 5 Z Eb1B5 7?5 = IK5 = EPO14365 < �oC6� C>5A!6V[_b_b5 = 9 7 Z 5 = 5 T "RP@ 9M@n7?1 RP@nc 5�E8O � ��� � � 365 !nRbc.� �:5A@gC�EPO�1B365 � ��a CK9;7N1 = 9J![V61B58CSC>5A!6V6_o_b5 = chEo@n7L9 7N1m7�EPO RK;=IN42;V K;=Q@6:J3 RP@nCuR KC=8N42;V =83;V�5836= � � 365 C#5A!6V6_ C>5 Z Eb@ 9;7Rb747?V Z 58C 14E�!n5 = V[@6@>9M@6_Eb@ 5^IK5 = " 36E 7?1 1B3nR81 RuC>5^!6V6_ 5A@6_89J@[5 = V6@n7 Eo@�� � 3[5 < V =m< E 7?5 EPO1B365 C#5A!6V6_ C#5 Z Eo@9 7U14E Rbc^ch5 < 1 R = 58\KV6587N1 O = E Z 14365 O = Eb@#1 �/5A@nC RP@gC�7?1 R = 1�V < R C>5A![V6_ 5A@[_P9M@65 ��jl@nch51B3[5uC>5^!6V6_ 5A@6_89J@[5�9 7�7N1mR = 1B5DC i 9M1�chE ZFZ V6@>9 cAR81B587 � 9M1B3 1B365�O = Eb@#1 �/5A@nC C]9 = 58ch1 T " � � 365C>5A![V6_�5A@6_89J@[5�chEo@>1 RD9M@n7 RP@ 9M@n7N1 = V Z 5^@>1 RP1?9MEo@ RP@gC�chEo@>1 = E ToT 9J! = R = " � � d + R8@nC a 9 C6C T 5 ��R = 5d(Eb@#1 = E T�e 5 = IK9 ch587 � a d e � � 365 � d + <>= E8IK9;C#587 1B3[5lC>5A!6V6_o_b5 = C>5AIK5 T E < 5 = � 9J143 R <>T RP1?OWE =mZ �

9M@nC>5 < 5A@gC>5A@#1FRP@nC T R8@6_bVgRP_b5�� 9M@nC>5 < 5^@nC>5A@#1�c T Rb7B7 T 9M! = R = "uOWE = C>5A!6V[_b_P9M@6_ 7L9M@6_ T 5 � <>= E#ch587B7R <[<>T 9;c^RP1?9MEo@n7 � � 365 a d e 7?5 = IK587�Rb7�R Z 58cf3gRP@>9 7 Z @65A5DC>58C !>" RFC>5A!6V6_o_b5A5H14E�@6Eo1?9YOW" 14365C>5A![V6_H5A@6_P9M@65 Rb7?"#@ncm3 = Eo@6EbVg7 T "�E8O�14365 E#c^chV =B= 5A@nch5�E8O ch5 = 1mRA9M@�5AIK5^@>1 7k9M@�14365 Z 9 C6C T 5 � R = 5 �� 36587N5 @6Eo1?9 X cAR81?9MEb@g7 R TYT E�� 14365lC>5A!6V[_ 5A@[_P9M@65�1BE`1mR �K5 R <6<#= E <#= 9 RP145 5AIK5^@>1 �N7 < 5Dcf9 X c(Rbch1N9JEo@��

� � � ��� � � � � � ����� � � � � � �� ���� �� �>p

0�cAchE = C]9M@6_ 14E � Eb@gR T C � � �(R��A5 T �W< 5 = 7?Eo@nR T chE ZFZ V6@>9 cAR81?9MEb@ i�1B365 � ��a C]9 7N1 = 9M!6V[1B58CC>5A![V6_b_o5 = <>= EPIK9 C>587�9M@nC#5 < 5A@nC>5A@#1 chEb@#1 = E T EPO,�K5 = @[5 T 1B3 = 58RbC[7�!6V61 chV =4= 5A@#1 T " C>EK587 @6Eo1<>= EPIK9 C>57?V <[< E = 1 OWE = Vn7?5 = � T 5^IK5 T 1B3 = 58RbC[7 �

� � ��� ��� � �

� � � � � � � � � � � � � � ��

Q 3>9 T 5#�R = 7N1B5A@ 9 ZF<>T 5 Z 5^@>1458C 1B365H9J@#9J1N9 R T chE = 5chE Z�< Eb@[5A@>1 7 E8O� ��� inR @>V Z !n5 = E8O�9 Z �

< E = 1mRP@#1�OW58RP14V = 5D7�7?1N9 TYT(= 5 Z RA9J@[58C�V6@>9 ZF<>T 5 Z 5^@>1458C � � 36587N5 Z 9 747L9M@6_UOW5DRP1BV = 587�R = 5 @65Dch587 �7BR = " 1BEF7NV6!n7N1mRP@#1?9 R T T " 5A@[3nRP@nc 5 14365HVn7BR8!>9 T 9J1N" RP@nC < E���5 = EPO(14365C>5A!6V[_b_b5 = �

� @ 1B3#9;7 cf3nR < 1B5 = i � C]9 7BchVn747 1B365 OWE TYT E � 9M@6_ OWEbV = Z R �mE = 5A@63nR8@nch5 Z 5A@#1m7 � RoC6C>58C 14E� ��� � O/Ro7?1HchEo@nC]9M1?9MEo@nR T ! = 58R � < EP9M@>1 7hi RP141mRocf3 Z 5A@#1 E8O�� ��� 14E R = V6@[@>9M@6_�R <6<>T 9 cAR81?9MEb@�i!n5A3nRAIK9JEoV = R T _ = EbV < 7UR8@nC <>= Eb_ = R ZFZ R81?9 cU9M@>145 = O/Roch5 i�Rb7 ��5 TYT Rb7 7?5AIK5 = R T Eo1B365 = Z 9J@[E =5A@63gRP@nch5 Z 5A@#1m7��

� � � � � � � �� � � ��� � � � �

� 365`RP!>9 T 9M1N"�14E�7N5A1�! = 58R � < EP9M@#1m7 9 7 < E 7B7:9J! T " 1B365 Z EK7N1 9 ZF< E = 1 RP@#1.OW58R81BV = 5�EPOkR C#5A!6V6_o_b5 = �� ) % ' � ! � ) + � " ��� ' % R = 5H587B7N5A@>1N9 R T 14E <#= E8I]9 C>5 RbC>58\KVnR81B5 < 5 = OWE =mZ RP@nch5 � 9M1B3 Z V T 1N9 <#T 5H1 Rb7 �[77?3gR = 9M@6_ chE#C>5U9 Z RP_o587 �0� " � � � ' � " � )�- � ! � ) + � " ��� ' % R = 5 R T 7NEuIK5 = " Vn7N5hOWV T 9M@ C>5A![V6_b_89J@[_6iOWE = 5��nR Z�<#T 5 i ��3[5A@ C>5A!6V[_b_P9M@6_ R T EKE < 9M@6_ 7N1 = Vnch1BV = 5Ki�1B3[5 RP!>9 T 9M1?" 14E 7?1BE < ��365A@ 14365

���

� ' ��� ���'� �� � ��� ���������� � � �� �%� �� �

T EKE < 9M1B5 = RP14587�� 1N9 Z 587 9 7 587B7N5A@>1N9 R T � � 365 58Ro7L9M587?1 RP@nC \KV>9 c �K587N1 ��RA"u14EuRocf3>9M5AIK5 1B3>9 79 7�1BE�7?5A1 RUc Eb@nC]9M1N9JEo@nR T ! = 5DR � < E89M@>1H!n58cAR8Vn7?5�9 7B7NV>9M@6_ = 5 < 5DRP1B5DC $�" � ' ��� � � c E ZFZ R8@nC67 9 7V6@nRocAch5 < 1mRP! T 5 � � @�143>9 7 7N58ch1N9JEo@�i6O/Rb7?1l! = 58R � < EP9M@>1 7 9M@ � ��� R = 5 C]9 7Bc Vn7B7N58C�R8@nCU36E�� � ) % '! �&% ' ! � $�' � � $�" � � � ' � " � )�- � ! � ) + � " ��� ' % � 5 = 5HRbC[C>58C �

�(������� � $ ,4���A �")$���$ �����'��,

$&Rb7N1 ! = 58R � < EP9M@#1m7 9 ZF<>T 5 Z 5A@#1B58C�!#" a R = 1?9M@ 9J@ � ��� R = 57L9 Z 9 T R = 1BEF1B3[EK7?5C]9 74chVn7B7N58C 9M@� �H5874q���� � � = 58R�� < E89J@#1m7R = 5�9 ZF<>T 5 Z 5^@>1458C�@[Eb1H!>" R 1 = RbCK9J1N9MEb@nR T G-9�B 7 9M@n7?1 = Vnch1N9MEb@�i�!6V[1!#" 9M@n7N5 = 1N9M@6_ R cAR TYT 14E R C>58CK9;c^RP1B5DCU! = 58R � < EP9M@>1 = EbV[1?9M@65 � breakpoint_handler_i() � � 3[5E = 9M_P9M@nR T 9J@g7?1 = Vnch1N9JEo@n7�R81 14365H! = 58R�� < E89J@#1`R = 5 7BRAIK58C RP1lR 1B5 Z�< E = R = " T E#cARP1N9JEo@���Q 365A@ R1mRo7 � 5��[58chV[1B587 14365�9M@n7?5 = 1B58C cAR T T i�1B3[5FcAR TYT 58C = EbV[1?9M@65 cf365Dc �[7 9YO�1B3[5 ! = 58R�� < E89J@#1R <6<#T 9M5871BE 143>9 7 143 = 5DRbC � � O 1B3[5 ! = 58R�� < EP9M@#1lC>EK587�@6Eb1lR <6<>T " 1BE 14365HchV =4= 5A@#1 143 = 5DRbC i614365�E = 9M_P9M@nR T9M@n7?1 = Vnc 1?9MEb@n7HR = 5�5/�658c V61B58C R81�1B3651B5 ZF< E = R = " T E#cAR81?9MEb@�� � 365E = 9M_89J@gR T 9M@n7?1 = Vnch1N9MEb@n7HR = 5= 5D7?1BE = 58C ��365A@ 14365�! = 58R � < EP9M@#1 9 7 = 5 Z EPIK5DC ��$ 9M_bV = 5#' �Jp7?3[E �l7�14365 < 7N5AVnC>E chE#C>5�OWE = R! = 58R � < EP9M@>1l3nR8@nC T 9M@6_ = EbV[1?9M@65 �

� 365 = 5FR = 5�� breakpoint_handler_i() = EbV[1?9M@6587 � ��3[5 = 5 i = 0. .N-1 c = 5DRP1B5DC�RP1 chE Z �

< 9 T RP1N9JEo@ 1?9 Z 5 i Eb@65�OWE = 58Rbcm3�! = 58R � < EP9M@#1 � 0 ! = 58R � < EP9M@#1 9 7 9 Z�<#T 5 Z 5A@#1B5DC�!>" 9M@n7?5 = 1?9M@6_RucAR TYT 1BEu14365 R <[<>= E <>= 9 RP145 breakpoint_handler_i()

9M@ 14365 R <6<>T 9 cARP1N9MEb@ � 7 chE#C>5 � e 9M@nc 5� 9 7 X @>9M1B5Ki ��365A@ R ! = 58R � < EP9M@#1�9;7 = 5 Z E8IK58C i 14365 chE#C#5 cm3nRP@[_b587R = 5FV6@nC#Eb@65 R8@nC 14365

breakpoint_handler_i() = EoV61?9M@65�9 7 = 5 �/Vn7?58C OWE = RP@[Eb1B3[5 = ! = 5DR � < E89M@>1 � � 365H_ T Eo!nR T C#5A!6V6_��_b5 = ch"[c T 587.143 = EoV6_b3 14365�� breakpoint_handler_i() = EbV61N9J@[587�Rb7(! = 58R�� < E89J@#1m7�R = 57?5^1 R8@nCc T 58R = 58C �

$nE = breakpoint_handler_i()1BE C>5Dcf9 C>5 ��365A1B3[5 = 14365�! = 58R�� < EP9M@#1HR <[<>T 9J5D7 14E�14365 c V = �

� � )��� ��� ������ � � ���� � �'��� � � ��!

bool breakpointHandler( int number ) {sendMessageToGlobalDebugger( number );bool breakpoint_removed = receiveContinueMessageFromGlobalDebugger();return breakpoint_removed;

}

void breakpoint_handler_i() {saveApplicationState();// U_THIS_TASK is a pointer to the currently executing user-level threadif ( U_THIS_TASK->bp_check[ i / 8 ] & (1 << (i % 8)) ) { // breakpoint set for thread

if ( breakpointHandler( i ) ) { // tell global debuggerasm(

sub RA, -8, RA�

);restoreApplicationState();return;

}}restoreApplicationState();asm(

! reserve as many NOP instructions as needed to store the temporary codenop...! final return to jump back into the applicationjmp address_after_breakpoint_code

);}

$ 9M_bV = 5 ' �Jp�� � = 58R�� < EP9M@#1 � RP@nC T 9M@6_�9M@ 0 <6<>T 9 cARP1N9MEb@ud(E#C>5

�br ��� ���'� �� � ��� ���������� � � �� �%� �� �

= 5^@>1F1B3 = 58RbC&i�RP@ � �/!>9M1 Z Ro7 � � bp_check9M@ 1B365 < 7N5AVnC>E chE#C#5 9 7 7?1BE = 58C � 9M1B3 58Rbcm3

1B3 = 58RoC � � 3[5U! = 58R�� < EP9M@#1�9 7�R <6<>T 9 cARP! T 5 1BE 14365�chV =4= 5A@#1 1B3 = 58RbCu9YOH1B365 ����� !>9M1 E8O�14365Z Rb7 � 9M@ 1B365 c V =B= 5A@>1 143 = 58RoC 9 7 7?5A1^i ��3#9;cm3 chE =B= 587 < Eb@gC67�1BE breakpoint_handler_i()

� O�14365�! = 58R�� < EP9M@#1�9 7�R <6<>T 9 cARP! T 5 1BE 1B3#9;7F1B3 = 58RbC i�1B365 = EoV61?9M@65 breakpointHandler(i)9 7

cAR T T 58C&i���3>9 cm3u@6Eo1?9 X 587�14365 _ T Eo!nR T C>5A!6V[_b_b5 = 1B3nR81�1B3[5 ! = 5DR � < E89M@>1�9 7�5A@nc EbV6@#1B5 = 58C�OWE =1B3#9;7�1B3 = 58RoC inRP@nC ��RA9J1 7 OWE = R c Eb@#1?9M@>V[5 Z 58747BRP_o5 O = E Z 14365H_ T Eb!nR T C>5A![V6_b_o5 = �

Q 365A@�R�c Eb@#1?9M@>V[5 Z 58747BRP_o5 9 7 = 58ch5h9MIK58C�OWE = 1B3>9 7�1B3 = 58RbC&i]9M1m7 5��[58chV[1?9MEb@ c Eb@#1?9M@>V[587 � � O1B3[5�! = 58R � < EP9M@>1�9 7 = 5 Z E8IK58C R81 143>9 7 1?9 Z 5 � 9 � 5 �Ji breakpointHandler(i) = 5A14V = @g7 1 = V65 i61B365E = 9M_P9M@nR T 9M@n7N1 = Vnch1?9MEo@n7�R = 5 R TY= 58RoC>" = 587N1BE = 58C RP1H14365�E = 9M_P9M@nR T T E#cAR81?9MEb@�i(1B3#Vn7 ik14365 returnRbC[C = 58747 @65A58C[7 1BE !n5RbC �mVn7N1B58C !nRoc � ��R = C67.9M@ E = C>5 = OWE = 1B365HE = 9M_P9M@nR T 9M@n7?1 = Vnc 1?9MEb@n7l1BE !n55��[58chV61458C RP1�14365 E = 9M_P9M@nR T T E#cAR81?9MEb@�� � Ol1B365 ! = 58R�� < EP9M@#1�9 7�@6Eb1 = 5 Z E8IK58C R81 1B3>9 7�1N9 Z 5Ki1B3[5A@ 1B365 Z E#C]9 X 58CUE = 9M_P9M@nR T 9M@n7?1 = Vnc 1?9MEb@n7`R = 55��[58chV61458C RP1�14365H1B5 ZF< E = R = " T E#cAR81?9MEb@��

e 9M@nch5l! = 5DR � < E89M@>1(3nR8@nC T 9M@6_�9M@>145 = Roch1m7 � 9M143 1B365 = V6@#1?9 Z 5l7N"67N1B5 Z i ��3>9 cm3�3gRP@nC T 587�143657Bcm3658C#V T 9J@[_ EPO,1B365�Vg7?5 = � T 5AIK5 T 143 = 58RoC67hi6143>9 7%�]9M@nC E8O ! = 58R�� < E89J@#1`cARP@ @[Eb1�!n5H7?5^1.9M@ < R = 1m7EPO�14365 = V6@#1?9 Z 5F7?"[7?145 Z � ��E�� 5^IK5 = R�1 = RbC]9M1N9JEo@nR T 7?58\KV65A@#1?9 R T C>5A!6V[_b_b5 = c^RP@ !n5 Vn7?5DC�14EC>5A![V6_�143>9 7 < R = 1�E8O(1B3[5 = V6@#1?9 Z 57N"67N1B5 Z i]9YO(@65^58C>58C �

0�7 Z 5A@#1?9MEb@65DC�58R =BT 9M5 = 9M@ e 5Dch1?9MEb@ � � � � �>i 3nRAIK9M@6_ 1B365F! = 5DR � < E89M@>1R <[<>T 9;c^RP!>9 T 9M1?"S1B587N1cm3658c.�K58C T E#cAR TYT " 9J@ 14365HR <[<>T 9;c^RP1?9MEo@ <>= E#C>Vgch58C R 7 < 5A58C#V < EPO � ' ��� 1?9 Z 587.E8IK5 = Vn7L9M@6_ 143651 = RbC]9M1N9JEo@nR T R <6<>= EKRocf3��

�(������� � $ ,4���R"),-�- C�(�6��")& � � ��&(���;�'� ��$ � �� C"%$ ��$ � ���'�;,

� R8V6_ Z 5A@#1B58C 14365H5��>9 7N1?9M@6_ O/Rb7?1l! = 58R � < EP9M@>1 7 � 9M143 R chEb@nCK9J1N9MEb@nR T cf3[58c �&iK5 � _ �Ji

break Philosopher.cc:82 if k1 == 9

� � )��� ��� ������ � � ���� � �'��� � � � :

��3>9 cm3 Z 58RP@g7 1B3[5�! = 58R � < EP9M@#1 9 7�7N5A1�OWE = 1B365 chV =4= 5A@#1�143 = 58RoCuRP1 T 9M@65 82E8Ol7NEbV = ch5 X6T 5

Philosopher.ccR8@nC 14365 ! = 5DR � < Eo@>9M1�9 7 Eb@ T " 1 = 9M_b_b5 = 58C ��365A@ IoR = 9 R8! T 5 k1

9 7 58\KVnR T 14E

9�+ 9(�K5�O/Rb7N1�! = 58R�� < E89J@#1m7 i 14365�! = 58R � < EP9M@#1�chEo@nC]9M1?9MEo@U9 7 cm3658c.�K58C R8@nC 5AIoR T VnRP1458C T E#cAR TYT "C>V = 9M@6_�! = 58R�� < EP9M@#1 5^IbR T VnRP1N9JEo@�i = RP1B3[5 = 143nRP@ RP1�1B3[5 _ T Eb!nR T C>5^!6V6_b_o5 = � � 3[5�c Eb@nC]9M1N9JEo@nR T! = 58R � < EP9M@>1�9 7 = 587?1 = 9 ch1458C ! 5DcARPVn7N5�Eo@ T "U14365�OWE TYT E�� 9J@[_�c Eb@nC]9M1N9JEo@nR T OWE =mZ 7�R = 5R TYT E ��58C �

1integer [ == | != | >= | <= | > | < ] integer

1pointer [ == | != | >= | <= | > | < ] pointer

� 1k9 7k9M@>OW58Ro7L9M! T 5�1BE C>">@gR Z 9;c^R TYT " chE Z�< 9 T 5lRP@gC 9J@g7?5 = 1�chE#C#5.9M@>14E�1B3[5 1mR = _o5A1�R <6<>T 9 cARP1N9MEb@OWE = R = !>9M1 = R = "�chEb@nCK9J1N9MEb@nR T chE Z�Z RP@gC67 <>= 5D7?5A@#1B58C C>">@gR Z 9;c^R TYT "U14E 1B365`_ T Eb!nR T C#5A!6V6_o_b5 = �� 365 = 5hOWE = 5Ki&R TYT�< E 7B7:9J! T 5 chE Z !>9M@nR81?9MEb@g7 E8O�E < 5 = R8@nC 1?" < 587�R8@nC�E < 5 = RP1BE = 7 Z Vn7?1l!n5 <>= 5 �chE Z�< 9 T 58C 9M@#1BEu14365 T E#cAR T C>5A!6V[_b_b5 = ilRP@nC 14365 R <6<>= E <>= 9;R81B5 E < 5 = RP1?9MEo@ 9 7 C>"#@nR Z 9 cAR TYT "< 5 = OWE =mZ 58C C>V = 9M@6_ ! = 58R�� < E89J@#1�5^IbR T VnRP1N9JEo@�� e 9M@nch5 Z EK7N1�c Eb@nC]9M1N9JEo@n7 9M@#IKE T IK5 Eb@ T "�9M@#1B5 �_b5 = 7�E =`< E89M@>145 = 7 i 14365 = 587N1 = 9 ch1N9MEb@n7 Eo@�14365chEb@nCK9J1N9MEb@nR T 5�� <>= 58747L9MEb@ R = 5H@6Eo1 < R = 1N9;c V T R =BT "7L9M_o@>9 X cARP@#1 �

$'/0�1/ � � �������1����+��

e 9M@nch5H14365H! = 58R�� < E89J@#1`chEb@nCK9J1N9MEb@n7�R = 5H5AIoR T VnR81B58C 9M@�1B3[5�1mR = _b5^1�R <6<>T 9 cARP1N9JEo@�i 14365H! = 58R�� �< EP9M@#1�chEo@nC]9M1?9MEo@n7 R = 57?14E = 58C�9J@ 14365 T E#cAR T C>5A![V6_b_o5 = � � Rb7 �67�cAR8@�7?3nR = 5H! = 5DR � < E89M@>1 7 !6V[1@6Eo1HchEb@gC]9M1?9MEb@n7�V6@ T 5D7B7�7NE Z 5�1B5Dcf36@#9;\KV65�9 7 Vn7N58CU14E C>5^1B5 = Z 9M@6558\]VgR T 9M1?" E8O 5/� <>= 587B7:9MEb@n7��� 365 = 5hOWE = 5 14365l@>V Z !n5 = EPO,chEo@nC]9M1?9MEb@g7 1B3nR81 Z RD"!n5H7?14E = 5DC 9M@ 14365 T E#cAR T C>5A!6V[_b_b5 = IoR = 9M587� 9M1B3 14365�@#V Z !n5 = EPO c Eb@nC]9M1N9JEo@nR T ! = 58R�� < EP9M@#1m7�7?5A1(!#"�1B3[5 Vn7N5 = �,0 @ R =B= RA" EPO T 9M@ �K58C T 9 7?1m7EPO 7:9 �^5 � 9 7 Vg7?58C�14EH7?14E = 5�14365lchEo@nC]9M1?9MEb@g7hi ��3[5 = 5 � 9 7�1B3[5 Z R �#9 Z V Z @#V Z !n5 = E8O&! = 58R�� �

� ) ��� ���'� �� � ��� ���������� � � �� �%� �� �

breakpoint N

condition associated with thread id

breakpint 0

breakpoint 1

$ 9M_bV = 5 ' � � � �lV65^V658C�d(Eb@nCK9J1N9MEb@n7 9 C>5A@#1?9 X 58C !>" � = 58R�� < EP9M@#1 � V Z !n5 = R8@nC � 3 = 58RoC � C

< EP9M@#1m7 <>= 587?5A1 ��365A@u14365 T E#cAR T C>5A!6V6_o_b5 = 9 7 chE Z�< 9 T 58C � � 365�C6RP1 R 7?1 = Vnch14V = 5 9 7 7?36E���@9M@ $ 9M_oV = 5�' � � � � Rbcm3�c Eb@nC]9M1N9JEo@�9 7 V6@#9;\KV65 T " 9 C>5A@#1?9 X 58C !#" 1B3[5 ! = 58R�� < EP9M@#1 @#V Z !n5 = RP@nC1B3 = 58RoC�9 C � � OkR T 9 Z 9M1�9;7 <>T Rbch5DC Eo@ 1B3[5�@>V Z ! 5 = E8O,chEb@gC]9M1?9MEb@n7 � Rb7�OWE = ! = 58R�� < E89J@#1m7 i614365C6R81mR 7?1 = Vnch14V = 5Fc EbV T C !n5�9 Z�<#T 5 Z 5A@#1B5DC � 9J143 R X �S7:9��A58C�1 � E�C]9 Z 5A@n7L9MEo@nR T R =B= RA" � 9M1B3!n5A1B145 =�< 5 = OWE = Z R8@nch5 ����E�� 5AIK5 = ib1B3[5�E8IK5 = 365DRbC�E8O,C>">@gR Z 9;c Z 5 Z E = "FR TYT E#cARP1N9MEK@�9;7�7 Z R TYTchE Z�< R = 58C 1BE 1B3[5 chEK7N1�E8O�5AIoR T VgRP1?9M@6_ 1B3[5 chEb@gC]9M1?9MEb@ R8@nC�9 7 Z E = 5 #g5��>9M! T 5Ki(Vn7:9J@[_ T 5D7B7Z 5 Z E = " � � 365 C]9 7BRoC>IoRP@#1mR8_b5 EPO`1B3#9;7 R <6<>= EKRbcm3u9 7�1B3nR81 1B365 T E#cAR T C#5A!6V6_o_b5 = 9M@#1B5 = Rbch1 7� 9M1B3�1B365H5��[58chV61N9MEb@ EPO(14365 <>= Eo_ = R Z Z E = 5H3658RAIK9 T " i>9J@gc = 58Ro7L9M@6_ 14365 <>= Eo!n5�5�!&58ch1 �

Q 365A@SR chEb@nCK9J1N9MEb@nR T ! = 58R � < EP9M@>1 chE ZFZ RP@nCU9 7�_P9MIK5A@ 1BE 1B3[5 _ T Eb!nR T C>5^!6V6_b_o5 = i�143655�� <>= 5D7B7L9MEo@�7N1 = 9J@[_�9;7�7N1BE = 58C�9M@ 1B3[5�_ T Eb!gR T C>5A!6V6_o_b5 = � 9M1B36EoV61 5^IbR T VnRP1N9J@[_�14365�E < 5 = RP@nC[7 �

� � )��� ��� ������ � � ���� � �'��� � � �bq

� 3>9 7lC>5 T RA" 9 7�@658ch5D7B7BR = " !n58c^RPVn7N5�1B3[5 E < 5 = R8@nC67 Z RA" @6Eo1 "K5^1 5��#9 7?1�9J@�1B365H1 R = _o5A1��6143>Vg71B3[5FRbC6C = 587B7N587HRP@nC Eb1B3[5 = 9M@>OWE = Z R81?9MEb@uOWE = 1B365FIoR = 9;R8! T 587 9M@ 1B365F! = 58R � < EP9M@>1chEo@nC]9M1?9MEo@Z RD"@6Eb1(!n5 = 5A1 = 9M5AIoRP! T 5`RP1(1B3[5�1?9 Z 5 ��365A@ 14365l! = 58R�� < E89J@#1�9 7 7?5^1 � � 3[5 _ T Eo!nR T C>5A!6V[_b_b5 =� ��3#9;cm3U9 ZF<>T 5 Z 5A@>1 7 14365�! = 58R�� < EP9M@#1�!#"�7N5 T 58ch1N9J@[_ R�! = 58R�� < EP9M@#1�3nR8@nC T 5 =�= EbV61N9J@[5 @6E��1B5 T T 7 14365 T E#cAR T C>5^!6V6_b_o5 = 143nRP1�1B365l9J@g7?5 = 1B58C�! = 58R�� < EP9M@#1.9 7�Rb747?E#cf9 R81B58C � 9M1B3�R�c Eb@nC]9M1N9JEo@��Q 365A@ 14365H! = 58R�� < E89J@#1l3nRP@nC T 5 = 9;7 9M@>IKE �K58C�OWE = 1B365 X6= 7?1�1?9 Z 5KinRP@gC 9YO(14365�! = 58R � < EP9M@#1 9 7Rb747?E#cf9 R81B58C � 9M1B3 R chEb@gC]9M1?9MEb@�i(1B3[5 T E#cAR T C>5A![V6_b_o5 = 7N5A@nC67R = 5D\]V65D7?1 OWE = 1B3[5 chEo@nC]9M1?9MEo@1BE 14365 _ T Eb!gR T C#5A!6V6_o_b5 = � � 3[5 _ T Eo!nR T C>5A!6V[_b_b5 = 14365A@ T EKE �[7UV < 1B365 RoC6C = 587B7N587 RP@nCEb14365 = 9M@>OWE =mZ RP1?9MEo@ OWE = 1B3[5UE < 5 = R8@nC67FRb7B7NE#cf9 RP1458C � 9M1B3 14365�chEb@gC]9M1?9MEb@ RP@nC 7?5A@nC[7�1B3>9 79M@>OWE = Z R81?9MEb@ 14E 1B365 T E#cAR T C>5^!6V6_b_o5 = 7 � 1B3>9 7 9 7 C>Eo@65HEb@ T " Eb@gch5 � � 3[5 breakpointHandler

= EoV61?9M@65�9M@ $ 9J_oV = 5�' �Jp 9 7 Z E#CK9 X 58CU14EFC>58R T � 9M1B3�14365�! = 58R � < EP9M@#1�chEo@nC]9M1?9MEo@�i R8@nC 7?36E���@9M@ $ 9M_oV = 5,' � � �

� � /2-���/0� ��� ��� & ��+0/67 � �6�� � � �� ���� ������

0�7 Z 5^@>1N9JEo@658C 9J@ e 58ch1?9MEo@ ' �Mp � �>i6OWE = 5�� cf9M5A@nc "�14365�! = 58R � < EP9M@#1HchEb@gC]9M1?9MEb@ 9 7 5AIoR T VnR81B58C!#" 1B365 T E#cAR T C>5A!6V[_b_b5 = � � 365�OWE TYT E�� 9M@6_ 1N" < 587 E8OlE < 5 = R8@nC R = 5 7?V <[< E = 1458C � integer

E =

pointer� � 365HE < 5 = RP1N9JEo@uc^RP@ !n5 Eo@65�E8O�14365�OWE TYT E�� 9J@[_ �

<, <=, >, >=, !=, ==

0 @uE < 5 = R8@nCuEPO R�chEo@nC]9M1?9MEb@ cARP@S! 5�R�chEb@n7N1mR8@>1 E = R�IoR = 9;R8! T 5 � � 3[5 5AIoR T VnR81?9MEb@ EPO RchEo@n7?1 RP@#1 9 7�1B3[5�chEo@n7?1 RP@#1�9J1 7?5 T O � � 365�5^IbR T VnRP1N9JEo@ EPO R�IoR = 9 RP! T 5HC>5 < 5^@nC67�Eb@ ��365A14365 = 14365IoR = 9;R8! T 5 9 7 - " $�)�- i % ' )�' � $ E = ! � ���.% ' � ! � � 365�IoR = 9 RP! T 5Hc^RP@FR T 7NE�!n5lR Z 5 Z !n5 = E8O R 7N1 = Vnch1BV = 5Ki5 � _ �Ji

this->id� � 365 = 5R = 5 OWEoV = C]9"! 5 = 5A@#1 OWE = Z 7lR TYT E�� 58C �

Ai

*Ai

P->ARP@nC

S.A

��� ��� ���'� �� � ��� ���������� � � �� �%� �� �

bool breakpointHandler( int number ) {bool breakpoint_removed = false;ULThreadId thread_id = U_THIS_TASK;

if (bpConditionMask[number] == true &&bpCondition[number].search(thread_id) == NULL) {sendRequestForConditionToGlobalDebugger( number );bpCondition[number] = receiveConditionMessageFromGlobalDebugger();

}

if (bpConditionMask[number] == false | |EvaluateCondition(bpCondition[number].search(thread_id)) == true) {sendMessageToGlobalDebugger( number );breakpoint_removed = receiveContinueMessageFromGlobalDebugger();

}

return breakpoint_removed;}

$ 9M_bV = 5 ' � � � �HRP@nC T 9M@6_ � = 58R�� < EP9M@#1 d(Eo@nC]9M1?9MEo@

� @U_o5A@65 = R T i&RP@�RbC6C = 58747 E8O�R�IoR = 9 RP! T 5H9;7l5AIoR T VnRP1458C�Ro7��

��R = 9 RP! T 5 $nE =mZ � IoR T VnR81?9MEb@ EPO,1B3650�C[C = 58747

A absolute_address(A)

*A contents(A)

P->A contents(P) + offset(A)

S.A absolute_address(S) + offset(A)

��E�� 5^IK5 = i#1B365RP!g7?E T V6145FRbC6C = 58747 EPO�R T E#cAR T IoR = 9;R8! T 5 cm3nR8@6_b587lC>V = 9M@6_ 5��[58chV61N9MEb@�i65 � _ �MinRT E#cAR T IbR = 9 RP! T 5 E8O�R = EbV[1?9M@65 Z RD" 3nRAIK5�RFC]9"!&5 = 5^@>1`RbC6C = 58747 OWE = 58Rbcm3 9M@>IKE#cAR81?9MEb@ � � 3#Vn7 i1B3[5 T E#cAR T C>5A![V6_b_o5 = Eb@ T " �K5A5 < 7 = 5 T RP1N9MIK5 RbC[C = 58747?587 EPO T E#c^R T IbR = 9 RP! T 5D7hil7L9M@nch5 = 5 T R81?9MIK5

� � )��� ��� ������ � � ���� � �'��� � � �>p

RbC[C = 58747?587FC>E @6Eo1 cm3nR8@6_b5 � � @ 14365 cARo7?5 EPO R = 5A_89;7N1B5 = IoR = 9 RP! T 5Ki�14365 = 5^_P9 7?145 = @#V Z !n5 =9 7�7N1BE = 58C � � 365 T E#cAR T C>5A![V6_b_o5 = cAR T chV T R81B587 1B365SRP!n7NE T V6145 RbC6C = 58747?587 @65A5DC>58C OWE = 14365chEo@nC]9M1?9MEb@g7 O = E Z 1B365 = 5 T RP1?9MIK5 RbC6C = 587B7N587��

1 14365 R8!n7?E T V[1B5 RbC6C = 587B7lEPO�R % ' )�' � $ � )�! � ) � - � 9 7 14365 RoC6C = 587B7 E8O�1B365 7?1mR81?9 c�IoR = 9;R8! T 5Ki��3>9 cm3FC>EK587 @[Eb1(cm3nRP@[_b5�C#V = 9M@6_H1B3[5 5��[58chV61N9MEb@ EPO&14365 <>= Eb_ = R Z �K1B3#Vn7hio1B3>9 7�RoC6C = 5D7B79 7��K5 < 1�R81 14365 T E#cAR T C>5A!6V[_b_b5 = �

1 14365RP!n7NE T V61B5FRoC6C = 587B7�EPO R - "�$�)�- � )�! � ) � - � cAR8@U!n5cAR T c V T RP1B5DC Rb7��

address = fp + offset

��365 = 5 address9 7�14365 RoC6C = 587B7�E8O1B365 T E#c^R T IoR = 9 RP! T 5Ki fp

9 7�1B365 O = R Z 5 < E89M@>145 =E8Ol1B365 Vg7?5 = OWV6@nch1N9JEo@�i(RP@gC offset

9 7�1B365 = 5 T RP1N9MIK5 RbC6C = 58747 EPOl14365 T E#cAR T IbR = 9 RP! T 5 �$ 9M_oV = 5,' � ' 7?36E��l7 143657?1mRoc � O = R Z 5 OWE = 1B3[5 e � 0 � d R = cm3>9M1B58c 1BV = 5 � � 365 fp

EPO(14365Vn7N5 = OWV6@nc 1?9MEb@ cARP@ !n5 = 5A1 = 9M5AIK58C 1B3 = EbV6_o3 14365

fpO = E Z 14365

breakpointHandler(i)OWV6@gch1?9MEb@ � 7N5A5 $ 9J_oV = 5�' � ! i�7L9M@nch5F1B3[5 cAR T T 5 = � 7 fp

9 7 7N1BE = 58C�Eo@ 14365 cAR TYT 5^5 � 7H7?1 Rbc.� �� 365

offsetEPO R�IoR = 9;R8! T 5 Eb@ 1B3[5�7N1mRoc � 9 7 T EKE �K5DCUV < !#"�14365H_ T Eb!nR T C#5A!6V6_o_b5 = R8@nC

7N1BE = 58C 9M@ 1B3[5 T E#cAR T C>5A![V6_b_o5 = �

1 $nE = 1B3[5 e � 0 � d R = cf3#9J1458ch14V = 5Ki���365A@1B365 = EoV61?9M@65 breakpoint_handler_i()9 7(cAR TYT 58C i

14365�� T E#cAR T�� RP@gC��?9M@ � = 5A_89;7N1B5 = 7�R = 5 7BRAIK58C Eb@ 1B365FVn7?5 = � 7H7N1mRbc.��!#" 1B3[5 >HB ��= 9M@ �7N1 = Vgch1?9MEb@ � � 365R8!n7?E T V[1B5FRbC[C = 58747 E8O�R ! � ���.% ' � ! � )�! � ) � - � 9 7 cAR T chV T RP1458C Rb7

sp + register_offset[register_number]

��365 = 5 sp9 7 1B365H7N1mRoc � < EP9M@>145 = EPO 1B3[5 Vg7?5 = OWV6@nch1N9JEo@�i register_offset

chEb@#1mRA9J@g7 1B365E !�7N5A1m7�OWE =H= 5^_P9 7?145 = 77?1BE = 58C Eb@S1B365 7?1 Rbc.� i ��3#9;cm3 9 7�CK9 !&5 = 5A@#1 O = E Z R = cm3>9M1B58ch14V = 5

��� ��� ���'� �� � ��� ���������� � � �� �%� �� �

%fp (old %sp)

arrays, aggregates, and addressableSpace (if needed) for automatic

scalar automatics%fp - offset

. . . Current Stack Frame

16 words in which to save register

window (in and local registers)%sp

%sp + offset

Next Stack Frame

Previous Stack Frame

Stack Growth

(decreasing memory address)

$ 9M_bV = 5 ' � ' � � 3[5 e ��0 � d GH7?5 =He 1mRoc � $ = R Z 5

� � )��� ��� ������ � � ���� � �'��� � � ���

(where the breakpoint is set)

User Function

breakpointHandler_i

breakpointHandler(i)

calls

calls

$ 9M_bV = 5 ' � ! � � 3[5 � = 58R � < EP9M@#1 �HR8@nC T 5 = d�R TYT�e 1mRoc �

14E R = cf3#9J1458ch14V = 5 � � 365 spE8O 1B365�Vg7?5 = OWV6@nch1N9JEo@ cAR8@ !n5 = 5A1 = 9M5AIK58C�9M@ 1B365H74R Z 5 � RA"

Ro7 14365fp143 = EoV6_b3�1B365cAR T T 5 = � 7l7?1 Rbc.� � 7N5A5�$ 9M_bV = 5 ' � ' �

� Eb145�1B3nR81 OWE = 5�� <>= 587B7:9JEo@n7 T 9 �K5 P->AiK1B365�E ! 7?5A1�OWE = A

9 7�5AIoR T VnR81B58C Eb@ T " Eo@nch5�!#"H1B365_ T Eo!nR T C>5A!6V6_o_b5 = � � O 14365�IoR T V65 OWE = P

9 7(cf3nR8@6_b5DC T RP145 = 9M@�14365 <#= Eb_ = R Z iK5 � _ �Ji Rb7B7:9M_b@658C 14E

NULLi 143>9 7�cAR8@ cAR8Vn7?5FR = V6@�1?9 Z 5�5 =4= E = ��d(E =B= 58ch1 T "�3nRP@gC T 9J@[_U143>9 7�cARo7?5 9 7 !n5A"KEo@nCU14365

7Bc E < 5�E8O(1B3>9 7 � E = � � � E OWV TYT " 7?V <6< E = 1`R TYT,< EK7B7:9M! T 5�! = 58R � < EP9M@#1�chEo@nC]9M1?9MEo@n7hi 9M1�9 7 @65Dch587 �7BR = "1BE 9 ZF<>T 5 Z 5^@>1(R`7 Z R TYTn< R = 7?5 = � 9M1B3>9M@ 14365�R <6<>T 9 cARP1N9JEo@�i ��3>9 cm3 < R = 7?587(RP@gC�5AIoR T VnRP145875�� <>= 5D7B7L9MEo@n7 � � 3>9 7 R <6<#= EKRocf3 9;7H@6Eb1 R <6<#= E <#= 9 RP145UOWE = chE Z�< 9 T 58C T RP@[_bVnR8_b587 i.@6E = 58Ro7L9 T "9 Z�<#T 5 Z 5A@#1B5DC � 0 T 1B36EoV6_b3 i�1B365�O/Ro7?1 = 587N1 = 9 ch1458CuchEo@nC]9M1?9MEo@nR T ! = 58R � < EP9M@#1m7 R = 5 Vn7N5hOWV T ik9M1C>EK587�@[Eb1F7?V <6< E = 1 R TYT @65Dch587B74R = "uchEo@nC]9M1?9MEo@n7 � � 3#Vn7hi(RUO/R TYT !gRbc.�uE < 1N9MEb@ 9M@#IKE T IK9J@[_ 14365_ T Eo!nR T C>5A!6V6_o_b5 = 5AIoR T VnRP1N9M@6_ Z E = 5FchE ZF<>T 5�� c Eb@nC]9M1N9JEo@n7 9 7 = 58Ro7?Eb@gRP! T 5 � �`E ��5AIK5 = i>9J1�9 7@6Eo1�chV =B= 5^@>1 T " 7?V <6< E = 1458C �

� ' ��� ���'� �� � ��� ���������� � � �� �%� �� �

� + � � �6� �/6 ��.+

0�7:9 ZF<>T 5H5�� < 5 = 9 Z 5^@>1 ��Rb7�c Eb@nC>Vgch1B58C�9M@ ��3>9 cf3 14365H7BR Z 5chEo@nC]9M1?9MEo@nR T ! = 5DR � < E89M@>1 ��Ro77?5^1 9M@ R � d! - <>= Eb_ = R Z Vn7L9M@6_ � ��� RP@nC�� ��� � � ��� � Rb7 OWEoV6@nC 1BE! 5`R <[<>= E �#9 Z RP145 T "��� 1?9 Z 587.O/Rb7N1B5 = 1B3gRP@ � ��� �

� �� � � � �� � � �� � ��� � � ��� � � � � � � � � ��� ���

� � � � � ���� �� �

e 58\KV65A@#1?9 R T�<>= Eb_ = R Z 7�R = 5 C#5A1B5 = Z 9M@>9 7N1?9 cbi 5 =4= E = 7lcARP@ !n5 = 5A_b5^@65 = R81B58C !>" = 5 = V6@�14365 R < �<>T 9 cARP1N9MEb@�� ��E�� 5^IK5 = iK5 =4= E = 7 Z RA" @6Eo1 !n5 = 5A_o5A@65 = RP1458C 58Rb7:9 T " OWE = chEb@nc V =B= 5A@>1 <>= Eo_ = R Z 7hi7L9M@nc 5 1B365A" R = 5 @[Eb@ �LC>5A145 =mZ 9M@>9 7?1?9 c � � 3#Vn7 i 14365 R8!>9 T 9M1N" 1BE RP141mRocf3 R C#5A!6V6_o_b5 = 1BE R = V6@ �@>9M@6_ R <6<>T 9 cARP1N9MEb@ 9 7�5��61 = 5 Z 5 T " Vn7N5hOWV T in587 < 58cf9 R T T " OWE = C>5A!6V6_o_P9M@6_�R <[<>T 9;c^RP1?9MEo@n7 � 9M1B3 R8@9M@ X @>9M145 T EKE < E = RFC>58RoC T E#c � � � 365 = 5hOWE = 5Ki � RoC6C>58C 1B3#9;7 OW58R81BV = 5 14E�14365H5��#9;7N1?9M@6_�� ��� �

� E R81B1 Rbcm3 � ��� 1BE R = V6@6@#9J@[_ R <6<>T 9 cAR81?9MEb@�i�14365 R <[<>T 9;c^RP1?9MEo@ 3nRb7�14E�!n5 chE Z�< 9 T 58C� 9M1B3 1B365 K;=8N-2�V E < 1?9MEb@�i ��3#9;cm3 9 7 1B365 C>5hO/RPV T 1 � � 3>9 7 E < 1N9MEb@ T 9M@ �[7 1B365 R <6<>T 9 cARP1N9MEb@� 9M1B3 1B365 C>5A![V6_ IK5 = 7:9JEo@ E8O�1B365 � d! " �V6@>9(�K5 = @65 T E =Z V T 1?9(�K5 = @65 T � � 365 C>5A![V6_ IK5 = 7:9JEo@< 5 = OWE =mZ 7 = V6@#1?9 Z 5 cm3658c.�67�1BE 365 TJ< C>V = 9M@6_�14365 C#5A!6V6_o_P9M@6_ < 3nRb7N5 EPO R � d! - <>= Eo_ = R ZRP@gC T 9M@ �[7 14365 T E#cAR T C>5^!6V6_b_o5 =lZ E#C>V T 587 � 9J143�14365 <>= Eb_ = R Z � 0`7 � 5 TYT incAR TYT 7lR = 5�9M@n7N5 = 1458C9M@ ch5 = 1mRA9J@ = EbV[1?9M@6587(1BE = 5 < E = 1 < R = 1?9 chV T R = 5AIK5A@#1m7 14E�14365 T E#cAR T C>5^!6V6_b_o5 = i ��3>9 cf3 Z Vn7?1(!n57?V[!n7?58\KV65A@#1 T " = 5 < E = 1B58C 1BE 1B365 _ T Eo!nR T C>5A!6V[_b_b5 = i 7?Vncm3 Rb7�14365Fc = 5DRP1?9MEo@ E8O�R Vn7N5 = � T 5AIK5 T1B3 = 58RoC �

� 365chE ZFZ RP@nC OWE = RP141mRocf3>9M@6_ � ��� 14EFRP@�5/�658c V61mR8! T 5�R TY= 58RoC>" = V6@6@#9J@[_�9 7��

attach executable-file process-id

� � � ��� ��� � � � ��� ��� � �� � �� ���� ����� � � �)� � � ����� ��� �"� ��� ��� ��� ��!

� 3>9 7 chE Z�Z RP@nC 9;7�9 7B7?V[58C 9J@S1B365 c E ZFZ R8@nC <#= E ZF< 1EPOl1B3[5 � ��� Z RD9M@ � 9M@nC>E�� � 7N5A5$ 9M_bV = 5 ' � r �

� @ 1 = RoC]9M1?9MEb@nR T C>5A!6V6_o_P9M@6_[iKRP141mRbcm3>9M@6_�14E�R = V6@6@>9M@6_`1mR = _b5A1,R <[<>T 9;c^RP1?9MEo@�9 7 7?1 = RD9M_b3#1?OWE = ���R = C � � 1k9 7(RbcAc E ZF<>T 9;7N3658C�!#"HVn7L9M@6_H1B3[5�7?"[7?145 Z <>= 9 Z 9M1?9MIK587 7�G-9�B;<-= E = � 7�9;:;< i ��3#9;cm3FR = 5Eb@ T " 7?V>9M1458C OWE = R 7N58\KV65A@#1?9 R T C>5A!6V[_b_b5 = ��0`7 C]9 74chVn7B7N58C 9M@ e 58ch1N9MEb@ � �Jp �Jpbio1B365 T E#cAR T C>5A!6V6_��_b5 = 9 7�C]9 7?1 = 9M!6V61458C 9M@#1BE�14365�1 R = _o5A1lR <[<>T 9;c^RP1?9MEo@�i 14365 = 5hOWE = 5�Vn7L9M@6_ 14365 PTRACE_ATTACHchE Z�Z RP@nCFEPO 7�G-9�BC<4= O = 5A5 �A5D7 14365HR <6<>T 9 cARP1N9JEo@ R8@nC 1B3#Vn7.14365 T E#cAR T C#5A!6V6_o_b5 = �(0 T 1B36EoV6_b3� 7;9�:C< C>EK587�@6Eo1 7?14E < 1B365�1mR = _b5^1 <>= E#c 587B7�O = E Z chEb@#1?9M@#V>9M@6_ @6E = Z R T 5��[58chV[1?9MEb@�i 9M1�9 79 Z�< E 7B7L9M! T 5F1BEFRo7?"#@ncf3 = Eb@[EbVn7 T " ��RA9J1�OWE = 5^IK5A@>1 7 O = E Z 1B365H1 R = _o5A1lR <[<>T 9;c^RP1?9MEo@��

� @�E = C>5 = OWE = � ��� 1BERP141mRocf3 14ER = V6@6@>9M@6_FR <6<>T 9 cARP1N9MEb@�i614365 _ T Eb!nR T C>5A![V6_b_o5 = 3nRo7.14E587N1mRP! T 9 7N3 R chE ZFZ V6@>9 cAR81?9MEb@ cf3nR8@6@65 T 1BE 14365 T E#c^R T C>5A![V6_b_o5 = E8O�14365�1 R = _o5A1`R <6<>T 9 cAR81?9MEb@�i1B3[5A@�Eo!61mRA9J@ 9M@>OWE = Z R81?9MEb@ RP!nEoV61(1B365 7?1 = Vnch14V = 5�EPO&1B365�Vn7?5 = � T 5^IK5 T 143 = 5DRbC�7N"67N1B5 Z 143 = EoV6_b31B3[5 T E#cAR T C>5A!6V[_b_b5 = i ��3#9;cm3 OWE = � d! " 9 7 1B365c T Vn7N1B5 = 7hi <>= E#ch5D7B7?E = 7 � �K5 = @65 T 1B3 = 58RoC67 RP@nCVn7N5 = 1B3 = 58RbC[7 E8O�14365R <6<>T 9 cAR81?9MEb@��

Q 365A@R 1mR = _o5A1 R <6<#T 9 cAR81?9MEb@ 7?1 R = 1m7hi81B3[5 � d! - �K5 = @[5 T 7?1mR = 14V < = EbV61N9J@[5 cm3658c.�[7 ��365A14365 =R�_ T Eo!nR T C>5^!6V6_b_o5 = 5��#9;7N1m7�� � O,9J1C>EK5D7hi�R T E#cAR T C>5A!6V6_o_b5 = 9;7HRoch1?9MIoRP1458C�1BE�chE Z�Z V6@#9;c^RP1B5� 9M1B3 14365�_ T Eo!nR T C>5^!6V6_b_o5 = � � O&1B3[5 _ T Eo!nR T C>5A!6V[_b_b5 = C#EK587.@6Eo1(5��>9 7N1���3[5A@�14365l1mR = _b5A1�R < �<>T 9 cARP1N9MEb@ 7N1mR = 1m7 i61B365 T E#c^R T C>5A![V6_b_o5 = 9 7 @6Eb1 Rbch1N9JIoR81B58C inR8@nC 365A@nc 5Ki#cAR TYT 7 14E 9M1m7 = EbV61N9M@65871BE = 5 < E = 1�5AIK5A@#1m7�7:9 Z�<>T " = 5A14V = @�� � 3#Vn7hi RP1B1 Rbcm3>9M@6_ 14365�_ T Eo!nR T C>5^!6V6_b_o5 = 14E 1B3651mR = _b5^1R <[<>T 9;c^RP1?9MEo@�9M@#IKE T IK587 1B3[5 OWE TYT E�� 9M@6_�7?145 < 7��

1 = 58\]V[587?1 �K5 = @[5 T E8O 14365 = V6@6@>9M@6_`1mR = _b5A1 R <6<>T 9 cAR81?9MEb@ 14E�Roch1?9MIoRP145�1B365 T E#cAR T C#5A!6V6_o_b5 = �

1 587N1mR8! T 9;7N3 1B365SRb7N">@ncm3 = Eb@6EoVn7�chE Z�Z V[@>9 cARP1N9JEo@ cm3nRP@6@[5 T !n5A1 � 5A5^@ 1B365 T E#cAR T RP@nC_ T Eo!nR T C>5A!6V6_o_b5 = �Ne 5A5�$ 9M_bV = 5 � �Jp �

�br ��� ���'� �� � ��� ���������� � � �� �%� �� �

$ 9M_bV = 5 ' � r � a RA9J@�Q 9M@nC>E��

� � � ��� ��� � � � ��� ��� � �� � �� ���� ����� � � �)� � � ����� ��� �"� ��� ��� ��� � :

1 1 = RP@g7LOW5 = 1B365 c V =B= 5A@>1 5��[58chV[1?9MEb@ 5A@#I]9 = Eb@ Z 5A@#1Ai 9 � 5 �MiHc T Vn7?145 = 7 i <#= E#ch58747?E = 7hi RP@nC143 = 58RoC67hi>O = E Z 14365R <6<#T 9 cAR81?9MEb@ 1BEF1B3[5 _ T Eb!nR T C>5A!6V[_b_b5 = �

�(������ " �6�;� ��$ ������� ���" � ���U$ � � "�� ��� ��"U

� @>9M1?9 R TYT "Ki 7?E Z 5�OWE =mZ EPO chE Z�Z V[@>9 cARP1N9JEo@�9 7 @65A58C#58CU!n5A1 � 5^5A@�14365�_ T Eo!nR T C>5^!6V6_b_o5 = RP@nC1B3[5�R <6<>T 9 cARP1N9MEb@ 1BE 9J@#OWE =mZ 14365 � d! " �K5 = @65 T 1BE Roch1?9MIoRP145�14365 T E#cAR T C>5^!6V6_b_o5 = � � 3>9 79M@>9M1?9 R T c E ZFZ V6@>9 cARP1N9MEb@ 9;7RbcAc E ZF<>T 9;7N3658C IK9 R�R IoR = 9;R8! T 5 uKernelModule::uAttaching

9J@1B3[5FC>5A!6V6_o_P9M@6_ IK5 = 7L9MEb@ EPO 1B365 � d! - �K5 = @65 T i ��3>9 cf3 9 7 cm3658c.�K58C 5AIK5 = " 1?9 Z 5 R chEb@#1B5/�617 � 9M1 cf3 9;7lC>Eo@65 �

if ( uKernelModule::uAttaching ){

uKernelModule::uAttaching = 0; // reset

uAttachLocalDebuggerInstance = ActivateLocalDebugger();

}

� E R81B1 Rbcm3�i�1B365 _ T Eb!nR T C>5A![V6_b_o5 = 7N1BE < 7 14365SR <6<>T 9 cAR81?9MEb@ RP@nC Z E#CK9 X 587U14365 IoR = 9 R8! T 5

uKernelModule::uAttachingVn7L9M@6_ 7;G49;B;<4= E = � 7�9;:;< �

� O(1B365 IoR = 9 RP! T 5 uKernelModule::uAttaching��Ro7�7?3nR = 58C R Z Eb@[_ R TYT�<>= E#c 587B7NE = 7�5��[5 �

chV61N9M@6_RP@ R <6<>T 9 cAR81?9MEb@�i614365 = 5 � EoV T C�!n5`R = Roch5lchEo@nC]9M1?9MEb@ Rb7�58Rbcm3 <#= E#ch58747?E = @6Eo1?9 ch58C�14365IoR = 9;R8! T 5H7?5^1.!#"�14365l_ T Eb!nR T C>5^!6V6_b_o5 = RP@nCFRbc 1?9MIoRP1B5DC�14365 T E#cAR T C>5A!6V6_o_b5 = � ��E�� 5AIK5 = i81B3>9 7<>= Eb! T 5 Z 9 7 58Ro7L9 T "uC>5DR T 1 � 9M1B3 !#" Z R �K9M@6_ uKernelModule::uAttaching <#= 9MIoRP1B5 1BE�5DRbcm3<>= E#ch587B7NE = Ro7 E <6< EK7N58C�14E 7N3nR = 58C�R Z Eo@6_ R T T,<>= E#ch587B7NE = 7hi�7NE 1B3nR81 5DRbcm3 <#= E#ch58747?E = 3nRb7`R<>= 9JIoR81B5 chE < " EPO�14365�IoR = 9 RP! T 5 � � E�RP141mRocf3�i RP@#"�G � � <>= E#ch587B7 9 C Rb747?E#cf9 R81B58C � 9M143 14365R <[<>T 9;c^RP1?9MEo@ucAR8@�!n57 < 58cf9 X 5DC 9M@�14365 � ��� RP141mRbcm3�chE ZFZ RP@nC inR8@nC 9M1 7 V6@>9 \KV65�9J@g7?1mR8@nch5EPO

uKernelModule::uAttaching9 7 Z E#CK9 X 58C �

� ) ��� ���'� �� � ��� ���������� � � �� �%� �� �

� Eb145�1B3nR81�ch5 = 1 RD9M@FRbc 1?9MEb@n7�9M@>IKE T IK5DC 9M@ Roch1?9MIoRP1N9M@6_�14365 T E#cAR T C>5A![V6_b_o5 =(= 58\KV>9 = 5 T E#c.�67����E�� 5^IK5 = i T E#c.�67�c^RP@�@[Eb1�!n5 Vn7N58C�!>" 14365 �K5 = @65 T 143 = 58RoC � jl@ T "�Vn7?5 = � T 5AIK5 T 143 = 58RoC67�cAR8@Vn7N5 T E#c.�67 i 7:9M@nch5 ��365A@ R�1B3 = 58RoC ! T E#c.�[7�RocA\]V#9 = 9M@6_uR T E#c �&i�9J1�9 7 < V61 14E 7 T 5A5 < !#" 14365�K5 = @65 T ��365A@ 14365 @[5��61 chEb@#1B5��[1�7 � 9M1mcm3 9;7 < 5 = OWE =mZ 58C i#RP@nC RP@6Eo1B365 = 143 = 58RoC�9 7 74cf365DC>V T 58C ���E�� 5^IK5 = i 1B365�K5 = @65 T 1B3 = 58RbCHcAR8@H@6Eb1 < V61 9M1m7N5 T On1BEl7 T 5A5 < io7L9M@nch5(143>9 7 ��EbV T C !n5�RlC>58RbC T E#c.� �� 3#Vn7hiK1B3[5 T E#c^R T C>5A!6V[_b_b5 = c^RP@ @6Eo1.!n5lRoch1?9MIoRP1458C�CK9 = 58ch1 T "�O = E Z 1B365��K5 = @65 T � � @n7N1B58RoC ib14365cm3658c.� OWE = R81B1 Rbcm3>9M@6_�9;7 < 5 = OWE = Z 5DC 9J@g7L9 C>5l1B365 chEb@#1B5��[1,7 � 9M1mcm3�i �mVn7?1,! 5 OWE = 5 = 587N1mR = 1?9M@6_H14365@65��[1lVn7?5 = � T 5AIK5 T 1B3 = 58RbC � � @�5�!&58ch1^i61B365 Rbch1N9MIbR81?9MEb@SEPO(14365 T E#cAR T C>5A!6V[_b_b5 = 9 7 < 5 = OWE =mZ 58C!#"U14365�@[5��61lVn7N5 = � T 5AIK5 T 1B3 = 58RbC�14E !n5 7Bcm3658C#V T 58C � 9 � 5 �Ji < 9M_b_b" �/!nRbc.�K58CUEo@ 1B365 = 587?1 R = 1?9M@6_EPO 1B365H1B3 = 58RoC inR8@nC 1B3nR81 143 = 58RoC�9;7`R TYT E ��58CU14E�! T E#c.��9YO(@65Dch587B74R = " �

jl@65 RbC6CK9J1N9MEb@nR T <>= Eb! T 5 Z 9;7 143nRP1 14365 R <[<>T 9;c^RP1?9MEo@ c^RP@ !n5�9M@ R 7N1mR81B5 ��365 = 5�14365IoR = 9;R8! T 5 uKernelModule::uAttaching Z RA"�@6Eo1 !n5�cm3658c.�K58C io7L9M@nc 5 14365 � d! - �K5 = @65 T C>EK587< 5 = OWE =mZ c Eb@#1B5��[1l7 � 9M1mcm36587.OWE = 14365H1 � E�OWE TYT E�� 9M@6_�cARb7N587��

1 � 365 = 5 9 7�@6E ��E = ��1BE C>E6i�7NE 1B3[5 � d! " �K5 = @65 T 143 = 58RoC < V61 7 9M1m7?5 T O 1BE 7 T 5A5 < i 143>Vg7@6E chEo@>145��61 7 � 9M1mcm3>9M@6_�9 7 < 5 = OWE =mZ 58C �

1 � @�14365�V[@>9 <>= E#ch5D7B7?E = cARb7N5Kig9YO�1B3[5 R <[<>T 9;c^RP1?9MEo@ 14V = @g7 E !u1N9 Z 5F7 T 9 cf9M@6_[ik@[E chEb@#1B5/�617 � 9J1 cf3#9J@[_�9 7 C>Eo@65 �

� E 7?E T IK5�1B3>9 7 <#= Eb! T 5 Z i�1B3[5�_ T Eo!nR T C>5A![V6_b_o5 = R T ��RA"67 7?5A@nC[7 R e � �`0�+ �la 7:9J_o@nR T 14E1B3[5�1 R = _o5A1R <6<#T 9 cAR81?9MEb@ 9 Z�Z 58C]9 RP145 T " RDOW145 = 1B365FIoR = 9 R8! T 5 uKernelModule::uAttaching

9 7Z E#C]9 X 58C � � 3#9;7 7:9M_b@nR T 5h9M1B365 = � R �K587HV < 1B3[5 � d! - �K5 = @65 T 1B3 = 58RbCSRP@nC 9 E = OWE = ch587�14365� d! " �K5 = @65 T 1BE < 5 = OWE =mZ RFchEb@#1B5/�61 7 � 9M1mcm3��

� � � ��� ��� � � � ��� ��� � �� � �� ���� ����� � � �)� � � ����� ��� �"� ��� ��� ��� �bq

�(������ � ,4�;$ �(� � ,M� �M�" " ,-+&���6�! �� ������, � ��. . � ��'�U$ ���'� � �L�$��&�")�

e 9M@nch5�� ��� chV =4= 5A@#1 T " C#EK587�@6Eb1(3nR8@nC T 5HC]9 7?1 = 9M!6V61458C R <6<>T 9 cARP1N9JEo@n7hi ��3[5A@ R�1 R = _o5A1�R <6<#T 9 �cAR81?9MEb@S7?1 R = 1 7hi 14365 � d! - �K5 = @65 T Rbch1N9JIoR81B587 14365 T E#cAR T C>5A!6V6_o_b5 = 9 O�14365 _ T Eb!gR T C>5A!6V[_b_b5 =5��#9 7?1m7�!#"�cm3658c.�K9J@[_�OWE = 1B3655��>9 7N1B5A@nc 5 E8O�ch5 = 1mRA9J@ 7?365 T T IoR = 9;R8! T 587 � � O�14365 7N365 TYT IoR = 9 RP! T 5875��#9 7?1Ai614365 T E#cAR T C#5A!6V6_o_b5 = 1B365^@ X @nC67�1B365 � � � � chE Z�Z V6@#9;c^RP1?9MEo@ < E = 1 @#V Z !n5 = O = E Z RX6T 5 ��3[EK7?5�@nR Z 5�9 7 9M@�14365(5A@#I]9 = Eo@ Z 5A@>1&IoR = 9 R8! T 5 _KALLIS_DEBUGGER_PORT_

i���3>9 cf39 7�7?5A1(!#"�14365�� ��� chE ZFZ R8@nC � G�@>OWE = 1BV6@gRP1B5 T " i6RP@ 5A@>IK9 = Eo@ Z 5^@>1(IoR = 9;R8! T 5 c = 58RP1458CFRDOW1B5 =RP@SR <[<>T 9;c^RP1?9MEo@ 7N1mR = 1m7 = V6@[@>9M@6_ 9;7H@6Eb1RocAch58747L9M! T 5 � � @n7N1B58RoC i�1B365 _ T Eo!nR T C>5A!6V[_b_b5 =�< E = 1@#V Z !n5 = 9 7F7?V <6<#T 9M58C !>"S1B365 _ T Eb!nR T C>5A!6V[_b_b5 = !>" � = 9M1?9M@6_S1B365 < E = 1�@#V Z !n5 = 9M@#1BE 14365IoR = 9;R8! T 5 uKernelModule::uAttaching

� e 9M@nch5 14365 < E = 1�@#V Z !n5 = 9;7`R T ��RA"[7 < E 7L9M1?9MIK5Ki 9M1 9 7< EK747L9M! T 5�OWE = 1B3[5 � d! - �K5 = @65 T 14E �#@6E�� ��365A@�1B365IbR = 9 RP! T 5F3nRo7 !n5A5A@ Z E#C]9 X 58C�!#" 14365_ T Eo!nR T C#5A!6V6_o_b5 = �

�(������ � �$��, � "T ; C� � � ���" � �! ; C"!�'� ��� "��%�!�;�'� � � � ��� � �(. "!�'�

jl@nch5F1B365 T E#cAR T C>5A!6V[_b_b5 = EPO�� ��� 9 7�Rbc 1?9MIoRP1B5DC i�1B365 = 5 9;77?1N9 TYT 1B365 <>= Eo! T 5 Z EPOl1 = RP@n7 �OW5 =4= 9M@6_ 1B365 < R = 1?9 chV T R = Rb7 < 58c 1m7�E8OH1B365�R <6<>T 9 cARP1N9JEo@ � 7 5��[58chV[1?9MEb@ 7?1mR81B5�@65A58C>5DC !#"u14365_ T Eo!nR T C>5A!6V6_o_b5 = � � @ 58747?5A@gch5Kin1B365FR <6<>T 9 cARP1N9JEo@ @65A58C67l1BE !n5 7?1BE <6< 58C i � 9M1B3 = 587 < 58ch1�14E1B3[5HRbch1N9MEb@n7 143nRP1 R = 5 7?"#@ncf3 = Eb@#9 �^58C�!n5A1 � 5A5^@�9M1�R8@nC 1B365l_ T Eo!nR T C>5^!6V6_b_o5 = i>OWE = 5��gR ZF<>T 5Ki1B3[5�_ T Eb!gR T C>5A![V6_b_o5 = 9 7.9M@>OWE = Z 5DCUR8!nEbV61�14365Hc = 58RP1N9JEo@ RP@gCUC#587?1 = Vnch1N9MEb@ EPO 58Rocf3 c T Vn7N1B5 = i<>= E#ch587B7NE = RP@nC 1mRo7 � � � 365 = 5R = 5 1 ��EFR <6<>= EKRocf365D7 14E 7NE T I]9M@6_ 1B3>9 7 <>= Eo! T 5 Z �

� 365 X[= 7?1`7?E T V61?9MEb@ 9 7 OWE = 14365 T E#cAR T C#5A!6V6_o_b5 = 1BE 9M@>OWE = Z 1B3[5 _ T Eb!nR T C>5A!6V[_b_b5 = E8O�9M1m7Rbc 1?9MIoRP1?9MEo@ I]9 R 1B365chE Z�Z V6@#9;c^RP1?9MEo@ cm3nRP@6@[5 T inRP@nC 1B3[5 _ T Eb!nR T C>5A!6V[_b_b5 = 1B365A@�7N1BE < 7 14365R <[<>T 9;c^RP1?9MEo@ R8@nC 1 = RAIK5 = 7?587`R TYT 1B365 < 5 = 1?9M@65A@#1 = V[@>1N9 Z 5FC6R81mR�7N1 = Vnch1BV = 587 14E�RbcA\KV>9 = 5 14365

'� ��� ���'� �� � ��� ���������� � � �� �%� �� �

9M@>OWE = Z R81?9MEb@F9J1(@65^58C67�R8! EoV61 14365lR <[<>T 9;c^RP1?9MEo@�� G�@>OWE = 14V6@nRP145 T "Kib143>9 7.R <6<>= EKRbcm3 9;7(C]9�� chV T 1!n58cAR8Vn7?5 14365�9M@#1B5 = O/Rbch5�OWE =�= 58RbC]9M@6_SC6R81mRUO = E Z 14365 R <6<>T 9 cARP1N9JEo@ cARP@S! 5 Rb7 7 Z R TYT Ro7 '!#">145 ��E = C67 E8O�C6R81mR � � 1lR T 7NE Z R��K587�1B365chE#C>5 < 5 = OWE =mZ 9J@[_ 1B365H1 = RAIK5 = 74R T C>5 < 5^@nC>5A@#1 Eo@1B3[5 7N1 = Vgch1BV = 5 EPOl14365 = V6@#1?9 Z 5 �K5 = @[5 T i ��3#9;cm3 Z R �K587 Z RD9M@#1B5A@nR8@nch5 CK9 � chV T 1 ��365A@u14365= V[@>1N9 Z 5 7?"[7?1B5 Z cf3nR8@6_b5D7 � 0�7 � 5 T T i�9 O�� ��� 9 7�1BE 3nRP@gC T 5�CK9 !&5 = 5A@#1 Vg7?5 = � T 5AIK5 T 143 = 58RoCT 9M! = R = 9M587hin9J1 Z Vn7N1 3nRAIK5R�C#5A1mRA9 T 58C �>@[E � T 58C#_b5�E8O�14365C6RP1 R�7N1 = Vnch1BV = 587.9M@�5DRbcm3��

� 365S7?58chEo@nC�7NE T V61?9MEo@29 7�14E 3gRDIK5 1B3[5 T E#cAR T C>5A![V6_b_o5 = i ��3>9 cm3 9 7�R T = 58RbC#" 143 = 58RoCT 9M! = R = " 7 < 58cf9 X cbi&7?14E < 1B3[5 R <[<>T 9;c^RP1?9MEo@ RP@nC 1 = RP@n7:OW5 = 14365 C[RP1mR 9J1 � EoV T C�@6E = Z R TYT " 3gRDIK5!n5A5A@ 7N5A@nC]9M@6_ Rb7�5AIK5A@#1m7�E#cAchV =4= 58C � � E�C>E 143>9 7 = 5D\]V>9 = 587 1 = RAIK5 = 7:9J@[_U14365 = V[@>1N9 Z 5FC6R81mR7?1 = Vnc 1BV = 587 1BE T E#cARP145�1B365(@658c 587B74R = "l9J@#OWE =mZ RP1N9MEb@�i#RP@gC�c T 58R =BT "Kib1436587?5�C6R81mRl7?1 = Vnch14V = 5D7 cAR8@@6Eo1�!n5Fcf3nR8@6_P9M@6_�C>V = 9M@6_ 1B365 1 = RAIK5 = 7BR T �`0�7BRDOW5 1 = RAIK5 = 7BR T 9 7�Rbc^chE ZF<>T 9 7?3658C !#" Z R �K9M@6_1B3[5 T E#cAR T C>5A!6V6_o_b5 = R Z Eo@>9M1BE = i ��3>9 cm3 7?5 = 9 R T 9��A587HRbcAc 587B7�� � 3#9;7H7N5 = 9 R T 9��8R81?9MEb@ 9 7�R TY= 58RoC>"@65A5DC>58C C>V = 9J@[_�@6E =mZ R T Vn74RP_o5�EPO 1B365 T E#cAR T C>5A![V6_b_o5 = !n58c^RPVn7N5 9M1l3nRb7 9M@>145 = @gR T 7?1 RP145 �

jl@nch5 1B365 Rbch1N9MIbR81?9MEb@ = EoV61?9M@65�EPOH14365 T E#cAR T C>5A![V6_b_o5 = 9 7FcAR TYT 58C !#"u1B3[5 Rbc 1?9MIoRP1?9M@6_1B3 = 58RoC i�1B365 = V6@#1?9 Z 5 C[RP1mR 7N1 = Vgch1BV = 587HcARP@ !n5 74RDOW5 T " 1 = RDIK5 = 7?5DC�! 5DcARPVn7N5 R TYT c^R TYT 7�1B3nR81= 5 < E = 15AIK5A@#1m7�1BE�14365 T E#c^R T C#5A!6V6_o_b5 = ��RA9M1�V6@#1?9 T RDOW145 = 1B365F1 = RDIK5 = 7BR T 9;7chE ZF<>T 5A145FRP@nC1B3[5 T E#c^R T C>5A!6V[_b_b5 = 9 7 OWV TYT " Roch1?9MIoRP1458C � � @�O/Rbc 1AiKR8@ R <6<>T 9 cARP1N9JEo@�cARP@ chEb@#1?9M@#V65�1BE`5��65DchV61B5C>V = 9M@6_�14365RP141mRbcm3 Z 5A@#1 9 O,9J1 9 7�@6Eb1l_b5^@65 = R81?9M@6_ @[5 � 5^IK5A@>1 7 OWE = 1B365 T E#cAR T C>5A![V6_b_o5 = �

� �� � � � �� � � ��� � � � � �

� 5A3nRAIK9MEbV = R T _ = EoV < 7 ��Ro7 <#= E < E 7?58C !>" a R = 1?9M@�in!6V61`@6Eb1�9 Z�<>T 5 Z 5A@#1B58C � � 3[5 9 C>58R�E8O R!n5A3nRAIK9JEoV = R T _ = EoV < 9 7�1BE R TYT E�� R Vn7N5 = 1BE�C>5^!6V6_�R <>= Eb_ = R Z RP1HR 3>9M_o365 =HT 5AIK5 T i�7?E 143655�� < 58ch1B5DCuRP@nC Roch1BVnR T !n5A3nRAI]9MEoV = EPO`1B365 <>= Eo_ = R Z cARP@ !n5 chE Z�< R = 58C �u0 7:9 Z 9 T R = RP@nC

� � � � � ��� � � � � ��� ��� ��� � � � '6p

Z E = 57NE < 3>9 7N1?9 cARP1458C R <[<>= E Rbcm3U9 7 OWEoV6@nC 9J@ � � RP1 q�! � �� @ � � � e qbr ��R8@nC � �R = q�! �:i�R !n5A3nRAIK9MEbV = R T _ = EoV < 3nRo7�!n5A5A@ C#5 X @658C Ro7 R 7N5A1FEPO

R = !>9M1 = R = " 1mRb7 �67 ��3[EK7?5H!n5A3nRAIK9MEbV = 9 7 T 9M@ �K58C�14EF7?E Z 5�5AIK5^@>1 � � O,R8@U5^IK5A@>1,E#cAchV = 7.OWE = R8@>"1mRo7 ��9M@�R�!n5A3nRAIK9JEoV = R T _ = EbV < i&RP@�Roch1?9MEb@ 9 7�R <[<>T 9J5DCU1BEFR TYT 1B365H1mRo7 �[7.9M@U14365�_ = EbV < i65 � _ �Ji��365A@ Eo@65�1 Rb7 ��1 = 9M_b_b5 = 7HR�! = 58R � < EP9M@>1^i�R TYT 1 Rb7 �67 9M@ 14365 _ = EbV < R = 5F7?14E <6< 58C � ��5A@nch5 inR!n5A3nRAIK9JEoV = R T _ = EbV <�Z Vn7?1l3nRAIK5HR8@ 5AIK5A@#1�RP@gCUE < 5 = RP1N9JEo@uRo7B7NE#cf9 RP1B5DC � 9J143�9M1 � ��9MIK5A@ R8@=��M=83;G R8@nC�RFchE =B= 5D7 < Eb@nCK9J@[_ BC<HG�5S:J3 iK14365H! 5^3nRAI]9MEbV = R T _ = EbV <�< 5 = OWE =mZ 7 14365�OWE TYT E � 9M@6_ �

1 14365H5AIK5A@#1 E < 5 = RP1N9JEo@�9 7 R <6<>T 9M58C�1BE 14365H_ = EoV < 9YO(14365H5AIK5A@#1.9 7lR�! = 58R�� < E89J@#1

1 � RD9M1 OWE = 1B365H5AIK5^@>1�1BEFE#cAchV =

1 ��365^@U14365H5AIK5A@#1 E#cAc V = 7 i61B365Rbc 1?9MEb@ E < 5 = RP1N9MEb@�9 7 R <6<>T 9M58CU14E�14365H_ = EbV < �

� @ E = C#5 = 1BE 5��gR Z 9M@65F1B365�9 C>58R#i � 9 ZF<>T 5 Z 5^@>1458C�1B365�9M@>9M1N9;R T IK5 = 7L9MEb@ E8O�!n5A3nRAIK9MEbV = R T_ = EbV < 7 � � E Vn7?5�R�!n5A3nRAIK9MEbV = R T _ = EoV < i�R Vn7N5 = 7?5 T 58c 1m7 R�_ = EbV < EPOH143 = 5DRbC67 O = E Z 14365Z RD9M@ � 9M@nC>E�� � 7?5A5 $ 9M_oV = 5 ' � r i�RP@nC <>= 587B7N587�1B3[5 � � 5A3nRAIK9JEoV = R T � = EbV < � !6V6141BEo@�� 0!n5A3nRAIK9JEoV = R T _ = EoV < � 9J@gC>E�� � 7N5A5 $ 9J_oV = 5#' � : �< E < 7�V < � 9M1B3 1B3[5 _ = EoV < EPO 1B3 = 58RbC[7�7?5 �T 58ch1458C O = E Z 14365 Z RD9M@ � 9M@nC>E�� � � 3[5 9M@>9M1?9 R T IK5 = 7:9JEo@ = 587?1 = 9 ch1458C�14365l5AIK5A@#1�chE Z�Z [email protected]! = 58R � < EP9M@>1`chE Z�Z RP@nC[7hi6R8@nC E < 5 = RP1?9MEo@ chE ZFZ R8@nC67(1BE 1B3[5H7?14E < c E ZFZ R8@nC ��$ 9M_bV = 5�' � :7?3[E �l7`R�!n5A3nRAIK9MEbV = R T _ = EbV < � 9J@gC>E�� ��3[5 = 5R�! = 58R � < EP9M@#1 9 7�R8! EoV61�14E !n5 7?5^1 OWE = 58Rocf3

Philosopher1mRo7 �&i R8@nC�58Rocf3�1mRb7 � � 9 TYT !n5 7?1BE <6< 58C ��365A@ Eo@65�E8O(1B3[5�1mRo7 �[7 = 5DRbcm36587 1B3[5

! = 58R � < EP9M@>1 � $ 9J@gR TYT "Ki�@6E 1B3 = 58RoC cARP@ !n5 T Eb@[_U14E Z E = 5�143nRP@ Eo@65 !n5A3nRAIK9JEoV = R T _ = EoV < EPO1B3 = 58RoC67hi !n58c^RPVn7N5�CK9 !&5 = 5A@#1 ! 5^3nRAI]9MEbV = R T _ = EoV < 7FchEbV T C 3nRAIK5�chE Z #69 ch1?9M@6_ E < 5 = 1mR81?9MEb@n77?Vgcf3�Rb7

stopRP@nC

continue�

0 @�RP141B5 ZF< 1 ��Ro7 Z RoC>5H1BEF_b5A@[5 = R T 9��A51B365l9J@#9J1N9 R T IK5 = 7L9MEb@�!>" R TYT E�� 9M@6_ Eb1B3[5 = 5AIK5A@#1m7

'.� ��� ���'� �� � ��� ���������� � � �� �%� �� �

$ 9M_bV = 5 ' � :���0 � 5A3nRAIK9MEbV = R T � = EbV < Q 9M@nC>E��

RP@gC�E < 5 = RP1N9MEb@n7��.Q 3nR81(5AIK5A@#1m7�Eb1B3[5 = 1B3nR8@ breakR8@nC ��3gRP1(E < 5 = RP1?9MEo@n7 Eb14365 = 143nRP@ stop

chEoV T C <>= E8IK9;C#5�Vn7N5hOWV T cAR < R8!>9 T 9J1N9M587 OWE = C>5A!6V[_b_P9M@6_��uG�@#OWE = 14V6@nR81B5 T "Kin1B365 RP@n7 � 5 = 1BEF1B3>9 7\KV6587?1N9MEb@ R <6< 58R = 7 14E�!n5H@6Eo@65 �$ E = 5��gR ZF<>T 5Ki

event = stopRP@nC

operation = stop

� EoV T C Z 58R8@ ��365A@ Eo@65 E8O&1B365�1 Rb7 �[7k9M@ 1B3[5 _ = EbV < 9 7�7?14E <6< 58C !#"�RlVn7?5 = � !#" <>= 5D7B7L9M@6_H14365>8G;:J7 !6V61B14Eb@FEb@F1B365�1 Rb7 � � 7 143 = 5DRbC�9J@#1B5 = O/Rbc 5KiK7?5^5�$ 9M_bV = 5 ' � q iK1B365A@ 14365lC>5A![V6_b_o5 = 7?1BE < 71B3[5 = 587N1�EPO 1B365 1 Rb7 �[7 9M@ 1B365 _ = EbV < � ��E�� 5^IK5 = in1B3>9 7HcAR8@ ! 5FRocf3#9J5^IK58C Z E = 5 5�� cf9M5A@#1 T "!#" RP@ E < 5 = RP1N9MEb@nR T _ = EbV < 14E 7N1BE < R TYT 1 Rb7 �[7 9J@ 14365H_ = EbV < � � 365 = 58Ro7?Eo@UOWE = 1B3#9;7�9;7l1B3nR81Z EK7?1(5AIK5^@>1 7 T 9(�K5 stop

E = continueR = 5 <>= 58C]9 ch1 RP! T 5`RP@nC 1B365�Eo@ T " V6@ <>= 58C]9 ch1 RP! T 5l5AIK5A@#1k9 7

5A@nc EbV6@#1B5 = 9M@6_HR�! = 5DR � < E89M@>1 �(0 TYT6<>= 58C]9 ch1 RP! T 5l5AIK5A@#1m7 cARP@ !n5�3nR8@nC T 58C !>" RP@ E < 5 = RP1N9JEo@nR T_ = EbV < �

� 365 chEo@nc T Vn7:9JEo@u9;7H1B3nR81�14365 = 587?1 = 9 ch1458C � 9M@>9M1N9;R T IK5 = 7L9MEb@ EPOl!n5A3gRDIK9MEbV = R T _ = EbV < 7 9 75��[1 = 5 Z 5 T " Vn7?5hOWV T � � 3[5�V6@ <#= 58C]9 ch1 RP! T 5FE#cAchV =4= 5A@gch5HEPO�5A@nchEoV6@#1B5 = 9J@[_ R�! = 58R � < EP9M@>1 RP@nC

� � � � � ��� �)��� � ��� � ��� ��� ��� �� '.�

7?14E <6< 9J@[_ R TYT 1mRo7 �[7 9M@ 1B3[5 _ = EbV < cARP@ !n5 Vn7?58C OWE = C>5A1B5Dch1?9M@6_ = Rbch5 c Eb@nC]9M1N9JEo@n7hi ��3>9 cm3R = 5�IK5 = " CK9 � chV T 1H1BE T E#cARP145 �Ud(V =4= 5A@#1 T "Ki 1B365 = 5FR = 5�@[E�Eb14365 = V6@ <#= 58C]9 ch1 RP! T 5 5^IK5A@>1 7 9M@� ��� Eo1B365 = 1B3nR8@ ! = 58R � < EP9M@#1 � jl@65 < EK747L9M! T 5 � RA" EPO Z R �K9M@6_ R !n5A3nRAIK9MEbV = R T _ = EbV <Z E = 5 _o5A@65 = R T 9 7H1BE�R TYT E�� 7?E Z 5�OWE = Z EPO 5��6145 = @gR T 5AIK5A@#1m7 � � 3>9 7 5/�6145A@n7L9MEo@ Z 9M_b3#1HR T 7?ER TYT E�� 1B3 = 58RbC67 14E�!n5�9M@ Z E = 5 143nRP@ Eo@65�!n5A3nRAIK9MEbV = R T _ = EoV < � ��E�� 5AIK5 = iK1B3>9 7 9 C>58R�9;7�@6Eo19 Z�<#T 5 Z 5A@#1B5DC �

� � � � � � � � � � � � ��� � � � #�

� IK5A@#1�c E TYT 58ch1?9MEo@ R8@nC _ = R < 3>9 cAR T IK9 7?VnR T 9��8R81?9MEb@ E8Ol1B365 9M@>145 = Roch1?9MEo@n7 R Z Eb@6_ 143 = 5DRbC67HEPOR�c Eb@nchV =B= 5^@>1 <>= Eo_ = R Z cAR8@u365 TM< 7:9J_o@>9 X cAR8@>1 T "u9M@ V6@nC>5 = 7?1 RP@nCK9J@[_uR8@nCuC>5A![V6_b_89J@[_ 14365<>= Eb_ = R Z � � 3#Vn7 i 9J1H9 7 Vn7N5hOWV T 14EU9M@#1B5A_ = RP145 R TYT 1B36587N5 R8!>9 T 9J1N9M587 9M@#1BE R�C>5A!6V6_o_P9M@6_ 5A@#IK9 �= Eo@ Z 5A@>1 � � E =mZ R TYT " C>5A!6V[_b_b5 = 9M@ < V[1�9 7�Vn7NVnR TYT " 1?9M58C 1BE �K5A"#! E R = C 9M@ < V61 � ��E�� 5^IK5 =R <#= Eb_ = R Z�Z RP1N9;c�9M@#1B5 = O/Rbch5 14E R�C>5A!6V6_o_b5 = R TYT E��l7 9M@ < V[1�O = E Z R8@6Eb14365 =F<>= Eb_ = R Z 1B3nR81��R8@>1 7�1BE�Vn7N5 14365lC>5A![V6_b_o5 = OWE = 7NE Z 5 < V =m< E 7?5Ki#5 � _ �JioRP@F5AIK5A@#1 IK9 7?VnR T 9��8R81?9MEb@ 14EKE T � � 3#Vn7 i� ��� ��Rb7�5��[1B5A@gC>58C � 9M1B3 R <#= Eb_ = R Z�Z RP1N9;c�9M@>145 = O/Roch5 �

j�OW1B5A@ R <>= Eo_ = R Z�Z RP1N9 cU9J@#1B5 = O/Rbc 5 9 7 < 9M_b_o" �/!nRbc.�K58C Eb@ 14E < EPOH14365 Vn7?5 = 9M@>145 = O/Roch5 �$nE = 5��gR ZF<>T 5Ki�C>5^!6V6_b_o5 = 7 � 9M1B3SRUc E ZFZ R8@nC T 9M@65�9M@#1B5 = O/Rbch5Fc^RP@ ! 5 Rbc^ch587B7N58C <>= Eb_ = R Z �

Z RP1?9 cAR TYT " !#" = 58C]9 = 58ch1?9M@6_ 9M@ < V61RP@gC EbV61 < V61 � ��E�� 5^IK5 = in1B3>9 7R <6<>= EKRocf3 9 7H@6Eb1R T � RD"[77BR81?9 7LO/Roch1BE = "�! 5DcARPVn7N5H1B365chE Z�Z V6@#9;c^RP1?9MEo@ T 9M@ � Z RA" @6Eb1�!n5_b5A@65 = R T 5^@6EbV6_o3�i&RP@nC _b5A@ �5 = RP1?9M@6_HVn7N5 = � T 5AIK5 T 9M@ < V61m7(RP@gC < R = 7:9J@[_�Vn7N5 = � T 5AIK5 T EbV61 < V61m7(1BE X @nC = 58\KV>9 = 58C 9M@>OWE =mZ RP1?9MEo@9 7 1458C]9MEbVg7 �

� @n7?1458RbC i � RPV[_ Z 5A@>1458C�� ��� � 9M1B3FRl7?5 < R = R81B5 chE ZFZ V6@>9 cAR81?9MEb@Fcm3nRP@[@65 T RP@gC <>= Eb1BE#c E TOWE = 1B3[5�c E ZFZ V6@>9 cARP1N9MEb@ Eo@ 14365 cm3nRP@[@65 T � � 3[5�cm3nR8@6@65 T 9 7FRP@ � � � � 7NE#c �K5^1 7?ES1B3nR81

' ' ��� ���'� �� � ��� ���������� � � �� �%� �� �

= 5 Z Eo1B5 � C]9 7?1 = 9M!6V61B5DC 9M@>145 = Roch1?9MEb@ 9 7 < EK747L9M! T 5 � � 365 <>= Eb14E#chE T 9 7�R�7:9 Z�<>T 5 Z Rbcm3>9M@65 T 5AIK5 T<>= Eb1BE#c E T OWE = c Eb@#1 = E TYT 9M@6_ � ��� RP@nCuEb![1mRD9M@>9M@6_SEbV61 < V61 � d T 58R =4T " i 9M1 � EoV T C !n5 !n587?1�9YO1B3[5 = 5 ��Ro7�R�7N1mR8@nC6R = C <>= Eo1BE#chE T OWE = chE ZFZ V6@>9 cAR81?9M@6_ � 9M1B3 RFC>5A![V6_b_o5 = �

� � E RbC6CK9J1N9MEb@nR T chE ZFZ RP@nC T 9M@65 E < 1N9MEb@n7�R = 5�9M@>1 = E#C>Vgch58C �

1 � B 7#5 � 5A@nR8! T 5H1B365 <>= Eb_ = R ZFZ R81?9 c 9M@#1B5 = O/Rbch5 i6RP@ � � � � 7NE#c �K5A1(9 7 c = 58RP1458C RP@nC 14365< E = 1 @#V Z !n5 = 9;7 <>= 9M@#1B58C Eb@�1B365H145 =mZ 9M@nR T �

1 �83�:;583;G�=J9 �B-<-= � CK9;74RP! T 5 14365 a Eb1N9YOlC>5A![V6_b_o5 = 9J@#1B5 = O/Rbc 5Ki 1B3[5 _ T Eb!nR T C>5A!6V6_o_b5 = 9 77N1mR = 1B58C � 9M1B3[EbV61�14365 a Eb1N9 O � 9J@gC>E�� 9M@>145 = O/Roch5 �

� 365�OWE TYT E�� 9M@6_ Z 587B74RP_o587�R = 5 7NV <6< E = 1B58C !#" 1B365 <>= Eo_ = R Z�Z RP1N9 cU9J@#1B5 = O/Rbc 5Ki ��365 = 558Rocf3 Z 58747BR8_b5�@gR Z 5�3nRo7�R chE =B= 5D7 < Eb@nCK9J@[_ #define

9M@ 1B3[5 <>= Eb_ = R ZFZ R81?9 c 9M@>145 = O/Roch5 9M@ �c T VnC>5 X6T 5 � � 365�OWE TYT E�� 9M@6_�chEb@n7N1mR8@>1 7 R8@nCU1N" < 5D7�R = 5C>5 X @658C �

#define MAX_CMD_LEN 256

#define MAX_VAR_LEN 64

#define MAX_COND_LEN 128

#define MAX_PATH_LEN 256

#define MAX_PRINT_LEN 1024

typedef enum {BP_SET, . . ., TERMINATE} MessageType;

typedef int NotifyMsg;

typedef void* ThreadId;

typedef void* ListId;

� � � � � ��� �)��� � ��� � ��� ��� ��� �� '.!

& � � � �

e 5A1 R ! = 58R�� < EP9M@#1.9M@F1B365l7 < 5Dcf9 X 58C Vn7?5 = �:143 = 5DRbC � � 365 Z 58747BRP_o5�7 < 58cf9 X 587�1B3[5�Vn7?5 = 143 = 58RoC9 C�R8@nCU14365H! = 58R�� < E89J@#1 T E#c^RP1?9MEo@�i ��3>9 cm3U9 7 < R = 7N58C !>" � ��� i>OWE = 5��gR ZF<>T 5Ki

�82 // breakpoint at line 82

�Table::pickup // breakpoint in the function pickup

�Philosopher.cc:82 if k1 <= 10

� 3657?1 = Vnc 1BV = 5 E8O(1B3[5 Z 58747BRP_o5�O = E Z 1B365chEo@>1 = E TYT 9M@6_ <>= Eo_ = R Z 9 7 7N36E���@�!n5 T E�� �

struct {

MessageType message_type;

ThreadId thread_id;

char break_cmd[MAX_CMD_LEN+MAX_COND_LEN];

};

� 3657?1 = Vnc 1BV = 5 E8O�R�@6Eo1?9 X cAR81?9MEb@ Z 5D7B7BR8_b5�O = E Z 1B3[5 _ T Eb!nR T C>5A!6V[_b_b5 = 9 7l7?36E���@�!n5 T E�� �

struct {

MessageType message_type;

NotifyMsg notify_msg;

};

jl@�7?VncAc 587B7 inotify_msg

9 7l7?5A1�14E0� � @ 14365cARb7N5HEPO O/RD9 T V = 5Ki notify_msg

9 7�7N5A1�1BEFEb@65HE8O1B3[5 OWE TYT E�� 9M@6_ �

p ��143 = 58RoC C>EK587�@6Eb1l5��#9;7N1

'Kr ��� ���'� �� � ��� ���������� � � �� �%� �� �

� ��143 = 58RoC�9;7�@6Eo1 9M@ 7N1BE <6< 58C�7N1mRP145

� ��! = 58R � < EP9M@#1�chE Z�Z RP@gC 5 =B= E =

' ��Eo1B365 = 5 =B= E =

& � � � � � *

d T 58R = R�! = 58R � < EP9M@#1�9M@ 1B3[5�7 < 58cf9 X 58C Vn7N5 = 1B3 = 58RoC � � 365 Z 58747BR8_b5 7 < 58cf9 X 587�14365 Vn7?5 =1B3 = 58RoCU9;C R8@nC�1B3[5�! = 58R � < EP9M@>1 T E#c^RP1?9MEo@�i ��3>9 cm3�9 7 < R = 7?58C�!#" � ��� �kd T 58R = chE Z�Z RP@nC[7R = 5 7L9 Z 9 T R = 1BES! = 58R�� < E89J@#1�chE ZFZ RP@nC67F5��nc 5 < 1F1B365 = 5U9 7 @6E chEo@nC]9M1?9MEo@nR T c T RPVn7N5 � $nE =5��gR ZF<>T 5��

�82

�Table::pickup

�Philosopher.cc:82

� 3657?1 = Vnc 1BV = 5 E8O(1B3[5 Z 58747BRP_o5�O = E Z 1B365chEo@>1 = E TYT 9M@6_ <>= Eo_ = R Z 9 7 7N36E���@�!n5 T E�� �

struct {

MessageType message_type;

ThreadId thread_id;

char clear_cmd[MAX_CMD_LEN];

};

� 3657?1 = Vnc 1BV = 5 E8O�R�@6Eo1?9 X cAR81?9MEb@ Z 5D7B7BR8_b5�O = E Z 1B3[5 _ T Eb!nR T C>5A!6V[_b_b5 = 9 7l7?36E���@�!n5 T E�� �

� � � � � ��� �)��� � ��� � ��� ��� ��� �� '0:

struct {

MessageType message_type;

NotifyMsg notify_msg;

};

jl@�7?VncAc 587B7 inotify_msg

9 7l7?5A1�14E0� � @ 14365cARb7N5HEPO O/RD9 T V = 5Ki notify_msg

9 7�7N5A1�1BEFEb@65HE8O1B3[5 OWE TYT E�� 9M@6_ �

p ��143 = 58RoC C>EK587�@6Eb1l5��#9;7N1

� ��143 = 58RoC�9;7�@6Eo1 9M@ 7N1BE <6< 58C�7N1mRP145

� �lc T 58R = chE ZFZ RP@nC 5 =B= E =

' ��Eo1B365 = 5 =B= E =

� ��� � � ��� �

d(Eb@#1?9M@#V65 R Vn7N5 = 1B3 = 58RbC&i���3>9 cm3 Z RA"u!n5 <#= 5AIK9MEbVn7 T " 7?14E <6< 58C E = 3nRb7 5A@nchEoV6@#1B5 = 58C R! = 58R � < EP9M@>1 � � 365 Z 587B74RP_b5 7 < 58cf9 X 5D7 14365HVn7?5 = �:143 = 5DRbC 9 C EPO(14365HVn7?5 = �:143 = 5DRbCU14E�!n5 chEb@ �1?9M@#V658C � � 3[5�7N1 = Vgch1BV = 5 E8O 1B365 Z 587B74RP_b5lO = E Z 1B3[5�chEo@>1 = E T T 9M@6_ <>= Eo_ = R Z 9;7�7?36E���@ !n5 T E�� �

struct {

MessageType message_type;

ThreadId thread_id;

};

� 3657?1 = Vnc 1BV = 5 E8O�R�@6Eo1?9 X cAR81?9MEb@ Z 5D7B7BR8_b5�O = E Z 1B3[5 _ T Eb!nR T C>5A!6V[_b_b5 = 9 7l7?36E���@�!n5 T E�� �

' ) ��� ���'� �� � ��� ���������� � � �� �%� �� �

struct {

MessageType message_type;

NotifyMsg notify_msg;

};

jl@�7?VncAc 587B7 inotify_msg

9 7l7?5A1�14E0� � @ 14365cARb7N5HEPO O/RD9 T V = 5Ki notify_msg

9 7�7N5A1�1BEFEb@65HE8O1B3[5 OWE TYT E�� 9M@6_ �

p ��143 = 58RoC C>EK587�@6Eb1l5��#9;7N1

� ��143 = 58RoC�9;7�@6Eo1 9M@ 7N1BE <6< 58C�7N1mRP145 � 1B3 = 58RbC�9 7 9M@ = V6@6@#9J@[_ R TY= 5DRbC>"

� � � �

e 14E < Rl7 < 58cf9 X 58C�Vg7?5 = 1B3 = 58RbC � � 365 Z 58747BR8_b5l7 < 58cm9 X 587k14365 Vg7?5 = 143 = 5DRbC 9 C�14E !n5l7?14E <6< 58C �� 3657?1 = Vnc 1BV = 5 E8O(1B3[5 Z 58747BRP_o5�O = E Z 1B365chEo@>1 = E TYT 9M@6_ <>= Eo_ = R Z 9 7 7N36E���@�!n5 T E�� �

struct {

MessageType message_type;

ThreadId thread_id;

};

� 3657?1 = Vnc 1BV = 5 E8O�R�@6Eo1?9 X cAR81?9MEb@ Z 5D7B7BR8_b5�O = E Z 1B3[5 _ T Eb!nR T C>5A!6V[_b_b5 = 9 7l7?36E���@�!n5 T E�� �

struct {

MessageType message_type;

NotifyMsg notify_msg;

};

� � � � � ��� �)��� � ��� � ��� ��� ��� �� 'Kq

jl@�7?VncAc 587B7 inotify_msg

9 7l7?5A1�14E0� � @ 14365cARb7N5HEPO O/RD9 T V = 5Ki notify_msg

9 7�7N5A1�1BEFEb@65HE8O1B3[5 OWE TYT E�� 9M@6_ �

p ��143 = 58RoC C>EK587�@6Eb1l5��#9;7N1

� ��143 = 58RoC�9;7 9M@ 7N1BE <[< 5DC 7?1mR81B5 � 143 = 5DRbC�9 7 7N1BE <[< 5DC R TY= 58RoC>"

� *,� � �

� = 9M@#1lR IoR = 9;R8! T 5 9M@ 1B365 7 < 58cf9 X 58C Vn7N5 = 1B3 = 58RoC � � 365 Z 587B74RP_o5�7 < 58cf9 X 587(1B365HVn7N5 = 143 = 58RoC9 C�R8@nC 14365(IbR = 9 RP! T 5l@nR Z 5 � � 365 = 587NV T 1 E8O <#= 9M@>1�9 7�7?5^@>1�!nRoc �`1BEl1B365�chEo@>1 = E TYT 9M@6_ <>= Eo_ = R Z �

� 3657?1 = Vnc 1BV = 5 E8O(1B3[5 Z 58747BRP_o5�O = E Z 1B365chEo@>1 = E TYT 9M@6_ <>= Eo_ = R Z 9 7 7N36E���@�!n5 T E�� �

struct {

MessageType message_type;

ThreadId thread_id;

char var_name[MAX_VAR_LEN];

};

� 365`7?1 = Vnch14V = 5lEPO 14365l@6Eb1N9 X cARP1N9JEo@ Z 587B74RP_o5 O = E Z 1B365l_ T Eb!gR T C>5A![V6_b_o5 = 9;7�7?36E���@ !n5 T E�� �

struct {

MessageType message_type;

NotifyMsg notify_msg;

char print[MAX_PRINT_LEN];

};

!�� ��� ���'� �� � ��� ���������� � � �� �%� �� �

jl@�7?VncAc 587B7 inotify_msg

9 7 7N5A1l1BE0� � 365 = R ��EbV[1 < V61�9 7 < V61 9M@ X 5 T C print

� � @ 1B365cARo7?5EPO,O/RD9 T V = 5Ki notify_msg

9 7l7?5A1�14E Eb@65EPO,1B365�OWE T T E�� 9M@6_ �

p ��143 = 58RoC C>EK587�@6Eb1l5��#9;7N1

� ��143 = 58RoC�9;7�@6Eo1 9M@ 7N1BE <6< 58C�7N1mRP145

� � � � � �

0�1B1mRocf3 1B365C>5A![V6_b_o5 = 14E�143657 < 58cf9 X 5DC <>= E#ch587B7�� � 3[5 Z 58747BRP_o57 < 58cf9 X 587�1B3[5 <#= E#ch58747 9 CRP@gC�1B365 = 5 T RP1N9MIK5 E = R8!n7?E T V[1B5 < RP143 EPO(14365 5��[58chV61 RP! T 5 � � 365F7N1 = Vgch1BV = 5�E8O 14365 Z 58747BRP_o59 7 7N36E���@�!n5 T E�� �

struct {

MessageType message_type;

int pid;

char path[MAX_PATH_LEN];

};

� 3657?1 = Vnc 1BV = 5 E8O�R�@6Eo1?9 X cAR81?9MEb@ Z 5D7B7BR8_b5�O = E Z 1B3[5 _ T Eb!nR T C>5A!6V[_b_b5 = 9 7l7?36E���@�!n5 T E�� �

struct {

MessageType message_type;

NotifyMsg notify_msg;

};

jl@�7?VncAc 587B7 inotify_msg

9 7l7?5A1�14E0� � @ 14365cARb7N5HEPO O/RD9 T V = 5Ki notify_msg

9 7�7N5A1�1BEFEb@65HE8O1B3[5 OWE TYT E�� 9M@6_ �

� � � � � ��� �)��� � ��� � ��� ��� ��� �� !>p

p � <>= E#ch58747 C>EK5D7 @6Eo1 5/�>9 7?1

� ��5��[58chV[1mRP! T 5 X6T 5C>EK587�@6Eo1 5��#9 7?1

� ��5��[58chV[1mRP! T 5 X6T 5�9 7 @[Eb1`chE ZF< 9 T 58C � 9M1B3-debug

E < 1N9JEo@

� � � � � � * � � � ��

� � * � � $ � � � ��

� * � � � � � � * � � � �

e 5A@gC 14365(chV =B= 5^@>1 c T Vn7?145 =�T 9;7N1Aib143 = 5DRbC T 9;7N1AibE = <>= E#c 587B7NE = T 9 7N1AiKC>5 < 5^@nC]9M@6_lEb@H1B365 message_typei

1BEF1B3[5�c Eb@#1 = E TYT 9M@6_ <>= Eo_ = R Z � � 3657?1 = Vnc 1BV = 5 E8O(1B3[5 Z 58747BRP_o5�9;7l7?3[E ��@�!n5 T E � �

struct {

MessageType message_type;

};

� 365`7?1 = Vnch14V = 5lEPO 14365l@6Eb1N9 X cARP1N9JEo@ Z 587B74RP_o5 O = E Z 1B365l_ T Eb!gR T C>5A![V6_b_o5 = 9;7�7?36E���@ !n5 T E�� �

struct {

MessageType message_type;

NotifyMsg notify_msg;

char list_name[MAX_VAR_LEN];

ListId id;

};

a 5 Z !n5 = 7�EPOR T 9 7?1 R = 5 7?5A@#1 Eb@[5 RP1 R�1N9 Z 5 � notify_msg9 7 7N5A1F1BE �>i.9YO chV =4= 5A@#1 T 9;7N1

= 5D\]V65D7?1B5DC 9;7(chE Z�<#T 5^1B5 T "F7?5^@>1 � notify_msg9 7(7?5A1(14E�poib9 O Z E = 5 T 9 7?1(9J145 Z 7.R = 5l1BEH!n5�7N5A@#1 �

!�� ��� ���'� �� � ��� ���������� � � �� �%� �� �

& � � � �

� Eo1?9 X cAR81?9MEb@ Eb@ T " Z 587B74RP_o5 � � Eb1N9YOW" 1B3[5 chEo@>1 = E TYT 9M@6_ <#= Eb_ = R Z 1B3nR81 R ! = 58R � < EP9M@>1 9 75A@nc EbV6@#1B5 = 58C�9M@ R 1B3 = 58RoC � � 365 7N1 = Vnch1BV = 5�E8O(1B365 Z 587B74RP_o5 9 7 7N36E���@�!n5 T E�� �

struct {

MessageType message_type;

int thread_id;

};

� * ��� * ��� � � * � � � � � � $

� Eo1?9 X cAR81?9MEb@ Eb@ T " Z 587B74RP_o5 � � Eo1?9YOW" 14365 chEo@>1 = E T T 9M@6_ <#= Eb_ = R Z 1B3nR81�14365 <>= Eb_ = R Z 3gRb71B5 =mZ 9J@gRP1B5DC � � 365 7N1 = Vnch1BV = 5�E8O(1B365 Z 587B74RP_o5 9 7 7N36E���@ ! 5 T E�� �

struct {

MessageType message_type;

};

� � * � � � � � �

d T EK7N5�14365FchEb@[@658ch1N9JEo@���� ��� = 5 Z E8IK587lRP@#"UEoV61m7N1mR8@nC]9M@6_�! = 58R�� < EP9M@#1m7�O = E Z 14365FR <6<#T 9 �cAR81?9MEb@ R8@nC�145 =mZ 9M@nRP14587 �(0�1�1B3#9;7 < EP9M@>1^i>14365�R <6<>T 9 cARP1N9MEb@ c Eb@#1?9M@>V[587�5��65DchV61?9MEo@�@6E =mZ R TYT " �� 3657?1 = Vnc 1BV = 5 E8O(1B3[5 Z 58747BRP_o5�9;7l7?3[E ��@�!n5 T E � �

struct {

MessageType message_type;

};

� � � ��� � ���� � ���������� � � �� �%� �� � !��

� 365 = 5�9;7�@6EF@6Eb1N9 X cARP1N9MEb@��

� �� � � � � � � � � � �� � �� � � �

�(������ � $ &($/�;����� � � �

0 T 1B3[EbV6_o3UVg7L9M@6_ � ��� c E#C>5 3gRb7�RbC#IbR8@>1 RP_o587hi[Rb7 Z 5A@#1?9MEb@[58C�9M@ e 58c 1?9MEb@'� � � � �>iK14365 = 5`R = 5R�OW5 ��CK9;74RbC>IoR8@>1 RP_b5D7�Rb7 � 5 TYT �

1 14365�C#587L9M_b@ E8O � ��� 9 7.1N9J_o3>1 T "�9M@#1B5A_ = RP1458C i#365A@nch5�9M1.9 7.@[Eb@ �/1 = 9JIK9 R T 14E�Vn7N5 Eo@ T "�14365@65Dch587B74R = " < R = 1m7

1 14365H@65A58C 1BEFc Eb@ X _oV = 5 RP@nC�chE ZF< 9 T 5 � ��� !n5hOWE = 5 � ��� cAR8@�!n5H!6V>9 T 1

1 � ��� 3nRb7�1BEF!n5chEb@n7N1mR8@>1 T " V < _ = RoC>58C�14E � E = � � 9M1B3 14365 Z E 7?1 = 5Dch5A@#1 IK5 = 7L9MEb@�EPO14365 � � G chE Z�< 9 T 5 = 7�RP@nC 9M1�EPOW145A@ T RP_ 7 !n5A3>9M@nC ��$nE = 5��nR Z�<#T 5 i6_KC>! � ' �Mp�' c^RP@ @6Eo1X @gC RoC6C = 5D7B7?5D7 EPO T E#cAR T IbR = 9 RP! T 5D7 OWE =<>= Eo_ = R Z 7�chE Z�< 9 T 58C � 9M143u_- � � � � : � � 3>9 7<>= Eb! T 5 Z 3nRb7 ! 5^5A@F7?E T IK5DC 9J@ _ C>! � ' �MpAr�Eb@ Z EK7N1 <>T RP1NOWE =mZ 7hiK36E���5AIK5 = iA9M1(7?1N9 T T 5��#9 7?1 7Eo@ e E T R = 9 7 �

$ 9M_bV = 5 ' � ) 7N36E��l7�36E���� ��� chE#C>5 9 7UVg7?58C � 9M143*14365 = 587N1�EPO�� ��� �l0 T 9J! = R = "KiF45IN�V;KJN i 9 7�chEb@n7N1 = Vnch1B5DC�chEb@#1mRA9M@>9M@6_ 1B365 < R = 1m7�E8O 14365 � ��� c E#C>5u1B3gRP1 R = 5u@[5A58C>58C!#" � ��� R8@nC�0 � � 7�OWE = 9M@>145 = Roch1?9M@6_ � 9M1B3�14365 � ��� c E#C>5 � a E#C#V T 587U143nRP1�R = 5u@6Eo1@65A5DC>58CU!#" � ��� R = 5 = 5 Z E8IK58C � OWE = 5��nR Z�<#T 5 i T RP@[_bVnR8_b5F5��6145A@n7:9JEo@n7 OWE = $nE = 1 = R8@ � � 3650 � � 7 ��5 = 5 � = 9J141B5A@ 14E Z R �K5 RbcAc 587B7�1BE � ��� chE#C>5 5DRb7L9M5 = ��$ E = 5��gR ZF<>T 5Ki61B3[5 OWV6@nc 1?9MEb@

accessGDB_getCallingFrame(prgreg_t* reg_set, int nth)c = 58RP14587 RP@gC = 5A14V = @n7 1B3[5 nth

7?1 Rbc.� O = R Z 5�!gRbc.� � R = C[7 O = E Z 14365 c V =B= 5A@>1�O = R Z 5 � $ 9J@gR TYT "Ki�! 5DcARPVn7N5 � ��� chE#C>5 9 7�@6Eo1

! ' ��� ���'� �� � ��� ���������� � � �� �%� �� �

1B3 = 58RoC 74RDOW5Ki�Rbc^ch587B7H1BE 1B365 0 � � 7 9 7 chE8IK5 = 58C !>" R Z Eb@#9J14E = i � <-<4=�>->�� ��� i 1BE 7N5 = 9 R T 9��A5Rbc^ch587B7��

� 365 T 9M! = R = 9M587 i F-58N-N �K i F458N658N6=H94G-P i F-58NC: 7#<S:4K;=;> R8@nC F45IN�9�=SB4KCF4583�= inR = 5 < R = 1EPO1B3[5 � ��� 7?EoV = c 5FC]9 7?1 = 9M!6V61?9MEo@�� � Rbcm3 T 9M! = R = " <>= E8IK9;C#587H7?V <6< E = 1�OWE = � ��� � $nE = 5��nR Z �

<>T 5Ki F45IN4N ;K � � 9M@nR = "�$ 9 T 5 � 5874c = 9 < 14E = C>58R T 7 � 9J143 C]9"! 5 = 5A@#1 OWE =mZ RP1m7 OWE = 5��[58chV[1mRP! T 5D7RP@gC chE = 5 X[T 5D7 � � 365D7?5 T 9M! = R = 9M587FVn7?5�1B365 � d! " @6B;F-F :;< OWV6@nch1N9JEo@�il7L9M@nch5�1B365�C>5 O/RPV T 17?"[7?145 Z�Z R TYT E#c`9 7(@6Eb1 7BRDOW5�OWE = � d! " 1B3 = 58RbC67�� � 3>9 7 9 7 Rocf3#9J5^IK58C�!#" 1BV = @>9M@6_Eb@ 14365 # RP_

-DNO_MMALLOC��365A@�1B365 T 9M! = R = 9M587�R = 5chE Z�< 9 T 58C �

AccessGDB

. . .user-levelthread

user-levelthread

libgdb

APIs

GDB code

libopcodes libreadlinelibibertylibbfd

$ 9M_bV = 5 ' � ) � 0�c^ch587B7 � ��� V[1?9 T 9J1N9M587

� V = 9J@[_ 1B365FC>5^IK5 T E <6Z 5A@#1�EPO�� ��� i�� ��� 3nRb7H!n5A5A@ V < C6RP1458C 1 � 9 ch5Ki O = E Z IK5 = 7:9JEo@' �Mp�'�1BE ' �Mp�!�R8@nC�' �Jp�! 1BE ' �Jp^r>i 1BE �K5A5 < chE Z�< RP1?9M!>9 T 9M1N" � 9M1B3u@65 � 5 = IK5 = 7L9MEb@n7HEPO _- � �

� � � ��� � ���� � ���������� � � �� �%� �� � !�!

$nE = 58Rocf3 V < C6R81B5Kin1B3[5 OWE TYT E�� 9M@6_ 5A@63gRP@nch5 Z 5A@#1m7 � 5 = 5 < 5 = OWE =mZ 58C �

1 cm3658c.� ��365A1B3[5 = 1B365 � ��� OWV6@nch1N9JEo@n7�c^R TYT 58C�O = E Z 1B365 0 � � 7�7?1N9 T T 5��#9;7N1RP@nC 3gRDIK514365 74R Z 5 OWV6@nc 1?9MEb@nR T 9J1N" �HG�@>OWE = 14V6@nRP145 T "Kin1B3>9 7Hcf3[58c � Z Vn7N1 !n5FC>Eo@65�!#" ! = E��l7L9M@6_� ��� 7?EoV = ch5 chE#C>5Ki = 58RbCK9J@[_ chE ZFZ 5A@>1 7 R8@nC � = 9J1N9M@6_ 7 Z R TYT,<>= Eo_ = R Z 7 14E�14587?1�14365OWV6@gch1?9MEb@gR T 9M1?" �

1 � ��� chEo@>1 RD9M@n7�R�C6R81mR 7?1 = Vnc 1BV = 5Ki target_opsi>143nRP1 chEb@#1mRA9M@n7�cAR TYT !nRoc �[7 OWE = R IoR = 9 �

5A1N"�E8O&Rbc 1?9MEb@n7 ibOWE = 5��nR Z�<#T 5 i = 58RbC]9M@6_ R 1mR = _b5^1 � 7 Z 5 Z E = " � � 3>9 7�7N1 = Vnch1BV = 5 Z Vn7?1 !n5cm3658c.�K58C 1BEFC>5A145 =mZ 9M@65 9YO(14365HC>58c T R = R81?9MEb@n7�OWE = cAR TYT !nRbc.��OWV6@gch1?9MEb@g7 3nRAIK5Hcm3nR8@6_b58C �� O

target_ops9 7 5��[1B5A@nC#58C in7?E Z 5 RbC6CK9J1N9MEb@nR T c^R TYT !nRbc.�UOWV6@gch1?9MEb@g7 3nRAIK5H1BEF! 5 <>= E��

IK9 C>58C �

1 V < C6R81B51B365 < R81mcm3 X[T 5D7 14E = 5�#n5Dch1�@65 � T E#cARP1N9JEo@n7�EPO cf3gRP@6_o587 �

1 = 5 Z E8IK5 @65 � T "HRoC6C>58C � ��� Eb!��m58ch1 X[T 5D7 1B3nR81 R = 5(@6Eo1�Vn7?5DC !#"�� ��� i 5 � _ �Ji ser-tcp.o�

� 365�0 � � 7�1BE � ��� 3nRAIK5 R T 7?Eu!n5A5A@ R8V6_ Z 5A@#1B58C OWE = 9 ZF<>T 5 Z 5A@>1N9M@6_�� ��� Eb@ 143659(' )or R = cf3>9M1458ch1BV = 5 � � 3>9 7 9 7 C]9 74chVn7B7N58C 9M@ e 58ch1N9JEo@ r � ' �

�(������ � ,;"U � ��'��"U ��$ �U"

� Z RoC>5 R OW5 � cf3gRP@6_o587 14E 1B365 � ��� 9M@#1B5 = O/Rbch5F!nRo7?58CuEb@S5�� < 5 = 9M5A@nch5 _ RD9M@658Cu143 = EoV6_b3Vn74RP_b5 �

� - ���174�1� � �1�� �

jl@65FEPOl1B3[5 Z E 7?1 chE ZFZ Eo@ E < 5 = R81?9MEb@n7 < 5 = OWE =mZ 58C C>V = 9M@6_ C#5A!6V6_o_P9M@6_ 9;7 <>= 9M@#1?9M@6_ 14365IoR T V65 EPO R IoR = 9 RP! T 5 � � E =mZ R TYT "Ki <>= 9M@#1?9M@6_u9 7 < 5 = OWE = Z 58C !#" 1N" < 9M@6_S1B365 5A@#1?9 = 5 <>= 9M@#1

!br ��� ���'� �� � ��� ���������� � � �� �%� �� �

chE Z�Z RP@nC 9M@H1B365�chE Z�Z RP@gC <#= E ZF< 1�E8O614365(1B3 = 58RbC � 9M@nC>E�� � � E`7L9 Z�<#T 9YOW"H1B3#9;7�E < 5 = RP1N9JEo@�i1B3[5 9M@>145 = O/Roch5 � Rb7 Z E#C]9 X 58C 7NE 1B3gRP1HC>EoV6! T 5Fc T 9 c �K9M@6_ Eo@ R�IoR = 9 R8! T 5�E = OWV6@gch1?9MEb@�9M@ 143657?EoV = c 5.145��[1 < RP@65�EPO[1B365(143 = 58RoC � 9M@nC>E�� <#= 9M@>1 7k14365(IoR T V65 E8On1B3[5.IoR = 9 RP! T 5�E = 1B365�OWV6@nc 1?9MEb@RbC[C = 58747 � � 365 T Eb@[_b587N1Ud �L7?1N" T 5 IoR = 9 RP! T 5 9 5�� <#= 58747L9MEb@ @6Eb1F7N5 < R = RP1458Cu!>" ��3>9M1B587 < Rbch5 9 77?5 T 5Dch1B58C&i 5 � _ �Ji�c T 9 c.�]9M@6_ R8@>" ��RA" Eb@ �

state[me] �7N5 T 58ch1 7�1B365�5A@#1?9 = 5 7?1 = 9M@6_ � 0�7 ��5 TYT i

1B3[5 <>= 9M@#1 chE Z�Z RP@gC�OWE = 143>9 7�E < 5 = R81?9MEb@ 9 7 R T 7?E 9M@n7?5 = 1B58C 9J@#1BE 14365 chE Z�Z RP@gC <>= E Z�< 1IK5 = 9 OW"K9M@6_ ��3nR81FchE ZFZ R8@nC�9 7 5��65DchV61B5DC � � 3#9;7FchE Z�Z RP@nC 9;7 R T 7?E 365 TM< OWV T OWE =F<>= 9M@#1?9M@6_7 T 9M_b3#1�IoR = 9;R8@>1 7 EPO 14365�IoR = 9;R8! T 5Ki>OWE = 5��gR ZF<>T 5KiK1BE <#= 9M@>1

*NoPhilsRDOW1B5 =�<>= 9J@#1?9M@6_ NoPhils

$ 9M_bV = 5 ' � qu7?3[E �l7 RuC#EbV6! T 5Sc T 9 c �K9M@6_uEb@ 14365 IoR = 9;R8! T 5 state[me]ilR8@nC 1B365 EoV61 < V61�9 7

7?3[E ��@ 9M@�1B3[5 EoV61 < V61 < RP@65 �$ 9M@nR T T "Ki chV61lRP@gC < Ro7?1B5cAR < RP!#9 T 9M1?9M587 ��5 = 5RbC[C>58CU14E Z R8@>"EPO 1B365 � 9M@nC>E��l7 �

& � � +.�1�� � � � � �����

� 365 <>= 5^I]9MEbVg7 9M@>145 = O/Roch5 #nVn7N3658C R TYT EoV61 < V61�O = E Z 14365FEbV61 < V61 < RP@[587 E8O�1B3[5 Z RD9M@SRP@nC� 3 = 58RbC � 9J@gC>E��l7 � ��E���5AIK5 = i <>= 5^I]9MEbVg7 EoV61 < V[1 9 7�IK5 = " Vg7?5hOWV T � � 365 = 5hOWE = 5 14365�9M@>145 = O/Roch5��Ro7Hcf3nR8@6_b5DC�1BE !6V�! 5 = EbV61 < V61�9M@ 14365�EoV61 < V61 < RP@65D7hi�58Rbcm3 T Eo_P9 cAR T ! T E#c ��EPO EbV61 < V61 9 77?5 < R = RP1B5DCU!#" C6Ro7?365DC T 9M@6587 � $ 9M_bV = 5 ' � q 3nRb7 � ! T E#c �[7 E8O�EoV61 < V61 �

*,+2�������� � 3 �� ������ � -������1+.�

Q 365A@2C>5A!6V6_o_P9M@6_ R T R = _o5 @#V Z !n5 = EPO 1B3 = 58RbC[7hiR chE Z�< V[1B5 = 7Bc = 5A5A@ C>EK587�@[Eb1�3gRDIK55A@6EoV6_b3 7 < Rbc 5 1BES7?36E�� Z R8@>" 143 = 58RoC � 9M@nC>E��l7hi�587 < 5Dcf9 R TYT " ��365A@ � E = �K9M@6_ � 9M1B3 E < �5 = RP1?9MEo@nR T�9 !n5A3gRDIK9MEbV = R T _ = EbV < 7 � 9M1B3 R T R = _b5F@#V Z !n5 = EPO�1B3 = 58RoC67 �lQ 365A@ RF! = 58R�� < E89J@#19 7 5A@nc EbV6@#1B5 = 58C�9M@ R�143 = 58RoC i 14365C>5hO/RPV T 1 Rbch1N9JEo@�9 7 1BE c = 58R81B5R�1B3 = 58RoC � 9M@nC>E�� Eo@�143657Bc = 5A5A@ � � 3>9 7H7?5 Z RP@#1?9 ccARP@ !n5 IK5 = "�9M@nchEb@#IK5A@>9M5A@#1�9 O R ! = 58R � < EP9M@>1`3>9M1�E#cAchV = 7 9M@ Z V T �

� � � ��� � ���� � ���������� � � �� �%� �� � ! :

1?9 <>T 5 1B3 = 58RoC67 � 9M143>9M@ R�_ = EbV < i cAR8Vn7L9M@6_ Z V T 1?9 <>T 5 � 9J@gC>E��l7�14E < E < �/V < R8@nC #nEKE#C 143657Bc = 5A5A@ � � 365 = 5hOWE = 5Ki�1B3>9 7H7?5 Z RP@#1?9 c ��Ro7 Z E#C]9 X 58CS7?E 1B3nR81 � 9J@gC>E��l7�cAR8@ !n5 c = 58R81B58CU9M@9 chEb@#9;c`7?1mR81B5 9YO Eo@65�C#EK587.@6Eo1�R T = 58RbC#"�5��#9 7?1^i]!#"Fc T 9 c �K9M@6_�14365l1BEb_o_ T 5H!6V6141BEb@F9J@ 1B365l_ = EbV <9M@>145 = O/Roch5 � 9M@nC>E�� �

*,+2�6� /6 �� � �� � 4& �����1�� �� �� 4� ��+ � ����+0/6� / �� � /0�� 3 �� ������ �

e E Z 5HEPO,1B3[5 ![V61B14Eb@n7 OWE = 14365 Z RD9M@ R8@nC � 3 = 58RbC � 9M@nC>E��l7 ��5 = 5 Z E8IK58C 1BE Z R��K5 9M@>145 = �Rbc 1?9M@6_F58Rb7:9J5 = i6OWE = 5��gR ZF<>T 5KinchE Z�Z Eb@ E < 5 = RP1N9JEo@n7 ��5 = 5 Z EPIK5DC c T EK7N5 = 14Eb_o5A1B365 = �

! ) ��� ���'� �� � ��� ���������� � � �� �%� �� �

$ 9M_bV = 5 ' � q � � 365 � 3 = 58RbC Q 9J@gC>E��

� � ��� ��� � �

� � � � � � � � � � � � � � � ��� � � � � �

� d! " 9;7HR�1 = R8@n7 T RP14E =�� i ��3#9;cm3 = 58RoC67�R <>= Eb_ = R Z c Eb@#1mRD9M@>9M@6_�chEo@nchV =4= 5A@#1 T RP@[_bVnR8_b5F5�� �1B5^@n7L9MEb@g7�RP@gC 1 = RP@g7 T RP14587U58Rocf3 5/�6145A@n7L9MEo@ 9M@#1BE Eo@65 E =�Z E = 5 d! " 7N1mR81B5 Z 5A@#1m7 � � 3651 = RP@n7 T RP1B5DC <#= Eb_ = R Z 9 7 14365A@SchE ZF< 9 T 58Cu!>" RP@ R <6<>= E <>= 9;R81B5 d! " c E ZF< 9 T 5 = RP@gC T 9J@ �K58C� 9M1B3 RchEb@gchV =B= 5A@nch" = V6@#1?9 Z 5 T 9M! = R = " i6cAR T T 58CF1B365 � d! " �K5 = @65 T � � E = Z R TYT " i>1B3[5 9M@n7N5 = 1458CchE#C>5 9 7 9M@>IK9 7L9M! T 5�14E <>= Eo_ = R ZFZ 5 = 7 � G�@>OWE = 14V6@nRP145 T "u1B3[5�9M@n7?5 = 1B58C chE#C#5 !n58chE Z 587�IK9 7L9 �! T 5 ��3[5A@ C>5^!6V6_b_89M@6_�RP1l1B365 7?1mR81B5 Z 5A@#1 T 5AIK5 T in7L9M@nch5 14365�9M@n7?5 = 1B58C�chE#C>5�9 7lchE ZF< EK7?5DC�EPOEb@[5�E = Z E = 5 T R8@6_bVnR8_b5 7?1 RP1B5 Z 5A@#1m7���d(V =B= 5A@>1 T "Ki 14365 = 5 9 7 @6E�O/Rocf9 T 9J1N" 9J@ud! " E = _KC>! 14E1mR8_ R�_ = EbV < EPO 7?1 RP1B5 Z 5A@#1m7lRb7l! 5 9J@[_ � E = < E 7B7:9J! T " p 7N1mRP145 Z 5A@>1 � � 3>9 7�7BR Z 5 <>= Eb! T 5 ZE#cAchV =B= 5DC Rb7�O/R = !nRoc � Rb7 9�B?G ;:S9 � �H5 = : ! �lR8@nC Z E = 5 = 5Dch5A@#1 T " 9M@ 1B365 d! - chE ZF< 9 T 5 =� 0 ��� � duO = Eo@>1 � e 1 = q>p �:iK!nEb143 EPO ��3>9 cf3 ��5 = 5l1 = RP@n7 T RP1BE = 7�R8@nC�@6Eo1�1 = V65HchE Z�< 9 T 5 = 7 � � @O/Rbc 1AiKR�7:9 Z 9 T R = <>= Eo! T 5 Z E#cAc V = 7 ��3[5A@FC>5A!6V[_b_P9M@6_E < 1N9 Z 9��A58C c E#C>5 !n58c^RPVn7N5�1B365 <>= Eo_ = R Z5��[58chV61N9MEb@ Z RA" @[Eb1�OWE TYT E � 1B3657?EoV = c 5 chE#C>5 �

����� ����������������� �������������! !��"����$#&%('�'*)�����+�����,-�.�����/)�������0��� �01$)��������!23����24��15,��6���7������� �!�8����� !����������"� !���!2:9

!bq

r�� ��� ���'� �� � � � �� �����)� ��� � ������� � � � � � ���

� 365 <>= Eb! T 5 Z 143>9 7�cARPVg7?587(C>V = 9M@6_FC>5A!6V[_b_P9M@6_�9 7(1B3nR81�R <#= Eb_ = R Z�Z 5 = cARP@ 58Rb7:9 T " 7?145 <9M@>14E�1 = R8@n7 T RP1458C chE#C>5Ki ��3>9 cm3 cAR8@�!n5�IK5 = " chEo@>OWVn7:9J@[_ 1BEF@6E8I]9 ch5 <>= Eo_ = R ZFZ 5 = RP@gCU5AIK5A@C]9�� chV T 1(1BEHC>5DR T � 9M1B3�OWE = 5�� < 5 = 9M5A@nch58C <>= Eo_ = R ZFZ 5 = 7�C>V65�14E�1B3[5lchE ZF<>T 5��#9J1N9M587�EPO � d! " �

� O�14365�1 = R8@n7 T RP1458C chE#C>5 c EbV T Cu!n5 Z RbC>5F9J@#IK9;7:9M! T 5�C#V = 9M@6_ C>5^!6V6_b_89M@6_ Rb7�9J1�9 7RP1�Eo1B365 =1?9 Z 587hi(1B3[5A@u1B3[5�C#5A!6V6_o_P9M@6_ Z E#C>5 T � EbV T C Z RP1 cf3 1B3[5 5��[58chV61N9JEo@ Z E#C>5 T i Z R �K9J@[_ T 9YOW57L9 ZF<>T 5 = OWE = 1B3[5 <#= Eb_ = R Z�Z 5 = 7��

� @U143>9 7�cm3nR < 145 = i � C]9 74chVn7B7l1B365 Z 5A1B36E#C[7 143nRP1 � C>5^IK5 T E < 58C 1BE RbC6C = 58747 14365 <>= Eb! T 5 ZEPO C>5A!6V[_b_P9M@6_ 1 = R8@n7 T RP1458C chE#C>5 � � Eb143�OWE = @[E =mZ R T 9M@n7N5 = 1458C OWV[@nch1?9MEo@n7�R8@nC�OWE = 7 < 5Dcf9 R T7L9M14VnRP1N9JEo@ Rb747?E#cf9 RP1458C � 9J143 chE = EoV61?9M@65HOWV6@nch1N9JEo@n7 �

� � � � � � � � � � � � �� � �

0 � d! " <#= Eb_ = R Z R8@nC 9J1 7U1 = RP@g7 T RP1458C d! - �c E#C>5 R = 5 7?3[E ��@ 9J@ $ 9M_bV = 5 ! �Mp � 7NE Z 558C]9M1N9J@[_�EPO 1B365 1 = R8@n7 T RP1458CuchE#C#5 3nRb7H! 5^5A@ < 5 = OWE =mZ 58CUOWE =<>= 587?5A@#1mR81?9MEb@ = 5DRb7?Eo@n7 � � 3651 = RP@n7 T RP1BE = <>= 587?5 = IK587 T 9J@[5 @>V Z !n5 = 7�!n5A1 � 5A5^@ 1B3[5�E = 9M_P9M@nR T RP@nC 1 = RP@n7 T RP1B5DC <>= Eb_ = R Z 7!#"u_b5A@[5 = R81?9M@6_ T Eb@6_ T 9M@6587 9J@ 14365 1 = RP@n7 T R81B58C EbV[1 < V61 � ��3#9;cm3 9 7 ��3#" 1B365�5��gR ZF<>T 5 9M@$ 9M_bV = 5 ! �Jp � Rb7�58CK9J1458C � � 3>9 7�R <6<>= E Rbcm3 Z 58R8@n7�1B3gRP1�chE ZF< 9 T RP1N9JEo@ 5 =B= E = 7F_b5A@65 = RP145chE =B= 5Dch1 T 9M@65 @>V Z ! 5 = 7 RP@nC 7N1B5 <6< 9J@[_ O = E Z T 9M@65 14E T 9M@65 � cAR TYT 58C�@65��[1?9M@6_ Vn7L9M@6_ 14365C>5A![V6_b_o5 = 3>9 C>587�1B3[5�1 = RP@n7 T RP1B5DC chE#C#5Ki ![V61 @[Eb1H7N1B5 <6< 9J@[_�9M@>14E = EoV61?9M@6587�9J@#IKE �K5DC � 9M1B3>9M@R T 9M@65 � cAR TYT 58C 7N1B5 <[< 9M@6_ � � 365 1 = RP@n7 T RP1B5DC chE#C>5 9M@nc T VnC#587�R�@#V Z !n5 = EPO C>58c T R = RP1N9JEo@n7hi9M@nc T VnC]9M@6_ R C>5hO/R8V T 1 chEb@g7?1 = Vnch14E = R8@nC C>587N1 = Vgch1BE = OWE = 1B365S1mRb7 �

Dummyi ��3>9 cf3 R = 5

9M@n7?5 = 1B5DC�! 5 OWE = 5�14365l7?1 RP145 Z 5^@>1 int x� � @FC>5A1 RD9 T i]5DRbcm3 � d! " 1 Rb7 �3nRb7 1B365 OWE T T E�� 9M@6_FcAR T T 7

9M@n7?5 = 1B5DC � uBaseTask::uBaseTaski

uSerial::uSeriali

uQueue<uBaseTaskSL>::uQueuei

uSerialConstuctor::uSerialConstuctori

uTaskConstructor::uTaskConstructori RP@nC

� � )� � ���� � � � �)� ����� ��� � r>p

� ����� �.����+ � +2 �+ ��/0�1+2� ����� �.����+uTask Dummy{

int x;void main() {

int i = 8;x = 8 * i;

}};

void uMain::main(){

Dummy dummy;

int z = 9;int y = 10;

}

class Dummy : public uBaseTask {private:

uAction uDestruct;Dummy(Dummy&);Dummy& operator = (Dummy&);

protected:uSerial uSerialInstance;uBaseTaskQueue uEntry00;

public:~ Dummy(){{

uSerialDestructor u0007(uDestruct,uSerialInstance,uEntry00,0x00);{uTaskDestructor u0008(uDestruct, (uBaseTask&) *this);

} }}Dummy (uAction uConstruct = uYes) { { uDestruct = uConstruct; {

uSerialConstructor u0009(uConstruct, uSerialInstance); {uTaskConstructor u0010(uConstruct,*this,”Dummy”,uSerialInstance);

} } }}

private:int x ;void main ( ) { uTaskMain u0006 ( uSerialInstance ) ; {

int i = 8 ;x = 8 * i ;

} }};

void uMain :: main ( ) {uTaskMain u0011 ( uSerialInstance ) ; {

Dummy dummy ;

int z = 9 ;int y = 10 ;

} }

$ 9M_oV = 5 ! �Mp���0 e R ZF<>T 5 d! - � = Eo_ = R Z RP@nC 9M1m7 � = RP@n7 T R81B58C d! - �d(E#C#5

r�� ��� ���'� �� � � � �� �����)� ��� � ������� � � � � � ���

uSerialConstructor::~uSerialConstructor�

� V = 9J@[_ R�C#5A!6V6_o_P9M@6_ 7N587B7:9MEb@�i(R Vn7N5 = � EbV T C 5�� < 58c 1HR 7?1B5 <6< 9M@6_�E < 5 = R81?9MEb@uOWE = 14365C>58c T R = R81?9MEb@

Dummy dummy;

1BEF1 = RP@n7:OW5 = 1BE T 9M@65

int z = 9;

!n58cAR8Vn7?51B365A" C]9 CU@6Eo1 � = 9J145 R chEo@n7?1 = Vnc 1BE = OWE = 1B3[5 1 Rb7 � � ��E�� 5AIK5 = i]9M1l1 = RP@n7:OW5 = 7 14E�14365X6= 7?1 T 9M@65H9M@�1mRo7 � Dummy

int x;

7L9M@nc 5�1B3[5 9M@n7N5 = 1458C c Eb@n7N1 = Vgch1BE = OWE = Dummy9 7 C#5 X @658CuEo@ 1B3gRP1 T 9M@65 �;= 5 Z 5 Z !n5 = 1B365

7?EoV = c 5�9J@ $ 9M_bV = 5 ! �Mp�3nRo7 !n5A5^@ 58C]9M1B58C � � 3>9 7 1 = RP@n7:OW5 = cAR8@ @6Eb1 !n5 RAIKEP9 C>5DC i�7:9J@gch51B3[5 = 5H9;7�@6E ��RA"�14E �>@[E ��9YO�1B365Fc Eb@n7N1 = Vgch1BE = ��Ro7 <>= E8IK9 C>58C�!#"�1B3[5�Vn7N5 = E = 1B365 � d! - 1 = RP@n7 T RP1BE = � � 3[5 = 5hOWE = 5Ki6Vg7?5 = 7 Z Vn7?1l7:9 ZF<>T " _b5A1�Vg7?5�14E 1B3>9 7lRbC6CK9J1N9MEb@nR T 1 = R8@n7LOW5 = �

��E�� 5AIK5 = i(RP@ RoC6C]9M1?9MEo@nR T 7N1B5 < E < 5 = RP1?9MEo@ !#"u1B3[5�Vn7N5 = C#EK587�@6Eo1 = 5A1BV = @ RDOW1B5 = 14365C>58c T R = R81?9MEb@ E8O dummy

� � @n7N1B58RoC ib9J1,1 = R8@n7LOW5 = 7k9M@#1BEH1B365 OWV[@nch1?9MEo@ uBaseTask::uBaseTaski

��3>9 cm3�9;7l1B365!nRb7N5 c T Rb747HchEb@n7N1 = Vnch1BE = OWE = RP@#" uTaskc T Rb747 � Z E = 5 9M@n7?5 = 1B5DC�chE#C>5 � � 3#9;7

1 = RP@n7:OW5 = E8O(c Eb@#1 = E T 9 7.@[E � IK5 = "FchEb@>OWVg7L9M@6_�OWE = Vg7?5 = 7 9M@�C>5A!6V6_o_P9M@6_F1B365 9 = <>= Eo_ = R Z 7�RP@nCR T 7NE = 58\KV>9 = 587F7?E Z 5 �#@6E�� T 58C>_b5 E8OH1B3[5�9 ZF<>T 5 Z 5A@#1mRP1N9MEb@ C>5A1 RD9 T 7 EPO � d! " � 0 7L9 Z 9 T R =7L9M14VnRP1N9JEo@ E#cAchV = 7 ��3[5A@ R�1 Rb7 � 5��#9M1m7 inRb7�1B365�9M@n7?5 = 1B5DCUC#587?1 = Vnch14E = E8O(1B365H1 Rb7 � 9 7lcAR TYT 58C �

� 365 = 5HR = 5�1 � E < E 7B7L9M! T 5F7NE T V61?9MEo@n7 14E 1B3>9 7 <>= Eb! T 5 Z � � @ E = C>5 = 1BEFC]9 7Bc Vn7B7 14365 Z i]9M1.9 7X6= 7?1l@658ch58747BR = "F1BE T EKE � R81�36E�� 7L9M@6_ T 5F7N1B5 <[< 9M@6_�9 7 9 Z�<>T 5 Z 5A@#1B58C�9M@ � ��� �

� � )� � ���� � � � �)� ����� ��� � r��

�������� *!����� � " * �;"�$&$(�����

� @ � ��� i a R = 1?9M@ 9 ZF<>T 5 Z 5^@>1458C 1B365 1 = RoC]9M1?9MEb@nR T R <6<>= E Rbcm3 OWE = 7:9J@[_ T 5 7?145 <6< 9M@6_ EPO�RVn7N5 = � T 5AIK5 T 143 = 58RoC�!#" 9M@n7N5 = 1N9M@6_�145 Z�< E = R = " ! = 5DR � < E89M@>1 7 9M@�14365l1mR = _b5A1�R <6<>T 9 cARP1N9JEo@�i&chEb@ �1?9M@#V>9M@6_ 1B365FR <6<>T 9 cARP1N9MEb@�i(R8@nC = 5 Z EPIK9M@6_ 14365 ! = 5DR � < E89M@>1 7 RAOW1B5 = ��R = C67���0�7 Z 5A@#1?9MEo@658C i1B3[5 = 5 R = 5�1 ��E E < 5 = RP1N9MEb@n7�OWE = chEo@>1 = E T T 58C RoC>IoRP@ncm9J@[_�EPO&5��[58chV[1?9MEb@ � � � � ' i ��3>9 cm3FC>EK587�@6Eo17?145 < 9M@>14E 7NV6! = EoV61?9M@65D7hi�R8@nC % ' � �ni ��3>9 cm3uC#EK587 � $nE = 5DRbcm3 �]9M@nC EPO E < 5 = R81?9MEb@ i Z V T 1?9 <>T 5! = 58R � < EP9M@>1 7 Z RA" !n5 9M@n7N5 = 1458C RP@nC = 5 Z E8IK58C RDOW145 = � R = C67 �

0�C>5hO/R8V T 1�! = 5DR � < E89M@>1 9 7�7?5^1lRP1 14365�!n5A_89J@[@>9M@6_ EPO,1B3[5�@65��[1 T 9M@65�9M@U14365H7NEbV = ch5HchE#C>5 �0�C6CK9J1N9MEb@nR T ! = 58R � < EP9M@#1m7lR = 5�9M@n7N5 = 1458C�9 O.RP@#"�E = R T T E8O�14365�9M@n7?1 = Vnch1N9MEb@n7�R = 5C>5A1458ch1458C 9M@1B3[5�c V =B= 5A@>1 7?EoV = ch5 T 9J@[5��

1 < BCF4F � 9YO,1B365HE < 5 = RP1N9MEb@U9 7 % ' � �ni6R�! = 58R � < EP9M@>1�9 7�7?5A1lR81�1B365`1mR = _b5A1lRoC6C = 587B7 E8O�14365cAR TYT �

1 9�=JGS2�9?3 � R�! = 58R � < EP9M@#1 9 7l7?5A1 9M@�14365cAR TYT 5 = � 7 OWV6@nch1N9JEo@ RAOW1B5 = 14365cAR TYT �

1�N�9;BJ3#<ID � 9YO 1B365l1mR = _o5A1�RoC6C = 5D7B7 9 7(! 5^"KEb@nC 1B365`7Bc E < 5�EPO 14365`chV =B= 5A@#1 T 9J@[5Ki6RH! = 58R�� �< EP9M@#1 9 7l7?5A1lR81 14365H1mR = _b5^1�RoC6C = 5D7B7 �

0 OW145 = 1B365! = 5DR � < E89M@>1 7�R = 5�9J@g7?5 = 1B58C in1B3[5�1B3 = 58RoC 9 7�chEo@>1N9J@#V658C V6@#1?9 T Eo@65 EPO 1B365! = 58R�� �< EP9M@#1m7 9 7�5A@nchEoV6@>145 = 5DC i6R8@nC 1B365A@�R T T 1B5 Z�< E = R = "U! = 58R�� < EP9M@#1m7lR = 5 = 5 Z EPIK5DC �

�������� � � &(����� � �$��,�� $/��"%& � � & "

� 365 = 5R = 5H1 � E < E 7B7L9M! T 5F7NE T V61?9MEo@n7 OWE = C>58R T 9M@6_ � 9M1B3 1 = RP@n7 T RP1B5DC�chE#C>5�9M@#IKE T I]9M@6_ @6E = Z R TOWV6@nc 1?9MEb@n7�� � 3[5 X6= 7?1l7?E T V61?9MEb@ 9 7 Z E = 5H_b5A@65 = R T � � 365 C#5A!6V6_o_b5 = cm3658c.�67�9YO�9M1 9 7l7?1B5 <6< 9M@6_

r ' ��� ���'� �� � � � �� �����)� ��� � ������� � � � � � ���

9M@>14E RP@�9M@n7N5 = 1458C = EoV61?9M@65 i T 9(�K5 uBaseTask::uBaseTask� � O�9M1 9 7hi�14365 7:9J@[_ T 5 7N1B5 <[< 9M@6_ 9;7

Z E#C]9 X 58CU14E �

% ' � ��

! � ' � ! � % ' � ��

% ' � �

� 365 X6= 7?1 % ' � � 7?145 < 7 9M@#1BE uBaseTask::uBaseTaski�RP@gC 1B3[5 ! � ' � ! � % ' � � 7?1B5 < 7�EbV61FEPO

uBaseTask::uBaseTask� � 365 T Rb7N1 % ' � �S7?1B5 < 7 9M@>14E 1B365 @[5��61H9M@n7?5 = 1B58C = EbV61N9J@[5 9M@ 1B3#9;7

cARo7?5KiuSerial::uSerial

�(0 @gC i#R�7L9 Z 9 T R = cf3[58c �H9 7 C>Eo@65 OWE = uSerial::uSeriali#RP@nC R�7L9 Z 9 T R =

Rbc 1?9MEb@ 9 7U1mR��K5A@�� � 3>9 7 Rbch1N9JEo@ 9 7 C>Eb@65 OWE = R TYT 9J@g7?5 = 1B58C chE#C>5SC>5 X @[58C Eb@ 1B3nR81 T 9M@65 �Q 365A@ 14365 T Ro7?1�OWV6@nch1N9MEb@�9 7�5��>9M1458C in1B365 T Rb7N1 % ' � � Z E8IK587 1BE 14365 @65��[1l5��65DchV61?9MEo@ < EP9M@#1 �0 T 1B3[EbV6_o3 1B3>9 7 Z 5A1436E#C ��E = �67 i 9M1 9;7FIK5 = " 1?9 Z 5�c Eb@n7NV Z 9M@6_[il7L9M@nch5 OWE = 58Rocf3uOWV6@nc 1?9MEb@cAR T T 58C&i Z V T 1N9 <#T 5 7?145 < 7�R = 5�1 R �K5A@��

� 365H7N58chEb@gC 7?E T V[1?9MEb@ 9;7 14E�5��gR Z 9M@65�14365�1 = RP@n7 T RP1B5DCUc E#C>5 OWE = _ = EbV < 7 E8O(c Eb@n7N58chV61N9JIK5cAR T T 7�� R8@nC�@65��[1lEPIK5 = 14365�5A@#1?9 = 5�_ = EbV < ��$ E = 5/�nR Z�<>T 5Kin@6Eo@65 EPO�1B3[5 9M@n7?5 = 1B5DCUOWV6@nch1N9JEo@n7RP11B365 7?1 R = 1�EPO RU1 Rb7 � @65A5DC�14E�!n5�5^@>145 = 58C � � 3[5 = 5hOWE = 5Ki @65��[1?9M@6_�EPIK5 = 1B365 7L9M@6_ T 5 T 9M@659M@n7?5 = 1B5DC�!#"�14365�1 = RP@n7 T R81BE = OWE = R T T 14365lcAR TYT 7 9M@F1B3nR81(_ = EoV <FZ E8IK587�1BEH1B3[5�@65��[1�5��[58chV61N9JEo@< EP9M@#1Ai69 � 5 �Ji

int z = 9;

OWE = 14365 <>= Eb_ = R Z 9M@ $ 9M_bV = 5 ! �Jp � � 3>9 7 Roch1?9MEo@U9 7�RbcAc E ZF<>T 9;7N3658C !>" 7L9 ZF<>T " cf3gRP@6_89J@[_�143657L9M@6_ T 5 7?145 <6< 9M@6_SE < 5 = R81?9MEb@ 9M@>14EuR�@65/�61N9J@[_ E < 5 = RP1N9MEb@�i ��3#9;cm3 <#= 5AIK5A@#1m7H7N1B5 <6< 9J@[_�9M@#1BERP@#"�OWV6@nc 1?9MEb@SC>5 X @[58C�Eo@ 14365 1 = RP@n7 T RP1B5DC T 9J@[5 � 7N5A5 e 58ch1N9MEb@ ! �Jp �Jp � � 365 C]9 7BRbC#IbR8@>1 RP_o5EPO 1B3>9 7HR <[<>= E Rbcm3 9 7 143nRP1H14365FRbch1N9MEb@ 9 7HC>5 < 5A@nC#5A@>1`Eb@u14365 < R = 1?9 chV T R = chE#C>5 7?5D\]V65^@nch587_b5^@65 = R81B58C !#"�14365H1 = RP@n7 T R81BE = � � 3>9 7l7?E T V[1?9MEb@�9 7�R = 5 X @[5 Z 5^@>1(EPO,1B3[5 X[= 7?1l7NE T V61N9JEo@�i&RP@nCC>EK587 @6Eo1 _b5A@65 = R T 9��A5�1BE R TYT 7:9J14VnRP1N9MEb@n7�� � 3>Vg7hi � Vg7?58Cu1B3[5�7N58chEo@nC 7?E T V61N9MEb@ ��365 = 5AIK5 =< EK747L9M! T 5Ki�R8@nCUVn7N58C 1B365 X6= 7?1`7?E T V[1?9MEb@ Eo1B365 = � 9 7?5 �

� � )� � ���� � � � �)� ����� ��� � r�!

�������� * �6�")& �� ����� * �;$/��" . "!�'��,

� d! " 7?V <6< E = 1m7�9M@>145 = @nR T RP@gC�5��6145 = @gR T 7Bcm3658C>V T 9M@6_ � 9M1B3>9M@ Eo!��m58ch1 7k143nRP1 <>= EPIK9 C>5 Z V614VnR T5��gc T Vn7L9MEo@�� � 365S7?1mR81B5 Z 5A@#1m7�OWE = 9M@#1B5 = @nR T 7Bcm3658C#V T 9J@[_ R = 5 uSignal

RP@nCuWait

� � 3657?1 RP145 Z 5^@>1�OWE = 5��[1B5 = @nR T 74cf3[58C>V T 9M@6_�9 7 uAccept

� 9M1B3 c T RPVn7N587 uWheni

uOrR8@nC

uElse�

� Rbcm3�E8O�1436587?5l7N1mR81B5 Z 5A@#1m7 9 7 1 = R8@n7 T RP1458C�9M@#1BE�Eo@65lE =�Z E = 5 OWV6@gch1?9MEb@ cAR TYT 7 R81.1 = R8@n7 T RP1N9MEb@1?9 Z 5 ��d T 58R =4T " i OWE = 1B3[587?5 � d! " T R8@6_bVgRP_b5 7?1mR81B5 Z 5A@#1m7 i chEo@>1 = E T 7N36EbV T C @6Eb1 1 = R8@n7LOW5 =9M@>14E 1B365 1 = RP@g7 T RP1458C OWV[@nch1?9MEo@n7U_o5A@65 = RP1B5DC OWE = 14365 Z !#" RS7?1B5 < E < 5 = RP1N9MEb@�� � 3#Vn7hi`R7?145 < E < 5 = R81?9MEb@ 7N36EbV T Cu!n5�5D\]V>9MIoR T 5A@#1�14E�RU@65��[1HE < 5 = RP1?9MEo@���0 uAccept

7N1mR81B5 Z 5A@#1 9 71 = RP@n7 T RP1B5DCU9J@#1BE OWV6@nc 1?9MEb@n7�1B3gRP1�3nRAIK5HV6@>9 \KV65H@nR Z 587hi>OWE = 5/�nR Z�<>T 5Ki#1B3657N1mRP145 Z 5A@>1^i

uAccept (z);

9 7 1 = R8@n7 T RP1458C�1BE 14365 T 9J@[5 � 7N36E���@�365 = 5Rb7 Z V T 1?9 <>T 5 T 9M@6587 i

unsigned int uHere ;

uSerialInstance . uAcceptStart ( uHere ) ;

if ( uSerialInstance . uAcceptTry ( uEntry02 , 0x02 ) ) {

u0013 : ;

. . .

� 3#Vn7hi>OWE = 58Rbcm3�7?1B5 < E < 5 = R81?9MEb@�Eb@ R 74cf3[58C>V T 9M@6_ OWV6@nch1N9JEo@�in1B365C>5A![V6_b_o5 = cf3gRP@6_o587.9M1 14ER�@65��[1 E < 5 = R81?9MEb@�9M@n7N1B58RoC � 0l_KRD9M@�i6143>9 7 ��E = �67 !n58cAR8Vn7?5H14365�1 = RP@n7 T RP1B5DC�chE#C>5�9 7�RF7L9M@6_ T 5T 9M@65�E8O�d! - 2chE#C>5 �

��E�� 5AIK5 = 143>9 7.74cf3[5 Z 5(O/RD9 T 7 OWE = chE ZF<>T 5���7?1mR81B5 Z 5A@#1m7 1 = R8@n7 T RP1458C�9M@#1BE Z V T 1N9 <#T 5 7?1mR81B5 �Z 5A@>1 7�RP@nC = EbV61N9J@[5 cAR T T 7 i OWE = 5��gR ZF<>T 5Ki

rbr ��� ���'� �� � � � �� �����)� ��� � ������� � � � � � ���

uWhen ( fred() ) uAccept (z);

��3>9 cm3U9 7 1 = R8@n7 T RP1458CU14E�14365 T 9J@[5 � 7N36E���@�365 = 5Rb7 Z V T 1N9 <#T 5 T 9J@[587

unsigned int uHere ;

uSerialInstance . uAcceptStart ( uHere ) ;

if ((fred ( )) && uSerialInstance.uAcceptTry( uEntry02, 0x02 )) {

u0014 : {

. . .

� 365 74cf365 Z 5FC>5D7Bc = 9J!n58CSRP!nE8IK5 7 �]9 < 7H1BE�14365F@65��[1 T 9M@65Ki(R8@nC @65^IK5 = 5A@#1B5 = 7�1B365FVn7?5 =OWV6@nc 1?9MEb@

fred()i ��3>9 T 5F7?145 < 7?36EoV T C�5A@>145 = 14365�OWV6@nch1N9MEb@��

� 3>Vg7hi61B3[5 % ' � � E < 5 = R81?9MEb@�9M@#1BEF1B365�OWV6@nc 1?9MEb@ uAcceptStart9 7lcf3gRP@6_o58CU14E �

% ' � ��

! � ' � ! � % ' � ��

% ' � �

��3>9 cm3 5A@n7?V = 587�c Eb@#1 = E T 7?145 < 7k9M@#1BE�14365�Vn7N5 = OWV6@nc 1?9MEb@ fred()� � Og1B365 = 5 9 7 @6EHVn7?5 = OWV6@nch1N9MEb@�i

1B3#9;7�7?14E < 7 9J@ 1B365 OWV6@nch1N9MEb@uAcceptTry

i ��3#9;cm3 9;7�R 7 < 5Dcf9 R T OWV[@nch1?9MEo@ RP@nC 1B365 % ' � �E < 5 = RP1N9JEo@�9 7 3nR8@nC T 58C�RbcAchE = C]9M@6_ T " �

������ � � � " �'� � C$ �U"

Q 365A@�R � d! " R <6<>T 9 cARP1N9JEo@�9 7lchE ZF< 9 T 58C � 9M1B3�14365HE < 1N9MEb@ �HG-9�BC<4= iKRbC6CK9J1N9MEb@nR T�= V6@#1?9 Z 5chE#C>5�9 7 9M@n7N5 = 1458CU9M@ Eb!��m58c 1m7�1BE _o5A@65 = RP1B55AIK5A@#1m7.OWE =H< R = 1?9 chV T R = � d! - E < 5 = RP1N9JEo@n7 � e 5A5� � �q�! �6OWE = 9M@>OWE = Z R81?9MEb@�R8! EoV61lC]9 7 <#T RA"K9M@6_ 5AIK5A@#1�1 = Rbch5D7 ��Q 9M1B3 14365 �JG49;B;<4= E < 1?9MEo@�i>143657?1 RP145 Z 5^@>1

uAccept (z);

� � � � � � ��� ����� �� � ��������� ����� r :

9 7 1 = R8@n7 T RP1458C�1BE 14365 T 9J@[5 � 7N36E���@�365 = 5Rb7 Z V T 1?9 <>T 5 T 9M@6587

unsigned int uHere ;

uSerialInstance . uAcceptStart ( uHere ) ;

uTraceAcceptStart ( uTraceInstance ) ;

if ( uSerialInstance . uAcceptTry ( uEntry02 , 0x02 ) )

0 TYT 9M@n7?5 = 1B5DC 1 = Rbc 5 chE#C>5Ki T 9(�K5 uTraceAcceptStarti�9 7UR T 7?E 3gRP@nC T 58C Vn7:9J@[_ 7L9 Z 9 T R =

1B5Dcf36@#9;\KV6587�Ro7 14365HEb@65D7�C]9 7BchVn747?58C 9M@�1B3#9;7l7?5Dch1?9MEb@ �

� �� � � � � � � � �� � � � � � �� � �

������� � ��$ � � , $ � � ���!�����"��

� 365 #nE�� chEo@>1 = E T EPO chE = EbV61N9M@65�OWV[@nch1?9MEo@n7 R = 5 IK5 = " C]9"!&5 = 5A@#1�O = E Z 1436EK7N5 E8O@6E = Z R TOWV6@nc 1?9MEb@n7���0 $�"�!�" � ' ��� � 9 7�R8@uEb!��m58c 1 � 9M143 9M1m7�E���@ 5/�658c V61?9MEb@ 7?1mR81B5 7NEU9M1m7H5��[58chV61N9JEo@cAR8@ ! 5 7?Vg7 < 5A@nC>5DC RP@nC = 587NV Z 58C � � �65DchV61?9MEo@ E8O�R chE = EoV61?9M@65 9 7 7NVn7 < 5A@gC>58C Rb7�chEo@>1 = E TT 58RAIK587 9M1^i>Eb@ T " 1BE c^R =B= "�Eo@�O = E Z 143nRP1 < EP9M@>1 ��3[5A@ chEo@>1 = E T&= 5A14V = @g7 RP1 7?E Z 5 T R81B5 = 1N9 Z 5 �� 3>9 7 Z 58R8@n7�1B3nR81 R chE = EbV61N9M@65�9 7 @6Eo1 = 587?1 R = 1458C RP1H1B365F!n5A_P9M@6@#9J@[_ Eo@ 58Rocf3SRbc 1?9MIoRP1?9MEo@RP@gC 143nRP1�9M1 7 T E#c^R T IoR = 9;R8! T 587FR = 5 <>= 587?5 = IK58C � ��5A@gch5Ki R chE = EbV61N9M@65�7?E T IK587�14365 c T Ro7B7 EPO<>= Eb! T 5 Z 7 Rb747?E#cf9 R81B58C � 9M143 X @>9M1B5 �L7?1 RP145 Z Rocf3>9M@65D7 RP@nC < Vn7?3 �LC>E���@ RPV614E Z RP1mR#i ��3>9 cm3R = 5 T Eo_P9 cAR T T " cm3nR = Rbch145 = 9��A5DC !#" 14365RP!>9 T 9M1?"�1BE = 5A1mRA9J@ 7?1 RP1B5!n5A1 � 5A5A@F9J@#IKE#cAR81?9MEb@n7��

d(E = EbV61N9J@[587�cAR8@U!n5Vn7?58C�9M@�1 ��EF7 T 9M_b3#1 T " C]9"!&5 = 5A@>1 ��RA"[7��

1 0 >S=Q@T5 �-< :S9;:J24GM583�= 9 7�cm3nR = Rbch145 = 9��A5DC !>" 1B3[5�O/Rbch11B3nR81�9M1FR T ��RA"[7�Roch1?9MIoRP14587 9M1m7cAR TYT 5 = i�Ro7 9M@ 14365 <>= E#C#Vnch5 = �NchEo@n7?V Z 5 = 5��gR ZF<>T 5 EPO�$ 9M_oV = 5 ! � � � � Eb1?9 ch5 14365 5�� �

r ) ��� ���'� �� � � � �� �����)� ��� � ������� � � � � � ���

<>T 9 cf9M1lcAR T T O = E Z Prod� 7

main = EbV61N9M@65�1BE deliveryRP@nC�14365A@ 14365 = 5A14V = @ !gRbc.� ��365A@

deliverychE ZF<>T 5A1B5D7 � delivery

R T � RD"[7�Roch1?9MIoRP14587 9J1 7(chE = EbV61N9J@[5Ki ��3>9 cf3F7NV6!n7?5D\]V65^@>1 T "Roch1?9MIoRP14587

delivery�

1 0 ?2#F-F �4<S:S9;:J2�G;5I3#= 9 7Ucm3nR = Rbc 1B5 = 9 �^58C !#" 14365UO/Roch1 1B3gRP1�9M1 @65AIK5 = Roch1?9MIoRP14587�9M1m7cAR TYT 5 = � 9M@n7?1458RbC in9J1Roch1?9MIoRP14587�RP@[Eb1B3[5 = chE = EbV61N9J@[5 !>" 9M@>IKE �]9M@6_ Eo@65 EPO(9M1m7 Z 5 Z !n5 == EbV61N9J@[587 � � 3>Vg7hi>OWV TYT chE = EbV61N9J@[587 Roch1?9MIoRP145�Eo@65 R8@6Eb14365 = EPOW1B5^@ 9M@ R�ch"[c T 9 c O/Rb7?3#9JEo@�iRo7 9M@ 14365 <>= E#C#Vnch5 = �NchEo@n7?V Z 5 = 5��nR Z�<#T 5 E8O#$ 9M_oV = 5 ! � � � � Eo1?9 ch5 1B3[5 uResume7N1mRP145 Z 5A@>1 7 9M@ = EbV[1?9M@6587 payment

R8@nCdelivery

� � 3[5uResume

9M@ = EoV61?9M@65 paymentRoch1?9MIoRP14587 1B3[5 5��65DchV61?9MEo@ �N7N1mR81B5FRb747?E#cf9 R81B58C � 9M143

Prod::mainR8@nC�1B3nR81�5��[58chV61N9MEb@ �

7N1mRP145 c Eb@#1?9M@>V[587 9J@ = EbV[1?9M@65 Cons::delivery� e 9 Z 9 T R =4T "Ki�1B365 uResume

9M@ = EbV61N9J@[5

deliveryRoch1?9MIoRP14587U14365 5/�658c V61?9MEb@ �N7N1mRP145uRo7B7NE#cf9 RP1B5DC � 9M143

Cons::mainRP@gC 1B3nR81

5��[58chV[1?9MEb@ �L7?1 RP145 chEo@>1N9J@#V6587 9M@Cons::main

9M@>9M1?9 R TYT " RP@nC 7NV6!n7N58\]V[5A@>1 T " 9M@ = EbV[1?9M@65

Prod::payment�

������� � "�� ��� ��������� � ��!�!�;���"),

Q 3>9 T 5 9M1 9 7 < E 7B7L9M! T 5�14EHC>5A![V6_HchE = EbV[1?9M@6587�Vn7:9J@[_ � ��� !n58cAR8Vn7?5�14365 = 5.9 7 @6EHc Eb@nchV =B= 5^@nch"KiEb@gch5HR % ' � �FE#cAchV = 7 9M@#1BE 1B3[5�1 = RP@n7 T R81B58C chE#C#5 OWE = uResume

R8@nCuSuspend

i]9M1lC>EK587 @6Eo1chE Z 5FEbV61H9M@ 14365 = 587NV Z 5DC chE = EoV61?9M@65 !n58cAR8Vn7?5 chEb@#1 = E T Z Vn7?1 X6= 7?1�1 = R8@n7LOW5 = 1B3 = EbV6_o3 RchEo@>145��61,7 � 9M1 cf3 �KVn7:9M@6_ � � � 'n7 �K9 < 7�1B365 9 ZF< E = 1 RP@#1 c Eb@#1 = E T #nE��u9M@>14E 14365�Eb14365 = c E = EoV61?9M@65 �� @ 5�!&58ch1^i

uResumeRP@nC

uSuspend@[5A58C�1BE !n5F3nRP@nC T 5DC 9M@ R 7L9 Z 9 T R = � RD"�1BE = EoV61?9M@65

cAR T T 7�� � 3nRP1 9 7 i R 7N1B5 < RP1HR uResumeE = uSuspend

5A@gC67 V < RP1�14365 chE =B= 58ch1�5��[58chV61N9MEb@

� � � � � � ��� ����� �� � ��������� ����� rbq

� ���������.+ � � � ���� �+.�uCoroutine Prod {

Cons *c;int N, status;

void main() {int p1, p2;// 1st resume starts herefor ( int i = 1; i <= N; i += 1 ) {

. . . // generate a p1 and p2status = c->delivery( p1, p2 );if ( status == . . . ) . . .

} // forc->delivery( -1, 0 );

}; // mainpublic:

Prod( Cons *c ) { Prod::c = c; };void start( int N ) {

Prod::N = N;uResume; // restart Prod::main

}; // start}; // Prod

uCoroutine Cons {int p1, p2, status;

void main() {// 1st resume starts herewhile ( p1 >= 0 ) {

// consume p1 and p2status = . . .;uSuspend; // restart Cons::delivery

} // while}; // main

public:int delivery( int p1, int p2 ) {

Cons::p1 = p1;Cons::p2 = p2;uResume; // restart Cons::mainreturn status;

}; // delivery}; // Cons

int main() {Cons cons; // create consumerProd prod( &cons ); // create producer

prod.start( 10 ); // start producer} // main

$ 9M_bV = 5 ! � � � e 5 Z 9 �4d(E = EoV61?9M@65 � = E#C>Vnch5 = �Bd(Eo@n7?V Z 5 =

: � ��� ���'� �� � � � �� �����)� ��� � ������� � � � � � ���

� ���������.+.� � �� ���� � + �

uCoroutine Prod {Cons *c;int N, money, status, receipt;

void main() {int p1, p2;// 1st resume starts herefor ( int i = 1; i <= N; i += 1 ) {

. . . // generate a p1 and p2status = c->delivery( p1, p2 );if ( status == . . . ) . . .

} // forc->delivery( -1, 0 );

}; // mainpublic:

int payment( int money ) {Prod::money = money;. . . // process moneyuResume; // restart prod in Cons::deliveryreturn receipt;

}; // paymentvoid start( int N, Cons *c ) {

Prod::N = N;Prod::c = c;uResume;

}; // start}; // Prod

uCoroutine Cons {Prod *p;int p1, p2, status;

void main() {int money, receipt;// 1st suspend starts herewhile ( p1 >= 0 ) {

// consume p1 and p2status = . . .receipt = p->payment( money );

} // while}; // main

public:Cons( Prod *p ) { Cons::p = p; };int delivery( int p1, int p2 ) {

Cons::p1 = p1;Cons::p2 = p2;uResume;// restart cons in Cons::main 1st time// and cons in Prod::payment afterwardsreturn status;

}; // delivery}; // Cons

int main() {Prod prod; // create producerCons cons( &prod ); // create consumer

prod.start( 10, &cons );// start producer} // main

$ 9M_bV = 5 ! � � �$nV TYT �4d(E = EbV61N9M@65 � = E#C>Vnch5 = �Bd(Eo@n7?V Z 5 =

� � � � � � ��� ����� �� � ��������� ����� :Kp

< EP9M@#1 � 9M1B3 = 587 < 58c 1�1BE chE = EbV61N9J@[5 chEo@>1 = E T #gE �Hi �mVn7N1lRb7lR�7N1B5 < RP1lRFcAR TYT E =l= 5A14V = @ 5A@nC[7V < RP1�14365HchE =B= 58ch1 5/�658c V61?9MEb@ < E89M@>1 � 9M1B3 = 587 < 58ch1 14EF7?V6! = EbV[1?9M@65 c Eb@#1 = E T #nE�� � � @>9M1?9 R TYT "Ki� ��� ��Ro7 � E = 7?5F1B3gRP@ � ��� � 9M143 = 587 < 58ch1l1BE OWE T T E�� 9M@6_ chE = EbV[1?9M@65F5��65DchV61?9MEo@ ! 5DcARPVn7N5! = 58R � < EP9M@>1 7�cAR8@ @[Eb1�!n5S7?5A1F9J@27?E Z 5 < R = 1m7UE8O 14365 � d! " �K5 = @65 T Ro7 Z 5A@>1N9MEb@658C 9M@e 58c 1?9MEb@ ' �Jp �Jpbi#1B3#Vn7 9M1 ��Rb7�9 Z�< EK747L9M! T 5�14E�5AIK5^@ % ' � ��9M@>14E�14365�c Eb@#1B5��[1�7 � 9M1mcm3 = EoV61?9M@65H14E_b5^1�1BEF1B365HEb14365 = chE = EoV61?9M@65Ki ��3>9 cm3 9 7 < EK7B7:9M! T 5 � 9M1B3 � ��� �

� 365�Eo@ T " 74cf365 Z 5RAIoRD9 T RP! T 5 14E R <#= Eb_ = R Z�Z 5 = Vn7:9M@6_ 1B3[5�E T C�IK5 = 7L9MEb@ E8O � ��� ��Ro71BE 5�� <>T 9 cf9M1 T " 7?5A1 ! = 58R � < EP9M@#1m7 RAOW1B5 = 58Rocf3 uSuspend

R8@nCuResume

1BEScARP1 cf3 c Eb@#1 = E T#nE�� RDOW1B5 = 1B365�chEo@>145��61 7 � 9M1mcm3�� d T 58R =BT "Ki 143>9 7�R <6<>= E Rbcm3 9 7�1B5DC]9MEbVn7FRP@nC 5 =B= E = � <>= Eb@65 �� E 7NE T IK5H1B3>9 7 <>= Eo! T 5 Z i>9M1 9 7 < E 7B7:9J! T 5F1BEFc^R T chV T RP145�14365RbC6C = 587B7 9M@ 1B365HEb14365 = chE = EoV61?9M@65��365 = 5 9M1.9 7 = 5 �LRbch1N9MIbR81B58C O = E Z 9M1m7 7N1mRoc �H9J@#OWE =mZ RP1N9MEb@�i614365A@ 9 ZF<>T 5 Z 5A@#1(R % ' � �E < 5 = RP1?9MEo@!#"u7N5A1B1N9J@[_ R�! = 58R�� < E89J@#1FRP1 143nRP1FRoC6C = 587B7 R8@nC chEb@#1?9M@#V>9M@6_ 14365 5��[58chV[1?9MEb@�� ��E�� 5AIK5 = icAR T c V T RP1?9M@6_ 14365 = 5 �LRbch1N9MIbR81?9MEb@ RoC6C = 5D7B7 9 7�RU@[Eb@ �/1 = 9JIK9 R T 1mRb7 � i !n58cARPVg7?5F1B365 T E#cAR81?9MEb@ EPO1B3[5 = 5A14V = @FRoC6C = 5D7B7 Eo@�14365l7?1 Rbc.� 9 7(R = cf3#9J1458ch14V = 5lC>5 < 5^@nC>5A@#1 � 0 @FR T 145 = @gRP1?9MIK5`R <6<#= EKRocf3 i��3>9 cm3 � 7NV6!n7?5D\]V65^@>1 T " RbC#E < 1458C i>9 7 14E T EKE ��RP1�14365 T E#cARP1N9MEb@n7 ��3[5 = 5�14365�5��[58chV[1?9MEb@ 5A@nC[7V < RDOW1B5 = 5��[58chV61N9J@[_ uResume

R8@nCuSuspend

� � 3[5 = 5 R = 51B3 = 5A5 < E 7B7L9M! T 5 T E#cARP1N9JEo@n7 OWE =

uResume�

1 9M@>9M1?9 R81B587chE = EbV61N9J@[5 � 7 main = EbV61N9J@[5Ki ��3>9 cf3 Eb@ T " E#cAc V = 7�Eb@gch5 ��3[5A@ uResume9 7

cAR TYT 5DC�OWE = 1B365 X6= 7?1�1?9 Z 5 � � 365 X[= 7?1 = EbV61N9J@[5�5A@nchEoV6@#1B5 = 58C�Eb@ 7N1mR = 1?9M@6_FRHchE = EoV61?9M@659 7

uCoroutineMain::uCoroutineMaini ��3#9;cm3 9 7 9M@n7N5 = 1458CU!#" 1B3[5 1 = R8@n7 T RP14E = �

1 = 5 �NRoch1?9MIoRP14587�1B365chE = EbV[1?9M@65 � 7 mainRP1l1B365 T Rb7N1 uSuspend

7N1mR81B5 Z 5A@#1 � � 365H1 = RP@n7 �T RP1458C = EbV61N9M@65�143nRP1�9 7 = 587?1 R = 1458C�9 7 uBaseCoroutine::uCoSuspend

1 = 5 �NRoch1?9MIoRP14587FRP@6Eo1B365 = chE = EbV[1?9M@65 � 7 mainRP1 14365 T Rb7?1 uResume

� � 3[5U1 = R8@n7 T RP1458C

:1� ��� ���'� �� � � � �� �����)� ��� � ������� � � � � � ���

= EbV61N9J@[5�1B3gRP1�9;7 = 5D7?1mR = 1458C�9;7 uBaseCoroutine::uCoResume�

� 365 = 5�9;7�Eb@[5 < E 7B7L9M! T 5 T E#cARP1N9JEo@�OWE = uSuspend�

1 1 = RP@g7LOW5 = 14E T Rb7N1 uResume7?1mR81B5 Z 5A@#1 � � 365H1 = RP@g7 T RP1458C = EoV61?9M@651B3nR81 9 7 = 587N1mR = 1B58C

9 7uBaseCoroutine::uCoResume

e 1B5 <6< 9M@6_�9M@>14E 1B365 1 = R8@n7 T R81B58C chE#C>5�OWE = uResumeE = uSuspend

9;7�14365A@ Z E#C]9 X 58C9M@>14E �

p � e 5^1B1?9M@6_ 145 ZF< E = R = " ! = 58R � < EP9M@#1m7 RP1 14365 5A@gC EPO 1B365 OWV6@nch1N9JEo@n7

uCoroutineMain::uCoroutineMaini

uBaseCoroutine::uCoSuspendR8@nC

uBaseCoroutine::uCoResumeOWE = uResume

i E = RP1 14365 5A@nC E8O 1B365 OWV[@nc �1N9JEo@

uBaseCoroutine::uCoResumeOWE = uSuspend

� � 365^@ R�chEo@>1N9M@>V65 E < 5 = R81?9MEb@9 7 < 5 = OWE = Z 5DC �

� �l0�@6E =mZ R T 7L9M@6_ T 5F7?1B5 <6< 9M@6_FE < 5 = R81?9MEb@ � % ' � �

0 OW1B5 = 1B3[5�c Eb@#1?9M@>V[5UE < 5 = R81?9MEb@�i�14365 <>= Eo_ = R Z 3nRb7 5��[58chV61458C 1B3 = EbV[_b3 14365�chEb@#1B5/�617 � 9M1 cf3 1BE 1B3[5 Eb14365 = chE = EbV61N9J@[5�R8@nC 7N1BE < 7�R81 1B365 T Rb7N1 T 9M@65 9J@ Eb@65 E8O�14365 1 = R8@n7 T R81B58C= EoV61?9M@65D7hi�R8@nC 14365 7N58chEo@nC 7N1B5 <[< 9M@6_�E < 5 = RP1N9MEb@ 1 = RP@n7:OW5 = 7H1BE 1B365F5�� < 58ch1B5DC T E#c^RP1?9MEo@ 9M@1B3[5 Eo1B365 = chE = EbV61N9J@[5 � � 3[5�1B5 Z�< E = R = " ! = 5DR � < E89M@>1 7�R = 5 14365A@ = 5 Z E8IK58C �

� 3>Vg7hi69J1�9 7 @[E � < E 7B7:9J! T 5F1BE OWE TYT E�� chE = EbV61N9J@[5 5��65DchV61?9MEo@ � 9M143 � ��� Ro7 58Ro7L9 T " Ro7 9M19 7 14E�OWE TYT E�� 7?V[! = EoV61?9M@655��65DchV61?9MEo@��

� � � ���� � � � ��� � ��� ��� � ��� � � � � :1�

� �� ��� � � � �� ���� �� � � � � � � � �

� @�143>9 7.cm3nR < 1B5 = i � <>= 587?5A@#1B5DC 1B5Dcf36@#9;\KV6587 OWE = C>5A!6V6_o_P9M@6_H1 = RP@n7 T RP1B5DC�chE#C#5 9J@#IKE T IK9M@6_H! Eo1B3@6E =mZ R T OWV[@nch1?9MEo@n7 R8@nC chE = EbV61N9M@65�OWV6@nch1N9JEo@n7 � � @ E = C>5 = OWE = 1B3[587?5�1458cm36@>9 \]V[587.14E � E = �&i]9M19 7 5D7B7?5^@>1N9;R T 14E X @nC 1B365H5��gRbch1lRoC6C = 587B7N587 E8O(1B3[5 9M@n7N5 = 1458C OWV[@nch1?9MEo@n7 � ��E�� 5AIK5 = i#7?E Z 5EPO1B3[587?5 OWV[@nch1?9MEo@n7 Z RA" !n5 9M@ T 9M@65Ki&RP@nCF365A@nch5`1B365 = 5 Z RA"�!n5 Z V T 1N9 <>T 5�c E < 9M587(EPO,1B365�9M@ T 9J@[5OWV6@nc 1?9MEb@n7 9M@ 1B3[5�5��[58chV[1mRP! T 5 � $nE = 5��gR ZF<>T 5Ki 14365 _b@#V d! " chE ZF< 9 T 5 = IK5 = 7:9MEb@ � � rU3gRb71B3#9;7 <>= Eb! T 5 Z i6!6V61�9M1 9 7 = 587NE T IK58C�9M@�IK5 = 7L9MEb@ � � : �

� 36587N5�1B5Dcf36@#9;\KV6587FR T 7NE C>5 < 5A@nC Eb@ 14365U9 ZF<>T 5 Z 5^@>1 RP1?9MEo@ EPO � d! - ��0 @>" cf3nR8@6_b5D7= 5 T R81B58Cu14E�1B3[5�9M@n7?5 = 1B58C chE#C#5 � 5 � _ �Ji,cf3nR8@6_P9M@6_ 14365 @nR Z 5 E8O`RUOWV6@nch1N9JEo@ �= 5D\]V>9 = 587 14365C>5A![V6_b_o5 = 14E !n5 Z E#C]9 X 58C�Ro7 ��5 TYT � ��E���5AIK5 = iK143>9 7 <>= Eb! T 5 Z 9 7 Z 9M1?9M_ RP1B5DC 7?E Z 5 ��3nR81 !#"RP!g7?1 = Rbch1N9M@6_ 7 < 58cf9 R T 9M@n7?5 = 1B5DC OWV6@gch1?9MEb@S@nR Z 587 9M@#1BE R 1 RP! T 5 � 9M143u1B365 9 = chE =4= 587 < Eb@nC]9M@6_Rbc 1?9MEb@n7�� � 365 = 5hOWE = 5Ki�9M1�9 7�IK5 = "u58Ro7?" 1BEScf3gRP@6_o5�1B3[5�@nR Z 587 EPO 7 < 58cf9 R T OWV6@nch1N9JEo@n7hi�E =RbC[C @[5 � 7 < 58cf9 R T OWV6@nc 1?9MEb@n7�R8@nC 1B365 9 = Rbch1N9MEb@n7�� � 3657 < 5Dcf9 R T OWV[@nch1?9MEo@U1 RP! T 5�9 7�7?36E���@�9M@� RP! T 5 ! �Jp �

$ 9M@nR TYT "Kin1B365 = 5 9 7lR chEK7N1lRb7B7NE#cf9 RP1458C � 9M1B3�7BcAR8@6@>9M@6_F1B3>9 7�1mR8! T 5�C#V = 9M@6_ 7?145 <6< 9M@6_[i !6V[11B3[5�c EK7?1lEPO.7?58R = cm3>9M@6_�143>9 7 1 RP! T 5H9;7 9M@n7L9M_o@>9 X cARP@#1chE ZF< R = 58C 1BE 1B3[5 chE 7?1�EPO.7?5A141?9M@6_ RP@nC= 5 Z E8IK9J@[_ ! = 58R�� < E89J@#1m7l@65A58C>5DC�OWE = 1B365D7?5C>5A!6V[_b_b5 = chE ZFZ R8@nC67��

: ' ��� ���'� �� � � � �� �����)� ��� � ������� � � � � � ���

eK< 58cf9 R T � @n7?5 = 1B58C $nV6@nc 1?9MEb@ e 145 <6< 9M@6_ 0�ch1N9JEo@uCoroutineMain::~uCoroutineMain

@[5��61uBaseCoroutine::uBaseCoroutine

@65/�61uCoroutineDestructor::uCoroutineDestructor

@65/�61uSerialMember::uSerialMember

7N1B5 < i = 5A1BV = @�7?145 <uSerialMember::~uSerialMember

7N1B5 < i = 5A1BV = @�7?145 <uSerialDestructor::uSerialDestructor

@[5��61uSerialConstructor::~uSerialConstructor

@65��[1uSerial::uSerial

@65��[1uTaskMain::uTaskMain

7N1B5 < i = 5A1BV = @�7?145 <uBaseTask::uBaseTask

@65/�61uTaskDestructor::uTaskDestructor

@65��[1uTaskMain::~uTaskMain

@[5��61uCondition::uS

@65��[1uCondition::uW

@65��[1uSerial::uAcceptStart

7N1B5 < i = 5A14V = @�7?145 < i[7?1B5 <uSerial::uAcceptEnd

@65/�61uSerial::uAcceptTry

@65/�61uSerial::uAcceptTestMask

@65��[1uSerial::uAcceptElse

@65/�61uTraceInit::uTraceInit

@65��[1uTraceSuspend::uTraceSuspend

7N1B5 < i = 5A1BV = @�7?145 < i67N1B5 <uTraceResume::uTraceResume

7?145 < i = 5^1BV = @�7N1B5 < i67?145 <uTraceResume::~uTraceResume

7?145 < i = 5A1BV = @�7?1B5 <uTraceDestructor::uTraceDestructor

@[5��61uTraceMain::~uTraceMain

@65��[1uTracePetition::uTracePetition

@65/�61uTraceAcceptStart::uTraceAcceptStart

7?1B5 < i = 5A14V = @�7N1B5 < i[7?145 <

� RP! T 5 ! �Jp�� eK< 58cf9 R T � @n7?5 = 1B58C�d(E#C>5 � 9M1B3 0`ch1?9MEb@g7

� � ��� ��� � �

��� � � � � ����� � � � � � � � � � � � � �

Q 3>9 T 5#� ��� ��Ro7 E = 9M_P9M@nR TYT "uC>5D7L9M_b@65DC�1BE 7NV <6< E = 1 Z V T 1?9 <>T 5 R = cm3>9M1B5Dch1BV = 587hi>9M1 � Rb7 Eo@ T "9 Z�<#T 5 Z 5A@#1B5DC Eb@ 14365 e ��0 � d R = cf3#9J1458ch14V = 5 9J@ R G � � 5A@>IK9 = Eo@ Z 5^@>1 � � 3#Vn7 i � 9 Z �

<>T 5 Z 5A@#1B58C � ��� Eo@ 1B365 � @#1B5 T ' )oruR = cf3#9J1458ch14V = 5 9J@ R + 9M@>V"� 5A@#I]9 = Eb@ Z 5A@#1�OWE = 143 = 5A5= 5DRb7?Eo@n7��

1 14EuC>5^1B5 = Z 9M@65�9YOH14365 E = 9J_89M@nR T C#587L9M_b@ 9 7�1 = V T " _b5A@[5 = R T 9��A5DC 1BES7?V <6< E = 1 Z V T 1?9 <>T 5R = cm3>9M1B58ch14V = 5D7hi

1 14E�_b5A1� ��� = V6@6@>9M@6_Eb@FR8@�9 ZF< E = 1 RP@#1AiKVn7?5 OWV Tn<>T RP1NOWE = Z Vn7?58C�!#" Z RP@#"7?14VnC>5A@#1m7��+ 9M@#V-��inR8@nC

1 !n58cAR8Vn7?5 T 58R = @>9M@6_ 36E���1BE 9 Z�<>T 5 Z 5A@#1�Vn7?5 = � T 5^IK5 T ! = 5DR � < E89M@>1 7 Eb@ C]9"! 5 = 5A@#1�R = cm3>9 �1458ch1BV = 587(365 TM< 7�1BE 5��[1B5A@gC � ��� 1BE = V6@ 9M@�R�365A145 = Eo_b5A@65^EbVn7�C]9 7N1 = 9M!6V[1B58C�5A@#IK9 = Eb@ �Z 5A@#1.9M@�14365�OWV61BV = 5 �

� @>145 T ) � � )br chE Z�< V[1B5 = 7�R = 5�d � e d Z Rbcm3>9M@6587 ��3>9 cm3uR = 5 IK5 = " C]9"!&5 = 5A@#1 O = E Z � � e dZ Rbcm3>9M@6587 7?Vncm3 Rb7 e ��0 � d chE Z�< V[1B5 = 7 � � 3>Vg7hi�R 7L9M_b@#9 X cARP@#1 R Z EoV6@>1 E8O � E = � ��Ro7

:1!

:8r ����� �'��� � � �� � � � ��� ��� � ��� ����� � � ���

9M@>IKE T IK58C 9M@ < E = 1?9M@6_#� ��� 14E�1B3[5 � @#1B5 T ' )or R = cm3>9M1B5Dch1BV = 5 � 0 T 7?E1B3>9 7 CK9 !&5 = 5A@nch5 = 5D\]V>9 = 58CRbC[C]9M1?9MEb@nR T _b5^@65 = R T 9 �DRP1?9MEo@�9M@�14365R = cf3>9M1458ch1BV = 5�E8O(1B3>9 7lchE ZF< Eb@65^@>1�E8O� ��� �

� � � � � � ��� � � � � � � � � � �� ��� � � ��

� @�� ��� if9 Z�<#T 5 Z 5A@#1?9M@6_`RP@gC = 5 Z E8IK9J@[_�! = 58R�� < E89J@#1m7�9J@1B365,1mR = _b5A1,R <[<>T 9;c^RP1?9MEo@�9 7 RbcAchE Z �

<>T 9 7?365DC�!#" Vn7L9M@6_ 7�G-9�BC<4= E = � 7;9�:;< � � @ + 9M@#V-��i&1B365 7;G49;B;<4= 7?"[7?145 Z cAR TYT 9 7�7NV <6< E = 1B58COWE =l<#= E#ch58747�chEb@#1 = E T � + 9J@#V-��C#EK587 <>= E8IK9 C>5R � 7�9;:;< X6T 57?"[7?145 Z �K36E���5AIK5 = ib9M1�9;7�CK9 !&5 = 5A@#1O = E Z 14365 G � � e � � ' � 7�9�:C< X6T 5 7?"[7?145 Z � � 365 e � � ' � 7�9�:C< � <>= E#ch587B7 X6T 5�7?"[7?1B5 Z 9 7 R X6T 5�7?"[7?1B5 Z 143nRP1 <>= E8I]9 C>587RbcAc 587B7�14E 1B365�9 Z RP_o5UE8O�5DRbcm3 <>= E#c 587B7 9M@ 1B365 7?"[7?1B5 Z �

� 365 + 9M@#V-� � 7;9�:;< � <>= E#ch58747�9M@>OWE = Z R81?9MEb@ < 7?5AVnC#E � X6T 587?"[7?145 Z 9 7 R < 7?5AVnC#E � X6T 587?"[7?145 ZVn7N58C Rb7lRP@ 9M@>145 = O/Roch5H1BE#�K5 = @65 T C6RP1 R�7N1 = Vnch1BV = 587 = RP1B3[5 = 1B3nR8@ = 58RbC]9M@6_ RP@gC 9M@#1B5 = <>= 5^1?9M@6_� KC=�� � �H@T=Q@ �

� 365�+ 9M@>V"� 7�G-9�BC<4= cAR TYT 9 7 IK5 = "�7:9 Z 9 T R = 1BE 143nRP1lOWEbV6@nC�9M@ e V6@ j e in!6V61 � 9J143�OW5 � 5 =E < 5 = RP1N9JEo@n7 � � 365�OWE T T E�� 9M@6_uE < 5 = RP1N9MEb@n7F7?V <[< E = 1458Cu!>" e V6@ j e R = 5 @6Eo1 7?V <6< E = 1458C !#"+ 9M@>V"� �

��� � ����� ��� �� � ����� ������� � V�=JG B;F-FL9�=JV�5�>IG�=J9#> � �

��� � ��������� �� � ����� ������� �E>S=JG B;F-FL9�=JV�5�>IG�=J9#> � �

��� � ����� ��� ����� � ����� �����! � V�=JG B;F-F �FS:4BSGM583;VL7�:;583;GR9�=JV#> � �

��� � ��������� ����� � ����� ������" �E>S=JG B;F-F �FS:4BSGM583;VL7�:;583;GR9�=JV#> � �

��� � ����� � ��� � ��� � � ������# � 9�=SB4KRK4B?G�B >?=HVH@T=83;G � �

��� � ������$ &%'� � � ��� � � ������( �*)49M5HG�= K-BSG;B >S=HVJ@U=I3�G � �

��� � ����� � ����� ��+ � � ������, � 9�=SB4K G�=�-4G >?=HVH@T=83;G � �

��� � ������$ &%'� � � ��+ � � ������. �*)49M5HG�=LGM=�--G >S=HVJ@U=I3�G � �

� � � �%� ����� � � ����� � �� ����� ��� � � ���� � � � � ��� :�:

��� � ����� ��� ���� �� � ����� ��� � � � V�=JG B;F-F S7�BR9�=JV#> � �

��� � ��������� ���� �� � ����� ��� � � �E>S=JG B;F-F S7�BR9�=JV#> � �

��� � ����� ��� � ��� � � ��� ��" � KJ2S@;7R7�9;:;<-=�>4> < :?9�= � �

��� � ��������� � $ ������� � ��� ��# �E>S=JG )49M5HGM=AN;9�= B �S7�:;583;G � �

��� � ��������� � � � ������ � ��� ��( �E>S=JG B;<-<4=;>4> N�9�=SB �?7C:;5I3�G � �

� @ + 9J@#V-� i ��� � ���&� ��� ��� � RP@gC ��� � ���&� � � � � � Z Vn7N1 ! 5 Vn7N58C 14E _b5A1 RP@gC 7N5A1 R<>= E#ch587B7 � 7 = 5^_P9 7?145 = 7�� � 365 chE#C>5�OWE = _o5A1B1N9J@[_�R8@nC 7?5A141?9M@6_ R <>= E#ch5D7B7 � 7 = 5A_89;7N1B5 = 7 9J@ � �����Ro7 = 5 � = 9M141B5A@ OWE = + 9M@>V"���

� �� � � � ��� � � � � � � � ��� � � � � � � � �

� @>145 T )�� �&)or chE ZF< V6145 = 7�R = 5Fd � e d Z Rbcm3>9M@6587`RP@nCU9M@n7N1 = Vgch1?9MEb@g7�R = 5�E8O IoR = 9 RP! T 5 T 5A@[_b1B3 �� 3#Vn7hi�9J1�9 7 Z Vgcf3 3nR = C>5 = 1BE�C>5DchE#C>5 )�� � )brU9M@n7N1 = Vnch1?9MEo@n7�1B3nR8@u1BE�C>5DchE#C>5 e ��0 � d 9M@ �7?1 = Vnc 1?9MEb@n7��H0 TYT 9M@n7N1 = Vnch1?9MEo@ 5A@gchE#C]9M@6_K7HR = 5 7NV6!n7N5A1m7 E8O�1B365_b5A@65 = R T 9M@n7?1 = Vnc 1?9MEb@ OWE = Z R811B3gRP1 chEb@n7:9 7?1m7 EPO`E < 1?9MEb@nR TH<>= 5 X �[587hi�Eo@65�E = 1 ��E <>= 9 Z R = " E < chE#C>5�!#"#1B587 i < E 7B7:9J! T " R8@RbC[C = 58747H7 < 58cf9 X 5 = chEo@n7L9 7N1?9M@6_ EPO 1B365 a E#C � 9 a !#">145FRP@nC 1B365 e � � �Ne cAR T 5 � @nC>5�� � Rb7?5 !#">145Ki(R C]9 7 <>T Roch5 Z 5A@>1^i 9YO = 58\KV>9 = 5DC i(RP@nC R8@ 9 Z�Z 58C]9 R81B5�C6RP1 R X 5 T C i�9YO = 58\]V#9 = 58C � � 3657?3[E = 14587?1�9M@n7N1 = Vgch1?9MEb@ 9 7�p !#">145 9M@ 7:9 �^5Ki#RP@nC�14365 T Eb@6_o587?1(9M@n7?1 = Vnch1N9MEb@ � 9M1B36EoV61 = 58C>V6@nC[RP@#1<>= 5 X �[587.9 7 p !�!#">14587 T Eo@6_�OWE = 1B3[5 � @#1B5 T '*)br �

������� *!$������� $ ��& �R"%,-� � C� � � �M��" � ���U$'� * �;$/��"

� 365(! = 58R � < EP9M@>1,3nRP@nC T 5 =�Z Vn7N1 7BRAIK5�14365�7?1mR81B5�EPO&R Vn7N5 = � T 5AIK5 T 143 = 58RoC io7?E ��365A@H5��[58chV61N9JEo@chEo@>1N9J@#V6587 i�1B365�74R Z 5�7N1mR81B5 cAR8@ ! 5 = 587?14E = 5DC � � 3>9 7 Roch1?9MEb@ 9 7�Rocf3>9M5AIK5DC !>"S7BRAIK9M@6_uR TYT

:�) ��� ���'� �� � ���� � � � ��� ��� � ��� ����� � � ���

= 5^_P9 7?145 = 7�R8@nC T E RbC]9M@6_�1B365 Z !gRbc.�U9 Z�Z 58C]9 R81B5 T "�!n5hOWE = 5 5��[58chV[1?9MEb@ chEb@#1?9M@#V6587hi ��3>9 cf3�9 77?3[E ��@ !>"1B365`cAR TYT 7 saveApplicationState()

R8@nCrestoreApplicationState()

9M@ $ 9J_oV = 5�' �Mp �jl@ 1B365 � @#1B5 T '*)br>i�1B365 e 1mRbc.� � $ = R Z 5 � Rb7?5 ��E89M@>145 = � � � � = 5A_P9 7?145 = 9 7�R8V61BE Z R81?9 cAR T T "7BRAIK58C !#" < Vn7?3>9M@6_F9J1lEb@�1BE 143657?1mRoc �&inRP1�143657?1 R = 1lEPO 58Rbcm3 OWV6@nch1N9JEo@�inRb7l7?3[E ��@�!n5 T E � �

pushl %ebp

movl %esp,%ebp

� 365RbC[C]9M1?9MEb@nR T(= 5A_89;7N1B5 = 7 R = 5H1B3[5A@�7BRAIK58C !>" �

pushal # save all 32-bit general registers

pushf # save the EFLAGS register

� Eo1B5(1B3nR81 pushalRP@nC

pushf < Vn7N3 q OWEbV = �:!#"#1B5 = 5A_89 7?1B5 = 7 Eo@>14E 14365�7?1mRoc � � 7?5^5 $ 9J_oV = 5 r �Mp �e 9M@nch5 14365 cAR TYT 5^5�9;7 = 587 < Eo@n7L9M! T 5 OWE = 74RAI]9M@6_u14365�_o5A@65 = R Tl= 5A_89 7?1B5 = 7hi�14365A" Z Vn7?1F!n5

7BRAIK58C 9M@ 14365 ! = 5DR � < E89M@>1H3nR8@nC T 5 = � d(Eb@gC]9M1?9MEb@ chE#C>5D7 � 5 � _ �Mi cAR =B= "Ki�7L9M_o@�i�EPIK5 = #nE�� RP@nCZ E#C>5H!>9M1m7�R = 5��K5 < 1(9J@�1B365 ��� �/!>9M1 = 5A_89 7?1B5 = � $+�0 � e i ��3>9 cf3 Z Vn7N1�!n5�74RAIK58C Rb7 � 5 TYT �

� O�14365 ! = 58R�� < E89J@#1 9;7FR <[<>T 9;c^RP! T 5 1BE 14365�chV =4= 5A@#1�143 = 58RoC i(1B365 ! = 58R � < EP9M@>1F3nR8@nC T 5 =cAR T T 7 1B365 T E#cAR T C#5A!6V6_o_b5 = 14E @6Eb1N9 OW" 14365 _ T Eo!nR T C>5A![V6_b_o5 = � � 3#9;7 cAR TYT R8V61BE Z R81?9 cAR T T "7BRAIK587�1B3[5 = 5^_P9 7?145 = 7�Ro7 < R = 1lEPO�1B365 7?1 RP@nC6R = C cAR TYT 9M@6_ chEb@#IK5A@#1?9MEb@ � Q 3[5A@�14365�143 = 58RoC 9 7chEo@>1N9J@#V658C&i61B365 = 5^IK5 = 7N5 9M@n7N1 = Vnch1?9MEo@n7�R = 5�5��[58chV[1B58C iK!n5hOWE = 5 c Eb@#1 = E T 1 = RP@n7:OW5 = 7�!nRbc.��9M@#1BE1B3[5 R <[<>T 9;c^RP1?9MEo@ E = !n5hOWE = 5�14365 1B5 ZF< E = R = "�chE#C#5�9;7l5��65DchV61B5DC � � 3>9 7 = 587?14E = 5 9 7HC>Eb@65 !#"1B3[5�c^R TYT restoreApplicationState()

7?3[E ��@ 9M@ $ 9M_bV = 5�' �Mp�R8@nC 9 7l7?36E���@�!n5 T E�� �

movl %ebp,%esp

subl $36,%esp

popf

popal

� � � �%� ����� � � ����� � �� ����� ��� � � ���� � � � � ��� :8q

Current Stack Frame

Next Stack Frame

EIP (return address)

EBP (previous stack frame)

OLD ESP

EBX

EDX

ECX

EAX

EBP

ESI

EDI

EFLAGS

Space for the Current Function

%EBP

%ESP

%EBP - 36 (pushf)

%EBP - 32 (pushal)

Stack Growth(decreasing memory address)

Previous Stack Frame

(breakpointHandler)

$ 9M_bV = 5 r �Mp�� � 365H! = 5DR � < E89M@>1 �HRP@nC T 5 =�e 1 Rbc.� $ = R Z 5

)�� ��� ���'� �� � ���� � � � ��� ��� � ��� ����� � � ���

������� �� C"%$/��� � � �M��" � " . $ �' �$/ ;+ ��,-�4 6���6���(� �,

jl@�1B3[5 e ��0 � d � RP@gC Z EK7N1 Eb14365 = � � e d Z Rbcm3>9M@6587 i R O/Ro7?1 ! = 58R � < EP9M@#1 � 7?5^5 e 58c �1?9MEo@ � � � � � 9 7�9 Z�<>T 5 Z 5A@#1B58C !>" = 5 <#T Rocf9M@6_ 1B365 E = 9M_P9M@nR T 9M@n7N1 = Vnch1?9MEo@n7 � 9M1B3 R < BCF4F 9M@ �7?1 = Vnc 1?9MEb@u14E R ! = 58R�� < E89J@#1�3gRP@nC T 5 = i OWE TYT E�� 58C !#" R 3C:J7 9M@n7?1 = Vnc 1?9MEb@ � 14365 C>5 T RA" 7 T Eb1 �e 9M@nch5 d � e d Z Rbcm3>9M@6587HC>E @6Eo1 = 58\KV>9 = 5 C>5 T RA" 7 T Eo1m7 RAOW1B5 = 1 = R8@n7LOW5 = 7hi Eb@ T " 1B3[5 < BCF4F 9M@ �7?1 = Vnc 1?9MEb@H9;7�9J@g7?5 = 1B58CHRP1 1B3[5 RoC6C = 587B7 E8O614365 ! = 58R�� < EP9M@#1 � � 365 � @#1B5 T ' )br < BCF4F 9M@n7N1 = Vnch1?9MEo@9 7 ! !#">14587 T Eb@[_6i ��3>9 cf3F7 < RP@g7 14365 5^@>1N9 = 5 ��� !#9J1 RbC6C = 587B7,7 < Roch5 � �`E ��5AIK5 = iA1B365�@#V Z !n5 = EPO!#">14587.14E�!n5 = 5 <#T Roch58C cAR8@U!n5HV < 1BE p^q�!#"#1B587 T Eo@6_ � 5 � _ �Ji[R ' !>"#1B5l9J@g7?1 = Vnch1N9JEo@�OWE TYT E�� 58C!#" R p�! !>"#1B5�9M@n7N1 = Vnch1?9MEo@ � � 3#Vn7 i�7?E Z 5 3C: 7 9J@g7?1 = Vnch1N9JEo@n7 3nRAIK5 1BE�!n5 9M@n7?5 = 1B58CSRDOW1B5 =1B3[5 < B;F-F 9M@n7?1 = Vnch1N9MEb@�9YO Z E = 5H1B3nR8@ ! !>"#1B587(EPO(E = 9M_P9M@nR T 9M@n7?1 = Vnc 1?9MEb@n7`R = 5 = 5 <>T Rbch5DC �

� @>145 T '*)br chEo@nC]9M1?9MEo@nR T �mV ZF< 9J@g7?1 = Vnch1N9JEo@n7 � Jcc cARP@�! 5 ��E = r !#">14587 T Eb@6_ � $nE = 14365��!#">145 T Eb@6_ 9M@n7?1 = Vnch1N9MEb@�in1B365 C]9 7 <>T Rbc 5 Z 5^@>1lRoC6C = 5D7B7 = R8@6_b5D7.O = E Z p�� ) !#">14587.!n5hOWE = 5�143659M@n7?1 = Vnc 1?9MEb@ 14E p � : !#">14587�RAOW1B5 = 1B3[5 9M@n7N1 = Vnch1?9MEo@�� � 3>Vn7 i 9YOR � !>"#1B5

Jcc9M@n7N1 = Vnch1?9MEo@

9 7 = 5 <>T Rbch58C RP1F1B365�! = 5DR � < E89M@>1 RoC6C = 587B7 i.9M1 Z Vn7?1 !n5 cf3nR8@6_b5DC 1BESRuchE =B= 587 < Eb@gC]9M@6_ r!#">145 T Eb@6_ Jcc

9M@n7N1 = Vgch1?9MEb@g7�7?E�9M1�5��[58chV614587 c E =B= 58ch1 T " RP1�14365H1B5 ZF< E = R = " T E#c^RP1?9MEo@�9J@ 14365! = 58R � < EP9M@>1 3gRP@nC T 5 = � 0 @ V6@nchEo@nC]9M1?9MEo@nR T �mV ZF< 9M@n7N1 = Vgch1?9MEb@ � jmp cARP@ R T 7?E !n5'�UE = !!#">145 T Eb@6_[i.143>Vn7 R ��!#"#1B5

jmp9M@n7?1 = Vnch1N9MEb@ R81 1B365 ! = 58R�� < E89J@#1 RbC6C = 587B7 Z Vg7?1FR T 7NE !n5

cm3nRP@6_o58C 1BE R !�!#"#1B5 T Eb@6_ jmp9M@n7?1 = Vnc 1?9MEb@�� � 365 = 5 OWE = 5 inRP1 T 58Rb7N1 �.:�!#"#1B587 � 5 � _ �Ji6� 1 � E��

!#">145 �mV ZF< 9M@n7N1 = Vgch1?9MEb@g7`OWE TYT E���58C�!#"�R�p�!F!>"#1B5H9J@g7?1 = Vnch1N9JEo@ lZ Vn7?1l!n5 = 587N5 = IK5DC 9M@ 14365! = 58R � < EP9M@>1�3gRP@nC T 5 = 14E 7N1BE = 5�1B3[5 ��E = 7N1lcARb7N5�1B5 Z�< E = R = "�9M@n7N1 = Vgch1?9MEb@g7 � 7?5^5�$ 9M_bV = 5�' �Mp �

� 365 = 5 9 7(R <>= Eo! T 5 Z 9YO,R N�9�B 3#<ID < E89M@>1 7.1BEH14365 Z 9 C6C T 5lEPO 7NE Z 5 9M@n7N5 = 1458C ! = 58R�� < E89J@#19M@n7?1 = Vnc 1?9MEb@n7�� $nE = 5/�nR Z�<>T 5Ki 9M@ � RP! T 5 r �Jpoi R ! = 5DR � < E89M@>1H9;77?5A1R81 T 9M@65 p � � e 9M@nc 5�143659M@n7?1 = Vnc 1?9MEb@ Eb@ T 9J@[5up �U9 7#' !>"#1B5D7 T Eb@6_[i.14365 @65��[1 9M@n7N1 = Vgch1?9MEb@ Eb@ T 9M@65upop R T 7?E @65A58C[7

� � � �%� ����� � � ����� � �� ����� ��� � � ���� � � � � ��� )>p

1BE !n5 = 5 <>T Roch58C 7L9M@nch5 14365FcAR T T 9M@n7N1 = Vgch1?9MEb@u9 7 ! !#">14587 T Eb@[_ � � @ 1B3>9 7cARb7N5Ki : !#">14587�R = 5= 5 <>T Rbch58C 1BEU9 ZF<>T 5 Z 5A@>1H14365�! = 58R�� < EP9M@#1�9M@n7?1 = Vnch1N9MEb@�� � O RU! = RP@ncm3�9M@n7N1 = Vnch1?9MEo@ < EP9M@#1m7RP1 T 9J@[5�pop�E = RbC6C = 587B7 0x800057a

i6RP@gC�9 7 1mR �K5^@ ��3>9 T 5H1B365`! = 58R�� < E89J@#1 9 7 9 ZF<>T 5 Z 5^@>1458C i9M1�5��[58chV[1B587lRP11B365 ! � � !>"#1B5FEPO 1B365

call9M@n7N1 = Vgch1?9MEb@ � � 3>9 7 <>= Eb! T 5 Z 9 7�7:9 Z 9 T R = 14EU14365

7L9M14VnRP1N9JEo@ Eb@u14365 e ��0 � d R = cf3#9J1458ch14V = 5 ��365 = 5 R N�9;BJ36<8D < EP9M@>1 7 14E�1B3[5 RoC6C = 5D7B7 = 9M_b3#1RDOW145 = 1B365F! = 58R � < EP9M@>1 RbC6C = 58747 � 1B365 nop

RAOW1B5 = 14365 call � � E�3gRP@nC T 5F1B3>9 77L9M1BVnR81?9MEb@ Eb@1B3[5 e � 0 � dli81B365`chE#C>5lEPO 1B365lchV =B= 5^@>1 OWV[@nch1?9MEo@�9 7.cm3658c.�K58C�OWE = ! = R8@ncm36587�1BEH1B3#9;7(RoC6C = 5D7B7!n5hOWE = 5�1B3[5 145 Z�< E = R = " c E#C>5 9 7._o5A@65 = RP1B5DC i6R8@nC�9YO,R ! = RP@ncm3F1BE�143>9 7�RbC6C = 58747 9 7�C>5A1458ch1B5DC i1B3[5FRbC6C = 587B7lEPO�1B365 ! = 58R�� < EP9M@#1 9 7HRbC �mVn7N1B58C�!#"� p ��$ E = 1B3[5 9(' )or>ik9YO R�! = RP@ncm3 1BE 1B3>9 7RbC[C = 58747 9;7HC>5^1B58ch1458C i 14365FRbC[C = 58747�EPO�14365 ! = 58R � < EP9M@>1�9 7HRbC �mVg7?1B5DC�14EU14365 !n5A_P9M@6@#9J@[_ EPO1B3[5 @[5��61l7NEbV = ch5 T 9J@[5 �

� �1� �� �/0- & ��+2/67 � �6�� �� �� �+ � ������+�� � � ��� ������������ � ������+�� � � � �������������� p �

0x8000576 movb $0x61,0xffffffff(%ebp) 0x8000576 call _bphandler_0pbp0x800057a movb 0xffffffff(%ebp),%al

0x800057b nop0x800057c nop

� R8! T 5 r �Mp���0 ��Eo1B5A@#1?9 R T � = Eo! T 5 Z

� 365�145 ZF< E = R = " chE#C#5 9M@�14365H! = 58R�� < E89J@#1l3nRP@nC T 5 = OWE = 14365H_b5A@65 = R T c^Rb7?5�9 7l7?36E���@U9M@$ 9M_bV = 5 r � � � � 365 9M@n7N1 = Vgch1?9MEb@g7

movl %ebp,%esp // redo function save

popl %ebp

addl $4, %esp // skip return address

= 5D7?1BE = 5�1B365 T E#c^R T 7N1mRP145 E8On1B365 R <6<#T 9 cAR81?9MEb@ � e 9M@nch5�1B365 call9M@n7?1 = Vnch1N9MEb@ < Vn7?3[587k14365 = 5A1BV = @

)�� ��� ���'� �� � ���� � � � ��� ��� � ��� ����� � � ���

RbC[C = 58747 Eb@#1BE 14365 7N1mRbc.�&i 143>9 7 RoC6C = 587B7 3gRb7 14E !n5 = 5 Z E8IK58C�O = E Z 1B365 7?1 Rbc.�U9M@ E = C>5 = 14E5��[58chV6145�14365 E = 9J_89M@nR T 9M@n7?1 = Vnch1N9MEb@n7 c E =B= 58ch1 T " � � 3[5 chE =4= 58c 1 = 5^1BV = @ RoC6C = 587B7 9 7 < Vn7?3[58CEb@#1BE 14365 7N1mRbc.� RAOW1B5 = 1B365 E = 9M_P9M@nR T 9M@n7?1 = Vnc 1?9MEb@n7FR = 5 5��65DchV61B5DC � 7?36E���@ Eb@ 1B3[5�7N58chEo@nCT Rb7N1 T 9M@65 �

movl %ebp,%esp // redo function savepopl %ebpaddl $4, %esp // skip reuturn address

original instruction 1original instruction 2. . . . .original instruction i // at least 5 bytes

pushl ReturnAddressretl

$ 9M_oV = 5r � � � � 5 Z�< E = R = "�d(E#C#5

� 2S@;7 �� ����������������� �

� 365�R = _bV Z 5A@#1�EPO jccRP@nC

jmp9M@n7N1 = Vgch1?9MEb@g7�R = 5 RoC �mVn7N1B58C ��365A@ Z E8IK58Cl1BEl1B365(1B5 Z�< E = R = "

T E#cARP1N9MEb@�i�7:9M@nch5�14365H1mR = _b5^1lRbC6C = 587B7 9 7 c^R T chV T RP1458C = 5 T R81?9MIK5H1BEF1B365 <>= Eb_ = R Z chEoV6@#1B5 = �

< BCF4F �� �����������������

+ 9(�K5�1B365 � 2 @C7 9M@n7N1 = Vnch1?9MEo@n7hi614365�R = _bV Z 5A@#1�E8O call3nRb7�14E�!n5lRbC �mVn7N1B58C ��365A@�9M1 9 7 Z EPIK5DC

1BE 14365 145 Z�< E = R = " T E#cARP1N9MEb@�� ��E���5AIK5 = i�14365 = 5 R = 5 1 � E <>= Eo! T 5 Z 7 � 9J143 1B3>9 7 � $ 9 = 7N1Ai�R!nRoc �#1 = Rbch5�E8O�14365HchV =B= 5^@>1(OWV6@nch1N9JEo@�cAR TYT 7 ��EbV T C�9M@nc T VnC>5 breakpoint_handler_i()

9J@g7?1B5DRbCEPO14365 cAR TYT 5 = O = E Z 14365�E = 9M_P9M@nR T chE#C#5 � 7N5A5 $ 9J_oV = 5 ' �Jp � $nE = 5��gR ZF<>T 5Ki�R !nRoc �#1 = Rbch5

� � � �%� ����� � � ����� � �� ����� ��� � � ���� � � � � ��� )��

� EoV T C T EKE � T 9(�K5�1B365lEb@[5H7?36E���@�9M@ $ 9M_bV = 5Hr � � 9M@n7N1B58RoC EPO 1B3[5 Eo@65H7?3[E ��@ 9M@ $ 9M_oV = 5Hr � ' �

breakpoint_handler_i()7?36EoV T C @65AIK5 = !n5�7?5A5^@u!>" 1B3[5UVg7?5 = � e 58chEb@gC i 9M@ 1B3[5 5��gR ZF<>T 5

7?3[E ��@ 9M@ $ 9J_oV = 5 r � �>i]9YO(14365�Vn7N5 = 7?145 < 7 143 = EoV6_b3�1B365�OWV6@nc 1?9MEb@ gi>5��[58chV[1?9MEb@ 5A@nC[7 V < 9J@

1B3[5 OWV[@nch1?9MEo@breakpoint_handler_i()

Rb7�1B3[5 Vn7N5 = 7?145 < 7�EbV61 EPO6OWV[@nch1?9MEo@ g� � 3>9 7�7L9M1BVgRP1?9MEo@

cAR8Vn7?587lRP@ 5 =4= E = in7L9M@nc 5�! = 58R � < EP9M@>1 7 c^RP@ @6Eb1l!n5 9M@n7N5 = 1458C�9J@ R�! = 58R�� < EP9M@#1 3gRP@nC T 5 = �

#0 g () at handler.cc:8#1 0x804beb2 in breakpoint_handler_i ()#2 0x8089726 in uMachContext::uInvoke ()

$ 9M_bV = 5 r � � � � @nc E =B= 58ch1 � Rbc.�>1 = Rbc 5

#0 g () at handler.cc:8#1 0x8049ed2 in uMain::main (this=0x80e9c88) at handler.cc:12#2 0x8089726 in uMachContext::uInvoke ()

$ 9M_bV = 5 r � ' ��d(E =4= 58c 1 � Rbc.�>1 = Rbc 5

jl@u1B365 e ��0 � d R = cm3>9M1B58c 1BV = 5Ki 1436587?5 <>= Eo! T 5 Z 7 R = 5 RAIKE89;C#58C !#" <>T Rocf9M@6_uRrestore

9M@n7?1 = Vnc 1?9MEb@ = 9M_b3#1 RAOW1B5 = 1B365 call9M@n7?1 = Vnc 1?9MEb@�� � 3[5 = 5^1BV = @ RbC[C = 58747�9 7 7?5^1�!#" restore

9M@n7?1458RbC E8Ocall

� jl@ 1B365 � @#1B5 T '*)brFR = cf3>9M1458ch1BV = 5KiK1B3[5 call9M@n7N1 = Vnch1?9MEo@U9 7 @6Eb1 Z E8IK58C�9J@#1BE

1B3[5�! = 58R�� < E89J@#1 3gRP@nC T 5 = � � @n7?1458RbC ib9M1�9 7 = 5 <>T Rbc 58C�!>" R jmp9M@n7?1 = Vnc 1?9MEb@ Ro7(7?36E���@ !n5 T E�� �

pushl return_address // 5 bytes

jmp function_address // 5 bytes

) ' ��� ���'� �� � ���� � � � ��� ��� � ��� ����� � � ���

� 3>9 7l7?V6!n7N1?9M1BV[1?9MEb@ EPO,1B365jmp

OWE = 1B365 call X �6587 !nEo1B3�E8O(1B3[5 <#= 5AIK9MEbVn7 <>= Eo! T 5 Z 7 �

� �� � � � ��� � � � � � � � � � � � � ��

� 365 = 5 9;7 @6ESC]9"!&5 = 5A@gch5 9J@ 5AIoR T VnR81?9M@6_ 7N1mRP1N9 cUIoR = 9;R8! T 587�Eo@ 1B3[5 9('*)bruR8@nC e � 0 � d R = �cm3>9M1B58ch14V = 5D7 � � 365 = 5�9 7 7?E Z 5SC]9"!&5 = 5^@nch5�9M@ 5^IbR T VnRP1N9J@[_ = 5^_P9 7?145 = RP@nC T E#cAR T IbR = 9 RP! T 5D7 �0�7 Z 5^@>1N9JEo@658CU9M@ e 58c 1?9MEb@ ' �Jp � �>inIoR = 9 R8! T 587 9M@ chEo@nC]9M1?9MEb@gR T 5�� <>= 58747L9MEb@g7`OWE = c Eb@nC]9M1N9JEo@nR T! = 58R � < EP9M@>1 7 Z RA" ! 5l9J@ = 5^_P9 7?145 = 7 i ��3>9 cm3 Z Vn7?1(!n5`RbcAch5D7B7?5DC�!#" 1B365 T E#cAR T C>5A!6V[_b_b5 = � jl@RP@ 9(' )br#i�Rb7`C>587Bc = 9M!n58C 9M@ e 58c 1?9MEb@ r � � �Jpoi 14365 = 5A_89;7N1B5 = 7�R = 57BRAIK58C ��3[5A@ 1B365! = 58R�� < E89J@#13nR8@nC T 5 = 9 7�cAR TYT 5DC i 9 � 5 �MinRP1l1B365!n5A_P9M@6@>9M@6_�EPO(14365�! = 58R�� < EP9M@#1�3nR8@nC T 5 = � 7?5A5,$ 9M_bV = 5 r �Mp �jl@ R e ��0 � dli = 5A_89 7?1B5 = 7�R = 5F7BRAIK58C�RP1�14365�5^@nCUE8O 14365�Vg7?5 = OWV[@nch1?9MEo@ � 7?5^5 $ 9M_bV = 5#' � ' �� 365RbC[C = 58747 E8O�R = 5^_P9 7?145 = IoR = 9 RP! T 5 Eo@ RP@ 9(' )br�9 7�cAR T c V T RP1B5DC�Rb7

sp - register_offset[register_number]

��365 = 5 sp9 7 14365�7N1mRoc � < EP9M@#1B5 = E8O&1B365�Vn7?5 = OWV6@nc 1?9MEb@ � 7?5A5 $ 9M_bV = 5%' � ! iKRP@nC register_offset

9 7 14365HE ! 7?5^1m7 OWE =l= 5A_89;7N1B5 = 7 7N1BE = 58C Eb@ R�7N1mRoc � �� 365 RbC6C = 587B7�E8O�R T E#cAR T IoR = 9 RP! T 5 Eo@uR8@�9('*)br 9 7HcAR T c V T RP1B5DC 7:9 Z 9 T R = 1BE 1B365 e � 0 � d

cARo7?5Ki

address = EBP + offset

��365 = 5 EBP � fp Eo@ e � 0 � d 9 7.14365�7N1mRoc � � O = R Z 5 !gRb7?5 < EP9M@#1B5 = EPO 1B3[5�Vn7?5 = OWV6@nch1N9MEb@�i#RP@gC

offset9;7�14365 = 5 T RP1N9JIK5 RbC[C = 58747�EPO�14365 T E#c^R T IoR = 9 R8! T 5 � � 365

EBPIoR T V65 EPO�14365 <>= 5AI]9MEoVn7

7?1 Rbc.��O = R Z 5 9 7�C]9 = 58c 1 T " < EP9M@#1B58C 1BE !#"F1B365Hc V =B= 5A@>1 EBPEb@ 1B365 7?1mRoc � � � 365

fpIoR T V65HEPO

1B3[5 <#= 5AIK9MEbVn7l7?1 Rbc.��O = R Z 5HEb@ e ��0 � du9;7l7BRAIK58C Eo@�1B3[5�7N1mRoc � �

� � � ������� � ��� ��� � ��� � ��� )�!

� � � � � � �� � � ��� � � � � ��

0�7 Z 5A@#1?9MEb@[58C 9M@ e 58ch1N9MEb@ � � � � �#ikEo@65 RbC>IoRP@#1mR8_b5FEPO Vn7L9M@6_ � ��� chE#C>5�9 7H1B3nR81 � ��� 9 73>9M_b3 T " < E = 1 RP! T 5 � ��E�� 5^IK5 = i#7?E Z 5 cf3gRP@6_o587 1BEF1B365 � ��� 0 � � 7 3nRbC 1BE !n5 Z RbC>5 �

1 = 5 Z E8IK5�14365 � ��� Eo!��m58ch1 X6T 587 @[Eb1lVn7?58C !#" � ��� �

1 Z E#C]9YOW" 1B3[5 a R �K5 X[T 5`1BE _b5^@65 = R81B5�14365HC>V Z�Z " OWV6@nch1N9MEb@n7 Eo@ + 9M@#V-� OWE = OWV6@nch1N9JEo@n79M@�14365 � ��� Eo!��m58ch1 X6T 587�1B3gRP1lR = 5 = 5 Z E8IK58C �

1 R = cm3>9M1B58ch14V = 5`RP@gCUj e 7 < 5Dcf9 X cA7�C>5 X @658C�9J@ 0 � � 7(R = 5Hcm3nRP@[_b58CFR <6<#= E <#= 9 RP145 T "Ki65 � _ �JiZ RP1 cf3>9M@6_ 1B365F7N"67N1B5 Z C>5 X @>9M1N9JEo@uR8@nC � ��� C#5 X @>9M1?9MEo@�OWE = 1B365 = 5A_P9 7N1B5 = 7?5^1Ai&RP@nCZ E#C]9YOW"]9M@6_ 1B365

target_opsC6R81mR 7?1 = Vnc 1BV = 5Ki ��3>9 cm3 7?14E = 5D7 <#T R81?OWE =mZ C>5 < 5A@nC>5^@>1

C6R81mR R8@nC cAR TYT !nRbc.� OWV6@gch1?9MEb@g7�7NVncf3 Rb7 = 5DRbC]9M@6_ = 5A_89 7?1B5 = IbR T V6587 � e E Z 5 E8Ol1B36587N5OWV6@gch1?9MEb@g7 ��5 = 5 = 5 � = 9M1B145A@��

1 cm3658c.� 1B3nR81 14365 � ��� OWV6@nch1N9MEb@n7cAR TYT 58C�O = E Z 14365F0 � � 7�7?1N9 T T 5��#9;7N1HRP@gC 3nRAIK5�1436574R Z 5�OWV6@nch1N9JEo@nR T 9M1N" Rb7 1436EK7N5 Eb@ 14365 e ��0 � d � � 3>9 7 cm3658c.��9 7�7:9 Z 9 T R = 14E 1B3gRP1 OWE =V < C6R81?9M@6_�� ��� C]9 7BchVn747?58C 9M@ e 58c 1?9MEb@ ' � ! �Mp �

� � ��� ��� � �

� ��� � � � � � �

d(Eb@gchV =B= 5A@#1 <>= Eb_ = R ZFZ 9M@6_ 9 7 C]9�� c V T 1Ai(7L9M@nc 5 chEb@gchV =B= 5A@#1 <>= Eb_ = R Z 7 chEb@#1mRA9M@ !nEo1B3 7?5 �\KV65A@#1?9 R T 5 =B= E = 7 R8@nC RbC6C]9M1N9JEo@nR T chEb@gchV =B= 5A@#1�5 =4= E = 7 � � 365 chE Z�<#T 5/�>9M1N" EPOFc Eb@nchV =B= 5^@>1<>= Eb_ = R ZFZ 9M@6_ c^RP@ ! 5 = 58C>Vgch58C !>"�Vn7L9M@6_ 3>9M_o3 � T 5AIK5 T chEo@nchV =4= 5A@nc " chEo@n7?1 = Vnch1 7 143 = EoV6_b3<>= Eb_ = R ZFZ 9M@6_ T R8@6_bVgRP_b5D7�7?Vncm3 Ro7 � d! - �n0 7?" Z !nE T 9 c C#5A!6V6_o_b5 = 1B3nR81�V6@nC>5 = 7?1 RP@nC[7 14365chEo@nchV =4= 5A@nc " chEo@n7?1 = Vnch1 7HcARP@ 9 Z�<>= E8IK5FC>5A!6V6_o_P9M@6_ cAR < R8!>9 T 9J1N9M587�R8@nC = 58C>Vgch5FC>5A!6V[_b_P9M@6_1?9 Z 5 7:9J_o@>9 X cAR8@>1 T " � � ��� 9;7`R�chEo@nchV =4= 5A@#1l7?" Z !nE T 9 c C>5A!6V[_b_b5 = 1B3nR81 <#= E8I]9 C>5D7 9M@nC>5 < 5^@ �C>5A@#1FchEo@>1 = E T EPO Vn7?5 = � T 5AIK5 T 1B3 = 58RbC67�9M@ Ru7N3nR = 58C � Z 5 Z E = "u5A@#IK9 = Eb@ Z 5A@#1 � � 3>9 7�1B3[587L9 7<>= 587?5A@#1m7�7N5AIK5 = R T � RA"67 14E�9 ZF<>= E8IK5�� ��� RP@nC Z R��K5�9J1lR Z E = 5 < E�� 5 = OWV T C>5A![V6_b_o5 = �

� � � � � �'�

d(3nR < 1B5 = 'C>5874c = 9M!n587�OW58RP14V = 587 � RbC6C#58C�14E�� ��� � � 36587N5 OW58R81BV = 587k9M@nc T VnC#5 O/Rb7N1 = 587?1 = 9 ch1458CchEo@nC]9M1?9MEb@gR T ! = 58R�� < E89J@#1m7 i ��365 = 5 1B365 c Eb@nC]9M1N9JEo@ 9 7�5AIoR T VnRP1458C !#" 1B365 T E#cAR T C#5A!6V6_o_b5 = �!n5A3nRAIK9JE = R T _ = EoV < 7 1B3nR81�R TYT E � RuVn7?5 = 1BE C>5^!6V6_u14365 R <6<#T 9 cAR81?9MEb@ R81 Ru3>9M_b365 = T 5AIK5 T �

) :

) ) ����� �'�%� � � � ����� � ��� � �����

RP141mRocf3 Z 5A@#1�EPO(14365C>5A!6V[_b_b5 = 14E R = V6@[@>9M@6_ R <[<>T 9;c^RP1?9MEo@�i ��3>9 cf3 R TYT E �l7�� ��� 1BE C>5A!6V[_R = V[@6@>9M@6_ R <6<>T 9 cAR81?9MEb@ � <>= Eo_ = R Z�Z RP1N9 c 9M@>145 = O/Roch5Ki ��3>9 cf3�R TYT E��l7 � ��� 1BE !n5chEo@>1 = E TYT 58C!#" R <>= Eo_ = R Z 1B3 = EbV6_o3 R 7?E#c.�K5A1��nR8@nC 5A@63nR8@nch5 Z 5A@#1m7 14E 1B365HVn7N5 = 9M@>145 = O/Roch5 �

d(3nR < 1B5 = ! <>= 587N5A@#1m7.14365HR <6<>= E Rbcm3 � Vn7?5DC�1BE Z R �K5 � d! " 1 = R8@n7 T R81BE = chE#C>5l9J@#IK9;7:9M! T 51BE <>= Eb_ = R ZFZ 5 = 7�C#V = 9M@6_ C>5A!6V6_o_P9M@6_ � � 365l7N1 = RP1B5^_b"FRbC#E < 1458C�14E�3>9 C>5l1B365lc E#C>5 9 7 14EH_P9MIK57 < 58cm9;R T 1 = 58RP1 Z 5A@#1(1BE � d! - 9M@n7?5 = 1B5DC = EbV61N9M@6587 ��365A@ 7?1B5 <6< 9M@6_�9M@>14E 1B365 Z � � " _o5A@65 = R T �9��h9M@6_F1B365H1 = RP@n7 T RP1B5DC = EoV61?9M@65D7 9M@#1BEFR 1mRP! T 5 � 9M1B3 R <6<#= E <#= 9 RP145 Rbc 1?9MEb@n7 i 14365R <6<#= EKRocf3 9 7= 5DRb7?Eo@nRP! T " #n5��#9M! T 5 � ��E = 1mRP!#9 T 9M1N" 1BEFEb14365 = Vn7?5 = � T 5AIK5 T 1B3 = 58RbC T 9M! = R = 9J5D7 = 58\KV>9 = 587lR�1 RP! T 5OWE = 58Rocf3 T 9M! = R = " �

d(3nR < 1B5 = r _P9MIK587l1B365H9 ZF<>T 5 Z 5A@#1mRP1N9MEb@ C>5A1 RD9 T 7 EPO � ��� Eb@ + 9M@#V-��OWE = 14365 � @#1B5 T '*)brR = cf3#9J1458ch14V = 5 � � ��� � Rb7C>587L9M_o@658C 14E 7?V <6< E = 1 Z V T 1N9 <>T 5�R = cm3>9M1B58c 1BV = 587hi !6V61�Eo@ T " 1 ��EG � � IK5 = 7L9MEb@g7 Eo@ e � 0 � d R = cm3>9M1B58ch14V = 5D7 ��5 = 5F7NV <6< E = 1B58C � e 9M@nc 5�14365 � @#1B5 T ' )brU9 7Rd � e d Z Rbcm3>9M@65Ki614365 9 ZF<>T 5 Z 5^@>1 RP1?9MEo@�EPO Vn7?5 = � T 5AIK5 T ! = 58R�� < E89J@#1m7�9;7lIK5 = " C]9"!&5 = 5A@#1�O = E Z1B3gRP1FEPO e � 0 � d � � 365 <>= E#ch587B7FchEo@>1 = E T 9 7�R T 7?E C]9"!&5 = 5A@>1 9M@ + 9M@#V-� Rb7�9J@ e V6@ j e RP@nCe � � ' � � 3[587?5 C]9"!&5 = 5A@gch587 = 58\KV>9 = 5DCuRbC6CK9J1N9MEb@nR T _b5A@65 = R T 9��8R81?9MEb@ 9J@S1B365 R = cf3>9M1458ch1BV = 5FEPO1B3#9;7lchE Z�< Eb@[5A@>1�E8O� ��� �

� �� � � � � ��� �

��5A145 = � V63 = R8@nC � 3nRAIK5 Vg7?58C�!nEb143�14365�E T CFRP@nC @65 � � ��� 1BE C>5A!6V6_ Z RP@#" � d! - R <6<#T 9 �cAR81?9MEb@n7 i 9M@nc T VnC]9M@6_ � ��� 9M1m7?5 T O �l0�7 � 5 T T in1B365E T C � ��� 3nRb7�!n5A5A@�Vg7?58C !>" 7N1BVnC#5A@>1 7 9M@1B3[5�d e � ' � c Eb@nchV =B= 5^@nch"chEbV = 7?5l1mR8V6_b3#1(R81.14365 G`@>9MIK5 = 7:9J1N"EPO&QuR81B5 =4T EKE �(G�@>OWE = 1BV6@gRP1B5 T " i1B3[5 @65 � � ��� � Rb7(@6Eb1 = 5DRbC>" OWE = 7?14VnC>5A@#1(1B587N1?9M@6_ C>V = 9M@6_ 143>9 7.145 =mZ 7?E � cARP@6@[Eb1 = 5 < E = 1Eb@ 7?1BVgC>5A@#1 5/� < 5 = 9J5^@nch587 � 9M1B3 1B3[5�@65 � � ��� � � 365 @65 � � ��� � 9 TYT !n5 Vn7N58C�14365 @65/�61

� � � ����� �'���� ��� )bq

1?9 Z 5H1B365 d e ��'.� chEoV = 7N5�9;7�1mR8V6_b3#1 �

� 5AIK5 = 1B365 T 5D7B7hi Z R8@>" EPO14365 @65 � � ��� 5��[1B5^@n7L9MEb@g7 ��5 = 5 Z RoC>5�!n58c^RPVn7N5 EPOHOW5A58C �!nRoc �HO = E Z 7N1BVnC#5A@>1 7�Vn7L9M@6_1B365�E T C�� ��� � � @ < R = 1?9 chV T R = i6chE Z�<#T RA9M@>1 7�� 5 = 5�IKEP9 ch5DC�R8! EoV617?145 <6< 9M@6_ 9M@>14E � d! - 1 = RP@n7 T R81BE = chE#C>5�RP@gC !n5h9M@6_ V6@nR8! T 5�14E�OWE T T E�� chE = EoV61?9M@65�5��65DchV �1?9MEo@�� � 9 C]9M@6_ � d! - 1 = RP@n7 T R81BE = chE#C#5 RP@nC C>5DR T 9M@6_ � 9M143 c E = EoV61?9M@65 chEb@#1 = E T #nE�� C>EK5877L9 ZF<>T 9YOW"FC>5A!6V6_o_P9M@6_ � � Eo1B3 ��5A145 = RP@nC � @6Eo1?9 ch58C R8@�9 ZF<>= E8IK5 Z 5A@#1�Eb@nc 5 1B3#9;7 OW58R81BV = 5 ��Ro7RAIoRD9 T RP! T 5 � � ! 5 T 9M5AIK5F1B3#9;7�9 Z�<>= E8IK5 Z 5^@>1 � 9 TYT 365 TM< !nEb1B3 1458Rbcm3>9M@6_ R8@nC T 58R = @>9M@6_ � d! - chEo@nch5 < 1 7hin587 < 58cm9;R TYT " c E = EoV61?9M@65D7hi ��3>9 cm3 R = 5�IK5 = " C]9"!&5 = 5A@#1 O = E Z @6E = Z R T�= EoV61?9M@65D7 ��0`7� 5 T T iK!nEb143 ��5A1B5 = R8@nC � OWEoV6@nC�14365l7L9 ZF<>T 5�c T 9 c.� �/1BE�� <>= 9M@>1�5^@63nRP@gch5 Z 5A@>1 5��[1 = 5 Z 5 T "`Vn7?5hOWV TC>V = 9M@6_ C#5A!6V6_o_P9M@6_6i&587 < 58cf9 R T T " OWE =�T Eb@6_ IbR = 9 RP! T 5 @gR Z 587 �

Q 3>9 T 5�1B365�Eb1B3[5 = 5A@63nR8@nch5 Z 5A@#1m7�R = 5 @[Eb1 Vn7?58CRb7 E8OW1B5A@ i � � EbV T C 74RA" 143nRP1 � Vn7N58C 58Rocf35A@63gRP@nch5 Z 5A@#1�R81�7NE Z 5 < EP9M@#1 9M@ C>5^!6V6_b_89M@6_ RFchEb@nc V =B= 5A@>1 <#= Eb_ = R Z i&RP@nC � 9M1436EbV61`1B3nR815A@63gRP@nch5 Z 5A@#1 9M1 � EoV T C 3nRAIK5 !n5A5A@ 5��61 = 5 Z 5 T "�C]9�� c V T 1�1BE 3nRAIK5�OWEoV6@nC 1B365F5 =B= E = ��$nE =5��gR ZF<>T 5Ki6R81B1 Rbcm3>9M@6_ � ��� 14E R = V6@6@>9M@6_ R <6<#T 9 cAR81?9MEb@ � Rb7 Vn7N58C 1BE X @nC 7?5AIK5 = R T C]9�� chV T 1= Roch5 R8@nCuC>58RoC T E#c �SchEo@nC]9M1?9MEb@g7 � � 36587N5 chEb@gC]9M1?9MEb@n7FC]9 Cu@6Eb1E#cAchV = EPOW145A@�i�7NE Eb@nc 5�14365<>= Eb_ = R Z O/RD9 T 58C i>9M1 � Rb7 58747?5A@#1?9 R T 14E 5��[1 = Roch1�Ro7 Z Vgcf3 9M@>OWE = Z R81?9MEb@ Ro7 < E 7B7:9J! T 5FCK9 = 58ch1 T "O = E Z 1B365HO/RD9 T 58C�5��[58chV61N9JEo@���jl@nch5�� ��� ��Ro7 R81B1 Rbcm3658CU14E 1B3[5 <>= Eb_ = R Z i 14365 R8!>9 T 9J1N" 14E5��gR Z 9M@65H58Rbcm3 1mRb7 ��9M@ C>5^1mRD9 T ��Ro7 9M@#IbR T VnRP! T 5�9M@ T E#cAR81?9M@6_ 14365H5 =B= E = �

Q 3>9 T 5 5DRbcm3�5A@[3nRP@nc 5 Z 5^@>1�9 7 Vn7?5 OWV T i � !n5 T 9M5AIK5 9M1.9 7 14365HchV Z V T R81?9MIK5l5�!&58ch1(EPO,1B365`7?5^1EPO&5A@[3nRP@nc 5 Z 5^@>1 7k143nRP1�9 7 Z E 7?1 9 ZF< E = 1 RP@#1 ��GH7N5 = 7 � 9 TYT Vn7?5�1 ��E�5A@63nR8@nch5 Z 5A@#1m7�1BE T E#cAR81B5Eb@[5 <>= Eo! T 5 Z RP@nC 143 = 5^5 C]9"!&5 = 5A@>1Eb@65D7 1BE T E#cARP145�R8@6Eb14365 = � � 365 = 5hOWE = 5Ki�@6E < R = 1?9 chV T R =5A@63gRP@nch5 Z 5A@#1l7?1 RP@nC[7 EoV61Ai&!6V61�58Rocf3�Eb@65�9 7 @[5A58C>58C 1BE C#58R T � 9M1B3 1B365 C]9MIK5 = 7N5 �K9J@gC67�EPO5 =4= E = 7.OWEbV6@gC 9M@ RFchEb@gchV =B= 5A@#1 <>= Eb_ = R Z �

q�� ����� �'�%� � � � ����� � ��� � �����

� �� � � � � � � � � �

0 T 1B3[EbV6_o3�i>14365 O/Rb7N1 = 587?1 = 9 ch1458C chEb@gC]9M1?9MEb@nR T ! = 58R � < EP9M@#1m7 R = 5lVn7?5 OWV T i 9M1�C>EK587�@6Eo1�7?V <6< E = 1R TYT @[58ch58747BR = " chEo@nC]9M1?9MEb@g7 � � 1�c EbV T C�!n5 C>5D7L9 = R8! T 5�14E�3nRAIK5R�O/R T T !nRoc ��E < 1N9MEb@ ��365 = 5�14365_ T Eo!nR T C#5A!6V6_o_b5 = 5AIoR T VnR81B587 Z E = 5�chE Z�<>T 5�� chEo@nC]9M1?9MEo@n7�!6V61 RP1 R 7L9M_b@>9 X c^RP@#1 T " 3>9M_o365 =chE 7?1 �,0 T 7?E�!n5A3gRDIK9MEbV = R T _ = EoV < 7(cARP@!n5 Z RoC>5 Z E = 5._o5A@65 = R T !>"RocAch5 < 1N9M@6_HRb7N">@gcf3 = Eb@6EoVn75��[1B5 = @nR T 5AIK5A@#1m7 = RP14365 = 1B3nR8@ �mVn7?1l! = 5DR � < E89M@>1l5AIK5A@#1m7�9J@�1B365R <6<>T 9 cARP1N9JEo@��

0�7 Z 5A@>1N9MEb@658C 9M@ 7?58c 1?9MEb@ � �Jpoi.5^IK5A@>1chE TYT 5Dch1?9MEb@ RP@nC _ = R < 3>9 cAR T IK9 7?VnR T 9 �DRP1?9MEo@ 9 7FRIK5 = " Vg7?5hOWV T 1BEKE T 9M@�V[@nC>5 = 7?1mR8@nC]9M@6_chEo@nchV =4= 5A@#1 <#= Eb_ = R Z 7��(0 Z E = 5 < E�� 5 = OWV T C>5A!6V[_b_P9M@6_5A@#I]9 = Eb@ Z 5A@#1 Z RA"�!n5�!6V>9 T 1(!>"H9J@#1B5^_ = R81?9M@6_H1B3[587?5�14EKE T 7 R8@nC�14365lC>5A![V6_b_o5 = � � ��� 9 7�@6E��5��[1B5A@gC>58C � 9M1B3 R <#= Eb_ = R Z�Z RP1N9;c 9M@>145 = O/Roch5Ki�7?E 9J1 7 OWV[@nch1?9MEo@nR T 9M1N" cAR8@ !n5 RbcAch5D7B7?5DC !#"chE Z�Z RP@nC[7 IK9 RHR 7NE#c �K5^1 9M@n7?1458RbC�E8O�14365�Vn7?5 = 9M@#1B5 = O/Rbch5 � � 3#Vn7 i � ��� Z RA"! 5�9M@>145A_ = RP1458C� 9M1B3 7?E Z 5H5AIK5A@#1 5A@[_P9M@65 9M@ R 7L9 Z 9 T R = ��RA" 1BE � �(Vnqbr�� �

� 365�9 Z�<>T 5 Z 5A@#1mR81?9MEb@EPO � ��� Eo@ + 9M@#V-�7NV <6< E = 1m7 14365(c T RD9 Z � �R = q�! �o1B3nR81�1B365�C>5D7L9M_b@EPO�� ��� cARP@ !n5l_b5A@65 = R T 9��A58C 1BE Z V T 1N9 <#T 5`R = cf3#9J1458ch14V = 587 iKR T 1436EbV6_o3 1B3[5 = 5 � Rb7 Z E = 5 ��E = �1B3gRP@ E = 9M_P9M@nR T T "�5�� < 58ch1458C � a E = 5 < E = 1 7�7?36EoV T C ! 5 C>Eb@65`1BE�OWV = 1B365 = 14587?1�1B365 < E = 1mR8!>9 T 9J1N"EPO � ��� RP@nCF_b5A@65 = R T R <6<#T 9 cAR8!>9 T 9J1N" EPO 14365`chEb@nc 5 < 1�OWE = Vn7?5 = � T 5AIK5 T ! = 58R�� < EP9M@#1 3nR8@nC T 9M@6_ �

$ 9M@nR TYT "Ki#1B365lC>5D7L9M_b@FEPO�� ��� 9 7.R <6<>T 9 cARP! T 5H14E�!nEb1B3 7?3gR = 5DC � Z 5 Z E = " RP@gC�C]9 7N1 = 9M!6V[1B58CZ 5 Z E = "Ki8!6V61�9M1 9 7 Eb@ T "�9 ZF<>T 5 Z 5A@>1458C�Eb@F7N3nR = 58C � Z 5 Z E = "R = cm3>9M1B5Dch1BV = 587 � ��E = 1m7 14E Z E = 5R = cf3#9J1458ch14V = 587 ��EbV T C R TYT E�� � ��� 1BE = V6@�9M@ RH365A1B5 = Eb_o5A@65AEoVn7 CK9;7N1 = 9J![V61B58C 5A@#IK9 = Eb@ Z 5A@#1 �0�7�CK9;74chVn747?58C�9M@ � �R = q�! �/i R 7N1BV6! <>= Eb_ = R Z ��EbV T C = V6@ Eb@ 58Rocf3 Z Rocf3>9M@65 i ��3>9 cf3 < 5 = �OWE = Z 77?E Z 5 = 58\KV6587N1m7 i T 9(�K5�9 ZF<>T 5 Z 5^@>1N9J@[_ RU! = 58R�� < EP9M@#1Ai�Eo@u!n5A3nR T OlE8Ol1B365F_ T Eb!gR T C>5 �!6V6_o_b5 = �(0 C6RP5 Z Eo@�i#7L9 Z 9 T R = 1BE�� a a � � qor �:i Z Vg7?1(R T 7NE = V6@�Eo@�5DRbcm3 Z Rocf3>9M@65�14E�9J@#IKE �K51B3[5�7N1BV6! <>= Eo_ = R Z �

� � � � � � � � ��� � �

� 0 � +!+�q�� � � 36E Z Ro7 � ��0 @nC#5 = 7NEb@�i � = 9 RP@ � � � 5 = 7?3nRoC i � C ��R = C � � +�R �AE��l7 �bR#ilRP@nC��5^@ = " a � + 5AI#" � e cf3[58C>V T 5 = Roch1?9MIoRP1N9JEo@n7�� � !&58c 1?9MIK5��K5 = @65 T 7?V <[< E = 1�OWE = 14365Vn7N5 = � T 5AIK5 TnZ RP@gRP_b5 Z 5A@#1�E8O < R = R TYT 5 T 9 7 Z ��� ��� � !#) � % )�$�' � " � % " � � " / � � ' � !��� % ' �#/ % i p � � p � !���� :8q#i $n5A! = VgR = " pAqbq�� �

� � R81mq�! � ��5^1B5 = d � � RP1B5D7 � � 5A![V6_b_89J@[_ ��5A1B5 = Eb_o5A@65AEoVn7 � 9 7N1 = 9M!6V[1B58C e "[7?1B5 Z 7 G 7L9M@6_� IK5A@#1 � � Rb7N58C a E#C#5 T 7UEPO � 5^3nRAI]9ME = �� ��� � !#) � % )�$�' � " � % " � � " / � � ' � !��� % ' �#/ % i p � � p �Mp�2�#pbi $n5A! = VnR = "�pAqbq�! �

� � �q�! � ��5^1B5 = 0 � � V63 = R8@nC a R = 1N9M@ �R = 7N1B5A@ � � d�� � Z Eb@>9M14E = 9M@6_[i I]9 7?VgR T 9��8R �1N9JEo@ RP@gC C>5^!6V6_b_89M@6_ R8@6@6Eb1 RP1458C = 5 OW5 = 5A@gch5 Z RP@#VnR T ilIK5 = 7:9JEo@ p � � � � 5Dcf3 �@>9 cAR T � 5 < E = 1�G`@6@>V Z ! 5 = 58C �S0 IoRD9 T RP! T 5 IK9;R������ O = E Z ��� � ��������� �"! � #$#%� &�� 9M@�$��')(+*-,/.�(",�0213�)�4� 025����607#+8+�9��1:�7�458i �-;"< R"=:>@? ;"A >CB)DFE/B�? <HG > ; =JI KL ;"A K ;NMPO-A LRQ ; =@ST LR>VUWB4DYX[Z)> ; =3\RB+B M X]Z4> ; =@\^B+B M`_aA >:Z�=3L^B M E�Z A Z$bHZ Mdc ��e �+fJg M I ;"< > ; ?ih ; =gkj�j�! l

�2mFniI j$o � p ; > ; =rqsl"m GHt = M4u Z"=:>VL A nJZ"= T > ;"AvM Z A bsw GHA I t L t lxq[? G \^>�LySz> t = ; Z�b ; bib ; h GH{ S{$; =-D B4=|? G \^>�LySz> t = ; Z�b ; b}Z <H< \~L�K"Z)>�L^B A T ld� A , !�" $ ��� � ������% " �J� , � �-� �%�+�C���)�F�

j%g

j � � � � ��� � � � � �����

���s���a�8��� ��� / � " %���� / " � , )�!�)�-.- � - ) � � � �.% ' ! � ��� ' � ��� " "�- %�M%< Z {�; T�� � � Mp t Ly\�Z�b ; \ <�t L�Z M p ;"AHA T U+\RQ$Z A L�Z M O lxIxlxqsl M%u Z"U}g"j$j�o l q-E u p�= ; T@T l

�2m-I j�o � p ; > ; =Yqsl m G�t =YZ A b��FL�K t Z�=�b]qsl�I+>V=:B+B�hxB T@T K tH; =�l���E��%�}Z AHA B$>:Z4> ; b�= ; D ; =@S;"A K ; ? Z A%G Z"\ M Q ; = T L^B A�� l o%l�� ; K tHA L�K"Z"\�� ;"< B4= > O-A�A%G ?ih ; = ; b � qCQ$Z"L~\�Z)h%\ ;Q+L�Z`� �V�sD =:B$? ��� �%�9������� �"! � #�# �7&�� L A �$��'�(N������1z� ���a(��������-�9�"1:�7�)5 M� -;"< Z"=:>3? ;"A >aB4DE/B$? <HG > ; =aI KL ;"A K ;+M)O-A L^Q ; = T L^>�UJB4D X]Z4> ; =@\^B+B M X]Z4> ; =@\^B+B Mx_aA > Z�=@L^B M E�Z A Z�b�Z Mc � e"! fJg M w G \^U g"j$j�o l

��E f � j#! � l�E G \y\ ; = M qJl -G T3T ; Z GvM Ixl�fCB)\�b T > ; L AvM qsl n ; =@L T tHA Z4? G = > t U M Ixlve G ? ; >3>:Z M�-lFQ+B A�$ L�K&% ;"AvM Z A bWn l(' ; \~L�K&% l p/Z"=�Z�\y\ ; \ < =:B { =�Z)? ?iL AH{ L A T < \yL^>�S K�l � A, !�" $ ��� � ����� % " �i� � � � !�$�" / � � ' ��� � � ��) Mv< Z {�; T � o � � � ! M p�B)=:>V\ Z A b M _ = ;k{ B A Mc B)Q}gkj�j#!%l

��f|Z"L o � w Z T B A f|Z�L^>kl�q < = B�h ;-; ! ; K�>�L A K�B A K G =3= ;"A > < =:B { =Z4? T l�� " ��'+* )�! � � , !�)�$�' � $ �) � ��� � � � ! �*��� $ �:M g"o � ! � �#��, � � !#! Mvu Z�=K t gkj o l �9I Z4? ; Z T f|Z�L^>"g&- �zl

�/.|B+B+j�o10 �aB�h ; = >2.-B+B b l3� tH;�< � b � < = B � ; K�>54 m G L~\�b L AH{ Z < B4= >:Z)h%\ ; b L T >�=3L^h G > ; bib ; h GH{ S{$; =)l � A , !�" $ ��� � ������% " � � , � �-� �%�+� �H��� �6�J���C� ���i��� / � " %���� / " � , )�!�)�- - � -) � � � �.% ' ! � ��� ' � � � " "�- %�M�< Z {�; T g � �xg5!�o M p t L~\�Z$b ; \ <Ht L�Z M p ;kAHA T U+\^Q$Z A L�Z M/O lIxlxqJl M%u Z"U}gkj�j$o%l q E u p�= ; T3T l

7 nJZ"=�j , 0 u Z"=:>�L A nsZ"= T > ;"A l q u}G \R>VLyS8� t = ; Z�b ; b -; h GH{�{$; =-D B)= u}G \^>�LyS8� t = ; Z$b ; b}q < S< \yL�K"Z)>�L^B A T l L < \^B�? Z�= h ; L^> M O-A LRQ ; = T L^>�9Z4> u Z AHAHt�; L^? M u Z AHAHt�; L^? M3 -;kG > T K t S\�Z A b M q GH{�G T >sgkj�j , l

��� � � � � � � � ����� j�!

7 n ; = , 0 mdl X l"n ; = A L {�t Z A l �-Z)>�D B4=�S Z < = ;"< = B K ; T3T B4=�D B4=rZ =�Z4>VL^B A Z"\HD B4= >�=�Z A lP� " ��' * )�! �, !�)�$�' � $ � ) � � � � � � ! �*��� $ �:M ,�� g ��� 4 !�j , � � � o Mr_ K�>3B�h ; =Yg"j , l

7 n ; T j � 0 p ; > ; = mdl�n ; T@T \ ; =)l�� Z T > h%= ; Z % < B4L A > T 4 b ; T L {�A Z A b LR? < \ ; ? ;"A >:Z4>VL^B A l � A���� ���� ��������� � ����� � ����� �H�)� ��� � � � �"!#� � � � ��$� � ��%� � ��� � '&�(�( ������)& ����* & � �,+-� �$�.��� & � � � ( /102��(3� �4� & �5� � � M Q+B)\ G ? ; ��, MP< Z {�; T 1 � ��M X t LR> ;p�\�Z�L A T M c ' M w GHAH; g"j$j � l

7 e�E�j$o 0 I+> ; Q ;"A Ixl�e G ? ; >3>:Z-Z A b Z"Q+L b $ l E G \~\y\ ; =�l�� tH;Fu Z A >VL T p�Z�=�Z"\y\ ; \vb ; h GH{${�; =�l� A3���� ���� �������6� � ��� ��+ �-� �%�+� ���)� �6�J���a�����i�17 ( /4� �$��* (8� � �9&��&�0:02��0;& � �+ �2�$� �5<�*"� � �}� ����0 � M+< Z {�; T g�g �xg � o M p t Ly\�Z�b ; \ <Ht L Z M p ;"A�A T U+\^Q�Z A L�Z MHO l Ixl qsl Mu Z"U}gkj�j�o l q-E u pr= ; T@T l

7 u . j 0 E t Z"=@\ ; T $ l u K B�= ; \~\ Z A b Z"Q+L b p�l . ; \^?ihxB4\�b l -; h GH{�{ L AH{ K�B A K G =@= ;kA >< = B { =�Z4? T l ����� � ��( / *��>���?� �1* � � 7�� M � g � � � 4 , j�!�� o �#� M -; K ; ?ih ; =dg"j j l

7 u}u p � j�o 0 u L�K t Z ; \aIxl u}; L ; = M n ; Q�Z A e�l u Ly\~\ ; = M2 B A Z�\�b p�lvp/Z6@ ; \ M w+B T U G \�Z6�sl �|Z4B MZ A bsw Z4? ; T �sl1� G T@T ; \~\zl $ - <P; =@L ;"A K ; T = L^> t h G Ly\ b+L A�{ b+L T >�=3LRh G > ; b b ; h GH{�{$; = T l� A3���� ���� �������6� � ��� ��+ �-� �%�+� ���)� �6�J���a�����i�17 ( /4� �$��* (8� � �9&��&�0:02��0;& � �+ �2�$� �5<�*"� � � � ����0 � M�< Z {�; T� �� � j M p t L~\�Z$b ; \ <Ht L�Z M p ;kAHA T U+\^Q$Z A L�Z M/O l�Ixl qsl Mu Z"U}gkj�j�o l q-E u pr= ; T@T l

7 u �|j%g 0 I+> ;"<HtH;kA p l u Z T >VL K�B4\�ZiZ A b maZ�=:h Z�=�ZifJl �aU�b ; =)l q ? B b ; \xB4D Z$bHZ < = B { =�Z4? TD B)= T > Z4>�L�K b ; Z�b+\RB K&% b ; > ; K�>�L^B A L A < B)\RU A B$?`L�Z�\ >�L^? ; l ���� ���� �������6� � �A�B� ������DCFEG� �IH ���J ��� ��/D� � �9&�'&�0202��0K& � � + �2�$� �5<�*�� � � +�� <�*L�M�����?�

/ *N< 0 �2��� � ���� ����� �H�)� ��� �O�P� � �>� �� � M � o � g � � 4 j �xg �� M -; K ; ?ih ; =dgkj�j%g$l

j � ��� � � � � � � � �����

7 c|u j � 0 �aB�h ; = >�.ilHmdl c-; > @ ; =|Z A b maZ"=:>@B A p�l u Ly\~\ ; =�lFX t Z4>dZ"= ; =�Z�K ; K�B A b L^>�L^B A T��T B�? ; L T@T GH; T Z A b D B)=:? Z�\yL:@)Z4>VLRB A T l ����� � � �5� �� � � � � '� � �&�(�( ����� �)& �H���* & � � � & � � �176�$� ��( � M g#4 � � # M u Z"=�K t g"j$j � l

7 INp j , 0 �FL�K t Z"=�b u l-I+> Z�\y\^? Z A Z A b �aB4\�Z A b .il�p ; T K t l +�� <�*�� ������� * ���B� � +�� l�H= ;k; I+B)D > =FZ�= ; �xB GHA bHZ)>�L^B AvM o , u Z T@T Z�K t%G T ; >3> T qaQ ;"A%G�;+M E�Z)?ih%=@L�b {$;+M%u q� � g�!$j O I q M g"j�j , l

7 IN>�=�j g 0 m ��Z"= AH; I+>V=:B G T >�= GH< li� � � �v�%� �'� � �&�(�( ����� �)& ����* & � � l/q-b�b L T B A X ; T \ ; U MT ; K�B A b ; b L^>VLRB AvM g"j�j g�l

7 I GHA Z 0 I G�A l < =:B K � � � l/? Z A G Z�\ < Z {�; l

7 I GHA h 0 I G�A l < >�=�Z$K ; � � � l�? Z A G Z"\ < Z {$; l

7 ��Z"UHj#! 0 Z"Q+L�b wxl ��Z"U \^B)=)l"� t�; G T ; B)D < = B K ; T3T K\ G T > ; =3L AH{ L A b L T >V=@L^h G > ; b S T U T > ; ?; Q ;kA > b L T < \�Z"U T l%� A �'�6 ���� �����?�6� � � �v� �)� EG� � ��) M"< Z {$; T , � , � , g � M � B)=:B A >3B M_ K�> �#, S � gkj�j�! l

7 ' G j$o 0 �VQ$Z A '�Z A Szn-L^>�' G l}� A > ;"{ =Z4>VL A�{}; Q ;"A > Q+L T G Z"\yL2@�Z4>�L^B A = L^> t T ;��+GH;"A >�L�Z"\ab ; Sh G�{�{ L AH{ l u Z T > ; =�� T $ T@T Z"U M � t�; O|A L^Q ; = T LR>VU B)D�X]Z4> ; =@\^B+B M u Z"U gkj�j�o l