1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
|
%!PS-Adobe-2.0
%%Creator: dvips, version 5.4 (C) 1986-90 Radical Eye Software
%%Title: manual.dvi
%%Pages: 19 1
%%BoundingBox: 0 0 596 843
%%EndComments
%%BeginProcSet: tex.pro
/TeXDict 200 dict def TeXDict begin /N /def load def /B{bind def}N /S /exch
load def /X{S N}B /TR /translate load N /isls false N /vsize 10 N /@rigin{
isls{[0 1 -1 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale
Resolution VResolution vsize neg mul TR}B /@letter{/vsize 10 N}B /@landscape{
/isls true N /vsize -1 N}B /@a4{/vsize 10.6929133858 N}B /@a3{/vsize 15.5531 N
}B /@ledger{/vsize 16 N}B /@legal{/vsize 13 N}B /@manualfeed{statusdict
/manualfeed true put}B /@copies{/#copies X}B /FMat[1 0 0 -1 0 0]N /FBB[0 0 0 0
]N /df{/sf 1 N /fntrx FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0
]N df-tail}B /df-tail{/nn 8 dict N nn begin /FontType 3 N /FontMatrix fntrx N
/FontBBox FBB N string /base X array /BitMaps X /BuildChar{CharBuilder}N
/Encoding IE N end dup{/foo setfont}2 array copy cvx N load 0 nn put /ctr 0 N[
}B /E{pop nn dup definefont setfont}B /ch-image{ch-data dup type /stringtype
ne{ctr get /ctr ctr 1 add N}if}B /ch-width{ch-data dup length 5 sub get}B
/ch-height{ch-data dup length 4 sub get}B /ch-xoff{128 ch-data dup length 3
sub get sub}B /ch-yoff{ch-data dup length 2 sub get 127 sub}B /ch-dx{ch-data
dup length 1 sub get}B /ctr 0 N /CharBuilder{save 3 1 roll S dup /base get 2
index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx 0 ch-xoff ch-yoff
ch-height sub ch-xoff ch-width add ch-yoff setcachedevice ch-width ch-height
true[1 0 0 -1 -.1 ch-xoff sub ch-yoff .1 add]{ch-image}imagemask restore}B /D{
/cc X dup type /stringtype ne{]}if nn /base get cc ctr put nn /BitMaps get S
ctr S sf 1 ne{dup dup length 1 sub dup 2 index S get sf div put}if put /ctr
ctr 1 add N}B /I{cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI
save N @rigin 0 0 moveto}B /eop{clear SI restore showpage userdict /eop-hook
known{eop-hook}if}B /@start{userdict /start-hook known{start-hook}if
/VResolution X /Resolution X 1000 div /DVImag X /IE 256 array N 0 1 255{IE S 1
string dup 0 3 index put cvn put}for}B /p /show load N /RMat[1 0 0 -1 0 0]N
/BDot 8 string N /v{/ruley X /rulex X V}B /V{gsave TR -.1 -.1 TR rulex ruley
scale 1 1 false RMat{BDot}imagemask grestore}B /a{moveto}B /delta 0 N /tail{
dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail}B /c{-4 M}B /d{
-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{3 M}B /k{4 M}B /l{p
-4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w}B /q{p 1 w}B /r{p 2 w}B /s{p 3 w}B /t
{p 4 w}B /w{0 rmoveto}B /x{0 S rmoveto}B /y{3 2 roll p a}B /bos{/SS save N}B
/eos{clear SS restore}B end
%%EndProcSet
TeXDict begin 1000 300 300 @start /Fa 7 121 df<1FF0003FFC007FFE00780F00300700
000380000380007F8007FF801FFF803F8380780380700380E00380E00380E00380700780780F80
3FFFFC1FFDFC07F0FC16157D941A>97 D<01F80007FF000FFF801E07C03C01C07800E07000E0E0
0070E00070FFFFF0FFFFF0FFFFF0E000007000007000007800703C00701F01F00FFFE003FFC000
FE0014157D941A>101 D<FE3E00FEFF80FFFFC00FC1C00F80E00F00E00E00E00E00E00E00E00E
00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E0FFE3FEFFE7FEFFE3FE17157F94
1A>110 D<7F83F0FF8FF87FBFFC03FC3C03F01803E00003C00003C00003800003800003800003
80000380000380000380000380000380000380007FFF00FFFF007FFF0016157E941A>114
D<00C00001C00001C00001C00001C00001C00001C0007FFFE0FFFFE0FFFFE001C00001C00001C0
0001C00001C00001C00001C00001C00001C00001C00001C07001C07001C07001C07000E0E000FF
E0007FC0001F00141C7F9B1A>116 D<7F83FCFFC7FE7F83FC0E00E00E00E00E00E00701C00701
C00701C003838003838003838001C70001C70001C70000EE0000EE0000EE00007C00007C000038
0017157F941A>118 D<7FC7F87FCFFC7FC7F80703C003838003C70001EF0000FE00007C000078
00003800007C0000EE0001EE0001C7000383800783C00F01C07FC7FCFFC7FE7FC7FC17157F941A
>120 D E /Fb 46 121 df<000FF000007FFC0001F80E0003E01F0007C03F000F803F000F803F
000F801E000F800C000F8000000F8000000F8000000F800000FFFFFF00FFFFFF000F801F000F80
1F000F801F000F801F000F801F000F801F000F801F000F801F000F801F000F801F000F801F000F
801F000F801F000F801F000F801F000F801F000F801F000F801F007FF0FFE07FF0FFE01B237FA2
1F>12 D<387CFEFEFE7C3807077C8610>46 D<0000180000380000380000700000700000E00000
E00000E00001C00001C0000380000380000380000700000700000700000E00000E00001C00001C
00001C0000380000380000700000700000700000E00000E00001C00001C00001C0000380000380
000700000700000700000E00000E00000E00001C00001C00003800003800003800007000007000
00E00000E00000C0000015317DA41C>I<00180000780001F800FFF800FFF80001F80001F80001
F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001
F80001F80001F80001F80001F80001F80001F80001F80001F80001F8007FFFE07FFFE013207C9F
1C>49 D<03FC000FFF003C1FC07007E07C07F0FE03F0FE03F8FE03F8FE01F87C01F83803F80003
F80003F00003F00007E00007C0000F80001F00003E0000380000700000E01801C0180380180700
180E00380FFFF01FFFF03FFFF07FFFF0FFFFF0FFFFF015207D9F1C>I<00FE0007FFC00F07E01E
03F03F03F03F81F83F81F83F81F81F03F81F03F00003F00003E00007C0001F8001FE0001FF0000
07C00001F00001F80000FC0000FC3C00FE7E00FEFF00FEFF00FEFF00FEFF00FC7E01FC7801F81E
07F00FFFC001FE0017207E9F1C>I<0000E00001E00003E00003E00007E0000FE0001FE0001FE0
0037E00077E000E7E001C7E00187E00307E00707E00E07E00C07E01807E03807E07007E0E007E0
FFFFFEFFFFFE0007E00007E00007E00007E00007E00007E00007E000FFFE00FFFE17207E9F1C>
I<1000201E01E01FFFC01FFF801FFF001FFE001FF8001BC00018000018000018000018000019FC
001FFF001E0FC01807E01803E00003F00003F00003F80003F83803F87C03F8FE03F8FE03F8FC03
F0FC03F07007E03007C01C1F800FFF0003F80015207D9F1C>I<001F8000FFE003F07007C0F00F
01F81F01F83E01F83E01F87E00F07C00007C0000FC0800FC7FC0FCFFE0FD80F0FF00F8FE007CFE
007CFC007EFC007EFC007EFC007E7C007E7C007E7C007E3C007C3E007C1E00F80F00F00783E003
FFC000FF0017207E9F1C>I<6000007800007FFFFE7FFFFE7FFFFC7FFFF87FFFF87FFFF0E00060
E000C0C00180C00300C00300000600000C00001C0000180000380000780000780000F00000F000
00F00001F00001F00001F00003F00003F00003F00003F00003F00003F00003F00001E00017227D
A11C>I<000070000000007000000000F800000000F800000000F800000001FC00000001FC0000
0003FE00000003FE00000003FE00000006FF000000067F0000000E7F8000000C3F8000000C3F80
0000183FC00000181FC00000381FE00000300FE00000300FE00000600FF000006007F00000E007
F80000FFFFF80000FFFFF800018001FC00018001FC00038001FE00030000FE00030000FE000600
007F000600007F00FFE00FFFF8FFE00FFFF825227EA12A>65 D<0003FE0080001FFF818000FF01
E38001F8003F8003E0001F8007C0000F800F800007801F800007803F000003803F000003807F00
0001807E000001807E00000180FE00000000FE00000000FE00000000FE00000000FE00000000FE
00000000FE00000000FE000000007E000000007E000001807F000001803F000001803F00000380
1F800003000F8000030007C000060003F0000C0001F800380000FF00F000001FFFC0000003FE00
0021227DA128>67 D<FFFFFF8000FFFFFFF00007F003FC0007F0007E0007F0003F0007F0001F80
07F0000FC007F00007E007F00007E007F00007F007F00003F007F00003F007F00003F007F00003
F807F00003F807F00003F807F00003F807F00003F807F00003F807F00003F807F00003F807F000
03F807F00003F007F00003F007F00003F007F00007E007F00007E007F0000FC007F0001F8007F0
003F0007F0007E0007F003FC00FFFFFFF000FFFFFF800025227EA12B>I<FFFFFFFCFFFFFFFC07
F000FC07F0003C07F0001C07F0000C07F0000E07F0000E07F0000607F0180607F0180607F01806
07F0180007F0380007F0780007FFF80007FFF80007F0780007F0380007F0180007F0180007F018
0307F0180307F0000307F0000607F0000607F0000607F0000E07F0000E07F0001E07F0003E07F0
01FCFFFFFFFCFFFFFFFC20227EA125>I<FFFFFFF8FFFFFFF807F001F807F0007807F0003807F0
001807F0001C07F0001C07F0000C07F0000C07F0180C07F0180C07F0180007F0180007F0380007
F0780007FFF80007FFF80007F0780007F0380007F0180007F0180007F0180007F0180007F00000
07F0000007F0000007F0000007F0000007F0000007F0000007F00000FFFFE000FFFFE0001E227E
A123>I<FFFF83FFFEFFFF83FFFE07F0001FC007F0001FC007F0001FC007F0001FC007F0001FC0
07F0001FC007F0001FC007F0001FC007F0001FC007F0001FC007F0001FC007F0001FC007F0001F
C007FFFFFFC007FFFFFFC007F0001FC007F0001FC007F0001FC007F0001FC007F0001FC007F000
1FC007F0001FC007F0001FC007F0001FC007F0001FC007F0001FC007F0001FC007F0001FC007F0
001FC007F0001FC0FFFF83FFFEFFFF83FFFE27227EA12C>72 D<FFFFE0FFFFE003F80003F80003
F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003
F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003
F80003F800FFFFE0FFFFE013227FA115>I<FFFFE000FFFFE00007F0000007F0000007F0000007
F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F00000
07F0000007F0000007F0000007F0000007F0000007F0000007F0001807F0001807F0001807F000
1807F0003807F0003807F0007007F0007007F000F007F001F007F007F0FFFFFFF0FFFFFFF01D22
7EA122>76 D<FFF000000FFFFFF800001FFF07F800001FE006FC000037E006FC000037E006FC00
0037E0067E000067E0067E000067E0063F0000C7E0063F0000C7E0061F800187E0061F800187E0
060FC00307E0060FC00307E0060FC00307E00607E00607E00607E00607E00603F00C07E00603F0
0C07E00601F81807E00601F81807E00601F81807E00600FC3007E00600FC3007E006007E6007E0
06007E6007E006003FC007E006003FC007E006001F8007E006001F8007E006001F8007E006000F
0007E0FFF00F00FFFFFFF00600FFFF30227EA135>I<0007FC0000003FFF800000FC07E00003F0
01F80007E000FC000FC0007E001F80003F001F80003F003F00001F803F00001F807F00001FC07E
00000FC07E00000FC0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0
FE00000FE0FE00000FE0FE00000FE07E00000FC07F00001FC07F00001FC03F00001F803F80003F
801F80003F000FC0007E0007E000FC0003F001F80000FC07E000003FFF80000007FC000023227D
A12A>79 D<FFFFFF00FFFFFFE007F007F007F001FC07F000FC07F0007E07F0007E07F0007F07F0
007F07F0007F07F0007F07F0007F07F0007E07F0007E07F000FC07F001FC07F007F007FFFFE007
FFFF0007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F00000
07F0000007F0000007F0000007F00000FFFF8000FFFF800020227EA126>I<01FC0407FF8C1F03
FC3C007C7C003C78001C78001CF8000CF8000CFC000CFC0000FF0000FFE0007FFF007FFFC03FFF
F01FFFF80FFFFC03FFFE003FFE0003FF00007F00003F00003FC0001FC0001FC0001FE0001EE000
1EF0003CFC003CFF00F8C7FFE080FF8018227DA11F>83 D<7FFFFFFF807FFFFFFF807E03F80F80
7803F807807003F803806003F80180E003F801C0E003F801C0C003F800C0C003F800C0C003F800
C0C003F800C00003F800000003F800000003F800000003F800000003F800000003F800000003F8
00000003F800000003F800000003F800000003F800000003F800000003F800000003F800000003
F800000003F800000003F800000003F800000003F800000003F8000003FFFFF80003FFFFF80022
227EA127>I<FFFF800FFEFFFF800FFE07F00000C007F80000C003F800018003F800018001FC00
030001FC00030001FE00070000FE00060000FF000600007F000C00007F800C00003F801800003F
801800003FC03800001FC03000001FE03000000FE06000000FF060000007F0C0000007F0C00000
07F9C0000003F980000003FD80000001FF00000001FF00000000FE00000000FE00000000FE0000
00007C000000007C00000000380000000038000027227FA12A>86 D<07FC001FFF803F07C03F03
E03F01E03F01F01E01F00001F00001F0003FF003FDF01FC1F03F01F07E01F0FC01F0FC01F0FC01
F0FC01F07E02F07E0CF81FF87F07E03F18167E951B>97 D<FF000000FF0000001F0000001F0000
001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0F
E0001F3FF8001FF07C001F801E001F001F001F000F801F000F801F000FC01F000FC01F000FC01F
000FC01F000FC01F000FC01F000FC01F000FC01F000F801F001F801F801F001FC03E001EE07C00
1C3FF800180FC0001A237EA21F>I<00FF8007FFE00F83F01F03F03E03F07E03F07C01E07C0000
FC0000FC0000FC0000FC0000FC0000FC00007C00007E00007E00003E00301F00600FC0E007FF80
00FE0014167E9519>I<0001FE000001FE0000003E0000003E0000003E0000003E0000003E0000
003E0000003E0000003E0000003E0000003E0000003E0001FC3E0007FFBE000F81FE001F007E00
3E003E007E003E007C003E00FC003E00FC003E00FC003E00FC003E00FC003E00FC003E00FC003E
00FC003E007C003E007C003E003E007E001E00FE000F83BE0007FF3FC001FC3FC01A237EA21F>
I<00FE0007FF800F87C01E01E03E01F07C00F07C00F8FC00F8FC00F8FFFFF8FFFFF8FC0000FC00
00FC00007C00007C00007E00003E00181F00300FC07003FFC000FF0015167E951A>I<003F8000
FFC001E3E003C7E007C7E00F87E00F83C00F80000F80000F80000F80000F80000F8000FFFC00FF
FC000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F
80000F80000F80000F80000F80000F80007FF8007FF80013237FA211>I<03FC1E0FFF7F1F0F8F
3E07CF3C03C07C03E07C03E07C03E07C03E07C03E03C03C03E07C01F0F801FFF0013FC00300000
3000003800003FFF801FFFF00FFFF81FFFFC3800FC70003EF0001EF0001EF0001EF0001E78003C
7C007C3F01F80FFFE001FF0018217E951C>I<FF000000FF0000001F0000001F0000001F000000
1F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F07E0001F1FF8
001F307C001F403C001F803E001F803E001F003E001F003E001F003E001F003E001F003E001F00
3E001F003E001F003E001F003E001F003E001F003E001F003E001F003E001F003E00FFE1FFC0FF
E1FFC01A237EA21F>I<1C003F007F007F007F003F001C000000000000000000000000000000FF
00FF001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F00
FFE0FFE00B247EA310>I<0038007C00FE00FE00FE007C00380000000000000000000000000000
03FE03FE003E003E003E003E003E003E003E003E003E003E003E003E003E003E003E003E003E00
3E003E003E003E003E003E783EFC3EFC3CFC7C78F87FE01F800F2E83A311>I<FF00FF001F001F
001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F00
1F001F001F001F001F001F001F001F001F001F00FFE0FFE00B237EA210>108
D<FF07F007F000FF1FFC1FFC001F303E303E001F403E403E001F801F801F001F801F801F001F00
1F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F
001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F00
1F001F00FFE0FFE0FFE0FFE0FFE0FFE02B167E9530>I<FF07E000FF1FF8001F307C001F403C00
1F803E001F803E001F003E001F003E001F003E001F003E001F003E001F003E001F003E001F003E
001F003E001F003E001F003E001F003E001F003E001F003E00FFE1FFC0FFE1FFC01A167E951F>
I<00FE0007FFC00F83E01E00F03E00F87C007C7C007C7C007CFC007EFC007EFC007EFC007EFC00
7EFC007EFC007E7C007C7C007C3E00F81F01F00F83E007FFC000FE0017167E951C>I<FF0FE000
FF3FF8001FF07C001F803E001F001F001F001F801F001F801F000FC01F000FC01F000FC01F000F
C01F000FC01F000FC01F000FC01F000FC01F001F801F001F801F803F001FC03E001FE0FC001F3F
F8001F0FC0001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F000000FF
E00000FFE000001A207E951F>I<FE1F00FE3FC01E67E01EC7E01E87E01E87E01F83C01F00001F
00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F0000FFF000FF
F00013167E9517>114 D<0FF3003FFF00781F00600700E00300E00300F00300FC00007FE0007F
F8003FFE000FFF0001FF00000F80C00780C00380E00380E00380F00700FC0E00EFFC00C7F00011
167E9516>I<0180000180000180000180000380000380000780000780000F80003F8000FFFF00
FFFF000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F8180
0F81800F81800F81800F81800F830007C30003FE0000F80011207F9F16>I<FF01FE00FF01FE00
1F003E001F003E001F003E001F003E001F003E001F003E001F003E001F003E001F003E001F003E
001F003E001F003E001F003E001F003E001F003E001F007E001F00FE000F81BE0007FF3FC001FC
3FC01A167E951F>I<FFE01FE0FFE01FE00F8006000F8006000FC00E0007C00C0007E01C0003E0
180003E0180001F0300001F0300000F8600000F86000007CC000007CC000007FC000003F800000
3F8000001F0000001F0000000E0000000E00001B167F951E>I<FFE7FF07F8FFE7FF07F81F0078
00C00F807801800F807C01800F807C018007C07E030007C0DE030007E0DE070003E0DF060003E1
8F060001F18F0C0001F38F8C0001FB079C0000FB07D80000FE03D800007E03F000007E03F00000
7C01F000003C01E000003800E000001800C00025167F9528>I<FFE07FC0FFE07FC00F801C0007
C0380003E0700003F0600001F8C00000F98000007F8000003F0000001F0000001F8000003FC000
0037C0000063E00000C1F00001C0F8000380FC0007007E000E003E00FF80FFE0FF80FFE01B167F
951E>I E /Fc 1 98 df<03CC0E2E181C381C301C701CE038E038E038E038C072C072C07260F2
61341E180F107C8F14>97 D E /Fd 2 104 df<007001C0038007000700070007000700070007
000700070007000700070007000E001C00F0001C000E0007000700070007000700070007000700
07000700070007000700038001C000700C257D9B13>102 D<F0001C000E000700070007000700
070007000700070007000700070007000700038001C0007001C003800700070007000700070007
0007000700070007000700070007000E001C00F0000C257D9B13>I E /Fe
34 122 df<00FC000182000703000607000E02000E00000E00000E00000E00000E0000FFFF000E
07000E07000E07000E07000E07000E07000E07000E07000E07000E07000E07000E07000E07000E
07007F0FE0131A809915>12 D<60F0F868080808101020C0050B7D990B>39
D<60F0F07010101020204080040B7D830B>44 D<60F0F06004047D830B>46
D<078018603030303060186018E01CE01CE01CE01CE01CE01CE01CE01CE01CE01CE01CE01C6018
601870383030186007800E187E9713>48 D<0F8010E02070607870382038007800700070006000
C00F8000E000700038003C003CE03CE03CC03C4038407030E00F800E187E9713>51
D<60F0F060000000000000000060F0F0701010102020408004177D8F0B>59
D<000C0000000C0000000C0000001E0000001E0000003F00000027000000270000004380000043
8000004380000081C0000081C0000081C0000100E0000100E00001FFE000020070000200700006
007800040038000400380008001C0008001C001C001E00FF00FFC01A1A7F991D>65
D<FFFF000E01C00E00E00E00700E00780E00780E00780E00780E00780E00F00E00E00E03C00FFF
800E01E00E00700E00780E003C0E003C0E003C0E003C0E003C0E00380E00780E00F00E01E0FFFF
80161A7E991B>I<FFFFE00E00E00E00600E00200E00300E00100E00100E00100E04000E04000E
04000E0C000FFC000E0C000E04000E04000E04000E00000E00000E00000E00000E00000E00000E
00000E0000FFF000141A7E9919>70 D<FE01FF0F00380F00100B80100B801009C01008E01008E0
10087010087010083810081C10081C10080E10080E100807100803900803900801D00801D00800
F00800700800700800301C0030FF8010181A7E991D>78 D<0FC21836200E6006C006C002C002C0
02E00070007E003FE01FF807FC003E000E00070003800380038003C002C006E004D81887E0101A
7E9915>83 D<FEFEC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0
C0C0FEFE07257D9B0B>91 D<FEFE06060606060606060606060606060606060606060606060606
0606060606060606FEFE0725809B0B>93 D<3F8070C070E020700070007007F01C7030707070E0
70E071E071E0F171FB1E3C10107E8F13>97 D<FC00001C00001C00001C00001C00001C00001C00
001C00001C00001C00001CF8001F0E001E07001C03801C01801C01C01C01C01C01C01C01C01C01
C01C01C01C03801C03001E07001B0C0010F000121A7F9915>I<07F80C1C381C30087000E000E0
00E000E000E000E0007000300438080C1807E00E107F8F11>I<007E00000E00000E00000E0000
0E00000E00000E00000E00000E00000E0003CE000C3E00380E00300E00700E00E00E00E00E00E0
0E00E00E00E00E00E00E00600E00700E00381E001C2E0007CFC0121A7F9915>I<07C01C303018
7018600CE00CFFFCE000E000E000E0006000300438080C1807E00E107F8F11>I<01F003180738
0E100E000E000E000E000E000E00FFC00E000E000E000E000E000E000E000E000E000E000E000E
000E000E007FE00D1A80990C>I<0FCE187330307038703870387038303018602FC02000600070
003FF03FFC1FFE600FC003C003C003C0036006381C07E010187F8F13>I<18003C003C00180000
0000000000000000000000FC001C001C001C001C001C001C001C001C001C001C001C001C001C00
1C00FF80091A80990A>105 D<FC001C001C001C001C001C001C001C001C001C001C001C001C00
1C001C001C001C001C001C001C001C001C001C001C001C00FF80091A80990A>108
D<FC7C1F001D8E63801E0781C01E0781C01C0701C01C0701C01C0701C01C0701C01C0701C01C07
01C01C0701C01C0701C01C0701C01C0701C01C0701C0FF9FE7F81D107F8F20>I<FCF8001D0C00
1E0E001E0E001C0E001C0E001C0E001C0E001C0E001C0E001C0E001C0E001C0E001C0E001C0E00
FF9FC012107F8F15>I<07E01C38300C700E6006E007E007E007E007E007E0076006700E381C1C
3807E010107F8F13>I<FCF8001F0E001E07001C03801C03801C01C01C01C01C01C01C01C01C01
C01C01C01C03801C03001E07001F0C001CF0001C00001C00001C00001C00001C00001C0000FF80
0012177F8F15>I<FCE01D701E701E201C001C001C001C001C001C001C001C001C001C001C00FF
C00C107F8F0F>114 D<1F2060E04020C020C020F0007F003FC01FE000F080708030C030C020F0
408F800C107F8F0F>I<0400040004000C000C001C003C00FFC01C001C001C001C001C001C001C
001C001C201C201C201C201C200E4003800B177F960F>I<FC7E001C0E001C0E001C0E001C0E00
1C0E001C0E001C0E001C0E001C0E001C0E001C0E001C0E001C1E000C2E0007CFC012107F8F15>
I<FF1F803C06001C04001C04001E0C000E08000E080007100007100007900003A00003A00001C0
0001C00001C00000800011107F8F14>I<FF3F803C1C001C18000E100007200007600003C00001
C00001E00003E000027000043800083800181C00381E00FC3FC012107F8F14>120
D<FF1F803C06001C04001C04001E0C000E08000E080007100007100007900003A00003A00001C0
0001C00001C000008000008000010000010000E10000E20000E4000078000011177F8F14>I
E /Ff 3 51 df<00C00000C00000C00000C00000C00000C00000C00000C00000C000FFFF80FFFF
8000C00000C00000C00000C00000C00000C00000C00000C00000C00011147E8F17>43
D<0C003C00CC000C000C000C000C000C000C000C000C000C000C000C000C00FF8009107E8F0F>
49 D<1F00618040C08060C0600060006000C00180030006000C00102020207FC0FFC00B107F8F
0F>I E /Fg 5 107 df<07E01FF83FFC7FFE7FFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFE7F
FE3FFC1FF807E010127D9317>15 D<000000040000000002000000000200000000010000000000
8000000000400000000020FFFFFFFFFCFFFFFFFFFC000000002000000000400000000080000000
010000000002000000000200000000040026107D922D>33 D<000F0038006000E001C001C001C0
01C001C001C001C001C001C001C001C001C001C001C001C0038007001E00F8001E000700038001
C001C001C001C001C001C001C001C001C001C001C001C001C001C001C000E000600038000F102D
7DA117>102 D<F8001E000700038001C001C001C001C001C001C001C001C001C001C001C001C0
01C001C001C000E000600038000F0038006000E001C001C001C001C001C001C001C001C001C001
C001C001C001C001C001C0038007001E00F800102D7DA117>I<C0C0C0C0C0C0C0C0C0C0C0C0C0
C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0022D7BA10D>
106 D E /Fh 2 51 df<03000700FF000700070007000700070007000700070007000700070007
00070007000700070007007FF00C157E9412>49 D<0F8030E040708030C038E038403800380070
0070006000C00180030006000C08080810183FF07FF0FFF00D157E9412>I
E /Fi 44 121 df<387CFEFFFF7F3B030306060E0C18702008107C9F0F>39
D<387CFEFEFE7C3807077C860F>46 D<00E00001E0000FE000FFE000F3E00003E00003E00003E0
0003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E0
0003E00003E00003E00003E00003E00003E000FFFF80FFFF80111D7C9C1A>49
D<07F0001FFE00383F007C1F80FE0FC0FE0FC0FE0FE0FE07E07C07E03807E0000FE0000FC0000F
C0001F80001F00003E0000780000F00000E00001C0000380600700600E00601C00E01FFFC03FFF
C07FFFC0FFFFC0FFFFC0131D7D9C1A>I<01FC0007FF000E0F801E0FC03F07E03F07E03F07E03F
07E01E0FC0000FC0000F80001F0001FC0001FC00000F800007C00003E00003F00003F83803F87C
03F8FE03F8FE03F8FE03F0FC03F07807E03C0FC01FFF8003FC00151D7E9C1A>I<0001C00003C0
0007C00007C0000FC0001FC0003BC00073C00063C000C3C00183C00383C00703C00E03C00C03C0
1803C03803C07003C0E003C0FFFFFEFFFFFE0007C00007C00007C00007C00007C00007C000FFFE
00FFFE171D7F9C1A>I<3803803FFF803FFF003FFE003FFC003FF0003F80003000003000003000
0030000033F8003FFE003C1F00380F803007C00007C00007E00007E07807E0FC07E0FC07E0FC07
E0FC07C0780FC0600F80381F001FFC0007F000131D7D9C1A>I<003F0001FFC007E0E00F81E01F
03F01E03F03E03F07C03F07C01E07C0000FC1000FCFF00FDFFC0FD03E0FE01F0FE01F0FC01F8FC
01F8FC01F8FC01F87C01F87C01F87C01F83C01F03E01F01E03E00F07C007FF8001FE00151D7E9C
1A>I<6000007FFFF87FFFF87FFFF07FFFE07FFFE0E001C0C00380C00700C00E00000C00001C00
00380000780000780000F00000F00000F00001F00001F00001F00003F00003F00003F00003F000
03F00003F00003F00003F00001E000151E7D9D1A>I<01FC0007FF000E07801C01C01800E03800
E03800E03C00E03F00E03FC1C01FE3801FFF000FFE0007FF8007FFC01FFFE03C3FF0780FF07803
F8F001F8F000F8F00078F00078F000707800707C00E03E03C00FFF8003FC00151D7E9C1A>I<00
00E000000000E000000001F000000001F000000001F000000003F800000003F800000006FC0000
0006FC0000000EFE0000000C7E0000000C7E000000183F000000183F000000303F800000301F80
0000701FC00000600FC00000600FC00000C007E00000FFFFE00001FFFFF000018003F000018003
F000030001F800030001F800060001FC00060000FC000E0000FE00FFE00FFFE0FFE00FFFE0231F
7E9E28>65 D<FFFFFE00FFFFFFC007C007E007C003F007C001F807C001FC07C001FC07C001FC07
C001FC07C001FC07C001F807C003F807C007F007C00FE007FFFF8007FFFFC007C003F007C001F8
07C001FC07C000FC07C000FE07C000FE07C000FE07C000FE07C000FE07C000FC07C001FC07C003
F807C007F0FFFFFFE0FFFFFF001F1F7E9E25>I<0007FC02003FFF0E00FE03DE03F000FE07E000
3E0FC0001E1F80001E3F00000E3F00000E7F0000067E0000067E000006FE000000FE000000FE00
0000FE000000FE000000FE000000FE0000007E0000007E0000067F0000063F0000063F00000C1F
80000C0FC0001807E0003803F0007000FE01C0003FFF800007FC001F1F7D9E26>I<FFFFFE0000
FFFFFFC00007E007F00007E001F80007E000FC0007E0007E0007E0003F0007E0003F0007E0001F
8007E0001F8007E0001F8007E0001FC007E0001FC007E0001FC007E0001FC007E0001FC007E000
1FC007E0001FC007E0001FC007E0001FC007E0001F8007E0001F8007E0001F8007E0003F0007E0
003F0007E0007E0007E000FC0007E001F80007E007F000FFFFFFC000FFFFFE0000221F7E9E28>
I<FFFFFFE0FFFFFFE007E007E007E001E007E000E007E0006007E0007007E0003007E0003007E0
603007E0603007E0600007E0E00007E1E00007FFE00007FFE00007E1E00007E0E00007E0600007
E0600C07E0600C07E0000C07E0001807E0001807E0001807E0003807E0007807E000F807E003F0
FFFFFFF0FFFFFFF01E1F7E9E22>I<FFFFFFE0FFFFFFE007E007E007E001E007E000E007E00060
07E0007007E0003007E0003007E0603007E0603007E0600007E0E00007E1E00007FFE00007FFE0
0007E1E00007E0E00007E0600007E0600007E0600007E0000007E0000007E0000007E0000007E0
000007E0000007E0000007E00000FFFF8000FFFF80001C1F7E9E21>I<FFFFFFFF07E007E007E0
07E007E007E007E007E007E007E007E007E007E007E007E007E007E007E007E007E007E007E007
E007E007E007E007E0FFFFFFFF101F7E9E14>73 D<FFFF8000FFFF800007E0000007E0000007E0
000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007
E0000007E0000007E0000007E0000007E0000007E000C007E000C007E000C007E001C007E001C0
07E001C007E0038007E0038007E00F8007E01F80FFFFFF80FFFFFF801A1F7E9E1F>76
D<001FF80000FFFF0001F81F8007E007E00FC003F01F8001F81F0000F83F0000FC7F0000FE7E00
007E7E00007EFE00007FFE00007FFE00007FFE00007FFE00007FFE00007FFE00007FFE00007FFE
00007F7E00007E7F0000FE7F0000FE3F0000FC3F8001FC1F8001F80FC003F007E007E001F81F80
00FFFF00001FF800201F7D9E27>79 D<FFFFFE00FFFFFF8007E00FE007E003F007E001F807E001
F807E001FC07E001FC07E001FC07E001FC07E001FC07E001F807E001F807E003F007E00FE007FF
FF8007FFFE0007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007
E0000007E0000007E0000007E00000FFFF0000FFFF00001E1F7E9E24>I<FFFFF80000FFFFFF00
0007E01FC00007E007E00007E003F00007E003F00007E003F80007E003F80007E003F80007E003
F80007E003F00007E003F00007E007E00007E01FC00007FFFF000007FFFC000007E03E000007E0
1F000007E01F800007E00FC00007E00FC00007E00FC00007E00FE00007E00FE00007E00FE00007
E00FE03007E00FF03007E00FF07007E007F860FFFF01FFE0FFFF007F80241F7E9E27>82
D<03FC080FFF381E03F83800F8700078700038F00038F00018F00018F80000FC00007FC0007FFE
003FFF801FFFE00FFFF007FFF000FFF80007F80000FC00007C00003CC0003CC0003CC0003CE000
38E00078F80070FE01E0E7FFC081FF00161F7D9E1D>I<7FFFFFFC7FFFFFFC7C07E07C7007E01C
6007E00C6007E00CE007E00EC007E006C007E006C007E006C007E0060007E0000007E0000007E0
000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007
E0000007E0000007E0000007E0000007E00003FFFFC003FFFFC01F1E7E9D24>I<07FC001FFF00
3F0F803F07C03F03E03F03E00C03E00003E0007FE007FBE01F03E03C03E07C03E0F803E0F803E0
F803E0FC05E07E0DE03FF9FE0FE07E17147F9319>97 D<FF0000FF00001F00001F00001F00001F
00001F00001F00001F00001F00001F00001F00001F1FC01F7FF01FE0F81F807C1F007E1F003E1F
003E1F003F1F003F1F003F1F003F1F003F1F003F1F003E1F003E1F007C1F807C1EC1F81C7FE018
1F8018207E9F1D>I<01FE0007FF801F0FC03E0FC03E0FC07C0FC07C0300FC0000FC0000FC0000
FC0000FC0000FC00007C00007E00003E00603F00C01F81C007FF0001FC0013147E9317>I<0007
F80007F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F801F8F80FFE
F81F83F83E01F87E00F87C00F87C00F8FC00F8FC00F8FC00F8FC00F8FC00F8FC00F87C00F87C00
F87E00F83E01F81F07F80FFEFF03F8FF18207E9F1D>I<01FE0007FF801F83E03F01F07E00F07E
00F8FC00F8FC00F8FFFFF8FFFFF8FC0000FC0000FC00007C00007E00003E00183F00380F807007
FFE000FF8015147F9318>I<001F8000FFC001F3E003E7E003C7E007C7E007C3C007C00007C000
07C00007C00007C000FFFC00FFFC0007C00007C00007C00007C00007C00007C00007C00007C000
07C00007C00007C00007C00007C00007C00007C00007C0003FFC003FFC0013207F9F10>I<01FC
3C07FFFE0F079E1E03DE3E03E03E03E03E03E03E03E03E03E01E03C00F07800FFF0009FC001800
001800001C00001FFF800FFFF007FFF81FFFFC3C007C70003EF0001EF0001EF0001E78003C7800
3C3F01F80FFFE001FF00171E7F931A>I<FF0000FF00001F00001F00001F00001F00001F00001F
00001F00001F00001F00001F00001F0FC01F3FE01F61F01FC0F81F80F81F00F81F00F81F00F81F
00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F8FFE3FFFFE3FF18207D9F
1D>I<1C003F007F007F007F003F001C00000000000000000000000000FF00FF001F001F001F00
1F001F001F001F001F001F001F001F001F001F001F001F001F00FFE0FFE00B217EA00E>I<FF00
00FF00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F01FE1F01
FE1F00F01F01C01F03801F07001F1E001F38001F7C001FFE001FFF001F1F001E0F801E07C01E07
E01E03F01E01F01E00F8FFC3FFFFC3FF18207E9F1C>107 D<FF00FF001F001F001F001F001F00
1F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F
001F001F001F00FFE0FFE00B207E9F0E>I<FE0FE03F80FE1FF07FC01E70F9C3E01E407D01F01E
807E01F01F807E01F01F007C01F01F007C01F01F007C01F01F007C01F01F007C01F01F007C01F0
1F007C01F01F007C01F01F007C01F01F007C01F01F007C01F01F007C01F0FFE3FF8FFEFFE3FF8F
FE27147D932E>I<FE0FC0FE3FE01E61F01EC0F81E80F81F00F81F00F81F00F81F00F81F00F81F
00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F8FFE3FFFFE3FF18147D931D>I<01FF00
07FFC01F83F03E00F83E00F87C007C7C007CFC007EFC007EFC007EFC007EFC007EFC007E7C007C
7C007C3E00F83E00F81F83F007FFC001FF0017147F931A>I<FF1FC0FF7FF01FE1F81F80FC1F00
7E1F007E1F003E1F003F1F003F1F003F1F003F1F003F1F003F1F003E1F007E1F007C1F80FC1FC1
F81F7FE01F1F801F00001F00001F00001F00001F00001F00001F0000FFE000FFE000181D7E931D
>I<FE3E00FE7F801ECFC01E8FC01E8FC01F8FC01F03001F00001F00001F00001F00001F00001F
00001F00001F00001F00001F00001F0000FFF000FFF00012147E9316>114
D<0FE63FFE701E600EE006E006F800FFC07FF83FFC1FFE03FE001FC007C007E007F006F81EFFFC
C7F010147E9315>I<01800180018003800380038007800F803F80FFFCFFFC0F800F800F800F80
0F800F800F800F800F800F800F860F860F860F860F8607CC03F801F00F1D7F9C14>I<FF07F8FF
07F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F
00F81F01F81F01F80F06F807FCFF03F8FF18147D931D>I<FFE7FE1FE0FFE7FE1FE01F00F00700
1F00F803000F80F806000F80F8060007C1BC0C0007C1BC0C0007C1BE0C0003E31E180003E31E18
0001F60F300001F60F300001F60FB00000FC07E00000FC07E000007803C000007803C000007803
C000003001800023147F9326>119 D<FFE1FF00FFE1FF000F80700007C0E00007E0C00003E180
0001F3800000FF0000007E0000003E0000003F0000007F8000006F800000C7C0000183E0000381
F0000701F8000E00FC00FF81FF80FF81FF8019147F931C>I E /Fj 73 127
df<70F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F870000000000070F8F8F870051C779B18>33
D<4010E038F078E038E038E038E038E038E038E038E038E038E03860300D0E7B9C18>I<030600
078F00078F00078F00078F00078F00078F007FFFC0FFFFE0FFFFE07FFFC00F1E000F1E000F1E00
0F1E000F1E000F1E007FFFC0FFFFE0FFFFE07FFFC01E3C001E3C001E3C001E3C001E3C001E3C00
0C1800131C7E9B18>I<3803007C07807C0780EE0F80EE0F00EE0F00EE1F00EE1E00EE1E00EE3E
007C3C007C3C00387C0000780000780000F80000F00001F00001E00001E00003E00003C00003C0
0007C0000783800787C00F87C00F0EE00F0EE01F0EE01E0EE01E0EE03E0EE03C07C03C07C01803
8013247E9F18>37 D<387C7C7E3E0E0E0E1C1C38F8F0C0070E789B18>39
D<007000F001E003C007800F001E001C00380038007000700070007000E000E000E000E000E000
E000E000E0007000700070007000380038001C001E000F00078003C001F000F000700C24799F18
>I<6000F00078003C001E000F000780038001C001C000E000E000E000E0007000700070007000
7000700070007000E000E000E000E001C001C0038007800F001E003C007800F00060000C247C9F
18>I<01C00001C00001C00001C000C1C180F1C780F9CF807FFF001FFC0007F00007F0001FFC00
7FFF00F9CF80F1C780C1C18001C00001C00001C00001C00011147D9718>I<00600000F00000F0
0000F00000F00000F00000F00000F0007FFFC0FFFFE0FFFFE07FFFC000F00000F00000F00000F0
0000F00000F00000F00000600013147E9718>I<1C3E7E7F3F1F070E1E7CF860080C788518>I<7F
FF00FFFF80FFFF807FFF0011047D8F18>I<3078FCFC78300606778518>I<000300000780000780
000F80000F00001F00001E00001E00003E00003C00007C0000780000780000F80000F00001F000
01E00003E00003C00003C00007C0000780000F80000F00000F00001F00001E00003E00003C0000
3C00007C0000780000F80000F00000F0000060000011247D9F18>I<01F00007FC000FFE001F1F
001C07003803807803C07001C07001C0E000E0E000E0E000E0E000E0E000E0E000E0E000E0E000
E0E000E0F001E07001C07001C07803C03803801C07001F1F000FFE0007FC0001F000131C7E9B18
>I<01800380038007800F803F80FF80FB80438003800380038003800380038003800380038003
800380038003800380038003807FFCFFFE7FFC0F1C7B9B18>I<03F0000FFE003FFF007C0F8070
03C0E001C0F000E0F000E06000E00000E00000E00001C00001C00003C0000780000F00001E0000
3C0000780000F00001E00007C0000F80001E00E03C00E07FFFE0FFFFE07FFFE0131C7E9B18>I<
07F8001FFE003FFF007807807803C07801C03001C00001C00003C0000380000F0003FF0003FE00
03FF000007800003C00001C00000E00000E00000E0F000E0F000E0F001C0F003C07C07803FFF00
1FFE0003F800131C7E9B18>I<001F00003F0000770000770000E70001E70001C7000387000787
000707000E07001E07003C0700380700780700F00700FFFFF8FFFFF8FFFFF80007000007000007
00000700000700000700007FF000FFF8007FF0151C7F9B18>I<1FFF803FFF803FFF8038000038
00003800003800003800003800003800003800003BF8003FFE003FFF003C07801803C00001C000
00E00000E06000E0F000E0F000E0E001C07003C07C0F803FFF001FFC0003F000131C7E9B18>I<
E00000FFFFE0FFFFE0FFFFE0E003C0E00780000700000E00001E00001C00003800003800007000
00700000E00000E00000E00001C00001C00001C00001C00003C000038000038000038000038000
038000038000038000131D7E9C18>55 D<3078FCFC783000000000000000003078FCFC78300614
779318>58 D<183C7E7E3C180000000000000000183C7E7E3E1E0E1C3C78F060071A789318>I<
000300000780001F80003F00007E0001FC0003F00007E0001FC0003F00007E0000FC0000FC0000
7E00003F00001FC00007E00003F00001FC00007E00003F00001F8000078000030011187D9918>
I<7FFFC0FFFFE0FFFFE0FFFFE0000000000000000000000000FFFFE0FFFFE0FFFFE07FFFC0130C
7E9318>I<600000F00000FC00007E00003F00001FC00007E00003F00001FC00007E00003F0000
1F80001F80003F00007E0001FC0003F00007E0001FC0003F00007E0000FC0000F0000060000011
187D9918>I<0FF0003FFC007FFF00700F00F00380F00380600780000F00003E00007C0001F000
01E00003C00003C00003C00003C00003C000038000000000000000000000000000000000038000
07C00007C00007C000038000111C7D9B18>I<007C0001FE0007FF000F87801E03C03C1DC0387F
C070FFE071E3E071C1E0E1C1E0E380E0E380E0E380E0E380E0E380E0E380E0E1C1C071C1C071E3
C070FF80387F003C1C001E00E00F83E007FFC001FF80007E00131C7E9B18>I<00700000F80000
F80000D80000D80001DC0001DC0001DC00018C00038E00038E00038E00038E0003060007070007
07000707000707000FFF800FFF800FFF800E03800E03801C01C01C01C07F07F0FF8FF87F07F015
1C7F9B18>I<00F8E003FEE007FFE00F07E01E03E03C01E03800E07000E07000E0700000E00000
E00000E00000E00000E00000E00000E00000E000007000007000E07000E03800E03C00E01E01C0
0F07C007FF8003FE0000F800131C7E9B18>67 D<FFFFF0FFFFF0FFFFF01C00701C00701C00701C
00701C00001C00001C0E001C0E001C0E001FFE001FFE001FFE001C0E001C0E001C0E001C00001C
00001C00381C00381C00381C00381C0038FFFFF8FFFFF8FFFFF8151C7F9B18>69
D<FFFFE0FFFFE0FFFFE01C00E01C00E01C00E01C00E01C00001C00001C1C001C1C001C1C001FFC
001FFC001FFC001C1C001C1C001C1C001C00001C00001C00001C00001C00001C00001C0000FFC0
00FFC000FFC000131C7E9B18>I<01F1C003FDC00FFFC01F0FC01C03C03803C03801C07001C070
01C0700000E00000E00000E00000E00000E00000E00FF0E01FF0E00FF07001C07001C07003C038
03C03803C01C07C01F0FC00FFFC003FDC001F1C0141C7E9B18>I<7FFF00FFFF807FFF0001C000
01C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C000
01C00001C00001C00001C00001C00001C00001C00001C0007FFF00FFFF807FFF00111C7D9B18>
73 D<7FE000FFE0007FE0000E00000E00000E00000E00000E00000E00000E00000E00000E0000
0E00000E00000E00000E00000E00000E00000E00000E00000E00700E00700E00700E00700E0070
7FFFF0FFFFF07FFFF0141C7F9B18>76 D<FC01F8FE03F8FE03F83B06E03B06E03B06E03B06E03B
8EE03B8EE0398CE0398CE039DCE039DCE039DCE038D8E038D8E038F8E03870E03870E03800E038
00E03800E03800E03800E03800E0FE03F8FE03F8FE03F8151C7F9B18>I<7E07F0FF0FF87F07F0
1D81C01D81C01D81C01DC1C01CC1C01CC1C01CE1C01CE1C01CE1C01C61C01C71C01C71C01C31C0
1C39C01C39C01C39C01C19C01C19C01C1DC01C0DC01C0DC01C0DC07F07C0FF87C07F03C0151C7F
9B18>I<0FF8003FFE007FFF00780F00700700F00780E00380E00380E00380E00380E00380E003
80E00380E00380E00380E00380E00380E00380E00380E00380E00380E00380F00780700700780F
007FFF003FFE000FF800111C7D9B18>I<FF07F8FF07F8FF07F81C01C01C01C01C01C01C01C00E
03800E03800E03800E03800F0780070700070700070700070700038E00038E00038E00038E0001
8C0001DC0001DC0001DC0000D80000F80000F800007000151C7F9B18>86
D<3FFFE07FFFE07FFFE07001C07003C0700780700700000F00001E00001C00003C000078000070
0000F00001E00001C00003C0000780000700000F00001E00E01C00E03C00E07800E07000E0FFFF
E0FFFFE0FFFFE0131C7E9B18>90 D<FFF8FFF8FFF8E000E000E000E000E000E000E000E000E000
E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E0
00E000FFF8FFF8FFF80D24779F18>I<600000F00000F00000F800007800007C00003C00003C00
003E00001E00001F00000F00000F00000F800007800007C00003C00003C00003E00001E00001F0
0000F00000F800007800007800007C00003C00003E00001E00001E00001F00000F00000F800007
8000078000030011247D9F18>I<FFF8FFF8FFF800380038003800380038003800380038003800
380038003800380038003800380038003800380038003800380038003800380038003800380038
0038FFF8FFF8FFF80D247F9F18>I<7FFF00FFFF80FFFF807FFF0011047D7F18>95
D<061E3E387070E0E0E0F8FC7C7C38070E789E18>I<1FE0003FF8007FFC00781E00300E000007
0000070000FF0007FF001FFF007F0700780700E00700E00700E00700F00F00781F003FFFF01FFB
F007E1F014147D9318>I<7E0000FE00007E00000E00000E00000E00000E00000E00000E3E000E
FF800FFFC00FC1E00F80E00F00700E00700E00380E00380E00380E00380E00380E00380F00700F
00700F80E00FC1E00FFFC00EFF80063E00151C809B18>I<01FE0007FF001FFF803E0780380300
700000700000E00000E00000E00000E00000E00000E000007000007001C03801C03E03C01FFF80
07FF0001FC0012147D9318>I<001F80003F80001F8000038000038000038000038000038003E3
800FFB801FFF803C1F80380F80700780700380E00380E00380E00380E00380E00380E003807007
80700780380F803C1F801FFFF00FFBF803E3F0151C7E9B18>I<01F00007FC001FFE003E0F0038
0780700380700380E001C0E001C0FFFFC0FFFFC0FFFFC0E000007000007001C03801C03E03C01F
FF8007FF0001FC0012147D9318>I<001F80007FC000FFE000E1E001C0C001C00001C00001C000
7FFFC0FFFFC0FFFFC001C00001C00001C00001C00001C00001C00001C00001C00001C00001C000
01C00001C00001C00001C0007FFF007FFF007FFF00131C7F9B18>I<01E1F007FFF80FFFF81E1E
301C0E003807003807003807003807003807001C0E001E1E001FFC001FF80039E0003800001C00
001FFE001FFFC03FFFE07801F0700070E00038E00038E00038E000387800F07E03F01FFFC00FFF
8001FC00151F7F9318>I<7E0000FE00007E00000E00000E00000E00000E00000E00000E3E000E
FF800FFFC00FC1C00F80E00F00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E
00E00E00E00E00E07FC3FCFFE7FE7FC3FC171C809B18>I<03800007C00007C00007C000038000
0000000000000000000000007FC000FFC0007FC00001C00001C00001C00001C00001C00001C000
01C00001C00001C00001C00001C00001C00001C00001C000FFFF00FFFF80FFFF00111D7C9C18>
I<0038007C007C007C003800000000000000000FFC1FFC0FFC001C001C001C001C001C001C001C
001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C6038F078FFF07FE03F
800E277E9C18>I<FE0000FE0000FE00000E00000E00000E00000E00000E00000E3FF00E7FF00E
3FF00E07800E0F000E1E000E3C000E78000EF0000FF8000FFC000F9C000F0E000E0F000E07000E
03800E03C0FFC7F8FFC7F8FFC7F8151C7F9B18>I<7FE000FFE0007FE00000E00000E00000E000
00E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E000
00E00000E00000E00000E00000E00000E0007FFFC0FFFFE07FFFC0131C7E9B18>I<7CE0E000FF
FBF8007FFFF8001F1F1C001E1E1C001E1E1C001C1C1C001C1C1C001C1C1C001C1C1C001C1C1C00
1C1C1C001C1C1C001C1C1C001C1C1C001C1C1C001C1C1C007F1F1F00FFBFBF807F1F1F00191481
9318>I<7E3E00FEFF807FFFC00FC1C00F80E00F00E00E00E00E00E00E00E00E00E00E00E00E00
E00E00E00E00E00E00E00E00E00E00E07FC3FCFFE7FE7FC3FC1714809318>I<01F0000FFE001F
FF003E0F803803807001C07001C0E000E0E000E0E000E0E000E0E000E0F001E07001C07803C03C
07803E0F801FFF000FFE0001F00013147E9318>I<7E3E00FEFF807FFFC00FC1E00F80E00F0070
0E00700E00380E00380E00380E00380E00380E00380F00700F00700F80E00FC1E00FFFC00EFF80
0E3E000E00000E00000E00000E00000E00000E00000E00007FC000FFE0007FC000151E809318>
I<01E38007FB801FFF803E1F80380F80700780700780E00380E00380E00380E00380E00380E003
80700780700780380F803C1F801FFF800FFB8003E3800003800003800003800003800003800003
80000380003FF8003FF8003FF8151E7E9318>I<7F87E0FF9FF07FBFF803F87803F03003E00003
C00003C0000380000380000380000380000380000380000380000380000380007FFE00FFFF007F
FE0015147F9318>I<07F7003FFF007FFF00780F00E00700E00700E007007C00007FE0001FFC00
03FE00001F00600780E00380E00380F00380F80F00FFFF00FFFC00E7F00011147D9318>I<0180
000380000380000380000380007FFFC0FFFFC0FFFFC00380000380000380000380000380000380
000380000380000380000380400380E00380E00380E001C1C001FFC000FF80003E0013197F9818
>I<7E07E0FE0FE07E07E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E
00E00E00E00E00E00E01E00F03E007FFFC03FFFE01FCFC1714809318>I<7F8FF0FF8FF87F8FF0
1E03C00E03800E03800E0380070700070700070700038E00038E00038E00038E0001DC0001DC00
01DC0000F80000F80000700015147F9318>I<FF8FF8FF8FF8FF8FF83800E03800E03800E01C01
C01C01C01C71C01CF9C01CF9C01CD9C01CD9C00DDD800DDD800DDD800D8D800F8F800F8F800707
0015147F9318>I<7F8FF07F9FF07F8FF0070700078E00039E0001DC0001F80000F80000700000
F00000F80001DC00039E00038E000707000F07807F8FF0FF8FF87F8FF015147F9318>I<7F8FF0
FF8FF87F8FF00E01C00E03800E0380070380070700070700038700038600038E0001CE0001CE00
00CC0000CC0000DC0000780000780000780000700000700000700000F00000E00079E0007BC000
7F80003F00001E0000151E7F9318>I<0007E0001FE0007FE000780000E00000E00000E00000E0
0000E00000E00000E00000E00000E00000E00000E00001E0007FC000FF8000FF80007FC00001E0
0000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E000007800007F
E0001FE00007E013247E9F18>123 D<60F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
F0F0F0F0F0F0F0F0F0F0F0F0600424769F18>I<7C0000FF0000FFC00003C00000E00000E00000
E00000E00000E00000E00000E00000E00000E00000E00000E00000F000007FC0003FE0003FE000
7FC000F00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00003
C000FFC000FF00007C000013247E9F18>I<060C1F1E3FBEFBF8F1F060C00F067C9B18>I
E /Fk 27 121 df<00003FE00000E0100001803800038078000300780007003000070000000700
0000070000000E0000000E0000000E000000FFFFE0000E00E0001C01C0001C01C0001C01C0001C
01C0001C03800038038000380380003803800038070000380700007007000070071000700E2000
700E2000700E2000E00E2000E0064000E0038000E0000000C0000001C0000001C0000031800000
79800000F3000000620000003C0000001D29829F1A>12 D<00003FC0FF800000E0E38040000181
E600E0000381EC01E0000300DC01E00007001C00C0000700180000000700380000000E00380000
000E00380000000E00380000000E0070000000FFFFFFFF80001C00700380001C00700700001C00
700700001C00700700001C00E00700001C00E00E00003800E00E00003800E00E00003800E00E00
003801C01C00003801C01C00007001C01C00007001C01C40007001C03880007003803880007003
80388000E00380388000E00380190000E003000E0000E00700000000C00700000001C006000000
01C00600000031860E000000798F0C000000F31E18000000620C300000003C07C00000002B2982
9F28>14 D<0E1F3F3F1D0102020404081020C0080E779F0E>39 D<000200020006000E003C00DC
031C001C0038003800380038007000700070007000E000E000E000E001C001C001C001C0038003
80038003800780FFF80F1E7B9D17>49 D<0000FE0200078186001C004C0038003C0060003C00C0
001C01C0001803800018070000180F0000181E0000101E0000103C0000003C0000007800000078
0000007800000078000000F0000000F0000000F0000000F0000000F00000807000008070000080
700001003800010038000200180004000C001800060020000381C00000FE00001F217A9F21>67
D<01FF007FE0001F000F00001F0004000017800400001780040000278008000023C008000023C0
08000023C008000041E010000041E010000041F010000040F010000080F0200000807820000080
782000008078200001003C400001003C400001003C400001001E400002001E800002001E800002
000F800002000F800004000F0000040007000004000700000C000700001C00020000FF80020000
231F7D9E22>78 D<00F1800389C00707800E03801C03803C0380380700780700780700780700F0
0E00F00E00F00E00F00E20F01C40F01C40703C40705C40308C800F070013147C9317>97
D<07803F8007000700070007000E000E000E000E001C001C001CF01D0C3A0E3C0E380F380F700F
700F700F700FE01EE01EE01EE01CE03CE038607060E031C01F0010207B9F15>I<007E0001C100
0300800E07801E07801C07003C0200780000780000780000F00000F00000F00000F00000F00000
70010070020030040018380007C00011147C9315>I<0000780003F80000700000700000700000
700000E00000E00000E00000E00001C00001C000F1C00389C00707800E03801C03803C03803807
00780700780700780700F00E00F00E00F00E00F00E20F01C40F01C40703C40705C40308C800F07
0015207C9F17>I<007C01C207010E011C013C013802780C7BF07C00F000F000F000F000700070
0170023804183807C010147C9315>I<00007800019C00033C00033C000718000700000700000E
00000E00000E00000E00000E0001FFE0001C00001C00001C00001C000038000038000038000038
0000380000700000700000700000700000700000700000E00000E00000E00000E00000C00001C0
0001C0000180003180007B0000F300006600003C00001629829F0E>I<003C6000E27001C1E003
80E00700E00F00E00E01C01E01C01E01C01E01C03C03803C03803C03803C03803C07003C07001C
0F001C17000C2E0003CE00000E00000E00001C00001C00301C00783800F0700060E0003F800014
1D7E9315>I<00C001E001E001C000000000000000000000000000000E00330023004380430047
0087000E000E000E001C001C001C003840388030807080310033001C000B1F7C9E0E>105
D<0001800003C00003C0000380000000000000000000000000000000000000000000003C000046
00008700008700010700010700020E00000E00000E00000E00001C00001C00001C00001C000038
0000380000380000380000700000700000700000700000E00000E00030E00079C000F180006300
003C00001228829E0E>I<01E0000FE00001C00001C00001C00001C00003800003800003800003
80000700000700000703C00704200E08E00E11E00E21E00E40C01C80001D00001E00001FC00038
E000387000387000383840707080707080707080703100E03100601E0013207D9F15>I<03C01F
C0038003800380038007000700070007000E000E000E000E001C001C001C001C00380038003800
38007000700070007100E200E200E200E200640038000A207C9F0C>I<1C0F80F0002630C31800
4740640C004780680E004700700E004700700E008E00E01C000E00E01C000E00E01C000E00E01C
001C01C038001C01C038001C01C038001C01C0708038038071003803806100380380E100380380
62007007006600300300380021147C9325>I<1C0F802630C04740604780604700704700708E00
E00E00E00E00E00E00E01C01C01C01C01C01C01C03843803883803083807083803107003303001
C016147C931A>I<007C0001C3000301800E01C01E01C01C01E03C01E07801E07801E07801E0F0
03C0F003C0F003C0F00780F00700700F00700E0030180018700007C00013147C9317>I<01C1E0
02621804741C04781C04701E04701E08E01E00E01E00E01E00E01E01C03C01C03C01C03C01C038
0380780380700380E003C1C0072380071E000700000700000E00000E00000E00000E00001C0000
1C0000FFC000171D809317>I<1C1E002661004783804787804707804703008E00000E00000E00
000E00001C00001C00001C00001C000038000038000038000038000070000030000011147C9313
>114 D<00FC030206010C030C070C060C000F800FF007F803FC003E000E700EF00CF00CE00840
1020601F8010147D9313>I<018001C0038003800380038007000700FFF007000E000E000E000E
001C001C001C001C003800380038003820704070407080708031001E000C1C7C9B0F>I<0E00C0
3300E02301C04381C04301C04701C08703800E03800E03800E03801C07001C07001C07001C0710
1C0E20180E20180E201C1E200C264007C38014147C9318>I<0E03803307802307C04383C04301
C04700C08700800E00800E00800E00801C01001C01001C01001C02001C02001C04001C04001C08
000E300003C00012147C9315>I<0383800CC4401068E01071E02071E02070C040E00000E00000
E00000E00001C00001C00001C00001C040638080F38080F38100E5810084C60078780013147D93
15>120 D E /Fl 40 122 df<0001FF0000001FFFC000007F80F00000FE00F80003FC01FC0003
F803FC0007F003FC0007F003FC0007F003FC0007F001F80007F000F00007F000000007F0000000
07F000000007F0000000FFFFFFFC00FFFFFFFC00FFFFFFFC0007F001FC0007F001FC0007F001FC
0007F001FC0007F001FC0007F001FC0007F001FC0007F001FC0007F001FC0007F001FC0007F001
FC0007F001FC0007F001FC0007F001FC0007F001FC0007F001FC0007F001FC0007F001FC0007F0
01FC0007F001FC0007F001FC007FFF1FFFC07FFF1FFFC07FFF1FFFC0222A7FA926>12
D<000E00001E00007E0007FE00FFFE00FFFE00F8FE0000FE0000FE0000FE0000FE0000FE0000FE
0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE
0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE007FFFFE7FFFFE7FFF
FE17277BA622>49 D<00FF800003FFF0000FFFFC003F03FF007C00FF807C007FC0FE007FC0FF00
3FE0FF003FE0FF003FE0FF001FE07E001FE03C003FE000003FE000003FC000003FC000007F8000
007F800000FF000001FE000001FC000003F0000007E000000FC000001F0000003E0000007C00E0
007800E000F000E001E001C0038001C0070001C00FFFFFC01FFFFFC03FFFFFC07FFFFFC0FFFFFF
80FFFFFF80FFFFFF801B277DA622>I<007F800003FFF00007FFFC001F81FE001F00FF003F80FF
003F807F803FC07F803F807F803F807F801F007F800000FF800000FF000000FF000001FE000003
F8000007F00000FFC00000FFF0000001FC000000FF0000007F8000007FC000003FC000003FE000
003FE000003FE03C003FE07E003FE0FF003FE0FF003FE0FF003FC0FF007FC0FE007F807C00FF80
3F01FF001FFFFC0007FFF00000FF80001B277DA622>I<00000E0000001E0000003E0000007E00
0000FE000000FE000001FE000003FE0000077E00000E7E00000E7E00001C7E0000387E0000707E
0000E07E0000E07E0001C07E0003807E0007007E000E007E000E007E001C007E0038007E007000
7E00E0007E00FFFFFFF8FFFFFFF8FFFFFFF80000FE000000FE000000FE000000FE000000FE0000
00FE000000FE000000FE00007FFFF8007FFFF8007FFFF81D277EA622>I<0C0003000F803F000F
FFFE000FFFFE000FFFFC000FFFF8000FFFE0000FFFC0000FFE00000E0000000E0000000E000000
0E0000000E0000000E0000000E7FC0000FFFF8000F80FE000E007F000C003F8000003F8000001F
C000001FC000001FE000001FE018001FE07E001FE0FE001FE0FE001FE0FE001FE0FE001FE0FE00
1FC078003FC078003F803C007F001F01FE000FFFFC0003FFF00000FF80001B277DA622>I<0007
F000003FFC0000FFFF0001FC0F0007F01F800FE03F800FC03F801FC03F803F803F803F801F007F
8000007F0000007F0000007F000000FF000000FF0FC000FF3FF800FF70FE00FFE03F00FFC03F80
FF801FC0FF801FC0FF801FC0FF001FE0FF001FE0FF001FE0FF001FE07F001FE07F001FE07F001F
E07F001FE03F801FC03F801FC01F803F800FC03F8007E0FF0003FFFC0000FFF000003FC0001B27
7DA622>I<380000003E0000003FFFFFF03FFFFFF03FFFFFF07FFFFFE07FFFFFC07FFFFFC07FFF
FF8070000F0070001E0070003C00E0003800E0007800E000F0000001E0000003C0000003C00000
07800000078000000F0000001F0000001F0000001F0000003F0000003F0000003E0000007E0000
007E0000007E0000007E000000FE000000FE000000FE000000FE000000FE000000FE000000FE00
0000FE000000FE0000003800001C297CA822>I<000003800000000007C00000000007C0000000
000FE0000000000FE0000000000FE0000000001FF0000000001FF0000000003FF8000000003FF8
000000003FF80000000073FC0000000073FC00000000F3FE00000000E1FE00000000E1FE000000
01C0FF00000001C0FF00000003C0FF80000003807F80000007807FC0000007003FC0000007003F
C000000E003FE000000E001FE000001E001FF000001C000FF000001FFFFFF000003FFFFFF80000
3FFFFFF80000780007FC0000700003FC0000700003FC0000E00001FE0000E00001FE0001E00001
FF0001C00000FF0001C00000FF00FFFE001FFFFEFFFE001FFFFEFFFE001FFFFE2F297EA834>65
D<FFFFFFFFE0FFFFFFFFE0FFFFFFFFE003FC001FE003FC0007F003FC0001F003FC0001F003FC00
00F003FC00007003FC00007003FC00007003FC01C07803FC01C03803FC01C03803FC01C03803FC
03C00003FC03C00003FC0FC00003FFFFC00003FFFFC00003FFFFC00003FC0FC00003FC03C00003
FC03C00003FC01C00E03FC01C00E03FC01C00E03FC01C01C03FC00001C03FC00001C03FC00001C
03FC00003C03FC00003803FC00007803FC0000F803FC0001F803FC0003F803FC001FF8FFFFFFFF
F0FFFFFFFFF0FFFFFFFFF027297DA82D>69 D<FFFFFFFFC0FFFFFFFFC0FFFFFFFFC003FC003FC0
03FC000FE003FC0003E003FC0001E003FC0001E003FC0000E003FC0000E003FC0000E003FC0000
F003FC03807003FC03807003FC03807003FC03800003FC07800003FC07800003FC1F800003FFFF
800003FFFF800003FFFF800003FC1F800003FC07800003FC07800003FC03800003FC03800003FC
03800003FC03800003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003
FC00000003FC00000003FC000000FFFFFC0000FFFFFC0000FFFFFC000024297DA82B>I<FFFFFC
FFFFFCFFFFFC01FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE00
01FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE00
01FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE00FFFFFCFFFFFC
FFFFFC16297EA81A>73 D<FFFFFC0000FFFFFC0000FFFFFC000003FC00000003FC00000003FC00
000003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC
00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003
FC00000003FC00000003FC00000003FC0001C003FC0001C003FC0001C003FC0001C003FC0003C0
03FC00038003FC00038003FC00078003FC00078003FC000F8003FC000F8003FC001F8003FC007F
8003FC01FF00FFFFFFFF00FFFFFFFF00FFFFFFFF0022297DA829>76 D<FFFE0000001FFFC0FFFE
0000001FFFC0FFFF0000003FFFC003FF0000003FF00003FF0000003FF00003BF80000077F00003
BF80000077F000039FC00000E7F000039FC00000E7F000038FE00001C7F000038FE00001C7F000
0387F0000387F0000387F0000387F0000387F0000387F0000383F8000707F0000383F8000707F0
000381FC000E07F0000381FC000E07F0000380FE001C07F0000380FE001C07F0000380FF003807
F00003807F003807F00003807F003807F00003803F807007F00003803F807007F00003801FC0E0
07F00003801FC0E007F00003800FE1C007F00003800FE1C007F00003800FE1C007F000038007F3
8007F000038007F38007F000038003FF0007F000038003FF0007F000038001FE0007F000038001
FE0007F000038000FC0007F000038000FC0007F000FFFE00FC01FFFFC0FFFE007801FFFFC0FFFE
007801FFFFC03A297DA841>I<FFFFFFF800FFFFFFFF00FFFFFFFFC003FC003FE003FC000FF003
FC0007F803FC0007FC03FC0003FC03FC0003FE03FC0003FE03FC0003FE03FC0003FE03FC0003FE
03FC0003FE03FC0003FE03FC0003FC03FC0007FC03FC0007F803FC000FF003FC003FE003FFFFFF
8003FFFFFE0003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC00
000003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC
00000003FC000000FFFFF00000FFFFF00000FFFFF0000027297DA82F>80
D<007F806003FFF0E00FFFFFE01F807FE03F001FE07E0007E07E0003E07C0003E0FC0001E0FC00
01E0FC0000E0FE0000E0FE0000E0FF000000FFC000007FFE00007FFFE0003FFFFC003FFFFF001F
FFFF8007FFFFC003FFFFE000FFFFF00007FFF000007FF000000FF8000007F8000003F8E00003F8
E00001F8E00001F8E00001F8F00001F8F00001F0F80003F0FC0003E0FF0007E0FFE01FC0FFFFFF
00E0FFFE00C01FF0001D297CA826>83 D<7FFFFFFFFFC07FFFFFFFFFC07FFFFFFFFFC07F803FC0
3FC07E003FC007C078003FC003C078003FC003C070003FC001C0F0003FC001E0F0003FC001E0E0
003FC000E0E0003FC000E0E0003FC000E0E0003FC000E0E0003FC000E000003FC0000000003FC0
000000003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000
003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC0
000000003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000
003FC00000007FFFFFE000007FFFFFE000007FFFFFE0002B287EA730>I<01FF800007FFF0000F
81FC001FC0FE001FC07F001FC07F001FC03F800F803F8000003F8000003F8000003F80000FFF80
00FFFF8007FC3F801FE03F803F803F807F803F807F003F80FE003F80FE003F80FE003F80FE007F
80FF007F807F00FFC03F83DFFC0FFF0FFC01FC03FC1E1B7E9A21>97 D<FFE0000000FFE0000000
FFE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000
000FE00000000FE00000000FE00000000FE00000000FE00000000FE1FE00000FE7FF80000FFE07
E0000FF803F8000FF001FC000FE000FE000FE000FE000FE0007F000FE0007F000FE0007F800FE0
007F800FE0007F800FE0007F800FE0007F800FE0007F800FE0007F800FE0007F800FE0007F800F
E0007F000FE000FF000FE000FE000FF000FE000FF001FC000FF803F8000F9E07E0000F0FFF8000
0E01FC0000212A7EA926>I<001FF80000FFFE0003F01F000FE03F801FC03F803F803F803F803F
807F801F007F000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF00
0000FF0000007F0000007F8000003F8001C03FC001C01FC003C00FE0078003F01F0000FFFC0000
1FE0001A1B7E9A1F>I<00003FF80000003FF80000003FF800000003F800000003F800000003F8
00000003F800000003F800000003F800000003F800000003F800000003F800000003F800000003
F800000003F800001FE3F80000FFFBF80003F03FF8000FE00FF8001FC007F8003F8003F8003F80
03F8007F8003F8007F0003F800FF0003F800FF0003F800FF0003F800FF0003F800FF0003F800FF
0003F800FF0003F800FF0003F800FF0003F8007F0003F8007F0003F8003F8003F8003F8007F800
1FC00FF8000FE01FF80003F03FFF8000FFF3FF80003FC3FF80212A7EA926>I<003FE00001FFF8
0003F07E000FE03F001FC01F803F800FC03F800FC07F000FC07F0007E0FF0007E0FF0007E0FF00
07E0FFFFFFE0FFFFFFE0FF000000FF000000FF000000FF0000007F0000007F8000003F8000E03F
8001E01FC001C00FE003C003F81F8000FFFE00001FF0001B1B7E9A20>I<0007F0003FFC00FE3E
01FC7F03F87F03F87F07F07F07F03E07F00007F00007F00007F00007F00007F00007F000FFFFC0
FFFFC0FFFFC007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F000
07F00007F00007F00007F00007F00007F00007F00007F00007F00007F0007FFF807FFF807FFF80
182A7EA915>I<00FF81F003FFE7FC0FC1FE7C1F80FC7C3F80FE7C3F007E107F007F007F007F00
7F007F007F007F007F007F007F007F003F007E003F80FE001F80FC000FC1F8001FFFE00018FF80
00380000003C0000003C0000003E0000003FFFF8003FFFFF001FFFFFC00FFFFFE007FFFFF01FFF
FFF07E0007F87C0001F8F80001F8F80000F8F80000F8F80000F8FC0001F87E0003F03F0007E00F
C01F8003FFFE00007FF0001E287E9A22>I<FFE0000000FFE0000000FFE00000000FE00000000F
E00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE0000000
0FE00000000FE00000000FE00000000FE07F00000FE1FFC0000FE787E0000FEE07F0000FFC03F8
000FF803F8000FF003F8000FF003F8000FF003F8000FE003F8000FE003F8000FE003F8000FE003
F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE0
03F8000FE003F8000FE003F8000FE003F800FFFE3FFF80FFFE3FFF80FFFE3FFF80212A7DA926>
I<07001FC01FE03FE03FE03FE01FE01FC007000000000000000000000000000000FFE0FFE0FFE0
0FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00F
E00FE0FFFEFFFEFFFE0F2B7DAA14>I<FFE00000FFE00000FFE000000FE000000FE000000FE000
000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE0
1FFC0FE01FFC0FE01FFC0FE007C00FE00F800FE01E000FE07C000FE0F8000FE1F0000FE3E0000F
E7C0000FEFE0000FFFF0000FFFF0000FFFF8000FF3FC000FE1FE000FC0FE000FC0FF000FC07F80
0FC03F800FC03FC00FC01FE00FC00FF0FFFC3FFEFFFC3FFEFFFC3FFE1F2A7EA924>107
D<FFE0FFE0FFE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE0
0FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00F
E0FFFEFFFEFFFE0F2A7DA914>I<FFC07F800FF000FFC1FFE03FFC00FFC783F0F07E000FCE03F9
C07F000FDC01FB803F000FF801FF003F800FF001FE003F800FF001FE003F800FF001FE003F800F
E001FC003F800FE001FC003F800FE001FC003F800FE001FC003F800FE001FC003F800FE001FC00
3F800FE001FC003F800FE001FC003F800FE001FC003F800FE001FC003F800FE001FC003F800FE0
01FC003F800FE001FC003F800FE001FC003F800FE001FC003F80FFFE1FFFC3FFF8FFFE1FFFC3FF
F8FFFE1FFFC3FFF8351B7D9A3C>I<FFC07F0000FFC1FFC000FFC787E0000FCE07F0000FDC03F8
000FF803F8000FF003F8000FF003F8000FF003F8000FE003F8000FE003F8000FE003F8000FE003
F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE0
03F8000FE003F8000FE003F8000FE003F800FFFE3FFF80FFFE3FFF80FFFE3FFF80211B7D9A26>
I<003FE00001FFFC0003F07E000FC01F801F800FC03F800FE03F0007E07F0007F07F0007F07F00
07F0FF0007F8FF0007F8FF0007F8FF0007F8FF0007F8FF0007F8FF0007F8FF0007F87F0007F07F
0007F03F800FE03F800FE01F800FC00FC01F8007F07F0001FFFC00003FE0001D1B7E9A22>I<FF
E1FE0000FFE7FF8000FFFE07E0000FF803F8000FF001FC000FE001FE000FE000FE000FE000FF00
0FE000FF000FE0007F800FE0007F800FE0007F800FE0007F800FE0007F800FE0007F800FE0007F
800FE0007F800FE0007F800FE000FF000FE000FF000FE000FE000FF001FE000FF003FC000FF803
F8000FFE0FE0000FEFFF80000FE1FC00000FE00000000FE00000000FE00000000FE00000000FE0
0000000FE00000000FE00000000FE00000000FE0000000FFFE000000FFFE000000FFFE00000021
277E9A26>I<FFC1F0FFC7FCFFCE3E0FDC7F0FD87F0FF87F0FF07F0FF03E0FF0000FE0000FE000
0FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE000
FFFF00FFFF00FFFF00181B7E9A1C>114 D<03FE300FFFF03E03F07800F07000F0F00070F00070
F80070FC0000FFE000FFFE007FFFC03FFFE01FFFF007FFF800FFFC0003FC0000FCE0007CE0003C
F0003CF0003CF80078FC0078FF01F0F7FFC0C1FF00161B7E9A1B>I<0070000070000070000070
0000F00000F00000F00001F00003F00003F00007F0001FFFF0FFFFF0FFFFF007F00007F00007F0
0007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F03807F03807F0
3807F03807F03807F03807F03803F87001F8F000FFE0001F8015267FA51B>I<FFE03FF800FFE0
3FF800FFE03FF8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000F
E003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F800
0FE003F8000FE003F8000FE003F8000FE007F8000FE007F8000FE00FF80007E01FF80003F03BFF
8001FFF3FF80003FC3FF80211B7D9A26>I<FFFE03FF80FFFE03FF80FFFE03FF8007F000700007
F000700007F800F00003F800E00003FC01E00001FC01C00001FC01C00000FE03800000FE038000
007F070000007F070000007F8F0000003F8E0000003FDE0000001FDC0000001FDC0000000FF800
00000FF80000000FF800000007F000000007F000000003E000000003E000000001C00000211B7F
9A24>I<FFFE7FFC0FFEFFFE7FFC0FFEFFFE7FFC0FFE0FE007E000E007F003F001C007F003F001
C007F807F803C003F807F8038003F807F8038001FC0EFC070001FC0EFC070001FE1EFC0F0000FE
1C7E0E0000FE1C7E0E0000FF383F1E00007F383F1C00007F783F3C00003FF01FB800003FF01FB8
00003FF01FF800001FE00FF000001FE00FF000000FC007E000000FC007E000000FC007E0000007
8003C00000078003C0002F1B7F9A32>I<FFFC0FFF00FFFC0FFF00FFFC0FFF0007F003C00003F8
07800001FC07800000FE0F000000FF1E0000007F3C0000003FF80000001FF00000000FF0000000
0FF000000007F000000007F80000000FFC0000001FFE0000001EFE0000003C7F000000783F8000
00F01FC00001E01FE00001C00FE00003C007F000FFF01FFF80FFF01FFF80FFF01FFF80211B7F9A
24>I<FFFE03FF80FFFE03FF80FFFE03FF8007F000700007F000700007F800F00003F800E00003
FC01E00001FC01C00001FC01C00000FE03800000FE038000007F070000007F070000007F8F0000
003F8E0000003FDE0000001FDC0000001FDC0000000FF80000000FF80000000FF800000007F000
000007F000000003E000000003E000000001C000000001C0000000038000000003800000380780
00007C07000000FE0F000000FE0E000000FE1E000000FE3C0000007C780000003FE00000000FC0
00000021277F9A24>I E /Fm 75 123 df<001F83E000F06E3001C078780380F8780300F03007
007000070070000700700007007000070070000700700007007000FFFFFF800700700007007000
070070000700700007007000070070000700700007007000070070000700700007007000070070
000700700007007000070070000700700007007000070070007FE3FF001D20809F1B>11
D<003F0000E0C001C0C00381E00701E00701E0070000070000070000070000070000070000FFFF
E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700
E00700E00700E00700E00700E00700E07FC3FE1720809F19>I<003FE000E0E001C1E00381E007
00E00700E00700E00700E00700E00700E00700E00700E0FFFFE00700E00700E00700E00700E007
00E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E007
00E07FE7FE1720809F19>I<001F81F80000F04F040001C07C06000380F80F000300F00F000700
F00F00070070000007007000000700700000070070000007007000000700700000FFFFFFFF0007
007007000700700700070070070007007007000700700700070070070007007007000700700700
070070070007007007000700700700070070070007007007000700700700070070070007007007
00070070070007007007007FE3FE3FF02420809F26>I<07070F1C383060C00808779F17>19
D<7038F87CFC7EFC7E743A0402040204020804080410081008201040200F0E7E9F17>34
D<70F8FCFC74040404080810102040060E7C9F0D>39 D<0020004000800100020006000C000C00
180018003000300030007000600060006000E000E000E000E000E000E000E000E000E000E000E0
00E0006000600060007000300030003000180018000C000C000600020001000080004000200B2E
7DA112>I<800040002000100008000C00060006000300030001800180018001C000C000C000C0
00E000E000E000E000E000E000E000E000E000E000E000E000C000C000C001C001800180018003
000300060006000C00080010002000400080000B2E7DA112>I<70F8FCFC740404040808101020
40060E7C840D>44 D<FFC0FFC00A027F8A0F>I<70F8F8F87005057C840D>I<0003000300070006
0006000E000C000C001C0018001800380030003000700060006000E000C000C001C00180018001
800380030003000700060006000E000C000C001C0018001800380030003000700060006000E000
C000C000102D7DA117>I<03F0000E1C001C0E00180600380700700380700380700380700380F0
03C0F003C0F003C0F003C0F003C0F003C0F003C0F003C0F003C0F003C0F003C0F003C0F003C070
03807003807003807807803807001806001C0E000E1C0003F000121F7E9D17>I<018003800F80
F38003800380038003800380038003800380038003800380038003800380038003800380038003
800380038003800380038007C0FFFE0F1E7C9D17>I<03F0000C1C00100E002007004007808007
80F007C0F803C0F803C0F803C02007C00007C0000780000780000F00000E00001C000038000070
0000600000C0000180000300000600400C00401800401000803FFF807FFF80FFFF80121E7E9D17
>I<03F0000C1C00100E00200F00780F80780780780780380F80000F80000F00000F00000E0000
1C0000380003F000003C00000E00000F000007800007800007C02007C0F807C0F807C0F807C0F0
0780400780400F00200E001C3C0003F000121F7E9D17>I<000600000600000E00000E00001E00
002E00002E00004E00008E00008E00010E00020E00020E00040E00080E00080E00100E00200E00
200E00400E00C00E00FFFFF0000E00000E00000E00000E00000E00000E00000E0000FFE0141E7F
9D17>I<1803001FFE001FFC001FF8001FE00010000010000010000010000010000010000011F0
00161C00180E001007001007800003800003800003C00003C00003C07003C0F003C0F003C0E003
80400380400700200600100E000C380003E000121F7E9D17>I<007C000182000701000E03800C
07801C0780380300380000780000700000700000F1F000F21C00F40600F80700F80380F80380F0
03C0F003C0F003C0F003C0F003C07003C07003C07003803803803807001807000C0E00061C0001
F000121F7E9D17>I<4000007FFFC07FFF807FFF80400100800200800200800400000800000800
00100000200000200000400000400000C00000C00001C000018000038000038000038000038000
078000078000078000078000078000078000078000030000121F7D9D17>I<03F0000C0C001006
003003002001806001806001806001807001807803003E03003F06001FC8000FF00003F80007FC
000C7E00103F00300F806003804001C0C001C0C000C0C000C0C000C0C000806001802001001002
000C0C0003F000121F7E9D17>I<03F0000E18001C0C00380600380700700700700380F00380F0
0380F003C0F003C0F003C0F003C0F003C07007C07007C03807C0180BC00E13C003E3C000038000
0380000380000700300700780600780E00700C002018001070000FC000121F7E9D17>I<70F8F8
F8700000000000000000000070F8F8F87005147C930D>I<70F8F8F87000000000000000000000
70F0F8F878080808101010202040051D7C930D>I<7FFFFFE0FFFFFFF000000000000000000000
00000000000000000000000000000000000000000000FFFFFFF07FFFFFE01C0C7D9023>61
D<001F800000E0700001000800060006000800010008000100100F00802030C0402060404040C0
202041C01C2041C01C2081801C1083801C1083801C1083801C1083801C1083801C1083801C1081
801C1041C01C1041C01C1040C03C2020605C202030CC40100F0780080000000800000006000070
010001C000E01F00001FF0001C207D9F23>64 D<000100000003800000038000000380000007C0
000007C0000007C0000009E0000009E0000009E0000010F0000010F0000010F000002078000020
78000020780000403C0000403C0000403C0000801E0000801E0000FFFE0001000F0001000F0001
000F00020007800200078002000780040003C00E0003C01F0007E0FFC03FFE1F207F9F22>I<FF
FFE0000F80380007801E0007801F0007800F0007800F8007800F8007800F8007800F8007800F80
07800F0007801F0007801E0007803C0007FFF00007803C0007801E0007800F0007800F80078007
80078007C0078007C0078007C0078007C0078007C00780078007800F8007800F0007801F000F80
3C00FFFFF0001A1F7E9E20>I<000FC040007030C001C009C0038005C0070003C00E0001C01E00
00C01C0000C03C0000C07C0000407C00004078000040F8000000F8000000F8000000F8000000F8
000000F8000000F8000000F8000000F8000000780000007C0000407C0000403C0000401C000040
1E0000800E000080070001000380020001C0040000703800000FC0001A217D9F21>I<FFFFFF00
0F800F000780030007800300078001000780018007800080078000800780008007808080078080
0007808000078080000781800007FF800007818000078080000780800007808000078080000780
00200780002007800020078000400780004007800040078000C0078000C0078001800F800F80FF
FFFF801B1F7E9E1F>69 D<FFFFFF000F800F000780030007800300078001000780018007800080
078000800780008007800080078080000780800007808000078080000781800007FF8000078180
000780800007808000078080000780800007800000078000000780000007800000078000000780
000007800000078000000FC00000FFFE0000191F7E9E1E>I<000FE0200078186000E004E00380
02E0070001E00F0000E01E0000601E0000603C0000603C0000207C00002078000020F8000000F8
000000F8000000F8000000F8000000F8000000F8000000F8007FFCF80003E0780001E07C0001E0
3C0001E03C0001E01E0001E01E0001E00F0001E0070001E0038002E000E0046000781820000FE0
001E217D9F24>I<FFF8FFF80F800F8007800F0007800F0007800F0007800F0007800F0007800F
0007800F0007800F0007800F0007800F0007800F0007800F0007FFFF0007800F0007800F000780
0F0007800F0007800F0007800F0007800F0007800F0007800F0007800F0007800F0007800F0007
800F0007800F000F800F80FFF8FFF81D1F7E9E22>I<FFFC0FC007800780078007800780078007
800780078007800780078007800780078007800780078007800780078007800780078007800780
07800FC0FFFC0E1F7F9E10>I<FFFE000FC0000780000780000780000780000780000780000780
000780000780000780000780000780000780000780000780000780000780000780000780020780
0207800207800207800607800407800407800C07801C0F807CFFFFFC171F7E9E1C>76
D<FF80001FF80F80001F800780001F0005C0002F0005C0002F0005C0002F0004E0004F0004E000
4F000470008F000470008F000470008F000438010F000438010F000438010F00041C020F00041C
020F00041C020F00040E040F00040E040F00040E040F000407080F000407080F000407080F0004
03900F000403900F000401E00F000401E00F000401E00F000E00C00F001F00C01F80FFE0C1FFF8
251F7E9E2A>I<FF803FF807C007C007C0038005E0010005E0010004F001000478010004780100
043C0100043C0100041E0100040F0100040F010004078100040781000403C1000401E1000401E1
000400F1000400F1000400790004003D0004003D0004001F0004001F0004000F00040007000400
07000E0003001F000300FFE001001D1F7E9E22>I<001F800000F0F00001C0380007801E000F00
0F000E0007001E0007803C0003C03C0003C07C0003E0780001E0780001E0F80001F0F80001F0F8
0001F0F80001F0F80001F0F80001F0F80001F0F80001F0F80001F0780001E07C0003E07C0003E0
3C0003C03C0003C01E0007800E0007000F000F0007801E0001C0380000F0F000001F80001C217D
9F23>I<FFFFE0000F80780007801C0007801E0007800F0007800F8007800F8007800F8007800F
8007800F8007800F8007800F0007801E0007801C000780780007FFE00007800000078000000780
000007800000078000000780000007800000078000000780000007800000078000000780000007
8000000FC00000FFFC0000191F7E9E1F>I<FFFF80000F80F0000780780007803C0007801E0007
801E0007801F0007801F0007801F0007801F0007801E0007801E0007803C00078078000780F000
07FF80000781C0000780E0000780F0000780700007807800078078000780780007807C0007807C
0007807C0007807C0407807E0407803E040FC01E08FFFC0F10000003E01E207E9E21>82
D<07E0800C1980100780300380600180600180E00180E00080E00080E00080F00000F000007800
007F00003FF0001FFC000FFE0003FF00001F800007800003C00003C00001C08001C08001C08001
C08001C0C00180C00380E00300F00600CE0C0081F80012217D9F19>I<7FFFFFE0780F01E0600F
0060400F0020400F0020C00F0030800F0010800F0010800F0010800F0010000F0000000F000000
0F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000
000F0000000F0000000F0000000F0000000F0000000F0000000F0000001F800007FFFE001C1F7E
9E21>I<FFFC3FF80FC007C0078003800780010007800100078001000780010007800100078001
000780010007800100078001000780010007800100078001000780010007800100078001000780
01000780010007800100078001000780010007800100038002000380020001C0020001C0040000
E008000070180000382000000FC0001D207E9E22>I<FFF003FE1F8000F80F0000600F80006007
8000400780004003C0008003C0008003C0008001E0010001E0010001F0010000F0020000F00200
00F806000078040000780400003C0800003C0800003C0800001E1000001E1000001F3000000F20
00000F20000007C0000007C0000007C000000380000003800000038000000100001F207F9E22>
I<FFF07FF81FF01F800FC007C00F00078003800F00078001000F0007C00100078007C002000780
07C00200078007C0020003C009E0040003C009E0040003C009E0040003E010F00C0001E010F008
0001E010F0080001F02078080000F02078100000F02078100000F0403C10000078403C20000078
403C20000078C03E2000003C801E4000003C801E4000003C801E4000001F000F8000001F000F80
00001F000F8000001E00078000000E00070000000E00070000000C000300000004000200002C20
7F9E2F>I<FEFEC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0
C0C0C0C0C0C0C0C0C0FEFE072D7CA10D>91 D<080410082010201040204020804080408040B85C
FC7EFC7E7C3E381C0F0E7B9F17>I<FEFE06060606060606060606060606060606060606060606
06060606060606060606060606060606060606FEFE072D7FA10D>I<1FE000303000781800781C
00300E00000E00000E00000E0000FE00078E001E0E00380E00780E00F00E10F00E10F00E10F01E
10781E103867200F83C014147E9317>97 D<0E0000FE00000E00000E00000E00000E00000E0000
0E00000E00000E00000E00000E00000E3E000EC3800F01C00F00E00E00E00E00700E00700E0078
0E00780E00780E00780E00780E00780E00700E00700E00E00F00E00D01C00CC300083E0015207F
9F19>I<03F80E0C1C1E381E380C70007000F000F000F000F000F000F00070007000380138011C
020E0C03F010147E9314>I<000380003F80000380000380000380000380000380000380000380
00038000038000038003E380061B801C0780380380380380700380700380F00380F00380F00380
F00380F00380F003807003807003803803803807801C07800E1B8003E3F815207E9F19>I<03F0
000E1C001C0E00380700380700700700700380F00380F00380FFFF80F00000F00000F000007000
007000003800801800800C010007060001F80011147F9314>I<007C00C6018F038F0706070007
0007000700070007000700FFF00700070007000700070007000700070007000700070007000700
070007000700070007007FF01020809F0E>I<0000E003E3300E3C301C1C30380E00780F00780F
00780F00780F00780F00380E001C1C001E380033E0002000002000003000003000003FFE001FFF
800FFFC03001E0600070C00030C00030C00030C000306000603000C01C038003FC00141F7F9417
>I<0E0000FE00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E
3E000E43000E81800F01C00F01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E
01C00E01C00E01C00E01C00E01C00E01C0FFE7FC16207F9F19>I<1C001E003E001E001C000000
000000000000000000000E007E000E000E000E000E000E000E000E000E000E000E000E000E000E
000E000E000E000E00FFC00A1F809E0C>I<00E001F001F001F000E00000000000000000000000
00007007F000F00070007000700070007000700070007000700070007000700070007000700070
007000700070007000706070F060F0C061803F000C28829E0E>I<0E0000FE00000E00000E0000
0E00000E00000E00000E00000E00000E00000E00000E00000E0FF00E03C00E03000E02000E0400
0E08000E10000E30000E70000EF8000F38000E1C000E1E000E0E000E07000E07800E03800E03C0
0E03E0FFCFF815207F9F18>I<0E00FE000E000E000E000E000E000E000E000E000E000E000E00
0E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E00FFE00B
20809F0C>I<0E1F01F000FE618618000E81C81C000F00F00E000F00F00E000E00E00E000E00E0
0E000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E000E00
E00E000E00E00E000E00E00E000E00E00E000E00E00E00FFE7FE7FE023147F9326>I<0E3E00FE
43000E81800F01C00F01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E
01C00E01C00E01C00E01C00E01C0FFE7FC16147F9319>I<01F800070E001C03803801C03801C0
7000E07000E0F000F0F000F0F000F0F000F0F000F0F000F07000E07000E03801C03801C01C0380
070E0001F80014147F9317>I<0E3E00FEC3800F01C00F00E00E00E00E00F00E00700E00780E00
780E00780E00780E00780E00780E00700E00F00E00E00F01E00F01C00EC3000E3E000E00000E00
000E00000E00000E00000E00000E00000E0000FFE000151D7F9319>I<03E0800619801C05803C
0780380380780380700380F00380F00380F00380F00380F00380F0038070038078038038038038
07801C0B800E138003E380000380000380000380000380000380000380000380000380003FF815
1D7E9318>I<0E78FE8C0F1E0F1E0F0C0E000E000E000E000E000E000E000E000E000E000E000E
000E000E00FFE00F147F9312>I<1F9030704030C010C010C010E00078007F803FE00FF0007080
3880188018C018C018E030D0608F800D147E9312>I<020002000200060006000E000E003E00FF
F80E000E000E000E000E000E000E000E000E000E000E000E080E080E080E080E080610031001E0
0D1C7F9B12>I<0E01C0FE1FC00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01
C00E01C00E01C00E01C00E01C00E01C00E03C00603C0030DC001F1FC16147F9319>I<FF83F81E
01E01C00C00E00800E00800E008007010007010003820003820003820001C40001C40001EC0000
E80000E80000700000700000700000200015147F9318>I<FF9FE1FC3C0780701C0300601C0380
200E0380400E0380400E03C0400707C0800704C0800704E080038861000388710003C8730001D0
320001D03A0000F03C0000E01C0000E01C0000601800004008001E147F9321>I<7FC3FC0F01E0
0701C007018003810001C20000E40000EC00007800003800003C00007C00004E00008700010700
0303800201C00601E01E01E0FF07FE1714809318>I<FF83F81E01E01C00C00E00800E00800E00
8007010007010003820003820003820001C40001C40001EC0000E80000E8000070000070000070
00002000002000004000004000004000F08000F08000F100006200003C0000151D7F9318>I<3F
FF380E200E201C40384078407000E001E001C00380078007010E011E011C0338027006700EFFFE
10147F9314>I E /Fn 13 118 df<0F001F003F803F007E00F800F000C0000A08769C18>19
D<00038000000380000007C0000007C0000007C000000FE000000FE000001FF000001BF000001B
F0000031F8000031F8000061FC000060FC0000E0FE0000C07E0000C07E0001803F0001FFFF0003
FFFF8003001F8003001F8006000FC006000FC00E000FE00C0007E0FFC07FFEFFC07FFE1F1C7E9B
24>65 D<07F8201FFEE03C07E07801E07000E0F000E0F00060F00060F80000FE0000FFE0007FFE
003FFF003FFF800FFFC007FFE0007FE00003F00001F00000F0C000F0C000F0C000E0E000E0F001
C0FC03C0EFFF0083FC00141C7D9B1B>83 D<0FF8001C1E003E0F803E07803E07C01C07C00007C0
007FC007E7C01F07C03C07C07C07C0F807C0F807C0F807C0780BC03E13F80FE1F815127F9117>
97 D<FF0000FF00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F3F80
1FE1E01F80701F00781F003C1F003C1F003E1F003E1F003E1F003E1F003E1F003E1F003C1F003C
1F00781F80701EC1E01C3F00171D7F9C1B>I<03FC000E0E001C1F003C1F00781F00780E00F800
00F80000F80000F80000F80000F800007800007801803C01801C03000E0E0003F80011127E9115
>I<1E003F003F003F003F001E00000000000000000000000000FF00FF001F001F001F001F001F
001F001F001F001F001F001F001F001F001F00FFE0FFE00B1E7F9D0E>105
D<FF0FC07E00FF31E18F001F40F207801F80FC07C01F80FC07C01F00F807C01F00F807C01F00F8
07C01F00F807C01F00F807C01F00F807C01F00F807C01F00F807C01F00F807C01F00F807C01F00
F807C0FFE7FF3FF8FFE7FF3FF825127F9128>109 D<01FC000F07801C01C03C01E07800F07800
F0F800F8F800F8F800F8F800F8F800F8F800F87800F07800F03C01E01E03C00F078001FC001512
7F9118>111 D<FE3E00FE47001E8F801E8F801E8F801F07001F00001F00001F00001F00001F00
001F00001F00001F00001F00001F0000FFF000FFF00011127F9114>114
D<1FD830786018E018E018F000FF807FE07FF01FF807FC007CC01CC01CE01CE018F830CFC00E12
7E9113>I<0300030003000300070007000F000F003FFCFFFC1F001F001F001F001F001F001F00
1F001F001F0C1F0C1F0C1F0C0F08079803F00E1A7F9913>I<FF07F8FF07F81F00F81F00F81F00
F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F01F80F01F80786FF01F8
FF18127F911B>I E /Fo 45 127 df<007E0001C1800301800703C00E03C00E01800E00000E00
000E00000E00000E0000FFFFC00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01
C00E01C00E01C00E01C00E01C00E01C00E01C00E01C07F87F8151D809C17>12
D<FC001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C00FF800912
7F910C>16 D<1C1C3C3870C0800707779C15>19 D<1C001E00078003C001C00380FF000A077B7E
12>24 D<60F0F0701010101020204080040C7C830C>44 D<FFE0FFE00B0280890E>I<60F0F060
04047C830C>I<003F800000C0600003001800040004000800020010000100201F008020708080
40E0404040C0384041C03840818038208380382083803820838038208380382083803820818038
2041C0382040C0384040E0784020709880201F0F00100000000800000004000000030001E000C0
1F80003FF0001B1D7E9C20>64 D<000600000006000000060000000F0000000F0000000F000000
17800000178000001780000023C0000023C0000023C0000041E0000041E0000041E0000080F000
0080F0000180F8000100780001FFF80003007C0002003C0002003C0006003E0004001E0004001E
000C001F001E001F00FF80FFF01C1D7F9C1F>I<001F808000E0618001801980070007800E0003
801C0003801C00018038000180780000807800008070000080F0000000F0000000F0000000F000
0000F0000000F0000000F0000000F0000000700000807800008078000080380000801C0001001C
0001000E000200070004000180080000E03000001FC000191E7E9C1E>67
D<FFFFFC0F003C0F000C0F00040F00040F00060F00020F00020F02020F02000F02000F02000F06
000FFE000F06000F02000F02000F02000F02010F00010F00020F00020F00020F00060F00060F00
0C0F003CFFFFFC181C7E9B1C>69 D<001F808000E0618001801980070007800E0003801C000380
1C00018038000180780000807800008070000080F0000000F0000000F0000000F0000000F00000
00F0000000F000FFF0F0000F80700007807800078078000780380007801C0007801C0007800E00
078007000B800180118000E06080001F80001C1E7E9C21>71 D<FFF00F000F000F000F000F000F
000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F00
0F00FFF00C1C7F9B0F>73 D<FFF8000F80000F00000F00000F00000F00000F00000F00000F0000
0F00000F00000F00000F00000F00000F00000F00000F00000F00000F00080F00080F00080F0018
0F00180F00100F00300F00700F01F0FFFFF0151C7E9B1A>76 D<003F800000E0E0000380380007
001C000E000E001C0007003C00078038000380780003C0780003C0700001C0F00001E0F00001E0
F00001E0F00001E0F00001E0F00001E0F00001E0F00001E0700001C0780003C0780003C0380003
803C0007801C0007000E000E0007001C000380380000E0E000003F80001B1E7E9C20>79
D<FFFF800F00E00F00780F003C0F001C0F001E0F001E0F001E0F001E0F001E0F001C0F003C0F00
780F00E00FFF800F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00
000F0000FFF000171C7E9B1C>I<FFFF00000F01E0000F0078000F003C000F001C000F001E000F
001E000F001E000F001E000F001C000F003C000F0078000F01E0000FFF00000F03C0000F00E000
0F00F0000F0078000F0078000F0078000F0078000F0078000F0078000F0078100F0078100F0038
100F003C20FFF01C20000007C01C1D7E9B1F>82 D<7FFFFFC0700F01C0600F00C0400F0040400F
0040C00F0020800F0020800F0020800F0020000F0000000F0000000F0000000F0000000F000000
0F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000
000F0000000F0000001F800003FFFC001B1C7F9B1E>84 D<FFF07FC00F000E000F0004000F0004
000F0004000F0004000F0004000F0004000F0004000F0004000F0004000F0004000F0004000F00
04000F0004000F0004000F0004000F0004000F0004000F0004000F0004000F0004000700080007
800800038010000180100000C020000070C000001F00001A1D7E9B1F>I<1FC000307000783800
781C00301C00001C00001C0001FC000F1C00381C00701C00601C00E01C40E01C40E01C40603C40
304E801F870012127E9115>97 D<FC00001C00001C00001C00001C00001C00001C00001C00001C
00001C00001C00001C7C001D86001E03001C01801C01C01C00C01C00E01C00E01C00E01C00E01C
00E01C00E01C00C01C01C01C01801E030019060010F800131D7F9C17>I<07E00C301878307870
306000E000E000E000E000E000E00060007004300418080C3007C00E127E9112>I<003F000007
0000070000070000070000070000070000070000070000070000070003E7000C1700180F003007
00700700600700E00700E00700E00700E00700E00700E00700600700700700300700180F000C37
0007C7E0131D7E9C17>I<03E00C301818300C700E6006E006FFFEE000E000E000E00060007002
300218040C1803E00F127F9112>I<00F8018C071E061E0E0C0E000E000E000E000E000E00FFE0
0E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E007FE00F1D809C0D
>I<00038003C4C00C38C01C3880181800381C00381C00381C00381C001818001C38000C300013
C0001000003000001800001FF8001FFF001FFF803003806001C0C000C0C000C0C000C060018030
03001C0E0007F800121C7F9215>I<FC00001C00001C00001C00001C00001C00001C00001C0000
1C00001C00001C00001C7C001C87001D03001E03801C03801C03801C03801C03801C03801C0380
1C03801C03801C03801C03801C03801C03801C0380FF9FF0141D7F9C17>I<18003C003C001800
0000000000000000000000000000FC001C001C001C001C001C001C001C001C001C001C001C001C
001C001C001C001C00FF80091D7F9C0C>I<00C001E001E000C000000000000000000000000000
000FE000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E0
00E000E060E0F0C0F1C061803E000B25839C0D>I<FC001C001C001C001C001C001C001C001C00
1C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C00FF
80091D7F9C0C>108 D<FC7E07E0001C838838001D019018001E01E01C001C01C01C001C01C01C
001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C0
1C001C01C01C001C01C01C001C01C01C00FF8FF8FF8021127F9124>I<FC7C001C87001D03001E
03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C
0380FF9FF014127F9117>I<03F0000E1C00180600300300700380600180E001C0E001C0E001C0
E001C0E001C0E001C06001807003803003001806000E1C0003F00012127F9115>I<FC7C001D86
001E03001C01801C01C01C00C01C00E01C00E01C00E01C00E01C00E01C00E01C01C01C01C01C01
801E03001D06001CF8001C00001C00001C00001C00001C00001C00001C0000FF8000131A7F9117
>I<03C1000C3300180B00300F00700700700700E00700E00700E00700E00700E00700E0070060
0700700700300F00180F000C370007C70000070000070000070000070000070000070000070000
3FE0131A7E9116>I<FCE01D301E781E781C301C001C001C001C001C001C001C001C001C001C00
1C001C00FFC00D127F9110>I<1F9030704030C010C010E010F8007F803FE00FF000F880388018
C018C018E010D0608FC00D127F9110>I<04000400040004000C000C001C003C00FFE01C001C00
1C001C001C001C001C001C001C001C101C101C101C101C100C100E2003C00C1A7F9910>I<FC1F
801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03
801C07800C07800E1B8003E3F014127F9117>I<FF07E03C03801C01001C01000E02000E020007
040007040007040003880003880003D80001D00001D00000E00000E00000E00000400013127F91
16>I<FF3FCFE03C0F03801C0701801C0701001C0B01000E0B82000E0B82000E1182000711C400
0711C4000720C40003A0E80003A0E80003C0680001C0700001C0700001803000008020001B127F
911E>I<7F8FF00F03800F030007020003840001C80001D80000F00000700000780000F800009C
00010E00020E000607000403801E07C0FF0FF81512809116>I<FF07E03C03801C01001C01000E
02000E020007040007040007040003880003880003D80001D00001D00000E00000E00000E00000
4000004000008000008000F08000F10000F300006600003C0000131A7F9116>I<FFFFFFFFFF80
2901808B2A>124 D<1C043F0843F080E00E047D9B15>126 D E /Fp 33
123 df<70F8FCFC7404040404080810102040060F7C840E>44 D<008003800F80F38003800380
038003800380038003800380038003800380038003800380038003800380038003800380038003
800380038003800380038007C0FFFE0F217CA018>49 D<03F0000C1C001007002007804003C040
03C08003E0F003E0F801E0F801E0F801E02003E00003E00003C00003C0000780000700000E0000
1C0000180000300000600000C0000180000100000200200400200800201800603000403FFFC07F
FFC0FFFFC013217EA018>I<000200000600000E00000E00001E00001E00002E00004E00004E00
008E00008E00010E00020E00020E00040E00040E00080E00100E00100E00200E00200E00400E00
800E00FFFFF8000E00000E00000E00000E00000E00000E00000E00001F0001FFF015217FA018>
52 D<4000006000007FFFE07FFFC07FFFC0400080C00100800100800200800200000400000800
00080000100000300000200000600000600000600000E00000C00000C00001C00001C00001C000
01C00003C00003C00003C00003C00003C00003C00003C00003C00001800013237DA118>55
D<01F000060C000C0600180700380380700380700380F001C0F001C0F001C0F001E0F001E0F001
E0F001E0F001E07001E07003E03803E01805E00C05E00619E003E1E00001C00001C00001C00003
80000380300300780700780600700C002018001030000FC00013227EA018>57
D<0007E0100038183000E0063001C00170038000F0070000F00E0000701E0000701C0000303C00
00303C0000307C0000107800001078000010F8000000F8000000F8000000F8000000F8000000F8
000000F8000000F800000078000000780000107C0000103C0000103C0000101C0000201E000020
0E000040070000400380008001C0010000E0020000381C000007E0001C247DA223>67
D<FFFFFFC00F8007C0078001C0078000C007800040078000400780006007800020078000200780
002007802020078020000780200007802000078060000780E00007FFE0000780E0000780600007
802000078020000780200007802000078000000780000007800000078000000780000007800000
0780000007800000078000000FC00000FFFE00001B227EA120>70 D<FFFC3FFF0FC003F0078001
E0078001E0078001E0078001E0078001E0078001E0078001E0078001E0078001E0078001E00780
01E0078001E0078001E0078001E007FFFFE0078001E0078001E0078001E0078001E0078001E007
8001E0078001E0078001E0078001E0078001E0078001E0078001E0078001E0078001E0078001E0
0FC003F0FFFC3FFF20227EA125>72 D<FFFC0FC007800780078007800780078007800780078007
800780078007800780078007800780078007800780078007800780078007800780078007800780
07800FC0FFFC0E227EA112>I<FFFE00000FC00000078000000780000007800000078000000780
000007800000078000000780000007800000078000000780000007800000078000000780000007
800000078000000780000007800000078000000780000007800080078000800780008007800080
078001800780018007800100078003000780030007800F000F803F00FFFFFF0019227EA11E>76
D<FFC00003FF0FC00003F007C00003E005E00005E005E00005E004F00009E004F00009E004F000
09E004780011E004780011E004780011E0043C0021E0043C0021E0043C0021E0041E0041E0041E
0041E0040F0081E0040F0081E0040F0081E004078101E004078101E004078101E00403C201E004
03C201E00401E401E00401E401E00401E401E00400F801E00400F801E00400F801E004007001E0
0E007001E01F007003F0FFE0203FFF28227EA12D>I<FFFFE000000F803C000007800E00000780
078000078007C000078003C000078003E000078003E000078003E000078003E000078003E00007
8003C000078007C000078007800007800E000007803C000007FFE0000007807000000780380000
07801C000007801E000007800E000007800F000007800F000007800F000007800F000007800F80
0007800F800007800F800007800F808007800FC080078007C0800FC003C100FFFC01E200000000
7C0021237EA124>82 D<FFF03FFC03FE1F8007E000F80F0003C000700F0003C000200F0003C000
20078001E00040078001E00040078001E0004003C002F0008003C002F0008003C002F0008001E0
0478010001E00478010001E00478010000F0083C020000F0083C020000F0083C020000F8183E06
000078101E04000078101E0400007C101E0400003C200F0800003C200F0800003C200F0800001E
40079000001E40079000001E40079000000F8003E000000F8003E000000F8003E00000070001C0
0000070001C00000070001C0000003000180000002000080002F237FA132>87
D<0FE0001838003C0C003C0E0018070000070000070000070000FF0007C7001E07003C07007807
00700700F00708F00708F00708F00F087817083C23900FC1E015157E9418>97
D<0E0000FE00001E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00
000E00000E1F000E61C00E80600F00300E00380E003C0E001C0E001E0E001E0E001E0E001E0E00
1E0E001E0E001E0E001C0E003C0E00380F00700C80600C41C0083F0017237FA21B>I<01FE0007
03000C07801C0780380300780000700000F00000F00000F00000F00000F00000F00000F0000070
00007800403800401C00800C010007060001F80012157E9416>I<0000E0000FE00001E00000E0
0000E00000E00000E00000E00000E00000E00000E00000E00000E00000E001F8E00704E00C02E0
1C01E03800E07800E07000E0F000E0F000E0F000E0F000E0F000E0F000E0F000E07000E07800E0
3800E01801E00C02E0070CF001F0FE17237EA21B>I<01FC000707000C03801C01C03801C07801
E07000E0F000E0FFFFE0F00000F00000F00000F00000F000007000007800203800201C00400E00
8007030000FC0013157F9416>I<00007001F198071E180E0E181C07001C07003C07803C07803C
07803C07801C07001C07000E0E000F1C0019F0001000001000001800001800001FFE000FFFC00F
FFE03800F0600030400018C00018C00018C000186000306000303800E00E038003FE0015217F95
18>103 D<0E0000FE00001E00000E00000E00000E00000E00000E00000E00000E00000E00000E
00000E00000E00000E1F800E60C00E80E00F00700F00700E00700E00700E00700E00700E00700E
00700E00700E00700E00700E00700E00700E00700E00700E00700E0070FFE7FF18237FA21B>I<
1C001E003E001E001C00000000000000000000000000000000000E00FE001E000E000E000E000E
000E000E000E000E000E000E000E000E000E000E000E000E000E00FFC00A227FA10E>I<0E00FE
001E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E00
0E000E000E000E000E000E000E000E000E000E000E000E000E00FFE00B237FA20E>108
D<0E1FC07F00FE60E183801E807201C00F003C00E00F003C00E00E003800E00E003800E00E0038
00E00E003800E00E003800E00E003800E00E003800E00E003800E00E003800E00E003800E00E00
3800E00E003800E00E003800E00E003800E00E003800E0FFE3FF8FFE27157F942A>I<0E1F80FE
60C01E80E00F00700F00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E
00700E00700E00700E00700E00700E0070FFE7FF18157F941B>I<01FC000707000C01801800C0
3800E0700070700070F00078F00078F00078F00078F00078F00078F000787000707800F03800E0
1C01C00E038007070001FC0015157F9418>I<01F8200704600E02601C01603801E07800E07800
E0F000E0F000E0F000E0F000E0F000E0F000E0F000E07000E07800E03801E01C01E00C02E0070C
E001F0E00000E00000E00000E00000E00000E00000E00000E00000E00000E0000FFE171F7E941A
>113 D<0E3CFE461E8F0F0F0F060F000E000E000E000E000E000E000E000E000E000E000E000E
000E000F00FFF010157F9413>I<0F8830786018C018C008C008E008F0007F803FE00FF001F800
3C801C800C800CC00CC008E018D0308FC00E157E9413>I<02000200020002000600060006000E
001E003E00FFF80E000E000E000E000E000E000E000E000E000E000E000E040E040E040E040E04
0E040708030801F00E1F7F9E13>I<0E0070FE07F01E00F00E00700E00700E00700E00700E0070
0E00700E00700E00700E00700E00700E00700E00700E00700E00F00E00F006017003827800FC7F
18157F941B>I<FFC1FE1E00780E00300E00200E002007004007004003808003808003808001C1
0001C10000E20000E20000E2000074000074000038000038000038000010000010000020000020
00002000004000F04000F08000F180004300003C0000171F7F941A>121
D<3FFFC0380380300780200700600E00401C00403C0040380000700000E00001E00001C0000380
400700400F00400E00C01C0080380080780180700780FFFF8012157F9416>I
E /Fq 18 118 df<FFFFC00000FFFFC0000007F000000003E000000003E000000003E000000003
E000000003E000000003E000000003E000000003E000000003E000000003E000000003E0000000
03E000000003E000000003E000000003E000000003E000000003E000000003E000000003E00000
0003E000000003E000000003E000000003E000000003E000000003E000000003E000000003E000
000003E000000003E000004003E000004003E000004003E000004003E000008003E000008003E0
00008003E000008003E000018003E000018003E000038003E000038003E000078003E0000F0003
E0003F0007E000FF00FFFFFFFF00FFFFFFFF0022317CB029>76 D<FFF00000007FF8FFF0000000
7FF807F00000007F0002F8000000BE0002F8000000BE0002F8000000BE00027C0000013E00027C
0000013E00023E0000023E00023E0000023E00023E0000023E00021F0000043E00021F0000043E
00021F0000043E00020F8000083E00020F8000083E00020F8000083E000207C000103E000207C0
00103E000207C000103E000203E000203E000203E000203E000201F000403E000201F000403E00
0201F000403E000200F800803E000200F800803E000200F800803E0002007C01003E0002007C01
003E0002007C01003E0002003E02003E0002003E02003E0002003E02003E0002001F04003E0002
001F04003E0002000F88003E0002000F88003E0002000F88003E00020007D0003E00020007D000
3E00020007D0003E00020003E0003E00020003E0003E00020003E0003E00070001C0003E000F80
01C0007F00FFF801C00FFFF8FFF800800FFFF835317CB03D>I<FFFFFFC000FFFFFFF80007E000
FE0003E0001F0003E0000F8003E00007C003E00003E003E00003F003E00001F003E00001F003E0
0001F803E00001F803E00001F803E00001F803E00001F803E00001F803E00001F003E00001F003
E00003E003E00003E003E00007C003E0000F8003E0001F0003E000FC0003FFFFF00003E0000000
03E000000003E000000003E000000003E000000003E000000003E000000003E000000003E00000
0003E000000003E000000003E000000003E000000003E000000003E000000003E000000003E000
000003E000000003E000000003E000000003E000000007F0000000FFFF800000FFFF8000002531
7CB02D>80 D<FFFFFF000000FFFFFFF0000007E001FC000003E0003E000003E0001F800003E000
07C00003E00007E00003E00003E00003E00003F00003E00001F00003E00001F80003E00001F800
03E00001F80003E00001F80003E00001F80003E00001F80003E00001F00003E00003F00003E000
03E00003E00007C00003E0000F800003E0001F000003E0003C000003E001F0000003FFFF000000
03E003E0000003E00078000003E0003C000003E0001E000003E0000F000003E0000F800003E000
07800003E00007C00003E00007C00003E00007C00003E00007C00003E00007C00003E00007E000
03E00007E00003E00007E00003E00007E00003E00007E00003E00007E00803E00007F00803E000
03F00803E00003F00807F00001F010FFFF8000F810FFFF80007C60000000000F802D327CB031>
82 D<00FE00000303C0000C00E00010007000100038003C003C003E001C003E001E003E001E00
08001E0000001E0000001E0000001E00000FFE0000FC1E0003E01E000F801E001F001E003E001E
003C001E007C001E00F8001E04F8001E04F8001E04F8003E04F8003E0478003E047C005E043E00
8F080F0307F003FC03E01E1F7D9E21>97 D<003F8000E0600380180700040F00041E001E1C003E
3C003E7C003E7C0008780000F80000F80000F80000F80000F80000F80000F80000F80000F80000
7800007C00007C00003C00011E00011E00020F000207000403801800E060003F80181F7D9E1D>
99 D<003F800000E0E0000380380007003C000E001E001E001E001C000F003C000F007C000F00
78000F8078000780F8000780F8000780FFFFFF80F8000000F8000000F8000000F8000000F80000
00F8000000780000007C0000003C0000003C0000801E0000800E0001000F0002000780020001C0
0C0000F03000001FC000191F7E9E1D>101 D<0007E0001C1000383800707C00E07C01E07C01C0
3803C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C000FFFF
C0FFFFC003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0
0003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0
0003C00007E0007FFF007FFF0016327FB114>I<000000F0007F030801C1C41C0380E81C070070
080F0078001E003C001E003C003E003E003E003E003E003E003E003E003E003E003E003E001E00
3C001E003C000F007800070070000780E00009C1C000087F000018000000180000001800000018
000000180000001C0000000E0000000FFFF80007FFFF0003FFFF800E000FC0180001E0300000F0
70000070E0000038E0000038E0000038E0000038E00000387000007070000070380000E01C0001
C00700070001C01C00003FE0001E2F7E9F21>I<01800000003F80000000FF80000000FF800000
000F80000000078000000007800000000780000000078000000007800000000780000000078000
000007800000000780000000078000000007800000000780000000078000000007800000000780
FE00000783078000078C03C000079001E00007A001E00007A000F00007C000F00007C000F00007
8000F000078000F000078000F000078000F000078000F000078000F000078000F000078000F000
078000F000078000F000078000F000078000F000078000F000078000F000078000F000078000F0
00078000F000078000F000078000F000078000F0000FC001F800FFFC1FFF80FFFC1FFF8021327E
B125>I<07000F801F801F800F8007000000000000000000000000000000000000000000000001
801F80FF80FF800F80078007800780078007800780078007800780078007800780078007800780
078007800780078007800780078007800FC0FFF8FFF80D307EAF12>I<01803F80FF80FF800F80
078007800780078007800780078007800780078007800780078007800780078007800780078007
800780078007800780078007800780078007800780078007800780078007800780078007800780
0780078007800FC0FFFCFFFC0E327EB112>108 D<0180FE001FC0003F83078060F000FF8C03C1
807800FF9001E2003C000FA001E4003C0007A000F4001E0007C000F8001E0007C000F8001E0007
8000F0001E00078000F0001E00078000F0001E00078000F0001E00078000F0001E00078000F000
1E00078000F0001E00078000F0001E00078000F0001E00078000F0001E00078000F0001E000780
00F0001E00078000F0001E00078000F0001E00078000F0001E00078000F0001E00078000F0001E
00078000F0001E00078000F0001E00078000F0001E000FC001F8003F00FFFC1FFF83FFF0FFFC1F
FF83FFF0341F7E9E38>I<0180FE00003F83078000FF8C03C000FF9001E0000FA001E00007A000
F00007C000F00007C000F000078000F000078000F000078000F000078000F000078000F0000780
00F000078000F000078000F000078000F000078000F000078000F000078000F000078000F00007
8000F000078000F000078000F000078000F000078000F000078000F000078000F0000FC001F800
FFFC1FFF80FFFC1FFF80211F7E9E25>I<001FC00000F0780001C01C00070007000F0007801E00
03C01C0001C03C0001E03C0001E0780000F0780000F0780000F0F80000F8F80000F8F80000F8F8
0000F8F80000F8F80000F8F80000F8F80000F8780000F07C0001F03C0001E03C0001E01E0003C0
1E0003C00F00078007800F0001C01C0000F07800001FC0001D1F7E9E21>I<0183E03F8C18FF90
7CFF907C0FA07C07C03807C00007C00007C0000780000780000780000780000780000780000780
000780000780000780000780000780000780000780000780000780000780000780000780000FC0
00FFFE00FFFE00161F7E9E19>114 D<00400000400000400000400000400000C00000C00000C0
0001C00001C00003C00007C0000FC0001FFFE0FFFFE003C00003C00003C00003C00003C00003C0
0003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C01003C01003C0
1003C01003C01003C01003C01003C01001C02001E02000E0400078C0001F00142C7FAB19>116
D<01800030003F8007F000FF801FF000FF801FF0000F8001F000078000F000078000F000078000
F000078000F000078000F000078000F000078000F000078000F000078000F000078000F0000780
00F000078000F000078000F000078000F000078000F000078000F000078000F000078000F00007
8001F000078001F000078001F000038002F00003C004F00001C008F800007030FF80001FC0FF80
211F7E9E25>I E end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 300
TeXDict begin @a4 /a4 where {pop a4} if
%%EndSetup
%%Page: 1 1
bop 149 342 a Fq(Reference)22 b(Man)n(ual)e(of)i(the)g(Programming)e
(Language)h(Lua)683 468 y Fp(Rob)q(erto)c(Ierusalimsc)o(h)o(y)618
526 y(Luiz)f(Henrique)e(de)j(Figueiredo)678 584 y(W)l(aldemar)e(Celes)g
(Filho)725 664 y Fo(T)m(eCGraf)e(|)g(PUC-Rio)616 722 y(rob)q(erto,)i(lhf,)d
(celes@icad.puc-rio.br)778 823 y Fp(Ma)o(y)k(27,)h(1994)830
991 y Fn(Abstract)164 1067 y Fo(Lua)j(is)g(an)g(em)o(b)q(edded)g(programming)
c(language)k(designed)g(to)g(b)q(e)h(used)g(as)f(a)g(con\014guration)102
1117 y(language)13 b(for)h(an)o(y)f(program)f(that)j(needs)g(one.)j(This)c
(do)q(cumen)o(t)g(describ)q(es)i(the)f(Lua)e(programming)102
1166 y(language)c(and)g(the)h(API)g(that)g(allo)o(ws)e(in)o(teraction)i(b)q
(et)o(w)o(een)h(Lua)e(programs)f(and)i(its)f(host)h(C)g(program.)102
1216 y(It)k(also)f(presen)o(ts)j(some)d(examples)g(of)g(using)h(the)g(main)e
(features)j(of)e(the)i(system.)869 1471 y Fn(Sum\023)-24 b(ario)102
1538 y Fo(Lua)9 b(\023)-20 b(e)11 b(uma)d(linguagem)g(de)j(extens~)-21
b(ao)11 b(pro)r(jetada)f(para)h(ser)g(usada)f(como)f(linguagem)f(de)j
(con\014gura\030)-18 b(c~)d(ao)102 1588 y(em)19 b(qualquer)i(programa)d(que)j
(precise)h(de)f(uma.)37 b(Este)21 b(do)q(cumen)o(to)f(descrev)o(e)j(a)d
(linguagem)e(de)102 1638 y(programa\030)-18 b(c~)d(ao)14 b(Lua)h(e)h(a)g(In)o
(terface)h(de)f(Programa\030)-18 b(c~)d(ao)14 b(que)i(p)q(ermite)g(a)f(in)o
(tera\030)-18 b(c~)d(ao)16 b(en)o(tre)h(programas)102 1688
y(Lua)d(e)h(o)f(programa)e(C)i(hosp)q(edeiro.)20 b(O)15 b(do)q(cumen)o(to)e
(tam)o(b)o(\023)-20 b(em)12 b(apresen)o(ta)k(alguns)d(exemplos)h(de)h(uso)102
1737 y(das)f(principais)f(caracter)-5 b(\023)-16 b(\020sticas)16
b(do)d(sistema.)910 2976 y Fm(1)p eop
%%Page: 2 2
bop -12 160 a Fl(1)69 b(In)n(tro)r(duction)-12 261 y Fm(Lua)16
b(is)h(an)f(em)o(b)q(edded)h(programming)e(language)h(designed)i(to)d(supp)q
(ort)h(general)g(pro)q(cedural)h(program-)-12 318 y(ming)k(features)f(with)g
(data)g(description)h(facilities.)37 b(It)20 b(is)h(supp)q(osed)g(to)f(b)q(e)
h(used)f(as)g(a)g(con\014guration)-12 374 y(language)g(for)f(an)o(y)g
(program)f(that)g(needs)j(one.)32 b(Lua)20 b(w)o(as)e(designed)j(b)o(y)f(R.)f
(Ierusalimsc)o(h)o(y)l(,)i(L.)f(H.)f(de)-12 430 y(Figueiredo)d(and)g(W.)e
(Celes,)i(and)f(implemen)o(ted)i(b)o(y)e(W.)g(Celes.)59 487
y(Lua)j(is)g(implemen)o(ted)h(as)e(a)h(library)l(,)h(written)e(in)i(C.)e
(Being)h(an)g(em)o(b)q(edded)h(language,)f(Lua)g(has)f(no)-12
543 y(notion)j(of)f(a)g(\\main")g(program:)28 b(it)19 b(only)h(w)o(orks)f
Fk(emb)n(e)n(dde)n(d)g Fm(in)h(a)f(host)g(clien)o(t,)j(called)f(the)e
Fk(emb)n(e)n(dding)-12 600 y Fm(program.)g(This)c(host)g(program)e(can)i(in)o
(v)o(ok)o(e)g(functions)h(to)e(execute)h(a)g(piece)h(of)e(co)q(de)i(in)f
(Lua,)g(can)g(write)-12 656 y(and)i(read)g(Lua)h(v)m(ariables,)g(and)f(can)g
(register)g(C)g(functions)h(to)e(b)q(e)i(called)g(b)o(y)f(Lua)h(co)q(de.)25
b(Through)17 b(the)-12 713 y(use)d(of)g(C)f(functions,)i(Lua)f(can)g(b)q(e)h
(augmen)o(ted)e(to)g(cop)q(e)i(with)f(rather)f(di\013eren)o(t)h(domains,)g
(th)o(us)g(creating)-12 769 y(customized)i(programming)f(languages)g(sharing)
h(a)f(syn)o(tactical)g(framew)o(ork.)59 826 y(Lua)k(is)g(free)g(distribution)
h(soft)o(w)o(are,)e(and)h(pro)o(vided)g(as)g(usual)g(with)g(no)g(guaran)o
(tees.)30 b(The)19 b(imple-)-12 882 y(men)o(tation)c(describ)q(ed)i(in)f
(this)g(man)o(ual)f(is)h(a)o(v)m(ailable)h(b)o(y)e(anon)o(ymous)g(ftp)g(from)
60 976 y Fj(ftp.icad.puc-rio.br:/pub)o(/lua/lua)o(_1.0.ta)o(r.Z)-12
1119 y Fl(2)69 b(En)n(vironmen)n(t)21 b(and)i(Mo)r(dules)-12
1221 y Fm(All)15 b(statemen)o(ts)d(in)j(Lua)e(are)h(executed)g(in)g(a)f
Fk(glob)n(al)h(envir)n(onment)t Fm(.)k(This)d(en)o(vironmen)o(t,)e(whic)o(h)i
(k)o(eeps)e(all)-12 1277 y(global)19 b(v)m(ariables)g(and)f(functions,)g(is)h
(initialized)i(at)c(the)h(b)q(eginning)i(of)d(the)h(em)o(b)q(edding)h
(program)e(and)-12 1334 y(p)q(ersists)f(un)o(til)g(its)g(end.)59
1390 y(The)i(global)g(en)o(vironmen)o(t)g(can)g(b)q(e)g(manipulated)i(b)o(y)d
(Lua)h(co)q(de)h(or)e(b)o(y)h(the)f(em)o(b)q(edding)j(program,)-12
1446 y(whic)o(h)c(can)g(read)f(and)g(write)g(global)h(v)m(ariables)h(using)f
(functions)g(in)g(the)f(library)h(that)e(implemen)o(ts)j(Lua.)59
1503 y(Global)22 b(v)m(ariables)g(do)f(not)g(need)h(declaration.)39
b(An)o(y)22 b(v)m(ariable)g(is)g(assumed)g(to)e(b)q(e)i(global)g(unless)-12
1559 y(explicitly)17 b(declared)f(lo)q(cal)g(\(see)e(lo)q(cal)h
(declarations,)g(Section)h(4.4.5\).)h(Before)e(the)f(\014rst)g(assignmen)o
(t,)g(the)-12 1616 y(v)m(alue)j(of)d(a)h(global)h(v)m(ariable)h(is)e
Fi(nil)p Fm(.)59 1672 y(The)g(unit)h(of)f(execution)h(of)f(Lua)h(is)f(called)
i(a)e Fk(mo)n(dule)s Fm(.)20 b(The)c(syn)o(tax)e(for)h(mo)q(dules)h(is:)1563
1656 y Fh(1)72 1744 y Fk(mo)n(dule)50 b Fg(!)g(f)p Fk(statement)32
b Fg(j)16 b Fk(function)s Fg(g)-1 1816 y Fm(A)10 b(mo)q(dule)i(ma)o(y)e(con)o
(tain)h(statemen)o(ts)e(and/or)h(function)i(de\014nitions,)g(and)f(ma)o(y)f
(b)q(e)h(in)h(a)e(\014le)i(or)e(in)h(a)f(string)-12 1873 y(inside)16
b(the)f(host)f(program.)k(When)d(a)f(mo)q(dule)i(is)f(executed,)g(\014rst)f
(all)h(its)g(functions)g(and)f(statemen)o(ts)g(are)-12 1929
y(compiled,)g(and)f(the)f(functions)h(added)g(to)f(the)g(global)h(en)o
(vironmen)o(t;)g(then)g(the)f(statemen)o(ts)f(are)h(executed)-12
1986 y(in)k(sequen)o(tial)g(order.)k(All)d(mo)q(di\014cations)f(a)f(mo)q
(dule)h(e\013ects)f(on)g(the)g(global)h(en)o(vironmen)o(t)f(p)q(ersist)h
(after)-12 2042 y(its)g(end.)k(Those)15 b(include)j(mo)q(di\014cations)e(to)f
(global)g(v)m(ariables)i(and)e(de\014nitions)i(of)e(new)g(functions)1736
2026 y Fh(2)1757 2042 y Fm(.)-12 2185 y Fl(3)69 b(T)n(yp)r(es)-12
2287 y Fm(Lua)16 b(is)h(a)e(dynamically)j(t)o(yp)q(ed)e(language.)22
b(V)l(ariables)17 b(do)f(not)f(ha)o(v)o(e)g(t)o(yp)q(es;)h(only)g(v)m(alues)h
(do.)22 b(All)17 b(v)m(alues)-12 2343 y(carry)e(their)h(o)o(wn)e(t)o(yp)q(e.)
20 b(Therefore,)15 b(there)g(are)g(no)g(t)o(yp)q(e)g(de\014nitions)i(in)f
(the)g(language.)59 2400 y(There)f(are)g(sev)o(en)g(basic)g(t)o(yp)q(es)g(in)
h(Lua:)k Fk(nil)p Fm(,)14 b Fk(numb)n(er)p Fm(,)g Fk(string)p
Fm(,)g Fk(function)p Fm(,)g Fk(Cfunction)p Fm(,)g Fk(user)n(data)p
Fm(,)h(and)-12 2456 y Fk(table)p Fm(.)25 b Fk(Nil)16 b Fm(is)h(the)g(t)o(yp)q
(e)g(of)g(the)g(v)m(alue)h Fi(nil)p Fm(,)g(whose)f(main)g(prop)q(ert)o(y)g
(is)g(to)f(b)q(e)i(di\013eren)o(t)f(from)f(an)o(y)h(other)-12
2513 y(v)m(alue.)k Fk(Numb)n(er)15 b Fm(represen)o(ts)h(real)f(\(\015oating)g
(p)q(oin)o(t\))g(n)o(um)o(b)q(ers,)g(while)i Fk(string)d Fm(has)i(the)f
(usual)h(meaning.)59 2569 y(F)l(unctions)f(are)e(considered)j(\014rst-class)e
(v)m(alues)i(in)f(Lua.)k(This)c(means)f(that)g(functions)h(can)f(b)q(e)h
(stored)-12 2626 y(in)h(v)m(ariables,)g(passed)f(as)f(argumen)o(ts)g(to)h
(other)f(functions)i(and)f(returned)g(as)g(results.)20 b(When)15
b(a)f(function)-12 2682 y(in)19 b(Lua)g(is)f(de\014ned,)i(its)f(b)q(o)q(dy)f
(is)h(compiled)h(and)e(stored)g(in)h(a)f(global)h(v)m(ariable)g(with)g(the)f
(giv)o(en)h(name.)p -12 2722 747 2 v 40 2749 a Ff(1)57 2764
y Fe(As)12 b(usual)i(in)g(extended)f(BNF,)f Fd(f)p Fc(a)s Fd(g)g
Fe(means)h(0)g(or)f(more)h Fc(a)s Fe('s,)e([)p Fc(a)s Fe(])g(means)i(an)g
(optional)h Fc(a)e Fe(and)h Fd(f)p Fc(a)s Fd(g)1500 2749 y
Ff(+)1538 2764 y Fe(means)g(one)g(or)f(more)-12 2810 y Fc(a)s
Fe('s.)40 2840 y Ff(2)57 2856 y Fe(Actually)m(,)i(a)f(function)i
(de\014nition)h(is)d(an)g(assignmen)o(t)i(to)e(a)g(global)i(v)n(ariable;)g
(see)e(Section)i(3.)910 2976 y Fm(2)p eop
%%Page: 3 3
bop -12 160 a Fm(Lua)16 b(can)f(call)i(\(and)e(manipulate\))h(functions)h
(written)e(in)h(Lua)g(and)g(functions)g(written)f(in)h(C;)f(the)h(latter)-12
216 y(ha)o(v)o(e)f(t)o(yp)q(e)g Fk(Cfunction)s Fm(.)59 273
y(The)h(t)o(yp)q(e)g Fk(user)n(data)h Fm(is)f(pro)o(vided)h(to)e(allo)o(w)i
(arbitrary)e(C)h(p)q(oin)o(ters)g(to)g(b)q(e)h(stored)e(in)i(Lua)f(v)m
(ariables.)-12 329 y(It)h(corresp)q(onds)g(to)f Fj(void*)g
Fm(and)g(has)h(no)g(v)m(alid)h(op)q(erations)f(in)g(Lua,)g(b)q(esides)h
(assignmen)o(t)f(and)g(equalit)o(y)-12 385 y(test.)59 442 y(The)c(t)o(yp)q(e)
h Fk(table)f Fm(implemen)o(ts)h(asso)q(ciativ)o(e)g(arra)o(ys,)e(that)h(is,)g
(arra)o(ys)f(that)h(can)g(b)q(e)h(indexed)h(b)q(oth)f(with)-12
498 y(n)o(um)o(b)q(ers)19 b(and)f(with)h(strings.)29 b(Therefore,)19
b(this)g(t)o(yp)q(e)f(ma)o(y)g(b)q(e)h(used)g(not)f(only)h(to)f(represen)o(t)
g(ordinary)-12 555 y(arra)o(ys,)h(but)h(also)f(sym)o(b)q(ol)h(tables,)g
(sets,)g(records,)g(etc.)33 b(T)l(o)19 b(represen)o(t)h(a)f(record,)h(Lua)g
(uses)f(the)h(\014eld)-12 611 y(name)13 b(as)g(an)g(index.)21
b(The)13 b(language)g(supp)q(orts)g(this)h(represen)o(tation)f(b)o(y)g(pro)o
(viding)h Fj(a.name)f Fm(as)f(syn)o(tactic)-12 668 y(sugar)j(for)f
Fj(a["name"])p Fm(.)59 724 y(It)i(is)g(imp)q(ortan)o(t)f(to)g(notice)i(that)e
(tables)h(are)f(ob)s(jects,)g(and)h(not)f(v)m(alues.)23 b(V)l(ariables)17
b(cannot)e(con)o(tain)-12 781 y(tables,)e(only)h(references)f(to)f(them.)19
b(Assignmen)o(t,)13 b(parameter)f(passing)i(and)e(returns)h(alw)o(a)o(ys)f
(manipulate)-12 837 y(references)18 b(to)f(tables,)h(and)f(do)h(not)f(imply)h
(an)o(y)f(kind)i(of)e(cop)o(y)l(.)26 b(Moreo)o(v)o(er,)16 b(tables)i(m)o(ust)
e(b)q(e)j(explicitly)-12 894 y(created)c(b)q(efore)h(used;)f(see)h(Section)g
(4.5.7.)-12 1037 y Fl(4)69 b(The)23 b(Language)-12 1138 y Fm(This)16
b(section)g(describ)q(es)h(the)e(lexis,)h(syn)o(tax)e(and)i(seman)o(tics)f
(of)g(Lua.)-12 1260 y Fb(4.1)56 b(Lexical)17 b(Con)n(v)n(en)n(tions)-12
1346 y Fm(Lua)c(is)g(a)f(case)g(sensitiv)o(e)i(language.)19
b(Iden)o(ti\014ers)14 b(can)e(b)q(e)h(an)o(y)f(string)h(of)f(letters,)g
(digits,)i(and)e(underscores,)-12 1402 y(not)h(b)q(eginning)h(with)f(a)g
(digit.)20 b(The)13 b(follo)o(wing)g(w)o(ords)f(are)h(reserv)o(ed,)g(and)g
(cannot)f(b)q(e)h(used)h(as)e(iden)o(ti\014ers:)203 1496 y
Fj(and)143 b(do)190 b(else)143 b(elseif)95 b(end)203 1552 y(function)23
b(if)190 b(local)119 b(nil)167 b(not)203 1609 y(or)g(repeat)94
b(return)h(until)119 b(then)95 b(while)59 1703 y Fm(The)15
b(follo)o(wing)h(strings)f(denote)h(other)e(tok)o(ens:)203
1797 y Fj(~=)47 b(<=)h(>=)f(<)72 b(>)f(=)h(..)47 b(+)72 b(-)f(*)g(/)h(\045)
203 1853 y(\()f(\))h({)f(})h([)f(])h(@)f(;)h(,)f(.)59 1947
y Fm(Literal)17 b(strings)f(can)h(b)q(e)g(delimited)h(b)o(y)f(matc)o(hing)f
(single)i(or)d(double)j(quotes,)e(and)g(can)h(con)o(tain)f(the)-12
2003 y(C-lik)o(e)f(escap)q(e)g(sequences)g Fj('\\n')p Fm(,)e
Fj('\\t')h Fm(and)g Fj('\\r')p Fm(.)19 b(Commen)o(ts)13 b(start)g(an)o
(ywhere)h(outside)g(a)g(string)g(with)-12 2060 y(a)h(double)i(h)o(yphen)f(\()
p Fj(--)p Fm(\))e(and)h(run)h(un)o(til)g(the)f(end)h(of)f(the)g(line.)59
2116 y(Numerical)e(constan)o(ts)e(ma)o(y)g(b)q(e)h(written)g(with)g(an)f
(optional)h(decimal)i(part,)d(and)h(an)g(optional)g(decimal)-12
2173 y(exp)q(onen)o(t.)21 b(Examples)15 b(of)g(v)m(alid)i(n)o(umerical)f
(constan)o(ts)f(are:)155 2266 y Fj(4)119 b(4.)g(.4)g(4.57e-3)g(.3e12)-12
2388 y Fb(4.2)56 b(Co)r(ercion)-12 2474 y Fm(Lua)17 b(pro)o(vides)g(some)g
(automatic)f(con)o(v)o(ersions.)24 b(An)o(y)17 b(arithmetic)g(op)q(eration)g
(applied)i(to)d(a)g(string)h(tries)-12 2530 y(to)g(con)o(v)o(ert)g(that)g
(string)g(to)g(a)g(n)o(um)o(b)q(er,)h(follo)o(wing)h(the)e(usual)h(rules.)28
b(More)17 b(sp)q(eci\014cally)l(,)k(the)c(string)h(is)-12 2587
y(con)o(v)o(erted)c(to)f(a)h(n)o(um)o(b)q(er)g(using)h(the)f(standard)g
Fj(strtod)f Fm(C)h(function.)20 b(Con)o(v)o(ersely)l(,)14 b(whenev)o(er)g(a)g
(n)o(um)o(b)q(er)-12 2643 y(is)22 b(used)h(when)f(a)g(string)f(is)i(exp)q
(ected,)h(that)d(n)o(um)o(b)q(er)h(is)h(con)o(v)o(erted)e(to)g(a)h(string,)h
(according)f(to)f(the)-12 2700 y(follo)o(wing)e(rule:)28 b(if)19
b(the)g(n)o(um)o(b)q(er)f(is)h(an)g(in)o(teger,)g(it)g(is)g(written)g
(without)f(exp)q(onen)o(t)h(or)f(decimal)i(p)q(oin)o(t;)-12
2756 y(otherwise,)e(it)g(is)g(formatted)e(follo)o(wing)i(the)f(\\)p
Fj(\045g)p Fm(")g(con)o(v)o(ersion)g(sp)q(eci\014cation)j(of)d(the)g
(standard)g Fj(printf)-12 2813 y Fm(C)e(function.)910 2976
y(3)p eop
%%Page: 4 4
bop -12 160 a Fb(4.3)56 b(Adjustmen)n(t)-12 245 y Fm(F)l(unctions)16
b(in)h(Lua)e(can)h(return)f(man)o(y)g(v)m(alues.)22 b(Because)16
b(there)f(are)h(no)f(t)o(yp)q(e)g(declarations,)h(the)g(system)-12
302 y(do)q(es)h(not)e(kno)o(w)h(ho)o(w)f(man)o(y)h(v)m(alues)h(a)f(function)g
(will)i(return.)k(Therefore,)16 b(sometimes,)g(a)g(list)h(of)e(v)m(alues)-12
358 y(m)o(ust)f(b)q(e)g Fk(adjuste)n(d)5 b Fm(,)14 b(at)f(run)h(time,)h(to)e
(a)h(giv)o(en)g(length.)20 b(If)14 b(there)g(are)g(more)g(v)m(alues)h(than)e
(are)h(needed,)h(the)-12 415 y(last)h(v)m(alues)i(are)e(thro)o(wn)f(a)o(w)o
(a)o(y)l(.)21 b(If)c(there)f(are)g(more)g(needs)h(than)f(v)m(alues,)h(the)f
(list)h(is)g(extended)g(with)g(as)-12 471 y(man)o(y)e Fi(nil)p
Fm('s)h(as)f(needed.)21 b(Adjustmen)o(t)15 b(also)g(o)q(ccurs)g(in)h(other)f
(con)o(texts,)f(suc)o(h)i(as)f(m)o(ultiple)i(assignmen)o(t.)-12
593 y Fb(4.4)56 b(Statemen)n(ts)-12 679 y Fm(Lua)18 b(supp)q(orts)f(an)g
(almost)f(con)o(v)o(en)o(tional)i(set)e(of)h(statemen)o(ts.)24
b(The)18 b(con)o(v)o(en)o(tional)f(commands)g(include)-12 735
y(assignmen)o(t,)d(con)o(trol)h(structures)f(and)h(pro)q(cedure)g(calls.)21
b(Non-con)o(v)o(en)o(tional)15 b(commands)g(include)i(table)-12
792 y(constructors,)d(explained)j(in)f(Section)h(4.5.7,)c(and)i(lo)q(cal)h(v)
m(ariable)h(declarations.)-12 912 y Fi(4.4.1)52 b(Blo)q(c)o(ks)-12
998 y Fm(A)13 b(blo)q(c)o(k)g(is)g(a)f(list)i(of)e(statemen)o(ts,)g(executed)
h(sequen)o(tially)l(.)21 b(An)o(y)13 b(statemen)o(t)e(can)i(b)q(e)g
(optionally)h(follo)o(w)o(ed)-12 1054 y(b)o(y)h(a)g(semicolon.)72
1122 y Fk(blo)n(ck)49 b Fg(!)h(f)p Fk(stat)16 b(sc)s Fg(g)f
Fm([)p Fk(r)n(et)h(sc)s Fm(])128 1179 y Fk(sc)49 b Fg(!)h Fm([';'])2
1247 y(F)l(or)13 b(syn)o(tactic)g(reasons,)h(a)f(return)h(statemen)o(t)e(can)
i(only)g(b)q(e)g(written)g(as)f(the)h(last)g(statemen)o(t)e(of)i(a)f(blo)q(c)
o(k.)-12 1303 y(This)j(restriction)g(also)f(a)o(v)o(oids)g(some)g(\\statemen)
o(t)e(not)i(reac)o(hed")g(errors.)-12 1423 y Fi(4.4.2)52 b(Assignmen)n(t)-12
1509 y Fm(The)17 b(language)g(allo)o(ws)g(m)o(ultiple)i(assignmen)o(t.)24
b(Therefore,)17 b(the)g(syn)o(tax)f(de\014nes)i(a)e(list)i(of)e(v)m(ariables)
i(on)-12 1566 y(the)13 b(left)g(side,)g(and)g(a)f(list)i(of)e(expressions)h
(on)g(the)f(righ)o(t)h(side.)20 b(Both)12 b(lists)h(ha)o(v)o(e)f(their)h
(elemen)o(ts)h(separated)-12 1622 y(b)o(y)h(commas.)146 1690
y Fk(stat)49 b Fg(!)i Fk(varlist1)16 b Fm('=')g Fk(explist1)72
1747 y(varlist1)49 b Fg(!)i Fk(var)16 b Fg(f)p Fm(',')f Fk(var)5
b Fg(g)2 1815 y Fm(This)14 b(statemen)o(t)f(\014rst)h(ev)m(aluates)g(all)h(v)
m(alues)g(on)f(the)g(righ)o(t)g(side)g(and)h(ev)o(en)o(tual)f(indices)i(on)e
(the)f(left)i(side,)-12 1872 y(and)h(then)f(mak)o(es)g(the)g(assignmen)o(ts.)
20 b(Therefore,)14 b(it)i(can)f(b)q(e)h(used)g(to)e(exc)o(hange)i(t)o(w)o(o)e
(v)m(alues,)i(as)e(in)60 1965 y Fj(x,)23 b(y)h(=)g(y,)f(x)-12
2059 y Fm(Before)18 b(the)f(assignmen)o(t,)h(the)g(list)g(of)f(v)m(alues)i
(is)f Fk(adjuste)n(d)g Fm(to)f(the)h(length)g(of)f(the)h(list)g(of)f(v)m
(ariables)i(\(see)-12 2116 y(Section)d(4.3\).)59 2172 y(A)f(single)i(name)e
(can)g(denote)h(a)e(global)i(or)f(a)g(lo)q(cal)h(v)m(ariable.)72
2240 y Fk(var)50 b Fg(!)g Fk(name)72 2297 y(var)g Fg(!)g Fk(var)17
b Fm('[')e Fk(exp1)i Fm(']')31 b Fg(j)16 b Fk(var)g Fm('.')k
Fk(name)4 2365 y Fm(Brac)o(k)o(ets)c(are)g(used)h(to)f(index)h(a)f(table.)24
b(In)17 b(this)g(case,)f Fj(var)g Fm(m)o(ust)g(result)h(in)g(a)f(table)h(v)m
(alue;)g(otherwise,)-12 2421 y(there)e(is)h(an)f(execution)i(error.)i(The)c
(syn)o(tax)g Fj(var.NAME)f Fm(is)h(just)g(syn)o(tactic)g(sugar)g(for)g
Fj(var["NAME"])p Fm(.)-12 2542 y Fi(4.4.3)52 b(Con)o(trol)17
b(Structures)-12 2627 y Fm(The)e(condition)h(expression)f(of)f(a)h(con)o
(trol)f(structure)g(can)h(return)g(an)o(y)f(v)m(alue.)21 b(All)16
b(v)m(alues)f(di\013eren)o(t)g(from)-12 2684 y Fi(nil)i Fm(are)e(considered)i
(true,)f(while)h Fi(nil)f Fm(is)h(considered)g(false.)k Fj(If)p
Fm(s,)15 b Fj(while)p Fm(s)g(and)h Fj(repeat)p Fm(s)f(ha)o(v)o(e)g(the)h
(usual)-12 2740 y(meaning.)910 2976 y(4)p eop
%%Page: 5 5
bop 100 158 a Fk(stat)50 b Fg(!)g Fi(while)17 b Fk(exp1)g Fi(do)f
Fk(blo)n(ck)g Fi(end)100 214 y Fk(stat)50 b Fg(!)g Fi(rep)q(eat)17
b Fk(blo)n(ck)e Fi(un)o(til)i Fk(exp1)100 271 y(stat)50 b Fg(!)g
Fi(if)17 b Fk(exp1)f Fi(then)h Fk(blo)n(ck)e Fg(f)p Fk(elseif)9
b Fg(g)16 b Fm([)p Fi(else)g Fk(blo)n(ck)5 b Fm(])15 b Fi(end)72
327 y Fk(elseif)49 b Fg(!)h Fi(elseif)17 b Fk(exp1)f Fi(then)h
Fk(blo)n(ck)59 420 y Fm(A)g Fj(return)g Fm(is)h(used)h(to)e(return)g(v)m
(alues)i(from)e(a)g(function.)28 b(Because)18 b(a)g(function)g(ma)o(y)f
(return)h(more)-12 477 y(than)d(one)h(v)m(alue,)g(the)f(syn)o(tax)f(for)h(a)g
(return)g(statemen)o(t)f(is:)72 549 y Fk(r)n(et)49 b Fg(!)i
Fi(return)15 b Fk(explist)-12 741 y Fi(4.4.4)52 b(Expressions)16
b(as)i(Statemen)o(ts)-12 827 y Fm(All)c(expressions)e(with)h(p)q(ossible)h
(side-e\013ects)e(can)h(b)q(e)f(executed)h(as)f(statemen)o(ts.)18
b(These)12 b(include)i(function)-12 883 y(calls)i(and)g(table)f
(constructors:)72 943 y Fk(stat)50 b Fg(!)g Fk(functionc)n(al)r(l)72
999 y(stat)g Fg(!)g Fk(table)n(c)n(onstructor)1 1067 y Fm(Ev)o(en)o(tual)14
b(returned)f(v)m(alues)i(are)d(thro)o(wn)h(a)o(w)o(a)o(y)l(.)18
b(F)l(unction)c(calls)g(are)f(explained)i(in)f(Section)g(4.5.8,)e(while)-12
1124 y(constructors)j(are)f(the)i(sub)s(ject)f(of)g(Section)h(4.5.7.)-12
1244 y Fi(4.4.5)52 b(Lo)q(cal)20 b(Declarations)-12 1330 y
Fm(Lo)q(cal)h(v)m(ariables)g(can)e(b)q(e)h(declared)h(an)o(ywhere)f(inside)h
(a)e(blo)q(c)o(k.)34 b(Their)20 b(scop)q(e)g(b)q(egins)h(after)e(the)h(dec-)
-12 1386 y(laration)h(and)g(lasts)g(un)o(til)h(the)f(blo)q(c)o(k)h(end.)38
b(The)21 b(declaration)g(ma)o(y)g(include)i(an)e(initial)i(assignmen)o(t:)122
1502 y Fk(stat)50 b Fg(!)g Fi(lo)q(cal)18 b Fk(de)n(clist)e
Fm([)p Fk(init)t Fm(])72 1558 y Fk(de)n(clist)49 b Fg(!)h Fk(name)16
b Fg(f)p Fm(',')f Fk(name)s Fg(g)125 1615 y Fk(init)50 b Fg(!)g
Fm('=')16 b Fk(explist1)0 1683 y Fm(If)c(there)f(is)h(an)g(initial)i
(assignmen)o(t,)d(it)h(has)g(the)f(same)h(seman)o(tics)f(of)h(a)f(m)o
(ultiple)i(assignmen)o(t.)19 b(Otherwise,)-12 1740 y(all)d(v)m(ariables)h
(are)e(initialized)j(with)e Fi(nil)p Fm(.)-12 1861 y Fb(4.5)56
b(Expressions)-12 1947 y Fi(4.5.1)c(Simple)16 b(Expressions)-12
2033 y Fm(Simple)h(expressions)f(are:)72 2101 y Fk(exp)50 b
Fg(!)g Fm('\(')15 b Fk(exp)i Fm('\)')72 2157 y Fk(exp)50 b
Fg(!)g Fi(nil)72 2214 y Fk(exp)g Fg(!)g Fm('n)o(um)o(b)q(er')72
2270 y Fk(exp)g Fg(!)g Fm('literal')72 2327 y Fk(exp)g Fg(!)g
Fk(var)4 2398 y Fm(Num)o(b)q(ers)16 b(\(n)o(umerical)g(constan)o(ts\))e(and)i
(string)g(literals)g(are)g(explained)h(in)g(Section)f(4.1.)k(V)l(ariables)d
(are)-12 2454 y(explained)g(in)g(Section)f(4.4.2.)-12 2574
y Fi(4.5.2)52 b(Arithmetic)16 b(Op)q(erators)-12 2660 y Fm(Lua)f(supp)q(orts)
f(the)g(usual)g(arithmetic)h(op)q(erators,)e(with)h(the)g(usual)h(meaning.)20
b(These)14 b(op)q(erators)g(are)f(the)-12 2716 y(binary)k Fj(+)p
Fm(,)e Fj(-)p Fm(,)h Fj(*)g Fm(and)g Fj(/)p Fm(,)f(and)h(the)h(unary)e
Fj(+)h Fm(and)g Fj(-)p Fm(.)22 b(The)16 b(op)q(erands)h(m)o(ust)e(b)q(e)i(n)o
(um)o(b)q(ers,)f(or)f(strings)h(that)-12 2773 y(can)g(b)q(e)f(con)o(v)o
(erted)g(to)g(n)o(um)o(b)q(ers,)g(according)h(to)e(the)h(rules)h(giv)o(en)g
(in)g(Section)g(4.2.)910 2976 y(5)p eop
%%Page: 6 6
bop -12 160 a Fi(4.5.3)52 b(Relational)20 b(Op)q(erators)-12
245 y Fm(Lua)c(o\013ers)e(the)h(follo)o(wing)h(relational)g(op)q(erators:)155
339 y Fj(<)72 b(>)f(<=)48 b(>=)f(~=)g(=)-12 433 y Fm(All)17
b(return)e Fi(nil)h Fm(as)f(false)g(and)h(1)f(as)f(true.)59
490 y(Equalit)o(y)19 b(\014rst)f(compares)g(the)g(t)o(yp)q(es)h(of)f(its)h
(op)q(erands.)30 b(If)18 b(they)h(are)f(di\013eren)o(t,)h(the)g(result)g(is)g
Fi(nil)p Fm(.)-12 546 y(Otherwise,)h(their)e(v)m(alues)i(are)d(compared.)29
b(Num)o(b)q(ers)19 b(and)f(strings)g(are)g(compared)g(in)h(the)g(usual)f(w)o
(a)o(y)l(.)-12 602 y(T)l(ables,)c(Cfunctions,)g(and)g(functions)g(are)f
(compared)g(b)o(y)h(reference,)g(that)e(is,)i(t)o(w)o(o)e(tables)i(are)f
(considered)-12 659 y(equal)j(only)g(if)g(they)f(are)g(the)g(same)g(table.)20
b(The)c(op)q(erator)e Fj(~=)h Fm(is)h(exactly)f(the)g(negation)h(of)f
(equalit)o(y)g(\()p Fj(=)p Fm(\).)59 715 y(The)f(other)f(op)q(erators)f(can)i
(only)g(b)q(e)g(applied)i(to)d(strings)g(and)h(n)o(um)o(b)q(ers.)20
b(If)14 b(one)f(of)g(the)h(argumen)o(ts)f(is)-12 772 y(a)g(string,)h(the)f
(other)g(is)h(con)o(v)o(erted)f(to)g(a)g(string,)g(and)h(their)g(v)m(alues)g
(are)f(compared)h(using)g(lexicographical)-12 828 y(order.)20
b(Otherwise,)15 b(b)q(oth)h(are)f(n)o(um)o(b)q(ers)g(and)h(are)e(compared)i
(as)e(suc)o(h.)-12 948 y Fi(4.5.4)52 b(Logical)20 b(Op)q(erators)-12
1034 y Fm(All)g(logical)g(op)q(erators,)f(lik)o(e)h(con)o(trol)e(structures,)
h(consider)h Fi(nil)g Fm(as)e(false)i(and)f(an)o(ything)g(else)g(as)g(true.)
-12 1091 y(Lik)o(e)d(relational)g(op)q(erators,)e(they)i(return)f
Fi(nil)h Fm(as)f(false)g(and)h(1)f(as)f(true.)20 b(The)c(logical)g(op)q
(erators)e(are:)298 1184 y Fj(and)72 b(or)f(not)-12 1278 y
Fm(The)18 b(op)q(erators)f Fj(and)g Fm(and)h Fj(or)g Fm(use)g(short-cut)f(ev)
m(aluation,)j(that)d(is,)h(the)g(second)h(op)q(erand)f(is)g(ev)m(aluated)-12
1335 y(only)e(if)g(necessary)l(.)-12 1455 y Fi(4.5.5)52 b(Concatenation)-12
1541 y Fm(Lua)15 b(o\013ers)f(a)g(string)g(concatenation)h(op)q(erator,)e
(denoted)i(b)o(y)g(\\)p Fj(..)p Fm(".)k(The)14 b(op)q(erands)h(m)o(ust)f(b)q
(e)h(strings)g(or)-12 1597 y(n)o(um)o(b)q(ers,)g(whic)o(h)h(are)f(con)o(v)o
(erted)g(to)g(strings)g(according)g(to)g(the)g(rules)h(in)g(Section)g(4.2.)
-12 1717 y Fi(4.5.6)52 b(Precedence)-12 1803 y Fm(Op)q(erator)15
b(precedence)i(follo)o(ws)e(the)h(table)f(b)q(elo)o(w,)h(from)e(the)h(lo)o(w)
o(er)g(to)g(the)g(higher)h(priorit)o(y:)298 1897 y Fj(and)72
b(or)298 1953 y(<)g(>)f(<=)48 b(>=)f(~=)h(=)298 2010 y(..)298
2066 y(+)72 b(-)298 2122 y(*)g(/)298 2179 y(not)48 b(+)23 b(\(unary\))47
b(-)24 b(\(unary\))-12 2273 y Fm(All)17 b(binary)e(op)q(erators)g(are)g(left)
g(asso)q(ciativ)o(e.)-12 2393 y Fi(4.5.7)52 b(T)l(able)18 b(Constructors)-12
2479 y Fm(T)l(able)13 b(constructors)e(are)h(expressions)h(that)e(create)h
(tables.)19 b(T)l(able)13 b(constructors)e(are)h(o\013ered)f(in)i(di\013eren)
o(t)-12 2535 y(\015a)o(v)o(ors.)19 b(The)c(simplest)i(one)e(is:)72
2607 y Fk(table)n(c)n(onstructor)49 b Fg(!)h Fm('@')16 b('\(')f([)p
Fk(exp1)6 b Fm(])17 b('\)')5 2679 y(Suc)o(h)h(an)f(expression)h(results)f(in)
h(a)f(new)g(empt)o(y)g(table.)26 b(An)18 b(optional)f(dimension)i(ma)o(y)e(b)
q(e)g(giv)o(en)h(as)f(a)-12 2736 y(hin)o(t)g(to)f(the)h(initial)h(table)f
(size.)25 b(Indep)q(enden)o(tly)19 b(of)d(the)g(initial)j(dimension,)f(all)g
(arra)o(ys)d(in)i(Lua)g(stretc)o(h)-12 2792 y(dynamically)g(as)e(needed.)59
2849 y(T)l(o)g(construct)g(a)f(table)i(and)f(initialize)k(some)c(\014elds,)h
(the)f(follo)o(wing)h(syn)o(tax)e(is)i(a)o(v)m(ailable:)910
2976 y(6)p eop
%%Page: 7 7
bop 72 160 a Fk(table)n(c)n(onstructor)49 b Fg(!)h Fm('@')16
b([)p Fk(name)s Fm(])g Fk(\014eld)r(list)8 232 y Fm(Suc)o(h)k(an)g
(expression)g(creates)g(a)f(new)h(table,)h(whic)o(h)g(will)g(b)q(e)f(its)g
(\014nal)h(v)m(alue,)h(initialize)g(some)e(of)f(its)-12 288
y(\014elds)i(according)g(to)e Fj(fieldlist)g Fm(\(see)h(b)q(elo)o(w\),)h
(and,)g(if)f Fj(name)g Fm(is)g(giv)o(en,)h(calls)g(a)f(function)h(with)f
(that)-12 345 y(name)14 b(passing)f(the)h(table)g(as)f(parameter.)18
b(This)c(function)g(can)g(b)q(e)g(used)g(to)f(c)o(hec)o(k)h(\014eld)g(v)m
(alues,)h(to)e(create)-12 401 y(default)j(\014elds,)g(or)f(for)f(an)o(y)h
(other)g(side-e\013ect.)110 469 y Fk(\014eld)r(list)48 b Fg(!)j
Fm(')p Fg(f)p Fm(')15 b([)p Fk(\016eld)r(list1)6 b Fm(])15
b(')p Fg(g)p Fm(')72 526 y Fk(\016eld)r(list1)49 b Fg(!)i Fk(\016eld)16
b Fg(f)p Fm(',')e Fk(\016eld)5 b Fg(g)157 582 y Fk(\016eld)49
b Fg(!)i Fk(name)16 b Fm('=')g Fk(exp)3 650 y Fm(This)g(\014eld)h(list)f
(initializes)i(named)d(\014elds)i(in)f(a)f(table.)20 b(As)15
b(an)g(example:)60 730 y Fj(a)24 b(=)f(@f{x)h(=)f(1,)h(y)g(=)f(3})-12
809 y Fm(is)16 b(equiv)m(alen)o(t)h(to:)60 888 y Fj(temp)23
b(=)h(@\(2\))60 945 y(temp.x)f(=)h(1)60 1001 y(temp.y)f(=)h(3)60
1058 y(f\(temp\))60 1114 y(a)g(=)f(temp)59 1193 y Fm(In)16
b(order)f(to)f(initialize)k(a)d(list,)h(one)f(can)h(use)f(the)g(follo)o(wing)
h(syn)o(tax:)107 1261 y Fk(\014eld)r(list)48 b Fg(!)j Fm('[')15
b([)p Fk(l\014eld)r(list1)6 b Fm(])14 b(']')72 1318 y Fk(l\014eld)r(list1)48
b Fg(!)j Fk(exp)16 b Fg(f)p Fm(',')f Fk(exp)s Fg(g)3 1386 y
Fm(As)h(an)f(example:)60 1465 y Fj(a)24 b(=)f(@["v1",)g("vv"])-12
1545 y Fm(is)16 b(equiv)m(alen)o(t)h(to:)60 1624 y Fj(temp)23
b(=)h(@\(2\))60 1680 y(temp[1])f(=)g("v1")60 1737 y(temp[2])g(=)g("v2")60
1793 y(a)h(=)f(temp)59 1872 y Fm(As)15 b(particular)h(cases,)f(the)g(follo)o
(wing)h(t)o(w)o(o)e(expressions)i(are)e(completely)j(equiv)m(alen)o(t:)84
1952 y Fj(@f{)23 b(})215 b(@f[)23 b(])-12 2069 y Fi(4.5.8)52
b(F)l(unction)18 b(Calls)-12 2155 y Fm(A)d(function)h(call)h(has)e(the)g
(follo)o(wing)h(syn)o(tax:)72 2223 y Fk(functionc)n(al)r(l)49
b Fg(!)h Fk(var)16 b Fm('\(')g([)p Fk(explist1)6 b Fm(])15
b('\)')154 2279 y Fk(explist1)50 b Fg(!)g(f)p Fk(exp1)16 b
Fm(',')p Fg(g)f Fk(exp)5 2350 y Fm(Here,)i Fj(var)g Fm(can)g(b)q(e)h(an)o(y)e
(v)m(ariable)j(\(global,)e(lo)q(cal,)h(indexed,)h(etc\))e(whose)g(v)m(alue)h
(has)f(t)o(yp)q(e)g Fk(function)j Fm(or)-12 2407 y Fk(Cfunction)s
Fm(.)g(All)c(argumen)o(t)e(expressions)i(are)f(ev)m(aluated)h(b)q(efore)f
(the)g(call,)h(from)f(left)g(to)f(righ)o(t;)h(then)g(the)-12
2463 y(list)k(of)f(argumen)o(ts)f(is)h(adjusted)g(to)g(the)g(length)g(of)g
(the)g(list)h(of)e(parameters)g(\(see)h(Section)h(4.3\);)f(\014nally)-12
2520 y(this)e(list)g(is)g(assigned)f(to)g(the)g(parameters.)59
2576 y(Because)20 b(a)g(function)g(can)g(return)g(an)o(y)g(n)o(um)o(b)q(er)g
(of)f(results)h(\(see)g(Section)h(4.4.3\),)e(the)h(n)o(um)o(b)q(er)g(of)-12
2632 y(results)11 b(m)o(ust)f(b)q(e)h(adjusted)f(b)q(efore)h(used.)19
b(If)10 b(the)h(function)g(is)g(called)h(as)e(an)g(statemen)o(t)f(\(see)h
(Section)i(4.4.4\),)-12 2689 y(its)19 b(return)g(list)g(is)h(adjusted)f(to)f
(0.)30 b(If)19 b(the)g(function)g(is)h(called)g(in)g(a)e(place)i(that)e
(needs)i(a)e(single)i(v)m(alue)-12 2745 y(\(syn)o(tactically)13
b(denoted)f(b)o(y)g(the)g(non-terminal)h Fj(exp1)p Fm(\),)f(its)g(return)g
(list)h(is)f(adjusted)g(to)g(1.)18 b(If)12 b(the)g(function)-12
2802 y(is)i(called)h(in)g(a)e(place)i(that)d(can)i(hold)h(man)o(y)e(v)m
(alues)h(\(syn)o(tactically)h(denoted)f(b)o(y)f(the)h(non-terminal)g
Fj(exp)p Fm(\),)-12 2858 y(no)h(adjustmen)o(t)g(is)h(done.)910
2976 y(7)p eop
%%Page: 8 8
bop -12 160 a Fb(4.6)56 b(F)-5 b(unction)19 b(De\014nitions)-12
245 y Fm(F)l(unctions)c(in)g(Lua)g(can)g(b)q(e)g(de\014ned)g(an)o(ywhere)g
(in)g(the)f(global)h(lev)o(el)h(of)e(a)g(mo)q(dule;)h(functions)g(cannot)g(b)
q(e)-12 302 y(de\014ned)i(inside)g(other)e(functions.)20 b(The)c(syn)o(tax)e
(for)h(function)h(de\014nition)h(is:)72 374 y Fk(function)49
b Fg(!)i Fi(function)17 b Fk(name)f Fm('\(')f([)p Fk(p)n(arlist1)6
b Fm(])16 b('\)')f Fk(blo)n(ck)h Fi(end)59 503 y Fm(When)d(Lua)g(\014nds)h(a)
f(function)g(de\014nition,)i(its)e(b)q(o)q(dy)h(is)g(compiled)g(to)f(in)o
(termediate)g(co)q(de)h(and)f(stored,)-12 559 y(with)j(t)o(yp)q(e)f
Fk(function)p Fm(,)f(in)o(to)i(the)f(global)h(v)m(ariable)g
Fj(name)p Fm(.)59 615 y(P)o(arameters)e(act)g(as)h(lo)q(cal)h(v)m(ariables,)h
(initialized)h(with)e(the)f(argumen)o(t)f(v)m(alues.)72 688
y Fk(p)n(arlist1)49 b Fg(!)i Fk('name')16 b Fg(f)p Fm(',')f
Fk(name)s Fg(g)59 816 y Fm(Results)h(are)e(returned)h(using)h(the)e
Fj(return)g Fm(statemen)o(t)g(\(see)h(Section)g(4.4.3\).)j(If)d(the)g(con)o
(trol)f(reac)o(hes)-12 873 y(the)h(end)h(of)f(a)g(function)h(without)f(a)g
(return)g(instruction,)h(the)f(function)h(returns)f(with)h(no)f(results.)-12
1016 y Fl(5)69 b(The)23 b(Application)e(Program)h(In)n(terface)-12
1117 y Fm(This)e(section)f(describ)q(es)h(the)f(API)g(for)f(Lua,)i(that)e
(is,)i(the)f(set)f(of)g(C)h(functions)g(a)o(v)m(ailable)i(to)d(the)h(host)-12
1174 y(program)13 b(to)g(comm)o(unicate)h(with)g(the)f(library)l(.)21
b(The)14 b(API)g(functions)g(can)g(b)q(e)g(classi\014ed)h(in)g(the)f(follo)o
(wing)-12 1230 y(categories:)44 1324 y(1.)22 b(executing)16
b(Lua)g(co)q(de;)44 1418 y(2.)22 b(con)o(v)o(erting)15 b(v)m(alues)h(b)q(et)o
(w)o(een)g(C)f(and)g(Lua;)44 1512 y(3.)22 b(manipulating)17
b(\(reading)e(and)g(writing\))h(Lua)f(ob)s(jects;)44 1605 y(4.)22
b(calling)17 b(Lua)e(functions;)44 1699 y(5.)22 b(C)15 b(functions)h(to)e(b)q
(e)i(called)h(b)o(y)e(Lua;)44 1793 y(6.)22 b(error)14 b(handling.)-12
1887 y(All)h(API)f(functions)g(are)f(declared)h(in)g(the)g(\014le)g
Fj(lua.h)p Fm(.)19 b(Unless)14 b(stated)f(otherwise,)g(API)h(functions)g
(return)-12 1943 y(an)h(error)g(co)q(de:)20 b(0)15 b(in)h(case)f(of)g
(success,)h(non)f(0)g(in)h(case)f(of)g(errors.)-12 2065 y Fb(5.1)56
b(Executing)17 b(Lua)i(Co)r(de)-12 2151 y Fm(A)d(host)g(program)e(can)i
(execute)h(Lua)f(programs)f(written)h(in)h(a)e(\014le)i(or)f(in)h(a)e
(string,)h(using)h(the)f(follo)o(wing)-12 2207 y(functions:)-12
2301 y Fj(int)286 b(lua_dofile)357 b(\(char)23 b(*filename\);)-12
2358 y(int)286 b(lua_dostring)309 b(\(char)23 b(*string\);)-12
2479 y Fb(5.2)56 b(Con)n(v)n(erting)19 b(V)-5 b(alues)19 b(b)r(et)n(w)n(een)f
(C)h(and)g(Lua)-12 2565 y Fm(Because)24 b(Lua)g(has)g(no)g(static)f(t)o(yp)q
(e)h(system,)h(all)f(v)m(alues)h(passed)f(b)q(et)o(w)o(een)g(Lua)g(and)g(C)f
(ha)o(v)o(e)g(t)o(yp)q(e)-12 2622 y Fj(lua_Object)p Fm(,)12
b(whic)o(h)j(w)o(orks)e(lik)o(e)i(an)e(abstract)g(t)o(yp)q(e)h(in)h(C)e(that)
g(can)h(hold)h(an)o(y)e(Lua)h(v)m(alue.)21 b Fj(lua_Object)-12
2678 y Fm(is)16 b(declared)g(as:)-12 2772 y Fj(typedef)23 b(struct)g(Object)g
(*lua_Object;)910 2976 y Fm(8)p eop
%%Page: 9 9
bop -12 160 a Fm(where)16 b Fj(Object)e Fm(is)i(not)e(declared)j(in)f
Fj(lua.h)p Fm(.)59 216 y(Lua)j(has)g(garbage)f(collection.)34
b(Therefore,)19 b(there)g(is)h(no)f(guaran)o(tee)f(that)g(a)h
Fj(lua_Object)f Fm(will)j(b)q(e)-12 273 y(v)m(alid)f(after)e(another)g
(execution)h(of)f(Lua)h(co)q(de.)30 b(A)19 b(go)q(o)q(d)f(programming)g
(practice)h(is)g(to)e(con)o(v)o(ert)h(suc)o(h)-12 329 y(ob)s(jects)d(to)f(C)h
(v)m(alues)i(as)d(so)q(on)h(as)g(they)h(are)e(a)o(v)m(ailable,)j(and)e(nev)o
(er)h(store)e(them)h(in)h(global)g(v)m(ariables.)59 385 y(T)l(o)f(c)o(hec)o
(k)g(the)g(t)o(yp)q(e)h(of)e(a)h Fj(lua_Object)p Fm(,)f(the)h(follo)o(wing)h
(functions)g(are)f(a)o(v)m(ailable:)-12 479 y Fj(int)286 b(lua_isnil)381
b(\(lua_Object)22 b(object\);)-12 536 y(int)286 b(lua_isnumber)309
b(\(lua_Object)22 b(object\);)-12 592 y(int)286 b(lua_isstring)309
b(\(lua_Object)22 b(object\);)-12 649 y(int)286 b(lua_istable)333
b(\(lua_Object)22 b(object\);)-12 705 y(int)286 b(lua_iscfunction)237
b(\(lua_Object)22 b(object\);)-12 762 y(int)286 b(lua_isuserdata)261
b(\(lua_Object)22 b(object\);)-12 855 y Fm(All)17 b(return)e(1)g(if)g(the)h
(ob)s(ject)e(has)h(the)h(giv)o(en)f(t)o(yp)q(e,)g(0)g(otherwise.)59
912 y(T)l(o)g(translate)f(a)h(v)m(alue)i(from)d(t)o(yp)q(e)h
Fj(lua_Object)f Fm(to)h(a)g(sp)q(eci\014c)i(C)e(t)o(yp)q(e,)g(the)g
(programmer)f(can)h(use:)-12 1006 y Fj(float)238 b(lua_getnumber)285
b(\(lua_Object)22 b(object\);)-12 1062 y(char)238 b(*lua_getstring)285
b(\(lua_Object)22 b(object\);)-12 1119 y(char)238 b(*lua_copystring)261
b(\(lua_Object)22 b(object\);)-12 1175 y(lua_CFunction)46 b(lua_getcfunction)
213 b(\(lua_Object)22 b(object\);)-12 1231 y(void)238 b(*lua_getuserdata)f
(\(lua_Object)22 b(object\);)-12 1325 y(lua_getnumber)16 b
Fm(con)o(v)o(erts)h(a)h Fj(lua_Object)e Fm(to)h(a)h(\015oat.)27
b(This)18 b Fj(lua_Object)f Fm(m)o(ust)g(b)q(e)i(a)e(n)o(um)o(b)q(er)h(or)g
(a)-12 1382 y(string)d(con)o(v)o(ertible)i(to)d(n)o(um)o(b)q(er)i(\(see)f
(Section)h(4.2\);)d(otherwise,)i(the)h(function)g(returns)f(0.)59
1438 y Fj(lua_getstring)f Fm(con)o(v)o(erts)h(a)h Fj(lua_Object)e
Fm(to)i(a)g(string)f(\()p Fj(char)23 b(*)p Fm(\).)f(This)17
b Fj(lua_Object)d Fm(m)o(ust)i(b)q(e)h(a)-12 1495 y(string)h(or)g(a)g(n)o(um)
o(b)q(er;)i(otherwise,)f(the)f(function)i(returns)e(0)g(\(the)g(n)o(ull)i(p)q
(oin)o(ter\).)29 b(This)19 b(function)g(do)q(es)-12 1551 y(not)14
b(create)g(a)g(new)g(string,)g(but)g(returns)g(a)g(p)q(oin)o(ter)h(to)e(a)h
(string)g(inside)i(the)e(Lua)h(en)o(vironmen)o(t.)20 b(Because)-12
1608 y(Lua)c(has)f(garbage)f(collection,)j(there)f(is)f(no)h(guaran)o(tee)e
(that)h(suc)o(h)g(p)q(oin)o(ter)h(will)h(b)q(e)f(v)m(alid)h(after)e(another)
-12 1664 y(execution)20 b(of)f(Lua)g(co)q(de.)31 b(The)19 b(function)h
Fj(lua_copystring)d Fm(b)q(eha)o(v)o(es)i(exactly)g(lik)o(e)h
Fj(lua_getstring)p Fm(,)-12 1720 y(but)c(returns)f(a)f(fresh)i(cop)o(y)f(of)g
(the)g(string.)59 1777 y Fj(lua_getcfunction)g Fm(con)o(v)o(erts)i(a)g
Fj(lua_Object)g Fm(to)f(a)i(C)f(function.)28 b(This)18 b Fj(lua_Object)f
Fm(m)o(ust)g(ha)o(v)o(e)-12 1833 y(t)o(yp)q(e)d Fk(Cfunction)s
Fm(;)g(otherwise,)g(the)g(function)h(returns)f(0)g(\(the)g(n)o(ull)h(p)q(oin)
o(ter\).)20 b(The)14 b(t)o(yp)q(e)g Fj(lua_CFunction)-12 1890
y Fm(is)i(explained)h(in)f(Section)g(5.5.)59 1946 y Fj(lua_getuserdata)k
Fm(con)o(v)o(erts)h(a)h Fj(lua_Object)e Fm(to)i Fj(void*)p
Fm(.)40 b(This)22 b Fj(lua_Object)f Fm(m)o(ust)h(ha)o(v)o(e)f(t)o(yp)q(e)-12
2003 y Fk(user)n(data)s Fm(;)16 b(otherwise,)f(the)g(function)h(returns)f(0)g
(\(the)g(n)o(ull)i(p)q(oin)o(ter\).)59 2059 y(The)d(rev)o(erse)g(pro)q(cess,)
g(that)f(is,)h(the)g(con)o(v)o(ersion)g(from)g(a)f(sp)q(eci\014c)j(C)e(t)o
(yp)q(e)g(to)f(the)h(t)o(yp)q(e)g Fj(lua_Object)p Fm(,)-12
2116 y(is)i(done)f(b)o(y)h(using)g(the)f(follo)o(wing)h(functions:)-12
2209 y Fj(int)286 b(lua_pushnumber)261 b(\(float)23 b(n\);)-12
2266 y(int)286 b(lua_pushstring)261 b(\(char)23 b(*s\);)-12
2322 y(int)286 b(lua_pushcfunction)189 b(\(lua_CFunction)22
b(f\);)-12 2379 y(int)286 b(lua_pushuserdata)213 b(\(void)23
b(*u\);)-12 2473 y Fm(All)16 b(of)d(them)h(receiv)o(e)h(a)f(C)g(v)m(alue,)h
(con)o(v)o(ert)f(it)g(to)g(a)f Fj(lua_Object)p Fm(,)g(and)h(lea)o(v)o(e)h
(their)f(results)h(on)f(the)g(top)g(of)-12 2529 y(the)h(Lua)f(stac)o(k,)g
(where)g(it)h(can)g(b)q(e)g(assigned)g(to)e(a)h(v)m(ariable,)i(passed)f(as)f
(paramen)o(ter)f(to)h(a)g(Lua)h(function,)-12 2586 y(etc)i(\(see)f(b)q(elo)o
(w\).)24 b(T)l(o)16 b(complete)h(the)f(set,)g(the)h(v)m(alue)g
Fi(nil)h Fm(or)e(a)g Fj(lua_Object)f Fm(can)h(also)h(b)q(e)g(pushed)g(on)o
(to)-12 2642 y(the)e(stac)o(k,)g(with:)-12 2736 y Fj(int)286
b(lua_pushnil)333 b(\(void\);)-12 2792 y(int)286 b(lua_pushobject)261
b(\(lua_Object)22 b(object\);)910 2976 y Fm(9)p eop
%%Page: 10 10
bop -12 160 a Fb(5.3)56 b(Manipulating)18 b(Lua)h(Ob)s(jects)-12
245 y Fm(T)l(o)c(read)g(the)h(v)m(alue)g(of)f(an)o(y)g(global)g(Lua)h(v)m
(ariable,)g(one)f(can)h(use)f(the)h(function:)-12 338 y Fj(lua_Object)118
b(lua_getglobal)285 b(\(char)23 b(*varname\);)-12 430 y Fm(T)l(o)15
b(store)g(a)f(v)m(alue)j(previously)f(pushed)h(on)o(to)d(the)h(stac)o(k)g(in)
h(a)f(global)g(v)m(ariable,)i(there)e(is)h(the)f(function:)-12
523 y Fj(int)286 b(lua_storeglobal)237 b(\(char)23 b(*varname\);)59
615 y Fm(T)l(ables)16 b(can)f(also)g(b)q(e)h(manipulated)h(via)e(the)g(API.)h
(Giv)o(en)f(a)g(table,)g(the)h(functions)-12 708 y Fj(lua_Object)118
b(lua_getindexed)261 b(\(lua_Object)22 b(table,)h(float)g(index\);)-12
764 y(lua_Object)118 b(lua_getfield)309 b(\(lua_Object)22 b(table,)h(char)g
(*field\);)-12 857 y Fm(return)c(the)f(con)o(ten)o(ts)g(of)g(an)h(index.)31
b(The)19 b(\014rst)f(one)h(is)g(used)g(for)f(n)o(umeric)h(indices,)i(while)f
(the)f(second)-12 913 y(can)d(b)q(e)h(used)f(for)g(an)o(y)f(string)h(index.)
24 b(As)15 b(in)i(Lua,)f(if)h(the)f(index)h(is)f(not)g(presen)o(t)g(in)h(the)
f(table,)g(then)g(the)-12 970 y(returned)g Fj(lua_Object)e
Fm(has)h(v)m(alue)h Fi(nil)p Fm(.)59 1026 y(T)l(o)h(store)f(a)h(v)m(alue,)h
(previously)h(pushed)f(on)o(to)e(the)i(stac)o(k,)e(in)i(a)f(p)q(osition)h(of)
f(a)g(table,)g(the)h(follo)o(wing)-12 1083 y(functions)e(are)f(a)o(v)m
(ailable:)-12 1175 y Fj(int)286 b(lua_storeindexed)213 b(\(lua_Object)22
b(object,)h(float)g(index\);)-12 1232 y(int)286 b(lua_storefield)261
b(\(lua_Object)22 b(object,)h(char)g(*field\);)-12 1324 y Fm(Again,)c(the)f
(\014rst)g(one)g(is)g(used)h(for)e(n)o(umeric)i(indices,)i(while)e(the)f
(second)h(can)f(b)q(e)h(used)f(for)g(an)o(y)f(string)-12 1381
y(index.)-12 1502 y Fb(5.4)56 b(Calling)18 b(Lua)h(F)-5 b(unctions)-12
1588 y Fm(F)l(unctions)12 b(de\014ned)h(in)f(Lua)g(b)o(y)f(a)h(mo)q(dule)g
(executed)g(with)g Fj(dofile)f Fm(or)g Fj(dostring)f Fm(can)h(b)q(e)i(called)
g(from)d(the)-12 1644 y(host)16 b(program.)23 b(This)17 b(is)g(done)g(using)g
(the)f(follo)o(wing)i(proto)q(col:)k(\014rst,)16 b(the)g(argumen)o(ts)g(to)g
(the)g(function)-12 1701 y(are)k(pushed)i(on)o(to)d(the)i(Lua)g(stac)o(k)e
(\(see)i(Section)g(5.2\),)f(in)i(direct)f(order,)g(i.e.,)g(the)g(\014rst)f
(argumen)o(t)g(is)-12 1757 y(pushed)c(\014rst.)k(Then,)15 b(the)h(function)g
(is)f(called)i(using:)-12 1850 y Fj(int)286 b(lua_call)405
b(\(char)23 b(*functionname,)f(int)h(nparam\);)-12 1942 y Fm(where)17
b(the)f(second)h(argumen)o(t)f(\()p Fj(nparam)p Fm(\))f(is)h(the)h(n)o(um)o
(b)q(er)g(of)f(v)m(alues)h(pushed)g(on)o(to)f(the)g(stac)o(k.)23
b(Finally)l(,)-12 1999 y(the)c(returned)g(v)m(alues)h(\(a)e(Lua)g(function)i
(ma)o(y)e(return)g(man)o(y)g(v)m(alues\))i(are)e(p)q(opp)q(ed)i(from)e(the)h
(stac)o(k)e(in)-12 2055 y(rev)o(erse)e(order,)g(i.e.,)g(the)g(last)g(result)h
(is)f(p)q(opp)q(ed)i(\014rst.)i(P)o(opping)d(is)g(done)f(with)h(the)f
(function)-12 2148 y Fj(lua_Object)118 b(lua_pop)429 b(\(void\);)-12
2240 y Fm(When)16 b(there)f(are)g(no)g(more)g(results)g(to)g(b)q(e)h(p)q(opp)
q(ed,)g(this)g(function)g(returns)f(0.)59 2297 y(An)g(example)h(of)f(C)g(co)q
(de)h(calling)h(a)e(Lua)g(function)h(is)g(sho)o(wn)f(in)h(7.5.)-12
2418 y Fb(5.5)56 b(C)19 b(F)-5 b(unctions)-12 2504 y Fm(T)l(o)15
b(register)g(a)g(C)g(function)h(to)f(Lua,)g(there)g(is)h(the)f(follo)o(wing)h
(macro:)-12 2596 y Fj(#define)23 b(lua_register\(n,f\))165
b(\(lua_pushcfunction\(f\),)21 b(lua_storeglobal\(n\)\))-12
2653 y(/*)j(char)f(*n;)214 b(*/)-12 2709 y(/*)24 b(lua_CFunction)e(f;)h(*/)
-12 2802 y Fm(whic)o(h)d(receiv)o(es)f(the)g(name)g(the)g(function)g(will)i
(ha)o(v)o(e)d(in)h(Lua,)h(and)f(a)f(p)q(oin)o(ter)i(to)e(the)g(function.)32
b(This)-12 2858 y(p)q(oin)o(ter)16 b(m)o(ust)f(ha)o(v)o(e)f(t)o(yp)q(e)i
Fj(lua_CFunction)p Fm(,)d(whic)o(h)j(is)f(de\014ned)i(as)899
2976 y(10)p eop
%%Page: 11 11
bop -12 160 a Fj(typedef)23 b(void)g(\(*lua_CFunction\))f(\(void\);)-12
253 y Fm(that)15 b(is,)g(a)g(p)q(oin)o(ter)h(to)e(a)h(function)h(with)g(no)f
(parameters)f(and)h(no)h(results.)59 310 y(In)j(order)f(to)g(comm)o(unicate)g
(prop)q(erly)i(with)e(Lua,)i(a)e(C)g(function)h(m)o(ust)f(follo)o(w)h(a)f
(proto)q(col,)g(whic)o(h)-12 366 y(de\014nes)e(the)g(w)o(a)o(y)e(parameters)g
(and)i(results)f(are)g(passed.)59 423 y(T)l(o)g(access)g(its)g(argumen)o(ts,)
f(a)h(C)g(function)h(calls:)-12 517 y Fj(lua_Object)118 b(lua_getparam)309
b(\(int)23 b(number\);)-12 610 y(number)17 b Fm(starts)g(with)h(1)g(to)f(get)
g(the)h(\014rst)g(argumen)o(t.)27 b(When)18 b(called)i(with)e(a)f(n)o(um)o(b)
q(er)i(larger)e(than)h(the)-12 667 y(actual)11 b(n)o(um)o(b)q(er)h(of)e
(argumen)o(ts,)h(this)h(function)f(returns)g(0.)18 b(In)12
b(this)g(w)o(a)o(y)l(,)e(it)i(is)f(p)q(ossible)i(to)d(write)i(functions)-12
723 y(that)j(w)o(ork)f(with)h(a)g(v)m(ariable)i(n)o(um)o(b)q(er)e(of)g
(parameters.)59 780 y(T)l(o)i(return)h(v)m(alues,)i(a)d(C)h(function)h(just)f
(pushes)g(them)g(on)o(to)f(the)i(stac)o(k,)e(in)i(direct)g(order;)f(see)h
(Sec-)-12 836 y(tion)d(5.2.)j(Lik)o(e)d(a)f(Lua)g(function,)h(a)f(C)g
(function)h(called)g(b)o(y)g(Lua)f(can)g(also)h(return)f(man)o(y)f(results.)
59 893 y(Section)i(7.4)e(presen)o(ts)h(an)g(example)h(of)f(a)g(Cfunction.)-12
1014 y Fb(5.6)56 b(Error)18 b(Handling)-12 1100 y Fm(Whenev)o(er)d(an)g
(error)e(o)q(ccurs)i(during)h(Lua)f(compilation)g(or)f(execution,)i(an)e
(error)g(routine)h(is)g(called,)h(and)-12 1157 y(the)f(corresp)q(onding)i
Fj(lua_dofile)c Fm(or)i Fj(lua_dostring)f Fm(is)h(terminated)h(returning)g
(an)f(error)f(condition.)59 1213 y(The)20 b(only)h(argumen)o(t)e(to)h(the)g
(error)g(routine)g(is)h(a)f(string)g(describing)i(the)e(error)g(and)g(some)g
(extra)-12 1270 y(informations,)14 b(lik)o(e)h(curren)o(t)e(line)i(\(when)f
(the)g(error)f(is)h(at)f(compilation\))h(or)f(curren)o(t)h(function)g(\(when)
g(the)-12 1326 y(error)19 b(is)g(at)g(execution\).)33 b(The)19
b(standard)g(error)f(routine)i(only)g(prin)o(ts)f(this)h(message)e(in)i(the)g
(standard)-12 1383 y(error)15 b(output.)k(If)d(needed,)g(it)f(is)h(p)q
(ossible)h(to)e(set)g(another)f(error)h(routine,)g(using)h(the)f(function:)
-12 1476 y Fj(void)262 b(lua_errorfunction)189 b(\(void)23
b(\(*fn\))g(\(char)g(*s\)\);)-12 1570 y Fm(whose)15 b(argumen)o(t)g(is)g(the)
h(address)f(of)g(the)g(new)g(error)g(function.)-12 1713 y Fl(6)69
b(Prede\014ned)23 b(F)-6 b(unctions)23 b(and)g(Libraries)-12
1815 y Fm(The)18 b(set)f(of)g(prede\014ned)i(functions)g(in)f(Lua)g(is)g
(small)g(but)g(p)q(o)o(w)o(erful.)27 b(Most)16 b(of)h(them)h(pro)o(vide)g
(features)-12 1871 y(that)c(allo)o(ws)g(some)g(degree)h(of)f(re\015exivit)o
(y)h(in)g(the)g(language.)20 b(Suc)o(h)15 b(features)f(cannot)g(b)q(e)h(sim)o
(ulated)g(with)-12 1928 y(the)g(rest)g(of)g(the)g(Language)g(nor)g(with)h
(the)f(standard)g(API.)59 1984 y(The)21 b(libraries,)i(on)d(the)h(other)f
(hand,)i(pro)o(vide)g(useful)f(routines)g(that)f(are)h(implemen)o(ted)h
(directly)-12 2041 y(through)13 b(the)f(standard)h(API.)f(Therefore,)h(they)g
(are)f(not)g(necessary)h(to)f(the)h(language,)g(and)g(are)f(pro)o(vided)-12
2097 y(as)j(separated)g(C)g(mo)q(dules.)21 b(Curren)o(tly)15
b(there)g(are)g(three)h(libraries:)56 2191 y Fg(\017)23 b Fm(string)15
b(manipulation;)56 2285 y Fg(\017)23 b Fm(mathematical)15 b(functions)h
(\(sin,)f(cos,)g(etc\);)56 2379 y Fg(\017)23 b Fm(input)16
b(and)f(output;)-12 2500 y Fb(6.1)56 b(Prede\014ned)18 b(F)-5
b(unctions)-12 2586 y Fj(dofile)23 b(\(filename\))-12 2672
y Fm(This)e(function)g(receiv)o(es)g(a)f(\014le)h(name,)g(op)q(ens)f(it)h
(and)f(executes)h(its)f(con)o(ten)o(ts)g(as)f(a)h(Lua)g(mo)q(dule.)36
b(It)-12 2728 y(returns)15 b(1)g(if)h(there)f(are)g(no)g(errors,)f
Fi(nil)i Fm(otherwise.)899 2976 y(11)p eop
%%Page: 12 12
bop -12 160 a Fj(dostring)23 b(\(string\))-12 245 y Fm(This)17
b(function)f(executes)h(a)e(giv)o(en)i(string)e(as)h(a)f(Lua)i(mo)q(dule.)23
b(It)16 b(returns)f(1)h(if)g(there)g(are)g(no)f(errors,)g Fi(nil)-12
302 y Fm(otherwise.)-12 422 y Fj(next)24 b(\(table,)e(index\))-12
508 y Fm(This)16 b(function)h(allo)o(ws)e(a)g(program)g(to)g(en)o(umerate)g
(all)h(\014elds)h(of)e(a)g(table.)21 b(Its)16 b(\014rst)f(argumen)o(t)g(is)h
(a)f(table)-12 564 y(and)i(its)g(second)g(argumen)o(t)f(is)h(an)g(index)g(in)
h(this)f(table;)g(this)g(index)h(can)f(b)q(e)g(a)g(n)o(um)o(b)q(er)g(or)f(a)g
(string.)24 b(It)-12 621 y(returns)15 b(the)f(next)h(index)h(of)e(the)g
(table)h(and)g(the)g(v)m(alue)h(asso)q(ciated)e(with)h(the)g(index.)21
b(When)15 b(called)h(with)-12 677 y Fi(nil)g Fm(as)e(its)g(second)h(argumen)o
(t,)f(the)g(function)i(returns)e(the)h(\014rst)f(index)i(of)e(the)g(table)h
(\(and)f(its)h(asso)q(ciated)-12 734 y(v)m(alue\).)21 b(When)16
b(called)g(with)g(the)f(last)g(index,)h(or)f(with)h Fi(nil)g
Fm(in)g(an)f(empt)o(y)g(table,)g(it)h(returns)f Fi(nil)p Fm(.)59
790 y(In)h(Lua)h(there)f(is)g(no)g(declaration)h(of)e(\014elds;)i(seman)o
(tically)l(,)h(there)e(is)g(no)g(di\013erence)h(b)q(et)o(w)o(een)f(a)g
(\014eld)-12 846 y(not)i(presen)o(t)f(in)i(a)f(table)g(or)f(a)h(\014eld)h
(with)f(v)m(alue)h Fi(nil)p Fm(.)29 b(Therefore,)18 b(the)f(function)i(only)f
(considers)h(\014elds)-12 903 y(with)d(non)f(nil)i(v)m(alues.)k(The)16
b(order)f(the)g(indices)j(are)d(en)o(umerated)g(are)g(not)g(sp)q(eci\014ed,)i
Fk(even)f(for)g(numeric)-12 959 y(indic)n(es)p Fm(.)59 1016
y(See)g(Section)g(7.1)e(for)g(an)i(example)g(of)e(the)i(use)f(of)g(this)h
(function.)-12 1136 y Fj(nextvar)23 b(\(name\))-12 1222 y Fm(This)14
b(function)g(is)g(similar)g(to)e(the)i(function)g Fj(next)p
Fm(,)e(but)i(it)f(iterates)g(o)o(v)o(er)f(the)i(global)f(v)m(ariables.)21
b(Its)13 b(single)-12 1278 y(argumen)o(t)18 b(is)i(the)f(name)g(of)g(a)f
(global)i(v)m(ariable,)h(or)d Fi(nil)i Fm(to)f(get)f(a)h(\014rst)f(name.)32
b(Similarly)21 b(to)d Fj(next)p Fm(,)h(it)-12 1335 y(returns)e(the)f(name)h
(of)f(another)g(v)m(ariable)i(and)f(its)g(v)m(alue,)h(or)e
Fi(nil)h Fm(if)h(there)e(are)h(no)f(more)g(v)m(ariables.)26
b(See)-12 1391 y(Section)16 b(7.1)f(for)f(an)h(example)h(of)f(the)g(use)h(of)
f(this)g(function.)-12 1511 y Fj(print)23 b(\(e1,)h(e2,)f(...\))-12
1597 y Fm(This)13 b(function)g(receiv)o(es)g(an)o(y)f(n)o(um)o(b)q(er)g(of)g
(argumen)o(ts,)g(and)g(prin)o(ts)g(their)h(v)m(alues)h(in)f(a)e(reasonable)i
(format.)-12 1653 y(Eac)o(h)h(v)m(alue)i(is)e(prin)o(ted)h(in)g(a)f(new)h
(line.)21 b(This)15 b(function)g(is)f(not)g(in)o(tended)i(for)e(formatted)f
(output,)g(but)i(as)-12 1710 y(a)g(quic)o(k)h(w)o(a)o(y)e(to)h(sho)o(w)g(a)g
(v)m(alue,)h(for)f(instance)h(for)e(error)h(messages)g(or)f(debugging.)22
b(See)15 b(Section)i(6.4)d(for)-12 1766 y(functions)i(for)f(formatted)f
(output.)-12 1886 y Fj(tonumber)23 b(\(e\))-12 1972 y Fm(This)18
b(function)g(receiv)o(es)f(one)g(argumen)o(t,)g(and)g(tries)g(to)f(con)o(v)o
(ert)h(it)g(to)f(a)h(n)o(um)o(b)q(er.)25 b(If)18 b(the)f(argumen)o(t)f(is)-12
2029 y(already)e(a)f(n)o(um)o(b)q(er)h(or)f(a)g(string)g(con)o(v)o(ertible)h
(to)f(a)g(n)o(um)o(b)q(er)h(\(see)f(Section)i(4.2\),)d(it)h(returns)h(that)e
(n)o(um)o(b)q(er;)-12 2085 y(otherwise,)j(it)h(returns)f Fi(nil)p
Fm(.)-12 2205 y Fj(type)24 b(\(v\))-12 2291 y Fm(This)16 b(function)g(allo)o
(ws)f(Lua)h(to)e(test)h(the)g(t)o(yp)q(e)g(of)g(a)f(v)m(alue.)21
b(It)16 b(receiv)o(es)g(one)f(argumen)o(t,)f(and)h(returns)g(its)-12
2347 y(t)o(yp)q(e,)g(co)q(ded)h(as)f(a)g(string.)20 b(The)15
b(p)q(ossible)i(results)f(of)e(this)i(function)g(are:)56 2441
y Fg(\017)23 b Fj('nil')56 2535 y Fg(\017)g Fj('number')56
2629 y Fg(\017)g Fj('string')56 2723 y Fg(\017)g Fj('table')56
2817 y Fg(\017)g Fj('cfunction')899 2976 y Fm(12)p eop
%%Page: 13 13
bop 56 160 a Fg(\017)23 b Fj('function')56 253 y Fg(\017)g
Fj('userdata')-12 375 y Fb(6.2)56 b(String)18 b(Manipulation)-12
461 y Fm(This)e(library)f(pro)o(vides)h(generic)g(functions)f(for)f(string)h
(manipulation,)h(suc)o(h)g(as)e(\014nding)i(and)f(extracting)-12
517 y(substrings.)20 b(When)14 b(indexing)h(a)e(string,)g(the)h(\014rst)f(c)o
(haracter)f(has)i(p)q(osition)g(1.)19 b(See)14 b(Section)g(7.2)f(for)g(some)
-12 574 y(examples)j(on)f(string)g(manipulation)i(in)f(Lua.)-12
694 y Fj(strfind)23 b(\(str,)g(substr\))-12 780 y Fm(Receiv)o(es)15
b(t)o(w)o(o)d(string)i(argumen)o(ts,)e(and)i(returns)f(a)g(n)o(um)o(b)q(er.)
20 b(This)14 b(n)o(um)o(b)q(er)g(indicates)h(the)e(\014rst)g(p)q(osition)-12
836 y(where)20 b(the)f(second)h(argumen)o(t)e(app)q(ears)i(in)g(the)f
(\014rst)g(argumen)o(t.)31 b(If)19 b(the)h(second)g(argumen)o(t)e(is)i(not)f
(a)-12 893 y(substring)d(of)f(the)g(\014rst)g(one,)g(then)g
Fj(strfind)f Fm(returns)h Fi(nil)p Fm(.)-12 1013 y Fj(strlen)23
b(\(s\))-12 1099 y Fm(Receiv)o(es)17 b(a)e(string)g(and)g(returns)g(its)h
(length.)-12 1219 y Fj(strsub)23 b(\(s,)h(i,)f(j\))-12 1304
y Fm(Returns)13 b(another)f(string,)h(whic)o(h)g(is)g(a)f(substring)h(of)f
Fj(s)p Fm(,)h(starting)f(at)g Fj(i)g Fm(and)h(runing)g(un)o(til)h
Fj(j)p Fm(.)k(If)13 b Fj(j)g Fm(is)g(absen)o(t)-12 1361 y(or)18
b(is)g Fi(nil)p Fm(,)i(it)e(is)g(assumed)h(to)e(b)q(e)i(equal)g(to)e(the)h
(length)h(of)e Fj(s)p Fm(.)29 b(P)o(articularly)l(,)19 b(the)f(call)h
Fj(strsub\(s,1,j\))-12 1417 y Fm(returns)c(a)g(pre\014x)h(of)f
Fj(s)g Fm(with)g(length)h Fj(j)p Fm(,)f(while)h(the)g(call)g
Fj(strsub\(s,i\))e Fm(returns)h(a)g(su\014x)g(of)g Fj(s)p Fm(.)-12
1537 y Fj(strlower)23 b(\(s\))-12 1623 y Fm(Receiv)o(es)16
b(a)d(string)i(and)f(returns)g(a)f(cop)o(y)h(of)g(that)f(string)h(with)h(all)
g(upp)q(er)g(case)f(letters)g(c)o(hanged)g(to)g(lo)o(w)o(er)-12
1680 y(case.)20 b(All)d(other)d(c)o(haracters)h(are)g(left)g(unc)o(hanged.)
-12 1800 y Fj(strupper)23 b(\(s\))-12 1886 y Fm(Receiv)o(es)16
b(a)d(string)i(and)f(returns)g(a)f(cop)o(y)h(of)g(that)f(string)h(with)h(all)
g(lo)o(w)o(er)e(case)h(letters)h(c)o(hanged)f(to)f(upp)q(er)-12
1942 y(case.)20 b(All)d(other)d(c)o(haracters)h(are)g(left)g(unc)o(hanged.)
-12 2064 y Fb(6.3)56 b(Mathematical)16 b(F)-5 b(unctions)-12
2149 y Fm(This)17 b(library)g(is)f(an)g(in)o(terface)h(to)e(some)h(functions)
g(of)g(the)g(standard)g(C)g(math)f(library)l(.)24 b(It)16 b(pro)o(vides)g
(the)-12 2206 y(follo)o(wing)g(functions:)-12 2300 y Fj(abs)48
b(acos)23 b(asin)g(atan)g(ceil)h(cos)f(floor)g(max)h(min)-12
2356 y(mod)48 b(pow)f(sin)g(sqrt)23 b(tan)59 2450 y Fm(The)f(functions)h
Fj(floor)p Fm(,)f Fj(sqrt)p Fm(,)h Fj(pow)p Fm(,)f Fj(ceil)p
Fm(,)h Fj(sin)p Fm(,)g Fj(cos)p Fm(,)g Fj(tan)p Fm(,)f Fj(asin)p
Fm(,)h Fj(acos)p Fm(,)g(and)f Fj(atan)f Fm(are)h(only)-12 2506
y(in)o(terfaces)h(to)f(the)h(homon)o(ymous)f(functions)i(in)f(the)g(C)g
(library)l(,)i(with)e(the)g(di\013erence)h(that,)g(in)f(the)-12
2563 y(trigonometric)15 b(functions,)h(all)g(angles)g(are)e(expressed)i(in)g
(degrees.)59 2619 y(The)d(function)g Fj(max)g Fm(returns)f(the)h(maxim)o(um)g
(v)m(alue)h(in)f(a)g(list)g(of)g(n)o(umeric)g(argumen)o(ts.)19
b(Similarly)l(,)c Fj(min)-12 2676 y Fm(computes)g(the)h(minim)o(um.)21
b(Both)15 b(can)g(b)q(e)h(used)g(with)f(an)g(unlimited)j(n)o(um)o(b)q(er)d
(of)g(argumen)o(ts.)59 2732 y(The)g(function)h Fj(mod)f Fm(is)h(equiv)m(alen)
o(t)h(to)d(the)h Fj(\045)g Fm(op)q(erator)g(in)h(C.)899 2976
y(13)p eop
%%Page: 14 14
bop -12 160 a Fb(6.4)56 b(I/O)18 b(F)-5 b(acilities)-12 245
y Fm(All)16 b(I/O)g(op)q(erations)f(in)h(Lua)f(are)g(done)g(o)o(v)o(er)f(t)o
(w)o(o)g Fk(curr)n(ent)h Fm(\014les,)g(one)h(for)e(reading)i(and)f(one)g(for)
f(writing.)-12 302 y(Initially)l(,)k(the)d(curren)o(t)g(input)h(\014le)h(is)e
Fj(stdin)p Fm(,)f(and)i(the)f(curren)o(t)g(output)g(\014le)h(is)g
Fj(stdout)p Fm(.)59 358 y(Unless)g(otherwised)g(stated,)e(all)i(I/O)g
(functions)g(return)f(1)g(on)g(success)h(and)f Fi(nil)h Fm(on)f(failure.)-12
477 y Fj(readfrom)23 b(\(filename\))-12 563 y Fm(This)17 b(function)g(op)q
(ens)g(a)f(\014le)h(named)g Fj(filename)e Fm(and)i(sets)f(it)g(as)g(the)g
Fk(curr)n(ent)h Fm(input)g(\014le.)24 b(When)17 b(called)-12
620 y(without)e(parameters,)f(this)i(function)g(restores)e
Fj(stdin)h Fm(as)g(the)g(curren)o(t)g(input)h(\014le.)-12 739
y Fj(writeto)23 b(\(filename\))-12 825 y Fm(This)16 b(function)g(op)q(ens)g
(a)f(\014le)h(named)f Fj(filename)f Fm(and)i(sets)e(it)i(as)f(the)g
Fk(curr)n(ent)g Fm(output)g(\014le.)21 b(Notice)15 b(that,)-12
881 y(if)21 b(the)g(\014le)g(already)g(exists,)h(it)f(is)g(completely)h
(erased)e(with)h(this)g(op)q(eration.)36 b(When)21 b(called)h(without)-12
938 y(parameters,)14 b(this)i(function)g(restores)e Fj(stdout)h
Fm(as)f(the)i(curren)o(t)f(output)g(\014le.)-12 1057 y Fj(appendto)23
b(\(filename\))-12 1143 y Fm(This)18 b(function)g(op)q(ens)f(a)g(\014le)h
(named)f Fj(filename)f Fm(and)h(sets)g(it)g(as)g(the)g Fk(curr)n(ent)g
Fm(output)f(\014le.)27 b(Unlik)o(e)18 b(the)-12 1199 y Fj(writeto)d
Fm(op)q(eration,)h(this)g(function)g(do)q(es)g(not)g(erase)f(an)o(y)h
(previous)g(con)o(ten)o(t)f(of)g(the)h(\014le.)23 b(When)16
b(called)-12 1255 y(without)j(parameters,)g(this)h(function)g(restores)f
Fj(stdout)f Fm(as)h(the)g(curren)o(t)g(output)h(\014le.)33
b(This)19 b(function)-12 1312 y(returns)c(2)g(if)h(the)f(\014le)h(already)g
(exists,)f(1)g(if)g(it)h(creates)f(a)g(new)g(\014le,)h(and)f
Fi(nil)i Fm(on)e(failure.)-12 1431 y Fj(read)24 b(\([format]\))-12
1517 y Fm(This)12 b(function)g(returns)e(a)h(v)m(alue)h(read)f(from)f(the)h
(curren)o(t)g(input.)20 b(An)11 b(optional)g(string)g(argumen)o(t)f(sp)q
(eci\014es)-12 1573 y(the)15 b(w)o(a)o(y)g(the)g(input)h(is)g(in)o
(terpreted.)59 1630 y(Without)j(a)g(format)e(argumen)o(t,)i
Fj(read)g Fm(\014rst)g(skips)h(blanks,)g(tabs)f(and)g(newlines.)34
b(Then)20 b(it)f(c)o(hec)o(ks)-12 1686 y(whether)g(the)h(curren)o(t)e(c)o
(haracter)h(is)g Fj(")g Fm(or)g Fj(')p Fm(.)31 b(If)19 b(so,)g(it)h(reads)f
(a)f(string)h(up)h(to)e(the)h(ending)i(quotation)-12 1743 y(mark,)14
b(and)h(returns)f(this)h(string,)g(without)f(the)h(quotation)f(marks.)19
b(Otherwise)d(it)f(reads)f(up)h(to)g(a)f(blank,)-12 1799 y(tab)h(or)g
(newline.)59 1856 y(The)g(format)f(string)h(can)h(ha)o(v)o(e)e(the)i(follo)o
(wing)g(format:)60 1945 y Fj(?[n])-12 2033 y Fm(where)g Fj(?)f
Fm(can)g(b)q(e:)-12 2122 y Fi('s')h(or)h('S')22 b Fm(to)15
b(read)g(a)g(string;)-12 2214 y Fi('f)5 b(')17 b(or)g('F')k
Fm(to)15 b(read)g(a)g(real)g(n)o(um)o(b)q(er;)-12 2306 y Fi('i')i(or)g('I')22
b Fm(to)14 b(read)i(an)f(in)o(teger.)-12 2395 y(The)g(optional)g
Fj(n)f Fm(is)h(a)g(n)o(um)o(b)q(er)f(whic)o(h)i(sp)q(eci\014es)g(ho)o(w)e
(man)o(y)g(c)o(haracters)g(m)o(ust)g(b)q(e)h(read)g(to)f(comp)q(ose)g(the)-12
2451 y(input)i(v)m(alue.)-12 2571 y Fj(write)23 b(\(value,)g([format]\))-12
2656 y Fm(This)16 b(function)g(writes)f(the)h(v)m(alue)g(of)f(its)g(\014rst)g
(argumen)o(t)g(to)f(the)i(curren)o(t)f(output.)k(An)d(optional)g(second)-12
2713 y(argumen)o(t)g(sp)q(eci\014es)j(the)e(format)e(to)i(b)q(e)g(used.)26
b(This)17 b(format)e(is)j(giv)o(en)f(as)g(a)f(string,)h(comp)q(osed)g(of)g
(four)-12 2769 y(parts.)i(The)d(\014rst)f(part)f(is)i(the)f(only)h(not)f
(optional,)g(and)h(m)o(ust)e(b)q(e)i(one)f(of)g(the)g(follo)o(wing)h(c)o
(haracters:)-12 2858 y Fi('s')g(or)h('S')22 b Fm(to)15 b(write)g(strings;)899
2976 y(14)p eop
%%Page: 15 15
bop -12 160 a Fi('f)5 b(')17 b(or)g('F')k Fm(to)15 b(write)g(\015oats;)-12
253 y Fi('i')i(or)g('I')22 b Fm(to)14 b(write)i(in)o(tegers.)-12
347 y(These)g(c)o(haracters)e(can)i(b)q(e)f(follo)o(w)o(ed)h(b)o(y)60
441 y Fj([?][m][.n])-12 535 y Fm(where:)-12 629 y Fj(?)23 b
Fm(indicates)16 b(justi\014cation)g(inside)h(the)f(\014eld.)130
723 y(')p Fj(<)p Fm(')22 b(righ)o(t)15 b(justi\014cation;)130
796 y(')p Fj(>)p Fm(')22 b(left)15 b(justi\014cation;)130 869
y(')p Fj(|)p Fm(')22 b(cen)o(ter)15 b(justi\014cation.)-12
962 y Fj(m)23 b Fm(Indicates)16 b(the)f(\014eld)i(size)f(in)g(c)o(haracters.)
-12 1056 y Fj(.n)23 b Fm(F)l(or)16 b(reals,)i(indicates)g(the)f(n)o(um)o(b)q
(er)h(of)e(digital)j(places.)26 b(F)l(or)16 b(in)o(tegers,)i(it)f(is)h(the)f
(minim)o(um)h(n)o(um)o(b)q(er)102 1113 y(of)d(digits.)20 b(This)c(option)f
(has)h(no)f(meaning)g(for)g(strings.)59 1207 y(When)e(called)i(without)e(a)g
(format)f(string,)h(this)h(function)g(writes)f(n)o(um)o(b)q(ers)g(using)h
(the)f Fj(\045g)g Fm(format)f(and)-12 1263 y(strings)j(with)h
Fj(\045s)p Fm(.)-12 1406 y Fl(7)69 b(Some)21 b(Examples)-12
1508 y Fm(This)f(section)h(giv)o(es)e(examples)i(sho)o(wing)e(some)h
(features)f(of)g(Lua.)34 b(It)19 b(do)q(es)h(not)g(in)o(tend)g(to)f(co)o(v)o
(er)g(the)-12 1564 y(whole)d(language,)f(but)g(only)h(to)f(illustrate)h(some)
f(in)o(teresting)h(uses)f(of)g(the)g(system.)-12 1686 y Fb(7.1)56
b(The)18 b(F)-5 b(unctions)19 b Fa(next)e Fb(and)j Fa(nextvar)-12
1772 y Fm(This)c(example)g(sho)o(ws)f(ho)o(w)f(to)h(use)g(the)h(function)g
Fj(next)e Fm(to)h(iterate)g(o)o(v)o(er)f(the)i(\014elds)g(of)f(a)g(table.)-12
1865 y Fj(function)23 b(f)h(\(t\))357 b(--)24 b(t)g(is)f(a)h(table)36
1922 y(local)f(i,)h(v)f(=)h(next\(t,)f(nil\))47 b(--)24 b(i)g(is)f(an)h
(index)f(of)g(t,)h(v)g(=)g(t[i])36 1978 y(while)f(i)h(do)84
2035 y(--)f(do)h(something)e(with)i(i)f(and)h(v)84 2091 y(i,)f(v)h(=)g
(next\(t,)f(i\))190 b(--)24 b(get)f(next)h(index)36 2148 y(end)-12
2204 y(end)59 2298 y Fm(The)13 b(next)g(example)h(prin)o(ts)f(the)g(names)g
(of)f(all)i(global)g(v)m(ariables)g(in)g(the)f(system)g(with)g(non)g(nil)i(v)
m(alues:)-12 2392 y Fj(function)23 b(printGlobalVariables)e(\(\))36
2448 y(local)i(i,)h(v)f(=)h(nextvar\(nil\))36 2505 y(while)f(i)h(do)84
2561 y(print\(i\))84 2618 y(i,)f(v)h(=)g(nextvar\(i\))36 2674
y(end)-12 2731 y(end)899 2976 y Fm(15)p eop
%%Page: 16 16
bop -12 160 a Fb(7.2)56 b(String)18 b(Manipulation)-12 245
y Fm(The)e(\014rst)e(example)i(is)g(a)f(function)h(to)f(trim)g(extra)f
(blanks)i(at)f(the)g(b)q(eginning)i(and)f(end)g(of)e(a)h(string.)-12
339 y Fj(function)23 b(trim\(s\))36 396 y(local)g(i)h(=)g(1)36
452 y(while)f(strsub\(s,i,i\))f(=)i(')g(')f(do)84 509 y(i)g(=)h(i+1)36
565 y(end)36 622 y(local)f(l)h(=)g(strlen\(s\))36 678 y(while)f
(strsub\(s,l,l\))f(=)i(')g(')f(do)84 734 y(l)g(=)h(l-1)36 791
y(end)36 847 y(return)f(strsub\(s,i,l\))-12 904 y(end)59 998
y Fm(The)15 b(second)h(example)g(sho)o(ws)e(a)h(function)h(that)f(eliminates)
i(all)f(blanks)g(of)f(a)f(string.)899 2976 y(16)p eop
%%Page: 17 17
bop -12 160 a Fj(function)23 b(remove_blanks)f(\(s\))36 216
y(local)h(b)h(=)g(strfind\(s,)e(')i('\))36 273 y(while)f(b)h(do)84
329 y(s)f(=)h(strsub\(s,)f(1,)g(b-1\))h(..)f(strsub\(s,)g(b+1\))84
385 y(b)g(=)h(strfind\(s,)f(')g('\))36 442 y(end)36 498 y(return)g(s)-12
555 y(end)-12 677 y Fb(7.3)56 b(P)n(ersistence)-12 762 y Fm(Because)19
b(of)f(its)h(re\015exiv)o(e)g(facilities,)i(p)q(ersistence)e(in)g(Lua)g(can)g
(b)q(e)f(ac)o(hiev)o(ed)i(with)e(Lua.)30 b(This)19 b(section)-12
819 y(sho)o(ws)c(some)h(w)o(a)o(ys)e(to)i(store)f(and)h(retriev)o(e)f(v)m
(alues)i(in)g(Lua,)f(using)g(a)g(text)f(\014le)i(written)f(in)g(the)g
(language)-12 875 y(itself)g(as)f(the)g(storage)f(media.)59
932 y(T)l(o)h(store)f(a)h(single)i(v)m(alue)f(with)g(a)e(name,)h(the)h(follo)
o(wing)f(co)q(de)h(is)g(enough:)-12 1026 y Fj(function)23 b(store)g(\(name,)g
(value\))36 1082 y(write\('\\n')f(..)i(name)f(..)h('='\))36
1138 y(write_value\(value\))-12 1195 y(end)-12 1301 y(function)f(write_value)
f(\(value\))36 1358 y(local)h(t)h(=)g(type\(value\))131 1414
y(if)g(t)g(=)f('nil')95 b(then)23 b(write\('nil'\))36 1471
y(elseif)g(t)h(=)f('number')g(then)g(write\(value\))36 1527
y(elseif)g(t)h(=)f('string')g(then)g(write\('"')g(..)h(value)f(..)g('"'\))36
1583 y(end)-12 1640 y(end)-12 1746 y Fm(In)16 b(order)f(to)g(restore)f(this)i
(v)m(alue,)g(a)f Fj(lua_dofile)e Fm(su\016ces.)59 1803 y(Storing)k(tables)g
(is)g(a)g(little)h(more)f(complex.)25 b(Assuming)18 b(that)e(the)h(table)h
(is)f(a)g(tree,)f(and)h(all)h(indices)-12 1859 y(are)e(iden)o(ti\014ers)i
(\(that)d(is,)h(the)h(tables)f(are)g(b)q(eing)i(used)e(as)g(records\),)g(its)
g(v)m(alue)i(can)e(b)q(e)h(written)f(directly)-12 1916 y(with)g(table)f
(constructors.)k(First,)c(the)g(function)h Fj(write_value)e
Fm(is)i(c)o(hanged)f(to)-12 2009 y Fj(function)23 b(write_value)f(\(value\))
36 2066 y(local)h(t)h(=)g(type\(value\))131 2122 y(if)g(t)g(=)f('nil')95
b(then)23 b(write\('nil'\))36 2179 y(elseif)g(t)h(=)f('number')g(then)g
(write\(value\))36 2235 y(elseif)g(t)h(=)f('string')g(then)g(write\('"')g(..)
h(value)f(..)g('"'\))36 2292 y(elseif)g(t)h(=)f('table')47
b(then)23 b(write_record\(value\))36 2348 y(end)-12 2405 y(end)-12
2498 y Fm(The)16 b(function)g Fj(write_record)d Fm(is:)899
2976 y(17)p eop
%%Page: 18 18
bop -12 160 a Fj(function)23 b(write_record\(t\))36 216 y(local)g(i,)h(v)f(=)
h(next\(t,)f(nil\))36 273 y(write\('@{'\))46 b(--)24 b(starts)f(constructor)
36 329 y(while)g(i)h(do)84 385 y(store\(i,)e(v\))84 442 y(i,)h(v)h(=)g
(next\(t,)f(i\))84 498 y(if)g(i)h(then)f(write\(',)g('\))h(end)36
555 y(end)36 611 y(write\('}'\))46 b(--)24 b(closes)f(constructor)-12
668 y(end)-12 789 y Fb(7.4)56 b(A)19 b(Cfunction)-12 875 y
Fm(A)c(Cfunction)h(to)f(compute)g(the)g(maxim)o(um)h(of)e(a)h(v)m(ariable)i
(n)o(um)o(b)q(er)e(of)g(argumen)o(ts)f(ma)o(y)h(b)q(e)h(written)f(as:)-12
969 y Fj(void)24 b(math_max)e(\(void\))-12 1026 y({)12 1082
y(int)i(i=1;)71 b(/*)23 b(number)g(of)h(arguments)e(*/)12 1138
y(double)h(d,)h(dmax;)12 1195 y(lua_Object)f(o;)12 1251 y(/*)h(the)f
(function)g(must)g(get)h(at)f(least)g(one)h(argument)f(*/)12
1308 y(if)h(\(\(o)f(=)h(lua_getparam\(i++\)\))d(==)j(0\))12
1364 y({)g(lua_error)e(\("too)i(few)f(arguments)g(to)g(function)g(`max'"\);)g
(return;)g(})12 1421 y(/*)h(and)f(this)g(argument)g(must)g(be)h(a)g(number)f
(*/)12 1477 y(if)h(\(!lua_isnumber\(o\)\))12 1534 y({)g(lua_error)e
(\("incorrect)h(arguments)f(to)i(function)f(`max'"\);)g(return;)f(})12
1590 y(dmax)h(=)h(lua_getnumber)e(\(o\);)12 1647 y(/*)i(loops)f(until)g
(there)g(is)h(no)f(more)h(arguments)e(*/)12 1703 y(while)h(\(\(o)h(=)f
(lua_getparam\(i++\)\))f(!=)h(0\))12 1759 y({)36 1816 y(if)h
(\(!lua_isnumber\(o\)\))36 1872 y({)g(lua_error)e(\("incorrect)h(arguments)f
(to)i(function)f(`max'"\);)f(return;)h(})36 1929 y(d)h(=)f(lua_getnumber)f
(\(o\);)36 1985 y(if)i(\(d)f(>)h(dmax\))f(dmax)g(=)h(d;)12
2042 y(})12 2098 y(/*)g(push)f(the)g(result)g(to)h(be)g(returned)e(*/)12
2155 y(lua_pushnumber)g(\(dmax\);)-12 2211 y(})59 2305 y Fm(After)15
b(registered)g(with)-12 2399 y Fj(lua_register)22 b(\("max",)71
b(math_max\);)-12 2493 y Fm(this)16 b(function)g(is)g(a)o(v)m(ailable)g(in)g
(Lua,)g(as)e(follo)o(ws:)-12 2586 y Fj(i)24 b(=)g(max\(4,)f(5,)g(10,)h(-34\))
47 b(--)23 b(i)h(receives)f(10)-12 2708 y Fb(7.5)56 b(Calling)18
b(Lua)h(F)-5 b(unctions)-12 2794 y Fm(This)15 b(example)g(illustrates)g(ho)o
(w)f(a)g(C)g(function)h(can)f(call)i(the)e(Lua)g(function)h
Fj(remove_blanks)e Fm(presen)o(ted)-12 2850 y(in)j(Section)g(7.2.)899
2976 y(18)p eop
%%Page: 19 19
bop -12 160 a Fj(void)24 b(remove_blanks)e(\(char)h(*s\))-12
216 y({)36 273 y(lua_pushstring\(s\);)45 b(/*)24 b(prepare)f(parameter)f(*/)
36 329 y(lua_call\("remove_blanks",)e(1\);)48 b(/*)23 b(call)h(Lua)f
(function)g(with)g(1)h(parameter)e(*/)36 385 y(strcpy\(s,)h
(lua_getstring\(lua_pop\(\))o(\)\);)45 b(/*)23 b(copy)h(result)f(back)g(to)h
('s')f(*/)-12 442 y(})-12 585 y Fl(Ac)n(kno)n(wledgme)o(n)n(ts)-12
687 y Fm(The)17 b(authors)f(w)o(ould)i(lik)o(e)g(to)e(thank)h(CENPES/PETR)o
(OBR)1099 675 y(\023)1093 687 y(AS)g(whic)o(h,)h(join)o(tly)f(with)h(T)l
(eCGraf,)e(used)-12 743 y(extensiv)o(ely)g(early)f(v)o(ersions)f(of)g(this)h
(system)f(and)h(ga)o(v)o(e)f(v)m(aluable)i(commen)o(ts.)j(The)c(authors)e(w)o
(ould)i(also)-12 799 y(lik)o(e)i(to)d(thank)h(Carlos)g(Henrique)h(Levy)l(,)g
(who)f(found)h(the)f(name)g(of)g(the)g(game.)899 2976 y(19)p
eop
%%Trailer
end
userdict /end-hook known{end-hook}if
%%EOF
|